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 System.Security;
using System.Security.Permissions;
using BepInEx;
using BepInEx.Logging;
using Discord;
using FentoKill.Other;
using FentoKill.Patches;
using FentoKill.UltraEnraged;
using FentoKill.Utility;
using HarmonyLib;
using Microsoft.CodeAnalysis;
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 ULTRAKILL.Portal.Geometry;
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: IgnoresAccessChecksTo("Assembly-CSharp")]
[assembly: TargetFramework(".NETFramework,Version=v4.7.2", FrameworkDisplayName = ".NET Framework 4.7.2")]
[assembly: SecurityPermission(SecurityAction.RequestMinimum, SkipVerification = true)]
[assembly: AssemblyVersion("1.0.0.0")]
[module: UnverifiableCode]
[module: RefSafetyRules(11)]
namespace Microsoft.CodeAnalysis
{
[CompilerGenerated]
[Microsoft.CodeAnalysis.Embedded]
internal sealed class EmbeddedAttribute : Attribute
{
}
}
namespace System.Runtime.CompilerServices
{
[CompilerGenerated]
[Microsoft.CodeAnalysis.Embedded]
[AttributeUsage(AttributeTargets.Module, AllowMultiple = false, Inherited = false)]
internal sealed class RefSafetyRulesAttribute : Attribute
{
public readonly int Version;
public RefSafetyRulesAttribute(int P_0)
{
Version = P_0;
}
}
}
namespace FentoKill
{
[BepInPlugin("com.enragedone.fentokill", "FentoKill", "3.10.390")]
public class Fento_Loader : BaseUnityPlugin
{
public const string GUID = "com.enragedone.fentokill";
public const string Name = "FentoKill";
public const string Version = "3.10.390";
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.10.390 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 +", 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+", "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+- (WIP)", "com.enragedone.fentokill.settings.B__Buff_Forse_All_UltraEnrage", false);
Fento_Difficulty_Options.B__Issue_Disable_Hazards = new BoolField(val, "Disable UltraEnrage Hazards+-", "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+", "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 INCREASE RADIANCE", "com.enragedone.fentokill.settings.B__Mech_Disable_RadIdols_Buff", false);
Fento_Difficulty_Options.B__Mech_Disable_Custom_Symbiotes = new BoolField(val4, "Disable UNIQUE SYMBIOTIC PAIRS+", "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+-", "com.enragedone.fentokill.settings.B__7_4_Disable_Defence", false);
Fento_Difficulty_Options.B__7_4_Disable_OverHeat = new BoolField(val6, "Disable OverHeat+-", "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.10.390 loaded successfully");
Confing_Loaded = true;
}
catch
{
_Logger.LogError((object)"Fento_Loader v3.10.390 !!!---!!! 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.10.390 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 StringDictionaty = new Dictionary();
public static Dictionary IntDictionaty = new Dictionary();
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.10.390 - 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();
if ((Object)(object)MainFont == (Object)null)
{
MainFont = (from e in Resources.FindObjectsOfTypeAll()
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.Instance != (Object)null && MonoSingleton.Instance.toAppear.Length != 0 && (Object)(object)MonoSingleton.Instance.toAppear[0] != (Object)null && (Object)(object)MonoSingleton.Instance.toAppear[0].transform.GetChild(1) != (Object)null)
{
LevelSelect_Mark_Fento_Text orAddComponent = ComponentExtensions.GetOrAddComponent((Component)(object)MonoSingleton.Instance.toAppear[0].transform.GetChild(1));
orAddComponent.Real_Level = false;
orAddComponent.FentText = "[FENTOKILL]";
GameObjectExtensions.GetOrAddComponent(((Component)MonoSingleton.Instance.extraInfo).gameObject).Real_Level = false;
}
if (Fento_Difficulty_Options.Global_Enable_Modify_Everyone && Fento_Difficulty_Options.Buff_Forse_All_UltraEnrage)
{
StatsManager instance = MonoSingleton.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.IsActive_FentoLevel() && Fento_LevelLoaders.FLevel_Loaders.TryGetValue(MonoSingleton.Instance.levelNumber, out var value) && value != null && (MonoSingleton.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 + " !!!---!!!"));
Fento_Loader._Logger.LogWarning((object)ex);
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.Instance != (Object)null && MonoSingleton.Instance.toAppear.Length != 0 && (Object)(object)MonoSingleton.Instance.toAppear[0] != (Object)null && (Object)(object)MonoSingleton.Instance.toAppear[0].transform.GetChild(1) != (Object)null)
{
ComponentExtensions.GetOrAddComponent((Component)(object)MonoSingleton.Instance.toAppear[0].transform.GetChild(1)).Real_Level = true;
GameObjectExtensions.GetOrAddComponent(((Component)MonoSingleton.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.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 d__122 : IEnumerator