Inventory skill manipulation cleanup.
This commit is contained in:
parent
4585b1ce1c
commit
4df5d6ced6
@ -322,20 +322,15 @@ public abstract class Inventory extends ItemContainer
|
||||
{
|
||||
for (ItemSkillHolder holder : onEnchantSkills)
|
||||
{
|
||||
// Remove skills bestowed from +4 armor
|
||||
if (item.getEnchantLevel() >= holder.getValue())
|
||||
if (item.getEnchantLevel() < holder.getValue())
|
||||
{
|
||||
if (removedSkills.containsKey(holder.getSkill().getId()))
|
||||
{
|
||||
if (removedSkills.get(holder.getSkill().getId()).getLevel() < holder.getSkill().getLevel())
|
||||
{
|
||||
removedSkills.put(holder.getSkill().getId(), holder.getSkill());
|
||||
}
|
||||
}
|
||||
else
|
||||
{
|
||||
removedSkills.put(holder.getSkill().getId(), holder.getSkill());
|
||||
}
|
||||
continue;
|
||||
}
|
||||
|
||||
final Skill skill = holder.getSkill();
|
||||
if (skill != null)
|
||||
{
|
||||
removedSkills.putIfAbsent(skill.getId(), skill);
|
||||
update = true;
|
||||
}
|
||||
}
|
||||
@ -349,17 +344,7 @@ public abstract class Inventory extends ItemContainer
|
||||
final Skill skill = holder.getSkill();
|
||||
if (skill != null)
|
||||
{
|
||||
if (removedSkills.containsKey(holder.getSkill().getId()))
|
||||
{
|
||||
if (removedSkills.get(holder.getSkill().getId()).getLevel() < holder.getSkill().getLevel())
|
||||
{
|
||||
removedSkills.put(holder.getSkill().getId(), holder.getSkill());
|
||||
}
|
||||
}
|
||||
else
|
||||
{
|
||||
removedSkills.put(holder.getSkill().getId(), holder.getSkill());
|
||||
}
|
||||
removedSkills.putIfAbsent(skill.getId(), skill);
|
||||
update = true;
|
||||
}
|
||||
}
|
||||
@ -388,32 +373,35 @@ public abstract class Inventory extends ItemContainer
|
||||
}
|
||||
|
||||
final Skill skill = holder.getSkill();
|
||||
if (skill != null)
|
||||
if (skill == null)
|
||||
{
|
||||
if (addedSkills.containsKey(holder.getSkill().getId()))
|
||||
{
|
||||
if (addedSkills.get(holder.getSkill().getId()).getLevel() < holder.getSkill().getLevel())
|
||||
{
|
||||
addedSkills.put(holder.getSkill().getId(), holder.getSkill());
|
||||
}
|
||||
}
|
||||
else
|
||||
{
|
||||
addedSkills.put(holder.getSkill().getId(), holder.getSkill());
|
||||
}
|
||||
|
||||
if (skill.isActive() && !player.hasSkillReuse(skill.getReuseHashCode()))
|
||||
{
|
||||
final int equipDelay = item.getEquipReuseDelay();
|
||||
if (equipDelay > 0)
|
||||
{
|
||||
player.addTimeStamp(skill, equipDelay);
|
||||
player.disableSkill(skill, equipDelay);
|
||||
}
|
||||
updateTimestamp = true;
|
||||
}
|
||||
update = true;
|
||||
continue;
|
||||
}
|
||||
|
||||
final Skill existingSkill = addedSkills.get(skill.getId());
|
||||
if (existingSkill != null)
|
||||
{
|
||||
if (existingSkill.getLevel() < skill.getLevel())
|
||||
{
|
||||
addedSkills.put(skill.getId(), skill);
|
||||
}
|
||||
}
|
||||
else
|
||||
{
|
||||
addedSkills.put(skill.getId(), skill);
|
||||
}
|
||||
|
||||
if (skill.isActive() && !player.hasSkillReuse(skill.getReuseHashCode()))
|
||||
{
|
||||
final int equipDelay = item.getEquipReuseDelay();
|
||||
if (equipDelay > 0)
|
||||
{
|
||||
player.addTimeStamp(skill, equipDelay);
|
||||
player.disableSkill(skill, equipDelay);
|
||||
}
|
||||
updateTimestamp = true;
|
||||
}
|
||||
update = true;
|
||||
}
|
||||
}
|
||||
}
|
||||
@ -435,26 +423,22 @@ public abstract class Inventory extends ItemContainer
|
||||
|
||||
for (ItemSkillHolder holder : otherEnchantSkills)
|
||||
{
|
||||
// Add skills bestowed from +4 armor
|
||||
if (equipped.getEnchantLevel() >= holder.getValue())
|
||||
if (equipped.getEnchantLevel() < holder.getValue())
|
||||
{
|
||||
final Skill skill = holder.getSkill();
|
||||
// Check passive skill conditions.
|
||||
if (skill.isPassive() && !skill.checkConditions(SkillConditionScope.PASSIVE, player, player))
|
||||
{
|
||||
if (removedSkills.containsKey(holder.getSkill().getId()))
|
||||
{
|
||||
if (removedSkills.get(holder.getSkill().getId()).getLevel() < holder.getSkill().getLevel())
|
||||
{
|
||||
removedSkills.put(holder.getSkill().getId(), holder.getSkill());
|
||||
}
|
||||
}
|
||||
else
|
||||
{
|
||||
removedSkills.put(holder.getSkill().getId(), holder.getSkill());
|
||||
}
|
||||
update = true;
|
||||
}
|
||||
continue;
|
||||
}
|
||||
|
||||
final Skill skill = holder.getSkill();
|
||||
if (skill == null)
|
||||
{
|
||||
continue;
|
||||
}
|
||||
|
||||
// Check passive skill conditions.
|
||||
if (skill.isPassive() && !skill.checkConditions(SkillConditionScope.PASSIVE, player, player))
|
||||
{
|
||||
removedSkills.putIfAbsent(skill.getId(), skill);
|
||||
update = true;
|
||||
}
|
||||
}
|
||||
}
|
||||
@ -541,28 +525,35 @@ public abstract class Inventory extends ItemContainer
|
||||
continue;
|
||||
}
|
||||
|
||||
// Add skills bestowed from +4 armor
|
||||
if (item.getEnchantLevel() >= holder.getValue())
|
||||
if (item.getEnchantLevel() < holder.getValue())
|
||||
{
|
||||
final Skill skill = holder.getSkill();
|
||||
// Check passive skill conditions.
|
||||
if (skill.isPassive() && !skill.checkConditions(SkillConditionScope.PASSIVE, player, player))
|
||||
continue;
|
||||
}
|
||||
|
||||
final Skill skill = holder.getSkill();
|
||||
if (skill == null)
|
||||
{
|
||||
continue;
|
||||
}
|
||||
|
||||
// Check passive skill conditions.
|
||||
if (skill.isPassive() && !skill.checkConditions(SkillConditionScope.PASSIVE, player, player))
|
||||
{
|
||||
continue;
|
||||
}
|
||||
|
||||
final Skill existingSkill = addedSkills.get(skill.getId());
|
||||
if (existingSkill != null)
|
||||
{
|
||||
if (existingSkill.getLevel() < skill.getLevel())
|
||||
{
|
||||
continue;
|
||||
}
|
||||
|
||||
if (addedSkills.containsKey(holder.getSkill().getId()))
|
||||
{
|
||||
if (addedSkills.get(holder.getSkill().getId()).getLevel() < holder.getSkill().getLevel())
|
||||
{
|
||||
addedSkills.put(holder.getSkill().getId(), holder.getSkill());
|
||||
}
|
||||
}
|
||||
else
|
||||
{
|
||||
addedSkills.put(holder.getSkill().getId(), holder.getSkill());
|
||||
addedSkills.put(skill.getId(), skill);
|
||||
}
|
||||
}
|
||||
else
|
||||
{
|
||||
addedSkills.put(skill.getId(), skill);
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
@ -577,35 +568,39 @@ public abstract class Inventory extends ItemContainer
|
||||
}
|
||||
|
||||
final Skill skill = holder.getSkill();
|
||||
if (skill != null)
|
||||
if (skill == null)
|
||||
{
|
||||
if (skill.isPassive() && !skill.checkConditions(SkillConditionScope.PASSIVE, player, player))
|
||||
continue;
|
||||
}
|
||||
|
||||
// Check passive skill conditions.
|
||||
if (skill.isPassive() && !skill.checkConditions(SkillConditionScope.PASSIVE, player, player))
|
||||
{
|
||||
continue;
|
||||
}
|
||||
|
||||
final Skill existingSkill = addedSkills.get(skill.getId());
|
||||
if (existingSkill != null)
|
||||
{
|
||||
if (existingSkill.getLevel() < skill.getLevel())
|
||||
{
|
||||
continue;
|
||||
addedSkills.put(skill.getId(), skill);
|
||||
}
|
||||
|
||||
if (addedSkills.containsKey(holder.getSkill().getId()))
|
||||
}
|
||||
else
|
||||
{
|
||||
addedSkills.put(skill.getId(), skill);
|
||||
}
|
||||
|
||||
if (skill.isActive() && !player.hasSkillReuse(skill.getReuseHashCode()))
|
||||
{
|
||||
final int equipDelay = item.getEquipReuseDelay();
|
||||
if (equipDelay > 0)
|
||||
{
|
||||
if (addedSkills.get(holder.getSkill().getId()).getLevel() < holder.getSkill().getLevel())
|
||||
{
|
||||
addedSkills.put(holder.getSkill().getId(), holder.getSkill());
|
||||
}
|
||||
}
|
||||
else
|
||||
{
|
||||
addedSkills.put(holder.getSkill().getId(), holder.getSkill());
|
||||
}
|
||||
|
||||
if (skill.isActive() && !player.hasSkillReuse(skill.getReuseHashCode()))
|
||||
{
|
||||
final int equipDelay = item.getEquipReuseDelay();
|
||||
if (equipDelay > 0)
|
||||
{
|
||||
player.addTimeStamp(skill, equipDelay);
|
||||
player.disableSkill(skill, equipDelay);
|
||||
}
|
||||
updateTimestamp = true;
|
||||
player.addTimeStamp(skill, equipDelay);
|
||||
player.disableSkill(skill, equipDelay);
|
||||
}
|
||||
updateTimestamp = true;
|
||||
}
|
||||
}
|
||||
}
|
||||
@ -632,28 +627,35 @@ public abstract class Inventory extends ItemContainer
|
||||
continue;
|
||||
}
|
||||
|
||||
// Add skills bestowed from +4 armor
|
||||
if (equipped.getEnchantLevel() >= holder.getValue())
|
||||
if (equipped.getEnchantLevel() < holder.getValue())
|
||||
{
|
||||
final Skill skill = holder.getSkill();
|
||||
// Check passive skill conditions.
|
||||
if (skill.isPassive() && !skill.checkConditions(SkillConditionScope.PASSIVE, player, player))
|
||||
continue;
|
||||
}
|
||||
|
||||
final Skill skill = holder.getSkill();
|
||||
if (skill == null)
|
||||
{
|
||||
continue;
|
||||
}
|
||||
|
||||
// Check passive skill conditions.
|
||||
if (skill.isPassive() && !skill.checkConditions(SkillConditionScope.PASSIVE, player, player))
|
||||
{
|
||||
continue;
|
||||
}
|
||||
|
||||
final Skill existingSkill = addedSkills.get(skill.getId());
|
||||
if (existingSkill != null)
|
||||
{
|
||||
if (existingSkill.getLevel() < skill.getLevel())
|
||||
{
|
||||
continue;
|
||||
}
|
||||
|
||||
if (addedSkills.containsKey(holder.getSkill().getId()))
|
||||
{
|
||||
if (addedSkills.get(holder.getSkill().getId()).getLevel() < holder.getSkill().getLevel())
|
||||
{
|
||||
addedSkills.put(holder.getSkill().getId(), holder.getSkill());
|
||||
}
|
||||
}
|
||||
else
|
||||
{
|
||||
addedSkills.put(holder.getSkill().getId(), holder.getSkill());
|
||||
addedSkills.put(skill.getId(), skill);
|
||||
}
|
||||
}
|
||||
else
|
||||
{
|
||||
addedSkills.put(skill.getId(), skill);
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
|
@ -325,20 +325,15 @@ public abstract class Inventory extends ItemContainer
|
||||
{
|
||||
for (ItemSkillHolder holder : onEnchantSkills)
|
||||
{
|
||||
// Remove skills bestowed from +4 armor
|
||||
if (item.getEnchantLevel() >= holder.getValue())
|
||||
if (item.getEnchantLevel() < holder.getValue())
|
||||
{
|
||||
if (removedSkills.containsKey(holder.getSkill().getId()))
|
||||
{
|
||||
if (removedSkills.get(holder.getSkill().getId()).getLevel() < holder.getSkill().getLevel())
|
||||
{
|
||||
removedSkills.put(holder.getSkill().getId(), holder.getSkill());
|
||||
}
|
||||
}
|
||||
else
|
||||
{
|
||||
removedSkills.put(holder.getSkill().getId(), holder.getSkill());
|
||||
}
|
||||
continue;
|
||||
}
|
||||
|
||||
final Skill skill = holder.getSkill();
|
||||
if (skill != null)
|
||||
{
|
||||
removedSkills.putIfAbsent(skill.getId(), skill);
|
||||
update = true;
|
||||
}
|
||||
}
|
||||
@ -352,17 +347,7 @@ public abstract class Inventory extends ItemContainer
|
||||
final Skill skill = holder.getSkill();
|
||||
if (skill != null)
|
||||
{
|
||||
if (removedSkills.containsKey(holder.getSkill().getId()))
|
||||
{
|
||||
if (removedSkills.get(holder.getSkill().getId()).getLevel() < holder.getSkill().getLevel())
|
||||
{
|
||||
removedSkills.put(holder.getSkill().getId(), holder.getSkill());
|
||||
}
|
||||
}
|
||||
else
|
||||
{
|
||||
removedSkills.put(holder.getSkill().getId(), holder.getSkill());
|
||||
}
|
||||
removedSkills.putIfAbsent(skill.getId(), skill);
|
||||
update = true;
|
||||
}
|
||||
}
|
||||
@ -391,32 +376,35 @@ public abstract class Inventory extends ItemContainer
|
||||
}
|
||||
|
||||
final Skill skill = holder.getSkill();
|
||||
if (skill != null)
|
||||
if (skill == null)
|
||||
{
|
||||
if (addedSkills.containsKey(holder.getSkill().getId()))
|
||||
{
|
||||
if (addedSkills.get(holder.getSkill().getId()).getLevel() < holder.getSkill().getLevel())
|
||||
{
|
||||
addedSkills.put(holder.getSkill().getId(), holder.getSkill());
|
||||
}
|
||||
}
|
||||
else
|
||||
{
|
||||
addedSkills.put(holder.getSkill().getId(), holder.getSkill());
|
||||
}
|
||||
|
||||
if (skill.isActive() && !player.hasSkillReuse(skill.getReuseHashCode()))
|
||||
{
|
||||
final int equipDelay = item.getEquipReuseDelay();
|
||||
if (equipDelay > 0)
|
||||
{
|
||||
player.addTimeStamp(skill, equipDelay);
|
||||
player.disableSkill(skill, equipDelay);
|
||||
}
|
||||
updateTimestamp = true;
|
||||
}
|
||||
update = true;
|
||||
continue;
|
||||
}
|
||||
|
||||
final Skill existingSkill = addedSkills.get(skill.getId());
|
||||
if (existingSkill != null)
|
||||
{
|
||||
if (existingSkill.getLevel() < skill.getLevel())
|
||||
{
|
||||
addedSkills.put(skill.getId(), skill);
|
||||
}
|
||||
}
|
||||
else
|
||||
{
|
||||
addedSkills.put(skill.getId(), skill);
|
||||
}
|
||||
|
||||
if (skill.isActive() && !player.hasSkillReuse(skill.getReuseHashCode()))
|
||||
{
|
||||
final int equipDelay = item.getEquipReuseDelay();
|
||||
if (equipDelay > 0)
|
||||
{
|
||||
player.addTimeStamp(skill, equipDelay);
|
||||
player.disableSkill(skill, equipDelay);
|
||||
}
|
||||
updateTimestamp = true;
|
||||
}
|
||||
update = true;
|
||||
}
|
||||
}
|
||||
}
|
||||
@ -438,26 +426,22 @@ public abstract class Inventory extends ItemContainer
|
||||
|
||||
for (ItemSkillHolder holder : otherEnchantSkills)
|
||||
{
|
||||
// Add skills bestowed from +4 armor
|
||||
if (equipped.getEnchantLevel() >= holder.getValue())
|
||||
if (equipped.getEnchantLevel() < holder.getValue())
|
||||
{
|
||||
final Skill skill = holder.getSkill();
|
||||
// Check passive skill conditions.
|
||||
if (skill.isPassive() && !skill.checkConditions(SkillConditionScope.PASSIVE, player, player))
|
||||
{
|
||||
if (removedSkills.containsKey(holder.getSkill().getId()))
|
||||
{
|
||||
if (removedSkills.get(holder.getSkill().getId()).getLevel() < holder.getSkill().getLevel())
|
||||
{
|
||||
removedSkills.put(holder.getSkill().getId(), holder.getSkill());
|
||||
}
|
||||
}
|
||||
else
|
||||
{
|
||||
removedSkills.put(holder.getSkill().getId(), holder.getSkill());
|
||||
}
|
||||
update = true;
|
||||
}
|
||||
continue;
|
||||
}
|
||||
|
||||
final Skill skill = holder.getSkill();
|
||||
if (skill == null)
|
||||
{
|
||||
continue;
|
||||
}
|
||||
|
||||
// Check passive skill conditions.
|
||||
if (skill.isPassive() && !skill.checkConditions(SkillConditionScope.PASSIVE, player, player))
|
||||
{
|
||||
removedSkills.putIfAbsent(skill.getId(), skill);
|
||||
update = true;
|
||||
}
|
||||
}
|
||||
}
|
||||
@ -547,28 +531,35 @@ public abstract class Inventory extends ItemContainer
|
||||
continue;
|
||||
}
|
||||
|
||||
// Add skills bestowed from +4 armor
|
||||
if (item.getEnchantLevel() >= holder.getValue())
|
||||
if (item.getEnchantLevel() < holder.getValue())
|
||||
{
|
||||
final Skill skill = holder.getSkill();
|
||||
// Check passive skill conditions.
|
||||
if (skill.isPassive() && !skill.checkConditions(SkillConditionScope.PASSIVE, player, player))
|
||||
continue;
|
||||
}
|
||||
|
||||
final Skill skill = holder.getSkill();
|
||||
if (skill == null)
|
||||
{
|
||||
continue;
|
||||
}
|
||||
|
||||
// Check passive skill conditions.
|
||||
if (skill.isPassive() && !skill.checkConditions(SkillConditionScope.PASSIVE, player, player))
|
||||
{
|
||||
continue;
|
||||
}
|
||||
|
||||
final Skill existingSkill = addedSkills.get(skill.getId());
|
||||
if (existingSkill != null)
|
||||
{
|
||||
if (existingSkill.getLevel() < skill.getLevel())
|
||||
{
|
||||
continue;
|
||||
}
|
||||
|
||||
if (addedSkills.containsKey(holder.getSkill().getId()))
|
||||
{
|
||||
if (addedSkills.get(holder.getSkill().getId()).getLevel() < holder.getSkill().getLevel())
|
||||
{
|
||||
addedSkills.put(holder.getSkill().getId(), holder.getSkill());
|
||||
}
|
||||
}
|
||||
else
|
||||
{
|
||||
addedSkills.put(holder.getSkill().getId(), holder.getSkill());
|
||||
addedSkills.put(skill.getId(), skill);
|
||||
}
|
||||
}
|
||||
else
|
||||
{
|
||||
addedSkills.put(skill.getId(), skill);
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
@ -583,35 +574,39 @@ public abstract class Inventory extends ItemContainer
|
||||
}
|
||||
|
||||
final Skill skill = holder.getSkill();
|
||||
if (skill != null)
|
||||
if (skill == null)
|
||||
{
|
||||
if (skill.isPassive() && !skill.checkConditions(SkillConditionScope.PASSIVE, player, player))
|
||||
continue;
|
||||
}
|
||||
|
||||
// Check passive skill conditions.
|
||||
if (skill.isPassive() && !skill.checkConditions(SkillConditionScope.PASSIVE, player, player))
|
||||
{
|
||||
continue;
|
||||
}
|
||||
|
||||
final Skill existingSkill = addedSkills.get(skill.getId());
|
||||
if (existingSkill != null)
|
||||
{
|
||||
if (existingSkill.getLevel() < skill.getLevel())
|
||||
{
|
||||
continue;
|
||||
addedSkills.put(skill.getId(), skill);
|
||||
}
|
||||
|
||||
if (addedSkills.containsKey(holder.getSkill().getId()))
|
||||
}
|
||||
else
|
||||
{
|
||||
addedSkills.put(skill.getId(), skill);
|
||||
}
|
||||
|
||||
if (skill.isActive() && !player.hasSkillReuse(skill.getReuseHashCode()))
|
||||
{
|
||||
final int equipDelay = item.getEquipReuseDelay();
|
||||
if (equipDelay > 0)
|
||||
{
|
||||
if (addedSkills.get(holder.getSkill().getId()).getLevel() < holder.getSkill().getLevel())
|
||||
{
|
||||
addedSkills.put(holder.getSkill().getId(), holder.getSkill());
|
||||
}
|
||||
}
|
||||
else
|
||||
{
|
||||
addedSkills.put(holder.getSkill().getId(), holder.getSkill());
|
||||
}
|
||||
|
||||
if (skill.isActive() && !player.hasSkillReuse(skill.getReuseHashCode()))
|
||||
{
|
||||
final int equipDelay = item.getEquipReuseDelay();
|
||||
if (equipDelay > 0)
|
||||
{
|
||||
player.addTimeStamp(skill, equipDelay);
|
||||
player.disableSkill(skill, equipDelay);
|
||||
}
|
||||
updateTimestamp = true;
|
||||
player.addTimeStamp(skill, equipDelay);
|
||||
player.disableSkill(skill, equipDelay);
|
||||
}
|
||||
updateTimestamp = true;
|
||||
}
|
||||
}
|
||||
}
|
||||
@ -638,28 +633,35 @@ public abstract class Inventory extends ItemContainer
|
||||
continue;
|
||||
}
|
||||
|
||||
// Add skills bestowed from +4 armor
|
||||
if (equipped.getEnchantLevel() >= holder.getValue())
|
||||
if (equipped.getEnchantLevel() < holder.getValue())
|
||||
{
|
||||
final Skill skill = holder.getSkill();
|
||||
// Check passive skill conditions.
|
||||
if (skill.isPassive() && !skill.checkConditions(SkillConditionScope.PASSIVE, player, player))
|
||||
continue;
|
||||
}
|
||||
|
||||
final Skill skill = holder.getSkill();
|
||||
if (skill == null)
|
||||
{
|
||||
continue;
|
||||
}
|
||||
|
||||
// Check passive skill conditions.
|
||||
if (skill.isPassive() && !skill.checkConditions(SkillConditionScope.PASSIVE, player, player))
|
||||
{
|
||||
continue;
|
||||
}
|
||||
|
||||
final Skill existingSkill = addedSkills.get(skill.getId());
|
||||
if (existingSkill != null)
|
||||
{
|
||||
if (existingSkill.getLevel() < skill.getLevel())
|
||||
{
|
||||
continue;
|
||||
}
|
||||
|
||||
if (addedSkills.containsKey(holder.getSkill().getId()))
|
||||
{
|
||||
if (addedSkills.get(holder.getSkill().getId()).getLevel() < holder.getSkill().getLevel())
|
||||
{
|
||||
addedSkills.put(holder.getSkill().getId(), holder.getSkill());
|
||||
}
|
||||
}
|
||||
else
|
||||
{
|
||||
addedSkills.put(holder.getSkill().getId(), holder.getSkill());
|
||||
addedSkills.put(skill.getId(), skill);
|
||||
}
|
||||
}
|
||||
else
|
||||
{
|
||||
addedSkills.put(skill.getId(), skill);
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
|
@ -325,20 +325,15 @@ public abstract class Inventory extends ItemContainer
|
||||
{
|
||||
for (ItemSkillHolder holder : onEnchantSkills)
|
||||
{
|
||||
// Remove skills bestowed from +4 armor
|
||||
if (item.getEnchantLevel() >= holder.getValue())
|
||||
if (item.getEnchantLevel() < holder.getValue())
|
||||
{
|
||||
if (removedSkills.containsKey(holder.getSkill().getId()))
|
||||
{
|
||||
if (removedSkills.get(holder.getSkill().getId()).getLevel() < holder.getSkill().getLevel())
|
||||
{
|
||||
removedSkills.put(holder.getSkill().getId(), holder.getSkill());
|
||||
}
|
||||
}
|
||||
else
|
||||
{
|
||||
removedSkills.put(holder.getSkill().getId(), holder.getSkill());
|
||||
}
|
||||
continue;
|
||||
}
|
||||
|
||||
final Skill skill = holder.getSkill();
|
||||
if (skill != null)
|
||||
{
|
||||
removedSkills.putIfAbsent(skill.getId(), skill);
|
||||
update = true;
|
||||
}
|
||||
}
|
||||
@ -352,17 +347,7 @@ public abstract class Inventory extends ItemContainer
|
||||
final Skill skill = holder.getSkill();
|
||||
if (skill != null)
|
||||
{
|
||||
if (removedSkills.containsKey(holder.getSkill().getId()))
|
||||
{
|
||||
if (removedSkills.get(holder.getSkill().getId()).getLevel() < holder.getSkill().getLevel())
|
||||
{
|
||||
removedSkills.put(holder.getSkill().getId(), holder.getSkill());
|
||||
}
|
||||
}
|
||||
else
|
||||
{
|
||||
removedSkills.put(holder.getSkill().getId(), holder.getSkill());
|
||||
}
|
||||
removedSkills.putIfAbsent(skill.getId(), skill);
|
||||
update = true;
|
||||
}
|
||||
}
|
||||
@ -391,32 +376,35 @@ public abstract class Inventory extends ItemContainer
|
||||
}
|
||||
|
||||
final Skill skill = holder.getSkill();
|
||||
if (skill != null)
|
||||
if (skill == null)
|
||||
{
|
||||
if (addedSkills.containsKey(holder.getSkill().getId()))
|
||||
{
|
||||
if (addedSkills.get(holder.getSkill().getId()).getLevel() < holder.getSkill().getLevel())
|
||||
{
|
||||
addedSkills.put(holder.getSkill().getId(), holder.getSkill());
|
||||
}
|
||||
}
|
||||
else
|
||||
{
|
||||
addedSkills.put(holder.getSkill().getId(), holder.getSkill());
|
||||
}
|
||||
|
||||
if (skill.isActive() && !player.hasSkillReuse(skill.getReuseHashCode()))
|
||||
{
|
||||
final int equipDelay = item.getEquipReuseDelay();
|
||||
if (equipDelay > 0)
|
||||
{
|
||||
player.addTimeStamp(skill, equipDelay);
|
||||
player.disableSkill(skill, equipDelay);
|
||||
}
|
||||
updateTimestamp = true;
|
||||
}
|
||||
update = true;
|
||||
continue;
|
||||
}
|
||||
|
||||
final Skill existingSkill = addedSkills.get(skill.getId());
|
||||
if (existingSkill != null)
|
||||
{
|
||||
if (existingSkill.getLevel() < skill.getLevel())
|
||||
{
|
||||
addedSkills.put(skill.getId(), skill);
|
||||
}
|
||||
}
|
||||
else
|
||||
{
|
||||
addedSkills.put(skill.getId(), skill);
|
||||
}
|
||||
|
||||
if (skill.isActive() && !player.hasSkillReuse(skill.getReuseHashCode()))
|
||||
{
|
||||
final int equipDelay = item.getEquipReuseDelay();
|
||||
if (equipDelay > 0)
|
||||
{
|
||||
player.addTimeStamp(skill, equipDelay);
|
||||
player.disableSkill(skill, equipDelay);
|
||||
}
|
||||
updateTimestamp = true;
|
||||
}
|
||||
update = true;
|
||||
}
|
||||
}
|
||||
}
|
||||
@ -438,26 +426,22 @@ public abstract class Inventory extends ItemContainer
|
||||
|
||||
for (ItemSkillHolder holder : otherEnchantSkills)
|
||||
{
|
||||
// Add skills bestowed from +4 armor
|
||||
if (equipped.getEnchantLevel() >= holder.getValue())
|
||||
if (equipped.getEnchantLevel() < holder.getValue())
|
||||
{
|
||||
final Skill skill = holder.getSkill();
|
||||
// Check passive skill conditions.
|
||||
if (skill.isPassive() && !skill.checkConditions(SkillConditionScope.PASSIVE, player, player))
|
||||
{
|
||||
if (removedSkills.containsKey(holder.getSkill().getId()))
|
||||
{
|
||||
if (removedSkills.get(holder.getSkill().getId()).getLevel() < holder.getSkill().getLevel())
|
||||
{
|
||||
removedSkills.put(holder.getSkill().getId(), holder.getSkill());
|
||||
}
|
||||
}
|
||||
else
|
||||
{
|
||||
removedSkills.put(holder.getSkill().getId(), holder.getSkill());
|
||||
}
|
||||
update = true;
|
||||
}
|
||||
continue;
|
||||
}
|
||||
|
||||
final Skill skill = holder.getSkill();
|
||||
if (skill == null)
|
||||
{
|
||||
continue;
|
||||
}
|
||||
|
||||
// Check passive skill conditions.
|
||||
if (skill.isPassive() && !skill.checkConditions(SkillConditionScope.PASSIVE, player, player))
|
||||
{
|
||||
removedSkills.putIfAbsent(skill.getId(), skill);
|
||||
update = true;
|
||||
}
|
||||
}
|
||||
}
|
||||
@ -547,28 +531,35 @@ public abstract class Inventory extends ItemContainer
|
||||
continue;
|
||||
}
|
||||
|
||||
// Add skills bestowed from +4 armor
|
||||
if (item.getEnchantLevel() >= holder.getValue())
|
||||
if (item.getEnchantLevel() < holder.getValue())
|
||||
{
|
||||
final Skill skill = holder.getSkill();
|
||||
// Check passive skill conditions.
|
||||
if (skill.isPassive() && !skill.checkConditions(SkillConditionScope.PASSIVE, player, player))
|
||||
continue;
|
||||
}
|
||||
|
||||
final Skill skill = holder.getSkill();
|
||||
if (skill == null)
|
||||
{
|
||||
continue;
|
||||
}
|
||||
|
||||
// Check passive skill conditions.
|
||||
if (skill.isPassive() && !skill.checkConditions(SkillConditionScope.PASSIVE, player, player))
|
||||
{
|
||||
continue;
|
||||
}
|
||||
|
||||
final Skill existingSkill = addedSkills.get(skill.getId());
|
||||
if (existingSkill != null)
|
||||
{
|
||||
if (existingSkill.getLevel() < skill.getLevel())
|
||||
{
|
||||
continue;
|
||||
}
|
||||
|
||||
if (addedSkills.containsKey(holder.getSkill().getId()))
|
||||
{
|
||||
if (addedSkills.get(holder.getSkill().getId()).getLevel() < holder.getSkill().getLevel())
|
||||
{
|
||||
addedSkills.put(holder.getSkill().getId(), holder.getSkill());
|
||||
}
|
||||
}
|
||||
else
|
||||
{
|
||||
addedSkills.put(holder.getSkill().getId(), holder.getSkill());
|
||||
addedSkills.put(skill.getId(), skill);
|
||||
}
|
||||
}
|
||||
else
|
||||
{
|
||||
addedSkills.put(skill.getId(), skill);
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
@ -583,35 +574,39 @@ public abstract class Inventory extends ItemContainer
|
||||
}
|
||||
|
||||
final Skill skill = holder.getSkill();
|
||||
if (skill != null)
|
||||
if (skill == null)
|
||||
{
|
||||
if (skill.isPassive() && !skill.checkConditions(SkillConditionScope.PASSIVE, player, player))
|
||||
continue;
|
||||
}
|
||||
|
||||
// Check passive skill conditions.
|
||||
if (skill.isPassive() && !skill.checkConditions(SkillConditionScope.PASSIVE, player, player))
|
||||
{
|
||||
continue;
|
||||
}
|
||||
|
||||
final Skill existingSkill = addedSkills.get(skill.getId());
|
||||
if (existingSkill != null)
|
||||
{
|
||||
if (existingSkill.getLevel() < skill.getLevel())
|
||||
{
|
||||
continue;
|
||||
addedSkills.put(skill.getId(), skill);
|
||||
}
|
||||
|
||||
if (addedSkills.containsKey(holder.getSkill().getId()))
|
||||
}
|
||||
else
|
||||
{
|
||||
addedSkills.put(skill.getId(), skill);
|
||||
}
|
||||
|
||||
if (skill.isActive() && !player.hasSkillReuse(skill.getReuseHashCode()))
|
||||
{
|
||||
final int equipDelay = item.getEquipReuseDelay();
|
||||
if (equipDelay > 0)
|
||||
{
|
||||
if (addedSkills.get(holder.getSkill().getId()).getLevel() < holder.getSkill().getLevel())
|
||||
{
|
||||
addedSkills.put(holder.getSkill().getId(), holder.getSkill());
|
||||
}
|
||||
}
|
||||
else
|
||||
{
|
||||
addedSkills.put(holder.getSkill().getId(), holder.getSkill());
|
||||
}
|
||||
|
||||
if (skill.isActive() && !player.hasSkillReuse(skill.getReuseHashCode()))
|
||||
{
|
||||
final int equipDelay = item.getEquipReuseDelay();
|
||||
if (equipDelay > 0)
|
||||
{
|
||||
player.addTimeStamp(skill, equipDelay);
|
||||
player.disableSkill(skill, equipDelay);
|
||||
}
|
||||
updateTimestamp = true;
|
||||
player.addTimeStamp(skill, equipDelay);
|
||||
player.disableSkill(skill, equipDelay);
|
||||
}
|
||||
updateTimestamp = true;
|
||||
}
|
||||
}
|
||||
}
|
||||
@ -638,28 +633,35 @@ public abstract class Inventory extends ItemContainer
|
||||
continue;
|
||||
}
|
||||
|
||||
// Add skills bestowed from +4 armor
|
||||
if (equipped.getEnchantLevel() >= holder.getValue())
|
||||
if (equipped.getEnchantLevel() < holder.getValue())
|
||||
{
|
||||
final Skill skill = holder.getSkill();
|
||||
// Check passive skill conditions.
|
||||
if (skill.isPassive() && !skill.checkConditions(SkillConditionScope.PASSIVE, player, player))
|
||||
continue;
|
||||
}
|
||||
|
||||
final Skill skill = holder.getSkill();
|
||||
if (skill == null)
|
||||
{
|
||||
continue;
|
||||
}
|
||||
|
||||
// Check passive skill conditions.
|
||||
if (skill.isPassive() && !skill.checkConditions(SkillConditionScope.PASSIVE, player, player))
|
||||
{
|
||||
continue;
|
||||
}
|
||||
|
||||
final Skill existingSkill = addedSkills.get(skill.getId());
|
||||
if (existingSkill != null)
|
||||
{
|
||||
if (existingSkill.getLevel() < skill.getLevel())
|
||||
{
|
||||
continue;
|
||||
}
|
||||
|
||||
if (addedSkills.containsKey(holder.getSkill().getId()))
|
||||
{
|
||||
if (addedSkills.get(holder.getSkill().getId()).getLevel() < holder.getSkill().getLevel())
|
||||
{
|
||||
addedSkills.put(holder.getSkill().getId(), holder.getSkill());
|
||||
}
|
||||
}
|
||||
else
|
||||
{
|
||||
addedSkills.put(holder.getSkill().getId(), holder.getSkill());
|
||||
addedSkills.put(skill.getId(), skill);
|
||||
}
|
||||
}
|
||||
else
|
||||
{
|
||||
addedSkills.put(skill.getId(), skill);
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
|
@ -325,20 +325,15 @@ public abstract class Inventory extends ItemContainer
|
||||
{
|
||||
for (ItemSkillHolder holder : onEnchantSkills)
|
||||
{
|
||||
// Remove skills bestowed from +4 armor
|
||||
if (item.getEnchantLevel() >= holder.getValue())
|
||||
if (item.getEnchantLevel() < holder.getValue())
|
||||
{
|
||||
if (removedSkills.containsKey(holder.getSkill().getId()))
|
||||
{
|
||||
if (removedSkills.get(holder.getSkill().getId()).getLevel() < holder.getSkill().getLevel())
|
||||
{
|
||||
removedSkills.put(holder.getSkill().getId(), holder.getSkill());
|
||||
}
|
||||
}
|
||||
else
|
||||
{
|
||||
removedSkills.put(holder.getSkill().getId(), holder.getSkill());
|
||||
}
|
||||
continue;
|
||||
}
|
||||
|
||||
final Skill skill = holder.getSkill();
|
||||
if (skill != null)
|
||||
{
|
||||
removedSkills.putIfAbsent(skill.getId(), skill);
|
||||
update = true;
|
||||
}
|
||||
}
|
||||
@ -352,17 +347,7 @@ public abstract class Inventory extends ItemContainer
|
||||
final Skill skill = holder.getSkill();
|
||||
if (skill != null)
|
||||
{
|
||||
if (removedSkills.containsKey(holder.getSkill().getId()))
|
||||
{
|
||||
if (removedSkills.get(holder.getSkill().getId()).getLevel() < holder.getSkill().getLevel())
|
||||
{
|
||||
removedSkills.put(holder.getSkill().getId(), holder.getSkill());
|
||||
}
|
||||
}
|
||||
else
|
||||
{
|
||||
removedSkills.put(holder.getSkill().getId(), holder.getSkill());
|
||||
}
|
||||
removedSkills.putIfAbsent(skill.getId(), skill);
|
||||
update = true;
|
||||
}
|
||||
}
|
||||
@ -391,32 +376,35 @@ public abstract class Inventory extends ItemContainer
|
||||
}
|
||||
|
||||
final Skill skill = holder.getSkill();
|
||||
if (skill != null)
|
||||
if (skill == null)
|
||||
{
|
||||
if (addedSkills.containsKey(holder.getSkill().getId()))
|
||||
{
|
||||
if (addedSkills.get(holder.getSkill().getId()).getLevel() < holder.getSkill().getLevel())
|
||||
{
|
||||
addedSkills.put(holder.getSkill().getId(), holder.getSkill());
|
||||
}
|
||||
}
|
||||
else
|
||||
{
|
||||
addedSkills.put(holder.getSkill().getId(), holder.getSkill());
|
||||
}
|
||||
|
||||
if (skill.isActive() && !player.hasSkillReuse(skill.getReuseHashCode()))
|
||||
{
|
||||
final int equipDelay = item.getEquipReuseDelay();
|
||||
if (equipDelay > 0)
|
||||
{
|
||||
player.addTimeStamp(skill, equipDelay);
|
||||
player.disableSkill(skill, equipDelay);
|
||||
}
|
||||
updateTimestamp = true;
|
||||
}
|
||||
update = true;
|
||||
continue;
|
||||
}
|
||||
|
||||
final Skill existingSkill = addedSkills.get(skill.getId());
|
||||
if (existingSkill != null)
|
||||
{
|
||||
if (existingSkill.getLevel() < skill.getLevel())
|
||||
{
|
||||
addedSkills.put(skill.getId(), skill);
|
||||
}
|
||||
}
|
||||
else
|
||||
{
|
||||
addedSkills.put(skill.getId(), skill);
|
||||
}
|
||||
|
||||
if (skill.isActive() && !player.hasSkillReuse(skill.getReuseHashCode()))
|
||||
{
|
||||
final int equipDelay = item.getEquipReuseDelay();
|
||||
if (equipDelay > 0)
|
||||
{
|
||||
player.addTimeStamp(skill, equipDelay);
|
||||
player.disableSkill(skill, equipDelay);
|
||||
}
|
||||
updateTimestamp = true;
|
||||
}
|
||||
update = true;
|
||||
}
|
||||
}
|
||||
}
|
||||
@ -438,26 +426,22 @@ public abstract class Inventory extends ItemContainer
|
||||
|
||||
for (ItemSkillHolder holder : otherEnchantSkills)
|
||||
{
|
||||
// Add skills bestowed from +4 armor
|
||||
if (equipped.getEnchantLevel() >= holder.getValue())
|
||||
if (equipped.getEnchantLevel() < holder.getValue())
|
||||
{
|
||||
final Skill skill = holder.getSkill();
|
||||
// Check passive skill conditions.
|
||||
if (skill.isPassive() && !skill.checkConditions(SkillConditionScope.PASSIVE, player, player))
|
||||
{
|
||||
if (removedSkills.containsKey(holder.getSkill().getId()))
|
||||
{
|
||||
if (removedSkills.get(holder.getSkill().getId()).getLevel() < holder.getSkill().getLevel())
|
||||
{
|
||||
removedSkills.put(holder.getSkill().getId(), holder.getSkill());
|
||||
}
|
||||
}
|
||||
else
|
||||
{
|
||||
removedSkills.put(holder.getSkill().getId(), holder.getSkill());
|
||||
}
|
||||
update = true;
|
||||
}
|
||||
continue;
|
||||
}
|
||||
|
||||
final Skill skill = holder.getSkill();
|
||||
if (skill == null)
|
||||
{
|
||||
continue;
|
||||
}
|
||||
|
||||
// Check passive skill conditions.
|
||||
if (skill.isPassive() && !skill.checkConditions(SkillConditionScope.PASSIVE, player, player))
|
||||
{
|
||||
removedSkills.putIfAbsent(skill.getId(), skill);
|
||||
update = true;
|
||||
}
|
||||
}
|
||||
}
|
||||
@ -547,28 +531,35 @@ public abstract class Inventory extends ItemContainer
|
||||
continue;
|
||||
}
|
||||
|
||||
// Add skills bestowed from +4 armor
|
||||
if (item.getEnchantLevel() >= holder.getValue())
|
||||
if (item.getEnchantLevel() < holder.getValue())
|
||||
{
|
||||
final Skill skill = holder.getSkill();
|
||||
// Check passive skill conditions.
|
||||
if (skill.isPassive() && !skill.checkConditions(SkillConditionScope.PASSIVE, player, player))
|
||||
continue;
|
||||
}
|
||||
|
||||
final Skill skill = holder.getSkill();
|
||||
if (skill == null)
|
||||
{
|
||||
continue;
|
||||
}
|
||||
|
||||
// Check passive skill conditions.
|
||||
if (skill.isPassive() && !skill.checkConditions(SkillConditionScope.PASSIVE, player, player))
|
||||
{
|
||||
continue;
|
||||
}
|
||||
|
||||
final Skill existingSkill = addedSkills.get(skill.getId());
|
||||
if (existingSkill != null)
|
||||
{
|
||||
if (existingSkill.getLevel() < skill.getLevel())
|
||||
{
|
||||
continue;
|
||||
}
|
||||
|
||||
if (addedSkills.containsKey(holder.getSkill().getId()))
|
||||
{
|
||||
if (addedSkills.get(holder.getSkill().getId()).getLevel() < holder.getSkill().getLevel())
|
||||
{
|
||||
addedSkills.put(holder.getSkill().getId(), holder.getSkill());
|
||||
}
|
||||
}
|
||||
else
|
||||
{
|
||||
addedSkills.put(holder.getSkill().getId(), holder.getSkill());
|
||||
addedSkills.put(skill.getId(), skill);
|
||||
}
|
||||
}
|
||||
else
|
||||
{
|
||||
addedSkills.put(skill.getId(), skill);
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
@ -583,35 +574,39 @@ public abstract class Inventory extends ItemContainer
|
||||
}
|
||||
|
||||
final Skill skill = holder.getSkill();
|
||||
if (skill != null)
|
||||
if (skill == null)
|
||||
{
|
||||
if (skill.isPassive() && !skill.checkConditions(SkillConditionScope.PASSIVE, player, player))
|
||||
continue;
|
||||
}
|
||||
|
||||
// Check passive skill conditions.
|
||||
if (skill.isPassive() && !skill.checkConditions(SkillConditionScope.PASSIVE, player, player))
|
||||
{
|
||||
continue;
|
||||
}
|
||||
|
||||
final Skill existingSkill = addedSkills.get(skill.getId());
|
||||
if (existingSkill != null)
|
||||
{
|
||||
if (existingSkill.getLevel() < skill.getLevel())
|
||||
{
|
||||
continue;
|
||||
addedSkills.put(skill.getId(), skill);
|
||||
}
|
||||
|
||||
if (addedSkills.containsKey(holder.getSkill().getId()))
|
||||
}
|
||||
else
|
||||
{
|
||||
addedSkills.put(skill.getId(), skill);
|
||||
}
|
||||
|
||||
if (skill.isActive() && !player.hasSkillReuse(skill.getReuseHashCode()))
|
||||
{
|
||||
final int equipDelay = item.getEquipReuseDelay();
|
||||
if (equipDelay > 0)
|
||||
{
|
||||
if (addedSkills.get(holder.getSkill().getId()).getLevel() < holder.getSkill().getLevel())
|
||||
{
|
||||
addedSkills.put(holder.getSkill().getId(), holder.getSkill());
|
||||
}
|
||||
}
|
||||
else
|
||||
{
|
||||
addedSkills.put(holder.getSkill().getId(), holder.getSkill());
|
||||
}
|
||||
|
||||
if (skill.isActive() && !player.hasSkillReuse(skill.getReuseHashCode()))
|
||||
{
|
||||
final int equipDelay = item.getEquipReuseDelay();
|
||||
if (equipDelay > 0)
|
||||
{
|
||||
player.addTimeStamp(skill, equipDelay);
|
||||
player.disableSkill(skill, equipDelay);
|
||||
}
|
||||
updateTimestamp = true;
|
||||
player.addTimeStamp(skill, equipDelay);
|
||||
player.disableSkill(skill, equipDelay);
|
||||
}
|
||||
updateTimestamp = true;
|
||||
}
|
||||
}
|
||||
}
|
||||
@ -638,28 +633,35 @@ public abstract class Inventory extends ItemContainer
|
||||
continue;
|
||||
}
|
||||
|
||||
// Add skills bestowed from +4 armor
|
||||
if (equipped.getEnchantLevel() >= holder.getValue())
|
||||
if (equipped.getEnchantLevel() < holder.getValue())
|
||||
{
|
||||
final Skill skill = holder.getSkill();
|
||||
// Check passive skill conditions.
|
||||
if (skill.isPassive() && !skill.checkConditions(SkillConditionScope.PASSIVE, player, player))
|
||||
continue;
|
||||
}
|
||||
|
||||
final Skill skill = holder.getSkill();
|
||||
if (skill == null)
|
||||
{
|
||||
continue;
|
||||
}
|
||||
|
||||
// Check passive skill conditions.
|
||||
if (skill.isPassive() && !skill.checkConditions(SkillConditionScope.PASSIVE, player, player))
|
||||
{
|
||||
continue;
|
||||
}
|
||||
|
||||
final Skill existingSkill = addedSkills.get(skill.getId());
|
||||
if (existingSkill != null)
|
||||
{
|
||||
if (existingSkill.getLevel() < skill.getLevel())
|
||||
{
|
||||
continue;
|
||||
}
|
||||
|
||||
if (addedSkills.containsKey(holder.getSkill().getId()))
|
||||
{
|
||||
if (addedSkills.get(holder.getSkill().getId()).getLevel() < holder.getSkill().getLevel())
|
||||
{
|
||||
addedSkills.put(holder.getSkill().getId(), holder.getSkill());
|
||||
}
|
||||
}
|
||||
else
|
||||
{
|
||||
addedSkills.put(holder.getSkill().getId(), holder.getSkill());
|
||||
addedSkills.put(skill.getId(), skill);
|
||||
}
|
||||
}
|
||||
else
|
||||
{
|
||||
addedSkills.put(skill.getId(), skill);
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
|
@ -333,20 +333,15 @@ public abstract class Inventory extends ItemContainer
|
||||
{
|
||||
for (ItemSkillHolder holder : onEnchantSkills)
|
||||
{
|
||||
// Remove skills bestowed from +4 armor
|
||||
if (item.getEnchantLevel() >= holder.getValue())
|
||||
if (item.getEnchantLevel() < holder.getValue())
|
||||
{
|
||||
if (removedSkills.containsKey(holder.getSkill().getId()))
|
||||
{
|
||||
if (removedSkills.get(holder.getSkill().getId()).getLevel() < holder.getSkill().getLevel())
|
||||
{
|
||||
removedSkills.put(holder.getSkill().getId(), holder.getSkill());
|
||||
}
|
||||
}
|
||||
else
|
||||
{
|
||||
removedSkills.put(holder.getSkill().getId(), holder.getSkill());
|
||||
}
|
||||
continue;
|
||||
}
|
||||
|
||||
final Skill skill = holder.getSkill();
|
||||
if (skill != null)
|
||||
{
|
||||
removedSkills.putIfAbsent(skill.getId(), skill);
|
||||
update = true;
|
||||
}
|
||||
}
|
||||
@ -360,17 +355,7 @@ public abstract class Inventory extends ItemContainer
|
||||
final Skill skill = holder.getSkill();
|
||||
if (skill != null)
|
||||
{
|
||||
if (removedSkills.containsKey(holder.getSkill().getId()))
|
||||
{
|
||||
if (removedSkills.get(holder.getSkill().getId()).getLevel() < holder.getSkill().getLevel())
|
||||
{
|
||||
removedSkills.put(holder.getSkill().getId(), holder.getSkill());
|
||||
}
|
||||
}
|
||||
else
|
||||
{
|
||||
removedSkills.put(holder.getSkill().getId(), holder.getSkill());
|
||||
}
|
||||
removedSkills.putIfAbsent(skill.getId(), skill);
|
||||
update = true;
|
||||
}
|
||||
}
|
||||
@ -399,32 +384,35 @@ public abstract class Inventory extends ItemContainer
|
||||
}
|
||||
|
||||
final Skill skill = holder.getSkill();
|
||||
if (skill != null)
|
||||
if (skill == null)
|
||||
{
|
||||
if (addedSkills.containsKey(holder.getSkill().getId()))
|
||||
{
|
||||
if (addedSkills.get(holder.getSkill().getId()).getLevel() < holder.getSkill().getLevel())
|
||||
{
|
||||
addedSkills.put(holder.getSkill().getId(), holder.getSkill());
|
||||
}
|
||||
}
|
||||
else
|
||||
{
|
||||
addedSkills.put(holder.getSkill().getId(), holder.getSkill());
|
||||
}
|
||||
|
||||
if (skill.isActive() && !player.hasSkillReuse(skill.getReuseHashCode()))
|
||||
{
|
||||
final int equipDelay = item.getEquipReuseDelay();
|
||||
if (equipDelay > 0)
|
||||
{
|
||||
player.addTimeStamp(skill, equipDelay);
|
||||
player.disableSkill(skill, equipDelay);
|
||||
}
|
||||
updateTimestamp = true;
|
||||
}
|
||||
update = true;
|
||||
continue;
|
||||
}
|
||||
|
||||
final Skill existingSkill = addedSkills.get(skill.getId());
|
||||
if (existingSkill != null)
|
||||
{
|
||||
if (existingSkill.getLevel() < skill.getLevel())
|
||||
{
|
||||
addedSkills.put(skill.getId(), skill);
|
||||
}
|
||||
}
|
||||
else
|
||||
{
|
||||
addedSkills.put(skill.getId(), skill);
|
||||
}
|
||||
|
||||
if (skill.isActive() && !player.hasSkillReuse(skill.getReuseHashCode()))
|
||||
{
|
||||
final int equipDelay = item.getEquipReuseDelay();
|
||||
if (equipDelay > 0)
|
||||
{
|
||||
player.addTimeStamp(skill, equipDelay);
|
||||
player.disableSkill(skill, equipDelay);
|
||||
}
|
||||
updateTimestamp = true;
|
||||
}
|
||||
update = true;
|
||||
}
|
||||
}
|
||||
}
|
||||
@ -446,26 +434,22 @@ public abstract class Inventory extends ItemContainer
|
||||
|
||||
for (ItemSkillHolder holder : otherEnchantSkills)
|
||||
{
|
||||
// Add skills bestowed from +4 armor
|
||||
if (equipped.getEnchantLevel() >= holder.getValue())
|
||||
if (equipped.getEnchantLevel() < holder.getValue())
|
||||
{
|
||||
final Skill skill = holder.getSkill();
|
||||
// Check passive skill conditions.
|
||||
if (skill.isPassive() && !skill.checkConditions(SkillConditionScope.PASSIVE, player, player))
|
||||
{
|
||||
if (removedSkills.containsKey(holder.getSkill().getId()))
|
||||
{
|
||||
if (removedSkills.get(holder.getSkill().getId()).getLevel() < holder.getSkill().getLevel())
|
||||
{
|
||||
removedSkills.put(holder.getSkill().getId(), holder.getSkill());
|
||||
}
|
||||
}
|
||||
else
|
||||
{
|
||||
removedSkills.put(holder.getSkill().getId(), holder.getSkill());
|
||||
}
|
||||
update = true;
|
||||
}
|
||||
continue;
|
||||
}
|
||||
|
||||
final Skill skill = holder.getSkill();
|
||||
if (skill == null)
|
||||
{
|
||||
continue;
|
||||
}
|
||||
|
||||
// Check passive skill conditions.
|
||||
if (skill.isPassive() && !skill.checkConditions(SkillConditionScope.PASSIVE, player, player))
|
||||
{
|
||||
removedSkills.putIfAbsent(skill.getId(), skill);
|
||||
update = true;
|
||||
}
|
||||
}
|
||||
}
|
||||
@ -558,28 +542,35 @@ public abstract class Inventory extends ItemContainer
|
||||
continue;
|
||||
}
|
||||
|
||||
// Add skills bestowed from +4 armor
|
||||
if (item.getEnchantLevel() >= holder.getValue())
|
||||
if (item.getEnchantLevel() < holder.getValue())
|
||||
{
|
||||
final Skill skill = holder.getSkill();
|
||||
// Check passive skill conditions.
|
||||
if (skill.isPassive() && !skill.checkConditions(SkillConditionScope.PASSIVE, player, player))
|
||||
continue;
|
||||
}
|
||||
|
||||
final Skill skill = holder.getSkill();
|
||||
if (skill == null)
|
||||
{
|
||||
continue;
|
||||
}
|
||||
|
||||
// Check passive skill conditions.
|
||||
if (skill.isPassive() && !skill.checkConditions(SkillConditionScope.PASSIVE, player, player))
|
||||
{
|
||||
continue;
|
||||
}
|
||||
|
||||
final Skill existingSkill = addedSkills.get(skill.getId());
|
||||
if (existingSkill != null)
|
||||
{
|
||||
if (existingSkill.getLevel() < skill.getLevel())
|
||||
{
|
||||
continue;
|
||||
}
|
||||
|
||||
if (addedSkills.containsKey(holder.getSkill().getId()))
|
||||
{
|
||||
if (addedSkills.get(holder.getSkill().getId()).getLevel() < holder.getSkill().getLevel())
|
||||
{
|
||||
addedSkills.put(holder.getSkill().getId(), holder.getSkill());
|
||||
}
|
||||
}
|
||||
else
|
||||
{
|
||||
addedSkills.put(holder.getSkill().getId(), holder.getSkill());
|
||||
addedSkills.put(skill.getId(), skill);
|
||||
}
|
||||
}
|
||||
else
|
||||
{
|
||||
addedSkills.put(skill.getId(), skill);
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
@ -594,35 +585,39 @@ public abstract class Inventory extends ItemContainer
|
||||
}
|
||||
|
||||
final Skill skill = holder.getSkill();
|
||||
if (skill != null)
|
||||
if (skill == null)
|
||||
{
|
||||
if (skill.isPassive() && !skill.checkConditions(SkillConditionScope.PASSIVE, player, player))
|
||||
continue;
|
||||
}
|
||||
|
||||
// Check passive skill conditions.
|
||||
if (skill.isPassive() && !skill.checkConditions(SkillConditionScope.PASSIVE, player, player))
|
||||
{
|
||||
continue;
|
||||
}
|
||||
|
||||
final Skill existingSkill = addedSkills.get(skill.getId());
|
||||
if (existingSkill != null)
|
||||
{
|
||||
if (existingSkill.getLevel() < skill.getLevel())
|
||||
{
|
||||
continue;
|
||||
addedSkills.put(skill.getId(), skill);
|
||||
}
|
||||
|
||||
if (addedSkills.containsKey(holder.getSkill().getId()))
|
||||
}
|
||||
else
|
||||
{
|
||||
addedSkills.put(skill.getId(), skill);
|
||||
}
|
||||
|
||||
if (skill.isActive() && !player.hasSkillReuse(skill.getReuseHashCode()))
|
||||
{
|
||||
final int equipDelay = item.getEquipReuseDelay();
|
||||
if (equipDelay > 0)
|
||||
{
|
||||
if (addedSkills.get(holder.getSkill().getId()).getLevel() < holder.getSkill().getLevel())
|
||||
{
|
||||
addedSkills.put(holder.getSkill().getId(), holder.getSkill());
|
||||
}
|
||||
}
|
||||
else
|
||||
{
|
||||
addedSkills.put(holder.getSkill().getId(), holder.getSkill());
|
||||
}
|
||||
|
||||
if (skill.isActive() && !player.hasSkillReuse(skill.getReuseHashCode()))
|
||||
{
|
||||
final int equipDelay = item.getEquipReuseDelay();
|
||||
if (equipDelay > 0)
|
||||
{
|
||||
player.addTimeStamp(skill, equipDelay);
|
||||
player.disableSkill(skill, equipDelay);
|
||||
}
|
||||
updateTimestamp = true;
|
||||
player.addTimeStamp(skill, equipDelay);
|
||||
player.disableSkill(skill, equipDelay);
|
||||
}
|
||||
updateTimestamp = true;
|
||||
}
|
||||
}
|
||||
}
|
||||
@ -649,28 +644,35 @@ public abstract class Inventory extends ItemContainer
|
||||
continue;
|
||||
}
|
||||
|
||||
// Add skills bestowed from +4 armor
|
||||
if (equipped.getEnchantLevel() >= holder.getValue())
|
||||
if (equipped.getEnchantLevel() < holder.getValue())
|
||||
{
|
||||
final Skill skill = holder.getSkill();
|
||||
// Check passive skill conditions.
|
||||
if (skill.isPassive() && !skill.checkConditions(SkillConditionScope.PASSIVE, player, player))
|
||||
continue;
|
||||
}
|
||||
|
||||
final Skill skill = holder.getSkill();
|
||||
if (skill == null)
|
||||
{
|
||||
continue;
|
||||
}
|
||||
|
||||
// Check passive skill conditions.
|
||||
if (skill.isPassive() && !skill.checkConditions(SkillConditionScope.PASSIVE, player, player))
|
||||
{
|
||||
continue;
|
||||
}
|
||||
|
||||
final Skill existingSkill = addedSkills.get(skill.getId());
|
||||
if (existingSkill != null)
|
||||
{
|
||||
if (existingSkill.getLevel() < skill.getLevel())
|
||||
{
|
||||
continue;
|
||||
}
|
||||
|
||||
if (addedSkills.containsKey(holder.getSkill().getId()))
|
||||
{
|
||||
if (addedSkills.get(holder.getSkill().getId()).getLevel() < holder.getSkill().getLevel())
|
||||
{
|
||||
addedSkills.put(holder.getSkill().getId(), holder.getSkill());
|
||||
}
|
||||
}
|
||||
else
|
||||
{
|
||||
addedSkills.put(holder.getSkill().getId(), holder.getSkill());
|
||||
addedSkills.put(skill.getId(), skill);
|
||||
}
|
||||
}
|
||||
else
|
||||
{
|
||||
addedSkills.put(skill.getId(), skill);
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
|
@ -356,20 +356,15 @@ public abstract class Inventory extends ItemContainer
|
||||
{
|
||||
for (ItemSkillHolder holder : onEnchantSkills)
|
||||
{
|
||||
// Remove skills bestowed from +4 armor
|
||||
if (item.getEnchantLevel() >= holder.getValue())
|
||||
if (item.getEnchantLevel() < holder.getValue())
|
||||
{
|
||||
if (removedSkills.containsKey(holder.getSkill().getId()))
|
||||
{
|
||||
if (removedSkills.get(holder.getSkill().getId()).getLevel() < holder.getSkill().getLevel())
|
||||
{
|
||||
removedSkills.put(holder.getSkill().getId(), holder.getSkill());
|
||||
}
|
||||
}
|
||||
else
|
||||
{
|
||||
removedSkills.put(holder.getSkill().getId(), holder.getSkill());
|
||||
}
|
||||
continue;
|
||||
}
|
||||
|
||||
final Skill skill = holder.getSkill();
|
||||
if (skill != null)
|
||||
{
|
||||
removedSkills.putIfAbsent(skill.getId(), skill);
|
||||
update = true;
|
||||
}
|
||||
}
|
||||
@ -383,17 +378,7 @@ public abstract class Inventory extends ItemContainer
|
||||
final Skill skill = holder.getSkill();
|
||||
if (skill != null)
|
||||
{
|
||||
if (removedSkills.containsKey(holder.getSkill().getId()))
|
||||
{
|
||||
if (removedSkills.get(holder.getSkill().getId()).getLevel() < holder.getSkill().getLevel())
|
||||
{
|
||||
removedSkills.put(holder.getSkill().getId(), holder.getSkill());
|
||||
}
|
||||
}
|
||||
else
|
||||
{
|
||||
removedSkills.put(holder.getSkill().getId(), holder.getSkill());
|
||||
}
|
||||
removedSkills.putIfAbsent(skill.getId(), skill);
|
||||
update = true;
|
||||
}
|
||||
}
|
||||
@ -422,32 +407,35 @@ public abstract class Inventory extends ItemContainer
|
||||
}
|
||||
|
||||
final Skill skill = holder.getSkill();
|
||||
if (skill != null)
|
||||
if (skill == null)
|
||||
{
|
||||
if (addedSkills.containsKey(holder.getSkill().getId()))
|
||||
{
|
||||
if (addedSkills.get(holder.getSkill().getId()).getLevel() < holder.getSkill().getLevel())
|
||||
{
|
||||
addedSkills.put(holder.getSkill().getId(), holder.getSkill());
|
||||
}
|
||||
}
|
||||
else
|
||||
{
|
||||
addedSkills.put(holder.getSkill().getId(), holder.getSkill());
|
||||
}
|
||||
|
||||
if (skill.isActive() && !player.hasSkillReuse(skill.getReuseHashCode()))
|
||||
{
|
||||
final int equipDelay = item.getEquipReuseDelay();
|
||||
if (equipDelay > 0)
|
||||
{
|
||||
player.addTimeStamp(skill, equipDelay);
|
||||
player.disableSkill(skill, equipDelay);
|
||||
}
|
||||
updateTimestamp = true;
|
||||
}
|
||||
update = true;
|
||||
continue;
|
||||
}
|
||||
|
||||
final Skill existingSkill = addedSkills.get(skill.getId());
|
||||
if (existingSkill != null)
|
||||
{
|
||||
if (existingSkill.getLevel() < skill.getLevel())
|
||||
{
|
||||
addedSkills.put(skill.getId(), skill);
|
||||
}
|
||||
}
|
||||
else
|
||||
{
|
||||
addedSkills.put(skill.getId(), skill);
|
||||
}
|
||||
|
||||
if (skill.isActive() && !player.hasSkillReuse(skill.getReuseHashCode()))
|
||||
{
|
||||
final int equipDelay = item.getEquipReuseDelay();
|
||||
if (equipDelay > 0)
|
||||
{
|
||||
player.addTimeStamp(skill, equipDelay);
|
||||
player.disableSkill(skill, equipDelay);
|
||||
}
|
||||
updateTimestamp = true;
|
||||
}
|
||||
update = true;
|
||||
}
|
||||
}
|
||||
}
|
||||
@ -469,26 +457,22 @@ public abstract class Inventory extends ItemContainer
|
||||
|
||||
for (ItemSkillHolder holder : otherEnchantSkills)
|
||||
{
|
||||
// Add skills bestowed from +4 armor
|
||||
if (equipped.getEnchantLevel() >= holder.getValue())
|
||||
if (equipped.getEnchantLevel() < holder.getValue())
|
||||
{
|
||||
final Skill skill = holder.getSkill();
|
||||
// Check passive skill conditions.
|
||||
if (skill.isPassive() && !skill.checkConditions(SkillConditionScope.PASSIVE, player, player))
|
||||
{
|
||||
if (removedSkills.containsKey(holder.getSkill().getId()))
|
||||
{
|
||||
if (removedSkills.get(holder.getSkill().getId()).getLevel() < holder.getSkill().getLevel())
|
||||
{
|
||||
removedSkills.put(holder.getSkill().getId(), holder.getSkill());
|
||||
}
|
||||
}
|
||||
else
|
||||
{
|
||||
removedSkills.put(holder.getSkill().getId(), holder.getSkill());
|
||||
}
|
||||
update = true;
|
||||
}
|
||||
continue;
|
||||
}
|
||||
|
||||
final Skill skill = holder.getSkill();
|
||||
if (skill == null)
|
||||
{
|
||||
continue;
|
||||
}
|
||||
|
||||
// Check passive skill conditions.
|
||||
if (skill.isPassive() && !skill.checkConditions(SkillConditionScope.PASSIVE, player, player))
|
||||
{
|
||||
removedSkills.putIfAbsent(skill.getId(), skill);
|
||||
update = true;
|
||||
}
|
||||
}
|
||||
}
|
||||
@ -581,28 +565,35 @@ public abstract class Inventory extends ItemContainer
|
||||
continue;
|
||||
}
|
||||
|
||||
// Add skills bestowed from +4 armor
|
||||
if (item.getEnchantLevel() >= holder.getValue())
|
||||
if (item.getEnchantLevel() < holder.getValue())
|
||||
{
|
||||
final Skill skill = holder.getSkill();
|
||||
// Check passive skill conditions.
|
||||
if (skill.isPassive() && !skill.checkConditions(SkillConditionScope.PASSIVE, player, player))
|
||||
continue;
|
||||
}
|
||||
|
||||
final Skill skill = holder.getSkill();
|
||||
if (skill == null)
|
||||
{
|
||||
continue;
|
||||
}
|
||||
|
||||
// Check passive skill conditions.
|
||||
if (skill.isPassive() && !skill.checkConditions(SkillConditionScope.PASSIVE, player, player))
|
||||
{
|
||||
continue;
|
||||
}
|
||||
|
||||
final Skill existingSkill = addedSkills.get(skill.getId());
|
||||
if (existingSkill != null)
|
||||
{
|
||||
if (existingSkill.getLevel() < skill.getLevel())
|
||||
{
|
||||
continue;
|
||||
}
|
||||
|
||||
if (addedSkills.containsKey(holder.getSkill().getId()))
|
||||
{
|
||||
if (addedSkills.get(holder.getSkill().getId()).getLevel() < holder.getSkill().getLevel())
|
||||
{
|
||||
addedSkills.put(holder.getSkill().getId(), holder.getSkill());
|
||||
}
|
||||
}
|
||||
else
|
||||
{
|
||||
addedSkills.put(holder.getSkill().getId(), holder.getSkill());
|
||||
addedSkills.put(skill.getId(), skill);
|
||||
}
|
||||
}
|
||||
else
|
||||
{
|
||||
addedSkills.put(skill.getId(), skill);
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
@ -617,35 +608,39 @@ public abstract class Inventory extends ItemContainer
|
||||
}
|
||||
|
||||
final Skill skill = holder.getSkill();
|
||||
if (skill != null)
|
||||
if (skill == null)
|
||||
{
|
||||
if (skill.isPassive() && !skill.checkConditions(SkillConditionScope.PASSIVE, player, player))
|
||||
continue;
|
||||
}
|
||||
|
||||
// Check passive skill conditions.
|
||||
if (skill.isPassive() && !skill.checkConditions(SkillConditionScope.PASSIVE, player, player))
|
||||
{
|
||||
continue;
|
||||
}
|
||||
|
||||
final Skill existingSkill = addedSkills.get(skill.getId());
|
||||
if (existingSkill != null)
|
||||
{
|
||||
if (existingSkill.getLevel() < skill.getLevel())
|
||||
{
|
||||
continue;
|
||||
addedSkills.put(skill.getId(), skill);
|
||||
}
|
||||
|
||||
if (addedSkills.containsKey(holder.getSkill().getId()))
|
||||
}
|
||||
else
|
||||
{
|
||||
addedSkills.put(skill.getId(), skill);
|
||||
}
|
||||
|
||||
if (skill.isActive() && !player.hasSkillReuse(skill.getReuseHashCode()))
|
||||
{
|
||||
final int equipDelay = item.getEquipReuseDelay();
|
||||
if (equipDelay > 0)
|
||||
{
|
||||
if (addedSkills.get(holder.getSkill().getId()).getLevel() < holder.getSkill().getLevel())
|
||||
{
|
||||
addedSkills.put(holder.getSkill().getId(), holder.getSkill());
|
||||
}
|
||||
}
|
||||
else
|
||||
{
|
||||
addedSkills.put(holder.getSkill().getId(), holder.getSkill());
|
||||
}
|
||||
|
||||
if (skill.isActive() && !player.hasSkillReuse(skill.getReuseHashCode()))
|
||||
{
|
||||
final int equipDelay = item.getEquipReuseDelay();
|
||||
if (equipDelay > 0)
|
||||
{
|
||||
player.addTimeStamp(skill, equipDelay);
|
||||
player.disableSkill(skill, equipDelay);
|
||||
}
|
||||
updateTimestamp = true;
|
||||
player.addTimeStamp(skill, equipDelay);
|
||||
player.disableSkill(skill, equipDelay);
|
||||
}
|
||||
updateTimestamp = true;
|
||||
}
|
||||
}
|
||||
}
|
||||
@ -672,28 +667,35 @@ public abstract class Inventory extends ItemContainer
|
||||
continue;
|
||||
}
|
||||
|
||||
// Add skills bestowed from +4 armor
|
||||
if (equipped.getEnchantLevel() >= holder.getValue())
|
||||
if (equipped.getEnchantLevel() < holder.getValue())
|
||||
{
|
||||
final Skill skill = holder.getSkill();
|
||||
// Check passive skill conditions.
|
||||
if (skill.isPassive() && !skill.checkConditions(SkillConditionScope.PASSIVE, player, player))
|
||||
continue;
|
||||
}
|
||||
|
||||
final Skill skill = holder.getSkill();
|
||||
if (skill == null)
|
||||
{
|
||||
continue;
|
||||
}
|
||||
|
||||
// Check passive skill conditions.
|
||||
if (skill.isPassive() && !skill.checkConditions(SkillConditionScope.PASSIVE, player, player))
|
||||
{
|
||||
continue;
|
||||
}
|
||||
|
||||
final Skill existingSkill = addedSkills.get(skill.getId());
|
||||
if (existingSkill != null)
|
||||
{
|
||||
if (existingSkill.getLevel() < skill.getLevel())
|
||||
{
|
||||
continue;
|
||||
}
|
||||
|
||||
if (addedSkills.containsKey(holder.getSkill().getId()))
|
||||
{
|
||||
if (addedSkills.get(holder.getSkill().getId()).getLevel() < holder.getSkill().getLevel())
|
||||
{
|
||||
addedSkills.put(holder.getSkill().getId(), holder.getSkill());
|
||||
}
|
||||
}
|
||||
else
|
||||
{
|
||||
addedSkills.put(holder.getSkill().getId(), holder.getSkill());
|
||||
addedSkills.put(skill.getId(), skill);
|
||||
}
|
||||
}
|
||||
else
|
||||
{
|
||||
addedSkills.put(skill.getId(), skill);
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
|
@ -356,20 +356,15 @@ public abstract class Inventory extends ItemContainer
|
||||
{
|
||||
for (ItemSkillHolder holder : onEnchantSkills)
|
||||
{
|
||||
// Remove skills bestowed from +4 armor
|
||||
if (item.getEnchantLevel() >= holder.getValue())
|
||||
if (item.getEnchantLevel() < holder.getValue())
|
||||
{
|
||||
if (removedSkills.containsKey(holder.getSkill().getId()))
|
||||
{
|
||||
if (removedSkills.get(holder.getSkill().getId()).getLevel() < holder.getSkill().getLevel())
|
||||
{
|
||||
removedSkills.put(holder.getSkill().getId(), holder.getSkill());
|
||||
}
|
||||
}
|
||||
else
|
||||
{
|
||||
removedSkills.put(holder.getSkill().getId(), holder.getSkill());
|
||||
}
|
||||
continue;
|
||||
}
|
||||
|
||||
final Skill skill = holder.getSkill();
|
||||
if (skill != null)
|
||||
{
|
||||
removedSkills.putIfAbsent(skill.getId(), skill);
|
||||
update = true;
|
||||
}
|
||||
}
|
||||
@ -383,17 +378,7 @@ public abstract class Inventory extends ItemContainer
|
||||
final Skill skill = holder.getSkill();
|
||||
if (skill != null)
|
||||
{
|
||||
if (removedSkills.containsKey(holder.getSkill().getId()))
|
||||
{
|
||||
if (removedSkills.get(holder.getSkill().getId()).getLevel() < holder.getSkill().getLevel())
|
||||
{
|
||||
removedSkills.put(holder.getSkill().getId(), holder.getSkill());
|
||||
}
|
||||
}
|
||||
else
|
||||
{
|
||||
removedSkills.put(holder.getSkill().getId(), holder.getSkill());
|
||||
}
|
||||
removedSkills.putIfAbsent(skill.getId(), skill);
|
||||
update = true;
|
||||
}
|
||||
}
|
||||
@ -422,32 +407,35 @@ public abstract class Inventory extends ItemContainer
|
||||
}
|
||||
|
||||
final Skill skill = holder.getSkill();
|
||||
if (skill != null)
|
||||
if (skill == null)
|
||||
{
|
||||
if (addedSkills.containsKey(holder.getSkill().getId()))
|
||||
{
|
||||
if (addedSkills.get(holder.getSkill().getId()).getLevel() < holder.getSkill().getLevel())
|
||||
{
|
||||
addedSkills.put(holder.getSkill().getId(), holder.getSkill());
|
||||
}
|
||||
}
|
||||
else
|
||||
{
|
||||
addedSkills.put(holder.getSkill().getId(), holder.getSkill());
|
||||
}
|
||||
|
||||
if (skill.isActive() && !player.hasSkillReuse(skill.getReuseHashCode()))
|
||||
{
|
||||
final int equipDelay = item.getEquipReuseDelay();
|
||||
if (equipDelay > 0)
|
||||
{
|
||||
player.addTimeStamp(skill, equipDelay);
|
||||
player.disableSkill(skill, equipDelay);
|
||||
}
|
||||
updateTimestamp = true;
|
||||
}
|
||||
update = true;
|
||||
continue;
|
||||
}
|
||||
|
||||
final Skill existingSkill = addedSkills.get(skill.getId());
|
||||
if (existingSkill != null)
|
||||
{
|
||||
if (existingSkill.getLevel() < skill.getLevel())
|
||||
{
|
||||
addedSkills.put(skill.getId(), skill);
|
||||
}
|
||||
}
|
||||
else
|
||||
{
|
||||
addedSkills.put(skill.getId(), skill);
|
||||
}
|
||||
|
||||
if (skill.isActive() && !player.hasSkillReuse(skill.getReuseHashCode()))
|
||||
{
|
||||
final int equipDelay = item.getEquipReuseDelay();
|
||||
if (equipDelay > 0)
|
||||
{
|
||||
player.addTimeStamp(skill, equipDelay);
|
||||
player.disableSkill(skill, equipDelay);
|
||||
}
|
||||
updateTimestamp = true;
|
||||
}
|
||||
update = true;
|
||||
}
|
||||
}
|
||||
}
|
||||
@ -469,26 +457,22 @@ public abstract class Inventory extends ItemContainer
|
||||
|
||||
for (ItemSkillHolder holder : otherEnchantSkills)
|
||||
{
|
||||
// Add skills bestowed from +4 armor
|
||||
if (equipped.getEnchantLevel() >= holder.getValue())
|
||||
if (equipped.getEnchantLevel() < holder.getValue())
|
||||
{
|
||||
final Skill skill = holder.getSkill();
|
||||
// Check passive skill conditions.
|
||||
if (skill.isPassive() && !skill.checkConditions(SkillConditionScope.PASSIVE, player, player))
|
||||
{
|
||||
if (removedSkills.containsKey(holder.getSkill().getId()))
|
||||
{
|
||||
if (removedSkills.get(holder.getSkill().getId()).getLevel() < holder.getSkill().getLevel())
|
||||
{
|
||||
removedSkills.put(holder.getSkill().getId(), holder.getSkill());
|
||||
}
|
||||
}
|
||||
else
|
||||
{
|
||||
removedSkills.put(holder.getSkill().getId(), holder.getSkill());
|
||||
}
|
||||
update = true;
|
||||
}
|
||||
continue;
|
||||
}
|
||||
|
||||
final Skill skill = holder.getSkill();
|
||||
if (skill == null)
|
||||
{
|
||||
continue;
|
||||
}
|
||||
|
||||
// Check passive skill conditions.
|
||||
if (skill.isPassive() && !skill.checkConditions(SkillConditionScope.PASSIVE, player, player))
|
||||
{
|
||||
removedSkills.putIfAbsent(skill.getId(), skill);
|
||||
update = true;
|
||||
}
|
||||
}
|
||||
}
|
||||
@ -581,28 +565,35 @@ public abstract class Inventory extends ItemContainer
|
||||
continue;
|
||||
}
|
||||
|
||||
// Add skills bestowed from +4 armor
|
||||
if (item.getEnchantLevel() >= holder.getValue())
|
||||
if (item.getEnchantLevel() < holder.getValue())
|
||||
{
|
||||
final Skill skill = holder.getSkill();
|
||||
// Check passive skill conditions.
|
||||
if (skill.isPassive() && !skill.checkConditions(SkillConditionScope.PASSIVE, player, player))
|
||||
continue;
|
||||
}
|
||||
|
||||
final Skill skill = holder.getSkill();
|
||||
if (skill == null)
|
||||
{
|
||||
continue;
|
||||
}
|
||||
|
||||
// Check passive skill conditions.
|
||||
if (skill.isPassive() && !skill.checkConditions(SkillConditionScope.PASSIVE, player, player))
|
||||
{
|
||||
continue;
|
||||
}
|
||||
|
||||
final Skill existingSkill = addedSkills.get(skill.getId());
|
||||
if (existingSkill != null)
|
||||
{
|
||||
if (existingSkill.getLevel() < skill.getLevel())
|
||||
{
|
||||
continue;
|
||||
}
|
||||
|
||||
if (addedSkills.containsKey(holder.getSkill().getId()))
|
||||
{
|
||||
if (addedSkills.get(holder.getSkill().getId()).getLevel() < holder.getSkill().getLevel())
|
||||
{
|
||||
addedSkills.put(holder.getSkill().getId(), holder.getSkill());
|
||||
}
|
||||
}
|
||||
else
|
||||
{
|
||||
addedSkills.put(holder.getSkill().getId(), holder.getSkill());
|
||||
addedSkills.put(skill.getId(), skill);
|
||||
}
|
||||
}
|
||||
else
|
||||
{
|
||||
addedSkills.put(skill.getId(), skill);
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
@ -617,35 +608,39 @@ public abstract class Inventory extends ItemContainer
|
||||
}
|
||||
|
||||
final Skill skill = holder.getSkill();
|
||||
if (skill != null)
|
||||
if (skill == null)
|
||||
{
|
||||
if (skill.isPassive() && !skill.checkConditions(SkillConditionScope.PASSIVE, player, player))
|
||||
continue;
|
||||
}
|
||||
|
||||
// Check passive skill conditions.
|
||||
if (skill.isPassive() && !skill.checkConditions(SkillConditionScope.PASSIVE, player, player))
|
||||
{
|
||||
continue;
|
||||
}
|
||||
|
||||
final Skill existingSkill = addedSkills.get(skill.getId());
|
||||
if (existingSkill != null)
|
||||
{
|
||||
if (existingSkill.getLevel() < skill.getLevel())
|
||||
{
|
||||
continue;
|
||||
addedSkills.put(skill.getId(), skill);
|
||||
}
|
||||
|
||||
if (addedSkills.containsKey(holder.getSkill().getId()))
|
||||
}
|
||||
else
|
||||
{
|
||||
addedSkills.put(skill.getId(), skill);
|
||||
}
|
||||
|
||||
if (skill.isActive() && !player.hasSkillReuse(skill.getReuseHashCode()))
|
||||
{
|
||||
final int equipDelay = item.getEquipReuseDelay();
|
||||
if (equipDelay > 0)
|
||||
{
|
||||
if (addedSkills.get(holder.getSkill().getId()).getLevel() < holder.getSkill().getLevel())
|
||||
{
|
||||
addedSkills.put(holder.getSkill().getId(), holder.getSkill());
|
||||
}
|
||||
}
|
||||
else
|
||||
{
|
||||
addedSkills.put(holder.getSkill().getId(), holder.getSkill());
|
||||
}
|
||||
|
||||
if (skill.isActive() && !player.hasSkillReuse(skill.getReuseHashCode()))
|
||||
{
|
||||
final int equipDelay = item.getEquipReuseDelay();
|
||||
if (equipDelay > 0)
|
||||
{
|
||||
player.addTimeStamp(skill, equipDelay);
|
||||
player.disableSkill(skill, equipDelay);
|
||||
}
|
||||
updateTimestamp = true;
|
||||
player.addTimeStamp(skill, equipDelay);
|
||||
player.disableSkill(skill, equipDelay);
|
||||
}
|
||||
updateTimestamp = true;
|
||||
}
|
||||
}
|
||||
}
|
||||
@ -672,28 +667,35 @@ public abstract class Inventory extends ItemContainer
|
||||
continue;
|
||||
}
|
||||
|
||||
// Add skills bestowed from +4 armor
|
||||
if (equipped.getEnchantLevel() >= holder.getValue())
|
||||
if (equipped.getEnchantLevel() < holder.getValue())
|
||||
{
|
||||
final Skill skill = holder.getSkill();
|
||||
// Check passive skill conditions.
|
||||
if (skill.isPassive() && !skill.checkConditions(SkillConditionScope.PASSIVE, player, player))
|
||||
continue;
|
||||
}
|
||||
|
||||
final Skill skill = holder.getSkill();
|
||||
if (skill == null)
|
||||
{
|
||||
continue;
|
||||
}
|
||||
|
||||
// Check passive skill conditions.
|
||||
if (skill.isPassive() && !skill.checkConditions(SkillConditionScope.PASSIVE, player, player))
|
||||
{
|
||||
continue;
|
||||
}
|
||||
|
||||
final Skill existingSkill = addedSkills.get(skill.getId());
|
||||
if (existingSkill != null)
|
||||
{
|
||||
if (existingSkill.getLevel() < skill.getLevel())
|
||||
{
|
||||
continue;
|
||||
}
|
||||
|
||||
if (addedSkills.containsKey(holder.getSkill().getId()))
|
||||
{
|
||||
if (addedSkills.get(holder.getSkill().getId()).getLevel() < holder.getSkill().getLevel())
|
||||
{
|
||||
addedSkills.put(holder.getSkill().getId(), holder.getSkill());
|
||||
}
|
||||
}
|
||||
else
|
||||
{
|
||||
addedSkills.put(holder.getSkill().getId(), holder.getSkill());
|
||||
addedSkills.put(skill.getId(), skill);
|
||||
}
|
||||
}
|
||||
else
|
||||
{
|
||||
addedSkills.put(skill.getId(), skill);
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
|
@ -356,20 +356,15 @@ public abstract class Inventory extends ItemContainer
|
||||
{
|
||||
for (ItemSkillHolder holder : onEnchantSkills)
|
||||
{
|
||||
// Remove skills bestowed from +4 armor
|
||||
if (item.getEnchantLevel() >= holder.getValue())
|
||||
if (item.getEnchantLevel() < holder.getValue())
|
||||
{
|
||||
if (removedSkills.containsKey(holder.getSkill().getId()))
|
||||
{
|
||||
if (removedSkills.get(holder.getSkill().getId()).getLevel() < holder.getSkill().getLevel())
|
||||
{
|
||||
removedSkills.put(holder.getSkill().getId(), holder.getSkill());
|
||||
}
|
||||
}
|
||||
else
|
||||
{
|
||||
removedSkills.put(holder.getSkill().getId(), holder.getSkill());
|
||||
}
|
||||
continue;
|
||||
}
|
||||
|
||||
final Skill skill = holder.getSkill();
|
||||
if (skill != null)
|
||||
{
|
||||
removedSkills.putIfAbsent(skill.getId(), skill);
|
||||
update = true;
|
||||
}
|
||||
}
|
||||
@ -383,17 +378,7 @@ public abstract class Inventory extends ItemContainer
|
||||
final Skill skill = holder.getSkill();
|
||||
if (skill != null)
|
||||
{
|
||||
if (removedSkills.containsKey(holder.getSkill().getId()))
|
||||
{
|
||||
if (removedSkills.get(holder.getSkill().getId()).getLevel() < holder.getSkill().getLevel())
|
||||
{
|
||||
removedSkills.put(holder.getSkill().getId(), holder.getSkill());
|
||||
}
|
||||
}
|
||||
else
|
||||
{
|
||||
removedSkills.put(holder.getSkill().getId(), holder.getSkill());
|
||||
}
|
||||
removedSkills.putIfAbsent(skill.getId(), skill);
|
||||
update = true;
|
||||
}
|
||||
}
|
||||
@ -422,32 +407,35 @@ public abstract class Inventory extends ItemContainer
|
||||
}
|
||||
|
||||
final Skill skill = holder.getSkill();
|
||||
if (skill != null)
|
||||
if (skill == null)
|
||||
{
|
||||
if (addedSkills.containsKey(holder.getSkill().getId()))
|
||||
{
|
||||
if (addedSkills.get(holder.getSkill().getId()).getLevel() < holder.getSkill().getLevel())
|
||||
{
|
||||
addedSkills.put(holder.getSkill().getId(), holder.getSkill());
|
||||
}
|
||||
}
|
||||
else
|
||||
{
|
||||
addedSkills.put(holder.getSkill().getId(), holder.getSkill());
|
||||
}
|
||||
|
||||
if (skill.isActive() && !player.hasSkillReuse(skill.getReuseHashCode()))
|
||||
{
|
||||
final int equipDelay = item.getEquipReuseDelay();
|
||||
if (equipDelay > 0)
|
||||
{
|
||||
player.addTimeStamp(skill, equipDelay);
|
||||
player.disableSkill(skill, equipDelay);
|
||||
}
|
||||
updateTimestamp = true;
|
||||
}
|
||||
update = true;
|
||||
continue;
|
||||
}
|
||||
|
||||
final Skill existingSkill = addedSkills.get(skill.getId());
|
||||
if (existingSkill != null)
|
||||
{
|
||||
if (existingSkill.getLevel() < skill.getLevel())
|
||||
{
|
||||
addedSkills.put(skill.getId(), skill);
|
||||
}
|
||||
}
|
||||
else
|
||||
{
|
||||
addedSkills.put(skill.getId(), skill);
|
||||
}
|
||||
|
||||
if (skill.isActive() && !player.hasSkillReuse(skill.getReuseHashCode()))
|
||||
{
|
||||
final int equipDelay = item.getEquipReuseDelay();
|
||||
if (equipDelay > 0)
|
||||
{
|
||||
player.addTimeStamp(skill, equipDelay);
|
||||
player.disableSkill(skill, equipDelay);
|
||||
}
|
||||
updateTimestamp = true;
|
||||
}
|
||||
update = true;
|
||||
}
|
||||
}
|
||||
}
|
||||
@ -469,26 +457,22 @@ public abstract class Inventory extends ItemContainer
|
||||
|
||||
for (ItemSkillHolder holder : otherEnchantSkills)
|
||||
{
|
||||
// Add skills bestowed from +4 armor
|
||||
if (equipped.getEnchantLevel() >= holder.getValue())
|
||||
if (equipped.getEnchantLevel() < holder.getValue())
|
||||
{
|
||||
final Skill skill = holder.getSkill();
|
||||
// Check passive skill conditions.
|
||||
if (skill.isPassive() && !skill.checkConditions(SkillConditionScope.PASSIVE, player, player))
|
||||
{
|
||||
if (removedSkills.containsKey(holder.getSkill().getId()))
|
||||
{
|
||||
if (removedSkills.get(holder.getSkill().getId()).getLevel() < holder.getSkill().getLevel())
|
||||
{
|
||||
removedSkills.put(holder.getSkill().getId(), holder.getSkill());
|
||||
}
|
||||
}
|
||||
else
|
||||
{
|
||||
removedSkills.put(holder.getSkill().getId(), holder.getSkill());
|
||||
}
|
||||
update = true;
|
||||
}
|
||||
continue;
|
||||
}
|
||||
|
||||
final Skill skill = holder.getSkill();
|
||||
if (skill == null)
|
||||
{
|
||||
continue;
|
||||
}
|
||||
|
||||
// Check passive skill conditions.
|
||||
if (skill.isPassive() && !skill.checkConditions(SkillConditionScope.PASSIVE, player, player))
|
||||
{
|
||||
removedSkills.putIfAbsent(skill.getId(), skill);
|
||||
update = true;
|
||||
}
|
||||
}
|
||||
}
|
||||
@ -575,28 +559,35 @@ public abstract class Inventory extends ItemContainer
|
||||
continue;
|
||||
}
|
||||
|
||||
// Add skills bestowed from +4 armor
|
||||
if (item.getEnchantLevel() >= holder.getValue())
|
||||
if (item.getEnchantLevel() < holder.getValue())
|
||||
{
|
||||
final Skill skill = holder.getSkill();
|
||||
// Check passive skill conditions.
|
||||
if (skill.isPassive() && !skill.checkConditions(SkillConditionScope.PASSIVE, player, player))
|
||||
continue;
|
||||
}
|
||||
|
||||
final Skill skill = holder.getSkill();
|
||||
if (skill == null)
|
||||
{
|
||||
continue;
|
||||
}
|
||||
|
||||
// Check passive skill conditions.
|
||||
if (skill.isPassive() && !skill.checkConditions(SkillConditionScope.PASSIVE, player, player))
|
||||
{
|
||||
continue;
|
||||
}
|
||||
|
||||
final Skill existingSkill = addedSkills.get(skill.getId());
|
||||
if (existingSkill != null)
|
||||
{
|
||||
if (existingSkill.getLevel() < skill.getLevel())
|
||||
{
|
||||
continue;
|
||||
}
|
||||
|
||||
if (addedSkills.containsKey(holder.getSkill().getId()))
|
||||
{
|
||||
if (addedSkills.get(holder.getSkill().getId()).getLevel() < holder.getSkill().getLevel())
|
||||
{
|
||||
addedSkills.put(holder.getSkill().getId(), holder.getSkill());
|
||||
}
|
||||
}
|
||||
else
|
||||
{
|
||||
addedSkills.put(holder.getSkill().getId(), holder.getSkill());
|
||||
addedSkills.put(skill.getId(), skill);
|
||||
}
|
||||
}
|
||||
else
|
||||
{
|
||||
addedSkills.put(skill.getId(), skill);
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
@ -611,35 +602,39 @@ public abstract class Inventory extends ItemContainer
|
||||
}
|
||||
|
||||
final Skill skill = holder.getSkill();
|
||||
if (skill != null)
|
||||
if (skill == null)
|
||||
{
|
||||
if (skill.isPassive() && !skill.checkConditions(SkillConditionScope.PASSIVE, player, player))
|
||||
continue;
|
||||
}
|
||||
|
||||
// Check passive skill conditions.
|
||||
if (skill.isPassive() && !skill.checkConditions(SkillConditionScope.PASSIVE, player, player))
|
||||
{
|
||||
continue;
|
||||
}
|
||||
|
||||
final Skill existingSkill = addedSkills.get(skill.getId());
|
||||
if (existingSkill != null)
|
||||
{
|
||||
if (existingSkill.getLevel() < skill.getLevel())
|
||||
{
|
||||
continue;
|
||||
addedSkills.put(skill.getId(), skill);
|
||||
}
|
||||
|
||||
if (addedSkills.containsKey(holder.getSkill().getId()))
|
||||
}
|
||||
else
|
||||
{
|
||||
addedSkills.put(skill.getId(), skill);
|
||||
}
|
||||
|
||||
if (skill.isActive() && !player.hasSkillReuse(skill.getReuseHashCode()))
|
||||
{
|
||||
final int equipDelay = item.getEquipReuseDelay();
|
||||
if (equipDelay > 0)
|
||||
{
|
||||
if (addedSkills.get(holder.getSkill().getId()).getLevel() < holder.getSkill().getLevel())
|
||||
{
|
||||
addedSkills.put(holder.getSkill().getId(), holder.getSkill());
|
||||
}
|
||||
}
|
||||
else
|
||||
{
|
||||
addedSkills.put(holder.getSkill().getId(), holder.getSkill());
|
||||
}
|
||||
|
||||
if (skill.isActive() && !player.hasSkillReuse(skill.getReuseHashCode()))
|
||||
{
|
||||
final int equipDelay = item.getEquipReuseDelay();
|
||||
if (equipDelay > 0)
|
||||
{
|
||||
player.addTimeStamp(skill, equipDelay);
|
||||
player.disableSkill(skill, equipDelay);
|
||||
}
|
||||
updateTimestamp = true;
|
||||
player.addTimeStamp(skill, equipDelay);
|
||||
player.disableSkill(skill, equipDelay);
|
||||
}
|
||||
updateTimestamp = true;
|
||||
}
|
||||
}
|
||||
}
|
||||
@ -666,28 +661,35 @@ public abstract class Inventory extends ItemContainer
|
||||
continue;
|
||||
}
|
||||
|
||||
// Add skills bestowed from +4 armor
|
||||
if (equipped.getEnchantLevel() >= holder.getValue())
|
||||
if (equipped.getEnchantLevel() < holder.getValue())
|
||||
{
|
||||
final Skill skill = holder.getSkill();
|
||||
// Check passive skill conditions.
|
||||
if (skill.isPassive() && !skill.checkConditions(SkillConditionScope.PASSIVE, player, player))
|
||||
continue;
|
||||
}
|
||||
|
||||
final Skill skill = holder.getSkill();
|
||||
if (skill == null)
|
||||
{
|
||||
continue;
|
||||
}
|
||||
|
||||
// Check passive skill conditions.
|
||||
if (skill.isPassive() && !skill.checkConditions(SkillConditionScope.PASSIVE, player, player))
|
||||
{
|
||||
continue;
|
||||
}
|
||||
|
||||
final Skill existingSkill = addedSkills.get(skill.getId());
|
||||
if (existingSkill != null)
|
||||
{
|
||||
if (existingSkill.getLevel() < skill.getLevel())
|
||||
{
|
||||
continue;
|
||||
}
|
||||
|
||||
if (addedSkills.containsKey(holder.getSkill().getId()))
|
||||
{
|
||||
if (addedSkills.get(holder.getSkill().getId()).getLevel() < holder.getSkill().getLevel())
|
||||
{
|
||||
addedSkills.put(holder.getSkill().getId(), holder.getSkill());
|
||||
}
|
||||
}
|
||||
else
|
||||
{
|
||||
addedSkills.put(holder.getSkill().getId(), holder.getSkill());
|
||||
addedSkills.put(skill.getId(), skill);
|
||||
}
|
||||
}
|
||||
else
|
||||
{
|
||||
addedSkills.put(skill.getId(), skill);
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
|
@ -351,20 +351,15 @@ public abstract class Inventory extends ItemContainer
|
||||
{
|
||||
for (ItemSkillHolder holder : onEnchantSkills)
|
||||
{
|
||||
// Remove skills bestowed from +4 armor
|
||||
if (item.getEnchantLevel() >= holder.getValue())
|
||||
if (item.getEnchantLevel() < holder.getValue())
|
||||
{
|
||||
if (removedSkills.containsKey(holder.getSkill().getId()))
|
||||
{
|
||||
if (removedSkills.get(holder.getSkill().getId()).getLevel() < holder.getSkill().getLevel())
|
||||
{
|
||||
removedSkills.put(holder.getSkill().getId(), holder.getSkill());
|
||||
}
|
||||
}
|
||||
else
|
||||
{
|
||||
removedSkills.put(holder.getSkill().getId(), holder.getSkill());
|
||||
}
|
||||
continue;
|
||||
}
|
||||
|
||||
final Skill skill = holder.getSkill();
|
||||
if (skill != null)
|
||||
{
|
||||
removedSkills.putIfAbsent(skill.getId(), skill);
|
||||
update = true;
|
||||
}
|
||||
}
|
||||
@ -378,17 +373,7 @@ public abstract class Inventory extends ItemContainer
|
||||
final Skill skill = holder.getSkill();
|
||||
if (skill != null)
|
||||
{
|
||||
if (removedSkills.containsKey(holder.getSkill().getId()))
|
||||
{
|
||||
if (removedSkills.get(holder.getSkill().getId()).getLevel() < holder.getSkill().getLevel())
|
||||
{
|
||||
removedSkills.put(holder.getSkill().getId(), holder.getSkill());
|
||||
}
|
||||
}
|
||||
else
|
||||
{
|
||||
removedSkills.put(holder.getSkill().getId(), holder.getSkill());
|
||||
}
|
||||
removedSkills.putIfAbsent(skill.getId(), skill);
|
||||
update = true;
|
||||
}
|
||||
}
|
||||
@ -417,32 +402,35 @@ public abstract class Inventory extends ItemContainer
|
||||
}
|
||||
|
||||
final Skill skill = holder.getSkill();
|
||||
if (skill != null)
|
||||
if (skill == null)
|
||||
{
|
||||
if (addedSkills.containsKey(holder.getSkill().getId()))
|
||||
{
|
||||
if (addedSkills.get(holder.getSkill().getId()).getLevel() < holder.getSkill().getLevel())
|
||||
{
|
||||
addedSkills.put(holder.getSkill().getId(), holder.getSkill());
|
||||
}
|
||||
}
|
||||
else
|
||||
{
|
||||
addedSkills.put(holder.getSkill().getId(), holder.getSkill());
|
||||
}
|
||||
|
||||
if (skill.isActive() && !player.hasSkillReuse(skill.getReuseHashCode()))
|
||||
{
|
||||
final int equipDelay = item.getEquipReuseDelay();
|
||||
if (equipDelay > 0)
|
||||
{
|
||||
player.addTimeStamp(skill, equipDelay);
|
||||
player.disableSkill(skill, equipDelay);
|
||||
}
|
||||
updateTimestamp = true;
|
||||
}
|
||||
update = true;
|
||||
continue;
|
||||
}
|
||||
|
||||
final Skill existingSkill = addedSkills.get(skill.getId());
|
||||
if (existingSkill != null)
|
||||
{
|
||||
if (existingSkill.getLevel() < skill.getLevel())
|
||||
{
|
||||
addedSkills.put(skill.getId(), skill);
|
||||
}
|
||||
}
|
||||
else
|
||||
{
|
||||
addedSkills.put(skill.getId(), skill);
|
||||
}
|
||||
|
||||
if (skill.isActive() && !player.hasSkillReuse(skill.getReuseHashCode()))
|
||||
{
|
||||
final int equipDelay = item.getEquipReuseDelay();
|
||||
if (equipDelay > 0)
|
||||
{
|
||||
player.addTimeStamp(skill, equipDelay);
|
||||
player.disableSkill(skill, equipDelay);
|
||||
}
|
||||
updateTimestamp = true;
|
||||
}
|
||||
update = true;
|
||||
}
|
||||
}
|
||||
}
|
||||
@ -464,26 +452,22 @@ public abstract class Inventory extends ItemContainer
|
||||
|
||||
for (ItemSkillHolder holder : otherEnchantSkills)
|
||||
{
|
||||
// Add skills bestowed from +4 armor
|
||||
if (equipped.getEnchantLevel() >= holder.getValue())
|
||||
if (equipped.getEnchantLevel() < holder.getValue())
|
||||
{
|
||||
final Skill skill = holder.getSkill();
|
||||
// Check passive skill conditions.
|
||||
if (skill.isPassive() && !skill.checkConditions(SkillConditionScope.PASSIVE, player, player))
|
||||
{
|
||||
if (removedSkills.containsKey(holder.getSkill().getId()))
|
||||
{
|
||||
if (removedSkills.get(holder.getSkill().getId()).getLevel() < holder.getSkill().getLevel())
|
||||
{
|
||||
removedSkills.put(holder.getSkill().getId(), holder.getSkill());
|
||||
}
|
||||
}
|
||||
else
|
||||
{
|
||||
removedSkills.put(holder.getSkill().getId(), holder.getSkill());
|
||||
}
|
||||
update = true;
|
||||
}
|
||||
continue;
|
||||
}
|
||||
|
||||
final Skill skill = holder.getSkill();
|
||||
if (skill == null)
|
||||
{
|
||||
continue;
|
||||
}
|
||||
|
||||
// Check passive skill conditions.
|
||||
if (skill.isPassive() && !skill.checkConditions(SkillConditionScope.PASSIVE, player, player))
|
||||
{
|
||||
removedSkills.putIfAbsent(skill.getId(), skill);
|
||||
update = true;
|
||||
}
|
||||
}
|
||||
}
|
||||
@ -570,28 +554,35 @@ public abstract class Inventory extends ItemContainer
|
||||
continue;
|
||||
}
|
||||
|
||||
// Add skills bestowed from +4 armor
|
||||
if (item.getEnchantLevel() >= holder.getValue())
|
||||
if (item.getEnchantLevel() < holder.getValue())
|
||||
{
|
||||
final Skill skill = holder.getSkill();
|
||||
// Check passive skill conditions.
|
||||
if (skill.isPassive() && !skill.checkConditions(SkillConditionScope.PASSIVE, player, player))
|
||||
continue;
|
||||
}
|
||||
|
||||
final Skill skill = holder.getSkill();
|
||||
if (skill == null)
|
||||
{
|
||||
continue;
|
||||
}
|
||||
|
||||
// Check passive skill conditions.
|
||||
if (skill.isPassive() && !skill.checkConditions(SkillConditionScope.PASSIVE, player, player))
|
||||
{
|
||||
continue;
|
||||
}
|
||||
|
||||
final Skill existingSkill = addedSkills.get(skill.getId());
|
||||
if (existingSkill != null)
|
||||
{
|
||||
if (existingSkill.getLevel() < skill.getLevel())
|
||||
{
|
||||
continue;
|
||||
}
|
||||
|
||||
if (addedSkills.containsKey(holder.getSkill().getId()))
|
||||
{
|
||||
if (addedSkills.get(holder.getSkill().getId()).getLevel() < holder.getSkill().getLevel())
|
||||
{
|
||||
addedSkills.put(holder.getSkill().getId(), holder.getSkill());
|
||||
}
|
||||
}
|
||||
else
|
||||
{
|
||||
addedSkills.put(holder.getSkill().getId(), holder.getSkill());
|
||||
addedSkills.put(skill.getId(), skill);
|
||||
}
|
||||
}
|
||||
else
|
||||
{
|
||||
addedSkills.put(skill.getId(), skill);
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
@ -606,35 +597,39 @@ public abstract class Inventory extends ItemContainer
|
||||
}
|
||||
|
||||
final Skill skill = holder.getSkill();
|
||||
if (skill != null)
|
||||
if (skill == null)
|
||||
{
|
||||
if (skill.isPassive() && !skill.checkConditions(SkillConditionScope.PASSIVE, player, player))
|
||||
continue;
|
||||
}
|
||||
|
||||
// Check passive skill conditions.
|
||||
if (skill.isPassive() && !skill.checkConditions(SkillConditionScope.PASSIVE, player, player))
|
||||
{
|
||||
continue;
|
||||
}
|
||||
|
||||
final Skill existingSkill = addedSkills.get(skill.getId());
|
||||
if (existingSkill != null)
|
||||
{
|
||||
if (existingSkill.getLevel() < skill.getLevel())
|
||||
{
|
||||
continue;
|
||||
addedSkills.put(skill.getId(), skill);
|
||||
}
|
||||
|
||||
if (addedSkills.containsKey(holder.getSkill().getId()))
|
||||
}
|
||||
else
|
||||
{
|
||||
addedSkills.put(skill.getId(), skill);
|
||||
}
|
||||
|
||||
if (skill.isActive() && !player.hasSkillReuse(skill.getReuseHashCode()))
|
||||
{
|
||||
final int equipDelay = item.getEquipReuseDelay();
|
||||
if (equipDelay > 0)
|
||||
{
|
||||
if (addedSkills.get(holder.getSkill().getId()).getLevel() < holder.getSkill().getLevel())
|
||||
{
|
||||
addedSkills.put(holder.getSkill().getId(), holder.getSkill());
|
||||
}
|
||||
}
|
||||
else
|
||||
{
|
||||
addedSkills.put(holder.getSkill().getId(), holder.getSkill());
|
||||
}
|
||||
|
||||
if (skill.isActive() && !player.hasSkillReuse(skill.getReuseHashCode()))
|
||||
{
|
||||
final int equipDelay = item.getEquipReuseDelay();
|
||||
if (equipDelay > 0)
|
||||
{
|
||||
player.addTimeStamp(skill, equipDelay);
|
||||
player.disableSkill(skill, equipDelay);
|
||||
}
|
||||
updateTimestamp = true;
|
||||
player.addTimeStamp(skill, equipDelay);
|
||||
player.disableSkill(skill, equipDelay);
|
||||
}
|
||||
updateTimestamp = true;
|
||||
}
|
||||
}
|
||||
}
|
||||
@ -661,28 +656,35 @@ public abstract class Inventory extends ItemContainer
|
||||
continue;
|
||||
}
|
||||
|
||||
// Add skills bestowed from +4 armor
|
||||
if (equipped.getEnchantLevel() >= holder.getValue())
|
||||
if (equipped.getEnchantLevel() < holder.getValue())
|
||||
{
|
||||
final Skill skill = holder.getSkill();
|
||||
// Check passive skill conditions.
|
||||
if (skill.isPassive() && !skill.checkConditions(SkillConditionScope.PASSIVE, player, player))
|
||||
continue;
|
||||
}
|
||||
|
||||
final Skill skill = holder.getSkill();
|
||||
if (skill == null)
|
||||
{
|
||||
continue;
|
||||
}
|
||||
|
||||
// Check passive skill conditions.
|
||||
if (skill.isPassive() && !skill.checkConditions(SkillConditionScope.PASSIVE, player, player))
|
||||
{
|
||||
continue;
|
||||
}
|
||||
|
||||
final Skill existingSkill = addedSkills.get(skill.getId());
|
||||
if (existingSkill != null)
|
||||
{
|
||||
if (existingSkill.getLevel() < skill.getLevel())
|
||||
{
|
||||
continue;
|
||||
}
|
||||
|
||||
if (addedSkills.containsKey(holder.getSkill().getId()))
|
||||
{
|
||||
if (addedSkills.get(holder.getSkill().getId()).getLevel() < holder.getSkill().getLevel())
|
||||
{
|
||||
addedSkills.put(holder.getSkill().getId(), holder.getSkill());
|
||||
}
|
||||
}
|
||||
else
|
||||
{
|
||||
addedSkills.put(holder.getSkill().getId(), holder.getSkill());
|
||||
addedSkills.put(skill.getId(), skill);
|
||||
}
|
||||
}
|
||||
else
|
||||
{
|
||||
addedSkills.put(skill.getId(), skill);
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
|
@ -351,20 +351,15 @@ public abstract class Inventory extends ItemContainer
|
||||
{
|
||||
for (ItemSkillHolder holder : onEnchantSkills)
|
||||
{
|
||||
// Remove skills bestowed from +4 armor
|
||||
if (item.getEnchantLevel() >= holder.getValue())
|
||||
if (item.getEnchantLevel() < holder.getValue())
|
||||
{
|
||||
if (removedSkills.containsKey(holder.getSkill().getId()))
|
||||
{
|
||||
if (removedSkills.get(holder.getSkill().getId()).getLevel() < holder.getSkill().getLevel())
|
||||
{
|
||||
removedSkills.put(holder.getSkill().getId(), holder.getSkill());
|
||||
}
|
||||
}
|
||||
else
|
||||
{
|
||||
removedSkills.put(holder.getSkill().getId(), holder.getSkill());
|
||||
}
|
||||
continue;
|
||||
}
|
||||
|
||||
final Skill skill = holder.getSkill();
|
||||
if (skill != null)
|
||||
{
|
||||
removedSkills.putIfAbsent(skill.getId(), skill);
|
||||
update = true;
|
||||
}
|
||||
}
|
||||
@ -378,17 +373,7 @@ public abstract class Inventory extends ItemContainer
|
||||
final Skill skill = holder.getSkill();
|
||||
if (skill != null)
|
||||
{
|
||||
if (removedSkills.containsKey(holder.getSkill().getId()))
|
||||
{
|
||||
if (removedSkills.get(holder.getSkill().getId()).getLevel() < holder.getSkill().getLevel())
|
||||
{
|
||||
removedSkills.put(holder.getSkill().getId(), holder.getSkill());
|
||||
}
|
||||
}
|
||||
else
|
||||
{
|
||||
removedSkills.put(holder.getSkill().getId(), holder.getSkill());
|
||||
}
|
||||
removedSkills.putIfAbsent(skill.getId(), skill);
|
||||
update = true;
|
||||
}
|
||||
}
|
||||
@ -417,32 +402,35 @@ public abstract class Inventory extends ItemContainer
|
||||
}
|
||||
|
||||
final Skill skill = holder.getSkill();
|
||||
if (skill != null)
|
||||
if (skill == null)
|
||||
{
|
||||
if (addedSkills.containsKey(holder.getSkill().getId()))
|
||||
{
|
||||
if (addedSkills.get(holder.getSkill().getId()).getLevel() < holder.getSkill().getLevel())
|
||||
{
|
||||
addedSkills.put(holder.getSkill().getId(), holder.getSkill());
|
||||
}
|
||||
}
|
||||
else
|
||||
{
|
||||
addedSkills.put(holder.getSkill().getId(), holder.getSkill());
|
||||
}
|
||||
|
||||
if (skill.isActive() && !player.hasSkillReuse(skill.getReuseHashCode()))
|
||||
{
|
||||
final int equipDelay = item.getEquipReuseDelay();
|
||||
if (equipDelay > 0)
|
||||
{
|
||||
player.addTimeStamp(skill, equipDelay);
|
||||
player.disableSkill(skill, equipDelay);
|
||||
}
|
||||
updateTimestamp = true;
|
||||
}
|
||||
update = true;
|
||||
continue;
|
||||
}
|
||||
|
||||
final Skill existingSkill = addedSkills.get(skill.getId());
|
||||
if (existingSkill != null)
|
||||
{
|
||||
if (existingSkill.getLevel() < skill.getLevel())
|
||||
{
|
||||
addedSkills.put(skill.getId(), skill);
|
||||
}
|
||||
}
|
||||
else
|
||||
{
|
||||
addedSkills.put(skill.getId(), skill);
|
||||
}
|
||||
|
||||
if (skill.isActive() && !player.hasSkillReuse(skill.getReuseHashCode()))
|
||||
{
|
||||
final int equipDelay = item.getEquipReuseDelay();
|
||||
if (equipDelay > 0)
|
||||
{
|
||||
player.addTimeStamp(skill, equipDelay);
|
||||
player.disableSkill(skill, equipDelay);
|
||||
}
|
||||
updateTimestamp = true;
|
||||
}
|
||||
update = true;
|
||||
}
|
||||
}
|
||||
}
|
||||
@ -464,26 +452,22 @@ public abstract class Inventory extends ItemContainer
|
||||
|
||||
for (ItemSkillHolder holder : otherEnchantSkills)
|
||||
{
|
||||
// Add skills bestowed from +4 armor
|
||||
if (equipped.getEnchantLevel() >= holder.getValue())
|
||||
if (equipped.getEnchantLevel() < holder.getValue())
|
||||
{
|
||||
final Skill skill = holder.getSkill();
|
||||
// Check passive skill conditions.
|
||||
if (skill.isPassive() && !skill.checkConditions(SkillConditionScope.PASSIVE, player, player))
|
||||
{
|
||||
if (removedSkills.containsKey(holder.getSkill().getId()))
|
||||
{
|
||||
if (removedSkills.get(holder.getSkill().getId()).getLevel() < holder.getSkill().getLevel())
|
||||
{
|
||||
removedSkills.put(holder.getSkill().getId(), holder.getSkill());
|
||||
}
|
||||
}
|
||||
else
|
||||
{
|
||||
removedSkills.put(holder.getSkill().getId(), holder.getSkill());
|
||||
}
|
||||
update = true;
|
||||
}
|
||||
continue;
|
||||
}
|
||||
|
||||
final Skill skill = holder.getSkill();
|
||||
if (skill == null)
|
||||
{
|
||||
continue;
|
||||
}
|
||||
|
||||
// Check passive skill conditions.
|
||||
if (skill.isPassive() && !skill.checkConditions(SkillConditionScope.PASSIVE, player, player))
|
||||
{
|
||||
removedSkills.putIfAbsent(skill.getId(), skill);
|
||||
update = true;
|
||||
}
|
||||
}
|
||||
}
|
||||
@ -570,28 +554,35 @@ public abstract class Inventory extends ItemContainer
|
||||
continue;
|
||||
}
|
||||
|
||||
// Add skills bestowed from +4 armor
|
||||
if (item.getEnchantLevel() >= holder.getValue())
|
||||
if (item.getEnchantLevel() < holder.getValue())
|
||||
{
|
||||
final Skill skill = holder.getSkill();
|
||||
// Check passive skill conditions.
|
||||
if (skill.isPassive() && !skill.checkConditions(SkillConditionScope.PASSIVE, player, player))
|
||||
continue;
|
||||
}
|
||||
|
||||
final Skill skill = holder.getSkill();
|
||||
if (skill == null)
|
||||
{
|
||||
continue;
|
||||
}
|
||||
|
||||
// Check passive skill conditions.
|
||||
if (skill.isPassive() && !skill.checkConditions(SkillConditionScope.PASSIVE, player, player))
|
||||
{
|
||||
continue;
|
||||
}
|
||||
|
||||
final Skill existingSkill = addedSkills.get(skill.getId());
|
||||
if (existingSkill != null)
|
||||
{
|
||||
if (existingSkill.getLevel() < skill.getLevel())
|
||||
{
|
||||
continue;
|
||||
}
|
||||
|
||||
if (addedSkills.containsKey(holder.getSkill().getId()))
|
||||
{
|
||||
if (addedSkills.get(holder.getSkill().getId()).getLevel() < holder.getSkill().getLevel())
|
||||
{
|
||||
addedSkills.put(holder.getSkill().getId(), holder.getSkill());
|
||||
}
|
||||
}
|
||||
else
|
||||
{
|
||||
addedSkills.put(holder.getSkill().getId(), holder.getSkill());
|
||||
addedSkills.put(skill.getId(), skill);
|
||||
}
|
||||
}
|
||||
else
|
||||
{
|
||||
addedSkills.put(skill.getId(), skill);
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
@ -606,35 +597,39 @@ public abstract class Inventory extends ItemContainer
|
||||
}
|
||||
|
||||
final Skill skill = holder.getSkill();
|
||||
if (skill != null)
|
||||
if (skill == null)
|
||||
{
|
||||
if (skill.isPassive() && !skill.checkConditions(SkillConditionScope.PASSIVE, player, player))
|
||||
continue;
|
||||
}
|
||||
|
||||
// Check passive skill conditions.
|
||||
if (skill.isPassive() && !skill.checkConditions(SkillConditionScope.PASSIVE, player, player))
|
||||
{
|
||||
continue;
|
||||
}
|
||||
|
||||
final Skill existingSkill = addedSkills.get(skill.getId());
|
||||
if (existingSkill != null)
|
||||
{
|
||||
if (existingSkill.getLevel() < skill.getLevel())
|
||||
{
|
||||
continue;
|
||||
addedSkills.put(skill.getId(), skill);
|
||||
}
|
||||
|
||||
if (addedSkills.containsKey(holder.getSkill().getId()))
|
||||
}
|
||||
else
|
||||
{
|
||||
addedSkills.put(skill.getId(), skill);
|
||||
}
|
||||
|
||||
if (skill.isActive() && !player.hasSkillReuse(skill.getReuseHashCode()))
|
||||
{
|
||||
final int equipDelay = item.getEquipReuseDelay();
|
||||
if (equipDelay > 0)
|
||||
{
|
||||
if (addedSkills.get(holder.getSkill().getId()).getLevel() < holder.getSkill().getLevel())
|
||||
{
|
||||
addedSkills.put(holder.getSkill().getId(), holder.getSkill());
|
||||
}
|
||||
}
|
||||
else
|
||||
{
|
||||
addedSkills.put(holder.getSkill().getId(), holder.getSkill());
|
||||
}
|
||||
|
||||
if (skill.isActive() && !player.hasSkillReuse(skill.getReuseHashCode()))
|
||||
{
|
||||
final int equipDelay = item.getEquipReuseDelay();
|
||||
if (equipDelay > 0)
|
||||
{
|
||||
player.addTimeStamp(skill, equipDelay);
|
||||
player.disableSkill(skill, equipDelay);
|
||||
}
|
||||
updateTimestamp = true;
|
||||
player.addTimeStamp(skill, equipDelay);
|
||||
player.disableSkill(skill, equipDelay);
|
||||
}
|
||||
updateTimestamp = true;
|
||||
}
|
||||
}
|
||||
}
|
||||
@ -661,28 +656,35 @@ public abstract class Inventory extends ItemContainer
|
||||
continue;
|
||||
}
|
||||
|
||||
// Add skills bestowed from +4 armor
|
||||
if (equipped.getEnchantLevel() >= holder.getValue())
|
||||
if (equipped.getEnchantLevel() < holder.getValue())
|
||||
{
|
||||
final Skill skill = holder.getSkill();
|
||||
// Check passive skill conditions.
|
||||
if (skill.isPassive() && !skill.checkConditions(SkillConditionScope.PASSIVE, player, player))
|
||||
continue;
|
||||
}
|
||||
|
||||
final Skill skill = holder.getSkill();
|
||||
if (skill == null)
|
||||
{
|
||||
continue;
|
||||
}
|
||||
|
||||
// Check passive skill conditions.
|
||||
if (skill.isPassive() && !skill.checkConditions(SkillConditionScope.PASSIVE, player, player))
|
||||
{
|
||||
continue;
|
||||
}
|
||||
|
||||
final Skill existingSkill = addedSkills.get(skill.getId());
|
||||
if (existingSkill != null)
|
||||
{
|
||||
if (existingSkill.getLevel() < skill.getLevel())
|
||||
{
|
||||
continue;
|
||||
}
|
||||
|
||||
if (addedSkills.containsKey(holder.getSkill().getId()))
|
||||
{
|
||||
if (addedSkills.get(holder.getSkill().getId()).getLevel() < holder.getSkill().getLevel())
|
||||
{
|
||||
addedSkills.put(holder.getSkill().getId(), holder.getSkill());
|
||||
}
|
||||
}
|
||||
else
|
||||
{
|
||||
addedSkills.put(holder.getSkill().getId(), holder.getSkill());
|
||||
addedSkills.put(skill.getId(), skill);
|
||||
}
|
||||
}
|
||||
else
|
||||
{
|
||||
addedSkills.put(skill.getId(), skill);
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
|
@ -325,20 +325,15 @@ public abstract class Inventory extends ItemContainer
|
||||
{
|
||||
for (ItemSkillHolder holder : onEnchantSkills)
|
||||
{
|
||||
// Remove skills bestowed from +4 armor
|
||||
if (item.getEnchantLevel() >= holder.getValue())
|
||||
if (item.getEnchantLevel() < holder.getValue())
|
||||
{
|
||||
if (removedSkills.containsKey(holder.getSkill().getId()))
|
||||
{
|
||||
if (removedSkills.get(holder.getSkill().getId()).getLevel() < holder.getSkill().getLevel())
|
||||
{
|
||||
removedSkills.put(holder.getSkill().getId(), holder.getSkill());
|
||||
}
|
||||
}
|
||||
else
|
||||
{
|
||||
removedSkills.put(holder.getSkill().getId(), holder.getSkill());
|
||||
}
|
||||
continue;
|
||||
}
|
||||
|
||||
final Skill skill = holder.getSkill();
|
||||
if (skill != null)
|
||||
{
|
||||
removedSkills.putIfAbsent(skill.getId(), skill);
|
||||
update = true;
|
||||
}
|
||||
}
|
||||
@ -352,17 +347,7 @@ public abstract class Inventory extends ItemContainer
|
||||
final Skill skill = holder.getSkill();
|
||||
if (skill != null)
|
||||
{
|
||||
if (removedSkills.containsKey(holder.getSkill().getId()))
|
||||
{
|
||||
if (removedSkills.get(holder.getSkill().getId()).getLevel() < holder.getSkill().getLevel())
|
||||
{
|
||||
removedSkills.put(holder.getSkill().getId(), holder.getSkill());
|
||||
}
|
||||
}
|
||||
else
|
||||
{
|
||||
removedSkills.put(holder.getSkill().getId(), holder.getSkill());
|
||||
}
|
||||
removedSkills.putIfAbsent(skill.getId(), skill);
|
||||
update = true;
|
||||
}
|
||||
}
|
||||
@ -391,32 +376,35 @@ public abstract class Inventory extends ItemContainer
|
||||
}
|
||||
|
||||
final Skill skill = holder.getSkill();
|
||||
if (skill != null)
|
||||
if (skill == null)
|
||||
{
|
||||
if (addedSkills.containsKey(holder.getSkill().getId()))
|
||||
{
|
||||
if (addedSkills.get(holder.getSkill().getId()).getLevel() < holder.getSkill().getLevel())
|
||||
{
|
||||
addedSkills.put(holder.getSkill().getId(), holder.getSkill());
|
||||
}
|
||||
}
|
||||
else
|
||||
{
|
||||
addedSkills.put(holder.getSkill().getId(), holder.getSkill());
|
||||
}
|
||||
|
||||
if (skill.isActive() && !player.hasSkillReuse(skill.getReuseHashCode()))
|
||||
{
|
||||
final int equipDelay = item.getEquipReuseDelay();
|
||||
if (equipDelay > 0)
|
||||
{
|
||||
player.addTimeStamp(skill, equipDelay);
|
||||
player.disableSkill(skill, equipDelay);
|
||||
}
|
||||
updateTimestamp = true;
|
||||
}
|
||||
update = true;
|
||||
continue;
|
||||
}
|
||||
|
||||
final Skill existingSkill = addedSkills.get(skill.getId());
|
||||
if (existingSkill != null)
|
||||
{
|
||||
if (existingSkill.getLevel() < skill.getLevel())
|
||||
{
|
||||
addedSkills.put(skill.getId(), skill);
|
||||
}
|
||||
}
|
||||
else
|
||||
{
|
||||
addedSkills.put(skill.getId(), skill);
|
||||
}
|
||||
|
||||
if (skill.isActive() && !player.hasSkillReuse(skill.getReuseHashCode()))
|
||||
{
|
||||
final int equipDelay = item.getEquipReuseDelay();
|
||||
if (equipDelay > 0)
|
||||
{
|
||||
player.addTimeStamp(skill, equipDelay);
|
||||
player.disableSkill(skill, equipDelay);
|
||||
}
|
||||
updateTimestamp = true;
|
||||
}
|
||||
update = true;
|
||||
}
|
||||
}
|
||||
}
|
||||
@ -438,26 +426,22 @@ public abstract class Inventory extends ItemContainer
|
||||
|
||||
for (ItemSkillHolder holder : otherEnchantSkills)
|
||||
{
|
||||
// Add skills bestowed from +4 armor
|
||||
if (equipped.getEnchantLevel() >= holder.getValue())
|
||||
if (equipped.getEnchantLevel() < holder.getValue())
|
||||
{
|
||||
final Skill skill = holder.getSkill();
|
||||
// Check passive skill conditions.
|
||||
if (skill.isPassive() && !skill.checkConditions(SkillConditionScope.PASSIVE, player, player))
|
||||
{
|
||||
if (removedSkills.containsKey(holder.getSkill().getId()))
|
||||
{
|
||||
if (removedSkills.get(holder.getSkill().getId()).getLevel() < holder.getSkill().getLevel())
|
||||
{
|
||||
removedSkills.put(holder.getSkill().getId(), holder.getSkill());
|
||||
}
|
||||
}
|
||||
else
|
||||
{
|
||||
removedSkills.put(holder.getSkill().getId(), holder.getSkill());
|
||||
}
|
||||
update = true;
|
||||
}
|
||||
continue;
|
||||
}
|
||||
|
||||
final Skill skill = holder.getSkill();
|
||||
if (skill == null)
|
||||
{
|
||||
continue;
|
||||
}
|
||||
|
||||
// Check passive skill conditions.
|
||||
if (skill.isPassive() && !skill.checkConditions(SkillConditionScope.PASSIVE, player, player))
|
||||
{
|
||||
removedSkills.putIfAbsent(skill.getId(), skill);
|
||||
update = true;
|
||||
}
|
||||
}
|
||||
}
|
||||
@ -547,28 +531,35 @@ public abstract class Inventory extends ItemContainer
|
||||
continue;
|
||||
}
|
||||
|
||||
// Add skills bestowed from +4 armor
|
||||
if (item.getEnchantLevel() >= holder.getValue())
|
||||
if (item.getEnchantLevel() < holder.getValue())
|
||||
{
|
||||
final Skill skill = holder.getSkill();
|
||||
// Check passive skill conditions.
|
||||
if (skill.isPassive() && !skill.checkConditions(SkillConditionScope.PASSIVE, player, player))
|
||||
continue;
|
||||
}
|
||||
|
||||
final Skill skill = holder.getSkill();
|
||||
if (skill == null)
|
||||
{
|
||||
continue;
|
||||
}
|
||||
|
||||
// Check passive skill conditions.
|
||||
if (skill.isPassive() && !skill.checkConditions(SkillConditionScope.PASSIVE, player, player))
|
||||
{
|
||||
continue;
|
||||
}
|
||||
|
||||
final Skill existingSkill = addedSkills.get(skill.getId());
|
||||
if (existingSkill != null)
|
||||
{
|
||||
if (existingSkill.getLevel() < skill.getLevel())
|
||||
{
|
||||
continue;
|
||||
}
|
||||
|
||||
if (addedSkills.containsKey(holder.getSkill().getId()))
|
||||
{
|
||||
if (addedSkills.get(holder.getSkill().getId()).getLevel() < holder.getSkill().getLevel())
|
||||
{
|
||||
addedSkills.put(holder.getSkill().getId(), holder.getSkill());
|
||||
}
|
||||
}
|
||||
else
|
||||
{
|
||||
addedSkills.put(holder.getSkill().getId(), holder.getSkill());
|
||||
addedSkills.put(skill.getId(), skill);
|
||||
}
|
||||
}
|
||||
else
|
||||
{
|
||||
addedSkills.put(skill.getId(), skill);
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
@ -583,35 +574,39 @@ public abstract class Inventory extends ItemContainer
|
||||
}
|
||||
|
||||
final Skill skill = holder.getSkill();
|
||||
if (skill != null)
|
||||
if (skill == null)
|
||||
{
|
||||
if (skill.isPassive() && !skill.checkConditions(SkillConditionScope.PASSIVE, player, player))
|
||||
continue;
|
||||
}
|
||||
|
||||
// Check passive skill conditions.
|
||||
if (skill.isPassive() && !skill.checkConditions(SkillConditionScope.PASSIVE, player, player))
|
||||
{
|
||||
continue;
|
||||
}
|
||||
|
||||
final Skill existingSkill = addedSkills.get(skill.getId());
|
||||
if (existingSkill != null)
|
||||
{
|
||||
if (existingSkill.getLevel() < skill.getLevel())
|
||||
{
|
||||
continue;
|
||||
addedSkills.put(skill.getId(), skill);
|
||||
}
|
||||
|
||||
if (addedSkills.containsKey(holder.getSkill().getId()))
|
||||
}
|
||||
else
|
||||
{
|
||||
addedSkills.put(skill.getId(), skill);
|
||||
}
|
||||
|
||||
if (skill.isActive() && !player.hasSkillReuse(skill.getReuseHashCode()))
|
||||
{
|
||||
final int equipDelay = item.getEquipReuseDelay();
|
||||
if (equipDelay > 0)
|
||||
{
|
||||
if (addedSkills.get(holder.getSkill().getId()).getLevel() < holder.getSkill().getLevel())
|
||||
{
|
||||
addedSkills.put(holder.getSkill().getId(), holder.getSkill());
|
||||
}
|
||||
}
|
||||
else
|
||||
{
|
||||
addedSkills.put(holder.getSkill().getId(), holder.getSkill());
|
||||
}
|
||||
|
||||
if (skill.isActive() && !player.hasSkillReuse(skill.getReuseHashCode()))
|
||||
{
|
||||
final int equipDelay = item.getEquipReuseDelay();
|
||||
if (equipDelay > 0)
|
||||
{
|
||||
player.addTimeStamp(skill, equipDelay);
|
||||
player.disableSkill(skill, equipDelay);
|
||||
}
|
||||
updateTimestamp = true;
|
||||
player.addTimeStamp(skill, equipDelay);
|
||||
player.disableSkill(skill, equipDelay);
|
||||
}
|
||||
updateTimestamp = true;
|
||||
}
|
||||
}
|
||||
}
|
||||
@ -638,28 +633,35 @@ public abstract class Inventory extends ItemContainer
|
||||
continue;
|
||||
}
|
||||
|
||||
// Add skills bestowed from +4 armor
|
||||
if (equipped.getEnchantLevel() >= holder.getValue())
|
||||
if (equipped.getEnchantLevel() < holder.getValue())
|
||||
{
|
||||
final Skill skill = holder.getSkill();
|
||||
// Check passive skill conditions.
|
||||
if (skill.isPassive() && !skill.checkConditions(SkillConditionScope.PASSIVE, player, player))
|
||||
continue;
|
||||
}
|
||||
|
||||
final Skill skill = holder.getSkill();
|
||||
if (skill == null)
|
||||
{
|
||||
continue;
|
||||
}
|
||||
|
||||
// Check passive skill conditions.
|
||||
if (skill.isPassive() && !skill.checkConditions(SkillConditionScope.PASSIVE, player, player))
|
||||
{
|
||||
continue;
|
||||
}
|
||||
|
||||
final Skill existingSkill = addedSkills.get(skill.getId());
|
||||
if (existingSkill != null)
|
||||
{
|
||||
if (existingSkill.getLevel() < skill.getLevel())
|
||||
{
|
||||
continue;
|
||||
}
|
||||
|
||||
if (addedSkills.containsKey(holder.getSkill().getId()))
|
||||
{
|
||||
if (addedSkills.get(holder.getSkill().getId()).getLevel() < holder.getSkill().getLevel())
|
||||
{
|
||||
addedSkills.put(holder.getSkill().getId(), holder.getSkill());
|
||||
}
|
||||
}
|
||||
else
|
||||
{
|
||||
addedSkills.put(holder.getSkill().getId(), holder.getSkill());
|
||||
addedSkills.put(skill.getId(), skill);
|
||||
}
|
||||
}
|
||||
else
|
||||
{
|
||||
addedSkills.put(skill.getId(), skill);
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
|
@ -325,20 +325,15 @@ public abstract class Inventory extends ItemContainer
|
||||
{
|
||||
for (ItemSkillHolder holder : onEnchantSkills)
|
||||
{
|
||||
// Remove skills bestowed from +4 armor
|
||||
if (item.getEnchantLevel() >= holder.getValue())
|
||||
if (item.getEnchantLevel() < holder.getValue())
|
||||
{
|
||||
if (removedSkills.containsKey(holder.getSkill().getId()))
|
||||
{
|
||||
if (removedSkills.get(holder.getSkill().getId()).getLevel() < holder.getSkill().getLevel())
|
||||
{
|
||||
removedSkills.put(holder.getSkill().getId(), holder.getSkill());
|
||||
}
|
||||
}
|
||||
else
|
||||
{
|
||||
removedSkills.put(holder.getSkill().getId(), holder.getSkill());
|
||||
}
|
||||
continue;
|
||||
}
|
||||
|
||||
final Skill skill = holder.getSkill();
|
||||
if (skill != null)
|
||||
{
|
||||
removedSkills.putIfAbsent(skill.getId(), skill);
|
||||
update = true;
|
||||
}
|
||||
}
|
||||
@ -352,17 +347,7 @@ public abstract class Inventory extends ItemContainer
|
||||
final Skill skill = holder.getSkill();
|
||||
if (skill != null)
|
||||
{
|
||||
if (removedSkills.containsKey(holder.getSkill().getId()))
|
||||
{
|
||||
if (removedSkills.get(holder.getSkill().getId()).getLevel() < holder.getSkill().getLevel())
|
||||
{
|
||||
removedSkills.put(holder.getSkill().getId(), holder.getSkill());
|
||||
}
|
||||
}
|
||||
else
|
||||
{
|
||||
removedSkills.put(holder.getSkill().getId(), holder.getSkill());
|
||||
}
|
||||
removedSkills.putIfAbsent(skill.getId(), skill);
|
||||
update = true;
|
||||
}
|
||||
}
|
||||
@ -391,32 +376,35 @@ public abstract class Inventory extends ItemContainer
|
||||
}
|
||||
|
||||
final Skill skill = holder.getSkill();
|
||||
if (skill != null)
|
||||
if (skill == null)
|
||||
{
|
||||
if (addedSkills.containsKey(holder.getSkill().getId()))
|
||||
{
|
||||
if (addedSkills.get(holder.getSkill().getId()).getLevel() < holder.getSkill().getLevel())
|
||||
{
|
||||
addedSkills.put(holder.getSkill().getId(), holder.getSkill());
|
||||
}
|
||||
}
|
||||
else
|
||||
{
|
||||
addedSkills.put(holder.getSkill().getId(), holder.getSkill());
|
||||
}
|
||||
|
||||
if (skill.isActive() && !player.hasSkillReuse(skill.getReuseHashCode()))
|
||||
{
|
||||
final int equipDelay = item.getEquipReuseDelay();
|
||||
if (equipDelay > 0)
|
||||
{
|
||||
player.addTimeStamp(skill, equipDelay);
|
||||
player.disableSkill(skill, equipDelay);
|
||||
}
|
||||
updateTimestamp = true;
|
||||
}
|
||||
update = true;
|
||||
continue;
|
||||
}
|
||||
|
||||
final Skill existingSkill = addedSkills.get(skill.getId());
|
||||
if (existingSkill != null)
|
||||
{
|
||||
if (existingSkill.getLevel() < skill.getLevel())
|
||||
{
|
||||
addedSkills.put(skill.getId(), skill);
|
||||
}
|
||||
}
|
||||
else
|
||||
{
|
||||
addedSkills.put(skill.getId(), skill);
|
||||
}
|
||||
|
||||
if (skill.isActive() && !player.hasSkillReuse(skill.getReuseHashCode()))
|
||||
{
|
||||
final int equipDelay = item.getEquipReuseDelay();
|
||||
if (equipDelay > 0)
|
||||
{
|
||||
player.addTimeStamp(skill, equipDelay);
|
||||
player.disableSkill(skill, equipDelay);
|
||||
}
|
||||
updateTimestamp = true;
|
||||
}
|
||||
update = true;
|
||||
}
|
||||
}
|
||||
}
|
||||
@ -438,26 +426,22 @@ public abstract class Inventory extends ItemContainer
|
||||
|
||||
for (ItemSkillHolder holder : otherEnchantSkills)
|
||||
{
|
||||
// Add skills bestowed from +4 armor
|
||||
if (equipped.getEnchantLevel() >= holder.getValue())
|
||||
if (equipped.getEnchantLevel() < holder.getValue())
|
||||
{
|
||||
final Skill skill = holder.getSkill();
|
||||
// Check passive skill conditions.
|
||||
if (skill.isPassive() && !skill.checkConditions(SkillConditionScope.PASSIVE, player, player))
|
||||
{
|
||||
if (removedSkills.containsKey(holder.getSkill().getId()))
|
||||
{
|
||||
if (removedSkills.get(holder.getSkill().getId()).getLevel() < holder.getSkill().getLevel())
|
||||
{
|
||||
removedSkills.put(holder.getSkill().getId(), holder.getSkill());
|
||||
}
|
||||
}
|
||||
else
|
||||
{
|
||||
removedSkills.put(holder.getSkill().getId(), holder.getSkill());
|
||||
}
|
||||
update = true;
|
||||
}
|
||||
continue;
|
||||
}
|
||||
|
||||
final Skill skill = holder.getSkill();
|
||||
if (skill == null)
|
||||
{
|
||||
continue;
|
||||
}
|
||||
|
||||
// Check passive skill conditions.
|
||||
if (skill.isPassive() && !skill.checkConditions(SkillConditionScope.PASSIVE, player, player))
|
||||
{
|
||||
removedSkills.putIfAbsent(skill.getId(), skill);
|
||||
update = true;
|
||||
}
|
||||
}
|
||||
}
|
||||
@ -547,28 +531,35 @@ public abstract class Inventory extends ItemContainer
|
||||
continue;
|
||||
}
|
||||
|
||||
// Add skills bestowed from +4 armor
|
||||
if (item.getEnchantLevel() >= holder.getValue())
|
||||
if (item.getEnchantLevel() < holder.getValue())
|
||||
{
|
||||
final Skill skill = holder.getSkill();
|
||||
// Check passive skill conditions.
|
||||
if (skill.isPassive() && !skill.checkConditions(SkillConditionScope.PASSIVE, player, player))
|
||||
continue;
|
||||
}
|
||||
|
||||
final Skill skill = holder.getSkill();
|
||||
if (skill == null)
|
||||
{
|
||||
continue;
|
||||
}
|
||||
|
||||
// Check passive skill conditions.
|
||||
if (skill.isPassive() && !skill.checkConditions(SkillConditionScope.PASSIVE, player, player))
|
||||
{
|
||||
continue;
|
||||
}
|
||||
|
||||
final Skill existingSkill = addedSkills.get(skill.getId());
|
||||
if (existingSkill != null)
|
||||
{
|
||||
if (existingSkill.getLevel() < skill.getLevel())
|
||||
{
|
||||
continue;
|
||||
}
|
||||
|
||||
if (addedSkills.containsKey(holder.getSkill().getId()))
|
||||
{
|
||||
if (addedSkills.get(holder.getSkill().getId()).getLevel() < holder.getSkill().getLevel())
|
||||
{
|
||||
addedSkills.put(holder.getSkill().getId(), holder.getSkill());
|
||||
}
|
||||
}
|
||||
else
|
||||
{
|
||||
addedSkills.put(holder.getSkill().getId(), holder.getSkill());
|
||||
addedSkills.put(skill.getId(), skill);
|
||||
}
|
||||
}
|
||||
else
|
||||
{
|
||||
addedSkills.put(skill.getId(), skill);
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
@ -583,35 +574,39 @@ public abstract class Inventory extends ItemContainer
|
||||
}
|
||||
|
||||
final Skill skill = holder.getSkill();
|
||||
if (skill != null)
|
||||
if (skill == null)
|
||||
{
|
||||
if (skill.isPassive() && !skill.checkConditions(SkillConditionScope.PASSIVE, player, player))
|
||||
continue;
|
||||
}
|
||||
|
||||
// Check passive skill conditions.
|
||||
if (skill.isPassive() && !skill.checkConditions(SkillConditionScope.PASSIVE, player, player))
|
||||
{
|
||||
continue;
|
||||
}
|
||||
|
||||
final Skill existingSkill = addedSkills.get(skill.getId());
|
||||
if (existingSkill != null)
|
||||
{
|
||||
if (existingSkill.getLevel() < skill.getLevel())
|
||||
{
|
||||
continue;
|
||||
addedSkills.put(skill.getId(), skill);
|
||||
}
|
||||
|
||||
if (addedSkills.containsKey(holder.getSkill().getId()))
|
||||
}
|
||||
else
|
||||
{
|
||||
addedSkills.put(skill.getId(), skill);
|
||||
}
|
||||
|
||||
if (skill.isActive() && !player.hasSkillReuse(skill.getReuseHashCode()))
|
||||
{
|
||||
final int equipDelay = item.getEquipReuseDelay();
|
||||
if (equipDelay > 0)
|
||||
{
|
||||
if (addedSkills.get(holder.getSkill().getId()).getLevel() < holder.getSkill().getLevel())
|
||||
{
|
||||
addedSkills.put(holder.getSkill().getId(), holder.getSkill());
|
||||
}
|
||||
}
|
||||
else
|
||||
{
|
||||
addedSkills.put(holder.getSkill().getId(), holder.getSkill());
|
||||
}
|
||||
|
||||
if (skill.isActive() && !player.hasSkillReuse(skill.getReuseHashCode()))
|
||||
{
|
||||
final int equipDelay = item.getEquipReuseDelay();
|
||||
if (equipDelay > 0)
|
||||
{
|
||||
player.addTimeStamp(skill, equipDelay);
|
||||
player.disableSkill(skill, equipDelay);
|
||||
}
|
||||
updateTimestamp = true;
|
||||
player.addTimeStamp(skill, equipDelay);
|
||||
player.disableSkill(skill, equipDelay);
|
||||
}
|
||||
updateTimestamp = true;
|
||||
}
|
||||
}
|
||||
}
|
||||
@ -638,28 +633,35 @@ public abstract class Inventory extends ItemContainer
|
||||
continue;
|
||||
}
|
||||
|
||||
// Add skills bestowed from +4 armor
|
||||
if (equipped.getEnchantLevel() >= holder.getValue())
|
||||
if (equipped.getEnchantLevel() < holder.getValue())
|
||||
{
|
||||
final Skill skill = holder.getSkill();
|
||||
// Check passive skill conditions.
|
||||
if (skill.isPassive() && !skill.checkConditions(SkillConditionScope.PASSIVE, player, player))
|
||||
continue;
|
||||
}
|
||||
|
||||
final Skill skill = holder.getSkill();
|
||||
if (skill == null)
|
||||
{
|
||||
continue;
|
||||
}
|
||||
|
||||
// Check passive skill conditions.
|
||||
if (skill.isPassive() && !skill.checkConditions(SkillConditionScope.PASSIVE, player, player))
|
||||
{
|
||||
continue;
|
||||
}
|
||||
|
||||
final Skill existingSkill = addedSkills.get(skill.getId());
|
||||
if (existingSkill != null)
|
||||
{
|
||||
if (existingSkill.getLevel() < skill.getLevel())
|
||||
{
|
||||
continue;
|
||||
}
|
||||
|
||||
if (addedSkills.containsKey(holder.getSkill().getId()))
|
||||
{
|
||||
if (addedSkills.get(holder.getSkill().getId()).getLevel() < holder.getSkill().getLevel())
|
||||
{
|
||||
addedSkills.put(holder.getSkill().getId(), holder.getSkill());
|
||||
}
|
||||
}
|
||||
else
|
||||
{
|
||||
addedSkills.put(holder.getSkill().getId(), holder.getSkill());
|
||||
addedSkills.put(skill.getId(), skill);
|
||||
}
|
||||
}
|
||||
else
|
||||
{
|
||||
addedSkills.put(skill.getId(), skill);
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
|
@ -333,20 +333,15 @@ public abstract class Inventory extends ItemContainer
|
||||
{
|
||||
for (ItemSkillHolder holder : onEnchantSkills)
|
||||
{
|
||||
// Remove skills bestowed from +4 armor
|
||||
if (item.getEnchantLevel() >= holder.getValue())
|
||||
if (item.getEnchantLevel() < holder.getValue())
|
||||
{
|
||||
if (removedSkills.containsKey(holder.getSkill().getId()))
|
||||
{
|
||||
if (removedSkills.get(holder.getSkill().getId()).getLevel() < holder.getSkill().getLevel())
|
||||
{
|
||||
removedSkills.put(holder.getSkill().getId(), holder.getSkill());
|
||||
}
|
||||
}
|
||||
else
|
||||
{
|
||||
removedSkills.put(holder.getSkill().getId(), holder.getSkill());
|
||||
}
|
||||
continue;
|
||||
}
|
||||
|
||||
final Skill skill = holder.getSkill();
|
||||
if (skill != null)
|
||||
{
|
||||
removedSkills.putIfAbsent(skill.getId(), skill);
|
||||
update = true;
|
||||
}
|
||||
}
|
||||
@ -360,17 +355,7 @@ public abstract class Inventory extends ItemContainer
|
||||
final Skill skill = holder.getSkill();
|
||||
if (skill != null)
|
||||
{
|
||||
if (removedSkills.containsKey(holder.getSkill().getId()))
|
||||
{
|
||||
if (removedSkills.get(holder.getSkill().getId()).getLevel() < holder.getSkill().getLevel())
|
||||
{
|
||||
removedSkills.put(holder.getSkill().getId(), holder.getSkill());
|
||||
}
|
||||
}
|
||||
else
|
||||
{
|
||||
removedSkills.put(holder.getSkill().getId(), holder.getSkill());
|
||||
}
|
||||
removedSkills.putIfAbsent(skill.getId(), skill);
|
||||
update = true;
|
||||
}
|
||||
}
|
||||
@ -399,32 +384,35 @@ public abstract class Inventory extends ItemContainer
|
||||
}
|
||||
|
||||
final Skill skill = holder.getSkill();
|
||||
if (skill != null)
|
||||
if (skill == null)
|
||||
{
|
||||
if (addedSkills.containsKey(holder.getSkill().getId()))
|
||||
{
|
||||
if (addedSkills.get(holder.getSkill().getId()).getLevel() < holder.getSkill().getLevel())
|
||||
{
|
||||
addedSkills.put(holder.getSkill().getId(), holder.getSkill());
|
||||
}
|
||||
}
|
||||
else
|
||||
{
|
||||
addedSkills.put(holder.getSkill().getId(), holder.getSkill());
|
||||
}
|
||||
|
||||
if (skill.isActive() && !player.hasSkillReuse(skill.getReuseHashCode()))
|
||||
{
|
||||
final int equipDelay = item.getEquipReuseDelay();
|
||||
if (equipDelay > 0)
|
||||
{
|
||||
player.addTimeStamp(skill, equipDelay);
|
||||
player.disableSkill(skill, equipDelay);
|
||||
}
|
||||
updateTimestamp = true;
|
||||
}
|
||||
update = true;
|
||||
continue;
|
||||
}
|
||||
|
||||
final Skill existingSkill = addedSkills.get(skill.getId());
|
||||
if (existingSkill != null)
|
||||
{
|
||||
if (existingSkill.getLevel() < skill.getLevel())
|
||||
{
|
||||
addedSkills.put(skill.getId(), skill);
|
||||
}
|
||||
}
|
||||
else
|
||||
{
|
||||
addedSkills.put(skill.getId(), skill);
|
||||
}
|
||||
|
||||
if (skill.isActive() && !player.hasSkillReuse(skill.getReuseHashCode()))
|
||||
{
|
||||
final int equipDelay = item.getEquipReuseDelay();
|
||||
if (equipDelay > 0)
|
||||
{
|
||||
player.addTimeStamp(skill, equipDelay);
|
||||
player.disableSkill(skill, equipDelay);
|
||||
}
|
||||
updateTimestamp = true;
|
||||
}
|
||||
update = true;
|
||||
}
|
||||
}
|
||||
}
|
||||
@ -446,26 +434,22 @@ public abstract class Inventory extends ItemContainer
|
||||
|
||||
for (ItemSkillHolder holder : otherEnchantSkills)
|
||||
{
|
||||
// Add skills bestowed from +4 armor
|
||||
if (equipped.getEnchantLevel() >= holder.getValue())
|
||||
if (equipped.getEnchantLevel() < holder.getValue())
|
||||
{
|
||||
final Skill skill = holder.getSkill();
|
||||
// Check passive skill conditions.
|
||||
if (skill.isPassive() && !skill.checkConditions(SkillConditionScope.PASSIVE, player, player))
|
||||
{
|
||||
if (removedSkills.containsKey(holder.getSkill().getId()))
|
||||
{
|
||||
if (removedSkills.get(holder.getSkill().getId()).getLevel() < holder.getSkill().getLevel())
|
||||
{
|
||||
removedSkills.put(holder.getSkill().getId(), holder.getSkill());
|
||||
}
|
||||
}
|
||||
else
|
||||
{
|
||||
removedSkills.put(holder.getSkill().getId(), holder.getSkill());
|
||||
}
|
||||
update = true;
|
||||
}
|
||||
continue;
|
||||
}
|
||||
|
||||
final Skill skill = holder.getSkill();
|
||||
if (skill == null)
|
||||
{
|
||||
continue;
|
||||
}
|
||||
|
||||
// Check passive skill conditions.
|
||||
if (skill.isPassive() && !skill.checkConditions(SkillConditionScope.PASSIVE, player, player))
|
||||
{
|
||||
removedSkills.putIfAbsent(skill.getId(), skill);
|
||||
update = true;
|
||||
}
|
||||
}
|
||||
}
|
||||
@ -558,28 +542,35 @@ public abstract class Inventory extends ItemContainer
|
||||
continue;
|
||||
}
|
||||
|
||||
// Add skills bestowed from +4 armor
|
||||
if (item.getEnchantLevel() >= holder.getValue())
|
||||
if (item.getEnchantLevel() < holder.getValue())
|
||||
{
|
||||
final Skill skill = holder.getSkill();
|
||||
// Check passive skill conditions.
|
||||
if (skill.isPassive() && !skill.checkConditions(SkillConditionScope.PASSIVE, player, player))
|
||||
continue;
|
||||
}
|
||||
|
||||
final Skill skill = holder.getSkill();
|
||||
if (skill == null)
|
||||
{
|
||||
continue;
|
||||
}
|
||||
|
||||
// Check passive skill conditions.
|
||||
if (skill.isPassive() && !skill.checkConditions(SkillConditionScope.PASSIVE, player, player))
|
||||
{
|
||||
continue;
|
||||
}
|
||||
|
||||
final Skill existingSkill = addedSkills.get(skill.getId());
|
||||
if (existingSkill != null)
|
||||
{
|
||||
if (existingSkill.getLevel() < skill.getLevel())
|
||||
{
|
||||
continue;
|
||||
}
|
||||
|
||||
if (addedSkills.containsKey(holder.getSkill().getId()))
|
||||
{
|
||||
if (addedSkills.get(holder.getSkill().getId()).getLevel() < holder.getSkill().getLevel())
|
||||
{
|
||||
addedSkills.put(holder.getSkill().getId(), holder.getSkill());
|
||||
}
|
||||
}
|
||||
else
|
||||
{
|
||||
addedSkills.put(holder.getSkill().getId(), holder.getSkill());
|
||||
addedSkills.put(skill.getId(), skill);
|
||||
}
|
||||
}
|
||||
else
|
||||
{
|
||||
addedSkills.put(skill.getId(), skill);
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
@ -594,35 +585,39 @@ public abstract class Inventory extends ItemContainer
|
||||
}
|
||||
|
||||
final Skill skill = holder.getSkill();
|
||||
if (skill != null)
|
||||
if (skill == null)
|
||||
{
|
||||
if (skill.isPassive() && !skill.checkConditions(SkillConditionScope.PASSIVE, player, player))
|
||||
continue;
|
||||
}
|
||||
|
||||
// Check passive skill conditions.
|
||||
if (skill.isPassive() && !skill.checkConditions(SkillConditionScope.PASSIVE, player, player))
|
||||
{
|
||||
continue;
|
||||
}
|
||||
|
||||
final Skill existingSkill = addedSkills.get(skill.getId());
|
||||
if (existingSkill != null)
|
||||
{
|
||||
if (existingSkill.getLevel() < skill.getLevel())
|
||||
{
|
||||
continue;
|
||||
addedSkills.put(skill.getId(), skill);
|
||||
}
|
||||
|
||||
if (addedSkills.containsKey(holder.getSkill().getId()))
|
||||
}
|
||||
else
|
||||
{
|
||||
addedSkills.put(skill.getId(), skill);
|
||||
}
|
||||
|
||||
if (skill.isActive() && !player.hasSkillReuse(skill.getReuseHashCode()))
|
||||
{
|
||||
final int equipDelay = item.getEquipReuseDelay();
|
||||
if (equipDelay > 0)
|
||||
{
|
||||
if (addedSkills.get(holder.getSkill().getId()).getLevel() < holder.getSkill().getLevel())
|
||||
{
|
||||
addedSkills.put(holder.getSkill().getId(), holder.getSkill());
|
||||
}
|
||||
}
|
||||
else
|
||||
{
|
||||
addedSkills.put(holder.getSkill().getId(), holder.getSkill());
|
||||
}
|
||||
|
||||
if (skill.isActive() && !player.hasSkillReuse(skill.getReuseHashCode()))
|
||||
{
|
||||
final int equipDelay = item.getEquipReuseDelay();
|
||||
if (equipDelay > 0)
|
||||
{
|
||||
player.addTimeStamp(skill, equipDelay);
|
||||
player.disableSkill(skill, equipDelay);
|
||||
}
|
||||
updateTimestamp = true;
|
||||
player.addTimeStamp(skill, equipDelay);
|
||||
player.disableSkill(skill, equipDelay);
|
||||
}
|
||||
updateTimestamp = true;
|
||||
}
|
||||
}
|
||||
}
|
||||
@ -649,28 +644,35 @@ public abstract class Inventory extends ItemContainer
|
||||
continue;
|
||||
}
|
||||
|
||||
// Add skills bestowed from +4 armor
|
||||
if (equipped.getEnchantLevel() >= holder.getValue())
|
||||
if (equipped.getEnchantLevel() < holder.getValue())
|
||||
{
|
||||
final Skill skill = holder.getSkill();
|
||||
// Check passive skill conditions.
|
||||
if (skill.isPassive() && !skill.checkConditions(SkillConditionScope.PASSIVE, player, player))
|
||||
continue;
|
||||
}
|
||||
|
||||
final Skill skill = holder.getSkill();
|
||||
if (skill == null)
|
||||
{
|
||||
continue;
|
||||
}
|
||||
|
||||
// Check passive skill conditions.
|
||||
if (skill.isPassive() && !skill.checkConditions(SkillConditionScope.PASSIVE, player, player))
|
||||
{
|
||||
continue;
|
||||
}
|
||||
|
||||
final Skill existingSkill = addedSkills.get(skill.getId());
|
||||
if (existingSkill != null)
|
||||
{
|
||||
if (existingSkill.getLevel() < skill.getLevel())
|
||||
{
|
||||
continue;
|
||||
}
|
||||
|
||||
if (addedSkills.containsKey(holder.getSkill().getId()))
|
||||
{
|
||||
if (addedSkills.get(holder.getSkill().getId()).getLevel() < holder.getSkill().getLevel())
|
||||
{
|
||||
addedSkills.put(holder.getSkill().getId(), holder.getSkill());
|
||||
}
|
||||
}
|
||||
else
|
||||
{
|
||||
addedSkills.put(holder.getSkill().getId(), holder.getSkill());
|
||||
addedSkills.put(skill.getId(), skill);
|
||||
}
|
||||
}
|
||||
else
|
||||
{
|
||||
addedSkills.put(skill.getId(), skill);
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
|
@ -356,20 +356,15 @@ public abstract class Inventory extends ItemContainer
|
||||
{
|
||||
for (ItemSkillHolder holder : onEnchantSkills)
|
||||
{
|
||||
// Remove skills bestowed from +4 armor
|
||||
if (item.getEnchantLevel() >= holder.getValue())
|
||||
if (item.getEnchantLevel() < holder.getValue())
|
||||
{
|
||||
if (removedSkills.containsKey(holder.getSkill().getId()))
|
||||
{
|
||||
if (removedSkills.get(holder.getSkill().getId()).getLevel() < holder.getSkill().getLevel())
|
||||
{
|
||||
removedSkills.put(holder.getSkill().getId(), holder.getSkill());
|
||||
}
|
||||
}
|
||||
else
|
||||
{
|
||||
removedSkills.put(holder.getSkill().getId(), holder.getSkill());
|
||||
}
|
||||
continue;
|
||||
}
|
||||
|
||||
final Skill skill = holder.getSkill();
|
||||
if (skill != null)
|
||||
{
|
||||
removedSkills.putIfAbsent(skill.getId(), skill);
|
||||
update = true;
|
||||
}
|
||||
}
|
||||
@ -383,17 +378,7 @@ public abstract class Inventory extends ItemContainer
|
||||
final Skill skill = holder.getSkill();
|
||||
if (skill != null)
|
||||
{
|
||||
if (removedSkills.containsKey(holder.getSkill().getId()))
|
||||
{
|
||||
if (removedSkills.get(holder.getSkill().getId()).getLevel() < holder.getSkill().getLevel())
|
||||
{
|
||||
removedSkills.put(holder.getSkill().getId(), holder.getSkill());
|
||||
}
|
||||
}
|
||||
else
|
||||
{
|
||||
removedSkills.put(holder.getSkill().getId(), holder.getSkill());
|
||||
}
|
||||
removedSkills.putIfAbsent(skill.getId(), skill);
|
||||
update = true;
|
||||
}
|
||||
}
|
||||
@ -422,32 +407,35 @@ public abstract class Inventory extends ItemContainer
|
||||
}
|
||||
|
||||
final Skill skill = holder.getSkill();
|
||||
if (skill != null)
|
||||
if (skill == null)
|
||||
{
|
||||
if (addedSkills.containsKey(holder.getSkill().getId()))
|
||||
{
|
||||
if (addedSkills.get(holder.getSkill().getId()).getLevel() < holder.getSkill().getLevel())
|
||||
{
|
||||
addedSkills.put(holder.getSkill().getId(), holder.getSkill());
|
||||
}
|
||||
}
|
||||
else
|
||||
{
|
||||
addedSkills.put(holder.getSkill().getId(), holder.getSkill());
|
||||
}
|
||||
|
||||
if (skill.isActive() && !player.hasSkillReuse(skill.getReuseHashCode()))
|
||||
{
|
||||
final int equipDelay = item.getEquipReuseDelay();
|
||||
if (equipDelay > 0)
|
||||
{
|
||||
player.addTimeStamp(skill, equipDelay);
|
||||
player.disableSkill(skill, equipDelay);
|
||||
}
|
||||
updateTimestamp = true;
|
||||
}
|
||||
update = true;
|
||||
continue;
|
||||
}
|
||||
|
||||
final Skill existingSkill = addedSkills.get(skill.getId());
|
||||
if (existingSkill != null)
|
||||
{
|
||||
if (existingSkill.getLevel() < skill.getLevel())
|
||||
{
|
||||
addedSkills.put(skill.getId(), skill);
|
||||
}
|
||||
}
|
||||
else
|
||||
{
|
||||
addedSkills.put(skill.getId(), skill);
|
||||
}
|
||||
|
||||
if (skill.isActive() && !player.hasSkillReuse(skill.getReuseHashCode()))
|
||||
{
|
||||
final int equipDelay = item.getEquipReuseDelay();
|
||||
if (equipDelay > 0)
|
||||
{
|
||||
player.addTimeStamp(skill, equipDelay);
|
||||
player.disableSkill(skill, equipDelay);
|
||||
}
|
||||
updateTimestamp = true;
|
||||
}
|
||||
update = true;
|
||||
}
|
||||
}
|
||||
}
|
||||
@ -469,26 +457,22 @@ public abstract class Inventory extends ItemContainer
|
||||
|
||||
for (ItemSkillHolder holder : otherEnchantSkills)
|
||||
{
|
||||
// Add skills bestowed from +4 armor
|
||||
if (equipped.getEnchantLevel() >= holder.getValue())
|
||||
if (equipped.getEnchantLevel() < holder.getValue())
|
||||
{
|
||||
final Skill skill = holder.getSkill();
|
||||
// Check passive skill conditions.
|
||||
if (skill.isPassive() && !skill.checkConditions(SkillConditionScope.PASSIVE, player, player))
|
||||
{
|
||||
if (removedSkills.containsKey(holder.getSkill().getId()))
|
||||
{
|
||||
if (removedSkills.get(holder.getSkill().getId()).getLevel() < holder.getSkill().getLevel())
|
||||
{
|
||||
removedSkills.put(holder.getSkill().getId(), holder.getSkill());
|
||||
}
|
||||
}
|
||||
else
|
||||
{
|
||||
removedSkills.put(holder.getSkill().getId(), holder.getSkill());
|
||||
}
|
||||
update = true;
|
||||
}
|
||||
continue;
|
||||
}
|
||||
|
||||
final Skill skill = holder.getSkill();
|
||||
if (skill == null)
|
||||
{
|
||||
continue;
|
||||
}
|
||||
|
||||
// Check passive skill conditions.
|
||||
if (skill.isPassive() && !skill.checkConditions(SkillConditionScope.PASSIVE, player, player))
|
||||
{
|
||||
removedSkills.putIfAbsent(skill.getId(), skill);
|
||||
update = true;
|
||||
}
|
||||
}
|
||||
}
|
||||
@ -581,28 +565,35 @@ public abstract class Inventory extends ItemContainer
|
||||
continue;
|
||||
}
|
||||
|
||||
// Add skills bestowed from +4 armor
|
||||
if (item.getEnchantLevel() >= holder.getValue())
|
||||
if (item.getEnchantLevel() < holder.getValue())
|
||||
{
|
||||
final Skill skill = holder.getSkill();
|
||||
// Check passive skill conditions.
|
||||
if (skill.isPassive() && !skill.checkConditions(SkillConditionScope.PASSIVE, player, player))
|
||||
continue;
|
||||
}
|
||||
|
||||
final Skill skill = holder.getSkill();
|
||||
if (skill == null)
|
||||
{
|
||||
continue;
|
||||
}
|
||||
|
||||
// Check passive skill conditions.
|
||||
if (skill.isPassive() && !skill.checkConditions(SkillConditionScope.PASSIVE, player, player))
|
||||
{
|
||||
continue;
|
||||
}
|
||||
|
||||
final Skill existingSkill = addedSkills.get(skill.getId());
|
||||
if (existingSkill != null)
|
||||
{
|
||||
if (existingSkill.getLevel() < skill.getLevel())
|
||||
{
|
||||
continue;
|
||||
}
|
||||
|
||||
if (addedSkills.containsKey(holder.getSkill().getId()))
|
||||
{
|
||||
if (addedSkills.get(holder.getSkill().getId()).getLevel() < holder.getSkill().getLevel())
|
||||
{
|
||||
addedSkills.put(holder.getSkill().getId(), holder.getSkill());
|
||||
}
|
||||
}
|
||||
else
|
||||
{
|
||||
addedSkills.put(holder.getSkill().getId(), holder.getSkill());
|
||||
addedSkills.put(skill.getId(), skill);
|
||||
}
|
||||
}
|
||||
else
|
||||
{
|
||||
addedSkills.put(skill.getId(), skill);
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
@ -617,35 +608,39 @@ public abstract class Inventory extends ItemContainer
|
||||
}
|
||||
|
||||
final Skill skill = holder.getSkill();
|
||||
if (skill != null)
|
||||
if (skill == null)
|
||||
{
|
||||
if (skill.isPassive() && !skill.checkConditions(SkillConditionScope.PASSIVE, player, player))
|
||||
continue;
|
||||
}
|
||||
|
||||
// Check passive skill conditions.
|
||||
if (skill.isPassive() && !skill.checkConditions(SkillConditionScope.PASSIVE, player, player))
|
||||
{
|
||||
continue;
|
||||
}
|
||||
|
||||
final Skill existingSkill = addedSkills.get(skill.getId());
|
||||
if (existingSkill != null)
|
||||
{
|
||||
if (existingSkill.getLevel() < skill.getLevel())
|
||||
{
|
||||
continue;
|
||||
addedSkills.put(skill.getId(), skill);
|
||||
}
|
||||
|
||||
if (addedSkills.containsKey(holder.getSkill().getId()))
|
||||
}
|
||||
else
|
||||
{
|
||||
addedSkills.put(skill.getId(), skill);
|
||||
}
|
||||
|
||||
if (skill.isActive() && !player.hasSkillReuse(skill.getReuseHashCode()))
|
||||
{
|
||||
final int equipDelay = item.getEquipReuseDelay();
|
||||
if (equipDelay > 0)
|
||||
{
|
||||
if (addedSkills.get(holder.getSkill().getId()).getLevel() < holder.getSkill().getLevel())
|
||||
{
|
||||
addedSkills.put(holder.getSkill().getId(), holder.getSkill());
|
||||
}
|
||||
}
|
||||
else
|
||||
{
|
||||
addedSkills.put(holder.getSkill().getId(), holder.getSkill());
|
||||
}
|
||||
|
||||
if (skill.isActive() && !player.hasSkillReuse(skill.getReuseHashCode()))
|
||||
{
|
||||
final int equipDelay = item.getEquipReuseDelay();
|
||||
if (equipDelay > 0)
|
||||
{
|
||||
player.addTimeStamp(skill, equipDelay);
|
||||
player.disableSkill(skill, equipDelay);
|
||||
}
|
||||
updateTimestamp = true;
|
||||
player.addTimeStamp(skill, equipDelay);
|
||||
player.disableSkill(skill, equipDelay);
|
||||
}
|
||||
updateTimestamp = true;
|
||||
}
|
||||
}
|
||||
}
|
||||
@ -672,28 +667,35 @@ public abstract class Inventory extends ItemContainer
|
||||
continue;
|
||||
}
|
||||
|
||||
// Add skills bestowed from +4 armor
|
||||
if (equipped.getEnchantLevel() >= holder.getValue())
|
||||
if (equipped.getEnchantLevel() < holder.getValue())
|
||||
{
|
||||
final Skill skill = holder.getSkill();
|
||||
// Check passive skill conditions.
|
||||
if (skill.isPassive() && !skill.checkConditions(SkillConditionScope.PASSIVE, player, player))
|
||||
continue;
|
||||
}
|
||||
|
||||
final Skill skill = holder.getSkill();
|
||||
if (skill == null)
|
||||
{
|
||||
continue;
|
||||
}
|
||||
|
||||
// Check passive skill conditions.
|
||||
if (skill.isPassive() && !skill.checkConditions(SkillConditionScope.PASSIVE, player, player))
|
||||
{
|
||||
continue;
|
||||
}
|
||||
|
||||
final Skill existingSkill = addedSkills.get(skill.getId());
|
||||
if (existingSkill != null)
|
||||
{
|
||||
if (existingSkill.getLevel() < skill.getLevel())
|
||||
{
|
||||
continue;
|
||||
}
|
||||
|
||||
if (addedSkills.containsKey(holder.getSkill().getId()))
|
||||
{
|
||||
if (addedSkills.get(holder.getSkill().getId()).getLevel() < holder.getSkill().getLevel())
|
||||
{
|
||||
addedSkills.put(holder.getSkill().getId(), holder.getSkill());
|
||||
}
|
||||
}
|
||||
else
|
||||
{
|
||||
addedSkills.put(holder.getSkill().getId(), holder.getSkill());
|
||||
addedSkills.put(skill.getId(), skill);
|
||||
}
|
||||
}
|
||||
else
|
||||
{
|
||||
addedSkills.put(skill.getId(), skill);
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
|
@ -356,20 +356,15 @@ public abstract class Inventory extends ItemContainer
|
||||
{
|
||||
for (ItemSkillHolder holder : onEnchantSkills)
|
||||
{
|
||||
// Remove skills bestowed from +4 armor
|
||||
if (item.getEnchantLevel() >= holder.getValue())
|
||||
if (item.getEnchantLevel() < holder.getValue())
|
||||
{
|
||||
if (removedSkills.containsKey(holder.getSkill().getId()))
|
||||
{
|
||||
if (removedSkills.get(holder.getSkill().getId()).getLevel() < holder.getSkill().getLevel())
|
||||
{
|
||||
removedSkills.put(holder.getSkill().getId(), holder.getSkill());
|
||||
}
|
||||
}
|
||||
else
|
||||
{
|
||||
removedSkills.put(holder.getSkill().getId(), holder.getSkill());
|
||||
}
|
||||
continue;
|
||||
}
|
||||
|
||||
final Skill skill = holder.getSkill();
|
||||
if (skill != null)
|
||||
{
|
||||
removedSkills.putIfAbsent(skill.getId(), skill);
|
||||
update = true;
|
||||
}
|
||||
}
|
||||
@ -383,17 +378,7 @@ public abstract class Inventory extends ItemContainer
|
||||
final Skill skill = holder.getSkill();
|
||||
if (skill != null)
|
||||
{
|
||||
if (removedSkills.containsKey(holder.getSkill().getId()))
|
||||
{
|
||||
if (removedSkills.get(holder.getSkill().getId()).getLevel() < holder.getSkill().getLevel())
|
||||
{
|
||||
removedSkills.put(holder.getSkill().getId(), holder.getSkill());
|
||||
}
|
||||
}
|
||||
else
|
||||
{
|
||||
removedSkills.put(holder.getSkill().getId(), holder.getSkill());
|
||||
}
|
||||
removedSkills.putIfAbsent(skill.getId(), skill);
|
||||
update = true;
|
||||
}
|
||||
}
|
||||
@ -422,32 +407,35 @@ public abstract class Inventory extends ItemContainer
|
||||
}
|
||||
|
||||
final Skill skill = holder.getSkill();
|
||||
if (skill != null)
|
||||
if (skill == null)
|
||||
{
|
||||
if (addedSkills.containsKey(holder.getSkill().getId()))
|
||||
{
|
||||
if (addedSkills.get(holder.getSkill().getId()).getLevel() < holder.getSkill().getLevel())
|
||||
{
|
||||
addedSkills.put(holder.getSkill().getId(), holder.getSkill());
|
||||
}
|
||||
}
|
||||
else
|
||||
{
|
||||
addedSkills.put(holder.getSkill().getId(), holder.getSkill());
|
||||
}
|
||||
|
||||
if (skill.isActive() && !player.hasSkillReuse(skill.getReuseHashCode()))
|
||||
{
|
||||
final int equipDelay = item.getEquipReuseDelay();
|
||||
if (equipDelay > 0)
|
||||
{
|
||||
player.addTimeStamp(skill, equipDelay);
|
||||
player.disableSkill(skill, equipDelay);
|
||||
}
|
||||
updateTimestamp = true;
|
||||
}
|
||||
update = true;
|
||||
continue;
|
||||
}
|
||||
|
||||
final Skill existingSkill = addedSkills.get(skill.getId());
|
||||
if (existingSkill != null)
|
||||
{
|
||||
if (existingSkill.getLevel() < skill.getLevel())
|
||||
{
|
||||
addedSkills.put(skill.getId(), skill);
|
||||
}
|
||||
}
|
||||
else
|
||||
{
|
||||
addedSkills.put(skill.getId(), skill);
|
||||
}
|
||||
|
||||
if (skill.isActive() && !player.hasSkillReuse(skill.getReuseHashCode()))
|
||||
{
|
||||
final int equipDelay = item.getEquipReuseDelay();
|
||||
if (equipDelay > 0)
|
||||
{
|
||||
player.addTimeStamp(skill, equipDelay);
|
||||
player.disableSkill(skill, equipDelay);
|
||||
}
|
||||
updateTimestamp = true;
|
||||
}
|
||||
update = true;
|
||||
}
|
||||
}
|
||||
}
|
||||
@ -469,26 +457,22 @@ public abstract class Inventory extends ItemContainer
|
||||
|
||||
for (ItemSkillHolder holder : otherEnchantSkills)
|
||||
{
|
||||
// Add skills bestowed from +4 armor
|
||||
if (equipped.getEnchantLevel() >= holder.getValue())
|
||||
if (equipped.getEnchantLevel() < holder.getValue())
|
||||
{
|
||||
final Skill skill = holder.getSkill();
|
||||
// Check passive skill conditions.
|
||||
if (skill.isPassive() && !skill.checkConditions(SkillConditionScope.PASSIVE, player, player))
|
||||
{
|
||||
if (removedSkills.containsKey(holder.getSkill().getId()))
|
||||
{
|
||||
if (removedSkills.get(holder.getSkill().getId()).getLevel() < holder.getSkill().getLevel())
|
||||
{
|
||||
removedSkills.put(holder.getSkill().getId(), holder.getSkill());
|
||||
}
|
||||
}
|
||||
else
|
||||
{
|
||||
removedSkills.put(holder.getSkill().getId(), holder.getSkill());
|
||||
}
|
||||
update = true;
|
||||
}
|
||||
continue;
|
||||
}
|
||||
|
||||
final Skill skill = holder.getSkill();
|
||||
if (skill == null)
|
||||
{
|
||||
continue;
|
||||
}
|
||||
|
||||
// Check passive skill conditions.
|
||||
if (skill.isPassive() && !skill.checkConditions(SkillConditionScope.PASSIVE, player, player))
|
||||
{
|
||||
removedSkills.putIfAbsent(skill.getId(), skill);
|
||||
update = true;
|
||||
}
|
||||
}
|
||||
}
|
||||
@ -581,28 +565,35 @@ public abstract class Inventory extends ItemContainer
|
||||
continue;
|
||||
}
|
||||
|
||||
// Add skills bestowed from +4 armor
|
||||
if (item.getEnchantLevel() >= holder.getValue())
|
||||
if (item.getEnchantLevel() < holder.getValue())
|
||||
{
|
||||
final Skill skill = holder.getSkill();
|
||||
// Check passive skill conditions.
|
||||
if (skill.isPassive() && !skill.checkConditions(SkillConditionScope.PASSIVE, player, player))
|
||||
continue;
|
||||
}
|
||||
|
||||
final Skill skill = holder.getSkill();
|
||||
if (skill == null)
|
||||
{
|
||||
continue;
|
||||
}
|
||||
|
||||
// Check passive skill conditions.
|
||||
if (skill.isPassive() && !skill.checkConditions(SkillConditionScope.PASSIVE, player, player))
|
||||
{
|
||||
continue;
|
||||
}
|
||||
|
||||
final Skill existingSkill = addedSkills.get(skill.getId());
|
||||
if (existingSkill != null)
|
||||
{
|
||||
if (existingSkill.getLevel() < skill.getLevel())
|
||||
{
|
||||
continue;
|
||||
}
|
||||
|
||||
if (addedSkills.containsKey(holder.getSkill().getId()))
|
||||
{
|
||||
if (addedSkills.get(holder.getSkill().getId()).getLevel() < holder.getSkill().getLevel())
|
||||
{
|
||||
addedSkills.put(holder.getSkill().getId(), holder.getSkill());
|
||||
}
|
||||
}
|
||||
else
|
||||
{
|
||||
addedSkills.put(holder.getSkill().getId(), holder.getSkill());
|
||||
addedSkills.put(skill.getId(), skill);
|
||||
}
|
||||
}
|
||||
else
|
||||
{
|
||||
addedSkills.put(skill.getId(), skill);
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
@ -617,35 +608,39 @@ public abstract class Inventory extends ItemContainer
|
||||
}
|
||||
|
||||
final Skill skill = holder.getSkill();
|
||||
if (skill != null)
|
||||
if (skill == null)
|
||||
{
|
||||
if (skill.isPassive() && !skill.checkConditions(SkillConditionScope.PASSIVE, player, player))
|
||||
continue;
|
||||
}
|
||||
|
||||
// Check passive skill conditions.
|
||||
if (skill.isPassive() && !skill.checkConditions(SkillConditionScope.PASSIVE, player, player))
|
||||
{
|
||||
continue;
|
||||
}
|
||||
|
||||
final Skill existingSkill = addedSkills.get(skill.getId());
|
||||
if (existingSkill != null)
|
||||
{
|
||||
if (existingSkill.getLevel() < skill.getLevel())
|
||||
{
|
||||
continue;
|
||||
addedSkills.put(skill.getId(), skill);
|
||||
}
|
||||
|
||||
if (addedSkills.containsKey(holder.getSkill().getId()))
|
||||
}
|
||||
else
|
||||
{
|
||||
addedSkills.put(skill.getId(), skill);
|
||||
}
|
||||
|
||||
if (skill.isActive() && !player.hasSkillReuse(skill.getReuseHashCode()))
|
||||
{
|
||||
final int equipDelay = item.getEquipReuseDelay();
|
||||
if (equipDelay > 0)
|
||||
{
|
||||
if (addedSkills.get(holder.getSkill().getId()).getLevel() < holder.getSkill().getLevel())
|
||||
{
|
||||
addedSkills.put(holder.getSkill().getId(), holder.getSkill());
|
||||
}
|
||||
}
|
||||
else
|
||||
{
|
||||
addedSkills.put(holder.getSkill().getId(), holder.getSkill());
|
||||
}
|
||||
|
||||
if (skill.isActive() && !player.hasSkillReuse(skill.getReuseHashCode()))
|
||||
{
|
||||
final int equipDelay = item.getEquipReuseDelay();
|
||||
if (equipDelay > 0)
|
||||
{
|
||||
player.addTimeStamp(skill, equipDelay);
|
||||
player.disableSkill(skill, equipDelay);
|
||||
}
|
||||
updateTimestamp = true;
|
||||
player.addTimeStamp(skill, equipDelay);
|
||||
player.disableSkill(skill, equipDelay);
|
||||
}
|
||||
updateTimestamp = true;
|
||||
}
|
||||
}
|
||||
}
|
||||
@ -672,28 +667,35 @@ public abstract class Inventory extends ItemContainer
|
||||
continue;
|
||||
}
|
||||
|
||||
// Add skills bestowed from +4 armor
|
||||
if (equipped.getEnchantLevel() >= holder.getValue())
|
||||
if (equipped.getEnchantLevel() < holder.getValue())
|
||||
{
|
||||
final Skill skill = holder.getSkill();
|
||||
// Check passive skill conditions.
|
||||
if (skill.isPassive() && !skill.checkConditions(SkillConditionScope.PASSIVE, player, player))
|
||||
continue;
|
||||
}
|
||||
|
||||
final Skill skill = holder.getSkill();
|
||||
if (skill == null)
|
||||
{
|
||||
continue;
|
||||
}
|
||||
|
||||
// Check passive skill conditions.
|
||||
if (skill.isPassive() && !skill.checkConditions(SkillConditionScope.PASSIVE, player, player))
|
||||
{
|
||||
continue;
|
||||
}
|
||||
|
||||
final Skill existingSkill = addedSkills.get(skill.getId());
|
||||
if (existingSkill != null)
|
||||
{
|
||||
if (existingSkill.getLevel() < skill.getLevel())
|
||||
{
|
||||
continue;
|
||||
}
|
||||
|
||||
if (addedSkills.containsKey(holder.getSkill().getId()))
|
||||
{
|
||||
if (addedSkills.get(holder.getSkill().getId()).getLevel() < holder.getSkill().getLevel())
|
||||
{
|
||||
addedSkills.put(holder.getSkill().getId(), holder.getSkill());
|
||||
}
|
||||
}
|
||||
else
|
||||
{
|
||||
addedSkills.put(holder.getSkill().getId(), holder.getSkill());
|
||||
addedSkills.put(skill.getId(), skill);
|
||||
}
|
||||
}
|
||||
else
|
||||
{
|
||||
addedSkills.put(skill.getId(), skill);
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
|
@ -356,20 +356,15 @@ public abstract class Inventory extends ItemContainer
|
||||
{
|
||||
for (ItemSkillHolder holder : onEnchantSkills)
|
||||
{
|
||||
// Remove skills bestowed from +4 armor
|
||||
if (item.getEnchantLevel() >= holder.getValue())
|
||||
if (item.getEnchantLevel() < holder.getValue())
|
||||
{
|
||||
if (removedSkills.containsKey(holder.getSkill().getId()))
|
||||
{
|
||||
if (removedSkills.get(holder.getSkill().getId()).getLevel() < holder.getSkill().getLevel())
|
||||
{
|
||||
removedSkills.put(holder.getSkill().getId(), holder.getSkill());
|
||||
}
|
||||
}
|
||||
else
|
||||
{
|
||||
removedSkills.put(holder.getSkill().getId(), holder.getSkill());
|
||||
}
|
||||
continue;
|
||||
}
|
||||
|
||||
final Skill skill = holder.getSkill();
|
||||
if (skill != null)
|
||||
{
|
||||
removedSkills.putIfAbsent(skill.getId(), skill);
|
||||
update = true;
|
||||
}
|
||||
}
|
||||
@ -383,17 +378,7 @@ public abstract class Inventory extends ItemContainer
|
||||
final Skill skill = holder.getSkill();
|
||||
if (skill != null)
|
||||
{
|
||||
if (removedSkills.containsKey(holder.getSkill().getId()))
|
||||
{
|
||||
if (removedSkills.get(holder.getSkill().getId()).getLevel() < holder.getSkill().getLevel())
|
||||
{
|
||||
removedSkills.put(holder.getSkill().getId(), holder.getSkill());
|
||||
}
|
||||
}
|
||||
else
|
||||
{
|
||||
removedSkills.put(holder.getSkill().getId(), holder.getSkill());
|
||||
}
|
||||
removedSkills.putIfAbsent(skill.getId(), skill);
|
||||
update = true;
|
||||
}
|
||||
}
|
||||
@ -422,32 +407,35 @@ public abstract class Inventory extends ItemContainer
|
||||
}
|
||||
|
||||
final Skill skill = holder.getSkill();
|
||||
if (skill != null)
|
||||
if (skill == null)
|
||||
{
|
||||
if (addedSkills.containsKey(holder.getSkill().getId()))
|
||||
{
|
||||
if (addedSkills.get(holder.getSkill().getId()).getLevel() < holder.getSkill().getLevel())
|
||||
{
|
||||
addedSkills.put(holder.getSkill().getId(), holder.getSkill());
|
||||
}
|
||||
}
|
||||
else
|
||||
{
|
||||
addedSkills.put(holder.getSkill().getId(), holder.getSkill());
|
||||
}
|
||||
|
||||
if (skill.isActive() && !player.hasSkillReuse(skill.getReuseHashCode()))
|
||||
{
|
||||
final int equipDelay = item.getEquipReuseDelay();
|
||||
if (equipDelay > 0)
|
||||
{
|
||||
player.addTimeStamp(skill, equipDelay);
|
||||
player.disableSkill(skill, equipDelay);
|
||||
}
|
||||
updateTimestamp = true;
|
||||
}
|
||||
update = true;
|
||||
continue;
|
||||
}
|
||||
|
||||
final Skill existingSkill = addedSkills.get(skill.getId());
|
||||
if (existingSkill != null)
|
||||
{
|
||||
if (existingSkill.getLevel() < skill.getLevel())
|
||||
{
|
||||
addedSkills.put(skill.getId(), skill);
|
||||
}
|
||||
}
|
||||
else
|
||||
{
|
||||
addedSkills.put(skill.getId(), skill);
|
||||
}
|
||||
|
||||
if (skill.isActive() && !player.hasSkillReuse(skill.getReuseHashCode()))
|
||||
{
|
||||
final int equipDelay = item.getEquipReuseDelay();
|
||||
if (equipDelay > 0)
|
||||
{
|
||||
player.addTimeStamp(skill, equipDelay);
|
||||
player.disableSkill(skill, equipDelay);
|
||||
}
|
||||
updateTimestamp = true;
|
||||
}
|
||||
update = true;
|
||||
}
|
||||
}
|
||||
}
|
||||
@ -469,26 +457,22 @@ public abstract class Inventory extends ItemContainer
|
||||
|
||||
for (ItemSkillHolder holder : otherEnchantSkills)
|
||||
{
|
||||
// Add skills bestowed from +4 armor
|
||||
if (equipped.getEnchantLevel() >= holder.getValue())
|
||||
if (equipped.getEnchantLevel() < holder.getValue())
|
||||
{
|
||||
final Skill skill = holder.getSkill();
|
||||
// Check passive skill conditions.
|
||||
if (skill.isPassive() && !skill.checkConditions(SkillConditionScope.PASSIVE, player, player))
|
||||
{
|
||||
if (removedSkills.containsKey(holder.getSkill().getId()))
|
||||
{
|
||||
if (removedSkills.get(holder.getSkill().getId()).getLevel() < holder.getSkill().getLevel())
|
||||
{
|
||||
removedSkills.put(holder.getSkill().getId(), holder.getSkill());
|
||||
}
|
||||
}
|
||||
else
|
||||
{
|
||||
removedSkills.put(holder.getSkill().getId(), holder.getSkill());
|
||||
}
|
||||
update = true;
|
||||
}
|
||||
continue;
|
||||
}
|
||||
|
||||
final Skill skill = holder.getSkill();
|
||||
if (skill == null)
|
||||
{
|
||||
continue;
|
||||
}
|
||||
|
||||
// Check passive skill conditions.
|
||||
if (skill.isPassive() && !skill.checkConditions(SkillConditionScope.PASSIVE, player, player))
|
||||
{
|
||||
removedSkills.putIfAbsent(skill.getId(), skill);
|
||||
update = true;
|
||||
}
|
||||
}
|
||||
}
|
||||
@ -575,28 +559,35 @@ public abstract class Inventory extends ItemContainer
|
||||
continue;
|
||||
}
|
||||
|
||||
// Add skills bestowed from +4 armor
|
||||
if (item.getEnchantLevel() >= holder.getValue())
|
||||
if (item.getEnchantLevel() < holder.getValue())
|
||||
{
|
||||
final Skill skill = holder.getSkill();
|
||||
// Check passive skill conditions.
|
||||
if (skill.isPassive() && !skill.checkConditions(SkillConditionScope.PASSIVE, player, player))
|
||||
continue;
|
||||
}
|
||||
|
||||
final Skill skill = holder.getSkill();
|
||||
if (skill == null)
|
||||
{
|
||||
continue;
|
||||
}
|
||||
|
||||
// Check passive skill conditions.
|
||||
if (skill.isPassive() && !skill.checkConditions(SkillConditionScope.PASSIVE, player, player))
|
||||
{
|
||||
continue;
|
||||
}
|
||||
|
||||
final Skill existingSkill = addedSkills.get(skill.getId());
|
||||
if (existingSkill != null)
|
||||
{
|
||||
if (existingSkill.getLevel() < skill.getLevel())
|
||||
{
|
||||
continue;
|
||||
}
|
||||
|
||||
if (addedSkills.containsKey(holder.getSkill().getId()))
|
||||
{
|
||||
if (addedSkills.get(holder.getSkill().getId()).getLevel() < holder.getSkill().getLevel())
|
||||
{
|
||||
addedSkills.put(holder.getSkill().getId(), holder.getSkill());
|
||||
}
|
||||
}
|
||||
else
|
||||
{
|
||||
addedSkills.put(holder.getSkill().getId(), holder.getSkill());
|
||||
addedSkills.put(skill.getId(), skill);
|
||||
}
|
||||
}
|
||||
else
|
||||
{
|
||||
addedSkills.put(skill.getId(), skill);
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
@ -611,35 +602,39 @@ public abstract class Inventory extends ItemContainer
|
||||
}
|
||||
|
||||
final Skill skill = holder.getSkill();
|
||||
if (skill != null)
|
||||
if (skill == null)
|
||||
{
|
||||
if (skill.isPassive() && !skill.checkConditions(SkillConditionScope.PASSIVE, player, player))
|
||||
continue;
|
||||
}
|
||||
|
||||
// Check passive skill conditions.
|
||||
if (skill.isPassive() && !skill.checkConditions(SkillConditionScope.PASSIVE, player, player))
|
||||
{
|
||||
continue;
|
||||
}
|
||||
|
||||
final Skill existingSkill = addedSkills.get(skill.getId());
|
||||
if (existingSkill != null)
|
||||
{
|
||||
if (existingSkill.getLevel() < skill.getLevel())
|
||||
{
|
||||
continue;
|
||||
addedSkills.put(skill.getId(), skill);
|
||||
}
|
||||
|
||||
if (addedSkills.containsKey(holder.getSkill().getId()))
|
||||
}
|
||||
else
|
||||
{
|
||||
addedSkills.put(skill.getId(), skill);
|
||||
}
|
||||
|
||||
if (skill.isActive() && !player.hasSkillReuse(skill.getReuseHashCode()))
|
||||
{
|
||||
final int equipDelay = item.getEquipReuseDelay();
|
||||
if (equipDelay > 0)
|
||||
{
|
||||
if (addedSkills.get(holder.getSkill().getId()).getLevel() < holder.getSkill().getLevel())
|
||||
{
|
||||
addedSkills.put(holder.getSkill().getId(), holder.getSkill());
|
||||
}
|
||||
}
|
||||
else
|
||||
{
|
||||
addedSkills.put(holder.getSkill().getId(), holder.getSkill());
|
||||
}
|
||||
|
||||
if (skill.isActive() && !player.hasSkillReuse(skill.getReuseHashCode()))
|
||||
{
|
||||
final int equipDelay = item.getEquipReuseDelay();
|
||||
if (equipDelay > 0)
|
||||
{
|
||||
player.addTimeStamp(skill, equipDelay);
|
||||
player.disableSkill(skill, equipDelay);
|
||||
}
|
||||
updateTimestamp = true;
|
||||
player.addTimeStamp(skill, equipDelay);
|
||||
player.disableSkill(skill, equipDelay);
|
||||
}
|
||||
updateTimestamp = true;
|
||||
}
|
||||
}
|
||||
}
|
||||
@ -666,28 +661,35 @@ public abstract class Inventory extends ItemContainer
|
||||
continue;
|
||||
}
|
||||
|
||||
// Add skills bestowed from +4 armor
|
||||
if (equipped.getEnchantLevel() >= holder.getValue())
|
||||
if (equipped.getEnchantLevel() < holder.getValue())
|
||||
{
|
||||
final Skill skill = holder.getSkill();
|
||||
// Check passive skill conditions.
|
||||
if (skill.isPassive() && !skill.checkConditions(SkillConditionScope.PASSIVE, player, player))
|
||||
continue;
|
||||
}
|
||||
|
||||
final Skill skill = holder.getSkill();
|
||||
if (skill == null)
|
||||
{
|
||||
continue;
|
||||
}
|
||||
|
||||
// Check passive skill conditions.
|
||||
if (skill.isPassive() && !skill.checkConditions(SkillConditionScope.PASSIVE, player, player))
|
||||
{
|
||||
continue;
|
||||
}
|
||||
|
||||
final Skill existingSkill = addedSkills.get(skill.getId());
|
||||
if (existingSkill != null)
|
||||
{
|
||||
if (existingSkill.getLevel() < skill.getLevel())
|
||||
{
|
||||
continue;
|
||||
}
|
||||
|
||||
if (addedSkills.containsKey(holder.getSkill().getId()))
|
||||
{
|
||||
if (addedSkills.get(holder.getSkill().getId()).getLevel() < holder.getSkill().getLevel())
|
||||
{
|
||||
addedSkills.put(holder.getSkill().getId(), holder.getSkill());
|
||||
}
|
||||
}
|
||||
else
|
||||
{
|
||||
addedSkills.put(holder.getSkill().getId(), holder.getSkill());
|
||||
addedSkills.put(skill.getId(), skill);
|
||||
}
|
||||
}
|
||||
else
|
||||
{
|
||||
addedSkills.put(skill.getId(), skill);
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
|
@ -322,20 +322,15 @@ public abstract class Inventory extends ItemContainer
|
||||
{
|
||||
for (ItemSkillHolder holder : onEnchantSkills)
|
||||
{
|
||||
// Remove skills bestowed from +4 armor
|
||||
if (item.getEnchantLevel() >= holder.getValue())
|
||||
if (item.getEnchantLevel() < holder.getValue())
|
||||
{
|
||||
if (removedSkills.containsKey(holder.getSkill().getId()))
|
||||
{
|
||||
if (removedSkills.get(holder.getSkill().getId()).getLevel() < holder.getSkill().getLevel())
|
||||
{
|
||||
removedSkills.put(holder.getSkill().getId(), holder.getSkill());
|
||||
}
|
||||
}
|
||||
else
|
||||
{
|
||||
removedSkills.put(holder.getSkill().getId(), holder.getSkill());
|
||||
}
|
||||
continue;
|
||||
}
|
||||
|
||||
final Skill skill = holder.getSkill();
|
||||
if (skill != null)
|
||||
{
|
||||
removedSkills.putIfAbsent(skill.getId(), skill);
|
||||
update = true;
|
||||
}
|
||||
}
|
||||
@ -349,17 +344,7 @@ public abstract class Inventory extends ItemContainer
|
||||
final Skill skill = holder.getSkill();
|
||||
if (skill != null)
|
||||
{
|
||||
if (removedSkills.containsKey(holder.getSkill().getId()))
|
||||
{
|
||||
if (removedSkills.get(holder.getSkill().getId()).getLevel() < holder.getSkill().getLevel())
|
||||
{
|
||||
removedSkills.put(holder.getSkill().getId(), holder.getSkill());
|
||||
}
|
||||
}
|
||||
else
|
||||
{
|
||||
removedSkills.put(holder.getSkill().getId(), holder.getSkill());
|
||||
}
|
||||
removedSkills.putIfAbsent(skill.getId(), skill);
|
||||
update = true;
|
||||
}
|
||||
}
|
||||
@ -388,32 +373,35 @@ public abstract class Inventory extends ItemContainer
|
||||
}
|
||||
|
||||
final Skill skill = holder.getSkill();
|
||||
if (skill != null)
|
||||
if (skill == null)
|
||||
{
|
||||
if (addedSkills.containsKey(holder.getSkill().getId()))
|
||||
{
|
||||
if (addedSkills.get(holder.getSkill().getId()).getLevel() < holder.getSkill().getLevel())
|
||||
{
|
||||
addedSkills.put(holder.getSkill().getId(), holder.getSkill());
|
||||
}
|
||||
}
|
||||
else
|
||||
{
|
||||
addedSkills.put(holder.getSkill().getId(), holder.getSkill());
|
||||
}
|
||||
|
||||
if (skill.isActive() && !player.hasSkillReuse(skill.getReuseHashCode()))
|
||||
{
|
||||
final int equipDelay = item.getEquipReuseDelay();
|
||||
if (equipDelay > 0)
|
||||
{
|
||||
player.addTimeStamp(skill, equipDelay);
|
||||
player.disableSkill(skill, equipDelay);
|
||||
}
|
||||
updateTimestamp = true;
|
||||
}
|
||||
update = true;
|
||||
continue;
|
||||
}
|
||||
|
||||
final Skill existingSkill = addedSkills.get(skill.getId());
|
||||
if (existingSkill != null)
|
||||
{
|
||||
if (existingSkill.getLevel() < skill.getLevel())
|
||||
{
|
||||
addedSkills.put(skill.getId(), skill);
|
||||
}
|
||||
}
|
||||
else
|
||||
{
|
||||
addedSkills.put(skill.getId(), skill);
|
||||
}
|
||||
|
||||
if (skill.isActive() && !player.hasSkillReuse(skill.getReuseHashCode()))
|
||||
{
|
||||
final int equipDelay = item.getEquipReuseDelay();
|
||||
if (equipDelay > 0)
|
||||
{
|
||||
player.addTimeStamp(skill, equipDelay);
|
||||
player.disableSkill(skill, equipDelay);
|
||||
}
|
||||
updateTimestamp = true;
|
||||
}
|
||||
update = true;
|
||||
}
|
||||
}
|
||||
}
|
||||
@ -435,26 +423,22 @@ public abstract class Inventory extends ItemContainer
|
||||
|
||||
for (ItemSkillHolder holder : otherEnchantSkills)
|
||||
{
|
||||
// Add skills bestowed from +4 armor
|
||||
if (equipped.getEnchantLevel() >= holder.getValue())
|
||||
if (equipped.getEnchantLevel() < holder.getValue())
|
||||
{
|
||||
final Skill skill = holder.getSkill();
|
||||
// Check passive skill conditions.
|
||||
if (skill.isPassive() && !skill.checkConditions(SkillConditionScope.PASSIVE, player, player))
|
||||
{
|
||||
if (removedSkills.containsKey(holder.getSkill().getId()))
|
||||
{
|
||||
if (removedSkills.get(holder.getSkill().getId()).getLevel() < holder.getSkill().getLevel())
|
||||
{
|
||||
removedSkills.put(holder.getSkill().getId(), holder.getSkill());
|
||||
}
|
||||
}
|
||||
else
|
||||
{
|
||||
removedSkills.put(holder.getSkill().getId(), holder.getSkill());
|
||||
}
|
||||
update = true;
|
||||
}
|
||||
continue;
|
||||
}
|
||||
|
||||
final Skill skill = holder.getSkill();
|
||||
if (skill == null)
|
||||
{
|
||||
continue;
|
||||
}
|
||||
|
||||
// Check passive skill conditions.
|
||||
if (skill.isPassive() && !skill.checkConditions(SkillConditionScope.PASSIVE, player, player))
|
||||
{
|
||||
removedSkills.putIfAbsent(skill.getId(), skill);
|
||||
update = true;
|
||||
}
|
||||
}
|
||||
}
|
||||
@ -541,28 +525,35 @@ public abstract class Inventory extends ItemContainer
|
||||
continue;
|
||||
}
|
||||
|
||||
// Add skills bestowed from +4 armor
|
||||
if (item.getEnchantLevel() >= holder.getValue())
|
||||
if (item.getEnchantLevel() < holder.getValue())
|
||||
{
|
||||
final Skill skill = holder.getSkill();
|
||||
// Check passive skill conditions.
|
||||
if (skill.isPassive() && !skill.checkConditions(SkillConditionScope.PASSIVE, player, player))
|
||||
continue;
|
||||
}
|
||||
|
||||
final Skill skill = holder.getSkill();
|
||||
if (skill == null)
|
||||
{
|
||||
continue;
|
||||
}
|
||||
|
||||
// Check passive skill conditions.
|
||||
if (skill.isPassive() && !skill.checkConditions(SkillConditionScope.PASSIVE, player, player))
|
||||
{
|
||||
continue;
|
||||
}
|
||||
|
||||
final Skill existingSkill = addedSkills.get(skill.getId());
|
||||
if (existingSkill != null)
|
||||
{
|
||||
if (existingSkill.getLevel() < skill.getLevel())
|
||||
{
|
||||
continue;
|
||||
}
|
||||
|
||||
if (addedSkills.containsKey(holder.getSkill().getId()))
|
||||
{
|
||||
if (addedSkills.get(holder.getSkill().getId()).getLevel() < holder.getSkill().getLevel())
|
||||
{
|
||||
addedSkills.put(holder.getSkill().getId(), holder.getSkill());
|
||||
}
|
||||
}
|
||||
else
|
||||
{
|
||||
addedSkills.put(holder.getSkill().getId(), holder.getSkill());
|
||||
addedSkills.put(skill.getId(), skill);
|
||||
}
|
||||
}
|
||||
else
|
||||
{
|
||||
addedSkills.put(skill.getId(), skill);
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
@ -577,35 +568,39 @@ public abstract class Inventory extends ItemContainer
|
||||
}
|
||||
|
||||
final Skill skill = holder.getSkill();
|
||||
if (skill != null)
|
||||
if (skill == null)
|
||||
{
|
||||
if (skill.isPassive() && !skill.checkConditions(SkillConditionScope.PASSIVE, player, player))
|
||||
continue;
|
||||
}
|
||||
|
||||
// Check passive skill conditions.
|
||||
if (skill.isPassive() && !skill.checkConditions(SkillConditionScope.PASSIVE, player, player))
|
||||
{
|
||||
continue;
|
||||
}
|
||||
|
||||
final Skill existingSkill = addedSkills.get(skill.getId());
|
||||
if (existingSkill != null)
|
||||
{
|
||||
if (existingSkill.getLevel() < skill.getLevel())
|
||||
{
|
||||
continue;
|
||||
addedSkills.put(skill.getId(), skill);
|
||||
}
|
||||
|
||||
if (addedSkills.containsKey(holder.getSkill().getId()))
|
||||
}
|
||||
else
|
||||
{
|
||||
addedSkills.put(skill.getId(), skill);
|
||||
}
|
||||
|
||||
if (skill.isActive() && !player.hasSkillReuse(skill.getReuseHashCode()))
|
||||
{
|
||||
final int equipDelay = item.getEquipReuseDelay();
|
||||
if (equipDelay > 0)
|
||||
{
|
||||
if (addedSkills.get(holder.getSkill().getId()).getLevel() < holder.getSkill().getLevel())
|
||||
{
|
||||
addedSkills.put(holder.getSkill().getId(), holder.getSkill());
|
||||
}
|
||||
}
|
||||
else
|
||||
{
|
||||
addedSkills.put(holder.getSkill().getId(), holder.getSkill());
|
||||
}
|
||||
|
||||
if (skill.isActive() && !player.hasSkillReuse(skill.getReuseHashCode()))
|
||||
{
|
||||
final int equipDelay = item.getEquipReuseDelay();
|
||||
if (equipDelay > 0)
|
||||
{
|
||||
player.addTimeStamp(skill, equipDelay);
|
||||
player.disableSkill(skill, equipDelay);
|
||||
}
|
||||
updateTimestamp = true;
|
||||
player.addTimeStamp(skill, equipDelay);
|
||||
player.disableSkill(skill, equipDelay);
|
||||
}
|
||||
updateTimestamp = true;
|
||||
}
|
||||
}
|
||||
}
|
||||
@ -632,28 +627,35 @@ public abstract class Inventory extends ItemContainer
|
||||
continue;
|
||||
}
|
||||
|
||||
// Add skills bestowed from +4 armor
|
||||
if (equipped.getEnchantLevel() >= holder.getValue())
|
||||
if (equipped.getEnchantLevel() < holder.getValue())
|
||||
{
|
||||
final Skill skill = holder.getSkill();
|
||||
// Check passive skill conditions.
|
||||
if (skill.isPassive() && !skill.checkConditions(SkillConditionScope.PASSIVE, player, player))
|
||||
continue;
|
||||
}
|
||||
|
||||
final Skill skill = holder.getSkill();
|
||||
if (skill == null)
|
||||
{
|
||||
continue;
|
||||
}
|
||||
|
||||
// Check passive skill conditions.
|
||||
if (skill.isPassive() && !skill.checkConditions(SkillConditionScope.PASSIVE, player, player))
|
||||
{
|
||||
continue;
|
||||
}
|
||||
|
||||
final Skill existingSkill = addedSkills.get(skill.getId());
|
||||
if (existingSkill != null)
|
||||
{
|
||||
if (existingSkill.getLevel() < skill.getLevel())
|
||||
{
|
||||
continue;
|
||||
}
|
||||
|
||||
if (addedSkills.containsKey(holder.getSkill().getId()))
|
||||
{
|
||||
if (addedSkills.get(holder.getSkill().getId()).getLevel() < holder.getSkill().getLevel())
|
||||
{
|
||||
addedSkills.put(holder.getSkill().getId(), holder.getSkill());
|
||||
}
|
||||
}
|
||||
else
|
||||
{
|
||||
addedSkills.put(holder.getSkill().getId(), holder.getSkill());
|
||||
addedSkills.put(skill.getId(), skill);
|
||||
}
|
||||
}
|
||||
else
|
||||
{
|
||||
addedSkills.put(skill.getId(), skill);
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
|
@ -351,20 +351,15 @@ public abstract class Inventory extends ItemContainer
|
||||
{
|
||||
for (ItemSkillHolder holder : onEnchantSkills)
|
||||
{
|
||||
// Remove skills bestowed from +4 armor
|
||||
if (item.getEnchantLevel() >= holder.getValue())
|
||||
if (item.getEnchantLevel() < holder.getValue())
|
||||
{
|
||||
if (removedSkills.containsKey(holder.getSkill().getId()))
|
||||
{
|
||||
if (removedSkills.get(holder.getSkill().getId()).getLevel() < holder.getSkill().getLevel())
|
||||
{
|
||||
removedSkills.put(holder.getSkill().getId(), holder.getSkill());
|
||||
}
|
||||
}
|
||||
else
|
||||
{
|
||||
removedSkills.put(holder.getSkill().getId(), holder.getSkill());
|
||||
}
|
||||
continue;
|
||||
}
|
||||
|
||||
final Skill skill = holder.getSkill();
|
||||
if (skill != null)
|
||||
{
|
||||
removedSkills.putIfAbsent(skill.getId(), skill);
|
||||
update = true;
|
||||
}
|
||||
}
|
||||
@ -378,17 +373,7 @@ public abstract class Inventory extends ItemContainer
|
||||
final Skill skill = holder.getSkill();
|
||||
if (skill != null)
|
||||
{
|
||||
if (removedSkills.containsKey(holder.getSkill().getId()))
|
||||
{
|
||||
if (removedSkills.get(holder.getSkill().getId()).getLevel() < holder.getSkill().getLevel())
|
||||
{
|
||||
removedSkills.put(holder.getSkill().getId(), holder.getSkill());
|
||||
}
|
||||
}
|
||||
else
|
||||
{
|
||||
removedSkills.put(holder.getSkill().getId(), holder.getSkill());
|
||||
}
|
||||
removedSkills.putIfAbsent(skill.getId(), skill);
|
||||
update = true;
|
||||
}
|
||||
}
|
||||
@ -417,32 +402,35 @@ public abstract class Inventory extends ItemContainer
|
||||
}
|
||||
|
||||
final Skill skill = holder.getSkill();
|
||||
if (skill != null)
|
||||
if (skill == null)
|
||||
{
|
||||
if (addedSkills.containsKey(holder.getSkill().getId()))
|
||||
{
|
||||
if (addedSkills.get(holder.getSkill().getId()).getLevel() < holder.getSkill().getLevel())
|
||||
{
|
||||
addedSkills.put(holder.getSkill().getId(), holder.getSkill());
|
||||
}
|
||||
}
|
||||
else
|
||||
{
|
||||
addedSkills.put(holder.getSkill().getId(), holder.getSkill());
|
||||
}
|
||||
|
||||
if (skill.isActive() && !player.hasSkillReuse(skill.getReuseHashCode()))
|
||||
{
|
||||
final int equipDelay = item.getEquipReuseDelay();
|
||||
if (equipDelay > 0)
|
||||
{
|
||||
player.addTimeStamp(skill, equipDelay);
|
||||
player.disableSkill(skill, equipDelay);
|
||||
}
|
||||
updateTimestamp = true;
|
||||
}
|
||||
update = true;
|
||||
continue;
|
||||
}
|
||||
|
||||
final Skill existingSkill = addedSkills.get(skill.getId());
|
||||
if (existingSkill != null)
|
||||
{
|
||||
if (existingSkill.getLevel() < skill.getLevel())
|
||||
{
|
||||
addedSkills.put(skill.getId(), skill);
|
||||
}
|
||||
}
|
||||
else
|
||||
{
|
||||
addedSkills.put(skill.getId(), skill);
|
||||
}
|
||||
|
||||
if (skill.isActive() && !player.hasSkillReuse(skill.getReuseHashCode()))
|
||||
{
|
||||
final int equipDelay = item.getEquipReuseDelay();
|
||||
if (equipDelay > 0)
|
||||
{
|
||||
player.addTimeStamp(skill, equipDelay);
|
||||
player.disableSkill(skill, equipDelay);
|
||||
}
|
||||
updateTimestamp = true;
|
||||
}
|
||||
update = true;
|
||||
}
|
||||
}
|
||||
}
|
||||
@ -464,26 +452,22 @@ public abstract class Inventory extends ItemContainer
|
||||
|
||||
for (ItemSkillHolder holder : otherEnchantSkills)
|
||||
{
|
||||
// Add skills bestowed from +4 armor
|
||||
if (equipped.getEnchantLevel() >= holder.getValue())
|
||||
if (equipped.getEnchantLevel() < holder.getValue())
|
||||
{
|
||||
final Skill skill = holder.getSkill();
|
||||
// Check passive skill conditions.
|
||||
if (skill.isPassive() && !skill.checkConditions(SkillConditionScope.PASSIVE, player, player))
|
||||
{
|
||||
if (removedSkills.containsKey(holder.getSkill().getId()))
|
||||
{
|
||||
if (removedSkills.get(holder.getSkill().getId()).getLevel() < holder.getSkill().getLevel())
|
||||
{
|
||||
removedSkills.put(holder.getSkill().getId(), holder.getSkill());
|
||||
}
|
||||
}
|
||||
else
|
||||
{
|
||||
removedSkills.put(holder.getSkill().getId(), holder.getSkill());
|
||||
}
|
||||
update = true;
|
||||
}
|
||||
continue;
|
||||
}
|
||||
|
||||
final Skill skill = holder.getSkill();
|
||||
if (skill == null)
|
||||
{
|
||||
continue;
|
||||
}
|
||||
|
||||
// Check passive skill conditions.
|
||||
if (skill.isPassive() && !skill.checkConditions(SkillConditionScope.PASSIVE, player, player))
|
||||
{
|
||||
removedSkills.putIfAbsent(skill.getId(), skill);
|
||||
update = true;
|
||||
}
|
||||
}
|
||||
}
|
||||
@ -570,28 +554,35 @@ public abstract class Inventory extends ItemContainer
|
||||
continue;
|
||||
}
|
||||
|
||||
// Add skills bestowed from +4 armor
|
||||
if (item.getEnchantLevel() >= holder.getValue())
|
||||
if (item.getEnchantLevel() < holder.getValue())
|
||||
{
|
||||
final Skill skill = holder.getSkill();
|
||||
// Check passive skill conditions.
|
||||
if (skill.isPassive() && !skill.checkConditions(SkillConditionScope.PASSIVE, player, player))
|
||||
continue;
|
||||
}
|
||||
|
||||
final Skill skill = holder.getSkill();
|
||||
if (skill == null)
|
||||
{
|
||||
continue;
|
||||
}
|
||||
|
||||
// Check passive skill conditions.
|
||||
if (skill.isPassive() && !skill.checkConditions(SkillConditionScope.PASSIVE, player, player))
|
||||
{
|
||||
continue;
|
||||
}
|
||||
|
||||
final Skill existingSkill = addedSkills.get(skill.getId());
|
||||
if (existingSkill != null)
|
||||
{
|
||||
if (existingSkill.getLevel() < skill.getLevel())
|
||||
{
|
||||
continue;
|
||||
}
|
||||
|
||||
if (addedSkills.containsKey(holder.getSkill().getId()))
|
||||
{
|
||||
if (addedSkills.get(holder.getSkill().getId()).getLevel() < holder.getSkill().getLevel())
|
||||
{
|
||||
addedSkills.put(holder.getSkill().getId(), holder.getSkill());
|
||||
}
|
||||
}
|
||||
else
|
||||
{
|
||||
addedSkills.put(holder.getSkill().getId(), holder.getSkill());
|
||||
addedSkills.put(skill.getId(), skill);
|
||||
}
|
||||
}
|
||||
else
|
||||
{
|
||||
addedSkills.put(skill.getId(), skill);
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
@ -606,35 +597,39 @@ public abstract class Inventory extends ItemContainer
|
||||
}
|
||||
|
||||
final Skill skill = holder.getSkill();
|
||||
if (skill != null)
|
||||
if (skill == null)
|
||||
{
|
||||
if (skill.isPassive() && !skill.checkConditions(SkillConditionScope.PASSIVE, player, player))
|
||||
continue;
|
||||
}
|
||||
|
||||
// Check passive skill conditions.
|
||||
if (skill.isPassive() && !skill.checkConditions(SkillConditionScope.PASSIVE, player, player))
|
||||
{
|
||||
continue;
|
||||
}
|
||||
|
||||
final Skill existingSkill = addedSkills.get(skill.getId());
|
||||
if (existingSkill != null)
|
||||
{
|
||||
if (existingSkill.getLevel() < skill.getLevel())
|
||||
{
|
||||
continue;
|
||||
addedSkills.put(skill.getId(), skill);
|
||||
}
|
||||
|
||||
if (addedSkills.containsKey(holder.getSkill().getId()))
|
||||
}
|
||||
else
|
||||
{
|
||||
addedSkills.put(skill.getId(), skill);
|
||||
}
|
||||
|
||||
if (skill.isActive() && !player.hasSkillReuse(skill.getReuseHashCode()))
|
||||
{
|
||||
final int equipDelay = item.getEquipReuseDelay();
|
||||
if (equipDelay > 0)
|
||||
{
|
||||
if (addedSkills.get(holder.getSkill().getId()).getLevel() < holder.getSkill().getLevel())
|
||||
{
|
||||
addedSkills.put(holder.getSkill().getId(), holder.getSkill());
|
||||
}
|
||||
}
|
||||
else
|
||||
{
|
||||
addedSkills.put(holder.getSkill().getId(), holder.getSkill());
|
||||
}
|
||||
|
||||
if (skill.isActive() && !player.hasSkillReuse(skill.getReuseHashCode()))
|
||||
{
|
||||
final int equipDelay = item.getEquipReuseDelay();
|
||||
if (equipDelay > 0)
|
||||
{
|
||||
player.addTimeStamp(skill, equipDelay);
|
||||
player.disableSkill(skill, equipDelay);
|
||||
}
|
||||
updateTimestamp = true;
|
||||
player.addTimeStamp(skill, equipDelay);
|
||||
player.disableSkill(skill, equipDelay);
|
||||
}
|
||||
updateTimestamp = true;
|
||||
}
|
||||
}
|
||||
}
|
||||
@ -661,28 +656,35 @@ public abstract class Inventory extends ItemContainer
|
||||
continue;
|
||||
}
|
||||
|
||||
// Add skills bestowed from +4 armor
|
||||
if (equipped.getEnchantLevel() >= holder.getValue())
|
||||
if (equipped.getEnchantLevel() < holder.getValue())
|
||||
{
|
||||
final Skill skill = holder.getSkill();
|
||||
// Check passive skill conditions.
|
||||
if (skill.isPassive() && !skill.checkConditions(SkillConditionScope.PASSIVE, player, player))
|
||||
continue;
|
||||
}
|
||||
|
||||
final Skill skill = holder.getSkill();
|
||||
if (skill == null)
|
||||
{
|
||||
continue;
|
||||
}
|
||||
|
||||
// Check passive skill conditions.
|
||||
if (skill.isPassive() && !skill.checkConditions(SkillConditionScope.PASSIVE, player, player))
|
||||
{
|
||||
continue;
|
||||
}
|
||||
|
||||
final Skill existingSkill = addedSkills.get(skill.getId());
|
||||
if (existingSkill != null)
|
||||
{
|
||||
if (existingSkill.getLevel() < skill.getLevel())
|
||||
{
|
||||
continue;
|
||||
}
|
||||
|
||||
if (addedSkills.containsKey(holder.getSkill().getId()))
|
||||
{
|
||||
if (addedSkills.get(holder.getSkill().getId()).getLevel() < holder.getSkill().getLevel())
|
||||
{
|
||||
addedSkills.put(holder.getSkill().getId(), holder.getSkill());
|
||||
}
|
||||
}
|
||||
else
|
||||
{
|
||||
addedSkills.put(holder.getSkill().getId(), holder.getSkill());
|
||||
addedSkills.put(skill.getId(), skill);
|
||||
}
|
||||
}
|
||||
else
|
||||
{
|
||||
addedSkills.put(skill.getId(), skill);
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
|
@ -360,20 +360,15 @@ public abstract class Inventory extends ItemContainer
|
||||
{
|
||||
for (ItemSkillHolder holder : onEnchantSkills)
|
||||
{
|
||||
// Remove skills bestowed from +4 armor
|
||||
if (item.getEnchantLevel() >= holder.getValue())
|
||||
if (item.getEnchantLevel() < holder.getValue())
|
||||
{
|
||||
if (removedSkills.containsKey(holder.getSkill().getId()))
|
||||
{
|
||||
if (removedSkills.get(holder.getSkill().getId()).getLevel() < holder.getSkill().getLevel())
|
||||
{
|
||||
removedSkills.put(holder.getSkill().getId(), holder.getSkill());
|
||||
}
|
||||
}
|
||||
else
|
||||
{
|
||||
removedSkills.put(holder.getSkill().getId(), holder.getSkill());
|
||||
}
|
||||
continue;
|
||||
}
|
||||
|
||||
final Skill skill = holder.getSkill();
|
||||
if (skill != null)
|
||||
{
|
||||
removedSkills.putIfAbsent(skill.getId(), skill);
|
||||
update = true;
|
||||
}
|
||||
}
|
||||
@ -386,18 +381,12 @@ public abstract class Inventory extends ItemContainer
|
||||
{
|
||||
for (ItemSkillHolder holder : onBlessingSkills)
|
||||
{
|
||||
if (removedSkills.containsKey(holder.getSkill().getId()))
|
||||
final Skill skill = holder.getSkill();
|
||||
if (skill != null)
|
||||
{
|
||||
if (removedSkills.get(holder.getSkill().getId()).getLevel() < holder.getSkill().getLevel())
|
||||
{
|
||||
removedSkills.put(holder.getSkill().getId(), holder.getSkill());
|
||||
}
|
||||
removedSkills.putIfAbsent(skill.getId(), skill);
|
||||
update = true;
|
||||
}
|
||||
else
|
||||
{
|
||||
removedSkills.put(holder.getSkill().getId(), holder.getSkill());
|
||||
}
|
||||
update = true;
|
||||
}
|
||||
}
|
||||
}
|
||||
@ -410,17 +399,7 @@ public abstract class Inventory extends ItemContainer
|
||||
final Skill skill = holder.getSkill();
|
||||
if (skill != null)
|
||||
{
|
||||
if (removedSkills.containsKey(holder.getSkill().getId()))
|
||||
{
|
||||
if (removedSkills.get(holder.getSkill().getId()).getLevel() < holder.getSkill().getLevel())
|
||||
{
|
||||
removedSkills.put(holder.getSkill().getId(), holder.getSkill());
|
||||
}
|
||||
}
|
||||
else
|
||||
{
|
||||
removedSkills.put(holder.getSkill().getId(), holder.getSkill());
|
||||
}
|
||||
removedSkills.putIfAbsent(skill.getId(), skill);
|
||||
update = true;
|
||||
}
|
||||
}
|
||||
@ -449,32 +428,35 @@ public abstract class Inventory extends ItemContainer
|
||||
}
|
||||
|
||||
final Skill skill = holder.getSkill();
|
||||
if (skill != null)
|
||||
if (skill == null)
|
||||
{
|
||||
if (addedSkills.containsKey(holder.getSkill().getId()))
|
||||
{
|
||||
if (addedSkills.get(holder.getSkill().getId()).getLevel() < holder.getSkill().getLevel())
|
||||
{
|
||||
addedSkills.put(holder.getSkill().getId(), holder.getSkill());
|
||||
}
|
||||
}
|
||||
else
|
||||
{
|
||||
addedSkills.put(holder.getSkill().getId(), holder.getSkill());
|
||||
}
|
||||
|
||||
if (skill.isActive() && !player.hasSkillReuse(skill.getReuseHashCode()))
|
||||
{
|
||||
final int equipDelay = item.getEquipReuseDelay();
|
||||
if (equipDelay > 0)
|
||||
{
|
||||
player.addTimeStamp(skill, equipDelay);
|
||||
player.disableSkill(skill, equipDelay);
|
||||
}
|
||||
updateTimestamp = true;
|
||||
}
|
||||
update = true;
|
||||
continue;
|
||||
}
|
||||
|
||||
final Skill existingSkill = addedSkills.get(skill.getId());
|
||||
if (existingSkill != null)
|
||||
{
|
||||
if (existingSkill.getLevel() < skill.getLevel())
|
||||
{
|
||||
addedSkills.put(skill.getId(), skill);
|
||||
}
|
||||
}
|
||||
else
|
||||
{
|
||||
addedSkills.put(skill.getId(), skill);
|
||||
}
|
||||
|
||||
if (skill.isActive() && !player.hasSkillReuse(skill.getReuseHashCode()))
|
||||
{
|
||||
final int equipDelay = item.getEquipReuseDelay();
|
||||
if (equipDelay > 0)
|
||||
{
|
||||
player.addTimeStamp(skill, equipDelay);
|
||||
player.disableSkill(skill, equipDelay);
|
||||
}
|
||||
updateTimestamp = true;
|
||||
}
|
||||
update = true;
|
||||
}
|
||||
}
|
||||
}
|
||||
@ -499,26 +481,22 @@ public abstract class Inventory extends ItemContainer
|
||||
{
|
||||
for (ItemSkillHolder holder : otherEnchantSkills)
|
||||
{
|
||||
// Add skills bestowed from +4 armor
|
||||
if (equipped.getEnchantLevel() >= holder.getValue())
|
||||
if (equipped.getEnchantLevel() < holder.getValue())
|
||||
{
|
||||
final Skill skill = holder.getSkill();
|
||||
// Check passive skill conditions.
|
||||
if (skill.isPassive() && !skill.checkConditions(SkillConditionScope.PASSIVE, player, player))
|
||||
{
|
||||
if (removedSkills.containsKey(holder.getSkill().getId()))
|
||||
{
|
||||
if (removedSkills.get(holder.getSkill().getId()).getLevel() < holder.getSkill().getLevel())
|
||||
{
|
||||
removedSkills.put(holder.getSkill().getId(), holder.getSkill());
|
||||
}
|
||||
}
|
||||
else
|
||||
{
|
||||
removedSkills.put(holder.getSkill().getId(), holder.getSkill());
|
||||
}
|
||||
update = true;
|
||||
}
|
||||
continue;
|
||||
}
|
||||
|
||||
final Skill skill = holder.getSkill();
|
||||
if (skill == null)
|
||||
{
|
||||
continue;
|
||||
}
|
||||
|
||||
// Check passive skill conditions.
|
||||
if (skill.isPassive() && !skill.checkConditions(SkillConditionScope.PASSIVE, player, player))
|
||||
{
|
||||
removedSkills.putIfAbsent(skill.getId(), skill);
|
||||
update = true;
|
||||
}
|
||||
}
|
||||
}
|
||||
@ -527,22 +505,16 @@ public abstract class Inventory extends ItemContainer
|
||||
{
|
||||
for (ItemSkillHolder holder : otherBlessingSkills)
|
||||
{
|
||||
// Add skills bestowed from +4 armor
|
||||
final Skill skill = holder.getSkill();
|
||||
if (skill == null)
|
||||
{
|
||||
continue;
|
||||
}
|
||||
|
||||
// Check passive skill conditions.
|
||||
if (skill.isPassive() && !skill.checkConditions(SkillConditionScope.PASSIVE, player, player))
|
||||
{
|
||||
if (removedSkills.containsKey(holder.getSkill().getId()))
|
||||
{
|
||||
if (removedSkills.get(holder.getSkill().getId()).getLevel() < holder.getSkill().getLevel())
|
||||
{
|
||||
removedSkills.put(holder.getSkill().getId(), holder.getSkill());
|
||||
}
|
||||
}
|
||||
else
|
||||
{
|
||||
removedSkills.put(holder.getSkill().getId(), holder.getSkill());
|
||||
}
|
||||
removedSkills.putIfAbsent(skill.getId(), skill);
|
||||
update = true;
|
||||
}
|
||||
}
|
||||
@ -631,28 +603,35 @@ public abstract class Inventory extends ItemContainer
|
||||
continue;
|
||||
}
|
||||
|
||||
// Add skills bestowed from +4 armor
|
||||
if (item.getEnchantLevel() >= holder.getValue())
|
||||
if (item.getEnchantLevel() < holder.getValue())
|
||||
{
|
||||
final Skill skill = holder.getSkill();
|
||||
// Check passive skill conditions.
|
||||
if (skill.isPassive() && !skill.checkConditions(SkillConditionScope.PASSIVE, player, player))
|
||||
continue;
|
||||
}
|
||||
|
||||
final Skill skill = holder.getSkill();
|
||||
if (skill == null)
|
||||
{
|
||||
continue;
|
||||
}
|
||||
|
||||
// Check passive skill conditions.
|
||||
if (skill.isPassive() && !skill.checkConditions(SkillConditionScope.PASSIVE, player, player))
|
||||
{
|
||||
continue;
|
||||
}
|
||||
|
||||
final Skill existingSkill = addedSkills.get(skill.getId());
|
||||
if (existingSkill != null)
|
||||
{
|
||||
if (existingSkill.getLevel() < skill.getLevel())
|
||||
{
|
||||
continue;
|
||||
}
|
||||
|
||||
if (addedSkills.containsKey(holder.getSkill().getId()))
|
||||
{
|
||||
if (addedSkills.get(holder.getSkill().getId()).getLevel() < holder.getSkill().getLevel())
|
||||
{
|
||||
addedSkills.put(holder.getSkill().getId(), holder.getSkill());
|
||||
}
|
||||
}
|
||||
else
|
||||
{
|
||||
addedSkills.put(holder.getSkill().getId(), holder.getSkill());
|
||||
addedSkills.put(skill.getId(), skill);
|
||||
}
|
||||
}
|
||||
else
|
||||
{
|
||||
addedSkills.put(skill.getId(), skill);
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
@ -668,24 +647,29 @@ public abstract class Inventory extends ItemContainer
|
||||
continue;
|
||||
}
|
||||
|
||||
// Add skills bestowed from +4 armor
|
||||
final Skill skill = holder.getSkill();
|
||||
if (skill == null)
|
||||
{
|
||||
continue;
|
||||
}
|
||||
|
||||
// Check passive skill conditions.
|
||||
if (skill.isPassive() && !skill.checkConditions(SkillConditionScope.PASSIVE, player, player))
|
||||
{
|
||||
continue;
|
||||
}
|
||||
|
||||
if (addedSkills.containsKey(holder.getSkill().getId()))
|
||||
final Skill existingSkill = addedSkills.get(skill.getId());
|
||||
if (existingSkill != null)
|
||||
{
|
||||
if (addedSkills.get(holder.getSkill().getId()).getLevel() < holder.getSkill().getLevel())
|
||||
if (existingSkill.getLevel() < skill.getLevel())
|
||||
{
|
||||
addedSkills.put(holder.getSkill().getId(), holder.getSkill());
|
||||
addedSkills.put(skill.getId(), skill);
|
||||
}
|
||||
}
|
||||
else
|
||||
{
|
||||
addedSkills.put(holder.getSkill().getId(), holder.getSkill());
|
||||
addedSkills.put(skill.getId(), skill);
|
||||
}
|
||||
}
|
||||
}
|
||||
@ -702,35 +686,39 @@ public abstract class Inventory extends ItemContainer
|
||||
}
|
||||
|
||||
final Skill skill = holder.getSkill();
|
||||
if (skill != null)
|
||||
if (skill == null)
|
||||
{
|
||||
if (skill.isPassive() && !skill.checkConditions(SkillConditionScope.PASSIVE, player, player))
|
||||
continue;
|
||||
}
|
||||
|
||||
// Check passive skill conditions.
|
||||
if (skill.isPassive() && !skill.checkConditions(SkillConditionScope.PASSIVE, player, player))
|
||||
{
|
||||
continue;
|
||||
}
|
||||
|
||||
final Skill existingSkill = addedSkills.get(skill.getId());
|
||||
if (existingSkill != null)
|
||||
{
|
||||
if (existingSkill.getLevel() < skill.getLevel())
|
||||
{
|
||||
continue;
|
||||
addedSkills.put(skill.getId(), skill);
|
||||
}
|
||||
|
||||
if (addedSkills.containsKey(holder.getSkill().getId()))
|
||||
}
|
||||
else
|
||||
{
|
||||
addedSkills.put(skill.getId(), skill);
|
||||
}
|
||||
|
||||
if (skill.isActive() && !player.hasSkillReuse(skill.getReuseHashCode()))
|
||||
{
|
||||
final int equipDelay = item.getEquipReuseDelay();
|
||||
if (equipDelay > 0)
|
||||
{
|
||||
if (addedSkills.get(holder.getSkill().getId()).getLevel() < holder.getSkill().getLevel())
|
||||
{
|
||||
addedSkills.put(holder.getSkill().getId(), holder.getSkill());
|
||||
}
|
||||
}
|
||||
else
|
||||
{
|
||||
addedSkills.put(holder.getSkill().getId(), holder.getSkill());
|
||||
}
|
||||
|
||||
if (skill.isActive() && !player.hasSkillReuse(skill.getReuseHashCode()))
|
||||
{
|
||||
final int equipDelay = item.getEquipReuseDelay();
|
||||
if (equipDelay > 0)
|
||||
{
|
||||
player.addTimeStamp(skill, equipDelay);
|
||||
player.disableSkill(skill, equipDelay);
|
||||
}
|
||||
updateTimestamp = true;
|
||||
player.addTimeStamp(skill, equipDelay);
|
||||
player.disableSkill(skill, equipDelay);
|
||||
}
|
||||
updateTimestamp = true;
|
||||
}
|
||||
}
|
||||
}
|
||||
@ -760,28 +748,35 @@ public abstract class Inventory extends ItemContainer
|
||||
continue;
|
||||
}
|
||||
|
||||
// Add skills bestowed from +4 armor
|
||||
if (equipped.getEnchantLevel() >= holder.getValue())
|
||||
if (equipped.getEnchantLevel() < holder.getValue())
|
||||
{
|
||||
final Skill skill = holder.getSkill();
|
||||
// Check passive skill conditions.
|
||||
if (skill.isPassive() && !skill.checkConditions(SkillConditionScope.PASSIVE, player, player))
|
||||
continue;
|
||||
}
|
||||
|
||||
final Skill skill = holder.getSkill();
|
||||
if (skill == null)
|
||||
{
|
||||
continue;
|
||||
}
|
||||
|
||||
// Check passive skill conditions.
|
||||
if (skill.isPassive() && !skill.checkConditions(SkillConditionScope.PASSIVE, player, player))
|
||||
{
|
||||
continue;
|
||||
}
|
||||
|
||||
final Skill existingSkill = addedSkills.get(skill.getId());
|
||||
if (existingSkill != null)
|
||||
{
|
||||
if (existingSkill.getLevel() < skill.getLevel())
|
||||
{
|
||||
continue;
|
||||
}
|
||||
|
||||
if (addedSkills.containsKey(holder.getSkill().getId()))
|
||||
{
|
||||
if (addedSkills.get(holder.getSkill().getId()).getLevel() < holder.getSkill().getLevel())
|
||||
{
|
||||
addedSkills.put(holder.getSkill().getId(), holder.getSkill());
|
||||
}
|
||||
}
|
||||
else
|
||||
{
|
||||
addedSkills.put(holder.getSkill().getId(), holder.getSkill());
|
||||
addedSkills.put(skill.getId(), skill);
|
||||
}
|
||||
}
|
||||
else
|
||||
{
|
||||
addedSkills.put(skill.getId(), skill);
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
@ -794,26 +789,31 @@ public abstract class Inventory extends ItemContainer
|
||||
continue;
|
||||
}
|
||||
|
||||
// Add skills bestowed from +4 armor
|
||||
if (equipped.isBlessed())
|
||||
{
|
||||
final Skill skill = holder.getSkill();
|
||||
if (skill == null)
|
||||
{
|
||||
continue;
|
||||
}
|
||||
|
||||
// Check passive skill conditions.
|
||||
if (skill.isPassive() && !skill.checkConditions(SkillConditionScope.PASSIVE, player, player))
|
||||
{
|
||||
continue;
|
||||
}
|
||||
|
||||
if (addedSkills.containsKey(holder.getSkill().getId()))
|
||||
final Skill existingSkill = addedSkills.get(skill.getId());
|
||||
if (existingSkill != null)
|
||||
{
|
||||
if (addedSkills.get(holder.getSkill().getId()).getLevel() < holder.getSkill().getLevel())
|
||||
if (existingSkill.getLevel() < skill.getLevel())
|
||||
{
|
||||
addedSkills.put(holder.getSkill().getId(), holder.getSkill());
|
||||
addedSkills.put(skill.getId(), skill);
|
||||
}
|
||||
}
|
||||
else
|
||||
{
|
||||
addedSkills.put(holder.getSkill().getId(), holder.getSkill());
|
||||
addedSkills.put(skill.getId(), skill);
|
||||
}
|
||||
}
|
||||
}
|
||||
|
Loading…
Reference in New Issue
Block a user