forked from MagicBane/Server
More junk removal
This commit is contained in:
@@ -482,4 +482,55 @@ public class ItemTemplate {
|
||||
|
||||
return false;
|
||||
}
|
||||
|
||||
public static boolean validForSlot(Enum.EquipSlotType slot, ConcurrentHashMap<Enum.EquipSlotType, Item> equipped, Item item) {
|
||||
|
||||
boolean validSlot = false;
|
||||
|
||||
if (equipped == null)
|
||||
return false;
|
||||
|
||||
// Slot is taken
|
||||
|
||||
if (equipped.get(slot) != null && equipped.get(slot).equals(item) == false)
|
||||
return false;
|
||||
|
||||
// Two handed weapons take up two slots
|
||||
|
||||
if ((isTwoHanded(item)) &&
|
||||
((slot == Enum.EquipSlotType.LHELD && equipped.get(Enum.EquipSlotType.RHELD) != null) ||
|
||||
(slot == Enum.EquipSlotType.RHELD && equipped.get(Enum.EquipSlotType.LHELD) != null)))
|
||||
return false;
|
||||
|
||||
if (item.template.item_type.equals(Enum.ItemType.WEAPON))
|
||||
if (equipped.get(slot) != null && equipped.get(slot).equals(item) == false)
|
||||
return false;
|
||||
|
||||
return true;
|
||||
}
|
||||
|
||||
public static boolean canEquip(Enum.EquipSlotType slot, CharacterItemManager itemManager, AbstractCharacter abstractCharacter, Item item) {
|
||||
|
||||
if (itemManager == null || abstractCharacter == null)
|
||||
return false;
|
||||
|
||||
if (abstractCharacter.getObjectType().equals(Enum.GameObjectType.PlayerCharacter)) {
|
||||
|
||||
if (!validForSlot(slot, itemManager.getEquipped(), item))
|
||||
return false;
|
||||
|
||||
if (!validForSkills(item, abstractCharacter.getSkills()))
|
||||
return false;
|
||||
|
||||
if (canCharacterEquip(item, abstractCharacter) == false)
|
||||
return false;
|
||||
|
||||
//players can't wear 0 value items.
|
||||
|
||||
return item.template.item_value != 0 || Kit.IsNoobGear(item.getItemBase().uuid);
|
||||
|
||||
}
|
||||
|
||||
return true; //Mobiles and NPC's don't need to check equip
|
||||
}
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user