using System.Diagnostics; using System.IO; using System.Reflection; using System.Runtime.CompilerServices; using System.Runtime.InteropServices; using System.Runtime.Versioning; using BepInEx; using BepInEx.Logging; using HarmonyLib; using PluginConfig.API; using PluginConfig.API.Decorators; using PluginConfig.API.Fields; 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("JumpStartUnlimitedCable")] [assembly: AssemblyDescription("")] [assembly: AssemblyConfiguration("")] [assembly: AssemblyCompany("")] [assembly: AssemblyProduct("JumpStartUnlimitedCable")] [assembly: AssemblyCopyright("Copyright © 2026")] [assembly: AssemblyTrademark("")] [assembly: ComVisible(false)] [assembly: Guid("96cf7d3b-7751-4a10-a90e-45f7a159f0bf")] [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")] [BepInPlugin("ultrakill.jumpstart.unlimitedcable", "Unlimited JumpStart Cable", "1.0.1")] public class Plugin : BaseUnityPlugin { public static BoolField InfiniteLength; public static BoolField IgnoreWalls; public static ManualLogSource Log; public static PluginConfigurator PluginConfigInstance; private void Awake() { //IL_0084: 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_00a9: Expected O, but got Unknown //IL_00be: Unknown result type (might be due to invalid IL or missing references) //IL_00c8: Expected O, but got Unknown //IL_00cd: Unknown result type (might be due to invalid IL or missing references) //IL_00d3: Expected O, but got Unknown Log = ((BaseUnityPlugin)this).Logger; ((BaseUnityPlugin)this).Logger.LogInfo((object)"Unlimited JumpStart Cable loaded"); PluginConfigInstance = PluginConfigurator.Create("Unlimited JumpStart Cable", "ultrakill.jumpstart.unlimitedcable"); string directoryName = Path.GetDirectoryName(((BaseUnityPlugin)this).Info.Location); string iconWithURL = "file:///" + Path.Combine(directoryName, "icon.png").Replace("\\", "/"); PluginConfigInstance.SetIconWithURL(iconWithURL); new ConfigHeader(PluginConfigInstance.rootPanel, "JumpStart Cable Settings", 24); InfiniteLength = new BoolField(PluginConfigInstance.rootPanel, "Infinite Cable Length", "infinite_length", true); IgnoreWalls = new BoolField(PluginConfigInstance.rootPanel, "Ignore Walls", "ignore_walls", true); Harmony val = new Harmony("ultrakill.jumpstart.unlimitedcable"); val.PatchAll(); } } [HarmonyPatch(typeof(Zapper), "Update")] public static class ZapperUpdatePatch { private static void Prefix(Zapper __instance) { if (!((Object)(object)__instance == (Object)null) && Plugin.InfiniteLength.value) { __instance.maxDistance = 999999f; } } } [HarmonyPatch(typeof(Zapper), "CheckLineOfSight")] public static class CheckLineOfSightPatch { private static bool Prefix(ref bool __result) { if (!Plugin.IgnoreWalls.value) { return true; } __result = true; return false; } }