The BepInEx console will not appear when launching like it does for other games on Thunderstore (you can turn it back on in your BepInEx.cfg file). If your PEAK crashes on startup, add -dx12 to your launch parameters.
Decompiled source of PEAKChaos v1.0.1
PEAKChaos.dll
Decompiled a week agousing System; using System.Diagnostics; using System.Reflection; using System.Runtime.CompilerServices; using System.Runtime.Versioning; using System.Security; using System.Security.Permissions; using System.Threading.Tasks; using BepInEx; using BepInEx.Configuration; using BepInEx.Logging; using ChaosMod.Patches; using ChaosMod.UITexts; using ChaosMod.Utils; using HarmonyLib; using Microsoft.CodeAnalysis; using Photon.Pun; using TMPro; using UnityEngine; using UnityEngine.InputSystem; using UnityEngine.InputSystem.Controls; using UnityEngine.UI; using Zorro.Core; [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: AssemblyCompany("com.github.MysticFlameYT.ChaosMod")] [assembly: AssemblyConfiguration("Debug")] [assembly: AssemblyFileVersion("0.1.0.0")] [assembly: AssemblyInformationalVersion("0.1.0")] [assembly: AssemblyProduct("com.github.MysticFlameYT.ChaosMod")] [assembly: AssemblyTitle("ChaosMod")] [assembly: SecurityPermission(SecurityAction.RequestMinimum, SkipVerification = true)] [assembly: AssemblyVersion("0.1.0.0")] [module: UnverifiableCode] [module: RefSafetyRules(11)] namespace Microsoft.CodeAnalysis { [CompilerGenerated] [Microsoft.CodeAnalysis.Embedded] internal sealed class EmbeddedAttribute : Attribute { } } namespace System.Runtime.CompilerServices { [CompilerGenerated] [Microsoft.CodeAnalysis.Embedded] [AttributeUsage(AttributeTargets.Class | AttributeTargets.Property | AttributeTargets.Field | AttributeTargets.Event | AttributeTargets.Parameter | AttributeTargets.ReturnValue | AttributeTargets.GenericParameter, AllowMultiple = false, Inherited = false)] internal sealed class NullableAttribute : Attribute { public readonly byte[] NullableFlags; public NullableAttribute(byte P_0) { NullableFlags = new byte[1] { P_0 }; } public NullableAttribute(byte[] P_0) { NullableFlags = P_0; } } [CompilerGenerated] [Microsoft.CodeAnalysis.Embedded] [AttributeUsage(AttributeTargets.Class | AttributeTargets.Struct | AttributeTargets.Method | AttributeTargets.Interface | AttributeTargets.Delegate, AllowMultiple = false, Inherited = false)] internal sealed class NullableContextAttribute : Attribute { public readonly byte Flag; public NullableContextAttribute(byte P_0) { Flag = P_0; } } [CompilerGenerated] [Microsoft.CodeAnalysis.Embedded] [AttributeUsage(AttributeTargets.Module, AllowMultiple = false, Inherited = false)] internal sealed class RefSafetyRulesAttribute : Attribute { public readonly int Version; public RefSafetyRulesAttribute(int P_0) { Version = P_0; } } } [HarmonyPatch(typeof(Character))] internal class BugfixSpawnPatch { public static bool HasRunThisCycle; [HarmonyPatch("Update")] [HarmonyPostfix] private static void TickPatch(Character __instance) { //IL_0016: 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) if (HasRunThisCycle) { Character localCharacter = Character.localCharacter; PhotonNetwork.Instantiate("BugfixOnYou", Vector3.zero, Quaternion.identity, (byte)0, (object[])null).GetComponent<PhotonView>().RPC("AttachBug", (RpcTarget)0, new object[1] { ((MonoBehaviourPun)localCharacter).photonView.ViewID }); } HasRunThisCycle = false; } } [HarmonyPatch(typeof(Character))] internal class DayChanger { public static bool HasRunThisCycle; [HarmonyPatch(typeof(DayNightManager), "Update")] [HarmonyPrefix] private static void DayPatch(DayNightManager __instance) { if (HasRunThisCycle) { __instance.timeOfDay = 36f; __instance.UpdateCycle(); } HasRunThisCycle = false; } } [HarmonyPatch(typeof(Character))] internal class Drain { public static bool HasRunThisCycle; [HarmonyPatch("Update")] [HarmonyPostfix] private static void StamPatch() { if (HasRunThisCycle) { Character localCharacter = Character.localCharacter; ApplyDrain(localCharacter); } HasRunThisCycle = false; } private static async void ApplyDrain(Character c) { for (int i = 0; i < 50; i++) { c.AddStamina(-0.05f); await Task.Delay(100); } } } [HarmonyPatch(typeof(CharacterItems))] internal class DropAll { public static bool HasRunThisCycle; [HarmonyPatch("Update")] [HarmonyPostfix] private static void DropPatch(CharacterItems __instance) { if (HasRunThisCycle) { CharacterItems items = Character.localCharacter.refs.items; MethodInfo method = typeof(CharacterItems).GetMethod("DropAllItems", BindingFlags.Instance | BindingFlags.NonPublic, null, new Type[1] { typeof(bool) }, null); method.Invoke(items, new object[1] { true }); } HasRunThisCycle = false; } } [HarmonyPatch(typeof(Character))] internal class FakeLose { public static bool HasRunThisCycle; [HarmonyPatch("Update")] [HarmonyPostfix] private static void FakeWinPatch(Character __instance) { if (HasRunThisCycle) { GUIManager val = Object.FindFirstObjectByType<GUIManager>(); val.endgame.Lose(); TimeForFake(val); } HasRunThisCycle = false; } private static async void TimeForFake(GUIManager gui) { await Task.Delay(3000); ((Component)gui.endgame.loseGroup).gameObject.SetActive(false); } } [HarmonyPatch(typeof(Character))] internal class FakeWin { public static bool HasRunThisCycle; [HarmonyPatch("Update")] [HarmonyPostfix] private static void FakeWinPatch(Character __instance) { if (HasRunThisCycle) { GUIManager val = Object.FindFirstObjectByType<GUIManager>(); val.endgame.Win(); TimeForFake(val); } HasRunThisCycle = false; } private static async void TimeForFake(GUIManager gui) { await Task.Delay(3000); ((Component)gui.endgame.winGroup).gameObject.SetActive(false); } } [HarmonyPatch(typeof(Character))] internal class Faster { public static float moveSpeedMod = 1f; public static float climbSpeedMod = 1f; public static bool HasRunThisCycle; [HarmonyPatch("Update")] [HarmonyPostfix] private static void FasterBoiPatch() { if (HasRunThisCycle) { Character localCharacter = Character.localCharacter; CharacterMovement movement = localCharacter.refs.movement; movement.movementModifier += moveSpeedMod; CharacterClimbing climbing = localCharacter.refs.climbing; climbing.climbSpeedMod += climbSpeedMod; CharacterRopeHandling ropeHandling = localCharacter.refs.ropeHandling; ropeHandling.climbSpeedMod += climbSpeedMod; CharacterVineClimbing vineClimbing = localCharacter.refs.vineClimbing; vineClimbing.climbSpeedMod += climbSpeedMod; GUIManager.instance.StartEnergyDrink(); GUIManager.instance.StartSugarRush(); Stam(localCharacter); StopEffect(localCharacter); } HasRunThisCycle = false; } private static async void StopEffect(Character character) { await Task.Delay(8000); CharacterMovement movement = character.refs.movement; movement.movementModifier -= moveSpeedMod; CharacterClimbing climbing = character.refs.climbing; climbing.climbSpeedMod -= climbSpeedMod; CharacterRopeHandling ropeHandling = character.refs.ropeHandling; ropeHandling.climbSpeedMod -= climbSpeedMod; CharacterVineClimbing vineClimbing = character.refs.vineClimbing; vineClimbing.climbSpeedMod -= climbSpeedMod; GUIManager.instance.EndEnergyDrink(); GUIManager.instance.EndSugarRush(); } private static async void Stam(Character character) { for (int i = 0; i < 80; i++) { character.AddStamina(1f); await Task.Delay(100); } } } [HarmonyPatch(typeof(Character))] internal class FullStam { public static bool HasRunThisCycle; [HarmonyPatch("Update")] [HarmonyPostfix] private static void StamPatch(Character __instance) { if (HasRunThisCycle) { Character localCharacter = Character.localCharacter; localCharacter.AddStamina(1f); } HasRunThisCycle = false; } } [HarmonyPatch(typeof(Character))] internal class LowGrav { public static bool HasRunThisCycle; [HarmonyPatch("Update")] [HarmonyPostfix] private static void GravPatch() { if (HasRunThisCycle) { Character localCharacter = Character.localCharacter; LowGravityEffect(localCharacter); } HasRunThisCycle = false; } private static async void LowGravityEffect(Character player) { float duration = 17f; float strength = 40f; MethodInfo forceMethod = typeof(Character).GetMethod("AddForce", BindingFlags.Instance | BindingFlags.NonPublic, null, new Type[3] { typeof(Vector3), typeof(float), typeof(float) }, null); for (int i = 0; (float)i < duration; i++) { player.RPCA_Fall(0.1f); Vector3 antiGravity = new Vector3(0f, strength, 0f); forceMethod.Invoke(player, new object[3] { antiGravity, 3f, 3f }); strength += 10f; await Task.Delay(100); } } } [HarmonyPatch(typeof(Character))] internal class Morale { public static bool HasRunThisCycle; [HarmonyPatch("Update")] [HarmonyPostfix] private static void MoralePatch(Character __instance) { if (HasRunThisCycle) { Character localCharacter = Character.localCharacter; localCharacter.MoraleBoost(0.3f, 1); } HasRunThisCycle = false; } } [HarmonyPatch(typeof(Character))] internal class NightChanger { public static bool HasRunThisCycle; [HarmonyPatch(typeof(DayNightManager), "Update")] [HarmonyPrefix] private static void NightPatch(DayNightManager __instance) { if (HasRunThisCycle) { __instance.timeOfDay = 24f; __instance.UpdateCycle(); } HasRunThisCycle = false; } } [HarmonyPatch(typeof(Character))] internal class RandomItem { public static bool HasRunThisCycle; [HarmonyPatch("Update")] [HarmonyPostfix] private static void ItemSpawnerPatch(Character __instance) { //IL_0017: Unknown result type (might be due to invalid IL or missing references) //IL_001d: Expected O, but got Unknown if (HasRunThisCycle) { int num = Random.Range(0, 115); ushort key = (ushort)num; Item value = new Item(); SingletonAsset<ItemDatabase>.Instance.itemLookup.TryGetValue(key, out value); string name = ((Object)value).name; CharacterItems items = Character.localCharacter.refs.items; MethodInfo method = typeof(CharacterItems).GetMethod("SpawnItemInHand", BindingFlags.Instance | BindingFlags.NonPublic); method.Invoke(items, new object[1] { name }); } HasRunThisCycle = false; } } [HarmonyPatch(typeof(Character))] internal class SpawnDynamite { public static bool HasRunThisCycle; [HarmonyPatch("Update")] [HarmonyPostfix] private static void DynamitePatch(Character __instance) { //IL_0017: Unknown result type (might be due to invalid IL or missing references) //IL_001c: Unknown result type (might be due to invalid IL or missing references) //IL_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_002e: Unknown result type (might be due to invalid IL or missing references) //IL_002f: Unknown result type (might be due to invalid IL or missing references) if (HasRunThisCycle) { Camera main = Camera.main; Vector3 position = ((Component)main).transform.position; Quaternion rotation = ((Component)main).transform.rotation; PhotonNetwork.Instantiate("0_Items/Dynamite", position, rotation, (byte)0, (object[])null); } HasRunThisCycle = false; } } [HarmonyPatch(typeof(Character))] internal class SpawnTornado { public static bool HasRunThisCycle; [HarmonyPatch("Update")] [HarmonyPostfix] private static void SpawnerPatch(Character __instance) { //IL_0020: Unknown result type (might be due to invalid IL or missing references) //IL_002b: Unknown result type (might be due to invalid IL or missing references) //IL_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_003f: Unknown result type (might be due to invalid IL or missing references) //IL_0046: Unknown result type (might be due to invalid IL or missing references) //IL_004b: Unknown result type (might be due to invalid IL or missing references) //IL_0052: Unknown result type (might be due to invalid IL or missing references) //IL_0053: Unknown result type (might be due to invalid IL or missing references) if (HasRunThisCycle) { Character localCharacter = Character.localCharacter; Camera main = Camera.main; Vector3 val = ((Component)main).transform.position - ((Component)main).transform.forward * 10f; Quaternion rotation = ((Component)main).transform.rotation; GameObject val2 = PhotonNetwork.Instantiate("Tornado", val, rotation, (byte)0, (object[])null); PhotonView component = val2.GetComponent<PhotonView>(); component.RPC("RPCA_InitTornado", (RpcTarget)0, new object[1] { ((MonoBehaviourPun)localCharacter).photonView.ViewID }); KillTornadoDelayed(val2); } HasRunThisCycle = false; } private static async void KillTornadoDelayed(GameObject tornadoGO) { await Task.Delay(3000); Tornado tornado = tornadoGO.GetComponent<Tornado>(); typeof(Tornado).GetMethod("RPCA_TornadoDie", BindingFlags.Instance | BindingFlags.NonPublic)?.Invoke(tornado, null); } } namespace BepInEx { [AttributeUsage(AttributeTargets.Class, Inherited = false, AllowMultiple = false)] [Conditional("CodeGeneration")] internal sealed class BepInAutoPluginAttribute : Attribute { public BepInAutoPluginAttribute(string? id = null, string? name = null, string? version = null) { } } } namespace BepInEx.Preloader.Core.Patching { [AttributeUsage(AttributeTargets.Class, Inherited = false, AllowMultiple = false)] [Conditional("CodeGeneration")] internal sealed class PatcherAutoPluginAttribute : Attribute { public PatcherAutoPluginAttribute(string? id = null, string? name = null, string? version = null) { } } } namespace ChaosMod { [BepInPlugin("com.github.MysticFlameYT.ChaosMod", "ChaosMod", "0.1.0")] public class Plugin : BaseUnityPlugin { private readonly Harmony _harmony = new Harmony("com.github.MysticFlameYT.ChaosMod"); private bool modStarted = false; public const string Id = "com.github.MysticFlameYT.ChaosMod"; internal static ManualLogSource Log { get; private set; } public static string Name => "ChaosMod"; public static string Version => "0.1.0"; private void Awake() { Log = ((BaseUnityPlugin)this).Logger; Log.LogInfo((object)("Plugin " + Name + " is loaded!")); ZConfig.AllConfigs(((BaseUnityPlugin)this).Config); } private void Update() { if (!modStarted && ((ButtonControl)Keyboard.current.digit0Key).wasPressedThisFrame) { _harmony.PatchAll(); RepeatingLogic(); UIText.HasRunThisCycle = true; UIText.num = -1; modStarted = true; } } private async void RepeatingLogic() { float time = ZConfig.timer.Value; Debug.Log((object)"STARTED"); while (true) { int num = Random.Range(0, 20); await Task.Delay((int)(time * 1000f)); switch (num) { case 0: StatusEffect.HasRunThisCycle = true; UIText.HasRunThisCycle = true; UIText.num = 0; break; case 1: ClearStatus.HasRunThisCycle = true; UIText.HasRunThisCycle = true; UIText.num = 1; break; case 2: TieBalloon.HasRunThisCycle = true; UIText.HasRunThisCycle = true; UIText.num = 2; break; case 3: BugfixSpawnPatch.HasRunThisCycle = true; UIText.HasRunThisCycle = true; UIText.num = 3; break; case 4: PassOut.HasRunThisCycle = true; UIText.HasRunThisCycle = true; UIText.num = 4; break; case 5: Morale.HasRunThisCycle = true; UIText.HasRunThisCycle = true; UIText.num = 5; break; case 6: RandomItem.HasRunThisCycle = true; UIText.HasRunThisCycle = true; UIText.num = 6; break; case 7: SpawnTornado.HasRunThisCycle = true; UIText.HasRunThisCycle = true; UIText.num = 7; break; case 8: Push.HasRunThisCycle = true; UIText.HasRunThisCycle = true; UIText.num = 8; break; case 9: FullStam.HasRunThisCycle = true; UIText.HasRunThisCycle = true; UIText.num = 9; break; case 10: DropAll.HasRunThisCycle = true; UIText.HasRunThisCycle = true; UIText.num = 10; break; case 11: SpawnDynamite.HasRunThisCycle = true; UIText.HasRunThisCycle = true; UIText.num = 11; break; case 12: Slip.HasRunThisCycle = true; UIText.HasRunThisCycle = true; UIText.num = 12; break; case 13: LowGrav.HasRunThisCycle = true; UIText.HasRunThisCycle = true; UIText.num = 13; break; case 14: NightChanger.HasRunThisCycle = true; UIText.HasRunThisCycle = true; UIText.num = 14; break; case 15: DayChanger.HasRunThisCycle = true; UIText.HasRunThisCycle = true; UIText.num = 15; break; case 16: FakeWin.HasRunThisCycle = true; UIText.HasRunThisCycle = true; UIText.num = 16; break; case 17: FakeLose.HasRunThisCycle = true; UIText.HasRunThisCycle = true; UIText.num = 17; break; case 18: Faster.HasRunThisCycle = true; UIText.HasRunThisCycle = true; UIText.num = 18; break; case 19: Drain.HasRunThisCycle = true; UIText.HasRunThisCycle = true; UIText.num = 19; break; } } } } } namespace ChaosMod.Utils { public class ZConfig { public static ConfigEntry<float> timer; public static void AllConfigs(ConfigFile config) { timer = config.Bind<float>("General", "Float num", 10f, "How long between random effects.(In Seconds)"); } } } namespace ChaosMod.UITexts { [HarmonyPatch] internal class UIText { public static GameObject player; private static GameObject parent; private static float time = ZConfig.timer.Value; public static bool HasRunThisCycle; public static int num; private static MethodBase TargetMethod() { return typeof(GUIManager).GetMethod("LateUpdate", BindingFlags.Instance | BindingFlags.NonPublic); } [HarmonyPostfix] private static void Text() { //IL_0034: Unknown result type (might be due to invalid IL or missing references) //IL_003e: Expected O, but got Unknown if ((Object)(object)parent == (Object)null) { parent = GameObject.Find("GAME/GUIManager/Canvas_HUD"); } if ((Object)(object)player == (Object)null) { player = new GameObject("text obj"); player.transform.SetParent(parent.transform, false); player.AddComponent<TextMeshProUGUI>(); } } private static MethodBase TargetMethod2() { return typeof(MainCamera).GetMethod("Update", BindingFlags.Instance | BindingFlags.NonPublic); } [HarmonyPostfix] private static void UpPatch(MainCamera __instance) { //IL_009b: Unknown result type (might be due to invalid IL or missing references) //IL_00bf: Unknown result type (might be due to invalid IL or missing references) //IL_00e3: Unknown result type (might be due to invalid IL or missing references) //IL_0107: Unknown result type (might be due to invalid IL or missing references) //IL_012b: Unknown result type (might be due to invalid IL or missing references) //IL_014f: Unknown result type (might be due to invalid IL or missing references) //IL_0173: 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_01bb: Unknown result type (might be due to invalid IL or missing references) //IL_01df: Unknown result type (might be due to invalid IL or missing references) //IL_0203: Unknown result type (might be due to invalid IL or missing references) //IL_0227: Unknown result type (might be due to invalid IL or missing references) //IL_024b: Unknown result type (might be due to invalid IL or missing references) //IL_026f: Unknown result type (might be due to invalid IL or missing references) //IL_0293: 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_02db: Unknown result type (might be due to invalid IL or missing references) //IL_02ff: Unknown result type (might be due to invalid IL or missing references) //IL_0320: Unknown result type (might be due to invalid IL or missing references) //IL_0341: Unknown result type (might be due to invalid IL or missing references) //IL_0362: Unknown result type (might be due to invalid IL or missing references) if (HasRunThisCycle) { TextMeshProUGUI component = player.GetComponent<TextMeshProUGUI>(); ((TMP_Text)component).alignment = (TextAlignmentOptions)514; switch (num) { case -1: ((TMP_Text)component).text = "Chaos Mod has started, get ready! :D"; ((Graphic)component).color = Color.blue; ForceOutline(component); break; case 0: ((TMP_Text)component).SetText("Random Effect Applied"); ((Graphic)component).color = Color.red; ForceOutline(component); break; case 1: ((TMP_Text)component).SetText("All Statuses Cleared"); ((Graphic)component).color = Color.green; ForceOutline(component); break; case 2: ((TMP_Text)component).SetText("New Balloon :D"); ((Graphic)component).color = Color.green; ForceOutline(component); break; case 3: ((TMP_Text)component).SetText("Lil guy"); ((Graphic)component).color = Color.red; ForceOutline(component); break; case 4: ((TMP_Text)component).SetText("Sleepy Time"); ((Graphic)component).color = Color.red; ForceOutline(component); break; case 5: ((TMP_Text)component).SetText("Morale Boost"); ((Graphic)component).color = Color.green; ForceOutline(component); break; case 6: ((TMP_Text)component).SetText("Spawned Random Item"); ((Graphic)component).color = Color.white; ForceOutline(component); break; case 7: ((TMP_Text)component).SetText("Tornado"); ((Graphic)component).color = Color.red; ForceOutline(component); break; case 8: ((TMP_Text)component).SetText("Who did that?"); ((Graphic)component).color = Color.white; ForceOutline(component); break; case 9: ((TMP_Text)component).SetText("Full Stamina"); ((Graphic)component).color = Color.green; ForceOutline(component); break; case 10: ((TMP_Text)component).SetText("No Items For You"); ((Graphic)component).color = Color.white; ForceOutline(component); break; case 11: ((TMP_Text)component).SetText("I'd Run"); ((Graphic)component).color = Color.red; ForceOutline(component); break; case 12: ((TMP_Text)component).SetText("Floor's a bit wet"); ((Graphic)component).color = Color.white; ForceOutline(component); break; case 13: ((TMP_Text)component).SetText("Gravity's rebooting..."); ((Graphic)component).color = Color.white; ForceOutline(component); break; case 14: ((TMP_Text)component).SetText("Night Time"); ((Graphic)component).color = Color.white; ForceOutline(component); break; case 15: ((TMP_Text)component).SetText("Day Time"); ((Graphic)component).color = Color.white; ForceOutline(component); break; case 16: ((TMP_Text)component).SetText("Guess Not..."); ((Graphic)component).color = Color.black; ForceOutline(component); break; case 17: ((TMP_Text)component).SetText("Got ya"); ((Graphic)component).color = Color.black; ForceOutline(component); break; case 18: ((TMP_Text)component).SetText("Get Going"); ((Graphic)component).color = Color.green; ForceOutline(component); break; case 19: ((TMP_Text)component).SetText("Not Feelin So Hot?"); ((Graphic)component).color = Color.red; ForceOutline(component); break; } } HasRunThisCycle = false; } private static void ForceOutline(TextMeshProUGUI tmp) { //IL_001b: 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_0051: Unknown result type (might be due to invalid IL or missing references) //IL_006c: Unknown result type (might be due to invalid IL or missing references) //IL_0087: 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_00b9: Unknown result type (might be due to invalid IL or missing references) //IL_00bf: Expected O, but got Unknown //IL_00de: Unknown result type (might be due to invalid IL or missing references) //IL_00e9: Unknown result type (might be due to invalid IL or missing references) //IL_00f4: 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_0119: Unknown result type (might be due to invalid IL or missing references) //IL_011e: Unknown result type (might be due to invalid IL or missing references) //IL_0136: Unknown result type (might be due to invalid IL or missing references) //IL_0148: Unknown result type (might be due to invalid IL or missing references) //IL_014d: Unknown result type (might be due to invalid IL or missing references) //IL_0165: Unknown result type (might be due to invalid IL or missing references) ((TMP_Text)tmp).enableAutoSizing = false; ((TMP_Text)tmp).fontSize = 40f; ((Transform)((TMP_Text)tmp).rectTransform).localScale = Vector3.one; ((TMP_Text)tmp).rectTransform.sizeDelta = new Vector2(300f, 20f); ((TMP_Text)tmp).rectTransform.anchoredPosition = new Vector2(-225f, -150f); ((TMP_Text)tmp).rectTransform.pivot = new Vector2(0.5f, 0.5f); ((TMP_Text)tmp).rectTransform.anchorMin = new Vector2(1f, 1f); ((TMP_Text)tmp).rectTransform.anchorMax = new Vector2(1f, 1f); Shader val = Shader.Find("TextMeshPro/Distance Field"); Material val2 = new Material(val); val2.CopyPropertiesFromMaterial(((TMP_Text)tmp).fontSharedMaterial); ((TMP_Text)tmp).fontSharedMaterial = val2; ((TMP_Text)tmp).fontMaterial = val2; ((Graphic)tmp).color = new Color(((Graphic)tmp).color.r, ((Graphic)tmp).color.g, ((Graphic)tmp).color.b, 1f); Color color = ((TMP_Text)tmp).fontMaterial.GetColor("_FaceColor"); color.a = 1f; ((TMP_Text)tmp).fontMaterial.SetColor("_FaceColor", color); Color color2 = ((TMP_Text)tmp).fontMaterial.GetColor(ShaderUtilities.ID_OutlineColor); color2.a = 1f; ((TMP_Text)tmp).fontMaterial.SetColor(ShaderUtilities.ID_OutlineColor, color2); ((TMP_Text)tmp).fontMaterial.SetFloat(ShaderUtilities.ID_OutlineWidth, 0.2f); } } } namespace ChaosMod.Patches { [HarmonyPatch(typeof(CharacterAfflictions))] internal class ClearStatus { public static bool HasRunThisCycle; [HarmonyPatch("Update")] [HarmonyPostfix] private static void CuredPatch(CharacterAfflictions __instance) { if (HasRunThisCycle) { CharacterAfflictions afflictions = Character.localCharacter.refs.afflictions; afflictions.ClearAllStatus(false); afflictions.RemoveAllThorns(); } HasRunThisCycle = false; } } [HarmonyPatch(typeof(Character))] internal class PassOut { public static bool HasRunThisCycle; [HarmonyPatch("Update")] [HarmonyPostfix] private static void PassOutPatch(Character __instance) { if (HasRunThisCycle) { Character localCharacter = Character.localCharacter; localCharacter.PassOutInstantly(); } HasRunThisCycle = false; } } [HarmonyPatch(typeof(Character))] internal class Push { public static bool HasRunThisCycle; [HarmonyPatch("Update")] [HarmonyPostfix] private static void PushPatch(Character __instance) { //IL_000e: Unknown result type (might be due to invalid IL or missing references) //IL_0013: Unknown result type (might be due to invalid IL or missing references) //IL_0022: Unknown result type (might be due to invalid IL or missing references) //IL_002c: Unknown result type (might be due to invalid IL or missing references) //IL_0031: Unknown result type (might be due to invalid IL or missing references) //IL_0099: Unknown result type (might be due to invalid IL or missing references) if (HasRunThisCycle) { Vector3 onUnitSphere = Random.onUnitSphere; onUnitSphere.y = 0f; Vector3 val = ((Vector3)(ref onUnitSphere)).normalized * 10f; float num = 150f; float num2 = 300f; Character localCharacter = Character.localCharacter; MethodInfo method = typeof(Character).GetMethod("AddForce", BindingFlags.Instance | BindingFlags.NonPublic, null, new Type[3] { typeof(Vector3), typeof(float), typeof(float) }, null); method.Invoke(localCharacter, new object[3] { val, num, num2 }); } HasRunThisCycle = false; } } [HarmonyPatch(typeof(Character))] internal class Slip { public static bool HasRunThisCycle; [HarmonyPatch("Update")] [HarmonyPostfix] private static void SlipPatch(Character __instance) { if (HasRunThisCycle) { Character localCharacter = Character.localCharacter; TriggerSlip(localCharacter); } HasRunThisCycle = false; } private static void TriggerSlip(Character player) { //IL_0086: Unknown result type (might be due to invalid IL or missing references) //IL_008b: Unknown result type (might be due to invalid IL or missing references) //IL_0090: Unknown result type (might be due to invalid IL or missing references) //IL_009a: 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_00b7: Unknown result type (might be due to invalid IL or missing references) //IL_00c1: Unknown result type (might be due to invalid IL or missing references) //IL_00ce: Unknown result type (might be due to invalid IL or missing references) //IL_00d8: Unknown result type (might be due to invalid IL or missing references) //IL_00eb: 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) Rigidbody rig = player.refs.ragdoll.partDict[(BodypartType)16].Rig; Rigidbody rig2 = player.refs.ragdoll.partDict[(BodypartType)13].Rig; Rigidbody rig3 = player.refs.ragdoll.partDict[(BodypartType)0].Rig; Rigidbody rig4 = player.refs.ragdoll.partDict[(BodypartType)4].Rig; player.RPCA_Fall(2f); rig.AddForce((player.data.lookDirection_Flat + Vector3.up) * 200f, (ForceMode)1); rig2.AddForce((player.data.lookDirection_Flat + Vector3.up) * 200f, (ForceMode)1); rig3.AddForce(Vector3.up * 1500f, (ForceMode)1); rig4.AddForce(player.data.lookDirection_Flat * -300f, (ForceMode)1); } } [HarmonyPatch(typeof(CharacterAfflictions))] internal class StatusEffect { public static bool HasRunThisCycle; [HarmonyPatch("Update")] [HarmonyPostfix] private static void StatusPatch(CharacterAfflictions __instance) { if (HasRunThisCycle) { int num = Random.Range(0, 7); CharacterAfflictions afflictions = Character.localCharacter.refs.afflictions; switch (num) { case 0: afflictions.SetStatus((STATUSTYPE)0, 0.15f); break; case 1: afflictions.SetStatus((STATUSTYPE)2, 0.25f); break; case 2: afflictions.SetStatus((STATUSTYPE)6, 0.25f); break; case 3: afflictions.SetStatus((STATUSTYPE)3, 0.25f); break; case 4: afflictions.SetStatus((STATUSTYPE)8, 0.25f); break; case 5: afflictions.SetStatus((STATUSTYPE)5, 0.05f); break; case 6: afflictions.SetStatus((STATUSTYPE)9, 0.25f); break; } } HasRunThisCycle = false; } } [HarmonyPatch(typeof(Character))] internal class TieBalloon { public static bool HasRunThisCycle; [HarmonyPatch("Update")] [HarmonyPostfix] private static void BallonPatch(CharacterBalloons __instance) { if (HasRunThisCycle) { CharacterBalloons val = Character.localCharacter?.refs?.balloons; Material[] balloonColors = val.balloonColors; int num = Random.Range(0, balloonColors.Length); val.TieNewBalloon(num); } HasRunThisCycle = false; } } } namespace System.Runtime.CompilerServices { [AttributeUsage(AttributeTargets.Assembly, AllowMultiple = true)] internal sealed class IgnoresAccessChecksToAttribute : Attribute { public IgnoresAccessChecksToAttribute(string assemblyName) { } } }