using System; using System.Collections; using System.Collections.Generic; 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.Bootstrap; using BepInEx.Logging; using GameNetcodeStuff; using HarmonyLib; using LethalBots.AI; using LethalBots.Managers; using Microsoft.CodeAnalysis; using TKEditorScripts; using TKronix.Scripts.NetcodePatcher; using UnityEngine; using UnityEngine.Events; [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("com.olegknyazev.softmask")] [assembly: IgnoresAccessChecksTo("DissonanceVoip")] [assembly: IgnoresAccessChecksTo("DunGen")] [assembly: IgnoresAccessChecksTo("DunGen.Integration.ASPP")] [assembly: IgnoresAccessChecksTo("DunGen.Integration.UnityNav")] [assembly: IgnoresAccessChecksTo("EasyTextEffects")] [assembly: IgnoresAccessChecksTo("Facepunch Transport for Netcode for GameObjects")] [assembly: IgnoresAccessChecksTo("Facepunch.Steamworks.Win64")] [assembly: IgnoresAccessChecksTo("LethalBots")] [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.Components")] [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("Unity.XR.CoreUtils")] [assembly: IgnoresAccessChecksTo("Unity.XR.Management")] [assembly: IgnoresAccessChecksTo("Unity.XR.OpenXR")] [assembly: IgnoresAccessChecksTo("Unity.XR.OpenXR.Features.ConformanceAutomation")] [assembly: IgnoresAccessChecksTo("Unity.XR.OpenXR.Features.MetaQuestSupport")] [assembly: IgnoresAccessChecksTo("Unity.XR.OpenXR.Features.MockRuntime")] [assembly: IgnoresAccessChecksTo("Unity.XR.OpenXR.Features.OculusQuestSupport")] [assembly: IgnoresAccessChecksTo("Unity.XR.OpenXR.Features.RuntimeDebugger")] [assembly: IgnoresAccessChecksTo("UnityEngine.ARModule")] [assembly: IgnoresAccessChecksTo("UnityEngine.NVIDIAModule")] [assembly: IgnoresAccessChecksTo("UnityEngine.SpatialTracking")] [assembly: IgnoresAccessChecksTo("UnityEngine.UI")] [assembly: IgnoresAccessChecksTo("UnityEngine.XR.LegacyInputHelpers")] [assembly: AssemblyCompany("TKronix.Scripts")] [assembly: AssemblyConfiguration("Release")] [assembly: AssemblyFileVersion("0.2.0.0")] [assembly: AssemblyInformationalVersion("0.2.0")] [assembly: AssemblyProduct("TKEditorScripts")] [assembly: AssemblyTitle("TKronix.Scripts")] [assembly: SecurityPermission(SecurityAction.RequestMinimum, SkipVerification = true)] [assembly: AssemblyVersion("0.2.0.0")] [module: UnverifiableCode] [module: RefSafetyRules(11)] [module: NetcodePatchedAssembly] internal class { static () { } } 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; } } } namespace LCEditorScripts.Scripts { public class WaterSplashTrigger : MonoBehaviour { [Header("Water Settings")] [Tooltip("Set true if this water volume is inside the factory. Setting Inside Water Disables base game Splash Effect")] [SerializeField] private bool isInsideWater; [Tooltip("Set true if you dont want the base game Underwater filter effect")] [SerializeField] private bool disableBaseGameWaterFilter; [Tooltip("Enables Override Effect Volume")] [SerializeField] private bool overrideVolume; [Tooltip("Ádjusts how loud the Underwater Breathing audio effect is. Default: 1")] [SerializeField] [Range(0.5f, 1f)] public float overrideEffectVolume = 1f; [Tooltip("Scales the player's falling speed while inside the trigger. Values < 1 make falling slower(floaty). Values > 1 make falling faster.")] [SerializeField] [Range(0f, 3f)] private float fallSpeedModifier = 1f; [Tooltip("Controls how quickly fall speed adjusts toward the modified value")] [SerializeField] [Range(0f, 50f)] private float fallSpeedLerp = 10f; [Header("Splash Thresholds")] [Tooltip("Fall speed required to trigger a splash. Default = -4")] [SerializeField] private float splashFallThreshold = -4f; [Tooltip("Fall speed where splash becomes 'big'. Default = -17")] [SerializeField] private float bigSplashThreshold = -17f; [Header("Player Velocity Splash")] [Tooltip("If Player Velocity should cause the splash effect to play also. Player Running into the water will cause splash if enabled")] [SerializeField] private bool PlayerVelocitySplash; [Tooltip("Velocity speed required to trigger a splash. Default = 8")] [SerializeField] private float splashVelocityThreshold = 8f; [Tooltip("Velocity speed where splash becomes 'big'. Default = 15")] [SerializeField] private float bigSplashVelocityThreshold = 15f; private Collider _collider; private void Awake() { _collider = ((Component)this).GetComponent(); } private void OnTriggerStay(Collider other) { //IL_017b: Unknown result type (might be due to invalid IL or missing references) //IL_0180: Unknown result type (might be due to invalid IL or missing references) //IL_01b3: Unknown result type (might be due to invalid IL or missing references) //IL_01b8: Unknown result type (might be due to invalid IL or missing references) //IL_01d6: Unknown result type (might be due to invalid IL or missing references) //IL_020e: Unknown result type (might be due to invalid IL or missing references) if (!((Component)other).CompareTag("Player")) { return; } PlayerControllerB component = ((Component)other).GetComponent(); if ((Object)(object)component == (Object)null) { return; } if (component.isFallingFromJump || component.isFallingNoJump) { component.fallValue = Mathf.Lerp(component.fallValue, component.fallValue * fallSpeedModifier, fallSpeedLerp * Time.deltaTime); component.fallValueUncapped = component.fallValue; } if ((Object)(object)component.underwaterCollider == (Object)null || (Object)(object)component.underwaterCollider != (Object)(object)((Component)this).GetComponent()) { component.underwaterCollider = _collider; HUDManager.Instance.underwaterScreenFilter.isGlobal = true; } else if (component.isUnderwater && (Object)(object)component.underwaterCollider == (Object)(object)_collider) { if (disableBaseGameWaterFilter) { HUDManager.Instance.underwaterScreenFilter.isGlobal = false; } if (overrideVolume) { HUDManager.Instance.breathingUnderwaterAudio.volume = Mathf.Lerp(HUDManager.Instance.breathingUnderwaterAudio.volume, overrideEffectVolume, 10f * Time.deltaTime); } StartOfRound.Instance.drowningTimer = 1f; if (global::TKEditorScripts.TKEditorScripts.Instance.LethalBotsInstalled) { LethalBotsDrowning(component); } } else if (!component.isUnderwater) { component.underwaterCollider = _collider; component.isUnderwater = true; bool flag = component.fallValue < splashFallThreshold; bool flag2 = component.isFallingFromJump || component.isFallingNoJump; Vector3 velocity = component.thisController.velocity; bool flag3 = ((Vector3)(ref velocity)).magnitude > splashVelocityThreshold; if (PlayerVelocitySplash && !flag2 && !isInsideWater && flag3) { velocity = component.thisController.velocity; bool flag4 = ((Vector3)(ref velocity)).magnitude > bigSplashVelocityThreshold; TimeOfDay.Instance.WaterSplashEffect(((Component)component).transform.position, flag4, true); } else if (!isInsideWater && flag2 && flag) { bool flag5 = component.fallValue > bigSplashThreshold; TimeOfDay.Instance.WaterSplashEffect(((Component)component).transform.position, flag5, true); } } } private void OnTriggerExit(Collider other) { if (!((Component)other).CompareTag("Player")) { return; } PlayerControllerB component = ((Component)other).GetComponent(); if (!((Object)(object)component == (Object)null)) { if ((Object)(object)component.underwaterCollider == (Object)(object)_collider) { component.underwaterCollider = null; component.isUnderwater = false; } if ((Object)(object)component == (Object)(object)GameNetworkManager.Instance.localPlayerController) { HUDManager.Instance.underwaterScreenFilter.isGlobal = true; } } } private void LethalBotsDrowning(PlayerControllerB player) { LethalBotAI lethalBotAI = LethalBotManager.Instance.GetLethalBotAI(player); if (Object.op_Implicit((Object)(object)lethalBotAI)) { lethalBotAI.NpcController.DrowningTimer = 1f; } } private void OnDestroy() { if (Object.op_Implicit((Object)(object)HUDManager.Instance)) { ((Behaviour)HUDManager.Instance.underwaterScreenFilter).enabled = true; HUDManager.Instance.underwaterScreenFilter.isGlobal = true; } if (Object.op_Implicit((Object)(object)GameNetworkManager.Instance)) { GameNetworkManager.Instance.localPlayerController.underwaterCollider = null; GameNetworkManager.Instance.localPlayerController.isUnderwater = false; } } } } namespace TKEditorScripts { [BepInPlugin("TKronix.Scripts", "TKEditorScripts", "0.2.0")] [BepInDependency(/*Could not decode attribute arguments.*/)] public class TKEditorScripts : BaseUnityPlugin { public bool LethalBotsInstalled = Chainloader.PluginInfos.ContainsKey("T-Rizzle.LethalBots"); public static TKEditorScripts Instance { get; private set; } internal static ManualLogSource Logger { get; private set; } internal static Harmony? Harmony { get; set; } private void Awake() { Logger = ((BaseUnityPlugin)this).Logger; Instance = this; NetcodePatcher(); Logger.LogInfo((object)"TKronix.Scripts v0.2.0 has loaded!"); } private void NetcodePatcher() { Type[] types = Assembly.GetExecutingAssembly().GetTypes(); Type[] array = types; foreach (Type type in array) { MethodInfo[] methods = type.GetMethods(BindingFlags.Instance | BindingFlags.Static | BindingFlags.NonPublic); MethodInfo[] array2 = methods; foreach (MethodInfo methodInfo in array2) { object[] customAttributes = methodInfo.GetCustomAttributes(typeof(RuntimeInitializeOnLoadMethodAttribute), inherit: false); if (customAttributes.Length != 0) { methodInfo.Invoke(null, null); } } } } } public static class MyPluginInfo { public const string PLUGIN_GUID = "TKronix.Scripts"; public const string PLUGIN_NAME = "TKEditorScripts"; public const string PLUGIN_VERSION = "0.2.0"; } } namespace TKEditorScripts.Scripts { public class BlackHoleTrigger : MonoBehaviour { [Header("W.I.P Component (Bound to change avoid)")] private float pullSpeed = 10f; private float swirlSpeed = 8f; private float centreThreshold = 1.2f; public UnityEvent OnEnterRange; public UnityEvent OnReachCentre; private readonly HashSet controllersInRange = new HashSet(); private void OnTriggerEnter(Collider other) { PlayerControllerB component = ((Component)other).GetComponent(); if ((Object)(object)component != (Object)null) { controllersInRange.Add(component); OnEnterRange?.Invoke(component); } } private void OnTriggerStay(Collider other) { //IL_0016: Unknown result type (might be due to invalid IL or missing references) //IL_0021: Unknown result type (might be due to invalid IL or missing references) //IL_0026: 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_0036: Unknown result type (might be due to invalid IL or missing references) //IL_003b: Unknown result type (might be due to invalid IL or missing references) //IL_003c: Unknown result type (might be due to invalid IL or missing references) //IL_0043: Unknown result type (might be due to invalid IL or missing references) //IL_0048: Unknown result type (might be due to invalid IL or missing references) //IL_004a: 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_0050: Unknown result type (might be due to invalid IL or missing references) //IL_005b: Unknown result type (might be due to invalid IL or missing references) //IL_0060: Unknown result type (might be due to invalid IL or missing references) //IL_0062: Unknown result type (might be due to invalid IL or missing references) //IL_0064: Unknown result type (might be due to invalid IL or missing references) //IL_0066: Unknown result type (might be due to invalid IL or missing references) //IL_006b: Unknown result type (might be due to invalid IL or missing references) //IL_006e: Unknown result type (might be due to invalid IL or missing references) //IL_0070: Unknown result type (might be due to invalid IL or missing references) PlayerControllerB component = ((Component)other).GetComponent(); if ((Object)(object)component != (Object)null) { Vector3 val = ((Component)this).transform.position - ((Component)component).transform.position; float magnitude = ((Vector3)(ref val)).magnitude; Vector3 normalized = ((Vector3)(ref val)).normalized; Vector3 val2 = normalized * pullSpeed; Vector3 val3 = Vector3.Cross(normalized, Vector3.up) * swirlSpeed; Vector3 externalForces = val2 + val3; component.externalForces = externalForces; if (magnitude <= centreThreshold) { OnReachCentre?.Invoke(component); } } } private void OnTriggerExit(Collider other) { PlayerControllerB component = ((Component)other).GetComponent(); if ((Object)(object)component != (Object)null) { controllersInRange.Remove(component); } } } public class PlantGrowth : MonoBehaviour { [CompilerGenerated] private sealed class d__4 : IEnumerator, IEnumerator, IDisposable { private int <>1__state; private object <>2__current; public PlantGrowth <>4__this; private float 5__2; object IEnumerator.Current { [DebuggerHidden] get { return <>2__current; } } object IEnumerator.Current { [DebuggerHidden] get { return <>2__current; } } [DebuggerHidden] public d__4(int <>1__state) { this.<>1__state = <>1__state; } [DebuggerHidden] void IDisposable.Dispose() { <>1__state = -2; } private bool MoveNext() { //IL_0064: Unknown result type (might be due to invalid IL or missing references) //IL_006a: Unknown result type (might be due to invalid IL or missing references) //IL_00a0: Unknown result type (might be due to invalid IL or missing references) //IL_00ab: Unknown result type (might be due to invalid IL or missing references) int num = <>1__state; PlantGrowth plantGrowth = <>4__this; switch (num) { default: return false; case 0: <>1__state = -1; 5__2 = 0f; break; case 1: <>1__state = -1; break; } if (5__2 < plantGrowth.growTime) { 5__2 += Time.deltaTime; float num2 = 5__2 / plantGrowth.growTime; float num3 = Mathf.Lerp(0f, plantGrowth.finalScale, num2); ((Component)plantGrowth).transform.localScale = plantGrowth.baseScale * num3; <>2__current = null; <>1__state = 1; return true; } ((Component)plantGrowth).transform.localScale = plantGrowth.baseScale * plantGrowth.finalScale; return false; } bool IEnumerator.MoveNext() { //ILSpy generated this explicit interface implementation from .override directive in MoveNext return this.MoveNext(); } [DebuggerHidden] void IEnumerator.Reset() { throw new NotSupportedException(); } } [Header("W.I.P Component (Bound to change avoid)")] [SerializeField] private float growTime = 5f; [SerializeField] private float finalScale = 1f; private Vector3 baseScale; private void Start() { //IL_0007: 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_0017: Unknown result type (might be due to invalid IL or missing references) baseScale = ((Component)this).transform.localScale; ((Component)this).transform.localScale = Vector3.zero; ((MonoBehaviour)this).StartCoroutine(Grow()); } [IteratorStateMachine(typeof(d__4))] private IEnumerator Grow() { //yield-return decompiler failed: Unexpected instruction in Iterator.Dispose() return new d__4(0) { <>4__this = this }; } } public class TeleportScript : MonoBehaviour { [Tooltip("Teleport Location object for Teleport To")] [SerializeField] private Transform targetLocation; [Tooltip("If Teleport Location object rotation should be used for Teleport To")] [SerializeField] private bool useTargetRotation; public void TeleportTo(PlayerControllerB player) { //IL_0011: 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) if (!((Object)(object)player == (Object)null)) { player.TeleportPlayer(targetLocation.position, useTargetRotation, targetLocation.rotation.z, false, true); } } } public class TractorBeamZone : MonoBehaviour { [Header("Beam Settings")] [Tooltip("The Object that the player willbe pulled towards")] [SerializeField] private Transform pullCenter; [Tooltip("This is bascially the Pull Force which means the speed they be pulled at")] [SerializeField] private float pullSpeed = 50f; [Tooltip("The threashold for reaching the center to be registered")] [SerializeField] private float reachDistance = 0.5f; [Header("Events")] public UnityEvent OnPlayerEnterBeam; public UnityEvent OnPlayerExitBeam; public UnityEvent OnPlayerReachedCenter; private bool reachedCenter; private void OnTriggerEnter(Collider other) { if (((Component)other).CompareTag("Player")) { reachedCenter = false; UnityEvent onPlayerEnterBeam = OnPlayerEnterBeam; if (onPlayerEnterBeam != null) { onPlayerEnterBeam.Invoke(); } } } private void OnTriggerExit(Collider other) { if (((Component)other).CompareTag("Player")) { reachedCenter = false; UnityEvent onPlayerExitBeam = OnPlayerExitBeam; if (onPlayerExitBeam != null) { onPlayerExitBeam.Invoke(); } } } private void OnTriggerStay(Collider other) { //IL_0025: Unknown result type (might be due to invalid IL or missing references) //IL_002a: 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_0038: Unknown result type (might be due to invalid IL or missing references) //IL_0072: Unknown result type (might be due to invalid IL or missing references) //IL_0077: Unknown result type (might be due to invalid IL or missing references) //IL_0078: Unknown result type (might be due to invalid IL or missing references) //IL_007d: Unknown result type (might be due to invalid IL or missing references) //IL_0081: Unknown result type (might be due to invalid IL or missing references) //IL_0086: 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_008e: Unknown result type (might be due to invalid IL or missing references) //IL_0093: Unknown result type (might be due to invalid IL or missing references) //IL_0096: Unknown result type (might be due to invalid IL or missing references) //IL_0098: Unknown result type (might be due to invalid IL or missing references) if (!((Component)other).CompareTag("Player")) { return; } PlayerControllerB component = ((Component)other).GetComponent(); if ((Object)(object)component == (Object)null) { return; } Vector3 position = ((Component)component).transform.position; component.ResetFallGravity(); float num = Vector3.Distance(position, pullCenter.position); if (!reachedCenter && num <= reachDistance) { reachedCenter = true; UnityEvent onPlayerReachedCenter = OnPlayerReachedCenter; if (onPlayerReachedCenter != null) { onPlayerReachedCenter.Invoke(); } } Vector3 val = pullCenter.position - position; Vector3 normalized = ((Vector3)(ref val)).normalized; Vector3 externalForces = normalized * pullSpeed; component.externalForces = externalForces; } } } namespace System.Runtime.CompilerServices { [AttributeUsage(AttributeTargets.Assembly, AllowMultiple = true)] internal sealed class IgnoresAccessChecksToAttribute : Attribute { public IgnoresAccessChecksToAttribute(string assemblyName) { } } } namespace TKronix.Scripts.NetcodePatcher { [AttributeUsage(AttributeTargets.Module)] internal class NetcodePatchedAssemblyAttribute : Attribute { } }