Decompiled source of Atlas v1.5.1

BepInEx/plugins/AtlasPeak.dll

Decompiled 17 hours ago
using System;
using System.Collections;
using System.Collections.Generic;
using System.Diagnostics;
using System.Reflection;
using System.Runtime.CompilerServices;
using System.Runtime.InteropServices;
using System.Runtime.Versioning;
using System.Text;
using AtlasPeak.Patches;
using AtlasPeak.Tabs;
using AtlasPeak.Utils;
using BepInEx;
using ExitGames.Client.Photon;
using HarmonyLib;
using Photon.Pun;
using Photon.Realtime;
using Steamworks;
using UnityEngine;
using UnityEngine.SceneManagement;
using Zorro.Core;
using Zorro.Core.CLI;
using Zorro.UI.Modal;
using pworld.Scripts.Extensions;

[assembly: CompilationRelaxations(8)]
[assembly: RuntimeCompatibility(WrapNonExceptionThrows = true)]
[assembly: Debuggable(DebuggableAttribute.DebuggingModes.Default | DebuggableAttribute.DebuggingModes.DisableOptimizations | DebuggableAttribute.DebuggingModes.IgnoreSymbolStoreSequencePoints | DebuggableAttribute.DebuggingModes.EnableEditAndContinue)]
[assembly: AssemblyTitle("tsgamepeak")]
[assembly: AssemblyDescription("")]
[assembly: AssemblyConfiguration("")]
[assembly: AssemblyCompany("")]
[assembly: AssemblyProduct("tsgamepeak")]
[assembly: AssemblyCopyright("Copyright ©  2025")]
[assembly: AssemblyTrademark("")]
[assembly: ComVisible(false)]
[assembly: Guid("cb8cf5cb-96cd-4c9c-ba8f-24119eb3c729")]
[assembly: AssemblyFileVersion("1.0.0.0")]
[assembly: TargetFramework(".NETFramework,Version=v4.7.2", FrameworkDisplayName = ".NET Framework 4.7.2")]
[assembly: AssemblyVersion("1.0.0.0")]
namespace tsgamepeak
{
	[BepInPlugin("synq.peak.atlas", "Atlas Peak", "1.5.0")]
	public class Plugin : BaseUnityPlugin
	{
		private bool loaded;

		public static GameObject atlas;

		private void Update()
		{
			//IL_0014: Unknown result type (might be due to invalid IL or missing references)
			//IL_001a: Expected O, but got Unknown
			//IL_002b: Unknown result type (might be due to invalid IL or missing references)
			//IL_0035: Expected O, but got Unknown
			if (!loaded)
			{
				Harmony val = new Harmony("synq.peak.atlas");
				val.PatchAll(Assembly.GetExecutingAssembly());
				atlas = new GameObject("atlasobj");
				atlas.AddComponent<UI>();
				atlas.AddComponent<Callbackstuff>();
				Object.DontDestroyOnLoad((Object)(object)atlas);
				((BaseUnityPlugin)this).Logger.LogInfo((object)"BepInEx ver loaded.");
				loaded = true;
			}
		}
	}
}
namespace AtlasPeak
{
	internal class PluginInfo
	{
		public const string Author = "synq.peak.atlas";

		public const string Name = "Atlas Peak";

		public const string Version = "1.5.0";
	}
}
namespace AtlasPeak.Utils
{
	public class Callbackstuff : MonoBehaviourPunCallbacks
	{
		public override void OnMasterClientSwitched(Player newMasterClient)
		{
			((MonoBehaviourPunCallbacks)this).OnMasterClientSwitched(newMasterClient);
			UI.NewNotification("<color=#8765ca>[Atlas] Masterclient switched to " + newMasterClient.NickName + "</color>");
		}

		public override void OnJoinedRoom()
		{
			((MonoBehaviourPunCallbacks)this).OnJoinedRoom();
			Player[] playerListOthers = PhotonNetwork.PlayerListOthers;
			foreach (Player val in playerListOthers)
			{
				if (((Dictionary<object, object>)(object)val.CustomProperties).ContainsKey((object)"CherryUser"))
				{
					UI.NewNotification("<color=#8765ca>[Atlas] A Cherry user is in your lobby.</color>");
				}
				if (((Dictionary<object, object>)(object)val.CustomProperties).ContainsKey((object)"AtlUser"))
				{
					UI.NewNotification("<color=#8765ca>[Atlas] A Atlas user is in your lobby.</color>");
				}
			}
		}

		public override void OnPlayerEnteredRoom(Player newPlayer)
		{
			((MonoBehaviourPunCallbacks)this).OnPlayerEnteredRoom(newPlayer);
			if (((Dictionary<object, object>)(object)newPlayer.CustomProperties).ContainsKey((object)"CherryUser"))
			{
				UI.NewNotification("<color=#8765ca>[Atlas] An Cherry user joined.</color>");
			}
			if (((Dictionary<object, object>)(object)newPlayer.CustomProperties).ContainsKey((object)"AtlUser"))
			{
				UI.NewNotification("<color=#8765ca>[Atlas] An Atlas user joined.</color>");
			}
		}

		public override void OnPlayerLeftRoom(Player otherPlayer)
		{
			((MonoBehaviourPunCallbacks)this).OnPlayerLeftRoom(otherPlayer);
			if (((Dictionary<object, object>)(object)otherPlayer.CustomProperties).ContainsKey((object)"CherryUser"))
			{
				UI.NewNotification("<color=#8765ca>[Atlas] An Cherry user left.</color>");
			}
			if (((Dictionary<object, object>)(object)otherPlayer.CustomProperties).ContainsKey((object)"AtlUser"))
			{
				UI.NewNotification("<color=#8765ca>[Atlas] An Atlas user left.</color>");
			}
		}
	}
	public class MenuManager
	{
		public static string[] tabs = new string[6] { "Self", "Lobby", "Spawn", "Visual", "Players", "Settings" };

		public static int currentTab = 0;

		public static bool isSectionOpen = false;

		public static Rect windowRect;

		public static bool uiopen = true;

		public static void Begin()
		{
			GUILayout.BeginHorizontal(Array.Empty<GUILayoutOption>());
			GUILayout.BeginVertical(Array.Empty<GUILayoutOption>());
		}

		public static void End()
		{
			GUILayout.EndVertical();
			GUILayout.EndVertical();
			GUILayout.EndHorizontal();
			isSectionOpen = false;
		}

		public static void Separate()
		{
			GUILayout.EndVertical();
			GUILayout.EndVertical();
			GUILayout.BeginVertical(Array.Empty<GUILayoutOption>());
			isSectionOpen = false;
		}

		public static void NewSection(string text)
		{
			//IL_0023: Unknown result type (might be due to invalid IL or missing references)
			//IL_0046: Expected O, but got Unknown
			if (isSectionOpen)
			{
				GUILayout.EndVertical();
				GUILayout.Space(4f);
			}
			float num = 285f;
			GUILayout.BeginVertical(new GUIContent(), GUIStyle.op_Implicit("Box"), (GUILayoutOption[])(object)new GUILayoutOption[1] { GUILayout.Width(num) });
			GUILayout.Box(text ?? "", Array.Empty<GUILayoutOption>());
			isSectionOpen = true;
		}

		public static void NewScrollView(Vector2 scrollPos, int width, int height)
		{
			//IL_0001: Unknown result type (might be due to invalid IL or missing references)
			//IL_001c: Unknown result type (might be due to invalid IL or missing references)
			//IL_0021: Unknown result type (might be due to invalid IL or missing references)
			scrollPos = GUILayout.BeginScrollView(scrollPos, (GUILayoutOption[])(object)new GUILayoutOption[2]
			{
				GUILayout.Width((float)width),
				GUILayout.Height((float)height)
			});
		}

		public static void NewButton(string text, Action callback)
		{
			//IL_000b: Unknown result type (might be due to invalid IL or missing references)
			//IL_0010: Unknown result type (might be due to invalid IL or missing references)
			//IL_0019: Unknown result type (might be due to invalid IL or missing references)
			//IL_0022: Expected O, but got Unknown
			GUIStyle val = new GUIStyle(GUIStyle.op_Implicit("Box"))
			{
				fontSize = 12,
				richText = false
			};
			if (GUILayout.Button(text, val, Array.Empty<GUILayoutOption>()))
			{
				callback();
			}
		}

		public static void NewLabel(string text)
		{
			//IL_0001: Unknown result type (might be due to invalid IL or missing references)
			//IL_0006: Unknown result type (might be due to invalid IL or missing references)
			//IL_0010: Expected O, but got Unknown
			GUIStyle val = new GUIStyle
			{
				fontSize = 12
			};
			GUILayout.Label("<b><color=white>" + text + "</color></b>", val, Array.Empty<GUILayoutOption>());
		}

		public static void EndScrollView()
		{
			GUILayout.EndScrollView();
		}

		public static bool NewToggle(bool value, string text)
		{
			//IL_000b: Unknown result type (might be due to invalid IL or missing references)
			//IL_0010: Unknown result type (might be due to invalid IL or missing references)
			//IL_001a: Expected O, but got Unknown
			//IL_00a3: Unknown result type (might be due to invalid IL or missing references)
			//IL_0055: Unknown result type (might be due to invalid IL or missing references)
			GUIStyle val = new GUIStyle(GUIStyle.op_Implicit("Box"))
			{
				fontSize = 12
			};
			if (value)
			{
				if (!Visual.ActiveModules.Contains(text))
				{
					Visual.ActiveModules.Add(text);
				}
				val.normal.textColor = new Color(0f, 1f, 0f);
				text += " [ENABLED]";
			}
			else
			{
				if (Visual.ActiveModules.Contains(text))
				{
					Visual.ActiveModules.Remove(text);
				}
				val.normal.textColor = new Color(1f, 0f, 0f);
				text += " [DISABLED]";
			}
			return GUILayout.Toggle(value, text, val, Array.Empty<GUILayoutOption>());
		}

		public static float NewSlider(string text, float value, float minimum, float maximum)
		{
			//IL_000b: Unknown result type (might be due to invalid IL or missing references)
			//IL_0010: Unknown result type (might be due to invalid IL or missing references)
			//IL_001a: Expected O, but got Unknown
			GUIStyle val = new GUIStyle(GUIStyle.op_Implicit("Box"))
			{
				fontSize = 12
			};
			GUILayout.Label(text + " : " + value, val, Array.Empty<GUILayoutOption>());
			return GUILayout.HorizontalSlider(value, minimum, maximum, Array.Empty<GUILayoutOption>());
		}

		public static string NewTextField(string text)
		{
			//IL_000b: Unknown result type (might be due to invalid IL or missing references)
			//IL_0010: Unknown result type (might be due to invalid IL or missing references)
			//IL_0019: Unknown result type (might be due to invalid IL or missing references)
			//IL_0022: Expected O, but got Unknown
			GUIStyle val = new GUIStyle(GUIStyle.op_Implicit("Box"))
			{
				fontSize = 12,
				richText = false
			};
			return GUILayout.TextField(text, val, Array.Empty<GUILayoutOption>());
		}
	}
	public class Render
	{
		private static Texture2D drawingTex;

		private static Color lastTexColour;

		private static Color __color;

		private static GUIStyle __style = new GUIStyle();

		private static Material overlayMaterial = null;

		private static GUIStyle __outlineStyle = new GUIStyle();

		public Texture2D Texture;

		public Color DefaultColor;

		public Render()
		{
			//IL_000b: Unknown result type (might be due to invalid IL or missing references)
			//IL_0015: Expected O, but got Unknown
			//IL_0028: Unknown result type (might be due to invalid IL or missing references)
			Texture = new Texture2D(2, 2);
			for (int i = 0; i < ((Texture)Texture).width; i++)
			{
				for (int j = 0; j < ((Texture)Texture).height; j++)
				{
					Texture.SetPixel(i, j, DefaultColor);
				}
			}
		}

		public void Draw(Rect size, Color color, float r)
		{
			//IL_0005: Unknown result type (might be due to invalid IL or missing references)
			//IL_0021: Unknown result type (might be due to invalid IL or missing references)
			for (int i = 0; i < 5; i++)
			{
				GUI.DrawTexture(size, (Texture)(object)Texture, (ScaleMode)Type.EmptyTypes.Length, Type.EmptyTypes.Length != 0, 0f, color, 0f, r);
			}
		}

		public void Draw(Rect size, Color color, Vector4 radius)
		{
			//IL_0005: Unknown result type (might be due to invalid IL or missing references)
			//IL_0021: Unknown result type (might be due to invalid IL or missing references)
			//IL_0022: Unknown result type (might be due to invalid IL or missing references)
			//IL_0027: Unknown result type (might be due to invalid IL or missing references)
			for (int i = 0; i < 5; i++)
			{
				GUI.DrawTexture(size, (Texture)(object)Texture, (ScaleMode)Type.EmptyTypes.Length, Type.EmptyTypes.Length != 0, 0f, color, Vector4.zero, radius);
			}
		}

		public void DrawTransparent(Rect size, Color color, float r)
		{
			//IL_0001: Unknown result type (might be due to invalid IL or missing references)
			//IL_001d: Unknown result type (might be due to invalid IL or missing references)
			GUI.DrawTexture(size, (Texture)(object)Texture, (ScaleMode)Type.EmptyTypes.Length, Type.EmptyTypes.Length != 0, 0f, color, 0f, r);
		}

		internal static void Init()
		{
			//IL_001e: Unknown result type (might be due to invalid IL or missing references)
			//IL_0023: Unknown result type (might be due to invalid IL or missing references)
			//IL_0030: Expected O, but got Unknown
			//IL_0090: Unknown result type (might be due to invalid IL or missing references)
			if ((Object)(object)overlayMaterial == (Object)null)
			{
				overlayMaterial = new Material(Shader.Find("Hidden/Internal-Colored"))
				{
					hideFlags = (HideFlags)5
				};
				overlayMaterial.SetInt("_SrcBlend", 5);
				overlayMaterial.SetInt("_DstBlend", 10);
				overlayMaterial.SetInt("_Cull", 0);
				overlayMaterial.SetInt("_ZTest", 8);
				overlayMaterial.SetInt("_ZWrite", 0);
				overlayMaterial.SetColor("_Color", Color.white);
			}
		}

		internal static Color GetRainbow(float offset = 0f)
		{
			//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_0060: Unknown result type (might be due to invalid IL or missing references)
			float num = (Time.time + offset) * 2f;
			float num2 = Mathf.Sin(num) * 0.5f + 0.5f;
			float num3 = Mathf.Sin(num + 2f) * 0.5f + 0.5f;
			float num4 = Mathf.Sin(num + 4f) * 0.5f + 0.5f;
			return new Color(num2, num3, num4);
		}

		internal static void DrawString(Vector2 pos, string text, Color color, bool center = true, int size = 12, FontStyle fontStyle = 1, int depth = 1)
		{
			//IL_0024: 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_006f: Unknown result type (might be due to invalid IL or missing references)
			//IL_007f: 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: Expected O, but got Unknown
			//IL_008f: Unknown result type (might be due to invalid IL or missing references)
			//IL_0095: Expected O, but got Unknown
			//IL_00aa: Unknown result type (might be due to invalid IL or missing references)
			//IL_00df: Unknown result type (might be due to invalid IL or missing references)
			//IL_00e5: Unknown result type (might be due to invalid IL or missing references)
			//IL_00f5: Unknown result type (might be due to invalid IL or missing references)
			//IL_010b: Unknown result type (might be due to invalid IL or missing references)
			//IL_0117: Unknown result type (might be due to invalid IL or missing references)
			//IL_012d: Unknown result type (might be due to invalid IL or missing references)
			//IL_013e: Unknown result type (might be due to invalid IL or missing references)
			//IL_0144: Unknown result type (might be due to invalid IL or missing references)
			//IL_0154: Unknown result type (might be due to invalid IL or missing references)
			//IL_016a: Unknown result type (might be due to invalid IL or missing references)
			//IL_0176: Unknown result type (might be due to invalid IL or missing references)
			//IL_018c: Unknown result type (might be due to invalid IL or missing references)
			//IL_019d: Unknown result type (might be due to invalid IL or missing references)
			//IL_01a9: Unknown result type (might be due to invalid IL or missing references)
			//IL_01bf: Unknown result type (might be due to invalid IL or missing references)
			//IL_01d0: Unknown result type (might be due to invalid IL or missing references)
			//IL_01d6: Unknown result type (might be due to invalid IL or missing references)
			//IL_01e6: Unknown result type (might be due to invalid IL or missing references)
			//IL_01fc: Unknown result type (might be due to invalid IL or missing references)
			//IL_0208: Unknown result type (might be due to invalid IL or missing references)
			//IL_021e: Unknown result type (might be due to invalid IL or missing references)
			//IL_022f: Unknown result type (might be due to invalid IL or missing references)
			//IL_023b: Unknown result type (might be due to invalid IL or missing references)
			//IL_0251: Unknown result type (might be due to invalid IL or missing references)
			//IL_0262: Unknown result type (might be due to invalid IL or missing references)
			//IL_0268: Unknown result type (might be due to invalid IL or missing references)
			//IL_027e: Unknown result type (might be due to invalid IL or missing references)
			//IL_028f: Unknown result type (might be due to invalid IL or missing references)
			//IL_0295: Unknown result type (might be due to invalid IL or missing references)
			//IL_02ab: Unknown result type (might be due to invalid IL or missing references)
			//IL_02bc: Unknown result type (might be due to invalid IL or missing references)
			//IL_02c2: Unknown result type (might be due to invalid IL or missing references)
			//IL_02d2: Unknown result type (might be due to invalid IL or missing references)
			__style.fontSize = size;
			__style.richText = true;
			__style.normal.textColor = color;
			__style.fontStyle = fontStyle;
			__outlineStyle.fontSize = size;
			__outlineStyle.richText = true;
			__outlineStyle.normal.textColor = new Color(0f, 0f, 0f, 1f);
			__outlineStyle.fontStyle = fontStyle;
			GUIContent val = new GUIContent(text);
			GUIContent val2 = new GUIContent(text);
			if (center)
			{
				pos.x -= __style.CalcSize(val).x / 2f;
			}
			switch (depth)
			{
			case 0:
				GUI.Label(new Rect(pos.x, pos.y, 300f, 25f), val, __style);
				break;
			case 1:
				GUI.Label(new Rect(pos.x + 1f, pos.y + 1f, 300f, 25f), val2, __outlineStyle);
				GUI.Label(new Rect(pos.x, pos.y, 300f, 25f), val, __style);
				break;
			case 2:
				GUI.Label(new Rect(pos.x + 1f, pos.y + 1f, 300f, 25f), val2, __outlineStyle);
				GUI.Label(new Rect(pos.x - 1f, pos.y - 1f, 300f, 25f), val2, __outlineStyle);
				GUI.Label(new Rect(pos.x, pos.y, 300f, 25f), val, __style);
				break;
			case 3:
				GUI.Label(new Rect(pos.x + 1f, pos.y + 1f, 300f, 25f), val2, __outlineStyle);
				GUI.Label(new Rect(pos.x - 1f, pos.y - 1f, 300f, 25f), val2, __outlineStyle);
				GUI.Label(new Rect(pos.x, pos.y - 1f, 300f, 25f), val2, __outlineStyle);
				GUI.Label(new Rect(pos.x, pos.y + 1f, 300f, 25f), val2, __outlineStyle);
				GUI.Label(new Rect(pos.x, pos.y, 300f, 25f), val, __style);
				break;
			}
		}

		internal static void DrawBox(Color color, Vector2 position, float width, float height)
		{
			//IL_004e: Unknown result type (might be due to invalid IL or missing references)
			//IL_0055: Unknown result type (might be due to invalid IL or missing references)
			//IL_005d: Unknown result type (might be due to invalid IL or missing references)
			//IL_006b: Unknown result type (might be due to invalid IL or missing references)
			//IL_0073: Unknown result type (might be due to invalid IL or missing references)
			//IL_007b: Unknown result type (might be due to invalid IL or missing references)
			//IL_0086: Unknown result type (might be due to invalid IL or missing references)
			//IL_008e: Unknown result type (might be due to invalid IL or missing references)
			//IL_009c: Unknown result type (might be due to invalid IL or missing references)
			//IL_00a4: Unknown result type (might be due to invalid IL or missing references)
			//IL_00ac: Unknown result type (might be due to invalid IL or missing references)
			//IL_00b7: Unknown result type (might be due to invalid IL or missing references)
			//IL_00bf: Unknown result type (might be due to invalid IL or missing references)
			//IL_00cd: Unknown result type (might be due to invalid IL or missing references)
			//IL_00d5: Unknown result type (might be due to invalid IL or missing references)
			//IL_00dd: Unknown result type (might be due to invalid IL or missing references)
			//IL_00e8: 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_00fe: Unknown result type (might be due to invalid IL or missing references)
			//IL_0106: Unknown result type (might be due to invalid IL or missing references)
			//IL_010e: Unknown result type (might be due to invalid IL or missing references)
			Init();
			width /= 2f;
			height /= 2f;
			GL.PushMatrix();
			overlayMaterial.SetPass(0);
			GL.LoadPixelMatrix(0f, (float)Screen.width, (float)Screen.height, 0f);
			GL.Begin(7);
			GL.Color(color);
			GL.TexCoord2(position.x + width, position.y + height);
			GL.Vertex(new Vector3(position.x + width, position.y + height));
			GL.TexCoord2(position.x + width, position.y - height);
			GL.Vertex(new Vector3(position.x + width, position.y - height));
			GL.TexCoord2(position.x - width, position.y - height);
			GL.Vertex(new Vector3(position.x - width, position.y - height));
			GL.TexCoord2(position.x - width, position.y + height);
			GL.Vertex(new Vector3(position.x - width, position.y + height));
			GL.End();
			GL.PopMatrix();
		}

		internal static bool IsOnScreen(Vector3 position)
		{
			//IL_0001: Unknown result type (might be due to invalid IL or missing references)
			//IL_000e: Unknown result type (might be due to invalid IL or missing references)
			//IL_0022: Unknown result type (might be due to invalid IL or missing references)
			return position.y > 0.01f && position.y < (float)Screen.height - 5f && position.z > 0.01f;
		}

		internal static bool IsBehindCamera(Vector3 screenPosition)
		{
			//IL_0001: Unknown result type (might be due to invalid IL or missing references)
			return screenPosition.z < 0f;
		}

		internal static Vector3 ToScreen(Vector3 worldPosition)
		{
			//IL_0006: Unknown result type (might be due to invalid IL or missing references)
			//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_0015: Unknown result type (might be due to invalid IL or missing references)
			//IL_0021: Unknown result type (might be due to invalid IL or missing references)
			//IL_0022: 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)
			Vector3 val = Camera.main.WorldToScreenPoint(worldPosition);
			val.y = (float)Screen.height - val.y;
			return val;
		}

		internal static void DrawCircle(Color color, Vector2 position, float radius)
		{
			//IL_003c: Unknown result type (might be due to invalid IL or missing references)
			//IL_0054: Unknown result type (might be due to invalid IL or missing references)
			//IL_0063: Unknown result type (might be due to invalid IL or missing references)
			//IL_006a: Unknown result type (might be due to invalid IL or missing references)
			//IL_0083: Unknown result type (might be due to invalid IL or missing references)
			//IL_0098: Unknown result type (might be due to invalid IL or missing references)
			//IL_009f: Unknown result type (might be due to invalid IL or missing references)
			Init();
			GL.PushMatrix();
			overlayMaterial.SetPass(0);
			GL.LoadPixelMatrix(0f, (float)Screen.width, (float)Screen.height, 0f);
			GL.Begin(2);
			GL.Color(color);
			for (float num = 0f; num < (float)Math.PI * 2f; num += 0.05f)
			{
				GL.Vertex(new Vector3(Mathf.Cos(num) * radius + position.x, Mathf.Sin(num) * radius + position.y));
				GL.Vertex(new Vector3(Mathf.Cos(num + 0.05f) * radius + position.x, Mathf.Sin(num + 0.05f) * radius + position.y));
			}
			GL.End();
			GL.PopMatrix();
		}

		internal static void DrawFullCircle(Color color, Vector2 position, float width, float height, float radius)
		{
			//IL_004e: Unknown result type (might be due to invalid IL or missing references)
			//IL_0055: Unknown result type (might be due to invalid IL or missing references)
			//IL_005d: Unknown result type (might be due to invalid IL or missing references)
			//IL_006b: Unknown result type (might be due to invalid IL or missing references)
			//IL_0073: Unknown result type (might be due to invalid IL or missing references)
			//IL_007b: Unknown result type (might be due to invalid IL or missing references)
			//IL_0086: Unknown result type (might be due to invalid IL or missing references)
			//IL_008e: Unknown result type (might be due to invalid IL or missing references)
			//IL_009c: Unknown result type (might be due to invalid IL or missing references)
			//IL_00a4: Unknown result type (might be due to invalid IL or missing references)
			//IL_00ac: Unknown result type (might be due to invalid IL or missing references)
			//IL_00b7: Unknown result type (might be due to invalid IL or missing references)
			//IL_00bf: Unknown result type (might be due to invalid IL or missing references)
			//IL_00cd: Unknown result type (might be due to invalid IL or missing references)
			//IL_00d5: Unknown result type (might be due to invalid IL or missing references)
			//IL_00dd: Unknown result type (might be due to invalid IL or missing references)
			//IL_00e8: 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_00fe: Unknown result type (might be due to invalid IL or missing references)
			//IL_0106: Unknown result type (might be due to invalid IL or missing references)
			//IL_010e: Unknown result type (might be due to invalid IL or missing references)
			//IL_012b: Unknown result type (might be due to invalid IL or missing references)
			//IL_013b: Unknown result type (might be due to invalid IL or missing references)
			//IL_0142: Unknown result type (might be due to invalid IL or missing references)
			//IL_015c: Unknown result type (might be due to invalid IL or missing references)
			//IL_0172: Unknown result type (might be due to invalid IL or missing references)
			//IL_0179: Unknown result type (might be due to invalid IL or missing references)
			Init();
			width /= 2f;
			height /= 2f;
			GL.PushMatrix();
			overlayMaterial.SetPass(0);
			GL.LoadPixelMatrix(0f, (float)Screen.width, (float)Screen.height, 0f);
			GL.Begin(2);
			GL.Color(color);
			GL.TexCoord2(position.x + width, position.y + height);
			GL.Vertex(new Vector3(position.x + width, position.y + height));
			GL.TexCoord2(position.x + width, position.y - height);
			GL.Vertex(new Vector3(position.x + width, position.y - height));
			GL.TexCoord2(position.x - width, position.y - height);
			GL.Vertex(new Vector3(position.x - width, position.y - height));
			GL.TexCoord2(position.x - width, position.y + height);
			GL.Vertex(new Vector3(position.x - width, position.y + height));
			for (float num = 0f; num < (float)Math.PI * 2f; num += 0.05f)
			{
				GL.Vertex(new Vector3(Mathf.Cos(num) * radius + position.x, Mathf.Sin(num) * radius + position.y));
				GL.Vertex(new Vector3(Mathf.Cos(num + 0.05f) * radius + position.x, Mathf.Sin(num + 0.05f) * radius + position.y));
			}
			GL.End();
			GL.PopMatrix();
		}

		internal static void DrawLine(Color color, Vector3 origin, Vector3 destination)
		{
			//IL_003c: Unknown result type (might be due to invalid IL or missing references)
			//IL_0043: Unknown result type (might be due to invalid IL or missing references)
			//IL_0049: 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_005a: Unknown result type (might be due to invalid IL or missing references)
			//IL_0060: Unknown result type (might be due to invalid IL or missing references)
			//IL_0066: Unknown result type (might be due to invalid IL or missing references)
			Init();
			GL.PushMatrix();
			overlayMaterial.SetPass(0);
			GL.LoadPixelMatrix(0f, (float)Screen.width, (float)Screen.height, 0f);
			GL.Begin(2);
			GL.Color(color);
			GL.Vertex(new Vector3(origin.x, origin.y));
			GL.Vertex(new Vector3(destination.x, destination.y));
			GL.End();
			GL.PopMatrix();
		}

		internal static void DrawLine1(Vector2 start, Vector2 end, Color color, float width)
		{
			//IL_0001: Unknown result type (might be due to invalid IL or missing references)
			//IL_0006: Unknown result type (might be due to invalid IL or missing references)
			//IL_000d: Unknown result type (might be due to invalid IL or missing references)
			//IL_000e: Unknown result type (might be due to invalid IL or missing references)
			//IL_000f: Unknown result type (might be due to invalid IL or missing references)
			//IL_0014: Unknown result type (might be due to invalid IL or missing references)
			//IL_0016: Unknown result type (might be due to invalid IL or missing references)
			//IL_001c: Unknown result type (might be due to invalid IL or missing references)
			//IL_002a: Unknown result type (might be due to invalid IL or missing references)
			//IL_0057: Unknown result type (might be due to invalid IL or missing references)
			//IL_005e: Unknown result type (might be due to invalid IL or missing references)
			//IL_0065: Unknown result type (might be due to invalid IL or missing references)
			//IL_006b: Unknown result type (might be due to invalid IL or missing references)
			//IL_007d: Unknown result type (might be due to invalid IL or missing references)
			//IL_0090: Unknown result type (might be due to invalid IL or missing references)
			//IL_0097: Unknown result type (might be due to invalid IL or missing references)
			Color color2 = GUI.color;
			float num = 57.29578f;
			Vector2 val = end - start;
			float num2 = num * Mathf.Atan(val.y / val.x);
			if (val.x < 0f)
			{
				num2 += 180f;
			}
			int num3 = (int)Mathf.Ceil(width / 2f);
			GUIUtility.RotateAroundPivot(num2, start);
			GUI.color = color;
			GUI.DrawTexture(new Rect(start.x, start.y - (float)num3, ((Vector2)(ref val)).magnitude, width), (Texture)(object)Texture2D.whiteTexture, (ScaleMode)0);
			GUIUtility.RotateAroundPivot(0f - num2, start);
			GUI.color = color2;
		}

		internal static void CornerBox(Vector2 Head, float Width, float Height, float thickness, Color color, bool outline)
		{
			//IL_01cb: Unknown result type (might be due to invalid IL or missing references)
			//IL_01d9: Unknown result type (might be due to invalid IL or missing references)
			//IL_01e6: Unknown result type (might be due to invalid IL or missing references)
			//IL_01ee: Unknown result type (might be due to invalid IL or missing references)
			//IL_01fc: Unknown result type (might be due to invalid IL or missing references)
			//IL_0209: Unknown result type (might be due to invalid IL or missing references)
			//IL_0211: Unknown result type (might be due to invalid IL or missing references)
			//IL_0222: Unknown result type (might be due to invalid IL or missing references)
			//IL_022f: Unknown result type (might be due to invalid IL or missing references)
			//IL_0237: Unknown result type (might be due to invalid IL or missing references)
			//IL_0245: Unknown result type (might be due to invalid IL or missing references)
			//IL_0252: Unknown result type (might be due to invalid IL or missing references)
			//IL_025a: Unknown result type (might be due to invalid IL or missing references)
			//IL_0268: Unknown result type (might be due to invalid IL or missing references)
			//IL_027d: Unknown result type (might be due to invalid IL or missing references)
			//IL_0285: Unknown result type (might be due to invalid IL or missing references)
			//IL_0293: Unknown result type (might be due to invalid IL or missing references)
			//IL_02ab: Unknown result type (might be due to invalid IL or missing references)
			//IL_02b3: Unknown result type (might be due to invalid IL or missing references)
			//IL_02c4: Unknown result type (might be due to invalid IL or missing references)
			//IL_02d9: Unknown result type (might be due to invalid IL or missing references)
			//IL_02e1: Unknown result type (might be due to invalid IL or missing references)
			//IL_02ef: Unknown result type (might be due to invalid IL or missing references)
			//IL_0309: Unknown result type (might be due to invalid IL or missing references)
			//IL_0016: Unknown result type (might be due to invalid IL or missing references)
			//IL_002a: Unknown result type (might be due to invalid IL or missing references)
			//IL_003f: Unknown result type (might be due to invalid IL or missing references)
			//IL_004a: Unknown result type (might be due to invalid IL or missing references)
			//IL_005e: Unknown result type (might be due to invalid IL or missing references)
			//IL_0073: Unknown result type (might be due to invalid IL or missing references)
			//IL_007e: Unknown result type (might be due to invalid IL or missing references)
			//IL_0095: Unknown result type (might be due to invalid IL or missing references)
			//IL_00aa: Unknown result type (might be due to invalid IL or missing references)
			//IL_00b5: Unknown result type (might be due to invalid IL or missing references)
			//IL_00c9: Unknown result type (might be due to invalid IL or missing references)
			//IL_00de: Unknown result type (might be due to invalid IL or missing references)
			//IL_00e9: Unknown result type (might be due to invalid IL or missing references)
			//IL_00fd: Unknown result type (might be due to invalid IL or missing references)
			//IL_0114: Unknown result type (might be due to invalid IL or missing references)
			//IL_011f: Unknown result type (might be due to invalid IL or missing references)
			//IL_0133: Unknown result type (might be due to invalid IL or missing references)
			//IL_014d: Unknown result type (might be due to invalid IL or missing references)
			//IL_0158: Unknown result type (might be due to invalid IL or missing references)
			//IL_016f: 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_0191: Unknown result type (might be due to invalid IL or missing references)
			//IL_01a5: Unknown result type (might be due to invalid IL or missing references)
			//IL_01bf: Unknown result type (might be due to invalid IL or missing references)
			int num = (int)(Width / 4f);
			int num2 = num;
			if (outline)
			{
				RectFilled(Head.x - Width / 2f - 1f, Head.y - 1f, num + 2, 3f, Color.black);
				RectFilled(Head.x - Width / 2f - 1f, Head.y - 1f, 3f, num2 + 2, Color.black);
				RectFilled(Head.x + Width / 2f - (float)num - 1f, Head.y - 1f, num + 2, 3f, Color.black);
				RectFilled(Head.x + Width / 2f - 1f, Head.y - 1f, 3f, num2 + 2, Color.black);
				RectFilled(Head.x - Width / 2f - 1f, Head.y + Height - 4f, num + 2, 3f, Color.black);
				RectFilled(Head.x - Width / 2f - 1f, Head.y + Height - (float)num2 - 4f, 3f, num2 + 2, Color.black);
				RectFilled(Head.x + Width / 2f - (float)num - 1f, Head.y + Height - 4f, num + 2, 3f, Color.black);
				RectFilled(Head.x + Width / 2f - 1f, Head.y + Height - (float)num2 - 4f, 3f, num2 + 3, Color.black);
			}
			RectFilled(Head.x - Width / 2f, Head.y, num, 1f, color);
			RectFilled(Head.x - Width / 2f, Head.y, 1f, num2, color);
			RectFilled(Head.x + Width / 2f - (float)num, Head.y, num, 1f, color);
			RectFilled(Head.x + Width / 2f, Head.y, 1f, num2, color);
			RectFilled(Head.x - Width / 2f, Head.y + Height - 3f, num, 1f, color);
			RectFilled(Head.x - Width / 2f, Head.y + Height - (float)num2 - 3f, 1f, num2, color);
			RectFilled(Head.x + Width / 2f - (float)num, Head.y + Height - 3f, num, 1f, color);
			RectFilled(Head.x + Width / 2f, Head.y + Height - (float)num2 - 3f, 1f, num2 + 1, color);
		}

		internal static void DrawHealth(Vector2 pos, float health, bool center = false)
		{
			//IL_001f: Unknown result type (might be due to invalid IL or missing references)
			//IL_002a: Unknown result type (might be due to invalid IL or missing references)
			//IL_002f: Unknown result type (might be due to invalid IL or missing references)
			//IL_0034: 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_003c: Unknown result type (might be due to invalid IL or missing references)
			//IL_004c: Unknown result type (might be due to invalid IL or missing references)
			//IL_0051: Unknown result type (might be due to invalid IL or missing references)
			//IL_005c: Unknown result type (might be due to invalid IL or missing references)
			//IL_0067: Unknown result type (might be due to invalid IL or missing references)
			//IL_006c: Unknown result type (might be due to invalid IL or missing references)
			//IL_0071: Unknown result type (might be due to invalid IL or missing references)
			//IL_0073: Unknown result type (might be due to invalid IL or missing references)
			//IL_0078: Unknown result type (might be due to invalid IL or missing references)
			//IL_0007: Unknown result type (might be due to invalid IL or missing references)
			//IL_0012: Unknown result type (might be due to invalid IL or missing references)
			//IL_0017: Unknown result type (might be due to invalid IL or missing references)
			//IL_001c: 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_008e: Unknown result type (might be due to invalid IL or missing references)
			//IL_00a7: Unknown result type (might be due to invalid IL or missing references)
			//IL_00ad: Unknown result type (might be due to invalid IL or missing references)
			//IL_00bf: Unknown result type (might be due to invalid IL or missing references)
			//IL_00c4: Unknown result type (might be due to invalid IL or missing references)
			//IL_00a0: Unknown result type (might be due to invalid IL or missing references)
			//IL_00a5: Unknown result type (might be due to invalid IL or missing references)
			if (center)
			{
				pos -= new Vector2(26f, 0f);
			}
			pos += new Vector2(0f, 18f);
			BoxRect(new Rect(pos.x, pos.y, 52f, 5f), Color.black);
			pos += new Vector2(1f, 1f);
			Color color = Color.green;
			if (health <= 50f)
			{
				color = Color.yellow;
			}
			if (health <= 25f)
			{
				color = Color.red;
			}
			BoxRect(new Rect(pos.x, pos.y, 0.5f * health, 3f), color);
		}

		internal static void BoxRect(Rect rect, Color color)
		{
			//IL_0001: Unknown result type (might be due to invalid IL or missing references)
			//IL_0002: Unknown result type (might be due to invalid IL or missing references)
			//IL_0031: Unknown result type (might be due to invalid IL or missing references)
			//IL_0018: Unknown result type (might be due to invalid IL or missing references)
			//IL_002a: Unknown result type (might be due to invalid IL or missing references)
			//IL_002b: Unknown result type (might be due to invalid IL or missing references)
			if (color != __color)
			{
				drawingTex.SetPixel(0, 0, color);
				drawingTex.Apply();
				__color = color;
			}
			GUI.DrawTexture(rect, (Texture)(object)drawingTex);
		}

		internal static void RectFilled(float x, float y, float width, float height, Color color)
		{
			//IL_0020: Unknown result type (might be due to invalid IL or missing references)
			//IL_0022: Unknown result type (might be due to invalid IL or missing references)
			//IL_0015: Unknown result type (might be due to invalid IL or missing references)
			//IL_001f: Expected O, but got Unknown
			//IL_0057: 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_004b: 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)
			if (!Object.op_Implicit((Object)(object)drawingTex))
			{
				drawingTex = new Texture2D(1, 1);
			}
			if (color != lastTexColour)
			{
				drawingTex.SetPixel(0, 0, color);
				drawingTex.Apply();
				lastTexColour = color;
			}
			GUI.DrawTexture(new Rect(x, y, width, height), (Texture)(object)drawingTex);
		}
	}
	public class UI : MonoBehaviour
	{
		[CompilerGenerated]
		private sealed class <WFS>d__26 : IEnumerator<object>, IDisposable, IEnumerator
		{
			private int <>1__state;

			private object <>2__current;

			public float seconds;

			public UI <>4__this;

			object IEnumerator<object>.Current
			{
				[DebuggerHidden]
				get
				{
					return <>2__current;
				}
			}

			object IEnumerator.Current
			{
				[DebuggerHidden]
				get
				{
					return <>2__current;
				}
			}

			[DebuggerHidden]
			public <WFS>d__26(int <>1__state)
			{
				this.<>1__state = <>1__state;
			}

			[DebuggerHidden]
			void IDisposable.Dispose()
			{
				<>1__state = -2;
			}

			private bool MoveNext()
			{
				//IL_0027: Unknown result type (might be due to invalid IL or missing references)
				//IL_0031: Expected O, but got Unknown
				switch (<>1__state)
				{
				default:
					return false;
				case 0:
					<>1__state = -1;
					<>2__current = (object)new WaitForSeconds(seconds);
					<>1__state = 1;
					return true;
				case 1:
					<>1__state = -1;
					return false;
				}
			}

			bool IEnumerator.MoveNext()
			{
				//ILSpy generated this explicit interface implementation from .override directive in MoveNext
				return this.MoveNext();
			}

			[DebuggerHidden]
			void IEnumerator.Reset()
			{
				throw new NotSupportedException();
			}
		}

		public static Color darkerColor = new Color(0.7f, 0.30745098f, 0.532549f);

		private bool menuOpen = true;

		private static Texture2D mainrender;

		public static Color clb = new Color(0.4745f, 0.6509f, 1f);

		public static Color cprp = new Color(0.9333f, 0.6667f, 1f);

		private Vector3 lookDirection = Vector3.forward;

		private Vector2 look;

		private int ModuleCount = 0;

		private bool oninit;

		public static KeyCode menubind = (KeyCode)277;

		public static KeyCode flybind = (KeyCode)102;

		private static bool setobjs;

		public float moveSpeed = 10f;

		public float verticalSpeed = 5f;

		public bool flyEnabled = true;

		private bool resetspeed = true;

		private bool resetgrav = true;

		private bool resetclimb = true;

		private float spawnCooldown = 0.05f;

		private float spawnTimer = 0f;

		private GameObject gurt;

		public float laserRange = 100f;

		private Item GrabbedItem;

		private void KH()
		{
			//IL_002a: Unknown result type (might be due to invalid IL or missing references)
			//IL_0034: Invalid comparison between Unknown and I4
			//IL_006d: Unknown result type (might be due to invalid IL or missing references)
			if (!Input.anyKey || !Input.anyKeyDown)
			{
				return;
			}
			if (!Settings.menurec)
			{
				if ((int)menubind == 277)
				{
					if (Input.GetKeyDown((KeyCode)277) || Input.GetKeyDown((KeyCode)256))
					{
						menuOpen = !menuOpen;
					}
				}
				else if (Input.GetKeyDown(menubind))
				{
					menuOpen = !menuOpen;
				}
			}
			if (Input.GetKeyDown((KeyCode)32) && (Object)(object)Character.localCharacter != (Object)null && Self.IJump)
			{
				((MonoBehaviourPun)Character.localCharacter).photonView.RPC("JumpRpc", (RpcTarget)0, new object[1] { false });
			}
		}

		private void Update()
		{
			//IL_001b: Unknown result type (might be due to invalid IL or missing references)
			//IL_0025: Expected O, but got Unknown
			//IL_01c7: Unknown result type (might be due to invalid IL or missing references)
			//IL_01ce: Expected O, but got Unknown
			//IL_0080: Unknown result type (might be due to invalid IL or missing references)
			//IL_00ca: Unknown result type (might be due to invalid IL or missing references)
			//IL_00a2: Unknown result type (might be due to invalid IL or missing references)
			//IL_00a3: Unknown result type (might be due to invalid IL or missing references)
			//IL_00ad: 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_00ec: Unknown result type (might be due to invalid IL or missing references)
			//IL_00ed: Unknown result type (might be due to invalid IL or missing references)
			//IL_00f7: 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_0166: Unknown result type (might be due to invalid IL or missing references)
			//IL_016c: Expected O, but got Unknown
			//IL_0174: Unknown result type (might be due to invalid IL or missing references)
			//IL_017a: Expected O, but got Unknown
			//IL_01a0: Unknown result type (might be due to invalid IL or missing references)
			//IL_01a6: Expected O, but got Unknown
			//IL_01a6: Unknown result type (might be due to invalid IL or missing references)
			//IL_01b1: Expected O, but got Unknown
			//IL_01b1: Expected O, but got Unknown
			KH();
			if (!oninit)
			{
				mainrender = new Texture2D(2, 2);
				for (int i = 0; i < ((Texture)mainrender).width; i++)
				{
					for (int j = 0; j < ((Texture)mainrender).height; j++)
					{
						mainrender.SetPixel(i, j, Color.black);
					}
				}
				KeyCode val = (KeyCode)277;
				if (Enum.TryParse<KeyCode>(PlayerPrefs.GetString("atlasmenubind", ((object)(KeyCode)(ref val)).ToString()), out KeyCode result))
				{
					menubind = result;
					Debug.Log((object)$"menu bind key: {menubind}");
				}
				val = (KeyCode)102;
				if (Enum.TryParse<KeyCode>(PlayerPrefs.GetString("atlasflightbind", ((object)(KeyCode)(ref val)).ToString()), out KeyCode result2))
				{
					flybind = result2;
					Debug.Log((object)$"fL>Ight bind key: {flybind}");
				}
				if (PlayerPrefs.GetString("seenvers") != "1.5.0")
				{
					Modal.OpenModal((HeaderModalOption)new DefaultHeaderModalOption("<color=#FF70C2>Atlas</color> 1.5.0", "Would you like to join the <color=#2457e5>discord</color>?"), (ModalContentOption)new ModalButtonsOption((Option[])(object)new Option[3]
					{
						new Option("Join", (Action)delegate
						{
							Application.OpenURL("https://discord.gg/YG9KPA7j2m");
						}),
						new Option("Not Now", (Action)null),
						new Option("Dont Show Again", (Action)delegate
						{
							PlayerPrefs.SetString("seenvers", "1.5.0");
						})
					}), (Action)null);
				}
				oninit = true;
			}
			if (PhotonNetwork.InRoom)
			{
				Hashtable val2 = new Hashtable();
				val2[(object)"AtlUser"] = PhotonNetwork.GetPing();
				PhotonNetwork.LocalPlayer.SetCustomProperties(val2, (Hashtable)null, (WebFlags)null);
			}
		}

		internal static Vector3 LookToEuler(Vector2 lookRotationValues)
		{
			//IL_0001: Unknown result type (might be due to invalid IL or missing references)
			//IL_0008: Unknown result type (might be due to invalid IL or missing references)
			//IL_0013: Unknown result type (might be due to invalid IL or missing references)
			//IL_0018: Unknown result type (might be due to invalid IL or missing references)
			//IL_001b: Unknown result type (might be due to invalid IL or missing references)
			return new Vector3(0f - lookRotationValues.y, lookRotationValues.x, 0f);
		}

		internal static Vector3 EulerToDirection(Vector3 euler, Vector3 targetDir)
		{
			//IL_0001: Unknown result type (might be due to invalid IL or missing references)
			//IL_0002: Unknown result type (might be due to invalid IL or missing references)
			//IL_0007: Unknown result type (might be due to invalid IL or missing references)
			//IL_0008: Unknown result type (might be due to invalid IL or missing references)
			//IL_000d: Unknown result type (might be due to invalid IL or missing references)
			//IL_0010: Unknown result type (might be due to invalid IL or missing references)
			return Quaternion.Euler(euler) * targetDir;
		}

		internal static Vector3 LookToDirection(Vector3 look, Vector3 targetDir)
		{
			//IL_0001: Unknown result type (might be due to invalid IL or missing references)
			//IL_0002: Unknown result type (might be due to invalid IL or missing references)
			//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_000d: Unknown result type (might be due to invalid IL or missing references)
			//IL_0012: Unknown result type (might be due to invalid IL or missing references)
			//IL_0015: Unknown result type (might be due to invalid IL or missing references)
			return EulerToDirection(LookToEuler(Vector2.op_Implicit(look)), targetDir);
		}

		[IteratorStateMachine(typeof(<WFS>d__26))]
		public IEnumerator WFS(float seconds)
		{
			//yield-return decompiler failed: Unexpected instruction in Iterator.Dispose()
			return new <WFS>d__26(0)
			{
				<>4__this = this,
				seconds = seconds
			};
		}

		public static void NewNotification(string the)
		{
			//IL_0001: Unknown result type (might be due to invalid IL or missing references)
			//IL_0006: Unknown result type (might be due to invalid IL or missing references)
			//IL_0086: Unknown result type (might be due to invalid IL or missing references)
			//IL_008c: Unknown result type (might be due to invalid IL or missing references)
			Scene activeScene = SceneManager.GetActiveScene();
			if (!(((Scene)(ref activeScene)).name != "MainMenu"))
			{
				return;
			}
			PlayerConnectionLog val = Object.FindFirstObjectByType<PlayerConnectionLog>();
			if ((Object)(object)val == (Object)null)
			{
				return;
			}
			MethodInfo method = typeof(PlayerConnectionLog).GetMethod("AddMessage", BindingFlags.Instance | BindingFlags.NonPublic);
			if (method != null)
			{
				method.Invoke(val, new object[1] { the });
				if (Object.op_Implicit((Object)(object)val.sfxJoin))
				{
					val.sfxJoin.Play(default(Vector3));
				}
			}
			else
			{
				Debug.LogWarning((object)"AddMessage method not found.");
			}
		}

		public static void NewDebugNotif(string the)
		{
			if (Settings.debugnotifs)
			{
				NewNotification("<color=#8765ca>[Atlas] " + the + "</color>");
			}
		}

		private void FixedUpdate()
		{
			//IL_000b: Unknown result type (might be due to invalid IL or missing references)
			//IL_0011: Expected O, but got Unknown
			if (PhotonNetwork.InRoom)
			{
				Hashtable val = new Hashtable();
				val[(object)"AtlUser"] = PhotonNetwork.GetPing();
				PhotonNetwork.LocalPlayer.SetCustomProperties(val, (Hashtable)null, (WebFlags)null);
			}
		}

		private string GenerateGarbageText()
		{
			StringBuilder stringBuilder = new StringBuilder();
			int num = Random.Range(32, 128);
			for (int i = 0; i < num; i++)
			{
				stringBuilder.Append((char)Random.Range(9472, 9983));
				if (Random.value > 0.8f)
				{
					stringBuilder.Append((char)Random.Range(8192, 8303));
				}
				if (Random.value > 0.95f)
				{
					stringBuilder.Append("\ufffd");
				}
			}
			return stringBuilder.ToString();
		}

		private void OnGUI()
		{
			//IL_000d: Unknown result type (might be due to invalid IL or missing references)
			//IL_0019: Unknown result type (might be due to invalid IL or missing references)
			//IL_004c: Expected O, but got Unknown
			//IL_0047: Unknown result type (might be due to invalid IL or missing references)
			//IL_004c: Unknown result type (might be due to invalid IL or missing references)
			//IL_006c: Unknown result type (might be due to invalid IL or missing references)
			//IL_0071: 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_00ea: Unknown result type (might be due to invalid IL or missing references)
			//IL_00ef: Unknown result type (might be due to invalid IL or missing references)
			//IL_00f7: Unknown result type (might be due to invalid IL or missing references)
			//IL_00a9: Unknown result type (might be due to invalid IL or missing references)
			//IL_0139: Unknown result type (might be due to invalid IL or missing references)
			//IL_0148: Unknown result type (might be due to invalid IL or missing references)
			//IL_0207: Unknown result type (might be due to invalid IL or missing references)
			//IL_0216: Unknown result type (might be due to invalid IL or missing references)
			//IL_0220: Unknown result type (might be due to invalid IL or missing references)
			//IL_01e4: Unknown result type (might be due to invalid IL or missing references)
			//IL_01e9: Unknown result type (might be due to invalid IL or missing references)
			//IL_0256: Unknown result type (might be due to invalid IL or missing references)
			//IL_0263: Unknown result type (might be due to invalid IL or missing references)
			//IL_035f: Unknown result type (might be due to invalid IL or missing references)
			//IL_036e: Unknown result type (might be due to invalid IL or missing references)
			//IL_0378: Unknown result type (might be due to invalid IL or missing references)
			//IL_0552: Unknown result type (might be due to invalid IL or missing references)
			//IL_0561: Unknown result type (might be due to invalid IL or missing references)
			//IL_056b: Unknown result type (might be due to invalid IL or missing references)
			//IL_0570: Unknown result type (might be due to invalid IL or missing references)
			//IL_0575: Unknown result type (might be due to invalid IL or missing references)
			//IL_0586: Unknown result type (might be due to invalid IL or missing references)
			//IL_0588: Unknown result type (might be due to invalid IL or missing references)
			//IL_05c0: Unknown result type (might be due to invalid IL or missing references)
			//IL_05d4: Unknown result type (might be due to invalid IL or missing references)
			//IL_04b2: Unknown result type (might be due to invalid IL or missing references)
			//IL_04c1: Unknown result type (might be due to invalid IL or missing references)
			//IL_04cb: Unknown result type (might be due to invalid IL or missing references)
			//IL_04d0: Unknown result type (might be due to invalid IL or missing references)
			//IL_04dd: Unknown result type (might be due to invalid IL or missing references)
			//IL_0417: Unknown result type (might be due to invalid IL or missing references)
			//IL_0426: Unknown result type (might be due to invalid IL or missing references)
			//IL_0430: Unknown result type (might be due to invalid IL or missing references)
			//IL_0435: Unknown result type (might be due to invalid IL or missing references)
			//IL_0442: Unknown result type (might be due to invalid IL or missing references)
			//IL_09a5: Unknown result type (might be due to invalid IL or missing references)
			//IL_09ac: Expected O, but got Unknown
			//IL_0926: Unknown result type (might be due to invalid IL or missing references)
			//IL_093a: Unknown result type (might be due to invalid IL or missing references)
			//IL_094e: Unknown result type (might be due to invalid IL or missing references)
			//IL_0953: Unknown result type (might be due to invalid IL or missing references)
			//IL_08a3: Unknown result type (might be due to invalid IL or missing references)
			//IL_08b7: Unknown result type (might be due to invalid IL or missing references)
			//IL_09df: Unknown result type (might be due to invalid IL or missing references)
			//IL_09e4: Unknown result type (might be due to invalid IL or missing references)
			//IL_09e9: Unknown result type (might be due to invalid IL or missing references)
			//IL_09f3: Unknown result type (might be due to invalid IL or missing references)
			//IL_0a06: Unknown result type (might be due to invalid IL or missing references)
			//IL_0a14: Unknown result type (might be due to invalid IL or missing references)
			//IL_0a16: Unknown result type (might be due to invalid IL or missing references)
			//IL_0a23: Unknown result type (might be due to invalid IL or missing references)
			//IL_0a8b: Unknown result type (might be due to invalid IL or missing references)
			//IL_0a90: Unknown result type (might be due to invalid IL or missing references)
			//IL_0a95: Unknown result type (might be due to invalid IL or missing references)
			//IL_0a97: Unknown result type (might be due to invalid IL or missing references)
			//IL_0b5a: Unknown result type (might be due to invalid IL or missing references)
			//IL_0b5f: Unknown result type (might be due to invalid IL or missing references)
			//IL_0b71: Unknown result type (might be due to invalid IL or missing references)
			//IL_0b73: Unknown result type (might be due to invalid IL or missing references)
			//IL_0b78: Unknown result type (might be due to invalid IL or missing references)
			//IL_0b7a: Unknown result type (might be due to invalid IL or missing references)
			//IL_0ad3: Unknown result type (might be due to invalid IL or missing references)
			//IL_0ae6: Unknown result type (might be due to invalid IL or missing references)
			//IL_0aeb: Unknown result type (might be due to invalid IL or missing references)
			//IL_0c8c: Unknown result type (might be due to invalid IL or missing references)
			//IL_0c93: Unknown result type (might be due to invalid IL or missing references)
			//IL_0c98: Unknown result type (might be due to invalid IL or missing references)
			//IL_0c9d: Unknown result type (might be due to invalid IL or missing references)
			//IL_0cc2: Unknown result type (might be due to invalid IL or missing references)
			//IL_0cc7: Unknown result type (might be due to invalid IL or missing references)
			//IL_0cd2: Expected O, but got Unknown
			//IL_0cd2: Unknown result type (might be due to invalid IL or missing references)
			//IL_0cd7: Unknown result type (might be due to invalid IL or missing references)
			//IL_0ce2: Expected O, but got Unknown
			//IL_0d12: Unknown result type (might be due to invalid IL or missing references)
			//IL_0d26: Unknown result type (might be due to invalid IL or missing references)
			//IL_0d3d: Unknown result type (might be due to invalid IL or missing references)
			//IL_0d47: Expected O, but got Unknown
			//IL_0d42: Unknown result type (might be due to invalid IL or missing references)
			//IL_0d47: Unknown result type (might be due to invalid IL or missing references)
			//IL_0d52: Unknown result type (might be due to invalid IL or missing references)
			//IL_0d5c: Expected O, but got Unknown
			//IL_0d57: Unknown result type (might be due to invalid IL or missing references)
			//IL_0d5c: Unknown result type (might be due to invalid IL or missing references)
			//IL_0d82: Unknown result type (might be due to invalid IL or missing references)
			//IL_0d87: Unknown result type (might be due to invalid IL or missing references)
			//IL_0d8a: Unknown result type (might be due to invalid IL or missing references)
			//IL_0d91: Unknown result type (might be due to invalid IL or missing references)
			//IL_0de5: Unknown result type (might be due to invalid IL or missing references)
			//IL_0dee: Unknown result type (might be due to invalid IL or missing references)
			//IL_0df5: Unknown result type (might be due to invalid IL or missing references)
			//IL_0e05: Unknown result type (might be due to invalid IL or missing references)
			//IL_0e14: Unknown result type (might be due to invalid IL or missing references)
			//IL_0e38: Unknown result type (might be due to invalid IL or missing references)
			//IL_0e41: Unknown result type (might be due to invalid IL or missing references)
			//IL_0db0: Unknown result type (might be due to invalid IL or missing references)
			//IL_0db7: Unknown result type (might be due to invalid IL or missing references)
			//IL_0da3: Unknown result type (might be due to invalid IL or missing references)
			//IL_0f2c: Unknown result type (might be due to invalid IL or missing references)
			//IL_0f33: Unknown result type (might be due to invalid IL or missing references)
			//IL_0f41: Unknown result type (might be due to invalid IL or missing references)
			//IL_0f48: Unknown result type (might be due to invalid IL or missing references)
			//IL_0f5a: Unknown result type (might be due to invalid IL or missing references)
			//IL_0f61: Unknown result type (might be due to invalid IL or missing references)
			//IL_0f6e: Unknown result type (might be due to invalid IL or missing references)
			//IL_0f83: Unknown result type (might be due to invalid IL or missing references)
			//IL_0f8a: Unknown result type (might be due to invalid IL or missing references)
			//IL_0f98: Unknown result type (might be due to invalid IL or missing references)
			//IL_0f9f: Unknown result type (might be due to invalid IL or missing references)
			//IL_0fb1: Unknown result type (might be due to invalid IL or missing references)
			//IL_0fb8: Unknown result type (might be due to invalid IL or missing references)
			//IL_0fc5: Unknown result type (might be due to invalid IL or missing references)
			//IL_0e7d: Unknown result type (might be due to invalid IL or missing references)
			//IL_0e84: Unknown result type (might be due to invalid IL or missing references)
			//IL_0e92: Unknown result type (might be due to invalid IL or missing references)
			//IL_0e99: Unknown result type (might be due to invalid IL or missing references)
			//IL_0eab: Unknown result type (might be due to invalid IL or missing references)
			//IL_0eb2: Unknown result type (might be due to invalid IL or missing references)
			//IL_0ebf: Unknown result type (might be due to invalid IL or missing references)
			//IL_0ed4: Unknown result type (might be due to invalid IL or missing references)
			//IL_0edb: Unknown result type (might be due to invalid IL or missing references)
			//IL_0ee9: Unknown result type (might be due to invalid IL or missing references)
			//IL_0ef0: Unknown result type (might be due to invalid IL or missing references)
			//IL_0f02: Unknown result type (might be due to invalid IL or missing references)
			//IL_0f09: Unknown result type (might be due to invalid IL or missing references)
			//IL_0f16: Unknown result type (might be due to invalid IL or missing references)
			//IL_0dc9: Unknown result type (might be due to invalid IL or missing references)
			if (menuOpen)
			{
				MenuManager.windowRect = GUI.Window(0, MenuManager.windowRect, new WindowFunction(BuildMenu), "<color=#FF70C2>Atlas</color> [" + ((object)(KeyCode)(ref menubind)).ToString() + "] (1.5.0)", GUIStyle.op_Implicit("Box"));
			}
			RaycastHit val = default(RaycastHit);
			if (Self.ClickToTp && Input.GetMouseButtonDown(0) && PExt.Raycast(Camera.main.ScreenPointToRay(Input.mousePosition), ref val, HelperExtensions.ToLayerMask((LayerType)1), -1f))
			{
				((MonoBehaviourPun)Character.localCharacter).photonView.RPC("WarpPlayerRPC", (RpcTarget)0, new object[2]
				{
					((RaycastHit)(ref val)).point,
					true
				});
			}
			RaycastHit val2 = default(RaycastHit);
			if (Lobby.PingWithAll && Input.GetMouseButton(2) && PExt.Raycast(Camera.main.ScreenPointToRay(Input.mousePosition), ref val2, HelperExtensions.ToLayerMask((LayerType)1), -1f))
			{
				PointPinger[] array = Object.FindObjectsOfType<PointPinger>();
				foreach (PointPinger val3 in array)
				{
					((Component)val3).GetComponent<PhotonView>().RPC("ReceivePoint_Rpc", (RpcTarget)0, new object[2]
					{
						((RaycastHit)(ref val2)).point,
						((RaycastHit)(ref val2)).normal
					});
				}
			}
			if (Self.NoR)
			{
				Character.localCharacter.data.fallSeconds = 0f;
			}
			if (Visual.Watermark)
			{
				Watermark.Draw();
			}
			if (Visual.Boxes)
			{
			}
			if (Spawn.FlagGun && Input.GetMouseButton(0))
			{
				if ((Object)(object)gurt == (Object)null)
				{
					gurt = PhotonNetwork.Instantiate("0_Items/Flag_Plantable_Seagull", Vector3.zero, Quaternion.identity, (byte)0, (object[])null);
				}
				Ray val4 = default(Ray);
				((Ray)(ref val4))..ctor(((Component)Camera.main).transform.position, ((Component)Camera.main).transform.forward);
				RaycastHit val5 = default(RaycastHit);
				if (Physics.Raycast(val4, ref val5, laserRange))
				{
					((MonoBehaviourPun)gurt.GetComponent<Constructable>()).photonView.RPC("CreatePrefabRPC", (RpcTarget)0, new object[2]
					{
						((RaycastHit)(ref val5)).point,
						Quaternion.identity
					});
				}
			}
			if (Self.Deaggro)
			{
				BeeSwarm[] array2 = Object.FindObjectsOfType<BeeSwarm>();
				foreach (BeeSwarm val6 in array2)
				{
					if ((Object)(object)val6.currentAggroCharacter == (Object)(object)Character.localCharacter)
					{
						((MonoBehaviourPun)val6).photonView.RPC("DisperseRPC", (RpcTarget)0, new object[0]);
					}
				}
			}
			if (Self.testting && Input.GetKeyDown((KeyCode)103))
			{
				if (((Behaviour)((Component)Character.localCharacter).GetComponent<CharacterMovement>()).enabled)
				{
					((Behaviour)((Component)Character.localCharacter).GetComponent<CharacterMovement>()).enabled = false;
				}
				else
				{
					((Behaviour)((Component)Character.localCharacter).GetComponent<CharacterMovement>()).enabled = true;
				}
			}
			if (Spawn.GravityGun && Input.GetKey((KeyCode)102))
			{
				Ray val7 = default(Ray);
				((Ray)(ref val7))..ctor(((Component)Camera.main).transform.position, ((Component)Camera.main).transform.forward);
				RaycastHit val8 = default(RaycastHit);
				if (Physics.Raycast(val7, ref val8, laserRange))
				{
					Debug.Log((object)("ray hit: " + ((Object)((RaycastHit)(ref val8)).collider).name));
					Item componentInParent = ((Component)((RaycastHit)(ref val8)).collider).GetComponentInParent<Item>();
					if ((Object)(object)componentInParent != (Object)null && (Object)(object)((MonoBehaviourPun)componentInParent).photonView != (Object)null)
					{
						Debug.Log((object)"im nut");
						GrabbedItem = componentInParent;
						((MonoBehaviourPun)componentInParent).photonView.RPC("SetKinematicRPC", (RpcTarget)0, new object[3]
						{
							true,
							((Component)Camera.main).transform.position + ((Component)Camera.main).transform.forward * 6f,
							Quaternion.identity
						});
					}
					else
					{
						Debug.Log((object)"no itm or pv");
					}
				}
				else
				{
					Debug.Log((object)"hit nothing");
				}
				if ((Object)(object)GrabbedItem != (Object)null)
				{
					((MonoBehaviourPun)GrabbedItem).photonView.RPC("SetKinematicRPC", (RpcTarget)0, new object[3]
					{
						true,
						((Component)Camera.main).transform.position + ((Component)Camera.main).transform.forward * 6f,
						Quaternion.identity
					});
				}
			}
			if (Spawn.DrawItem)
			{
				if (Input.GetMouseButton(0))
				{
					spawnTimer -= Time.deltaTime;
					if (spawnTimer <= 0f)
					{
						spawnTimer = spawnCooldown;
						Vector3 val9 = ((Component)Camera.main).transform.position + ((Component)Camera.main).transform.forward * 2f;
						Item component = PhotonNetwork.Instantiate("0_Items/" + Spawn.SItemName, val9, Quaternion.identity, (byte)0, (object[])null).GetComponent<Item>();
						((MonoBehaviourPun)component).photonView.RPC("SetKinematicRPC", (RpcTarget)0, new object[3]
						{
							true,
							((Component)component).transform.position,
							((Component)component).transform.rotation
						});
					}
				}
				else
				{
					spawnTimer = 0f;
				}
			}
			if (Self.Noclip)
			{
				Collider[] array3 = Object.FindObjectsOfType<Collider>();
				foreach (Collider val10 in array3)
				{
					if (val10.enabled)
					{
						val10.enabled = false;
					}
					setobjs = false;
				}
			}
			else if (!setobjs)
			{
				Collider[] array4 = Object.FindObjectsOfType<Collider>();
				foreach (Collider val11 in array4)
				{
					if (!val11.enabled)
					{
						val11.enabled = true;
					}
				}
				setobjs = true;
			}
			if (Self.CClimbSpeed)
			{
				Character.localCharacter.refs.climbing.climbSpeedMod = Self.ClimbSpeed;
				Character.localCharacter.refs.vineClimbing.climbSpeedMod = Self.ClimbSpeed;
				Character.localCharacter.refs.ropeHandling.climbSpeedMod = Self.ClimbSpeed;
				resetclimb = false;
			}
			else if (!resetclimb)
			{
				Character.localCharacter.refs.climbing.climbSpeedMod = 1f;
				Character.localCharacter.refs.vineClimbing.climbSpeedMod = 1f;
				Character.localCharacter.refs.ropeHandling.climbSpeedMod = 1f;
				resetclimb = true;
			}
			if (Self.IStamina)
			{
				Character.localCharacter.data.currentStamina = 1f;
			}
			if (Self.CSpeed)
			{
				Character.localCharacter.refs.movement.movementModifier = Self.MovementSpeed;
				resetspeed = false;
			}
			else if (!resetspeed)
			{
				Character.localCharacter.refs.movement.movementModifier = 1f;
				resetspeed = true;
			}
			if (Self.CJumpGrav)
			{
				Character.localCharacter.refs.movement.jumpGravity = Self.JumpGrav;
				resetgrav = false;
			}
			else if (!resetgrav)
			{
				Character.localCharacter.refs.movement.jumpGravity = 10f;
				resetgrav = true;
			}
			if (Spawn.FreezeItems && !Spawn.SpinItems)
			{
				Item[] array5 = Object.FindObjectsOfType<Item>();
				foreach (Item val12 in array5)
				{
					((MonoBehaviourPun)val12).photonView.RPC("SetKinematicRPC", (RpcTarget)0, new object[3]
					{
						true,
						((Component)val12).transform.position,
						((Component)val12).transform.rotation
					});
				}
			}
			if (Spawn.SpinItems)
			{
				Item[] array6 = Object.FindObjectsOfType<Item>();
				foreach (Item val13 in array6)
				{
					((MonoBehaviourPun)val13).photonView.RPC("SetKinematicRPC", (RpcTarget)0, new object[3]
					{
						Spawn.FreezeItems,
						((Component)val13).transform.position,
						((Component)val13).transform.rotation * Quaternion.Euler(0f, Spawn.SpinSpeed, 0f)
					});
				}
			}
			if (Self.CSpam)
			{
				Character.localCharacter.refs.customization.RandomizeCosmetics();
			}
			if (Visual.ItemTags)
			{
				GUIStyle val14 = new GUIStyle();
				Item[] array7 = Object.FindObjectsOfType<Item>();
				foreach (Item val15 in array7)
				{
					if ((Object)(object)val15 != (Object)null)
					{
						Vector3 val16 = Camera.main.WorldToScreenPoint(((Component)val15).transform.position);
						val16.y = (float)Screen.height - (val16.y + 1f);
						if (Render.IsOnScreen(val16))
						{
							Render.DrawString(Vector2.op_Implicit(val16), val15.GetItemName((ItemInstanceData)null), Color.green, center: true, 12, (FontStyle)1, 0);
						}
					}
				}
			}
			if (Visual.Tracers)
			{
				foreach (Character allCharacter in Character.AllCharacters)
				{
					if (((MonoBehaviourPun)allCharacter).photonView.IsMine)
					{
						continue;
					}
					Vector3 val17 = Render.ToScreen(allCharacter.Head);
					if (!Render.IsBehindCamera(val17))
					{
						float num2 = 0f;
						int num3 = 0;
						if (num3 % 2 == 0)
						{
							num2 += 0.01f;
						}
						num3++;
						Render.DrawLine(Render.GetRainbow(num2), new Vector3((float)(Screen.width / 2), (float)Screen.height), val17);
					}
				}
			}
			if (!Visual.PlayerTags)
			{
				return;
			}
			Vector2 val22 = default(Vector2);
			foreach (Character allCharacter2 in Character.AllCharacters)
			{
				if (((MonoBehaviourPun)allCharacter2).photonView.IsMine)
				{
					continue;
				}
				Vector3 head = allCharacter2.Head;
				head.y += 0.5f;
				Vector3 val18 = Render.ToScreen(head);
				if (Render.IsBehindCamera(val18))
				{
					continue;
				}
				string text;
				if (((Dictionary<object, object>)(object)allCharacter2.refs.view.Owner.CustomProperties).ContainsKey((object)"AtlUser"))
				{
					text = "Name [" + allCharacter2.refs.view.Owner.NickName + "] [Atlas]";
				}
				else
				{
					text = "Name [" + allCharacter2.refs.view.Owner.NickName + "]";
				}
				text = ((!((Dictionary<object, object>)(object)allCharacter2.refs.view.Owner.CustomProperties).ContainsKey((object)"CherryUser")) ? ("Name [" + allCharacter2.refs.view.Owner.NickName + "]") : ("Name [" + allCharacter2.refs.view.Owner.NickName + "] <color=#c53637>[Cherry]</color>"));
				Vector3 val19 = Character.localCharacter.Head - allCharacter2.Head;
				string text2 = "Distance [" + Math.Round(((Vector3)(ref val19)).magnitude, 1) + "]";
				GUIStyle val20 = new GUIStyle
				{
					fontSize = 10
				};
				GUIStyle val21 = new GUIStyle
				{
					fontSize = 10
				};
				float num4 = 0f;
				int num5 = 0;
				if (num5 % 2 == 0)
				{
					num4 += 0.01f;
				}
				num5++;
				val20.normal.textColor = Color.white;
				val21.normal.textColor = Render.GetRainbow(num4);
				Vector2[] array8 = (Vector2[])(object)new Vector2[2]
				{
					val20.CalcSize(new GUIContent(text)),
					val20.CalcSize(new GUIContent(text2))
				};
				((Vector2)(ref val22))..ctor(0f, 0f);
				Vector2[] array9 = array8;
				foreach (Vector2 val23 in array9)
				{
					if (val23.x > val22.x)
					{
						val22.x = val23.x;
					}
					if (val23.y > val22.y)
					{
						val22.y = val23.y;
					}
				}
				float x = val18.x;
				float num7 = val18.y + (val22.y + 5f);
				float width = val22.x + 10f;
				float height = val22.y * (float)array8.Length + 5f;
				Render.DrawBox(new Color(0.15f, 0.15f, 0.15f), new Vector2(x, num7), width, height);
				int num8 = 1;
				if (((Dictionary<object, object>)(object)allCharacter2.refs.view.Owner.CustomProperties).ContainsKey((object)"AtlUser"))
				{
					GUI.Label(new Rect(val18.x - val22.x / 2f, val18.y + val22.y / 2f * (float)num8, val22.x, val22.y * 1.5f), text, val21);
					num8 += 2;
					GUI.Label(new Rect(val18.x - val22.x / 2f, val18.y + val22.y / 2f * (float)num8, val22.x, val22.y * 1.5f), text2, val20);
				}
				else
				{
					GUI.Label(new Rect(val18.x - val22.x / 2f, val18.y + val22.y / 2f * (float)num8, val22.x, val22.y * 1.5f), text, val20);
					num8 += 2;
					GUI.Label(new Rect(val18.x - val22.x / 2f, val18.y + val22.y / 2f * (float)num8, val22.x, val22.y * 1.5f), text2, val20);
				}
			}
		}

		public void Start()
		{
			//IL_0027: Unknown result type (might be due to invalid IL or missing references)
			//IL_002c: Unknown result type (might be due to invalid IL or missing references)
			int num = 750;
			int num2 = 500;
			int num3 = 200;
			int num4 = Screen.height / 2 - num2 / 2;
			MenuManager.windowRect = new Rect((float)num3, (float)num4, (float)num, (float)num2);
			menuOpen = true;
		}

		private static void Draw(Rect size, Color color, float r)
		{
			//IL_0005: Unknown result type (might be due to invalid IL or missing references)
			//IL_0020: Unknown result type (might be due to invalid IL or missing references)
			for (int i = 0; i < 5; i++)
			{
				GUI.DrawTexture(size, (Texture)(object)mainrender, (ScaleMode)Type.EmptyTypes.Length, Type.EmptyTypes.Length != 0, 0f, color, 0f, r);
			}
		}

		private static void Draw(Rect size, Color color, Vector4 radius)
		{
			//IL_0005: Unknown result type (might be due to invalid IL or missing references)
			//IL_0020: Unknown result type (might be due to invalid IL or missing references)
			//IL_0021: Unknown result type (might be due to invalid IL or missing references)
			//IL_0026: Unknown result type (might be due to invalid IL or missing references)
			for (int i = 0; i < 5; i++)
			{
				GUI.DrawTexture(size, (Texture)(object)mainrender, (ScaleMode)Type.EmptyTypes.Length, Type.EmptyTypes.Length != 0, 0f, color, Vector4.zero, radius);
			}
		}

		private static void BuildMenu(int _)
		{
			//IL_002b: 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: Expected O, but got Unknown
			//IL_00d6: Unknown result type (might be due to invalid IL or missing references)
			//IL_009c: Unknown result type (might be due to invalid IL or missing references)
			//IL_00a1: 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_01be: Unknown result type (might be due to invalid IL or missing references)
			GUILayout.BeginArea(new Rect(15f, 15f, ((Rect)(ref MenuManager.windowRect)).width - 15f, ((Rect)(ref MenuManager.windowRect)).height - 15f));
			GUILayout.Space(5f);
			GUILayout.BeginHorizontal(Array.Empty<GUILayoutOption>());
			GUILayout.BeginVertical((GUILayoutOption[])(object)new GUILayoutOption[1] { GUILayout.Width(150f) });
			for (int i = 0; i < MenuManager.tabs.Length; i++)
			{
				bool flag = MenuManager.currentTab == i;
				string text = MenuManager.tabs[i];
				GUIStyle val = new GUIStyle(GUIStyle.op_Implicit("Box"));
				if (flag)
				{
					val.normal.textColor = Color.Lerp(clb, cprp, Mathf.PingPong(Time.time * 0.5f, 2f) / 2f);
				}
				else
				{
					val.normal.textColor = darkerColor;
				}
				if (GUILayout.Toggle(flag, text ?? "", val, Array.Empty<GUILayoutOption>()))
				{
					MenuManager.currentTab = i;
				}
			}
			GUILayout.EndVertical();
			GUILayout.BeginVertical(Array.Empty<GUILayoutOption>());
			switch (MenuManager.currentTab)
			{
			case 0:
				Self.Tab();
				break;
			case 1:
				Lobby.Tab();
				break;
			case 2:
				Spawn.Tab();
				break;
			case 3:
				Visual.Tab();
				break;
			case 4:
				Players.Tab();
				break;
			case 5:
				Settings.Tab();
				break;
			default:
				Self.Tab();
				break;
			}
			GUILayout.EndVertical();
			GUILayout.EndHorizontal();
			GUILayout.EndArea();
			GUI.DragWindow(new Rect(0f, 0f, ((Rect)(ref MenuManager.windowRect)).width, 20f));
		}
	}
	public class Watermark : MonoBehaviour
	{
		public static void Draw()
		{
			//IL_001b: Unknown result type (might be due to invalid IL or missing references)
			//IL_0020: Unknown result type (might be due to invalid IL or missing references)
			//IL_00d2: Unknown result type (might be due to invalid IL or missing references)
			//IL_00d8: Expected O, but got Unknown
			//IL_006e: Unknown result type (might be due to invalid IL or missing references)
			//IL_0074: Expected O, but got Unknown
			//IL_00e3: Unknown result type (might be due to invalid IL or missing references)
			//IL_00e8: 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_00f9: Expected O, but got Unknown
			//IL_00fb: Unknown result type (might be due to invalid IL or missing references)
			//IL_0149: Unknown result type (might be due to invalid IL or missing references)
			//IL_014e: Unknown result type (might be due to invalid IL or missing references)
			//IL_016f: Unknown result type (might be due to invalid IL or missing references)
			string text = DateTime.Now.ToString("hh:mm:ss tt");
			Render render = new Render
			{
				DefaultColor = Color.white
			};
			GUIContent val = ((Visual.ActiveModules.Count != 0) ? new GUIContent("<b><color=#FF70C2>Atlas</color></b> v1.5.0 | " + text + " [" + PhotonNetwork.LocalPlayer.NickName + "]" + " [" + Visual.ActiveModules.Count + "]") : new GUIContent("<b><color=#FF70C2>Atlas</color></b> v1.5.0 | " + text + " [" + PhotonNetwork.LocalPlayer.NickName + "]"));
			GUIStyle val2 = new GUIStyle(GUIStyle.op_Implicit("Label"))
			{
				wordWrap = false,
				alignment = (TextAnchor)4
			};
			float num = val2.CalcSize(val).x + 20f;
			float num2 = 30f;
			Vector2 val3 = default(Vector2);
			((Vector2)(ref val3))..ctor(num / 2f + 20f, num2 / 2f + 20f);
			render.DrawTransparent(new Rect(30f, 30f, num, 30f), Color.black, 6f);
			GUI.Label(new Rect(31f, 30f, num, 30f), val, val2);
		}
	}
}
namespace AtlasPeak.Tabs
{
	public class Lobby : MonoBehaviour
	{
		public static bool IncludeSelf;

		public static bool PingWithAll;

		public static bool test;

		private static Vector2 ScrollPos;

		public static float FireWoodCount;

		public static void Tab()
		{
			//IL_0012: 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_003c: Unknown result type (might be due to invalid IL or missing references)
			MenuManager.Begin();
			MenuManager.NewSection("Lobby");
			ScrollPos = GUILayout.BeginScrollView(ScrollPos, (GUILayoutOption[])(object)new GUILayoutOption[2]
			{
				GUILayout.Width(275f),
				GUILayout.Height(400f)
			});
			MenuManager.NewButton("Teleport All", delegate
			{
				TPAll();
			});
			MenuManager.NewButton("Destroy All", delegate
			{
				dall();
			});
			MenuManager.NewButton("Revive All And TP To Me", delegate
			{
				RevAllAndTPToMe();
			});
			MenuManager.NewButton("Spawn Character", delegate
			{
				SChar();
			});
			MenuManager.NewButton("Spawn Player", delegate
			{
				SPlayer();
			});
			MenuManager.NewButton("Load Airport [In Game]", delegate
			{
				LoadAirport();
			});
			MenuManager.NewButton("Softlock All", delegate
			{
				SoftLockPlayers();
			});
			MenuManager.NewButton("Force All Done With End Screen", ForceAllDone);
			MenuManager.NewButton("Detach All Ropes", DetachRopes);
			MenuManager.NewButton("Refresh All Character Weight", RefrshAll);
			MenuManager.NewButton("Light Campfire", delegate
			{
				ToglCampfir(v: true);
			});
			MenuManager.NewButton("Extinguish Campfire", delegate
			{
				ToglCampfir(v: false);
			});
			MenuManager.NewButton("Light All Lanterns", delegate
			{
				LightLanterns(v: true);
			});
			MenuManager.NewButton("Snuff All Lanterns", delegate
			{
				LightLanterns(v: false);
			});
			FireWoodCount = Mathf.Round(MenuManager.NewSlider("Fire Wood Amount", FireWoodCount, 0f, 200f));
			MenuManager.NewButton("Set Campfire Fire Wood Amount", SetWoodAmt);
			MenuManager.NewButton("Make All Icecicles Fall", IcecicleFall);
			MenuManager.NewButton("Make All Bridges Fall", IcecicleFall);
			MenuManager.NewButton("Fire All Arrow Shooters", FireAllArrows);
			MenuManager.NewButton("Flip All Guidebook Pages Left", FlipgbPageLeft);
			MenuManager.NewButton("Flip All Guidebook Pages Right", FlipgbPageRight);
			MenuManager.NewButton("Unlock BingBong Achievement", delegate
			{
				ThrowAchievement(1);
			});
			MenuManager.NewButton("Unlock Emergency Achievement", delegate
			{
				ThrowAchievement(2);
			});
			MenuManager.NewButton("Open All Luggages", delegate
			{
				openluggages(v: true);
			});
			MenuManager.NewButton("Open All Luggages Without Items", delegate
			{
				openluggages(v: false);
			});
			PingWithAll = MenuManager.NewToggle(PingWithAll, "Use Everyones Ping Pointer");
			IncludeSelf = MenuManager.NewToggle(IncludeSelf, "Include Self");
			MenuManager.NewButton("Kill All", KillAll);
			MenuManager.NewButton("Jump All", JumpAll);
			MenuManager.NewButton("Slip All", SlipAll);
			MenuManager.NewButton("Fling All", FlingAll);
			MenuManager.NewButton("BlackScreen All", BlackScreenAll);
			MenuManager.NewButton("Crouch All", CrouchAll);
			MenuManager.NewButton("Revive All", ReviveAll);
			MenuManager.NewButton("Revive All with Hunger & Curse", ReviveAllWCurse);
			MenuManager.NewButton("Pass Out All", PassOutAll);
			MenuManager.NewButton("UnPass Out All", UnPassOutAll);
			MenuManager.NewButton("Fall All", FallAll);
			MenuManager.NewButton("Full Stamina All", FullStamAll);
			MenuManager.NewButton("Take Ownership All", TakeOwnershipAll);
			MenuManager.NewButton("Destroy All", DestroyAll);
			MenuManager.NewButton("Empty All Slot 1", delegate
			{
				EmptySlot(0);
			});
			MenuManager.NewButton("Empty All Slot 2", delegate
			{
				EmptySlot(1);
			});
			MenuManager.NewButton("Empty All Slot 3", delegate
			{
				EmptySlot(2);
			});
			MenuManager.NewButton("Empty All Slots", delegate
			{
				EmptyAllSlots();
			});
			MenuManager.NewButton("Drop All Slots 1", delegate
			{
				DropSlot(0);
			});
			MenuManager.NewButton("Drop All Slots 2", delegate
			{
				DropSlot(1);
			});
			MenuManager.NewButton("Drop All Slots 3", delegate
			{
				DropSlot(2);
			});
			MenuManager.NewButton("Drop All Slots", delegate
			{
				DropAllSlots();
			});
			MenuManager.NewButton("Drop All Held Items", DropAllHeldItems);
			MenuManager.NewButton("Render All Dead", RenderAllDead);
			MenuManager.NewButton("Render All Passed Out", RenderAllPassedOut);
			MenuManager.NewButton("Request Item Pickup All", RequestAllItems);
			MenuManager.NewButton("Swarm Bees All", beezall);
			MenuManager.NewButton("Add 0.1 Injury", delegate
			{
				addinj(0);
			});
			MenuManager.NewButton("Add 0.1 Hunger", delegate
			{
				addinj(1);
			});
			MenuManager.NewButton("Add 0.1 Cold", delegate
			{
				addinj(2);
			});
			MenuManager.NewButton("Add 0.1 Poison", delegate
			{
				addinj(3);
			});
			MenuManager.NewButton("Add 0.1 Crab", delegate
			{
				addinj(4);
			});
			MenuManager.NewButton("Add 0.1 Curse", delegate
			{
				addinj(5);
			});
			MenuManager.NewButton("Add 0.1 Drowsy", delegate
			{
				addinj(6);
			});
			MenuManager.NewButton("Add 0.1 Weight", delegate
			{
				addinj(7);
			});
			MenuManager.NewButton("Add 0.1 Hot", delegate
			{
				addinj(8);
			});
			MenuManager.NewButton("Remove 0.1 Injury", delegate
			{
				removinj(0);
			});
			MenuManager.NewButton("Remove 0.1 Hunger", delegate
			{
				removinj(1);
			});
			MenuManager.NewButton("Remove 0.1 Cold", delegate
			{
				removinj(2);
			});
			MenuManager.NewButton("Remove 0.1 Poison", delegate
			{
				removinj(3);
			});
			MenuManager.NewButton("Remove 0.1 Crab", delegate
			{
				removinj(4);
			});
			MenuManager.NewButton("Remove 0.1 Curse", delegate
			{
				removinj(5);
			});
			MenuManager.NewButton("Remove 0.1 Drowsy", delegate
			{
				removinj(6);
			});
			MenuManager.NewButton("Remove 0.1 Weight", delegate
			{
				removinj(7);
			});
			MenuManager.NewButton("Remove 0.1 Hot", delegate
			{
				removinj(8);
			});
			MenuManager.NewButton("Clear All Statuses", delegate
			{
				clearallthins();
			});
			MenuManager.NewButton("Grow Vine On All", delegate
			{
				GrowVine();
			});
			GUILayout.EndScrollView();
			MenuManager.Separate();
			MenuManager.NewSection("Information");
			MenuManager.NewLabel("Count Of Rooms: " + PhotonNetwork.CountOfRooms);
			MenuManager.NewLabel("Players In Rooms: " + PhotonNetwork.CountOfPlayersInRooms);
			MenuManager.NewLabel("Ping: " + PhotonNetwork.GetPing());
			MenuManager.End();
		}

		private static void dall()
		{
			//IL_001e: Unknown result type (might be due to invalid IL or missing references)
			PhotonNetwork.SetMasterClient(PhotonNetwork.LocalPlayer);
			PhotonView[] array = Object.FindObjectsOfType<PhotonView>();
			foreach (PhotonView val in array)
			{
				val.OwnershipTransfer = (OwnershipOption)2;
				val.OwnerActorNr = PhotonNetwork.LocalPlayer.ActorNumber;
				val.ControllerActorNr = PhotonNetwork.LocalPlayer.ActorNumber;
				val.RequestOwnership();
				val.TransferOwnership(PhotonNetwork.LocalPlayer);
				PhotonNetwork.Destroy(val);
			}
			PhotonNetwork.DestroyAll();
		}

		private static void LightLanterns(bool v)
		{
			Lantern[] array = Object.FindObjectsOfType<Lantern>();
			foreach (Lantern val in array)
			{
				((MonoBehaviourPun)val).photonView.RPC("LightLanternRPC", (RpcTarget)0, new object[1] { v });
			}
		}

		private static void GrowVine()
		{
			//IL_003b: Unknown result type (might be due to invalid IL or missing references)
			//IL_0048: Unknown result type (might be due to invalid IL or missing references)
			//IL_00d0: Unknown result type (might be due to invalid IL or missing references)
			//IL_00dd: Unknown result type (might be due to invalid IL or missing references)
			if (IncludeSelf)
			{
				foreach (Character allCharacter in Character.AllCharacters)
				{
					((MonoBehaviourPun)Object.FindObjectOfType<MagicBean>()).photonView.RPC("GrowVineRPC", (RpcTarget)0, new object[3]
					{
						allCharacter.Head,
						Random.onUnitSphere,
						10f
					});
				}
				return;
			}
			foreach (Character allCharacter2 in Character.AllCharacters)
			{
				if (!((MonoBehaviourPun)allCharacter2).photonView.IsMine)
				{
					((MonoBehaviourPun)Object.FindObjectOfType<MagicBean>()).photonView.RPC("GrowVineRPC", (RpcTarget)0, new object[3]
					{
						allCharacter2.Head,
						Random.onUnitSphere,
						10f
					});
				}
			}
		}

		private static void FireAllArrows()
		{
			ArrowShooter[] array = Object.FindObjectsOfType<ArrowShooter>();
			foreach (ArrowShooter val in array)
			{
				((MonoBehaviourPun)val).photonView.RPC("FireArrow_RPC", (RpcTarget)0, new object[0]);
			}
		}

		private static void SoftLockPlayers()
		{
			((MonoBehaviourPun)Object.FindObjectOfType<AirportCheckInKiosk>()).photonView.RPC("BeginIslandLoadRPC", (RpcTarget)0, new object[2] { "Pretitle", 7 });
		}

		private static void clearallthins()
		{
			if (IncludeSelf)
			{
				foreach (Character allCharacter in Character.AllCharacters)
				{
					float[] array = new float[9] { 0f, 0f, 0f, 0f, 0f, 0f, 0f, 0f, 0f };
					((MonoBehaviourPun)allCharacter).photonView.RPC("ApplyStatusesFromFloatArrayRPC", (RpcTarget)0, new object[1] { array });
				}
				return;
			}
			foreach (Character allCharacter2 in Character.AllCharacters)
			{
				if (!((MonoBehaviourPun)allCharacter2).photonView.IsMine)
				{
					float[] array2 = new float[9] { 0f, 0f, 0f, 0f, 0f, 0f, 0f, 0f, 0f };
					((MonoBehaviourPun)allCharacter2).photonView.RPC("ApplyStatusesFromFloatArrayRPC", (RpcTarget)0, new object[1] { array2 });
				}
			}
		}

		private static void removinj(int type)
		{
			if (IncludeSelf)
			{
				foreach (Character allCharacter in Character.AllCharacters)
				{
					float[] array = new float[9];
					if (type == 0)
					{
						array[0] = allCharacter.refs.afflictions.currentStatuses[0] - 0.1f;
						array[1] = allCharacter.refs.afflictions.currentStatuses[1];
						array[2] = allCharacter.refs.afflictions.currentStatuses[2];
						array[3] = allCharacter.refs.afflictions.currentStatuses[3];
						array[4] = allCharacter.refs.afflictions.currentStatuses[4];
						array[5] = allCharacter.refs.afflictions.currentStatuses[5];
						array[6] = allCharacter.refs.afflictions.currentStatuses[6];
						array[7] = allCharacter.refs.afflictions.currentStatuses[7];
						array[8] = allCharacter.refs.afflictions.currentStatuses[8];
						((MonoBehaviourPun)allCharacter).photonView.RPC("ApplyStatusesFromFloatArrayRPC", (RpcTarget)0, new object[1] { array });
					}
					if (type == 1)
					{
						array[0] = allCharacter.refs.afflictions.currentStatuses[0];
						array[1] = allCharacter.refs.afflictions.currentStatuses[1] - 0.1f;
						array[2] = allCharacter.refs.afflictions.currentStatuses[2];
						array[3] = allCharacter.refs.afflictions.currentStatuses[3];
						array[4] = allCharacter.refs.afflictions.currentStatuses[4];
						array[5] = allCharacter.refs.afflictions.currentStatuses[5];
						array[6] = allCharacter.refs.afflictions.currentStatuses[6];
						array[7] = allCharacter.refs.afflictions.currentStatuses[7];
						array[8] = allCharacter.refs.afflictions.currentStatuses[8];
						((MonoBehaviourPun)allCharacter).photonView.RPC("ApplyStatusesFromFloatArrayRPC", (RpcTarget)0, new object[1] { array });
					}
					if (type == 2)
					{
						array[0] = allCharacter.refs.afflictions.currentStatuses[0];
						array[1] = allCharacter.refs.afflictions.currentStatuses[1];
						array[2] = allCharacter.refs.afflictions.currentStatuses[2] - 0.1f;
						array[3] = allCharacter.refs.afflictions.currentStatuses[3];
						array[4] = allCharacter.refs.afflictions.currentStatuses[4];
						array[5] = allCharacter.refs.afflictions.currentStatuses[5];
						array[6] = allCharacter.refs.afflictions.currentStatuses[6];
						array[7] = allCharacter.refs.afflictions.currentStatuses[7];
						array[8] = allCharacter.refs.afflictions.currentStatuses[8];
						((MonoBehaviourPun)allCharacter).photonView.RPC("ApplyStatusesFromFloatArrayRPC", (RpcTarget)0, new object[1] { array });
					}
					if (type == 3)
					{
						array[0] = allCharacter.refs.afflictions.currentStatuses[0];
						array[1] = allCharacter.refs.afflictions.currentStatuses[1];
						array[2] = allCharacter.refs.afflictions.currentStatuses[2];
						array[3] = allCharacter.refs.afflictions.currentStatuses[3] - 0.1f;
						array[4] = allCharacter.refs.afflictions.currentStatuses[4];
						array[5] = allCharacter.refs.afflictions.currentStatuses[5];
						array[6] = allCharacter.refs.afflictions.currentStatuses[6];
						array[7] = allCharacter.refs.afflictions.currentStatuses[7];
						array[8] = allCharacter.refs.afflictions.currentStatuses[8];
						((MonoBehaviourPun)allCharacter).photonView.RPC("ApplyStatusesFromFloatArrayRPC", (RpcTarget)0, new object[1] { array });
					}
					if (type == 4)
					{
						array[0] = allCharacter.refs.afflictions.currentStatuses[0];
						array[1] = allCharacter.refs.afflictions.currentStatuses[1];
						array[2] = allCharacter.refs.afflictions.currentStatuses[2];
						array[3] = allCharacter.refs.afflictions.currentStatuses[3];
						array[4] = allCharacter.refs.afflictions.currentStatuses[4] - 0.1f;
						array[5] = allCharacter.refs.afflictions.currentStatuses[5];
						array[6] = allCharacter.refs.afflictions.currentStatuses[6];
						array[7] = allCharacter.refs.afflictions.currentStatuses[7];
						array[8] = allCharacter.refs.afflictions.currentStatuses[8];
						((MonoBehaviourPun)allCharacter).photonView.RPC("ApplyStatusesFromFloatArrayRPC", (RpcTarget)0, new object[1] { array });
					}
					if (type == 5)
					{
						array[0] = allCharacter.refs.afflictions.currentStatuses[0];
						array[1] = allCharacter.refs.afflictions.currentStatuses[1];
						array[2] = allCharacter.refs.afflictions.currentStatuses[2];
						array[3] = allCharacter.refs.afflictions.currentStatuses[3];
						array[4] = allCharacter.refs.afflictions.currentStatuses[4];
						array[5] = allCharacter.refs.afflictions.currentStatuses[5] - 0.1f;
						array[6] = allCharacter.refs.afflictions.currentStatuses[6];
						array[7] = allCharacter.refs.afflictions.currentStatuses[7];
						array[8] = allCharacter.refs.afflictions.currentStatuses[8];
						((MonoBehaviourPun)allCharacter).photonView.RPC("ApplyStatusesFromFloatArrayRPC", (RpcTarget)0, new object[1] { array });
					}
					if (type == 6)
					{
						array[0] = allCharacter.refs.afflictions.currentStatuses[0];
						array[1] = allCharacter.refs.afflictions.currentStatuses[1];
						array[2] = allCharacter.refs.afflictions.currentStatuses[2];
						array[3] = allCharacter.refs.afflictions.currentStatuses[3];
						array[4] = allCharacter.refs.afflictions.currentStatuses[4];
						array[5] = allCharacter.refs.afflictions.currentStatuses[5];
						array[6] = allCharacter.refs.afflictions.currentStatuses[6] - 0.1f;
						array[7] = allCharacter.refs.afflictions.currentStatuses[7];
						array[8] = allCharacter.refs.afflictions.currentStatuses[8];
						((MonoBehaviourPun)allCharacter).photonView.RPC("ApplyStatusesFromFloatArrayRPC", (RpcTarget)0, new object[1] { array });
					}
					if (type == 7)
					{
						array[0] = allCharacter.refs.afflictions.currentStatuses[0];
						array[1] = allCharacter.refs.afflictions.currentStatuses[1];
						array[2] = allCharacter.refs.afflictions.currentStatuses[2];
						array[3] = allCharacter.refs.afflictions.currentStatuses[3];
						array[4] = allCharacter.refs.afflictions.currentStatuses[4];
						array[5] = allCharacter.refs.afflictions.currentStatuses[5];
						array[6] = allCharacter.refs.afflictions.currentStatuses[6];
						array[7] = allCharacter.refs.afflictions.currentStatuses[7] - 0.1f;
						array[8] = allCharacter.refs.afflictions.currentStatuses[8];
						((MonoBehaviourPun)allCharacter).photonView.RPC("ApplyStatusesFromFloatArrayRPC", (RpcTarget)0, new object[1] { array });
					}
					if (type == 8)
					{
						array[0] = allCharacter.refs.afflictions.currentStatuses[0];
						array[1] = allCharacter.refs.afflictions.currentStatuses[1];
						array[2] = allCharacter.refs.afflictions.currentStatuses[2];
						array[3] = allCharacter.refs.afflictions.currentStatuses[3];
						array[4] = allCharacter.refs.afflictions.currentStatuses[4];
						array[5] = allCharacter.refs.afflictions.currentStatuses[5];
						array[6] = allCharacter.refs.afflictions.currentStatuses[6];
						array[7] = allCharacter.refs.afflictions.currentStatuses[7];
						array[8] = allCharacter.refs.afflictions.currentStatuses[8] - 0.1f;
						((MonoBehaviourPun)allCharacter).photonView.RPC("ApplyStatusesFromFloatArrayRPC", (RpcTarget)0, new object[1] { array });
					}
				}
				return;
			}
			foreach (Character allCharacter2 in Character.AllCharacters)
			{
				if (!((MonoBehaviourPun)allCharacter2).photonView.IsMine)
				{
					float[] array2 = new float[9];
					if (type == 0)
					{
						array2[0] = allCharacter2.refs.afflictions.currentStatuses[0] - 0.1f;
						array2[1] = allCharacter2.refs.afflictions.currentStatuses[1];
						array2[2] = allCharacter2.refs.afflictions.currentStatuses[2];
						array2[3] = allCharacter2.refs.afflictions.currentStatuses[3];
						array2[4] = allCharacter2.refs.afflictions.currentStatuses[4];
						array2[5] = allCharacter2.refs.afflictions.currentStatuses[5];
						array2[6] = allCharacter2.refs.afflictions.currentStatuses[6];
						array2[7] = allCharacter2.refs.afflictions.currentStatuses[7];
						array2[8] = allCharacter2.refs.afflictions.currentStatuses[8];
						((MonoBehaviourPun)allCharacter2).photonView.RPC("ApplyStatusesFromFloatArrayRPC", (RpcTarget)0, new object[1] { array2 });
					}
					if (type == 1)
					{
						array2[0] = allCharacter2.refs.afflictions.currentStatuses[0];
						array2[1] = allCharacter2.refs.afflictions.currentStatuses[1] - 0.1f;
						array2[2] = allCharacter2.refs.afflictions.currentStatuses[2];
						array2[3] = allCharacter2.refs.afflictions.currentStatuses[3];
						array2[4] = allCharacter2.refs.afflictions.currentStatuses[4];
						array2[5] = allCharacter2.refs.afflictions.currentStatuses[5];
						array2[6] = allCharacter2.refs.afflictions.currentStatuses[6];
						array2[7] = allCharacter2.refs.afflictions.currentStatuses[7];
						array2[8] = allCharacter2.refs.afflictions.currentStatuses[8];
						((MonoBehaviourPun)allCharacter2).photonView.RPC("ApplyStatusesFromFloatArrayRPC", (RpcTarget)0, new object[1] { array2 });
					}
					if (type == 2)
					{
						array2[0] = allCharacter2.refs.afflictions.currentStatuses[0];
						array2[1] = allCharacter2.refs.afflictions.currentStatuses[1];
						array2[2] = allCharacter2.refs.afflictions.currentStatuses[2] - 0.1f;
						array2[3] = allCharacter2.refs.afflictions.currentStatuses[3];
						array2[4] = allCharacter2.refs.afflictions.currentStatuses[4];
						array2[5] = allCharacter2.refs.afflictions.currentStatuses[5];
						array2[6] = allCharacter2.refs.afflictions.currentStatuses[6];
						array2[7] = allCharacter2.refs.afflictions.currentStatuses[7];
						array2[8] = allCharacter2.refs.afflictions.currentStatuses[8];
						((MonoBehaviourPun)allCharacter2).photonView.RPC("ApplyStatusesFromFloatArrayRPC", (RpcTarget)0, new object[1] { array2 });
					}
					if (type == 3)
					{
						array2[0] = allCharacter2.refs.afflictions.currentStatuses[0];
						array2[1] = allCharacter2.refs.afflictions.currentStatuses[1];
						array2[2] = allCharacter2.refs.afflictions.currentStatuses[2];
						array2[3] = allCharacter2.refs.afflictions.currentStatuses[3] - 0.1f;
						array2[4] = allCharacter2.refs.afflictions.currentStatuses[4];
						array2[5] = allCharacter2.refs.afflictions.currentStatuses[5];
						array2[6] = allCharacter2.refs.afflictions.currentStatuses[6];
						array2[7] = allCharacter2.refs.afflictions.currentStatuses[7];
						array2[8] = allCharacter2.refs.afflictions.currentStatuses[8];
						((MonoBehaviourPun)allCharacter2).photonView.RPC("ApplyStatusesFromFloatArrayRPC", (RpcTarget)0, new object[1] { array2 });
					}
					if (type == 4)
					{
						array2[0] = allCharacter2.refs.afflictions.currentStatuses[0];
						array2[1] = allCharacter2.refs.afflictions.currentStatuses[1];
						array2[2] = allCharacter2.refs.afflictions.currentStatuses[2];
						array2[3] = allCharacter2.refs.afflictions.currentStatuses[3];
						array2[4] = allCharacter2.refs.afflictions.currentStatuses[4] - 0.1f;
						array2[5] = allCharacter2.refs.afflictions.currentStatuses[5];
						array2[6] = allCharacter2.refs.afflictions.currentStatuses[6];
						array2[7] = allCharacter2.refs.afflictions.currentStatuses[7];
						array2[8] = allCharacter2.refs.afflictions.currentStatuses[8];
						((MonoBehaviourPun)allCharacter2).photonView.RPC("ApplyStatusesFromFloatArrayRPC", (RpcTarget)0, new object[1] { array2 });
					}
					if (type == 5)
					{
						array2[0] = allCharacter2.refs.afflictions.currentStatuses[0];
						array2[1] = allCharacter2.refs.afflictions.currentStatuses[1];
						array2[2] = allCharacter2.refs.afflictions.currentStatuses[2];
						array2[3] = allCharacter2.refs.afflictions.currentStatuses[3];
						array2[4] = allCharacter2.refs.afflictions.currentStatuses[4];
						array2[5] = allCharacter2.refs.afflictions.currentStatuses[5] - 0.1f;
						array2[6] = allCharacter2.refs.afflictions.currentStatuses[6];
						array2[7] = allCharacter2.refs.afflictions.currentStatuses[7];
						array2[8] = allCharacter2.refs.afflictions.currentStatuses[8];
						((MonoBehaviourPun)allCharacter2).photonView.RPC("ApplyStatusesFromFloatArrayRPC", (RpcTarget)0, new object[1] { array2 });
					}
					if (type == 6)
					{
						array2[0] = allCharacter2.refs.afflictions.currentStatuses[0];
						array2[1] = allCharacter2.refs.afflictions.currentStatuses[1];
						array2[2] = allCharacter2.refs.afflictions.currentStatuses[2];
						array2[3] = allCharacter2.refs.afflictions.currentStatuses[3];
						array2[4] = allCharacter2.refs.afflictions.currentStatuses[4];
						array2[5] = allCharacter2.refs.afflictions.currentStatuses[5];
						array2[6] = allCharacter2.refs.afflictions.currentStatuses[6] - 0.1f;
						array2[7] = allCharacter2.refs.afflictions.currentStatuses[7];
						array2[8] = allCharacter2.refs.afflictions.currentStatuses[8];
						((MonoBehaviourPun)allCharacter2).photonView.RPC("ApplyStatusesFromFloatArrayRPC", (RpcTarget)0, new object[1] { array2 });
					}
					if (type == 7)
					{
						array2[0] = allCharacter2.refs.afflictions.currentStatuses[0];
						array2[1] = allCharacter2.refs.afflictions.currentStatuses[1];
						array2[2] = allCharacter2.refs.afflictions.currentStatuses[2];
						array2[3] = allCharacter2.refs.afflictions.currentStatuses[3];
						array2[4] = allCharacter2.refs.afflictions.currentStatuses[4];
						array2[5] = allCharacter2.refs.afflictions.currentStatuses[5];
						array2[6] = allCharacter2.refs.afflictions.currentStatuses[6];
						array2[7] = allCharacter2.refs.afflictions.currentStatuses[7] - 0.1f;
						array2[8] = allCharacter2.refs.afflictions.currentStatuses[8];
						((MonoBehaviourPun)allCharacter2).photonView.RPC("ApplyStatusesFromFloatArrayRPC", (RpcT