using System.Collections;
using System.Collections.Generic;
using System.Diagnostics;
using System.IO;
using System.Linq;
using System.Reflection;
using System.Runtime.CompilerServices;
using System.Runtime.Versioning;
using System.Security;
using System.Security.Permissions;
using BepInEx;
using Configgy;
using HarmonyLib;
using TMPro;
using UnityEngine;
using UnityEngine.SceneManagement;
using UnityEngine.UI;
using UnityEngine.Video;
[assembly: CompilationRelaxations(8)]
[assembly: RuntimeCompatibility(WrapNonExceptionThrows = true)]
[assembly: Debuggable(DebuggableAttribute.DebuggingModes.Default | DebuggableAttribute.DebuggingModes.DisableOptimizations | DebuggableAttribute.DebuggingModes.IgnoreSymbolStoreSequencePoints | DebuggableAttribute.DebuggingModes.EnableEditAndContinue)]
[assembly: TargetFramework(".NETStandard,Version=v2.0", FrameworkDisplayName = "")]
[assembly: AssemblyCompany("MLGUltrakill")]
[assembly: AssemblyConfiguration("Debug")]
[assembly: AssemblyFileVersion("1.0.0.0")]
[assembly: AssemblyInformationalVersion("1.0.0")]
[assembly: AssemblyProduct("MLGUltrakill")]
[assembly: AssemblyTitle("MLGUltrakill")]
[assembly: SecurityPermission(SecurityAction.RequestMinimum, SkipVerification = true)]
[assembly: AssemblyVersion("1.0.0.0")]
[module: UnverifiableCode]
namespace MLGUltrakill;
[HarmonyPatch]
internal class ComicSans : MonoBehaviour
{
private string[] Texts = new string[16]
{
"3mlg5u", "smoke weed everyday", "mom get the camera", "did you see that?", "illuminati confirmed?", "420 blaze it", "1 like = 1 ipod", "8/8 m8 -IGN", "but my hope will never die", "o shit lel",
"8========D", "come on 9gag army!", "thug life", "haxxor!?", "shrek 5 confirmed?", "2dank4u"
};
private void Start()
{
//IL_0054: 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_008f: Unknown result type (might be due to invalid IL or missing references)
((Component)this).GetComponent<TMP_Text>().text = Texts[Random.Range(0, Texts.Length)];
((Component)this).transform.parent = ((Component)MonoSingleton<CanvasController>.Instance).transform;
? val = ((Component)this).transform;
float num = Random.Range(0f, (float)Screen.width - ((RectTransform)/*isinst with value type is only supported in some contexts*/).sizeDelta.x);
float num2 = Screen.height;
Transform transform = ((Component)this).transform;
((Transform)val).position = new Vector3(num, Random.Range(0f, num2 - ((RectTransform)((transform is RectTransform) ? transform : null)).sizeDelta.y), 0f);
((MonoBehaviour)this).StartCoroutine(Delete(6f + Random.value * 4f));
}
private IEnumerator Delete(float time = 0.2f)
{
yield return (object)new WaitForSeconds(time);
Object.Destroy((Object)(object)((Component)this).gameObject);
}
}
public class Delete : MonoBehaviour
{
public float time;
private void Start()
{
((MonoBehaviour)this).StartCoroutine(DeleteIE(time));
}
private IEnumerator DeleteIE(float time)
{
yield return (object)new WaitForSeconds(time);
Object.Destroy((Object)(object)((Component)this).gameObject);
}
}
[HarmonyPatch]
internal class DeleteHitmarker : MonoBehaviour
{
private void Start()
{
//IL_0008: 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_0030: Unknown result type (might be due to invalid IL or missing references)
//IL_0054: Unknown result type (might be due to invalid IL or missing references)
Transform transform = ((Component)this).transform;
transform.position += new Vector3((float)Random.Range(-15, 16), (float)Random.Range(-15, 16), (float)Random.Range(-15, 16));
float num = Random.Range(0.75f, 1.5f);
((Component)this).transform.localScale = new Vector3(num, num, num);
((MonoBehaviour)this).StartCoroutine(Delete());
}
private IEnumerator Delete()
{
yield return (object)new WaitForSeconds(0.15f);
Object.Destroy((Object)(object)((Component)this).gameObject);
}
}
[HarmonyPatch]
internal class DeleteQuickscope : MonoBehaviour
{
private void Start()
{
((MonoBehaviour)this).StartCoroutine(Delete(1.2f));
}
private IEnumerator Delete(float time = 0.2f)
{
yield return (object)new WaitForSeconds(time);
Object.Destroy((Object)(object)((Component)this).gameObject);
}
}
[HarmonyPatch]
internal class DeleteSnoop : MonoBehaviour
{
private void Start()
{
//IL_0033: Unknown result type (might be due to invalid IL or missing references)
//IL_0059: Unknown result type (might be due to invalid IL or missing references)
//IL_006e: Unknown result type (might be due to invalid IL or missing references)
((Component)this).transform.parent = ((Component)MonoSingleton<CanvasController>.Instance).transform;
? val = ((Component)this).transform;
float num = Random.Range(0f, (float)Screen.width - ((RectTransform)/*isinst with value type is only supported in some contexts*/).sizeDelta.x);
float num2 = Screen.height;
Transform transform = ((Component)this).transform;
((Transform)val).position = new Vector3(num, Random.Range(0f, num2 - ((RectTransform)((transform is RectTransform) ? transform : null)).sizeDelta.y), 0f);
((MonoBehaviour)this).StartCoroutine(Delete(9.4f));
}
private IEnumerator Delete(float time = 0.2f)
{
yield return (object)new WaitForSeconds(time);
Object.Destroy((Object)(object)((Component)this).gameObject);
}
}
internal class HueShifter : MonoBehaviour
{
private Color colorTarget = Color.red;
private Image image;
private Color currentColor;
private void Start()
{
((MonoBehaviour)this).StartCoroutine(ChangeValue());
image = ((Component)this).GetComponent<Image>();
}
private void Update()
{
//IL_0003: Unknown result type (might be due to invalid IL or missing references)
//IL_0009: Unknown result type (might be due to invalid IL or missing references)
//IL_0019: Unknown result type (might be due to invalid IL or missing references)
//IL_001e: Unknown result type (might be due to invalid IL or missing references)
//IL_004f: Unknown result type (might be due to invalid IL or missing references)
//IL_005b: Unknown result type (might be due to invalid IL or missing references)
//IL_0060: Unknown result type (might be due to invalid IL or missing references)
//IL_007c: Unknown result type (might be due to invalid IL or missing references)
//IL_0081: Unknown result type (might be due to invalid IL or missing references)
//IL_0070: Unknown result type (might be due to invalid IL or missing references)
//IL_0075: Unknown result type (might be due to invalid IL or missing references)
//IL_009d: Unknown result type (might be due to invalid IL or missing references)
//IL_00a2: Unknown result type (might be due to invalid IL or missing references)
//IL_0091: 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_00be: Unknown result type (might be due to invalid IL or missing references)
//IL_00c3: 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_00df: Unknown result type (might be due to invalid IL or missing references)
//IL_00e4: Unknown result type (might be due to invalid IL or missing references)
//IL_00d3: 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_0102: 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_00f6: Unknown result type (might be due to invalid IL or missing references)
//IL_00fb: Unknown result type (might be due to invalid IL or missing references)
//IL_0119: 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)
currentColor = Color.Lerp(currentColor, colorTarget, Time.deltaTime * 100f);
((Graphic)image).color = new Color(currentColor.r, currentColor.b, currentColor.g, 0.25f);
if (currentColor == Color.red)
{
colorTarget = Color.magenta;
}
if (currentColor == Color.magenta)
{
colorTarget = Color.blue;
}
if (currentColor == Color.blue)
{
colorTarget = Color.cyan;
}
if (currentColor == Color.cyan)
{
colorTarget = Color.green;
}
if (currentColor == Color.green)
{
colorTarget = Color.yellow;
}
if (currentColor == Color.yellow)
{
colorTarget = Color.red;
}
}
private IEnumerator ChangeValue()
{
LevelManager.ValueUp = true;
yield return (object)new WaitForSeconds(0.05f);
LevelManager.ValueUp = false;
}
}
[HarmonyPatch]
internal class Impact
{
private static List<Object> s_checkedTexts = new List<Object>();
private static TMP_FontAsset s_tmpImpact;
private static Font s_impact;
public static void Init()
{
s_tmpImpact = Plugin.Bundle.LoadAsset<TMP_FontAsset>("COMIC SDF");
s_impact = Plugin.Bundle.LoadAsset<Font>("COMIC");
}
[HarmonyPatch(typeof(TextMeshProUGUI), "OnEnable")]
[HarmonyPostfix]
private static void SwapTmp(TextMeshProUGUI __instance)
{
((TMP_Text)__instance).font = s_tmpImpact;
((TMP_Text)__instance).enableWordWrapping = true;
}
[HarmonyPatch(typeof(Text), "OnEnable")]
[HarmonyPostfix]
private static void SwapText(Text __instance)
{
__instance.font = s_impact;
__instance.resizeTextMaxSize = __instance.fontSize;
__instance.resizeTextForBestFit = true;
}
}
[HarmonyPatch]
internal class LevelManager
{
public static int Level;
public static bool ValueUp;
private static GameObject currentThemePlayer;
private static GameObject currentRainbowOverlay;
private static float volume;
private static bool active;
private static float time;
private static float time2;
private static float timeTarget = 30f;
private static float timeTarget2 = 30f;
private void Start()
{
timeTarget = Random.Range(30, 150);
timeTarget2 = Random.Range(60, 180);
if (Random.value > 0.5f)
{
timeTarget *= 2f;
}
else
{
timeTarget2 *= 2f;
}
active = false;
}
[HarmonyPatch(typeof(StyleHUD), "AscendRank")]
[HarmonyPostfix]
private static void PlayTheSongAndCheck(StyleHUD __instance)
{
//IL_00dc: Unknown result type (might be due to invalid IL or missing references)
//IL_00e1: Unknown result type (might be due to invalid IL or missing references)
active = true;
Level = MonoSingleton<StyleHUD>.Instance._rankIndex;
if (Level < 6 || (Object)(object)currentThemePlayer != (Object)null)
{
return;
}
volume = MonoSingleton<AudioMixerController>.Instance.musicVolume;
MonoSingleton<AudioMixerController>.Instance.SetMusicVolume(0f);
currentRainbowOverlay = Object.Instantiate<GameObject>(Plugin.RainbowOverlay, ((Component)MonoSingleton<CanvasController>.Instance).transform);
currentRainbowOverlay.AddComponent<HueShifter>();
if (!((ConfigValueElement<bool>)(object)Plugin.DoMusic).Value)
{
if (((ConfigValueElement<bool>)(object)Plugin.CopyrightedMusic).Value)
{
currentThemePlayer = Object.Instantiate<GameObject>(Plugin.MyHopeCR);
}
else
{
currentThemePlayer = Object.Instantiate<GameObject>(Plugin.MyHope);
}
}
else
{
currentThemePlayer = Object.Instantiate<GameObject>(Plugin.Doge, new Vector3(9999f, 9999f, 0f), Quaternion.identity);
}
}
[HarmonyPatch(typeof(StyleHUD), "DescendRank")]
[HarmonyPostfix]
private static void DontPlayTheSong(StyleHUD __instance)
{
Level = MonoSingleton<StyleHUD>.Instance._rankIndex;
if (!((Object)(object)currentThemePlayer == (Object)null) && Level != 7 && Level != 6)
{
Object.Destroy((Object)(object)currentThemePlayer);
currentThemePlayer = null;
Object.Destroy((Object)(object)currentRainbowOverlay);
currentRainbowOverlay = null;
MonoSingleton<AudioMixerController>.Instance.SetMusicVolume(volume);
}
}
private static void SpawnIlluminati()
{
//IL_0042: Unknown result type (might be due to invalid IL or missing references)
//IL_0047: 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)
//IL_005b: Unknown result type (might be due to invalid IL or missing references)
if (!(Random.value > 0.6f))
{
timeTarget = Random.Range(20, 180);
time = 0f;
Loomynarty loomynarty = Object.Instantiate<GameObject>(Plugin.Illuminati3D, ((Component)MonoSingleton<CameraController>.Instance).transform.position + Random.insideUnitSphere * 150f, Quaternion.identity).AddComponent<Loomynarty>();
if (((ConfigValueElement<bool>)(object)Plugin.CopyrightedMusic).Value)
{
((Behaviour)((Component)loomynarty).gameObject.GetComponent<AudioSource>()).enabled = false;
}
if (((ConfigValueElement<bool>)(object)Plugin.DoMusic).Value)
{
((Behaviour)((Component)loomynarty).gameObject.GetComponent<AudioSource>()).enabled = false;
}
if (Random.value > 0.2f)
{
SpawnIlluminati();
}
}
}
private static void SpawnSnoop(bool delete)
{
if (!(Random.value > 0.66f))
{
timeTarget2 = Random.Range(60, 180);
time2 = 0f;
DeleteSnoop deleteSnoop = Object.Instantiate<GameObject>(Plugin.Snoop, ((Component)MonoSingleton<CanvasController>.Instance).transform).AddComponent<DeleteSnoop>();
if (((ConfigValueElement<bool>)(object)Plugin.DoMusic).Value || delete)
{
((Behaviour)((Component)deleteSnoop).gameObject.GetComponent<AudioSource>()).enabled = false;
}
if (Random.value > 0.33f)
{
SpawnSnoop(delete: true);
}
}
}
[HarmonyPatch(typeof(NewMovement), "FixedUpdate")]
[HarmonyPostfix]
private static void AddStuff()
{
time += Time.deltaTime;
time2 += Time.deltaTime;
if (time > timeTarget)
{
SpawnIlluminati();
}
if (time2 > timeTarget2)
{
SpawnSnoop(delete: false);
}
if (!active)
{
return;
}
float num = 0.999f;
if (Level > 5)
{
num = 0.996f;
}
if (ValueUp)
{
num = 0.5f;
}
if (!(Random.value < num))
{
int num2 = Random.Range(0, 5);
if (num2 == 0)
{
Object.Instantiate<GameObject>(Plugin.Doritos, ((Component)MonoSingleton<CanvasController>.Instance).transform).AddComponent<Spin>();
}
if (num2 == 1)
{
Object.Instantiate<GameObject>(Plugin.Mtndew, ((Component)MonoSingleton<CanvasController>.Instance).transform).AddComponent<Spin>();
}
if (num2 == 2)
{
Object.Instantiate<GameObject>(Plugin.Illuminati, ((Component)MonoSingleton<CanvasController>.Instance).transform).AddComponent<Spin>();
}
if (num2 == 3)
{
Object.Instantiate<GameObject>(Plugin.Doge, ((Component)MonoSingleton<CanvasController>.Instance).transform).AddComponent<Spin>();
}
if (num2 == 4)
{
Object.Instantiate<GameObject>(Plugin.Blunt, ((Component)MonoSingleton<CanvasController>.Instance).transform).AddComponent<Spin>();
}
}
}
}
[HarmonyPatch]
internal class Loomynarty : MonoBehaviour
{
private float drag = 0.75f;
private Vector3 velocity;
private float speed = 50f;
private Transform playerTransform;
private void Start()
{
drag = Random.value * 2f;
speed = Random.Range(40, 61);
playerTransform = ((Component)MonoSingleton<CameraController>.Instance).transform;
((MonoBehaviour)this).StartCoroutine(Delete());
}
private IEnumerator Delete()
{
yield return (object)new WaitForSeconds((float)Random.Range(12, 30));
Object.Destroy((Object)(object)((Component)this).gameObject);
}
private void FixedUpdate()
{
//IL_0003: Unknown result type (might be due to invalid IL or missing references)
//IL_0009: Unknown result type (might be due to invalid IL or missing references)
//IL_0013: Unknown result type (might be due to invalid IL or missing references)
//IL_001e: Unknown result type (might be due to invalid IL or missing references)
//IL_0023: Unknown result type (might be due to invalid IL or missing references)
//IL_0028: Unknown result type (might be due to invalid IL or missing references)
//IL_002f: Unknown result type (might be due to invalid IL or missing references)
//IL_003a: Unknown result type (might be due to invalid IL or missing references)
//IL_0045: Unknown result type (might be due to invalid IL or missing references)
//IL_004a: Unknown result type (might be due to invalid IL or missing references)
//IL_004f: 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_005d: Unknown result type (might be due to invalid IL or missing references)
//IL_0067: Unknown result type (might be due to invalid IL or missing references)
//IL_006c: Unknown result type (might be due to invalid IL or missing references)
//IL_0071: Unknown result type (might be due to invalid IL or missing references)
//IL_007d: Unknown result type (might be due to invalid IL or missing references)
//IL_0083: Unknown result type (might be due to invalid IL or missing references)
//IL_008d: 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_00a9: 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_00bf: Unknown result type (might be due to invalid IL or missing references)
//IL_00c4: Unknown result type (might be due to invalid IL or missing references)
//IL_00c9: Unknown result type (might be due to invalid IL or missing references)
//IL_00cc: 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_00d6: Unknown result type (might be due to invalid IL or missing references)
//IL_00e6: Unknown result type (might be due to invalid IL or missing references)
velocity -= velocity * Time.fixedDeltaTime * drag;
Vector3 val = velocity;
Vector3 val2 = playerTransform.position - ((Component)this).transform.position;
velocity = val + ((Vector3)(ref val2)).normalized * speed * Time.fixedDeltaTime;
Transform transform = ((Component)this).transform;
transform.position += velocity * Time.fixedDeltaTime;
Transform transform2 = ((Component)this).transform;
Quaternion rotation = ((Component)this).transform.rotation;
val2 = playerTransform.position - ((Component)this).transform.position;
transform2.rotation = Quaternion.Slerp(rotation, Quaternion.LookRotation(((Vector3)(ref val2)).normalized, Vector3.up), 15.01f * Time.fixedDeltaTime);
}
}
[HarmonyPatch]
[BepInDependency(/*Could not decode attribute arguments.*/)]
[BepInPlugin("fri.ultrakill.MLGUltrakill", "ultrakill mlg", "4.2.0.69")]
public class Plugin : BaseUnityPlugin
{
public float timer;
public float target = 15f;
public List<GameObject> events = new List<GameObject>();
public static AssetBundle Bundle;
private static Sprite s_logosprite;
private static AudioClip s_fireisgone;
private static AudioClip s_gab_Intro1;
private static AudioClip s_gab_Intro2;
private static AudioClip s_gab2nd_Intro;
private static AudioClip s_gab_61a;
private static AudioClip s_gab_61b;
private static GameObject s_wow;
private static GameObject s_hitmarker;
private static GameObject s_sadViolin;
private static GameObject s_currentSadViolin;
private static GameObject s_ohBaby;
public static GameObject RainbowOverlay;
public static GameObject MyHope;
public static GameObject Doritos;
public static GameObject Mtndew;
public static GameObject Illuminati;
public static GameObject Doge;
public static GameObject Blunt;
public static GameObject MyHopeCR;
private static GameObject s_getTheCamera;
private static GameObject s_explosion;
public static GameObject Quickscope;
private static GameObject s_obey;
private static GameObject s_weed;
private static GameObject s_airhorn;
private static GameObject s_bluntmodel;
private static VideoClip s_optic;
private static GameObject s_comicsans;
private static GameObject s_screaming;
private static GameObject s_hitmarkers;
private static GameObject s_guns;
public static GameObject Illuminati3D;
public static GameObject Snoop;
private ConfigBuilder _config;
[Configgable("", "Disable Copyrighted Music", 0, null)]
public static ConfigToggle CopyrightedMusic = new ConfigToggle(false);
[Configgable("", "Disable Music", 0, null)]
public static ConfigToggle DoMusic = new ConfigToggle(false);
private void Awake()
{
//IL_000c: Unknown result type (might be due to invalid IL or missing references)
//IL_0016: Expected O, but got Unknown
//IL_0027: Unknown result type (might be due to invalid IL or missing references)
_config = new ConfigBuilder("Plugin", "ultrakill mlg");
_config.Build();
new Harmony("MLGUltrakill").PatchAll();
string path = Assembly.GetExecutingAssembly().Location.Replace("MLGUltrakill.dll", "");
string text = Path.Combine(path, "mlgultrakillassets");
Bundle = AssetBundle.LoadFromFile(text);
s_explosion = Bundle.LoadAsset<GameObject>("explosion");
s_logosprite = Bundle.LoadAsset<Sprite>("mlg ultrakill");
s_fireisgone = Bundle.LoadAsset<AudioClip>("mlg fire is gone");
s_gab_Intro1 = Bundle.LoadAsset<AudioClip>("gab_Intro1d");
s_gab_Intro2 = Bundle.LoadAsset<AudioClip>("gab_Intro2b");
s_gab_61a = Bundle.LoadAsset<AudioClip>("gab2nd_6-1tease1");
s_gab_61b = Bundle.LoadAsset<AudioClip>("gab2nd_6-1tease2");
s_gab2nd_Intro = Bundle.LoadAsset<AudioClip>("gab2nd_intro1");
s_wow = Bundle.LoadAsset<GameObject>("wow video");
s_hitmarker = Bundle.LoadAsset<GameObject>("hitmarker");
s_ohBaby = Bundle.LoadAsset<GameObject>("triple sound");
MyHope = Bundle.LoadAsset<GameObject>("theme player");
RainbowOverlay = Bundle.LoadAsset<GameObject>("rainbow overlay");
Doritos = Bundle.LoadAsset<GameObject>("doritos");
Mtndew = Bundle.LoadAsset<GameObject>("mtndew");
Illuminati = Bundle.LoadAsset<GameObject>("illuminati");
Doge = Bundle.LoadAsset<GameObject>("doge");
s_getTheCamera = Bundle.LoadAsset<GameObject>("getthecamera");
Quickscope = Bundle.LoadAsset<GameObject>("quickscope1");
s_obey = Bundle.LoadAsset<GameObject>("obey cap");
s_bluntmodel = Bundle.LoadAsset<GameObject>("bluntmodel");
Illuminati3D = Bundle.LoadAsset<GameObject>("Illuminati3D");
s_weed = Bundle.LoadAsset<GameObject>("weed");
Blunt = Bundle.LoadAsset<GameObject>("blunt");
s_airhorn = Bundle.LoadAsset<GameObject>("airhorn");
MyHope = Bundle.LoadAsset<GameObject>("theme player");
s_sadViolin = Bundle.LoadAsset<GameObject>("death music");
MyHopeCR = Bundle.LoadAsset<GameObject>("theme player copyright");
s_optic = Bundle.LoadAsset<VideoClip>("optic");
s_comicsans = Bundle.LoadAsset<GameObject>("comic sans");
s_screaming = Bundle.LoadAsset<GameObject>("screaming");
s_hitmarkers = Bundle.LoadAsset<GameObject>("hitmarkers");
s_guns = Bundle.LoadAsset<GameObject>("guns");
Snoop = Bundle.LoadAsset<GameObject>("snoop1");
events.Add(s_comicsans);
events.Add(s_screaming);
events.Add(s_hitmarkers);
events.Add(s_guns);
events.Add(s_airhorn);
events.Add(s_weed);
events.Add(Quickscope);
SceneManager.sceneLoaded += OnSceneLoaded;
Impact.Init();
}
private void Update()
{
if (!SceneHelper.CurrentScene.Contains("Main Menu"))
{
timer += Time.deltaTime;
if (LevelManager.Level > 5)
{
timer += Time.deltaTime * 1.5f;
}
if (timer > target)
{
int index = Random.Range(0, events.Count);
GameObject val = events[index];
Object.Instantiate<GameObject>(val, ((Component)MonoSingleton<CanvasController>.Instance).transform);
timer = 0f;
target = Random.Range(10, 20);
}
}
}
private void OnSceneLoaded(Scene scene, LoadSceneMode mode)
{
if (SceneHelper.CurrentScene.Contains("Main Menu"))
{
AudioSource component = ((Scene)(ref scene)).GetRootGameObjects().First((GameObject gameObject) => ((Object)gameObject).name == "Music").GetComponent<AudioSource>();
component.clip = s_fireisgone;
component.Stop();
component.Play();
}
if (SceneHelper.CurrentScene.Contains("Level 3-2"))
{
AudioSource component2 = ((Scene)(ref scene)).GetRootGameObjects().First((GameObject gameObject) => ((Object)gameObject).name == "gab_Intro1").GetComponent<AudioSource>();
AudioSource component3 = ((Scene)(ref scene)).GetRootGameObjects().First((GameObject gameObject) => ((Object)gameObject).name == "gab_Intro2").GetComponent<AudioSource>();
component2.clip = s_gab_Intro1;
component3.clip = s_gab_Intro2;
}
if (SceneHelper.CurrentScene.Contains("Level 6-1"))
{
AudioSource component4 = ((Scene)(ref scene)).GetRootGameObjects().First((GameObject gameObject) => ((Object)gameObject).name == "GabrielVoice1").GetComponent<AudioSource>();
AudioSource component5 = ((Scene)(ref scene)).GetRootGameObjects().First((GameObject gameObject) => ((Object)gameObject).name == "GabrielVoice2").GetComponent<AudioSource>();
component4.clip = s_gab_61a;
component5.clip = s_gab_61b;
}
if (SceneHelper.CurrentScene.Contains("Level 6-2"))
{
AudioSource component6 = ((Component)((Scene)(ref scene)).GetRootGameObjects().First((GameObject gameObject) => ((Object)gameObject).name == "IntroSounds").transform.Find("Filler/Speech and Music/Speech")).GetComponent<AudioSource>();
component6.clip = s_gab2nd_Intro;
}
((Component)((Component)MonoSingleton<CanvasController>.Instance).transform.Find("Main Menu (1)/Title/Text")).GetComponent<TMP_Text>().text = "-- MAJOR LEAGUE GAMING --";
}
[HarmonyPatch(typeof(Image), "OnEnable")]
[HarmonyPostfix]
private static void ReplaceLogo(Image __instance)
{
if (!(((Object)__instance.sprite).name != "logowideborderlesssmaller"))
{
__instance.sprite = s_logosprite;
}
}
[HarmonyPatch(typeof(StyleHUD), "Awake")]
[HarmonyPostfix]
private static void ReplaceStyleNames(StyleHUD __instance)
{
__instance.idNameDict["ultrakill.kill"] = "REKT";
__instance.idNameDict["ultrakill.doublekill"] = "DOUBLE REKT";
__instance.idNameDict["ultrakill.triplekill"] = "OH BABY A TRIPLE";
__instance.idNameDict["ultrakill.bigkill"] = "BIG REKT";
__instance.idNameDict["ultrakill.headshot"] = "NOSCOPE";
__instance.idNameDict["ultrakill.bigheadshot"] = "BIG NOSCOPE";
__instance.idNameDict["ultrakill.headshotcombo"] = "<color=#00ffffff>NOSCOPE STREAK</color>";
__instance.idNameDict["ultrakill.chargeback"] = "MOM GET THE CAMERA";
__instance.idNameDict["ultrakill.enraged"] = "<color=red>u mad bro?</color>";
__instance.idNameDict["ultrakill.quickdraw"] = "QUICKSCOPE";
__instance.idNameDict["ultrakill.airshot"] = "JUMPSHOT";
__instance.idNameDict["ultrakill.multikill"] = "<color=orange>MULTIREKT</color>";
__instance.idNameDict["ultrakill.fried"] = "<color=green>BLAZE IT</color>";
__instance.idNameDict["ultrakill.firehit"] = "<color=green>BLAZE IT</color>";
}
[HarmonyPatch(typeof(EnemyIdentifier), "DeliverDamage")]
[HarmonyPrefix]
private static void SetState(ref float __state, EnemyIdentifier __instance)
{
__state = __instance.health;
}
[HarmonyPatch(typeof(EnemyIdentifier), "DeliverDamage")]
[HarmonyPostfix]
private static void Wow(EnemyIdentifier __instance, float __state)
{
if (!(Random.value < 0.999f) && __state != 0f && __instance.health == 0f)
{
((MonoBehaviour)MonoSingleton<SceneHelper>.Instance).StartCoroutine(DoWow());
}
}
[HarmonyPatch(typeof(EnemyIdentifier), "DeliverDamage")]
[HarmonyPostfix]
private static void Hitmarker(EnemyIdentifier __instance, ref float __state)
{
if (!__instance.dead)
{
GameObject val = Object.Instantiate<GameObject>(s_hitmarker, ((Component)MonoSingleton<CanvasController>.Instance).transform);
val.AddComponent<DeleteHitmarker>();
}
}
private static IEnumerator DoWow()
{
GameObject currentWow = Object.Instantiate<GameObject>(s_wow, ((Component)MonoSingleton<CanvasController>.Instance).transform);
yield return (object)new WaitForSeconds(3.4f);
Object.Destroy((Object)(object)currentWow);
}
[HarmonyPatch(typeof(NewMovement), "GetHurt")]
[HarmonyPostfix]
private static void DeathMusic(NewMovement __instance)
{
if (__instance.hp == 0 && !((ConfigValueElement<bool>)(object)CopyrightedMusic).Value)
{
s_currentSadViolin = Object.Instantiate<GameObject>(s_sadViolin);
}
}
[HarmonyPatch(typeof(NewMovement), "Respawn")]
[HarmonyPostfix]
private static void EndMusic(NewMovement __instance)
{
Object.Destroy((Object)(object)s_currentSadViolin);
}
[HarmonyPatch(typeof(StyleHUD), "AddPoints")]
[HarmonyPostfix]
private static void PlaySound(StyleHUD __instance, string pointID, int points)
{
if (pointID == "ultrakill.triplekill")
{
Object.Instantiate<GameObject>(s_ohBaby);
}
if (points <= 150 || !(pointID != "ultrakill.enraged"))
{
return;
}
if (Random.value < 0.85f)
{
if (Random.value < 0.08f)
{
Object.Instantiate<GameObject>(s_getTheCamera);
}
}
else if (!(Random.value < 0.6f))
{
((MonoBehaviour)MonoSingleton<SceneHelper>.Instance).StartCoroutine(DoWow());
}
}
[HarmonyPatch(typeof(Explosion), "Start")]
[HarmonyPostfix]
private static void CreateExplosion(Explosion __instance)
{
if (!(Random.value > 0.066f))
{
((MonoBehaviour)MonoSingleton<NewMovement>.Instance).StartCoroutine(DeleteExplosion(Object.Instantiate<GameObject>(s_explosion, ((Component)MonoSingleton<CanvasController>.Instance).transform)));
}
}
[HarmonyPatch(typeof(SeasonalHats), "Start")]
[HarmonyPostfix]
private static void AddObey(SeasonalHats __instance)
{
if (Object.op_Implicit((Object)(object)((Component)__instance).GetComponentInParent<Gabriel>()) || Object.op_Implicit((Object)(object)((Component)__instance).GetComponentInParent<GabrielSecond>()))
{
Object.Instantiate<GameObject>(s_bluntmodel, __instance.christmas.transform.parent);
}
if (!(Random.value > 0.666f) && !Object.op_Implicit((Object)(object)((Component)__instance).gameObject.GetComponentInParent<Drone>()) && !Object.op_Implicit((Object)(object)((Component)__instance).gameObject.GetComponentInParent<Zombie>()))
{
Object.Instantiate<GameObject>(s_obey, __instance.christmas.transform.parent);
}
}
[HarmonyPatch(typeof(IntroViolenceScreen), "Start")]
[HarmonyPostfix]
private static void OpTicIntro(IntroViolenceScreen __instance)
{
((Component)__instance).GetComponent<VideoPlayer>().clip = s_optic;
((Component)__instance).GetComponent<VideoPlayer>().Stop();
((Component)__instance).GetComponent<VideoPlayer>().Play();
}
public static IEnumerator DeleteExplosion(GameObject ex)
{
yield return (object)new WaitForSeconds(1.25f);
Object.Destroy((Object)(object)ex);
}
}
internal class Spin : MonoBehaviour
{
private float time;
private float spinSpeed = 4.5f;
private Vector3 pos;
private void Start()
{
//IL_006f: Unknown result type (might be due to invalid IL or missing references)
//IL_0095: Unknown result type (might be due to invalid IL or missing references)
//IL_00aa: Unknown result type (might be due to invalid IL or missing references)
//IL_00bc: Unknown result type (might be due to invalid IL or missing references)
//IL_00c1: Unknown result type (might be due to invalid IL or missing references)
spinSpeed += Random.value * 2.5f;
if (Random.value < 0.5f)
{
spinSpeed *= -1f;
}
((Component)this).transform.parent = ((Component)MonoSingleton<CanvasController>.Instance).transform;
? val = ((Component)this).transform;
float num = Random.Range(0f, (float)Screen.width - ((RectTransform)/*isinst with value type is only supported in some contexts*/).sizeDelta.x);
float num2 = Screen.height;
Transform transform = ((Component)this).transform;
((Transform)val).position = new Vector3(num, Random.Range(0f, num2 - ((RectTransform)((transform is RectTransform) ? transform : null)).sizeDelta.y), 0f);
pos = ((Component)this).transform.position;
}
private void Update()
{
//IL_001a: Unknown result type (might be due to invalid IL or missing references)
//IL_0034: Unknown result type (might be due to invalid IL or missing references)
//IL_0039: Unknown result type (might be due to invalid IL or missing references)
time += Time.deltaTime;
Transform transform = ((Component)this).transform;
transform.eulerAngles += new Vector3(0f, 0f, 480f * Time.deltaTime);
}
private void FixedUpdate()
{
//IL_0008: Unknown result type (might be due to invalid IL or missing references)
//IL_0028: 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)
((Component)this).transform.position = pos + new Vector3(Random.value * 25f, Random.value * 25f, 1f);
if (!(time < 2.4f) && (double)Random.value > 0.99)
{
Object.Destroy((Object)(object)((Component)this).gameObject);
}
}
}