using System; using System.Collections; using System.Collections.Generic; using System.Diagnostics; using System.Linq; using System.Reflection; using System.Runtime.CompilerServices; using System.Runtime.InteropServices; using System.Runtime.Versioning; using System.Security.Permissions; using BepInEx; using BepInEx.Configuration; using HarmonyLib; using Jotunn; using Jotunn.Configs; using Jotunn.Entities; using Jotunn.GUI; using Jotunn.Managers; using TMPro; using UnityEngine; using UnityEngine.Events; using UnityEngine.UI; [assembly: CompilationRelaxations(8)] [assembly: RuntimeCompatibility(WrapNonExceptionThrows = true)] [assembly: Debuggable(DebuggableAttribute.DebuggingModes.IgnoreSymbolStoreSequencePoints)] [assembly: AssemblyTitle("ValheimLootFilter")] [assembly: AssemblyDescription("")] [assembly: AssemblyConfiguration("")] [assembly: AssemblyCompany("")] [assembly: AssemblyProduct("ValheimLootFilter")] [assembly: AssemblyCopyright("Copyright © 2021")] [assembly: AssemblyTrademark("")] [assembly: ComVisible(false)] [assembly: Guid("e3243d22-4307-4008-ba36-9f326008cde5")] [assembly: AssemblyFileVersion("0.0.2")] [assembly: TargetFramework(".NETFramework,Version=v4.8", FrameworkDisplayName = ".NET Framework 4.8")] [assembly: SecurityPermission(SecurityAction.RequestMinimum, SkipVerification = true)] [assembly: AssemblyVersion("0.0.2.0")] namespace ValheimLootFilter; [HarmonyPatch(typeof(InventoryGui), "Awake")] public static class InventoryGuiPatch { private const string ButtonName = "lootfilter_button"; private const string IconItemPrefab = "Coins"; private const float FallbackGap = 8f; private const float SideMargin = 8f; private static readonly Vector3[] Corners = (Vector3[])(object)new Vector3[4]; [HarmonyPostfix] public static void Postfix(InventoryGui __instance) { //IL_0079: Unknown result type (might be due to invalid IL or missing references) //IL_0083: Expected O, but got Unknown //IL_0091: Unknown result type (might be due to invalid IL or missing references) //IL_009b: Expected O, but got Unknown //IL_0117: Unknown result type (might be due to invalid IL or missing references) //IL_011d: Invalid comparison between Unknown and I4 Toggle pvp = __instance.m_pvp; if ((Object)(object)pvp == (Object)null) { Logger.LogWarning((object)"[LootFilter] m_pvp not found — skipping button injection"); return; } Transform parent = ((Component)pvp).transform.parent; if ((Object)(object)parent.Find("lootfilter_button") != (Object)null) { return; } Button val = FindTrophiesButton(parent, pvp); if ((Object)(object)val == (Object)null) { Logger.LogWarning((object)"[LootFilter] Trophies button not found — skipping button injection"); return; } GameObject val2 = Object.Instantiate(((Component)val).gameObject, parent); ((Object)val2).name = "lootfilter_button"; Button component = val2.GetComponent