Please disclose if your mod was created primarily 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 AddonFusion v1.1.1
AddonFusion.dll
Decompiled 10 months ago
The result has been truncated due to the large size, download it to view full contents!
using System; using System.Collections; using System.Collections.Generic; using System.Diagnostics; using System.Globalization; using System.IO; using System.Linq; using System.Reflection; using System.Runtime.CompilerServices; using System.Runtime.Versioning; using System.Security; using System.Security.Permissions; using AddonFusion.AddonValues; using AddonFusion.Behaviours; using AddonFusion.NetcodePatcher; using AddonFusion.Patches; using BepInEx; using BepInEx.Configuration; using BepInEx.Logging; using GameNetcodeStuff; using HarmonyLib; using LethalLib.Modules; using Microsoft.CodeAnalysis; using Unity.Netcode; using UnityEngine; [assembly: CompilationRelaxations(8)] [assembly: RuntimeCompatibility(WrapNonExceptionThrows = true)] [assembly: Debuggable(DebuggableAttribute.DebuggingModes.IgnoreSymbolStoreSequencePoints)] [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("EasyTextEffects")] [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: TargetFramework(".NETStandard,Version=v2.1", FrameworkDisplayName = ".NET Standard 2.1")] [assembly: AssemblyCompany("AddonFusion")] [assembly: AssemblyConfiguration("Release")] [assembly: AssemblyFileVersion("1.0.0.0")] [assembly: AssemblyInformationalVersion("1.0.0")] [assembly: AssemblyProduct("AddonFusion")] [assembly: AssemblyTitle("AddonFusion")] [assembly: SecurityPermission(SecurityAction.RequestMinimum, SkipVerification = true)] [assembly: AssemblyVersion("1.0.0.0")] [module: UnverifiableCode] [module: RefSafetyRules(11)] [module: NetcodePatchedAssembly] internal class <Module> { static <Module>() { } } 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 AddonFusion { internal class Addon : MonoBehaviour { public bool hasAddon; public string addonName; public string toolTip; public bool isFlashing; public float maxSpotAngle; public void SetSpecificFields() { GrabbableObject component = ((Component)this).GetComponent<GrabbableObject>(); FlashlightItem val = (FlashlightItem)(object)((component is FlashlightItem) ? component : null); if (val != null) { isFlashing = false; maxSpotAngle = val.flashlightBulb.spotAngle; } } public void RemoveAddon() { GrabbableObject componentInParent = ((Component)this).GetComponentInParent<GrabbableObject>(); if ((Object)(object)componentInParent != (Object)null) { ScanNodeProperties componentInChildren = ((Component)componentInParent).gameObject.GetComponentInChildren<ScanNodeProperties>(); if ((Object)(object)componentInChildren != (Object)null) { string text = "\nAddon: " + addonName; if (componentInChildren.subText.Contains(text)) { componentInChildren.subText = componentInChildren.subText.Remove(componentInChildren.subText.IndexOf(text), text.Length); } else { text = "Addon: " + addonName; if (componentInChildren.subText.Contains(text)) { componentInChildren.subText = componentInChildren.subText.Remove(componentInChildren.subText.IndexOf(text), text.Length); } } } } hasAddon = false; addonName = null; toolTip = null; } } internal class AddonFusionNetworkManager : NetworkBehaviour { public static AddonFusionNetworkManager Instance; public void Awake() { Instance = this; } [ServerRpc(RequireOwnership = false)] public void DestroyObjectServerRpc(NetworkObjectReference obj) { //IL_0024: Unknown result type (might be due to invalid IL or missing references) //IL_002e: Invalid comparison between Unknown and I4 //IL_00a7: Unknown result type (might be due to invalid IL or missing references) //IL_00b1: Invalid comparison between Unknown and I4 //IL_005f: Unknown result type (might be due to invalid IL or missing references) //IL_0068: Unknown result type (might be due to invalid IL or missing references) //IL_006d: 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_0083: Unknown result type (might be due to invalid IL or missing references) //IL_0097: Unknown result type (might be due to invalid IL or missing references) //IL_00d7: Unknown result type (might be due to invalid IL or missing references) NetworkManager networkManager = ((NetworkBehaviour)this).NetworkManager; if (networkManager != null && networkManager.IsListening) { if ((int)base.__rpc_exec_stage != 1 && (networkManager.IsClient || networkManager.IsHost)) { ServerRpcParams val = default(ServerRpcParams); FastBufferWriter val2 = ((NetworkBehaviour)this).__beginSendServerRpc(2337963438u, val, (RpcDelivery)0); ((FastBufferWriter)(ref val2)).WriteValueSafe<NetworkObjectReference>(ref obj, default(ForNetworkSerializable)); ((NetworkBehaviour)this).__endSendServerRpc(ref val2, 2337963438u, val, (RpcDelivery)0); } if ((int)base.__rpc_exec_stage == 1 && (networkManager.IsServer || networkManager.IsHost)) { DestroyObjectClientRpc(obj); } } } [ClientRpc] private void DestroyObjectClientRpc(NetworkObjectReference obj) { //IL_0024: Unknown result type (might be due to invalid IL or missing references) //IL_002e: Invalid comparison between Unknown and I4 //IL_00a7: Unknown result type (might be due to invalid IL or missing references) //IL_00b1: Invalid comparison between Unknown and I4 //IL_005f: Unknown result type (might be due to invalid IL or missing references) //IL_0068: Unknown result type (might be due to invalid IL or missing references) //IL_006d: 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_0083: Unknown result type (might be due to invalid IL or missing references) //IL_0097: Unknown result type (might be due to invalid IL or missing references) NetworkManager networkManager = ((NetworkBehaviour)this).NetworkManager; if (networkManager != null && networkManager.IsListening) { if ((int)base.__rpc_exec_stage != 2 && (networkManager.IsServer || networkManager.IsHost)) { ClientRpcParams val = default(ClientRpcParams); FastBufferWriter val2 = ((NetworkBehaviour)this).__beginSendClientRpc(2490752138u, val, (RpcDelivery)0); ((FastBufferWriter)(ref val2)).WriteValueSafe<NetworkObjectReference>(ref obj, default(ForNetworkSerializable)); ((NetworkBehaviour)this).__endSendClientRpc(ref val2, 2490752138u, val, (RpcDelivery)0); } NetworkObject val3 = default(NetworkObject); if ((int)base.__rpc_exec_stage == 2 && (networkManager.IsClient || networkManager.IsHost) && ((NetworkObjectReference)(ref obj)).TryGet(ref val3, (NetworkManager)null)) { DestroyObject(((Component)val3).gameObject.GetComponentInChildren<GrabbableObject>()); } } } [ServerRpc(RequireOwnership = false)] public void ItemExplodeServerRpc(NetworkObjectReference obj, Vector3 position) { //IL_0024: Unknown result type (might be due to invalid IL or missing references) //IL_002e: Invalid comparison between Unknown and I4 //IL_00b4: Unknown result type (might be due to invalid IL or missing references) //IL_00be: Invalid comparison between Unknown and I4 //IL_005f: Unknown result type (might be due to invalid IL or missing references) //IL_0068: Unknown result type (might be due to invalid IL or missing references) //IL_006d: 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_0083: Unknown result type (might be due to invalid IL or missing references) //IL_00a4: Unknown result type (might be due to invalid IL or missing references) //IL_00e4: Unknown result type (might be due to invalid IL or missing references) //IL_00e5: Unknown result type (might be due to invalid IL or missing references) NetworkManager networkManager = ((NetworkBehaviour)this).NetworkManager; if (networkManager != null && networkManager.IsListening) { if ((int)base.__rpc_exec_stage != 1 && (networkManager.IsClient || networkManager.IsHost)) { ServerRpcParams val = default(ServerRpcParams); FastBufferWriter val2 = ((NetworkBehaviour)this).__beginSendServerRpc(2685597582u, val, (RpcDelivery)0); ((FastBufferWriter)(ref val2)).WriteValueSafe<NetworkObjectReference>(ref obj, default(ForNetworkSerializable)); ((FastBufferWriter)(ref val2)).WriteValueSafe(ref position); ((NetworkBehaviour)this).__endSendServerRpc(ref val2, 2685597582u, val, (RpcDelivery)0); } if ((int)base.__rpc_exec_stage == 1 && (networkManager.IsServer || networkManager.IsHost)) { ItemExplodeClientRpc(obj, position); } } } [ClientRpc] private void ItemExplodeClientRpc(NetworkObjectReference obj, Vector3 position) { //IL_0024: Unknown result type (might be due to invalid IL or missing references) //IL_002e: Invalid comparison between Unknown and I4 //IL_00b4: Unknown result type (might be due to invalid IL or missing references) //IL_00be: Invalid comparison between Unknown and I4 //IL_005f: Unknown result type (might be due to invalid IL or missing references) //IL_0068: Unknown result type (might be due to invalid IL or missing references) //IL_006d: 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_0083: Unknown result type (might be due to invalid IL or missing references) //IL_00a4: Unknown result type (might be due to invalid IL or missing references) //IL_0100: Unknown result type (might be due to invalid IL or missing references) NetworkManager networkManager = ((NetworkBehaviour)this).NetworkManager; if (networkManager != null && networkManager.IsListening) { if ((int)base.__rpc_exec_stage != 2 && (networkManager.IsServer || networkManager.IsHost)) { ClientRpcParams val = default(ClientRpcParams); FastBufferWriter val2 = ((NetworkBehaviour)this).__beginSendClientRpc(3002418346u, val, (RpcDelivery)0); ((FastBufferWriter)(ref val2)).WriteValueSafe<NetworkObjectReference>(ref obj, default(ForNetworkSerializable)); ((FastBufferWriter)(ref val2)).WriteValueSafe(ref position); ((NetworkBehaviour)this).__endSendClientRpc(ref val2, 3002418346u, val, (RpcDelivery)0); } NetworkObject val3 = default(NetworkObject); if ((int)base.__rpc_exec_stage == 2 && (networkManager.IsClient || networkManager.IsHost) && ((NetworkObjectReference)(ref obj)).TryGet(ref val3, (NetworkManager)null)) { DestroyObject(((Component)val3).gameObject.GetComponentInChildren<GrabbableObject>()); Landmine.SpawnExplosion(position, true, 5.7f, 6f, 50, 0f, (GameObject)null, false); } } } public void DestroyObject(GrabbableObject grabbableObject) { if ((Object)(object)grabbableObject != (Object)null) { FlashlightItem val = (FlashlightItem)(object)((grabbableObject is FlashlightItem) ? grabbableObject : null); if (val != null && ((GrabbableObject)val).isBeingUsed) { ((GrabbableObject)val).isBeingUsed = false; val.usingPlayerHelmetLight = false; ((Behaviour)val.flashlightBulbGlow).enabled = false; val.SwitchFlashlight(false); } grabbableObject.DestroyObjectInHand(grabbableObject.playerHeldBy); } } [ServerRpc(RequireOwnership = false)] public void BlindPlayerServerRpc(int playerId, float flashFilter) { //IL_0024: Unknown result type (might be due to invalid IL or missing references) //IL_002e: Invalid comparison between Unknown and I4 //IL_00b4: Unknown result type (might be due to invalid IL or missing references) //IL_00be: Invalid comparison between Unknown and I4 //IL_005f: Unknown result type (might be due to invalid IL or missing references) //IL_0068: Unknown result type (might be due to invalid IL or missing references) //IL_006d: Unknown result type (might be due to invalid IL or missing references) //IL_0071: Unknown result type (might be due to invalid IL or missing references) //IL_008a: Unknown result type (might be due to invalid IL or missing references) //IL_0090: Unknown result type (might be due to invalid IL or missing references) //IL_00a4: Unknown result type (might be due to invalid IL or missing references) NetworkManager networkManager = ((NetworkBehaviour)this).NetworkManager; if (networkManager != null && networkManager.IsListening) { if ((int)base.__rpc_exec_stage != 1 && (networkManager.IsClient || networkManager.IsHost)) { ServerRpcParams val = default(ServerRpcParams); FastBufferWriter val2 = ((NetworkBehaviour)this).__beginSendServerRpc(2906441364u, val, (RpcDelivery)0); BytePacker.WriteValueBitPacked(val2, playerId); ((FastBufferWriter)(ref val2)).WriteValueSafe<float>(ref flashFilter, default(ForPrimitives)); ((NetworkBehaviour)this).__endSendServerRpc(ref val2, 2906441364u, val, (RpcDelivery)0); } if ((int)base.__rpc_exec_stage == 1 && (networkManager.IsServer || networkManager.IsHost)) { BlindPlayerClientRpc(playerId, flashFilter); } } } [ClientRpc] public void BlindPlayerClientRpc(int playerId, float flashFilter) { //IL_0024: Unknown result type (might be due to invalid IL or missing references) //IL_002e: Invalid comparison between Unknown and I4 //IL_00b4: Unknown result type (might be due to invalid IL or missing references) //IL_00be: Invalid comparison between Unknown and I4 //IL_005f: Unknown result type (might be due to invalid IL or missing references) //IL_0068: Unknown result type (might be due to invalid IL or missing references) //IL_006d: Unknown result type (might be due to invalid IL or missing references) //IL_0071: Unknown result type (might be due to invalid IL or missing references) //IL_008a: Unknown result type (might be due to invalid IL or missing references) //IL_0090: Unknown result type (might be due to invalid IL or missing references) //IL_00a4: Unknown result type (might be due to invalid IL or missing references) NetworkManager networkManager = ((NetworkBehaviour)this).NetworkManager; if (networkManager != null && networkManager.IsListening) { if ((int)base.__rpc_exec_stage != 2 && (networkManager.IsServer || networkManager.IsHost)) { ClientRpcParams val = default(ClientRpcParams); FastBufferWriter val2 = ((NetworkBehaviour)this).__beginSendClientRpc(3745919737u, val, (RpcDelivery)0); BytePacker.WriteValueBitPacked(val2, playerId); ((FastBufferWriter)(ref val2)).WriteValueSafe<float>(ref flashFilter, default(ForPrimitives)); ((NetworkBehaviour)this).__endSendClientRpc(ref val2, 3745919737u, val, (RpcDelivery)0); } if ((int)base.__rpc_exec_stage == 2 && (networkManager.IsClient || networkManager.IsHost) && (Object)(object)GameNetworkManager.Instance.localPlayerController == (Object)(object)StartOfRound.Instance.allPlayerObjects[playerId].GetComponent<PlayerControllerB>() && HUDManager.Instance.flashFilter < flashFilter) { HUDManager.Instance.flashFilter = flashFilter; } } } [ServerRpc(RequireOwnership = false)] public void SetPlayerParryingServerRpc(int playerId, bool enable) { //IL_0024: Unknown result type (might be due to invalid IL or missing references) //IL_002e: Invalid comparison between Unknown and I4 //IL_00b4: Unknown result type (might be due to invalid IL or missing references) //IL_00be: Invalid comparison between Unknown and I4 //IL_005f: Unknown result type (might be due to invalid IL or missing references) //IL_0068: Unknown result type (might be due to invalid IL or missing references) //IL_006d: Unknown result type (might be due to invalid IL or missing references) //IL_0071: Unknown result type (might be due to invalid IL or missing references) //IL_008a: Unknown result type (might be due to invalid IL or missing references) //IL_0090: Unknown result type (might be due to invalid IL or missing references) //IL_00a4: Unknown result type (might be due to invalid IL or missing references) NetworkManager networkManager = ((NetworkBehaviour)this).NetworkManager; if (networkManager != null && networkManager.IsListening) { if ((int)base.__rpc_exec_stage != 1 && (networkManager.IsClient || networkManager.IsHost)) { ServerRpcParams val = default(ServerRpcParams); FastBufferWriter val2 = ((NetworkBehaviour)this).__beginSendServerRpc(4220854600u, val, (RpcDelivery)0); BytePacker.WriteValueBitPacked(val2, playerId); ((FastBufferWriter)(ref val2)).WriteValueSafe<bool>(ref enable, default(ForPrimitives)); ((NetworkBehaviour)this).__endSendServerRpc(ref val2, 4220854600u, val, (RpcDelivery)0); } if ((int)base.__rpc_exec_stage == 1 && (networkManager.IsServer || networkManager.IsHost)) { SetPlayerParryingClientRpc(playerId, enable); } } } [ClientRpc] private void SetPlayerParryingClientRpc(int playerId, bool enable) { //IL_0024: Unknown result type (might be due to invalid IL or missing references) //IL_002e: Invalid comparison between Unknown and I4 //IL_00b4: Unknown result type (might be due to invalid IL or missing references) //IL_00be: Invalid comparison between Unknown and I4 //IL_005f: Unknown result type (might be due to invalid IL or missing references) //IL_0068: Unknown result type (might be due to invalid IL or missing references) //IL_006d: Unknown result type (might be due to invalid IL or missing references) //IL_0071: Unknown result type (might be due to invalid IL or missing references) //IL_008a: Unknown result type (might be due to invalid IL or missing references) //IL_0090: Unknown result type (might be due to invalid IL or missing references) //IL_00a4: Unknown result type (might be due to invalid IL or missing references) NetworkManager networkManager = ((NetworkBehaviour)this).NetworkManager; if (networkManager == null || !networkManager.IsListening) { return; } if ((int)base.__rpc_exec_stage != 2 && (networkManager.IsServer || networkManager.IsHost)) { ClientRpcParams val = default(ClientRpcParams); FastBufferWriter val2 = ((NetworkBehaviour)this).__beginSendClientRpc(2902647558u, val, (RpcDelivery)0); BytePacker.WriteValueBitPacked(val2, playerId); ((FastBufferWriter)(ref val2)).WriteValueSafe<bool>(ref enable, default(ForPrimitives)); ((NetworkBehaviour)this).__endSendClientRpc(ref val2, 2902647558u, val, (RpcDelivery)0); } if ((int)base.__rpc_exec_stage == 2 && (networkManager.IsClient || networkManager.IsHost)) { PlayerControllerB component = StartOfRound.Instance.allPlayerObjects[playerId].GetComponent<PlayerControllerB>(); PlayerAFBehaviour component2 = ((Component)component).GetComponent<PlayerAFBehaviour>(); if ((Object)(object)component != (Object)null && (Object)(object)component2 != (Object)null) { component2.isParrying = enable; } } } [ServerRpc(RequireOwnership = false)] public void ParryPlayerServerRpc(int playerId, int playerWhoHitId) { //IL_0024: Unknown result type (might be due to invalid IL or missing references) //IL_002e: Invalid comparison between Unknown and I4 //IL_00a6: Unknown result type (might be due to invalid IL or missing references) //IL_00b0: Invalid comparison between Unknown and I4 //IL_005f: Unknown result type (might be due to invalid IL or missing references) //IL_0068: Unknown result type (might be due to invalid IL or missing references) //IL_006d: Unknown result type (might be due to invalid IL or missing references) //IL_0071: Unknown result type (might be due to invalid IL or missing references) //IL_007e: 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) NetworkManager networkManager = ((NetworkBehaviour)this).NetworkManager; if (networkManager != null && networkManager.IsListening) { if ((int)base.__rpc_exec_stage != 1 && (networkManager.IsClient || networkManager.IsHost)) { ServerRpcParams val = default(ServerRpcParams); FastBufferWriter val2 = ((NetworkBehaviour)this).__beginSendServerRpc(1232241059u, val, (RpcDelivery)0); BytePacker.WriteValueBitPacked(val2, playerId); BytePacker.WriteValueBitPacked(val2, playerWhoHitId); ((NetworkBehaviour)this).__endSendServerRpc(ref val2, 1232241059u, val, (RpcDelivery)0); } if ((int)base.__rpc_exec_stage == 1 && (networkManager.IsServer || networkManager.IsHost)) { ParryPlayerClientRpc(playerId, playerWhoHitId); } } } [ClientRpc] public void ParryPlayerClientRpc(int playerId, int playerWhoHitId) { //IL_0024: Unknown result type (might be due to invalid IL or missing references) //IL_002e: Invalid comparison between Unknown and I4 //IL_00a6: Unknown result type (might be due to invalid IL or missing references) //IL_00b0: Invalid comparison between Unknown and I4 //IL_005f: Unknown result type (might be due to invalid IL or missing references) //IL_0068: Unknown result type (might be due to invalid IL or missing references) //IL_006d: Unknown result type (might be due to invalid IL or missing references) //IL_0071: Unknown result type (might be due to invalid IL or missing references) //IL_007e: 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) NetworkManager networkManager = ((NetworkBehaviour)this).NetworkManager; if (networkManager == null || !networkManager.IsListening) { return; } if ((int)base.__rpc_exec_stage != 2 && (networkManager.IsServer || networkManager.IsHost)) { ClientRpcParams val = default(ClientRpcParams); FastBufferWriter val2 = ((NetworkBehaviour)this).__beginSendClientRpc(2412820656u, val, (RpcDelivery)0); BytePacker.WriteValueBitPacked(val2, playerId); BytePacker.WriteValueBitPacked(val2, playerWhoHitId); ((NetworkBehaviour)this).__endSendClientRpc(ref val2, 2412820656u, val, (RpcDelivery)0); } if ((int)base.__rpc_exec_stage == 2 && (networkManager.IsClient || networkManager.IsHost)) { PlayerControllerB component = StartOfRound.Instance.allPlayerObjects[playerWhoHitId].GetComponent<PlayerControllerB>(); if ((Object)(object)component != (Object)(object)GameNetworkManager.Instance.localPlayerController) { PlayerControllerB player = StartOfRound.Instance.allPlayerObjects[playerId].GetComponent<PlayerControllerB>(); PlayerControllerBPatch.AddParriedPlayer(player, component); PlayerControllerBPatch.ParryEntity(ref player, isEnemy: false); } } } [ServerRpc(RequireOwnership = false)] public void StunPlayerServerRpc(int playerId, float stunTime, bool isItemDropped, bool isPlayerImmobilized) { //IL_0024: Unknown result type (might be due to invalid IL or missing references) //IL_002e: Invalid comparison between Unknown and I4 //IL_00ea: Unknown result type (might be due to invalid IL or missing references) //IL_00f4: Invalid comparison between Unknown and I4 //IL_005f: Unknown result type (might be due to invalid IL or missing references) //IL_0068: Unknown result type (might be due to invalid IL or missing references) //IL_006d: Unknown result type (might be due to invalid IL or missing references) //IL_0071: Unknown result type (might be due to invalid IL or missing references) //IL_008a: Unknown result type (might be due to invalid IL or missing references) //IL_0090: Unknown result type (might be due to invalid IL or missing references) //IL_00a5: 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) //IL_00c0: Unknown result type (might be due to invalid IL or missing references) //IL_00c6: Unknown result type (might be due to invalid IL or missing references) //IL_00da: Unknown result type (might be due to invalid IL or missing references) NetworkManager networkManager = ((NetworkBehaviour)this).NetworkManager; if (networkManager != null && networkManager.IsListening) { if ((int)base.__rpc_exec_stage != 1 && (networkManager.IsClient || networkManager.IsHost)) { ServerRpcParams val = default(ServerRpcParams); FastBufferWriter val2 = ((NetworkBehaviour)this).__beginSendServerRpc(4057804157u, val, (RpcDelivery)0); BytePacker.WriteValueBitPacked(val2, playerId); ((FastBufferWriter)(ref val2)).WriteValueSafe<float>(ref stunTime, default(ForPrimitives)); ((FastBufferWriter)(ref val2)).WriteValueSafe<bool>(ref isItemDropped, default(ForPrimitives)); ((FastBufferWriter)(ref val2)).WriteValueSafe<bool>(ref isPlayerImmobilized, default(ForPrimitives)); ((NetworkBehaviour)this).__endSendServerRpc(ref val2, 4057804157u, val, (RpcDelivery)0); } if ((int)base.__rpc_exec_stage == 1 && (networkManager.IsServer || networkManager.IsHost) && (isItemDropped || isPlayerImmobilized)) { StunPlayerClientRpc(playerId, stunTime, isItemDropped, isPlayerImmobilized); } } } [ClientRpc] public void StunPlayerClientRpc(int playerId, float stunTime, bool isItemDropped, bool isPlayerImmobilized) { //IL_0024: Unknown result type (might be due to invalid IL or missing references) //IL_002e: Invalid comparison between Unknown and I4 //IL_00ea: Unknown result type (might be due to invalid IL or missing references) //IL_00f4: Invalid comparison between Unknown and I4 //IL_005f: Unknown result type (might be due to invalid IL or missing references) //IL_0068: Unknown result type (might be due to invalid IL or missing references) //IL_006d: Unknown result type (might be due to invalid IL or missing references) //IL_0071: Unknown result type (might be due to invalid IL or missing references) //IL_008a: Unknown result type (might be due to invalid IL or missing references) //IL_0090: Unknown result type (might be due to invalid IL or missing references) //IL_00a5: 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) //IL_00c0: Unknown result type (might be due to invalid IL or missing references) //IL_00c6: Unknown result type (might be due to invalid IL or missing references) //IL_00da: Unknown result type (might be due to invalid IL or missing references) //IL_0184: Unknown result type (might be due to invalid IL or missing references) //IL_018a: Unknown result type (might be due to invalid IL or missing references) NetworkManager networkManager = ((NetworkBehaviour)this).NetworkManager; if (networkManager == null || !networkManager.IsListening) { return; } if ((int)base.__rpc_exec_stage != 2 && (networkManager.IsServer || networkManager.IsHost)) { ClientRpcParams val = default(ClientRpcParams); FastBufferWriter val2 = ((NetworkBehaviour)this).__beginSendClientRpc(4460014u, val, (RpcDelivery)0); BytePacker.WriteValueBitPacked(val2, playerId); ((FastBufferWriter)(ref val2)).WriteValueSafe<float>(ref stunTime, default(ForPrimitives)); ((FastBufferWriter)(ref val2)).WriteValueSafe<bool>(ref isItemDropped, default(ForPrimitives)); ((FastBufferWriter)(ref val2)).WriteValueSafe<bool>(ref isPlayerImmobilized, default(ForPrimitives)); ((NetworkBehaviour)this).__endSendClientRpc(ref val2, 4460014u, val, (RpcDelivery)0); } if ((int)base.__rpc_exec_stage != 2 || (!networkManager.IsClient && !networkManager.IsHost)) { return; } PlayerControllerB component = StartOfRound.Instance.allPlayerObjects[playerId].GetComponent<PlayerControllerB>(); if (isItemDropped && (Object)(object)component.currentlyHeldObjectServer != (Object)null) { GrabbableObject currentlyHeldObjectServer = component.currentlyHeldObjectServer; Shovel val3 = (Shovel)(object)((currentlyHeldObjectServer is Shovel) ? currentlyHeldObjectServer : null); if (val3 != null) { val3.reelingUp = false; if (val3.reelingUpCoroutine != null) { ((MonoBehaviour)this).StopCoroutine(val3.reelingUpCoroutine); val3.reelingUpCoroutine = null; } if ((Object)(object)component == (Object)(object)GameNetworkManager.Instance.localPlayerController) { component.DiscardHeldObject(false, (NetworkObject)null, default(Vector3), true); } } } if (isPlayerImmobilized) { ((MonoBehaviour)this).StartCoroutine(StunPlayer(component, stunTime)); } } private IEnumerator StunPlayer(PlayerControllerB player, float stunTime) { GameObject stunEffect = Object.Instantiate<GameObject>(AddonFusion.stunParticle, ((Component)player.gameplayCamera).transform.position + Vector3.up * 0.1f + ((Component)player.gameplayCamera).transform.right * -0.3f, ((Component)player).transform.rotation); stunEffect.transform.SetParent(((Component)player).transform); if ((Object)(object)player == (Object)(object)GameNetworkManager.Instance.localPlayerController) { AFUtilities.EnablePlayerActions(enable: false); player.disableLookInput = true; player.inSpecialInteractAnimation = true; player.snapToServerPosition = true; } yield return (object)new WaitForSeconds(stunTime); if ((Object)(object)player == (Object)(object)GameNetworkManager.Instance.localPlayerController) { AFUtilities.EnablePlayerActions(enable: true); player.disableLookInput = false; player.inSpecialInteractAnimation = false; player.snapToServerPosition = false; } Object.Destroy((Object)(object)stunEffect); } [ServerRpc(RequireOwnership = false)] public void StunEnemyServerRpc(NetworkObjectReference enemyObject, float stunTime, int playerId) { //IL_0024: Unknown result type (might be due to invalid IL or missing references) //IL_002e: Invalid comparison between Unknown and I4 //IL_00cf: Unknown result type (might be due to invalid IL or missing references) //IL_00d9: Invalid comparison between Unknown and I4 //IL_005f: Unknown result type (might be due to invalid IL or missing references) //IL_0068: Unknown result type (might be due to invalid IL or missing references) //IL_006d: 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_0083: 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) //IL_009e: Unknown result type (might be due to invalid IL or missing references) //IL_00a7: Unknown result type (might be due to invalid IL or missing references) //IL_00bf: Unknown result type (might be due to invalid IL or missing references) //IL_00ff: Unknown result type (might be due to invalid IL or missing references) NetworkManager networkManager = ((NetworkBehaviour)this).NetworkManager; if (networkManager != null && networkManager.IsListening) { if ((int)base.__rpc_exec_stage != 1 && (networkManager.IsClient || networkManager.IsHost)) { ServerRpcParams val = default(ServerRpcParams); FastBufferWriter val2 = ((NetworkBehaviour)this).__beginSendServerRpc(3066553978u, val, (RpcDelivery)0); ((FastBufferWriter)(ref val2)).WriteValueSafe<NetworkObjectReference>(ref enemyObject, default(ForNetworkSerializable)); ((FastBufferWriter)(ref val2)).WriteValueSafe<float>(ref stunTime, default(ForPrimitives)); BytePacker.WriteValueBitPacked(val2, playerId); ((NetworkBehaviour)this).__endSendServerRpc(ref val2, 3066553978u, val, (RpcDelivery)0); } if ((int)base.__rpc_exec_stage == 1 && (networkManager.IsServer || networkManager.IsHost)) { StunEnemyClientRpc(enemyObject, stunTime, playerId); } } } [ClientRpc] public void StunEnemyClientRpc(NetworkObjectReference enemyObject, float stunTime, int playerId) { //IL_0024: Unknown result type (might be due to invalid IL or missing references) //IL_002e: Invalid comparison between Unknown and I4 //IL_00cf: Unknown result type (might be due to invalid IL or missing references) //IL_00d9: Invalid comparison between Unknown and I4 //IL_005f: Unknown result type (might be due to invalid IL or missing references) //IL_0068: Unknown result type (might be due to invalid IL or missing references) //IL_006d: 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_0083: 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) //IL_009e: Unknown result type (might be due to invalid IL or missing references) //IL_00a7: Unknown result type (might be due to invalid IL or missing references) //IL_00bf: Unknown result type (might be due to invalid IL or missing references) NetworkManager networkManager = ((NetworkBehaviour)this).NetworkManager; if (networkManager == null || !networkManager.IsListening) { return; } if ((int)base.__rpc_exec_stage != 2 && (networkManager.IsServer || networkManager.IsHost)) { ClientRpcParams val = default(ClientRpcParams); FastBufferWriter val2 = ((NetworkBehaviour)this).__beginSendClientRpc(199093389u, val, (RpcDelivery)0); ((FastBufferWriter)(ref val2)).WriteValueSafe<NetworkObjectReference>(ref enemyObject, default(ForNetworkSerializable)); ((FastBufferWriter)(ref val2)).WriteValueSafe<float>(ref stunTime, default(ForPrimitives)); BytePacker.WriteValueBitPacked(val2, playerId); ((NetworkBehaviour)this).__endSendClientRpc(ref val2, 199093389u, val, (RpcDelivery)0); } NetworkObject val3 = default(NetworkObject); if ((int)base.__rpc_exec_stage == 2 && (networkManager.IsClient || networkManager.IsHost) && ((NetworkObjectReference)(ref enemyObject)).TryGet(ref val3, (NetworkManager)null)) { EnemyAI componentInChildren = ((Component)val3).gameObject.GetComponentInChildren<EnemyAI>(); if (componentInChildren != null) { componentInChildren.SetEnemyStunned(true, stunTime, StartOfRound.Instance.allPlayerObjects[playerId].GetComponent<PlayerControllerB>()); } } } [ServerRpc(RequireOwnership = false)] public void RemoveSprayPaintDecalServerRpc(NetworkObjectReference obj, Vector3 position) { //IL_0024: Unknown result type (might be due to invalid IL or missing references) //IL_002e: Invalid comparison between Unknown and I4 //IL_00b4: Unknown result type (might be due to invalid IL or missing references) //IL_00be: Invalid comparison between Unknown and I4 //IL_005f: Unknown result type (might be due to invalid IL or missing references) //IL_0068: Unknown result type (might be due to invalid IL or missing references) //IL_006d: 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_0083: Unknown result type (might be due to invalid IL or missing references) //IL_00a4: Unknown result type (might be due to invalid IL or missing references) //IL_00e4: Unknown result type (might be due to invalid IL or missing references) //IL_00e5: Unknown result type (might be due to invalid IL or missing references) NetworkManager networkManager = ((NetworkBehaviour)this).NetworkManager; if (networkManager != null && networkManager.IsListening) { if ((int)base.__rpc_exec_stage != 1 && (networkManager.IsClient || networkManager.IsHost)) { ServerRpcParams val = default(ServerRpcParams); FastBufferWriter val2 = ((NetworkBehaviour)this).__beginSendServerRpc(3892143410u, val, (RpcDelivery)0); ((FastBufferWriter)(ref val2)).WriteValueSafe<NetworkObjectReference>(ref obj, default(ForNetworkSerializable)); ((FastBufferWriter)(ref val2)).WriteValueSafe(ref position); ((NetworkBehaviour)this).__endSendServerRpc(ref val2, 3892143410u, val, (RpcDelivery)0); } if ((int)base.__rpc_exec_stage == 1 && (networkManager.IsServer || networkManager.IsHost)) { RemoveSprayPaintDecalClientRpc(obj, position); } } } [ClientRpc] private void RemoveSprayPaintDecalClientRpc(NetworkObjectReference obj, Vector3 position) { //IL_0024: Unknown result type (might be due to invalid IL or missing references) //IL_002e: Invalid comparison between Unknown and I4 //IL_00b4: Unknown result type (might be due to invalid IL or missing references) //IL_00be: Invalid comparison between Unknown and I4 //IL_005f: Unknown result type (might be due to invalid IL or missing references) //IL_0068: Unknown result type (might be due to invalid IL or missing references) //IL_006d: 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_0083: Unknown result type (might be due to invalid IL or missing references) //IL_00a4: Unknown result type (might be due to invalid IL or missing references) //IL_011f: Unknown result type (might be due to invalid IL or missing references) //IL_0124: Unknown result type (might be due to invalid IL or missing references) NetworkManager networkManager = ((NetworkBehaviour)this).NetworkManager; if (networkManager == null || !networkManager.IsListening) { return; } if ((int)base.__rpc_exec_stage != 2 && (networkManager.IsServer || networkManager.IsHost)) { ClientRpcParams val = default(ClientRpcParams); FastBufferWriter val2 = ((NetworkBehaviour)this).__beginSendClientRpc(265515377u, val, (RpcDelivery)0); ((FastBufferWriter)(ref val2)).WriteValueSafe<NetworkObjectReference>(ref obj, default(ForNetworkSerializable)); ((FastBufferWriter)(ref val2)).WriteValueSafe(ref position); ((NetworkBehaviour)this).__endSendClientRpc(ref val2, 265515377u, val, (RpcDelivery)0); } NetworkObject val3 = default(NetworkObject); if ((int)base.__rpc_exec_stage != 2 || (!networkManager.IsClient && !networkManager.IsHost) || !((NetworkObjectReference)(ref obj)).TryGet(ref val3, (NetworkManager)null)) { return; } SprayPaintItem componentInChildren = ((Component)val3).gameObject.GetComponentInChildren<SprayPaintItem>(); if (!((Object)(object)componentInChildren != (Object)null)) { return; } foreach (GameObject sprayPaintDecal in SprayPaintItem.sprayPaintDecals) { if (sprayPaintDecal.transform.position == position) { sprayPaintDecal.SetActive(false); } } } [ServerRpc(RequireOwnership = false)] public void SetAddonServerRpc(NetworkObjectReference obj, string addonName) { //IL_0024: Unknown result type (might be due to invalid IL or missing references) //IL_002e: Invalid comparison between Unknown and I4 //IL_00e5: Unknown result type (might be due to invalid IL or missing references) //IL_00ef: Invalid comparison between Unknown and I4 //IL_005f: Unknown result type (might be due to invalid IL or missing references) //IL_0068: Unknown result type (might be due to invalid IL or missing references) //IL_006d: 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_0083: Unknown result type (might be due to invalid IL or missing references) //IL_00a3: Unknown result type (might be due to invalid IL or missing references) //IL_00a9: Unknown result type (might be due to invalid IL or missing references) //IL_0115: Unknown result type (might be due to invalid IL or missing references) //IL_00d5: Unknown result type (might be due to invalid IL or missing references) NetworkManager networkManager = ((NetworkBehaviour)this).NetworkManager; if (networkManager == null || !networkManager.IsListening) { return; } if ((int)base.__rpc_exec_stage != 1 && (networkManager.IsClient || networkManager.IsHost)) { ServerRpcParams val = default(ServerRpcParams); FastBufferWriter val2 = ((NetworkBehaviour)this).__beginSendServerRpc(1706949683u, val, (RpcDelivery)0); ((FastBufferWriter)(ref val2)).WriteValueSafe<NetworkObjectReference>(ref obj, default(ForNetworkSerializable)); bool flag = addonName != null; ((FastBufferWriter)(ref val2)).WriteValueSafe<bool>(ref flag, default(ForPrimitives)); if (flag) { ((FastBufferWriter)(ref val2)).WriteValueSafe(addonName, false); } ((NetworkBehaviour)this).__endSendServerRpc(ref val2, 1706949683u, val, (RpcDelivery)0); } if ((int)base.__rpc_exec_stage == 1 && (networkManager.IsServer || networkManager.IsHost)) { SetAddonClientRpc(obj, addonName); } } [ClientRpc] public void SetAddonClientRpc(NetworkObjectReference obj, string addonName) { //IL_0024: Unknown result type (might be due to invalid IL or missing references) //IL_002e: Invalid comparison between Unknown and I4 //IL_00e5: Unknown result type (might be due to invalid IL or missing references) //IL_00ef: Invalid comparison between Unknown and I4 //IL_005f: Unknown result type (might be due to invalid IL or missing references) //IL_0068: Unknown result type (might be due to invalid IL or missing references) //IL_006d: 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_0083: Unknown result type (might be due to invalid IL or missing references) //IL_00a3: Unknown result type (might be due to invalid IL or missing references) //IL_00a9: Unknown result type (might be due to invalid IL or missing references) //IL_00d5: Unknown result type (might be due to invalid IL or missing references) NetworkManager networkManager = ((NetworkBehaviour)this).NetworkManager; if (networkManager == null || !networkManager.IsListening) { return; } if ((int)base.__rpc_exec_stage != 2 && (networkManager.IsServer || networkManager.IsHost)) { ClientRpcParams val = default(ClientRpcParams); FastBufferWriter val2 = ((NetworkBehaviour)this).__beginSendClientRpc(3910001185u, val, (RpcDelivery)0); ((FastBufferWriter)(ref val2)).WriteValueSafe<NetworkObjectReference>(ref obj, default(ForNetworkSerializable)); bool flag = addonName != null; ((FastBufferWriter)(ref val2)).WriteValueSafe<bool>(ref flag, default(ForPrimitives)); if (flag) { ((FastBufferWriter)(ref val2)).WriteValueSafe(addonName, false); } ((NetworkBehaviour)this).__endSendClientRpc(ref val2, 3910001185u, val, (RpcDelivery)0); } NetworkObject val3 = default(NetworkObject); if ((int)base.__rpc_exec_stage == 2 && (networkManager.IsClient || networkManager.IsHost) && ((NetworkObjectReference)(ref obj)).TryGet(ref val3, (NetworkManager)null)) { SetAddon(((Component)val3).gameObject.GetComponentInChildren<GrabbableObject>(), addonName); } } public void SetAddon(GrabbableObject grabbableObject, string addonName) { if ((Object)(object)grabbableObject != (Object)null) { Addon addon = ((Component)grabbableObject).gameObject.GetComponent<Addon>() ?? ((Component)grabbableObject).gameObject.AddComponent<Addon>(); addon.hasAddon = true; addon.addonName = addonName; } } [ServerRpc(RequireOwnership = false)] public void SetEphemeralServerRpc(NetworkObjectReference obj, int maxUse) { //IL_0024: Unknown result type (might be due to invalid IL or missing references) //IL_002e: Invalid comparison between Unknown and I4 //IL_00b4: Unknown result type (might be due to invalid IL or missing references) //IL_00be: Invalid comparison between Unknown and I4 //IL_005f: Unknown result type (might be due to invalid IL or missing references) //IL_0068: Unknown result type (might be due to invalid IL or missing references) //IL_006d: 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_0083: Unknown result type (might be due to invalid IL or missing references) //IL_008c: Unknown result type (might be due to invalid IL or missing references) //IL_00a4: Unknown result type (might be due to invalid IL or missing references) //IL_00e4: Unknown result type (might be due to invalid IL or missing references) NetworkManager networkManager = ((NetworkBehaviour)this).NetworkManager; if (networkManager != null && networkManager.IsListening) { if ((int)base.__rpc_exec_stage != 1 && (networkManager.IsClient || networkManager.IsHost)) { ServerRpcParams val = default(ServerRpcParams); FastBufferWriter val2 = ((NetworkBehaviour)this).__beginSendServerRpc(3454392667u, val, (RpcDelivery)0); ((FastBufferWriter)(ref val2)).WriteValueSafe<NetworkObjectReference>(ref obj, default(ForNetworkSerializable)); BytePacker.WriteValueBitPacked(val2, maxUse); ((NetworkBehaviour)this).__endSendServerRpc(ref val2, 3454392667u, val, (RpcDelivery)0); } if ((int)base.__rpc_exec_stage == 1 && (networkManager.IsServer || networkManager.IsHost)) { SetEphemeralClientRpc(obj, maxUse); } } } [ClientRpc] public void SetEphemeralClientRpc(NetworkObjectReference obj, int maxUse) { //IL_0024: Unknown result type (might be due to invalid IL or missing references) //IL_002e: Invalid comparison between Unknown and I4 //IL_00b4: Unknown result type (might be due to invalid IL or missing references) //IL_00be: Invalid comparison between Unknown and I4 //IL_005f: Unknown result type (might be due to invalid IL or missing references) //IL_0068: Unknown result type (might be due to invalid IL or missing references) //IL_006d: 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_0083: Unknown result type (might be due to invalid IL or missing references) //IL_008c: Unknown result type (might be due to invalid IL or missing references) //IL_00a4: Unknown result type (might be due to invalid IL or missing references) NetworkManager networkManager = ((NetworkBehaviour)this).NetworkManager; if (networkManager != null && networkManager.IsListening) { if ((int)base.__rpc_exec_stage != 2 && (networkManager.IsServer || networkManager.IsHost)) { ClientRpcParams val = default(ClientRpcParams); FastBufferWriter val2 = ((NetworkBehaviour)this).__beginSendClientRpc(680614074u, val, (RpcDelivery)0); ((FastBufferWriter)(ref val2)).WriteValueSafe<NetworkObjectReference>(ref obj, default(ForNetworkSerializable)); BytePacker.WriteValueBitPacked(val2, maxUse); ((NetworkBehaviour)this).__endSendClientRpc(ref val2, 680614074u, val, (RpcDelivery)0); } NetworkObject val3 = default(NetworkObject); if ((int)base.__rpc_exec_stage == 2 && (networkManager.IsClient || networkManager.IsHost) && ((NetworkObjectReference)(ref obj)).TryGet(ref val3, (NetworkManager)null)) { SetEphemeralItem(((Component)val3).gameObject.GetComponentInChildren<GrabbableObject>(), maxUse); } } } public void SetEphemeralItem(GrabbableObject grabbableObject, int maxUse) { //IL_00d6: Unknown result type (might be due to invalid IL or missing references) //IL_00dd: Expected O, but got Unknown //IL_00f5: Unknown result type (might be due to invalid IL or missing references) //IL_00ff: Unknown result type (might be due to invalid IL or missing references) //IL_0127: Unknown result type (might be due to invalid IL or missing references) //IL_012c: Unknown result type (might be due to invalid IL or missing references) if (!((Object)(object)grabbableObject != (Object)null)) { return; } grabbableObject.itemProperties.isScrap = false; grabbableObject.scrapValue = 0; EphemeralItem ephemeralItem = ((Component)grabbableObject).gameObject.GetComponent<EphemeralItem>() ?? ((Component)grabbableObject).gameObject.AddComponent<EphemeralItem>(); ephemeralItem.isEphemeral = true; FlashlightItem val = (FlashlightItem)(object)((grabbableObject is FlashlightItem) ? grabbableObject : null); if (val != null) { ((GrabbableObject)val).insertedBattery.charge = (float)maxUse / 100f; } else { SprayPaintItem val2 = (SprayPaintItem)(object)((grabbableObject is SprayPaintItem) ? grabbableObject : null); if (val2 != null) { val2.sprayCanTank = (float)maxUse / 100f; } else { TetraChemicalItem val3 = (TetraChemicalItem)(object)((grabbableObject is TetraChemicalItem) ? grabbableObject : null); if (val3 != null) { val3.fuel = (float)maxUse / 100f; } else { ephemeralItem.maxUse = maxUse; } } } if ((Object)(object)((Component)grabbableObject).gameObject.GetComponentInChildren<ScanNodeProperties>() == (Object)null) { GameObject val4 = new GameObject("ScanNode", new Type[2] { typeof(ScanNodeProperties), typeof(BoxCollider) }); val4.layer = LayerMask.NameToLayer("ScanNode"); val4.transform.localScale = Vector3.one * 1f; val4.transform.parent = ((Component)grabbableObject).gameObject.transform; val4.transform.SetLocalPositionAndRotation(Vector3.zero, Quaternion.identity); ScanNodeProperties component = val4.GetComponent<ScanNodeProperties>(); component.scrapValue = 0; component.creatureScanID = -1; component.nodeType = 0; component.minRange = 1; component.maxRange = 13; component.requiresLineOfSight = true; component.headerText = "Ephemeral " + grabbableObject.itemProperties.itemName; } else { ScanNodeProperties componentInChildren = ((Component)grabbableObject).gameObject.GetComponentInChildren<ScanNodeProperties>(); componentInChildren.scrapValue = 0; componentInChildren.creatureScanID = -1; componentInChildren.nodeType = 0; componentInChildren.headerText = "Ephemeral " + grabbableObject.itemProperties.itemName; componentInChildren.subText = null; } } protected override void __initializeVariables() { ((NetworkBehaviour)this).__initializeVariables(); } [RuntimeInitializeOnLoadMethod] internal static void InitializeRPCS_AddonFusionNetworkManager() { //IL_0011: Unknown result type (might be due to invalid IL or missing references) //IL_001b: Expected O, but got Unknown //IL_002c: Unknown result type (might be due to invalid IL or missing references) //IL_0036: Expected O, but got Unknown //IL_0047: Unknown result type (might be due to invalid IL or missing references) //IL_0051: Expected O, but got Unknown //IL_0062: Unknown result type (might be due to invalid IL or missing references) //IL_006c: Expected O, but got Unknown //IL_007d: Unknown result type (might be due to invalid IL or missing references) //IL_0087: Expected O, but got Unknown //IL_0098: Unknown result type (might be due to invalid IL or missing references) //IL_00a2: Expected O, but got Unknown //IL_00b3: Unknown result type (might be due to invalid IL or missing references) //IL_00bd: Expected O, but got Unknown //IL_00ce: Unknown result type (might be due to invalid IL or missing references) //IL_00d8: Expected O, but got Unknown //IL_00e9: Unknown result type (might be due to invalid IL or missing references) //IL_00f3: Expected O, but got Unknown //IL_0104: Unknown result type (might be due to invalid IL or missing references) //IL_010e: Expected O, but got Unknown //IL_011f: Unknown result type (might be due to invalid IL or missing references) //IL_0129: Expected O, but got Unknown //IL_013a: Unknown result type (might be due to invalid IL or missing references) //IL_0144: Expected O, but got Unknown //IL_0155: Unknown result type (might be due to invalid IL or missing references) //IL_015f: Expected O, but got Unknown //IL_0170: Unknown result type (might be due to invalid IL or missing references) //IL_017a: Expected O, but got Unknown //IL_018b: Unknown result type (might be due to invalid IL or missing references) //IL_0195: Expected O, but got Unknown //IL_01a6: Unknown result type (might be due to invalid IL or missing references) //IL_01b0: Expected O, but got Unknown //IL_01c1: Unknown result type (might be due to invalid IL or missing references) //IL_01cb: Expected O, but got Unknown //IL_01dc: Unknown result type (might be due to invalid IL or missing references) //IL_01e6: Expected O, but got Unknown //IL_01f7: Unknown result type (might be due to invalid IL or missing references) //IL_0201: Expected O, but got Unknown //IL_0212: Unknown result type (might be due to invalid IL or missing references) //IL_021c: Expected O, but got Unknown NetworkManager.__rpc_func_table.Add(2337963438u, new RpcReceiveHandler(__rpc_handler_2337963438)); NetworkManager.__rpc_func_table.Add(2490752138u, new RpcReceiveHandler(__rpc_handler_2490752138)); NetworkManager.__rpc_func_table.Add(2685597582u, new RpcReceiveHandler(__rpc_handler_2685597582)); NetworkManager.__rpc_func_table.Add(3002418346u, new RpcReceiveHandler(__rpc_handler_3002418346)); NetworkManager.__rpc_func_table.Add(2906441364u, new RpcReceiveHandler(__rpc_handler_2906441364)); NetworkManager.__rpc_func_table.Add(3745919737u, new RpcReceiveHandler(__rpc_handler_3745919737)); NetworkManager.__rpc_func_table.Add(4220854600u, new RpcReceiveHandler(__rpc_handler_4220854600)); NetworkManager.__rpc_func_table.Add(2902647558u, new RpcReceiveHandler(__rpc_handler_2902647558)); NetworkManager.__rpc_func_table.Add(1232241059u, new RpcReceiveHandler(__rpc_handler_1232241059)); NetworkManager.__rpc_func_table.Add(2412820656u, new RpcReceiveHandler(__rpc_handler_2412820656)); NetworkManager.__rpc_func_table.Add(4057804157u, new RpcReceiveHandler(__rpc_handler_4057804157)); NetworkManager.__rpc_func_table.Add(4460014u, new RpcReceiveHandler(__rpc_handler_4460014)); NetworkManager.__rpc_func_table.Add(3066553978u, new RpcReceiveHandler(__rpc_handler_3066553978)); NetworkManager.__rpc_func_table.Add(199093389u, new RpcReceiveHandler(__rpc_handler_199093389)); NetworkManager.__rpc_func_table.Add(3892143410u, new RpcReceiveHandler(__rpc_handler_3892143410)); NetworkManager.__rpc_func_table.Add(265515377u, new RpcReceiveHandler(__rpc_handler_265515377)); NetworkManager.__rpc_func_table.Add(1706949683u, new RpcReceiveHandler(__rpc_handler_1706949683)); NetworkManager.__rpc_func_table.Add(3910001185u, new RpcReceiveHandler(__rpc_handler_3910001185)); NetworkManager.__rpc_func_table.Add(3454392667u, new RpcReceiveHandler(__rpc_handler_3454392667)); NetworkManager.__rpc_func_table.Add(680614074u, new RpcReceiveHandler(__rpc_handler_680614074)); } private static void __rpc_handler_2337963438(NetworkBehaviour target, FastBufferReader reader, __RpcParams rpcParams) { //IL_002f: Unknown result type (might be due to invalid IL or missing references) //IL_0035: Unknown result type (might be due to invalid IL or missing references) //IL_0044: Unknown result type (might be due to invalid IL or missing references) //IL_004f: Unknown result type (might be due to invalid IL or missing references) //IL_005e: Unknown result type (might be due to invalid IL or missing references) NetworkManager networkManager = target.NetworkManager; if (networkManager != null && networkManager.IsListening) { NetworkObjectReference obj = default(NetworkObjectReference); ((FastBufferReader)(ref reader)).ReadValueSafe<NetworkObjectReference>(ref obj, default(ForNetworkSerializable)); target.__rpc_exec_stage = (__RpcExecStage)1; ((AddonFusionNetworkManager)(object)target).DestroyObjectServerRpc(obj); target.__rpc_exec_stage = (__RpcExecStage)0; } } private static void __rpc_handler_2490752138(NetworkBehaviour target, FastBufferReader reader, __RpcParams rpcParams) { //IL_002f: Unknown result type (might be due to invalid IL or missing references) //IL_0035: Unknown result type (might be due to invalid IL or missing references) //IL_0044: Unknown result type (might be due to invalid IL or missing references) //IL_004f: Unknown result type (might be due to invalid IL or missing references) //IL_005e: Unknown result type (might be due to invalid IL or missing references) NetworkManager networkManager = target.NetworkManager; if (networkManager != null && networkManager.IsListening) { NetworkObjectReference obj = default(NetworkObjectReference); ((FastBufferReader)(ref reader)).ReadValueSafe<NetworkObjectReference>(ref obj, default(ForNetworkSerializable)); target.__rpc_exec_stage = (__RpcExecStage)2; ((AddonFusionNetworkManager)(object)target).DestroyObjectClientRpc(obj); target.__rpc_exec_stage = (__RpcExecStage)0; } } private static void __rpc_handler_2685597582(NetworkBehaviour target, FastBufferReader reader, __RpcParams rpcParams) { //IL_002f: Unknown result type (might be due to invalid IL or missing references) //IL_0035: Unknown result type (might be due to invalid IL or missing references) //IL_0051: Unknown result type (might be due to invalid IL or missing references) //IL_005c: 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_006f: Unknown result type (might be due to invalid IL or missing references) NetworkManager networkManager = target.NetworkManager; if (networkManager != null && networkManager.IsListening) { NetworkObjectReference obj = default(NetworkObjectReference); ((FastBufferReader)(ref reader)).ReadValueSafe<NetworkObjectReference>(ref obj, default(ForNetworkSerializable)); Vector3 position = default(Vector3); ((FastBufferReader)(ref reader)).ReadValueSafe(ref position); target.__rpc_exec_stage = (__RpcExecStage)1; ((AddonFusionNetworkManager)(object)target).ItemExplodeServerRpc(obj, position); target.__rpc_exec_stage = (__RpcExecStage)0; } } private static void __rpc_handler_3002418346(NetworkBehaviour target, FastBufferReader reader, __RpcParams rpcParams) { //IL_002f: Unknown result type (might be due to invalid IL or missing references) //IL_0035: Unknown result type (might be due to invalid IL or missing references) //IL_0051: Unknown result type (might be due to invalid IL or missing references) //IL_005c: 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_006f: Unknown result type (might be due to invalid IL or missing references) NetworkManager networkManager = target.NetworkManager; if (networkManager != null && networkManager.IsListening) { NetworkObjectReference obj = default(NetworkObjectReference); ((FastBufferReader)(ref reader)).ReadValueSafe<NetworkObjectReference>(ref obj, default(ForNetworkSerializable)); Vector3 position = default(Vector3); ((FastBufferReader)(ref reader)).ReadValueSafe(ref position); target.__rpc_exec_stage = (__RpcExecStage)2; ((AddonFusionNetworkManager)(object)target).ItemExplodeClientRpc(obj, position); target.__rpc_exec_stage = (__RpcExecStage)0; } } private static void __rpc_handler_2906441364(NetworkBehaviour target, FastBufferReader reader, __RpcParams rpcParams) { //IL_0023: 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_0042: Unknown result type (might be due to invalid IL or missing references) //IL_0051: Unknown result type (might be due to invalid IL or missing references) //IL_006f: Unknown result type (might be due to invalid IL or missing references) NetworkManager networkManager = target.NetworkManager; if (networkManager != null && networkManager.IsListening) { int playerId = default(int); ByteUnpacker.ReadValueBitPacked(reader, ref playerId); float flashFilter = default(float); ((FastBufferReader)(ref reader)).ReadValueSafe<float>(ref flashFilter, default(ForPrimitives)); target.__rpc_exec_stage = (__RpcExecStage)1; ((AddonFusionNetworkManager)(object)target).BlindPlayerServerRpc(playerId, flashFilter); target.__rpc_exec_stage = (__RpcExecStage)0; } } private static void __rpc_handler_3745919737(NetworkBehaviour target, FastBufferReader reader, __RpcParams rpcParams) { //IL_0023: 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_0042: Unknown result type (might be due to invalid IL or missing references) //IL_0051: Unknown result type (might be due to invalid IL or missing references) //IL_006f: Unknown result type (might be due to invalid IL or missing references) NetworkManager networkManager = target.NetworkManager; if (networkManager != null && networkManager.IsListening) { int playerId = default(int); ByteUnpacker.ReadValueBitPacked(reader, ref playerId); float flashFilter = default(float); ((FastBufferReader)(ref reader)).ReadValueSafe<float>(ref flashFilter, default(ForPrimitives)); target.__rpc_exec_stage = (__RpcExecStage)2; ((AddonFusionNetworkManager)(object)target).BlindPlayerClientRpc(playerId, flashFilter); target.__rpc_exec_stage = (__RpcExecStage)0; } } private static void __rpc_handler_4220854600(NetworkBehaviour target, FastBufferReader reader, __RpcParams rpcParams) { //IL_0023: 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_0042: Unknown result type (might be due to invalid IL or missing references) //IL_0051: Unknown result type (might be due to invalid IL or missing references) //IL_006f: Unknown result type (might be due to invalid IL or missing references) NetworkManager networkManager = target.NetworkManager; if (networkManager != null && networkManager.IsListening) { int playerId = default(int); ByteUnpacker.ReadValueBitPacked(reader, ref playerId); bool enable = default(bool); ((FastBufferReader)(ref reader)).ReadValueSafe<bool>(ref enable, default(ForPrimitives)); target.__rpc_exec_stage = (__RpcExecStage)1; ((AddonFusionNetworkManager)(object)target).SetPlayerParryingServerRpc(playerId, enable); target.__rpc_exec_stage = (__RpcExecStage)0; } } private static void __rpc_handler_2902647558(NetworkBehaviour target, FastBufferReader reader, __RpcParams rpcParams) { //IL_0023: 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_0042: Unknown result type (might be due to invalid IL or missing references) //IL_0051: Unknown result type (might be due to invalid IL or missing references) //IL_006f: Unknown result type (might be due to invalid IL or missing references) NetworkManager networkManager = target.NetworkManager; if (networkManager != null && networkManager.IsListening) { int playerId = default(int); ByteUnpacker.ReadValueBitPacked(reader, ref playerId); bool enable = default(bool); ((FastBufferReader)(ref reader)).ReadValueSafe<bool>(ref enable, default(ForPrimitives)); target.__rpc_exec_stage = (__RpcExecStage)2; ((AddonFusionNetworkManager)(object)target).SetPlayerParryingClientRpc(playerId, enable); target.__rpc_exec_stage = (__RpcExecStage)0; } } private static void __rpc_handler_1232241059(NetworkBehaviour target, FastBufferReader reader, __RpcParams rpcParams) { //IL_0023: Unknown result type (might be due to invalid IL or missing references) //IL_0030: 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_0061: Unknown result type (might be due to invalid IL or missing references) NetworkManager networkManager = target.NetworkManager; if (networkManager != null && networkManager.IsListening) { int playerId = default(int); ByteUnpacker.ReadValueBitPacked(reader, ref playerId); int playerWhoHitId = default(int); ByteUnpacker.ReadValueBitPacked(reader, ref playerWhoHitId); target.__rpc_exec_stage = (__RpcExecStage)1; ((AddonFusionNetworkManager)(object)target).ParryPlayerServerRpc(playerId, playerWhoHitId); target.__rpc_exec_stage = (__RpcExecStage)0; } } private static void __rpc_handler_2412820656(NetworkBehaviour target, FastBufferReader reader, __RpcParams rpcParams) { //IL_0023: Unknown result type (might be due to invalid IL or missing references) //IL_0030: 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_0061: Unknown result type (might be due to invalid IL or missing references) NetworkManager networkManager = target.NetworkManager; if (networkManager != null && networkManager.IsListening) { int playerId = default(int); ByteUnpacker.ReadValueBitPacked(reader, ref playerId); int playerWhoHitId = default(int); ByteUnpacker.ReadValueBitPacked(reader, ref playerWhoHitId); target.__rpc_exec_stage = (__RpcExecStage)2; ((AddonFusionNetworkManager)(object)target).ParryPlayerClientRpc(playerId, playerWhoHitId); target.__rpc_exec_stage = (__RpcExecStage)0; } } private static void __rpc_handler_4057804157(NetworkBehaviour target, FastBufferReader reader, __RpcParams rpcParams) { //IL_0023: 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_0042: Unknown result type (might be due to invalid IL or missing references) //IL_0057: Unknown result type (might be due to invalid IL or missing references) //IL_005d: 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_0078: 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_00ad: Unknown result type (might be due to invalid IL or missing references) NetworkManager networkManager = target.NetworkManager; if (networkManager != null && networkManager.IsListening) { int playerId = default(int); ByteUnpacker.ReadValueBitPacked(reader, ref playerId); float stunTime = default(float); ((FastBufferReader)(ref reader)).ReadValueSafe<float>(ref stunTime, default(ForPrimitives)); bool isItemDropped = default(bool); ((FastBufferReader)(ref reader)).ReadValueSafe<bool>(ref isItemDropped, default(ForPrimitives)); bool isPlayerImmobilized = default(bool); ((FastBufferReader)(ref reader)).ReadValueSafe<bool>(ref isPlayerImmobilized, default(ForPrimitives)); target.__rpc_exec_stage = (__RpcExecStage)1; ((AddonFusionNetworkManager)(object)target).StunPlayerServerRpc(playerId, stunTime, isItemDropped, isPlayerImmobilized); target.__rpc_exec_stage = (__RpcExecStage)0; } } private static void __rpc_handler_4460014(NetworkBehaviour target, FastBufferReader reader, __RpcParams rpcParams) { //IL_0023: 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_0042: Unknown result type (might be due to invalid IL or missing references) //IL_0057: Unknown result type (might be due to invalid IL or missing references) //IL_005d: 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_0078: 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_00ad: Unknown result type (might be due to invalid IL or missing references) NetworkManager networkManager = target.NetworkManager; if (networkManager != null && networkManager.IsListening) { int playerId = default(int); ByteUnpacker.ReadValueBitPacked(reader, ref playerId); float stunTime = default(float); ((FastBufferReader)(ref reader)).ReadValueSafe<float>(ref stunTime, default(ForPrimitives)); bool isItemDropped = default(bool); ((FastBufferReader)(ref reader)).ReadValueSafe<bool>(ref isItemDropped, default(ForPrimitives)); bool isPlayerImmobilized = default(bool); ((FastBufferReader)(ref reader)).ReadValueSafe<bool>(ref isPlayerImmobilized, default(ForPrimitives)); target.__rpc_exec_stage = (__RpcExecStage)2; ((AddonFusionNetworkManager)(object)target).StunPlayerClientRpc(playerId, stunTime, isItemDropped, isPlayerImmobilized); target.__rpc_exec_stage = (__RpcExecStage)0; } } private static void __rpc_handler_3066553978(NetworkBehaviour target, FastBufferReader reader, __RpcParams rpcParams) { //IL_002f: Unknown result type (might be due to invalid IL or missing references) //IL_0035: 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_0050: Unknown result type (might be due to invalid IL or missing references) //IL_0059: Unknown result type (might be due to invalid IL or missing references) //IL_006c: 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_008e: Unknown result type (might be due to invalid IL or missing references) NetworkManager networkManager = target.NetworkManager; if (networkManager != null && networkManager.IsListening) { NetworkObjectReference enemyObject = default(NetworkObjectReference); ((FastBufferReader)(ref reader)).ReadValueSafe<NetworkObjectReference>(ref enemyObject, default(ForNetworkSerializable)); float stunTime = default(float); ((FastBufferReader)(ref reader)).ReadValueSafe<float>(ref stunTime, default(ForPrimitives)); int playerId = default(int); ByteUnpacker.ReadValueBitPacked(reader, ref playerId); target.__rpc_exec_stage = (__RpcExecStage)1; ((AddonFusionNetworkManager)(object)target).StunEnemyServerRpc(enemyObject, stunTime, playerId); target.__rpc_exec_stage = (__RpcExecStage)0; } } private static void __rpc_handler_199093389(NetworkBehaviour target, FastBufferReader reader, __RpcParams rpcParams) { //IL_002f: Unknown result type (might be due to invalid IL or missing references) //IL_0035: 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_0050: Unknown result type (might be due to invalid IL or missing references) //IL_0059: Unknown result type (might be due to invalid IL or missing references) //IL_006c: 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_008e: Unknown result type (might be due to invalid IL or missing references) NetworkManager networkManager = target.NetworkManager; if (networkManager != null && networkManager.IsListening) { NetworkObjectReference enemyObject = default(NetworkObjectReference); ((FastBufferReader)(ref reader)).ReadValueSafe<NetworkObjectReference>(ref enemyObject, default(ForNetworkSerializable)); float stunTime = default(float); ((FastBufferReader)(ref reader)).ReadValueSafe<float>(ref stunTime, default(ForPrimitives)); int playerId = default(int); ByteUnpacker.ReadValueBitPacked(reader, ref playerId); target.__rpc_exec_stage = (__RpcExecStage)2; ((AddonFusionNetworkManager)(object)target).StunEnemyClientRpc(enemyObject, stunTime, playerId); target.__rpc_exec_stage = (__RpcExecStage)0; } } private static void __rpc_handler_3892143410(NetworkBehaviour target, FastBufferReader reader, __RpcParams rpcParams) { //IL_002f: Unknown result type (might be due to invalid IL or missing references) //IL_0035: Unknown result type (might be due to invalid IL or missing references) //IL_0051: Unknown result type (might be due to invalid IL or missing references) //IL_005c: 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_006f: Unknown result type (might be due to invalid IL or missing references) NetworkManager networkManager = target.NetworkManager; if (networkManager != null && networkManager.IsListening) { NetworkObjectReference obj = default(NetworkObjectReference); ((FastBufferReader)(ref reader)).ReadValueSafe<NetworkObjectReference>(ref obj, default(ForNetworkSerializable)); Vector3 position = default(Vector3); ((FastBufferReader)(ref reader)).ReadValueSafe(ref position); target.__rpc_exec_stage = (__RpcExecStage)1; ((AddonFusionNetworkManager)(object)target).RemoveSprayPaintDecalServerRpc(obj, position); target.__rpc_exec_stage = (__RpcExecStage)0; } } private static void __rpc_handler_265515377(NetworkBehaviour target, FastBufferReader reader, __RpcParams rpcParams) { //IL_002f: Unknown result type (might be due to invalid IL or missing references) //IL_0035: Unknown result type (might be due to invalid IL or missing references) //IL_0051: Unknown result type (might be due to invalid IL or missing references) //IL_005c: 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_006f: Unknown result type (might be due to invalid IL or missing references) NetworkManager networkManager = target.NetworkManager; if (networkManager != null && networkManager.IsListening) { NetworkObjectReference obj = default(NetworkObjectReference); ((FastBufferReader)(ref reader)).ReadValueSafe<NetworkObjectReference>(ref obj, default(ForNetworkSerializable)); Vector3 position = default(Vector3); ((FastBufferReader)(ref reader)).ReadValueSafe(ref position); target.__rpc_exec_stage = (__RpcExecStage)2; ((AddonFusionNetworkManager)(object)target).RemoveSprayPaintDecalClientRpc(obj, position); target.__rpc_exec_stage = (__RpcExecStage)0; } } private static void __rpc_handler_1706949683(NetworkBehaviour target, FastBufferReader reader, __RpcParams rpcParams) { //IL_002f: Unknown result type (might be due to invalid IL or missing references) //IL_0035: 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_0050: Unknown result type (might be due to invalid IL or missing references) //IL_007c: 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_009a: Unknown result type (might be due to invalid IL or missing references) NetworkManager networkManager = target.NetworkManager; if (networkManager != null && networkManager.IsListening) { NetworkObjectReference obj = default(NetworkObjectReference); ((FastBufferReader)(ref reader)).ReadValueSafe<NetworkObjectReference>(ref obj, default(ForNetworkSerializable)); bool flag = default(bool); ((FastBufferReader)(ref reader)).ReadValueSafe<bool>(ref flag, default(ForPrimitives)); string addonName = null; if (flag) { ((FastBufferReader)(ref reader)).ReadValueSafe(ref addonName, false); } target.__rpc_exec_stage = (__RpcExecStage)1; ((AddonFusionNetworkManager)(object)target).SetAddonServerRpc(obj, addonName); target.__rpc_exec_stage = (__RpcExecStage)0; } } private static void __rpc_handler_3910001185(NetworkBehaviour target, FastBufferReader reader, __RpcParams rpcParams) { //IL_002f: Unknown result type (might be due to invalid IL or missing references) //IL_0035: 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_0050: Unknown result type (might be due to invalid IL or missing references) //IL_007c: 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_009a: Unknown result type (might be due to invalid IL or missing references) NetworkManager networkManager = target.NetworkManager; if (networkManager != null && networkManager.IsListening) { NetworkObjectReference obj = default(NetworkObjectReference); ((FastBufferReader)(ref reader)).ReadValueSafe<NetworkObjectReference>(ref obj, default(ForNetworkSerializable)); bool flag = default(bool); ((FastBufferReader)(ref reader)).ReadValueSafe<bool>(ref flag, default(ForPrimitives)); string addonName = null; if (flag) { ((FastBufferReader)(ref reader)).ReadValueSafe(ref addonName, false); } target.__rpc_exec_stage = (__RpcExecStage)2; ((AddonFusionNetworkManager)(object)target).SetAddonClientRpc(obj, addonName); target.__rpc_exec_stage = (__RpcExecStage)0; } } private static void __rpc_handler_3454392667(NetworkBehaviour target, FastBufferReader reader, __RpcParams rpcParams) { //IL_002f: Unknown result type (might be due to invalid IL or missing references) //IL_0035: Unknown result type (might be due to invalid IL or missing references) //IL_003e: Unknown result type (might be due to invalid IL or missing references) //IL_0051: Unknown result type (might be due to invalid IL or missing references) //IL_005c: Unknown result type (might be due to invalid IL or missing references) //IL_006f: Unknown result type (might be due to invalid IL or missing references) NetworkManager networkManager = target.NetworkManager; if (networkManager != null && networkManager.IsListening) { NetworkObjectReference obj = default(NetworkObjectReference); ((FastBufferReader)(ref reader)).ReadValueSafe<NetworkObjectReference>(ref obj, default(ForNetworkSerializable)); int maxUse = default(int); ByteUnpacker.ReadValueBitPacked(reader, ref maxUse); target.__rpc_exec_stage = (__RpcExecStage)1; ((AddonFusionNetworkManager)(object)target).SetEphemeralServerRpc(obj, maxUse); target.__rpc_exec_stage = (__RpcExecStage)0; } } private static void __rpc_handler_680614074(NetworkBehaviour target, FastBufferReader reader, __RpcParams rpcParams) { //IL_002f: Unknown result type (might be due to invalid IL or missing references) //IL_0035: Unknown result type (might be due to invalid IL or missing references) //IL_003e: Unknown result type (might be due to invalid IL or missing references) //IL_0051: Unknown result type (might be due to invalid IL or missing references) //IL_005c: Unknown result type (might be due to invalid IL or missing references) //IL_006f: Unknown result type (might be due to invalid IL or missing references) NetworkManager networkManager = target.NetworkManager; if (networkManager != null && networkManager.IsListening) { NetworkObjectReference obj = default(NetworkObjectReference); ((FastBufferReader)(ref reader)).ReadValueSafe<NetworkObjectReference>(ref obj, default(ForNetworkSerializable)); int maxUse = default(int); ByteUnpacker.ReadValueBitPacked(reader, ref maxUse); target.__rpc_exec_stage = (__RpcExecStage)2; ((AddonFusionNetworkManager)(object)target).SetEphemeralClientRpc(obj, maxUse); target.__rpc_exec_stage = (__RpcExecStage)0; } } [MethodImpl(MethodImplOptions.NoInlining)] protected internal override string __getTypeName() { return "AddonFusionNetworkManager"; } } internal class AFUtilities { public static Addon GetAddonInstalled(Component component, string addonName) { Addon component2 = component.gameObject.GetComponent<Addon>(); if ((Object)(object)component2 != (Object)null && component2.hasAddon && !string.IsNullOrEmpty(component2.addonName) && component2.addonName.Equals(addonName)) { return component2; } return null; } public static Addon GetAddonInstalled(Component component) { Addon component2 = component.gameObject.GetComponent<Addon>(); if ((Object)(object)component2 != (Object)null && component2.hasAddon) { return component2; } return null; } public static EphemeralItem GetEphemeralItem(Component component) { EphemeralItem component2 = component.gameObject.GetComponent<EphemeralItem>(); if ((Object)(object)component2 != (Object)null && component2.isEphemeral) { return component2; } return null; } public static void EnablePlayerActions(bool enable) { string[] array = new string[11] { "Move", "Jump", "Crouch", "Interact", "ItemSecondaryUse", "ItemTertiaryUse", "ActivateItem", "SwitchItem", "InspectItem", "Emote1", "Emote2" }; string[] array2 = array; foreach (string text in array2) { if (enable) { IngamePlayerSettings.Instance.playerInput.actions.FindAction(text, false).Enable(); } else { IngamePlayerSettings.Instance.playerInput.actions.FindAction(text, false).Disable(); } } } } internal class ConfigManager { public static ConfigEntry<bool> isEphemeralEnabled; public static ConfigEntry<bool> isEphemeralDestroyEnabled; public static ConfigEntry<int> minEphemeralItem; public static ConfigEntry<int> maxEphemeralItem; public static ConfigEntry<bool> isCapsuleEnabled; public static ConfigEntry<bool> isCapsuleSpawnable; public static ConfigEntry<int> capsuleRarity; public static ConfigEntry<bool> isCapsulePurchasable; public static ConfigEntry<int> capsulePrice; public static ConfigEntry<bool> isCapsuleCharge; public static ConfigEntry<string> capsuleItemValues; public static ConfigEntry<int> maxCapsule; public static ConfigEntry<bool> isSaltTankEnabled; public static ConfigEntry<bool> isSaltTankSpawnable; public static ConfigEntry<int> saltTankRarity; public static ConfigEntry<bool> isSaltTankPurchasable; public static ConfigEntry<int> saltTankPrice; public static ConfigEntry<string> saltTankEntityValues; public static ConfigEntry<int> saltTankSpawnPerItem; public static ConfigEntry<bool> isCordEnabled; public static ConfigEntry<bool> isCordSpawnable; public static ConfigEntry<int> cordRarity; public static ConfigEntry<bool> isCordPurchasable; public static ConfigEntry<int> cordPrice; public static ConfigEntry<float> cordWindowDuration; public static ConfigEntry<float> cordSpamCooldown; public static ConfigEntry<bool> canCordStunDropItem; public static ConfigEntry<bool> canCordStunImmobilize; public static ConfigEntry<string> cordEntityValues; public static ConfigEntry<string> cordExclusions; public static ConfigEntry<int> cordSpawnPerItem; public static ConfigEntry<bool> isLensEnabled; public static ConfigEntry<bool> isLensSpawnable; public static ConfigEntry<int> lensRarity; public static ConfigEntry<bool> isLensPurchasable; public static ConfigEntry<int> lensPrice; public static ConfigEntry<string> lensEntityValues; public static ConfigEntry<string> lensExclusions; public static ConfigEntry<int> lensSpawnPerItem; public static ConfigEntry<bool> isSharpenerEnabled; public static ConfigEntry<bool> isSharpenerSpawnable; public static ConfigEntry<int> sharpenerRarity; public static ConfigEntry<bool> isSharpenerPurchasable; public static ConfigEntry<int> sharpenerPrice; public static ConfigEntry<string> sharpenerEntityValues; public static ConfigEntry<int> sharpenerSpawnPerItem; public static ConfigEntry<bool> isSenzuEnabled; public static ConfigEntry<bool> isSenzuSpawnable; public static ConfigEntry<int> senzuRarity; public static ConfigEntry<bool> isSenzuPurchasable; public static ConfigEntry<int> senzuPrice; public static ConfigEntry<float> senzuReviveDuration; public static ConfigEntry<float> senzuHealthRegenDuration; public static ConfigEntry<float> senzuStaminaRegenDuration; public static ConfigEntry<int> senzuSpawnPerItem; public static ConfigEntry<bool> isPyrethrinTankEnabled; public static ConfigEntry<bool> isPyrethrinTankSpawnable; public static ConfigEntry<int> pyrethrinTankRarity; public static ConfigEntry<bool> isPyrethrinTankPurchasable; public static ConfigEntry<int> pyrethrinTankPrice; public static ConfigEntry<string> pyrethrinTankEntityValues; public static ConfigEntry<int> pyrethrinTankSpawnPerItem; public static ConfigEntry<bool> isRepairModuleEnabled; public static ConfigEntry<bool> isRepairModuleSpawnable; public static ConfigEntry<int> repairModuleRarity; public static ConfigEntry<bool> isRepairModulePurchasable; public static ConfigEntry<int> repairModulePrice; public static ConfigEntry<int> repairModuleDuration; public static ConfigEntry<int> repairModuleProfit; public static ConfigEntry<int> repairModuleSpawnPerItem; public static ConfigEntry<bool> isEphemeralFlashEnabled; public static ConfigEntry<int> ephemeralFlashRarity; public static ConfigEntry<int> ephemeralFlashAddonRarity; public static ConfigEntry<int> ephemeralFlashMinUse; public static ConfigEntry<int> ephemeralFlashMaxUse; public static ConfigEntry<bool> isEphemeralShovelEnabled; public static ConfigEntry<int> ephemeralShovelRarity; public static ConfigEntry<int> ephemeralShovelAddonRarity; public static ConfigEntry<int> ephemeralShovelMinUse; public static ConfigEntry<int> ephemeralShovelMaxUse; public static ConfigEntry<bool> isEphemeralSprayPaintEnabled; public static ConfigEntry<int> ephemeralSprayPaintRarity; public static ConfigEntry<int> ephemeralSprayPaintAddonRarity; public static ConfigEntry<int> ephemeralSprayPaintMinUse; public static ConfigEntry<int> ephemeralSprayPaintMaxUse; public static ConfigEntry<bool> isEphemeralKnifeEnabled; public static ConfigEntry<int> ephemeralKnifeRarity; public static ConfigEntry<int> ephemeralKnifeAddonRarity; public static ConfigEntry<int> ephemeralKnifeMinUse; public static ConfigEntry<int> ephemeralKnifeMaxUse; public static ConfigEntry<bool> isEphemeralWeedKillerEnabled; public static ConfigEntry<int> ephemeralWeedKillerRarity; public static ConfigEntry<int> ephemeralWeedKillerAddonRarity; public static ConfigEntry<int> ephemeralWeedKillerMinUse; public static ConfigEntry<int> ephemeralWeedKillerMaxUse; public static ConfigEntry<bool> isEphemeralTZPEnabled; public static ConfigEntry<int> ephemeralTZPRarity; public static ConfigEntry<int> ephemeralTZPAddonRarity; public static ConfigEntry<int> ephemeralTZPMinUse; public static ConfigEntry<int> ephemeralTZPMaxUse; internal static void Load() { isEphemeralEnabled = AddonFusion.configFile.Bind<bool>("_Global_", "Enable ephemeral items", true, "Is the ephemeral items enabled?"); isEphemeralDestroyEnabled = AddonFusion.configFile.Bind<bool>("_Global_", "Enable ephemeral destruction", true, "Are ephemeral items destroyed when the ship takes off?"); minEphemeralItem = AddonFusion.configFile.Bind<int>("_Global_", "Min ephemeral item", 4, "Minimum number of ephemeral items that will spawn in the dungeon."); maxEphemeralItem = AddonFusion.configFile.Bind<int>("_Global_", "Max ephemeral item", 8, "Maximum number of ephemeral items that will spawn in the dungeon."); isCapsuleEnabled = AddonFusion.configFile.Bind<bool>("Capsule Hoi-Poi", "Enable", true, "Is the capsule Hoi-Poi enabled?"); isCapsuleSpawnable = AddonFusion.configFile.Bind<bool>("Capsule Hoi-Poi", "Spawnable", false, "Is the capsule Hoi-Poi spawnable?"); capsuleRarity = AddonFusion.configFile.Bind<int>("Capsule Hoi-Poi", "Rarity", 5, "Capsule Hoi-Poi spawn rarity"); isCapsulePurchasable = AddonFusion.configFile.Bind<bool>("Capsule Hoi-Poi", "Purchasable", true, "Is the capsule Hoi-Poi purchasable?"); capsulePrice = AddonFusion.configFile.Bind<int>("Capsule Hoi-Poi", "Price", 30, "Capsule Hoi-Poi price"); isCapsuleCharge = AddonFusion.configFile.Bind<bool>("Capsule Hoi-Poi", "Charge", true, "Can the capsule Hoi-Poi charge items?"); capsuleItemValues = AddonFusion.configFile.Bind<string>("Capsule Hoi-Poi", "Values", "default:600", "Values per item, the format is ItemName:ChargeDuration.\nChargeDuration: Time required to charge the item from empty to full capacity when it's in the capsule, in seconds."); maxCapsule = AddonFusion.configFile.Bind<int>("Capsule Hoi-Poi", "Max spawn", 2, "Max capsules to spawn"); isSaltTankEnabled = AddonFusion.configFile.Bind<bool>("Salt Tank", "Enable", true, "Is the salt tank enabled?"); isSaltTankSpawnable = AddonFusion.configFile.Bind<bool>("Salt Tank", "Spawnable", true, "Is the salt tank spawnable?"); saltTankRarity = AddonFusion.configFile.Bind<int>("Salt Tank", "Rarity", 5, "Salt tank spawn rarity"); isSaltTankPurchasable = AddonFusion.configFile.Bind<bool>("Salt Tank", "Purchasable", false, "Is the salt tank purchasable?"); saltTankPrice = AddonFusion.configFile.Bind<int>("Salt Tank", "Price", 30, "Salt tank price"); saltTankEntityValues = AddonFusion.configFile.Bind<string>("Salt Tank", "Values", "default:20:10", "Values per entity, the format is EntityName:BaseChance:AdditionalChance.\nBaseChance: Base chance for the entity to stop chasing when hit by a salted graffiti.\nAdditionalChance: Additional chance for the entity to stop chasing when hit by a salted graffiti."); saltTankSpawnPerItem = AddonFusion.configFile.Bind<int>("Salt Tank", "Spawn addon per item", 1, "If this option is enabled, it limits the number of spawnable addons based on the associated item + configured value.\nIf there is :\n- 1 spray paint without an addon -> 1 salt tank + 1 (default value) can spawn\n- 2 sprays -> 2 salt tank + 1 (default value) can spawn\n- 0 sprays -> 1 (default value) salt tank can spawn"); isCordEnabled = AddonFusion.configFile.Bind<bool>("Protective Cord", "Enable", true, "Is the protective cord enabled?"); isCordSpawnable = AddonFusion.configFile.Bind<bool>("Protective Cord", "Spawnable", true, "Is the protective cord spawnable?"); cordRarity = AddonFusion.configFile.Bind<int>("Protective Cord", "Rarity", 100, "Protective cord spawn rarity"); isCordPurchasable = AddonFusion.configFile.Bind<bool>("Protective Cord", "Purchasable", false, "Is the protective cord purchasable?"); cordPrice = AddonFusion.configFile.Bind<int>("Protective Cord", "Price", 30, "Protective cord price"); cordWindowDuration = AddonFusion.configFile.Bind<float>("Protective Cord", "Window duration", 0.35f, "Parrying window duration"); cordSpamCooldown = AddonFusion.configFile.Bind<float>("Protective Cord", "Spam cooldown", 1f, "Cooldown duration per use"); canCordStunDropItem = AddonFusion.configFile.Bind<bool>("Protective Cord", "Player item drop", true, "Does the stun cause the player to drop their weapon?"); canCordStunImmobilize = AddonFusion.configFile.Bind<bool>("Protective Cord", "Player immobilization", true, "Does the stun immobilize the player?"); cordEntityValues = AddonFusion.configFile.Bind<string>("Protective Cord", "Values", "default:10:1.5:5:100:10,Player:5:4:0:0:0,Flowerman:10:5:5:100:10,MouthDog:10:2.5:5:100:10", "Values per entity, the format is EntityName:CooldownDuration:StunDuration:SpeedBoostDuration:SpeedMultiplier:StaminaRegen.\nSpeedMultiplier: Speed multiplier percentage.\nStaminaRegen: Stamina regen percentage."); cordExclusions = AddonFusion.configFile.Bind<string>("Protective Cord", "Exclusion list", "Flowerman,MouthDog,ForestGiant", "List of creatures that will not be affected by the stun."); cordSpawnPerItem = AddonFusion.configFile.Bind<int>("Protective Cord", "Spawn addon per item", 1, "If this option is enabled, it limits the number of spawnable addons based on the associated item + configured value.\nIf there is :\n- 1 shovel without an addon -> 1 protective cord + 1 (default value) can spawn\n- 2 shovels -> 2 protective cord + 1 (default value) can spawn\n- 0 shovels -> 1 (default value) protective cord can spawn"); isLensEnabled = AddonFusion.configFile.Bind<bool>("Flashlight Lens", "Enable", true, "Is the flashlight lens enabled?"); isLensSpawnable = AddonFusion.configFile.Bind<bool>("Flashlight Lens", "Spawnable", true, "Is the flashlight lens spawnable?"); lensRarity = AddonFusion.configFile.Bind<int>("Flashlight Lens", "Rarity", 100, "Flashlight lens spawn rarity"); isLensPurchasable = AddonFusion.configFile.Bind<bool>("Flashlight Lens", "Purchasable", false, "Is the flashlight lens purchasable?"); lensPrice = AddonFusion.configFile.Bind<int>("Flashlight Lens", "Price", 30, "Flashlight lens price"); lensEntityValues = AddonFusion.configFile.Bind<string>("Flashlight Lens", "Values", "default:2:3:15:120:10:10:0,Player:2:0:10:60:10:0:0,ForestGiant:2:4:30:120:20:20:0", "Values per entity, the format is EntityName:FlashDuration:StunDuration:LightAngle:EntityAngle:EntityDistance:ImmunityDuration:BatteryConsumption.\nFlashDuration: Time required to blind an enemy.\nLightAngle: Angle of the light in relation to the enemy's eyes - increasing this value makes aiming easier.\nEntityAngle: Angle of the enemy in relation to the flashlight - increasing this value makes blinding from an angle easier."); lensExclusions = AddonFusion.configFile.Bind<string>("Flashlight Lens", "Exclusion list", "MouthDog", "List of creatures that will not be affected by the stun."); lensSpawnPerItem = AddonFusion.configFile.Bind<int>("Flashlight Lens", "Spawn addon per item", 1, "If this option is enabled, it limits the number of spawnable addons based on the associated item + configured value.\nIf there is :\n- 1 flashlight without an addon -> 1 flashlight lens + 1 (default value) can spawn\n- 2 flashlights -> 2 flashlight lens + 1 (default value) can spawn\n- 0 flashlights -> 1 (default value) flashlight lens can spawn"); isSharpenerEnabled = AddonFusion.configFile.Bind<bool>("Blade Sharpener", "Enable", true, "Is the blade sharpener enabled?"); isSharpenerSpawnable = AddonFusion.configFile.Bind<bool>("Blade Sharpener", "Spawnable", true, "Is the blade sharpener spawnable?"); sharpenerRarity = AddonFusion.configFile.Bind<int>("Blade Sharpener", "Rarity", 5, "Blade sharpener spawn rarity"); isSharpenerPurchasable = AddonFusion.configFile.Bind<bool>("Blade Sharpener", "Purchasable", false, "Is the blade sharpener purchasable?"); sharpenerPrice = AddonFusion.configFile.Bind<int>("Blade Sharpener", "Price", 30, "Blade sharpener price"); sharpenerEntityValues = AddonFusion.configFile.Bind<string>("Blade Sharpener", "Values", "default:15:10", "Values per entity, the format is EntityName:CriticalSuccessChance:CriticalFailChance.\nCriticalSuccessChance: Chance for the player to score a critical hit and kill the enemy in one strike.\nCriticalFailChance: Chance for the player to perform a critical failure, causing the player's weapon to drop on the ground without dealing damage."); sharpenerSpawnPerItem = AddonFusion.configFile.Bind<int>("Blade Sharpener", "Spawn addon per item", 1, "If this option is enabled, it limits the number of spawnable addons based on the associated item + configured value.\nIf there is :\n- 1 knife without an addon -> 1 blade sharpener + 1 (default value) can spawn\n- 2 knives -> 2 blade sharpener + 1 (default value) can spawn\n- 0 knives -> 1 (default value) blade sharpener can spawn"); isSenzuEnabled = AddonFusion.configFile.Bind<bool>("Senzu", "Enable", true, "Is the senzu enabled?"); isSenzuSpawnable = AddonFusion.configFile.Bind<bool>("Senzu", "Spawnable", false, "Is the senzu spawnable?"); senzuRarity = AddonFusion.configFile.Bind<int>("Senzu", "Rarity", 5, "Senzu spawn rarity"); isSenzuPurchasable = AddonFusion.configFile.Bind<bool>("Senzu", "Purchasable", true, "Is the senzu purchasable?"); senzuPrice = AddonFusion.configFile.Bind<int>("Senzu", "Price", 30, "Senzu price"); senzuReviveDuration = AddonFusion.configFile.Bind<float>("Senzu", "Revive duration", 60f, "Duration during which a player can be revived."); senzuHealthRegenDuration = AddonFusion.configFile.Bind<float>("Senzu", "Health regen duration", 25f, "Time required