/**
   * Проверяет соответствие уровня заточки и вообще катализатор ли это или левый итем
   *
   * @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;
  }