Decompiled source of Company Incidents v1.0.1

CompanyIncidents.dll

Decompiled 12 hours ago
using System;
using System.Collections.Generic;
using System.Diagnostics;
using System.Reflection;
using System.Runtime.CompilerServices;
using System.Runtime.Versioning;
using System.Security;
using System.Security.Permissions;
using System.Threading.Tasks;
using BepInEx;
using BepInEx.Configuration;
using BepInEx.Logging;
using CompanyIncidents.NetcodePatcher;
using GameNetcodeStuff;
using HarmonyLib;
using LethalConfig;
using LethalConfig.ConfigItems;
using LethalConfig.ConfigItems.Options;
using Microsoft.CodeAnalysis;
using On;
using Unity.Netcode;
using UnityEngine;

[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("Ah fuck")]
[assembly: AssemblyFileVersion("1.0.0")]
[assembly: AssemblyInformationalVersion("1.0.0+cd9e2c801759e115bb3ab98ef537ed8ed3634744")]
[assembly: AssemblyProduct("CompanyIncidents")]
[assembly: AssemblyTitle("CompanyIncidents")]
[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 CompanyIncidents
{
	public class EventCaller
	{
		public static LethalNet LNet;

		public static Random rnd = new Random();

		public EventCaller(LethalNet _LNet)
		{
			LNet = _LNet;
		}

		public static void PushAllWeathersToCompany()
		{
			Debug.Log((object)"Company Incidents: Pushed all weathers to the company.");
			SelectableLevel[] array = Resources.FindObjectsOfTypeAll<SelectableLevel>();
			List<RandomWeatherWithVariables> list = new List<RandomWeatherWithVariables>();
			SelectableLevel[] array2 = array;
			foreach (SelectableLevel val in array2)
			{
				RandomWeatherWithVariables[] randomWeathers = val.randomWeathers;
				RandomWeatherWithVariables[] array3 = randomWeathers;
				foreach (RandomWeatherWithVariables item in array3)
				{
					if (!list.Contains(item))
					{
						list.Add(item);
					}
				}
			}
			SelectableLevel[] array4 = array;
			foreach (SelectableLevel val2 in array4)
			{
				if (val2.PlanetName.ToLower().Contains("71") && val2.PlanetName.ToLower().Contains("gordion"))
				{
					val2.randomWeathers = list.ToArray();
					val2.planetHasTime = true;
					val2.OffsetFromGlobalTime = 0f;
				}
			}
		}
	}
	public class LethalNet : NetworkBehaviour
	{
		public static Dictionary<string, Color> albedoMap = new Dictionary<string, Color>();

		public static Dictionary<string, float> meanMap = new Dictionary<string, float>();

		public PlayerControllerB getPlayer(ulong playerId)
		{
			PlayerControllerB[] allPlayerScripts = RoundManager.Instance.playersManager.allPlayerScripts;
			foreach (PlayerControllerB val in allPlayerScripts)
			{
				if (((NetworkBehaviour)val).NetworkObjectId == playerId)
				{
					return val;
				}
			}
			return null;
		}

		[ClientRpc]
		public void makePlayerDrunkClientRpc(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)
			{
				return;
			}
			if ((int)base.__rpc_exec_stage != 1 && (networkManager.IsServer || networkManager.IsHost))
			{
				ClientRpcParams val = default(ClientRpcParams);
				FastBufferWriter val2 = ((NetworkBehaviour)this).__beginSendClientRpc(3045099132u, val, (RpcDelivery)0);
				BytePacker.WriteValueBitPacked(val2, playerid);
				((NetworkBehaviour)this).__endSendClientRpc(ref val2, 3045099132u, val, (RpcDelivery)0);
			}
			if ((int)base.__rpc_exec_stage == 1 && (networkManager.IsClient || networkManager.IsHost))
			{
				base.__rpc_exec_stage = (__RpcExecStage)0;
				PlayerControllerB player = getPlayer(playerid);
				if (Object.op_Implicit((Object)(object)player))
				{
					player.drunkness = 1f;
					player.drunknessSpeed = 0.4f;
				}
			}
		}

		[ClientRpc]
		public void teleportPlayerClientRpc(ulong playerid, Vector3 position)
		{
			//IL_0024: Unknown result type (might be due to invalid IL or missing references)
			//IL_002e: Invalid comparison between Unknown and I4
			//IL_00a6: Unknown result type (might be due to invalid IL or missing references)
			//IL_00b0: Invalid comparison between Unknown and I4
			//IL_005f: Unknown result type (might be due to invalid IL or missing references)
			//IL_0068: Unknown result type (might be due to invalid IL or missing references)
			//IL_006d: Unknown result type (might be due to invalid IL or missing references)
			//IL_0071: Unknown result type (might be due to invalid IL or missing references)
			//IL_0096: 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)
			//IL_00f0: Unknown result type (might be due to invalid IL or missing references)
			//IL_00f1: Unknown result type (might be due to invalid IL or missing references)
			//IL_0108: 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(2991386920u, val, (RpcDelivery)0);
				BytePacker.WriteValueBitPacked(val2, playerid);
				((FastBufferWriter)(ref val2)).WriteValueSafe(ref position);
				((NetworkBehaviour)this).__endSendClientRpc(ref val2, 2991386920u, val, (RpcDelivery)0);
			}
			if ((int)base.__rpc_exec_stage == 1 && (networkManager.IsClient || networkManager.IsHost))
			{
				base.__rpc_exec_stage = (__RpcExecStage)0;
				PlayerControllerB player = getPlayer(playerid);
				PlayerControllerB component = ((Component)player).GetComponent<PlayerControllerB>();
				if (!(position == Vector3.zero))
				{
					component.playerRigidbody.position = position;
				}
			}
		}

		[ClientRpc]
		public void stunClientRpc(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_00e9: 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.IsServer || networkManager.IsHost))
				{
					ClientRpcParams val = default(ClientRpcParams);
					FastBufferWriter val2 = ((NetworkBehaviour)this).__beginSendClientRpc(1102759228u, val, (RpcDelivery)0);
					BytePacker.WriteValueBitPacked(val2, playerid);
					((NetworkBehaviour)this).__endSendClientRpc(ref val2, 1102759228u, val, (RpcDelivery)0);
				}
				if ((int)base.__rpc_exec_stage == 1 && (networkManager.IsClient || networkManager.IsHost))
				{
					base.__rpc_exec_stage = (__RpcExecStage)0;
					PlayerControllerB player = getPlayer(playerid);
					PlayerControllerB component = ((Component)player).GetComponent<PlayerControllerB>();
					StunGrenadeItem.StunExplosion(((Component)player).transform.position, true, 1f, 1f, 1f, false, (PlayerControllerB)null, (PlayerControllerB)null, 0f);
				}
			}
		}

		[ClientRpc]
		public void glitchHudClientRpc()
		{
			//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_00c1: 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.IsServer || networkManager.IsHost))
				{
					ClientRpcParams val = default(ClientRpcParams);
					FastBufferWriter val2 = ((NetworkBehaviour)this).__beginSendClientRpc(2336350921u, val, (RpcDelivery)0);
					((NetworkBehaviour)this).__endSendClientRpc(ref val2, 2336350921u, val, (RpcDelivery)0);
				}
				if ((int)base.__rpc_exec_stage == 1 && (networkManager.IsClient || networkManager.IsHost))
				{
					base.__rpc_exec_stage = (__RpcExecStage)0;
					glitch();
				}
			}
		}

		public async void glitch()
		{
			try
			{
				GameObject UI = GameObject.Find("HudBaseRotation");
				UI.transform.rotation = new Quaternion((float)EventCaller.rnd.Next(0, 90), (float)EventCaller.rnd.Next(0, 90), (float)EventCaller.rnd.Next(0, 90), UI.transform.rotation.w);
				await Task.Delay(EventCaller.rnd.Next(50, 10000));
				UI.transform.rotation = new Quaternion(0f, 0f, 0f, UI.transform.rotation.w);
			}
			catch (Exception ex)
			{
				Exception e = ex;
				Debug.LogError((object)e);
			}
		}

		[ClientRpc]
		public void radiationWarningHudClientRpc()
		{
			//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_00c1: 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.IsServer || networkManager.IsHost))
				{
					ClientRpcParams val = default(ClientRpcParams);
					FastBufferWriter val2 = ((NetworkBehaviour)this).__beginSendClientRpc(713826973u, val, (RpcDelivery)0);
					((NetworkBehaviour)this).__endSendClientRpc(ref val2, 713826973u, val, (RpcDelivery)0);
				}
				if ((int)base.__rpc_exec_stage == 1 && (networkManager.IsClient || networkManager.IsHost))
				{
					base.__rpc_exec_stage = (__RpcExecStage)0;
					HUDManager.Instance.RadiationWarningHUD();
				}
			}
		}

		[ClientRpc]
		public void shakeScreenClientRpc()
		{
			//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_00c1: 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.IsServer || networkManager.IsHost))
				{
					ClientRpcParams val = default(ClientRpcParams);
					FastBufferWriter val2 = ((NetworkBehaviour)this).__beginSendClientRpc(47218504u, val, (RpcDelivery)0);
					((NetworkBehaviour)this).__endSendClientRpc(ref val2, 47218504u, val, (RpcDelivery)0);
				}
				if ((int)base.__rpc_exec_stage == 1 && (networkManager.IsClient || networkManager.IsHost))
				{
					base.__rpc_exec_stage = (__RpcExecStage)0;
					HUDManager.Instance.ShakeCamera((ScreenShakeType)3);
				}
			}
		}

		[ClientRpc]
		public void spawnExplosionClientRpc(Vector3 position)
		{
			//IL_0024: Unknown result type (might be due to invalid IL or missing references)
			//IL_002e: Invalid comparison between Unknown and I4
			//IL_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_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_00d4: 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)
			//IL_00da: Unknown result type (might be due to invalid IL or missing references)
			NetworkManager networkManager = ((NetworkBehaviour)this).NetworkManager;
			if (networkManager != null && networkManager.IsListening)
			{
				if ((int)base.__rpc_exec_stage != 1 && (networkManager.IsServer || networkManager.IsHost))
				{
					ClientRpcParams val = default(ClientRpcParams);
					FastBufferWriter val2 = ((NetworkBehaviour)this).__beginSendClientRpc(4182421693u, val, (RpcDelivery)0);
					((FastBufferWriter)(ref val2)).WriteValueSafe(ref position);
					((NetworkBehaviour)this).__endSendClientRpc(ref val2, 4182421693u, val, (RpcDelivery)0);
				}
				if ((int)base.__rpc_exec_stage == 1 && (networkManager.IsClient || networkManager.IsHost))
				{
					base.__rpc_exec_stage = (__RpcExecStage)0;
					Landmine.SpawnExplosion(position + Vector3.up, true, 5.7f, 6.4f, 50, 0f, (GameObject)null, false);
				}
			}
		}

		[ClientRpc]
		public void lightningStrikeClientRpc(Vector3 position)
		{
			//IL_0024: Unknown result type (might be due to invalid IL or missing references)
			//IL_002e: Invalid comparison between Unknown and I4
			//IL_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_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_0173: 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(2290767096u, val, (RpcDelivery)0);
				((FastBufferWriter)(ref val2)).WriteValueSafe(ref position);
				((NetworkBehaviour)this).__endSendClientRpc(ref val2, 2290767096u, val, (RpcDelivery)0);
			}
			if ((int)base.__rpc_exec_stage != 1 || (!networkManager.IsClient && !networkManager.IsHost))
			{
				return;
			}
			base.__rpc_exec_stage = (__RpcExecStage)0;
			RoundManager instance = RoundManager.Instance;
			GameObject val3 = GameObject.Find("TimeAndWeather");
			GameObject val4 = null;
			for (int i = 0; i < val3.transform.GetChildCount(); i++)
			{
				GameObject gameObject = ((Component)val3.transform.GetChild(i)).gameObject;
				if (((Object)gameObject).name.Equals("Stormy"))
				{
					Debug.Log((object)"Lethal Chaos: Found Stormy!");
					val4 = gameObject;
				}
			}
			if ((Object)(object)val4 != (Object)null)
			{
				val4.SetActive(true);
			}
			else
			{
				Debug.LogError((object)"Lethal Chaos: Failed to find Stormy Weather container (LBolt)!");
			}
			if (((NetworkBehaviour)instance).IsHost)
			{
				instance.LightningStrikeClientRpc(position);
			}
		}

		[ClientRpc]
		public void bigBallsClientRpc(ulong netid)
		{
			//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)
			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(575349052u, val, (RpcDelivery)0);
				BytePacker.WriteValueBitPacked(val2, netid);
				((NetworkBehaviour)this).__endSendClientRpc(ref val2, 575349052u, val, (RpcDelivery)0);
			}
			if ((int)base.__rpc_exec_stage != 1 || (!networkManager.IsClient && !networkManager.IsHost))
			{
				return;
			}
			base.__rpc_exec_stage = (__RpcExecStage)0;
			SoccerBallProp[] array = Object.FindObjectsOfType<SoccerBallProp>();
			SoccerBallProp[] array2 = array;
			foreach (SoccerBallProp val3 in array2)
			{
				if (((NetworkBehaviour)val3).NetworkObjectId == netid)
				{
					((Component)val3).gameObject.transform.localScale = new Vector3(2f, 2f, 2f);
				}
			}
		}

		[ClientRpc]
		public void activateLadderClientRpc(ulong netid)
		{
			//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)
			{
				return;
			}
			if ((int)base.__rpc_exec_stage != 1 && (networkManager.IsServer || networkManager.IsHost))
			{
				ClientRpcParams val = default(ClientRpcParams);
				FastBufferWriter val2 = ((NetworkBehaviour)this).__beginSendClientRpc(3626325034u, val, (RpcDelivery)0);
				BytePacker.WriteValueBitPacked(val2, netid);
				((NetworkBehaviour)this).__endSendClientRpc(ref val2, 3626325034u, val, (RpcDelivery)0);
			}
			if ((int)base.__rpc_exec_stage != 1 || (!networkManager.IsClient && !networkManager.IsHost))
			{
				return;
			}
			base.__rpc_exec_stage = (__RpcExecStage)0;
			ExtensionLadderItem[] array = Resources.FindObjectsOfTypeAll<ExtensionLadderItem>();
			ExtensionLadderItem[] array2 = array;
			foreach (ExtensionLadderItem val3 in array2)
			{
				if (((NetworkBehaviour)val3).NetworkObjectId == netid)
				{
					((GrabbableObject)val3).ItemActivate(true, true);
					((GrabbableObject)val3).UseItemOnClient(true);
				}
			}
		}

		[ClientRpc]
		public void setCreditsClientRpc(int newGroupCreditsAmount)
		{
			//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.IsServer || networkManager.IsHost))
				{
					ClientRpcParams val = default(ClientRpcParams);
					FastBufferWriter val2 = ((NetworkBehaviour)this).__beginSendClientRpc(3231380543u, val, (RpcDelivery)0);
					BytePacker.WriteValueBitPacked(val2, newGroupCreditsAmount);
					((NetworkBehaviour)this).__endSendClientRpc(ref val2, 3231380543u, val, (RpcDelivery)0);
				}
				if ((int)base.__rpc_exec_stage == 1 && (networkManager.IsClient || networkManager.IsHost))
				{
					base.__rpc_exec_stage = (__RpcExecStage)0;
					HUDManager.Instance.ShakeCamera((ScreenShakeType)0);
					int num = newGroupCreditsAmount - Object.FindObjectOfType<Terminal>().groupCredits;
					HUDManager.Instance.DisplayTip("Yipee!", "Added " + num + " credits to your bank account", false, false, "LC_Tip1");
					Object.FindObjectOfType<Terminal>().groupCredits = newGroupCreditsAmount;
				}
			}
		}

		[ClientRpc]
		public void qsandClientRpc(Vector3 position)
		{
			//IL_0024: Unknown result type (might be due to invalid IL or missing references)
			//IL_002e: Invalid comparison between Unknown and I4
			//IL_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_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_00e0: Unknown result type (might be due to invalid IL or missing references)
			//IL_00e1: Unknown result type (might be due to invalid IL or missing references)
			//IL_00e6: 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.IsServer || networkManager.IsHost))
				{
					ClientRpcParams val = default(ClientRpcParams);
					FastBufferWriter val2 = ((NetworkBehaviour)this).__beginSendClientRpc(513152900u, val, (RpcDelivery)0);
					((FastBufferWriter)(ref val2)).WriteValueSafe(ref position);
					((NetworkBehaviour)this).__endSendClientRpc(ref val2, 513152900u, val, (RpcDelivery)0);
				}
				if ((int)base.__rpc_exec_stage == 1 && (networkManager.IsClient || networkManager.IsHost))
				{
					base.__rpc_exec_stage = (__RpcExecStage)0;
					RoundManager instance = RoundManager.Instance;
					GameObject val3 = Object.Instantiate<GameObject>(instance.quicksandPrefab, position, Quaternion.identity, new GameObject().transform);
					val3.transform.parent = RoundManager.Instance.mapPropsContainer.transform;
				}
			}
		}

		[ClientRpc]
		public void completelyRandomSoundClientRpc(string name, Vector3 position)
		{
			//IL_0024: Unknown result type (might be due to invalid IL or missing references)
			//IL_002e: Invalid comparison between Unknown and I4
			//IL_00d7: Unknown result type (might be due to invalid IL or missing references)
			//IL_00e1: 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_010c: Unknown result type (might be due to invalid IL or missing references)
			//IL_00c7: Unknown result type (might be due to invalid IL or missing references)
			//IL_0138: 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(416897215u, 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(ref position);
				((NetworkBehaviour)this).__endSendClientRpc(ref val2, 416897215u, val, (RpcDelivery)0);
			}
			if ((int)base.__rpc_exec_stage != 1 || (!networkManager.IsClient && !networkManager.IsHost))
			{
				return;
			}
			base.__rpc_exec_stage = (__RpcExecStage)0;
			AudioClip[] array = Resources.FindObjectsOfTypeAll<AudioClip>();
			AudioClip[] array2 = array;
			foreach (AudioClip val3 in array2)
			{
				if (((Object)val3).name.Equals(name))
				{
					AudioSource.PlayClipAtPoint(val3, position);
				}
			}
		}

		[ClientRpc]
		public void startSuckClipClientRpc()
		{
			//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_00c1: Unknown result type (might be due to invalid IL or missing references)
			//IL_010c: Unknown result type (might be due to invalid IL or missing references)
			//IL_0143: Unknown result type (might be due to invalid IL or missing references)
			//IL_0184: Unknown result type (might be due to invalid IL or missing references)
			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(2952775531u, val, (RpcDelivery)0);
				((NetworkBehaviour)this).__endSendClientRpc(ref val2, 2952775531u, 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;
			foreach (PlayerControllerB val3 in allPlayerScripts)
			{
				if (Object.op_Implicit((Object)(object)StartOfRound.Instance.airPressureSFX))
				{
					AudioSource.PlayClipAtPoint(StartOfRound.Instance.suckedIntoSpaceSFX, ((Component)val3).gameObject.transform.position);
				}
				if (Object.op_Implicit((Object)(object)StartOfRound.Instance.airPressureSFX))
				{
					AudioSource.PlayClipAtPoint(StartOfRound.Instance.airPressureSFX, ((Component)val3).gameObject.transform.position);
				}
				if (Object.op_Implicit((Object)(object)StartOfRound.Instance.shipDoorAudioSource.clip))
				{
					AudioSource.PlayClipAtPoint(StartOfRound.Instance.shipDoorAudioSource.clip, ((Component)val3).gameObject.transform.position);
				}
			}
			shipSuck();
		}

		[ClientRpc]
		public void toggleWeatherClientRpc(string name)
		{
			//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_00ff: 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)
			//IL_0135: Unknown result type (might be due to invalid IL or missing references)
			//IL_013c: Expected O, but got Unknown
			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(481864969u, val, (RpcDelivery)0);
				bool flag = name != null;
				((FastBufferWriter)(ref val2)).WriteValueSafe<bool>(ref flag, default(ForPrimitives));
				if (flag)
				{
					((FastBufferWriter)(ref val2)).WriteValueSafe(name, false);
				}
				((NetworkBehaviour)this).__endSendClientRpc(ref val2, 481864969u, val, (RpcDelivery)0);
			}
			if ((int)base.__rpc_exec_stage != 1 || (!networkManager.IsClient && !networkManager.IsHost))
			{
				return;
			}
			base.__rpc_exec_stage = (__RpcExecStage)0;
			GameObject val3 = GameObject.Find("TimeAndWeather");
			TimeOfDay component = val3.GetComponent<TimeOfDay>();
			List<GameObject> list = new List<GameObject>();
			foreach (Transform item in val3.transform)
			{
				Transform val4 = item;
				GameObject gameObject = ((Component)val4).gameObject;
				Debug.Log((object)("ChildACT: " + ((Object)gameObject).name + " vs " + name));
				if (name.ToLower().Equals(((Object)gameObject).name.ToLower()))
				{
					Debug.Log((object)("TOGGLING: " + (object)gameObject));
					gameObject.SetActive(!gameObject.activeInHierarchy);
				}
			}
		}

		[ClientRpc]
		public void shipStretchClientRpc(int code, int time)
		{
			//IL_0024: Unknown result type (might be due to invalid IL or missing references)
			//IL_002e: Invalid comparison between Unknown and I4
			//IL_00a6: Unknown result type (might be due to invalid IL or missing references)
			//IL_00b0: Invalid comparison between Unknown and I4
			//IL_005f: Unknown result type (might be due to invalid IL or missing references)
			//IL_0068: Unknown result type (might be due to invalid IL or missing references)
			//IL_006d: Unknown result type (might be due to invalid IL or missing references)
			//IL_0071: Unknown result type (might be due to invalid IL or missing references)
			//IL_007e: Unknown result type (might be due to invalid IL or missing references)
			//IL_0096: Unknown result type (might be due to invalid IL or missing references)
			//IL_00db: 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.IsServer || networkManager.IsHost))
				{
					ClientRpcParams val = default(ClientRpcParams);
					FastBufferWriter val2 = ((NetworkBehaviour)this).__beginSendClientRpc(4018538911u, val, (RpcDelivery)0);
					BytePacker.WriteValueBitPacked(val2, code);
					BytePacker.WriteValueBitPacked(val2, time);
					((NetworkBehaviour)this).__endSendClientRpc(ref val2, 4018538911u, val, (RpcDelivery)0);
				}
				if ((int)base.__rpc_exec_stage == 1 && (networkManager.IsClient || networkManager.IsHost))
				{
					base.__rpc_exec_stage = (__RpcExecStage)0;
					shipStretch(code, time);
				}
			}
		}

		public async void shipStretch(int code, int time)
		{
			Debug.Log((object)("Lethal Chaos: stretch rpc code = " + code + " time = " + time));
			GameObject GO = GameObject.Find("HangarShip");
			if (Object.op_Implicit((Object)(object)GO))
			{
				float x = GO.transform.localScale.x;
				float y = GO.transform.localScale.y;
				float z = GO.transform.localScale.z;
				switch (code)
				{
				case 0:
					MonoBehaviour.print((object)"GO SET 0");
					GO.transform.localScale = new Vector3(2f, y, z);
					break;
				case 1:
					MonoBehaviour.print((object)"GO SET 1");
					GO.transform.localScale = new Vector3(x, 2f, z);
					break;
				case 2:
					MonoBehaviour.print((object)"GO SET 2");
					GO.transform.localScale = new Vector3(x, y, 2f);
					break;
				}
				await Task.Delay(time);
				GO.transform.localScale = new Vector3(1f, 1f, 1f);
			}
			else
			{
				Debug.LogError((object)"Lethal Chaos: Can't find ship to stretch!");
			}
		}

		public async void shipSuck()
		{
			try
			{
				StartOfRound.Instance.suckingPlayersOutOfShip = true;
				await Task.Delay(EventCaller.rnd.Next(50, 1000));
				StartOfRound.Instance.suckingPlayersOutOfShip = false;
			}
			catch (Exception)
			{
			}
		}

		[ClientRpc]
		public void queueRandomEnemyBoltClientRpc()
		{
			//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_00c1: 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(1529597267u, val, (RpcDelivery)0);
				((NetworkBehaviour)this).__endSendClientRpc(ref val2, 1529597267u, val, (RpcDelivery)0);
			}
			if ((int)base.__rpc_exec_stage != 1 || (!networkManager.IsClient && !networkManager.IsHost))
			{
				return;
			}
			base.__rpc_exec_stage = (__RpcExecStage)0;
			EnemyAI[] array = Object.FindObjectsOfType<EnemyAI>();
			EnemyAI val3 = array[EventCaller.rnd.Next(0, array.Length)];
			Debug.Log((object)("enemy to convert: " + (object)val3));
			GrabbableObject bolt = getBolt();
			MeshFilter component = ((Component)bolt).GetComponent<MeshFilter>();
			Debug.Log((object)("bolt: " + (object)bolt));
			Debug.Log((object)("bolt filter: " + (object)component));
			Debug.Log((object)"Destroying Mesh Renderer and Filter...");
			Debug.Log((object)("object = " + (object)val3));
			Debug.Log((object)"Adding Filters");
			MeshFilter[] componentsInChildren = ((Component)val3).gameObject.GetComponentsInChildren<MeshFilter>();
			foreach (MeshFilter val4 in componentsInChildren)
			{
				Debug.Log((object)("object filter: " + (object)val4));
				if ((Object)(object)val4 != (Object)null)
				{
					val4.mesh = component.mesh;
				}
			}
			SkinnedMeshRenderer[] componentsInChildren2 = ((Component)val3).gameObject.GetComponentsInChildren<SkinnedMeshRenderer>();
			foreach (SkinnedMeshRenderer val5 in componentsInChildren2)
			{
				Debug.Log((object)("object skin filter: " + (object)val5));
				if ((Object)(object)val5 != (Object)null)
				{
					val5.sharedMesh = component.mesh;
				}
			}
		}

		public GrabbableObject getBolt()
		{
			GrabbableObject[] array = Object.FindObjectsOfType<GrabbableObject>();
			GrabbableObject[] array2 = array;
			foreach (GrabbableObject val in array2)
			{
				string text = val.itemProperties.itemName.ToLower();
				if (text.Contains("bolt") && text.Contains("big"))
				{
					return val;
				}
			}
			return null;
		}

		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
			//IL_0045: Unknown result type (might be due to invalid IL or missing references)
			//IL_0054: Expected O, but got Unknown
			//IL_0061: Unknown result type (might be due to invalid IL or missing references)
			//IL_0070: Expected O, but got Unknown
			//IL_007d: Unknown result type (might be due to invalid IL or missing references)
			//IL_008c: Expected O, but got Unknown
			//IL_0099: Unknown result type (might be due to invalid IL or missing references)
			//IL_00a8: Expected O, but got Unknown
			//IL_00b5: Unknown result type (might be due to invalid IL or missing references)
			//IL_00c4: Expected O, but got Unknown
			//IL_00d1: Unknown result type (might be due to invalid IL or missing references)
			//IL_00e0: Expected O, but got Unknown
			//IL_00ed: Unknown result type (might be due to invalid IL or missing references)
			//IL_00fc: Expected O, but got Unknown
			//IL_0109: Unknown result type (might be due to invalid IL or missing references)
			//IL_0118: Expected O, but got Unknown
			//IL_0125: Unknown result type (might be due to invalid IL or missing references)
			//IL_0134: Expected O, but got Unknown
			//IL_0141: Unknown result type (might be due to invalid IL or missing references)
			//IL_0150: Expected O, but got Unknown
			//IL_015d: Unknown result type (might be due to invalid IL or missing references)
			//IL_016c: Expected O, but got Unknown
			//IL_0179: Unknown result type (might be due to invalid IL or missing references)
			//IL_0188: Expected O, but got Unknown
			//IL_0195: Unknown result type (might be due to invalid IL or missing references)
			//IL_01a4: Expected O, but got Unknown
			//IL_01b1: Unknown result type (might be due to invalid IL or missing references)
			//IL_01c0: Expected O, but got Unknown
			//IL_01cd: Unknown result type (might be due to invalid IL or missing references)
			//IL_01dc: Expected O, but got Unknown
			((NetworkBehaviour)this).__registerRpc(3045099132u, new RpcReceiveHandler(__rpc_handler_3045099132), "makePlayerDrunkClientRpc");
			((NetworkBehaviour)this).__registerRpc(2991386920u, new RpcReceiveHandler(__rpc_handler_2991386920), "teleportPlayerClientRpc");
			((NetworkBehaviour)this).__registerRpc(1102759228u, new RpcReceiveHandler(__rpc_handler_1102759228), "stunClientRpc");
			((NetworkBehaviour)this).__registerRpc(2336350921u, new RpcReceiveHandler(__rpc_handler_2336350921), "glitchHudClientRpc");
			((NetworkBehaviour)this).__registerRpc(713826973u, new RpcReceiveHandler(__rpc_handler_713826973), "radiationWarningHudClientRpc");
			((NetworkBehaviour)this).__registerRpc(47218504u, new RpcReceiveHandler(__rpc_handler_47218504), "shakeScreenClientRpc");
			((NetworkBehaviour)this).__registerRpc(4182421693u, new RpcReceiveHandler(__rpc_handler_4182421693), "spawnExplosionClientRpc");
			((NetworkBehaviour)this).__registerRpc(2290767096u, new RpcReceiveHandler(__rpc_handler_2290767096), "lightningStrikeClientRpc");
			((NetworkBehaviour)this).__registerRpc(575349052u, new RpcReceiveHandler(__rpc_handler_575349052), "bigBallsClientRpc");
			((NetworkBehaviour)this).__registerRpc(3626325034u, new RpcReceiveHandler(__rpc_handler_3626325034), "activateLadderClientRpc");
			((NetworkBehaviour)this).__registerRpc(3231380543u, new RpcReceiveHandler(__rpc_handler_3231380543), "setCreditsClientRpc");
			((NetworkBehaviour)this).__registerRpc(513152900u, new RpcReceiveHandler(__rpc_handler_513152900), "qsandClientRpc");
			((NetworkBehaviour)this).__registerRpc(416897215u, new RpcReceiveHandler(__rpc_handler_416897215), "completelyRandomSoundClientRpc");
			((NetworkBehaviour)this).__registerRpc(2952775531u, new RpcReceiveHandler(__rpc_handler_2952775531), "startSuckClipClientRpc");
			((NetworkBehaviour)this).__registerRpc(481864969u, new RpcReceiveHandler(__rpc_handler_481864969), "toggleWeatherClientRpc");
			((NetworkBehaviour)this).__registerRpc(4018538911u, new RpcReceiveHandler(__rpc_handler_4018538911), "shipStretchClientRpc");
			((NetworkBehaviour)this).__registerRpc(1529597267u, new RpcReceiveHandler(__rpc_handler_1529597267), "queueRandomEnemyBoltClientRpc");
			((NetworkBehaviour)this).__initializeRpcs();
		}

		private static void __rpc_handler_3045099132(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;
				((LethalNet)(object)target).makePlayerDrunkClientRpc(playerid);
				target.__rpc_exec_stage = (__RpcExecStage)0;
			}
		}

		private static void __rpc_handler_2991386920(NetworkBehaviour target, FastBufferReader reader, __RpcParams rpcParams)
		{
			//IL_0023: Unknown result type (might be due to invalid IL or missing references)
			//IL_0043: Unknown result type (might be due to invalid IL or missing references)
			//IL_0052: Unknown result type (might be due to invalid IL or missing references)
			//IL_0061: Unknown result type (might be due to invalid IL or missing references)
			NetworkManager networkManager = target.NetworkManager;
			if (networkManager != null && networkManager.IsListening)
			{
				ulong playerid = default(ulong);
				ByteUnpacker.ReadValueBitPacked(reader, ref playerid);
				Vector3 position = default(Vector3);
				((FastBufferReader)(ref reader)).ReadValueSafe(ref position);
				target.__rpc_exec_stage = (__RpcExecStage)1;
				((LethalNet)(object)target).teleportPlayerClientRpc(playerid, position);
				target.__rpc_exec_stage = (__RpcExecStage)0;
			}
		}

		private static void __rpc_handler_1102759228(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;
				((LethalNet)(object)target).stunClientRpc(playerid);
				target.__rpc_exec_stage = (__RpcExecStage)0;
			}
		}

		private static void __rpc_handler_2336350921(NetworkBehaviour target, FastBufferReader reader, __RpcParams rpcParams)
		{
			//IL_0029: Unknown result type (might be due to invalid IL or missing references)
			//IL_003f: Unknown result type (might be due to invalid IL or missing references)
			NetworkManager networkManager = target.NetworkManager;
			if (networkManager != null && networkManager.IsListening)
			{
				target.__rpc_exec_stage = (__RpcExecStage)1;
				((LethalNet)(object)target).glitchHudClientRpc();
				target.__rpc_exec_stage = (__RpcExecStage)0;
			}
		}

		private static void __rpc_handler_713826973(NetworkBehaviour target, FastBufferReader reader, __RpcParams rpcParams)
		{
			//IL_0029: Unknown result type (might be due to invalid IL or missing references)
			//IL_003f: Unknown result type (might be due to invalid IL or missing references)
			NetworkManager networkManager = target.NetworkManager;
			if (networkManager != null && networkManager.IsListening)
			{
				target.__rpc_exec_stage = (__RpcExecStage)1;
				((LethalNet)(object)target).radiationWarningHudClientRpc();
				target.__rpc_exec_stage = (__RpcExecStage)0;
			}
		}

		private static void __rpc_handler_47218504(NetworkBehaviour target, FastBufferReader reader, __RpcParams rpcParams)
		{
			//IL_0029: Unknown result type (might be due to invalid IL or missing references)
			//IL_003f: Unknown result type (might be due to invalid IL or missing references)
			NetworkManager networkManager = target.NetworkManager;
			if (networkManager != null && networkManager.IsListening)
			{
				target.__rpc_exec_stage = (__RpcExecStage)1;
				((LethalNet)(object)target).shakeScreenClientRpc();
				target.__rpc_exec_stage = (__RpcExecStage)0;
			}
		}

		private static void __rpc_handler_4182421693(NetworkBehaviour target, FastBufferReader reader, __RpcParams rpcParams)
		{
			//IL_0036: Unknown result type (might be due to invalid IL or missing references)
			//IL_0041: 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)
			{
				Vector3 position = default(Vector3);
				((FastBufferReader)(ref reader)).ReadValueSafe(ref position);
				target.__rpc_exec_stage = (__RpcExecStage)1;
				((LethalNet)(object)target).spawnExplosionClientRpc(position);
				target.__rpc_exec_stage = (__RpcExecStage)0;
			}
		}

		private static void __rpc_handler_2290767096(NetworkBehaviour target, FastBufferReader reader, __RpcParams rpcParams)
		{
			//IL_0036: Unknown result type (might be due to invalid IL or missing references)
			//IL_0041: 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)
			{
				Vector3 position = default(Vector3);
				((FastBufferReader)(ref reader)).ReadValueSafe(ref position);
				target.__rpc_exec_stage = (__RpcExecStage)1;
				((LethalNet)(object)target).lightningStrikeClientRpc(position);
				target.__rpc_exec_stage = (__RpcExecStage)0;
			}
		}

		private static void __rpc_handler_575349052(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 netid = default(ulong);
				ByteUnpacker.ReadValueBitPacked(reader, ref netid);
				target.__rpc_exec_stage = (__RpcExecStage)1;
				((LethalNet)(object)target).bigBallsClientRpc(netid);
				target.__rpc_exec_stage = (__RpcExecStage)0;
			}
		}

		private static void __rpc_handler_3626325034(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 netid = default(ulong);
				ByteUnpacker.ReadValueBitPacked(reader, ref netid);
				target.__rpc_exec_stage = (__RpcExecStage)1;
				((LethalNet)(object)target).activateLadderClientRpc(netid);
				target.__rpc_exec_stage = (__RpcExecStage)0;
			}
		}

		private static void __rpc_handler_3231380543(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 creditsClientRpc = default(int);
				ByteUnpacker.ReadValueBitPacked(reader, ref creditsClientRpc);
				target.__rpc_exec_stage = (__RpcExecStage)1;
				((LethalNet)(object)target).setCreditsClientRpc(creditsClientRpc);
				target.__rpc_exec_stage = (__RpcExecStage)0;
			}
		}

		private static void __rpc_handler_513152900(NetworkBehaviour target, FastBufferReader reader, __RpcParams rpcParams)
		{
			//IL_0036: Unknown result type (might be due to invalid IL or missing references)
			//IL_0041: 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)
			{
				Vector3 position = default(Vector3);
				((FastBufferReader)(ref reader)).ReadValueSafe(ref position);
				target.__rpc_exec_stage = (__RpcExecStage)1;
				((LethalNet)(object)target).qsandClientRpc(position);
				target.__rpc_exec_stage = (__RpcExecStage)0;
			}
		}

		private static void __rpc_handler_416897215(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_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_008c: 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);
				}
				Vector3 position = default(Vector3);
				((FastBufferReader)(ref reader)).ReadValueSafe(ref position);
				target.__rpc_exec_stage = (__RpcExecStage)1;
				((LethalNet)(object)target).completelyRandomSoundClientRpc(name, position);
				target.__rpc_exec_stage = (__RpcExecStage)0;
			}
		}

		private static void __rpc_handler_2952775531(NetworkBehaviour target, FastBufferReader reader, __RpcParams rpcParams)
		{
			//IL_0029: Unknown result type (might be due to invalid IL or missing references)
			//IL_003f: Unknown result type (might be due to invalid IL or missing references)
			NetworkManager networkManager = target.NetworkManager;
			if (networkManager != null && networkManager.IsListening)
			{
				target.__rpc_exec_stage = (__RpcExecStage)1;
				((LethalNet)(object)target).startSuckClipClientRpc();
				target.__rpc_exec_stage = (__RpcExecStage)0;
			}
		}

		private static void __rpc_handler_481864969(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 name = null;
				if (flag)
				{
					((FastBufferReader)(ref reader)).ReadValueSafe(ref name, false);
				}
				target.__rpc_exec_stage = (__RpcExecStage)1;
				((LethalNet)(object)target).toggleWeatherClientRpc(name);
				target.__rpc_exec_stage = (__RpcExecStage)0;
			}
		}

		private static void __rpc_handler_4018538911(NetworkBehaviour target, FastBufferReader reader, __RpcParams rpcParams)
		{
			//IL_0023: Unknown result type (might be due to invalid IL or missing references)
			//IL_0030: Unknown result type (might be due to invalid IL or missing references)
			//IL_0043: Unknown result type (might be due to invalid IL or missing references)
			//IL_0061: Unknown result type (might be due to invalid IL or missing references)
			NetworkManager networkManager = target.NetworkManager;
			if (networkManager != null && networkManager.IsListening)
			{
				int code = default(int);
				ByteUnpacker.ReadValueBitPacked(reader, ref code);
				int time = default(int);
				ByteUnpacker.ReadValueBitPacked(reader, ref time);
				target.__rpc_exec_stage = (__RpcExecStage)1;
				((LethalNet)(object)target).shipStretchClientRpc(code, time);
				target.__rpc_exec_stage = (__RpcExecStage)0;
			}
		}

		private static void __rpc_handler_1529597267(NetworkBehaviour target, FastBufferReader reader, __RpcParams rpcParams)
		{
			//IL_0029: Unknown result type (might be due to invalid IL or missing references)
			//IL_003f: Unknown result type (might be due to invalid IL or missing references)
			NetworkManager networkManager = target.NetworkManager;
			if (networkManager != null && networkManager.IsListening)
			{
				target.__rpc_exec_stage = (__RpcExecStage)1;
				((LethalNet)(object)target).queueRandomEnemyBoltClientRpc();
				target.__rpc_exec_stage = (__RpcExecStage)0;
			}
		}

		protected internal override string __getTypeName()
		{
			return "LethalNet";
		}
	}
	public class Spawner
	{
		private const float PreferredHeight = -3f;

		private const int MaxAttempts = 3;

		public static void SpawnRandomEnemy()
		{
			//IL_0033: 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_0039: 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_004d: Unknown result type (might be due to invalid IL or missing references)
			Debug.Log((object)"Company Incidents: Random Outside EnemyTrigger");
			RoundManager instance = RoundManager.Instance;
			if (instance.outsideAINodes == null || instance.outsideAINodes.Length == 0)
			{
				return;
			}
			for (int i = 0; i < 3; i++)
			{
				Vector3 closestNodeToY = GetClosestNodeToY(instance);
				if (!(closestNodeToY == Vector3.zero) && TrySpawnEnemyAt(instance, closestNodeToY))
				{
					break;
				}
			}
		}

		public static void SpawnRandomEnemyGroup(float power)
		{
			//IL_004a: Unknown result type (might be due to invalid IL or missing references)
			//IL_004f: Unknown result type (might be due to invalid IL or missing references)
			//IL_0051: 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_0066: Unknown result type (might be due to invalid IL or missing references)
			Debug.Log((object)"Company Incidents: Random EnemyTrigger");
			RoundManager instance = RoundManager.Instance;
			if (instance.outsideAINodes == null || instance.outsideAINodes.Length == 0)
			{
				return;
			}
			int num = EventCaller.rnd.Next(0, (int)power);
			for (int i = 0; i < num; i++)
			{
				bool flag = false;
				for (int j = 0; j < 3; j++)
				{
					Vector3 closestNodeToY = GetClosestNodeToY(instance);
					if (!(closestNodeToY == Vector3.zero))
					{
						flag = TrySpawnEnemyAt(instance, closestNodeToY);
						if (flag)
						{
							break;
						}
					}
				}
				if (!flag)
				{
					break;
				}
			}
		}

		private static bool TrySpawnEnemyAt(RoundManager m, Vector3 pos)
		{
			//IL_0049: Unknown result type (might be due to invalid IL or missing references)
			//IL_004a: Unknown result type (might be due to invalid IL or missing references)
			EnemyAI[] array = Resources.FindObjectsOfTypeAll<EnemyAI>();
			if (array == null || array.Length == 0)
			{
				return false;
			}
			GameObject gameObject = ((Component)array[EventCaller.rnd.Next(0, array.Length)]).gameObject;
			if ((Object)(object)gameObject == (Object)null)
			{
				return false;
			}
			GameObject val = Object.Instantiate<GameObject>(gameObject, pos, Quaternion.identity);
			NetworkObject componentInChildren = val.GetComponentInChildren<NetworkObject>();
			if (!Object.op_Implicit((Object)(object)componentInChildren))
			{
				Object.Destroy((Object)(object)val);
				return false;
			}
			componentInChildren.Spawn(true);
			EnemyAI component = val.GetComponent<EnemyAI>();
			component.isOutside = true;
			m.SpawnedEnemies.Add(component);
			EnemyType enemyType = component.enemyType;
			enemyType.numberSpawned++;
			return true;
		}

		private static Vector3 GetClosestNodeToY(RoundManager m)
		{
			//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_0074: Unknown result type (might be due to invalid IL or missing references)
			//IL_0075: 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_0037: Unknown result type (might be due to invalid IL or missing references)
			//IL_0079: Unknown result type (might be due to invalid IL or missing references)
			//IL_005a: 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)
			float num = float.MaxValue;
			Vector3 result = Vector3.zero;
			for (int i = 0; i < m.outsideAINodes.Length; i++)
			{
				GameObject val = m.outsideAINodes[i];
				if (!((Object)(object)val == (Object)null))
				{
					Vector3 position = val.transform.position;
					float num2 = Mathf.Abs(position.y - -3f);
					if (num2 < num)
					{
						num = num2;
						result = position;
					}
				}
			}
			return result;
		}
	}
	[BepInDependency(/*Could not decode attribute arguments.*/)]
	[BepInPlugin("CompanyIncidents", "CompanyIncidents", "1.0.0")]
	public class Plugin : BaseUnityPlugin
	{
		[Serializable]
		[CompilerGenerated]
		private sealed class <>c
		{
			public static readonly <>c <>9 = new <>c();

			public static hook_LoadNewLevel <>9__12_0;

			public static hook_StartGame <>9__12_2;

			public static hook_Attack <>9__12_3;

			public static hook_OpenShutDoor <>9__12_4;

			public static hook_PlayRewardEffects <>9__12_5;

			public static hook_OnHourChanged <>9__12_6;

			internal void <bindToCompany>b__12_0(orig_LoadNewLevel orig, RoundManager self, int randomSeed, SelectableLevel newLevel)
			{
				try
				{
					if (newLevel.PlanetName.ToLower().Contains("71") && newLevel.PlanetName.ToLower().Contains("gordion"))
					{
						EventCaller.PushAllWeathersToCompany();
						InCompany = true;
					}
					else
					{
						InCompany = false;
					}
					CompanyLevel = newLevel;
				}
				catch (Exception ex)
				{
					Debug.LogError((object)ex);
				}
				orig.Invoke(self, randomSeed, newLevel);
			}

			internal void <bindToCompany>b__12_2(orig_StartGame orig, StartOfRound self)
			{
				InCompany = false;
				EventCaller.PushAllWeathersToCompany();
				orig.Invoke(self);
			}

			internal void <bindToCompany>b__12_3(orig_Attack orig, DepositItemsDesk self)
			{
				if (((NetworkBehaviour)RoundManager.Instance).IsHost && InCompany)
				{
					try
					{
						RandomSpawnCall();
					}
					catch (Exception ex)
					{
						Debug.LogError((object)ex);
					}
				}
				orig.Invoke(self);
			}

			internal void <bindToCompany>b__12_4(orig_OpenShutDoor orig, DepositItemsDesk self, bool open)
			{
				if (((NetworkBehaviour)RoundManager.Instance).IsHost && InCompany)
				{
					try
					{
						RandomSpawnCall();
					}
					catch (Exception ex)
					{
						Debug.LogError((object)ex);
					}
				}
				orig.Invoke(self, open);
			}

			internal void <bindToCompany>b__12_5(orig_PlayRewardEffects orig, DepositItemsDesk self, int profit)
			{
				if (((NetworkBehaviour)RoundManager.Instance).IsHost && InCompany)
				{
					try
					{
						RandomSpawnCall();
					}
					catch (Exception ex)
					{
						Debug.LogError((object)ex);
					}
				}
				orig.Invoke(self, profit);
			}

			internal void <bindToCompany>b__12_6(orig_OnHourChanged orig, TimeOfDay self, int amount)
			{
				if (((NetworkBehaviour)RoundManager.Instance).IsHost && InCompany)
				{
					try
					{
						RandomSpawnCall();
					}
					catch (Exception ex)
					{
						Debug.LogError((object)ex);
					}
				}
				orig.Invoke(self, amount);
			}
		}

		public static Harmony _harmony;

		public static ManualLogSource Logger;

		public static bool InCompany;

		private bool EventOnDeposit = false;

		private bool EventOnAttack = false;

		private bool EventOnLand = false;

		private bool EventOnTakeItems = false;

		private bool EventOnChargeItem = false;

		private bool EventOnPodLand = false;

		public static SelectableLevel CompanyLevel;

		public static ConfigEntry<float> IncidentChance;

		public static ConfigEntry<float> IncidentPower;

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

		private void Awake()
		{
			Logger = ((BaseUnityPlugin)this).Logger;
			bindVars();
			bindToCompany();
			Type[] types = Assembly.GetExecutingAssembly().GetTypes();
			Type[] array = types;
			foreach (Type type in array)
			{
				MethodInfo[] methods = type.GetMethods(BindingFlags.Instance | BindingFlags.Static | BindingFlags.NonPublic);
				MethodInfo[] array2 = methods;
				foreach (MethodInfo methodInfo in array2)
				{
					object[] customAttributes = methodInfo.GetCustomAttributes(typeof(RuntimeInitializeOnLoadMethodAttribute), inherit: false);
					if (customAttributes.Length != 0)
					{
						methodInfo.Invoke(null, null);
					}
				}
			}
		}

		public void bindToCompany()
		{
			//IL_0038: Unknown result type (might be due to invalid IL or missing references)
			//IL_0042: Expected O, but got Unknown
			//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_002b: Expected O, but got Unknown
			//IL_0057: 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_0062: Expected O, but got Unknown
			//IL_007c: Unknown result type (might be due to invalid IL or missing references)
			//IL_0081: Unknown result type (might be due to invalid IL or missing references)
			//IL_0087: Expected O, but got Unknown
			//IL_00a1: Unknown result type (might be due to invalid IL or missing references)
			//IL_00a6: Unknown result type (might be due to invalid IL or missing references)
			//IL_00ac: Expected O, but got Unknown
			//IL_00c6: Unknown result type (might be due to invalid IL or missing references)
			//IL_00cb: Unknown result type (might be due to invalid IL or missing references)
			//IL_00d1: Expected O, but got Unknown
			//IL_00eb: Unknown result type (might be due to invalid IL or missing references)
			//IL_00f0: Unknown result type (might be due to invalid IL or missing references)
			//IL_00f6: Expected O, but got Unknown
			Debug.Log((object)"Company Incidents: binding weathers and events to the company moon...");
			object obj = <>c.<>9__12_0;
			if (obj == null)
			{
				hook_LoadNewLevel val = delegate(orig_LoadNewLevel orig, RoundManager self, int randomSeed, SelectableLevel newLevel)
				{
					try
					{
						if (newLevel.PlanetName.ToLower().Contains("71") && newLevel.PlanetName.ToLower().Contains("gordion"))
						{
							EventCaller.PushAllWeathersToCompany();
							InCompany = true;
						}
						else
						{
							InCompany = false;
						}
						CompanyLevel = newLevel;
					}
					catch (Exception ex5)
					{
						Debug.LogError((object)ex5);
					}
					orig.Invoke(self, randomSeed, newLevel);
				};
				<>c.<>9__12_0 = val;
				obj = (object)val;
			}
			RoundManager.LoadNewLevel += (hook_LoadNewLevel)obj;
			StartOfRound.ShipLeave += (hook_ShipLeave)delegate(orig_ShipLeave orig, StartOfRound self)
			{
				Debug.Log((object)"Company Incidents: planetTimeREset");
				InCompany = false;
				if (Object.op_Implicit((Object)(object)FindGordion()))
				{
					FindGordion().planetHasTime = false;
				}
				if (Object.op_Implicit((Object)(object)CompanyLevel))
				{
					FindGordion().planetHasTime = false;
				}
				orig.Invoke(self);
			};
			object obj2 = <>c.<>9__12_2;
			if (obj2 == null)
			{
				hook_StartGame val2 = delegate(orig_StartGame orig, StartOfRound self)
				{
					InCompany = false;
					EventCaller.PushAllWeathersToCompany();
					orig.Invoke(self);
				};
				<>c.<>9__12_2 = val2;
				obj2 = (object)val2;
			}
			StartOfRound.StartGame += (hook_StartGame)obj2;
			object obj3 = <>c.<>9__12_3;
			if (obj3 == null)
			{
				hook_Attack val3 = delegate(orig_Attack orig, DepositItemsDesk self)
				{
					if (((NetworkBehaviour)RoundManager.Instance).IsHost && InCompany)
					{
						try
						{
							RandomSpawnCall();
						}
						catch (Exception ex4)
						{
							Debug.LogError((object)ex4);
						}
					}
					orig.Invoke(self);
				};
				<>c.<>9__12_3 = val3;
				obj3 = (object)val3;
			}
			DepositItemsDesk.Attack += (hook_Attack)obj3;
			object obj4 = <>c.<>9__12_4;
			if (obj4 == null)
			{
				hook_OpenShutDoor val4 = delegate(orig_OpenShutDoor orig, DepositItemsDesk self, bool open)
				{
					if (((NetworkBehaviour)RoundManager.Instance).IsHost && InCompany)
					{
						try
						{
							RandomSpawnCall();
						}
						catch (Exception ex3)
						{
							Debug.LogError((object)ex3);
						}
					}
					orig.Invoke(self, open);
				};
				<>c.<>9__12_4 = val4;
				obj4 = (object)val4;
			}
			DepositItemsDesk.OpenShutDoor += (hook_OpenShutDoor)obj4;
			object obj5 = <>c.<>9__12_5;
			if (obj5 == null)
			{
				hook_PlayRewardEffects val5 = delegate(orig_PlayRewardEffects orig, DepositItemsDesk self, int profit)
				{
					if (((NetworkBehaviour)RoundManager.Instance).IsHost && InCompany)
					{
						try
						{
							RandomSpawnCall();
						}
						catch (Exception ex2)
						{
							Debug.LogError((object)ex2);
						}
					}
					orig.Invoke(self, profit);
				};
				<>c.<>9__12_5 = val5;
				obj5 = (object)val5;
			}
			DepositItemsDesk.PlayRewardEffects += (hook_PlayRewardEffects)obj5;
			object obj6 = <>c.<>9__12_6;
			if (obj6 == null)
			{
				hook_OnHourChanged val6 = delegate(orig_OnHourChanged orig, TimeOfDay self, int amount)
				{
					if (((NetworkBehaviour)RoundManager.Instance).IsHost && InCompany)
					{
						try
						{
							RandomSpawnCall();
						}
						catch (Exception ex)
						{
							Debug.LogError((object)ex);
						}
					}
					orig.Invoke(self, amount);
				};
				<>c.<>9__12_6 = val6;
				obj6 = (object)val6;
			}
			TimeOfDay.OnHourChanged += (hook_OnHourChanged)obj6;
		}

		public static void RandomSpawnCall()
		{
			double num = EventCaller.rnd.NextDouble();
			Debug.Log((object)("Company Incident Roll -> " + num + "<" + IncidentChance.Value / 100f));
			if (!(num < (double)(IncidentChance.Value / 100f)))
			{
				return;
			}
			if (EventCaller.rnd.NextDouble() < 0.5)
			{
				int num2 = EventCaller.rnd.Next(0, (int)IncidentPower.Value);
				Debug.Log((object)"Company Incident Success! Spawning Different Enemies");
				for (float num3 = 0f; num3 < (float)num2; num3 += 1f)
				{
					Spawner.SpawnRandomEnemy();
				}
			}
			else
			{
				Debug.Log((object)"Success! Spawning Enemy Group");
				Spawner.SpawnRandomEnemyGroup(IncidentPower.Value);
			}
		}

		public SelectableLevel FindGordion()
		{
			SelectableLevel[] array = Resources.FindObjectsOfTypeAll<SelectableLevel>();
			SelectableLevel[] array2 = array;
			foreach (SelectableLevel val in array2)
			{
				if (val.PlanetName.ToLower().Contains("71") && val.PlanetName.ToLower().Contains("gordion"))
				{
					return val;
				}
			}
			return null;
		}

		public void bindVars()
		{
			//IL_004e: 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_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_008b: Unknown result type (might be due to invalid IL or missing references)
			//IL_0096: Expected O, but got Unknown
			//IL_0097: Unknown result type (might be due to invalid IL or missing references)
			//IL_00a2: Expected O, but got Unknown
			//IL_00a8: Expected O, but got Unknown
			//IL_00a3: Unknown result type (might be due to invalid IL or missing references)
			//IL_00a9: Expected O, but got Unknown
			IncidentChance = ((BaseUnityPlugin)this).Config.Bind<float>("Global", "Incident Chance", 20f, "The chance for an action to cause a monster to spawn in the company. The following events will run this chance: (Deposit area attack, deposit door opening, an hour passing, reward effect from depositing items)");
			IncidentPower = ((BaseUnityPlugin)this).Config.Bind<float>("Global", "Incident Power", 7f, "Level of chaos in the company. For now, this defines the amount of monsters that can possibly spawn from an incident, from 1 to the power value.");
			ConfigEntry<float> incidentChance = IncidentChance;
			FloatInputFieldOptions val = new FloatInputFieldOptions
			{
				RequiresRestart = false
			};
			((BaseRangeOptions<float>)val).Min = 0f;
			((BaseRangeOptions<float>)val).Max = 100f;
			FloatInputFieldConfigItem val2 = new FloatInputFieldConfigItem(incidentChance, val);
			ConfigEntry<float> incidentPower = IncidentPower;
			FloatInputFieldOptions val3 = new FloatInputFieldOptions
			{
				RequiresRestart = false
			};
			((BaseRangeOptions<float>)val3).Min = 0f;
			((BaseRangeOptions<float>)val3).Max = 100f;
			FloatInputFieldConfigItem val4 = new FloatInputFieldConfigItem(incidentPower, val3);
			LethalConfigManager.AddConfigItem((BaseConfigItem)(object)val2);
			LethalConfigManager.AddConfigItem((BaseConfigItem)(object)val4);
		}
	}
}
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 __GEN
{
	internal class NetworkVariableSerializationHelper
	{
		[RuntimeInitializeOnLoadMethod]
		internal static void InitializeSerialization()
		{
		}
	}
}
namespace CompanyIncidents.NetcodePatcher
{
	[AttributeUsage(AttributeTargets.Module)]
	internal class NetcodePatchedAssemblyAttribute : Attribute
	{
	}
}