Please disclose if any significant portion of your mod was created using AI tools by adding the 'AI Generated' category. Failing to do so may result in the mod being removed from Thunderstore.
Decompiled source of JohnPaularatus v1.4.0
plugins/JohnPaularatus/JohnPaularatus.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.IO; using System.Linq; using System.Reflection; using System.Runtime.CompilerServices; using System.Runtime.Versioning; using System.Security; using System.Security.Permissions; using BepInEx; using BepInEx.Bootstrap; using BepInEx.Configuration; using BepInEx.Logging; using FacilityMeltdown.API; using GameNetcodeStuff; using HarmonyLib; using JohnPaularatus.Configs; using JohnPaularatus.Intergrations; using JohnPaularatus.NetcodePatcher; using JohnPaularatusEnemy.Util.Extensions; using LethalLib.Extras; using LethalLib.Modules; using Microsoft.CodeAnalysis; using Unity.Netcode; using Unity.Netcode.Components; using UnityEngine; using UnityEngine.AI; using UnityEngine.SceneManagement; [assembly: CompilationRelaxations(8)] [assembly: RuntimeCompatibility(WrapNonExceptionThrows = true)] [assembly: Debuggable(DebuggableAttribute.DebuggingModes.IgnoreSymbolStoreSequencePoints)] [assembly: TargetFramework(".NETStandard,Version=v2.1", FrameworkDisplayName = ".NET Standard 2.1")] [assembly: AssemblyCompany("JohnPaularatus")] [assembly: AssemblyConfiguration("Release")] [assembly: AssemblyDescription("JohnPaularatus for Lethal Company.")] [assembly: AssemblyFileVersion("1.4.0.0")] [assembly: AssemblyInformationalVersion("1.4.0+603b6c8058b3c29b3482c2dbec55d2bcfcda904d")] [assembly: AssemblyProduct("JohnPaularatus")] [assembly: AssemblyTitle("JohnPaularatus")] [assembly: SecurityPermission(SecurityAction.RequestMinimum, SkipVerification = true)] [assembly: AssemblyVersion("1.4.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.Class | AttributeTargets.Property | AttributeTargets.Field | AttributeTargets.Event | AttributeTargets.Parameter | AttributeTargets.ReturnValue | AttributeTargets.GenericParameter, AllowMultiple = false, Inherited = false)] internal sealed class NullableAttribute : Attribute { public readonly byte[] NullableFlags; public NullableAttribute(byte P_0) { NullableFlags = new byte[1] { P_0 }; } public NullableAttribute(byte[] P_0) { NullableFlags = P_0; } } [CompilerGenerated] [Microsoft.CodeAnalysis.Embedded] [AttributeUsage(AttributeTargets.Class | AttributeTargets.Struct | AttributeTargets.Method | AttributeTargets.Interface | AttributeTargets.Delegate, AllowMultiple = false, Inherited = false)] internal sealed class NullableContextAttribute : Attribute { public readonly byte Flag; public NullableContextAttribute(byte P_0) { Flag = P_0; } } [CompilerGenerated] [Microsoft.CodeAnalysis.Embedded] [AttributeUsage(AttributeTargets.Module, AllowMultiple = false, Inherited = false)] internal sealed class RefSafetyRulesAttribute : Attribute { public readonly int Version; public RefSafetyRulesAttribute(int P_0) { Version = P_0; } } } namespace JohnPaularatusEnemy { public abstract class JohnPaularatusEnemyEnemyAI : EnemyAI { public EnemyAI targetEnemy; public override void Start() { ((EnemyAI)this).Start(); } [Conditional("DEBUG")] public void LogIfDebugBuild(object text) { Plugin.Logger.LogInfo(text); } [ClientRpc] public void SetFloatAnimationClientRpc(string name, float value) { //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_0088: Unknown result type (might be due to invalid IL or missing references) //IL_008e: Unknown result type (might be due to invalid IL or missing references) //IL_00bb: Unknown result type (might be due to invalid IL or missing references) //IL_00c1: 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)((NetworkBehaviour)this).__rpc_exec_stage != 2 && (networkManager.IsServer || networkManager.IsHost)) { ClientRpcParams val = default(ClientRpcParams); FastBufferWriter val2 = ((NetworkBehaviour)this).__beginSendClientRpc(3306963802u, val, (RpcDelivery)0); bool flag = name != null; ((FastBufferWriter)(ref val2)).WriteValueSafe<bool>(ref flag, default(ForPrimitives)); if (flag) { ((FastBufferWriter)(ref val2)).WriteValueSafe(name, false); } ((FastBufferWriter)(ref val2)).WriteValueSafe<float>(ref value, default(ForPrimitives)); ((NetworkBehaviour)this).__endSendClientRpc(ref val2, 3306963802u, val, (RpcDelivery)0); } if ((int)((NetworkBehaviour)this).__rpc_exec_stage == 2 && (networkManager.IsClient || networkManager.IsHost)) { SetFloatAnimationOnLocalClient(name, value); } } public void SetFloatAnimationOnLocalClient(string name, float value) { base.creatureAnimator.SetFloat(name, value); } [ClientRpc] public void SetBoolAnimationClientRpc(string name, bool active) { //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_0088: Unknown result type (might be due to invalid IL or missing references) //IL_008e: Unknown result type (might be due to invalid IL or missing references) //IL_00bb: Unknown result type (might be due to invalid IL or missing references) //IL_00c1: 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)((NetworkBehaviour)this).__rpc_exec_stage != 2 && (networkManager.IsServer || networkManager.IsHost)) { ClientRpcParams val = default(ClientRpcParams); FastBufferWriter val2 = ((NetworkBehaviour)this).__beginSendClientRpc(175126614u, val, (RpcDelivery)0); bool flag = name != null; ((FastBufferWriter)(ref val2)).WriteValueSafe<bool>(ref flag, default(ForPrimitives)); if (flag) { ((FastBufferWriter)(ref val2)).WriteValueSafe(name, false); } ((FastBufferWriter)(ref val2)).WriteValueSafe<bool>(ref active, default(ForPrimitives)); ((NetworkBehaviour)this).__endSendClientRpc(ref val2, 175126614u, val, (RpcDelivery)0); } if ((int)((NetworkBehaviour)this).__rpc_exec_stage == 2 && (networkManager.IsClient || networkManager.IsHost)) { SetBoolAnimationOnLocalClient(name, active); } } public void SetBoolAnimationOnLocalClient(string name, bool active) { base.creatureAnimator.SetBool(name, active); } [ServerRpc(RequireOwnership = false)] public void TriggerAnimationServerRpc(string triggerName) { //IL_0024: Unknown result type (might be due to invalid IL or missing references) //IL_002e: Invalid comparison between Unknown and I4 //IL_00ca: Unknown result type (might be due to invalid IL or missing references) //IL_00d4: 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_0088: Unknown result type (might be due to invalid IL or missing references) //IL_008e: Unknown result type (might be due to invalid IL or missing references) //IL_00ba: 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)((NetworkBehaviour)this).__rpc_exec_stage != 1 && (networkManager.IsClient || networkManager.IsHost)) { ServerRpcParams val = default(ServerRpcParams); FastBufferWriter val2 = ((NetworkBehaviour)this).__beginSendServerRpc(790391139u, val, (RpcDelivery)0); bool flag = triggerName != null; ((FastBufferWriter)(ref val2)).WriteValueSafe<bool>(ref flag, default(ForPrimitives)); if (flag) { ((FastBufferWriter)(ref val2)).WriteValueSafe(triggerName, false); } ((NetworkBehaviour)this).__endSendServerRpc(ref val2, 790391139u, val, (RpcDelivery)0); } if ((int)((NetworkBehaviour)this).__rpc_exec_stage == 1 && (networkManager.IsServer || networkManager.IsHost)) { TriggerAnimationClientRpc(triggerName); } } [ClientRpc] public void TriggerAnimationClientRpc(string triggerName) { //IL_0024: Unknown result type (might be due to invalid IL or missing references) //IL_002e: Invalid comparison between Unknown and I4 //IL_00ca: Unknown result type (might be due to invalid IL or missing references) //IL_00d4: 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_0088: Unknown result type (might be due to invalid IL or missing references) //IL_008e: Unknown result type (might be due to invalid IL or missing references) //IL_00ba: 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)((NetworkBehaviour)this).__rpc_exec_stage != 2 && (networkManager.IsServer || networkManager.IsHost)) { ClientRpcParams val = default(ClientRpcParams); FastBufferWriter val2 = ((NetworkBehaviour)this).__beginSendClientRpc(2898210140u, val, (RpcDelivery)0); bool flag = triggerName != null; ((FastBufferWriter)(ref val2)).WriteValueSafe<bool>(ref flag, default(ForPrimitives)); if (flag) { ((FastBufferWriter)(ref val2)).WriteValueSafe(triggerName, false); } ((NetworkBehaviour)this).__endSendClientRpc(ref val2, 2898210140u, val, (RpcDelivery)0); } if ((int)((NetworkBehaviour)this).__rpc_exec_stage == 2 && (networkManager.IsClient || networkManager.IsHost)) { TriggerAnimationOnLocalClient(triggerName); } } public void TriggerAnimationOnLocalClient(string triggerName) { base.creatureAnimator.SetTrigger(triggerName); } public void ToggleEnemySounds(bool toggle) { ((Behaviour)base.creatureSFX).enabled = toggle; ((Behaviour)base.creatureVoice).enabled = toggle; } [ClientRpc] public void ChangeSpeedClientRpc(float speed) { //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)((NetworkBehaviour)this).__rpc_exec_stage != 2 && (networkManager.IsServer || networkManager.IsHost)) { ClientRpcParams val = default(ClientRpcParams); FastBufferWriter val2 = ((NetworkBehaviour)this).__beginSendClientRpc(3223694318u, val, (RpcDelivery)0); ((FastBufferWriter)(ref val2)).WriteValueSafe<float>(ref speed, default(ForPrimitives)); ((NetworkBehaviour)this).__endSendClientRpc(ref val2, 3223694318u, val, (RpcDelivery)0); } if ((int)((NetworkBehaviour)this).__rpc_exec_stage == 2 && (networkManager.IsClient || networkManager.IsHost)) { ChangeSpeedOnLocalClient(speed); } } } public void ChangeSpeedOnLocalClient(float speed) { base.agent.speed = speed; } public bool FindClosestPlayerInRange(float range) { //IL_006f: Unknown result type (might be due to invalid IL or missing references) //IL_007b: Unknown result type (might be due to invalid IL or missing references) //IL_004b: Unknown result type (might be due to invalid IL or missing references) PlayerControllerB val = null; float num = float.MaxValue; PlayerControllerB[] allPlayerScripts = StartOfRound.Instance.allPlayerScripts; foreach (PlayerControllerB val2 in allPlayerScripts) { if (((NetworkBehaviour)val2).IsSpawned && val2.isPlayerControlled && !val2.isPlayerDead && !val2.isInHangarShipRoom && EnemyHasLineOfSightToPosition(((Component)val2).transform.position, 60f, range)) { float num2 = Vector3.Distance(((Component)this).transform.position, ((Component)val2).transform.position); if (num2 < num) { num = num2; val = val2; } } } if ((Object)(object)val == (Object)null) { return false; } base.targetPlayer = val; return true; } public bool EnemyHasLineOfSightToPosition(Vector3 pos, float width = 60f, float range = 20f, float proximityAwareness = 5f) { //IL_0024: Unknown result type (might be due to invalid IL or missing references) //IL_0029: Unknown result type (might be due to invalid IL or missing references) //IL_0038: Unknown result type (might be due to invalid IL or missing references) //IL_003d: 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_0058: 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_0062: Unknown result type (might be due to invalid IL or missing references) //IL_0069: Unknown result type (might be due to invalid IL or missing references) //IL_006e: Unknown result type (might be due to invalid IL or missing references) //IL_007d: Unknown result type (might be due to invalid IL or missing references) //IL_0082: Unknown result type (might be due to invalid IL or missing references) if ((Object)(object)base.eye == (Object)null) { _ = ((Component)this).transform; } else { _ = base.eye; } if (Vector3.Distance(base.eye.position, pos) >= range || Physics.Linecast(base.eye.position, pos, StartOfRound.Instance.collidersAndRoomMaskAndDefault)) { return false; } Vector3 val = pos - base.eye.position; if (!(Vector3.Angle(base.eye.forward, val) < width)) { return Vector3.Distance(((Component)this).transform.position, pos) < proximityAwareness; } return true; } public bool IsPlayerReachable(PlayerControllerB PlayerToCheck) { //IL_000b: Unknown result type (might be due to invalid IL or missing references) //IL_0015: Unknown result type (might be due to invalid IL or missing references) //IL_0020: Unknown result type (might be due to invalid IL or missing references) //IL_0025: Unknown result type (might be due to invalid IL or missing references) //IL_003a: 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: Invalid comparison between Unknown and I4 Vector3 navMeshPosition = RoundManager.Instance.GetNavMeshPosition(((Component)PlayerToCheck).transform.position, RoundManager.Instance.navHit, 2.7f, -1); if (!RoundManager.Instance.GotNavMeshPositionResult) { return false; } base.agent.CalculatePath(navMeshPosition, base.agent.path); return (int)base.agent.path.status == 0; } public float PlayerDistanceFromShip(PlayerControllerB PlayerToCheck) { //IL_0015: Unknown result type (might be due to invalid IL or missing references) //IL_0029: Unknown result type (might be due to invalid IL or missing references) if ((Object)(object)PlayerToCheck == (Object)null) { return -1f; } return Vector3.Distance(((Component)PlayerToCheck).transform.position, ((Component)StartOfRound.Instance.shipBounds).transform.position); } private float DistanceFromPlayer(PlayerControllerB player, bool IncludeYAxis) { //IL_0036: Unknown result type (might be due to invalid IL or missing references) //IL_0046: 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_006d: 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_007d: Unknown result type (might be due to invalid IL or missing references) //IL_0018: Unknown result type (might be due to invalid IL or missing references) //IL_0023: Unknown result type (might be due to invalid IL or missing references) if ((Object)(object)player == (Object)null) { return -1f; } if (IncludeYAxis) { return Vector3.Distance(((Component)player).transform.position, ((Component)this).transform.position); } Vector2 val = default(Vector2); ((Vector2)(ref val))..ctor(((Component)player).transform.position.x, ((Component)player).transform.position.z); Vector2 val2 = default(Vector2); ((Vector2)(ref val2))..ctor(((Component)this).transform.position.x, ((Component)this).transform.position.z); return Vector2.Distance(val, val2); } public bool AnimationIsFinished(string AnimName) { //IL_0007: Unknown result type (might be due to invalid IL or missing references) //IL_000c: Unknown result type (might be due to invalid IL or missing references) //IL_0020: Unknown result type (might be due to invalid IL or missing references) //IL_0025: Unknown result type (might be due to invalid IL or missing references) AnimatorStateInfo currentAnimatorStateInfo = base.creatureAnimator.GetCurrentAnimatorStateInfo(0); if (!((AnimatorStateInfo)(ref currentAnimatorStateInfo)).IsName(AnimName)) { return true; } currentAnimatorStateInfo = base.creatureAnimator.GetCurrentAnimatorStateInfo(0); return ((AnimatorStateInfo)(ref currentAnimatorStateInfo)).normalizedTime >= 1f; } [ServerRpc(RequireOwnership = false)] public void SetTargetServerRpc(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_0099: Unknown result type (might be due to invalid IL or missing references) //IL_00a3: 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_0089: Unknown result type (might be due to invalid IL or missing references) NetworkManager networkManager = ((NetworkBehaviour)this).NetworkManager; if (networkManager != null && networkManager.IsListening) { if ((int)((NetworkBehaviour)this).__rpc_exec_stage != 1 && (networkManager.IsClient || networkManager.IsHost)) { ServerRpcParams val = default(ServerRpcParams); FastBufferWriter val2 = ((NetworkBehaviour)this).__beginSendServerRpc(4081938159u, val, (RpcDelivery)0); BytePacker.WriteValueBitPacked(val2, PlayerID); ((NetworkBehaviour)this).__endSendServerRpc(ref val2, 4081938159u, val, (RpcDelivery)0); } if ((int)((NetworkBehaviour)this).__rpc_exec_stage == 1 && (networkManager.IsServer || networkManager.IsHost)) { SetTargetClientRpc(PlayerID); } } } [ClientRpc] public void SetTargetClientRpc(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_0099: Unknown result type (might be due to invalid IL or missing references) //IL_00a3: 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_0089: 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)((NetworkBehaviour)this).__rpc_exec_stage != 2 && (networkManager.IsServer || networkManager.IsHost)) { ClientRpcParams val = default(ClientRpcParams); FastBufferWriter val2 = ((NetworkBehaviour)this).__beginSendClientRpc(2466207016u, val, (RpcDelivery)0); BytePacker.WriteValueBitPacked(val2, PlayerID); ((NetworkBehaviour)this).__endSendClientRpc(ref val2, 2466207016u, val, (RpcDelivery)0); } if ((int)((NetworkBehaviour)this).__rpc_exec_stage == 2 && (networkManager.IsClient || networkManager.IsHost)) { if (PlayerID == -1) { base.targetPlayer = null; } else if (!((Object)(object)StartOfRound.Instance.allPlayerScripts[PlayerID] == (Object)null)) { base.targetPlayer = StartOfRound.Instance.allPlayerScripts[PlayerID]; } } } [ServerRpc] public void SetEnemyTargetServerRpc(int enemyID) { //IL_0024: Unknown result type (might be due to invalid IL or missing references) //IL_002e: Invalid comparison between Unknown and I4 //IL_00df: Unknown result type (might be due to invalid IL or missing references) //IL_00e9: Invalid comparison between Unknown and I4 //IL_00a5: Unknown result type (might be due to invalid IL or missing references) //IL_00ae: Unknown result type (might be due to invalid IL or missing references) //IL_00b3: Unknown result type (might be due to invalid IL or missing references) //IL_00b7: Unknown result type (might be due to invalid IL or missing references) //IL_00cf: Unknown result type (might be due to invalid IL or missing references) //IL_007a: Unknown result type (might be due to invalid IL or missing references) //IL_0084: Invalid comparison between Unknown and I4 NetworkManager networkManager = ((NetworkBehaviour)this).NetworkManager; if (networkManager == null || !networkManager.IsListening) { return; } if ((int)((NetworkBehaviour)this).__rpc_exec_stage != 1 && (networkManager.IsClient || networkManager.IsHost)) { if (((NetworkBehaviour)this).OwnerClientId != networkManager.LocalClientId) { if ((int)networkManager.LogLevel <= 1) { Debug.LogError((object)"Only the owner can invoke a ServerRpc that requires ownership!"); } return; } ServerRpcParams val = default(ServerRpcParams); FastBufferWriter val2 = ((NetworkBehaviour)this).__beginSendServerRpc(1859908134u, val, (RpcDelivery)0); BytePacker.WriteValueBitPacked(val2, enemyID); ((NetworkBehaviour)this).__endSendServerRpc(ref val2, 1859908134u, val, (RpcDelivery)0); } if ((int)((NetworkBehaviour)this).__rpc_exec_stage == 1 && (networkManager.IsServer || networkManager.IsHost)) { SetEnemyTargetClientRpc(enemyID); } } [ClientRpc] public void SetEnemyTargetClientRpc(int enemyID) { //IL_0024: Unknown result type (might be due to invalid IL or missing references) //IL_002e: Invalid comparison between Unknown and I4 //IL_0099: Unknown result type (might be due to invalid IL or missing references) //IL_00a3: 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_0089: 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)((NetworkBehaviour)this).__rpc_exec_stage != 2 && (networkManager.IsServer || networkManager.IsHost)) { ClientRpcParams val = default(ClientRpcParams); FastBufferWriter val2 = ((NetworkBehaviour)this).__beginSendClientRpc(721644891u, val, (RpcDelivery)0); BytePacker.WriteValueBitPacked(val2, enemyID); ((NetworkBehaviour)this).__endSendClientRpc(ref val2, 721644891u, val, (RpcDelivery)0); } if ((int)((NetworkBehaviour)this).__rpc_exec_stage == 2 && (networkManager.IsClient || networkManager.IsHost)) { if (enemyID == -1) { targetEnemy = null; } else if (!((Object)(object)RoundManager.Instance.SpawnedEnemies[enemyID] == (Object)null)) { targetEnemy = RoundManager.Instance.SpawnedEnemies[enemyID]; } } } public void GoThroughEntrance() { //IL_000b: Unknown result type (might be due to invalid IL or missing references) //IL_0010: Unknown result type (might be due to invalid IL or missing references) //IL_0013: Unknown result type (might be due to invalid IL or missing references) //IL_0018: Unknown result type (might be due to invalid IL or missing references) //IL_0058: Unknown result type (might be due to invalid IL or missing references) //IL_0066: Unknown result type (might be due to invalid IL or missing references) //IL_006b: Unknown result type (might be due to invalid IL or missing references) //IL_0022: 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_0035: 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_0048: Unknown result type (might be due to invalid IL or missing references) if (!((NetworkBehaviour)this).IsServer) { return; } Vector3 val = RoundManager.FindMainEntrancePosition(true, false); Vector3 val2 = RoundManager.FindMainEntrancePosition(true, true); if (base.isOutside) { ((EnemyAI)this).SetDestinationToPosition(val2, false); if (Vector3.Distance(((Component)this).transform.position, val2) < 1f) { base.agent.Warp(val); SetEnemyOutsideServerRpc(setOutside: false); } } else { ((EnemyAI)this).SetDestinationToPosition(val, false); if (Vector3.Distance(((Component)this).transform.position, val) < 1f) { base.agent.Warp(val2); SetEnemyOutsideServerRpc(setOutside: true); } } } [ServerRpc(RequireOwnership = false)] private void SetEnemyOutsideServerRpc(bool setOutside) { //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)((NetworkBehaviour)this).__rpc_exec_stage != 1 && (networkManager.IsClient || networkManager.IsHost)) { ServerRpcParams val = default(ServerRpcParams); FastBufferWriter val2 = ((NetworkBehaviour)this).__beginSendServerRpc(2454907994u, val, (RpcDelivery)0); ((FastBufferWriter)(ref val2)).WriteValueSafe<bool>(ref setOutside, default(ForPrimitives)); ((NetworkBehaviour)this).__endSendServerRpc(ref val2, 2454907994u, val, (RpcDelivery)0); } if ((int)((NetworkBehaviour)this).__rpc_exec_stage == 1 && (networkManager.IsServer || networkManager.IsHost)) { SetEnemyOutsideClientRpc(setOutside); } } } [ClientRpc] public void SetEnemyOutsideClientRpc(bool setOutisde) { //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)((NetworkBehaviour)this).__rpc_exec_stage != 2 && (networkManager.IsServer || networkManager.IsHost)) { ClientRpcParams val = default(ClientRpcParams); FastBufferWriter val2 = ((NetworkBehaviour)this).__beginSendClientRpc(1321688020u, val, (RpcDelivery)0); ((FastBufferWriter)(ref val2)).WriteValueSafe<bool>(ref setOutisde, default(ForPrimitives)); ((NetworkBehaviour)this).__endSendClientRpc(ref val2, 1321688020u, val, (RpcDelivery)0); } if ((int)((NetworkBehaviour)this).__rpc_exec_stage == 2 && (networkManager.IsClient || networkManager.IsHost)) { ((EnemyAI)this).SetEnemyOutside(setOutisde); } } } protected override void __initializeVariables() { ((EnemyAI)this).__initializeVariables(); } [RuntimeInitializeOnLoadMethod] internal static void InitializeRPCS_JohnPaularatusEnemyEnemyAI() { //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 NetworkManager.__rpc_func_table.Add(3306963802u, new RpcReceiveHandler(__rpc_handler_3306963802)); NetworkManager.__rpc_func_table.Add(175126614u, new RpcReceiveHandler(__rpc_handler_175126614)); NetworkManager.__rpc_func_table.Add(790391139u, new RpcReceiveHandler(__rpc_handler_790391139)); NetworkManager.__rpc_func_table.Add(2898210140u, new RpcReceiveHandler(__rpc_handler_2898210140)); NetworkManager.__rpc_func_table.Add(3223694318u, new RpcReceiveHandler(__rpc_handler_3223694318)); NetworkManager.__rpc_func_table.Add(4081938159u, new RpcReceiveHandler(__rpc_handler_4081938159)); NetworkManager.__rpc_func_table.Add(2466207016u, new RpcReceiveHandler(__rpc_handler_2466207016)); NetworkManager.__rpc_func_table.Add(1859908134u, new RpcReceiveHandler(__rpc_handler_1859908134)); NetworkManager.__rpc_func_table.Add(721644891u, new RpcReceiveHandler(__rpc_handler_721644891)); NetworkManager.__rpc_func_table.Add(2454907994u, new RpcReceiveHandler(__rpc_handler_2454907994)); NetworkManager.__rpc_func_table.Add(1321688020u, new RpcReceiveHandler(__rpc_handler_1321688020)); } private static void __rpc_handler_3306963802(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_0067: 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_007c: 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) { bool flag = default(bool); ((FastBufferReader)(ref reader)).ReadValueSafe<bool>(ref flag, default(ForPrimitives)); string name = null; if (flag) { ((FastBufferReader)(ref reader)).ReadValueSafe(ref name, false); } float value = default(float); ((FastBufferReader)(ref reader)).ReadValueSafe<float>(ref value, default(ForPrimitives)); target.__rpc_exec_stage = (__RpcExecStage)2; ((JohnPaularatusEnemyEnemyAI)(object)target).SetFloatAnimationClientRpc(name, value); target.__rpc_exec_stage = (__RpcExecStage)0; } } private static void __rpc_handler_175126614(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_0067: 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_007c: 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) { bool flag = default(bool); ((FastBufferReader)(ref reader)).ReadValueSafe<bool>(ref flag, default(ForPrimitives)); string name = null; if (flag) { ((FastBufferReader)(ref reader)).ReadValueSafe(ref name, false); } bool active = default(bool); ((FastBufferReader)(ref reader)).ReadValueSafe<bool>(ref active, default(ForPrimitives)); target.__rpc_exec_stage = (__RpcExecStage)2; ((JohnPaularatusEnemyEnemyAI)(object)target).SetBoolAnimationClientRpc(name, active); target.__rpc_exec_stage = (__RpcExecStage)0; } } private static void __rpc_handler_790391139(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_0061: Unknown result type (might be due to invalid IL or missing references) //IL_007b: Unknown result type (might be due to invalid IL or missing references) NetworkManager networkManager = target.NetworkManager; if (networkManager != null && networkManager.IsListening) { bool flag = default(bool); ((FastBufferReader)(ref reader)).ReadValueSafe<bool>(ref flag, default(ForPrimitives)); string triggerName = null; if (flag) { ((FastBufferReader)(ref reader)).ReadValueSafe(ref triggerName, false); } target.__rpc_exec_stage = (__RpcExecStage)1; ((JohnPaularatusEnemyEnemyAI)(object)target).TriggerAnimationServerRpc(triggerName); target.__rpc_exec_stage = (__RpcExecStage)0; } } private static void __rpc_handler_2898210140(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_0061: Unknown result type (might be due to invalid IL or missing references) //IL_007b: Unknown result type (might be due to invalid IL or missing references) NetworkManager networkManager = target.NetworkManager; if (networkManager != null && networkManager.IsListening) { bool flag = default(bool); ((FastBufferReader)(ref reader)).ReadValueSafe<bool>(ref flag, default(ForPrimitives)); string triggerName = null; if (flag) { ((FastBufferReader)(ref reader)).ReadValueSafe(ref triggerName, false); } target.__rpc_exec_stage = (__RpcExecStage)2; ((JohnPaularatusEnemyEnemyAI)(object)target).TriggerAnimationClientRpc(triggerName); target.__rpc_exec_stage = (__RpcExecStage)0; } } private static void __rpc_handler_3223694318(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_005e: Unknown result type (might be due to invalid IL or missing references) NetworkManager networkManager = target.NetworkManager; if (networkManager != null && networkManager.IsListening) { float speed = default(float); ((FastBufferReader)(ref reader)).ReadValueSafe<float>(ref speed, default(ForPrimitives)); target.__rpc_exec_stage = (__RpcExecStage)2; ((JohnPaularatusEnemyEnemyAI)(object)target).ChangeSpeedClientRpc(speed); target.__rpc_exec_stage = (__RpcExecStage)0; } } private static void __rpc_handler_4081938159(NetworkBehaviour target, FastBufferReader reader, __RpcParams rpcParams) { //IL_0023: Unknown result type (might be due to invalid IL or missing references) //IL_0036: Unknown result type (might be due to invalid IL or missing references) //IL_0050: Unknown result type (might be due to invalid IL or missing references) NetworkManager networkManager = target.NetworkManager; if (networkManager != null && networkManager.IsListening) { int targetServerRpc = default(int); ByteUnpacker.ReadValueBitPacked(reader, ref targetServerRpc); target.__rpc_exec_stage = (__RpcExecStage)1; ((JohnPaularatusEnemyEnemyAI)(object)target).SetTargetServerRpc(targetServerRpc); target.__rpc_exec_stage = (__RpcExecStage)0; } } private static void __rpc_handler_2466207016(NetworkBehaviour target, FastBufferReader reader, __RpcParams rpcParams) { //IL_0023: Unknown result type (might be due to invalid IL or missing references) //IL_0036: Unknown result type (might be due to invalid IL or missing references) //IL_0050: Unknown result type (might be due to invalid IL or missing references) NetworkManager networkManager = target.NetworkManager; if (networkManager != null && networkManager.IsListening) { int targetClientRpc = default(int); ByteUnpacker.ReadValueBitPacked(reader, ref targetClientRpc); target.__rpc_exec_stage = (__RpcExecStage)2; ((JohnPaularatusEnemyEnemyAI)(object)target).SetTargetClientRpc(targetClientRpc); target.__rpc_exec_stage = (__RpcExecStage)0; } } private static void __rpc_handler_1859908134(NetworkBehaviour target, FastBufferReader reader, __RpcParams rpcParams) { //IL_0023: Unknown result type (might be due to invalid IL or missing references) //IL_0024: Unknown result type (might be due to invalid IL or missing references) //IL_0029: Unknown result type (might be due to invalid IL or missing references) //IL_0070: Unknown result type (might be due to invalid IL or missing references) //IL_0083: Unknown result type (might be due to invalid IL or missing references) //IL_009d: Unknown result type (might be due to invalid IL or missing references) //IL_004b: Unknown result type (might be due to invalid IL or missing references) //IL_0055: Invalid comparison between Unknown and I4 NetworkManager networkManager = target.NetworkManager; if (networkManager == null || !networkManager.IsListening) { return; } if (rpcParams.Server.Receive.SenderClientId != target.OwnerClientId) { if ((int)networkManager.LogLevel <= 1) { Debug.LogError((object)"Only the owner can invoke a ServerRpc that requires ownership!"); } } else { int enemyTargetServerRpc = default(int); ByteUnpacker.ReadValueBitPacked(reader, ref enemyTargetServerRpc); target.__rpc_exec_stage = (__RpcExecStage)1; ((JohnPaularatusEnemyEnemyAI)(object)target).SetEnemyTargetServerRpc(enemyTargetServerRpc); target.__rpc_exec_stage = (__RpcExecStage)0; } } private static void __rpc_handler_721644891(NetworkBehaviour target, FastBufferReader reader, __RpcParams rpcParams) { //IL_0023: Unknown result type (might be due to invalid IL or missing references) //IL_0036: Unknown result type (might be due to invalid IL or missing references) //IL_0050: Unknown result type (might be due to invalid IL or missing references) NetworkManager networkManager = target.NetworkManager; if (networkManager != null && networkManager.IsListening) { int enemyTargetClientRpc = default(int); ByteUnpacker.ReadValueBitPacked(reader, ref enemyTargetClientRpc); target.__rpc_exec_stage = (__RpcExecStage)2; ((JohnPaularatusEnemyEnemyAI)(object)target).SetEnemyTargetClientRpc(enemyTargetClientRpc); target.__rpc_exec_stage = (__RpcExecStage)0; } } private static void __rpc_handler_2454907994(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_005e: Unknown result type (might be due to invalid IL or missing references) NetworkManager networkManager = target.NetworkManager; if (networkManager != null && networkManager.IsListening) { bool enemyOutsideServerRpc = default(bool); ((FastBufferReader)(ref reader)).ReadValueSafe<bool>(ref enemyOutsideServerRpc, default(ForPrimitives)); target.__rpc_exec_stage = (__RpcExecStage)1; ((JohnPaularatusEnemyEnemyAI)(object)target).SetEnemyOutsideServerRpc(enemyOutsideServerRpc); target.__rpc_exec_stage = (__RpcExecStage)0; } } private static void __rpc_handler_1321688020(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_005e: Unknown result type (might be due to invalid IL or missing references) NetworkManager networkManager = target.NetworkManager; if (networkManager != null && networkManager.IsListening) { bool enemyOutsideClientRpc = default(bool); ((FastBufferReader)(ref reader)).ReadValueSafe<bool>(ref enemyOutsideClientRpc, default(ForPrimitives)); target.__rpc_exec_stage = (__RpcExecStage)2; ((JohnPaularatusEnemyEnemyAI)(object)target).SetEnemyOutsideClientRpc(enemyOutsideClientRpc); target.__rpc_exec_stage = (__RpcExecStage)0; } } [MethodImpl(MethodImplOptions.NoInlining)] protected internal override string __getTypeName() { return "JohnPaularatusEnemyEnemyAI"; } } internal class JohnPaularatusUtils : NetworkBehaviour { private static Random random = null; public static Dictionary<string, GameObject> Objects = new Dictionary<string, GameObject>(); internal static JohnPaularatusUtils Instance { get; private set; } = null; private void Awake() { Instance = this; } [ServerRpc(RequireOwnership = false)] public void SpawnScrapServerRpc(string itemName, Vector3 position, bool isQuest = false, bool defaultRotation = true, int valueIncrease = 0) { //IL_0024: Unknown result type (might be due to invalid IL or missing references) //IL_002e: Invalid comparison between Unknown and I4 //IL_011a: Unknown result type (might be due to invalid IL or missing references) //IL_0124: 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_0088: Unknown result type (might be due to invalid IL or missing references) //IL_008e: Unknown result type (might be due to invalid IL or missing references) //IL_00c8: Unknown result type (might be due to invalid IL or missing references) //IL_00ce: Unknown result type (might be due to invalid IL or missing references) //IL_00e3: Unknown result type (might be due to invalid IL or missing references) //IL_00e9: Unknown result type (might be due to invalid IL or missing references) //IL_00f2: Unknown result type (might be due to invalid IL or missing references) //IL_010a: Unknown result type (might be due to invalid IL or missing references) //IL_0186: Unknown result type (might be due to invalid IL or missing references) //IL_018c: 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(502886431u, val, (RpcDelivery)0); bool flag = itemName != null; ((FastBufferWriter)(ref val2)).WriteValueSafe<bool>(ref flag, default(ForPrimitives)); if (flag) { ((FastBufferWriter)(ref val2)).WriteValueSafe(itemName, false); } ((FastBufferWriter)(ref val2)).WriteValueSafe(ref position); ((FastBufferWriter)(ref val2)).WriteValueSafe<bool>(ref isQuest, default(ForPrimitives)); ((FastBufferWriter)(ref val2)).WriteValueSafe<bool>(ref defaultRotation, default(ForPrimitives)); BytePacker.WriteValueBitPacked(val2, valueIncrease); ((NetworkBehaviour)this).__endSendServerRpc(ref val2, 502886431u, val, (RpcDelivery)0); } if ((int)base.__rpc_exec_stage == 1 && (networkManager.IsServer || networkManager.IsHost) && !(itemName == string.Empty)) { Plugin.samplePrefabs.TryGetValue(itemName, out var value); if ((Object)(object)value == (Object)null) { throw new NullReferenceException("'" + itemName + "' either isn't a JohnPaularatus scrap or not registered! This method only handles JohnPaularatus scrap!"); } SpawnScrap(value, position, isQuest, defaultRotation, valueIncrease); } } public NetworkObjectReference SpawnScrap(Item item, Vector3 position, bool isQuest, bool defaultRotation, int valueIncrease) { //IL_000f: Unknown result type (might be due to invalid IL or missing references) //IL_0015: Unknown result type (might be due to invalid IL or missing references) //IL_0052: Unknown result type (might be due to invalid IL or missing references) //IL_0053: 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_0062: Unknown result type (might be due to invalid IL or missing references) //IL_0073: 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_006b: Unknown result type (might be due to invalid IL or missing references) //IL_00df: Unknown result type (might be due to invalid IL or missing references) //IL_00eb: Unknown result type (might be due to invalid IL or missing references) if ((Object)(object)StartOfRound.Instance == (Object)null) { return default(NetworkObjectReference); } if (random == null) { random = new Random(StartOfRound.Instance.randomMapSeed + 85); } Transform val = null; if ((Object)(object)val == (Object)null) { val = StartOfRound.Instance.propsContainer; } GameObject val2 = Object.Instantiate<GameObject>(item.spawnPrefab, position + Vector3.up * 0.2f, defaultRotation ? Quaternion.Euler(item.restingRotation) : Quaternion.identity, val); val2.GetComponent<NetworkObject>().Spawn(false); int num = random.Next(item.minValue + valueIncrease, item.maxValue + valueIncrease); ScanNodeProperties componentInChildren = val2.GetComponentInChildren<ScanNodeProperties>(); componentInChildren.scrapValue = num; componentInChildren.subText = $"Value: ${num}"; val2.GetComponent<GrabbableObject>().scrapValue = num; UpdateScanNodeClientRpc(new NetworkObjectReference(val2), num); return new NetworkObjectReference(val2); } [ClientRpc] public void UpdateScanNodeClientRpc(NetworkObjectReference go, int value) { //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) { return; } if ((int)base.__rpc_exec_stage != 2 && (networkManager.IsServer || networkManager.IsHost)) { ClientRpcParams val = default(ClientRpcParams); FastBufferWriter val2 = ((NetworkBehaviour)this).__beginSendClientRpc(3004317084u, val, (RpcDelivery)0); ((FastBufferWriter)(ref val2)).WriteValueSafe<NetworkObjectReference>(ref go, default(ForNetworkSerializable)); BytePacker.WriteValueBitPacked(val2, value); ((NetworkBehaviour)this).__endSendClientRpc(ref val2, 3004317084u, val, (RpcDelivery)0); } if ((int)base.__rpc_exec_stage == 2 && (networkManager.IsClient || networkManager.IsHost)) { NetworkObject val3 = default(NetworkObject); ((NetworkObjectReference)(ref go)).TryGet(ref val3, (NetworkManager)null); GrabbableObject val4 = default(GrabbableObject); if ((Object)(object)val3 != (Object)null && ((Component)val3).gameObject.TryGetComponent<GrabbableObject>(ref val4)) { val4.SetScrapValue(value); } } } protected override void __initializeVariables() { ((NetworkBehaviour)this).__initializeVariables(); } [RuntimeInitializeOnLoadMethod] internal static void InitializeRPCS_JohnPaularatusUtils() { //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 NetworkManager.__rpc_func_table.Add(502886431u, new RpcReceiveHandler(__rpc_handler_502886431)); NetworkManager.__rpc_func_table.Add(3004317084u, new RpcReceiveHandler(__rpc_handler_3004317084)); } private static void __rpc_handler_502886431(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_0074: Unknown result type (might be due to invalid IL or missing references) //IL_007a: Unknown result type (might be due to invalid IL or missing references) //IL_008f: Unknown result type (might be due to invalid IL or missing references) //IL_0095: 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_00b1: 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_00db: Unknown result type (might be due to invalid IL or missing references) NetworkManager networkManager = target.NetworkManager; if (networkManager != null && networkManager.IsListening) { bool flag = default(bool); ((FastBufferReader)(ref reader)).ReadValueSafe<bool>(ref flag, default(ForPrimitives)); string itemName = null; if (flag) { ((FastBufferReader)(ref reader)).ReadValueSafe(ref itemName, false); } Vector3 position = default(Vector3); ((FastBufferReader)(ref reader)).ReadValueSafe(ref position); bool isQuest = default(bool); ((FastBufferReader)(ref reader)).ReadValueSafe<bool>(ref isQuest, default(ForPrimitives)); bool defaultRotation = default(bool); ((FastBufferReader)(ref reader)).ReadValueSafe<bool>(ref defaultRotation, default(ForPrimitives)); int valueIncrease = default(int); ByteUnpacker.ReadValueBitPacked(reader, ref valueIncrease); target.__rpc_exec_stage = (__RpcExecStage)1; ((JohnPaularatusUtils)(object)target).SpawnScrapServerRpc(itemName, position, isQuest, defaultRotation, valueIncrease); target.__rpc_exec_stage = (__RpcExecStage)0; } } private static void __rpc_handler_3004317084(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 go = default(NetworkObjectReference); ((FastBufferReader)(ref reader)).ReadValueSafe<NetworkObjectReference>(ref go, default(ForNetworkSerializable)); int value = default(int); ByteUnpacker.ReadValueBitPacked(reader, ref value); target.__rpc_exec_stage = (__RpcExecStage)2; ((JohnPaularatusUtils)(object)target).UpdateScanNodeClientRpc(go, value); target.__rpc_exec_stage = (__RpcExecStage)0; } } [MethodImpl(MethodImplOptions.NoInlining)] protected internal override string __getTypeName() { return "JohnPaularatusUtils"; } } [BepInPlugin("JohnPaularatus", "JohnPaularatus", "1.4.0")] [BepInDependency(/*Could not decode attribute arguments.*/)] public class Plugin : BaseUnityPlugin { internal static ManualLogSource Logger; public static EnemyType JohnPaularatusEnemyType; public static UnlockableItemDef JohnPaularatusUnlockableItem; public static GameObject UtilsPrefab; public static Dictionary<string, Item> samplePrefabs = new Dictionary<string, Item>(); private readonly Harmony _harmony = new Harmony("JohnPaularatus"); public static JohnPaularatusConfig BoundConfig { get; private set; } private void Awake() { Logger = ((BaseUnityPlugin)this).Logger; BoundConfig = new JohnPaularatusConfig(((BaseUnityPlugin)this).Config); Assets.PopulateAssets(); _harmony.PatchAll(Assembly.GetExecutingAssembly()); UtilsPrefab = Assets.MainAssetBundle.LoadAsset<GameObject>("JohnPaularatusUtils"); JohnPaularatusEnemyType = Assets.MainAssetBundle.LoadAsset<EnemyType>("ReadyJPObj"); Utilities.FixMixerGroups(JohnPaularatusEnemyType.enemyPrefab); TerminalNode terminalNode = Assets.MainAssetBundle.LoadAsset<TerminalNode>("ReadyJPTN"); TerminalKeyword terminalKeyword = Assets.MainAssetBundle.LoadAsset<TerminalKeyword>("ReadyJPTK"); NetworkPrefabs.RegisterNetworkPrefab(JohnPaularatusEnemyType.enemyPrefab); RegisterEnemyWithConfig(BoundConfig.ConfigJohnPaularatusSpawnWeights.Value, JohnPaularatusEnemyType, terminalNode, terminalKeyword, BoundConfig.ConfigJohnPaularatusPowerLevel.Value, BoundConfig.ConfigJohnPaularatusMaxCount.Value); JohnPaularatusUnlockableItem = Assets.SecondaryMainAssetBundle.LoadAsset<UnlockableItemDef>("ReadyJPUnlockableItem"); Utilities.FixMixerGroups(JohnPaularatusUnlockableItem.unlockable.prefabObject); NetworkPrefabs.RegisterNetworkPrefab(JohnPaularatusUnlockableItem.unlockable.prefabObject); Unlockables.RegisterUnlockable(JohnPaularatusUnlockableItem, 3999, (StoreType)2); InitializeNetworkBehaviours(); Logger.LogInfo((object)"Plugin JohnPaularatus is loaded!"); } protected void RegisterEnemyWithConfig(string configMoonRarity, EnemyType enemy, TerminalNode terminalNode, TerminalKeyword terminalKeyword, float powerLevel, int spawnCount) { enemy.MaxCount = spawnCount; enemy.PowerLevel = powerLevel; var (dictionary, dictionary2) = ConfigParsing(configMoonRarity); Enemies.RegisterEnemy(enemy, dictionary, dictionary2, terminalNode, terminalKeyword); } protected (Dictionary<LevelTypes, int> spawnRateByLevelType, Dictionary<string, int> spawnRateByCustomLevelType) ConfigParsing(string configMoonRarity) { //IL_007a: Unknown result type (might be due to invalid IL or missing references) //IL_00a0: Unknown result type (might be due to invalid IL or missing references) Dictionary<LevelTypes, int> dictionary = new Dictionary<LevelTypes, int>(); Dictionary<string, int> dictionary2 = new Dictionary<string, int>(); foreach (string item in from s in configMoonRarity.Split(',') select s.Trim()) { string[] array = item.Split(':'); if (array.Length != 2) { continue; } string text = array[0]; if (!int.TryParse(array[1], out var result)) { continue; } if (Enum.TryParse<LevelTypes>(text, ignoreCase: true, out LevelTypes result2)) { dictionary[result2] = result; continue; } string value = text + "Level"; if (Enum.TryParse<LevelTypes>(value, ignoreCase: true, out result2)) { dictionary[result2] = result; } else { dictionary2[text] = result; } } return (dictionary, dictionary2); } private void InitializeNetworkBehaviours() { IEnumerable<Type> enumerable; try { enumerable = Assembly.GetExecutingAssembly().GetTypes(); } catch (ReflectionTypeLoadException ex) { enumerable = ex.Types.Where((Type t) => t != null); } foreach (Type item in enumerable) { MethodInfo[] methods = item.GetMethods(BindingFlags.Instance | BindingFlags.Static | BindingFlags.NonPublic); MethodInfo[] array = methods; foreach (MethodInfo methodInfo in array) { object[] customAttributes = methodInfo.GetCustomAttributes(typeof(RuntimeInitializeOnLoadMethodAttribute), inherit: false); if (customAttributes.Length != 0) { methodInfo.Invoke(null, null); } } } } } public static class Assets { public static AssetBundle MainAssetBundle; public static AssetBundle SecondaryMainAssetBundle; public static void PopulateAssets() { string directoryName = Path.GetDirectoryName(Assembly.GetExecutingAssembly().Location); MainAssetBundle = AssetBundle.LoadFromFile(Path.Combine(directoryName, "readyjpassets")); if ((Object)(object)MainAssetBundle == (Object)null) { Plugin.Logger.LogError((object)"Failed to load custom assets."); return; } SecondaryMainAssetBundle = AssetBundle.LoadFromFile(Path.Combine(directoryName, "secondaryreadyjpassets")); if ((Object)(object)SecondaryMainAssetBundle == (Object)null) { Plugin.Logger.LogError((object)"Failed to load secondary custom assets."); } } } public class ReadyJP : JohnPaularatusEnemyEnemyAI { public enum State { Spawn, IdleAction, Walking, SearchingForApparatus, AttackMode, Death } public enum RandomActions { IdleDance, AdmireSelf, JumpingJacks, PushUps, ArmCurl, WalkDialogue, Death1, Death2 } public NetworkAnimator networkAnimator; public AudioClip AttackSound; public AudioClip BigWalkingSound; public AudioClip IdleDanceSound; public AudioClip PushUpSound; public AudioClip AdmireSelfSound; public AudioClip JumpingJacksSound; public AudioClip ArmCurlSound; public AudioClip Death1Sound; public AudioClip Death2Sound; public AudioClip BegForApparatusSound; public List<AudioClip> RandomDialogueSounds = new List<AudioClip>(); public List<AudioClip> DamageSounds = new List<AudioClip>(); public AnimationClip SmashDoorAnimation; public AnimationClip MeleeAnimation; public GameObject LungPropPrefab; public GameObject Collisions; public GameObject DeathColliders; public AudioClip[] FootstepSounds; [NonSerialized] public bool meleeAttack; private static bool vanillaApparatus; private LungProp? targetLungProp; private bool holdingLungProp; private List<DoorLock> doorLocks = new List<DoorLock>(); private readonly float idleCooldownTimer = 15f; private float afterSpeed; private float randomSoundsTimer = 10f; private float idleTimer = 5f; private float timeSinceSpinAttack = 3f; private float begTimer = 10f; private const float WALKING_SPEED = 1.5f; private const float SPRINTING_SPEED = 2f; private Coroutine? delayRoutine; private Coroutine? grabLungPropRoutine; private Coroutine? doorLockRoutine; private readonly List<RandomActions> randomActions = new List<RandomActions>(6) { RandomActions.IdleDance, RandomActions.AdmireSelf, RandomActions.JumpingJacks, RandomActions.PushUps, RandomActions.ArmCurl, RandomActions.WalkDialogue }; private Random JPRandom = new Random(); public override void Start() { base.Start(); JPRandom = new Random(StartOfRound.Instance.randomMapSeed + 223); } public override void Update() { //IL_01dc: Unknown result type (might be due to invalid IL or missing references) //IL_01e7: Unknown result type (might be due to invalid IL or missing references) //IL_00cd: Unknown result type (might be due to invalid IL or missing references) //IL_00d8: Unknown result type (might be due to invalid IL or missing references) ((EnemyAI)this).Update(); if (((EnemyAI)this).isEnemyDead || !((NetworkBehaviour)this).IsServer) { return; } randomSoundsTimer -= Time.deltaTime; timeSinceSpinAttack += Time.deltaTime; begTimer -= Time.deltaTime; if (randomSoundsTimer <= 0f && doorLockRoutine == null && grabLungPropRoutine == null && ((EnemyAI)this).currentBehaviourStateIndex == 2) { PlayRandomSoundsServerRpc(); randomSoundsTimer = 10f; } if (doorLockRoutine == null && !holdingLungProp && grabLungPropRoutine == null) { foreach (DoorLock doorLock in doorLocks) { if (!((Object)(object)doorLock == (Object)null) && !doorLock.isDoorOpened && Vector3.Distance(((Component)doorLock).transform.position, ((Component)this).transform.position) <= 3f) { doorLockRoutine = ((MonoBehaviour)this).StartCoroutine(DoOpenDoor(doorLock)); } } } if (idleTimer > 0f && doorLockRoutine == null && (((EnemyAI)this).currentBehaviourStateIndex == 2 || ((EnemyAI)this).currentBehaviourStateIndex == 3) && !((EnemyAI)this).creatureAnimator.GetBool("GrabbingAppy")) { idleTimer -= Time.deltaTime; if (idleTimer <= 0f) { idleTimer = idleCooldownTimer; ((EnemyAI)this).previousBehaviourStateIndex = ((EnemyAI)this).currentBehaviourStateIndex; ((EnemyAI)this).SwitchToBehaviourServerRpc(1); PerformRandomIdleAction(randomActions[JPRandom.Next(0, randomActions.Count)]); } } if (!((Object)(object)targetLungProp == (Object)null) && !holdingLungProp && Vector3.Distance(((Component)targetLungProp).transform.position, ((Component)this).transform.position) <= 2.5f && grabLungPropRoutine == null) { SetTargetApparatusStatusServerRpc(value: false); if (((GrabbableObject)targetLungProp).isHeld) { ((GrabbableObject)targetLungProp).playerHeldBy.DropAllHeldItemsServerRpc(); } grabLungPropRoutine = ((MonoBehaviour)this).StartCoroutine(GrabLungAnimation()); } } private IEnumerator GrabLungAnimation() { ((EnemyAI)this).creatureAnimator.SetBool("GrabbingAppy", true); ((EnemyAI)this).agent.speed = 0f; yield return (object)new WaitForSeconds(10f); holdingLungProp = true; if (((NetworkBehaviour)this).IsHost && (Object)(object)targetLungProp != (Object)null) { ((Component)targetLungProp).GetComponent<NetworkObject>().Despawn(true); } ((EnemyAI)this).StartSearch(((Component)this).transform.position, (AISearchRoutine)null); ((EnemyAI)this).SwitchToBehaviourServerRpc(2); HideOrUnhideHeldLungPropServerRpc(hide: false); ((EnemyAI)this).creatureAnimator.SetFloat("HasAppy", 1f); targetLungProp = null; ((EnemyAI)this).agent.speed = 2f; ((EnemyAI)this).creatureAnimator.SetBool("GrabbingAppy", false); grabLungPropRoutine = null; MeltdownIntegration.TryCauseMeltdown(); } private IEnumerator DoOpenDoor(DoorLock doorLock) { networkAnimator.SetTrigger("DoDoorKick"); float previousSpeed = ((EnemyAI)this).agent.speed; ((EnemyAI)this).agent.speed = 0f; yield return (object)new WaitForSeconds(SmashDoorAnimation.length); ((EnemyAI)this).agent.speed = previousSpeed; if (doorLock.isLocked) { doorLock.UnlockDoorServerRpc(); } doorLock.OpenDoorAsEnemyServerRpc(); doorLockRoutine = null; } private void PerformRandomIdleAction(RandomActions randomAction) { float speed = ((EnemyAI)this).agent.speed; if (randomAction != RandomActions.WalkDialogue) { ((EnemyAI)this).agent.speed = 0f; } if (holdingLungProp && randomAction != RandomActions.WalkDialogue) { HideOrUnhideHeldLungPropServerRpc(hide: true); } switch (randomAction) { case RandomActions.IdleDance: delayRoutine = ((MonoBehaviour)this).StartCoroutine(DelayGoingBackToPreviousState(IdleDanceSound.length, speed)); PlaySpecificSoundServerRpc(0); break; case RandomActions.AdmireSelf: ((EnemyAI)this).creatureAnimator.SetBool("AdmiringSelf", true); delayRoutine = ((MonoBehaviour)this).StartCoroutine(DelayGoingBackToPreviousState(AdmireSelfSound.length, speed)); PlaySpecificSoundServerRpc(1); break; case RandomActions.JumpingJacks: networkAnimator.SetTrigger("DoJumpJacks"); delayRoutine = ((MonoBehaviour)this).StartCoroutine(DelayGoingBackToPreviousState(JumpingJacksSound.length, speed)); PlaySpecificSoundServerRpc(2); break; case RandomActions.PushUps: networkAnimator.SetTrigger("DoPushUp"); delayRoutine = ((MonoBehaviour)this).StartCoroutine(DelayGoingBackToPreviousState(PushUpSound.length, speed)); PlaySpecificSoundServerRpc(3); break; case RandomActions.ArmCurl: networkAnimator.SetTrigger("DoArmCurl"); delayRoutine = ((MonoBehaviour)this).StartCoroutine(DelayGoingBackToPreviousState(ArmCurlSound.length, speed)); PlaySpecificSoundServerRpc(4); break; case RandomActions.WalkDialogue: PlaySpecificSoundServerRpc(5); ((EnemyAI)this).SwitchToBehaviourServerRpc(((EnemyAI)this).previousBehaviourStateIndex); break; } } [ServerRpc(RequireOwnership = false)] private void SetTargetApparatusStatusServerRpc(bool value) { //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)((NetworkBehaviour)this).__rpc_exec_stage != 1 && (networkManager.IsClient || networkManager.IsHost)) { ServerRpcParams val = default(ServerRpcParams); FastBufferWriter val2 = ((NetworkBehaviour)this).__beginSendServerRpc(1959886299u, val, (RpcDelivery)0); ((FastBufferWriter)(ref val2)).WriteValueSafe<bool>(ref value, default(ForPrimitives)); ((NetworkBehaviour)this).__endSendServerRpc(ref val2, 1959886299u, val, (RpcDelivery)0); } if ((int)((NetworkBehaviour)this).__rpc_exec_stage == 1 && (networkManager.IsServer || networkManager.IsHost)) { SetTargetApparatusStatusClientRpc(value); } } } [ClientRpc] private void SetTargetApparatusStatusClientRpc(bool value) { //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)((NetworkBehaviour)this).__rpc_exec_stage != 2 && (networkManager.IsServer || networkManager.IsHost)) { ClientRpcParams val = default(ClientRpcParams); FastBufferWriter val2 = ((NetworkBehaviour)this).__beginSendClientRpc(4138367467u, val, (RpcDelivery)0); ((FastBufferWriter)(ref val2)).WriteValueSafe<bool>(ref value, default(ForPrimitives)); ((NetworkBehaviour)this).__endSendClientRpc(ref val2, 4138367467u, val, (RpcDelivery)0); } if ((int)((NetworkBehaviour)this).__rpc_exec_stage == 2 && (networkManager.IsClient || networkManager.IsHost) && !((Object)(object)targetLungProp == (Object)null)) { ((GrabbableObject)targetLungProp).grabbable = value; ((GrabbableObject)targetLungProp).grabbableToEnemies = value; } } } [ServerRpc(RequireOwnership = false)] private void PlaySpecificSoundServerRpc(int index) { //IL_0024: Unknown result type (might be due to invalid IL or missing references) //IL_002e: Invalid comparison between Unknown and I4 //IL_0099: Unknown result type (might be due to invalid IL or missing references) //IL_00a3: 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_0089: Unknown result type (might be due to invalid IL or missing references) NetworkManager networkManager = ((NetworkBehaviour)this).NetworkManager; if (networkManager != null && networkManager.IsListening) { if ((int)((NetworkBehaviour)this).__rpc_exec_stage != 1 && (networkManager.IsClient || networkManager.IsHost)) { ServerRpcParams val = default(ServerRpcParams); FastBufferWriter val2 = ((NetworkBehaviour)this).__beginSendServerRpc(1878811421u, val, (RpcDelivery)0); BytePacker.WriteValueBitPacked(val2, index); ((NetworkBehaviour)this).__endSendServerRpc(ref val2, 1878811421u, val, (RpcDelivery)0); } if ((int)((NetworkBehaviour)this).__rpc_exec_stage == 1 && (networkManager.IsServer || networkManager.IsHost)) { PlaySpecificSoundClientRpc(index); } } } [ClientRpc] private void PlaySpecificSoundClientRpc(int index) { //IL_0024: Unknown result type (might be due to invalid IL or missing references) //IL_002e: Invalid comparison between Unknown and I4 //IL_0099: Unknown result type (might be due to invalid IL or missing references) //IL_00a3: 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_0089: 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)((NetworkBehaviour)this).__rpc_exec_stage != 2 && (networkManager.IsServer || networkManager.IsHost)) { ClientRpcParams val = default(ClientRpcParams); FastBufferWriter val2 = ((NetworkBehaviour)this).__beginSendClientRpc(756704864u, val, (RpcDelivery)0); BytePacker.WriteValueBitPacked(val2, index); ((NetworkBehaviour)this).__endSendClientRpc(ref val2, 756704864u, val, (RpcDelivery)0); } if ((int)((NetworkBehaviour)this).__rpc_exec_stage == 2 && (networkManager.IsClient || networkManager.IsHost)) { AudioClip val3 = (AudioClip)(index switch { 0 => IdleDanceSound, 1 => AdmireSelfSound, 2 => JumpingJacksSound, 3 => PushUpSound, 4 => ArmCurlSound, 5 => BigWalkingSound, 6 => Death1Sound, 7 => Death2Sound, 8 => AttackSound, 9 => BegForApparatusSound, _ => null, }); ((EnemyAI)this).creatureVoice.PlayOneShot(val3); if (index == 8) { meleeAttack = true; ((MonoBehaviour)this).StartCoroutine(ResetMeleeAttack()); } } } private IEnumerator ResetMeleeAttack() { yield return (object)new WaitForSeconds(MeleeAnimation.length); meleeAttack = false; } [ServerRpc(RequireOwnership = false)] private void PlayRandomSoundsServerRpc() { //IL_0024: Unknown result type (might be due to invalid IL or missing references) //IL_002e: Invalid comparison between Unknown and I4 //IL_008c: Unknown result type (might be due to invalid IL or missing references) //IL_0096: 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_007c: Unknown result type (might be due to invalid IL or missing references) NetworkManager networkManager = ((NetworkBehaviour)this).NetworkManager; if (networkManager != null && networkManager.IsListening) { if ((int)((NetworkBehaviour)this).__rpc_exec_stage != 1 && (networkManager.IsClient || networkManager.IsHost)) { ServerRpcParams val = default(ServerRpcParams); FastBufferWriter val2 = ((NetworkBehaviour)this).__beginSendServerRpc(4044406967u, val, (RpcDelivery)0); ((NetworkBehaviour)this).__endSendServerRpc(ref val2, 4044406967u, val, (RpcDelivery)0); } if ((int)((NetworkBehaviour)this).__rpc_exec_stage == 1 && (networkManager.IsServer || networkManager.IsHost)) { PlayRandomSoundsClientRpc(); } } } [ClientRpc] private void PlayRandomSoundsClientRpc() { //IL_0024: Unknown result type (might be due to invalid IL or missing references) //IL_002e: Invalid comparison between Unknown and I4 //IL_008c: Unknown result type (might be due to invalid IL or missing references) //IL_0096: 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_007c: Unknown result type (might be due to invalid IL or missing references) NetworkManager networkManager = ((NetworkBehaviour)this).NetworkManager; if (networkManager != null && networkManager.IsListening) { if ((int)((NetworkBehaviour)this).__rpc_exec_stage != 2 && (networkManager.IsServer || networkManager.IsHost)) { ClientRpcParams val = default(ClientRpcParams); FastBufferWriter val2 = ((NetworkBehaviour)this).__beginSendClientRpc(2029294294u, val, (RpcDelivery)0); ((NetworkBehaviour)this).__endSendClientRpc(ref val2, 2029294294u, val, (RpcDelivery)0); } if ((int)((NetworkBehaviour)this).__rpc_exec_stage == 2 && (networkManager.IsClient || networkManager.IsHost)) { ((EnemyAI)this).creatureVoice.PlayOneShot(RandomDialogueSounds[JPRandom.Next(0, RandomDialogueSounds.Count)]); } } } private IEnumerator DelayGoingBackToPreviousState(float delay, float speed) { yield return (object)new WaitForSeconds(delay); ((EnemyAI)this).agent.speed = speed; ((EnemyAI)this).creatureAnimator.SetBool("AdmiringSelf", false); if (holdingLungProp) { HideOrUnhideHeldLungPropServerRpc(hide: false); } ((EnemyAI)this).SwitchToBehaviourServerRpc(((EnemyAI)this).previousBehaviourStateIndex); NavMeshAgent agent = ((EnemyAI)this).agent; agent.speed += afterSpeed; afterSpeed = 0f; delayRoutine = null; } [ServerRpc(RequireOwnership = false)] private void HideOrUnhideHeldLungPropServerRpc(bool hide) { //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)((NetworkBehaviour)this).__rpc_exec_stage != 1 && (networkManager.IsClient || networkManager.IsHost)) { ServerRpcParams val = default(ServerRpcParams); FastBufferWriter val2 = ((NetworkBehaviour)this).__beginSendServerRpc(2130081848u, val, (RpcDelivery)0); ((FastBufferWriter)(ref val2)).WriteValueSafe<bool>(ref hide, default(ForPrimitives)); ((NetworkBehaviour)this).__endSendServerRpc(ref val2, 2130081848u, val, (RpcDelivery)0); } if ((int)((NetworkBehaviour)this).__rpc_exec_stage == 1 && (networkManager.IsServer || networkManager.IsHost)) { HideOrUnhideHeldLungPropClientRpc(hide); } } } [ClientRpc] private void HideOrUnhideHeldLungPropClientRpc(bool hide) { //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)((NetworkBehaviour)this).__rpc_exec_stage != 2 && (networkManager.IsServer || networkManager.IsHost)) { ClientRpcParams val = default(ClientRpcParams); FastBufferWriter val2 = ((NetworkBehaviour)this).__beginSendClientRpc(115474244u, val, (RpcDelivery)0); ((FastBufferWriter)(ref val2)).WriteValueSafe<bool>(ref hide, default(ForPrimitives)); ((NetworkBehaviour)this).__endSendClientRpc(ref val2, 115474244u, val, (RpcDelivery)0); } if ((int)((NetworkBehaviour)this).__rpc_exec_stage == 2 && (networkManager.IsClient || networkManager.IsHost)) { LungPropPrefab.SetActive(!hide); } } } public override void DoAIInterval() { //IL_0029: Unknown result type (might be due to invalid IL or missing references) //IL_002e: Unknown result type (might be due to invalid IL or missing references) ((EnemyAI)this).DoAIInterval(); if (!((EnemyAI)this).isEnemyDead) { if (((EnemyAI)this).currentBehaviourStateIndex != 1) { Animator creatureAnimator = ((EnemyAI)this).creatureAnimator; Vector3 velocity = ((EnemyAI)this).agent.velocity; creatureAnimator.SetFloat("RunSpeed", ((Vector3)(ref velocity)).magnitude / 2f); } else { ((EnemyAI)this).creatureAnimator.SetFloat("RunSpeed", 0f); } switch (((EnemyAI)this).currentBehaviourStateIndex) { case 2: DoWalking(); break; case 3: DoSearchingForApparatus(); break; case 4: DoAttackMode(); break; case 0: case 1: case 5: break; } } } private void DoWalking() { //IL_0045: 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) if (!holdingLungProp) { return; } PlayerControllerB[] allPlayerScripts = StartOfRound.Instance.allPlayerScripts; foreach (PlayerControllerB val in allPlayerScripts) { if (!((Object)(object)val == (Object)null) && !val.isInHangarShipRoom && !val.isPlayerDead && val.isPlayerControlled && Vector3.Distance(((Component)this).transform.position, ((Component)val).transform.position) <= 10f) { SetTargetServerRpc(Array.IndexOf(StartOfRound.Instance.allPlayerScripts, val)); ((EnemyAI)this).StopSearch(((EnemyAI)this).currentSearch, true); ((EnemyAI)this).SwitchToBehaviourServerRpc(4); } } } private void DoSearchingForApparatus() { //IL_004c: 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) //IL_00e2: Unknown result type (might be due to invalid IL or missing references) if (!((Object)(object)targetLungProp != (Object)null)) { return; } if ((((EnemyAI)this).isOutside && !((GrabbableObject)targetLungProp).isInFactory) || (!((EnemyAI)this).isOutside && ((GrabbableObject)targetLungProp).isInFactory)) { ((EnemyAI)this).agent.SetDestination(((Component)targetLungProp).transform.position); } else if ((((EnemyAI)this).isOutside && ((GrabbableObject)targetLungProp).isInFactory) || (!((EnemyAI)this).isOutside && !((GrabbableObject)targetLungProp).isInFactory)) { GoThroughEntrance(); return; } if (!((GrabbableObject)targetLungProp).isHeld) { return; } PlayerControllerB[] allPlayerScripts = StartOfRound.Instance.allPlayerScripts; foreach (PlayerControllerB val in allPlayerScripts) { if (!((Object)(object)val == (Object)null) && !val.isInHangarShipRoom && !val.isPlayerDead && val.isPlayerControlled && Vector3.Distance(((Component)this).transform.position, ((Component)val).transform.position) <= 10f && (Object)(object)val.currentlyHeldObjectServer != (Object)null && (Object)(object)val.currentlyHeldObjectServer == (Object)(object)targetLungProp && begTimer <= 0f) { begTimer = 5f; PlaySpecificSoundServerRpc(9); } } } private void DoAttackMode() { //IL_001a: Unknown result type (might be due to invalid IL or missing references) //IL_0064: Unknown result type (might be due to invalid IL or missing references) //IL_0074: 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) //IL_00bd: 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) if ((Object)(object)((EnemyAI)this).targetPlayer != (Object)null) { ((EnemyAI)this).SetDestinationToPosition(((Component)((EnemyAI)this).targetPlayer).transform.position, false); } if (timeSinceSpinAttack >= MeleeAnimation.length + 0.5f && holdingLungProp && (Object)(object)((EnemyAI)this).targetPlayer != (Object)null) { if (Vector3.Distance(((Component)this).transform.position, ((Component)((EnemyAI)this).targetPlayer).transform.position) <= 3f) { timeSinceSpinAttack = 0f; networkAnimator.SetTrigger("DoMelee"); PlaySpecificSoundServerRpc(8); } if (Vector3.Distance(((Component)this).transform.position, ((Component)((EnemyAI)this).targetPlayer).transform.position) > 15f) { ((EnemyAI)this).StartSearch(((Component)this).transform.position, (AISearchRoutine)null); ((EnemyAI)this).SwitchToBehaviourServerRpc(2); } } } public override void HitEnemy(int force = 1, PlayerControllerB? playerWhoHit = null, bool playHitSFX = false, int hitID = -1) { ((EnemyAI)this).HitEnemy(force, playerWhoHit, playHitSFX, hitID); if (((EnemyAI)this).isEnemyDead) { return; } ((EnemyAI)this).creatureVoice.PlayOneShot(DamageSounds[JPRandom.Next(0, DamageSounds.Count)]); if (grabLungPropRoutine == null) { ((EnemyAI)this).enemyHP = ((EnemyAI)this).enemyHP - force; if (delayRoutine == null) { NavMeshAgent agent = ((EnemyAI)this).agent; agent.speed += 0.5f; } else { afterSpeed += 0.25f; } } if (((EnemyAI)this).enemyHP <= 0 && !((EnemyAI)this).isEnemyDead && ((NetworkBehaviour)this).IsOwner) { ((EnemyAI)this).KillEnemyOnOwnerClient(false); } } public override void KillEnemy(bool destroy = false) { //IL_0125: Unknown result type (might be due to invalid IL or missing references) //IL_0131: Unknown result type (might be due to invalid IL or missing references) //IL_0137: Unknown result type (might be due to invalid IL or missing references) //IL_0144: Unknown result type (might be due to invalid IL or missing references) //IL_014d: Unknown result type (might be due to invalid IL or missing references) //IL_0152: Unknown result type (might be due to invalid IL or missing references) ((EnemyAI)this).KillEnemy(destroy); ((MonoBehaviour)this).StopAllCoroutines(); Collisions.SetActive(false); DeathColliders.SetActive(true); ((EnemyAI)this).SwitchToBehaviourStateOnLocalClient(5); ((EnemyAI)this).agent.speed = 0f; if (((NetworkBehaviour)this).IsServer) { ((EnemyAI)this).creatureAnimator.SetBool("isDead", true); ((EnemyAI)this).creatureAnimator.SetBool("GrabbingAppy", false); ((EnemyAI)this).creatureAnimator.SetBool("AdmiringSelf", false); ((EnemyAI)this).creatureAnimator.SetFloat("HasAppy", 0f); int num = JPRandom.Next(1, 3); string text = num.ToString(); networkAnimator.SetTrigger("DoDeath" + text); if (num == 1) { PlaySpecificSoundServerRpc(6); } else { PlaySpecificSoundServerRpc(7); } if ((Object)(object)targetLungProp == (Object)null) { NetworkObjectReference val = JohnPaularatusUtils.Instance.SpawnScrap(StartOfRound.Instance.allItemsList.itemsList.Where((Item x) => x.itemName == "Apparatus").First(), RoundManager.Instance.GetRandomNavMeshPositionInBoxPredictable(((Component)this).transform.position, 4f, default(NavMeshHit), JPRandom, -1, 1f), isQuest: false, defaultRotation: true, 100); } } if (holdingLungProp) { holdingLungProp = false; LungPropPrefab.SetActive(false); } if ((Object)(object)targetLungProp != (Object)null) { SetTargetApparatusStatusServerRpc(value: true); } } [ServerRpc(RequireOwnership = false)] private void SetTargetLungPropServerRpc() { //IL_0024: Unknown result type (might be due to invalid IL or missing references) //IL_002e: Invalid comparison between Unknown and I4 //IL_008c: Unknown result type (might be due to invalid IL or missing references) //IL_0096: 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_007c: Unknown result type (might be due to invalid IL or missing references) //IL_011e: Unknown result type (might be due to invalid IL or missing references) //IL_012a: Unknown result type (might be due to invalid IL or missing references) //IL_0130: Unknown result type (might be due to invalid IL or missing references) //IL_013d: Unknown result type (might be due to invalid IL or missing references) //IL_0145: Unknown result type (might be due to invalid IL or missing references) //IL_014a: Unknown result type (might be due to invalid IL or missing references) //IL_014b: Unknown result type (might be due to invalid IL or missing references) //IL_0154: 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)((NetworkBehaviour)this).__rpc_exec_stage != 1 && (networkManager.IsClient || networkManager.IsHost)) { ServerRpcParams val = default(ServerRpcParams); FastBufferWriter val2 = ((NetworkBehaviour)this).__beginSendServerRpc(1120500845u, val, (RpcDelivery)0); ((NetworkBehaviour)this).__endSendServerRpc(ref val2, 1120500845u, val, (RpcDelivery)0); } if ((int)((NetworkBehaviour)this).__rpc_exec_stage == 1 && (networkManager.IsServer || networkManager.IsHost)) { GameObject[] insideAINodes = RoundManager.Instance.insideAINodes; NetworkObjectReference val3 = JohnPaularatusUtils.Instance.SpawnScrap(StartOfRound.Instance.allItemsList.itemsList.Where((Item x) => x.itemName == "Apparatus").First(), RoundManager.Instance.GetRandomNavMeshPositionInBoxPredictable(insideAINodes[JPRandom.Next(0, insideAINodes.Length)].transform.position, 4f, default(NavMeshHit), JPRandom, -1, 1f), isQuest: false, defaultRotation: true, 0); GameObject val4 = NetworkObjectReference.op_Implicit(val3); SetTargetLungPropClientRpc(new NetworkObjectReference(val4)); } } [ClientRpc] private void SetTargetLungPropClientRpc(NetworkObjectReference targetLungPropRef) { //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_00d6: Unknown result type (might be due to invalid IL or missing references) //IL_0102: 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)((NetworkBehaviour)this).__rpc_exec_stage != 2 && (networkManager.IsServer || networkManager.IsHost)) { ClientRpcParams val = default(ClientRpcParams); FastBufferWriter val2 = ((NetworkBehaviour)this).__beginSendClientRpc(694142487u, val, (RpcDelivery)0); ((FastBufferWriter)(ref val2)).WriteValueSafe<NetworkObjectReference>(ref targetLungPropRef, default(ForNetworkSerializable)); ((NetworkBehaviour)this).__endSendClientRpc(ref val2, 694142487u, val, (RpcDelivery)0); } if ((int)((NetworkBehaviour)this).__rpc_exec_stage == 2 && (networkManager.IsClient || networkManager.IsHost)) { GameObject val3 = NetworkObjectReference.op_Implicit(targetLungPropRef); targetLungProp = val3.GetComponent<LungProp>(); ((GrabbableObject)targetLungProp).SetScrapValue(40); ((EnemyAI)this).SetDestinationToPosition(((Component)targetLungProp).transform.position, false); if ((Object)(object)targetLungProp != (Object)null) { ((EnemyAI)this).SwitchToBehaviourStateOnLocalClient(3); } else { Plugin.Logger.LogError((object)"targetLungProp is null"); } } } public void WanderAroundForApparatusAnimEvent() { //IL_00fc: Unknown result type (might be due to invalid IL or missing references) doorLocks = Object.FindObjectsOfType<DoorLock>().ToList(); foreach (DoorLock doorLock in doorLocks) { if (doorLock.isLocked) { ((Component)doorLock).GetComponent<NavMeshObstacle>().carving = false; } } List<LungProp> list = new List<LungProp>(); list.AddRange(Object.FindObjectsByType<LungProp>((FindObjectsSortMode)1)); list = list.Where((LungProp x) => x.isLungDocked && ((GrabbableObject)x).isInFactory).ToList(); if (list.Count > 0 && !vanillaApparatus) { vanillaApparatus = true; targetLungProp = list[JPRandom.Next(0, list.Count)]; } if ((Object)(object)targetLungProp == (Object)null && ((NetworkBehaviour)this).IsServer) { SetTargetLungPropServerRpc(); } else if ((Object)(object)targetLungProp != (Object)null) { ((EnemyAI)this).SetDestinationToPosition(((Component)targetLungProp).transform.position, false); ((EnemyAI)this).SwitchToBehaviourStateOnLocalClient(3); } ((EnemyAI)this).agent.speed = 1.5f; } public void TriggerFootstepSoundAnimEvent() { ((EnemyAI)this).creatureSFX.PlayOneShot(FootstepSounds[JPRandom.Next(0, FootstepSounds.Length)]); } protected override void __initializeVariables() { base.__initializeVariables(); } [RuntimeInitializeOnLoadMethod] internal static void InitializeRPCS_ReadyJP() { //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 NetworkManager.__rpc_func_table.Add(1959886299u, new RpcReceiveHandler(__rpc_handler_1959886299)); NetworkManager.__rpc_func_table.Add(4138367467u, new RpcReceiveHandler(__rpc_handler_4138367467)); NetworkManager.__rpc_func_table.Add(1878811421u, new RpcReceiveHandler(__rpc_handler_1878811421)); NetworkManager.__rpc_func_table.Add(756704864u, new RpcReceiveHandler(__rpc_handler_756704864)); NetworkManager.__rpc_func_table.Add(4044406967u, new RpcReceiveHandler(__rpc_handler_4044406967)); NetworkManager.__rpc_func_table.Add(2029294294u, new RpcReceiveHandler(__rpc_handler_2029294294)); NetworkManager.__rpc_func_table.Add(2130081848u, new RpcReceiveHandler(__rpc_handler_2130081848)); NetworkManager.__rpc_func_table.Add(115474244u, new RpcReceiveHandler(__rpc_handler_115474244)); NetworkManager.__rpc_func_table.Add(1120500845u, new RpcReceiveHandler(__rpc_handler_1120500845)); NetworkManager.__rpc_func_table.Add(694142487u, new RpcReceiveHandler(__rpc_handler_694142487)); } private static void __rpc_handler_1959886299(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_005e: Unknown result type (might be due to invalid IL or missing references) NetworkManager networkManager = target.NetworkManager; if (networkManager != null && networkManager.IsListening) { bool targetApparatusStatusServerRpc = default(bool); ((FastBufferReader)(ref reader)).ReadValueSafe<bool>(ref targetApparatusStatusServerRpc, default(ForPrimitives)); target.__rpc_exec_stage = (__RpcExecStage)1; ((ReadyJP)(object)target).SetTargetApparatusStatusServerRpc(targetApparatusStatusServerRpc); target.__rpc_exec_stage = (__RpcExecStage)0; } } private static void __rpc_handler_4138367467(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: Unkno