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 FireworksMissileVisualDisabler v1.0.0
plugins/FireworksMissileVisualDisabler.dll
Decompiled 5 months agousing System.Diagnostics; using System.Reflection; using System.Runtime.CompilerServices; using System.Runtime.Versioning; using BepInEx; using BepInEx.Configuration; using UnityEngine; using UnityEngine.AddressableAssets; using UnityEngine.ResourceManagement.AsyncOperations; [assembly: CompilationRelaxations(8)] [assembly: RuntimeCompatibility(WrapNonExceptionThrows = true)] [assembly: Debuggable(DebuggableAttribute.DebuggingModes.IgnoreSymbolStoreSequencePoints)] [assembly: TargetFramework(".NETFramework,Version=v4.8", FrameworkDisplayName = ".NET Framework 4.8")] [assembly: AssemblyVersion("0.0.0.0")] namespace FireworksMissileVisualDisabler; [BepInPlugin("com.yourname.fireworksmissilevisualdisabler", "Fireworks Missile Visual Disabler", "1.0.0")] public class FireworksMissileVisualDisabler : BaseUnityPlugin { public const string PluginGUID = "com.yourname.fireworksmissilevisualdisabler"; public const string PluginName = "Fireworks Missile Visual Disabler"; public const string PluginVersion = "1.0.0"; private ConfigEntry<bool> disableFireworksVisuals; private ConfigEntry<bool> disableAtGMissileVisuals; private ConfigEntry<bool> disableFireworkActivationEffect; public void Awake() { //IL_0068: Unknown result type (might be due to invalid IL or missing references) //IL_006d: Unknown result type (might be due to invalid IL or missing references) //IL_0086: Unknown result type (might be due to invalid IL or missing references) //IL_008b: Unknown result type (might be due to invalid IL or missing references) //IL_00a4: 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_00c2: Unknown result type (might be due to invalid IL or missing references) //IL_00c7: Unknown result type (might be due to invalid IL or missing references) disableFireworksVisuals = ((BaseUnityPlugin)this).Config.Bind<bool>("Visual Effects", "DisableFireworksVisuals", true, "禁用烟花束的视觉效果(保留伤害)"); disableAtGMissileVisuals = ((BaseUnityPlugin)this).Config.Bind<bool>("Visual Effects", "DisableAtGMissileVisuals", true, "禁用AtG导弹的视觉效果(保留伤害)"); disableFireworkActivationEffect = ((BaseUnityPlugin)this).Config.Bind<bool>("Visual Effects", "DisableFireworkActivationEffect", true, "禁用烟花道具触发时的庆祝粒子特效"); AsyncOperationHandle<GameObject> val = Addressables.LoadAssetAsync<GameObject>((object)"RoR2/Base/Firework/FireworkGhost.prefab"); val.Completed += delegate(AsyncOperationHandle<GameObject> handle) { if ((Object)(object)handle.Result == (Object)null) { ((BaseUnityPlugin)this).Logger.LogError((object)"Failed to load FireworkGhost.prefab"); } else { GameObject result4 = handle.Result; TrailRenderer trail2 = result4.GetComponent<TrailRenderer>(); if ((Object)(object)trail2 != (Object)null) { disableFireworksVisuals.SettingChanged += delegate { ((Renderer)trail2).enabled = !disableFireworksVisuals.Value; }; ((Renderer)trail2).enabled = !disableFireworksVisuals.Value; } ParticleSystem[] componentsInChildren8 = result4.GetComponentsInChildren<ParticleSystem>(true); foreach (ParticleSystem ps4 in componentsInChildren8) { disableFireworksVisuals.SettingChanged += delegate { if (disableFireworksVisuals.Value) { ps4.Stop(true, (ParticleSystemStopBehavior)0); } }; if (disableFireworksVisuals.Value) { ps4.Stop(true, (ParticleSystemStopBehavior)0); } } Renderer[] componentsInChildren9 = result4.GetComponentsInChildren<Renderer>(true); foreach (Renderer renderer4 in componentsInChildren9) { disableFireworksVisuals.SettingChanged += delegate { renderer4.enabled = !disableFireworksVisuals.Value; }; renderer4.enabled = !disableFireworksVisuals.Value; } ((BaseUnityPlugin)this).Logger.LogInfo((object)"Firework visual effects disabled successfully"); } }; val = Addressables.LoadAssetAsync<GameObject>((object)"RoR2/Base/Common/MissileGhost.prefab"); val.Completed += delegate(AsyncOperationHandle<GameObject> handle) { if ((Object)(object)handle.Result == (Object)null) { ((BaseUnityPlugin)this).Logger.LogError((object)"Failed to load MissileGhost.prefab"); } else { GameObject result3 = handle.Result; TrailRenderer trail = result3.GetComponent<TrailRenderer>(); if ((Object)(object)trail != (Object)null) { disableAtGMissileVisuals.SettingChanged += delegate { ((Renderer)trail).enabled = !disableAtGMissileVisuals.Value; }; ((Renderer)trail).enabled = !disableAtGMissileVisuals.Value; } ParticleSystem[] componentsInChildren6 = result3.GetComponentsInChildren<ParticleSystem>(true); foreach (ParticleSystem ps3 in componentsInChildren6) { disableAtGMissileVisuals.SettingChanged += delegate { if (disableAtGMissileVisuals.Value) { ps3.Stop(true, (ParticleSystemStopBehavior)0); } }; if (disableAtGMissileVisuals.Value) { ps3.Stop(true, (ParticleSystemStopBehavior)0); } } Renderer[] componentsInChildren7 = result3.GetComponentsInChildren<Renderer>(true); foreach (Renderer renderer3 in componentsInChildren7) { disableAtGMissileVisuals.SettingChanged += delegate { renderer3.enabled = !disableAtGMissileVisuals.Value; }; renderer3.enabled = !disableAtGMissileVisuals.Value; } ((BaseUnityPlugin)this).Logger.LogInfo((object)"AtG Missile visual effects disabled successfully"); } }; val = Addressables.LoadAssetAsync<GameObject>((object)"RoR2/Base/Firework/FireworkLauncher.prefab"); val.Completed += delegate(AsyncOperationHandle<GameObject> handle) { if ((Object)(object)handle.Result == (Object)null) { ((BaseUnityPlugin)this).Logger.LogWarning((object)"Failed to load FireworkLauncher.prefab"); } else { GameObject result2 = handle.Result; ParticleSystem[] componentsInChildren3 = result2.GetComponentsInChildren<ParticleSystem>(true); foreach (ParticleSystem ps2 in componentsInChildren3) { disableFireworkActivationEffect.SettingChanged += delegate { if (disableFireworkActivationEffect.Value) { ps2.Stop(true, (ParticleSystemStopBehavior)0); } else { ps2.Play(); } }; if (disableFireworkActivationEffect.Value) { ps2.Stop(true, (ParticleSystemStopBehavior)0); } } Renderer[] componentsInChildren4 = result2.GetComponentsInChildren<Renderer>(true); foreach (Renderer renderer2 in componentsInChildren4) { disableFireworkActivationEffect.SettingChanged += delegate { renderer2.enabled = !disableFireworkActivationEffect.Value; }; renderer2.enabled = !disableFireworkActivationEffect.Value; } Light[] componentsInChildren5 = result2.GetComponentsInChildren<Light>(true); foreach (Light light in componentsInChildren5) { disableFireworkActivationEffect.SettingChanged += delegate { ((Behaviour)light).enabled = !disableFireworkActivationEffect.Value; }; ((Behaviour)light).enabled = !disableFireworkActivationEffect.Value; } ((BaseUnityPlugin)this).Logger.LogInfo((object)"Firework launcher effect disabled successfully"); } }; val = Addressables.LoadAssetAsync<GameObject>((object)"RoR2/Base/Firework/FireworkExplosion2.prefab"); val.Completed += delegate(AsyncOperationHandle<GameObject> handle) { if ((Object)(object)handle.Result == (Object)null) { ((BaseUnityPlugin)this).Logger.LogWarning((object)"Failed to load FireworkExplosion2.prefab"); } else { GameObject result = handle.Result; ParticleSystem[] componentsInChildren = result.GetComponentsInChildren<ParticleSystem>(true); foreach (ParticleSystem ps in componentsInChildren) { disableFireworkActivationEffect.SettingChanged += delegate { if (disableFireworkActivationEffect.Value) { ps.Stop(true, (ParticleSystemStopBehavior)0); } else { ps.Play(); } }; if (disableFireworkActivationEffect.Value) { ps.Stop(true, (ParticleSystemStopBehavior)0); } } Renderer[] componentsInChildren2 = result.GetComponentsInChildren<Renderer>(true); foreach (Renderer renderer in componentsInChildren2) { disableFireworkActivationEffect.SettingChanged += delegate { renderer.enabled = !disableFireworkActivationEffect.Value; }; renderer.enabled = !disableFireworkActivationEffect.Value; } ((BaseUnityPlugin)this).Logger.LogInfo((object)"Firework explosion effect disabled successfully"); } }; ((BaseUnityPlugin)this).Logger.LogInfo((object)"Plugin Fireworks Missile Visual Disabler is loaded!"); } }