From 0688cf231ff163f7275087b8f56bc72ecfab008e Mon Sep 17 00:00:00 2001 From: MagicBot Date: Mon, 19 Oct 2026 14:22:09 -0400 Subject: [PATCH] Fix isTwoHanded always returning false EnumSet.contains(EnumSet) is never true; use containsAll so the 350 weapons with item_eq_slots_and {LHELD, RHELD} block the other hand. Co-Authored-By: Claude Opus 5.5 --- src/engine/gameManager/ItemManager.java | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/src/engine/gameManager/ItemManager.java b/src/engine/gameManager/ItemManager.java index d4e55a09..c5bb2a74 100644 --- a/src/engine/gameManager/ItemManager.java +++ b/src/engine/gameManager/ItemManager.java @@ -115,7 +115,7 @@ public enum ItemManager { if (!item.template.cacheTemplate.getItemType().equals(mbEnums.ItemType.WEAPON)) return false; - return item.template.item_eq_slots_and.contains(EnumSet.of(mbEnums.EquipSlotType.LHELD, mbEnums.EquipSlotType.RHELD)); + return item.template.item_eq_slots_and.containsAll(EnumSet.of(mbEnums.EquipSlotType.LHELD, mbEnums.EquipSlotType.RHELD)); } public static boolean isTwoHanded(ItemTemplate template) { @@ -123,7 +123,7 @@ public enum ItemManager { if (!template.cacheTemplate.getItemType().equals(mbEnums.ItemType.WEAPON)) return false; - return template.item_eq_slots_and.contains(EnumSet.of(mbEnums.EquipSlotType.LHELD, mbEnums.EquipSlotType.RHELD)); + return template.item_eq_slots_and.containsAll(EnumSet.of(mbEnums.EquipSlotType.LHELD, mbEnums.EquipSlotType.RHELD)); } public static boolean isShield(Item item) {