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 CustomWormTiming v1.0.4
CustomWormTiming.dll
Decompiled 2 years agousing System; using System.Diagnostics; using System.Reflection; using System.Runtime.CompilerServices; using System.Runtime.Serialization; using System.Runtime.Versioning; using System.Security; using System.Security.Permissions; using BepInEx; using BepInEx.Configuration; using BepInEx.Logging; using CSync.Extensions; using CSync.Lib; using HarmonyLib; using Microsoft.CodeAnalysis; using Mono.Cecil.Cil; using MonoMod.Cil; 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("CustomWormTiming")] [assembly: AssemblyConfiguration("Debug")] [assembly: AssemblyDescription("A mod for Lethal Company")] [assembly: AssemblyFileVersion("1.0.0.0")] [assembly: AssemblyInformationalVersion("1.0.0+35ce1c418da3f01f8125b616055c64d9f4d4c8cb")] [assembly: AssemblyProduct("CustomWormTiming")] [assembly: AssemblyTitle("CustomWormTiming")] [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 CustomWormTiming { [DataContract] public class Config : SyncedConfig2<Config> { [SyncedEntryField] public SyncedEntry<float> EmergeDelayMin; [SyncedEntryField] public SyncedEntry<float> EmergeDelayMax; public Config(ConfigFile cfg) : base("SylviBlossom.CustomWormTiming") { EmergeDelayMin = SyncedBindingExtensions.BindSyncedEntry<float>(cfg, "General", "EmergeDelayMin", 1f, "Minimum seconds for the worm to emerge. (Vanilla is 1)"); EmergeDelayMax = SyncedBindingExtensions.BindSyncedEntry<float>(cfg, "General", "EmergeDelayMax", 2f, "Maximum seconds for the worm to emerge. (Vanilla is 2)"); ConfigManager.Register<Config>((SyncedConfig2<Config>)this); } } [BepInPlugin("SylviBlossom.CustomWormTiming", "CustomWormTiming", "1.0.4")] [BepInDependency(/*Could not decode attribute arguments.*/)] public class Plugin : BaseUnityPlugin { public static Plugin Instance { get; private set; } public static Config Config { get; private set; } public static ManualLogSource Logger { get; private set; } private void Awake() { //IL_002a: Unknown result type (might be due to invalid IL or missing references) //IL_0030: Expected O, but got Unknown Instance = this; Config = new Config(((BaseUnityPlugin)this).Config); Logger = ((BaseUnityPlugin)this).Logger; Harmony val = new Harmony("SylviBlossom.CustomWormTiming"); val.PatchAll(typeof(Plugin)); Logger.LogInfo((object)"Plugin SylviBlossom.CustomWormTiming is loaded!"); } [HarmonyILManipulator] [HarmonyPatch(/*Could not decode attribute arguments.*/)] private static void SandWormAI_EmergeFromGround(ILContext il) { //IL_0002: Unknown result type (might be due to invalid IL or missing references) //IL_0008: Expected O, but got Unknown //IL_0052: Unknown result type (might be due to invalid IL or missing references) //IL_005e: Unknown result type (might be due to invalid IL or missing references) ILCursor val = new ILCursor(il); if (!val.TryGotoNext((MoveType)1, new Func<Instruction, bool>[1] { (Instruction instr) => ILPatternMatchingExt.MatchNewobj<WaitForSeconds>(instr) })) { Logger.LogError((object)"Failed IL hook for SandWormAI.EmergeFromGround"); return; } val.Emit(OpCodes.Pop); val.Emit(OpCodes.Ldloc_1); val.EmitDelegate<Func<SandWormAI, float>>((Func<SandWormAI, float>)delegate(SandWormAI self) { float num = Config.EmergeDelayMax.Value - Config.EmergeDelayMin.Value; return Config.EmergeDelayMin.Value + (float)self.sandWormRandom.NextDouble() * num; }); } } public static class PluginInfo { public const string PLUGIN_GUID = "SylviBlossom.CustomWormTiming"; public const string PLUGIN_NAME = "CustomWormTiming"; public const string PLUGIN_VERSION = "1.0.4"; } }