private void addItemToWornItems(InventoryItem i) { if(isWearing(i) || !contains(i)) return; int wearableType = i.getWearableType(); switch(wearableType) { case ItemDef.TWO_HANDED_WEAPON: removeWearableType(ItemDef.TWO_HANDED_WEAPON); removeWearableType(ItemDef.ONE_HANDED_WEAPON); removeWearableType(ItemDef.SHIELD); break; case ItemDef.ONE_HANDED_WEAPON: removeWearableType(ItemDef.TWO_HANDED_WEAPON); removeWearableType(ItemDef.ONE_HANDED_WEAPON); break; case ItemDef.SHIELD: removeWearableType(ItemDef.TWO_HANDED_WEAPON); removeWearableType(ItemDef.SHIELD); break; case ItemDef.PARTIAL_HEAD: case ItemDef.FULL_HEAD: removeWearableType(ItemDef.PARTIAL_HEAD); removeWearableType(ItemDef.FULL_HEAD); break; case ItemDef.PARTIAL_BODY: removeWearableType(ItemDef.PARTIAL_BODY); removeWearableType(ItemDef.FULL_BODY); break; case ItemDef.FULL_BODY: removeWearableType(ItemDef.PARTIAL_BODY); removeWearableType(ItemDef.FULL_BODY); removeWearableType(ItemDef.GLOVES); break; case ItemDef.PARTIAL_LEGS: removeWearableType(ItemDef.PARTIAL_LEGS); removeWearableType(ItemDef.FULL_SKIRT); removeWearableType(ItemDef.FULL_LEGS); break; case ItemDef.FULL_SKIRT : case ItemDef.FULL_LEGS: removeWearableType(ItemDef.PARTIAL_LEGS); removeWearableType(ItemDef.FULL_SKIRT); removeWearableType(ItemDef.FULL_LEGS); removeWearableType(ItemDef.BOOTS); break; case ItemDef.GLOVES: removeWearableType(ItemDef.FULL_BODY); removeWearableType(ItemDef.GLOVES); break; case ItemDef.BOOTS: removeWearableType(ItemDef.FULL_SKIRT); removeWearableType(ItemDef.FULL_LEGS); removeWearableType(ItemDef.BOOTS); break; case ItemDef.FRONT: removeWearableType(ItemDef.FRONT); break; case ItemDef.BACK: removeWearableType(ItemDef.BACK); break; } wornItems.add(i); }