Decompiled source of Faster LBoL v1.2.0

FasterLBoL.dll

Decompiled 2 weeks ago
using System;
using System.Collections.Generic;
using System.Diagnostics;
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;
using UnityEngine.Events;

[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.0")]
	[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) ? 10 : 0;
			}

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

			public static float FasterLBoLCheck3()
			{
				return EnableFasterLBoL.Value ? 0.01f : 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
				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.3f, (string)null)
				})
					.Set(OpCodes.Call, (object)AccessTools.Method(typeof(FasterLBoL16), "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), "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), "FasterLBoLCheck2", (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.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
		{
			private static void Postfix(SettingPanel __instance, ref SettingsPanelType payload)
			{
				//IL_004c: Unknown result type (might be due to invalid IL or missing references)
				//IL_0056: Unknown result type (might be due to invalid IL or missing references)
				//IL_00ec: Unknown result type (might be due to invalid IL or missing references)
				//IL_00f6: Unknown result type (might be due to invalid IL or missing references)
				FasterLBoLSwitch = Object.Instantiate<SwitchWidget>(__instance.turboModeSwitch, ((Component)__instance).transform);
				FasterLBoLSwitch.AddListener((UnityAction<bool>)SetFasterLBoL);
				((Component)FasterLBoLSwitch).transform.position = new Vector3(10f, -14.25f, ((Component)FasterLBoLSwitch).transform.position.z);
				((TMP_Text)FasterLBoLSwitch.textOff).text = "Faster LBoL";
				((TMP_Text)FasterLBoLSwitch.textOn).text = "Faster LBoL";
				FasterLBoLSwitch.SetValueWithoutNotifier(EnableFasterLBoL.Value, true);
				SkipDanmakuSwitch = Object.Instantiate<SwitchWidget>(__instance.turboModeSwitch, ((Component)__instance).transform);
				SkipDanmakuSwitch.AddListener((UnityAction<bool>)SetSkipDanmaku);
				((Component)SkipDanmakuSwitch).transform.position = new Vector3(10f, -15f, ((Component)SkipDanmakuSwitch).transform.position.z);
				((TMP_Text)SkipDanmakuSwitch.textOff).text = "Skip Danmaku";
				((TMP_Text)SkipDanmakuSwitch.textOn).text = "Skip Danmaku";
				SkipDanmakuSwitch.SetValueWithoutNotifier(SkipDanmaku.Value, true);
			}

			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);
				}
			}
		}

		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();
		}

		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.0";

		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)
		{
		}
	}
}