RUMBLE does not support other mod managers. If you want to use a manager, you must use the RUMBLE Mod Manager, a manager specifically designed for this game.
Decompiled source of PoseHitboxes v1.3.1
Mods/PoseHitboxes.dll
Decompiled 5 months agousing System.Diagnostics; using System.Reflection; using System.Runtime.CompilerServices; using System.Runtime.InteropServices; using System.Runtime.Versioning; using Il2CppRUMBLE.Poses; using Il2CppRUMBLE.Tutorial.MoveLearning; using MelonLoader; using PoseHitboxes; using RumbleModdingAPI; using UnityEngine; [assembly: CompilationRelaxations(8)] [assembly: RuntimeCompatibility(WrapNonExceptionThrows = true)] [assembly: Debuggable(DebuggableAttribute.DebuggingModes.Default | DebuggableAttribute.DebuggingModes.DisableOptimizations | DebuggableAttribute.DebuggingModes.IgnoreSymbolStoreSequencePoints | DebuggableAttribute.DebuggingModes.EnableEditAndContinue)] [assembly: MelonInfo(typeof(ClassPH), "PoseHitboxes", "1.3.1", "Marcopolo1613", null)] [assembly: MelonGame("Buckethead Entertainment", "RUMBLE")] [assembly: AssemblyTitle("PoseHitboxes")] [assembly: AssemblyDescription("")] [assembly: AssemblyConfiguration("")] [assembly: AssemblyCompany("")] [assembly: AssemblyProduct("PoseHitboxes")] [assembly: AssemblyCopyright("Copyright © 2024")] [assembly: AssemblyTrademark("")] [assembly: ComVisible(false)] [assembly: Guid("138ef4a5-245f-4c7b-a130-69645d5b6e5b")] [assembly: AssemblyFileVersion("1.0.0.0")] [assembly: TargetFramework(".NETFramework,Version=v4.7.2", FrameworkDisplayName = ".NET Framework 4.7.2")] [assembly: AssemblyVersion("1.0.0.0")] namespace PoseHitboxes; public class ClassPH : MelonMod { private string currentScene = "Loader"; private bool sceneChanged = false; private bool loaded = false; private PoseGhost poseGhost; private Material ghosty; private Material redy; private Material glassy; private string currentPoseName = ""; private int delayCycle = 0; private GameObject LHitbox; private GameObject RHitbox; private GameObject LRotate; private GameObject RRotate; private GameObject LRotateLimit; private GameObject RRotateLimit; private GameObject LHandRef; private GameObject RHandRef; private float deg2rad = 0.01745328f; private float LThresh = 0f; private float RThresh = 0f; private Color red8 = new Color(1f, 0f, 0f, 0.8f); private Color green8 = new Color(0f, 1f, 0f, 0.8f); private Color blue8 = new Color(0f, 0f, 1f, 0.8f); private Color black8 = new Color(0f, 0f, 0f, 0.8f); private Color red1 = new Color(1f, 0f, 0f, 0.1f); private Color green1 = new Color(0f, 1f, 0f, 0.1f); private Color blue1 = new Color(0f, 0f, 1f, 0.1f); private void BuildWireframeBox(GameObject WFParent, Material WFMat, Color WFColor) { //IL_0079: 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_00f6: Unknown result type (might be due to invalid IL or missing references) //IL_0122: Unknown result type (might be due to invalid IL or missing references) //IL_015d: Unknown result type (might be due to invalid IL or missing references) //IL_0186: Unknown result type (might be due to invalid IL or missing references) //IL_01c1: Unknown result type (might be due to invalid IL or missing references) GameObject[,] array = new GameObject[3, 4]; int[,] array2 = new int[4, 2] { { 1, 1 }, { 1, -1 }, { -1, 1 }, { -1, -1 } }; for (int i = 0; i < 3; i++) { for (int j = 0; j < 4; j++) { array[i, j] = GameObject.CreatePrimitive((PrimitiveType)3); array[i, j].transform.parent = WFParent.transform; array[i, j].GetComponent<Renderer>().material = WFMat; array[i, j].GetComponent<Renderer>().material.color = WFColor; switch (i) { case 0: array[i, j].transform.localScale = new Vector3(1f, 0.003f, 0.003f); array[i, j].transform.localPosition = new Vector3(0f, 0.5f * (float)array2[j, 0], 0.5f * (float)array2[j, 1]); break; case 1: array[i, j].transform.localScale = new Vector3(0.003f, 1f, 0.003f); array[i, j].transform.localPosition = new Vector3(0.5f * (float)array2[j, 0], 0f, 0.5f * (float)array2[j, 1]); break; case 2: array[i, j].transform.localScale = new Vector3(0.003f, 0.003f, 1f); array[i, j].transform.localPosition = new Vector3(0.5f * (float)array2[j, 0], 0.5f * (float)array2[j, 1], 0f); break; } } } } public override void OnSceneWasLoaded(int buildIndex, string sceneName) { currentScene = sceneName; sceneChanged = true; delayCycle = 5; loaded = false; } public override void OnFixedUpdate() { //IL_0e57: Unknown result type (might be due to invalid IL or missing references) //IL_0e78: Unknown result type (might be due to invalid IL or missing references) //IL_028b: Unknown result type (might be due to invalid IL or missing references) //IL_02a8: Unknown result type (might be due to invalid IL or missing references) //IL_02c2: Unknown result type (might be due to invalid IL or missing references) //IL_02dc: Unknown result type (might be due to invalid IL or missing references) //IL_0439: Unknown result type (might be due to invalid IL or missing references) //IL_045e: Unknown result type (might be due to invalid IL or missing references) //IL_04df: Unknown result type (might be due to invalid IL or missing references) //IL_0500: Unknown result type (might be due to invalid IL or missing references) //IL_0521: Unknown result type (might be due to invalid IL or missing references) //IL_0542: Unknown result type (might be due to invalid IL or missing references) //IL_05ca: Unknown result type (might be due to invalid IL or missing references) //IL_05e2: Unknown result type (might be due to invalid IL or missing references) //IL_05fa: Unknown result type (might be due to invalid IL or missing references) //IL_0612: Unknown result type (might be due to invalid IL or missing references) //IL_0633: Unknown result type (might be due to invalid IL or missing references) //IL_0647: Unknown result type (might be due to invalid IL or missing references) //IL_064c: Unknown result type (might be due to invalid IL or missing references) //IL_066d: Unknown result type (might be due to invalid IL or missing references) //IL_0681: Unknown result type (might be due to invalid IL or missing references) //IL_0686: Unknown result type (might be due to invalid IL or missing references) //IL_06d4: Unknown result type (might be due to invalid IL or missing references) //IL_06d9: Unknown result type (might be due to invalid IL or missing references) //IL_06dd: Unknown result type (might be due to invalid IL or missing references) //IL_06f2: Unknown result type (might be due to invalid IL or missing references) //IL_06f7: Unknown result type (might be due to invalid IL or missing references) //IL_0705: Unknown result type (might be due to invalid IL or missing references) //IL_0806: Unknown result type (might be due to invalid IL or missing references) //IL_0821: Unknown result type (might be due to invalid IL or missing references) //IL_0842: Unknown result type (might be due to invalid IL or missing references) //IL_0857: Unknown result type (might be due to invalid IL or missing references) //IL_086c: Unknown result type (might be due to invalid IL or missing references) //IL_0876: Unknown result type (might be due to invalid IL or missing references) //IL_0893: Unknown result type (might be due to invalid IL or missing references) //IL_08a8: Unknown result type (might be due to invalid IL or missing references) //IL_08bd: Unknown result type (might be due to invalid IL or missing references) //IL_08c7: Unknown result type (might be due to invalid IL or missing references) //IL_0727: Unknown result type (might be due to invalid IL or missing references) //IL_0742: Unknown result type (might be due to invalid IL or missing references) //IL_0763: Unknown result type (might be due to invalid IL or missing references) //IL_0778: Unknown result type (might be due to invalid IL or missing references) //IL_078d: Unknown result type (might be due to invalid IL or missing references) //IL_0797: Unknown result type (might be due to invalid IL or missing references) //IL_07b4: Unknown result type (might be due to invalid IL or missing references) //IL_07c9: Unknown result type (might be due to invalid IL or missing references) //IL_07de: Unknown result type (might be due to invalid IL or missing references) //IL_07e8: Unknown result type (might be due to invalid IL or missing references) //IL_09a8: Unknown result type (might be due to invalid IL or missing references) //IL_09e2: Unknown result type (might be due to invalid IL or missing references) //IL_0a5d: Unknown result type (might be due to invalid IL or missing references) //IL_0a78: Unknown result type (might be due to invalid IL or missing references) //IL_0a93: Unknown result type (might be due to invalid IL or missing references) //IL_0aae: 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_0af1: Unknown result type (might be due to invalid IL or missing references) //IL_0b13: Unknown result type (might be due to invalid IL or missing references) //IL_0b35: Unknown result type (might be due to invalid IL or missing references) //IL_0bbe: Unknown result type (might be due to invalid IL or missing references) //IL_0bd6: Unknown result type (might be due to invalid IL or missing references) //IL_0bee: Unknown result type (might be due to invalid IL or missing references) //IL_0c06: Unknown result type (might be due to invalid IL or missing references) //IL_0c27: Unknown result type (might be due to invalid IL or missing references) //IL_0c3b: Unknown result type (might be due to invalid IL or missing references) //IL_0c40: Unknown result type (might be due to invalid IL or missing references) //IL_0c61: Unknown result type (might be due to invalid IL or missing references) //IL_0c75: Unknown result type (might be due to invalid IL or missing references) //IL_0c7a: Unknown result type (might be due to invalid IL or missing references) //IL_0c9b: Unknown result type (might be due to invalid IL or missing references) //IL_0caf: Unknown result type (might be due to invalid IL or missing references) //IL_0cb4: Unknown result type (might be due to invalid IL or missing references) //IL_0cd5: Unknown result type (might be due to invalid IL or missing references) //IL_0ce9: Unknown result type (might be due to invalid IL or missing references) //IL_0cee: Unknown result type (might be due to invalid IL or missing references) //IL_0d04: Unknown result type (might be due to invalid IL or missing references) //IL_0d09: Unknown result type (might be due to invalid IL or missing references) //IL_0d0d: Unknown result type (might be due to invalid IL or missing references) //IL_0d22: Unknown result type (might be due to invalid IL or missing references) //IL_0d27: Unknown result type (might be due to invalid IL or missing references) //IL_0d35: Unknown result type (might be due to invalid IL or missing references) //IL_0dac: Unknown result type (might be due to invalid IL or missing references) //IL_0db1: Unknown result type (might be due to invalid IL or missing references) //IL_0db6: Unknown result type (might be due to invalid IL or missing references) //IL_0dd3: Unknown result type (might be due to invalid IL or missing references) //IL_0dd8: Unknown result type (might be due to invalid IL or missing references) //IL_0ddd: Unknown result type (might be due to invalid IL or missing references) //IL_0d5a: Unknown result type (might be due to invalid IL or missing references) //IL_0d5f: Unknown result type (might be due to invalid IL or missing references) //IL_0d64: Unknown result type (might be due to invalid IL or missing references) //IL_0d81: Unknown result type (might be due to invalid IL or missing references) //IL_0d86: Unknown result type (might be due to invalid IL or missing references) //IL_0d8b: Unknown result type (might be due to invalid IL or missing references) //IL_0dfb: Unknown result type (might be due to invalid IL or missing references) //IL_0e18: Unknown result type (might be due to invalid IL or missing references) if (currentScene != "Gym") { return; } if (sceneChanged) { if (delayCycle > 1) { delayCycle--; } else { if (!loaded) { try { poseGhost = MoveLearning.GetGameObject().GetComponentInChildren<PoseGhost>(); ghosty = ((Component)((Component)poseGhost).transform.GetChild(0).GetChild(1)).GetComponent<Renderer>().material; redy = ((Component)GymArena.GetGameObject().transform.GetChild(0)).GetComponent<Renderer>().material; LHandRef = GameObject.Find("Player Controller(Clone)/Visuals/Skelington/Bone_Pelvis/Bone_Spine_A/Bone_Chest/Bone_Shoulderblade_L/Bone_Shoulder_L/Bone_Lowerarm_L/Bone_HandAlpha_L"); RHandRef = GameObject.Find("Player Controller(Clone)/Visuals/Skelington/Bone_Pelvis/Bone_Spine_A/Bone_Chest/Bone_Shoulderblade_R/Bone_Shoulder_R/Bone_Lowerarm_R/Bone_HandAlpha_R"); loaded = true; currentPoseName = ""; } catch { return; } } sceneChanged = false; } } if (loaded) { try { if (currentPoseName != ((Object)poseGhost.showCurrentPoseData).name) { if (poseGhost.poseGhostVisuals.transform.GetChild(0).childCount > 0) { while (poseGhost.poseGhostVisuals.transform.GetChild(0).childCount > 0 || poseGhost.poseGhostVisuals.transform.GetChild(1).childCount > 0) { try { Object.DestroyImmediate((Object)(object)((Component)poseGhost.poseGhostVisuals.transform.GetChild(0).GetChild(0)).gameObject); Object.DestroyImmediate((Object)(object)((Component)poseGhost.poseGhostVisuals.transform.GetChild(1).GetChild(0)).gameObject); Object.DestroyImmediate((Object)(object)LRotate.gameObject); Object.DestroyImmediate((Object)(object)RRotate.gameObject); } catch { return; } } } GameObject val = GameObject.CreatePrimitive((PrimitiveType)3); GameObject val2 = GameObject.CreatePrimitive((PrimitiveType)3); val.transform.parent = ((Component)poseGhost).transform.GetChild(0).GetChild(0); val2.transform.parent = ((Component)poseGhost).transform.GetChild(0).GetChild(1); val.transform.position = poseGhost.leftHand.position; val2.transform.position = poseGhost.rightHand.position; BuildWireframeBox(val.gameObject, redy, black8); BuildWireframeBox(val2.gameObject, redy, black8); val.GetComponent<Renderer>().enabled = false; val2.GetComponent<Renderer>().enabled = false; ((Component)((Component)poseGhost).transform.GetChild(0).GetChild(0)).GetComponent<Renderer>().material = redy; ((Component)((Component)poseGhost).transform.GetChild(0).GetChild(1)).GetComponent<Renderer>().material = redy; currentPoseName = ((Object)poseGhost.showCurrentPoseData).name; LRotate = GameObject.CreatePrimitive((PrimitiveType)3); RRotate = GameObject.CreatePrimitive((PrimitiveType)3); GameObject val3 = GameObject.CreatePrimitive((PrimitiveType)3); GameObject val4 = GameObject.CreatePrimitive((PrimitiveType)3); GameObject val5 = GameObject.CreatePrimitive((PrimitiveType)3); GameObject val6 = GameObject.CreatePrimitive((PrimitiveType)3); LRotate.transform.parent = ((Component)poseGhost).transform.GetChild(0).GetChild(0); RRotate.transform.parent = ((Component)poseGhost).transform.GetChild(0).GetChild(1); LRotate.GetComponent<Renderer>().material = redy; RRotate.GetComponent<Renderer>().material = redy; LRotate.transform.localScale = new Vector3(0.003f, 0.003f, 0.003f); RRotate.transform.localScale = new Vector3(0.003f, 0.003f, 0.003f); val3.transform.parent = LRotate.transform; val4.transform.parent = LRotate.transform; val5.transform.parent = RRotate.transform; val6.transform.parent = RRotate.transform; val3.transform.localScale = new Vector3(1f, 25f, 1f); val4.transform.localScale = new Vector3(1f, 1f, 25f); val5.transform.localScale = new Vector3(1f, 25f, 1f); val6.transform.localScale = new Vector3(1f, 1f, 25f); val3.GetComponent<Renderer>().material.shader = Shader.Find("Universal Render Pipeline/Lit"); val4.GetComponent<Renderer>().material.shader = Shader.Find("Universal Render Pipeline/Lit"); val5.GetComponent<Renderer>().material.shader = Shader.Find("Universal Render Pipeline/Lit"); val6.GetComponent<Renderer>().material.shader = Shader.Find("Universal Render Pipeline/Lit"); val3.GetComponent<Renderer>().material.color = green8; val4.GetComponent<Renderer>().material.color = blue8; val5.GetComponent<Renderer>().material.color = green8; val6.GetComponent<Renderer>().material.color = blue8; LRotate.transform.position = poseGhost.leftHand.position + new Vector3(-1f, 0f, -1f); RRotate.transform.position = poseGhost.rightHand.position + new Vector3(-1f, 0f, -1f); LRotateLimit = GameObject.CreatePrimitive((PrimitiveType)0); RRotateLimit = GameObject.CreatePrimitive((PrimitiveType)0); GameObject val7 = GameObject.CreatePrimitive((PrimitiveType)2); GameObject val8 = GameObject.CreatePrimitive((PrimitiveType)2); GameObject val9 = GameObject.CreatePrimitive((PrimitiveType)2); GameObject val10 = GameObject.CreatePrimitive((PrimitiveType)2); Quaternion rotation = poseGhost.leftHand.rotation; float x = ((Quaternion)(ref rotation)).eulerAngles.x; Condition leftControllerCondition = poseGhost.showCurrentPoseData.leftControllerCondition; if (x == ((Quaternion)(ref leftControllerCondition.DesiredPose.rotation)).eulerAngles.x) { LThresh = poseGhost.showCurrentPoseData.LeftControllerCondition.RotationTreshold; RThresh = poseGhost.showCurrentPoseData.RightControllerCondition.RotationTreshold; val.transform.localScale = new Vector3(poseGhost.showCurrentPoseData.leftControllerCondition.PositionTreshold, poseGhost.showCurrentPoseData.leftControllerCondition.PositionTreshold, poseGhost.showCurrentPoseData.leftControllerCondition.PositionTreshold); val2.transform.localScale = new Vector3(poseGhost.showCurrentPoseData.RightControllerCondition.PositionTreshold, poseGhost.showCurrentPoseData.RightControllerCondition.PositionTreshold, poseGhost.showCurrentPoseData.RightControllerCondition.PositionTreshold); } else { RThresh = poseGhost.showCurrentPoseData.LeftControllerCondition.RotationTreshold; LThresh = poseGhost.showCurrentPoseData.RightControllerCondition.RotationTreshold; val2.transform.localScale = new Vector3(poseGhost.showCurrentPoseData.leftControllerCondition.PositionTreshold, poseGhost.showCurrentPoseData.leftControllerCondition.PositionTreshold, poseGhost.showCurrentPoseData.leftControllerCondition.PositionTreshold); val.transform.localScale = new Vector3(poseGhost.showCurrentPoseData.RightControllerCondition.PositionTreshold, poseGhost.showCurrentPoseData.RightControllerCondition.PositionTreshold, poseGhost.showCurrentPoseData.RightControllerCondition.PositionTreshold); } float num = (1f - LThresh) * 3.14159f; float num2 = (1f - RThresh) * 3.14159f; LRotateLimit.transform.parent = ((Component)poseGhost).transform.GetChild(0).GetChild(0); RRotateLimit.transform.parent = ((Component)poseGhost).transform.GetChild(0).GetChild(1); LRotateLimit.GetComponent<Renderer>().material = redy; RRotateLimit.GetComponent<Renderer>().material = redy; LRotateLimit.transform.localScale = new Vector3(0.03f * LThresh, 0.03f * LThresh, 0.03f * LThresh); RRotateLimit.transform.localScale = new Vector3(0.03f * RThresh, 0.03f * RThresh, 0.03f * RThresh); val7.transform.parent = LRotateLimit.transform; val8.transform.parent = LRotateLimit.transform; val9.transform.parent = RRotateLimit.transform; val10.transform.parent = RRotateLimit.transform; val7.transform.localScale = new Vector3(num, 0.6f, num); val8.transform.localScale = new Vector3(num, 0.6f, num); val9.transform.localScale = new Vector3(num2, 0.6f, num2); val10.transform.localScale = new Vector3(num2, 0.6f, num2); val7.transform.Rotate(new Vector3(0f, 90f, 0f), (Space)1); val8.transform.Rotate(new Vector3(90f, 0f, 0f), (Space)1); val9.transform.Rotate(new Vector3(0f, 90f, 0f), (Space)1); val10.transform.Rotate(new Vector3(90f, 0f, 0f), (Space)1); val7.GetComponent<Renderer>().material.shader = Shader.Find("Universal Render Pipeline/Lit"); val8.GetComponent<Renderer>().material.shader = Shader.Find("Universal Render Pipeline/Lit"); val9.GetComponent<Renderer>().material.shader = Shader.Find("Universal Render Pipeline/Lit"); val10.GetComponent<Renderer>().material.shader = Shader.Find("Universal Render Pipeline/Lit"); val7.GetComponent<Renderer>().material.color = green1; val8.GetComponent<Renderer>().material.color = blue1; val9.GetComponent<Renderer>().material.color = green1; val10.GetComponent<Renderer>().material.color = blue1; LRotateLimit.transform.position = poseGhost.leftHand.position + new Vector3(-0.3f, 0.15f, -0.3f); RRotateLimit.transform.position = poseGhost.rightHand.position + new Vector3(-0.3f, 0.15f, -0.3f); LRotate.transform.position = poseGhost.leftHand.position + new Vector3(-0.3f, 0.15f, -0.3f); RRotate.transform.position = poseGhost.rightHand.position + new Vector3(-0.3f, 0.15f, -0.3f); rotation = poseGhost.leftHand.rotation; float x2 = ((Quaternion)(ref rotation)).eulerAngles.x; leftControllerCondition = poseGhost.showCurrentPoseData.leftControllerCondition; if (x2 == ((Quaternion)(ref leftControllerCondition.DesiredPose.rotation)).eulerAngles.x) { val.transform.localRotation = poseGhost.showCurrentPoseData.leftControllerCondition.DesiredPose.rotation; val2.transform.localRotation = poseGhost.showCurrentPoseData.rightControllerCondition.DesiredPose.rotation; } else { val2.transform.localRotation = poseGhost.showCurrentPoseData.leftControllerCondition.DesiredPose.rotation; val.transform.localRotation = poseGhost.showCurrentPoseData.rightControllerCondition.DesiredPose.rotation; } LRotateLimit.transform.rotation = val.transform.rotation; RRotateLimit.transform.rotation = val2.transform.rotation; } } catch { return; } } try { if ((Object)(object)LRotate != (Object)null) { LRotate.transform.rotation = LHandRef.GetComponent<Transform>().rotation; RRotate.transform.rotation = RHandRef.GetComponent<Transform>().rotation; } } catch { } } }