Please disclose if your mod was created primarily 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 EchoCurse Weather v1.0.0
EchoCurse.dll
Decompiled a year agousing System.Diagnostics; using System.Reflection; using System.Runtime.CompilerServices; using System.Runtime.InteropServices; using System.Runtime.Versioning; using BepInEx; using GameNetcodeStuff; using HarmonyLib; using UnityEngine; using WeatherRegistry; using echo_curse.patches; using echo_curse.weathers; [assembly: CompilationRelaxations(8)] [assembly: RuntimeCompatibility(WrapNonExceptionThrows = true)] [assembly: Debuggable(DebuggableAttribute.DebuggingModes.Default | DebuggableAttribute.DebuggingModes.DisableOptimizations | DebuggableAttribute.DebuggingModes.IgnoreSymbolStoreSequencePoints | DebuggableAttribute.DebuggingModes.EnableEditAndContinue)] [assembly: AssemblyTitle("EchoCurse")] [assembly: AssemblyDescription("")] [assembly: AssemblyConfiguration("")] [assembly: AssemblyCompany("")] [assembly: AssemblyProduct("EchoCurse")] [assembly: AssemblyCopyright("")] [assembly: AssemblyTrademark("")] [assembly: ComVisible(false)] [assembly: Guid("472ad058-9d06-4e6c-a9ed-159f4f1e044b")] [assembly: AssemblyFileVersion("1.0.0.0")] [assembly: TargetFramework(".NETFramework,Version=v4.8", FrameworkDisplayName = ".NET Framework 4.8")] [assembly: AssemblyVersion("1.0.0.0")] namespace echo_curse { public class echo_curse_helper { public static bool is_echo_curse; } [BepInPlugin("vtl0.echo_curse", "Echo Curse", "1.0.0")] public class mod_base : BaseUnityPlugin { private const string mod_guid = "vtl0.echo_curse"; private const string mod_name = "Echo Curse"; private const string mod_version = "1.0.0"; private readonly Harmony echo_curse_mod = new Harmony("vtl0.echo_curse"); private static mod_base instance; public static Weather echo_curse_weather; private void Awake() { //IL_0018: Unknown result type (might be due to invalid IL or missing references) //IL_001d: Unknown result type (might be due to invalid IL or missing references) //IL_002e: Expected O, but got Unknown //IL_0046: Unknown result type (might be due to invalid IL or missing references) //IL_004b: Unknown result type (might be due to invalid IL or missing references) //IL_005c: Expected O, but got Unknown //IL_0057: Unknown result type (might be due to invalid IL or missing references) //IL_005c: Unknown result type (might be due to invalid IL or missing references) //IL_006e: Unknown result type (might be due to invalid IL or missing references) //IL_0073: Unknown result type (might be due to invalid IL or missing references) //IL_007e: Unknown result type (might be due to invalid IL or missing references) //IL_008a: Unknown result type (might be due to invalid IL or missing references) //IL_0094: Expected O, but got Unknown //IL_0094: Unknown result type (might be due to invalid IL or missing references) //IL_00a0: Unknown result type (might be due to invalid IL or missing references) //IL_00aa: Expected O, but got Unknown //IL_00aa: Unknown result type (might be due to invalid IL or missing references) //IL_00b6: Unknown result type (might be due to invalid IL or missing references) //IL_00c0: Expected O, but got Unknown //IL_00c0: Unknown result type (might be due to invalid IL or missing references) //IL_00c9: Unknown result type (might be due to invalid IL or missing references) //IL_00d3: Expected O, but got Unknown //IL_00d8: Expected O, but got Unknown if ((Object)(object)instance == (Object)null) { instance = this; } GameObject val = Object.Instantiate<GameObject>(new GameObject { name = "EchoCurseWeather" }); ((Object)val).hideFlags = (HideFlags)61; val.AddComponent<EchoCurse>(); echo_curse_weather = new Weather("Echo Curse", new ImprovedWeatherEffect((GameObject)null, val) { SunAnimatorBool = "overcast" }) { Color = Color32.op_Implicit(new Color32(byte.MaxValue, (byte)201, (byte)125, byte.MaxValue)), Config = { ScrapAmountMultiplier = new FloatConfigHandler(1.15f, true) }, Config = { ScrapValueMultiplier = new FloatConfigHandler(1.2f, true) }, Config = { LevelWeights = new LevelWeightsConfigHandler("Assurance@150; Titan@120; Experimentation@50; March@120; Vow@50; Gratar@140; Atlantis@20; Bozoros@110; EchoReach@200", true) }, Config = { DefaultWeight = new IntegerConfigHandler(100, true) } }; echo_curse_mod.PatchAll(typeof(echo_curse_soundpatch_roundmanager)); echo_curse_mod.PatchAll(typeof(echo_curse_soundpatch_playercontrollerb)); WeatherManager.RegisterWeather(echo_curse_weather); } } } namespace echo_curse.weathers { public class EchoCurse : MonoBehaviour { private void Awake() { } private void OnEnable() { echo_curse_helper.is_echo_curse = true; RoundManager.Instance.hourTimeBetweenEnemySpawnBatches = 1; RoundManager instance = RoundManager.Instance; instance.currentMaxInsidePower *= 1.3f; RoundManager instance2 = RoundManager.Instance; instance2.currentMaxOutsidePower *= 1.3f; } private void OnDisable() { echo_curse_helper.is_echo_curse = false; RoundManager.Instance.hourTimeBetweenEnemySpawnBatches = 2; SoundManager.Instance.SetEchoFilter(false); } } } namespace echo_curse.patches { [HarmonyPatch(typeof(RoundManager))] internal class echo_curse_soundpatch_roundmanager { [HarmonyPatch("PlayAudibleNoise")] [HarmonyPrefix] public static void PlayAudibleNoise_pre(ref float noiseRange) { if (echo_curse_helper.is_echo_curse) { noiseRange *= 1.5f; } } } [HarmonyPatch(typeof(PlayerControllerB))] internal class echo_curse_soundpatch_playercontrollerb { [HarmonyPatch("Update")] [HarmonyPostfix] public static void playercontroller_update(PlayerControllerB __instance) { if (echo_curse_helper.is_echo_curse) { float num = 15f * Time.deltaTime; __instance.activeAudioReverbFilter = ((Component)__instance.activeAudioListener).GetComponent<AudioReverbFilter>(); ((Behaviour)__instance.activeAudioReverbFilter).enabled = true; if (__instance.isInHangarShipRoom) { __instance.activeAudioReverbFilter.roomLF = Mathf.Lerp(__instance.activeAudioReverbFilter.roomLF, -60f, num); __instance.activeAudioReverbFilter.roomHF = Mathf.Lerp(__instance.activeAudioReverbFilter.roomHF, -50f, num); __instance.activeAudioReverbFilter.decayTime = Mathf.Lerp(__instance.activeAudioReverbFilter.decayTime, 0.7f, num); __instance.activeAudioReverbFilter.decayHFRatio = Mathf.Lerp(__instance.activeAudioReverbFilter.decayHFRatio, 1.2f, num); __instance.activeAudioReverbFilter.room = Mathf.Lerp(__instance.activeAudioReverbFilter.room, -300f, num); } else if (!__instance.isInsideFactory) { __instance.activeAudioReverbFilter.roomLF = Mathf.Lerp(__instance.activeAudioReverbFilter.roomLF, -80f, num); __instance.activeAudioReverbFilter.roomHF = Mathf.Lerp(__instance.activeAudioReverbFilter.roomHF, -50f, num); __instance.activeAudioReverbFilter.decayTime = Mathf.Lerp(__instance.activeAudioReverbFilter.decayTime, 2f, num); __instance.activeAudioReverbFilter.decayHFRatio = Mathf.Lerp(__instance.activeAudioReverbFilter.decayHFRatio, 5f, num); __instance.activeAudioReverbFilter.room = Mathf.Lerp(__instance.activeAudioReverbFilter.room, -3600f, num); } __instance.activeAudioReverbFilter.dryLevel = Mathf.Lerp(__instance.activeAudioReverbFilter.dryLevel, -520f, num); SoundManager.Instance.SetEchoFilter(true); } } } }