Please disclose if any significant portion of your mod was created using AI tools by adding the 'AI Generated' category. Failing to do so may result in the mod being removed from Thunderstore.
Decompiled source of BetterJumpPads v1.2.1
BetterJumpPads.dll
Decompiled 2 years agousing System; using System.Diagnostics; using System.Reflection; using System.Runtime.CompilerServices; using System.Runtime.Versioning; using System.Security; using System.Security.Permissions; using BepInEx; using BepInEx.Logging; using IL.RoR2; using Microsoft.CodeAnalysis; using Mono.Cecil.Cil; using MonoMod.Cil; using On.RoR2; using R2API; using RoR2; using UnityEngine; using UnityEngine.Networking; using UnityEngine.SceneManagement; [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.0", FrameworkDisplayName = ".NET Standard 2.0")] [assembly: AssemblyCompany("BetterJumpPads")] [assembly: AssemblyConfiguration("Debug")] [assembly: AssemblyFileVersion("1.0.0.0")] [assembly: AssemblyInformationalVersion("1.0.0")] [assembly: AssemblyProduct("BetterJumpPads")] [assembly: AssemblyTitle("BetterJumpPads")] [assembly: SecurityPermission(SecurityAction.RequestMinimum, SkipVerification = true)] [assembly: AssemblyVersion("1.0.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.Module, AllowMultiple = false, Inherited = false)] internal sealed class RefSafetyRulesAttribute : Attribute { public readonly int Version; public RefSafetyRulesAttribute(int P_0) { Version = P_0; } } } namespace BetterJumpPads { [BepInPlugin("HIFU.BetterJumpPads", "BetterJumpPads", "1.2.0")] public class Main : BaseUnityPlugin { public const string PluginGUID = "HIFU.BetterJumpPads"; public const string PluginAuthor = "HIFU"; public const string PluginName = "BetterJumpPads"; public const string PluginVersion = "1.2.0"; public ManualLogSource BJPLogger; public static AssetBundle betterraincoaticon; public static BuffDef fallDamageRemoval; public void Awake() { //IL_0065: Unknown result type (might be due to invalid IL or missing references) //IL_006f: Expected O, but got Unknown //IL_0077: Unknown result type (might be due to invalid IL or missing references) //IL_0081: Expected O, but got Unknown //IL_0089: Unknown result type (might be due to invalid IL or missing references) //IL_0093: Expected O, but got Unknown //IL_009b: Unknown result type (might be due to invalid IL or missing references) //IL_00a5: Expected O, but got Unknown //IL_00ad: Unknown result type (might be due to invalid IL or missing references) //IL_00b7: Expected O, but got Unknown BJPLogger = ((BaseUnityPlugin)this).Logger; fallDamageRemoval = ScriptableObject.CreateInstance<BuffDef>(); fallDamageRemoval.isDebuff = false; fallDamageRemoval.isHidden = true; fallDamageRemoval.isCooldown = false; fallDamageRemoval.canStack = false; ((Object)fallDamageRemoval).name = "Fall Damage Removal"; ContentAddition.AddBuffDef(fallDamageRemoval); JumpVolume.OnTriggerStay += new hook_OnTriggerStay(JumpVolume_OnTriggerStay1); JumpVolume.OnTriggerStay += new Manipulator(JumpVolume_OnTriggerStay); SceneDirector.Start += new hook_Start(SceneDirector_Start); HealthComponent.TakeDamage += new hook_TakeDamage(HealthComponent_TakeDamage); CharacterMotor.OnLanded += new hook_OnLanded(CharacterMotor_OnLanded); } private void CharacterMotor_OnLanded(orig_OnLanded orig, CharacterMotor self) { orig.Invoke(self); CharacterBody body = self.body; if (Object.op_Implicit((Object)(object)body) && NetworkServer.active && body.HasBuff(fallDamageRemoval)) { body.RemoveBuff(fallDamageRemoval); } } private void HealthComponent_TakeDamage(orig_TakeDamage orig, HealthComponent self, DamageInfo damageInfo) { //IL_0002: 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) //IL_000e: Invalid comparison between Unknown and I4 if ((damageInfo.damageType & 0x200000) > 0 && Object.op_Implicit((Object)(object)self.body) && self.body.HasBuff(fallDamageRemoval)) { damageInfo.damage = 0f; } orig.Invoke(self, damageInfo); } private void JumpVolume_OnTriggerStay1(orig_OnTriggerStay orig, JumpVolume self, Collider other) { orig.Invoke(self, other); CharacterBody component = ((Component)other).GetComponent<CharacterBody>(); if (NetworkServer.active && Object.op_Implicit((Object)(object)component) && !component.HasBuff(fallDamageRemoval)) { component.AddBuff(fallDamageRemoval); } } private void SceneDirector_Start(orig_Start orig, SceneDirector self) { //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) Scene activeScene = SceneManager.GetActiveScene(); ApplyJumpPadChanges(((Scene)(ref activeScene)).name); orig.Invoke(self); } private void ApplyJumpPadChanges(string sceneName) { //IL_0691: Unknown result type (might be due to invalid IL or missing references) //IL_0696: Unknown result type (might be due to invalid IL or missing references) //IL_06c1: Unknown result type (might be due to invalid IL or missing references) //IL_06c6: Unknown result type (might be due to invalid IL or missing references) //IL_05a4: Unknown result type (might be due to invalid IL or missing references) //IL_05a9: Unknown result type (might be due to invalid IL or missing references) //IL_02d3: Unknown result type (might be due to invalid IL or missing references) //IL_02d8: 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_0325: Unknown result type (might be due to invalid IL or missing references) //IL_034f: Unknown result type (might be due to invalid IL or missing references) //IL_0354: Unknown result type (might be due to invalid IL or missing references) //IL_037e: Unknown result type (might be due to invalid IL or missing references) //IL_0383: Unknown result type (might be due to invalid IL or missing references) //IL_03bf: Unknown result type (might be due to invalid IL or missing references) //IL_03c4: Unknown result type (might be due to invalid IL or missing references) //IL_0400: Unknown result type (might be due to invalid IL or missing references) //IL_0405: Unknown result type (might be due to invalid IL or missing references) //IL_028f: Unknown result type (might be due to invalid IL or missing references) //IL_0294: Unknown result type (might be due to invalid IL or missing references) //IL_0214: Unknown result type (might be due to invalid IL or missing references) //IL_0219: Unknown result type (might be due to invalid IL or missing references) //IL_0249: 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_079a: Unknown result type (might be due to invalid IL or missing references) //IL_079f: Unknown result type (might be due to invalid IL or missing references) //IL_07ca: Unknown result type (might be due to invalid IL or missing references) //IL_07cf: Unknown result type (might be due to invalid IL or missing references) //IL_07fa: Unknown result type (might be due to invalid IL or missing references) //IL_07ff: Unknown result type (might be due to invalid IL or missing references) //IL_082a: Unknown result type (might be due to invalid IL or missing references) //IL_082f: 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_087b: Unknown result type (might be due to invalid IL or missing references) //IL_08ac: Unknown result type (might be due to invalid IL or missing references) //IL_08b1: Unknown result type (might be due to invalid IL or missing references) //IL_08e2: Unknown result type (might be due to invalid IL or missing references) //IL_08e7: Unknown result type (might be due to invalid IL or missing references) //IL_0918: Unknown result type (might be due to invalid IL or missing references) //IL_091d: Unknown result type (might be due to invalid IL or missing references) //IL_094e: Unknown result type (might be due to invalid IL or missing references) //IL_0953: Unknown result type (might be due to invalid IL or missing references) //IL_0984: Unknown result type (might be due to invalid IL or missing references) //IL_0989: Unknown result type (might be due to invalid IL or missing references) //IL_09ba: Unknown result type (might be due to invalid IL or missing references) //IL_09bf: Unknown result type (might be due to invalid IL or missing references) //IL_0718: Unknown result type (might be due to invalid IL or missing references) //IL_071d: Unknown result type (might be due to invalid IL or missing references) //IL_0754: Unknown result type (might be due to invalid IL or missing references) //IL_0759: Unknown result type (might be due to invalid IL or missing references) //IL_04bc: Unknown result type (might be due to invalid IL or missing references) //IL_04c1: Unknown result type (might be due to invalid IL or missing references) //IL_04ec: Unknown result type (might be due to invalid IL or missing references) //IL_04f1: Unknown result type (might be due to invalid IL or missing references) //IL_0532: Unknown result type (might be due to invalid IL or missing references) //IL_0537: Unknown result type (might be due to invalid IL or missing references) //IL_0562: Unknown result type (might be due to invalid IL or missing references) //IL_0567: Unknown result type (might be due to invalid IL or missing references) //IL_0446: Unknown result type (might be due to invalid IL or missing references) //IL_044b: Unknown result type (might be due to invalid IL or missing references) //IL_0476: Unknown result type (might be due to invalid IL or missing references) //IL_047b: Unknown result type (might be due to invalid IL or missing references) //IL_05fc: Unknown result type (might be due to invalid IL or missing references) //IL_0601: Unknown result type (might be due to invalid IL or missing references) //IL_064b: Unknown result type (might be due to invalid IL or missing references) //IL_0650: Unknown result type (might be due to invalid IL or missing references) if (sceneName == null) { return; } switch (sceneName.Length) { case 11: switch (sceneName[2]) { case 'c': if (sceneName == "ancientloft") { JumpVolume component9 = ((Component)GameObject.Find("AncientLoft_Geyser (1)").transform.GetChild(0)).GetComponent<JumpVolume>(); component9.jumpVelocity = new Vector3(-40.8797f, 59.0024f, 6.0314f); JumpVolume component10 = ((Component)GameObject.Find("AncientLoft_Geyser").transform.GetChild(0)).GetComponent<JumpVolume>(); component10.jumpVelocity = new Vector3(-50.912f, 27.0073f, -50.3548f); } break; case 'o': if (sceneName == "snowyforest") { Transform transform5 = GameObject.Find("HOLDER: Geysers").transform; JumpVolume component11 = ((Component)transform5.GetChild(0).GetChild(2)).GetComponent<JumpVolume>(); component11.jumpVelocity = new Vector3(-9.5988f, 47.1578f, -9.6674f); JumpVolume component12 = ((Component)transform5.GetChild(2).GetChild(2)).GetComponent<JumpVolume>(); component12.jumpVelocity = new Vector3(-25.7586f, 45.8282f, -1.8743f); } break; case 'l': if (sceneName == "sulfurpools") { Transform transform4 = GameObject.Find("HOLDER: Geysers").transform; JumpVolume component7 = ((Component)transform4.GetChild(5).GetChild(2)).GetComponent<JumpVolume>(); component7.jumpVelocity = new Vector3(-15.6221f, 30.876f, 45.2898f); JumpVolume component8 = ((Component)transform4.GetChild(3).GetChild(2)).GetComponent<JumpVolume>(); component8.jumpVelocity = new Vector3(5.9332f, 40.0777f, -33.4413f); } break; } break; case 10: switch (sceneName[0]) { case 'f': if (sceneName == "frozenwall") { JumpVolume component5 = ((Component)GameObject.Find("PERMUTATION: Human Fan").transform.GetChild(2).GetChild(0).GetChild(0)).GetComponent<JumpVolume>(); component5.jumpVelocity = new Vector3(2.2689f, 46.7217f, 13.1013f); } break; case 'r': if (sceneName == "rootjungle") { Transform transform2 = GameObject.Find("HOLDER: Jump Pads").transform; Transform transform3 = GameObject.Find("HOLDER: Randomization").transform; JumpVolume component3 = ((Component)transform2.GetChild(1).GetChild(0)).GetComponent<JumpVolume>(); component3.jumpVelocity = new Vector3(-30f, 67f, 0.9657f); JumpVolume component4 = ((Component)transform3.GetChild(2).GetChild(0).GetChild(2) .GetChild(0)).GetComponent<JumpVolume>(); component4.jumpVelocity = new Vector3(30.5242f, 57.02f, -45.692f); } break; } break; case 9: switch (sceneName[0]) { case 's': if (sceneName == "skymeadow") { Transform transform10 = GameObject.Find("HOLDER: Jump Pads").transform; JumpVolume component28 = ((Component)transform10.GetChild(0).GetChild(2)).GetComponent<JumpVolume>(); component28.jumpVelocity = new Vector3(10.8445f, 70.7327f, 50.4467f); GameObject val = GameObject.Find("HOLDER: Randomization"); JumpVolume component29 = ((Component)val.transform.GetChild(4).GetChild(0).GetChild(3) .GetChild(2)).GetComponent<JumpVolume>(); component29.jumpVelocity = new Vector3(-140.6104f, 20.6631f, -33.7556f); JumpVolume component30 = ((Component)transform10.GetChild(4).GetChild(2)).GetComponent<JumpVolume>(); component30.jumpVelocity = new Vector3(-45.5706f, 20.4607f, 115.4046f); JumpVolume component31 = ((Component)transform10.GetChild(3).GetChild(2)).GetComponent<JumpVolume>(); component31.jumpVelocity = new Vector3(-48.1144f, 43.5799f, 6.7542f); JumpVolume component32 = ((Component)val.transform.GetChild(0).GetChild(2).GetChild(0) .GetChild(2)).GetComponent<JumpVolume>(); component32.jumpVelocity = new Vector3(-65f, 66f, -4.60673f); JumpVolume component33 = ((Component)val.transform.GetChild(0).GetChild(1).GetChild(2) .GetChild(2)).GetComponent<JumpVolume>(); component33.jumpVelocity = new Vector3(-35f, 65f, -12f); } break; case 'v': if (sceneName == "voidstage") { Transform transform9 = GameObject.Find("HOLDER: Geysers").transform; JumpVolume component21 = ((Component)transform9.GetChild(2).GetChild(4).GetChild(0)).GetComponent<JumpVolume>(); component21.jumpVelocity = new Vector3(-11.56456f, 35f, 60f); JumpVolume component22 = ((Component)transform9.GetChild(0).GetChild(4).GetChild(0)).GetComponent<JumpVolume>(); component22.jumpVelocity = new Vector3(11.98292f, 15f, -60f); JumpVolume component23 = ((Component)transform9.GetChild(3).GetChild(4).GetChild(0)).GetComponent<JumpVolume>(); component23.jumpVelocity = new Vector3(70f, 22f, 32.141f); JumpVolume component24 = ((Component)transform9.GetChild(1).GetChild(4).GetChild(0)).GetComponent<JumpVolume>(); component24.jumpVelocity = new Vector3(-3.829206f, 85f, -50f); JumpVolume component25 = ((Component)transform9.GetChild(6).GetChild(4).GetChild(0)).GetComponent<JumpVolume>(); component25.jumpVelocity = new Vector3(-12.05236f, 55f, -45f); JumpVolume component26 = ((Component)transform9.GetChild(5).GetChild(4).GetChild(0)).GetComponent<JumpVolume>(); component26.jumpVelocity = new Vector3(-30f, 35f, -60f); JumpVolume component27 = ((Component)transform9.GetChild(4).GetChild(4).GetChild(0)).GetComponent<JumpVolume>(); component27.jumpVelocity = new Vector3(19.65478f, 25f, 75f); } break; } break; case 13: switch (sceneName[0]) { case 's': if (sceneName == "shipgraveyard") { Transform transform7 = GameObject.Find("HOLDER: Jump Pads").transform; JumpVolume component17 = ((Component)transform7.GetChild(0).GetChild(2)).GetComponent<JumpVolume>(); component17.jumpVelocity = new Vector3(-11.1291f, 55.3482f, -40.5845f); JumpVolume component18 = ((Component)transform7.GetChild(1).GetChild(2)).GetComponent<JumpVolume>(); component18.jumpVelocity = new Vector3(2.9656f, 45.0318f, 13.4763f); } break; case 'w': if (sceneName == "wispgraveyard") { Transform transform8 = GameObject.Find("ENTIRE SCENE HOLDER").transform; JumpVolume component19 = ((Component)transform8.GetChild(4).GetChild(2).GetChild(0) .GetChild(0) .GetChild(2)).GetComponent<JumpVolume>(); component19.jumpVelocity = new Vector3(65.3068f, 46.1934f, -2.5635f); JumpVolume component20 = ((Component)transform8.GetChild(4).GetChild(3).GetChild(4) .GetChild(12) .GetChild(0) .GetChild(6) .GetChild(2)).GetComponent<JumpVolume>(); component20.jumpVelocity = new Vector3(-65.2731f, 0.442f, 7.7863f); } break; case 'a': if (sceneName == "artifactworld") { Transform transform6 = GameObject.Find("HOLDER: Geysers").transform; JumpVolume component13 = ((Component)transform6.GetChild(3).GetChild(0)).GetComponent<JumpVolume>(); component13.jumpVelocity = new Vector3(0f, 20f, -40f); JumpVolume component14 = ((Component)transform6.GetChild(4).GetChild(0)).GetComponent<JumpVolume>(); component14.jumpVelocity = new Vector3(0f, 5f, 45f); JumpVolume component15 = ((Component)transform6.GetChild(2).GetChild(0)).GetComponent<JumpVolume>(); component15.jumpVelocity = new Vector3(60f, 0f, 0f); JumpVolume component16 = ((Component)transform6.GetChild(1).GetChild(0)).GetComponent<JumpVolume>(); component16.jumpVelocity = new Vector3(15f, 40f, -11f); } break; } break; case 14: if (sceneName == "dampcavesimple") { JumpVolume component6 = ((Component)GameObject.Find("HOLDER: Geyser").transform.GetChild(2).GetChild(2)).GetComponent<JumpVolume>(); component6.jumpVelocity = new Vector3(45.2695f, 50.4077f, 35.7247f); } break; case 12: if (sceneName == "golemplains2") { Transform transform = GameObject.Find("HOLDER: Jump Pads").transform; JumpVolume component = ((Component)transform.GetChild(1).GetChild(2)).GetComponent<JumpVolume>(); component.jumpVelocity = new Vector3(38.2099f, 64.9923f, -5.1331f); JumpVolume component2 = ((Component)transform.GetChild(0).GetChild(2)).GetComponent<JumpVolume>(); component2.jumpVelocity = new Vector3(-13.4416f, 44.981f, 8.4832f); } break; } } private void JumpVolume_OnTriggerStay(ILContext il) { //IL_0002: Unknown result type (might be due to invalid IL or missing references) //IL_0008: Expected O, but got Unknown ILCursor val = new ILCursor(il); if (val.TryGotoNext((MoveType)0, new Func<Instruction, bool>[1] { (Instruction x) => ILPatternMatchingExt.MatchLdcI4(x, 1) })) { val.Index += 1; val.EmitDelegate<Func<int, int>>((Func<int, int>)((int useless) => 0)); } else { BJPLogger.LogError((object)"Failed to apply Jump Pad hook"); } } } }