Показать сообщение отдельно
Непрочитано 21.09.2016, 13:13   #1
Пользователь

Автор темы (Топик Стартер) Модификация Головных Уборов

Уважаемые форумчане второй день не могу понять почему ,Свиток. Модифицировать Головной Убор , не работает , в систем чат при попытке его использования выводится сообщение "Не соответствие свитка модификации" . Мой скайп Lineage_gw
Так же не работает Камень Жизни Для Головных Уборов
Не работает Обработка Головных Уборов

Принятые мной попытки .
Переписан файл Config > xml >EnchantItemData ,



Ядро пробовал по всякому но может я что то упускаю .


gameserver\model\items\EnchantItem

package l2next.gameserver.model.items;

import l2next.gameserver.model.items.base.L2Item;
import l2next.gameserver.model.items.base.instance.L2Item Instance;
import l2next.gameserver.model.items.base.proptypes.Cryst alGrade;
import l2next.gameserver.model.skills.stats.StatsSet;
import java.util.List;
public class EnchantItem
{
protected final int _id;
protected final boolean _isWeapon;
protected final CrystalGrade _grade;
protected final int _maxEnchantLevel;
protected final double _chanceAdd;
protected final List<Integer> _itemIds;

public EnchantItem(StatsSet set, List<Integer> items)
{
_id = set.getInteger("id");
_isWeapon = set.getBool("isWeapon", true);
_grade = CrystalGrade.valueOf(set.getString("targetGrade", "NONE"));
_maxEnchantLevel = set.getInteger("maxEnchant", 0);
_chanceAdd = set.getDouble("successRate", 0);
_itemIds = items;
}

/*
@isValid возвращает при заточке удовлетворяет ли итем тербованиям или нет.
*/
public final boolean isValid(L2ItemInstance enchantItem)
{
if(enchantItem == null)
{
return false;
}

if(_maxEnchantLevel != 0 && enchantItem.getEnchantLevel() >= _maxEnchantLevel)
{
return false;
}
if(getScrollId() == 36978)
{
switch(enchantItem.getArmorItem().getBodyPart())
{
case L2Item.SLOT_HAIR:
case L2Item.SLOT_HAIR2:
case L2Item.SLOT_HAIRALL:
return true;
}
}

if(!enchantItem.isEnchantable())
{
return false;
}
else if(!isValidItemType(enchantItem.getItem().getType2 ()))
{
return false;
}

else if(_grade != enchantItem.getItem().getItemGradeSPlus())
{
return false;
}
else if((!enchantItem.isEnchantable() && (_itemIds.isEmpty() || !_itemIds.contains(enchantItem.getItemId()))) || !_itemIds.isEmpty() && !_itemIds.contains(enchantItem.getItemId()))
{
return false;
}

return true;
}
private boolean isValidItemType(int type2)
{
if(type2 == L2Item.TYPE2_WEAPON)
{
return _isWeapon;
}
else if(type2 == L2Item.TYPE2_SHIELD_ARMOR || type2 == L2Item.TYPE2_ACCESSORY)
{
return !_isWeapon;
}
return false;
}

/**
* @return chance increase
*/
public final double getChanceAdd()
{
return _chanceAdd;
}

public final int getMaxEnchantLevel()
{
return _maxEnchantLevel;
}
public int getScrollId()
{
return _id;
}
}
GM_Sonik вне форума Ответить с цитированием