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 mikefrostsoundpack v3f v1.0.3
BepInEx/plugins/CreepyBrackens.dll
Decompiled 2 years agousing System; using System.Collections.Generic; using System.Diagnostics; using System.Reflection; using System.Runtime.CompilerServices; using System.Runtime.InteropServices; using System.Runtime.Versioning; using System.Security; using System.Security.Permissions; using System.Threading.Tasks; using BepInEx; using BepInEx.Logging; using CreepyBrackens.Patches; using HarmonyLib; using UnityEngine; using UnityEngine.Networking; [assembly: CompilationRelaxations(8)] [assembly: RuntimeCompatibility(WrapNonExceptionThrows = true)] [assembly: Debuggable(DebuggableAttribute.DebuggingModes.Default | DebuggableAttribute.DebuggingModes.DisableOptimizations | DebuggableAttribute.DebuggingModes.IgnoreSymbolStoreSequencePoints | DebuggableAttribute.DebuggingModes.EnableEditAndContinue)] [assembly: AssemblyTitle("CreepyBrackens")] [assembly: AssemblyDescription("")] [assembly: AssemblyConfiguration("")] [assembly: AssemblyCompany("")] [assembly: AssemblyProduct("CreepyBrackens")] [assembly: AssemblyCopyright("Copyright © 2023")] [assembly: AssemblyTrademark("")] [assembly: ComVisible(false)] [assembly: Guid("9568b680-cde8-423a-b296-7890f2293a27")] [assembly: AssemblyFileVersion("1.0.0.0")] [assembly: TargetFramework(".NETFramework,Version=v4.8", FrameworkDisplayName = ".NET Framework 4.8")] [assembly: SecurityPermission(SecurityAction.RequestMinimum, SkipVerification = true)] [assembly: AssemblyVersion("1.0.0.0")] [module: UnverifiableCode] namespace System.Runtime.CompilerServices { [AttributeUsage(AttributeTargets.Assembly, AllowMultiple = true)] internal sealed class IgnoresAccessChecksToAttribute : Attribute { public IgnoresAccessChecksToAttribute(string assemblyName) { } } } namespace CreepyBrackens { [BepInPlugin("ColtG5.CreepyBrackens", "CreepyBrackens", "1.0.0")] public class CreepyBrackens : BaseUnityPlugin { private const string modGUID = "ColtG5.CreepyBrackens"; private const string modName = "CreepyBrackens"; private const string modVersion = "1.0.0"; private readonly Harmony harmony = new Harmony("ColtG5.CreepyBrackens"); private static CreepyBrackens Instance; internal ManualLogSource mls; private void Awake() { if ((Object)(object)Instance == (Object)null) { Instance = this; } mls = Logger.CreateLogSource("ColtG5.CreepyBrackens"); harmony.PatchAll(typeof(BrackenUpdatePatch)); mls.LogInfo((object)"Successfully patched CreepyBrackens into the game !!!!"); } } } namespace CreepyBrackens.Patches { [HarmonyPatch(typeof(FlowermanAI))] internal class BrackenUpdatePatch { private class FlowermanAudioInfo { public bool IsPlaying { get; set; } public AudioSource AudioSource { get; set; } } private static Dictionary<FlowermanAI, FlowermanAudioInfo> flowermanAudioInfoMap = new Dictionary<FlowermanAI, FlowermanAudioInfo>(); [HarmonyPatch("Update")] [HarmonyPrefix] private static async void UpdatePatch(FlowermanAI __instance) { if (!flowermanAudioInfoMap.TryGetValue(__instance, out var flowermanAudioInfo)) { flowermanAudioInfo = new FlowermanAudioInfo { IsPlaying = false, AudioSource = ((Component)__instance).gameObject.AddComponent<AudioSource>() }; flowermanAudioInfo.AudioSource.spatialBlend = 1f; flowermanAudioInfo.AudioSource.dopplerLevel = 1f; flowermanAudioInfo.AudioSource.rolloffMode = (AudioRolloffMode)0; flowermanAudioInfo.AudioSource.minDistance = 5f; flowermanAudioInfo.AudioSource.maxDistance = 50f; flowermanAudioInfo.AudioSource.volume = 0.8f; flowermanAudioInfoMap[__instance] = flowermanAudioInfo; } if (__instance.wasInEvadeMode && flowermanAudioInfo.IsPlaying) { flowermanAudioInfo.AudioSource.Stop(); flowermanAudioInfo.IsPlaying = false; } if (!__instance.wasInEvadeMode && !flowermanAudioInfo.IsPlaying && ((EnemyAI)__instance).mostOptimalDistance <= 50f) { flowermanAudioInfo.IsPlaying = true; string path = "file://" + Paths.PluginPath + "\\ColtG5-CreepyBrackens\\creepy-bracken-sound.mp3"; UnityWebRequest audioClip = UnityWebRequestMultimedia.GetAudioClip(path, (AudioType)13); audioClip.SendWebRequest(); while (!audioClip.isDone) { } AudioClip clip = DownloadHandlerAudioClip.GetContent(audioClip); flowermanAudioInfo.AudioSource.clip = clip; flowermanAudioInfo.AudioSource.PlayOneShot(clip); Random random = new Random(); double randomDelay = random.NextDouble() * 5.0 + 5.0; Task.Run(async delegate { await Task.Delay(TimeSpan.FromSeconds((double)clip.length + randomDelay)); flowermanAudioInfo.AudioSource.Stop(); flowermanAudioInfo.IsPlaying = false; }); } } } }
BepInEx/plugins/ThomasTheThumpEngine.dll
Decompiled 2 years agousing System; using System.Diagnostics; using System.IO; using System.Reflection; using System.Runtime.CompilerServices; using System.Runtime.InteropServices; using System.Runtime.Versioning; using BepInEx; using BepInEx.Logging; using HarmonyLib; using LCSoundTool; using ThomasTheThumpEngine.Patches; 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("ThomasTheThumpEngine")] [assembly: AssemblyDescription("")] [assembly: AssemblyConfiguration("")] [assembly: AssemblyCompany("")] [assembly: AssemblyProduct("ThomasTheThumpEngine")] [assembly: AssemblyCopyright("Copyright © 2023")] [assembly: AssemblyTrademark("")] [assembly: ComVisible(false)] [assembly: Guid("b4daa324-0181-4b65-a75e-3582a3d0c930")] [assembly: AssemblyFileVersion("1.0.0.0")] [assembly: TargetFramework(".NETFramework,Version=v4.8", FrameworkDisplayName = ".NET Framework 4.8")] [assembly: AssemblyVersion("1.0.0.0")] namespace ThomasTheThumpEngine { [BepInPlugin("LineLoad.ThomasTheThumpEngine", "Thomas The Thump Engine", "1.0.4")] public class ThumperThomasBase : BaseUnityPlugin { private const string pluginGUID = "LineLoad.ThomasTheThumpEngine"; private const string pluginName = "Thomas The Thump Engine"; private const string pluginVersion = "1.0.4"; private readonly Harmony harmony = new Harmony("LineLoad.ThomasTheThumpEngine"); public static ThumperThomasBase Instance; internal ManualLogSource logger; public static AudioClip thomasTheme; private void Awake() { if ((Object)(object)Instance == (Object)null) { Instance = this; } logger = Logger.CreateLogSource("LineLoad.ThomasTheThumpEngine"); logger.LogInfo((object)"Plugin LineLoad.ThomasTheThumpEngine is loaded!"); harmony.PatchAll(typeof(ThumperThomasBase)); harmony.PatchAll(typeof(StartOfRoundPatch)); harmony.PatchAll(typeof(CrawlerAIPatch)); harmony.PatchAll(typeof(EnemyAIPatch)); } } } namespace ThomasTheThumpEngine.Patches { [HarmonyPatch(typeof(CrawlerAI))] internal class CrawlerAIPatch : MonoBehaviour { [HarmonyPatch("BeginChasingPlayerClientRpc")] [HarmonyPostfix] private static void PlayTheme(CrawlerAI __instance, ref bool ___hasEnteredChaseMode) { if (((EnemyAI)__instance).currentBehaviourStateIndex == 1 && !___hasEnteredChaseMode) { ((EnemyAI)__instance).creatureVoice.PlayOneShot(ThumperThomasBase.thomasTheme); ThumperThomasBase.Instance.logger.LogDebug((object)"Chase theme started!"); } } } [HarmonyPatch(typeof(EnemyAI))] internal class EnemyAIPatch : MonoBehaviour { [HarmonyPatch("KillEnemyClientRpc")] [HarmonyPrefix] private static void StopThemeOnDeath(EnemyAI __instance) { if (isEnemy(__instance, "crawler")) { StopTheme(__instance); } } [HarmonyPatch("SwitchToBehaviourStateOnLocalClient")] [HarmonyPostfix] private static void StopThemeOnPassiveBehaviourState(EnemyAI __instance) { if (__instance.currentBehaviourStateIndex == 0 && isEnemy(__instance, "crawler")) { StopTheme(__instance); } } private static void StopTheme(EnemyAI __instance) { __instance.creatureVoice.Stop(); ThumperThomasBase.Instance.logger.LogDebug((object)"Chase theme stopped!"); } private static bool isEnemy(EnemyAI enemy, string enemyName) { return enemy.enemyType.enemyName.ToLower() == enemyName.ToLower(); } } [HarmonyPatch(typeof(StartOfRound))] internal class StartOfRoundPatch { [HarmonyPatch("Start")] [HarmonyPostfix] private static void LoadTheme() { try { string text = Path.Combine(Paths.PluginPath, "LineLoad-ThomasTheThumpEngine"); ThumperThomasBase.thomasTheme = SoundTool.GetAudioClip(text, "Thomas_the_Tank_Engine_Theme.ogg"); ThumperThomasBase.Instance.logger.LogInfo((object)"Chase theme loaded successfully!"); } catch (Exception ex) { ThumperThomasBase.Instance.logger.LogWarning((object)ex); } } } }
BepInEx/plugins/Tyler1Bracken.dll
Decompiled 2 years agousing System.Diagnostics; using System.Reflection; using System.Runtime.CompilerServices; using System.Runtime.InteropServices; using System.Runtime.Versioning; using BepInEx; using BepInEx.Logging; using HarmonyLib; using UnityEngine; using UnityEngine.Networking; [assembly: CompilationRelaxations(8)] [assembly: RuntimeCompatibility(WrapNonExceptionThrows = true)] [assembly: Debuggable(DebuggableAttribute.DebuggingModes.Default | DebuggableAttribute.DebuggingModes.DisableOptimizations | DebuggableAttribute.DebuggingModes.IgnoreSymbolStoreSequencePoints | DebuggableAttribute.DebuggingModes.EnableEditAndContinue)] [assembly: AssemblyTitle("Tyler1Bracken")] [assembly: AssemblyDescription("")] [assembly: AssemblyConfiguration("")] [assembly: AssemblyCompany("")] [assembly: AssemblyProduct("Tyler1Bracken")] [assembly: AssemblyCopyright("Copyright © 2023")] [assembly: AssemblyTrademark("")] [assembly: ComVisible(false)] [assembly: Guid("9d426624-dc22-4a43-898c-22e980a41a73")] [assembly: AssemblyFileVersion("1.0.0.0")] [assembly: TargetFramework(".NETFramework,Version=v4.8", FrameworkDisplayName = ".NET Framework 4.8")] [assembly: AssemblyVersion("1.0.0.0")] namespace Tyler1Bracken; [BepInPlugin("SteamBlizzard.Tyler1Bracken", "Tyler1Bracken", "1.0.0.0")] public class T1BrackenBase : BaseUnityPlugin { private const string modGUID = "SteamBlizzard.Tyler1Bracken"; private const string modName = "Tyler1Bracken"; private const string modVersion = "1.0.0.0"; private static T1BrackenBase Instance; private readonly Harmony harmony = new Harmony("SteamBlizzard.Tyler1Bracken"); internal ManualLogSource mls; public void Awake() { mls = Logger.CreateLogSource("SteamBlizzard.Tyler1Bracken"); mls.LogInfo((object)"Tyler1Bracken loading..."); if ((Object)(object)Instance == (Object)null) { Instance = this; } harmony.PatchAll(); mls.LogInfo((object)"Loaded and patches applied."); } } [HarmonyPatch(typeof(FlowermanAI))] internal class T1BrackenPatch { [HarmonyPatch("Start")] [HarmonyPostfix] private static void AudioPatch(FlowermanAI __instance) { //IL_0078: Unknown result type (might be due to invalid IL or missing references) //IL_007e: Invalid comparison between Unknown and I4 if ((Object)(object)__instance != (Object)null) { ManualLogSource val = Logger.CreateLogSource("SteamBlizzard.Tyler1Items"); val.LogInfo((object)"Patching audio..."); string text = "file://" + Paths.PluginPath + "\\SteamBlizzard-Tyler1Bracken\\tyler1_help.mp3"; UnityWebRequest audioClip = UnityWebRequestMultimedia.GetAudioClip(text, (AudioType)13); audioClip.SendWebRequest(); val.LogMessage((object)"Accessing..."); while (!audioClip.isDone) { } val.LogMessage((object)"Accessed."); if ((int)audioClip.result == 1) { __instance.crackNeckSFX = DownloadHandlerAudioClip.GetContent(audioClip); val.LogMessage((object)"Audio clip assigned to drop SFX."); __instance.crackNeckAudio.rolloffMode = (AudioRolloffMode)1; __instance.crackNeckAudio.maxDistance = 30f; __instance.crackNeckAudio.minDistance = 1f; } else { val.LogError((object)"Failed to access audio clip."); } } } }