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 BetterAntlerPickaxe v1.0.1
BetterAntlerPickaxe.dll
Decompiled 10 months agousing System.Diagnostics; using System.Reflection; using System.Runtime.CompilerServices; using System.Runtime.InteropServices; using System.Runtime.Versioning; using BepInEx; using HarmonyLib; using UnityEngine; [assembly: CompilationRelaxations(8)] [assembly: RuntimeCompatibility(WrapNonExceptionThrows = true)] [assembly: Debuggable(DebuggableAttribute.DebuggingModes.IgnoreSymbolStoreSequencePoints)] [assembly: AssemblyTitle("FastAndFairTerraforming")] [assembly: AssemblyDescription("")] [assembly: AssemblyConfiguration("")] [assembly: AssemblyCompany("")] [assembly: AssemblyProduct("FastAndFairTerraforming")] [assembly: AssemblyCopyright("Copyright © 2024")] [assembly: AssemblyTrademark("")] [assembly: ComVisible(false)] [assembly: Guid("50f9b3a1-625e-498f-99f4-48215dec5f4d")] [assembly: AssemblyFileVersion("1.0.0.0")] [assembly: TargetFramework(".NETFramework,Version=v4.7.2", FrameworkDisplayName = ".NET Framework 4.7.2")] [assembly: AssemblyVersion("1.0.0.0")] namespace FastAndFairTerraforming; [BepInPlugin("vaffle.BetterAntlerPickaxe", "BetterAntlerPickaxe", "1.0.0")] public class Class1 : BaseUnityPlugin { [HarmonyPatch(typeof(CharacterAnimEvent), "CustomFixedUpdate")] private static class CharacterAnimEvent_Awake_Patch { private static void Prefix(CharacterAnimEvent __instance) { //IL_0075: Unknown result type (might be due to invalid IL or missing references) //IL_007a: Unknown result type (might be due to invalid IL or missing references) object value = Traverse.Create((object)__instance).Field("m_character").GetValue(); Character val = (Character)((value is Character) ? value : null); if ((Object)(object)val != (Object)(object)Player.m_localPlayer) { return; } ItemData currentWeapon = ((Humanoid)((val is Humanoid) ? val : null)).GetCurrentWeapon(); object obj; if (currentWeapon == null) { obj = null; } else { GameObject dropPrefab = currentWeapon.m_dropPrefab; obj = ((dropPrefab != null) ? ((Object)dropPrefab).name : null); } if ((string?)obj == "PickaxeAntler") { object value2 = Traverse.Create((object)__instance).Field("m_animator").GetValue(); Animator val2 = (Animator)((value2 is Animator) ? value2 : null); AnimatorStateInfo currentAnimatorStateInfo = val2.GetCurrentAnimatorStateInfo(0); if (((AnimatorStateInfo)(ref currentAnimatorStateInfo)).IsName("swing_pickaxe")) { val2.speed = 2f; } } } } [HarmonyPatch(typeof(SEMan), "ModifyAttack")] private class Damage { private static void Prefix(SEMan __instance, ref HitData hitData) { object value = Traverse.Create((object)__instance).Field("m_character").GetValue(); Character val = (Character)((value is Character) ? value : null); if (!((Object)(object)val != (Object)(object)Player.m_localPlayer)) { ItemData currentWeapon = ((Humanoid)((val is Humanoid) ? val : null)).GetCurrentWeapon(); object obj; if (currentWeapon == null) { obj = null; } else { GameObject dropPrefab = currentWeapon.m_dropPrefab; obj = ((dropPrefab != null) ? ((Object)dropPrefab).name : null); } if ((string?)obj == "PickaxeAntler") { HitData val2 = hitData; val2.m_damage.m_pickaxe = val2.m_damage.m_pickaxe / 2f; hitData = val2; } } } } [HarmonyPatch(typeof(Attack), "GetAttackStamina")] private class Stamina { private static void Prefix(Attack __instance) { object value = Traverse.Create((object)__instance).Field("m_character").GetValue(); Character val = (Character)((value is Character) ? value : null); if (!((Object)(object)val != (Object)(object)Player.m_localPlayer)) { ItemData currentWeapon = ((Humanoid)((val is Humanoid) ? val : null)).GetCurrentWeapon(); object obj; if (currentWeapon == null) { obj = null; } else { GameObject dropPrefab = currentWeapon.m_dropPrefab; obj = ((dropPrefab != null) ? ((Object)dropPrefab).name : null); } if ((string?)obj == "PickaxeAntler") { __instance.m_attackStamina /= 2f; } } } } private void Awake() { Harmony.CreateAndPatchAll(Assembly.GetExecutingAssembly(), (string)null); } }