using System;
using System.Collections;
using System.Collections.Generic;
using System.Diagnostics;
using System.Linq;
using System.Reflection;
using System.Runtime.CompilerServices;
using System.Runtime.InteropServices;
using System.Runtime.Versioning;
using BepInEx;
using BepInEx.Bootstrap;
using BepInEx.Configuration;
using HarmonyLib;
using RepoCaos;
using UltrakillStupid.Classes;
using UltrakillStupid.Scripts.Triggers;
using UnityEngine;
using UnityEngine.AddressableAssets;
using UnityEngine.Networking;
[assembly: CompilationRelaxations(8)]
[assembly: RuntimeCompatibility(WrapNonExceptionThrows = true)]
[assembly: Debuggable(DebuggableAttribute.DebuggingModes.IgnoreSymbolStoreSequencePoints)]
[assembly: AssemblyTitle("RepoCaosMod")]
[assembly: AssemblyDescription("")]
[assembly: AssemblyConfiguration("")]
[assembly: AssemblyCompany("ReviOS 11 24.12")]
[assembly: AssemblyProduct("RepoCaosMod")]
[assembly: AssemblyCopyright("Copyright © ReviOS 11 24.12 2025")]
[assembly: AssemblyTrademark("")]
[assembly: ComVisible(false)]
[assembly: Guid("b62091cf-1bc7-4d0e-be7b-011b6b98bf30")]
[assembly: AssemblyFileVersion("1.0.0.0")]
[assembly: TargetFramework(".NETFramework,Version=v4.8", FrameworkDisplayName = ".NET Framework 4.8")]
[assembly: AssemblyVersion("1.0.0.0")]
namespace RepoCaos
{
[BepInPlugin("duviz.ultrakill.findthegaster", "Find the gaster", "0.0.3")]
public class Plugin : BaseUnityPlugin
{
[CompilerGenerated]
private sealed class <GetTextureFromURL>d__10 : IEnumerator<object>, IDisposable, IEnumerator
{
private int <>1__state;
private object <>2__current;
public string url;
public Action<Texture2D> callback;
private UnityWebRequest <uwr>5__2;
object IEnumerator<object>.Current
{
[DebuggerHidden]
get
{
return <>2__current;
}
}
object IEnumerator.Current
{
[DebuggerHidden]
get
{
return <>2__current;
}
}
[DebuggerHidden]
public <GetTextureFromURL>d__10(int <>1__state)
{
this.<>1__state = <>1__state;
}
[DebuggerHidden]
void IDisposable.Dispose()
{
int num = <>1__state;
if (num == -3 || num == 1)
{
try
{
}
finally
{
<>m__Finally1();
}
}
<uwr>5__2 = null;
<>1__state = -2;
}
private bool MoveNext()
{
//IL_005f: Unknown result type (might be due to invalid IL or missing references)
//IL_0065: Invalid comparison between Unknown and I4
try
{
switch (<>1__state)
{
default:
return false;
case 0:
<>1__state = -1;
<uwr>5__2 = UnityWebRequestTexture.GetTexture(url);
<>1__state = -3;
<>2__current = <uwr>5__2.SendWebRequest();
<>1__state = 1;
return true;
case 1:
<>1__state = -3;
if ((int)<uwr>5__2.result != 1)
{
Debug.LogError((object)("Failed to load texture: " + <uwr>5__2.error));
callback?.Invoke(null);
}
else
{
Texture2D content = DownloadHandlerTexture.GetContent(<uwr>5__2);
callback?.Invoke(content);
}
<>m__Finally1();
<uwr>5__2 = null;
return false;
}
}
catch
{
//try-fault
((IDisposable)this).Dispose();
throw;
}
}
bool IEnumerator.MoveNext()
{
//ILSpy generated this explicit interface implementation from .override directive in MoveNext
return this.MoveNext();
}
private void <>m__Finally1()
{
<>1__state = -1;
if (<uwr>5__2 != null)
{
((IDisposable)<uwr>5__2).Dispose();
}
}
[DebuggerHidden]
void IEnumerator.Reset()
{
throw new NotSupportedException();
}
}
[CompilerGenerated]
private sealed class <LoadAudioFromURL>d__11 : IEnumerator<object>, IDisposable, IEnumerator
{
private int <>1__state;
private object <>2__current;
public string url;
private UnityWebRequest <www>5__2;
object IEnumerator<object>.Current
{
[DebuggerHidden]
get
{
return <>2__current;
}
}
object IEnumerator.Current
{
[DebuggerHidden]
get
{
return <>2__current;
}
}
[DebuggerHidden]
public <LoadAudioFromURL>d__11(int <>1__state)
{
this.<>1__state = <>1__state;
}
[DebuggerHidden]
void IDisposable.Dispose()
{
int num = <>1__state;
if (num == -3 || num == 1)
{
try
{
}
finally
{
<>m__Finally1();
}
}
<www>5__2 = null;
<>1__state = -2;
}
private bool MoveNext()
{
//IL_0061: Unknown result type (might be due to invalid IL or missing references)
//IL_0067: Invalid comparison between Unknown and I4
try
{
switch (<>1__state)
{
default:
return false;
case 0:
<>1__state = -1;
<www>5__2 = UnityWebRequestMultimedia.GetAudioClip(url, (AudioType)14);
<>1__state = -3;
<>2__current = <www>5__2.SendWebRequest();
<>1__state = 1;
return true;
case 1:
<>1__state = -3;
if ((int)<www>5__2.result != 1)
{
Debug.LogError((object)("Failed to load audio: " + <www>5__2.error));
}
else
{
AudioClip content = DownloadHandlerAudioClip.GetContent(<www>5__2);
popupSfx.clip = content;
}
<>m__Finally1();
<www>5__2 = null;
return false;
}
}
catch
{
//try-fault
((IDisposable)this).Dispose();
throw;
}
}
bool IEnumerator.MoveNext()
{
//ILSpy generated this explicit interface implementation from .override directive in MoveNext
return this.MoveNext();
}
private void <>m__Finally1()
{
<>1__state = -1;
if (<www>5__2 != null)
{
((IDisposable)<www>5__2).Dispose();
}
}
[DebuggerHidden]
void IEnumerator.Reset()
{
throw new NotSupportedException();
}
}
[CompilerGenerated]
private sealed class <SetTextureToObject>d__9 : IEnumerator<object>, IDisposable, IEnumerator
{
private int <>1__state;
private object <>2__current;
public string url;
public GameObject obj;
private UnityWebRequest <uwr>5__2;
object IEnumerator<object>.Current
{
[DebuggerHidden]
get
{
return <>2__current;
}
}
object IEnumerator.Current
{
[DebuggerHidden]
get
{
return <>2__current;
}
}
[DebuggerHidden]
public <SetTextureToObject>d__9(int <>1__state)
{
this.<>1__state = <>1__state;
}
[DebuggerHidden]
void IDisposable.Dispose()
{
int num = <>1__state;
if (num == -3 || num == 1)
{
try
{
}
finally
{
<>m__Finally1();
}
}
<uwr>5__2 = null;
<>1__state = -2;
}
private bool MoveNext()
{
//IL_005f: Unknown result type (might be due to invalid IL or missing references)
//IL_0065: Invalid comparison between Unknown and I4
//IL_0099: Unknown result type (might be due to invalid IL or missing references)
//IL_009f: Expected O, but got Unknown
try
{
switch (<>1__state)
{
default:
return false;
case 0:
<>1__state = -1;
<uwr>5__2 = UnityWebRequestTexture.GetTexture(url);
<>1__state = -3;
<>2__current = <uwr>5__2.SendWebRequest();
<>1__state = 1;
return true;
case 1:
<>1__state = -3;
if ((int)<uwr>5__2.result != 1)
{
Debug.LogError((object)("Failed to load texture: " + <uwr>5__2.error));
}
else
{
Texture2D content = DownloadHandlerTexture.GetContent(<uwr>5__2);
Material val = new Material(Shader.Find("Unlit/Texture"));
val.mainTexture = (Texture)(object)content;
obj.GetComponent<Renderer>().material = val;
}
<>m__Finally1();
<uwr>5__2 = null;
return false;
}
}
catch
{
//try-fault
((IDisposable)this).Dispose();
throw;
}
}
bool IEnumerator.MoveNext()
{
//ILSpy generated this explicit interface implementation from .override directive in MoveNext
return this.MoveNext();
}
private void <>m__Finally1()
{
<>1__state = -1;
if (<uwr>5__2 != null)
{
((IDisposable)<uwr>5__2).Dispose();
}
}
[DebuggerHidden]
void IEnumerator.Reset()
{
throw new NotSupportedException();
}
}
private List<Gaster> gasters = new List<Gaster>();
private Texture popupTex;
public static AudioSource popupSfx = null;
private string[] customLevelMod = new string[1] { "com.eternalUnion.angryLevelLoader" };
public static float gasterPopupX = 0f;
public static int gasterPopupStage = 0;
public static float gasterPopupAlpha = 1f;
public string overrideText = "";
public float gastersListX = Screen.width;
public void Awake()
{
//IL_0053: Unknown result type (might be due to invalid IL or missing references)
((Object)((Component)this).gameObject).hideFlags = (HideFlags)61;
((Object)ThreadingHelper.Instance).hideFlags = (HideFlags)61;
((ConfigEntry<bool>)AccessTools.Field(typeof(Chainloader), "ConfigHideBepInExGOs").GetValue(null)).Value = true;
((BaseUnityPlugin)this).Logger.LogInfo((object)"Hello, the Instagram community!");
new Harmony("duviz.ultrakill.findthegaster").PatchAll();
}
public void Start()
{
//IL_001a: Unknown result type (might be due to invalid IL or missing references)
//IL_0049: Unknown result type (might be due to invalid IL or missing references)
//IL_0078: 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_00d6: Unknown result type (might be due to invalid IL or missing references)
//IL_0105: Unknown result type (might be due to invalid IL or missing references)
//IL_0134: Unknown result type (might be due to invalid IL or missing references)
//IL_0163: 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_01c1: 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_021f: Unknown result type (might be due to invalid IL or missing references)
//IL_024e: Unknown result type (might be due to invalid IL or missing references)
//IL_027d: Unknown result type (might be due to invalid IL or missing references)
//IL_02ac: Unknown result type (might be due to invalid IL or missing references)
//IL_02db: Unknown result type (might be due to invalid IL or missing references)
//IL_030a: Unknown result type (might be due to invalid IL or missing references)
//IL_0339: Unknown result type (might be due to invalid IL or missing references)
//IL_0368: Unknown result type (might be due to invalid IL or missing references)
//IL_0397: Unknown result type (might be due to invalid IL or missing references)
//IL_03c6: Unknown result type (might be due to invalid IL or missing references)
//IL_03f5: Unknown result type (might be due to invalid IL or missing references)
//IL_0424: Unknown result type (might be due to invalid IL or missing references)
//IL_0453: Unknown result type (might be due to invalid IL or missing references)
//IL_0482: Unknown result type (might be due to invalid IL or missing references)
//IL_04b1: Unknown result type (might be due to invalid IL or missing references)
//IL_04e0: Unknown result type (might be due to invalid IL or missing references)
//IL_050f: Unknown result type (might be due to invalid IL or missing references)
//IL_053e: Unknown result type (might be due to invalid IL or missing references)
//IL_056d: Unknown result type (might be due to invalid IL or missing references)
//IL_059c: Unknown result type (might be due to invalid IL or missing references)
//IL_05cb: 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_0629: Unknown result type (might be due to invalid IL or missing references)
//IL_0658: Unknown result type (might be due to invalid IL or missing references)
//IL_0687: Unknown result type (might be due to invalid IL or missing references)
//IL_06b6: Unknown result type (might be due to invalid IL or missing references)
//IL_06e5: Unknown result type (might be due to invalid IL or missing references)
//IL_0714: Unknown result type (might be due to invalid IL or missing references)
//IL_0799: Unknown result type (might be due to invalid IL or missing references)
//IL_0761: Unknown result type (might be due to invalid IL or missing references)
gasters.Add(new Gaster("Level 0-1", new Vector3(38.25f, 228f, 589.25f)));
gasters.Add(new Gaster("Level 0-2", new Vector3(0f, 12.5f, 100f)));
gasters.Add(new Gaster("Level 0-3", new Vector3(-130f, -11.5f, 431.85f)));
gasters.Add(new Gaster("Level 0-4", new Vector3(5.5f, -0.5f, 249f)));
gasters.Add(new Gaster("Level 0-5", new Vector3(-3.695781f, -4.5f, 362.5f)));
gasters.Add(new Gaster("Level 1-1", new Vector3(16.5f, 24.5f, 397.5f)));
gasters.Add(new Gaster("Level 1-2", new Vector3(0f, 7.5f, 302.5f)));
gasters.Add(new Gaster("Level 1-3", new Vector3(44.19f, -7f, 363.75f)));
gasters.Add(new Gaster("Level 1-4", new Vector3(0f, -30f, 423f)));
gasters.Add(new Gaster("Level 2-1", new Vector3(22.63671f, 617.2075f, 431.9131f)));
gasters.Add(new Gaster("Level 2-2", new Vector3(-126.2621f, 180.8f, 443.2578f)));
gasters.Add(new Gaster("Level 2-3", new Vector3(-91.49994f, 27.78268f, 355.5f)));
gasters.Add(new Gaster("Level 2-4", new Vector3(40.5f, -18.5f, 375.1033f)));
gasters.Add(new Gaster("Level 3-1", new Vector3(0f, 19.5f, 350.4589f)));
gasters.Add(new Gaster("Level 3-2", new Vector3(0f, 88.45461f, 650.3849f)));
gasters.Add(new Gaster("Level 4-1", new Vector3(-293.1348f, 84.9838f, 1143.948f)));
gasters.Add(new Gaster("Level 4-2", new Vector3(342.0074f, 211.133f, 470.0753f)));
gasters.Add(new Gaster("Level 4-3", new Vector3(67.1669f, 17.5f, 373.6403f)));
gasters.Add(new Gaster("Level 4-4", new Vector3(1123.369f, 262.4195f, 83.11234f)));
gasters.Add(new Gaster("Level 5-1", new Vector3(270.3769f, -19.30468f, 231.6668f)));
gasters.Add(new Gaster("Level 5-2", new Vector3(34.9902f, 991.1714f, -35.20284f)));
gasters.Add(new Gaster("Level 5-3", new Vector3(-13.99754f, -8.5f, 317.6335f)));
gasters.Add(new Gaster("Level 5-4", new Vector3(-1.144732f, 139.274f, 346.438f)));
gasters.Add(new Gaster("Level 6-1", new Vector3(176.8103f, -142.6342f, -509.1721f)));
gasters.Add(new Gaster("Level 6-2", new Vector3(-0.9887404f, 95.90947f, 324.8259f)));
gasters.Add(new Gaster("Level 7-1", new Vector3(17.51437f, 64.5f, 487.5963f)));
gasters.Add(new Gaster("Level 7-2", new Vector3(-114.5412f, 387.4886f, 421.2605f)));
gasters.Add(new Gaster("Level 7-3", new Vector3(-223f, 26.5f, 483.7091f)));
gasters.Add(new Gaster("Level 7-4", new Vector3(104.0811f, -4.4107f, 847.1364f)));
gasters.Add(new Gaster("Level P-1", new Vector3(-109.195f, -49.34299f, 70.04394f)));
gasters.Add(new Gaster("Level P-2", new Vector3(69.5f, 49.2824f, 237.6205f)));
gasters.Add(new Gaster("Level 0-S", new Vector3(72.26433f, -14.5f, 165.4999f)));
gasters.Add(new Gaster("Level 1-S", new Vector3(0f, -5.699751f, 134.8803f)));
gasters.Add(new Gaster("Level 4-S", new Vector3(418.9155f, 89.5f, 154.9458f)));
gasters.Add(new Gaster("Level 5-S", new Vector3(132.7276f, 85.49998f, -258.1491f)));
gasters.Add(new Gaster("Level 7-S", new Vector3(-56.85102f, -12.68f, 149.4567f)));
gasters.Add(new Gaster("Endless", new Vector3(0f, -30f, 65f), allowCheats: false, "Cybergrind"));
gasters.Add(new Gaster("uk_construct", new Vector3(-951.3815f, 62.86881f, 584.1725f), allowCheats: true, "Sandbox"));
gasters.Add(new Gaster("CreditsMuseum2", new Vector3(538.25f, 53.26952f, 713.1586f), allowCheats: false, "Credits"));
if (customLevelMod.Any(Chainloader.PluginInfos.ContainsKey))
{
gasters.Add(new Gaster("pixelpower.layer.i1", new Vector3(32f, -25.49999f, 303.5f), allowCheats: false, "IN-1"));
}
((MonoBehaviour)this).StartCoroutine(GetTextureFromURL("https://duviz.xyz/static/img/mod/gasterIcon.png", delegate(Texture2D tex)
{
if ((Object)(object)tex != (Object)null)
{
popupTex = (Texture)(object)tex;
}
}));
popupSfx = new GameObject("Audio").AddComponent<AudioSource>();
((MonoBehaviour)this).StartCoroutine(LoadAudioFromURL("https://duviz.xyz/static/audio/alert.ogg"));
Object.DontDestroyOnLoad((Object)(object)popupSfx);
}
public void Update()
{
//IL_003c: Unknown result type (might be due to invalid IL or missing references)
//IL_00b0: Unknown result type (might be due to invalid IL or missing references)
foreach (Gaster gaster in gasters)
{
if ((Object)(object)gaster.instance == (Object)null && gaster.level == SceneHelper.CurrentScene)
{
gaster.instance = NewGaster(gaster.position, gaster);
}
if ((Object)(object)gaster.instance != (Object)null)
{
gaster.instance.transform.LookAt(((Component)Camera.main).transform);
if ((MonoSingleton<CheatsController>.Instance.cheatsEnabled || MonoSingleton<StatsManager>.Instance.majorUsed) && !gaster.allowCheats)
{
gaster.instance.transform.position = new Vector3(0f, 2000f, 0f);
}
}
}
}
public void LateUpdate()
{
}
public GameObject NewGaster(Vector3 pos, Gaster gaster, bool gasterTrigger = true, bool endLevelTrigger = false)
{
//IL_0018: Unknown result type (might be due to invalid IL or missing references)
//IL_0033: Unknown result type (might be due to invalid IL or missing references)
GameObject val = GameObject.CreatePrimitive((PrimitiveType)3);
((Object)val).name = "Gaster";
val.transform.position = pos;
val.transform.localScale = new Vector3(1.2f, 3f, 0.01f);
((Collider)val.GetComponent<BoxCollider>()).isTrigger = true;
if (endLevelTrigger)
{
val.AddComponent<EndLevelTrigger>();
}
if (gasterTrigger)
{
val.AddComponent<GasterTrigger>();
val.GetComponent<GasterTrigger>().gaster = gaster;
}
((MonoBehaviour)this).StartCoroutine(SetTextureToObject(val));
return val;
}
[IteratorStateMachine(typeof(<SetTextureToObject>d__9))]
private IEnumerator SetTextureToObject(GameObject obj, string url = "https://duviz.xyz/static/img/mod/gaster.png")
{
//yield-return decompiler failed: Unexpected instruction in Iterator.Dispose()
return new <SetTextureToObject>d__9(0)
{
obj = obj,
url = url
};
}
[IteratorStateMachine(typeof(<GetTextureFromURL>d__10))]
public IEnumerator GetTextureFromURL(string url, Action<Texture2D> callback)
{
//yield-return decompiler failed: Unexpected instruction in Iterator.Dispose()
return new <GetTextureFromURL>d__10(0)
{
url = url,
callback = callback
};
}
[IteratorStateMachine(typeof(<LoadAudioFromURL>d__11))]
private IEnumerator LoadAudioFromURL(string url)
{
//yield-return decompiler failed: Unexpected instruction in Iterator.Dispose()
return new <LoadAudioFromURL>d__11(0)
{
url = url
};
}
public T Ass<T>(string path)
{
//IL_0001: Unknown result type (might be due to invalid IL or missing references)
//IL_0006: Unknown result type (might be due to invalid IL or missing references)
return Addressables.LoadAssetAsync<T>((object)path).WaitForCompletion();
}
public void OnGUI()
{
//IL_0011: Unknown result type (might be due to invalid IL or missing references)
//IL_0017: Expected O, but got Unknown
//IL_0052: 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_019c: Unknown result type (might be due to invalid IL or missing references)
//IL_02fb: 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_02cf: Unknown result type (might be due to invalid IL or missing references)
string text = overrideText;
GUIStyle val = new GUIStyle(GUI.skin.label);
val.alignment = (TextAnchor)4;
val.fontSize = 24;
float num = 1920f;
float num2 = 100f;
float num3 = ((float)Screen.width - num) / 2f;
float num4 = (float)Screen.height - num2;
GUI.Label(new Rect(num3, num4, num, num2), text, val);
num = 300f;
num2 = 300f;
num3 = gasterPopupX - 300f;
num4 = (float)Screen.height - num2;
if (gasterPopupX > 0f && gasterPopupStage == 0)
{
gasterPopupX -= (301f - gasterPopupX) * Time.deltaTime;
}
if (gasterPopupX < 299.9f && gasterPopupStage == 1)
{
gasterPopupX -= (gasterPopupX - 300f) * Time.deltaTime * 5f;
}
else
{
gasterPopupStage = 0;
}
if ((Object)(object)popupTex != (Object)null)
{
GUI.color = new Color(1f, 1f, 1f, gasterPopupAlpha);
GUI.DrawTexture(new Rect(num3, num4, num, num2), popupTex, (ScaleMode)2, true);
int num5 = 0;
foreach (Gaster gaster in gasters)
{
if (gaster.IsCollected())
{
num5++;
}
}
val.alignment = (TextAnchor)4;
val.fontSize = 30;
GUI.Label(new Rect(num3, num4 - num2 / 2f + 50f, num, 100f), $"{num5}/{gasters.Count}", val);
}
if ((!((Object)(object)MonoSingleton<OptionsManager>.Instance != (Object)null) || MonoSingleton<OptionsManager>.Instance.paused) && Time.timeScale == 0f)
{
num3 = gastersListX;
num4 = 0f;
gastersListX -= (gastersListX - 0f) * Time.unscaledDeltaTime * 5f;
{
foreach (Gaster gaster2 in gasters)
{
float num6 = 60f;
int fontSize = 14;
if ((Object)(object)popupTex != (Object)null)
{
float num7 = (gaster2.allowCheats ? 0.5f : 1f);
float num8 = (gaster2.allowCheats ? 0.5f : 1f);
float num9 = (gaster2.allowCheats ? 1f : 1f);
GUI.color = new Color(num7, num8, num9, gaster2.IsCollected() ? 1f : 0.5f);
GUI.DrawTexture(new Rect(num3, num4, num6, num6), popupTex, (ScaleMode)2, true);
}
val.alignment = (TextAnchor)3;
val.fontSize = fontSize;
GUI.Label(new Rect(num3 + num6, num4, num6, num6), gaster2.displayName, val);
num4 += num6;
if (num4 > (float)Screen.height - num6)
{
num4 = 0f;
num3 += num6 * 2f;
}
}
return;
}
}
gastersListX -= (gastersListX - (float)Screen.width) * Time.unscaledDeltaTime * 5f;
}
}
}
namespace UltrakillStupid.Scripts.Triggers
{
public class EndLevelTrigger : MonoBehaviour
{
private void OnTriggerEnter(Collider other)
{
if (!(((Component)other).tag != "Player"))
{
SceneHelper.SpawnFinalPitAndFinish();
}
}
}
internal class GasterTrigger : MonoBehaviour
{
public Gaster gaster;
private void OnTriggerEnter(Collider other)
{
//IL_0062: Unknown result type (might be due to invalid IL or missing references)
if (!(((Component)other).tag != "Player"))
{
Plugin.gasterPopupAlpha = (gaster.IsCollected() ? 0.5f : 1f);
gaster.SetCollected();
Plugin.gasterPopupStage = 1;
Plugin.popupSfx.Play();
((Component)this).transform.position = new Vector3(0f, 2000f, 0f);
MonoSingleton<TimeController>.Instance.ParryFlash();
}
}
}
}
namespace UltrakillStupid.Patches
{
[HarmonyPatch(typeof(LeaderboardController))]
[HarmonyPatch("SubmitLevelScore")]
internal class LeaderboardControllerPatch
{
private static bool Prefix(string levelName, int difficulty, float seconds, int kills, int style, int restartCount, bool pRank = false)
{
return true;
}
}
}
namespace UltrakillStupid.Classes
{
public class Gaster
{
public string level;
public Vector3 position;
public GameObject instance;
public bool allowCheats;
public string displayName = "";
public Gaster(string lev, Vector3 pos, bool allowCheats = false, string displayName = "")
{
//IL_0019: Unknown result type (might be due to invalid IL or missing references)
//IL_001a: Unknown result type (might be due to invalid IL or missing references)
level = lev;
position = pos;
this.allowCheats = allowCheats;
this.displayName = displayName;
if (displayName == "")
{
this.displayName = level.Replace("Level ", "");
}
}
public bool IsCollected()
{
//IL_000c: Unknown result type (might be due to invalid IL or missing references)
return PlayerPrefs.GetInt($"Gaster_Collected_{level}_{position}") == 1;
}
public void SetCollected(int collected = 1)
{
//IL_000c: Unknown result type (might be due to invalid IL or missing references)
PlayerPrefs.SetInt($"Gaster_Collected_{level}_{position}", collected);
}
}
}