/** * Проверяет соответствие уровня заточки и вообще катализатор ли это или левый итем * * @param item * @param catalyst * @return true если катализатор соответствует */ public static final boolean checkCatalyst(ItemInstance item, ItemInstance catalyst) { if (item == null || catalyst == null) return false; int current = item.getEnchantLevel(); if (current < (item.getTemplate().getBodyPart() == ItemTemplate.SLOT_FULL_ARMOR ? 4 : 3) || current > 9) return false; for (int catalystRequired : getEnchantCatalystId(item)) if (catalystRequired == catalyst.getItemId()) return true; return false; }
public static int getCrystallizeCrystalAdd(ItemInstance item) { int result = 0; int crystalsAdd = 0; if (item.isWeapon()) { switch (item.getGrade()) { case D: crystalsAdd = 90; break; case C: crystalsAdd = 45; break; case B: crystalsAdd = 67; break; case A: crystalsAdd = 145; break; case S: case S80: case S84: crystalsAdd = 250; break; case R: case R95: case R99: crystalsAdd = 500; break; } } else { switch (item.getGrade()) { case D: crystalsAdd = 11; break; case C: crystalsAdd = 6; break; case B: crystalsAdd = 11; break; case A: crystalsAdd = 20; break; case S: case S80: case S84: crystalsAdd = 25; break; case R: case R95: case R99: crystalsAdd = 30; break; } } if (item.getEnchantLevel() > 3) { result = crystalsAdd * 3; if (item.isWeapon()) crystalsAdd *= 2; else crystalsAdd *= 3; result += crystalsAdd * (item.getEnchantLevel() - 3); } else result = crystalsAdd * item.getEnchantLevel(); return result; }