Decompiled source of Faster LBoL v1.2.8

FasterLBoL.dll

Decompiled 3 weeks ago
using System;
using System.Collections;
using System.Collections.Generic;
using System.Diagnostics;
using System.Linq;
using System.Reflection;
using System.Reflection.Emit;
using System.Runtime.CompilerServices;
using System.Runtime.Versioning;
using System.Security;
using System.Security.Permissions;
using BepInEx;
using BepInEx.Configuration;
using BepInEx.Logging;
using HarmonyLib;
using LBoL.Core;
using LBoL.Core.Cards;
using LBoL.Presentation;
using LBoL.Presentation.UI.Panels;
using LBoL.Presentation.UI.Transitions;
using LBoL.Presentation.UI.Widgets;
using LBoL.Presentation.Units;
using TMPro;
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: IgnoresAccessChecksTo("LBoL.Base")]
[assembly: IgnoresAccessChecksTo("LBoL.ConfigData")]
[assembly: IgnoresAccessChecksTo("LBoL.Core")]
[assembly: IgnoresAccessChecksTo("LBoL.EntityLib")]
[assembly: IgnoresAccessChecksTo("LBoL.Presentation")]
[assembly: IgnoresAccessChecksTo("Untitled.ConfigDataBuilder.Base")]
[assembly: AssemblyCompany("FasterLBoL")]
[assembly: AssemblyConfiguration("Debug")]
[assembly: AssemblyFileVersion("1.0.0.0")]
[assembly: AssemblyInformationalVersion("1.0.0")]
[assembly: AssemblyProduct("FasterLBoL")]
[assembly: AssemblyTitle("FasterLBoL")]
[assembly: SecurityPermission(SecurityAction.RequestMinimum, SkipVerification = true)]
[assembly: AssemblyVersion("1.0.0.0")]
[module: UnverifiableCode]
namespace FasterLBoL
{
	[BepInPlugin("intoxicatedkid.fasterlbol", "Faster LBoL", "1.2.8")]
	[BepInProcess("LBoL.exe")]
	public class BepinexPlugin : BaseUnityPlugin
	{
		[HarmonyPatch(typeof(GameMaster), "SetTurboMode")]
		private class FasterLBoL1
		{
			private static bool Prefix(bool turboMode)
			{
				Time.timeScale = (turboMode ? ((float)Math.Min(Math.Max(TurboOn.Value, 1), 1000) / 100f) : ((float)Math.Min(Math.Max(TurboOff.Value, 1), 1000) / 100f));
				return false;
			}
		}

		[HarmonyPatch(/*Could not decode attribute arguments.*/)]
		private class FasterLBoL2
		{
			private static bool Prefix(ref string __result)
			{
				__result = ((float)TurboOn.Value / 100f).ToString("G0");
				return false;
			}
		}

		[HarmonyPatch(typeof(GameDirector), "GunShootAction", new Type[]
		{
			typeof(UnitView),
			typeof(IList<ValueTuple<UnitView, DamageInfo>>),
			typeof(string),
			typeof(GunType)
		})]
		private class FasterLBoL3
		{
			private static void Prefix(GameDirector __instance, ref UnitView source, ref IList<(UnitView, DamageInfo)> pairs, ref string gunName, ref GunType type)
			{
				if (SkipDanmaku.Value)
				{
					gunName = "Instant";
				}
			}
		}

		[HarmonyPatch(typeof(CardUi), "FastRemoveHand")]
		private class FasterLBoL4
		{
			private static IEnumerable<CodeInstruction> Transpiler(IEnumerable<CodeInstruction> instructions)
			{
				//IL_0003: Unknown result type (might be due to invalid IL or missing references)
				//IL_0025: Unknown result type (might be due to invalid IL or missing references)
				//IL_002b: Expected O, but got Unknown
				return new CodeMatcher(instructions, (ILGenerator)null).MatchEndForward((CodeMatch[])(object)new CodeMatch[1]
				{
					new CodeMatch((OpCode?)OpCodes.Ldc_R4, (object)0.2f, (string)null)
				}).Set(OpCodes.Call, (object)AccessTools.Method(typeof(FasterLBoL4), "FasterLBoLCheck", (Type[])null, (Type[])null)).InstructionEnumeration();
			}

			public static float FasterLBoLCheck()
			{
				return EnableFasterLBoL.Value ? 0.01f : 0.2f;
			}
		}

		[HarmonyPatch(typeof(CardUi), "FastRemoveCard")]
		private class FasterLBoL5
		{
			private static IEnumerable<CodeInstruction> Transpiler(IEnumerable<CodeInstruction> instructions)
			{
				//IL_0003: Unknown result type (might be due to invalid IL or missing references)
				//IL_0025: Unknown result type (might be due to invalid IL or missing references)
				//IL_002b: Expected O, but got Unknown
				return new CodeMatcher(instructions, (ILGenerator)null).MatchEndForward((CodeMatch[])(object)new CodeMatch[1]
				{
					new CodeMatch((OpCode?)OpCodes.Ldc_R4, (object)0.2f, (string)null)
				}).Set(OpCodes.Call, (object)AccessTools.Method(typeof(FasterLBoL5), "FasterLBoLCheck", (Type[])null, (Type[])null)).InstructionEnumeration();
			}

			public static float FasterLBoLCheck()
			{
				return EnableFasterLBoL.Value ? 0.01f : 0.2f;
			}
		}

		[HarmonyPatch(/*Could not decode attribute arguments.*/)]
		private class FasterLBoL6
		{
			private static IEnumerable<CodeInstruction> Transpiler(IEnumerable<CodeInstruction> instructions)
			{
				//IL_0003: Unknown result type (might be due to invalid IL or missing references)
				//IL_0025: Unknown result type (might be due to invalid IL or missing references)
				//IL_002b: Expected O, but got Unknown
				return new CodeMatcher(instructions, (ILGenerator)null).MatchEndForward((CodeMatch[])(object)new CodeMatch[1]
				{
					new CodeMatch((OpCode?)OpCodes.Ldc_R4, (object)0.3f, (string)null)
				}).Set(OpCodes.Call, (object)AccessTools.Method(typeof(FasterLBoL6), "FasterLBoLCheck", (Type[])null, (Type[])null)).InstructionEnumeration();
			}

			public static float FasterLBoLCheck()
			{
				return EnableFasterLBoL.Value ? 0.01f : 0.3f;
			}
		}

		[HarmonyPatch(typeof(CardUi), "SimpleCardFlyEffect")]
		private class FasterLBoL7
		{
			private static void Prefix(CardUi __instance, ref CardZone from, ref CardZone to, ref float time)
			{
				time = (EnableFasterLBoL.Value ? 0.01f : time);
			}
		}

		[HarmonyPatch(typeof(CardUi), "ShowCardMoveRunner")]
		private class FasterLBoL8
		{
			private static void Prefix(CardUi __instance, ref Card card, ref int index, ref int total)
			{
				index = (EnableFasterLBoL.Value ? 99 : index);
			}
		}

		[HarmonyPatch(/*Could not decode attribute arguments.*/)]
		private class FasterLBoL9
		{
			private static IEnumerable<CodeInstruction> Transpiler(IEnumerable<CodeInstruction> instructions)
			{
				//IL_0003: Unknown result type (might be due to invalid IL or missing references)
				//IL_0025: Unknown result type (might be due to invalid IL or missing references)
				//IL_002b: Expected O, but got Unknown
				return new CodeMatcher(instructions, (ILGenerator)null).MatchEndForward((CodeMatch[])(object)new CodeMatch[1]
				{
					new CodeMatch((OpCode?)OpCodes.Ldc_R4, (object)0.3f, (string)null)
				}).Set(OpCodes.Call, (object)AccessTools.Method(typeof(FasterLBoL9), "FasterLBoLCheck", (Type[])null, (Type[])null)).InstructionEnumeration();
			}

			public static float FasterLBoLCheck()
			{
				return EnableFasterLBoL.Value ? 0.01f : 0.3f;
			}
		}

		[HarmonyPatch(typeof(CardUi), "DelayedAdjustCardsPosition")]
		private class FasterLBoL10
		{
			private static void Prefix(CardUi __instance, ref float delay)
			{
				delay = (EnableFasterLBoL.Value ? 0.01f : delay);
			}
		}

		[HarmonyPatch(/*Could not decode attribute arguments.*/)]
		private class FasterLBoL11
		{
			private static IEnumerable<CodeInstruction> Transpiler(IEnumerable<CodeInstruction> instructions)
			{
				//IL_0003: Unknown result type (might be due to invalid IL or missing references)
				//IL_0025: Unknown result type (might be due to invalid IL or missing references)
				//IL_002b: Expected O, but got Unknown
				//IL_006d: Unknown result type (might be due to invalid IL or missing references)
				//IL_0073: Expected O, but got Unknown
				//IL_0095: Unknown result type (might be due to invalid IL or missing references)
				//IL_009b: Expected O, but got Unknown
				//IL_00dd: Unknown result type (might be due to invalid IL or missing references)
				//IL_00e3: Expected O, but got Unknown
				//IL_0125: Unknown result type (might be due to invalid IL or missing references)
				//IL_012b: Expected O, but got Unknown
				//IL_016d: Unknown result type (might be due to invalid IL or missing references)
				//IL_0173: Expected O, but got Unknown
				//IL_01b5: Unknown result type (might be due to invalid IL or missing references)
				//IL_01bb: Expected O, but got Unknown
				//IL_01fd: Unknown result type (might be due to invalid IL or missing references)
				//IL_0203: Expected O, but got Unknown
				return new CodeMatcher(instructions, (ILGenerator)null).MatchEndForward((CodeMatch[])(object)new CodeMatch[1]
				{
					new CodeMatch((OpCode?)OpCodes.Ldc_R4, (object)0.3f, (string)null)
				}).Set(OpCodes.Call, (object)AccessTools.Method(typeof(FasterLBoL11), "FasterLBoLCheck", (Type[])null, (Type[])null)).MatchEndForward((CodeMatch[])(object)new CodeMatch[1]
				{
					new CodeMatch((OpCode?)OpCodes.Ldc_R4, (object)0.3f, (string)null)
				})
					.MatchEndForward((CodeMatch[])(object)new CodeMatch[1]
					{
						new CodeMatch((OpCode?)OpCodes.Ldc_R4, (object)0.3f, (string)null)
					})
					.Set(OpCodes.Call, (object)AccessTools.Method(typeof(FasterLBoL11), "FasterLBoLCheck", (Type[])null, (Type[])null))
					.MatchEndForward((CodeMatch[])(object)new CodeMatch[1]
					{
						new CodeMatch((OpCode?)OpCodes.Ldc_R4, (object)0.3f, (string)null)
					})
					.Set(OpCodes.Call, (object)AccessTools.Method(typeof(FasterLBoL11), "FasterLBoLCheck", (Type[])null, (Type[])null))
					.MatchEndForward((CodeMatch[])(object)new CodeMatch[1]
					{
						new CodeMatch((OpCode?)OpCodes.Ldc_R4, (object)0.3f, (string)null)
					})
					.Set(OpCodes.Call, (object)AccessTools.Method(typeof(FasterLBoL11), "FasterLBoLCheck", (Type[])null, (Type[])null))
					.MatchEndForward((CodeMatch[])(object)new CodeMatch[1]
					{
						new CodeMatch((OpCode?)OpCodes.Ldc_R4, (object)0.3f, (string)null)
					})
					.Set(OpCodes.Call, (object)AccessTools.Method(typeof(FasterLBoL11), "FasterLBoLCheck", (Type[])null, (Type[])null))
					.MatchEndForward((CodeMatch[])(object)new CodeMatch[1]
					{
						new CodeMatch((OpCode?)OpCodes.Ldc_R4, (object)0.3f, (string)null)
					})
					.Set(OpCodes.Call, (object)AccessTools.Method(typeof(FasterLBoL11), "FasterLBoLCheck", (Type[])null, (Type[])null))
					.MatchEndForward((CodeMatch[])(object)new CodeMatch[1]
					{
						new CodeMatch((OpCode?)OpCodes.Ldc_R4, (object)0.3f, (string)null)
					})
					.Set(OpCodes.Call, (object)AccessTools.Method(typeof(FasterLBoL11), "FasterLBoLCheck", (Type[])null, (Type[])null))
					.InstructionEnumeration();
			}

			public static float FasterLBoLCheck()
			{
				return EnableFasterLBoL.Value ? 0.01f : 0.3f;
			}
		}

		[HarmonyPatch(/*Could not decode attribute arguments.*/)]
		private class FasterLBoL12
		{
			private static IEnumerable<CodeInstruction> Transpiler(IEnumerable<CodeInstruction> instructions)
			{
				//IL_0003: Unknown result type (might be due to invalid IL or missing references)
				//IL_0025: Unknown result type (might be due to invalid IL or missing references)
				//IL_002b: Expected O, but got Unknown
				//IL_006d: Unknown result type (might be due to invalid IL or missing references)
				//IL_0073: Expected O, but got Unknown
				return new CodeMatcher(instructions, (ILGenerator)null).MatchEndForward((CodeMatch[])(object)new CodeMatch[1]
				{
					new CodeMatch((OpCode?)OpCodes.Ldc_R4, (object)0.3f, (string)null)
				}).Set(OpCodes.Call, (object)AccessTools.Method(typeof(FasterLBoL12), "FasterLBoLCheck", (Type[])null, (Type[])null)).MatchEndForward((CodeMatch[])(object)new CodeMatch[1]
				{
					new CodeMatch((OpCode?)OpCodes.Ldc_R4, (object)0.3f, (string)null)
				})
					.Set(OpCodes.Call, (object)AccessTools.Method(typeof(FasterLBoL12), "FasterLBoLCheck", (Type[])null, (Type[])null))
					.InstructionEnumeration();
			}

			public static float FasterLBoLCheck()
			{
				return EnableFasterLBoL.Value ? 0.01f : 0.3f;
			}
		}

		[HarmonyPatch(/*Could not decode attribute arguments.*/)]
		private class FasterLBoL13
		{
			private static IEnumerable<CodeInstruction> Transpiler(IEnumerable<CodeInstruction> instructions)
			{
				//IL_0003: Unknown result type (might be due to invalid IL or missing references)
				//IL_001c: Unknown result type (might be due to invalid IL or missing references)
				//IL_0022: Expected O, but got Unknown
				//IL_0064: Unknown result type (might be due to invalid IL or missing references)
				//IL_006a: Expected O, but got Unknown
				//IL_00ac: Unknown result type (might be due to invalid IL or missing references)
				//IL_00b2: Expected O, but got Unknown
				//IL_00f4: Unknown result type (might be due to invalid IL or missing references)
				//IL_00fa: Expected O, but got Unknown
				//IL_013c: Unknown result type (might be due to invalid IL or missing references)
				//IL_0142: Expected O, but got Unknown
				return new CodeMatcher(instructions, (ILGenerator)null).MatchEndForward((CodeMatch[])(object)new CodeMatch[1]
				{
					new CodeMatch((OpCode?)OpCodes.Ldc_I4_S, (object)null, (string)null)
				}).Set(OpCodes.Call, (object)AccessTools.Method(typeof(FasterLBoL13), "FasterLBoLCheck1", (Type[])null, (Type[])null)).MatchEndForward((CodeMatch[])(object)new CodeMatch[1]
				{
					new CodeMatch((OpCode?)OpCodes.Ldc_R4, (object)0.5f, (string)null)
				})
					.Set(OpCodes.Call, (object)AccessTools.Method(typeof(FasterLBoL13), "FasterLBoLCheck2", (Type[])null, (Type[])null))
					.MatchEndForward((CodeMatch[])(object)new CodeMatch[1]
					{
						new CodeMatch((OpCode?)OpCodes.Ldc_R4, (object)0.25f, (string)null)
					})
					.Set(OpCodes.Call, (object)AccessTools.Method(typeof(FasterLBoL13), "FasterLBoLCheck3", (Type[])null, (Type[])null))
					.MatchEndForward((CodeMatch[])(object)new CodeMatch[1]
					{
						new CodeMatch((OpCode?)OpCodes.Ldc_R4, (object)0.05f, (string)null)
					})
					.Set(OpCodes.Call, (object)AccessTools.Method(typeof(FasterLBoL13), "FasterLBoLCheck4", (Type[])null, (Type[])null))
					.MatchEndForward((CodeMatch[])(object)new CodeMatch[1]
					{
						new CodeMatch((OpCode?)OpCodes.Ldc_R4, (object)0.3f, (string)null)
					})
					.Set(OpCodes.Call, (object)AccessTools.Method(typeof(FasterLBoL13), "FasterLBoLCheck5", (Type[])null, (Type[])null))
					.InstructionEnumeration();
			}

			public static int FasterLBoLCheck1()
			{
				return EnableFasterLBoL.Value ? 1 : 10;
			}

			public static float FasterLBoLCheck2()
			{
				return EnableFasterLBoL.Value ? 0.5f : 0.5f;
			}

			public static float FasterLBoLCheck3()
			{
				return EnableFasterLBoL.Value ? 0.25f : 0.25f;
			}

			public static float FasterLBoLCheck4()
			{
				return EnableFasterLBoL.Value ? 0.01f : 0.05f;
			}

			public static float FasterLBoLCheck5()
			{
				return EnableFasterLBoL.Value ? 0.01f : 0.3f;
			}
		}

		[HarmonyPatch(/*Could not decode attribute arguments.*/)]
		private class FasterLBoL14
		{
			private static IEnumerable<CodeInstruction> Transpiler(IEnumerable<CodeInstruction> instructions)
			{
				//IL_0003: Unknown result type (might be due to invalid IL or missing references)
				//IL_0025: Unknown result type (might be due to invalid IL or missing references)
				//IL_002b: Expected O, but got Unknown
				//IL_006d: Unknown result type (might be due to invalid IL or missing references)
				//IL_0073: Expected O, but got Unknown
				//IL_00b5: Unknown result type (might be due to invalid IL or missing references)
				//IL_00bb: Expected O, but got Unknown
				//IL_00fd: Unknown result type (might be due to invalid IL or missing references)
				//IL_0103: Expected O, but got Unknown
				//IL_0145: Unknown result type (might be due to invalid IL or missing references)
				//IL_014b: Expected O, but got Unknown
				return new CodeMatcher(instructions, (ILGenerator)null).MatchEndForward((CodeMatch[])(object)new CodeMatch[1]
				{
					new CodeMatch((OpCode?)OpCodes.Ldc_R4, (object)0.05f, (string)null)
				}).Set(OpCodes.Call, (object)AccessTools.Method(typeof(FasterLBoL14), "FasterLBoLCheck1", (Type[])null, (Type[])null)).MatchEndForward((CodeMatch[])(object)new CodeMatch[1]
				{
					new CodeMatch((OpCode?)OpCodes.Ldc_R4, (object)0.25f, (string)null)
				})
					.Set(OpCodes.Call, (object)AccessTools.Method(typeof(FasterLBoL14), "FasterLBoLCheck2", (Type[])null, (Type[])null))
					.MatchEndForward((CodeMatch[])(object)new CodeMatch[1]
					{
						new CodeMatch((OpCode?)OpCodes.Ldc_R4, (object)0.3f, (string)null)
					})
					.Set(OpCodes.Call, (object)AccessTools.Method(typeof(FasterLBoL14), "FasterLBoLCheck3", (Type[])null, (Type[])null))
					.MatchEndForward((CodeMatch[])(object)new CodeMatch[1]
					{
						new CodeMatch((OpCode?)OpCodes.Ldc_R4, (object)0.3f, (string)null)
					})
					.Set(OpCodes.Call, (object)AccessTools.Method(typeof(FasterLBoL14), "FasterLBoLCheck3", (Type[])null, (Type[])null))
					.MatchEndForward((CodeMatch[])(object)new CodeMatch[1]
					{
						new CodeMatch((OpCode?)OpCodes.Ldc_R4, (object)0.3f, (string)null)
					})
					.Set(OpCodes.Call, (object)AccessTools.Method(typeof(FasterLBoL14), "FasterLBoLCheck3", (Type[])null, (Type[])null))
					.InstructionEnumeration();
			}

			public static float FasterLBoLCheck1()
			{
				return EnableFasterLBoL.Value ? 0.01f : 0.05f;
			}

			public static float FasterLBoLCheck2()
			{
				return EnableFasterLBoL.Value ? 0.01f : 0.25f;
			}

			public static float FasterLBoLCheck3()
			{
				return EnableFasterLBoL.Value ? 0.01f : 0.3f;
			}
		}

		[HarmonyPatch(/*Could not decode attribute arguments.*/)]
		private class FasterLBoL15
		{
			private static IEnumerable<CodeInstruction> Transpiler(IEnumerable<CodeInstruction> instructions)
			{
				//IL_0003: Unknown result type (might be due to invalid IL or missing references)
				//IL_0025: Unknown result type (might be due to invalid IL or missing references)
				//IL_002b: Expected O, but got Unknown
				//IL_006d: Unknown result type (might be due to invalid IL or missing references)
				//IL_0073: Expected O, but got Unknown
				//IL_00b5: Unknown result type (might be due to invalid IL or missing references)
				//IL_00bb: Expected O, but got Unknown
				//IL_00fd: Unknown result type (might be due to invalid IL or missing references)
				//IL_0103: Expected O, but got Unknown
				//IL_0145: Unknown result type (might be due to invalid IL or missing references)
				//IL_014b: Expected O, but got Unknown
				return new CodeMatcher(instructions, (ILGenerator)null).MatchEndForward((CodeMatch[])(object)new CodeMatch[1]
				{
					new CodeMatch((OpCode?)OpCodes.Ldc_R4, (object)0.05f, (string)null)
				}).Set(OpCodes.Call, (object)AccessTools.Method(typeof(FasterLBoL15), "FasterLBoLCheck1", (Type[])null, (Type[])null)).MatchEndForward((CodeMatch[])(object)new CodeMatch[1]
				{
					new CodeMatch((OpCode?)OpCodes.Ldc_R4, (object)0.25f, (string)null)
				})
					.Set(OpCodes.Call, (object)AccessTools.Method(typeof(FasterLBoL15), "FasterLBoLCheck2", (Type[])null, (Type[])null))
					.MatchEndForward((CodeMatch[])(object)new CodeMatch[1]
					{
						new CodeMatch((OpCode?)OpCodes.Ldc_R4, (object)0.3f, (string)null)
					})
					.Set(OpCodes.Call, (object)AccessTools.Method(typeof(FasterLBoL15), "FasterLBoLCheck3", (Type[])null, (Type[])null))
					.MatchEndForward((CodeMatch[])(object)new CodeMatch[1]
					{
						new CodeMatch((OpCode?)OpCodes.Ldc_R4, (object)0.3f, (string)null)
					})
					.Set(OpCodes.Call, (object)AccessTools.Method(typeof(FasterLBoL15), "FasterLBoLCheck3", (Type[])null, (Type[])null))
					.MatchEndForward((CodeMatch[])(object)new CodeMatch[1]
					{
						new CodeMatch((OpCode?)OpCodes.Ldc_R4, (object)0.3f, (string)null)
					})
					.Set(OpCodes.Call, (object)AccessTools.Method(typeof(FasterLBoL15), "FasterLBoLCheck3", (Type[])null, (Type[])null))
					.InstructionEnumeration();
			}

			public static float FasterLBoLCheck1()
			{
				return EnableFasterLBoL.Value ? 0.01f : 0.05f;
			}

			public static float FasterLBoLCheck2()
			{
				return EnableFasterLBoL.Value ? 0.01f : 0.25f;
			}

			public static float FasterLBoLCheck3()
			{
				return EnableFasterLBoL.Value ? 0.01f : 0.3f;
			}
		}

		[HarmonyPatch(/*Could not decode attribute arguments.*/)]
		private class FasterLBoL16
		{
			private static IEnumerable<CodeInstruction> Transpiler(IEnumerable<CodeInstruction> instructions)
			{
				//IL_0003: Unknown result type (might be due to invalid IL or missing references)
				//IL_0025: Unknown result type (might be due to invalid IL or missing references)
				//IL_002b: Expected O, but got Unknown
				//IL_006d: Unknown result type (might be due to invalid IL or missing references)
				//IL_0073: Expected O, but got Unknown
				//IL_00b5: Unknown result type (might be due to invalid IL or missing references)
				//IL_00bb: Expected O, but got Unknown
				//IL_00fd: Unknown result type (might be due to invalid IL or missing references)
				//IL_0103: Expected O, but got Unknown
				//IL_0145: Unknown result type (might be due to invalid IL or missing references)
				//IL_014b: Expected O, but got Unknown
				return new CodeMatcher(instructions, (ILGenerator)null).MatchEndForward((CodeMatch[])(object)new CodeMatch[1]
				{
					new CodeMatch((OpCode?)OpCodes.Ldc_R4, (object)0.05f, (string)null)
				}).Set(OpCodes.Call, (object)AccessTools.Method(typeof(FasterLBoL16), "FasterLBoLCheck1", (Type[])null, (Type[])null)).MatchEndForward((CodeMatch[])(object)new CodeMatch[1]
				{
					new CodeMatch((OpCode?)OpCodes.Ldc_R4, (object)0.25f, (string)null)
				})
					.Set(OpCodes.Call, (object)AccessTools.Method(typeof(FasterLBoL15), "FasterLBoLCheck2", (Type[])null, (Type[])null))
					.MatchEndForward((CodeMatch[])(object)new CodeMatch[1]
					{
						new CodeMatch((OpCode?)OpCodes.Ldc_R4, (object)0.3f, (string)null)
					})
					.Set(OpCodes.Call, (object)AccessTools.Method(typeof(FasterLBoL16), "FasterLBoLCheck3", (Type[])null, (Type[])null))
					.MatchEndForward((CodeMatch[])(object)new CodeMatch[1]
					{
						new CodeMatch((OpCode?)OpCodes.Ldc_R4, (object)0.3f, (string)null)
					})
					.Set(OpCodes.Call, (object)AccessTools.Method(typeof(FasterLBoL16), "FasterLBoLCheck3", (Type[])null, (Type[])null))
					.MatchEndForward((CodeMatch[])(object)new CodeMatch[1]
					{
						new CodeMatch((OpCode?)OpCodes.Ldc_R4, (object)0.3f, (string)null)
					})
					.Set(OpCodes.Call, (object)AccessTools.Method(typeof(FasterLBoL16), "FasterLBoLCheck3", (Type[])null, (Type[])null))
					.InstructionEnumeration();
			}

			public static float FasterLBoLCheck1()
			{
				return EnableFasterLBoL.Value ? 0.01f : 0.05f;
			}

			public static float FasterLBoLCheck2()
			{
				return EnableFasterLBoL.Value ? 0.01f : 0.25f;
			}

			public static float FasterLBoLCheck3()
			{
				return EnableFasterLBoL.Value ? 0.01f : 0.3f;
			}
		}

		[HarmonyPatch(/*Could not decode attribute arguments.*/)]
		private class FasterLBoL17
		{
			private static IEnumerable<CodeInstruction> Transpiler(IEnumerable<CodeInstruction> instructions)
			{
				//IL_0003: Unknown result type (might be due to invalid IL or missing references)
				//IL_0025: Unknown result type (might be due to invalid IL or missing references)
				//IL_002b: Expected O, but got Unknown
				//IL_006d: Unknown result type (might be due to invalid IL or missing references)
				//IL_0073: Expected O, but got Unknown
				//IL_00b5: Unknown result type (might be due to invalid IL or missing references)
				//IL_00bb: Expected O, but got Unknown
				//IL_00fd: Unknown result type (might be due to invalid IL or missing references)
				//IL_0103: Expected O, but got Unknown
				//IL_0145: Unknown result type (might be due to invalid IL or missing references)
				//IL_014b: Expected O, but got Unknown
				return new CodeMatcher(instructions, (ILGenerator)null).MatchEndForward((CodeMatch[])(object)new CodeMatch[1]
				{
					new CodeMatch((OpCode?)OpCodes.Ldc_R4, (object)0.05f, (string)null)
				}).Set(OpCodes.Call, (object)AccessTools.Method(typeof(FasterLBoL17), "FasterLBoLCheck1", (Type[])null, (Type[])null)).MatchEndForward((CodeMatch[])(object)new CodeMatch[1]
				{
					new CodeMatch((OpCode?)OpCodes.Ldc_R4, (object)0.25f, (string)null)
				})
					.Set(OpCodes.Call, (object)AccessTools.Method(typeof(FasterLBoL17), "FasterLBoLCheck2", (Type[])null, (Type[])null))
					.MatchEndForward((CodeMatch[])(object)new CodeMatch[1]
					{
						new CodeMatch((OpCode?)OpCodes.Ldc_R4, (object)0.3f, (string)null)
					})
					.Set(OpCodes.Call, (object)AccessTools.Method(typeof(FasterLBoL17), "FasterLBoLCheck3", (Type[])null, (Type[])null))
					.MatchEndForward((CodeMatch[])(object)new CodeMatch[1]
					{
						new CodeMatch((OpCode?)OpCodes.Ldc_R4, (object)0.3f, (string)null)
					})
					.Set(OpCodes.Call, (object)AccessTools.Method(typeof(FasterLBoL17), "FasterLBoLCheck3", (Type[])null, (Type[])null))
					.MatchEndForward((CodeMatch[])(object)new CodeMatch[1]
					{
						new CodeMatch((OpCode?)OpCodes.Ldc_R4, (object)0.3f, (string)null)
					})
					.Set(OpCodes.Call, (object)AccessTools.Method(typeof(FasterLBoL17), "FasterLBoLCheck3", (Type[])null, (Type[])null))
					.InstructionEnumeration();
			}

			public static float FasterLBoLCheck1()
			{
				return EnableFasterLBoL.Value ? 0.01f : 0.05f;
			}

			public static float FasterLBoLCheck2()
			{
				return EnableFasterLBoL.Value ? 0.01f : 0.25f;
			}

			public static float FasterLBoLCheck3()
			{
				return EnableFasterLBoL.Value ? 0.01f : 0.3f;
			}
		}

		[HarmonyPatch(/*Could not decode attribute arguments.*/)]
		private class FasterLBoL18
		{
			private static IEnumerable<CodeInstruction> Transpiler(IEnumerable<CodeInstruction> instructions)
			{
				//IL_0003: Unknown result type (might be due to invalid IL or missing references)
				//IL_0025: Unknown result type (might be due to invalid IL or missing references)
				//IL_002b: Expected O, but got Unknown
				return new CodeMatcher(instructions, (ILGenerator)null).MatchEndForward((CodeMatch[])(object)new CodeMatch[1]
				{
					new CodeMatch((OpCode?)OpCodes.Ldc_R4, (object)0.3f, (string)null)
				}).Set(OpCodes.Call, (object)AccessTools.Method(typeof(FasterLBoL18), "FasterLBoLCheck", (Type[])null, (Type[])null)).InstructionEnumeration();
			}

			public static float FasterLBoLCheck()
			{
				return EnableFasterLBoL.Value ? 0.01f : 0.3f;
			}
		}

		[HarmonyPatch(/*Could not decode attribute arguments.*/)]
		private class FasterLBoL19
		{
			private static IEnumerable<CodeInstruction> Transpiler(IEnumerable<CodeInstruction> instructions)
			{
				//IL_0003: Unknown result type (might be due to invalid IL or missing references)
				//IL_0025: Unknown result type (might be due to invalid IL or missing references)
				//IL_002b: Expected O, but got Unknown
				return new CodeMatcher(instructions, (ILGenerator)null).MatchEndForward((CodeMatch[])(object)new CodeMatch[1]
				{
					new CodeMatch((OpCode?)OpCodes.Ldc_R4, (object)0.5f, (string)null)
				}).Set(OpCodes.Call, (object)AccessTools.Method(typeof(FasterLBoL19), "FasterLBoLCheck", (Type[])null, (Type[])null)).InstructionEnumeration();
			}

			public static float FasterLBoLCheck()
			{
				return EnableFasterLBoL.Value ? 0.01f : 0.5f;
			}
		}

		[HarmonyPatch(/*Could not decode attribute arguments.*/)]
		private class FasterLBoL20
		{
			private static IEnumerable<CodeInstruction> Transpiler(IEnumerable<CodeInstruction> instructions)
			{
				//IL_0003: Unknown result type (might be due to invalid IL or missing references)
				//IL_0025: Unknown result type (might be due to invalid IL or missing references)
				//IL_002b: Expected O, but got Unknown
				return new CodeMatcher(instructions, (ILGenerator)null).MatchEndForward((CodeMatch[])(object)new CodeMatch[1]
				{
					new CodeMatch((OpCode?)OpCodes.Ldc_R4, (object)0.5f, (string)null)
				}).Set(OpCodes.Call, (object)AccessTools.Method(typeof(FasterLBoL20), "FasterLBoLCheck", (Type[])null, (Type[])null)).InstructionEnumeration();
			}

			public static float FasterLBoLCheck()
			{
				return EnableFasterLBoL.Value ? 0.01f : 0.5f;
			}
		}

		[HarmonyPatch(/*Could not decode attribute arguments.*/)]
		private class FasterLBoL21
		{
			private static IEnumerable<CodeInstruction> Transpiler(IEnumerable<CodeInstruction> instructions)
			{
				//IL_0003: Unknown result type (might be due to invalid IL or missing references)
				//IL_0025: Unknown result type (might be due to invalid IL or missing references)
				//IL_002b: Expected O, but got Unknown
				//IL_006d: Unknown result type (might be due to invalid IL or missing references)
				//IL_0073: Expected O, but got Unknown
				//IL_00b5: Unknown result type (might be due to invalid IL or missing references)
				//IL_00bb: Expected O, but got Unknown
				//IL_00fd: Unknown result type (might be due to invalid IL or missing references)
				//IL_0103: Expected O, but got Unknown
				//IL_0145: Unknown result type (might be due to invalid IL or missing references)
				//IL_014b: Expected O, but got Unknown
				return new CodeMatcher(instructions, (ILGenerator)null).MatchEndForward((CodeMatch[])(object)new CodeMatch[1]
				{
					new CodeMatch((OpCode?)OpCodes.Ldc_R4, (object)0.1f, (string)null)
				}).Set(OpCodes.Call, (object)AccessTools.Method(typeof(FasterLBoL21), "FasterLBoLCheck1", (Type[])null, (Type[])null)).MatchEndForward((CodeMatch[])(object)new CodeMatch[1]
				{
					new CodeMatch((OpCode?)OpCodes.Ldc_R4, (object)0.1f, (string)null)
				})
					.Set(OpCodes.Call, (object)AccessTools.Method(typeof(FasterLBoL21), "FasterLBoLCheck1", (Type[])null, (Type[])null))
					.MatchEndForward((CodeMatch[])(object)new CodeMatch[1]
					{
						new CodeMatch((OpCode?)OpCodes.Ldc_R4, (object)0.1f, (string)null)
					})
					.Set(OpCodes.Call, (object)AccessTools.Method(typeof(FasterLBoL21), "FasterLBoLCheck1", (Type[])null, (Type[])null))
					.MatchEndForward((CodeMatch[])(object)new CodeMatch[1]
					{
						new CodeMatch((OpCode?)OpCodes.Ldc_R4, (object)0.1f, (string)null)
					})
					.Set(OpCodes.Call, (object)AccessTools.Method(typeof(FasterLBoL21), "FasterLBoLCheck1", (Type[])null, (Type[])null))
					.MatchEndForward((CodeMatch[])(object)new CodeMatch[1]
					{
						new CodeMatch((OpCode?)OpCodes.Ldc_R4, (object)0.5f, (string)null)
					})
					.Set(OpCodes.Call, (object)AccessTools.Method(typeof(FasterLBoL21), "FasterLBoLCheck2", (Type[])null, (Type[])null))
					.InstructionEnumeration();
			}

			public static float FasterLBoLCheck1()
			{
				return EnableFasterLBoL.Value ? 0.01f : 0.1f;
			}

			public static float FasterLBoLCheck2()
			{
				return EnableFasterLBoL.Value ? 0.01f : 0.5f;
			}
		}

		[HarmonyPatch(/*Could not decode attribute arguments.*/)]
		private class FasterLBoL22
		{
			private static IEnumerable<CodeInstruction> Transpiler(IEnumerable<CodeInstruction> instructions)
			{
				//IL_0003: Unknown result type (might be due to invalid IL or missing references)
				//IL_0025: Unknown result type (might be due to invalid IL or missing references)
				//IL_002b: Expected O, but got Unknown
				//IL_006d: Unknown result type (might be due to invalid IL or missing references)
				//IL_0073: Expected O, but got Unknown
				//IL_00b5: Unknown result type (might be due to invalid IL or missing references)
				//IL_00bb: Expected O, but got Unknown
				//IL_00fd: Unknown result type (might be due to invalid IL or missing references)
				//IL_0103: Expected O, but got Unknown
				return new CodeMatcher(instructions, (ILGenerator)null).MatchEndForward((CodeMatch[])(object)new CodeMatch[1]
				{
					new CodeMatch((OpCode?)OpCodes.Ldc_R4, (object)0.1f, (string)null)
				}).Set(OpCodes.Call, (object)AccessTools.Method(typeof(FasterLBoL22), "FasterLBoLCheck1", (Type[])null, (Type[])null)).MatchEndForward((CodeMatch[])(object)new CodeMatch[1]
				{
					new CodeMatch((OpCode?)OpCodes.Ldc_R4, (object)0.2f, (string)null)
				})
					.Set(OpCodes.Call, (object)AccessTools.Method(typeof(FasterLBoL22), "FasterLBoLCheck2", (Type[])null, (Type[])null))
					.MatchEndForward((CodeMatch[])(object)new CodeMatch[1]
					{
						new CodeMatch((OpCode?)OpCodes.Ldc_R4, (object)0.2f, (string)null)
					})
					.Set(OpCodes.Call, (object)AccessTools.Method(typeof(FasterLBoL22), "FasterLBoLCheck2", (Type[])null, (Type[])null))
					.MatchEndForward((CodeMatch[])(object)new CodeMatch[1]
					{
						new CodeMatch((OpCode?)OpCodes.Ldc_R4, (object)0.3f, (string)null)
					})
					.Set(OpCodes.Call, (object)AccessTools.Method(typeof(FasterLBoL22), "FasterLBoLCheck3", (Type[])null, (Type[])null))
					.InstructionEnumeration();
			}

			public static float FasterLBoLCheck1()
			{
				return EnableFasterLBoL.Value ? 0.01f : 0.1f;
			}

			public static float FasterLBoLCheck2()
			{
				return EnableFasterLBoL.Value ? 0.01f : 0.2f;
			}

			public static float FasterLBoLCheck3()
			{
				return EnableFasterLBoL.Value ? 0.01f : 0.3f;
			}
		}

		[HarmonyPatch(typeof(BattleNotifier), "ShowBattleStart")]
		private class FasterLBoL23
		{
			private static IEnumerable<CodeInstruction> Transpiler(IEnumerable<CodeInstruction> instructions)
			{
				//IL_0003: Unknown result type (might be due to invalid IL or missing references)
				//IL_0025: Unknown result type (might be due to invalid IL or missing references)
				//IL_002b: Expected O, but got Unknown
				//IL_006d: Unknown result type (might be due to invalid IL or missing references)
				//IL_0073: Expected O, but got Unknown
				//IL_00b5: Unknown result type (might be due to invalid IL or missing references)
				//IL_00bb: Expected O, but got Unknown
				//IL_00fd: Unknown result type (might be due to invalid IL or missing references)
				//IL_0103: Expected O, but got Unknown
				//IL_0145: Unknown result type (might be due to invalid IL or missing references)
				//IL_014b: Expected O, but got Unknown
				return new CodeMatcher(instructions, (ILGenerator)null).MatchEndForward((CodeMatch[])(object)new CodeMatch[1]
				{
					new CodeMatch((OpCode?)OpCodes.Ldc_R4, (object)0.2f, (string)null)
				}).Set(OpCodes.Call, (object)AccessTools.Method(typeof(FasterLBoL23), "FasterLBoLCheck1", (Type[])null, (Type[])null)).MatchEndForward((CodeMatch[])(object)new CodeMatch[1]
				{
					new CodeMatch((OpCode?)OpCodes.Ldc_R4, (object)0.2f, (string)null)
				})
					.Set(OpCodes.Call, (object)AccessTools.Method(typeof(FasterLBoL23), "FasterLBoLCheck1", (Type[])null, (Type[])null))
					.MatchEndForward((CodeMatch[])(object)new CodeMatch[1]
					{
						new CodeMatch((OpCode?)OpCodes.Ldc_R4, (object)0.5f, (string)null)
					})
					.Set(OpCodes.Call, (object)AccessTools.Method(typeof(FasterLBoL23), "FasterLBoLCheck2", (Type[])null, (Type[])null))
					.MatchEndForward((CodeMatch[])(object)new CodeMatch[1]
					{
						new CodeMatch((OpCode?)OpCodes.Ldc_R4, (object)0.2f, (string)null)
					})
					.Set(OpCodes.Call, (object)AccessTools.Method(typeof(FasterLBoL23), "FasterLBoLCheck1", (Type[])null, (Type[])null))
					.MatchEndForward((CodeMatch[])(object)new CodeMatch[1]
					{
						new CodeMatch((OpCode?)OpCodes.Ldc_R4, (object)0.2f, (string)null)
					})
					.Set(OpCodes.Call, (object)AccessTools.Method(typeof(FasterLBoL23), "FasterLBoLCheck1", (Type[])null, (Type[])null))
					.InstructionEnumeration();
			}

			public static float FasterLBoLCheck1()
			{
				return EnableFasterLBoL.Value ? 0.01f : 0.2f;
			}

			public static float FasterLBoLCheck2()
			{
				return EnableFasterLBoL.Value ? 0.01f : 0.5f;
			}
		}

		[HarmonyPatch(typeof(BattleNotifier), "DoShowTurn")]
		private class FasterLBoL24
		{
			private static IEnumerable<CodeInstruction> Transpiler(IEnumerable<CodeInstruction> instructions)
			{
				//IL_0003: Unknown result type (might be due to invalid IL or missing references)
				//IL_0025: Unknown result type (might be due to invalid IL or missing references)
				//IL_002b: Expected O, but got Unknown
				//IL_006d: Unknown result type (might be due to invalid IL or missing references)
				//IL_0073: Expected O, but got Unknown
				//IL_00b5: Unknown result type (might be due to invalid IL or missing references)
				//IL_00bb: Expected O, but got Unknown
				//IL_00fd: Unknown result type (might be due to invalid IL or missing references)
				//IL_0103: Expected O, but got Unknown
				//IL_0145: Unknown result type (might be due to invalid IL or missing references)
				//IL_014b: Expected O, but got Unknown
				//IL_018d: Unknown result type (might be due to invalid IL or missing references)
				//IL_0193: Expected O, but got Unknown
				//IL_01d5: Unknown result type (might be due to invalid IL or missing references)
				//IL_01db: Expected O, but got Unknown
				return new CodeMatcher(instructions, (ILGenerator)null).MatchEndForward((CodeMatch[])(object)new CodeMatch[1]
				{
					new CodeMatch((OpCode?)OpCodes.Ldc_R4, (object)0.2f, (string)null)
				}).Set(OpCodes.Call, (object)AccessTools.Method(typeof(FasterLBoL24), "FasterLBoLCheck1", (Type[])null, (Type[])null)).MatchEndForward((CodeMatch[])(object)new CodeMatch[1]
				{
					new CodeMatch((OpCode?)OpCodes.Ldc_R4, (object)0.3f, (string)null)
				})
					.Set(OpCodes.Call, (object)AccessTools.Method(typeof(FasterLBoL24), "FasterLBoLCheck2", (Type[])null, (Type[])null))
					.MatchEndForward((CodeMatch[])(object)new CodeMatch[1]
					{
						new CodeMatch((OpCode?)OpCodes.Ldc_R4, (object)0.5f, (string)null)
					})
					.Set(OpCodes.Call, (object)AccessTools.Method(typeof(FasterLBoL24), "FasterLBoLCheck3", (Type[])null, (Type[])null))
					.MatchEndForward((CodeMatch[])(object)new CodeMatch[1]
					{
						new CodeMatch((OpCode?)OpCodes.Ldc_R4, (object)0.5f, (string)null)
					})
					.Set(OpCodes.Call, (object)AccessTools.Method(typeof(FasterLBoL24), "FasterLBoLCheck3", (Type[])null, (Type[])null))
					.MatchEndForward((CodeMatch[])(object)new CodeMatch[1]
					{
						new CodeMatch((OpCode?)OpCodes.Ldc_R4, (object)0.5f, (string)null)
					})
					.Set(OpCodes.Call, (object)AccessTools.Method(typeof(FasterLBoL24), "FasterLBoLCheck3", (Type[])null, (Type[])null))
					.MatchEndForward((CodeMatch[])(object)new CodeMatch[1]
					{
						new CodeMatch((OpCode?)OpCodes.Ldc_R4, (object)0.3f, (string)null)
					})
					.Set(OpCodes.Call, (object)AccessTools.Method(typeof(FasterLBoL24), "FasterLBoLCheck2", (Type[])null, (Type[])null))
					.MatchEndForward((CodeMatch[])(object)new CodeMatch[1]
					{
						new CodeMatch((OpCode?)OpCodes.Ldc_R4, (object)0.3f, (string)null)
					})
					.Set(OpCodes.Call, (object)AccessTools.Method(typeof(FasterLBoL24), "FasterLBoLCheck2", (Type[])null, (Type[])null))
					.InstructionEnumeration();
			}

			public static float FasterLBoLCheck1()
			{
				return EnableFasterLBoL.Value ? 0.01f : 0.2f;
			}

			public static float FasterLBoLCheck2()
			{
				return EnableFasterLBoL.Value ? 0.01f : 0.3f;
			}

			public static float FasterLBoLCheck3()
			{
				return EnableFasterLBoL.Value ? 0.01f : 0.5f;
			}
		}

		[HarmonyPatch(typeof(RewardPanel), "ShowCardSelection")]
		private class FasterLBoL25
		{
			private static IEnumerable<CodeInstruction> Transpiler(IEnumerable<CodeInstruction> instructions)
			{
				//IL_0003: Unknown result type (might be due to invalid IL or missing references)
				//IL_0025: Unknown result type (might be due to invalid IL or missing references)
				//IL_002b: Expected O, but got Unknown
				//IL_006d: Unknown result type (might be due to invalid IL or missing references)
				//IL_0073: Expected O, but got Unknown
				//IL_00b5: Unknown result type (might be due to invalid IL or missing references)
				//IL_00bb: Expected O, but got Unknown
				//IL_00fd: Unknown result type (might be due to invalid IL or missing references)
				//IL_0103: Expected O, but got Unknown
				//IL_0145: Unknown result type (might be due to invalid IL or missing references)
				//IL_014b: Expected O, but got Unknown
				//IL_018d: Unknown result type (might be due to invalid IL or missing references)
				//IL_0193: Expected O, but got Unknown
				//IL_01d5: Unknown result type (might be due to invalid IL or missing references)
				//IL_01db: Expected O, but got Unknown
				return new CodeMatcher(instructions, (ILGenerator)null).MatchEndForward((CodeMatch[])(object)new CodeMatch[1]
				{
					new CodeMatch((OpCode?)OpCodes.Ldc_R4, (object)0.2f, (string)null)
				}).Set(OpCodes.Call, (object)AccessTools.Method(typeof(FasterLBoL25), "FasterLBoLCheck1", (Type[])null, (Type[])null)).MatchEndForward((CodeMatch[])(object)new CodeMatch[1]
				{
					new CodeMatch((OpCode?)OpCodes.Ldc_R4, (object)0.1f, (string)null)
				})
					.Set(OpCodes.Call, (object)AccessTools.Method(typeof(FasterLBoL25), "FasterLBoLCheck2", (Type[])null, (Type[])null))
					.MatchEndForward((CodeMatch[])(object)new CodeMatch[1]
					{
						new CodeMatch((OpCode?)OpCodes.Ldc_R4, (object)0.05f, (string)null)
					})
					.Set(OpCodes.Call, (object)AccessTools.Method(typeof(FasterLBoL25), "FasterLBoLCheck3", (Type[])null, (Type[])null))
					.MatchEndForward((CodeMatch[])(object)new CodeMatch[1]
					{
						new CodeMatch((OpCode?)OpCodes.Ldc_R4, (object)0.45f, (string)null)
					})
					.Set(OpCodes.Call, (object)AccessTools.Method(typeof(FasterLBoL25), "FasterLBoLCheck4", (Type[])null, (Type[])null))
					.MatchEndForward((CodeMatch[])(object)new CodeMatch[1]
					{
						new CodeMatch((OpCode?)OpCodes.Ldc_R4, (object)0.1f, (string)null)
					})
					.Set(OpCodes.Call, (object)AccessTools.Method(typeof(FasterLBoL25), "FasterLBoLCheck2", (Type[])null, (Type[])null))
					.MatchEndForward((CodeMatch[])(object)new CodeMatch[1]
					{
						new CodeMatch((OpCode?)OpCodes.Ldc_R4, (object)0.05f, (string)null)
					})
					.Set(OpCodes.Call, (object)AccessTools.Method(typeof(FasterLBoL25), "FasterLBoLCheck3", (Type[])null, (Type[])null))
					.MatchEndForward((CodeMatch[])(object)new CodeMatch[1]
					{
						new CodeMatch((OpCode?)OpCodes.Ldc_R4, (object)0.35f, (string)null)
					})
					.Set(OpCodes.Call, (object)AccessTools.Method(typeof(FasterLBoL25), "FasterLBoLCheck5", (Type[])null, (Type[])null))
					.InstructionEnumeration();
			}

			public static float FasterLBoLCheck1()
			{
				return EnableFasterLBoL.Value ? 0.01f : 0.2f;
			}

			public static float FasterLBoLCheck2()
			{
				return EnableFasterLBoL.Value ? 0.01f : 0.1f;
			}

			public static float FasterLBoLCheck3()
			{
				return EnableFasterLBoL.Value ? 0.01f : 0.05f;
			}

			public static float FasterLBoLCheck4()
			{
				return EnableFasterLBoL.Value ? 0.01f : 0.45f;
			}

			public static float FasterLBoLCheck5()
			{
				return EnableFasterLBoL.Value ? 0.01f : 0.35f;
			}
		}

		[HarmonyPatch(/*Could not decode attribute arguments.*/)]
		private class FasterLBoL26
		{
			private static IEnumerable<CodeInstruction> Transpiler(IEnumerable<CodeInstruction> instructions)
			{
				//IL_0003: Unknown result type (might be due to invalid IL or missing references)
				//IL_0025: Unknown result type (might be due to invalid IL or missing references)
				//IL_002b: Expected O, but got Unknown
				//IL_006d: Unknown result type (might be due to invalid IL or missing references)
				//IL_0073: Expected O, but got Unknown
				//IL_00b5: Unknown result type (might be due to invalid IL or missing references)
				//IL_00bb: Expected O, but got Unknown
				return new CodeMatcher(instructions, (ILGenerator)null).MatchEndForward((CodeMatch[])(object)new CodeMatch[1]
				{
					new CodeMatch((OpCode?)OpCodes.Ldc_R4, (object)0.2f, (string)null)
				}).Set(OpCodes.Call, (object)AccessTools.Method(typeof(FasterLBoL26), "FasterLBoLCheck1", (Type[])null, (Type[])null)).MatchEndForward((CodeMatch[])(object)new CodeMatch[1]
				{
					new CodeMatch((OpCode?)OpCodes.Ldc_R4, (object)0.5f, (string)null)
				})
					.Set(OpCodes.Call, (object)AccessTools.Method(typeof(FasterLBoL26), "FasterLBoLCheck2", (Type[])null, (Type[])null))
					.MatchEndForward((CodeMatch[])(object)new CodeMatch[1]
					{
						new CodeMatch((OpCode?)OpCodes.Ldc_R4, (object)0.5f, (string)null)
					})
					.Set(OpCodes.Call, (object)AccessTools.Method(typeof(FasterLBoL26), "FasterLBoLCheck2", (Type[])null, (Type[])null))
					.InstructionEnumeration();
			}

			public static float FasterLBoLCheck1()
			{
				return EnableFasterLBoL.Value ? 0.01f : 0.2f;
			}

			public static float FasterLBoLCheck2()
			{
				return EnableFasterLBoL.Value ? 0.01f : 0.5f;
			}
		}

		[HarmonyPatch(/*Could not decode attribute arguments.*/)]
		private class FasterLBoL27
		{
			private static IEnumerable<CodeInstruction> Transpiler(IEnumerable<CodeInstruction> instructions)
			{
				//IL_0003: Unknown result type (might be due to invalid IL or missing references)
				//IL_0025: Unknown result type (might be due to invalid IL or missing references)
				//IL_002b: Expected O, but got Unknown
				//IL_006d: Unknown result type (might be due to invalid IL or missing references)
				//IL_0073: Expected O, but got Unknown
				//IL_00b5: Unknown result type (might be due to invalid IL or missing references)
				//IL_00bb: Expected O, but got Unknown
				return new CodeMatcher(instructions, (ILGenerator)null).MatchEndForward((CodeMatch[])(object)new CodeMatch[1]
				{
					new CodeMatch((OpCode?)OpCodes.Ldc_R4, (object)0.5f, (string)null)
				}).Set(OpCodes.Call, (object)AccessTools.Method(typeof(FasterLBoL27), "FasterLBoLCheck", (Type[])null, (Type[])null)).MatchEndForward((CodeMatch[])(object)new CodeMatch[1]
				{
					new CodeMatch((OpCode?)OpCodes.Ldc_R4, (object)0.5f, (string)null)
				})
					.Set(OpCodes.Call, (object)AccessTools.Method(typeof(FasterLBoL27), "FasterLBoLCheck", (Type[])null, (Type[])null))
					.MatchEndForward((CodeMatch[])(object)new CodeMatch[1]
					{
						new CodeMatch((OpCode?)OpCodes.Ldc_R4, (object)0.5f, (string)null)
					})
					.Set(OpCodes.Call, (object)AccessTools.Method(typeof(FasterLBoL27), "FasterLBoLCheck", (Type[])null, (Type[])null))
					.InstructionEnumeration();
			}

			public static float FasterLBoLCheck()
			{
				return EnableFasterLBoL.Value ? 0.01f : 0.5f;
			}
		}

		[HarmonyPatch(/*Could not decode attribute arguments.*/)]
		private class FasterLBoL28
		{
			private static IEnumerable<CodeInstruction> Transpiler(IEnumerable<CodeInstruction> instructions)
			{
				//IL_0003: Unknown result type (might be due to invalid IL or missing references)
				//IL_0025: Unknown result type (might be due to invalid IL or missing references)
				//IL_002b: Expected O, but got Unknown
				//IL_006d: Unknown result type (might be due to invalid IL or missing references)
				//IL_0073: Expected O, but got Unknown
				return new CodeMatcher(instructions, (ILGenerator)null).MatchEndForward((CodeMatch[])(object)new CodeMatch[1]
				{
					new CodeMatch((OpCode?)OpCodes.Ldc_R4, (object)4f, (string)null)
				}).Set(OpCodes.Call, (object)AccessTools.Method(typeof(FasterLBoL28), "FasterLBoLCheck1", (Type[])null, (Type[])null)).MatchEndForward((CodeMatch[])(object)new CodeMatch[1]
				{
					new CodeMatch((OpCode?)OpCodes.Ldc_R4, (object)5f, (string)null)
				})
					.Set(OpCodes.Call, (object)AccessTools.Method(typeof(FasterLBoL28), "FasterLBoLCheck2", (Type[])null, (Type[])null))
					.InstructionEnumeration();
			}

			public static float FasterLBoLCheck1()
			{
				return EnableFasterLBoL.Value ? 0.01f : 4f;
			}

			public static float FasterLBoLCheck2()
			{
				return EnableFasterLBoL.Value ? 0.01f : 5f;
			}
		}

		[HarmonyPatch(/*Could not decode attribute arguments.*/)]
		private class FasterLBoL29
		{
			private static IEnumerable<CodeInstruction> Transpiler(IEnumerable<CodeInstruction> instructions)
			{
				//IL_0003: Unknown result type (might be due to invalid IL or missing references)
				//IL_0025: Unknown result type (might be due to invalid IL or missing references)
				//IL_002b: Expected O, but got Unknown
				return new CodeMatcher(instructions, (ILGenerator)null).MatchEndForward((CodeMatch[])(object)new CodeMatch[1]
				{
					new CodeMatch((OpCode?)OpCodes.Ldc_R4, (object)0.5f, (string)null)
				}).Set(OpCodes.Call, (object)AccessTools.Method(typeof(FasterLBoL29), "FasterLBoLCheck", (Type[])null, (Type[])null)).InstructionEnumeration();
			}

			public static float FasterLBoLCheck()
			{
				return EnableFasterLBoL.Value ? 0.01f : 0.5f;
			}
		}

		[HarmonyPatch(typeof(MapTransition), "Animate")]
		private class FasterLBoL30
		{
			private static void Prefix(MapTransition __instance, ref Transform target, ref bool isOut, ref Action onComplete)
			{
				__instance.duration = (EnableFasterLBoL.Value ? 0.01f : __instance.duration);
			}
		}

		[HarmonyPatch(typeof(SystemBoard), "CreateMoneyGainVisual")]
		private class FasterLBoL31
		{
			private static void Prefix(SystemBoard __instance, ref Vector3 from, ref int money, ref Transform parent, ref float duration)
			{
				duration = (EnableFasterLBoL.Value ? 0.01f : duration);
			}
		}

		[HarmonyPatch(/*Could not decode attribute arguments.*/)]
		private class FasterLBoL32
		{
			private static IEnumerable<CodeInstruction> Transpiler(IEnumerable<CodeInstruction> instructions)
			{
				//IL_0003: Unknown result type (might be due to invalid IL or missing references)
				//IL_0025: Unknown result type (might be due to invalid IL or missing references)
				//IL_002b: Expected O, but got Unknown
				//IL_006d: Unknown result type (might be due to invalid IL or missing references)
				//IL_0073: Expected O, but got Unknown
				return new CodeMatcher(instructions, (ILGenerator)null).MatchEndForward((CodeMatch[])(object)new CodeMatch[1]
				{
					new CodeMatch((OpCode?)OpCodes.Ldc_R4, (object)1f, (string)null)
				}).Set(OpCodes.Call, (object)AccessTools.Method(typeof(FasterLBoL32), "FasterLBoLCheck", (Type[])null, (Type[])null)).MatchEndForward((CodeMatch[])(object)new CodeMatch[1]
				{
					new CodeMatch((OpCode?)OpCodes.Ldc_R4, (object)1f, (string)null)
				})
					.Set(OpCodes.Call, (object)AccessTools.Method(typeof(FasterLBoL32), "FasterLBoLCheck", (Type[])null, (Type[])null))
					.InstructionEnumeration();
			}

			public static float FasterLBoLCheck()
			{
				return EnableFasterLBoL.Value ? 0.01f : 1f;
			}
		}

		[HarmonyPatch(/*Could not decode attribute arguments.*/)]
		private class FasterLBoL33
		{
			private static IEnumerable<CodeInstruction> Transpiler(IEnumerable<CodeInstruction> instructions)
			{
				//IL_0003: Unknown result type (might be due to invalid IL or missing references)
				//IL_0025: Unknown result type (might be due to invalid IL or missing references)
				//IL_002b: Expected O, but got Unknown
				return new CodeMatcher(instructions, (ILGenerator)null).MatchEndForward((CodeMatch[])(object)new CodeMatch[1]
				{
					new CodeMatch((OpCode?)OpCodes.Ldc_R4, (object)1.5f, (string)null)
				}).Set(OpCodes.Call, (object)AccessTools.Method(typeof(FasterLBoL33), "FasterLBoLCheck", (Type[])null, (Type[])null)).InstructionEnumeration();
			}

			public static float FasterLBoLCheck()
			{
				return EnableFasterLBoL.Value ? 0.01f : 1.5f;
			}
		}

		[HarmonyPatch(/*Could not decode attribute arguments.*/)]
		private class FasterLBoL34
		{
			private static IEnumerable<CodeInstruction> Transpiler(IEnumerable<CodeInstruction> instructions)
			{
				//IL_0003: Unknown result type (might be due to invalid IL or missing references)
				//IL_0025: Unknown result type (might be due to invalid IL or missing references)
				//IL_002b: Expected O, but got Unknown
				//IL_006d: Unknown result type (might be due to invalid IL or missing references)
				//IL_0073: Expected O, but got Unknown
				//IL_00b5: Unknown result type (might be due to invalid IL or missing references)
				//IL_00bb: Expected O, but got Unknown
				return new CodeMatcher(instructions, (ILGenerator)null).MatchEndForward((CodeMatch[])(object)new CodeMatch[1]
				{
					new CodeMatch((OpCode?)OpCodes.Ldc_R4, (object)0.2f, (string)null)
				}).Set(OpCodes.Call, (object)AccessTools.Method(typeof(FasterLBoL34), "FasterLBoLCheck1", (Type[])null, (Type[])null)).MatchEndForward((CodeMatch[])(object)new CodeMatch[1]
				{
					new CodeMatch((OpCode?)OpCodes.Ldc_R4, (object)0.2f, (string)null)
				})
					.Set(OpCodes.Call, (object)AccessTools.Method(typeof(FasterLBoL34), "FasterLBoLCheck1", (Type[])null, (Type[])null))
					.MatchEndForward((CodeMatch[])(object)new CodeMatch[1]
					{
						new CodeMatch((OpCode?)OpCodes.Ldc_R4, (object)0.1f, (string)null)
					})
					.Set(OpCodes.Call, (object)AccessTools.Method(typeof(FasterLBoL34), "FasterLBoLCheck2", (Type[])null, (Type[])null))
					.InstructionEnumeration();
			}

			public static float FasterLBoLCheck1()
			{
				return EnableFasterLBoL.Value ? 0.01f : 0.2f;
			}

			public static float FasterLBoLCheck2()
			{
				return EnableFasterLBoL.Value ? 0.01f : 0.1f;
			}
		}

		[HarmonyPatch(/*Could not decode attribute arguments.*/)]
		private class FasterLBoL35
		{
			private static IEnumerable<CodeInstruction> Transpiler(IEnumerable<CodeInstruction> instructions)
			{
				//IL_0003: Unknown result type (might be due to invalid IL or missing references)
				//IL_0025: Unknown result type (might be due to invalid IL or missing references)
				//IL_002b: Expected O, but got Unknown
				//IL_006d: Unknown result type (might be due to invalid IL or missing references)
				//IL_0073: Expected O, but got Unknown
				return new CodeMatcher(instructions, (ILGenerator)null).MatchEndForward((CodeMatch[])(object)new CodeMatch[1]
				{
					new CodeMatch((OpCode?)OpCodes.Ldc_R4, (object)0.2f, (string)null)
				}).Set(OpCodes.Call, (object)AccessTools.Method(typeof(FasterLBoL35), "FasterLBoLCheck1", (Type[])null, (Type[])null)).MatchEndForward((CodeMatch[])(object)new CodeMatch[1]
				{
					new CodeMatch((OpCode?)OpCodes.Ldc_R4, (object)0.1f, (string)null)
				})
					.Set(OpCodes.Call, (object)AccessTools.Method(typeof(FasterLBoL35), "FasterLBoLCheck2", (Type[])null, (Type[])null))
					.InstructionEnumeration();
			}

			public static float FasterLBoLCheck1()
			{
				return EnableFasterLBoL.Value ? 0.01f : 0.2f;
			}

			public static float FasterLBoLCheck2()
			{
				return EnableFasterLBoL.Value ? 0.01f : 0.1f;
			}
		}

		[HarmonyPatch(/*Could not decode attribute arguments.*/)]
		private class FasterLBoL36
		{
			private static IEnumerable<CodeInstruction> Transpiler(IEnumerable<CodeInstruction> instructions)
			{
				//IL_0003: Unknown result type (might be due to invalid IL or missing references)
				//IL_0025: Unknown result type (might be due to invalid IL or missing references)
				//IL_002b: Expected O, but got Unknown
				//IL_006d: Unknown result type (might be due to invalid IL or missing references)
				//IL_0073: Expected O, but got Unknown
				//IL_00b5: Unknown result type (might be due to invalid IL or missing references)
				//IL_00bb: Expected O, but got Unknown
				return new CodeMatcher(instructions, (ILGenerator)null).MatchEndForward((CodeMatch[])(object)new CodeMatch[1]
				{
					new CodeMatch((OpCode?)OpCodes.Ldc_R4, (object)0.2f, (string)null)
				}).Set(OpCodes.Call, (object)AccessTools.Method(typeof(FasterLBoL36), "FasterLBoLCheck1", (Type[])null, (Type[])null)).MatchEndForward((CodeMatch[])(object)new CodeMatch[1]
				{
					new CodeMatch((OpCode?)OpCodes.Ldc_R4, (object)0.2f, (string)null)
				})
					.Set(OpCodes.Call, (object)AccessTools.Method(typeof(FasterLBoL36), "FasterLBoLCheck1", (Type[])null, (Type[])null))
					.MatchEndForward((CodeMatch[])(object)new CodeMatch[1]
					{
						new CodeMatch((OpCode?)OpCodes.Ldc_R4, (object)0.1f, (string)null)
					})
					.Set(OpCodes.Call, (object)AccessTools.Method(typeof(FasterLBoL36), "FasterLBoLCheck2", (Type[])null, (Type[])null))
					.InstructionEnumeration();
			}

			public static float FasterLBoLCheck1()
			{
				return EnableFasterLBoL.Value ? 0.01f : 0.2f;
			}

			public static float FasterLBoLCheck2()
			{
				return EnableFasterLBoL.Value ? 0.01f : 0.1f;
			}
		}

		[HarmonyPatch(/*Could not decode attribute arguments.*/)]
		private class FasterLBoL37
		{
			private static IEnumerable<CodeInstruction> Transpiler(IEnumerable<CodeInstruction> instructions)
			{
				//IL_0003: Unknown result type (might be due to invalid IL or missing references)
				//IL_0025: Unknown result type (might be due to invalid IL or missing references)
				//IL_002b: Expected O, but got Unknown
				return new CodeMatcher(instructions, (ILGenerator)null).MatchEndForward((CodeMatch[])(object)new CodeMatch[1]
				{
					new CodeMatch((OpCode?)OpCodes.Ldc_R4, (object)0.1f, (string)null)
				}).Set(OpCodes.Call, (object)AccessTools.Method(typeof(FasterLBoL37), "FasterLBoLCheck", (Type[])null, (Type[])null)).InstructionEnumeration();
			}

			public static float FasterLBoLCheck()
			{
				return EnableFasterLBoL.Value ? 0.01f : 0.1f;
			}
		}

		[HarmonyPatch(/*Could not decode attribute arguments.*/)]
		private class FasterLBoL38
		{
			private static bool Prefix(ref float __result)
			{
				if (EnableFasterLBoL.Value)
				{
					__result = 0.01f;
					return false;
				}
				return true;
			}
		}

		[HarmonyPatch(/*Could not decode attribute arguments.*/)]
		private class FasterLBoL39
		{
			private static bool Prefix(ref float __result)
			{
				if (EnableFasterLBoL.Value)
				{
					__result = 0.01f;
					return false;
				}
				return true;
			}
		}

		[HarmonyPatch(/*Could not decode attribute arguments.*/)]
		private class FasterLBoL40
		{
			private static IEnumerable<CodeInstruction> Transpiler(IEnumerable<CodeInstruction> instructions)
			{
				//IL_0003: Unknown result type (might be due to invalid IL or missing references)
				//IL_0025: Unknown result type (might be due to invalid IL or missing references)
				//IL_002b: Expected O, but got Unknown
				//IL_006d: Unknown result type (might be due to invalid IL or missing references)
				//IL_0073: Expected O, but got Unknown
				//IL_00b5: Unknown result type (might be due to invalid IL or missing references)
				//IL_00bb: Expected O, but got Unknown
				//IL_00fd: Unknown result type (might be due to invalid IL or missing references)
				//IL_0103: Expected O, but got Unknown
				//IL_0145: Unknown result type (might be due to invalid IL or missing references)
				//IL_014b: Expected O, but got Unknown
				//IL_018d: Unknown result type (might be due to invalid IL or missing references)
				//IL_0193: Expected O, but got Unknown
				//IL_01d5: Unknown result type (might be due to invalid IL or missing references)
				//IL_01db: Expected O, but got Unknown
				//IL_021d: Unknown result type (might be due to invalid IL or missing references)
				//IL_0223: Expected O, but got Unknown
				//IL_0265: Unknown result type (might be due to invalid IL or missing references)
				//IL_026b: Expected O, but got Unknown
				//IL_02ad: Unknown result type (might be due to invalid IL or missing references)
				//IL_02b3: Expected O, but got Unknown
				//IL_02f5: Unknown result type (might be due to invalid IL or missing references)
				//IL_02fb: Expected O, but got Unknown
				return new CodeMatcher(instructions, (ILGenerator)null).MatchEndForward((CodeMatch[])(object)new CodeMatch[1]
				{
					new CodeMatch((OpCode?)OpCodes.Ldc_R4, (object)0.3f, (string)null)
				}).Set(OpCodes.Call, (object)AccessTools.Method(typeof(FasterLBoL40), "FasterLBoLCheck1", (Type[])null, (Type[])null)).MatchEndForward((CodeMatch[])(object)new CodeMatch[1]
				{
					new CodeMatch((OpCode?)OpCodes.Ldc_R4, (object)0.3f, (string)null)
				})
					.Set(OpCodes.Call, (object)AccessTools.Method(typeof(FasterLBoL40), "FasterLBoLCheck1", (Type[])null, (Type[])null))
					.MatchEndForward((CodeMatch[])(object)new CodeMatch[1]
					{
						new CodeMatch((OpCode?)OpCodes.Ldc_R4, (object)0.4f, (string)null)
					})
					.Set(OpCodes.Call, (object)AccessTools.Method(typeof(FasterLBoL40), "FasterLBoLCheck2", (Type[])null, (Type[])null))
					.MatchEndForward((CodeMatch[])(object)new CodeMatch[1]
					{
						new CodeMatch((OpCode?)OpCodes.Ldc_R4, (object)0.4f, (string)null)
					})
					.Set(OpCodes.Call, (object)AccessTools.Method(typeof(FasterLBoL40), "FasterLBoLCheck2", (Type[])null, (Type[])null))
					.MatchEndForward((CodeMatch[])(object)new CodeMatch[1]
					{
						new CodeMatch((OpCode?)OpCodes.Ldc_R4, (object)0.4f, (string)null)
					})
					.Set(OpCodes.Call, (object)AccessTools.Method(typeof(FasterLBoL40), "FasterLBoLCheck2", (Type[])null, (Type[])null))
					.MatchEndForward((CodeMatch[])(object)new CodeMatch[1]
					{
						new CodeMatch((OpCode?)OpCodes.Ldc_R4, (object)0.2f, (string)null)
					})
					.Set(OpCodes.Call, (object)AccessTools.Method(typeof(FasterLBoL40), "FasterLBoLCheck3", (Type[])null, (Type[])null))
					.MatchEndForward((CodeMatch[])(object)new CodeMatch[1]
					{
						new CodeMatch((OpCode?)OpCodes.Ldc_R4, (object)0.2f, (string)null)
					})
					.Set(OpCodes.Call, (object)AccessTools.Method(typeof(FasterLBoL40), "FasterLBoLCheck3", (Type[])null, (Type[])null))
					.MatchEndForward((CodeMatch[])(object)new CodeMatch[1]
					{
						new CodeMatch((OpCode?)OpCodes.Ldc_R4, (object)0.2f, (string)null)
					})
					.Set(OpCodes.Call, (object)AccessTools.Method(typeof(FasterLBoL40), "FasterLBoLCheck3", (Type[])null, (Type[])null))
					.MatchEndForward((CodeMatch[])(object)new CodeMatch[1]
					{
						new CodeMatch((OpCode?)OpCodes.Ldc_R4, (object)0.2f, (string)null)
					})
					.Set(OpCodes.Call, (object)AccessTools.Method(typeof(FasterLBoL40), "FasterLBoLCheck3", (Type[])null, (Type[])null))
					.MatchEndForward((CodeMatch[])(object)new CodeMatch[1]
					{
						new CodeMatch((OpCode?)OpCodes.Ldc_R4, (object)0.4f, (string)null)
					})
					.Set(OpCodes.Call, (object)AccessTools.Method(typeof(FasterLBoL40), "FasterLBoLCheck2", (Type[])null, (Type[])null))
					.MatchEndForward((CodeMatch[])(object)new CodeMatch[1]
					{
						new CodeMatch((OpCode?)OpCodes.Ldc_R4, (object)2f, (string)null)
					})
					.Set(OpCodes.Call, (object)AccessTools.Method(typeof(FasterLBoL40), "FasterLBoLCheck4", (Type[])null, (Type[])null))
					.InstructionEnumeration();
			}

			public static float FasterLBoLCheck1()
			{
				return EnableFasterLBoL.Value ? 0.01f : 0.3f;
			}

			public static float FasterLBoLCheck2()
			{
				return EnableFasterLBoL.Value ? 0.01f : 0.4f;
			}

			public static float FasterLBoLCheck3()
			{
				return EnableFasterLBoL.Value ? 0.01f : 0.2f;
			}

			public static float FasterLBoLCheck4()
			{
				return EnableFasterLBoL.Value ? 0.01f : 2f;
			}
		}

		[HarmonyPatch(typeof(SettingPanel), "OnShowing")]
		private class FasterLBoL41
		{
			[CompilerGenerated]
			private sealed class <>c__DisplayClass0_0
			{
				public SettingPanel __instance;
			}

			private static void Postfix(SettingPanel __instance, ref SettingsPanelType payload)
			{
				<>c__DisplayClass0_0 CS$<>8__locals0 = new <>c__DisplayClass0_0();
				CS$<>8__locals0.__instance = __instance;
				((MonoBehaviour)CS$<>8__locals0.__instance).StartCoroutine(coroutine());
				[IteratorStateMachine(typeof(<>c__DisplayClass0_0.<<Postfix>g__coroutine|0>d))]
				IEnumerator coroutine()
				{
					//yield-return decompiler failed: Unexpected instruction in Iterator.Dispose()
					return new <>c__DisplayClass0_0.<<Postfix>g__coroutine|0>d(0)
					{
						<>4__this = CS$<>8__locals0
					};
				}
			}

			private static void SetSkipDanmaku(bool isOn)
			{
				SkipDanmaku.Value = isOn;
			}

			private static void SetFasterLBoL(bool isOn)
			{
				EnableFasterLBoL.Value = isOn;
			}
		}

		[HarmonyPatch(typeof(SettingPanel), "OnHiding")]
		private class FasterLBoL42
		{
			private static void Postfix(SettingPanel __instance)
			{
				if ((Object)(object)((Component)FasterLBoLSwitch).gameObject != (Object)null)
				{
					Object.Destroy((Object)(object)((Component)FasterLBoLSwitch).gameObject);
				}
				if ((Object)(object)((Component)SkipDanmakuSwitch).gameObject != (Object)null)
				{
					Object.Destroy((Object)(object)((Component)SkipDanmakuSwitch).gameObject);
				}
			}
		}

		[HarmonyPatch(/*Could not decode attribute arguments.*/)]
		private class FasterLBoL43
		{
			private static IEnumerable<CodeInstruction> Transpiler(IEnumerable<CodeInstruction> instructions)
			{
				//IL_0003: Unknown result type (might be due to invalid IL or missing references)
				//IL_001c: Unknown result type (might be due to invalid IL or missing references)
				//IL_0022: Expected O, but got Unknown
				//IL_003b: Unknown result type (might be due to invalid IL or missing references)
				//IL_0041: Expected O, but got Unknown
				return new CodeMatcher(instructions, (ILGenerator)null).MatchEndForward((CodeMatch[])(object)new CodeMatch[1]
				{
					new CodeMatch((OpCode?)OpCodes.Ldc_R4, (object)null, (string)null)
				}).MatchEndForward((CodeMatch[])(object)new CodeMatch[1]
				{
					new CodeMatch((OpCode?)OpCodes.Ldc_R4, (object)null, (string)null)
				}).Set(OpCodes.Call, (object)AccessTools.Method(typeof(FasterLBoL43), "FasterLBoLCheck", (Type[])null, (Type[])null))
					.InstructionEnumeration();
			}

			public static float FasterLBoLCheck()
			{
				return EnableFasterLBoL.Value ? 0.01f : 0.2f;
			}
		}

		[HarmonyPatch(typeof(PlayBoard), "PlayManaGainEffect")]
		private class FasterLBoL44
		{
			private static void Postfix(ref float __result)
			{
				if (EnableFasterLBoL.Value)
				{
					__result = 0.01f;
				}
			}
		}

		[HarmonyPatch(typeof(PlayBoard), "PlayManaConsumeEffect")]
		private class FasterLBoL45
		{
			private static void Postfix(ref float __result)
			{
				if (EnableFasterLBoL.Value)
				{
					__result = 0.01f;
				}
			}
		}

		[HarmonyPatch(typeof(PlayBoard), "PlayManaLoseEffect")]
		private class FasterLBoL46
		{
			private static void Postfix(ref float __result)
			{
				if (EnableFasterLBoL.Value)
				{
					__result = 0.01f;
				}
			}
		}

		[HarmonyPatch(/*Could not decode attribute arguments.*/)]
		private class FasterLBoL47
		{
			private static IEnumerable<CodeInstruction> Transpiler(IEnumerable<CodeInstruction> instructions)
			{
				//IL_0003: Unknown result type (might be due to invalid IL or missing references)
				//IL_0025: Unknown result type (might be due to invalid IL or missing references)
				//IL_002b: Expected O, but got Unknown
				return new CodeMatcher(instructions, (ILGenerator)null).MatchEndForward((CodeMatch[])(object)new CodeMatch[1]
				{
					new CodeMatch((OpCode?)OpCodes.Ldc_R4, (object)1.2f, (string)null)
				}).Set(OpCodes.Call, (object)AccessTools.Method(typeof(FasterLBoL47), "FasterLBoLCheck", (Type[])null, (Type[])null)).InstructionEnumeration();
			}

			public static float FasterLBoLCheck()
			{
				return EnableFasterLBoL.Value ? 0.01f : 1.2f;
			}
		}

		[HarmonyPatch(/*Could not decode attribute arguments.*/)]
		private class FasterLBoL48
		{
			private static bool Prefix(ref float __result)
			{
				if (EnableFasterLBoL.Value)
				{
					__result = 0.01f;
					return false;
				}
				return true;
			}
		}

		[HarmonyPatch(typeof(MainMenuPanel), "StartMenuButtonAnim")]
		private class FasterLBoL49
		{
			private static void Prefix(ref float delay, ref int menuType)
			{
				delay = (EnableFasterLBoL.Value ? 0.01f : delay);
			}

			private static IEnumerable<CodeInstruction> Transpiler(IEnumerable<CodeInstruction> instructions)
			{
				//IL_0003: Unknown result type (might be due to invalid IL or missing references)
				//IL_0025: Unknown result type (might be due to invalid IL or missing references)
				//IL_002b: Expected O, but got Unknown
				//IL_006d: Unknown result type (might be due to invalid IL or missing references)
				//IL_0073: Expected O, but got Unknown
				//IL_00b5: Unknown result type (might be due to invalid IL or missing references)
				//IL_00bb: Expected O, but got Unknown
				return new CodeMatcher(instructions, (ILGenerator)null).MatchEndForward((CodeMatch[])(object)new CodeMatch[1]
				{
					new CodeMatch((OpCode?)OpCodes.Ldc_R4, (object)0.4f, (string)null)
				}).Set(OpCodes.Call, (object)AccessTools.Method(typeof(FasterLBoL49), "FasterLBoLCheck1", (Type[])null, (Type[])null)).MatchEndForward((CodeMatch[])(object)new CodeMatch[1]
				{
					new CodeMatch((OpCode?)OpCodes.Ldc_R4, (object)0.6f, (string)null)
				})
					.Set(OpCodes.Call, (object)AccessTools.Method(typeof(FasterLBoL49), "FasterLBoLCheck2", (Type[])null, (Type[])null))
					.MatchEndForward((CodeMatch[])(object)new CodeMatch[1]
					{
						new CodeMatch((OpCode?)OpCodes.Ldc_R4, (object)0.1f, (string)null)
					})
					.Set(OpCodes.Call, (object)AccessTools.Method(typeof(FasterLBoL49), "FasterLBoLCheck3", (Type[])null, (Type[])null))
					.InstructionEnumeration();
			}

			public static float FasterLBoLCheck1()
			{
				return EnableFasterLBoL.Value ? 0.01f : 0.4f;
			}

			public static float FasterLBoLCheck2()
			{
				return EnableFasterLBoL.Value ? 0.01f : 0.6f;
			}

			public static float FasterLBoLCheck3()
			{
				return EnableFasterLBoL.Value ? 0.01f : 0.1f;
			}
		}

		[HarmonyPatch]
		private class FasterLBoL50
		{
			[CompilerGenerated]
			private sealed class <TargetMethods>d__0 : IEnumerable<MethodBase>, IEnumerable, IEnumerator<MethodBase>, IEnumerator, IDisposable
			{
				private int <>1__state;

				private MethodBase <>2__current;

				private int <>l__initialThreadId;

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

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

				[DebuggerHidden]
				public <TargetMethods>d__0(int <>1__state)
				{
					this.<>1__state = <>1__state;
					<>l__initialThreadId = Environment.CurrentManagedThreadId;
				}

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

				private bool MoveNext()
				{
					switch (<>1__state)
					{
					default:
						return false;
					case 0:
						<>1__state = -1;
						<>2__current = AccessTools.Method(typeof(SelectCardPanel).GetNestedTypes(AccessTools.allDeclared).Single((Type t) => t.Name.Contains("<ViewMiniSelect>d__70")), "MoveNext", (Type[])null, (Type[])null);
						<>1__state = 1;
						return true;
					case 1:
						<>1__state = -1;
						return false;
					}
				}

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

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

				[DebuggerHidden]
				IEnumerator<MethodBase> IEnumerable<MethodBase>.GetEnumerator()
				{
					if (<>1__state == -2 && <>l__initialThreadId == Environment.CurrentManagedThreadId)
					{
						<>1__state = 0;
						return this;
					}
					return new <TargetMethods>d__0(0);
				}

				[DebuggerHidden]
				IEnumerator IEnumerable.GetEnumerator()
				{
					return ((IEnumerable<MethodBase>)this).GetEnumerator();
				}
			}

			[IteratorStateMachine(typeof(<TargetMethods>d__0))]
			private static IEnumerable<MethodBase> TargetMethods()
			{
				//yield-return decompiler failed: Unexpected instruction in Iterator.Dispose()
				return new <TargetMethods>d__0(-2);
			}

			private static IEnumerable<CodeInstruction> Transpiler(IEnumerable<CodeInstruction> instructions)
			{
				//IL_0003: Unknown result type (might be due to invalid IL or missing references)
				//IL_0025: Unknown result type (might be due to invalid IL or missing references)
				//IL_002b: Expected O, but got Unknown
				//IL_006d: Unknown result type (might be due to invalid IL or missing references)
				//IL_0073: Expected O, but got Unknown
				//IL_00b5: Unknown result type (might be due to invalid IL or missing references)
				//IL_00bb: Expected O, but got Unknown
				return new CodeMatcher(instructions, (ILGenerator)null).MatchEndForward((CodeMatch[])(object)new CodeMatch[1]
				{
					new CodeMatch((OpCode?)OpCodes.Ldc_R4, (object)0.2f, (string)null)
				}).Set(OpCodes.Call, (object)AccessTools.Method(typeof(FasterLBoL50), "FasterLBoLCheck1", (Type[])null, (Type[])null)).MatchEndForward((CodeMatch[])(object)new CodeMatch[1]
				{
					new CodeMatch((OpCode?)OpCodes.Ldc_R4, (object)0.4f, (string)null)
				})
					.Set(OpCodes.Call, (object)AccessTools.Method(typeof(FasterLBoL50), "FasterLBoLCheck2", (Type[])null, (Type[])null))
					.MatchEndForward((CodeMatch[])(object)new CodeMatch[1]
					{
						new CodeMatch((OpCode?)OpCodes.Ldc_R4, (object)0.2f, (string)null)
					})
					.Set(OpCodes.Call, (object)AccessTools.Method(typeof(FasterLBoL50), "FasterLBoLCheck1", (Type[])null, (Type[])null))
					.InstructionEnumeration();
			}

			public static float FasterLBoLCheck1()
			{
				return EnableFasterLBoL.Value ? 0.01f : 0.2f;
			}

			public static float FasterLBoLCheck2()
			{
				return EnableFasterLBoL.Value ? 0.01f : 0.4f;
			}
		}

		[HarmonyPatch]
		private class FasterLBoL51
		{
			[CompilerGenerated]
			private sealed class <TargetMethods>d__0 : IEnumerable<MethodBase>, IEnumerable, IEnumerator<MethodBase>, IEnumerator, IDisposable
			{
				private int <>1__state;

				private MethodBase <>2__current;

				private int <>l__initialThreadId;

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

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

				[DebuggerHidden]
				public <TargetMethods>d__0(int <>1__state)
				{
					this.<>1__state = <>1__state;
					<>l__initialThreadId = Environment.CurrentManagedThreadId;
				}

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

				private bool MoveNext()
				{
					switch (<>1__state)
					{
					default:
						return false;
					case 0:
						<>1__state = -1;
						<>2__current = AccessTools.Method(typeof(SelectCardPanel).GetNestedTypes(AccessTools.allDeclared).Single((Type t) => t.Name.Contains("<>c__DisplayClass70_1")), "<ViewMiniSelect>b__1", (Type[])null, (Type[])null);
						<>1__state = 1;
						return true;
					case 1:
						<>1__state = -1;
						return false;
					}
				}

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

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

				[DebuggerHidden]
				IEnumerator<MethodBase> IEnumerable<MethodBase>.GetEnumerator()
				{
					if (<>1__state == -2 && <>l__initialThreadId == Environment.CurrentManagedThreadId)
					{
						<>1__state = 0;
						return this;
					}
					return new <TargetMethods>d__0(0);
				}

				[DebuggerHidden]
				IEnumerator IEnumerable.GetEnumerator()
				{
					return ((IEnumerable<MethodBase>)this).GetEnumerator();
				}
			}

			[IteratorStateMachine(typeof(<TargetMethods>d__0))]
			private static IEnumerable<MethodBase> TargetMethods()
			{
				//yield-return decompiler failed: Unexpected instruction in Iterator.Dispose()
				return new <TargetMethods>d__0(-2);
			}

			private static IEnumerable<CodeInstruction> Transpiler(IEnumerable<CodeInstruction> instructions, ILGenerator generator)
			{
				//IL_0003: Unknown result type (might be due to invalid IL or missing references)
				//IL_0025: Unknown result type (might be due to invalid IL or missing references)
				//IL_002b: Expected O, but got Unknown
				//IL_006d: Unknown result type (might be due to invalid IL or missing references)
				//IL_0073: Expected O, but got Unknown
				//IL_00b5: Unknown result type (might be due to invalid IL or missing references)
				//IL_00bb: Expected O, but got Unknown
				//IL_00fd: Unknown result type (might be due to invalid IL or missing references)
				//IL_0103: Expected O, but got Unknown
				//IL_0145: Unknown result type (might be due to invalid IL or missing references)
				//IL_014b: Expected O, but got Unknown
				//IL_018d: Unknown result type (might be due to invalid IL or missing references)
				//IL_0193: Expected O, but got Unknown
				return new CodeMatcher(instructions, (ILGenerator)null).MatchEndForward((CodeMatch[])(object)new CodeMatch[1]
				{
					new CodeMatch((OpCode?)OpCodes.Ldc_R4, (object)0.1f, (string)null)
				}).Set(OpCodes.Call, (object)AccessTools.Method(typeof(FasterLBoL51), "FasterLBoLCheck1", (Type[])null, (Type[])null)).MatchEndForward((CodeMatch[])(object)new CodeMatch[1]
				{
					new CodeMatch((OpCode?)OpCodes.Ldc_R4, (object)0.05f, (string)null)
				})
					.Set(OpCodes.Call, (object)AccessTools.Method(typeof(FasterLBoL51), "FasterLBoLCheck2", (Type[])null, (Type[])null))
					.MatchEndForward((CodeMatch[])(object)new CodeMatch[1]
					{
						new CodeMatch((OpCode?)OpCodes.Ldc_R4, (object)0.45f, (string)null)
					})
					.Set(OpCodes.Call, (object)AccessTools.Method(typeof(FasterLBoL51), "FasterLBoLCheck3", (Type[])null, (Type[])null))
					.MatchEndForward((CodeMatch[])(object)new CodeMatch[1]
					{
						new CodeMatch((OpCode?)OpCodes.Ldc_R4, (object)0.1f, (string)null)
					})
					.Set(OpCodes.Call, (object)AccessTools.Method(typeof(FasterLBoL51), "FasterLBoLCheck1", (Type[])null, (Type[])null))
					.MatchEndForward((CodeMatch[])(object)new CodeMatch[1]
					{
						new CodeMatch((OpCode?)OpCodes.Ldc_R4, (object)0.05f, (string)null)
					})
					.Set(OpCodes.Call, (object)AccessTools.Method(typeof(FasterLBoL51), "FasterLBoLCheck2", (Type[])null, (Type[])null))
					.MatchEndForward((CodeMatch[])(object)new CodeMatch[1]
					{
						new CodeMatch((OpCode?)OpCodes.Ldc_R4, (object)0.35f, (string)null)
					})
					.Set(OpCodes.Call, (object)AccessTools.Method(typeof(FasterLBoL51), "FasterLBoLCheck4", (Type[])null, (Type[])null))
					.InstructionEnumeration();
			}

			public static float FasterLBoLCheck1()
			{
				return EnableFasterLBoL.Value ? 0.01f : 0.1f;
			}

			public static float FasterLBoLCheck2()
			{
				return EnableFasterLBoL.Value ? 0.01f : 0.05f;
			}

			public static float FasterLBoLCheck3()
			{
				return EnableFasterLBoL.Value ? 0.01f : 0.45f;
			}

			public static float FasterLBoLCheck4()
			{
				return EnableFasterLBoL.Value ? 0.01f : 0.35f;
			}
		}

		private static readonly Harmony harmony = PInfo.harmony;

		internal static ManualLogSource log;

		public static ConfigEntry<int> TurboOff;

		public static ConfigEntry<int> TurboOn;

		public static ConfigEntry<bool> SkipDanmaku;

		public static ConfigEntry<bool> EnableFasterLBoL;

		public static SwitchWidget SkipDanmakuSwitch;

		public static TextMeshProUGUI SkipDanmakuText;

		public static SwitchWidget FasterLBoLSwitch;

		public static TextMeshProUGUI FasterLBoLText;

		private void Awake()
		{
			//IL_0036: 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_0052: Expected O, but got Unknown
			//IL_0052: Expected O, but got Unknown
			//IL_0067: Unknown result type (might be due to invalid IL or missing references)
			//IL_007c: Unknown result type (might be due to invalid IL or missing references)
			//IL_0086: Expected O, but got Unknown
			//IL_0086: Expected O, but got Unknown
			//IL_009b: 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_00b6: Expected O, but got Unknown
			//IL_00b6: Expected O, but got Unknown
			//IL_00cb: Unknown result type (might be due to invalid IL or missing references)
			//IL_00dc: Unknown result type (might be due to invalid IL or missing references)
			//IL_00e6: Expected O, but got Unknown
			//IL_00e6: Expected O, but got Unknown
			log = ((BaseUnityPlugin)this).Logger;
			Object.DontDestroyOnLoad((Object)(object)((Component)this).gameObject);
			((Object)((Component)this).gameObject).hideFlags = (HideFlags)61;
			TurboOff = ((BaseUnityPlugin)this).Config.Bind<int>(new ConfigDefinition("TurboOff", "Turbo Off"), 100, new ConfigDescription("Game speed when Turbo Mode is disabled. Range 1 - 1000.", (AcceptableValueBase)null, Array.Empty<object>()));
			TurboOn = ((BaseUnityPlugin)this).Config.Bind<int>(new ConfigDefinition("TurboOn", "Turbo On"), 200, new ConfigDescription("Game speed when Turbo Mode is enabled. Range 1 - 1000.", (AcceptableValueBase)null, Array.Empty<object>()));
			EnableFasterLBoL = ((BaseUnityPlugin)this).Config.Bind<bool>(new ConfigDefinition("EnableFasterLBoL", "Enable Faster LBoL"), true, new ConfigDescription("Speeds up game by reducing various delay.", (AcceptableValueBase)null, Array.Empty<object>()));
			SkipDanmaku = ((BaseUnityPlugin)this).Config.Bind<bool>(new ConfigDefinition("SkipDanmaku", "Skip Danmaku"), false, new ConfigDescription("When enabled, many danmaku animations are skipped.", (AcceptableValueBase)null, Array.Empty<object>()));
			harmony.PatchAll();
			MainMenuPanel._needSkipLogo = true;
		}

		private void OnDestroy()
		{
			if (harmony != null)
			{
				harmony.UnpatchSelf();
			}
		}
	}
	public static class PInfo
	{
		public const string GUID = "intoxicatedkid.fasterlbol";

		public const string Name = "Faster LBoL";

		public const string version = "1.2.8";

		public static readonly Harmony harmony = new Harmony("intoxicatedkid.fasterlbol");
	}
}
namespace System.Runtime.CompilerServices
{
	[AttributeUsage(AttributeTargets.Assembly, AllowMultiple = true)]
	internal sealed class IgnoresAccessChecksToAttribute : Attribute
	{
		internal IgnoresAccessChecksToAttribute(string assemblyName)
		{
		}
	}
}