using System; using System.Collections.Generic; using System.Diagnostics; using System.Linq; using System.Reflection; using System.Runtime.CompilerServices; using System.Runtime.InteropServices; using System.Runtime.Versioning; using BepInEx; using BlackholeChaos.Scripts; using HarmonyLib; using TMPro; using UnityEngine; [assembly: CompilationRelaxations(8)] [assembly: RuntimeCompatibility(WrapNonExceptionThrows = true)] [assembly: Debuggable(DebuggableAttribute.DebuggingModes.Default | DebuggableAttribute.DebuggingModes.DisableOptimizations | DebuggableAttribute.DebuggingModes.IgnoreSymbolStoreSequencePoints | DebuggableAttribute.DebuggingModes.EnableEditAndContinue)] [assembly: AssemblyTitle("RepoCaosMod")] [assembly: AssemblyDescription("")] [assembly: AssemblyConfiguration("")] [assembly: AssemblyCompany("ReviOS 11 24.12")] [assembly: AssemblyProduct("RepoCaosMod")] [assembly: AssemblyCopyright("Copyright © ReviOS 11 24.12 2025")] [assembly: AssemblyTrademark("")] [assembly: ComVisible(false)] [assembly: Guid("b62091cf-1bc7-4d0e-be7b-011b6b98bf30")] [assembly: AssemblyFileVersion("1.0.0.0")] [assembly: TargetFramework(".NETFramework,Version=v4.8", FrameworkDisplayName = ".NET Framework 4.8")] [assembly: AssemblyVersion("1.0.0.0")] namespace BlackholeChaos { [BepInPlugin("duviz.ultrakill.blackholechaos", "BLACKHOLE CHAOS", "0.0.69")] public class Plugin : BaseUnityPlugin { public static Blackhole blackHole; public void Awake() { //IL_0017: Unknown result type (might be due to invalid IL or missing references) //IL_001d: Expected O, but got Unknown ((BaseUnityPlugin)this).Logger.LogInfo((object)"Hello, the Instagram community!"); Harmony val = new Harmony("duviz.ultrakill.blackholechaos"); val.PatchAll(); ((Object)((Component)this).gameObject).hideFlags = (HideFlags)4; } public void Update() { //IL_004b: Unknown result type (might be due to invalid IL or missing references) if ((Object)(object)blackHole == (Object)null && SceneHelper.CurrentScene != "Main Menu" && SceneHelper.PendingScene == null && (Object)(object)MonoSingleton.Instance != (Object)null && (Object)(object)MonoSingleton.Instance != (Object)null) { blackHole = new GameObject("Blackhole").AddComponent(); } } } } namespace BlackholeChaos.Scripts { public class Blackhole : MonoBehaviour { public float range = 0f; public float force = 0f; public int difficulty = 1; public MeshRenderer meshRendeder; public MeshRenderer meshRendeder2; public MeshRenderer meshRendeder3; private bool inHole = false; private bool white = false; private List touchedRigidbodies = new List(); private float A = 0f; private void Awake() { //IL_0007: Unknown result type (might be due to invalid IL or missing references) //IL_001b: Unknown result type (might be due to invalid IL or missing references) //IL_0020: Unknown result type (might be due to invalid IL or missing references) //IL_003b: Unknown result type (might be due to invalid IL or missing references) //IL_004f: Unknown result type (might be due to invalid IL or missing references) //IL_0054: Unknown result type (might be due to invalid IL or missing references) ((Component)this).transform.position = Vector3.zero + new Vector3(0f, 25f, 0f); ((Component)this).transform.position = ((Component)MonoSingleton.Instance).transform.position + new Vector3(0f, 25f, 0f); difficulty = MonoSingleton.Instance.GetInt("difficulty", 0); SetupVisual(); } private void SetupVisual() { //IL_00dd: Unknown result type (might be due to invalid IL or missing references) //IL_00e4: Expected O, but got Unknown //IL_00e6: 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_0187: Unknown result type (might be due to invalid IL or missing references) //IL_018e: Expected O, but got Unknown //IL_01a8: Unknown result type (might be due to invalid IL or missing references) //IL_01e2: Unknown result type (might be due to invalid IL or missing references) //IL_01e9: Expected O, but got Unknown //IL_01eb: Unknown result type (might be due to invalid IL or missing references) //IL_028c: Unknown result type (might be due to invalid IL or missing references) //IL_0293: Expected O, but got Unknown //IL_02ad: Unknown result type (might be due to invalid IL or missing references) //IL_02e7: Unknown result type (might be due to invalid IL or missing references) //IL_02ee: Expected O, but got Unknown //IL_02f0: Unknown result type (might be due to invalid IL or missing references) //IL_03ca: Unknown result type (might be due to invalid IL or missing references) //IL_03d1: Expected O, but got Unknown //IL_03eb: Unknown result type (might be due to invalid IL or missing references) //IL_0420: Unknown result type (might be due to invalid IL or missing references) //IL_0427: Expected O, but got Unknown //IL_0429: Unknown result type (might be due to invalid IL or missing references) if (DateTime.Now.Hour == 0) { white = true; MonoSingleton.Instance.SendHudMessage("Go to fucking sleep.", "", "", 0, false, false, true); } Color color = default(Color); ((Color)(ref color))..ctor(0f, 0f, 0f, 0f); if (white) { ((Color)(ref color))..ctor(1f, 1f, 1f, 0f); } MeshFilter val = ((Component)this).gameObject.AddComponent(); MeshRenderer val2 = ((Component)this).gameObject.AddComponent(); GameObject val3 = GameObject.CreatePrimitive((PrimitiveType)0); MeshFilter component = val3.GetComponent(); if ((Object)(object)component != (Object)null) { val.mesh = component.sharedMesh; } Object.Destroy((Object)(object)val3); ((Renderer)val2).enabled = false; Material val4 = new Material(Shader.Find("Standard")); val4.color = color; val4.SetFloat("_Mode", 3f); val4.SetInt("_SrcBlend", 5); val4.SetInt("_DstBlend", 10); val4.SetInt("_ZWrite", 0); val4.DisableKeyword("_ALPHATEST_ON"); val4.EnableKeyword("_ALPHABLEND_ON"); val4.DisableKeyword("_ALPHAPREMULTIPLY_ON"); val4.renderQueue = 3000; ((Renderer)val2).material = val4; ((Component)this).transform.localScale = Vector3.one * 2f; GameObject val5 = new GameObject("BlackholeShell"); val5.transform.parent = ((Component)this).transform; val5.transform.localPosition = Vector3.zero; MeshFilter val6 = val5.AddComponent(); MeshRenderer val7 = val5.AddComponent(); val6.mesh = Object.Instantiate(val.mesh); Material val8 = new Material(Shader.Find("Standard")); val8.color = color; val8.SetFloat("_Mode", 3f); val8.SetInt("_SrcBlend", 5); val8.SetInt("_DstBlend", 10); val8.SetInt("_ZWrite", 0); val8.DisableKeyword("_ALPHATEST_ON"); val8.EnableKeyword("_ALPHABLEND_ON"); val8.DisableKeyword("_ALPHAPREMULTIPLY_ON"); val8.renderQueue = 3000; val8.shader = MonoSingleton.Instance.masterShader; ((Renderer)val7).material = val8; meshRendeder = val7; val5 = new GameObject("BlackholeShell"); val5.transform.parent = ((Component)this).transform; val5.transform.localPosition = Vector3.zero; val6 = val5.AddComponent(); val7 = val5.AddComponent(); val6.mesh = Object.Instantiate(val.mesh); val8 = new Material(Shader.Find("Standard")); val8.color = color; val8.SetFloat("_Mode", 3f); val8.SetInt("_SrcBlend", 5); val8.SetInt("_DstBlend", 10); val8.SetInt("_ZWrite", 0); val8.DisableKeyword("_ALPHATEST_ON"); val8.EnableKeyword("_ALPHABLEND_ON"); val8.DisableKeyword("_ALPHAPREMULTIPLY_ON"); val8.renderQueue = 3000; val8.shader = MonoSingleton.Instance.masterShader; ((Renderer)val7).material = val8; Mesh val9 = Object.Instantiate(val6.mesh); val9.triangles = val9.triangles.Reverse().ToArray(); val9.RecalculateNormals(); val6.mesh = val9; meshRendeder3 = val7; val5 = new GameObject("BlackholeShell"); val5.transform.parent = ((Component)this).transform; val5.transform.localPosition = Vector3.zero; val6 = val5.AddComponent(); val7 = val5.AddComponent(); val6.mesh = val.mesh; val8 = new Material(Shader.Find("Standard")); val8.color = color; val8.SetFloat("_Mode", 3f); val8.SetInt("_SrcBlend", 5); val8.SetInt("_DstBlend", 10); val8.SetInt("_ZWrite", 0); val8.DisableKeyword("_ALPHATEST_ON"); val8.EnableKeyword("_ALPHABLEND_ON"); val8.DisableKeyword("_ALPHAPREMULTIPLY_ON"); val8.renderQueue = 3000; val8.shader = Shader.Find("Legacy Shaders/Diffuse"); if (white) { val8.shader = Shader.Find("Unlit/Texture"); } ((Renderer)val7).material = val8; meshRendeder2 = val7; } public void Update() { //IL_0016: 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_003c: Unknown result type (might be due to invalid IL or missing references) ((Component)meshRendeder3).transform.position = ((Component)Camera.main).transform.position; ((Renderer)meshRendeder3).enabled = Vector3.Distance(((Component)MonoSingleton.Instance).transform.position, ((Component)this).transform.position) <= range; } public void FixedUpdate() { //IL_0087: Unknown result type (might be due to invalid IL or missing references) //IL_0092: Unknown result type (might be due to invalid IL or missing references) //IL_00b7: 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_00e7: Unknown result type (might be due to invalid IL or missing references) //IL_00f1: Unknown result type (might be due to invalid IL or missing references) //IL_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_0132: Unknown result type (might be due to invalid IL or missing references) //IL_013d: Unknown result type (might be due to invalid IL or missing references) //IL_01aa: Unknown result type (might be due to invalid IL or missing references) //IL_039d: Unknown result type (might be due to invalid IL or missing references) //IL_03a9: Unknown result type (might be due to invalid IL or missing references) //IL_022c: Unknown result type (might be due to invalid IL or missing references) //IL_0233: Unknown result type (might be due to invalid IL or missing references) //IL_0238: Unknown result type (might be due to invalid IL or missing references) //IL_023d: Unknown result type (might be due to invalid IL or missing references) //IL_0241: Unknown result type (might be due to invalid IL or missing references) //IL_0246: Unknown result type (might be due to invalid IL or missing references) //IL_024e: Unknown result type (might be due to invalid IL or missing references) //IL_0255: Unknown result type (might be due to invalid IL or missing references) //IL_037c: Unknown result type (might be due to invalid IL or missing references) //IL_0380: 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_02dd: Unknown result type (might be due to invalid IL or missing references) //IL_02e2: Unknown result type (might be due to invalid IL or missing references) //IL_02ec: Unknown result type (might be due to invalid IL or missing references) //IL_02f1: Unknown result type (might be due to invalid IL or missing references) float num = ((float)difficulty + 1f) / 4f; force = force * (1f + Time.fixedDeltaTime / 2000f) + Time.fixedDeltaTime * 500f * num; range = range * (1f + Time.fixedDeltaTime / 1000f) + Time.fixedDeltaTime * 7f * num; ((Component)meshRendeder).transform.localScale = new Vector3(1f, 1f, 1f) * range; ((Component)meshRendeder3).transform.localScale = new Vector3(1f, 1f, 1f); ((Component)meshRendeder2).transform.localScale = new Vector3(1f, 1f, 1f) * range / 5f; if (Vector3.Distance(((Component)MonoSingleton.Instance).transform.position, ((Component)this).transform.position) < range) { if (Vector3.Distance(((Component)MonoSingleton.Instance).transform.position, ((Component)this).transform.position) < range / 5f) { MonoSingleton.Instance.GetHurt(1000, false, 1f, false, false, 0.35f, false); MonoSingleton.Instance.currentCheckPoint = null; MonoSingleton.Instance.DisableCheckpoints(); } inHole = true; } else { inHole = false; } Collider[] array = Physics.OverlapSphere(((Component)this).transform.position, range); int num2 = 0; Collider[] array2 = array; foreach (Collider val in array2) { Rigidbody attachedRigidbody = val.attachedRigidbody; EnemyIdentifier component = ((Component)val).GetComponent(); if ((Object)(object)attachedRigidbody != (Object)null && (Object)(object)attachedRigidbody != (Object)(object)((Component)this).GetComponent()) { num2++; if (num2 > 25 && (Object)(object)component == (Object)null) { continue; } Vector3 val2 = ((Component)this).transform.position - attachedRigidbody.position; Vector3 normalized = ((Vector3)(ref val2)).normalized; float num3 = Vector3.Distance(((Component)this).transform.position, attachedRigidbody.position); float num4 = (float)((!white) ? 1 : (-1)) * force / Mathf.Max(num3, 1f); if (num3 < range / 5f) { Transform transform = ((Component)attachedRigidbody).transform; transform.localScale += 10f * new Vector3(Random.Range(0f, 0.1f), Random.Range(0f, 0.2f), Random.Range(0f, 0.1f)) * Time.fixedDeltaTime; if (!touchedRigidbodies.Contains(attachedRigidbody)) { Fat(); touchedRigidbodies.Add(attachedRigidbody); } if (num3 <= range / 10f && (Object)(object)component == (Object)null && (Object)(object)((Component)MonoSingleton.Instance).gameObject != (Object)(object)((Component)attachedRigidbody).gameObject) { Fat(); Object.Destroy((Object)(object)((Component)attachedRigidbody).gameObject); continue; } } attachedRigidbody.AddForce(normalized * num4, (ForceMode)0); } if ((Object)(object)component != (Object)null && Vector3.Distance(((Component)this).transform.position, ((Component)val).transform.position) < range / 5f) { Fat(); DamageEnemy(component); } } } private void Fat() { range += 3f; force += 400f; } public void OnGUI() { //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_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_00bb: 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_00ec: Unknown result type (might be due to invalid IL or missing references) if (inHole) { float num = Vector3.Distance(((Component)MonoSingleton.Instance).transform.position, ((Component)this).transform.position); float num2 = range; float num3 = Mathf.Clamp01(5f - num / num2) * 0.6f + 0.1f; A -= (A - num3) / 200f; } else { A -= (A - 0f) / 20f; } Color color = GUI.color; float num4 = (white ? 1f : 0f); GUI.color = new Color(num4, num4, num4, A / 2f); GUI.DrawTexture(new Rect(0f, 0f, (float)Screen.width, (float)Screen.height), (Texture)(object)Texture2D.whiteTexture); GUI.color = color; } private void DamageEnemy(EnemyIdentifier eid) { //IL_0008: Unknown result type (might be due to invalid IL or missing references) //IL_000d: Unknown result type (might be due to invalid IL or missing references) eid.DeliverDamage(((Component)this).gameObject, Vector3.zero, Vector3.zero, 1000f, false, 0f, (GameObject)null, false, false); } } } namespace BlackholeChaos.Patches { [HarmonyPatch] public class RankPatch { [HarmonyPostfix] [HarmonyPatch(typeof(FinalRank), "SetInfo")] private static void RankExtra(FinalRank __instance) { if ((Object)(object)Plugin.blackHole != (Object)null) { TMP_Text extraInfo = __instance.extraInfo; extraInfo.text += "- BLACKHOLE\n"; __instance.AddPoints(1000); } } } }