private static void Prefix(ItemMenuVM __instance, MBBindingList <ItemFlagVM> list, ref WeaponComponentData weapon) { var character = (BasicCharacterObject)ItemMenuVmCharacterField.GetValue(__instance); if (weapon.WeaponClass == WeaponClass.Crossbow) // Make sure we're always using the correct value, in case this overwrites some shared WeaponComponentData { weapon.WeaponFlags = HeroHasPerk(character, _crossbowExpert) ? weapon.WeaponFlags & ~WeaponFlags.CantReloadOnHorseback : weapon.WeaponFlags; } }
private static void Prefix(ItemMenuVM __instance, MBBindingList <ItemFlagVM> list, ref WeaponComponentData weapon) { var character = (BasicCharacterObject)ItemMenuVmCharacterField.GetValue(__instance); if (weapon.ItemUsage == "long_bow") // Make sure we're always using the correct value, in case this overwrites some shared WeaponComponentData { WeaponComponentDataItemUsageMethod .Invoke(weapon, new[] { HeroHasPerk(character, _bowExpert) ? "bow" : weapon.ItemUsage }); } }