Decompiled source of Brian Griffon The Dog v1.0.2

BrianGriffonDog.dll

Decompiled a week ago
using System;
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.Configuration;
using BepInEx.Logging;
using BrianGriffonDog.NetcodePatcher;
using EasterIsland.src;
using GameNetcodeStuff;
using HarmonyLib;
using LethalCompanyInputUtils.Api;
using LethalConfig.ConfigItems;
using LethalConfig.ConfigItems.Options;
using LethalLib.Modules;
using Microsoft.CodeAnalysis;
using On;
using Unity.Netcode;
using UnityEngine;
using UnityEngine.AI;
using UnityEngine.InputSystem;

[assembly: CompilationRelaxations(8)]
[assembly: RuntimeCompatibility(WrapNonExceptionThrows = true)]
[assembly: Debuggable(DebuggableAttribute.DebuggingModes.Default | DebuggableAttribute.DebuggingModes.DisableOptimizations | DebuggableAttribute.DebuggingModes.IgnoreSymbolStoreSequencePoints | DebuggableAttribute.DebuggingModes.EnableEditAndContinue)]
[assembly: TargetFramework(".NETStandard,Version=v2.1", FrameworkDisplayName = ".NET Standard 2.1")]
[assembly: AssemblyCompany("bcs4313")]
[assembly: AssemblyConfiguration("Debug")]
[assembly: AssemblyDescription("Adds a suspicious looking pill that is very good for you")]
[assembly: AssemblyFileVersion("1.0.0")]
[assembly: AssemblyInformationalVersion("1.0.0+cd9e2c801759e115bb3ab98ef537ed8ed3634744")]
[assembly: AssemblyProduct("BrianGriffonDog")]
[assembly: AssemblyTitle("BrianGriffonDog")]
[assembly: SecurityPermission(SecurityAction.RequestMinimum, SkipVerification = true)]
[assembly: AssemblyVersion("1.0.0.0")]
[module: UnverifiableCode]
[module: RefSafetyRules(11)]
[module: NetcodePatchedAssembly]
namespace Microsoft.CodeAnalysis
{
	[CompilerGenerated]
	[Microsoft.CodeAnalysis.Embedded]
	internal sealed class EmbeddedAttribute : Attribute
	{
	}
}
namespace System.Runtime.CompilerServices
{
	[CompilerGenerated]
	[Microsoft.CodeAnalysis.Embedded]
	[AttributeUsage(AttributeTargets.Module, AllowMultiple = false, Inherited = false)]
	internal sealed class RefSafetyRulesAttribute : Attribute
	{
		public readonly int Version;

		public RefSafetyRulesAttribute(int P_0)
		{
			Version = P_0;
		}
	}
}
namespace BrianGriffon.src
{
	[BepInDependency(/*Could not decode attribute arguments.*/)]
	[BepInDependency(/*Could not decode attribute arguments.*/)]
	[BepInDependency(/*Could not decode attribute arguments.*/)]
	[BepInPlugin("BrianGriffon", "Brian The Dog", "1.0.0")]
	public class Plugin : BaseUnityPlugin
	{
		public static class Assets
		{
			public static AssetBundle MainAssetBundle;

			public static void PopulateAssets()
			{
				string directoryName = Path.GetDirectoryName(Assembly.GetExecutingAssembly().Location);
				try
				{
					IEnumerable<Type> types = Assembly.GetExecutingAssembly().GetTypes();
				}
				catch (ReflectionTypeLoadException ex)
				{
					IEnumerable<Type> types = ex.Types.Where((Type t) => t != null);
				}
				MainAssetBundle = AssetBundle.LoadFromFile(Path.Combine(directoryName, "briangriffondoggo"));
				if ((Object)(object)MainAssetBundle == (Object)null)
				{
					Logger.LogError((object)"Failed to load custom assets.");
				}
			}
		}

		[Serializable]
		[CompilerGenerated]
		private sealed class <>c
		{
			public static readonly <>c <>9 = new <>c();

			public static hook_Awake <>9__14_0;

			public static hook_Start <>9__14_2;

			public static hook_Update <>9__14_3;

			internal void <Awake>b__14_0(orig_Awake orig, MenuManager self)
			{
				orig.Invoke(self);
				bool flag = false;
				Debug.Log((object)"Searching for Brian Griffon Replacement :3");
				try
				{
					EnemyType[] array = Resources.FindObjectsOfTypeAll<EnemyType>();
					EnemyType[] array2 = array;
					foreach (EnemyType val in array2)
					{
						if (val.enemyName.ToLower().Contains("mouth") && val.enemyName.ToLower().Contains("dog"))
						{
							val.enemyPrefab = BrianGriffon;
							BrianGriffon.GetComponent<EnemyAI>().enemyType = val;
							Debug.Log((object)"Brian The Dog: Replaced Mouthdog prefab with Brian Griffon");
							flag = true;
						}
					}
					if (!flag)
					{
						Debug.Log((object)"Brian The Dog: Couldn't find brian griffon! Check all the enemy names here!");
						EnemyType[] array3 = array;
						foreach (EnemyType val2 in array3)
						{
							Debug.Log((object)val2.enemyName);
						}
					}
				}
				catch (Exception ex)
				{
					Debug.Log((object)("Brian the Dog Error: " + ex));
				}
			}

			internal void <Awake>b__14_2(orig_Start orig, StartOfRound self)
			{
				orig.Invoke(self);
				if (((NetworkBehaviour)RoundManager.Instance).IsHost && ((Object)(object)spawnedNetManager == (Object)null || (Object.op_Implicit((Object)(object)spawnedNetManager.GetComponent<NetworkObject>()) && !spawnedNetManager.GetComponent<NetworkObject>().IsSpawned)))
				{
					Debug.Log((object)"Spawning Instant M Manager-->");
					spawnedNetManager = Object.Instantiate<GameObject>(netManager);
					NetworkObject component = spawnedNetManager.GetComponent<NetworkObject>();
					component.Spawn(false);
				}
			}

			internal void <Awake>b__14_3(orig_Update orig, TimeOfDay self)
			{
				orig.Invoke(self);
				try
				{
					MimInputMap controls = Plugin.controls;
					bool flag = controls.K1.IsPressed() && controls.K2.IsPressed();
					if (flag && !mimicTriggeredLastFrame)
					{
						Debug.Log((object)"Instant MIMIC: Turning self into mimic.");
						if ((Object)(object)spawnedNetManager == (Object)null)
						{
							spawnedNetManager = GameObject.Find("BrianNetManager(Clone)");
						}
						InstantMManager component = spawnedNetManager.GetComponent<InstantMManager>();
						Debug.Log((object)("InstantM Object: " + (object)component));
						Debug.Log((object)("target --> " + RoundManager.Instance.playersManager.localPlayerController.playerUsername));
						Debug.Log((object)("net id --> " + ((NetworkBehaviour)RoundManager.Instance.playersManager.localPlayerController).NetworkObjectId));
						component.ConvertToMimic(((NetworkBehaviour)RoundManager.Instance.playersManager.localPlayerController).NetworkObjectId);
					}
					mimicTriggeredLastFrame = flag;
				}
				catch (Exception ex)
				{
					Debug.LogError((object)("Instant M error: " + ex.ToString()));
				}
			}
		}

		public static Harmony _harmony;

		public static ManualLogSource Logger;

		public static Random rnd = new Random();

		public static List<ulong> storedBrians;

		internal static MimInputMap controls;

		public static GameObject BrianGriffon;

		private float currentPower = -1f;

		private int pick = 1;

		public static AudioClip BrianLungeAwoooo;

		public static AudioClip BrianLungeBork;

		public static GameObject netManager;

		public static GameObject spawnedNetManager;

		private static bool mimicTriggeredLastFrame = false;

		public static ConfigEntry<int> rarity;

		public static ConfigEntry<float> moaiGlobalSpeed;

		public static ConfigEntry<string> trapOptions;

		public static ConfigEntry<int> groupSize;

		public static ConfigEntry<bool> spawnOutdoors;

		public static ConfigEntry<bool> spawnIndoors;

		public static void LogDebug(string text)
		{
			Logger.LogInfo((object)text);
		}

		public static void LogProduction(string text)
		{
			Logger.LogInfo((object)text);
		}

		private void Awake()
		{
			//IL_0199: Unknown result type (might be due to invalid IL or missing references)
			//IL_01a3: Expected O, but got Unknown
			//IL_0181: 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: Expected O, but got Unknown
			//IL_01b8: Unknown result type (might be due to invalid IL or missing references)
			//IL_01bd: Unknown result type (might be due to invalid IL or missing references)
			//IL_01c3: Expected O, but got Unknown
			//IL_01dd: Unknown result type (might be due to invalid IL or missing references)
			//IL_01e2: Unknown result type (might be due to invalid IL or missing references)
			//IL_01e8: Expected O, but got Unknown
			Logger = ((BaseUnityPlugin)this).Logger;
			Assets.PopulateAssets();
			bindVars();
			if (controls == null)
			{
				Debug.Log((object)"BRIAN-> creating custom controls");
				controls = new MimInputMap();
			}
			Type[] types = Assembly.GetExecutingAssembly().GetTypes();
			Type[] array = types;
			foreach (Type type in array)
			{
				MethodInfo[] methods = type.GetMethods(BindingFlags.Instance | BindingFlags.Static | BindingFlags.NonPublic);
				MethodInfo[] array2 = methods;
				foreach (MethodInfo methodInfo in array2)
				{
					object[] customAttributes = methodInfo.GetCustomAttributes(typeof(RuntimeInitializeOnLoadMethodAttribute), inherit: false);
					if (customAttributes.Length != 0)
					{
						methodInfo.Invoke(null, null);
					}
				}
			}
			Random.InitState((int)DateTime.Now.Ticks);
			Debug.Log((object)("BrianGriffon ENEMY BUNDLE: " + ((object)Assets.MainAssetBundle).ToString()));
			BrianGriffon = Assets.MainAssetBundle.LoadAsset<GameObject>("BrianGriffon");
			BrianLungeAwoooo = Assets.MainAssetBundle.LoadAsset<AudioClip>("BrianLunge");
			BrianLungeBork = Assets.MainAssetBundle.LoadAsset<AudioClip>("BrianBork");
			netManager = Assets.MainAssetBundle.LoadAsset<GameObject>("BrianNetManager");
			Debug.Log((object)("BrianNetManager: " + (object)netManager));
			NetworkPrefabs.RegisterNetworkPrefab(BrianGriffon);
			NetworkPrefabs.RegisterNetworkPrefab(netManager);
			object obj = <>c.<>9__14_0;
			if (obj == null)
			{
				hook_Awake val = delegate(orig_Awake orig, MenuManager self)
				{
					orig.Invoke(self);
					bool flag2 = false;
					Debug.Log((object)"Searching for Brian Griffon Replacement :3");
					try
					{
						EnemyType[] array3 = Resources.FindObjectsOfTypeAll<EnemyType>();
						EnemyType[] array4 = array3;
						foreach (EnemyType val4 in array4)
						{
							if (val4.enemyName.ToLower().Contains("mouth") && val4.enemyName.ToLower().Contains("dog"))
							{
								val4.enemyPrefab = BrianGriffon;
								BrianGriffon.GetComponent<EnemyAI>().enemyType = val4;
								Debug.Log((object)"Brian The Dog: Replaced Mouthdog prefab with Brian Griffon");
								flag2 = true;
							}
						}
						if (!flag2)
						{
							Debug.Log((object)"Brian The Dog: Couldn't find brian griffon! Check all the enemy names here!");
							EnemyType[] array5 = array3;
							foreach (EnemyType val5 in array5)
							{
								Debug.Log((object)val5.enemyName);
							}
						}
					}
					catch (Exception ex3)
					{
						Debug.Log((object)("Brian the Dog Error: " + ex3));
					}
				};
				<>c.<>9__14_0 = val;
				obj = (object)val;
			}
			MenuManager.Awake += (hook_Awake)obj;
			MouthDogAI.EnterLunge += (hook_EnterLunge)delegate(orig_EnterLunge orig, MouthDogAI self)
			{
				try
				{
					if (pick == 1)
					{
						pick = 0;
						((EnemyAI)self).enemyBehaviourStates[2].SFXClip = BrianLungeAwoooo;
					}
					else
					{
						pick = 1;
						((EnemyAI)self).enemyBehaviourStates[2].SFXClip = BrianLungeBork;
					}
				}
				catch (Exception ex2)
				{
					Debug.Log((object)("Brian The Dog Error: " + ex2));
				}
				orig.Invoke(self);
			};
			object obj2 = <>c.<>9__14_2;
			if (obj2 == null)
			{
				hook_Start val2 = delegate(orig_Start orig, StartOfRound self)
				{
					orig.Invoke(self);
					if (((NetworkBehaviour)RoundManager.Instance).IsHost && ((Object)(object)spawnedNetManager == (Object)null || (Object.op_Implicit((Object)(object)spawnedNetManager.GetComponent<NetworkObject>()) && !spawnedNetManager.GetComponent<NetworkObject>().IsSpawned)))
					{
						Debug.Log((object)"Spawning Instant M Manager-->");
						spawnedNetManager = Object.Instantiate<GameObject>(netManager);
						NetworkObject component2 = spawnedNetManager.GetComponent<NetworkObject>();
						component2.Spawn(false);
					}
				};
				<>c.<>9__14_2 = val2;
				obj2 = (object)val2;
			}
			StartOfRound.Start += (hook_Start)obj2;
			object obj3 = <>c.<>9__14_3;
			if (obj3 == null)
			{
				hook_Update val3 = delegate(orig_Update orig, TimeOfDay self)
				{
					orig.Invoke(self);
					try
					{
						MimInputMap mimInputMap = controls;
						bool flag = mimInputMap.K1.IsPressed() && mimInputMap.K2.IsPressed();
						if (flag && !mimicTriggeredLastFrame)
						{
							Debug.Log((object)"Instant MIMIC: Turning self into mimic.");
							if ((Object)(object)spawnedNetManager == (Object)null)
							{
								spawnedNetManager = GameObject.Find("BrianNetManager(Clone)");
							}
							InstantMManager component = spawnedNetManager.GetComponent<InstantMManager>();
							Debug.Log((object)("InstantM Object: " + (object)component));
							Debug.Log((object)("target --> " + RoundManager.Instance.playersManager.localPlayerController.playerUsername));
							Debug.Log((object)("net id --> " + ((NetworkBehaviour)RoundManager.Instance.playersManager.localPlayerController).NetworkObjectId));
							component.ConvertToMimic(((NetworkBehaviour)RoundManager.Instance.playersManager.localPlayerController).NetworkObjectId);
						}
						mimicTriggeredLastFrame = flag;
					}
					catch (Exception ex)
					{
						Debug.LogError((object)("Instant M error: " + ex.ToString()));
					}
				};
				<>c.<>9__14_3 = val3;
				obj3 = (object)val3;
			}
			TimeOfDay.Update += (hook_Update)obj3;
			Logger.LogInfo((object)"Plugin Brian The Dog is loaded!");
		}

		public void bindVars()
		{
		}
	}
}
namespace EasterIsland
{
	internal class ConfigModel
	{
		public static ConfigEntry<float> moaiGlobalSize;

		public static ConfigEntry<float> moaiGlobalMusicVol;

		public static ConfigEntry<float> moaiGlobalRarity;

		public static ConfigEntry<float> moaiGlobalSpeed;

		public static void setupConfig()
		{
			//IL_0006: Unknown result type (might be due to invalid IL or missing references)
			//IL_000b: Unknown result type (might be due to invalid IL or missing references)
			//IL_0016: Expected O, but got Unknown
			//IL_0017: Unknown result type (might be due to invalid IL or missing references)
			//IL_0022: Expected O, but got Unknown
			//IL_0028: Expected O, but got Unknown
			//IL_0023: Unknown result type (might be due to invalid IL or missing references)
			//IL_0029: Expected O, but got Unknown
			//IL_002e: Unknown result type (might be due to invalid IL or missing references)
			//IL_0033: Unknown result type (might be due to invalid IL or missing references)
			//IL_003e: Expected O, but got Unknown
			//IL_003f: Unknown result type (might be due to invalid IL or missing references)
			//IL_004a: Expected O, but got Unknown
			//IL_0050: Expected O, but got Unknown
			//IL_004b: Unknown result type (might be due to invalid IL or missing references)
			//IL_0051: Expected O, but got Unknown
			//IL_0056: Unknown result type (might be due to invalid IL or missing references)
			//IL_005b: Unknown result type (might be due to invalid IL or missing references)
			//IL_0066: Expected O, but got Unknown
			//IL_0067: Unknown result type (might be due to invalid IL or missing references)
			//IL_0072: Expected O, but got Unknown
			//IL_0078: Expected O, but got Unknown
			//IL_0073: Unknown result type (might be due to invalid IL or missing references)
			//IL_0079: Expected O, but got Unknown
			//IL_007e: 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_008e: Expected O, but got Unknown
			//IL_008f: Unknown result type (might be due to invalid IL or missing references)
			//IL_009a: Expected O, but got Unknown
			//IL_00a0: Expected O, but got Unknown
			//IL_009b: Unknown result type (might be due to invalid IL or missing references)
			//IL_00a1: Expected O, but got Unknown
			ConfigEntry<float> obj = moaiGlobalSize;
			FloatSliderOptions val = new FloatSliderOptions();
			((BaseRangeOptions<float>)val).Min = 0.05f;
			((BaseRangeOptions<float>)val).Max = 5f;
			FloatSliderConfigItem val2 = new FloatSliderConfigItem(obj, val);
			ConfigEntry<float> obj2 = moaiGlobalMusicVol;
			FloatSliderOptions val3 = new FloatSliderOptions();
			((BaseRangeOptions<float>)val3).Min = 0f;
			((BaseRangeOptions<float>)val3).Max = 2f;
			FloatSliderConfigItem val4 = new FloatSliderConfigItem(obj2, val3);
			ConfigEntry<float> obj3 = moaiGlobalRarity;
			FloatSliderOptions val5 = new FloatSliderOptions();
			((BaseRangeOptions<float>)val5).Min = 0f;
			((BaseRangeOptions<float>)val5).Max = 10f;
			FloatSliderConfigItem val6 = new FloatSliderConfigItem(obj3, val5);
			ConfigEntry<float> obj4 = moaiGlobalSpeed;
			FloatSliderOptions val7 = new FloatSliderOptions();
			((BaseRangeOptions<float>)val7).Min = 0f;
			((BaseRangeOptions<float>)val7).Max = 5f;
			FloatSliderConfigItem val8 = new FloatSliderConfigItem(obj4, val7);
		}
	}
}
namespace EasterIsland.src
{
	public class InstantMManager : NetworkBehaviour
	{
		[ServerRpc(RequireOwnership = false)]
		public void ConvertToMimicServerRpc(ulong 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)
			//IL_00ce: Unknown result type (might be due to invalid IL or missing references)
			NetworkManager networkManager = ((NetworkBehaviour)this).NetworkManager;
			if (networkManager != null && networkManager.IsListening)
			{
				if ((int)base.__rpc_exec_stage != 1 && (networkManager.IsClient || networkManager.IsHost))
				{
					ServerRpcParams val = default(ServerRpcParams);
					FastBufferWriter val2 = ((NetworkBehaviour)this).__beginSendServerRpc(3208535655u, val, (RpcDelivery)0);
					BytePacker.WriteValueBitPacked(val2, playerID);
					((NetworkBehaviour)this).__endSendServerRpc(ref val2, 3208535655u, val, (RpcDelivery)0);
				}
				if ((int)base.__rpc_exec_stage == 1 && (networkManager.IsServer || networkManager.IsHost))
				{
					base.__rpc_exec_stage = (__RpcExecStage)0;
					ConvertToMimicClientRpc(playerID);
				}
			}
		}

		[ClientRpc]
		public void ConvertToMimicClientRpc(ulong 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)
			//IL_00ce: Unknown result type (might be due to invalid IL or missing references)
			//IL_0110: Unknown result type (might be due to invalid IL or missing references)
			//IL_011a: Unknown result type (might be due to invalid IL or missing references)
			//IL_0120: Unknown result type (might be due to invalid IL or missing references)
			//IL_0140: 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.IsServer || networkManager.IsHost))
			{
				ClientRpcParams val = default(ClientRpcParams);
				FastBufferWriter val2 = ((NetworkBehaviour)this).__beginSendClientRpc(82744497u, val, (RpcDelivery)0);
				BytePacker.WriteValueBitPacked(val2, playerID);
				((NetworkBehaviour)this).__endSendClientRpc(ref val2, 82744497u, val, (RpcDelivery)0);
			}
			if ((int)base.__rpc_exec_stage != 1 || (!networkManager.IsClient && !networkManager.IsHost))
			{
				return;
			}
			base.__rpc_exec_stage = (__RpcExecStage)0;
			PlayerControllerB[] allPlayerScripts = RoundManager.Instance.playersManager.allPlayerScripts;
			PlayerControllerB[] array = allPlayerScripts;
			foreach (PlayerControllerB val3 in array)
			{
				if (((NetworkBehaviour)val3).NetworkObjectId == playerID)
				{
					val3.KillPlayer(new Vector3(0f, 0f, 0f), false, (CauseOfDeath)0, 0, default(Vector3));
					if (((NetworkBehaviour)RoundManager.Instance).IsHost)
					{
						FindMimic(((Component)val3).transform.position);
					}
				}
			}
		}

		public EnemyAI FindMimic(Vector3 pos)
		{
			//IL_006d: 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_0098: Unknown result type (might be due to invalid IL or missing references)
			//IL_0084: 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)
			Debug.Log((object)"InstantMManager: looking for mimic enemy in game files...");
			EnemyAI[] array = Resources.FindObjectsOfTypeAll<EnemyAI>();
			EnemyAI[] array2 = array;
			NavMeshHit val2 = default(NavMeshHit);
			foreach (EnemyAI val in array2)
			{
				Debug.Log((object)("mimic? -> " + ((Object)val.enemyType).name.ToLower()));
				if (((Object)val.enemyType).name.ToLower().Contains("masked"))
				{
					Debug.Log((object)"found mimic enemy! replacing player...");
					if (NavMesh.SamplePosition(pos, ref val2, 10f, -1))
					{
						pos = ((NavMeshHit)(ref val2)).position;
					}
					GameObject val3 = Object.Instantiate<GameObject>(val.enemyType.enemyPrefab, pos, Quaternion.identity);
					val3.GetComponent<NetworkObject>().Spawn(false);
				}
			}
			return null;
		}

		public void ConvertToMimic(ulong playerID)
		{
			if (((NetworkBehaviour)RoundManager.Instance).IsHost)
			{
				ConvertToMimicClientRpc(playerID);
			}
			else
			{
				ConvertToMimicServerRpc(playerID);
			}
		}

		protected override void __initializeVariables()
		{
			((NetworkBehaviour)this).__initializeVariables();
		}

		protected override void __initializeRpcs()
		{
			//IL_000d: Unknown result type (might be due to invalid IL or missing references)
			//IL_001c: Expected O, but got Unknown
			//IL_0029: Unknown result type (might be due to invalid IL or missing references)
			//IL_0038: Expected O, but got Unknown
			((NetworkBehaviour)this).__registerRpc(3208535655u, new RpcReceiveHandler(__rpc_handler_3208535655), "ConvertToMimicServerRpc");
			((NetworkBehaviour)this).__registerRpc(82744497u, new RpcReceiveHandler(__rpc_handler_82744497), "ConvertToMimicClientRpc");
			((NetworkBehaviour)this).__initializeRpcs();
		}

		private static void __rpc_handler_3208535655(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)
			{
				ulong playerID = default(ulong);
				ByteUnpacker.ReadValueBitPacked(reader, ref playerID);
				target.__rpc_exec_stage = (__RpcExecStage)1;
				((InstantMManager)(object)target).ConvertToMimicServerRpc(playerID);
				target.__rpc_exec_stage = (__RpcExecStage)0;
			}
		}

		private static void __rpc_handler_82744497(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)
			{
				ulong playerID = default(ulong);
				ByteUnpacker.ReadValueBitPacked(reader, ref playerID);
				target.__rpc_exec_stage = (__RpcExecStage)1;
				((InstantMManager)(object)target).ConvertToMimicClientRpc(playerID);
				target.__rpc_exec_stage = (__RpcExecStage)0;
			}
		}

		protected internal override string __getTypeName()
		{
			return "InstantMManager";
		}
	}
	public class MimInputMap : LcInputActions
	{
		[InputAction(/*Could not decode attribute arguments.*/)]
		public InputAction K1 { get; set; }

		[InputAction(/*Could not decode attribute arguments.*/)]
		public InputAction K2 { get; set; }
	}
}
namespace __GEN
{
	internal class NetworkVariableSerializationHelper
	{
		[RuntimeInitializeOnLoadMethod]
		internal static void InitializeSerialization()
		{
		}
	}
}
namespace BrianGriffonDog.NetcodePatcher
{
	[AttributeUsage(AttributeTargets.Module)]
	internal class NetcodePatchedAssemblyAttribute : Attribute
	{
	}
}