Support for item equip skills.

This commit is contained in:
MobiusDev
2015-05-20 17:18:39 +00:00
parent c2fbb18c37
commit 6e0cc76a4b
3 changed files with 57 additions and 1 deletions

View File

@@ -156,6 +156,7 @@ public abstract class L2Item extends ListenersContainer implements IIdentifiable
protected List<Condition> _preConditions;
private SkillHolder[] _skillHolder;
private SkillHolder _unequipSkill = null;
private SkillHolder _equipSkill = null;
private final int _useSkillDisTime;
private final int _reuseDelay;
@@ -283,6 +284,31 @@ public abstract class L2Item extends ListenersContainer implements IIdentifiable
}
}
skills = set.getString("equip_skill", null);
if (skills != null)
{
String[] info = skills.split("-");
if ((info != null) && (info.length == 2))
{
int id = 0;
int level = 0;
try
{
id = Integer.parseInt(info[0]);
level = Integer.parseInt(info[1]);
}
catch (Exception nfe)
{
// Incorrect syntax, don't add new skill
_log.info(StringUtil.concat("Couldnt parse ", skills, " in item equip skill! item ", toString()));
}
if ((id > 0) && (level > 0))
{
_equipSkill = new SkillHolder(id, level);
}
}
}
_common = ((_itemId >= 11605) && (_itemId <= 12361));
_heroItem = ((_itemId >= 6611) && (_itemId <= 6621)) || ((_itemId >= 9388) && (_itemId <= 9390)) || (_itemId == 6842);
_pvpItem = ((_itemId >= 10667) && (_itemId <= 10835)) || ((_itemId >= 12852) && (_itemId <= 12977)) || ((_itemId >= 14363) && (_itemId <= 14525)) || (_itemId == 14528) || (_itemId == 14529) || (_itemId == 14558) || ((_itemId >= 15913) && (_itemId <= 16024)) || ((_itemId >= 16134) && (_itemId <= 16147)) || (_itemId == 16149) || (_itemId == 16151) || (_itemId == 16153) || (_itemId == 16155) || (_itemId == 16157) || (_itemId == 16159) || ((_itemId >= 16168) && (_itemId <= 16176)) || ((_itemId >= 16179) && (_itemId <= 16220));
@@ -781,6 +807,14 @@ public abstract class L2Item extends ListenersContainer implements IIdentifiable
return _unequipSkill == null ? null : _unequipSkill.getSkill();
}
/**
* @return skill that activates, when player equips this item
*/
public final Skill getEquipSkill()
{
return _equipSkill == null ? null : _equipSkill.getSkill();
}
public boolean checkCondition(L2Character activeChar, L2Object object, boolean sendMessage)
{
if (activeChar.canOverrideCond(PcCondOverride.ITEM_CONDITIONS) && !Config.GM_ITEM_RESTRICTION)