Decompiled source of FentoKill v3.6.299
FentoKill.dll
Decompiled 2 weeks ago
The result has been truncated due to the large size, download it to view full contents!
using System; using System.Collections; using System.Collections.Generic; using System.Diagnostics; using System.IO; using System.Linq; using System.Reflection; using System.Runtime.CompilerServices; using System.Runtime.InteropServices; using System.Runtime.Versioning; using BepInEx; using BepInEx.Logging; using Discord; using HarmonyLib; using PluginConfig.API; using PluginConfig.API.Decorators; using PluginConfig.API.Fields; using Sandbox; using TMPro; using ULTRAKILL.Enemy; using ULTRAKILL.Portal; using Unity.AI.Navigation; using UnityEngine; using UnityEngine.AI; using UnityEngine.AddressableAssets; using UnityEngine.Events; using UnityEngine.InputSystem; using UnityEngine.ResourceManagement.AsyncOperations; using UnityEngine.SceneManagement; using UnityEngine.UI; [assembly: CompilationRelaxations(8)] [assembly: RuntimeCompatibility(WrapNonExceptionThrows = true)] [assembly: Debuggable(DebuggableAttribute.DebuggingModes.IgnoreSymbolStoreSequencePoints)] [assembly: AssemblyTitle("FentoKill")] [assembly: AssemblyDescription("")] [assembly: AssemblyConfiguration("")] [assembly: AssemblyCompany("")] [assembly: AssemblyProduct("FentoKill")] [assembly: AssemblyCopyright("Copyright © 2025")] [assembly: AssemblyTrademark("")] [assembly: ComVisible(false)] [assembly: Guid("d24676a8-4da0-4d43-a77a-48484b462e3c")] [assembly: AssemblyFileVersion("1.0.0.0")] [assembly: TargetFramework(".NETFramework,Version=v4.7.2", FrameworkDisplayName = ".NET Framework 4.7.2")] [assembly: AssemblyVersion("1.0.0.0")] namespace FentoKill; public static class Fento_Utils { public enum DetectebleEnemies { Flith, Stray, Schism, Soldier, Stalker, Sisyphus, Ferryman, Cerberus, CerberusStatue, CerberusStatueWhite, Mannequin, MannequinPoserWithEnemy, MaliciousFace, HideousMass, Idol, Puppet, Swordsmachine, 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, MirrorReaper, DeathcatcherCase, DeathcatcherClosed, Deathcatcher } public class AddresableObject<TObject> { [CompilerGenerated] private sealed class <Long_Load>d__5 : IEnumerator<object>, IDisposable, IEnumerator { private int <>1__state; private object <>2__current; public AddresableObject<TObject> <>4__this; private AsyncOperationHandle<TObject> <handle>5__2; object IEnumerator<object>.Current { [DebuggerHidden] get { return <>2__current; } } object IEnumerator.Current { [DebuggerHidden] get { return <>2__current; } } [DebuggerHidden] public <Long_Load>d__5(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) <handle>5__2 = default(AsyncOperationHandle<TObject>); <>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<TObject> 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; } <handle>5__2 = Addressables.LoadAssetAsync<TObject>((object)addresableObject.path); <>2__current = <handle>5__2; <>1__state = 1; return true; case 1: <>1__state = -1; if ((int)<handle>5__2.Status == 1) { addresableObject.fast_load = false; addresableObject.obj = <handle>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 { //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) if (obj == null) { Fento_Loader._Logger.LogInfo((object)("[Fast_Load] - Loading " + path)); fast_load = true; obj = Addressables.LoadAssetAsync<TObject>((object)path).WaitForCompletion(); } 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); } } [IteratorStateMachine(typeof(AddresableObject<>.<Long_Load>d__5))] public IEnumerator Long_Load() { //yield-return decompiler failed: Unexpected instruction in Iterator.Dispose() return new <Long_Load>d__5(0) { <>4__this = this }; } public T GetComponent<T>() { if ((Object)(object)gameObject != (Object)null) { return gameObject.GetComponent<T>(); } 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<TObject>(string path) { return new AddresableObject<TObject>(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<T>() { if ((Object)(object)Object != (Object)null) { return Object.GetComponent<T>(); } 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 Filth_Rage_IQ : MonoBehaviour { 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() { mach = ((Component)this).GetComponent<Enemy>(); zomb = ((Component)this).GetComponent<ZombieMelee>(); eid = ((Component)this).GetComponent<EnemyIdentifier>(); anim = ((Component)this).GetComponent<Animator>(); rb = ((Component)this).GetComponent<Rigidbody>(); nma = ((Component)this).GetComponent<NavMeshAgent>(); if (Object.op_Implicit((Object)(object)zomb)) { zomb.SetField("defaultCoolDown", 0.5f); } } public void FixedUpdate() { //IL_00a2: 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_00ae: 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_01aa: 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_01ba: 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_01c8: 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_01de: Unknown result type (might be due to invalid IL or missing references) //IL_01e3: 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_01f2: 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_02c1: 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_0212: 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_02e9: 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_0248: Unknown result type (might be due to invalid IL or missing references) //IL_024d: 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_0262: 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_026b: Unknown result type (might be due to invalid IL or missing references) //IL_0274: 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_0280: Unknown result type (might be due to invalid IL or missing references) //IL_0285: 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_010a: 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_012c: 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_013c: Unknown result type (might be due to invalid IL or missing references) //IL_03c8: Unknown result type (might be due to invalid IL or missing references) //IL_03df: 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_0308: Unknown result type (might be due to invalid IL or missing references) //IL_030d: Unknown result type (might be due to invalid IL or missing references) //IL_0312: 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_031e: Unknown result type (might be due to invalid IL or missing references) //IL_0323: Unknown result type (might be due to invalid IL or missing references) //IL_0328: Unknown result type (might be due to invalid IL or missing references) //IL_032d: 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_0333: 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_0343: 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_0353: Unknown result type (might be due to invalid IL or missing references) //IL_040b: Unknown result type (might be due to invalid IL or missing references) //IL_0410: Unknown result type (might be due to invalid IL or missing references) //IL_0414: Unknown result type (might be due to invalid IL or missing references) //IL_0424: Unknown result type (might be due to invalid IL or missing references) //IL_0429: Unknown result type (might be due to invalid IL or missing references) //IL_042e: Unknown result type (might be due to invalid IL or missing references) //IL_0433: Unknown result type (might be due to invalid IL or missing references) //IL_0437: Unknown result type (might be due to invalid IL or missing references) //IL_0441: Unknown result type (might be due to invalid IL or missing references) //IL_0446: Unknown result type (might be due to invalid IL or missing references) //IL_045b: Unknown result type (might be due to invalid IL or missing references) //IL_0460: 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_0473: Unknown result type (might be due to invalid IL or missing references) //IL_0478: 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; eid.target.GetTargetPosition(out var targetPosition); if (zomb.diving) { Vector3 val = targetPosition - ((Component)this).transform.position; if (ExplodeTimer > 2f && rb.velocity.y > -5f && ((Vector3)(ref val)).magnitude < 3.5f) { ExplodeTimer = 0f; Explosion[] componentsInChildren = Object.Instantiate<GameObject>(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<Explosion>(); 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 val2 = rb.velocity; obj2.velocity = velocity + ((Vector3)(ref val2)).normalized * 5f; Rigidbody obj3 = rb; obj3.velocity += Vector3.up * -10f; if (zomb.diving && rb.velocity.y > 1f) { zomb.DamageStart(); Vector3 val3 = eid.target.PredictTargetPosition(0.1f, true, false) + Vector3.up - ((Component)this).transform.position; Vector3 normalized = ((Vector3)(ref val3)).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) { if (!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(); } } } else { if (!mach.grounded || !(Vector3.Distance(((Component)this).transform.position, eid.target.PredictTargetPosition(0.1f, false, false)) > 7.5f)) { return; } ((Behaviour)nma).enabled = false; rb.isKinematic = false; val2 = Random.insideUnitSphere; val2 = ((Vector3)(ref val2)).normalized + ((Component)eid).transform.TransformDirection(Vector3.forward); Vector3 val4 = ((Vector3)(ref val2)).normalized * 100f; val4.y = 0f; Rigidbody obj6 = rb; obj6.velocity += val4; Vector3 ogPos = ((Component)this).transform.position; Invoke_WithDelay(0.05f, delegate { //IL_005f: Unknown result type (might be due to invalid IL or missing references) if (Object.op_Implicit((Object)(object)this)) { ((Behaviour)nma).enabled = true; rb.isKinematic = true; } if (((Behaviour)nma).enabled && !nma.isOnNavMesh) { ((Component)this).transform.position = ogPos; } }); } } } 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<ZombieProjectiles>(); zmb = ((Component)this).GetComponent<Zombie>(); eid = ((Component)this).GetComponent<EnemyIdentifier>(); anim = ((Component)this).GetComponent<Animator>(); rb = ((Component)this).GetComponent<Rigidbody>(); nma = ((Component)this).GetComponent<NavMeshAgent>(); } 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; } eid.target.GetTargetPosition(out var targetPosition); Vector3 ogPos = ((Component)this).transform.position; 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<EnemyIdentifier>(); if ((Object)(object)eid == (Object)null) { Object.Destroy((Object)(object)this); return; } EnemyIdentifier eid2 = ((Component)this).GetComponent<EnemyIdentifier>(); 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_00a3: 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_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) if (Object.op_Implicit((Object)(object)eid2) && (int)eid2.enemyType == 14 && eid2.target != null) { eid2.target.GetTargetPosition(out var targetPosition); Projectile component = Object.Instantiate<GameObject>(Fento_Assets.ProjectileExplosiveHH_BigYellow.gameObject, ((Component)eid2).transform.position + Vector3.up * 3f + Random.insideUnitSphere, Quaternion.identity).GetComponent<Projectile>(); ((Component)component).gameObject.Setup_GoreZone_Obj(eid2); ((Component)component).transform.LookAt(targetPosition); component.ignoreExplosions = true; component.homingType = (HomingType)1; component.safeEnemyType = eid2.enemyType; component.targetHandle = 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_0200: 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_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_0185: 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) { return; } eid.target.GetTargetPosition(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<EnemyIdentifier>(); 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<Ignore_UltraEnraged>((Component)(object)idol); 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<Ignore_UltraEnraged>((Component)(object)idol2); 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<AAD_Keep_Obj_Near_Enemy>((Component)(object)eid).To_Keep = ((Component)idol2).gameObject; } } public class Soldier_AutoAir_IQ : MonoBehaviour { [CompilerGenerated] private sealed class <EMP_Services>d__7 : IEnumerator<object>, IDisposable, IEnumerator { private int <>1__state; private object <>2__current; public Soldier_AutoAir_IQ <>4__this; private NewMovement <newMovement>5__2; private bool <iframes>5__3; object IEnumerator<object>.Current { [DebuggerHidden] get { return <>2__current; } } object IEnumerator.Current { [DebuggerHidden] get { return <>2__current; } } [DebuggerHidden] public <EMP_Services>d__7(int <>1__state) { this.<>1__state = <>1__state; } [DebuggerHidden] void IDisposable.Dispose() { <newMovement>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<DefaultReferenceManager>.Instance.unparryableFlash; if ((Object)(object)val != (Object)null) { val = Object.Instantiate<GameObject>(MonoSingleton<DefaultReferenceManager>.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<GameObject>(MonoSingleton<DefaultReferenceManager>.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<GameObject>(MonoSingleton<DefaultReferenceManager>.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<GameObject>(MonoSingleton<DefaultReferenceManager>.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<GameObject>(MonoSingleton<DefaultReferenceManager>.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<GameObject>(MonoSingleton<DefaultReferenceManager>.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; <newMovement>5__2 = MonoSingleton<NewMovement>.Instance; <iframes>5__3 = false; if (soldier_AutoAir_IQ.eid.target.isPlayer && ((Component)<newMovement>5__2).gameObject.layer == 15) { <iframes>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)<newMovement>5__2).gameObject.layer == 15) { <iframes>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)<newMovement>5__2).gameObject.layer == 15) { <iframes>5__3 = true; } Object.Instantiate<GameObject>(MonoSingleton<DefaultReferenceManager>.Instance.zapImpactParticle, soldier_AutoAir_IQ.eid.target.position, Quaternion.identity); if (soldier_AutoAir_IQ.eid.target.isPlayer && !<iframes>5__3) { int num2 = 25; if (<newMovement>5__2.hp > num2) { <newMovement>5__2.GetHurt(num2, true, 1f, false, false, 1f, false); } else { <newMovement>5__2.GetHurt(<newMovement>5__2.hp - 1, true, 1f, false, false, 1f, false); } NewMovement obj = <newMovement>5__2; obj.boostCharge *= 0.25f; WeaponCharges instance = MonoSingleton<WeaponCharges>.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_0052: Unknown result type (might be due to invalid IL or missing references) //IL_005c: Expected O, but got Unknown eid = ((Component)this).GetComponent<EnemyIdentifier>(); anim = ((Component)this).GetComponent<Animator>(); proj = ((Component)this).GetComponent<ZombieProjectiles>(); if ((Object)(object)eid == (Object)null) { Object.Destroy((Object)(object)this); return; } ((Component)this).GetComponent<EnemyIdentifier>(); 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; eid.target.GetTargetPosition(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<GameObject>(Fento_Assets.EnemyRocket.gameObject, targetPosition + eid.target.trackedTransform.TransformVector(Vector3.up) * 110f, Quaternion.identity).GetComponent<Grenade>()).transform.LookAt(targetPosition); } } } [IteratorStateMachine(typeof(<EMP_Services>d__7))] public IEnumerator EMP_Services() { //yield-return decompiler failed: Unexpected instruction in Iterator.Dispose() return new <EMP_Services>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<GameObject>(Fento_Assets.ExplosionSisyphusPrimeAnimation.gameObject, ((Component)this).transform.position, ((Component)this).transform.rotation); Transform transform = megaBoom.transform; transform.localScale *= 2f; megaBoom.GetComponent<ObjectActivator>().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<GameObject>(Fento_Assets.ExplosionSisyphusPrime.gameObject, megaBoom.transform.position, megaBoom.transform.rotation).GetComponentsInChildren<Explosion>(); foreach (Explosion obj in componentsInChildren) { obj.toIgnore.Add((EnemyType)12); obj.enemy = true; obj.enemyDamageMultiplier *= 0f; } }); } } public EnemyIdentifier eid; public NavMeshAgent nm; public float Timer; public float AttackTimer; public void Start() { //IL_002a: Unknown result type (might be due to invalid IL or missing references) //IL_0034: Expected O, but got Unknown eid = ((Component)this).GetComponent<EnemyIdentifier>(); nm = ((Component)this).GetComponent<NavMeshAgent>(); eid.onDeath.AddListener((UnityAction)delegate { //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_0032: 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_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_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_008a: Unknown result type (might be due to invalid IL or missing references) //IL_0094: Expected O, but got Unknown GameObject obj = Object.Instantiate<GameObject>(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<ObjectActivator>().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<GameObject>(Fento_Assets.ExplosionSuper.gameObject, pos, rot).GetComponentsInChildren<Explosion>(); foreach (Explosion obj2 in componentsInChildren) { obj2.toIgnore.Add((EnemyType)12); obj2.enemy = true; obj2.enemyDamageMultiplier *= 0f; } GameObject val = Object.Instantiate<GameObject>(Fento_Assets.BlackHole_Enemy.gameObject, pos, rot); Transform transform2 = val.transform; transform2.localScale *= 3f; GameObjectExtensions.GetOrAddComponent<AfterExplode>(val); GameObjectExtensions.GetOrAddComponent<Obj_Keep_Near_Player>(val); if ((Object)(object)Fento_Assets.RagePrefab.gameObject != (Object)null) { GameObject val2 = Object.Instantiate<GameObject>(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<AudioSource>(); if (components != null) { AudioSource val3 = components.Last(); if ((Object)(object)val3 != (Object)null) { val3.pitch *= 0.75f; } } } AudioSource[] componentsInChildren2 = val2.GetComponentsInChildren<AudioSource>(); foreach (AudioSource val4 in componentsInChildren2) { if ((Object)(object)val4 != (Object)null) { val4.spatialize = true; } } } BlackHoleProjectile component = val.GetComponent<BlackHoleProjectile>(); component.target = EnemyTarget.TrackPlayer(); component.speed *= 2.85f; component.safeType = (EnemyType)12; component.Activate(); ((MonoBehaviour)component).Invoke("Explode", 14f); }); }); } public void FixedUpdate() { //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_008b: 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_00b0: 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; _ = AttackTimer; _ = 10f; if (!(Timer > 2f)) { return; } Timer = 0f; Transform transform = Object.Instantiate<GameObject>(Fento_Assets.ExplosionSand.gameObject, ((Component)this).transform.position + Vector3.up, ((Component)this).transform.rotation).transform; transform.localScale *= 3.25f; Invoke_WithDelay(0.1f, delegate { if (Object.op_Implicit((Object)(object)nm)) { NavMeshAgent obj = nm; obj.speed += 15f; NavMeshAgent obj2 = nm; obj2.acceleration += 15f; NavMeshAgent obj3 = nm; obj3.angularSpeed += 15f; NavMeshAgent obj4 = nm; obj4.speed *= 1.1f; NavMeshAgent obj5 = nm; obj5.acceleration *= 1.1f; NavMeshAgent obj6 = nm; obj6.angularSpeed *= 1.1f; } }); } } public class Sisyphus_Rage_IQ : MonoBehaviour { public EnemyIdentifier eid; public float SpawnGasTimer; public void Start() { eid = ((Component)this).GetComponent<EnemyIdentifier>(); SpawnGasTimer = 19f; } public void FixedUpdate() { if (Object.op_Implicit((Object)(object)eid) && !eid.dead && eid.target != null) { SpawnGasTimer += Time.fixedDeltaTime; if (SpawnGasTimer > 20f) { SpawnGasTimer = Random.value; SpawnGas(); } } } public void SpawnGas() { //IL_0010: 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) //IL_0024: 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_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) GameObject obj = Object.Instantiate<GameObject>(Fento_Assets.GoopCloudLong.gameObject, ((Component)this).transform.TransformPoint(Vector3.up * 6.5f), Quaternion.identity, ((Component)this).transform); obj.transform.localScale = new Vector3(0.4f, 0.75f, 0.4f); Make_Colored(obj.transform, Color.yellow + Color.red); HurtZone componentInChildren = obj.GetComponentInChildren<HurtZone>(); if ((Object)(object)componentInChildren != (Object)null) { componentInChildren.hurtCooldown *= 2f; componentInChildren.bounceForce = 200f; componentInChildren.enemyDamageOverride = 0.0001f; 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() { eid = ((Component)this).GetComponent<EnemyIdentifier>(); StartHealth = eid.health; BeamTimer = 20f; HolySwordsTimer = Random.value * 16f; RangeTimer = Random.value * 1f; } 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(); } eid.target.GetTargetPosition(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)) { 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<GameObject>(Fento_Assets.Insignia.gameObject, eid.target.position, Quaternion.identity); val.Setup_GoreZone_Obj(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<VirtueInsignia>(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<GameObject>(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<SummonedSwords>(ref val)) { val.target = new EnemyTarget(((Component)this).transform); SummonedSwords obj2 = val; obj2.speed *= eid.totalSpeedModifier; val.targetEnemy = eid.target; } Projectile[] componentsInChildren = obj.GetComponentsInChildren<Projectile>(); 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; } eid.target.GetTargetPosition(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>(gameObject, position + ((Vector3)(ref val)).normalized * 3f, Quaternion.identity); Transform transform = obj.transform; transform.localScale *= 10f; obj.transform.LookAt(pos); 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_0117: 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_0137: 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_014c: 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_01bc: Unknown result type (might be due to invalid IL or missing references) //IL_01c6: 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_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_0225: 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: 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) 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<GameObject>(gameObject2, position2 + ((Vector3)(ref val2)).normalized * 2.5f, ((Component)this).transform.rotation).TryGetComponent<AudioSource>(ref val3)) { val3.clip = Fento_Assets.RocketFire_Default.obj; val3.pitch = Random.Range(0.6f, 0.8f); val3.Play(); } GameObject val4 = Object.Instantiate<GameObject>(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(eid.target.PredictTargetPosition(0.1f, false, false) + Vector3.up * 2f); Transform transform2 = val4.transform; transform2.position += val4.transform.forward * 4f; val4.Setup_GoreZone_Obj(eid); ((Component)this).transform.DissableColliders(val4.transform.root); Cannonball val5 = default(Cannonball); if (val4.TryGetComponent<Cannonball>(ref val5)) { val5.sourceWeapon = ((Component)((Component)this).transform).gameObject; } Rigidbody val6 = default(Rigidbody); if (val4.TryGetComponent<Rigidbody>(ref val6)) { val6.velocity = ((Component)val6).transform.forward * 200f; Vector3 position3 = ((Component)this).transform.position; val2 = val6.velocity; float num = PredictTimeOld(position3, ((Vector3)(ref val2)).magnitude, eid.target); ((Component)this).transform.LookAt(eid.target.PredictTargetPosition(num, false, false) + Vector3.up * 2f); } }); } } public class MirrorReaper_Rage_IQ : MonoBehaviour { public EnemyIdentifier eid; public float Timer; public float TimerSlam; public void Start() { eid = ((Component)this).GetComponent<EnemyIdentifier>(); 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_00e1: 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_0106: 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_0126: 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_014a: 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 > 5f) { Timer = Random.value; GameObject obj = Object.Instantiate<GameObject>(Fento_Assets.GoopCloud.gameObject, ((Component)this).transform.position, Quaternion.identity); obj.Setup_GoreZone_Obj(eid); HurtZone componentInChildren = obj.GetComponentInChildren<HurtZone>(); if ((Object)(object)componentInChildren != (Object)null) { componentInChildren.ignoredEnemyTypes.Add((EnemyType)41); componentInChildren.enemyDamageOverride = 1E-05f; } } if (!(TimerSlam > 25f)) { return; } TimerSlam = Random.value; GameObject obj2 = Object.Instantiate<GameObject>(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); Invoke_WithDelay(1f, delegate { //IL_0037: 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_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_0083: 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<GameObject>(Fento_Assets.SlamExplosionShockwave.gameObject, new Vector3(((Component)this).transform.position.x, eid.target.position.y, ((Component)this).transform.position.z), Quaternion.identity).GetComponent<PhysicalShockwave>(); component.enemy = true; component.enemyType = (EnemyType)41; } }); } } 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<EnemyIdentifier>(); spider = ((Component)this).GetComponent<SpiderBody>(); bossHealthBar = ((Component)this).GetComponent<BossHealthBar>(); Timer = Random.value * 10f; OgHealth = eid.Health; Transform transform = ((Component)((Component)eid).transform.Find("MaliciousFace/Mouth")).transform; GameObject val = Object.Instantiate<GameObject>(Fento_Assets.CentaurBrainBeam.gameObject, transform.position, transform.rotation, transform); eid.destroyOnDeath.Add(val); Make_Colored(val.transform, Color.red + Color.yellow); val.GetComponent<ContinuousBeam>().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<Obj_Follow_Eid_Target>((Component)(object)val2.transform); orAddComponent.eid = eid; orAddComponent.Speed = 10f; GameObjectExtensions.GetOrAddComponent<Obj_Always_Look_At>(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<Ignore_UltraEnraged>((Component)(object)idole); ComponentExtensions.GetOrAddComponent<Idol_Buff_Radiance>((Component)(object)idole).TierToAdd *= 0.75f; 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_Buff_OnEnable : MonoBehaviour { [CompilerGenerated] private sealed class <Revive>d__2 : IEnumerator<object>, IDisposable, IEnumerator { private int <>1__state; private object <>2__current; public Transform gz; private NewMovement <newMovement>5__2; private Vector3 <newPos1>5__3; object IEnumerator<object>.Current { [DebuggerHidden] get { return <>2__current; } } object IEnumerator.Current { [DebuggerHidden] get { return <>2__current; } } [DebuggerHidden] public <Revive>d__2(int <>1__state) { this.<>1__state = <>1__state; } [DebuggerHidden] void IDisposable.Dispose() { <newMovement>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; <newMovement>5__2 = MonoSingleton<NewMovement>.Instance; Vector3 position = ((Component)<newMovement>5__2).transform.position; <newPos1>5__3 = GetRandomNavMeshPoint(position, Random.Range(15f, 35f)); break; } case 1: <>1__state = -1; break; } if (<newPos1>5__3 == Vector3.zero) { Vector3 position = ((Component)<newMovement>5__2).transform.position; <newPos1>5__3 = GetRandomNavMeshPoint(position, Random.Range(15f, 35f)); <>2__current = (object)new WaitForSeconds(0.25f); <>1__state = 1; return true; } EnemyIdentifier obj = Integrate_Enemy(DetectebleEnemies.Cerberus, gz, active: true, <newPos1>5__3, Quaternion.Euler(0f, Random.value * 360f, 0f)); obj.dontCountAsKills = true; obj.immuneToFriendlyFire = true; ComponentExtensions.GetOrAddComponent<Make_Puppet_OnStart>((Component)(object)obj); ComponentExtensions.GetOrAddComponent<Ignore_UltraEnraged>((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_006b: 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_00df: 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_0198: Expected O, but got Unknown float num = 0.5f; foreach (KeyValuePair<Transform, UltraEnrage_Movement> item in UltraEnrage_Movement.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<EnemyIdentifier>(); 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(); } } EnemyIdentifier eid0 = ((Component)this).GetComponentInParent<EnemyIdentifier>(); if (Object.op_Implicit((Object)(object)eid0) && (eid0.isBoss || Object.op_Implicit((Object)(object)((Component)eid0).GetComponent<BossHealthBar>()))) { GoreZone gz = ((Component)eid0).GetComponentInParent<GoreZone>(); eid0.onDeath.AddListener((UnityAction)delegate { ((MonoBehaviour)gz).StartCoroutine(Revive(eid0, ((Component)gz).transform)); ((MonoBehaviour)gz).StartCoroutine(Revive(eid0, ((Component)gz).transform)); }); } } [IteratorStateMachine(typeof(<Revive>d__2))] public IEnumerator Revive(EnemyIdentifier eid0, Transform gz) { //yield-return decompiler failed: Unexpected instruction in Iterator.Dispose() return new <Revive>d__2(0) { gz = gz }; } } 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<Idol>(); Eid = ((Component)this).GetComponent<EnemyIdentifier>(); 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_01d5: 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_0184: 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_018c: 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_01a2: 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<GameObject>(Fento_Assets.ProjectileBeam.gameObject, ((Component)this).transform.position + Vector3.up, Quaternion.identity, ((Component)this).transform).GetComponent<ContinuousBeam>(); beam.canHitEnemy = false; beam.cancelIfEndPointBlocked = false; beam.endPoint = ((Component)LastFound).transform; Invoke_WithDelay(0.1f, delegate { //IL_000c: Unknown result type (might be due to invalid IL or missing references) beam.SetField("environmentMask", LayerMaskDefaults.Get((LMD)0)); }); Collider val = default(Collider); if (((Component)LastFound).TryGetComponent<Collider>(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 obj = val2; Bounds bounds = val.bounds; obj.localPosition = ((Bounds)(ref bounds)).center; val2.localRotation = Quaternion.identity; val2.localScale = Vector3.one; val2.SetParent(((Component)LastFound).transform, true); } beam.endPoint = val2; } 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<GameObject>(Fento_Assets.Insignia.gameObject, ((Component)MonoSingleton<NewMovement>.Instance).transform.position, Quaternion.identity); VirtueInsignia component = val.GetComponent<VirtueInsignia>(); component.target = Eid.target; component.parentEnemy = ((Component)Eid).GetComponent<Enemy>(); component.hadParent = (Object)(object)component.parentEnemy != (Object)null; component.explosionLength = 3.5f; if ((int)MonoSingleton<PlayerTracker>.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_004f: Unknown result type (might be due to invalid IL or missing references) //IL_0059: Expected O, but got Unknown mach = ((Component)this).GetComponent<Enemy>(); Manneq = ((Component)this).GetComponent<Mannequin>(); eid = ((Component)this).GetComponent<EnemyIdentifier>(); nma = ((Component)this).GetComponent<NavMeshAgent>(); if (!Object.op_Implicit((Object)(object)eid)) { return; } eid.onDeath.AddListener((UnityAction)delegate { //IL_004d: 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 (!eid.puppet) { Transform transform = ((Component)((Component)eid).GetComponentInParent<GoreZone>()).transform; DetectebleEnemies[] array = new DetectebleEnemies[3] { DetectebleEnemies.Stray, DetectebleEnemies.Schism, DetectebleEnemies.Soldier }; EnemyIdentifier eid0 = 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(); 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<EnemyIdentifier>(); enemy = ((Component)this).GetComponent<Enemy>(); swm = ((Component)this).GetComponent<SwordsMachine>(); if (Object.op_Implicit((Object)(object)eid)) { Add = eid.isBoss || Object.op_Implicit((Object)(object)((Component)eid).GetComponent<BossHealthBar>()); } } public void FixedUpdate() { //IL_008a: 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_00b2: 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_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_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_00f3: 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_010f: 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_01e7: 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) if (!Object.op_Implicit((Object)(object)eid) || eid.dead || eid.target == null) { return; } Timer += Time.fixedDeltaTime; TimerSim += Time.fixedDeltaTime; if (Timer > 1f) { Timer = 0f; eid.target.GetTargetPosition(out var targetPosition); if (!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)))) { ((Component)((Component)eid).transform).SendMessage("SwordThrow", (SendMessageOptions)1); Timer = -10f; } } 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 = Integrate_Enemy(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<Enemy>(ref val)) { enemy.symbiote = val; val.symbiote = enemy; } } } } 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) Timer = Random.value; eid = ((Component)this).GetComponent<EnemyIdentifier>(); 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; } 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; } eid.target.GetTargetPosition(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<GameObject>(Fento_Assets.GasolineProjectile.gameObject, ((Component)this).transform.position + normalized * 5f, ((Component)this).transform.rotation); obj.transform.LookAt(targetPosition + Random.insideUnitSphere * 6f); GameObjectExtensions.GetOrAddComponent<V2_Boss_Buff.V2_Fire_Gasoline>(obj); Rigidbody component = obj.GetComponent<Rigidbody>(); 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<Renderer>(); 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) GameObject obj = Object.Instantiate<GameObject>(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(eid.target.PredictTargetPosition(0.01f, false, false)); 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>(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<GameObject>(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); 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) if (!((Object)(object)eid == (Object)null) && !eid.dead && eid.target != null && Object.op_Implicit((Object)(object)Fento_Assets.MassSpearHook.gameObject)) { eid.target.GetTargetPosition(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<GameObject>(ga