Inventory skill manipulation cleanup.
This commit is contained in:
@@ -322,20 +322,15 @@ public abstract class Inventory extends ItemContainer
|
|||||||
{
|
{
|
||||||
for (ItemSkillHolder holder : onEnchantSkills)
|
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()))
|
continue;
|
||||||
{
|
|
||||||
if (removedSkills.get(holder.getSkill().getId()).getLevel() < holder.getSkill().getLevel())
|
|
||||||
{
|
|
||||||
removedSkills.put(holder.getSkill().getId(), holder.getSkill());
|
|
||||||
}
|
}
|
||||||
}
|
|
||||||
else
|
final Skill skill = holder.getSkill();
|
||||||
|
if (skill != null)
|
||||||
{
|
{
|
||||||
removedSkills.put(holder.getSkill().getId(), holder.getSkill());
|
removedSkills.putIfAbsent(skill.getId(), skill);
|
||||||
}
|
|
||||||
update = true;
|
update = true;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
@@ -349,17 +344,7 @@ public abstract class Inventory extends ItemContainer
|
|||||||
final Skill skill = holder.getSkill();
|
final Skill skill = holder.getSkill();
|
||||||
if (skill != null)
|
if (skill != null)
|
||||||
{
|
{
|
||||||
if (removedSkills.containsKey(holder.getSkill().getId()))
|
removedSkills.putIfAbsent(skill.getId(), skill);
|
||||||
{
|
|
||||||
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;
|
update = true;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
@@ -388,18 +373,22 @@ public abstract class Inventory extends ItemContainer
|
|||||||
}
|
}
|
||||||
|
|
||||||
final Skill skill = holder.getSkill();
|
final Skill skill = holder.getSkill();
|
||||||
if (skill != null)
|
if (skill == null)
|
||||||
{
|
{
|
||||||
if (addedSkills.containsKey(holder.getSkill().getId()))
|
continue;
|
||||||
|
}
|
||||||
|
|
||||||
|
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
|
else
|
||||||
{
|
{
|
||||||
addedSkills.put(holder.getSkill().getId(), holder.getSkill());
|
addedSkills.put(skill.getId(), skill);
|
||||||
}
|
}
|
||||||
|
|
||||||
if (skill.isActive() && !player.hasSkillReuse(skill.getReuseHashCode()))
|
if (skill.isActive() && !player.hasSkillReuse(skill.getReuseHashCode()))
|
||||||
@@ -417,7 +406,6 @@ public abstract class Inventory extends ItemContainer
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
|
||||||
|
|
||||||
// Must check all equipped items for enchant conditions.
|
// Must check all equipped items for enchant conditions.
|
||||||
for (ItemInstance equipped : inventory.getPaperdollItems())
|
for (ItemInstance equipped : inventory.getPaperdollItems())
|
||||||
@@ -435,29 +423,25 @@ public abstract class Inventory extends ItemContainer
|
|||||||
|
|
||||||
for (ItemSkillHolder holder : otherEnchantSkills)
|
for (ItemSkillHolder holder : otherEnchantSkills)
|
||||||
{
|
{
|
||||||
// Add skills bestowed from +4 armor
|
if (equipped.getEnchantLevel() < holder.getValue())
|
||||||
if (equipped.getEnchantLevel() >= holder.getValue())
|
|
||||||
{
|
{
|
||||||
|
continue;
|
||||||
|
}
|
||||||
|
|
||||||
final Skill skill = holder.getSkill();
|
final Skill skill = holder.getSkill();
|
||||||
|
if (skill == null)
|
||||||
|
{
|
||||||
|
continue;
|
||||||
|
}
|
||||||
|
|
||||||
// Check passive skill conditions.
|
// Check passive skill conditions.
|
||||||
if (skill.isPassive() && !skill.checkConditions(SkillConditionScope.PASSIVE, player, player))
|
if (skill.isPassive() && !skill.checkConditions(SkillConditionScope.PASSIVE, player, player))
|
||||||
{
|
{
|
||||||
if (removedSkills.containsKey(holder.getSkill().getId()))
|
removedSkills.putIfAbsent(skill.getId(), skill);
|
||||||
{
|
|
||||||
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;
|
update = true;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
|
||||||
|
|
||||||
// Must check for toggle and isRemovedOnUnequipWeapon skill item conditions.
|
// Must check for toggle and isRemovedOnUnequipWeapon skill item conditions.
|
||||||
for (Skill skill : player.getAllSkills())
|
for (Skill skill : player.getAllSkills())
|
||||||
@@ -541,27 +525,34 @@ public abstract class Inventory extends ItemContainer
|
|||||||
continue;
|
continue;
|
||||||
}
|
}
|
||||||
|
|
||||||
// Add skills bestowed from +4 armor
|
if (item.getEnchantLevel() < holder.getValue())
|
||||||
if (item.getEnchantLevel() >= holder.getValue())
|
|
||||||
{
|
{
|
||||||
|
continue;
|
||||||
|
}
|
||||||
|
|
||||||
final Skill skill = holder.getSkill();
|
final Skill skill = holder.getSkill();
|
||||||
|
if (skill == null)
|
||||||
|
{
|
||||||
|
continue;
|
||||||
|
}
|
||||||
|
|
||||||
// Check passive skill conditions.
|
// Check passive skill conditions.
|
||||||
if (skill.isPassive() && !skill.checkConditions(SkillConditionScope.PASSIVE, player, player))
|
if (skill.isPassive() && !skill.checkConditions(SkillConditionScope.PASSIVE, player, player))
|
||||||
{
|
{
|
||||||
continue;
|
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
|
else
|
||||||
{
|
{
|
||||||
addedSkills.put(holder.getSkill().getId(), holder.getSkill());
|
addedSkills.put(skill.getId(), skill);
|
||||||
}
|
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
@@ -577,23 +568,28 @@ public abstract class Inventory extends ItemContainer
|
|||||||
}
|
}
|
||||||
|
|
||||||
final Skill skill = holder.getSkill();
|
final Skill skill = holder.getSkill();
|
||||||
if (skill != null)
|
if (skill == null)
|
||||||
{
|
{
|
||||||
|
continue;
|
||||||
|
}
|
||||||
|
|
||||||
|
// Check passive skill conditions.
|
||||||
if (skill.isPassive() && !skill.checkConditions(SkillConditionScope.PASSIVE, player, player))
|
if (skill.isPassive() && !skill.checkConditions(SkillConditionScope.PASSIVE, player, player))
|
||||||
{
|
{
|
||||||
continue;
|
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
|
else
|
||||||
{
|
{
|
||||||
addedSkills.put(holder.getSkill().getId(), holder.getSkill());
|
addedSkills.put(skill.getId(), skill);
|
||||||
}
|
}
|
||||||
|
|
||||||
if (skill.isActive() && !player.hasSkillReuse(skill.getReuseHashCode()))
|
if (skill.isActive() && !player.hasSkillReuse(skill.getReuseHashCode()))
|
||||||
@@ -609,7 +605,6 @@ public abstract class Inventory extends ItemContainer
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
|
||||||
|
|
||||||
// Must check all equipped items for enchant conditions.
|
// Must check all equipped items for enchant conditions.
|
||||||
for (ItemInstance equipped : inventory.getPaperdollItems())
|
for (ItemInstance equipped : inventory.getPaperdollItems())
|
||||||
@@ -632,27 +627,34 @@ public abstract class Inventory extends ItemContainer
|
|||||||
continue;
|
continue;
|
||||||
}
|
}
|
||||||
|
|
||||||
// Add skills bestowed from +4 armor
|
if (equipped.getEnchantLevel() < holder.getValue())
|
||||||
if (equipped.getEnchantLevel() >= holder.getValue())
|
|
||||||
{
|
{
|
||||||
|
continue;
|
||||||
|
}
|
||||||
|
|
||||||
final Skill skill = holder.getSkill();
|
final Skill skill = holder.getSkill();
|
||||||
|
if (skill == null)
|
||||||
|
{
|
||||||
|
continue;
|
||||||
|
}
|
||||||
|
|
||||||
// Check passive skill conditions.
|
// Check passive skill conditions.
|
||||||
if (skill.isPassive() && !skill.checkConditions(SkillConditionScope.PASSIVE, player, player))
|
if (skill.isPassive() && !skill.checkConditions(SkillConditionScope.PASSIVE, player, player))
|
||||||
{
|
{
|
||||||
continue;
|
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
|
else
|
||||||
{
|
{
|
||||||
addedSkills.put(holder.getSkill().getId(), holder.getSkill());
|
addedSkills.put(skill.getId(), skill);
|
||||||
}
|
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
@@ -325,20 +325,15 @@ public abstract class Inventory extends ItemContainer
|
|||||||
{
|
{
|
||||||
for (ItemSkillHolder holder : onEnchantSkills)
|
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()))
|
continue;
|
||||||
{
|
|
||||||
if (removedSkills.get(holder.getSkill().getId()).getLevel() < holder.getSkill().getLevel())
|
|
||||||
{
|
|
||||||
removedSkills.put(holder.getSkill().getId(), holder.getSkill());
|
|
||||||
}
|
}
|
||||||
}
|
|
||||||
else
|
final Skill skill = holder.getSkill();
|
||||||
|
if (skill != null)
|
||||||
{
|
{
|
||||||
removedSkills.put(holder.getSkill().getId(), holder.getSkill());
|
removedSkills.putIfAbsent(skill.getId(), skill);
|
||||||
}
|
|
||||||
update = true;
|
update = true;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
@@ -352,17 +347,7 @@ public abstract class Inventory extends ItemContainer
|
|||||||
final Skill skill = holder.getSkill();
|
final Skill skill = holder.getSkill();
|
||||||
if (skill != null)
|
if (skill != null)
|
||||||
{
|
{
|
||||||
if (removedSkills.containsKey(holder.getSkill().getId()))
|
removedSkills.putIfAbsent(skill.getId(), skill);
|
||||||
{
|
|
||||||
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;
|
update = true;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
@@ -391,18 +376,22 @@ public abstract class Inventory extends ItemContainer
|
|||||||
}
|
}
|
||||||
|
|
||||||
final Skill skill = holder.getSkill();
|
final Skill skill = holder.getSkill();
|
||||||
if (skill != null)
|
if (skill == null)
|
||||||
{
|
{
|
||||||
if (addedSkills.containsKey(holder.getSkill().getId()))
|
continue;
|
||||||
|
}
|
||||||
|
|
||||||
|
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
|
else
|
||||||
{
|
{
|
||||||
addedSkills.put(holder.getSkill().getId(), holder.getSkill());
|
addedSkills.put(skill.getId(), skill);
|
||||||
}
|
}
|
||||||
|
|
||||||
if (skill.isActive() && !player.hasSkillReuse(skill.getReuseHashCode()))
|
if (skill.isActive() && !player.hasSkillReuse(skill.getReuseHashCode()))
|
||||||
@@ -420,7 +409,6 @@ public abstract class Inventory extends ItemContainer
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
|
||||||
|
|
||||||
// Must check all equipped items for enchant conditions.
|
// Must check all equipped items for enchant conditions.
|
||||||
for (ItemInstance equipped : inventory.getPaperdollItems())
|
for (ItemInstance equipped : inventory.getPaperdollItems())
|
||||||
@@ -438,29 +426,25 @@ public abstract class Inventory extends ItemContainer
|
|||||||
|
|
||||||
for (ItemSkillHolder holder : otherEnchantSkills)
|
for (ItemSkillHolder holder : otherEnchantSkills)
|
||||||
{
|
{
|
||||||
// Add skills bestowed from +4 armor
|
if (equipped.getEnchantLevel() < holder.getValue())
|
||||||
if (equipped.getEnchantLevel() >= holder.getValue())
|
|
||||||
{
|
{
|
||||||
|
continue;
|
||||||
|
}
|
||||||
|
|
||||||
final Skill skill = holder.getSkill();
|
final Skill skill = holder.getSkill();
|
||||||
|
if (skill == null)
|
||||||
|
{
|
||||||
|
continue;
|
||||||
|
}
|
||||||
|
|
||||||
// Check passive skill conditions.
|
// Check passive skill conditions.
|
||||||
if (skill.isPassive() && !skill.checkConditions(SkillConditionScope.PASSIVE, player, player))
|
if (skill.isPassive() && !skill.checkConditions(SkillConditionScope.PASSIVE, player, player))
|
||||||
{
|
{
|
||||||
if (removedSkills.containsKey(holder.getSkill().getId()))
|
removedSkills.putIfAbsent(skill.getId(), skill);
|
||||||
{
|
|
||||||
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;
|
update = true;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
|
||||||
|
|
||||||
// Must check for toggle and isRemovedOnUnequipWeapon skill item conditions.
|
// Must check for toggle and isRemovedOnUnequipWeapon skill item conditions.
|
||||||
for (Skill skill : player.getAllSkills())
|
for (Skill skill : player.getAllSkills())
|
||||||
@@ -547,27 +531,34 @@ public abstract class Inventory extends ItemContainer
|
|||||||
continue;
|
continue;
|
||||||
}
|
}
|
||||||
|
|
||||||
// Add skills bestowed from +4 armor
|
if (item.getEnchantLevel() < holder.getValue())
|
||||||
if (item.getEnchantLevel() >= holder.getValue())
|
|
||||||
{
|
{
|
||||||
|
continue;
|
||||||
|
}
|
||||||
|
|
||||||
final Skill skill = holder.getSkill();
|
final Skill skill = holder.getSkill();
|
||||||
|
if (skill == null)
|
||||||
|
{
|
||||||
|
continue;
|
||||||
|
}
|
||||||
|
|
||||||
// Check passive skill conditions.
|
// Check passive skill conditions.
|
||||||
if (skill.isPassive() && !skill.checkConditions(SkillConditionScope.PASSIVE, player, player))
|
if (skill.isPassive() && !skill.checkConditions(SkillConditionScope.PASSIVE, player, player))
|
||||||
{
|
{
|
||||||
continue;
|
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
|
else
|
||||||
{
|
{
|
||||||
addedSkills.put(holder.getSkill().getId(), holder.getSkill());
|
addedSkills.put(skill.getId(), skill);
|
||||||
}
|
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
@@ -583,23 +574,28 @@ public abstract class Inventory extends ItemContainer
|
|||||||
}
|
}
|
||||||
|
|
||||||
final Skill skill = holder.getSkill();
|
final Skill skill = holder.getSkill();
|
||||||
if (skill != null)
|
if (skill == null)
|
||||||
{
|
{
|
||||||
|
continue;
|
||||||
|
}
|
||||||
|
|
||||||
|
// Check passive skill conditions.
|
||||||
if (skill.isPassive() && !skill.checkConditions(SkillConditionScope.PASSIVE, player, player))
|
if (skill.isPassive() && !skill.checkConditions(SkillConditionScope.PASSIVE, player, player))
|
||||||
{
|
{
|
||||||
continue;
|
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
|
else
|
||||||
{
|
{
|
||||||
addedSkills.put(holder.getSkill().getId(), holder.getSkill());
|
addedSkills.put(skill.getId(), skill);
|
||||||
}
|
}
|
||||||
|
|
||||||
if (skill.isActive() && !player.hasSkillReuse(skill.getReuseHashCode()))
|
if (skill.isActive() && !player.hasSkillReuse(skill.getReuseHashCode()))
|
||||||
@@ -615,7 +611,6 @@ public abstract class Inventory extends ItemContainer
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
|
||||||
|
|
||||||
// Must check all equipped items for enchant conditions.
|
// Must check all equipped items for enchant conditions.
|
||||||
for (ItemInstance equipped : inventory.getPaperdollItems())
|
for (ItemInstance equipped : inventory.getPaperdollItems())
|
||||||
@@ -638,27 +633,34 @@ public abstract class Inventory extends ItemContainer
|
|||||||
continue;
|
continue;
|
||||||
}
|
}
|
||||||
|
|
||||||
// Add skills bestowed from +4 armor
|
if (equipped.getEnchantLevel() < holder.getValue())
|
||||||
if (equipped.getEnchantLevel() >= holder.getValue())
|
|
||||||
{
|
{
|
||||||
|
continue;
|
||||||
|
}
|
||||||
|
|
||||||
final Skill skill = holder.getSkill();
|
final Skill skill = holder.getSkill();
|
||||||
|
if (skill == null)
|
||||||
|
{
|
||||||
|
continue;
|
||||||
|
}
|
||||||
|
|
||||||
// Check passive skill conditions.
|
// Check passive skill conditions.
|
||||||
if (skill.isPassive() && !skill.checkConditions(SkillConditionScope.PASSIVE, player, player))
|
if (skill.isPassive() && !skill.checkConditions(SkillConditionScope.PASSIVE, player, player))
|
||||||
{
|
{
|
||||||
continue;
|
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
|
else
|
||||||
{
|
{
|
||||||
addedSkills.put(holder.getSkill().getId(), holder.getSkill());
|
addedSkills.put(skill.getId(), skill);
|
||||||
}
|
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
@@ -325,20 +325,15 @@ public abstract class Inventory extends ItemContainer
|
|||||||
{
|
{
|
||||||
for (ItemSkillHolder holder : onEnchantSkills)
|
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()))
|
continue;
|
||||||
{
|
|
||||||
if (removedSkills.get(holder.getSkill().getId()).getLevel() < holder.getSkill().getLevel())
|
|
||||||
{
|
|
||||||
removedSkills.put(holder.getSkill().getId(), holder.getSkill());
|
|
||||||
}
|
}
|
||||||
}
|
|
||||||
else
|
final Skill skill = holder.getSkill();
|
||||||
|
if (skill != null)
|
||||||
{
|
{
|
||||||
removedSkills.put(holder.getSkill().getId(), holder.getSkill());
|
removedSkills.putIfAbsent(skill.getId(), skill);
|
||||||
}
|
|
||||||
update = true;
|
update = true;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
@@ -352,17 +347,7 @@ public abstract class Inventory extends ItemContainer
|
|||||||
final Skill skill = holder.getSkill();
|
final Skill skill = holder.getSkill();
|
||||||
if (skill != null)
|
if (skill != null)
|
||||||
{
|
{
|
||||||
if (removedSkills.containsKey(holder.getSkill().getId()))
|
removedSkills.putIfAbsent(skill.getId(), skill);
|
||||||
{
|
|
||||||
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;
|
update = true;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
@@ -391,18 +376,22 @@ public abstract class Inventory extends ItemContainer
|
|||||||
}
|
}
|
||||||
|
|
||||||
final Skill skill = holder.getSkill();
|
final Skill skill = holder.getSkill();
|
||||||
if (skill != null)
|
if (skill == null)
|
||||||
{
|
{
|
||||||
if (addedSkills.containsKey(holder.getSkill().getId()))
|
continue;
|
||||||
|
}
|
||||||
|
|
||||||
|
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
|
else
|
||||||
{
|
{
|
||||||
addedSkills.put(holder.getSkill().getId(), holder.getSkill());
|
addedSkills.put(skill.getId(), skill);
|
||||||
}
|
}
|
||||||
|
|
||||||
if (skill.isActive() && !player.hasSkillReuse(skill.getReuseHashCode()))
|
if (skill.isActive() && !player.hasSkillReuse(skill.getReuseHashCode()))
|
||||||
@@ -420,7 +409,6 @@ public abstract class Inventory extends ItemContainer
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
|
||||||
|
|
||||||
// Must check all equipped items for enchant conditions.
|
// Must check all equipped items for enchant conditions.
|
||||||
for (ItemInstance equipped : inventory.getPaperdollItems())
|
for (ItemInstance equipped : inventory.getPaperdollItems())
|
||||||
@@ -438,29 +426,25 @@ public abstract class Inventory extends ItemContainer
|
|||||||
|
|
||||||
for (ItemSkillHolder holder : otherEnchantSkills)
|
for (ItemSkillHolder holder : otherEnchantSkills)
|
||||||
{
|
{
|
||||||
// Add skills bestowed from +4 armor
|
if (equipped.getEnchantLevel() < holder.getValue())
|
||||||
if (equipped.getEnchantLevel() >= holder.getValue())
|
|
||||||
{
|
{
|
||||||
|
continue;
|
||||||
|
}
|
||||||
|
|
||||||
final Skill skill = holder.getSkill();
|
final Skill skill = holder.getSkill();
|
||||||
|
if (skill == null)
|
||||||
|
{
|
||||||
|
continue;
|
||||||
|
}
|
||||||
|
|
||||||
// Check passive skill conditions.
|
// Check passive skill conditions.
|
||||||
if (skill.isPassive() && !skill.checkConditions(SkillConditionScope.PASSIVE, player, player))
|
if (skill.isPassive() && !skill.checkConditions(SkillConditionScope.PASSIVE, player, player))
|
||||||
{
|
{
|
||||||
if (removedSkills.containsKey(holder.getSkill().getId()))
|
removedSkills.putIfAbsent(skill.getId(), skill);
|
||||||
{
|
|
||||||
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;
|
update = true;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
|
||||||
|
|
||||||
// Must check for toggle and isRemovedOnUnequipWeapon skill item conditions.
|
// Must check for toggle and isRemovedOnUnequipWeapon skill item conditions.
|
||||||
for (Skill skill : player.getAllSkills())
|
for (Skill skill : player.getAllSkills())
|
||||||
@@ -547,27 +531,34 @@ public abstract class Inventory extends ItemContainer
|
|||||||
continue;
|
continue;
|
||||||
}
|
}
|
||||||
|
|
||||||
// Add skills bestowed from +4 armor
|
if (item.getEnchantLevel() < holder.getValue())
|
||||||
if (item.getEnchantLevel() >= holder.getValue())
|
|
||||||
{
|
{
|
||||||
|
continue;
|
||||||
|
}
|
||||||
|
|
||||||
final Skill skill = holder.getSkill();
|
final Skill skill = holder.getSkill();
|
||||||
|
if (skill == null)
|
||||||
|
{
|
||||||
|
continue;
|
||||||
|
}
|
||||||
|
|
||||||
// Check passive skill conditions.
|
// Check passive skill conditions.
|
||||||
if (skill.isPassive() && !skill.checkConditions(SkillConditionScope.PASSIVE, player, player))
|
if (skill.isPassive() && !skill.checkConditions(SkillConditionScope.PASSIVE, player, player))
|
||||||
{
|
{
|
||||||
continue;
|
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
|
else
|
||||||
{
|
{
|
||||||
addedSkills.put(holder.getSkill().getId(), holder.getSkill());
|
addedSkills.put(skill.getId(), skill);
|
||||||
}
|
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
@@ -583,23 +574,28 @@ public abstract class Inventory extends ItemContainer
|
|||||||
}
|
}
|
||||||
|
|
||||||
final Skill skill = holder.getSkill();
|
final Skill skill = holder.getSkill();
|
||||||
if (skill != null)
|
if (skill == null)
|
||||||
{
|
{
|
||||||
|
continue;
|
||||||
|
}
|
||||||
|
|
||||||
|
// Check passive skill conditions.
|
||||||
if (skill.isPassive() && !skill.checkConditions(SkillConditionScope.PASSIVE, player, player))
|
if (skill.isPassive() && !skill.checkConditions(SkillConditionScope.PASSIVE, player, player))
|
||||||
{
|
{
|
||||||
continue;
|
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
|
else
|
||||||
{
|
{
|
||||||
addedSkills.put(holder.getSkill().getId(), holder.getSkill());
|
addedSkills.put(skill.getId(), skill);
|
||||||
}
|
}
|
||||||
|
|
||||||
if (skill.isActive() && !player.hasSkillReuse(skill.getReuseHashCode()))
|
if (skill.isActive() && !player.hasSkillReuse(skill.getReuseHashCode()))
|
||||||
@@ -615,7 +611,6 @@ public abstract class Inventory extends ItemContainer
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
|
||||||
|
|
||||||
// Must check all equipped items for enchant conditions.
|
// Must check all equipped items for enchant conditions.
|
||||||
for (ItemInstance equipped : inventory.getPaperdollItems())
|
for (ItemInstance equipped : inventory.getPaperdollItems())
|
||||||
@@ -638,27 +633,34 @@ public abstract class Inventory extends ItemContainer
|
|||||||
continue;
|
continue;
|
||||||
}
|
}
|
||||||
|
|
||||||
// Add skills bestowed from +4 armor
|
if (equipped.getEnchantLevel() < holder.getValue())
|
||||||
if (equipped.getEnchantLevel() >= holder.getValue())
|
|
||||||
{
|
{
|
||||||
|
continue;
|
||||||
|
}
|
||||||
|
|
||||||
final Skill skill = holder.getSkill();
|
final Skill skill = holder.getSkill();
|
||||||
|
if (skill == null)
|
||||||
|
{
|
||||||
|
continue;
|
||||||
|
}
|
||||||
|
|
||||||
// Check passive skill conditions.
|
// Check passive skill conditions.
|
||||||
if (skill.isPassive() && !skill.checkConditions(SkillConditionScope.PASSIVE, player, player))
|
if (skill.isPassive() && !skill.checkConditions(SkillConditionScope.PASSIVE, player, player))
|
||||||
{
|
{
|
||||||
continue;
|
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
|
else
|
||||||
{
|
{
|
||||||
addedSkills.put(holder.getSkill().getId(), holder.getSkill());
|
addedSkills.put(skill.getId(), skill);
|
||||||
}
|
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
@@ -325,20 +325,15 @@ public abstract class Inventory extends ItemContainer
|
|||||||
{
|
{
|
||||||
for (ItemSkillHolder holder : onEnchantSkills)
|
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()))
|
continue;
|
||||||
{
|
|
||||||
if (removedSkills.get(holder.getSkill().getId()).getLevel() < holder.getSkill().getLevel())
|
|
||||||
{
|
|
||||||
removedSkills.put(holder.getSkill().getId(), holder.getSkill());
|
|
||||||
}
|
}
|
||||||
}
|
|
||||||
else
|
final Skill skill = holder.getSkill();
|
||||||
|
if (skill != null)
|
||||||
{
|
{
|
||||||
removedSkills.put(holder.getSkill().getId(), holder.getSkill());
|
removedSkills.putIfAbsent(skill.getId(), skill);
|
||||||
}
|
|
||||||
update = true;
|
update = true;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
@@ -352,17 +347,7 @@ public abstract class Inventory extends ItemContainer
|
|||||||
final Skill skill = holder.getSkill();
|
final Skill skill = holder.getSkill();
|
||||||
if (skill != null)
|
if (skill != null)
|
||||||
{
|
{
|
||||||
if (removedSkills.containsKey(holder.getSkill().getId()))
|
removedSkills.putIfAbsent(skill.getId(), skill);
|
||||||
{
|
|
||||||
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;
|
update = true;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
@@ -391,18 +376,22 @@ public abstract class Inventory extends ItemContainer
|
|||||||
}
|
}
|
||||||
|
|
||||||
final Skill skill = holder.getSkill();
|
final Skill skill = holder.getSkill();
|
||||||
if (skill != null)
|
if (skill == null)
|
||||||
{
|
{
|
||||||
if (addedSkills.containsKey(holder.getSkill().getId()))
|
continue;
|
||||||
|
}
|
||||||
|
|
||||||
|
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
|
else
|
||||||
{
|
{
|
||||||
addedSkills.put(holder.getSkill().getId(), holder.getSkill());
|
addedSkills.put(skill.getId(), skill);
|
||||||
}
|
}
|
||||||
|
|
||||||
if (skill.isActive() && !player.hasSkillReuse(skill.getReuseHashCode()))
|
if (skill.isActive() && !player.hasSkillReuse(skill.getReuseHashCode()))
|
||||||
@@ -420,7 +409,6 @@ public abstract class Inventory extends ItemContainer
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
|
||||||
|
|
||||||
// Must check all equipped items for enchant conditions.
|
// Must check all equipped items for enchant conditions.
|
||||||
for (ItemInstance equipped : inventory.getPaperdollItems())
|
for (ItemInstance equipped : inventory.getPaperdollItems())
|
||||||
@@ -438,29 +426,25 @@ public abstract class Inventory extends ItemContainer
|
|||||||
|
|
||||||
for (ItemSkillHolder holder : otherEnchantSkills)
|
for (ItemSkillHolder holder : otherEnchantSkills)
|
||||||
{
|
{
|
||||||
// Add skills bestowed from +4 armor
|
if (equipped.getEnchantLevel() < holder.getValue())
|
||||||
if (equipped.getEnchantLevel() >= holder.getValue())
|
|
||||||
{
|
{
|
||||||
|
continue;
|
||||||
|
}
|
||||||
|
|
||||||
final Skill skill = holder.getSkill();
|
final Skill skill = holder.getSkill();
|
||||||
|
if (skill == null)
|
||||||
|
{
|
||||||
|
continue;
|
||||||
|
}
|
||||||
|
|
||||||
// Check passive skill conditions.
|
// Check passive skill conditions.
|
||||||
if (skill.isPassive() && !skill.checkConditions(SkillConditionScope.PASSIVE, player, player))
|
if (skill.isPassive() && !skill.checkConditions(SkillConditionScope.PASSIVE, player, player))
|
||||||
{
|
{
|
||||||
if (removedSkills.containsKey(holder.getSkill().getId()))
|
removedSkills.putIfAbsent(skill.getId(), skill);
|
||||||
{
|
|
||||||
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;
|
update = true;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
|
||||||
|
|
||||||
// Must check for toggle and isRemovedOnUnequipWeapon skill item conditions.
|
// Must check for toggle and isRemovedOnUnequipWeapon skill item conditions.
|
||||||
for (Skill skill : player.getAllSkills())
|
for (Skill skill : player.getAllSkills())
|
||||||
@@ -547,27 +531,34 @@ public abstract class Inventory extends ItemContainer
|
|||||||
continue;
|
continue;
|
||||||
}
|
}
|
||||||
|
|
||||||
// Add skills bestowed from +4 armor
|
if (item.getEnchantLevel() < holder.getValue())
|
||||||
if (item.getEnchantLevel() >= holder.getValue())
|
|
||||||
{
|
{
|
||||||
|
continue;
|
||||||
|
}
|
||||||
|
|
||||||
final Skill skill = holder.getSkill();
|
final Skill skill = holder.getSkill();
|
||||||
|
if (skill == null)
|
||||||
|
{
|
||||||
|
continue;
|
||||||
|
}
|
||||||
|
|
||||||
// Check passive skill conditions.
|
// Check passive skill conditions.
|
||||||
if (skill.isPassive() && !skill.checkConditions(SkillConditionScope.PASSIVE, player, player))
|
if (skill.isPassive() && !skill.checkConditions(SkillConditionScope.PASSIVE, player, player))
|
||||||
{
|
{
|
||||||
continue;
|
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
|
else
|
||||||
{
|
{
|
||||||
addedSkills.put(holder.getSkill().getId(), holder.getSkill());
|
addedSkills.put(skill.getId(), skill);
|
||||||
}
|
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
@@ -583,23 +574,28 @@ public abstract class Inventory extends ItemContainer
|
|||||||
}
|
}
|
||||||
|
|
||||||
final Skill skill = holder.getSkill();
|
final Skill skill = holder.getSkill();
|
||||||
if (skill != null)
|
if (skill == null)
|
||||||
{
|
{
|
||||||
|
continue;
|
||||||
|
}
|
||||||
|
|
||||||
|
// Check passive skill conditions.
|
||||||
if (skill.isPassive() && !skill.checkConditions(SkillConditionScope.PASSIVE, player, player))
|
if (skill.isPassive() && !skill.checkConditions(SkillConditionScope.PASSIVE, player, player))
|
||||||
{
|
{
|
||||||
continue;
|
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
|
else
|
||||||
{
|
{
|
||||||
addedSkills.put(holder.getSkill().getId(), holder.getSkill());
|
addedSkills.put(skill.getId(), skill);
|
||||||
}
|
}
|
||||||
|
|
||||||
if (skill.isActive() && !player.hasSkillReuse(skill.getReuseHashCode()))
|
if (skill.isActive() && !player.hasSkillReuse(skill.getReuseHashCode()))
|
||||||
@@ -615,7 +611,6 @@ public abstract class Inventory extends ItemContainer
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
|
||||||
|
|
||||||
// Must check all equipped items for enchant conditions.
|
// Must check all equipped items for enchant conditions.
|
||||||
for (ItemInstance equipped : inventory.getPaperdollItems())
|
for (ItemInstance equipped : inventory.getPaperdollItems())
|
||||||
@@ -638,27 +633,34 @@ public abstract class Inventory extends ItemContainer
|
|||||||
continue;
|
continue;
|
||||||
}
|
}
|
||||||
|
|
||||||
// Add skills bestowed from +4 armor
|
if (equipped.getEnchantLevel() < holder.getValue())
|
||||||
if (equipped.getEnchantLevel() >= holder.getValue())
|
|
||||||
{
|
{
|
||||||
|
continue;
|
||||||
|
}
|
||||||
|
|
||||||
final Skill skill = holder.getSkill();
|
final Skill skill = holder.getSkill();
|
||||||
|
if (skill == null)
|
||||||
|
{
|
||||||
|
continue;
|
||||||
|
}
|
||||||
|
|
||||||
// Check passive skill conditions.
|
// Check passive skill conditions.
|
||||||
if (skill.isPassive() && !skill.checkConditions(SkillConditionScope.PASSIVE, player, player))
|
if (skill.isPassive() && !skill.checkConditions(SkillConditionScope.PASSIVE, player, player))
|
||||||
{
|
{
|
||||||
continue;
|
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
|
else
|
||||||
{
|
{
|
||||||
addedSkills.put(holder.getSkill().getId(), holder.getSkill());
|
addedSkills.put(skill.getId(), skill);
|
||||||
}
|
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
@@ -333,20 +333,15 @@ public abstract class Inventory extends ItemContainer
|
|||||||
{
|
{
|
||||||
for (ItemSkillHolder holder : onEnchantSkills)
|
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()))
|
continue;
|
||||||
{
|
|
||||||
if (removedSkills.get(holder.getSkill().getId()).getLevel() < holder.getSkill().getLevel())
|
|
||||||
{
|
|
||||||
removedSkills.put(holder.getSkill().getId(), holder.getSkill());
|
|
||||||
}
|
}
|
||||||
}
|
|
||||||
else
|
final Skill skill = holder.getSkill();
|
||||||
|
if (skill != null)
|
||||||
{
|
{
|
||||||
removedSkills.put(holder.getSkill().getId(), holder.getSkill());
|
removedSkills.putIfAbsent(skill.getId(), skill);
|
||||||
}
|
|
||||||
update = true;
|
update = true;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
@@ -360,17 +355,7 @@ public abstract class Inventory extends ItemContainer
|
|||||||
final Skill skill = holder.getSkill();
|
final Skill skill = holder.getSkill();
|
||||||
if (skill != null)
|
if (skill != null)
|
||||||
{
|
{
|
||||||
if (removedSkills.containsKey(holder.getSkill().getId()))
|
removedSkills.putIfAbsent(skill.getId(), skill);
|
||||||
{
|
|
||||||
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;
|
update = true;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
@@ -399,18 +384,22 @@ public abstract class Inventory extends ItemContainer
|
|||||||
}
|
}
|
||||||
|
|
||||||
final Skill skill = holder.getSkill();
|
final Skill skill = holder.getSkill();
|
||||||
if (skill != null)
|
if (skill == null)
|
||||||
{
|
{
|
||||||
if (addedSkills.containsKey(holder.getSkill().getId()))
|
continue;
|
||||||
|
}
|
||||||
|
|
||||||
|
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
|
else
|
||||||
{
|
{
|
||||||
addedSkills.put(holder.getSkill().getId(), holder.getSkill());
|
addedSkills.put(skill.getId(), skill);
|
||||||
}
|
}
|
||||||
|
|
||||||
if (skill.isActive() && !player.hasSkillReuse(skill.getReuseHashCode()))
|
if (skill.isActive() && !player.hasSkillReuse(skill.getReuseHashCode()))
|
||||||
@@ -428,7 +417,6 @@ public abstract class Inventory extends ItemContainer
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
|
||||||
|
|
||||||
// Must check all equipped items for enchant conditions.
|
// Must check all equipped items for enchant conditions.
|
||||||
for (ItemInstance equipped : inventory.getPaperdollItems())
|
for (ItemInstance equipped : inventory.getPaperdollItems())
|
||||||
@@ -446,29 +434,25 @@ public abstract class Inventory extends ItemContainer
|
|||||||
|
|
||||||
for (ItemSkillHolder holder : otherEnchantSkills)
|
for (ItemSkillHolder holder : otherEnchantSkills)
|
||||||
{
|
{
|
||||||
// Add skills bestowed from +4 armor
|
if (equipped.getEnchantLevel() < holder.getValue())
|
||||||
if (equipped.getEnchantLevel() >= holder.getValue())
|
|
||||||
{
|
{
|
||||||
|
continue;
|
||||||
|
}
|
||||||
|
|
||||||
final Skill skill = holder.getSkill();
|
final Skill skill = holder.getSkill();
|
||||||
|
if (skill == null)
|
||||||
|
{
|
||||||
|
continue;
|
||||||
|
}
|
||||||
|
|
||||||
// Check passive skill conditions.
|
// Check passive skill conditions.
|
||||||
if (skill.isPassive() && !skill.checkConditions(SkillConditionScope.PASSIVE, player, player))
|
if (skill.isPassive() && !skill.checkConditions(SkillConditionScope.PASSIVE, player, player))
|
||||||
{
|
{
|
||||||
if (removedSkills.containsKey(holder.getSkill().getId()))
|
removedSkills.putIfAbsent(skill.getId(), skill);
|
||||||
{
|
|
||||||
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;
|
update = true;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
|
||||||
|
|
||||||
// Must check for toggle and isRemovedOnUnequipWeapon skill item conditions.
|
// Must check for toggle and isRemovedOnUnequipWeapon skill item conditions.
|
||||||
for (Skill skill : player.getAllSkills())
|
for (Skill skill : player.getAllSkills())
|
||||||
@@ -558,27 +542,34 @@ public abstract class Inventory extends ItemContainer
|
|||||||
continue;
|
continue;
|
||||||
}
|
}
|
||||||
|
|
||||||
// Add skills bestowed from +4 armor
|
if (item.getEnchantLevel() < holder.getValue())
|
||||||
if (item.getEnchantLevel() >= holder.getValue())
|
|
||||||
{
|
{
|
||||||
|
continue;
|
||||||
|
}
|
||||||
|
|
||||||
final Skill skill = holder.getSkill();
|
final Skill skill = holder.getSkill();
|
||||||
|
if (skill == null)
|
||||||
|
{
|
||||||
|
continue;
|
||||||
|
}
|
||||||
|
|
||||||
// Check passive skill conditions.
|
// Check passive skill conditions.
|
||||||
if (skill.isPassive() && !skill.checkConditions(SkillConditionScope.PASSIVE, player, player))
|
if (skill.isPassive() && !skill.checkConditions(SkillConditionScope.PASSIVE, player, player))
|
||||||
{
|
{
|
||||||
continue;
|
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
|
else
|
||||||
{
|
{
|
||||||
addedSkills.put(holder.getSkill().getId(), holder.getSkill());
|
addedSkills.put(skill.getId(), skill);
|
||||||
}
|
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
@@ -594,23 +585,28 @@ public abstract class Inventory extends ItemContainer
|
|||||||
}
|
}
|
||||||
|
|
||||||
final Skill skill = holder.getSkill();
|
final Skill skill = holder.getSkill();
|
||||||
if (skill != null)
|
if (skill == null)
|
||||||
{
|
{
|
||||||
|
continue;
|
||||||
|
}
|
||||||
|
|
||||||
|
// Check passive skill conditions.
|
||||||
if (skill.isPassive() && !skill.checkConditions(SkillConditionScope.PASSIVE, player, player))
|
if (skill.isPassive() && !skill.checkConditions(SkillConditionScope.PASSIVE, player, player))
|
||||||
{
|
{
|
||||||
continue;
|
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
|
else
|
||||||
{
|
{
|
||||||
addedSkills.put(holder.getSkill().getId(), holder.getSkill());
|
addedSkills.put(skill.getId(), skill);
|
||||||
}
|
}
|
||||||
|
|
||||||
if (skill.isActive() && !player.hasSkillReuse(skill.getReuseHashCode()))
|
if (skill.isActive() && !player.hasSkillReuse(skill.getReuseHashCode()))
|
||||||
@@ -626,7 +622,6 @@ public abstract class Inventory extends ItemContainer
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
|
||||||
|
|
||||||
// Must check all equipped items for enchant conditions.
|
// Must check all equipped items for enchant conditions.
|
||||||
for (ItemInstance equipped : inventory.getPaperdollItems())
|
for (ItemInstance equipped : inventory.getPaperdollItems())
|
||||||
@@ -649,27 +644,34 @@ public abstract class Inventory extends ItemContainer
|
|||||||
continue;
|
continue;
|
||||||
}
|
}
|
||||||
|
|
||||||
// Add skills bestowed from +4 armor
|
if (equipped.getEnchantLevel() < holder.getValue())
|
||||||
if (equipped.getEnchantLevel() >= holder.getValue())
|
|
||||||
{
|
{
|
||||||
|
continue;
|
||||||
|
}
|
||||||
|
|
||||||
final Skill skill = holder.getSkill();
|
final Skill skill = holder.getSkill();
|
||||||
|
if (skill == null)
|
||||||
|
{
|
||||||
|
continue;
|
||||||
|
}
|
||||||
|
|
||||||
// Check passive skill conditions.
|
// Check passive skill conditions.
|
||||||
if (skill.isPassive() && !skill.checkConditions(SkillConditionScope.PASSIVE, player, player))
|
if (skill.isPassive() && !skill.checkConditions(SkillConditionScope.PASSIVE, player, player))
|
||||||
{
|
{
|
||||||
continue;
|
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
|
else
|
||||||
{
|
{
|
||||||
addedSkills.put(holder.getSkill().getId(), holder.getSkill());
|
addedSkills.put(skill.getId(), skill);
|
||||||
}
|
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
@@ -356,20 +356,15 @@ public abstract class Inventory extends ItemContainer
|
|||||||
{
|
{
|
||||||
for (ItemSkillHolder holder : onEnchantSkills)
|
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()))
|
continue;
|
||||||
{
|
|
||||||
if (removedSkills.get(holder.getSkill().getId()).getLevel() < holder.getSkill().getLevel())
|
|
||||||
{
|
|
||||||
removedSkills.put(holder.getSkill().getId(), holder.getSkill());
|
|
||||||
}
|
}
|
||||||
}
|
|
||||||
else
|
final Skill skill = holder.getSkill();
|
||||||
|
if (skill != null)
|
||||||
{
|
{
|
||||||
removedSkills.put(holder.getSkill().getId(), holder.getSkill());
|
removedSkills.putIfAbsent(skill.getId(), skill);
|
||||||
}
|
|
||||||
update = true;
|
update = true;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
@@ -383,17 +378,7 @@ public abstract class Inventory extends ItemContainer
|
|||||||
final Skill skill = holder.getSkill();
|
final Skill skill = holder.getSkill();
|
||||||
if (skill != null)
|
if (skill != null)
|
||||||
{
|
{
|
||||||
if (removedSkills.containsKey(holder.getSkill().getId()))
|
removedSkills.putIfAbsent(skill.getId(), skill);
|
||||||
{
|
|
||||||
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;
|
update = true;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
@@ -422,18 +407,22 @@ public abstract class Inventory extends ItemContainer
|
|||||||
}
|
}
|
||||||
|
|
||||||
final Skill skill = holder.getSkill();
|
final Skill skill = holder.getSkill();
|
||||||
if (skill != null)
|
if (skill == null)
|
||||||
{
|
{
|
||||||
if (addedSkills.containsKey(holder.getSkill().getId()))
|
continue;
|
||||||
|
}
|
||||||
|
|
||||||
|
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
|
else
|
||||||
{
|
{
|
||||||
addedSkills.put(holder.getSkill().getId(), holder.getSkill());
|
addedSkills.put(skill.getId(), skill);
|
||||||
}
|
}
|
||||||
|
|
||||||
if (skill.isActive() && !player.hasSkillReuse(skill.getReuseHashCode()))
|
if (skill.isActive() && !player.hasSkillReuse(skill.getReuseHashCode()))
|
||||||
@@ -451,7 +440,6 @@ public abstract class Inventory extends ItemContainer
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
|
||||||
|
|
||||||
// Must check all equipped items for enchant conditions.
|
// Must check all equipped items for enchant conditions.
|
||||||
for (ItemInstance equipped : inventory.getPaperdollItems())
|
for (ItemInstance equipped : inventory.getPaperdollItems())
|
||||||
@@ -469,29 +457,25 @@ public abstract class Inventory extends ItemContainer
|
|||||||
|
|
||||||
for (ItemSkillHolder holder : otherEnchantSkills)
|
for (ItemSkillHolder holder : otherEnchantSkills)
|
||||||
{
|
{
|
||||||
// Add skills bestowed from +4 armor
|
if (equipped.getEnchantLevel() < holder.getValue())
|
||||||
if (equipped.getEnchantLevel() >= holder.getValue())
|
|
||||||
{
|
{
|
||||||
|
continue;
|
||||||
|
}
|
||||||
|
|
||||||
final Skill skill = holder.getSkill();
|
final Skill skill = holder.getSkill();
|
||||||
|
if (skill == null)
|
||||||
|
{
|
||||||
|
continue;
|
||||||
|
}
|
||||||
|
|
||||||
// Check passive skill conditions.
|
// Check passive skill conditions.
|
||||||
if (skill.isPassive() && !skill.checkConditions(SkillConditionScope.PASSIVE, player, player))
|
if (skill.isPassive() && !skill.checkConditions(SkillConditionScope.PASSIVE, player, player))
|
||||||
{
|
{
|
||||||
if (removedSkills.containsKey(holder.getSkill().getId()))
|
removedSkills.putIfAbsent(skill.getId(), skill);
|
||||||
{
|
|
||||||
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;
|
update = true;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
|
||||||
|
|
||||||
// Must check for toggle and isRemovedOnUnequipWeapon skill item conditions.
|
// Must check for toggle and isRemovedOnUnequipWeapon skill item conditions.
|
||||||
for (Skill skill : player.getAllSkills())
|
for (Skill skill : player.getAllSkills())
|
||||||
@@ -581,27 +565,34 @@ public abstract class Inventory extends ItemContainer
|
|||||||
continue;
|
continue;
|
||||||
}
|
}
|
||||||
|
|
||||||
// Add skills bestowed from +4 armor
|
if (item.getEnchantLevel() < holder.getValue())
|
||||||
if (item.getEnchantLevel() >= holder.getValue())
|
|
||||||
{
|
{
|
||||||
|
continue;
|
||||||
|
}
|
||||||
|
|
||||||
final Skill skill = holder.getSkill();
|
final Skill skill = holder.getSkill();
|
||||||
|
if (skill == null)
|
||||||
|
{
|
||||||
|
continue;
|
||||||
|
}
|
||||||
|
|
||||||
// Check passive skill conditions.
|
// Check passive skill conditions.
|
||||||
if (skill.isPassive() && !skill.checkConditions(SkillConditionScope.PASSIVE, player, player))
|
if (skill.isPassive() && !skill.checkConditions(SkillConditionScope.PASSIVE, player, player))
|
||||||
{
|
{
|
||||||
continue;
|
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
|
else
|
||||||
{
|
{
|
||||||
addedSkills.put(holder.getSkill().getId(), holder.getSkill());
|
addedSkills.put(skill.getId(), skill);
|
||||||
}
|
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
@@ -617,23 +608,28 @@ public abstract class Inventory extends ItemContainer
|
|||||||
}
|
}
|
||||||
|
|
||||||
final Skill skill = holder.getSkill();
|
final Skill skill = holder.getSkill();
|
||||||
if (skill != null)
|
if (skill == null)
|
||||||
{
|
{
|
||||||
|
continue;
|
||||||
|
}
|
||||||
|
|
||||||
|
// Check passive skill conditions.
|
||||||
if (skill.isPassive() && !skill.checkConditions(SkillConditionScope.PASSIVE, player, player))
|
if (skill.isPassive() && !skill.checkConditions(SkillConditionScope.PASSIVE, player, player))
|
||||||
{
|
{
|
||||||
continue;
|
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
|
else
|
||||||
{
|
{
|
||||||
addedSkills.put(holder.getSkill().getId(), holder.getSkill());
|
addedSkills.put(skill.getId(), skill);
|
||||||
}
|
}
|
||||||
|
|
||||||
if (skill.isActive() && !player.hasSkillReuse(skill.getReuseHashCode()))
|
if (skill.isActive() && !player.hasSkillReuse(skill.getReuseHashCode()))
|
||||||
@@ -649,7 +645,6 @@ public abstract class Inventory extends ItemContainer
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
|
||||||
|
|
||||||
// Must check all equipped items for enchant conditions.
|
// Must check all equipped items for enchant conditions.
|
||||||
for (ItemInstance equipped : inventory.getPaperdollItems())
|
for (ItemInstance equipped : inventory.getPaperdollItems())
|
||||||
@@ -672,27 +667,34 @@ public abstract class Inventory extends ItemContainer
|
|||||||
continue;
|
continue;
|
||||||
}
|
}
|
||||||
|
|
||||||
// Add skills bestowed from +4 armor
|
if (equipped.getEnchantLevel() < holder.getValue())
|
||||||
if (equipped.getEnchantLevel() >= holder.getValue())
|
|
||||||
{
|
{
|
||||||
|
continue;
|
||||||
|
}
|
||||||
|
|
||||||
final Skill skill = holder.getSkill();
|
final Skill skill = holder.getSkill();
|
||||||
|
if (skill == null)
|
||||||
|
{
|
||||||
|
continue;
|
||||||
|
}
|
||||||
|
|
||||||
// Check passive skill conditions.
|
// Check passive skill conditions.
|
||||||
if (skill.isPassive() && !skill.checkConditions(SkillConditionScope.PASSIVE, player, player))
|
if (skill.isPassive() && !skill.checkConditions(SkillConditionScope.PASSIVE, player, player))
|
||||||
{
|
{
|
||||||
continue;
|
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
|
else
|
||||||
{
|
{
|
||||||
addedSkills.put(holder.getSkill().getId(), holder.getSkill());
|
addedSkills.put(skill.getId(), skill);
|
||||||
}
|
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
@@ -356,20 +356,15 @@ public abstract class Inventory extends ItemContainer
|
|||||||
{
|
{
|
||||||
for (ItemSkillHolder holder : onEnchantSkills)
|
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()))
|
continue;
|
||||||
{
|
|
||||||
if (removedSkills.get(holder.getSkill().getId()).getLevel() < holder.getSkill().getLevel())
|
|
||||||
{
|
|
||||||
removedSkills.put(holder.getSkill().getId(), holder.getSkill());
|
|
||||||
}
|
}
|
||||||
}
|
|
||||||
else
|
final Skill skill = holder.getSkill();
|
||||||
|
if (skill != null)
|
||||||
{
|
{
|
||||||
removedSkills.put(holder.getSkill().getId(), holder.getSkill());
|
removedSkills.putIfAbsent(skill.getId(), skill);
|
||||||
}
|
|
||||||
update = true;
|
update = true;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
@@ -383,17 +378,7 @@ public abstract class Inventory extends ItemContainer
|
|||||||
final Skill skill = holder.getSkill();
|
final Skill skill = holder.getSkill();
|
||||||
if (skill != null)
|
if (skill != null)
|
||||||
{
|
{
|
||||||
if (removedSkills.containsKey(holder.getSkill().getId()))
|
removedSkills.putIfAbsent(skill.getId(), skill);
|
||||||
{
|
|
||||||
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;
|
update = true;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
@@ -422,18 +407,22 @@ public abstract class Inventory extends ItemContainer
|
|||||||
}
|
}
|
||||||
|
|
||||||
final Skill skill = holder.getSkill();
|
final Skill skill = holder.getSkill();
|
||||||
if (skill != null)
|
if (skill == null)
|
||||||
{
|
{
|
||||||
if (addedSkills.containsKey(holder.getSkill().getId()))
|
continue;
|
||||||
|
}
|
||||||
|
|
||||||
|
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
|
else
|
||||||
{
|
{
|
||||||
addedSkills.put(holder.getSkill().getId(), holder.getSkill());
|
addedSkills.put(skill.getId(), skill);
|
||||||
}
|
}
|
||||||
|
|
||||||
if (skill.isActive() && !player.hasSkillReuse(skill.getReuseHashCode()))
|
if (skill.isActive() && !player.hasSkillReuse(skill.getReuseHashCode()))
|
||||||
@@ -451,7 +440,6 @@ public abstract class Inventory extends ItemContainer
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
|
||||||
|
|
||||||
// Must check all equipped items for enchant conditions.
|
// Must check all equipped items for enchant conditions.
|
||||||
for (ItemInstance equipped : inventory.getPaperdollItems())
|
for (ItemInstance equipped : inventory.getPaperdollItems())
|
||||||
@@ -469,29 +457,25 @@ public abstract class Inventory extends ItemContainer
|
|||||||
|
|
||||||
for (ItemSkillHolder holder : otherEnchantSkills)
|
for (ItemSkillHolder holder : otherEnchantSkills)
|
||||||
{
|
{
|
||||||
// Add skills bestowed from +4 armor
|
if (equipped.getEnchantLevel() < holder.getValue())
|
||||||
if (equipped.getEnchantLevel() >= holder.getValue())
|
|
||||||
{
|
{
|
||||||
|
continue;
|
||||||
|
}
|
||||||
|
|
||||||
final Skill skill = holder.getSkill();
|
final Skill skill = holder.getSkill();
|
||||||
|
if (skill == null)
|
||||||
|
{
|
||||||
|
continue;
|
||||||
|
}
|
||||||
|
|
||||||
// Check passive skill conditions.
|
// Check passive skill conditions.
|
||||||
if (skill.isPassive() && !skill.checkConditions(SkillConditionScope.PASSIVE, player, player))
|
if (skill.isPassive() && !skill.checkConditions(SkillConditionScope.PASSIVE, player, player))
|
||||||
{
|
{
|
||||||
if (removedSkills.containsKey(holder.getSkill().getId()))
|
removedSkills.putIfAbsent(skill.getId(), skill);
|
||||||
{
|
|
||||||
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;
|
update = true;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
|
||||||
|
|
||||||
// Must check for toggle and isRemovedOnUnequipWeapon skill item conditions.
|
// Must check for toggle and isRemovedOnUnequipWeapon skill item conditions.
|
||||||
for (Skill skill : player.getAllSkills())
|
for (Skill skill : player.getAllSkills())
|
||||||
@@ -581,27 +565,34 @@ public abstract class Inventory extends ItemContainer
|
|||||||
continue;
|
continue;
|
||||||
}
|
}
|
||||||
|
|
||||||
// Add skills bestowed from +4 armor
|
if (item.getEnchantLevel() < holder.getValue())
|
||||||
if (item.getEnchantLevel() >= holder.getValue())
|
|
||||||
{
|
{
|
||||||
|
continue;
|
||||||
|
}
|
||||||
|
|
||||||
final Skill skill = holder.getSkill();
|
final Skill skill = holder.getSkill();
|
||||||
|
if (skill == null)
|
||||||
|
{
|
||||||
|
continue;
|
||||||
|
}
|
||||||
|
|
||||||
// Check passive skill conditions.
|
// Check passive skill conditions.
|
||||||
if (skill.isPassive() && !skill.checkConditions(SkillConditionScope.PASSIVE, player, player))
|
if (skill.isPassive() && !skill.checkConditions(SkillConditionScope.PASSIVE, player, player))
|
||||||
{
|
{
|
||||||
continue;
|
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
|
else
|
||||||
{
|
{
|
||||||
addedSkills.put(holder.getSkill().getId(), holder.getSkill());
|
addedSkills.put(skill.getId(), skill);
|
||||||
}
|
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
@@ -617,23 +608,28 @@ public abstract class Inventory extends ItemContainer
|
|||||||
}
|
}
|
||||||
|
|
||||||
final Skill skill = holder.getSkill();
|
final Skill skill = holder.getSkill();
|
||||||
if (skill != null)
|
if (skill == null)
|
||||||
{
|
{
|
||||||
|
continue;
|
||||||
|
}
|
||||||
|
|
||||||
|
// Check passive skill conditions.
|
||||||
if (skill.isPassive() && !skill.checkConditions(SkillConditionScope.PASSIVE, player, player))
|
if (skill.isPassive() && !skill.checkConditions(SkillConditionScope.PASSIVE, player, player))
|
||||||
{
|
{
|
||||||
continue;
|
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
|
else
|
||||||
{
|
{
|
||||||
addedSkills.put(holder.getSkill().getId(), holder.getSkill());
|
addedSkills.put(skill.getId(), skill);
|
||||||
}
|
}
|
||||||
|
|
||||||
if (skill.isActive() && !player.hasSkillReuse(skill.getReuseHashCode()))
|
if (skill.isActive() && !player.hasSkillReuse(skill.getReuseHashCode()))
|
||||||
@@ -649,7 +645,6 @@ public abstract class Inventory extends ItemContainer
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
|
||||||
|
|
||||||
// Must check all equipped items for enchant conditions.
|
// Must check all equipped items for enchant conditions.
|
||||||
for (ItemInstance equipped : inventory.getPaperdollItems())
|
for (ItemInstance equipped : inventory.getPaperdollItems())
|
||||||
@@ -672,27 +667,34 @@ public abstract class Inventory extends ItemContainer
|
|||||||
continue;
|
continue;
|
||||||
}
|
}
|
||||||
|
|
||||||
// Add skills bestowed from +4 armor
|
if (equipped.getEnchantLevel() < holder.getValue())
|
||||||
if (equipped.getEnchantLevel() >= holder.getValue())
|
|
||||||
{
|
{
|
||||||
|
continue;
|
||||||
|
}
|
||||||
|
|
||||||
final Skill skill = holder.getSkill();
|
final Skill skill = holder.getSkill();
|
||||||
|
if (skill == null)
|
||||||
|
{
|
||||||
|
continue;
|
||||||
|
}
|
||||||
|
|
||||||
// Check passive skill conditions.
|
// Check passive skill conditions.
|
||||||
if (skill.isPassive() && !skill.checkConditions(SkillConditionScope.PASSIVE, player, player))
|
if (skill.isPassive() && !skill.checkConditions(SkillConditionScope.PASSIVE, player, player))
|
||||||
{
|
{
|
||||||
continue;
|
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
|
else
|
||||||
{
|
{
|
||||||
addedSkills.put(holder.getSkill().getId(), holder.getSkill());
|
addedSkills.put(skill.getId(), skill);
|
||||||
}
|
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
@@ -356,20 +356,15 @@ public abstract class Inventory extends ItemContainer
|
|||||||
{
|
{
|
||||||
for (ItemSkillHolder holder : onEnchantSkills)
|
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()))
|
continue;
|
||||||
{
|
|
||||||
if (removedSkills.get(holder.getSkill().getId()).getLevel() < holder.getSkill().getLevel())
|
|
||||||
{
|
|
||||||
removedSkills.put(holder.getSkill().getId(), holder.getSkill());
|
|
||||||
}
|
}
|
||||||
}
|
|
||||||
else
|
final Skill skill = holder.getSkill();
|
||||||
|
if (skill != null)
|
||||||
{
|
{
|
||||||
removedSkills.put(holder.getSkill().getId(), holder.getSkill());
|
removedSkills.putIfAbsent(skill.getId(), skill);
|
||||||
}
|
|
||||||
update = true;
|
update = true;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
@@ -383,17 +378,7 @@ public abstract class Inventory extends ItemContainer
|
|||||||
final Skill skill = holder.getSkill();
|
final Skill skill = holder.getSkill();
|
||||||
if (skill != null)
|
if (skill != null)
|
||||||
{
|
{
|
||||||
if (removedSkills.containsKey(holder.getSkill().getId()))
|
removedSkills.putIfAbsent(skill.getId(), skill);
|
||||||
{
|
|
||||||
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;
|
update = true;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
@@ -422,18 +407,22 @@ public abstract class Inventory extends ItemContainer
|
|||||||
}
|
}
|
||||||
|
|
||||||
final Skill skill = holder.getSkill();
|
final Skill skill = holder.getSkill();
|
||||||
if (skill != null)
|
if (skill == null)
|
||||||
{
|
{
|
||||||
if (addedSkills.containsKey(holder.getSkill().getId()))
|
continue;
|
||||||
|
}
|
||||||
|
|
||||||
|
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
|
else
|
||||||
{
|
{
|
||||||
addedSkills.put(holder.getSkill().getId(), holder.getSkill());
|
addedSkills.put(skill.getId(), skill);
|
||||||
}
|
}
|
||||||
|
|
||||||
if (skill.isActive() && !player.hasSkillReuse(skill.getReuseHashCode()))
|
if (skill.isActive() && !player.hasSkillReuse(skill.getReuseHashCode()))
|
||||||
@@ -451,7 +440,6 @@ public abstract class Inventory extends ItemContainer
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
|
||||||
|
|
||||||
// Must check all equipped items for enchant conditions.
|
// Must check all equipped items for enchant conditions.
|
||||||
for (ItemInstance equipped : inventory.getPaperdollItems())
|
for (ItemInstance equipped : inventory.getPaperdollItems())
|
||||||
@@ -469,29 +457,25 @@ public abstract class Inventory extends ItemContainer
|
|||||||
|
|
||||||
for (ItemSkillHolder holder : otherEnchantSkills)
|
for (ItemSkillHolder holder : otherEnchantSkills)
|
||||||
{
|
{
|
||||||
// Add skills bestowed from +4 armor
|
if (equipped.getEnchantLevel() < holder.getValue())
|
||||||
if (equipped.getEnchantLevel() >= holder.getValue())
|
|
||||||
{
|
{
|
||||||
|
continue;
|
||||||
|
}
|
||||||
|
|
||||||
final Skill skill = holder.getSkill();
|
final Skill skill = holder.getSkill();
|
||||||
|
if (skill == null)
|
||||||
|
{
|
||||||
|
continue;
|
||||||
|
}
|
||||||
|
|
||||||
// Check passive skill conditions.
|
// Check passive skill conditions.
|
||||||
if (skill.isPassive() && !skill.checkConditions(SkillConditionScope.PASSIVE, player, player))
|
if (skill.isPassive() && !skill.checkConditions(SkillConditionScope.PASSIVE, player, player))
|
||||||
{
|
{
|
||||||
if (removedSkills.containsKey(holder.getSkill().getId()))
|
removedSkills.putIfAbsent(skill.getId(), skill);
|
||||||
{
|
|
||||||
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;
|
update = true;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
|
||||||
|
|
||||||
// Must check for toggle and isRemovedOnUnequipWeapon skill item conditions.
|
// Must check for toggle and isRemovedOnUnequipWeapon skill item conditions.
|
||||||
for (Skill skill : player.getAllSkills())
|
for (Skill skill : player.getAllSkills())
|
||||||
@@ -575,27 +559,34 @@ public abstract class Inventory extends ItemContainer
|
|||||||
continue;
|
continue;
|
||||||
}
|
}
|
||||||
|
|
||||||
// Add skills bestowed from +4 armor
|
if (item.getEnchantLevel() < holder.getValue())
|
||||||
if (item.getEnchantLevel() >= holder.getValue())
|
|
||||||
{
|
{
|
||||||
|
continue;
|
||||||
|
}
|
||||||
|
|
||||||
final Skill skill = holder.getSkill();
|
final Skill skill = holder.getSkill();
|
||||||
|
if (skill == null)
|
||||||
|
{
|
||||||
|
continue;
|
||||||
|
}
|
||||||
|
|
||||||
// Check passive skill conditions.
|
// Check passive skill conditions.
|
||||||
if (skill.isPassive() && !skill.checkConditions(SkillConditionScope.PASSIVE, player, player))
|
if (skill.isPassive() && !skill.checkConditions(SkillConditionScope.PASSIVE, player, player))
|
||||||
{
|
{
|
||||||
continue;
|
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
|
else
|
||||||
{
|
{
|
||||||
addedSkills.put(holder.getSkill().getId(), holder.getSkill());
|
addedSkills.put(skill.getId(), skill);
|
||||||
}
|
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
@@ -611,23 +602,28 @@ public abstract class Inventory extends ItemContainer
|
|||||||
}
|
}
|
||||||
|
|
||||||
final Skill skill = holder.getSkill();
|
final Skill skill = holder.getSkill();
|
||||||
if (skill != null)
|
if (skill == null)
|
||||||
{
|
{
|
||||||
|
continue;
|
||||||
|
}
|
||||||
|
|
||||||
|
// Check passive skill conditions.
|
||||||
if (skill.isPassive() && !skill.checkConditions(SkillConditionScope.PASSIVE, player, player))
|
if (skill.isPassive() && !skill.checkConditions(SkillConditionScope.PASSIVE, player, player))
|
||||||
{
|
{
|
||||||
continue;
|
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
|
else
|
||||||
{
|
{
|
||||||
addedSkills.put(holder.getSkill().getId(), holder.getSkill());
|
addedSkills.put(skill.getId(), skill);
|
||||||
}
|
}
|
||||||
|
|
||||||
if (skill.isActive() && !player.hasSkillReuse(skill.getReuseHashCode()))
|
if (skill.isActive() && !player.hasSkillReuse(skill.getReuseHashCode()))
|
||||||
@@ -643,7 +639,6 @@ public abstract class Inventory extends ItemContainer
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
|
||||||
|
|
||||||
// Must check all equipped items for enchant conditions.
|
// Must check all equipped items for enchant conditions.
|
||||||
for (ItemInstance equipped : inventory.getPaperdollItems())
|
for (ItemInstance equipped : inventory.getPaperdollItems())
|
||||||
@@ -666,27 +661,34 @@ public abstract class Inventory extends ItemContainer
|
|||||||
continue;
|
continue;
|
||||||
}
|
}
|
||||||
|
|
||||||
// Add skills bestowed from +4 armor
|
if (equipped.getEnchantLevel() < holder.getValue())
|
||||||
if (equipped.getEnchantLevel() >= holder.getValue())
|
|
||||||
{
|
{
|
||||||
|
continue;
|
||||||
|
}
|
||||||
|
|
||||||
final Skill skill = holder.getSkill();
|
final Skill skill = holder.getSkill();
|
||||||
|
if (skill == null)
|
||||||
|
{
|
||||||
|
continue;
|
||||||
|
}
|
||||||
|
|
||||||
// Check passive skill conditions.
|
// Check passive skill conditions.
|
||||||
if (skill.isPassive() && !skill.checkConditions(SkillConditionScope.PASSIVE, player, player))
|
if (skill.isPassive() && !skill.checkConditions(SkillConditionScope.PASSIVE, player, player))
|
||||||
{
|
{
|
||||||
continue;
|
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
|
else
|
||||||
{
|
{
|
||||||
addedSkills.put(holder.getSkill().getId(), holder.getSkill());
|
addedSkills.put(skill.getId(), skill);
|
||||||
}
|
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
@@ -351,20 +351,15 @@ public abstract class Inventory extends ItemContainer
|
|||||||
{
|
{
|
||||||
for (ItemSkillHolder holder : onEnchantSkills)
|
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()))
|
continue;
|
||||||
{
|
|
||||||
if (removedSkills.get(holder.getSkill().getId()).getLevel() < holder.getSkill().getLevel())
|
|
||||||
{
|
|
||||||
removedSkills.put(holder.getSkill().getId(), holder.getSkill());
|
|
||||||
}
|
}
|
||||||
}
|
|
||||||
else
|
final Skill skill = holder.getSkill();
|
||||||
|
if (skill != null)
|
||||||
{
|
{
|
||||||
removedSkills.put(holder.getSkill().getId(), holder.getSkill());
|
removedSkills.putIfAbsent(skill.getId(), skill);
|
||||||
}
|
|
||||||
update = true;
|
update = true;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
@@ -378,17 +373,7 @@ public abstract class Inventory extends ItemContainer
|
|||||||
final Skill skill = holder.getSkill();
|
final Skill skill = holder.getSkill();
|
||||||
if (skill != null)
|
if (skill != null)
|
||||||
{
|
{
|
||||||
if (removedSkills.containsKey(holder.getSkill().getId()))
|
removedSkills.putIfAbsent(skill.getId(), skill);
|
||||||
{
|
|
||||||
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;
|
update = true;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
@@ -417,18 +402,22 @@ public abstract class Inventory extends ItemContainer
|
|||||||
}
|
}
|
||||||
|
|
||||||
final Skill skill = holder.getSkill();
|
final Skill skill = holder.getSkill();
|
||||||
if (skill != null)
|
if (skill == null)
|
||||||
{
|
{
|
||||||
if (addedSkills.containsKey(holder.getSkill().getId()))
|
continue;
|
||||||
|
}
|
||||||
|
|
||||||
|
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
|
else
|
||||||
{
|
{
|
||||||
addedSkills.put(holder.getSkill().getId(), holder.getSkill());
|
addedSkills.put(skill.getId(), skill);
|
||||||
}
|
}
|
||||||
|
|
||||||
if (skill.isActive() && !player.hasSkillReuse(skill.getReuseHashCode()))
|
if (skill.isActive() && !player.hasSkillReuse(skill.getReuseHashCode()))
|
||||||
@@ -446,7 +435,6 @@ public abstract class Inventory extends ItemContainer
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
|
||||||
|
|
||||||
// Must check all equipped items for enchant conditions.
|
// Must check all equipped items for enchant conditions.
|
||||||
for (ItemInstance equipped : inventory.getPaperdollItems())
|
for (ItemInstance equipped : inventory.getPaperdollItems())
|
||||||
@@ -464,29 +452,25 @@ public abstract class Inventory extends ItemContainer
|
|||||||
|
|
||||||
for (ItemSkillHolder holder : otherEnchantSkills)
|
for (ItemSkillHolder holder : otherEnchantSkills)
|
||||||
{
|
{
|
||||||
// Add skills bestowed from +4 armor
|
if (equipped.getEnchantLevel() < holder.getValue())
|
||||||
if (equipped.getEnchantLevel() >= holder.getValue())
|
|
||||||
{
|
{
|
||||||
|
continue;
|
||||||
|
}
|
||||||
|
|
||||||
final Skill skill = holder.getSkill();
|
final Skill skill = holder.getSkill();
|
||||||
|
if (skill == null)
|
||||||
|
{
|
||||||
|
continue;
|
||||||
|
}
|
||||||
|
|
||||||
// Check passive skill conditions.
|
// Check passive skill conditions.
|
||||||
if (skill.isPassive() && !skill.checkConditions(SkillConditionScope.PASSIVE, player, player))
|
if (skill.isPassive() && !skill.checkConditions(SkillConditionScope.PASSIVE, player, player))
|
||||||
{
|
{
|
||||||
if (removedSkills.containsKey(holder.getSkill().getId()))
|
removedSkills.putIfAbsent(skill.getId(), skill);
|
||||||
{
|
|
||||||
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;
|
update = true;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
|
||||||
|
|
||||||
// Must check for toggle and isRemovedOnUnequipWeapon skill item conditions.
|
// Must check for toggle and isRemovedOnUnequipWeapon skill item conditions.
|
||||||
for (Skill skill : player.getAllSkills())
|
for (Skill skill : player.getAllSkills())
|
||||||
@@ -570,27 +554,34 @@ public abstract class Inventory extends ItemContainer
|
|||||||
continue;
|
continue;
|
||||||
}
|
}
|
||||||
|
|
||||||
// Add skills bestowed from +4 armor
|
if (item.getEnchantLevel() < holder.getValue())
|
||||||
if (item.getEnchantLevel() >= holder.getValue())
|
|
||||||
{
|
{
|
||||||
|
continue;
|
||||||
|
}
|
||||||
|
|
||||||
final Skill skill = holder.getSkill();
|
final Skill skill = holder.getSkill();
|
||||||
|
if (skill == null)
|
||||||
|
{
|
||||||
|
continue;
|
||||||
|
}
|
||||||
|
|
||||||
// Check passive skill conditions.
|
// Check passive skill conditions.
|
||||||
if (skill.isPassive() && !skill.checkConditions(SkillConditionScope.PASSIVE, player, player))
|
if (skill.isPassive() && !skill.checkConditions(SkillConditionScope.PASSIVE, player, player))
|
||||||
{
|
{
|
||||||
continue;
|
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
|
else
|
||||||
{
|
{
|
||||||
addedSkills.put(holder.getSkill().getId(), holder.getSkill());
|
addedSkills.put(skill.getId(), skill);
|
||||||
}
|
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
@@ -606,23 +597,28 @@ public abstract class Inventory extends ItemContainer
|
|||||||
}
|
}
|
||||||
|
|
||||||
final Skill skill = holder.getSkill();
|
final Skill skill = holder.getSkill();
|
||||||
if (skill != null)
|
if (skill == null)
|
||||||
{
|
{
|
||||||
|
continue;
|
||||||
|
}
|
||||||
|
|
||||||
|
// Check passive skill conditions.
|
||||||
if (skill.isPassive() && !skill.checkConditions(SkillConditionScope.PASSIVE, player, player))
|
if (skill.isPassive() && !skill.checkConditions(SkillConditionScope.PASSIVE, player, player))
|
||||||
{
|
{
|
||||||
continue;
|
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
|
else
|
||||||
{
|
{
|
||||||
addedSkills.put(holder.getSkill().getId(), holder.getSkill());
|
addedSkills.put(skill.getId(), skill);
|
||||||
}
|
}
|
||||||
|
|
||||||
if (skill.isActive() && !player.hasSkillReuse(skill.getReuseHashCode()))
|
if (skill.isActive() && !player.hasSkillReuse(skill.getReuseHashCode()))
|
||||||
@@ -638,7 +634,6 @@ public abstract class Inventory extends ItemContainer
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
|
||||||
|
|
||||||
// Must check all equipped items for enchant conditions.
|
// Must check all equipped items for enchant conditions.
|
||||||
for (ItemInstance equipped : inventory.getPaperdollItems())
|
for (ItemInstance equipped : inventory.getPaperdollItems())
|
||||||
@@ -661,27 +656,34 @@ public abstract class Inventory extends ItemContainer
|
|||||||
continue;
|
continue;
|
||||||
}
|
}
|
||||||
|
|
||||||
// Add skills bestowed from +4 armor
|
if (equipped.getEnchantLevel() < holder.getValue())
|
||||||
if (equipped.getEnchantLevel() >= holder.getValue())
|
|
||||||
{
|
{
|
||||||
|
continue;
|
||||||
|
}
|
||||||
|
|
||||||
final Skill skill = holder.getSkill();
|
final Skill skill = holder.getSkill();
|
||||||
|
if (skill == null)
|
||||||
|
{
|
||||||
|
continue;
|
||||||
|
}
|
||||||
|
|
||||||
// Check passive skill conditions.
|
// Check passive skill conditions.
|
||||||
if (skill.isPassive() && !skill.checkConditions(SkillConditionScope.PASSIVE, player, player))
|
if (skill.isPassive() && !skill.checkConditions(SkillConditionScope.PASSIVE, player, player))
|
||||||
{
|
{
|
||||||
continue;
|
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
|
else
|
||||||
{
|
{
|
||||||
addedSkills.put(holder.getSkill().getId(), holder.getSkill());
|
addedSkills.put(skill.getId(), skill);
|
||||||
}
|
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
@@ -351,20 +351,15 @@ public abstract class Inventory extends ItemContainer
|
|||||||
{
|
{
|
||||||
for (ItemSkillHolder holder : onEnchantSkills)
|
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()))
|
continue;
|
||||||
{
|
|
||||||
if (removedSkills.get(holder.getSkill().getId()).getLevel() < holder.getSkill().getLevel())
|
|
||||||
{
|
|
||||||
removedSkills.put(holder.getSkill().getId(), holder.getSkill());
|
|
||||||
}
|
}
|
||||||
}
|
|
||||||
else
|
final Skill skill = holder.getSkill();
|
||||||
|
if (skill != null)
|
||||||
{
|
{
|
||||||
removedSkills.put(holder.getSkill().getId(), holder.getSkill());
|
removedSkills.putIfAbsent(skill.getId(), skill);
|
||||||
}
|
|
||||||
update = true;
|
update = true;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
@@ -378,17 +373,7 @@ public abstract class Inventory extends ItemContainer
|
|||||||
final Skill skill = holder.getSkill();
|
final Skill skill = holder.getSkill();
|
||||||
if (skill != null)
|
if (skill != null)
|
||||||
{
|
{
|
||||||
if (removedSkills.containsKey(holder.getSkill().getId()))
|
removedSkills.putIfAbsent(skill.getId(), skill);
|
||||||
{
|
|
||||||
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;
|
update = true;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
@@ -417,18 +402,22 @@ public abstract class Inventory extends ItemContainer
|
|||||||
}
|
}
|
||||||
|
|
||||||
final Skill skill = holder.getSkill();
|
final Skill skill = holder.getSkill();
|
||||||
if (skill != null)
|
if (skill == null)
|
||||||
{
|
{
|
||||||
if (addedSkills.containsKey(holder.getSkill().getId()))
|
continue;
|
||||||
|
}
|
||||||
|
|
||||||
|
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
|
else
|
||||||
{
|
{
|
||||||
addedSkills.put(holder.getSkill().getId(), holder.getSkill());
|
addedSkills.put(skill.getId(), skill);
|
||||||
}
|
}
|
||||||
|
|
||||||
if (skill.isActive() && !player.hasSkillReuse(skill.getReuseHashCode()))
|
if (skill.isActive() && !player.hasSkillReuse(skill.getReuseHashCode()))
|
||||||
@@ -446,7 +435,6 @@ public abstract class Inventory extends ItemContainer
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
|
||||||
|
|
||||||
// Must check all equipped items for enchant conditions.
|
// Must check all equipped items for enchant conditions.
|
||||||
for (ItemInstance equipped : inventory.getPaperdollItems())
|
for (ItemInstance equipped : inventory.getPaperdollItems())
|
||||||
@@ -464,29 +452,25 @@ public abstract class Inventory extends ItemContainer
|
|||||||
|
|
||||||
for (ItemSkillHolder holder : otherEnchantSkills)
|
for (ItemSkillHolder holder : otherEnchantSkills)
|
||||||
{
|
{
|
||||||
// Add skills bestowed from +4 armor
|
if (equipped.getEnchantLevel() < holder.getValue())
|
||||||
if (equipped.getEnchantLevel() >= holder.getValue())
|
|
||||||
{
|
{
|
||||||
|
continue;
|
||||||
|
}
|
||||||
|
|
||||||
final Skill skill = holder.getSkill();
|
final Skill skill = holder.getSkill();
|
||||||
|
if (skill == null)
|
||||||
|
{
|
||||||
|
continue;
|
||||||
|
}
|
||||||
|
|
||||||
// Check passive skill conditions.
|
// Check passive skill conditions.
|
||||||
if (skill.isPassive() && !skill.checkConditions(SkillConditionScope.PASSIVE, player, player))
|
if (skill.isPassive() && !skill.checkConditions(SkillConditionScope.PASSIVE, player, player))
|
||||||
{
|
{
|
||||||
if (removedSkills.containsKey(holder.getSkill().getId()))
|
removedSkills.putIfAbsent(skill.getId(), skill);
|
||||||
{
|
|
||||||
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;
|
update = true;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
|
||||||
|
|
||||||
// Must check for toggle and isRemovedOnUnequipWeapon skill item conditions.
|
// Must check for toggle and isRemovedOnUnequipWeapon skill item conditions.
|
||||||
for (Skill skill : player.getAllSkills())
|
for (Skill skill : player.getAllSkills())
|
||||||
@@ -570,27 +554,34 @@ public abstract class Inventory extends ItemContainer
|
|||||||
continue;
|
continue;
|
||||||
}
|
}
|
||||||
|
|
||||||
// Add skills bestowed from +4 armor
|
if (item.getEnchantLevel() < holder.getValue())
|
||||||
if (item.getEnchantLevel() >= holder.getValue())
|
|
||||||
{
|
{
|
||||||
|
continue;
|
||||||
|
}
|
||||||
|
|
||||||
final Skill skill = holder.getSkill();
|
final Skill skill = holder.getSkill();
|
||||||
|
if (skill == null)
|
||||||
|
{
|
||||||
|
continue;
|
||||||
|
}
|
||||||
|
|
||||||
// Check passive skill conditions.
|
// Check passive skill conditions.
|
||||||
if (skill.isPassive() && !skill.checkConditions(SkillConditionScope.PASSIVE, player, player))
|
if (skill.isPassive() && !skill.checkConditions(SkillConditionScope.PASSIVE, player, player))
|
||||||
{
|
{
|
||||||
continue;
|
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
|
else
|
||||||
{
|
{
|
||||||
addedSkills.put(holder.getSkill().getId(), holder.getSkill());
|
addedSkills.put(skill.getId(), skill);
|
||||||
}
|
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
@@ -606,23 +597,28 @@ public abstract class Inventory extends ItemContainer
|
|||||||
}
|
}
|
||||||
|
|
||||||
final Skill skill = holder.getSkill();
|
final Skill skill = holder.getSkill();
|
||||||
if (skill != null)
|
if (skill == null)
|
||||||
{
|
{
|
||||||
|
continue;
|
||||||
|
}
|
||||||
|
|
||||||
|
// Check passive skill conditions.
|
||||||
if (skill.isPassive() && !skill.checkConditions(SkillConditionScope.PASSIVE, player, player))
|
if (skill.isPassive() && !skill.checkConditions(SkillConditionScope.PASSIVE, player, player))
|
||||||
{
|
{
|
||||||
continue;
|
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
|
else
|
||||||
{
|
{
|
||||||
addedSkills.put(holder.getSkill().getId(), holder.getSkill());
|
addedSkills.put(skill.getId(), skill);
|
||||||
}
|
}
|
||||||
|
|
||||||
if (skill.isActive() && !player.hasSkillReuse(skill.getReuseHashCode()))
|
if (skill.isActive() && !player.hasSkillReuse(skill.getReuseHashCode()))
|
||||||
@@ -638,7 +634,6 @@ public abstract class Inventory extends ItemContainer
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
|
||||||
|
|
||||||
// Must check all equipped items for enchant conditions.
|
// Must check all equipped items for enchant conditions.
|
||||||
for (ItemInstance equipped : inventory.getPaperdollItems())
|
for (ItemInstance equipped : inventory.getPaperdollItems())
|
||||||
@@ -661,27 +656,34 @@ public abstract class Inventory extends ItemContainer
|
|||||||
continue;
|
continue;
|
||||||
}
|
}
|
||||||
|
|
||||||
// Add skills bestowed from +4 armor
|
if (equipped.getEnchantLevel() < holder.getValue())
|
||||||
if (equipped.getEnchantLevel() >= holder.getValue())
|
|
||||||
{
|
{
|
||||||
|
continue;
|
||||||
|
}
|
||||||
|
|
||||||
final Skill skill = holder.getSkill();
|
final Skill skill = holder.getSkill();
|
||||||
|
if (skill == null)
|
||||||
|
{
|
||||||
|
continue;
|
||||||
|
}
|
||||||
|
|
||||||
// Check passive skill conditions.
|
// Check passive skill conditions.
|
||||||
if (skill.isPassive() && !skill.checkConditions(SkillConditionScope.PASSIVE, player, player))
|
if (skill.isPassive() && !skill.checkConditions(SkillConditionScope.PASSIVE, player, player))
|
||||||
{
|
{
|
||||||
continue;
|
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
|
else
|
||||||
{
|
{
|
||||||
addedSkills.put(holder.getSkill().getId(), holder.getSkill());
|
addedSkills.put(skill.getId(), skill);
|
||||||
}
|
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
@@ -325,20 +325,15 @@ public abstract class Inventory extends ItemContainer
|
|||||||
{
|
{
|
||||||
for (ItemSkillHolder holder : onEnchantSkills)
|
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()))
|
continue;
|
||||||
{
|
|
||||||
if (removedSkills.get(holder.getSkill().getId()).getLevel() < holder.getSkill().getLevel())
|
|
||||||
{
|
|
||||||
removedSkills.put(holder.getSkill().getId(), holder.getSkill());
|
|
||||||
}
|
}
|
||||||
}
|
|
||||||
else
|
final Skill skill = holder.getSkill();
|
||||||
|
if (skill != null)
|
||||||
{
|
{
|
||||||
removedSkills.put(holder.getSkill().getId(), holder.getSkill());
|
removedSkills.putIfAbsent(skill.getId(), skill);
|
||||||
}
|
|
||||||
update = true;
|
update = true;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
@@ -352,17 +347,7 @@ public abstract class Inventory extends ItemContainer
|
|||||||
final Skill skill = holder.getSkill();
|
final Skill skill = holder.getSkill();
|
||||||
if (skill != null)
|
if (skill != null)
|
||||||
{
|
{
|
||||||
if (removedSkills.containsKey(holder.getSkill().getId()))
|
removedSkills.putIfAbsent(skill.getId(), skill);
|
||||||
{
|
|
||||||
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;
|
update = true;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
@@ -391,18 +376,22 @@ public abstract class Inventory extends ItemContainer
|
|||||||
}
|
}
|
||||||
|
|
||||||
final Skill skill = holder.getSkill();
|
final Skill skill = holder.getSkill();
|
||||||
if (skill != null)
|
if (skill == null)
|
||||||
{
|
{
|
||||||
if (addedSkills.containsKey(holder.getSkill().getId()))
|
continue;
|
||||||
|
}
|
||||||
|
|
||||||
|
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
|
else
|
||||||
{
|
{
|
||||||
addedSkills.put(holder.getSkill().getId(), holder.getSkill());
|
addedSkills.put(skill.getId(), skill);
|
||||||
}
|
}
|
||||||
|
|
||||||
if (skill.isActive() && !player.hasSkillReuse(skill.getReuseHashCode()))
|
if (skill.isActive() && !player.hasSkillReuse(skill.getReuseHashCode()))
|
||||||
@@ -420,7 +409,6 @@ public abstract class Inventory extends ItemContainer
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
|
||||||
|
|
||||||
// Must check all equipped items for enchant conditions.
|
// Must check all equipped items for enchant conditions.
|
||||||
for (ItemInstance equipped : inventory.getPaperdollItems())
|
for (ItemInstance equipped : inventory.getPaperdollItems())
|
||||||
@@ -438,29 +426,25 @@ public abstract class Inventory extends ItemContainer
|
|||||||
|
|
||||||
for (ItemSkillHolder holder : otherEnchantSkills)
|
for (ItemSkillHolder holder : otherEnchantSkills)
|
||||||
{
|
{
|
||||||
// Add skills bestowed from +4 armor
|
if (equipped.getEnchantLevel() < holder.getValue())
|
||||||
if (equipped.getEnchantLevel() >= holder.getValue())
|
|
||||||
{
|
{
|
||||||
|
continue;
|
||||||
|
}
|
||||||
|
|
||||||
final Skill skill = holder.getSkill();
|
final Skill skill = holder.getSkill();
|
||||||
|
if (skill == null)
|
||||||
|
{
|
||||||
|
continue;
|
||||||
|
}
|
||||||
|
|
||||||
// Check passive skill conditions.
|
// Check passive skill conditions.
|
||||||
if (skill.isPassive() && !skill.checkConditions(SkillConditionScope.PASSIVE, player, player))
|
if (skill.isPassive() && !skill.checkConditions(SkillConditionScope.PASSIVE, player, player))
|
||||||
{
|
{
|
||||||
if (removedSkills.containsKey(holder.getSkill().getId()))
|
removedSkills.putIfAbsent(skill.getId(), skill);
|
||||||
{
|
|
||||||
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;
|
update = true;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
|
||||||
|
|
||||||
// Must check for toggle and isRemovedOnUnequipWeapon skill item conditions.
|
// Must check for toggle and isRemovedOnUnequipWeapon skill item conditions.
|
||||||
for (Skill skill : player.getAllSkills())
|
for (Skill skill : player.getAllSkills())
|
||||||
@@ -547,27 +531,34 @@ public abstract class Inventory extends ItemContainer
|
|||||||
continue;
|
continue;
|
||||||
}
|
}
|
||||||
|
|
||||||
// Add skills bestowed from +4 armor
|
if (item.getEnchantLevel() < holder.getValue())
|
||||||
if (item.getEnchantLevel() >= holder.getValue())
|
|
||||||
{
|
{
|
||||||
|
continue;
|
||||||
|
}
|
||||||
|
|
||||||
final Skill skill = holder.getSkill();
|
final Skill skill = holder.getSkill();
|
||||||
|
if (skill == null)
|
||||||
|
{
|
||||||
|
continue;
|
||||||
|
}
|
||||||
|
|
||||||
// Check passive skill conditions.
|
// Check passive skill conditions.
|
||||||
if (skill.isPassive() && !skill.checkConditions(SkillConditionScope.PASSIVE, player, player))
|
if (skill.isPassive() && !skill.checkConditions(SkillConditionScope.PASSIVE, player, player))
|
||||||
{
|
{
|
||||||
continue;
|
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
|
else
|
||||||
{
|
{
|
||||||
addedSkills.put(holder.getSkill().getId(), holder.getSkill());
|
addedSkills.put(skill.getId(), skill);
|
||||||
}
|
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
@@ -583,23 +574,28 @@ public abstract class Inventory extends ItemContainer
|
|||||||
}
|
}
|
||||||
|
|
||||||
final Skill skill = holder.getSkill();
|
final Skill skill = holder.getSkill();
|
||||||
if (skill != null)
|
if (skill == null)
|
||||||
{
|
{
|
||||||
|
continue;
|
||||||
|
}
|
||||||
|
|
||||||
|
// Check passive skill conditions.
|
||||||
if (skill.isPassive() && !skill.checkConditions(SkillConditionScope.PASSIVE, player, player))
|
if (skill.isPassive() && !skill.checkConditions(SkillConditionScope.PASSIVE, player, player))
|
||||||
{
|
{
|
||||||
continue;
|
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
|
else
|
||||||
{
|
{
|
||||||
addedSkills.put(holder.getSkill().getId(), holder.getSkill());
|
addedSkills.put(skill.getId(), skill);
|
||||||
}
|
}
|
||||||
|
|
||||||
if (skill.isActive() && !player.hasSkillReuse(skill.getReuseHashCode()))
|
if (skill.isActive() && !player.hasSkillReuse(skill.getReuseHashCode()))
|
||||||
@@ -615,7 +611,6 @@ public abstract class Inventory extends ItemContainer
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
|
||||||
|
|
||||||
// Must check all equipped items for enchant conditions.
|
// Must check all equipped items for enchant conditions.
|
||||||
for (ItemInstance equipped : inventory.getPaperdollItems())
|
for (ItemInstance equipped : inventory.getPaperdollItems())
|
||||||
@@ -638,27 +633,34 @@ public abstract class Inventory extends ItemContainer
|
|||||||
continue;
|
continue;
|
||||||
}
|
}
|
||||||
|
|
||||||
// Add skills bestowed from +4 armor
|
if (equipped.getEnchantLevel() < holder.getValue())
|
||||||
if (equipped.getEnchantLevel() >= holder.getValue())
|
|
||||||
{
|
{
|
||||||
|
continue;
|
||||||
|
}
|
||||||
|
|
||||||
final Skill skill = holder.getSkill();
|
final Skill skill = holder.getSkill();
|
||||||
|
if (skill == null)
|
||||||
|
{
|
||||||
|
continue;
|
||||||
|
}
|
||||||
|
|
||||||
// Check passive skill conditions.
|
// Check passive skill conditions.
|
||||||
if (skill.isPassive() && !skill.checkConditions(SkillConditionScope.PASSIVE, player, player))
|
if (skill.isPassive() && !skill.checkConditions(SkillConditionScope.PASSIVE, player, player))
|
||||||
{
|
{
|
||||||
continue;
|
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
|
else
|
||||||
{
|
{
|
||||||
addedSkills.put(holder.getSkill().getId(), holder.getSkill());
|
addedSkills.put(skill.getId(), skill);
|
||||||
}
|
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
@@ -325,20 +325,15 @@ public abstract class Inventory extends ItemContainer
|
|||||||
{
|
{
|
||||||
for (ItemSkillHolder holder : onEnchantSkills)
|
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()))
|
continue;
|
||||||
{
|
|
||||||
if (removedSkills.get(holder.getSkill().getId()).getLevel() < holder.getSkill().getLevel())
|
|
||||||
{
|
|
||||||
removedSkills.put(holder.getSkill().getId(), holder.getSkill());
|
|
||||||
}
|
}
|
||||||
}
|
|
||||||
else
|
final Skill skill = holder.getSkill();
|
||||||
|
if (skill != null)
|
||||||
{
|
{
|
||||||
removedSkills.put(holder.getSkill().getId(), holder.getSkill());
|
removedSkills.putIfAbsent(skill.getId(), skill);
|
||||||
}
|
|
||||||
update = true;
|
update = true;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
@@ -352,17 +347,7 @@ public abstract class Inventory extends ItemContainer
|
|||||||
final Skill skill = holder.getSkill();
|
final Skill skill = holder.getSkill();
|
||||||
if (skill != null)
|
if (skill != null)
|
||||||
{
|
{
|
||||||
if (removedSkills.containsKey(holder.getSkill().getId()))
|
removedSkills.putIfAbsent(skill.getId(), skill);
|
||||||
{
|
|
||||||
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;
|
update = true;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
@@ -391,18 +376,22 @@ public abstract class Inventory extends ItemContainer
|
|||||||
}
|
}
|
||||||
|
|
||||||
final Skill skill = holder.getSkill();
|
final Skill skill = holder.getSkill();
|
||||||
if (skill != null)
|
if (skill == null)
|
||||||
{
|
{
|
||||||
if (addedSkills.containsKey(holder.getSkill().getId()))
|
continue;
|
||||||
|
}
|
||||||
|
|
||||||
|
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
|
else
|
||||||
{
|
{
|
||||||
addedSkills.put(holder.getSkill().getId(), holder.getSkill());
|
addedSkills.put(skill.getId(), skill);
|
||||||
}
|
}
|
||||||
|
|
||||||
if (skill.isActive() && !player.hasSkillReuse(skill.getReuseHashCode()))
|
if (skill.isActive() && !player.hasSkillReuse(skill.getReuseHashCode()))
|
||||||
@@ -420,7 +409,6 @@ public abstract class Inventory extends ItemContainer
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
|
||||||
|
|
||||||
// Must check all equipped items for enchant conditions.
|
// Must check all equipped items for enchant conditions.
|
||||||
for (ItemInstance equipped : inventory.getPaperdollItems())
|
for (ItemInstance equipped : inventory.getPaperdollItems())
|
||||||
@@ -438,29 +426,25 @@ public abstract class Inventory extends ItemContainer
|
|||||||
|
|
||||||
for (ItemSkillHolder holder : otherEnchantSkills)
|
for (ItemSkillHolder holder : otherEnchantSkills)
|
||||||
{
|
{
|
||||||
// Add skills bestowed from +4 armor
|
if (equipped.getEnchantLevel() < holder.getValue())
|
||||||
if (equipped.getEnchantLevel() >= holder.getValue())
|
|
||||||
{
|
{
|
||||||
|
continue;
|
||||||
|
}
|
||||||
|
|
||||||
final Skill skill = holder.getSkill();
|
final Skill skill = holder.getSkill();
|
||||||
|
if (skill == null)
|
||||||
|
{
|
||||||
|
continue;
|
||||||
|
}
|
||||||
|
|
||||||
// Check passive skill conditions.
|
// Check passive skill conditions.
|
||||||
if (skill.isPassive() && !skill.checkConditions(SkillConditionScope.PASSIVE, player, player))
|
if (skill.isPassive() && !skill.checkConditions(SkillConditionScope.PASSIVE, player, player))
|
||||||
{
|
{
|
||||||
if (removedSkills.containsKey(holder.getSkill().getId()))
|
removedSkills.putIfAbsent(skill.getId(), skill);
|
||||||
{
|
|
||||||
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;
|
update = true;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
|
||||||
|
|
||||||
// Must check for toggle and isRemovedOnUnequipWeapon skill item conditions.
|
// Must check for toggle and isRemovedOnUnequipWeapon skill item conditions.
|
||||||
for (Skill skill : player.getAllSkills())
|
for (Skill skill : player.getAllSkills())
|
||||||
@@ -547,27 +531,34 @@ public abstract class Inventory extends ItemContainer
|
|||||||
continue;
|
continue;
|
||||||
}
|
}
|
||||||
|
|
||||||
// Add skills bestowed from +4 armor
|
if (item.getEnchantLevel() < holder.getValue())
|
||||||
if (item.getEnchantLevel() >= holder.getValue())
|
|
||||||
{
|
{
|
||||||
|
continue;
|
||||||
|
}
|
||||||
|
|
||||||
final Skill skill = holder.getSkill();
|
final Skill skill = holder.getSkill();
|
||||||
|
if (skill == null)
|
||||||
|
{
|
||||||
|
continue;
|
||||||
|
}
|
||||||
|
|
||||||
// Check passive skill conditions.
|
// Check passive skill conditions.
|
||||||
if (skill.isPassive() && !skill.checkConditions(SkillConditionScope.PASSIVE, player, player))
|
if (skill.isPassive() && !skill.checkConditions(SkillConditionScope.PASSIVE, player, player))
|
||||||
{
|
{
|
||||||
continue;
|
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
|
else
|
||||||
{
|
{
|
||||||
addedSkills.put(holder.getSkill().getId(), holder.getSkill());
|
addedSkills.put(skill.getId(), skill);
|
||||||
}
|
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
@@ -583,23 +574,28 @@ public abstract class Inventory extends ItemContainer
|
|||||||
}
|
}
|
||||||
|
|
||||||
final Skill skill = holder.getSkill();
|
final Skill skill = holder.getSkill();
|
||||||
if (skill != null)
|
if (skill == null)
|
||||||
{
|
{
|
||||||
|
continue;
|
||||||
|
}
|
||||||
|
|
||||||
|
// Check passive skill conditions.
|
||||||
if (skill.isPassive() && !skill.checkConditions(SkillConditionScope.PASSIVE, player, player))
|
if (skill.isPassive() && !skill.checkConditions(SkillConditionScope.PASSIVE, player, player))
|
||||||
{
|
{
|
||||||
continue;
|
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
|
else
|
||||||
{
|
{
|
||||||
addedSkills.put(holder.getSkill().getId(), holder.getSkill());
|
addedSkills.put(skill.getId(), skill);
|
||||||
}
|
}
|
||||||
|
|
||||||
if (skill.isActive() && !player.hasSkillReuse(skill.getReuseHashCode()))
|
if (skill.isActive() && !player.hasSkillReuse(skill.getReuseHashCode()))
|
||||||
@@ -615,7 +611,6 @@ public abstract class Inventory extends ItemContainer
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
|
||||||
|
|
||||||
// Must check all equipped items for enchant conditions.
|
// Must check all equipped items for enchant conditions.
|
||||||
for (ItemInstance equipped : inventory.getPaperdollItems())
|
for (ItemInstance equipped : inventory.getPaperdollItems())
|
||||||
@@ -638,27 +633,34 @@ public abstract class Inventory extends ItemContainer
|
|||||||
continue;
|
continue;
|
||||||
}
|
}
|
||||||
|
|
||||||
// Add skills bestowed from +4 armor
|
if (equipped.getEnchantLevel() < holder.getValue())
|
||||||
if (equipped.getEnchantLevel() >= holder.getValue())
|
|
||||||
{
|
{
|
||||||
|
continue;
|
||||||
|
}
|
||||||
|
|
||||||
final Skill skill = holder.getSkill();
|
final Skill skill = holder.getSkill();
|
||||||
|
if (skill == null)
|
||||||
|
{
|
||||||
|
continue;
|
||||||
|
}
|
||||||
|
|
||||||
// Check passive skill conditions.
|
// Check passive skill conditions.
|
||||||
if (skill.isPassive() && !skill.checkConditions(SkillConditionScope.PASSIVE, player, player))
|
if (skill.isPassive() && !skill.checkConditions(SkillConditionScope.PASSIVE, player, player))
|
||||||
{
|
{
|
||||||
continue;
|
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
|
else
|
||||||
{
|
{
|
||||||
addedSkills.put(holder.getSkill().getId(), holder.getSkill());
|
addedSkills.put(skill.getId(), skill);
|
||||||
}
|
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
@@ -333,20 +333,15 @@ public abstract class Inventory extends ItemContainer
|
|||||||
{
|
{
|
||||||
for (ItemSkillHolder holder : onEnchantSkills)
|
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()))
|
continue;
|
||||||
{
|
|
||||||
if (removedSkills.get(holder.getSkill().getId()).getLevel() < holder.getSkill().getLevel())
|
|
||||||
{
|
|
||||||
removedSkills.put(holder.getSkill().getId(), holder.getSkill());
|
|
||||||
}
|
}
|
||||||
}
|
|
||||||
else
|
final Skill skill = holder.getSkill();
|
||||||
|
if (skill != null)
|
||||||
{
|
{
|
||||||
removedSkills.put(holder.getSkill().getId(), holder.getSkill());
|
removedSkills.putIfAbsent(skill.getId(), skill);
|
||||||
}
|
|
||||||
update = true;
|
update = true;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
@@ -360,17 +355,7 @@ public abstract class Inventory extends ItemContainer
|
|||||||
final Skill skill = holder.getSkill();
|
final Skill skill = holder.getSkill();
|
||||||
if (skill != null)
|
if (skill != null)
|
||||||
{
|
{
|
||||||
if (removedSkills.containsKey(holder.getSkill().getId()))
|
removedSkills.putIfAbsent(skill.getId(), skill);
|
||||||
{
|
|
||||||
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;
|
update = true;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
@@ -399,18 +384,22 @@ public abstract class Inventory extends ItemContainer
|
|||||||
}
|
}
|
||||||
|
|
||||||
final Skill skill = holder.getSkill();
|
final Skill skill = holder.getSkill();
|
||||||
if (skill != null)
|
if (skill == null)
|
||||||
{
|
{
|
||||||
if (addedSkills.containsKey(holder.getSkill().getId()))
|
continue;
|
||||||
|
}
|
||||||
|
|
||||||
|
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
|
else
|
||||||
{
|
{
|
||||||
addedSkills.put(holder.getSkill().getId(), holder.getSkill());
|
addedSkills.put(skill.getId(), skill);
|
||||||
}
|
}
|
||||||
|
|
||||||
if (skill.isActive() && !player.hasSkillReuse(skill.getReuseHashCode()))
|
if (skill.isActive() && !player.hasSkillReuse(skill.getReuseHashCode()))
|
||||||
@@ -428,7 +417,6 @@ public abstract class Inventory extends ItemContainer
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
|
||||||
|
|
||||||
// Must check all equipped items for enchant conditions.
|
// Must check all equipped items for enchant conditions.
|
||||||
for (ItemInstance equipped : inventory.getPaperdollItems())
|
for (ItemInstance equipped : inventory.getPaperdollItems())
|
||||||
@@ -446,29 +434,25 @@ public abstract class Inventory extends ItemContainer
|
|||||||
|
|
||||||
for (ItemSkillHolder holder : otherEnchantSkills)
|
for (ItemSkillHolder holder : otherEnchantSkills)
|
||||||
{
|
{
|
||||||
// Add skills bestowed from +4 armor
|
if (equipped.getEnchantLevel() < holder.getValue())
|
||||||
if (equipped.getEnchantLevel() >= holder.getValue())
|
|
||||||
{
|
{
|
||||||
|
continue;
|
||||||
|
}
|
||||||
|
|
||||||
final Skill skill = holder.getSkill();
|
final Skill skill = holder.getSkill();
|
||||||
|
if (skill == null)
|
||||||
|
{
|
||||||
|
continue;
|
||||||
|
}
|
||||||
|
|
||||||
// Check passive skill conditions.
|
// Check passive skill conditions.
|
||||||
if (skill.isPassive() && !skill.checkConditions(SkillConditionScope.PASSIVE, player, player))
|
if (skill.isPassive() && !skill.checkConditions(SkillConditionScope.PASSIVE, player, player))
|
||||||
{
|
{
|
||||||
if (removedSkills.containsKey(holder.getSkill().getId()))
|
removedSkills.putIfAbsent(skill.getId(), skill);
|
||||||
{
|
|
||||||
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;
|
update = true;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
|
||||||
|
|
||||||
// Must check for toggle and isRemovedOnUnequipWeapon skill item conditions.
|
// Must check for toggle and isRemovedOnUnequipWeapon skill item conditions.
|
||||||
for (Skill skill : player.getAllSkills())
|
for (Skill skill : player.getAllSkills())
|
||||||
@@ -558,27 +542,34 @@ public abstract class Inventory extends ItemContainer
|
|||||||
continue;
|
continue;
|
||||||
}
|
}
|
||||||
|
|
||||||
// Add skills bestowed from +4 armor
|
if (item.getEnchantLevel() < holder.getValue())
|
||||||
if (item.getEnchantLevel() >= holder.getValue())
|
|
||||||
{
|
{
|
||||||
|
continue;
|
||||||
|
}
|
||||||
|
|
||||||
final Skill skill = holder.getSkill();
|
final Skill skill = holder.getSkill();
|
||||||
|
if (skill == null)
|
||||||
|
{
|
||||||
|
continue;
|
||||||
|
}
|
||||||
|
|
||||||
// Check passive skill conditions.
|
// Check passive skill conditions.
|
||||||
if (skill.isPassive() && !skill.checkConditions(SkillConditionScope.PASSIVE, player, player))
|
if (skill.isPassive() && !skill.checkConditions(SkillConditionScope.PASSIVE, player, player))
|
||||||
{
|
{
|
||||||
continue;
|
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
|
else
|
||||||
{
|
{
|
||||||
addedSkills.put(holder.getSkill().getId(), holder.getSkill());
|
addedSkills.put(skill.getId(), skill);
|
||||||
}
|
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
@@ -594,23 +585,28 @@ public abstract class Inventory extends ItemContainer
|
|||||||
}
|
}
|
||||||
|
|
||||||
final Skill skill = holder.getSkill();
|
final Skill skill = holder.getSkill();
|
||||||
if (skill != null)
|
if (skill == null)
|
||||||
{
|
{
|
||||||
|
continue;
|
||||||
|
}
|
||||||
|
|
||||||
|
// Check passive skill conditions.
|
||||||
if (skill.isPassive() && !skill.checkConditions(SkillConditionScope.PASSIVE, player, player))
|
if (skill.isPassive() && !skill.checkConditions(SkillConditionScope.PASSIVE, player, player))
|
||||||
{
|
{
|
||||||
continue;
|
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
|
else
|
||||||
{
|
{
|
||||||
addedSkills.put(holder.getSkill().getId(), holder.getSkill());
|
addedSkills.put(skill.getId(), skill);
|
||||||
}
|
}
|
||||||
|
|
||||||
if (skill.isActive() && !player.hasSkillReuse(skill.getReuseHashCode()))
|
if (skill.isActive() && !player.hasSkillReuse(skill.getReuseHashCode()))
|
||||||
@@ -626,7 +622,6 @@ public abstract class Inventory extends ItemContainer
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
|
||||||
|
|
||||||
// Must check all equipped items for enchant conditions.
|
// Must check all equipped items for enchant conditions.
|
||||||
for (ItemInstance equipped : inventory.getPaperdollItems())
|
for (ItemInstance equipped : inventory.getPaperdollItems())
|
||||||
@@ -649,27 +644,34 @@ public abstract class Inventory extends ItemContainer
|
|||||||
continue;
|
continue;
|
||||||
}
|
}
|
||||||
|
|
||||||
// Add skills bestowed from +4 armor
|
if (equipped.getEnchantLevel() < holder.getValue())
|
||||||
if (equipped.getEnchantLevel() >= holder.getValue())
|
|
||||||
{
|
{
|
||||||
|
continue;
|
||||||
|
}
|
||||||
|
|
||||||
final Skill skill = holder.getSkill();
|
final Skill skill = holder.getSkill();
|
||||||
|
if (skill == null)
|
||||||
|
{
|
||||||
|
continue;
|
||||||
|
}
|
||||||
|
|
||||||
// Check passive skill conditions.
|
// Check passive skill conditions.
|
||||||
if (skill.isPassive() && !skill.checkConditions(SkillConditionScope.PASSIVE, player, player))
|
if (skill.isPassive() && !skill.checkConditions(SkillConditionScope.PASSIVE, player, player))
|
||||||
{
|
{
|
||||||
continue;
|
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
|
else
|
||||||
{
|
{
|
||||||
addedSkills.put(holder.getSkill().getId(), holder.getSkill());
|
addedSkills.put(skill.getId(), skill);
|
||||||
}
|
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
@@ -356,20 +356,15 @@ public abstract class Inventory extends ItemContainer
|
|||||||
{
|
{
|
||||||
for (ItemSkillHolder holder : onEnchantSkills)
|
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()))
|
continue;
|
||||||
{
|
|
||||||
if (removedSkills.get(holder.getSkill().getId()).getLevel() < holder.getSkill().getLevel())
|
|
||||||
{
|
|
||||||
removedSkills.put(holder.getSkill().getId(), holder.getSkill());
|
|
||||||
}
|
}
|
||||||
}
|
|
||||||
else
|
final Skill skill = holder.getSkill();
|
||||||
|
if (skill != null)
|
||||||
{
|
{
|
||||||
removedSkills.put(holder.getSkill().getId(), holder.getSkill());
|
removedSkills.putIfAbsent(skill.getId(), skill);
|
||||||
}
|
|
||||||
update = true;
|
update = true;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
@@ -383,17 +378,7 @@ public abstract class Inventory extends ItemContainer
|
|||||||
final Skill skill = holder.getSkill();
|
final Skill skill = holder.getSkill();
|
||||||
if (skill != null)
|
if (skill != null)
|
||||||
{
|
{
|
||||||
if (removedSkills.containsKey(holder.getSkill().getId()))
|
removedSkills.putIfAbsent(skill.getId(), skill);
|
||||||
{
|
|
||||||
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;
|
update = true;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
@@ -422,18 +407,22 @@ public abstract class Inventory extends ItemContainer
|
|||||||
}
|
}
|
||||||
|
|
||||||
final Skill skill = holder.getSkill();
|
final Skill skill = holder.getSkill();
|
||||||
if (skill != null)
|
if (skill == null)
|
||||||
{
|
{
|
||||||
if (addedSkills.containsKey(holder.getSkill().getId()))
|
continue;
|
||||||
|
}
|
||||||
|
|
||||||
|
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
|
else
|
||||||
{
|
{
|
||||||
addedSkills.put(holder.getSkill().getId(), holder.getSkill());
|
addedSkills.put(skill.getId(), skill);
|
||||||
}
|
}
|
||||||
|
|
||||||
if (skill.isActive() && !player.hasSkillReuse(skill.getReuseHashCode()))
|
if (skill.isActive() && !player.hasSkillReuse(skill.getReuseHashCode()))
|
||||||
@@ -451,7 +440,6 @@ public abstract class Inventory extends ItemContainer
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
|
||||||
|
|
||||||
// Must check all equipped items for enchant conditions.
|
// Must check all equipped items for enchant conditions.
|
||||||
for (ItemInstance equipped : inventory.getPaperdollItems())
|
for (ItemInstance equipped : inventory.getPaperdollItems())
|
||||||
@@ -469,29 +457,25 @@ public abstract class Inventory extends ItemContainer
|
|||||||
|
|
||||||
for (ItemSkillHolder holder : otherEnchantSkills)
|
for (ItemSkillHolder holder : otherEnchantSkills)
|
||||||
{
|
{
|
||||||
// Add skills bestowed from +4 armor
|
if (equipped.getEnchantLevel() < holder.getValue())
|
||||||
if (equipped.getEnchantLevel() >= holder.getValue())
|
|
||||||
{
|
{
|
||||||
|
continue;
|
||||||
|
}
|
||||||
|
|
||||||
final Skill skill = holder.getSkill();
|
final Skill skill = holder.getSkill();
|
||||||
|
if (skill == null)
|
||||||
|
{
|
||||||
|
continue;
|
||||||
|
}
|
||||||
|
|
||||||
// Check passive skill conditions.
|
// Check passive skill conditions.
|
||||||
if (skill.isPassive() && !skill.checkConditions(SkillConditionScope.PASSIVE, player, player))
|
if (skill.isPassive() && !skill.checkConditions(SkillConditionScope.PASSIVE, player, player))
|
||||||
{
|
{
|
||||||
if (removedSkills.containsKey(holder.getSkill().getId()))
|
removedSkills.putIfAbsent(skill.getId(), skill);
|
||||||
{
|
|
||||||
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;
|
update = true;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
|
||||||
|
|
||||||
// Must check for toggle and isRemovedOnUnequipWeapon skill item conditions.
|
// Must check for toggle and isRemovedOnUnequipWeapon skill item conditions.
|
||||||
for (Skill skill : player.getAllSkills())
|
for (Skill skill : player.getAllSkills())
|
||||||
@@ -581,27 +565,34 @@ public abstract class Inventory extends ItemContainer
|
|||||||
continue;
|
continue;
|
||||||
}
|
}
|
||||||
|
|
||||||
// Add skills bestowed from +4 armor
|
if (item.getEnchantLevel() < holder.getValue())
|
||||||
if (item.getEnchantLevel() >= holder.getValue())
|
|
||||||
{
|
{
|
||||||
|
continue;
|
||||||
|
}
|
||||||
|
|
||||||
final Skill skill = holder.getSkill();
|
final Skill skill = holder.getSkill();
|
||||||
|
if (skill == null)
|
||||||
|
{
|
||||||
|
continue;
|
||||||
|
}
|
||||||
|
|
||||||
// Check passive skill conditions.
|
// Check passive skill conditions.
|
||||||
if (skill.isPassive() && !skill.checkConditions(SkillConditionScope.PASSIVE, player, player))
|
if (skill.isPassive() && !skill.checkConditions(SkillConditionScope.PASSIVE, player, player))
|
||||||
{
|
{
|
||||||
continue;
|
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
|
else
|
||||||
{
|
{
|
||||||
addedSkills.put(holder.getSkill().getId(), holder.getSkill());
|
addedSkills.put(skill.getId(), skill);
|
||||||
}
|
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
@@ -617,23 +608,28 @@ public abstract class Inventory extends ItemContainer
|
|||||||
}
|
}
|
||||||
|
|
||||||
final Skill skill = holder.getSkill();
|
final Skill skill = holder.getSkill();
|
||||||
if (skill != null)
|
if (skill == null)
|
||||||
{
|
{
|
||||||
|
continue;
|
||||||
|
}
|
||||||
|
|
||||||
|
// Check passive skill conditions.
|
||||||
if (skill.isPassive() && !skill.checkConditions(SkillConditionScope.PASSIVE, player, player))
|
if (skill.isPassive() && !skill.checkConditions(SkillConditionScope.PASSIVE, player, player))
|
||||||
{
|
{
|
||||||
continue;
|
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
|
else
|
||||||
{
|
{
|
||||||
addedSkills.put(holder.getSkill().getId(), holder.getSkill());
|
addedSkills.put(skill.getId(), skill);
|
||||||
}
|
}
|
||||||
|
|
||||||
if (skill.isActive() && !player.hasSkillReuse(skill.getReuseHashCode()))
|
if (skill.isActive() && !player.hasSkillReuse(skill.getReuseHashCode()))
|
||||||
@@ -649,7 +645,6 @@ public abstract class Inventory extends ItemContainer
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
|
||||||
|
|
||||||
// Must check all equipped items for enchant conditions.
|
// Must check all equipped items for enchant conditions.
|
||||||
for (ItemInstance equipped : inventory.getPaperdollItems())
|
for (ItemInstance equipped : inventory.getPaperdollItems())
|
||||||
@@ -672,27 +667,34 @@ public abstract class Inventory extends ItemContainer
|
|||||||
continue;
|
continue;
|
||||||
}
|
}
|
||||||
|
|
||||||
// Add skills bestowed from +4 armor
|
if (equipped.getEnchantLevel() < holder.getValue())
|
||||||
if (equipped.getEnchantLevel() >= holder.getValue())
|
|
||||||
{
|
{
|
||||||
|
continue;
|
||||||
|
}
|
||||||
|
|
||||||
final Skill skill = holder.getSkill();
|
final Skill skill = holder.getSkill();
|
||||||
|
if (skill == null)
|
||||||
|
{
|
||||||
|
continue;
|
||||||
|
}
|
||||||
|
|
||||||
// Check passive skill conditions.
|
// Check passive skill conditions.
|
||||||
if (skill.isPassive() && !skill.checkConditions(SkillConditionScope.PASSIVE, player, player))
|
if (skill.isPassive() && !skill.checkConditions(SkillConditionScope.PASSIVE, player, player))
|
||||||
{
|
{
|
||||||
continue;
|
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
|
else
|
||||||
{
|
{
|
||||||
addedSkills.put(holder.getSkill().getId(), holder.getSkill());
|
addedSkills.put(skill.getId(), skill);
|
||||||
}
|
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
@@ -356,20 +356,15 @@ public abstract class Inventory extends ItemContainer
|
|||||||
{
|
{
|
||||||
for (ItemSkillHolder holder : onEnchantSkills)
|
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()))
|
continue;
|
||||||
{
|
|
||||||
if (removedSkills.get(holder.getSkill().getId()).getLevel() < holder.getSkill().getLevel())
|
|
||||||
{
|
|
||||||
removedSkills.put(holder.getSkill().getId(), holder.getSkill());
|
|
||||||
}
|
}
|
||||||
}
|
|
||||||
else
|
final Skill skill = holder.getSkill();
|
||||||
|
if (skill != null)
|
||||||
{
|
{
|
||||||
removedSkills.put(holder.getSkill().getId(), holder.getSkill());
|
removedSkills.putIfAbsent(skill.getId(), skill);
|
||||||
}
|
|
||||||
update = true;
|
update = true;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
@@ -383,17 +378,7 @@ public abstract class Inventory extends ItemContainer
|
|||||||
final Skill skill = holder.getSkill();
|
final Skill skill = holder.getSkill();
|
||||||
if (skill != null)
|
if (skill != null)
|
||||||
{
|
{
|
||||||
if (removedSkills.containsKey(holder.getSkill().getId()))
|
removedSkills.putIfAbsent(skill.getId(), skill);
|
||||||
{
|
|
||||||
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;
|
update = true;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
@@ -422,18 +407,22 @@ public abstract class Inventory extends ItemContainer
|
|||||||
}
|
}
|
||||||
|
|
||||||
final Skill skill = holder.getSkill();
|
final Skill skill = holder.getSkill();
|
||||||
if (skill != null)
|
if (skill == null)
|
||||||
{
|
{
|
||||||
if (addedSkills.containsKey(holder.getSkill().getId()))
|
continue;
|
||||||
|
}
|
||||||
|
|
||||||
|
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
|
else
|
||||||
{
|
{
|
||||||
addedSkills.put(holder.getSkill().getId(), holder.getSkill());
|
addedSkills.put(skill.getId(), skill);
|
||||||
}
|
}
|
||||||
|
|
||||||
if (skill.isActive() && !player.hasSkillReuse(skill.getReuseHashCode()))
|
if (skill.isActive() && !player.hasSkillReuse(skill.getReuseHashCode()))
|
||||||
@@ -451,7 +440,6 @@ public abstract class Inventory extends ItemContainer
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
|
||||||
|
|
||||||
// Must check all equipped items for enchant conditions.
|
// Must check all equipped items for enchant conditions.
|
||||||
for (ItemInstance equipped : inventory.getPaperdollItems())
|
for (ItemInstance equipped : inventory.getPaperdollItems())
|
||||||
@@ -469,29 +457,25 @@ public abstract class Inventory extends ItemContainer
|
|||||||
|
|
||||||
for (ItemSkillHolder holder : otherEnchantSkills)
|
for (ItemSkillHolder holder : otherEnchantSkills)
|
||||||
{
|
{
|
||||||
// Add skills bestowed from +4 armor
|
if (equipped.getEnchantLevel() < holder.getValue())
|
||||||
if (equipped.getEnchantLevel() >= holder.getValue())
|
|
||||||
{
|
{
|
||||||
|
continue;
|
||||||
|
}
|
||||||
|
|
||||||
final Skill skill = holder.getSkill();
|
final Skill skill = holder.getSkill();
|
||||||
|
if (skill == null)
|
||||||
|
{
|
||||||
|
continue;
|
||||||
|
}
|
||||||
|
|
||||||
// Check passive skill conditions.
|
// Check passive skill conditions.
|
||||||
if (skill.isPassive() && !skill.checkConditions(SkillConditionScope.PASSIVE, player, player))
|
if (skill.isPassive() && !skill.checkConditions(SkillConditionScope.PASSIVE, player, player))
|
||||||
{
|
{
|
||||||
if (removedSkills.containsKey(holder.getSkill().getId()))
|
removedSkills.putIfAbsent(skill.getId(), skill);
|
||||||
{
|
|
||||||
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;
|
update = true;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
|
||||||
|
|
||||||
// Must check for toggle and isRemovedOnUnequipWeapon skill item conditions.
|
// Must check for toggle and isRemovedOnUnequipWeapon skill item conditions.
|
||||||
for (Skill skill : player.getAllSkills())
|
for (Skill skill : player.getAllSkills())
|
||||||
@@ -581,27 +565,34 @@ public abstract class Inventory extends ItemContainer
|
|||||||
continue;
|
continue;
|
||||||
}
|
}
|
||||||
|
|
||||||
// Add skills bestowed from +4 armor
|
if (item.getEnchantLevel() < holder.getValue())
|
||||||
if (item.getEnchantLevel() >= holder.getValue())
|
|
||||||
{
|
{
|
||||||
|
continue;
|
||||||
|
}
|
||||||
|
|
||||||
final Skill skill = holder.getSkill();
|
final Skill skill = holder.getSkill();
|
||||||
|
if (skill == null)
|
||||||
|
{
|
||||||
|
continue;
|
||||||
|
}
|
||||||
|
|
||||||
// Check passive skill conditions.
|
// Check passive skill conditions.
|
||||||
if (skill.isPassive() && !skill.checkConditions(SkillConditionScope.PASSIVE, player, player))
|
if (skill.isPassive() && !skill.checkConditions(SkillConditionScope.PASSIVE, player, player))
|
||||||
{
|
{
|
||||||
continue;
|
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
|
else
|
||||||
{
|
{
|
||||||
addedSkills.put(holder.getSkill().getId(), holder.getSkill());
|
addedSkills.put(skill.getId(), skill);
|
||||||
}
|
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
@@ -617,23 +608,28 @@ public abstract class Inventory extends ItemContainer
|
|||||||
}
|
}
|
||||||
|
|
||||||
final Skill skill = holder.getSkill();
|
final Skill skill = holder.getSkill();
|
||||||
if (skill != null)
|
if (skill == null)
|
||||||
{
|
{
|
||||||
|
continue;
|
||||||
|
}
|
||||||
|
|
||||||
|
// Check passive skill conditions.
|
||||||
if (skill.isPassive() && !skill.checkConditions(SkillConditionScope.PASSIVE, player, player))
|
if (skill.isPassive() && !skill.checkConditions(SkillConditionScope.PASSIVE, player, player))
|
||||||
{
|
{
|
||||||
continue;
|
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
|
else
|
||||||
{
|
{
|
||||||
addedSkills.put(holder.getSkill().getId(), holder.getSkill());
|
addedSkills.put(skill.getId(), skill);
|
||||||
}
|
}
|
||||||
|
|
||||||
if (skill.isActive() && !player.hasSkillReuse(skill.getReuseHashCode()))
|
if (skill.isActive() && !player.hasSkillReuse(skill.getReuseHashCode()))
|
||||||
@@ -649,7 +645,6 @@ public abstract class Inventory extends ItemContainer
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
|
||||||
|
|
||||||
// Must check all equipped items for enchant conditions.
|
// Must check all equipped items for enchant conditions.
|
||||||
for (ItemInstance equipped : inventory.getPaperdollItems())
|
for (ItemInstance equipped : inventory.getPaperdollItems())
|
||||||
@@ -672,27 +667,34 @@ public abstract class Inventory extends ItemContainer
|
|||||||
continue;
|
continue;
|
||||||
}
|
}
|
||||||
|
|
||||||
// Add skills bestowed from +4 armor
|
if (equipped.getEnchantLevel() < holder.getValue())
|
||||||
if (equipped.getEnchantLevel() >= holder.getValue())
|
|
||||||
{
|
{
|
||||||
|
continue;
|
||||||
|
}
|
||||||
|
|
||||||
final Skill skill = holder.getSkill();
|
final Skill skill = holder.getSkill();
|
||||||
|
if (skill == null)
|
||||||
|
{
|
||||||
|
continue;
|
||||||
|
}
|
||||||
|
|
||||||
// Check passive skill conditions.
|
// Check passive skill conditions.
|
||||||
if (skill.isPassive() && !skill.checkConditions(SkillConditionScope.PASSIVE, player, player))
|
if (skill.isPassive() && !skill.checkConditions(SkillConditionScope.PASSIVE, player, player))
|
||||||
{
|
{
|
||||||
continue;
|
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
|
else
|
||||||
{
|
{
|
||||||
addedSkills.put(holder.getSkill().getId(), holder.getSkill());
|
addedSkills.put(skill.getId(), skill);
|
||||||
}
|
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
@@ -356,20 +356,15 @@ public abstract class Inventory extends ItemContainer
|
|||||||
{
|
{
|
||||||
for (ItemSkillHolder holder : onEnchantSkills)
|
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()))
|
continue;
|
||||||
{
|
|
||||||
if (removedSkills.get(holder.getSkill().getId()).getLevel() < holder.getSkill().getLevel())
|
|
||||||
{
|
|
||||||
removedSkills.put(holder.getSkill().getId(), holder.getSkill());
|
|
||||||
}
|
}
|
||||||
}
|
|
||||||
else
|
final Skill skill = holder.getSkill();
|
||||||
|
if (skill != null)
|
||||||
{
|
{
|
||||||
removedSkills.put(holder.getSkill().getId(), holder.getSkill());
|
removedSkills.putIfAbsent(skill.getId(), skill);
|
||||||
}
|
|
||||||
update = true;
|
update = true;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
@@ -383,17 +378,7 @@ public abstract class Inventory extends ItemContainer
|
|||||||
final Skill skill = holder.getSkill();
|
final Skill skill = holder.getSkill();
|
||||||
if (skill != null)
|
if (skill != null)
|
||||||
{
|
{
|
||||||
if (removedSkills.containsKey(holder.getSkill().getId()))
|
removedSkills.putIfAbsent(skill.getId(), skill);
|
||||||
{
|
|
||||||
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;
|
update = true;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
@@ -422,18 +407,22 @@ public abstract class Inventory extends ItemContainer
|
|||||||
}
|
}
|
||||||
|
|
||||||
final Skill skill = holder.getSkill();
|
final Skill skill = holder.getSkill();
|
||||||
if (skill != null)
|
if (skill == null)
|
||||||
{
|
{
|
||||||
if (addedSkills.containsKey(holder.getSkill().getId()))
|
continue;
|
||||||
|
}
|
||||||
|
|
||||||
|
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
|
else
|
||||||
{
|
{
|
||||||
addedSkills.put(holder.getSkill().getId(), holder.getSkill());
|
addedSkills.put(skill.getId(), skill);
|
||||||
}
|
}
|
||||||
|
|
||||||
if (skill.isActive() && !player.hasSkillReuse(skill.getReuseHashCode()))
|
if (skill.isActive() && !player.hasSkillReuse(skill.getReuseHashCode()))
|
||||||
@@ -451,7 +440,6 @@ public abstract class Inventory extends ItemContainer
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
|
||||||
|
|
||||||
// Must check all equipped items for enchant conditions.
|
// Must check all equipped items for enchant conditions.
|
||||||
for (ItemInstance equipped : inventory.getPaperdollItems())
|
for (ItemInstance equipped : inventory.getPaperdollItems())
|
||||||
@@ -469,29 +457,25 @@ public abstract class Inventory extends ItemContainer
|
|||||||
|
|
||||||
for (ItemSkillHolder holder : otherEnchantSkills)
|
for (ItemSkillHolder holder : otherEnchantSkills)
|
||||||
{
|
{
|
||||||
// Add skills bestowed from +4 armor
|
if (equipped.getEnchantLevel() < holder.getValue())
|
||||||
if (equipped.getEnchantLevel() >= holder.getValue())
|
|
||||||
{
|
{
|
||||||
|
continue;
|
||||||
|
}
|
||||||
|
|
||||||
final Skill skill = holder.getSkill();
|
final Skill skill = holder.getSkill();
|
||||||
|
if (skill == null)
|
||||||
|
{
|
||||||
|
continue;
|
||||||
|
}
|
||||||
|
|
||||||
// Check passive skill conditions.
|
// Check passive skill conditions.
|
||||||
if (skill.isPassive() && !skill.checkConditions(SkillConditionScope.PASSIVE, player, player))
|
if (skill.isPassive() && !skill.checkConditions(SkillConditionScope.PASSIVE, player, player))
|
||||||
{
|
{
|
||||||
if (removedSkills.containsKey(holder.getSkill().getId()))
|
removedSkills.putIfAbsent(skill.getId(), skill);
|
||||||
{
|
|
||||||
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;
|
update = true;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
|
||||||
|
|
||||||
// Must check for toggle and isRemovedOnUnequipWeapon skill item conditions.
|
// Must check for toggle and isRemovedOnUnequipWeapon skill item conditions.
|
||||||
for (Skill skill : player.getAllSkills())
|
for (Skill skill : player.getAllSkills())
|
||||||
@@ -575,27 +559,34 @@ public abstract class Inventory extends ItemContainer
|
|||||||
continue;
|
continue;
|
||||||
}
|
}
|
||||||
|
|
||||||
// Add skills bestowed from +4 armor
|
if (item.getEnchantLevel() < holder.getValue())
|
||||||
if (item.getEnchantLevel() >= holder.getValue())
|
|
||||||
{
|
{
|
||||||
|
continue;
|
||||||
|
}
|
||||||
|
|
||||||
final Skill skill = holder.getSkill();
|
final Skill skill = holder.getSkill();
|
||||||
|
if (skill == null)
|
||||||
|
{
|
||||||
|
continue;
|
||||||
|
}
|
||||||
|
|
||||||
// Check passive skill conditions.
|
// Check passive skill conditions.
|
||||||
if (skill.isPassive() && !skill.checkConditions(SkillConditionScope.PASSIVE, player, player))
|
if (skill.isPassive() && !skill.checkConditions(SkillConditionScope.PASSIVE, player, player))
|
||||||
{
|
{
|
||||||
continue;
|
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
|
else
|
||||||
{
|
{
|
||||||
addedSkills.put(holder.getSkill().getId(), holder.getSkill());
|
addedSkills.put(skill.getId(), skill);
|
||||||
}
|
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
@@ -611,23 +602,28 @@ public abstract class Inventory extends ItemContainer
|
|||||||
}
|
}
|
||||||
|
|
||||||
final Skill skill = holder.getSkill();
|
final Skill skill = holder.getSkill();
|
||||||
if (skill != null)
|
if (skill == null)
|
||||||
{
|
{
|
||||||
|
continue;
|
||||||
|
}
|
||||||
|
|
||||||
|
// Check passive skill conditions.
|
||||||
if (skill.isPassive() && !skill.checkConditions(SkillConditionScope.PASSIVE, player, player))
|
if (skill.isPassive() && !skill.checkConditions(SkillConditionScope.PASSIVE, player, player))
|
||||||
{
|
{
|
||||||
continue;
|
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
|
else
|
||||||
{
|
{
|
||||||
addedSkills.put(holder.getSkill().getId(), holder.getSkill());
|
addedSkills.put(skill.getId(), skill);
|
||||||
}
|
}
|
||||||
|
|
||||||
if (skill.isActive() && !player.hasSkillReuse(skill.getReuseHashCode()))
|
if (skill.isActive() && !player.hasSkillReuse(skill.getReuseHashCode()))
|
||||||
@@ -643,7 +639,6 @@ public abstract class Inventory extends ItemContainer
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
|
||||||
|
|
||||||
// Must check all equipped items for enchant conditions.
|
// Must check all equipped items for enchant conditions.
|
||||||
for (ItemInstance equipped : inventory.getPaperdollItems())
|
for (ItemInstance equipped : inventory.getPaperdollItems())
|
||||||
@@ -666,27 +661,34 @@ public abstract class Inventory extends ItemContainer
|
|||||||
continue;
|
continue;
|
||||||
}
|
}
|
||||||
|
|
||||||
// Add skills bestowed from +4 armor
|
if (equipped.getEnchantLevel() < holder.getValue())
|
||||||
if (equipped.getEnchantLevel() >= holder.getValue())
|
|
||||||
{
|
{
|
||||||
|
continue;
|
||||||
|
}
|
||||||
|
|
||||||
final Skill skill = holder.getSkill();
|
final Skill skill = holder.getSkill();
|
||||||
|
if (skill == null)
|
||||||
|
{
|
||||||
|
continue;
|
||||||
|
}
|
||||||
|
|
||||||
// Check passive skill conditions.
|
// Check passive skill conditions.
|
||||||
if (skill.isPassive() && !skill.checkConditions(SkillConditionScope.PASSIVE, player, player))
|
if (skill.isPassive() && !skill.checkConditions(SkillConditionScope.PASSIVE, player, player))
|
||||||
{
|
{
|
||||||
continue;
|
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
|
else
|
||||||
{
|
{
|
||||||
addedSkills.put(holder.getSkill().getId(), holder.getSkill());
|
addedSkills.put(skill.getId(), skill);
|
||||||
}
|
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
@@ -322,20 +322,15 @@ public abstract class Inventory extends ItemContainer
|
|||||||
{
|
{
|
||||||
for (ItemSkillHolder holder : onEnchantSkills)
|
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()))
|
continue;
|
||||||
{
|
|
||||||
if (removedSkills.get(holder.getSkill().getId()).getLevel() < holder.getSkill().getLevel())
|
|
||||||
{
|
|
||||||
removedSkills.put(holder.getSkill().getId(), holder.getSkill());
|
|
||||||
}
|
}
|
||||||
}
|
|
||||||
else
|
final Skill skill = holder.getSkill();
|
||||||
|
if (skill != null)
|
||||||
{
|
{
|
||||||
removedSkills.put(holder.getSkill().getId(), holder.getSkill());
|
removedSkills.putIfAbsent(skill.getId(), skill);
|
||||||
}
|
|
||||||
update = true;
|
update = true;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
@@ -349,17 +344,7 @@ public abstract class Inventory extends ItemContainer
|
|||||||
final Skill skill = holder.getSkill();
|
final Skill skill = holder.getSkill();
|
||||||
if (skill != null)
|
if (skill != null)
|
||||||
{
|
{
|
||||||
if (removedSkills.containsKey(holder.getSkill().getId()))
|
removedSkills.putIfAbsent(skill.getId(), skill);
|
||||||
{
|
|
||||||
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;
|
update = true;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
@@ -388,18 +373,22 @@ public abstract class Inventory extends ItemContainer
|
|||||||
}
|
}
|
||||||
|
|
||||||
final Skill skill = holder.getSkill();
|
final Skill skill = holder.getSkill();
|
||||||
if (skill != null)
|
if (skill == null)
|
||||||
{
|
{
|
||||||
if (addedSkills.containsKey(holder.getSkill().getId()))
|
continue;
|
||||||
|
}
|
||||||
|
|
||||||
|
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
|
else
|
||||||
{
|
{
|
||||||
addedSkills.put(holder.getSkill().getId(), holder.getSkill());
|
addedSkills.put(skill.getId(), skill);
|
||||||
}
|
}
|
||||||
|
|
||||||
if (skill.isActive() && !player.hasSkillReuse(skill.getReuseHashCode()))
|
if (skill.isActive() && !player.hasSkillReuse(skill.getReuseHashCode()))
|
||||||
@@ -417,7 +406,6 @@ public abstract class Inventory extends ItemContainer
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
|
||||||
|
|
||||||
// Must check all equipped items for enchant conditions.
|
// Must check all equipped items for enchant conditions.
|
||||||
for (ItemInstance equipped : inventory.getPaperdollItems())
|
for (ItemInstance equipped : inventory.getPaperdollItems())
|
||||||
@@ -435,29 +423,25 @@ public abstract class Inventory extends ItemContainer
|
|||||||
|
|
||||||
for (ItemSkillHolder holder : otherEnchantSkills)
|
for (ItemSkillHolder holder : otherEnchantSkills)
|
||||||
{
|
{
|
||||||
// Add skills bestowed from +4 armor
|
if (equipped.getEnchantLevel() < holder.getValue())
|
||||||
if (equipped.getEnchantLevel() >= holder.getValue())
|
|
||||||
{
|
{
|
||||||
|
continue;
|
||||||
|
}
|
||||||
|
|
||||||
final Skill skill = holder.getSkill();
|
final Skill skill = holder.getSkill();
|
||||||
|
if (skill == null)
|
||||||
|
{
|
||||||
|
continue;
|
||||||
|
}
|
||||||
|
|
||||||
// Check passive skill conditions.
|
// Check passive skill conditions.
|
||||||
if (skill.isPassive() && !skill.checkConditions(SkillConditionScope.PASSIVE, player, player))
|
if (skill.isPassive() && !skill.checkConditions(SkillConditionScope.PASSIVE, player, player))
|
||||||
{
|
{
|
||||||
if (removedSkills.containsKey(holder.getSkill().getId()))
|
removedSkills.putIfAbsent(skill.getId(), skill);
|
||||||
{
|
|
||||||
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;
|
update = true;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
|
||||||
|
|
||||||
// Must check for toggle and isRemovedOnUnequipWeapon skill item conditions.
|
// Must check for toggle and isRemovedOnUnequipWeapon skill item conditions.
|
||||||
for (Skill skill : player.getAllSkills())
|
for (Skill skill : player.getAllSkills())
|
||||||
@@ -541,27 +525,34 @@ public abstract class Inventory extends ItemContainer
|
|||||||
continue;
|
continue;
|
||||||
}
|
}
|
||||||
|
|
||||||
// Add skills bestowed from +4 armor
|
if (item.getEnchantLevel() < holder.getValue())
|
||||||
if (item.getEnchantLevel() >= holder.getValue())
|
|
||||||
{
|
{
|
||||||
|
continue;
|
||||||
|
}
|
||||||
|
|
||||||
final Skill skill = holder.getSkill();
|
final Skill skill = holder.getSkill();
|
||||||
|
if (skill == null)
|
||||||
|
{
|
||||||
|
continue;
|
||||||
|
}
|
||||||
|
|
||||||
// Check passive skill conditions.
|
// Check passive skill conditions.
|
||||||
if (skill.isPassive() && !skill.checkConditions(SkillConditionScope.PASSIVE, player, player))
|
if (skill.isPassive() && !skill.checkConditions(SkillConditionScope.PASSIVE, player, player))
|
||||||
{
|
{
|
||||||
continue;
|
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
|
else
|
||||||
{
|
{
|
||||||
addedSkills.put(holder.getSkill().getId(), holder.getSkill());
|
addedSkills.put(skill.getId(), skill);
|
||||||
}
|
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
@@ -577,23 +568,28 @@ public abstract class Inventory extends ItemContainer
|
|||||||
}
|
}
|
||||||
|
|
||||||
final Skill skill = holder.getSkill();
|
final Skill skill = holder.getSkill();
|
||||||
if (skill != null)
|
if (skill == null)
|
||||||
{
|
{
|
||||||
|
continue;
|
||||||
|
}
|
||||||
|
|
||||||
|
// Check passive skill conditions.
|
||||||
if (skill.isPassive() && !skill.checkConditions(SkillConditionScope.PASSIVE, player, player))
|
if (skill.isPassive() && !skill.checkConditions(SkillConditionScope.PASSIVE, player, player))
|
||||||
{
|
{
|
||||||
continue;
|
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
|
else
|
||||||
{
|
{
|
||||||
addedSkills.put(holder.getSkill().getId(), holder.getSkill());
|
addedSkills.put(skill.getId(), skill);
|
||||||
}
|
}
|
||||||
|
|
||||||
if (skill.isActive() && !player.hasSkillReuse(skill.getReuseHashCode()))
|
if (skill.isActive() && !player.hasSkillReuse(skill.getReuseHashCode()))
|
||||||
@@ -609,7 +605,6 @@ public abstract class Inventory extends ItemContainer
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
|
||||||
|
|
||||||
// Must check all equipped items for enchant conditions.
|
// Must check all equipped items for enchant conditions.
|
||||||
for (ItemInstance equipped : inventory.getPaperdollItems())
|
for (ItemInstance equipped : inventory.getPaperdollItems())
|
||||||
@@ -632,27 +627,34 @@ public abstract class Inventory extends ItemContainer
|
|||||||
continue;
|
continue;
|
||||||
}
|
}
|
||||||
|
|
||||||
// Add skills bestowed from +4 armor
|
if (equipped.getEnchantLevel() < holder.getValue())
|
||||||
if (equipped.getEnchantLevel() >= holder.getValue())
|
|
||||||
{
|
{
|
||||||
|
continue;
|
||||||
|
}
|
||||||
|
|
||||||
final Skill skill = holder.getSkill();
|
final Skill skill = holder.getSkill();
|
||||||
|
if (skill == null)
|
||||||
|
{
|
||||||
|
continue;
|
||||||
|
}
|
||||||
|
|
||||||
// Check passive skill conditions.
|
// Check passive skill conditions.
|
||||||
if (skill.isPassive() && !skill.checkConditions(SkillConditionScope.PASSIVE, player, player))
|
if (skill.isPassive() && !skill.checkConditions(SkillConditionScope.PASSIVE, player, player))
|
||||||
{
|
{
|
||||||
continue;
|
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
|
else
|
||||||
{
|
{
|
||||||
addedSkills.put(holder.getSkill().getId(), holder.getSkill());
|
addedSkills.put(skill.getId(), skill);
|
||||||
}
|
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
@@ -351,20 +351,15 @@ public abstract class Inventory extends ItemContainer
|
|||||||
{
|
{
|
||||||
for (ItemSkillHolder holder : onEnchantSkills)
|
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()))
|
continue;
|
||||||
{
|
|
||||||
if (removedSkills.get(holder.getSkill().getId()).getLevel() < holder.getSkill().getLevel())
|
|
||||||
{
|
|
||||||
removedSkills.put(holder.getSkill().getId(), holder.getSkill());
|
|
||||||
}
|
}
|
||||||
}
|
|
||||||
else
|
final Skill skill = holder.getSkill();
|
||||||
|
if (skill != null)
|
||||||
{
|
{
|
||||||
removedSkills.put(holder.getSkill().getId(), holder.getSkill());
|
removedSkills.putIfAbsent(skill.getId(), skill);
|
||||||
}
|
|
||||||
update = true;
|
update = true;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
@@ -378,17 +373,7 @@ public abstract class Inventory extends ItemContainer
|
|||||||
final Skill skill = holder.getSkill();
|
final Skill skill = holder.getSkill();
|
||||||
if (skill != null)
|
if (skill != null)
|
||||||
{
|
{
|
||||||
if (removedSkills.containsKey(holder.getSkill().getId()))
|
removedSkills.putIfAbsent(skill.getId(), skill);
|
||||||
{
|
|
||||||
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;
|
update = true;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
@@ -417,18 +402,22 @@ public abstract class Inventory extends ItemContainer
|
|||||||
}
|
}
|
||||||
|
|
||||||
final Skill skill = holder.getSkill();
|
final Skill skill = holder.getSkill();
|
||||||
if (skill != null)
|
if (skill == null)
|
||||||
{
|
{
|
||||||
if (addedSkills.containsKey(holder.getSkill().getId()))
|
continue;
|
||||||
|
}
|
||||||
|
|
||||||
|
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
|
else
|
||||||
{
|
{
|
||||||
addedSkills.put(holder.getSkill().getId(), holder.getSkill());
|
addedSkills.put(skill.getId(), skill);
|
||||||
}
|
}
|
||||||
|
|
||||||
if (skill.isActive() && !player.hasSkillReuse(skill.getReuseHashCode()))
|
if (skill.isActive() && !player.hasSkillReuse(skill.getReuseHashCode()))
|
||||||
@@ -446,7 +435,6 @@ public abstract class Inventory extends ItemContainer
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
|
||||||
|
|
||||||
// Must check all equipped items for enchant conditions.
|
// Must check all equipped items for enchant conditions.
|
||||||
for (ItemInstance equipped : inventory.getPaperdollItems())
|
for (ItemInstance equipped : inventory.getPaperdollItems())
|
||||||
@@ -464,29 +452,25 @@ public abstract class Inventory extends ItemContainer
|
|||||||
|
|
||||||
for (ItemSkillHolder holder : otherEnchantSkills)
|
for (ItemSkillHolder holder : otherEnchantSkills)
|
||||||
{
|
{
|
||||||
// Add skills bestowed from +4 armor
|
if (equipped.getEnchantLevel() < holder.getValue())
|
||||||
if (equipped.getEnchantLevel() >= holder.getValue())
|
|
||||||
{
|
{
|
||||||
|
continue;
|
||||||
|
}
|
||||||
|
|
||||||
final Skill skill = holder.getSkill();
|
final Skill skill = holder.getSkill();
|
||||||
|
if (skill == null)
|
||||||
|
{
|
||||||
|
continue;
|
||||||
|
}
|
||||||
|
|
||||||
// Check passive skill conditions.
|
// Check passive skill conditions.
|
||||||
if (skill.isPassive() && !skill.checkConditions(SkillConditionScope.PASSIVE, player, player))
|
if (skill.isPassive() && !skill.checkConditions(SkillConditionScope.PASSIVE, player, player))
|
||||||
{
|
{
|
||||||
if (removedSkills.containsKey(holder.getSkill().getId()))
|
removedSkills.putIfAbsent(skill.getId(), skill);
|
||||||
{
|
|
||||||
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;
|
update = true;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
|
||||||
|
|
||||||
// Must check for toggle and isRemovedOnUnequipWeapon skill item conditions.
|
// Must check for toggle and isRemovedOnUnequipWeapon skill item conditions.
|
||||||
for (Skill skill : player.getAllSkills())
|
for (Skill skill : player.getAllSkills())
|
||||||
@@ -570,27 +554,34 @@ public abstract class Inventory extends ItemContainer
|
|||||||
continue;
|
continue;
|
||||||
}
|
}
|
||||||
|
|
||||||
// Add skills bestowed from +4 armor
|
if (item.getEnchantLevel() < holder.getValue())
|
||||||
if (item.getEnchantLevel() >= holder.getValue())
|
|
||||||
{
|
{
|
||||||
|
continue;
|
||||||
|
}
|
||||||
|
|
||||||
final Skill skill = holder.getSkill();
|
final Skill skill = holder.getSkill();
|
||||||
|
if (skill == null)
|
||||||
|
{
|
||||||
|
continue;
|
||||||
|
}
|
||||||
|
|
||||||
// Check passive skill conditions.
|
// Check passive skill conditions.
|
||||||
if (skill.isPassive() && !skill.checkConditions(SkillConditionScope.PASSIVE, player, player))
|
if (skill.isPassive() && !skill.checkConditions(SkillConditionScope.PASSIVE, player, player))
|
||||||
{
|
{
|
||||||
continue;
|
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
|
else
|
||||||
{
|
{
|
||||||
addedSkills.put(holder.getSkill().getId(), holder.getSkill());
|
addedSkills.put(skill.getId(), skill);
|
||||||
}
|
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
@@ -606,23 +597,28 @@ public abstract class Inventory extends ItemContainer
|
|||||||
}
|
}
|
||||||
|
|
||||||
final Skill skill = holder.getSkill();
|
final Skill skill = holder.getSkill();
|
||||||
if (skill != null)
|
if (skill == null)
|
||||||
{
|
{
|
||||||
|
continue;
|
||||||
|
}
|
||||||
|
|
||||||
|
// Check passive skill conditions.
|
||||||
if (skill.isPassive() && !skill.checkConditions(SkillConditionScope.PASSIVE, player, player))
|
if (skill.isPassive() && !skill.checkConditions(SkillConditionScope.PASSIVE, player, player))
|
||||||
{
|
{
|
||||||
continue;
|
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
|
else
|
||||||
{
|
{
|
||||||
addedSkills.put(holder.getSkill().getId(), holder.getSkill());
|
addedSkills.put(skill.getId(), skill);
|
||||||
}
|
}
|
||||||
|
|
||||||
if (skill.isActive() && !player.hasSkillReuse(skill.getReuseHashCode()))
|
if (skill.isActive() && !player.hasSkillReuse(skill.getReuseHashCode()))
|
||||||
@@ -638,7 +634,6 @@ public abstract class Inventory extends ItemContainer
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
|
||||||
|
|
||||||
// Must check all equipped items for enchant conditions.
|
// Must check all equipped items for enchant conditions.
|
||||||
for (ItemInstance equipped : inventory.getPaperdollItems())
|
for (ItemInstance equipped : inventory.getPaperdollItems())
|
||||||
@@ -661,27 +656,34 @@ public abstract class Inventory extends ItemContainer
|
|||||||
continue;
|
continue;
|
||||||
}
|
}
|
||||||
|
|
||||||
// Add skills bestowed from +4 armor
|
if (equipped.getEnchantLevel() < holder.getValue())
|
||||||
if (equipped.getEnchantLevel() >= holder.getValue())
|
|
||||||
{
|
{
|
||||||
|
continue;
|
||||||
|
}
|
||||||
|
|
||||||
final Skill skill = holder.getSkill();
|
final Skill skill = holder.getSkill();
|
||||||
|
if (skill == null)
|
||||||
|
{
|
||||||
|
continue;
|
||||||
|
}
|
||||||
|
|
||||||
// Check passive skill conditions.
|
// Check passive skill conditions.
|
||||||
if (skill.isPassive() && !skill.checkConditions(SkillConditionScope.PASSIVE, player, player))
|
if (skill.isPassive() && !skill.checkConditions(SkillConditionScope.PASSIVE, player, player))
|
||||||
{
|
{
|
||||||
continue;
|
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
|
else
|
||||||
{
|
{
|
||||||
addedSkills.put(holder.getSkill().getId(), holder.getSkill());
|
addedSkills.put(skill.getId(), skill);
|
||||||
}
|
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
@@ -360,20 +360,15 @@ public abstract class Inventory extends ItemContainer
|
|||||||
{
|
{
|
||||||
for (ItemSkillHolder holder : onEnchantSkills)
|
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()))
|
continue;
|
||||||
{
|
|
||||||
if (removedSkills.get(holder.getSkill().getId()).getLevel() < holder.getSkill().getLevel())
|
|
||||||
{
|
|
||||||
removedSkills.put(holder.getSkill().getId(), holder.getSkill());
|
|
||||||
}
|
}
|
||||||
}
|
|
||||||
else
|
final Skill skill = holder.getSkill();
|
||||||
|
if (skill != null)
|
||||||
{
|
{
|
||||||
removedSkills.put(holder.getSkill().getId(), holder.getSkill());
|
removedSkills.putIfAbsent(skill.getId(), skill);
|
||||||
}
|
|
||||||
update = true;
|
update = true;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
@@ -386,21 +381,15 @@ public abstract class Inventory extends ItemContainer
|
|||||||
{
|
{
|
||||||
for (ItemSkillHolder holder : onBlessingSkills)
|
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.putIfAbsent(skill.getId(), skill);
|
||||||
{
|
|
||||||
removedSkills.put(holder.getSkill().getId(), holder.getSkill());
|
|
||||||
}
|
|
||||||
}
|
|
||||||
else
|
|
||||||
{
|
|
||||||
removedSkills.put(holder.getSkill().getId(), holder.getSkill());
|
|
||||||
}
|
|
||||||
update = true;
|
update = true;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
}
|
||||||
|
|
||||||
final List<ItemSkillHolder> normalSkills = it.getSkills(ItemSkillType.NORMAL);
|
final List<ItemSkillHolder> normalSkills = it.getSkills(ItemSkillType.NORMAL);
|
||||||
if (normalSkills != null)
|
if (normalSkills != null)
|
||||||
@@ -410,17 +399,7 @@ public abstract class Inventory extends ItemContainer
|
|||||||
final Skill skill = holder.getSkill();
|
final Skill skill = holder.getSkill();
|
||||||
if (skill != null)
|
if (skill != null)
|
||||||
{
|
{
|
||||||
if (removedSkills.containsKey(holder.getSkill().getId()))
|
removedSkills.putIfAbsent(skill.getId(), skill);
|
||||||
{
|
|
||||||
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;
|
update = true;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
@@ -449,18 +428,22 @@ public abstract class Inventory extends ItemContainer
|
|||||||
}
|
}
|
||||||
|
|
||||||
final Skill skill = holder.getSkill();
|
final Skill skill = holder.getSkill();
|
||||||
if (skill != null)
|
if (skill == null)
|
||||||
{
|
{
|
||||||
if (addedSkills.containsKey(holder.getSkill().getId()))
|
continue;
|
||||||
|
}
|
||||||
|
|
||||||
|
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
|
else
|
||||||
{
|
{
|
||||||
addedSkills.put(holder.getSkill().getId(), holder.getSkill());
|
addedSkills.put(skill.getId(), skill);
|
||||||
}
|
}
|
||||||
|
|
||||||
if (skill.isActive() && !player.hasSkillReuse(skill.getReuseHashCode()))
|
if (skill.isActive() && !player.hasSkillReuse(skill.getReuseHashCode()))
|
||||||
@@ -478,7 +461,6 @@ public abstract class Inventory extends ItemContainer
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
|
||||||
|
|
||||||
// Must check all equipped items for enchant conditions.
|
// Must check all equipped items for enchant conditions.
|
||||||
for (ItemInstance equipped : inventory.getPaperdollItems())
|
for (ItemInstance equipped : inventory.getPaperdollItems())
|
||||||
@@ -499,50 +481,40 @@ public abstract class Inventory extends ItemContainer
|
|||||||
{
|
{
|
||||||
for (ItemSkillHolder holder : otherEnchantSkills)
|
for (ItemSkillHolder holder : otherEnchantSkills)
|
||||||
{
|
{
|
||||||
// Add skills bestowed from +4 armor
|
if (equipped.getEnchantLevel() < holder.getValue())
|
||||||
if (equipped.getEnchantLevel() >= holder.getValue())
|
|
||||||
{
|
{
|
||||||
|
continue;
|
||||||
|
}
|
||||||
|
|
||||||
final Skill skill = holder.getSkill();
|
final Skill skill = holder.getSkill();
|
||||||
|
if (skill == null)
|
||||||
|
{
|
||||||
|
continue;
|
||||||
|
}
|
||||||
|
|
||||||
// Check passive skill conditions.
|
// Check passive skill conditions.
|
||||||
if (skill.isPassive() && !skill.checkConditions(SkillConditionScope.PASSIVE, player, player))
|
if (skill.isPassive() && !skill.checkConditions(SkillConditionScope.PASSIVE, player, player))
|
||||||
{
|
{
|
||||||
if (removedSkills.containsKey(holder.getSkill().getId()))
|
removedSkills.putIfAbsent(skill.getId(), skill);
|
||||||
{
|
|
||||||
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;
|
update = true;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
|
||||||
|
|
||||||
if ((otherBlessingSkills != null) && equipped.isBlessed())
|
if ((otherBlessingSkills != null) && equipped.isBlessed())
|
||||||
{
|
{
|
||||||
for (ItemSkillHolder holder : otherBlessingSkills)
|
for (ItemSkillHolder holder : otherBlessingSkills)
|
||||||
{
|
{
|
||||||
// Add skills bestowed from +4 armor
|
|
||||||
final Skill skill = holder.getSkill();
|
final Skill skill = holder.getSkill();
|
||||||
|
if (skill == null)
|
||||||
|
{
|
||||||
|
continue;
|
||||||
|
}
|
||||||
|
|
||||||
// Check passive skill conditions.
|
// Check passive skill conditions.
|
||||||
if (skill.isPassive() && !skill.checkConditions(SkillConditionScope.PASSIVE, player, player))
|
if (skill.isPassive() && !skill.checkConditions(SkillConditionScope.PASSIVE, player, player))
|
||||||
{
|
{
|
||||||
if (removedSkills.containsKey(holder.getSkill().getId()))
|
removedSkills.putIfAbsent(skill.getId(), skill);
|
||||||
{
|
|
||||||
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;
|
update = true;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
@@ -631,27 +603,34 @@ public abstract class Inventory extends ItemContainer
|
|||||||
continue;
|
continue;
|
||||||
}
|
}
|
||||||
|
|
||||||
// Add skills bestowed from +4 armor
|
if (item.getEnchantLevel() < holder.getValue())
|
||||||
if (item.getEnchantLevel() >= holder.getValue())
|
|
||||||
{
|
{
|
||||||
|
continue;
|
||||||
|
}
|
||||||
|
|
||||||
final Skill skill = holder.getSkill();
|
final Skill skill = holder.getSkill();
|
||||||
|
if (skill == null)
|
||||||
|
{
|
||||||
|
continue;
|
||||||
|
}
|
||||||
|
|
||||||
// Check passive skill conditions.
|
// Check passive skill conditions.
|
||||||
if (skill.isPassive() && !skill.checkConditions(SkillConditionScope.PASSIVE, player, player))
|
if (skill.isPassive() && !skill.checkConditions(SkillConditionScope.PASSIVE, player, player))
|
||||||
{
|
{
|
||||||
continue;
|
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
|
else
|
||||||
{
|
{
|
||||||
addedSkills.put(holder.getSkill().getId(), holder.getSkill());
|
addedSkills.put(skill.getId(), skill);
|
||||||
}
|
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
@@ -668,24 +647,29 @@ public abstract class Inventory extends ItemContainer
|
|||||||
continue;
|
continue;
|
||||||
}
|
}
|
||||||
|
|
||||||
// Add skills bestowed from +4 armor
|
|
||||||
final Skill skill = holder.getSkill();
|
final Skill skill = holder.getSkill();
|
||||||
|
if (skill == null)
|
||||||
|
{
|
||||||
|
continue;
|
||||||
|
}
|
||||||
|
|
||||||
// Check passive skill conditions.
|
// Check passive skill conditions.
|
||||||
if (skill.isPassive() && !skill.checkConditions(SkillConditionScope.PASSIVE, player, player))
|
if (skill.isPassive() && !skill.checkConditions(SkillConditionScope.PASSIVE, player, player))
|
||||||
{
|
{
|
||||||
continue;
|
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
|
else
|
||||||
{
|
{
|
||||||
addedSkills.put(holder.getSkill().getId(), holder.getSkill());
|
addedSkills.put(skill.getId(), skill);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
@@ -702,23 +686,28 @@ public abstract class Inventory extends ItemContainer
|
|||||||
}
|
}
|
||||||
|
|
||||||
final Skill skill = holder.getSkill();
|
final Skill skill = holder.getSkill();
|
||||||
if (skill != null)
|
if (skill == null)
|
||||||
{
|
{
|
||||||
|
continue;
|
||||||
|
}
|
||||||
|
|
||||||
|
// Check passive skill conditions.
|
||||||
if (skill.isPassive() && !skill.checkConditions(SkillConditionScope.PASSIVE, player, player))
|
if (skill.isPassive() && !skill.checkConditions(SkillConditionScope.PASSIVE, player, player))
|
||||||
{
|
{
|
||||||
continue;
|
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
|
else
|
||||||
{
|
{
|
||||||
addedSkills.put(holder.getSkill().getId(), holder.getSkill());
|
addedSkills.put(skill.getId(), skill);
|
||||||
}
|
}
|
||||||
|
|
||||||
if (skill.isActive() && !player.hasSkillReuse(skill.getReuseHashCode()))
|
if (skill.isActive() && !player.hasSkillReuse(skill.getReuseHashCode()))
|
||||||
@@ -734,7 +723,6 @@ public abstract class Inventory extends ItemContainer
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
|
||||||
|
|
||||||
// Must check all equipped items for enchant conditions.
|
// Must check all equipped items for enchant conditions.
|
||||||
for (ItemInstance equipped : inventory.getPaperdollItems())
|
for (ItemInstance equipped : inventory.getPaperdollItems())
|
||||||
@@ -760,27 +748,34 @@ public abstract class Inventory extends ItemContainer
|
|||||||
continue;
|
continue;
|
||||||
}
|
}
|
||||||
|
|
||||||
// Add skills bestowed from +4 armor
|
if (equipped.getEnchantLevel() < holder.getValue())
|
||||||
if (equipped.getEnchantLevel() >= holder.getValue())
|
|
||||||
{
|
{
|
||||||
|
continue;
|
||||||
|
}
|
||||||
|
|
||||||
final Skill skill = holder.getSkill();
|
final Skill skill = holder.getSkill();
|
||||||
|
if (skill == null)
|
||||||
|
{
|
||||||
|
continue;
|
||||||
|
}
|
||||||
|
|
||||||
// Check passive skill conditions.
|
// Check passive skill conditions.
|
||||||
if (skill.isPassive() && !skill.checkConditions(SkillConditionScope.PASSIVE, player, player))
|
if (skill.isPassive() && !skill.checkConditions(SkillConditionScope.PASSIVE, player, player))
|
||||||
{
|
{
|
||||||
continue;
|
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
|
else
|
||||||
{
|
{
|
||||||
addedSkills.put(holder.getSkill().getId(), holder.getSkill());
|
addedSkills.put(skill.getId(), skill);
|
||||||
}
|
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
@@ -794,26 +789,31 @@ public abstract class Inventory extends ItemContainer
|
|||||||
continue;
|
continue;
|
||||||
}
|
}
|
||||||
|
|
||||||
// Add skills bestowed from +4 armor
|
|
||||||
if (equipped.isBlessed())
|
if (equipped.isBlessed())
|
||||||
{
|
{
|
||||||
final Skill skill = holder.getSkill();
|
final Skill skill = holder.getSkill();
|
||||||
|
if (skill == null)
|
||||||
|
{
|
||||||
|
continue;
|
||||||
|
}
|
||||||
|
|
||||||
// Check passive skill conditions.
|
// Check passive skill conditions.
|
||||||
if (skill.isPassive() && !skill.checkConditions(SkillConditionScope.PASSIVE, player, player))
|
if (skill.isPassive() && !skill.checkConditions(SkillConditionScope.PASSIVE, player, player))
|
||||||
{
|
{
|
||||||
continue;
|
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
|
else
|
||||||
{
|
{
|
||||||
addedSkills.put(holder.getSkill().getId(), holder.getSkill());
|
addedSkills.put(skill.getId(), skill);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
Reference in New Issue
Block a user