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 WesleysEnemiesFix v1.0.1
WesleysEnemiesFix.dll
Decompiled 4 days agousing System.Diagnostics; using System.Reflection; using System.Runtime.CompilerServices; using System.Runtime.InteropServices; using System.Runtime.Versioning; using BepInEx; using BepInEx.Configuration; using HarmonyLib; using UnityEngine; using WesleysEnemies.AI; using WesleysEnemiesFix.Custom; using WesleysEnemiesFix.Utilities; [assembly: CompilationRelaxations(8)] [assembly: RuntimeCompatibility(WrapNonExceptionThrows = true)] [assembly: Debuggable(DebuggableAttribute.DebuggingModes.Default | DebuggableAttribute.DebuggingModes.DisableOptimizations | DebuggableAttribute.DebuggingModes.IgnoreSymbolStoreSequencePoints | DebuggableAttribute.DebuggingModes.EnableEditAndContinue)] [assembly: AssemblyTitle("SkillFern")] [assembly: AssemblyDescription("")] [assembly: AssemblyConfiguration("")] [assembly: AssemblyCompany("")] [assembly: AssemblyProduct("SkillFern")] [assembly: AssemblyCopyright("Copyright © 2026")] [assembly: AssemblyTrademark("")] [assembly: ComVisible(false)] [assembly: Guid("2317c45d-9d42-4c50-aeed-5f05c5bf5865")] [assembly: AssemblyFileVersion("1.0.0.0")] [assembly: TargetFramework(".NETFramework,Version=v4.8", FrameworkDisplayName = ".NET Framework 4.8")] [assembly: AssemblyVersion("1.0.0.0")] namespace WesleysEnemiesFix { [BepInPlugin("com.dajadeninja.repo.wesleysenemiesfix", "Wesleys Enemies Fix", "1.0.0")] public class Plugin : BaseUnityPlugin { public static Plugin instance; private Harmony harmony; private void Awake() { //IL_000d: Unknown result type (might be due to invalid IL or missing references) //IL_0017: Expected O, but got Unknown instance = this; harmony = new Harmony("com.dajadeninja.repo.wesleysenemiesfix"); ((BaseUnityPlugin)instance).Logger.LogInfo((object)"Setting up configuration. . ."); ConfigHelper.Initialize(((BaseUnityPlugin)this).Config); LogInfo("Loaded successfully! Loading patches. . ."); harmony.PatchAll(); LogInfo("Patches loaded"); } public static void LogInfo(string msg) { if (ConfigHelper.EnableDebug()) { ((BaseUnityPlugin)instance).Logger.LogInfo((object)msg); } } public static void LogError(string msg) { if (ConfigHelper.EnableDebug()) { ((BaseUnityPlugin)instance).Logger.LogError((object)msg); } } } } namespace WesleysEnemiesFix.Utilities { public class ConfigHelper { private static ConfigEntry<bool> enableDebug; public static bool EnableDebug() { return enableDebug.Value; } public static void Initialize(ConfigFile config) { enableDebug = config.Bind<bool>("Debug", "EnableDebug", false, "Whether to spam the log with my debug info"); } } } namespace WesleysEnemiesFix.Patches { [HarmonyPatch(typeof(Voodoo))] public class VoodooAnimationPatch { private static readonly string[] TO_PATCH = new string[3] { "VoodooLookUnderAttack", "VoodooAttackRight", "VoodooAttackLeft" }; private const float EVENT_TIME = 1.6666666f; [HarmonyPatch("Awake")] [HarmonyPostfix] public static void Postfix(Voodoo __instance) { //IL_0085: 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_0096: Unknown result type (might be due to invalid IL or missing references) //IL_00a7: Expected O, but got Unknown VoodooAnimationFix voodooAnimationFix = ((Component)__instance.VoodooAnim).gameObject.AddComponent(typeof(VoodooAnimationFix)) as VoodooAnimationFix; voodooAnimationFix.Controller = __instance; RuntimeAnimatorController runtimeAnimatorController = __instance.VoodooAnim.animator.runtimeAnimatorController; AnimationClip[] animationClips = runtimeAnimatorController.animationClips; foreach (AnimationClip val in animationClips) { string[] tO_PATCH = TO_PATCH; foreach (string text in tO_PATCH) { if (((Object)val).name == text) { val.events = (AnimationEvent[])(object)new AnimationEvent[0]; val.AddEvent(new AnimationEvent { time = 1.6666666f, functionName = "EliminateEnemyForReal" }); } } } } } } namespace WesleysEnemiesFix.Custom { public class VoodooAnimationFix : MonoBehaviour { public Voodoo Controller; public void EliminateEnemyForReal() { if (((Object)Controller._playerTarget).name == ((Object)PlayerAvatar.instance).name) { Controller._playerTarget.playerHealth.Hurt(700, false, -1, false); } } } }