From 735aabcdc8ae8bdfe23cb999bea2ab82c9022e8c Mon Sep 17 00:00:00 2001 From: Tyfon <29051038+tyfon7@users.noreply.github.com> Date: Fri, 19 Apr 2024 14:49:50 -0700 Subject: [PATCH] Display correct weapon keybinds in-raid --- Patches/WeaponBindingPatch.cs | 39 +++++++++++++++++++++++++++++++++++ Plugin.cs | 1 + 2 files changed, 40 insertions(+) create mode 100644 Patches/WeaponBindingPatch.cs diff --git a/Patches/WeaponBindingPatch.cs b/Patches/WeaponBindingPatch.cs new file mode 100644 index 0000000..2117648 --- /dev/null +++ b/Patches/WeaponBindingPatch.cs @@ -0,0 +1,39 @@ +using Aki.Reflection.Patching; +using EFT.InventoryLogic; +using EFT.UI.WeaponModding; +using System; +using System.Collections.Generic; +using System.Linq; +using System.Reflection; +using System.Text; +using System.Threading.Tasks; +using EFT.InputSystem; + +namespace UIFixes +{ + public class WeaponBindingPatch : ModulePatch + { + protected override MethodBase GetTargetMethod() + { + Type type = typeof(GClass960); + return type.GetMethod("GetBoundItemNames", BindingFlags.Public | BindingFlags.Instance); + } + + [PatchPostfix] + private static void Postfix(GClass960 __instance, EBoundItem boundItem, ref string __result) + { + switch(boundItem) + { + case EBoundItem.Item1: + __result = __instance.GetKeyName(EGameKey.SecondaryWeapon); + break; + case EBoundItem.Item2: + __result = __instance.GetKeyName(EGameKey.PrimaryWeaponFirst); + break; + case EBoundItem.Item3: + __result = __instance.GetKeyName(EGameKey.PrimaryWeaponSecond); + break; + } + } + } +} diff --git a/Plugin.cs b/Plugin.cs index 01ecbda..e449943 100644 --- a/Plugin.cs +++ b/Plugin.cs @@ -15,6 +15,7 @@ namespace UIFixes new MailReceiveAllPatch().Enable(); ScrollPatches.Enable(); WeaponZoomPatch.Enable(); + new WeaponBindingPatch().Enable(); } } }