using Aki.Reflection.Patching; using BepInEx; using EFT.UI; using System.Reflection; namespace IcyClawz.ItemAttributeFix { [BepInPlugin("com.IcyClawz.ItemAttributeFix", "IcyClawz.ItemAttributeFix", "1.0.0")] public class Plugin : BaseUnityPlugin { private void Awake() { new CompactCharacteristicPanelPatch().Enable(); } } public class CompactCharacteristicPanelPatch : ModulePatch { private static readonly FieldInfo ItemAttributeField = typeof(CompactCharacteristicPanel).GetField("ItemAttribute", BindingFlags.NonPublic | BindingFlags.Instance); private static readonly FieldInfo StringField = typeof(CompactCharacteristicPanel).GetField("string_0", BindingFlags.NonPublic | BindingFlags.Instance); protected override MethodBase GetTargetMethod() => typeof(CompactCharacteristicPanel).GetMethod("SetValues", BindingFlags.Public | BindingFlags.Instance); [PatchPostfix] private static void PatchPostfix(ref CompactCharacteristicPanel __instance) { ItemAttributeClass attribute = ItemAttributeField.GetValue(__instance) as ItemAttributeClass; StringField.SetValue(__instance, attribute.FullStringValue()); } } }