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 MuteEliteSpawnSounds v1.1.0
MuteElites.dll
Decompiled 3 weeks agousing System; using System.Diagnostics; using System.Reflection; using System.Runtime.CompilerServices; using System.Runtime.Versioning; using System.Security; using System.Security.Permissions; using BepInEx; using BepInEx.Configuration; using BepInEx.Logging; using Microsoft.CodeAnalysis; using On.RoR2; using RoR2; using UnityEngine; [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.1", FrameworkDisplayName = ".NET Standard 2.1")] [assembly: AssemblyCompany("MuteElites")] [assembly: AssemblyConfiguration("Debug")] [assembly: AssemblyFileVersion("1.0.0.0")] [assembly: AssemblyInformationalVersion("1.0.0")] [assembly: AssemblyProduct("MuteElites")] [assembly: AssemblyTitle("MuteElites")] [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 MuteElites { internal static class Log { private static ManualLogSource _logSource; internal static void Init(ManualLogSource logSource) { _logSource = logSource; } internal static void Debug(object data) { _logSource.LogDebug(data); } internal static void Error(object data) { _logSource.LogError(data); } internal static void Fatal(object data) { _logSource.LogFatal(data); } internal static void Info(object data) { _logSource.LogInfo(data); } internal static void Message(object data) { _logSource.LogMessage(data); } internal static void Warning(object data) { _logSource.LogWarning(data); } } [BepInPlugin("Bloonjitsu7.MuteEliteSpawnSoundPlugin", "MuteEliteSpawnSoundPlugin", "1.2.0")] public class MuteElites : BaseUnityPlugin { public const string PluginGUID = "Bloonjitsu7.MuteEliteSpawnSoundPlugin"; public const string PluginAuthor = "Bloonjitsu7"; public const string PluginName = "MuteEliteSpawnSoundPlugin"; public const string PluginVersion = "1.2.0"; public static ConfigEntry<bool> EliteSFXConfig { get; set; } public static ConfigEntry<string> ChooseSFXConfig { get; set; } public static ConfigEntry<bool> TestSFXConfig { get; set; } public void Awake() { //IL_005a: Unknown result type (might be due to invalid IL or missing references) //IL_0064: Expected O, but got Unknown Log.Init(((BaseUnityPlugin)this).Logger); EliteSFXConfig = ((BaseUnityPlugin)this).Config.Bind<bool>("Custom SFX", "Enable Custom SFX For Elite Spawns", false, "If this is enabled, then the elite spawn sounds will be replaced with a new sound effect instead of being removed."); ChooseSFXConfig = ((BaseUnityPlugin)this).Config.Bind<string>("Choose SFX", "Set Custom SFX For Elite Spawns", "Play_item_proc_lowerPricedChest", "Sets the custom SFX that will play when a T2 elite spawns. Default is the Sale Star proc sound, requires the previous config enabled to function."); Util.PlaySound_string_GameObject += new hook_PlaySound_string_GameObject(OnPlaySound); } private uint OnPlaySound(orig_PlaySound_string_GameObject orig, string soundString, GameObject gameObject) { if (soundString == null) { return 0u; } if (soundString.Contains("elite_bismuth_spawn") || soundString.Contains("elite_onyx_spawn") || soundString.Contains("realgar_spawn") || soundString.Contains("elite_phenakite_spawn") || soundString.Contains("elite_aquamarine_spawn")) { Log.Message("Removed SFX From " + (object)gameObject); if (EliteSFXConfig.Value) { string value = ChooseSFXConfig.Value; Util.PlaySound(value, gameObject); } return 0u; } return orig.Invoke(soundString, gameObject); } private void OnDestroy() { //IL_0008: Unknown result type (might be due to invalid IL or missing references) //IL_0012: Expected O, but got Unknown Util.PlaySound_string_GameObject -= new hook_PlaySound_string_GameObject(OnPlaySound); } } }