Decompiled source of FentoKill v3.9.370

FentoKill.dll

Decompiled a week ago
using System;
using System.Collections;
using System.Collections.Generic;
using System.Diagnostics;
using System.IO;
using System.Linq;
using System.Reflection;
using System.Runtime.CompilerServices;
using System.Runtime.InteropServices;
using System.Runtime.Versioning;
using BepInEx;
using BepInEx.Logging;
using Discord;
using FentoKill.Other;
using FentoKill.Patches;
using FentoKill.UltraEnraged;
using FentoKill.Utility;
using HarmonyLib;
using PluginConfig.API;
using PluginConfig.API.Decorators;
using PluginConfig.API.Fields;
using Sandbox;
using TMPro;
using ULTRAKILL.Cheats;
using ULTRAKILL.Enemy;
using ULTRAKILL.Portal;
using UnityEngine;
using UnityEngine.AI;
using UnityEngine.AddressableAssets;
using UnityEngine.Events;
using UnityEngine.InputSystem;
using UnityEngine.ResourceManagement.AsyncOperations;
using UnityEngine.SceneManagement;
using UnityEngine.UI;

[assembly: CompilationRelaxations(8)]
[assembly: RuntimeCompatibility(WrapNonExceptionThrows = true)]
[assembly: Debuggable(DebuggableAttribute.DebuggingModes.IgnoreSymbolStoreSequencePoints)]
[assembly: AssemblyTitle("FentoKill")]
[assembly: AssemblyDescription("")]
[assembly: AssemblyConfiguration("")]
[assembly: AssemblyCompany("")]
[assembly: AssemblyProduct("FentoKill")]
[assembly: AssemblyCopyright("Copyright ©  2025")]
[assembly: AssemblyTrademark("")]
[assembly: ComVisible(false)]
[assembly: Guid("d24676a8-4da0-4d43-a77a-48484b462e3c")]
[assembly: AssemblyFileVersion("1.0.0.0")]
[assembly: TargetFramework(".NETFramework,Version=v4.7.2", FrameworkDisplayName = ".NET Framework 4.7.2")]
[assembly: AssemblyVersion("1.0.0.0")]
namespace FentoKill
{
	[BepInPlugin("com.enragedone.fentokill", "FentoKill", "3.8.370")]
	public class Fento_Loader : BaseUnityPlugin
	{
		public const string GUID = "com.enragedone.fentokill";

		public const string Name = "FentoKill";

		public const string Version = "3.8.370";

		internal Harmony _Harmony = new Harmony("com.enragedone.fentokill.levelpatches");

		public static ManualLogSource _Logger;

		public static Fento_Loader _Instance;

		public const string Set_Guid = "com.enragedone.fentokill.settings";

		public PluginConfigurator config;

		public bool Confing_Loaded;

		public void Awake()
		{
			//IL_0096: Unknown result type (might be due to invalid IL or missing references)
			//IL_00a7: 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_00c8: Unknown result type (might be due to invalid IL or missing references)
			//IL_00e1: Unknown result type (might be due to invalid IL or missing references)
			//IL_00e6: Unknown result type (might be due to invalid IL or missing references)
			//IL_0102: Unknown result type (might be due to invalid IL or missing references)
			//IL_010b: Unknown result type (might be due to invalid IL or missing references)
			//IL_0110: Unknown result type (might be due to invalid IL or missing references)
			//IL_012c: Unknown result type (might be due to invalid IL or missing references)
			//IL_0142: Unknown result type (might be due to invalid IL or missing references)
			//IL_0147: Unknown result type (might be due to invalid IL or missing references)
			//IL_0167: Unknown result type (might be due to invalid IL or missing references)
			//IL_0171: Expected O, but got Unknown
			//IL_0187: Unknown result type (might be due to invalid IL or missing references)
			//IL_0191: Expected O, but got Unknown
			//IL_01a3: Unknown result type (might be due to invalid IL or missing references)
			//IL_01b4: Unknown result type (might be due to invalid IL or missing references)
			//IL_01b9: Unknown result type (might be due to invalid IL or missing references)
			//IL_01d8: Unknown result type (might be due to invalid IL or missing references)
			//IL_01dd: Unknown result type (might be due to invalid IL or missing references)
			//IL_01ea: Expected O, but got Unknown
			//IL_01e5: Unknown result type (might be due to invalid IL or missing references)
			//IL_01f6: Unknown result type (might be due to invalid IL or missing references)
			//IL_01fb: Unknown result type (might be due to invalid IL or missing references)
			//IL_0205: Unknown result type (might be due to invalid IL or missing references)
			//IL_0216: Expected O, but got Unknown
			//IL_0211: Unknown result type (might be due to invalid IL or missing references)
			//IL_021b: Expected O, but got Unknown
			//IL_022b: Expected O, but got Unknown
			//IL_0226: Unknown result type (might be due to invalid IL or missing references)
			//IL_0230: Expected O, but got Unknown
			//IL_0242: Unknown result type (might be due to invalid IL or missing references)
			//IL_0258: Unknown result type (might be due to invalid IL or missing references)
			//IL_025d: Unknown result type (might be due to invalid IL or missing references)
			//IL_027c: Unknown result type (might be due to invalid IL or missing references)
			//IL_0281: Unknown result type (might be due to invalid IL or missing references)
			//IL_028e: Expected O, but got Unknown
			//IL_0289: Unknown result type (might be due to invalid IL or missing references)
			//IL_029f: Unknown result type (might be due to invalid IL or missing references)
			//IL_02a4: Unknown result type (might be due to invalid IL or missing references)
			//IL_02ae: Unknown result type (might be due to invalid IL or missing references)
			//IL_02bf: Expected O, but got Unknown
			//IL_02ba: Unknown result type (might be due to invalid IL or missing references)
			//IL_02c4: Expected O, but got Unknown
			//IL_02c4: Unknown result type (might be due to invalid IL or missing references)
			//IL_02d5: Expected O, but got Unknown
			//IL_02d0: Unknown result type (might be due to invalid IL or missing references)
			//IL_02da: Expected O, but got Unknown
			//IL_02da: Unknown result type (might be due to invalid IL or missing references)
			//IL_02eb: Expected O, but got Unknown
			//IL_02e6: Unknown result type (might be due to invalid IL or missing references)
			//IL_02f0: Expected O, but got Unknown
			//IL_02f0: Unknown result type (might be due to invalid IL or missing references)
			//IL_0305: Expected O, but got Unknown
			//IL_0300: Unknown result type (might be due to invalid IL or missing references)
			//IL_030a: Expected O, but got Unknown
			//IL_030a: Unknown result type (might be due to invalid IL or missing references)
			//IL_031f: Expected O, but got Unknown
			//IL_031a: Unknown result type (might be due to invalid IL or missing references)
			//IL_0324: Expected O, but got Unknown
			//IL_0338: Expected O, but got Unknown
			//IL_0333: Unknown result type (might be due to invalid IL or missing references)
			//IL_033d: Expected O, but got Unknown
			//IL_034f: Unknown result type (might be due to invalid IL or missing references)
			//IL_0361: Unknown result type (might be due to invalid IL or missing references)
			//IL_0366: Unknown result type (might be due to invalid IL or missing references)
			//IL_0385: Unknown result type (might be due to invalid IL or missing references)
			//IL_038a: Unknown result type (might be due to invalid IL or missing references)
			//IL_0397: Expected O, but got Unknown
			//IL_0392: Unknown result type (might be due to invalid IL or missing references)
			//IL_03a4: Unknown result type (might be due to invalid IL or missing references)
			//IL_03a9: Unknown result type (might be due to invalid IL or missing references)
			//IL_03b3: Unknown result type (might be due to invalid IL or missing references)
			//IL_03c4: Expected O, but got Unknown
			//IL_03bf: Unknown result type (might be due to invalid IL or missing references)
			//IL_03c9: Expected O, but got Unknown
			//IL_03c9: Unknown result type (might be due to invalid IL or missing references)
			//IL_03da: Expected O, but got Unknown
			//IL_03d5: Unknown result type (might be due to invalid IL or missing references)
			//IL_03df: Expected O, but got Unknown
			//IL_03ef: Expected O, but got Unknown
			//IL_03ea: Unknown result type (might be due to invalid IL or missing references)
			//IL_03f4: Expected O, but got Unknown
			//IL_0406: Unknown result type (might be due to invalid IL or missing references)
			//IL_041b: Unknown result type (might be due to invalid IL or missing references)
			//IL_0420: Unknown result type (might be due to invalid IL or missing references)
			//IL_043f: Unknown result type (might be due to invalid IL or missing references)
			//IL_0444: Unknown result type (might be due to invalid IL or missing references)
			//IL_0451: Expected O, but got Unknown
			//IL_044c: Unknown result type (might be due to invalid IL or missing references)
			//IL_0461: Unknown result type (might be due to invalid IL or missing references)
			//IL_0466: Unknown result type (might be due to invalid IL or missing references)
			//IL_0470: Unknown result type (might be due to invalid IL or missing references)
			//IL_0481: Expected O, but got Unknown
			//IL_047c: Unknown result type (might be due to invalid IL or missing references)
			//IL_0486: Expected O, but got Unknown
			//IL_0496: Expected O, but got Unknown
			//IL_0491: Unknown result type (might be due to invalid IL or missing references)
			//IL_049b: Expected O, but got Unknown
			//IL_04ad: Unknown result type (might be due to invalid IL or missing references)
			//IL_04c0: Unknown result type (might be due to invalid IL or missing references)
			//IL_04c5: Unknown result type (might be due to invalid IL or missing references)
			//IL_04e4: Unknown result type (might be due to invalid IL or missing references)
			//IL_04e9: Unknown result type (might be due to invalid IL or missing references)
			//IL_04f6: Expected O, but got Unknown
			//IL_04f1: Unknown result type (might be due to invalid IL or missing references)
			//IL_0504: Unknown result type (might be due to invalid IL or missing references)
			//IL_0509: Unknown result type (might be due to invalid IL or missing references)
			//IL_0513: Unknown result type (might be due to invalid IL or missing references)
			//IL_0528: Expected O, but got Unknown
			//IL_0523: Unknown result type (might be due to invalid IL or missing references)
			//IL_052d: Expected O, but got Unknown
			//IL_052d: Unknown result type (might be due to invalid IL or missing references)
			//IL_0542: Expected O, but got Unknown
			//IL_053d: Unknown result type (might be due to invalid IL or missing references)
			//IL_0547: Expected O, but got Unknown
			//IL_055b: Expected O, but got Unknown
			//IL_0556: Unknown result type (might be due to invalid IL or missing references)
			//IL_0560: Expected O, but got Unknown
			//IL_0572: Unknown result type (might be due to invalid IL or missing references)
			//IL_0585: Unknown result type (might be due to invalid IL or missing references)
			//IL_058a: Unknown result type (might be due to invalid IL or missing references)
			//IL_05a9: Unknown result type (might be due to invalid IL or missing references)
			//IL_05ae: Unknown result type (might be due to invalid IL or missing references)
			//IL_05bb: Expected O, but got Unknown
			//IL_05b6: Unknown result type (might be due to invalid IL or missing references)
			//IL_05c9: Unknown result type (might be due to invalid IL or missing references)
			//IL_05ce: Unknown result type (might be due to invalid IL or missing references)
			//IL_05d8: Unknown result type (might be due to invalid IL or missing references)
			//IL_05e9: Expected O, but got Unknown
			//IL_05e4: Unknown result type (might be due to invalid IL or missing references)
			//IL_05ee: Expected O, but got Unknown
			//IL_05ee: Unknown result type (might be due to invalid IL or missing references)
			//IL_05ff: Expected O, but got Unknown
			//IL_05fa: Unknown result type (might be due to invalid IL or missing references)
			//IL_0604: Expected O, but got Unknown
			//IL_0604: Unknown result type (might be due to invalid IL or missing references)
			//IL_0619: Expected O, but got Unknown
			//IL_0614: Unknown result type (might be due to invalid IL or missing references)
			//IL_061e: Expected O, but got Unknown
			//IL_061e: Unknown result type (might be due to invalid IL or missing references)
			//IL_0633: Expected O, but got Unknown
			//IL_062e: Unknown result type (might be due to invalid IL or missing references)
			//IL_0638: Expected O, but got Unknown
			//IL_0638: Unknown result type (might be due to invalid IL or missing references)
			//IL_064d: Expected O, but got Unknown
			//IL_0648: Unknown result type (might be due to invalid IL or missing references)
			//IL_0652: Expected O, but got Unknown
			//IL_0652: Unknown result type (might be due to invalid IL or missing references)
			//IL_065f: Expected O, but got Unknown
			//IL_065a: Unknown result type (might be due to invalid IL or missing references)
			//IL_066d: Unknown result type (might be due to invalid IL or missing references)
			//IL_0672: Unknown result type (might be due to invalid IL or missing references)
			//IL_067c: Unknown result type (might be due to invalid IL or missing references)
			//IL_068d: Expected O, but got Unknown
			//IL_0688: Unknown result type (might be due to invalid IL or missing references)
			//IL_0692: Expected O, but got Unknown
			//IL_0692: Unknown result type (might be due to invalid IL or missing references)
			//IL_06a3: Expected O, but got Unknown
			//IL_069e: Unknown result type (might be due to invalid IL or missing references)
			//IL_06a8: Expected O, but got Unknown
			//IL_06a8: Unknown result type (might be due to invalid IL or missing references)
			//IL_06b9: Expected O, but got Unknown
			//IL_06b4: Unknown result type (might be due to invalid IL or missing references)
			//IL_06be: Expected O, but got Unknown
			//IL_06be: Unknown result type (might be due to invalid IL or missing references)
			//IL_06cf: Expected O, but got Unknown
			//IL_06ca: Unknown result type (might be due to invalid IL or missing references)
			//IL_06d4: Expected O, but got Unknown
			//IL_06d4: Unknown result type (might be due to invalid IL or missing references)
			//IL_06e5: Expected O, but got Unknown
			//IL_06e0: Unknown result type (might be due to invalid IL or missing references)
			//IL_06ea: Expected O, but got Unknown
			//IL_06ea: Unknown result type (might be due to invalid IL or missing references)
			//IL_06fb: Expected O, but got Unknown
			//IL_06f6: Unknown result type (might be due to invalid IL or missing references)
			//IL_0700: Expected O, but got Unknown
			//IL_0710: Expected O, but got Unknown
			//IL_070b: Unknown result type (might be due to invalid IL or missing references)
			//IL_0715: Expected O, but got Unknown
			//IL_0727: Unknown result type (might be due to invalid IL or missing references)
			//IL_072d: Expected O, but got Unknown
			//IL_072e: Unknown result type (might be due to invalid IL or missing references)
			//IL_074d: Unknown result type (might be due to invalid IL or missing references)
			//IL_0752: Unknown result type (might be due to invalid IL or missing references)
			//IL_075f: Expected O, but got Unknown
			//IL_075a: Unknown result type (might be due to invalid IL or missing references)
			//IL_075f: Unknown result type (might be due to invalid IL or missing references)
			//IL_0769: Unknown result type (might be due to invalid IL or missing references)
			//IL_0776: Expected O, but got Unknown
			//IL_0771: Unknown result type (might be due to invalid IL or missing references)
			//IL_0776: Unknown result type (might be due to invalid IL or missing references)
			//IL_077b: Unknown result type (might be due to invalid IL or missing references)
			//IL_0785: Unknown result type (might be due to invalid IL or missing references)
			//IL_078f: Unknown result type (might be due to invalid IL or missing references)
			//IL_07a0: Expected O, but got Unknown
			//IL_079b: Unknown result type (might be due to invalid IL or missing references)
			//IL_07a5: Expected O, but got Unknown
			//IL_07a5: Unknown result type (might be due to invalid IL or missing references)
			//IL_07b6: Expected O, but got Unknown
			//IL_07b1: Unknown result type (might be due to invalid IL or missing references)
			//IL_07bb: Expected O, but got Unknown
			_Instance = this;
			_Logger = ((BaseUnityPlugin)this).Logger;
			_Logger.LogInfo((object)"Fento_Loader v3.8.370 has started.");
			try
			{
				config = PluginConfigurator.Create("FENTOKILL", "com.enragedone.fentokill.settings");
				string text = Path.Combine(Path.GetDirectoryName(typeof(Fento_Loader).Assembly.Location), "icon.png");
				_Logger.LogInfo((object)$"Fento Icon Path {text}");
				config.SetIconWithURL("file://" + text);
				new ConfigHeader(config.rootPanel, "SOME CHANGES REQUIRE LEVEL RESTART", 24).textColor = Color32.op_Implicit(new Color32(byte.MaxValue, (byte)0, (byte)0, byte.MaxValue));
				new ConfigHeader(config.rootPanel, "They will be marked with <color=#FF0000>+</color>", 24).textColor = Color32.op_Implicit(new Color32(byte.MaxValue, byte.MaxValue, byte.MaxValue, byte.MaxValue));
				new ConfigHeader(config.rootPanel, "     ", 24).textColor = Color32.op_Implicit(new Color32((byte)0, (byte)0, (byte)0, (byte)0));
				new ConfigHeader(config.rootPanel, "Main / Global Settings", 24).textColor = Color32.op_Implicit(new Color32((byte)105, (byte)172, byte.MaxValue, byte.MaxValue));
				Fento_Difficulty_Options.B__Global_Disable_Level_Changes = new BoolField(config.rootPanel, "Disable Level Changes<color=#FF0000>+</color>", "com.enragedone.fentokill.settings.B__Global_Disable_Level_Changes", false);
				Fento_Difficulty_Options.B__Global_Enable_Modify_Everyone = new BoolField(config.rootPanel, "Modify Every Enemy With Changes Below", "com.enragedone.fentokill.settings.B__Global_Enable_Modify_Everyone", false);
				new ConfigHeader(config.rootPanel, "ULTRAENRAGED Difficulty Options", 24).textColor = Color32.op_Implicit(new Color32(byte.MaxValue, (byte)0, (byte)0, byte.MaxValue));
				ConfigPanel val = new ConfigPanel(config.rootPanel, "Edit", "com.enragedone.fentokill.settings.extra_change");
				new ConfigHeader(val, "ULTRAENRAGED Difficulty Options", 24).textColor = Color32.op_Implicit(new Color32(byte.MaxValue, (byte)0, (byte)0, byte.MaxValue));
				Fento_Difficulty_Options.B__Buff_Forse_All_UltraEnrage = new BoolField(val, "Forse Enemy UltraEnraged<color=#FF0000>+-</color> (WIP)", "com.enragedone.fentokill.settings.B__Buff_Forse_All_UltraEnrage", false);
				Fento_Difficulty_Options.B__Issue_Disable_Hazards = new BoolField(val, "Disable UltraEnrage Hazards<color=#FF0000>+-</color>", "com.enragedone.fentokill.settings.B__Issue_Disable_Hazards", false);
				new ConfigHeader(config.rootPanel, "Extra Respected Difficulty Options", 24).textColor = Color32.op_Implicit(new Color32(byte.MaxValue, (byte)158, (byte)105, byte.MaxValue));
				ConfigPanel val2 = new ConfigPanel(config.rootPanel, "Edit", "com.enragedone.fentokill.settings.extra_change");
				new ConfigHeader(val2, "Extra Respected Difficulty Options", 24).textColor = Color32.op_Implicit(new Color32(byte.MaxValue, (byte)158, (byte)105, byte.MaxValue));
				Fento_Difficulty_Options.B__Buff_Forse_All_ImmuneFriendly = new BoolField(val2, "Make Friendly Fire Weaker", "com.enragedone.fentokill.settings.B__Buff_Forse_All_ImmuneFriendly", false);
				Fento_Difficulty_Options.B__Buff_Forse_All_PreSanded = new BoolField(val2, "Make Every Enemy Pre Sanded", "com.enragedone.fentokill.settings.B__Buff_Forse_All_PreSanded", false);
				Fento_Difficulty_Options.B__Buff_Forse_All_Radiance = new BoolField(val2, "Make Every Enemy Radiant", "com.enragedone.fentokill.settings.B__Buff_Forse_All_Radiance", false);
				Fento_Difficulty_Options.V__Varb_Multiply_HardDamage = new FloatField(val2, "Change Hard Damage Multiplier", "com.enragedone.fentokill.settings.V__Varb_Multiply_HardDamage", 1f);
				Fento_Difficulty_Options.V__Varb_Multiply_Radiance_Tier = new FloatField(val2, "Change Radiance Tier Multiplier", "com.enragedone.fentokill.settings.V__Varb_Multiply_Radiance_Tier", 1f);
				Fento_Difficulty_Options.V__Varb_Add_Radiance_Tier = new FloatField(val2, "Add Extra Radiance Tiers", "com.enragedone.fentokill.settings.V__Varb_Add_Radiance_Tier", 0f);
				new ConfigHeader(config.rootPanel, "Skill Issue Options", 24).textColor = Color32.op_Implicit(new Color32((byte)61, (byte)204, (byte)0, byte.MaxValue));
				ConfigPanel val3 = new ConfigPanel(config.rootPanel, "Edit", "com.enragedone.fentokill.settings.extra_change");
				new ConfigHeader(val3, "Skill Issue Options", 24).textColor = Color32.op_Implicit(new Color32((byte)61, (byte)204, (byte)0, byte.MaxValue));
				Fento_Difficulty_Options.B__Issue_Disable_Most_Buffs = new BoolField(val3, "Disable Most Fento Buffs<color=#FF0000>+</color>", "com.enragedone.fentokill.settings.B__Issue_Disable_Most_Buffs", false);
				Fento_Difficulty_Options.B__Issue_Disable_PreSanded = new BoolField(val3, "Disable Pre Sanded Buff", "com.enragedone.fentokill.settings.B__Issue_Disable_PreSanded", false);
				Fento_Difficulty_Options.B__Issue_Disable_Radiance = new BoolField(val3, "Disable Radiance Buff", "com.enragedone.fentokill.settings.B__Issue_Disable_Radiance", false);
				new ConfigHeader(config.rootPanel, "Fento Custom Mechanics Options", 24).textColor = Color32.op_Implicit(new Color32((byte)0, (byte)204, (byte)132, byte.MaxValue));
				ConfigPanel val4 = new ConfigPanel(config.rootPanel, "Edit", "com.enragedone.fentokill.settings.extra_change");
				new ConfigHeader(val4, "Fento Custom Mechanics Options", 24).textColor = Color32.op_Implicit(new Color32((byte)0, (byte)204, (byte)132, byte.MaxValue));
				Fento_Difficulty_Options.B__Mech_Disable_RadIdols_Buff = new BoolField(val4, "Disable Rad Idols <color=#89FFFF>INCREASE RADIANCE</color>", "com.enragedone.fentokill.settings.B__Mech_Disable_RadIdols_Buff", false);
				Fento_Difficulty_Options.B__Mech_Disable_Custom_Symbiotes = new BoolField(val4, "Disable <color=#89FFFF>UNIQUE SYMBIOTIC PAIRS</color><color=#FF0000>+</color>", "com.enragedone.fentokill.settings.B__Mech_Disable_Custom_Symbiotes", false);
				new ConfigHeader(config.rootPanel, "Extra Radiance Options", 24).textColor = Color32.op_Implicit(new Color32((byte)93, (byte)74, (byte)186, byte.MaxValue));
				ConfigPanel val5 = new ConfigPanel(config.rootPanel, "Edit", "com.enragedone.fentokill.settings.extra_change");
				new ConfigHeader(val5, "Extra Radiance Options", 24).textColor = Color32.op_Implicit(new Color32((byte)93, (byte)74, (byte)186, byte.MaxValue));
				Fento_Difficulty_Options.V__Varb_Radiance_Health_Mult = new FloatField(val5, "Change Radiance Health Multiplier", "com.enragedone.fentokill.settings.V__Varb_Extra_Rad_Health_Mult", 1f);
				Fento_Difficulty_Options.V__Varb_Radiance_Damage_Mult = new FloatField(val5, "Change Radiance Damage Multiplier", "com.enragedone.fentokill.settings.V__Varb_Extra_Rad_Damage_Mult", 1f);
				Fento_Difficulty_Options.V__Varb_Radiance_Speed_Mult = new FloatField(val5, "Change Radiance Speed Multiplier", "com.enragedone.fentokill.settings.V__Varb_Extra_Rad_Speed_Mult", 1f);
				new ConfigHeader(config.rootPanel, "[7-4 ...LIKE ANTENNAS TO HEAVEN] Options", 24).textColor = Color32.op_Implicit(new Color32(byte.MaxValue, (byte)28, (byte)62, byte.MaxValue));
				ConfigPanel val6 = new ConfigPanel(config.rootPanel, "Edit", "com.enragedone.fentokill.settings.extra_change");
				new ConfigHeader(val6, "[7-4 ...LIKE ANTENNAS TO HEAVEN] Options", 24).textColor = Color32.op_Implicit(new Color32(byte.MaxValue, (byte)28, (byte)62, byte.MaxValue));
				Fento_Difficulty_Options.B__7_4_Disable_Defence = new BoolField(val6, "Disable Self Defence<color=#FF0000>+-</color>", "com.enragedone.fentokill.settings.B__7_4_Disable_Defence", false);
				Fento_Difficulty_Options.B__7_4_Disable_OverHeat = new BoolField(val6, "Disable OverHeat<color=#FF0000>+-</color>", "com.enragedone.fentokill.settings.B__7_4_Disable_OverHeat", false);
				Fento_Difficulty_Options.V__Varb_7_4_Fire_Rate = new FloatField(val6, "Change Fire Rate Mult", "com.enragedone.fentokill.settings.V__Varb_7_4_Fire_Rate", 1f);
				Fento_Difficulty_Options.V__Varb_7_4_Gently_WaitTime = new FloatField(val6, "Change Gently Wait Time", "com.enragedone.fentokill.settings.V__Varb_7_4_Gently_WaitTime", 5f);
				Fento_Difficulty_Options.V__Varb_7_4_CoolDown_Time = new FloatField(val6, "Change Cooldown Time", "com.enragedone.fentokill.settings.V__Varb_7_4_CoolDown_Time", 21f);
				new ConfigHeader(val6, "Individual Weapons", 24).textColor = Color32.op_Implicit(new Color32(byte.MaxValue, (byte)28, (byte)62, byte.MaxValue));
				Fento_Difficulty_Options.B__7_4_Disable_OBLITERATION_BEAM_CANNON = new BoolField(val6, "Disable OBLIT-N BEAM CANNON", "com.enragedone.fentokill.settings.B__7_4_Disable_OBLITERATION_BEAM_CANNON", false);
				Fento_Difficulty_Options.B__7_4_Disable_DRONE_SWARM_PROTOCOL = new BoolField(val6, "Disable DRONE SWARM PROTOCOL", "com.enragedone.fentokill.settings.B__7_4_Disable_DRONE_SWARM_PROTOCOL", false);
				Fento_Difficulty_Options.B__7_4_Disable_SUPPORT_DROP_FORCES = new BoolField(val6, "Disable SUPPORT DROP FORCES", "com.enragedone.fentokill.settings.B__7_4_Disable_SUPPORT_DROP_FORCES", false);
				Fento_Difficulty_Options.B__7_4_Disable_NUCLEAR_THUNDERBOLT_EMITTER = new BoolField(val6, "Disable NUCLEAR THUNDERBOLT EMITTER", "com.enragedone.fentokill.settings.B__7_4_Disable_NUCLEAR_THUNDERBOLT_EMITTER", false);
				Fento_Difficulty_Options.B__7_4_Disable_CARPET_BOMBING_BATTERY = new BoolField(val6, "Disable CARPET BOMBING BATTERY", "com.enragedone.fentokill.settings.B__7_4_Disable_CARPET_BOMBING_BATTERY", false);
				Fento_Difficulty_Options.B__7_4_Disable_LASER_GRID = new BoolField(val6, "Disable LASER GRID", "com.enragedone.fentokill.settings.B__7_4_Disable_LASER_GRID", false);
				Fento_Difficulty_Options.B__7_4_Disable_EMP_CHARGE_SERVICES = new BoolField(val6, "Disable E.M.P. CHARGE SERVICES", "com.enragedone.fentokill.settings.B__7_4_Disable_EMP_CHARGE_SERVICES", false);
				ConfigHeader val7 = new ConfigHeader(config.rootPanel, "Secret DEBUG Options", 24);
				val7.textColor = Color.yellow;
				ConfigPanel val8 = new ConfigPanel(config.rootPanel, "Edit", "com.enragedone.fentokill.settings.extra_change");
				new ConfigHeader(val8, "JUST A VISUAL DEBUG THING!", 24).textColor = Color.red;
				new ConfigHeader(val8, "= 0 - None | > 0 - Progress Logic | [INT] ONLY", 24).textColor = Color.Lerp(Color.red, Color.white, 0.2f);
				Fento_Progress_Containers.V__Varb_Level_01_Progress = new IntField(val8, "0-1 Progress", "com.enragedone.fentokill.settings.V__Varb_Level_01_Progress", 0);
				Fento_Progress_Containers.V__Varb_Level_74_Progress = new IntField(val8, "7-4 Progress", "com.enragedone.fentokill.settings.V__Varb_Level_74_Progress", 0);
				((ConfigField)val7).hidden = true;
				((ConfigField)val8).hidden = true;
				((ConfigField)Fento_Progress_Containers.V__Varb_Level_01_Progress).interactable = false;
				((ConfigField)Fento_Progress_Containers.V__Varb_Level_74_Progress).interactable = false;
				Fento_Progress_Containers.StringDictionaty.Add("Level 0-1", Fento_Progress_Containers.V__Varb_Level_01_Progress);
				Fento_Progress_Containers.StringDictionaty.Add("Level 7-4", Fento_Progress_Containers.V__Varb_Level_74_Progress);
				Fento_Progress_Containers.IntDictionaty.Add(1, Fento_Progress_Containers.V__Varb_Level_01_Progress);
				Fento_Progress_Containers.IntDictionaty.Add(29, Fento_Progress_Containers.V__Varb_Level_74_Progress);
				_Logger.LogInfo((object)"Config v3.8.370 loaded successfully");
				Confing_Loaded = true;
			}
			catch
			{
				_Logger.LogError((object)"Fento_Loader v3.8.370 !!!---!!! ERROR With PluginConfigurator Init");
			}
			Fento_Core_Loader.Boot_Core();
			_Harmony.PatchAll(typeof(Base_Patches));
			_Harmony.PatchAll(typeof(UltraReprise_Patches));
			_Harmony.PatchAll(typeof(V2_Patches));
			_Harmony.PatchAll(typeof(UltraEnrage_Patches));
			_Harmony.PatchAll(typeof(Other_Patches));
			_Harmony.PatchAll(typeof(Issue_Patches));
			_Harmony.PatchAll(typeof(UltraEnrage_LevelLoaders.Prelude.BossHealthBarTemplate_Patch));
			_Logger.LogInfo((object)"Fento_Loader v3.8.370 loaded successfully without error.");
		}
	}
	public static class Fento_Progress_Containers
	{
		[Flags]
		public enum SaveFlags
		{
			None = 0,
			Fento_Challenge = 1,
			Fento_P_rank = 2,
			UltraRage_P_rank = 4
		}

		public static Dictionary<string, IntField> StringDictionaty = new Dictionary<string, IntField>();

		public static Dictionary<int, IntField> IntDictionaty = new Dictionary<int, IntField>();

		public static IntField V__Varb_Level_01_Progress;

		public static IntField V__Varb_Level_74_Progress;

		public static float Level_01_Progress => Main_Utils.Try_GetFrom_Config(V__Varb_Level_01_Progress, 0);

		public static float Level_74_Progress => Main_Utils.Try_GetFrom_Config(V__Varb_Level_74_Progress, 0);

		public static int SetFlag(int save, SaveFlags flag, bool value)
		{
			if (value)
			{
				return save | (int)flag;
			}
			return save & (int)(~flag);
		}

		public static bool HasFlag(int save, SaveFlags flag)
		{
			return ((uint)save & (uint)flag) != 0;
		}
	}
	public static class Fento_Difficulty_Options
	{
		public static BoolField B__Buff_Forse_All_UltraEnrage;

		public static BoolField B__Issue_Disable_Hazards;

		public static BoolField B__Global_Disable_Level_Changes;

		public static BoolField B__Global_Enable_Modify_Everyone;

		public static BoolField B__Buff_Forse_All_ImmuneFriendly;

		public static BoolField B__Buff_Forse_All_PreSanded;

		public static BoolField B__Buff_Forse_All_Radiance;

		public static FloatField V__Varb_Multiply_HardDamage;

		public static FloatField V__Varb_Multiply_Radiance_Tier;

		public static FloatField V__Varb_Add_Radiance_Tier;

		public static BoolField B__Issue_Disable_Most_Buffs;

		public static BoolField B__Issue_Disable_PreSanded;

		public static BoolField B__Issue_Disable_Radiance;

		public static BoolField B__Mech_Disable_RadIdols_Buff;

		public static BoolField B__Mech_Disable_Custom_Symbiotes;

		public static FloatField V__Varb_Radiance_Health_Mult;

		public static FloatField V__Varb_Radiance_Damage_Mult;

		public static FloatField V__Varb_Radiance_Speed_Mult;

		public static BoolField B__7_4_Disable_Defence;

		public static BoolField B__7_4_Disable_OverHeat;

		public static FloatField V__Varb_7_4_Fire_Rate;

		public static FloatField V__Varb_7_4_Gently_WaitTime;

		public static FloatField V__Varb_7_4_CoolDown_Time;

		public static BoolField B__7_4_Disable_OBLITERATION_BEAM_CANNON;

		public static BoolField B__7_4_Disable_DRONE_SWARM_PROTOCOL;

		public static BoolField B__7_4_Disable_SUPPORT_DROP_FORCES;

		public static BoolField B__7_4_Disable_NUCLEAR_THUNDERBOLT_EMITTER;

		public static BoolField B__7_4_Disable_CARPET_BOMBING_BATTERY;

		public static BoolField B__7_4_Disable_LASER_GRID;

		public static BoolField B__7_4_Disable_EMP_CHARGE_SERVICES;

		public static int Count_Extra_Skill_Respect
		{
			get
			{
				int i = 0;
				i.AddCount(new bool[10]
				{
					Buff_Forse_All_ImmuneFriendly,
					Buff_Forse_All_PreSanded,
					Buff_Forse_All_Radiance,
					Buff_Forse_All_UltraEnrage,
					Varb_Multiply_HardDamage > 1f,
					Varb_Multiply_Radiance_Tier > 1f,
					Varb_Add_Radiance_Tier > 0f,
					Varb_Radiance_Health_Mult > 1f,
					Varb_Radiance_Damage_Mult > 1f,
					Varb_Radiance_Speed_Mult > 1f
				});
				return i;
			}
		}

		public static int Count_Issues_With_Skill
		{
			get
			{
				int i = 0;
				i.AddCount(new bool[12]
				{
					Issue_Disable_Most_Buffs,
					Issue_Disable_PreSanded,
					Issue_Disable_Radiance,
					Issue_Disable_Hazards,
					Mech_Disable_RadIdols_Buff,
					Mech_Disable_Custom_Symbiotes,
					Varb_Multiply_HardDamage < 1f,
					Varb_Multiply_Radiance_Tier < 1f,
					Varb_Add_Radiance_Tier < 0f,
					Varb_Radiance_Health_Mult < 1f,
					Varb_Radiance_Damage_Mult < 1f,
					Varb_Radiance_Speed_Mult < 1f
				});
				return i;
			}
		}

		public static bool Extra_Skill_Respect => Count_Extra_Skill_Respect > 0;

		public static bool Skill_Issue => Count_Issues_With_Skill > 0;

		public static bool Buff_Forse_All_UltraEnrage => Main_Utils.Try_GetFrom_Config(B__Buff_Forse_All_UltraEnrage);

		public static bool Issue_Disable_Hazards => Main_Utils.Try_GetFrom_Config(B__Issue_Disable_Hazards);

		public static bool Global_Disable_Level_Changes => Main_Utils.Try_GetFrom_Config(B__Global_Disable_Level_Changes);

		public static bool Global_Enable_Modify_Everyone => Main_Utils.Try_GetFrom_Config(B__Global_Enable_Modify_Everyone);

		public static bool Buff_Forse_All_ImmuneFriendly => Main_Utils.Try_GetFrom_Config(B__Buff_Forse_All_ImmuneFriendly);

		public static bool Buff_Forse_All_PreSanded => Main_Utils.Try_GetFrom_Config(B__Buff_Forse_All_PreSanded);

		public static bool Buff_Forse_All_Radiance => Main_Utils.Try_GetFrom_Config(B__Buff_Forse_All_Radiance);

		public static float Varb_Multiply_HardDamage => Main_Utils.Try_GetFrom_Config(V__Varb_Multiply_HardDamage);

		public static float Varb_Multiply_Radiance_Tier => Main_Utils.Try_GetFrom_Config(V__Varb_Multiply_Radiance_Tier);

		public static float Varb_Add_Radiance_Tier => Main_Utils.Try_GetFrom_Config(V__Varb_Add_Radiance_Tier, 0f);

		public static bool Issue_Disable_Most_Buffs => Main_Utils.Try_GetFrom_Config(B__Issue_Disable_Most_Buffs);

		public static bool Issue_Disable_PreSanded => Main_Utils.Try_GetFrom_Config(B__Issue_Disable_PreSanded);

		public static bool Issue_Disable_Radiance => Main_Utils.Try_GetFrom_Config(B__Issue_Disable_Radiance);

		public static bool Mech_Disable_RadIdols_Buff => Main_Utils.Try_GetFrom_Config(B__Mech_Disable_RadIdols_Buff);

		public static bool Mech_Disable_Custom_Symbiotes => Main_Utils.Try_GetFrom_Config(B__Mech_Disable_Custom_Symbiotes);

		public static float Varb_Radiance_Health_Mult => Main_Utils.Try_GetFrom_Config(V__Varb_Radiance_Health_Mult);

		public static float Varb_Radiance_Damage_Mult => Main_Utils.Try_GetFrom_Config(V__Varb_Radiance_Damage_Mult);

		public static float Varb_Radiance_Speed_Mult => Main_Utils.Try_GetFrom_Config(V__Varb_Radiance_Speed_Mult);

		public static bool Issue_7_4_Disable_Defence => Main_Utils.Try_GetFrom_Config(B__7_4_Disable_Defence);

		public static bool Buff_7_4_Disable_OverHeat => Main_Utils.Try_GetFrom_Config(B__7_4_Disable_OverHeat);

		public static float Varb_7_4_Fire_Rate => Main_Utils.Try_GetFrom_Config(V__Varb_7_4_Fire_Rate);

		public static float Varb_7_4_Gently_WaitTime => Main_Utils.Try_GetFrom_Config(V__Varb_7_4_Gently_WaitTime, 5f);

		public static float Varb_7_4_CoolDown_Time => Main_Utils.Try_GetFrom_Config(V__Varb_7_4_CoolDown_Time, 21f);

		public static bool Issue_7_4_Disable_OBLITERATION_BEAM_CANNON => Main_Utils.Try_GetFrom_Config(B__7_4_Disable_OBLITERATION_BEAM_CANNON);

		public static bool Issue_7_4_Disable_DRONE_SWARM_PROTOCOL => Main_Utils.Try_GetFrom_Config(B__7_4_Disable_DRONE_SWARM_PROTOCOL);

		public static bool Issue_7_4_Disable_SUPPORT_DROP_FORCES => Main_Utils.Try_GetFrom_Config(B__7_4_Disable_SUPPORT_DROP_FORCES);

		public static bool Issue_7_4_Disable_NUCLEAR_THUNDERBOLT_EMITTER => Main_Utils.Try_GetFrom_Config(B__7_4_Disable_NUCLEAR_THUNDERBOLT_EMITTER);

		public static bool Issue_7_4_Disable_CARPET_BOMBING_BATTERY => Main_Utils.Try_GetFrom_Config(B__7_4_Disable_CARPET_BOMBING_BATTERY);

		public static bool Issue_7_4_Disable_LASER_GRID => Main_Utils.Try_GetFrom_Config(B__7_4_Disable_LASER_GRID);

		public static bool Issue_7_4_Disable_EMP_CHARGE_SERVICES => Main_Utils.Try_GetFrom_Config(B__7_4_Disable_EMP_CHARGE_SERVICES);
	}
	public static class Fento_Core_Loader
	{
		public static TMP_FontAsset MainFont;

		public static GameObject[] AllObjs = null;

		public static int History = 0;

		public static int ActiveHistory = 0;

		public static Scene CurrentScene;

		public static EnemyClass Example_Class = (EnemyClass)0;

		public static EnemyType Example_Type = (EnemyType)34;

		public static void Boot_Core()
		{
			SceneManager.sceneLoaded += OnSceneLoaded;
			Fento_Loader._Logger.LogInfo((object)"Fento_Core V3.8.370 - Boot_Core successfully.");
		}

		public static void OnSceneLoaded(Scene scene, LoadSceneMode mode)
		{
			//IL_000c: Unknown result type (might be due to invalid IL or missing references)
			//IL_000d: Unknown result type (might be due to invalid IL or missing references)
			History = 0;
			ActiveHistory = 0;
			CurrentScene = scene;
			Fento_Loader._Logger.LogInfo((object)((Scene)(ref scene)).name);
			string currentScene = SceneHelper.CurrentScene;
			Fento_Loader._Logger.LogInfo((object)currentScene);
			AllObjs = Resources.FindObjectsOfTypeAll<GameObject>();
			if ((Object)(object)MainFont == (Object)null)
			{
				MainFont = (from e in Resources.FindObjectsOfTypeAll<TMP_FontAsset>()
					where (Object)(object)e != (Object)null && ((Object)e).name == "VCR_OSD_MONO_1"
					select e).FirstOrDefault();
			}
			Setup_Levels(currentScene);
		}

		public static void Setup_Levels(string levelName)
		{
			Fento_LevelLoaders.VIOLENCE_7_4.CHECK_DAMAGE = false;
			EndingResults_Mark_Fento_Progress.AlterPathCleared = false;
			try
			{
				if (new string[4] { "Intro", "Bootstrap", "Intermission1", "Intermission2" }.Contains(levelName))
				{
					return;
				}
				if (levelName == "Main Menu")
				{
					Invoke_Load_FentoLevel(levelName, Fento_LevelLoaders.Main_Menu.SetupFentoLevel);
					Main_Utils.Invoke_WithDelay(0.25f, delegate
					{
						if ((Object)(object)Fento_Assets.Guttertank.obj == (Object)null || (Object)(object)Fento_Assets.Gutterman.obj == (Object)null || (Object)(object)Fento_Assets.RagePrefab.obj == (Object)null || (Object)(object)Fento_Assets.Insignia.obj == (Object)null)
						{
							((MonoBehaviour)Fento_Loader._Instance).StartCoroutine(Fento_Assets.Fento_LoadAllAssets_Gradually());
						}
					});
					return;
				}
				Main_Utils.Invoke_NextFrame(delegate
				{
					if ((Object)(object)MonoSingleton<FinalRank>.Instance != (Object)null && MonoSingleton<FinalRank>.Instance.toAppear.Length != 0 && (Object)(object)MonoSingleton<FinalRank>.Instance.toAppear[0] != (Object)null && (Object)(object)MonoSingleton<FinalRank>.Instance.toAppear[0].transform.GetChild(1) != (Object)null)
					{
						ComponentExtensions.GetOrAddComponent<LevelSelect_Mark_Fento_Text>((Component)(object)MonoSingleton<FinalRank>.Instance.toAppear[0].transform.GetChild(1)).Real_Level = false;
						GameObjectExtensions.GetOrAddComponent<EndingResults_Mark_Fento_Progress>(((Component)MonoSingleton<FinalRank>.Instance.extraInfo).gameObject).Real_Level = false;
					}
					if (Fento_Difficulty_Options.Global_Enable_Modify_Everyone && Fento_Difficulty_Options.Buff_Forse_All_UltraEnrage)
					{
						StatsManager instance = MonoSingleton<StatsManager>.Instance;
						if ((Object)(object)instance != (Object)null)
						{
							for (int i = 0; i < instance.timeRanks.Length; i++)
							{
								instance.timeRanks[i] = (int)((float)instance.timeRanks[i] * 2f);
							}
							for (int j = 0; j < instance.styleRanks.Length; j++)
							{
								instance.styleRanks[j] = (int)((float)instance.styleRanks[j] * 2f);
							}
						}
					}
				});
				if (Fento_Difficulty_Options.Global_Enable_Modify_Everyone && Fento_Difficulty_Options.Buff_Forse_All_UltraEnrage && !Fento_Difficulty_Options.Issue_Disable_Hazards)
				{
					Invoke_Load_UltraEnraged(levelName);
				}
				if (!Fento_Difficulty_Options.Global_Disable_Level_Changes && Fento_LevelLoaders.FLevel_Loaders.TryGetValue(MonoSingleton<StatsManager>.Instance.levelNumber, out var value) && value != null && (MonoSingleton<StatsManager>.Instance.levelNumber != 1 || !(levelName != "Level 0-1")))
				{
					Invoke_Load_FentoLevel(levelName, value);
				}
			}
			catch (Exception ex)
			{
				Fento_Loader._Logger.LogWarning((object)("!!!---!!! ERROR Fento Level Loader " + levelName + " !!!---!!!"));
				Fento_Loader._Logger.LogWarning((object)("!!!---!!! ERROR Fento Level Loader " + levelName + " !!!---!!!"));
				Fento_Loader._Logger.LogWarning((object)("!!!---!!! ERROR Fento Level Loader " + levelName + " !!!---!!!"));
				Debug.LogError((object)ex);
				Fento_Loader._Logger.LogWarning((object)("!!!---!!! ERROR Fento Level Loader " + levelName + " !!!---!!!"));
				Fento_Loader._Logger.LogWarning((object)("!!!---!!! ERROR Fento Level Loader " + levelName + " !!!---!!!"));
				Fento_Loader._Logger.LogWarning((object)("!!!---!!! ERROR Fento Level Loader " + levelName + " !!!---!!!"));
			}
		}

		public static void Invoke_Load_FentoLevel(string levelName, Action levelCaster)
		{
			Main_Utils.Invoke_NextFrame(delegate
			{
				if ((Object)(object)MonoSingleton<FinalRank>.Instance != (Object)null && MonoSingleton<FinalRank>.Instance.toAppear.Length != 0 && (Object)(object)MonoSingleton<FinalRank>.Instance.toAppear[0] != (Object)null && (Object)(object)MonoSingleton<FinalRank>.Instance.toAppear[0].transform.GetChild(1) != (Object)null)
				{
					ComponentExtensions.GetOrAddComponent<LevelSelect_Mark_Fento_Text>((Component)(object)MonoSingleton<FinalRank>.Instance.toAppear[0].transform.GetChild(1)).Real_Level = true;
					GameObjectExtensions.GetOrAddComponent<EndingResults_Mark_Fento_Progress>(((Component)MonoSingleton<FinalRank>.Instance.extraInfo).gameObject).Real_Level = true;
				}
			});
			if (levelCaster != null)
			{
				Fento_Loader._Logger.LogInfo((object)("!!!---!!! Start Fento LOADER " + levelName + " !!!---!!!"));
				Fento_Loader._Logger.LogWarning((object)("!!!---!!! Start Fento LOADER " + levelName + " !!!---!!!"));
				Fento_Loader._Logger.LogInfo((object)("!!!---!!! Start Fento LOADER " + levelName + " !!!---!!!"));
				levelCaster();
				StatsManager instance = MonoSingleton<StatsManager>.Instance;
				ApplyLevelStats(instance.levelNumber, instance);
				Main_Utils.Invoke_NextFrame(delegate
				{
					Main_Utils.Invoke_WithDelay(0.5f, Main_Utils.Forse_Clear);
				});
				Fento_Loader._Logger.LogInfo((object)("!!!---!!! End Fento LOADER " + levelName + " !!!---!!!"));
				Fento_Loader._Logger.LogWarning((object)("!!!---!!! End Fento LOADER " + levelName + " !!!---!!!"));
				Fento_Loader._Logger.LogInfo((object)("!!!---!!! End Fento LOADER " + levelName + " !!!---!!!"));
			}
			else
			{
				Fento_Loader._Logger.LogWarning((object)("!!!---!!! MISSING Fento Level Loader " + levelName + " !!!---!!!"));
				Fento_Loader._Logger.LogWarning((object)("!!!---!!! MISSING Fento Level Loader " + levelName + " !!!---!!!"));
				Fento_Loader._Logger.LogWarning((object)("!!!---!!! MISSING Fento Level Loader " + levelName + " !!!---!!!"));
				Fento_Loader._Logger.LogWarning((object)("!!!---!!! MISSING Fento Level Loader " + levelName + " !!!---!!!"));
				Fento_Loader._Logger.LogWarning((object)("!!!---!!! MISSING Fento Level Loader " + levelName + " !!!---!!!"));
			}
		}

		public static void Invoke_Load_UltraEnraged(string levelName)
		{
			if (new string[5] { "Level 0-1", "Level 0-2", "Level 0-3", "Level 0-4", "Level 0-5" }.Contains(levelName))
			{
				UltraEnrage_LevelLoaders.Prelude.LoadEnrageLevel();
			}
		}

		public static void ApplyLevelStats(int levelId, StatsManager sm)
		{
			if ((Object)(object)sm != (Object)null && Fento_LevelLoaders.FLevel_MaxStats.TryGetValue(levelId, out (int, int, int) value))
			{
				int num = sm.timeRanks.Length;
				for (int i = 0; i < num; i++)
				{
					float num2 = ((num > 1) ? ((float)i / (float)(num - 1)) : 0f);
					float num3 = (float)value.Item1 * 0.5f;
					sm.killRanks[i] = Mathf.CeilToInt(Mathf.Lerp(num3, (float)value.Item1, num2));
					float num4 = (float)value.Item2 * 3f;
					sm.timeRanks[i] = Mathf.CeilToInt(Mathf.Lerp(num4, (float)value.Item2, num2));
					float num5 = (float)value.Item3 * 0.2f;
					sm.styleRanks[i] = Mathf.CeilToInt(Mathf.Lerp(num5, (float)value.Item3, num2));
				}
			}
		}
	}
	public static class Fento_Assets
	{
		[CompilerGenerated]
		private sealed class <Fento_LoadAllAssets_Gradually>d__75 : IEnumerator<object>, IDisposable, IEnumerator
		{
			private int <>1__state;

			private object <>2__current;

			private Type <type>5__2;

			private FieldInfo[] <>7__wrap2;

			private int <>7__wrap3;

			private Dictionary<Main_Utils.DetectebleEnemies, Main_Utils.AddresableObject<GameObject>>.Enumerator <>7__wrap4;

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

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

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

			[DebuggerHidden]
			void IDisposable.Dispose()
			{
				int num = <>1__state;
				if (num == -3 || (uint)(num - 4) <= 1u)
				{
					try
					{
					}
					finally
					{
						<>m__Finally1();
					}
				}
				<type>5__2 = null;
				<>7__wrap2 = null;
				<>7__wrap4 = default(Dictionary<Main_Utils.DetectebleEnemies, Main_Utils.AddresableObject<GameObject>>.Enumerator);
				<>1__state = -2;
			}

			private bool MoveNext()
			{
				try
				{
					switch (<>1__state)
					{
					default:
						return false;
					case 0:
					{
						<>1__state = -1;
						Fento_Loader._Logger.LogInfo((object)"[Loader] Loading Assets");
						<type>5__2 = typeof(Fento_Assets);
						FieldInfo[] fields = <type>5__2.GetFields(BindingFlags.Static | BindingFlags.Public);
						Fento_Loader._Logger.LogInfo((object)"-------------------------------------------------------");
						Fento_Loader._Logger.LogInfo((object)"[Loader] Loading AddresableObject<T>");
						<>7__wrap2 = fields;
						<>7__wrap3 = 0;
						goto IL_013a;
					}
					case 1:
						<>1__state = -1;
						goto IL_0110;
					case 2:
						<>1__state = -1;
						goto IL_0110;
					case 3:
						<>1__state = -1;
						<>7__wrap3++;
						goto IL_013a;
					case 4:
						<>1__state = -3;
						<>2__current = null;
						<>1__state = 5;
						return true;
					case 5:
						{
							<>1__state = -3;
							break;
						}
						IL_013a:
						if (<>7__wrap3 < <>7__wrap2.Length)
						{
							object value = <>7__wrap2[<>7__wrap3].GetValue(<type>5__2);
							if (value is Main_Utils.AddresableObject<GameObject> addresableObject)
							{
								IEnumerator enumerator = addresableObject.Long_Load();
								<>2__current = enumerator;
								<>1__state = 1;
								return true;
							}
							if (value is Main_Utils.AddresableObject<AudioClip> addresableObject2)
							{
								IEnumerator enumerator2 = addresableObject2.Long_Load();
								<>2__current = enumerator2;
								<>1__state = 2;
								return true;
							}
							goto IL_0110;
						}
						<>7__wrap2 = null;
						Fento_Loader._Logger.LogInfo((object)"-------------------------------------------------------");
						Fento_Loader._Logger.LogInfo((object)"[Loader] Loading AllEnemies");
						<>7__wrap4 = Main_Utils.AllEnemiesPrefabs.GetEnumerator();
						<>1__state = -3;
						break;
						IL_0110:
						<>2__current = null;
						<>1__state = 3;
						return true;
					}
					if (<>7__wrap4.MoveNext())
					{
						IEnumerator enumerator3 = <>7__wrap4.Current.Value.Long_Load();
						<>2__current = enumerator3;
						<>1__state = 4;
						return true;
					}
					<>m__Finally1();
					<>7__wrap4 = default(Dictionary<Main_Utils.DetectebleEnemies, Main_Utils.AddresableObject<GameObject>>.Enumerator);
					Fento_Loader._Logger.LogInfo((object)"All Fento assets loaded.");
					return false;
				}
				catch
				{
					//try-fault
					((IDisposable)this).Dispose();
					throw;
				}
			}

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

			private void <>m__Finally1()
			{
				<>1__state = -1;
				((IDisposable)<>7__wrap4).Dispose();
			}

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

		public static Main_Utils.AddresableObject<GameObject> HealingEffect = "Assets/Particles/HealingEffect.prefab";

		public static Main_Utils.AddresableObject<GameObject> Projectile_Red = "Assets/Prefabs/Attacks and Projectiles/Projectile.prefab";

		public static Main_Utils.AddresableObject<GameObject> Projectile_Yellow = "Assets/Prefabs/Attacks and Projectiles/Projectile Beamable.prefab";

		public static Main_Utils.AddresableObject<GameObject> ProjectileHoming_Blue = "Assets/Prefabs/Attacks and Projectiles/Projectile Homing.prefab";

		public static Main_Utils.AddresableObject<GameObject> ProjectileExplosiveHH_BigYellow = "Assets/Prefabs/Attacks and Projectiles/Projectile Explosive HH.prefab";

		public static Main_Utils.AddresableObject<GameObject> ProjectileExplosiveHoming_Green = "Assets/Prefabs/Attacks and Projectiles/Projectile Homing Explosive.prefab";

		public static Main_Utils.AddresableObject<GameObject> ProjectileHomingAcid = "Assets/Prefabs/Attacks and Projectiles/Projectile Homing Acid.prefab";

		public static Main_Utils.AddresableObject<GameObject> ProjectileExplosive_Cerb = "Assets/Prefabs/Attacks and Projectiles/Projectile Explosive.prefab";

		public static Main_Utils.AddresableObject<GameObject> ShotgunProjectileEnemy = "Assets/Prefabs/Attacks and Projectiles/Shotgun Projectile Enemy.prefab";

		public static Main_Utils.AddresableObject<GameObject> EnemyRocket = "Assets/Prefabs/Attacks and Projectiles/RocketEnemy.prefab";

		public static Main_Utils.AddresableObject<GameObject> Insignia = "Virtue Insignia";

		public static Main_Utils.AddresableObject<GameObject> GeryonUpArrowBeam = "Assets/Prefabs/Attacks and Projectiles/GeryonUpArrowBeam.prefab";

		public static Main_Utils.AddresableObject<GameObject> GeryonForwardArrowBeam = "Assets/Prefabs/Attacks and Projectiles/GeryonForwardArrowBeam.prefab";

		public static Main_Utils.AddresableObject<GameObject> MassSpearHook = "Assets/Prefabs/Attacks and Projectiles/Spear.prefab";

		public static Main_Utils.AddresableObject<GameObject> AroundGabrielSummonedSwords = "Assets/Prefabs/Attacks and Projectiles/Gabriel/GabrielSummonedSwords.prefab";

		public static Main_Utils.AddresableObject<GameObject> MindflayerTeleport = "Assets/Particles/SoundBubbles/MindflayerTeleport.prefab";

		public static Main_Utils.AddresableObject<GameObject> ExplosionHarmless = "Assets/Prefabs/Attacks and Projectiles/Explosions/Explosion Harmless.prefab";

		public static Main_Utils.AddresableObject<GameObject> ExplosionRocketHarmless = "Assets/Prefabs/Attacks and Projectiles/Explosions/Explosion Rocket Harmless.prefab";

		public static Main_Utils.AddresableObject<GameObject> Explosion = "Assets/Prefabs/Attacks and Projectiles/Explosions/Explosion.prefab";

		public static Main_Utils.AddresableObject<GameObject> ExplosionBig = "Assets/Prefabs/Attacks and Projectiles/Explosions/Explosion Big.prefab";

		public static Main_Utils.AddresableObject<GameObject> ExplosionSuper = "Assets/Prefabs/Attacks and Projectiles/Explosions/Explosion Super.prefab";

		public static Main_Utils.AddresableObject<GameObject> ExplosionSisyphusPrime = "Assets/Prefabs/Attacks and Projectiles/Explosions/Explosion Sisyphus Prime.prefab";

		public static Main_Utils.AddresableObject<GameObject> ExplosionSisyphusPrimeAnimation = "Assets/Prefabs/Attacks and Projectiles/Explosions/Explosion Sisyphus Prime Charged.prefab";

		public static Main_Utils.AddresableObject<GameObject> GeryonProximityExplosion = "Assets/Prefabs/Attacks and Projectiles/Explosions/GeryonProximityExplosion.prefab";

		public static Main_Utils.AddresableObject<GameObject> ExplosionSand = "Assets/Prefabs/Attacks and Projectiles/Explosions/Explosion Sand.prefab";

		public static Main_Utils.AddresableObject<GameObject> LightningBoltExplosion = "Assets/Prefabs/Attacks and Projectiles/Explosions/Lightning Strike Explosive.prefab";

		public static Main_Utils.AddresableObject<GameObject> LightningBoltWindupFollow = "Assets/Particles/Environment/LightningBoltWindupFollow Variant.prefab";

		public static Main_Utils.AddresableObject<GameObject> ExplosionLightning = "Assets/Prefabs/Attacks and Projectiles/Explosions/Explosion Lightning.prefab";

		public static Main_Utils.AddresableObject<GameObject> PhysicalShockwaveHarmless = "Assets/Prefabs/Attacks and Projectiles/PhysicalShockwaveHarmless.prefab";

		public static Main_Utils.AddresableObject<GameObject> SlamExplosionShockwave = "Assets/Prefabs/Attacks and Projectiles/PhysicalShockwave.prefab";

		public static Main_Utils.AddresableObject<GameObject> SlamExplosionShockwaveMagenta = "Assets/Prefabs/Attacks and Projectiles/PhysicalShockwaveMagenta.prefab";

		public static Main_Utils.AddresableObject<GameObject> BlackHole_Enemy = "Assets/Prefabs/Attacks and Projectiles/Black Hole Enemy.prefab";

		public static Main_Utils.AddresableObject<GameObject> GoopCloudLong = "Assets/Prefabs/Attacks and Projectiles/GoopCloudLong.prefab";

		public static Main_Utils.AddresableObject<GameObject> GoopCloud = "Assets/Prefabs/Attacks and Projectiles/GoopCloud.prefab";

		public static Main_Utils.AddresableObject<GameObject> Landmine = "Assets/Prefabs/Attacks and Projectiles/Landmine.prefab";

		public static Main_Utils.AddresableObject<GameObject> MindflayerBeam = "Assets/Prefabs/Attacks and Projectiles/Hitscan Beams/Mindflayer Beam.prefab";

		public static Main_Utils.AddresableObject<GameObject> ProjectileBeam = "Assets/Prefabs/Attacks and Projectiles/Hitscan Beams/Projectile Beam.prefab";

		public static Main_Utils.AddresableObject<GameObject> MaliciousBeam = "Assets/Prefabs/Attacks and Projectiles/Hitscan Beams/Malicious Beam.prefab";

		public static Main_Utils.AddresableObject<GameObject> TurretBeam = "Assets/Prefabs/Attacks and Projectiles/Hitscan Beams/Turret Beam.prefab";

		public static Main_Utils.AddresableObject<GameObject> CentaurBrainBeam = "Assets/Prefabs/Attacks and Projectiles/Hitscan Beams/Centaur Brain Beam.prefab";

		public static Main_Utils.AddresableObject<GameObject> HammerHitExplosion = "Assets/Prefabs/Attacks and Projectiles/Explosions/Explosion Hammer Weak.prefab";

		public static Main_Utils.AddresableObject<GameObject> Railcannon_Fire = "Assets/Particles/SoundBubbles/RailcannonFire.prefab";

		public static Main_Utils.AddresableObject<GameObject> Railcannon_Charge = "Assets/Particles/SoundBubbles/RailcannonFullCharge.prefab";

		public static Main_Utils.AddresableObject<GameObject> Railcannon_Beam = "Assets/Prefabs/Attacks and Projectiles/Hitscan Beams/Railcannon Beam.prefab";

		public static Main_Utils.AddresableObject<GameObject> Railcannon_HarpoonMalicious = "Assets/Prefabs/Attacks and Projectiles/Harpoon Malicious.prefab";

		public static Main_Utils.AddresableObject<GameObject> Cannonball = "Assets/Prefabs/Attacks and Projectiles/Cannonball.prefab";

		public static Main_Utils.AddresableObject<GameObject> NailAltFodder = "Assets/Prefabs/Attacks and Projectiles/NailAltFodder.prefab";

		public static Main_Utils.AddresableObject<GameObject> HarpoonMagnet = "Assets/Prefabs/Attacks and Projectiles/Harpoon.prefab";

		public static Main_Utils.AddresableObject<GameObject> NailAltChainsaw = "Assets/Prefabs/Attacks and Projectiles/NailAltChainsaw.prefab";

		public static Main_Utils.AddresableObject<GameObject> GasolineProjectile = "Assets/Prefabs/Attacks and Projectiles/GasolineProjectile.prefab";

		public static Main_Utils.AddresableObject<GameObject> Coin = "Assets/Prefabs/Attacks and Projectiles/Coin.prefab";

		public static Main_Utils.AddresableObject<GameObject> V2UnParry = "Assets/Particles/Flashes/V2FlashUnparriable.prefab";

		public static Main_Utils.AddresableObject<GameObject> CoinFlashEnemy = "Assets/Particles/Flashes/CoinFlashEnemy.prefab";

		public static Main_Utils.AddresableObject<GameObject> RocketLauncher = "Assets/Prefabs/Weapons/Rocket Launcher Cannonball.prefab";

		public static Main_Utils.AddresableObject<GameObject> MaliciousChargeEffect = "Assets/Prefabs/Effects/Charge Effect.prefab";

		public static Main_Utils.AddresableObject<GameObject> MassWindup = "Assets/Particles/SoundBubbles/MassWindup.prefab";

		public static Main_Utils.AddresableObject<GameObject> HarpoonShootSound = "Assets/Particles/SoundBubbles/HarpoonShoot.prefab";

		public static Main_Utils.AddresableObject<AudioClip> Punch_heavy = "Assets/Sounds/Weapons/punch_heavy.wav";

		public static Main_Utils.AddresableObject<AudioClip> RocketFire_Default = "Assets/Sounds/Weapons/RocketFire5.wav";

		public static Main_Utils.AddresableObject<GameObject> BreakParticle = "Assets/Particles/Breaks/BreakParticle.prefab";

		public static Main_Utils.AddresableObject<GameObject> LavaBox = "Assets/Prefabs/Sandbox/Lava.prefab";

		public static Main_Utils.AddresableObject<GameObject> FakeWallEffectScreenBuzz = "Assets/Prefabs/Effects/Screen Buzz.prefab";

		public static Main_Utils.AddresableObject<GameObject> SuicideTreeHungry = "Assets/Prefabs/Levels/Decorations/SuicideTreeHungry.prefab";

		public static Main_Utils.AddresableObject<AudioClip> Vase_Break = "Assets/Sounds/Environment/VaseBreak.wav";

		public static Main_Utils.AddresableObject<AudioClip> bigRock_Break = "Assets/Sounds/Environment/bigRockBreak.wav";

		public static Main_Utils.AddresableObject<AudioClip> P2_OST = "Assets/Music/P-2.wav";

		public static Main_Utils.AddresableObject<AudioClip> E_1_Jazz_OST = "Assets/Music/Encores/1-E Jazz.wav";

		public static Main_Utils.AddresableObject<AudioClip> E_1_Ambiance_OST = "Assets/Music/Encores/1-E Ambiance.wav";

		public static Main_Utils.AddresableObject<AudioClip> FRAUD_8_3_OST = "Assets/Music/8-3.wav";

		public static Main_Utils.AddresableObject<AudioClip> FRAUD_8_3_Clean_OST = "Assets/Music/8-3 Clean.wav";

		public static Main_Utils.AddresableObject<GameObject> Guttertank = "Assets/Prefabs/Enemies/Spawners/BombEnemySpawnerGuttertank Variant.prefab";

		public static Main_Utils.AddresableObject<GameObject> Gutterman = "Assets/Prefabs/Enemies/Spawners/BombEnemySpawnerGutterman Variant.prefab";

		public static Main_Utils.AddresableObject<GameObject> BombEnemySpawner = "Assets/Prefabs/Enemies/Spawners/BombEnemySpawner.prefab";

		public static Main_Utils.AddresableObject<GameObject> BombEnemySpawnerBreaker = "Assets/Prefabs/Enemies/Spawners/BombEnemySpawnerBreaker Variant.prefab";

		public static Main_Utils.AddresableObject<GameObject> RagePrefab = "Assets/Particles/Enemies/RageEffect.prefab";

		[IteratorStateMachine(typeof(<Fento_LoadAllAssets_Gradually>d__75))]
		public static IEnumerator Fento_LoadAllAssets_Gradually()
		{
			//yield-return decompiler failed: Unexpected instruction in Iterator.Dispose()
			return new <Fento_LoadAllAssets_Gradually>d__75(0);
		}
	}
	public static class Fento_LevelLoaders
	{
		public static class Main_Menu
		{
			public class HIMLooking : MonoBehaviour
			{
				[CompilerGenerated]
				private sealed class <Glitch>d__6 : IEnumerator<object>, IDisposable, IEnumerator
				{
					private int <>1__state;

					private object <>2__current;

					public HIMLooking <>4__this;

					private Vector3 <ogPos>5__2;

					private int <i>5__3;

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

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

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

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

					private bool MoveNext()
					{
						//IL_003f: Unknown result type (might be due to invalid IL or missing references)
						//IL_0049: Expected O, but got Unknown
						//IL_0060: Unknown result type (might be due to invalid IL or missing references)
						//IL_0065: Unknown result type (might be due to invalid IL or missing references)
						//IL_0080: Unknown result type (might be due to invalid IL or missing references)
						//IL_008a: Expected O, but got Unknown
						//IL_00b5: Unknown result type (might be due to invalid IL or missing references)
						//IL_00ba: Unknown result type (might be due to invalid IL or missing references)
						//IL_00c7: Unknown result type (might be due to invalid IL or missing references)
						//IL_00cc: Unknown result type (might be due to invalid IL or missing references)
						//IL_00cd: Unknown result type (might be due to invalid IL or missing references)
						//IL_00e5: Unknown result type (might be due to invalid IL or missing references)
						//IL_00ea: Unknown result type (might be due to invalid IL or missing references)
						//IL_00f5: Unknown result type (might be due to invalid IL or missing references)
						//IL_00ff: Expected O, but got Unknown
						//IL_0125: Unknown result type (might be due to invalid IL or missing references)
						int num = <>1__state;
						HIMLooking hIMLooking = <>4__this;
						switch (num)
						{
						default:
							return false;
						case 0:
						{
							<>1__state = -1;
							float num2 = Random.Range(1f, 5f);
							<>2__current = (object)new WaitForSeconds(num2);
							<>1__state = 1;
							return true;
						}
						case 1:
							<>1__state = -1;
							<ogPos>5__2 = ((Component)hIMLooking).transform.localPosition;
							((TMP_Text)hIMLooking.Text).text = Name;
							<>2__current = (object)new WaitForSeconds(1f);
							<>1__state = 2;
							return true;
						case 2:
							<>1__state = -1;
							<i>5__3 = 0;
							break;
						case 3:
							<>1__state = -1;
							break;
						}
						if (<i>5__3 < 70)
						{
							<i>5__3++;
							Vector2 insideUnitCircle = Random.insideUnitCircle;
							((TMP_Text)hIMLooking.Text).transform.localPosition = <ogPos>5__2 + Vector2.op_Implicit(insideUnitCircle) * (10f + (float)<i>5__3 * 0.2f);
							<>2__current = (object)new WaitForFixedUpdate();
							<>1__state = 3;
							return true;
						}
						((TMP_Text)hIMLooking.Text).transform.localPosition = <ogPos>5__2;
						((TMP_Text)hIMLooking.Text).text = "";
						((Component)hIMLooking).gameObject.SetActive(false);
						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();
					}
				}

				public static bool FirstTime = true;

				public static Color white = new Color(0.15f, 0.15f, 0.15f, 1f);

				public static string Name = "                                                                                                                                                                                \r\n                                                                                                                                                                                                        \r\n                                                                                                            ░░░░░▒▒░░░░░░░░░░░ ░░░░░░░░                                                                 \r\n                                                                                                            ░▒▒▒▓▓▓▒▒▒▒▒▒▒▒▒▒▒▒░▒▒▒▒▒▒▒▒░░░░                                                            \r\n                                                                                                              ░░░░░░░░░░░░░░░░░▒▒▒▒▒▒▒▓▓▓▓▓▒▒░░▒▒░░░                                                    \r\n                                                                                                                                    ░░░░░▒▒▒▒▓▓▓▓▓▓▒░░░░░░░                                             \r\n                                                                                                       ░░░░░                                ░░░░░░▒▒▒▒▒▒░░░░░░                                          \r\n                                                                                        ░░░░░░░░░░░░░░░░▒▓▓▓▒▒▒▒▒▒▒▒▒▒▒░░░░░░░░░░                   ░░░▒▒▒▓▓▒░░░░░░                                     \r\n                                                                                    ░░░░░▒▒▒▒▒▒▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▒▒▒▓▓▒▒▒░░░░░░░░              ░░░░▒▒▒░▒▒░░                                    \r\n                                                                             ░░░  ░░▒▒▒▓▓▓▓▓▓▓▓▓▒▓▓▓▓▒░░▒░░░░░░▒▒▒▒▒▒▒▓▓▒▒▒▒▒▒▓▓▓▓▓▓▒▒▒▒▒▒░░░▒░░░░░          ░░▒▒▒▒▒▒░░                                 \r\n                                                                            ░▒▒▒░░░▒▓▓▓▓▒▒▒░░░░░░░░░▒░░░         ░░░ ░░▒▒▒░░░░░░▒▒░▒▒▓▒▒▒▓▓▒▒▒▓▓▒▒▒░░░          ░░░▒▒▒▒░                                \r\n                                                                       ░░░░░░▒▓▒▒▓▓▓▒▒░░░░░                                        ░░▒▒░  ░▒▓▓▓▓▓▓▓▓▒▒░░░  ░░       ░░░░░                               \r\n                                                                     ░░░▒▒▓▓▒▓▓▒░░░░░░                                               ░░░   ░░░░░▒▒▒▓▓▓▓▓▒░░░░░░                                         \r\n                                                                ░░░░▒▒▒▓▓▓▒▒▒░░░░░ ░░░░░░░░  ░░                                                  ░░░▒▒▒▒▓▓▓▒▒▒▒░░                                       \r\n                                                             ░░░▒▒▒▓▓▒▒▒▒▒░░░░░▒▒▒▒▒▒▒▒▓▓▓▒▒░░░░░░░░                                               ░░░▒▒▒▓▓▓▓▓▓▒▒▒░░                                    \r\n                                                          ░░░░▒▒▓▓▓▓▓▒░  ░░░░▒▒▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▒▒▒▒▒▒░░                                                 ░░░▒▒▒▒▓▓▓▓▓▒░░░░░░                              \r\n                                                         ░░▒▒▓▓▓▓▒░░░░  ░░▒▒▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▒░                                                      ░░▒▓▓▓▓▓░░░▒░░                             \r\n                                                    ░░░░░▒▒▓▒▒▒▒▒░░   ░░▒▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓░░                                                       ░░░░▒▓▒▒▒▒░░░                           \r\n                                                   ░░▒▓▓▓▓▓▒░░      ░░░▒▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▒░                                                           ░░▒▓▓▓▓▓▒░░░░                       \r\n                                                  ░░▒▒▓▓▒▒░░░░     ░░▒▒▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▒░                                                            ░░▒▓▓▓▓▓▓▓░░                      \r\n                                             ░░░░░▒▒▒▒▒▒▒░        ░░▒▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓░                                                       ░░░░░░▒▓▓▓▓▓▒▒░░                      \r\n                                            ░░▒▓▓▓▓▒░░░            ░▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▒░                                                    ░░░▒▒▒▒▓▓▒░░░░░░                        \r\n                                           ░░▒▓▓▓▓▒▒░░            ░░▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓░░                                                ░░░░▒▒▓▓▓▓▓▒░░                             \r\n                                         ░░▒▓▓▓▒░░░░              ░▒▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▒░                                           ░░░░░░▒▒▓▓▓▒▒░░░░░░░                             \r\n                                      ░░░▒▒▓▓▒▒░░                 ░░▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓░░                                      ░░▒▒▒▓▓▓▓▓▓▓▓▒░░░░                                   \r\n                                     ░░▒▓▓▓▓▒░░                   ░░▒▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓░                                 ░░░░ ░░▒▓▓▓▒▒▒░░░░░░                                      \r\n                                    ░▒▒▓▓▓▒░░                     ░░▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▒░░░                             ░░ ░▒▓▓▓▓▒▓▓▒▒▒░░░                                            \r\n                                    ░▒▓▓▒░░░                       ░▒▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓░░                         ░░░░▒▒▒▒▒▒▒▒▒▒▒▒▒░░░░                                               \r\n                                 ░░░▒▓▓▒▒░░                         ░▒▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▒▒░                     ░░░░░░▒▒▒▓▓▓▒▒▒▒░░░░░                                                    \r\n                                 ▒▒▓▓▒░░                             ░▒▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▒▒░                 ░░░░▒▒▒▓▓▓▓▒▒▒▒▓▓▒░░                                                          \r\n                               ░░▒▓▓▓▒░                               ░░▒▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▒▒▓▓▒▒░░          ░▒▒▒░░░░▒▓▓▓▓▓▒▒▒▒▒░  ░░░░░                                                          \r\n                             ░░░▒▓▒▒▒▒░░                                ░▒▓▓▓▓▒▒▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▒░░░░   ░░░░░░░░░░░▒▓▒▓▓▓▓▒▒▒░░░░░  ░░                                                                 \r\n                             ░░▒▓▓▒░                                     ░░░▒▒▒░▒▒▓▓▓▓▓▓▓▓▓▒▒▒▒▒▒░░░░░░░░▒▒▒▒▒▓▓▒▒▒▒▒▒▒░░░░░░░░                                                                         \r\n                            ░▒▒▓▓▓▒▒▒▒░░░░░░░░░                                 ░░░░░▒▒▒▒▒░░░░░▒▒▒▒▓▓▓▓▓▓▓▓▒▒▒▒▒▒░░░░░                                                                                  \r\n                             ░░░░░▒▒▒▓▓▓▒▓▒▒▒▒▒▒░░░░░░           ░░  ░░░░    ░░░░░░▒▒▒▒▒▒▒▒▒▒▒▒▒▓▓▒▒▒▒▒░░░░░░░░░░░                                                                                      \r\n                                   ░░░░░░░▒▒▓▒▓▓▒▒▒▒▒▒▒░░░░▒▒▒░░░▒▒▒░▒▒▒▒▒▒▒▒▒▒▒▒▓▓▓▓▒▓▓▓▒░░░░▒▒░░░░░░░░                                                                                                \r\n                                          ░░░░░░▒▒▒▒░░▒▒▒▒▒▒▒░▒▒▒▒▒▒▒▒▒▒░░▒▒▒▒▒░░░░▒▒░░░░░░                                                                                                             \r\n                                                       ░░░░░░ ░░░░░░░░░░░  ░░░░                                                                                                                         \r\n                                                                                                                                                                                                        \r\n                                                                                                  ░░░░░                                                                                                 \r\n                                           ░▒░░░░░ ░░░░  ░░░                               ░░░░░░▒▒▒▒▒░░                                                                                                \r\n                                            ░░░▒▒▒▒▒▒▒░░░▒▒▒▒▒▒▒░░░░░░░░░░░ ░░▒▒▒▒▒▒░░░░░░░░░▒▒▒▒░░░░░                                                                                                  \r\n                                               ░░░▒░░░░░▒▒▒▓▓▒▒░░░▒▒▒▒▒▒░░░▒▒▒▒▒▒▒▒░░░░░░░░ ░░░░░░                                                                                                      \r\n                                                         ░░░░░░░  ░░░░▒░░  ░░░░░░░░░                                             ";

				public TextMeshProUGUI Text;

				public void Start()
				{
					//IL_0012: Unknown result type (might be due to invalid IL or missing references)
					Text = ((Component)this).GetComponent<TextMeshProUGUI>();
					((Graphic)Text).color = white;
					((TMP_Text)Text).text = "";
					((TMP_Text)Text).fontSize = 1f;
				}

				public void OnEnable()
				{
					if (Fento_Difficulty_Options.Buff_Forse_All_UltraEnrage)
					{
						if ((FirstTime && Random.value < 0.25f) || Random.value < 0.1f)
						{
							FirstTime = false;
							((MonoBehaviour)this).StartCoroutine(Glitch());
						}
						else if (!Object.op_Implicit((Object)(object)Text))
						{
							Start();
						}
						else
						{
							((TMP_Text)Text).text = "";
						}
					}
				}

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

			public class ColorV1InUltraEnrage : MonoBehaviour
			{
				public static Color white = Color.white;

				public static Color red = new Color(1f, 0.45f, 0.45f, 1f);

				public bool UltraRageActive;

				public void FixedUpdate()
				{
					//IL_0027: Unknown result type (might be due to invalid IL or missing references)
					//IL_0020: Unknown result type (might be due to invalid IL or missing references)
					//IL_002c: Unknown result type (might be due to invalid IL or missing references)
					//IL_0040: Unknown result type (might be due to invalid IL or missing references)
					if (UltraRageActive != Fento_Difficulty_Options.Buff_Forse_All_UltraEnrage)
					{
						UltraRageActive = Fento_Difficulty_Options.Buff_Forse_All_UltraEnrage;
						Color color = (UltraRageActive ? red : white);
						Image[] componentsInChildren = ((Component)this).gameObject.GetComponentsInChildren<Image>();
						for (int i = 0; i < componentsInChildren.Length; i++)
						{
							((Graphic)componentsInChildren[i]).color = color;
						}
					}
				}
			}

			public class Fento_Skill_Status_Marker : MonoBehaviour
			{
				public TextMeshProUGUI toAdd;

				public string OgText;

				public bool UltraRageActive;

				public void Start()
				{
					toAdd = ((Component)this).GetComponent<TextMeshProUGUI>();
					OgText = ((TMP_Text)toAdd).text;
					if ((Object)(object)toAdd == (Object)null)
					{
						Object.Destroy((Object)(object)this);
					}
					else
					{
						AddText();
					}
				}

				public void FixedUpdate()
				{
					if (UltraRageActive != Fento_Difficulty_Options.Buff_Forse_All_UltraEnrage)
					{
						UltraRageActive = Fento_Difficulty_Options.Buff_Forse_All_UltraEnrage;
						TextMeshProUGUI obj = toAdd;
						((TMP_Text)obj).text = ((TMP_Text)obj).text + "<color=#FF0000> + Fento</color> <color=#FF3F00>3.8.370</color> <color=#FF6A00>Modified</color>";
						AddText();
					}
				}

				public void AddText()
				{
					((TMP_Text)toAdd).text = OgText;
					TextMeshProUGUI obj = toAdd;
					((TMP_Text)obj).text = ((TMP_Text)obj).text + "<color=#FF0000> +" + (UltraRageActive ? "ULTRAENRAGED" : "") + " Fento</color> <color=#FF3F00>3.8.370</color> <color=#FF6A00>Modified</color>";
				}
			}

			public class Progress_Visuals_Adder : MonoBehaviour
			{
				public class FentoExtraChallenge : MonoBehaviour
				{
					public LevelSelectPanel level;

					public TextMeshProUGUI textMeshPro;

					public void Start()
					{
						textMeshPro = ((Component)this).GetComponentInChildren<TextMeshProUGUI>(true);
						((TMP_Text)textMeshPro).text = "[EXTRA CHALLENGE] P RANK THE LEVEL INCLUDING ALT PATH ON BRUTAL+ DIFFICULTY";
					}
				}

				public LevelSelectPanel level;

				public int GetProgress()
				{
					if (Fento_Progress_Containers.IntDictionaty.TryGetValue(level.levelNumber, out var value))
					{
						return value.value;
					}
					return 0;
				}

				public void OnEnable()
				{
					//IL_002e: 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_00e2: Unknown result type (might be due to invalid IL or missing references)
					//IL_00b1: Unknown result type (might be due to invalid IL or missing references)
					try
					{
						int progress = GetProgress();
						if (Fento_Progress_Containers.HasFlag(progress, Fento_Progress_Containers.SaveFlags.Fento_Challenge))
						{
							((Graphic)level.challengeIcon).color = new Color(1f, 0.25f, 0.25f, 1f);
							((Graphic)((Component)level.challengeIcon).GetComponentInChildren<TextMeshProUGUI>()).color = Color.white;
						}
						if (Fento_Progress_Containers.HasFlag(progress, Fento_Progress_Containers.SaveFlags.Fento_P_rank))
						{
							TMP_Text componentInChildren = ((Component)((Component)this).transform.Find("Stats").Find("Rank")).GetComponentInChildren<TMP_Text>();
							if (componentInChildren.text == "<color=#FFFFFF>P</color>")
							{
								((Graphic)((Component)componentInChildren.transform.parent).GetComponent<Image>()).color = new Color(1f, 0.25f, 0.25f, 1f);
							}
						}
						if (Fento_Progress_Containers.HasFlag(progress, Fento_Progress_Containers.SaveFlags.UltraRage_P_rank))
						{
							((Graphic)((Component)level).GetComponent<Image>()).color = new Color(0.75f, 0f, 0f, 1f);
						}
						MenuChallengeHover componentInChildren2 = ((Component)level).GetComponentInChildren<MenuChallengeHover>(true);
						if ((Object)(object)componentInChildren2 != (Object)null)
						{
							GameObject field = componentInChildren2.GetField<GameObject>("panelToActivate");
							if ((Object)(object)field != (Object)null)
							{
								GameObjectExtensions.GetOrAddComponent<FentoExtraChallenge>(field).level = level;
							}
						}
					}
					catch (Exception ex)
					{
						Debug.LogError((object)ex);
					}
				}
			}

			public static Main_Utils.PathObject V1_V1 = "Canvas/Main Menu (1)/V1";

			public static Main_Utils.PathObject ExtraText_1 = "Canvas/Main Menu (1)/LeftSide/Text (3)";

			public static Main_Utils.PathObject ExtraText_2 = "Canvas/Main Menu (1)/LeftSide/Text (3)/Text";

			public static Main_Utils.PathObject ExtraText_Christmas = "Canvas/Main Menu (1)/LeftSide/Holiday Greetings/Text (Christmas)";

			public static Main_Utils.PathObject ExtraText_Halloween = "Canvas/Main Menu (1)/LeftSide/Holiday Greetings/Text (Halloween)";

			public static Main_Utils.PathObject ExtraText_Easter = "Canvas/Main Menu (1)/LeftSide/Holiday Greetings/Text (Easter)";

			public static TextMeshProUGUI Text_1;

			public static TextMeshProUGUI Text_2;

			public static TextMeshProUGUI Text_Christmas;

			public static TextMeshProUGUI Text_Halloween;

			public static TextMeshProUGUI Text_Easter;

			public static void SetupFentoLevel()
			{
				//IL_0073: Unknown result type (might be due to invalid IL or missing references)
				//IL_0078: Unknown result type (might be due to invalid IL or missing references)
				if ((Object)(object)ExtraText_1.gameObject != (Object)null)
				{
					Text_1 = ExtraText_1.GetComponent<TextMeshProUGUI>();
					TryAddFento(Text_1);
				}
				if ((Object)(object)ExtraText_2.gameObject != (Object)null)
				{
					Text_2 = ExtraText_2.GetComponent<TextMeshProUGUI>();
					if (Object.op_Implicit((Object)(object)Text_2))
					{
						GameObject obj = Object.Instantiate<GameObject>(ExtraText_2.gameObject, ExtraText_2.transform.position, Quaternion.identity);
						Main_Utils.Invoke_WithDelay(0.1f, delegate
						{
							//IL_0038: Unknown result type (might be due to invalid IL or missing references)
							//IL_005c: Unknown result type (might be due to invalid IL or missing references)
							if (Object.op_Implicit((Object)(object)obj))
							{
								obj.transform.SetParent(ExtraText_2.transform.parent, true);
								obj.transform.localScale = Vector3.one;
								obj.transform.localPosition = new Vector3(1062f, -480f, 0f);
								GameObjectExtensions.GetOrAddComponent<HIMLooking>(obj);
							}
						});
					}
					TryAddFento(Text_2);
				}
				if ((Object)(object)ExtraText_Christmas.gameObject != (Object)null)
				{
					Text_Christmas = ExtraText_Christmas.GetComponent<TextMeshProUGUI>();
					TryAddFento(Text_Christmas);
				}
				if ((Object)(object)ExtraText_Halloween.gameObject != (Object)null)
				{
					Text_Halloween = ExtraText_Halloween.GetComponent<TextMeshProUGUI>();
					TryAddFento(Text_Halloween);
				}
				if ((Object)(object)ExtraText_Easter.gameObject != (Object)null)
				{
					Text_Easter = ExtraText_Easter.GetComponent<TextMeshProUGUI>();
					TryAddFento(Text_Easter);
				}
				LevelSelectPanel[] array = Resources.FindObjectsOfTypeAll<LevelSelectPanel>().Where(delegate(LevelSelectPanel L)
				{
					//IL_0006: Unknown result type (might be due to invalid IL or missing references)
					//IL_000b: Unknown result type (might be due to invalid IL or missing references)
					Scene scene2 = ((Component)L).gameObject.scene;
					return ((Scene)(ref scene2)).isLoaded && Changed_Levels.Contains(L.levelNumber);
				}).ToArray();
				foreach (LevelSelectPanel val in array)
				{
					if (!((Object)(object)val == (Object)null) && !((Object)(object)((Component)val).transform == (Object)null) && (Object)(object)((Component)val).transform.GetChild(0) != (Object)null)
					{
						GameObjectExtensions.GetOrAddComponent<LevelSelect_Mark_Fento_Text>(((Component)((Component)val).transform.GetChild(0)).gameObject).Real_Level = true;
						GameObjectExtensions.GetOrAddComponent<LevelSelect_Mark_Fento_Icon>(((Component)((Component)val).transform.GetChild(2)).gameObject).levelSelectPanel = val;
					}
				}
				array = Resources.FindObjectsOfTypeAll<LevelSelectPanel>().Where(delegate(LevelSelectPanel L)
				{
					//IL_0006: Unknown result type (might be due to invalid IL or missing references)
					//IL_000b: Unknown result type (might be due to invalid IL or missing references)
					Scene scene = ((Component)L).gameObject.scene;
					return ((Scene)(ref scene)).isLoaded;
				}).ToArray();
				foreach (LevelSelectPanel val2 in array)
				{
					if (!((Object)(object)val2 == (Object)null) && !((Object)(object)((Component)val2).transform == (Object)null) && Fento_Progress_Containers.IntDictionaty.ContainsKey(val2.levelNumber))
					{
						try
						{
							GameObjectExtensions.GetOrAddComponent<Progress_Visuals_Adder>(((Component)val2).gameObject).level = val2;
						}
						catch (Exception ex)
						{
							Debug.LogError((object)ex);
						}
					}
				}
				GameObjectExtensions.GetOrAddComponent<ColorV1InUltraEnrage>(V1_V1.gameObject);
			}

			public static void TryAddFento(TextMeshProUGUI toAdd)
			{
				ComponentExtensions.GetOrAddComponent<Fento_Skill_Status_Marker>((Component)(object)toAdd);
			}
		}

		public static class Prelude_0_1
		{
			[RequireComponent(typeof(TextMeshProUGUI))]
			public class TMPGradientAnimator : MonoBehaviour
			{
				private TextMeshProUGUI _text;

				public Color ColorTopLeftStart = new Color(1f, 0.3f, 0.3f);

				public Color ColorTopLeftEnd = new Color(0.5f, 0f, 0f);

				public float Speed = 0.75f;

				public void Start()
				{
					//IL_001f: Unknown result type (might be due to invalid IL or missing references)
					((Component)this).transform.localRotation = Quaternion.Euler(0f, 0f, Random.Range(-4f, 4f));
					_text = ((Component)this).GetComponent<TextMeshProUGUI>();
					((TMP_Text)_text).enableVertexGradient = true;
				}

				public void Update()
				{
					//IL_0018: Unknown result type (might be due to invalid IL or missing references)
					//IL_001e: Unknown result type (might be due to invalid IL or missing references)
					//IL_0024: Unknown result type (might be due to invalid IL or missing references)
					//IL_0029: Unknown result type (might be due to invalid IL or missing references)
					//IL_002b: Unknown result type (might be due to invalid IL or missing references)
					//IL_0031: Unknown result type (might be due to invalid IL or missing references)
					//IL_0037: Unknown result type (might be due to invalid IL or missing references)
					//IL_003c: Unknown result type (might be due to invalid IL or missing references)
					//IL_004c: Unknown result type (might be due to invalid IL or missing references)
					//IL_0060: Unknown result type (might be due to invalid IL or missing references)
					//IL_0066: Unknown result type (might be due to invalid IL or missing references)
					//IL_006b: Unknown result type (might be due to invalid IL or missing references)
					//IL_007b: Unknown result type (might be due to invalid IL or missing references)
					//IL_008f: Unknown result type (might be due to invalid IL or missing references)
					//IL_0095: Unknown result type (might be due to invalid IL or missing references)
					//IL_009a: Unknown result type (might be due to invalid IL or missing references)
					//IL_00a2: Unknown result type (might be due to invalid IL or missing references)
					//IL_00a3: Unknown result type (might be due to invalid IL or missing references)
					//IL_00a4: Unknown result type (might be due to invalid IL or missing references)
					//IL_00a5: Unknown result type (might be due to invalid IL or missing references)
					//IL_00a7: Unknown result type (might be due to invalid IL or missing references)
					float num = Mathf.PingPong(Time.time * Speed, 1f);
					Color val = Color.Lerp(ColorTopLeftStart, ColorTopLeftEnd, num);
					Color val2 = Color.Lerp(ColorTopLeftEnd, ColorTopLeftStart, num);
					Color val3 = Color.Lerp(new Color(0.15f, 0f, 0f), new Color(0.5f, 0f, 0f), num);
					Color val4 = Color.Lerp(new Color(0.5f, 0f, 0f), new Color(0.15f, 0f, 0f), num);
					((TMP_Text)_text).colorGradient = new VertexGradient(val, val2, val3, val4);
				}
			}

			public class Spawn_Bloody_FerryManOnDeath : MonoBehaviour
			{
				public EnemyIdentifier eid;

				public void Start()
				{
					//IL_002c: Unknown result type (might be due to invalid IL or missing references)
					//IL_0036: Expected O, but got Unknown
					eid = ((Component)this).GetComponent<EnemyIdentifier>();
					if (!Object.op_Implicit((Object)(object)eid))
					{
						return;
					}
					eid.onDeath.AddListener((UnityAction)delegate
					{
						//IL_0041: Unknown result type (might be due to invalid IL or missing references)
						//IL_005b: Unknown result type (might be due to invalid IL or missing references)
						if (Object.op_Implicit((Object)(object)eid) && !eid.puppet)
						{
							Transform transform = ((Component)((Component)eid).GetComponentInParent<GoreZone>()).transform;
							EnemyIdentifier eid0 = Main_Utils.Integrate_Enemy(Main_Utils.DetectebleEnemies.Ferryman, transform, active: false, ((Component)this).transform.position, Quaternion.Euler(0f, Random.value * 360f, 0f));
							eid0.immuneToFriendlyFire = true;
							eid0.dontCountAsKills = true;
							eid0.BuffAll();
							eid0.Make_Puppet_OnStart();
							Main_Utils.Invoke_WithDelay(Random.value, delegate
							{
								if (Object.op_Implicit((Object)(object)eid0))
								{
									((Component)eid0).gameObject.SetActive(true);
								}
							});
						}
					});
				}
			}

			public class OnDeathCreator : MonoBehaviour
			{
				private void Start()
				{
					//IL_001e: Unknown result type (might be due to invalid IL or missing references)
					//IL_0028: Expected O, but got Unknown
					EnemyIdentifier component = ((Component)this).GetComponent<EnemyIdentifier>();
					if (!((Object)(object)component == (Object)null))
					{
						component.onDeath.AddListener((UnityAction)delegate
						{
							//IL_0024: Unknown result type (might be due to invalid IL or missing references)
							//IL_0038: Unknown result type (might be due to invalid IL or missing references)
							//IL_0067: Unknown result type (might be due to invalid IL or missing references)
							//IL_007b: Unknown result type (might be due to invalid IL or missing references)
							EnemyIdentifier val = Main_Utils.Integrate_Enemy(Main_Utils.DetectebleEnemies.Virtue, ((Component)this).transform.parent, active: true, new Vector3(233f, (float)(60 + Random.Range(-5, 5)), 500f), Quaternion.Euler(0f, 270f, 0f));
							EnemyIdentifier obj = Main_Utils.Integrate_Enemy(Main_Utils.DetectebleEnemies.Virtue, ((Component)this).transform.parent, active: true, new Vector3(170f, (float)(60 + Random.Range(-5, 5)), 500f), Quaternion.Euler(0f, 90f, 0f));
							val.healthBuffModifier *= 2f;
							val.BuffAll();
							val.Make_Puppet_OnStart();
							obj.healthBuffModifier *= 2f;
							obj.BuffAll();
							obj.Make_Puppet_OnStart();
						});
					}
				}
			}

			public class DisableDoor : MonoBehaviour
			{
				public bool Lock = true;

				public Door Door;

				public EnemyIdentifier eid;

				public void Start()
				{
					//IL_0051: Unknown result type (might be due to invalid IL or missing references)
					//IL_005b: Expected O, but got Unknown
					eid = ((Component)this).GetComponent<EnemyIdentifier>();
					if (!Object.op_Implicit((Object)(object)eid) || !Object.op_Implicit((Object)(object)Door))
					{
						return;
					}
					bool i = Lock;
					eid.onDeath.AddListener((UnityAction)delegate
					{
						if (i)
						{
							Door.Lock();
						}
						else
						{
							Door.Unlock();
						}
					});
				}
			}

			public class DisableWhileDoorLocked : MonoBehaviour
			{
				public Door Door;

				public void OnEnable()
				{
					if (Object.op_Implicit((Object)(object)Door) && Door.locked)
					{
						((Component)this).gameObject.SetActive(false);
					}
				}
			}

			public static Main_Utils.PathObject UTRAKILL = "Canvas/HurtScreen/Title Sound/Image";

			public static Main_Utils.PathObject FentoTitle = "Canvas/HurtScreen/Title Sound";

			public static TextMeshProUGUI Text;

			public static Main_Utils.PathObject A_Wave_1 = "3 - Gun Room/Enemies/Wave 1";

			public static Main_Utils.PathObject A_Wave_2 = "3 - Gun Room/Enemies/Wave 2";

			public static Main_Utils.PathObject A_Trigger_1 = "3 - Gun Room/Enemies/Trigger";

			public static ActivateArena A_ActivateArena_1;

			public static ActivateNextWave A_ActivateNextWave_1;

			public static Main_Utils.PathObject B_Wave_1 = "4 - Hallway/4 Stuff/Enemy/Wave 1";

			public static Main_Utils.PathObject B_Trigger_1 = "4 - Hallway/4 Stuff/Enemy/Trigger 1";

			public static Main_Utils.PathObject B_Wave_2 = "4 - Hallway/4 Stuff/Enemy/Wave 2";

			public static Main_Utils.PathObject B_Trigger_2 = "4 - Hallway/4 Stuff/Enemy/Trigger 2";

			public static ActivateArena B_ActivateArena_1;

			public static ActivateArena B_ActivateArena_2;

			public static Main_Utils.PathObject C_Wave_1 = "6 - Glass Hallway/6 Content/Enemies";

			public static Main_Utils.PathObject C_Trigger_1 = "6 - Glass Hallway/6 Content/Enemies/Trigger";

			public static ActivateArena C_ActivateArena_1;

			public static Main_Utils.PathObject C_Wave_1_Checkpoint = "Checkpoint";

			public static Main_Utils.PathObject D_Wave_1 = "7 - Fan Room/7 Content/Enemies";

			public static Main_Utils.PathObject D_Trigger_1 = "7 - Fan Room/7 Content/Enemies/Cube";

			public static Transform[] D_childs_1;

			public static ActivateArena D_ActivateArena_1;

			public static Main_Utils.PathObject D_Wave_1_Clone = "7 - Fan Room/7 Content(Clone)/Enemies";

			public static Main_Utils.PathObject D_Checkpoint = "Checkpoint";

			public static Main_Utils.PathObject D_Door_3 = "Door (Large) With Controllers (3)/Door (Large)";

			public static Main_Utils.PathObject D_Door_4 = "Door (Large) With Controllers (4)/Door (Large)";

			public static Main_Utils.PathObject D_Door_2 = "Door (Large) With Controllers (2)/Door (Large)";

			public static Main_Utils.PathObject E_Wave_1 = "9 - Projectile Arena/9 Content/Enemies/Projectile Wave";

			public static Main_Utils.PathObject E_Wave_2 = "9 - Projectile Arena/9 Content/Enemies/New Wave";

			public static Main_Utils.PathObject E_Trigger_1 = "9 - Projectile Arena/9 Content/Enemies/Cube";

			public static ActivateArena E_ActivateArena_1;

			public static ActivateNextWave E_ActivateNextWave_1;

			public static ActivateNextWave E_ActivateNextWave_2;

			public static Main_Utils.PathObject E_Wave_1_Clone = "9 - Projectile Arena/9 Content(Clone)/Enemies/Projectile Wave";

			public static Main_Utils.PathObject E_Wave_2_Clone = "9 - Projectile Arena/9 Content(Clone)/Enemies/New Wave";

			public static Main_Utils.PathObject E_Statue_1 = "9 - Projectile Arena/9 Nonstuff/Decorations/Statue";

			public static Main_Utils.PathObject E_Statue_2 = "9 - Projectile Arena/9 Nonstuff/Decorations/Statue (1)";

			public static Main_Utils.PathObject F_Wave_1 = "10 - Combo Hallway/10 Content/Enemies/Wave 1";

			public static Main_Utils.PathObject F_Wave_2 = "10 - Combo Hallway/10 Content/Enemies/Wave 2";

			public static Main_Utils.PathObject F_Trigger_1 = "10 - Combo Hallway/10 Content/Enemies/Trigger 1";

			public static Main_Utils.PathObject F_Trigger_2 = "10 - Combo Hallway/10 Content/Enemies/Trigger 2";

			public static ActivateArena F_ActivateArena_1;

			public static ActivateArena F_ActivateArena_2;

			public static Main_Utils.PathObject F_Wave_1_Clone = "10 - Combo Hallway/10 Content(Clone)/Enemies/Wave 1";

			public static Main_Utils.PathObject F_Wave_2_Clone = "10 - Combo Hallway/10 Content(Clone)/Enemies/Wave 2";

			public static Main_Utils.PathObject F_Wave_1_Checkpoint_1 = "Checkpoint (1)";

			public static Main_Utils.PathObject F_Wave_1_Door_5 = "Door (Large) With Controllers (5)/Door (Large)";

			public static Main_Utils.PathObject F_Wave_1_Door_7 = "Door (Large) With Controllers (7)/Door (Large)";

			public static Main_Utils.PathObject G_Wave_1 = "11 - Projectile Zombies Room/11 Content/Enemies/Wave 1";

			public static Main_Utils.PathObject G_Wave_2 = "11 - Projectile Zombies Room/11 Content/Enemies/Wave 1/Filth";

			public static Main_Utils.PathObject G_Trigger_1A = "11 - Projectile Zombies Room/11 Content/Enemies/Trigger 1A";

			public static Main_Utils.PathObject G_Trigger_1B = "11 - Projectile Zombies Room/11 Content/Enemies/Trigger 1B";

			public static Main_Utils.PathObject G_Trigger_2 = "11 - Projectile Zombies Room/11 Content/Enemies/Trigger 2";

			public static ActivateArena G_ActivateArena_1A;

			public static ActivateArena G_ActivateArena_1B;

			public static ActivateArena G_ActivateArena_2;

			public static Main_Utils.PathObject G_Wave_1_Clone = "11 - Projectile Zombies Room/11 Content(Clone)/Enemies/Wave 1";

			public static Main_Utils.PathObject G_Wave_2_Clone = "11 - Projectile Zombies Room/11 Content(Clone)/Enemies/Wave 1/Filth";

			public static Main_Utils.PathObject H_Wave_1_Clone = "12 - Boss Hallway/12 Content(Clone)/Enemies";

			public static Main_Utils.PathObject H_Wave_1 = "12 - Boss Hallway/12 Content/Enemies";

			public static Main_Utils.PathObject H_Trigger_1 = "12 - Boss Hallway/12 Content/Enemies/Cube";

			public static Transform[] H_childs_1;

			public static ActivateArena H_ActivateArena_1;

			public static Main_Utils.PathObject H_Secret_Wave_1_Clone = "12 - Boss Hallway/12 Content(Clone)/Secret Area";

			public static Main_Utils.PathObject H_Secret_Wave_1 = "12 - Boss Hallway/12 Content/Secret Area";

			public static Main_Utils.PathObject H_Secret_ActivateArena_Obj = "12 - Boss Hallway/12 Content/Secret Area/Cube (2)";

			public static ActivateArena H_Secret_ActivateArena = null;

			public static Main_Utils.PathObject H_Secret_Door_8 = "Door (Large) With Controllers (8)/Door (Large)";

			public static Main_Utils.PathObject H_Secret_Door_10 = "Door (Large) With Controllers (10)/Door (Large)";

			public static Main_Utils.PathObject H_Secret_Door_7 = "Door (Large) With Controllers (7)/Door (Large)";

			public static Main_Utils.PathObject H_Secret_Checkpoint_5_Obj = "Checkpoint (5)";

			public static CheckPoint H_Secret_Checkpoint_5 = null;

			public static EnemyIdentifier I_Boss_MaliciousFace;

			public static List<Idol> I_Idols = new List<Idol>();

			public static Main_Utils.PathObject I_Boss = "13 - Malicious Face Arena/13 Content/Boss/Spider";

			public static Main_Utils.PathObject I_Wave_1 = "13 - Malicious Face Arena/13 Content/Boss";

			public static Main_Utils.PathObject I_Trigger_1 = "13 - Malicious Face Arena/13 Content/Trigger";

			public static ObjectActivator I_ObjectActivator_1;

			public static ActivateNextWave I_ActivateNextWave_1;

			public static ActivateArena I_ActivateArena_1;

			public static Main_Utils.PathObject I_Wave_1_Clone = "13 - Malicious Face Arena/13 Content(Clone)/Boss";

			public static List<Enemy> A_3_Machines_1 = new List<Enemy>();

			public static List<Enemy> E_9_Machines_2 = new List<Enemy>();

			public static List<Enemy> F_10_Machines_3 = new List<Enemy>();

			public static List<Enemy> G_11_Machines_4 = new List<Enemy>();

			public static List<Enemy> H_12_Machines_5 = new List<Enemy>();

			public static Main_Utils.PathObject Hint_1 = "5 - Glass Intro/5 Nonstuff/Cube (2)";

			public static HudMessage Message_1;

			public const string Text_1 = "<color=orange>ENVIRONMENT</color> and <color=orange>TACTICS</color> can be very <color=#89FFFF>USEFUL</color> \n<color=#FF0000>YOU KNOW THE DRIL</color>";

			public static Main_Utils.PathObject Hint_2 = "10 - Combo Hallway/10 Nonstuff/Hint";

			public static HudMessage Message_2;

			public const string Text_2 = "Upon death <color=orange>Radiance Idols</color> now can <color=#89FFFF>INCREASE RADIANCE TIER</color> \n<color=#FF0000>IT'S NOT GONNA HURT</color>";

			public static Main_Utils.PathObject Hint_3 = "11 - Projectile Zombies Room/11 Nonstuff/Hint";

			public static HudMessage Message_3;

			public const string Text_3 = "<color=#FF6A00>SOME ENEMIES</color> now form <color=#89FFFF>UNIQUE SYMBIOTIC PAIRS</color> \n<color=#FF0000>DON'T BE SURPRISED</color>";

			public static Main_Utils.PathObject Hint_4 = "12 - Boss Hallway/12 Nonstuff/Hint";

			public static HudMessage Message_4;

			public const string Text_4 = "<color=#FF0000>. . .</color>";

			public static void SetupFentoLevel()
			{
				//IL_0022: Unknown result type (might be due to invalid IL or missing references)
				//IL_03a6: Unknown result type (might be due to invalid IL or missing references)
				//IL_03b0: Expected O, but got Unknown
				//IL_03b1: Unkno