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, IDisposable, IEnumerator { private int <>1__state; private object <>2__current; private Type 5__2; private FieldInfo[] <>7__wrap2; private int <>7__wrap3; private Dictionary>.Enumerator <>7__wrap4; object IEnumerator.Current { [DebuggerHidden] get { return <>2__current; } } object IEnumerator.Current { [DebuggerHidden] get { return <>2__current; } } [DebuggerHidden] public d__122(int <>1__state) { this.<>1__state = <>1__state; } [DebuggerHidden] void IDisposable.Dispose() { int num = <>1__state; if (num == -3 || num == 3) { try { } finally { <>m__Finally1(); } } 5__2 = null; <>7__wrap2 = null; <>7__wrap4 = default(Dictionary>.Enumerator); <>1__state = -2; } private bool MoveNext() { try { switch (<>1__state) { default: return false; case 0: { <>1__state = -1; LoadFinished = false; Fento_Loader._Logger.LogInfo((object)"[Loader] Loading Assets"); 5__2 = typeof(Fento_Assets); FieldInfo[] fields = 5__2.GetFields(BindingFlags.Static | BindingFlags.Public); Fento_Loader._Logger.LogInfo((object)"-------------------------------------------------------"); Fento_Loader._Logger.LogInfo((object)"[Loader] Loading AddresableObject"); <>7__wrap2 = fields; <>7__wrap3 = 0; goto IL_011c; } case 1: <>1__state = -1; goto IL_010e; case 2: <>1__state = -1; goto IL_010e; case 3: { <>1__state = -3; break; } IL_011c: if (<>7__wrap3 < <>7__wrap2.Length) { object value = <>7__wrap2[<>7__wrap3].GetValue(5__2); if (value is Main_Utils.AddresableObject addresableObject) { IEnumerator enumerator = addresableObject.Long_Load(); <>2__current = enumerator; <>1__state = 1; return true; } if (value is Main_Utils.AddresableObject addresableObject2) { IEnumerator enumerator2 = addresableObject2.Long_Load(); <>2__current = enumerator2; <>1__state = 2; return true; } goto IL_010e; } <>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_010e: <>7__wrap3++; goto IL_011c; } if (<>7__wrap4.MoveNext()) { IEnumerator enumerator3 = <>7__wrap4.Current.Value.Long_Load(); <>2__current = enumerator3; <>1__state = 3; return true; } <>m__Finally1(); <>7__wrap4 = default(Dictionary>.Enumerator); LoadFinished = true; 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 bool LoadFinished = false; public static Main_Utils.AddresableObject HealingEffect = "Assets/Particles/HealingEffect.prefab"; public static Main_Utils.AddresableObject Checkpoint = "Assets/Prefabs/Levels/Checkpoint.prefab"; public static Main_Utils.AddresableObject CheckpointReusable = "Assets/Prefabs/Levels/CheckpointReusable.prefab"; public static Main_Utils.AddresableObject Altar = "Assets/Prefabs/Levels/Interactive/Altar.prefab"; public static Main_Utils.AddresableObject AltarBlue = "Assets/Prefabs/Levels/Interactive/Altar (Blue).prefab"; public static Main_Utils.AddresableObject AltarRed = "Assets/Prefabs/Levels/Interactive/Altar (Red).prefab"; public static Main_Utils.AddresableObject AltarTorch = "Assets/Prefabs/Levels/Interactive/Altar (Torch) Variant.prefab"; public static Main_Utils.AddresableObject HookpointGreen = "Assets/Prefabs/Levels/Interactive/GrapplePoint.prefab"; public static Main_Utils.AddresableObject HookpointBlue = "Assets/Prefabs/Levels/Interactive/GrapplePointSlingshot Variant.prefab"; public static Main_Utils.AddresableObject HookpointProvidence = "Assets/Prefabs/Levels/Interactive/GrapplePointSlingshotProvidence.prefab"; public static Main_Utils.AddresableObject HookpointYellow = "Assets/Prefabs/Levels/Interactive/GrapplePoint Switch Variant.prefab"; public static Main_Utils.AddresableObject JumpPad = "Assets/Prefabs/Levels/Interactive/JumpPad.prefab"; public static Main_Utils.AddresableObject JumpPadSmall = "Assets/Prefabs/Levels/Interactive/JumpPadSmall Variant.prefab"; public static Main_Utils.AddresableObject JumpPadSteam = "Assets/Prefabs/Levels/Interactive/JumpPadSteam Variant.prefab"; public static Main_Utils.AddresableObject LavaBox = "Assets/Prefabs/Sandbox/Lava.prefab"; public static Main_Utils.AddresableObject Grinders = "Assets/Prefabs/Levels/Obstacles/Grinders.prefab"; public static Main_Utils.AddresableObject CrusherSymmetrical = "Assets/Prefabs/Levels/Obstacles/Crusher Symmetrical.prefab"; public static Main_Utils.AddresableObject EnergyBeamHuge = "Assets/Prefabs/Levels/Obstacles/EnergyBeamHuge.prefab"; public static Main_Utils.AddresableObject Fan = "Assets/Prefabs/Levels/Obstacles/Fan.prefab"; public static Main_Utils.AddresableObject ElectricityBox = "Assets/Prefabs/Levels/Interactive/ElectricityBox.prefab"; public static Main_Utils.AddresableObject TeslaCoils = "Assets/Prefabs/Levels/Interactive/Tesla Coils.prefab"; public static Main_Utils.AddresableObject SuicideTreeHungry = "Assets/Prefabs/Levels/Decorations/SuicideTreeHungry.prefab"; public static Main_Utils.AddresableObject Terminal = "Assets/Prefabs/Levels/Shop.prefab"; public static Main_Utils.AddresableObject TerminalTestament = "Assets/Prefabs/Levels/Shop Testament.prefab"; public static Main_Utils.AddresableObject TerminalPrime = "Assets/Prefabs/Levels/Shop Prime.prefab"; public static Main_Utils.AddresableObject TerminalPrime1 = "Assets/Prefabs/Levels/Shop Prime 1.prefab"; public static Main_Utils.AddresableObject Plank = "Assets/Prefabs/Levels/Interactive/Plank.prefab"; public static Main_Utils.AddresableObject PlankBlocker = "Assets/Prefabs/Levels/Interactive/Plank (Blocker) Variant.prefab"; public static Main_Utils.AddresableObject GlassFloor = "Assets/Prefabs/Levels/Interactive/GlassFloor.prefab"; public static Main_Utils.AddresableObject GlassWall = "Assets/Prefabs/Levels/Interactive/GlassWall.prefab"; public static Main_Utils.AddresableObject GlassWall2 = "Assets/Prefabs/Levels/Interactive/GlassWall2.prefab"; public static Main_Utils.AddresableObject Speakers = "Assets/Prefabs/Levels/Interactive/Speakers.prefab"; public static Main_Utils.AddresableObject SpeakersChime = "Assets/Prefabs/Levels/Interactive/Speakers Chime Variant.prefab"; public static Main_Utils.AddresableObject Breakable = "Assets/Prefabs/Levels/Interactive/Breakable.prefab"; public static Main_Utils.AddresableObject ScreenUsable = "Assets/Prefabs/Levels/Interactive/UsableScreen.prefab"; public static Main_Utils.AddresableObject ScreenInteractive = "Assets/Prefabs/Levels/Interactive/InteractiveScreen.prefab"; public static Main_Utils.AddresableObject ScreenInteractiveButton = "Assets/Prefabs/Levels/Interactive/InteractiveScreenButton.prefab"; public static Main_Utils.AddresableObject ScreenInteractiveStand = "Assets/Prefabs/Levels/Interactive/InteractiveScreenWithStand.prefab"; public static Main_Utils.AddresableObject ScreenPuzzle = "Assets/Prefabs/Levels/Interactive/PuzzleScreen.prefab"; public static Main_Utils.AddresableObject ScreenPuzzle5x5 = "Assets/Prefabs/Levels/Interactive/InteractiveScreenPuzzle5x5.prefab"; public static Main_Utils.AddresableObject PierPlatform = "Assets/Prefabs/Levels/PierPlatform.prefab"; public static Main_Utils.AddresableObject PierSegment = "Assets/Prefabs/Levels/PierSegment.prefab"; public static Main_Utils.AddresableObject PierStairs = "Assets/Prefabs/Levels/PierStairs.prefab"; public static Main_Utils.AddresableObject Bonus200Health = "Assets/Prefabs/Sandbox/BonusGhostSuperCharge Sandbox Variant.prefab"; public static Main_Utils.AddresableObject BonusDualWield = "Assets/Prefabs/Sandbox/Sandbox DualWieldPowerup.prefab"; public static Main_Utils.AddresableObject Projectile_Red = "Assets/Prefabs/Attacks and Projectiles/Projectile.prefab"; public static Main_Utils.AddresableObject Projectile_Yellow = "Assets/Prefabs/Attacks and Projectiles/Projectile Beamable.prefab"; public static Main_Utils.AddresableObject ProjectileHoming_Blue = "Assets/Prefabs/Attacks and Projectiles/Projectile Homing.prefab"; public static Main_Utils.AddresableObject ProjectileExplosiveHH_BigYellow = "Assets/Prefabs/Attacks and Projectiles/Projectile Explosive HH.prefab"; public static Main_Utils.AddresableObject ProjectileExplosiveHoming_Green = "Assets/Prefabs/Attacks and Projectiles/Projectile Homing Explosive.prefab"; public static Main_Utils.AddresableObject ProjectileHomingAcid = "Assets/Prefabs/Attacks and Projectiles/Projectile Homing Acid.prefab"; public static Main_Utils.AddresableObject ProjectileExplosive_Cerb = "Assets/Prefabs/Attacks and Projectiles/Projectile Explosive.prefab"; public static Main_Utils.AddresableObject ShotgunProjectileEnemy = "Assets/Prefabs/Attacks and Projectiles/Shotgun Projectile Enemy.prefab"; public static Main_Utils.AddresableObject EnemyRocket = "Assets/Prefabs/Attacks and Projectiles/RocketEnemy.prefab"; public static Main_Utils.AddresableObject Insignia = "Virtue Insignia"; public static Main_Utils.AddresableObject GeryonUpArrowBeam = "Assets/Prefabs/Attacks and Projectiles/GeryonUpArrowBeam.prefab"; public static Main_Utils.AddresableObject GeryonForwardArrowBeam = "Assets/Prefabs/Attacks and Projectiles/GeryonForwardArrowBeam.prefab"; public static Main_Utils.AddresableObject MassSpearHook = "Assets/Prefabs/Attacks and Projectiles/Spear.prefab"; public static Main_Utils.AddresableObject AroundGabrielSummonedSwords = "Assets/Prefabs/Attacks and Projectiles/Gabriel/GabrielSummonedSwords.prefab"; public static Main_Utils.AddresableObject MindflayerTeleport = "Assets/Particles/SoundBubbles/MindflayerTeleport.prefab"; public static Main_Utils.AddresableObject ExplosionHarmless = "Assets/Prefabs/Attacks and Projectiles/Explosions/Explosion Harmless.prefab"; public static Main_Utils.AddresableObject ExplosionRocketHarmless = "Assets/Prefabs/Attacks and Projectiles/Explosions/Explosion Rocket Harmless.prefab"; public static Main_Utils.AddresableObject Explosion = "Assets/Prefabs/Attacks and Projectiles/Explosions/Explosion.prefab"; public static Main_Utils.AddresableObject ExplosionBig = "Assets/Prefabs/Attacks and Projectiles/Explosions/Explosion Big.prefab"; public static Main_Utils.AddresableObject ExplosionSuper = "Assets/Prefabs/Attacks and Projectiles/Explosions/Explosion Super.prefab"; public static Main_Utils.AddresableObject ExplosionSisyphusPrime = "Assets/Prefabs/Attacks and Projectiles/Explosions/Explosion Sisyphus Prime.prefab"; public static Main_Utils.AddresableObject ExplosionSisyphusPrimeAnimation = "Assets/Prefabs/Attacks and Projectiles/Explosions/Explosion Sisyphus Prime Charged.prefab"; public static Main_Utils.AddresableObject GeryonProximityExplosion = "Assets/Prefabs/Attacks and Projectiles/Explosions/GeryonProximityExplosion.prefab"; public static Main_Utils.AddresableObject ExplosionSand = "Assets/Prefabs/Attacks and Projectiles/Explosions/Explosion Sand.prefab"; public static Main_Utils.AddresableObject LightningBoltExplosion = "Assets/Prefabs/Attacks and Projectiles/Explosions/Lightning Strike Explosive.prefab"; public static Main_Utils.AddresableObject LightningBoltWindupFollow = "Assets/Particles/Environment/LightningBoltWindupFollow Variant.prefab"; public static Main_Utils.AddresableObject ExplosionLightning = "Assets/Prefabs/Attacks and Projectiles/Explosions/Explosion Lightning.prefab"; public static Main_Utils.AddresableObject PhysicalShockwaveHarmless = "Assets/Prefabs/Attacks and Projectiles/PhysicalShockwaveHarmless.prefab"; public static Main_Utils.AddresableObject SlamExplosionShockwave = "Assets/Prefabs/Attacks and Projectiles/PhysicalShockwave.prefab"; public static Main_Utils.AddresableObject SlamExplosionShockwaveMagenta = "Assets/Prefabs/Attacks and Projectiles/PhysicalShockwaveMagenta.prefab"; public static Main_Utils.AddresableObject BlackHole_Enemy = "Assets/Prefabs/Attacks and Projectiles/Black Hole Enemy.prefab"; public static Main_Utils.AddresableObject GoopCloudLong = "Assets/Prefabs/Attacks and Projectiles/GoopCloudLong.prefab"; public static Main_Utils.AddresableObject GoopCloud = "Assets/Prefabs/Attacks and Projectiles/GoopCloud.prefab"; public static Main_Utils.AddresableObject Landmine = "Assets/Prefabs/Attacks and Projectiles/Landmine.prefab"; public static Main_Utils.AddresableObject GuttermanBeam = "Assets/Prefabs/Attacks and Projectiles/Hitscan Beams/Gutterman Beam.prefab"; public static Main_Utils.AddresableObject MindflayerBeam = "Assets/Prefabs/Attacks and Projectiles/Hitscan Beams/Mindflayer Beam.prefab"; public static Main_Utils.AddresableObject ProjectileBeam = "Assets/Prefabs/Attacks and Projectiles/Hitscan Beams/Projectile Beam.prefab"; public static Main_Utils.AddresableObject MaliciousBeam = "Assets/Prefabs/Attacks and Projectiles/Hitscan Beams/Malicious Beam.prefab"; public static Main_Utils.AddresableObject TurretBeam = "Assets/Prefabs/Attacks and Projectiles/Hitscan Beams/Turret Beam.prefab"; public static Main_Utils.AddresableObject CentaurBrainBeam = "Assets/Prefabs/Attacks and Projectiles/Hitscan Beams/Centaur Brain Beam.prefab"; public static Main_Utils.AddresableObject HammerHitExplosion = "Assets/Prefabs/Attacks and Projectiles/Explosions/Explosion Hammer Weak.prefab"; public static Main_Utils.AddresableObject Railcannon_Fire = "Assets/Particles/SoundBubbles/RailcannonFire.prefab"; public static Main_Utils.AddresableObject Railcannon_Charge = "Assets/Particles/SoundBubbles/RailcannonFullCharge.prefab"; public static Main_Utils.AddresableObject Railcannon_Beam = "Assets/Prefabs/Attacks and Projectiles/Hitscan Beams/Railcannon Beam.prefab"; public static Main_Utils.AddresableObject Railcannon_HarpoonMalicious = "Assets/Prefabs/Attacks and Projectiles/Harpoon Malicious.prefab"; public static Main_Utils.AddresableObject Cannonball = "Assets/Prefabs/Attacks and Projectiles/Cannonball.prefab"; public static Main_Utils.AddresableObject NailAltFodder = "Assets/Prefabs/Attacks and Projectiles/NailAltFodder.prefab"; public static Main_Utils.AddresableObject HarpoonMagnet = "Assets/Prefabs/Attacks and Projectiles/Harpoon.prefab"; public static Main_Utils.AddresableObject NailAltChainsaw = "Assets/Prefabs/Attacks and Projectiles/NailAltChainsaw.prefab"; public static Main_Utils.AddresableObject GasolineProjectile = "Assets/Prefabs/Attacks and Projectiles/GasolineProjectile.prefab"; public static Main_Utils.AddresableObject Coin = "Assets/Prefabs/Attacks and Projectiles/Coin.prefab"; public static Main_Utils.AddresableObject BreakParticle = "Assets/Particles/Breaks/BreakParticle.prefab"; public static Main_Utils.AddresableObject BreakBig = "Assets/Particles/Breaks/BreakParticleBig.prefab"; public static Main_Utils.AddresableObject BreakMetal = "Assets/Particles/Breaks/BreakParticleMetal.prefab"; public static Main_Utils.AddresableObject BonusParticle = "Assets/Particles/Breaks/BonusParticle.prefab"; public static Main_Utils.AddresableObject FakeWallEffectScreenBuzz = "Assets/Prefabs/Effects/Screen Buzz.prefab"; public static Main_Utils.AddresableObject Vase_Break = "Assets/Sounds/Environment/VaseBreak.wav"; public static Main_Utils.AddresableObject bigRock_Break = "Assets/Sounds/Environment/bigRockBreak.wav"; public static Main_Utils.AddresableObject P2_OST = "Assets/Music/P-2.wav"; public static Main_Utils.AddresableObject E_1_Jazz_OST = "Assets/Music/Encores/1-E Jazz.wav"; public static Main_Utils.AddresableObject E_1_Ambiance_OST = "Assets/Music/Encores/1-E Ambiance.wav"; public static Main_Utils.AddresableObject FRAUD_8_3_OST = "Assets/Music/8-3.wav"; public static Main_Utils.AddresableObject FRAUD_8_3_Clean_OST = "Assets/Music/8-3 Clean.wav"; public static Main_Utils.AddresableObject V2UnParry = "Assets/Particles/Flashes/V2FlashUnparriable.prefab"; public static Main_Utils.AddresableObject CoinFlashEnemy = "Assets/Particles/Flashes/CoinFlashEnemy.prefab"; public static Main_Utils.AddresableObject RocketLauncher = "Assets/Prefabs/Weapons/Rocket Launcher Cannonball.prefab"; public static Main_Utils.AddresableObject MaliciousChargeEffect = "Assets/Prefabs/Effects/Charge Effect.prefab"; public static Main_Utils.AddresableObject MassWindup = "Assets/Particles/SoundBubbles/MassWindup.prefab"; public static Main_Utils.AddresableObject HarpoonShootSound = "Assets/Particles/SoundBubbles/HarpoonShoot.prefab"; public static Main_Utils.AddresableObject Punch_heavy = "Assets/Sounds/Weapons/punch_heavy.wav"; public static Main_Utils.AddresableObject RocketFire_Default = "Assets/Sounds/Weapons/RocketFire5.wav"; public static Main_Utils.AddresableObject Guttertank = "Assets/Prefabs/Enemies/Spawners/BombEnemySpawnerGuttertank Variant.prefab"; public static Main_Utils.AddresableObject Gutterman = "Assets/Prefabs/Enemies/Spawners/BombEnemySpawnerGutterman Variant.prefab"; public static Main_Utils.AddresableObject BombEnemySpawner = "Assets/Prefabs/Enemies/Spawners/BombEnemySpawner.prefab"; public static Main_Utils.AddresableObject BombEnemySpawnerBreaker = "Assets/Prefabs/Enemies/Spawners/BombEnemySpawnerBreaker Variant.prefab"; public static Main_Utils.AddresableObject RagePrefab = "Assets/Particles/Enemies/RageEffect.prefab"; [IteratorStateMachine(typeof(d__122))] public static IEnumerator Fento_LoadAllAssets_Gradually() { //yield-return decompiler failed: Unexpected instruction in Iterator.Dispose() return new d__122(0); } } public static class Fento_LevelLoaders { public static class Main_Menu { public class HIMLooking : MonoBehaviour { [CompilerGenerated] private sealed class d__6 : IEnumerator, IDisposable, IEnumerator { private int <>1__state; private object <>2__current; public HIMLooking <>4__this; private Vector3 5__2; private int 5__3; object IEnumerator.Current { [DebuggerHidden] get { return <>2__current; } } object IEnumerator.Current { [DebuggerHidden] get { return <>2__current; } } [DebuggerHidden] public 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; 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; 5__3 = 0; break; case 3: <>1__state = -1; break; } if (5__3 < 70) { 5__3++; Vector2 insideUnitCircle = Random.insideUnitCircle; ((TMP_Text)hIMLooking.Text).transform.localPosition = 5__2 + Vector2.op_Implicit(insideUnitCircle) * (10f + (float)5__3 * 0.2f); <>2__current = (object)new WaitForFixedUpdate(); <>1__state = 3; return true; } ((TMP_Text)hIMLooking.Text).transform.localPosition = 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(); ((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(d__6))] public IEnumerator Glitch() { //yield-return decompiler failed: Unexpected instruction in Iterator.Dispose() return new 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(); 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(); 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 + " + Fento 3.10.390 Modified"; AddText(); } } public void AddText() { ((TMP_Text)toAdd).text = OgText; TextMeshProUGUI obj = toAdd; ((TMP_Text)obj).text = ((TMP_Text)obj).text + " +" + (UltraRageActive ? "ULTRAENRAGED" : "") + " Fento 3.10.390 Modified"; } } public class Progress_Visuals_Adder : MonoBehaviour { public class FentoExtraChallenge : MonoBehaviour { public LevelSelectPanel level; public TextMeshProUGUI textMeshPro; public void Start() { textMeshPro = ((Component)this).GetComponentInChildren(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.1f, 0.1f, 1f); ((Graphic)((Component)level.challengeIcon).GetComponentInChildren()).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(); if (componentInChildren.text == "P") { ((Graphic)((Component)componentInChildren.transform.parent).GetComponent()).color = new Color(1f, 0.1f, 0.1f, 1f); } } if (Fento_Progress_Containers.HasFlag(progress, Fento_Progress_Containers.SaveFlags.UltraRage_P_rank)) { ((Graphic)((Component)level).GetComponent()).color = new Color(0.65f, 0f, 0f, 1f); } MenuChallengeHover componentInChildren2 = ((Component)level).GetComponentInChildren(true); if ((Object)(object)componentInChildren2 != (Object)null) { GameObject panelToActivate = componentInChildren2.panelToActivate; if ((Object)(object)panelToActivate != (Object)null) { GameObjectExtensions.GetOrAddComponent(panelToActivate).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(); TryAddFento(Text_1); } if ((Object)(object)ExtraText_2.gameObject != (Object)null) { Text_2 = ExtraText_2.GetComponent(); if (Object.op_Implicit((Object)(object)Text_2)) { GameObject obj = Object.Instantiate(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(obj); } }); } TryAddFento(Text_2); } if ((Object)(object)ExtraText_Christmas.gameObject != (Object)null) { Text_Christmas = ExtraText_Christmas.GetComponent(); TryAddFento(Text_Christmas); } if ((Object)(object)ExtraText_Halloween.gameObject != (Object)null) { Text_Halloween = ExtraText_Halloween.GetComponent(); TryAddFento(Text_Halloween); } if ((Object)(object)ExtraText_Easter.gameObject != (Object)null) { Text_Easter = ExtraText_Easter.GetComponent(); TryAddFento(Text_Easter); } LevelSelectPanel[] array = Resources.FindObjectsOfTypeAll().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(((Component)((Component)val).transform.GetChild(0)).gameObject).Real_Level = true; GameObjectExtensions.GetOrAddComponent(((Component)((Component)val).transform.GetChild(2)).gameObject).levelSelectPanel = val; } } array = Resources.FindObjectsOfTypeAll().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(((Component)val2).gameObject).level = val2; } catch (Exception ex) { Debug.LogError((object)ex); } } } GameObjectExtensions.GetOrAddComponent(V1_V1.gameObject); } public static void TryAddFento(TextMeshProUGUI toAdd) { ComponentExtensions.GetOrAddComponent((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(); ((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(); 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()).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(); 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_006c: 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), Main_Utils.Quat_90); 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(); 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 I_Idols = new List(); 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 A_3_Machines_1 = new List(); public static List E_9_Machines_2 = new List(); public static List F_10_Machines_3 = new List(); public static List G_11_Machines_4 = new List(); public static List H_12_Machines_5 = new List(); public static Main_Utils.PathObject Hint_1 = "5 - Glass Intro/5 Nonstuff/Cube (2)"; public static HudMessage Message_1; public const string Text_1 = "ENVIRONMENT and TACTICS can be very USEFUL \nYOU KNOW THE DRIL"; 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 Radiance Idols now can INCREASE RADIANCE TIER \nIT'S NOT GONNA HURT"; public static Main_Utils.PathObject Hint_3 = "11 - Projectile Zombies Room/11 Nonstuff/Hint"; public static HudMessage Message_3; public const string Text_3 = "SOME ENEMIES now form UNIQUE SYMBIOTIC PAIRS \nDON'T BE SURPRISED"; public static Main_Utils.PathObject Hint_4 = "12 - Boss Hallway/12 Nonstuff/Hint"; public static HudMessage Message_4; public const string Text_4 = ". . ."; 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: Unknown result type (might be due to invalid IL or missing references) //IL_03bb: Expected O, but got Unknown //IL_03c1: Unknown result type (might be due to invalid IL or missing references) //IL_03cb: Expected O, but got Unknown //IL_03dc: Unknown result type (might be due to invalid IL or missing references) //IL_03e6: Expected O, but got Unknown //IL_0518: Unknown result type (might be due to invalid IL or missing references) //IL_0522: Expected O, but got Unknown //IL_00bf: Unknown result type (might be due to invalid IL or missing references) //IL_0196: Unknown result type (might be due to invalid IL or missing references) //IL_01af: Unknown result type (might be due to invalid IL or missing references) //IL_01c8: Unknown result type (might be due to invalid IL or missing references) //IL_01e1: Unknown result type (might be due to invalid IL or missing references) //IL_01e6: Unknown result type (might be due to invalid IL or missing references) //IL_010a: Unknown result type (might be due to invalid IL or missing references) //IL_0123: Unknown result type (might be due to invalid IL or missing references) //IL_013c: Unknown result type (might be due to invalid IL or missing references) //IL_0155: Unknown result type (might be due to invalid IL or missing references) //IL_015a: Unknown result type (might be due to invalid IL or missing references) //IL_0169: Unknown result type (might be due to invalid IL or missing references) //IL_016e: Unknown result type (might be due to invalid IL or missing references) //IL_0245: Unknown result type (might be due to invalid IL or missing references) //IL_024a: Unknown result type (might be due to invalid IL or missing references) //IL_087f: Unknown result type (might be due to invalid IL or missing references) //IL_0884: Unknown result type (might be due to invalid IL or missing references) //IL_08a9: Unknown result type (might be due to invalid IL or missing references) //IL_08bd: Unknown result type (might be due to invalid IL or missing references) //IL_08e2: Unknown result type (might be due to invalid IL or missing references) //IL_08f6: Unknown result type (might be due to invalid IL or missing references) //IL_091b: Unknown result type (might be due to invalid IL or missing references) //IL_092f: Unknown result type (might be due to invalid IL or missing references) //IL_0954: Unknown result type (might be due to invalid IL or missing references) //IL_0968: Unknown result type (might be due to invalid IL or missing references) //IL_098d: Unknown result type (might be due to invalid IL or missing references) //IL_0992: Unknown result type (might be due to invalid IL or missing references) //IL_09b7: Unknown result type (might be due to invalid IL or missing references) //IL_09cb: Unknown result type (might be due to invalid IL or missing references) //IL_09f0: Unknown result type (might be due to invalid IL or missing references) //IL_0a04: Unknown result type (might be due to invalid IL or missing references) //IL_0a29: Unknown result type (might be due to invalid IL or missing references) //IL_0a2e: Unknown result type (might be due to invalid IL or missing references) //IL_0ccf: Unknown result type (might be due to invalid IL or missing references) //IL_0cd9: Expected O, but got Unknown //IL_0d16: Unknown result type (might be due to invalid IL or missing references) //IL_0d20: Expected O, but got Unknown //IL_10b2: Unknown result type (might be due to invalid IL or missing references) //IL_10c6: Unknown result type (might be due to invalid IL or missing references) //IL_10eb: Unknown result type (might be due to invalid IL or missing references) //IL_10f0: Unknown result type (might be due to invalid IL or missing references) //IL_1114: Unknown result type (might be due to invalid IL or missing references) //IL_1128: Unknown result type (might be due to invalid IL or missing references) //IL_114d: Unknown result type (might be due to invalid IL or missing references) //IL_1152: Unknown result type (might be due to invalid IL or missing references) //IL_1177: Unknown result type (might be due to invalid IL or missing references) //IL_118b: Unknown result type (might be due to invalid IL or missing references) //IL_11af: Unknown result type (might be due to invalid IL or missing references) //IL_11b4: Unknown result type (might be due to invalid IL or missing references) //IL_11d9: Unknown result type (might be due to invalid IL or missing references) //IL_11ed: Unknown result type (might be due to invalid IL or missing references) //IL_1213: Unknown result type (might be due to invalid IL or missing references) //IL_136d: Unknown result type (might be due to invalid IL or missing references) //IL_1372: Unknown result type (might be due to invalid IL or missing references) //IL_1398: Unknown result type (might be due to invalid IL or missing references) //IL_13ac: Unknown result type (might be due to invalid IL or missing references) //IL_13d3: Unknown result type (might be due to invalid IL or missing references) //IL_13e7: Unknown result type (might be due to invalid IL or missing references) //IL_140e: Unknown result type (might be due to invalid IL or missing references) //IL_1422: Unknown result type (might be due to invalid IL or missing references) //IL_1449: Unknown result type (might be due to invalid IL or missing references) //IL_144e: Unknown result type (might be due to invalid IL or missing references) //IL_1475: Unknown result type (might be due to invalid IL or missing references) //IL_1489: Unknown result type (might be due to invalid IL or missing references) //IL_15dd: Unknown result type (might be due to invalid IL or missing references) //IL_15e4: Expected O, but got Unknown //IL_1698: Unknown result type (might be due to invalid IL or missing references) //IL_169d: Unknown result type (might be due to invalid IL or missing references) //IL_16e6: Unknown result type (might be due to invalid IL or missing references) //IL_16fa: Unknown result type (might be due to invalid IL or missing references) //IL_1722: Unknown result type (might be due to invalid IL or missing references) //IL_1736: Unknown result type (might be due to invalid IL or missing references) //IL_178e: Unknown result type (might be due to invalid IL or missing references) //IL_1793: Unknown result type (might be due to invalid IL or missing references) //IL_17f0: Unknown result type (might be due to invalid IL or missing references) //IL_1804: Unknown result type (might be due to invalid IL or missing references) //IL_182c: Unknown result type (might be due to invalid IL or missing references) //IL_1840: Unknown result type (might be due to invalid IL or missing references) //IL_1868: Unknown result type (might be due to invalid IL or missing references) //IL_186d: Unknown result type (might be due to invalid IL or missing references) //IL_1914: Unknown result type (might be due to invalid IL or missing references) //IL_1928: Unknown result type (might be due to invalid IL or missing references) //IL_1957: Unknown result type (might be due to invalid IL or missing references) //IL_195c: Unknown result type (might be due to invalid IL or missing references) //IL_19fa: Unknown result type (might be due to invalid IL or missing references) //IL_1a0e: Unknown result type (might be due to invalid IL or missing references) //IL_1a36: Unknown result type (might be due to invalid IL or missing references) //IL_1a3b: Unknown result type (might be due to invalid IL or missing references) //IL_1a63: Unknown result type (might be due to invalid IL or missing references) //IL_1a68: Unknown result type (might be due to invalid IL or missing references) //IL_1a90: Unknown result type (might be due to invalid IL or missing references) //IL_1aa4: Unknown result type (might be due to invalid IL or missing references) //IL_1b8c: Unknown result type (might be due to invalid IL or missing references) //IL_1ba0: Unknown result type (might be due to invalid IL or missing references) //IL_1bc8: Unknown result type (might be due to invalid IL or missing references) //IL_1bdc: Unknown result type (might be due to invalid IL or missing references) //IL_1c3b: Unknown result type (might be due to invalid IL or missing references) //IL_1c40: Unknown result type (might be due to invalid IL or missing references) //IL_1c67: Unknown result type (might be due to invalid IL or missing references) //IL_1c6c: Unknown result type (might be due to invalid IL or missing references) //IL_1d29: Unknown result type (might be due to invalid IL or missing references) //IL_1d3d: Unknown result type (might be due to invalid IL or missing references) //IL_1d6c: Unknown result type (might be due to invalid IL or missing references) //IL_1d71: Unknown result type (might be due to invalid IL or missing references) //IL_1de2: Unknown result type (might be due to invalid IL or missing references) //IL_1df6: Unknown result type (might be due to invalid IL or missing references) //IL_1e57: Unknown result type (might be due to invalid IL or missing references) //IL_1e5c: Unknown result type (might be due to invalid IL or missing references) //IL_1eb6: Unknown result type (might be due to invalid IL or missing references) //IL_1eca: Unknown result type (might be due to invalid IL or missing references) //IL_1ef2: Unknown result type (might be due to invalid IL or missing references) //IL_1f06: Unknown result type (might be due to invalid IL or missing references) //IL_1f94: Unknown result type (might be due to invalid IL or missing references) //IL_1fb4: Unknown result type (might be due to invalid IL or missing references) //IL_2005: Unknown result type (might be due to invalid IL or missing references) //IL_200a: Unknown result type (might be due to invalid IL or missing references) //IL_2080: Unknown result type (might be due to invalid IL or missing references) //IL_2085: Unknown result type (might be due to invalid IL or missing references) //IL_20b3: Unknown result type (might be due to invalid IL or missing references) //IL_20e7: Unknown result type (might be due to invalid IL or missing references) //IL_211b: Unknown result type (might be due to invalid IL or missing references) //IL_214f: Unknown result type (might be due to invalid IL or missing references) //IL_217d: Unknown result type (might be due to invalid IL or missing references) //IL_2191: Unknown result type (might be due to invalid IL or missing references) //IL_21d7: Unknown result type (might be due to invalid IL or missing references) //IL_220c: Unknown result type (might be due to invalid IL or missing references) //IL_2220: Unknown result type (might be due to invalid IL or missing references) //IL_2276: Unknown result type (might be due to invalid IL or missing references) //IL_228a: Unknown result type (might be due to invalid IL or missing references) //IL_22c2: Unknown result type (might be due to invalid IL or missing references) //IL_236d: Unknown result type (might be due to invalid IL or missing references) //IL_2381: Unknown result type (might be due to invalid IL or missing references) //IL_23b9: Unknown result type (might be due to invalid IL or missing references) //IL_2305: Unknown result type (might be due to invalid IL or missing references) //IL_2464: Unknown result type (might be due to invalid IL or missing references) //IL_2478: Unknown result type (might be due to invalid IL or missing references) //IL_24b0: Unknown result type (might be due to invalid IL or missing references) //IL_23fc: Unknown result type (might be due to invalid IL or missing references) //IL_255d: Unknown result type (might be due to invalid IL or missing references) //IL_2571: Unknown result type (might be due to invalid IL or missing references) //IL_2598: Unknown result type (might be due to invalid IL or missing references) //IL_25ac: Unknown result type (might be due to invalid IL or missing references) //IL_25d3: Unknown result type (might be due to invalid IL or missing references) //IL_25d8: Unknown result type (might be due to invalid IL or missing references) //IL_25ff: Unknown result type (might be due to invalid IL or missing references) //IL_2604: Unknown result type (might be due to invalid IL or missing references) //IL_26d4: Unknown result type (might be due to invalid IL or missing references) //IL_26d9: Unknown result type (might be due to invalid IL or missing references) //IL_2701: Unknown result type (might be due to invalid IL or missing references) //IL_2706: Unknown result type (might be due to invalid IL or missing references) //IL_280d: Unknown result type (might be due to invalid IL or missing references) //IL_2821: Unknown result type (might be due to invalid IL or missing references) //IL_2848: Unknown result type (might be due to invalid IL or missing references) //IL_285c: Unknown result type (might be due to invalid IL or missing references) //IL_2883: Unknown result type (might be due to invalid IL or missing references) //IL_2888: Unknown result type (might be due to invalid IL or missing references) //IL_28af: Unknown result type (might be due to invalid IL or missing references) //IL_28b4: Unknown result type (might be due to invalid IL or missing references) //IL_29d0: Unknown result type (might be due to invalid IL or missing references) //IL_29d5: Unknown result type (might be due to invalid IL or missing references) //IL_2a1f: Unknown result type (might be due to invalid IL or missing references) //IL_2a33: Unknown result type (might be due to invalid IL or missing references) //IL_2a5b: Unknown result type (might be due to invalid IL or missing references) //IL_2a6f: Unknown result type (might be due to invalid IL or missing references) //IL_2a97: Unknown result type (might be due to invalid IL or missing references) //IL_2a9c: Unknown result type (might be due to invalid IL or missing references) //IL_2ac4: Unknown result type (might be due to invalid IL or missing references) //IL_2ac9: Unknown result type (might be due to invalid IL or missing references) //IL_2b18: Unknown result type (might be due to invalid IL or missing references) //IL_2b2c: Unknown result type (might be due to invalid IL or missing references) //IL_2b5b: Unknown result type (might be due to invalid IL or missing references) //IL_2b60: Unknown result type (might be due to invalid IL or missing references) //IL_2b9c: Unknown result type (might be due to invalid IL or missing references) //IL_2ba1: Unknown result type (might be due to invalid IL or missing references) //IL_2bea: Unknown result type (might be due to invalid IL or missing references) //IL_2bfe: Unknown result type (might be due to invalid IL or missing references) //IL_24f3: Unknown result type (might be due to invalid IL or missing references) if ((Object)(object)UTRAKILL.transform != (Object)null) { UTRAKILL.transform.localScale = Vector3.zero; UTRAKILL.gameObject.SetActive(false); } if ((Object)(object)FentoTitle.transform != (Object)null) { Text = GameObjectExtensions.GetOrAddComponent(FentoTitle.gameObject); if ((Object)(object)Text != (Object)null && ((TMP_Text)Text).text != (Fento_Difficulty_Options.Skill_Issue ? "SKILLISSUE" : "FENTOKILL")) { ((TMP_Text)Text).font = Fento_Core_Loader.MainFont; ((Graphic)Text).color = new Color(1f, 1f, 1f); if (Fento_Difficulty_Options.Skill_Issue) { ((TMP_Text)Text).fontSize = 190f; ((TMP_Text)Text).text = "SKILLISSUE"; ((TMP_Text)Text).colorGradient = new VertexGradient(new Color(0.3f, 1f, 0.3f, 1f), new Color(0.1f, 0.95f, 0.1f, 1f), new Color(0f, 0.5f, 0f, 1f), new Color(0f, 0.15f, 0f, 1f)); ((TMP_Text)Text).outlineColor = Color32.op_Implicit(Color.green); } else { ((TMP_Text)Text).colorGradient = new VertexGradient(new Color(1f, 0.3f, 0.3f, 1f), new Color(0.95f, 0.1f, 0.1f, 1f), new Color(0.5f, 0f, 0f, 1f), new Color(0.15f, 0f, 0f, 1f)); if (Fento_Difficulty_Options.Extra_Skill_Respect) { ((TMP_Text)Text).fontSize = 190f; ((TMP_Text)Text).text = "FENTOKILL+"; } else { ((TMP_Text)Text).fontSize = 200f; ((TMP_Text)Text).text = "FENTOKILL"; } ComponentExtensions.GetOrAddComponent((Component)(object)Text); ((TMP_Text)Text).outlineColor = Color32.op_Implicit(Color.red); } ((TMP_Text)Text).fontStyle = (FontStyles)1; ((TMP_Text)Text).enableVertexGradient = true; ((TMP_Text)Text).alignment = (TextAlignmentOptions)514; ((TMP_Text)Text).outlineWidth = 0.15f; } } A_3_Machines_1.Clear(); E_9_Machines_2.Clear(); F_10_Machines_3.Clear(); G_11_Machines_4.Clear(); H_12_Machines_5.Clear(); I_Idols.Clear(); I_Boss_MaliciousFace = null; Message_1 = Hint_1.GetComponent(); Message_1.Set_HudMessage("ENVIRONMENT and TACTICS can be very USEFUL \nYOU KNOW THE DRIL"); Message_2 = Hint_2.GetComponent(); Message_2.Set_HudMessage("Upon death Radiance Idols now can INCREASE RADIANCE TIER \nIT'S NOT GONNA HURT"); Message_3 = Hint_3.GetComponent(); Message_3.Set_HudMessage("SOME ENEMIES now form UNIQUE SYMBIOTIC PAIRS \nDON'T BE SURPRISED"); Message_4 = Hint_4.GetComponent(); Message_4.Set_HudMessage(". . ."); Message_4.silent = true; Message_4.deactiveOnTriggerExit = true; GameObject goodLuck = Main_Utils.CreateFeedItLikeText(null); ObjectActivator orAddComponent = GameObjectExtensions.GetOrAddComponent(Hint_4.gameObject); orAddComponent.onlyIfPlayerIsAlive = true; orAddComponent.notIfEnemiesDisabled = true; orAddComponent.oneTime = true; orAddComponent.events = new UltrakillEvent(); orAddComponent.events = new UltrakillEvent(); orAddComponent.events.onActivate = new UnityEvent(); orAddComponent.events.onActivate.AddListener((UnityAction)delegate { goodLuck.gameObject.SetActive(true); Main_Utils.Invoke_WithDelay(7f, delegate { if (Object.op_Implicit((Object)(object)goodLuck)) { goodLuck.gameObject.SetActive(false); } }); }); A_ActivateArena_1 = A_Trigger_1.GetComponent(); A_ActivateNextWave_1 = A_Wave_1.GetComponent(); B_ActivateArena_1 = B_Trigger_1.GetComponent(); B_ActivateArena_2 = B_Trigger_2.GetComponent(); C_ActivateArena_1 = C_Trigger_1.GetComponent(); D_childs_1 = D_Wave_1.childs; D_ActivateArena_1 = D_Trigger_1.GetComponent(); E_ActivateArena_1 = E_Trigger_1.GetComponent(); E_ActivateNextWave_1 = E_Wave_1.GetComponent(); E_ActivateNextWave_2 = E_Wave_2.GetComponent(); F_ActivateArena_1 = F_Trigger_1.GetComponent(); F_ActivateArena_2 = F_Trigger_2.GetComponent(); G_ActivateArena_1A = G_Trigger_1A.GetComponent(); G_ActivateArena_1B = G_Trigger_1B.GetComponent(); G_ActivateArena_2 = G_Trigger_2.GetComponent(); H_childs_1 = H_Wave_1.childs; H_ActivateArena_1 = H_Trigger_1.GetComponent(); I_ObjectActivator_1 = I_Trigger_1.GetComponent(); I_ActivateNextWave_1 = I_Wave_1.GetComponent(); I_ActivateArena_1 = I_Trigger_1.GetComponent(); GameObject act_1 = new GameObject("act 1"); act_1.SetActive(false); act_1.transform.SetParent(A_Wave_1.transform.parent); GameObjectExtensions.GetOrAddComponent(act_1).Times = 9; GameObjectExtensions.GetOrAddComponent(act_1).ActivateInOnStart = A_Wave_2.gameObject; Main_Utils.Enemy_InStack(A_Wave_1.transform, delegate(EnemyIdentifier enemy) { //IL_0008: 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) Main_Utils.Base_ReplaceEnemy(Main_Utils.DetectebleEnemies.Mindflayer, ((Component)enemy).transform, Vector3.up * (5f + Random.value * 15f)).Add_ActivateOnDeath(act_1); }); Main_Utils.Enemy_InStack(A_Wave_1.transform, delegate(EnemyIdentifier enemy) { enemy.Sandify(false); }, Hard_Mode_Only: true); Main_Utils.Update_ActivateArena(A_ActivateArena_1, A_Wave_1.transform); bool mini = false; Main_Utils.Enemy_InStack(A_Wave_2.transform, delegate(EnemyIdentifier enemy) { //IL_003e: Unknown result type (might be due to invalid IL or missing references) //IL_0054: Unknown result type (might be due to invalid IL or missing references) //IL_001f: 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) mini = !mini; if (!mini) { Main_Utils.Base_ReplaceEnemy(Main_Utils.DetectebleEnemies.SwordsMachineNonboss, ((Component)enemy).transform, Vector3.up * 0.1f); } else { Main_Utils.Base_ReplaceEnemy(Main_Utils.DetectebleEnemies.Drone, ((Component)enemy).transform, Vector3.up * (16f + Random.value * 6f)); } }); Main_Utils.Enemy_InStack(A_Wave_2.transform, delegate(EnemyIdentifier enemy) { //IL_0001: Unknown result type (might be due to invalid IL or missing references) //IL_0007: Invalid comparison between Unknown and I4 //IL_0026: Unknown result type (might be due to invalid IL or missing references) //IL_002c: Invalid comparison between Unknown and I4 if ((int)enemy.enemyType == 7) { Enemy component11 = ((Component)enemy).GetComponent(); if ((Object)(object)component11 != (Object)null) { A_3_Machines_1.Add(component11); } } else if ((int)enemy.enemyType == 1) { GameObjectExtensions.GetOrAddComponent(((Component)enemy).gameObject); } }); Main_Utils.Enemy_InStack(A_Wave_2.transform, delegate(EnemyIdentifier enemy) { //IL_0008: Unknown result type (might be due to invalid IL or missing references) //IL_000e: Invalid comparison between Unknown and I4 enemy.immuneToFriendlyFire = true; if ((int)enemy.enemyType == 1) { enemy.radianceTier += 1.1f; enemy.healthBuffModifier += 1.1f; enemy.BuffAll(); } }, Hard_Mode_Only: true); Main_Utils.Make_List_MachineSymbiote(A_3_Machines_1.ToArray()); Main_Utils.Update_ActivateNextWave(A_ActivateNextWave_1, A_Wave_2.transform); Main_Utils.Enemy_InStack(B_Wave_1.transform, delegate(EnemyIdentifier enemy) { //IL_0001: Unknown result type (might be due to invalid IL or missing references) //IL_0008: Invalid comparison between Unknown and I4 if ((int)enemy.enemyType != 21) { ComponentExtensions.GetOrAddComponent((Component)(object)enemy); enemy.Sandify(false); enemy.radianceTier += 2f; enemy.healthBuffModifier += 25f; enemy.BuffAll(); } }, Hard_Mode_Only: true); Main_Utils.Update_ActivateArena(B_ActivateArena_1, B_Wave_1.transform); Main_Utils.Invoke_NextFrame(delegate { Main_Utils.Clear_AreaFromClones(((Component)B_ActivateArena_1).transform); }); Main_Utils.Enemy_InStack(B_Wave_2.transform, delegate(EnemyIdentifier enemy) { //IL_0009: Unknown result type (might be due to invalid IL or missing references) //IL_000f: Unknown result type (might be due to invalid IL or missing references) Main_Utils.Base_ReplaceEnemy(Main_Utils.DetectebleEnemies.Cerberus, ((Component)enemy).transform); }); Main_Utils.Enemy_InStack(B_Wave_2.transform, delegate(EnemyIdentifier enemy) { //IL_0007: Unknown result type (might be due to invalid IL or missing references) //IL_0011: Unknown result type (might be due to invalid IL or missing references) Transform transform9 = ((Component)enemy).transform; transform9.localScale *= 0.55f; NavMeshAgent component10 = ((Component)enemy).GetComponent(); if ((Object)(object)component10 != (Object)null) { component10.acceleration = 50f; component10.speed = 50f; } }); Main_Utils.Enemy_InStack(B_Wave_2.transform, delegate(EnemyIdentifier enemy) { if (Random.value < 0.25f) { enemy.BuffAll(); } }, Hard_Mode_Only: true); Main_Utils.Update_ActivateArena(B_ActivateArena_2, B_Wave_2.transform); bool variant = false; Main_Utils.Enemy_InStack(C_Wave_1.transform, delegate(EnemyIdentifier enemy) { //IL_005a: Unknown result type (might be due to invalid IL or missing references) //IL_005f: Unknown result type (might be due to invalid IL or missing references) //IL_0062: Unknown result type (might be due to invalid IL or missing references) //IL_002e: Unknown result type (might be due to invalid IL or missing references) //IL_0033: Unknown result type (might be due to invalid IL or missing references) //IL_0036: Unknown result type (might be due to invalid IL or missing references) variant = !variant; Vector3 val62; if (!variant) { Transform transform7 = ((Component)enemy).transform; val62 = new Vector3(Random.value, 0f, Random.value); Main_Utils.Base_ReplaceEnemy(Main_Utils.DetectebleEnemies.Turret, transform7, ((Vector3)(ref val62)).normalized, DestroyOnReplace: false); } else { Transform transform8 = ((Component)enemy).transform; val62 = new Vector3(Random.value, 0f, Random.value); Main_Utils.Base_ReplaceEnemy(Main_Utils.DetectebleEnemies.Soldier, transform8, ((Vector3)(ref val62)).normalized, DestroyOnReplace: false); } GameObjectExtensions.GetOrAddComponent(((Component)enemy).gameObject); }); bool c = true; Main_Utils.Enemy_InStack(C_Wave_1.transform, delegate(EnemyIdentifier enemy) { //IL_0001: Unknown result type (might be due to invalid IL or missing references) //IL_0008: Invalid comparison between Unknown and I4 if ((int)enemy.enemyType == 9) { c = false; } }, Hard_Mode_Only: true); Main_Utils.Enemy_InStack(C_Wave_1.transform, delegate(EnemyIdentifier enemy) { //IL_0001: Unknown result type (might be due to invalid IL or missing references) //IL_0008: Invalid comparison between Unknown and I4 //IL_002d: Unknown result type (might be due to invalid IL or missing references) //IL_0034: Invalid comparison between Unknown and I4 if ((int)enemy.enemyType != 9) { enemy.radianceTier += (c ? 3.5f : 1.5f); if ((int)enemy.enemyType == 20) { if (c) { EnemyIdentifier obj3 = enemy.Make_IdolMerged(enableIdol: false); obj3.dontCountAsKills = true; obj3.Sandify(false); } enemy.Sandify(false); enemy.radianceTier -= (c ? 1.4f : 0.7f); enemy.healthBuffModifier += 0.55f; } else { enemy.healthBuffModifier += (c ? 1.7f : 1f); } enemy.damageBuffModifier += (c ? 0.5f : 0.25f); enemy.BuffAll(); } }, Hard_Mode_Only: true); Main_Utils.Update_ActivateArena(C_ActivateArena_1, C_Wave_1.transform); C_ActivateArena_1.doors = (Door[])(object)new Door[2] { D_Door_2.GetComponent(), D_Door_3.GetComponent() }; ActivateNextWave orAddComponent2 = GameObjectExtensions.GetOrAddComponent(C_Wave_1.gameObject); orAddComponent2.enemyCount = Mathf.Clamp(C_ActivateArena_1.enemies.Length / 2 + 5, 0, 12); orAddComponent2.doors = C_ActivateArena_1.doors; orAddComponent2.lastWave = true; Main_Utils.Custom_ReplaceEnemy(Main_Utils.DetectebleEnemies.Virtue, D_childs_1[0], new Vector3(10f, 61f, 576f), Main_Utils.Quat_90); Main_Utils.Custom_ReplaceEnemy(Main_Utils.DetectebleEnemies.Virtue, D_childs_1[1], new Vector3(60f, -10f, 607f), Quaternion.Euler(0f, 200f, 0f)); Main_Utils.Custom_ReplaceEnemy(Main_Utils.DetectebleEnemies.Mindflayer, D_childs_1[2], new Vector3(23f, 25f, 565f), Quaternion.Euler(0f, 45f, 0f)); Main_Utils.Custom_ReplaceEnemy(Main_Utils.DetectebleEnemies.Mindflayer, D_childs_1[3], new Vector3(68f, 30f, 597f), Quaternion.Euler(0f, 230f, 0f)); Main_Utils.Custom_ReplaceEnemy(Main_Utils.DetectebleEnemies.SwordsMachineNonboss, D_childs_1[4], new Vector3(54f, -6.8762f, 567f), Quaternion.Euler(0f, 270f, 0f)); Main_Utils.Custom_ReplaceEnemy(Main_Utils.DetectebleEnemies.Gutterman, D_childs_1[5], new Vector3(40f, 8.0833f, 621f), Main_Utils.Quat_180); Main_Utils.Custom_ReplaceEnemy(Main_Utils.DetectebleEnemies.Guttertank, D_childs_1[6], new Vector3(59f, -1.8618f, 585f), Quaternion.Euler(0f, 200f, 0f)); Main_Utils.Custom_ReplaceEnemy(Main_Utils.DetectebleEnemies.Guttertank, D_childs_1[7], new Vector3(22f, 8.1667f, 590f), Quaternion.Euler(0f, 125f, 0f)); Main_Utils.Custom_ReplaceEnemy(Main_Utils.DetectebleEnemies.CentaurRocketLauncher, D_childs_1[8], new Vector3(67f, 87.5f, 579f), Main_Utils.Quat_180); Main_Utils.Enemy_InStack(D_Wave_1.transform, delegate(EnemyIdentifier enemy) { //IL_0001: Unknown result type (might be due to invalid IL or missing references) //IL_0008: Invalid comparison between Unknown and I4 //IL_0027: Unknown result type (might be due to invalid IL or missing references) //IL_002e: Invalid comparison between Unknown and I4 //IL_0080: Unknown result type (might be due to invalid IL or missing references) //IL_0086: Invalid comparison between Unknown and I4 //IL_0092: Unknown result type (might be due to invalid IL or missing references) //IL_0099: Invalid comparison between Unknown and I4 //IL_009c: Unknown result type (might be due to invalid IL or missing references) //IL_00a3: Invalid comparison between Unknown and I4 if ((int)enemy.enemyType == 9) { EnemyIdentifier obj2 = enemy.Make_IdolMerged(enableIdol: false); obj2.dontCountAsKills = true; obj2.BuffAll(); obj2.Sandify(false); } if ((int)enemy.enemyType == 35) { enemy.Sandify(false); enemy.damageBuffModifier += 0.75f; enemy.healthBuffModifier += 0.25f; enemy.speedBuffModifier += 0.5f; enemy.radianceTier += 2.5f; } if ((int)enemy.enemyType == 5) { enemy.Sandify(false); } else if ((int)enemy.enemyType != 34 && (int)enemy.enemyType != 9) { enemy.radianceTier += 1.25f; enemy.BuffAll(); } enemy.immuneToFriendlyFire = true; }, Hard_Mode_Only: true); Main_Utils.Update_ActivateArena(D_ActivateArena_1, D_Wave_1.transform); Main_Utils.Invoke_NextFrame(delegate { Main_Utils.Clear_AreaFromClones(D_Wave_1_Clone.transform); }); D_ActivateArena_1.doors = (Door[])(object)new Door[2] { D_Door_3.GetComponent(), D_Door_4.GetComponent() }; ActivateNextWave orAddComponent3 = GameObjectExtensions.GetOrAddComponent(D_Wave_1.gameObject); orAddComponent3.enemyCount = D_ActivateArena_1.enemies.Length / 2 - 1; orAddComponent3.doors = D_ActivateArena_1.doors; orAddComponent3.lastWave = true; D_Checkpoint.GetComponent().doorsToUnlock = (Door[])(object)new Door[3] { D_Door_2.GetComponent(), D_Door_3.GetComponent(), D_Door_4.GetComponent() }; Main_Utils.Enemy_InStack(E_Wave_1.transform, delegate(EnemyIdentifier enemy) { //IL_000a: Unknown result type (might be due to invalid IL or missing references) //IL_0010: Unknown result type (might be due to invalid IL or missing references) Main_Utils.Base_ReplaceEnemy(Main_Utils.DetectebleEnemies.Turret, ((Component)enemy).transform); }); Main_Utils.Enemy_InStack(E_Wave_1.transform, delegate(EnemyIdentifier enemy) { enemy.Sandify(false); enemy.healthBuffModifier += 0.35f; enemy.radianceTier = 4f; enemy.BuffAll(); NavMeshAgent component9 = ((Component)enemy).GetComponent(); if ((Object)(object)component9 != (Object)null) { component9.acceleration += 15f; component9.speed += 15f; } }, Hard_Mode_Only: true); Main_Utils.Update_ActivateArena(E_ActivateArena_1, E_Wave_1.transform); bool idolOnly = false; int c2 = 0; Main_Utils.Enemy_InStack(E_Wave_2.transform, delegate(EnemyIdentifier enemy) { //IL_0001: Unknown result type (might be due to invalid IL or missing references) //IL_0007: Invalid comparison between Unknown and I4 //IL_0087: Unknown result type (might be due to invalid IL or missing references) //IL_008c: 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_00a4: Unknown result type (might be due to invalid IL or missing references) //IL_00aa: Unknown result type (might be due to invalid IL or missing references) //IL_004f: Unknown result type (might be due to invalid IL or missing references) //IL_0054: Unknown result type (might be due to invalid IL or missing references) //IL_0057: Unknown result type (might be due to invalid IL or missing references) if ((int)enemy.enemyType == 3) { Object.Destroy((Object)(object)((Component)enemy).gameObject); } else { idolOnly = !idolOnly; Vector3 extraPos; if (idolOnly) { Transform transform4 = ((Component)enemy).transform; extraPos = new Vector3(Random.value * 3.5f, 0f, Random.value * 3.5f); Main_Utils.Base_ReplaceEnemy(Main_Utils.DetectebleEnemies.Idol, transform4, ((Vector3)(ref extraPos)).normalized); } else { Transform transform5 = ((Component)enemy).transform; extraPos = new Vector3(Random.value * 3.5f, 0f, Random.value * 3.5f); Main_Utils.Base_ReplaceEnemy(Main_Utils.DetectebleEnemies.Idol, transform5, ((Vector3)(ref extraPos)).normalized, DestroyOnReplace: false); Transform transform6 = ((Component)enemy).transform; extraPos = default(Vector3); Main_Utils.Base_ReplaceEnemy(Main_Utils.DetectebleEnemies.Sisyphus, transform6, extraPos); } } }); Main_Utils.Enemy_InStack(E_Wave_2.transform, delegate(EnemyIdentifier enemy) { //IL_0001: Unknown result type (might be due to invalid IL or missing references) //IL_0008: Invalid comparison between Unknown and I4 if ((int)enemy.enemyType == 19) { c2++; } }); Main_Utils.Enemy_InStack(E_Wave_2.transform, delegate(EnemyIdentifier enemy) { //IL_0001: Unknown result type (might be due to invalid IL or missing references) //IL_0008: Invalid comparison between Unknown and I4 if ((int)enemy.enemyType == 19) { Enemy component8 = ((Component)enemy).GetComponent(); if ((Object)(object)component8 != (Object)null) { E_9_Machines_2.Add(component8); } } }); Main_Utils.Enemy_InStack(E_Wave_2.transform, delegate(EnemyIdentifier enemy) { //IL_0001: Unknown result type (might be due to invalid IL or missing references) //IL_0008: Invalid comparison between Unknown and I4 //IL_001a: 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) if ((int)enemy.enemyType == 21 && c2 < 5) { Transform transform3 = ((Component)enemy).transform; transform3.localScale *= 0.6f; GameObjectExtensions.GetOrAddComponent(((Component)enemy).gameObject).TierToAdd = 0.15f; enemy.BuffAll(); enemy.Sandify(false); } }, Hard_Mode_Only: true); Main_Utils.Make_List_MachineSymbiote(E_9_Machines_2.ToArray()); Main_Utils.Update_ActivateNextWave(E_ActivateNextWave_1, E_Wave_2.transform); E_ActivateNextWave_2.enemyCount = 6; GameObject gameObject = E_Statue_1.gameObject; Breakable val = ((gameObject != null) ? GameObjectExtensions.GetOrAddComponent(gameObject) : null); GameObject gameObject2 = E_Statue_2.gameObject; Breakable val2 = ((gameObject2 != null) ? GameObjectExtensions.GetOrAddComponent(gameObject2) : null); if (Object.op_Implicit((Object)(object)val)) { ((Component)val).gameObject.layer = 8; val.activateOnBreak = (GameObject[])(object)new GameObject[0]; val.destroyOnBreak = (GameObject[])(object)new GameObject[0]; val.destroyEvent = new UltrakillEvent(); val.breakParticle = Fento_Assets.BreakParticle.gameObject; } if (Object.op_Implicit((Object)(object)val2)) { ((Component)val2).gameObject.layer = 8; val2.activateOnBreak = (GameObject[])(object)new GameObject[0]; val2.destroyOnBreak = (GameObject[])(object)new GameObject[0]; val2.destroyEvent = new UltrakillEvent(); val2.breakParticle = Fento_Assets.BreakParticle.gameObject; } Main_Utils.Invoke_NextFrame(delegate { Main_Utils.Clear_AreaFromClones(E_Wave_1_Clone.transform); Main_Utils.Clear_AreaFromClones(E_Wave_2_Clone.transform); }); Main_Utils.Enemy_InStack(F_Wave_1.transform, delegate(EnemyIdentifier enemy) { //IL_0017: Unknown result type (might be due to invalid IL or missing references) //IL_002d: Unknown result type (might be due to invalid IL or missing references) //IL_0033: Unknown result type (might be due to invalid IL or missing references) Main_Utils.Base_ReplaceEnemy(Main_Utils.DetectebleEnemies.Idol, ((Component)enemy).transform, new Vector3(2f, 0f, 0f), DestroyOnReplace: false); Main_Utils.Base_ReplaceEnemy(Main_Utils.DetectebleEnemies.Streetcleaner, ((Component)enemy).transform); }); Main_Utils.Enemy_InStack(F_Wave_1.transform, delegate(EnemyIdentifier enemy) { //IL_0001: Unknown result type (might be due to invalid IL or missing references) //IL_0007: Invalid comparison between Unknown and I4 //IL_0042: Unknown result type (might be due to invalid IL or missing references) //IL_0049: Invalid comparison between Unknown and I4 //IL_005e: Unknown result type (might be due to invalid IL or missing references) //IL_0068: Unknown result type (might be due to invalid IL or missing references) if ((int)enemy.enemyType == 6) { enemy.healthBuffModifier += 8f; enemy.damageBuffModifier += 0.25f; enemy.radianceTier += 2.5f; } else if ((int)enemy.enemyType == 21) { GameObjectExtensions.GetOrAddComponent(((Component)enemy).gameObject); Transform transform2 = ((Component)enemy).transform; transform2.localScale *= 0.6f; } enemy.Sandify(false); enemy.BuffAll(); }, Hard_Mode_Only: true); Main_Utils.Update_ActivateArena(F_ActivateArena_1, F_Wave_1.transform); int swordsCount = 0; Main_Utils.Enemy_InStack(F_Wave_2.transform, delegate(EnemyIdentifier enemy) { //IL_0001: Unknown result type (might be due to invalid IL or missing references) //IL_0007: Invalid comparison between Unknown and I4 //IL_0051: Unknown result type (might be due to invalid IL or missing references) //IL_0057: Unknown result type (might be due to invalid IL or missing references) //IL_001c: Unknown result type (might be due to invalid IL or missing references) //IL_0022: Unknown result type (might be due to invalid IL or missing references) if ((int)enemy.enemyType == 3) { if (swordsCount < 3) { Main_Utils.Base_ReplaceEnemy(Main_Utils.DetectebleEnemies.SwordsMachineNonboss, ((Component)enemy).transform); } else { Object.Destroy((Object)(object)((Component)enemy).gameObject); } swordsCount++; } else { Main_Utils.Base_ReplaceEnemy(Main_Utils.DetectebleEnemies.Cerberus, ((Component)enemy).transform); } }); Main_Utils.Enemy_InStack(F_Wave_2.transform, delegate(EnemyIdentifier enemy) { //IL_0001: Unknown result type (might be due to invalid IL or missing references) //IL_0007: Invalid comparison between Unknown and I4 //IL_0025: Unknown result type (might be due to invalid IL or missing references) //IL_0059: Unknown result type (might be due to invalid IL or missing references) //IL_0063: Unknown result type (might be due to invalid IL or missing references) if ((int)enemy.enemyType == 7) { Enemy component6 = ((Component)enemy).GetComponent(); if ((Object)(object)component6 != (Object)null) { F_10_Machines_3.Add(component6); } } if ((int)enemy.enemyType == 0) { NavMeshAgent component7 = ((Component)enemy).GetComponent(); if ((Object)(object)component7 != (Object)null) { component7.acceleration = 50f; component7.speed = 50f; } Transform transform = ((Component)enemy).transform; transform.localScale *= 0.75f; } }); Main_Utils.Enemy_InStack(F_Wave_2.transform, delegate(EnemyIdentifier enemy) { //IL_0001: Unknown result type (might be due to invalid IL or missing references) if ((int)enemy.enemyType == 0) { enemy.healthBuffModifier += 1.2f; enemy.radianceTier += 1.25f; enemy.Sandify(false); } enemy.radianceTier += 1.6f; enemy.BuffAll(); }, Hard_Mode_Only: true); Main_Utils.Make_List_MachineSymbiote(F_10_Machines_3.ToArray()); Main_Utils.Update_ActivateArena(F_ActivateArena_2, F_Wave_2.transform); Main_Utils.Clear_AreaFromClones(F_Wave_1_Clone.transform); Main_Utils.Clear_AreaFromClones(F_Wave_2_Clone.transform); Main_Utils.Invoke_NextFrame(delegate { Main_Utils.Clear_AreaFromClones(F_Wave_1_Clone.transform); Main_Utils.Clear_AreaFromClones(F_Wave_2_Clone.transform); }); Main_Utils.Update_ActivateArena(F_ActivateArena_1, F_Wave_1.transform); F_ActivateArena_1.doors = (Door[])(object)new Door[2] { F_Wave_1_Door_5.GetComponent(), F_Wave_1_Door_7.GetComponent() }; F_ActivateArena_2.doors = F_ActivateArena_1.doors; ActivateNextWave orAddComponent4 = GameObjectExtensions.GetOrAddComponent(F_Wave_2.gameObject); orAddComponent4.doors = F_ActivateArena_2.doors; orAddComponent4.lastWave = true; orAddComponent4.enemyCount = 5; F_Wave_1_Checkpoint_1.GetComponent().doorsToUnlock = orAddComponent4.doors; Main_Utils.For_InStack(G_Wave_1.transform, delegate(Transform tr) { if ((Object)(object)((Component)tr).GetComponent() == (Object)null) { GameObjectExtensions.GetOrAddComponent(((Component)tr).gameObject); } }); Main_Utils.Enemy_InStack(G_Wave_1.transform, delegate(EnemyIdentifier enemy) { //IL_000a: Unknown result type (might be due to invalid IL or missing references) //IL_0010: Unknown result type (might be due to invalid IL or missing references) Main_Utils.Base_ReplaceEnemy(Main_Utils.DetectebleEnemies.MirrorReaper, ((Component)enemy).transform); }); Main_Utils.Enemy_InStack(G_Wave_2.transform, delegate(EnemyIdentifier enemy) { //IL_000a: Unknown result type (might be due to invalid IL or missing references) //IL_0010: Unknown result type (might be due to invalid IL or missing references) Main_Utils.Base_ReplaceEnemy(Main_Utils.DetectebleEnemies.Mannequin, ((Component)enemy).transform); }); Main_Utils.Enemy_InStack(G_Wave_2.transform, delegate(EnemyIdentifier enemy) { //IL_0001: Unknown result type (might be due to invalid IL or missing references) //IL_0008: Invalid comparison between Unknown and I4 if ((int)enemy.enemyType == 31) { Enemy component5 = ((Component)enemy).GetComponent(); if ((Object)(object)component5 != (Object)null) { G_11_Machines_4.Add(component5); } GameObjectExtensions.GetOrAddComponent(((Component)enemy).gameObject).ReqTime = 25f; } }); Main_Utils.Enemy_InStack(G_Wave_2.transform, delegate(EnemyIdentifier enemy) { enemy.Sandify(false); enemy.radianceTier += 2.5f; enemy.healthBuffModifier += 1f; enemy.damageBuffModifier += 0.5f; enemy.speedBuffModifier -= 0.5f; enemy.BuffAll(); }, Hard_Mode_Only: true); Main_Utils.Make_List_MachineSymbiote(G_11_Machines_4.ToArray()); Main_Utils.Update_ActivateArena(G_ActivateArena_1A, G_Wave_1.transform); Main_Utils.Update_ActivateArena(G_ActivateArena_1B, G_Wave_1.transform); Main_Utils.Update_ActivateArena(G_ActivateArena_2, G_Wave_1.transform); Main_Utils.Invoke_NextFrame(delegate { Main_Utils.Clear_AreaFromClones(G_Wave_1_Clone.transform); Main_Utils.Clear_AreaFromClones(G_Wave_2_Clone.transform); }); Main_Utils.Custom_ReplaceEnemy(Main_Utils.DetectebleEnemies.Drone, H_childs_1[0], new Vector3(223f, 60f, 516f), Quaternion.Euler(0f, 270f, 0f)); Main_Utils.Custom_ReplaceEnemy(Main_Utils.DetectebleEnemies.Drone, H_childs_1[1], new Vector3(180f, 60f, 516f), Main_Utils.Quat_90); Main_Utils.Custom_ReplaceEnemy(Main_Utils.DetectebleEnemies.Ferryman, H_childs_1[2], new Vector3(202f, 53.6667f, 492f), Quaternion.Euler(0f, 0f, 0f)); Main_Utils.Custom_ReplaceEnemy(Main_Utils.DetectebleEnemies.Guttertank, H_childs_1[3], new Vector3(168f, 53.0833f, 488f), Main_Utils.Quat_90); Main_Utils.Custom_ReplaceEnemy(Main_Utils.DetectebleEnemies.CentaurTower, H_childs_1[4], new Vector3(178.5f, 104f, 520.5f), Quaternion.Euler(0f, 45f, 0f)); Main_Utils.Custom_ReplaceEnemy(Main_Utils.DetectebleEnemies.Stray, H_childs_1[5], new Vector3(202f, 53.1493f, 527f), Main_Utils.Quat_180); Main_Utils.Custom_ReplaceEnemy(Main_Utils.DetectebleEnemies.HideousMass, H_childs_1[6], new Vector3(202f, 53f, 463f), Quaternion.Euler(0f, 0f, 0f)); H_Trigger_1.transform.localScale = new Vector3(80f, 160f, 35f); Main_Utils.Enemy_InStack(H_Wave_1.transform, delegate(EnemyIdentifier enemy) { //IL_0001: Unknown result type (might be due to invalid IL or missing references) //IL_0008: Invalid comparison between Unknown and I4 //IL_0013: Unknown result type (might be due to invalid IL or missing references) //IL_0019: Invalid comparison between Unknown and I4 //IL_0024: Unknown result type (might be due to invalid IL or missing references) //IL_002b: Invalid comparison between Unknown and I4 //IL_002e: Unknown result type (might be due to invalid IL or missing references) //IL_0035: Invalid comparison between Unknown and I4 //IL_0054: Unknown result type (might be due to invalid IL or missing references) //IL_005a: Invalid comparison between Unknown and I4 if ((int)enemy.enemyType == 35) { ComponentExtensions.GetOrAddComponent((Component)(object)enemy); } else if ((int)enemy.enemyType == 2) { ComponentExtensions.GetOrAddComponent((Component)(object)enemy); } else if ((int)enemy.enemyType == 34 || (int)enemy.enemyType == 26) { Enemy component4 = ((Component)enemy).GetComponent(); if ((Object)(object)component4 != (Object)null) { H_12_Machines_5.Add(component4); } } else if ((int)enemy.enemyType == 1) { GameObjectExtensions.GetOrAddComponent(((Component)enemy).gameObject); } }); Main_Utils.Enemy_InStack(H_Wave_1.transform, delegate(EnemyIdentifier enemy) { //IL_0008: Unknown result type (might be due to invalid IL or missing references) //IL_000f: Invalid comparison between Unknown and I4 //IL_0022: Unknown result type (might be due to invalid IL or missing references) //IL_0029: Invalid comparison between Unknown and I4 //IL_0012: Unknown result type (might be due to invalid IL or missing references) //IL_0018: Invalid comparison between Unknown and I4 //IL_006c: Unknown result type (might be due to invalid IL or missing references) //IL_0072: Invalid comparison between Unknown and I4 //IL_009b: Unknown result type (might be due to invalid IL or missing references) //IL_00a2: Invalid comparison between Unknown and I4 //IL_010a: Unknown result type (might be due to invalid IL or missing references) //IL_0111: Invalid comparison between Unknown and I4 //IL_00dd: Unknown result type (might be due to invalid IL or missing references) //IL_00e3: Invalid comparison between Unknown and I4 //IL_0114: Unknown result type (might be due to invalid IL or missing references) //IL_011b: Invalid comparison between Unknown and I4 enemy.immuneToFriendlyFire = true; if ((int)enemy.enemyType != 34 && (int)enemy.enemyType != 1) { enemy.Sandify(false); } if ((int)enemy.enemyType == 35) { enemy.radianceTier += 3.5f; MortarLauncher component3 = ((Component)enemy).GetComponent(); if ((Object)(object)component3 != (Object)null) { component3.firingDelay = 3f; component3.firstFireDelay = 3f; } } else if ((int)enemy.enemyType == 1) { enemy.radianceTier += 0.85f; enemy.healthBuffModifier += 4.5f; } else if ((int)enemy.enemyType == 13) { enemy.radianceTier += 5f; enemy.damageBuffModifier += 2f; enemy.healthBuffModifier += 2f; } else if ((int)enemy.enemyType == 2) { enemy.healthBuffModifier += 0.2f; enemy.radianceTier += 0.65f; } if ((int)enemy.enemyType != 34 && (int)enemy.enemyType != 26) { enemy.BuffAll(); } }, Hard_Mode_Only: true); Main_Utils.Make_List_MachineSymbiote(H_12_Machines_5.ToArray()); Main_Utils.Update_ActivateArena(H_ActivateArena_1, H_Wave_1.transform); Main_Utils.Clear_AreaFromClones(H_Wave_1_Clone.transform); Main_Utils.Invoke_NextFrame(delegate { Main_Utils.Clear_AreaFromClones(H_Wave_1_Clone.transform); }); H_ActivateArena_1.doors = (Door[])(object)new Door[2] { H_Secret_Door_8.GetComponent(), H_Secret_Door_10.GetComponent() }; ActivateNextWave orAddComponent5 = GameObjectExtensions.GetOrAddComponent(H_Wave_1.gameObject); orAddComponent5.doors = H_ActivateArena_1.doors; orAddComponent5.toActivate = CollectionExtensions.AddToArray(orAddComponent5.toActivate, H_Secret_Wave_1.gameObject); orAddComponent5.lastWave = true; orAddComponent5.enemyCount = 7; H_Secret_Wave_1.gameObject.SetActive(false); Main_Utils.Integrate_Enemy(Main_Utils.DetectebleEnemies.Cerberus, I_Wave_1.transform, active: false, new Vector3(190f, 53.0833f, 428f), Main_Utils.Quat_90); Main_Utils.Integrate_Enemy(Main_Utils.DetectebleEnemies.Cerberus, I_Wave_1.transform, active: false, new Vector3(214f, 53.0833f, 428f), Quaternion.Euler(0f, 270f, 0f)); Main_Utils.Integrate_Enemy(Main_Utils.DetectebleEnemies.Turret, I_Wave_1.transform, active: false, new Vector3(190f, 53.0833f, 404f), Quaternion.Euler(0f, 0f, 0f)); Main_Utils.Integrate_Enemy(Main_Utils.DetectebleEnemies.Turret, I_Wave_1.transform, active: false, new Vector3(214f, 53.0833f, 404f), Quaternion.Euler(0f, 0f, 0f)); Main_Utils.Integrate_Enemy(Main_Utils.DetectebleEnemies.Idol, I_Wave_1.transform, active: false, new Vector3(216f, 72f, 416f), Main_Utils.Quat_90); Main_Utils.Integrate_Enemy(Main_Utils.DetectebleEnemies.Idol, I_Wave_1.transform, active: false, new Vector3(188f, 74f, 416f), Quaternion.Euler(0f, 270f, 0f)); Main_Utils.Enemy_InStack(I_Wave_1.transform, delegate(EnemyIdentifier enemy) { //IL_0001: Unknown result type (might be due to invalid IL or missing references) //IL_0008: Invalid comparison between Unknown and I4 //IL_0026: Unknown result type (might be due to invalid IL or missing references) //IL_002c: Invalid comparison between Unknown and I4 if ((int)enemy.enemyType == 21) { Idol component2 = ((Component)enemy).GetComponent(); if ((Object)(object)component2 != (Object)null) { I_Idols.Add(component2); } } if ((int)enemy.enemyType != 4 && (Object)(object)I_ObjectActivator_1 != (Object)null && I_ObjectActivator_1.events != null) { I_ObjectActivator_1.events.toActivateObjects.Append(((Component)enemy).gameObject); } }); Main_Utils.Enemy_InStack(I_Wave_1.transform, delegate(EnemyIdentifier enemy) { //IL_0015: Unknown result type (might be due to invalid IL or missing references) //IL_001c: Invalid comparison between Unknown and I4 enemy.immuneToFriendlyFire = true; enemy.Sandify(false); enemy.BuffAll(); if ((int)enemy.enemyType == 21) { GameObjectExtensions.GetOrAddComponent(((Component)enemy).gameObject).TierToAdd = 1.25f; } }, Hard_Mode_Only: true); Main_Utils.Enemy_InStack(I_Boss.transform, delegate(EnemyIdentifier enemy) { //IL_0001: Unknown result type (might be due to invalid IL or missing references) //IL_0007: Invalid comparison between Unknown and I4 if ((int)enemy.enemyType == 4) { I_Boss_MaliciousFace = enemy; GameObjectExtensions.GetOrAddComponent(((Component)enemy).gameObject); GameObjectExtensions.GetOrAddComponent(((Component)enemy).gameObject); } }); Main_Utils.Enemy_InStack(I_Boss.transform, delegate(EnemyIdentifier enemy) { //IL_0001: Unknown result type (might be due to invalid IL or missing references) //IL_0007: Invalid comparison between Unknown and I4 if ((int)enemy.enemyType == 4) { enemy.immuneToFriendlyFire = true; enemy.Sandify(false); enemy.radianceTier += 1.2f; enemy.healthBuffModifier += 7.5f; enemy.damageBuffModifier += 0.1f; enemy.BuffAll(); } }, Hard_Mode_Only: true); if ((Object)(object)I_Boss_MaliciousFace != (Object)null) { foreach (Idol i_Idol in I_Idols) { i_Idol.overrideTarget = I_Boss_MaliciousFace; } } I_ActivateNextWave_1.enemyCount = 7; Main_Utils.Update_ActivateArena(I_ActivateArena_1, I_Wave_1.transform); Main_Utils.Invoke_NextFrame(delegate { Main_Utils.Clear_AreaFromClones(I_Wave_1.transform); }); GameObject val3 = new GameObject("Secret Clear"); val3.SetActive(false); GameObjectExtensions.GetOrAddComponent(val3); H_Secret_ActivateArena = H_Secret_ActivateArena_Obj.GetComponent(); H_Secret_ActivateArena.doors = (Door[])(object)new Door[3] { H_Secret_Door_8.GetComponent(), H_Secret_Door_10.GetComponent(), H_Secret_Door_7.GetComponent() }; GameObjectExtensions.GetOrAddComponent(((Component)H_Secret_ActivateArena).gameObject).Door = H_Secret_ActivateArena.doors[0]; H_Secret_Checkpoint_5 = H_Secret_Checkpoint_5_Obj.GetComponent(); H_Secret_Checkpoint_5.doorsToUnlock = H_Secret_ActivateArena.doors; EnemyIdentifier val4 = Main_Utils.Integrate_Enemy(Main_Utils.DetectebleEnemies.Flith, H_Secret_Wave_1.transform, active: false, new Vector3(202f, 38.1667f, 565f), Main_Utils.Quat_180); val4.radianceTier += 10f; val4.BuffAll(); val4.Make_Puppet_OnStart(); EnemyIdentifier val5 = Main_Utils.Integrate_Enemy(Main_Utils.DetectebleEnemies.Idol, H_Secret_Wave_1.transform, active: false, new Vector3(202f, 42f, 528f), Quaternion.Euler(0f, 0f, 0f)); EnemyIdentifier val6 = Main_Utils.Integrate_Enemy(Main_Utils.DetectebleEnemies.Virtue, H_Secret_Wave_1.transform, active: false, new Vector3(202f, 70f, 492f), Quaternion.Euler(0f, 0f, 0f)); val5.Make_UltraEnraged(); val5.idol.overrideTarget = val6; Make_Boss_OnAction orAddComponent6 = ComponentExtensions.GetOrAddComponent((Component)(object)val5); orAddComponent6.toBossify = val6; orAddComponent6.BossName = "+ULTRAENRAGED VIRTUE"; EnemyIdentifier val7 = Main_Utils.Integrate_Enemy(Main_Utils.DetectebleEnemies.Cerberus, H_Secret_Wave_1.transform, active: false, new Vector3(170f, 53.0833f, 498f), Main_Utils.Quat_90); val7.radianceTier += 5f; val7.BuffAll(); val7.Sandify(false); StatueBoss val8 = default(StatueBoss); if (((Component)val7).TryGetComponent(ref val8)) { val8.stationary = true; } EnemyIdentifier val9 = Main_Utils.Integrate_Enemy(Main_Utils.DetectebleEnemies.DroneFleshCamera_Variant, H_Secret_Wave_1.transform, active: false, new Vector3(202f, 70f, 492f), Quaternion.Euler(0f, 0f, 0f)); EnemyIdentifier val10 = Main_Utils.Integrate_Enemy(Main_Utils.DetectebleEnemies.Turret, H_Secret_Wave_1.transform, active: false, new Vector3(202f, 53.0833f, 458f), Quaternion.Euler(0f, 0f, 0f)); EnemyIdentifier val11 = Main_Utils.Integrate_Enemy(Main_Utils.DetectebleEnemies.Turret, H_Secret_Wave_1.transform, active: false, new Vector3(202f, 53.1311f, 528f), Main_Utils.Quat_180); val9.BuffAll(); val10.radianceTier += 3f; val10.immuneToFriendlyFire = true; val10.Make_Puppet_OnStart(); val10.BuffAll(); val11.radianceTier += 3f; val11.immuneToFriendlyFire = true; val11.Make_Puppet_OnStart(); val11.BuffAll(); Main_Utils.Make_List_MachineSymbiote(((Component)val10).GetComponent(), ((Component)val11).GetComponent()); EnemyIdentifier val12 = Main_Utils.Integrate_Enemy(Main_Utils.DetectebleEnemies.Mindflayer, H_Secret_Wave_1.transform, active: false, new Vector3(229f, (float)(60 + Random.Range(-5, 5)), 488f), Quaternion.Euler(0f, 270f, 0f)); EnemyIdentifier val13 = Main_Utils.Integrate_Enemy(Main_Utils.DetectebleEnemies.Mindflayer, H_Secret_Wave_1.transform, active: false, new Vector3(174f, (float)(60 + Random.Range(-5, 5)), 488f), Main_Utils.Quat_90); EnemyIdentifier val14 = val12.Make_IdolMerged(enableIdol: false); EnemyIdentifier val15 = val13.Make_IdolMerged(enableIdol: false); val12.Sandify(false); val13.Sandify(false); val14.BuffAll(); val14.Sandify(false); ComponentExtensions.GetOrAddComponent((Component)(object)val14).TierToAdd -= 0.75f; val15.BuffAll(); val15.Sandify(false); ComponentExtensions.GetOrAddComponent((Component)(object)val15).TierToAdd -= 0.75f; Fento_Enemy_Tag fento_Enemy_Tag = Main_Utils.Integrate_Enemy_Tag(Main_Utils.DetectebleEnemies.CentaurRocketLauncherStand, H_Secret_Wave_1.transform, active: false, new Vector3(178f, 98f, 474f), Quaternion.Euler(0f, 0f, 0f)); Fento_Enemy_Tag fento_Enemy_Tag2 = Main_Utils.Integrate_Enemy_Tag(Main_Utils.DetectebleEnemies.CentaurRocketLauncherStand, H_Secret_Wave_1.transform, active: false, new Vector3(226f, 97.5f, 474f), Main_Utils.Quat_180); Fento_Enemy_Tag fento_Enemy_Tag3 = Main_Utils.Integrate_Enemy_Tag(Main_Utils.DetectebleEnemies.CentaurRocketLauncherStand, H_Secret_Wave_1.transform, active: false, new Vector3(226f, 98f, 522f), Main_Utils.Quat_180); Fento_Enemy_Tag fento_Enemy_Tag4 = Main_Utils.Integrate_Enemy_Tag(Main_Utils.DetectebleEnemies.CentaurRocketLauncherStand, H_Secret_Wave_1.transform, active: false, new Vector3(178f, 104f, 520f), Quaternion.Euler(0f, 45f, 0f)); EnemyIdentifier eid = fento_Enemy_Tag.eid; eid.radianceTier += 3f; fento_Enemy_Tag.eid.BuffAll(); fento_Enemy_Tag.eid.Make_Puppet_OnStart(); EnemyIdentifier eid2 = fento_Enemy_Tag2.eid; eid2.radianceTier += 3f; fento_Enemy_Tag2.eid.BuffAll(); fento_Enemy_Tag2.eid.Make_Puppet_OnStart(); EnemyIdentifier eid3 = fento_Enemy_Tag3.eid; eid3.radianceTier += 3f; fento_Enemy_Tag3.eid.BuffAll(); fento_Enemy_Tag3.eid.Make_Puppet_OnStart(); EnemyIdentifier eid4 = fento_Enemy_Tag4.eid; eid4.radianceTier += 3f; fento_Enemy_Tag4.eid.BuffAll(); fento_Enemy_Tag4.eid.Make_Puppet_OnStart(); EnemyIdentifier val16 = Main_Utils.Integrate_Enemy(Main_Utils.DetectebleEnemies.Idol, H_Secret_Wave_1.transform, active: false, new Vector3(202f, 42f, 528f), Quaternion.Euler(0f, 0f, 0f)); EnemyIdentifier val17 = Main_Utils.Integrate_Enemy(Main_Utils.DetectebleEnemies.Gutterman, H_Secret_Wave_1.transform, active: false, new Vector3(202f, 53.6667f, 482f), Quaternion.Euler(0f, 0f, 0f)); val17.radianceTier += 1f; val17.Sandify(false); val16.idol.overrideTarget = val17; val16.BuffAll(); val16.Sandify(false); EnemyIdentifier val18 = Main_Utils.Integrate_Enemy(Main_Utils.DetectebleEnemies.Schism, H_Secret_Wave_1.transform, active: false, new Vector3(168f, 53.0833f, 510f), Main_Utils.Quat_90); EnemyIdentifier val19 = Main_Utils.Integrate_Enemy(Main_Utils.DetectebleEnemies.Schism, H_Secret_Wave_1.transform, active: false, new Vector3(168f, 53.0833f, 484f), Main_Utils.Quat_90); val18.healthBuffModifier += 2f; val18.radianceTier += 11f; val18.BuffAll(); val18.Make_Puppet_OnStart(); ZombieProjectiles val20 = default(ZombieProjectiles); if (((Component)val18).TryGetComponent(ref val20)) { val20.stationary = true; } val19.healthBuffModifier += 2f; val19.radianceTier += 11f; val19.BuffAll(); val19.Make_Puppet_OnStart(); ZombieProjectiles val21 = default(ZombieProjectiles); if (((Component)val19).TryGetComponent(ref val21)) { val21.stationary = true; } EnemyIdentifier val22 = Main_Utils.Integrate_Enemy(Main_Utils.DetectebleEnemies.Virtue, H_Secret_Wave_1.transform, active: false, new Vector3(233f, (float)(60 + Random.Range(-5, 5)), 500f), Quaternion.Euler(0f, 270f, 0f)); EnemyIdentifier val23 = Main_Utils.Integrate_Enemy(Main_Utils.DetectebleEnemies.Virtue, H_Secret_Wave_1.transform, active: false, new Vector3(170f, (float)(60 + Random.Range(-5, 5)), 500f), Main_Utils.Quat_90); val22.healthBuffModifier *= 2f; val22.BuffAll(); val22.Make_Puppet_OnStart(); val23.healthBuffModifier *= 2f; val23.BuffAll(); val23.Make_Puppet_OnStart(); EnemyIdentifier val24 = Main_Utils.Integrate_Enemy(Main_Utils.DetectebleEnemies.DroneSkull_Variant, H_Secret_Wave_1.transform, active: false, new Vector3(229f, (float)(60 + Random.Range(-5, 5)), 476f), Quaternion.Euler(0f, 270f, 0f)); val24.healthBuffModifier += 2f; val24.BuffAll(); val24.Sandify(false); ComponentExtensions.GetOrAddComponent((Component)(object)val24); val24.dontCountAsKills = true; EnemyIdentifier val25 = Main_Utils.Integrate_Enemy(Main_Utils.DetectebleEnemies.DroneSkull_Variant, H_Secret_Wave_1.transform, active: false, new Vector3(174f, (float)(60 + Random.Range(-5, 5)), 476f), Main_Utils.Quat_90); val25.healthBuffModifier += 2f; val25.BuffAll(); val25.Sandify(false); ComponentExtensions.GetOrAddComponent((Component)(object)val25); val25.dontCountAsKills = true; EnemyIdentifier val26 = Main_Utils.Integrate_Enemy(Main_Utils.DetectebleEnemies.CentaurTower, H_Secret_Wave_1.transform, active: false, new Vector3(166f, 104f, 498f), Quaternion.Euler(270f, 270f, 0f)); EnemyIdentifier val27 = Main_Utils.Integrate_Enemy(Main_Utils.DetectebleEnemies.CentaurTower, H_Secret_Wave_1.transform, active: false, new Vector3(238f, 104f, 498f), Quaternion.Euler(270f, 90f, 0f)); val26.healthBuffModifier += 5f; val27.healthBuffModifier += 5f; val26.BuffAll(); val27.BuffAll(); val26.Sandify(false); val27.Sandify(false); val26.dontCountAsKills = true; val27.dontCountAsKills = true; EnemyIdentifier val28 = val26.Make_IdolMerged(enableIdol: false, keepNear: false); EnemyIdentifier val29 = val27.Make_IdolMerged(enableIdol: false, keepNear: false); ((Component)val28).transform.position = new Vector3(180.2697f, 49f, 538.165f); ((Component)val29).transform.position = new Vector3(180.2697f, 49f, 538.165f); val28.BuffAll(); val29.BuffAll(); val28.Sandify(false); val29.Sandify(false); ComponentExtensions.GetOrAddComponent((Component)(object)val28); ComponentExtensions.GetOrAddComponent((Component)(object)val29); GameObject val30 = Object.Instantiate(Fento_Assets.HammerHitExplosion.gameObject, new Vector3(180.2697f, 49f, 538.165f), Quaternion.identity, H_Secret_Wave_1.transform.parent); val30.gameObject.SetActive(false); Explosion[] componentsInChildren = val30.GetComponentsInChildren(); foreach (Explosion obj in componentsInChildren) { obj.sourceWeapon = val30; obj.hitterWeapon = "hammer"; } EnemyIdentifier val31 = Main_Utils.Integrate_Enemy(Main_Utils.DetectebleEnemies.Ferryman, H_Secret_Wave_1.transform, active: false, new Vector3(192f, 28.1553f, 572f), Main_Utils.Quat_180); EnemyIdentifier val32 = val31.Make_IdolMerged(enableIdol: false, keepNear: false); ((Component)val32).transform.position = new Vector3(178f, 104f, 520f); val32.Sandify(false); EnemyIdentifier val33 = val31.Make_IdolMerged(enableIdol: false, keepNear: false); ((Component)val33).transform.position = new Vector3(224.6397f, 11.7512f, 524.374f); val33.Sandify(false); EnemyIdentifier val34 = val31.Make_IdolMerged(enableIdol: false, keepNear: false); ((Component)val34).transform.position = new Vector3(229.9275f, 98.2194f, 475.3071f); val34.Sandify(false); EnemyIdentifier val35 = val31.Make_IdolMerged(enableIdol: false, keepNear: false); ((Component)val35).transform.position = new Vector3(178.6893f, 16.0024f, 471.358f); val35.Sandify(false); EnemyIdentifier val36 = Main_Utils.Integrate_Enemy(Main_Utils.DetectebleEnemies.HideousMass, H_Secret_Wave_1.transform, active: false, new Vector3(202f, 48.5f, 504f), Quaternion.Euler(0f, 0f, 0f)); ComponentExtensions.GetOrAddComponent((Component)(object)val36); ComponentExtensions.GetOrAddComponent((Component)(object)val36); val36.isBoss = true; EnemyIdentifier val37 = val36.Make_IdolMerged(enableIdol: false, keepNear: false); ((Component)val37).transform.position = new Vector3(180.2697f, 49f, 538.165f); val37.BuffAll(); val37.Sandify(false); EnemyIdentifier val38 = Main_Utils.Integrate_Enemy(Main_Utils.DetectebleEnemies.Idol, H_Secret_Wave_1.transform, active: false, new Vector3(202f, 53f, 528f), Quaternion.Euler(0f, 0f, 0f)); val38.idol.overrideTarget = val36; val38.Make_UltraEnraged(); Make_Boss_OnAction orAddComponent7 = ComponentExtensions.GetOrAddComponent((Component)(object)val38); orAddComponent7.toBossify = val36; orAddComponent7.BossName = "+ULTRAENRAGED HIDEOUS MASS"; GameObject val39 = Object.Instantiate(Fento_Assets.LavaBox.gameObject, new Vector3(192f, 64f, 599.5f), Quaternion.Euler(0f, 0f, 0f)); val39.transform.SetParent(H_Secret_Wave_1.transform); val39.transform.localScale = new Vector3(32.5022f, 32.6667f, 10.2546f); HurtZone componentInChildren = val39.GetComponentInChildren(); if (Object.op_Implicit((Object)(object)componentInChildren)) { componentInChildren.enemyDamageOverride = 0.0001f; componentInChildren.setDamage = 35f; componentInChildren.bounceForce = 350f; componentInChildren.affected = (AffectedSubjects)1; componentInChildren.ignoredEnemyTypes.Add((EnemyType)5); componentInChildren.ignoredEnemyTypes.Add((EnemyType)13); componentInChildren.ignoredEnemyTypes.Add((EnemyType)0); componentInChildren.ignoredEnemyTypes.Add((EnemyType)4); componentInChildren.ignoredEnemyTypes.Add((EnemyType)7); } val39.SetActive(false); GameObject val40 = Object.Instantiate(Fento_Assets.LavaBox.gameObject, new Vector3(191.5667f, 51.5f, 561.5f), Quaternion.Euler(0f, 0f, 0f)); val40.transform.SetParent(H_Secret_Wave_1.transform); val40.transform.localScale = new Vector3(8.8374f, 49.8667f, 54.6298f); componentInChildren = val40.GetComponentInChildren(); if (Object.op_Implicit((Object)(object)componentInChildren)) { componentInChildren.enemyDamageOverride = 0.0001f; componentInChildren.setDamage = 35f; componentInChildren.bounceForce = 350f; componentInChildren.affected = (AffectedSubjects)1; componentInChildren.ignoredEnemyTypes.Add((EnemyType)5); componentInChildren.ignoredEnemyTypes.Add((EnemyType)13); componentInChildren.ignoredEnemyTypes.Add((EnemyType)0); componentInChildren.ignoredEnemyTypes.Add((EnemyType)4); componentInChildren.ignoredEnemyTypes.Add((EnemyType)7); } val40.SetActive(false); GameObject val41 = Object.Instantiate(Fento_Assets.LavaBox.gameObject, new Vector3(181.8667f, 35.2f, 549.0452f), Quaternion.Euler(0f, 0f, 0f)); val41.transform.SetParent(H_Secret_Wave_1.transform); val41.transform.localScale = new Vector3(9.9753f, 14.5333f, 9.3215f); componentInChildren = val41.GetComponentInChildren(); if (Object.op_Implicit((Object)(object)componentInChildren)) { componentInChildren.enemyDamageOverride = 0.0001f; componentInChildren.setDamage = 35f; componentInChildren.bounceForce = 350f; componentInChildren.affected = (AffectedSubjects)1; componentInChildren.ignoredEnemyTypes.Add((EnemyType)5); componentInChildren.ignoredEnemyTypes.Add((EnemyType)13); componentInChildren.ignoredEnemyTypes.Add((EnemyType)0); componentInChildren.ignoredEnemyTypes.Add((EnemyType)4); componentInChildren.ignoredEnemyTypes.Add((EnemyType)7); } val41.SetActive(false); EnemyIdentifier val42 = Main_Utils.Integrate_Enemy(Main_Utils.DetectebleEnemies.Cerberus, H_Secret_Wave_1.transform, active: false, new Vector3(182f, 48.08334f, 540f), Quaternion.Euler(0f, 0f, 0f)); EnemyIdentifier val43 = Main_Utils.Integrate_Enemy(Main_Utils.DetectebleEnemies.Cerberus, H_Secret_Wave_1.transform, active: false, new Vector3(202f, 53.08334f, 540f), Quaternion.Euler(0f, 0f, 0f)); EnemyIdentifier val44 = Main_Utils.Integrate_Enemy(Main_Utils.DetectebleEnemies.Cerberus, H_Secret_Wave_1.transform, active: false, new Vector3(201.9809f, 53.08334f, 589.9371f), Main_Utils.Quat_180); EnemyIdentifier val45 = Main_Utils.Integrate_Enemy(Main_Utils.DetectebleEnemies.Cerberus, H_Secret_Wave_1.transform, active: false, new Vector3(182f, 48.1288f, 592.8f), Main_Utils.Quat_180); val42.Make_Puppet_OnStart(); val42.BuffAll(); val42.Set_Health(val42.GetRealHealth() * 2.5f); val42.immuneToFriendlyFire = true; val43.Make_Puppet_OnStart(); val43.BuffAll(); val43.Set_Health(val43.GetRealHealth() * 2.5f); val43.immuneToFriendlyFire = true; val44.Make_Puppet_OnStart(); val44.BuffAll(); val44.Set_Health(val44.GetRealHealth() * 2.5f); val44.immuneToFriendlyFire = true; val45.Make_Puppet_OnStart(); val45.BuffAll(); val45.Set_Health(val45.GetRealHealth() * 2.5f); val45.immuneToFriendlyFire = true; Fento_Enemy_Tag fento_Enemy_Tag5 = Main_Utils.Integrate_Enemy_Tag(Main_Utils.DetectebleEnemies.MaliciousFace, H_Secret_Wave_1.transform, active: false, new Vector3(182f, 43f, 556f), Main_Utils.Quat_90); Fento_Enemy_Tag fento_Enemy_Tag6 = Main_Utils.Integrate_Enemy_Tag(Main_Utils.DetectebleEnemies.MaliciousFace, H_Secret_Wave_1.transform, active: false, new Vector3(202f, 53f, 564f), Main_Utils.Quat_270); ComponentExtensions.GetOrAddComponent((Component)(object)fento_Enemy_Tag5.eid); EnemyIdentifier eid5 = fento_Enemy_Tag5.eid; eid5.radianceTier += 2f; fento_Enemy_Tag5.eid.Set_Health(fento_Enemy_Tag5.eid.GetRealHealth() * 3f); fento_Enemy_Tag5.eid.immuneToFriendlyFire = true; ComponentExtensions.GetOrAddComponent((Component)(object)fento_Enemy_Tag6.eid); EnemyIdentifier eid6 = fento_Enemy_Tag6.eid; eid6.radianceTier += 2f; fento_Enemy_Tag6.eid.Set_Health(fento_Enemy_Tag6.eid.GetRealHealth() * 3f); fento_Enemy_Tag6.eid.immuneToFriendlyFire = true; EnemyIdentifier val46 = fento_Enemy_Tag5.eid.Make_IdolMerged(enableIdol: false); EnemyIdentifier val47 = fento_Enemy_Tag6.eid.Make_IdolMerged(enableIdol: false); val46.BuffAll(); val47.BuffAll(); ComponentExtensions.GetOrAddComponent((Component)(object)val46); ComponentExtensions.GetOrAddComponent((Component)(object)val47); EnemyIdentifier val48 = Main_Utils.Integrate_Enemy(Main_Utils.DetectebleEnemies.Stray, H_Secret_Wave_1.transform, active: false, new Vector3(182f, 48.08334f, 540f), Quaternion.Euler(0f, 0f, 0f)); EnemyIdentifier val49 = Main_Utils.Integrate_Enemy(Main_Utils.DetectebleEnemies.Stray, H_Secret_Wave_1.transform, active: false, new Vector3(202f, 53.08334f, 540f), Quaternion.Euler(0f, 0f, 0f)); EnemyIdentifier val50 = Main_Utils.Integrate_Enemy(Main_Utils.DetectebleEnemies.Stray, H_Secret_Wave_1.transform, active: false, new Vector3(201.9809f, 53.08334f, 589.9371f), Main_Utils.Quat_180); EnemyIdentifier val51 = Main_Utils.Integrate_Enemy(Main_Utils.DetectebleEnemies.Stray, H_Secret_Wave_1.transform, active: false, new Vector3(182f, 48.1288f, 592.8f), Main_Utils.Quat_180); val48.Make_Puppet_OnStart(); val48.BuffAll(); val48.radianceTier += 4f; val48.Set_Health(val48.GetRealHealth() * 4f); val48.immuneToFriendlyFire = true; val49.Make_Puppet_OnStart(); val49.BuffAll(); val49.radianceTier += 4f; val49.Set_Health(val49.GetRealHealth() * 4f); val49.immuneToFriendlyFire = true; val50.Make_Puppet_OnStart(); val50.BuffAll(); val50.radianceTier += 4f; val50.Set_Health(val50.GetRealHealth() * 4f); val50.immuneToFriendlyFire = true; val51.Make_Puppet_OnStart(); val51.BuffAll(); val51.radianceTier += 3f; val51.Set_Health(val51.GetRealHealth() * 2f); val51.immuneToFriendlyFire = true; EnemyIdentifier val52 = Main_Utils.Integrate_Enemy(Main_Utils.DetectebleEnemies.SwordsMachineNonboss, H_Secret_Wave_1.transform, active: false, new Vector3(182.3556f, 48.0992f, 590.2276f), Main_Utils.Quat_90); val52.Make_UltraEnraged(); Make_Boss_OnAction orAddComponent8 = ComponentExtensions.GetOrAddComponent((Component)(object)val52); orAddComponent8.BossName = "+ULTRAENRAGED SWORDSMACHINE+"; orAddComponent8.ModeType = Make_Boss_OnAction.Mode.Start; EnemyIdentifier val53 = Main_Utils.Integrate_Enemy(Main_Utils.DetectebleEnemies.DroneFleshCamera_Variant, H_Secret_Wave_1.transform, active: false, new Vector3(182f, 58.08334f, 540f), Quaternion.Euler(0f, 0f, 0f)); EnemyIdentifier val54 = Main_Utils.Integrate_Enemy(Main_Utils.DetectebleEnemies.DroneFleshCamera_Variant, H_Secret_Wave_1.transform, active: false, new Vector3(202f, 63.08334f, 540f), Quaternion.Euler(0f, 0f, 0f)); EnemyIdentifier val55 = Main_Utils.Integrate_Enemy(Main_Utils.DetectebleEnemies.DroneFleshCamera_Variant, H_Secret_Wave_1.transform, active: false, new Vector3(201.9809f, 63.08334f, 589.9371f), Main_Utils.Quat_180); EnemyIdentifier val56 = Main_Utils.Integrate_Enemy(Main_Utils.DetectebleEnemies.DroneFleshCamera_Variant, H_Secret_Wave_1.transform, active: false, new Vector3(182f, 58.1288f, 592.8f), Main_Utils.Quat_180); val53.dontCountAsKills = true; val54.dontCountAsKills = true; val55.dontCountAsKills = true; val56.dontCountAsKills = true; EnemyIdentifier val57 = Main_Utils.Integrate_Enemy(Main_Utils.DetectebleEnemies.DroneFleshCamera_Variant, H_Secret_Wave_1.transform, active: false, new Vector3(233f, (float)(60 + Random.Range(-5, 5)), 500f), Quaternion.Euler(0f, 270f, 0f)); EnemyIdentifier val58 = Main_Utils.Integrate_Enemy(Main_Utils.DetectebleEnemies.DroneFleshCamera_Variant, H_Secret_Wave_1.transform, active: false, new Vector3(170f, (float)(60 + Random.Range(-5, 5)), 500f), Main_Utils.Quat_90); val57.Make_UltraEnraged(); val58.Make_UltraEnraged(); EnemyIdentifier val59 = Main_Utils.Integrate_Enemy(Main_Utils.DetectebleEnemies.Turret, H_Secret_Wave_1.transform, active: false, new Vector3(202f, 53.1311f, 528f), Main_Utils.Quat_180); val59.radianceTier += 3f; val59.Make_Puppet_OnStart(); val59.BuffAll(); EnemyIdentifier val60 = Main_Utils.Integrate_Enemy(Main_Utils.DetectebleEnemies.Guttertank, H_Secret_Wave_1.transform, active: false, new Vector3(202f, 53.0833f, 458f), Quaternion.Euler(0f, 0f, 0f)); val60.Make_UltraEnraged(); Make_Boss_OnAction orAddComponent9 = ComponentExtensions.GetOrAddComponent((Component)(object)val60); orAddComponent9.BossName = "+ULTRAENRAGED GUTTERTANK"; orAddComponent9.ModeType = Make_Boss_OnAction.Mode.Start; MessageOnActions orAddComponent10 = ComponentExtensions.GetOrAddComponent((Component)(object)val5); orAddComponent10.StartMessage = "Meet The +ULTRAENRAGED Enemies\nReally Big Trouble!"; orAddComponent10.DeathMessage = ""; H_Secret_ActivateArena.enemies = (GameObject[])(object)new GameObject[3] { ((Component)val6).gameObject, ((Component)val5).gameObject, ((Component)val4).gameObject }; val5.activateOnDeath = (GameObject[])(object)new GameObject[1] { ((Component)val7).gameObject }; val6.activateOnDeath = (GameObject[])(object)new GameObject[3] { ((Component)val9).gameObject, ((Component)val10).gameObject, ((Component)val11).gameObject }; val10.activateOnDeath = (GameObject[])(object)new GameObject[2] { ((Component)val14).gameObject, ((Component)val12).gameObject }; val11.activateOnDeath = (GameObject[])(object)new GameObject[2] { ((Component)val15).gameObject, ((Component)val13).gameObject }; val14.activateOnDeath = (GameObject[])(object)new GameObject[1] { ((Component)fento_Enemy_Tag2).gameObject }; val15.activateOnDeath = (GameObject[])(object)new GameObject[1] { ((Component)fento_Enemy_Tag3).gameObject }; val12.activateOnDeath = (GameObject[])(object)new GameObject[1] { ((Component)fento_Enemy_Tag).gameObject }; val13.activateOnDeath = (GameObject[])(object)new GameObject[1] { ((Component)fento_Enemy_Tag4).gameObject }; val7.activateOnDeath = (GameObject[])(object)new GameObject[4] { ((Component)val18).gameObject, ((Component)val19).gameObject, ((Component)val16).gameObject, ((Component)val17).gameObject }; val18.activateOnDeath = (GameObject[])(object)new GameObject[1] { ((Component)val22).gameObject }; val19.activateOnDeath = (GameObject[])(object)new GameObject[1] { ((Component)val23).gameObject }; val23.activateOnDeath = (GameObject[])(object)new GameObject[1] { ((Component)val24).gameObject }; val22.activateOnDeath = (GameObject[])(object)new GameObject[1] { ((Component)val25).gameObject }; val16.activateOnDeath = (GameObject[])(object)new GameObject[5] { ((Component)val31).gameObject, ((Component)val32).gameObject, ((Component)val33).gameObject, ((Component)val34).gameObject, ((Component)val35).gameObject }; val17.activateOnDeath = (GameObject[])(object)new GameObject[2] { ((Component)val37).gameObject, ((Component)val36).gameObject }; GameObjectExtensions.GetOrAddComponent(((Component)val26).gameObject).Times = 4; GameObjectExtensions.GetOrAddComponent(((Component)val27).gameObject).Times = 4; GameObjectExtensions.GetOrAddComponent(((Component)val28).gameObject).Times = 4; GameObjectExtensions.GetOrAddComponent(((Component)val29).gameObject).Times = 4; EnemyIdentifier[] array = (EnemyIdentifier[])(object)new EnemyIdentifier[4] { fento_Enemy_Tag.eid, fento_Enemy_Tag2.eid, fento_Enemy_Tag3.eid, fento_Enemy_Tag4.eid }; for (int i = 0; i < array.Length; i++) { array[i].activateOnDeath = (GameObject[])(object)new GameObject[4] { ((Component)val28).gameObject, ((Component)val29).gameObject, ((Component)val26).gameObject, ((Component)val27).gameObject }; } Door component = H_Secret_Door_8.GetComponent(); ComponentExtensions.GetOrAddComponent((Component)(object)val37).Door = component; ComponentExtensions.GetOrAddComponent((Component)(object)val28).Door = component; ComponentExtensions.GetOrAddComponent((Component)(object)val29).Door = component; ComponentExtensions.GetOrAddComponent((Component)(object)val38).Door = component; val37.activateOnDeath = (GameObject[])(object)new GameObject[5] { val30, val39, val40, val41, ((Component)val38).gameObject }; val28.activateOnDeath = (GameObject[])(object)new GameObject[6] { val30, val39, val40, val41, ((Component)val42).gameObject, ((Component)val45).gameObject }; val29.activateOnDeath = (GameObject[])(object)new GameObject[6] { val30, val39, val40, val41, ((Component)val43).gameObject, ((Component)val44).gameObject }; val42.activateOnDeath = (val43.activateOnDeath = (GameObject[])(object)new GameObject[2] { ((Component)fento_Enemy_Tag5).gameObject, ((Component)val46).gameObject }); val44.activateOnDeath = (val45.activateOnDeath = (GameObject[])(object)new GameObject[2] { ((Component)fento_Enemy_Tag6).gameObject, ((Component)val47).gameObject }); GameObjectExtensions.GetOrAddComponent(((Component)fento_Enemy_Tag5).gameObject).Times = 2; GameObjectExtensions.GetOrAddComponent(((Component)val46).gameObject).Times = 2; GameObjectExtensions.GetOrAddComponent(((Component)fento_Enemy_Tag6).gameObject).Times = 2; GameObjectExtensions.GetOrAddComponent(((Component)val47).gameObject).Times = 2; val46.activateOnDeath = (GameObject[])(object)new GameObject[2] { ((Component)val48).gameObject, ((Component)val51).gameObject }; val47.activateOnDeath = (GameObject[])(object)new GameObject[2] { ((Component)val49).gameObject, ((Component)val50).gameObject }; val48.activateOnDeath = (val49.activateOnDeath = (val50.activateOnDeath = (val51.activateOnDeath = (GameObject[])(object)new GameObject[1] { ((Component)val52).gameObject }))); GameObjectExtensions.GetOrAddComponent(((Component)val52).gameObject).Times = 4; val52.activateOnDeath = (GameObject[])(object)new GameObject[4] { ((Component)val53).gameObject, ((Component)val54).gameObject, ((Component)val55).gameObject, ((Component)val56).gameObject }; DisableDoor orAddComponent11 = GameObjectExtensions.GetOrAddComponent(((Component)val52).gameObject); orAddComponent11.Door = component; orAddComponent11.Lock = false; val36.activateOnDeath = (GameObject[])(object)new GameObject[3] { ((Component)val57).gameObject, ((Component)val58).gameObject, ((Component)val59).gameObject }; val59.activateOnDeath = (GameObject[])(object)new GameObject[1] { ((Component)val60).gameObject }; val26.activateOnDeath = (GameObject[])(object)new GameObject[1] { ((Component)val60).gameObject }; val27.activateOnDeath = (GameObject[])(object)new GameObject[1] { ((Component)val60).gameObject }; val60.destroyOnDeath = new List { val39, val40, val41 }; ActivateNextWave val61 = H_Secret_Wave_1.gameObject.Create_ActivateNextWave(14, activated: false, lastWave: true, (GameObject[])(object)new GameObject[0], (GameObject[])(object)new GameObject[0], (Door[])(object)new Door[1] { component }); H_Secret_Wave_1.gameObject.Create_ActivateNextWave(24, activated: false, lastWave: true, (GameObject[])(object)new GameObject[0], (GameObject[])(object)new GameObject[0], H_Secret_ActivateArena.doors).lastWave = true; ((MonoBehaviour)val61).Invoke("Awake", 0f); GameObjectExtensions.GetOrAddComponent(H_Secret_Wave_1.gameObject).ToActivate = val3; Main_Utils.Clear_AreaFromClones(H_Secret_Wave_1.transform); Main_Utils.Invoke_NextFrame(delegate { Main_Utils.Clear_AreaFromClones(H_Secret_Wave_1_Clone.transform); }); } } public static class VIOLENCE_7_4 { public class Brain_Fight_Tracer : MonoBehaviour { public static Brain_Fight_Tracer _Instance; public void OnEnable() { _Instance = this; EnemyIdentifier val = default(EnemyIdentifier); if (A_Not_Welcome.Rage && ((Component)this).TryGetComponent(ref val) && val.radianceTier < 1.8f) { val.radianceTier = 1.8f; EnemyIdentifier obj = val; obj.healthBuffModifier += 1.5f; } } } public class Brain_Tracer : MonoBehaviour { public EnemyIdentifier Eid; public static Brain_Tracer _Instance; public void OnEnable() { Eid = ((Component)this).GetComponent(); _Instance = this; if (Object.op_Implicit((Object)(object)Eid) && Eid.blessed && Eid.blessings == 0) { Eid.blessed = false; Eid.Unbless(true); } if (Object.op_Implicit((Object)(object)Eid) && Object.op_Implicit((Object)(object)A_Shield_Idol_1)) { A_Shield_Idol_1.eid.idol.overrideTarget = Eid; } if (Object.op_Implicit((Object)(object)Eid) && Object.op_Implicit((Object)(object)A_Shield_Idol_2)) { A_Shield_Idol_2.eid.idol.overrideTarget = Eid; } EnemyIdentifier val = default(EnemyIdentifier); if (A_Not_Welcome.Rage && ((Component)this).TryGetComponent(ref val) && val.radianceTier < 1.7f) { val.radianceTier = 1.7f; EnemyIdentifier obj = val; obj.healthBuffModifier += 1.1f; } } } public class Spawn_Tracer : MonoBehaviour { public static Spawn_Tracer _Instance; public void OnEnable() { _Instance = this; } } public class Inside_Starter : MonoBehaviour { public void Start() { Start_Self_Defence(); } } public class MessageActivator : MonoBehaviour { public void OnTriggerEnter(Collider other) { if (EndingResults_Mark_Fento_Progress.AlterPathCleared) { Main_Utils.Invoke_WithDelay(7.5f, delegate { string[] array = new string[4] { "D O N T S T O P", "C O N T I N U E", "P R O C E E D", "K E E P G O I N" }; string text = array[Random.Range(0, array.Length)]; GameObject obj = Main_Utils.CreateFeedItLikeText(null, text); obj.SetActive(true); Main_Utils.Invoke_WithDelay(7.5f, delegate { if (Object.op_Implicit((Object)(object)obj)) { obj.SetActive(false); } }); }); } UltraEnrage_LevelLoaders.Prelude.DisableEnrageLevel(); Object.Destroy((Object)(object)this); } } public class Idol_Activator : MonoBehaviour { public static readonly HashSet Idol_Activators = new HashSet(); public GameObject Object; public void Start() { if (A_Not_Welcome.Inside) { Activate(); } else { Idol_Activators.Add(this); } } public void Activate() { try { if ((Object)(object)Object != (Object)null) { Object.SetActive(true); } if (!A_Not_Welcome.Rage) { return; } EnemyIdentifier val2 = default(EnemyIdentifier); if (((Object)((Component)this).gameObject).name == "Idol (2)") { EnemyIdentifier val = default(EnemyIdentifier); Object.TryGetComponent(ref val); EnemyIdentifier eid = default(EnemyIdentifier); if (((Component)this).gameObject.TryGetComponent(ref eid)) { eid.Make_UltraEnraged(); } } else if (((Component)this).gameObject.TryGetComponent(ref val2)) { val2.BuffAll(); } } catch { } } public static void Forse_Activate() { foreach (Idol_Activator idol_Activator in Idol_Activators) { idol_Activator.Activate(); } } } public class Disable_OnEnable : MonoBehaviour { public static bool Should_Disable = true; public void OnEnable() { if (Should_Disable) { ((Component)this).gameObject.SetActive(false); } } } public class Restart_Defence_OnStart : MonoBehaviour { public void Start() { Restart_Defence(); } } public class UltraRage_If_Rage : MonoBehaviour { public void Start() { EnemyIdentifier eid = default(EnemyIdentifier); if (Object.op_Implicit((Object)(object)A_Not_Welcome) && A_Not_Welcome.Rage && ((Component)this).gameObject.TryGetComponent(ref eid)) { eid.Make_UltraEnraged(); Object.Destroy((Object)(object)this); } } } public class Sand_If_Rage : MonoBehaviour { public void Start() { EnemyIdentifier val = default(EnemyIdentifier); if (Object.op_Implicit((Object)(object)A_Not_Welcome) && A_Not_Welcome.Rage && ((Component)this).gameObject.TryGetComponent(ref val)) { val.Sandify(false); Object.Destroy((Object)(object)this); } } } public class Buff_If_Rage : MonoBehaviour { public void Start() { EnemyIdentifier val = default(EnemyIdentifier); if (Object.op_Implicit((Object)(object)A_Not_Welcome) && A_Not_Welcome.Rage && ((Component)this).gameObject.TryGetComponent(ref val)) { val.BuffAll(); Object.Destroy((Object)(object)this); } } } public class Not_Welcome : MonoBehaviour { public bool Rage; public bool Inside; public bool Brain_; public bool OVERHEAT; public bool Gently_Wait_For; public void Start() { Fento_Loader._Logger.LogInfo((object)"!!!---!!! EARTH MOVER START !!!---!!!"); Fento_Loader._Logger.LogWarning((object)"!!!---!!! EARTH MOVER START !!!---!!!"); Fento_Loader._Logger.LogInfo((object)"!!!---!!! EARTH MOVER START !!!---!!!"); Fento_Loader._Logger.LogWarning((object)"!!!---!!! EARTH MOVER START !!!---!!!"); Fento_Loader._Logger.LogInfo((object)"!!!---!!! EARTH MOVER START !!!---!!!"); Fento_Loader._Logger.LogWarning((object)"!!!---!!! EARTH MOVER START !!!---!!!"); GameObjectExtensions.GetOrAddComponent(((Component)MonoSingleton.Instance).gameObject); Main_Utils.Invoke_WithDelay(0.5f, delegate { MonoSingleton.Instance.SendHudMessage("Translation:\nYOU'RE NOT WELCOME HERE", "", "", 3, false, false, true); }); Main_Utils.Invoke_WithDelay(5f, delegate { if (Object.op_Implicit((Object)(object)A_GrapplePointSlingshot.gameObject)) { A_GrapplePointSlingshot.gameObject.SetActive(true); } }); Main_Utils.Invoke_WithDelay(5.5f, delegate { Spawn_Insignia(); }); } public void FixedUpdate() { if (((Behaviour)this).enabled && Object.op_Implicit((Object)(object)A_Brain_Identifier) && A_Brain_Identifier.dead) { ((MonoBehaviour)this).StopAllCoroutines(); ((Behaviour)this).enabled = false; } } } public class Make_Enraged : MonoBehaviour { public static Main_Utils.PathObject Light = "Main/Centaur Full/Hide When Inside/CentaurAnimated/Armature/RootBone/Neck1/Neck2/Neck3/Neck4/Neck5/Head/Spot Light (1)/Cylinder"; public void Start() { if ((Object)(object)A_Brain_Identifier != (Object)null) { A_Brain_Identifier.SimpleDamageIgnoreMultiplier(A_Brain_Identifier.health * A_Brain_Identifier.totalHealthModifier * 0.2f); } Main_Utils.Invoke_WithDelay(1f, delegate { Start_Enraged(); }); } public void Start_Enraged() { //IL_0124: 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_00d9: Unknown result type (might be due to invalid IL or missing references) //IL_016a: Unknown result type (might be due to invalid IL or missing references) //IL_016f: Unknown result type (might be due to invalid IL or missing references) //IL_0179: Unknown result type (might be due to invalid IL or missing references) Main_Utils.Invoke_WithDelay(0.5f, delegate { MonoSingleton.Instance.SendHudMessage("SIGNIFICANT THREAT DETECTED\nInitializing ADVANCED EXTERNAL DEFENSE SYSTEMS", "", "", 0, false, false, true); ((MonoBehaviour)A_Not_Welcome).StartCoroutine(Spawn_FirstWave()); }); ((MonoBehaviour)A_Not_Welcome).StartCoroutine(Main_Utils.Delay_Coroutine(0.5f, delegate { Start_Defence(); })); BossHealthBar component = A_Centaur_Brain.GetComponent(); if ((Object)(object)component != (Object)null) { component.bossName = "+ENRAGED 1000-THR \"EARTHMOVER\" "; } if ((Object)(object)Fento_Assets.RagePrefab.gameObject != (Object)null) { GameObject val = Object.Instantiate(Fento_Assets.RagePrefab.gameObject, A_Centaur_Brain.transform); if ((Object)(object)val != (Object)null) { val.transform.localPosition = Vector3.zero; val.transform.localScale = new Vector3(80f, 80f, 80f); AudioSource[] components = val.GetComponents(); if (components != null) { AudioSource val2 = components.Last(); if ((Object)(object)val2 != (Object)null) { val2.pitch *= 0.75f; val2.spatialBlend = 0.1f; } } } } Main_Utils.Make_Colored(A_Centaur_Visual.transform, Color.red, keep_a: false); if ((Object)(object)Light.gameObject != (Object)null) { MeshRenderer component2 = Light.GetComponent(); if ((Object)(object)component2 != (Object)null) { ((Renderer)component2).material.color = Color.Lerp(((Renderer)component2).material.color, Color.red, 0.55f); } } } } public class Change_Speed : MonoBehaviour { public NewMovement NewMovement; public float walkSpeed = 750f; public float jumpPower = 90f; public float wallJumpPower = 150f; public float T; public void Start() { NewMovement = ((Component)this).GetComponent(); walkSpeed = NewMovement.walkSpeed; jumpPower = NewMovement.jumpPower; wallJumpPower = NewMovement.wallJumpPower; } public void FixedUpdate() { T += Time.fixedDeltaTime; if (T < 3f) { NewMovement.walkSpeed = Mathf.Lerp(walkSpeed, walkSpeed * 0.25f, T / 3f); NewMovement.jumpPower = Mathf.Lerp(jumpPower, jumpPower * 0.25f, T / 3f); NewMovement.wallJumpPower = Mathf.Lerp(wallJumpPower, wallJumpPower * 0.25f, T / 3f); } else { NewMovement.walkSpeed = Mathf.Lerp(walkSpeed * 0.25f, walkSpeed, (T - 3f) / 2f); NewMovement.jumpPower = Mathf.Lerp(jumpPower * 0.25f, jumpPower, (T - 3f) / 2f); NewMovement.wallJumpPower = Mathf.Lerp(wallJumpPower * 0.25f, wallJumpPower, (T - 3f) / 2f); } if (T > 5f) { NewMovement.walkSpeed = walkSpeed; Object.Destroy((Object)(object)this); } } } public class AlterPathClearedCheck2 : MonoBehaviour { public void Start() { OnClear(); } public void OnClear() { if (Object.op_Implicit((Object)(object)A_Not_Welcome) && A_Not_Welcome.Rage) { EndingResults_Mark_Fento_Progress.AlterPathCleared = true; } } } public class AddTimeIfRage : MonoBehaviour { public void Start() { Countdown val = default(Countdown); if (Object.op_Implicit((Object)(object)A_Not_Welcome) && A_Not_Welcome.Rage && ((Component)this).TryGetComponent(ref val)) { for (int i = 0; i < val.countdownLengthPerDifficulty.Length; i++) { val.countdownLengthPerDifficulty[i] += 30f; } Countdown obj = val; obj.countdownLength += 30f; val.ChangeTime(val.countdownLength); Object.Destroy((Object)(object)this); } } } [Serializable] [CompilerGenerated] private sealed class <>c { public static readonly <>c <>9 = new <>c(); public static UnityAction <>9__101_0; public static UnityAction <>9__101_1; public static Action <>9__101_2; public static Action <>9__101_3; public static Action <>9__101_4; public static Action <>9__101_5; public static Action <>9__101_6; public static Action <>9__101_7; public static Action <>9__101_8; public static Action <>9__101_9; public static Action <>9__101_10; public static Action <>9__101_11; public static Func <>9__101_12; public static Action <>9__101_13; public static Action <>9__101_14; public static Func <>9__101_15; public static Action <>9__101_16; public static Action <>9__101_17; public static Action <>9__101_18; public static Action <>9__101_19; public static Action <>9__101_20; public static Action <>9__102_7; public static Action <>9__102_0; public static Action <>9__102_8; public static Action <>9__102_1; public static Action <>9__102_9; public static Action <>9__102_2; public static Action <>9__102_10; public static Action <>9__102_3; public static Action <>9__102_11; public static Action <>9__102_4; public static Action <>9__102_12; public static Action <>9__102_5; public static Action <>9__102_6; public static Action <>9__103_7; public static Action <>9__103_0; public static Action <>9__103_8; public static Action <>9__103_1; public static Action <>9__103_9; public static Action <>9__103_2; public static Action <>9__103_10; public static Action <>9__103_3; public static Action <>9__103_11; public static Action <>9__103_4; public static Action <>9__103_12; public static Action <>9__103_5; public static Action <>9__103_13; public static Action <>9__103_6; public static Action <>9__104_5; public static Action <>9__104_0; public static Action <>9__104_6; public static Action <>9__104_1; public static Action <>9__104_7; public static Action <>9__104_2; public static Action <>9__104_8; public static Action <>9__104_3; public static Action <>9__104_9; public static Action <>9__104_4; public static Action <>9__105_0; public static Action <>9__107_0; public static Action <>9__124_0; internal void b__101_0() { Check_Shield_Integrity(); } internal void b__101_1() { Check_Shield_Integrity(); } internal void b__101_2(EnemyIdentifier enemy) { //IL_000a: Unknown result type (might be due to invalid IL or missing references) //IL_0010: Unknown result type (might be due to invalid IL or missing references) Main_Utils.Base_ReplaceEnemy(Main_Utils.DetectebleEnemies.SwordsMachineNonboss, ((Component)enemy).transform); } internal void b__101_3(EnemyIdentifier enemy) { //IL_0001: Unknown result type (might be due to invalid IL or missing references) //IL_0007: Invalid comparison between Unknown and I4 if ((int)enemy.enemyType != 6) { B_2_NewEnemies.Add(((Component)enemy).gameObject); } } internal void b__101_4(EnemyIdentifier enemy) { //IL_0001: Unknown result type (might be due to invalid IL or missing references) //IL_0007: Invalid comparison between Unknown and I4 if ((int)enemy.enemyType == 7) { Enemy component = ((Component)enemy).GetComponent(); if ((Object)(object)component != (Object)null) { B_2_Machines.Add(component); } } } internal void b__101_5(EnemyIdentifier enemy) { //IL_0001: Unknown result type (might be due to invalid IL or missing references) //IL_0008: Invalid comparison between Unknown and I4 //IL_0026: Unknown result type (might be due to invalid IL or missing references) //IL_002c: Invalid comparison between Unknown and I4 if ((int)enemy.enemyType == 35) { enemy.Sandify(false); enemy.healthBuffModifier *= 0.25f; } else if ((int)enemy.enemyType == 7) { enemy.radianceTier += 2f; } enemy.radianceTier += 0.25f; enemy.BuffAll(); } internal void b__101_6(EnemyIdentifier enemy) { //IL_0001: Unknown result type (might be due to invalid IL or missing references) //IL_0008: Invalid comparison between Unknown and I4 if ((int)enemy.enemyType != 15) { C_3_NewEnemies.Add(((Component)enemy).gameObject); } } internal void b__101_7(EnemyIdentifier enemy) { //IL_0013: Unknown result type (might be due to invalid IL or missing references) //IL_001a: Invalid comparison between Unknown and I4 //IL_001d: Unknown result type (might be due to invalid IL or missing references) //IL_0024: Invalid comparison between Unknown and I4 //IL_0075: Unknown result type (might be due to invalid IL or missing references) //IL_007c: Invalid comparison between Unknown and I4 //IL_0098: Unknown result type (might be due to invalid IL or missing references) //IL_009f: Invalid comparison between Unknown and I4 //IL_00bd: Unknown result type (might be due to invalid IL or missing references) //IL_00c3: Invalid comparison between Unknown and I4 enemy.radianceTier += 0.25f; if ((int)enemy.enemyType == 15 || (int)enemy.enemyType == 14) { enemy.radianceTier += 2f; enemy.healthBuffModifier += 1f; enemy.damageBuffModifier += 0.5f; enemy.speedBuffModifier -= 0.5f; enemy.BuffAll(); } if ((int)enemy.enemyType == 35) { enemy.Sandify(false); enemy.healthBuffModifier *= 0.35f; } if ((int)enemy.enemyType == 21) { enemy.BuffAll(); GameObjectExtensions.GetOrAddComponent(((Component)enemy).gameObject).TierToAdd = 0.75f; } if ((int)enemy.enemyType == 2) { enemy.healthBuffModifier += 1f; } else { enemy.BuffAll(); } } internal void b__101_8(EnemyIdentifier enemy) { //IL_0001: Unknown result type (might be due to invalid IL or missing references) //IL_0008: Invalid comparison between Unknown and I4 if ((int)enemy.enemyType == 19) { Enemy component = ((Component)enemy).GetComponent(); if ((Object)(object)component != (Object)null) { D_4_Machines.Add(component); } } D_4_NewEnemies.Add(((Component)enemy).gameObject); } internal void b__101_9(EnemyIdentifier enemy) { //IL_0001: Unknown result type (might be due to invalid IL or missing references) //IL_0008: Invalid comparison between Unknown and I4 if ((int)enemy.enemyType == 19) { EnemyIdentifier obj = enemy.Make_IdolMerged(enableIdol: false, keepNear: false, activateWith: true); obj.dontCountAsKills = true; obj.Sandify(false); } enemy.radianceTier += 0.5f; enemy.BuffAll(); } internal void b__101_10(EnemyIdentifier enemy) { //IL_0001: Unknown result type (might be due to invalid IL or missing references) //IL_0007: Invalid comparison between Unknown and I4 //IL_0027: Unknown result type (might be due to invalid IL or missing references) //IL_0035: Unknown result type (might be due to invalid IL or missing references) //IL_003f: Unknown result type (might be due to invalid IL or missing references) if ((int)enemy.enemyType == 7) { Enemy component = ((Component)enemy).GetComponent(); if ((Object)(object)component != (Object)null) { E_5_Machines.Add(component); } } else if ((int)enemy.enemyType == 0) { Transform transform = ((Component)enemy).transform; transform.localScale *= 1.1f; NavMeshAgent component2 = ((Component)enemy).GetComponent(); if ((Object)(object)component2 != (Object)null) { component2.acceleration = 15f; component2.speed = 15f; } } E_5_Enemies.Add(enemy); } internal void b__101_11(EnemyIdentifier enemy) { //IL_0001: Unknown result type (might be due to invalid IL or missing references) //IL_0008: Invalid comparison between Unknown and I4 if ((int)enemy.enemyType == 21) { GameObjectExtensions.GetOrAddComponent(((Component)enemy).gameObject); } enemy.healthBuffModifier += 1.1f; enemy.radianceTier += 2.25f; enemy.BuffAll(); enemy.Sandify(false); } internal GameObject b__101_12(EnemyIdentifier e) { return ((Component)e).gameObject; } internal void b__101_13(EnemyIdentifier enemy) { //IL_000d: Unknown result type (might be due to invalid IL or missing references) //IL_001b: Unknown result type (might be due to invalid IL or missing references) //IL_0025: Unknown result type (might be due to invalid IL or missing references) F_6_Enemies.Add(enemy); if ((int)enemy.enemyType == 0) { Transform transform = ((Component)enemy).transform; transform.localScale *= 1.1f; NavMeshAgent component = ((Component)enemy).GetComponent(); if ((Object)(object)component != (Object)null) { component.acceleration = 15f; component.speed = 15f; } } } internal void b__101_14(EnemyIdentifier enemy) { //IL_0001: Unknown result type (might be due to invalid IL or missing references) //IL_0008: Invalid comparison between Unknown and I4 //IL_0024: Unknown result type (might be due to invalid IL or missing references) //IL_002b: Invalid comparison between Unknown and I4 //IL_0076: Unknown result type (might be due to invalid IL or missing references) //IL_007c: Invalid comparison between Unknown and I4 //IL_00b5: Unknown result type (might be due to invalid IL or missing references) if ((int)enemy.enemyType == 35) { enemy.Sandify(false); enemy.healthBuffModifier *= 0.25f; } if ((int)enemy.enemyType == 31) { enemy.radianceTier += 2.5f; enemy.healthBuffModifier += 1f; enemy.damageBuffModifier += 0.5f; enemy.speedBuffModifier -= 0.5f; } if ((int)enemy.enemyType == 6) { enemy.healthBuffModifier += 8f; enemy.damageBuffModifier += 0.25f; enemy.radianceTier += 2.5f; } if ((int)enemy.enemyType == 0) { enemy.healthBuffModifier += 0.6f; enemy.radianceTier += 2f; enemy.BuffAll(); } enemy.BuffAll(); } internal GameObject b__101_15(EnemyIdentifier e) { return ((Component)e).gameObject; } internal void b__101_16(EnemyIdentifier enemy) { enemy.healthBuffModifier += 0.15f; enemy.radianceTier += 2.25f; enemy.BuffAll(); } internal void b__101_17(EnemyIdentifier enemy) { //IL_0001: Unknown result type (might be due to invalid IL or missing references) //IL_0008: Invalid comparison between Unknown and I4 //IL_0020: Unknown result type (might be due to invalid IL or missing references) //IL_0025: Unknown result type (might be due to invalid IL or missing references) //IL_002f: Unknown result type (might be due to invalid IL or missing references) //IL_0034: Unknown result type (might be due to invalid IL or missing references) //IL_003f: Unknown result type (might be due to invalid IL or missing references) if ((int)enemy.enemyType == 21) { EnemyIdentifier val = Main_Utils.Integrate_Enemy(Main_Utils.DetectebleEnemies.Virtue, H_8_Wave_Idols.transform, active: false, ((Component)enemy).transform.position + Vector3.up * 15f, ((Component)enemy).transform.rotation); GameObjectExtensions.GetOrAddComponent(((Component)val).gameObject).Obj_ToKeep = ((Component)enemy).gameObject; Drone component = ((Component)val).GetComponent(); if ((Object)(object)component != (Object)null) { Enemy enemy2 = component.Enemy; enemy2.health *= 0.3f; } GameObjectExtensions.GetOrAddComponent(((Component)enemy).gameObject).Object = ((Component)val).gameObject; Idol component2 = ((Component)enemy).GetComponent(); if ((Object)(object)component2 != (Object)null) { component2.overrideTarget = val; } } } internal void b__101_18(EnemyIdentifier enemy) { enemy.dead = true; Object.Destroy((Object)(object)((Component)enemy).gameObject); } internal void b__101_19(EnemyIdentifier enemy) { //IL_0001: Unknown result type (might be due to invalid IL or missing references) //IL_0008: Invalid comparison between Unknown and I4 if ((int)enemy.enemyType != 21 && !enemy.dead) { K_10_Enemies_1.Add(((Component)enemy).gameObject); } } internal void b__101_20(EnemyIdentifier enemy) { //IL_0013: Unknown result type (might be due to invalid IL or missing references) //IL_001a: Invalid comparison between Unknown and I4 if (!K_10_Enemies_1.Contains(((Component)enemy).gameObject) && (int)enemy.enemyType != 21 && !enemy.dead) { K_10_Enemies_2.Add(((Component)enemy).gameObject); } } internal void b__102_0() { MonoSingleton.Instance.SendHudMessage("Powering up OBLITERATION BEAM CANNON", "", "", 0, false, false, true); ((MonoBehaviour)A_Not_Welcome).StartCoroutine(Main_Utils.Delay_Coroutine(1f, delegate { ((MonoBehaviour)A_Not_Welcome).StartCoroutine(Obliteration_Cannon()); })); } internal void b__102_7() { ((MonoBehaviour)A_Not_Welcome).StartCoroutine(Obliteration_Cannon()); } internal void b__102_1() { MonoSingleton.Instance.SendHudMessage("Deploying DRONE SWARM PROTOCOL", "", "", 0, false, false, true); ((MonoBehaviour)A_Not_Welcome).StartCoroutine(Main_Utils.Delay_Coroutine(2f, delegate { ((MonoBehaviour)A_Not_Welcome).StartCoroutine(Drone_Swarm()); })); } internal void b__102_8() { ((MonoBehaviour)A_Not_Welcome).StartCoroutine(Drone_Swarm()); } internal void b__102_2() { MonoSingleton.Instance.SendHudMessage("Arming SUPPORT DROP FORCES", "", "", 0, false, false, true); ((MonoBehaviour)A_Not_Welcome).StartCoroutine(Main_Utils.Delay_Coroutine(5f, delegate { ((MonoBehaviour)A_Not_Welcome).StartCoroutine(Suppor_Forces()); })); } internal void b__102_9() { ((MonoBehaviour)A_Not_Welcome).StartCoroutine(Suppor_Forces()); } internal void b__102_3() { MonoSingleton.Instance.SendHudMessage("Charging NUCLEAR THUNDERBOLT EMITTER", "", "", 0, false, false, true); ((MonoBehaviour)A_Not_Welcome).StartCoroutine(Main_Utils.Delay_Coroutine(2f, delegate { ((MonoBehaviour)A_Not_Welcome).StartCoroutine(Thunderbolt_EMITTER()); })); } internal void b__102_10() { ((MonoBehaviour)A_Not_Welcome).StartCoroutine(Thunderbolt_EMITTER()); } internal void b__102_4() { MonoSingleton.Instance.SendHudMessage("Locking in a CARPET BOMBING BATTERY target", "", "", 0, false, false, true); ((MonoBehaviour)A_Not_Welcome).StartCoroutine(Main_Utils.Delay_Coroutine(2f, delegate { ((MonoBehaviour)A_Not_Welcome).StartCoroutine(Carpets_Bomber()); })); } internal void b__102_11() { ((MonoBehaviour)A_Not_Welcome).StartCoroutine(Carpets_Bomber()); } internal void b__102_5() { MonoSingleton.Instance.SendHudMessage("Calibrating E.M.P. CHARGE SERVICES\n SUCCESSFUL DODGE provides FASTER ARSENAL RECHARGE + BONUS", "", "", 0, false, false, true); ((MonoBehaviour)A_Not_Welcome).StartCoroutine(Main_Utils.Delay_Coroutine(4f, delegate { ((MonoBehaviour)A_Not_Welcome).StartCoroutine(EMP_Services()); })); } internal void b__102_12() { ((MonoBehaviour)A_Not_Welcome).StartCoroutine(EMP_Services()); } internal void b__102_6() { ((MonoBehaviour)A_Not_Welcome).StartCoroutine(Start_Restoration()); } internal void b__103_0() { MonoSingleton.Instance.SendHudMessage("Powering up OBLITERATION BEAM CANNON", "", "", 0, false, false, true); ((MonoBehaviour)A_Not_Welcome).StartCoroutine(Main_Utils.Delay_Coroutine(1f, delegate { ((MonoBehaviour)A_Not_Welcome).StartCoroutine(Obliteration_Cannon()); })); } internal void b__103_7() { ((MonoBehaviour)A_Not_Welcome).StartCoroutine(Obliteration_Cannon()); } internal void b__103_1() { MonoSingleton.Instance.SendHudMessage("Deploying DRONE SWARM PROTOCOL", "", "", 0, false, false, true); ((MonoBehaviour)A_Not_Welcome).StartCoroutine(Main_Utils.Delay_Coroutine(2f, delegate { ((MonoBehaviour)A_Not_Welcome).StartCoroutine(Drone_Swarm()); })); } internal void b__103_8() { ((MonoBehaviour)A_Not_Welcome).StartCoroutine(Drone_Swarm()); } internal void b__103_2() { MonoSingleton.Instance.SendHudMessage("Arming SUPPORT DROP FORCES", "", "", 0, false, false, true); ((MonoBehaviour)A_Not_Welcome).StartCoroutine(Main_Utils.Delay_Coroutine(12f, delegate { ((MonoBehaviour)A_Not_Welcome).StartCoroutine(Suppor_Forces()); })); } internal void b__103_9() { ((MonoBehaviour)A_Not_Welcome).StartCoroutine(Suppor_Forces()); } internal void b__103_3() { MonoSingleton.Instance.SendHudMessage("Charging NUCLEAR THUNDERBOLT EMITTER", "", "", 0, false, false, true); ((MonoBehaviour)A_Not_Welcome).StartCoroutine(Main_Utils.Delay_Coroutine(2f, delegate { ((MonoBehaviour)A_Not_Welcome).StartCoroutine(Thunderbolt_EMITTER()); })); } internal void b__103_10() { ((MonoBehaviour)A_Not_Welcome).StartCoroutine(Thunderbolt_EMITTER()); } internal void b__103_4() { MonoSingleton.Instance.SendHudMessage("Locking in a CARPET BOMBING BATTERY target", "", "", 0, false, false, true); ((MonoBehaviour)A_Not_Welcome).StartCoroutine(Main_Utils.Delay_Coroutine(2f, delegate { ((MonoBehaviour)A_Not_Welcome).StartCoroutine(Carpets_Bomber()); })); } internal void b__103_11() { ((MonoBehaviour)A_Not_Welcome).StartCoroutine(Carpets_Bomber()); } internal void b__103_5() { MonoSingleton.Instance.SendHudMessage("Calibrating E.M.P. CHARGE SERVICES\n SUCCESSFUL DODGE provides FASTER ARSENAL RECHARGE + BONUS", "", "", 0, false, false, true); ((MonoBehaviour)A_Not_Welcome).StartCoroutine(Main_Utils.Delay_Coroutine(4f, delegate { ((MonoBehaviour)A_Not_Welcome).StartCoroutine(EMP_Services()); })); } internal void b__103_12() { ((MonoBehaviour)A_Not_Welcome).StartCoroutine(EMP_Services()); } internal void b__103_6() { MonoSingleton.Instance.SendHudMessage("ARE YOU SATISFIED WITH THE RESULTS?\nPreparing EXTERMINATION ATTEMPT 2", "", "", 0, false, false, true); ((MonoBehaviour)A_Not_Welcome).StartCoroutine(Main_Utils.Delay_Coroutine(16f, delegate { ((MonoBehaviour)A_Not_Welcome).StartCoroutine(Second_Try_Extermination()); })); } internal void b__103_13() { ((MonoBehaviour)A_Not_Welcome).StartCoroutine(Second_Try_Extermination()); } internal void b__104_0() { MonoSingleton.Instance.SendHudMessage("Powering up LASER GRID+", "", "", 0, false, false, true); Main_Utils.Invoke_WithDelay(0.1f, delegate { ((MonoBehaviour)A_Not_Welcome).StartCoroutine(Lasers_Grid(rage: true)); }); } internal void b__104_5() { ((MonoBehaviour)A_Not_Welcome).StartCoroutine(Lasers_Grid(rage: true)); } internal void b__104_1() { MonoSingleton.Instance.SendHudMessage("Calibrating E.M.P. CHARGE SERVICES\n SUCCESSFUL DODGE provides FASTER ARSENAL RECHARGE + BONUS+", "", "", 0, false, false, true); ((MonoBehaviour)A_Not_Welcome).StartCoroutine(Main_Utils.Delay_Coroutine(4f, delegate { ((MonoBehaviour)A_Not_Welcome).StartCoroutine(EMP_Services(rage: true)); })); } internal void b__104_6() { ((MonoBehaviour)A_Not_Welcome).StartCoroutine(EMP_Services(rage: true)); } internal void b__104_2() { ((MonoBehaviour)A_Not_Welcome).StartCoroutine(Main_Utils.Delay_Coroutine(1f, delegate { ((MonoBehaviour)A_Not_Welcome).StartCoroutine(Start_Restoration(message: false)); })); } internal void b__104_7() { ((MonoBehaviour)A_Not_Welcome).StartCoroutine(Start_Restoration(message: false)); } internal void b__104_3() { MonoSingleton.Instance.SendHudMessage("Powering up LASER GRID", "", "", 0, false, false, true); Main_Utils.Invoke_WithDelay(0.1f, delegate { ((MonoBehaviour)A_Not_Welcome).StartCoroutine(Lasers_Grid()); }); } internal void b__104_8() { ((MonoBehaviour)A_Not_Welcome).StartCoroutine(Lasers_Grid()); } internal void b__104_4() { MonoSingleton.Instance.SendHudMessage("Calibrating E.M.P. CHARGE SERVICES\n SUCCESSFUL DODGE provides FASTER ARSENAL RECHARGE + BONUS", "", "", 0, false, false, true); ((MonoBehaviour)A_Not_Welcome).StartCoroutine(Main_Utils.Delay_Coroutine(4f, delegate { ((MonoBehaviour)A_Not_Welcome).StartCoroutine(EMP_Services()); })); } internal void b__104_9() { ((MonoBehaviour)A_Not_Welcome).StartCoroutine(EMP_Services()); } internal void b__105_0(EnemyIdentifier enemy) { //IL_0013: Unknown result type (might be due to invalid IL or missing references) //IL_001a: Invalid comparison between Unknown and I4 //IL_0036: Unknown result type (might be due to invalid IL or missing references) //IL_003c: Invalid comparison between Unknown and I4 //IL_003f: Unknown result type (might be due to invalid IL or missing references) //IL_0046: Invalid comparison between Unknown and I4 //IL_0050: Unknown result type (might be due to invalid IL or missing references) //IL_0056: Invalid comparison between Unknown and I4 //IL_0059: Unknown result type (might be due to invalid IL or missing references) //IL_0060: Invalid comparison between Unknown and I4 enemy.radianceTier += 0.25f; if ((int)enemy.enemyType == 35) { enemy.Sandify(false); enemy.healthBuffModifier *= 0.25f; } if ((int)enemy.enemyType == 5 || (int)enemy.enemyType == 20) { enemy.Sandify(false); } if ((int)enemy.enemyType != 5 && (int)enemy.enemyType != 34) { enemy.BuffAll(); } } internal void b__107_0() { if ((Object)(object)A_Not_Welcome != (Object)null) { A_Not_Welcome.OVERHEAT = false; } } internal void b__124_0() { if (!Object.op_Implicit((Object)(object)A_Brain_Identifier) || A_Brain_Identifier.Dead || !A_Brain_Identifier.Blessed) { MonoSingleton.Instance.DisplaySubtitle("External Shield Durability Status: CRITICAL ERROR – FULL DESTRUCTION", (AudioSource)null, false); } if (A_Brain_Identifier.Blessed) { MonoSingleton.Instance.DisplaySubtitle("External Shield Durability Status: SIGNIFICANT DAMAGE RECEIVED", (AudioSource)null, false); } } } [CompilerGenerated] private sealed class d__114 : IEnumerator, IDisposable, IEnumerator { private int <>1__state; private object <>2__current; private NewMovement 5__2; private List.Enumerator <>7__wrap2; object IEnumerator.Current { [DebuggerHidden] get { return <>2__current; } } object IEnumerator.Current { [DebuggerHidden] get { return <>2__current; } } [DebuggerHidden] public d__114(int <>1__state) { this.<>1__state = <>1__state; } [DebuggerHidden] void IDisposable.Dispose() { int num = <>1__state; if (num == -3 || num == 3) { try { } finally { <>m__Finally1(); } } 5__2 = null; <>7__wrap2 = default(List.Enumerator); <>1__state = -2; } private bool MoveNext() { //IL_0045: Unknown result type (might be due to invalid IL or missing references) //IL_004f: Expected O, but got Unknown //IL_0252: Unknown result type (might be due to invalid IL or missing references) //IL_025c: Expected O, but got Unknown //IL_0111: Unknown result type (might be due to invalid IL or missing references) //IL_0116: Unknown result type (might be due to invalid IL or missing references) //IL_0122: Unknown result type (might be due to invalid IL or missing references) //IL_0131: Unknown result type (might be due to invalid IL or missing references) //IL_0136: Unknown result type (might be due to invalid IL or missing references) //IL_0138: Unknown result type (might be due to invalid IL or missing references) //IL_013d: 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_0146: Unknown result type (might be due to invalid IL or missing references) //IL_014b: Unknown result type (might be due to invalid IL or missing references) //IL_0161: Unknown result type (might be due to invalid IL or missing references) //IL_0166: Unknown result type (might be due to invalid IL or missing references) //IL_0168: Unknown result type (might be due to invalid IL or missing references) //IL_016d: Unknown result type (might be due to invalid IL or missing references) //IL_016f: Unknown result type (might be due to invalid IL or missing references) //IL_0179: Unknown result type (might be due to invalid IL or missing references) //IL_017e: Unknown result type (might be due to invalid IL or missing references) //IL_0183: Unknown result type (might be due to invalid IL or missing references) //IL_0187: Unknown result type (might be due to invalid IL or missing references) //IL_018c: Unknown result type (might be due to invalid IL or missing references) //IL_00d9: Unknown result type (might be due to invalid IL or missing references) //IL_01f9: Unknown result type (might be due to invalid IL or missing references) //IL_0203: Expected O, but got Unknown //IL_0091: Unknown result type (might be due to invalid IL or missing references) //IL_009b: Expected O, but got Unknown try { float num; switch (<>1__state) { default: return false; case 0: <>1__state = -1; 5__2 = MonoSingleton.Instance; goto IL_026e; case 1: <>1__state = -1; goto IL_0064; case 2: <>1__state = -1; goto IL_00b0; case 3: <>1__state = -3; goto IL_0216; case 4: { <>1__state = -1; goto IL_026e; } IL_026e: if (!((Object)(object)5__2 != (Object)null)) { return false; } goto IL_0064; IL_00b0: if ((Object)(object)A_Brain_Identifier != (Object)null && A_Brain_Identifier.target != null) { List list = Generate_Random_Directional_Bombardiro(A_Brain_Identifier.target.position); <>7__wrap2 = list.GetEnumerator(); <>1__state = -3; goto IL_0216; } goto IL_0238; IL_0064: if (Fento_Difficulty_Options.Issue_7_4_Disable_Defence || Fento_Difficulty_Options.Issue_7_4_Disable_CARPET_BOMBING_BATTERY) { <>2__current = (object)new WaitForSeconds(2f); <>1__state = 1; return true; } if ((Object)(object)A_Not_Welcome != (Object)null && A_Not_Welcome.OVERHEAT) { <>2__current = (object)new WaitForSeconds(Fento_Difficulty_Options.Varb_7_4_CoolDown_Time); <>1__state = 2; return true; } goto IL_00b0; IL_0238: num = Random.value * 15f; <>2__current = (object)new WaitForSeconds((45f + num) * Fento_Difficulty_Options.Varb_7_4_Fire_Rate); <>1__state = 4; return true; IL_0216: if (<>7__wrap2.MoveNext()) { Vector3 current = <>7__wrap2.Current; Vector3 val = A_Brain_Identifier.target.position - (A_Brain_Identifier.target.position + current); Vector3 normalized = ((Vector3)(ref val)).normalized; GameObject gameObject = Fento_Assets.EnemyRocket.gameObject; Vector3 val2 = A_Brain_Identifier.target.position + current; val = normalized + Random.insideUnitSphere * 0.1f; Grenade component = Object.Instantiate(gameObject, val2, Quaternion.LookRotation(((Vector3)(ref val)).normalized)).GetComponent(); component.levelledUp = true; component.explosion = component.superExplosion; component.harmlessExplosion = component.superExplosion; component.totalDamageMultiplier *= 3f; if ((Object)(object)A_Brain_Identifier != (Object)null) { component.originEnemy = A_Brain_Identifier; } <>2__current = (object)new WaitForSeconds(0.25f * Fento_Difficulty_Options.Varb_7_4_Fire_Rate); <>1__state = 3; return true; } <>m__Finally1(); <>7__wrap2 = default(List.Enumerator); goto IL_0238; } } 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__wrap2).Dispose(); } [DebuggerHidden] void IEnumerator.Reset() { throw new NotSupportedException(); } } [CompilerGenerated] private sealed class d__111 : IEnumerator, IDisposable, IEnumerator { private int <>1__state; private object <>2__current; private NewMovement 5__2; object IEnumerator.Current { [DebuggerHidden] get { return <>2__current; } } object IEnumerator.Current { [DebuggerHidden] get { return <>2__current; } } [DebuggerHidden] public d__111(int <>1__state) { this.<>1__state = <>1__state; } [DebuggerHidden] void IDisposable.Dispose() { 5__2 = null; <>1__state = -2; } private bool MoveNext() { //IL_003c: Unknown result type (might be due to invalid IL or missing references) //IL_0046: Expected O, but got Unknown //IL_023c: Unknown result type (might be due to invalid IL or missing references) //IL_0246: Expected O, but got Unknown //IL_018b: 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_0083: Unknown result type (might be due to invalid IL or missing references) //IL_008d: Expected O, but got Unknown //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_01f7: Unknown result type (might be due to invalid IL or missing references) //IL_0132: Unknown result type (might be due to invalid IL or missing references) //IL_0137: Unknown result type (might be due to invalid IL or missing references) //IL_0151: Unknown result type (might be due to invalid IL or missing references) float num; switch (<>1__state) { default: return false; case 0: <>1__state = -1; 5__2 = MonoSingleton.Instance; goto IL_0256; case 1: <>1__state = -1; goto IL_0056; case 2: <>1__state = -1; goto IL_009d; case 3: { <>1__state = -1; goto IL_0256; } IL_0256: if (!((Object)(object)5__2 != (Object)null)) { return false; } goto IL_0056; IL_009d: if ((Object)(object)A_Brain_Identifier != (Object)null && A_Brain_Identifier.target != null) { EnemyIdentifier val = null; if (Random.value > 0.5f) { val = Main_Utils.Integrate_Enemy(Main_Utils.DetectebleEnemies.Drone, A_Spawn_Container.transform, active: true, ((Component)5__2).transform.position + new Vector3((Random.value > 0.5f) ? (-30f) : 30f, (Random.value > 0.5f) ? (-5f) : 5f, (Random.value > 0.5f) ? (-30f) : 30f), Quaternion.Euler(0f, Random.value * 360f, 0f)); EnemyIdentifier obj = val; obj.healthBuffModifier *= 0.75f; } else { val = Main_Utils.Integrate_Enemy(Main_Utils.DetectebleEnemies.DroneSkull_Variant, A_Spawn_Container.transform, active: true, ((Component)5__2).transform.position + new Vector3((Random.value > 0.5f) ? (-30f) : 30f, (Random.value > 0.5f) ? (-5f) : 5f, (Random.value > 0.5f) ? (-30f) : 30f), Quaternion.Euler(0f, Random.value * 360f, 0f)); } GameObjectExtensions.GetOrAddComponent(((Component)val).gameObject); val.dontCountAsKills = true; if (!Fento_Difficulty_Options.Issue_Disable_Most_Buffs) { val.BuffAll(); } } num = Random.value * 5f; <>2__current = (object)new WaitForSeconds((20f + num) * Fento_Difficulty_Options.Varb_7_4_Fire_Rate); <>1__state = 3; return true; IL_0056: if (Fento_Difficulty_Options.Issue_7_4_Disable_Defence || Fento_Difficulty_Options.Issue_7_4_Disable_DRONE_SWARM_PROTOCOL) { <>2__current = (object)new WaitForSeconds(2f); <>1__state = 1; return true; } if ((Object)(object)A_Not_Welcome != (Object)null && A_Not_Welcome.OVERHEAT) { <>2__current = (object)new WaitForSeconds(Fento_Difficulty_Options.Varb_7_4_CoolDown_Time); <>1__state = 2; return true; } goto IL_009d; } } bool IEnumerator.MoveNext() { //ILSpy generated this explicit interface implementation from .override directive in MoveNext return this.MoveNext(); } [DebuggerHidden] void IEnumerator.Reset() { throw new NotSupportedException(); } } [CompilerGenerated] private sealed class d__115 : IEnumerator, IDisposable, IEnumerator { private int <>1__state; private object <>2__current; public bool rage; private NewMovement 5__2; private bool 5__3; object IEnumerator.Current { [DebuggerHidden] get { return <>2__current; } } object IEnumerator.Current { [DebuggerHidden] get { return <>2__current; } } [DebuggerHidden] public d__115(int <>1__state) { this.<>1__state = <>1__state; } [DebuggerHidden] void IDisposable.Dispose() { 5__2 = null; <>1__state = -2; } private bool MoveNext() { //IL_016c: Unknown result type (might be due to invalid IL or missing references) //IL_0171: Unknown result type (might be due to invalid IL or missing references) //IL_017b: Unknown result type (might be due to invalid IL or missing references) //IL_0180: Unknown result type (might be due to invalid IL or missing references) //IL_0185: Unknown result type (might be due to invalid IL or missing references) //IL_0197: Unknown result type (might be due to invalid IL or missing references) //IL_01a1: Unknown result type (might be due to invalid IL or missing references) //IL_01bb: Unknown result type (might be due to invalid IL or missing references) //IL_046c: Unknown result type (might be due to invalid IL or missing references) //IL_0476: Expected O, but got Unknown //IL_04b8: Unknown result type (might be due to invalid IL or missing references) //IL_04c2: Expected O, but got Unknown //IL_0512: Unknown result type (might be due to invalid IL or missing references) //IL_0517: Unknown result type (might be due to invalid IL or missing references) //IL_0050: Unknown result type (might be due to invalid IL or missing references) //IL_005a: Expected O, but got Unknown //IL_00ce: Unknown result type (might be due to invalid IL or missing references) //IL_00d8: Expected O, but got Unknown //IL_01e2: Unknown result type (might be due to invalid IL or missing references) //IL_01e7: Unknown result type (might be due to invalid IL or missing references) //IL_01f1: 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_020d: Unknown result type (might be due to invalid IL or missing references) //IL_0217: Unknown result type (might be due to invalid IL or missing references) //IL_0231: Unknown result type (might be due to invalid IL or missing references) //IL_012a: Unknown result type (might be due to invalid IL or missing references) //IL_0134: Expected O, but got Unknown //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_0267: Unknown result type (might be due to invalid IL or missing references) //IL_026c: Unknown result type (might be due to invalid IL or missing references) //IL_0271: Unknown result type (might be due to invalid IL or missing references) //IL_0283: Unknown result type (might be due to invalid IL or missing references) //IL_028d: Unknown result type (might be due to invalid IL or missing references) //IL_02a7: Unknown result type (might be due to invalid IL or missing references) //IL_02ce: Unknown result type (might be due to invalid IL or missing references) //IL_02d3: Unknown result type (might be due to invalid IL or missing references) //IL_02dd: Unknown result type (might be due to invalid IL or missing references) //IL_02e2: Unknown result type (might be due to invalid IL or missing references) //IL_02e7: Unknown result type (might be due to invalid IL or missing references) //IL_02f9: Unknown result type (might be due to invalid IL or missing references) //IL_0303: Unknown result type (might be due to invalid IL or missing references) //IL_031d: Unknown result type (might be due to invalid IL or missing references) //IL_0097: Unknown result type (might be due to invalid IL or missing references) //IL_00a1: Expected O, but got Unknown //IL_0344: Unknown result type (might be due to invalid IL or missing references) //IL_0349: Unknown result type (might be due to invalid IL or missing references) //IL_0353: Unknown result type (might be due to invalid IL or missing references) //IL_0358: Unknown result type (might be due to invalid IL or missing references) //IL_035d: Unknown result type (might be due to invalid IL or missing references) //IL_036f: Unknown result type (might be due to invalid IL or missing references) //IL_0379: Unknown result type (might be due to invalid IL or missing references) //IL_0393: Unknown result type (might be due to invalid IL or missing references) //IL_0419: Unknown result type (might be due to invalid IL or missing references) //IL_0423: Expected O, but got Unknown //IL_03ba: Unknown result type (might be due to invalid IL or missing references) //IL_03bf: Unknown result type (might be due to invalid IL or missing references) //IL_03c9: Unknown result type (might be due to invalid IL or missing references) //IL_03ce: Unknown result type (might be due to invalid IL or missing references) //IL_03d3: Unknown result type (might be due to invalid IL or missing references) //IL_03e5: Unknown result type (might be due to invalid IL or missing references) //IL_03ef: Unknown result type (might be due to invalid IL or missing references) //IL_0409: Unknown result type (might be due to invalid IL or missing references) //IL_06a8: Unknown result type (might be due to invalid IL or missing references) //IL_06b2: Expected O, but got Unknown bool flag; float num2; switch (<>1__state) { default: return false; case 0: <>1__state = -1; 5__2 = MonoSingleton.Instance; goto IL_06c2; case 1: <>1__state = -1; goto IL_006a; case 2: <>1__state = -1; goto IL_00b1; case 3: <>1__state = -1; goto IL_00e8; case 4: { <>1__state = -1; GameObject val = MonoSingleton.Instance.unparryableFlash; if ((Object)(object)val != (Object)null) { val = Object.Instantiate(MonoSingleton.Instance.unparryableFlash, A_Brain_Identifier.target.position + Vector3.up * 10f, Quaternion.identity); Transform transform = val.transform; transform.localScale *= 45f; val.transform.LookAt(A_Brain_Identifier.target.position); } if ((Object)(object)val != (Object)null) { val = Object.Instantiate(MonoSingleton.Instance.unparryableFlash, A_Brain_Identifier.target.position + Vector3.down * 10f, Quaternion.identity); Transform transform2 = val.transform; transform2.localScale *= 45f; val.transform.LookAt(A_Brain_Identifier.target.position); } if ((Object)(object)val != (Object)null) { val = Object.Instantiate(MonoSingleton.Instance.unparryableFlash, A_Brain_Identifier.target.position + Vector3.right * 10f, Quaternion.identity); Transform transform3 = val.transform; transform3.localScale *= 45f; val.transform.LookAt(A_Brain_Identifier.target.position); } if ((Object)(object)val != (Object)null) { val = Object.Instantiate(MonoSingleton.Instance.unparryableFlash, A_Brain_Identifier.target.position + Vector3.left * 10f, Quaternion.identity); Transform transform4 = val.transform; transform4.localScale *= 45f; val.transform.LookAt(A_Brain_Identifier.target.position); } if ((Object)(object)val != (Object)null) { val = Object.Instantiate(MonoSingleton.Instance.unparryableFlash, A_Brain_Identifier.target.position + Vector3.forward * 10f, Quaternion.identity); Transform transform5 = val.transform; transform5.localScale *= 45f; val.transform.LookAt(A_Brain_Identifier.target.position); } if ((Object)(object)val != (Object)null) { val = Object.Instantiate(MonoSingleton.Instance.unparryableFlash, A_Brain_Identifier.target.position + Vector3.back * 10f, Quaternion.identity); Transform transform6 = val.transform; transform6.localScale *= 45f; val.transform.LookAt(A_Brain_Identifier.target.position); } <>2__current = (object)new WaitForSeconds(0.23f); <>1__state = 5; return true; } case 5: <>1__state = -1; 5__3 = false; if (A_Brain_Identifier.target.isPlayer && ((Component)5__2).gameObject.layer == 15) { 5__3 = true; } <>2__current = (object)new WaitForSeconds(0.06f); <>1__state = 6; return true; case 6: <>1__state = -1; if (A_Brain_Identifier.target.isPlayer && ((Component)5__2).gameObject.layer == 15) { 5__3 = true; } <>2__current = (object)new WaitForSeconds(0.06f); <>1__state = 7; return true; case 7: <>1__state = -1; if (A_Brain_Identifier.target.isPlayer && ((Component)5__2).gameObject.layer == 15) { 5__3 = true; } Object.Instantiate(MonoSingleton.Instance.zapImpactParticle, A_Brain_Identifier.target.position, Quaternion.identity); if (A_Brain_Identifier.target.isPlayer && !5__3) { int num = 20; if (5__2.hp > num) { 5__2.GetHurt(num, true, 1f, false, false, 1f, false); } else { 5__2.GetHurt(5__2.hp - 1, true, 1f, false, false, 1f, false); } NewMovement obj = 5__2; obj.boostCharge *= 0.01f; WeaponCharges instance = MonoSingleton.Instance; instance.raicharge *= 0.15f; if (rage) { UltraEnrage_LevelLoaders.Prelude.HeatBar_Rage_IQ.HeatLeft -= 20f; } } else { NewMovement obj2 = 5__2; obj2.antiHp *= 0.25f; NewMovement obj3 = 5__2; obj3.boostCharge += 250f; MonoSingleton.Instance.Charge(5f); WeaponCharges instance2 = MonoSingleton.Instance; instance2.raicharge += 2f; if (rage) { UltraEnrage_LevelLoaders.Prelude.HeatBar_Rage_IQ.HeatLeft += 20f; } } goto IL_0649; case 8: { <>1__state = -1; goto IL_06c2; } IL_006a: if (Fento_Difficulty_Options.Issue_7_4_Disable_Defence || Fento_Difficulty_Options.Issue_7_4_Disable_EMP_CHARGE_SERVICES) { <>2__current = (object)new WaitForSeconds(2f); <>1__state = 1; return true; } if ((Object)(object)A_Not_Welcome != (Object)null && A_Not_Welcome.OVERHEAT) { <>2__current = (object)new WaitForSeconds(Fento_Difficulty_Options.Varb_7_4_CoolDown_Time); <>1__state = 2; return true; } goto IL_00b1; IL_06c2: if (!((Object)(object)5__2 != (Object)null)) { return false; } goto IL_006a; IL_00e8: if ((Object)(object)A_Brain_Identifier != (Object)null && A_Brain_Identifier.target != null) { MonoSingleton.Instance.SendHudMessage("Releasing E.M.P. CHARGE", "", "", 0, false, false, true); <>2__current = (object)new WaitForSeconds(1.15f); <>1__state = 4; return true; } goto IL_0649; IL_00b1: if (((Behaviour)MonoSingleton.Instance.text).enabled) { <>2__current = (object)new WaitForSeconds(1f * Fento_Difficulty_Options.Varb_7_4_Fire_Rate); <>1__state = 3; return true; } goto IL_00e8; IL_0649: flag = (Object)(object)Brain_Fight_Tracer._Instance != (Object)null && ((Component)Brain_Fight_Tracer._Instance).gameObject.activeInHierarchy; num2 = Random.value * 5f * (flag ? 0.25f : 1f); <>2__current = (object)new WaitForSeconds((rage ? 0.8f : 1f) * (11f + num2) * Fento_Difficulty_Options.Varb_7_4_Fire_Rate); <>1__state = 8; return true; } } bool IEnumerator.MoveNext() { //ILSpy generated this explicit interface implementation from .override directive in MoveNext return this.MoveNext(); } [DebuggerHidden] void IEnumerator.Reset() { throw new NotSupportedException(); } } [CompilerGenerated] private sealed class d__116 : IEnumerator, IDisposable, IEnumerator { private int <>1__state; private object <>2__current; public bool rage; private NewMovement 5__2; private bool 5__3; private int 5__4; object IEnumerator.Current { [DebuggerHidden] get { return <>2__current; } } object IEnumerator.Current { [DebuggerHidden] get { return <>2__current; } } [DebuggerHidden] public d__116(int <>1__state) { this.<>1__state = <>1__state; } [DebuggerHidden] void IDisposable.Dispose() { 5__2 = null; <>1__state = -2; } private bool MoveNext() { //IL_003c: Unknown result type (might be due to invalid IL or missing references) //IL_0046: Expected O, but got Unknown //IL_00ce: Unknown result type (might be due to invalid IL or missing references) //IL_00d8: Expected O, but got Unknown //IL_0143: Unknown result type (might be due to invalid IL or missing references) //IL_014d: Expected O, but got Unknown switch (<>1__state) { default: return false; case 0: <>1__state = -1; 5__2 = MonoSingleton.Instance; goto IL_015d; case 1: <>1__state = -1; goto IL_0056; case 2: <>1__state = -1; 5__4++; goto IL_00f8; case 3: { <>1__state = -1; goto IL_015d; } IL_015d: if (!((Object)(object)5__2 != (Object)null)) { return false; } goto IL_0056; IL_00f8: if (5__4 < (5__3 ? 5 : 6)) { Spawn_Grid_Laser(); <>2__current = (object)new WaitForSeconds(((rage & 5__3) ? 0.75f : 1f) * (5__3 ? 2.4f : (3.1f * Fento_Difficulty_Options.Varb_7_4_Fire_Rate))); <>1__state = 2; return true; } <>2__current = (object)new WaitForSeconds(((rage & 5__3) ? 0.75f : 1f) * (5__3 ? 4f : (5f * Fento_Difficulty_Options.Varb_7_4_Fire_Rate))); <>1__state = 3; return true; IL_0056: if (Fento_Difficulty_Options.Issue_7_4_Disable_Defence || Fento_Difficulty_Options.Issue_7_4_Disable_LASER_GRID) { <>2__current = (object)new WaitForSeconds(2f); <>1__state = 1; return true; } 5__3 = (Object)(object)Brain_Fight_Tracer._Instance != (Object)null && ((Component)Brain_Fight_Tracer._Instance).gameObject.activeInHierarchy; 5__4 = 0; goto IL_00f8; } } bool IEnumerator.MoveNext() { //ILSpy generated this explicit interface implementation from .override directive in MoveNext return this.MoveNext(); } [DebuggerHidden] void IEnumerator.Reset() { throw new NotSupportedException(); } } [CompilerGenerated] private sealed class d__110 : IEnumerator, IDisposable, IEnumerator { private int <>1__state; private object <>2__current; private NewMovement 5__2; private int 5__3; object IEnumerator.Current { [DebuggerHidden] get { return <>2__current; } } object IEnumerator.Current { [DebuggerHidden] get { return <>2__current; } } [DebuggerHidden] public d__110(int <>1__state) { this.<>1__state = <>1__state; } [DebuggerHidden] void IDisposable.Dispose() { 5__2 = null; <>1__state = -2; } private bool MoveNext() { //IL_028e: Unknown result type (might be due to invalid IL or missing references) //IL_0298: Expected O, but got Unknown //IL_0044: Unknown result type (might be due to invalid IL or missing references) //IL_004e: Expected O, but got Unknown //IL_0242: Unknown result type (might be due to invalid IL or missing references) //IL_024c: Expected O, but got Unknown //IL_00ca: Unknown result type (might be due to invalid IL or missing references) //IL_00d4: Expected O, but got Unknown //IL_008b: Unknown result type (might be due to invalid IL or missing references) //IL_0095: Expected O, but got Unknown //IL_014b: Unknown result type (might be due to invalid IL or missing references) //IL_0150: Unknown result type (might be due to invalid IL or missing references) //IL_0165: Unknown result type (might be due to invalid IL or missing references) //IL_016a: Unknown result type (might be due to invalid IL or missing references) //IL_01ba: Unknown result type (might be due to invalid IL or missing references) //IL_0195: Unknown result type (might be due to invalid IL or missing references) //IL_019a: Unknown result type (might be due to invalid IL or missing references) //IL_019b: Unknown result type (might be due to invalid IL or missing references) switch (<>1__state) { default: return false; case 0: <>1__state = -1; 5__2 = MonoSingleton.Instance; goto IL_02a8; case 1: <>1__state = -1; goto IL_005e; case 2: <>1__state = -1; goto IL_00a5; case 3: <>1__state = -1; goto IL_00e4; case 4: <>1__state = -1; if ((Object)(object)A_Not_Welcome != (Object)null) { A_Not_Welcome.Gently_Wait_For = false; } <>2__current = (object)new WaitForSeconds((12f + (float)5__3 * 5f) * Fento_Difficulty_Options.Varb_7_4_Fire_Rate); <>1__state = 5; return true; case 5: { <>1__state = -1; goto IL_02a8; } IL_00a5: if ((Object)(object)A_Not_Welcome != (Object)null && A_Not_Welcome.Gently_Wait_For) { <>2__current = (object)new WaitForSeconds(Fento_Difficulty_Options.Varb_7_4_Gently_WaitTime * Fento_Difficulty_Options.Varb_7_4_Fire_Rate); <>1__state = 3; return true; } goto IL_00e4; IL_02a8: if (!((Object)(object)5__2 != (Object)null) || !((Object)(object)Fento_Assets.Insignia.gameObject != (Object)null)) { break; } goto IL_005e; IL_00e4: 5__3 = 0; if ((Object)(object)A_Brain_Identifier != (Object)null && A_Brain_Identifier.target != null && (Object)(object)Fento_Assets.Insignia.gameObject != (Object)null) { if ((Object)(object)A_Not_Welcome != (Object)null) { A_Not_Welcome.Gently_Wait_For = true; } GameObject val = Object.Instantiate(Fento_Assets.Insignia.gameObject, A_Brain_Identifier.target.position, Quaternion.identity); Vector3 velocity = A_Brain_Identifier.target.GetVelocity(); velocity.y = 0f; if (((Vector3)(ref velocity)).magnitude > 0f) { val.transform.LookAt(A_Brain_Identifier.target.position + velocity); } val.transform.localScale = new Vector3(3f, 1f, 3f); VirtueInsignia val2 = default(VirtueInsignia); if (val.TryGetComponent(ref val2)) { val2.predictive = true; val2.noTracking = false; val2.otherParent = ((Component)A_Brain_Identifier).transform; VirtueInsignia obj = val2; obj.windUpSpeedMultiplier *= 0.5f; val2.charges = Random.Range(2, 5); 5__3 = val2.charges; val2.damage = 55; val2.target = A_Brain_Identifier.target; val2.predictiveVersion = null; } } <>2__current = (object)new WaitForSeconds(Fento_Difficulty_Options.Varb_7_4_Gently_WaitTime * Fento_Difficulty_Options.Varb_7_4_Fire_Rate); <>1__state = 4; return true; IL_005e: if (Fento_Difficulty_Options.Issue_7_4_Disable_Defence || Fento_Difficulty_Options.Issue_7_4_Disable_OBLITERATION_BEAM_CANNON) { <>2__current = (object)new WaitForSeconds(2f); <>1__state = 1; return true; } if ((Object)(object)A_Not_Welcome != (Object)null && A_Not_Welcome.OVERHEAT) { <>2__current = (object)new WaitForSeconds(Fento_Difficulty_Options.Varb_7_4_CoolDown_Time); <>1__state = 2; return true; } goto IL_00a5; } 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(); } } [CompilerGenerated] private sealed class d__107 : IEnumerator, IDisposable, IEnumerator { private int <>1__state; private object <>2__current; private LightningStrikeExplosive 5__2; object IEnumerator.Current { [DebuggerHidden] get { return <>2__current; } } object IEnumerator.Current { [DebuggerHidden] get { return <>2__current; } } [DebuggerHidden] public d__107(int <>1__state) { this.<>1__state = <>1__state; } [DebuggerHidden] void IDisposable.Dispose() { 5__2 = null; <>1__state = -2; } private bool MoveNext() { //IL_0159: Unknown result type (might be due to invalid IL or missing references) //IL_0163: Expected O, but got Unknown //IL_0188: Unknown result type (might be due to invalid IL or missing references) //IL_018d: Unknown result type (might be due to invalid IL or missing references) //IL_023e: Unknown result type (might be due to invalid IL or missing references) //IL_0248: Expected O, but got Unknown //IL_026d: Unknown result type (might be due to invalid IL or missing references) //IL_0272: Unknown result type (might be due to invalid IL or missing references) //IL_0314: Unknown result type (might be due to invalid IL or missing references) //IL_0319: Unknown result type (might be due to invalid IL or missing references) //IL_048c: Unknown result type (might be due to invalid IL or missing references) //IL_0496: Expected O, but got Unknown //IL_04c9: Unknown result type (might be due to invalid IL or missing references) //IL_04d3: Expected O, but got Unknown //IL_020f: Unknown result type (might be due to invalid IL or missing references) //IL_0219: Expected O, but got Unknown //IL_02e5: Unknown result type (might be due to invalid IL or missing references) //IL_02ef: Expected O, but got Unknown //IL_039b: Unknown result type (might be due to invalid IL or missing references) //IL_03a5: Expected O, but got Unknown //IL_044f: Unknown result type (might be due to invalid IL or missing references) //IL_0459: Expected O, but got Unknown //IL_00a3: Unknown result type (might be due to invalid IL or missing references) //IL_00a8: Unknown result type (might be due to invalid IL or missing references) //IL_012a: Unknown result type (might be due to invalid IL or missing references) //IL_0134: Expected O, but got Unknown switch (<>1__state) { default: return false; case 0: <>1__state = -1; if (!Fento_Difficulty_Options.Buff_7_4_Disable_OverHeat) { if ((Object)(object)Fento_Assets.LightningBoltExplosion.gameObject != (Object)null && (Object)(object)A_Brain_Identifier != (Object)null) { 5__2 = Fento_Assets.LightningBoltExplosion.GetComponent(); if ((Object)(object)5__2 != (Object)null) { GameObject val = Object.Instantiate(5__2.normal, ((Component)A_Brain_Identifier).transform.position, Quaternion.identity); Explosion[] componentsInChildren = val.GetComponentsInChildren(); foreach (Explosion obj4 in componentsInChildren) { obj4.damage = 0; obj4.speed *= 3f; obj4.maxSize *= 4f; } AudioSource component = val.GetComponent(); if ((Object)(object)component != (Object)null) { component.spatialBlend = 0.1f; } MonoSingleton.Instance.HitStop(0.15f); <>2__current = (object)new WaitForSeconds(0.15f); <>1__state = 1; return true; } goto IL_03c4; } goto IL_03cb; } goto IL_04c3; case 1: <>1__state = -1; MonoSingleton.Instance.HitStop(0.15f); <>2__current = (object)new WaitForSeconds(1.45f); <>1__state = 2; return true; case 2: { <>1__state = -1; GameObject val = Object.Instantiate(5__2.normal, ((Component)A_Brain_Identifier).transform.position, Quaternion.identity); Explosion[] componentsInChildren = val.GetComponentsInChildren(); foreach (Explosion obj2 in componentsInChildren) { obj2.damage = 0; obj2.speed *= 3f; obj2.maxSize *= 6f; } AudioSource component = val.GetComponent(); if ((Object)(object)component != (Object)null) { component.spatialBlend = 0.05f; } MonoSingleton.Instance.HitStop(0.15f); <>2__current = (object)new WaitForSeconds(0.15f); <>1__state = 3; return true; } case 3: <>1__state = -1; MonoSingleton.Instance.HitStop(0.15f); <>2__current = (object)new WaitForSeconds(0.65f); <>1__state = 4; return true; case 4: { <>1__state = -1; GameObject val = Object.Instantiate(5__2.normal, ((Component)A_Brain_Identifier).transform.position, Quaternion.identity); Explosion[] componentsInChildren = val.GetComponentsInChildren(); foreach (Explosion obj3 in componentsInChildren) { obj3.damage = 0; obj3.speed *= 3f; obj3.maxSize *= 8f; } AudioSource component = val.GetComponent(); if ((Object)(object)component != (Object)null) { component.spatialBlend = 0f; } <>2__current = (object)new WaitForSeconds(0.01f); <>1__state = 5; return true; } case 5: { <>1__state = -1; GameObject val = Object.Instantiate(5__2.normal, ((Component)A_Brain_Identifier).transform.position, Quaternion.identity); Explosion[] componentsInChildren = val.GetComponentsInChildren(); foreach (Explosion obj in componentsInChildren) { obj.damage = 0; obj.speed *= 3f; obj.maxSize *= 8f; } AudioSource component = val.GetComponent(); if ((Object)(object)component != (Object)null) { component.spatialBlend = 0f; } MonoSingleton.Instance.HitStop(0.15f); <>2__current = (object)new WaitForSeconds(0.15f); <>1__state = 6; return true; } case 6: <>1__state = -1; MonoSingleton.Instance.HitStop(0.45f); goto IL_03c4; case 7: <>1__state = -1; MonoSingleton.Instance.SendHudMessage("! WARNING ! CRITICAL ERROR OVERHEAT\nRecovering defense systems", "", "", 0, false, false, true); <>2__current = (object)new WaitForSeconds(Fento_Difficulty_Options.Varb_7_4_CoolDown_Time); <>1__state = 8; return true; case 8: <>1__state = -1; MonoSingleton.Instance.SendHudMessage("EXTERNAL DEFENSE SYSTEMS Restored\n! Insufficient power for utilizing more resources !", "", "", 0, false, false, true); goto IL_04c3; case 9: { <>1__state = -1; ((MonoBehaviour)A_Not_Welcome).StartCoroutine(Over_Heat()); return false; } IL_03cb: if ((Object)(object)A_Brain_Identifier != (Object)null) { A_Brain_Identifier.SimpleDamageIgnoreMultiplier(A_Brain_Identifier.health * A_Brain_Identifier.totalHealthModifier * 0.1f); } if ((Object)(object)A_Not_Welcome != (Object)null) { A_Not_Welcome.OVERHEAT = true; ((MonoBehaviour)A_Not_Welcome).StartCoroutine(Main_Utils.Delay_Coroutine(Fento_Difficulty_Options.Varb_7_4_CoolDown_Time, delegate { if ((Object)(object)A_Not_Welcome != (Object)null) { A_Not_Welcome.OVERHEAT = false; } })); } <>2__current = (object)new WaitForSeconds(3f); <>1__state = 7; return true; IL_03c4: 5__2 = null; goto IL_03cb; IL_04c3: <>2__current = (object)new WaitForSeconds(180f); <>1__state = 9; return true; } } bool IEnumerator.MoveNext() { //ILSpy generated this explicit interface implementation from .override directive in MoveNext return this.MoveNext(); } [DebuggerHidden] void IEnumerator.Reset() { throw new NotSupportedException(); } } [CompilerGenerated] private sealed class d__106 : IEnumerator, IDisposable, IEnumerator { private int <>1__state; private object <>2__current; private GameObject 5__2; object IEnumerator.Current { [DebuggerHidden] get { return <>2__current; } } object IEnumerator.Current { [DebuggerHidden] get { return <>2__current; } } [DebuggerHidden] public d__106(int <>1__state) { this.<>1__state = <>1__state; } [DebuggerHidden] void IDisposable.Dispose() { 5__2 = null; <>1__state = -2; } private bool MoveNext() { //IL_0045: Unknown result type (might be due to invalid IL or missing references) //IL_004f: Expected O, but got Unknown //IL_0174: Unknown result type (might be due to invalid IL or missing references) //IL_017e: Expected O, but got Unknown //IL_00af: Unknown result type (might be due to invalid IL or missing references) //IL_00b4: Unknown result type (might be due to invalid IL or missing references) //IL_00d8: Unknown result type (might be due to invalid IL or missing references) //IL_00fc: Unknown result type (might be due to invalid IL or missing references) switch (<>1__state) { default: return false; case 0: <>1__state = -1; MonoSingleton.Instance.SendHudMessage("GOODBYE", "", "", 0, false, false, true); <>2__current = (object)new WaitForSeconds(2f); <>1__state = 1; return true; case 1: <>1__state = -1; 5__2 = null; if ((Object)(object)A_Brain_Identifier != (Object)null && A_Brain_Identifier.target != null && (Object)(object)Fento_Assets.Insignia.gameObject != (Object)null) { 5__2 = Object.Instantiate(Fento_Assets.Insignia.gameObject, A_Brain_Identifier.target.position, Quaternion.identity); 5__2.transform.LookAt(A_Brain_Identifier.target.position); 5__2.transform.localScale = new Vector3(30f, 3f, 30f); VirtueInsignia val = default(VirtueInsignia); if (5__2.TryGetComponent(ref val)) { val.predictive = true; val.noTracking = false; val.otherParent = ((Component)A_Brain_Identifier).transform; val.charges = 1; val.explosionLength = 4f; val.windUpSpeedMultiplier = 0.1f; val.damage = 0; val.target = A_Brain_Identifier.target; val.predictiveVersion = null; } } <>2__current = (object)new WaitForSeconds(5f); <>1__state = 2; return true; case 2: <>1__state = -1; Object.Destroy((Object)(object)5__2); ((MonoBehaviour)A_Not_Welcome).StartCoroutine(Over_Heat()); 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(); } } [CompilerGenerated] private sealed class d__105 : IEnumerator, IDisposable, IEnumerator { private int <>1__state; private object <>2__current; object IEnumerator.Current { [DebuggerHidden] get { return <>2__current; } } object IEnumerator.Current { [DebuggerHidden] get { return <>2__current; } } [DebuggerHidden] public d__105(int <>1__state) { this.<>1__state = <>1__state; } [DebuggerHidden] void IDisposable.Dispose() { <>1__state = -2; } private bool MoveNext() { //IL_007a: Unknown result type (might be due to invalid IL or missing references) //IL_008e: Unknown result type (might be due to invalid IL or missing references) //IL_009f: Unknown result type (might be due to invalid IL or missing references) //IL_00a9: Expected O, but got Unknown //IL_00d5: Unknown result type (might be due to invalid IL or missing references) //IL_00da: Unknown result type (might be due to invalid IL or missing references) //IL_00eb: Unknown result type (might be due to invalid IL or missing references) //IL_00f5: Expected O, but got Unknown //IL_0121: Unknown result type (might be due to invalid IL or missing references) //IL_0126: Unknown result type (might be due to invalid IL or missing references) //IL_0137: Unknown result type (might be due to invalid IL or missing references) //IL_0141: Expected O, but got Unknown //IL_016d: Unknown result type (might be due to invalid IL or missing references) //IL_0181: Unknown result type (might be due to invalid IL or missing references) //IL_0192: Unknown result type (might be due to invalid IL or missing references) //IL_019c: Expected O, but got Unknown //IL_01c8: Unknown result type (might be due to invalid IL or missing references) //IL_01dc: Unknown result type (might be due to invalid IL or missing references) //IL_01ed: Unknown result type (might be due to invalid IL or missing references) //IL_01f7: Expected O, but got Unknown //IL_0223: Unknown result type (might be due to invalid IL or missing references) //IL_0237: Unknown result type (might be due to invalid IL or missing references) //IL_0248: Unknown result type (might be due to invalid IL or missing references) //IL_0252: Expected O, but got Unknown //IL_027e: Unknown result type (might be due to invalid IL or missing references) //IL_0292: Unknown result type (might be due to invalid IL or missing references) //IL_02a3: Unknown result type (might be due to invalid IL or missing references) //IL_02ad: Expected O, but got Unknown //IL_02d9: Unknown result type (might be due to invalid IL or missing references) //IL_02ed: Unknown result type (might be due to invalid IL or missing references) //IL_02fe: Unknown result type (might be due to invalid IL or missing references) //IL_0308: Expected O, but got Unknown //IL_0334: Unknown result type (might be due to invalid IL or missing references) //IL_0348: Unknown result type (might be due to invalid IL or missing references) //IL_0359: Unknown result type (might be due to invalid IL or missing references) //IL_0363: Expected O, but got Unknown switch (<>1__state) { default: return false; case 0: <>1__state = -1; ((Component)A_Shield_Idol_1).gameObject.SetActive(true); ((Component)A_Shield_Idol_2).gameObject.SetActive(true); Main_Utils.Integrate_Enemy(Main_Utils.DetectebleEnemies.Gutterman, A_Hide_When_Inside.transform, active: true, new Vector3(-82.89844f, 172.9622f, 550.1135f), Quaternion.Euler(0f, 160f, 0f)); <>2__current = (object)new WaitForSeconds(0.2f); <>1__state = 1; return true; case 1: <>1__state = -1; Main_Utils.Integrate_Enemy(Main_Utils.DetectebleEnemies.Guttertank, A_Hide_When_Inside.transform, active: true, new Vector3(-132.909f, 153.1169f, 543.9654f), Main_Utils.Quat_180); <>2__current = (object)new WaitForSeconds(0.2f); <>1__state = 2; return true; case 2: <>1__state = -1; Main_Utils.Integrate_Enemy(Main_Utils.DetectebleEnemies.Mindflayer, A_Hide_When_Inside.transform, active: true, new Vector3(-174.6989f, 125.8156f, 487.2487f), Main_Utils.Quat_90); <>2__current = (object)new WaitForSeconds(0.2f); <>1__state = 3; return true; case 3: <>1__state = -1; Main_Utils.Integrate_Enemy(Main_Utils.DetectebleEnemies.CentaurRocketLauncher, A_Hide_When_Inside.transform, active: true, new Vector3(82.29789f, 205.0962f, 540.4634f), Quaternion.Euler(0f, 127f, 0f)); <>2__current = (object)new WaitForSeconds(0.25f); <>1__state = 4; return true; case 4: <>1__state = -1; Main_Utils.Integrate_Enemy(Main_Utils.DetectebleEnemies.CentaurRocketLauncher, A_Hide_When_Inside.transform, active: true, new Vector3(93.41512f, 178.3032f, 777.0443f), Quaternion.Euler(0f, 78f, 0f)); <>2__current = (object)new WaitForSeconds(0.25f); <>1__state = 5; return true; case 5: <>1__state = -1; Main_Utils.Integrate_Enemy(Main_Utils.DetectebleEnemies.CentaurRocketLauncher, A_Hide_When_Inside.transform, active: true, new Vector3(-77.31535f, 193.6618f, 787.6669f), Quaternion.Euler(0f, 28f, 0f)); <>2__current = (object)new WaitForSeconds(0.25f); <>1__state = 6; return true; case 6: <>1__state = -1; Main_Utils.Integrate_Enemy(Main_Utils.DetectebleEnemies.CentaurRocketLauncher, A_Hide_When_Inside.transform, active: true, new Vector3(-87.15332f, 212.7957f, 543.9648f), Quaternion.Euler(0f, 2.5f, 0f)); <>2__current = (object)new WaitForSeconds(0.25f); <>1__state = 7; return true; case 7: <>1__state = -1; Main_Utils.Integrate_Enemy(Main_Utils.DetectebleEnemies.Mindflayer, A_Hide_When_Inside.transform, active: true, new Vector3(-14.31693f, 220.0446f, 556.113f), Quaternion.Euler(0f, 173f, 0f)); <>2__current = (object)new WaitForSeconds(0.25f); <>1__state = 8; return true; case 8: <>1__state = -1; Main_Utils.Integrate_Enemy(Main_Utils.DetectebleEnemies.Turret, A_Hide_When_Inside.transform, active: true, new Vector3(-82.099f, 7.68f, 508.5876f), Quaternion.Euler(0f, 143f, 0f)); <>2__current = (object)new WaitForSeconds(0.25f); <>1__state = 9; return true; case 9: <>1__state = -1; Main_Utils.Enemy_InStack(A_Automated_Gore_Zone.transform, delegate(EnemyIdentifier enemy) { //IL_0013: Unknown result type (might be due to invalid IL or missing references) //IL_001a: Invalid comparison between Unknown and I4 //IL_0036: Unknown result type (might be due to invalid IL or missing references) //IL_003c: Invalid comparison between Unknown and I4 //IL_003f: Unknown result type (might be due to invalid IL or missing references) //IL_0046: Invalid comparison between Unknown and I4 //IL_0050: Unknown result type (might be due to invalid IL or missing references) //IL_0056: Invalid comparison between Unknown and I4 //IL_0059: Unknown result type (might be due to invalid IL or missing references) //IL_0060: Invalid comparison between Unknown and I4 enemy.radianceTier += 0.25f; if ((int)enemy.enemyType == 35) { enemy.Sandify(false); enemy.healthBuffModifier *= 0.25f; } if ((int)enemy.enemyType == 5 || (int)enemy.enemyType == 20) { enemy.Sandify(false); } if ((int)enemy.enemyType != 5 && (int)enemy.enemyType != 34) { enemy.BuffAll(); } }, Hard_Mode_Only: true); 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(); } } [CompilerGenerated] private sealed class d__108 : IEnumerator, IDisposable, IEnumerator { private int <>1__state; private object <>2__current; public bool message; private NewMovement 5__2; object IEnumerator.Current { [DebuggerHidden] get { return <>2__current; } } object IEnumerator.Current { [DebuggerHidden] get { return <>2__current; } } [DebuggerHidden] public d__108(int <>1__state) { this.<>1__state = <>1__state; } [DebuggerHidden] void IDisposable.Dispose() { 5__2 = null; <>1__state = -2; } private bool MoveNext() { //IL_009e: Unknown result type (might be due to invalid IL or missing references) //IL_00a8: Expected O, but got Unknown //IL_015e: Unknown result type (might be due to invalid IL or missing references) //IL_0168: Expected O, but got Unknown //IL_00ff: Unknown result type (might be due to invalid IL or missing references) //IL_0104: Unknown result type (might be due to invalid IL or missing references) //IL_0061: Unknown result type (might be due to invalid IL or missing references) //IL_006b: Expected O, but got Unknown switch (<>1__state) { default: return false; case 0: <>1__state = -1; if (message) { MonoSingleton.Instance.SendHudMessage("EXTERNAL DEFENSE SYSTEMS SUCCESSFULLY RESTORED\n! Beginning restoration of internal systems !", "", "", 0, false, false, true); } 5__2 = MonoSingleton.Instance; break; case 1: <>1__state = -1; MonoSingleton.Instance.SendHudMessage("Internal systems recovery in progress...", "", "", 0, false, false, true); <>2__current = (object)new WaitForSeconds(1f); <>1__state = 2; return true; case 2: <>1__state = -1; if (Object.op_Implicit((Object)(object)A_Brain_Identifier)) { RestoreHealth(); Object.Instantiate(Fento_Assets.HealingEffect.gameObject, ((Component)A_Brain_Identifier).transform); Explosion[] componentsInChildren = Object.Instantiate(Fento_Assets.GeryonProximityExplosion.gameObject, ((Component)A_Brain_Identifier).transform.position, Quaternion.identity).GetComponentsInChildren(true); foreach (Explosion obj in componentsInChildren) { obj.toIgnore.Add((EnemyType)35); obj.toIgnore.Add((EnemyType)21); obj.enemy = true; obj.enemyDamageMultiplier *= 0f; } } <>2__current = (object)new WaitForSeconds(53f); <>1__state = 3; return true; case 3: <>1__state = -1; break; } if (Object.op_Implicit((Object)(object)5__2) && Object.op_Implicit((Object)(object)A_Brain_Identifier) && A_Brain_Identifier.health > 10f) { <>2__current = (object)new WaitForSeconds(6f); <>1__state = 1; return true; } 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(); } } [CompilerGenerated] private sealed class d__112 : IEnumerator, IDisposable, IEnumerator { private int <>1__state; private object <>2__current; private NewMovement 5__2; private Vector3 5__3; object IEnumerator.Current { [DebuggerHidden] get { return <>2__current; } } object IEnumerator.Current { [DebuggerHidden] get { return <>2__current; } } [DebuggerHidden] public d__112(int <>1__state) { this.<>1__state = <>1__state; } [DebuggerHidden] void IDisposable.Dispose() { 5__2 = null; <>1__state = -2; } private bool MoveNext() { //IL_013c: Unknown result type (might be due to invalid IL or missing references) //IL_0141: 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) //IL_004a: Expected O, but got Unknown //IL_0317: Unknown result type (might be due to invalid IL or missing references) //IL_0321: Expected O, but got Unknown //IL_0104: Unknown result type (might be due to invalid IL or missing references) //IL_0109: 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_0111: Unknown result type (might be due to invalid IL or missing references) //IL_0116: Unknown result type (might be due to invalid IL or missing references) //IL_0121: Unknown result type (might be due to invalid IL or missing references) //IL_012b: Expected O, but got Unknown //IL_00e0: 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_00e7: Unknown result type (might be due to invalid IL or missing references) //IL_00ed: Unknown result type (might be due to invalid IL or missing references) //IL_00f2: Unknown result type (might be due to invalid IL or missing references) //IL_01cc: Unknown result type (might be due to invalid IL or missing references) //IL_01d1: Unknown result type (might be due to invalid IL or missing references) //IL_0179: Unknown result type (might be due to invalid IL or missing references) //IL_017e: Unknown result type (might be due to invalid IL or missing references) //IL_0087: Unknown result type (might be due to invalid IL or missing references) //IL_0091: Expected O, but got Unknown //IL_0289: Unknown result type (might be due to invalid IL or missing references) //IL_0299: 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_02a9: 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_0262: Unknown result type (might be due to invalid IL or missing references) //IL_020a: Unknown result type (might be due to invalid IL or missing references) //IL_020f: Unknown result type (might be due to invalid IL or missing references) //IL_02cd: Unknown result type (might be due to invalid IL or missing references) //IL_02d2: Unknown result type (might be due to invalid IL or missing references) //IL_02dc: Unknown result type (might be due to invalid IL or missing references) //IL_02e1: Unknown result type (might be due to invalid IL or missing references) //IL_02fb: Unknown result type (might be due to invalid IL or missing references) switch (<>1__state) { default: return false; case 0: <>1__state = -1; 5__2 = MonoSingleton.Instance; goto IL_0331; case 1: <>1__state = -1; goto IL_005a; case 2: <>1__state = -1; goto IL_00a1; case 3: <>1__state = -1; goto IL_013b; case 4: { <>1__state = -1; goto IL_0331; } IL_0331: if (!((Object)(object)5__2 != (Object)null)) { return false; } goto IL_005a; IL_00a1: if ((Object)(object)A_Brain_Identifier != (Object)null && A_Brain_Identifier.target != null) { ((MonoBehaviour)A_Not_Welcome).StartCoroutine(Wait_ToSay("Sending SUPPORT DROP FORCES, please stand by")); Vector3 position = ((Component)5__2).transform.position; 5__3 = Main_Utils.DeepSearchNavMeshPoint(position, 15f); goto IL_013b; } goto IL_030b; IL_005a: if (Fento_Difficulty_Options.Issue_7_4_Disable_Defence || Fento_Difficulty_Options.Issue_7_4_Disable_SUPPORT_DROP_FORCES) { <>2__current = (object)new WaitForSeconds(2f); <>1__state = 1; return true; } if ((Object)(object)A_Not_Welcome != (Object)null && A_Not_Welcome.OVERHEAT) { <>2__current = (object)new WaitForSeconds(Fento_Difficulty_Options.Varb_7_4_CoolDown_Time); <>1__state = 2; return true; } goto IL_00a1; IL_030b: <>2__current = (object)new WaitForSeconds(100f * Fento_Difficulty_Options.Varb_7_4_Fire_Rate); <>1__state = 4; return true; IL_013b: if (5__3 == Vector3.zero) { Vector3 position = ((Component)5__2).transform.position; 5__3 = Main_Utils.DeepSearchNavMeshPoint(position, 15f); <>2__current = (object)new WaitForSeconds(0.05f); <>1__state = 3; return true; } switch (Random.Range(1, 5)) { case 1: if ((Object)(object)Fento_Assets.Gutterman.gameObject != (Object)null) { GameObject obj2 = Object.Instantiate(Fento_Assets.Gutterman.gameObject, 5__3, Quaternion.identity); obj2.transform.parent = A_Spawn_Container.transform; ((Component)obj2.transform.GetChild(3).GetChild(0)).GetComponent().dontCountAsKills = true; } else { Main_Utils.Integrate_Enemy(Main_Utils.DetectebleEnemies.Gutterman, A_Spawn_Container.transform, active: true, 5__3, Quaternion.identity).dontCountAsKills = true; } break; case 2: if ((Object)(object)Fento_Assets.Guttertank.gameObject != (Object)null) { GameObject obj = Object.Instantiate(Fento_Assets.Guttertank.gameObject, 5__3, Quaternion.identity); obj.transform.parent = A_Spawn_Container.transform; ((Component)obj.transform.GetChild(3).GetChild(0)).GetComponent().dontCountAsKills = true; } else { Main_Utils.Integrate_Enemy(Main_Utils.DetectebleEnemies.Guttertank, A_Spawn_Container.transform, active: true, 5__3, Quaternion.identity).dontCountAsKills = true; } break; case 3: Main_Utils.Integrate_Enemy(Main_Utils.DetectebleEnemies.Turret, A_Spawn_Container.transform, active: true, 5__3, Quaternion.LookRotation(((Component)5__2).transform.position - 5__3)).dontCountAsKills = true; break; case 4: Main_Utils.Integrate_Enemy(Main_Utils.DetectebleEnemies.Mindflayer, A_Spawn_Container.transform, active: true, 5__3 + Vector3.up * 100f, Quaternion.Euler(0f, Random.value * 360f, 0f)).dontCountAsKills = true; break; } goto IL_030b; } } bool IEnumerator.MoveNext() { //ILSpy generated this explicit interface implementation from .override directive in MoveNext return this.MoveNext(); } [DebuggerHidden] void IEnumerator.Reset() { throw new NotSupportedException(); } } [CompilerGenerated] private sealed class d__113 : IEnumerator, IDisposable, IEnumerator { private int <>1__state; private object <>2__current; private NewMovement 5__2; object IEnumerator.Current { [DebuggerHidden] get { return <>2__current; } } object IEnumerator.Current { [DebuggerHidden] get { return <>2__current; } } [DebuggerHidden] public d__113(int <>1__state) { this.<>1__state = <>1__state; } [DebuggerHidden] void IDisposable.Dispose() { 5__2 = null; <>1__state = -2; } private bool MoveNext() { //IL_014b: Unknown result type (might be due to invalid IL or missing references) //IL_0155: Expected O, but got Unknown //IL_0044: Unknown result type (might be due to invalid IL or missing references) //IL_004e: Expected O, but got Unknown //IL_010d: Unknown result type (might be due to invalid IL or missing references) //IL_0117: Expected O, but got Unknown //IL_00ca: Unknown result type (might be due to invalid IL or missing references) //IL_00d4: Expected O, but got Unknown //IL_008b: Unknown result type (might be due to invalid IL or missing references) //IL_0095: Expected O, but got Unknown switch (<>1__state) { default: return false; case 0: <>1__state = -1; 5__2 = MonoSingleton.Instance; goto IL_0165; case 1: <>1__state = -1; goto IL_005e; case 2: <>1__state = -1; goto IL_00a5; case 3: <>1__state = -1; goto IL_00e4; case 4: <>1__state = -1; if ((Object)(object)A_Not_Welcome != (Object)null) { A_Not_Welcome.Gently_Wait_For = false; } <>2__current = (object)new WaitForSeconds(40f * Fento_Difficulty_Options.Varb_7_4_Fire_Rate); <>1__state = 5; return true; case 5: { <>1__state = -1; goto IL_0165; } IL_00a5: if ((Object)(object)A_Not_Welcome != (Object)null && A_Not_Welcome.Gently_Wait_For) { <>2__current = (object)new WaitForSeconds(Fento_Difficulty_Options.Varb_7_4_Gently_WaitTime * Fento_Difficulty_Options.Varb_7_4_Fire_Rate); <>1__state = 3; return true; } goto IL_00e4; IL_0165: if (!((Object)(object)5__2 != (Object)null)) { return false; } goto IL_005e; IL_00e4: if ((Object)(object)A_Not_Welcome != (Object)null) { A_Not_Welcome.Gently_Wait_For = true; } Lightning_BoltWindup(); <>2__current = (object)new WaitForSeconds(Fento_Difficulty_Options.Varb_7_4_Gently_WaitTime * Fento_Difficulty_Options.Varb_7_4_Fire_Rate); <>1__state = 4; return true; IL_005e: if (Fento_Difficulty_Options.Issue_7_4_Disable_Defence || Fento_Difficulty_Options.Issue_7_4_Disable_NUCLEAR_THUNDERBOLT_EMITTER) { <>2__current = (object)new WaitForSeconds(2f); <>1__state = 1; return true; } if ((Object)(object)A_Not_Welcome != (Object)null && A_Not_Welcome.OVERHEAT) { <>2__current = (object)new WaitForSeconds(Fento_Difficulty_Options.Varb_7_4_CoolDown_Time); <>1__state = 2; return true; } goto IL_00a5; } } bool IEnumerator.MoveNext() { //ILSpy generated this explicit interface implementation from .override directive in MoveNext return this.MoveNext(); } [DebuggerHidden] void IEnumerator.Reset() { throw new NotSupportedException(); } } [CompilerGenerated] private sealed class d__117 : IEnumerator, IDisposable, IEnumerator { private int <>1__state; private object <>2__current; public string to_say; object IEnumerator.Current { [DebuggerHidden] get { return <>2__current; } } object IEnumerator.Current { [DebuggerHidden] get { return <>2__current; } } [DebuggerHidden] public d__117(int <>1__state) { this.<>1__state = <>1__state; } [DebuggerHidden] void IDisposable.Dispose() { <>1__state = -2; } private bool MoveNext() { //IL_001f: Unknown result type (might be due to invalid IL or missing references) //IL_0029: Expected O, but got Unknown switch (<>1__state) { default: return false; case 0: <>1__state = -1; break; case 1: <>1__state = -1; break; } if (((Behaviour)MonoSingleton.Instance.text).enabled) { <>2__current = (object)new WaitForSeconds(1f); <>1__state = 1; return true; } MonoSingleton.Instance.SendHudMessage(to_say, "", "", 0, false, false, true); 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 CHECK_DAMAGE = false; public static Fento_Enemy_Tag A_Shield_Idol_1 = null; public static Fento_Enemy_Tag A_Shield_Idol_2 = null; public static Main_Utils.PathObject A_GrapplePointSlingshot = "Main/Exterior/NonStuff/1 - Front Leg/GrapplePointSlingshot Variant"; public static Main_Utils.PathObject A_IntroDoor = "Intro/BunkerDoor"; public static Main_Utils.PathObject A_Main = "Main"; public static Main_Utils.PathObject A_Hide_When_Inside = "Main/Centaur Full/Hide When Inside"; public static Main_Utils.PathObject A_Ext_Stuff = "Main/Exterior/ExteriorStuff"; public static Main_Utils.PathObject A_Automated_Gore_Zone = "Main/Centaur Full/Hide When Inside/Automated Gore Zone"; public static Main_Utils.PathObject A_LevelEnd = "Level End/EndStuff/Centaur Death/MovementReactivator"; public static Main_Utils.PathObject A_The_Rage_Checker2 = "Main/Centaur Full/Crane Explosion Stuff/ExplosionActivate"; public static Main_Utils.PathObject A_Centaur_Visual = "Main/Centaur Full"; public static Main_Utils.PathObject A_First_Hit = "FakeExplosionSpawner/FakeCentaurHitExplosion (First)/Explosion"; public static Main_Utils.PathObject A_Brain_Search = "Main/Interior"; public static Main_Utils.PathObject a_Centaur_Brain = "Main/Interior/InteriorStuff/BrainFight/Brain"; public static EnemyIdentifier a_Brain_Identifier; public static Not_Welcome A_Not_Welcome; public static Main_Utils.PathObject B_2_Activator = "Main/Exterior/ExteriorStuff/Start/Activator"; public static Main_Utils.PathObject B_2_Wave = "Main/Exterior/ExteriorStuff/Start"; public static ObjectActivator B_2_ObjectActivator; public static HashSet B_2_NewEnemies = new HashSet(); public static List B_2_Machines = new List(); public static Main_Utils.PathObject C_3_Wave = "Main/Exterior/ExteriorStuff/Side 1"; public static Main_Utils.PathObject C_3_Turret = "Main/Exterior/ExteriorStuff/Side 1/BombEnemySpawner/Enemy/Turret"; public static Main_Utils.PathObject C_3_Gutter = "Main/Exterior/ExteriorStuff/Side 1/BombEnemySpawner (1)/Enemy/Guttertank"; public static Main_Utils.PathObject C_3_Gut_Trigger = "Main/Exterior/ExteriorStuff/Side 1/GuttertankTrigger"; public static Main_Utils.PathObject C_3_Shotg_Trigger = "Main/Exterior/ExteriorStuff/Side 1/ShotgunTrigger"; public static ObjectActivator C_3_Gut_Activator; public static ActivateArena C_3_Shotg_Area; public static ObjectActivator C_3_Turret_Activator; public static HashSet C_3_NewEnemies = new HashSet(); public static Main_Utils.PathObject D_4_Wave = "Main/Exterior/ExteriorStuff/Front"; public static Main_Utils.PathObject D_4_Turret = "Main/Exterior/ExteriorStuff/Front/BombEnemySpawnerBreaker Variant/Enemy/Turret"; public static Main_Utils.PathObject D_4_Man = "Main/Exterior/ExteriorStuff/Front/BombEnemySpawner (2)/Enemy/Gutterman"; public static Main_Utils.PathObject D_4_Turret_Trigger = "Main/Exterior/ExteriorStuff/Front/Sentry Trigger"; public static Main_Utils.PathObject D_4_Man_Trigger = "Main/Exterior/ExteriorStuff/Front/Gutterman Trigger"; public static ObjectActivator D_4_Turret_Activator; public static ObjectActivator D_4_Man_Activator; public static HashSet D_4_NewEnemies = new HashSet(); public static List D_4_Machines = new List(); public static Main_Utils.PathObject E_5_Wave = "Main/Exterior/ExteriorStuff/Side 2"; public static Main_Utils.PathObject E_5_Trigger = "Main/Exterior/ExteriorStuff/Side 2/Trigger"; public static Main_Utils.PathObject E_5_Tank_1 = "Main/Exterior/ExteriorStuff/Side 2/BombEnemySpawner (3)/Enemy/Guttertank"; public static Main_Utils.PathObject E_5_Tank_2 = "Main/Exterior/ExteriorStuff/Side 2/BombEnemySpawner (4)/Enemy/Guttertank"; public static Main_Utils.PathObject E_5_Gut = "Main/Exterior/ExteriorStuff/Side 2/BombEnemySpawner (5)/Enemy/Gutterman"; public static ActivateArena E_5_ActivateArena; public static List E_5_Enemies = new List(); public static List E_5_Machines = new List(); public static List E_5_Machines_2 = new List(); public static Main_Utils.PathObject F_6_Wave = "Main/Exterior/ExteriorStuff/House"; public static Main_Utils.PathObject F_6_Trigger = "Main/Exterior/ExteriorStuff/House/Trigger"; public static Main_Utils.PathObject F_6_Face = "Main/Exterior/ExteriorStuff/House/Spider/Body"; public static Main_Utils.PathObject F_6_Man1 = "Main/Exterior/ExteriorStuff/House/MannequinPoserWithEnemy/Mannequin"; public static Main_Utils.PathObject F_6_Man2 = "Main/Exterior/ExteriorStuff/House/MannequinPoserWithEnemy (1)/Mannequin"; public static ObjectActivator F_6_Activator; public static HashSet F_6_Enemies = new HashSet(); public static Main_Utils.PathObject G_7_Wave = "Main/Exterior/ExteriorStuff/SecuritySystemFight/SecuritySystem"; public static Main_Utils.PathObject G_7_Def_Boss = "Main/Exterior/ExteriorStuff/SecuritySystemFight/SecuritySystem/Mainframe/Mainframe (Hurtable)"; public static Main_Utils.PathObject G_7_Beam = "Main/Exterior/ExteriorStuff/SecuritySystemFight/SecuritySystem/Mainframe/BeamSphere/Mindflayer Beam"; public static Main_Utils.PathObject H_8_Trigger_1 = "Main/Interior/InteriorStuff/EntryTrigger/Cube"; public static Main_Utils.PathObject H_8_Trigger_2 = "Main/Interior/InteriorStuff/EntryTrigger/Cube (5)"; public static Main_Utils.PathObject H_8_Wave_Idols = "Main/Interior/InteriorStuff/Idols"; public static Main_Utils.PathObject H_8_Flesh = "Main/Centaur Full/AlwaysActive/Collision/Interior_Colliders/Col_BellyFlesh"; public static Main_Utils.PathObject H_8_Canv = "Canvas/Warning"; public static HurtZone H_8_HurtZone; public static ActivateNextWave H_8_NextWave; public static Main_Utils.PathObject J_9_ForceField = "Main/Interior/InteriorStuff/BrainFight/EntryForceField"; public static Main_Utils.PathObject K_10_Wave = "Main/Interior/InteriorStuff/EscapeEnemies"; public static Main_Utils.PathObject K_10_Trigger = "Main/Interior/InteriorStuff/EscapeTrigger"; public static Main_Utils.PathObject K_10_Activator_Countdown = "Main/Interior/InteriorStuff/CountdownActivator/Countdown"; public static ActivateNextWave[] K_10_Next_Activators; public static ActivateArena[] K_10_Arenas; public static Countdown K_10_Countdown; public static List K_10_Enemies_1 = new List(); public static List K_10_Enemies_2 = new List(); public const string T_Start = "Translation:\nYOU'RE NOT WELCOME HERE"; public const string Threat = "SIGNIFICANT THREAT DETECTED\nInitializing ADVANCED EXTERNAL DEFENSE SYSTEMS"; public const string Int_Thread = "INTRUDER DETECTED\nInitializing ADVANCED INTERNAL DEFENSE SYSTEMS"; public const string Extermination_Second = "ARE YOU SATISFIED WITH THE RESULTS?\nPreparing EXTERMINATION ATTEMPT 2"; public const string Second_End = "GOODBYE"; public const string Heat_Error = "! WARNING ! CRITICAL ERROR OVERHEAT\nRecovering defense systems"; public const string Restore_Heat = "EXTERNAL DEFENSE SYSTEMS Restored\n! Insufficient power for utilizing more resources !"; public const string OBLITERATION_CANNON = "Powering up OBLITERATION BEAM CANNON"; public const string DRONE_SWARM = "Deploying DRONE SWARM PROTOCOL"; public const string ARMING_DROP = "Arming SUPPORT DROP FORCES"; public const string SENDING_DROP = "Sending SUPPORT DROP FORCES, please stand by"; public const string THUNDERBOLT_EMITTER = "Charging NUCLEAR THUNDERBOLT EMITTER"; public const string CARPET_BOMBING = "Locking in a CARPET BOMBING BATTERY target"; public const string LASER_GRID = "Powering up LASER GRID"; public const string EMP_START = "Calibrating E.M.P. CHARGE SERVICES\n SUCCESSFUL DODGE provides FASTER ARSENAL RECHARGE + BONUS"; public const string EMP_SEND = "Releasing E.M.P. CHARGE"; public const string DEFENCE_DESTROYED = "SIGNIFICANT DAMAGE DETECTED\n! RESTARTING EXTERNAL DEFENSE SYSTEMS !"; public const string SYSTEM_REPAIR = "EXTERNAL DEFENSE SYSTEMS SUCCESSFULLY RESTORED\n! Beginning restoration of internal systems !"; public const string REPAIR_IN_PROGRESS = "Internal systems recovery in progress..."; public const string Int_Fixed = "INTERNAL SYSTEMS RESTORED\nInitializing ADVANCED+ INTERNAL DEFENSE SYSTEMS"; public static GameObject A_Spawn_Container { get { if ((Object)(object)Spawn_Tracer._Instance != (Object)null) { return ((Component)Spawn_Tracer._Instance).gameObject; } return A_Hide_When_Inside.gameObject; } } public static GameObject A_Centaur_Brain { get { if ((Object)(object)Brain_Tracer._Instance != (Object)null) { return ((Component)Brain_Tracer._Instance).gameObject; } return a_Centaur_Brain.gameObject; } } public static EnemyIdentifier A_Brain_Identifier { get { if ((Object)(object)Brain_Tracer._Instance != (Object)null) { return Brain_Tracer._Instance.Eid; } if ((Object)(object)a_Brain_Identifier == (Object)null || !((Component)a_Brain_Identifier).gameObject.activeInHierarchy) { a_Brain_Identifier = A_Centaur_Brain.GetComponent(); } return a_Brain_Identifier; } } public static void SetupFentoLevel() { //IL_00cc: Unknown result type (might be due to invalid IL or missing references) //IL_00d1: Unknown result type (might be due to invalid IL or missing references) //IL_0162: Unknown result type (might be due to invalid IL or missing references) //IL_0167: Unknown result type (might be due to invalid IL or missing references) //IL_0136: Unknown result type (might be due to invalid IL or missing references) //IL_013b: Unknown result type (might be due to invalid IL or missing references) //IL_0141: Expected O, but got Unknown //IL_029d: Unknown result type (might be due to invalid IL or missing references) //IL_02a7: Unknown result type (might be due to invalid IL or missing references) //IL_02bc: Unknown result type (might be due to invalid IL or missing references) //IL_02c6: Unknown result type (might be due to invalid IL or missing references) //IL_02db: Unknown result type (might be due to invalid IL or missing references) //IL_02e5: Unknown result type (might be due to invalid IL or missing references) //IL_02fa: Unknown result type (might be due to invalid IL or missing references) //IL_0304: Unknown result type (might be due to invalid IL or missing references) //IL_0346: Unknown result type (might be due to invalid IL or missing references) //IL_0350: Unknown result type (might be due to invalid IL or missing references) //IL_0374: Unknown result type (might be due to invalid IL or missing references) //IL_037e: Unknown result type (might be due to invalid IL or missing references) //IL_03a1: Unknown result type (might be due to invalid IL or missing references) //IL_03c4: Unknown result type (might be due to invalid IL or missing references) //IL_03e7: Unknown result type (might be due to invalid IL or missing references) //IL_040a: Unknown result type (might be due to invalid IL or missing references) //IL_0496: Unknown result type (might be due to invalid IL or missing references) //IL_01cc: Unknown result type (might be due to invalid IL or missing references) //IL_01d1: Unknown result type (might be due to invalid IL or missing references) //IL_01d7: Expected O, but got Unknown //IL_04fa: Unknown result type (might be due to invalid IL or missing references) //IL_050e: Unknown result type (might be due to invalid IL or missing references) //IL_0535: Unknown result type (might be due to invalid IL or missing references) //IL_0549: Unknown result type (might be due to invalid IL or missing references) //IL_0570: Unknown result type (might be due to invalid IL or missing references) //IL_0575: Unknown result type (might be due to invalid IL or missing references) //IL_068f: Unknown result type (might be due to invalid IL or missing references) //IL_06a3: Unknown result type (might be due to invalid IL or missing references) //IL_06ca: Unknown result type (might be due to invalid IL or missing references) //IL_06de: Unknown result type (might be due to invalid IL or missing references) //IL_0704: Unknown result type (might be due to invalid IL or missing references) //IL_0718: Unknown result type (might be due to invalid IL or missing references) //IL_073e: 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_0779: Unknown result type (might be due to invalid IL or missing references) //IL_078d: Unknown result type (might be due to invalid IL or missing references) //IL_07b4: Unknown result type (might be due to invalid IL or missing references) //IL_07c8: Unknown result type (might be due to invalid IL or missing references) //IL_07ef: Unknown result type (might be due to invalid IL or missing references) //IL_0803: Unknown result type (might be due to invalid IL or missing references) //IL_0834: Unknown result type (might be due to invalid IL or missing references) //IL_0848: Unknown result type (might be due to invalid IL or missing references) //IL_0873: Unknown result type (might be due to invalid IL or missing references) //IL_0887: Unknown result type (might be due to invalid IL or missing references) //IL_08b2: Unknown result type (might be due to invalid IL or missing references) //IL_08c6: Unknown result type (might be due to invalid IL or missing references) //IL_0942: Unknown result type (might be due to invalid IL or missing references) //IL_0956: Unknown result type (might be due to invalid IL or missing references) //IL_098e: Unknown result type (might be due to invalid IL or missing references) //IL_0a10: Unknown result type (might be due to invalid IL or missing references) //IL_0a1a: Expected O, but got Unknown //IL_0af9: Unknown result type (might be due to invalid IL or missing references) //IL_0afe: Unknown result type (might be due to invalid IL or missing references) //IL_0b24: Unknown result type (might be due to invalid IL or missing references) //IL_0b38: Unknown result type (might be due to invalid IL or missing references) //IL_0c26: Unknown result type (might be due to invalid IL or missing references) //IL_0c2b: Unknown result type (might be due to invalid IL or missing references) //IL_0c58: Unknown result type (might be due to invalid IL or missing references) //IL_0c5d: Unknown result type (might be due to invalid IL or missing references) //IL_0c85: Unknown result type (might be due to invalid IL or missing references) //IL_0c8a: Unknown result type (might be due to invalid IL or missing references) //IL_0cb1: Unknown result type (might be due to invalid IL or missing references) //IL_0cc5: Unknown result type (might be due to invalid IL or missing references) //IL_0ceb: Unknown result type (might be due to invalid IL or missing references) //IL_0cf0: Unknown result type (might be due to invalid IL or missing references) //IL_0d16: Unknown result type (might be due to invalid IL or missing references) //IL_0d1b: Unknown result type (might be due to invalid IL or missing references) //IL_0fba: Unknown result type (might be due to invalid IL or missing references) //IL_0fce: Unknown result type (might be due to invalid IL or missing references) //IL_0ff5: Unknown result type (might be due to invalid IL or missing references) //IL_1009: Unknown result type (might be due to invalid IL or missing references) //IL_1030: Unknown result type (might be due to invalid IL or missing references) //IL_1044: Unknown result type (might be due to invalid IL or missing references) //IL_106b: Unknown result type (might be due to invalid IL or missing references) //IL_107f: Unknown result type (might be due to invalid IL or missing references) //IL_10a5: Unknown result type (might be due to invalid IL or missing references) //IL_10aa: Unknown result type (might be due to invalid IL or missing references) //IL_10d0: Unknown result type (might be due to invalid IL or missing references) //IL_10e4: Unknown result type (might be due to invalid IL or missing references) //IL_110b: Unknown result type (might be due to invalid IL or missing references) //IL_111f: Unknown result type (might be due to invalid IL or missing references) //IL_1146: Unknown result type (might be due to invalid IL or missing references) //IL_115a: Unknown result type (might be due to invalid IL or missing references) //IL_1181: Unknown result type (might be due to invalid IL or missing references) //IL_1195: Unknown result type (might be due to invalid IL or missing references) //IL_11bb: Unknown result type (might be due to invalid IL or missing references) //IL_11c0: Unknown result type (might be due to invalid IL or missing references) //IL_11e6: Unknown result type (might be due to invalid IL or missing references) //IL_11eb: Unknown result type (might be due to invalid IL or missing references) //IL_12d6: Unknown result type (might be due to invalid IL or missing references) //IL_12e5: Unknown result type (might be due to invalid IL or missing references) //IL_1570: Unknown result type (might be due to invalid IL or missing references) //IL_1584: Unknown result type (might be due to invalid IL or missing references) //IL_1589: Unknown result type (might be due to invalid IL or missing references) //IL_14f1: Unknown result type (might be due to invalid IL or missing references) //IL_14f8: Expected O, but got Unknown //IL_15b5: Unknown result type (might be due to invalid IL or missing references) //IL_15c9: Unknown result type (might be due to invalid IL or missing references) //IL_15ce: Unknown result type (might be due to invalid IL or missing references) //IL_15fa: Unknown result type (might be due to invalid IL or missing references) //IL_160e: Unknown result type (might be due to invalid IL or missing references) //IL_1613: Unknown result type (might be due to invalid IL or missing references) //IL_163f: Unknown result type (might be due to invalid IL or missing references) //IL_1653: Unknown result type (might be due to invalid IL or missing references) //IL_1658: Unknown result type (might be due to invalid IL or missing references) //IL_1684: Unknown result type (might be due to invalid IL or missing references) //IL_1698: Unknown result type (might be due to invalid IL or missing references) //IL_169d: Unknown result type (might be due to invalid IL or missing references) //IL_16c9: Unknown result type (might be due to invalid IL or missing references) //IL_16dd: Unknown result type (might be due to invalid IL or missing references) //IL_16e2: Unknown result type (might be due to invalid IL or missing references) //IL_189a: Unknown result type (might be due to invalid IL or missing references) //IL_18ae: Unknown result type (might be due to invalid IL or missing references) //IL_197c: Unknown result type (might be due to invalid IL or missing references) //IL_1990: Unknown result type (might be due to invalid IL or missing references) //IL_18e4: Unknown result type (might be due to invalid IL or missing references) //IL_18f0: Unknown result type (might be due to invalid IL or missing references) //IL_19c1: Unknown result type (might be due to invalid IL or missing references) //IL_19d5: Unknown result type (might be due to invalid IL or missing references) //IL_1a06: Unknown result type (might be due to invalid IL or missing references) //IL_1a1a: Unknown result type (might be due to invalid IL or missing references) //IL_1a4b: Unknown result type (might be due to invalid IL or missing references) //IL_1a5f: Unknown result type (might be due to invalid IL or missing references) //IL_1a9c: Unknown result type (might be due to invalid IL or missing references) //IL_1aa1: Unknown result type (might be due to invalid IL or missing references) //IL_1add: Unknown result type (might be due to invalid IL or missing references) //IL_1af1: Unknown result type (might be due to invalid IL or missing references) //IL_1b22: Unknown result type (might be due to invalid IL or missing references) //IL_1b36: Unknown result type (might be due to invalid IL or missing references) //IL_1b68: Unknown result type (might be due to invalid IL or missing references) //IL_1b7c: Unknown result type (might be due to invalid IL or missing references) //IL_1bb9: Unknown result type (might be due to invalid IL or missing references) //IL_1bcd: Unknown result type (might be due to invalid IL or missing references) //IL_1c0a: Unknown result type (might be due to invalid IL or missing references) //IL_1c1e: Unknown result type (might be due to invalid IL or missing references) //IL_1c5b: Unknown result type (might be due to invalid IL or missing references) //IL_1c6f: Unknown result type (might be due to invalid IL or missing references) //IL_1cac: Unknown result type (might be due to invalid IL or missing references) //IL_1cc0: Unknown result type (might be due to invalid IL or missing references) //IL_1cfd: Unknown result type (might be due to invalid IL or missing references) //IL_1d11: Unknown result type (might be due to invalid IL or missing references) //IL_1d7d: Unknown result type (might be due to invalid IL or missing references) //IL_1d91: Unknown result type (might be due to invalid IL or missing references) //IL_1db9: Unknown result type (might be due to invalid IL or missing references) //IL_1dcd: Unknown result type (might be due to invalid IL or missing references) //IL_1df5: Unknown result type (might be due to invalid IL or missing references) //IL_1e09: Unknown result type (might be due to invalid IL or missing references) //IL_1e57: Unknown result type (might be due to invalid IL or missing references) //IL_1e63: Unknown result type (might be due to invalid IL or missing references) //IL_1ef7: Unknown result type (might be due to invalid IL or missing references) //IL_1f03: Unknown result type (might be due to invalid IL or missing references) //IL_2030: Unknown result type (might be due to invalid IL or missing references) //IL_2044: Unknown result type (might be due to invalid IL or missing references) //IL_1f97: Unknown result type (might be due to invalid IL or missing references) //IL_1fa3: Unknown result type (might be due to invalid IL or missing references) //IL_2076: Unknown result type (might be due to invalid IL or missing references) //IL_208a: Unknown result type (might be due to invalid IL or missing references) //IL_20bc: Unknown result type (might be due to invalid IL or missing references) //IL_20d0: Unknown result type (might be due to invalid IL or missing references) //IL_2102: Unknown result type (might be due to invalid IL or missing references) //IL_2116: Unknown result type (might be due to invalid IL or missing references) //IL_2148: Unknown result type (might be due to invalid IL or missing references) //IL_215c: Unknown result type (might be due to invalid IL or missing references) //IL_2183: Unknown result type (might be due to invalid IL or missing references) //IL_2197: Unknown result type (might be due to invalid IL or missing references) //IL_21be: Unknown result type (might be due to invalid IL or missing references) //IL_21d2: Unknown result type (might be due to invalid IL or missing references) //IL_220f: Unknown result type (might be due to invalid IL or missing references) //IL_2223: Unknown result type (might be due to invalid IL or missing references) //IL_224b: Unknown result type (might be due to invalid IL or missing references) //IL_225f: Unknown result type (might be due to invalid IL or missing references) //IL_22be: Unknown result type (might be due to invalid IL or missing references) //IL_22d2: Unknown result type (might be due to invalid IL or missing references) //IL_230f: Unknown result type (might be due to invalid IL or missing references) //IL_2323: Unknown result type (might be due to invalid IL or missing references) //IL_2355: Unknown result type (might be due to invalid IL or missing references) //IL_2369: Unknown result type (might be due to invalid IL or missing references) //IL_239b: Unknown result type (might be due to invalid IL or missing references) //IL_23af: Unknown result type (might be due to invalid IL or missing references) //IL_23e1: Unknown result type (might be due to invalid IL or missing references) //IL_23f5: Unknown result type (might be due to invalid IL or missing references) //IL_2427: Unknown result type (might be due to invalid IL or missing references) //IL_243b: Unknown result type (might be due to invalid IL or missing references) //IL_2475: Unknown result type (might be due to invalid IL or missing references) //IL_247a: Unknown result type (might be due to invalid IL or missing references) //IL_254c: Unknown result type (might be due to invalid IL or missing references) //IL_2553: Expected O, but got Unknown CHECK_DAMAGE = true; if ((Object)(object)A_Ext_Stuff.gameObject != (Object)null) { GameObjectExtensions.GetOrAddComponent(A_Ext_Stuff.gameObject); } if ((Object)(object)a_Centaur_Brain.gameObject != (Object)null) { GameObjectExtensions.GetOrAddComponent(a_Centaur_Brain.gameObject); } if ((Object)(object)H_8_Canv.gameObject != (Object)null) { GameObjectExtensions.GetOrAddComponent(H_8_Canv.gameObject); } if ((Object)(object)J_9_ForceField.gameObject != (Object)null) { GameObjectExtensions.GetOrAddComponent(J_9_ForceField.gameObject); } if ((Object)(object)A_LevelEnd.gameObject != (Object)null) { GameObjectExtensions.GetOrAddComponent(A_LevelEnd.gameObject); } A_Shield_Idol_1 = Main_Utils.Integrate_Enemy_Tag(Main_Utils.DetectebleEnemies.IdolCase, A_Centaur_Visual.transform, active: false, new Vector3(-121.557f, 456.7253f, 558.2985f), Main_Utils.Quat_0); A_Shield_Idol_1.eid.idol.overrideTarget = A_Brain_Identifier; A_Shield_Idol_1.eid.dontCountAsKills = true; A_Shield_Idol_1.DestroyRootOnDeath(); UnityEvent onDeath = A_Shield_Idol_1.eid.onDeath; object obj = <>c.<>9__101_0; if (obj == null) { UnityAction val = delegate { Check_Shield_Integrity(); }; <>c.<>9__101_0 = val; obj = (object)val; } onDeath.AddListener((UnityAction)obj); A_Shield_Idol_2 = Main_Utils.Integrate_Enemy_Tag(Main_Utils.DetectebleEnemies.IdolCase, A_Centaur_Visual.transform, active: false, new Vector3(100.043f, 470.878f, 666.6068f), Main_Utils.Quat_0); A_Shield_Idol_2.eid.idol.overrideTarget = A_Brain_Identifier; A_Shield_Idol_2.eid.dontCountAsKills = true; A_Shield_Idol_2.DestroyRootOnDeath(); UnityEvent onDeath2 = A_Shield_Idol_2.eid.onDeath; object obj2 = <>c.<>9__101_1; if (obj2 == null) { UnityAction val2 = delegate { Check_Shield_Integrity(); }; <>c.<>9__101_1 = val2; obj2 = (object)val2; } onDeath2.AddListener((UnityAction)obj2); B_2_NewEnemies.Clear(); B_2_Machines.Clear(); C_3_NewEnemies.Clear(); D_4_NewEnemies.Clear(); D_4_Machines.Clear(); E_5_Enemies.Clear(); E_5_Machines.Clear(); E_5_Machines_2.Clear(); F_6_Enemies.Clear(); A_Not_Welcome = GameObjectExtensions.GetOrAddComponent(A_Main.gameObject); GameObjectExtensions.GetOrAddComponent(A_First_Hit.gameObject); C_3_Gut_Activator = C_3_Gut_Trigger.GetComponent(); C_3_Shotg_Area = C_3_Shotg_Trigger.GetComponent(); C_3_Turret_Activator = GameObjectExtensions.GetOrAddComponent(((Component)C_3_Turret._GetChild(0)).gameObject); Transform transform = C_3_Gut_Trigger.transform; transform.localScale *= 6f; Transform transform2 = C_3_Shotg_Trigger.transform; transform2.localScale *= 6f; Transform transform3 = D_4_Turret_Trigger.transform; transform3.localScale *= 1.1f; Transform transform4 = D_4_Man_Trigger.transform; transform4.localScale *= 1.1f; D_4_Turret_Activator = D_4_Turret_Trigger.GetComponent(); D_4_Man_Activator = D_4_Man_Trigger.GetComponent(); E_5_ActivateArena = E_5_Trigger.GetComponent(); Transform transform5 = E_5_Trigger.transform; transform5.localScale *= 2.5f; F_6_Activator = F_6_Trigger.GetComponent(); Transform transform6 = F_6_Trigger.transform; transform6.localScale *= 2f; H_8_Trigger_1.transform.localPosition = new Vector3(0f, 10f, -35f); H_8_Trigger_1.transform.localScale = new Vector3(99f, 90f, 99f); H_8_Trigger_2.transform.localPosition = new Vector3(24.77f, -17.18f, 42.88f); H_8_Trigger_2.transform.localScale = new Vector3(105f, 45f, 105f); H_8_NextWave = H_8_Wave_Idols.GetComponent(); H_8_HurtZone = H_8_Flesh.GetComponent(); K_10_Next_Activators = K_10_Wave.gameObject.GetComponents(); K_10_Arenas = K_10_Trigger.gameObject.GetComponents(); K_10_Countdown = K_10_Activator_Countdown.GetComponent(); K_10_Enemies_1.Clear(); K_10_Enemies_2.Clear(); B_2_Activator.transform.localScale = new Vector3(1600f, 1000f, 34f); B_2_ObjectActivator = B_2_Activator.GetComponent(); Main_Utils.Enemy_InStack(B_2_Wave.transform, delegate(EnemyIdentifier enemy) { //IL_000a: Unknown result type (might be due to invalid IL or missing references) //IL_0010: Unknown result type (might be due to invalid IL or missing references) Main_Utils.Base_ReplaceEnemy(Main_Utils.DetectebleEnemies.SwordsMachineNonboss, ((Component)enemy).transform); }); Main_Utils.Integrate_Enemy(Main_Utils.DetectebleEnemies.CentaurTower, B_2_Wave.transform, active: false, new Vector3(91.35566f, 214.271f, 591.3382f), Quaternion.Euler(0f, 256f, 0f)); Main_Utils.Integrate_Enemy(Main_Utils.DetectebleEnemies.CentaurTower, B_2_Wave.transform, active: false, new Vector3(-137.1435f, 153.0994f, 535.9868f), Quaternion.Euler(0f, 164f, 0f)); Main_Utils.Integrate_Enemy(Main_Utils.DetectebleEnemies.Gutterman, B_2_Wave.transform, active: false, new Vector3(-102.9251f, 367.6288f, 779.8018f), Main_Utils.Quat_180); Main_Utils.Enemy_InStack(B_2_Wave.transform, delegate(EnemyIdentifier enemy) { //IL_0001: Unknown result type (might be due to invalid IL or missing references) //IL_0007: Invalid comparison between Unknown and I4 if ((int)enemy.enemyType != 6) { B_2_NewEnemies.Add(((Component)enemy).gameObject); } }); Main_Utils.Enemy_InStack(B_2_Wave.transform, delegate(EnemyIdentifier enemy) { //IL_0001: Unknown result type (might be due to invalid IL or missing references) //IL_0007: Invalid comparison between Unknown and I4 if ((int)enemy.enemyType == 7) { Enemy component30 = ((Component)enemy).GetComponent(); if ((Object)(object)component30 != (Object)null) { B_2_Machines.Add(component30); } } }); Main_Utils.Enemy_InStack(B_2_Wave.transform, delegate(EnemyIdentifier enemy) { //IL_0001: Unknown result type (might be due to invalid IL or missing references) //IL_0008: Invalid comparison between Unknown and I4 //IL_0026: Unknown result type (might be due to invalid IL or missing references) //IL_002c: Invalid comparison between Unknown and I4 if ((int)enemy.enemyType == 35) { enemy.Sandify(false); enemy.healthBuffModifier *= 0.25f; } else if ((int)enemy.enemyType == 7) { enemy.radianceTier += 2f; } enemy.radianceTier += 0.25f; enemy.BuffAll(); }, Hard_Mode_Only: true); Main_Utils.Make_List_MachineSymbiote(B_2_Machines.ToArray()); if ((Object)(object)B_2_ObjectActivator != (Object)null) { B_2_ObjectActivator.events.toActivateObjects = B_2_NewEnemies.ToArray(); } EnemyIdentifier component = C_3_Turret.GetComponent(); if (!Fento_Difficulty_Options.Issue_Disable_Most_Buffs) { component.Sandify(false); component.radianceTier += 0.25f; component.BuffAll(); } Main_Utils.Integrate_Enemy(Main_Utils.DetectebleEnemies.CentaurMortar, C_3_Wave.transform, active: false, new Vector3(-121.7433f, 460.0538f, 707.386f), Quaternion.Euler(0f, 357.501f, 0f)); Main_Utils.Integrate_Enemy(Main_Utils.DetectebleEnemies.CentaurMortar, C_3_Wave.transform, active: false, new Vector3(-124.6651f, 465.9258f, 664.2505f), Quaternion.Euler(0f, 1.614488f, 0f)); Main_Utils.Integrate_Enemy(Main_Utils.DetectebleEnemies.Schism, C_3_Wave.transform, active: false, new Vector3(-139.8728f, 481.3769f, 558.0079f), Quaternion.Euler(0f, 347.751f, 0f)); Main_Utils.Integrate_Enemy(Main_Utils.DetectebleEnemies.Schism, C_3_Wave.transform, active: false, new Vector3(-102.999f, 481.373f, 538.3731f), Quaternion.Euler(0f, 346.001f, 0f)); Main_Utils.Integrate_Enemy(Main_Utils.DetectebleEnemies.CentaurMortar, C_3_Wave.transform, active: false, new Vector3(-120.6917f, 481.3318f, 590.7173f), Quaternion.Euler(0f, 340.001f, 0f)); EnemyIdentifier val3 = Main_Utils.Integrate_Enemy(Main_Utils.DetectebleEnemies.HideousMass, C_3_Wave.transform, active: false, new Vector3(-94.45773f, 460.4241f, 569.1885f), Quaternion.Euler(0f, 328.501f, 0f)); ((Component)Main_Utils.Integrate_Enemy(Main_Utils.DetectebleEnemies.Idol, C_3_Wave.transform, active: false, new Vector3(-118.6874f, 462.2218f, 569.5449f), Quaternion.Euler(0f, 65.20476f, 0f))).GetComponent().overrideTarget = val3; ((Component)Main_Utils.Integrate_Enemy(Main_Utils.DetectebleEnemies.Idol, C_3_Wave.transform, active: false, new Vector3(-115.1779f, 461.5833f, 574.0167f), Quaternion.Euler(0f, 54.11519f, 0f))).GetComponent().overrideTarget = Main_Utils.Integrate_Enemy(Main_Utils.DetectebleEnemies.CentaurRocketLauncher, C_3_Wave.transform, active: false, new Vector3(-156f, 444.2837f, 587.3896f), Quaternion.Euler(0f, 202.751f, 0f)); ((Component)Main_Utils.Integrate_Enemy(Main_Utils.DetectebleEnemies.Idol, C_3_Wave.transform, active: false, new Vector3(-115.3877f, 462.8546f, 566.7189f), Quaternion.Euler(0f, 158.5759f, 0f))).GetComponent().overrideTarget = component; if ((Object)(object)val3 != (Object)null) { val3.Add_ActivateOnDeath(((Component)A_Shield_Idol_1).gameObject.GetCaseOpener()); } else { Object.Destroy((Object)(object)((Component)A_Shield_Idol_1).gameObject); } if ((Object)(object)Fento_Assets.Guttertank.obj != (Object)null) { GameObject val4 = Object.Instantiate(Fento_Assets.Guttertank.gameObject, new Vector3(-127.7599f, 409.8426f, 639.7181f), Quaternion.Euler(0f, 270f, 0f)); val4.transform.SetParent(C_3_Wave.transform); val4.transform.position = new Vector3(-127.7599f, 409.8426f, 639.7181f); val4.SetActive(false); C_3_NewEnemies.Add(val4); } Main_Utils.Enemy_InStack(C_3_Wave.transform, delegate(EnemyIdentifier enemy) { //IL_0001: Unknown result type (might be due to invalid IL or missing references) //IL_0008: Invalid comparison between Unknown and I4 if ((int)enemy.enemyType != 15) { C_3_NewEnemies.Add(((Component)enemy).gameObject); } }); Main_Utils.Enemy_InStack(C_3_Wave.transform, delegate(EnemyIdentifier enemy) { //IL_0013: Unknown result type (might be due to invalid IL or missing references) //IL_001a: Invalid comparison between Unknown and I4 //IL_001d: Unknown result type (might be due to invalid IL or missing references) //IL_0024: Invalid comparison between Unknown and I4 //IL_0075: Unknown result type (might be due to invalid IL or missing references) //IL_007c: Invalid comparison between Unknown and I4 //IL_0098: Unknown result type (might be due to invalid IL or missing references) //IL_009f: Invalid comparison between Unknown and I4 //IL_00bd: Unknown result type (might be due to invalid IL or missing references) //IL_00c3: Invalid comparison between Unknown and I4 enemy.radianceTier += 0.25f; if ((int)enemy.enemyType == 15 || (int)enemy.enemyType == 14) { enemy.radianceTier += 2f; enemy.healthBuffModifier += 1f; enemy.damageBuffModifier += 0.5f; enemy.speedBuffModifier -= 0.5f; enemy.BuffAll(); } if ((int)enemy.enemyType == 35) { enemy.Sandify(false); enemy.healthBuffModifier *= 0.35f; } if ((int)enemy.enemyType == 21) { enemy.BuffAll(); GameObjectExtensions.GetOrAddComponent(((Component)enemy).gameObject).TierToAdd = 0.75f; } if ((int)enemy.enemyType == 2) { enemy.healthBuffModifier += 1f; } else { enemy.BuffAll(); } }, Hard_Mode_Only: true); C_3_Turret_Activator.events = new UltrakillEvent(); C_3_Turret_Activator.events.toActivateObjects = C_3_NewEnemies.ToArray(); C_3_Turret_Activator.oneTime = true; C_3_NewEnemies.Add(((Component)((Component)component).transform.parent.parent).gameObject); C_3_Gut_Activator.events.toActivateObjects = C_3_Gut_Activator.events.toActivateObjects.Concat(C_3_NewEnemies).ToArray(); C_3_Shotg_Area.enemies = C_3_Shotg_Area.enemies.Concat(C_3_NewEnemies).ToArray(); EnemyIdentifier component2 = D_4_Turret.GetComponent(); if (!Fento_Difficulty_Options.Issue_Disable_Most_Buffs) { component2.BuffAll(); } EnemyIdentifier component3 = D_4_Man.GetComponent(); if (!Fento_Difficulty_Options.Issue_Disable_Most_Buffs) { component3.BuffAll(); } Main_Utils.Integrate_Enemy(Main_Utils.DetectebleEnemies.Sisyphus, D_4_Wave.transform, active: false, new Vector3(-66.3998f, 481.5919f, 534.299f), Main_Utils.Quat_90); Main_Utils.Integrate_Enemy(Main_Utils.DetectebleEnemies.Sisyphus, D_4_Wave.transform, active: false, new Vector3(53.2629f, 481.6043f, 533.9355f), Quaternion.Euler(0f, 270f, 0f)); Main_Utils.Enemy_InStack(D_4_Wave.transform, delegate(EnemyIdentifier enemy) { //IL_0001: Unknown result type (might be due to invalid IL or missing references) //IL_0008: Invalid comparison between Unknown and I4 if ((int)enemy.enemyType == 19) { Enemy component29 = ((Component)enemy).GetComponent(); if ((Object)(object)component29 != (Object)null) { D_4_Machines.Add(component29); } } D_4_NewEnemies.Add(((Component)enemy).gameObject); }); Main_Utils.Enemy_InStack(D_4_Wave.transform, delegate(EnemyIdentifier enemy) { //IL_0001: Unknown result type (might be due to invalid IL or missing references) //IL_0008: Invalid comparison between Unknown and I4 if ((int)enemy.enemyType == 19) { EnemyIdentifier obj35 = enemy.Make_IdolMerged(enableIdol: false, keepNear: false, activateWith: true); obj35.dontCountAsKills = true; obj35.Sandify(false); } enemy.radianceTier += 0.5f; enemy.BuffAll(); }, Hard_Mode_Only: true); Main_Utils.Make_List_MachineSymbiote(D_4_Machines.ToArray()); D_4_Turret_Activator.events.toActivateObjects = D_4_Turret_Activator.events.toActivateObjects.Concat(D_4_NewEnemies).ToArray(); D_4_Man_Activator.events.toActivateObjects = D_4_Man_Activator.events.toActivateObjects.Concat(D_4_NewEnemies).ToArray(); Idol component4 = ((Component)Main_Utils.Integrate_Enemy(Main_Utils.DetectebleEnemies.Idol, E_5_Wave.transform, active: false, new Vector3(148.6415f, 468.5857f, 557.4069f), Main_Utils.Quat_180)).GetComponent(); EnemyIdentifier val5 = Main_Utils.Integrate_Enemy(Main_Utils.DetectebleEnemies.MaliciousFace, E_5_Wave.transform, active: false, new Vector3(120.1125f, 469.5284f, 557.5018f), Main_Utils.Quat_270); Main_Utils.Integrate_Enemy(Main_Utils.DetectebleEnemies.SwordsMachineNonboss, E_5_Wave.transform, active: false, new Vector3(107.1376f, 469.6024f, 582.4221f), Main_Utils.Quat_180); Main_Utils.Integrate_Enemy(Main_Utils.DetectebleEnemies.SwordsMachineNonboss, E_5_Wave.transform, active: false, new Vector3(104.241f, 470.4443f, 534.2439f), Quaternion.Euler(0f, 0f, 0f)); Main_Utils.Integrate_Enemy(Main_Utils.DetectebleEnemies.Cerberus, E_5_Wave.transform, active: false, new Vector3(85.0661f, 470.4963f, 642.4116f), Main_Utils.Quat_180); Main_Utils.Integrate_Enemy(Main_Utils.DetectebleEnemies.Cerberus, E_5_Wave.transform, active: false, new Vector3(113.4092f, 470.4503f, 643.1721f), Main_Utils.Quat_180); if ((Object)(object)component4 != (Object)null && (Object)(object)val5 != (Object)null) { component4.overrideTarget = val5; } if (!Fento_Difficulty_Options.Issue_Disable_Most_Buffs) { if ((Object)(object)val5 != (Object)null) { val5.radianceTier += 1.5f; val5.healthBuffModifier += 7f; val5.Sandify(false); val5.BuffAll(); } EnemyIdentifier component5 = E_5_Tank_1.GetComponent(); if (Object.op_Implicit((Object)(object)component5)) { component5.radianceTier += 1.6f; component5.BuffAll(); Enemy component6 = ((Component)component5).GetComponent(); if ((Object)(object)component6 != (Object)null) { E_5_Machines_2.Add(component6); } } EnemyIdentifier component7 = E_5_Tank_2.GetComponent(); if (Object.op_Implicit((Object)(object)component7)) { component7.radianceTier += 1.6f; component7.BuffAll(); Enemy component8 = ((Component)component7).GetComponent(); if ((Object)(object)component8 != (Object)null) { E_5_Machines_2.Add(component8); } } } Main_Utils.Enemy_InStack(E_5_Wave.transform, delegate(EnemyIdentifier enemy) { //IL_0001: Unknown result type (might be due to invalid IL or missing references) //IL_0007: Invalid comparison between Unknown and I4 //IL_0027: Unknown result type (might be due to invalid IL or missing references) //IL_0035: Unknown result type (might be due to invalid IL or missing references) //IL_003f: Unknown result type (might be due to invalid IL or missing references) if ((int)enemy.enemyType == 7) { Enemy component27 = ((Component)enemy).GetComponent(); if ((Object)(object)component27 != (Object)null) { E_5_Machines.Add(component27); } } else if ((int)enemy.enemyType == 0) { Transform transform8 = ((Component)enemy).transform; transform8.localScale *= 1.1f; NavMeshAgent component28 = ((Component)enemy).GetComponent(); if ((Object)(object)component28 != (Object)null) { component28.acceleration = 15f; component28.speed = 15f; } } E_5_Enemies.Add(enemy); }); Main_Utils.Enemy_InStack(E_5_Wave.transform, delegate(EnemyIdentifier enemy) { //IL_0001: Unknown result type (might be due to invalid IL or missing references) //IL_0008: Invalid comparison between Unknown and I4 if ((int)enemy.enemyType == 21) { GameObjectExtensions.GetOrAddComponent(((Component)enemy).gameObject); } enemy.healthBuffModifier += 1.1f; enemy.radianceTier += 2.25f; enemy.BuffAll(); enemy.Sandify(false); }, Hard_Mode_Only: true); Main_Utils.Make_List_MachineSymbiote(E_5_Machines.ToArray()); Main_Utils.Make_List_MachineSymbiote(E_5_Machines_2.ToArray()); E_5_ActivateArena.enemies = E_5_ActivateArena.enemies.Concat((IEnumerable)(object)new GameObject[1] { ((Component)((Component)val5).transform.parent).gameObject }).Concat(E_5_Enemies.Select((EnemyIdentifier e) => ((Component)e).gameObject)).ToArray(); ((Component)E_5_Machines[0]).GetComponent().activateOnDeath = (GameObject[])(object)new GameObject[1] { E_5_ActivateArena.enemies[0] }; ((Component)E_5_Machines[1]).GetComponent().activateOnDeath = (GameObject[])(object)new GameObject[1] { E_5_ActivateArena.enemies[1] }; List list = E_5_ActivateArena.enemies.ToList(); list.RemoveAt(1); list.RemoveAt(0); list = list.RemoveNulls().ToList(); E_5_ActivateArena.enemies = list.ToArray(); Main_Utils.Integrate_Enemy(Main_Utils.DetectebleEnemies.CentaurTower, F_6_Wave.transform, active: false, new Vector3(88.6314f, 493.8691f, 743.4185f), Quaternion.Euler(0f, 0f, 0f)); Main_Utils.Integrate_Enemy(Main_Utils.DetectebleEnemies.Streetcleaner, F_6_Wave.transform, active: false, new Vector3(99.25551f, 470.5059f, 692.1594f), Quaternion.Euler(0f, 0f, 0f)); Main_Utils.Integrate_Enemy(Main_Utils.DetectebleEnemies.Streetcleaner, F_6_Wave.transform, active: false, new Vector3(112.9814f, 470.5019f, 692.6273f), Quaternion.Euler(0f, 0f, 0f)); Main_Utils.Integrate_Enemy(Main_Utils.DetectebleEnemies.Streetcleaner, F_6_Wave.transform, active: false, new Vector3(91f, 470.5717f, 692.5277f), Quaternion.Euler(0f, 0f, 0f)); Main_Utils.Integrate_Enemy(Main_Utils.DetectebleEnemies.Stalker, F_6_Wave.transform, active: false, new Vector3(83.51691f, 477.942f, 670.3685f), Main_Utils.Quat_90); Main_Utils.Integrate_Enemy(Main_Utils.DetectebleEnemies.Stalker, F_6_Wave.transform, active: false, new Vector3(113.056f, 485.792f, 668.3214f), Quaternion.Euler(0f, 270f, 0f)); Main_Utils.Integrate_Enemy(Main_Utils.DetectebleEnemies.Mannequin, F_6_Wave.transform, active: false, new Vector3(92.94969f, 470.9587f, 651.9441f), Quaternion.Euler(0f, 0f, 0f)); Main_Utils.Integrate_Enemy(Main_Utils.DetectebleEnemies.Mannequin, F_6_Wave.transform, active: false, new Vector3(83.44623f, 485.8073f, 650.7153f), Quaternion.Euler(0f, 0f, 0f)); Main_Utils.Integrate_Enemy(Main_Utils.DetectebleEnemies.Mannequin, F_6_Wave.transform, active: false, new Vector3(114.7885f, 485.792f, 651.7701f), Quaternion.Euler(0f, 0f, 0f)); Main_Utils.Integrate_Enemy(Main_Utils.DetectebleEnemies.Cerberus, F_6_Wave.transform, active: false, new Vector3(94.6098f, 470.4661f, 642.753f), Main_Utils.Quat_180); Main_Utils.Integrate_Enemy(Main_Utils.DetectebleEnemies.Cerberus, F_6_Wave.transform, active: false, new Vector3(105.3879f, 470.4503f, 643.056f), Main_Utils.Quat_180); EnemyIdentifier component9 = F_6_Face.GetComponent(); EnemyIdentifier component10 = F_6_Man1.GetComponent(); EnemyIdentifier component11 = F_6_Man2.GetComponent(); if ((Object)(object)component9 != (Object)null) { component9.Add_ActivateOnDeath(((Component)A_Shield_Idol_2).gameObject.GetCaseOpener()); } else { Object.Destroy((Object)(object)((Component)A_Shield_Idol_2).gameObject); } if (!Fento_Difficulty_Options.Issue_Disable_Most_Buffs) { if ((Object)(object)component9 != (Object)null) { component9.radianceTier += 1.5f; component9.healthBuffModifier += 7f; component9.BuffAll(); SpiderBody component12 = ((Component)component9).GetComponent(); if ((Object)(object)component12 != (Object)null) { component12.health *= 0.3f; } EnemyIdentifier val6 = Main_Utils.Integrate_Enemy(Main_Utils.DetectebleEnemies.Idol, F_6_Face.transform, active: true, F_6_Face.transform.position, F_6_Face.transform.rotation); ComponentExtensions.GetOrAddComponent((Component)(object)component9).Obj_ToKeep = ((Component)val6).gameObject; Idol component13 = ((Component)val6).GetComponent(); if ((Object)(object)component13 != (Object)null) { component13.overrideTarget = component9; } } if ((Object)(object)component10 != (Object)null) { component10.radianceTier += 2.5f; component10.healthBuffModifier += 1f; component10.damageBuffModifier += 0.5f; component10.speedBuffModifier -= 0.5f; component10.BuffAll(); } if ((Object)(object)component11 != (Object)null) { component11.radianceTier += 2.5f; component11.healthBuffModifier += 1f; component11.damageBuffModifier += 0.5f; component11.speedBuffModifier -= 0.5f; component11.BuffAll(); } } Main_Utils.Enemy_InStack(F_6_Wave.transform, delegate(EnemyIdentifier enemy) { //IL_000d: Unknown result type (might be due to invalid IL or missing references) //IL_001b: Unknown result type (might be due to invalid IL or missing references) //IL_0025: Unknown result type (might be due to invalid IL or missing references) F_6_Enemies.Add(enemy); if ((int)enemy.enemyType == 0) { Transform transform7 = ((Component)enemy).transform; transform7.localScale *= 1.1f; NavMeshAgent component26 = ((Component)enemy).GetComponent(); if ((Object)(object)component26 != (Object)null) { component26.acceleration = 15f; component26.speed = 15f; } } }); Main_Utils.Enemy_InStack(F_6_Wave.transform, delegate(EnemyIdentifier enemy) { //IL_0001: Unknown result type (might be due to invalid IL or missing references) //IL_0008: Invalid comparison between Unknown and I4 //IL_0024: Unknown result type (might be due to invalid IL or missing references) //IL_002b: Invalid comparison between Unknown and I4 //IL_0076: Unknown result type (might be due to invalid IL or missing references) //IL_007c: Invalid comparison between Unknown and I4 //IL_00b5: Unknown result type (might be due to invalid IL or missing references) if ((int)enemy.enemyType == 35) { enemy.Sandify(false); enemy.healthBuffModifier *= 0.25f; } if ((int)enemy.enemyType == 31) { enemy.radianceTier += 2.5f; enemy.healthBuffModifier += 1f; enemy.damageBuffModifier += 0.5f; enemy.speedBuffModifier -= 0.5f; } if ((int)enemy.enemyType == 6) { enemy.healthBuffModifier += 8f; enemy.damageBuffModifier += 0.25f; enemy.radianceTier += 2.5f; } if ((int)enemy.enemyType == 0) { enemy.healthBuffModifier += 0.6f; enemy.radianceTier += 2f; enemy.BuffAll(); } enemy.BuffAll(); }, Hard_Mode_Only: true); F_6_Activator.events.toActivateObjects = F_6_Activator.events.toActivateObjects.Concat(F_6_Enemies.Select((EnemyIdentifier e) => ((Component)e).gameObject)).ToArray(); if (!Fento_Difficulty_Options.Issue_Disable_Most_Buffs) { EnemyIdentifier component14 = G_7_Def_Boss.GetComponent(); if ((Object)(object)component14 != (Object)null) { component14.healthBuffModifier += 2.1f; component14.damageBuffModifier += 1f; component14.radianceTier += 2.45f; component14.BuffAll(); GameObject val7 = new GameObject("Restarter"); val7.SetActive(false); val7.transform.SetParent(((Component)component14).transform); GameObjectExtensions.GetOrAddComponent(val7); component14.activateOnDeath = CollectionExtensions.AddToArray(component14.activateOnDeath, val7); } ContinuousBeam component15 = G_7_Beam.GetComponent(); component15.damage *= 2f; } Transform val8 = null; val8 = G_7_Wave.transform.Find("RocketLauncher"); if (Object.op_Implicit((Object)(object)val8)) { Transform obj3 = val8; obj3.position += new Vector3(0f, 1f, 12f); } val8 = G_7_Wave.transform.Find("RocketLauncher (1)"); if (Object.op_Implicit((Object)(object)val8)) { Transform obj4 = val8; obj4.position += new Vector3(0f, 1f, 12f); } val8 = G_7_Wave.transform.Find("Tower"); if (Object.op_Implicit((Object)(object)val8)) { Transform obj5 = val8; obj5.position -= new Vector3(0f, 2f, 5f); } val8 = G_7_Wave.transform.Find("Tower (1)"); if (Object.op_Implicit((Object)(object)val8)) { Transform obj6 = val8; obj6.position -= new Vector3(0f, 2f, 5f); } val8 = G_7_Wave.transform.Find("Mortar"); if (Object.op_Implicit((Object)(object)val8)) { Transform obj7 = val8; obj7.position += new Vector3(0f, 0f, 1f); } val8 = G_7_Wave.transform.Find("Mortar (1)"); if (Object.op_Implicit((Object)(object)val8)) { Transform obj8 = val8; obj8.position += new Vector3(0f, 0f, 1f); } Main_Utils.Enemy_InStack(G_7_Wave.transform, delegate(EnemyIdentifier enemy) { enemy.healthBuffModifier += 0.15f; enemy.radianceTier += 2.25f; enemy.BuffAll(); }, Hard_Mode_Only: true); if ((Object)(object)H_8_NextWave != (Object)null) { ActivateNextWave h_8_NextWave = H_8_NextWave; h_8_NextWave.enemyCount += 6; } if ((Object)(object)H_8_HurtZone != (Object)null) { H_8_HurtZone.setDamage = 15f; } Main_Utils.Enemy_InStack(H_8_Wave_Idols.transform, delegate(EnemyIdentifier enemy) { //IL_0001: Unknown result type (might be due to invalid IL or missing references) //IL_0008: Invalid comparison between Unknown and I4 //IL_0020: Unknown result type (might be due to invalid IL or missing references) //IL_0025: Unknown result type (might be due to invalid IL or missing references) //IL_002f: Unknown result type (might be due to invalid IL or missing references) //IL_0034: Unknown result type (might be due to invalid IL or missing references) //IL_003f: Unknown result type (might be due to invalid IL or missing references) if ((int)enemy.enemyType == 21) { EnemyIdentifier val21 = Main_Utils.Integrate_Enemy(Main_Utils.DetectebleEnemies.Virtue, H_8_Wave_Idols.transform, active: false, ((Component)enemy).transform.position + Vector3.up * 15f, ((Component)enemy).transform.rotation); GameObjectExtensions.GetOrAddComponent(((Component)val21).gameObject).Obj_ToKeep = ((Component)enemy).gameObject; Drone component24 = ((Component)val21).GetComponent(); if ((Object)(object)component24 != (Object)null) { Enemy enemy4 = component24.Enemy; enemy4.health *= 0.3f; } GameObjectExtensions.GetOrAddComponent(((Component)enemy).gameObject).Object = ((Component)val21).gameObject; Idol component25 = ((Component)enemy).GetComponent(); if ((Object)(object)component25 != (Object)null) { component25.overrideTarget = val21; } } }); if ((Object)(object)A_Brain_Identifier != (Object)null && !Fento_Difficulty_Options.Issue_Disable_Most_Buffs) { GameObjectExtensions.GetOrAddComponent(((Component)A_Brain_Identifier).gameObject); EnemyIdentifier obj9 = A_Brain_Identifier; obj9.healthBuffModifier += 4f; EnemyIdentifier obj10 = A_Brain_Identifier; obj10.damageBuffModifier += 1.1f; A_Brain_Identifier.BuffAll(); Countdown componentInChildren = ((Component)A_Brain_Identifier).GetComponentInChildren(); if (Object.op_Implicit((Object)(object)componentInChildren)) { componentInChildren.ChangeTime(componentInChildren.countdownLength); } } if ((Object)(object)K_10_Countdown != (Object)null) { for (int i = 0; i < K_10_Countdown.countdownLengthPerDifficulty.Length; i++) { K_10_Countdown.countdownLengthPerDifficulty[i] += 30f; } ComponentExtensions.GetOrAddComponent((Component)(object)K_10_Countdown); } Main_Utils.Enemy_InStack(K_10_Wave.transform, delegate(EnemyIdentifier enemy) { enemy.dead = true; Object.Destroy((Object)(object)((Component)enemy).gameObject); }); EnemyIdentifier val9 = Main_Utils.Integrate_Enemy(Main_Utils.DetectebleEnemies.Gutterman, K_10_Wave.transform, active: false, new Vector3(0.3904834f, 468.5761f, 608.4437f), Quaternion.Euler(0f, 0f, 0f)); if (val9 != null) { ComponentExtensions.GetOrAddComponent((Component)(object)val9); } if ((Object)(object)val9 != (Object)null) { EnemyIdentifier val10 = Main_Utils.Integrate_Enemy(Main_Utils.DetectebleEnemies.Idol, ((Component)val9).transform, active: true, ((Component)val9).transform.position, ((Component)val9).transform.rotation); ComponentExtensions.GetOrAddComponent((Component)(object)val10); ComponentExtensions.GetOrAddComponent((Component)(object)val10); ComponentExtensions.GetOrAddComponent((Component)(object)val9).Obj_ToKeep = ((Component)val10).gameObject; Idol component16 = ((Component)val10).GetComponent(); if ((Object)(object)component16 != (Object)null) { component16.overrideTarget = val9; } Machine component17 = ((Component)val9).GetComponent(); if ((Object)(object)component17 != (Object)null) { ((Enemy)component17).health = ((Enemy)component17).health * 0.3f; } } EnemyIdentifier obj11 = Main_Utils.Integrate_Enemy(Main_Utils.DetectebleEnemies.Cerberus, K_10_Wave.transform, active: false, new Vector3(-35.13303f, 458.5503f, 634.4224f), Quaternion.Euler(0f, 45f, 0f)); if (obj11 != null) { ComponentExtensions.GetOrAddComponent((Component)(object)obj11); } EnemyIdentifier obj12 = Main_Utils.Integrate_Enemy(Main_Utils.DetectebleEnemies.Cerberus, K_10_Wave.transform, active: false, new Vector3(-35.31297f, 458.5503f, 664.8483f), Quaternion.Euler(0f, 125f, 0f)); if (obj12 != null) { ComponentExtensions.GetOrAddComponent((Component)(object)obj12); } EnemyIdentifier obj13 = Main_Utils.Integrate_Enemy(Main_Utils.DetectebleEnemies.Cerberus, K_10_Wave.transform, active: false, new Vector3(34.99731f, 458.5503f, 665.2003f), Quaternion.Euler(0f, 235f, 0f)); if (obj13 != null) { ComponentExtensions.GetOrAddComponent((Component)(object)obj13); } EnemyIdentifier obj14 = Main_Utils.Integrate_Enemy(Main_Utils.DetectebleEnemies.Cerberus, K_10_Wave.transform, active: false, new Vector3(35.21437f, 458.5503f, 634.0812f), Quaternion.Euler(0f, 310f, 0f)); if (obj14 != null) { Sand_If_Rage orAddComponent = ComponentExtensions.GetOrAddComponent((Component)(object)obj14); if (orAddComponent != null) { ComponentExtensions.GetOrAddComponent((Component)(object)orAddComponent); } } EnemyIdentifier obj15 = Main_Utils.Integrate_Enemy(Main_Utils.DetectebleEnemies.HideousMass, K_10_Wave.transform, active: false, new Vector3(0.08129479f, 458.5f, 650.9346f), Main_Utils.Quat_180); if (obj15 != null) { Sand_If_Rage orAddComponent2 = ComponentExtensions.GetOrAddComponent((Component)(object)obj15); if (orAddComponent2 != null) { ComponentExtensions.GetOrAddComponent((Component)(object)orAddComponent2); } } EnemyIdentifier obj16 = Main_Utils.Integrate_Enemy(Main_Utils.DetectebleEnemies.Soldier, K_10_Wave.transform, active: false, new Vector3(-48.00854f, 448.527f, 682.715f), Quaternion.Euler(0f, 125f, 0f)); if (obj16 != null) { ComponentExtensions.GetOrAddComponent((Component)(object)obj16); } EnemyIdentifier obj17 = Main_Utils.Integrate_Enemy(Main_Utils.DetectebleEnemies.Soldier, K_10_Wave.transform, active: false, new Vector3(47.76077f, 448.518f, 682.7582f), Quaternion.Euler(0f, 225f, 0f)); if (obj17 != null) { ComponentExtensions.GetOrAddComponent((Component)(object)obj17); } EnemyIdentifier obj18 = Main_Utils.Integrate_Enemy(Main_Utils.DetectebleEnemies.SwordsMachineNonboss, K_10_Wave.transform, active: false, new Vector3(-16.8805f, 438.5419f, 696.7458f), Quaternion.Euler(0f, 135f, 0f)); if (obj18 != null) { Sand_If_Rage orAddComponent3 = ComponentExtensions.GetOrAddComponent((Component)(object)obj18); if (orAddComponent3 != null) { ComponentExtensions.GetOrAddComponent((Component)(object)orAddComponent3); } } EnemyIdentifier obj19 = Main_Utils.Integrate_Enemy(Main_Utils.DetectebleEnemies.SwordsMachineNonboss, K_10_Wave.transform, active: false, new Vector3(17.26716f, 438.5419f, 696.9254f), Quaternion.Euler(0f, 215f, 0f)); if (obj19 != null) { Sand_If_Rage orAddComponent4 = ComponentExtensions.GetOrAddComponent((Component)(object)obj19); if (orAddComponent4 != null) { ComponentExtensions.GetOrAddComponent((Component)(object)orAddComponent4); } } EnemyIdentifier obj20 = Main_Utils.Integrate_Enemy(Main_Utils.DetectebleEnemies.Streetcleaner, K_10_Wave.transform, active: false, new Vector3(16.276f, 438.5419f, 663.2339f), Quaternion.Euler(0f, 0f, 0f)); if (obj20 != null) { Sand_If_Rage orAddComponent5 = ComponentExtensions.GetOrAddComponent((Component)(object)obj20); if (orAddComponent5 != null) { ComponentExtensions.GetOrAddComponent((Component)(object)orAddComponent5); } } EnemyIdentifier obj21 = Main_Utils.Integrate_Enemy(Main_Utils.DetectebleEnemies.Streetcleaner, K_10_Wave.transform, active: false, new Vector3(8.005743f, 438.5419f, 663.2339f), Quaternion.Euler(0f, 0f, 0f)); if (obj21 != null) { Sand_If_Rage orAddComponent6 = ComponentExtensions.GetOrAddComponent((Component)(object)obj21); if (orAddComponent6 != null) { ComponentExtensions.GetOrAddComponent((Component)(object)orAddComponent6); } } EnemyIdentifier obj22 = Main_Utils.Integrate_Enemy(Main_Utils.DetectebleEnemies.Streetcleaner, K_10_Wave.transform, active: false, new Vector3(-16.89562f, 438.5419f, 663.2339f), Quaternion.Euler(0f, 0f, 0f)); if (obj22 != null) { Sand_If_Rage orAddComponent7 = ComponentExtensions.GetOrAddComponent((Component)(object)obj22); if (orAddComponent7 != null) { ComponentExtensions.GetOrAddComponent((Component)(object)orAddComponent7); } } EnemyIdentifier obj23 = Main_Utils.Integrate_Enemy(Main_Utils.DetectebleEnemies.Streetcleaner, K_10_Wave.transform, active: false, new Vector3(-9.374409f, 438.5419f, 663.2339f), Quaternion.Euler(0f, 0f, 0f)); if (obj23 != null) { Sand_If_Rage orAddComponent8 = ComponentExtensions.GetOrAddComponent((Component)(object)obj23); if (orAddComponent8 != null) { ComponentExtensions.GetOrAddComponent((Component)(object)orAddComponent8); } } Main_Utils.Enemy_InStack(K_10_Wave.transform, delegate(EnemyIdentifier enemy) { //IL_0001: Unknown result type (might be due to invalid IL or missing references) //IL_0008: Invalid comparison between Unknown and I4 if ((int)enemy.enemyType != 21 && !enemy.dead) { K_10_Enemies_1.Add(((Component)enemy).gameObject); } }); EnemyIdentifier val11 = Main_Utils.Integrate_Enemy(Main_Utils.DetectebleEnemies.Virtue, K_10_Wave.transform, active: false, new Vector3(-45.20401f, 463.2292f, 690.996f), Quaternion.Euler(0f, 178.0104f, 0f)); EnemyIdentifier val12 = Main_Utils.Integrate_Enemy(Main_Utils.DetectebleEnemies.Virtue, K_10_Wave.transform, active: false, new Vector3(45.30764f, 461.034f, 690.7269f), Quaternion.Euler(0f, 174.5104f, 0f)); EnemyIdentifier val13 = Main_Utils.Integrate_Enemy(Main_Utils.DetectebleEnemies.Mindflayer, K_10_Wave.transform, active: false, new Vector3(0.1066137f, 473.5f, 604.2759f), Quaternion.Euler(0f, 356.7604f, 0f)); if (val11 != null) { ComponentExtensions.GetOrAddComponent((Component)(object)val11); } if (val12 != null) { ComponentExtensions.GetOrAddComponent((Component)(object)val12); } if (val13 != null) { ComponentExtensions.GetOrAddComponent((Component)(object)val13); } if ((Object)(object)val11 != (Object)null) { EnemyIdentifier val14 = Main_Utils.Integrate_Enemy(Main_Utils.DetectebleEnemies.Idol, ((Component)val11).transform, active: true, ((Component)val11).transform.position, ((Component)val11).transform.rotation); ComponentExtensions.GetOrAddComponent((Component)(object)val14); ComponentExtensions.GetOrAddComponent((Component)(object)val14); ComponentExtensions.GetOrAddComponent((Component)(object)val11).Obj_ToKeep = ((Component)val14).gameObject; Idol component18 = ((Component)val14).GetComponent(); if ((Object)(object)component18 != (Object)null) { component18.overrideTarget = val11; } Drone component19 = ((Component)val11).GetComponent(); if ((Object)(object)component19 != (Object)null) { Enemy enemy2 = component19.Enemy; enemy2.health *= 0.3f; } } if ((Object)(object)val12 != (Object)null) { EnemyIdentifier val15 = Main_Utils.Integrate_Enemy(Main_Utils.DetectebleEnemies.Idol, ((Component)val12).transform, active: true, ((Component)val12).transform.position, ((Component)val12).transform.rotation); ComponentExtensions.GetOrAddComponent((Component)(object)val15); ComponentExtensions.GetOrAddComponent((Component)(object)val15); ComponentExtensions.GetOrAddComponent((Component)(object)val12).Obj_ToKeep = ((Component)val15).gameObject; Idol component20 = ((Component)val15).GetComponent(); if ((Object)(object)component20 != (Object)null) { component20.overrideTarget = val12; } Drone component21 = ((Component)val12).GetComponent(); if ((Object)(object)component21 != (Object)null) { Enemy enemy3 = component21.Enemy; enemy3.health *= 0.3f; } } if ((Object)(object)val13 != (Object)null) { EnemyIdentifier val16 = Main_Utils.Integrate_Enemy(Main_Utils.DetectebleEnemies.Idol, ((Component)val13).transform, active: true, ((Component)val13).transform.position, ((Component)val13).transform.rotation); ComponentExtensions.GetOrAddComponent((Component)(object)val16); ComponentExtensions.GetOrAddComponent((Component)(object)val16); ComponentExtensions.GetOrAddComponent((Component)(object)val13).Obj_ToKeep = ((Component)val16).gameObject; Idol component22 = ((Component)val16).GetComponent(); if ((Object)(object)component22 != (Object)null) { component22.overrideTarget = val13; } Machine component23 = ((Component)val13).GetComponent(); if ((Object)(object)component23 != (Object)null) { ((Enemy)component23).health = ((Enemy)component23).health * 0.3f; } } EnemyIdentifier obj24 = Main_Utils.Integrate_Enemy(Main_Utils.DetectebleEnemies.Guttertank, K_10_Wave.transform, active: false, new Vector3(-15.01988f, 438.5419f, 695.5052f), Quaternion.Euler(0f, 125.7604f, 0f)); if (obj24 != null) { ComponentExtensions.GetOrAddComponent((Component)(object)obj24); } EnemyIdentifier obj25 = Main_Utils.Integrate_Enemy(Main_Utils.DetectebleEnemies.Guttertank, K_10_Wave.transform, active: false, new Vector3(14.70754f, 438.5419f, 695.2253f), Quaternion.Euler(0f, 229.5104f, 0f)); if (obj25 != null) { ComponentExtensions.GetOrAddComponent((Component)(object)obj25); } EnemyIdentifier obj26 = Main_Utils.Integrate_Enemy(Main_Utils.DetectebleEnemies.Guttertank, K_10_Wave.transform, active: false, new Vector3(-33.7616f, 458.5503f, 635.3525f), Quaternion.Euler(0f, 41.76041f, 0f)); if (obj26 != null) { ComponentExtensions.GetOrAddComponent((Component)(object)obj26); } EnemyIdentifier obj27 = Main_Utils.Integrate_Enemy(Main_Utils.DetectebleEnemies.Guttertank, K_10_Wave.transform, active: false, new Vector3(34.63931f, 458.5503f, 636.3643f), Quaternion.Euler(0f, 315.0104f, 0f)); if (obj27 != null) { ComponentExtensions.GetOrAddComponent((Component)(object)obj27); } Main_Utils.Integrate_Enemy(Main_Utils.DetectebleEnemies.MaliciousFace, K_10_Wave.transform, active: false, new Vector3(0.07851007f, 468.5f, 665.5799f), Quaternion.Euler(0f, 179.2604f, 0f)); Main_Utils.Integrate_Enemy(Main_Utils.DetectebleEnemies.MaliciousFace, K_10_Wave.transform, active: false, new Vector3(-0.181595f, 448.5f, 695.2228f), Quaternion.Euler(0f, 179.5104f, 0f)); EnemyIdentifier obj28 = Main_Utils.Integrate_Enemy(Main_Utils.DetectebleEnemies.Turret, K_10_Wave.transform, active: false, new Vector3(-17.29237f, 438.5419f, 662.7174f), Quaternion.Euler(0f, 0.0104065f, 0f)); if (obj28 != null) { Sand_If_Rage orAddComponent9 = ComponentExtensions.GetOrAddComponent((Component)(object)obj28); if (orAddComponent9 != null) { ComponentExtensions.GetOrAddComponent((Component)(object)orAddComponent9); } } EnemyIdentifier val17 = Main_Utils.Integrate_Enemy(Main_Utils.DetectebleEnemies.Swordsmachine_Tundra, K_10_Wave.transform, active: false, new Vector3(-7.159848f, 438.5419f, 662.4958f), Quaternion.Euler(0f, 2.260406f, 0f)); EnemyIdentifier val18 = Main_Utils.Integrate_Enemy(Main_Utils.DetectebleEnemies.Swordsmachine_Agony, K_10_Wave.transform, active: false, new Vector3(5.920495f, 438.5419f, 661.925f), Quaternion.Euler(0f, 0.2604065f, 0f)); if (val17 != null) { ComponentExtensions.GetOrAddComponent((Component)(object)val17); } if (val18 != null) { ComponentExtensions.GetOrAddComponent((Component)(object)val18); } Main_Utils.Make_List_MachineSymbiote(val17.machine, val18.machine); EnemyIdentifier obj29 = Main_Utils.Integrate_Enemy(Main_Utils.DetectebleEnemies.Turret, K_10_Wave.transform, active: false, new Vector3(16.07427f, 438.5419f, 662.8537f), Quaternion.Euler(0f, 3.010407f, 0f)); if (obj29 != null) { Sand_If_Rage orAddComponent10 = ComponentExtensions.GetOrAddComponent((Component)(object)obj29); if (orAddComponent10 != null) { ComponentExtensions.GetOrAddComponent((Component)(object)orAddComponent10); } } EnemyIdentifier obj30 = Main_Utils.Integrate_Enemy(Main_Utils.DetectebleEnemies.Turret, K_10_Wave.transform, active: false, new Vector3(-36.685f, 458.5503f, 666.0963f), Quaternion.Euler(0f, 124.7604f, 0f)); if (obj30 != null) { ComponentExtensions.GetOrAddComponent((Component)(object)obj30); } EnemyIdentifier obj31 = Main_Utils.Integrate_Enemy(Main_Utils.DetectebleEnemies.Turret, K_10_Wave.transform, active: false, new Vector3(37.09372f, 458.5503f, 666.5671f), Quaternion.Euler(0f, 228.5104f, 0f)); if (obj31 != null) { ComponentExtensions.GetOrAddComponent((Component)(object)obj31); } EnemyIdentifier obj32 = Main_Utils.Integrate_Enemy(Main_Utils.DetectebleEnemies.Drone, K_10_Wave.transform, active: false, new Vector3(-0.03112547f, 443.604f, 732.7621f), Quaternion.Euler(0f, 182.0104f, 0f)); if (obj32 != null) { ComponentExtensions.GetOrAddComponent((Component)(object)obj32); } EnemyIdentifier obj33 = Main_Utils.Integrate_Enemy(Main_Utils.DetectebleEnemies.Drone, K_10_Wave.transform, active: false, new Vector3(-18.66086f, 479.9288f, 619.2761f), Quaternion.Euler(0f, 48.76041f, 0f)); if (obj33 != null) { ComponentExtensions.GetOrAddComponent((Component)(object)obj33); } EnemyIdentifier obj34 = Main_Utils.Integrate_Enemy(Main_Utils.DetectebleEnemies.Drone, K_10_Wave.transform, active: false, new Vector3(18.9821f, 475.9683f, 608.4525f), Quaternion.Euler(0f, 352.7604f, 0f)); if (obj34 != null) { Sand_If_Rage orAddComponent11 = ComponentExtensions.GetOrAddComponent((Component)(object)obj34); if (orAddComponent11 != null) { ComponentExtensions.GetOrAddComponent((Component)(object)orAddComponent11); } } GameObject val19 = Object.Instantiate(Fento_Assets.Bonus200Health.obj, new Vector3(0f, 471.5f, 604f), Quaternion.identity, K_10_Wave.transform); val19.SetActive(false); Main_Utils.Enemy_InStack(K_10_Wave.transform, delegate(EnemyIdentifier enemy) { //IL_0013: Unknown result type (might be due to invalid IL or missing references) //IL_001a: Invalid comparison between Unknown and I4 if (!K_10_Enemies_1.Contains(((Component)enemy).gameObject) && (int)enemy.enemyType != 21 && !enemy.dead) { K_10_Enemies_2.Add(((Component)enemy).gameObject); } }); K_10_Next_Activators[0].enemyCount = K_10_Enemies_1.Count() + K_10_Enemies_2.Count() + 3; K_10_Arenas[0].enemies = K_10_Enemies_1.ToArray(); K_10_Next_Activators[1].enemyCount = K_10_Enemies_1.Count() + 1; K_10_Enemies_2.Add(val19); K_10_Next_Activators[1].nextEnemies = K_10_Enemies_2.ToArray(); K_10_Enemies_2.Remove(val19); GameObject val20 = new GameObject("Secret Clear"); val20.SetActive(false); GameObjectExtensions.GetOrAddComponent(val20); GameObjectExtensions.GetOrAddComponent(K_10_Wave.gameObject).ToActivate = val20; } public static void Restart_Defence() { ((MonoBehaviour)A_Not_Welcome).StopAllCoroutines(); A_Not_Welcome.OVERHEAT = false; MonoSingleton.Instance.SendHudMessage("SIGNIFICANT DAMAGE DETECTED\n! RESTARTING EXTERNAL DEFENSE SYSTEMS !", "", "", 0, false, false, true); if (Fento_Difficulty_Options.Issue_7_4_Disable_Defence) { return; } ((MonoBehaviour)A_Not_Welcome).StartCoroutine(Main_Utils.Delay_Coroutine(5f, delegate { MonoSingleton.Instance.SendHudMessage("Powering up OBLITERATION BEAM CANNON", "", "", 0, false, false, true); ((MonoBehaviour)A_Not_Welcome).StartCoroutine(Main_Utils.Delay_Coroutine(1f, delegate { ((MonoBehaviour)A_Not_Welcome).StartCoroutine(Obliteration_Cannon()); })); })); ((MonoBehaviour)A_Not_Welcome).StartCoroutine(Main_Utils.Delay_Coroutine(10f, delegate { MonoSingleton.Instance.SendHudMessage("Deploying DRONE SWARM PROTOCOL", "", "", 0, false, false, true); ((MonoBehaviour)A_Not_Welcome).StartCoroutine(Main_Utils.Delay_Coroutine(2f, delegate { ((MonoBehaviour)A_Not_Welcome).StartCoroutine(Drone_Swarm()); })); })); ((MonoBehaviour)A_Not_Welcome).StartCoroutine(Main_Utils.Delay_Coroutine(17f, delegate { MonoSingleton.Instance.SendHudMessage("Arming SUPPORT DROP FORCES", "", "", 0, false, false, true); ((MonoBehaviour)A_Not_Welcome).StartCoroutine(Main_Utils.Delay_Coroutine(5f, delegate { ((MonoBehaviour)A_Not_Welcome).StartCoroutine(Suppor_Forces()); })); })); ((MonoBehaviour)A_Not_Welcome).StartCoroutine(Main_Utils.Delay_Coroutine(27f, delegate { MonoSingleton.Instance.SendHudMessage("Charging NUCLEAR THUNDERBOLT EMITTER", "", "", 0, false, false, true); ((MonoBehaviour)A_Not_Welcome).StartCoroutine(Main_Utils.Delay_Coroutine(2f, delegate { ((MonoBehaviour)A_Not_Welcome).StartCoroutine(Thunderbolt_EMITTER()); })); })); ((MonoBehaviour)A_Not_Welcome).StartCoroutine(Main_Utils.Delay_Coroutine(34f, delegate { MonoSingleton.Instance.SendHudMessage("Locking in a CARPET BOMBING BATTERY target", "", "", 0, false, false, true); ((MonoBehaviour)A_Not_Welcome).StartCoroutine(Main_Utils.Delay_Coroutine(2f, delegate { ((MonoBehaviour)A_Not_Welcome).StartCoroutine(Carpets_Bomber()); })); })); ((MonoBehaviour)A_Not_Welcome).StartCoroutine(Main_Utils.Delay_Coroutine(41f, delegate { MonoSingleton.Instance.SendHudMessage("Calibrating E.M.P. CHARGE SERVICES\n SUCCESSFUL DODGE provides FASTER ARSENAL RECHARGE + BONUS", "", "", 0, false, false, true); ((MonoBehaviour)A_Not_Welcome).StartCoroutine(Main_Utils.Delay_Coroutine(4f, delegate { ((MonoBehaviour)A_Not_Welcome).StartCoroutine(EMP_Services()); })); })); ((MonoBehaviour)A_Not_Welcome).StartCoroutine(Main_Utils.Delay_Coroutine(48f, delegate { ((MonoBehaviour)A_Not_Welcome).StartCoroutine(Start_Restoration()); })); } public static void Start_Defence() { if (!Fento_Difficulty_Options.Issue_7_4_Disable_Defence) { ((MonoBehaviour)A_Not_Welcome).StartCoroutine(Main_Utils.Delay_Coroutine(20f, delegate { MonoSingleton.Instance.SendHudMessage("Powering up OBLITERATION BEAM CANNON", "", "", 0, false, false, true); ((MonoBehaviour)A_Not_Welcome).StartCoroutine(Main_Utils.Delay_Coroutine(1f, delegate { ((MonoBehaviour)A_Not_Welcome).StartCoroutine(Obliteration_Cannon()); })); })); ((MonoBehaviour)A_Not_Welcome).StartCoroutine(Main_Utils.Delay_Coroutine(40f, delegate { MonoSingleton.Instance.SendHudMessage("Deploying DRONE SWARM PROTOCOL", "", "", 0, false, false, true); ((MonoBehaviour)A_Not_Welcome).StartCoroutine(Main_Utils.Delay_Coroutine(2f, delegate { ((MonoBehaviour)A_Not_Welcome).StartCoroutine(Drone_Swarm()); })); })); ((MonoBehaviour)A_Not_Welcome).StartCoroutine(Main_Utils.Delay_Coroutine(80f, delegate { MonoSingleton.Instance.SendHudMessage("Arming SUPPORT DROP FORCES", "", "", 0, false, false, true); ((MonoBehaviour)A_Not_Welcome).StartCoroutine(Main_Utils.Delay_Coroutine(12f, delegate { ((MonoBehaviour)A_Not_Welcome).StartCoroutine(Suppor_Forces()); })); })); ((MonoBehaviour)A_Not_Welcome).StartCoroutine(Main_Utils.Delay_Coroutine(120f, delegate { MonoSingleton.Instance.SendHudMessage("Charging NUCLEAR THUNDERBOLT EMITTER", "", "", 0, false, false, true); ((MonoBehaviour)A_Not_Welcome).StartCoroutine(Main_Utils.Delay_Coroutine(2f, delegate { ((MonoBehaviour)A_Not_Welcome).StartCoroutine(Thunderbolt_EMITTER()); })); })); ((MonoBehaviour)A_Not_Welcome).StartCoroutine(Main_Utils.Delay_Coroutine(160f, delegate { MonoSingleton.Instance.SendHudMessage("Locking in a CARPET BOMBING BATTERY target", "", "", 0, false, false, true); ((MonoBehaviour)A_Not_Welcome).StartCoroutine(Main_Utils.Delay_Coroutine(2f, delegate { ((MonoBehaviour)A_Not_Welcome).StartCoroutine(Carpets_Bomber()); })); })); ((MonoBehaviour)A_Not_Welcome).StartCoroutine(Main_Utils.Delay_Coroutine(185f, delegate { MonoSingleton.Instance.SendHudMessage("Calibrating E.M.P. CHARGE SERVICES\n SUCCESSFUL DODGE provides FASTER ARSENAL RECHARGE + BONUS", "", "", 0, false, false, true); ((MonoBehaviour)A_Not_Welcome).StartCoroutine(Main_Utils.Delay_Coroutine(4f, delegate { ((MonoBehaviour)A_Not_Welcome).StartCoroutine(EMP_Services()); })); })); } if (Fento_Difficulty_Options.Buff_7_4_Disable_OverHeat) { return; } ((MonoBehaviour)A_Not_Welcome).StartCoroutine(Main_Utils.Delay_Coroutine(200f, delegate { MonoSingleton.Instance.SendHudMessage("ARE YOU SATISFIED WITH THE RESULTS?\nPreparing EXTERMINATION ATTEMPT 2", "", "", 0, false, false, true); ((MonoBehaviour)A_Not_Welcome).StartCoroutine(Main_Utils.Delay_Coroutine(16f, delegate { ((MonoBehaviour)A_Not_Welcome).StartCoroutine(Second_Try_Extermination()); })); })); } public static void Start_Self_Defence() { ((MonoBehaviour)A_Not_Welcome).StopAllCoroutines(); A_Not_Welcome.OVERHEAT = false; A_Not_Welcome.Inside = true; StatsManager instance = MonoSingleton.Instance; if (Object.op_Implicit((Object)(object)A_The_Rage_Checker2.gameObject) && A_The_Rage_Checker2.gameObject.activeSelf) { MonoSingleton.Instance.SendHudMessage("INTERNAL SYSTEMS RESTORED\nInitializing ADVANCED+ INTERNAL DEFENSE SYSTEMS", "", "", 0, false, false, true); UltraEnrage_LevelLoaders.Prelude.StartEnrageLevel(); A_Not_Welcome.Rage = true; RestoreHealth(1f); if (!Fento_Difficulty_Options.Issue_7_4_Disable_Defence) { ((MonoBehaviour)A_Not_Welcome).StartCoroutine(Main_Utils.Delay_Coroutine(5f, delegate { MonoSingleton.Instance.SendHudMessage("Powering up LASER GRID+", "", "", 0, false, false, true); Main_Utils.Invoke_WithDelay(0.1f, delegate { ((MonoBehaviour)A_Not_Welcome).StartCoroutine(Lasers_Grid(rage: true)); }); })); ((MonoBehaviour)A_Not_Welcome).StartCoroutine(Main_Utils.Delay_Coroutine(15f, delegate { MonoSingleton.Instance.SendHudMessage("Calibrating E.M.P. CHARGE SERVICES\n SUCCESSFUL DODGE provides FASTER ARSENAL RECHARGE + BONUS+", "", "", 0, false, false, true); ((MonoBehaviour)A_Not_Welcome).StartCoroutine(Main_Utils.Delay_Coroutine(4f, delegate { ((MonoBehaviour)A_Not_Welcome).StartCoroutine(EMP_Services(rage: true)); })); })); ((MonoBehaviour)A_Not_Welcome).StartCoroutine(Main_Utils.Delay_Coroutine(25f, delegate { ((MonoBehaviour)A_Not_Welcome).StartCoroutine(Main_Utils.Delay_Coroutine(1f, delegate { ((MonoBehaviour)A_Not_Welcome).StartCoroutine(Start_Restoration(message: false)); })); })); } if ((Object)(object)instance != (Object)null) { for (int i = 0; i < instance.timeRanks.Length; i++) { instance.timeRanks[i] = (int)((float)instance.timeRanks[i] + 180f); } } } else { MonoSingleton.Instance.SendHudMessage("INTRUDER DETECTED\nInitializing ADVANCED INTERNAL DEFENSE SYSTEMS", "", "", 0, false, false, true); if (!Fento_Difficulty_Options.Issue_7_4_Disable_Defence) { ((MonoBehaviour)A_Not_Welcome).StartCoroutine(Main_Utils.Delay_Coroutine(5f, delegate { MonoSingleton.Instance.SendHudMessage("Powering up LASER GRID", "", "", 0, false, false, true); Main_Utils.Invoke_WithDelay(0.1f, delegate { ((MonoBehaviour)A_Not_Welcome).StartCoroutine(Lasers_Grid()); }); })); ((MonoBehaviour)A_Not_Welcome).StartCoroutine(Main_Utils.Delay_Coroutine(15f, delegate { MonoSingleton.Instance.SendHudMessage("Calibrating E.M.P. CHARGE SERVICES\n SUCCESSFUL DODGE provides FASTER ARSENAL RECHARGE + BONUS", "", "", 0, false, false, true); ((MonoBehaviour)A_Not_Welcome).StartCoroutine(Main_Utils.Delay_Coroutine(4f, delegate { ((MonoBehaviour)A_Not_Welcome).StartCoroutine(EMP_Services()); })); })); } } Idol_Activator.Forse_Activate(); } [IteratorStateMachine(typeof(d__105))] public static IEnumerator Spawn_FirstWave() { //yield-return decompiler failed: Unexpected instruction in Iterator.Dispose() return new d__105(0); } [IteratorStateMachine(typeof(d__106))] public static IEnumerator Second_Try_Extermination() { //yield-return decompiler failed: Unexpected instruction in Iterator.Dispose() return new d__106(0); } [IteratorStateMachine(typeof(d__107))] public static IEnumerator Over_Heat() { //yield-return decompiler failed: Unexpected instruction in Iterator.Dispose() return new d__107(0); } [IteratorStateMachine(typeof(d__108))] public static IEnumerator Start_Restoration(bool message = true) { //yield-return decompiler failed: Unexpected instruction in Iterator.Dispose() return new d__108(0) { message = message }; } public static void RestoreHealth(float mult = 0.15f) { if (Object.op_Implicit((Object)(object)A_Brain_Identifier) && A_Brain_Identifier.GetRealHealth() < 100f) { A_Brain_Identifier.Set_Health(Mathf.Lerp(A_Brain_Identifier.GetRealHealth(), 100f, mult)); } } [IteratorStateMachine(typeof(d__110))] public static IEnumerator Obliteration_Cannon() { //yield-return decompiler failed: Unexpected instruction in Iterator.Dispose() return new d__110(0); } [IteratorStateMachine(typeof(d__111))] public static IEnumerator Drone_Swarm() { //yield-return decompiler failed: Unexpected instruction in Iterator.Dispose() return new d__111(0); } [IteratorStateMachine(typeof(d__112))] public static IEnumerator Suppor_Forces() { //yield-return decompiler failed: Unexpected instruction in Iterator.Dispose() return new d__112(0); } [IteratorStateMachine(typeof(d__113))] public static IEnumerator Thunderbolt_EMITTER() { //yield-return decompiler failed: Unexpected instruction in Iterator.Dispose() return new d__113(0); } [IteratorStateMachine(typeof(d__114))] public static IEnumerator Carpets_Bomber() { //yield-return decompiler failed: Unexpected instruction in Iterator.Dispose() return new d__114(0); } [IteratorStateMachine(typeof(d__115))] public static IEnumerator EMP_Services(bool rage = false) { //yield-return decompiler failed: Unexpected instruction in Iterator.Dispose() return new d__115(0) { rage = rage }; } [IteratorStateMachine(typeof(d__116))] public static IEnumerator Lasers_Grid(bool rage = false) { //yield-return decompiler failed: Unexpected instruction in Iterator.Dispose() return new d__116(0) { rage = rage }; } [IteratorStateMachine(typeof(d__117))] public static IEnumerator Wait_ToSay(string to_say) { //yield-return decompiler failed: Unexpected instruction in Iterator.Dispose() return new d__117(0) { to_say = to_say }; } public static void Spawn_Insignia() { //IL_0047: 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_0067: Unknown result type (might be due to invalid IL or missing references) //IL_0086: Unknown result type (might be due to invalid IL or missing references) if (!((Object)(object)A_Brain_Identifier == (Object)null) && A_Brain_Identifier.target != null && !((Object)(object)Fento_Assets.Insignia.gameObject == (Object)null) && !Fento_Difficulty_Options.Issue_7_4_Disable_Defence) { GameObject val = Object.Instantiate(Fento_Assets.Insignia.gameObject, A_Brain_Identifier.target.position, Quaternion.identity); val.transform.LookAt(A_Brain_Identifier.target.position); val.transform.localScale = new Vector3(30f, 3f, 30f); VirtueInsignia val2 = default(VirtueInsignia); if (val.TryGetComponent(ref val2)) { val2.predictive = false; val2.noTracking = true; val2.otherParent = ((Component)A_Brain_Identifier).transform; val2.charges = 1; val2.explosionLength = 4.5f; val2.windUpSpeedMultiplier = 0.5f; val2.damage = 666; val2.target = A_Brain_Identifier.target; val2.predictiveVersion = null; Light obj = val.AddComponent(); obj.range = 100f; obj.intensity = 100f; } Door component = A_IntroDoor.GetComponent(); if (Object.op_Implicit((Object)(object)component)) { component.LockClose(); } } } public static void Lightning_BoltWindup() { //IL_00bf: Unknown result type (might be due to invalid IL or missing references) //IL_00c4: Unknown result type (might be due to invalid IL or missing references) //IL_0081: Unknown result type (might be due to invalid IL or missing references) //IL_0086: Unknown result type (might be due to invalid IL or missing references) //IL_0090: 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) if ((Object)(object)A_Brain_Identifier == (Object)null || A_Brain_Identifier.target == null || (Object)(object)Fento_Assets.LightningBoltWindupFollow.gameObject == (Object)null || (Object)(object)Fento_Assets.LightningBoltExplosion.gameObject == (Object)null || Fento_Difficulty_Options.Issue_7_4_Disable_Defence) { return; } EnemyIdentifier val = Main_Utils.FindEnemyByType(Main_Utils.DetectebleEnemies.Ferryman); if ((Object)(object)val != (Object)null) { Transform child = ((Component)val).transform.GetChild(4); if ((Object)(object)child != (Object)null) { Object.Instantiate(((Component)child).gameObject, A_Brain_Identifier.target.position + Vector3.up * 55f, Quaternion.identity).SetActive(true); } } GameObject currentWindup = Object.Instantiate(Fento_Assets.LightningBoltWindupFollow.gameObject, A_Brain_Identifier.target.position, Quaternion.identity); currentWindup.transform.SetParent(A_Main.transform, true); Follow[] components = currentWindup.GetComponents(); for (int i = 0; i < components.Length; i++) { components[i].target = A_Brain_Identifier.target.targetTransform; } Follow[] array = components; foreach (Follow val2 in array) { if (val2.speed == 0f) { continue; } int @int = MonoSingleton.Instance.GetInt("difficulty", 0); if (@int >= 3) { val2.speed *= 2.25f; continue; } switch (@int) { case 2: val2.speed *= 2f; break; case 1: val2.speed /= 2f; break; default: val2.speed /= 3f; break; } } Main_Utils.Invoke_WithDelay(4f, delegate { //IL_0027: 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) if ((Object)(object)Fento_Assets.LightningBoltExplosion.gameObject != (Object)null) { LightningStrikeExplosive component = Object.Instantiate(Fento_Assets.LightningBoltExplosion.gameObject, currentWindup.transform.position, Quaternion.identity).GetComponent(); component.safeForPlayer = false; component.damageMultiplier = 2.5f; } Object.Destroy((Object)(object)currentWindup); }); } public static List Generate_Random_Directional_Bombardiro(Vector3 center, float spacing = 15f, int countBefore = 10, int countAfter = 10, float height = 120f) { //IL_0006: Unknown result type (might be due to invalid IL or missing references) //IL_000b: Unknown result type (might be due to invalid IL or missing references) //IL_000e: Unknown result type (might be due to invalid IL or missing references) //IL_0013: Unknown result type (might be due to invalid IL or missing references) //IL_0014: Unknown result type (might be due to invalid IL or missing references) //IL_001f: Unknown result type (might be due to invalid IL or missing references) //IL_0025: Unknown result type (might be due to invalid IL or missing references) //IL_002a: Unknown result type (might be due to invalid IL or missing references) //IL_002e: Unknown result type (might be due to invalid IL or missing references) //IL_0033: Unknown result type (might be due to invalid IL or missing references) //IL_003a: 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_0044: Unknown result type (might be due to invalid IL or missing references) //IL_0049: Unknown result type (might be due to invalid IL or missing references) //IL_0050: Unknown result type (might be due to invalid IL or missing references) //IL_0055: Unknown result type (might be due to invalid IL or missing references) //IL_005a: Unknown result type (might be due to invalid IL or missing references) //IL_005d: Unknown result type (might be due to invalid IL or missing references) List list = new List(); Vector2 insideUnitCircle = Random.insideUnitCircle; Vector2 normalized = ((Vector2)(ref insideUnitCircle)).normalized; Vector3 val = new Vector3(normalized.x, 0f, normalized.y); Vector3 normalized2 = ((Vector3)(ref val)).normalized; for (int i = -countBefore; i <= countAfter; i++) { Vector3 item = normalized2 * spacing * (float)i + Vector3.up * height; list.Add(item); } return list; } public static void Spawn_Grid_Laser() { //IL_0047: 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_00bc: 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_007b: Unknown result type (might be due to invalid IL or missing references) //IL_0085: Unknown result type (might be due to invalid IL or missing references) //IL_00aa: Unknown result type (might be due to invalid IL or missing references) if (!((Object)(object)A_Brain_Identifier == (Object)null) && A_Brain_Identifier.target != null && !((Object)(object)Fento_Assets.Insignia.gameObject == (Object)null) && !Fento_Difficulty_Options.Issue_7_4_Disable_Defence) { GameObject val = Object.Instantiate(Fento_Assets.Insignia.gameObject, A_Brain_Identifier.target.position, Quaternion.identity); if ((Object)(object)Brain_Fight_Tracer._Instance != (Object)null && ((Component)Brain_Fight_Tracer._Instance).gameObject.activeInHierarchy) { Main_Utils.Make_Colored(val.transform, Color.cyan * 0.9f, keep_a: false, 0.5f); val.transform.localScale = new Vector3(0.35f, 1f, 0.35f); } else { Main_Utils.Make_Colored(val.transform, Color.blue, keep_a: false); val.transform.localScale = new Vector3(1.25f, 1f, 1.25f); } GameObjectExtensions.GetOrAddComponent(val); VirtueInsignia val2 = default(VirtueInsignia); if (val.TryGetComponent(ref val2)) { val2.predictive = false; val2.noTracking = true; val2.otherParent = ((Component)A_Brain_Identifier).transform; val2.charges = 1; val2.explosionLength = 10f; val2.windUpSpeedMultiplier = 1f; val2.damage = 35; val2.target = A_Brain_Identifier.target; val2.predictiveVersion = null; } } } public static void Start_Phase_2() { ((MonoBehaviour)A_Not_Welcome).StartCoroutine(Second_Try_Extermination()); } public static void Clean_All_NonBoss_Debuger() { //IL_001c: Unknown result type (might be due to invalid IL or missing references) //IL_0023: Invalid comparison between Unknown and I4 //IL_0026: Unknown result type (might be due to invalid IL or missing references) //IL_002d: Invalid comparison between Unknown and I4 EnemyIdentifier[] array = Object.FindObjectsOfType(); foreach (EnemyIdentifier val in array) { if (!Object.op_Implicit((Object)(object)((Component)val).GetComponent()) && (int)val.enemyType != 35 && (int)val.enemyType != 10) { val.InstaKill(); } } } public static void Check_Shield_Integrity() { Main_Utils.Invoke_WithDelay(1f, delegate { if (!Object.op_Implicit((Object)(object)A_Brain_Identifier) || A_Brain_Identifier.Dead || !A_Brain_Identifier.Blessed) { MonoSingleton.Instance.DisplaySubtitle("External Shield Durability Status: CRITICAL ERROR – FULL DESTRUCTION", (AudioSource)null, false); } if (A_Brain_Identifier.Blessed) { MonoSingleton.Instance.DisplaySubtitle("External Shield Durability Status: SIGNIFICANT DAMAGE RECEIVED", (AudioSource)null, false); } }); } } public class NoAreaActivateWaiter : MonoBehaviour { public float Timer; public GameObject ToActivate; public void FixedUpdate() { Timer += Time.fixedDeltaTime; if (!(Timer > 1f)) { return; } Timer = 0f; if ((Object)(object)((Component)this).gameObject.GetComponent() == (Object)null) { if (Object.op_Implicit((Object)(object)ToActivate)) { ToActivate.SetActive(true); } Object.Destroy((Object)(object)this); } } } public class AlterPathClearedCheck : MonoBehaviour { public Action ActionOnClear; public float Minutes = 3f; public void Start() { OnClear(); ActionOnClear?.Invoke(); } public void OnClear() { EndingResults_Mark_Fento_Progress.AlterPathCleared = true; 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] + 60f * Minutes); } } } } public static Rect LevelRect = new Rect(0f, 0f, 256f, 192f); public static int[] Changed_Levels = new int[2] { 1, 29 }; public static Dictionary FLevel_New_Names = new Dictionary { ["INTO THE FIRE"] = "THE TUTORIAL", ["...LIKE ANTENNAS TO HEAVEN"] = "ONLY WAY IT COULD HAVE ENDED" }; public static Dictionary FLevel_Real_Icons = new Dictionary { [1] = Resource_Loader.GetSprite_FromPath("FentoKill.Content.0-1 small alt.png", LevelRect), [29] = Resource_Loader.GetSprite_FromPath("FentoKill.Content.7-4 small alt.png", LevelRect) }; public static Dictionary FLevel_Status_Icons = new Dictionary { [1] = "https://i.ibb.co.com/yFVfSBP1/0-1-small.png", [29] = "https://i.ibb.co.com/YB2jjD7s/7-4-small.png" }; public static Dictionary FLevel_Loaders = new Dictionary { [1] = Prelude_0_1.SetupFentoLevel, [29] = VIOLENCE_7_4.SetupFentoLevel }; public static Dictionary FLevel_MaxStats = new Dictionary { [1] = (79, Main_Utils.GetTime(7, 0), 50000), [29] = (104, Main_Utils.GetTime(11, 0), 70000) }; public static bool IsActive_FentoLevel() { if (Fento_Assets.LoadFinished && !Fento_Difficulty_Options.Global_Disable_Level_Changes) { return Changed_Levels.Contains(MonoSingleton.Instance.levelNumber); } return false; } public static bool IsActive_FentoLevel(int lvl) { if (Fento_Assets.LoadFinished && !Fento_Difficulty_Options.Global_Disable_Level_Changes) { return Changed_Levels.Contains(lvl); } return false; } } public static class UltraEnrage_LevelLoaders { public static class Prelude { public class HeatBossBar : MonoBehaviour, IEnemyHealthDetails { public string fullName = "overheat"; private float health = 1f; public string FullName => fullName; public float Health { get { return health; } set { health = value; } } public bool Dead => false; public bool Blessed => false; public void ForceGetHealth() { } } public class HeatBar_Rage_IQ : MonoBehaviour { public static HeatBar_Rage_IQ heatBar_Rage_IQ; public static float HeatLeft = 100f; private NewMovement player; private HeatBossBar heatBar; private BossHealthBar bossBar; public void Start() { heatBar_Rage_IQ = this; HeatLeft = 100f; player = MonoSingleton.Instance; heatBar = ((Component)this).gameObject.AddComponent(); heatBar.Health = HeatLeft; bossBar = ((Component)this).gameObject.AddComponent(); bossBar.bossName = "OVERHEAT"; bossBar.secondaryBar = false; bossBar.source = (IEnemyHealthDetails)(object)heatBar; } public void FixedUpdate() { if (player.dead) { HeatLeft = 100f; return; } HeatLeft -= Time.fixedDeltaTime * Mathf.Lerp(10f, 3f, player.boostCharge / 300f); heatBar.Health = HeatLeft; if (HeatLeft < 0.1f) { player.ForceAddAntiHP(2f, true, false, true, false); HeatLeft += 1f; } } public void OnDestroy() { if (Object.op_Implicit((Object)(object)heatBar)) { Object.Destroy((Object)(object)heatBar); } if (Object.op_Implicit((Object)(object)bossBar)) { Object.Destroy((Object)(object)bossBar); } } } public static class BossHealthBarTemplate_Patch { private static HeatBossBar bossBarSource; private static bool onScreen; [HarmonyPatch(typeof(BossHealthBarTemplate), "Initialize")] [HarmonyPostfix] public static void BossHealthBarTemplate__Initialize(BossHealthBarTemplate __instance, SliderLayer[] colorLayers) { //IL_0010: Unknown result type (might be due to invalid IL or missing references) //IL_0016: Expected O, but got Unknown object obj = colorLayers[0]; BossHealthBar val = (BossHealthBar)((obj is BossHealthBar) ? obj : null); if ((Object)(object)val != (Object)null) { if (val.source is HeatBossBar) { bossBarSource = val.source as HeatBossBar; } ComponentExtensions.GetOrAddComponent((Component)(object)__instance).alpha = 0f; onScreen = false; } } [HarmonyPatch(typeof(BossHealthBarTemplate), "UpdateState")] [HarmonyPostfix] public static void BossHealthBarTemplate__UpdateState(BossHealthBarTemplate __instance) { if ((Object)(object)bossBarSource != (Object)null && MonoSingleton.Instance.levelStarted && !onScreen) { ((Component)__instance).GetComponent().alpha = 1f; onScreen = true; } } [HarmonyPatch(typeof(NewMovement), "GetHealth")] [HarmonyPostfix] public static void NewMovement__GetHealth(int health, NewMovement __instance) { if (!__instance.dead && health > 0) { HeatBar_Rage_IQ.HeatLeft = Mathf.Clamp(HeatBar_Rage_IQ.HeatLeft + Mathf.Clamp((float)health * 0.25f, 0f, 25f), 0f, 100f); } } [HarmonyPatch(typeof(NewMovement), "Respawn")] [HarmonyPostfix] public static void NewMovement__Respawn(NewMovement __instance) { HeatBar_Rage_IQ.HeatLeft = 100f; } [HarmonyPatch(typeof(NewMovement), "SuperCharge")] [HarmonyPostfix] public static void NewMovement__SuperCharge(NewMovement __instance) { HeatBar_Rage_IQ.HeatLeft = 125f; } } public static Main_Utils.PathObject CerbWalls = "4 - Cerberus Arena/4 Nonstuff/Walls"; public static void StartEnrageLevel() { if (Object.op_Implicit((Object)(object)MonoSingleton.Instance)) { ComponentExtensions.GetOrAddComponent((Component)(object)MonoSingleton.Instance); } } public static void DisableEnrageLevel() { if (Object.op_Implicit((Object)(object)MonoSingleton.Instance)) { ((Component)MonoSingleton.Instance).gameObject.BetterDestroy(); } } public static void LoadEnrageLevel() { //IL_0060: Unknown result type (might be due to invalid IL or missing references) string levelName = SceneHelper.CurrentScene; if (levelName == "Level 0-5") { Setup_LevelStart_Action(delegate { Main_Utils.Invoke_WithDelay(4f, delegate { //IL_000a: Unknown result type (might be due to invalid IL or missing references) //IL_000f: Unknown result type (might be due to invalid IL or missing references) Vector3 velocity3 = MonoSingleton.Instance.rb.velocity; if (((Vector3)(ref velocity3)).magnitude < 1f) { Main_Utils.Invoke_WithDelay(4f, delegate { //IL_000a: Unknown result type (might be due to invalid IL or missing references) //IL_000f: Unknown result type (might be due to invalid IL or missing references) Vector3 velocity4 = MonoSingleton.Instance.rb.velocity; if (((Vector3)(ref velocity4)).magnitude < 1f) { MonoSingleton.Instance.SendHudMessage("THIS PLACE IS SEEMS TO BE DESTROYED ENOUGH", "", "", 0, false, false, true); Main_Utils.Invoke_WithDelay(4f, delegate { //IL_000a: Unknown result type (might be due to invalid IL or missing references) //IL_000f: Unknown result type (might be due to invalid IL or missing references) Vector3 velocity5 = MonoSingleton.Instance.rb.velocity; if (((Vector3)(ref velocity5)).magnitude < 1f) { MonoSingleton.Instance.SendHudMessage("Don't expect to face ENVIRONMENTAL HAZARDS on APEX-CLIMAX", "", "", 0, false, false, true); } }); } }); } }); }); CerbWalls.transform.localScale = new Vector3(1f, 1.6f, 1f); return; } Setup_LevelStart_Action(delegate { Main_Utils.Invoke_WithDelay(2f, delegate { //IL_000a: Unknown result type (might be due to invalid IL or missing references) //IL_000f: Unknown result type (might be due to invalid IL or missing references) Vector3 velocity = MonoSingleton.Instance.rb.velocity; if (((Vector3)(ref velocity)).magnitude < 1f) { Main_Utils.Invoke_WithDelay(4f, delegate { //IL_000a: Unknown result type (might be due to invalid IL or missing references) //IL_000f: Unknown result type (might be due to invalid IL or missing references) Vector3 velocity2 = MonoSingleton.Instance.rb.velocity; if (((Vector3)(ref velocity2)).magnitude < 1f) { if (levelName == "Level 0-1") { MonoSingleton.Instance.SendHudMessage("It all started with the deadly heat...", "", "", 0, false, false, true); } else { MonoSingleton.Instance.SendHudMessage("BUT THE HEAT NEVER STOPPED", "", "", 0, false, false, true); } Main_Utils.Invoke_WithDelay(2f, delegate { StartEnrageLevel(); }); } else { StartEnrageLevel(); } }); } else { StartEnrageLevel(); } }); }); } } public class LevelStartWaiter : MonoBehaviour { public Action Action; public void FixedUpdate() { if (MonoSingleton.Instance.levelStarted) { try { LevelStartAction(); } catch { } Object.Destroy((Object)(object)this); } } public void LevelStartAction() { Action?.Invoke(); } } public static void Setup_LevelStart_Action(Action action) { ComponentExtensions.GetOrAddComponent((Component)(object)MonoSingleton.Instance).Action = action; } } } namespace FentoKill.Utility { public static class Resource_Loader { public static Assembly ModAssembly = Assembly.GetExecutingAssembly(); public static Texture2D LoadEmbeddedTexture(string resourceName) { //IL_002f: Unknown result type (might be due to invalid IL or missing references) //IL_0035: Expected O, but got Unknown using Stream stream = ModAssembly.GetManifestResourceStream(resourceName); if (stream == null) { Fento_Loader._Logger.LogError((object)("Embedded resource '" + resourceName + "' not found")); return null; } Texture2D val = new Texture2D(2, 2); byte[] array = new byte[stream.Length]; stream.Read(array, 0, array.Length); if (ImageConversion.LoadImage(val, array)) { return val; } Fento_Loader._Logger.LogError((object)"Failed to load embedded texture"); return null; } public static Sprite MakeIcon(Texture2D tex, Rect rect = default(Rect)) { //IL_0000: Unknown result type (might be due to invalid IL or missing references) //IL_0003: Unknown result type (might be due to invalid IL or missing references) //IL_0009: Unknown result type (might be due to invalid IL or missing references) //IL_002d: 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) if (rect == default(Rect)) { ((Rect)(ref rect))..ctor(0f, 0f, 256f, 256f); } return Sprite.Create(tex, rect, new Vector2(0.5f, 0.5f)); } public static Sprite GetSprite_FromPath(string resourceName, Rect rect = default(Rect)) { //IL_0006: Unknown result type (might be due to invalid IL or missing references) return MakeIcon(LoadEmbeddedTexture(resourceName), rect); } } public static class Main_Utils { public enum DetectebleEnemies { Flith, Stray, Schism, Soldier, Stalker, Sisyphus, Ferryman, Cerberus, CerberusStatue, CerberusStatueWhite, Mannequin, MannequinPoserWithEnemy, MaliciousFace, HideousMass, Idol, Puppet, SwordsMachineNonboss, Swordsmachine_Agony, Swordsmachine_Tundra, Guttertank, BombEnemySpawnerGuttertank, Gutterman, BombEnemySpawnerGutterman, Streetcleaner, Turret, Mindflayer, CentaurTower, CentaurMortar, CentaurRocketLauncher, CentaurRocketLauncherStand, Drone, DroneFlesh, DroneSkull_Variant, DroneFleshCamera_Variant, DroneGhostFromCorpse, Virtue, Gabriel, Gabriel2ndVariant, Big_Johninator, Flesh_Prison, Flesh_Panopticon, Mandalore, Providence, Power, PowerWithSpawnEffect, MirrorReaper, DeathcatcherCase, DeathcatcherClosed, Deathcatcher, IdolCase } public class AddresableObject { [CompilerGenerated] private sealed class d__6 : IEnumerator, IDisposable, IEnumerator { private int <>1__state; private object <>2__current; public AddresableObject <>4__this; private AsyncOperationHandle 5__2; object IEnumerator.Current { [DebuggerHidden] get { return <>2__current; } } object IEnumerator.Current { [DebuggerHidden] get { return <>2__current; } } [DebuggerHidden] public d__6(int <>1__state) { this.<>1__state = <>1__state; } [DebuggerHidden] void IDisposable.Dispose() { //IL_0006: Unknown result type (might be due to invalid IL or missing references) 5__2 = default(AsyncOperationHandle); <>1__state = -2; } private bool MoveNext() { //IL_0053: Unknown result type (might be due to invalid IL or missing references) //IL_0058: Unknown result type (might be due to invalid IL or missing references) //IL_005f: Unknown result type (might be due to invalid IL or missing references) //IL_0084: Unknown result type (might be due to invalid IL or missing references) //IL_008a: Invalid comparison between Unknown and I4 int num = <>1__state; AddresableObject addresableObject = <>4__this; switch (num) { default: return false; case 0: <>1__state = -1; if (addresableObject.obj != null) { Fento_Loader._Logger.LogWarning((object)("[Long_Load] - " + addresableObject.path + " Already Loaded - !!!")); return false; } 5__2 = Addressables.LoadAssetAsync((object)addresableObject.path); <>2__current = 5__2; <>1__state = 1; return true; case 1: <>1__state = -1; if ((int)5__2.Status == 1) { addresableObject.fast_load = false; addresableObject.obj = 5__2.Result; } else { Fento_Loader._Logger.LogError((object)("[Long_Load] - Failed load asset path: " + addresableObject.path)); } 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 bool fast_load; public string path; public TObject obj; public TObject Object { get { if (obj == null) { Fast_Load(); } return obj; } } public Transform[] childs => GetAllChilds(transform); public Transform transform { get { if ((Object)(object)gameObject != (Object)null) { return gameObject.transform; } return null; } } public GameObject gameObject { get { object obj = Object; return (GameObject)((obj is GameObject) ? obj : null); } } public void Fast_Load() { //IL_0028: Unknown result type (might be due to invalid IL or missing references) //IL_002d: Unknown result type (might be due to invalid IL or missing references) Fento_Loader._Logger.LogInfo((object)("[Fast_Load] - Loading " + path)); fast_load = true; obj = Addressables.LoadAssetAsync((object)path).WaitForCompletion(); } [IteratorStateMachine(typeof(AddresableObject<>.d__6))] public IEnumerator Long_Load() { //yield-return decompiler failed: Unexpected instruction in Iterator.Dispose() return new d__6(0) { <>4__this = this }; } public T GetComponent() { if ((Object)(object)gameObject != (Object)null) { return gameObject.GetComponent(); } return default(T); } public Transform GetChild(int id) { if ((Object)(object)transform != (Object)null) { return transform.GetChild(id); } return null; } public AddresableObject(string path) { this.path = path; fast_load = false; } public static implicit operator AddresableObject(string path) { return new AddresableObject(path); } public override string ToString() { return path; } } public struct PathObject { public string path; public GameObject obj; public GameObject Object { get { if ((Object)(object)obj == (Object)null) { obj = FindObjectByPath(path); } _ = (Object)(object)obj == (Object)null; return obj; } } public Transform[] childs => GetAllChilds(transform); public Transform transform { get { if ((Object)(object)Object != (Object)null) { return Object.transform; } return null; } } public GameObject gameObject => Object; public T GetComponent() { if ((Object)(object)Object != (Object)null) { return Object.GetComponent(); } return default(T); } public Transform _GetChild(int id) { if ((Object)(object)transform != (Object)null) { return transform.GetChild(id); } return null; } public PathObject(string path) { this.path = path; obj = null; } public static implicit operator PathObject(string path) { return new PathObject(path); } public override string ToString() { return path; } } public class SimpleScrollingText : MonoBehaviour { public TMP_Text text; public TMP_Text textLevelName; public float secondsBetweenLetters = 0.025f; public int totalCharacters; public bool running = true; public bool finished; public float cooldown; public bool isLevelName; public string stringLevelName; public void Start() { if ((Object)(object)text == (Object)null) { text = ((Component)this).GetComponent(); } Reset(); } public void Reset() { text.ForceMeshUpdate(true, true); totalCharacters = text.textInfo.characterCount; text.maxVisibleCharacters = 0; } public void Update() { if (!((Component)this).gameObject.activeInHierarchy || !running || finished) { return; } cooldown += Time.deltaTime; if (!(cooldown < secondsBetweenLetters)) { cooldown -= secondsBetweenLetters; TMP_Text obj = text; int maxVisibleCharacters = obj.maxVisibleCharacters; obj.maxVisibleCharacters = maxVisibleCharacters + 1; if (isLevelName) { int length = Mathf.Min(2 + GetLastVisibleLetterIndex(), stringLevelName.Length); textLevelName.text = stringLevelName.Substring(0, length); } if (text.maxVisibleCharacters >= totalCharacters) { finished = true; running = false; } } } public int GetLastVisibleLetterIndex() { //IL_0028: Unknown result type (might be due to invalid IL or missing references) //IL_002d: Unknown result type (might be due to invalid IL or missing references) //IL_002e: Unknown result type (might be due to invalid IL or missing references) //IL_0036: Unknown result type (might be due to invalid IL or missing references) int result = -1; for (int num = text.textInfo.characterCount - 1; num >= 0; num--) { TMP_CharacterInfo val = text.textInfo.characterInfo[num]; if (val.isVisible) { result = val.index; break; } } return result; } } public class SimpleScrollingTextActivator : MonoBehaviour { public SimpleScrollingText simpleScrollingText; public void OnEnable() { simpleScrollingText.running = true; } public void OnDisable() { simpleScrollingText.running = false; } } public class DoorAltarHelper : MonoBehaviour { public Door door; public ItemPlaceZone[] itemPlaceZones = Array.Empty(); public bool reversed; public bool playerInArena; public void Update() { if (!playerInArena && !((Object)(object)door == (Object)null)) { ProcessDoor(CheckShouldUnlock()); } } public bool CheckShouldUnlock() { bool flag = true; bool flag2 = true; ItemPlaceZone[] array = itemPlaceZones; for (int i = 0; i < array.Length; i++) { bool acceptedItemPlaced = array[i].acceptedItemPlaced; bool flag3 = (acceptedItemPlaced && !reversed) || (!acceptedItemPlaced && reversed); if (flag2) { flag = flag3; flag2 = false; } else if (flag3 != flag) { flag = reversed; break; } } return flag; } public void ProcessDoor(bool shouldUnlock) { if (shouldUnlock && door.locked) { door.Unlock(); door.Open(false, true); } else if (!shouldUnlock && !door.locked) { door.Lock(); door.Close(false); } } } [CompilerGenerated] private sealed class d__10 : IEnumerator, IDisposable, IEnumerator { private int <>1__state; private object <>2__current; public float time; public Func should; public Action action; object IEnumerator.Current { [DebuggerHidden] get { return <>2__current; } } object IEnumerator.Current { [DebuggerHidden] get { return <>2__current; } } [DebuggerHidden] public d__10(int <>1__state) { this.<>1__state = <>1__state; } [DebuggerHidden] void IDisposable.Dispose() { <>1__state = -2; } private bool MoveNext() { //IL_001e: Unknown result type (might be due to invalid IL or missing references) //IL_0028: Expected O, but got Unknown switch (<>1__state) { default: return false; case 0: <>1__state = -1; <>2__current = (object)new WaitForSeconds(time); <>1__state = 1; return true; case 1: <>1__state = -1; try { if (should != null && should()) { action?.Invoke(); } } catch { Fento_Loader._Logger.LogError((object)"Delay_Coroutine - Error Detected"); } 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(); } } [CompilerGenerated] private sealed class d__9 : IEnumerator, IDisposable, IEnumerator { private int <>1__state; private object <>2__current; public float time; public Action action; object IEnumerator.Current { [DebuggerHidden] get { return <>2__current; } } object IEnumerator.Current { [DebuggerHidden] get { return <>2__current; } } [DebuggerHidden] public d__9(int <>1__state) { this.<>1__state = <>1__state; } [DebuggerHidden] void IDisposable.Dispose() { <>1__state = -2; } private bool MoveNext() { //IL_001e: Unknown result type (might be due to invalid IL or missing references) //IL_0028: Expected O, but got Unknown switch (<>1__state) { default: return false; case 0: <>1__state = -1; <>2__current = (object)new WaitForSeconds(time); <>1__state = 1; return true; case 1: <>1__state = -1; try { action?.Invoke(); } catch { Fento_Loader._Logger.LogError((object)"Delay_Coroutine - Error Detected"); } 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(); } } [CompilerGenerated] private sealed class d__8 : IEnumerator, IDisposable, IEnumerator { private int <>1__state; private object <>2__current; public Action action; object IEnumerator.Current { [DebuggerHidden] get { return <>2__current; } } object IEnumerator.Current { [DebuggerHidden] get { return <>2__current; } } [DebuggerHidden] public d__8(int <>1__state) { this.<>1__state = <>1__state; } [DebuggerHidden] void IDisposable.Dispose() { <>1__state = -2; } private bool MoveNext() { //IL_0018: Unknown result type (might be due to invalid IL or missing references) //IL_0022: Expected O, but got Unknown switch (<>1__state) { default: return false; case 0: <>1__state = -1; <>2__current = (object)new WaitForEndOfFrame(); <>1__state = 1; return true; case 1: <>1__state = -1; try { action?.Invoke(); } catch (Exception) { } 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 readonly Quaternion Quat_0 = Quaternion.Euler(0f, 0f, 0f); public static readonly Quaternion Quat_90 = Quaternion.Euler(0f, 90f, 0f); public static readonly Quaternion Quat_180 = Quaternion.Euler(0f, 180f, 0f); public static readonly Quaternion Quat_270 = Quaternion.Euler(0f, 270f, 0f); public static Dictionary AllEnemiesEids = new Dictionary(); public static Dictionary> AllEnemiesPrefabs = new Dictionary> { [DetectebleEnemies.Flith] = new AddresableObject("Assets/Prefabs/Enemies/Filth.prefab"), [DetectebleEnemies.Stray] = new AddresableObject("Assets/Prefabs/Enemies/Stray.prefab"), [DetectebleEnemies.Schism] = new AddresableObject("Assets/Prefabs/Enemies/Schism.prefab"), [DetectebleEnemies.Soldier] = new AddresableObject("Assets/Prefabs/Enemies/Soldier.prefab"), [DetectebleEnemies.Stalker] = new AddresableObject("Assets/Prefabs/Enemies/Stalker.prefab"), [DetectebleEnemies.Sisyphus] = new AddresableObject("Assets/Prefabs/Enemies/Sisyphus.prefab"), [DetectebleEnemies.Ferryman] = new AddresableObject("Assets/Prefabs/Enemies/Ferryman.prefab"), [DetectebleEnemies.Cerberus] = new AddresableObject("Assets/Prefabs/Enemies/Cerberus.prefab"), [DetectebleEnemies.CerberusStatue] = new AddresableObject("Assets/Prefabs/Enemies/CerberusStatue.prefab"), [DetectebleEnemies.CerberusStatueWhite] = new AddresableObject("Assets/Prefabs/Enemies/CerberusStatueWhite.prefab"), [DetectebleEnemies.Mannequin] = new AddresableObject("Assets/Prefabs/Enemies/Mannequin.prefab"), [DetectebleEnemies.MannequinPoserWithEnemy] = new AddresableObject("Assets/Prefabs/Enemies/MannequinPoserWithEnemy.prefab"), [DetectebleEnemies.MaliciousFace] = new AddresableObject("Assets/Prefabs/Enemies/Malicious Face.prefab"), [DetectebleEnemies.HideousMass] = new AddresableObject("Assets/Prefabs/Enemies/Mass.prefab"), [DetectebleEnemies.Idol] = new AddresableObject("Assets/Prefabs/Enemies/Idol.prefab"), [DetectebleEnemies.Puppet] = new AddresableObject("Assets/Prefabs/Enemies/Puppet.prefab"), [DetectebleEnemies.SwordsMachineNonboss] = new AddresableObject("Assets/Prefabs/Enemies/SwordsMachine NonBoss.prefab"), [DetectebleEnemies.Swordsmachine_Agony] = new AddresableObject("Assets/Prefabs/Enemies/SwordsMachine Agony.prefab"), [DetectebleEnemies.Swordsmachine_Tundra] = new AddresableObject("Assets/Prefabs/Enemies/SwordsMachine Tundra.prefab"), [DetectebleEnemies.Gutterman] = new AddresableObject("Assets/Prefabs/Enemies/Gutterman.prefab"), [DetectebleEnemies.BombEnemySpawnerGutterman] = new AddresableObject("Assets/Prefabs/Enemies/Spawners/BombEnemySpawnerGutterman Variant.prefab"), [DetectebleEnemies.Guttertank] = new AddresableObject("Assets/Prefabs/Enemies/Guttertank.prefab"), [DetectebleEnemies.BombEnemySpawnerGuttertank] = new AddresableObject("Assets/Prefabs/Enemies/Spawners/BombEnemySpawnerGuttertank Variant.prefab"), [DetectebleEnemies.Streetcleaner] = new AddresableObject("Assets/Prefabs/Enemies/Streetcleaner.prefab"), [DetectebleEnemies.Turret] = new AddresableObject("Assets/Prefabs/Enemies/Turret.prefab"), [DetectebleEnemies.Mindflayer] = new AddresableObject("Assets/Prefabs/Enemies/Mindflayer.prefab"), [DetectebleEnemies.CentaurTower] = new AddresableObject("Assets/Prefabs/Enemies/CentaurTower.prefab"), [DetectebleEnemies.CentaurMortar] = new AddresableObject("Assets/Prefabs/Enemies/CentaurMortar.prefab"), [DetectebleEnemies.CentaurRocketLauncher] = new AddresableObject("Assets/Prefabs/Enemies/CentaurRocketLauncher.prefab"), [DetectebleEnemies.CentaurRocketLauncherStand] = new AddresableObject("Assets/Prefabs/Enemies/CentaurRocketLauncherStand.prefab"), [DetectebleEnemies.Drone] = new AddresableObject("Assets/Prefabs/Enemies/Drone.prefab"), [DetectebleEnemies.DroneFlesh] = new AddresableObject("Assets/Prefabs/Enemies/DroneFlesh.prefab"), [DetectebleEnemies.DroneSkull_Variant] = new AddresableObject("Assets/Prefabs/Enemies/DroneSkull Variant.prefab"), [DetectebleEnemies.DroneFleshCamera_Variant] = new AddresableObject("Assets/Prefabs/Enemies/DroneFleshCamera Variant.prefab"), [DetectebleEnemies.DroneGhostFromCorpse] = new AddresableObject("Assets/Prefabs/Enemies/DroneGhostFromCorpse.prefab"), [DetectebleEnemies.Virtue] = new AddresableObject("Assets/Prefabs/Enemies/Virtue.prefab"), [DetectebleEnemies.Gabriel] = new AddresableObject("Assets/Prefabs/Enemies/Gabriel.prefab"), [DetectebleEnemies.Gabriel2ndVariant] = new AddresableObject("Assets/Prefabs/Enemies/Gabriel 2nd.prefab"), [DetectebleEnemies.Big_Johninator] = new AddresableObject("Assets/Prefabs/Enemies/Big Johninator.prefab"), [DetectebleEnemies.Flesh_Prison] = new AddresableObject("Assets/Prefabs/Enemies/Flesh Prison.prefab"), [DetectebleEnemies.Flesh_Panopticon] = new AddresableObject("Assets/Prefabs/Enemies/Flesh Panopticon.prefab"), [DetectebleEnemies.Mandalore] = new AddresableObject("Assets/Prefabs/Enemies/Mandalore.prefab"), [DetectebleEnemies.Providence] = new AddresableObject("Assets/Prefabs/Enemies/Providence.prefab"), [DetectebleEnemies.Power] = new AddresableObject("Assets/Prefabs/Enemies/Power.prefab"), [DetectebleEnemies.PowerWithSpawnEffect] = new AddresableObject("Assets/Prefabs/Enemies/PowerWithSpawnEffect.prefab"), [DetectebleEnemies.MirrorReaper] = new AddresableObject("Assets/Prefabs/Enemies/MirrorReaper.prefab"), [DetectebleEnemies.DeathcatcherCase] = new AddresableObject("Assets/Prefabs/Enemies/DeathcatcherCase.prefab"), [DetectebleEnemies.DeathcatcherClosed] = new AddresableObject("Assets/Prefabs/Enemies/DeathcatcherClosed.prefab"), [DetectebleEnemies.Deathcatcher] = new AddresableObject("Assets/Prefabs/Enemies/Deathcatcher.prefab"), [DetectebleEnemies.IdolCase] = new AddresableObject("Assets/Prefabs/Enemies/DeathcatcherCase.prefab") }; public static BindingFlags allBindingFlags = BindingFlags.IgnoreCase | BindingFlags.DeclaredOnly | BindingFlags.Instance | BindingFlags.Static | BindingFlags.Public | BindingFlags.NonPublic | BindingFlags.FlattenHierarchy | BindingFlags.InvokeMethod | BindingFlags.CreateInstance | BindingFlags.GetField | BindingFlags.SetField | BindingFlags.GetProperty | BindingFlags.SetProperty | BindingFlags.PutDispProperty | BindingFlags.PutRefDispProperty | BindingFlags.ExactBinding | BindingFlags.SuppressChangeType | BindingFlags.OptionalParamBinding | BindingFlags.IgnoreReturn; public static void Activate_WithDelay(float time, GameObject activate, bool state = true) { //IL_0019: 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_002b: Expected O, but got Unknown //IL_0030: Expected O, but got Unknown GameObject val = new GameObject("Wait And Loader"); Object.Destroy((Object)val, time + 1f); ((MonoBehaviour)GameObjectExtensions.GetOrAddComponent(val)).StartCoroutine(Delay_Coroutine(time, delegate { activate.SetActive(state); })); } public static void Invoke_NextFrame(Action action) { //IL_0005: Unknown result type (might be due to invalid IL or missing references) //IL_000a: Unknown result type (might be due to invalid IL or missing references) //IL_0015: Expected O, but got Unknown //IL_001a: Expected O, but got Unknown GameObject val = new GameObject("Wait And LOader"); Object.Destroy((Object)val, 1f); ((MonoBehaviour)GameObjectExtensions.GetOrAddComponent(val)).StartCoroutine(Next_FrameCoroutine(action)); } public static void Invoke_WithDelay(float time, Action action, Func should) { //IL_0005: Unknown result type (might be due to invalid IL or missing references) //IL_000a: Unknown result type (might be due to invalid IL or missing references) //IL_0017: Expected O, but got Unknown //IL_001c: Expected O, but got Unknown GameObject val = new GameObject("Wait And LOader"); Object.Destroy((Object)val, time + 1f); ((MonoBehaviour)GameObjectExtensions.GetOrAddComponent(val)).StartCoroutine(Delay_Coroutine(time, action)); } public static void Invoke_WithDelay(float time, Action action) { //IL_0005: Unknown result type (might be due to invalid IL or missing references) //IL_000a: Unknown result type (might be due to invalid IL or missing references) //IL_0017: Expected O, but got Unknown //IL_001c: Expected O, but got Unknown GameObject val = new GameObject("Wait And LOader"); Object.Destroy((Object)val, time + 1f); ((MonoBehaviour)GameObjectExtensions.GetOrAddComponent(val)).StartCoroutine(Delay_Coroutine(time, action)); } [IteratorStateMachine(typeof(d__8))] public static IEnumerator Next_FrameCoroutine(Action action) { //yield-return decompiler failed: Unexpected instruction in Iterator.Dispose() return new d__8(0) { action = action }; } [IteratorStateMachine(typeof(d__9))] public static IEnumerator Delay_Coroutine(float time, Action action) { //yield-return decompiler failed: Unexpected instruction in Iterator.Dispose() return new d__9(0) { time = time, action = action }; } [IteratorStateMachine(typeof(d__10))] public static IEnumerator Delay_Coroutine(float time, Action action, Func should) { //yield-return decompiler failed: Unexpected instruction in Iterator.Dispose() return new d__10(0) { time = time, action = action, should = should }; } public static GameObject CreateFeedItLikeText(Canvas parentCanvas, string text = "G O O D L U C K") { //IL_0058: Unknown result type (might be due to invalid IL or missing references) //IL_005d: Unknown result type (might be due to invalid IL or missing references) //IL_006f: Unknown result type (might be due to invalid IL or missing references) //IL_0076: Unknown result type (might be due to invalid IL or missing references) //IL_007d: Unknown result type (might be due to invalid IL or missing references) //IL_0088: Unknown result type (might be due to invalid IL or missing references) //IL_009d: Unknown result type (might be due to invalid IL or missing references) //IL_00a8: Unknown result type (might be due to invalid IL or missing references) //IL_00b3: Unknown result type (might be due to invalid IL or missing references) //IL_00bd: 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_00f4: Unknown result type (might be due to invalid IL or missing references) //IL_016f: Unknown result type (might be due to invalid IL or missing references) //IL_019b: Unknown result type (might be due to invalid IL or missing references) //IL_01a3: Expected O, but got Unknown if ((Object)(object)parentCanvas == (Object)null) { parentCanvas = (from c in Object.FindObjectsOfType() where (Object)(object)((Component)c).transform.root == (Object)(object)((Component)c).transform && ((Object)((Component)c).transform).name == "Canvas" select c).FirstOrDefault(); } if ((Object)(object)parentCanvas == (Object)null) { return null; } GameObject val = new GameObject(text, new Type[1] { typeof(RectTransform) }); val.transform.SetParent(((Component)parentCanvas).transform, false); val.SetActive(false); RectTransform component = val.GetComponent(); component.anchorMin = Vector2.zero; component.anchorMax = Vector2.one; component.pivot = new Vector2(0.5f, 0.5f); component.anchoredPosition = Vector2.zero; component.sizeDelta = Vector2.zero; ((Transform)component).localScale = Vector3.one; TextMeshProUGUI obj = val.AddComponent(); ((TMP_Text)obj).font = Fento_Core_Loader.MainFont; ((TMP_Text)obj).text = text; ((Graphic)obj).color = new Color(1f, 0f, 0f, 0.2509804f); ((TMP_Text)obj).fontSize = 128f; ((TMP_Text)obj).fontStyle = (FontStyles)0; ((TMP_Text)obj).fontWeight = (FontWeight)400; ((TMP_Text)obj).alignment = (TextAlignmentOptions)514; ((TMP_Text)obj).horizontalAlignment = (HorizontalAlignmentOptions)2; ((TMP_Text)obj).verticalAlignment = (VerticalAlignmentOptions)512; ((TMP_Text)obj).enableWordWrapping = true; ((TMP_Text)obj).overflowMode = (TextOverflowModes)0; ((TMP_Text)obj).richText = true; ((TMP_Text)obj).parseCtrlCharacters = true; ((TMP_Text)obj).enableKerning = true; ((TMP_Text)obj).extraPadding = false; ((TMP_Text)obj).isOverlay = false; ((Graphic)obj).raycastTarget = false; ScrollingText obj2 = val.AddComponent(); obj2.message = text; obj2.secondsBetweenLetters = 0.5f; obj2.oneTime = false; obj2.fillMissingText = true; obj2.writingCursor = false; val.AddComponent(); return val; } public static void Set_HudMessage(this HudMessage hudMessage, string message, string message2 = "", InputActionReference actionReference = null) { if ((Object)(object)hudMessage == (Object)null) { Fento_Loader._Logger.LogError((object)"Set_HudMessage - hudMessage is null"); return; } hudMessage.message = message; hudMessage.message2 = message2; hudMessage.actionReference = actionReference; } public static void For_InStack(Transform GetFrom, Action action) { Transform[] allChilds = GetAllChilds(GetFrom); foreach (Transform obj in allChilds) { action?.Invoke(obj); } } public static void Enemy_InStack(Transform GetFrom, Action action, bool Hard_Mode_Only = false) { if (Hard_Mode_Only && Fento_Difficulty_Options.Issue_Disable_Most_Buffs) { return; } Transform[] allChilds = GetAllChilds(GetFrom); if (allChilds == null) { return; } Transform[] array = allChilds; for (int i = 0; i < array.Length; i++) { EnemyIdentifier component = ((Component)array[i]).GetComponent(); if ((Object)(object)component != (Object)null) { action?.Invoke(component); } } } public static void Forse_Clear() { //IL_0014: Unknown result type (might be due to invalid IL or missing references) //IL_0019: 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_002e: Unknown result type (might be due to invalid IL or missing references) ActivateArena[] array = Resources.FindObjectsOfTypeAll(); foreach (ActivateArena val in array) { Scene scene = ((Component)val).gameObject.scene; if (((Scene)(ref scene)).IsValid()) { scene = ((Component)val).gameObject.scene; if (((Scene)(ref scene)).isLoaded) { Fento_Loader._Logger.LogInfo((object)("Forse_Clear - " + ((Object)((Component)val).transform).name + " ActivateArena Cleared From Nulls")); val.enemies = val.enemies.RemoveDestroyed().ToArray(); } } } } public static void Clear_AreaFromClones(Transform ToClear) { if (!Object.op_Implicit((Object)(object)ToClear)) { return; } Enemy_InStack(ToClear, delegate(EnemyIdentifier enemy) { if (!Object.op_Implicit((Object)(object)((Component)enemy).GetComponent())) { Object.Destroy((Object)(object)((Component)enemy).gameObject); } }); } public static void Update_ActivateNextWave(ActivateNextWave activateNextWave, Transform GetFrom = null) { if (!Object.op_Implicit((Object)(object)activateNextWave)) { return; } if ((Object)(object)GetFrom == (Object)null) { GetFrom = ((Component)activateNextWave).transform; } List list = new List(); for (int i = 0; i < GetFrom.childCount; i++) { Transform child = GetFrom.GetChild(i); if (Object.op_Implicit((Object)(object)((Component)child).GetComponent())) { list.Add(((Component)child).gameObject); } } activateNextWave.toActivate = list.ToArray(); } public static void Update_ActivateArena(ActivateArena activateArena, Transform GetFrom = null) { if ((Object)(object)GetFrom == (Object)null) { GetFrom = ((Component)activateArena).transform; } List list = new List(); for (int i = 0; i < GetFrom.childCount; i++) { Transform child = GetFrom.GetChild(i); if (Object.op_Implicit((Object)(object)((Component)child).GetComponent()) || Object.op_Implicit((Object)(object)((Component)child).GetComponent())) { list.Add(((Component)child).gameObject); } } activateArena.enemies = list.ToArray(); } public static void Make_List_MachineSymbiote(params Enemy[] machines) { if (machines == null || machines.Length < 2) { Fento_Loader._Logger.LogWarning((object)"Make_List_MachineSymbiote - Need More Machines To Make Symbiotes"); return; } for (int i = 0; i < machines.Length; i++) { Enemy toMake = machines[i]; Enemy withSymbiote = machines[(i + 1) % machines.Length]; Make_MachineSymbiote(toMake, withSymbiote); } } public static void Make_MachineSymbiote(Enemy toMake, Enemy withSymbiote) { if ((Object)(object)toMake == (Object)null) { Fento_Loader._Logger.LogWarning((object)"Make_MachineSymbiote - No toMake"); return; } if ((Object)(object)withSymbiote == (Object)null) { Fento_Loader._Logger.LogWarning((object)"Make_MachineSymbiote - No symbiote"); return; } if (Fento_Difficulty_Options.Mech_Disable_Custom_Symbiotes) { Fento_Loader._Logger.LogInfo((object)$"Make_MachineSymbiote - {toMake} + {withSymbiote} Disabled From - Difficulty_Options.Disable_Custom_Symbiotes"); return; } toMake.symbiote = withSymbiote; Fento_Loader._Logger.LogInfo((object)$"Make_MachineSymbiote - New Symbiot Pair: {toMake} + {withSymbiote}"); } public static UltraEnrage_Enemy Make_UltraEnraged(this EnemyIdentifier eid, bool boost = true, bool ignoreRad = false) { //IL_0065: Unknown result type (might be due to invalid IL or missing references) //IL_006c: Invalid comparison between Unknown and I4 //IL_0899: Unknown result type (might be due to invalid IL or missing references) //IL_08a0: Invalid comparison between Unknown and I4 //IL_09fc: Unknown result type (might be due to invalid IL or missing references) //IL_0a03: Invalid comparison between Unknown and I4 //IL_08f0: Unknown result type (might be due to invalid IL or missing references) //IL_0a71: Unknown result type (might be due to invalid IL or missing references) //IL_0a78: Invalid comparison between Unknown and I4 //IL_0b39: Unknown result type (might be due to invalid IL or missing references) //IL_0b40: Invalid comparison between Unknown and I4 //IL_0a37: Unknown result type (might be due to invalid IL or missing references) //IL_0a3c: Unknown result type (might be due to invalid IL or missing references) //IL_0a5c: Unknown result type (might be due to invalid IL or missing references) //IL_0a61: Unknown result type (might be due to invalid IL or missing references) //IL_0bbd: Unknown result type (might be due to invalid IL or missing references) //IL_0bc3: Invalid comparison between Unknown and I4 //IL_0abf: Unknown result type (might be due to invalid IL or missing references) //IL_0ac4: Unknown result type (might be due to invalid IL or missing references) //IL_0af5: Unknown result type (might be due to invalid IL or missing references) //IL_0afa: Unknown result type (might be due to invalid IL or missing references) //IL_1ccb: Unknown result type (might be due to invalid IL or missing references) //IL_1cd2: Invalid comparison between Unknown and I4 //IL_01bf: Unknown result type (might be due to invalid IL or missing references) //IL_01c4: Unknown result type (might be due to invalid IL or missing references) //IL_0203: Unknown result type (might be due to invalid IL or missing references) //IL_0208: Unknown result type (might be due to invalid IL or missing references) //IL_18e1: Unknown result type (might be due to invalid IL or missing references) //IL_18e8: Invalid comparison between Unknown and I4 //IL_03f3: Unknown result type (might be due to invalid IL or missing references) //IL_03fa: Invalid comparison between Unknown and I4 //IL_035d: Unknown result type (might be due to invalid IL or missing references) //IL_0364: Invalid comparison between Unknown and I4 //IL_0d30: Unknown result type (might be due to invalid IL or missing references) //IL_0d37: Invalid comparison between Unknown and I4 //IL_0c0c: Unknown result type (might be due to invalid IL or missing references) //IL_0c13: Invalid comparison between Unknown and I4 //IL_1cfe: Unknown result type (might be due to invalid IL or missing references) //IL_18f3: Unknown result type (might be due to invalid IL or missing references) //IL_18fa: Invalid comparison between Unknown and I4 //IL_0402: Unknown result type (might be due to invalid IL or missing references) //IL_0409: Invalid comparison between Unknown and I4 //IL_03cd: Unknown result type (might be due to invalid IL or missing references) //IL_03d4: Invalid comparison between Unknown and I4 //IL_0241: Unknown result type (might be due to invalid IL or missing references) //IL_0251: Unknown result type (might be due to invalid IL or missing references) //IL_0256: Unknown result type (might be due to invalid IL or missing references) //IL_025a: Unknown result type (might be due to invalid IL or missing references) //IL_0266: Unknown result type (might be due to invalid IL or missing references) //IL_0272: Unknown result type (might be due to invalid IL or missing references) //IL_0d55: Unknown result type (might be due to invalid IL or missing references) //IL_0d5c: Invalid comparison between Unknown and I4 //IL_0c39: Unknown result type (might be due to invalid IL or missing references) //IL_0c40: Invalid comparison between Unknown and I4 //IL_1870: Unknown result type (might be due to invalid IL or missing references) //IL_1905: Unknown result type (might be due to invalid IL or missing references) //IL_190c: Invalid comparison between Unknown and I4 //IL_042d: Unknown result type (might be due to invalid IL or missing references) //IL_0434: Invalid comparison between Unknown and I4 //IL_037f: Unknown result type (might be due to invalid IL or missing references) //IL_0386: Invalid comparison between Unknown and I4 //IL_0f71: Unknown result type (might be due to invalid IL or missing references) //IL_0f78: Invalid comparison between Unknown and I4 //IL_0c66: Unknown result type (might be due to invalid IL or missing references) //IL_0c6d: Invalid comparison between Unknown and I4 //IL_0461: Unknown result type (might be due to invalid IL or missing references) //IL_0468: Invalid comparison between Unknown and I4 //IL_038e: Unknown result type (might be due to invalid IL or missing references) //IL_0395: Invalid comparison between Unknown and I4 //IL_0fb2: Unknown result type (might be due to invalid IL or missing references) //IL_0fb8: Invalid comparison between Unknown and I4 //IL_1d69: Unknown result type (might be due to invalid IL or missing references) //IL_1d75: Unknown result type (might be due to invalid IL or missing references) //IL_1da7: Unknown result type (might be due to invalid IL or missing references) //IL_1dae: Expected O, but got Unknown //IL_048c: Unknown result type (might be due to invalid IL or missing references) //IL_0492: Invalid comparison between Unknown and I4 //IL_1028: Unknown result type (might be due to invalid IL or missing references) //IL_102e: Invalid comparison between Unknown and I4 //IL_1df7: Unknown result type (might be due to invalid IL or missing references) //IL_1dfc: Unknown result type (might be due to invalid IL or missing references) //IL_1e01: Unknown result type (might be due to invalid IL or missing references) //IL_1e05: Unknown result type (might be due to invalid IL or missing references) //IL_1e0f: Unknown result type (might be due to invalid IL or missing references) //IL_1e14: Unknown result type (might be due to invalid IL or missing references) //IL_1de5: Unknown result type (might be due to invalid IL or missing references) //IL_1960: Unknown result type (might be due to invalid IL or missing references) //IL_04a7: Unknown result type (might be due to invalid IL or missing references) //IL_04ad: Invalid comparison between Unknown and I4 //IL_1036: Unknown result type (might be due to invalid IL or missing references) //IL_103d: Invalid comparison between Unknown and I4 //IL_04b5: Unknown result type (might be due to invalid IL or missing references) //IL_04bc: Invalid comparison between Unknown and I4 //IL_1065: Unknown result type (might be due to invalid IL or missing references) //IL_106b: Invalid comparison between Unknown and I4 //IL_1ab7: Unknown result type (might be due to invalid IL or missing references) //IL_1ac1: Unknown result type (might be due to invalid IL or missing references) //IL_1acc: Unknown result type (might be due to invalid IL or missing references) //IL_1ad6: Unknown result type (might be due to invalid IL or missing references) //IL_04c4: Unknown result type (might be due to invalid IL or missing references) //IL_04cb: Invalid comparison between Unknown and I4 //IL_1134: Unknown result type (might be due to invalid IL or missing references) //IL_113a: Invalid comparison between Unknown and I4 //IL_0e0b: Unknown result type (might be due to invalid IL or missing references) //IL_0e10: Unknown result type (might be due to invalid IL or missing references) //IL_0e15: Unknown result type (might be due to invalid IL or missing references) //IL_0e1a: Unknown result type (might be due to invalid IL or missing references) //IL_1a08: Unknown result type (might be due to invalid IL or missing references) //IL_1a0f: Invalid comparison between Unknown and I4 //IL_19f6: Unknown result type (might be due to invalid IL or missing references) //IL_04d3: Unknown result type (might be due to invalid IL or missing references) //IL_04da: Invalid comparison between Unknown and I4 //IL_118b: Unknown result type (might be due to invalid IL or missing references) //IL_1192: Invalid comparison between Unknown and I4 //IL_0e30: Unknown result type (might be due to invalid IL or missing references) //IL_0e35: Unknown result type (might be due to invalid IL or missing references) //IL_0e63: Unknown result type (might be due to invalid IL or missing references) //IL_1a75: Unknown result type (might be due to invalid IL or missing references) //IL_1a2e: Unknown result type (might be due to invalid IL or missing references) //IL_1a33: Unknown result type (might be due to invalid IL or missing references) //IL_1a3d: Unknown result type (might be due to invalid IL or missing references) //IL_1a42: Unknown result type (might be due to invalid IL or missing references) //IL_1b51: Unknown result type (might be due to invalid IL or missing references) //IL_1b58: Invalid comparison between Unknown and I4 //IL_06eb: Unknown result type (might be due to invalid IL or missing references) //IL_06f2: Invalid comparison between Unknown and I4 //IL_04fb: Unknown result type (might be due to invalid IL or missing references) //IL_0501: Invalid comparison between Unknown and I4 //IL_11c7: Unknown result type (might be due to invalid IL or missing references) //IL_11ce: Invalid comparison between Unknown and I4 //IL_1b6f: Unknown result type (might be due to invalid IL or missing references) //IL_1b79: Unknown result type (might be due to invalid IL or missing references) //IL_1b94: Unknown result type (might be due to invalid IL or missing references) //IL_1b9b: Invalid comparison between Unknown and I4 //IL_1b60: Unknown result type (might be due to invalid IL or missing references) //IL_1b67: Invalid comparison between Unknown and I4 //IL_06fd: Unknown result type (might be due to invalid IL or missing references) //IL_0704: Invalid comparison between Unknown and I4 //IL_052f: Unknown result type (might be due to invalid IL or missing references) //IL_0536: Invalid comparison between Unknown and I4 //IL_12e1: Unknown result type (might be due to invalid IL or missing references) //IL_12e8: Invalid comparison between Unknown and I4 //IL_0f56: Unknown result type (might be due to invalid IL or missing references) //IL_1bc3: Unknown result type (might be due to invalid IL or missing references) //IL_1bca: Invalid comparison between Unknown and I4 //IL_07cd: Unknown result type (might be due to invalid IL or missing references) //IL_07d2: Unknown result type (might be due to invalid IL or missing references) //IL_07e4: Expected O, but got Unknown //IL_070c: Unknown result type (might be due to invalid IL or missing references) //IL_0713: Invalid comparison between Unknown and I4 //IL_13de: Unknown result type (might be due to invalid IL or missing references) //IL_13e4: Invalid comparison between Unknown and I4 //IL_0ef8: Unknown result type (might be due to invalid IL or missing references) //IL_0f08: Unknown result type (might be due to invalid IL or missing references) //IL_0f0d: Unknown result type (might be due to invalid IL or missing references) //IL_0f11: Unknown result type (might be due to invalid IL or missing references) //IL_0f1d: Unknown result type (might be due to invalid IL or missing references) //IL_0f29: Unknown result type (might be due to invalid IL or missing references) //IL_1bae: Unknown result type (might be due to invalid IL or missing references) //IL_1bf1: Unknown result type (might be due to invalid IL or missing references) //IL_1bf7: Invalid comparison between Unknown and I4 //IL_1bd2: Unknown result type (might be due to invalid IL or missing references) //IL_1bdc: Unknown result type (might be due to invalid IL or missing references) //IL_071b: Unknown result type (might be due to invalid IL or missing references) //IL_0722: Invalid comparison between Unknown and I4 //IL_146b: Unknown result type (might be due to invalid IL or missing references) //IL_1c1e: Unknown result type (might be due to invalid IL or missing references) //IL_1c25: Invalid comparison between Unknown and I4 //IL_1bff: Unknown result type (might be due to invalid IL or missing references) //IL_1c09: Unknown result type (might be due to invalid IL or missing references) //IL_072a: Unknown result type (might be due to invalid IL or missing references) //IL_0731: Invalid comparison between Unknown and I4 //IL_1512: Unknown result type (might be due to invalid IL or missing references) //IL_1518: Invalid comparison between Unknown and I4 //IL_1c3c: Unknown result type (might be due to invalid IL or missing references) //IL_1c46: Unknown result type (might be due to invalid IL or missing references) //IL_1c2d: Unknown result type (might be due to invalid IL or missing references) //IL_1c34: Invalid comparison between Unknown and I4 //IL_1563: Unknown result type (might be due to invalid IL or missing references) //IL_156a: Invalid comparison between Unknown and I4 //IL_1c58: Unknown result type (might be due to invalid IL or missing references) //IL_1c5f: Invalid comparison between Unknown and I4 //IL_15ac: Unknown result type (might be due to invalid IL or missing references) //IL_15b3: Invalid comparison between Unknown and I4 //IL_1ca2: Unknown result type (might be due to invalid IL or missing references) //IL_1ca9: Invalid comparison between Unknown and I4 //IL_1c67: Unknown result type (might be due to invalid IL or missing references) //IL_1c71: Unknown result type (might be due to invalid IL or missing references) //IL_1c90: Unknown result type (might be due to invalid IL or missing references) //IL_162a: Unknown result type (might be due to invalid IL or missing references) //IL_1631: Invalid comparison between Unknown and I4 //IL_1cb1: Unknown result type (might be due to invalid IL or missing references) //IL_1cbb: Unknown result type (might be due to invalid IL or missing references) //IL_168f: Unknown result type (might be due to invalid IL or missing references) //IL_1696: Invalid comparison between Unknown and I4 //IL_171c: Unknown result type (might be due to invalid IL or missing references) //IL_1723: Invalid comparison between Unknown and I4 //IL_1789: Unknown result type (might be due to invalid IL or missing references) //IL_1790: Invalid comparison between Unknown and I4 UltraEnrage_Enemy result = default(UltraEnrage_Enemy); if (Object.op_Implicit((Object)(object)eid) && ((Component)eid).TryGetComponent(ref result)) { return result; } if ((Object)(object)eid == (Object)null || Object.op_Implicit((Object)(object)((Component)eid).GetComponent()) || Object.op_Implicit((Object)(object)((Component)eid).GetComponent())) { return null; } if ((int)eid.enemyType != 21 && eid.blessed && !Object.op_Implicit((Object)(object)((Component)eid).GetComponent()) && !Object.op_Implicit((Object)(object)((Component)eid).GetComponent())) { Idol[] array = Object.FindObjectsOfType(); foreach (Idol val in array) { if (Object.op_Implicit((Object)(object)val) && ((Component)val).gameObject.activeSelf && ((Object)(object)val.overrideTarget == (Object)(object)eid || (Object)(object)val.target == (Object)(object)eid)) { return null; } } } Bounds bounds; if (boost) { bool bigEnemy = eid.bigEnemy; bool flag = !ignoreRad && (eid.speedBuffRequests > 0 || eid.healthBuffRequests > 0 || eid.damageBuffRequests > 0); if (Object.op_Implicit((Object)(object)eid.machine)) { eid.machine.dismemberment = false; eid.machine.noFallDamage = true; Enemy val2 = default(Enemy); if (((Component)eid).TryGetComponent(ref val2) && Object.op_Implicit((Object)(object)val2.symbiote)) { ContinuousBeam component = Object.Instantiate(Fento_Assets.ProjectileBeam.gameObject, ((Component)val2).transform.position, Quaternion.identity, ((Component)val2.symbiote).transform).GetComponent(); component.endPoint = ((Component)eid).transform; component.canHitEnemy = false; component.safeEnemyType = eid.enemyType; Collider val3 = default(Collider); if (((Component)eid).TryGetComponent(ref val3)) { Transform val4 = ((Component)eid).transform.Find("Beam Offset Symbiote"); if (!Object.op_Implicit((Object)(object)val4)) { val4 = new GameObject("Beam Offset Symbiote").transform; Transform obj = val4; bounds = val3.bounds; obj.localPosition = ((Bounds)(ref bounds)).center; val4.localRotation = Quaternion.identity; val4.localScale = Vector3.one; val4.SetParent(((Component)eid).transform, true); } component.endPoint = val4; } } } if (Object.op_Implicit((Object)(object)eid.zombie)) { eid.zombie.chestExploding = false; eid.zombie.noFallDamage = true; } eid.useBrakes = false; eid.bigEnemy = true; eid.unbounceable = true; if (!eid.AttackEnemies) { eid.immuneToFriendlyFire = true; } Invoke_WithDelay(2f, delegate { //IL_0076: Unknown result type (might be due to invalid IL or missing references) //IL_0081: Unknown result type (might be due to invalid IL or missing references) float num = 1f; foreach (KeyValuePair item in UltraEnrage_Enemy.Dictionary) { if ((Object)(object)item.Value != (Object)null && (Object)(object)item.Value.eid != (Object)null && !item.Value.eid.dead && (Object)(object)item.Value.eid != (Object)(object)eid && item.Value.eid.enemyType == eid.enemyType) { num += 1f; } } if (num > 1f) { float num2 = 7f - 7f / num; eid.Set_Health(eid.GetRealHealth() - num2); } }); eid.Set_Health(eid.GetRealHealth() + 7f); EnemyIdentifier obj2 = eid; obj2.healthBuffModifier += 0.6f; if (!bigEnemy) { if ((int)eid.enemyType != 15 && (Object)(object)eid.drone == (Object)null && (int)eid.enemyType != 33 && (int)eid.enemyType != 34) { EnemyIdentifier obj3 = eid; obj3.radianceTier += 1f; EnemyIdentifier obj4 = eid; obj4.speedBuffModifier += 0.25f; } else if ((int)eid.enemyType != 38) { EnemyIdentifier obj5 = eid; obj5.radianceTier += 0.5f; } } if ((int)eid.enemyType == 14 || (int)eid.enemyType == 33) { EnemyIdentifier obj6 = eid; obj6.healthBuffModifier += 0.5f; } else if ((int)eid.enemyType == 38) { eid.healthBuffModifier = 1.5f; eid.speedBuffModifier = 1.5f; } else if ((int)eid.enemyType == 17) { EnemyIdentifier obj7 = eid; obj7.healthBuffModifier += 1f; } else if (((int)eid.enemyType == 7 && !eid.isBoss) || (int)eid.enemyType == 6 || (int)eid.enemyType == 35 || (int)eid.enemyType == 16 || (int)eid.enemyType == 28) { EnemyIdentifier obj8 = eid; obj8.radianceTier += 1f; } else if ((int)eid.enemyType == 7 && eid.isBoss) { EnemyIdentifier obj9 = eid; obj9.radianceTier += 2f; } else if ((int)eid.enemyType == 27) { EnemyIdentifier obj10 = eid; obj10.radianceTier += 2.5f; } EnemyIdentifier obj11 = eid; obj11.damageBuffRequests++; EnemyIdentifier obj12 = eid; obj12.speedBuffRequests++; EnemyIdentifier obj13 = eid; obj13.healthBuffRequests++; eid.UpdateBuffs(false, false); if (!eid.puppet && flag) { EnemyIdentifier obj14 = eid; obj14.radianceTier += 1f; } else { GameObjectExtensions.GetOrAddComponent(((Component)eid).gameObject); } NavMeshAgent[] componentsInChildren = ((Component)eid).gameObject.GetComponentsInChildren(); foreach (NavMeshAgent obj15 in componentsInChildren) { obj15.speed += 15f; obj15.acceleration += 15f; obj15.angularSpeed += 15f; obj15.speed *= 1.5f; obj15.acceleration *= 1.5f; obj15.angularSpeed *= 1.5f; } for (int j = 0; j < eid.weaknessMultipliers.Length; j++) { if (eid.weaknessMultipliers[j] > 1f) { eid.weaknessMultipliers[j] *= 0.5f; } else { eid.weaknessMultipliers[j] *= 0.75f; } } if (Object.op_Implicit((Object)(object)eid.weakPoint) && (int)eid.enemyType != 34 && (int)eid.enemyType != 10 && (int)eid.enemyType != 35 && (int)eid.enemyType != 23 && (int)eid.enemyType != 24 && !Object.op_Implicit((Object)(object)((Component)eid).GetComponent())) { eid.weakPoint.SetActive(false); Collider val5 = default(Collider); if (eid.weakPoint.TryGetComponent(ref val5)) { val5.isTrigger = true; val5.enabled = false; } } BossHealthBar bar = default(BossHealthBar); if (((Component)eid).TryGetComponent(ref bar)) { if (bar.healthLayers == null || bar.healthLayers.Length == 0) { bar.healthLayers = (HealthLayer[])(object)new HealthLayer[1]; bar.healthLayers[0] = new HealthLayer { health = eid.Health }; } else { for (int k = 0; k < bar.healthLayers.Length; k++) { if (bar.healthLayers[k] != null) { HealthLayer obj16 = bar.healthLayers[k]; obj16.health += 7f / (float)bar.healthLayers.Length; } } ((Behaviour)bar).enabled = false; Invoke_NextFrame(delegate { if (Object.op_Implicit((Object)(object)bar)) { ((Behaviour)bar).enabled = true; } }); } ((Behaviour)bar).enabled = false; Invoke_NextFrame(delegate { if (Object.op_Implicit((Object)(object)bar)) { ((Behaviour)bar).enabled = true; } }); } } UltraEnrage_Enemy orAddComponent = GameObjectExtensions.GetOrAddComponent(((Component)eid).gameObject); if ((int)eid.enemyType == 26) { ComponentExtensions.GetOrAddComponent((Component)(object)eid); Ferryman val6 = default(Ferryman); if (((Component)eid).TryGetComponent(ref val6)) { GameObject gameObject = ((Component)val6.lightningBolt).gameObject; if (Object.op_Implicit((Object)(object)gameObject)) { GameObjectExtensions.GetOrAddComponent(gameObject); val6.slamExplosion = gameObject; } } Make_Colored(((Component)eid).transform, Color.red, keep_a: false); } else { DroneFlesh val7 = default(DroneFlesh); Drone val8 = default(Drone); FleshPrison val10 = default(FleshPrison); FleshPrison val11 = default(FleshPrison); ZombieProjectiles val14 = default(ZombieProjectiles); Sisyphus val15 = default(Sisyphus); MirrorReaper val19 = default(MirrorReaper); SwordsMachine val20 = default(SwordsMachine); Drone val22 = default(Drone); Mindflayer val24 = default(Mindflayer); Turret val26 = default(Turret); Gutterman val27 = default(Gutterman); Guttertank val29 = default(Guttertank); SpiderBody val30 = default(SpiderBody); StatueBoss val32 = default(StatueBoss); Mass val35 = default(Mass); Mannequin val36 = default(Mannequin); CancerousRodent val38 = default(CancerousRodent); LeviathanController val39 = default(LeviathanController); if (((Component)eid).TryGetComponent(ref val7) && ((Component)eid).TryGetComponent(ref val8)) { RevolverBeam val9 = default(RevolverBeam); if (val8.stationary) { ComponentExtensions.GetOrAddComponent((Component)(object)eid); ComponentExtensions.GetOrAddComponent((Component)(object)eid); Transform tr = ((Component)eid).transform.Find("HardDamageBeam/Cylinder"); if (Object.op_Implicit((Object)(object)tr)) { Invoke_WithDelay(0.01f, delegate { //IL_001b: Unknown result type (might be due to invalid IL or missing references) //IL_0025: Unknown result type (might be due to invalid IL or missing references) MeshRenderer val48 = default(MeshRenderer); if (((Component)tr).TryGetComponent(ref val48)) { ((Renderer)val48).material.color = ((Renderer)val48).material.color * 0.15f; } }); } } else if (Object.op_Implicit((Object)(object)val7.beam) && val7.beam.TryGetComponent(ref val9) && Object.op_Implicit((Object)(object)val9.hitParticle) && Object.op_Implicit((Object)(object)val9.hitParticle.GetComponent())) { ComponentExtensions.GetOrAddComponent((Component)(object)eid); } } else if ((int)eid.enemyType == 17 && ((Component)eid).TryGetComponent(ref val10)) { ComponentExtensions.GetOrAddComponent((Component)(object)eid); Eye_Rage_Shoot orAddComponent2 = GameObjectExtensions.GetOrAddComponent(((Component)eid).gameObject); orAddComponent2.safeEnemyType = eid.enemyType; orAddComponent2.eid = eid; orAddComponent2.AddPos = new Vector3(0f, 6.5f, 0f); } else if ((int)eid.enemyType == 30 && ((Component)eid).TryGetComponent(ref val11)) { ComponentExtensions.GetOrAddComponent((Component)(object)eid); GameObjectExtensions.GetOrAddComponent(val11.insignia); Leviathan_Rage_Shoot orAddComponent3 = GameObjectExtensions.GetOrAddComponent(((Component)eid).gameObject); orAddComponent3.safeEnemyType = eid.enemyType; orAddComponent3.eid = eid; orAddComponent3.shootPoint = ((Component)eid).transform; orAddComponent3.AddPos = new Vector3(0f, 9f, 0f); Transform val12 = ((Component)eid).transform.Find("DelayedInstakill"); if (Object.op_Implicit((Object)(object)val12)) { Object.Destroy((Object)(object)((Component)val12).gameObject); } } else if ((int)eid.enemyType == 35) { MortarLauncher val13 = default(MortarLauncher); if (((Component)eid).TryGetComponent(ref val13) && Object.op_Implicit((Object)(object)val13.mortar)) { if (val13.mortar.explosive) { ComponentExtensions.GetOrAddComponent((Component)(object)val13.mortar); } else { ComponentExtensions.GetOrAddComponent((Component)(object)val13.mortar); } } else if (Object.op_Implicit((Object)(object)((Component)eid).GetComponentInChildren())) { ComponentExtensions.GetOrAddComponent((Component)(object)eid); } } else if ((int)eid.enemyType == 3 && Object.op_Implicit((Object)(object)((Component)eid).GetComponent())) { ComponentExtensions.GetOrAddComponent((Component)(object)eid); } else if (((Component)eid).TryGetComponent(ref val14)) { ComponentExtensions.GetOrAddComponent((Component)(object)eid); if ((int)eid.enemyType == 13) { GameObjectExtensions.GetOrAddComponent(val14.projectile); ComponentExtensions.GetOrAddComponent((Component)(object)eid); } else if ((int)eid.enemyType == 14) { GameObjectExtensions.GetOrAddComponent(val14.projectile); ComponentExtensions.GetOrAddComponent((Component)(object)eid); } else if ((int)eid.enemyType == 15) { Projectile[] componentsInChildren2 = val14.projectile.GetComponentsInChildren(); for (int i = 0; i < componentsInChildren2.Length; i++) { ComponentExtensions.GetOrAddComponent((Component)(object)componentsInChildren2[i]); } ComponentExtensions.GetOrAddComponent((Component)(object)eid); string[] array2 = new string[1] { "explosion" }; foreach (string text in array2) { if (!eid.weaknesses.Contains(text)) { eid.weaknesses = CollectionExtensions.AddToArray(eid.weaknesses, text); eid.weaknessMultipliers = CollectionExtensions.AddToArray(eid.weaknessMultipliers, 0.15f); } } } } else if ((int)eid.enemyType == 12) { GameObjectExtensions.GetOrAddComponent(((Component)eid).gameObject); } else if ((int)eid.enemyType == 19 && ((Component)eid).TryGetComponent(ref val15)) { ComponentExtensions.GetOrAddComponent((Component)(object)eid); PhysicalShockwave shockwavePrefab = val15.m_ShockwavePrefab; if (Object.op_Implicit((Object)(object)shockwavePrefab)) { ComponentExtensions.GetOrAddComponent((Component)(object)shockwavePrefab); } BossHealthBar component2 = ((Component)eid).GetComponent(); if (Object.op_Implicit((Object)(object)component2)) { component2.bossName += "+"; } Cannonball boulderCb = val15.boulderCb; if (Object.op_Implicit((Object)(object)boulderCb)) { if (eid.isBoss || Object.op_Implicit((Object)(object)component2)) { Eye_Rage_Shoot orAddComponent4 = ComponentExtensions.GetOrAddComponent((Component)(object)boulderCb); orAddComponent4.eid = eid; orAddComponent4.safeEnemyType = eid.enemyType; orAddComponent4.AddPos = Vector3.up; } ContinuousBeam component3 = Object.Instantiate(Fento_Assets.ProjectileBeam.gameObject, ((Component)boulderCb).transform.position, Quaternion.identity, ((Component)boulderCb).transform).GetComponent(); component3.endPoint = ((Component)eid).transform; component3.safeEnemyType = (EnemyType)19; component3.canHitEnemy = false; component3.ignoreInvincibility = false; component3.cancelIfEndPointBlocked = false; component3.beamWidth *= 9f; LineRenderer val16 = default(LineRenderer); if (((Component)component3).TryGetComponent(ref val16)) { LineRenderer obj17 = val16; obj17.endWidth *= 9f; LineRenderer obj18 = val16; obj18.startWidth *= 9f; } Collider val17 = default(Collider); if (((Component)eid).TryGetComponent(ref val17)) { Transform val18 = ((Component)eid).transform.Find("Beam Offset Sisyphus"); if (!Object.op_Implicit((Object)(object)val18)) { val18 = new GameObject("Beam Offset Sisyphus").transform; Transform obj19 = val18; bounds = val17.bounds; obj19.localPosition = ((Bounds)(ref bounds)).center; val18.localRotation = Quaternion.identity; val18.localScale = Vector3.one; val18.SetParent(((Component)eid).transform, true); } component3.endPoint = val18; } Make_Colored(((Component)component3).transform, Color.yellow); } } else if ((int)eid.enemyType == 41 && ((Component)eid).TryGetComponent(ref val19)) { ComponentExtensions.GetOrAddComponent((Component)(object)eid); GameObjectExtensions.GetOrAddComponent(((Component)val19.groundWave).gameObject); } else if ((int)eid.enemyType == 7 && ((Component)eid).TryGetComponent(ref val20)) { ComponentExtensions.GetOrAddComponent((Component)(object)eid); if (Object.op_Implicit((Object)(object)val20.thrownSword[2])) { GameObjectExtensions.GetOrAddComponent(val20.thrownSword[2]); } BossHealthBar val21 = default(BossHealthBar); if (((Component)eid).TryGetComponent(ref val21)) { BossHealthBar obj20 = val21; obj20.bossName += "+"; } } else if (((int)eid.enemyType == 1 || (int)eid.enemyType == 25) && ((Component)eid).TryGetComponent(ref val22)) { ComponentExtensions.GetOrAddComponent((Component)(object)eid); } else if ((int)eid.enemyType == 6) { ComponentExtensions.GetOrAddComponent((Component)(object)eid); Animator val23 = default(Animator); if (((Component)eid).TryGetComponent(ref val23)) { Animator obj21 = val23; obj21.speed *= 2f; } string[] array2 = new string[3] { "explosion", "fire", "hammer" }; foreach (string text2 in array2) { if (!eid.weaknesses.Contains(text2)) { eid.weaknesses = CollectionExtensions.AddToArray(eid.weaknesses, text2); eid.weaknessMultipliers = CollectionExtensions.AddToArray(eid.weaknessMultipliers, 0.5f); } } } else if ((int)eid.enemyType == 5 && ((Component)eid).TryGetComponent(ref val24)) { ComponentExtensions.GetOrAddComponent((Component)(object)eid); BossHealthBar val25 = default(BossHealthBar); if (((Component)eid).TryGetComponent(ref val25)) { BossHealthBar obj22 = val25; obj22.bossName += "++"; } } else if ((int)eid.enemyType == 20 && ((Component)eid).TryGetComponent(ref val26)) { ComponentExtensions.GetOrAddComponent((Component)(object)eid); ComponentExtensions.GetOrAddComponent((Component)(object)val26.beam); } else if ((int)eid.enemyType == 33 && ((Component)eid).TryGetComponent(ref val27)) { ComponentExtensions.GetOrAddComponent((Component)(object)eid); ((Component)((Component)eid).transform).tag = "Armor"; ((Component)eid).gameObject.layer = 26; BossHealthBar component4 = ((Component)eid).GetComponent(); if (Object.op_Implicit((Object)(object)component4)) { component4.bossName += " MK2"; } if (eid.isBoss || Object.op_Implicit((Object)(object)component4)) { Collider[] componentsInChildren3 = ((Component)eid).GetComponentsInChildren(true); foreach (Collider val28 in componentsInChildren3) { if (Object.op_Implicit((Object)(object)val28) && ((Component)val28).gameObject.layer == 11 && ((Object)((Component)val28).gameObject).name != "CasketHitbox") { ((Component)((Component)val28).transform).tag = "Armor"; ((Component)val28).gameObject.layer = 26; } } } } else if ((int)eid.enemyType == 34 && ((Component)eid).TryGetComponent(ref val29)) { ComponentExtensions.GetOrAddComponent((Component)(object)val29); ComponentExtensions.GetOrAddComponent((Component)(object)val29.rocket); ComponentExtensions.GetOrAddComponent((Component)(object)val29.landmine); string[] array2 = new string[3] { "explosion", "fire", "hammer" }; foreach (string text3 in array2) { if (!eid.weaknesses.Contains(text3)) { eid.weaknesses = CollectionExtensions.AddToArray(eid.weaknesses, text3); eid.weaknessMultipliers = CollectionExtensions.AddToArray(eid.weaknessMultipliers, 0.25f); } } ((Component)((Component)eid).transform).tag = "Armor"; ((Component)eid).gameObject.layer = 26; } else if ((int)eid.enemyType == 4 && ((Component)eid).TryGetComponent(ref val30)) { if (Object.op_Implicit((Object)(object)val30.proj)) { GameObjectExtensions.GetOrAddComponent(val30.proj); } if (Object.op_Implicit((Object)(object)val30.spiderBeam)) { GameObjectExtensions.GetOrAddComponent(val30.spiderBeam); } ComponentExtensions.GetOrAddComponent((Component)(object)eid); BossHealthBar val31 = default(BossHealthBar); if (((Component)eid).TryGetComponent(ref val31)) { BossHealthBar obj23 = val31; obj23.bossName += "+"; } } else if ((int)eid.enemyType == 0 && (Object)(object)eid.statue != (Object)null && ((Component)eid).TryGetComponent(ref val32)) { ComponentExtensions.GetOrAddComponent((Component)(object)val32); GameObjectExtensions.GetOrAddComponent(AddressablesExtensions.ToAsset(val32.orbProjectile)); Statue val33 = default(Statue); if (((Component)eid).TryGetComponent(ref val33) && Object.op_Implicit((Object)(object)((Enemy)val33).woundedModel)) { GameObjectExtensions.GetOrAddComponent(((Enemy)val33).woundedModel); } BossHealthBar val34 = default(BossHealthBar); if (((Component)eid).TryGetComponent(ref val34)) { BossHealthBar obj24 = val34; obj24.bossName += "+"; } } else if ((int)eid.enemyType == 2 && ((Component)eid).TryGetComponent(ref val35)) { ComponentExtensions.GetOrAddComponent((Component)(object)val35); GameObjectExtensions.GetOrAddComponent(val35.explosiveProjectile); GameObjectExtensions.GetOrAddComponent(val35.homingProjectile); GameObjectExtensions.GetOrAddComponent(val35.spear); } else if ((int)eid.enemyType == 31 && ((Component)eid).TryGetComponent(ref val36)) { val36.projectile = Fento_Assets.ProjectileExplosiveHoming_Green.GetComponent(); ComponentExtensions.GetOrAddComponent((Component)(object)val36.projectile); ComponentExtensions.GetOrAddComponent((Component)(object)val36); } else if ((int)eid.enemyType == 21 && (Object)(object)eid.idol != (Object)null) { if (!Object.op_Implicit((Object)(object)((Component)eid).GetComponent())) { GameObjectExtensions.GetOrAddComponent(((Component)eid).gameObject).TierToAdd = 0f; } GameObjectExtensions.GetOrAddComponent(((Component)eid).gameObject); eid.idol.deathParticle = Fento_Assets.ExplosionSuper.gameObject; } else if ((int)eid.enemyType == 9 && (Object)(object)eid.drone != (Object)null) { ComponentExtensions.GetOrAddComponent((Component)(object)eid); GameObjectExtensions.GetOrAddComponent(AddressablesExtensions.ToAsset(eid.drone.projectile)); ComponentExtensions.GetOrAddComponent((Component)(object)((Component)eid).transform.GetChild(0)); } else if ((int)eid.enemyType == 38 && (Object)(object)eid.drone != (Object)null) { if (eid.drone.spawnOnDeath[0] != null && (Object)(object)AddressablesExtensions.ToAsset(eid.drone.spawnOnDeath[0]).transform.GetChild(4) != (Object)null) { ComponentExtensions.GetOrAddComponent((Component)(object)AddressablesExtensions.ToAsset(eid.drone.spawnOnDeath[0]).transform); } } else if ((int)eid.enemyType == 40) { ComponentExtensions.GetOrAddComponent((Component)(object)eid); BossHealthBar val37 = default(BossHealthBar); if (((Component)eid).TryGetComponent(ref val37)) { BossHealthBar obj25 = val37; obj25.bossName += "+"; } } else if (((Component)eid).TryGetComponent(ref val38)) { CancerousRodent obj26 = val38; obj26.projectileAmount += 20; } else if ((int)eid.enemyType == 27 && ((Component)eid).TryGetComponent(ref val39)) { Transform headWeakPoint = val39.headWeakPoint; if (Object.op_Implicit((Object)(object)headWeakPoint)) { Leviathan_Rage_Shoot orAddComponent5 = GameObjectExtensions.GetOrAddComponent(((Component)eid).gameObject); orAddComponent5.eid = eid; orAddComponent5.shootPoint = headWeakPoint; } SwingCheck2 biteSwingCheck = val39.head.biteSwingCheck; if (Object.op_Implicit((Object)(object)biteSwingCheck)) { biteSwingCheck.damage = (int)((float)biteSwingCheck.damage * 1.5f); } Leviathan_Rage_Boss orAddComponent6 = GameObjectExtensions.GetOrAddComponent(((Component)eid).gameObject); orAddComponent6.eid = eid; orAddComponent6.leviathanController = val39; } if (!eid.puppet) { EnemySimplifier[] componentsInChildren4 = ((Component)eid).GetComponentsInChildren(true); for (int i = 0; i < componentsInChildren4.Length; i++) { componentsInChildren4[i].enraged = true; } Make_Colored(((Component)eid).transform, Color.red, keep_a: false, 0.35f); } } ScreenDistortionField componentInChildren = ((Component)eid).GetComponentInChildren(); if (Object.op_Implicit((Object)(object)componentInChildren)) { Very_Rage_Radiation orAddComponent7 = ComponentExtensions.GetOrAddComponent((Component)(object)eid); orAddComponent7.distortionField = componentInChildren; orAddComponent7.eid = eid; } GameObject val40 = null; if (!eid.dead && (Object)(object)Fento_Assets.RagePrefab.gameObject != (Object)null && (int)eid.enemyType != 10 && (int)eid.enemyType != 16 && (int)eid.enemyType != 28) { val40 = Object.Instantiate(Fento_Assets.RagePrefab.gameObject, ((Component)eid).transform); if ((Object)(object)val40 != (Object)null) { if (Object.op_Implicit((Object)(object)eid.weakPoint)) { val40.transform.localPosition = eid.weakPoint.transform.position; GameObjectExtensions.GetOrAddComponent(val40).Target = eid.weakPoint.transform; } else { EnemyIdentifierIdentifier val41 = null; EnemyIdentifierIdentifier[] componentsInChildren5 = ((Component)eid).GetComponentsInChildren(); foreach (EnemyIdentifierIdentifier val42 in componentsInChildren5) { if (((Component)val42).CompareTag("Head") || ((Component)val42).CompareTag("EndLimb")) { val41 = val42; } } if ((Object)(object)val41 != (Object)null) { val40.transform.SetParent(((Component)val41).transform); val40.transform.localPosition = Vector3.zero; } else if ((int)eid.enemyType == 21) { val40.transform.SetParent(((Component)eid).transform); Transform transform = val40.transform; transform.position += Vector3.up * 2f; } else { val40.transform.SetParent(((Component)eid).transform); val40.transform.position = ((Component)eid).transform.position; } } AudioSource[] components = val40.GetComponents(); if (components != null) { AudioSource val43 = components.Last(); if ((Object)(object)val43 != (Object)null) { val43.pitch *= 0.75f; } } val40.transform.localScale = Vector3.one * 1f / val40.transform.lossyScale.x; AudioSource[] componentsInChildren6 = val40.GetComponentsInChildren(); foreach (AudioSource val44 in componentsInChildren6) { if ((Object)(object)val44 != (Object)null) { val44.volume *= 0.5f; val44.maxDistance *= 0.5f; val44.spatialize = true; } } eid.destroyOnDeath.Add(val40); if ((int)eid.enemyType == 17 || (int)eid.enemyType == 30) { val40.transform.localScale = Vector3.one * 2f; val40.transform.localPosition = new Vector3(0f, ((int)eid.enemyType == 30) ? 9f : 6.5f, 0f); } else if ((int)eid.enemyType == 27) { val40.transform.localScale = Vector3.one * 5f; } else if ((int)eid.enemyType == 4) { val40.transform.localScale = Vector3.one * 0.125f; } else if ((int)eid.enemyType == 33 || (int)eid.enemyType == 34) { val40.transform.localScale = Vector3.one * 2f; } else if ((int)eid.enemyType == 39) { val40.transform.localScale = Vector3.one * 1.1f; val40.transform.localPosition = new Vector3(0f, 2.5f, 0f); } else if ((int)eid.enemyType == 38) { val40.transform.localScale = Vector3.one * 0.5f; } } } if ((int)eid.enemyType == 11) { if (Object.op_Implicit((Object)(object)((Component)eid).GetComponent())) { val40.transform.localScale = new Vector3(0.04f, 0.04f, 0.04f); } else { MinosBoss component5 = ((Component)eid).GetComponent(); if (Object.op_Implicit((Object)(object)component5)) { ComponentExtensions.GetOrAddComponent((Component)(object)eid); bool flag2 = Random.value > 0.5f; GameObject[] eyes = component5.eyes; foreach (GameObject val45 in eyes) { GameObject val46 = Object.Instantiate(Fento_Assets.CentaurBrainBeam.gameObject, val45.transform.position, val45.transform.rotation, ((Component)eid).transform); GameObject val47 = new GameObject($"Follower {((Object)val45).name} {((!flag2) ? 1 : 0)}"); val47.transform.SetParent(((Component)eid).transform); Transform transform2 = val47.transform; Vector3 position; if (eid.target == null) { position = val47.transform.parent.position; } else { Vector3 position2 = eid.target.position; Vector3 insideUnitSphere = Random.insideUnitSphere; position = position2 + ((Vector3)(ref insideUnitSphere)).normalized * 30f; } transform2.position = position; Obj_Follow_Eid_Target orAddComponent8 = ComponentExtensions.GetOrAddComponent((Component)(object)val47.transform); orAddComponent8.eid = eid; orAddComponent8.Speed = (flag2 ? 23f : 20f); orAddComponent8.Predict = !flag2; ComponentExtensions.GetOrAddComponent((Component)(object)val45.transform).Obj_ToKeep = val46; GameObjectExtensions.GetOrAddComponent(val46).Target = val47; GameObjectExtensions.GetOrAddComponent(val46).eid = eid; flag2 = !flag2; } } } } return orAddComponent; } public static EnemyIdentifier Make_IdolMerged(this EnemyIdentifier eid, bool enableIdol, bool keepNear = true, bool activateWith = false) { //IL_0014: Unknown result type (might be due to invalid IL or missing references) //IL_001f: Unknown result type (might be due to invalid IL or missing references) EnemyIdentifier val = Integrate_Enemy(DetectebleEnemies.Idol, ((Component)eid).transform.parent, enableIdol, ((Component)eid).transform.position, ((Component)eid).transform.rotation); val.idol.overrideTarget = eid; ((Component)val).transform.DissableColliders(((Component)eid).transform); if (keepNear) { GameObjectExtensions.GetOrAddComponent(((Component)eid).gameObject).Obj_ToKeep = ((Component)val).gameObject; ComponentExtensions.GetOrAddComponent((Component)(object)eid).idol = val; } if (activateWith) { ComponentExtensions.GetOrAddComponent((Component)(object)eid).idol = val; } return val; } public static void Make_Puppet_OnStart(this EnemyIdentifier eid) { if (!((Object)(object)eid == (Object)null)) { ComponentExtensions.GetOrAddComponent((Component)(object)eid); } } public static GameObject[] Add_ActivateOnDeath(this EnemyIdentifier eid, params GameObject[] objs) { if (!Object.op_Implicit((Object)(object)eid) || objs == null) { return null; } eid.activateOnDeath = CollectionExtensions.AddRangeToArray(eid.activateOnDeath, objs); return eid.activateOnDeath; } public static float GetRealHealth(this EnemyIdentifier eid) { if (!Object.op_Implicit((Object)(object)eid)) { return 0f; } eid.ForceGetHealth(); return eid.Health; } public static void Set_Health(this EnemyIdentifier eid, float health) { //IL_0033: Unknown result type (might be due to invalid IL or missing references) //IL_0039: Invalid comparison between Unknown and I4 //IL_003c: Unknown result type (might be due to invalid IL or missing references) //IL_0043: Invalid comparison between Unknown and I4 //IL_0046: Unknown result type (might be due to invalid IL or missing references) //IL_004d: Invalid comparison between Unknown and I4 //IL_0081: Unknown result type (might be due to invalid IL or missing references) //IL_0087: Invalid comparison between Unknown and I4 //IL_00a9: Unknown result type (might be due to invalid IL or missing references) //IL_00ae: Unknown result type (might be due to invalid IL or missing references) //IL_00af: Unknown result type (might be due to invalid IL or missing references) //IL_00c1: Expected I4, but got Unknown if ((Object)(object)eid == (Object)null) { return; } Enemy val = default(Enemy); if (((Component)eid).TryGetComponent(ref val)) { if (val.originalHealth < health) { val.originalHealth = health; } val.health = health; return; } eid.ForceGetHealth(); if ((int)eid.enemyType == 1 || (int)eid.enemyType == 9 || (int)eid.enemyType == 38) { if (Object.op_Implicit((Object)(object)eid.drone) && Object.op_Implicit((Object)(object)eid.drone.Enemy)) { eid.drone.Enemy.health = health; } return; } if ((int)eid.enemyType == 4) { if (Object.op_Implicit((Object)(object)eid.spider)) { eid.spider.spider.health = health; } return; } EnemyClass enemyClass = eid.enemyClass; switch ((int)enemyClass) { case 0: if (Object.op_Implicit((Object)(object)eid.zombie)) { eid.zombie.health = health; } break; case 2: if (Object.op_Implicit((Object)(object)eid.statue)) { eid.statue.health = health; } break; case 1: if (Object.op_Implicit((Object)(object)eid.machine)) { eid.machine.health = health; } break; } } public static void Setup_GoreZone_Obj(GameObject obj, GameObject from) { if (Object.op_Implicit((Object)(object)obj) && Object.op_Implicit((Object)(object)from)) { GoreZone componentInParent = from.GetComponentInParent(); if (Object.op_Implicit((Object)(object)componentInParent)) { obj.transform.SetParent(((Component)componentInParent).transform, true); } } } public static void Setup_GoreZone_Obj(GameObject obj, EnemyIdentifier from) { if (Object.op_Implicit((Object)(object)obj) && Object.op_Implicit((Object)(object)from)) { GoreZone componentInParent = ((Component)from).GetComponentInParent(); if (Object.op_Implicit((Object)(object)componentInParent)) { obj.transform.SetParent(((Component)componentInParent).transform, true); } } } public static EnemyIdentifier Custom_ReplaceEnemy(DetectebleEnemies enemy, Transform toReplace, Vector3 Pos = default(Vector3), Quaternion Quart = default(Quaternion), bool active = false, bool DestroyOnReplace = true) { //IL_0018: Unknown result type (might be due to invalid IL or missing references) //IL_0019: Unknown result type (might be due to invalid IL or missing references) if (Object.op_Implicit((Object)(object)((Component)toReplace).GetComponent())) { return null; } EnemyIdentifier result = Integrate_Enemy(enemy, toReplace.parent, active, Pos, Quart); if (DestroyOnReplace) { Object.Destroy((Object)(object)((Component)toReplace).gameObject); } return result; } public static EnemyIdentifier Base_ReplaceEnemy(DetectebleEnemies enemy, Transform toReplace, Vector3 extraPos = default(Vector3), bool DestroyOnReplace = true) { //IL_0022: Unknown result type (might be due to invalid IL or missing references) //IL_0027: Unknown result type (might be due to invalid IL or missing references) //IL_0028: Unknown result type (might be due to invalid IL or missing references) //IL_002e: Unknown result type (might be due to invalid IL or missing references) if (Object.op_Implicit((Object)(object)((Component)toReplace).GetComponent())) { return null; } EnemyIdentifier result = Integrate_Enemy(enemy, toReplace.parent, ((Component)toReplace).gameObject.activeSelf, toReplace.position + extraPos, toReplace.rotation); if (DestroyOnReplace) { Object.Destroy((Object)(object)((Component)toReplace).gameObject); } return result; } public static EnemyIdentifier Integrate_Enemy(DetectebleEnemies enemy, Transform Parent, bool active, Vector3 Pos = default(Vector3), Quaternion Quart = default(Quaternion)) { //IL_002c: Unknown result type (might be due to invalid IL or missing references) //IL_002d: 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_0021: Unknown result type (might be due to invalid IL or missing references) //IL_00ff: 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_008b: Unknown result type (might be due to invalid IL or missing references) //IL_008c: Unknown result type (might be due to invalid IL or missing references) //IL_00af: Unknown result type (might be due to invalid IL or missing references) //IL_00ce: Unknown result type (might be due to invalid IL or missing references) //IL_00de: Unknown result type (might be due to invalid IL or missing references) EnemyIdentifier val = FindEnemyByType(enemy); EnemyIdentifier val2 = null; GameObject val3 = null; val3 = ((enemy == DetectebleEnemies.CentaurRocketLauncher) ? ((Component)Object.Instantiate(val, Pos, Quart)).gameObject : Object.Instantiate(((Component)((Component)val).transform.root).gameObject, Pos, Quart)); switch (enemy) { case DetectebleEnemies.BombEnemySpawnerGutterman: ((Component)val3.transform.GetChild(2)).gameObject.SetActive(true); break; case DetectebleEnemies.IdolCase: Object.Destroy((Object)(object)((Component)val3.transform.Find("Deathcatcher")).gameObject); GameObjectExtensions.GetOrAddComponent(val3); val2 = Object.Instantiate(FindEnemyByType(DetectebleEnemies.Idol), Pos, Quart, val3.transform); ((Component)val2).transform.localPosition = new Vector3(2.5f, 1f, 2.5f); ((Component)val2).transform.localRotation = Quaternion.Euler(0f, 90f, 0f); ((Component)val2).transform.localScale = Vector3.one; break; } val3.transform.root.parent = Parent; val3.transform.position = Pos; val3.transform.rotation = Quart; val3.SetActive(active); KeepInBounds val4 = default(KeepInBounds); if (val3.TryGetComponent(ref val4)) { Object.Destroy((Object)(object)val4); } NavMeshAgent val5 = default(NavMeshAgent); if (val3.TryGetComponent(ref val5)) { ((Behaviour)val5).enabled = true; } Fento_Enemy_Tag orAddComponent = GameObjectExtensions.GetOrAddComponent(val3); if (Object.op_Implicit((Object)(object)val2)) { orAddComponent.Awake(); if ((Object)(object)orAddComponent.eid != (Object)(object)val2) { Object.Destroy((Object)(object)((Component)orAddComponent.eid).gameObject); } orAddComponent.eid = val2; orAddComponent.enemy = ((Component)val2).GetComponent(); } orAddComponent.Awake(); return orAddComponent.eid; } public static Fento_Enemy_Tag Integrate_Enemy_Tag(DetectebleEnemies enemy, Transform Parent, bool active, Vector3 Pos = default(Vector3), Quaternion Quart = default(Quaternion)) { //IL_002c: Unknown result type (might be due to invalid IL or missing references) //IL_002d: Unknown result type (might be due to invalid IL or missing references) //IL_001b: Unknown result type (might be due to invalid IL or missing references) //IL_001c: Unknown result type (might be due to invalid IL or missing references) //IL_00ff: 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_008b: Unknown result type (might be due to invalid IL or missing references) //IL_008c: Unknown result type (might be due to invalid IL or missing references) //IL_00af: Unknown result type (might be due to invalid IL or missing references) //IL_00ce: Unknown result type (might be due to invalid IL or missing references) //IL_00de: Unknown result type (might be due to invalid IL or missing references) EnemyIdentifier val = FindEnemyByType(enemy); EnemyIdentifier val2 = null; GameObject val3 = null; val3 = ((enemy == DetectebleEnemies.CentaurRocketLauncher) ? ((Component)Object.Instantiate(val, Pos, Quart)).gameObject : ((Component)Object.Instantiate(((Component)val).transform.root, Pos, Quart)).gameObject); switch (enemy) { case DetectebleEnemies.BombEnemySpawnerGutterman: ((Component)val3.transform.GetChild(2)).gameObject.SetActive(true); break; case DetectebleEnemies.IdolCase: GameObjectExtensions.GetOrAddComponent(val3); Object.Destroy((Object)(object)((Component)val3.transform.Find("Deathcatcher")).gameObject); val2 = Object.Instantiate(FindEnemyByType(DetectebleEnemies.Idol), Pos, Quart, val3.transform); ((Component)val2).transform.localPosition = new Vector3(2.5f, 1f, 2.5f); ((Component)val2).transform.localRotation = Quaternion.Euler(0f, 90f, 0f); ((Component)val2).transform.localScale = Vector3.one; break; } val3.transform.root.parent = Parent; val3.transform.position = Pos; val3.transform.rotation = Quart; val3.SetActive(active); KeepInBounds val4 = default(KeepInBounds); if (val3.TryGetComponent(ref val4)) { Object.Destroy((Object)(object)val4); } NavMeshAgent val5 = default(NavMeshAgent); if (val3.TryGetComponent(ref val5)) { ((Behaviour)val5).enabled = true; } Fento_Enemy_Tag orAddComponent = GameObjectExtensions.GetOrAddComponent(val3); if (Object.op_Implicit((Object)(object)val2)) { orAddComponent.Awake(); if ((Object)(object)orAddComponent.eid != (Object)(object)val2) { Object.Destroy((Object)(object)((Component)orAddComponent.eid).gameObject); } orAddComponent.eid = val2; orAddComponent.enemy = ((Component)val2).GetComponent(); } orAddComponent.Awake(); return orAddComponent; } public static DetectebleEnemies Get_RandomEnemyType(DetectebleEnemies enemyA, DetectebleEnemies enemyB, float rand = 0.5f) { if (Random.value < rand) { return enemyB; } return enemyA; } public static GameObject GetCaseOpener(this GameObject obj) { if (!Object.op_Implicit((Object)(object)obj)) { return null; } return ((Component)obj.transform.Find("Opener")).gameObject; } public static void DestroyRootOnDeath(this Fento_Enemy_Tag tag) { if (Object.op_Implicit((Object)(object)tag) && Object.op_Implicit((Object)(object)tag.eid)) { ComponentExtensions.GetOrAddComponent((Component)(object)tag.eid).ToDestroy = ((Component)tag).gameObject; } } public static AppearAnimation SetupAppearAnimation(this GameObject obj, float timeMult = 0.5f, Vector3 offset = default(Vector3)) { //IL_0007: Unknown result type (might be due to invalid IL or missing references) //IL_000a: Unknown result type (might be due to invalid IL or missing references) //IL_0010: Unknown result type (might be due to invalid IL or missing references) //IL_0019: Unknown result type (might be due to invalid IL or missing references) //IL_001a: Unknown result type (might be due to invalid IL or missing references) AppearAnimation orAddComponent = GameObjectExtensions.GetOrAddComponent(obj); if (offset != default(Vector3)) { orAddComponent.Offset = offset; } if (timeMult != 0.5f) { orAddComponent.TimeMult = timeMult; } return orAddComponent; } public static void Set_RandomEnemyActivation(EnemyIdentifier[] activators, EnemyIdentifier[] toActivate) { if (activators == null || activators.Length == 0 || toActivate == null || toActivate.Length == 0) { return; } List list = toActivate.OrderBy((EnemyIdentifier x) => Random.value).ToList(); EnemyIdentifier[] array = activators.OrderBy((EnemyIdentifier x) => Random.value).ToArray(); for (int i = 0; i < list.Count; i++) { EnemyIdentifier val = array[i % array.Length]; EnemyIdentifier val2 = list[i]; if ((Object)(object)val != (Object)null && (Object)(object)val2 != (Object)null) { val.Add_ActivateOnDeath(((Component)val2).gameObject); } } } public static ActivateArena Create_ActivateArena(this GameObject obj, bool activated, GameObject[] enemies, Door[] doors) { ActivateArena obj2 = obj.gameObject.AddComponent(); obj2.activated = activated; obj2.enemies = enemies; obj2.doors = doors; return obj2; } public static ActivateNextWave Create_ActivateNextWave(this GameObject obj, int enemyCount, bool activated, bool lastWave, GameObject[] toActivate, GameObject[] nextEnemies, Door[] doors) { ActivateNextWave obj2 = obj.gameObject.AddComponent(); obj2.activated = activated; obj2.lastWave = lastWave; obj2.enemyCount = enemyCount; obj2.toActivate = toActivate; obj2.nextEnemies = nextEnemies; obj2.doors = doors; obj2.doorForward = doors.FirstOrDefault(); return obj2; } public static EnemyIdentifier FindEnemyByType(DetectebleEnemies enemy) { EnemyIdentifier value = null; if (AllEnemiesEids.TryGetValue(enemy, out value) && (Object)(object)value != (Object)null) { return value; } if (AllEnemiesPrefabs.TryGetValue(enemy, out var value2)) { value = value2.GetComponent(); if ((Object)(object)value != (Object)null) { AllEnemiesEids.Add(enemy, value); return value; } value = value2.gameObject.GetComponentInChildren(true); if ((Object)(object)value != (Object)null) { AllEnemiesEids.Add(enemy, value); return value; } value = value2.gameObject.GetComponentInParent(true); if ((Object)(object)value != (Object)null) { AllEnemiesEids.Add(enemy, value); return value; } } return null; } public static GameObject FindObjectByPath(string path) { string[] array = path.Split('/'); if (array.Length == 0) { return null; } GameObject val = FindObjectByDirectPath(path); if ((Object)(object)val != (Object)null) { return val; } return FindObjectByStepwisePath(array); } public static string GetFullRootPath(Transform transform) { string text = ((Object)transform).name; while ((Object)(object)transform.parent != (Object)null) { transform = transform.parent; text = ((Object)transform).name + "/" + text; } return text; } [Obsolete] private static GameObject FindObjectByDirectPath(string path) { GameObject obj = GameObject.Find(path); _ = (Object)(object)obj == (Object)null; return obj; } [Obsolete] private static GameObject FindObjectByStepwisePath(string[] pathParts) { //IL_0032: 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_0043: Unknown result type (might be due to invalid IL or missing references) //IL_0048: Unknown result type (might be due to invalid IL or missing references) GameObject val = null; GameObject[] allObjs = Fento_Core_Loader.AllObjs; foreach (GameObject val2 in allObjs) { if ((Object)(object)val2 == (Object)null || (Object)(object)val2.transform.root != (Object)(object)val2.transform) { continue; } Scene scene = val2.scene; if (((Scene)(ref scene)).IsValid()) { scene = val2.scene; if (((Scene)(ref scene)).isLoaded && ((Object)val2).name == pathParts[0]) { val = val2; break; } } } if ((Object)(object)val == (Object)null) { Fento_Loader._Logger.LogWarning((object)("FindObjectByStepwisePath - Root not found: " + pathParts[0])); return null; } return FindObjectByPathInHierarchy(val, pathParts, 1); } [Obsolete] private static GameObject FindObjectByPathInHierarchy(GameObject parent, string[] pathParts, int index) { //IL_001c: Unknown result type (might be due to invalid IL or missing references) //IL_0022: Expected O, but got Unknown if (index >= pathParts.Length) { return parent; } foreach (Transform item in parent.transform) { Transform val = item; if (((Object)val).name == pathParts[index]) { GameObject val2 = FindObjectByPathInHierarchy(((Component)val).gameObject, pathParts, index + 1); if ((Object)(object)val2 != (Object)null) { return val2; } } } return null; } public static UltrakillEvent Get_UltrakillEvent(GameObject[] toActivateObjects = null, GameObject[] toDisActivateObjects = null, UnityAction onActivate = null, UnityAction onDisActivate = null) { //IL_0000: Unknown result type (might be due to invalid IL or missing references) //IL_0006: Expected O, but got Unknown //IL_0006: Unknown result type (might be due to invalid IL or missing references) //IL_000c: Expected O, but got Unknown //IL_0020: Unknown result type (might be due to invalid IL or missing references) //IL_0025: Unknown result type (might be due to invalid IL or missing references) //IL_0036: Unknown result type (might be due to invalid IL or missing references) //IL_0047: Unknown result type (might be due to invalid IL or missing references) //IL_004e: Unknown result type (might be due to invalid IL or missing references) //IL_0056: Expected O, but got Unknown UnityEvent val = new UnityEvent(); UnityEvent onDisActivate2 = new UnityEvent(); if (onActivate != null) { val.AddListener(onActivate); } if (onDisActivate != null) { val.AddListener(onDisActivate); } return new UltrakillEvent { toActivateObjects = ((toActivateObjects != null) ? toActivateObjects : Array.Empty()), toDisActivateObjects = ((toDisActivateObjects != null) ? toDisActivateObjects : Array.Empty()), onActivate = val, onDisActivate = onDisActivate2 }; } public static int GetTime(int minutes, int seconds) { return seconds + 60 * minutes; } public static float PredictTimeOld(Vector3 pos, float speed, EnemyTarget target) { //IL_000a: Unknown result type (might be due to invalid IL or missing references) //IL_000f: Unknown result type (might be due to invalid IL or missing references) //IL_0014: Unknown result type (might be due to invalid IL or missing references) //IL_0015: Unknown result type (might be due to invalid IL or missing references) if (target == null) { return 0.5f; } return Vector2.Distance(Vector2.op_Implicit(target.position), Vector2.op_Implicit(pos)) / speed; } public static Vector3 GetVector_FromTo(Vector3 from, Vector3 to) { //IL_0000: Unknown result type (might be due to invalid IL or missing references) //IL_0001: Unknown result type (might be due to invalid IL or missing references) //IL_0002: Unknown result type (might be due to invalid IL or missing references) //IL_0007: Unknown result type (might be due to invalid IL or missing references) //IL_000a: Unknown result type (might be due to invalid IL or missing references) Vector3 val = to - from; return ((Vector3)(ref val)).normalized; } public static Vector3 Up(this EnemyTarget target) { //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) return target.trackedTransform.TransformDirection(Vector3.up); } public static Vector3 PredictTargetPosition(ITarget target, float time, bool includeGravity = false, bool assumeGroundMovement = false) { //IL_0020: Unknown result type (might be due to invalid IL or missing references) //IL_0026: 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_0014: Unknown result type (might be due to invalid IL or missing references) //IL_0081: Unknown result type (might be due to invalid IL or missing references) //IL_0086: Unknown result type (might be due to invalid IL or missing references) //IL_0091: Unknown result type (might be due to invalid IL or missing references) //IL_00d3: Unknown result type (might be due to invalid IL or missing references) //IL_00d8: Unknown result type (might be due to invalid IL or missing references) //IL_00d9: Unknown result type (might be due to invalid IL or missing references) //IL_00b0: Unknown result type (might be due to invalid IL or missing references) //IL_00b8: Unknown result type (might be due to invalid IL or missing references) //IL_00c2: Unknown result type (might be due to invalid IL or missing references) //IL_00a8: Unknown result type (might be due to invalid IL or missing references) //IL_005d: Unknown result type (might be due to invalid IL or missing references) //IL_0063: Unknown result type (might be due to invalid IL or missing references) //IL_0068: Unknown result type (might be due to invalid IL or missing references) //IL_0070: Unknown result type (might be due to invalid IL or missing references) //IL_0075: Unknown result type (might be due to invalid IL or missing references) //IL_007a: Unknown result type (might be due to invalid IL or missing references) if ((Object)(object)target.Rigidbody == (Object)null) { return target.Transform.forward; } Vector3 val = target.Rigidbody.velocity * time; if (includeGravity && ((target.isEnemy && !target.Rigidbody.isKinematic) || (target.isPlayer && !MonoSingleton.Instance.gc.onGround))) { val += 0.5f * Physics.gravity * (time * time); } RaycastHit val2 = default(RaycastHit); if (Physics.Raycast(target.Rigidbody.position, val, ref val2, ((Vector3)(ref val)).magnitude, LayerMask.op_Implicit(LayerMaskDefaults.Get((LMD)1)), (QueryTriggerInteraction)1)) { if (!assumeGroundMovement) { return ((RaycastHit)(ref val2)).point; } ((Vector3)(ref val))..ctor(val.x, ((RaycastHit)(ref val2)).point.y, val.z); } return target.Rigidbody.position + val; } public static Vector3 PredictTargetPosition(EnemyTarget target, float time, bool includeGravity = false, bool assumeGroundMovement = false) { //IL_0009: Unknown result type (might be due to invalid IL or missing references) return PredictTargetPosition(GetITarget(target), time, includeGravity, assumeGroundMovement); } public static bool GetTargetPosition(EnemyTarget target, out Vector3 targetPosition) { //IL_0008: Unknown result type (might be due to invalid IL or missing references) //IL_0022: Unknown result type (might be due to invalid IL or missing references) //IL_0027: Unknown result type (might be due to invalid IL or missing references) //IL_003f: 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) //IL_0037: 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_0061: Unknown result type (might be due to invalid IL or missing references) //IL_0059: Unknown result type (might be due to invalid IL or missing references) //IL_0045: 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_006c: Unknown result type (might be due to invalid IL or missing references) TargetHandle targetHandle = GetTargetHandle(target); targetPosition = default(Vector3); if (targetHandle != (TargetHandle)null) { TargetData val = MonoSingleton.Instance.TargetTracker.CalculateData(targetHandle); targetPosition = (((TargetData)(ref val)).target.isPlayer ? val.headPosition : val.position); return true; } if (target != null) { targetPosition = (target.isPlayer ? target.headPosition : target.position); target.GetVelocity(); return true; } return false; } public static bool GetTargetPosition(this Projectile proj, out Vector3 targetPosition) { //IL_0001: Unknown result type (might be due to invalid IL or missing references) //IL_0025: Unknown result type (might be due to invalid IL or missing references) //IL_002a: Unknown result type (might be due to invalid IL or missing references) //IL_0042: Unknown result type (might be due to invalid IL or missing references) //IL_0043: Unknown result type (might be due to invalid IL or missing references) //IL_003a: Unknown result type (might be due to invalid IL or missing references) //IL_003b: 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) //IL_006b: 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_007d: Unknown result type (might be due to invalid IL or missing references) //IL_0088: Unknown result type (might be due to invalid IL or missing references) targetPosition = default(Vector3); if (proj.targetHandle != (TargetHandle)null) { TargetData val = MonoSingleton.Instance.TargetTracker.CalculateData(proj.targetHandle); targetPosition = (((TargetData)(ref val)).target.isPlayer ? val.headPosition : val.position); return true; } if (proj.target != null) { targetPosition = (proj.target.isPlayer ? proj.target.headPosition : proj.target.position); proj.target.GetVelocity(); return true; } return false; } public static Vector3 GetRandomNavMeshPoint(Vector3 origin, float radius) { //IL_0000: Unknown result type (might be due to invalid IL or missing references) //IL_0001: Unknown result type (might be due to invalid IL or missing references) //IL_0007: Unknown result type (might be due to invalid IL or missing references) //IL_000c: 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_001e: Unknown result type (might be due to invalid IL or missing references) NavMeshHit val = default(NavMeshHit); if (NavMesh.SamplePosition(origin + Random.insideUnitSphere * radius, ref val, radius, -1)) { return ((NavMeshHit)(ref val)).position; } return Vector3.zero; } public static Vector3 DeepSearchNavMeshPoint(Vector3 origin, float radius) { //IL_0018: Unknown result type (might be due to invalid IL or missing references) //IL_001d: Unknown result type (might be due to invalid IL or missing references) //IL_0021: Unknown result type (might be due to invalid IL or missing references) //IL_0027: 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_0036: 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_0038: Unknown result type (might be due to invalid IL or missing references) //IL_0039: Unknown result type (might be due to invalid IL or missing references) //IL_003f: Unknown result type (might be due to invalid IL or missing references) //IL_0044: Unknown result type (might be due to invalid IL or missing references) //IL_0046: 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_0060: Unknown result type (might be due to invalid IL or missing references) //IL_0054: Unknown result type (might be due to invalid IL or missing references) for (int i = 0; i <= 35; i++) { float num = 10f * (float)i; float radius2 = radius + 10f * (float)i; Vector3 insideUnitSphere = Random.insideUnitSphere; Vector3 val = ((Vector3)(ref insideUnitSphere)).normalized * num * Random.value; Vector3 randomNavMeshPoint = GetRandomNavMeshPoint(origin + val, radius2); if (randomNavMeshPoint != Vector3.zero) { return randomNavMeshPoint; } } return Vector3.zero; } public static TargetHandle GetTargetHandle(EnemyTarget target) { //IL_000d: Unknown result type (might be due to invalid IL or missing references) //IL_0013: Expected O, but got Unknown ITarget iTarget = GetITarget(target); if (iTarget == null) { return null; } return new TargetHandle(iTarget); } public static ITarget GetITarget(EnemyTarget target) { if (target == null) { return null; } if (target.isPlayer) { return (ITarget)(object)MonoSingleton.Instance; } return (ITarget)(object)((Component)target.enemyIdentifier).GetComponent(); } public static void SetProjTarget(this Projectile proj, EnemyTarget target) { proj.target = target; proj.targetHandle = GetTargetHandle(target); } public static void DissableColliders(this Transform trf, Transform trc, bool ignore = true) { Collider[] componentsInChildren = ((Component)trf).GetComponentsInChildren(); Collider[] componentsInChildren2 = ((Component)trc).GetComponentsInChildren(); Collider[] array = componentsInChildren; foreach (Collider val in array) { Collider[] array2 = componentsInChildren2; foreach (Collider val2 in array2) { Physics.IgnoreCollision(val, val2, ignore); } } } public static void Make_Colored(Transform to_change, Color color, bool keep_a = true, float mult = 0.55f) { //IL_0121: Unknown result type (might be due to invalid IL or missing references) //IL_0126: Unknown result type (might be due to invalid IL or missing references) //IL_0128: Unknown result type (might be due to invalid IL or missing references) //IL_012d: Unknown result type (might be due to invalid IL or missing references) //IL_0049: Unknown result type (might be due to invalid IL or missing references) //IL_004e: Unknown result type (might be due to invalid IL or missing references) //IL_0050: Unknown result type (might be due to invalid IL or missing references) //IL_0055: Unknown result type (might be due to invalid IL or missing references) //IL_014b: Unknown result type (might be due to invalid IL or missing references) //IL_0134: Unknown result type (might be due to invalid IL or missing references) //IL_0099: Unknown result type (might be due to invalid IL or missing references) //IL_009e: Unknown result type (might be due to invalid IL or missing references) //IL_00a0: 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_007d: Unknown result type (might be due to invalid IL or missing references) //IL_0061: Unknown result type (might be due to invalid IL or missing references) //IL_00d4: Unknown result type (might be due to invalid IL or missing references) //IL_00d9: Unknown result type (might be due to invalid IL or missing references) //IL_00db: 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) Renderer[] componentsInChildren = ((Component)to_change).GetComponentsInChildren(true); foreach (Renderer val in componentsInChildren) { if ((Object)(object)val == (Object)null) { continue; } Material[] materials = val.materials; foreach (Material val2 in materials) { if (val2.HasProperty("_Color")) { Color val3 = Color.Lerp(val2.GetColor("_Color"), color, mult); if (keep_a) { float a = val2.GetColor("_Color").a; val3.a = a; } val2.SetColor("_Color", val3); } if (val2.HasProperty("_BaseColor")) { Color val4 = Color.Lerp(val2.GetColor("_BaseColor"), color, mult); if (keep_a) { float a2 = val2.GetColor("_BaseColor").a; val4.a = a2; } val2.SetColor("_BaseColor", Color.Lerp(val2.GetColor("_BaseColor"), color, mult)); } } } Light[] componentsInChildren2 = ((Component)to_change).GetComponentsInChildren(true); foreach (Light val5 in componentsInChildren2) { if (!((Object)(object)val5 == (Object)null)) { Color color2 = Color.Lerp(val5.color, color, mult); if (keep_a) { float a3 = val5.color.a; color2.a = a3; } val5.color = color2; } } } public static Transform[] GetAllChilds(Transform GetFrom) { //IL_0024: Unknown result type (might be due to invalid IL or missing references) //IL_002a: Expected O, but got Unknown if ((Object)(object)GetFrom == (Object)null) { return Array.Empty(); } List list = new List(); foreach (Transform item2 in GetFrom) { Transform item = item2; list.Add(item); } return list.ToArray(); } public static void AddCount(this ref int i, bool[] toCount) { for (int j = 0; j < toCount.Length; j++) { if (toCount[j]) { i++; } } } internal static void BetterDestroy(this GameObject Instance) where T : Component { T[] components = Instance.GetComponents(); for (int i = 0; i < components.Length; i++) { Object.Destroy((Object)(object)components[i]); } } internal static void BetterDestroy(this GameObject Instance, Type T) { Component[] components = Instance.GetComponents(T); for (int i = 0; i < components.Length; i++) { Object.Destroy((Object)(object)components[i]); } } public static T[] Append(this T[] array, T item) { if (array == null) { return new T[1] { item }; } T[] array2 = new T[array.Length + 1]; array.CopyTo(array2, 0); array2[array.Length] = item; return array2; } public static IEnumerable RemoveDestroyed(this IEnumerable array) { List list = array.ToList(); list.RemoveAll(delegate(GameObject obj) { //IL_000a: Unknown result type (might be due to invalid IL or missing references) //IL_000f: Unknown result type (might be due to invalid IL or missing references) //IL_001a: Unknown result type (might be due to invalid IL or missing references) //IL_001f: Unknown result type (might be due to invalid IL or missing references) if (!((Object)(object)obj == (Object)null)) { Scene scene = obj.scene; if (((Scene)(ref scene)).IsValid()) { scene = obj.scene; return !((Scene)(ref scene)).isLoaded; } } return true; }); return list; } public static IEnumerable RemoveNulls(this IEnumerable array) { List list = array.ToList(); list.RemoveAll((T l) => l == null); return list; } public static bool Try_GetFrom_Config(BoolField boolField, bool regular = false) { try { if (boolField != null) { return boolField.value; } } catch { } return regular; } public static float Try_GetFrom_Config(IntField intField, int regular = 1) { try { if (intField != null) { return intField.value; } } catch { } return regular; } public static float Try_GetFrom_Config(FloatField floatField, float regular = 1f) { try { if (floatField != null) { return floatField.value; } } catch { } return regular; } public static KeyCode Try_GetFrom_Config(KeyCodeField keyCodeField, KeyCode regular = 0) { //IL_0004: Unknown result type (might be due to invalid IL or missing references) //IL_0009: Unknown result type (might be due to invalid IL or missing references) //IL_0011: Unknown result type (might be due to invalid IL or missing references) //IL_0013: Unknown result type (might be due to invalid IL or missing references) try { if (keyCodeField != null) { return keyCodeField.value; } } catch { } return regular; } public static T Try_GetFrom_Config(EnumField enumField, T regular) where T : struct { try { if (enumField != null) { return enumField.value; } } catch { } return regular; } public static void SetField(this object obj, string nameField, object value) { Type type = obj.GetType(); IEnumerable source = from field in type.GetFields(allBindingFlags) where field.Name == nameField select field; if (source.Count() > 0) { source.FirstOrDefault().SetValue(obj, value); return; } IEnumerable source2 = from method in type.GetMethods(allBindingFlags) where method.Name == "set_" + nameField select method; if (source2.Count() > 0) { source2.FirstOrDefault().Invoke(obj, new object[1] { value }); } } public static object GetField(this object obj, string nameField) { Type type = obj.GetType(); IEnumerable source = from field in type.GetFields(allBindingFlags) where field.Name == nameField select field; if (source.Count() > 0) { return source.FirstOrDefault().GetValue(obj); } IEnumerable source2 = from method in type.GetMethods(allBindingFlags) where method.Name == "get_" + nameField select method; if (source2.Count() > 0) { return source2.FirstOrDefault().Invoke(obj, Array.Empty()); } return null; } public static T GetField(this object obj, string nameField) { return (T)obj.GetField(nameField); } public static object InvokeMethod(this object obj, string nameMethod, params object[] args) { return obj.GetType().GetMethod(nameMethod, allBindingFlags).Invoke(obj, args); } public static GameObject MakeEmpty(Transform parent, string name) { //IL_0001: Unknown result type (might be due to invalid IL or missing references) //IL_0007: Expected O, but got Unknown //IL_0035: Unknown result type (might be due to invalid IL or missing references) //IL_0023: Unknown result type (might be due to invalid IL or missing references) GameObject val = new GameObject(name); val.transform.SetParent(parent); if ((Object)(object)parent != (Object)null) { val.transform.position = parent.position; } else { val.transform.position = Vector3.zero; } return val; } public static GameObject MakeTrigger(Transform roomTransform, string name, Vector3 corner, Vector3 oppositeCorner) { //IL_002c: Unknown result type (might be due to invalid IL or missing references) //IL_0032: Unknown result type (might be due to invalid IL or missing references) //IL_003f: Unknown result type (might be due to invalid IL or missing references) //IL_0045: Unknown result type (might be due to invalid IL or missing references) //IL_0052: Unknown result type (might be due to invalid IL or missing references) //IL_0058: 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_0070: Unknown result type (might be due to invalid IL or missing references) //IL_0076: Unknown result type (might be due to invalid IL or missing references) //IL_0082: Unknown result type (might be due to invalid IL or missing references) //IL_0088: Unknown result type (might be due to invalid IL or missing references) //IL_0094: Unknown result type (might be due to invalid IL or missing references) //IL_009a: Unknown result type (might be due to invalid IL or missing references) //IL_00a6: Unknown result type (might be due to invalid IL or missing references) //IL_00b7: Unknown result type (might be due to invalid IL or missing references) //IL_00c2: Unknown result type (might be due to invalid IL or missing references) //IL_00e7: Unknown result type (might be due to invalid IL or missing references) //IL_00f3: Unknown result type (might be due to invalid IL or missing references) GameObject obj = MakeEmpty(roomTransform, "Trigger " + name); obj.layer = LayerMask.NameToLayer("Invisible"); obj.transform.position = new Vector3(0.5f * (corner.x + oppositeCorner.x), 0.5f * (corner.y + oppositeCorner.y), 0.5f * (corner.z + oppositeCorner.z)); obj.transform.localScale = new Vector3(Mathf.Abs(corner.x - oppositeCorner.x), Mathf.Abs(corner.y - oppositeCorner.y), Mathf.Abs(corner.z - oppositeCorner.z)); BoxCollider obj2 = obj.AddComponent(); obj2.center = Vector3.zero; obj2.size = Vector3.one; ((Collider)obj2).isTrigger = true; ((Collider)obj2).contactOffset = 0.01f; ((Collider)obj2).hasModifiableContacts = false; ((Collider)obj2).excludeLayers = LayerMask.op_Implicit(0); ((Collider)obj2).includeLayers = LayerMask.op_Implicit(0); ((Collider)obj2).layerOverridePriority = 0; ((Collider)obj2).providesContacts = false; ((Collider)obj2).enabled = true; return obj; } public static ActivateArena AddArena(GameObject trigger, Door[] doors, bool onlyWave = false) { ActivateArena obj = trigger.AddComponent(); obj.doors = doors; obj.onlyWave = onlyWave; obj.forEnemy = false; obj.enemies = Array.Empty(); return obj; } public static CheckPoint MakeCheckpoint(string name, Vector3 position, Quaternion rotation, GameObject toActivate, Door[] doorsToUnlock, GameObject[] rooms = null, List roomsToInherit = null, bool reusable = false, bool inheritAllRooms = false, bool forceOff = false, bool invisible = false, UnityEvent onRestart = null) { //IL_001a: Unknown result type (might be due to invalid IL or missing references) //IL_001b: Unknown result type (might be due to invalid IL or missing references) //IL_008a: Unknown result type (might be due to invalid IL or missing references) //IL_0094: Expected O, but got Unknown CheckPoint component = Object.Instantiate((!reusable) ? Fento_Assets.Checkpoint.obj : Fento_Assets.CheckpointReusable.obj, position, rotation).GetComponent(); ((Object)component).name = "Checkpoint " + name; component.toActivate = toActivate; component.doorsToUnlock = doorsToUnlock; component.rooms = rooms ?? Array.Empty(); component.roomsToInherit = roomsToInherit ?? new List(); component.inheritAllRooms = inheritAllRooms; component.startOff = forceOff; component.invisible = invisible; if (component.onRestart == null) { component.onRestart = new UnityEvent(); } ConfigureCheckpoint(component, disableDuringCombat: false, unlockAllDoors: false, Array.Empty()); return component; } public static void BetterConfigureCheckpoint(CheckPoint checkpoint, GameObject toActivate, Door[] doorsToUnlock, GameObject[] rooms = null, List roomsToInherit = null, bool reusable = false, bool inheritAllRooms = false, bool forceOff = false, bool invisible = false, UnityEvent onRestart = null) { //IL_0050: Unknown result type (might be due to invalid IL or missing references) //IL_005a: Expected O, but got Unknown checkpoint.toActivate = toActivate; checkpoint.doorsToUnlock = doorsToUnlock; checkpoint.rooms = rooms ?? Array.Empty(); checkpoint.roomsToInherit = roomsToInherit ?? new List(); checkpoint.inheritAllRooms = inheritAllRooms; checkpoint.startOff = forceOff; checkpoint.invisible = invisible; if (checkpoint.onRestart == null) { checkpoint.onRestart = new UnityEvent(); } ConfigureCheckpoint(checkpoint, disableDuringCombat: false, unlockAllDoors: false, Array.Empty()); } public static void ConfigureCheckpoint(CheckPoint checkpoint, bool disableDuringCombat = false, bool unlockAllDoors = false, Door[] doorsToIgnore = null) { checkpoint.disableDuringCombat = disableDuringCombat; checkpoint.unlockAllDoors = unlockAllDoors; checkpoint.doorsToIgnore = doorsToIgnore ?? Array.Empty(); } public static GameObject UpdateInheritedRoomInCheckpoint(Transform targetRoom, CheckPoint checkpoint) { for (int i = 0; i < checkpoint.roomsToInherit.Count; i++) { if (!(((Object)checkpoint.roomsToInherit[i]).name != ((Object)targetRoom).name)) { checkpoint.i = i; checkpoint.roomsToInherit[i] = ((Component)targetRoom).gameObject; return ((Component)targetRoom).gameObject; } } return null; } public static GameObject AddInheritedRoomToCheckpoint(Transform targetRoom, CheckPoint checkpoint) { _ = checkpoint.roomsToInherit.Count; checkpoint.roomsToInherit.Add(((Component)targetRoom).gameObject); return ((Component)targetRoom).gameObject; } public static void ClearAndInheritAllRooms() { CheckPoint[] array = Object.FindObjectsByType((FindObjectsInactive)1, (FindObjectsSortMode)0); foreach (CheckPoint obj in array) { obj.rooms = Array.Empty(); obj.roomsToInherit = new List(); obj.inheritAllRooms = true; } } public static Transform PlaceTerminalTestament(Transform roomTransform, string message, Vector3 position, Quaternion rotation, bool hasMusic = false, float secondsBetweenLetters = 0.025f) { //IL_000a: 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) Transform transform = Object.Instantiate(Fento_Assets.TerminalTestament.obj, position, rotation).transform; transform.SetParent(roomTransform); if (!hasMusic) { ((Component)transform.Find("Music")).gameObject.SetActive(false); ((ScreenZone)((Component)transform).GetComponent()).muteMusic = false; } ScrollingText componentInChildren = ((Component)transform).GetComponentInChildren(true); SimpleScrollingText simpleScrollingText = ((Component)componentInChildren).gameObject.AddComponent(); Object.Destroy((Object)(object)componentInChildren); simpleScrollingText.secondsBetweenLetters = secondsBetweenLetters; ((Component)simpleScrollingText).GetComponent().text = message; return transform; } public static SimpleScrollingTextActivator AddScrollingTextActivator(GameObject obj, SimpleScrollingText simpleScrollingText) { simpleScrollingText.running = false; SimpleScrollingTextActivator simpleScrollingTextActivator = obj.AddComponent(); simpleScrollingTextActivator.simpleScrollingText = simpleScrollingText; return simpleScrollingTextActivator; } public static Transform PlaceAltarRed(Transform roomTransform, bool hasSkull, Vector3 position, Quaternion rotation, Door[] doors = null, Door[] reverseDoors = null, GameObject[] activateOnSuccess = null, GameObject[] deactivateOnSuccess = null, GameObject[] activateOnFailure = null) { //IL_0069: Unknown result type (might be due to invalid IL or missing references) //IL_006a: Unknown result type (might be due to invalid IL or missing references) //IL_0049: Unknown result type (might be due to invalid IL or missing references) //IL_004a: Unknown result type (might be due to invalid IL or missing references) //IL_0119: Unknown result type (might be due to invalid IL or missing references) if (doors == null) { doors = (Door[])(object)new Door[0]; } if (reverseDoors == null) { reverseDoors = (Door[])(object)new Door[0]; } if (activateOnSuccess == null) { activateOnSuccess = (GameObject[])(object)new GameObject[0]; } if (deactivateOnSuccess == null) { deactivateOnSuccess = (GameObject[])(object)new GameObject[0]; } if (activateOnFailure == null) { activateOnFailure = (GameObject[])(object)new GameObject[0]; } Transform transform; if (hasSkull) { transform = Object.Instantiate(Fento_Assets.AltarRed.obj, position, rotation).transform; transform.SetParent(roomTransform); } else { transform = Object.Instantiate(Fento_Assets.Altar.obj, position, rotation).transform; transform.SetParent(roomTransform); Transform obj = transform.Find("Altars"); ((Component)obj.Find("Altar_Salt")).gameObject.SetActive(false); ((Component)obj.Find("Altar_Sulfur")).gameObject.SetActive(true); } ItemPlaceZone componentInChildren = ((Component)transform).GetComponentInChildren(true); componentInChildren.doors = doors; componentInChildren.reverseDoors = reverseDoors; componentInChildren.activateOnSuccess = activateOnSuccess; componentInChildren.deactivateOnSuccess = deactivateOnSuccess; componentInChildren.activateOnFailure = activateOnFailure; componentInChildren.GetDoorBounds(doors, componentInChildren.doorsBounds); componentInChildren.GetDoorBounds(reverseDoors, componentInChildren.reverseDoorsBounds); AddDoorHelper(doors, componentInChildren); AddDoorHelper(reverseDoors, componentInChildren, reversed: true); if (!hasSkull) { componentInChildren.acceptedItemType = (ItemType)2; } return transform; } public static Transform PlaceAltarBlue(Transform roomTransform, bool hasSkull, Vector3 position, Quaternion rotation, Door[] doors = null, Door[] reverseDoors = null, GameObject[] activateOnSuccess = null, GameObject[] deactivateOnSuccess = null, GameObject[] activateOnFailure = null) { //IL_0069: Unknown result type (might be due to invalid IL or missing references) //IL_006a: Unknown result type (might be due to invalid IL or missing references) //IL_0049: Unknown result type (might be due to invalid IL or missing references) //IL_004a: Unknown result type (might be due to invalid IL or missing references) //IL_0119: Unknown result type (might be due to invalid IL or missing references) if (doors == null) { doors = (Door[])(object)new Door[0]; } if (reverseDoors == null) { reverseDoors = (Door[])(object)new Door[0]; } if (activateOnSuccess == null) { activateOnSuccess = (GameObject[])(object)new GameObject[0]; } if (deactivateOnSuccess == null) { deactivateOnSuccess = (GameObject[])(object)new GameObject[0]; } if (activateOnFailure == null) { activateOnFailure = (GameObject[])(object)new GameObject[0]; } Transform transform; if (hasSkull) { transform = Object.Instantiate(Fento_Assets.AltarBlue.obj, position, rotation).transform; transform.SetParent(roomTransform); } else { transform = Object.Instantiate(Fento_Assets.Altar.obj, position, rotation).transform; transform.SetParent(roomTransform); Transform obj = transform.Find("Altars"); ((Component)obj.Find("Altar_Salt")).gameObject.SetActive(false); ((Component)obj.Find("Altar_Mercury")).gameObject.SetActive(true); } ItemPlaceZone componentInChildren = ((Component)transform).GetComponentInChildren(true); componentInChildren.doors = doors; componentInChildren.reverseDoors = reverseDoors; componentInChildren.activateOnSuccess = activateOnSuccess; componentInChildren.deactivateOnSuccess = deactivateOnSuccess; componentInChildren.activateOnFailure = activateOnFailure; componentInChildren.GetDoorBounds(doors, componentInChildren.doorsBounds); componentInChildren.GetDoorBounds(reverseDoors, componentInChildren.reverseDoorsBounds); AddDoorHelper(doors, componentInChildren); AddDoorHelper(reverseDoors, componentInChildren, reversed: true); if (!hasSkull) { componentInChildren.acceptedItemType = (ItemType)1; } return transform; } public static void AddDoorHelper(Door[] doors, ItemPlaceZone itemPlaceZone, bool reversed = false) { //IL_0029: Unknown result type (might be due to invalid IL or missing references) foreach (Door val in doors) { Transform val2 = ((Component)val).transform.Find("NemesisDoorHelper"); if ((Object)(object)val2 == (Object)null) { val2 = new GameObject("NemesisDoorHelper").transform; val2.SetParent(((Component)val).transform); } DoorAltarHelper orAddComponent = ComponentExtensions.GetOrAddComponent((Component)(object)val2); orAddComponent.itemPlaceZones = CollectionExtensions.AddToArray(orAddComponent.itemPlaceZones, itemPlaceZone); orAddComponent.door = val; orAddComponent.reversed = reversed; } } } public class DestroyOnDeath : MonoBehaviour { public EnemyIdentifier eid; public GameObject ToDestroy; public void Start() { //IL_0039: Unknown result type (might be due to invalid IL or missing references) //IL_0043: Expected O, but got Unknown eid = ((Component)this).GetComponent(); if (!Object.op_Implicit((Object)(object)eid) || !Object.op_Implicit((Object)(object)ToDestroy)) { return; } eid.onDeath.AddListener((UnityAction)delegate { if ((Object)(object)ToDestroy != (Object)null) { Object.Destroy((Object)(object)ToDestroy); } }); } } public class DestroyWithIdol : MonoBehaviour { public EnemyIdentifier eid; public EnemyIdentifier idol; public void Start() { //IL_0039: Unknown result type (might be due to invalid IL or missing references) //IL_0043: Expected O, but got Unknown eid = ((Component)this).GetComponent(); if (!Object.op_Implicit((Object)(object)eid) || !Object.op_Implicit((Object)(object)idol)) { return; } eid.onDeath.AddListener((UnityAction)delegate { if ((Object)(object)idol != (Object)null && (Object)(object)idol.idol != (Object)null) { idol.Death(); if (Object.op_Implicit((Object)(object)idol) && ((Component)idol).gameObject.activeSelf) { idol.Death(); } } }); } } public class ActivateWith : MonoBehaviour { public EnemyIdentifier idol; public void Start() { if (Object.op_Implicit((Object)(object)idol)) { ((Component)idol).gameObject.SetActive(true); } } } public class Waiter : MonoBehaviour { } } namespace FentoKill.UltraEnraged { public class MakeArmored : MonoBehaviour { public EnemyIdentifier eid; public float UnMakeAfter; public bool Notify; public void Start() { eid = ((Component)this).GetComponent(); if (!Object.op_Implicit((Object)(object)eid) || ((Component)((Component)eid).transform).tag == "Armor") { return; } if (Notify) { MonoSingleton.Instance.AddPoints(50, "ARMOR TIME", (GameObject)null, (EnemyIdentifier)null, -1, "", ""); } if (UnMakeAfter != 0f) { string ogTag = ((Component)((Component)eid).transform).tag; int ogLayer = ((Component)eid).gameObject.layer; Main_Utils.Invoke_WithDelay(UnMakeAfter, delegate { if (Object.op_Implicit((Object)(object)eid)) { if (Notify) { MonoSingleton.Instance.AddPoints(50, "UN ARMOR TIME", (GameObject)null, (EnemyIdentifier)null, -1, "", ""); } ((Component)((Component)eid).transform).tag = ogTag; ((Component)eid).gameObject.layer = ogLayer; } }); } ((Component)((Component)eid).transform).tag = "Armor"; ((Component)eid).gameObject.layer = 26; } } public class Filth_Rage_IQ : MonoBehaviour { public static bool GlobalWait; public Enemy mach; public ZombieMelee zomb; public EnemyIdentifier eid; public Animator anim; public Rigidbody rb; public NavMeshAgent nma; public float JumpTimer; public float Timer; public float ExplodeTimer = 1f; public void Start() { GlobalWait = false; mach = ((Component)this).GetComponent(); zomb = ((Component)this).GetComponent(); eid = ((Component)this).GetComponent(); anim = ((Component)this).GetComponent(); rb = ((Component)this).GetComponent(); nma = ((Component)this).GetComponent(); if (Object.op_Implicit((Object)(object)zomb)) { zomb.defaultCoolDown = 0.5f; } } public void FixedUpdate() { //IL_0095: Unknown result type (might be due to invalid IL or missing references) //IL_009c: Unknown result type (might be due to invalid IL or missing references) //IL_00a1: Unknown result type (might be due to invalid IL or missing references) //IL_00a6: Unknown result type (might be due to invalid IL or missing references) //IL_01d1: Unknown result type (might be due to invalid IL or missing references) //IL_01dc: Unknown result type (might be due to invalid IL or missing references) //IL_01e1: Unknown result type (might be due to invalid IL or missing references) //IL_01e5: Unknown result type (might be due to invalid IL or missing references) //IL_01ef: Unknown result type (might be due to invalid IL or missing references) //IL_01f4: 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_020a: Unknown result type (might be due to invalid IL or missing references) //IL_0214: Unknown result type (might be due to invalid IL or missing references) //IL_0219: Unknown result type (might be due to invalid IL or missing references) //IL_02f3: Unknown result type (might be due to invalid IL or missing references) //IL_02ff: Unknown result type (might be due to invalid IL or missing references) //IL_0239: 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_0314: Unknown result type (might be due to invalid IL or missing references) //IL_031b: Unknown result type (might be due to invalid IL or missing references) //IL_026a: Unknown result type (might be due to invalid IL or missing references) //IL_027a: Unknown result type (might be due to invalid IL or missing references) //IL_027f: Unknown result type (might be due to invalid IL or missing references) //IL_028a: Unknown result type (might be due to invalid IL or missing references) //IL_028f: Unknown result type (might be due to invalid IL or missing references) //IL_0294: Unknown result type (might be due to invalid IL or missing references) //IL_0298: Unknown result type (might be due to invalid IL or missing references) //IL_029d: Unknown result type (might be due to invalid IL or missing references) //IL_02a6: Unknown result type (might be due to invalid IL or missing references) //IL_02ab: Unknown result type (might be due to invalid IL or missing references) //IL_02b2: Unknown result type (might be due to invalid IL or missing references) //IL_02b7: Unknown result type (might be due to invalid IL or missing references) //IL_02d8: Unknown result type (might be due to invalid IL or missing references) //IL_02dd: Unknown result type (might be due to invalid IL or missing references) //IL_02e4: Unknown result type (might be due to invalid IL or missing references) //IL_02e9: Unknown result type (might be due to invalid IL or missing references) //IL_0335: Unknown result type (might be due to invalid IL or missing references) //IL_033a: Unknown result type (might be due to invalid IL or missing references) //IL_033f: Unknown result type (might be due to invalid IL or missing references) //IL_0344: Unknown result type (might be due to invalid IL or missing references) //IL_034b: Unknown result type (might be due to invalid IL or missing references) //IL_0350: Unknown result type (might be due to invalid IL or missing references) //IL_0355: Unknown result type (might be due to invalid IL or missing references) //IL_035a: Unknown result type (might be due to invalid IL or missing references) //IL_035f: Unknown result type (might be due to invalid IL or missing references) //IL_0360: Unknown result type (might be due to invalid IL or missing references) //IL_0365: Unknown result type (might be due to invalid IL or missing references) //IL_0370: Unknown result type (might be due to invalid IL or missing references) //IL_0375: Unknown result type (might be due to invalid IL or missing references) //IL_037a: 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_0136: Unknown result type (might be due to invalid IL or missing references) //IL_013d: Unknown result type (might be due to invalid IL or missing references) //IL_0158: Unknown result type (might be due to invalid IL or missing references) //IL_015d: Unknown result type (might be due to invalid IL or missing references) //IL_0168: Unknown result type (might be due to invalid IL or missing references) if ((Object)(object)zomb == (Object)null || !Object.op_Implicit((Object)(object)eid) || eid.dead || eid.target == null) { return; } JumpTimer += Time.fixedDeltaTime * 0.1f; Timer += Time.fixedDeltaTime; ExplodeTimer += Time.fixedDeltaTime; Main_Utils.GetTargetPosition(eid.target, out var targetPosition); if (zomb.diving) { Vector3 val = targetPosition - ((Component)this).transform.position; if (!GlobalWait && ExplodeTimer > 2f && rb.velocity.y > -1f && ((Vector3)(ref val)).magnitude < 3.5f) { GlobalWait = true; Main_Utils.Invoke_WithDelay(1f, delegate { GlobalWait = false; }); ExplodeTimer = 0f; Explosion[] componentsInChildren = Object.Instantiate(Fento_Assets.ExplosionBig.gameObject, ((Component)this).transform.position + ((Vector3)(ref val)).normalized * Mathf.Clamp(((Vector3)(ref val)).magnitude, 0f, 4f), ((Component)this).transform.rotation).GetComponentsInChildren(); foreach (Explosion obj in componentsInChildren) { obj.toIgnore.Add((EnemyType)3); obj.enemy = true; obj.damage = (int)((float)obj.damage / 1.3f); } } } if (!(Timer > 0.5f)) { return; } Timer = 0f; Rigidbody obj2 = rb; Vector3 velocity = obj2.velocity; Vector3 velocity2 = rb.velocity; obj2.velocity = velocity + ((Vector3)(ref velocity2)).normalized * 5f; Rigidbody obj3 = rb; obj3.velocity += Vector3.up * -10f; if (zomb.diving && rb.velocity.y > 1f) { zomb.DamageStart(); Vector3 val2 = Main_Utils.PredictTargetPosition(eid.target, 0.1f, includeGravity: true) + eid.target.Up() - ((Component)this).transform.position; Vector3 normalized = ((Vector3)(ref val2)).normalized; Rigidbody obj4 = rb; obj4.velocity += normalized * 30f; normalized.y *= 0.1f; Rigidbody obj5 = rb; obj5.velocity += normalized * 20f; } if (targetPosition.y > ((Component)this).transform.position.y + 4f && Vector3.Distance(targetPosition, ((Component)this).transform.position) > 10f && !Physics.Raycast(((Component)this).transform.position + Vector3.up, targetPosition - (((Component)this).transform.position + Vector3.up), Vector3.Distance(targetPosition + Vector3.up, ((Component)this).transform.position + Vector3.up), LayerMask.op_Implicit(LayerMaskDefaults.Get((LMD)1)))) { if (zomb.diving) { zomb.JumpAttack(); } else if (Random.value < 0.5f * Mathf.Clamp01(JumpTimer)) { JumpTimer = 0f; zomb.JumpAttack(); } } } } public class Husk_Shoot_Range_IQ : MonoBehaviour { public ZombieProjectiles zomb; public Zombie zmb; public EnemyIdentifier eid; public Animator anim; public Rigidbody rb; public NavMeshAgent nma; public float Timer; public void Start() { zomb = ((Component)this).GetComponent(); zmb = ((Component)this).GetComponent(); eid = ((Component)this).GetComponent(); anim = ((Component)this).GetComponent(); rb = ((Component)this).GetComponent(); nma = ((Component)this).GetComponent(); } public void FixedUpdate() { //IL_00cc: Unknown result type (might be due to invalid IL or missing references) //IL_00d1: Unknown result type (might be due to invalid IL or missing references) //IL_00f2: Unknown result type (might be due to invalid IL or missing references) //IL_00f7: Unknown result type (might be due to invalid IL or missing references) //IL_0165: Unknown result type (might be due to invalid IL or missing references) //IL_016a: Unknown result type (might be due to invalid IL or missing references) //IL_016d: Unknown result type (might be due to invalid IL or missing references) //IL_0177: Unknown result type (might be due to invalid IL or missing references) //IL_017c: Unknown result type (might be due to invalid IL or missing references) //IL_018f: Unknown result type (might be due to invalid IL or missing references) if (!Object.op_Implicit((Object)(object)eid) || eid.dead || eid.target == null || (Object)(object)zomb == (Object)null || zomb.stationary || ((Behaviour)nma).enabled) { return; } Timer += Time.fixedDeltaTime; if (!(Timer > 0.25f)) { return; } Timer = 0f; if (((Enemy)zmb).falling || (((Behaviour)nma).enabled && !nma.isOnNavMesh)) { return; } Main_Utils.GetTargetPosition(eid.target, out var targetPosition); Vector3 ogPos = ((Component)this).transform.position; Main_Utils.Invoke_WithDelay(0.11f, delegate { //IL_0042: Unknown result type (might be due to invalid IL or missing references) if (((Enemy)zmb).falling || (((Behaviour)nma).enabled && !nma.isOnNavMesh)) { ((Component)this).transform.position = ogPos; } }); if (Vector3.Distance(((Component)this).transform.position, targetPosition) < 13f) { Timer = -1f; zomb.MoveForward(-5f / anim.speed / eid.totalSpeedModifier); ((MonoBehaviour)zomb).Invoke("StopMoveForward", 0.1f); return; } ((Behaviour)nma).enabled = false; rb.isKinematic = false; Vector3 insideUnitSphere = Random.insideUnitSphere; Vector3 velocity = ((Vector3)(ref insideUnitSphere)).normalized * 35f; velocity.y = 0f; rb.velocity = velocity; ((MonoBehaviour)zomb).Invoke("StopMoveForward", 0.1f); } } public class Shoot_OneTime_Protect_IQ : MonoBehaviour { public EnemyIdentifier eid; public void Start() { //IL_004c: Unknown result type (might be due to invalid IL or missing references) //IL_0056: Expected O, but got Unknown eid = ((Component)this).GetComponent(); if ((Object)(object)eid == (Object)null) { Object.Destroy((Object)(object)this); return; } EnemyIdentifier eid2 = eid; eid2.onDeath.AddListener((UnityAction)delegate { //IL_0016: Unknown result type (might be due to invalid IL or missing references) //IL_001d: Invalid comparison between Unknown and I4 //IL_005a: Unknown result type (might be due to invalid IL or missing references) //IL_005f: Unknown result type (might be due to invalid IL or missing references) //IL_0069: Unknown result type (might be due to invalid IL or missing references) //IL_006e: Unknown result type (might be due to invalid IL or missing references) //IL_0073: Unknown result type (might be due to invalid IL or missing references) //IL_0078: Unknown result type (might be due to invalid IL or missing references) //IL_007d: Unknown result type (might be due to invalid IL or missing references) //IL_00a8: Unknown result type (might be due to invalid IL or missing references) //IL_00b7: Unknown result type (might be due to invalid IL or missing references) //IL_00c3: 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) if (Object.op_Implicit((Object)(object)eid2) && (int)eid2.enemyType == 14 && eid2.target != null) { Main_Utils.GetTargetPosition(eid2.target, out var targetPosition); Projectile component = Object.Instantiate(Fento_Assets.ProjectileExplosiveHH_BigYellow.gameObject, ((Component)eid2).transform.position + Vector3.up * 3f + Random.insideUnitSphere, Quaternion.identity).GetComponent(); Main_Utils.Setup_GoreZone_Obj(((Component)component).gameObject, ((Component)eid2).gameObject); ((Component)component).transform.LookAt(targetPosition); component.ignoreExplosions = true; component.homingType = (HomingType)1; component.safeEnemyType = eid2.enemyType; component.targetHandle = Main_Utils.GetTargetHandle(eid2.target); component.speed = Random.Range(5f, 10f); } if (Object.op_Implicit((Object)(object)this)) { Object.Destroy((Object)(object)this); } }); } public void FixedUpdate() { //IL_0056: 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) //IL_0071: Unknown result type (might be due to invalid IL or missing references) //IL_0076: 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_0080: Unknown result type (might be due to invalid IL or missing references) //IL_0087: Unknown result type (might be due to invalid IL or missing references) //IL_008c: Unknown result type (might be due to invalid IL or missing references) //IL_0091: Unknown result type (might be due to invalid IL or missing references) //IL_0096: Unknown result type (might be due to invalid IL or missing references) //IL_009b: 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_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_00b7: Unknown result type (might be due to invalid IL or missing references) //IL_00d7: Unknown result type (might be due to invalid IL or missing references) //IL_00de: Invalid comparison between Unknown and I4 //IL_0202: Unknown result type (might be due to invalid IL or missing references) //IL_020c: Unknown result type (might be due to invalid IL or missing references) //IL_0123: Unknown result type (might be due to invalid IL or missing references) //IL_012a: Invalid comparison between Unknown and I4 //IL_0130: Unknown result type (might be due to invalid IL or missing references) //IL_0137: Invalid comparison between Unknown and I4 //IL_013d: Unknown result type (might be due to invalid IL or missing references) //IL_0143: Invalid comparison between Unknown and I4 //IL_0149: Unknown result type (might be due to invalid IL or missing references) //IL_0150: Invalid comparison between Unknown and I4 //IL_0186: Unknown result type (might be due to invalid IL or missing references) //IL_0190: Unknown result type (might be due to invalid IL or missing references) if (!Object.op_Implicit((Object)(object)eid) || eid.dead || eid.target == null) { return; } Main_Utils.GetTargetPosition(eid.target, out var targetPosition); if (!eid.target.isPlayer || !(Vector3.Distance(((Component)this).transform.position, targetPosition) < 8f) || Physics.Raycast(((Component)this).transform.position + Vector3.up, targetPosition - (((Component)this).transform.position + Vector3.up), Vector3.Distance(targetPosition, ((Component)this).transform.position + Vector3.up), LayerMask.op_Implicit(LayerMaskDefaults.Get((LMD)1)))) { return; } Object.Destroy((Object)(object)this); if ((int)eid.enemyType == 14) { EnemyIdentifier[] array = Object.FindObjectsOfType(); foreach (EnemyIdentifier val in array) { if (!Object.op_Implicit((Object)(object)val) || (Object)(object)val == (Object)(object)eid || val.dead || (int)val.enemyType == 21 || (int)val.enemyType == 10 || (int)val.enemyType == 8 || (int)val.enemyType == 22) { continue; } EnemyIdentifier idol = val.Make_IdolMerged(enableIdol: true); idol.idol.overrideTarget = eid; Transform transform = ((Component)idol).transform; transform.localScale *= 0.4f; idol.Make_Puppet_OnStart(); ComponentExtensions.GetOrAddComponent((Component)(object)idol); Main_Utils.Invoke_WithDelay(6f, delegate { if ((Object)(object)idol != (Object)null && (Object)(object)idol.idol != (Object)null) { idol.idol.Death(); if (Object.op_Implicit((Object)(object)idol) && ((Component)idol).gameObject.activeSelf) { idol.idol.Death(); } } }); break; } return; } EnemyIdentifier idol2 = eid.Make_IdolMerged(enableIdol: true); Transform transform2 = ((Component)idol2).transform; transform2.localScale *= 0.6f; idol2.Make_Puppet_OnStart(); ComponentExtensions.GetOrAddComponent((Component)(object)idol2); Main_Utils.Invoke_WithDelay(8f, delegate { if ((Object)(object)idol2 != (Object)null && (Object)(object)idol2.idol != (Object)null) { idol2.idol.Death(); if (Object.op_Implicit((Object)(object)idol2) && ((Component)idol2).gameObject.activeSelf) { idol2.idol.Death(); } } }); ComponentExtensions.GetOrAddComponent((Component)(object)eid).Obj_ToKeep = ((Component)idol2).gameObject; } } public class Soldier_AutoAir_IQ : MonoBehaviour { [CompilerGenerated] private sealed class d__7 : IEnumerator, IDisposable, IEnumerator { private int <>1__state; private object <>2__current; public Soldier_AutoAir_IQ <>4__this; private NewMovement 5__2; private bool 5__3; object IEnumerator.Current { [DebuggerHidden] get { return <>2__current; } } object IEnumerator.Current { [DebuggerHidden] get { return <>2__current; } } [DebuggerHidden] public d__7(int <>1__state) { this.<>1__state = <>1__state; } [DebuggerHidden] void IDisposable.Dispose() { 5__2 = null; <>1__state = -2; } private bool MoveNext() { //IL_0056: 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) //IL_0065: Unknown result type (might be due to invalid IL or missing references) //IL_006a: Unknown result type (might be due to invalid IL or missing references) //IL_006f: Unknown result type (might be due to invalid IL or missing references) //IL_0081: Unknown result type (might be due to invalid IL or missing references) //IL_008b: Unknown result type (might be due to invalid IL or missing references) //IL_00a6: Unknown result type (might be due to invalid IL or missing references) //IL_036d: Unknown result type (might be due to invalid IL or missing references) //IL_0377: Expected O, but got Unknown //IL_03ba: Unknown result type (might be due to invalid IL or missing references) //IL_03c4: Expected O, but got Unknown //IL_0416: 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_00ce: Unknown result type (might be due to invalid IL or missing references) //IL_00d3: Unknown result type (might be due to invalid IL or missing references) //IL_00dd: 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_00e7: Unknown result type (might be due to invalid IL or missing references) //IL_00f9: Unknown result type (might be due to invalid IL or missing references) //IL_0103: Unknown result type (might be due to invalid IL or missing references) //IL_011e: Unknown result type (might be due to invalid IL or missing references) //IL_0146: Unknown result type (might be due to invalid IL or missing references) //IL_014b: Unknown result type (might be due to invalid IL or missing references) //IL_0155: Unknown result type (might be due to invalid IL or missing references) //IL_015a: Unknown result type (might be due to invalid IL or missing references) //IL_015f: Unknown result type (might be due to invalid IL or missing references) //IL_0171: Unknown result type (might be due to invalid IL or missing references) //IL_017b: Unknown result type (might be due to invalid IL or missing references) //IL_0196: Unknown result type (might be due to invalid IL or missing references) //IL_01be: Unknown result type (might be due to invalid IL or missing references) //IL_01c3: Unknown result type (might be due to invalid IL or missing references) //IL_01cd: Unknown result type (might be due to invalid IL or missing references) //IL_01d2: Unknown result type (might be due to invalid IL or missing references) //IL_01d7: Unknown result type (might be due to invalid IL or missing references) //IL_01e9: Unknown result type (might be due to invalid IL or missing references) //IL_01f3: Unknown result type (might be due to invalid IL or missing references) //IL_020e: Unknown result type (might be due to invalid IL or missing references) //IL_0236: Unknown result type (might be due to invalid IL or missing references) //IL_023b: Unknown result type (might be due to invalid IL or missing references) //IL_0245: Unknown result type (might be due to invalid IL or missing references) //IL_024a: Unknown result type (might be due to invalid IL or missing references) //IL_024f: Unknown result type (might be due to invalid IL or missing references) //IL_0261: Unknown result type (might be due to invalid IL or missing references) //IL_026b: Unknown result type (might be due to invalid IL or missing references) //IL_0286: Unknown result type (might be due to invalid IL or missing references) //IL_030e: Unknown result type (might be due to invalid IL or missing references) //IL_0318: Expected O, but got Unknown //IL_02ae: Unknown result type (might be due to invalid IL or missing references) //IL_02b3: Unknown result type (might be due to invalid IL or missing references) //IL_02bd: Unknown result type (might be due to invalid IL or missing references) //IL_02c2: Unknown result type (might be due to invalid IL or missing references) //IL_02c7: Unknown result type (might be due to invalid IL or missing references) //IL_02d9: Unknown result type (might be due to invalid IL or missing references) //IL_02e3: Unknown result type (might be due to invalid IL or missing references) //IL_02fe: Unknown result type (might be due to invalid IL or missing references) int num = <>1__state; Soldier_AutoAir_IQ soldier_AutoAir_IQ = <>4__this; switch (num) { default: return false; case 0: { <>1__state = -1; GameObject val = MonoSingleton.Instance.unparryableFlash; if ((Object)(object)val != (Object)null) { val = Object.Instantiate(MonoSingleton.Instance.unparryableFlash, soldier_AutoAir_IQ.eid.target.position + Vector3.up * 5f, Quaternion.identity); Transform transform = val.transform; transform.localScale *= 15f; val.transform.LookAt(soldier_AutoAir_IQ.eid.target.position); } if ((Object)(object)val != (Object)null) { val = Object.Instantiate(MonoSingleton.Instance.unparryableFlash, soldier_AutoAir_IQ.eid.target.position + Vector3.down * 5f, Quaternion.identity); Transform transform2 = val.transform; transform2.localScale *= 15f; val.transform.LookAt(soldier_AutoAir_IQ.eid.target.position); } if ((Object)(object)val != (Object)null) { val = Object.Instantiate(MonoSingleton.Instance.unparryableFlash, soldier_AutoAir_IQ.eid.target.position + Vector3.right * 5f, Quaternion.identity); Transform transform3 = val.transform; transform3.localScale *= 15f; val.transform.LookAt(soldier_AutoAir_IQ.eid.target.position); } if ((Object)(object)val != (Object)null) { val = Object.Instantiate(MonoSingleton.Instance.unparryableFlash, soldier_AutoAir_IQ.eid.target.position + Vector3.left * 5f, Quaternion.identity); Transform transform4 = val.transform; transform4.localScale *= 15f; val.transform.LookAt(soldier_AutoAir_IQ.eid.target.position); } if ((Object)(object)val != (Object)null) { val = Object.Instantiate(MonoSingleton.Instance.unparryableFlash, soldier_AutoAir_IQ.eid.target.position + Vector3.forward * 5f, Quaternion.identity); Transform transform5 = val.transform; transform5.localScale *= 15f; val.transform.LookAt(soldier_AutoAir_IQ.eid.target.position); } if ((Object)(object)val != (Object)null) { val = Object.Instantiate(MonoSingleton.Instance.unparryableFlash, soldier_AutoAir_IQ.eid.target.position + Vector3.back * 5f, Quaternion.identity); Transform transform6 = val.transform; transform6.localScale *= 15f; val.transform.LookAt(soldier_AutoAir_IQ.eid.target.position); } <>2__current = (object)new WaitForSeconds(0.23f); <>1__state = 1; return true; } case 1: <>1__state = -1; 5__2 = MonoSingleton.Instance; 5__3 = false; if (soldier_AutoAir_IQ.eid.target.isPlayer && ((Component)5__2).gameObject.layer == 15) { 5__3 = true; } <>2__current = (object)new WaitForSeconds(0.06f); <>1__state = 2; return true; case 2: <>1__state = -1; if (soldier_AutoAir_IQ.eid.target.isPlayer && ((Component)5__2).gameObject.layer == 15) { 5__3 = true; } <>2__current = (object)new WaitForSeconds(0.06f); <>1__state = 3; return true; case 3: <>1__state = -1; if (soldier_AutoAir_IQ.eid.target.isPlayer && ((Component)5__2).gameObject.layer == 15) { 5__3 = true; } Object.Instantiate(MonoSingleton.Instance.zapImpactParticle, soldier_AutoAir_IQ.eid.target.position, Quaternion.identity); if (soldier_AutoAir_IQ.eid.target.isPlayer && !5__3) { int num2 = 25; if (5__2.hp > num2) { 5__2.GetHurt(num2, true, 1f, false, false, 1f, false); } else { 5__2.GetHurt(5__2.hp - 1, true, 1f, false, false, 1f, false); } NewMovement obj = 5__2; obj.boostCharge *= 0.25f; WeaponCharges instance = MonoSingleton.Instance; instance.raicharge *= 0.25f; } 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 EnemyIdentifier eid; public Animator anim; public ZombieProjectiles proj; public float Timer; public float ExplodeTimer = 1f; public void Start() { //IL_0059: Unknown result type (might be due to invalid IL or missing references) //IL_0063: Expected O, but got Unknown eid = ((Component)this).GetComponent(); anim = ((Component)this).GetComponent(); proj = ((Component)this).GetComponent(); if ((Object)(object)eid == (Object)null) { Object.Destroy((Object)(object)this); } else { if (!Object.op_Implicit((Object)(object)eid)) { return; } eid.onDeath.AddListener((UnityAction)delegate { if (Object.op_Implicit((Object)(object)this)) { Object.Destroy((Object)(object)this); } }); } } public void FixedUpdate() { //IL_005f: 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_0070: Unknown result type (might be due to invalid IL or missing references) //IL_00df: Unknown result type (might be due to invalid IL or missing references) //IL_00e4: Unknown result type (might be due to invalid IL or missing references) //IL_00e9: Unknown result type (might be due to invalid IL or missing references) //IL_00ee: 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_00fa: Unknown result type (might be due to invalid IL or missing references) //IL_00ff: Unknown result type (might be due to invalid IL or missing references) //IL_0104: Unknown result type (might be due to invalid IL or missing references) //IL_0109: 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_0115: Unknown result type (might be due to invalid IL or missing references) //IL_011a: Unknown result type (might be due to invalid IL or missing references) //IL_0125: Unknown result type (might be due to invalid IL or missing references) //IL_0185: Unknown result type (might be due to invalid IL or missing references) //IL_018a: Unknown result type (might be due to invalid IL or missing references) //IL_019f: Unknown result type (might be due to invalid IL or missing references) //IL_01a4: Unknown result type (might be due to invalid IL or missing references) //IL_01af: Unknown result type (might be due to invalid IL or missing references) //IL_01ca: Unknown result type (might be due to invalid IL or missing references) //IL_01db: Unknown result type (might be due to invalid IL or missing references) //IL_01e0: Unknown result type (might be due to invalid IL or missing references) //IL_01ea: Unknown result type (might be due to invalid IL or missing references) //IL_01ef: Unknown result type (might be due to invalid IL or missing references) //IL_01f4: Unknown result type (might be due to invalid IL or missing references) //IL_0208: Unknown result type (might be due to invalid IL or missing references) if (!Object.op_Implicit((Object)(object)eid) || eid.dead || eid.target == null) { return; } Timer += Time.fixedDeltaTime; ExplodeTimer += Time.fixedDeltaTime; Main_Utils.GetTargetPosition(eid.target, out var targetPosition); Vector3 val = targetPosition - ((Component)this).transform.position; if (ExplodeTimer > 2f && ((Vector3)(ref val)).magnitude < 3.5f) { ExplodeTimer = Random.value * 0.1f; ((MonoBehaviour)this).StartCoroutine(EMP_Services()); } if (Timer > 3f) { Timer = Random.value * 0.1f; bool num = ((Vector3)(ref val)).magnitude > 30f; bool flag = !Physics.Raycast(((Component)this).transform.position + Vector3.up, targetPosition - (((Component)this).transform.position + Vector3.up), Vector3.Distance(targetPosition, ((Component)this).transform.position + Vector3.up), LayerMask.op_Implicit(LayerMaskDefaults.Get((LMD)1))); if (num && flag) { Timer = -3f; proj.MoveForward(25f); anim.SetFloat("AttackType", 1f); } if ((num || !flag) && !Physics.Raycast(eid.target.trackedTransform.TransformPoint(Vector3.up), eid.target.trackedTransform.TransformVector(Vector3.up), 110f, LayerMask.op_Implicit(LayerMaskDefaults.Get((LMD)1)))) { ((Component)Object.Instantiate(Fento_Assets.EnemyRocket.gameObject, targetPosition + eid.target.trackedTransform.TransformVector(Vector3.up) * 110f, Quaternion.identity).GetComponent()).transform.LookAt(targetPosition); } } } [IteratorStateMachine(typeof(d__7))] public IEnumerator EMP_Services() { //yield-return decompiler failed: Unexpected instruction in Iterator.Dispose() return new d__7(0) { <>4__this = this }; } } public class Stalker_Rage_Passive : MonoBehaviour { public class AfterExplode : MonoBehaviour { public void OnDisable() { //IL_0017: Unknown result type (might be due to invalid IL or missing references) //IL_0022: Unknown result type (might be due to invalid IL or missing references) //IL_003d: Unknown result type (might be due to invalid IL or missing references) //IL_0047: Unknown result type (might be due to invalid IL or missing references) //IL_006d: Unknown result type (might be due to invalid IL or missing references) //IL_0077: Expected O, but got Unknown GameObject megaBoom = Object.Instantiate(Fento_Assets.ExplosionSisyphusPrimeAnimation.gameObject, ((Component)this).transform.position, ((Component)this).transform.rotation); Transform transform = megaBoom.transform; transform.localScale *= 2f; megaBoom.GetComponent().events.onActivate.AddListener((UnityAction)delegate { //IL_0015: Unknown result type (might be due to invalid IL or missing references) //IL_0025: Unknown result type (might be due to invalid IL or missing references) Explosion[] componentsInChildren = Object.Instantiate(Fento_Assets.ExplosionSisyphusPrime.gameObject, megaBoom.transform.position, megaBoom.transform.rotation).GetComponentsInChildren(); foreach (Explosion obj in componentsInChildren) { obj.toIgnore.Add((EnemyType)12); obj.enemy = true; obj.enemyDamageMultiplier *= 0f; } }); } } public Stalker stalker; public EnemyIdentifier eid; public NavMeshAgent nm; public float Timer; public float AttackTimer; public void Start() { //IL_0044: Unknown result type (might be due to invalid IL or missing references) //IL_004e: Expected O, but got Unknown stalker = ((Component)this).GetComponent(); eid = ((Component)this).GetComponent(); nm = ((Component)this).GetComponent(); if (!Object.op_Implicit((Object)(object)eid)) { return; } eid.onDeath.AddListener((UnityAction)delegate { //IL_0036: Unknown result type (might be due to invalid IL or missing references) //IL_0041: Unknown result type (might be due to invalid IL or missing references) //IL_0052: Unknown result type (might be due to invalid IL or missing references) //IL_005c: Unknown result type (might be due to invalid IL or missing references) //IL_0079: Unknown result type (might be due to invalid IL or missing references) //IL_007e: Unknown result type (might be due to invalid IL or missing references) //IL_008a: 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_00aa: Unknown result type (might be due to invalid IL or missing references) //IL_00b4: Expected O, but got Unknown if (Object.op_Implicit((Object)(object)eid) && !eid.puppet) { GameObject obj = Object.Instantiate(Fento_Assets.ExplosionSisyphusPrimeAnimation.gameObject, ((Component)this).transform.position, ((Component)this).transform.rotation); Transform transform = obj.transform; transform.localScale *= 2f; _ = eid.target; Vector3 pos = ((Component)this).transform.position; Quaternion rot = ((Component)this).transform.rotation; obj.GetComponent().events.onActivate.AddListener((UnityAction)delegate { //IL_000b: Unknown result type (might be due to invalid IL or missing references) //IL_0011: Unknown result type (might be due to invalid IL or missing references) //IL_0062: Unknown result type (might be due to invalid IL or missing references) //IL_0068: Unknown result type (might be due to invalid IL or missing references) //IL_007a: Unknown result type (might be due to invalid IL or missing references) //IL_0084: Unknown result type (might be due to invalid IL or missing references) //IL_0188: Unknown result type (might be due to invalid IL or missing references) //IL_00e7: Unknown result type (might be due to invalid IL or missing references) //IL_00f7: Unknown result type (might be due to invalid IL or missing references) Explosion[] componentsInChildren = Object.Instantiate(Fento_Assets.ExplosionSuper.gameObject, pos, rot).GetComponentsInChildren(); foreach (Explosion obj2 in componentsInChildren) { obj2.toIgnore.Add((EnemyType)12); obj2.enemy = true; obj2.enemyDamageMultiplier *= 0f; } GameObject val = Object.Instantiate(Fento_Assets.BlackHole_Enemy.gameObject, pos, rot); Transform transform2 = val.transform; transform2.localScale *= 3f; GameObjectExtensions.GetOrAddComponent(val); GameObjectExtensions.GetOrAddComponent(val); if ((Object)(object)Fento_Assets.RagePrefab.gameObject != (Object)null) { GameObject val2 = Object.Instantiate(Fento_Assets.RagePrefab.gameObject, val.transform); if ((Object)(object)val2 != (Object)null) { val2.transform.SetParent(val.transform); val2.transform.localPosition = Vector3.zero; val2.transform.localScale = Vector3.one; AudioSource[] components = val2.GetComponents(); if (components != null) { AudioSource val3 = components.Last(); if ((Object)(object)val3 != (Object)null) { val3.pitch *= 0.75f; } } } AudioSource[] componentsInChildren2 = val2.GetComponentsInChildren(); foreach (AudioSource val4 in componentsInChildren2) { if ((Object)(object)val4 != (Object)null) { val4.spatialize = true; } } } BlackHoleProjectile component = val.GetComponent(); component.target = EnemyTarget.TrackPlayer(); component.speed *= 2.85f; component.safeType = (EnemyType)12; component.Activate(); ((MonoBehaviour)component).Invoke("Explode", 14f); }); } }); } public void FixedUpdate() { //IL_00c4: Unknown result type (might be due to invalid IL or missing references) //IL_00c9: Unknown result type (might be due to invalid IL or missing references) //IL_00d3: Unknown result type (might be due to invalid IL or missing references) //IL_00d9: Unknown result type (might be due to invalid IL or missing references) //IL_00de: Unknown result type (might be due to invalid IL or missing references) //IL_00e9: Unknown result type (might be due to invalid IL or missing references) //IL_00fb: Unknown result type (might be due to invalid IL or missing references) //IL_0107: Unknown result type (might be due to invalid IL or missing references) if (!Object.op_Implicit((Object)(object)eid) || eid.dead || eid.target == null) { return; } Timer += Time.fixedDeltaTime; AttackTimer += Time.fixedDeltaTime; if (AttackTimer > 10f) { AttackTimer = 0f; stalker.exploding = true; stalker.Countdown(); } if (!(Timer > 2f)) { return; } Timer = 0f; float num = 1f + (float)eid.stuckMagnets.Count * 0.25f; GameObject val = Object.Instantiate(Fento_Assets.ExplosionSand.gameObject, ((Component)this).transform.position + Vector3.up * 2f / num, ((Component)this).transform.rotation); Transform transform = val.transform; transform.localScale *= 3.25f / num; RemoveOnTime[] componentsInChildren = val.GetComponentsInChildren(); foreach (RemoveOnTime obj in componentsInChildren) { obj.time *= 2.1f / num; } ScaleNFade[] componentsInChildren2 = val.GetComponentsInChildren(); foreach (ScaleNFade obj2 in componentsInChildren2) { obj2.fadeSpeed /= 2.1f / num; } ParticleSystem[] componentsInChildren3 = val.GetComponentsInChildren(); foreach (ParticleSystem obj3 in componentsInChildren3) { obj3.playbackSpeed /= 2.1f / num; } eid.Set_Health(eid.Health + 0.25f / num); Main_Utils.Invoke_WithDelay(0.1f, delegate { if (Object.op_Implicit((Object)(object)nm)) { NavMeshAgent obj4 = nm; obj4.speed += 15f; NavMeshAgent obj5 = nm; obj5.acceleration += 15f; NavMeshAgent obj6 = nm; obj6.angularSpeed += 15f; NavMeshAgent obj7 = nm; obj7.speed *= 1.1f; NavMeshAgent obj8 = nm; obj8.acceleration *= 1.1f; NavMeshAgent obj9 = nm; obj9.angularSpeed *= 1.1f; } }); } } public class Sisyphus_Rage_IQ : MonoBehaviour { public Enemy enemy; public EnemyIdentifier eid; public GameObject cloud; public float SpawnGasTimer; public float CheckTimer; public void Start() { //IL_0043: Unknown result type (might be due to invalid IL or missing references) //IL_004d: Expected O, but got Unknown enemy = ((Component)this).GetComponent(); eid = ((Component)this).GetComponent(); SpawnGasTimer = 19f; if (!Object.op_Implicit((Object)(object)eid)) { return; } eid.onDeath.AddListener((UnityAction)delegate { //IL_0048: Unknown result type (might be due to invalid IL or missing references) //IL_0053: Unknown result type (might be due to invalid IL or missing references) //IL_005d: Unknown result type (might be due to invalid IL or missing references) //IL_0062: 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) if (Object.op_Implicit((Object)(object)cloud)) { Object.Destroy((Object)(object)cloud); } if (Object.op_Implicit((Object)(object)eid) && !eid.puppet) { Explosion[] componentsInChildren = Object.Instantiate(Fento_Assets.ExplosionSuper.gameObject, ((Component)this).transform.position + ((Component)this).transform.up * 2.5f, Quaternion.identity).GetComponentsInChildren(); foreach (Explosion obj in componentsInChildren) { obj.toIgnore.Add((EnemyType)39); obj.enemyDamageMultiplier = 0f; obj.damage = 35; obj.maxSize *= 1.5f; obj.enemy = true; } for (int j = 0; j < 3; j++) { Main_Utils.Invoke_WithDelay(((float)j + 0.25f) * 0.25f, delegate { //IL_0025: Unknown result type (might be due to invalid IL or missing references) //IL_002a: Unknown result type (might be due to invalid IL or missing references) //IL_0034: Unknown result type (might be due to invalid IL or missing references) //IL_0039: Unknown result type (might be due to invalid IL or missing references) //IL_003e: Unknown result type (might be due to invalid IL or missing references) //IL_0043: Unknown result type (might be due to invalid IL or missing references) //IL_0048: Unknown result type (might be due to invalid IL or missing references) //IL_00cd: Unknown result type (might be due to invalid IL or missing references) //IL_00fe: Unknown result type (might be due to invalid IL or missing references) //IL_0141: Unknown result type (might be due to invalid IL or missing references) //IL_0151: Unknown result type (might be due to invalid IL or missing references) //IL_0156: Unknown result type (might be due to invalid IL or missing references) //IL_015b: Unknown result type (might be due to invalid IL or missing references) //IL_0165: Unknown result type (might be due to invalid IL or missing references) //IL_016a: Unknown result type (might be due to invalid IL or missing references) //IL_0180: Unknown result type (might be due to invalid IL or missing references) //IL_0190: Unknown result type (might be due to invalid IL or missing references) //IL_019a: Unknown result type (might be due to invalid IL or missing references) //IL_019f: Unknown result type (might be due to invalid IL or missing references) Stray_Rage_Proj stray_Rage_Proj = default(Stray_Rage_Proj); for (int k = 0; k < 16; k++) { Projectile currentProjectile = Object.Instantiate(Fento_Assets.Projectile_Red.gameObject, ((Component)this).transform.position + Vector3.up * 5f + Random.insideUnitSphere, Quaternion.identity).GetComponent(); Main_Utils.Setup_GoreZone_Obj(((Component)currentProjectile).gameObject, ((Component)eid).gameObject); ((Component)currentProjectile).transform.DissableColliders(((Component)this).transform); if (((Component)currentProjectile).TryGetComponent(ref stray_Rage_Proj)) { Object.Destroy((Object)(object)stray_Rage_Proj); } currentProjectile.ignoreExplosions = true; currentProjectile.SetProjTarget(eid.target); currentProjectile.safeEnemyType = (EnemyType)19; currentProjectile.speed = 1.5f * Random.Range(35f, 70f); float prediction = Main_Utils.PredictTimeOld(((Component)currentProjectile).transform.position, currentProjectile.speed, eid.target); ((Component)currentProjectile).transform.LookAt(Main_Utils.PredictTargetPosition(eid.target, prediction, includeGravity: true) + eid.target.Up() + Random.insideUnitSphere * 12f); Transform transform = ((Component)currentProjectile).transform; transform.position += ((Component)currentProjectile).transform.forward * 1f; if (Random.value < 0.5f) { Main_Utils.Invoke_WithDelay(prediction * 0.5f, delegate { //IL_005f: Unknown result type (might be due to invalid IL or missing references) //IL_0074: Unknown result type (might be due to invalid IL or missing references) //IL_0079: Unknown result type (might be due to invalid IL or missing references) //IL_007e: Unknown result type (might be due to invalid IL or missing references) //IL_0088: Unknown result type (might be due to invalid IL or missing references) //IL_008d: Unknown result type (might be due to invalid IL or missing references) if ((Object)(object)currentProjectile != (Object)null && (Object)(object)eid != (Object)null && eid.target != null) { ((Component)currentProjectile).transform.LookAt(Main_Utils.PredictTargetPosition(eid.target, prediction * Random.value, includeGravity: true) + eid.target.Up() + Random.insideUnitSphere * 6f); } }); } } }); } } }); } public void FixedUpdate() { if (!Object.op_Implicit((Object)(object)eid) || eid.dead || eid.target == null) { return; } SpawnGasTimer += Time.fixedDeltaTime; CheckTimer += Time.fixedDeltaTime; if (CheckTimer > 4f) { CheckTimer = 0f; if (!eid.puppet && !eid.sandified && eid.Health / enemy.originalHealth < 0.35f) { eid.Sandify(false); MonoSingleton.Instance.AddPoints(50, "SANDIFIED", (GameObject)null, (EnemyIdentifier)null, -1, "", ""); } } if (SpawnGasTimer > 20f) { SpawnGasTimer = Random.value; SpawnGas(); } } public void SpawnGas() { //IL_0011: Unknown result type (might be due to invalid IL or missing references) //IL_001b: Unknown result type (might be due to invalid IL or missing references) //IL_0020: Unknown result type (might be due to invalid IL or missing references) //IL_0025: Unknown result type (might be due to invalid IL or missing references) //IL_0054: Unknown result type (might be due to invalid IL or missing references) //IL_0069: Unknown result type (might be due to invalid IL or missing references) //IL_006e: Unknown result type (might be due to invalid IL or missing references) //IL_0073: Unknown result type (might be due to invalid IL or missing references) //IL_00c2: Unknown result type (might be due to invalid IL or missing references) cloud = Object.Instantiate(Fento_Assets.GoopCloudLong.gameObject, ((Component)this).transform.TransformPoint(Vector3.up * 6.5f), Quaternion.identity, ((Component)this).transform); cloud.transform.localScale = new Vector3(0.4f, 0.75f, 0.4f); Main_Utils.Make_Colored(cloud.transform, Color.yellow + Color.red); HurtZone componentInChildren = cloud.GetComponentInChildren(); if ((Object)(object)componentInChildren != (Object)null) { componentInChildren.hurtCooldown *= 2f; componentInChildren.bounceForce = 200f; componentInChildren.enemyDamageOverride = 0.0001f; componentInChildren.affected = (AffectedSubjects)1; componentInChildren.ignoredEnemyTypes.Add((EnemyType)19); } } } public class Ferryman_Rage_IQ : MonoBehaviour { public EnemyIdentifier eid; public float StartHealth; public float BeamTimer; public float HolySwordsTimer; public float RangeTimer; public void Start() { //IL_006a: Unknown result type (might be due to invalid IL or missing references) //IL_0074: Expected O, but got Unknown eid = ((Component)this).GetComponent(); StartHealth = eid.health; BeamTimer = 20f; HolySwordsTimer = Random.value * 16f; RangeTimer = Random.value * 1f; if (!Object.op_Implicit((Object)(object)eid)) { return; } eid.onDeath.AddListener((UnityAction)delegate { //IL_003e: Unknown result type (might be due to invalid IL or missing references) //IL_0043: Unknown result type (might be due to invalid IL or missing references) if (Object.op_Implicit((Object)(object)eid) && !eid.puppet) { GameObject currentWindup = Object.Instantiate(Fento_Assets.LightningBoltWindupFollow.gameObject, ((Component)this).transform.position, Quaternion.identity); Main_Utils.Setup_GoreZone_Obj(currentWindup.gameObject, eid); Follow[] components = currentWindup.GetComponents(); for (int i = 0; i < components.Length; i++) { components[i].target = eid.target.targetTransform; } Follow[] array = components; foreach (Follow val in array) { if (val.speed != 0f) { val.speed = 0.0001f; } } Main_Utils.Invoke_WithDelay(4f, delegate { //IL_0034: Unknown result type (might be due to invalid IL or missing references) //IL_0039: Unknown result type (might be due to invalid IL or missing references) if (Object.op_Implicit((Object)(object)currentWindup)) { if ((Object)(object)Fento_Assets.LightningBoltExplosion.gameObject != (Object)null) { LightningStrikeExplosive component = Object.Instantiate(Fento_Assets.LightningBoltExplosion.gameObject, currentWindup.transform.position, Quaternion.identity).GetComponent(); Main_Utils.Setup_GoreZone_Obj(((Component)component).gameObject, eid); component.safeForPlayer = false; component.damageMultiplier = 2.25f; component.enemyDamageMultiplier = 0f; } Object.Destroy((Object)(object)currentWindup); } }); } }); } public void FixedUpdate() { //IL_00da: 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_00eb: Unknown result type (might be due to invalid IL or missing references) //IL_0123: Unknown result type (might be due to invalid IL or missing references) //IL_0128: Unknown result type (might be due to invalid IL or missing references) //IL_012d: Unknown result type (might be due to invalid IL or missing references) //IL_0132: Unknown result type (might be due to invalid IL or missing references) //IL_0139: Unknown result type (might be due to invalid IL or missing references) //IL_013e: Unknown result type (might be due to invalid IL or missing references) //IL_0143: Unknown result type (might be due to invalid IL or missing references) //IL_0148: Unknown result type (might be due to invalid IL or missing references) //IL_014f: Unknown result type (might be due to invalid IL or missing references) if (!Object.op_Implicit((Object)(object)eid) || eid.dead || eid.target == null) { return; } bool num = eid.health < StartHealth * 0.5f; float num2 = (num ? 1.25f : 1f); HolySwordsTimer += Time.fixedDeltaTime * num2; if (num) { BeamTimer += Time.fixedDeltaTime * num2; if (BeamTimer > 20f) { BeamTimer = Random.value * 5f * num2; SpawnBeams(); } } if (HolySwordsTimer > 16f) { HolySwordsTimer = Random.value * 5f * num2; SpawnSummonedSwords(); } Main_Utils.GetTargetPosition(eid.target, out var targetPosition); float num3 = Vector3.Distance(targetPosition, ((Component)this).transform.position + Vector3.up); if (num3 > 30f) { RangeTimer += Time.fixedDeltaTime; if (RangeTimer > 3f && !Physics.Raycast(((Component)this).transform.position + Vector3.up, targetPosition - (((Component)this).transform.position + Vector3.up), num3, LayerMask.op_Implicit(LayerMaskDefaults.Get((LMD)1)))) { RangeTimer = (0f - Random.value) * 2f; ShootCannon(); } } } public void SpawnBeams() { if (!Object.op_Implicit((Object)(object)eid) || eid.dead || eid.target == null) { return; } for (int i = 0; i < 8; i++) { if (Object.op_Implicit((Object)(object)this)) { Main_Utils.Invoke_WithDelay(0.65f + (float)i * 0.65f, delegate { CastBeam(); }); } } } public void CastBeam() { //IL_003d: Unknown result type (might be due to invalid IL or missing references) //IL_0042: Unknown result type (might be due to invalid IL or missing references) //IL_0059: Unknown result type (might be due to invalid IL or missing references) //IL_0063: Unknown result type (might be due to invalid IL or missing references) //IL_0068: Unknown result type (might be due to invalid IL or missing references) //IL_0074: Unknown result type (might be due to invalid IL or missing references) //IL_0079: Unknown result type (might be due to invalid IL or missing references) //IL_00bc: Unknown result type (might be due to invalid IL or missing references) //IL_00c1: 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_00d2: Unknown result type (might be due to invalid IL or missing references) //IL_00d7: Unknown result type (might be due to invalid IL or missing references) //IL_00f6: Unknown result type (might be due to invalid IL or missing references) //IL_00a5: Unknown result type (might be due to invalid IL or missing references) //IL_00aa: Unknown result type (might be due to invalid IL or missing references) //IL_00ab: Unknown result type (might be due to invalid IL or missing references) if (Object.op_Implicit((Object)(object)eid) && !eid.dead && eid.target != null) { GameObject val = Object.Instantiate(Fento_Assets.Insignia.gameObject, eid.target.position, Quaternion.identity); Main_Utils.Setup_GoreZone_Obj(val, eid); Vector2 val2 = Random.insideUnitCircle * 10f; Vector3 velocity = eid.target.GetVelocity(); velocity.y = 0f; if (((Vector3)(ref velocity)).magnitude > 0f) { val.transform.LookAt(eid.target.position + velocity); } Transform transform = val.transform; transform.position += new Vector3(val2.x, 0f, val2.y); val.transform.localScale = new Vector3(1.15f, 1f, 1.15f); VirtueInsignia val3 = default(VirtueInsignia); if (val.TryGetComponent(ref val3)) { val3.predictive = false; val3.noTracking = true; val3.otherParent = ((Component)this).transform; VirtueInsignia obj = val3; obj.windUpSpeedMultiplier *= 0.5f; val3.damage = 35; val3.target = eid.target; val3.predictiveVersion = null; } } } public void SpawnSummonedSwords() { //IL_0038: Unknown result type (might be due to invalid IL or missing references) //IL_003d: Unknown result type (might be due to invalid IL or missing references) //IL_006f: Unknown result type (might be due to invalid IL or missing references) //IL_0079: Expected O, but got Unknown if (!Object.op_Implicit((Object)(object)eid) || eid.dead || eid.target == null) { return; } GameObject obj = Object.Instantiate(Fento_Assets.AroundGabrielSummonedSwords.gameObject, ((Component)this).transform.position, Quaternion.identity); obj.transform.SetParent(((Component)this).transform.parent, true); SummonedSwords val = default(SummonedSwords); if (obj.TryGetComponent(ref val)) { val.target = new EnemyTarget(((Component)this).transform); SummonedSwords obj2 = val; obj2.speed *= eid.totalSpeedModifier; val.targetEnemy = eid.target; } Projectile[] componentsInChildren = obj.GetComponentsInChildren(); foreach (Projectile val2 in componentsInChildren) { val2.SetProjTarget(eid.target); if (eid.totalDamageModifier != 1f) { val2.damage *= eid.totalDamageModifier; } } } public void ShootCannon() { //IL_005c: Unknown result type (might be due to invalid IL or missing references) //IL_0062: Unknown result type (might be due to invalid IL or missing references) //IL_006d: Unknown result type (might be due to invalid IL or missing references) //IL_0072: Unknown result type (might be due to invalid IL or missing references) //IL_0077: Unknown result type (might be due to invalid IL or missing references) //IL_007a: Unknown result type (might be due to invalid IL or missing references) //IL_0084: Unknown result type (might be due to invalid IL or missing references) //IL_0089: Unknown result type (might be due to invalid IL or missing references) //IL_008e: Unknown result type (might be due to invalid IL or missing references) //IL_009f: Unknown result type (might be due to invalid IL or missing references) //IL_00a9: Unknown result type (might be due to invalid IL or missing references) //IL_00b9: Unknown result type (might be due to invalid IL or missing references) if (!Object.op_Implicit((Object)(object)eid) || eid.dead || eid.target == null) { return; } Main_Utils.GetTargetPosition(eid.target, out var pos); GameObject gameObject = Fento_Assets.V2UnParry.gameObject; Vector3 position = ((Component)this).transform.position; Vector3 val = pos - ((Component)this).transform.position; GameObject obj = Object.Instantiate(gameObject, position + ((Vector3)(ref val)).normalized * 3f, Quaternion.identity); Transform transform = obj.transform; transform.localScale *= 10f; obj.transform.LookAt(pos); Main_Utils.Invoke_WithDelay(0.5f, delegate { //IL_0015: Unknown result type (might be due to invalid IL or missing references) //IL_001b: Unknown result type (might be due to invalid IL or missing references) //IL_002b: Unknown result type (might be due to invalid IL or missing references) //IL_0030: Unknown result type (might be due to invalid IL or missing references) //IL_0035: Unknown result type (might be due to invalid IL or missing references) //IL_0039: Unknown result type (might be due to invalid IL or missing references) //IL_0043: Unknown result type (might be due to invalid IL or missing references) //IL_0048: Unknown result type (might be due to invalid IL or missing references) //IL_0058: Unknown result type (might be due to invalid IL or missing references) //IL_00ab: Unknown result type (might be due to invalid IL or missing references) //IL_00bb: Unknown result type (might be due to invalid IL or missing references) //IL_00d7: Unknown result type (might be due to invalid IL or missing references) //IL_00dc: Unknown result type (might be due to invalid IL or missing references) //IL_00e6: Unknown result type (might be due to invalid IL or missing references) //IL_00eb: Unknown result type (might be due to invalid IL or missing references) //IL_0112: Unknown result type (might be due to invalid IL or missing references) //IL_0127: Unknown result type (might be due to invalid IL or missing references) //IL_0131: Unknown result type (might be due to invalid IL or missing references) //IL_0136: 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_0152: Unknown result type (might be due to invalid IL or missing references) //IL_015c: Unknown result type (might be due to invalid IL or missing references) //IL_0161: Unknown result type (might be due to invalid IL or missing references) //IL_01cc: Unknown result type (might be due to invalid IL or missing references) //IL_01d6: Unknown result type (might be due to invalid IL or missing references) //IL_01eb: Unknown result type (might be due to invalid IL or missing references) //IL_01f1: 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_0237: Unknown result type (might be due to invalid IL or missing references) //IL_024c: Unknown result type (might be due to invalid IL or missing references) //IL_0256: Unknown result type (might be due to invalid IL or missing references) //IL_025b: Unknown result type (might be due to invalid IL or missing references) GameObject gameObject2 = Fento_Assets.Railcannon_Fire.gameObject; Vector3 position2 = ((Component)this).transform.position; Vector3 val2 = pos - ((Component)this).transform.position; AudioSource val3 = default(AudioSource); if (Object.Instantiate(gameObject2, position2 + ((Vector3)(ref val2)).normalized * 2.5f, ((Component)this).transform.rotation).TryGetComponent(ref val3)) { val3.clip = Fento_Assets.RocketFire_Default.obj; val3.pitch = Random.Range(0.6f, 0.8f); val3.Play(); } GameObject val4 = Object.Instantiate(Fento_Assets.Cannonball.gameObject, ((Component)this).transform.position, ((Component)this).transform.rotation); val4.transform.position = ((Component)this).transform.position + Vector3.up * 2f; val4.transform.LookAt(Main_Utils.PredictTargetPosition(eid.target, 0.1f, includeGravity: true) + eid.target.Up() * 2f); Transform transform2 = val4.transform; transform2.position += val4.transform.forward * 4f; Main_Utils.Setup_GoreZone_Obj(val4, eid); ((Component)this).transform.DissableColliders(val4.transform.root); Cannonball val5 = default(Cannonball); if (val4.TryGetComponent(ref val5)) { val5.sourceWeapon = ((Component)((Component)this).transform).gameObject; } Rigidbody val6 = default(Rigidbody); if (val4.TryGetComponent(ref val6)) { val6.velocity = ((Component)val6).transform.forward * 200f; Vector3 position3 = ((Component)this).transform.position; val2 = val6.velocity; Main_Utils.PredictTimeOld(position3, ((Vector3)(ref val2)).magnitude, eid.target); ((Component)this).transform.LookAt(Main_Utils.PredictTargetPosition(eid.target, 0.1f, includeGravity: true) + eid.target.Up() * 2f); } }); } } public class MirrorReaper_Rage_IQ : MonoBehaviour { public EnemyIdentifier eid; public float Timer; public float TimerSlam; public void Start() { eid = ((Component)this).GetComponent(); if ((Object)(object)eid == (Object)null) { Object.Destroy((Object)(object)this); } } public void FixedUpdate() { //IL_0074: Unknown result type (might be due to invalid IL or missing references) //IL_0079: Unknown result type (might be due to invalid IL or missing references) //IL_00e8: Unknown result type (might be due to invalid IL or missing references) //IL_00fd: Unknown result type (might be due to invalid IL or missing references) //IL_010d: Unknown result type (might be due to invalid IL or missing references) //IL_0117: Unknown result type (might be due to invalid IL or missing references) //IL_011c: Unknown result type (might be due to invalid IL or missing references) //IL_012d: Unknown result type (might be due to invalid IL or missing references) //IL_0137: Unknown result type (might be due to invalid IL or missing references) //IL_0151: Unknown result type (might be due to invalid IL or missing references) //IL_00b8: Unknown result type (might be due to invalid IL or missing references) if (!Object.op_Implicit((Object)(object)eid) || eid.dead || eid.target == null) { return; } Timer += Time.fixedDeltaTime; TimerSlam += Time.fixedDeltaTime; if (Timer > 4f) { Timer = Random.value; GameObject obj = Object.Instantiate(Fento_Assets.GoopCloud.gameObject, ((Component)this).transform.position, Quaternion.identity); Main_Utils.Setup_GoreZone_Obj(obj, eid); HurtZone componentInChildren = obj.GetComponentInChildren(); if ((Object)(object)componentInChildren != (Object)null) { componentInChildren.ignoredEnemyTypes.Add((EnemyType)41); componentInChildren.enemyDamageOverride = 1E-05f; componentInChildren.affected = (AffectedSubjects)1; } } if (!(TimerSlam > 11f)) { return; } TimerSlam = Random.value; GameObject obj2 = Object.Instantiate(Fento_Assets.V2UnParry.gameObject, new Vector3(((Component)this).transform.position.x, eid.target.position.y, ((Component)this).transform.position.z), Quaternion.identity); Transform transform = obj2.transform; transform.localScale *= 10f; obj2.transform.LookAt(eid.target.position); Main_Utils.Invoke_WithDelay(1f, delegate { //IL_0040: Unknown result type (might be due to invalid IL or missing references) //IL_0055: 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_006f: Unknown result type (might be due to invalid IL or missing references) //IL_0074: Unknown result type (might be due to invalid IL or missing references) //IL_0086: Unknown result type (might be due to invalid IL or missing references) //IL_00a8: Unknown result type (might be due to invalid IL or missing references) //IL_00bd: 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_00d7: Unknown result type (might be due to invalid IL or missing references) //IL_00dc: Unknown result type (might be due to invalid IL or missing references) //IL_00ee: Unknown result type (might be due to invalid IL or missing references) if (Object.op_Implicit((Object)(object)eid) && !eid.dead && eid.target != null) { PhysicalShockwave component = Object.Instantiate(Fento_Assets.SlamExplosionShockwave.gameObject, new Vector3(((Component)this).transform.position.x, eid.target.position.y, ((Component)this).transform.position.z), Quaternion.identity).GetComponent(); component.enemyType = (EnemyType)41; component.noDamageToEnemy = true; component.enemy = true; PhysicalShockwave component2 = Object.Instantiate(Fento_Assets.SlamExplosionShockwaveMagenta.gameObject, new Vector3(((Component)this).transform.position.x, eid.target.position.y, ((Component)this).transform.position.z), Quaternion.identity).GetComponent(); component2.enemyType = (EnemyType)41; component2.noDamageToEnemy = true; component2.ignorePlayerDash = true; component2.enemy = true; component2.speed *= 0.35f; } }); } } public class MalFace_Rage_IQ : MonoBehaviour { public EnemyIdentifier eid; public SpiderBody spider; public BossHealthBar bossHealthBar; public float Timer; public float OgHealth = 10f; public void Start() { //IL_006c: Unknown result type (might be due to invalid IL or missing references) //IL_0072: 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_009f: Unknown result type (might be due to invalid IL or missing references) //IL_00d0: Unknown result type (might be due to invalid IL or missing references) //IL_00d6: Expected O, but got Unknown //IL_00fd: Unknown result type (might be due to invalid IL or missing references) //IL_010d: Unknown result type (might be due to invalid IL or missing references) //IL_0117: Unknown result type (might be due to invalid IL or missing references) //IL_011c: Unknown result type (might be due to invalid IL or missing references) eid = ((Component)this).GetComponent(); spider = ((Component)this).GetComponent(); bossHealthBar = ((Component)this).GetComponent(); Timer = Random.value * 10f; OgHealth = eid.Health; Transform transform = ((Component)((Component)eid).transform.Find("MaliciousFace/Mouth")).transform; GameObject val = Object.Instantiate(Fento_Assets.CentaurBrainBeam.gameObject, transform.position, transform.rotation, transform); eid.destroyOnDeath.Add(val); Main_Utils.Make_Colored(val.transform, Color.red + Color.yellow); val.GetComponent().ignoreInvincibility = false; GameObject val2 = new GameObject("Follower " + ((Object)((Component)this).transform).name); val2.transform.SetParent(((Component)eid).transform); val2.transform.position = ((Component)eid).transform.position + ((Component)eid).transform.forward * 10f; Obj_Follow_Eid_Target orAddComponent = ComponentExtensions.GetOrAddComponent((Component)(object)val2.transform); orAddComponent.eid = eid; orAddComponent.Speed = 10f; GameObjectExtensions.GetOrAddComponent(val).Target = val2; } public void FixedUpdate() { if (!Object.op_Implicit((Object)(object)eid) || eid.dead || !(eid.health < OgHealth * 0.5f)) { return; } EnemyIdentifier idole = eid.Make_IdolMerged(enableIdol: true); idole.BuffAll(); idole.Make_Puppet_OnStart(); ComponentExtensions.GetOrAddComponent((Component)(object)idole); ComponentExtensions.GetOrAddComponent((Component)(object)idole).TierToAdd *= 0.75f; Main_Utils.Invoke_WithDelay(6f, delegate { if ((Object)(object)idole != (Object)null && (Object)(object)idole.idol != (Object)null) { idole.idol.Death(); if (Object.op_Implicit((Object)(object)idole) && ((Component)idole).gameObject.activeSelf) { idole.idol.Death(); } } }); if (eid.isBoss || Object.op_Implicit((Object)(object)bossHealthBar)) { OgHealth = eid.health * 0.9f; } else { Object.Destroy((Object)(object)this); } } } public class Statue_Rage_IQ : MonoBehaviour { public EnemyIdentifier eid; public StatueBoss statue; public float Timer; public void Start() { eid = ((Component)this).GetComponent(); statue = ((Component)this).GetComponent(); Timer = Random.value * 10f; } public void FixedUpdate() { if (Object.op_Implicit((Object)(object)eid) && !eid.dead && eid.target != null) { Timer += Time.fixedDeltaTime; if (Timer > 10f) { Timer = Random.value; ((MonoBehaviour)statue).Invoke("Stomp", 0f); } } } } public class Statue_Rage_Buff_OnEnable : MonoBehaviour { [CompilerGenerated] private sealed class d__2 : IEnumerator, IDisposable, IEnumerator { private int <>1__state; private object <>2__current; public Transform gz; private NewMovement 5__2; private Vector3 5__3; object IEnumerator.Current { [DebuggerHidden] get { return <>2__current; } } object IEnumerator.Current { [DebuggerHidden] get { return <>2__current; } } [DebuggerHidden] public d__2(int <>1__state) { this.<>1__state = <>1__state; } [DebuggerHidden] void IDisposable.Dispose() { 5__2 = null; <>1__state = -2; } private bool MoveNext() { //IL_0030: Unknown result type (might be due to invalid IL or missing references) //IL_0035: 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_0047: 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_00a0: 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_005e: Unknown result type (might be due to invalid IL or missing references) //IL_0063: 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_0075: Unknown result type (might be due to invalid IL or missing references) //IL_007a: Unknown result type (might be due to invalid IL or missing references) //IL_0085: Unknown result type (might be due to invalid IL or missing references) //IL_008f: Expected O, but got Unknown //IL_00ba: Unknown result type (might be due to invalid IL or missing references) //IL_00d4: Unknown result type (might be due to invalid IL or missing references) switch (<>1__state) { default: return false; case 0: { <>1__state = -1; 5__2 = MonoSingleton.Instance; Vector3 position = ((Component)5__2).transform.position; 5__3 = Main_Utils.GetRandomNavMeshPoint(position, Random.Range(15f, 35f)); break; } case 1: <>1__state = -1; break; } if (5__3 == Vector3.zero) { Vector3 position = ((Component)5__2).transform.position; 5__3 = Main_Utils.GetRandomNavMeshPoint(position, Random.Range(15f, 35f)); <>2__current = (object)new WaitForSeconds(0.25f); <>1__state = 1; return true; } EnemyIdentifier obj = Main_Utils.Integrate_Enemy(Main_Utils.DetectebleEnemies.Cerberus, gz, active: true, 5__3, Quaternion.Euler(0f, Random.value * 360f, 0f)); obj.dontCountAsKills = true; obj.immuneToFriendlyFire = true; ComponentExtensions.GetOrAddComponent((Component)(object)obj); ComponentExtensions.GetOrAddComponent((Component)(object)obj); obj.Set_Health(obj.GetRealHealth() + 15f); obj.BuffAll(); 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 float Dist = 50f; public void OnEnable() { //IL_0092: Unknown result type (might be due to invalid IL or missing references) //IL_019c: Unknown result type (might be due to invalid IL or missing references) //IL_01a6: Expected O, but got Unknown //IL_00fa: Unknown result type (might be due to invalid IL or missing references) //IL_0106: Unknown result type (might be due to invalid IL or missing references) EnemyIdentifier eid0 = ((Component)this).GetComponentInParent(); if (!Object.op_Implicit((Object)(object)eid0) || eid0.puppet) { return; } float num = 0.5f; foreach (KeyValuePair item in UltraEnrage_Enemy.Dictionary) { if ((Object)(object)item.Value != (Object)null && (Object)(object)item.Value.eid != (Object)null && !item.Value.eid.dead && (int)item.Value.eid.enemyType == 0) { num += 0.5f; } } float num2 = 1f; if (num > 1f) { num2 = num; } EnemyIdentifier[] array = Object.FindObjectsOfType(); foreach (EnemyIdentifier val in array) { if (((Component)val).gameObject.activeInHierarchy && !val.dead && !(Vector3.Distance(((Component)this).transform.position, ((Component)val).transform.position) > Dist)) { val.Set_Health(val.GetRealHealth() + 2.5f / num2); val.radianceTier += 0.75f / num2; val.BuffAll(); } } if (eid0.isBoss || Object.op_Implicit((Object)(object)((Component)eid0).GetComponent())) { GoreZone gz = ((Component)eid0).GetComponentInParent(); eid0.onDeath.AddListener((UnityAction)delegate { ((MonoBehaviour)gz).StartCoroutine(Revive(eid0, ((Component)gz).transform)); ((MonoBehaviour)gz).StartCoroutine(Revive(eid0, ((Component)gz).transform)); }); } } [IteratorStateMachine(typeof(d__2))] public IEnumerator Revive(EnemyIdentifier eid0, Transform gz) { //yield-return decompiler failed: Unexpected instruction in Iterator.Dispose() return new d__2(0) { gz = gz }; } } public class Mass_Rage_IQ : MonoBehaviour { public Enemy mach; public EnemyIdentifier eid; public BossHealthBar bossHealthBar; public float Timer; public void Start() { //IL_0044: Unknown result type (might be due to invalid IL or missing references) //IL_004e: Expected O, but got Unknown mach = ((Component)this).GetComponent(); eid = ((Component)this).GetComponent(); bossHealthBar = ((Component)this).GetComponent(); if (!Object.op_Implicit((Object)(object)eid)) { return; } eid.onDeath.AddListener((UnityAction)delegate { if (!eid.puppet) { DeathSpawn(); } }); } public void DeathSpawn() { for (int i = 0; i < 5; i++) { Main_Utils.Invoke_WithDelay(0.5f + (float)i * 0.25f, delegate { //IL_0010: Unknown result type (might be due to invalid IL or missing references) //IL_001b: Unknown result type (might be due to invalid IL or missing references) //IL_0025: Unknown result type (might be due to invalid IL or missing references) //IL_002a: Unknown result type (might be due to invalid IL or missing references) //IL_002f: Unknown result type (might be due to invalid IL or missing references) //IL_0039: Unknown result type (might be due to invalid IL or missing references) //IL_003e: Unknown result type (might be due to invalid IL or missing references) //IL_0043: Unknown result type (might be due to invalid IL or missing references) //IL_0076: 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_00a3: Unknown result type (might be due to invalid IL or missing references) //IL_00a8: Unknown result type (might be due to invalid IL or missing references) //IL_00ad: Unknown result type (might be due to invalid IL or missing references) //IL_00b0: 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_00bf: Unknown result type (might be due to invalid IL or missing references) //IL_00c4: Unknown result type (might be due to invalid IL or missing references) //IL_00c9: Unknown result type (might be due to invalid IL or missing references) //IL_00cc: Unknown result type (might be due to invalid IL or missing references) //IL_00d6: Unknown result type (might be due to invalid IL or missing references) //IL_00db: Unknown result type (might be due to invalid IL or missing references) Projectile component3 = Object.Instantiate(Fento_Assets.ProjectileExplosiveHH_BigYellow.gameObject, ((Component)this).transform.position + ((Component)this).transform.up * 5f + Random.insideUnitSphere * 3f, Quaternion.identity).GetComponent(); ((Component)component3).gameObject.SetActive(true); component3.SetProjTarget(eid.target); component3.safeEnemyType = eid.enemyType; component3.turningSpeedMultiplier *= Random.Range(0.75f, 5f); Rigidbody component4 = ((Component)component3).GetComponent(); Vector3 velocity = component4.velocity; Vector3 val2 = Random.insideUnitSphere; val2 = ((Vector3)(ref val2)).normalized * 0.1f + Vector3.up; component4.velocity = velocity + ((Vector3)(ref val2)).normalized * 50f; component3.speed = 250f; ((Component)component3).transform.DissableColliders(((Component)eid).transform); }); } if (!Object.op_Implicit((Object)(object)bossHealthBar) && !eid.isBoss) { return; } for (int j = 0; j < 8; j++) { int val = j; Main_Utils.Invoke_WithDelay(2f + (float)j * 0.25f / 2f, delegate { //IL_0015: Unknown result type (might be due to invalid IL or missing references) //IL_002a: Unknown result type (might be due to invalid IL or missing references) //IL_003f: Unknown result type (might be due to invalid IL or missing references) //IL_0049: Unknown result type (might be due to invalid IL or missing references) //IL_004e: Unknown result type (might be due to invalid IL or missing references) //IL_005f: Unknown result type (might be due to invalid IL or missing references) //IL_006f: Unknown result type (might be due to invalid IL or missing references) //IL_0079: Unknown result type (might be due to invalid IL or missing references) //IL_007e: Unknown result type (might be due to invalid IL or missing references) //IL_00ab: 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_00f4: Unknown result type (might be due to invalid IL or missing references) //IL_0109: Unknown result type (might be due to invalid IL or missing references) //IL_011e: Unknown result type (might be due to invalid IL or missing references) //IL_0128: Unknown result type (might be due to invalid IL or missing references) //IL_012d: Unknown result type (might be due to invalid IL or missing references) //IL_013e: Unknown result type (might be due to invalid IL or missing references) //IL_014e: Unknown result type (might be due to invalid IL or missing references) //IL_0158: Unknown result type (might be due to invalid IL or missing references) //IL_015d: Unknown result type (might be due to invalid IL or missing references) //IL_0190: Unknown result type (might be due to invalid IL or missing references) //IL_01d6: Unknown result type (might be due to invalid IL or missing references) GameObject obj = Object.Instantiate(Fento_Assets.SlamExplosionShockwave.gameObject, new Vector3(((Component)this).transform.position.x, ((Component)this).transform.position.y, ((Component)this).transform.position.z), Quaternion.identity); Transform transform = obj.transform; transform.position += ((Component)this).transform.up * 5f; obj.transform.Rotate(new Vector3(0f, (float)val * 45f / 2f, 90f)); Main_Utils.Setup_GoreZone_Obj(obj, eid); PhysicalShockwave component = obj.GetComponent(); component.enemyType = (EnemyType)2; component.noDamageToEnemy = true; component.enemy = true; GameObject obj2 = Object.Instantiate(Fento_Assets.SlamExplosionShockwaveMagenta.gameObject, new Vector3(((Component)this).transform.position.x, ((Component)this).transform.position.y, ((Component)this).transform.position.z), Quaternion.identity); Transform transform2 = obj2.transform; transform2.position += ((Component)this).transform.up * 5f; obj2.transform.Rotate(new Vector3(0f, 11.25f + (float)val * 45f / 2f, 90f)); Main_Utils.Setup_GoreZone_Obj(obj2, eid); PhysicalShockwave component2 = obj2.GetComponent(); component2.speed *= 0.25f; component2.maxSize *= 1.1f; component2.enemyType = (EnemyType)2; component2.noDamageToEnemy = true; component2.ignorePlayerDash = true; component2.enemy = true; }); } } } public class Idol_Rage_IQ : MonoBehaviour { private Idol Idol; private EnemyIdentifier Eid; public GameObject Beam; public EnemyIdentifier LastFound; public ContinuousBeam beam; private float Timer; public void OnEnable() { if (Fento_Difficulty_Options.Mech_Disable_RadIdols_Buff) { Object.Destroy((Object)(object)this); return; } Idol = ((Component)this).GetComponent(); Eid = ((Component)this).GetComponent(); Timer = Random.value * 25f; } public void OnDisable() { if ((Object)(object)Beam != (Object)null) { Object.Destroy((Object)(object)Beam); } } public void FixedUpdate() { //IL_00d8: Unknown result type (might be due to invalid IL or missing references) //IL_00dd: Unknown result type (might be due to invalid IL or missing references) //IL_00e2: Unknown result type (might be due to invalid IL or missing references) //IL_00e7: Unknown result type (might be due to invalid IL or missing references) //IL_01ec: Unknown result type (might be due to invalid IL or missing references) //IL_018e: Unknown result type (might be due to invalid IL or missing references) //IL_019b: Unknown result type (might be due to invalid IL or missing references) //IL_01a0: Unknown result type (might be due to invalid IL or missing references) //IL_01a3: Unknown result type (might be due to invalid IL or missing references) //IL_01ae: 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) if ((Object)(object)Idol == (Object)null || (Object)(object)Eid == (Object)null || Eid.dead || Eid.target == null) { return; } Timer += Time.fixedDeltaTime; if (Timer > 25f) { Timer = Random.value * 4f; SpawnInsignia(); } if (!((Object)(object)Idol.target != (Object)null) || !((Object)(object)Idol.target != (Object)(object)LastFound)) { return; } LastFound = Idol.target; if (Object.op_Implicit((Object)(object)beam)) { Object.Destroy((Object)(object)beam); } beam = Object.Instantiate(Fento_Assets.ProjectileBeam.gameObject, ((Component)this).transform.position + Vector3.up, Quaternion.identity, ((Component)this).transform).GetComponent(); beam.canHitEnemy = false; beam.cancelIfEndPointBlocked = false; ContinuousBeam obj = beam; obj.damage *= 0.75f; beam.endPoint = ((Component)LastFound).transform; Main_Utils.Invoke_WithDelay(0.1f, delegate { //IL_0007: Unknown result type (might be due to invalid IL or missing references) //IL_000c: Unknown result type (might be due to invalid IL or missing references) beam.environmentMask = LayerMaskDefaults.Get((LMD)0); }); Collider val = default(Collider); if (((Component)LastFound).TryGetComponent(ref val)) { Transform val2 = ((Component)LastFound).transform.Find("Beam Offset Idol"); if (!Object.op_Implicit((Object)(object)val2)) { val2 = new GameObject("Beam Offset Idol").transform; Transform obj2 = val2; Bounds bounds = val.bounds; obj2.localPosition = ((Bounds)(ref bounds)).center; val2.localRotation = Quaternion.identity; val2.localScale = Vector3.one; val2.SetParent(((Component)LastFound).transform, true); } beam.endPoint = val2; } Main_Utils.Make_Colored(((Component)beam).transform, Color.yellow); } public void SpawnInsignia() { //IL_0035: Unknown result type (might be due to invalid IL or missing references) //IL_003a: Unknown result type (might be due to invalid IL or missing references) //IL_0090: Unknown result type (might be due to invalid IL or missing references) //IL_0096: Invalid comparison between Unknown and I4 //IL_009f: Unknown result type (might be due to invalid IL or missing references) //IL_00a9: Unknown result type (might be due to invalid IL or missing references) if ((Object)(object)Eid != (Object)null && Eid.target != null) { GameObject val = Object.Instantiate(Fento_Assets.Insignia.gameObject, ((Component)MonoSingleton.Instance).transform.position, Quaternion.identity); VirtueInsignia component = val.GetComponent(); component.target = Eid.target; component.parentEnemy = ((Component)Eid).GetComponent(); component.hadParent = (Object)(object)component.parentEnemy != (Object)null; component.explosionLength = 3.5f; if ((int)MonoSingleton.Instance.playerType == 1) { Transform transform = val.transform; transform.localScale *= 0.75f; component.windUpSpeedMultiplier *= 0.875f; } } } } public class Manneq_Rage_IQ : MonoBehaviour { public Enemy mach; public Mannequin Manneq; public EnemyIdentifier eid; public NavMeshAgent nma; public float Timer; public void Start() { //IL_0050: Unknown result type (might be due to invalid IL or missing references) //IL_005a: Expected O, but got Unknown mach = ((Component)this).GetComponent(); Manneq = ((Component)this).GetComponent(); eid = ((Component)this).GetComponent(); nma = ((Component)this).GetComponent(); if (!Object.op_Implicit((Object)(object)eid)) { return; } eid.onDeath.AddListener((UnityAction)delegate { //IL_005d: Unknown result type (might be due to invalid IL or missing references) //IL_0077: 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()).transform; Main_Utils.DetectebleEnemies[] array = new Main_Utils.DetectebleEnemies[3] { Main_Utils.DetectebleEnemies.Stray, Main_Utils.DetectebleEnemies.Schism, Main_Utils.DetectebleEnemies.Soldier }; EnemyIdentifier eid0 = Main_Utils.Integrate_Enemy(array[Random.Range(0, array.Length)], transform, active: false, ((Component)this).transform.position, Quaternion.Euler(0f, Random.value * 360f, 0f)); eid0.immuneToFriendlyFire = true; eid0.dontCountAsKills = true; eid0.Make_Puppet_OnStart(); eid0.Make_UltraEnraged(); Main_Utils.Invoke_WithDelay(1f + Random.value, delegate { if (Object.op_Implicit((Object)(object)eid0)) { ((Component)eid0).gameObject.SetActive(true); } }); } }); } public void FixedUpdate() { //IL_00d3: Unknown result type (might be due to invalid IL or missing references) //IL_00e3: Unknown result type (might be due to invalid IL or missing references) //IL_0108: Unknown result type (might be due to invalid IL or missing references) //IL_00fb: Unknown result type (might be due to invalid IL or missing references) if (!Object.op_Implicit((Object)(object)eid) || eid.dead || eid.target == null || !Object.op_Implicit((Object)(object)Manneq)) { return; } Timer += Time.fixedDeltaTime; if (!(Timer > 2.5f)) { return; } Timer = 0f; if (!Manneq.inAction && Object.op_Implicit((Object)(object)nma) && ((Behaviour)nma).enabled && nma.isOnNavMesh && Object.op_Implicit((Object)(object)mach) && Object.op_Implicit((Object)(object)mach.gc) && mach.gc.onGround) { if (Vector3.Distance(((Component)this).transform.position, eid.target.position) > 15f) { Manneq.behavior = (MannequinBehavior)2; } else { Manneq.behavior = (MannequinBehavior)0; } } } } public class SwordsMachine_Rage_IQ : MonoBehaviour { public SwordsMachine swm; public EnemyIdentifier eid; public Enemy enemy; public float Timer; public float TimerSim; public bool Add; public void Start() { eid = ((Component)this).GetComponent(); enemy = ((Component)this).GetComponent(); swm = ((Component)this).GetComponent(); if (Object.op_Implicit((Object)(object)eid)) { Add = eid.isBoss || Object.op_Implicit((Object)(object)((Component)eid).GetComponent()); } } public void FixedUpdate() { //IL_00b2: Unknown result type (might be due to invalid IL or missing references) //IL_00be: Unknown result type (might be due to invalid IL or missing references) //IL_00d3: Unknown result type (might be due to invalid IL or missing references) //IL_00da: Unknown result type (might be due to invalid IL or missing references) //IL_00f1: Unknown result type (might be due to invalid IL or missing references) //IL_00f6: Unknown result type (might be due to invalid IL or missing references) //IL_00fb: Unknown result type (might be due to invalid IL or missing references) //IL_0100: Unknown result type (might be due to invalid IL or missing references) //IL_0107: Unknown result type (might be due to invalid IL or missing references) //IL_010c: Unknown result type (might be due to invalid IL or missing references) //IL_0111: Unknown result type (might be due to invalid IL or missing references) //IL_0116: Unknown result type (might be due to invalid IL or missing references) //IL_011b: Unknown result type (might be due to invalid IL or missing references) //IL_0122: Unknown result type (might be due to invalid IL or missing references) //IL_0127: 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_0137: Unknown result type (might be due to invalid IL or missing references) //IL_01f8: Unknown result type (might be due to invalid IL or missing references) //IL_01ff: 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) if (!Object.op_Implicit((Object)(object)eid) || eid.dead || eid.target == null) { return; } enemy.partiallyParryable = false; enemy.parryable = false; Timer += Time.fixedDeltaTime; TimerSim += Time.fixedDeltaTime; if (Timer > 1f) { Timer = 0f; Main_Utils.GetTargetPosition(eid.target, out var targetPosition); if (!swm.firstPhase && !swm.inAction && targetPosition.y > ((Component)this).transform.position.y + 4f && Vector3.Distance(targetPosition, ((Component)this).transform.position) > 10f && !Physics.Raycast(((Component)this).transform.position + Vector3.up, targetPosition - (((Component)this).transform.position + Vector3.up), Vector3.Distance(targetPosition, ((Component)this).transform.position + Vector3.up), LayerMask.op_Implicit(LayerMaskDefaults.Get((LMD)1)))) { Create_Slice(); Timer = -9f; } } if (!(TimerSim > 1f)) { return; } TimerSim = 0f; if (Add && Object.op_Implicit((Object)(object)enemy) && (Object)(object)enemy.symbiote == (Object)null && eid.Health < enemy.originalHealth * 0.5f) { Add = false; EnemyIdentifier obj = Main_Utils.Integrate_Enemy(Main_Utils.DetectebleEnemies.SwordsMachineNonboss, Object.op_Implicit((Object)(object)((Component)this).transform.parent) ? ((Component)this).transform.parent : ((Component)this).transform, active: true, ((Component)this).transform.position); obj.immuneToFriendlyFire = true; obj.Make_UltraEnraged(); obj.Make_Puppet_OnStart(); Enemy val = default(Enemy); if (((Component)obj).TryGetComponent(ref val)) { enemy.symbiote = val; val.symbiote = enemy; } } } public void Create_Slice() { //IL_002b: Unknown result type (might be due to invalid IL or missing references) //IL_003b: Unknown result type (might be due to invalid IL or missing references) //IL_0046: Unknown result type (might be due to invalid IL or missing references) //IL_004b: Unknown result type (might be due to invalid IL or missing references) //IL_0050: Unknown result type (might be due to invalid IL or missing references) //IL_0053: Unknown result type (might be due to invalid IL or missing references) //IL_005d: Unknown result type (might be due to invalid IL or missing references) //IL_0062: Unknown result type (might be due to invalid IL or missing references) //IL_006d: Unknown result type (might be due to invalid IL or missing references) //IL_007e: Unknown result type (might be due to invalid IL or missing references) //IL_0088: 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_00c1: 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_00dc: 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_00e9: Unknown result type (might be due to invalid IL or missing references) //IL_00f3: Unknown result type (might be due to invalid IL or missing references) //IL_00f8: Unknown result type (might be due to invalid IL or missing references) //IL_0103: Unknown result type (might be due to invalid IL or missing references) //IL_0114: Unknown result type (might be due to invalid IL or missing references) //IL_011e: Unknown result type (might be due to invalid IL or missing references) //IL_0138: Unknown result type (might be due to invalid IL or missing references) //IL_014d: Unknown result type (might be due to invalid IL or missing references) if (!Object.op_Implicit((Object)(object)eid) || eid.target == null) { return; } GameObject gameObject = Fento_Assets.V2UnParry.gameObject; Vector3 position = ((Component)this).transform.position; Vector3 val = eid.target.position - ((Component)this).transform.position; GameObject obj = Object.Instantiate(gameObject, position + ((Vector3)(ref val)).normalized * 2.5f, ((Component)this).transform.rotation); Transform transform = obj.transform; transform.localScale *= 2f; obj.transform.LookAt(eid.target.position); GameObject gameObject2 = Fento_Assets.V2UnParry.gameObject; Vector3 position2 = eid.target.position; val = ((Component)this).transform.position - eid.target.position; GameObject obj2 = Object.Instantiate(gameObject2, position2 + ((Vector3)(ref val)).normalized * 2.5f, ((Component)this).transform.rotation); Transform transform2 = obj2.transform; transform2.localScale *= 2f; obj2.transform.LookAt(eid.target.position); _ = eid.target.position; Main_Utils.Invoke_WithDelay(0.6f, delegate { //IL_003b: Unknown result type (might be due to invalid IL or missing references) //IL_004b: 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) //IL_0065: Unknown result type (might be due to invalid IL or missing references) //IL_006a: 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_0085: Unknown result type (might be due to invalid IL or missing references) //IL_0096: Unknown result type (might be due to invalid IL or missing references) //IL_00a1: Unknown result type (might be due to invalid IL or missing references) //IL_00ab: Unknown result type (might be due to invalid IL or missing references) //IL_00b0: Unknown result type (might be due to invalid IL or missing references) //IL_00cb: 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_0103: Unknown result type (might be due to invalid IL or missing references) //IL_0149: Unknown result type (might be due to invalid IL or missing references) //IL_0159: Unknown result type (might be due to invalid IL or missing references) //IL_0169: Unknown result type (might be due to invalid IL or missing references) //IL_0173: Unknown result type (might be due to invalid IL or missing references) //IL_0178: Unknown result type (might be due to invalid IL or missing references) //IL_0189: Unknown result type (might be due to invalid IL or missing references) //IL_0193: Unknown result type (might be due to invalid IL or missing references) //IL_01a4: Unknown result type (might be due to invalid IL or missing references) //IL_01af: 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_01be: Unknown result type (might be due to invalid IL or missing references) //IL_01d9: Unknown result type (might be due to invalid IL or missing references) //IL_01f4: Unknown result type (might be due to invalid IL or missing references) //IL_0211: Unknown result type (might be due to invalid IL or missing references) if (Object.op_Implicit((Object)(object)eid) && eid.target != null) { float num = Random.Range(75f, 105f); GameObject obj3 = Object.Instantiate(Fento_Assets.SlamExplosionShockwave.gameObject, new Vector3(((Component)this).transform.position.x, ((Component)this).transform.position.y, ((Component)this).transform.position.z), Quaternion.identity); Transform transform3 = obj3.transform; transform3.localScale *= 0.5f; Transform transform4 = obj3.transform; transform4.position += ((Component)this).transform.up * 2f; obj3.transform.LookAt(eid.target.position); obj3.transform.Rotate(new Vector3(0f, 0f, num)); Main_Utils.Setup_GoreZone_Obj(obj3, eid); PhysicalShockwave component = obj3.GetComponent(); component.enemyType = (EnemyType)7; component.noDamageToEnemy = true; component.enemy = true; component.maxSize *= 1.5f; component.speed *= 3f; GameObject obj4 = Object.Instantiate(Fento_Assets.SlamExplosionShockwaveMagenta.gameObject, new Vector3(((Component)this).transform.position.x, ((Component)this).transform.position.y, ((Component)this).transform.position.z), Quaternion.identity); Transform transform5 = obj4.transform; transform5.localScale *= 0.5f; Transform transform6 = obj4.transform; transform6.position += ((Component)this).transform.up * 2f; obj4.transform.LookAt(eid.target.position); obj4.transform.Rotate(new Vector3(0f, 0f, num)); Main_Utils.Setup_GoreZone_Obj(obj4, eid); PhysicalShockwave component2 = obj4.GetComponent(); component2.enemyType = (EnemyType)7; component2.noDamageToEnemy = true; component2.enemy = true; component2.maxSize *= 1.5f; component2.speed *= 3f; component2.ignorePlayerDash = true; } }); } } public class StreetCleaner_Rage_Hook_IQ : MonoBehaviour { public GameObject DisabledObj; public EnemyIdentifier eid; public float Timer; public float Gasoline_Charge; public bool Gasoline_Fire; public void Start() { //IL_001d: Unknown result type (might be due to invalid IL or missing references) //IL_0027: Expected O, but got Unknown //IL_004f: Unknown result type (might be due to invalid IL or missing references) //IL_0056: Invalid comparison between Unknown and I4 //IL_007a: Unknown result type (might be due to invalid IL or missing references) //IL_0084: Unknown result type (might be due to invalid IL or missing references) //IL_0089: Unknown result type (might be due to invalid IL or missing references) //IL_0093: Unknown result type (might be due to invalid IL or missing references) //IL_0098: Unknown result type (might be due to invalid IL or missing references) //IL_0063: Unknown result type (might be due to invalid IL or missing references) //IL_00ad: Unknown result type (might be due to invalid IL or missing references) //IL_00c2: Unknown result type (might be due to invalid IL or missing references) //IL_00d2: Unknown result type (might be due to invalid IL or missing references) //IL_00d8: Invalid comparison between Unknown and I4 //IL_00fa: Unknown result type (might be due to invalid IL or missing references) //IL_0104: Expected O, but got Unknown Timer = Random.value; eid = ((Component)this).GetComponent(); DisabledObj = new GameObject("DisabledObj"); DisabledObj.SetActive(false); DisabledObj.transform.SetParent(((Component)this).transform); if ((int)eid.enemyType == 35) { DisabledObj.transform.localPosition = Vector3.zero; } else { DisabledObj.transform.localPosition = Vector3.forward * 1.5f + Vector3.up * 2.5f; } DisabledObj.transform.localScale = Vector3.one; DisabledObj.transform.localRotation = Quaternion.identity; if ((int)eid.enemyType != 6 || !Object.op_Implicit((Object)(object)eid)) { return; } eid.onDeath.AddListener((UnityAction)delegate { //IL_0026: 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_0036: Unknown result type (might be due to invalid IL or missing references) //IL_003b: 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_0043: Unknown result type (might be due to invalid IL or missing references) //IL_0048: Unknown result type (might be due to invalid IL or missing references) //IL_0055: 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) //IL_0079: Unknown result type (might be due to invalid IL or missing references) //IL_0068: Unknown result type (might be due to invalid IL or missing references) //IL_006d: Unknown result type (might be due to invalid IL or missing references) if (Object.op_Implicit((Object)(object)eid) && !eid.puppet) { Vector3 val = ((Component)this).transform.position + ((Component)this).transform.up; RaycastHit val2 = default(RaycastHit); if (Physics.Raycast(val, -((Component)this).transform.up, ref val2, 15f, LayerMask.op_Implicit(LayerMaskDefaults.Get((LMD)1)))) { val = ((RaycastHit)(ref val2)).point; } GameObject obj = Object.Instantiate(Fento_Assets.Landmine.gameObject, val, Quaternion.identity); obj.GetComponent().explosion = Fento_Assets.ExplosionSuper.gameObject; Main_Utils.Setup_GoreZone_Obj(obj, eid); } }); } public void FixedUpdate() { //IL_025b: Unknown result type (might be due to invalid IL or missing references) //IL_0267: Unknown result type (might be due to invalid IL or missing references) //IL_0056: Unknown result type (might be due to invalid IL or missing references) //IL_005d: Unknown result type (might be due to invalid IL or missing references) //IL_0062: 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_006a: Unknown result type (might be due to invalid IL or missing references) //IL_006f: Unknown result type (might be due to invalid IL or missing references) //IL_0070: Unknown result type (might be due to invalid IL or missing references) //IL_0077: 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_0283: Unknown result type (might be due to invalid IL or missing references) //IL_00ad: Unknown result type (might be due to invalid IL or missing references) //IL_00b2: Unknown result type (might be due to invalid IL or missing references) //IL_00b8: Unknown result type (might be due to invalid IL or missing references) //IL_00bd: 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_00d8: Unknown result type (might be due to invalid IL or missing references) //IL_00d9: Unknown result type (might be due to invalid IL or missing references) //IL_00e3: Unknown result type (might be due to invalid IL or missing references) //IL_00e8: Unknown result type (might be due to invalid IL or missing references) //IL_0104: Unknown result type (might be due to invalid IL or missing references) //IL_010e: Unknown result type (might be due to invalid IL or missing references) //IL_029a: Unknown result type (might be due to invalid IL or missing references) //IL_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_02a9: Unknown result type (might be due to invalid IL or missing references) //IL_02b0: Unknown result type (might be due to invalid IL or missing references) //IL_02b5: Unknown result type (might be due to invalid IL or missing references) //IL_02ba: Unknown result type (might be due to invalid IL or missing references) //IL_02bf: Unknown result type (might be due to invalid IL or missing references) //IL_02c4: Unknown result type (might be due to invalid IL or missing references) //IL_02cb: Unknown result type (might be due to invalid IL or missing references) //IL_02d0: Unknown result type (might be due to invalid IL or missing references) //IL_02d5: Unknown result type (might be due to invalid IL or missing references) //IL_02e0: Unknown result type (might be due to invalid IL or missing references) //IL_01ef: Unknown result type (might be due to invalid IL or missing references) //IL_01f6: Expected O, but got Unknown if (!Object.op_Implicit((Object)(object)eid) || eid.dead || eid.target == null) { return; } Main_Utils.GetTargetPosition(eid.target, out var targetPosition); if (Gasoline_Fire) { if (Gasoline_Charge >= 0.01f) { Vector3 val = targetPosition - ((Component)this).transform.position; Vector3 normalized = ((Vector3)(ref val)).normalized; if (Vector3.Distance(targetPosition, ((Component)this).transform.position) > 9f) { Gasoline_Charge -= 0.01f; GameObject obj = Object.Instantiate(Fento_Assets.GasolineProjectile.gameObject, ((Component)this).transform.position + normalized * 5f, ((Component)this).transform.rotation); obj.transform.LookAt(targetPosition + Random.insideUnitSphere * 6f); GameObjectExtensions.GetOrAddComponent(obj); Rigidbody component = obj.GetComponent(); component.velocity = ((Component)component).transform.forward * 200f; } } else { foreach (Flammable flammable in eid.flammables) { flammable.heat *= 0.01f; flammable.fuel *= 0.01f; } float num = 0f; foreach (Flammable flammable2 in eid.flammables) { num = Mathf.Max(num, flammable2.fuel); } Renderer[] componentsInChildren = ((Component)this).GetComponentsInChildren(); foreach (Renderer val2 in componentsInChildren) { if (!eid.buffUnaffectedRenderers.Contains(val2) && !(val2 is ParticleSystemRenderer)) { MaterialPropertyBlock val3 = new MaterialPropertyBlock(); val2.GetPropertyBlock(val3); val3.SetFloat("_OiledAmount", num / 5f); val2.SetPropertyBlock(val3); } } Gasoline_Fire = false; } } Timer += Time.fixedDeltaTime; if (!(Timer < 1f)) { Timer = 0f; if (targetPosition.y > ((Component)this).transform.position.y + 4f && Vector3.Distance(targetPosition, ((Component)this).transform.position) > 20f && !Physics.Raycast(((Component)this).transform.position + Vector3.up, targetPosition - (((Component)this).transform.position + Vector3.up), Vector3.Distance(targetPosition, ((Component)this).transform.position + Vector3.up), LayerMask.op_Implicit(LayerMaskDefaults.Get((LMD)1)))) { ShootSpear(); Timer = -4f + Random.value; } } } public void ShootSpear() { //IL_0010: Unknown result type (might be due to invalid IL or missing references) //IL_001b: Unknown result type (might be due to invalid IL or missing references) //IL_0031: Unknown result type (might be due to invalid IL or missing references) //IL_0036: Unknown result type (might be due to invalid IL or missing references) //IL_003b: 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_005c: Unknown result type (might be due to invalid IL or missing references) //IL_0061: Unknown result type (might be due to invalid IL or missing references) //IL_0082: Unknown result type (might be due to invalid IL or missing references) //IL_0092: Unknown result type (might be due to invalid IL or missing references) //IL_0097: Unknown result type (might be due to invalid IL or missing references) GameObject obj = Object.Instantiate(Fento_Assets.MassWindup.gameObject, ((Component)this).transform.position, ((Component)this).transform.rotation); obj.transform.position = ((Component)this).transform.position + Vector3.up; Transform transform = obj.transform; transform.position += ((Component)this).gameObject.transform.forward; obj.transform.LookAt(Main_Utils.PredictTargetPosition(eid.target, 0.01f, includeGravity: true) + eid.target.Up()); Main_Utils.Invoke_WithDelay(0.9f, delegate { //IL_0039: Unknown result type (might be due to invalid IL or missing references) //IL_0049: Unknown result type (might be due to invalid IL or missing references) //IL_0054: Unknown result type (might be due to invalid IL or missing references) //IL_0059: Unknown result type (might be due to invalid IL or missing references) //IL_005e: Unknown result type (might be due to invalid IL or missing references) //IL_0061: Unknown result type (might be due to invalid IL or missing references) //IL_006b: Unknown result type (might be due to invalid IL or missing references) //IL_0070: 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_008c: Unknown result type (might be due to invalid IL or missing references) //IL_0096: Unknown result type (might be due to invalid IL or missing references) //IL_00b0: Unknown result type (might be due to invalid IL or missing references) //IL_00cf: Unknown result type (might be due to invalid IL or missing references) //IL_00da: 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_00ef: Unknown result type (might be due to invalid IL or missing references) //IL_00f4: Unknown result type (might be due to invalid IL or missing references) //IL_00f7: Unknown result type (might be due to invalid IL or missing references) //IL_0101: Unknown result type (might be due to invalid IL or missing references) //IL_0106: Unknown result type (might be due to invalid IL or missing references) //IL_0111: Unknown result type (might be due to invalid IL or missing references) //IL_0122: 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_0146: Unknown result type (might be due to invalid IL or missing references) if (!((Object)(object)eid == (Object)null) && !eid.dead && eid.target != null) { GameObject gameObject = Fento_Assets.V2UnParry.gameObject; Vector3 position = ((Component)this).transform.position; Vector3 val = eid.target.position - ((Component)this).transform.position; GameObject obj2 = Object.Instantiate(gameObject, position + ((Vector3)(ref val)).normalized * 2.5f, ((Component)this).transform.rotation); Transform transform2 = obj2.transform; transform2.localScale *= 10f; obj2.transform.LookAt(eid.target.position); GameObject gameObject2 = Fento_Assets.V2UnParry.gameObject; Vector3 position2 = eid.target.position; val = ((Component)this).transform.position - eid.target.position; GameObject obj3 = Object.Instantiate(gameObject2, position2 + ((Vector3)(ref val)).normalized * 2.5f, ((Component)this).transform.rotation); Transform transform3 = obj3.transform; transform3.localScale *= 10f; obj3.transform.LookAt(eid.target.position); Main_Utils.Invoke_WithDelay(0.38f, delegate { //IL_0065: Unknown result type (might be due to invalid IL or missing references) //IL_006a: Unknown result type (might be due to invalid IL or missing references) //IL_0071: Unknown result type (might be due to invalid IL or missing references) //IL_0076: 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_007e: Unknown result type (might be due to invalid IL or missing references) //IL_0088: Unknown result type (might be due to invalid IL or missing references) //IL_008d: Unknown result type (might be due to invalid IL or missing references) //IL_0098: Unknown result type (might be due to invalid IL or missing references) //IL_00a9: Unknown result type (might be due to invalid IL or missing references) //IL_0195: Unknown result type (might be due to invalid IL or missing references) //IL_01cd: 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_01e2: Unknown result type (might be due to invalid IL or missing references) if (!((Object)(object)eid == (Object)null) && !eid.dead && eid.target != null && Object.op_Implicit((Object)(object)Fento_Assets.MassSpearHook.gameObject)) { Main_Utils.GetTargetPosition(eid.target, out var targetPosition); GameObject gameObject3 = Fento_Assets.MassSpearHook.gameObject; Vector3 position3 = DisabledObj.transform.position; Vector3 val2 = targetPosition - ((Component)this).transform.position; GameObject val3 = Object.Instantiate(gameObject3, position3 + ((Vector3)(ref val2)).normalized * 5f, ((Component)this).transform.rotation); val3.transform.LookAt(targetPosition); Main_Utils.Setup_GoreZone_Obj(val3, eid); val3.transform.DissableColliders(((Component)eid).transform); MassSpear val4 = default(MassSpear); if (val3.TryGetComponent(ref val4)) { val4.target = eid.target; val4.targetHandle = Main_Utils.GetTargetHandle(eid.target); val4.originPoint = DisabledObj.transform; MassSpear obj4 = val4; obj4.spearHealth *= 1.25f; float num = MonoSingleton.Instance.GetInt("difficulty", 0); if (num == 1f) { MassSpear obj5 = val4; obj5.speedMultiplier *= 0.75f; } if (num == 2f) { MassSpear obj6 = val4; obj6.speedMultiplier *= 2f; } else if (num >= 3f) { MassSpear obj7 = val4; obj7.speedMultiplier *= 2.5f; } float time = Main_Utils.PredictTimeOld(((Component)this).transform.position, val4.speedMultiplier * 100f, eid.target); val3.transform.LookAt(Main_Utils.PredictTargetPosition(eid.target, time, includeGravity: true) + eid.target.Up()); } GameObjectExtensions.GetOrAddComponent(val3).eid = eid; eid.destroyOnDeath.Add(val3); } }); } }); } } public class Drone_Rage_IQ : MonoBehaviour { public class SiveUp : MonoBehaviour { public float Size; public AudioSource audioSource; public void Update() { //IL_0018: Unknown result type (might be due to invalid IL or missing references) //IL_0028: Unknown result type (might be due to invalid IL or missing references) Size += Time.deltaTime; ((Component)this).transform.localScale = Vector3.one * Mathf.Clamp01(Size); if (Object.op_Implicit((Object)(object)audioSource)) { audioSource.volume = Mathf.Clamp01(Size); } if (Size > 1f) { Object.Destroy((Object)(object)this); } } } public EnemyIdentifier eid; public Mandalore mandalore; public Drone drone; public Rigidbody rb; public float Timer; public bool SlowDown; public void Start() { //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_00ae: Unknown result type (might be due to invalid IL or missing references) //IL_00b8: Expected O, but got Unknown eid = ((Component)this).GetComponent(); mandalore = ((Component)this).GetComponent(); drone = ((Component)this).GetComponent(); rb = ((Component)this).GetComponent(); Timer = Random.value * 10f; if (Object.op_Implicit((Object)(object)mandalore)) { Leviathan_Rage_Shoot orAddComponent = GameObjectExtensions.GetOrAddComponent(((Component)this).gameObject); orAddComponent.safeEnemyType = eid.enemyType; orAddComponent.shootPoint = ((Component)this).transform; orAddComponent.eid = eid; } if (!Object.op_Implicit((Object)(object)eid) || eid.puppet) { return; } eid.onDeath.AddListener((UnityAction)delegate { //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_0041: Unknown result type (might be due to invalid IL or missing references) //IL_0046: Unknown result type (might be due to invalid IL or missing references) //IL_0083: Unknown result type (might be due to invalid IL or missing references) //IL_0088: Unknown result type (might be due to invalid IL or missing references) //IL_008d: Unknown result type (might be due to invalid IL or missing references) //IL_00a0: 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) if (Object.op_Implicit((Object)(object)eid) && !eid.puppet) { Stray_Rage_Proj stray_Rage_Proj = default(Stray_Rage_Proj); for (int i = 0; i < 2; i++) { Projectile component = Object.Instantiate(Fento_Assets.Projectile_Red.gameObject, ((Component)this).transform.position + Random.insideUnitSphere, Quaternion.identity).GetComponent(); Main_Utils.Setup_GoreZone_Obj(((Component)component).gameObject, eid); if (((Component)component).TryGetComponent(ref stray_Rage_Proj)) { Object.Destroy((Object)(object)stray_Rage_Proj); } ((Component)component).transform.LookAt(((Component)component).transform.position + Random.insideUnitSphere); component.ignoreExplosions = true; component.homingType = (HomingType)1; component.safeEnemyType = (EnemyType)1; component.speed = Random.Range(10f, 25f); component.targetHandle = Main_Utils.GetTargetHandle(eid.target); component.target = eid.target; ComponentExtensions.GetOrAddComponent((Component)(object)component); } } }); } public void FixedUpdate() { //IL_00b7: Unknown result type (might be due to invalid IL or missing references) //IL_00c1: Unknown result type (might be due to invalid IL or missing references) //IL_00a1: Unknown result type (might be due to invalid IL or missing references) //IL_0049: Unknown result type (might be due to invalid IL or missing references) //IL_0053: Unknown result type (might be due to invalid IL or missing references) //IL_0064: Unknown result type (might be due to invalid IL or missing references) //IL_006f: Unknown result type (might be due to invalid IL or missing references) //IL_0079: Unknown result type (might be due to invalid IL or missing references) //IL_007e: Unknown result type (might be due to invalid IL or missing references) //IL_0126: Unknown result type (might be due to invalid IL or missing references) //IL_012b: Unknown result type (might be due to invalid IL or missing references) //IL_0130: Unknown result type (might be due to invalid IL or missing references) //IL_0136: Unknown result type (might be due to invalid IL or missing references) //IL_0141: Unknown result type (might be due to invalid IL or missing references) //IL_0146: Unknown result type (might be due to invalid IL or missing references) //IL_014b: Unknown result type (might be due to invalid IL or missing references) //IL_0150: Unknown result type (might be due to invalid IL or missing references) //IL_0156: Unknown result type (might be due to invalid IL or missing references) //IL_0161: Unknown result type (might be due to invalid IL or missing references) //IL_0166: Unknown result type (might be due to invalid IL or missing references) //IL_016b: Unknown result type (might be due to invalid IL or missing references) //IL_0176: Unknown result type (might be due to invalid IL or missing references) //IL_01af: Unknown result type (might be due to invalid IL or missing references) //IL_01ba: Unknown result type (might be due to invalid IL or missing references) //IL_01da: Unknown result type (might be due to invalid IL or missing references) //IL_01f0: Unknown result type (might be due to invalid IL or missing references) //IL_0200: Unknown result type (might be due to invalid IL or missing references) //IL_0205: Unknown result type (might be due to invalid IL or missing references) //IL_022c: Unknown result type (might be due to invalid IL or missing references) //IL_023c: Unknown result type (might be due to invalid IL or missing references) //IL_0241: Unknown result type (might be due to invalid IL or missing references) if (!Object.op_Implicit((Object)(object)eid) || eid.target == null) { return; } if (eid.dead) { if (Object.op_Implicit((Object)(object)rb)) { Rigidbody obj = rb; obj.velocity *= 0.985f; Rigidbody obj2 = rb; obj2.velocity += ((Component)this).transform.forward * 1.25f; } Main_Utils.GetTargetPosition(eid.target, out var targetPosition); ((Component)this).transform.LookAt(targetPosition); return; } if (SlowDown) { Rigidbody obj3 = rb; obj3.velocity *= 0.25f; } Timer += Time.fixedDeltaTime * (float)((!Object.op_Implicit((Object)(object)mandalore)) ? 1 : 2); if (Timer < 10f) { return; } Timer = 0f; Main_Utils.GetTargetPosition(eid.target, out var pos); if (Physics.Raycast(((Component)this).transform.position + Vector3.up, pos - (((Component)this).transform.position + Vector3.up), Vector3.Distance(pos, ((Component)this).transform.position + Vector3.up), LayerMask.op_Implicit(LayerMaskDefaults.Get((LMD)1)))) { return; } SlowDown = true; GameObject sound = Object.Instantiate(Fento_Assets.MaliciousChargeEffect.gameObject, ((Component)this).transform.position, ((Component)this).transform.rotation); sound.transform.position = ((Component)this).transform.position; Transform transform = sound.transform; transform.position += ((Component)this).gameObject.transform.forward; sound.transform.LookAt(Main_Utils.PredictTargetPosition(eid.target, 0.01f, includeGravity: true) + eid.target.Up()); SiveUp orAddComponent = GameObjectExtensions.GetOrAddComponent(sound); AudioSource val = default(AudioSource); if (sound.TryGetComponent(ref val)) { val.pitch = 2f; orAddComponent.audioSource = val; } Main_Utils.Invoke_WithDelay(1.5f * (Object.op_Implicit((Object)(object)mandalore) ? 0.75f : 1f), delegate { //IL_007d: Unknown result type (might be due to invalid IL or missing references) //IL_0088: Unknown result type (might be due to invalid IL or missing references) //IL_009d: 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_00a7: Unknown result type (might be due to invalid IL or missing references) //IL_00aa: Unknown result type (might be due to invalid IL or missing references) //IL_00b4: Unknown result type (might be due to invalid IL or missing references) //IL_00b9: Unknown result type (might be due to invalid IL or missing references) //IL_00ce: Unknown result type (might be due to invalid IL or missing references) //IL_00df: Unknown result type (might be due to invalid IL or missing references) //IL_00e9: Unknown result type (might be due to invalid IL or missing references) //IL_00fe: Unknown result type (might be due to invalid IL or missing references) if (Object.op_Implicit((Object)(object)this) && Object.op_Implicit((Object)(object)eid) && eid.target != null && !eid.dead) { GameObject gameObject = Fento_Assets.V2UnParry.gameObject; Vector3 position = ((Component)this).transform.position; Vector3 val2 = pos - ((Component)this).transform.position; GameObject obj4 = Object.Instantiate(gameObject, position + ((Vector3)(ref val2)).normalized * 2.5f, ((Component)this).transform.rotation); Transform transform2 = obj4.transform; transform2.localScale *= 10f; obj4.transform.LookAt(pos); } Main_Utils.Invoke_WithDelay(0.4f * (Object.op_Implicit((Object)(object)mandalore) ? 0.75f : 1f), delegate { //IL_00e6: Unknown result type (might be due to invalid IL or missing references) //IL_00fb: Unknown result type (might be due to invalid IL or missing references) //IL_010c: Unknown result type (might be due to invalid IL or missing references) //IL_0126: Unknown result type (might be due to invalid IL or missing references) //IL_0148: Unknown result type (might be due to invalid IL or missing references) //IL_014d: Unknown result type (might be due to invalid IL or missing references) //IL_0179: Unknown result type (might be due to invalid IL or missing references) //IL_0193: Unknown result type (might be due to invalid IL or missing references) //IL_0198: Unknown result type (might be due to invalid IL or missing references) //IL_01ad: Unknown result type (might be due to invalid IL or missing references) if (Object.op_Implicit((Object)(object)sound)) { Object.Destroy((Object)(object)sound); } Main_Utils.Invoke_WithDelay(0.2f * (Object.op_Implicit((Object)(object)mandalore) ? 0.75f : 1f), delegate { if (Object.op_Implicit((Object)(object)this)) { SlowDown = false; } }); if (Object.op_Implicit((Object)(object)this) && Object.op_Implicit((Object)(object)eid) && eid.target != null && !eid.dead) { GameObject obj5 = Object.Instantiate(Fento_Assets.MaliciousBeam.gameObject, ((Component)this).transform.position, ((Component)this).transform.rotation); Transform transform3 = obj5.transform; transform3.position += ((Component)this).gameObject.transform.forward * (float)(Object.op_Implicit((Object)(object)mandalore) ? 10 : 3); obj5.transform.LookAt(Main_Utils.PredictTargetPosition(eid.target, 0.01f, includeGravity: true) + eid.target.Up()); RevolverBeam val3 = default(RevolverBeam); if (obj5.TryGetComponent(ref val3)) { val3.ignoreEnemyType = (EnemyType)1; } } }); }); } } public class Mindflayer_Rage_IQ : MonoBehaviour { [CompilerGenerated] private sealed class d__11 : IEnumerator, IDisposable, IEnumerator { private int <>1__state; private object <>2__current; public Mindflayer_Rage_IQ <>4__this; private Vector3 5__2; private EnemyTarget 5__3; private GoreZone 5__4; private int 5__5; object IEnumerator.Current { [DebuggerHidden] get { return <>2__current; } } object IEnumerator.Current { [DebuggerHidden] get { return <>2__current; } } [DebuggerHidden] public d__11(int <>1__state) { this.<>1__state = <>1__state; } [DebuggerHidden] void IDisposable.Dispose() { 5__3 = null; 5__4 = null; <>1__state = -2; } private bool MoveNext() { //IL_0028: Unknown result type (might be due to invalid IL or missing references) //IL_002d: Unknown result type (might be due to invalid IL or missing references) //IL_007f: Unknown result type (might be due to invalid IL or missing references) //IL_0084: Unknown result type (might be due to invalid IL or missing references) //IL_0089: Unknown result type (might be due to invalid IL or missing references) //IL_008e: Unknown result type (might be due to invalid IL or missing references) //IL_00ce: Unknown result type (might be due to invalid IL or missing references) //IL_00d3: Unknown result type (might be due to invalid IL or missing references) //IL_00d8: Unknown result type (might be due to invalid IL or missing references) //IL_00e4: Unknown result type (might be due to invalid IL or missing references) //IL_0133: Unknown result type (might be due to invalid IL or missing references) //IL_013d: Expected O, but got Unknown int num = <>1__state; Mindflayer_Rage_IQ mindflayer_Rage_IQ = <>4__this; switch (num) { default: return false; case 0: <>1__state = -1; 5__2 = ((Component)mindflayer_Rage_IQ).transform.position; 5__3 = ((mindflayer_Rage_IQ.eid.target != null) ? mindflayer_Rage_IQ.eid.target : EnemyTarget.TrackPlayer()); 5__4 = ((Component)mindflayer_Rage_IQ.eid).GetComponentInParent(); 5__5 = 0; break; case 1: <>1__state = -1; 5__5++; break; } if (5__5 < 15) { Projectile component = Object.Instantiate(Fento_Assets.ProjectileHoming_Blue.gameObject, 5__2 + Random.insideUnitSphere, Quaternion.identity).GetComponent(); if (Object.op_Implicit((Object)(object)5__4)) { ((Component)component).transform.SetParent(((Component)5__4).transform, true); } ((Component)component).transform.LookAt(((Component)component).transform.position + Random.insideUnitSphere); component.safeEnemyType = (EnemyType)5; component.ignoreExplosions = true; component.SetProjTarget(5__3); component.turningSpeedMultiplier *= Random.Range(0.9f, 1.15f); component.speed = Random.Range(2f, 20f); <>2__current = (object)new WaitForSeconds(0.1f); <>1__state = 1; return true; } 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 Enemy enemy; public EnemyIdentifier eid; public Mindflayer mind; public BossHealthBar bossHealthBar; public float Timer; public float LastHealth; public float damage; public bool HalfHealth = true; public void Start() { //IL_0061: Unknown result type (might be due to invalid IL or missing references) //IL_006b: Expected O, but got Unknown enemy = ((Component)this).GetComponent(); eid = ((Component)this).GetComponent(); mind = ((Component)this).GetComponent(); bossHealthBar = ((Component)this).GetComponent(); LastHealth = eid.Health; if (!Object.op_Implicit((Object)(object)eid)) { return; } eid.onDeath.AddListener((UnityAction)delegate { if (Object.op_Implicit((Object)(object)eid) && !eid.puppet) { GoreZone componentInParent = ((Component)eid).GetComponentInParent(); if (Object.op_Implicit((Object)(object)componentInParent)) { ((MonoBehaviour)componentInParent).StartCoroutine(ShootDeath()); } } }); } public void FixedUpdate() { //IL_019f: Unknown result type (might be due to invalid IL or missing references) //IL_01af: Unknown result type (might be due to invalid IL or missing references) //IL_0145: Unknown result type (might be due to invalid IL or missing references) //IL_014a: Unknown result type (might be due to invalid IL or missing references) //IL_00d1: Unknown result type (might be due to invalid IL or missing references) //IL_00d6: Unknown result type (might be due to invalid IL or missing references) if (!Object.op_Implicit((Object)(object)eid) || eid.dead || eid.target == null) { return; } Timer += Time.fixedDeltaTime; if (eid.health < LastHealth) { damage += LastHealth - eid.health; LastHealth = eid.health; if (damage > 2f) { damage = 0f; if (HalfHealth && eid.GetRealHealth() < enemy.originalHealth * 0.5f) { LightningStrikeExplosive component = Object.Instantiate(Fento_Assets.LightningBoltExplosion.gameObject, ((Component)this).transform.position, Quaternion.identity).GetComponent(); Main_Utils.Setup_GoreZone_Obj(((Component)component).gameObject, eid); component.safeForPlayer = false; component.damageMultiplier = 0.75f; component.enemyDamageMultiplier = 0f; HalfHealth = false; } else if (eid.isBoss || Object.op_Implicit((Object)(object)bossHealthBar)) { LightningStrikeExplosive component2 = Object.Instantiate(Fento_Assets.LightningBoltExplosion.gameObject, ((Component)this).transform.position, Quaternion.identity).GetComponent(); Main_Utils.Setup_GoreZone_Obj(((Component)component2).gameObject, eid); component2.safeForPlayer = false; component2.damageMultiplier = 0.3f; component2.enemyDamageMultiplier = 0f; } NewTeleport(); } } if (Timer > 1f && Vector3.Distance(((Component)this).transform.position, eid.target.position) < 8f && mind.timeSinceMelee > 1f) { Timer = 0f; NewTeleport(); } } public void NewTeleport() { //IL_0039: Unknown result type (might be due to invalid IL or missing references) //IL_0044: Unknown result type (might be due to invalid IL or missing references) //IL_0054: Unknown result type (might be due to invalid IL or missing references) //IL_0059: Unknown result type (might be due to invalid IL or missing references) //IL_005e: Unknown result type (might be due to invalid IL or missing references) //IL_0061: Unknown result type (might be due to invalid IL or missing references) //IL_0066: Unknown result type (might be due to invalid IL or missing references) if (!Object.op_Implicit((Object)(object)eid) || eid.drillers.Count <= 0) { mind.Teleport(false); Transform transform = ((Component)mind).transform; Vector3 position = transform.position; Vector3 val = ((Component)this).transform.position - eid.target.position; transform.position = position + ((Vector3)(ref val)).normalized; } } [IteratorStateMachine(typeof(d__11))] public IEnumerator ShootDeath() { //yield-return decompiler failed: Unexpected instruction in Iterator.Dispose() return new d__11(0) { <>4__this = this }; } } public class Turret_Rage_IQ : MonoBehaviour { public EnemyIdentifier eid; public Turret turret; public float InvisTimer; public float JumpTimer; public void Start() { //IL_0060: Unknown result type (might be due to invalid IL or missing references) //IL_006a: Expected O, but got Unknown eid = ((Component)this).GetComponent(); turret = ((Component)this).GetComponent(); InvisTimer = Random.value * 10f; JumpTimer = Random.value * 10f; if (!Object.op_Implicit((Object)(object)eid)) { Object.Destroy((Object)(object)this); return; } eid.onDeath.AddListener((UnityAction)delegate { //IL_003d: 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_0064: Unknown result type (might be due to invalid IL or missing references) //IL_006e: Unknown result type (might be due to invalid IL or missing references) //IL_00a0: Unknown result type (might be due to invalid IL or missing references) //IL_00af: Unknown result type (might be due to invalid IL or missing references) //IL_00c0: Unknown result type (might be due to invalid IL or missing references) //IL_00ca: Unknown result type (might be due to invalid IL or missing references) if (Object.op_Implicit((Object)(object)eid) && !eid.puppet) { GameObject val = Object.Instantiate(Fento_Assets.Coin.gameObject, ((Component)this).transform.position, ((Component)this).transform.rotation); Rigidbody val2 = default(Rigidbody); if (val.TryGetComponent(ref val2)) { val2.AddForce(((Component)this).transform.up * 30f, (ForceMode)2); } Coin coin = default(Coin); if (val.TryGetComponent(ref coin)) { GameObject obj = Object.Instantiate(coin.flash, ((Component)coin).transform.position, ((Component)MonoSingleton.Instance).transform.rotation); Transform transform = obj.transform; transform.localScale *= 2f; obj.transform.SetParent(val.transform, true); Coin obj2 = coin; obj2.power += 7f; Main_Utils.Invoke_WithDelay(Mathf.Lerp(Random.value * 1.5f, 0.5f, 0.5f), delegate { coin.customTarget = ((eid.target != null) ? eid.target : EnemyTarget.TrackPlayer()); if (eid.target != null) { coin.DelayedEnemyReflect(); } }); } } }); } public void FixedUpdate() { //IL_0078: Unknown result type (might be due to invalid IL or missing references) //IL_007d: Unknown result type (might be due to invalid IL or missing references) //IL_009d: Unknown result type (might be due to invalid IL or missing references) //IL_00f9: Unknown result type (might be due to invalid IL or missing references) //IL_0109: Unknown result type (might be due to invalid IL or missing references) //IL_0139: Unknown result type (might be due to invalid IL or missing references) //IL_0144: Unknown result type (might be due to invalid IL or missing references) //IL_014e: Unknown result type (might be due to invalid IL or missing references) //IL_0169: Unknown result type (might be due to invalid IL or missing references) //IL_016e: Unknown result type (might be due to invalid IL or missing references) //IL_0173: Unknown result type (might be due to invalid IL or missing references) //IL_017e: Unknown result type (might be due to invalid IL or missing references) //IL_0183: Unknown result type (might be due to invalid IL or missing references) //IL_0190: Unknown result type (might be due to invalid IL or missing references) //IL_01bf: Unknown result type (might be due to invalid IL or missing references) //IL_01c4: Unknown result type (might be due to invalid IL or missing references) //IL_01c9: Unknown result type (might be due to invalid IL or missing references) //IL_01ce: Unknown result type (might be due to invalid IL or missing references) //IL_01df: Unknown result type (might be due to invalid IL or missing references) //IL_01e9: Unknown result type (might be due to invalid IL or missing references) //IL_0202: Unknown result type (might be due to invalid IL or missing references) //IL_0236: Unknown result type (might be due to invalid IL or missing references) //IL_023b: Unknown result type (might be due to invalid IL or missing references) if (!Object.op_Implicit((Object)(object)eid) || eid.dead || eid.target == null) { return; } InvisTimer += Time.fixedDeltaTime; JumpTimer += Time.fixedDeltaTime; if (InvisTimer > 10f) { InvisTimer = 0f; Vector3 og = ((Component)this).transform.localScale; ((Component)this).transform.localScale = new Vector3(0f, og.y, 0f); Main_Utils.Invoke_WithDelay(2.5f, delegate { //IL_000c: Unknown result type (might be due to invalid IL or missing references) ((Component)this).transform.localScale = og; }, () => Object.op_Implicit((Object)(object)this)); } if (!(JumpTimer > 10f)) { return; } if (turret.lodged || turret.aiming || Vector3.Distance(((Component)this).transform.position, eid.target.position) > 15f) { JumpTimer -= Random.value * 0.1f; return; } ((Component)this).transform.localScale = Vector3.one * ((Component)this).transform.localScale.y; JumpTimer = 0f; RaycastHit val = default(RaycastHit); if (!Physics.Raycast(((Component)this).transform.position + Vector3.up, ((Component)this).transform.TransformDirection(Vector3.down), ref val, 30f, LayerMask.op_Implicit(LayerMaskDefaults.Get((LMD)1)))) { return; } MonoSingleton.Instance.HitStop(0.1f); GameObject obj = Object.Instantiate(Fento_Assets.SlamExplosionShockwave.gameObject, ((RaycastHit)(ref val)).point + Vector3.up, Quaternion.identity); Transform transform = obj.transform; transform.localScale *= 0.5f; PhysicalShockwave orAddComponent = GameObjectExtensions.GetOrAddComponent(obj); orAddComponent.noDamageToEnemy = true; orAddComponent.enemyType = (EnemyType)20; orAddComponent.maxSize *= 0.45f; orAddComponent.force *= 0.6f; Explosion[] componentsInChildren = Object.Instantiate(Fento_Assets.Explosion.gameObject, ((RaycastHit)(ref val)).point, Quaternion.identity).GetComponentsInChildren(true); foreach (Explosion val2 in componentsInChildren) { if (val2.toIgnore != null && !val2.toIgnore.Contains((EnemyType)20)) { val2.toIgnore.Add((EnemyType)20); } } } } public class Gutterman_Rage_IQ : MonoBehaviour { [CompilerGenerated] private sealed class d__8 : IEnumerator, IDisposable, IEnumerator { private int <>1__state; private object <>2__current; public EnemyTarget target; public Gutterman_Rage_IQ <>4__this; private Vector3 5__2; private Transform 5__3; object IEnumerator.Current { [DebuggerHidden] get { return <>2__current; } } object IEnumerator.Current { [DebuggerHidden] get { return <>2__current; } } [DebuggerHidden] public d__8(int <>1__state) { this.<>1__state = <>1__state; } [DebuggerHidden] void IDisposable.Dispose() { 5__3 = null; <>1__state = -2; } private bool MoveNext() { //IL_002f: Unknown result type (might be due to invalid IL or missing references) //IL_0034: Unknown result type (might be due to invalid IL or missing references) //IL_0036: Unknown result type (might be due to invalid IL or missing references) //IL_0046: Unknown result type (might be due to invalid IL or missing references) //IL_004b: Unknown result type (might be due to invalid IL or missing references) //IL_0117: Unknown result type (might be due to invalid IL or missing references) //IL_011c: 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_009f: Unknown result type (might be due to invalid IL or missing references) //IL_0185: Unknown result type (might be due to invalid IL or missing references) //IL_0058: Unknown result type (might be due to invalid IL or missing references) //IL_005d: Unknown result type (might be due to invalid IL or missing references) //IL_005f: Unknown result type (might be due to invalid IL or missing references) //IL_006f: Unknown result type (might be due to invalid IL or missing references) //IL_0074: Unknown result type (might be due to invalid IL or missing references) //IL_007f: Unknown result type (might be due to invalid IL or missing references) //IL_0089: Expected O, but got Unknown //IL_00cc: Unknown result type (might be due to invalid IL or missing references) //IL_00d1: Unknown result type (might be due to invalid IL or missing references) //IL_00f2: Unknown result type (might be due to invalid IL or missing references) //IL_00fc: Expected O, but got Unknown //IL_0199: Unknown result type (might be due to invalid IL or missing references) //IL_01a3: Unknown result type (might be due to invalid IL or missing references) //IL_01d0: Unknown result type (might be due to invalid IL or missing references) int num = <>1__state; Gutterman_Rage_IQ gutterman_Rage_IQ = <>4__this; switch (num) { default: return false; case 0: { <>1__state = -1; Vector3 position = target.position; 5__2 = Main_Utils.GetRandomNavMeshPoint(position, Random.Range(5f, 10f)); goto IL_0099; } case 1: <>1__state = -1; goto IL_0099; case 2: { <>1__state = -1; GameObject val = Object.Instantiate(Fento_Assets.GoopCloud.gameObject, 5__2, Quaternion.identity, 5__3); HurtZone componentInChildren = val.GetComponentInChildren(); if ((Object)(object)componentInChildren != (Object)null) { componentInChildren.ignoredEnemyTypes.Add((EnemyType)20); componentInChildren.ignoredEnemyTypes.Add((EnemyType)5); componentInChildren.ignoredEnemyTypes.Add((EnemyType)33); componentInChildren.ignoredEnemyTypes.Add((EnemyType)34); componentInChildren.enemyDamageOverride = 1E-05f; componentInChildren.affected = (AffectedSubjects)1; } if (gutterman_Rage_IQ.OutOfSight) { Transform transform = val.transform; transform.localScale *= 1.5f; if ((Object)(object)componentInChildren != (Object)null) { componentInChildren.setDamage *= 1.5f; } Main_Utils.Make_Colored(val.transform, Color.red); } return false; } IL_0099: if (5__2 == Vector3.zero) { Vector3 position = target.position; 5__2 = Main_Utils.GetRandomNavMeshPoint(position, Random.Range(5f, 10f)); <>2__current = (object)new WaitForSeconds(0.25f); <>1__state = 1; return true; } 5__3 = ((Component)((Component)gutterman_Rage_IQ.eid).GetComponentInParent()).transform; Object.Instantiate(Fento_Assets.BombEnemySpawnerBreaker.gameObject, 5__2, Quaternion.identity).transform.SetParent(5__3, true); <>2__current = (object)new WaitForSeconds(2f); <>1__state = 2; return true; } } bool IEnumerator.MoveNext() { //ILSpy generated this explicit interface implementation from .override directive in MoveNext return this.MoveNext(); } [DebuggerHidden] void IEnumerator.Reset() { throw new NotSupportedException(); } } [CompilerGenerated] private sealed class d__9 : IEnumerator, IDisposable, IEnumerator { private int <>1__state; private object <>2__current; public Gutterman_Rage_IQ <>4__this; public bool radiance; private NewMovement 5__2; private Vector3 5__3; private Transform 5__4; object IEnumerator.Current { [DebuggerHidden] get { return <>2__current; } } object IEnumerator.Current { [DebuggerHidden] get { return <>2__current; } } [DebuggerHidden] public d__9(int <>1__state) { this.<>1__state = <>1__state; } [DebuggerHidden] void IDisposable.Dispose() { 5__2 = null; 5__4 = null; <>1__state = -2; } private bool MoveNext() { //IL_004b: Unknown result type (might be due to invalid IL or missing references) //IL_0050: Unknown result type (might be due to invalid IL or missing references) //IL_0052: Unknown result type (might be due to invalid IL or missing references) //IL_0062: 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_0136: Unknown result type (might be due to invalid IL or missing references) //IL_013b: Unknown result type (might be due to invalid IL or missing references) //IL_01c2: Unknown result type (might be due to invalid IL or missing references) //IL_01c7: Unknown result type (might be due to invalid IL or missing references) //IL_024e: Unknown result type (might be due to invalid IL or missing references) //IL_025e: Unknown result type (might be due to invalid IL or missing references) //IL_0264: Unknown result type (might be due to invalid IL or missing references) //IL_0269: Unknown result type (might be due to invalid IL or missing references) //IL_026e: Unknown result type (might be due to invalid IL or missing references) //IL_0309: Unknown result type (might be due to invalid IL or missing references) //IL_030e: Unknown result type (might be due to invalid IL or missing references) //IL_0318: Unknown result type (might be due to invalid IL or missing references) //IL_031d: Unknown result type (might be due to invalid IL or missing references) //IL_0337: Unknown result type (might be due to invalid IL or missing references) //IL_00bb: Unknown result type (might be due to invalid IL or missing references) //IL_00c0: Unknown result type (might be due to invalid IL or missing references) //IL_0079: Unknown result type (might be due to invalid IL or missing references) //IL_007e: 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_0090: 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_00a0: Unknown result type (might be due to invalid IL or missing references) //IL_00aa: Expected O, but got Unknown //IL_00fc: Unknown result type (might be due to invalid IL or missing references) //IL_0101: Unknown result type (might be due to invalid IL or missing references) //IL_0112: Unknown result type (might be due to invalid IL or missing references) //IL_011c: Expected O, but got Unknown //IL_0188: Unknown result type (might be due to invalid IL or missing references) //IL_018d: Unknown result type (might be due to invalid IL or missing references) //IL_019e: Unknown result type (might be due to invalid IL or missing references) //IL_01a8: Expected O, but got Unknown //IL_0214: Unknown result type (might be due to invalid IL or missing references) //IL_0219: Unknown result type (might be due to invalid IL or missing references) //IL_022a: Unknown result type (might be due to invalid IL or missing references) //IL_0234: Expected O, but got Unknown //IL_02bb: Unknown result type (might be due to invalid IL or missing references) //IL_02c0: Unknown result type (might be due to invalid IL or missing references) //IL_02ca: Unknown result type (might be due to invalid IL or missing references) //IL_02cf: Unknown result type (might be due to invalid IL or missing references) //IL_02d4: Unknown result type (might be due to invalid IL or missing references) //IL_02e5: Unknown result type (might be due to invalid IL or missing references) //IL_02ef: Expected O, but got Unknown int num = <>1__state; Gutterman_Rage_IQ gutterman_Rage_IQ = <>4__this; switch (num) { default: return false; case 0: { <>1__state = -1; 5__2 = MonoSingleton.Instance; Vector3 position = ((Component)5__2).transform.position; 5__3 = Main_Utils.GetRandomNavMeshPoint(position, Random.Range(15f, 35f)); goto IL_00ba; } case 1: <>1__state = -1; goto IL_00ba; case 2: { <>1__state = -1; EnemyIdentifier val4 = Main_Utils.Integrate_Enemy(Main_Utils.DetectebleEnemies.Gutterman, 5__4, active: true, 5__3, Quaternion.identity); val4.dontCountAsKills = true; val4.Sandify(false); ComponentExtensions.GetOrAddComponent((Component)(object)val4); if (radiance) { val4.BuffAll(); } break; } case 3: { <>1__state = -1; EnemyIdentifier val3 = Main_Utils.Integrate_Enemy(Main_Utils.DetectebleEnemies.Guttertank, 5__4, active: true, 5__3, Quaternion.identity); val3.dontCountAsKills = true; val3.Sandify(false); ComponentExtensions.GetOrAddComponent((Component)(object)val3); if (radiance) { val3.BuffAll(); } break; } case 4: { <>1__state = -1; EnemyIdentifier val2 = Main_Utils.Integrate_Enemy(Main_Utils.DetectebleEnemies.Turret, 5__4, active: true, 5__3, Quaternion.LookRotation(((Component)5__2).transform.position - 5__3)); val2.dontCountAsKills = true; val2.Sandify(false); ComponentExtensions.GetOrAddComponent((Component)(object)val2); if (radiance) { val2.BuffAll(); } break; } case 5: { <>1__state = -1; EnemyIdentifier val = Main_Utils.Integrate_Enemy(Main_Utils.DetectebleEnemies.Mindflayer, 5__4, active: true, 5__3 + Vector3.up * 100f, Quaternion.Euler(0f, Random.value * 360f, 0f)); val.dontCountAsKills = true; val.Sandify(false); ComponentExtensions.GetOrAddComponent((Component)(object)val); if (radiance) { val.BuffAll(); } break; } IL_00ba: if (5__3 == Vector3.zero) { Vector3 position = ((Component)5__2).transform.position; 5__3 = Main_Utils.GetRandomNavMeshPoint(position, Random.Range(15f, 35f)); <>2__current = (object)new WaitForSeconds(0.25f); <>1__state = 1; return true; } 5__4 = ((Component)((Component)gutterman_Rage_IQ.eid).GetComponentInParent()).transform; switch (Random.Range(1, 5)) { case 1: Object.Instantiate(Fento_Assets.BombEnemySpawnerBreaker.gameObject, 5__3, Quaternion.identity); <>2__current = (object)new WaitForSeconds(2f); <>1__state = 2; return true; case 2: Object.Instantiate(Fento_Assets.BombEnemySpawnerBreaker.gameObject, 5__3, Quaternion.identity); <>2__current = (object)new WaitForSeconds(2f); <>1__state = 3; return true; case 3: Object.Instantiate(Fento_Assets.BombEnemySpawnerBreaker.gameObject, 5__3, Quaternion.identity); <>2__current = (object)new WaitForSeconds(2f); <>1__state = 4; return true; case 4: Object.Instantiate(Fento_Assets.BombEnemySpawnerBreaker.gameObject, 5__3 + Vector3.up * 100f, Quaternion.identity); <>2__current = (object)new WaitForSeconds(2f); <>1__state = 5; return true; } break; } 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 EnemyIdentifier eid; public Gutterman gutt; public float Timer; public float TimerEye; public bool OutOfSight; public bool Seen; public void Start() { //IL_0049: Unknown result type (might be due to invalid IL or missing references) //IL_0053: Expected O, but got Unknown Timer = Random.value * 10f; eid = ((Component)this).GetComponent(); gutt = ((Component)this).GetComponent(); if (!Object.op_Implicit((Object)(object)eid)) { return; } eid.onDeath.AddListener((UnityAction)delegate { if (Object.op_Implicit((Object)(object)eid) && !eid.puppet) { GoreZone componentInParent = ((Component)eid).GetComponentInParent(); if (Object.op_Implicit((Object)(object)componentInParent)) { ((MonoBehaviour)componentInParent).StartCoroutine(Suppor_Forces(OutOfSight)); ((MonoBehaviour)componentInParent).StartCoroutine(Suppor_Forces(OutOfSight && Random.value < 0.1f)); ((MonoBehaviour)componentInParent).StartCoroutine(Suppor_Forces(OutOfSight && Random.value < 0.1f)); } } }); } public void FixedUpdate() { //IL_00ed: Unknown result type (might be due to invalid IL or missing references) //IL_00f2: Unknown result type (might be due to invalid IL or missing references) //IL_00f7: 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_010c: Unknown result type (might be due to invalid IL or missing references) //IL_0111: Unknown result type (might be due to invalid IL or missing references) //IL_0116: Unknown result type (might be due to invalid IL or missing references) //IL_0117: Unknown result type (might be due to invalid IL or missing references) //IL_0118: Unknown result type (might be due to invalid IL or missing references) //IL_0119: Unknown result type (might be due to invalid IL or missing references) //IL_011e: Unknown result type (might be due to invalid IL or missing references) //IL_011f: Unknown result type (might be due to invalid IL or missing references) //IL_0122: Unknown result type (might be due to invalid IL or missing references) //IL_012f: Unknown result type (might be due to invalid IL or missing references) if (!Object.op_Implicit((Object)(object)eid) || eid.dead || eid.target == null) { return; } Timer += Time.fixedDeltaTime; TimerEye += Time.fixedDeltaTime; if (Timer > 10f) { Timer = Random.value * (OutOfSight ? 2f : 1f) + (OutOfSight ? 1f : 0f); ((MonoBehaviour)this).StartCoroutine(AcidDrop(eid.target)); } if (!(TimerEye > 1f)) { return; } TimerEye = Random.value * 0.25f; Main_Utils.GetTargetPosition(eid.target, out var targetPosition); if (!OutOfSight) { bool flag = true; Vector3 val = ((Component)this).transform.position + Vector3.up + ((Component)this).transform.forward * 3f; Vector3 val2 = targetPosition - val; PortalTraversalV2[] array = default(PortalTraversalV2[]); PhysicsCastResult[] array2 = PortalPhysicsV2.RaycastAll(val, ((Vector3)(ref val2)).normalized, ((Vector3)(ref val2)).magnitude, LayerMask.op_Implicit(LayerMaskDefaults.Get((LMD)1)), ref array, (QueryTriggerInteraction)0); int num = 0; if (num < array2.Length) { _ = ref array2[num]; flag = false; } if (flag) { Seen = true; } else if (!flag && Seen) { OutOfSight = true; MonoSingleton.Instance.AddPoints(100, "OUT OF SIGHT", (GameObject)null, (EnemyIdentifier)null, -1, "", ""); MonoSingleton.Instance.HitStop(0.1f); Object.Instantiate(Fento_Assets.HealingEffect.gameObject, ((Component)this).transform); EnemyIdentifier obj = eid; obj.radianceTier += 0.25f; eid.BuffAll(); eid.Set_Health(eid.GetRealHealth() + 7f); } } } [IteratorStateMachine(typeof(d__8))] public IEnumerator AcidDrop(EnemyTarget target) { //yield-return decompiler failed: Unexpected instruction in Iterator.Dispose() return new d__8(0) { <>4__this = this, target = target }; } [IteratorStateMachine(typeof(d__9))] public IEnumerator Suppor_Forces(bool radiance = false) { //yield-return decompiler failed: Unexpected instruction in Iterator.Dispose() return new d__9(0) { <>4__this = this, radiance = radiance }; } } public class Guttertank_Rage_IQ : MonoBehaviour { [CompilerGenerated] private sealed class d__6 : IEnumerator, IDisposable, IEnumerator { private int <>1__state; private object <>2__current; public Guttertank_Rage_IQ <>4__this; private List.Enumerator <>7__wrap1; object IEnumerator.Current { [DebuggerHidden] get { return <>2__current; } } object IEnumerator.Current { [DebuggerHidden] get { return <>2__current; } } [DebuggerHidden] public d__6(int <>1__state) { this.<>1__state = <>1__state; } [DebuggerHidden] void IDisposable.Dispose() { int num = <>1__state; if (num == -3 || num == 1) { try { } finally { <>m__Finally1(); } } <>7__wrap1 = default(List.Enumerator); <>1__state = -2; } private bool MoveNext() { //IL_0052: Unknown result type (might be due to invalid IL or missing references) //IL_0088: Unknown result type (might be due to invalid IL or missing references) //IL_008d: 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_00aa: Unknown result type (might be due to invalid IL or missing references) //IL_00af: Unknown result type (might be due to invalid IL or missing references) //IL_00b1: Unknown result type (might be due to invalid IL or missing references) //IL_00b6: Unknown result type (might be due to invalid IL or missing references) //IL_00bb: Unknown result type (might be due to invalid IL or missing references) //IL_00bf: Unknown result type (might be due to invalid IL or missing references) //IL_00c4: Unknown result type (might be due to invalid IL or missing references) //IL_00d1: 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_00eb: Unknown result type (might be due to invalid IL or missing references) //IL_00ed: Unknown result type (might be due to invalid IL or missing references) //IL_00f8: Unknown result type (might be due to invalid IL or missing references) //IL_019d: Unknown result type (might be due to invalid IL or missing references) //IL_01a7: Expected O, but got Unknown //IL_0121: Unknown result type (might be due to invalid IL or missing references) //IL_0126: Unknown result type (might be due to invalid IL or missing references) //IL_0128: Unknown result type (might be due to invalid IL or missing references) //IL_012d: Unknown result type (might be due to invalid IL or missing references) //IL_012f: Unknown result type (might be due to invalid IL or missing references) //IL_0139: Unknown result type (might be due to invalid IL or missing references) //IL_013e: Unknown result type (might be due to invalid IL or missing references) //IL_0143: Unknown result type (might be due to invalid IL or missing references) //IL_0147: Unknown result type (might be due to invalid IL or missing references) //IL_014c: Unknown result type (might be due to invalid IL or missing references) try { int num = <>1__state; Guttertank_Rage_IQ guttertank_Rage_IQ = <>4__this; if (num != 0) { if (num != 1) { return false; } <>1__state = -3; } else { <>1__state = -1; if (!((Object)(object)guttertank_Rage_IQ.eid != (Object)null) || guttertank_Rage_IQ.eid.target == null) { goto IL_01dc; } List list = Fento_LevelLoaders.VIOLENCE_7_4.Generate_Random_Directional_Bombardiro(guttertank_Rage_IQ.eid.target.position, 16f, 3, 3); <>7__wrap1 = list.GetEnumerator(); <>1__state = -3; } if (<>7__wrap1.MoveNext()) { Vector3 current = <>7__wrap1.Current; Vector3 val = guttertank_Rage_IQ.eid.target.position - (guttertank_Rage_IQ.eid.target.position + current); Vector3 normalized = ((Vector3)(ref val)).normalized; if (!Physics.Raycast(guttertank_Rage_IQ.eid.target.position + guttertank_Rage_IQ.eid.target.Up(), -normalized, 120f, LayerMask.op_Implicit(LayerMaskDefaults.Get((LMD)1)))) { GameObject gameObject = Fento_Assets.EnemyRocket.gameObject; Vector3 val2 = guttertank_Rage_IQ.eid.target.position + current; val = normalized + Random.insideUnitSphere * 0.1f; Grenade component = Object.Instantiate(gameObject, val2, Quaternion.LookRotation(((Vector3)(ref val)).normalized)).GetComponent(); component.levelledUp = true; component.explosion = component.superExplosion; component.harmlessExplosion = component.superExplosion; component.totalDamageMultiplier *= 3f; component.originEnemy = guttertank_Rage_IQ.eid; } <>2__current = (object)new WaitForSeconds(0.2f); <>1__state = 1; return true; } <>m__Finally1(); <>7__wrap1 = default(List.Enumerator); goto IL_01dc; IL_01dc: 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__wrap1).Dispose(); } [DebuggerHidden] void IEnumerator.Reset() { throw new NotSupportedException(); } } public EnemyIdentifier eid; public EnemyIdentifier LastFound; private ContinuousBeam beam; private int Timer; public void Start() { //IL_0040: Unknown result type (might be due to invalid IL or missing references) //IL_004a: Expected O, but got Unknown eid = ((Component)this).GetComponent(); if (eid.AttackEnemies) { Object.Destroy((Object)(object)this); } else { if (!Object.op_Implicit((Object)(object)eid)) { return; } eid.onDeath.AddListener((UnityAction)delegate { if (Object.op_Implicit((Object)(object)beam)) { Object.Destroy((Object)(object)((Component)beam).gameObject); } if (Object.op_Implicit((Object)(object)eid) && !eid.puppet) { ((MonoBehaviour)((Component)((Component)this).transform.root).GetComponentInChildren()).StartCoroutine(Carpets_Bomber()); } }); } } public void FixedUpdate() { //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_00eb: Unknown result type (might be due to invalid IL or missing references) //IL_00f0: Unknown result type (might be due to invalid IL or missing references) //IL_01c9: Unknown result type (might be due to invalid IL or missing references) //IL_0169: Unknown result type (might be due to invalid IL or missing references) //IL_0178: Unknown result type (might be due to invalid IL or missing references) //IL_017d: Unknown result type (might be due to invalid IL or missing references) //IL_0181: Unknown result type (might be due to invalid IL or missing references) //IL_018d: Unknown result type (might be due to invalid IL or missing references) //IL_0199: Unknown result type (might be due to invalid IL or missing references) if ((Object)(object)eid == (Object)null || eid.dead) { return; } Timer++; if (Timer < 90) { return; } Timer = 0; foreach (Flammable flammable in eid.flammables) { if (Object.op_Implicit((Object)(object)flammable)) { flammable.fuel *= 0.1f; } } EnemyIdentifier val = FindNearest(); if ((Object)(object)LastFound != (Object)(object)val) { if (Object.op_Implicit((Object)(object)beam)) { Object.Destroy((Object)(object)((Component)beam).gameObject); } if ((Object)(object)val != (Object)null) { beam = Object.Instantiate(Fento_Assets.ProjectileBeam.gameObject, ((Component)this).transform.position + Vector3.up, Quaternion.identity, ((Component)this).transform).GetComponent(); beam.canHitEnemy = false; beam.canHitPlayer = false; beam.cancelIfEndPointBlocked = false; beam.endPoint = ((Component)val).transform; Collider val2 = default(Collider); if (((Component)val).TryGetComponent(ref val2)) { Transform val3 = ((Component)val).transform.Find("Beam Offset HEAL"); if (!Object.op_Implicit((Object)(object)val3)) { val3 = new GameObject("Beam Offset Idol").transform; Transform obj = val3; Bounds bounds = val2.bounds; obj.localPosition = ((Bounds)(ref bounds)).center; val3.localRotation = Quaternion.identity; val3.localScale = Vector3.one; val3.SetParent(((Component)val).transform, true); } beam.endPoint = val3; } Main_Utils.Make_Colored(((Component)beam).transform, Color.green); } } if ((Object)(object)val != (Object)null && val.GetRealHealth() < 20f) { val.Set_Health(val.GetRealHealth() + 0.15f); } LastFound = val; } [IteratorStateMachine(typeof(d__6))] public IEnumerator Carpets_Bomber() { //yield-return decompiler failed: Unexpected instruction in Iterator.Dispose() return new d__6(0) { <>4__this = this }; } public EnemyIdentifier FindNearest(float distance = 50f) { //IL_003d: 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) EnemyIdentifier[] array = Object.FindObjectsOfType(); if (array.Length < 0) { return null; } EnemyIdentifier[] array2 = array; foreach (EnemyIdentifier val in array2) { if ((Object)(object)val != (Object)null && (Object)(object)val != (Object)(object)eid && !val.dead && Vector3.Distance(((Component)this).transform.position, ((Component)val).transform.position) < distance) { return val; } } return null; } } public class Virt_Rage_IQ : MonoBehaviour { public Drone dr; public EnemyIdentifier eid; public Rigidbody rb; public float Timer; public void Start() { dr = ((Component)this).GetComponent(); eid = ((Component)this).GetComponent(); rb = ((Component)this).GetComponent(); } public void FixedUpdate() { //IL_003a: Unknown result type (might be due to invalid IL or missing references) //IL_004a: Unknown result type (might be due to invalid IL or missing references) //IL_004f: Unknown result type (might be due to invalid IL or missing references) //IL_005a: Unknown result type (might be due to invalid IL or missing references) //IL_005f: Unknown result type (might be due to invalid IL or missing references) //IL_0064: Unknown result type (might be due to invalid IL or missing references) //IL_007a: Unknown result type (might be due to invalid IL or missing references) //IL_007f: 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) if (!Object.op_Implicit((Object)(object)eid) || eid.dead || eid.target == null) { return; } Vector3 val = eid.target.PredictTargetPosition(0.15f, false, false) + eid.target.Up() - ((Component)this).transform.position; if (((Vector3)(ref val)).magnitude < 5.1f) { Rigidbody obj = rb; obj.velocity -= val; if (((Vector3)(ref val)).magnitude < 4f && Object.op_Implicit((Object)(object)dr) && !dr.isEnraged) { MonoSingleton.Instance.AddPoints(100, "SLIP BACK!", (GameObject)null, (EnemyIdentifier)null, -1, "", ""); MonoSingleton.Instance.HitStop(0.1f); dr.Enrage(); } } } } public class Virt_Rage_Explode_OnDestroy : MonoBehaviour { public void OnDestroy() { //IL_0016: Unknown result type (might be due to invalid IL or missing references) //IL_0021: Unknown result type (might be due to invalid IL or missing references) //IL_0033: 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) Object.Instantiate(Fento_Assets.ExplosionSuper.gameObject, ((Component)this).transform.position, ((Component)this).transform.rotation); Vector3 pos = ((Component)this).transform.position; for (int i = 0; i < 5; i++) { Main_Utils.Invoke_WithDelay((float)i * 0.2f, delegate { //IL_000b: Unknown result type (might be due to invalid IL or missing references) //IL_0010: Unknown result type (might be due to invalid IL or missing references) //IL_0021: 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) GameObject obj = Object.Instantiate(Fento_Assets.Insignia.gameObject, pos, Quaternion.identity); Transform transform = obj.transform; transform.localScale *= 0.5f; GameObjectExtensions.GetOrAddComponent(obj); VirtueInsignia val = default(VirtueInsignia); if (obj.TryGetComponent(ref val)) { val.predictiveVersion = null; val.predictive = false; val.noTracking = true; val.charges = 1; VirtueInsignia obj2 = val; obj2.explosionLength *= 5f; VirtueInsignia obj3 = val; obj3.windUpSpeedMultiplier *= 0.7f; val.damage = 35; val.target = EnemyTarget.TrackPlayer(); } }); } } } public class Providence_Rage_Explode_Shoot : MonoBehaviour { public EnemyType safeEnemyType = (EnemyType)38; public void Awake() { //IL_0006: Unknown result type (might be due to invalid IL or missing references) if (!Object.op_Implicit((Object)(object)UltraEnrage_Enemy.ForseFindNearest(((Component)this).transform.position, (EnemyType)38))) { Object.Destroy((Object)(object)this); } else { GameObjectExtensions.GetOrAddComponent(((Component)((Component)this).transform.GetChild(4)).gameObject); } } public void FixedUpdate() { //IL_0029: Unknown result type (might be due to invalid IL or missing references) //IL_002e: Unknown result type (might be due to invalid IL or missing references) //IL_0055: Unknown result type (might be due to invalid IL or missing references) //IL_005a: 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_0070: Unknown result type (might be due to invalid IL or missing references) //IL_0075: Unknown result type (might be due to invalid IL or missing references) if (Random.value < 0.001f && EnemyTarget.TrackPlayerIfAllowed() != null) { Projectile component = Object.Instantiate(Fento_Assets.ProjectileHoming_Blue.gameObject, ((Component)this).transform.position, Quaternion.identity).GetComponent(); Main_Utils.Setup_GoreZone_Obj(((Component)component).gameObject, ((Component)((Component)this).transform).gameObject); component.safeEnemyType = safeEnemyType; ((Component)component).transform.LookAt(((Component)this).transform.position + Random.insideUnitSphere); component.target = EnemyTarget.TrackPlayer(); component.targetHandle = Main_Utils.GetTargetHandle(component.target); } } } public class Providence_Rage_Explode_OnDestroy : MonoBehaviour { public void Start() { Main_Utils.Invoke_WithDelay(2f, delegate { //IL_000a: Unknown result type (might be due to invalid IL or missing references) //IL_0011: Unknown result type (might be due to invalid IL or missing references) //IL_0017: Unknown result type (might be due to invalid IL or missing references) EnemyIdentifier val = Main_Utils.Integrate_Enemy(Main_Utils.DetectebleEnemies.Virtue, null, active: true, ((Component)this).transform.position); val.immuneToFriendlyFire = true; val.Set_Health(val.GetRealHealth() * 1.5f + 7f); val.Make_Puppet_OnStart(); val.BuffAll(); ComponentExtensions.GetOrAddComponent((Component)(object)val); EnemyIdentifier obj = val.Make_IdolMerged(enableIdol: true); obj.idol.overrideTarget = val; obj.Make_Puppet_OnStart(); obj.BuffAll(); ComponentExtensions.GetOrAddComponent((Component)(object)obj).TierToAdd *= 0.5f; ComponentExtensions.GetOrAddComponent((Component)(object)obj); }); } } public class Power_Rage_IQ : MonoBehaviour { public BossHealthBar bar; public EnemyIdentifier eid; public Power power; public float BackTimer; public float ShieldTimer = 35f; public float AttackTimer; public float LastHealth; public float damage; public void Start() { //IL_0075: Unknown result type (might be due to invalid IL or missing references) //IL_007f: Expected O, but got Unknown bar = ((Component)this).GetComponent(); eid = ((Component)this).GetComponent(); power = ((Component)this).GetComponent(); LastHealth = eid.Health; if (!Object.op_Implicit((Object)(object)eid)) { return; } Main_Utils.Invoke_WithDelay(Random.Range(30f, 40f), delegate { if (Object.op_Implicit((Object)(object)eid) && !eid.dead && !eid.puppet && Object.op_Implicit((Object)(object)power)) { power.EnrageNow(); } }); eid.onDeath.AddListener((UnityAction)delegate { //IL_0074: Unknown result type (might be due to invalid IL or missing references) //IL_0079: Unknown result type (might be due to invalid IL or missing references) //IL_007e: Unknown result type (might be due to invalid IL or missing references) //IL_0099: Unknown result type (might be due to invalid IL or missing references) //IL_00b2: Unknown result type (might be due to invalid IL or missing references) //IL_0104: Unknown result type (might be due to invalid IL or missing references) if (Object.op_Implicit((Object)(object)eid) && !eid.puppet && eid.target != null) { bool enraged = Object.op_Implicit((Object)(object)power) && power.enraged; GameObject obj = Object.Instantiate(Fento_Assets.GeryonUpArrowBeam.gameObject, eid.target.position, Quaternion.LookRotation(Vector3.up)); Transform transform = obj.transform; transform.localScale *= (enraged ? 1.3f : 1.1f); HurtZone zone = obj.GetComponentInChildren(true); if (Object.op_Implicit((Object)(object)zone)) { zone.ignoredEnemyTypes.Add((EnemyType)40); zone.enemyDamageOverride = 0.0001f; zone.affected = (AffectedSubjects)1; } Main_Utils.Invoke_WithDelay(4f, delegate { //IL_001b: 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_0025: 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) //IL_0059: Unknown result type (might be due to invalid IL or missing references) //IL_00ab: Unknown result type (might be due to invalid IL or missing references) obj = Object.Instantiate(Fento_Assets.GeryonUpArrowBeam.gameObject, eid.target.position, Quaternion.LookRotation(Vector3.right)); Transform transform3 = obj.transform; transform3.localScale *= (enraged ? 1.3f : 1.1f); zone = obj.GetComponentInChildren(true); if (Object.op_Implicit((Object)(object)zone)) { zone.ignoredEnemyTypes.Add((EnemyType)40); zone.enemyDamageOverride = 0.0001f; zone.affected = (AffectedSubjects)1; } }); if (enraged) { Main_Utils.Invoke_WithDelay(8f, delegate { //IL_001b: 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_0025: 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) //IL_0059: Unknown result type (might be due to invalid IL or missing references) //IL_00ab: Unknown result type (might be due to invalid IL or missing references) obj = Object.Instantiate(Fento_Assets.GeryonUpArrowBeam.gameObject, eid.target.position, Quaternion.LookRotation(Vector3.forward)); Transform transform2 = obj.transform; transform2.localScale *= (enraged ? 1.3f : 1.1f); zone = obj.GetComponentInChildren(true); if (Object.op_Implicit((Object)(object)zone)) { zone.ignoredEnemyTypes.Add((EnemyType)40); zone.enemyDamageOverride = 0.0001f; zone.affected = (AffectedSubjects)1; } }); } } }); } public void FixedUpdate() { //IL_0071: Unknown result type (might be due to invalid IL or missing references) //IL_0081: Unknown result type (might be due to invalid IL or missing references) //IL_010f: Unknown result type (might be due to invalid IL or missing references) //IL_0119: Unknown result type (might be due to invalid IL or missing references) if (!Object.op_Implicit((Object)(object)eid) || eid.dead || eid.target == null) { return; } BackTimer += Time.fixedDeltaTime; ShieldTimer += Time.fixedDeltaTime; AttackTimer += Time.fixedDeltaTime; if (BackTimer > 6f && Vector3.Distance(((Component)this).transform.position, eid.target.position) < 8f && !power.inAction) { BackTimer = 0f; power.Teleport(false, false, false, false, false, false); } if (ShieldTimer > 45f) { if ((Object.op_Implicit((Object)(object)bar) || eid.isBoss) && !eid.Blessed) { ShieldTimer = 0f; EnemyIdentifier obj = eid.Make_IdolMerged(enableIdol: true); Transform transform = ((Component)obj).transform; transform.localScale *= 0.4f; obj.Make_Puppet_OnStart(); ComponentExtensions.GetOrAddComponent((Component)(object)obj); } else { ShieldTimer = 15f; } } if (AttackTimer > 9f) { AttackTimer = 0f; if (Random.value < 0.5f) { ((MonoBehaviour)power).Invoke("ToSpearThrow", 0f); } else if (Random.value < 0.5f) { ((MonoBehaviour)power).Invoke("SpearGoHorizontal", 0f); } else { ((MonoBehaviour)power).Invoke("SpearGo", 0f); } } if (eid.health < LastHealth) { damage += LastHealth - eid.health; LastHealth = eid.health; if (damage > 9f) { damage = 0f; power.Teleport(false, false, false, false, false, false); } } } } public class MiniMalFace_Rage_IQ : MonoBehaviour { public EnemyIdentifier eid; public float Timer; public void Start() { eid = ((Component)this).GetComponent(); Timer = Random.value * 7f; } public void FixedUpdate() { if (Object.op_Implicit((Object)(object)eid) && !eid.dead && eid.target != null) { Timer += Time.fixedDeltaTime; if (!(Timer < 7f)) { Timer = 0f; SpawnInsign(); } } } public void SpawnInsign() { //IL_0023: Unknown result type (might be due to invalid IL or missing references) //IL_0028: Unknown result type (might be due to invalid IL or missing references) //IL_002d: Unknown result type (might be due to invalid IL or missing references) //IL_0032: Unknown result type (might be due to invalid IL or missing references) //IL_0043: Unknown result type (might be due to invalid IL or missing references) //IL_004d: Unknown result type (might be due to invalid IL or missing references) //IL_00bb: Unknown result type (might be due to invalid IL or missing references) //IL_00c2: 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_00d3: Unknown result type (might be due to invalid IL or missing references) //IL_00d8: Unknown result type (might be due to invalid IL or missing references) //IL_00d9: Unknown result type (might be due to invalid IL or missing references) //IL_00de: Unknown result type (might be due to invalid IL or missing references) //IL_00e4: Unknown result type (might be due to invalid IL or missing references) Main_Utils.GetTargetPosition(eid.target, out var targetPosition); GameObject obj = Object.Instantiate(Fento_Assets.Insignia.gameObject, ((Component)this).transform.position + Random.insideUnitSphere, Quaternion.identity); Transform transform = obj.transform; transform.localScale *= 0.4f; VirtueInsignia component = obj.GetComponent(); component.noTracking = true; component.predictive = false; component.target = eid.target; component.parentDrone = eid.drone; component.parentEnemy = eid.drone.Enemy; component.hadParent = true; component.explosionLength *= 8f; Vector3 val = targetPosition - ((Component)this).transform.position; Quaternion rotation = Quaternion.FromToRotation(obj.transform.up, val); obj.transform.rotation = rotation; } } public class PrisonDrone_Rage_IQ : MonoBehaviour { public class Slower : MonoBehaviour { public Rigidbody rb; public void Start() { rb = ((Component)this).GetComponent(); } public void FixedUpdate() { //IL_0014: 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) if (Object.op_Implicit((Object)(object)rb)) { Rigidbody obj = rb; obj.velocity *= 0.99f; } } } public EnemyIdentifier eid; public Drone drone; public float Timer; public List drones = new List(); public void Start() { eid = ((Component)this).GetComponent(); drone = ((Component)this).GetComponent(); Timer = Random.value * 2.5f; } public void FixedUpdate() { //IL_00aa: Unknown result type (might be due to invalid IL or missing references) //IL_00b5: Unknown result type (might be due to invalid IL or missing references) //IL_015d: Unknown result type (might be due to invalid IL or missing references) //IL_0167: Expected O, but got Unknown if (!Object.op_Implicit((Object)(object)eid) || eid.dead || eid.target == null) { return; } Timer += Time.fixedDeltaTime; if (Timer < 2.5f) { return; } Timer = 0f; if (!((float)drones.Where((EnemyIdentifier e) => (Object)(object)e != (Object)null && !e.dead).Count() < 3f)) { return; } EnemyIdentifier drEid = Main_Utils.Integrate_Enemy(Main_Utils.DetectebleEnemies.DroneFlesh, ((Component)this).transform, active: true, ((Component)this).transform.position, ((Component)this).transform.rotation); drEid.BuffAll(); ComponentExtensions.GetOrAddComponent((Component)(object)drEid); ComponentExtensions.GetOrAddComponent((Component)(object)drEid); ComponentExtensions.GetOrAddComponent((Component)(object)drEid); eid.destroyOnDeath.Add(((Component)drEid).gameObject); Keep_This_Near_Obj keep = ((Component)drEid).gameObject.AddComponent(); keep.Obj_ToKeep = ((Component)eid).gameObject; drones.Add(drEid); drEid.onDeath.AddListener((UnityAction)delegate { if (Object.op_Implicit((Object)(object)this)) { if (drones.Contains(drEid)) { drones.Remove(drEid); } if (Object.op_Implicit((Object)(object)keep)) { Object.Destroy((Object)(object)keep); } if (eid.destroyOnDeath.Contains(((Component)drEid).gameObject)) { eid.destroyOnDeath.Remove(((Component)drEid).gameObject); } } }); } } public class FleshPrison_Rage_Boss : MonoBehaviour { [CompilerGenerated] private sealed class d__13 : IEnumerator, IDisposable, IEnumerator { private int <>1__state; private object <>2__current; public FleshPrison_Rage_Boss <>4__this; private Vector3 5__2; private Vector3 5__3; object IEnumerator.Current { [DebuggerHidden] get { return <>2__current; } } object IEnumerator.Current { [DebuggerHidden] get { return <>2__current; } } [DebuggerHidden] public d__13(int <>1__state) { this.<>1__state = <>1__state; } [DebuggerHidden] void IDisposable.Dispose() { <>1__state = -2; } private bool MoveNext() { //IL_0025: Unknown result type (might be due to invalid IL or missing references) //IL_002a: 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_0045: Unknown result type (might be due to invalid IL or missing references) //IL_004a: Unknown result type (might be due to invalid IL or missing references) //IL_0092: Unknown result type (might be due to invalid IL or missing references) //IL_0097: Unknown result type (might be due to invalid IL or missing references) //IL_0053: Unknown result type (might be due to invalid IL or missing references) //IL_0067: Unknown result type (might be due to invalid IL or missing references) //IL_006c: Unknown result type (might be due to invalid IL or missing references) //IL_0077: Unknown result type (might be due to invalid IL or missing references) //IL_0081: Expected O, but got Unknown //IL_00c1: Unknown result type (might be due to invalid IL or missing references) //IL_00c8: Invalid comparison between Unknown and I4 //IL_00fe: Unknown result type (might be due to invalid IL or missing references) //IL_0118: Unknown result type (might be due to invalid IL or missing references) int num = <>1__state; FleshPrison_Rage_Boss fleshPrison_Rage_Boss = <>4__this; switch (num) { default: return false; case 0: <>1__state = -1; 5__2 = ((Component)fleshPrison_Rage_Boss).transform.position; 5__3 = Main_Utils.GetRandomNavMeshPoint(5__2, Random.Range(35f, 70f)); break; case 1: <>1__state = -1; break; } if (5__3 == Vector3.zero) { 5__3 = Main_Utils.GetRandomNavMeshPoint(5__2, Random.Range(35f, 70f)); <>2__current = (object)new WaitForSeconds(0.25f); <>1__state = 1; return true; } Transform transform = ((Component)((Component)fleshPrison_Rage_Boss.eid).GetComponentInParent()).transform; Main_Utils.DetectebleEnemies[] array = new Main_Utils.DetectebleEnemies[0]; array = (((int)fleshPrison_Rage_Boss.eid.enemyType != 30) ? new Main_Utils.DetectebleEnemies[3] { Main_Utils.DetectebleEnemies.Stray, Main_Utils.DetectebleEnemies.Schism, Main_Utils.DetectebleEnemies.Soldier } : new Main_Utils.DetectebleEnemies[3] { Main_Utils.DetectebleEnemies.Cerberus, Main_Utils.DetectebleEnemies.MaliciousFace, Main_Utils.DetectebleEnemies.HideousMass }); EnemyIdentifier obj = Main_Utils.Integrate_Enemy(array[Random.Range(0, array.Length)], transform, active: true, 5__3, Quaternion.Euler(0f, Random.value * 360f, 0f)); obj.dontCountAsKills = true; obj.Make_Puppet_OnStart(); obj.Make_UltraEnraged(); 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 EnemyIdentifier eid; public FleshPrison prison; public float OGHealth = 400f; public bool PreparePhase; public bool SecondPhase; public float InsigniaTimer; public float SupportSpawnTimer; public float SpawnGasTimer; public void Start() { //IL_0051: Unknown result type (might be due to invalid IL or missing references) //IL_0058: Invalid comparison between Unknown and I4 eid = ((Component)this).GetComponent(); prison = ((Component)this).GetComponent(); OGHealth = eid.Health; InsigniaTimer = 15f; SupportSpawnTimer = 5f; SpawnGasTimer = 19f; PreparePhase = (int)eid.enemyType != 30; } public void FixedUpdate() { //IL_0056: Unknown result type (might be due to invalid IL or missing references) //IL_005d: Invalid comparison between Unknown and I4 if (!Object.op_Implicit((Object)(object)eid) || eid.dead || eid.target == null) { return; } if (!SecondPhase && eid.health < OGHealth * 0.5f) { SecondPhase = true; if ((int)eid.enemyType != 30) { StartSecondPhase(); } else { StartRealPhase(); } } if (!PreparePhase) { PreparePhase = true; StartSecondPhase(); } InsigniaTimer += Time.fixedDeltaTime; SupportSpawnTimer += Time.fixedDeltaTime; SpawnGasTimer += Time.fixedDeltaTime; if (InsigniaTimer > 20f) { InsigniaTimer = Random.value; Insignia(); } if (SupportSpawnTimer > 90f) { SupportSpawnTimer = Random.value; ((MonoBehaviour)this).StartCoroutine(SupportSpawn()); } if (SpawnGasTimer > 20f) { SpawnGasTimer = Random.value; SpawnGas(); } } public void StartRealPhase() { //IL_0000: Unknown result type (might be due to invalid IL or missing references) //IL_0014: Unknown result type (might be due to invalid IL or missing references) //IL_0019: Unknown result type (might be due to invalid IL or missing references) //IL_0044: Unknown result type (might be due to invalid IL or missing references) //IL_004e: Unknown result type (might be due to invalid IL or missing references) //IL_0053: Unknown result type (might be due to invalid IL or missing references) //IL_0058: Unknown result type (might be due to invalid IL or missing references) //IL_0059: 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) Vector3 val = Random.insideUnitSphere * Random.Range(65f, 75f); val.y = Random.Range(-20f, 20f); EnemyIdentifier val2 = Main_Utils.Integrate_Enemy(Main_Utils.DetectebleEnemies.Gabriel, ((Component)this).transform.parent, active: true, ((Component)this).transform.TransformPoint(Vector3.up * 8f) + val); Main_Utils.Setup_GoreZone_Obj(((Component)val2).gameObject, eid); val2.immuneToFriendlyFire = true; val2.Make_Puppet_OnStart(); ComponentExtensions.GetOrAddComponent((Component)(object)val2); GabrielVoice[] components = ((Component)val2).GetComponents(); foreach (GabrielVoice obj in components) { ((Behaviour)obj).enabled = false; obj.priority = 999; } EnemyIdentifier obj2 = val2.Make_IdolMerged(enableIdol: true); obj2.idol.overrideTarget = eid; obj2.Make_Puppet_OnStart(); ComponentExtensions.GetOrAddComponent((Component)(object)obj2); } public void StartSecondPhase() { //IL_0007: Unknown result type (might be due to invalid IL or missing references) //IL_001b: Unknown result type (might be due to invalid IL or missing references) //IL_0020: Unknown result type (might be due to invalid IL or missing references) //IL_004b: Unknown result type (might be due to invalid IL or missing references) //IL_0055: Unknown result type (might be due to invalid IL or missing references) //IL_005a: Unknown result type (might be due to invalid IL or missing references) //IL_005f: 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_0067: Unknown result type (might be due to invalid IL or missing references) //IL_006d: Unknown result type (might be due to invalid IL or missing references) for (int i = 0; i < 2; i++) { Vector3 val = Random.insideUnitSphere * Random.Range(50f, 65f); val.y = Random.Range(-20f, 20f); EnemyIdentifier obj = Main_Utils.Integrate_Enemy(Main_Utils.DetectebleEnemies.Virtue, ((Component)this).transform.parent, active: true, ((Component)this).transform.TransformPoint(Vector3.up * 8f) + val); Main_Utils.Setup_GoreZone_Obj(((Component)obj).gameObject, eid); obj.immuneToFriendlyFire = true; obj.BuffAll(); obj.Set_Health(obj.GetRealHealth() + 3f); obj.Make_Puppet_OnStart(); ComponentExtensions.GetOrAddComponent((Component)(object)obj); EnemyIdentifier obj2 = obj.Make_IdolMerged(enableIdol: true); obj2.idol.overrideTarget = eid; obj2.Make_Puppet_OnStart(); ComponentExtensions.GetOrAddComponent((Component)(object)obj2); } } public void Insignia() { //IL_0045: Unknown result type (might be due to invalid IL or missing references) //IL_0050: Unknown result type (might be due to invalid IL or missing references) //IL_0057: Invalid comparison between Unknown and I4 //IL_0065: Unknown result type (might be due to invalid IL or missing references) //IL_006a: Unknown result type (might be due to invalid IL or missing references) //IL_006f: Unknown result type (might be due to invalid IL or missing references) //IL_008d: Unknown result type (might be due to invalid IL or missing references) //IL_0097: Unknown result type (might be due to invalid IL or missing references) //IL_00a9: Unknown result type (might be due to invalid IL or missing references) //IL_00b3: Unknown result type (might be due to invalid IL or missing references) //IL_00c3: Unknown result type (might be due to invalid IL or missing references) //IL_00ca: Invalid comparison between Unknown and I4 //IL_00d3: Unknown result type (might be due to invalid IL or missing references) //IL_00dd: Unknown result type (might be due to invalid IL or missing references) Transform val = ((Component)this).transform.Find("fleshprisonrigged/Armature/root/prism"); if (!Object.op_Implicit((Object)(object)val)) { val = ((Component)this).transform.Find("FleshPrison2/Armature/FP2_Root/Head_Root"); } if (Object.op_Implicit((Object)(object)val)) { GameObject val2 = Object.Instantiate(Fento_Assets.Insignia.gameObject, ((Component)this).transform.TransformPoint(Vector3.up * (((int)eid.enemyType == 30) ? 9f : 6.5f)), Quaternion.identity); val2.transform.SetParent(val, true); val2.transform.Rotate(Vector3.right * 90f, (Space)1); Transform transform = val2.transform; transform.localScale *= 1.25f; if ((int)eid.enemyType == 30) { Transform transform2 = val2.transform; transform2.localScale *= 1.25f; } VirtueInsignia val3 = default(VirtueInsignia); if (val2.TryGetComponent(ref val3)) { val3.predictive = false; val3.noTracking = true; val3.predictiveVersion = null; val3.windUpSpeedMultiplier = 0.5f; val3.explosionLength = 8f; val3.damage = Mathf.RoundToInt((float)val3.damage * eid.totalDamageModifier * 1.5f); val3.target = eid.target; } } } [IteratorStateMachine(typeof(d__13))] public IEnumerator SupportSpawn() { //yield-return decompiler failed: Unexpected instruction in Iterator.Dispose() return new d__13(0) { <>4__this = this }; } public void SpawnGas() { //IL_0010: Unknown result type (might be due to invalid IL or missing references) //IL_001b: Unknown result type (might be due to invalid IL or missing references) //IL_0022: Invalid comparison between Unknown and I4 //IL_0030: Unknown result type (might be due to invalid IL or missing references) //IL_0035: Unknown result type (might be due to invalid IL or missing references) //IL_003a: Unknown result type (might be due to invalid IL or missing references) //IL_005c: Unknown result type (might be due to invalid IL or missing references) //IL_0070: 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) GameObject obj = Object.Instantiate(Fento_Assets.GoopCloudLong.gameObject, ((Component)this).transform.TransformPoint(Vector3.up * (((int)eid.enemyType == 30) ? 9f : 6.5f)), Quaternion.identity); Main_Utils.Setup_GoreZone_Obj(obj.gameObject, eid); Transform transform = obj.transform; transform.localScale *= Random.Range(1.3f, 1.4f); Main_Utils.Make_Colored(obj.transform, Color.yellow); HurtZone componentInChildren = obj.GetComponentInChildren(); if ((Object)(object)componentInChildren != (Object)null) { componentInChildren.ignoreInvincibility = true; componentInChildren.hurtCooldown *= 0.5f; componentInChildren.setDamage *= 1.5f; componentInChildren.bounceForce = 500f; componentInChildren.ignoredEnemyTypes.Add((EnemyType)17); componentInChildren.ignoredEnemyTypes.Add((EnemyType)30); componentInChildren.ignoredEnemyTypes.Add((EnemyType)1); componentInChildren.ignoredEnemyTypes.Add((EnemyType)21); componentInChildren.ignoredEnemyTypes.Add((EnemyType)9); componentInChildren.ignoredEnemyTypes.Add((EnemyType)16); componentInChildren.ignoredEnemyTypes.Add((EnemyType)28); componentInChildren.ignoredEnemyTypes.Add((EnemyType)4); componentInChildren.ignoredEnemyTypes.Add((EnemyType)0); componentInChildren.ignoredEnemyTypes.Add((EnemyType)2); } } } public class FleshPrison_Rage_Insignia : MonoBehaviour { public VirtueInsignia Insign; public void Start() { //IL_0032: Unknown result type (might be due to invalid IL or missing references) Insign = ((Component)this).GetComponent(); if ((Object)(object)Insign != (Object)null && Object.op_Implicit((Object)(object)Insign.otherParent) && Object.op_Implicit((Object)(object)UltraEnrage_Enemy.FindNearest(((Component)this).transform.position, (EnemyType)30, 100f)) && Object.op_Implicit((Object)(object)((Component)Insign.otherParent).GetComponent())) { GameObjectExtensions.GetOrAddComponent(((Component)this).gameObject).RotationSpeed *= 0.3f; } else { Object.Destroy((Object)(object)this); } } } public class MinosPrime_Rage_Boss : MonoBehaviour { public EnemyIdentifier eid; public MinosPrime minos; public float Timer; public void Start() { eid = ((Component)this).GetComponent(); minos = ((Component)this).GetComponent(); Timer = Random.value * 7f; } } public class Very_Rage_Radiation : MonoBehaviour { public EnemyIdentifier eid; public ScreenDistortionField distortionField; public void FixedUpdate() { //IL_0040: Unknown result type (might be due to invalid IL or missing references) //IL_0050: Unknown result type (might be due to invalid IL or missing references) if (!Object.op_Implicit((Object)(object)eid) || eid.dead || eid.target == null || !Object.op_Implicit((Object)(object)distortionField)) { return; } float num = Vector3.Distance(((Component)eid).transform.position, eid.target.position); if (num < distortionField.distance && Random.value * Mathf.Clamp(num, 1f, 30f) < 0.5f) { if (eid.target.isPlayer) { MonoSingleton.Instance.GetHurt((!(Random.value < 0.5f)) ? 1 : 3, false, 0f, false, false, 0.35f, true); } else { eid.target.enemyIdentifier.SimpleDamage((Random.value < 0.5f) ? 0.3f : 0.1f); } } } } public class Eye_Rage_Shoot : MonoBehaviour { public EnemyType safeEnemyType = (EnemyType)11; public EnemyIdentifier eid; public Vector3 AddPos = Vector3.zero; public void FixedUpdate() { //IL_0056: 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) //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_006a: Unknown result type (might be due to invalid IL or missing references) //IL_00a6: Unknown result type (might be due to invalid IL or missing references) //IL_00b2: Unknown result type (might be due to invalid IL or missing references) //IL_00b7: Unknown result type (might be due to invalid IL or missing references) //IL_00e8: Unknown result type (might be due to invalid IL or missing references) //IL_00ef: Invalid comparison between Unknown and I4 //IL_0125: Unknown result type (might be due to invalid IL or missing references) //IL_0168: Unknown result type (might be due to invalid IL or missing references) //IL_0178: Unknown result type (might be due to invalid IL or missing references) //IL_017d: Unknown result type (might be due to invalid IL or missing references) if (!Object.op_Implicit((Object)(object)eid) || eid.dead || eid.target == null || !(Random.value < 0.01f)) { return; } Projectile currentProjectile = Object.Instantiate(Fento_Assets.Projectile_Red.gameObject, ((Component)this).transform.TransformPoint(AddPos) + Random.insideUnitSphere, Quaternion.identity).GetComponent(); Stray_Rage_Proj stray_Rage_Proj = default(Stray_Rage_Proj); if (((Component)currentProjectile).TryGetComponent(ref stray_Rage_Proj)) { Object.Destroy((Object)(object)stray_Rage_Proj); } currentProjectile.ignoreExplosions = true; currentProjectile.homingType = (HomingType)0; currentProjectile.safeEnemyType = safeEnemyType; currentProjectile.SetProjTarget(eid.target); currentProjectile.speed = Random.Range(65f, 100f) * (((int)safeEnemyType == 11) ? 1f : 0.55f); Main_Utils.Setup_GoreZone_Obj(((Component)currentProjectile).gameObject, eid); float predict = Main_Utils.PredictTimeOld(((Component)currentProjectile).transform.position, currentProjectile.speed, eid.target); ((Component)currentProjectile).transform.LookAt(Main_Utils.PredictTargetPosition(eid.target, predict, includeGravity: true) + eid.target.Up()); Main_Utils.Invoke_WithDelay(predict * 0.5f, delegate { //IL_0043: Unknown result type (might be due to invalid IL or missing references) //IL_0090: Unknown result type (might be due to invalid IL or missing references) //IL_00a5: Unknown result type (might be due to invalid IL or missing references) //IL_00aa: Unknown result type (might be due to invalid IL or missing references) if (Object.op_Implicit((Object)(object)currentProjectile) && Object.op_Implicit((Object)(object)eid) && eid.target != null) { predict = Main_Utils.PredictTimeOld(((Component)currentProjectile).transform.position, currentProjectile.speed, eid.target); ((Component)currentProjectile).transform.LookAt(Main_Utils.PredictTargetPosition(eid.target, predict, includeGravity: true) + eid.target.Up()); } }); } } public class MinosCorpse_Rage_Boss : MonoBehaviour { public EnemyIdentifier eid; public float SpawnTimer; public void Start() { eid = ((Component)this).GetComponent(); } public void FixedUpdate() { if (Object.op_Implicit((Object)(object)eid) && !eid.dead && eid.target != null) { SpawnTimer += Time.fixedDeltaTime; if (SpawnTimer > 10f) { SpawnTimer = Random.value; SpawnDrone(); } } } public void SpawnDrone() { //IL_000d: Unknown result type (might be due to invalid IL or missing references) //IL_0017: Unknown result type (might be due to invalid IL or missing references) //IL_001c: Unknown result type (might be due to invalid IL or missing references) //IL_001f: Unknown result type (might be due to invalid IL or missing references) //IL_0044: Unknown result type (might be due to invalid IL or missing references) //IL_0049: Unknown result type (might be due to invalid IL or missing references) //IL_004a: Unknown result type (might be due to invalid IL or missing references) //IL_0055: Unknown result type (might be due to invalid IL or missing references) //IL_011b: Unknown result type (might be due to invalid IL or missing references) //IL_0125: Expected O, but got Unknown Vector3 val = Random.insideUnitSphere * 30f; val.y = Mathf.Abs(val.y); EnemyIdentifier drEid = Main_Utils.Integrate_Enemy(Main_Utils.DetectebleEnemies.DroneFlesh, ((Component)this).transform, active: true, eid.target.position + val, ((Component)this).transform.rotation); Main_Utils.Setup_GoreZone_Obj(((Component)drEid).gameObject, eid); drEid.BuffAll(); drEid.Set_Health(drEid.GetRealHealth() + 5f); ComponentExtensions.GetOrAddComponent((Component)(object)drEid); drEid.dontCountAsKills = true; Keep_This_Near_Obj keep_This_Near_Obj = ((Component)drEid).gameObject.AddComponent(); keep_This_Near_Obj.Obj_ToKeep = ((Component)eid.target.targetTransform).gameObject; keep_This_Near_Obj.Distance = 30f; eid.destroyOnDeath.Add(((Component)drEid).gameObject); drEid.onDeath.AddListener((UnityAction)delegate { if (Object.op_Implicit((Object)(object)this) && eid.destroyOnDeath.Contains(((Component)drEid).gameObject)) { eid.destroyOnDeath.Remove(((Component)drEid).gameObject); } }); } } public class Leviathan_Rage_Boss : MonoBehaviour { public Transform tr; public EnemyIdentifier eid; public LeviathanController leviathanController; public float SpawnTimer; public float MiniBoltTimer; public float BoltTimer; public float SecondBoltTimer; public float VonyaetTimer; public void Start() { //IL_009a: Unknown result type (might be due to invalid IL or missing references) //IL_00a4: Expected O, but got Unknown if (!Object.op_Implicit((Object)(object)leviathanController) || !Object.op_Implicit((Object)(object)eid) || eid.dead) { Object.Destroy((Object)(object)this); return; } tr = leviathanController.headWeakPoint; SpawnTimer = Random.value * 15f; MiniBoltTimer = Random.value * 5f; BoltTimer = Random.value * 15f; VonyaetTimer = Random.value * 3f; leviathanController.onEnterSecondPhase.onActivate.AddListener((UnityAction)delegate { SecondPhase(); }); } public void FixedUpdate() { //IL_0208: Unknown result type (might be due to invalid IL or missing references) //IL_020d: Unknown result type (might be due to invalid IL or missing references) //IL_0212: Unknown result type (might be due to invalid IL or missing references) //IL_0217: Unknown result type (might be due to invalid IL or missing references) //IL_0269: Unknown result type (might be due to invalid IL or missing references) //IL_0276: Unknown result type (might be due to invalid IL or missing references) //IL_02b7: Unknown result type (might be due to invalid IL or missing references) //IL_02fa: Unknown result type (might be due to invalid IL or missing references) //IL_030a: Unknown result type (might be due to invalid IL or missing references) //IL_030f: Unknown result type (might be due to invalid IL or missing references) if (!Object.op_Implicit((Object)(object)leviathanController) || !Object.op_Implicit((Object)(object)eid) || eid.dead) { return; } SpawnTimer += Time.fixedDeltaTime; MiniBoltTimer += Time.fixedDeltaTime; BoltTimer += Time.fixedDeltaTime; VonyaetTimer += Time.fixedDeltaTime; if (SpawnTimer > 30f) { SpawnTimer = Random.value * (leviathanController.secondPhase ? 10f : 5f); SpawnDrone(); } if (MiniBoltTimer > 8f) { MiniBoltTimer = Random.value * (leviathanController.secondPhase ? 3f : 1.5f); SpawnBolt(); } if (BoltTimer > 20f) { BoltTimer = Random.value * (leviathanController.secondPhase ? 10f : 5f); PassiveSpawnBolt(); } if (VonyaetTimer > 3f) { VonyaetTimer = Random.value * (leviathanController.secondPhase ? 3.25f : 2f); PassiveSpawnCloud(); } if (!leviathanController.secondPhase) { return; } SecondBoltTimer += Time.fixedDeltaTime; if (SecondBoltTimer > 45f) { SecondBoltTimer = Random.value * 7.5f; SecondPhase(); } if (!Object.op_Implicit((Object)(object)tr) || eid.target == null || !leviathanController.stopTail || leviathanController.head.lookAtPlayer || !(Random.value < 0.06f)) { return; } Projectile currentProjectile = Object.Instantiate(Fento_Assets.Projectile_Red.gameObject, tr.position + Random.insideUnitSphere, Quaternion.identity).GetComponent(); Main_Utils.Setup_GoreZone_Obj(((Component)currentProjectile).gameObject, eid); Stray_Rage_Proj stray_Rage_Proj = default(Stray_Rage_Proj); if (((Component)currentProjectile).TryGetComponent(ref stray_Rage_Proj)) { Object.Destroy((Object)(object)stray_Rage_Proj); } currentProjectile.ignoreExplosions = true; currentProjectile.homingType = (HomingType)0; currentProjectile.safeEnemyType = (EnemyType)27; currentProjectile.SetProjTarget(eid.target); currentProjectile.speed = Random.Range(55f, 75f); float predict = Main_Utils.PredictTimeOld(((Component)currentProjectile).transform.position, currentProjectile.speed, eid.target); ((Component)currentProjectile).transform.LookAt(Main_Utils.PredictTargetPosition(eid.target, predict, includeGravity: true) + eid.target.Up()); Main_Utils.Invoke_WithDelay(predict * 0.5f, delegate { //IL_0043: Unknown result type (might be due to invalid IL or missing references) //IL_0090: Unknown result type (might be due to invalid IL or missing references) //IL_00a5: Unknown result type (might be due to invalid IL or missing references) //IL_00aa: Unknown result type (might be due to invalid IL or missing references) if (Object.op_Implicit((Object)(object)currentProjectile) && Object.op_Implicit((Object)(object)eid) && eid.target != null) { predict = Main_Utils.PredictTimeOld(((Component)currentProjectile).transform.position, currentProjectile.speed, eid.target); ((Component)currentProjectile).transform.LookAt(Main_Utils.PredictTargetPosition(eid.target, predict, includeGravity: true) + eid.target.Up()); } }); } public void SpawnDrone() { //IL_000d: Unknown result type (might be due to invalid IL or missing references) //IL_0017: Unknown result type (might be due to invalid IL or missing references) //IL_001c: Unknown result type (might be due to invalid IL or missing references) //IL_001f: Unknown result type (might be due to invalid IL or missing references) //IL_0044: Unknown result type (might be due to invalid IL or missing references) //IL_0049: Unknown result type (might be due to invalid IL or missing references) //IL_004a: Unknown result type (might be due to invalid IL or missing references) //IL_0055: 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_011a: Expected O, but got Unknown Vector3 val = Random.insideUnitSphere * 70f; val.y = Mathf.Abs(val.y); EnemyIdentifier drEid = Main_Utils.Integrate_Enemy(Main_Utils.DetectebleEnemies.Virtue, ((Component)this).transform, active: true, eid.target.position + val, ((Component)this).transform.rotation); Main_Utils.Setup_GoreZone_Obj(((Component)drEid).gameObject, eid); drEid.Set_Health(drEid.GetRealHealth() + 5f); ComponentExtensions.GetOrAddComponent((Component)(object)drEid); drEid.dontCountAsKills = true; Keep_This_Near_Obj keep_This_Near_Obj = ((Component)drEid).gameObject.AddComponent(); keep_This_Near_Obj.Obj_ToKeep = ((Component)eid.target.targetTransform).gameObject; keep_This_Near_Obj.Distance = 135f; eid.destroyOnDeath.Add(((Component)drEid).gameObject); drEid.onDeath.AddListener((UnityAction)delegate { if (Object.op_Implicit((Object)(object)this) && eid.destroyOnDeath.Contains(((Component)drEid).gameObject)) { eid.destroyOnDeath.Remove(((Component)drEid).gameObject); } }); } public void PassiveSpawnBolt() { //IL_00c3: 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_0084: Unknown result type (might be due to invalid IL or missing references) //IL_0089: Unknown result type (might be due to invalid IL or missing references) //IL_0093: Unknown result type (might be due to invalid IL or missing references) //IL_0098: Unknown result type (might be due to invalid IL or missing references) //IL_009d: Unknown result type (might be due to invalid IL or missing references) if ((Object)(object)eid == (Object)null || eid.target == null || (Object)(object)Fento_Assets.LightningBoltWindupFollow.gameObject == (Object)null || (Object)(object)Fento_Assets.LightningBoltExplosion.gameObject == (Object)null) { return; } EnemyIdentifier val = Main_Utils.FindEnemyByType(Main_Utils.DetectebleEnemies.Ferryman); if ((Object)(object)val != (Object)null) { Transform child = ((Component)val).transform.GetChild(4); if ((Object)(object)child != (Object)null) { Object.Instantiate(((Component)child).gameObject, eid.target.position + Vector3.up * 55f, Quaternion.identity).SetActive(true); } } GameObject currentWindup = Object.Instantiate(Fento_Assets.LightningBoltWindupFollow.gameObject, eid.target.position, Quaternion.identity); Main_Utils.Setup_GoreZone_Obj(currentWindup.gameObject, eid); Follow[] components = currentWindup.GetComponents(); for (int i = 0; i < components.Length; i++) { components[i].target = eid.target.targetTransform; } Follow[] array = components; foreach (Follow val2 in array) { if (val2.speed == 0f) { continue; } int @int = MonoSingleton.Instance.GetInt("difficulty", 0); if (@int >= 3) { val2.speed *= 2.25f; continue; } switch (@int) { case 2: val2.speed *= 2f; break; case 1: val2.speed /= 2f; break; default: val2.speed /= 3f; break; } } Main_Utils.Invoke_WithDelay(4f, delegate { //IL_0034: Unknown result type (might be due to invalid IL or missing references) //IL_0039: Unknown result type (might be due to invalid IL or missing references) if (Object.op_Implicit((Object)(object)currentWindup)) { if ((Object)(object)Fento_Assets.LightningBoltExplosion.gameObject != (Object)null) { LightningStrikeExplosive component = Object.Instantiate(Fento_Assets.LightningBoltExplosion.gameObject, currentWindup.transform.position, Quaternion.identity).GetComponent(); Main_Utils.Setup_GoreZone_Obj(((Component)component).gameObject, eid); component.safeForPlayer = false; component.damageMultiplier = 2.5f; component.enemyDamageMultiplier = 0f; } Object.Destroy((Object)(object)currentWindup); } }); } public void PassiveSpawnCloud() { //IL_002e: Unknown result type (might be due to invalid IL or missing references) //IL_0033: Unknown result type (might be due to invalid IL or missing references) //IL_0036: Unknown result type (might be due to invalid IL or missing references) //IL_004a: Unknown result type (might be due to invalid IL or missing references) //IL_004f: Unknown result type (might be due to invalid IL or missing references) //IL_0052: Unknown result type (might be due to invalid IL or missing references) //IL_0077: Unknown result type (might be due to invalid IL or missing references) //IL_007c: Unknown result type (might be due to invalid IL or missing references) //IL_007d: Unknown result type (might be due to invalid IL or missing references) //IL_0082: 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_00b8: Unknown result type (might be due to invalid IL or missing references) if (!((Object)(object)eid == (Object)null) && eid.target != null && !((Object)(object)Fento_Assets.GoopCloudLong.gameObject == (Object)null)) { Vector3 insideUnitSphere = Random.insideUnitSphere; Vector3 val = ((Vector3)(ref insideUnitSphere)).normalized * Random.Range(45f, 100f); val.y = Mathf.Abs(val.y); GameObject obj = Object.Instantiate(Fento_Assets.GoopCloudLong.gameObject, eid.target.position + val, Quaternion.identity); Main_Utils.Setup_GoreZone_Obj(obj.gameObject, eid); Transform transform = obj.transform; transform.localScale *= Random.Range(0.75f, 1.35f); HurtZone componentInChildren = obj.GetComponentInChildren(); if ((Object)(object)componentInChildren != (Object)null) { componentInChildren.ignoredEnemyTypes.Add((EnemyType)27); componentInChildren.ignoredEnemyTypes.Add((EnemyType)9); } } } public void SecondPhase() { for (int i = 0; i < 16; i++) { if (Object.op_Implicit((Object)(object)this)) { Main_Utils.Invoke_WithDelay(0.75f + (float)i * 0.75f, delegate { SpawnBolt(); }); } } } public void SpawnBolt() { //IL_004d: Unknown result type (might be due to invalid IL or missing references) //IL_0052: Unknown result type (might be due to invalid IL or missing references) //IL_0055: Unknown result type (might be due to invalid IL or missing references) //IL_0069: Unknown result type (might be due to invalid IL or missing references) //IL_006e: Unknown result type (might be due to invalid IL or missing references) //IL_0071: Unknown result type (might be due to invalid IL or missing references) //IL_0097: Unknown result type (might be due to invalid IL or missing references) //IL_009c: Unknown result type (might be due to invalid IL or missing references) //IL_009d: 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) if ((Object)(object)eid == (Object)null || eid.target == null || (Object)(object)Fento_Assets.LightningBoltWindupFollow.gameObject == (Object)null || (Object)(object)Fento_Assets.LightningBoltExplosion.gameObject == (Object)null) { return; } Vector3 insideUnitSphere = Random.insideUnitSphere; Vector3 val = ((Vector3)(ref insideUnitSphere)).normalized * Random.Range(35f, 135f); val.y = Mathf.Abs(val.y); GameObject currentWindup = Object.Instantiate(Fento_Assets.LightningBoltWindupFollow.gameObject, eid.target.position + val, Quaternion.identity); Main_Utils.Setup_GoreZone_Obj(currentWindup.gameObject, eid); Follow[] components = currentWindup.GetComponents(); for (int i = 0; i < components.Length; i++) { components[i].target = eid.target.targetTransform; } Follow[] array = components; foreach (Follow val2 in array) { if (val2.speed != 0f) { val2.speed /= 1.5f; } } Main_Utils.Invoke_WithDelay(4f, delegate { //IL_0034: Unknown result type (might be due to invalid IL or missing references) //IL_0039: Unknown result type (might be due to invalid IL or missing references) if (Object.op_Implicit((Object)(object)currentWindup)) { if ((Object)(object)Fento_Assets.LightningBoltExplosion.gameObject != (Object)null) { LightningStrikeExplosive component = Object.Instantiate(Fento_Assets.LightningBoltExplosion.gameObject, currentWindup.transform.position, Quaternion.identity).GetComponent(); Main_Utils.Setup_GoreZone_Obj(((Component)component).gameObject, eid); component.safeForPlayer = false; component.damageMultiplier = 2.25f; component.enemyDamageMultiplier = 0f; } Object.Destroy((Object)(object)currentWindup); } }); } } public class Leviathan_Rage_Shoot : MonoBehaviour { public EnemyType safeEnemyType = (EnemyType)27; public EnemyIdentifier eid; public Transform shootPoint; public Vector3 AddPos = Vector3.zero; public void FixedUpdate() { //IL_0110: Unknown result type (might be due to invalid IL or missing references) //IL_0115: Unknown result type (might be due to invalid IL or missing references) //IL_011a: Unknown result type (might be due to invalid IL or missing references) //IL_011f: Unknown result type (might be due to invalid IL or missing references) //IL_0124: Unknown result type (might be due to invalid IL or missing references) //IL_0071: Unknown result type (might be due to invalid IL or missing references) //IL_0076: 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_0080: Unknown result type (might be due to invalid IL or missing references) //IL_0085: Unknown result type (might be due to invalid IL or missing references) //IL_00be: Unknown result type (might be due to invalid IL or missing references) //IL_00c3: Unknown result type (might be due to invalid IL or missing references) //IL_00df: Unknown result type (might be due to invalid IL or missing references) //IL_00ef: Unknown result type (might be due to invalid IL or missing references) //IL_00f4: Unknown result type (might be due to invalid IL or missing references) //IL_0192: Unknown result type (might be due to invalid IL or missing references) //IL_019e: Unknown result type (might be due to invalid IL or missing references) //IL_01a3: Unknown result type (might be due to invalid IL or missing references) //IL_01d4: Unknown result type (might be due to invalid IL or missing references) //IL_01db: Invalid comparison between Unknown and I4 //IL_01fb: Unknown result type (might be due to invalid IL or missing references) //IL_023e: Unknown result type (might be due to invalid IL or missing references) //IL_024e: Unknown result type (might be due to invalid IL or missing references) //IL_0253: Unknown result type (might be due to invalid IL or missing references) if (!Object.op_Implicit((Object)(object)shootPoint) || !Object.op_Implicit((Object)(object)eid) || eid.dead || eid.target == null || !(Random.value < 0.006f)) { return; } if (Random.value < 0.35f) { Projectile component = Object.Instantiate(Fento_Assets.ProjectileHoming_Blue.gameObject, shootPoint.TransformPoint(AddPos) + Random.insideUnitSphere, Quaternion.identity).GetComponent(); Main_Utils.Setup_GoreZone_Obj(((Component)component).gameObject, eid); ((Component)component).transform.DissableColliders(((Component)eid).transform); component.safeEnemyType = safeEnemyType; ((Component)component).transform.LookAt(Main_Utils.PredictTargetPosition(eid.target, 1f, includeGravity: true) + eid.target.Up()); } Projectile currentProjectile = Object.Instantiate(Fento_Assets.ProjectileExplosiveHH_BigYellow.gameObject, shootPoint.TransformPoint(AddPos) + Random.insideUnitSphere, Quaternion.identity).GetComponent(); ((Component)currentProjectile).transform.DissableColliders(((Component)eid).transform); Main_Utils.Setup_GoreZone_Obj(((Component)currentProjectile).gameObject, eid); Stray_Rage_Proj stray_Rage_Proj = default(Stray_Rage_Proj); if (((Component)currentProjectile).TryGetComponent(ref stray_Rage_Proj)) { Object.Destroy((Object)(object)stray_Rage_Proj); } currentProjectile.ignoreExplosions = true; currentProjectile.homingType = (HomingType)0; currentProjectile.safeEnemyType = safeEnemyType; currentProjectile.SetProjTarget(eid.target); currentProjectile.speed = Random.Range(55f, 65f) * (((int)safeEnemyType == 27) ? 1f : 0.85f); float predict = Main_Utils.PredictTimeOld(((Component)currentProjectile).transform.position, currentProjectile.speed, eid.target); ((Component)currentProjectile).transform.LookAt(Main_Utils.PredictTargetPosition(eid.target, predict, includeGravity: true) + eid.target.Up()); Main_Utils.Invoke_WithDelay(predict * 0.5f, delegate { //IL_0043: Unknown result type (might be due to invalid IL or missing references) //IL_0090: Unknown result type (might be due to invalid IL or missing references) //IL_00a5: Unknown result type (might be due to invalid IL or missing references) //IL_00aa: Unknown result type (might be due to invalid IL or missing references) if (Object.op_Implicit((Object)(object)currentProjectile) && Object.op_Implicit((Object)(object)eid) && eid.target != null) { predict = Main_Utils.PredictTimeOld(((Component)currentProjectile).transform.position, currentProjectile.speed, eid.target); ((Component)currentProjectile).transform.LookAt(Main_Utils.PredictTargetPosition(eid.target, predict, includeGravity: true) + eid.target.Up()); } }); } } public class Gabriel_Rage_Boss : MonoBehaviour { } public class Stray_Rage_Proj : MonoBehaviour { public class Proj_FollowDisabler : MonoBehaviour { public Projectile Proj; public float Timer = 2f; public float OgTurningSpeedMultiplier; public void Start() { Proj = ((Component)this).GetComponent(); OgTurningSpeedMultiplier = Proj.turningSpeedMultiplier; } public void FixedUpdate() { Timer -= Time.fixedDeltaTime; if (Timer < 0f) { Object.Destroy((Object)(object)this); } else if (Timer < 1f && Object.op_Implicit((Object)(object)Proj)) { Proj.turningSpeedMultiplier = OgTurningSpeedMultiplier * Timer; } } } public UltraEnrage_Enemy Enraged; public Projectile Proj; public void Start() { //IL_001f: Unknown result type (might be due to invalid IL or missing references) //IL_0026: Invalid comparison between Unknown and I4 //IL_002f: Unknown result type (might be due to invalid IL or missing references) //IL_0089: Unknown result type (might be due to invalid IL or missing references) //IL_00c8: Unknown result type (might be due to invalid IL or missing references) //IL_00dd: Unknown result type (might be due to invalid IL or missing references) //IL_00e2: Unknown result type (might be due to invalid IL or missing references) Proj = ((Component)this).GetComponent(); if (Object.op_Implicit((Object)(object)Proj) && (int)Proj.safeEnemyType == 13) { Enraged = UltraEnrage_Enemy.FindNearest(((Component)this).transform.position, (EnemyType)13, 5f); } if (Object.op_Implicit((Object)(object)Proj) && (Object)(object)Enraged != (Object)null) { Projectile proj = Proj; proj.speed *= 1.5f; float num = 1f; num = Main_Utils.PredictTimeOld(((Component)this).transform.position, Proj.speed, Enraged.eid.target); ((Component)this).transform.LookAt(Main_Utils.PredictTargetPosition(Enraged.eid.target, num, includeGravity: true) + Enraged.eid.target.Up()); Main_Utils.Invoke_WithDelay(num + Random.Range(0.05f, 0.1f), delegate { if (Object.op_Implicit((Object)(object)Proj) && !Proj.parried) { Object.Destroy((Object)(object)((Component)this).gameObject); } }); } else { Object.Destroy((Object)(object)this); } } public void OnDisable() { //IL_0045: Unknown result type (might be due to invalid IL or missing references) //IL_0050: Unknown result type (might be due to invalid IL or missing references) //IL_0072: Unknown result type (might be due to invalid IL or missing references) //IL_00bb: Unknown result type (might be due to invalid IL or missing references) //IL_00c5: Expected O, but got Unknown if (!Object.op_Implicit((Object)(object)Enraged) || !Object.op_Implicit((Object)(object)Proj) || Proj.parried) { return; } GameObject val = Object.Instantiate(Fento_Assets.ExplosionSisyphusPrimeAnimation.gameObject, ((Component)this).transform.position, ((Component)this).transform.rotation); Main_Utils.Setup_GoreZone_Obj(val, Enraged.eid); Main_Utils.Make_Colored(val.transform, Color.red); ObjectActivator delay = val.GetComponent(); delay.events.toActivateObjects = (GameObject[])(object)new GameObject[0]; delay.events.onActivate.AddListener((UnityAction)delegate { //IL_0015: Unknown result type (might be due to invalid IL or missing references) //IL_001a: Unknown result type (might be due to invalid IL or missing references) //IL_0070: Unknown result type (might be due to invalid IL or missing references) //IL_00b6: Unknown result type (might be due to invalid IL or missing references) //IL_00bb: Unknown result type (might be due to invalid IL or missing references) //IL_00c0: Unknown result type (might be due to invalid IL or missing references) //IL_00c5: Unknown result type (might be due to invalid IL or missing references) //IL_0112: Unknown result type (might be due to invalid IL or missing references) //IL_0117: Unknown result type (might be due to invalid IL or missing references) //IL_011c: Unknown result type (might be due to invalid IL or missing references) //IL_0129: Unknown result type (might be due to invalid IL or missing references) //IL_013a: Unknown result type (might be due to invalid IL or missing references) Explosion[] componentsInChildren = Object.Instantiate(Fento_Assets.ExplosionSuper.gameObject, ((Component)delay).transform.position, Quaternion.identity).GetComponentsInChildren(); foreach (Explosion obj in componentsInChildren) { obj.toIgnore.Add((EnemyType)13); obj.enemy = true; obj.enemyDamageMultiplier *= 0f; } int num = UltraEnrage_Enemy.CountEnemyByType(Enraged.eid.enemyType); num = (int)Mathf.Clamp(5f - (float)num * 1f, 1f, 3f); Stray_Rage_Proj stray_Rage_Proj = default(Stray_Rage_Proj); for (int j = 0; j < num; j++) { Projectile component = Object.Instantiate(Fento_Assets.Projectile_Red.gameObject, ((Component)delay).transform.position + Random.insideUnitSphere, Quaternion.identity).GetComponent(); Main_Utils.Setup_GoreZone_Obj(((Component)component).gameObject, Enraged.eid); if (((Component)component).TryGetComponent(ref stray_Rage_Proj)) { Object.Destroy((Object)(object)stray_Rage_Proj); } ((Component)component).transform.LookAt(((Component)component).transform.position + Random.insideUnitSphere); component.homingType = (HomingType)1; component.ignoreExplosions = true; component.safeEnemyType = (EnemyType)13; component.targetHandle = Proj.targetHandle; component.speed = Random.Range(25f, 65f); ComponentExtensions.GetOrAddComponent((Component)(object)component); } }); } } public class Schism_Rage_Proj : MonoBehaviour { public UltraEnrage_Enemy Enraged; public Projectile Proj; public float predictionTime = 1f; public void Start() { //IL_001f: Unknown result type (might be due to invalid IL or missing references) //IL_0026: Invalid comparison between Unknown and I4 //IL_002f: Unknown result type (might be due to invalid IL or missing references) //IL_00a0: 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) Proj = ((Component)this).GetComponent(); if (Object.op_Implicit((Object)(object)Proj) && (int)Proj.safeEnemyType == 14) { Enraged = UltraEnrage_Enemy.FindNearest(((Component)this).transform.position, (EnemyType)14, 5f); } if (Object.op_Implicit((Object)(object)Proj) && (Object)(object)Enraged != (Object)null) { Projectile proj = Proj; proj.speed *= 1.25f; Proj.ignoreEnvironment = true; ContinuousBeam componentInChildren = ((Component)Proj).GetComponentInChildren(); if (Object.op_Implicit((Object)(object)componentInChildren)) { componentInChildren.cancelIfEndPointBlocked = false; componentInChildren.environmentMask = LayerMaskDefaults.Get((LMD)0); } Main_Utils.Invoke_WithDelay(0.5f, delegate { //IL_001d: Unknown result type (might be due to invalid IL or missing references) //IL_0022: Unknown result type (might be due to invalid IL or missing references) ContinuousBeam componentInChildren2 = ((Component)Proj).GetComponentInChildren(); if (Object.op_Implicit((Object)(object)componentInChildren2)) { componentInChildren2.cancelIfEndPointBlocked = false; componentInChildren2.environmentMask = LayerMaskDefaults.Get((LMD)0); } }); } else { Object.Destroy((Object)(object)this); } } public void FixedUpdate() { //IL_00b1: Unknown result type (might be due to invalid IL or missing references) //IL_0062: Unknown result type (might be due to invalid IL or missing references) //IL_0068: Invalid comparison between Unknown and I4 //IL_010b: Unknown result type (might be due to invalid IL or missing references) //IL_0120: Unknown result type (might be due to invalid IL or missing references) //IL_0125: Unknown result type (might be due to invalid IL or missing references) //IL_0071: Unknown result type (might be due to invalid IL or missing references) if (!Object.op_Implicit((Object)(object)Enraged) || !Object.op_Implicit((Object)(object)Proj) || Proj.parried) { return; } predictionTime -= Time.fixedDeltaTime; if (!(predictionTime < 0f)) { return; } if (Proj.speed > 1f) { if ((int)Proj.homingType == 1) { Proj.homingType = (HomingType)0; } Projectile proj = Proj; proj.speed *= 0.98f; return; } Projectile proj2 = Proj; proj2.speed += (float)Random.Range(10, 45); Proj.homingType = (HomingType)1; Projectile proj3 = Proj; proj3.turningSpeedMultiplier *= Random.Range(0.95f, 1.05f); if (Enraged.eid.target != null) { ((Component)Proj).transform.LookAt(Main_Utils.PredictTargetPosition(Enraged.eid.target, Random.value, includeGravity: true) + Enraged.eid.target.Up()); } ComponentExtensions.GetOrAddComponent((Component)(object)Proj).Timer *= 0.25f; Object.Destroy((Object)(object)this); } } public class Soldier_Rage_Proj : MonoBehaviour { public UltraEnrage_Enemy Enraged; public Projectile Proj; public void Awake() { //IL_002d: 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) Proj = ((Component)this).GetComponent(); if (Object.op_Implicit((Object)(object)Proj)) { Enraged = UltraEnrage_Enemy.FindNearest(((Component)this).transform.position, (EnemyType)15, 5f); } if (Object.op_Implicit((Object)(object)Proj) && (Object)(object)Enraged != (Object)null) { float prediction = Main_Utils.PredictTimeOld(((Component)this).transform.position, Proj.speed, Enraged.eid.target); Main_Utils.Invoke_WithDelay(prediction * Random.Range(0.5f, 0.9f), delegate { //IL_0065: Unknown result type (might be due to invalid IL or missing references) //IL_00c1: Unknown result type (might be due to invalid IL or missing references) //IL_00db: Unknown result type (might be due to invalid IL or missing references) //IL_00e0: Unknown result type (might be due to invalid IL or missing references) if (Object.op_Implicit((Object)(object)Proj) && !Proj.parried && Object.op_Implicit((Object)(object)Enraged) && Enraged.eid.target != null) { prediction = Main_Utils.PredictTimeOld(((Component)this).transform.position, Proj.speed, Enraged.eid.target); ((Component)this).transform.LookAt(Main_Utils.PredictTargetPosition(Enraged.eid.target, prediction, includeGravity: true) + Enraged.eid.target.Up()); } }); } else { Object.Destroy((Object)(object)this); } } } public class Ferryman_Rage_Explosion : MonoBehaviour { public UltraEnrage_Enemy Enraged; public void Awake() { //IL_0007: Unknown result type (might be due to invalid IL or missing references) //IL_003b: 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) Enraged = UltraEnrage_Enemy.FindNearest(((Component)this).transform.position, (EnemyType)26, 10f); if ((Object)(object)Enraged != (Object)null) { PhysicalShockwave component = Object.Instantiate(Fento_Assets.SlamExplosionShockwave.gameObject, ((Component)this).transform.position, Quaternion.identity).GetComponent(); Main_Utils.Setup_GoreZone_Obj(((Component)component).gameObject, Enraged.eid); component.speed *= Enraged.eid.totalSpeedModifier; component.damage = Mathf.RoundToInt((float)component.damage * Enraged.eid.totalDamageModifier); } else { Object.Destroy((Object)(object)this); } } } public class Sisyphus_Rage_Explosion : MonoBehaviour { public UltraEnrage_Enemy Enraged; public PhysicalShockwave physicalShockwave; public void Awake() { //IL_0020: Unknown result type (might be due to invalid IL or missing references) //IL_007a: Unknown result type (might be due to invalid IL or missing references) //IL_0084: Unknown result type (might be due to invalid IL or missing references) //IL_00aa: Unknown result type (might be due to invalid IL or missing references) //IL_00af: Unknown result type (might be due to invalid IL or missing references) //IL_00b9: Unknown result type (might be due to invalid IL or missing references) //IL_00be: Unknown result type (might be due to invalid IL or missing references) //IL_00c9: Unknown result type (might be due to invalid IL or missing references) //IL_012d: Unknown result type (might be due to invalid IL or missing references) //IL_0132: Unknown result type (might be due to invalid IL or missing references) //IL_013c: Unknown result type (might be due to invalid IL or missing references) //IL_0141: Unknown result type (might be due to invalid IL or missing references) //IL_0146: Unknown result type (might be due to invalid IL or missing references) //IL_014b: Unknown result type (might be due to invalid IL or missing references) //IL_0150: Unknown result type (might be due to invalid IL or missing references) //IL_01db: Unknown result type (might be due to invalid IL or missing references) //IL_0206: Unknown result type (might be due to invalid IL or missing references) //IL_0253: Unknown result type (might be due to invalid IL or missing references) //IL_0268: Unknown result type (might be due to invalid IL or missing references) //IL_026d: Unknown result type (might be due to invalid IL or missing references) //IL_0272: 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_0297: Unknown result type (might be due to invalid IL or missing references) //IL_02a7: Unknown result type (might be due to invalid IL or missing references) //IL_02b1: Unknown result type (might be due to invalid IL or missing references) //IL_02b6: Unknown result type (might be due to invalid IL or missing references) physicalShockwave = ((Component)this).GetComponent(); if (Object.op_Implicit((Object)(object)physicalShockwave)) { Enraged = UltraEnrage_Enemy.FindNearest(((Component)this).transform.position, (EnemyType)19, 10f); } if (Object.op_Implicit((Object)(object)physicalShockwave) && (Object)(object)Enraged != (Object)null) { PhysicalShockwave obj = physicalShockwave; obj.maxSize *= 1.5f; Transform transform = ((Component)physicalShockwave).transform; transform.localScale *= 2f; physicalShockwave.noDamageToEnemy = true; Explosion[] componentsInChildren = Object.Instantiate(Fento_Assets.ExplosionSuper.gameObject, ((Component)this).transform.position + Vector3.up * 5f, ((Component)this).transform.rotation).GetComponentsInChildren(); foreach (Explosion obj2 in componentsInChildren) { obj2.enemyDamageMultiplier = 0f; obj2.toIgnore.Add((EnemyType)19); obj2.enemy = true; } Stray_Rage_Proj stray_Rage_Proj = default(Stray_Rage_Proj); for (int j = 0; j < 16; j++) { Projectile currentProjectile = Object.Instantiate(Fento_Assets.Projectile_Red.gameObject, ((Component)this).transform.position + Vector3.up * 5f + Random.insideUnitSphere, Quaternion.identity).GetComponent(); ((Component)currentProjectile).transform.DissableColliders(((Component)this).transform); Main_Utils.Setup_GoreZone_Obj(((Component)currentProjectile).gameObject, Enraged.eid); if (((Component)currentProjectile).TryGetComponent(ref stray_Rage_Proj)) { Object.Destroy((Object)(object)stray_Rage_Proj); } currentProjectile.ignoreExplosions = true; currentProjectile.SetProjTarget(Enraged.eid.target); currentProjectile.safeEnemyType = (EnemyType)19; currentProjectile.speed = Random.Range(35f, 70f); float prediction = Main_Utils.PredictTimeOld(((Component)currentProjectile).transform.position, currentProjectile.speed, Enraged.eid.target); ((Component)currentProjectile).transform.LookAt(Main_Utils.PredictTargetPosition(Enraged.eid.target, prediction, includeGravity: true) + Enraged.eid.target.Up() + Random.insideUnitSphere * 12f); Transform transform2 = ((Component)currentProjectile).transform; transform2.position += ((Component)currentProjectile).transform.forward * 1f; if (!(Random.value < 0.5f)) { continue; } Main_Utils.Invoke_WithDelay(prediction * 0.5f, delegate { //IL_0071: Unknown result type (might be due to invalid IL or missing references) //IL_008b: Unknown result type (might be due to invalid IL or missing references) //IL_0090: 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_009f: 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) if ((Object)(object)currentProjectile != (Object)null && (Object)(object)Enraged.eid != (Object)null && Enraged.eid.target != null) { ((Component)currentProjectile).transform.LookAt(Main_Utils.PredictTargetPosition(Enraged.eid.target, prediction * Random.value, includeGravity: true) + Enraged.eid.target.Up() + Random.insideUnitSphere * 6f); } }); } } else { Object.Destroy((Object)(object)this); } } } public class MirrorReaper_Rage_Proj : MonoBehaviour { public void Start() { //IL_002a: Unknown result type (might be due to invalid IL or missing references) GameObject obj = Object.Instantiate(Fento_Assets.CentaurBrainBeam.gameObject, ((Component)this).transform); obj.transform.localRotation = Quaternion.Euler(270f, 0f, 0f); ContinuousBeam component = obj.GetComponent(); if (Object.op_Implicit((Object)(object)component)) { component.canHitEnemy = false; } } } public class ThrownSword_Rage_Proj : MonoBehaviour { public ThrownSword ThrownSword; public Collider Collider; public void Start() { //IL_0006: 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) if ((Object)(object)UltraEnrage_Enemy.FindNearest(((Component)this).transform.position, (EnemyType)7) != (Object)null) { Main_Utils.Make_Colored(((Component)this).transform, Color.red); Collider = ((Component)this).GetComponent(); ThrownSword = ((Component)this).GetComponent(); ThrownSword thrownSword = ThrownSword; thrownSword.speed /= 1.05f; Object.Destroy((Object)(object)this, 2f); } else { Object.Destroy((Object)(object)this); } } public void FixedUpdate() { //IL_0076: 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_008c: Unknown result type (might be due to invalid IL or missing references) //IL_0091: Unknown result type (might be due to invalid IL or missing references) //IL_009c: Unknown result type (might be due to invalid IL or missing references) //IL_00a1: Unknown result type (might be due to invalid IL or missing references) //IL_00a2: Unknown result type (might be due to invalid IL or missing references) //IL_00ac: Unknown result type (might be due to invalid IL or missing references) //IL_00b1: Unknown result type (might be due to invalid IL or missing references) //IL_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) if (Object.op_Implicit((Object)(object)ThrownSword) && Object.op_Implicit((Object)(object)ThrownSword.thrownBy) && ThrownSword.thrownBy.target != null) { Main_Utils.GetTargetPosition(ThrownSword.thrownBy.target, out var targetPosition); ThrownSword.friendly = false; Collider.enabled = true; ThrownSword.targetPos = Vector3.MoveTowards(ThrownSword.targetPos, targetPosition + ThrownSword.thrownBy.target.Up() + Main_Utils.GetVector_FromTo(ThrownSword.targetPos, targetPosition) * 5f, ThrownSword.speed * Time.fixedDeltaTime); } } } public class Turret_Rage_Proj : MonoBehaviour { public void Start() { //IL_0006: Unknown result type (might be due to invalid IL or missing references) //IL_002a: 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) //IL_004b: Unknown result type (might be due to invalid IL or missing references) //IL_0058: Unknown result type (might be due to invalid IL or missing references) //IL_00b9: Unknown result type (might be due to invalid IL or missing references) //IL_00c3: Unknown result type (might be due to invalid IL or missing references) //IL_00ce: Unknown result type (might be due to invalid IL or missing references) //IL_0077: Unknown result type (might be due to invalid IL or missing references) //IL_0082: Unknown result type (might be due to invalid IL or missing references) //IL_008c: Unknown result type (might be due to invalid IL or missing references) //IL_0091: Unknown result type (might be due to invalid IL or missing references) //IL_009c: Unknown result type (might be due to invalid IL or missing references) //IL_0105: Unknown result type (might be due to invalid IL or missing references) //IL_0114: Unknown result type (might be due to invalid IL or missing references) //IL_0125: Unknown result type (might be due to invalid IL or missing references) //IL_012f: Unknown result type (might be due to invalid IL or missing references) UltraEnrage_Enemy ultraEnrage_Enemy = UltraEnrage_Enemy.FindNearest(((Component)this).transform.position, (EnemyType)20); if ((Object)(object)ultraEnrage_Enemy != (Object)null) { Main_Utils.Make_Colored(((Component)this).transform, Color.red); RaycastHit val = default(RaycastHit); bool num = Physics.Raycast(((Component)this).transform.position, ((Component)this).transform.forward, ref val, float.PositiveInfinity, LayerMask.op_Implicit(LayerMaskDefaults.Get((LMD)1))); GameObject val2 = null; val2 = ((!num) ? Object.Instantiate(Fento_Assets.Coin.gameObject, ((Component)this).transform.forward * 100f, ((Component)this).transform.rotation) : Object.Instantiate(Fento_Assets.Coin.gameObject, ((RaycastHit)(ref val)).point - ((Component)this).transform.forward * 2f, ((Component)this).transform.rotation)); Rigidbody val3 = default(Rigidbody); if (val2.TryGetComponent(ref val3)) { val3.isKinematic = true; } Coin val4 = default(Coin); if (val2.TryGetComponent(ref val4)) { GameObject obj = Object.Instantiate(val4.flash, ((Component)val4).transform.position, ((Component)MonoSingleton.Instance).transform.rotation); Transform transform = obj.transform; transform.localScale *= 2f; obj.transform.SetParent(val2.transform, true); Coin obj2 = val4; obj2.power += 5f; val4.shot = false; val4.customTarget = ((ultraEnrage_Enemy.eid.target != null) ? ultraEnrage_Enemy.eid.target : EnemyTarget.TrackPlayer()); if (val4.customTarget != null) { val4.DelayedEnemyReflect(); } } } else { Object.Destroy((Object)(object)this); } } } public class Guttertank_Rage_Proj : MonoBehaviour { public class Cool_Rage_Proj : MonoBehaviour { public UltraEnrage_Enemy Enraged; public Projectile Proj; public float predictionTime = 1f; public void Start() { Proj = ((Component)this).GetComponent(); } public void FixedUpdate() { //IL_009c: Unknown result type (might be due to invalid IL or missing references) //IL_00a1: Unknown result type (might be due to invalid IL or missing references) //IL_00a6: Unknown result type (might be due to invalid IL or missing references) //IL_00ab: Unknown result type (might be due to invalid IL or missing references) //IL_00fd: Unknown result type (might be due to invalid IL or missing references) //IL_012f: Unknown result type (might be due to invalid IL or missing references) //IL_016f: Unknown result type (might be due to invalid IL or missing references) //IL_0055: Unknown result type (might be due to invalid IL or missing references) //IL_005b: Invalid comparison between Unknown and I4 //IL_0064: Unknown result type (might be due to invalid IL or missing references) if (!Object.op_Implicit((Object)(object)Proj) || Proj.parried) { return; } predictionTime -= Time.fixedDeltaTime; if (!(predictionTime < 0f)) { return; } if (Proj.speed > 1f) { if ((int)Proj.homingType == 1) { Proj.homingType = (HomingType)0; } Projectile proj = Proj; proj.speed *= 0.97f; return; } Object.Destroy((Object)(object)((Component)this).gameObject); Projectile component = Object.Instantiate(Fento_Assets.Projectile_Yellow.gameObject, ((Component)this).transform.position + Random.insideUnitSphere, Quaternion.identity).GetComponent(); Main_Utils.Setup_GoreZone_Obj(((Component)component).gameObject, Enraged.eid); component.speed += Random.Range(25f, 50f) * 2f; component.ignoreExplosions = true; component.safeEnemyType = (EnemyType)34; component.targetHandle = Proj.targetHandle; component.target = Proj.target; float time = Random.value * Main_Utils.PredictTimeOld(((Component)this).transform.position, component.speed, Enraged.eid.target); ((Component)component).transform.LookAt(Main_Utils.PredictTargetPosition(Main_Utils.GetITarget(Enraged.eid.target), time)); } } public UltraEnrage_Enemy Enraged; public bool Alt; public void Start() { //IL_0014: 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_00ad: Unknown result type (might be due to invalid IL or missing references) //IL_00bd: Unknown result type (might be due to invalid IL or missing references) //IL_00ee: Unknown result type (might be due to invalid IL or missing references) //IL_0108: Unknown result type (might be due to invalid IL or missing references) //IL_0153: Unknown result type (might be due to invalid IL or missing references) //IL_0169: Unknown result type (might be due to invalid IL or missing references) //IL_0179: Unknown result type (might be due to invalid IL or missing references) //IL_0189: Unknown result type (might be due to invalid IL or missing references) //IL_0199: Unknown result type (might be due to invalid IL or missing references) //IL_01b0: Unknown result type (might be due to invalid IL or missing references) Enraged = UltraEnrage_Enemy.FindNearest(((Component)this).transform.position, (EnemyType)34); if ((Object)(object)Enraged != (Object)null) { Grenade grenade = ((Component)this).GetComponent(); grenade.harmlessExplosion = grenade.superExplosion; if (Random.value < 0.15f) { Alt = true; grenade.explosion = Fento_Assets.ExplosionSuper.gameObject; Grenade obj = grenade; obj.rocketSpeed *= 0.85f; Transform transform = ((Component)this).transform; transform.localScale *= 1.85f; Main_Utils.Make_Colored(((Component)this).transform, Color.red, keep_a: true, 2f); } else { if (Enraged.eid.target == null || !(Random.value < ((Mathf.Abs(((Component)this).transform.position.y - Enraged.eid.target.position.y) > 27.5f) ? 0.65f : 0.15f))) { return; } Grenade obj2 = grenade; obj2.rocketSpeed *= 0.85f; ((Component)this).transform.localScale = new Vector3(((Component)this).transform.localScale.x * 2f, ((Component)this).transform.localScale.y, ((Component)this).transform.localScale.z * 2f); Main_Utils.Make_Colored(((Component)this).transform, Color.cyan, keep_a: true, 3f); float predict = Main_Utils.PredictTimeOld(((Component)this).transform.position, grenade.rocketSpeed, Enraged.eid.target); Main_Utils.Invoke_WithDelay(predict * 0.5f, delegate { //IL_004b: 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) if (Object.op_Implicit((Object)(object)this) && Object.op_Implicit((Object)(object)Enraged) && Enraged.eid.target != null) { predict = Main_Utils.PredictTimeOld(((Component)this).transform.position, grenade.rocketSpeed, Enraged.eid.target); ((Component)this).transform.LookAt(Main_Utils.PredictTargetPosition(Main_Utils.GetITarget(Enraged.eid.target), predict)); Main_Utils.Invoke_WithDelay(predict * 0.9f, delegate { //IL_004b: Unknown result type (might be due to invalid IL or missing references) //IL_009c: 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_00e3: Unknown result type (might be due to invalid IL or missing references) //IL_00e8: Unknown result type (might be due to invalid IL or missing references) //IL_00f2: Unknown result type (might be due to invalid IL or missing references) //IL_00f7: Unknown result type (might be due to invalid IL or missing references) if (Object.op_Implicit((Object)(object)this) && Object.op_Implicit((Object)(object)Enraged) && Enraged.eid.target != null) { predict = Main_Utils.PredictTimeOld(((Component)this).transform.position, grenade.rocketSpeed / 0.85f, Enraged.eid.target); Guttertank_Rage_Proj guttertank_Rage_Proj = default(Guttertank_Rage_Proj); for (int i = 0; i < 5; i++) { Grenade component = Object.Instantiate(Fento_Assets.EnemyRocket.gameObject, ((Component)this).transform.position, ((Component)this).transform.rotation).GetComponent(); ((Component)component).transform.LookAt(Main_Utils.PredictTargetPosition(Main_Utils.GetITarget(Enraged.eid.target), predict) + Random.insideUnitSphere * 5f); component.rocketSpeed *= Random.Range(0.9f, 1.1f); if (((Component)component).TryGetComponent(ref guttertank_Rage_Proj)) { Object.Destroy((Object)(object)guttertank_Rage_Proj); } } grenade.Explode(true, false, false, 1f, false, (GameObject)null, false); } }); } }); } } else { Object.Destroy((Object)(object)this); } } public void OnDisable() { //IL_01fd: Unknown result type (might be due to invalid IL or missing references) //IL_00e7: Unknown result type (might be due to invalid IL or missing references) //IL_00ec: Unknown result type (might be due to invalid IL or missing references) //IL_00f1: Unknown result type (might be due to invalid IL or missing references) //IL_00f6: Unknown result type (might be due to invalid IL or missing references) //IL_0128: Unknown result type (might be due to invalid IL or missing references) //IL_012d: Unknown result type (might be due to invalid IL or missing references) //IL_0132: Unknown result type (might be due to invalid IL or missing references) //IL_0146: Unknown result type (might be due to invalid IL or missing references) //IL_01a5: Unknown result type (might be due to invalid IL or missing references) //IL_01aa: Unknown result type (might be due to invalid IL or missing references) //IL_0041: Unknown result type (might be due to invalid IL or missing references) //IL_0046: Unknown result type (might be due to invalid IL or missing references) //IL_004b: Unknown result type (might be due to invalid IL or missing references) //IL_0050: Unknown result type (might be due to invalid IL or missing references) //IL_0082: Unknown result type (might be due to invalid IL or missing references) //IL_0087: Unknown result type (might be due to invalid IL or missing references) //IL_008c: Unknown result type (might be due to invalid IL or missing references) //IL_00a0: Unknown result type (might be due to invalid IL or missing references) if (!Object.op_Implicit((Object)(object)Enraged)) { return; } Projectile val = null; for (int i = 0; (float)i < Mathf.Clamp(8f - 2f * (float)(1 - UltraEnrage_Enemy.CountEnemyByType(Enraged.eid.enemyType)), 3f, 8f); i++) { if (Alt && Random.value < 0.5f) { Projectile component = Object.Instantiate(Fento_Assets.ProjectileExplosiveHoming_Green.gameObject, ((Component)this).transform.position + Random.insideUnitSphere, Quaternion.identity).GetComponent(); Main_Utils.Setup_GoreZone_Obj(((Component)component).gameObject, Enraged.eid); ((Component)component).transform.LookAt(((Component)component).transform.position + Random.insideUnitSphere); component.ignoreExplosions = true; component.safeEnemyType = (EnemyType)34; component.SetProjTarget(Enraged.eid.target); component.speed = Random.Range(25f, 40f); val = component; continue; } Projectile component2 = Object.Instantiate(Fento_Assets.Projectile_Yellow.gameObject, ((Component)this).transform.position + Random.insideUnitSphere, Quaternion.identity).GetComponent(); Main_Utils.Setup_GoreZone_Obj(((Component)component2).gameObject, Enraged.eid); ((Component)component2).transform.LookAt(((Component)component2).transform.position + Random.insideUnitSphere); component2.ignoreExplosions = true; component2.safeEnemyType = (EnemyType)34; component2.SetProjTarget(Enraged.eid.target); component2.speed = Random.Range(25f, 40f) * 1.15f; ComponentExtensions.GetOrAddComponent((Component)(object)component2).Enraged = Enraged; if (Object.op_Implicit((Object)(object)val)) { ContinuousBeam component3 = Object.Instantiate(Fento_Assets.ProjectileBeam.gameObject, ((Component)component2).transform.position, Quaternion.identity, ((Component)component2).transform).GetComponent(); component3.projectile = component2; component3.endProjectile = val; component3.endPoint = ((Component)val).transform; component3.canHitEnemy = false; } val = component2; } } } public class Guttertank_Rage_Landmine : MonoBehaviour { [CompilerGenerated] private sealed class d__5 : IEnumerator, IDisposable, IEnumerator { private int <>1__state; private object <>2__current; public Guttertank_Rage_Landmine <>4__this; private NewMovement 5__2; private bool 5__3; object IEnumerator.Current { [DebuggerHidden] get { return <>2__current; } } object IEnumerator.Current { [DebuggerHidden] get { return <>2__current; } } [DebuggerHidden] public d__5(int <>1__state) { this.<>1__state = <>1__state; } [DebuggerHidden] void IDisposable.Dispose() { 5__2 = null; <>1__state = -2; } private bool MoveNext() { //IL_005b: 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_006a: Unknown result type (might be due to invalid IL or missing references) //IL_006f: Unknown result type (might be due to invalid IL or missing references) //IL_0074: Unknown result type (might be due to invalid IL or missing references) //IL_0086: Unknown result type (might be due to invalid IL or missing references) //IL_0090: Unknown result type (might be due to invalid IL or missing references) //IL_00b0: Unknown result type (might be due to invalid IL or missing references) //IL_03ae: Unknown result type (might be due to invalid IL or missing references) //IL_03b8: Expected O, but got Unknown //IL_0400: Unknown result type (might be due to invalid IL or missing references) //IL_040a: Expected O, but got Unknown //IL_0466: Unknown result type (might be due to invalid IL or missing references) //IL_046b: Unknown result type (might be due to invalid IL or missing references) //IL_00dd: Unknown result type (might be due to invalid IL or missing references) //IL_00e2: Unknown result type (might be due to invalid IL or missing references) //IL_00ec: Unknown result type (might be due to invalid IL or missing references) //IL_00f1: Unknown result type (might be due to invalid IL or missing references) //IL_00f6: Unknown result type (might be due to invalid IL or missing references) //IL_0108: Unknown result type (might be due to invalid IL or missing references) //IL_0112: Unknown result type (might be due to invalid IL or missing references) //IL_0132: Unknown result type (might be due to invalid IL or missing references) //IL_015f: Unknown result type (might be due to invalid IL or missing references) //IL_0164: Unknown result type (might be due to invalid IL or missing references) //IL_016e: Unknown result type (might be due to invalid IL or missing references) //IL_0173: Unknown result type (might be due to invalid IL or missing references) //IL_0178: Unknown result type (might be due to invalid IL or missing references) //IL_018a: Unknown result type (might be due to invalid IL or missing references) //IL_0194: 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_01e1: Unknown result type (might be due to invalid IL or missing references) //IL_01e6: Unknown result type (might be due to invalid IL or missing references) //IL_01f0: Unknown result type (might be due to invalid IL or missing references) //IL_01f5: Unknown result type (might be due to invalid IL or missing references) //IL_01fa: Unknown result type (might be due to invalid IL or missing references) //IL_020c: Unknown result type (might be due to invalid IL or missing references) //IL_0216: Unknown result type (might be due to invalid IL or missing references) //IL_0236: Unknown result type (might be due to invalid IL or missing references) //IL_0263: Unknown result type (might be due to invalid IL or missing references) //IL_0268: Unknown result type (might be due to invalid IL or missing references) //IL_0272: Unknown result type (might be due to invalid IL or missing references) //IL_0277: 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_028e: Unknown result type (might be due to invalid IL or missing references) //IL_0298: Unknown result type (might be due to invalid IL or missing references) //IL_02b8: Unknown result type (might be due to invalid IL or missing references) //IL_034a: Unknown result type (might be due to invalid IL or missing references) //IL_0354: Expected O, but got Unknown //IL_02e5: Unknown result type (might be due to invalid IL or missing references) //IL_02ea: Unknown result type (might be due to invalid IL or missing references) //IL_02f4: Unknown result type (might be due to invalid IL or missing references) //IL_02f9: Unknown result type (might be due to invalid IL or missing references) //IL_02fe: Unknown result type (might be due to invalid IL or missing references) //IL_0310: Unknown result type (might be due to invalid IL or missing references) //IL_031a: Unknown result type (might be due to invalid IL or missing references) //IL_033a: Unknown result type (might be due to invalid IL or missing references) int num = <>1__state; Guttertank_Rage_Landmine guttertank_Rage_Landmine = <>4__this; switch (num) { default: return false; case 0: { <>1__state = -1; GameObject val = MonoSingleton.Instance.unparryableFlash; if ((Object)(object)val != (Object)null) { val = Object.Instantiate(MonoSingleton.Instance.unparryableFlash, guttertank_Rage_Landmine.Enraged.eid.target.position + Vector3.up * 5f, Quaternion.identity); Transform transform = val.transform; transform.localScale *= 15f; val.transform.LookAt(guttertank_Rage_Landmine.Enraged.eid.target.position); } if ((Object)(object)val != (Object)null) { val = Object.Instantiate(MonoSingleton.Instance.unparryableFlash, guttertank_Rage_Landmine.Enraged.eid.target.position + Vector3.down * 5f, Quaternion.identity); Transform transform2 = val.transform; transform2.localScale *= 15f; val.transform.LookAt(guttertank_Rage_Landmine.Enraged.eid.target.position); } if ((Object)(object)val != (Object)null) { val = Object.Instantiate(MonoSingleton.Instance.unparryableFlash, guttertank_Rage_Landmine.Enraged.eid.target.position + Vector3.right * 5f, Quaternion.identity); Transform transform3 = val.transform; transform3.localScale *= 15f; val.transform.LookAt(guttertank_Rage_Landmine.Enraged.eid.target.position); } if ((Object)(object)val != (Object)null) { val = Object.Instantiate(MonoSingleton.Instance.unparryableFlash, guttertank_Rage_Landmine.Enraged.eid.target.position + Vector3.left * 5f, Quaternion.identity); Transform transform4 = val.transform; transform4.localScale *= 15f; val.transform.LookAt(guttertank_Rage_Landmine.Enraged.eid.target.position); } if ((Object)(object)val != (Object)null) { val = Object.Instantiate(MonoSingleton.Instance.unparryableFlash, guttertank_Rage_Landmine.Enraged.eid.target.position + Vector3.forward * 5f, Quaternion.identity); Transform transform5 = val.transform; transform5.localScale *= 15f; val.transform.LookAt(guttertank_Rage_Landmine.Enraged.eid.target.position); } if ((Object)(object)val != (Object)null) { val = Object.Instantiate(MonoSingleton.Instance.unparryableFlash, guttertank_Rage_Landmine.Enraged.eid.target.position + Vector3.back * 5f, Quaternion.identity); Transform transform6 = val.transform; transform6.localScale *= 15f; val.transform.LookAt(guttertank_Rage_Landmine.Enraged.eid.target.position); } <>2__current = (object)new WaitForSeconds(0.23f); <>1__state = 1; return true; } case 1: <>1__state = -1; 5__2 = MonoSingleton.Instance; 5__3 = false; if (guttertank_Rage_Landmine.Enraged.eid.target.isPlayer && ((Component)5__2).gameObject.layer == 15) { 5__3 = true; } <>2__current = (object)new WaitForSeconds(0.06f); <>1__state = 2; return true; case 2: <>1__state = -1; if (guttertank_Rage_Landmine.Enraged.eid.target.isPlayer && ((Component)5__2).gameObject.layer == 15) { 5__3 = true; } <>2__current = (object)new WaitForSeconds(0.06f); <>1__state = 3; return true; case 3: <>1__state = -1; if (guttertank_Rage_Landmine.Enraged.eid.target.isPlayer && ((Component)5__2).gameObject.layer == 15) { 5__3 = true; } Object.Instantiate(MonoSingleton.Instance.zapImpactParticle, guttertank_Rage_Landmine.Enraged.eid.target.position, Quaternion.identity); if (guttertank_Rage_Landmine.Enraged.eid.target.isPlayer && !5__3) { int num2 = 25; if (5__2.hp > num2) { 5__2.GetHurt(num2, true, 1f, false, false, 1f, false); } else { 5__2.GetHurt(5__2.hp - 1, true, 1f, false, false, 1f, false); } NewMovement obj = 5__2; obj.boostCharge *= 0.25f; WeaponCharges instance = MonoSingleton.Instance; instance.raicharge *= 0.25f; } 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 Landmine landmine; public UltraEnrage_Enemy Enraged; public float ExplodeTimer = 1f; public void Start() { //IL_0007: Unknown result type (might be due to invalid IL or missing references) Enraged = UltraEnrage_Enemy.FindNearest(((Component)this).transform.position, (EnemyType)34); if ((Object)(object)Enraged != (Object)null) { landmine = ((Component)this).GetComponent(); } else { Object.Destroy((Object)(object)this); } } public void FixedUpdate() { //IL_0061: Unknown result type (might be due to invalid IL or missing references) //IL_006c: Unknown result type (might be due to invalid IL or missing references) //IL_0071: Unknown result type (might be due to invalid IL or missing references) //IL_0076: Unknown result type (might be due to invalid IL or missing references) if (Object.op_Implicit((Object)(object)landmine) && Object.op_Implicit((Object)(object)Enraged) && Object.op_Implicit((Object)(object)Enraged.eid) && Enraged.eid.target != null) { ExplodeTimer += Time.fixedDeltaTime; Vector3 val = Enraged.eid.target.position - ((Component)this).transform.position; if (ExplodeTimer > 1f && ((Vector3)(ref val)).magnitude < 3.5f) { ExplodeTimer = 0f; ((MonoBehaviour)this).StartCoroutine(EMP_Services()); } } } [IteratorStateMachine(typeof(d__5))] public IEnumerator EMP_Services() { //yield-return decompiler failed: Unexpected instruction in Iterator.Dispose() return new d__5(0) { <>4__this = this }; } } public class Centaur_Rage_Proj : MonoBehaviour { public Projectile Proj; public void OnEnable() { //IL_0006: Unknown result type (might be due to invalid IL or missing references) //IL_004f: Unknown result type (might be due to invalid IL or missing references) //IL_0054: 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_0080: Unknown result type (might be due to invalid IL or missing references) UltraEnrage_Enemy ultraEnrage_Enemy = UltraEnrage_Enemy.FindNearest(((Component)this).transform.position, (EnemyType)35, 20f); if ((Object)(object)ultraEnrage_Enemy != (Object)null) { Proj = ((Component)this).GetComponent(); Eye_Rage_Shoot eye_Rage_Shoot = ((Component)Proj).gameObject.AddComponent(); eye_Rage_Shoot.eid = ultraEnrage_Enemy.eid; eye_Rage_Shoot.safeEnemyType = ultraEnrage_Enemy.eid.enemyType; Eye_Rage_Shoot eye_Rage_Shoot2 = ((Component)Proj).gameObject.AddComponent(); eye_Rage_Shoot2.eid = ultraEnrage_Enemy.eid; eye_Rage_Shoot2.safeEnemyType = ultraEnrage_Enemy.eid.enemyType; } } } public class MalFace_Rage_Proj : MonoBehaviour { public UltraEnrage_Enemy Enraged; public Projectile Proj; public void Start() { //IL_0020: Unknown result type (might be due to invalid IL or missing references) Proj = ((Component)this).GetComponent(); if (Object.op_Implicit((Object)(object)Proj)) { Enraged = UltraEnrage_Enemy.FindNearest(((Component)this).transform.position, (EnemyType)4, 5f); } if (Object.op_Implicit((Object)(object)Proj) && (Object)(object)Enraged != (Object)null) { Projectile proj = Proj; proj.speed *= Random.Range(1f, 2f); if (Enraged.eid.target == null) { return; } Main_Utils.Invoke_NextFrame(delegate { //IL_0014: Unknown result type (might be due to invalid IL or missing references) //IL_005c: Unknown result type (might be due to invalid IL or missing references) //IL_0076: 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_0080: Unknown result type (might be due to invalid IL or missing references) //IL_0085: Unknown result type (might be due to invalid IL or missing references) //IL_0091: Unknown result type (might be due to invalid IL or missing references) //IL_0096: 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_00a7: Unknown result type (might be due to invalid IL or missing references) //IL_00b1: Unknown result type (might be due to invalid IL or missing references) //IL_00b6: 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_00d2: Unknown result type (might be due to invalid IL or missing references) //IL_00dc: Unknown result type (might be due to invalid IL or missing references) float prediction = Main_Utils.PredictTimeOld(((Component)this).transform.position, Proj.speed, Enraged.eid.target); Vector3 pos = Main_Utils.PredictTargetPosition(Main_Utils.GetITarget(Enraged.eid.target), prediction) + Enraged.eid.target.trackedTransform.TransformDirection(Vector3.up); Quaternion ogRot = ((Component)this).transform.rotation; ((Component)this).transform.LookAt(pos + Random.insideUnitSphere * 4f); ((Component)this).transform.rotation = Quaternion.Lerp(ogRot, ((Component)this).transform.rotation, 0.15f); Main_Utils.Invoke_WithDelay(prediction * 0.5f + Random.Range(0.05f, 0.1f), delegate { //IL_007f: Unknown result type (might be due to invalid IL or missing references) //IL_00d6: 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_00fa: Unknown result type (might be due to invalid IL or missing references) //IL_00ff: Unknown result type (might be due to invalid IL or missing references) //IL_0104: Unknown result type (might be due to invalid IL or missing references) //IL_0115: Unknown result type (might be due to invalid IL or missing references) //IL_011a: Unknown result type (might be due to invalid IL or missing references) //IL_012b: Unknown result type (might be due to invalid IL or missing references) //IL_0130: Unknown result type (might be due to invalid IL or missing references) //IL_013a: Unknown result type (might be due to invalid IL or missing references) //IL_013f: Unknown result type (might be due to invalid IL or missing references) //IL_0155: Unknown result type (might be due to invalid IL or missing references) //IL_0165: Unknown result type (might be due to invalid IL or missing references) //IL_016f: Unknown result type (might be due to invalid IL or missing references) if (Object.op_Implicit((Object)(object)Proj) && !Proj.parried && Object.op_Implicit((Object)(object)Enraged) && Object.op_Implicit((Object)(object)Enraged.eid) && Enraged.eid.target != null) { prediction = Main_Utils.PredictTimeOld(((Component)this).transform.position, Proj.speed, Enraged.eid.target); pos = Main_Utils.PredictTargetPosition(Main_Utils.GetITarget(Enraged.eid.target), prediction) + Enraged.eid.target.trackedTransform.TransformDirection(Vector3.up); ogRot = ((Component)this).transform.rotation; ((Component)this).transform.LookAt(pos + Random.insideUnitSphere * 4f); ((Component)this).transform.rotation = Quaternion.Lerp(ogRot, ((Component)this).transform.rotation, 0.15f); } }); }); } else { Object.Destroy((Object)(object)this); } } } public class MalFace_Rage_Beam : MonoBehaviour { public void Start() { //IL_000d: Unknown result type (might be due to invalid IL or missing references) //IL_0063: Unknown result type (might be due to invalid IL or missing references) //IL_0079: Unknown result type (might be due to invalid IL or missing references) //IL_0084: Unknown result type (might be due to invalid IL or missing references) //IL_0091: Unknown result type (might be due to invalid IL or missing references) //IL_00c6: Unknown result type (might be due to invalid IL or missing references) //IL_00cb: Unknown result type (might be due to invalid IL or missing references) //IL_00d0: Unknown result type (might be due to invalid IL or missing references) //IL_00d5: Unknown result type (might be due to invalid IL or missing references) //IL_016a: Unknown result type (might be due to invalid IL or missing references) //IL_0195: Unknown result type (might be due to invalid IL or missing references) //IL_01f7: Unknown result type (might be due to invalid IL or missing references) //IL_01fc: Unknown result type (might be due to invalid IL or missing references) //IL_0206: Unknown result type (might be due to invalid IL or missing references) //IL_020b: Unknown result type (might be due to invalid IL or missing references) //IL_0221: Unknown result type (might be due to invalid IL or missing references) //IL_0231: Unknown result type (might be due to invalid IL or missing references) //IL_023b: Unknown result type (might be due to invalid IL or missing references) //IL_0240: Unknown result type (might be due to invalid IL or missing references) UltraEnrage_Enemy enraged = UltraEnrage_Enemy.FindNearest(((Component)this).transform.position, (EnemyType)4, 5f); if ((Object)(object)enraged != (Object)null && Object.op_Implicit((Object)(object)enraged.eid) && enraged.eid.target != null) { Main_Utils.Make_Colored(((Component)this).transform, Color.red, keep_a: true, 0.1f); RaycastHit val = default(RaycastHit); if (!Physics.Raycast(((Component)this).transform.position, ((Component)this).transform.forward, ref val, float.PositiveInfinity, LayerMask.op_Implicit(LayerMaskDefaults.Get((LMD)1)))) { return; } Stray_Rage_Proj stray_Rage_Proj = default(Stray_Rage_Proj); for (int i = 0; i < 8; i++) { Projectile currentProjectile = Object.Instantiate(Fento_Assets.Projectile_Red.gameObject, ((RaycastHit)(ref val)).point + Random.insideUnitSphere, Quaternion.identity).GetComponent(); ((Component)currentProjectile).transform.DissableColliders(((RaycastHit)(ref val)).transform); Main_Utils.Setup_GoreZone_Obj(((Component)currentProjectile).gameObject, enraged.eid); if (((Component)currentProjectile).TryGetComponent(ref stray_Rage_Proj)) { Object.Destroy((Object)(object)stray_Rage_Proj); } currentProjectile.ignoreExplosions = true; currentProjectile.SetProjTarget(enraged.eid.target); currentProjectile.safeEnemyType = (EnemyType)4; currentProjectile.speed = Random.Range(30f, 55f); float predictTime = Main_Utils.PredictTimeOld(((Component)currentProjectile).transform.position, currentProjectile.speed, enraged.eid.target) * Random.value; ((Component)currentProjectile).transform.LookAt(Main_Utils.PredictTargetPosition(Main_Utils.GetITarget(enraged.eid.target), predictTime) + Random.insideUnitSphere * 12f); Transform transform = ((Component)currentProjectile).transform; transform.position += ((Component)currentProjectile).transform.forward * 1f; if (!(Random.value < 0.5f)) { continue; } Main_Utils.Invoke_WithDelay(predictTime * Random.value, delegate { //IL_006b: Unknown result type (might be due to invalid IL or missing references) //IL_0070: Unknown result type (might be due to invalid IL or missing references) //IL_007a: Unknown result type (might be due to invalid IL or missing references) //IL_007f: Unknown result type (might be due to invalid IL or missing references) if ((Object)(object)currentProjectile != (Object)null && (Object)(object)enraged.eid != (Object)null && enraged.eid.target != null) { ((Component)currentProjectile).transform.LookAt(Main_Utils.PredictTargetPosition(enraged.eid.target, predictTime * Random.value) + Random.insideUnitSphere * 6f); } }); } } else { Object.Destroy((Object)(object)this); } } } public class Cerb_Rage_Proj : MonoBehaviour { public Projectile Proj; public UltraEnrage_Enemy Enraged; public void Start() { //IL_0014: Unknown result type (might be due to invalid IL or missing references) //IL_0082: Unknown result type (might be due to invalid IL or missing references) //IL_008e: Unknown result type (might be due to invalid IL or missing references) //IL_014b: Unknown result type (might be due to invalid IL or missing references) //IL_0178: Unknown result type (might be due to invalid IL or missing references) //IL_0190: Unknown result type (might be due to invalid IL or missing references) //IL_01a5: Unknown result type (might be due to invalid IL or missing references) //IL_01aa: Unknown result type (might be due to invalid IL or missing references) //IL_01af: Unknown result type (might be due to invalid IL or missing references) Enraged = UltraEnrage_Enemy.FindNearest(((Component)this).transform.position, (EnemyType)0); Proj = ((Component)this).GetComponent(); if ((Object)(object)Enraged != (Object)null && Object.op_Implicit((Object)(object)Proj) && Enraged.eid.target != null) { Proj.predictiveHomingMultiplier = 0f; Proj.homingType = (HomingType)1; Proj.safeEnemyType = (EnemyType)0; Projectile proj = Proj; proj.damage *= 1.45f; Proj.enemyDamageMultiplier = 0f; Proj.bigExplosion = true; int @int = MonoSingleton.Instance.GetInt("difficulty", 0); if (@int > 2) { Proj.speed = 200f; } else if (@int == 2) { Proj.speed = 150f; } else { Proj.speed = 100f; } Proj.maxSpeed = Proj.speed; Main_Utils.GetTargetPosition(Enraged.eid.target, out var pos); float time = Main_Utils.PredictTimeOld(((Component)this).transform.position, Proj.speed, Enraged.eid.target); ((Component)this).transform.LookAt(pos + (Main_Utils.PredictTargetPosition(Enraged.eid.target, time, includeGravity: true) - Enraged.eid.target.position)); Main_Utils.Invoke_WithDelay(time, delegate { //IL_0072: Unknown result type (might be due to invalid IL or missing references) if ((Object)(object)this != (Object)null && (Object)(object)Proj != (Object)null && !Proj.parried && Object.op_Implicit((Object)(object)Enraged)) { Main_Utils.GetTargetPosition(Enraged.eid.target, out pos); ((Component)this).transform.LookAt(pos); } }); } else { Object.Destroy((Object)(object)this); } } public void OnDisable() { //IL_001e: 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) if (Object.op_Implicit((Object)(object)Enraged)) { Explosion[] componentsInChildren = Object.Instantiate(Fento_Assets.ExplosionSuper.gameObject, ((Component)this).transform.position, ((Component)this).transform.rotation).GetComponentsInChildren(); foreach (Explosion obj in componentsInChildren) { obj.enemy = true; obj.toIgnore.Add((EnemyType)0); obj.damage = (int)(25f * Enraged.eid.totalDamageModifier); obj.enemyDamageMultiplier = 0f; } } } } public class Mass_Rage_Proj : MonoBehaviour { public Projectile Proj; public void Start() { //IL_0006: Unknown result type (might be due to invalid IL or missing references) //IL_0026: Unknown result type (might be due to invalid IL or missing references) UltraEnrage_Enemy ultraEnrage_Enemy = UltraEnrage_Enemy.FindNearest(((Component)this).transform.position, (EnemyType)2); if ((Object)(object)ultraEnrage_Enemy == (Object)null) { ultraEnrage_Enemy = UltraEnrage_Enemy.FindNearest(((Component)this).transform.position, (EnemyType)35); } if (!((Object)(object)ultraEnrage_Enemy != (Object)null)) { return; } Proj = ((Component)this).GetComponent(); Main_Utils.Invoke_WithDelay(Random.Range(0.25f, 1.25f), delegate { //IL_0069: Unknown result type (might be due to invalid IL or missing references) if ((Object)(object)this != (Object)null && (Object)(object)Proj != (Object)null && !Proj.parried) { Projectile proj = Proj; proj.enemyDamageMultiplier *= 0.5f; Projectile proj2 = Proj; proj2.turningSpeedMultiplier *= Random.Range(0.75f, 0.85f); Proj.homingType = (HomingType)1; Projectile proj3 = Proj; proj3.speed += Random.Range(30f, 35f); Proj.maxSpeed = Proj.speed; } }); } } public class Mass_Rage_Spear_Proj : MonoBehaviour { public Rigidbody Rigidbody; public V2_Boss_Buff.V2_PullHook Hook; public void Start() { //IL_0006: Unknown result type (might be due to invalid IL or missing references) UltraEnrage_Enemy ultraEnrage_Enemy = UltraEnrage_Enemy.FindNearest(((Component)this).transform.position, (EnemyType)2, 25f); if ((Object)(object)ultraEnrage_Enemy != (Object)null) { Hook = GameObjectExtensions.GetOrAddComponent(((Component)this).gameObject); Hook.eid = ultraEnrage_Enemy.eid; } else { Object.Destroy((Object)(object)this); } } } public class Manneq_Rage_Proj : MonoBehaviour { public Projectile Proj; public void Start() { //IL_0006: Unknown result type (might be due to invalid IL or missing references) //IL_0076: Unknown result type (might be due to invalid IL or missing references) //IL_00d2: Unknown result type (might be due to invalid IL or missing references) //IL_00d7: 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_00b7: Unknown result type (might be due to invalid IL or missing references) //IL_014f: Unknown result type (might be due to invalid IL or missing references) //IL_015e: Unknown result type (might be due to invalid IL or missing references) //IL_0163: 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_0173: Unknown result type (might be due to invalid IL or missing references) //IL_017f: Unknown result type (might be due to invalid IL or missing references) UltraEnrage_Enemy ultraEnrage_Enemy = UltraEnrage_Enemy.FindNearest(((Component)this).transform.position, (EnemyType)31); if ((Object)(object)ultraEnrage_Enemy != (Object)null && (Object)(object)ultraEnrage_Enemy.eid != (Object)null) { Proj = ((Component)this).GetComponent(); Proj.canHitCoin = true; Projectile proj = Proj; proj.speed += Random.Range(5f, 8f); Proj.safeEnemyType = (EnemyType)31; Proj.maxSpeed = Proj.speed; if (ultraEnrage_Enemy.eid.target != null) { Main_Utils.GetTargetPosition(ultraEnrage_Enemy.eid.target, out var targetPosition); ((Component)this).transform.LookAt(targetPosition); } ContinuousBeam component = Object.Instantiate(Fento_Assets.ProjectileBeam.gameObject, ((Component)Proj).transform.position, Quaternion.identity, ((Component)Proj).transform).GetComponent(); component.endPoint = ((Component)ultraEnrage_Enemy.eid).transform; component.canHitEnemy = false; Main_Utils.Make_Colored(((Component)component).transform, Color.green); Collider val = default(Collider); if (((Component)ultraEnrage_Enemy.eid).TryGetComponent(ref val)) { Transform val2 = ((Component)ultraEnrage_Enemy).transform.Find("Beam Offset Mannequin"); if (!Object.op_Implicit((Object)(object)val2)) { val2 = new GameObject("Beam Offset Mannequin").transform; Transform obj = val2; Bounds bounds = val.bounds; obj.localPosition = ((Bounds)(ref bounds)).center; val2.localRotation = Quaternion.identity; val2.localScale = Vector3.one; val2.SetParent(((Component)ultraEnrage_Enemy).transform, true); } component.endPoint = val2; } } else { Object.Destroy((Object)(object)this); } } } public class Virtue_Rage_Insignia : MonoBehaviour { public VirtueInsignia Insign; public Obj_Rotate_To_Player Obj_Rotate_To_Player; public Quaternion rotation; public float SpeedMult = 1f; public void Start() { //IL_006d: Unknown result type (might be due to invalid IL or missing references) //IL_0077: Unknown result type (might be due to invalid IL or missing references) //IL_0103: Unknown result type (might be due to invalid IL or missing references) //IL_0112: Unknown result type (might be due to invalid IL or missing references) //IL_0117: Unknown result type (might be due to invalid IL or missing references) //IL_011c: Unknown result type (might be due to invalid IL or missing references) //IL_0128: Unknown result type (might be due to invalid IL or missing references) Insign = ((Component)this).GetComponent(); if ((Object)(object)Insign != (Object)null && (Object)(object)Insign.parentEnemy != (Object)null && !Object.op_Implicit((Object)(object)((Component)Insign.parentEnemy).GetComponent()) && Object.op_Implicit((Object)(object)((Component)Insign.parentEnemy).GetComponent())) { Main_Utils.Make_Colored(((Component)this).transform, Color.red * 0.5f, keep_a: false, 0.1f); float num = 1.1f; EnemyIdentifier val = default(EnemyIdentifier); if (((Component)Insign.parentEnemy).TryGetComponent(ref val) && Object.op_Implicit((Object)(object)val) && Object.op_Implicit((Object)(object)val.drone) && val.drone.isEnraged) { num *= -1.3f; } Obj_Rotate_To_Player = GameObjectExtensions.GetOrAddComponent(((Component)this).gameObject); Obj_Rotate_To_Player.RotationSpeed *= 0.5f * SpeedMult * num; rotation = Quaternion.FromToRotation(((Component)this).transform.up, MonoSingleton.Instance.rb.velocity); ((Component)this).transform.rotation = rotation; } else { Object.Destroy((Object)(object)this); } } public void LateUpdate() { //IL_0034: Unknown result type (might be due to invalid IL or missing references) //IL_0044: Unknown result type (might be due to invalid IL or missing references) //IL_0061: Unknown result type (might be due to invalid IL or missing references) //IL_0066: Unknown result type (might be due to invalid IL or missing references) if ((Object)(object)Obj_Rotate_To_Player != (Object)null) { if (Object.op_Implicit((Object)(object)Insign) && Insign.activationTime != 1f) { ((Component)this).transform.rotation = rotation; ((Component)this).transform.Rotate(Vector3.up, Time.deltaTime * 720f, (Space)1); rotation = ((Component)this).transform.rotation; } else { Object.Destroy((Object)(object)this); } } } } public class UltraEnrage_Enemy : MonoBehaviour { public static readonly Dictionary Dictionary = new Dictionary(); public Enemy enemy; public EnemyIdentifier eid; public float SandTimer; public float PuppetTimer; public float SymbioteTimer; public float MaxHealth = 10f; public void Start() { if ((Object)(object)enemy == (Object)null) { enemy = ((Component)this).GetComponent(); } if ((Object)(object)eid == (Object)null) { eid = ((Component)this).GetComponent(); } SandTimer = Random.value; PuppetTimer = Random.value; SymbioteTimer = Random.value; if (Object.op_Implicit((Object)(object)enemy)) { MaxHealth = enemy.originalHealth; } } public void OnEnable() { if (!Dictionary.ContainsValue(this)) { Dictionary.Add(((Component)this).transform, this); } } public void OnDisable() { if (Dictionary.ContainsValue(this)) { Dictionary.Remove(((Component)this).transform); } } public void FixedUpdate() { //IL_007c: Unknown result type (might be due to invalid IL or missing references) //IL_0081: Unknown result type (might be due to invalid IL or missing references) //IL_0086: Unknown result type (might be due to invalid IL or missing references) //IL_0091: Unknown result type (might be due to invalid IL or missing references) //IL_0156: Unknown result type (might be due to invalid IL or missing references) //IL_015b: Unknown result type (might be due to invalid IL or missing references) //IL_0160: Unknown result type (might be due to invalid IL or missing references) //IL_0165: Unknown result type (might be due to invalid IL or missing references) //IL_016a: Unknown result type (might be due to invalid IL or missing references) //IL_016f: Unknown result type (might be due to invalid IL or missing references) //IL_01ab: Unknown result type (might be due to invalid IL or missing references) //IL_01bc: Unknown result type (might be due to invalid IL or missing references) //IL_01c1: Unknown result type (might be due to invalid IL or missing references) //IL_021e: Unknown result type (might be due to invalid IL or missing references) //IL_0261: Unknown result type (might be due to invalid IL or missing references) if (!Object.op_Implicit((Object)(object)eid) || eid.dead || eid.target == null) { return; } if (eid.sandified) { SandTimer += Time.fixedDeltaTime; if (SandTimer > 4.2f) { SandTimer = Random.value; Object.Instantiate(Fento_Assets.ExplosionSand.gameObject, ((Component)this).transform.position + Vector3.up, ((Component)this).transform.rotation); } } if (eid.puppet) { PuppetTimer += Time.fixedDeltaTime; if (PuppetTimer > 0.8f) { PuppetTimer = Random.value * 0.1f; if (eid.GetRealHealth() < MaxHealth || eid.GetRealHealth() < enemy.originalHealth) { eid.Set_Health(Mathf.Lerp(eid.GetRealHealth(), enemy.originalHealth, 0.03f)); } if (eid.isBoss) { Projectile currentProjectile = Object.Instantiate(Fento_Assets.Projectile_Red.gameObject, ((Component)this).transform.position + Vector3.up + Random.insideUnitSphere, Quaternion.identity).GetComponent(); Stray_Rage_Proj stray_Rage_Proj = default(Stray_Rage_Proj); if (((Component)currentProjectile).TryGetComponent(ref stray_Rage_Proj)) { Object.Destroy((Object)(object)stray_Rage_Proj); } currentProjectile.ignoreExplosions = true; currentProjectile.homingType = (HomingType)0; currentProjectile.safeEnemyType = eid.enemyType; currentProjectile.SetProjTarget(eid.target); currentProjectile.speed = Random.Range(65f, 100f) * 0.65f; Main_Utils.Setup_GoreZone_Obj(((Component)currentProjectile).gameObject, eid); float predict = Main_Utils.PredictTimeOld(((Component)currentProjectile).transform.position, currentProjectile.speed, eid.target); ((Component)currentProjectile).transform.LookAt(Main_Utils.PredictTargetPosition(eid.target, predict)); Main_Utils.Invoke_WithDelay(predict * 0.5f, delegate { //IL_0040: Unknown result type (might be due to invalid IL or missing references) //IL_008d: Unknown result type (might be due to invalid IL or missing references) if (Object.op_Implicit((Object)(object)currentProjectile) && Object.op_Implicit((Object)(object)eid) && eid.target != null) { predict = Main_Utils.PredictTimeOld(((Component)currentProjectile).transform.position, currentProjectile.speed, eid.target); ((Component)currentProjectile).transform.LookAt(Main_Utils.PredictTargetPosition(eid.target, predict)); } }); } } } if (!Object.op_Implicit((Object)(object)enemy) || !Object.op_Implicit((Object)(object)enemy.symbiote)) { return; } SymbioteTimer += Time.fixedDeltaTime; if (SymbioteTimer > 1f) { SymbioteTimer = Random.value * 0.1f; if (eid.GetRealHealth() < MaxHealth || eid.GetRealHealth() < enemy.originalHealth) { eid.Set_Health(Mathf.Lerp(eid.GetRealHealth(), enemy.originalHealth, 0.03f)); } } } public static int CountEnemyByType(EnemyType type) { //IL_0055: Unknown result type (might be due to invalid IL or missing references) //IL_005a: Unknown result type (might be due to invalid IL or missing references) if (Dictionary.Count < 0) { return 0; } int num = 0; foreach (UltraEnrage_Enemy value in Dictionary.Values) { if ((Object)(object)value != (Object)null && (Object)(object)value.eid != (Object)null && !value.eid.dead && value.eid.enemyType == type) { num++; } } return num; } public static UltraEnrage_Enemy FindNearest(Vector3 point, EnemyType type, float distance = 15f) { //IL_0053: Unknown result type (might be due to invalid IL or missing references) //IL_0058: 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) //IL_0062: Unknown result type (might be due to invalid IL or missing references) if (Dictionary.Count < 0) { return null; } foreach (UltraEnrage_Enemy value in Dictionary.Values) { if ((Object)(object)value != (Object)null && (Object)(object)value.eid != (Object)null && !value.eid.dead && value.eid.enemyType == type && Vector3.Distance(point, ((Component)value).transform.position) < distance) { return value; } } return null; } [Obsolete] public static UltraEnrage_Enemy ForseFindNearest(Vector3 point, EnemyType type, float distance = 15f) { //IL_0046: Unknown result type (might be due to invalid IL or missing references) //IL_004b: Unknown result type (might be due to invalid IL or missing references) //IL_004e: Unknown result type (might be due to invalid IL or missing references) //IL_0055: Unknown result type (might be due to invalid IL or missing references) if (Dictionary.Count < 0) { return null; } foreach (UltraEnrage_Enemy value in Dictionary.Values) { if ((Object)(object)value != (Object)null && (Object)(object)value.eid != (Object)null && value.eid.enemyType == type && Vector3.Distance(point, ((Component)value).transform.position) < distance) { return value; } } return null; } } public class Ignore_UltraEnraged : MonoBehaviour { } public class V2_Boss_Buff : MonoBehaviour { public class V2_PullHook : MonoBehaviour { public EnemyIdentifier eid; public NewMovement newMovement; public MassSpear spear; public Rigidbody rb; public byte Counter = 15; public int Counter2; public void Start() { newMovement = MonoSingleton.Instance; spear = ((Component)this).GetComponent(); rb = ((Component)this).GetComponent(); } public void FixedUpdate() { //IL_009c: 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_00b7: Unknown result type (might be due to invalid IL or missing references) //IL_00bc: Unknown result type (might be due to invalid IL or missing references) //IL_00c1: Unknown result type (might be due to invalid IL or missing references) //IL_00c4: Unknown result type (might be due to invalid IL or missing references) //IL_00cf: Unknown result type (might be due to invalid IL or missing references) //IL_00d5: Invalid comparison between Unknown and I4 //IL_00e3: Unknown result type (might be due to invalid IL or missing references) //IL_00ed: Unknown result type (might be due to invalid IL or missing references) Counter2++; if (Counter2 >= 500) { Object.Destroy((Object)(object)((Component)this).gameObject); } if (Object.op_Implicit((Object)(object)eid) && Object.op_Implicit((Object)(object)spear) && spear.hitPlayer && !spear.returning) { Counter++; if (Counter > 15) { Counter = 0; Rigidbody obj = newMovement.rb; Vector3 velocity = newMovement.rb.velocity; Vector3 val = ((Component)eid).transform.position - ((Component)this).transform.position; obj.velocity = Vector3.Lerp(velocity, ((Vector3)(ref val)).normalized * (((int)eid.enemyType != 2) ? 200f : 100f), 0.1f); } } } public void Update() { //IL_0006: Unknown result type (might be due to invalid IL or missing references) //IL_000c: Invalid comparison between Unknown and I4 //IL_0014: Unknown result type (might be due to invalid IL or missing references) //IL_001a: Invalid comparison between Unknown and I4 //IL_0047: Unknown result type (might be due to invalid IL or missing references) //IL_0057: Unknown result type (might be due to invalid IL or missing references) if ((int)eid.enemyType != 2 && (int)eid.enemyType != 6 && !rb.isKinematic && spear.deflected) { eid.DeliverDamage(((Component)eid).gameObject, Vector3.zero, ((Component)eid).transform.position, 10f, false, 0f, (GameObject)null, false, false); Object.Destroy((Object)(object)((Component)this).gameObject); } } } public class V2_Explode_Fix : MonoBehaviour { public static HashSet ActiveList = new HashSet(); public Grenade grenade; public void Awake() { //IL_0072: Unknown result type (might be due to invalid IL or missing references) //IL_01ba: Unknown result type (might be due to invalid IL or missing references) //IL_018d: Unknown result type (might be due to invalid IL or missing references) //IL_0197: Unknown result type (might be due to invalid IL or missing references) //IL_00c4: Unknown result type (might be due to invalid IL or missing references) //IL_00c9: Unknown result type (might be due to invalid IL or missing references) //IL_00ce: Unknown result type (might be due to invalid IL or missing references) //IL_00d0: Unknown result type (might be due to invalid IL or missing references) //IL_00d5: 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_010b: Unknown result type (might be due to invalid IL or missing references) //IL_011c: Unknown result type (might be due to invalid IL or missing references) //IL_0122: Unknown result type (might be due to invalid IL or missing references) //IL_012d: Unknown result type (might be due to invalid IL or missing references) //IL_0132: Unknown result type (might be due to invalid IL or missing references) //IL_0137: Unknown result type (might be due to invalid IL or missing references) //IL_013b: Unknown result type (might be due to invalid IL or missing references) //IL_0145: Unknown result type (might be due to invalid IL or missing references) //IL_014a: Unknown result type (might be due to invalid IL or missing references) if (Bosses.Count() == 0) { return; } if (!ActiveList.Contains(this)) { ActiveList.Add(this); } EnemyTarget target = Bosses.OrderBy((KeyValuePair b) => Vector3.Distance(b.Key.position, ((Component)this).transform.position)).FirstOrDefault().Value.eid.target; if (target == null) { return; } ((Component)this).transform.LookAt(Main_Utils.PredictTargetPosition(target, Random.Range(0.05f, 0.1f))); grenade = ((Component)this).gameObject.GetComponent(); if ((Object)(object)grenade != (Object)null) { if (grenade.enemy) { if (grenade.rocket) { Vector2 val = Vector2.op_Implicit(((Component)this).transform.position); Vector2 val2 = Vector2.op_Implicit(target.position); float rocketSpeed = grenade.rocketSpeed; float num = Vector2.Distance(val2, val) / rocketSpeed; ((Component)this).transform.LookAt(Main_Utils.PredictTargetPosition(target, num + Random.Range(0.5f, 1f))); Transform transform = ((Component)this).transform; Vector3 position = transform.position; Vector3 val3 = target.position - ((Component)this).transform.position; transform.position = position + ((Vector3)(ref val3)).normalized * 1.5f; } else { grenade.explosion = grenade.superExplosion; grenade.harmlessExplosion = grenade.superExplosion; Rigidbody rb = grenade.rb; rb.velocity *= 1.5f; } } } else { ((Component)this).transform.LookAt(Main_Utils.PredictTargetPosition(target, Random.Range(0.05f, 0.1f))); } } public void Start() { if (Bosses.Count() != 0) { grenade = ((Component)this).gameObject.GetComponent(); if ((Object)(object)grenade != (Object)null && grenade.enemy && grenade.ignoreEnemyType != null && !grenade.ignoreEnemyType.Contains((EnemyType)8)) { grenade.ignoreEnemyType.Add((EnemyType)8); grenade.ignoreEnemyType.Add((EnemyType)22); } } } public void FixedUpdate() { if ((Object)(object)grenade != (Object)null && grenade.enemy && grenade.ignoreEnemyType != null && !grenade.ignoreEnemyType.Contains((EnemyType)8)) { grenade.ignoreEnemyType.Add((EnemyType)8); grenade.ignoreEnemyType.Add((EnemyType)22); } } public void OnDisable() { if (ActiveList.Contains(this)) { ActiveList.Remove(this); } } } public class V2_Homing_Projectile : MonoBehaviour { public void Awake() { //IL_0020: Unknown result type (might be due to invalid IL or missing references) //IL_0185: Unknown result type (might be due to invalid IL or missing references) //IL_011c: Unknown result type (might be due to invalid IL or missing references) //IL_0121: Unknown result type (might be due to invalid IL or missing references) //IL_0126: Unknown result type (might be due to invalid IL or missing references) //IL_0129: Unknown result type (might be due to invalid IL or missing references) //IL_012e: Unknown result type (might be due to invalid IL or missing references) //IL_013b: Unknown result type (might be due to invalid IL or missing references) //IL_00f0: Unknown result type (might be due to invalid IL or missing references) //IL_00fa: Unknown result type (might be due to invalid IL or missing references) //IL_0178: Unknown result type (might be due to invalid IL or missing references) Projectile val = default(Projectile); if (Bosses.Count() == 0 || !((Component)this).gameObject.TryGetComponent(ref val) || (int)val.homingType != 0) { return; } V2_Boss_Buff value = Bosses.OrderBy((KeyValuePair b) => Vector3.Distance(b.Key.position, ((Component)this).transform.position)).FirstOrDefault().Value; EnemyTarget target = value.eid.target; if (val.damage <= 10f) { Projectile obj = val; obj.damage += 1f; if (target != null && !value.A_V2.secondEncounter && !value.A_V2.shootingForCoin) { bool flag = false; if (Random.value < (value.Half_Damaged ? 0.02f : 0.01f)) { flag = true; } else if (value.ExtraCoins_Charge > 0.99f) { value.ExtraCoins_Charge = Random.value * 0.25f; flag = true; } if (flag) { Main_Utils.Make_Colored(((Component)this).transform, Color.red * 3f); GameObjectExtensions.GetOrAddComponent(((Component)this).gameObject); } Vector2 val2 = Vector2.op_Implicit(((Component)this).transform.position); Vector2 val3 = Vector2.op_Implicit(target.position); float speed = val.speed; float num = Vector2.Distance(val3, val2) / speed; if (flag) { num += 0.2f + Random.value * 0.3f; } ((Component)this).transform.LookAt(Main_Utils.PredictTargetPosition(target, num + Random.value * 0.01f)); } } else { val.homingType = (HomingType)1; val.predictiveHomingMultiplier = 0f; Projectile obj2 = val; obj2.turningSpeedMultiplier *= 0.35f; } } } public class V2_SharpShooter : MonoBehaviour { public void OnDisable() { //IL_004e: Unknown result type (might be due to invalid IL or missing references) //IL_0059: Unknown result type (might be due to invalid IL or missing references) //IL_0063: Unknown result type (might be due to invalid IL or missing references) //IL_0068: Unknown result type (might be due to invalid IL or missing references) //IL_0073: Unknown result type (might be due to invalid IL or missing references) //IL_00a8: Unknown result type (might be due to invalid IL or missing references) //IL_00b7: Unknown result type (might be due to invalid IL or missing references) //IL_00c8: Unknown result type (might be due to invalid IL or missing references) //IL_00d2: Unknown result type (might be due to invalid IL or missing references) if (Bosses.Count < 0) { return; } V2_Boss_Buff value = Bosses.OrderBy((KeyValuePair b) => Vector3.Distance(b.Key.position, ((Component)this).transform.position)).FirstOrDefault().Value; if ((Object)(object)value == (Object)null) { return; } GameObject val = Object.Instantiate(value.A_V2.coin, ((Component)this).transform.position - ((Component)this).transform.forward * 2f, ((Component)this).transform.rotation); Rigidbody val2 = default(Rigidbody); if (val.TryGetComponent(ref val2)) { val2.isKinematic = true; } Coin val3 = default(Coin); if (val.TryGetComponent(ref val3)) { GameObject obj = Object.Instantiate(val3.flash, ((Component)val3).transform.position, ((Component)MonoSingleton.Instance).transform.rotation); Transform transform = obj.transform; transform.localScale *= 2f; obj.transform.SetParent(val.transform, true); Coin obj2 = val3; obj2.power += 1f; val3.shot = false; val3.customTarget = ((value.eid.target != null) ? value.eid.target : EnemyTarget.TrackPlayer()); if (val3.customTarget != null) { val3.DelayedEnemyReflect(); } } } } public class V2_Fire_Gasoline : MonoBehaviour { public void OnDestroy() { //IL_000d: Unknown result type (might be due to invalid IL or missing references) //IL_0012: Unknown result type (might be due to invalid IL or missing references) Vector3 pos = ((Component)this).transform.position; Main_Utils.Invoke_WithDelay(Random.Range(0.5f, 2f), delegate { //IL_0006: Unknown result type (might be due to invalid IL or missing references) MonoSingleton.Instance.TryIgniteAt(pos, 3); }); } } public class V2_Homing_Chainsaw : MonoBehaviour { public Nail nail; public Rigidbody rb; public EnemyIdentifier eid; public void Start() { nail = ((Component)this).GetComponent(); rb = ((Component)this).GetComponent(); } public void FixedUpdate() { //IL_004c: Unknown result type (might be due to invalid IL or missing references) //IL_0057: Unknown result type (might be due to invalid IL or missing references) //IL_005c: Unknown result type (might be due to invalid IL or missing references) //IL_0061: Unknown result type (might be due to invalid IL or missing references) //IL_0064: Unknown result type (might be due to invalid IL or missing references) //IL_0069: Unknown result type (might be due to invalid IL or missing references) //IL_0070: Unknown result type (might be due to invalid IL or missing references) //IL_0075: 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) //IL_007d: Unknown result type (might be due to invalid IL or missing references) //IL_0089: Unknown result type (might be due to invalid IL or missing references) //IL_008e: Unknown result type (might be due to invalid IL or missing references) //IL_009b: Unknown result type (might be due to invalid IL or missing references) //IL_00a0: Unknown result type (might be due to invalid IL or missing references) //IL_00a1: Unknown result type (might be due to invalid IL or missing references) //IL_00b7: Unknown result type (might be due to invalid IL or missing references) //IL_00c1: Unknown result type (might be due to invalid IL or missing references) //IL_00dc: Unknown result type (might be due to invalid IL or missing references) //IL_00e1: Unknown result type (might be due to invalid IL or missing references) if ((Object)(object)eid != (Object)null && eid.target != null && Object.op_Implicit((Object)(object)nail) && !nail.punched) { Vector3 val = eid.target.position - ((Component)this).transform.position; Vector3 normalized = ((Vector3)(ref val)).normalized; Vector3 velocity = rb.velocity; Vector3 val2 = Vector3.Lerp(((Vector3)(ref velocity)).normalized, normalized, Time.fixedDeltaTime * 5.5f); ((Component)this).transform.LookAt(((Component)this).transform.position + val2); rb.velocity = ((Component)this).transform.forward * 90f; nail.originalVelocity = nail.rb.velocity; } } } public class V2_Zapper_Magnet : MonoBehaviour { public int Counter; public void FixedUpdate() { //IL_0029: Unknown result type (might be due to invalid IL or missing references) Counter++; if ((float)Counter > 60f) { Counter = 0; Zap(((Component)this).transform.position, 2f, 25f, null, (EnemyType)8); } } } [CompilerGenerated] private sealed class d__46 : IEnumerator, IDisposable, IEnumerator { private int <>1__state; private object <>2__current; public V2_Boss_Buff <>4__this; private EnemyTarget 5__2; object IEnumerator.Current { [DebuggerHidden] get { return <>2__current; } } object IEnumerator.Current { [DebuggerHidden] get { return <>2__current; } } [DebuggerHidden] public d__46(int <>1__state) { this.<>1__state = <>1__state; } [DebuggerHidden] void IDisposable.Dispose() { 5__2 = null; <>1__state = -2; } private bool MoveNext() { //IL_0033: Unknown result type (might be due to invalid IL or missing references) //IL_003d: Expected O, but got Unknown //IL_030d: Unknown result type (might be due to invalid IL or missing references) //IL_0318: Unknown result type (might be due to invalid IL or missing references) //IL_031d: Unknown result type (might be due to invalid IL or missing references) //IL_0327: Unknown result type (might be due to invalid IL or missing references) //IL_032c: Unknown result type (might be due to invalid IL or missing references) //IL_0331: Unknown result type (might be due to invalid IL or missing references) //IL_0075: 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_02e3: Unknown result type (might be due to invalid IL or missing references) //IL_02ed: Expected O, but got Unknown //IL_0278: Unknown result type (might be due to invalid IL or missing references) //IL_0283: Unknown result type (might be due to invalid IL or missing references) //IL_0288: Unknown result type (might be due to invalid IL or missing references) //IL_028d: Unknown result type (might be due to invalid IL or missing references) //IL_0291: Unknown result type (might be due to invalid IL or missing references) //IL_029b: Unknown result type (might be due to invalid IL or missing references) //IL_02a5: Unknown result type (might be due to invalid IL or missing references) //IL_02b0: Unknown result type (might be due to invalid IL or missing references) //IL_02bb: Unknown result type (might be due to invalid IL or missing references) //IL_02c5: 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_00d1: Unknown result type (might be due to invalid IL or missing references) //IL_0212: Unknown result type (might be due to invalid IL or missing references) //IL_021c: Expected O, but got Unknown //IL_01a7: Unknown result type (might be due to invalid IL or missing references) //IL_01b2: Unknown result type (might be due to invalid IL or missing references) //IL_01b7: Unknown result type (might be due to invalid IL or missing references) //IL_01bc: Unknown result type (might be due to invalid IL or missing references) //IL_01c0: Unknown result type (might be due to invalid IL or missing references) //IL_01ca: Unknown result type (might be due to invalid IL or missing references) //IL_01d4: Unknown result type (might be due to invalid IL or missing references) //IL_01df: Unknown result type (might be due to invalid IL or missing references) //IL_01ea: Unknown result type (might be due to invalid IL or missing references) //IL_01f4: 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) int num = <>1__state; V2_Boss_Buff v2_Boss_Buff = <>4__this; Vector3 val; switch (num) { default: return false; case 0: <>1__state = -1; <>2__current = (object)new WaitForSeconds(0.25f); <>1__state = 1; return true; case 1: { <>1__state = -1; 5__2 = v2_Boss_Buff.eid.target; NewMovement instance = MonoSingleton.Instance; if (5__2 == null || !(Vector3.Distance(((Component)v2_Boss_Buff).transform.position, 5__2.position) < (5__2.isPlayer ? 8f : 16f))) { break; } if ((Object)(object)v2_Boss_Buff.A_V2.dashJumpSound != (Object)null) { AudioSource component = Object.Instantiate(v2_Boss_Buff.A_V2.dashJumpSound, ((Component)v2_Boss_Buff).transform.position, Quaternion.identity).GetComponent(); if ((Object)(object)component != (Object)null) { component.clip = Fento_Assets.Punch_heavy.Object; component.Play(); } } if (5__2.isPlayer && (Object)(object)instance != (Object)null && ((Component)instance).gameObject.layer != 15) { instance.LaunchFromPoint(((Component)v2_Boss_Buff).transform.position, 110f, 10f); instance.GetHurt(35, false, 1f, false, false, 0.35f, false); goto IL_02dd; } if ((Object)(object)5__2.enemyIdentifier != (Object)null) { 5__2.enemyIdentifier.hitter = "punch"; EnemyIdentifier enemyIdentifier2 = 5__2.enemyIdentifier; GameObject gameObject2 = ((Component)5__2.enemyIdentifier).gameObject; val = 5__2.position - ((Component)v2_Boss_Buff).transform.position; enemyIdentifier2.DeliverDamage(gameObject2, ((Vector3)(ref val)).normalized * 25f * 1000f, Vector3.Lerp(((Component)v2_Boss_Buff).transform.position, 5__2.position, 0.7f), 1f, true, 0f, (GameObject)null, false, false); } <>2__current = (object)new WaitForSeconds(0.01f); <>1__state = 2; return true; } case 2: <>1__state = -1; if ((Object)(object)5__2.enemyIdentifier != (Object)null) { 5__2.enemyIdentifier.hitter = "heavypunch"; EnemyIdentifier enemyIdentifier = 5__2.enemyIdentifier; GameObject gameObject = ((Component)5__2.enemyIdentifier).gameObject; val = 5__2.position - ((Component)v2_Boss_Buff).transform.position; enemyIdentifier.DeliverDamage(gameObject, ((Vector3)(ref val)).normalized * 100f * 1000f, Vector3.Lerp(((Component)v2_Boss_Buff).transform.position, 5__2.position, 0.7f), 3f, true, 0f, (GameObject)null, false, false); } goto IL_02dd; case 3: { <>1__state = -1; Object.Instantiate(Fento_Assets.ExplosionHarmless.gameObject, ((Component)v2_Boss_Buff).transform.position + ((Component)v2_Boss_Buff).transform.TransformDirection(Vector3.forward) * 3f, Quaternion.identity); break; } IL_02dd: <>2__current = (object)new WaitForSeconds(0.25f); <>1__state = 3; return true; } 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 float HealMult = 1f; public static float V2NewSpeed = 30f; public static HashSet Dont_Heal = new HashSet(); public static Dictionary Bosses = new Dictionary(); public static V2 B_2_Big_Johninator; public static GameObject B_2_Extra_Weapon; public V2 A_V2; public EnemyIdentifier eid; public Rigidbody rb; public GameObject DisabledObj; public int Player_Last_Hp = 100; public int Extra_Shot_Fire; public int Extra_Shot_Alt_Fire; public bool Extra_Shot_Rocker; public float Arm_Charge; public float Parry_Stamina; public float ExtraManevr_Charge; public float AggressiveDash_Charge; public float AggressiveFly_Charge; public float Solo_Find_Targets_Time; public float Railcannon_Charge; public float Extra_Pain_Shoot; public float Nuke_Charge; public float SpearHook_Charge; public float GroundSlam_Charge; public float ExtraCoins_Charge; public float Saw_Charge; public float ChainSaw_Charge; public float Electro_Charge; public float GreenHarpoon_Charge; public float Gasoline_Charge; public bool Gasoline_Fire; public float Og_Boss_Hp; public bool Setuped; public bool EndRaged; public bool MiddlePerformFunny; public float Health_Procent => 1f - eid.health / Og_Boss_Hp; public bool Half_Damaged => Health_Procent > 0.5f; public void Start() { //IL_0261: Unknown result type (might be due to invalid IL or missing references) //IL_0267: Invalid comparison between Unknown and I4 //IL_026f: Unknown result type (might be due to invalid IL or missing references) //IL_0276: Invalid comparison between Unknown and I4 //IL_02b6: Unknown result type (might be due to invalid IL or missing references) //IL_02c0: Expected O, but got Unknown //IL_02ed: Unknown result type (might be due to invalid IL or missing references) //IL_02f7: Unknown result type (might be due to invalid IL or missing references) //IL_02fc: Unknown result type (might be due to invalid IL or missing references) //IL_0306: Unknown result type (might be due to invalid IL or missing references) //IL_030b: Unknown result type (might be due to invalid IL or missing references) //IL_0320: Unknown result type (might be due to invalid IL or missing references) //IL_0335: Unknown result type (might be due to invalid IL or missing references) //IL_01d7: Unknown result type (might be due to invalid IL or missing references) //IL_01dc: Unknown result type (might be due to invalid IL or missing references) //IL_01e9: Expected O, but got Unknown V2_Explode_Fix.ActiveList.Clear(); Dont_Heal.Clear(); Parry_Stamina = 0f; Extra_Shot_Fire = 0; Extra_Shot_Alt_Fire = 0; AggressiveFly_Charge = Random.value * 0.5f; Railcannon_Charge = Random.value * 0.5f; Extra_Pain_Shoot = Random.value * 0.5f; Nuke_Charge = Random.value * 0.5f; SpearHook_Charge = Random.value * 0.5f; GroundSlam_Charge = Random.value * 0.5f; ExtraCoins_Charge = Random.value * 0.5f; Saw_Charge = Random.value * 0.5f; ChainSaw_Charge = Random.value * 0.5f; Gasoline_Charge = Random.value * 0.5f; Electro_Charge = Random.value * 0.5f; GreenHarpoon_Charge = Random.value * 0.5f; A_V2 = ((Component)this).GetComponent(); eid = ((Component)this).GetComponent(); rb = ((Component)this).GetComponent(); float num = 20f; if (!Fento_Difficulty_Options.Issue_Disable_Radiance) { if (eid.Health < 65f) { num += 20f; } eid.Set_Health(eid.GetRealHealth() + num); Og_Boss_Hp = eid.Health + num; } else { Og_Boss_Hp = eid.Health; } try { BossHealthBar bar = default(BossHealthBar); if (((Component)this).gameObject.TryGetComponent(ref bar)) { if (bar.healthLayers == null || bar.healthLayers.Length == 0) { bar.healthLayers = (HealthLayer[])(object)new HealthLayer[1]; bar.healthLayers[0] = new HealthLayer { health = Og_Boss_Hp }; } else { for (int i = 0; i < bar.healthLayers.Length; i++) { if (bar.healthLayers[i] != null) { bar.healthLayers[i].health = Og_Boss_Hp / (float)bar.healthLayers.Length; } } ((Behaviour)bar).enabled = false; Main_Utils.Invoke_NextFrame(delegate { if (Object.op_Implicit((Object)(object)bar)) { ((Behaviour)bar).enabled = true; } }); } } } catch (Exception) { } if (((int)eid.enemyType == 8 || (int)eid.enemyType == 22) && A_V2.weapons.Length > 1) { Setup_Buffs(); } Main_Utils.Invoke_NextFrame(delegate { if ((Object)(object)eid != (Object)null) { List list = new List(); list.AddRange(eid.weaknesses); list.Add("sawblade"); eid.weaknesses = list.ToArray(); List list2 = new List(); list2.AddRange(eid.weaknessMultipliers); list2.Add(0.5f); eid.weaknessMultipliers = list2.ToArray(); } }); Bosses.Add(((Component)this).transform, this); DisabledObj = new GameObject("DisabledObj"); DisabledObj.SetActive(false); DisabledObj.transform.SetParent(((Component)this).transform); DisabledObj.transform.localPosition = Vector3.forward * 1.5f + Vector3.up * 2.5f; DisabledObj.transform.localScale = Vector3.one; DisabledObj.transform.localRotation = Quaternion.identity; } public void OnDisable() { Bosses.Remove(((Component)this).transform); } public void Setup_Buffs() { //IL_0057: Unknown result type (might be due to invalid IL or missing references) //IL_005c: Unknown result type (might be due to invalid IL or missing references) //IL_0326: Unknown result type (might be due to invalid IL or missing references) //IL_0346: 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) if (Setuped) { return; } Setuped = true; if (!Fento_Difficulty_Options.Issue_Disable_Most_Buffs) { if (Object.op_Implicit((Object)(object)eid) && eid.isBoss) { EnemyIdentifier a_1_idol = Main_Utils.Integrate_Enemy(Main_Utils.DetectebleEnemies.Idol, ((Component)this).transform, active: true, ((Component)this).transform.position, Quaternion.identity); ComponentExtensions.GetOrAddComponent((Component)(object)a_1_idol); GameObjectExtensions.GetOrAddComponent(((Component)this).gameObject).Obj_ToKeep = ((Component)a_1_idol).gameObject; Idol idol = default(Idol); if (((Component)a_1_idol).TryGetComponent(ref idol)) { idol.deathParticle = Fento_Assets.LightningBoltExplosion.gameObject; idol.overrideTarget = eid; } Main_Utils.Invoke_WithDelay(A_V2.secondEncounter ? 3f : 6f, delegate { if ((Object)(object)this != (Object)null && (Object)(object)a_1_idol != (Object)null && (Object)(object)a_1_idol.idol != (Object)null) { idol.Death(); if (Object.op_Implicit((Object)(object)idol) && ((Component)idol).gameObject.activeSelf) { idol.Death(); } } }); } if (!Fento_Difficulty_Options.Issue_Disable_Radiance) { float num = (A_V2.secondEncounter ? 1.2f : 1.15f); eid.radianceTier = Mathf.Max(eid.radianceTier + num, num); EnemyIdentifier obj = eid; obj.healthBuffModifier += 0.35f; eid.BuffAll(); } A_V2.movementSpeed = V2NewSpeed; A_V2.originalMovementSpeed = V2NewSpeed; Main_Utils.Invoke_WithDelay(0.01f, delegate { DoubleRender[] componentsInChildren = ((Component)this).gameObject.GetComponentsInChildren(true); for (int i = 0; i < componentsInChildren.Length; i++) { ((Behaviour)componentsInChildren[i]).enabled = false; } }); if ((Object)(object)eid != (Object)null) { eid.immuneToFriendlyFire = true; eid.isBoss = true; } } EnemyRevolver componentInChildren = A_V2.weapons[0].GetComponentInChildren(); if ((Object)(object)componentInChildren != (Object)null) { if ((Object)(object)componentInChildren.bullet != (Object)null) { GameObject bullet = componentInChildren.bullet; if (bullet != null) { GameObjectExtensions.GetOrAddComponent(bullet); } } if ((Object)(object)componentInChildren.altBullet != (Object)null) { GameObject altBullet = componentInChildren.altBullet; if (altBullet != null) { GameObjectExtensions.GetOrAddComponent(altBullet); } } } EnemyShotgun componentInChildren2 = A_V2.weapons[1].GetComponentInChildren(); if ((Object)(object)componentInChildren2 != (Object)null) { GameObjectExtensions.GetOrAddComponent(componentInChildren2.grenade); } if ((Object)(object)B_2_Big_Johninator == (Object)null) { EnemyIdentifier obj2 = Main_Utils.FindEnemyByType(Main_Utils.DetectebleEnemies.Big_Johninator); B_2_Big_Johninator = ((obj2 != null) ? ((Component)obj2).GetComponent() : null); } if ((Object)(object)B_2_Extra_Weapon == (Object)null && Object.op_Implicit((Object)(object)B_2_Big_Johninator)) { B_2_Extra_Weapon = B_2_Big_Johninator?.weapons.First(); } if (Object.op_Implicit((Object)(object)B_2_Big_Johninator) && Object.op_Implicit((Object)(object)B_2_Extra_Weapon)) { GameObject val = Object.Instantiate(B_2_Extra_Weapon, A_V2.weapons.First().transform.parent); GameObject val2 = Object.Instantiate(((Component)Fento_Assets.RocketLauncher.GetChild(0)).gameObject); RemoveAlwaysOnTop(val2.transform); val2.transform.SetParent(val.transform.GetChild(0)); val2.transform.localPosition = new Vector3(-60f, -200f, 0f); val2.transform.localRotation = Quaternion.Euler(30f, 0f, 170f); val2.transform.localScale = new Vector3(480f, 600f, 600f); EnemyRevolver componentInChildren3 = val.GetComponentInChildren(); GameObjectExtensions.GetOrAddComponent(componentInChildren3.bullet); GameObjectExtensions.GetOrAddComponent(componentInChildren3.altBullet); Grenade component = componentInChildren3.bullet.GetComponent(); if (Object.op_Implicit((Object)(object)component)) { if (component.ignoreEnemyType == null) { component.ignoreEnemyType = new List(); } if (!component.ignoreEnemyType.Contains((EnemyType)8)) { component.ignoreEnemyType.Add((EnemyType)8); } if (!component.ignoreEnemyType.Contains((EnemyType)22)) { component.ignoreEnemyType.Add((EnemyType)22); } } List list = A_V2.weapons.ToList(); list.Add(val); A_V2.weapons = list.ToArray(); } A_V2.shockwave = Fento_Assets.SlamExplosionShockwave.gameObject; } public void FixedUpdate() { //IL_003a: Unknown result type (might be due to invalid IL or missing references) //IL_0045: Unknown result type (might be due to invalid IL or missing references) //IL_004a: Unknown result type (might be due to invalid IL or missing references) //IL_004f: Unknown result type (might be due to invalid IL or missing references) //IL_0052: Unknown result type (might be due to invalid IL or missing references) //IL_0057: Unknown result type (might be due to invalid IL or missing references) //IL_0059: Unknown result type (might be due to invalid IL or missing references) //IL_0064: 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_009f: Unknown result type (might be due to invalid IL or missing references) //IL_00a5: Unknown result type (might be due to invalid IL or missing references) //IL_00aa: Unknown result type (might be due to invalid IL or missing references) //IL_00b5: Unknown result type (might be due to invalid IL or missing references) //IL_00c6: Unknown result type (might be due to invalid IL or missing references) //IL_00cb: Unknown result type (might be due to invalid IL or missing references) //IL_00d5: Unknown result type (might be due to invalid IL or missing references) //IL_00da: Unknown result type (might be due to invalid IL or missing references) //IL_00f6: Unknown result type (might be due to invalid IL or missing references) //IL_0100: 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_01e4: Expected O, but got Unknown if (!A_V2.active) { return; } EnemyTarget target = eid.target; if (target == null) { return; } if (Gasoline_Fire) { if (Gasoline_Charge >= 0.01f) { Vector3 val = target.position - ((Component)this).transform.position; Vector3 normalized = ((Vector3)(ref val)).normalized; if (Vector3.Distance(target.position, ((Component)this).transform.position) > 9f) { Gasoline_Charge -= 0.01f; GameObject obj = Object.Instantiate(Fento_Assets.GasolineProjectile.gameObject, ((Component)this).transform.position + normalized * 5f, ((Component)this).transform.rotation); obj.transform.LookAt(target.position + Random.insideUnitSphere * 6f); GameObjectExtensions.GetOrAddComponent(obj); Rigidbody component = obj.GetComponent(); component.velocity = ((Component)component).transform.forward * 200f; } return; } foreach (Flammable flammable in eid.flammables) { flammable.heat *= 0.01f; flammable.fuel *= 0.01f; } float num = 0f; foreach (Flammable flammable2 in eid.flammables) { num = Mathf.Max(num, flammable2.fuel); } Renderer[] componentsInChildren = ((Component)this).GetComponentsInChildren(); foreach (Renderer val2 in componentsInChildren) { if (!eid.buffUnaffectedRenderers.Contains(val2) && !(val2 is ParticleSystemRenderer)) { MaterialPropertyBlock val3 = new MaterialPropertyBlock(); val2.GetPropertyBlock(val3); val3.SetFloat("_OiledAmount", num / 5f); val2.SetPropertyBlock(val3); } } Gasoline_Fire = false; } else if (Gasoline_Charge >= 0.99f) { if (!A_V2.secondEncounter) { Gasoline_Charge *= 0.5f; } else { Gasoline_Charge *= 0.75f; } Electro_Charge -= 0.2f; Gasoline_Fire = true; } } public void Update() { //IL_0044: Unknown result type (might be due to invalid IL or missing references) //IL_0049: Unknown result type (might be due to invalid IL or missing references) //IL_0462: Unknown result type (might be due to invalid IL or missing references) //IL_046d: Unknown result type (might be due to invalid IL or missing references) //IL_0472: Unknown result type (might be due to invalid IL or missing references) //IL_0477: Unknown result type (might be due to invalid IL or missing references) //IL_047d: Unknown result type (might be due to invalid IL or missing references) //IL_0482: Unknown result type (might be due to invalid IL or missing references) //IL_0f79: Unknown result type (might be due to invalid IL or missing references) //IL_0f84: Unknown result type (might be due to invalid IL or missing references) //IL_04ea: Unknown result type (might be due to invalid IL or missing references) //IL_04f6: Unknown result type (might be due to invalid IL or missing references) //IL_0500: Unknown result type (might be due to invalid IL or missing references) //IL_0505: Unknown result type (might be due to invalid IL or missing references) //IL_0510: Unknown result type (might be due to invalid IL or missing references) //IL_052b: Unknown result type (might be due to invalid IL or missing references) //IL_0537: Unknown result type (might be due to invalid IL or missing references) //IL_0541: Unknown result type (might be due to invalid IL or missing references) //IL_0546: Unknown result type (might be due to invalid IL or missing references) //IL_0551: Unknown result type (might be due to invalid IL or missing references) //IL_06dd: Unknown result type (might be due to invalid IL or missing references) //IL_06ee: Unknown result type (might be due to invalid IL or missing references) //IL_07c1: Unknown result type (might be due to invalid IL or missing references) //IL_07cc: Unknown result type (might be due to invalid IL or missing references) //IL_07e0: Unknown result type (might be due to invalid IL or missing references) //IL_07e5: Unknown result type (might be due to invalid IL or missing references) //IL_085e: Unknown result type (might be due to invalid IL or missing references) //IL_0865: Unknown result type (might be due to invalid IL or missing references) //IL_086f: Unknown result type (might be due to invalid IL or missing references) //IL_0874: Unknown result type (might be due to invalid IL or missing references) //IL_0884: Unknown result type (might be due to invalid IL or missing references) //IL_0895: Unknown result type (might be due to invalid IL or missing references) //IL_0236: Unknown result type (might be due to invalid IL or missing references) //IL_023d: Invalid comparison between Unknown and I4 //IL_026e: Unknown result type (might be due to invalid IL or missing references) //IL_0278: Expected O, but got Unknown //IL_08f9: Unknown result type (might be due to invalid IL or missing references) //IL_08fe: Unknown result type (might be due to invalid IL or missing references) //IL_08ad: Unknown result type (might be due to invalid IL or missing references) //IL_08b2: Unknown result type (might be due to invalid IL or missing references) //IL_08b7: Unknown result type (might be due to invalid IL or missing references) //IL_08bb: Unknown result type (might be due to invalid IL or missing references) //IL_08c2: Unknown result type (might be due to invalid IL or missing references) //IL_08c7: Unknown result type (might be due to invalid IL or missing references) //IL_08cc: Unknown result type (might be due to invalid IL or missing references) //IL_08d0: Unknown result type (might be due to invalid IL or missing references) //IL_08da: Unknown result type (might be due to invalid IL or missing references) //IL_08e4: Unknown result type (might be due to invalid IL or missing references) //IL_08e9: Unknown result type (might be due to invalid IL or missing references) //IL_093b: Unknown result type (might be due to invalid IL or missing references) //IL_0940: Unknown result type (might be due to invalid IL or missing references) //IL_0915: Unknown result type (might be due to invalid IL or missing references) //IL_091c: Unknown result type (might be due to invalid IL or missing references) //IL_0926: Unknown result type (might be due to invalid IL or missing references) //IL_092b: Unknown result type (might be due to invalid IL or missing references) //IL_095c: Unknown result type (might be due to invalid IL or missing references) //IL_0961: Unknown result type (might be due to invalid IL or missing references) //IL_0965: Unknown result type (might be due to invalid IL or missing references) //IL_096c: Unknown result type (might be due to invalid IL or missing references) //IL_0976: Unknown result type (might be due to invalid IL or missing references) //IL_0981: Unknown result type (might be due to invalid IL or missing references) //IL_0986: Unknown result type (might be due to invalid IL or missing references) //IL_098f: Unknown result type (might be due to invalid IL or missing references) //IL_09b4: Unknown result type (might be due to invalid IL or missing references) //IL_09c5: Unknown result type (might be due to invalid IL or missing references) //IL_0a75: Unknown result type (might be due to invalid IL or missing references) //IL_0a86: Unknown result type (might be due to invalid IL or missing references) //IL_09f0: Unknown result type (might be due to invalid IL or missing references) //IL_09f5: Unknown result type (might be due to invalid IL or missing references) //IL_02f9: Unknown result type (might be due to invalid IL or missing references) //IL_0303: Expected O, but got Unknown //IL_0a13: Unknown result type (might be due to invalid IL or missing references) //IL_0a18: Unknown result type (might be due to invalid IL or missing references) //IL_0a1d: Unknown result type (might be due to invalid IL or missing references) //IL_0a21: Unknown result type (might be due to invalid IL or missing references) //IL_0a26: Unknown result type (might be due to invalid IL or missing references) //IL_0a28: Unknown result type (might be due to invalid IL or missing references) //IL_0a2d: Unknown result type (might be due to invalid IL or missing references) //IL_0a31: Unknown result type (might be due to invalid IL or missing references) //IL_0a41: Unknown result type (might be due to invalid IL or missing references) //IL_0a46: Unknown result type (might be due to invalid IL or missing references) //IL_0a50: Unknown result type (might be due to invalid IL or missing references) //IL_0a55: Unknown result type (might be due to invalid IL or missing references) //IL_0a03: Unknown result type (might be due to invalid IL or missing references) //IL_0a05: Unknown result type (might be due to invalid IL or missing references) //IL_0a0a: Unknown result type (might be due to invalid IL or missing references) //IL_0bbb: Unknown result type (might be due to invalid IL or missing references) //IL_0bc0: Unknown result type (might be due to invalid IL or missing references) //IL_0bc5: Unknown result type (might be due to invalid IL or missing references) //IL_0bd0: Unknown result type (might be due to invalid IL or missing references) //IL_0bd5: Unknown result type (might be due to invalid IL or missing references) //IL_0be2: Unknown result type (might be due to invalid IL or missing references) //IL_0ae8: Unknown result type (might be due to invalid IL or missing references) //IL_0b04: Unknown result type (might be due to invalid IL or missing references) //IL_0b15: Unknown result type (might be due to invalid IL or missing references) //IL_0b25: Unknown result type (might be due to invalid IL or missing references) //IL_0b3a: Unknown result type (might be due to invalid IL or missing references) //IL_0b3f: Unknown result type (might be due to invalid IL or missing references) //IL_0ad0: Unknown result type (might be due to invalid IL or missing references) //IL_0ad5: Unknown result type (might be due to invalid IL or missing references) //IL_0c33: Unknown result type (might be due to invalid IL or missing references) //IL_0c38: Unknown result type (might be due to invalid IL or missing references) //IL_0c3d: Unknown result type (might be due to invalid IL or missing references) //IL_0c42: Unknown result type (might be due to invalid IL or missing references) //IL_0c53: Unknown result type (might be due to invalid IL or missing references) //IL_0c5d: Unknown result type (might be due to invalid IL or missing references) //IL_0c6e: Unknown result type (might be due to invalid IL or missing references) //IL_0d32: Unknown result type (might be due to invalid IL or missing references) //IL_0d37: Unknown result type (might be due to invalid IL or missing references) //IL_0cad: Unknown result type (might be due to invalid IL or missing references) //IL_0cb2: Unknown result type (might be due to invalid IL or missing references) //IL_0cb7: Unknown result type (might be due to invalid IL or missing references) //IL_0cbc: Unknown result type (might be due to invalid IL or missing references) //IL_0cd2: Unknown result type (might be due to invalid IL or missing references) //IL_0ce3: Unknown result type (might be due to invalid IL or missing references) //IL_0ced: Unknown result type (might be due to invalid IL or missing references) //IL_0cfe: Unknown result type (might be due to invalid IL or missing references) //IL_0374: Unknown result type (might be due to invalid IL or missing references) //IL_037e: Expected O, but got Unknown //IL_0dab: Unknown result type (might be due to invalid IL or missing references) float num = 0f; if (!MiddlePerformFunny) { num = Health_Procent; if (num > 0.5f) { MiddlePerformFunny = true; Explosion[] componentsInChildren = Object.Instantiate(Fento_Assets.Explosion.gameObject, ((Component)this).transform.position, Quaternion.identity).GetComponentsInChildren(true); foreach (Explosion val in componentsInChildren) { if (val.toIgnore != null && !val.toIgnore.Contains((EnemyType)8)) { val.toIgnore.Add((EnemyType)8); val.toIgnore.Add((EnemyType)22); } } } } if (!EndRaged && num > 0.9f) { EndRaged = true; A_V2.InstaEnrage(); } if (!A_V2.active) { return; } if (A_V2.secondEncounter) { if (num == 0f) { num = 1f - eid.health / Og_Boss_Hp; } } else { num = 0f; } ChargeWeapons(num); if (!Fento_Difficulty_Options.Issue_Disable_Most_Buffs && A_V2.movementSpeed != V2NewSpeed && A_V2.originalMovementSpeed != V2NewSpeed) { A_V2.movementSpeed = V2NewSpeed; A_V2.originalMovementSpeed = V2NewSpeed; } EnemyTarget target = eid.target; if (eid.attackEnemies) { EnemyScanner enemyScanner = eid.enemyScanner; if (enemyScanner != null) { enemyScanner.Reset(); } if (Solo_Find_Targets_Time > 0.99f) { Solo_Find_Targets_Time = 0f; if (eid.attackEnemies && (target == null || (target != null && !target.isPlayer))) { EnemyIdentifier val2 = null; IOrderedEnumerable orderedEnumerable = from e in Object.FindObjectsOfType() where !e.dead && (Object)(object)e != (Object)(object)eid orderby Vector3.Distance(((Component)e).transform.position, ((Component)this).transform.position) select e; foreach (EnemyIdentifier item in orderedEnumerable) { if (!item.ignoredByEnemies && !item.Blessed && (int)item.enemyType != 21) { val2 = item; break; } } if ((Object)(object)val2 != (Object)null) { eid.target = new EnemyTarget(val2); eid.fallbackTarget = eid.target.trackedTransform; ((MonoBehaviour)eid).Invoke("UpdateTarget", 0f); } else { foreach (EnemyIdentifier item2 in orderedEnumerable) { if (!item2.Blessed) { val2 = item2; break; } } if ((Object)(object)val2 != (Object)null) { eid.target = new EnemyTarget(val2); eid.fallbackTarget = eid.target.trackedTransform; ((MonoBehaviour)eid).Invoke("UpdateTarget", 0f); } else { using (IEnumerator enumerator = orderedEnumerable.GetEnumerator()) { if (enumerator.MoveNext()) { val2 = enumerator.Current; } } if ((Object)(object)val2 != (Object)null) { eid.target = new EnemyTarget(val2); eid.fallbackTarget = eid.target.trackedTransform; ((MonoBehaviour)eid).Invoke("UpdateTarget", 0f); } } } } } } if (target != null) { Solo_Find_Targets_Time = Mathf.Clamp01(Solo_Find_Targets_Time + Time.deltaTime * 0.5f); if (Extra_Pain_Shoot > 0.99f) { Extra_Pain_Shoot = 0f; if (0.1f + Random.value * num > 0.5f && !A_V2.aboutToShoot) { if (Random.value < 0.65f) { ((MonoBehaviour)A_V2).Invoke("ShootWeapon", 0.2f); } else { ((MonoBehaviour)A_V2).Invoke("AltShootWeapon", 0.25f); } } } Vector3 val3 = target.position - ((Component)this).transform.position; Vector3 faceEnemy = ((Vector3)(ref val3)).normalized; if (GreenHarpoon_Charge > 0.99f) { if (((Vector3)(ref val3)).magnitude > 15f) { GreenHarpoon_Charge = 0f; if (!target.isPlayer && ((Vector3)(ref val3)).magnitude > 15f) { Object.Instantiate(Fento_Assets.Railcannon_Fire.gameObject, ((Component)this).transform.position + ((Vector3)(ref faceEnemy)).normalized * 2.5f, ((Component)this).transform.rotation); Object.Instantiate(Fento_Assets.Railcannon_HarpoonMalicious.gameObject, ((Component)this).transform.position + ((Vector3)(ref faceEnemy)).normalized * 15f, ((Component)this).transform.rotation).transform.DissableColliders(((Component)this).transform); } } else { GreenHarpoon_Charge *= 0.9f; } } if (Railcannon_Charge > 0.99f) { if ((eid.machine.health / Og_Boss_Hp > 0.5f && A_V2.distancePatience < 4f) || (A_V2.secondEncounter && A_V2.shootingForCoin)) { Railcannon_Charge = 0.94f; } else { Nuke_Charge -= 0.2f; SpearHook_Charge -= 0.2f; Railcannon_Charge = Random.value * 0.1f; ShootRailCannon(); } } if (ChainSaw_Charge > 0.99f) { Electro_Charge -= 0.2f; ChainSaw_Charge = Random.value * 0.15f; ShootChainSaw(); } if (A_V2.secondEncounter) { if (ExtraCoins_Charge > 0.99f && Nuke_Charge > 0.35f && Railcannon_Charge > 0.35f) { Nuke_Charge -= 0.05f; Railcannon_Charge -= 0.05f; ExtraCoins_Charge = Random.value * 0.25f; TosExtraCoin(); } if (SpearHook_Charge > 0.99f) { if (Vector3.Distance(((Component)this).transform.position, target.position) > 12f && Railcannon_Charge < 0.9f) { SpearHook_Charge = Random.value * 0.15f; ShootSpear(); } else { SpearHook_Charge = 0.9f; } } if (Electro_Charge > 0.99f) { if (((Vector3)(ref val3)).magnitude > 12f && Railcannon_Charge < 0.9f) { Electro_Charge = Random.value * 0.15f; ShootMagnet(); } else { Electro_Charge = 0.9f; } } } if (A_V2.slideOnly) { if (ExtraManevr_Charge > 0.99f && Random.value < 0.25f) { ExtraManevr_Charge = Random.value * 0.25f; A_V2.ForceDodge(faceEnemy + ((Component)this).transform.right * Random.Range(-1f, 1f)); } } else if ((Object)(object)eid.gce != (Object)null && !eid.gce.onGround) { if (A_V2.secondEncounter) { GroundSlam_Charge = Mathf.Clamp01(GroundSlam_Charge + Time.deltaTime / 17f * (1f + num * 0.25f)); } Rigidbody obj = rb; obj.velocity += faceEnemy * Time.deltaTime; Vector3 val4; if (Vector3.Distance(((Component)this).transform.position, target.position) > 100f) { Rigidbody obj2 = rb; Vector3 velocity = obj2.velocity; val4 = Random.insideUnitSphere; val4 = ((Vector3)(ref val4)).normalized + faceEnemy; obj2.velocity = velocity + ((Vector3)(ref val4)).normalized * 3f * Time.deltaTime; } val4 = rb.velocity; if (((Vector3)(ref val4)).magnitude < 25f) { Rigidbody obj3 = rb; obj3.velocity += faceEnemy * 25f; } val4 = rb.velocity; if (((Vector3)(ref val4)).magnitude < 55f) { Rigidbody obj4 = rb; val4 = rb.velocity; Vector3 val5 = Vector3.Lerp(((Vector3)(ref val4)).normalized, faceEnemy, Time.deltaTime); val4 = rb.velocity; obj4.velocity = val5 * ((Vector3)(ref val4)).magnitude; } if ((double)ExtraManevr_Charge > 0.99 && Vector3.Distance(((Component)this).transform.position, target.position) > 11f) { ExtraManevr_Charge = Random.value * 0.1f; Vector3 val6 = ((Component)this).transform.right; if (Random.value > 0.5f) { val6 = -val6; } Rigidbody obj5 = rb; Vector3 velocity2 = obj5.velocity; val4 = Random.insideUnitSphere; val4 = ((Vector3)(ref val4)).normalized + val6; Vector3 normalized = ((Vector3)(ref val4)).normalized; val4 = rb.velocity; obj5.velocity = velocity2 + normalized * (15f + ((Vector3)(ref val4)).magnitude); } if (AggressiveDash_Charge > 0.9f && Vector3.Distance(((Component)this).transform.position, target.position) > 12f) { AggressiveDash_Charge -= 0.9f; if ((Object)(object)A_V2.dashJumpSound != (Object)null) { Object.Instantiate(A_V2.dashJumpSound, ((Component)this).transform.position, Quaternion.identity); } rb.velocity = faceEnemy * (20f + A_V2.movementSpeed * 1.5f); Rigidbody obj6 = rb; obj6.velocity += new Vector3(0f, rb.velocity.y * 0.5f, 0f); } if (AggressiveFly_Charge > 0.99f) { AggressiveFly_Charge = 0f; for (int j = 0; j < 3; j++) { Main_Utils.Invoke_WithDelay(0.6f * (float)(1 + j), delegate { //IL_0011: 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_004c: 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_007b: 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) rb.velocity = faceEnemy * (10f + A_V2.movementSpeed); Rigidbody obj10 = rb; obj10.velocity += new Vector3(0f, rb.velocity.y * 0.5f, 0f); }); } } if (GroundSlam_Charge > 0.99f) { RaycastHit val7 = default(RaycastHit); if (Physics.Raycast(((Component)this).transform.position + Vector3.up, ((Component)this).transform.TransformDirection(Vector3.down), ref val7, 30f, LayerMask.op_Implicit(LayerMaskDefaults.Get((LMD)1))) && ((RaycastHit)(ref val7)).distance > 9f) { GroundSlam_Charge = Random.value * 0.1f; MonoSingleton.Instance.HitStop(0.1f); GameObject obj7 = Object.Instantiate(Fento_Assets.SlamExplosionShockwave.gameObject, ((RaycastHit)(ref val7)).point + Vector3.up, Quaternion.identity); Transform transform = obj7.transform; transform.localScale *= 0.5f; PhysicalShockwave orAddComponent = GameObjectExtensions.GetOrAddComponent(obj7); orAddComponent.enemyType = (EnemyType)8; orAddComponent.maxSize *= 0.3f; orAddComponent.force *= 0.4f; if (num > 0.5f) { GameObject obj8 = Object.Instantiate(Fento_Assets.SlamExplosionShockwave.gameObject, ((RaycastHit)(ref val7)).point + Vector3.up, Quaternion.identity); obj8.transform.up = ((Component)this).transform.right; Transform transform2 = obj8.transform; transform2.localScale *= 0.5f; PhysicalShockwave orAddComponent2 = GameObjectExtensions.GetOrAddComponent(obj8); orAddComponent2.enemyType = (EnemyType)8; orAddComponent2.maxSize *= 0.5f; orAddComponent2.force *= 0.4f; } Explosion[] componentsInChildren = Object.Instantiate(Fento_Assets.Explosion.gameObject, ((RaycastHit)(ref val7)).point, Quaternion.identity).GetComponentsInChildren(true); foreach (Explosion val8 in componentsInChildren) { if (val8.toIgnore != null && !val8.toIgnore.Contains((EnemyType)8) && !val8.toIgnore.Contains((EnemyType)22)) { val8.toIgnore.Add((EnemyType)8); val8.toIgnore.Add((EnemyType)22); } } ((Component)this).transform.position = ((RaycastHit)(ref val7)).point; } else { GroundSlam_Charge -= 0.1f; } } } else { if (ExtraManevr_Charge > 0.99f) { if (Random.value < 0.25f) { ExtraManevr_Charge = Random.value * 0.25f; if (Random.value < 0.25f) { ((MonoBehaviour)A_V2).Invoke("Slide", 0f); } else { ((MonoBehaviour)A_V2).Invoke("Slide", 0f); ((MonoBehaviour)A_V2).Invoke("Jump", 0.01f); } } else { ExtraManevr_Charge -= 0.1f; } } if (GroundSlam_Charge > 0.99f) { if (Random.value < 0.5f) { ((MonoBehaviour)A_V2).Invoke("Slide", 0f); ((MonoBehaviour)A_V2).Invoke("Jump", 0.01f); GroundSlam_Charge -= 0.1f; } else { GroundSlam_Charge -= 0.1f; } } } if (Arm_Charge > 0.9f && ((Vector3)(ref val3)).magnitude < (target.isPlayer ? 6f : 10f)) { Arm_Charge -= 0.9f; Main_Utils.Invoke_WithDelay(0.075f, delegate { //IL_002b: Unknown result type (might be due to invalid IL or missing references) //IL_0036: Unknown result type (might be due to invalid IL or missing references) //IL_0073: Unknown result type (might be due to invalid IL or missing references) //IL_007e: Unknown result type (might be due to invalid IL or missing references) //IL_008e: Unknown result type (might be due to invalid IL or missing references) //IL_0093: Unknown result type (might be due to invalid IL or missing references) //IL_0098: Unknown result type (might be due to invalid IL or missing references) //IL_009b: Unknown result type (might be due to invalid IL or missing references) //IL_00a5: Unknown result type (might be due to invalid IL or missing references) //IL_00aa: Unknown result type (might be due to invalid IL or missing references) //IL_00af: Unknown result type (might be due to invalid IL or missing references) //IL_00c0: Unknown result type (might be due to invalid IL or missing references) //IL_00ca: Unknown result type (might be due to invalid IL or missing references) //IL_00df: Unknown result type (might be due to invalid IL or missing references) if (!A_V2.slideOnly && target != null && Vector3.Distance(((Component)this).transform.position, target.position) < (target.isPlayer ? 6f : 10f)) { GameObject gameObject = Fento_Assets.V2UnParry.gameObject; Vector3 position = ((Component)this).transform.position; Vector3 val9 = target.position - ((Component)this).transform.position; GameObject obj9 = Object.Instantiate(gameObject, position + ((Vector3)(ref val9)).normalized * 2.5f, Quaternion.identity); Transform transform3 = obj9.transform; transform3.localScale *= 10f; obj9.transform.LookAt(target.position); ((MonoBehaviour)this).StartCoroutine(Punch_Thing()); } }); } } else { Solo_Find_Targets_Time = Mathf.Clamp01(Solo_Find_Targets_Time + Time.deltaTime); } NewMovement instance = MonoSingleton.Instance; if (!((Object)(object)instance != (Object)null)) { return; } int hp = instance.hp; if (hp < Player_Last_Hp) { int num2 = Player_Last_Hp - hp; if (Vector3.Distance(((Component)this).transform.position, ((Component)instance).transform.position) < 11f && (Object)(object)eid.machine != (Object)null) { eid.machine.health = Mathf.Min(eid.machine.health + (float)num2 * HealMult * 0.05f, Og_Boss_Hp); eid.ForceGetHealth(); } } Player_Last_Hp = hp; } public void ChargeWeapons(float health_proc) { Arm_Charge = Mathf.Clamp01(Arm_Charge + Time.deltaTime * 1.5f); Parry_Stamina = Mathf.Clamp01(Parry_Stamina + Time.deltaTime * 0.7f); ExtraManevr_Charge = Mathf.Clamp01(ExtraManevr_Charge + Time.deltaTime * 0.9f * (1f + health_proc * 0.2f)); AggressiveDash_Charge = Mathf.Clamp01(AggressiveDash_Charge + Time.deltaTime * 0.6f * (1f + health_proc * 0.2f)); AggressiveFly_Charge = Mathf.Clamp01(AggressiveFly_Charge + Time.deltaTime / 27.5f * (1f + health_proc * 0.2f)); Solo_Find_Targets_Time = Mathf.Clamp01(Solo_Find_Targets_Time + Time.deltaTime); Extra_Pain_Shoot = Mathf.Clamp01(Extra_Pain_Shoot + Time.deltaTime * 0.75f * (1f + health_proc * 0.1f)); Railcannon_Charge = Mathf.Clamp01(Railcannon_Charge + Time.deltaTime / 12f * (1f + health_proc * 0.2f)); Nuke_Charge = Mathf.Clamp01(Nuke_Charge + Time.deltaTime / 14f * (1f + health_proc * 0.2f)); SpearHook_Charge = Mathf.Clamp01(SpearHook_Charge + Time.deltaTime / 9.5f * (1f + health_proc * 0.25f)); GroundSlam_Charge = Mathf.Clamp01(GroundSlam_Charge + Time.deltaTime / 17f * (1f + health_proc * 0.25f)); ExtraCoins_Charge = Mathf.Clamp01(ExtraCoins_Charge + Time.deltaTime / 11f * (1f + health_proc * 0.25f)); Saw_Charge = Mathf.Clamp01(Saw_Charge + Time.deltaTime / 5f * (1f + health_proc * 0.25f)); ChainSaw_Charge = Mathf.Clamp01(ChainSaw_Charge + Time.deltaTime / 40f * (1f + health_proc * 0.25f)); Gasoline_Charge = Mathf.Clamp01(Gasoline_Charge + Time.deltaTime / 25f * (1f + health_proc * 0.2f)); Electro_Charge = Mathf.Clamp01(Electro_Charge + Time.deltaTime / 23f * (1f + health_proc * 0.2f)); GreenHarpoon_Charge = Mathf.Clamp01(GreenHarpoon_Charge + Time.deltaTime / 40f * (1f + health_proc * 0.2f)); } [IteratorStateMachine(typeof(d__46))] public IEnumerator Punch_Thing() { //yield-return decompiler failed: Unexpected instruction in Iterator.Dispose() return new d__46(0) { <>4__this = this }; } public void RemoveAlwaysOnTop(Transform transform) { ((Component)transform).gameObject.layer = 4; Transform[] componentsInChildren = ((Component)transform).GetComponentsInChildren(true); for (int i = 0; i < componentsInChildren.Length; i++) { ((Component)componentsInChildren[i]).gameObject.layer = 4; } } public void TosExtraCoin() { //IL_001e: 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_003e: Unknown result type (might be due to invalid IL or missing references) //IL_0043: Unknown result type (might be due to invalid IL or missing references) //IL_0056: 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) //IL_0063: Unknown result type (might be due to invalid IL or missing references) //IL_0068: Unknown result type (might be due to invalid IL or missing references) //IL_0069: Unknown result type (might be due to invalid IL or missing references) //IL_006e: Unknown result type (might be due to invalid IL or missing references) //IL_0072: Unknown result type (might be due to invalid IL or missing references) //IL_007c: Unknown result type (might be due to invalid IL or missing references) //IL_0081: Unknown result type (might be due to invalid IL or missing references) //IL_008b: Unknown result type (might be due to invalid IL or missing references) //IL_0090: Unknown result type (might be due to invalid IL or missing references) //IL_00c2: Unknown result type (might be due to invalid IL or missing references) //IL_00d1: 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_00ec: Unknown result type (might be due to invalid IL or missing references) GameObject val = Object.Instantiate(A_V2.coin, ((Component)this).transform.position, ((Component)this).transform.rotation); Rigidbody val2 = default(Rigidbody); if (val.TryGetComponent(ref val2)) { Vector3 val3 = Random.insideUnitSphere; val3.y += 1f; val3 = ((Vector3)(ref val3)).normalized; Rigidbody obj = val2; Vector3 val4 = ((Component)this).transform.position + val3; obj.AddForce(((Vector3)(ref val4)).normalized * 20f + Vector3.up * 30f, (ForceMode)2); } Coin coin = default(Coin); if (!val.TryGetComponent(ref coin)) { return; } GameObject obj2 = Object.Instantiate(coin.flash, ((Component)coin).transform.position, ((Component)MonoSingleton.Instance).transform.rotation); Transform transform = obj2.transform; transform.localScale *= 2f; obj2.transform.SetParent(val.transform, true); Main_Utils.Invoke_WithDelay(Mathf.Lerp(Random.value * 1.5f, 0.5f, 0.5f), delegate { coin.customTarget = ((eid.target != null) ? eid.target : EnemyTarget.TrackPlayer()); if (eid.target != null) { coin.DelayedEnemyReflect(); } }); } public void ShootRailCannon() { //IL_004b: Unknown result type (might be due to invalid IL or missing references) //IL_0056: Unknown result type (might be due to invalid IL or missing references) //IL_006c: Unknown result type (might be due to invalid IL or missing references) //IL_0071: Unknown result type (might be due to invalid IL or missing references) //IL_0076: Unknown result type (might be due to invalid IL or missing references) //IL_0093: 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_00b4: Unknown result type (might be due to invalid IL or missing references) //IL_00b9: 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_00d2: Unknown result type (might be due to invalid IL or missing references) EnemyTarget target = eid.target; MonoSingleton.Instance.SendHudMessage("!! TARGET LOCKED !!", "", "", 0, false, false, true); GameObject obj = Object.Instantiate(Fento_Assets.Railcannon_Charge.gameObject, ((Component)this).transform.position, ((Component)this).transform.rotation); obj.transform.position = ((Component)this).transform.position + Vector3.up; obj.transform.LookAt(Main_Utils.PredictTargetPosition(target, 0.01f)); Transform transform = obj.transform; transform.position += ((Component)this).gameObject.transform.forward; Main_Utils.Make_Colored(obj.transform, Color.red * 3f); Main_Utils.Invoke_WithDelay(0.25f, delegate { //IL_003e: Unknown result type (might be due to invalid IL or missing references) //IL_004e: Unknown result type (might be due to invalid IL or missing references) //IL_0059: Unknown result type (might be due to invalid IL or missing references) //IL_005e: Unknown result type (might be due to invalid IL or missing references) //IL_0063: 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_0070: Unknown result type (might be due to invalid IL or missing references) //IL_0075: Unknown result type (might be due to invalid IL or missing references) //IL_0085: Unknown result type (might be due to invalid IL or missing references) //IL_0096: Unknown result type (might be due to invalid IL or missing references) //IL_00a0: Unknown result type (might be due to invalid IL or missing references) //IL_00b6: Unknown result type (might be due to invalid IL or missing references) //IL_00c5: Unknown result type (might be due to invalid IL or missing references) //IL_00cf: Unknown result type (might be due to invalid IL or missing references) ((MonoBehaviour)MonoSingleton.Instance).CancelInvoke("Done"); ((MonoBehaviour)MonoSingleton.Instance).Invoke("Done", 1f); if (target != null) { GameObject gameObject5 = Fento_Assets.V2UnParry.gameObject; Vector3 position5 = target.position; Vector3 val6 = ((Component)this).transform.position - target.position; GameObject obj5 = Object.Instantiate(gameObject5, position5 + ((Vector3)(ref val6)).normalized * 2.5f, ((Component)this).transform.rotation); Transform transform6 = obj5.transform; transform6.localScale *= 10f; obj5.transform.LookAt(target.position); Main_Utils.Make_Colored(obj5.transform, Color.red * 3f); } }); Main_Utils.Invoke_WithDelay(0.5f, delegate { //IL_001b: 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_0036: Unknown result type (might be due to invalid IL or missing references) //IL_003b: 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) //IL_0043: Unknown result type (might be due to invalid IL or missing references) //IL_004d: Unknown result type (might be due to invalid IL or missing references) //IL_0052: Unknown result type (might be due to invalid IL or missing references) //IL_0062: Unknown result type (might be due to invalid IL or missing references) //IL_0073: Unknown result type (might be due to invalid IL or missing references) //IL_007d: Unknown result type (might be due to invalid IL or missing references) //IL_0093: 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_00ac: Unknown result type (might be due to invalid IL or missing references) if (target != null) { GameObject gameObject4 = Fento_Assets.V2UnParry.gameObject; Vector3 position4 = target.position; Vector3 val5 = ((Component)this).transform.position - target.position; GameObject obj4 = Object.Instantiate(gameObject4, position4 + ((Vector3)(ref val5)).normalized * 2.5f, ((Component)this).transform.rotation); Transform transform5 = obj4.transform; transform5.localScale *= 10f; obj4.transform.LookAt(target.position); Main_Utils.Make_Colored(obj4.transform, Color.red * 3f); } }); Main_Utils.Invoke_WithDelay(0.75f, delegate { //IL_0020: 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_003b: 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) //IL_0045: Unknown result type (might be due to invalid IL or missing references) //IL_0048: Unknown result type (might be due to invalid IL or missing references) //IL_0052: Unknown result type (might be due to invalid IL or missing references) //IL_0057: 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_0078: Unknown result type (might be due to invalid IL or missing references) //IL_0082: Unknown result type (might be due to invalid IL or missing references) //IL_0098: Unknown result type (might be due to invalid IL or missing references) //IL_00a7: Unknown result type (might be due to invalid IL or missing references) //IL_00b1: Unknown result type (might be due to invalid IL or missing references) //IL_00d1: 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_00ec: Unknown result type (might be due to invalid IL or missing references) //IL_00f1: Unknown result type (might be due to invalid IL or missing references) //IL_00f6: Unknown result type (might be due to invalid IL or missing references) //IL_00f9: Unknown result type (might be due to invalid IL or missing references) //IL_0103: Unknown result type (might be due to invalid IL or missing references) //IL_0108: Unknown result type (might be due to invalid IL or missing references) //IL_0118: Unknown result type (might be due to invalid IL or missing references) //IL_0129: Unknown result type (might be due to invalid IL or missing references) //IL_0133: Unknown result type (might be due to invalid IL or missing references) //IL_0149: Unknown result type (might be due to invalid IL or missing references) //IL_0158: Unknown result type (might be due to invalid IL or missing references) //IL_0162: Unknown result type (might be due to invalid IL or missing references) //IL_0187: Unknown result type (might be due to invalid IL or missing references) //IL_0192: Unknown result type (might be due to invalid IL or missing references) //IL_01a2: Unknown result type (might be due to invalid IL or missing references) //IL_01a7: Unknown result type (might be due to invalid IL or missing references) //IL_01ac: Unknown result type (might be due to invalid IL or missing references) //IL_01af: 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_01be: Unknown result type (might be due to invalid IL or missing references) //IL_01ce: Unknown result type (might be due to invalid IL or missing references) //IL_01ee: Unknown result type (might be due to invalid IL or missing references) //IL_01fe: Unknown result type (might be due to invalid IL or missing references) //IL_021a: Unknown result type (might be due to invalid IL or missing references) //IL_021f: Unknown result type (might be due to invalid IL or missing references) //IL_0224: Unknown result type (might be due to invalid IL or missing references) //IL_023a: Unknown result type (might be due to invalid IL or missing references) //IL_024b: Unknown result type (might be due to invalid IL or missing references) //IL_0260: Unknown result type (might be due to invalid IL or missing references) //IL_0265: Unknown result type (might be due to invalid IL or missing references) //IL_031e: Unknown result type (might be due to invalid IL or missing references) //IL_0330: Unknown result type (might be due to invalid IL or missing references) //IL_033c: Unknown result type (might be due to invalid IL or missing references) //IL_0346: Unknown result type (might be due to invalid IL or missing references) //IL_0354: Unknown result type (might be due to invalid IL or missing references) //IL_0366: Unknown result type (might be due to invalid IL or missing references) //IL_0372: Unknown result type (might be due to invalid IL or missing references) //IL_037c: Unknown result type (might be due to invalid IL or missing references) //IL_039d: Unknown result type (might be due to invalid IL or missing references) //IL_03a7: Unknown result type (might be due to invalid IL or missing references) //IL_02fc: Unknown result type (might be due to invalid IL or missing references) //IL_0301: Unknown result type (might be due to invalid IL or missing references) //IL_03c3: Unknown result type (might be due to invalid IL or missing references) //IL_03ca: Unknown result type (might be due to invalid IL or missing references) if (target != null) { GameObject gameObject = Fento_Assets.V2UnParry.gameObject; Vector3 position = ((Component)this).transform.position; Vector3 val = target.position - ((Component)this).transform.position; GameObject obj2 = Object.Instantiate(gameObject, position + ((Vector3)(ref val)).normalized * 2.5f, ((Component)this).transform.rotation); Transform transform2 = obj2.transform; transform2.localScale *= 10f; obj2.transform.LookAt(target.position); Main_Utils.Make_Colored(obj2.transform, Color.red * 3f); GameObject gameObject2 = Fento_Assets.V2UnParry.gameObject; Vector3 position2 = target.position; val = ((Component)this).transform.position - target.position; GameObject obj3 = Object.Instantiate(gameObject2, position2 + ((Vector3)(ref val)).normalized * 2.5f, ((Component)this).transform.rotation); Transform transform3 = obj3.transform; transform3.localScale *= 10f; obj3.transform.LookAt(target.position); Main_Utils.Make_Colored(obj3.transform, Color.red * 3f); GameObject gameObject3 = Fento_Assets.Railcannon_Fire.gameObject; Vector3 position3 = ((Component)this).transform.position; val = target.position - ((Component)this).transform.position; Object.Instantiate(gameObject3, position3 + ((Vector3)(ref val)).normalized * 2.5f, ((Component)this).transform.rotation); GameObject val2 = Object.Instantiate(Fento_Assets.Railcannon_Beam.gameObject, ((Component)this).transform.position, ((Component)this).transform.rotation); val2.transform.position = ((Component)this).transform.position + Vector3.up; val2.transform.LookAt(target.position); Transform transform4 = val2.transform; transform4.position += ((Component)this).gameObject.transform.forward; ElectricityLine componentInChildren = val2.GetComponentInChildren(); if ((Object)(object)componentInChildren != (Object)null && componentInChildren.colors != null && componentInChildren.colors.colorKeys.Length > 1) { componentInChildren.colors.colorKeys[1].color = new Color(componentInChildren.colors.colorKeys[1].color.b, componentInChildren.colors.colorKeys[1].color.g, componentInChildren.colors.colorKeys[1].color.a); } LineRenderer[] componentsInChildren = val2.GetComponentsInChildren(); foreach (LineRenderer val3 in componentsInChildren) { val3.startColor = new Color(val3.startColor.b * 3f, val3.startColor.g, val3.startColor.a); val3.endColor = new Color(val3.endColor.b * 3f, val3.endColor.g, val3.endColor.a); } Main_Utils.Make_Colored(val2.transform, Color.red * 3f); RevolverBeam val4 = default(RevolverBeam); if (val2.TryGetComponent(ref val4)) { val4.beamType = (BeamType)3; val4.ignoreEnemyType = (EnemyType)8; val4.damage = 7f; } } }); } public void ShootSpear() { //IL_0010: Unknown result type (might be due to invalid IL or missing references) //IL_001b: Unknown result type (might be due to invalid IL or missing references) //IL_0031: Unknown result type (might be due to invalid IL or missing references) //IL_0036: Unknown result type (might be due to invalid IL or missing references) //IL_003b: 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_005c: Unknown result type (might be due to invalid IL or missing references) //IL_0061: Unknown result type (might be due to invalid IL or missing references) //IL_0082: Unknown result type (might be due to invalid IL or missing references) GameObject obj = Object.Instantiate(Fento_Assets.MassWindup.gameObject, ((Component)this).transform.position, ((Component)this).transform.rotation); obj.transform.position = ((Component)this).transform.position + Vector3.up; Transform transform = obj.transform; transform.position += ((Component)this).gameObject.transform.forward; obj.transform.LookAt(Main_Utils.PredictTargetPosition(eid.target, 0.01f)); Main_Utils.Invoke_WithDelay(0.9f, delegate { //IL_0010: 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_002b: Unknown result type (might be due to invalid IL or missing references) //IL_0030: Unknown result type (might be due to invalid IL or missing references) //IL_0035: 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_0042: Unknown result type (might be due to invalid IL or missing references) //IL_0047: Unknown result type (might be due to invalid IL or missing references) //IL_0052: Unknown result type (might be due to invalid IL or missing references) //IL_0063: Unknown result type (might be due to invalid IL or missing references) //IL_006d: Unknown result type (might be due to invalid IL or missing references) //IL_0087: Unknown result type (might be due to invalid IL or missing references) //IL_00a6: Unknown result type (might be due to invalid IL or missing references) //IL_00b1: Unknown result type (might be due to invalid IL or missing references) //IL_00c1: Unknown result type (might be due to invalid IL or missing references) //IL_00c6: Unknown result type (might be due to invalid IL or missing references) //IL_00cb: Unknown result type (might be due to invalid IL or missing references) //IL_00ce: Unknown result type (might be due to invalid IL or missing references) //IL_00d8: Unknown result type (might be due to invalid IL or missing references) //IL_00dd: Unknown result type (might be due to invalid IL or missing references) //IL_00e8: Unknown result type (might be due to invalid IL or missing references) //IL_00f9: Unknown result type (might be due to invalid IL or missing references) //IL_0103: Unknown result type (might be due to invalid IL or missing references) //IL_011d: Unknown result type (might be due to invalid IL or missing references) GameObject gameObject = Fento_Assets.V2UnParry.gameObject; Vector3 position = ((Component)this).transform.position; Vector3 val = eid.target.position - ((Component)this).transform.position; GameObject obj2 = Object.Instantiate(gameObject, position + ((Vector3)(ref val)).normalized * 2.5f, ((Component)this).transform.rotation); Transform transform2 = obj2.transform; transform2.localScale *= 10f; obj2.transform.LookAt(eid.target.position); GameObject gameObject2 = Fento_Assets.V2UnParry.gameObject; Vector3 position2 = eid.target.position; val = ((Component)this).transform.position - eid.target.position; GameObject obj3 = Object.Instantiate(gameObject2, position2 + ((Vector3)(ref val)).normalized * 2.5f, ((Component)this).transform.rotation); Transform transform3 = obj3.transform; transform3.localScale *= 10f; obj3.transform.LookAt(eid.target.position); Main_Utils.Invoke_WithDelay(0.38f, delegate { //IL_0044: Unknown result type (might be due to invalid IL or missing references) //IL_0054: Unknown result type (might be due to invalid IL or missing references) //IL_005f: Unknown result type (might be due to invalid IL or missing references) //IL_0064: Unknown result type (might be due to invalid IL or missing references) //IL_0069: Unknown result type (might be due to invalid IL or missing references) //IL_006c: Unknown result type (might be due to invalid IL or missing references) //IL_0076: 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_0086: 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_018f: Unknown result type (might be due to invalid IL or missing references) //IL_01c7: Unknown result type (might be due to invalid IL or missing references) if (eid.target != null && A_V2.active && Object.op_Implicit((Object)(object)Fento_Assets.MassSpearHook.gameObject)) { GameObject gameObject3 = Fento_Assets.MassSpearHook.gameObject; Vector3 position3 = DisabledObj.transform.position; Vector3 val2 = eid.target.position - ((Component)this).transform.position; GameObject val3 = Object.Instantiate(gameObject3, position3 + ((Vector3)(ref val2)).normalized * 5f, ((Component)this).transform.rotation); val3.transform.LookAt(eid.target.position); MassSpear val4 = default(MassSpear); if (val3.TryGetComponent(ref val4)) { val4.target = eid.target; val4.targetHandle = Main_Utils.GetTargetHandle(eid.target); val4.originPoint = DisabledObj.transform; MassSpear obj4 = val4; obj4.spearHealth *= 1.25f; MassSpear obj5 = val4; obj5.speedMultiplier *= 0.7f; MassSpear obj6 = val4; obj6.damageMultiplier *= 0.7f; float num = MonoSingleton.Instance.GetInt("difficulty", 0); if (num == 1f) { MassSpear obj7 = val4; obj7.speedMultiplier *= 0.75f; } if (num == 2f) { MassSpear obj8 = val4; obj8.speedMultiplier *= 2f; } else if (num >= 3f) { MassSpear obj9 = val4; obj9.speedMultiplier *= 2.5f; } float time = Main_Utils.PredictTimeOld(((Component)this).transform.position, val4.speedMultiplier * 100f, eid.target); val3.transform.LookAt(Main_Utils.PredictTargetPosition(eid.target, time)); } GameObjectExtensions.GetOrAddComponent(val3).eid = eid; } }); }); } public void ShootChainSaw() { //IL_0020: Unknown result type (might be due to invalid IL or missing references) //IL_0025: Unknown result type (might be due to invalid IL or missing references) //IL_002a: Unknown result type (might be due to invalid IL or missing references) //IL_0035: Unknown result type (might be due to invalid IL or missing references) //IL_006f: Unknown result type (might be due to invalid IL or missing references) //IL_0074: Unknown result type (might be due to invalid IL or missing references) //IL_0079: Unknown result type (might be due to invalid IL or missing references) //IL_007d: Unknown result type (might be due to invalid IL or missing references) //IL_0087: Unknown result type (might be due to invalid IL or missing references) //IL_008c: Unknown result type (might be due to invalid IL or missing references) //IL_009d: Unknown result type (might be due to invalid IL or missing references) //IL_00a8: Unknown result type (might be due to invalid IL or missing references) //IL_00b2: Unknown result type (might be due to invalid IL or missing references) //IL_00b7: Unknown result type (might be due to invalid IL or missing references) //IL_0117: Unknown result type (might be due to invalid IL or missing references) //IL_011c: Unknown result type (might be due to invalid IL or missing references) //IL_0132: Unknown result type (might be due to invalid IL or missing references) //IL_013c: Unknown result type (might be due to invalid IL or missing references) //IL_0189: Unknown result type (might be due to invalid IL or missing references) //IL_01a8: Unknown result type (might be due to invalid IL or missing references) if (eid.target != null) { GameObject val = Object.Instantiate(Fento_Assets.NailAltChainsaw.gameObject, ((Component)this).transform.position + Vector3.up, ((Component)this).transform.rotation); ((Component)this).transform.DissableColliders(val.transform.root); Transform transform = val.transform; Vector3 val2 = Main_Utils.PredictTargetPosition(eid.target, 0.1f); Vector3 insideUnitSphere = Random.insideUnitSphere; transform.LookAt(val2 + ((Vector3)(ref insideUnitSphere)).normalized * 5f); Transform transform2 = val.transform; transform2.position += val.transform.forward * 2f; Nail val3 = default(Nail); if (val.TryGetComponent(ref val3)) { val3.multiHitCooldown = 9999f; val3.sameEnemyHitCooldown = 9999f; val3.currentMultiHitAmount = 0; val3.currentHitEnemy = eid; val3.punched = false; val3.chainsaw = false; val3.sawblade = true; val3.enemy = true; val3.safeEnemyType = eid.enemyType; } Rigidbody val4 = default(Rigidbody); if (val.TryGetComponent(ref val4)) { val4.velocity = ((Component)val4).transform.forward * 85f; V2_Homing_Chainsaw orAddComponent = GameObjectExtensions.GetOrAddComponent(val); orAddComponent.eid = eid; orAddComponent.rb = rb; orAddComponent.nail = val3; } TrailRenderer val5 = default(TrailRenderer); if (val.TryGetComponent(ref val5)) { val5.startColor = new Color(1f, 0f, 0f, 1f); val5.endColor = new Color(1f, 0.8f, 0.8f, 0f); } } } public void ShootMagnet() { //IL_0021: 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_0031: Unknown result type (might be due to invalid IL or missing references) //IL_0036: Unknown result type (might be due to invalid IL or missing references) //IL_0039: Unknown result type (might be due to invalid IL or missing references) //IL_003e: Unknown result type (might be due to invalid IL or missing references) //IL_0050: Unknown result type (might be due to invalid IL or missing references) //IL_0055: Unknown result type (might be due to invalid IL or missing references) //IL_005f: Unknown result type (might be due to invalid IL or missing references) //IL_0064: Unknown result type (might be due to invalid IL or missing references) //IL_0069: Unknown result type (might be due to invalid IL or missing references) //IL_006f: Unknown result type (might be due to invalid IL or missing references) //IL_0074: Unknown result type (might be due to invalid IL or missing references) //IL_007f: Unknown result type (might be due to invalid IL or missing references) //IL_0099: Unknown result type (might be due to invalid IL or missing references) //IL_00b5: Unknown result type (might be due to invalid IL or missing references) //IL_00bf: Unknown result type (might be due to invalid IL or missing references) //IL_00da: Unknown result type (might be due to invalid IL or missing references) //IL_00df: Unknown result type (might be due to invalid IL or missing references) //IL_00f5: Unknown result type (might be due to invalid IL or missing references) //IL_00ff: Unknown result type (might be due to invalid IL or missing references) if (eid.target == null) { return; } Vector3 val = eid.target.position - ((Component)this).transform.position; Vector3 normalized = ((Vector3)(ref val)).normalized; GameObject magnet = Object.Instantiate(Fento_Assets.HarpoonMagnet.gameObject, ((Component)this).transform.position + Vector3.up * 2f + normalized * 4f, ((Component)this).transform.rotation); magnet.transform.forward = normalized; magnet.GetComponent().AddForce(magnet.transform.forward * 150f, (ForceMode)2); Object.Instantiate(Fento_Assets.HarpoonShootSound.gameObject, ((Component)this).transform.position, Quaternion.identity); Main_Utils.Make_Colored(magnet.transform, Color.red * 2f); Magnet magn = magnet.GetComponentInChildren(); SphereCollider componentInChildren = magnet.GetComponentInChildren(); if ((Object)(object)componentInChildren != (Object)null) { componentInChildren.radius = 0f; } Main_Utils.Invoke_WithDelay(1.5f, delegate { //IL_0035: Unknown result type (might be due to invalid IL or missing references) //IL_003a: Unknown result type (might be due to invalid IL or missing references) //IL_0044: Unknown result type (might be due to invalid IL or missing references) //IL_0049: Unknown result type (might be due to invalid IL or missing references) //IL_004e: 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_006a: Unknown result type (might be due to invalid IL or missing references) //IL_0085: Unknown result type (might be due to invalid IL or missing references) //IL_00ad: Unknown result type (might be due to invalid IL or missing references) //IL_00b2: Unknown result type (might be due to invalid IL or missing references) //IL_00bc: Unknown result type (might be due to invalid IL or missing references) //IL_00c1: Unknown result type (might be due to invalid IL or missing references) //IL_00c6: Unknown result type (might be due to invalid IL or missing references) //IL_00d8: 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_00fd: Unknown result type (might be due to invalid IL or missing references) //IL_0125: Unknown result type (might be due to invalid IL or missing references) //IL_012a: Unknown result type (might be due to invalid IL or missing references) //IL_0134: Unknown result type (might be due to invalid IL or missing references) //IL_0139: Unknown result type (might be due to invalid IL or missing references) //IL_013e: Unknown result type (might be due to invalid IL or missing references) //IL_0150: Unknown result type (might be due to invalid IL or missing references) //IL_015a: Unknown result type (might be due to invalid IL or missing references) //IL_0175: Unknown result type (might be due to invalid IL or missing references) //IL_019d: Unknown result type (might be due to invalid IL or missing references) //IL_01a2: Unknown result type (might be due to invalid IL or missing references) //IL_01ac: Unknown result type (might be due to invalid IL or missing references) //IL_01b1: Unknown result type (might be due to invalid IL or missing references) //IL_01b6: Unknown result type (might be due to invalid IL or missing references) //IL_01c8: Unknown result type (might be due to invalid IL or missing references) //IL_01d2: Unknown result type (might be due to invalid IL or missing references) //IL_01ed: Unknown result type (might be due to invalid IL or missing references) //IL_0215: Unknown result type (might be due to invalid IL or missing references) //IL_021a: Unknown result type (might be due to invalid IL or missing references) //IL_0224: Unknown result type (might be due to invalid IL or missing references) //IL_0229: Unknown result type (might be due to invalid IL or missing references) //IL_022e: Unknown result type (might be due to invalid IL or missing references) //IL_0240: Unknown result type (might be due to invalid IL or missing references) //IL_024a: Unknown result type (might be due to invalid IL or missing references) //IL_0265: Unknown result type (might be due to invalid IL or missing references) //IL_028d: Unknown result type (might be due to invalid IL or missing references) //IL_0292: Unknown result type (might be due to invalid IL or missing references) //IL_029c: Unknown result type (might be due to invalid IL or missing references) //IL_02a1: Unknown result type (might be due to invalid IL or missing references) //IL_02a6: Unknown result type (might be due to invalid IL or missing references) //IL_02b8: Unknown result type (might be due to invalid IL or missing references) //IL_02c2: Unknown result type (might be due to invalid IL or missing references) //IL_02dd: Unknown result type (might be due to invalid IL or missing references) GameObjectExtensions.GetOrAddComponent(magnet); GameObject val2 = Fento_Assets.CoinFlashEnemy.gameObject; if ((Object)(object)val2 != (Object)null) { val2 = Object.Instantiate(Fento_Assets.CoinFlashEnemy.gameObject, magnet.transform.position + Vector3.up * 23f, Quaternion.identity); Transform transform = val2.transform; transform.localScale *= 3f; val2.transform.LookAt(magnet.transform.position); } if ((Object)(object)val2 != (Object)null) { val2 = Object.Instantiate(Fento_Assets.CoinFlashEnemy.gameObject, magnet.transform.position + Vector3.down * 23f, Quaternion.identity); Transform transform2 = val2.transform; transform2.localScale *= 3f; val2.transform.LookAt(magnet.transform.position); } if ((Object)(object)val2 != (Object)null) { val2 = Object.Instantiate(Fento_Assets.CoinFlashEnemy.gameObject, magnet.transform.position + Vector3.right * 23f, Quaternion.identity); Transform transform3 = val2.transform; transform3.localScale *= 3f; val2.transform.LookAt(magnet.transform.position); } if ((Object)(object)val2 != (Object)null) { val2 = Object.Instantiate(Fento_Assets.CoinFlashEnemy.gameObject, magnet.transform.position + Vector3.left * 23f, Quaternion.identity); Transform transform4 = val2.transform; transform4.localScale *= 3f; val2.transform.LookAt(magnet.transform.position); } if ((Object)(object)val2 != (Object)null) { val2 = Object.Instantiate(Fento_Assets.CoinFlashEnemy.gameObject, magnet.transform.position + Vector3.forward * 23f, Quaternion.identity); Transform transform5 = val2.transform; transform5.localScale *= 3f; val2.transform.LookAt(magnet.transform.position); } if ((Object)(object)val2 != (Object)null) { val2 = Object.Instantiate(Fento_Assets.CoinFlashEnemy.gameObject, magnet.transform.position + Vector3.back * 23f, Quaternion.identity); Transform transform6 = val2.transform; transform6.localScale *= 3f; val2.transform.LookAt(magnet.transform.position); } }); Main_Utils.Invoke_WithDelay(10f, delegate { if (Object.op_Implicit((Object)(object)magn)) { magn.DamageMagnet(3f); } }); } public static void Zap(Vector3 position, float damage = 2f, float dist = 25f, List alreadyHitObjects = null, EnemyType enemyType = 8) { //IL_0012: Unknown result type (might be due to invalid IL or missing references) //IL_0013: Unknown result type (might be due to invalid IL or missing references) //IL_001e: Unknown result type (might be due to invalid IL or missing references) //IL_0025: Unknown result type (might be due to invalid IL or missing references) //IL_0032: Unknown result type (might be due to invalid IL or missing references) //IL_0039: Unknown result type (might be due to invalid IL or missing references) //IL_003e: Unknown result type (might be due to invalid IL or missing references) //IL_003f: Unknown result type (might be due to invalid IL or missing references) //IL_0044: Unknown result type (might be due to invalid IL or missing references) //IL_004b: Unknown result type (might be due to invalid IL or missing references) //IL_0056: Unknown result type (might be due to invalid IL or missing references) //IL_008f: Unknown result type (might be due to invalid IL or missing references) //IL_0096: Unknown result type (might be due to invalid IL or missing references) //IL_00a0: 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_00b1: Unknown result type (might be due to invalid IL or missing references) //IL_00be: Unknown result type (might be due to invalid IL or missing references) //IL_00d4: Unknown result type (might be due to invalid IL or missing references) //IL_00d9: Unknown result type (might be due to invalid IL or missing references) //IL_0116: Unknown result type (might be due to invalid IL or missing references) //IL_011b: Unknown result type (might be due to invalid IL or missing references) //IL_0123: Unknown result type (might be due to invalid IL or missing references) //IL_012a: Invalid comparison between Unknown and I4 //IL_0167: Unknown result type (might be due to invalid IL or missing references) //IL_015a: Unknown result type (might be due to invalid IL or missing references) //IL_016c: Unknown result type (might be due to invalid IL or missing references) //IL_016f: Unknown result type (might be due to invalid IL or missing references) //IL_02b7: Unknown result type (might be due to invalid IL or missing references) //IL_02bf: Unknown result type (might be due to invalid IL or missing references) //IL_018f: Unknown result type (might be due to invalid IL or missing references) //IL_0190: Unknown result type (might be due to invalid IL or missing references) //IL_0192: Unknown result type (might be due to invalid IL or missing references) //IL_0193: Unknown result type (might be due to invalid IL or missing references) //IL_0198: Unknown result type (might be due to invalid IL or missing references) //IL_0199: Unknown result type (might be due to invalid IL or missing references) //IL_01a1: Unknown result type (might be due to invalid IL or missing references) //IL_0181: Unknown result type (might be due to invalid IL or missing references) //IL_0182: Unknown result type (might be due to invalid IL or missing references) //IL_02cf: Unknown result type (might be due to invalid IL or missing references) //IL_02d7: Unknown result type (might be due to invalid IL or missing references) //IL_02dc: Unknown result type (might be due to invalid IL or missing references) //IL_02dd: Unknown result type (might be due to invalid IL or missing references) //IL_02e4: Unknown result type (might be due to invalid IL or missing references) //IL_02ec: Unknown result type (might be due to invalid IL or missing references) //IL_02f7: Unknown result type (might be due to invalid IL or missing references) //IL_01d3: 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_01db: Unknown result type (might be due to invalid IL or missing references) //IL_0344: Unknown result type (might be due to invalid IL or missing references) //IL_034c: Unknown result type (might be due to invalid IL or missing references) //IL_0356: Unknown result type (might be due to invalid IL or missing references) //IL_035b: Unknown result type (might be due to invalid IL or missing references) //IL_0367: Unknown result type (might be due to invalid IL or missing references) //IL_0375: Unknown result type (might be due to invalid IL or missing references) //IL_0213: Unknown result type (might be due to invalid IL or missing references) //IL_0218: Unknown result type (might be due to invalid IL or missing references) //IL_0223: Unknown result type (might be due to invalid IL or missing references) //IL_0224: Unknown result type (might be due to invalid IL or missing references) //IL_022b: Unknown result type (might be due to invalid IL or missing references) //IL_0230: Unknown result type (might be due to invalid IL or missing references) //IL_023c: Unknown result type (might be due to invalid IL or missing references) //IL_0243: Unknown result type (might be due to invalid IL or missing references) //IL_0250: Unknown result type (might be due to invalid IL or missing references) //IL_0252: Unknown result type (might be due to invalid IL or missing references) DefaultReferenceManager instance = MonoSingleton.Instance; NewMovement instance2 = MonoSingleton.Instance; Object.Instantiate(instance.zapImpactParticle, position, Quaternion.identity); if (Vector3.Distance(position, ((Component)instance2).transform.position) < dist && !Physics.Raycast(position, ((Component)instance2).transform.position - position, Vector3.Distance(position, ((Component)instance2).transform.position), LayerMask.op_Implicit(LayerMaskDefaults.Get((LMD)1)))) { instance2.GetHurt((int)(damage * 15f), true, 1f, false, false, 1f, false); LineRenderer obj = Object.Instantiate(instance.electricLine, Vector3.Lerp(position, ((Component)instance2).transform.position, 0.5f), Quaternion.identity); obj.SetPosition(0, position); obj.SetPosition(1, ((Component)instance2).transform.position); Object.Instantiate(instance.zapImpactParticle, ((Component)instance2).transform.position, Quaternion.identity); } foreach (EnemyIdentifier currentEnemy in MonoSingleton.Instance.GetCurrentEnemies()) { if ((alreadyHitObjects == null || !alreadyHitObjects.Contains(((Component)currentEnemy).gameObject)) && currentEnemy.enemyType != enemyType && (int)currentEnemy.enemyType != 22 && (!currentEnemy.flying || currentEnemy.touchingWaters.Count != 0)) { Vector3 val = (Object.op_Implicit((Object)(object)currentEnemy.overrideCenter) ? currentEnemy.overrideCenter.position : ((Component)currentEnemy).transform.position); if ((TimeSince.op_Implicit(currentEnemy.lastZapped) > 1f || Vector3.Distance(position, val) < dist) && !Physics.Raycast(position, val - position, Vector3.Distance(position, val), LayerMask.op_Implicit(LayerMaskDefaults.Get((LMD)1)))) { currentEnemy.hitter = "zap"; currentEnemy.hitterAttributes.Add((HitterAttribute)2); currentEnemy.DeliverDamage(((Component)currentEnemy).gameObject, Vector3.zero, val, Mathf.Max((TimeSince.op_Implicit(currentEnemy.lastZapped) < 5f) ? 0.5f : 2f, damage), true, 0f, (GameObject)null, false, false); currentEnemy.lastZapped = TimeSince.op_Implicit(0f); LineRenderer obj2 = Object.Instantiate(instance.electricLine, Vector3.Lerp(position, val, 0.5f), Quaternion.identity); obj2.SetPosition(0, position); obj2.SetPosition(1, val); Object.Instantiate(instance.zapImpactParticle, val, Quaternion.identity); } } } RaycastHit val2 = default(RaycastHit); foreach (Zappable zappables in MonoSingleton.Instance.zappablesList) { if ((Object)(object)zappables != (Object)null && !alreadyHitObjects.Contains(((Component)zappables).gameObject) && Vector3.Distance(position, ((Component)zappables).transform.position) < dist && (!Physics.Raycast(position, ((Component)zappables).transform.position - position, ref val2, Vector3.Distance(position, ((Component)zappables).transform.position), LayerMask.op_Implicit(LayerMaskDefaults.Get((LMD)1))) || (Object)(object)((Component)((RaycastHit)(ref val2)).transform).gameObject == (Object)(object)((Component)zappables).gameObject)) { ((MonoBehaviour)zappables).StartCoroutine(zappables.Zap(alreadyHitObjects, Mathf.Max(0.5f, damage), (GameObject)null)); LineRenderer obj3 = Object.Instantiate(instance.electricLine, Vector3.Lerp(position, ((Component)zappables).transform.position, 0.5f), Quaternion.identity); obj3.SetPosition(0, position); obj3.SetPosition(1, ((Component)zappables).transform.position); } } } } } namespace FentoKill.PortalFix { public class PortalTransform { public Vector3 position; public Vector3 rotation; public Vector2 scale; public PortalTransform() { } public PortalTransform(Vector3 pos, Vector3 euler, Vector2 scale) { //IL_0007: Unknown result type (might be due to invalid IL or missing references) //IL_0008: Unknown result type (might be due to invalid IL or missing references) //IL_000e: Unknown result type (might be due to invalid IL or missing references) //IL_000f: Unknown result type (might be due to invalid IL or missing references) //IL_0015: Unknown result type (might be due to invalid IL or missing references) //IL_0016: Unknown result type (might be due to invalid IL or missing references) position = pos; rotation = euler; this.scale = scale; } public override bool Equals(object obj) { //IL_000b: Unknown result type (might be due to invalid IL or missing references) //IL_0011: 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_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) if (obj is PortalTransform portalTransform && position == portalTransform.position && rotation == portalTransform.rotation) { return scale == portalTransform.scale; } return false; } public override int GetHashCode() { //IL_0001: Unknown result type (might be due to invalid IL or missing references) //IL_0007: 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) return (position, rotation, scale).GetHashCode(); } } public class PortalConstructorArguments { public PortalTransform entrance; public PortalTransform exit; public bool doubleSided; public bool makeGroup; public PortalConstructorArguments() { } public PortalConstructorArguments(PortalTransform entrance, PortalTransform exit, bool doubleSided = false, bool makeGroup = true) { this.entrance = entrance; this.exit = exit; this.doubleSided = doubleSided; this.makeGroup = makeGroup; } public override bool Equals(object obj) { if (obj is PortalConstructorArguments portalConstructorArguments && doubleSided == portalConstructorArguments.doubleSided && makeGroup == portalConstructorArguments.makeGroup && object.Equals(entrance, portalConstructorArguments.entrance)) { return object.Equals(exit, portalConstructorArguments.exit); } return false; } public override int GetHashCode() { return (entrance, exit, doubleSided, makeGroup).GetHashCode(); } } public class PortalObjectMain { public GameObject portalA; public GameObject portalB; public GameObject whole; public Portal portal; public PortalObjectMain() { } internal PortalObjectMain(GameObject portalA, GameObject portalB, GameObject whole, Portal portal) { this.whole = whole; this.portalA = portalA; this.portalB = portalB; this.portal = portal; } } public static class PortalConstructor { public class Update_Portal : MonoBehaviour { public Portal Portal; public void Update() { //IL_0021: Unknown result type (might be due to invalid IL or missing references) //IL_002f: Unknown result type (might be due to invalid IL or missing references) //IL_0046: Unknown result type (might be due to invalid IL or missing references) //IL_0055: Unknown result type (might be due to invalid IL or missing references) if (!Object.op_Implicit((Object)(object)Portal)) { Portal = ((Component)this).GetComponent(); } Portal.shape = (IPortalShape)(object)new PlaneShape { width = ((Component)this).transform.localScale.x, height = ((Component)this).transform.localScale.y }; } } public static PortalObjectMain CreatePortalPlayer() { //IL_000c: 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_002f: Unknown result type (might be due to invalid IL or missing references) //IL_003f: Unknown result type (might be due to invalid IL or missing references) //IL_004a: Unknown result type (might be due to invalid IL or missing references) //IL_0054: Unknown result type (might be due to invalid IL or missing references) //IL_0059: Unknown result type (might be due to invalid IL or missing references) //IL_006d: Unknown result type (might be due to invalid IL or missing references) //IL_007c: Unknown result type (might be due to invalid IL or missing references) NewMovement instance = MonoSingleton.Instance; return MakePortal(new PortalConstructorArguments(new PortalTransform(((Component)instance).transform.position, new Vector3(0f, 0f, 0f), new Vector2(5f, 5f)), new PortalTransform(((Component)instance).transform.position + ((Component)instance).transform.forward * 5f, new Vector3(0f, 180f, 0f), new Vector2(5f, 5f)), doubleSided: true)); } public static PortalObjectMain MakePortal(PortalConstructorArguments args) { //IL_000c: Unknown result type (might be due to invalid IL or missing references) //IL_0019: Unknown result type (might be due to invalid IL or missing references) //IL_0025: Unknown result type (might be due to invalid IL or missing references) //IL_005e: Unknown result type (might be due to invalid IL or missing references) //IL_008a: Unknown result type (might be due to invalid IL or missing references) PortalTransform exit = args.exit; Transform transform = new GameObject("Exit").transform; transform.position = exit.position; transform.eulerAngles = exit.rotation; ((Component)transform).gameObject.layer = 22; ((Collider)ComponentExtensions.GetOrAddComponent((Component)(object)transform)).isTrigger = true; ComponentExtensions.GetOrAddComponent((Component)(object)transform); ComponentExtensions.GetOrAddComponent((Component)(object)transform); PortalObjectMain portalObjectMain = MakePortal(args.entrance, transform, exit.scale, args.makeGroup); if (args.doubleSided) { PortalObjectMain portalObjectMain2 = MakePortal(args.exit, portalObjectMain.portalA.transform, exit.scale, mkeGroup: false, ((Component)transform).gameObject); portalObjectMain2.portalA.transform.parent = portalObjectMain.whole.transform; ((Object)portalObjectMain2.portalA.transform).name = "PortalDoubleside"; } transform.parent = portalObjectMain.whole.transform; return portalObjectMain; } public static PortalObjectMain MakePortal(PortalTransform entrance, Transform exit, Vector2 scale = default(Vector2), bool mkeGroup = true, GameObject enter = null) { //IL_000a: Unknown result type (might be due to invalid IL or missing references) //IL_0010: Expected O, but got Unknown //IL_0035: Unknown result type (might be due to invalid IL or missing references) //IL_003b: Expected O, but got Unknown //IL_0078: Unknown result type (might be due to invalid IL or missing references) //IL_0089: Unknown result type (might be due to invalid IL or missing references) //IL_009a: Unknown result type (might be due to invalid IL or missing references) //IL_009f: Unknown result type (might be due to invalid IL or missing references) //IL_00b3: Unknown result type (might be due to invalid IL or missing references) //IL_00dd: Unknown result type (might be due to invalid IL or missing references) //IL_00fe: Unknown result type (might be due to invalid IL or missing references) //IL_0106: Unknown result type (might be due to invalid IL or missing references) //IL_010d: Unknown result type (might be due to invalid IL or missing references) GameObject val = null; if (mkeGroup) { val = new GameObject("Portal"); } GameObject val2 = enter; if ((Object)(object)enter == (Object)null) { val2 = new GameObject("Entrance", new Type[1] { typeof(Portal) }); val2.layer = 22; ((Collider)GameObjectExtensions.GetOrAddComponent(val2)).isTrigger = true; GameObjectExtensions.GetOrAddComponent(val2); GameObjectExtensions.GetOrAddComponent(val2); } if (mkeGroup) { val2.transform.parent = val.transform; } val2.transform.position = entrance.position; val2.transform.eulerAngles = entrance.rotation; val2.transform.localScale = Vector2.op_Implicit(entrance.scale); Portal orAddComponent = GameObjectExtensions.GetOrAddComponent(val2); orAddComponent.shape = (IPortalShape)(object)new PlaneShape { width = entrance.scale.x, height = entrance.scale.y }; orAddComponent.entry = val2.transform; orAddComponent.exit = exit; orAddComponent.entryTravelFlags = (PortalTravellerFlags)62; orAddComponent.exitTravelFlags = (PortalTravellerFlags)62; orAddComponent.renderSettings = (PortalSideFlags)2; orAddComponent.maxRecursions = 0; orAddComponent.canHearAudio = true; return new PortalObjectMain(val2, ((Component)exit).gameObject, val, orAddComponent); } } } namespace FentoKill.Patches { public static class F_Utils { public static bool UltraCheck(EnemyIdentifier eid) { //IL_0018: Unknown result type (might be due to invalid IL or missing references) //IL_001f: Invalid comparison between Unknown and I4 //IL_0022: Unknown result type (might be due to invalid IL or missing references) //IL_0029: Invalid comparison between Unknown and I4 if ((InvincibleEnemies.Enabled && eid.blessed) || eid.dead || (int)eid.enemyType == 21 || (int)eid.enemyType == 39) { return true; } return false; } public static float CalculateDamage(float multiplier, float critMultiplier) { return multiplier + multiplier * 1f * critMultiplier; } } public static class Base_Patches { [HarmonyPatch(typeof(EnemySpawnableInstance), "UpdateRadiance")] [HarmonyPostfix] public static void EnemyIdentifier__UpdateRadiance(EnemySpawnableInstance __instance) { __instance.eid.radianceTier = ((__instance.eid.radianceTier == 0f) ? 1f : __instance.eid.radianceTier); __instance.eid.healthBuffModifier = ((__instance.eid.healthBuffModifier == 0f) ? 1.5f : __instance.eid.healthBuffModifier); __instance.eid.damageBuffModifier = ((__instance.eid.damageBuffModifier == 0f) ? 1.5f : __instance.eid.damageBuffModifier); __instance.eid.speedBuffModifier = ((__instance.eid.speedBuffModifier == 0f) ? 1.5f : __instance.eid.speedBuffModifier); __instance.radiance.healthBuff = ((__instance.radiance.healthBuff == 0f) ? 1.5f : __instance.radiance.healthBuff); __instance.radiance.damageBuff = ((__instance.radiance.damageBuff == 0f) ? 1.5f : __instance.radiance.damageBuff); __instance.radiance.speedBuff = ((__instance.radiance.speedBuff == 0f) ? 1.5f : __instance.radiance.speedBuff); ((Component)__instance.eid).SendMessage("UpdateBuff", (SendMessageOptions)1); } [HarmonyPatch(typeof(EnemyIdentifier), "Start")] [HarmonyPrefix] public static void EnemyIdentifier__Debug(EnemyIdentifier __instance) { if (Fento_Difficulty_Options.Global_Enable_Modify_Everyone) { GameObjectExtensions.GetOrAddComponent(((Component)__instance).gameObject); } } [HarmonyPatch(typeof(EnemyIdentifier), "DeliverDamage")] [HarmonyPrefix] public static bool EnemyIdentifier_DeliverDamage(ref Vector3 force, ref float multiplier, EnemyIdentifier __instance) { //IL_003d: Unknown result type (might be due to invalid IL or missing references) //IL_0042: Unknown result type (might be due to invalid IL or missing references) if (UltraEnrage_Enemy.Dictionary.Count > 0 && UltraEnrage_Enemy.Dictionary.ContainsKey(((Component)__instance).transform)) { if (multiplier >= 99999f) { multiplier = 2.5f + __instance.Health * 0.1f; } force = Vector3.zero; } return true; } } public static class UltraReprise_Patches { [HarmonyPatch(typeof(Enemy), "HandleParrying")] [HarmonyPostfix] public static void Enemy_HandleParrying(ref DamageData data, EnemyIdentifier ___eid, Enemy __instance) { //IL_0056: 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 (!F_Utils.UltraCheck(___eid) && (__instance.health <= 0.1f || __instance.parryable) && Bless_BeforeDeath.Dict.TryGetValue(((Component)__instance).gameObject, out var value)) { __instance.health = Mathf.Max(__instance.health, 1f); data.damage = 0f; data.force = Vector3.zero; data.cancel = true; value.Activate(); } } [HarmonyPatch(typeof(Enemy), "GetHurt")] [HarmonyPrefix] public static bool Enemy_GetHurt(Vector3 force, float multiplier, float critMultiplier, EnemyIdentifier ___eid, Enemy __instance) { if (F_Utils.UltraCheck(___eid)) { return true; } if (__instance.health - F_Utils.CalculateDamage(multiplier, critMultiplier) < 0.15f && Bless_BeforeDeath.Dict.TryGetValue(((Component)__instance).gameObject, out var value)) { value.Activate(); return false; } return true; } [HarmonyPatch(typeof(EnemyScript), "OnParry")] [HarmonyPrefix] public static bool EnemyScript_OnParry(EnemyScript __instance) { //IL_0018: Unknown result type (might be due to invalid IL or missing references) //IL_001e: Invalid comparison between Unknown and I4 EnemyIdentifier component = ((Component)__instance).GetComponent(); if (!Object.op_Implicit((Object)(object)component) || F_Utils.UltraCheck(component) || (int)component.enemyType == 6) { return true; } if (Bless_BeforeDeath.Dict.TryGetValue(((Component)__instance).gameObject, out var value)) { value.Activate(); return false; } return true; } [HarmonyPatch(typeof(Streetcleaner), "HandleCanisterHit")] [HarmonyPrefix] public static bool Streetcleaner_HandleCanisterHit(EnemyIdentifier ___eid, Streetcleaner __instance) { if (F_Utils.UltraCheck(___eid)) { return true; } if (Bless_BeforeDeath.Dict.TryGetValue(((Component)__instance).gameObject, out var value)) { value.Activate(); return false; } return true; } [HarmonyPatch(typeof(EnemyIdentifier), "DeliverDamage")] [HarmonyPrefix] public static bool EnemyIdentifier_DeliverDamage(Vector3 force, float multiplier, int ___difficulty, EnemyIdentifier __instance) { if (F_Utils.UltraCheck(__instance)) { return true; } multiplier *= __instance.totalDamageTakenMultiplier; multiplier /= __instance.totalHealthModifier; if (__instance.isBoss && ___difficulty >= 4) { multiplier = ((___difficulty != 5) ? (multiplier / 1.5f) : (multiplier / 2f)); } if (__instance.weaknesses.Length != 0) { for (int i = 0; i < __instance.weaknesses.Length; i++) { if (__instance.hitter == __instance.weaknesses[i] || (__instance.hitterAttributes.Contains((HitterAttribute)2) && __instance.weaknesses[i] == "electricity")) { multiplier *= __instance.weaknessMultipliers[i]; } } } if (__instance.health - multiplier < 0.15f && Bless_BeforeDeath.Dict.TryGetValue(((Component)__instance).gameObject, out var value)) { value.Activate(); return false; } return true; } [HarmonyPatch(typeof(EnemyIdentifier), "Splatter")] [HarmonyPrefix] public static bool EnemyIdentifier_Splatter(EnemyIdentifier __instance) { //IL_0009: Unknown result type (might be due to invalid IL or missing references) //IL_000f: Invalid comparison between Unknown and I4 if (F_Utils.UltraCheck(__instance) || (int)__instance.enemyType == 6) { return true; } if (Bless_BeforeDeath.Dict.TryGetValue(((Component)__instance).gameObject, out var value)) { value.Activate(); return false; } return true; } [HarmonyPatch(typeof(EnemyIdentifier), "Explode")] [HarmonyPrefix] public static bool EnemyIdentifier_Explode(EnemyIdentifier __instance) { //IL_0011: Unknown result type (might be due to invalid IL or missing references) //IL_0017: Invalid comparison between Unknown and I4 if (__instance.dead || F_Utils.UltraCheck(__instance) || (int)__instance.enemyType == 6) { return true; } if (Bless_BeforeDeath.Dict.TryGetValue(((Component)__instance).gameObject, out var value)) { value.Activate(); return false; } return true; } [HarmonyPatch(typeof(EnemyIdentifier), "ProcessDeath")] [HarmonyPrefix] public static bool EnemyIdentifier_ProcessDeath(EnemyIdentifier __instance) { //IL_0009: Unknown result type (might be due to invalid IL or missing references) //IL_000f: Invalid comparison between Unknown and I4 if (F_Utils.UltraCheck(__instance) || (int)__instance.enemyType == 6) { return true; } if (Bless_BeforeDeath.Dict.TryGetValue(((Component)__instance).gameObject, out var value)) { value.Activate(); return false; } return true; } [HarmonyPatch(typeof(EnemyIdentifier), "InstaKill")] [HarmonyPrefix] public static bool EnemyIdentifier_InstaKill(EnemyIdentifier __instance) { //IL_0009: Unknown result type (might be due to invalid IL or missing references) //IL_000f: Invalid comparison between Unknown and I4 if (F_Utils.UltraCheck(__instance) || (int)__instance.enemyType == 6) { return true; } if (Bless_BeforeDeath.Dict.TryGetValue(((Component)__instance).gameObject, out var value)) { value.Activate(); return false; } return true; } } public static class V2_Patches { public static bool RageShotDouble = true; [HarmonyPatch(typeof(Nail), "MagnetCaught")] [HarmonyPrefix] public static bool Nail_MagnetCaught(ref Magnet mag, Nail __instance) { if (!__instance.stopped && __instance.enemy && __instance.sawblade) { mag.DamageMagnet(1f); return false; } return true; } [HarmonyPatch(typeof(Nail), "FixedUpdate")] [HarmonyPrefix] public static void Nail_FixedUpdate(Nail __instance) { //IL_0034: Unknown result type (might be due to invalid IL or missing references) //IL_003f: Unknown result type (might be due to invalid IL or missing references) //IL_0127: 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_012f: Unknown result type (might be due to invalid IL or missing references) //IL_013a: Unknown result type (might be due to invalid IL or missing references) //IL_013f: Unknown result type (might be due to invalid IL or missing references) if (!__instance.enemy || !__instance.sawblade || !Object.op_Implicit((Object)(object)__instance.rb) || __instance.hit || __instance.stopped) { return; } Collider[] array = Physics.OverlapSphere(((Component)__instance).transform.position, 0.5f, LayerMask.op_Implicit(LayerMaskDefaults.Get((LMD)0)), (QueryTriggerInteraction)1); if (array != null && array.Length != 0) { for (int i = 0; i < array.Length; i++) { if (((Component)((Component)array[i]).transform).gameObject.layer == 2) { AudioSource component = ((Component)__instance).GetComponent(); component.clip = __instance.enemyHitSound; component.pitch = Random.Range(0.9f, 1.1f); component.volume = 0.2f; component.Play(); if (__instance.sawblade) { MonoSingleton.Instance.GetHurt((int)(__instance.damage * 35f), true, 1f, false, false, 0.35f, false); } else { MonoSingleton.Instance.GetHurt((int)(__instance.damage * 50f), true, 1f, false, false, 0.35f, false); } __instance.SawBreak(); return; } } } Rigidbody rb = __instance.rb; Vector3 velocity = __instance.rb.velocity; Vector3 normalized = ((Vector3)(ref velocity)).normalized; velocity = __instance.rb.velocity; RaycastHit[] array2 = rb.SweepTestAll(normalized, ((Vector3)(ref velocity)).magnitude * Time.fixedDeltaTime, (QueryTriggerInteraction)1); if (array2 == null || array2.Length == 0) { return; } Array.Sort(array2, (RaycastHit x, RaycastHit y) => ((RaycastHit)(ref x)).distance.CompareTo(((RaycastHit)(ref y)).distance)); for (int j = 0; j < array2.Length; j++) { if (((Component)((RaycastHit)(ref array2[j])).transform).gameObject.layer == 2) { AudioSource component2 = ((Component)__instance).GetComponent(); component2.clip = __instance.enemyHitSound; component2.pitch = Random.Range(0.9f, 1.1f); component2.volume = 0.2f; component2.Play(); if (__instance.sawblade) { MonoSingleton.Instance.GetHurt((int)(__instance.damage * 35f), true, 1f, false, false, 0.35f, false); } else { MonoSingleton.Instance.GetHurt((int)(__instance.damage * 50f), true, 1f, false, false, 0.35f, false); } __instance.SawBreak(); break; } } } [HarmonyPatch(typeof(EnemyNailgun), "Fire")] [HarmonyPostfix] public static void EnemyNailgun_Fire_Buff(EnemyNailgun __instance) { V2_Boss_Buff boss = ((V2_Boss_Buff.Bosses.Count == 0) ? null : ((Component)__instance).GetComponentInParent()); if (!((Object)(object)boss != (Object)null)) { return; } __instance.cooldown = 0f; foreach (Magnet magnet in MonoSingleton.Instance.magnets) { if (Object.op_Implicit((Object)(object)magnet) && !Object.op_Implicit((Object)(object)magnet.onEnemy)) { magnet.DamageMagnet(1f); } } if (boss.A_V2.slideOnly) { return; } __instance.currentSpread = 12f; if (!(boss.Saw_Charge > 0.9f)) { return; } boss.Saw_Charge = 0f; for (int i = 0; i < 4; i++) { Main_Utils.Invoke_WithDelay(0.06f + 0.06f * (float)i, delegate { //IL_002a: Unknown result type (might be due to invalid IL or missing references) //IL_003a: Unknown result type (might be due to invalid IL or missing references) //IL_0072: Unknown result type (might be due to invalid IL or missing references) //IL_0077: Unknown result type (might be due to invalid IL or missing references) //IL_007c: Unknown result type (might be due to invalid IL or missing references) //IL_00a3: Unknown result type (might be due to invalid IL or missing references) //IL_00a8: Unknown result type (might be due to invalid IL or missing references) //IL_00ad: Unknown result type (might be due to invalid IL or missing references) //IL_00b1: Unknown result type (might be due to invalid IL or missing references) //IL_00bb: Unknown result type (might be due to invalid IL or missing references) //IL_00c0: Unknown result type (might be due to invalid IL or missing references) //IL_00d1: Unknown result type (might be due to invalid IL or missing references) //IL_00dc: Unknown result type (might be due to invalid IL or missing references) //IL_00e6: Unknown result type (might be due to invalid IL or missing references) //IL_00eb: Unknown result type (might be due to invalid IL or missing references) //IL_0108: Unknown result type (might be due to invalid IL or missing references) //IL_011e: Unknown result type (might be due to invalid IL or missing references) //IL_0128: Unknown result type (might be due to invalid IL or missing references) //IL_0151: Unknown result type (might be due to invalid IL or missing references) //IL_0170: Unknown result type (might be due to invalid IL or missing references) if (boss.eid.target != null) { GameObject val = Object.Instantiate(Fento_Assets.NailAltFodder.gameObject, ((Component)__instance).transform.position, ((Component)__instance).transform.rotation); ((Component)boss).transform.DissableColliders(val.transform.root); val.transform.position = ((Component)__instance).transform.position + Vector3.up; Transform transform = val.transform; Vector3 val2 = Main_Utils.PredictTargetPosition(boss.eid.target, 0.1f); Vector3 insideUnitSphere = Random.insideUnitSphere; transform.LookAt(val2 + ((Vector3)(ref insideUnitSphere)).normalized * 5f); Transform transform2 = val.transform; transform2.position += val.transform.forward * 2f; Nail val3 = default(Nail); if (val.TryGetComponent(ref val3)) { val3.enemy = true; val3.safeEnemyType = (EnemyType)8; } Rigidbody val4 = default(Rigidbody); if (val.TryGetComponent(ref val4)) { val4.velocity = ((Component)val4).transform.forward * 250f; } TrailRenderer val5 = default(TrailRenderer); if (val.TryGetComponent(ref val5)) { val5.startColor = new Color(1f, 0f, 0f, 1f); val5.endColor = new Color(1f, 0.8f, 0.8f, 0f); } } }); } } [HarmonyPatch(typeof(EnemyNailgun), "AltFire")] [HarmonyPostfix] public static void EnemyNailgun_AltFire_Buff(EnemyNailgun __instance) { if (!((Object)(object)((V2_Boss_Buff.Bosses.Count == 0) ? null : ((Component)__instance).GetComponentInParent()) != (Object)null)) { return; } __instance.cooldown = 0f; __instance.burstAmount = 200; foreach (Magnet magnet in MonoSingleton.Instance.magnets) { if (Object.op_Implicit((Object)(object)magnet)) { magnet.DamageMagnet(3f); } } } [HarmonyPatch(typeof(EnemyShotgun), "Fire")] [HarmonyPostfix] public static void EnemyShotgun_Fire_Buff(TargetData? ___targetData, EnemyIdentifier ___eid, EnemyShotgun __instance) { //IL_02d2: Unknown result type (might be due to invalid IL or missing references) //IL_02d8: Invalid comparison between Unknown and I4 //IL_02f8: Unknown result type (might be due to invalid IL or missing references) //IL_032e: Unknown result type (might be due to invalid IL or missing references) //IL_033e: Unknown result type (might be due to invalid IL or missing references) //IL_00a1: Unknown result type (might be due to invalid IL or missing references) //IL_00b1: Unknown result type (might be due to invalid IL or missing references) //IL_03bb: Unknown result type (might be due to invalid IL or missing references) //IL_03c0: Unknown result type (might be due to invalid IL or missing references) //IL_03d8: Unknown result type (might be due to invalid IL or missing references) //IL_0412: Unknown result type (might be due to invalid IL or missing references) //IL_0129: Unknown result type (might be due to invalid IL or missing references) //IL_012e: Unknown result type (might be due to invalid IL or missing references) //IL_047c: Unknown result type (might be due to invalid IL or missing references) //IL_0483: Expected O, but got Unknown //IL_048d: Unknown result type (might be due to invalid IL or missing references) //IL_0494: Unknown result type (might be due to invalid IL or missing references) //IL_0499: Unknown result type (might be due to invalid IL or missing references) //IL_04a0: Unknown result type (might be due to invalid IL or missing references) //IL_04a7: Unknown result type (might be due to invalid IL or missing references) //IL_04ac: Unknown result type (might be due to invalid IL or missing references) //IL_04c3: Unknown result type (might be due to invalid IL or missing references) //IL_04c8: Unknown result type (might be due to invalid IL or missing references) //IL_04d9: Unknown result type (might be due to invalid IL or missing references) //IL_04de: Unknown result type (might be due to invalid IL or missing references) //IL_0198: Unknown result type (might be due to invalid IL or missing references) //IL_019f: Expected O, but got Unknown //IL_01a9: Unknown result type (might be due to invalid IL or missing references) //IL_01b0: Unknown result type (might be due to invalid IL or missing references) //IL_01b5: Unknown result type (might be due to invalid IL or missing references) //IL_01bc: Unknown result type (might be due to invalid IL or missing references) //IL_01c3: Unknown result type (might be due to invalid IL or missing references) //IL_01c8: Unknown result type (might be due to invalid IL or missing references) //IL_01df: Unknown result type (might be due to invalid IL or missing references) //IL_01e4: Unknown result type (might be due to invalid IL or missing references) //IL_01f5: Unknown result type (might be due to invalid IL or missing references) //IL_01fa: Unknown result type (might be due to invalid IL or missing references) //IL_04fe: Unknown result type (might be due to invalid IL or missing references) //IL_046a: Unknown result type (might be due to invalid IL or missing references) //IL_0219: Unknown result type (might be due to invalid IL or missing references) //IL_0187: Unknown result type (might be due to invalid IL or missing references) V2_Boss_Buff v2_Boss_Buff = ((V2_Boss_Buff.Bosses.Count == 0) ? null : ((Component)__instance).GetComponentInParent()); if ((Object)(object)v2_Boss_Buff != (Object)null && !v2_Boss_Buff.A_V2.slideOnly) { if (!((Component)__instance).gameObject.activeInHierarchy || !((Component)__instance).gameObject.activeSelf || v2_Boss_Buff.eid.target == null) { return; } FixBullets(); Projectile val = default(Projectile); if (Object.Instantiate(__instance.bullet, ((Component)__instance).transform.position, __instance.shootPoint.rotation).TryGetComponent(ref val)) { float num = ((Random.value < 0.1f) ? 1.2f : 1f); Projectile obj = val; obj.speed *= num * 2f; Projectile obj2 = val; obj2.damage *= num * v2_Boss_Buff.eid.totalDamageModifier; val.SetProjTarget(___eid.target); val.safeEnemyType = __instance.safeEnemyType; val.spreaded = true; Color val2 = default(Color); ((Color)(ref val2))..ctor(1f, 0.35f, 0f); MeshRenderer val3 = default(MeshRenderer); if (((Component)val).TryGetComponent(ref val3) && Object.op_Implicit((Object)(object)((Renderer)val3).material) && ((Renderer)val3).material.HasProperty("_Color")) { ((Renderer)val3).material.SetColor("_Color", val2); } TrailRenderer val4 = default(TrailRenderer); if (((Component)val).TryGetComponent(ref val4)) { Gradient val5 = new Gradient(); val5.SetKeys((GradientColorKey[])(object)new GradientColorKey[2] { new GradientColorKey(val2, 0f), new GradientColorKey(val2, 1f) }, (GradientAlphaKey[])(object)new GradientAlphaKey[2] { new GradientAlphaKey(1f, 0f), new GradientAlphaKey(0f, 1f) }); val4.colorGradient = val5; } Light val6 = default(Light); if (((Component)val).TryGetComponent(ref val6)) { val6.color = val2; } val.boosted = true; val.parried = false; val.friendly = false; val.playerBullet = false; val.hittingPlayer = false; val.precheckForCollisions = true; val.explosive = false; val.explosionEffect = Fento_Assets.Explosion.gameObject; } v2_Boss_Buff.Extra_Shot_Fire++; float num2 = ((Random.value < (v2_Boss_Buff.Half_Damaged ? 0.5f : 0.1f)) ? 1 : 0); if ((float)v2_Boss_Buff.Extra_Shot_Fire < 2f + num2) { Main_Utils.Invoke_WithDelay(0.25f, delegate { __instance.Fire(false); }); } else { v2_Boss_Buff.Extra_Shot_Fire = 0; } } else { if (!((Object)(object)___eid != (Object)null) || (int)___eid.enemyType != 7 || ___eid.target == null || !Object.op_Implicit((Object)(object)UltraEnrage_Enemy.FindNearest(((Component)__instance).transform.position, (EnemyType)7))) { return; } FixBullets(); GameObject val7 = Object.Instantiate(__instance.bullet, ((Component)__instance).transform.position, __instance.shootPoint.rotation); Projectile val8 = default(Projectile); if (val7.TryGetComponent(ref val8)) { float num3 = ((Random.value < 0.1f) ? 1.2f : 1f); Projectile obj3 = val8; obj3.speed *= num3 * 2f; Projectile obj4 = val8; obj4.damage *= ___eid.totalDamageModifier; val8.SetProjTarget(___eid.target); val8.safeEnemyType = __instance.safeEnemyType; val8.spreaded = true; float num4 = Main_Utils.PredictTimeOld(((Component)__instance).transform.position, val8.speed, ___eid.target); val7.transform.LookAt(Main_Utils.PredictTargetPosition(___eid.target, num4 + 0.01f)); Color val9 = default(Color); ((Color)(ref val9))..ctor(1f, 0.35f, 0f); MeshRenderer val10 = default(MeshRenderer); if (((Component)val8).TryGetComponent(ref val10) && Object.op_Implicit((Object)(object)((Renderer)val10).material) && ((Renderer)val10).material.HasProperty("_Color")) { ((Renderer)val10).material.SetColor("_Color", val9); } TrailRenderer val11 = default(TrailRenderer); if (((Component)val8).TryGetComponent(ref val11)) { Gradient val12 = new Gradient(); val12.SetKeys((GradientColorKey[])(object)new GradientColorKey[2] { new GradientColorKey(val9, 0f), new GradientColorKey(val9, 1f) }, (GradientAlphaKey[])(object)new GradientAlphaKey[2] { new GradientAlphaKey(1f, 0f), new GradientAlphaKey(0f, 1f) }); val11.colorGradient = val12; } Light val13 = default(Light); if (((Component)val8).TryGetComponent(ref val13)) { val13.color = val9; } val8.boosted = true; val8.parried = false; val8.friendly = false; val8.playerBullet = false; val8.hittingPlayer = false; val8.precheckForCollisions = true; val8.explosive = false; val8.explosionEffect = Fento_Assets.Explosion.gameObject; } if (RageShotDouble) { ((Component)___eid).GetComponent().SetTrigger("Shoot"); RageShotDouble = false; } else { RageShotDouble = true; } } void FixBullets() { //IL_0079: Unknown result type (might be due to invalid IL or missing references) //IL_0086: Unknown result type (might be due to invalid IL or missing references) //IL_00ee: Unknown result type (might be due to invalid IL or missing references) //IL_00f3: Unknown result type (might be due to invalid IL or missing references) //IL_00f8: Unknown result type (might be due to invalid IL or missing references) //IL_0101: Unknown result type (might be due to invalid IL or missing references) //IL_0067: Unknown result type (might be due to invalid IL or missing references) if (Object.op_Implicit((Object)(object)___eid)) { ProjectileSpread val14 = (from o in Object.FindObjectsOfType() where ((Component)o).transform.position == ((Component)__instance).transform.position select o).FirstOrDefault(); if (Object.op_Implicit((Object)(object)val14)) { Main_Utils.GetTargetPosition(___eid.target, out var targetPosition); Projectile[] componentsInChildren = ((Component)val14).GetComponentsInChildren(); for (int i = 0; i < componentsInChildren.Length; i++) { Projectile val15 = componentsInChildren[i]; if (i == 0) { ((Component)val15).transform.LookAt(targetPosition); } else { ((Component)val15).transform.LookAt(targetPosition); Quaternion rotation = ((Component)val15).transform.rotation * Quaternion.Euler(Random.Range(0f - __instance.spread, __instance.spread), Random.Range(0f - __instance.spread, __instance.spread), Random.Range(0f - __instance.spread, __instance.spread)); ((Component)val15).transform.rotation = rotation; } } } } } } [HarmonyPatch(typeof(EnemyShotgun), "AltFire")] [HarmonyPrefix] public static void EnemyShotgun_AltFire_Buff(EnemyShotgun __instance) { //IL_00ff: Unknown result type (might be due to invalid IL or missing references) //IL_0104: Unknown result type (might be due to invalid IL or missing references) //IL_0109: Unknown result type (might be due to invalid IL or missing references) //IL_0140: Unknown result type (might be due to invalid IL or missing references) //IL_0141: Unknown result type (might be due to invalid IL or missing references) //IL_0146: Unknown result type (might be due to invalid IL or missing references) V2_Boss_Buff boss = ((V2_Boss_Buff.Bosses.Count == 0) ? null : ((Component)__instance).GetComponentInParent()); if (!((Object)(object)boss != (Object)null) || boss.A_V2.slideOnly || !((Component)__instance).gameObject.activeInHierarchy || !((Component)__instance).gameObject.activeSelf) { return; } boss.Extra_Shot_Alt_Fire++; if (boss.Extra_Shot_Alt_Fire < (boss.Half_Damaged ? 3 : 2)) { Main_Utils.Invoke_WithDelay(0.05f, delegate { __instance.AltFire(false); }); return; } boss.Extra_Shot_Alt_Fire = 0; if (!(boss.Nuke_Charge > 0.95f)) { return; } int @int = MonoSingleton.Instance.GetInt("difficulty", 0); Vector2 val = Vector2.op_Implicit(((Component)boss).transform.position); Main_Utils.GetTargetPosition(boss.eid.target, out var targetPosition); float num = 70f; switch (@int) { case 1: num = 50f; break; case 0: num = 30f; break; } Main_Utils.Invoke_WithDelay(Vector2.Distance(Vector2.op_Implicit(targetPosition), val) / num, delegate { //IL_0074: Unknown result type (might be due to invalid IL or missing references) //IL_0084: Unknown result type (might be due to invalid IL or missing references) //IL_00a0: Unknown result type (might be due to invalid IL or missing references) //IL_00a5: Unknown result type (might be due to invalid IL or missing references) //IL_00aa: Unknown result type (might be due to invalid IL or missing references) //IL_00c0: Unknown result type (might be due to invalid IL or missing references) //IL_00d1: Unknown result type (might be due to invalid IL or missing references) //IL_00dc: Unknown result type (might be due to invalid IL or missing references) //IL_00e1: Unknown result type (might be due to invalid IL or missing references) using IEnumerator enumerator = (from g in V2_Boss_Buff.V2_Explode_Fix.ActiveList where (Object)(object)g != (Object)null && ((Component)g).gameObject.activeInHierarchy orderby Vector2.Distance(Vector2.op_Implicit(((Component)boss).transform.position), Vector2.op_Implicit(((Component)g).transform.position)) select g).GetEnumerator(); if (enumerator.MoveNext()) { V2_Boss_Buff.V2_Explode_Fix current = enumerator.Current; GameObject val2 = Object.Instantiate(Fento_Assets.MaliciousBeam.gameObject, ((Component)boss).transform.position, ((Component)boss).transform.rotation); val2.transform.position = ((Component)boss).transform.position + Vector3.up; val2.transform.LookAt(((Component)current).transform.position); Transform transform = val2.transform; transform.position += val2.transform.forward; boss.SpearHook_Charge -= 0.2f; boss.Railcannon_Charge -= 0.2f; boss.Nuke_Charge = 0f; } }); } [HarmonyPatch(typeof(EnemyRevolver), "Fire")] [HarmonyPrefix] public static void EnemyEnemyRevolver_Fire_Buff(EnemyRevolver __instance) { V2_Boss_Buff boss = ((V2_Boss_Buff.Bosses.Count == 0) ? null : ((Component)__instance).GetComponentInParent()); if (!((Object)(object)boss != (Object)null) || !((Component)__instance).gameObject.activeInHierarchy || boss.eid.target == null) { return; } if (Object.op_Implicit((Object)(object)__instance.bullet.GetComponent())) { if (boss.Extra_Shot_Rocker || !(Random.value < 0.5f)) { return; } boss.Extra_Shot_Rocker = true; Main_Utils.Invoke_WithDelay(Random.Range(0.7f, 1.1f), delegate { //IL_0071: Unknown result type (might be due to invalid IL or missing references) //IL_0076: 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_009c: Unknown result type (might be due to invalid IL or missing references) //IL_009d: 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) boss.Extra_Shot_Rocker = false; if (!boss.A_V2.slideOnly) { __instance.Fire(false); } if (boss.Nuke_Charge > 0.95f) { float num = 1f; Grenade component = __instance.bullet.GetComponent(); if (Object.op_Implicit((Object)(object)component) && component.rocket) { Vector2 val = Vector2.op_Implicit(((Component)boss).transform.position); Main_Utils.GetTargetPosition(boss.eid.target, out var targetPosition); float rocketSpeed = component.rocketSpeed; num = Vector2.Distance(Vector2.op_Implicit(targetPosition), val) / rocketSpeed; } Main_Utils.Invoke_WithDelay(num + Random.Range(-0.1f, 0.1f), delegate { //IL_0074: Unknown result type (might be due to invalid IL or missing references) //IL_0084: Unknown result type (might be due to invalid IL or missing references) //IL_00a0: Unknown result type (might be due to invalid IL or missing references) //IL_00a5: Unknown result type (might be due to invalid IL or missing references) //IL_00aa: Unknown result type (might be due to invalid IL or missing references) //IL_00c0: Unknown result type (might be due to invalid IL or missing references) //IL_00d1: Unknown result type (might be due to invalid IL or missing references) //IL_00dc: Unknown result type (might be due to invalid IL or missing references) //IL_00e1: Unknown result type (might be due to invalid IL or missing references) using IEnumerator enumerator = (from g in V2_Boss_Buff.V2_Explode_Fix.ActiveList where (Object)(object)g != (Object)null && ((Component)g).gameObject.activeInHierarchy orderby Vector2.Distance(Vector2.op_Implicit(((Component)boss).transform.position), Vector2.op_Implicit(((Component)g).transform.position)) select g).GetEnumerator(); if (enumerator.MoveNext()) { V2_Boss_Buff.V2_Explode_Fix current = enumerator.Current; GameObject val2 = Object.Instantiate(Fento_Assets.MaliciousBeam.gameObject, ((Component)boss).transform.position, ((Component)boss).transform.rotation); val2.transform.position = ((Component)boss).transform.position + Vector3.up; val2.transform.LookAt(((Component)current).transform.position); Transform transform = val2.transform; transform.position += val2.transform.forward; boss.SpearHook_Charge -= 0.2f; boss.Railcannon_Charge -= 0.2f; boss.Nuke_Charge = 0f; } }); } }); } else if (!boss.A_V2.slideOnly && Random.value < 0.15f) { Main_Utils.Invoke_WithDelay(Random.Range(0.2f, 0.35f), delegate { __instance.Fire(false); }); } } [HarmonyPatch(typeof(RevolverBeam), "PiercingShotCheck")] [HarmonyPrefix] private static void RevolverBeam_PiercingShotCheck_Buff(RevolverBeam __instance) { //IL_000c: Unknown result type (might be due to invalid IL or missing references) //IL_0012: Invalid comparison between Unknown and I4 //IL_001a: Unknown result type (might be due to invalid IL or missing references) //IL_0021: Invalid comparison between Unknown and I4 //IL_003c: Unknown result type (might be due to invalid IL or missing references) //IL_0042: Invalid comparison between Unknown and I4 //IL_0029: Unknown result type (might be due to invalid IL or missing references) //IL_0045: Unknown result type (might be due to invalid IL or missing references) //IL_004c: Invalid comparison between Unknown and I4 //IL_0068: Unknown result type (might be due to invalid IL or missing references) //IL_0075: Unknown result type (might be due to invalid IL or missing references) //IL_00c1: Unknown result type (might be due to invalid IL or missing references) //IL_00d0: 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_00eb: Unknown result type (might be due to invalid IL or missing references) if (!Object.op_Implicit((Object)(object)__instance) || (int)__instance.beamType != 3) { return; } UltraEnrage_Enemy ultraEnrage_Enemy = null; if ((int)__instance.ignoreEnemyType == 20) { ultraEnrage_Enemy = UltraEnrage_Enemy.FindNearest(((Component)__instance).transform.position, (EnemyType)20); } if ((int)__instance.ignoreEnemyType != 8 && (int)__instance.ignoreEnemyType != 22 && !((Object)(object)ultraEnrage_Enemy != (Object)null)) { return; } Rigidbody val = default(Rigidbody); Coin val2 = default(Coin); for (int i = 0; i < __instance.hitList.Count; i++) { _ = __instance.hitList[i]; GameObject gameObject = ((Component)__instance.hitList[i].transform).gameObject; if (!gameObject.CompareTag("Coin")) { continue; } if (gameObject.TryGetComponent(ref val)) { val.isKinematic = true; } if (gameObject.TryGetComponent(ref val2)) { GameObject obj = Object.Instantiate(val2.flash, ((Component)val2).transform.position, ((Component)MonoSingleton.Instance).transform.rotation); Transform transform = obj.transform; transform.localScale *= 2f; obj.transform.SetParent(gameObject.transform, true); Coin obj2 = val2; obj2.power += 5f; val2.shot = false; val2.customTarget = ((Object.op_Implicit((Object)(object)ultraEnrage_Enemy) && ultraEnrage_Enemy.eid.target != null) ? ultraEnrage_Enemy.eid.target : EnemyTarget.TrackPlayer()); if (val2.customTarget != null) { val2.DelayedEnemyReflect(); } __instance.fadeOut = true; __instance.enemiesPierced = __instance.hitList.Count; } } } [HarmonyPatch(typeof(V2), "SwitchWeapon")] [HarmonyPrefix] public static bool SwitchWeapon_Upgrade(ref int weapon, V2 __instance) { if (!V2_Boss_Buff.Bosses.ContainsKey(((Component)__instance).transform)) { return true; } if (weapon == 0) { return true; } if (__instance.weapons.Length > 3) { weapon = Random.Range(1, __instance.weapons.Length); if (__instance.weapons.Length > weapon) { __instance.currentWeapon = weapon; GameObject[] weapons = __instance.weapons; for (int i = 0; i < weapons.Length; i++) { weapons[i].SetActive(false); } __instance.weapons[weapon].SetActive(true); } return false; } return true; } [HarmonyPatch(typeof(V2), "ShootWeapon")] [HarmonyPrefix] public static void ShootWeapon_Upgrade(V2 __instance) { if (V2_Boss_Buff.Bosses.ContainsKey(((Component)__instance).transform) && __instance.secondEncounter && __instance.shootingForCoin && __instance.weapons.Length > 1) { int weapon = Random.Range(1, __instance.weapons.Length); Main_Utils.Invoke_WithDelay(0.3f, delegate { ((Component)__instance).SendMessage("SwitchWeapon", (object)weapon, (SendMessageOptions)1); }); } } [HarmonyPatch(typeof(V2), "AltShootWeapon")] [HarmonyPrefix] public static void AltShootWeapon_Upgrade(V2 __instance) { //IL_00cc: 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_00f1: Unknown result type (might be due to invalid IL or missing references) //IL_00f6: Unknown result type (might be due to invalid IL or missing references) //IL_00fb: Unknown result type (might be due to invalid IL or missing references) //IL_00fe: Unknown result type (might be due to invalid IL or missing references) //IL_0108: Unknown result type (might be due to invalid IL or missing references) //IL_010d: Unknown result type (might be due to invalid IL or missing references) //IL_0112: Unknown result type (might be due to invalid IL or missing references) //IL_0123: Unknown result type (might be due to invalid IL or missing references) //IL_012d: Unknown result type (might be due to invalid IL or missing references) //IL_013d: Unknown result type (might be due to invalid IL or missing references) if (!__instance.secondEncounter || __instance.slideOnly) { return; } V2_Boss_Buff boss = ((V2_Boss_Buff.Bosses.Count == 0) ? null : ((Component)__instance).GetComponentInParent()); if (!((Object)(object)boss != (Object)null) || boss.eid.target == null || !(Random.value < ((boss.Railcannon_Charge < 0.9f) ? 0.2f : 0.1f))) { return; } Main_Utils.GetTargetPosition(boss.eid.target, out var targetOgPos); GameObject gameObject = Fento_Assets.V2UnParry.gameObject; Vector3 position = ((Component)__instance).transform.position; Vector3 val = boss.eid.target.position - ((Component)__instance).transform.position; GameObject obj = Object.Instantiate(gameObject, position + ((Vector3)(ref val)).normalized * 2.5f, Quaternion.identity); Transform transform = obj.transform; transform.localScale *= 10f; obj.transform.LookAt(targetOgPos); Main_Utils.Invoke_WithDelay(0.5f, delegate { //IL_0031: Unknown result type (might be due to invalid IL or missing references) //IL_0046: Unknown result type (might be due to invalid IL or missing references) //IL_0056: Unknown result type (might be due to invalid IL or missing references) //IL_005b: 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_0064: Unknown result type (might be due to invalid IL or missing references) //IL_006e: Unknown result type (might be due to invalid IL or missing references) //IL_0073: Unknown result type (might be due to invalid IL or missing references) //IL_0083: Unknown result type (might be due to invalid IL or missing references) //IL_00d6: 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_011e: Unknown result type (might be due to invalid IL or missing references) //IL_0123: Unknown result type (might be due to invalid IL or missing references) //IL_012d: Unknown result type (might be due to invalid IL or missing references) //IL_0132: Unknown result type (might be due to invalid IL or missing references) //IL_0143: Unknown result type (might be due to invalid IL or missing references) //IL_0148: Unknown result type (might be due to invalid IL or missing references) //IL_0152: Unknown result type (might be due to invalid IL or missing references) //IL_0157: Unknown result type (might be due to invalid IL or missing references) //IL_0168: Unknown result type (might be due to invalid IL or missing references) //IL_0173: Unknown result type (might be due to invalid IL or missing references) //IL_017d: Unknown result type (might be due to invalid IL or missing references) //IL_0182: Unknown result type (might be due to invalid IL or missing references) //IL_01bd: Unknown result type (might be due to invalid IL or missing references) //IL_01c7: Unknown result type (might be due to invalid IL or missing references) Main_Utils.GetTargetPosition(boss.eid.target, out targetOgPos); GameObject gameObject2 = Fento_Assets.Railcannon_Fire.gameObject; Vector3 position2 = ((Component)__instance).transform.position; Vector3 val2 = boss.eid.target.position - ((Component)__instance).transform.position; AudioSource val3 = default(AudioSource); if (Object.Instantiate(gameObject2, position2 + ((Vector3)(ref val2)).normalized * 2.5f, ((Component)__instance).transform.rotation).TryGetComponent(ref val3)) { val3.clip = Fento_Assets.RocketFire_Default.obj; val3.pitch = Random.Range(0.6f, 0.8f); val3.Play(); } GameObject val4 = Object.Instantiate(Fento_Assets.Cannonball.gameObject, ((Component)__instance).transform.position, ((Component)__instance).transform.rotation); val4.transform.root.DissableColliders(((Component)boss).transform); val4.transform.position = ((Component)__instance).transform.position + Vector3.up * 2f; val4.transform.LookAt(targetOgPos + Vector3.up * 2f); Transform transform2 = val4.transform; transform2.position += val4.transform.forward * 4f; Cannonball val5 = default(Cannonball); if (val4.TryGetComponent(ref val5)) { val5.sourceWeapon = ((Component)((Component)boss).transform).gameObject; } Rigidbody val6 = default(Rigidbody); if (val4.TryGetComponent(ref val6)) { val6.velocity = ((Component)val6).transform.forward * 200f; } }); } [HarmonyPatch(typeof(BulletCheck), "OnTriggerEnter")] [HarmonyPostfix] public static void BulletCheck_Buff(Collider other, BulletCheck __instance) { //IL_0bd6: 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_002f: Invalid comparison between Unknown and I4 //IL_0dea: Unknown result type (might be due to invalid IL or missing references) //IL_0def: Unknown result type (might be due to invalid IL or missing references) //IL_0e0c: Unknown result type (might be due to invalid IL or missing references) //IL_0e11: Unknown result type (might be due to invalid IL or missing references) //IL_1363: Unknown result type (might be due to invalid IL or missing references) //IL_136f: Unknown result type (might be due to invalid IL or missing references) //IL_137f: Unknown result type (might be due to invalid IL or missing references) //IL_1384: Unknown result type (might be due to invalid IL or missing references) //IL_1389: Unknown result type (might be due to invalid IL or missing references) //IL_138d: Unknown result type (might be due to invalid IL or missing references) //IL_1392: Unknown result type (might be due to invalid IL or missing references) //IL_1307: Unknown result type (might be due to invalid IL or missing references) //IL_130c: Unknown result type (might be due to invalid IL or missing references) //IL_131d: Unknown result type (might be due to invalid IL or missing references) //IL_1327: Unknown result type (might be due to invalid IL or missing references) //IL_1336: Unknown result type (might be due to invalid IL or missing references) //IL_1348: Unknown result type (might be due to invalid IL or missing references) //IL_0fc0: Unknown result type (might be due to invalid IL or missing references) //IL_0fc5: Unknown result type (might be due to invalid IL or missing references) //IL_0ecf: Unknown result type (might be due to invalid IL or missing references) //IL_0edf: Unknown result type (might be due to invalid IL or missing references) //IL_0ee4: Unknown result type (might be due to invalid IL or missing references) //IL_0ee9: Unknown result type (might be due to invalid IL or missing references) //IL_0eed: Unknown result type (might be due to invalid IL or missing references) //IL_0ef4: Unknown result type (might be due to invalid IL or missing references) //IL_0f10: Unknown result type (might be due to invalid IL or missing references) //IL_0f17: Unknown result type (might be due to invalid IL or missing references) //IL_0f1c: Unknown result type (might be due to invalid IL or missing references) //IL_0e53: Unknown result type (might be due to invalid IL or missing references) //IL_0e58: Unknown result type (might be due to invalid IL or missing references) //IL_0e69: Unknown result type (might be due to invalid IL or missing references) //IL_0e73: Unknown result type (might be due to invalid IL or missing references) //IL_0e82: Unknown result type (might be due to invalid IL or missing references) //IL_0e8b: Unknown result type (might be due to invalid IL or missing references) //IL_0e94: Unknown result type (might be due to invalid IL or missing references) //IL_0e99: Unknown result type (might be due to invalid IL or missing references) //IL_0e9e: Unknown result type (might be due to invalid IL or missing references) //IL_0ea2: Unknown result type (might be due to invalid IL or missing references) //IL_0ea9: Unknown result type (might be due to invalid IL or missing references) //IL_0ebe: Unknown result type (might be due to invalid IL or missing references) //IL_0ce0: Unknown result type (might be due to invalid IL or missing references) //IL_0ce7: Expected O, but got Unknown //IL_0cf1: Unknown result type (might be due to invalid IL or missing references) //IL_0cf8: Unknown result type (might be due to invalid IL or missing references) //IL_0cfd: Unknown result type (might be due to invalid IL or missing references) //IL_0d04: Unknown result type (might be due to invalid IL or missing references) //IL_0d0b: Unknown result type (might be due to invalid IL or missing references) //IL_0d10: Unknown result type (might be due to invalid IL or missing references) //IL_0d27: Unknown result type (might be due to invalid IL or missing references) //IL_0d2c: Unknown result type (might be due to invalid IL or missing references) //IL_0d3d: Unknown result type (might be due to invalid IL or missing references) //IL_0d42: Unknown result type (might be due to invalid IL or missing references) //IL_1232: Unknown result type (might be due to invalid IL or missing references) //IL_1242: Unknown result type (might be due to invalid IL or missing references) //IL_1247: Unknown result type (might be due to invalid IL or missing references) //IL_124c: Unknown result type (might be due to invalid IL or missing references) //IL_1250: Unknown result type (might be due to invalid IL or missing references) //IL_125c: Unknown result type (might be due to invalid IL or missing references) //IL_1278: Unknown result type (might be due to invalid IL or missing references) //IL_127f: Unknown result type (might be due to invalid IL or missing references) //IL_1284: Unknown result type (might be due to invalid IL or missing references) //IL_1145: Unknown result type (might be due to invalid IL or missing references) //IL_114a: Unknown result type (might be due to invalid IL or missing references) //IL_115b: Unknown result type (might be due to invalid IL or missing references) //IL_1165: Unknown result type (might be due to invalid IL or missing references) //IL_117b: Unknown result type (might be due to invalid IL or missing references) //IL_1190: Unknown result type (might be due to invalid IL or missing references) //IL_1195: Unknown result type (might be due to invalid IL or missing references) //IL_119a: Unknown result type (might be due to invalid IL or missing references) //IL_11b9: Unknown result type (might be due to invalid IL or missing references) //IL_11bb: Unknown result type (might be due to invalid IL or missing references) //IL_11c0: Unknown result type (might be due to invalid IL or missing references) //IL_11d7: Unknown result type (might be due to invalid IL or missing references) //IL_11e4: Unknown result type (might be due to invalid IL or missing references) //IL_11e9: Unknown result type (might be due to invalid IL or missing references) //IL_11f5: Unknown result type (might be due to invalid IL or missing references) //IL_11fa: Unknown result type (might be due to invalid IL or missing references) //IL_1211: Unknown result type (might be due to invalid IL or missing references) //IL_121d: Unknown result type (might be due to invalid IL or missing references) //IL_1087: Unknown result type (might be due to invalid IL or missing references) //IL_1097: Unknown result type (might be due to invalid IL or missing references) //IL_109c: Unknown result type (might be due to invalid IL or missing references) //IL_10a1: Unknown result type (might be due to invalid IL or missing references) //IL_10a5: Unknown result type (might be due to invalid IL or missing references) //IL_10ac: Unknown result type (might be due to invalid IL or missing references) //IL_10c8: Unknown result type (might be due to invalid IL or missing references) //IL_10cf: Unknown result type (might be due to invalid IL or missing references) //IL_10d4: Unknown result type (might be due to invalid IL or missing references) //IL_1007: Unknown result type (might be due to invalid IL or missing references) //IL_100c: Unknown result type (might be due to invalid IL or missing references) //IL_101d: Unknown result type (might be due to invalid IL or missing references) //IL_1027: Unknown result type (might be due to invalid IL or missing references) //IL_1036: Unknown result type (might be due to invalid IL or missing references) //IL_103f: Unknown result type (might be due to invalid IL or missing references) //IL_1048: Unknown result type (might be due to invalid IL or missing references) //IL_104d: Unknown result type (might be due to invalid IL or missing references) //IL_1052: Unknown result type (might be due to invalid IL or missing references) //IL_1056: Unknown result type (might be due to invalid IL or missing references) //IL_105d: Unknown result type (might be due to invalid IL or missing references) //IL_1072: Unknown result type (might be due to invalid IL or missing references) //IL_0d62: Unknown result type (might be due to invalid IL or missing references) //IL_0cce: Unknown result type (might be due to invalid IL or missing references) //IL_0373: Unknown result type (might be due to invalid IL or missing references) //IL_0378: Unknown result type (might be due to invalid IL or missing references) //IL_0391: Unknown result type (might be due to invalid IL or missing references) //IL_0396: Unknown result type (might be due to invalid IL or missing references) //IL_0b1f: Unknown result type (might be due to invalid IL or missing references) //IL_0b2a: Unknown result type (might be due to invalid IL or missing references) //IL_0b3a: Unknown result type (might be due to invalid IL or missing references) //IL_0b3f: Unknown result type (might be due to invalid IL or missing references) //IL_0b44: Unknown result type (might be due to invalid IL or missing references) //IL_0b48: Unknown result type (might be due to invalid IL or missing references) //IL_0b4d: Unknown result type (might be due to invalid IL or missing references) //IL_0ac4: Unknown result type (might be due to invalid IL or missing references) //IL_0ac9: Unknown result type (might be due to invalid IL or missing references) //IL_0ada: Unknown result type (might be due to invalid IL or missing references) //IL_0ae4: Unknown result type (might be due to invalid IL or missing references) //IL_0af3: Unknown result type (might be due to invalid IL or missing references) //IL_0b05: Unknown result type (might be due to invalid IL or missing references) //IL_0708: Unknown result type (might be due to invalid IL or missing references) //IL_070d: Unknown result type (might be due to invalid IL or missing references) //IL_045c: Unknown result type (might be due to invalid IL or missing references) //IL_046c: Unknown result type (might be due to invalid IL or missing references) //IL_0471: Unknown result type (might be due to invalid IL or missing references) //IL_0476: Unknown result type (might be due to invalid IL or missing references) //IL_047a: Unknown result type (might be due to invalid IL or missing references) //IL_0481: Unknown result type (might be due to invalid IL or missing references) //IL_049c: Unknown result type (might be due to invalid IL or missing references) //IL_04a2: Unknown result type (might be due to invalid IL or missing references) //IL_04a7: Unknown result type (might be due to invalid IL or missing references) //IL_03e4: Unknown result type (might be due to invalid IL or missing references) //IL_03e9: Unknown result type (might be due to invalid IL or missing references) //IL_03fa: Unknown result type (might be due to invalid IL or missing references) //IL_0404: Unknown result type (might be due to invalid IL or missing references) //IL_0413: 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_0423: Unknown result type (might be due to invalid IL or missing references) //IL_0428: Unknown result type (might be due to invalid IL or missing references) //IL_042d: Unknown result type (might be due to invalid IL or missing references) //IL_0431: Unknown result type (might be due to invalid IL or missing references) //IL_0438: Unknown result type (might be due to invalid IL or missing references) //IL_044d: Unknown result type (might be due to invalid IL or missing references) //IL_0264: Unknown result type (might be due to invalid IL or missing references) //IL_026b: Expected O, but got Unknown //IL_0275: 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_0288: Unknown result type (might be due to invalid IL or missing references) //IL_028f: Unknown result type (might be due to invalid IL or missing references) //IL_0294: Unknown result type (might be due to invalid IL or missing references) //IL_02ab: Unknown result type (might be due to invalid IL or missing references) //IL_02b0: Unknown result type (might be due to invalid IL or missing references) //IL_02c1: Unknown result type (might be due to invalid IL or missing references) //IL_02c6: Unknown result type (might be due to invalid IL or missing references) //IL_07e4: Unknown result type (might be due to invalid IL or missing references) //IL_07f4: Unknown result type (might be due to invalid IL or missing references) //IL_07f9: Unknown result type (might be due to invalid IL or missing references) //IL_07fe: Unknown result type (might be due to invalid IL or missing references) //IL_0802: Unknown result type (might be due to invalid IL or missing references) //IL_0809: Unknown result type (might be due to invalid IL or missing references) //IL_0829: Unknown result type (might be due to invalid IL or missing references) //IL_0830: Unknown result type (might be due to invalid IL or missing references) //IL_0835: Unknown result type (might be due to invalid IL or missing references) //IL_0760: Unknown result type (might be due to invalid IL or missing references) //IL_0765: Unknown result type (might be due to invalid IL or missing references) //IL_0776: Unknown result type (might be due to invalid IL or missing references) //IL_0780: 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_0798: Unknown result type (might be due to invalid IL or missing references) //IL_07a5: Unknown result type (might be due to invalid IL or missing references) //IL_07aa: Unknown result type (might be due to invalid IL or missing references) //IL_07af: Unknown result type (might be due to invalid IL or missing references) //IL_07b3: Unknown result type (might be due to invalid IL or missing references) //IL_07ba: Unknown result type (might be due to invalid IL or missing references) //IL_07cf: Unknown result type (might be due to invalid IL or missing references) //IL_02e5: Unknown result type (might be due to invalid IL or missing references) //IL_0253: Unknown result type (might be due to invalid IL or missing references) Vector3 val6; if (V2_Boss_Buff.Bosses.Count != 0 && (int)__instance.type == 1) { V2_Boss_Buff boss = ((Component)__instance).GetComponentInParent(); if (!((Object)(object)boss != (Object)null) || !(boss.Parry_Stamina > 0.99f)) { return; } Projectile component = ((Component)other).GetComponent(); if ((Object)(object)component != (Object)null && (component.playerBullet || component.parried || (component.targetHandle != (TargetHandle)null && component.targetHandle.target != null && (Object)(object)component.targetHandle.target.EID == (Object)(object)boss.eid))) { boss.Parry_Stamina -= 0.33f; if (component.playerBullet || !(component.targetHandle != (TargetHandle)null) || component.targetHandle.target == null || !((Object)(object)component.targetHandle.target.EID == (Object)(object)boss.eid)) { boss.eid.machine.health = Mathf.Min(boss.eid.machine.health + boss.Og_Boss_Hp * V2_Boss_Buff.HealMult * 0.03f, boss.Og_Boss_Hp); boss.eid.ForceGetHealth(); } else { boss.eid.machine.health = Mathf.Min(boss.eid.machine.health + boss.Og_Boss_Hp * V2_Boss_Buff.HealMult * 0.1f, boss.Og_Boss_Hp); boss.eid.ForceGetHealth(); } if (component.playerBullet) { Color val = default(Color); ((Color)(ref val))..ctor(1f, 0.35f, 0f); MeshRenderer val2 = default(MeshRenderer); if (((Component)component).TryGetComponent(ref val2) && Object.op_Implicit((Object)(object)((Renderer)val2).material) && ((Renderer)val2).material.HasProperty("_Color")) { ((Renderer)val2).material.SetColor("_Color", val); } TrailRenderer val3 = default(TrailRenderer); if (((Component)component).TryGetComponent(ref val3)) { Gradient val4 = new Gradient(); val4.SetKeys((GradientColorKey[])(object)new GradientColorKey[2] { new GradientColorKey(val, 0f), new GradientColorKey(val, 1f) }, (GradientAlphaKey[])(object)new GradientAlphaKey[2] { new GradientAlphaKey(1f, 0f), new GradientAlphaKey(0f, 1f) }); val3.colorGradient = val4; } Light val5 = default(Light); if (((Component)component).TryGetComponent(ref val5)) { val5.color = val; } } component.boosted = true; component.parried = false; component.friendly = false; component.playerBullet = false; component.hittingPlayer = false; component.precheckForCollisions = true; component.explosive = false; component.explosionEffect = Fento_Assets.Explosion.gameObject; component.speed *= 2f; component.damage += 25f; component.SetProjTarget(boss.eid.target); component.safeEnemyType = boss.eid.enemyType; Rigidbody component2 = ((Component)component).GetComponent(); if ((Object)(object)component2 != (Object)null) { val6 = component2.velocity; float num = ((Vector3)(ref val6)).magnitude * 2f; if (boss.eid.target != null) { Main_Utils.GetTargetPosition(boss.eid.target, out var targetPosition); GameObject obj = Object.Instantiate(MonoSingleton.Instance.unparryableFlash, ((Component)component).transform.position, Quaternion.identity); Transform transform = obj.transform; transform.localScale *= 10f; obj.transform.LookAt(targetPosition); val6 = targetPosition - ((Component)component).transform.position; component2.velocity = ((Vector3)(ref val6)).normalized * num; ((Component)other).transform.LookAt(targetPosition); } else { val6 = ((Component)component).transform.position - ((Component)__instance).transform.position; component2.velocity = ((Vector3)(ref val6)).normalized * num; ((Component)other).transform.LookAt(((Component)component).transform.position + component2.velocity); } } return; } Grenade grenade = ((Component)other).GetComponent(); if ((Object)(object)grenade != (Object)null && (!grenade.enemy || (grenade.proximityTargetHandle != (TargetHandle)null && grenade.proximityTargetHandle.target != null && (Object)(object)grenade.proximityTargetHandle.target.EID == (Object)(object)boss.eid))) { if (!grenade.rocket) { boss.Parry_Stamina -= 0.99f; if (grenade.proximityTargetHandle != (TargetHandle)null && grenade.proximityTargetHandle.target != null && (Object)(object)grenade.proximityTargetHandle.target.EID == (Object)(object)boss.eid) { boss.eid.machine.health = Mathf.Min(boss.eid.machine.health + boss.Og_Boss_Hp * V2_Boss_Buff.HealMult * 0.1f, boss.Og_Boss_Hp); boss.eid.ForceGetHealth(); } else { boss.eid.machine.health = Mathf.Min(boss.eid.machine.health + boss.Og_Boss_Hp * V2_Boss_Buff.HealMult * 0.03f, boss.Og_Boss_Hp); boss.eid.ForceGetHealth(); } grenade.ignoreEnemyType.Clear(); grenade.ignoreEnemyType.Add((EnemyType)8); grenade.ignoreEnemyType.Add((EnemyType)22); grenade.enemy = true; grenade.CanCollideWithPlayer(true); grenade.harmlessExplosion = grenade.superExplosion; grenade.explosion = grenade.superExplosion; Rigidbody component3 = ((Component)other).GetComponent(); if ((Object)(object)component3 != (Object)null) { val6 = component3.velocity; float num2 = ((Vector3)(ref val6)).magnitude * 2f; if (boss.eid.target != null) { Main_Utils.GetTargetPosition(boss.eid.target, out var targetPosition2); GameObject obj2 = Object.Instantiate(MonoSingleton.Instance.unparryableFlash, ((Component)grenade).transform.position, Quaternion.identity); Transform transform2 = obj2.transform; transform2.localScale *= 10f; obj2.transform.LookAt(targetPosition2); val6 = targetPosition2 - ((Component)grenade).transform.position; component3.velocity = ((Vector3)(ref val6)).normalized * num2; ((Component)other).transform.LookAt(targetPosition2); } else { val6 = ((Component)grenade).transform.position - ((Component)__instance).transform.position; component3.velocity = ((Vector3)(ref val6)).normalized * num2; ((Component)other).transform.LookAt(((Component)grenade).transform.position + component3.velocity); } } return; } if (Random.value < 0.3f) { boss.Parry_Stamina -= 1f; grenade.enemy = true; grenade.ignoreEnemyType.Clear(); grenade.ignoreEnemyType.Add((EnemyType)8); grenade.ignoreEnemyType.Add((EnemyType)22); grenade.CanCollideWithPlayer(true); grenade.harmlessExplosion = grenade.superExplosion; grenade.explosion = grenade.superExplosion; grenade.rideable = false; grenade.playerRiding = false; grenade.levelledUp = true; Grenade obj3 = grenade; obj3.rocketSpeed *= 2f; float num3 = 0.75f; WeaponCharges instance = MonoSingleton.Instance; instance.rocketFreezeTime += num3; MonoSingleton.Instance.rocketFrozen = true; Main_Utils.Invoke_WithDelay(num3, delegate { //IL_017e: Unknown result type (might be due to invalid IL or missing references) //IL_018e: Unknown result type (might be due to invalid IL or missing references) //IL_0193: Unknown result type (might be due to invalid IL or missing references) //IL_0198: Unknown result type (might be due to invalid IL or missing references) //IL_019c: Unknown result type (might be due to invalid IL or missing references) //IL_01ac: Unknown result type (might be due to invalid IL or missing references) //IL_01cc: Unknown result type (might be due to invalid IL or missing references) //IL_01d2: Unknown result type (might be due to invalid IL or missing references) //IL_01d7: Unknown result type (might be due to invalid IL or missing references) //IL_006f: Unknown result type (might be due to invalid IL or missing references) //IL_0074: Unknown result type (might be due to invalid IL or missing references) //IL_0085: 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_00ae: Unknown result type (might be due to invalid IL or missing references) //IL_00c3: 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_00cd: Unknown result type (might be due to invalid IL or missing references) //IL_00f2: Unknown result type (might be due to invalid IL or missing references) //IL_00f3: Unknown result type (might be due to invalid IL or missing references) //IL_00f8: Unknown result type (might be due to invalid IL or missing references) //IL_010d: Unknown result type (might be due to invalid IL or missing references) //IL_0122: Unknown result type (might be due to invalid IL or missing references) //IL_0127: Unknown result type (might be due to invalid IL or missing references) //IL_013c: Unknown result type (might be due to invalid IL or missing references) //IL_0141: Unknown result type (might be due to invalid IL or missing references) //IL_0157: 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) MonoSingleton.Instance.rocketFrozen = false; if ((Object)(object)other != (Object)null && (Object)(object)boss != (Object)null) { Rigidbody component12 = ((Component)other).GetComponent(); if ((Object)(object)component12 != (Object)null) { if (boss.eid.target != null) { GameObject obj9 = Object.Instantiate(MonoSingleton.Instance.unparryableFlash, ((Component)grenade).transform.position, Quaternion.identity); Transform transform10 = obj9.transform; transform10.localScale *= 10f; obj9.transform.LookAt(boss.eid.target.position); Vector2 val13 = Vector2.op_Implicit(((Component)other).transform.position); Main_Utils.GetTargetPosition(boss.eid.target, out var targetPosition8); float rocketSpeed2 = grenade.rocketSpeed; float time2 = Vector2.Distance(Vector2.op_Implicit(targetPosition8), val13) / rocketSpeed2; ((Component)other).transform.LookAt(targetPosition8 + Main_Utils.PredictTargetPosition(boss.eid.target, time2) - boss.eid.target.position); component12.velocity = ((Component)other).transform.forward * grenade.rocketSpeed; } else { Vector3 val14 = ((Component)grenade).transform.position - ((Component)__instance).transform.position; component12.velocity = ((Vector3)(ref val14)).normalized * grenade.rocketSpeed; ((Component)other).transform.LookAt(((Component)grenade).transform.position + component12.velocity); } } } }); } } Cannonball component4 = ((Component)other).GetComponent(); if (!((Object)(object)component4 != (Object)null) || !((Object)(object)component4.sourceWeapon != (Object)(object)((Component)boss).gameObject)) { return; } boss.Parry_Stamina -= 0.99f; ((Component)boss).transform.DissableColliders(((Component)component4).transform.root); if ((Object)(object)component4.sisy != (Object)null) { boss.eid.machine.health = Mathf.Min(boss.eid.machine.health + boss.Og_Boss_Hp * V2_Boss_Buff.HealMult * 0.1f, boss.Og_Boss_Hp); boss.eid.ForceGetHealth(); } else { boss.eid.machine.health = Mathf.Min(boss.eid.machine.health + boss.Og_Boss_Hp * V2_Boss_Buff.HealMult * 0.03f, boss.Og_Boss_Hp); boss.eid.ForceGetHealth(); } if (boss.eid.target != null) { Main_Utils.GetTargetPosition(boss.eid.target, out var targetPosition3); GameObject obj4 = Object.Instantiate(MonoSingleton.Instance.unparryableFlash, ((Component)component4).transform.position, Quaternion.identity); Transform transform3 = obj4.transform; transform3.localScale *= 10f; obj4.transform.LookAt(targetPosition3); ((Component)other).transform.LookAt(targetPosition3); } else { Transform transform4 = ((Component)other).transform; Vector3 position = ((Component)component4).transform.position; val6 = ((Component)component4).transform.position - ((Component)__instance).transform.position; transform4.LookAt(position + ((Vector3)(ref val6)).normalized); } if ((Object)(object)MonoSingleton.Instance != (Object)null) { Collider[] componentsInChildren = ((Component)component4).GetComponentsInChildren(); for (int i = 0; i < componentsInChildren.Length; i++) { Physics.IgnoreCollision(componentsInChildren[i], (Collider)(object)MonoSingleton.Instance.playerCollider, false); } } component4.speed *= 2f; component4.damage += 2f; component4.sourceWeapon = ((Component)boss).gameObject; component4.Launch(); } else { if ((int)__instance.type != 0 || !UltraEnrage_Enemy.Dictionary.TryGetValue(((Component)__instance).transform.parent, out var value)) { return; } EnemyIdentifier eid = value.eid; Projectile component5 = ((Component)other).GetComponent(); if ((Object)(object)component5 != (Object)null && (component5.playerBullet || component5.parried || (component5.targetHandle != (TargetHandle)null && component5.targetHandle.target != null && (Object)(object)component5.targetHandle.target.EID == (Object)(object)eid))) { if (component5.playerBullet) { Color val7 = default(Color); ((Color)(ref val7))..ctor(1f, 0.35f, 0f); MeshRenderer val8 = default(MeshRenderer); if (((Component)component5).TryGetComponent(ref val8) && Object.op_Implicit((Object)(object)((Renderer)val8).material) && ((Renderer)val8).material.HasProperty("_Color")) { ((Renderer)val8).material.SetColor("_Color", val7); } TrailRenderer val9 = default(TrailRenderer); if (((Component)component5).TryGetComponent(ref val9)) { Gradient val10 = new Gradient(); val10.SetKeys((GradientColorKey[])(object)new GradientColorKey[2] { new GradientColorKey(val7, 0f), new GradientColorKey(val7, 1f) }, (GradientAlphaKey[])(object)new GradientAlphaKey[2] { new GradientAlphaKey(1f, 0f), new GradientAlphaKey(0f, 1f) }); val9.colorGradient = val10; } Light val11 = default(Light); if (((Component)component5).TryGetComponent(ref val11)) { val11.color = val7; } } component5.boosted = true; component5.parried = false; component5.friendly = false; component5.playerBullet = false; component5.hittingPlayer = false; component5.precheckForCollisions = true; component5.explosive = false; component5.explosionEffect = Fento_Assets.Explosion.gameObject; component5.speed *= 2f; component5.damage += 25f; component5.SetProjTarget(eid.target); component5.safeEnemyType = eid.enemyType; Rigidbody component6 = ((Component)component5).GetComponent(); if ((Object)(object)component6 != (Object)null) { val6 = component6.velocity; float num4 = ((Vector3)(ref val6)).magnitude * 2f; if (eid.target != null) { Main_Utils.GetTargetPosition(value.eid.target, out var targetPosition4); GameObject obj5 = Object.Instantiate(MonoSingleton.Instance.unparryableFlash, ((Component)component5).transform.position, Quaternion.identity); Transform transform5 = obj5.transform; transform5.localScale *= 10f; obj5.transform.LookAt(targetPosition4); val6 = targetPosition4 - ((Component)component5).transform.position; component6.velocity = ((Vector3)(ref val6)).normalized * num4; ((Component)other).transform.LookAt(targetPosition4); } else { val6 = ((Component)component5).transform.position - ((Component)__instance).transform.position; component6.velocity = ((Vector3)(ref val6)).normalized * num4; ((Component)other).transform.LookAt(((Component)component5).transform.position + component6.velocity); } } return; } Grenade component7 = ((Component)other).GetComponent(); if ((Object)(object)component7 != (Object)null && !component7.ignoreEnemyType.Contains((EnemyType)6)) { component7.CanCollideWithPlayer(true); component7.ignoreEnemyType.Clear(); component7.ignoreEnemyType.Add((EnemyType)6); component7.enemy = true; component7.harmlessExplosion = component7.superExplosion; component7.explosion = component7.superExplosion; if (!component7.rocket) { Rigidbody component8 = ((Component)other).GetComponent(); if ((Object)(object)component8 != (Object)null) { val6 = component8.velocity; float num5 = ((Vector3)(ref val6)).magnitude * 2f; if (eid.target != null) { Main_Utils.GetTargetPosition(value.eid.target, out var targetPosition5); GameObject obj6 = Object.Instantiate(MonoSingleton.Instance.unparryableFlash, ((Component)component7).transform.position, Quaternion.identity); Transform transform6 = obj6.transform; transform6.localScale *= 10f; obj6.transform.LookAt(targetPosition5); val6 = targetPosition5 - ((Component)component7).transform.position; component8.velocity = ((Vector3)(ref val6)).normalized * num5; ((Component)other).transform.LookAt(targetPosition5); } else { val6 = ((Component)component7).transform.position - ((Component)__instance).transform.position; component8.velocity = ((Vector3)(ref val6)).normalized * num5; ((Component)other).transform.LookAt(((Component)component7).transform.position + component8.velocity); } } } else { component7.rideable = false; component7.playerRiding = false; component7.levelledUp = true; component7.rocketSpeed *= 2f; Rigidbody component9 = ((Component)other).GetComponent(); if ((Object)(object)component9 != (Object)null) { if (eid.target != null) { GameObject obj7 = Object.Instantiate(MonoSingleton.Instance.unparryableFlash, ((Component)component7).transform.position, Quaternion.identity); Transform transform7 = obj7.transform; transform7.localScale *= 10f; obj7.transform.LookAt(eid.target.position); Vector2 val12 = Vector2.op_Implicit(((Component)other).transform.position); Main_Utils.GetTargetPosition(value.eid.target, out var targetPosition6); float rocketSpeed = component7.rocketSpeed; float time = Vector2.Distance(Vector2.op_Implicit(targetPosition6), val12) / rocketSpeed; ((Component)other).transform.LookAt(targetPosition6 + Main_Utils.PredictTargetPosition(eid.target, time) - eid.target.position); component9.velocity = ((Component)other).transform.forward * component7.rocketSpeed; } else { val6 = ((Component)component7).transform.position - ((Component)__instance).transform.position; component9.velocity = ((Vector3)(ref val6)).normalized * component7.rocketSpeed; ((Component)other).transform.LookAt(((Component)component7).transform.position + component9.velocity); } } } } Cannonball component10 = ((Component)other).GetComponent(); if ((Object)(object)component10 != (Object)null && (Object)(object)component10.sourceWeapon != (Object)(object)((Component)eid).gameObject) { ((Component)eid).transform.DissableColliders(((Component)component10).transform.root); if (eid.target != null) { Main_Utils.GetTargetPosition(value.eid.target, out var targetPosition7); GameObject obj8 = Object.Instantiate(MonoSingleton.Instance.unparryableFlash, ((Component)component10).transform.position, Quaternion.identity); Transform transform8 = obj8.transform; transform8.localScale *= 10f; obj8.transform.LookAt(targetPosition7); ((Component)other).transform.LookAt(targetPosition7); } else { Transform transform9 = ((Component)other).transform; Vector3 position2 = ((Component)component10).transform.position; val6 = ((Component)component10).transform.position - ((Component)__instance).transform.position; transform9.LookAt(position2 + ((Vector3)(ref val6)).normalized); } if ((Object)(object)MonoSingleton.Instance != (Object)null) { Collider[] componentsInChildren = ((Component)component10).GetComponentsInChildren(); for (int i = 0; i < componentsInChildren.Length; i++) { Physics.IgnoreCollision(componentsInChildren[i], (Collider)(object)MonoSingleton.Instance.playerCollider, false); } } component10.speed *= 2f; component10.damage += 2f; component10.sourceWeapon = ((Component)eid).gameObject; component10.Launch(); } MassSpear component11 = ((Component)other).GetComponent(); if ((Object)(object)component11 != (Object)null) { ((Component)component11).transform.DissableColliders(((Component)__instance).transform); } } } [HarmonyPatch(typeof(Bloodsplatter), "Collide")] [HarmonyPrefix] public static void Bloodsplatter__Heal(Collider other, Bloodsplatter __instance) { if (!__instance.ready || (Object)(object)__instance.bsm == (Object)null || V2_Boss_Buff.Bosses.Count == 0 || !((Component)other).gameObject.CompareTag("Enemy") || V2_Boss_Buff.Dont_Heal.Contains(__instance)) { return; } V2_Boss_Buff.Dont_Heal.Add(__instance); V2_Boss_Buff componentInParent = ((Component)other).gameObject.GetComponentInParent(); if ((Object)(object)componentInParent != (Object)null) { if (((Object)componentInParent.eid).GetInstanceID() != __instance.eidID) { if ((Object)(object)componentInParent.eid.machine != (Object)null) { componentInParent.eid.machine.health = Mathf.Min(componentInParent.eid.machine.health + (float)__instance.hpAmount * V2_Boss_Buff.HealMult * 0.15f, componentInParent.Og_Boss_Hp); componentInParent.eid.ForceGetHealth(); } ((MonoBehaviour)__instance).Invoke("DisableCollider", 0f); } return; } componentInParent = ((Component)other).gameObject.GetComponentInChildren(); if ((Object)(object)componentInParent != (Object)null && ((Object)componentInParent.eid).GetInstanceID() != __instance.eidID) { if ((Object)(object)componentInParent.eid.machine != (Object)null) { componentInParent.eid.machine.health = Mathf.Min(componentInParent.eid.machine.health + (float)__instance.hpAmount * V2_Boss_Buff.HealMult * 0.15f, componentInParent.Og_Boss_Hp); componentInParent.eid.ForceGetHealth(); } ((MonoBehaviour)__instance).Invoke("DisableCollider", 0f); } } [HarmonyPatch(typeof(Cannonball), "Collide")] [HarmonyPrefix] public static bool Cannonball_Buff(Collider other, Cannonball __instance) { //IL_00ab: Unknown result type (might be due to invalid IL or missing references) if ((Object.op_Implicit((Object)(object)__instance.sourceWeapon) && V2_Boss_Buff.Bosses.ContainsKey(__instance.sourceWeapon.transform)) || UltraEnrage_Enemy.Dictionary.ContainsKey(__instance.sourceWeapon.transform)) { if (Object.op_Implicit((Object)(object)((Component)((Component)other).transform.root).GetComponentInChildren())) { return false; } if (((Component)other).gameObject.tag == "Player") { ((MonoBehaviour)__instance).Invoke("Bounce", 0f); MonoSingleton.Instance.GetHurt((int)__instance.damage * 10, true, 1f, false, false, 0.35f, true); MonoSingleton.Instance.LaunchFromPoint(((Component)__instance).transform.position, 110f, 10f); } } return true; } [HarmonyPatch(typeof(EnemyIdentifier), "DeliverDamage")] [HarmonyPrefix] private static bool EnemyIdentifier__DeliverDamage(float multiplier, EnemyIdentifier __instance) { //IL_0022: Unknown result type (might be due to invalid IL or missing references) //IL_0028: Invalid comparison between Unknown and I4 //IL_0030: Unknown result type (might be due to invalid IL or missing references) //IL_0037: Invalid comparison between Unknown and I4 //IL_0086: Unknown result type (might be due to invalid IL or missing references) //IL_0096: Unknown result type (might be due to invalid IL or missing references) //IL_00ab: Unknown result type (might be due to invalid IL or missing references) //IL_00b0: Unknown result type (might be due to invalid IL or missing references) //IL_00c3: 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_00d5: Unknown result type (might be due to invalid IL or missing references) //IL_00da: Unknown result type (might be due to invalid IL or missing references) //IL_00db: Unknown result type (might be due to invalid IL or missing references) //IL_00e0: Unknown result type (might be due to invalid IL or missing references) //IL_00e4: Unknown result type (might be due to invalid IL or missing references) //IL_00ee: Unknown result type (might be due to invalid IL or missing references) //IL_00f3: Unknown result type (might be due to invalid IL or missing references) //IL_00fd: 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_0131: Unknown result type (might be due to invalid IL or missing references) //IL_0140: Unknown result type (might be due to invalid IL or missing references) //IL_0151: Unknown result type (might be due to invalid IL or missing references) //IL_015b: Unknown result type (might be due to invalid IL or missing references) if (V2_Boss_Buff.Bosses.Count != 0 && ((int)__instance.enemyType == 8 || (int)__instance.enemyType == 22) && __instance.hitter == "coin" && multiplier > 2f && __instance.target != null) { GameObject val = Object.Instantiate(Fento_Assets.Coin.gameObject, ((Component)__instance).transform.position, ((Component)__instance).transform.rotation); Rigidbody val2 = default(Rigidbody); if (val.TryGetComponent(ref val2)) { Vector3 val3 = Random.insideUnitSphere; val3.y += 1f; val3 = ((Vector3)(ref val3)).normalized; Rigidbody obj = val2; Vector3 val4 = ((Component)__instance).transform.position + val3; obj.AddForce(((Vector3)(ref val4)).normalized * 20f + Vector3.up * 30f, (ForceMode)2); } Coin coin = default(Coin); if (val.TryGetComponent(ref coin)) { GameObject obj2 = Object.Instantiate(coin.flash, ((Component)coin).transform.position, ((Component)MonoSingleton.Instance).transform.rotation); Transform transform = obj2.transform; transform.localScale *= 2f; obj2.transform.SetParent(val.transform, true); Main_Utils.Invoke_WithDelay(0.5f, delegate { coin.customTarget = ((__instance.target != null) ? __instance.target : EnemyTarget.TrackPlayer()); if (__instance.target != null) { coin.DelayedEnemyReflect(); } }); } MonoSingleton.Instance.AddPoints(50, "GET REFLECTED", (GameObject)null, (EnemyIdentifier)null, -1, "", ""); return false; } return true; } [HarmonyPatch(typeof(EnemyIdentifier), "FallOnEnemy")] [HarmonyPrefix] public static bool EnemyIdentifier__Fall(EnemyIdentifier eid, EnemyIdentifier __instance) { //IL_000d: Unknown result type (might be due to invalid IL or missing references) //IL_0013: Invalid comparison between Unknown and I4 //IL_0016: Unknown result type (might be due to invalid IL or missing references) //IL_001d: Invalid comparison between Unknown and I4 //IL_0036: Unknown result type (might be due to invalid IL or missing references) //IL_003b: Unknown result type (might be due to invalid IL or missing references) //IL_003e: Unknown result type (might be due to invalid IL or missing references) if (V2_Boss_Buff.Bosses.Count != 0 && ((int)eid.enemyType == 8 || (int)eid.enemyType == 22)) { V2 component = ((Component)eid).GetComponent(); if ((Object)(object)component != (Object)null) { Vector3 forward = ((Component)component).transform.forward; component.ForceDodge(((Vector3)(ref forward)).normalized); } return false; } return true; } [HarmonyPatch(typeof(DeathZone), "Start")] [HarmonyPostfix] public static void DeathZone__Fall(DeathZone __instance) { List list = new List(); if (__instance.unaffectedEnemyTypes != null) { list.AddRange(__instance.unaffectedEnemyTypes); } if (!list.Contains((EnemyType)8)) { list.Add((EnemyType)8); } if (!list.Contains((EnemyType)22)) { list.Add((EnemyType)22); } __instance.unaffectedEnemyTypes = list.ToArray(); } [HarmonyPatch(typeof(HurtZone), "Start")] [HarmonyPostfix] public static void HurtZone__Fall(HurtZone __instance) { if (__instance.ignoredEnemyTypes == null) { __instance.ignoredEnemyTypes = new List(); } if (!__instance.ignoredEnemyTypes.Contains((EnemyType)8)) { __instance.ignoredEnemyTypes.Add((EnemyType)8); } if (!__instance.ignoredEnemyTypes.Contains((EnemyType)22)) { __instance.ignoredEnemyTypes.Add((EnemyType)22); } } } public static class UltraEnrage_Patches { public class SuddenTwistChecker : MonoBehaviour { } public static bool SecondShoot; public static bool Ultimate; public static GameObject UltimateWaiter; public static bool SecondPunch; public static byte MinosRageDoubleSlam; public static bool AttackMiddle; [HarmonyPatch(typeof(HookArm), "FixedUpdate")] [HarmonyPrefix] public static void HookArm__FixedUpdate(ref bool ___lightTarget, EnemyIdentifier ___caughtEid, HookArm __instance) { //IL_0001: Unknown result type (might be due to invalid IL or missing references) //IL_0007: Invalid comparison between Unknown and I4 if ((int)__instance.state == 2 && ___lightTarget && (Object)(object)___caughtEid != (Object)null && UltraEnrage_Enemy.Dictionary.ContainsKey(((Component)___caughtEid).transform)) { ___lightTarget = false; } } [HarmonyPatch(typeof(ZombieMelee), "CancelAttack")] [HarmonyPrefix] public static bool ZombieMelee__CancelAttack(ZombieMelee __instance) { if (UltraEnrage_Enemy.Dictionary.ContainsKey(((Component)__instance).transform) && __instance.diving) { return false; } return true; } [HarmonyPatch(typeof(ZombieProjectiles), "MoveForward")] [HarmonyPrefix] public static void ZombieProjectiles__MoveForward(float speed, ZombieProjectiles __instance) { if (!UltraEnrage_Enemy.Dictionary.ContainsKey(((Component)__instance).transform) || !Object.op_Implicit((Object)(object)__instance.eid) || __instance.eid.target == null || speed != 25f) { return; } for (int i = 0; i < 3; i++) { Main_Utils.Invoke_WithDelay(0.2f * (float)(1 + i), delegate { Main_Utils.GetTargetPosition(__instance.eid.target, out var pos); Main_Utils.Invoke_WithDelay(0.05f, delegate { //IL_001a: Unknown result type (might be due to invalid IL or missing references) //IL_002f: Unknown result type (might be due to invalid IL or missing references) //IL_0039: Unknown result type (might be due to invalid IL or missing references) //IL_003e: Unknown result type (might be due to invalid IL or missing references) //IL_0043: Unknown result type (might be due to invalid IL or missing references) //IL_0069: Unknown result type (might be due to invalid IL or missing references) //IL_006e: Unknown result type (might be due to invalid IL or missing references) //IL_0078: Unknown result type (might be due to invalid IL or missing references) //IL_007d: Unknown result type (might be due to invalid IL or missing references) GameObject obj = Object.Instantiate(Fento_Assets.GuttermanBeam.gameObject, ((Component)__instance).transform.position + ((Component)__instance).transform.up * 2f, Quaternion.identity); Main_Utils.Setup_GoreZone_Obj(obj, ((Component)__instance).gameObject); obj.transform.LookAt(pos + Random.insideUnitSphere * 5f); }, () => Object.op_Implicit((Object)(object)__instance) && Object.op_Implicit((Object)(object)__instance.eid) && __instance.eid.target != null); }, () => Object.op_Implicit((Object)(object)__instance) && Object.op_Implicit((Object)(object)__instance.eid) && __instance.eid.target != null); } } [HarmonyPatch(typeof(Stalker), "SandExplode")] [HarmonyPrefix] public static void Stalker__SandExplode(EnemyIdentifier ___eid, Stalker __instance) { //IL_0025: Unknown result type (might be due to invalid IL or missing references) //IL_002a: Unknown result type (might be due to invalid IL or missing references) //IL_002f: Unknown result type (might be due to invalid IL or missing references) //IL_0034: Unknown result type (might be due to invalid IL or missing references) //IL_0045: Unknown result type (might be due to invalid IL or missing references) //IL_0068: Unknown result type (might be due to invalid IL or missing references) //IL_0081: Unknown result type (might be due to invalid IL or missing references) if (UltraEnrage_Enemy.Dictionary.ContainsKey(((Component)__instance).transform)) { GameObject obj = Object.Instantiate(Fento_Assets.SlamExplosionShockwave.gameObject, ((Component)__instance).transform.position + Vector3.up, Quaternion.identity); Transform transform = obj.transform; transform.localScale *= 6f / (1f + (float)___eid.stuckMagnets.Count * 0.25f); PhysicalShockwave orAddComponent = GameObjectExtensions.GetOrAddComponent(obj); orAddComponent.noDamageToEnemy = true; orAddComponent.enemyType = (EnemyType)12; orAddComponent.damage = (int)((float)orAddComponent.damage * 2f); } } [HarmonyPatch(typeof(Sisyphus), "StompExplosion")] [HarmonyPrefix] public static void Sisyphus__StompExplosion(GoreZone ___gz, PhysicalShockwave ___m_ShockwavePrefab, Sisyphus __instance) { //IL_001b: 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) if (UltraEnrage_Enemy.Dictionary.TryGetValue(((Component)__instance).transform, out var value)) { PhysicalShockwave obj = Object.Instantiate(___m_ShockwavePrefab, ((Component)__instance).transform.position, Quaternion.identity); ((Component)obj).transform.SetParent(((Component)___gz).transform); obj.speed *= value.eid.totalSpeedModifier; obj.damage = Mathf.RoundToInt((float)obj.damage * value.eid.totalDamageModifier); } } [HarmonyPatch(typeof(Sisyphus), "SetupExplosion")] [HarmonyPrefix] public static void Sisyphus__SetupExplosion(GoreZone ___gz, EnemyIdentifier ___eid, PhysicalShockwave ___m_ShockwavePrefab, GameObject temp, Sisyphus __instance) { //IL_0063: Unknown result type (might be due to invalid IL or missing references) //IL_0068: Unknown result type (might be due to invalid IL or missing references) //IL_0084: Unknown result type (might be due to invalid IL or missing references) //IL_0089: Unknown result type (might be due to invalid IL or missing references) //IL_008e: Unknown result type (might be due to invalid IL or missing references) //IL_00e9: Unknown result type (might be due to invalid IL or missing references) //IL_00ee: Unknown result type (might be due to invalid IL or missing references) if (UltraEnrage_Enemy.Dictionary.TryGetValue(((Component)__instance).transform, out var _)) { Explosion[] componentsInChildren = temp.GetComponentsInChildren(); foreach (Explosion obj in componentsInChildren) { obj.maxSize *= 1.25f; obj.speed /= 1.25f; } GameObject obj2 = Object.Instantiate(Fento_Assets.GoopCloud.gameObject, temp.transform.position, Quaternion.identity); Main_Utils.Setup_GoreZone_Obj(obj2.gameObject, ___eid); Main_Utils.Make_Colored(obj2.transform, Color.yellow + Color.red); HurtZone componentInChildren = obj2.GetComponentInChildren(); if ((Object)(object)componentInChildren != (Object)null) { componentInChildren.hurtCooldown *= 2f; componentInChildren.bounceForce = 200f; componentInChildren.enemyDamageOverride = 0.0001f; componentInChildren.ignoredEnemyTypes.Add((EnemyType)19); } PhysicalShockwave obj3 = Object.Instantiate(___m_ShockwavePrefab, temp.transform.position, Quaternion.identity); ((Component)obj3).transform.SetParent(((Component)___gz).transform); obj3.maxSize *= 0.75f; } } [HarmonyPatch(typeof(Streetcleaner), "Dodge")] [HarmonyPostfix] public static void Streetcleaner__Dodge(ref float ___dodgeSpeed, Streetcleaner __instance) { if (UltraEnrage_Enemy.Dictionary.ContainsKey(((Component)__instance).transform)) { ___dodgeSpeed = 140f; StreetCleaner_Rage_Hook_IQ streetCleaner_Rage_Hook_IQ = default(StreetCleaner_Rage_Hook_IQ); if (((Component)__instance).TryGetComponent(ref streetCleaner_Rage_Hook_IQ)) { streetCleaner_Rage_Hook_IQ.Gasoline_Charge = 0.1f; streetCleaner_Rage_Hook_IQ.Gasoline_Fire = true; } } } [HarmonyPatch(typeof(Streetcleaner), "FixedUpdate")] [HarmonyPostfix] public static void Streetcleaner__FixedUpdate(ref float ___dodgeSpeed, Streetcleaner __instance) { if (__instance.dodging && !__instance.dead && UltraEnrage_Enemy.Dictionary.ContainsKey(((Component)__instance).transform)) { ___dodgeSpeed = ___dodgeSpeed * 0.95f / __instance.eid.totalSpeedModifier; } } [HarmonyPatch(typeof(SwordsMachine), "KnockdownSetup")] [HarmonyPrefix] public static bool SwordsMachine__KnockdownSetup(SwordsMachine __instance) { if (UltraEnrage_Enemy.Dictionary.TryGetValue(((Component)__instance).transform, out var rage)) { Main_Utils.Invoke_NextFrame(delegate { __instance.KnockdownEnd(); }); Transform transform = ((Component)__instance).transform; for (int i = 0; i < 3; i++) { Main_Utils.Invoke_WithDelay((float)i * 0.1f, delegate { //IL_0010: 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_0030: Unknown result type (might be due to invalid IL or missing references) //IL_003a: Unknown result type (might be due to invalid IL or missing references) //IL_003f: Unknown result type (might be due to invalid IL or missing references) //IL_0050: Unknown result type (might be due to invalid IL or missing references) //IL_005a: 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_0076: 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_0085: Unknown result type (might be due to invalid IL or missing references) //IL_00b3: Unknown result type (might be due to invalid IL or missing references) //IL_00da: Unknown result type (might be due to invalid IL or missing references) GameObject obj = Object.Instantiate(Fento_Assets.SlamExplosionShockwaveMagenta.gameObject, new Vector3(transform.position.x, transform.position.y, transform.position.z), Quaternion.identity); Transform transform2 = obj.transform; transform2.localScale *= 0.25f; Transform transform3 = obj.transform; transform3.position += transform.up * 2f; obj.transform.Rotate(new Vector3((float)Random.Range(50, 130), 0f, (float)Random.Range(0, 360))); Main_Utils.Setup_GoreZone_Obj(obj, rage.eid); PhysicalShockwave component = obj.GetComponent(); component.enemyType = (EnemyType)7; component.noDamageToEnemy = true; component.enemy = true; component.maxSize /= 8f; component.speed /= 1.5f; }, () => Object.op_Implicit((Object)(object)rage) && Object.op_Implicit((Object)(object)rage.eid) && !rage.eid.dead); } return false; } return true; } [HarmonyPatch(typeof(SwordsMachine), "OnParry")] [HarmonyPrefix] public static bool SwordsMachine__OnParry(SwordsMachine __instance) { if (UltraEnrage_Enemy.Dictionary.TryGetValue(((Component)__instance).transform, out var rage)) { Main_Utils.Invoke_NextFrame(delegate { __instance.KnockdownEnd(); }); Transform transform = ((Component)__instance).transform; for (int i = 0; i < 3; i++) { Main_Utils.Invoke_WithDelay((float)i * 0.1f, delegate { //IL_0010: 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_0030: Unknown result type (might be due to invalid IL or missing references) //IL_003a: Unknown result type (might be due to invalid IL or missing references) //IL_003f: Unknown result type (might be due to invalid IL or missing references) //IL_0050: Unknown result type (might be due to invalid IL or missing references) //IL_005a: 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_0076: 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_0085: Unknown result type (might be due to invalid IL or missing references) //IL_00b3: Unknown result type (might be due to invalid IL or missing references) //IL_00da: Unknown result type (might be due to invalid IL or missing references) GameObject obj = Object.Instantiate(Fento_Assets.SlamExplosionShockwaveMagenta.gameObject, new Vector3(transform.position.x, transform.position.y, transform.position.z), Quaternion.identity); Transform transform2 = obj.transform; transform2.localScale *= 0.25f; Transform transform3 = obj.transform; transform3.position += transform.up * 2f; obj.transform.Rotate(new Vector3((float)Random.Range(50, 130), 0f, (float)Random.Range(0, 360))); Main_Utils.Setup_GoreZone_Obj(obj, rage.eid); PhysicalShockwave component = obj.GetComponent(); component.enemyType = (EnemyType)7; component.noDamageToEnemy = true; component.enemy = true; component.maxSize /= 8f; component.speed /= 2f; }, () => Object.op_Implicit((Object)(object)rage) && Object.op_Implicit((Object)(object)rage.eid) && !rage.eid.dead); } return false; } return true; } [HarmonyPatch(typeof(SwordsMachine), "Knockdown")] [HarmonyPrefix] public static bool SwordsMachine__Knockdown(SwordsMachine __instance) { if (UltraEnrage_Enemy.Dictionary.ContainsKey(((Component)__instance).transform)) { Main_Utils.Invoke_NextFrame(delegate { __instance.KnockdownEnd(); }); return false; } return true; } [HarmonyPatch(typeof(SwordsMachine), "AttackSetup")] [HarmonyPrefix] public static void SwordsMachine__AttackSetup(SwordsMachine __instance) { if (!UltraEnrage_Enemy.Dictionary.TryGetValue(((Component)__instance).transform, out var rage)) { return; } Transform transform = ((Component)__instance).transform; for (int i = 0; i < 2; i++) { Main_Utils.Invoke_WithDelay((float)i * 0.1f, delegate { //IL_0010: 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_0030: Unknown result type (might be due to invalid IL or missing references) //IL_003a: Unknown result type (might be due to invalid IL or missing references) //IL_003f: Unknown result type (might be due to invalid IL or missing references) //IL_0050: Unknown result type (might be due to invalid IL or missing references) //IL_005a: 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_0076: 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_0085: Unknown result type (might be due to invalid IL or missing references) //IL_00b3: Unknown result type (might be due to invalid IL or missing references) //IL_00da: Unknown result type (might be due to invalid IL or missing references) GameObject obj = Object.Instantiate(Fento_Assets.SlamExplosionShockwaveMagenta.gameObject, new Vector3(transform.position.x, transform.position.y, transform.position.z), Quaternion.identity); Transform transform2 = obj.transform; transform2.localScale *= 0.25f; Transform transform3 = obj.transform; transform3.position += transform.up * 2f; obj.transform.Rotate(new Vector3((float)Random.Range(50, 130), 0f, (float)Random.Range(0, 360))); Main_Utils.Setup_GoreZone_Obj(obj, rage.eid); PhysicalShockwave component = obj.GetComponent(); component.enemyType = (EnemyType)7; component.noDamageToEnemy = true; component.enemy = true; component.maxSize /= 16f; component.speed /= 2f; }, () => Object.op_Implicit((Object)(object)rage) && Object.op_Implicit((Object)(object)rage.eid) && !rage.eid.dead); } } [HarmonyPatch(typeof(SwordsMachine), "RunningSwing")] [HarmonyPrefix] public static void SwordsMachine__RunningSwing(SwordsMachine __instance) { if (!UltraEnrage_Enemy.Dictionary.TryGetValue(((Component)__instance).transform, out var rage)) { return; } Transform transform = ((Component)__instance).transform; Main_Utils.Invoke_WithDelay(0.8f, delegate { for (int i = 0; i < 2; i++) { Main_Utils.Invoke_WithDelay((float)i * 0.1f, delegate { //IL_0010: 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_0030: Unknown result type (might be due to invalid IL or missing references) //IL_003a: Unknown result type (might be due to invalid IL or missing references) //IL_003f: Unknown result type (might be due to invalid IL or missing references) //IL_0050: Unknown result type (might be due to invalid IL or missing references) //IL_005a: 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_0076: 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_0085: Unknown result type (might be due to invalid IL or missing references) //IL_00b3: Unknown result type (might be due to invalid IL or missing references) //IL_00da: Unknown result type (might be due to invalid IL or missing references) GameObject obj = Object.Instantiate(Fento_Assets.SlamExplosionShockwaveMagenta.gameObject, new Vector3(transform.position.x, transform.position.y, transform.position.z), Quaternion.identity); Transform transform2 = obj.transform; transform2.localScale *= 0.25f; Transform transform3 = obj.transform; transform3.position += transform.up * 2f; obj.transform.Rotate(new Vector3((float)Random.Range(50, 130), 0f, (float)Random.Range(0, 360))); Main_Utils.Setup_GoreZone_Obj(obj, rage.eid); PhysicalShockwave component = obj.GetComponent(); component.enemyType = (EnemyType)7; component.noDamageToEnemy = true; component.enemy = true; component.maxSize /= 16f; component.speed /= 2f; }, () => Object.op_Implicit((Object)(object)rage) && Object.op_Implicit((Object)(object)rage.eid) && !rage.eid.dead); } }, () => Object.op_Implicit((Object)(object)rage) && Object.op_Implicit((Object)(object)rage.eid) && !rage.eid.dead); } [HarmonyPatch(typeof(SwordsMachine), "Combo")] [HarmonyPrefix] public static void SwordsMachine__Combo(SwordsMachine __instance) { if (!UltraEnrage_Enemy.Dictionary.TryGetValue(((Component)__instance).transform, out var rage)) { return; } Transform transform = ((Component)__instance).transform; Main_Utils.Invoke_WithDelay(0.8f, delegate { for (int k = 0; k < 2; k++) { Main_Utils.Invoke_WithDelay((float)k * 0.1f, delegate { //IL_0010: 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_0030: Unknown result type (might be due to invalid IL or missing references) //IL_003a: Unknown result type (might be due to invalid IL or missing references) //IL_003f: Unknown result type (might be due to invalid IL or missing references) //IL_0050: Unknown result type (might be due to invalid IL or missing references) //IL_005a: 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_0076: 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_0085: Unknown result type (might be due to invalid IL or missing references) //IL_00b3: Unknown result type (might be due to invalid IL or missing references) //IL_00da: Unknown result type (might be due to invalid IL or missing references) GameObject obj3 = Object.Instantiate(Fento_Assets.SlamExplosionShockwaveMagenta.gameObject, new Vector3(transform.position.x, transform.position.y, transform.position.z), Quaternion.identity); Transform transform6 = obj3.transform; transform6.localScale *= 0.25f; Transform transform7 = obj3.transform; transform7.position += transform.up * 2f; obj3.transform.Rotate(new Vector3((float)Random.Range(50, 130), 0f, (float)Random.Range(0, 360))); Main_Utils.Setup_GoreZone_Obj(obj3, rage.eid); PhysicalShockwave component3 = obj3.GetComponent(); component3.enemyType = (EnemyType)7; component3.noDamageToEnemy = true; component3.enemy = true; component3.maxSize /= 16f; component3.speed /= 2f; }, () => Object.op_Implicit((Object)(object)rage) && Object.op_Implicit((Object)(object)rage.eid) && !rage.eid.dead); } }, () => Object.op_Implicit((Object)(object)rage) && Object.op_Implicit((Object)(object)rage.eid) && !rage.eid.dead); Main_Utils.Invoke_WithDelay(1.2f, delegate { for (int j = 0; j < 2; j++) { Main_Utils.Invoke_WithDelay((float)j * 0.1f, delegate { //IL_0010: 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_0030: Unknown result type (might be due to invalid IL or missing references) //IL_003a: Unknown result type (might be due to invalid IL or missing references) //IL_003f: Unknown result type (might be due to invalid IL or missing references) //IL_0050: Unknown result type (might be due to invalid IL or missing references) //IL_005a: 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_0076: 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_0085: Unknown result type (might be due to invalid IL or missing references) //IL_00b3: Unknown result type (might be due to invalid IL or missing references) //IL_00da: Unknown result type (might be due to invalid IL or missing references) GameObject obj2 = Object.Instantiate(Fento_Assets.SlamExplosionShockwaveMagenta.gameObject, new Vector3(transform.position.x, transform.position.y, transform.position.z), Quaternion.identity); Transform transform4 = obj2.transform; transform4.localScale *= 0.25f; Transform transform5 = obj2.transform; transform5.position += transform.up * 2f; obj2.transform.Rotate(new Vector3((float)Random.Range(50, 130), 0f, (float)Random.Range(0, 360))); Main_Utils.Setup_GoreZone_Obj(obj2, rage.eid); PhysicalShockwave component2 = obj2.GetComponent(); component2.enemyType = (EnemyType)7; component2.noDamageToEnemy = true; component2.enemy = true; component2.maxSize /= 16f; component2.speed /= 2f; }, () => Object.op_Implicit((Object)(object)rage) && Object.op_Implicit((Object)(object)rage.eid) && !rage.eid.dead); } }, () => Object.op_Implicit((Object)(object)rage) && Object.op_Implicit((Object)(object)rage.eid) && !rage.eid.dead); Main_Utils.Invoke_WithDelay(1.6f, delegate { for (int i = 0; i < 2; i++) { Main_Utils.Invoke_WithDelay((float)i * 0.1f, delegate { //IL_0010: 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_0030: Unknown result type (might be due to invalid IL or missing references) //IL_003a: Unknown result type (might be due to invalid IL or missing references) //IL_003f: Unknown result type (might be due to invalid IL or missing references) //IL_0050: Unknown result type (might be due to invalid IL or missing references) //IL_005a: 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_0076: 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_0085: Unknown result type (might be due to invalid IL or missing references) //IL_00b3: Unknown result type (might be due to invalid IL or missing references) //IL_00da: Unknown result type (might be due to invalid IL or missing references) GameObject obj = Object.Instantiate(Fento_Assets.SlamExplosionShockwaveMagenta.gameObject, new Vector3(transform.position.x, transform.position.y, transform.position.z), Quaternion.identity); Transform transform2 = obj.transform; transform2.localScale *= 0.25f; Transform transform3 = obj.transform; transform3.position += transform.up * 2f; obj.transform.Rotate(new Vector3((float)Random.Range(50, 130), 0f, (float)Random.Range(0, 360))); Main_Utils.Setup_GoreZone_Obj(obj, rage.eid); PhysicalShockwave component = obj.GetComponent(); component.enemyType = (EnemyType)7; component.noDamageToEnemy = true; component.enemy = true; component.maxSize /= 16f; component.speed /= 2f; }, () => Object.op_Implicit((Object)(object)rage) && Object.op_Implicit((Object)(object)rage.eid) && !rage.eid.dead); } }, () => Object.op_Implicit((Object)(object)rage) && Object.op_Implicit((Object)(object)rage.eid) && !rage.eid.dead); } [HarmonyPatch(typeof(SwordsMachine), "SwordSpiral")] [HarmonyPrefix] public static void SwordsMachine__SwordSpiral(SwordsMachine __instance) { if (!UltraEnrage_Enemy.Dictionary.TryGetValue(((Component)__instance).transform, out var rage)) { return; } Transform transform = ((Component)__instance).transform; for (int i = 0; i < 15; i++) { Main_Utils.Invoke_WithDelay((float)i * 0.15f, delegate { //IL_0010: 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_0030: Unknown result type (might be due to invalid IL or missing references) //IL_003a: Unknown result type (might be due to invalid IL or missing references) //IL_003f: Unknown result type (might be due to invalid IL or missing references) //IL_0050: Unknown result type (might be due to invalid IL or missing references) //IL_005a: 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_0076: 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_0085: Unknown result type (might be due to invalid IL or missing references) //IL_00b3: Unknown result type (might be due to invalid IL or missing references) //IL_00da: Unknown result type (might be due to invalid IL or missing references) GameObject obj = Object.Instantiate(Fento_Assets.SlamExplosionShockwaveMagenta.gameObject, new Vector3(transform.position.x, transform.position.y, transform.position.z), Quaternion.identity); Transform transform2 = obj.transform; transform2.localScale *= 0.25f; Transform transform3 = obj.transform; transform3.position += transform.up * 2f; obj.transform.Rotate(new Vector3((float)Random.Range(50, 130), 0f, (float)Random.Range(0, 360))); Main_Utils.Setup_GoreZone_Obj(obj, rage.eid); PhysicalShockwave component = obj.GetComponent(); component.enemyType = (EnemyType)7; component.noDamageToEnemy = true; component.enemy = true; component.maxSize /= 8f; component.speed /= 2f; }, () => Object.op_Implicit((Object)(object)rage) && Object.op_Implicit((Object)(object)rage.eid) && !rage.eid.dead); } } [HarmonyPatch(typeof(SwordsMachine), "SetSpeed")] [HarmonyPostfix] public static void SwordsMachine__SetSpeed(ref float ___moveSpeedMultiplier, SwordsMachine __instance) { if (UltraEnrage_Enemy.Dictionary.ContainsKey(((Component)__instance).transform) && (__instance.firstPhase || __instance.bothPhases)) { ___moveSpeedMultiplier = 2f; } } [HarmonyPatch(typeof(Drone), "SetProjectileSettings")] [HarmonyPostfix] public static void Drone__SetProjectileSettings(EnemyIdentifier ___eid, Projectile proj, Drone __instance) { if (!UltraEnrage_Enemy.Dictionary.TryGetValue(((Component)__instance).transform, out var _)) { return; } Main_Utils.Invoke_WithDelay(0.01f, delegate { //IL_0006: Unknown result type (might be due to invalid IL or missing references) //IL_000c: Invalid comparison between Unknown and I4 //IL_0033: Unknown result type (might be due to invalid IL or missing references) //IL_0039: Invalid comparison between Unknown and I4 //IL_0139: Unknown result type (might be due to invalid IL or missing references) //IL_0140: Invalid comparison between Unknown and I4 //IL_02d3: Unknown result type (might be due to invalid IL or missing references) //IL_01a9: Unknown result type (might be due to invalid IL or missing references) //IL_01eb: Unknown result type (might be due to invalid IL or missing references) //IL_0072: Unknown result type (might be due to invalid IL or missing references) //IL_0078: Invalid comparison between Unknown and I4 //IL_022d: Unknown result type (might be due to invalid IL or missing references) //IL_026f: Unknown result type (might be due to invalid IL or missing references) //IL_00a0: 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_00e9: Unknown result type (might be due to invalid IL or missing references) if ((int)proj.homingType != 1 && (Object)(object)proj.sourceWeapon == (Object)null) { float num = 0.65f; if ((int)___eid.enemyType == 1) { num = 1f; Projectile[] array = Object.FindObjectsOfType(); foreach (Projectile val in array) { if (Object.op_Implicit((Object)(object)val) && (Object)(object)val != (Object)(object)proj && (int)val.safeEnemyType == 1 && (Object)(object)val.sourceWeapon == (Object)null) { ContinuousBeam component = Object.Instantiate(Fento_Assets.ProjectileBeam.gameObject, ((Component)proj).transform.position, Quaternion.identity, ((Component)proj).transform).GetComponent(); component.endPoint = ((Component)val).transform; component.canHitEnemy = false; component.damage *= 0.75f; Main_Utils.Make_Colored(((Component)component).transform, Color.red); val.sourceWeapon = ((Component)__instance).gameObject; } } Projectile obj = proj; obj.speed += 10f; } else if ((int)___eid.enemyType == 38) { if (Random.value < 0.3f) { Projectile obj2 = proj; obj2.speed += 15f; num = 1f; if (Object.op_Implicit((Object)(object)((Component)proj).transform.GetChild(1))) { ((Component)proj).transform.GetChild(1).localRotation = Quaternion.Euler(315f, 90f, 0f); } if (Object.op_Implicit((Object)(object)((Component)proj).transform.GetChild(2))) { ((Component)proj).transform.GetChild(2).localRotation = Quaternion.Euler(315f, 270f, 180f); } if (Object.op_Implicit((Object)(object)((Component)proj).transform.GetChild(3))) { ((Component)proj).transform.GetChild(3).localRotation = Quaternion.Euler(45f, 90f, 0f); } if (Object.op_Implicit((Object)(object)((Component)proj).transform.GetChild(4))) { ((Component)proj).transform.GetChild(4).localRotation = Quaternion.Euler(45f, 270f, 180f); } } MonoSingleton.Instance.ForceAntiHP(8f, true, true, true, false); } Projectile obj3 = proj; obj3.speed += 5f; Projectile obj4 = proj; obj4.turningSpeedMultiplier *= num; proj.sourceWeapon = ((Component)__instance).gameObject; proj.homingType = (HomingType)1; ComponentExtensions.GetOrAddComponent((Component)(object)proj).Timer *= num; } }); } [HarmonyPatch(typeof(Drone), "ShootSecondary")] [HarmonyPostfix] public static void Drone__ShootSecondary(Enemy ___enemy, EnemyIdentifier ___eid, Drone __instance) { if (!UltraEnrage_Enemy.Dictionary.TryGetValue(((Component)__instance).transform, out var rage)) { return; } ___eid.ForceGetHealth(); if (___eid.Health / ___enemy.originalHealth < 0.35f) { if (!Object.op_Implicit((Object)(object)((Component)___eid).GetComponent())) { MonoSingleton.Instance.AddPoints(100, "CRITICAL POINT", (GameObject)null, (EnemyIdentifier)null, -1, "", ""); ComponentExtensions.GetOrAddComponent((Component)(object)___eid); } else if (SecondShoot) { Main_Utils.Invoke_WithDelay(3f, delegate { //IL_001b: 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_0030: 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) //IL_0073: Unknown result type (might be due to invalid IL or missing references) //IL_007d: Unknown result type (might be due to invalid IL or missing references) //IL_0082: Unknown result type (might be due to invalid IL or missing references) GameObject obj5 = Object.Instantiate(AddressablesExtensions.ToAsset(__instance.secondaryProjectile), ((Component)rage).transform.position + ((Component)rage).transform.forward, ((Component)rage).transform.rotation); obj5.transform.SetParent(((Component)rage).transform, true); Pincer val6 = default(Pincer); if (obj5.TryGetComponent(ref val6)) { val6.difficulty = 6; Pincer obj6 = val6; obj6.direction *= 5f; val6.firedMessageReceiver = ((Component)rage).gameObject; } }); SecondShoot = false; } else { SecondShoot = true; } } if (Ultimate) { Ultimate = false; EnemyTarget target = ___eid.target; Main_Utils.Invoke_WithDelay(2f, delegate { //IL_001a: Unknown result type (might be due to invalid IL or missing references) //IL_002f: Unknown result type (might be due to invalid IL or missing references) //IL_004f: Unknown result type (might be due to invalid IL or missing references) //IL_0054: Unknown result type (might be due to invalid IL or missing references) //IL_0059: Unknown result type (might be due to invalid IL or missing references) //IL_0076: Unknown result type (might be due to invalid IL or missing references) //IL_0087: Unknown result type (might be due to invalid IL or missing references) //IL_009c: Unknown result type (might be due to invalid IL or missing references) //IL_00a1: Unknown result type (might be due to invalid IL or missing references) //IL_00b0: 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) GameObject obj = Object.Instantiate(Fento_Assets.Railcannon_Charge.gameObject, ((Component)___eid).transform.position, ((Component)___eid).transform.rotation); obj.transform.position = ((Component)___eid).transform.position + Vector3.up; obj.transform.LookAt(Main_Utils.PredictTargetPosition(target, 0.01f)); Transform transform = obj.transform; transform.position += ((Component)___eid).transform.forward; Main_Utils.Make_Colored(obj.transform, Color.red * 3f); Main_Utils.Invoke_WithDelay(0.35f, delegate { //IL_0031: Unknown result type (might be due to invalid IL or missing references) //IL_0046: Unknown result type (might be due to invalid IL or missing references) //IL_0051: Unknown result type (might be due to invalid IL or missing references) //IL_0056: 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) //IL_005e: Unknown result type (might be due to invalid IL or missing references) //IL_0068: Unknown result type (might be due to invalid IL or missing references) //IL_006d: Unknown result type (might be due to invalid IL or missing references) //IL_0082: Unknown result type (might be due to invalid IL or missing references) //IL_0093: Unknown result type (might be due to invalid IL or missing references) //IL_009d: Unknown result type (might be due to invalid IL or missing references) //IL_00b3: Unknown result type (might be due to invalid IL or missing references) //IL_00c2: 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) if (target != null && (Object)(object)rage != (Object)null) { GameObject gameObject5 = Fento_Assets.V2UnParry.gameObject; Vector3 position6 = target.position; Vector3 val5 = ((Component)___eid).transform.position - target.position; GameObject obj4 = Object.Instantiate(gameObject5, position6 + ((Vector3)(ref val5)).normalized * 2.5f, ((Component)___eid).transform.rotation); Transform transform6 = obj4.transform; transform6.localScale *= 10f; obj4.transform.LookAt(target.position); Main_Utils.Make_Colored(obj4.transform, Color.red * 3f); } }); Main_Utils.Invoke_WithDelay(0.7f, delegate { //IL_0031: Unknown result type (might be due to invalid IL or missing references) //IL_0046: Unknown result type (might be due to invalid IL or missing references) //IL_0051: Unknown result type (might be due to invalid IL or missing references) //IL_0056: 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) //IL_005e: Unknown result type (might be due to invalid IL or missing references) //IL_0068: Unknown result type (might be due to invalid IL or missing references) //IL_006d: Unknown result type (might be due to invalid IL or missing references) //IL_0082: Unknown result type (might be due to invalid IL or missing references) //IL_0093: Unknown result type (might be due to invalid IL or missing references) //IL_009d: Unknown result type (might be due to invalid IL or missing references) //IL_00b3: Unknown result type (might be due to invalid IL or missing references) //IL_00c2: 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) if (target != null && (Object)(object)rage != (Object)null) { GameObject gameObject4 = Fento_Assets.V2UnParry.gameObject; Vector3 position5 = target.position; Vector3 val4 = ((Component)___eid).transform.position - target.position; GameObject obj3 = Object.Instantiate(gameObject4, position5 + ((Vector3)(ref val4)).normalized * 2.5f, ((Component)___eid).transform.rotation); Transform transform5 = obj3.transform; transform5.localScale *= 10f; obj3.transform.LookAt(target.position); Main_Utils.Make_Colored(obj3.transform, Color.red * 3f); } }); Main_Utils.Invoke_WithDelay(1.05f, delegate { //IL_003f: Unknown result type (might be due to invalid IL or missing references) //IL_0054: Unknown result type (might be due to invalid IL or missing references) //IL_005f: Unknown result type (might be due to invalid IL or missing references) //IL_0064: Unknown result type (might be due to invalid IL or missing references) //IL_0069: Unknown result type (might be due to invalid IL or missing references) //IL_006c: Unknown result type (might be due to invalid IL or missing references) //IL_0076: 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_0090: Unknown result type (might be due to invalid IL or missing references) //IL_00ab: Unknown result type (might be due to invalid IL or missing references) //IL_00b5: Unknown result type (might be due to invalid IL or missing references) //IL_00d0: 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_00ef: Unknown result type (might be due to invalid IL or missing references) if (target != null && (Object)(object)rage != (Object)null) { GameObject gameObject = Fento_Assets.V2UnParry.gameObject; Vector3 position = target.position; Vector3 val = ((Component)___eid).transform.position - target.position; GameObject spark = Object.Instantiate(gameObject, position + ((Vector3)(ref val)).normalized * 2.5f, ((Component)___eid).transform.rotation); Transform transform2 = spark.transform; transform2.localScale *= 10f; spark.transform.LookAt(target.position); Main_Utils.Make_Colored(spark.transform, Color.red * 3f); Main_Utils.Invoke_WithDelay(0.2f, delegate { //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) //IL_008e: Unknown result type (might be due to invalid IL or missing references) //IL_0093: Unknown result type (might be due to invalid IL or missing references) //IL_0098: Unknown result type (might be due to invalid IL or missing references) //IL_009c: Unknown result type (might be due to invalid IL or missing references) //IL_00a6: Unknown result type (might be due to invalid IL or missing references) //IL_00ab: Unknown result type (might be due to invalid IL or missing references) //IL_00c5: Unknown result type (might be due to invalid IL or missing references) //IL_00e0: 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_00ff: 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_011a: Unknown result type (might be due to invalid IL or missing references) //IL_0149: Unknown result type (might be due to invalid IL or missing references) //IL_0159: Unknown result type (might be due to invalid IL or missing references) //IL_0173: Unknown result type (might be due to invalid IL or missing references) //IL_0178: Unknown result type (might be due to invalid IL or missing references) //IL_017d: Unknown result type (might be due to invalid IL or missing references) //IL_0181: Unknown result type (might be due to invalid IL or missing references) //IL_018b: Unknown result type (might be due to invalid IL or missing references) //IL_0190: Unknown result type (might be due to invalid IL or missing references) //IL_01aa: Unknown result type (might be due to invalid IL or missing references) //IL_01d4: Unknown result type (might be due to invalid IL or missing references) //IL_01ee: Unknown result type (might be due to invalid IL or missing references) //IL_0213: Unknown result type (might be due to invalid IL or missing references) //IL_0218: Unknown result type (might be due to invalid IL or missing references) //IL_021d: Unknown result type (might be due to invalid IL or missing references) //IL_022d: Unknown result type (might be due to invalid IL or missing references) //IL_023a: Unknown result type (might be due to invalid IL or missing references) //IL_0254: Unknown result type (might be due to invalid IL or missing references) //IL_0259: Unknown result type (might be due to invalid IL or missing references) //IL_028d: Unknown result type (might be due to invalid IL or missing references) //IL_0292: Unknown result type (might be due to invalid IL or missing references) //IL_0298: Unknown result type (might be due to invalid IL or missing references) //IL_029d: Unknown result type (might be due to invalid IL or missing references) //IL_02b5: Unknown result type (might be due to invalid IL or missing references) //IL_02b6: Unknown result type (might be due to invalid IL or missing references) //IL_02c4: Unknown result type (might be due to invalid IL or missing references) //IL_026f: Unknown result type (might be due to invalid IL or missing references) //IL_0277: Unknown result type (might be due to invalid IL or missing references) if (target != null && (Object)(object)rage != (Object)null) { Main_Utils.GetTargetPosition(rage.eid.target, out var targetPosition); GameObject gameObject2 = Fento_Assets.V2UnParry.gameObject; Vector3 position2 = ((Component)___eid).transform.position; Vector3 val2 = targetPosition - ((Component)___eid).transform.position; spark = Object.Instantiate(gameObject2, position2 + ((Vector3)(ref val2)).normalized * 2.5f, ((Component)___eid).transform.rotation); Transform transform3 = spark.transform; transform3.localScale *= 10f; spark.transform.LookAt(targetPosition); Main_Utils.Make_Colored(spark.transform, Color.red * 3f); GameObject gameObject3 = Fento_Assets.Railcannon_Fire.gameObject; Vector3 position3 = ((Component)___eid).transform.position; val2 = target.position - ((Component)___eid).transform.position; Object.Instantiate(gameObject3, position3 + ((Vector3)(ref val2)).normalized * 2.5f, ((Component)___eid).transform.rotation); GameObject obj2 = Object.Instantiate(Fento_Assets.Railcannon_Beam.gameObject, ((Component)___eid).transform.position, ((Component)___eid).transform.rotation); obj2.transform.position = ((Component)___eid).transform.position + Vector3.up; obj2.transform.LookAt(targetPosition); Transform transform4 = obj2.transform; transform4.position += ((Component)___eid).transform.forward; RevolverBeam val3 = default(RevolverBeam); if (obj2.TryGetComponent(ref val3)) { val3.beamType = (BeamType)3; val3.ignoreEnemyType = (EnemyType)38; val3.damage = 6f; } Vector3 position4 = obj2.transform.position; Vector3 forward = obj2.transform.forward; EnemyIdentifier eid = ___eid; RaycastHit hit = default(RaycastHit); if (Physics.Raycast(position4, forward, ref hit, float.PositiveInfinity, LayerMask.op_Implicit(LayerMaskDefaults.Get((LMD)5)))) { Main_Utils.Invoke_WithDelay(0.2f, delegate { //IL_002c: 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) if (Object.op_Implicit((Object)(object)eid)) { MonoSingleton.Instance.HitStop(0.1f); LightningStrikeExplosive component = Object.Instantiate(Fento_Assets.LightningBoltExplosion.gameObject, ((RaycastHit)(ref hit)).point, Quaternion.identity).GetComponent(); Main_Utils.Setup_GoreZone_Obj(((Component)component).gameObject, eid); component.safeForPlayer = false; component.damageMultiplier = 1.1f; component.enemyDamageMultiplier = 0f; } }); } } }); } }); }); } else if (!Object.op_Implicit((Object)(object)UltimateWaiter) || !UltimateWaiter.gameObject.activeInHierarchy) { UltimateWaiter = ((Component)rage).gameObject; Main_Utils.Invoke_WithDelay(7.5f, delegate { Ultimate = true; UltimateWaiter = null; }); } } [HarmonyPatch(typeof(Drone), "Enrage")] [HarmonyPrefix] public static void Drone__Enrage(EnemyIdentifier ___eid, Drone __instance) { if (__instance.isEnraged || !UltraEnrage_Enemy.Dictionary.ContainsKey(((Component)__instance).transform)) { return; } Main_Utils.Invoke_WithDelay(0.15f, delegate { //IL_0021: Unknown result type (might be due to invalid IL or missing references) //IL_0026: Unknown result type (might be due to invalid IL or missing references) //IL_0041: Unknown result type (might be due to invalid IL or missing references) //IL_0092: Unknown result type (might be due to invalid IL or missing references) _ = ___eid.target; GameObject obj = Object.Instantiate(Fento_Assets.SlamExplosionShockwave.gameObject, ((Component)__instance).transform.position, Quaternion.identity); obj.transform.up = ((Component)__instance).transform.right; Main_Utils.Setup_GoreZone_Obj(obj.gameObject, ___eid); PhysicalShockwave component = obj.GetComponent(); component.damage = Mathf.RoundToInt(25f * ((Component)__instance).GetComponent().totalDamageModifier); component.speed = 75f; component.enemyType = (EnemyType)9; component.noDamageToEnemy = true; component.enemy = true; if (MonoSingleton.Instance.GetInt("difficulty", 0) < 2) { component.maxSize = 10f; } else { component.maxSize = 100f; } AudioSource component2 = obj.GetComponent(); component2.pitch = 1.5f; component2.volume = 0.5f; }); } [HarmonyPatch(typeof(Power), "Flash")] [HarmonyPrefix] public static void Power__Flash(ref bool parryable, Power __instance) { if ((Random.value < 0.5f || __instance.enraged) && UltraEnrage_Enemy.Dictionary.ContainsKey(((Component)__instance).transform)) { parryable = false; } } [HarmonyPatch(typeof(Mindflayer), "Teleport")] [HarmonyPrefix] public static void Mindflayer__Teleport(Mindflayer __instance) { //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_002e: Unknown result type (might be due to invalid IL or missing references) //IL_0033: 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_0065: Unknown result type (might be due to invalid IL or missing references) //IL_006a: Unknown result type (might be due to invalid IL or missing references) //IL_0076: Unknown result type (might be due to invalid IL or missing references) if (UltraEnrage_Enemy.Dictionary.TryGetValue(((Component)__instance).transform, out var value)) { Projectile component = Object.Instantiate(Fento_Assets.ProjectileHoming_Blue.gameObject, ((Component)__instance).transform.position + Random.insideUnitSphere, Quaternion.identity).GetComponent(); Main_Utils.Setup_GoreZone_Obj(((Component)component).gameObject, value.eid); ((Component)component).transform.LookAt(((Component)component).transform.position + Random.insideUnitSphere); component.safeEnemyType = (EnemyType)5; component.SetProjTarget(value.eid.target); } } [HarmonyPatch(typeof(Mindflayer), "DamageEnd")] [HarmonyPrefix] public static void Mindflayer__DamageEnd(Mindflayer __instance) { if (UltraEnrage_Enemy.Dictionary.ContainsKey(((Component)__instance).transform) && __instance.isEnraged) { if (SecondPunch) { ((Component)__instance).SendMessage("Teleport", (object)true, (SendMessageOptions)1); ((MonoBehaviour)__instance).Invoke("MeleeAttack", 0.01f); SecondPunch = false; } else { SecondPunch = true; } } } [HarmonyPatch(typeof(Mindflayer), "StartBeam")] [HarmonyPrefix] public static void Mindflayer__StartBeam(Mindflayer __instance) { if (!UltraEnrage_Enemy.Dictionary.TryGetValue(((Component)__instance).transform, out var rage) || rage.eid.target == null) { return; } cast(); if (__instance.isEnraged) { Main_Utils.Invoke_WithDelay(0.55f, delegate { cast(); }); } void cast() { //IL_0015: Unknown result type (might be due to invalid IL or missing references) //IL_001a: Unknown result type (might be due to invalid IL or missing references) //IL_002b: Unknown result type (might be due to invalid IL or missing references) //IL_0035: Unknown result type (might be due to invalid IL or missing references) //IL_0045: Unknown result type (might be due to invalid IL or missing references) //IL_00fd: Unknown result type (might be due to invalid IL or missing references) //IL_010d: Unknown result type (might be due to invalid IL or missing references) //IL_0112: Unknown result type (might be due to invalid IL or missing references) //IL_0117: Unknown result type (might be due to invalid IL or missing references) //IL_011e: Unknown result type (might be due to invalid IL or missing references) //IL_0123: Unknown result type (might be due to invalid IL or missing references) //IL_0124: Unknown result type (might be due to invalid IL or missing references) //IL_0129: Unknown result type (might be due to invalid IL or missing references) //IL_012f: Unknown result type (might be due to invalid IL or missing references) GameObject obj = Object.Instantiate(Fento_Assets.Insignia.gameObject, ((Component)__instance).transform.position, Quaternion.identity); Transform transform = obj.transform; transform.localScale *= 0.2f; Main_Utils.Make_Colored(obj.transform, Color.cyan); VirtueInsignia component = obj.GetComponent(); component.noTracking = true; component.predictive = false; component.target = rage.eid.target; component.parentDrone = rage.eid.drone; component.parentEnemy = rage.enemy; component.hadParent = (Object)(object)rage.enemy != (Object)null; component.explosionLength *= 4f; component.damage = Mathf.RoundToInt((float)component.damage * 1.25f); Vector3 val = rage.eid.target.PredictTargetPosition(0.1f, false, false) - ((Component)__instance).transform.position; Quaternion rotation = Quaternion.FromToRotation(obj.transform.up, val); obj.transform.rotation = rotation; } } [HarmonyPatch(typeof(Turret), "Interrupt")] [HarmonyPrefix] public static bool Turret__Interrupt(Turret __instance) { //IL_001b: Unknown result type (might be due to invalid IL or missing references) //IL_004f: Unknown result type (might be due to invalid IL or missing references) //IL_005f: Unknown result type (might be due to invalid IL or missing references) //IL_006f: Unknown result type (might be due to invalid IL or missing references) //IL_0079: Unknown result type (might be due to invalid IL or missing references) //IL_0032: Unknown result type (might be due to invalid IL or missing references) //IL_00bd: Unknown result type (might be due to invalid IL or missing references) //IL_00c2: 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_00d6: Unknown result type (might be due to invalid IL or missing references) //IL_00db: Unknown result type (might be due to invalid IL or missing references) //IL_00e0: 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) if (UltraEnrage_Enemy.Dictionary.ContainsKey(((Component)__instance).transform)) { if (((Component)__instance).transform.localScale.x == 0f || ((Component)__instance).transform.localScale.z == 0f) { ((Component)__instance).transform.localScale = new Vector3(((Component)__instance).transform.localScale.y, ((Component)__instance).transform.localScale.y, ((Component)__instance).transform.localScale.y); MonoSingleton.Instance.AddPoints(100, "HIDE AND SEEK", (GameObject)null, (EnemyIdentifier)null, -1, "", ""); MonoSingleton.Instance.HitStop(0.1f); } ((MonoBehaviour)__instance).CancelInvoke("Shoot"); __instance.shootRotation = Quaternion.LookRotation(Vector3.Lerp(__instance.aimDirection, Random.insideUnitSphere + Vector3.up, 0.3f), Vector3.up); __instance.Shoot(); Turret[] array = Object.FindObjectsOfType()?.Where((Turret t) => !t.eid.dead)?.ToArray(); if (array != null && array.Length > 1) { return true; } return false; } return true; } [HarmonyPatch(typeof(Turret), "StartWindup")] [HarmonyPostfix] public static void Turret__StartWindup(Turret __instance) { if (UltraEnrage_Enemy.Dictionary.ContainsKey(((Component)__instance).transform)) { __instance.inAction = false; } } [HarmonyPatch(typeof(Gutterman), "ShieldBreak")] [HarmonyPrefix] public static bool Gutterman__ShieldBreak(Gutterman __instance) { //IL_0055: 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_006f: Unknown result type (might be due to invalid IL or missing references) //IL_0074: Unknown result type (might be due to invalid IL or missing references) //IL_0079: Unknown result type (might be due to invalid IL or missing references) //IL_008a: Unknown result type (might be due to invalid IL or missing references) //IL_0094: Unknown result type (might be due to invalid IL or missing references) //IL_00ae: Unknown result type (might be due to invalid IL or missing references) if (UltraEnrage_Enemy.Dictionary.TryGetValue(((Component)__instance).transform, out var _)) { SuddenTwistChecker component = ((Component)__instance).GetComponent(); if (Object.op_Implicit((Object)(object)component)) { GameObject obj = Object.Instantiate(Fento_Assets.PhysicalShockwaveHarmless.gameObject, ((Component)__instance).transform.position + ((Component)__instance).transform.up * 6f, Quaternion.identity); Transform transform = obj.transform; transform.localScale *= 3f; PhysicalShockwave component2 = obj.GetComponent(); component2.damage = 20; component2.enemyType = (EnemyType)33; component2.noDamageToEnemy = true; Object.Destroy((Object)(object)component); return true; } Main_Utils.Invoke_WithDelay(2.5f, delegate { //IL_0027: 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) Gutterman obj2 = __instance; if (obj2 != null) { ComponentExtensions.GetOrAddComponent((Component)(object)obj2); } Object.Instantiate(MonoSingleton.Instance.ineffectiveSound, ((Component)__instance).transform.position, Quaternion.identity).GetComponent().volume = 0.75f; }); return false; } return true; } [HarmonyPatch(typeof(Gutterman), "ShieldBash")] [HarmonyPrefix] public static void Gutterman__ShieldBash(Gutterman __instance) { if (UltraEnrage_Enemy.Dictionary.TryGetValue(((Component)__instance).transform, out var _)) { Main_Utils.Invoke_WithDelay(0.15f, delegate { //IL_0015: Unknown result type (might be due to invalid IL or missing references) //IL_0025: Unknown result type (might be due to invalid IL or missing references) //IL_002f: Unknown result type (might be due to invalid IL or missing references) //IL_0034: Unknown result type (might be due to invalid IL or missing references) //IL_0039: Unknown result type (might be due to invalid IL or missing references) //IL_0077: Unknown result type (might be due to invalid IL or missing references) PhysicalShockwave component = Object.Instantiate(Fento_Assets.PhysicalShockwaveHarmless.gameObject, ((Component)__instance).transform.position + ((Component)__instance).transform.up * 3f, Quaternion.identity).GetComponent(); component.maxSize *= 0.3f; component.speed *= 1.35f; component.damage = 10; component.enemyType = (EnemyType)33; component.noDamageToEnemy = true; }); } } [HarmonyPatch(typeof(Gutterman), "GotParried")] [HarmonyPrefix] public static bool Gutterman__GotParried(Gutterman __instance) { if (UltraEnrage_Enemy.Dictionary.TryGetValue(((Component)__instance).transform, out var _)) { Main_Utils.Invoke_WithDelay(0.15f, delegate { //IL_0015: Unknown result type (might be due to invalid IL or missing references) //IL_0025: Unknown result type (might be due to invalid IL or missing references) //IL_002f: Unknown result type (might be due to invalid IL or missing references) //IL_0034: Unknown result type (might be due to invalid IL or missing references) //IL_0039: Unknown result type (might be due to invalid IL or missing references) //IL_0077: Unknown result type (might be due to invalid IL or missing references) PhysicalShockwave component = Object.Instantiate(Fento_Assets.PhysicalShockwaveHarmless.gameObject, ((Component)__instance).transform.position + ((Component)__instance).transform.up * 3f, Quaternion.identity).GetComponent(); component.maxSize *= 0.3f; component.speed *= 1.35f; component.damage = 10; component.enemyType = (EnemyType)33; component.noDamageToEnemy = true; }); } return true; } [HarmonyPatch(typeof(Guttertank), "Punch")] [HarmonyPrefix] public static bool Guttertank__Punch(Guttertank __instance) { //IL_006d: Unknown result type (might be due to invalid IL or missing references) //IL_0077: Unknown result type (might be due to invalid IL or missing references) //IL_0097: 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_00bc: Unknown result type (might be due to invalid IL or missing references) //IL_00c6: Unknown result type (might be due to invalid IL or missing references) //IL_00cb: Unknown result type (might be due to invalid IL or missing references) //IL_00d0: Unknown result type (might be due to invalid IL or missing references) //IL_00da: Unknown result type (might be due to invalid IL or missing references) //IL_00df: Unknown result type (might be due to invalid IL or missing references) if (UltraEnrage_Enemy.Dictionary.TryGetValue(((Component)__instance).transform, out var rage) && Object.op_Implicit((Object)(object)rage.eid) && rage.eid.target != null) { Rigidbody rigidbody = rage.eid.target.rigidbody; rigidbody.velocity *= 0.8f; Rigidbody rigidbody2 = rage.eid.target.rigidbody; rigidbody2.velocity += Main_Utils.GetVector_FromTo(rage.eid.target.position, ((Component)__instance).transform.TransformPoint(Vector3.forward * 5f)) * 40f; Main_Utils.Invoke_WithDelay(0.15f, delegate { //IL_0016: 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_0040: Unknown result type (might be due to invalid IL or missing references) //IL_0055: 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_006f: Unknown result type (might be due to invalid IL or missing references) //IL_0074: Unknown result type (might be due to invalid IL or missing references) //IL_0079: Unknown result type (might be due to invalid IL or missing references) //IL_0083: Unknown result type (might be due to invalid IL or missing references) //IL_0088: Unknown result type (might be due to invalid IL or missing references) Rigidbody rigidbody3 = rage.eid.target.rigidbody; rigidbody3.velocity *= 0.8f; Rigidbody rigidbody4 = rage.eid.target.rigidbody; rigidbody4.velocity += Main_Utils.GetVector_FromTo(rage.eid.target.position, ((Component)__instance).transform.TransformPoint(Vector3.forward * 5f)) * 40f; }, () => Object.op_Implicit((Object)(object)rage) && Object.op_Implicit((Object)(object)rage.eid) && rage.eid.target != null); } return true; } [HarmonyPatch(typeof(Grenade), "Collision", new Type[] { typeof(Collider), typeof(Vector3) })] [HarmonyPrefix] public static bool Grenade__Collision(bool ___exploded, Rigidbody ___rb, Collider other, Vector3 velocity, Grenade __instance) { //IL_00f9: Unknown result type (might be due to invalid IL or missing references) //IL_0105: Unknown result type (might be due to invalid IL or missing references) //IL_010a: Unknown result type (might be due to invalid IL or missing references) //IL_0116: Unknown result type (might be due to invalid IL or missing references) //IL_0123: Unknown result type (might be due to invalid IL or missing references) //IL_01e5: Unknown result type (might be due to invalid IL or missing references) //IL_01ea: Unknown result type (might be due to invalid IL or missing references) //IL_0138: Unknown result type (might be due to invalid IL or missing references) //IL_013d: Unknown result type (might be due to invalid IL or missing references) //IL_013f: Unknown result type (might be due to invalid IL or missing references) //IL_014c: Unknown result type (might be due to invalid IL or missing references) //IL_0153: Unknown result type (might be due to invalid IL or missing references) //IL_0158: Unknown result type (might be due to invalid IL or missing references) //IL_015d: Unknown result type (might be due to invalid IL or missing references) //IL_0161: Unknown result type (might be due to invalid IL or missing references) //IL_016d: Unknown result type (might be due to invalid IL or missing references) //IL_0177: Unknown result type (might be due to invalid IL or missing references) //IL_018b: Unknown result type (might be due to invalid IL or missing references) //IL_0192: Unknown result type (might be due to invalid IL or missing references) //IL_0197: Unknown result type (might be due to invalid IL or missing references) //IL_019c: Unknown result type (might be due to invalid IL or missing references) //IL_01a0: Unknown result type (might be due to invalid IL or missing references) //IL_01ab: Unknown result type (might be due to invalid IL or missing references) //IL_01b0: 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_01c5: Unknown result type (might be due to invalid IL or missing references) //IL_01ca: Unknown result type (might be due to invalid IL or missing references) //IL_0068: Unknown result type (might be due to invalid IL or missing references) //IL_006f: Invalid comparison between Unknown and I4 if (!___exploded) { bool flag = false; EnemyIdentifierIdentifier val = default(EnemyIdentifierIdentifier); if ((((Component)other).gameObject.layer == 11 || ((Component)other).gameObject.layer == 10) && (Object.op_Implicit((Object)(object)other.attachedRigidbody) ? ((Component)other.attachedRigidbody).TryGetComponent(ref val) : ((Component)other).TryGetComponent(ref val)) && Object.op_Implicit((Object)(object)val.eid) && (int)val.eid.enemyType == 34 && !val.eid.dead && UltraEnrage_Enemy.Dictionary.ContainsKey(((Component)val.eid).transform)) { flag = true; if (!__instance.enemy && __instance.rocket && !Object.op_Implicit((Object)(object)((Component)val.eid).GetComponent())) { MonoSingleton.Instance.AddPoints(50, "SUDDEN TWIST", (GameObject)null, (EnemyIdentifier)null, -1, "", ""); ComponentExtensions.GetOrAddComponent((Component)(object)val.eid); } } if (flag) { ___rb.constraints = (RigidbodyConstraints)0; RaycastHit val2 = default(RaycastHit); if (Physics.Raycast(((Component)__instance).transform.position - ((Component)__instance).transform.forward, ((Component)__instance).transform.forward, ref val2, float.PositiveInfinity, LayerMask.op_Implicit(LayerMaskDefaults.Get((LMD)3)))) { Vector3 velocity2 = ___rb.velocity; ___rb.velocity = Vector3.zero; Vector3 val3 = Vector3.Reflect(((Vector3)(ref velocity2)).normalized, ((RaycastHit)(ref val2)).normal); ___rb.AddForce(((Vector3)(ref val3)).normalized * ((Vector3)(ref velocity2)).magnitude * 2f, (ForceMode)2); Transform transform = ((Component)__instance).transform; val3 = Vector3.Reflect(((Vector3)(ref velocity2)).normalized, ((RaycastHit)(ref val2)).normal); transform.forward = ((Vector3)(ref val3)).normalized; Vector2 insideUnitCircle = Random.insideUnitCircle; ___rb.AddTorque(Vector2.op_Implicit(((Vector2)(ref insideUnitCircle)).normalized * (float)Random.Range(0, 250))); } Object.Instantiate(MonoSingleton.Instance.ineffectiveSound, ((Component)__instance).transform.position, Quaternion.identity).GetComponent().volume = 0.75f; return false; } } return true; } [HarmonyPatch(typeof(StatueBoss), "StompHit")] [HarmonyPostfix] public static void StatueBoss__StompHit(EnemyIdentifier ___eid, StatueBoss __instance) { //IL_0025: Unknown result type (might be due to invalid IL or missing references) //IL_002a: Unknown result type (might be due to invalid IL or missing references) //IL_0034: Unknown result type (might be due to invalid IL or missing references) //IL_0039: Unknown result type (might be due to invalid IL or missing references) //IL_0044: Unknown result type (might be due to invalid IL or missing references) if (UltraEnrage_Enemy.Dictionary.ContainsKey(((Component)__instance).transform)) { Explosion[] componentsInChildren = Object.Instantiate(Fento_Assets.ExplosionSuper.gameObject, ((Component)__instance).transform.position + Vector3.up * 5f, ((Component)__instance).transform.rotation).GetComponentsInChildren(); foreach (Explosion obj in componentsInChildren) { obj.maxSize *= 1.85f; obj.enemy = true; obj.toIgnore.Add((EnemyType)0); obj.damage = (int)(25f * ___eid.totalDamageModifier); obj.enemyDamageMultiplier = 0f; } ((MonoBehaviour)__instance).Invoke("Throw", 0.2f); } } [HarmonyPatch(typeof(StatueBoss), "Dash")] [HarmonyPostfix] public static void StatueBoss__Dash(ref float ___dashPower, EnemyIdentifier ___eid, StatueBoss __instance) { //IL_003a: Unknown result type (might be due to invalid IL or missing references) //IL_003f: Unknown result type (might be due to invalid IL or missing references) //IL_0049: Unknown result type (might be due to invalid IL or missing references) //IL_004e: Unknown result type (might be due to invalid IL or missing references) //IL_005e: Unknown result type (might be due to invalid IL or missing references) //IL_0068: Unknown result type (might be due to invalid IL or missing references) //IL_006d: Unknown result type (might be due to invalid IL or missing references) //IL_0072: Unknown result type (might be due to invalid IL or missing references) //IL_0082: Unknown result type (might be due to invalid IL or missing references) //IL_0087: Unknown result type (might be due to invalid IL or missing references) //IL_0091: Unknown result type (might be due to invalid IL or missing references) //IL_0096: Unknown result type (might be due to invalid IL or missing references) //IL_00a6: Unknown result type (might be due to invalid IL or missing references) //IL_00b3: Unknown result type (might be due to invalid IL or missing references) //IL_00fd: 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_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) if (!UltraEnrage_Enemy.Dictionary.ContainsKey(((Component)__instance).transform)) { return; } Vector3 point = ((Component)__instance).transform.position + Vector3.up * 2.5f + ((Component)__instance).transform.forward * 25f; RaycastHit val = default(RaycastHit); if (Physics.Raycast(((Component)__instance).transform.position + Vector3.up * 2.5f, ((Component)__instance).transform.forward, ref val, 25f, LayerMask.op_Implicit(LayerMaskDefaults.Get((LMD)1)))) { point = ((RaycastHit)(ref val)).point; } ___dashPower += 100f; Main_Utils.Invoke_WithDelay(0.1f, delegate { //IL_0018: Unknown result type (might be due to invalid IL or missing references) //IL_0028: Unknown result type (might be due to invalid IL or missing references) if (Object.op_Implicit((Object)(object)__instance)) { Explosion[] componentsInChildren = Object.Instantiate(Fento_Assets.ExplosionSuper.gameObject, point, ((Component)__instance).transform.rotation).GetComponentsInChildren(); foreach (Explosion obj in componentsInChildren) { obj.enemy = true; obj.toIgnore.Add((EnemyType)0); obj.damage = (int)(25f * ___eid.totalDamageModifier); obj.enemyDamageMultiplier = 0f; } } }); Vector3 targetPos = ___eid.target.position; if (!(Random.value < 0.25f)) { return; } Main_Utils.Invoke_WithDelay(1f, delegate { //IL_0028: 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) if (Object.op_Implicit((Object)(object)__instance) && Object.op_Implicit((Object)(object)___eid) && ___eid.target != null && Vector3.Distance(targetPos, ___eid.target.position) < 4f) { ((MonoBehaviour)__instance).Invoke("Stomp", 0f); } }); } [HarmonyPatch(typeof(StatueBoss), "OrbSpawn")] [HarmonyPostfix] public static void StatueBoss__OrbSpawn(EnemyIdentifier ___eid, StatueBoss __instance) { if (UltraEnrage_Enemy.Dictionary.ContainsKey(((Component)__instance).transform)) { ((MonoBehaviour)__instance).Invoke("Dash", 0.25f); ((MonoBehaviour)__instance).Invoke("StopDash", 0.5f); } } [HarmonyPatch(typeof(Mass), "SlamImpact")] [HarmonyPostfix] public static void Mass__SlamImpact(EnemyIdentifier ___eid, Mass __instance) { //IL_004d: Unknown result type (might be due to invalid IL or missing references) //IL_005d: Unknown result type (might be due to invalid IL or missing references) //IL_0062: Unknown result type (might be due to invalid IL or missing references) //IL_0073: Unknown result type (might be due to invalid IL or missing references) if (!UltraEnrage_Enemy.Dictionary.ContainsKey(((Component)__instance).transform)) { return; } EnemyTarget target = ___eid.target; RaycastHit hitInfo = default(RaycastHit); if (target == null || !Physics.Raycast(target.position, -target.trackedTransform.up, ref hitInfo, 100f, LayerMask.op_Implicit(LayerMaskDefaults.Get((LMD)1)))) { return; } Main_Utils.Invoke_WithDelay(0.5f, delegate { //IL_0025: Unknown result type (might be due to invalid IL or missing references) //IL_002a: Unknown result type (might be due to invalid IL or missing references) //IL_002f: Unknown result type (might be due to invalid IL or missing references) //IL_0034: Unknown result type (might be due to invalid IL or missing references) //IL_0045: Unknown result type (might be due to invalid IL or missing references) //IL_004f: Unknown result type (might be due to invalid IL or missing references) //IL_0064: Unknown result type (might be due to invalid IL or missing references) if (Object.op_Implicit((Object)(object)___eid) && target != null) { GameObject obj2 = Object.Instantiate(Fento_Assets.V2UnParry.gameObject, ((RaycastHit)(ref hitInfo)).point + Vector3.up, Quaternion.identity); Transform transform = obj2.transform; transform.localScale *= 10f; obj2.transform.LookAt(target.position); } }); Main_Utils.Invoke_WithDelay(1f, delegate { //IL_0021: 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_0036: Unknown result type (might be due to invalid IL or missing references) //IL_0043: Unknown result type (might be due to invalid IL or missing references) //IL_0060: Unknown result type (might be due to invalid IL or missing references) //IL_0070: Unknown result type (might be due to invalid IL or missing references) RaycastHit val = default(RaycastHit); if (Object.op_Implicit((Object)(object)___eid) && target != null && Physics.Raycast(target.position, -target.trackedTransform.up, ref val, 100f, LayerMask.op_Implicit(LayerMaskDefaults.Get((LMD)1)))) { Explosion[] componentsInChildren = Object.Instantiate(Fento_Assets.ExplosionBig.gameObject, ((RaycastHit)(ref val)).point, ((Component)__instance).transform.rotation).GetComponentsInChildren(); foreach (Explosion obj in componentsInChildren) { obj.toIgnore.Add((EnemyType)2); obj.damage = (int)(25f * ___eid.totalDamageModifier); obj.enemyDamageMultiplier = 0f; obj.enemy = true; } } }); } [HarmonyPatch(typeof(Mass), "SwingEnd")] [HarmonyPostfix] public static void Mass__SwingEnd(EnemyIdentifier ___eid, Mass __instance) { if (!UltraEnrage_Enemy.Dictionary.ContainsKey(((Component)__instance).transform)) { return; } Main_Utils.Invoke_WithDelay(0.75f, delegate { if (Object.op_Implicit((Object)(object)___eid) && ___eid.target != null) { SwingEnd(); } }); Main_Utils.Invoke_WithDelay(0.9f, delegate { if (Object.op_Implicit((Object)(object)___eid) && ___eid.target != null) { __instance.ShootSpear(); } }); void SwingEnd() { //IL_0012: Unknown result type (might be due to invalid IL or missing references) //IL_0017: Unknown result type (might be due to invalid IL or missing references) //IL_0030: Unknown result type (might be due to invalid IL or missing references) //IL_0042: Unknown result type (might be due to invalid IL or missing references) //IL_0047: Unknown result type (might be due to invalid IL or missing references) //IL_0051: Unknown result type (might be due to invalid IL or missing references) //IL_0056: Unknown result type (might be due to invalid IL or missing references) //IL_0083: Unknown result type (might be due to invalid IL or missing references) //IL_0093: Unknown result type (might be due to invalid IL or missing references) //IL_009f: Unknown result type (might be due to invalid IL or missing references) //IL_00a9: Unknown result type (might be due to invalid IL or missing references) //IL_00af: Unknown result type (might be due to invalid IL or missing references) //IL_00c2: Unknown result type (might be due to invalid IL or missing references) Vector3 val = Main_Utils.PredictTargetPosition(___eid.target, 0.25f); GameObject val2 = Object.Instantiate(__instance.slamExplosion, (__instance.shootPoints[0].position + __instance.shootPoints[1].position) / 2f, Quaternion.identity); Main_Utils.Setup_GoreZone_Obj(val2.gameObject, ___eid); val2.transform.up = ((Component)__instance).transform.forward; val2.transform.position = new Vector3(val.x, val2.transform.position.y, val.z); PhysicalShockwave component = val2.GetComponent(); component.enemyType = (EnemyType)2; component.damage = Mathf.RoundToInt(25f * ((Component)__instance).GetComponent().totalDamageModifier); component.noDamageToEnemy = true; component.enemy = true; component.speed = 35f; if (MonoSingleton.Instance.GetInt("difficulty", 0) < 2) { component.maxSize = 10f; } else { component.maxSize = 100f; } AudioSource component2 = val2.GetComponent(); component2.pitch = 1.5f; component2.volume = 0.5f; } } [HarmonyPatch(typeof(Deathcatcher), "Death")] [HarmonyPrefix] public static bool Deathcatcher__Death(Deathcatcher __instance) { if (UltraEnrage_Enemy.Dictionary.ContainsKey(((Component)__instance).transform)) { SuddenTwistChecker component = ((Component)__instance).GetComponent(); if (__instance.closedModel.activeSelf && Object.op_Implicit((Object)(object)component)) { return false; } if (!__instance.closedModel.activeSelf && !Object.op_Implicit((Object)(object)component)) { for (int i = 0; i < 20; i++) { Main_Utils.Invoke_WithDelay((float)i * 0.5f, delegate { //IL_0025: Unknown result type (might be due to invalid IL or missing references) //IL_0035: Unknown result type (might be due to invalid IL or missing references) //IL_003f: Unknown result type (might be due to invalid IL or missing references) //IL_0044: Unknown result type (might be due to invalid IL or missing references) //IL_0049: Unknown result type (might be due to invalid IL or missing references) if (Object.op_Implicit((Object)(object)__instance)) { Explosion[] componentsInChildren2 = Object.Instantiate(Fento_Assets.ExplosionSuper.gameObject, ((Component)__instance).transform.position + ((Component)__instance).transform.up * 2.5f, Quaternion.identity).GetComponentsInChildren(); foreach (Explosion obj2 in componentsInChildren2) { obj2.toIgnore.Add((EnemyType)39); obj2.enemyDamageMultiplier = 0f; obj2.damage = 35; obj2.enemy = true; } } }); } Main_Utils.Invoke_WithDelay(11.5f, delegate { //IL_0025: Unknown result type (might be due to invalid IL or missing references) //IL_0035: Unknown result type (might be due to invalid IL or missing references) //IL_003f: Unknown result type (might be due to invalid IL or missing references) //IL_0044: Unknown result type (might be due to invalid IL or missing references) //IL_0049: Unknown result type (might be due to invalid IL or missing references) if (Object.op_Implicit((Object)(object)__instance)) { Explosion[] componentsInChildren = Object.Instantiate(Fento_Assets.ExplosionSuper.gameObject, ((Component)__instance).transform.position + ((Component)__instance).transform.up * 2.5f, Quaternion.identity).GetComponentsInChildren(); foreach (Explosion obj in componentsInChildren) { obj.toIgnore.Add((EnemyType)39); obj.enemyDamageMultiplier = 0f; obj.maxSize *= 2f; obj.damage = 35; obj.enemy = true; } __instance.ChangeAnimationState(true); } }); ComponentExtensions.GetOrAddComponent((Component)(object)__instance); __instance.ChangeAnimationState(false); return false; } return true; } return true; } [HarmonyPatch(typeof(Deathcatcher), "Update")] [HarmonyPostfix] public static void Deathcatcher__Update(List ___deadCaughtEnemies, TimeSince ___timeSinceRespawn, EnemyIdentifier ___eid, Deathcatcher __instance) { //IL_0000: 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_00bd: Unknown result type (might be due to invalid IL or missing references) //IL_00d2: Unknown result type (might be due to invalid IL or missing references) //IL_00f4: 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) if (TimeSince.op_Implicit(___timeSinceRespawn) != 0f || ___deadCaughtEnemies == null || !UltraEnrage_Enemy.Dictionary.ContainsKey(((Component)__instance).transform)) { return; } foreach (CaughtEnemy ___deadCaughtEnemy in ___deadCaughtEnemies) { if ((Object)(object)___deadCaughtEnemy.puppet != (Object)null) { GameObjectExtensions.GetOrAddComponent(___deadCaughtEnemy.puppet).UnMakeAfter = 5f; } if (!((Object)(object)___deadCaughtEnemy.puppet != (Object)null) || !(Random.value < 0.35f)) { continue; } SpawnableInstance val = SpawnableObjectExtensions.InstantiateSpawnable(((SavedGeneric)___deadCaughtEnemy.savedEnemy).Spawnable, (SavedGeneric)(object)___deadCaughtEnemy.savedEnemy, ((Component)__instance).transform.parent, true); ((Component)val).transform.position = ___deadCaughtEnemy.position; ((Component)val).transform.rotation = ___deadCaughtEnemy.rotation; val.ApplyAlterOptions((IEnumerable)(object)new AlterOption[1] { new AlterOption { targetKey = "puppeted", useBool = true, boolValue = true } }); if (___eid.healthBuff || ___eid.speedBuff || ___eid.damageBuff) { EnemyIdentifier componentInChildren = ((Component)val).GetComponentInChildren(true); if (Object.op_Implicit((Object)(object)componentInChildren)) { componentInChildren.radianceTier = ___eid.radianceTier; if (___eid.healthBuff) { componentInChildren.healthBuff = true; componentInChildren.healthBuffRequests++; componentInChildren.healthBuffModifier = ___eid.healthBuffModifier; } if (___eid.speedBuff) { componentInChildren.speedBuff = true; componentInChildren.speedBuffRequests++; componentInChildren.speedBuffModifier = ___eid.speedBuffModifier; } if (___eid.damageBuff) { componentInChildren.damageBuff = true; componentInChildren.damageBuffRequests++; componentInChildren.damageBuffModifier = ___eid.damageBuffModifier; } } } ___deadCaughtEnemy.UpdatePuppet(((Component)val).gameObject); } } [HarmonyPatch(typeof(MinosArm), "Slam")] [HarmonyPostfix] public static void MinosArm__Slam(EnemyIdentifier ___eid, int type, MinosArm __instance) { //IL_009c: Unknown result type (might be due to invalid IL or missing references) //IL_00a1: Unknown result type (might be due to invalid IL or missing references) //IL_00b2: Unknown result type (might be due to invalid IL or missing references) //IL_00b7: Unknown result type (might be due to invalid IL or missing references) //IL_00d6: Unknown result type (might be due to invalid IL or missing references) //IL_00db: Unknown result type (might be due to invalid IL or missing references) //IL_00e2: Unknown result type (might be due to invalid IL or missing references) //IL_00e7: Unknown result type (might be due to invalid IL or missing references) //IL_00f0: Unknown result type (might be due to invalid IL or missing references) //IL_00c0: Unknown result type (might be due to invalid IL or missing references) //IL_00ca: Unknown result type (might be due to invalid IL or missing references) //IL_00cf: Unknown result type (might be due to invalid IL or missing references) //IL_0103: Unknown result type (might be due to invalid IL or missing references) //IL_0108: Unknown result type (might be due to invalid IL or missing references) //IL_010e: Unknown result type (might be due to invalid IL or missing references) //IL_0113: Unknown result type (might be due to invalid IL or missing references) //IL_0118: Unknown result type (might be due to invalid IL or missing references) //IL_013c: Unknown result type (might be due to invalid IL or missing references) //IL_013d: Unknown result type (might be due to invalid IL or missing references) //IL_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_01c8: 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_024e: Unknown result type (might be due to invalid IL or missing references) //IL_0253: 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_0262: Unknown result type (might be due to invalid IL or missing references) //IL_0279: Unknown result type (might be due to invalid IL or missing references) //IL_028a: Unknown result type (might be due to invalid IL or missing references) //IL_0294: Unknown result type (might be due to invalid IL or missing references) //IL_0299: Unknown result type (might be due to invalid IL or missing references) if (!UltraEnrage_Enemy.Dictionary.ContainsKey(((Component)__instance).transform)) { return; } if (Random.value < 0.9f) { MinosRageDoubleSlam++; if (Random.value < 0.1f) { MinosRageDoubleSlam++; } } if (MinosRageDoubleSlam > 12) { MinosRageDoubleSlam = 0; List list = new List { 0, 1, 2 }; list.Remove(type); __instance.Slam(list[Random.Range(0, 2)]); } Vector3 val = Vector3.down; switch (type) { case 1: val = ((Component)__instance).transform.right; break; case 2: val = ((Component)__instance).transform.right * -1f; break; } Vector3 val2 = __instance.hand.position; RaycastHit val3 = default(RaycastHit); if (Physics.Raycast(__instance.hand.position, val, ref val3, 100f, LayerMask.op_Implicit(LayerMaskDefaults.Get((LMD)1)))) { val2 = ((RaycastHit)(ref val3)).point - val * 10f; } Stray_Rage_Proj stray_Rage_Proj = default(Stray_Rage_Proj); for (int i = 0; i < 12; i++) { Projectile currentProjectile = Object.Instantiate(Fento_Assets.Projectile_Red.gameObject, val2 + Random.insideUnitSphere, Quaternion.identity).GetComponent(); ((Component)currentProjectile).transform.DissableColliders(((Component)___eid).transform); if (((Component)currentProjectile).TryGetComponent(ref stray_Rage_Proj)) { Object.Destroy((Object)(object)stray_Rage_Proj); } currentProjectile.ignoreExplosions = true; currentProjectile.SetProjTarget(___eid.target); currentProjectile.safeEnemyType = (EnemyType)11; currentProjectile.speed = Random.Range(35f, 100f); float predictTime = Main_Utils.PredictTimeOld(((Component)currentProjectile).transform.position, currentProjectile.speed, ___eid.target) * Random.value; ((Component)currentProjectile).transform.LookAt(Main_Utils.PredictTargetPosition(___eid.target, predictTime) + Random.insideUnitSphere * 12f); Transform transform = ((Component)currentProjectile).transform; transform.position += ((Component)currentProjectile).transform.forward * 10f; if (!(Random.value < 0.5f)) { continue; } Main_Utils.Invoke_WithDelay(predictTime * Random.value, delegate { //IL_005c: Unknown result type (might be due to invalid IL or missing references) //IL_0061: Unknown result type (might be due to invalid IL or missing references) //IL_006b: Unknown result type (might be due to invalid IL or missing references) //IL_0070: Unknown result type (might be due to invalid IL or missing references) if ((Object)(object)currentProjectile != (Object)null && (Object)(object)___eid != (Object)null && ___eid.target != null) { ((Component)currentProjectile).transform.LookAt(Main_Utils.PredictTargetPosition(___eid.target, predictTime * Random.value) + Random.insideUnitSphere * 6f); } }); } } [HarmonyPatch(typeof(MinosBoss), "SpawnBlackHole")] [HarmonyPostfix] public static void MinosBoss__SpawnBlackHole(BlackHoleProjectile ___currentBlackHole, MinosBoss __instance) { //IL_002e: 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_00ab: Unknown result type (might be due to invalid IL or missing references) //IL_00bb: Unknown result type (might be due to invalid IL or missing references) //IL_00c5: Unknown result type (might be due to invalid IL or missing references) if (!UltraEnrage_Enemy.Dictionary.ContainsKey(((Component)__instance).transform)) { return; } ___currentBlackHole.speed *= 1.25f; Transform transform = ((Component)___currentBlackHole).transform; transform.localScale *= 1.5f; ComponentExtensions.GetOrAddComponent((Component)(object)___currentBlackHole); ComponentExtensions.GetOrAddComponent((Component)(object)___currentBlackHole).Distance *= 0.7f; if (!((Object)(object)Fento_Assets.RagePrefab.gameObject != (Object)null)) { return; } GameObject val = Object.Instantiate(Fento_Assets.RagePrefab.gameObject, ((Component)___currentBlackHole).transform); if ((Object)(object)val != (Object)null) { val.transform.SetParent(((Component)___currentBlackHole).transform); val.transform.localPosition = Vector3.zero; val.transform.localScale = Vector3.one * 0.75f; AudioSource[] components = val.GetComponents(); if (components != null) { AudioSource val2 = components.Last(); if ((Object)(object)val2 != (Object)null) { val2.pitch *= 0.75f; } } } AudioSource[] componentsInChildren = val.GetComponentsInChildren(); foreach (AudioSource val3 in componentsInChildren) { if ((Object)(object)val3 != (Object)null) { val3.spatialize = true; } } } [HarmonyPatch(typeof(MinosBoss), "GotParried")] [HarmonyPrefix] public static bool MinosBoss__GotParried(ref bool ___beenParried, Statue ___stat, Animator ___anim, EnemyIdentifier ___eid, MinosBoss __instance) { //IL_00b1: 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_010d: Unknown result type (might be due to invalid IL or missing references) //IL_0123: Unknown result type (might be due to invalid IL or missing references) if (UltraEnrage_Enemy.Dictionary.ContainsKey(((Component)__instance).transform)) { if (___eid.dead) { return true; } Object.Instantiate(__instance.bigHurtSound, __instance.head); __instance.punchesSinceBreak = 0; if (!___beenParried) { ___beenParried = true; if (__instance.parryChallenge) { MonoSingleton.Instance.ChallengeDone(); } } MonoSingleton.Instance.AddPoints(500, "ultrakill.downtosize", (GameObject)null, ___eid, -1, "", ""); if (__instance.attackingRight) { SwingCheck2[] scRight = __instance.scRight; for (int i = 0; i < scRight.Length; i++) { scRight[i].DamageStop(); } ___anim.SetTrigger("ParryRight"); ((Enemy)___stat).GetHurt(((Component)__instance).gameObject, Vector3.zero, 2.5f, 0f, ((Component)__instance).transform.position, (GameObject)null, false); } if (__instance.attackingLeft) { SwingCheck2[] scLeft = __instance.scLeft; for (int j = 0; j < scLeft.Length; j++) { scLeft[j].DamageStop(); } ___anim.SetTrigger("ParryLeft"); ((Enemy)___stat).GetHurt(((Component)__instance).gameObject, Vector3.zero, 2.5f, 0f, ((Component)__instance).transform.position, (GameObject)null, false); } ((Enemy)___stat).partiallyParryable = false; ((Enemy)___stat).parryables.Clear(); return false; } return true; } [HarmonyPatch(typeof(MinosBoss), "SlamMiddle")] [HarmonyPrefix] public static void MinosBoss__SlamMiddle(MinosBoss __instance) { if (UltraEnrage_Enemy.Dictionary.ContainsKey(((Component)__instance).transform)) { AttackMiddle = true; } } [HarmonyPatch(typeof(MinosBoss), "SwingEnd")] [HarmonyPrefix] public static void MinosBoss__SwingEnd(bool ___attackingRight, bool ___attackingLeft, MinosBoss __instance) { //IL_0077: Unknown result type (might be due to invalid IL or missing references) //IL_007c: Unknown result type (might be due to invalid IL or missing references) //IL_0089: Unknown result type (might be due to invalid IL or missing references) //IL_0104: Unknown result type (might be due to invalid IL or missing references) //IL_0109: Unknown result type (might be due to invalid IL or missing references) //IL_011a: Unknown result type (might be due to invalid IL or missing references) //IL_0124: Unknown result type (might be due to invalid IL or missing references) //IL_013d: Unknown result type (might be due to invalid IL or missing references) //IL_00a6: Unknown result type (might be due to invalid IL or missing references) //IL_00ab: Unknown result type (might be due to invalid IL or missing references) //IL_00bc: Unknown result type (might be due to invalid IL or missing references) //IL_00c6: Unknown result type (might be due to invalid IL or missing references) //IL_00df: Unknown result type (might be due to invalid IL or missing references) if (!UltraEnrage_Enemy.Dictionary.ContainsKey(((Component)__instance).transform) || !AttackMiddle) { return; } AttackMiddle = false; MonoSingleton.Instance.CameraShake(2f); List list = new List(); if (___attackingRight) { list.Add(((Component)__instance.rightHand).transform); } if (___attackingLeft) { list.Add(((Component)__instance.leftHand).transform); } RaycastHit val = default(RaycastHit); foreach (Transform item in list) { if (Physics.Raycast(item.position, Vector3.down, ref val, float.PositiveInfinity, LayerMask.op_Implicit(LayerMaskDefaults.Get((LMD)1)))) { GameObject obj = Object.Instantiate(Fento_Assets.SlamExplosionShockwave.gameObject, ((RaycastHit)(ref val)).point, Quaternion.identity); Transform transform = obj.transform; transform.localScale *= 8f; PhysicalShockwave orAddComponent = GameObjectExtensions.GetOrAddComponent(obj); orAddComponent.noDamageToEnemy = true; orAddComponent.enemyType = (EnemyType)11; orAddComponent.damage = (int)((float)orAddComponent.damage * 2f); } else { GameObject obj2 = Object.Instantiate(Fento_Assets.SlamExplosionShockwave.gameObject, item.position, Quaternion.identity); Transform transform2 = obj2.transform; transform2.localScale *= 8f; PhysicalShockwave orAddComponent2 = GameObjectExtensions.GetOrAddComponent(obj2); orAddComponent2.noDamageToEnemy = true; orAddComponent2.enemyType = (EnemyType)11; orAddComponent2.damage = (int)((float)orAddComponent2.damage * 2f); } } list.Clear(); } [HarmonyPatch(typeof(LeviathanController), "GotParried")] [HarmonyPrefix] public static bool LeviathanController__GotParried(EnemyIdentifier ___eid, LeviathanController __instance) { //IL_002b: Unknown result type (might be due to invalid IL or missing references) //IL_0045: Unknown result type (might be due to invalid IL or missing references) if (!___eid.dead && UltraEnrage_Enemy.Dictionary.ContainsKey(((Component)__instance).transform)) { __instance.stat.GetHurt(((Component)((Component)__instance).GetComponentInChildren()).gameObject, Vector3.zero, 5f, 0f, __instance.head.tracker.position, (GameObject)null, false); __instance.head.GotParried(); return false; } return true; } [HarmonyPatch(typeof(FleshPrison), "SpawnFleshDrones")] [HarmonyPostfix] public static void FleshPrison__SpawnFleshDrones(ref float ___fleshDroneCooldown, FleshPrison __instance) { //IL_001d: Unknown result type (might be due to invalid IL or missing references) //IL_0024: Invalid comparison between Unknown and I4 if (UltraEnrage_Enemy.Dictionary.TryGetValue(((Component)__instance).transform, out var value)) { ___fleshDroneCooldown += (((int)value.eid.enemyType == 30) ? 30f : 40f); } } [HarmonyPatch(typeof(FleshPrison), "SpawnBlackHole")] [HarmonyPostfix] public static void FleshPrison__SpawnBlackHole(BlackHoleProjectile ___currentBlackHole, FleshPrison __instance) { //IL_0170: Unknown result type (might be due to invalid IL or missing references) //IL_0177: Invalid comparison between Unknown and I4 //IL_0028: Unknown result type (might be due to invalid IL or missing references) //IL_002f: Invalid comparison between Unknown and I4 //IL_0221: Unknown result type (might be due to invalid IL or missing references) //IL_0232: Unknown result type (might be due to invalid IL or missing references) //IL_023c: Unknown result type (might be due to invalid IL or missing references) //IL_0246: Unknown result type (might be due to invalid IL or missing references) //IL_00ce: Unknown result type (might be due to invalid IL or missing references) //IL_00de: Unknown result type (might be due to invalid IL or missing references) //IL_00e8: Unknown result type (might be due to invalid IL or missing references) //IL_00f2: Unknown result type (might be due to invalid IL or missing references) if (!UltraEnrage_Enemy.Dictionary.TryGetValue(((Component)__instance).transform, out var value)) { return; } AudioSource[] componentsInChildren; if (Object.op_Implicit((Object)(object)___currentBlackHole)) { if ((int)value.eid.enemyType == 30) { ___currentBlackHole.speed *= 1.25f; ((MonoBehaviour)___currentBlackHole).Invoke("Explode", 15f); } ___currentBlackHole.speed *= 1.25f; ComponentExtensions.GetOrAddComponent((Component)(object)___currentBlackHole); ComponentExtensions.GetOrAddComponent((Component)(object)___currentBlackHole).Distance *= 0.7f; if (!((Object)(object)Fento_Assets.RagePrefab.gameObject != (Object)null)) { return; } GameObject val = Object.Instantiate(Fento_Assets.RagePrefab.gameObject, ((Component)___currentBlackHole).transform); if ((Object)(object)val != (Object)null) { val.transform.SetParent(((Component)___currentBlackHole).transform); val.transform.localPosition = Vector3.zero; val.transform.localScale = Vector3.one * 0.75f / 1.5f; AudioSource[] components = val.GetComponents(); if (components != null) { AudioSource val2 = components.Last(); if ((Object)(object)val2 != (Object)null) { val2.pitch *= 0.75f; } } } componentsInChildren = val.GetComponentsInChildren(); foreach (AudioSource val3 in componentsInChildren) { if ((Object)(object)val3 != (Object)null) { val3.spatialize = true; } } return; } BlackHoleProjectile val4 = ((Component)__instance).GetComponentsInChildren().LastOrDefault(); if ((int)value.eid.enemyType == 30) { val4.speed *= 1.25f; ((MonoBehaviour)val4).Invoke("Explode", 15f); } val4.speed *= 1.25f; ComponentExtensions.GetOrAddComponent((Component)(object)val4); ComponentExtensions.GetOrAddComponent((Component)(object)val4).Distance *= 0.7f; if (!((Object)(object)Fento_Assets.RagePrefab.gameObject != (Object)null)) { return; } GameObject val5 = Object.Instantiate(Fento_Assets.RagePrefab.gameObject, ((Component)val4).transform); if ((Object)(object)val5 != (Object)null) { val5.transform.SetParent(((Component)val4).transform); val5.transform.localPosition = Vector3.zero; val5.transform.localScale = Vector3.one * 0.75f / 1.5f; AudioSource[] components2 = val5.GetComponents(); if (components2 != null) { AudioSource val6 = components2.Last(); if ((Object)(object)val6 != (Object)null) { val6.pitch *= 0.75f; } } } componentsInChildren = val5.GetComponentsInChildren(); foreach (AudioSource val7 in componentsInChildren) { if ((Object)(object)val7 != (Object)null) { val7.spatialize = true; } } } } public static class Other_Patches { public static string L_1_4_TipExtra = "\n\nNot all Weapons such as Shotgun are Effective against all Enemies especially against V2\n STABILITY == THE KEY"; public static string L_7_4_TipExtra = "\n\nIdol Merged Enemies are more Weaker Without Protection, Alt Pump Charge and Alt Marksman can be Very Useful. \nGOOD LUCK"; public static bool ForceDefaultLevelPath; [HarmonyPatch(/*Could not decode attribute arguments.*/)] [HarmonyPostfix] public static void GameProgressSaver__GetRankData(out string path, int lvl, bool returnNull, RankData __instance, ref RankData __result) { path = ((lvl < 0) ? GameProgressSaver.resolveCurrentLevelPath : GameProgressSaver.LevelProgressPath(lvl)); if (__result == null) { return; } if (lvl < 0) { _ = MonoSingleton.Instance.levelNumber; } if (Fento_LevelLoaders.IsActive_FentoLevel(lvl)) { ForceDefaultLevelPath = true; string obj = ((lvl < 0) ? GameProgressSaver.resolveCurrentLevelPath : GameProgressSaver.LevelProgressPath(lvl)); ForceDefaultLevelPath = false; string text = ((lvl < 0) ? GameProgressSaver.resolveCurrentLevelPath : GameProgressSaver.LevelProgressPath(lvl)); path = text; object obj2 = GameProgressSaver.ReadFile(obj); RankData val = (RankData)((obj2 is RankData) ? obj2 : null); if (val != null) { __result.challenge = val.challenge; } } } [HarmonyPatch(typeof(GameProgressSaver), "LevelProgressPath")] [HarmonyPostfix] public static void GameProgressSaver__LevelProgressPath(int lvl, ref string __result) { //IL_0046: Unknown result type (might be due to invalid IL or missing references) //IL_0056: Unknown result type (might be due to invalid IL or missing references) //IL_0091: Unknown result type (might be due to invalid IL or missing references) //IL_00a1: Unknown result type (might be due to invalid IL or missing references) string[] array = Path.GetFileName(__result).Split("."); if (array.Length != 0) { if (!Fento_LevelLoaders.IsActive_FentoLevel(lvl) || ForceDefaultLevelPath) { array[0] = array[0].Replace("_fentokill", ""); __result = Path.Join(MemoryExtensions.AsSpan(Path.GetDirectoryName(__result)), MemoryExtensions.AsSpan(string.Join(".", array))); ForceDefaultLevelPath = false; } else if (!__result.Contains("_fentokill")) { array[0] += "_fentokill"; __result = Path.Join(MemoryExtensions.AsSpan(Path.GetDirectoryName(__result)), MemoryExtensions.AsSpan(string.Join(".", array))); } } } [HarmonyPatch(/*Could not decode attribute arguments.*/)] [HarmonyPostfix] public static void RankData__Constructor(StatsManager sman, RankData __instance) { ForceDefaultLevelPath = true; RankData rank = GameProgressSaver.GetRank(true, -1); ForceDefaultLevelPath = false; if (rank != null) { __instance.challenge = rank.challenge; } } [HarmonyPatch(typeof(DiscordController), "SendActivity")] [HarmonyPrefix] private static bool DiscordController__SendActivity(ref Activity ___cachedActivity, DiscordController __instance) { if (___cachedActivity.State != null) { if (Fento_LevelLoaders.IsActive_FentoLevel()) { if (!___cachedActivity.Assets.LargeText.Contains("[FENTOKILL] ")) { ___cachedActivity.Assets.LargeText = "[FENTOKILL] " + ___cachedActivity.Assets.LargeText; } if (!___cachedActivity.State.Contains("[FENTOKILL] ")) { ___cachedActivity.State = "[FENTOKILL] " + ___cachedActivity.State; } foreach (KeyValuePair fLevel_New_Name in Fento_LevelLoaders.FLevel_New_Names) { if (___cachedActivity.Assets.LargeText.Contains(fLevel_New_Name.Key)) { ___cachedActivity.Assets.LargeText = ___cachedActivity.Assets.LargeText.Replace(fLevel_New_Name.Key, fLevel_New_Name.Value); break; } } if (Fento_LevelLoaders.FLevel_Status_Icons.TryGetValue(MonoSingleton.Instance.levelNumber, out var value) && ___cachedActivity.Assets.LargeImage != value) { ___cachedActivity.Assets.LargeImage = value; } } if (Fento_Difficulty_Options.Global_Enable_Modify_Everyone && Fento_Difficulty_Options.Buff_Forse_All_UltraEnrage && !___cachedActivity.State.Contains("[ULTRAENRAGED] ")) { ___cachedActivity.State = "[ULTRAENRAGED] " + ___cachedActivity.State; } } return true; } [HarmonyPatch(typeof(LevelNamePopup), "Start")] [HarmonyPostfix] public static void LevelStats__Start(LevelNamePopup __instance) { if (Fento_LevelLoaders.IsActive_FentoLevel()) { if (!__instance.nameString.Contains("[FENTOKILL]")) { __instance.nameString = "[FENTOKILL] " + __instance.nameString; } foreach (KeyValuePair fLevel_New_Name in Fento_LevelLoaders.FLevel_New_Names) { if (__instance.nameString.Contains(fLevel_New_Name.Key)) { __instance.nameString = __instance.nameString.Replace(fLevel_New_Name.Key, fLevel_New_Name.Value); break; } } } if (Fento_Difficulty_Options.Global_Enable_Modify_Everyone && Fento_Difficulty_Options.Buff_Forse_All_UltraEnrage && !__instance.nameString.Contains("[ULTRAENRAGED] ")) { __instance.nameString = "[ULTRAENRAGED] " + __instance.nameString; } } [HarmonyPatch(typeof(GetMissionName), "GetMissionNameOnly")] [HarmonyPostfix] public static void GetMissionName__GetMissionNameOnly(int missionNum, ref string __result) { if (!Fento_LevelLoaders.IsActive_FentoLevel(missionNum)) { return; } foreach (KeyValuePair fLevel_New_Name in Fento_LevelLoaders.FLevel_New_Names) { if (__result.Contains(fLevel_New_Name.Key)) { __result = __result.Replace(fLevel_New_Name.Key, fLevel_New_Name.Value); break; } } } [HarmonyPatch(typeof(LevelStats), "Start")] [HarmonyPostfix] public static void LevelStats__Start(LevelStats __instance) { if (!Fento_LevelLoaders.IsActive_FentoLevel()) { return; } if (!__instance.levelName.text.Contains("[FENTOKILL]")) { __instance.levelName.text = "[FENTOKILL] " + __instance.levelName.text; } foreach (KeyValuePair fLevel_New_Name in Fento_LevelLoaders.FLevel_New_Names) { if (__instance.levelName.text.Contains(fLevel_New_Name.Key)) { __instance.levelName.text = __instance.levelName.text.Replace(fLevel_New_Name.Key, fLevel_New_Name.Value); break; } } } [HarmonyPatch(typeof(ShopZone), "Start")] [HarmonyPostfix] public static void ShopZone__After_Start(ShopZone __instance) { string currentScene = SceneHelper.CurrentScene; if (currentScene == "Level 1-4") { TMP_Text tipOfTheDay = __instance.tipOfTheDay; tipOfTheDay.text += L_1_4_TipExtra; } else if (currentScene == "Level 7-4") { TMP_Text tipOfTheDay2 = __instance.tipOfTheDay; tipOfTheDay2.text += L_7_4_TipExtra; } } [HarmonyPatch(typeof(ShopZone), "TurnOn")] [HarmonyPostfix] public static void ShopZone__After_TurnOn(ShopZone __instance) { if (!(SceneHelper.CurrentScene == "Level 1-4") || !(MonoSingleton.Instance.seconds > 5f)) { return; } Main_Utils.Invoke_WithDelay(2f, delegate { //IL_0022: Unknown result type (might be due to invalid IL or missing references) //IL_0027: 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_0036: Unknown result type (might be due to invalid IL or missing references) //IL_003b: Unknown result type (might be due to invalid IL or missing references) if (!__instance.forcedOff) { Object.Instantiate(Fento_Assets.Explosion.gameObject, ((Component)__instance).transform.position + Vector3.up * 0.5f, Quaternion.identity); __instance.ForceOff(); } }); } } public static class Issue_Patches { [HarmonyPatch(typeof(NewMovement), "GetHurt")] [HarmonyPrefix] private static void NewMovement_Prefix(ref float hardDamageMultiplier) { hardDamageMultiplier *= Fento_Difficulty_Options.Varb_Multiply_HardDamage; } } } namespace FentoKill.Other { public class LevelSelect_Mark_Fento_Text : MonoBehaviour { public bool Real_Level; public string FentText = "Fento"; public void OnEnable() { if (!Real_Level || Fento_Difficulty_Options.Global_Disable_Level_Changes) { return; } Main_Utils.Invoke_WithDelay(0.01f, delegate { TextMeshProUGUI component = ((Component)this).GetComponent(); if ((Object)(object)component != (Object)null) { string text = (Fento_Difficulty_Options.Skill_Issue ? (" + " + FentText + "") : (" + " + FentText + "")); if (!((TMP_Text)component).text.Contains(text)) { ((TMP_Text)component).characterWidthAdjustment = Mathf.Max(((TMP_Text)component).characterWidthAdjustment, 50f); ((TMP_Text)component).text = ((TMP_Text)component).text + text; } } }); } } public class LevelSelect_Mark_Fento_Icon : MonoBehaviour { public LevelSelectPanel levelSelectPanel; public void OnEnable() { if (Fento_Difficulty_Options.Global_Disable_Level_Changes) { return; } Main_Utils.Invoke_WithDelay(0.01f, delegate { Image component = ((Component)this).GetComponent(); if ((Object)(object)component != (Object)null && Fento_LevelLoaders.FLevel_Real_Icons.TryGetValue(levelSelectPanel.levelNumber, out var value)) { component.sprite = value; } }); } } public class EndingResults_Mark_Fento_Progress : MonoBehaviour { public class MakeColor : MonoBehaviour { private Image image; public bool ChallengeFailed; public void Start() { //IL_00a1: Unknown result type (might be due to invalid IL or missing references) //IL_0030: Unknown result type (might be due to invalid IL or missing references) //IL_0046: Unknown result type (might be due to invalid IL or missing references) //IL_005c: Unknown result type (might be due to invalid IL or missing references) //IL_0072: Unknown result type (might be due to invalid IL or missing references) //IL_007c: Unknown result type (might be due to invalid IL or missing references) image = ((Component)this).GetComponent(); if (Object.op_Implicit((Object)(object)image)) { if (ChallengeFailed) { ((Graphic)image).color = new Color(((Graphic)image).color.r * 0.25f, ((Graphic)image).color.g * 0.25f, ((Graphic)image).color.b * 0.25f, ((Graphic)image).color.a); } else { ((Graphic)image).color = new Color(1f, 0f, 0f, 0.5f); } } } } public class RedPRank : MonoBehaviour { private Image image; public void Start() { //IL_0033: Unknown result type (might be due to invalid IL or missing references) image = ((Component)this).GetComponent(); if (Object.op_Implicit((Object)(object)image)) { ((Graphic)image).color = new Color(1f, 0.1f, 0.1f, 1f); } } } public static bool AlterPathCleared; public bool Real_Level; public void OnEnable() { if (!Fento_Difficulty_Options.Global_Enable_Modify_Everyone && (!Real_Level || Fento_Difficulty_Options.Global_Disable_Level_Changes)) { return; } Main_Utils.Invoke_WithDelay(0.01f, delegate { TextMeshProUGUI component = ((Component)this).GetComponent(); if ((Object)(object)component != (Object)null) { string text = ""; if (Fento_Difficulty_Options.Skill_Issue) { text = $"- SKILL ISSUE x{Fento_Difficulty_Options.Count_Issues_With_Skill}"; } else { StatsManager instance = MonoSingleton.Instance; bool flag = (float)MonoSingleton.Instance.GetInt("difficulty", 0) >= 4f && Object.op_Implicit((Object)(object)instance) && instance.rankScore == 12 && instance.restarts == 0 && !instance.majorUsed && !MonoSingleton.Instance.cheatsEnabled; string currentScene = SceneHelper.CurrentScene; int i = 0; i.AddCount(new bool[1] { Real_Level }); i += Fento_Difficulty_Options.Count_Extra_Skill_Respect; text = ((i != 0) ? string.Format("+ RESPECT x{1}", flag ? "#FF0000" : "orange", i) : ("+ RESPECT")); if (!Fento_Difficulty_Options.Global_Disable_Level_Changes && Fento_Progress_Containers.StringDictionaty.ContainsKey(currentScene)) { TextMeshProUGUI val = default(TextMeshProUGUI); if (Object.op_Implicit((Object)(object)MonoSingleton.Instance.challengePanel) && Object.op_Implicit((Object)(object)MonoSingleton.Instance.challengePanel.transform.parent) && Object.op_Implicit((Object)(object)MonoSingleton.Instance.challengePanel.transform.parent.GetChild(1)) && ((Component)MonoSingleton.Instance.challengePanel.transform.parent.GetChild(1)).TryGetComponent(ref val)) { ((TMP_Text)val).text = "P RANK THE LEVEL WITH ALT PATH ON BRUTAL+ DIFFICULTY"; } if (Object.op_Implicit((Object)(object)MonoSingleton.Instance.challengePanel)) { GameObjectExtensions.GetOrAddComponent(MonoSingleton.Instance.challengePanel).ChallengeFailed = !flag || !AlterPathCleared; if (flag && AlterPathCleared) { MonoSingleton.Instance.challengePanel.SetActive(true); } } if (flag && Object.op_Implicit((Object)(object)((Component)MonoSingleton.Instance).transform.parent.Find("Total Rank"))) { ComponentExtensions.GetOrAddComponent((Component)(object)((Component)MonoSingleton.Instance).transform.parent.Find("Total Rank")); } if (AlterPathCleared) { text = text + "\n+ ALTER CLEAR"; if (flag && Fento_Progress_Containers.StringDictionaty.TryGetValue(currentScene, out var value)) { value.value = Fento_Progress_Containers.SetFlag(value.value, Fento_Progress_Containers.SaveFlags.Fento_Challenge, value: true); } } if (flag && Fento_Progress_Containers.StringDictionaty.TryGetValue(currentScene, out var value2)) { value2.value = Fento_Progress_Containers.SetFlag(value2.value, Fento_Progress_Containers.SaveFlags.Fento_P_rank, value: true); } } if (Fento_Difficulty_Options.Buff_Forse_All_UltraEnrage) { text = text + "\n+ ULTRAENRAGE"; } if (Fento_Progress_Containers.StringDictionaty.ContainsKey(currentScene) && flag && Fento_Difficulty_Options.Buff_Forse_All_UltraEnrage && Fento_Progress_Containers.StringDictionaty.TryGetValue(currentScene, out var value3)) { value3.value = Fento_Progress_Containers.SetFlag(value3.value, Fento_Progress_Containers.SaveFlags.UltraRage_P_rank, value: true); } } if (!((TMP_Text)component).text.Contains(text)) { ((TMP_Text)component).text = ((TMP_Text)component).text + text + "\n"; } } }); } } public class Fento_Enemy_Tag : MonoBehaviour, IEnrage, IAlter, IAlterOptions { public Enemy enemy; public EnemyIdentifier eid; public string ogTag; public int ogLayer; public string alterKey => "FentoKill Extras"; public string alterCategoryName => "FentoKill Extras"; public AlterOption[] options => new AlterOption[8] { Get_AlterOption(isEnraged, "Ultra Enraged", Enrage, UnEnrage), Get_AlterOption(isIdolMerged, "Idol Merged", IdolMerge, UnIdolMerge), Get_AlterOption(isIdolMerged, "Idoled Before Death", IdoledBeforeDeath, UnIdoledBeforeDeath), Get_AlterOption(isArmored, "Extra Armored+", MakeArmored, UnMakeArmored), Get_AlterOption(hasSymbiote, "Has Symbiote", MakeSymbiote, UnMakeSymbiote), Get_AlterOption(isEnemyBoss, "Boss Enemy", MakeBoss, UnMakeBoss), Get_AlterOption(isImmuneToFriendlyFire, "Immune To Friendly Fire", MakeImmuneToFF, UnMakeImmuneToFF), Get_AlterOption(isHookIgnore, "Ignore Hook", MakeIgnoreHook, UnMakeIgnoreHook) }; public bool isEnraged { get { if (Object.op_Implicit((Object)(object)eid)) { return Object.op_Implicit((Object)(object)((Component)eid).GetComponent()); } return false; } } public bool isIdolMerged { get { if (Object.op_Implicit((Object)(object)eid)) { return eid.Blessed; } return false; } } public bool makeIdoled_BeforeDeath { get { if (Object.op_Implicit((Object)(object)eid)) { return Object.op_Implicit((Object)(object)((Component)eid).GetComponent()); } return false; } } public bool hasSymbiote { get { if (Object.op_Implicit((Object)(object)enemy)) { return Object.op_Implicit((Object)(object)enemy.symbiote); } return false; } } public bool isEnemyBoss { get { if (Object.op_Implicit((Object)(object)eid)) { return eid.isBoss; } return false; } } public bool isImmuneToFriendlyFire { get { if (Object.op_Implicit((Object)(object)eid)) { return eid.immuneToFriendlyFire; } return false; } } public bool isArmored { get { if (Object.op_Implicit((Object)(object)eid)) { return ((Component)eid).gameObject.layer == 26; } return false; } } public bool isHookIgnore { get { if (Object.op_Implicit((Object)(object)eid)) { return eid.hookIgnore; } return false; } } public void Awake() { if ((Object)(object)enemy == (Object)null) { enemy = ((Component)this).GetComponentInChildren(true); } if ((Object)(object)eid == (Object)null) { eid = ((Component)this).GetComponentInChildren(true); } } public void Start() { //IL_0096: Unknown result type (might be due to invalid IL or missing references) //IL_009c: Invalid comparison between Unknown and I4 //IL_00a4: Unknown result type (might be due to invalid IL or missing references) //IL_00ab: Invalid comparison between Unknown and I4 //IL_0284: Unknown result type (might be due to invalid IL or missing references) //IL_028b: Invalid comparison between Unknown and I4 ogTag = ((Component)((Component)eid).transform).tag; ogLayer = ((Component)eid).gameObject.layer; if ((Object)(object)enemy == (Object)null) { enemy = ((Component)this).GetComponentInChildren(true); } if ((Object)(object)eid == (Object)null) { eid = ((Component)this).GetComponentInChildren(true); } if (!((Object)(object)eid == (Object)null)) { if (eid.isBoss && Object.op_Implicit((Object)(object)((Component)eid).GetComponent()) && ((int)eid.enemyType == 8 || (int)eid.enemyType == 22)) { GameObjectExtensions.GetOrAddComponent(((Component)eid).gameObject); } if (Fento_Difficulty_Options.Buff_Forse_All_UltraEnrage) { eid.Make_UltraEnraged(); } if (Fento_Difficulty_Options.Buff_Forse_All_ImmuneFriendly) { eid.immuneToFriendlyFire = true; } if (Fento_Difficulty_Options.Buff_Forse_All_PreSanded && !eid.sandified) { eid.Sandify(false); } if (Fento_Difficulty_Options.Issue_Disable_PreSanded && eid.sandified) { eid.Desandify(false); } if (Fento_Difficulty_Options.Varb_Radiance_Health_Mult != 1f) { EnemyIdentifier obj = eid; obj.healthBuffModifier *= Fento_Difficulty_Options.Varb_Radiance_Health_Mult; } if (Fento_Difficulty_Options.Varb_Radiance_Damage_Mult != 1f) { EnemyIdentifier obj2 = eid; obj2.damageBuffModifier *= Fento_Difficulty_Options.Varb_Radiance_Damage_Mult; } if (Fento_Difficulty_Options.Varb_Radiance_Speed_Mult != 1f) { EnemyIdentifier obj3 = eid; obj3.speedBuffModifier *= Fento_Difficulty_Options.Varb_Radiance_Speed_Mult; } if (Fento_Difficulty_Options.Buff_Forse_All_Radiance) { eid.BuffAll(); } if (Fento_Difficulty_Options.Varb_Add_Radiance_Tier != 0f) { EnemyIdentifier obj4 = eid; obj4.radianceTier += Fento_Difficulty_Options.Varb_Add_Radiance_Tier; eid.UpdateBuffs(false, true); } if (Fento_Difficulty_Options.Varb_Multiply_Radiance_Tier != 1f) { EnemyIdentifier obj5 = eid; obj5.radianceTier *= Fento_Difficulty_Options.Varb_Multiply_Radiance_Tier; eid.UpdateBuffs(false, true); } if (Fento_Difficulty_Options.Issue_Disable_Radiance && (eid.damageBuff || eid.speedBuff || eid.healthBuff)) { eid.damageBuffRequests = 0; eid.speedBuffRequests = 0; eid.healthBuffRequests = 0; eid.radianceTier = 0f; eid.UpdateBuffs(false, true); } if (Fento_Difficulty_Options.Global_Enable_Modify_Everyone && Fento_Difficulty_Options.Mech_Disable_RadIdols_Buff && (int)eid.enemyType == 21) { GameObjectExtensions.GetOrAddComponent(((Component)eid).gameObject); } } } public void Enrage() { eid.Make_UltraEnraged(); } public void UnEnrage() { Object.Destroy((Object)(object)((Component)this).gameObject); EnemySpawnableInstance val = default(EnemySpawnableInstance); if (!((Component)this).TryGetComponent(ref val)) { return; } SavedEnemy val2 = val.SaveEnemy(); ((SavedGeneric)val2).Scale = SavedVector3.One; MonoSingleton.Instance.RebuildObjectList(); EnemySpawnableInstance enm = MonoSingleton.Instance.RecreateEnemy((SavedGeneric)(object)val2, true); ComponentExtensions.GetOrAddComponent((Component)(object)enm); Main_Utils.Invoke_WithDelay(0.5f, delegate { Ignore_UltraEnraged ignore_UltraEnraged = default(Ignore_UltraEnraged); if (Object.op_Implicit((Object)(object)enm) && ((Component)enm).TryGetComponent(ref ignore_UltraEnraged)) { Object.Destroy((Object)(object)ignore_UltraEnraged); } }); } public void IdolMerge() { //IL_000a: Unknown result type (might be due to invalid IL or missing references) //IL_0015: Unknown result type (might be due to invalid IL or missing references) EnemyIdentifier val = Main_Utils.Integrate_Enemy(Main_Utils.DetectebleEnemies.Idol, null, active: true, ((Component)this).transform.position, ((Component)this).transform.rotation); val.idol.overrideTarget = eid; GameObjectExtensions.GetOrAddComponent(((Component)eid).gameObject).Obj_ToKeep = ((Component)val).gameObject; } public void UnIdolMerge() { Idol[] array = Object.FindObjectsOfType(); foreach (Idol val in array) { if ((Object)(object)val.overrideTarget == (Object)(object)eid || (Object)(object)val.target == (Object)(object)eid) { val.Death(); } } } public void IdoledBeforeDeath() { if (Object.op_Implicit((Object)(object)eid)) { ComponentExtensions.GetOrAddComponent((Component)(object)eid); } } public void UnIdoledBeforeDeath() { Bless_BeforeDeath bless_BeforeDeath = default(Bless_BeforeDeath); if (((Component)eid).TryGetComponent(ref bless_BeforeDeath)) { Object.Destroy((Object)(object)bless_BeforeDeath); } } public void MakeSymbiote() { if (!Object.op_Implicit((Object)(object)enemy)) { return; } Enemy[] array = Object.FindObjectsOfType(); array.OrderBy((Enemy e) => Vector3.Distance(((Component)this).transform.position, ((Component)e).transform.position)); Enemy[] array2 = array; foreach (Enemy val in array2) { if (Object.op_Implicit((Object)(object)val) && !((Object)(object)enemy == (Object)(object)val) && !(val.health < 0.001f)) { enemy.symbiote = val; break; } } } public void UnMakeSymbiote() { if (Object.op_Implicit((Object)(object)enemy)) { enemy.symbiote = null; } } public void MakeBoss() { //IL_001f: Unknown result type (might be due to invalid IL or missing references) //IL_0025: Invalid comparison between Unknown and I4 //IL_002d: Unknown result type (might be due to invalid IL or missing references) //IL_0034: Invalid comparison between Unknown and I4 if (Object.op_Implicit((Object)(object)eid)) { eid.isBoss = true; if ((int)eid.enemyType == 8 || (int)eid.enemyType == 22) { GameObjectExtensions.GetOrAddComponent(((Component)eid).gameObject); } } } public void UnMakeBoss() { //IL_0022: Unknown result type (might be due to invalid IL or missing references) //IL_0028: Invalid comparison between Unknown and I4 //IL_0030: Unknown result type (might be due to invalid IL or missing references) //IL_0037: Invalid comparison between Unknown and I4 if (!Object.op_Implicit((Object)(object)eid)) { return; } eid.isBoss = false; EnemySpawnableInstance val = default(EnemySpawnableInstance); if (((int)eid.enemyType != 8 && (int)eid.enemyType != 22) || !Object.op_Implicit((Object)(object)((Component)eid).GetComponent()) || !((Component)this).TryGetComponent(ref val)) { return; } SavedEnemy val2 = val.SaveEnemy(); ((SavedGeneric)val2).Scale = SavedVector3.One; MonoSingleton.Instance.RebuildObjectList(); EnemySpawnableInstance enm = MonoSingleton.Instance.RecreateEnemy((SavedGeneric)(object)val2, true); ComponentExtensions.GetOrAddComponent((Component)(object)enm); Main_Utils.Invoke_WithDelay(0.5f, delegate { Ignore_UltraEnraged ignore_UltraEnraged = default(Ignore_UltraEnraged); if (Object.op_Implicit((Object)(object)enm) && ((Component)enm).TryGetComponent(ref ignore_UltraEnraged)) { Object.Destroy((Object)(object)ignore_UltraEnraged); } }); } public void MakeImmuneToFF() { if (Object.op_Implicit((Object)(object)eid)) { eid.immuneToFriendlyFire = true; } } public void UnMakeImmuneToFF() { if (Object.op_Implicit((Object)(object)eid)) { eid.immuneToFriendlyFire = false; } } public void MakeArmored() { if (Object.op_Implicit((Object)(object)eid)) { ((Component)((Component)eid).transform).tag = "Armor"; ((Component)eid).gameObject.layer = 26; } } public void UnMakeArmored() { if (Object.op_Implicit((Object)(object)eid)) { ((Component)((Component)eid).transform).tag = ogTag; ((Component)eid).gameObject.layer = ogLayer; } } public void MakeIgnoreHook() { if (Object.op_Implicit((Object)(object)eid)) { eid.hookIgnore = true; } } public void UnMakeIgnoreHook() { if (Object.op_Implicit((Object)(object)eid)) { eid.hookIgnore = false; } } public AlterOption Get_AlterOption(bool status, string name, Action onEnable, Action onDisable) { return new AlterOption { value = status, name = name, key = "fentokill_" + name, callback = delegate(bool value) { if (value) { onEnable?.Invoke(); } else { onDisable?.Invoke(); } } }; } } public class Idol_Buff_Radiance : MonoBehaviour { public static EnemyType[] Forbidden; public float TierToAdd = 1.5f; public EnemyIdentifier LastFound; private EnemyIdentifier eid; private Idol Idol; public void OnStart() { Idol = ((Component)this).GetComponent(); eid = ((Component)this).GetComponent(); } public void OnEnable() { if (Fento_Difficulty_Options.Mech_Disable_RadIdols_Buff) { Object.Destroy((Object)(object)this); return; } Idol = ((Component)this).GetComponent(); eid = ((Component)this).GetComponent(); } public void FixedUpdate() { if (!((Object)(object)Idol == (Object)null) && (Object)(object)Idol.target != (Object)null && (Object)(object)Idol.target != (Object)(object)LastFound) { LastFound = Idol.target; } } public void OnDisable() { //IL_001c: Unknown result type (might be due to invalid IL or missing references) if (!((Object)(object)LastFound != (Object)null) || Forbidden.Contains(LastFound.enemyType)) { return; } if (Object.op_Implicit((Object)(object)((Component)this).GetComponent())) { LastFound.Make_UltraEnraged(boost: true, ignoreRad: true); if (!eid.puppet) { EnemyIdentifier e = LastFound; Main_Utils.Invoke_WithDelay(0.1f, delegate { if ((Object)(object)e != (Object)null) { EnemyIdentifier idoled = e.Make_IdolMerged(enableIdol: true); idoled.Make_Puppet_OnStart(); ComponentExtensions.GetOrAddComponent((Component)(object)idoled); Main_Utils.Invoke_WithDelay(12f, delegate { if ((Object)(object)idoled != (Object)null && (Object)(object)idoled.idol != (Object)null) { idoled.idol.Death(); if (Object.op_Implicit((Object)(object)idoled) && ((Component)idoled).gameObject.activeSelf) { idoled.idol.Death(); } } }); } }); } } if (TierToAdd != 0f) { EnemyIdentifier lastFound = LastFound; lastFound.radianceTier += TierToAdd; LastFound.BuffAll(); } } static Idol_Buff_Radiance() { EnemyType[] array = new EnemyType[8]; RuntimeHelpers.InitializeArray(array, (RuntimeFieldHandle)/*OpCode not supported: LdMemberToken*/); Forbidden = (EnemyType[])(object)array; } } public class Disable_DoubleRender : MonoBehaviour { public void Start() { Main_Utils.Invoke_WithDelay(0.01f, delegate { DoubleRender[] componentsInChildren = ((Component)this).gameObject.GetComponentsInChildren(true); for (int i = 0; i < componentsInChildren.Length; i++) { ((Behaviour)componentsInChildren[i]).enabled = false; } }); } } public class Make_Boss_OnAction : MonoBehaviour { public enum Mode { Start, Disable, Death } public Mode ModeType = Mode.Death; public EnemyIdentifier toBossify; private EnemyIdentifier eid; public string BossName = "Boss"; private void Start() { //IL_0044: Unknown result type (might be due to invalid IL or missing references) //IL_004e: Expected O, but got Unknown eid = ((Component)this).GetComponent(); if (ModeType == Mode.Start) { MakeBoss(); } else if ((Object)(object)eid != (Object)null && ModeType == Mode.Death) { eid.onDeath.AddListener((UnityAction)delegate { MakeBoss(); }); } } private void OnDisable() { if (ModeType == Mode.Disable) { MakeBoss(); } } private void MakeBoss() { if ((Object)(object)toBossify == (Object)null) { if (ModeType == Mode.Start) { ComponentExtensions.GetOrAddComponent((Component)(object)eid).bossName = BossName; ComponentExtensions.GetOrAddComponent((Component)(object)eid); eid.isBoss = true; } } else { Main_Utils.Invoke_WithDelay(0.01f, delegate { ComponentExtensions.GetOrAddComponent((Component)(object)toBossify).bossName = BossName; ComponentExtensions.GetOrAddComponent((Component)(object)toBossify); toBossify.isBoss = true; }); } } } public class Make_Puppet_OnStart : MonoBehaviour { public EnemyIdentifier eid; public void Start() { eid = ((Component)this).GetComponent(); if (Object.op_Implicit((Object)(object)eid)) { eid.PuppetSpawn(); } } } public class Bless_BeforeDeath : MonoBehaviour { public static Dictionary Dict = new Dictionary(); public EnemyIdentifier eid; public GameObject IdolToEnable; public Action Act; public bool dontCountAsKills = true; public bool Sandify; public bool Buff; public bool MaxHealth; public float AddHealth = 1f; public void Start() { eid = ((Component)this).GetComponent(); } public void Activate() { if (Object.op_Implicit((Object)(object)IdolToEnable)) { IdolToEnable.SetActive(true); } else { EnemyIdentifier val = eid.Make_IdolMerged(enableIdol: true); val.dontCountAsKills = dontCountAsKills; if (Sandify) { val.Sandify(false); } if (Buff) { val.BuffAll(); } Enemy val2 = default(Enemy); if (((Component)eid).TryGetComponent(ref val2)) { if (MaxHealth) { val2.health = val2.originalHealth; } Enemy obj = val2; obj.health += AddHealth; } } Act?.Invoke(); Object.Destroy((Object)(object)this); } public void Awake() { if (!Dict.ContainsKey(((Component)this).gameObject)) { Dict.Add(((Component)this).gameObject, this); } } public void OnDisable() { if (Dict.ContainsKey(((Component)this).gameObject)) { Dict.Remove(((Component)this).gameObject); } } } public class Destroy_DeathCatcherClone : MonoBehaviour { public void Awake() { Transform val = ((Component)this).transform.Find("Deathcatcher"); if (Object.op_Implicit((Object)(object)val)) { Object.Destroy((Object)(object)((Component)val).gameObject); } } public void Start() { Transform val = ((Component)this).transform.Find("Deathcatcher"); if (Object.op_Implicit((Object)(object)val)) { Object.Destroy((Object)(object)((Component)val).gameObject); } Object.Destroy((Object)(object)this); } } public class MessageOnActions : MonoBehaviour { public string StartMessage = ""; public string DeathMessage = ""; public string DisableMessage = ""; public EnemyIdentifier eid; private void Start() { //IL_006e: Unknown result type (might be due to invalid IL or missing references) //IL_0078: Expected O, but got Unknown if (StartMessage != "") { MonoSingleton.Instance.SendHudMessage(StartMessage, "", "", 0, false, false, true); } if (!(DeathMessage != "")) { return; } eid = ((Component)this).GetComponent(); if ((Object)(object)eid != (Object)null) { eid.onDeath.AddListener((UnityAction)delegate { MonoSingleton.Instance.SendHudMessage(DeathMessage, "", "", 0, false, false, true); }); } } private void OnDisable() { if (DisableMessage != "") { MonoSingleton.Instance.SendHudMessage(DisableMessage, "", "", 0, false, false, true); } } } public class ActivatorOnDeath : MonoBehaviour { public GameObject ToActivate; public GameObject ToDisable; public EnemyIdentifier eid; private 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(); if (!((Object)(object)eid != (Object)null)) { return; } eid.onDeath.AddListener((UnityAction)delegate { if (Object.op_Implicit((Object)(object)ToActivate)) { ToActivate.SetActive(true); } if (Object.op_Implicit((Object)(object)ToDisable)) { ToDisable.SetActive(false); } }); } } public class CustomActivator : MonoBehaviour { public GameObject ActivateOnStart; public GameObject DisableOnStart; public GameObject ActivateOnDisable; public GameObject DisableOnDisable; private void Start() { GameObject activateOnStart = ActivateOnStart; if (activateOnStart != null) { activateOnStart.SetActive(true); } GameObject disableOnStart = DisableOnStart; if (disableOnStart != null) { disableOnStart.SetActive(false); } } private void OnDisable() { GameObject activateOnDisable = ActivateOnDisable; if (activateOnDisable != null) { activateOnDisable.SetActive(true); } GameObject disableOnDisable = DisableOnDisable; if (disableOnDisable != null) { disableOnDisable.SetActive(false); } } } public class ActivateOnStartEverythingInObj : MonoBehaviour { public GameObject ActivateInOnStart; private void Start() { Transform[] componentsInChildren = ActivateInOnStart.GetComponentsInChildren(true); for (int i = 0; i < componentsInChildren.Length; i++) { ((Component)componentsInChildren[i]).gameObject.SetActive(true); } } } public class Disable_Before_Activate : MonoBehaviour { public int Times; public void OnEnable() { Times--; if (Times > 0) { ((Component)this).gameObject.SetActive(false); } } public static void InitArea(int times, params GameObject[] array) { for (int i = 0; i < array.Length; i++) { GameObjectExtensions.GetOrAddComponent(array[i]).Times = times; } } } public class Delay_Before_Activate : MonoBehaviour { public float Delay = 1f; public void OnEnable() { ((Component)this).gameObject.SetActive(false); Main_Utils.Invoke_WithDelay(Delay, delegate { GameObject gameObject = ((Component)this).gameObject; Object.Destroy((Object)(object)this); gameObject.SetActive(true); }); } } public class Keep_Rage_Near_Transform : MonoBehaviour { public Transform Target; public Vector3 Offset; public void Update() { //IL_001a: 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_0025: Unknown result type (might be due to invalid IL or missing references) if (Object.op_Implicit((Object)(object)Target)) { ((Component)this).transform.position = Target.position + Offset; } } } public class Obj_Always_Look_At : MonoBehaviour { public GameObject Target; public void Update() { if (Object.op_Implicit((Object)(object)Target)) { ((Component)this).transform.LookAt(Target.transform); } } } public class Obj_Follow_Eid_Target : MonoBehaviour { public EnemyIdentifier eid; public float Speed = 1f; public bool Predict; public void Update() { //IL_006d: Unknown result type (might be due to invalid IL or missing references) //IL_0047: Unknown result type (might be due to invalid IL or missing references) //IL_0072: Unknown result type (might be due to invalid IL or missing references) //IL_007a: Unknown result type (might be due to invalid IL or missing references) //IL_007f: Unknown result type (might be due to invalid IL or missing references) //IL_0086: Unknown result type (might be due to invalid IL or missing references) //IL_008b: Unknown result type (might be due to invalid IL or missing references) //IL_0090: Unknown result type (might be due to invalid IL or missing references) //IL_0093: Unknown result type (might be due to invalid IL or missing references) //IL_009e: Unknown result type (might be due to invalid IL or missing references) //IL_00a8: Unknown result type (might be due to invalid IL or missing references) //IL_00ad: Unknown result type (might be due to invalid IL or missing references) if ((Object)(object)eid != (Object)null && eid.target != null) { Main_Utils.GetTargetPosition(eid.target, out var _); Vector3 val = (Predict ? Main_Utils.PredictTargetPosition(eid.target, 0.2f + 0.025f * Speed) : eid.target.position); Transform transform = ((Component)this).transform; Vector3 position = transform.position; Vector3 val2 = val - ((Component)this).transform.position; transform.position = position + ((Vector3)(ref val2)).normalized * Speed * Time.deltaTime; } } } public class Obj_Rotate_To_Player : MonoBehaviour { private NewMovement Player; public float RotationSpeed = 25f; public bool Up = true; public void Start() { //IL_0056: Unknown result type (might be due to invalid IL or missing references) //IL_0049: 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) Player = MonoSingleton.Instance; if (!((Object)(object)Player == (Object)null) && !((Object)(object)Player.rb == (Object)null) && Up) { ((Component)this).transform.rotation = Quaternion.FromToRotation(Up ? ((Component)this).transform.up : ((Component)this).transform.forward, Player.rb.velocity); } } public void FixedUpdate() { //IL_001a: Unknown result type (might be due to invalid IL or missing references) //IL_0025: Unknown result type (might be due to invalid IL or missing references) //IL_002a: Unknown result type (might be due to invalid IL or missing references) //IL_002f: Unknown result type (might be due to invalid IL or missing references) //IL_003f: 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) //IL_0068: 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) //IL_006d: Unknown result type (might be due to invalid IL or missing references) //IL_006e: Unknown result type (might be due to invalid IL or missing references) //IL_0073: Unknown result type (might be due to invalid IL or missing references) //IL_0080: Unknown result type (might be due to invalid IL or missing references) //IL_0085: Unknown result type (might be due to invalid IL or missing references) //IL_008c: Unknown result type (might be due to invalid IL or missing references) //IL_0091: 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) if (!((Object)(object)Player == (Object)null)) { Vector3 val = ((Component)Player).transform.position - ((Component)this).transform.position; if (!(((Vector3)(ref val)).magnitude < 3f) && !(val == Vector3.zero)) { Quaternion val2 = Quaternion.FromToRotation(Up ? ((Component)this).transform.up : ((Component)this).transform.forward, val); ((Component)this).transform.rotation = Quaternion.RotateTowards(((Component)this).transform.rotation, val2 * ((Component)this).transform.rotation, RotationSpeed * Time.fixedDeltaTime); } } } } public class Obj_Rotate_Random : MonoBehaviour { public Vector3 Rotation; public void Start() { //IL_0001: Unknown result type (might be due to invalid IL or missing references) //IL_0006: Unknown result type (might be due to invalid IL or missing references) //IL_0009: Unknown result type (might be due to invalid IL or missing references) //IL_0013: Unknown result type (might be due to invalid IL or missing references) //IL_0018: Unknown result type (might be due to invalid IL or missing references) Vector3 insideUnitSphere = Random.insideUnitSphere; Rotation = ((Vector3)(ref insideUnitSphere)).normalized * 360f; } public void FixedUpdate() { //IL_0002: Unknown result type (might be due to invalid IL or missing references) //IL_0007: Unknown result type (might be due to invalid IL or missing references) //IL_000c: Unknown result type (might be due to invalid IL or missing references) //IL_000f: Unknown result type (might be due to invalid IL or missing references) //IL_0019: Unknown result type (might be due to invalid IL or missing references) //IL_0023: Unknown result type (might be due to invalid IL or missing references) //IL_0028: Unknown result type (might be due to invalid IL or missing references) //IL_0034: Unknown result type (might be due to invalid IL or missing references) //IL_0039: Unknown result type (might be due to invalid IL or missing references) Vector3 rotation = Rotation; Vector3 insideUnitSphere = Random.insideUnitSphere; Rotation = Vector3.Lerp(rotation, ((Vector3)(ref insideUnitSphere)).normalized * 360f, 0.001f); ((Component)this).transform.rotation = Quaternion.Euler(Rotation); } } [Obsolete] public class Drone_AntiSoftLock : MonoBehaviour { public Vector3 Start; public float T; public float ReqTime = 10f; public void Awake() { //IL_0007: Unknown result type (might be due to invalid IL or missing references) //IL_000c: Unknown result type (might be due to invalid IL or missing references) Start = ((Component)this).transform.position; } public void FixedUpdate() { //IL_0032: Unknown result type (might be due to invalid IL or missing references) T += Time.fixedDeltaTime; if (T > ReqTime) { T = 0f; ((Component)this).transform.position = Start; } } } public class Keep_Obj_NearOffset_ThisEnemy : MonoBehaviour { private EnemyIdentifier Eid; public GameObject Obj_ToKeep; public Vector3 Offset = Vector3.zero; public void Start() { Eid = ((Component)this).GetComponent(); if ((Object)(object)Eid == (Object)null) { Eid = ((Component)this).GetComponentInParent(); } if ((Object)(object)Eid == (Object)null) { Eid = ((Component)this).GetComponent().eid; } if ((Object)(object)Eid == (Object)null) { Eid = ((Component)this).GetComponentInParent().eid; } if ((Object)(object)Eid == (Object)null) { Eid = ((Component)((Component)this).transform.parent).GetComponent().eid; } if ((Object)(object)Eid == (Object)null) { Eid = ((Component)((Component)this).transform.parent).GetComponentInParent().eid; } } public void Update() { //IL_003b: 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 ((Object)(object)Obj_ToKeep != (Object)null && (Object)(object)Eid != (Object)null && !Eid.Dead) { Obj_ToKeep.transform.position = ((Component)this).transform.TransformPoint(Offset); } } } public class Move_If_Stuck : MonoBehaviour { public EnemyIdentifier identifier; public NewMovement newMovement; public float Distance = 8f; public void Start() { newMovement = MonoSingleton.Instance; identifier = ((Component)this).GetComponent(); } public void FixedUpdate() { //IL_003d: 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_0077: Unknown result type (might be due to invalid IL or missing references) //IL_0082: Unknown result type (might be due to invalid IL or missing references) //IL_0087: Unknown result type (might be due to invalid IL or missing references) //IL_008c: Unknown result type (might be due to invalid IL or missing references) //IL_008f: Unknown result type (might be due to invalid IL or missing references) //IL_0094: Unknown result type (might be due to invalid IL or missing references) //IL_009c: Unknown result type (might be due to invalid IL or missing references) //IL_00a1: Unknown result type (might be due to invalid IL or missing references) //IL_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) if ((Object)(object)newMovement != (Object)null && (Object)(object)identifier != (Object)null && !identifier.Dead && Vector3.Distance(((Component)newMovement).transform.position, ((Component)this).transform.position) > Distance + 1f && Random.value < 0.1f) { Vector3 val = ((Component)newMovement).transform.position - ((Component)this).transform.position; Vector3 normalized = ((Vector3)(ref val)).normalized; Transform transform = ((Component)this).transform; transform.position += normalized * 0.02f; } } } public class MoveIf_ToClose : MonoBehaviour { private NewMovement newMovement; public float Distance = 9f; public Vector3 NewPos; public Quaternion NewRot; public void Start() { //IL_0024: Unknown result type (might be due to invalid IL or missing references) //IL_002f: Unknown result type (might be due to invalid IL or missing references) //IL_003a: Unknown result type (might be due to invalid IL or missing references) //IL_003f: Unknown result type (might be due to invalid IL or missing references) //IL_0058: Unknown result type (might be due to invalid IL or missing references) //IL_0069: Unknown result type (might be due to invalid IL or missing references) newMovement = MonoSingleton.Instance; if ((Object)(object)newMovement != (Object)null && Vector3.Distance(((Component)newMovement).transform.position, ((Component)this).transform.position + ((Component)this).transform.up) < Distance) { ((Component)this).transform.localPosition = NewPos; ((Component)this).transform.localRotation = NewRot; } } } public class Keep_Enemy_Near_Player : MonoBehaviour { private NewMovement newMovement; private EnemyIdentifier identifier; public float Distance = 31f; public void Start() { newMovement = MonoSingleton.Instance; identifier = ((Component)this).GetComponent(); } public void FixedUpdate() { //IL_003d: 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_006b: Unknown result type (might be due to invalid IL or missing references) //IL_0076: 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_0080: Unknown result type (might be due to invalid IL or missing references) //IL_0083: Unknown result type (might be due to invalid IL or missing references) //IL_0088: Unknown result type (might be due to invalid IL or missing references) //IL_009c: Unknown result type (might be due to invalid IL or missing references) //IL_00ac: Unknown result type (might be due to invalid IL or missing references) //IL_00b1: Unknown result type (might be due to invalid IL or missing references) //IL_00b3: Unknown result type (might be due to invalid IL or missing references) //IL_00b8: Unknown result type (might be due to invalid IL or missing references) //IL_00c2: Unknown result type (might be due to invalid IL or missing references) if ((Object)(object)newMovement != (Object)null && (Object)(object)identifier != (Object)null && !identifier.Dead && Vector3.Distance(((Component)newMovement).transform.position, ((Component)this).transform.position) > Distance + 1f) { Vector3 val = ((Component)newMovement).transform.position - ((Component)this).transform.position; Vector3 normalized = ((Vector3)(ref val)).normalized; float distance = Distance; ((Component)this).transform.position = Vector3.Lerp(((Component)this).transform.position, ((Component)newMovement).transform.position - normalized * distance, 0.05f); } } } public class Keep_This_Near_Player : MonoBehaviour { public NewMovement newMovement; public float Distance = 30f; public void Start() { newMovement = MonoSingleton.Instance; } public void FixedUpdate() { //IL_001c: Unknown result type (might be due to invalid IL or missing references) //IL_0027: Unknown result type (might be due to invalid IL or missing references) //IL_004a: Unknown result type (might be due to invalid IL or missing references) //IL_0055: Unknown result type (might be due to invalid IL or missing references) //IL_005a: Unknown result type (might be due to invalid IL or missing references) //IL_005f: Unknown result type (might be due to invalid IL or missing references) //IL_0062: 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) //IL_008b: Unknown result type (might be due to invalid IL or missing references) //IL_0090: Unknown result type (might be due to invalid IL or missing references) //IL_0092: Unknown result type (might be due to invalid IL or missing references) //IL_0097: Unknown result type (might be due to invalid IL or missing references) //IL_00a1: Unknown result type (might be due to invalid IL or missing references) if ((Object)(object)newMovement != (Object)null && Vector3.Distance(((Component)newMovement).transform.position, ((Component)this).transform.position) > Distance + 1f) { Vector3 val = ((Component)newMovement).transform.position - ((Component)this).transform.position; Vector3 normalized = ((Vector3)(ref val)).normalized; float distance = Distance; ((Component)this).transform.position = Vector3.Lerp(((Component)this).transform.position, ((Component)newMovement).transform.position - normalized * distance, 0.05f); } } } public class Keep_This_Near_Obj : MonoBehaviour { public GameObject Obj_ToKeep; public float Distance = 10f; public void FixedUpdate() { //IL_001c: Unknown result type (might be due to invalid IL or missing references) //IL_0027: Unknown result type (might be due to invalid IL or missing references) //IL_004a: Unknown result type (might be due to invalid IL or missing references) //IL_0055: Unknown result type (might be due to invalid IL or missing references) //IL_005a: Unknown result type (might be due to invalid IL or missing references) //IL_005f: Unknown result type (might be due to invalid IL or missing references) //IL_0062: 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) //IL_008b: Unknown result type (might be due to invalid IL or missing references) //IL_0090: Unknown result type (might be due to invalid IL or missing references) //IL_0092: Unknown result type (might be due to invalid IL or missing references) //IL_0097: Unknown result type (might be due to invalid IL or missing references) //IL_00a1: Unknown result type (might be due to invalid IL or missing references) if ((Object)(object)Obj_ToKeep != (Object)null && Vector3.Distance(Obj_ToKeep.transform.position, ((Component)this).transform.position) > Distance + 1f) { Vector3 val = Obj_ToKeep.transform.position - ((Component)this).transform.position; Vector3 normalized = ((Vector3)(ref val)).normalized; float distance = Distance; ((Component)this).transform.position = Vector3.Lerp(((Component)this).transform.position, Obj_ToKeep.transform.position - normalized * distance, 0.05f); } } } public class ActivateBlackHole : MonoBehaviour { public EnemyType SafeType = (EnemyType)35; public float SpeedMult = 1.25f; public void Start() { //IL_002b: Unknown result type (might be due to invalid IL or missing references) //IL_0030: Unknown result type (might be due to invalid IL or missing references) BlackHoleProjectile component = ((Component)this).gameObject.GetComponent(); component.target = EnemyTarget.TrackPlayer(); component.speed *= SpeedMult; component.safeType = SafeType; component.Activate(); } } public class AppearAnimation : MonoBehaviour { private Vector3 OgPos; public Vector3 Offset = new Vector3(0f, -10f, 0f); public float TimeMult = 0.5f; public float T; public void Start() { //IL_0007: Unknown result type (might be due to invalid IL or missing references) //IL_000c: Unknown result type (might be due to invalid IL or missing references) //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_0023: Unknown result type (might be due to invalid IL or missing references) OgPos = ((Component)this).transform.position; Transform transform = ((Component)this).transform; transform.position += Offset; } public void OnEnable() { T = 0f; } public void Update() { //IL_0037: Unknown result type (might be due to invalid IL or missing references) //IL_003d: Unknown result type (might be due to invalid IL or missing references) //IL_0042: Unknown result type (might be due to invalid IL or missing references) //IL_0048: Unknown result type (might be due to invalid IL or missing references) //IL_0053: Unknown result type (might be due to invalid IL or missing references) if (T != 1f) { T = Mathf.MoveTowards(T, 1f, Time.deltaTime / TimeMult); ((Component)this).transform.position = Vector3.Lerp(OgPos + Offset, OgPos, T); } } } } namespace System.Runtime.CompilerServices { [AttributeUsage(AttributeTargets.Assembly, AllowMultiple = true)] internal sealed class IgnoresAccessChecksToAttribute : Attribute { public IgnoresAccessChecksToAttribute(string assemblyName) { } } }