Please disclose if any significant portion of your mod was created using AI tools by adding the 'AI Generated' category. Failing to do so may result in the mod being removed from Thunderstore.
Decompiled source of Insane Jester v1.0.1
Insane Jester.dll
Decompiled 2 years agousing 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.Logging; using HarmonyLib; using UnityEngine; [assembly: CompilationRelaxations(8)] [assembly: RuntimeCompatibility(WrapNonExceptionThrows = true)] [assembly: Debuggable(DebuggableAttribute.DebuggingModes.Default | DebuggableAttribute.DebuggingModes.DisableOptimizations | DebuggableAttribute.DebuggingModes.IgnoreSymbolStoreSequencePoints | DebuggableAttribute.DebuggingModes.EnableEditAndContinue)] [assembly: AssemblyTitle("Insane Jester")] [assembly: AssemblyDescription("")] [assembly: AssemblyConfiguration("")] [assembly: AssemblyCompany("")] [assembly: AssemblyProduct("Insane Jester")] [assembly: AssemblyCopyright("Copyright © 2024")] [assembly: AssemblyTrademark("")] [assembly: ComVisible(false)] [assembly: Guid("88cda8d5-5241-4bc8-9fc6-28328701528d")] [assembly: AssemblyFileVersion("1.0.0.0")] [assembly: TargetFramework(".NETFramework,Version=v4.7.2", FrameworkDisplayName = ".NET Framework 4.7.2")] [assembly: AssemblyVersion("1.0.0.0")] namespace Insane_Jester; [HarmonyPatch(typeof(VehicleController))] internal class CruiserPatch { [HarmonyPatch("SwitchRadio")] [HarmonyPrefix] private static void AddCruiserRadioSong(ref AudioClip[] ___radioClips) { List<AudioClip> list = new List<AudioClip>(); list = ___radioClips.ToList(); if (!list.Contains(SFX.Benz)) { list.Add(SFX.Benz); } else { IJ.Instance.mls.LogDebug((object)"Benz Sound already added!"); } ___radioClips = list.ToArray(); } } [BepInPlugin("Charell.InsaneJester", "Insane Jester", "1.0.0")] public class IJ : BaseUnityPlugin { private const string modGUID = "Charell.InsaneJester"; private const string modName = "Insane Jester"; private const string modVersion = "1.0.0"; private readonly Harmony harmony = new Harmony("Charell.InsaneJester"); internal ManualLogSource mls; public static IJ Instance; internal static List<AudioClip> SoundFX = new List<AudioClip>(); internal static AssetBundle Bundle; private void Awake() { if ((Object)(object)Instance == (Object)null) { Instance = this; } mls = Logger.CreateLogSource("Charell.InsaneJester"); harmony.PatchAll(typeof(IJ)); harmony.PatchAll(typeof(JesterPatch)); harmony.PatchAll(typeof(CruiserPatch)); string pluginPath = Paths.PluginPath; mls.LogDebug((object)("Folder location: " + pluginPath)); Bundle = AssetBundle.LoadFromFile(pluginPath + "\\Charell-Insane_Jester\\sounds"); if ((Object)(object)Bundle != (Object)null) { SoundFX = Bundle.LoadAllAssets<AudioClip>().ToList(); mls.LogDebug((object)"Successfully loaded all AudioClips from Asset!"); { foreach (AudioClip item in SoundFX) { if (((Object)item).name.ToLower() == "voice") { int index = SoundFX.IndexOf(item); SFX.IntroVoice = SoundFX[index]; } if (((Object)item).name.ToLower() == "moan") { int index2 = SoundFX.IndexOf(item); SFX.Moan = SoundFX[index2]; } if (((Object)item).name.ToLower() == "insane1") { int index3 = SoundFX.IndexOf(item); SFX.InsanePart1 = SoundFX[index3]; } if (((Object)item).name.ToLower() == "insane2") { int index4 = SoundFX.IndexOf(item); SFX.InsanePart2 = SoundFX[index4]; } if (((Object)item).name.ToLower() == "benz") { int index5 = SoundFX.IndexOf(item); SFX.Benz = SoundFX[index5]; } } return; } } mls.LogDebug((object)"moan file not found!"); } } [HarmonyPatch(typeof(JesterAI))] internal class JesterPatch { [HarmonyPatch("Start")] [HarmonyPrefix] private static void FixJesterWindUp(ref AudioClip ___popGoesTheWeaselTheme) { ___popGoesTheWeaselTheme = SFX.InsanePart1; } [HarmonyPatch("Start")] [HarmonyPrefix] public static void FixJesterScream(ref AudioClip ___screamingSFX) { ___screamingSFX = SFX.InsanePart2; } [HarmonyPatch("SetJesterInitialValues")] [HarmonyPostfix] public static void JestAIInitialPatch(ref float ___popUpTimer) { ___popUpTimer = 48f; } } public static class SFX { public static AudioClip IntroVoice; public static AudioClip Moan; public static AudioClip InsanePart1; public static AudioClip InsanePart2; public static AudioClip Benz; }