Decompiled source of PizzafaceMod v1.2.2

PizzafaceUltrakillMod.dll

Decompiled a year ago
using System;
using System.CodeDom.Compiler;
using System.ComponentModel;
using System.Diagnostics;
using System.Globalization;
using System.Reflection;
using System.Resources;
using System.Runtime.CompilerServices;
using System.Runtime.Versioning;
using System.Security;
using System.Security.Permissions;
using BepInEx;
using BepInEx.Logging;
using HarmonyLib;
using Microsoft.CodeAnalysis;
using PizzafaceUltrakillMod.Properties;
using UnityEngine;

[assembly: CompilationRelaxations(8)]
[assembly: RuntimeCompatibility(WrapNonExceptionThrows = true)]
[assembly: Debuggable(DebuggableAttribute.DebuggingModes.Default | DebuggableAttribute.DebuggingModes.DisableOptimizations | DebuggableAttribute.DebuggingModes.IgnoreSymbolStoreSequencePoints | DebuggableAttribute.DebuggingModes.EnableEditAndContinue)]
[assembly: TargetFramework(".NETFramework,Version=v4.7.2", FrameworkDisplayName = ".NET Framework 4.7.2")]
[assembly: AssemblyCompany("PizzafaceUltrakillMod")]
[assembly: AssemblyConfiguration("Debug")]
[assembly: AssemblyDescription("My first plugin")]
[assembly: AssemblyFileVersion("1.2.2.0")]
[assembly: AssemblyInformationalVersion("1.2.2")]
[assembly: AssemblyProduct("PizzafaceUltrakillMod")]
[assembly: AssemblyTitle("PizzafaceUltrakillMod")]
[assembly: SecurityPermission(SecurityAction.RequestMinimum, SkipVerification = true)]
[assembly: AssemblyVersion("1.2.2.0")]
[module: UnverifiableCode]
[module: RefSafetyRules(11)]
namespace Microsoft.CodeAnalysis
{
	[CompilerGenerated]
	[Microsoft.CodeAnalysis.Embedded]
	internal sealed class EmbeddedAttribute : Attribute
	{
	}
}
namespace System.Runtime.CompilerServices
{
	[CompilerGenerated]
	[Microsoft.CodeAnalysis.Embedded]
	[AttributeUsage(AttributeTargets.Module, AllowMultiple = false, Inherited = false)]
	internal sealed class RefSafetyRulesAttribute : Attribute
	{
		public readonly int Version;

		public RefSafetyRulesAttribute(int P_0)
		{
			Version = P_0;
		}
	}
}
[BepInPlugin("PizzafaceUltrakillMod", "PizzafaceUltrakillMod", "1.2.2")]
public class Plugin : BaseUnityPlugin
{
	public AssetBundle assetBundle;

	public static Plugin Instance;

	public AudioClip fatass;

	public GameObject pizzaface;

	public ManualLogSource log;

	public AudioClip pRank;

	public AudioClip sRank;

	public AudioClip aRank;

	public AudioClip cRank;

	public AudioClip dRank;

	public AudioClip preRank;

	public Sprite sadPizza;

	private void Awake()
	{
		//IL_007a: Unknown result type (might be due to invalid IL or missing references)
		//IL_0096: Unknown result type (might be due to invalid IL or missing references)
		//IL_009c: Expected O, but got Unknown
		Instance = this;
		log = ((BaseUnityPlugin)this).Logger;
		((BaseUnityPlugin)this).Logger.LogInfo((object)"Plugin PizzafaceUltrakillMod is loaded!");
		assetBundle = AssetBundle.LoadFromMemory(Resources.pizzaface);
		fatass = assetBundle.LoadAsset<AudioClip>("fatass");
		pizzaface = assetBundle.LoadAsset<GameObject>("pizzaface");
		pizzaface.transform.localScale = new Vector3(5f, 5f, 5f);
		pizzaface.AddComponent<Pizzaface>();
		Harmony val = new Harmony("PizzafaceUltrakillMod");
		val.PatchAll();
		pRank = assetBundle.LoadAsset<AudioClip>("VictoriousP");
		sRank = assetBundle.LoadAsset<AudioClip>("VictoriousS");
		aRank = assetBundle.LoadAsset<AudioClip>("VictoriousA");
		cRank = assetBundle.LoadAsset<AudioClip>("VictoriousC");
		dRank = assetBundle.LoadAsset<AudioClip>("VictoriousD");
		preRank = assetBundle.LoadAsset<AudioClip>("VictoriousPre");
		sadPizza = assetBundle.LoadAsset<Sprite>("SadPizza");
	}

	public void ResetScene()
	{
		SceneHelper.LoadScene(SceneHelper.CurrentScene, false);
	}
}
public class Pizzaface : MonoBehaviour
{
	public static Pizzaface Instance;

	public float timeUntilMovement;

	public float transparency;

	public float timeUntilTrail;

	public Vector3 yOffset;

	public void Awake()
	{
		Instance = this;
	}

	public void Start()
	{
		//IL_0026: 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)
		//IL_0051: Unknown result type (might be due to invalid IL or missing references)
		//IL_0056: Unknown result type (might be due to invalid IL or missing references)
		timeUntilMovement = 1.5f;
		((Component)this).GetComponent<SpriteRenderer>().color = Color.op_Implicit(new Vector4(1f, 1f, 1f, 0f));
		transparency = 0f;
		yOffset = new Vector3(0f, 1.5f, 0f);
		timeUntilTrail = 0.5f;
	}

	public void Update()
	{
		//IL_0075: Unknown result type (might be due to invalid IL or missing references)
		//IL_007a: Unknown result type (might be due to invalid IL or missing references)
		//IL_0198: Unknown result type (might be due to invalid IL or missing references)
		//IL_01a3: Unknown result type (might be due to invalid IL or missing references)
		//IL_01a8: Unknown result type (might be due to invalid IL or missing references)
		//IL_01ad: 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)
		//IL_01cd: 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)
		//IL_00b4: 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_0217: Unknown result type (might be due to invalid IL or missing references)
		//IL_0151: Unknown result type (might be due to invalid IL or missing references)
		//IL_0160: 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_016b: Unknown result type (might be due to invalid IL or missing references)
		//IL_017b: Unknown result type (might be due to invalid IL or missing references)
		//IL_00d6: Unknown result type (might be due to invalid IL or missing references)
		//IL_00e5: 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_0118: Unknown result type (might be due to invalid IL or missing references)
		//IL_011e: Unknown result type (might be due to invalid IL or missing references)
		//IL_0123: Unknown result type (might be due to invalid IL or missing references)
		//IL_0136: Unknown result type (might be due to invalid IL or missing references)
		//IL_023c: Unknown result type (might be due to invalid IL or missing references)
		//IL_024b: Unknown result type (might be due to invalid IL or missing references)
		//IL_03a5: Unknown result type (might be due to invalid IL or missing references)
		//IL_03ac: Expected O, but got Unknown
		//IL_03ef: Unknown result type (might be due to invalid IL or missing references)
		//IL_03f4: Unknown result type (might be due to invalid IL or missing references)
		//IL_040c: Unknown result type (might be due to invalid IL or missing references)
		//IL_042c: Unknown result type (might be due to invalid IL or missing references)
		//IL_0437: Unknown result type (might be due to invalid IL or missing references)
		//IL_0270: Unknown result type (might be due to invalid IL or missing references)
		//IL_027f: Unknown result type (might be due to invalid IL or missing references)
		//IL_02a1: Unknown result type (might be due to invalid IL or missing references)
		//IL_02b0: Unknown result type (might be due to invalid IL or missing references)
		timeUntilMovement = Mathf.MoveTowards(timeUntilMovement, 0f, Time.deltaTime);
		timeUntilTrail = Mathf.MoveTowards(timeUntilTrail, 0f, Time.deltaTime);
		transparency = Mathf.MoveTowards(transparency, 1f, Time.deltaTime / 1.5f);
		((Component)this).GetComponent<SpriteRenderer>().color = Color.op_Implicit(new Vector4(1f, transparency, transparency, transparency));
		if (timeUntilMovement <= 0f)
		{
			if (Vector3.Distance(((Component)this).transform.position, ((Component)MonoSingleton<NewMovement>.Instance).transform.position) > 50f)
			{
				float num = (Vector3.Distance(((Component)this).transform.position, ((Component)MonoSingleton<NewMovement>.Instance).transform.position) - 50f) * 3f;
				((Component)this).transform.position = Vector3.MoveTowards(((Component)this).transform.position, ((Component)MonoSingleton<NewMovement>.Instance).transform.position + yOffset, Time.deltaTime * (17f + num));
			}
			else
			{
				((Component)this).transform.position = Vector3.MoveTowards(((Component)this).transform.position, ((Component)MonoSingleton<NewMovement>.Instance).transform.position + yOffset, Time.deltaTime * 17f);
			}
		}
		((Component)this).transform.rotation = Quaternion.LookRotation(((Component)Camera.current).transform.position - ((Component)this).transform.position);
		if (Vector3.Distance(((Component)this).transform.position, ((Component)MonoSingleton<NewMovement>.Instance).transform.position) < 25f)
		{
			((Component)((Component)this).transform.GetChild(0)).GetComponent<AudioSource>().mute = false;
			if (Vector3.Distance(((Component)this).transform.position, ((Component)MonoSingleton<NewMovement>.Instance).transform.position) < 20f)
			{
				if (Vector3.Distance(((Component)this).transform.position, ((Component)MonoSingleton<NewMovement>.Instance).transform.position) < 15f)
				{
					if (Vector3.Distance(((Component)this).transform.position, ((Component)MonoSingleton<NewMovement>.Instance).transform.position) < 10f)
					{
						if (Vector3.Distance(((Component)this).transform.position, ((Component)MonoSingleton<NewMovement>.Instance).transform.position) < 5f)
						{
							((Component)((Component)this).transform.GetChild(0)).GetComponent<AudioSource>().volume = 1f;
						}
						else
						{
							((Component)((Component)this).transform.GetChild(0)).GetComponent<AudioSource>().volume = 0.8f;
						}
					}
					else
					{
						((Component)((Component)this).transform.GetChild(0)).GetComponent<AudioSource>().volume = 0.6f;
					}
				}
				else
				{
					((Component)((Component)this).transform.GetChild(0)).GetComponent<AudioSource>().volume = 0.4f;
				}
			}
			else
			{
				((Component)((Component)this).transform.GetChild(0)).GetComponent<AudioSource>().volume = 0.2f;
			}
		}
		else
		{
			((Component)((Component)this).transform.GetChild(0)).GetComponent<AudioSource>().mute = true;
		}
		if (timeUntilTrail <= 0f)
		{
			GameObject val = new GameObject();
			val.AddComponent<SpriteRenderer>();
			val.AddComponent<PizzafaceTrail>();
			val.GetComponent<SpriteRenderer>().sprite = ((Component)this).GetComponent<SpriteRenderer>().sprite;
			val.GetComponent<SpriteRenderer>().color = Color.op_Implicit(new Vector4(1f, 0.5f, 0.5f, 1f));
			val.transform.localScale = ((Component)this).transform.localScale;
			((Object)val).name = "Pizza trail";
			Object.Instantiate<GameObject>(val, ((Component)this).transform.position, ((Component)this).transform.rotation);
			timeUntilTrail = 0.5f;
		}
	}

	private void OnTriggerEnter(Collider other)
	{
		if (((Component)other).CompareTag("Player") && timeUntilMovement <= 0f)
		{
			DestroyPizza(kill: true);
		}
	}

	private void OnTriggerStay(Collider other)
	{
		if (((Component)other).CompareTag("Player") && timeUntilMovement <= 0f)
		{
			DestroyPizza(kill: true);
		}
	}

	public void DestroyPizza(bool kill)
	{
		//IL_008b: Unknown result type (might be due to invalid IL or missing references)
		//IL_0091: Expected O, but got Unknown
		//IL_000a: Unknown result type (might be due to invalid IL or missing references)
		//IL_0011: Expected O, but got Unknown
		//IL_004d: Unknown result type (might be due to invalid IL or missing references)
		//IL_0052: Unknown result type (might be due to invalid IL or missing references)
		//IL_00d8: 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_0143: Unknown result type (might be due to invalid IL or missing references)
		//IL_0161: Unknown result type (might be due to invalid IL or missing references)
		//IL_016c: Unknown result type (might be due to invalid IL or missing references)
		//IL_0126: 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)
		if (kill)
		{
			GameObject val = new GameObject();
			val.AddComponent<AudioSource>();
			val.AddComponent<Fatass>();
			val.GetComponent<AudioSource>().playOnAwake = false;
			((Object)val).name = "fatass";
			Object.Instantiate<GameObject>(val, ((Component)MonoSingleton<NewMovement>.Instance).gameObject.transform.position, Quaternion.identity, ((Component)MonoSingleton<NewMovement>.Instance).gameObject.transform);
			MonoSingleton<NewMovement>.Instance.GetHurt(999, false, 1f, false, false, 1f, false);
		}
		GameObject val2 = new GameObject();
		val2.AddComponent<SpriteRenderer>();
		val2.AddComponent<PizzafaceTrail>();
		if (kill)
		{
			val2.GetComponent<SpriteRenderer>().sprite = ((Component)this).GetComponent<SpriteRenderer>().sprite;
			val2.GetComponent<SpriteRenderer>().color = Color.op_Implicit(new Vector4(1f, 0.5f, 0.5f, 1f));
		}
		if (!kill)
		{
			val2.GetComponent<SpriteRenderer>().sprite = Plugin.Instance.sadPizza;
			val2.GetComponent<SpriteRenderer>().color = Color.op_Implicit(new Vector4(1f, 1f, 1f, 1f));
		}
		val2.transform.localScale = ((Component)this).transform.localScale;
		((Object)val2).name = "Pizza trail";
		Object.Instantiate<GameObject>(val2, ((Component)this).transform.position, ((Component)this).transform.rotation);
		timeUntilTrail = 0.5f;
		Object.Destroy((Object)(object)((Component)this).gameObject);
		if (kill && SceneHelper.CurrentScene != "Endless")
		{
			SceneHelper.LoadScene(SceneHelper.CurrentScene, false);
		}
	}
}
public class PizzafaceTrail : MonoBehaviour
{
	public void Update()
	{
		//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_001d: Unknown result type (might be due to invalid IL or missing references)
		//IL_002d: Unknown result type (might be due to invalid IL or missing references)
		//IL_003d: Unknown result type (might be due to invalid IL or missing references)
		//IL_004c: 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_0061: Unknown result type (might be due to invalid IL or missing references)
		//IL_0072: 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_00b2: 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_00bc: Unknown result type (might be due to invalid IL or missing references)
		((Component)this).GetComponent<SpriteRenderer>().color = Color.op_Implicit(Vector4.MoveTowards(Color.op_Implicit(((Component)this).GetComponent<SpriteRenderer>().color), new Vector4(((Component)this).GetComponent<SpriteRenderer>().color.r, ((Component)this).GetComponent<SpriteRenderer>().color.g, ((Component)this).GetComponent<SpriteRenderer>().color.b, 0f), Time.deltaTime / 3f));
		if (((Component)this).GetComponent<SpriteRenderer>().color.a == 0f)
		{
			Object.Destroy((Object)(object)((Component)this).gameObject);
		}
		((Component)this).transform.rotation = Quaternion.LookRotation(((Component)Camera.current).transform.position - ((Component)this).transform.position);
	}
}
public class Fatass : MonoBehaviour
{
	public float timeUntilDestroy;

	private void Awake()
	{
		((Component)this).GetComponent<AudioSource>().clip = Plugin.Instance.fatass;
		((Component)this).GetComponent<AudioSource>().Play();
		timeUntilDestroy = 7f;
	}

	private void Update()
	{
		timeUntilDestroy = Mathf.MoveTowards(timeUntilDestroy, 0f, Time.deltaTime);
		if (timeUntilDestroy <= 0f)
		{
			Object.Destroy((Object)(object)((Component)this).gameObject);
		}
	}
}
[HarmonyPatch(typeof(NewMovement), "Update")]
public static class NMupdate
{
	[HarmonyPostfix]
	public static void Postfix(NewMovement __instance)
	{
		//IL_00ca: Unknown result type (might be due to invalid IL or missing references)
		//IL_00cf: Unknown result type (might be due to invalid IL or missing references)
		//IL_0053: Unknown result type (might be due to invalid IL or missing references)
		//IL_0058: Unknown result type (might be due to invalid IL or missing references)
		if (SceneHelper.CurrentScene == "Endless")
		{
			if ((Object)(object)Pizzaface.Instance == (Object)null && MonoSingleton<StatsManager>.Instance.timer && !__instance.dead)
			{
				Object.Instantiate<GameObject>(Plugin.Instance.pizzaface, ((Component)__instance).transform.position, Quaternion.identity);
			}
		}
		else if ((Object)(object)Pizzaface.Instance == (Object)null && MonoSingleton<StatsManager>.Instance.timer && !((Component)MonoSingleton<FinalRank>.Instance).gameObject.activeSelf && !__instance.dead && SceneHelper.CurrentScene != "uk_construct")
		{
			Object.Instantiate<GameObject>(Plugin.Instance.pizzaface, ((Component)__instance).transform.position, Quaternion.identity);
		}
		else if ((Object)(object)Pizzaface.Instance != (Object)null && (!MonoSingleton<StatsManager>.Instance.timer || ((Component)MonoSingleton<FinalRank>.Instance).gameObject.activeSelf || __instance.dead || SceneHelper.CurrentScene == "uk_construct"))
		{
			Pizzaface.Instance.DestroyPizza(kill: false);
		}
	}
}
public class Played : MonoBehaviour
{
	public bool played;
}
[HarmonyPatch(typeof(FinalRank), "Update")]
internal static class Pranked
{
	[HarmonyPostfix]
	private static void Postfix(FinalRank __instance)
	{
		//IL_0050: Unknown result type (might be due to invalid IL or missing references)
		//IL_0057: Expected O, but got Unknown
		//IL_0063: Unknown result type (might be due to invalid IL or missing references)
		//IL_0068: Unknown result type (might be due to invalid IL or missing references)
		//IL_0108: Unknown result type (might be due to invalid IL or missing references)
		//IL_010f: Expected O, but got Unknown
		//IL_011b: Unknown result type (might be due to invalid IL or missing references)
		//IL_0120: Unknown result type (might be due to invalid IL or missing references)
		//IL_01c0: Unknown result type (might be due to invalid IL or missing references)
		//IL_01c7: Expected O, but got Unknown
		//IL_01d3: Unknown result type (might be due to invalid IL or missing references)
		//IL_01d8: Unknown result type (might be due to invalid IL or missing references)
		//IL_0278: Unknown result type (might be due to invalid IL or missing references)
		//IL_027f: Expected O, but got Unknown
		//IL_028b: Unknown result type (might be due to invalid IL or missing references)
		//IL_0290: Unknown result type (might be due to invalid IL or missing references)
		//IL_0332: Unknown result type (might be due to invalid IL or missing references)
		//IL_0339: Expected O, but got Unknown
		//IL_0345: 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_03ec: Unknown result type (might be due to invalid IL or missing references)
		//IL_03f3: Expected O, but got Unknown
		//IL_03ff: Unknown result type (might be due to invalid IL or missing references)
		//IL_0404: Unknown result type (might be due to invalid IL or missing references)
		if (__instance.totalRank.text == "<color=#FFFFFF>P</color>" && ((Component)__instance.totalRank).gameObject.activeSelf && !((Component)__instance).GetComponent<Played>().played)
		{
			((Component)__instance).GetComponent<Played>().played = true;
			GameObject val = new GameObject();
			GameObject val2 = Object.Instantiate<GameObject>(val, ((Component)MonoSingleton<NewMovement>.Instance).transform.position, Quaternion.identity, ((Component)MonoSingleton<NewMovement>.Instance).transform);
			val2.AddComponent<AudioSource>();
			val2.GetComponent<AudioSource>().playOnAwake = false;
			val2.GetComponent<AudioSource>().clip = Plugin.Instance.pRank;
			val2.GetComponent<AudioSource>().Play();
		}
		if (__instance.totalRank.text == "<color=#FF6A00>A</color>" && ((Component)__instance.totalRank).gameObject.activeSelf && !((Component)__instance).GetComponent<Played>().played)
		{
			((Component)__instance).GetComponent<Played>().played = true;
			GameObject val3 = new GameObject();
			GameObject val4 = Object.Instantiate<GameObject>(val3, ((Component)MonoSingleton<NewMovement>.Instance).transform.position, Quaternion.identity, ((Component)MonoSingleton<NewMovement>.Instance).transform);
			val4.AddComponent<AudioSource>();
			val4.GetComponent<AudioSource>().playOnAwake = false;
			val4.GetComponent<AudioSource>().clip = Plugin.Instance.aRank;
			val4.GetComponent<AudioSource>().Play();
		}
		if (__instance.totalRank.text == "<color=#FF0000>S</color>" && ((Component)__instance.totalRank).gameObject.activeSelf && !((Component)__instance).GetComponent<Played>().played)
		{
			((Component)__instance).GetComponent<Played>().played = true;
			GameObject val5 = new GameObject();
			GameObject val6 = Object.Instantiate<GameObject>(val5, ((Component)MonoSingleton<NewMovement>.Instance).transform.position, Quaternion.identity, ((Component)MonoSingleton<NewMovement>.Instance).transform);
			val6.AddComponent<AudioSource>();
			val6.GetComponent<AudioSource>().playOnAwake = false;
			val6.GetComponent<AudioSource>().clip = Plugin.Instance.sRank;
			val6.GetComponent<AudioSource>().Play();
		}
		if (__instance.totalRank.text == "<color=#FFD800>B</color>" && ((Component)__instance.totalRank).gameObject.activeSelf && !((Component)__instance).GetComponent<Played>().played)
		{
			((Component)__instance).GetComponent<Played>().played = true;
			GameObject val7 = new GameObject();
			GameObject val8 = Object.Instantiate<GameObject>(val7, ((Component)MonoSingleton<NewMovement>.Instance).transform.position, Quaternion.identity, ((Component)MonoSingleton<NewMovement>.Instance).transform);
			val8.AddComponent<AudioSource>();
			val8.GetComponent<AudioSource>().playOnAwake = false;
			val8.GetComponent<AudioSource>().clip = Plugin.Instance.cRank;
			val8.GetComponent<AudioSource>().Play();
		}
		if (__instance.totalRank.text == "<color=#4CFF00>C</color>" && ((Component)__instance.totalRank).gameObject.activeSelf && !((Component)__instance).GetComponent<Played>().played)
		{
			((Component)__instance).GetComponent<Played>().played = true;
			GameObject val9 = new GameObject();
			GameObject val10 = Object.Instantiate<GameObject>(val9, ((Component)MonoSingleton<NewMovement>.Instance).transform.position, Quaternion.identity, ((Component)MonoSingleton<NewMovement>.Instance).transform);
			val10.AddComponent<AudioSource>();
			val10.GetComponent<AudioSource>().playOnAwake = false;
			val10.GetComponent<AudioSource>().clip = Plugin.Instance.cRank;
			val10.GetComponent<AudioSource>().Play();
		}
		if (__instance.totalRank.text == "<color=#0094ff>D</color>" && ((Component)__instance.totalRank).gameObject.activeSelf && !((Component)__instance).GetComponent<Played>().played)
		{
			((Component)__instance).GetComponent<Played>().played = true;
			GameObject val11 = new GameObject();
			GameObject val12 = Object.Instantiate<GameObject>(val11, ((Component)MonoSingleton<NewMovement>.Instance).transform.position, Quaternion.identity, ((Component)MonoSingleton<NewMovement>.Instance).transform);
			val12.AddComponent<AudioSource>();
			val12.GetComponent<AudioSource>().playOnAwake = false;
			val12.GetComponent<AudioSource>().clip = Plugin.Instance.dRank;
			val12.GetComponent<AudioSource>().Play();
		}
		if (!((Component)__instance).GetComponent<Played>().played)
		{
			return;
		}
		for (int i = 0; i < ((Component)MonoSingleton<NewMovement>.Instance).transform.childCount; i++)
		{
			if (((Object)((Component)MonoSingleton<NewMovement>.Instance).transform.GetChild(i)).name == "preRankPlayer")
			{
				Object.Destroy((Object)(object)((Component)((Component)MonoSingleton<NewMovement>.Instance).transform.GetChild(i)).gameObject);
				break;
			}
		}
	}
}
[HarmonyPatch(typeof(FinalRank), "Start")]
internal static class PrankedStart
{
	[HarmonyPostfix]
	private static void Postfix(FinalRank __instance)
	{
		//IL_0019: Unknown result type (might be due to invalid IL or missing references)
		//IL_001f: Expected O, but got Unknown
		((Component)__instance).gameObject.AddComponent<Played>();
		((Component)__instance).GetComponent<Played>().played = false;
		GameObject val = new GameObject();
	}
}
namespace PizzafaceUltrakillMod
{
	public static class MyPluginInfo
	{
		public const string PLUGIN_GUID = "PizzafaceUltrakillMod";

		public const string PLUGIN_NAME = "PizzafaceUltrakillMod";

		public const string PLUGIN_VERSION = "1.2.2";
	}
}
namespace PizzafaceUltrakillMod.Properties
{
	[GeneratedCode("System.Resources.Tools.StronglyTypedResourceBuilder", "17.0.0.0")]
	[DebuggerNonUserCode]
	[CompilerGenerated]
	internal class Resources
	{
		private static ResourceManager resourceMan;

		private static CultureInfo resourceCulture;

		[EditorBrowsable(EditorBrowsableState.Advanced)]
		internal static ResourceManager ResourceManager
		{
			get
			{
				if (resourceMan == null)
				{
					ResourceManager resourceManager = new ResourceManager("PizzafaceUltrakillMod.Properties.Resources", typeof(Resources).Assembly);
					resourceMan = resourceManager;
				}
				return resourceMan;
			}
		}

		[EditorBrowsable(EditorBrowsableState.Advanced)]
		internal static CultureInfo Culture
		{
			get
			{
				return resourceCulture;
			}
			set
			{
				resourceCulture = value;
			}
		}

		internal static byte[] pizzaface
		{
			get
			{
				object @object = ResourceManager.GetObject("pizzaface", resourceCulture);
				return (byte[])@object;
			}
		}

		internal Resources()
		{
		}
	}
}