Decompiled source of MabelTheCat v1.5.0

Mods/MabelTheCat.dll

Decompiled a month ago
using System;
using System.Collections;
using System.Collections.Generic;
using System.Diagnostics;
using System.IO;
using System.Reflection;
using System.Runtime.CompilerServices;
using System.Runtime.InteropServices;
using System.Runtime.Versioning;
using Il2CppExitGames.Client.Photon;
using Il2CppInterop.Runtime.InteropTypes.Arrays;
using Il2CppPhoton.Pun;
using Il2CppPhoton.Realtime;
using Il2CppRUMBLE.Interactions.InteractionBase;
using Il2CppSystem;
using MabelTheCat;
using MelonLoader;
using MelonLoader.Utils;
using RumbleModUI;
using RumbleModdingAPI;
using UnityEngine;
using UnityEngine.Events;

[assembly: CompilationRelaxations(8)]
[assembly: RuntimeCompatibility(WrapNonExceptionThrows = true)]
[assembly: Debuggable(DebuggableAttribute.DebuggingModes.Default | DebuggableAttribute.DebuggingModes.DisableOptimizations | DebuggableAttribute.DebuggingModes.IgnoreSymbolStoreSequencePoints | DebuggableAttribute.DebuggingModes.EnableEditAndContinue)]
[assembly: MelonInfo(typeof(main), "MabelTheCat", "1.5.0", "UlvakSkillz", null)]
[assembly: MelonGame("Buckethead Entertainment", "RUMBLE")]
[assembly: MelonColor(255, 195, 0, 255)]
[assembly: MelonAuthorColor(255, 195, 0, 255)]
[assembly: VerifyLoaderVersion(0, 6, 6, true)]
[assembly: AssemblyDescription("")]
[assembly: AssemblyCopyright("Copyright ©  2024")]
[assembly: AssemblyTrademark("")]
[assembly: ComVisible(false)]
[assembly: Guid("1ae819fd-d86a-44b0-bc6b-aee140e7ca82")]
[assembly: TargetFramework(".NETCoreApp,Version=v6.0", FrameworkDisplayName = ".NET 6.0")]
[assembly: AssemblyCompany("MabelTheCat")]
[assembly: AssemblyConfiguration("Debug")]
[assembly: AssemblyFileVersion("1.0.0.0")]
[assembly: AssemblyInformationalVersion("1.0.0+889d87c9059d7c02016ace25b8562000f3f46546")]
[assembly: AssemblyProduct("MabelTheCat")]
[assembly: AssemblyTitle("MabelTheCat")]
[assembly: AssemblyVersion("1.0.0.0")]
namespace MabelTheCat;

public static class ModBuildInfo
{
	public const string Version = "1.5.0";
}
public class main : MelonMod
{
	[CompilerGenerated]
	private sealed class <JointWag>d__31 : IEnumerator<object>, IEnumerator, IDisposable
	{
		private int <>1__state;

		private object <>2__current;

		public Transform joint;

		public float[] minMax;

		public float speed;

		public int axis;

		public float waitTime;

		private int <currentSceneCount>5__1;

		private float <jointRotation>5__2;

		private int <>s__3;

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

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

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

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

		private bool MoveNext()
		{
			//IL_0374: Unknown result type (might be due to invalid IL or missing references)
			//IL_037e: Expected O, but got Unknown
			//IL_0084: Unknown result type (might be due to invalid IL or missing references)
			//IL_0089: Unknown result type (might be due to invalid IL or missing references)
			//IL_008d: 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_00a9: Unknown result type (might be due to invalid IL or missing references)
			//IL_00ad: Unknown result type (might be due to invalid IL or missing references)
			//IL_00bd: Unknown result type (might be due to invalid IL or missing references)
			//IL_00c2: Unknown result type (might be due to invalid IL or missing references)
			//IL_00c6: Unknown result type (might be due to invalid IL or missing references)
			//IL_00d0: Unknown result type (might be due to invalid IL or missing references)
			//IL_00e2: Unknown result type (might be due to invalid IL or missing references)
			//IL_00e7: Unknown result type (might be due to invalid IL or missing references)
			//IL_00eb: Unknown result type (might be due to invalid IL or missing references)
			//IL_010b: Unknown result type (might be due to invalid IL or missing references)
			//IL_0110: Unknown result type (might be due to invalid IL or missing references)
			//IL_0114: Unknown result type (might be due to invalid IL or missing references)
			//IL_0124: Unknown result type (might be due to invalid IL or missing references)
			//IL_0129: 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_0144: 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_014d: Unknown result type (might be due to invalid IL or missing references)
			//IL_0157: Unknown result type (might be due to invalid IL or missing references)
			//IL_0169: Unknown result type (might be due to invalid IL or missing references)
			//IL_016e: 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_0192: Unknown result type (might be due to invalid IL or missing references)
			//IL_0197: Unknown result type (might be due to invalid IL or missing references)
			//IL_019b: Unknown result type (might be due to invalid IL or missing references)
			//IL_01ab: Unknown result type (might be due to invalid IL or missing references)
			//IL_01b0: Unknown result type (might be due to invalid IL or missing references)
			//IL_01b4: Unknown result type (might be due to invalid IL or missing references)
			//IL_01c4: Unknown result type (might be due to invalid IL or missing references)
			//IL_01c9: Unknown result type (might be due to invalid IL or missing references)
			//IL_01cd: Unknown result type (might be due to invalid IL or missing references)
			//IL_01de: Unknown result type (might be due to invalid IL or missing references)
			//IL_01f0: Unknown result type (might be due to invalid IL or missing references)
			//IL_01f5: Unknown result type (might be due to invalid IL or missing references)
			//IL_01f9: Unknown result type (might be due to invalid IL or missing references)
			//IL_02a3: Unknown result type (might be due to invalid IL or missing references)
			//IL_02ad: Expected O, but got Unknown
			//IL_031a: Unknown result type (might be due to invalid IL or missing references)
			//IL_0324: Expected O, but got Unknown
			switch (<>1__state)
			{
			default:
				return false;
			case 0:
				<>1__state = -1;
				<currentSceneCount>5__1 = sceneCount;
				goto IL_038f;
			case 1:
				<>1__state = -1;
				goto IL_0373;
			case 2:
				<>1__state = -1;
				goto IL_0373;
			case 3:
				{
					<>1__state = -1;
					goto IL_038f;
				}
				IL_038f:
				if (!((Object)(object)joint != (Object)null) || <currentSceneCount>5__1 != sceneCount || flatLandPressed || !((Object)(object)mabelParent != (Object)null))
				{
					break;
				}
				try
				{
					int num = axis;
					<>s__3 = num;
					Quaternion localRotation;
					switch (<>s__3)
					{
					case 0:
					{
						Transform obj3 = joint;
						localRotation = joint.localRotation;
						float num3 = ((Quaternion)(ref localRotation)).eulerAngles.x + speed;
						localRotation = joint.localRotation;
						float y2 = ((Quaternion)(ref localRotation)).eulerAngles.y;
						localRotation = joint.localRotation;
						obj3.localRotation = Quaternion.Euler(num3, y2, ((Quaternion)(ref localRotation)).eulerAngles.z);
						localRotation = joint.localRotation;
						<jointRotation>5__2 = ((Quaternion)(ref localRotation)).eulerAngles.x;
						break;
					}
					case 1:
					{
						Transform obj2 = joint;
						localRotation = joint.localRotation;
						float x2 = ((Quaternion)(ref localRotation)).eulerAngles.x;
						localRotation = joint.localRotation;
						float num2 = ((Quaternion)(ref localRotation)).eulerAngles.y + speed;
						localRotation = joint.localRotation;
						obj2.localRotation = Quaternion.Euler(x2, num2, ((Quaternion)(ref localRotation)).eulerAngles.z);
						localRotation = joint.localRotation;
						<jointRotation>5__2 = ((Quaternion)(ref localRotation)).eulerAngles.y;
						break;
					}
					case 2:
					{
						Transform obj = joint;
						localRotation = joint.localRotation;
						float x = ((Quaternion)(ref localRotation)).eulerAngles.x;
						localRotation = joint.localRotation;
						float y = ((Quaternion)(ref localRotation)).eulerAngles.y;
						localRotation = joint.localRotation;
						obj.localRotation = Quaternion.Euler(x, y, ((Quaternion)(ref localRotation)).eulerAngles.z + speed);
						localRotation = joint.localRotation;
						<jointRotation>5__2 = ((Quaternion)(ref localRotation)).eulerAngles.z;
						break;
					}
					default:
						<jointRotation>5__2 = 0f;
						break;
					}
				}
				catch
				{
					return false;
				}
				if (speed < 0f)
				{
					if (minMax[0] < 0f && <jointRotation>5__2 <= minMax[0] + 360f && <jointRotation>5__2 > 300f)
					{
						speed *= -1f;
						if (waitTime > 0f)
						{
							<>2__current = (object)new WaitForSeconds(waitTime);
							<>1__state = 1;
							return true;
						}
					}
					else if (minMax[0] > 0f && <jointRotation>5__2 <= minMax[0])
					{
						speed *= -1f;
						if (waitTime > 0f)
						{
							<>2__current = (object)new WaitForSeconds(waitTime);
							<>1__state = 2;
							return true;
						}
					}
				}
				else if (<jointRotation>5__2 >= minMax[1] && <jointRotation>5__2 < 300f)
				{
					speed *= -1f;
				}
				goto IL_0373;
				IL_0373:
				<>2__current = (object)new WaitForFixedUpdate();
				<>1__state = 3;
				return true;
			}
			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();
		}
	}

	[CompilerGenerated]
	private sealed class <listenForFlatLandButton>d__28 : IEnumerator<object>, IEnumerator, IDisposable
	{
		private int <>1__state;

		private object <>2__current;

		public main <>4__this;

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

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

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

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

		private bool MoveNext()
		{
			//IL_0026: Unknown result type (might be due to invalid IL or missing references)
			//IL_0030: Expected O, but got Unknown
			switch (<>1__state)
			{
			default:
				return false;
			case 0:
				<>1__state = -1;
				<>2__current = (object)new WaitForSeconds(1f);
				<>1__state = 1;
				return true;
			case 1:
				<>1__state = -1;
				GameObject.Find("FlatLand/FlatLandButton/Button").GetComponent<InteractionButton>().onPressed.AddListener(UnityAction.op_Implicit((Action)delegate
				{
					flatLandPressed = true;
					MelonCoroutines.Start(<>4__this.toFlatLand());
				}));
				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();
		}
	}

	[CompilerGenerated]
	private sealed class <toFlatLand>d__30 : IEnumerator<object>, IEnumerator, IDisposable
	{
		private int <>1__state;

		private object <>2__current;

		public main <>4__this;

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

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

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

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

		private bool MoveNext()
		{
			//IL_0032: Unknown result type (might be due to invalid IL or missing references)
			//IL_003c: Expected O, but got Unknown
			//IL_008d: Unknown result type (might be due to invalid IL or missing references)
			//IL_00b3: Unknown result type (might be due to invalid IL or missing references)
			switch (<>1__state)
			{
			default:
				return false;
			case 0:
				<>1__state = -1;
				<>4__this.inFlatLand = true;
				<>2__current = (object)new WaitForSeconds(1f);
				<>1__state = 1;
				return true;
			case 1:
				<>1__state = -1;
				flatLandPressed = false;
				<>4__this.removeMabels();
				<>4__this.createMabels(isFlatLand: true);
				StartTailWagStanding(0);
				spawnedMabels[0].transform.position = new Vector3(5.0155f, 0f, 1.6736f);
				spawnedMabels[0].transform.localRotation = Quaternion.Euler(0f, 206.7709f, 0f);
				spawnedMabels[0].SetActive(true);
				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();
		}
	}

	private Random random = new Random();

	private GameObject mabel;

	public static GameObject[] spawnedMabels;

	private static List<Transform>[] mabelBones;

	private string currentScene = "Loader";

	private static int sceneCount = 0;

	private bool flatLandFound = false;

	private static bool flatLandPressed = false;

	private bool inFlatLand = false;

	private bool init = false;

	private int customMapSceneCount = 0;

	public static Mod MabelTheCat = new Mod();

	private bool showAllCats = false;

	private static GameObject mabelParent;

	private Texture2D texturesLocal;

	public static event Action mabelPosingReady;

	public override void OnLateInitializeMelon()
	{
		//IL_00ce: Unknown result type (might be due to invalid IL or missing references)
		//IL_012e: Unknown result type (might be due to invalid IL or missing references)
		//IL_0138: Expected O, but got Unknown
		if (!Directory.Exists(MelonEnvironment.UserDataDirectory + "\\MabelTheCat"))
		{
			Directory.CreateDirectory(MelonEnvironment.UserDataDirectory + "\\MabelTheCat");
		}
		Calls.onMyModsGathered += checkMods;
		Calls.onMapInitialized += mapInit;
		mabel = Object.Instantiate<GameObject>(Calls.LoadAssetFromStream<GameObject>((MelonMod)(object)this, "MabelTheCat.mabel", "cat"));
		mabel.SetActive(false);
		GameObject val = mabel;
		mabel = Object.Instantiate<GameObject>(mabel);
		((Object)mabel).name = "Mabel";
		Object.DontDestroyOnLoad((Object)(object)mabel);
		mabel.transform.localScale = new Vector3(1.25f, 1.25f, 1.25f);
		mabel.SetActive(false);
		Object.Destroy((Object)(object)val);
		MabelTheCat.ModName = "MabelTheCat";
		MabelTheCat.ModVersion = "1.5.0";
		MabelTheCat.SetFolder("MabelTheCat");
		MabelTheCat.AddToList("Show all Cats", false, 0, "Toggling ON will have all the Cats Shown.", new Tags());
		MabelTheCat.GetFromFile();
		MabelTheCat.ModSaved += Save;
		UI.instance.UI_Initialized += UIInit;
		showAllCats = (bool)MabelTheCat.Settings[0].SavedValue;
	}

	private void ReskinCat(GameObject thisMabel)
	{
		//IL_0087: Unknown result type (might be due to invalid IL or missing references)
		//IL_008d: Expected O, but got Unknown
		//IL_0033: Unknown result type (might be due to invalid IL or missing references)
		//IL_003d: Expected O, but got Unknown
		if (File.Exists(MelonEnvironment.UserDataDirectory + "\\MabelTheCat\\Cat.png"))
		{
			if ((Object)(object)texturesLocal == (Object)null)
			{
				texturesLocal = new Texture2D(2, 2);
				byte[] array = File.ReadAllBytes(MelonEnvironment.UserDataDirectory + "\\MabelTheCat\\Cat.png");
				ImageConversion.LoadImage(texturesLocal, Il2CppStructArray<byte>.op_Implicit(array));
				((Object)texturesLocal).hideFlags = (HideFlags)61;
			}
			Renderer component = ((Component)thisMabel.transform.GetChild(0)).GetComponent<Renderer>();
			MaterialPropertyBlock val = new MaterialPropertyBlock();
			component.GetPropertyBlock(val);
			Il2CppStringArray propertyNames = ((Component)mabel.transform.GetChild(0)).GetComponent<Renderer>().material.GetPropertyNames((MaterialPropertyType)4);
			val.SetTexture("_BaseMap", (Texture)(object)texturesLocal);
			component.SetPropertyBlock(val);
		}
	}

	private void UIInit()
	{
		UI.instance.AddMod(MabelTheCat);
	}

	private void Save()
	{
		if (showAllCats != (bool)MabelTheCat.Settings[0].SavedValue)
		{
			showAllCats = (bool)MabelTheCat.Settings[0].SavedValue;
			removeMabels();
			if (inFlatLand)
			{
				createMabels(isFlatLand: true);
			}
			else
			{
				createMabels(isFlatLand: false);
			}
			poseCats();
		}
	}

	private void checkMods()
	{
		flatLandFound = Mods.findOwnMod("FlatLand", "1.6.0", false);
	}

	public void OnEvent(EventData eventData)
	{
		if (eventData.Code == 70)
		{
			customMapSceneCount = sceneCount;
			removeMabels();
		}
	}

	private void removeMabels()
	{
		Object.DestroyImmediate((Object)(object)mabelParent);
	}

	private void poseCats()
	{
		//IL_04d8: Unknown result type (might be due to invalid IL or missing references)
		//IL_04fe: Unknown result type (might be due to invalid IL or missing references)
		//IL_052c: 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_0580: Unknown result type (might be due to invalid IL or missing references)
		//IL_05a6: 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_05fa: Unknown result type (might be due to invalid IL or missing references)
		//IL_0628: Unknown result type (might be due to invalid IL or missing references)
		//IL_064e: Unknown result type (might be due to invalid IL or missing references)
		//IL_067c: Unknown result type (might be due to invalid IL or missing references)
		//IL_06a2: Unknown result type (might be due to invalid IL or missing references)
		//IL_0062: Unknown result type (might be due to invalid IL or missing references)
		//IL_0088: 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_00db: Unknown result type (might be due to invalid IL or missing references)
		//IL_0109: Unknown result type (might be due to invalid IL or missing references)
		//IL_012f: Unknown result type (might be due to invalid IL or missing references)
		//IL_015d: Unknown result type (might be due to invalid IL or missing references)
		//IL_0183: Unknown result type (might be due to invalid IL or missing references)
		//IL_01b1: Unknown result type (might be due to invalid IL or missing references)
		//IL_01d7: Unknown result type (might be due to invalid IL or missing references)
		//IL_0205: Unknown result type (might be due to invalid IL or missing references)
		//IL_022b: Unknown result type (might be due to invalid IL or missing references)
		//IL_0952: Unknown result type (might be due to invalid IL or missing references)
		//IL_0978: Unknown result type (might be due to invalid IL or missing references)
		//IL_09a6: Unknown result type (might be due to invalid IL or missing references)
		//IL_09cc: Unknown result type (might be due to invalid IL or missing references)
		//IL_09fa: Unknown result type (might be due to invalid IL or missing references)
		//IL_0a20: Unknown result type (might be due to invalid IL or missing references)
		//IL_0a4e: Unknown result type (might be due to invalid IL or missing references)
		//IL_0a74: Unknown result type (might be due to invalid IL or missing references)
		//IL_0711: Unknown result type (might be due to invalid IL or missing references)
		//IL_0737: Unknown result type (might be due to invalid IL or missing references)
		//IL_076a: Unknown result type (might be due to invalid IL or missing references)
		//IL_0790: Unknown result type (might be due to invalid IL or missing references)
		//IL_07c3: Unknown result type (might be due to invalid IL or missing references)
		//IL_07e9: Unknown result type (might be due to invalid IL or missing references)
		//IL_081c: Unknown result type (might be due to invalid IL or missing references)
		//IL_0842: Unknown result type (might be due to invalid IL or missing references)
		//IL_0875: Unknown result type (might be due to invalid IL or missing references)
		//IL_089b: Unknown result type (might be due to invalid IL or missing references)
		//IL_08cb: Unknown result type (might be due to invalid IL or missing references)
		//IL_08f1: Unknown result type (might be due to invalid IL or missing references)
		//IL_0299: Unknown result type (might be due to invalid IL or missing references)
		//IL_02bf: Unknown result type (might be due to invalid IL or missing references)
		//IL_02f1: Unknown result type (might be due to invalid IL or missing references)
		//IL_0317: Unknown result type (might be due to invalid IL or missing references)
		//IL_034a: Unknown result type (might be due to invalid IL or missing references)
		//IL_0370: Unknown result type (might be due to invalid IL or missing references)
		//IL_03a3: Unknown result type (might be due to invalid IL or missing references)
		//IL_03c9: Unknown result type (might be due to invalid IL or missing references)
		//IL_03fc: Unknown result type (might be due to invalid IL or missing references)
		//IL_0422: Unknown result type (might be due to invalid IL or missing references)
		//IL_0452: Unknown result type (might be due to invalid IL or missing references)
		//IL_0478: Unknown result type (might be due to invalid IL or missing references)
		//IL_0c6b: Unknown result type (might be due to invalid IL or missing references)
		//IL_0c91: Unknown result type (might be due to invalid IL or missing references)
		//IL_0cbf: Unknown result type (might be due to invalid IL or missing references)
		//IL_0ce5: Unknown result type (might be due to invalid IL or missing references)
		//IL_0d13: Unknown result type (might be due to invalid IL or missing references)
		//IL_0d39: Unknown result type (might be due to invalid IL or missing references)
		//IL_0d67: Unknown result type (might be due to invalid IL or missing references)
		//IL_0d8d: Unknown result type (might be due to invalid IL or missing references)
		//IL_0adc: Unknown result type (might be due to invalid IL or missing references)
		//IL_0b02: Unknown result type (might be due to invalid IL or missing references)
		//IL_0b35: Unknown result type (might be due to invalid IL or missing references)
		//IL_0b5b: Unknown result type (might be due to invalid IL or missing references)
		//IL_0b8e: Unknown result type (might be due to invalid IL or missing references)
		//IL_0bb4: Unknown result type (might be due to invalid IL or missing references)
		//IL_0be4: Unknown result type (might be due to invalid IL or missing references)
		//IL_0c0a: 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_0e1b: Unknown result type (might be due to invalid IL or missing references)
		//IL_0e4e: Unknown result type (might be due to invalid IL or missing references)
		//IL_0e74: Unknown result type (might be due to invalid IL or missing references)
		//IL_0ea7: Unknown result type (might be due to invalid IL or missing references)
		//IL_0ecd: Unknown result type (might be due to invalid IL or missing references)
		//IL_0efd: Unknown result type (might be due to invalid IL or missing references)
		//IL_0f23: Unknown result type (might be due to invalid IL or missing references)
		if (currentScene == "Gym")
		{
			if (flatLandFound)
			{
				MelonCoroutines.Start(listenForFlatLandButton());
			}
			if (showAllCats)
			{
				PoseLayingDown(0);
				spawnedMabels[0].transform.position = new Vector3(9.9f, 0.8573f, -0.6227f);
				spawnedMabels[0].transform.localRotation = Quaternion.Euler(306.764f, 319.4213f, 13.756f);
				StartTailWagStanding(1);
				spawnedMabels[1].transform.position = new Vector3(5.0155f, 0.35f, 1.6736f);
				spawnedMabels[1].transform.localRotation = Quaternion.Euler(0f, 206.7709f, 0f);
				PoseSleeping(2);
				spawnedMabels[2].transform.position = new Vector3(4.3618164f, 1.5500001f, 9.430909f);
				spawnedMabels[2].transform.localRotation = Quaternion.Euler(347.7088f, 146.4092f, 95.1773f);
				PoseSleeping(3);
				spawnedMabels[3].transform.position = new Vector3(-4.0618153f, 0.20091006f, -1.5218217f);
				spawnedMabels[3].transform.localRotation = Quaternion.Euler(347.7088f, 146.4092f, 95.17729f);
				PoseSitting(4);
				spawnedMabels[4].transform.position = new Vector3(-3.61f, 5.1291f, 2.4427f);
				spawnedMabels[4].transform.localRotation = Quaternion.Euler(306.0583f, 130.39539f, -8.122779E-05f);
				PoseStanding(5);
				spawnedMabels[5].transform.position = new Vector3(4.0682f, 2.8709f, 9.8809f);
				spawnedMabels[5].transform.localRotation = Quaternion.Euler(-0f, 206.7709f, 0f);
			}
			else
			{
				switch (random.Next(0, 6))
				{
				case 0:
					PoseLayingDown(0);
					spawnedMabels[0].transform.position = new Vector3(9.9f, 0.8573f, -0.6227f);
					spawnedMabels[0].transform.localRotation = Quaternion.Euler(306.764f, 319.4213f, 13.756f);
					break;
				case 1:
					StartTailWagStanding(0);
					spawnedMabels[0].transform.position = new Vector3(5.0155f, 0.35f, 1.6736f);
					spawnedMabels[0].transform.localRotation = Quaternion.Euler(0f, 206.7709f, 0f);
					break;
				case 2:
					PoseSleeping(0);
					spawnedMabels[0].transform.position = new Vector3(4.3618164f, 1.5500001f, 9.430909f);
					spawnedMabels[0].transform.localRotation = Quaternion.Euler(347.7088f, 146.4092f, 95.1773f);
					break;
				case 3:
					PoseSleeping(0);
					spawnedMabels[0].transform.position = new Vector3(-4.0618153f, 0.20091006f, -1.5218217f);
					spawnedMabels[0].transform.localRotation = Quaternion.Euler(347.7088f, 146.4092f, 95.17729f);
					break;
				case 4:
					PoseSitting(0);
					spawnedMabels[0].transform.position = new Vector3(-3.61f, 5.1291f, 2.4427f);
					spawnedMabels[0].transform.localRotation = Quaternion.Euler(306.0583f, 130.39539f, -8.122779E-05f);
					break;
				case 5:
					PoseStanding(0);
					spawnedMabels[0].transform.position = new Vector3(4.0682f, 2.8709f, 9.8809f);
					spawnedMabels[0].transform.localRotation = Quaternion.Euler(-0f, 206.7709f, 0f);
					break;
				}
			}
		}
		else if (currentScene == "Park")
		{
			if (showAllCats)
			{
				StartTailWagStanding(0);
				spawnedMabels[0].transform.position = new Vector3(-15.2646f, -3.2428f, -9.9838f);
				spawnedMabels[0].transform.localRotation = Quaternion.Euler(0f, 234.0795f, 0f);
				PoseSitting(1);
				spawnedMabels[1].transform.position = new Vector3(-24.8039f, 0.8077f, -16.2777f);
				spawnedMabels[1].transform.localRotation = Quaternion.Euler(322.0467f, 64.7633f, 0f);
				PoseStanding(2);
				spawnedMabels[2].transform.position = new Vector3(14.2072f, 6.9445f, 6.0545f);
				spawnedMabels[2].transform.localRotation = Quaternion.Euler(0f, 281.874f, 0f);
				PoseSleeping(3);
				spawnedMabels[3].transform.position = new Vector3(-22.4429f, -5.9974f, 0.6699f);
				spawnedMabels[3].transform.localRotation = Quaternion.Euler(0f, 62.9994f, 92.1347f);
				PoseLayingDown(4);
				spawnedMabels[4].transform.position = new Vector3(5.8098f, -0.1547f, 5.3263f);
				spawnedMabels[4].transform.localRotation = Quaternion.Euler(302.1827f, 232.8239f, 0f);
				PoseSitting(5);
				spawnedMabels[5].transform.position = new Vector3(-25.9657f, 14.6567f, 12.3286f);
				spawnedMabels[5].transform.localRotation = Quaternion.Euler(308.2613f, 158.6978f, 0f);
			}
			else
			{
				switch (random.Next(0, 6))
				{
				case 0:
					StartTailWagStanding(0);
					spawnedMabels[0].transform.position = new Vector3(-15.2646f, -3.2428f, -9.9838f);
					spawnedMabels[0].transform.localRotation = Quaternion.Euler(0f, 234.0795f, 0f);
					break;
				case 1:
					PoseSitting(0);
					spawnedMabels[0].transform.position = new Vector3(-24.8039f, 0.8077f, -16.2777f);
					spawnedMabels[0].transform.localRotation = Quaternion.Euler(322.0467f, 64.7633f, 0f);
					break;
				case 2:
					PoseStanding(0);
					spawnedMabels[0].transform.position = new Vector3(14.2072f, 6.9445f, 6.0545f);
					spawnedMabels[0].transform.localRotation = Quaternion.Euler(0f, 281.874f, 0f);
					break;
				case 3:
					PoseSleeping(0);
					spawnedMabels[0].transform.position = new Vector3(-22.4429f, -5.9974f, 0.6699f);
					spawnedMabels[0].transform.localRotation = Quaternion.Euler(0f, 62.9994f, 92.1347f);
					break;
				case 4:
					PoseLayingDown(0);
					spawnedMabels[0].transform.position = new Vector3(5.8098f, -0.1547f, 5.3263f);
					spawnedMabels[0].transform.localRotation = Quaternion.Euler(302.1827f, 232.8239f, 0f);
					break;
				case 5:
					PoseSitting(0);
					spawnedMabels[0].transform.position = new Vector3(-25.9657f, 14.6567f, 12.3286f);
					spawnedMabels[0].transform.localRotation = Quaternion.Euler(308.2613f, 158.6978f, 0f);
					break;
				}
			}
		}
		else if (currentScene == "Map0")
		{
			if (showAllCats)
			{
				PoseSitting(0);
				spawnedMabels[0].transform.position = new Vector3(-8.0657f, 3.3299f, 19.8217f);
				spawnedMabels[0].transform.localRotation = Quaternion.Euler(295.1778f, 162.5442f, 0f);
				PoseStanding(1);
				spawnedMabels[1].transform.position = new Vector3(-19.352f, 2.3619f, -9.9329f);
				spawnedMabels[1].transform.localRotation = Quaternion.Euler(0f, 114.5284f, 0f);
				PoseSleeping(2);
				spawnedMabels[2].transform.position = new Vector3(16.0696f, 2.5119f, -13.5693f);
				spawnedMabels[2].transform.localRotation = Quaternion.Euler(0f, 0f, 101.1101f);
				PoseLayingDown(3);
				spawnedMabels[3].transform.position = new Vector3(19.4568f, 2.7795f, 3.156f);
				spawnedMabels[3].transform.localRotation = Quaternion.Euler(298.0505f, 256.9204f, 0f);
			}
			else
			{
				switch (random.Next(0, 4))
				{
				case 0:
					PoseSitting(0);
					spawnedMabels[0].transform.position = new Vector3(-8.0657f, 3.3299f, 19.8217f);
					spawnedMabels[0].transform.localRotation = Quaternion.Euler(295.1778f, 162.5442f, 0f);
					break;
				case 1:
					PoseStanding(0);
					spawnedMabels[0].transform.position = new Vector3(-19.352f, 2.3619f, -9.9329f);
					spawnedMabels[0].transform.localRotation = Quaternion.Euler(0f, 114.5284f, 0f);
					break;
				case 2:
					PoseSleeping(0);
					spawnedMabels[0].transform.position = new Vector3(16.0696f, 2.5119f, -13.5693f);
					spawnedMabels[0].transform.localRotation = Quaternion.Euler(0f, 0f, 101.1101f);
					break;
				case 3:
					PoseLayingDown(0);
					spawnedMabels[0].transform.position = new Vector3(19.4568f, 2.7795f, 3.156f);
					spawnedMabels[0].transform.localRotation = Quaternion.Euler(298.0505f, 256.9204f, 0f);
					break;
				}
			}
		}
		else if (currentScene == "Map1")
		{
			if (showAllCats)
			{
				PoseSitting(0);
				spawnedMabels[0].transform.position = new Vector3(14.1713f, 10.4217f, -6.5722f);
				spawnedMabels[0].transform.localRotation = Quaternion.Euler(305.0462f, 300.4279f, 0f);
				PoseStanding(1);
				spawnedMabels[1].transform.position = new Vector3(-5.8972f, 7.4398f, -11.3046f);
				spawnedMabels[1].transform.localRotation = Quaternion.Euler(10.3407f, 80.0742f, 8.0421f);
				PoseSleeping(2);
				spawnedMabels[2].transform.position = new Vector3(2.1673f, 5.0421f, 11.3458f);
				spawnedMabels[2].transform.localRotation = Quaternion.Euler(0f, 187.7051f, 90f);
				PoseLayingDown(3);
				spawnedMabels[3].transform.position = new Vector3(-13.8633f, 7.94f, -5.8903f);
				spawnedMabels[3].transform.localRotation = Quaternion.Euler(323.3444f, 51.1345f, 0f);
			}
			else
			{
				switch (random.Next(0, 4))
				{
				case 0:
					PoseSitting(0);
					spawnedMabels[0].transform.position = new Vector3(14.1713f, 10.4217f, -6.5722f);
					spawnedMabels[0].transform.localRotation = Quaternion.Euler(305.0462f, 300.4279f, 0f);
					break;
				case 1:
					PoseStanding(0);
					spawnedMabels[0].transform.position = new Vector3(-5.8972f, 7.4398f, -11.3046f);
					spawnedMabels[0].transform.localRotation = Quaternion.Euler(10.3407f, 80.0742f, 8.0421f);
					break;
				case 2:
					PoseSleeping(0);
					spawnedMabels[0].transform.position = new Vector3(2.1673f, 5.0421f, 11.3458f);
					spawnedMabels[0].transform.localRotation = Quaternion.Euler(0f, 187.7051f, 90f);
					break;
				case 3:
					PoseLayingDown(0);
					spawnedMabels[0].transform.position = new Vector3(-13.8633f, 7.94f, -5.8903f);
					spawnedMabels[0].transform.localRotation = Quaternion.Euler(323.3444f, 51.1345f, 0f);
					break;
				}
			}
		}
		for (int i = 0; i < spawnedMabels.Length; i++)
		{
			spawnedMabels[i].SetActive(true);
		}
	}

	private void mapInit()
	{
		if (!init)
		{
			LoadBalancingClient networkingClient = PhotonNetwork.NetworkingClient;
			networkingClient.EventReceived += Action<EventData>.op_Implicit((Action<EventData>)OnEvent);
			init = true;
		}
		createMabels(isFlatLand: false);
		poseCats();
		main.mabelPosingReady?.Invoke();
		if (customMapSceneCount != sceneCount)
		{
			for (int i = 0; i < spawnedMabels.Length; i++)
			{
				spawnedMabels[i].SetActive(true);
			}
		}
	}

	private void createMabels(bool isFlatLand)
	{
		//IL_0006: Unknown result type (might be due to invalid IL or missing references)
		//IL_0010: Expected O, but got Unknown
		mabelParent = new GameObject("Mabels");
		if (showAllCats)
		{
			if (isFlatLand)
			{
				spawnedMabels = (GameObject[])(object)new GameObject[1];
				mabelBones = new List<Transform>[1];
			}
			else if (currentScene == "Gym" || currentScene == "Park")
			{
				spawnedMabels = (GameObject[])(object)new GameObject[6];
				mabelBones = new List<Transform>[6];
			}
			else if (currentScene == "Map0" || currentScene == "Map1")
			{
				spawnedMabels = (GameObject[])(object)new GameObject[4];
				mabelBones = new List<Transform>[4];
			}
		}
		else
		{
			spawnedMabels = (GameObject[])(object)new GameObject[1];
			mabelBones = new List<Transform>[1];
		}
		for (int i = 0; i < mabelBones.Length; i++)
		{
			mabelBones[i] = new List<Transform>();
		}
		for (int j = 0; j < spawnedMabels.Length; j++)
		{
			spawnedMabels[j] = Object.Instantiate<GameObject>(mabel);
			((Object)spawnedMabels[j]).name = "Mabel";
			((Object)((Component)spawnedMabels[j].transform.GetChild(0)).gameObject).name = "Mesh";
			spawnedMabels[j].transform.parent = mabelParent.transform;
			ReskinCat(spawnedMabels[j]);
			mabelBones[j].Clear();
			GameObject gameObject = ((Component)spawnedMabels[j].transform.GetChild(1).GetChild(0)).gameObject;
			mabelBones[j].Add(gameObject.transform.GetChild(0));
			mabelBones[j].Add(gameObject.transform.GetChild(1));
			mabelBones[j].Add(gameObject.transform.GetChild(1).GetChild(0));
			mabelBones[j].Add(gameObject.transform.GetChild(1).GetChild(0).GetChild(0));
			mabelBones[j].Add(gameObject.transform.GetChild(1).GetChild(0).GetChild(0)
				.GetChild(0));
			mabelBones[j].Add(gameObject.transform.GetChild(1).GetChild(0).GetChild(0)
				.GetChild(0)
				.GetChild(0));
			mabelBones[j].Add(gameObject.transform.GetChild(2));
			mabelBones[j].Add(gameObject.transform.GetChild(2).GetChild(0));
			mabelBones[j].Add(gameObject.transform.GetChild(2).GetChild(0).GetChild(0));
			mabelBones[j].Add(gameObject.transform.GetChild(2).GetChild(0).GetChild(0)
				.GetChild(0));
			mabelBones[j].Add(gameObject.transform.GetChild(2).GetChild(0).GetChild(0)
				.GetChild(0)
				.GetChild(0));
			mabelBones[j].Add(gameObject.transform.GetChild(3));
			mabelBones[j].Add(gameObject.transform.GetChild(3).GetChild(0));
			mabelBones[j].Add(gameObject.transform.GetChild(3).GetChild(0).GetChild(0));
			mabelBones[j].Add(gameObject.transform.GetChild(3).GetChild(0).GetChild(1));
			mabelBones[j].Add(gameObject.transform.GetChild(3).GetChild(0).GetChild(1)
				.GetChild(0));
			mabelBones[j].Add(gameObject.transform.GetChild(3).GetChild(0).GetChild(1)
				.GetChild(1));
			mabelBones[j].Add(gameObject.transform.GetChild(3).GetChild(0).GetChild(1)
				.GetChild(1)
				.GetChild(0));
			mabelBones[j].Add(gameObject.transform.GetChild(3).GetChild(0).GetChild(1)
				.GetChild(1)
				.GetChild(0)
				.GetChild(0));
			mabelBones[j].Add(gameObject.transform.GetChild(3).GetChild(0).GetChild(1)
				.GetChild(1)
				.GetChild(0)
				.GetChild(0)
				.GetChild(0));
			mabelBones[j].Add(gameObject.transform.GetChild(3).GetChild(0).GetChild(1)
				.GetChild(2));
			mabelBones[j].Add(gameObject.transform.GetChild(3).GetChild(0).GetChild(1)
				.GetChild(2)
				.GetChild(0));
			mabelBones[j].Add(gameObject.transform.GetChild(3).GetChild(0).GetChild(1)
				.GetChild(2)
				.GetChild(0)
				.GetChild(0));
			mabelBones[j].Add(gameObject.transform.GetChild(3).GetChild(0).GetChild(1)
				.GetChild(2)
				.GetChild(0)
				.GetChild(0)
				.GetChild(0));
			mabelBones[j].Add(gameObject.transform.GetChild(3).GetChild(0).GetChild(1)
				.GetChild(3));
			mabelBones[j].Add(gameObject.transform.GetChild(3).GetChild(0).GetChild(1)
				.GetChild(3)
				.GetChild(0));
			mabelBones[j].Add(gameObject.transform.GetChild(3).GetChild(0).GetChild(1)
				.GetChild(3)
				.GetChild(0)
				.GetChild(0));
			mabelBones[j].Add(gameObject.transform.GetChild(3).GetChild(0).GetChild(1)
				.GetChild(3)
				.GetChild(0)
				.GetChild(0)
				.GetChild(0));
			mabelBones[j].Add(gameObject.transform.GetChild(4));
			mabelBones[j].Add(gameObject.transform.GetChild(4).GetChild(0));
			mabelBones[j].Add(gameObject.transform.GetChild(4).GetChild(0).GetChild(0));
			mabelBones[j].Add(gameObject.transform.GetChild(4).GetChild(0).GetChild(0)
				.GetChild(0));
		}
	}

	[IteratorStateMachine(typeof(<listenForFlatLandButton>d__28))]
	private IEnumerator listenForFlatLandButton()
	{
		//yield-return decompiler failed: Unexpected instruction in Iterator.Dispose()
		return new <listenForFlatLandButton>d__28(0)
		{
			<>4__this = this
		};
	}

	public override void OnSceneWasLoaded(int buildIndex, string sceneName)
	{
		currentScene = sceneName;
		sceneCount++;
		inFlatLand = false;
	}

	[IteratorStateMachine(typeof(<toFlatLand>d__30))]
	private IEnumerator toFlatLand()
	{
		//yield-return decompiler failed: Unexpected instruction in Iterator.Dispose()
		return new <toFlatLand>d__30(0)
		{
			<>4__this = this
		};
	}

	[IteratorStateMachine(typeof(<JointWag>d__31))]
	public static IEnumerator JointWag(Transform joint, float[] minMax, float speed, int axis, float waitTime)
	{
		//yield-return decompiler failed: Unexpected instruction in Iterator.Dispose()
		return new <JointWag>d__31(0)
		{
			joint = joint,
			minMax = minMax,
			speed = speed,
			axis = axis,
			waitTime = waitTime
		};
	}

	private void PoseLayingDown(int mabelToTransform)
	{
		//IL_001d: Unknown result type (might be due to invalid IL or missing references)
		//IL_0044: Unknown result type (might be due to invalid IL or missing references)
		//IL_006b: Unknown result type (might be due to invalid IL or missing references)
		//IL_0092: Unknown result type (might be due to invalid IL or missing references)
		//IL_00b9: Unknown result type (might be due to invalid IL or missing references)
		//IL_00e0: Unknown result type (might be due to invalid IL or missing references)
		//IL_0107: Unknown result type (might be due to invalid IL or missing references)
		//IL_012e: Unknown result type (might be due to invalid IL or missing references)
		//IL_0155: Unknown result type (might be due to invalid IL or missing references)
		//IL_017d: 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_01cd: Unknown result type (might be due to invalid IL or missing references)
		//IL_01f5: Unknown result type (might be due to invalid IL or missing references)
		//IL_021d: 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_026d: 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_02bd: Unknown result type (might be due to invalid IL or missing references)
		//IL_02e5: Unknown result type (might be due to invalid IL or missing references)
		//IL_030d: Unknown result type (might be due to invalid IL or missing references)
		//IL_0335: Unknown result type (might be due to invalid IL or missing references)
		//IL_035d: Unknown result type (might be due to invalid IL or missing references)
		//IL_0385: Unknown result type (might be due to invalid IL or missing references)
		//IL_03ad: Unknown result type (might be due to invalid IL or missing references)
		//IL_03d5: Unknown result type (might be due to invalid IL or missing references)
		//IL_03fd: Unknown result type (might be due to invalid IL or missing references)
		//IL_0425: Unknown result type (might be due to invalid IL or missing references)
		//IL_044d: Unknown result type (might be due to invalid IL or missing references)
		//IL_0475: Unknown result type (might be due to invalid IL or missing references)
		//IL_049d: Unknown result type (might be due to invalid IL or missing references)
		//IL_04c5: Unknown result type (might be due to invalid IL or missing references)
		//IL_04ed: Unknown result type (might be due to invalid IL or missing references)
		mabelBones[mabelToTransform][0].localRotation = Quaternion.Euler(64.954185f, 15.453509f, 26.672903f);
		mabelBones[mabelToTransform][1].localRotation = Quaternion.Euler(3.1209786f, 4.4456854f, 56.365433f);
		mabelBones[mabelToTransform][2].localRotation = Quaternion.Euler(357.38712f, 157.48375f, 54.1958f);
		mabelBones[mabelToTransform][3].localRotation = Quaternion.Euler(323.17166f, 184.83246f, 179.21472f);
		mabelBones[mabelToTransform][4].localRotation = Quaternion.Euler(39.195377f, 233.07953f, 243.2471f);
		mabelBones[mabelToTransform][5].localRotation = Quaternion.Euler(334.6968f, 13.72322f, 9.599679f);
		mabelBones[mabelToTransform][6].localRotation = Quaternion.Euler(3.1209688f, 355.5546f, 303.63458f);
		mabelBones[mabelToTransform][7].localRotation = Quaternion.Euler(359.37982f, 208.90948f, 305.92798f);
		mabelBones[mabelToTransform][8].localRotation = Quaternion.Euler(327.33673f, 185.46567f, 176.45235f);
		mabelBones[mabelToTransform][9].localRotation = Quaternion.Euler(44.73943f, 235.17944f, 213.96765f);
		mabelBones[mabelToTransform][10].localRotation = Quaternion.Euler(337.84064f, 353.22662f, 342.9142f);
		mabelBones[mabelToTransform][11].localRotation = Quaternion.Euler(29.401266f, 356.84106f, 355.70065f);
		mabelBones[mabelToTransform][12].localRotation = Quaternion.Euler(21.440294f, 6.2652574f, 356.9603f);
		mabelBones[mabelToTransform][13].localRotation = Quaternion.Euler(87.97078f, 180.02342f, 180.0234f);
		mabelBones[mabelToTransform][14].localRotation = Quaternion.Euler(315.02142f, -9.655743E-05f, 6.825087E-05f);
		mabelBones[mabelToTransform][15].localRotation = Quaternion.Euler(58.859253f, 179.99841f, 179.99858f);
		mabelBones[mabelToTransform][16].localRotation = Quaternion.Euler(289.66806f, 306.76492f, 201.24818f);
		mabelBones[mabelToTransform][17].localRotation = Quaternion.Euler(52.753235f, 359.4264f, 29.824442f);
		mabelBones[mabelToTransform][18].localRotation = Quaternion.Euler(5.628575f, 22.14081f, 353.35345f);
		mabelBones[mabelToTransform][19].localRotation = Quaternion.Euler(345.66638f, 343.97522f, 359.7445f);
		mabelBones[mabelToTransform][20].localRotation = Quaternion.Euler(289.6681f, 53.235184f, 158.75185f);
		mabelBones[mabelToTransform][21].localRotation = Quaternion.Euler(29.813198f, 337.28467f, 309.2062f);
		mabelBones[mabelToTransform][22].localRotation = Quaternion.Euler(23.293386f, 14.090822f, 358.94537f);
		mabelBones[mabelToTransform][23].localRotation = Quaternion.Euler(323.03394f, 348.47235f, 347.2814f);
		mabelBones[mabelToTransform][24].localRotation = Quaternion.Euler(357.63348f, 4.0957664E-05f, 1.1290936E-06f);
		mabelBones[mabelToTransform][25].localRotation = Quaternion.Euler(8.128601f, -2.7718724E-07f, -3.9022475E-06f);
		mabelBones[mabelToTransform][26].localRotation = Quaternion.Euler(359.11588f, 1.4551167E-05f, 5.4072797E-07f);
		mabelBones[mabelToTransform][27].localRotation = Quaternion.Euler(294.96143f, -1.8863439E-05f, 2.8531915E-05f);
		mabelBones[mabelToTransform][28].localRotation = Quaternion.Euler(270.10086f, 260.37982f, 0f);
		mabelBones[mabelToTransform][29].localRotation = Quaternion.Euler(61.45423f, 62.812504f, 11.801867f);
		mabelBones[mabelToTransform][30].localRotation = Quaternion.Euler(17.759802f, 2.9351134E-15f, -1.2222483E-17f);
		mabelBones[mabelToTransform][31].localRotation = Quaternion.Euler(4.598563f, 2.2471763E-17f, -2.2091666E-18f);
		StartTailWagLaying(mabelToTransform);
	}

	private void PoseSleeping(int mabelToTransform)
	{
		//IL_001d: Unknown result type (might be due to invalid IL or missing references)
		//IL_0044: Unknown result type (might be due to invalid IL or missing references)
		//IL_006b: Unknown result type (might be due to invalid IL or missing references)
		//IL_0092: Unknown result type (might be due to invalid IL or missing references)
		//IL_00b9: Unknown result type (might be due to invalid IL or missing references)
		//IL_00e0: Unknown result type (might be due to invalid IL or missing references)
		//IL_0107: Unknown result type (might be due to invalid IL or missing references)
		//IL_012e: Unknown result type (might be due to invalid IL or missing references)
		//IL_0155: Unknown result type (might be due to invalid IL or missing references)
		//IL_017d: 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_01cd: Unknown result type (might be due to invalid IL or missing references)
		//IL_01f5: Unknown result type (might be due to invalid IL or missing references)
		//IL_021d: 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_026d: 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_02bd: Unknown result type (might be due to invalid IL or missing references)
		//IL_02e5: Unknown result type (might be due to invalid IL or missing references)
		//IL_030d: Unknown result type (might be due to invalid IL or missing references)
		//IL_0335: Unknown result type (might be due to invalid IL or missing references)
		//IL_035d: Unknown result type (might be due to invalid IL or missing references)
		//IL_0385: Unknown result type (might be due to invalid IL or missing references)
		//IL_03ad: Unknown result type (might be due to invalid IL or missing references)
		//IL_03d5: Unknown result type (might be due to invalid IL or missing references)
		//IL_03fd: Unknown result type (might be due to invalid IL or missing references)
		//IL_0425: Unknown result type (might be due to invalid IL or missing references)
		//IL_044d: Unknown result type (might be due to invalid IL or missing references)
		//IL_0475: Unknown result type (might be due to invalid IL or missing references)
		//IL_049d: Unknown result type (might be due to invalid IL or missing references)
		//IL_04c5: Unknown result type (might be due to invalid IL or missing references)
		//IL_04ed: Unknown result type (might be due to invalid IL or missing references)
		mabelBones[mabelToTransform][0].localRotation = Quaternion.Euler(333.25577f, 129.47911f, 11.290493f);
		mabelBones[mabelToTransform][1].localRotation = Quaternion.Euler(3.1209786f, 4.4456854f, 56.365433f);
		mabelBones[mabelToTransform][2].localRotation = Quaternion.Euler(339.37158f, 148.01077f, 50.255894f);
		mabelBones[mabelToTransform][3].localRotation = Quaternion.Euler(325.35873f, 219.4933f, 149.05473f);
		mabelBones[mabelToTransform][4].localRotation = Quaternion.Euler(73.65269f, 255.12549f, 219.2606f);
		mabelBones[mabelToTransform][5].localRotation = Quaternion.Euler(336.0943f, 18.059381f, 15.658356f);
		mabelBones[mabelToTransform][6].localRotation = Quaternion.Euler(3.1209688f, 355.5546f, 303.63458f);
		mabelBones[mabelToTransform][7].localRotation = Quaternion.Euler(336.07742f, 206.04381f, 310.56415f);
		mabelBones[mabelToTransform][8].localRotation = Quaternion.Euler(303.69308f, 203.37262f, 166.95901f);
		mabelBones[mabelToTransform][9].localRotation = Quaternion.Euler(71.686005f, 105.708694f, 95.61362f);
		mabelBones[mabelToTransform][10].localRotation = Quaternion.Euler(340.04678f, 2.958346f, 349.5857f);
		mabelBones[mabelToTransform][11].localRotation = Quaternion.Euler(51.690998f, 3.105255f, 10.32038f);
		mabelBones[mabelToTransform][12].localRotation = Quaternion.Euler(35.464985f, 357.97955f, 356.40466f);
		mabelBones[mabelToTransform][13].localRotation = Quaternion.Euler(87.97078f, 180.02342f, 180.0234f);
		mabelBones[mabelToTransform][14].localRotation = Quaternion.Euler(351.70013f, 4.1896443f, 4.747881f);
		mabelBones[mabelToTransform][15].localRotation = Quaternion.Euler(58.859253f, 179.99841f, 179.99858f);
		mabelBones[mabelToTransform][16].localRotation = Quaternion.Euler(358.4639f, 208.5479f, 325.71515f);
		mabelBones[mabelToTransform][17].localRotation = Quaternion.Euler(318.0152f, 162.2435f, 143.24417f);
		mabelBones[mabelToTransform][18].localRotation = Quaternion.Euler(23.63959f, -4.9624312E-05f, -0.0001852999f);
		mabelBones[mabelToTransform][19].localRotation = Quaternion.Euler(15.683508f, 347.6637f, 353.93878f);
		mabelBones[mabelToTransform][20].localRotation = Quaternion.Euler(332.47003f, 144.3116f, 51.28744f);
		mabelBones[mabelToTransform][21].localRotation = Quaternion.Euler(302.77478f, 155.6745f, 222.43324f);
		mabelBones[mabelToTransform][22].localRotation = Quaternion.Euler(84.393074f, 37.8366f, 26.441755f);
		mabelBones[mabelToTransform][23].localRotation = Quaternion.Euler(320.5011f, 15.11045f, 348.53348f);
		mabelBones[mabelToTransform][24].localRotation = Quaternion.Euler(35.436886f, 10.085943f, 359.66937f);
		mabelBones[mabelToTransform][25].localRotation = Quaternion.Euler(8.128601f, -2.7718724E-07f, -3.9022475E-06f);
		mabelBones[mabelToTransform][26].localRotation = Quaternion.Euler(359.11588f, 1.4551167E-05f, 5.4072797E-07f);
		mabelBones[mabelToTransform][27].localRotation = Quaternion.Euler(343.39624f, 342.43906f, 352.28305f);
		mabelBones[mabelToTransform][28].localRotation = Quaternion.Euler(45.22453f, 180.6039f, 166.03857f);
		mabelBones[mabelToTransform][29].localRotation = Quaternion.Euler(359.1182f, 87.17388f, 317.72626f);
		mabelBones[mabelToTransform][30].localRotation = Quaternion.Euler(0.2796675f, 337.10666f, 306.12775f);
		mabelBones[mabelToTransform][31].localRotation = Quaternion.Euler(330.37283f, 329.04764f, 328.39276f);
	}

	private void PoseSitting(int mabelToTransform)
	{
		//IL_001d: Unknown result type (might be due to invalid IL or missing references)
		//IL_0044: Unknown result type (might be due to invalid IL or missing references)
		//IL_006b: Unknown result type (might be due to invalid IL or missing references)
		//IL_0092: Unknown result type (might be due to invalid IL or missing references)
		//IL_00b9: Unknown result type (might be due to invalid IL or missing references)
		//IL_00e0: Unknown result type (might be due to invalid IL or missing references)
		//IL_0107: Unknown result type (might be due to invalid IL or missing references)
		//IL_012e: Unknown result type (might be due to invalid IL or missing references)
		//IL_0155: Unknown result type (might be due to invalid IL or missing references)
		//IL_017d: 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_01cd: Unknown result type (might be due to invalid IL or missing references)
		//IL_01f5: Unknown result type (might be due to invalid IL or missing references)
		//IL_021d: 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_026d: 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_02bd: Unknown result type (might be due to invalid IL or missing references)
		//IL_02e5: Unknown result type (might be due to invalid IL or missing references)
		//IL_030d: Unknown result type (might be due to invalid IL or missing references)
		//IL_0335: Unknown result type (might be due to invalid IL or missing references)
		//IL_035d: Unknown result type (might be due to invalid IL or missing references)
		//IL_0385: Unknown result type (might be due to invalid IL or missing references)
		//IL_03ad: Unknown result type (might be due to invalid IL or missing references)
		//IL_03d5: Unknown result type (might be due to invalid IL or missing references)
		//IL_03fd: Unknown result type (might be due to invalid IL or missing references)
		//IL_0425: Unknown result type (might be due to invalid IL or missing references)
		//IL_044d: Unknown result type (might be due to invalid IL or missing references)
		//IL_0475: Unknown result type (might be due to invalid IL or missing references)
		//IL_049d: Unknown result type (might be due to invalid IL or missing references)
		//IL_04c5: Unknown result type (might be due to invalid IL or missing references)
		//IL_04ed: Unknown result type (might be due to invalid IL or missing references)
		mabelBones[mabelToTransform][0].localRotation = Quaternion.Euler(60.704338f, 335.02463f, 341.34723f);
		mabelBones[mabelToTransform][1].localRotation = Quaternion.Euler(3.1209786f, 4.4456854f, 56.365433f);
		mabelBones[mabelToTransform][2].localRotation = Quaternion.Euler(7.8021617f, 164.9378f, 44.55482f);
		mabelBones[mabelToTransform][3].localRotation = Quaternion.Euler(315.27023f, 193.11171f, 173.50316f);
		mabelBones[mabelToTransform][4].localRotation = Quaternion.Euler(77.25561f, 323.94925f, 329.14777f);
		mabelBones[mabelToTransform][5].localRotation = Quaternion.Euler(335.40265f, 359.23508f, 6.788837f);
		mabelBones[mabelToTransform][6].localRotation = Quaternion.Euler(3.120968f, 355.5546f, 303.63458f);
		mabelBones[mabelToTransform][7].localRotation = Quaternion.Euler(352.818f, 191.96672f, 317.15573f);
		mabelBones[mabelToTransform][8].localRotation = Quaternion.Euler(314.94208f, 217.37848f, 160.25224f);
		mabelBones[mabelToTransform][9].localRotation = Quaternion.Euler(75.161964f, 121.47308f, 74.16353f);
		mabelBones[mabelToTransform][10].localRotation = Quaternion.Euler(322.0849f, 357.29453f, 342.4746f);
		mabelBones[mabelToTransform][11].localRotation = Quaternion.Euler(18.673882f, 349.94006f, 4.8356986f);
		mabelBones[mabelToTransform][12].localRotation = Quaternion.Euler(7.66934f, 3.4410949f, 356.7834f);
		mabelBones[mabelToTransform][13].localRotation = Quaternion.Euler(87.97059f, 180.02342f, 180.0234f);
		mabelBones[mabelToTransform][14].localRotation = Quaternion.Euler(340.26074f, -9.6557764E-05f, 6.8251065E-05f);
		mabelBones[mabelToTransform][15].localRotation = Quaternion.Euler(58.859257f, 179.99841f, 179.99858f);
		mabelBones[mabelToTransform][16].localRotation = Quaternion.Euler(289.6681f, 306.76492f, 201.24818f);
		mabelBones[mabelToTransform][17].localRotation = Quaternion.Euler(19.499407f, 334.3408f, 26.786076f);
		mabelBones[mabelToTransform][18].localRotation = Quaternion.Euler(23.639585f, -4.9624312E-05f, -0.00018529988f);
		mabelBones[mabelToTransform][19].localRotation = Quaternion.Euler(7.575464f, 13.0273485f, 349.63495f);
		mabelBones[mabelToTransform][20].localRotation = Quaternion.Euler(289.66812f, 53.23518f, 158.75185f);
		mabelBones[mabelToTransform][21].localRotation = Quaternion.Euler(23.990896f, 34.429726f, 333.46115f);
		mabelBones[mabelToTransform][22].localRotation = Quaternion.Euler(23.63958f, 5.61523E-05f, 0.00019950987f);
		mabelBones[mabelToTransform][23].localRotation = Quaternion.Euler(5.360162f, 358.5285f, 3.332931f);
		mabelBones[mabelToTransform][24].localRotation = Quaternion.Euler(357.63348f, 4.0957664E-05f, 1.1290934E-06f);
		mabelBones[mabelToTransform][25].localRotation = Quaternion.Euler(37.79036f, 358.7982f, 12.7111025f);
		mabelBones[mabelToTransform][26].localRotation = Quaternion.Euler(16.774218f, 359.1383f, 354.23416f);
		mabelBones[mabelToTransform][27].localRotation = Quaternion.Euler(294.96143f, -1.886344E-05f, 2.8531918E-05f);
		mabelBones[mabelToTransform][28].localRotation = Quaternion.Euler(304.89563f, 126.84589f, 213.60846f);
		mabelBones[mabelToTransform][29].localRotation = Quaternion.Euler(23.653973f, 1.5278426f, 15.393756f);
		mabelBones[mabelToTransform][30].localRotation = Quaternion.Euler(34.795444f, 332.2278f, 0.42652133f);
		mabelBones[mabelToTransform][31].localRotation = Quaternion.Euler(28.697893f, 346.5803f, 349.73682f);
		StartTailWagSitting(mabelToTransform);
	}

	private void PoseStanding(int mabelToTransform)
	{
		//IL_001d: Unknown result type (might be due to invalid IL or missing references)
		//IL_0044: Unknown result type (might be due to invalid IL or missing references)
		//IL_006b: Unknown result type (might be due to invalid IL or missing references)
		//IL_0092: Unknown result type (might be due to invalid IL or missing references)
		//IL_00b9: Unknown result type (might be due to invalid IL or missing references)
		//IL_00e0: Unknown result type (might be due to invalid IL or missing references)
		//IL_0107: Unknown result type (might be due to invalid IL or missing references)
		//IL_012e: Unknown result type (might be due to invalid IL or missing references)
		//IL_0155: Unknown result type (might be due to invalid IL or missing references)
		//IL_017d: 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_01cd: Unknown result type (might be due to invalid IL or missing references)
		//IL_01f5: Unknown result type (might be due to invalid IL or missing references)
		//IL_021d: 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_026d: 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_02bd: Unknown result type (might be due to invalid IL or missing references)
		//IL_02e5: Unknown result type (might be due to invalid IL or missing references)
		//IL_030d: Unknown result type (might be due to invalid IL or missing references)
		//IL_0335: Unknown result type (might be due to invalid IL or missing references)
		//IL_035d: Unknown result type (might be due to invalid IL or missing references)
		//IL_0385: Unknown result type (might be due to invalid IL or missing references)
		//IL_03ad: Unknown result type (might be due to invalid IL or missing references)
		//IL_03d5: Unknown result type (might be due to invalid IL or missing references)
		//IL_03fd: Unknown result type (might be due to invalid IL or missing references)
		//IL_0425: Unknown result type (might be due to invalid IL or missing references)
		//IL_044d: Unknown result type (might be due to invalid IL or missing references)
		//IL_0475: Unknown result type (might be due to invalid IL or missing references)
		//IL_049d: Unknown result type (might be due to invalid IL or missing references)
		//IL_04c5: Unknown result type (might be due to invalid IL or missing references)
		//IL_04ed: Unknown result type (might be due to invalid IL or missing references)
		mabelBones[mabelToTransform][0].localRotation = Quaternion.Euler(85.23194f, -1.4076705E-05f, -0.00016377385f);
		mabelBones[mabelToTransform][1].localRotation = Quaternion.Euler(3.1209786f, 4.4456854f, 56.365433f);
		mabelBones[mabelToTransform][2].localRotation = Quaternion.Euler(326.57452f, 95.50591f, 82.301f);
		mabelBones[mabelToTransform][3].localRotation = Quaternion.Euler(309.5199f, 359.71915f, 0.3281641f);
		mabelBones[mabelToTransform][4].localRotation = Quaternion.Euler(54.69404f, -0.00030330702f, -0.00058570225f);
		mabelBones[mabelToTransform][5].localRotation = Quaternion.Euler(47.206306f, -0.00019578602f, -0.0004480658f);
		mabelBones[mabelToTransform][6].localRotation = Quaternion.Euler(3.1209688f, 355.5546f, 303.63458f);
		mabelBones[mabelToTransform][7].localRotation = Quaternion.Euler(326.57452f, 264.4941f, 277.69897f);
		mabelBones[mabelToTransform][8].localRotation = Quaternion.Euler(309.5199f, 0.28084344f, 359.6718f);
		mabelBones[mabelToTransform][9].localRotation = Quaternion.Euler(54.694065f, 0.00031329607f, 0.00060501765f);
		mabelBones[mabelToTransform][10].localRotation = Quaternion.Euler(47.206306f, 0.00020223352f, 0.000462821f);
		mabelBones[mabelToTransform][11].localRotation = Quaternion.Euler(6.1483536f, 0.00015026508f, -8.189325E-11f);
		mabelBones[mabelToTransform][12].localRotation = Quaternion.Euler(355.7813f, 7.81769E-10f, -1.6325444E-12f);
		mabelBones[mabelToTransform][13].localRotation = Quaternion.Euler(87.97078f, 180.02342f, 180.0234f);
		mabelBones[mabelToTransform][14].localRotation = Quaternion.Euler(315.02142f, -9.655743E-05f, 6.825087E-05f);
		mabelBones[mabelToTransform][15].localRotation = Quaternion.Euler(84.74238f, -0.00017562282f, 2.4879216E-09f);
		mabelBones[mabelToTransform][16].localRotation = Quaternion.Euler(289.66806f, 306.76492f, 201.24818f);
		mabelBones[mabelToTransform][17].localRotation = Quaternion.Euler(326.8363f, 320.70926f, 35.50474f);
		mabelBones[mabelToTransform][18].localRotation = Quaternion.Euler(23.63959f, -4.9624312E-05f, -0.0001852999f);
		mabelBones[mabelToTransform][19].localRotation = Quaternion.Euler(43.84563f, -0.00016035534f, -0.00039843447f);
		mabelBones[mabelToTransform][20].localRotation = Quaternion.Euler(289.6681f, 53.235184f, 158.75185f);
		mabelBones[mabelToTransform][21].localRotation = Quaternion.Euler(326.8364f, 39.29078f, 324.49524f);
		mabelBones[mabelToTransform][22].localRotation = Quaternion.Euler(23.639582f, 5.61523E-05f, 0.00019950987f);
		mabelBones[mabelToTransform][23].localRotation = Quaternion.Euler(43.84563f, 0.00015725625f, 0.00042467614f);
		mabelBones[mabelToTransform][24].localRotation = Quaternion.Euler(357.63348f, 4.0957664E-05f, 1.1290936E-06f);
		mabelBones[mabelToTransform][25].localRotation = Quaternion.Euler(8.128601f, -2.7718724E-07f, -3.9022475E-06f);
		mabelBones[mabelToTransform][26].localRotation = Quaternion.Euler(37.642838f, 348.62793f, 43.37256f);
		mabelBones[mabelToTransform][27].localRotation = Quaternion.Euler(294.5568f, -1.886352E-05f, 2.8532124E-05f);
		mabelBones[mabelToTransform][28].localRotation = Quaternion.Euler(15.681303f, 180.00014f, 180f);
		mabelBones[mabelToTransform][29].localRotation = Quaternion.Euler(6.44504f, 8.069696E-10f, -6.5554927E-12f);
		mabelBones[mabelToTransform][30].localRotation = Quaternion.Euler(7.599642f, 2.935112E-15f, -1.22223165E-17f);
		mabelBones[mabelToTransform][31].localRotation = Quaternion.Euler(4.598563f, 2.2471763E-17f, -2.2091666E-18f);
		StartTailWagStanding(mabelToTransform);
	}

	public static void StartTailWagLaying(int mabelToTransform)
	{
		float[] minMax = new float[2] { 1f, 30f };
		float speed = 1f;
		MelonCoroutines.Start(JointWag(mabelBones[mabelToTransform][31], minMax, speed, 2, 1f));
	}

	public static void StartTailWagStanding(int mabelToTransform)
	{
		//IL_00ab: Unknown result type (might be due to invalid IL or missing references)
		//IL_00d1: 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_011d: Unknown result type (might be due to invalid IL or missing references)
		float[][] array = new float[4][]
		{
			new float[2] { 145f, 215f },
			new float[2] { -35f, 35f },
			new float[2] { -35f, 35f },
			new float[2] { -35f, 35f }
		};
		float[] array2 = new float[4] { 180f, 330f, 350f, 350f };
		float[] array3 = new float[4] { 2f, 2f, -2f, -2f };
		mabelBones[mabelToTransform][28].localRotation = Quaternion.Euler(15.6784f, 180f, array2[0]);
		mabelBones[mabelToTransform][29].localRotation = Quaternion.Euler(6.445f, 0f, array2[1]);
		mabelBones[mabelToTransform][30].localRotation = Quaternion.Euler(7.5996f, 0f, array2[2]);
		mabelBones[mabelToTransform][31].localRotation = Quaternion.Euler(4.5986f, 0f, array2[3]);
		MelonCoroutines.Start(JointWag(mabelBones[mabelToTransform][28], array[0], array3[0], 2, 0f));
		MelonCoroutines.Start(JointWag(mabelBones[mabelToTransform][29], array[1], array3[1], 2, 0f));
		MelonCoroutines.Start(JointWag(mabelBones[mabelToTransform][30], array[2], array3[2], 2, 0f));
		MelonCoroutines.Start(JointWag(mabelBones[mabelToTransform][31], array[3], array3[3], 2, 0f));
	}

	public static void StartTailWagSitting(int mabelToTransform)
	{
		//IL_00ab: Unknown result type (might be due to invalid IL or missing references)
		//IL_00d1: 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_011d: Unknown result type (might be due to invalid IL or missing references)
		float[][] array = new float[4][]
		{
			new float[2] { 145f, 215f },
			new float[2] { -35f, 35f },
			new float[2] { -35f, 35f },
			new float[2] { -35f, 35f }
		};
		float[] array2 = new float[4] { 180f, 330f, 350f, 350f };
		float[] array3 = new float[4] { 2f, 2f, -2f, -2f };
		mabelBones[mabelToTransform][28].localRotation = Quaternion.Euler(304.8956f, 167f, array2[0]);
		mabelBones[mabelToTransform][29].localRotation = Quaternion.Euler(6.445f, 0f, array2[1]);
		mabelBones[mabelToTransform][30].localRotation = Quaternion.Euler(7.5996f, 0f, array2[2]);
		mabelBones[mabelToTransform][31].localRotation = Quaternion.Euler(4.5986f, 0f, array2[3]);
		MelonCoroutines.Start(JointWag(mabelBones[mabelToTransform][28], array[0], array3[0], 2, 0f));
		MelonCoroutines.Start(JointWag(mabelBones[mabelToTransform][29], array[1], array3[1], 2, 0f));
		MelonCoroutines.Start(JointWag(mabelBones[mabelToTransform][30], array[2], array3[2], 2, 0f));
		MelonCoroutines.Start(JointWag(mabelBones[mabelToTransform][31], array[3], array3[3], 2, 0f));
	}
}