Decompiled source of Clawline360 v0.1.0

Clawline360.dll

Decompiled 2 days ago
using System;
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 Clawline360.Actions;
using Clawline360.Patches;
using HarmonyLib;
using HutongGames.PlayMaker;
using HutongGames.PlayMaker.Actions;
using InControl;
using Microsoft.CodeAnalysis;
using Silksong.FsmUtil;
using UnityEngine;

[assembly: CompilationRelaxations(8)]
[assembly: RuntimeCompatibility(WrapNonExceptionThrows = true)]
[assembly: Debuggable(DebuggableAttribute.DebuggingModes.IgnoreSymbolStoreSequencePoints)]
[assembly: TargetFramework(".NETStandard,Version=v2.1", FrameworkDisplayName = ".NET Standard 2.1")]
[assembly: AssemblyCompany("Clawline360")]
[assembly: AssemblyConfiguration("Release")]
[assembly: AssemblyFileVersion("0.1.0.0")]
[assembly: AssemblyInformationalVersion("0.1.0+53c5dc9e05a1d8551b6fcafa3a149d7caa3419e7")]
[assembly: AssemblyProduct("Clawline360")]
[assembly: AssemblyTitle("Clawline360")]
[assembly: AssemblyMetadata("RepositoryUrl", "https://github.com/al3ks1s/360Harpoon")]
[assembly: SecurityPermission(SecurityAction.RequestMinimum, SkipVerification = true)]
[assembly: AssemblyVersion("0.1.0.0")]
[module: UnverifiableCode]
[module: RefSafetyRules(11)]
namespace System.Runtime.CompilerServices
{
	[CompilerGenerated]
	[Microsoft.CodeAnalysis.Embedded]
	[AttributeUsage(AttributeTargets.Class | AttributeTargets.Property | AttributeTargets.Field | AttributeTargets.Event | AttributeTargets.Parameter | AttributeTargets.ReturnValue | AttributeTargets.GenericParameter, AllowMultiple = false, Inherited = false)]
	internal sealed class NullableAttribute : Attribute
	{
		public readonly byte[] NullableFlags;

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

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

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

		public RefSafetyRulesAttribute(int P_0)
		{
			Version = P_0;
		}
	}
}
namespace BepInEx
{
	[AttributeUsage(AttributeTargets.Class, Inherited = false, AllowMultiple = false)]
	[Conditional("CodeGeneration")]
	[Microsoft.CodeAnalysis.Embedded]
	internal sealed class BepInAutoPluginAttribute : Attribute
	{
		public BepInAutoPluginAttribute(string? id = null, string? name = null, string? version = null)
		{
		}
	}
}
namespace BepInEx.Preloader.Core.Patching
{
	[AttributeUsage(AttributeTargets.Class, Inherited = false, AllowMultiple = false)]
	[Conditional("CodeGeneration")]
	[Microsoft.CodeAnalysis.Embedded]
	internal sealed class PatcherAutoPluginAttribute : Attribute
	{
		public PatcherAutoPluginAttribute(string? id = null, string? name = null, string? version = null)
		{
		}
	}
}
namespace Microsoft.CodeAnalysis
{
	[Microsoft.CodeAnalysis.Embedded]
	internal sealed class EmbeddedAttribute : Attribute
	{
	}
}
namespace Clawline360
{
	[BepInDependency(/*Could not decode attribute arguments.*/)]
	[BepInDependency(/*Could not decode attribute arguments.*/)]
	[BepInPlugin("io.github.al3ks1s.clawline360", "Clawline360", "0.1.0")]
	public class Clawnline360Plugin : BaseUnityPlugin
	{
		internal static ManualLogSource Log;

		public const string Id = "io.github.al3ks1s.clawline360";

		public static string Name => "Clawline360";

		public static string Version => "0.1.0";

		private void Awake()
		{
			//IL_0005: Unknown result type (might be due to invalid IL or missing references)
			//IL_000f: Expected O, but got Unknown
			Log = new ManualLogSource("Harpoon360");
			Logger.Sources.Add((ILogSource)(object)Log);
			Harmony.CreateAndPatchAll(typeof(ClawlinePatch), (string)null);
			((BaseUnityPlugin)this).Logger.LogInfo((object)("Plugin " + Name + " (io.github.al3ks1s.clawline360) has loaded!"));
		}
	}
}
namespace Clawline360.Patches
{
	internal class ClawlinePatch
	{
		[HarmonyPrefix]
		[HarmonyPatch(typeof(PlayMakerFSM), "Start")]
		private static void PatchHarpoon(PlayMakerFSM __instance)
		{
			//IL_0029: Unknown result type (might be due to invalid IL or missing references)
			//IL_002f: Expected O, but got Unknown
			//IL_0093: Unknown result type (might be due to invalid IL or missing references)
			//IL_0098: Unknown result type (might be due to invalid IL or missing references)
			//IL_00a4: Unknown result type (might be due to invalid IL or missing references)
			//IL_00ac: Expected O, but got Unknown
			//IL_0120: Unknown result type (might be due to invalid IL or missing references)
			//IL_0125: Unknown result type (might be due to invalid IL or missing references)
			//IL_012c: Unknown result type (might be due to invalid IL or missing references)
			//IL_0138: Unknown result type (might be due to invalid IL or missing references)
			//IL_014a: Expected O, but got Unknown
			//IL_0150: Unknown result type (might be due to invalid IL or missing references)
			//IL_0155: Unknown result type (might be due to invalid IL or missing references)
			//IL_0156: Unknown result type (might be due to invalid IL or missing references)
			//IL_0160: Expected O, but got Unknown
			//IL_0160: Unknown result type (might be due to invalid IL or missing references)
			//IL_0172: Expected O, but got Unknown
			//IL_01a4: Unknown result type (might be due to invalid IL or missing references)
			//IL_01ae: Expected O, but got Unknown
			//IL_027c: 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_0282: Unknown result type (might be due to invalid IL or missing references)
			//IL_028c: Expected O, but got Unknown
			//IL_028c: Unknown result type (might be due to invalid IL or missing references)
			//IL_029c: Unknown result type (might be due to invalid IL or missing references)
			//IL_02ac: Unknown result type (might be due to invalid IL or missing references)
			//IL_02b3: Unknown result type (might be due to invalid IL or missing references)
			//IL_02b4: Unknown result type (might be due to invalid IL or missing references)
			//IL_02b9: Unknown result type (might be due to invalid IL or missing references)
			//IL_02c0: Unknown result type (might be due to invalid IL or missing references)
			//IL_02d0: Expected O, but got Unknown
			//IL_02d0: 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)
			//IL_02d6: Unknown result type (might be due to invalid IL or missing references)
			//IL_02dd: Unknown result type (might be due to invalid IL or missing references)
			//IL_02ed: Expected O, but got Unknown
			//IL_02ed: Unknown result type (might be due to invalid IL or missing references)
			//IL_02ef: Unknown result type (might be due to invalid IL or missing references)
			//IL_02f4: Unknown result type (might be due to invalid IL or missing references)
			//IL_02fb: Unknown result type (might be due to invalid IL or missing references)
			//IL_0308: Expected O, but got Unknown
			//IL_030e: Unknown result type (might be due to invalid IL or missing references)
			//IL_0313: Unknown result type (might be due to invalid IL or missing references)
			//IL_0314: Unknown result type (might be due to invalid IL or missing references)
			//IL_031e: Expected O, but got Unknown
			//IL_031e: Unknown result type (might be due to invalid IL or missing references)
			//IL_032e: Unknown result type (might be due to invalid IL or missing references)
			//IL_033e: Unknown result type (might be due to invalid IL or missing references)
			//IL_034e: Unknown result type (might be due to invalid IL or missing references)
			//IL_034f: Unknown result type (might be due to invalid IL or missing references)
			//IL_0354: Unknown result type (might be due to invalid IL or missing references)
			//IL_035b: Unknown result type (might be due to invalid IL or missing references)
			//IL_036b: Expected O, but got Unknown
			//IL_036b: Unknown result type (might be due to invalid IL or missing references)
			//IL_036d: Unknown result type (might be due to invalid IL or missing references)
			//IL_0372: Unknown result type (might be due to invalid IL or missing references)
			//IL_0379: Unknown result type (might be due to invalid IL or missing references)
			//IL_0386: Expected O, but got Unknown
			//IL_038c: Unknown result type (might be due to invalid IL or missing references)
			//IL_0391: Unknown result type (might be due to invalid IL or missing references)
			//IL_0398: Unknown result type (might be due to invalid IL or missing references)
			//IL_03a8: Unknown result type (might be due to invalid IL or missing references)
			//IL_03b8: Unknown result type (might be due to invalid IL or missing references)
			//IL_03bf: Unknown result type (might be due to invalid IL or missing references)
			//IL_03c0: Unknown result type (might be due to invalid IL or missing references)
			//IL_03c5: Unknown result type (might be due to invalid IL or missing references)
			//IL_03cc: Unknown result type (might be due to invalid IL or missing references)
			//IL_03dc: Expected O, but got Unknown
			//IL_03dc: Unknown result type (might be due to invalid IL or missing references)
			//IL_03dd: Unknown result type (might be due to invalid IL or missing references)
			//IL_03e2: Unknown result type (might be due to invalid IL or missing references)
			//IL_03e9: Unknown result type (might be due to invalid IL or missing references)
			//IL_03f9: Expected O, but got Unknown
			//IL_03f9: Unknown result type (might be due to invalid IL or missing references)
			//IL_03fb: Unknown result type (might be due to invalid IL or missing references)
			//IL_0400: Unknown result type (might be due to invalid IL or missing references)
			//IL_0407: Unknown result type (might be due to invalid IL or missing references)
			//IL_0414: Expected O, but got Unknown
			//IL_041a: 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_0426: Unknown result type (might be due to invalid IL or missing references)
			//IL_0436: Unknown result type (might be due to invalid IL or missing references)
			//IL_0446: Unknown result type (might be due to invalid IL or missing references)
			//IL_0456: Unknown result type (might be due to invalid IL or missing references)
			//IL_0457: Unknown result type (might be due to invalid IL or missing references)
			//IL_045c: Unknown result type (might be due to invalid IL or missing references)
			//IL_0463: Unknown result type (might be due to invalid IL or missing references)
			//IL_0473: Expected O, but got Unknown
			//IL_0473: Unknown result type (might be due to invalid IL or missing references)
			//IL_0475: Unknown result type (might be due to invalid IL or missing references)
			//IL_047a: Unknown result type (might be due to invalid IL or missing references)
			//IL_0481: Unknown result type (might be due to invalid IL or missing references)
			//IL_048e: Expected O, but got Unknown
			//IL_049b: Unknown result type (might be due to invalid IL or missing references)
			//IL_0520: Unknown result type (might be due to invalid IL or missing references)
			//IL_052a: Expected O, but got Unknown
			//IL_05f8: Unknown result type (might be due to invalid IL or missing references)
			//IL_05fd: Unknown result type (might be due to invalid IL or missing references)
			//IL_05fe: Unknown result type (might be due to invalid IL or missing references)
			//IL_0608: Expected O, but got Unknown
			//IL_0608: Unknown result type (might be due to invalid IL or missing references)
			//IL_0618: Unknown result type (might be due to invalid IL or missing references)
			//IL_0628: Unknown result type (might be due to invalid IL or missing references)
			//IL_062f: Unknown result type (might be due to invalid IL or missing references)
			//IL_0630: 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_063c: Unknown result type (might be due to invalid IL or missing references)
			//IL_064c: Expected O, but got Unknown
			//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_0659: Unknown result type (might be due to invalid IL or missing references)
			//IL_0669: Expected O, but got Unknown
			//IL_0669: Unknown result type (might be due to invalid IL or missing references)
			//IL_066b: Unknown result type (might be due to invalid IL or missing references)
			//IL_0670: 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_0684: Expected O, but got Unknown
			//IL_068a: Unknown result type (might be due to invalid IL or missing references)
			//IL_068f: Unknown result type (might be due to invalid IL or missing references)
			//IL_0690: Unknown result type (might be due to invalid IL or missing references)
			//IL_069a: Expected O, but got Unknown
			//IL_069a: 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_06ba: Unknown result type (might be due to invalid IL or missing references)
			//IL_06ca: Unknown result type (might be due to invalid IL or missing references)
			//IL_06cb: Unknown result type (might be due to invalid IL or missing references)
			//IL_06d0: Unknown result type (might be due to invalid IL or missing references)
			//IL_06d7: Unknown result type (might be due to invalid IL or missing references)
			//IL_06e7: Expected O, but got Unknown
			//IL_06e7: Unknown result type (might be due to invalid IL or missing references)
			//IL_06e9: Unknown result type (might be due to invalid IL or missing references)
			//IL_06ee: Unknown result type (might be due to invalid IL or missing references)
			//IL_06f5: Unknown result type (might be due to invalid IL or missing references)
			//IL_0702: Expected O, but got Unknown
			//IL_0708: Unknown result type (might be due to invalid IL or missing references)
			//IL_070d: Unknown result type (might be due to invalid IL or missing references)
			//IL_0714: Unknown result type (might be due to invalid IL or missing references)
			//IL_0724: Unknown result type (might be due to invalid IL or missing references)
			//IL_0734: Unknown result type (might be due to invalid IL or missing references)
			//IL_073b: Unknown result type (might be due to invalid IL or missing references)
			//IL_073c: Unknown result type (might be due to invalid IL or missing references)
			//IL_0741: 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_0758: Expected O, but got Unknown
			//IL_0758: Unknown result type (might be due to invalid IL or missing references)
			//IL_0759: Unknown result type (might be due to invalid IL or missing references)
			//IL_075e: Unknown result type (might be due to invalid IL or missing references)
			//IL_0765: Unknown result type (might be due to invalid IL or missing references)
			//IL_0775: Expected O, but got Unknown
			//IL_0775: 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_077c: Unknown result type (might be due to invalid IL or missing references)
			//IL_0783: Unknown result type (might be due to invalid IL or missing references)
			//IL_0790: Expected O, but got Unknown
			//IL_0796: Unknown result type (might be due to invalid IL or missing references)
			//IL_079b: Unknown result type (might be due to invalid IL or missing references)
			//IL_07a2: Unknown result type (might be due to invalid IL or missing references)
			//IL_07b2: Unknown result type (might be due to invalid IL or missing references)
			//IL_07c2: Unknown result type (might be due to invalid IL or missing references)
			//IL_07d2: Unknown result type (might be due to invalid IL or missing references)
			//IL_07d3: 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_07df: Unknown result type (might be due to invalid IL or missing references)
			//IL_07ef: Expected O, but got Unknown
			//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_07f6: Unknown result type (might be due to invalid IL or missing references)
			//IL_07fd: Unknown result type (might be due to invalid IL or missing references)
			//IL_080a: Expected O, but got Unknown
			//IL_0817: Unknown result type (might be due to invalid IL or missing references)
			//IL_08b0: Unknown result type (might be due to invalid IL or missing references)
			//IL_08b5: Unknown result type (might be due to invalid IL or missing references)
			//IL_08b6: Unknown result type (might be due to invalid IL or missing references)
			//IL_08c0: Expected O, but got Unknown
			//IL_08c0: Unknown result type (might be due to invalid IL or missing references)
			//IL_08d1: Unknown result type (might be due to invalid IL or missing references)
			//IL_08e2: Unknown result type (might be due to invalid IL or missing references)
			//IL_08ef: Expected O, but got Unknown
			//IL_08f5: Unknown result type (might be due to invalid IL or missing references)
			//IL_08fa: Unknown result type (might be due to invalid IL or missing references)
			//IL_0901: Unknown result type (might be due to invalid IL or missing references)
			//IL_0911: Unknown result type (might be due to invalid IL or missing references)
			//IL_0921: Unknown result type (might be due to invalid IL or missing references)
			//IL_0931: Unknown result type (might be due to invalid IL or missing references)
			//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_093e: Unknown result type (might be due to invalid IL or missing references)
			//IL_094e: Expected O, but got Unknown
			//IL_094e: Unknown result type (might be due to invalid IL or missing references)
			//IL_094f: Unknown result type (might be due to invalid IL or missing references)
			//IL_0954: Unknown result type (might be due to invalid IL or missing references)
			//IL_095b: Unknown result type (might be due to invalid IL or missing references)
			//IL_096b: Expected O, but got Unknown
			//IL_096b: Unknown result type (might be due to invalid IL or missing references)
			//IL_096d: Unknown result type (might be due to invalid IL or missing references)
			//IL_0972: Unknown result type (might be due to invalid IL or missing references)
			//IL_0979: Unknown result type (might be due to invalid IL or missing references)
			//IL_0986: Expected O, but got Unknown
			//IL_098c: Unknown result type (might be due to invalid IL or missing references)
			//IL_0991: Unknown result type (might be due to invalid IL or missing references)
			//IL_0998: Unknown result type (might be due to invalid IL or missing references)
			//IL_09a4: Unknown result type (might be due to invalid IL or missing references)
			//IL_09b6: Expected O, but got Unknown
			//IL_09bc: Unknown result type (might be due to invalid IL or missing references)
			//IL_09c1: 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_09cc: Expected O, but got Unknown
			//IL_09cc: Unknown result type (might be due to invalid IL or missing references)
			//IL_09de: Expected O, but got Unknown
			//IL_09ea: Unknown result type (might be due to invalid IL or missing references)
			//IL_09f4: Expected O, but got Unknown
			//IL_0a00: Unknown result type (might be due to invalid IL or missing references)
			//IL_0a05: Unknown result type (might be due to invalid IL or missing references)
			//IL_0a06: Unknown result type (might be due to invalid IL or missing references)
			//IL_0a10: Expected O, but got Unknown
			//IL_0a10: Unknown result type (might be due to invalid IL or missing references)
			//IL_0a20: Unknown result type (might be due to invalid IL or missing references)
			//IL_0a30: Unknown result type (might be due to invalid IL or missing references)
			//IL_0a40: Unknown result type (might be due to invalid IL or missing references)
			//IL_0a41: Unknown result type (might be due to invalid IL or missing references)
			//IL_0a46: Unknown result type (might be due to invalid IL or missing references)
			//IL_0a4d: Unknown result type (might be due to invalid IL or missing references)
			//IL_0a5d: Expected O, but got Unknown
			//IL_0a5d: Unknown result type (might be due to invalid IL or missing references)
			//IL_0a5e: Unknown result type (might be due to invalid IL or missing references)
			//IL_0a63: Unknown result type (might be due to invalid IL or missing references)
			//IL_0a6a: Unknown result type (might be due to invalid IL or missing references)
			//IL_0a7a: Expected O, but got Unknown
			//IL_0a7a: Unknown result type (might be due to invalid IL or missing references)
			//IL_0a7c: Unknown result type (might be due to invalid IL or missing references)
			//IL_0a81: Unknown result type (might be due to invalid IL or missing references)
			//IL_0a88: Unknown result type (might be due to invalid IL or missing references)
			//IL_0a95: Expected O, but got Unknown
			//IL_0a9b: Unknown result type (might be due to invalid IL or missing references)
			//IL_0aa0: Unknown result type (might be due to invalid IL or missing references)
			//IL_0aa7: Unknown result type (might be due to invalid IL or missing references)
			//IL_0ab7: Unknown result type (might be due to invalid IL or missing references)
			//IL_0ac7: Unknown result type (might be due to invalid IL or missing references)
			//IL_0ad7: Unknown result type (might be due to invalid IL or missing references)
			//IL_0ad8: Unknown result type (might be due to invalid IL or missing references)
			//IL_0add: Unknown result type (might be due to invalid IL or missing references)
			//IL_0ae4: Unknown result type (might be due to invalid IL or missing references)
			//IL_0af4: Expected O, but got Unknown
			//IL_0af4: Unknown result type (might be due to invalid IL or missing references)
			//IL_0af5: Unknown result type (might be due to invalid IL or missing references)
			//IL_0afa: Unknown result type (might be due to invalid IL or missing references)
			//IL_0b01: Unknown result type (might be due to invalid IL or missing references)
			//IL_0b11: Expected O, but got Unknown
			//IL_0b11: Unknown result type (might be due to invalid IL or missing references)
			//IL_0b13: Unknown result type (might be due to invalid IL or missing references)
			//IL_0b18: Unknown result type (might be due to invalid IL or missing references)
			//IL_0b1f: Unknown result type (might be due to invalid IL or missing references)
			//IL_0b2c: Expected O, but got Unknown
			//IL_0b32: Unknown result type (might be due to invalid IL or missing references)
			//IL_0b37: Unknown result type (might be due to invalid IL or missing references)
			//IL_0b3e: Unknown result type (might be due to invalid IL or missing references)
			//IL_0b4a: Unknown result type (might be due to invalid IL or missing references)
			//IL_0b5c: Expected O, but got Unknown
			//IL_0b62: Unknown result type (might be due to invalid IL or missing references)
			//IL_0b67: Unknown result type (might be due to invalid IL or missing references)
			//IL_0b68: Unknown result type (might be due to invalid IL or missing references)
			//IL_0b72: Expected O, but got Unknown
			//IL_0b72: Unknown result type (might be due to invalid IL or missing references)
			//IL_0b84: Expected O, but got Unknown
			//IL_0b90: Unknown result type (might be due to invalid IL or missing references)
			//IL_0b9a: Expected O, but got Unknown
			//IL_0ba6: Unknown result type (might be due to invalid IL or missing references)
			//IL_0bab: Unknown result type (might be due to invalid IL or missing references)
			//IL_0bac: 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_0bc6: Unknown result type (might be due to invalid IL or missing references)
			//IL_0bd6: Unknown result type (might be due to invalid IL or missing references)
			//IL_0be6: Unknown result type (might be due to invalid IL or missing references)
			//IL_0be7: Unknown result type (might be due to invalid IL or missing references)
			//IL_0bec: Unknown result type (might be due to invalid IL or missing references)
			//IL_0bf3: Unknown result type (might be due to invalid IL or missing references)
			//IL_0c03: Expected O, but got Unknown
			//IL_0c03: Unknown result type (might be due to invalid IL or missing references)
			//IL_0c04: Unknown result type (might be due to invalid IL or missing references)
			//IL_0c09: Unknown result type (might be due to invalid IL or missing references)
			//IL_0c10: Unknown result type (might be due to invalid IL or missing references)
			//IL_0c20: Expected O, but got Unknown
			//IL_0c20: Unknown result type (might be due to invalid IL or missing references)
			//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_0c2e: Unknown result type (might be due to invalid IL or missing references)
			//IL_0c3b: Expected O, but got Unknown
			if (__instance.FsmName == "Harpoon Dash")
			{
				Clawnline360Plugin.Log.LogInfo((object)"Editing harpoon dash");
				GameObject val = new GameObject("Harpoon360");
				val.transform.parent = ((Component)HeroController.instance).gameObject.transform;
				Extensions.SetLocalPositionX(val.transform, 0f);
				Extensions.SetLocalPositionY(val.transform, 0f);
				Extensions.SetLocalPositionZ(val.transform, 0f);
				Extensions.CopyFrom(val.AddComponent<BoxCollider2D>(), ((Component)HeroController.instance).gameObject.GetComponent<BoxCollider2D>());
				FsmOwnerDefault gameObject = new FsmOwnerDefault
				{
					GameObject = FsmGameObject.op_Implicit(val),
					OwnerOption = (OwnerDefaultOption)1
				};
				FsmFloat val2 = FsmUtil.AddFloatVariable(__instance, "InputAngle");
				FsmFloat val3 = FsmUtil.AddFloatVariable(__instance, "RectifiedAngle");
				FsmVector2 val4 = FsmUtil.AddVector2Variable(__instance, "InputVector");
				GameObject val6 = (FsmUtil.AddGameObjectVariable(__instance, "2ndCollider").Value = val);
				FsmGameObject.op_Implicit(val6);
				FsmUtil.AddAction(__instance, "Take Control", (FsmStateAction)(object)new GetHeroDirectionInput
				{
					angle = val2,
					rectifiedAngle = val3,
					directions = val4,
					everyFrame = false
				});
				FsmUtil.InsertAction(__instance, "Kick Up?", (FsmStateAction)new ActivateGameObject
				{
					gameObject = gameObject,
					activate = FsmBool.op_Implicit(true),
					recursive = FsmBool.op_Implicit(false)
				}, 0);
				FsmUtil.InsertAction(__instance, "Kick Up?", (FsmStateAction)new SetCollider
				{
					gameObject = new FsmOwnerDefault(),
					active = FsmBool.op_Implicit(false)
				}, 1);
				FsmUtil.InsertAction(__instance, "Kick Up?", (FsmStateAction)(object)new SetHeroControllerCollider
				{
					gameObject = gameObject
				}, 2);
				FsmUtil.DisableAction(__instance, "Ring Check L", 15);
				FsmUtil.AddAction(__instance, "Ring Check L", (FsmStateAction)(object)new Clawline360Raycheck
				{
					Hero = new FsmOwnerDefault(),
					Direction = val4,
					StoreHitObject = FsmUtil.GetGameObjectVariable(__instance, "Casted Object"),
					StoreHitPoint = FsmUtil.GetVector2Variable(__instance, "Collision Point"),
					NoHitEvent = FsmEvent.GetFsmEvent("FINISHED"),
					TerrainEvent = FsmEvent.GetFsmEvent("HIT WALL"),
					EnemyEvent = FsmEvent.GetFsmEvent("HIT ENEMY"),
					RingEvent = FsmEvent.GetFsmEvent("RING"),
					BouncePodEvent = FsmEvent.GetFsmEvent("BOUNCE POD"),
					TinkEvent = FsmEvent.GetFsmEvent("HIT TINK")
				});
				FsmUtil.GetAction<SetDamageEnemyDirection>(__instance, "Ring Check L", 11).damageDirection = val3;
				FsmUtil.GetAction<SetDamageEnemyDirection>(__instance, "Ring Check L", 12).damageDirection = val3;
				FsmUtil.GetAction<SetFloatValue>(__instance, "Ring Check L", 13).floatValue = val3;
				FsmUtil.InsertAction(__instance, "Ring Check L", (FsmStateAction)new SetRotation
				{
					gameObject = new FsmOwnerDefault(),
					xAngle = FsmFloat.op_Implicit(0f),
					yAngle = FsmFloat.op_Implicit(0f),
					zAngle = val3,
					vector = new FsmVector3
					{
						UseVariable = true,
						name = ""
					},
					quaternion = new FsmQuaternion
					{
						UseVariable = true,
						name = ""
					},
					space = (Space)0,
					everyFrame = false,
					lateUpdate = false
				}, 0);
				FsmUtil.InsertAction(__instance, "Ring Check L", (FsmStateAction)new Rotate
				{
					gameObject = new FsmOwnerDefault(),
					xAngle = FsmFloat.op_Implicit(0f),
					yAngle = FsmFloat.op_Implicit(0f),
					zAngle = FsmFloat.op_Implicit(180f),
					vector = new FsmVector3
					{
						UseVariable = true,
						name = ""
					},
					space = (Space)0,
					everyFrame = false,
					lateUpdate = false
				}, 1);
				FsmUtil.InsertAction(__instance, "Ring Check L", (FsmStateAction)new SetRotation
				{
					gameObject = gameObject,
					xAngle = FsmFloat.op_Implicit(0f),
					yAngle = FsmFloat.op_Implicit(0f),
					zAngle = val2,
					vector = new FsmVector3
					{
						UseVariable = true,
						name = ""
					},
					quaternion = new FsmQuaternion
					{
						UseVariable = true,
						name = ""
					},
					space = (Space)0,
					everyFrame = false,
					lateUpdate = false
				}, 0);
				FsmUtil.InsertAction(__instance, "Ring Check L", (FsmStateAction)new Rotate
				{
					gameObject = gameObject,
					xAngle = FsmFloat.op_Implicit(0f),
					yAngle = FsmFloat.op_Implicit(0f),
					zAngle = FsmFloat.op_Implicit(90f),
					vector = new FsmVector3
					{
						UseVariable = true,
						name = ""
					},
					space = (Space)0,
					everyFrame = false,
					lateUpdate = false
				}, 1);
				FsmUtil.GetAction<Translate>(__instance, "Air Needle L", 2).space = (Space)1;
				FsmUtil.GetAction<GetVector2XY>(__instance, "Wall Needle L", 1).storeY = FsmUtil.GetFloatVariable(__instance, "Needle Y");
				FsmUtil.GetAction<SetPosition>(__instance, "Wall Needle L", 2).y = FsmUtil.GetFloatVariable(__instance, "Needle Y");
				FsmUtil.GetAction<SetPosition>(__instance, "Enemy Needle L", 3).y = FsmUtil.GetFloatVariable(__instance, "Needle Y");
				FsmUtil.GetAction<SetDamageEnemyDirection>(__instance, "Tink Needle L", 1).damageDirection = val3;
				FsmUtil.DisableAction(__instance, "Ring Check R", 15);
				FsmUtil.AddAction(__instance, "Ring Check R", (FsmStateAction)(object)new Clawline360Raycheck
				{
					Hero = new FsmOwnerDefault(),
					Direction = val4,
					StoreHitObject = FsmUtil.GetGameObjectVariable(__instance, "Casted Object"),
					StoreHitPoint = FsmUtil.GetVector2Variable(__instance, "Collision Point"),
					NoHitEvent = FsmEvent.GetFsmEvent("FINISHED"),
					TerrainEvent = FsmEvent.GetFsmEvent("HIT WALL"),
					EnemyEvent = FsmEvent.GetFsmEvent("HIT ENEMY"),
					RingEvent = FsmEvent.GetFsmEvent("RING"),
					BouncePodEvent = FsmEvent.GetFsmEvent("BOUNCE POD"),
					TinkEvent = FsmEvent.GetFsmEvent("HIT TINK")
				});
				FsmUtil.GetAction<SetDamageEnemyDirection>(__instance, "Ring Check R", 11).damageDirection = val3;
				FsmUtil.GetAction<SetDamageEnemyDirection>(__instance, "Ring Check R", 12).damageDirection = val3;
				FsmUtil.GetAction<SetFloatValue>(__instance, "Ring Check R", 13).floatValue = val3;
				FsmUtil.InsertAction(__instance, "Ring Check R", (FsmStateAction)new SetRotation
				{
					gameObject = new FsmOwnerDefault(),
					xAngle = FsmFloat.op_Implicit(0f),
					yAngle = FsmFloat.op_Implicit(0f),
					zAngle = val3,
					vector = new FsmVector3
					{
						UseVariable = true,
						name = ""
					},
					quaternion = new FsmQuaternion
					{
						UseVariable = true,
						name = ""
					},
					space = (Space)0,
					everyFrame = false,
					lateUpdate = false
				}, 0);
				FsmUtil.InsertAction(__instance, "Ring Check R", (FsmStateAction)new Rotate
				{
					gameObject = new FsmOwnerDefault(),
					xAngle = FsmFloat.op_Implicit(0f),
					yAngle = FsmFloat.op_Implicit(0f),
					zAngle = FsmFloat.op_Implicit(0f),
					vector = new FsmVector3
					{
						UseVariable = true,
						name = ""
					},
					space = (Space)0,
					everyFrame = false,
					lateUpdate = false
				}, 1);
				FsmUtil.InsertAction(__instance, "Ring Check R", (FsmStateAction)new SetRotation
				{
					gameObject = gameObject,
					xAngle = FsmFloat.op_Implicit(0f),
					yAngle = FsmFloat.op_Implicit(0f),
					zAngle = val2,
					vector = new FsmVector3
					{
						UseVariable = true,
						name = ""
					},
					quaternion = new FsmQuaternion
					{
						UseVariable = true,
						name = ""
					},
					space = (Space)0,
					everyFrame = false,
					lateUpdate = false
				}, 0);
				FsmUtil.InsertAction(__instance, "Ring Check R", (FsmStateAction)new Rotate
				{
					gameObject = gameObject,
					xAngle = FsmFloat.op_Implicit(0f),
					yAngle = FsmFloat.op_Implicit(0f),
					zAngle = FsmFloat.op_Implicit(270f),
					vector = new FsmVector3
					{
						UseVariable = true,
						name = ""
					},
					space = (Space)0,
					everyFrame = false,
					lateUpdate = false
				}, 1);
				FsmUtil.GetAction<Translate>(__instance, "Air Needle R", 2).space = (Space)1;
				FsmUtil.GetAction<Translate>(__instance, "Air Needle R", 2).x = FsmFloat.op_Implicit(-9.25f);
				FsmUtil.GetAction<GetVector2XY>(__instance, "Wall Needle R", 1).storeY = FsmUtil.GetFloatVariable(__instance, "Needle Y");
				FsmUtil.GetAction<SetPosition>(__instance, "Wall Needle R", 2).y = FsmUtil.GetFloatVariable(__instance, "Needle Y");
				FsmUtil.GetAction<SetPosition>(__instance, "Enemy Needle R", 3).y = FsmUtil.GetFloatVariable(__instance, "Needle Y");
				FsmUtil.GetAction<SetDamageEnemyDirection>(__instance, "Tink Needle R", 1).damageDirection = val3;
				FsmUtil.DisableAction(__instance, "Ring Dash", 5);
				FsmUtil.InsertAction(__instance, "Ring Dash", (FsmStateAction)new GetDistance
				{
					gameObject = new FsmOwnerDefault(),
					target = FsmUtil.GetGameObjectVariable(__instance, "Hornet Grab Point"),
					storeResult = FsmUtil.GetFloatVariable(__instance, "Needle Distance"),
					everyFrame = true
				}, 5);
				FsmUtil.InsertAction(__instance, "Unset Nail Charge", (FsmStateAction)new SetRotation
				{
					gameObject = gameObject,
					xAngle = FsmFloat.op_Implicit(0f),
					yAngle = FsmFloat.op_Implicit(0f),
					zAngle = FsmFloat.op_Implicit(0f),
					vector = new FsmVector3
					{
						UseVariable = true,
						name = ""
					},
					quaternion = new FsmQuaternion
					{
						UseVariable = true,
						name = ""
					},
					space = (Space)0,
					everyFrame = false,
					lateUpdate = false
				}, 0);
				FsmUtil.InsertAction(__instance, "Unset Nail Charge", (FsmStateAction)new ActivateGameObject
				{
					gameObject = gameObject,
					activate = FsmBool.op_Implicit(false),
					recursive = FsmBool.op_Implicit(false)
				}, 0);
				FsmUtil.InsertAction(__instance, "Unset Nail Charge", (FsmStateAction)new SetCollider
				{
					gameObject = new FsmOwnerDefault(),
					active = FsmBool.op_Implicit(true)
				}, 0);
				FsmUtil.InsertAction(__instance, "Unset Nail Charge", (FsmStateAction)(object)new SetHeroControllerCollider
				{
					gameObject = new FsmOwnerDefault()
				}, 0);
				FsmUtil.InsertAction(__instance, "Unset Nail Charge", (FsmStateAction)new SetRotation
				{
					gameObject = new FsmOwnerDefault(),
					xAngle = FsmFloat.op_Implicit(0f),
					yAngle = FsmFloat.op_Implicit(0f),
					zAngle = FsmFloat.op_Implicit(0f),
					vector = new FsmVector3
					{
						UseVariable = true,
						name = ""
					},
					quaternion = new FsmQuaternion
					{
						UseVariable = true,
						name = ""
					},
					space = (Space)0,
					everyFrame = false,
					lateUpdate = false
				}, 0);
				FsmUtil.InsertAction(__instance, "Grab Anim", (FsmStateAction)new SetRotation
				{
					gameObject = gameObject,
					xAngle = FsmFloat.op_Implicit(0f),
					yAngle = FsmFloat.op_Implicit(0f),
					zAngle = FsmFloat.op_Implicit(0f),
					vector = new FsmVector3
					{
						UseVariable = true,
						name = ""
					},
					quaternion = new FsmQuaternion
					{
						UseVariable = true,
						name = ""
					},
					space = (Space)0,
					everyFrame = false,
					lateUpdate = false
				}, 0);
				FsmUtil.InsertAction(__instance, "Grab Anim", (FsmStateAction)new ActivateGameObject
				{
					gameObject = gameObject,
					activate = FsmBool.op_Implicit(false),
					recursive = FsmBool.op_Implicit(false)
				}, 0);
				FsmUtil.InsertAction(__instance, "Grab Anim", (FsmStateAction)new SetCollider
				{
					gameObject = new FsmOwnerDefault(),
					active = FsmBool.op_Implicit(true)
				}, 0);
				FsmUtil.InsertAction(__instance, "Grab Anim", (FsmStateAction)(object)new SetHeroControllerCollider
				{
					gameObject = new FsmOwnerDefault()
				}, 0);
				FsmUtil.InsertAction(__instance, "Grab Anim", (FsmStateAction)new SetRotation
				{
					gameObject = new FsmOwnerDefault(),
					xAngle = FsmFloat.op_Implicit(0f),
					yAngle = FsmFloat.op_Implicit(0f),
					zAngle = FsmFloat.op_Implicit(0f),
					vector = new FsmVector3
					{
						UseVariable = true,
						name = ""
					},
					quaternion = new FsmQuaternion
					{
						UseVariable = true,
						name = ""
					},
					space = (Space)0,
					everyFrame = false,
					lateUpdate = false
				}, 0);
				FsmUtil.DisableAction(__instance, "Dash", 19);
			}
		}
	}
}
namespace Clawline360.Actions
{
	internal class Clawline360Raycheck : HarpoonDashRayCheck
	{
		public FsmVector2 Direction;

		public override void OnEnter()
		{
			//IL_0012: Unknown result type (might be due to invalid IL or missing references)
			//IL_003e: Unknown result type (might be due to invalid IL or missing references)
			//IL_0043: Unknown result type (might be due to invalid IL or missing references)
			//IL_0048: 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_005c: Unknown result type (might be due to invalid IL or missing references)
			//IL_0061: Unknown result type (might be due to invalid IL or missing references)
			//IL_0067: Unknown result type (might be due to invalid IL or missing references)
			//IL_006c: Unknown result type (might be due to invalid IL or missing references)
			//IL_0079: 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_0089: 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_0094: Unknown result type (might be due to invalid IL or missing references)
			//IL_00a1: 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_00b7: Unknown result type (might be due to invalid IL or missing references)
			//IL_00bc: Unknown result type (might be due to invalid IL or missing references)
			//IL_00c9: Unknown result type (might be due to invalid IL or missing references)
			//IL_00d4: 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_00df: Unknown result type (might be due to invalid IL or missing references)
			//IL_00e4: Unknown result type (might be due to invalid IL or missing references)
			//IL_00f1: Unknown result type (might be due to invalid IL or missing references)
			//IL_00fc: Unknown result type (might be due to invalid IL or missing references)
			//IL_0101: Unknown result type (might be due to invalid IL or missing references)
			//IL_0107: Unknown result type (might be due to invalid IL or missing references)
			//IL_010c: Unknown result type (might be due to invalid IL or missing references)
			//IL_0119: Unknown result type (might be due to invalid IL or missing references)
			//IL_0124: Unknown result type (might be due to invalid IL or missing references)
			//IL_0129: Unknown result type (might be due to invalid IL or missing references)
			//IL_012f: Unknown result type (might be due to invalid IL or missing references)
			//IL_0134: Unknown result type (might be due to invalid IL or missing references)
			//IL_013a: Unknown result type (might be due to invalid IL or missing references)
			//IL_013d: 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_0159: 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_015d: Unknown result type (might be due to invalid IL or missing references)
			//IL_0162: Unknown result type (might be due to invalid IL or missing references)
			//IL_018c: 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_0167: Unknown result type (might be due to invalid IL or missing references)
			//IL_016c: 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_016f: Unknown result type (might be due to invalid IL or missing references)
			//IL_0174: Unknown result type (might be due to invalid IL or missing references)
			//IL_01a3: Unknown result type (might be due to invalid IL or missing references)
			//IL_01a8: Unknown result type (might be due to invalid IL or missing references)
			//IL_01aa: Unknown result type (might be due to invalid IL or missing references)
			//IL_01ac: Unknown result type (might be due to invalid IL or missing references)
			//IL_01b2: Invalid comparison between Unknown and I4
			//IL_01b4: Unknown result type (might be due to invalid IL or missing references)
			//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_0201: Unknown result type (might be due to invalid IL or missing references)
			//IL_021f: Expected I4, but got Unknown
			//IL_01fd: Unknown result type (might be due to invalid IL or missing references)
			//IL_01fe: Unknown result type (might be due to invalid IL or missing references)
			//IL_0200: Unknown result type (might be due to invalid IL or missing references)
			//IL_01c8: Unknown result type (might be due to invalid IL or missing references)
			//IL_01ca: Unknown result type (might be due to invalid IL or missing references)
			//IL_01cf: Unknown result type (might be due to invalid IL or missing references)
			//IL_01da: 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_01e1: 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_025c: Unknown result type (might be due to invalid IL or missing references)
			//IL_027b: Unknown result type (might be due to invalid IL or missing references)
			//IL_029a: Unknown result type (might be due to invalid IL or missing references)
			//IL_02b9: Unknown result type (might be due to invalid IL or missing references)
			base.StoreHitObject.Value = null;
			base.StoreHitPoint.Value = Vector2.zero;
			GameObject safe = FSMUtility.GetSafe(base.Hero, (FsmStateAction)(object)this);
			if (!Object.op_Implicit((Object)(object)safe))
			{
				((FsmStateAction)this).Finish();
				return;
			}
			Vector2 val = Vector2.op_Implicit(safe.transform.position);
			base.hitChecks[0] = CheckRay(val + new Vector2(0f, 0.425f), isTerrainCheck: false);
			base.hitChecks[1] = CheckRay(val + new Vector2(0f, -1.05f), isTerrainCheck: false);
			base.hitChecks[2] = CheckRay(val + new Vector2(0f, -0.31249997f), isTerrainCheck: false);
			base.hitChecks[3] = CheckRay(val + new Vector2(0f, 0.05625002f), isTerrainCheck: true);
			base.hitChecks[4] = CheckRay(val + new Vector2(0f, -109f / 160f), isTerrainCheck: true);
			base.hitChecks[5] = CheckRay(val + new Vector2(0f, -0.31249997f), isTerrainCheck: true);
			HitTypes val2 = (HitTypes)0;
			RaycastHit2D val3 = default(RaycastHit2D);
			HitCheck[] hitChecks = base.hitChecks;
			foreach (HitCheck val4 in hitChecks)
			{
				if (val4.HitType >= val2)
				{
					val2 = val4.HitType;
					val3 = val4.Hit;
				}
			}
			float num = float.PositiveInfinity;
			RaycastHit2D val5 = default(RaycastHit2D);
			hitChecks = base.hitChecks;
			foreach (HitCheck val6 in hitChecks)
			{
				if ((int)val6.HitType == 1)
				{
					RaycastHit2D hit = val6.Hit;
					if (((RaycastHit2D)(ref hit)).distance <= num)
					{
						hit = val6.Hit;
						num = ((RaycastHit2D)(ref hit)).distance;
						val5 = val6.Hit;
					}
				}
			}
			if (num < ((RaycastHit2D)(ref val3)).distance)
			{
				val2 = (HitTypes)1;
				val3 = val5;
			}
			switch ((int)val2)
			{
			case 0:
				((FsmStateAction)this).Fsm.Event(base.NoHitEvent);
				((FsmStateAction)this).Finish();
				break;
			case 1:
				((HarpoonDashRayCheck)this).RecordSuccess(val3);
				((FsmStateAction)this).Fsm.Event(base.TerrainEvent);
				((FsmStateAction)this).Finish();
				break;
			case 2:
				((HarpoonDashRayCheck)this).RecordSuccess(val3);
				((FsmStateAction)this).Fsm.Event(base.TinkEvent);
				((FsmStateAction)this).Finish();
				break;
			case 3:
				((HarpoonDashRayCheck)this).RecordSuccess(val3);
				((FsmStateAction)this).Fsm.Event(base.RingEvent);
				((FsmStateAction)this).Finish();
				break;
			case 4:
				((HarpoonDashRayCheck)this).RecordSuccess(val3);
				((FsmStateAction)this).Fsm.Event(base.BouncePodEvent);
				((FsmStateAction)this).Finish();
				break;
			case 5:
				((HarpoonDashRayCheck)this).RecordSuccess(val3);
				((FsmStateAction)this).Fsm.Event(base.EnemyEvent);
				((FsmStateAction)this).Finish();
				break;
			default:
				throw new ArgumentOutOfRangeException();
			}
		}

		public HitCheck CheckRay(Vector2 origin, bool isTerrainCheck)
		{
			//IL_0006: Unknown result type (might be due to invalid IL or missing references)
			//IL_000b: Unknown result type (might be due to invalid IL or missing references)
			//IL_000e: Unknown result type (might be due to invalid IL or missing references)
			//IL_0013: Unknown result type (might be due to invalid IL or missing references)
			//IL_001a: Unknown result type (might be due to invalid IL or missing references)
			//IL_001b: Unknown result type (might be due to invalid IL or missing references)
			//IL_001e: Unknown result type (might be due to invalid IL or missing references)
			//IL_003d: Unknown result type (might be due to invalid IL or missing references)
			//IL_0042: Unknown result type (might be due to invalid IL or missing references)
			//IL_004f: 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_0073: Unknown result type (might be due to invalid IL or missing references)
			//IL_01ed: Unknown result type (might be due to invalid IL or missing references)
			//IL_01fa: Unknown result type (might be due to invalid IL or missing references)
			//IL_0203: Unknown result type (might be due to invalid IL or missing references)
			//IL_0208: Unknown result type (might be due to invalid IL or missing references)
			//IL_0119: Unknown result type (might be due to invalid IL or missing references)
			//IL_0121: Unknown result type (might be due to invalid IL or missing references)
			//IL_0123: Unknown result type (might be due to invalid IL or missing references)
			//IL_012b: Unknown result type (might be due to invalid IL or missing references)
			//IL_0130: Unknown result type (might be due to invalid IL or missing references)
			//IL_00d3: 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_00e5: Unknown result type (might be due to invalid IL or missing references)
			//IL_00ea: Unknown result type (might be due to invalid IL or missing references)
			//IL_0143: Unknown result type (might be due to invalid IL or missing references)
			//IL_014b: 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_0155: Unknown result type (might be due to invalid IL or missing references)
			//IL_015a: Unknown result type (might be due to invalid IL or missing references)
			//IL_01b6: Unknown result type (might be due to invalid IL or missing references)
			//IL_01be: Unknown result type (might be due to invalid IL or missing references)
			//IL_01c0: Unknown result type (might be due to invalid IL or missing references)
			//IL_01c8: Unknown result type (might be due to invalid IL or missing references)
			//IL_01cd: Unknown result type (might be due to invalid IL or missing references)
			//IL_018b: Unknown result type (might be due to invalid IL or missing references)
			//IL_0193: Unknown result type (might be due to invalid IL or missing references)
			//IL_0195: Unknown result type (might be due to invalid IL or missing references)
			//IL_019d: Unknown result type (might be due to invalid IL or missing references)
			//IL_01a2: Unknown result type (might be due to invalid IL or missing references)
			Vector2 value = Direction.Value;
			Vector2 normalized = ((Vector2)(ref value)).normalized;
			float num = 10.5f;
			int num2 = Physics2D.Raycast(origin, normalized, new ContactFilter2D
			{
				useLayerMask = true,
				layerMask = LayerMask.op_Implicit(isTerrainCheck ? 256 : 657408),
				useTriggers = true
			}, base.results, num);
			HealthManager val = default(HealthManager);
			HitCheck result;
			for (int i = 0; i < Mathf.Min(num2, base.results.Length); i++)
			{
				RaycastHit2D hit = base.results[i];
				Collider2D collider = ((RaycastHit2D)(ref hit)).collider;
				if (((Component)collider).gameObject.layer == 11)
				{
					if (!HitTaker.TryGetHealthManager(((Component)collider).gameObject, ref val) || !val.IsInvincible || !val.PreventInvincibleEffect || val.InvincibleFromDirection == 2 || val.InvincibleFromDirection == 4 || val.InvincibleFromDirection == 7)
					{
						result = default(HitCheck);
						result.Hit = hit;
						result.HitType = (HitTypes)5;
						return result;
					}
					continue;
				}
				if (((Component)collider).CompareTag("Bounce Pod") || Object.op_Implicit((Object)(object)((Component)collider).GetComponent<BouncePod>()) || Object.op_Implicit((Object)(object)((Component)collider).GetComponent<HarpoonHook>()))
				{
					result = default(HitCheck);
					result.Hit = hit;
					result.HitType = (HitTypes)4;
					return result;
				}
				if (((Component)collider).CompareTag("Harpoon Ring"))
				{
					result = default(HitCheck);
					result.Hit = hit;
					result.HitType = (HitTypes)3;
					return result;
				}
				if (((Component)collider).gameObject.layer == 17 && Object.op_Implicit((Object)(object)((Component)collider).GetComponent<TinkEffect>()) && !((Component)collider).GetComponent<TinkEffect>().noHarpoonHook)
				{
					result = default(HitCheck);
					result.Hit = hit;
					result.HitType = (HitTypes)2;
					return result;
				}
				if (((Component)collider).gameObject.layer == 8)
				{
					result = default(HitCheck);
					result.Hit = hit;
					result.HitType = (HitTypes)1;
					return result;
				}
			}
			result = default(HitCheck);
			result.Hit = default(RaycastHit2D);
			result.HitType = (HitTypes)0;
			return result;
		}
	}
	internal class GetHeroDirectionInput : FsmStateAction
	{
		public FsmFloat angle;

		public FsmFloat rectifiedAngle;

		public FsmVector2 directions;

		public bool everyFrame;

		public override void Reset()
		{
			angle = null;
			directions = null;
		}

		public override void OnEnter()
		{
			DoGetInput();
			if (!everyFrame)
			{
				((FsmStateAction)this).Finish();
			}
		}

		public override void OnUpdate()
		{
			DoGetInput();
		}

		public void DoGetInput()
		{
			//IL_0207: Unknown result type (might be due to invalid IL or missing references)
			//IL_021d: Unknown result type (might be due to invalid IL or missing references)
			//IL_0242: Unknown result type (might be due to invalid IL or missing references)
			//IL_02be: Unknown result type (might be due to invalid IL or missing references)
			//IL_028d: 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_0052: Unknown result type (might be due to invalid IL or missing references)
			//IL_00a5: 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_00ad: Unknown result type (might be due to invalid IL or missing references)
			//IL_01cd: Unknown result type (might be due to invalid IL or missing references)
			//IL_019c: Unknown result type (might be due to invalid IL or missing references)
			//IL_014f: Unknown result type (might be due to invalid IL or missing references)
			//IL_011e: Unknown result type (might be due to invalid IL or missing references)
			if (!((Object)(object)HeroController.instance != (Object)null))
			{
				return;
			}
			GameManager instance = GameManager.instance;
			InputHandler component = ((Component)instance).GetComponent<InputHandler>();
			PlayerTwoAxisAction val = null;
			if ((Object)(object)instance != (Object)null && (((Object)(object)component != (Object)null) ? component.inputActions : null) != null)
			{
				val = component.inputActions.MoveVector;
				Vector2 vector = ((TwoAxisInputControl)val).Vector;
				if (((Vector2)(ref vector)).magnitude > 0f)
				{
					angle.Value = ((TwoAxisInputControl)val).Angle;
					rectifiedAngle.Value = (-1f * ((TwoAxisInputControl)val).Angle + 360f + 90f) % 360f;
					FsmVector2 obj = directions;
					vector = ((TwoAxisInputControl)val).Vector;
					obj.Value = ((Vector2)(ref vector)).normalized;
					if (HeroController.instance.GetCState("onGround") && rectifiedAngle.Value > 180f)
					{
						if (Extensions.GetScaleX(((Component)HeroController.instance).gameObject.transform) == 1f)
						{
							angle.Value = 270f;
							rectifiedAngle.Value = 180f;
							directions.Value = Vector2.leftVector;
						}
						else
						{
							angle.Value = 90f;
							rectifiedAngle.Value = 0f;
							directions.Value = Vector2.rightVector;
						}
					}
				}
				else if (Extensions.GetScaleX(((Component)HeroController.instance).gameObject.transform) == 1f)
				{
					angle.Value = 270f;
					rectifiedAngle.Value = 180f;
					directions.Value = Vector2.leftVector;
				}
				else
				{
					angle.Value = 90f;
					rectifiedAngle.Value = 0f;
					directions.Value = Vector2.rightVector;
				}
			}
			else
			{
				Vector2 val2 = default(Vector2);
				((Vector2)(ref val2))..ctor(HeroController.instance.move_input, HeroController.instance.vertical_input);
				if (((Vector2)(ref val2)).magnitude > 0f)
				{
					angle.Value = Extensions.DirectionToAngle(val2);
					rectifiedAngle.Value = (-1f * Extensions.DirectionToAngle(val2) + 360f + 90f) % 360f;
					directions.Value = TwoAxisInputControl.op_Implicit((TwoAxisInputControl)(object)val);
				}
				if (Extensions.GetScaleX(((Component)HeroController.instance).gameObject.transform) == 1f)
				{
					angle.Value = 270f;
					rectifiedAngle.Value = 180f;
					directions.Value = Vector2.leftVector;
				}
				else
				{
					angle.Value = 90f;
					rectifiedAngle.Value = 0f;
					directions.Value = Vector2.rightVector;
				}
			}
		}
	}
	internal class SetHeroControllerCollider : FsmStateAction
	{
		public FsmOwnerDefault gameObject;

		public override void OnEnter()
		{
			GameObject ownerDefaultTarget = base.fsm.GetOwnerDefaultTarget(gameObject);
			if ((Object)(object)ownerDefaultTarget != (Object)null)
			{
				BoxCollider2D component = ownerDefaultTarget.GetComponent<BoxCollider2D>();
				if ((Object)(object)component != (Object)null && (Object)(object)HeroController.instance != (Object)null)
				{
					HeroController.instance.col2d = (Collider2D)(object)component;
				}
			}
			((FsmStateAction)this).Finish();
		}
	}
}