using System;
using System.Collections.Generic;
using System.Diagnostics;
using System.IO;
using System.Reflection;
using System.Runtime.CompilerServices;
using System.Runtime.Versioning;
using System.Security;
using System.Security.Permissions;
using BepInEx;
using HarmonyLib;
using Microsoft.CodeAnalysis;
using UnityEngine;
[assembly: CompilationRelaxations(8)]
[assembly: RuntimeCompatibility(WrapNonExceptionThrows = true)]
[assembly: Debuggable(DebuggableAttribute.DebuggingModes.IgnoreSymbolStoreSequencePoints)]
[assembly: TargetFramework(".NETStandard,Version=v2.0", FrameworkDisplayName = ".NET Standard 2.0")]
[assembly: AssemblyCompany("LowTierSisyphus")]
[assembly: AssemblyConfiguration("Release")]
[assembly: AssemblyDescription("Come forth, child of man, and kill yourself, now.")]
[assembly: AssemblyFileVersion("1.0.0.0")]
[assembly: AssemblyInformationalVersion("1.0.0+d7c92cbd25c739b12e92c37c5d023e153fd111a7")]
[assembly: AssemblyProduct("LowTierSisyphus")]
[assembly: AssemblyTitle("LowTierSisyphus")]
[assembly: SecurityPermission(SecurityAction.RequestMinimum, SkipVerification = true)]
[assembly: AssemblyVersion("1.0.0.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;
}
}
}
namespace LowTierSisy
{
[BepInPlugin("ImNotSimon.LowTierSisyphus", "LowTierSisyphus", "1.1.0")]
public class Plugin : BaseUnityPlugin
{
[HarmonyPatch(typeof(StockMapInfo), "Awake")]
internal class Patch00
{
private static void Postfix(StockMapInfo __instance)
{
AudioSource[] array = Resources.FindObjectsOfTypeAll<AudioSource>();
foreach (AudioSource val in array)
{
if (Object.op_Implicit((Object)(object)val.clip))
{
bool flag = false;
List<SubtitleDataLine> list = new List<SubtitleDataLine>();
if (((Object)val.clip).name == "sp_intro")
{
Debug.Log((object)"Replacing sissypuss intro");
val.clip = LowTierSisyBundle.LoadAsset<AudioClip>("lowtiersisy.wav");
flag = true;
list.Add(MakeLine("You are a worthless", 0f));
list.Add(MakeLine("BITCH ASS machine.", 1.1f));
list.Add(MakeLine("Your life LITERALLY is as valuable as a summer's ant.", 2.26f));
list.Add(MakeLine("I'm just gonna stomp you,", 5.86f));
list.Add(MakeLine("and you're gonna keep coming back.", 7.36f));
list.Add(MakeLine("I'mma seal up all my cracks,", 9.77f));
list.Add(MakeLine("you're gonna keep coming back.", 11.48f));
list.Add(MakeLine("Why?", 13.28f));
list.Add(MakeLine("'Cause YOU smellin' the BLOOD,", 13.87f));
list.Add(MakeLine("you worthless", 15.5f));
list.Add(MakeLine("BITCH ASS machine.", 16.5f));
list.Add(MakeLine("You're gonna stay on my dick until you DIE.", 17.78f));
list.Add(MakeLine("You serve no purpose in life.", 20.54f));
list.Add(MakeLine("Your purpose in life is to be on my stream", 22.021f));
list.Add(MakeLine("SUCKING on my dick daily.", 24.34f));
list.Add(MakeLine("Your purpose in life is to be in that chat", 26.605f));
list.Add(MakeLine("BLOWING the dick daily.", 29f));
list.Add(MakeLine("Your life is nothing, you serve ZERO purpose!", 31f));
list.Add(MakeLine("Come forth, Child of Man", 34.69f));
list.Add(MakeLine("and kill yourself", 36.73f));
list.Add(MakeLine("NOW!", 38.036f));
}
if (flag)
{
object value = Traverse.Create((object)((Component)val).GetComponent<SubtitledAudioSource>()).Field("subtitles").GetValue();
((SubtitleData)((value is SubtitleData) ? value : null)).lines = list.ToArray();
}
}
}
}
}
private static Harmony harmony;
internal static AssetBundle LowTierSisyBundle;
private void Awake()
{
//IL_0030: Unknown result type (might be due to invalid IL or missing references)
//IL_003a: Expected O, but got Unknown
Debug.Log((object)"BEGONE! (low tier sisyphus starting)");
Assembly.GetExecutingAssembly();
string path = "lowtiersisy";
LowTierSisyBundle = AssetBundle.LoadFromFile(Path.Combine(ModPath(), path));
harmony = new Harmony("ltg.Sisyphus");
harmony.PatchAll();
}
public static string ModPath()
{
return Assembly.GetExecutingAssembly().Location.Substring(0, Assembly.GetExecutingAssembly().Location.LastIndexOf(Path.DirectorySeparatorChar));
}
private static SubtitleDataLine MakeLine(string subtitle, float time)
{
//IL_0000: Unknown result type (might be due to invalid IL or missing references)
//IL_0005: Unknown result type (might be due to invalid IL or missing references)
//IL_000c: Unknown result type (might be due to invalid IL or missing references)
//IL_0014: Expected O, but got Unknown
return new SubtitleDataLine
{
subtitle = subtitle,
time = time
};
}
}
}