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 TeleportDecline v1.1.0
TeleportDecline.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 HarmonyLib; using LethalCompanyInputUtils.Api; using Microsoft.CodeAnalysis; using StaticNetcodeLib; using TMPro; using TeleportDecline.Patches; using Unity.Netcode; using UnityEngine; using UnityEngine.InputSystem; [assembly: CompilationRelaxations(8)] [assembly: RuntimeCompatibility(WrapNonExceptionThrows = true)] [assembly: Debuggable(DebuggableAttribute.DebuggingModes.IgnoreSymbolStoreSequencePoints)] [assembly: TargetFramework(".NETStandard,Version=v2.1", FrameworkDisplayName = ".NET Standard 2.1")] [assembly: IgnoresAccessChecksTo("AmazingAssets.TerrainToMesh")] [assembly: IgnoresAccessChecksTo("Assembly-CSharp-firstpass")] [assembly: IgnoresAccessChecksTo("Assembly-CSharp")] [assembly: IgnoresAccessChecksTo("ClientNetworkTransform")] [assembly: IgnoresAccessChecksTo("DissonanceVoip")] [assembly: IgnoresAccessChecksTo("Facepunch Transport for Netcode for GameObjects")] [assembly: IgnoresAccessChecksTo("Facepunch.Steamworks.Win64")] [assembly: IgnoresAccessChecksTo("Unity.AI.Navigation")] [assembly: IgnoresAccessChecksTo("Unity.Animation.Rigging")] [assembly: IgnoresAccessChecksTo("Unity.Animation.Rigging.DocCodeExamples")] [assembly: IgnoresAccessChecksTo("Unity.Burst")] [assembly: IgnoresAccessChecksTo("Unity.Burst.Unsafe")] [assembly: IgnoresAccessChecksTo("Unity.Collections")] [assembly: IgnoresAccessChecksTo("Unity.Collections.LowLevel.ILSupport")] [assembly: IgnoresAccessChecksTo("Unity.InputSystem")] [assembly: IgnoresAccessChecksTo("Unity.InputSystem.ForUI")] [assembly: IgnoresAccessChecksTo("Unity.Jobs")] [assembly: IgnoresAccessChecksTo("Unity.Mathematics")] [assembly: IgnoresAccessChecksTo("Unity.Multiplayer.Tools.Common")] [assembly: IgnoresAccessChecksTo("Unity.Multiplayer.Tools.MetricTypes")] [assembly: IgnoresAccessChecksTo("Unity.Multiplayer.Tools.NetStats")] [assembly: IgnoresAccessChecksTo("Unity.Multiplayer.Tools.NetStatsMonitor.Component")] [assembly: IgnoresAccessChecksTo("Unity.Multiplayer.Tools.NetStatsMonitor.Configuration")] [assembly: IgnoresAccessChecksTo("Unity.Multiplayer.Tools.NetStatsMonitor.Implementation")] [assembly: IgnoresAccessChecksTo("Unity.Multiplayer.Tools.NetStatsReporting")] [assembly: IgnoresAccessChecksTo("Unity.Multiplayer.Tools.NetworkProfiler.Runtime")] [assembly: IgnoresAccessChecksTo("Unity.Multiplayer.Tools.NetworkSolutionInterface")] [assembly: IgnoresAccessChecksTo("Unity.Netcode.Components")] [assembly: IgnoresAccessChecksTo("Unity.Netcode.Runtime")] [assembly: IgnoresAccessChecksTo("Unity.Networking.Transport")] [assembly: IgnoresAccessChecksTo("Unity.ProBuilder.Csg")] [assembly: IgnoresAccessChecksTo("Unity.ProBuilder")] [assembly: IgnoresAccessChecksTo("Unity.ProBuilder.KdTree")] [assembly: IgnoresAccessChecksTo("Unity.ProBuilder.Poly2Tri")] [assembly: IgnoresAccessChecksTo("Unity.ProBuilder.Stl")] [assembly: IgnoresAccessChecksTo("Unity.Profiling.Core")] [assembly: IgnoresAccessChecksTo("Unity.RenderPipelines.Core.Runtime")] [assembly: IgnoresAccessChecksTo("Unity.RenderPipelines.Core.ShaderLibrary")] [assembly: IgnoresAccessChecksTo("Unity.RenderPipelines.HighDefinition.Config.Runtime")] [assembly: IgnoresAccessChecksTo("Unity.RenderPipelines.HighDefinition.Runtime")] [assembly: IgnoresAccessChecksTo("Unity.RenderPipelines.ShaderGraph.ShaderGraphLibrary")] [assembly: IgnoresAccessChecksTo("Unity.Services.Authentication")] [assembly: IgnoresAccessChecksTo("Unity.Services.Core.Analytics")] [assembly: IgnoresAccessChecksTo("Unity.Services.Core.Configuration")] [assembly: IgnoresAccessChecksTo("Unity.Services.Core.Device")] [assembly: IgnoresAccessChecksTo("Unity.Services.Core")] [assembly: IgnoresAccessChecksTo("Unity.Services.Core.Environments")] [assembly: IgnoresAccessChecksTo("Unity.Services.Core.Environments.Internal")] [assembly: IgnoresAccessChecksTo("Unity.Services.Core.Internal")] [assembly: IgnoresAccessChecksTo("Unity.Services.Core.Networking")] [assembly: IgnoresAccessChecksTo("Unity.Services.Core.Registration")] [assembly: IgnoresAccessChecksTo("Unity.Services.Core.Scheduler")] [assembly: IgnoresAccessChecksTo("Unity.Services.Core.Telemetry")] [assembly: IgnoresAccessChecksTo("Unity.Services.Core.Threading")] [assembly: IgnoresAccessChecksTo("Unity.Services.QoS")] [assembly: IgnoresAccessChecksTo("Unity.Services.Relay")] [assembly: IgnoresAccessChecksTo("Unity.TextMeshPro")] [assembly: IgnoresAccessChecksTo("Unity.Timeline")] [assembly: IgnoresAccessChecksTo("Unity.VisualEffectGraph.Runtime")] [assembly: IgnoresAccessChecksTo("UnityEngine.ARModule")] [assembly: IgnoresAccessChecksTo("UnityEngine.NVIDIAModule")] [assembly: IgnoresAccessChecksTo("UnityEngine.UI")] [assembly: AssemblyCompany("TeleportDecline")] [assembly: AssemblyConfiguration("Release")] [assembly: AssemblyDescription("A template for Lethal Company")] [assembly: AssemblyFileVersion("1.0.0.0")] [assembly: AssemblyInformationalVersion("1.0.0+e6cc13fa385adb0adf747fda2846139bab7249c4")] [assembly: AssemblyProduct("TeleportDecline")] [assembly: AssemblyTitle("TeleportDecline")] [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 TeleportDecline { [BepInPlugin("MasterAli2.TeleportDecline", "Teleport Decline", "1.1.0")] [BepInDependency(/*Could not decode attribute arguments.*/)] [BepInDependency(/*Could not decode attribute arguments.*/)] public class TeleportDeclineBase : BaseUnityPlugin { public const string GUID = "MasterAli2.TeleportDecline"; public const string NAME = "Teleport Decline"; public const string VERSION = "1.1.0"; public const string AUTHOR = "MasterAli2"; private readonly Harmony harmony = new Harmony("MasterAli2.TeleportDecline"); internal ManualLogSource mls; public static TeleportDeclineBase instance; public bool isTeleporting; public ShipTeleporter teleporter; private void Awake() { if ((Object)(object)instance == (Object)null) { instance = this; } mls = ((BaseUnityPlugin)this).Logger; TeleportDeclineInput.instance.DeclineKey.performed += DeclineTeleport; ApplyPatches(); mls.LogInfo((object)"MasterAli2.TeleportDecline v1.1.0 has loaded!"); } private void ApplyPatches() { mls.LogInfo((object)"Patching..."); harmony.PatchAll(typeof(Patch)); mls.LogInfo((object)"Patched..."); } public void DeclineTeleport(CallbackContext context) { if (((CallbackContext)(ref context)).performed && isTeleporting) { StartOfRound.Instance.localPlayerController.beamUpParticle.Stop(); ((TMP_Text)HUDManager.Instance.tipsPanelBody).text = "Declining teleport..."; ((MonoBehaviour)teleporter).StopCoroutine(teleporter.beamUpPlayerCoroutine); TeleportDeclineNetcode.DeclineTeleportServerRpc(); mls.LogInfo((object)"Stopped teleport!"); } } } public class TeleportDeclineInput : LcInputActions { public static TeleportDeclineInput instance = new TeleportDeclineInput(); [InputAction("<Keyboard>/h", Name = "Decline Teleport")] public InputAction DeclineKey { get; set; } } [StaticNetcode] public static class TeleportDeclineNetcode { [ClientRpc] public static void DeclineTeleportClientRpc() { if (!TeleportDeclineBase.instance.isTeleporting && StartOfRound.Instance.localPlayerController.isInHangarShipRoom) { HUDManager.Instance.DisplayTip("Teleport Decline", "That teleport got declined", false, false, "LC_Tip1"); if (TeleportDeclineBase.instance.isTeleporting) { TeleportDeclineBase.instance.isTeleporting = false; } } } [ServerRpc] public static void DeclineTeleportServerRpc() { DeclineTeleportClientRpc(); } } } namespace TeleportDecline.Patches { internal class Patch { [HarmonyPatch(typeof(ShipTeleporter), "PressTeleportButtonClientRpc")] [HarmonyPostfix] private static void PressTeleportButtonClientRpcPostfix(ShipTeleporter __instance) { if (!((Object)(object)StartOfRound.Instance.mapScreen.targetedPlayer != (Object)(object)StartOfRound.Instance.localPlayerController) && !StartOfRound.Instance.localPlayerController.isPlayerDead && !__instance.isInverseTeleporter) { HUDManager.Instance.DisplayTip("Teleporting!", "Press " + InputActionRebindingExtensions.GetBindingDisplayString(TeleportDeclineInput.instance.DeclineKey, (DisplayStringOptions)0, (string)null).Split("|")[0] + "to stop teleport", false, false, "LC_Tip1"); TeleportDeclineBase.instance.isTeleporting = true; TeleportDeclineBase.instance.teleporter = __instance; } } [HarmonyPatch(typeof(ShipTeleporter), "SetPlayerTeleporterId")] [HarmonyPostfix] private static void SetPlayerTeleporterIdPostfix(ShipTeleporter __instance, ref int teleporterId) { if (!((Object)(object)TeleportDeclineBase.instance.teleporter != (Object)(object)__instance)) { TeleportDeclineBase.instance.isTeleporting = false; } } } } namespace System.Runtime.CompilerServices { [AttributeUsage(AttributeTargets.Assembly, AllowMultiple = true)] internal sealed class IgnoresAccessChecksToAttribute : Attribute { public IgnoresAccessChecksToAttribute(string assemblyName) { } } }