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.Versioning; using System.Security; using System.Security.Permissions; using System.Text; using BepInEx; using BepInEx.Bootstrap; using BepInEx.Logging; using HarmonyLib; using PluginConfig.API; using PluginConfig.API.Fields; using TMPro; using UltraFishing; using UnityEngine; using UnityEngine.AddressableAssets; using UnityEngine.Audio; using UnityEngine.Events; using UnityEngine.InputSystem; using UnityEngine.SceneManagement; using UnityEngine.UI; [assembly: CompilationRelaxations(8)] [assembly: RuntimeCompatibility(WrapNonExceptionThrows = true)] [assembly: Debuggable(DebuggableAttribute.DebuggingModes.Default | DebuggableAttribute.DebuggingModes.DisableOptimizations | DebuggableAttribute.DebuggingModes.IgnoreSymbolStoreSequencePoints | DebuggableAttribute.DebuggingModes.EnableEditAndContinue)] [assembly: TargetFramework(".NETStandard,Version=v2.1", FrameworkDisplayName = ".NET Standard 2.1")] [assembly: IgnoresAccessChecksTo("Assembly-CSharp")] [assembly: AssemblyCompany("DarkFountains")] [assembly: AssemblyConfiguration("Debug")] [assembly: AssemblyFileVersion("1.0.0.0")] [assembly: AssemblyInformationalVersion("1.0.0+b888748583e0b0ea27adf351218e7e069ded3143")] [assembly: AssemblyProduct("DarkFountains")] [assembly: AssemblyTitle("DarkFountains")] [assembly: SecurityPermission(SecurityAction.RequestMinimum, SkipVerification = true)] [assembly: AssemblyVersion("1.0.0.0")] [module: UnverifiableCode] public class FakeTime : MonoBehaviour { public float faketime; public float speed = 1f; public MeshRenderer[] render; private void Update() { faketime += Time.deltaTime * speed; MeshRenderer[] array = render; foreach (MeshRenderer val in array) { ((Renderer)val).material.SetFloat("_FakeTime", faketime); } } } public class TextBoxPitchPerfect : MonoBehaviour { [CompilerGenerated] private sealed class d__5 : IEnumerator, IEnumerator, IDisposable { private int <>1__state; private object <>2__current; public TextBoxPitchPerfect <>4__this; object IEnumerator.Current { [DebuggerHidden] get { return <>2__current; } } object IEnumerator.Current { [DebuggerHidden] get { return <>2__current; } } [DebuggerHidden] public d__5(int <>1__state) { this.<>1__state = <>1__state; } [DebuggerHidden] void IDisposable.Dispose() { <>1__state = -2; } private bool MoveNext() { //IL_00a5: Unknown result type (might be due to invalid IL or missing references) //IL_00af: Expected O, but got Unknown //IL_00fb: Unknown result type (might be due to invalid IL or missing references) //IL_0105: Expected O, but got Unknown //IL_005e: Unknown result type (might be due to invalid IL or missing references) //IL_0068: Expected O, but got Unknown switch (<>1__state) { default: return false; case 0: <>1__state = -1; goto IL_0117; case 1: <>1__state = -1; goto IL_0079; case 2: <>1__state = -1; if (<>4__this.waitingForInput) { <>4__this.txt.text = <>4__this.tempString + "¼"; <>2__current = (object)new WaitForSecondsRealtime(0.25f); <>1__state = 3; return true; } goto IL_0117; case 3: { <>1__state = -1; goto IL_0117; } IL_0079: <>4__this.txt.text = <>4__this.tempString + "¼"; <>2__current = (object)new WaitForSecondsRealtime(0.25f); <>1__state = 2; return true; IL_0117: if (<>4__this.waitingForInput) { if (MonoSingleton.Instance.paused) { <>2__current = (object)new WaitUntil((Func)delegate { //IL_0012: Unknown result type (might be due to invalid IL or missing references) //IL_0017: Unknown result type (might be due to invalid IL or missing references) int result; if (MonoSingleton.Instance.paused) { Scene scene = ((Component)<>4__this).gameObject.scene; result = ((!((Scene)(ref scene)).isLoaded) ? 1 : 0); } else { result = 1; } return (byte)result != 0; }); <>1__state = 1; return true; } goto IL_0079; } return false; } } bool IEnumerator.MoveNext() { //ILSpy generated this explicit interface implementation from .override directive in MoveNext return this.MoveNext(); } [DebuggerHidden] void IEnumerator.Reset() { throw new NotSupportedException(); } } [CompilerGenerated] private sealed class d__4 : IEnumerator, IEnumerator, IDisposable { private int <>1__state; private object <>2__current; public TextBoxPitchPerfect <>4__this; private int 5__1; private int 5__2; private UnityEvent 5__3; private int 5__4; private char 5__5; private float 5__6; private bool 5__7; private char 5__8; private UnityEvent 5__9; object IEnumerator.Current { [DebuggerHidden] get { return <>2__current; } } object IEnumerator.Current { [DebuggerHidden] get { return <>2__current; } } [DebuggerHidden] public d__4(int <>1__state) { this.<>1__state = <>1__state; } [DebuggerHidden] void IDisposable.Dispose() { 5__3 = null; 5__9 = null; <>1__state = -2; } private bool MoveNext() { //IL_0229: Unknown result type (might be due to invalid IL or missing references) //IL_0233: Expected O, but got Unknown //IL_00ec: Unknown result type (might be due to invalid IL or missing references) //IL_00f6: Expected O, but got Unknown //IL_03d9: Unknown result type (might be due to invalid IL or missing references) //IL_03e3: Expected O, but got Unknown switch (<>1__state) { default: return false; case 0: <>1__state = -1; 5__1 = <>4__this.fullString.Length; if (Object.op_Implicit((Object)(object)<>4__this.preTextText)) { <>4__this.preTextText.text = <>4__this.preText; } 5__4 = 0; goto IL_040e; case 1: <>1__state = -1; goto IL_0107; case 2: <>1__state = -1; goto IL_036e; case 3: { <>1__state = -1; 5__2 = 5__4; 5__4 = 5__2 + 1; goto IL_040e; } IL_036e: 5__1 = <>4__this.fullString.Length; if ((5__6 != 0f) & 5__7) { <>4__this.aud.Play(); } if (<>4__this.skipToInput) { 5__6 = 0f; } <>2__current = (object)new WaitForSecondsRealtime(5__6); <>1__state = 3; return true; IL_040e: if (5__4 < 5__1) { 5__5 = <>4__this.fullString[5__4]; 5__6 = 0.05f; 5__7 = true; if (MonoSingleton.Instance.paused) { <>2__current = (object)new WaitUntil((Func)(() => (Object)(object)MonoSingleton.Instance == (Object)null || !MonoSingleton.Instance.paused)); <>1__state = 1; return true; } goto IL_0107; } 5__3 = <>4__this.onComplete; if (5__3 != null) { 5__3.Invoke(); } return false; IL_0107: 5__8 = 5__5; if (5__8 != ' ') { if (5__8 != '}') { if (5__8 == '¼') { <>4__this.sb = new StringBuilder(<>4__this.fullString); <>4__this.sb[5__4] = ' '; <>4__this.fullString = <>4__this.sb.ToString(); <>4__this.txt.text = <>4__this.fullString.Substring(0, 5__4); <>4__this.tempString = <>4__this.txt.text; <>4__this.skipToInput = false; <>4__this.waitingForInput = true; ((MonoBehaviour)<>4__this).StartCoroutine(<>4__this.DotAppear()); <>2__current = (object)new WaitUntil((Func)delegate { //IL_000e: Unknown result type (might be due to invalid IL or missing references) //IL_0013: Unknown result type (might be due to invalid IL or missing references) int result; if (<>4__this.waitingForInput) { Scene scene = ((Component)<>4__this).gameObject.scene; result = ((!((Scene)(ref scene)).isLoaded) ? 1 : 0); } else { result = 1; } return (byte)result != 0; }); <>1__state = 2; return true; } <>4__this.txt.text = <>4__this.fullString.Substring(0, 5__4); } else { <>4__this.sb = new StringBuilder(<>4__this.fullString); <>4__this.sb[5__4] = ' '; <>4__this.fullString = <>4__this.sb.ToString(); 5__7 = false; 5__6 = 0f; <>4__this.txt.text = <>4__this.fullString.Substring(0, 5__4); 5__9 = <>4__this.onTextEvent; if (5__9 != null) { 5__9.Invoke(); } 5__9 = null; } } else { 5__6 = 0f; <>4__this.txt.text = <>4__this.fullString.Substring(0, 5__4); } goto IL_036e; } } bool IEnumerator.MoveNext() { //ILSpy generated this explicit interface implementation from .override directive in MoveNext return this.MoveNext(); } [DebuggerHidden] void IEnumerator.Reset() { throw new NotSupportedException(); } } private Text txt; private string fullString; private string tempString; private StringBuilder sb; private AudioSource aud; private float origPitch; private bool waitingForInput; private bool skipToInput; public UnityEvent onTextEvent; public UnityEvent onComplete; public string preText; [SerializeField] private Text preTextText; private bool restart; private void Start() { txt = ((Component)this).GetComponent(); fullString = txt.text; txt.text = ""; aud = ((Component)this).GetComponent(); origPitch = aud.pitch; ((MonoBehaviour)this).StartCoroutine(TextAppear()); } private void OnDisable() { restart = true; } private void OnEnable() { if (restart) { restart = false; ((MonoBehaviour)this).StartCoroutine(TextAppear()); } } private void Update() { if (MonoSingleton.Instance.paused) { return; } if (waitingForInput) { if (Input.GetKeyDown((KeyCode)323) || (Object)(object)MonoSingleton.Instance == (Object)null || (!MonoSingleton.Instance.PerformingCheatMenuCombo() && MonoSingleton.Instance.InputSource.Fire1.WasPerformedThisFrame) || Input.GetKey((KeyCode)32) || MonoSingleton.Instance.InputSource.Dodge.IsPressed || (Gamepad.current != null && Gamepad.current.aButton.wasPressedThisFrame)) { waitingForInput = false; } } else if (Input.GetKeyDown((KeyCode)323) || (Object)(object)MonoSingleton.Instance == (Object)null || (!MonoSingleton.Instance.PerformingCheatMenuCombo() && MonoSingleton.Instance.InputSource.Fire1.WasPerformedThisFrame) || Input.GetKey((KeyCode)32) || MonoSingleton.Instance.InputSource.Dodge.IsPressed || (Gamepad.current != null && Gamepad.current.aButton.wasPressedThisFrame)) { skipToInput = true; } } [IteratorStateMachine(typeof(d__4))] private IEnumerator TextAppear() { //yield-return decompiler failed: Unexpected instruction in Iterator.Dispose() return new d__4(0) { <>4__this = this }; } [IteratorStateMachine(typeof(d__5))] private IEnumerator DotAppear() { //yield-return decompiler failed: Unexpected instruction in Iterator.Dispose() return new d__5(0) { <>4__this = this }; } } namespace Deltakill { public class GenericHelper : BaseUnityPlugin { public static bool IsCustomLevel = false; private static Plugin _instance; private static GameObject pref = null; private static Dictionary BundleDictionary = new Dictionary(); public static Plugin Instance => _instance; public static void DictonaryFill() { GameObject[] prefabs = Plugin.prefabs; foreach (GameObject val in prefabs) { if (BundleDictionary.ContainsKey(((Object)val).name)) { int num = 0; num = 0; while (BundleDictionary.ContainsKey(((Object)val).name + num)) { num++; } BundleDictionary.Add(((Object)val).name + num, val); } else { BundleDictionary.Add(((Object)val).name, val); } } } public static void ReplaceShader(Material mat, Shader shader) { //IL_0002: Unknown result type (might be due to invalid IL or missing references) //IL_000d: Expected O, but got Unknown //IL_0015: Unknown result type (might be due to invalid IL or missing references) //IL_0020: Expected O, but got Unknown //IL_0046: Unknown result type (might be due to invalid IL or missing references) //IL_0051: Expected O, but got Unknown if ((Object)mat == (Object)null || (Object)mat.shader == (Object)null) { return; } int renderQueue = mat.renderQueue; Shader shader2 = mat.shader; if ((Object)Shader.Find(((Object)shader2).name) != (Object)null) { if (((Object)mat.shader).name != "Standard") { mat.shader = Shader.Find(((Object)shader2).name); } else { mat.shader = shader; } mat.renderQueue = renderQueue; } else if (((Object)shader2).name == ((Object)shader).name) { mat.shader = shader; mat.renderQueue = renderQueue; } else { mat.renderQueue = renderQueue; } } public static Type Fetch(string name) { //IL_0002: Unknown result type (might be due to invalid IL or missing references) //IL_0007: Unknown result type (might be due to invalid IL or missing references) return Addressables.LoadAssetAsync((object)name).WaitForCompletion(); } public static GameObject FetchAsset(string name) { GameObject value = null; BundleDictionary.TryGetValue(name, out value); return value; } public static void ReplaceAssets() { //IL_0023: Unknown result type (might be due to invalid IL or missing references) //IL_0028: Unknown result type (might be due to invalid IL or missing references) //IL_0042: Unknown result type (might be due to invalid IL or missing references) //IL_0047: Unknown result type (might be due to invalid IL or missing references) //IL_0061: Unknown result type (might be due to invalid IL or missing references) //IL_0066: Unknown result type (might be due to invalid IL or missing references) //IL_0080: Unknown result type (might be due to invalid IL or missing references) //IL_0085: Unknown result type (might be due to invalid IL or missing references) //IL_009f: Unknown result type (might be due to invalid IL or missing references) //IL_00a4: Unknown result type (might be due to invalid IL or missing references) //IL_010a: Unknown result type (might be due to invalid IL or missing references) //IL_0115: Expected O, but got Unknown //IL_01a9: Unknown result type (might be due to invalid IL or missing references) //IL_01b4: Expected O, but got Unknown //IL_0275: Unknown result type (might be due to invalid IL or missing references) //IL_0280: Expected O, but got Unknown Shader shader = Fetch("Assets/Shaders/MasterShader/ULTRAKILL-Standard.shader"); List list = new List(); Dictionary dictionary = new Dictionary(); dictionary["AllAudio"] = Addressables.LoadAssetAsync((object)"AllAudio").WaitForCompletion(); dictionary["DoorAudio"] = Addressables.LoadAssetAsync((object)"DoorAudio").WaitForCompletion(); dictionary["GoreAudio"] = Addressables.LoadAssetAsync((object)"GoreAudio").WaitForCompletion(); dictionary["MusicAudio"] = Addressables.LoadAssetAsync((object)"MusicAudio").WaitForCompletion(); dictionary["UnfreezeableAudio"] = Addressables.LoadAssetAsync((object)"UnfreezeableAudio").WaitForCompletion(); GameObject[] array = Plugin.PitBundle.LoadAllAssets(); GameObject[] array2 = array; Material[] sharedMaterials; foreach (GameObject val in array2) { if (val.GetComponentsInChildren(true) != null) { AudioSource[] componentsInChildren = val.GetComponentsInChildren(true); AudioSource[] array3 = componentsInChildren; foreach (AudioSource val2 in array3) { if ((Object)val2.outputAudioMixerGroup != (Object)null && dictionary.TryGetValue(((Object)val2.outputAudioMixerGroup.audioMixer).name, out var value)) { val2.outputAudioMixerGroup.audioMixer.outputAudioMixerGroup = value.FindMatchingGroups("Master").FirstOrDefault(); } } } if (val.GetComponentsInChildren(true) != null) { Renderer[] componentsInChildren2 = val.GetComponentsInChildren(true); Renderer[] array4 = componentsInChildren2; foreach (Renderer val3 in array4) { if ((Object)val3.sharedMaterial != (Object)null) { ReplaceShader(val3.sharedMaterial, shader); } if (val3.sharedMaterials != null && val3.sharedMaterials.Length != 0) { sharedMaterials = val3.sharedMaterials; Material[] array5 = sharedMaterials; foreach (Material val4 in array5) { list.Add(val4); ReplaceShader(val4, shader); } } } } if (val.GetComponentsInChildren(true) == null) { continue; } ParticleSystemRenderer[] componentsInChildren3 = val.GetComponentsInChildren(true); ParticleSystemRenderer[] array6 = componentsInChildren3; foreach (ParticleSystemRenderer val5 in array6) { if ((Object)((Renderer)val5).sharedMaterial != (Object)null) { ReplaceShader(((Renderer)val5).sharedMaterial, shader); } if (((Renderer)val5).sharedMaterials != null && ((Renderer)val5).sharedMaterials.Length != 0) { sharedMaterials = ((Renderer)val5).sharedMaterials; Material[] array7 = sharedMaterials; foreach (Material val6 in array7) { list.Add(val6); ReplaceShader(val6, shader); } } } } sharedMaterials = Plugin.PitBundle.LoadAllAssets(); Material[] array8 = sharedMaterials; foreach (Material val7 in array8) { if (!list.Contains(val7)) { list.Add(val7); ReplaceShader(val7, shader); } } } public static GameObject FindObjectEvenIfDisabled(string rootName, string objPath = null, int childNum = 0, bool useChildNum = false) { //IL_0003: Unknown result type (might be due to invalid IL or missing references) //IL_0008: Unknown result type (might be due to invalid IL or missing references) GameObject val = null; Scene activeScene = SceneManager.GetActiveScene(); GameObject[] rootGameObjects = ((Scene)(ref activeScene)).GetRootGameObjects(); bool flag = false; GameObject[] array = rootGameObjects; foreach (GameObject val2 in array) { if (((Object)val2).name == rootName) { val = val2; flag = true; } } if (flag) { GameObject val3 = val; if (objPath != null) { val3 = ((Component)val.transform.Find(objPath)).gameObject; if (!useChildNum) { val = val3; } } if (useChildNum) { GameObject gameObject = ((Component)val3.transform.GetChild(childNum)).gameObject; val = gameObject; } } return val; } } [BepInPlugin("DarkFountains.draghtnim.ultrakill", "DarkFountains", "1.0")] [BepInDependency(/*Could not decode attribute arguments.*/)] public class Plugin : BaseUnityPlugin { private enum FunEnum { Off, Random, Always_on } public static ManualLogSource logger; public static string modDir; private Material badfix; private PluginConfigurator config; public static bool IsCustomLevel = false; private static Plugin _instance; private bool epmodeinternal = false; private string OverrideFun; private static string assemblyLocation = Path.GetDirectoryName(Assembly.GetExecutingAssembly().Location); public static AssetBundle PitBundle = AssetBundle.LoadFromFile(Path.Combine(assemblyLocation, "DATA_PACKAGE.resource")); public static GameObject[] prefabs = PitBundle.LoadAllAssets(); public static Plugin Instance => _instance; private void Start() { string path = Assembly.GetExecutingAssembly().Location.ToString(); modDir = Path.GetDirectoryName(path); UltraFishingCompat.RegisterExtraFish(); } private void Awake() { //IL_008f: Unknown result type (might be due to invalid IL or missing references) //IL_0099: Expected O, but got Unknown //IL_00ab: Unknown result type (might be due to invalid IL or missing references) //IL_00b1: Expected O, but got Unknown //IL_0120: Unknown result type (might be due to invalid IL or missing references) //IL_012a: Expected O, but got Unknown badfix = GenericHelper.Fetch("Assets/Materials/Liquids/Limbo Water LowPriority V2Arena.mat"); GenericHelper.DictonaryFill(); string directoryName = Path.GetDirectoryName(Assembly.GetExecutingAssembly().Location); logger = ((BaseUnityPlugin)this).Logger; config = PluginConfigurator.Create("deltaKILL", "CONFIG_DATA_DELTA"); config.SetIconWithURL(Path.Combine(directoryName, "icon.png")); config.presetButtonHidden = true; BoolField EPMode = new BoolField(config.rootPanel, "Light Sensitive Mode", "EPMode", false); config.presetButtonInteractable = false; Harmony val = new Harmony("deltaKILL"); val.PatchAll(); _instance = this; epmodeinternal = EPMode.value; EnumField val2 = new EnumField(config.rootPanel, "Fun events", "FUN_OVERRIDE", FunEnum.Random); val2.SetEnumDisplayName(FunEnum.Always_on, "Always on"); OverrideFun = val2.value.ToString(); EPMode.onValueChange += (BoolValueChangeEventDelegate)delegate { epmodeinternal = !EPMode.value; }; val2.onValueChange += delegate(EnumValueChangeEvent e) { OverrideFun = e.value.ToString(); }; SceneManager.sceneLoaded += OnSceneLoaded; } private void OnDestroy() { //IL_0007: Unknown result type (might be due to invalid IL or missing references) //IL_000c: Unknown result type (might be due to invalid IL or missing references) ManualLogSource obj = ((BaseUnityPlugin)this).Logger; Scene activeScene = SceneManager.GetActiveScene(); obj.LogInfo((object)((Scene)(ref activeScene)).name); } private void OnSceneLoaded(Scene scene, LoadSceneMode mode) { //IL_0910: Unknown result type (might be due to invalid IL or missing references) //IL_0933: Unknown result type (might be due to invalid IL or missing references) //IL_0947: Unknown result type (might be due to invalid IL or missing references) //IL_094c: Unknown result type (might be due to invalid IL or missing references) //IL_0998: Unknown result type (might be due to invalid IL or missing references) //IL_0346: Unknown result type (might be due to invalid IL or missing references) //IL_0376: Unknown result type (might be due to invalid IL or missing references) //IL_0d10: Unknown result type (might be due to invalid IL or missing references) //IL_0d24: Unknown result type (might be due to invalid IL or missing references) //IL_0d29: Unknown result type (might be due to invalid IL or missing references) //IL_0daf: Unknown result type (might be due to invalid IL or missing references) //IL_0dc3: Unknown result type (might be due to invalid IL or missing references) //IL_0dc8: Unknown result type (might be due to invalid IL or missing references) //IL_0e20: Unknown result type (might be due to invalid IL or missing references) //IL_0e34: Unknown result type (might be due to invalid IL or missing references) //IL_0e39: Unknown result type (might be due to invalid IL or missing references) //IL_0e70: Unknown result type (might be due to invalid IL or missing references) //IL_0e84: Unknown result type (might be due to invalid IL or missing references) //IL_0e89: Unknown result type (might be due to invalid IL or missing references) //IL_1598: Unknown result type (might be due to invalid IL or missing references) //IL_15a9: Unknown result type (might be due to invalid IL or missing references) //IL_15f0: Unknown result type (might be due to invalid IL or missing references) //IL_15fa: Expected O, but got Unknown //IL_166c: Unknown result type (might be due to invalid IL or missing references) //IL_167d: Unknown result type (might be due to invalid IL or missing references) //IL_16d1: Unknown result type (might be due to invalid IL or missing references) //IL_1725: Unknown result type (might be due to invalid IL or missing references) //IL_0acf: Unknown result type (might be due to invalid IL or missing references) //IL_05e7: Unknown result type (might be due to invalid IL or missing references) //IL_05f1: Expected O, but got Unknown //IL_062e: Unknown result type (might be due to invalid IL or missing references) //IL_0638: Expected O, but got Unknown //IL_0675: Unknown result type (might be due to invalid IL or missing references) //IL_067f: Expected O, but got Unknown //IL_1209: Unknown result type (might be due to invalid IL or missing references) //IL_122c: Unknown result type (might be due to invalid IL or missing references) //IL_1240: Unknown result type (might be due to invalid IL or missing references) //IL_1245: Unknown result type (might be due to invalid IL or missing references) //IL_1291: Unknown result type (might be due to invalid IL or missing references) //IL_118f: Unknown result type (might be due to invalid IL or missing references) //IL_0a1c: Unknown result type (might be due to invalid IL or missing references) //IL_0a23: Expected O, but got Unknown //IL_1454: Unknown result type (might be due to invalid IL or missing references) //IL_1477: Unknown result type (might be due to invalid IL or missing references) //IL_148b: Unknown result type (might be due to invalid IL or missing references) //IL_1490: Unknown result type (might be due to invalid IL or missing references) //IL_14dc: Unknown result type (might be due to invalid IL or missing references) int num = Random.Range(1, 10); GameObject[] array = PitBundle.LoadAllAssets(); GameObject val = GenericHelper.FetchAsset("1 - Darker_Fountain"); if (SceneHelper.CurrentScene != "Main Menu" || SceneHelper.CurrentScene != "Bootstrap" || SceneHelper.CurrentScene != "Intro") { GenericHelper.ReplaceAssets(); } ((BaseUnityPlugin)this).Logger.LogWarning((object)epmodeinternal); switch (SceneHelper.CurrentScene) { case "Level 0-2": GenericHelper.FindObjectEvenIfDisabled("5B - Secret Arena", "5B Nonstuff/Pit (2)").transform.position = new Vector3(0f, 0f, 798f); GenericHelper.FindObjectEvenIfDisabled("5B - Secret Arena", "5B Nonstuff/Pit (3)").transform.position = new Vector3(0f, 0f, 778f); val = Object.Instantiate(GenericHelper.FetchAsset("7 - 02IntroFountain")); break; case "Level 0-S": GenericHelper.FindObjectEvenIfDisabled("FinalRoom SecretExit").gameObject.SetActive(false); val = Object.Instantiate(GenericHelper.FetchAsset("0 - 0-S exit")); ((Renderer)GenericHelper.FindObjectEvenIfDisabled("Hellgate Textless Variant", "DoorLeft").GetComponent()).allowOcclusionWhenDynamic = false; ((Renderer)GenericHelper.FindObjectEvenIfDisabled("Hellgate Textless Variant", "DoorRight").GetComponent()).allowOcclusionWhenDynamic = false; GenericHelper.FindObjectEvenIfDisabled("0 - 0-S exit(Clone)", "closedoor").GetComponent().events.toDisActivateObjects[0] = GenericHelper.FindObjectEvenIfDisabled("Hellgate Textless Variant", "Opener"); break; case "Level 1-1": { if ((num < 4 || OverrideFun == "Always_on") && OverrideFun != "Off") { GameObject val3 = Object.Instantiate(GenericHelper.FetchAsset("C1 - Fun")); ((BaseUnityPlugin)this).Logger.LogWarning((object)("Importing: " + ((Object)val3.gameObject).name)); GenericHelper.FindObjectEvenIfDisabled(((Object)val3.transform).name, SceneHelper.CurrentScene).gameObject.SetActive(true); } GenericHelper.FindObjectEvenIfDisabled("1 - First Field", "1 Stuff/Fountain").gameObject.SetActive(false); val = Object.Instantiate(GenericHelper.FetchAsset("1 - Darker_Fountain")); ((BaseUnityPlugin)this).Logger.LogInfo((object)((Object)GenericHelper.FindObjectEvenIfDisabled("1 - Darker_Fountain(Clone)")).name); ((BaseUnityPlugin)this).Logger.LogInfo((object)((Object)GenericHelper.FindObjectEvenIfDisabled("1 - Darker_Fountain(Clone)", "fountain")).name); ((BaseUnityPlugin)this).Logger.LogInfo((object)((Object)GenericHelper.FindObjectEvenIfDisabled("1 - Darker_Fountain(Clone)", "fountain/muzzles/")).name); ((BaseUnityPlugin)this).Logger.LogInfo((object)((Object)GenericHelper.FindObjectEvenIfDisabled("1 - Darker_Fountain(Clone)", "fountain/muzzles/muzzleflash (4)")).name); ((BaseUnityPlugin)this).Logger.LogInfo((object)((Object)GenericHelper.FindObjectEvenIfDisabled("StatsManager")).name); ((BaseUnityPlugin)this).Logger.LogInfo((object)GenericHelper.FindObjectEvenIfDisabled("1 - Darker_Fountain(Clone)", "fountain/muzzles/muzzleflash (4)").GetComponent().events); GenericHelper.FindObjectEvenIfDisabled("1 - Darker_Fountain(Clone)", "fountain/muzzles/muzzleflash (4)").GetComponent().events.onActivate.AddListener(new UnityAction(GenericHelper.FindObjectEvenIfDisabled("StatsManager").GetComponent().StopTimer)); GenericHelper.FindObjectEvenIfDisabled("1 - Darker_Fountain(Clone)", "fountain/Cylinder (1)").GetComponent().events.onActivate.AddListener(new UnityAction(GenericHelper.FindObjectEvenIfDisabled("FirstRoom", "Room/FinalDoor/DoorLeft").GetComponent().LockClose)); GenericHelper.FindObjectEvenIfDisabled("1 - Darker_Fountain(Clone)", "fountain/Cylinder (1)").GetComponent().events.onActivate.AddListener(new UnityAction(GenericHelper.FindObjectEvenIfDisabled("FirstRoom", "Room/FinalDoor/DoorRight").GetComponent().LockClose)); GameObject val2 = GenericHelper.FindObjectEvenIfDisabled("1 - Darker_Fountain(Clone)", "nopass"); val2.GetComponent().events.toDisActivateObjects[0] = GenericHelper.FindObjectEvenIfDisabled("LargeDoor", "OpenZone (1)"); val2.GetComponent().events.toDisActivateObjects[1] = GenericHelper.FindObjectEvenIfDisabled("LargeDoor (12)", "OpenZone (1)"); val.transform.parent = GenericHelper.FindObjectEvenIfDisabled("1 - First Field", "1 Stuff").transform; ((BaseUnityPlugin)this).Logger.LogMessage((object)((Object)GenericHelper.FindObjectEvenIfDisabled("1 - Darker_Fountain(Clone)", "fountain/Cylinder (1)")).name); break; } case "Level 1-S": GenericHelper.FindObjectEvenIfDisabled("OOB Message").gameObject.SetActive(false); GenericHelper.FindObjectEvenIfDisabled("5 - Finale", "FinalRoomSecretExit").gameObject.SetActive(false); val = Object.Instantiate(GenericHelper.FetchAsset("2 - Witless Fountain")); GenericHelper.FindObjectEvenIfDisabled("5 - Finale", "InteractiveScreenPuzzle5x5 (2)/Canvas/Background").GetComponent().toActivate[0] = GenericHelper.FindObjectEvenIfDisabled("2 - Witless Fountain(Clone)", "ActivateLimboDoor").gameObject; break; case "Level 2-1": if ((num < 4 || OverrideFun == "Always_on") && OverrideFun != "Off") { GameObject val3 = Object.Instantiate(GenericHelper.FetchAsset("C1 - Fun")); ((BaseUnityPlugin)this).Logger.LogWarning((object)("Importing: " + ((Object)val3.gameObject).name)); GenericHelper.FindObjectEvenIfDisabled(((Object)val3.transform).name, SceneHelper.CurrentScene).gameObject.SetActive(true); if (epmodeinternal) { GenericHelper.FindObjectEvenIfDisabled(((Object)val3.transform).name, "Level 2-1/standard").gameObject.SetActive(false); GenericHelper.FindObjectEvenIfDisabled(((Object)val3.transform).name, "Level 2-1/eplmode").gameObject.SetActive(true); } } break; case "Level 2-3": { GenericHelper.FindObjectEvenIfDisabled("Exteriors", "Arch (1)").gameObject.SetActive(false); GenericHelper.FindObjectEvenIfDisabled("2 - Sewer Arena", "2 Nonstuff/Secret Level Entrance/FinalRoom SecretEntrance").gameObject.SetActive(false); val = Object.Instantiate(GenericHelper.FetchAsset("8 - FountainLust")); GameObject val2 = GenericHelper.FindObjectEvenIfDisabled("2 - Sewer Arena", "2 Nonstuff/Secret Level Entrance/FinalRoom SecretEntrance/Pit"); val2.gameObject.SetActive(true); val2.transform.parent = null; val2.transform.position = new Vector3(5f, -30f, 800f); val2.transform.GetChild(0).position = val2.transform.GetChild(0).position - new Vector3(0f, 20f, 0f); val2 = GenericHelper.FindObjectEvenIfDisabled("2 - Sewer Arena", "2 Nonstuff/Secret Level Entrance/FinalRoom SecretEntrance/Pit (2)"); val2.gameObject.SetActive(true); val2.transform.parent = null; val2.transform.position = new Vector3(-15f, -30f, 800f); GenericHelper.FindObjectEvenIfDisabled("8 - FountainLust(Clone)", "addmintofix").GetComponent().toDisActivate[0] = GenericHelper.FindObjectEvenIfDisabled("MinosBackground"); break; } case "Level 2-SDONOTTRIGGER": { GameObject val5 = GenericHelper.FindObjectEvenIfDisabled("Canvas", "PowerUpVignette/Panel/Aspect Ratio Mask/"); val = Object.Instantiate(GenericHelper.FetchAsset("2-Sstuff")); foreach (Transform item in GenericHelper.FindObjectEvenIfDisabled("2-Sstuff(Clone)", "Canvas/AdditionalScreens/").transform) { Transform val6 = item; val6.parent = val5.transform; ((BaseUnityPlugin)this).Logger.LogWarning((object)("moved " + ((Object)val6).name)); } break; } case "Level 3-2": if ((num > 8 || OverrideFun == "Always_on") && OverrideFun != "Off") { GenericHelper.FindObjectEvenIfDisabled("4 - Heart Chamber", "4 Stuff").transform.localPosition = new Vector3(0f, 0f, 0f); GenericHelper.FindObjectEvenIfDisabled("4 - Heart Chamber", "4 Stuff/Cube").SetActive(false); GenericHelper.FindObjectEvenIfDisabled("4 - Heart Chamber", "4 Nonstuff/MusicActivator").SetActive(false); GameObject val3 = Object.Instantiate(GenericHelper.FetchAsset("C1 - Fun")); ((BaseUnityPlugin)this).Logger.LogWarning((object)("Importing: " + ((Object)val3.gameObject).name)); GenericHelper.FindObjectEvenIfDisabled(((Object)val3.transform).name, SceneHelper.CurrentScene).gameObject.SetActive(true); GenericHelper.FindObjectEvenIfDisabled(((Object)val3.transform).name, "Level 3-2/heart/FakeGabrielRouxl").GetComponent().realMass = GenericHelper.FindObjectEvenIfDisabled("4 - Heart Chamber", "4 Stuff/Gabriel"); GenericHelper.FindObjectEvenIfDisabled(((Object)val3.transform).name, "Level 3-2/heart/FakeGabrielRouxl/KillYourOST").GetComponent().events.toDisActivateObjects[0] = GenericHelper.FindObjectEvenIfDisabled("Music 1"); GenericHelper.FindObjectEvenIfDisabled(((Object)val3.transform).name, "Level 3-2/heart/FakeGabrielRouxl/KillYourOST").GetComponent().events.toDisActivateObjects[1] = GenericHelper.FindObjectEvenIfDisabled("Music 2"); GenericHelper.FindObjectEvenIfDisabled(((Object)val3.transform).name, "Level 3-2/heart/Cube").GetComponent().events = GenericHelper.FindObjectEvenIfDisabled("4 - Heart Chamber", "4 Stuff/Cube").GetComponent().events; GenericHelper.FindObjectEvenIfDisabled(((Object)val3.transform).name, "Level 3-2/heart").transform.parent = GenericHelper.FindObjectEvenIfDisabled("4 - Heart Chamber", "4 Stuff").transform; GenericHelper.FindObjectEvenIfDisabled(((Object)val3.transform).name, "Level 3-2/hold/MfixPutInGabe").GetComponent().events.toActivateObjects[0] = GenericHelper.FindObjectEvenIfDisabled("Music 3"); GenericHelper.FindObjectEvenIfDisabled(((Object)val3.transform).name, "Level 3-2/hold/MfixPutInGabe").transform.parent = GenericHelper.FindObjectEvenIfDisabled("4 - Heart Chamber", "4 Stuff/Gabriel").transform; } break; case "Level 4-2": GenericHelper.FindObjectEvenIfDisabled("OOB Stuff").transform.position = GenericHelper.FindObjectEvenIfDisabled("OOB Stuff").transform.position - new Vector3(0f, 550f, 0f); ((Collider)GenericHelper.FindObjectEvenIfDisabled("FakeMoon").GetComponent()).enabled = false; ((Renderer)GenericHelper.FindObjectEvenIfDisabled("FakeMoon").GetComponent()).enabled = false; GenericHelper.FindObjectEvenIfDisabled("FakeMoon", "Point Light/Spot Light").gameObject.SetActive(false); GenericHelper.FindObjectEvenIfDisabled("FakeMoon", "FinalRoom SecretEntrance/Pit").transform.position = GenericHelper.FindObjectEvenIfDisabled("FakeMoon", "FinalRoom SecretEntrance/Pit").transform.position - new Vector3(0f, 250f, 0f); ((Component)GenericHelper.FindObjectEvenIfDisabled("FakeMoon", "FinalRoom SecretEntrance/Pit").transform.GetChild(0)).gameObject.transform.position = ((Component)GenericHelper.FindObjectEvenIfDisabled("FakeMoon", "FinalRoom SecretEntrance/Pit").transform.GetChild(0)).gameObject.transform.position - new Vector3(0f, 50f, 0f); GenericHelper.FindObjectEvenIfDisabled("FakeMoon", "FinalRoom SecretEntrance/Pit (2)").transform.position = GenericHelper.FindObjectEvenIfDisabled("FakeMoon", "FinalRoom SecretEntrance/Pit (2)").transform.position - new Vector3(0f, 250f, 0f); val = Object.Instantiate(GenericHelper.FetchAsset("C - FountainGreed")); val.transform.parent = GenericHelper.FindObjectEvenIfDisabled("FakeMoon").transform; break; case "Level 4-3": if ((num > 7 || OverrideFun == "Always_on") && OverrideFun != "Off") { GameObject val3 = Object.Instantiate(GenericHelper.FetchAsset("C1 - Fun")); GenericHelper.FindObjectEvenIfDisabled(((Object)val3.transform).name, SceneHelper.CurrentScene).gameObject.SetActive(true); GenericHelper.FindObjectEvenIfDisabled("1 - First Chambers", "1 Nonstuff/Altar").gameObject.SetActive(false); GenericHelper.FindObjectEvenIfDisabled(((Object)val3.transform).name, "Level 4-3/patternphase1/soundenable").transform.parent = GenericHelper.FindObjectEvenIfDisabled("1 - First Chambers", "1 Stuff/Torches/GreedTorch/OnLight").transform; GameObject val2 = GenericHelper.FindObjectEvenIfDisabled(((Object)val3.transform).name, "Level 4-3/SoundwaveObject"); val2.transform.parent = GenericHelper.FindObjectEvenIfDisabled("Player", "Agent").transform; val2.SetActive(false); val2.transform.SetSiblingIndex(0); GenericHelper.FindObjectEvenIfDisabled("0-S Check").gameObject.SetActive(false); GenericHelper.FindObjectEvenIfDisabled("7 - Generator Room", "7 Nonstuff/Altar/Altars").gameObject.SetActive(false); GenericHelper.FindObjectEvenIfDisabled("7 - Generator Room", "7 Nonstuff/Altar/Cube").gameObject.SetActive(false); GenericHelper.FindObjectEvenIfDisabled(((Object)val3.transform).name, "Level 4-3/button/Cube").GetComponent().events.toActivateObjects[0] = GenericHelper.FindObjectEvenIfDisabled("7 - Generator Room", "7 Nonstuff/Altar/MusicStopper").gameObject; GenericHelper.FindObjectEvenIfDisabled(((Object)val3.transform).name, "Level 4-3/button/Cube/delay").GetComponent().events.toActivateObjects[0] = GenericHelper.FindObjectEvenIfDisabled("7 - Generator Room", "7 Nonstuff/Spinning Cylinder/Lights"); } break; case "Level 4-S": GenericHelper.FindObjectEvenIfDisabled("4 - Boulder Run", "4 Stuff/FinalRoom SecretExit").gameObject.SetActive(false); val = Object.Instantiate(GenericHelper.FetchAsset("4 - greedFountain")); val.transform.parent = GenericHelper.FindObjectEvenIfDisabled("4 - Boulder Run").transform; break; case "Level 5-1": { if ((num == 6 || OverrideFun == "Always_on") && OverrideFun != "Off") { GenericHelper.FindObjectEvenIfDisabled("IntroParent", "Intro/Intro B - First Tunnel/Cube(Clone)").gameObject.SetActive(false); GameObject val4 = Object.Instantiate(GenericHelper.FetchAsset("6 - room_mysteryman")); val4.transform.parent = GenericHelper.FindObjectEvenIfDisabled("IntroParent", "Intro/Intro B - First Tunnel").transform; val4.transform.localPosition = new Vector3(-22.6f, 0f, -7.5f); } val = Object.Instantiate(GenericHelper.FetchAsset("9 - doorFountain")); GenericHelper.FindObjectEvenIfDisabled("2 - Elevator", "2B Secret/FinalRoom SecretEntrance").gameObject.SetActive(false); GameObject val2 = GenericHelper.FindObjectEvenIfDisabled("2 - Elevator", "2B Secret/FinalRoom SecretEntrance/Pit"); val2.gameObject.SetActive(true); val2.transform.parent = null; val2.transform.position = new Vector3(5f, -30f, 800f); val2.transform.GetChild(0).position = val2.transform.GetChild(0).position - new Vector3(0f, 20f, 0f); val2 = GenericHelper.FindObjectEvenIfDisabled("2 - Elevator", "2B Secret/FinalRoom SecretEntrance/Pit (2)"); val2.gameObject.SetActive(true); val2.transform.parent = null; val2.transform.position = new Vector3(-15f, -30f, 800f); break; } case "Level 5-S": GenericHelper.FindObjectEvenIfDisabled("FinalRoom SecretExit").gameObject.SetActive(false); ((BaseUnityPlugin)this).Logger.LogError((object)GenericHelper.FetchAsset("3- Fishing-Fountain")); val = Object.Instantiate(GenericHelper.FetchAsset("3- Fishing-Fountain")); break; case "Level 7-3": { if ((num < 4 || OverrideFun == "Always_on") && OverrideFun != "Off") { GameObject val3 = Object.Instantiate(GenericHelper.FetchAsset("C1 - Fun")); ((BaseUnityPlugin)this).Logger.LogWarning((object)("Importing: " + ((Object)val3.gameObject).name)); GenericHelper.FindObjectEvenIfDisabled(((Object)val3.transform).name, SceneHelper.CurrentScene).gameObject.SetActive(true); } GenericHelper.FindObjectEvenIfDisabled("2 - Garden Maze", "Secret/FinalRoom SecretEntrance").gameObject.SetActive(false); GenericHelper.FindObjectEvenIfDisabled("2 - Garden Maze", "Secret", 3, useChildNum: true).gameObject.SetActive(false); GenericHelper.FindObjectEvenIfDisabled("2 - Garden Maze", "Secret", 4, useChildNum: true).gameObject.SetActive(false); GenericHelper.FindObjectEvenIfDisabled("2 - Garden Maze", "Secret", 5, useChildNum: true).gameObject.SetActive(false); ((Renderer)GenericHelper.FindObjectEvenIfDisabled("2 - Garden Maze", "Secret", 6, useChildNum: true).gameObject.GetComponent()).enabled = false; val = Object.Instantiate(GenericHelper.FetchAsset("B - ViolentEntrance")); GameObject val2 = GenericHelper.FindObjectEvenIfDisabled("2 - Garden Maze", "Secret/FinalRoom SecretEntrance/Pit"); val2.gameObject.SetActive(true); val2.transform.parent = null; val2.transform.position = new Vector3(-5f, -30f, 800f); val2.transform.GetChild(0).position = val2.transform.GetChild(0).position - new Vector3(0f, 20f, 0f); val2 = GenericHelper.FindObjectEvenIfDisabled("2 - Garden Maze", "Secret/FinalRoom SecretEntrance/Pit (2)"); val2.gameObject.SetActive(true); val2.transform.parent = null; val2.transform.position = new Vector3(15f, -30f, 800f); break; } case "Level 7-S": { GenericHelper.FindObjectEvenIfDisabled("Fake Exit").gameObject.SetActive(false); GenericHelper.FindObjectEvenIfDisabled("7-S_Unpaintable", "Interior/Blackout").gameObject.SetActive(false); GenericHelper.FindObjectEvenIfDisabled("7-S_Unpaintable", "Doorways/Door_009").gameObject.SetActive(false); val = Object.Instantiate(GenericHelper.FetchAsset("5 - fountainWash")); GameObject val2 = GenericHelper.FindObjectEvenIfDisabled("Fake Exit", "WasherPickup"); val2.transform.parent = GenericHelper.FindObjectEvenIfDisabled("5 - fountainWash(Clone)", "enable/washreplace").transform; val2.transform.localPosition = new Vector3(0f, 0f, 0f); val2.transform.rotation = Quaternion.identity; GenericHelper.FindObjectEvenIfDisabled("5 - fountainWash(Clone)", "thumbsuptasque (1)").GetComponent().events.onActivate.AddListener(new UnityAction(GenericHelper.FindObjectEvenIfDisabled("Checkpoints", "Checkpoint (2)").GetComponent().ReactivateCheckpoint)); GenericHelper.FindObjectEvenIfDisabled("Checkpoints", "Checkpoint (2)").GetComponent().toActivate = GenericHelper.FindObjectEvenIfDisabled("5 - fountainWash(Clone)"); val2 = GenericHelper.FindObjectEvenIfDisabled("Fake Exit", "VacuumPickup"); val2.transform.parent = GenericHelper.FindObjectEvenIfDisabled("5 - fountainWash(Clone)", "enable/vacreplace").transform; val2.transform.localPosition = new Vector3(0f, 0f, 0f); val2.transform.rotation = Quaternion.identity; val2 = GenericHelper.FindObjectEvenIfDisabled("5 - fountainWash(Clone)", "Swatches - parent/swatchLadder"); val2.transform.parent = GenericHelper.FindObjectEvenIfDisabled("Interactives", "MainHall/MainHall Stuff/Sliding Ladder/Ladder_Collision/Ladder").transform; val2.transform.localPosition = new Vector3(0f, -0.8f, 21.35f); val2 = GenericHelper.FindObjectEvenIfDisabled("5 - fountainWash(Clone)", "Swatches - parent/swatchWalk"); val2.transform.parent = GenericHelper.FindObjectEvenIfDisabled("7-S_Unpaintable", "Interior/Library Chandelier").transform; val2.transform.localPosition = new Vector3(0f, -7.66f, 0f); GenericHelper.FindObjectEvenIfDisabled("7-S_Paintable").GetComponent().finalDoorOpener = GenericHelper.FindObjectEvenIfDisabled("5 - fountainWash(Clone)", "DoorOpenerReplacement"); GenericHelper.FindObjectEvenIfDisabled("Interactives", "MainHall/MainHall NonStuff/Altar (Blue Skull) Variant/Cube").GetComponent().activateOnSuccess[0] = GenericHelper.FindObjectEvenIfDisabled("5 - fountainWash(Clone)", "3 Exit (2)/Open").gameObject; break; } case "CreditsMuseum2": GenericHelper.FindObjectEvenIfDisabled("__Room_FrontDesk_1", "Marble stand/DevPlushie (Hakita)/").SetActive(false); Object.Instantiate(GenericHelper.FetchAsset("Pluey_0")); break; } try { if (num <= 3) { GameObject val7 = Object.Instantiate(GenericHelper.FetchAsset("A - OBJECT_FRIEND")); GenericHelper.FindObjectEvenIfDisabled(((Object)val7.transform).name, SceneHelper.CurrentScene).gameObject.SetActive(true); } } catch (Exception) { ((BaseUnityPlugin)this).Logger.LogInfo((object)"VERY INTERESTING"); } ((BaseUnityPlugin)this).Logger.LogWarning((object)("Importing: " + ((Object)val.gameObject).name)); } } [HarmonyPatch] public class GeneralDeltakillPatches { [HarmonyPatch(typeof(PlayerFootsteps), "PlayFootstepClip")] [HarmonyPostfix] public static void FootStepPatch(PlayerFootsteps __instance) { //IL_0051: Unknown result type (might be due to invalid IL or missing references) //IL_007f: Unknown result type (might be due to invalid IL or missing references) //IL_0084: Unknown result type (might be due to invalid IL or missing references) if (((Object)((Component)__instance).transform.GetChild(0)).name == "SoundwaveObject") { GameObject val = Object.Instantiate(((Component)((Component)__instance).transform.GetChild(0)).gameObject); val.transform.parent = null; val.transform.position = ((Component)__instance).transform.position; ((Component)val.transform.GetChild(0)).GetComponent().force = ((Component)val.transform.GetChild(0)).GetComponent().GetPlayerVelocity(false); val.SetActive(true); } } [HarmonyPatch(typeof(HudMessageReceiver), "ShowHudMessage")] [HarmonyPrefix] private static void ShowHudMessage(HudMessageReceiver __instance) { //IL_006c: Unknown result type (might be due to invalid IL or missing references) Animator val = default(Animator); if (((Component)__instance).gameObject.TryGetComponent(ref val) || __instance.message != null) { if (__instance.message[0] == '\u200b') { ((Behaviour)val).enabled = true; __instance.message.Remove(0, 1); } else { ((Behaviour)val).enabled = false; ((Graphic)((Component)((Component)val).transform.GetChild(0)).GetComponent()).color = Color.white; } } } [HarmonyPatch(typeof(HudMessageReceiver), "SendHudMessage")] [HarmonyPrefix] public static void Start(HudMessageReceiver __instance) { Animator val = default(Animator); if (!((Component)__instance).gameObject.TryGetComponent(ref val)) { Object obj = Plugin.PitBundle.LoadAsset("MessageHud", typeof(RuntimeAnimatorController)); RuntimeAnimatorController runtimeAnimatorController = (RuntimeAnimatorController)(object)((obj is RuntimeAnimatorController) ? obj : null); Animator val2 = ((Component)__instance).gameObject.AddComponent(); val2.runtimeAnimatorController = runtimeAnimatorController; } } } public class UltraFishingCompat : BaseUnityPlugin { public static bool IsCustomLevel = false; private static Plugin _instance; private static GameObject pref = null; private static Dictionary BundleDictionary = new Dictionary(); private static bool? _enabled; public static Plugin Instance => _instance; public static bool enabled { get { if (!_enabled.HasValue) { _enabled = Chainloader.PluginInfos.ContainsKey("com.earthlingOnFire.UltraFishing"); } return _enabled.Value; } } [MethodImpl(MethodImplOptions.NoInlining | MethodImplOptions.NoOptimization)] public static void RegisterExtraFish() { //IL_0016: Unknown result type (might be due to invalid IL or missing references) //IL_001c: Expected O, but got Unknown string text = Path.Combine(Plugin.modDir, "DATA_FISH.save"); FishCollection val = new FishCollection("DELTAKILL"); List list = Plugin.PitBundle.LoadAllAssets().ToList(); for (int i = 0; i < list.Count; i++) { val.RegisterFish(list[i], text, i); } GlobalFishManager.RegisterCollection(val); } } } namespace System.Runtime.CompilerServices { [AttributeUsage(AttributeTargets.Assembly, AllowMultiple = true)] internal sealed class IgnoresAccessChecksToAttribute : Attribute { internal IgnoresAccessChecksToAttribute(string assemblyName) { } } }