diff --git a/L2J_Mobius_1.0_Ertheia/java/org/l2jmobius/gameserver/model/itemcontainer/Inventory.java b/L2J_Mobius_1.0_Ertheia/java/org/l2jmobius/gameserver/model/itemcontainer/Inventory.java index 49b6ed9250..32682dd2e5 100644 --- a/L2J_Mobius_1.0_Ertheia/java/org/l2jmobius/gameserver/model/itemcontainer/Inventory.java +++ b/L2J_Mobius_1.0_Ertheia/java/org/l2jmobius/gameserver/model/itemcontainer/Inventory.java @@ -322,20 +322,15 @@ public abstract class Inventory extends ItemContainer { for (ItemSkillHolder holder : onEnchantSkills) { - // Remove skills bestowed from +4 armor - if (item.getEnchantLevel() >= holder.getValue()) + if (item.getEnchantLevel() < holder.getValue()) { - if (removedSkills.containsKey(holder.getSkill().getId())) - { - if (removedSkills.get(holder.getSkill().getId()).getLevel() < holder.getSkill().getLevel()) - { - removedSkills.put(holder.getSkill().getId(), holder.getSkill()); - } - } - else - { - removedSkills.put(holder.getSkill().getId(), holder.getSkill()); - } + continue; + } + + final Skill skill = holder.getSkill(); + if (skill != null) + { + removedSkills.putIfAbsent(skill.getId(), skill); update = true; } } @@ -349,17 +344,7 @@ public abstract class Inventory extends ItemContainer final Skill skill = holder.getSkill(); if (skill != null) { - if (removedSkills.containsKey(holder.getSkill().getId())) - { - if (removedSkills.get(holder.getSkill().getId()).getLevel() < holder.getSkill().getLevel()) - { - removedSkills.put(holder.getSkill().getId(), holder.getSkill()); - } - } - else - { - removedSkills.put(holder.getSkill().getId(), holder.getSkill()); - } + removedSkills.putIfAbsent(skill.getId(), skill); update = true; } } @@ -388,32 +373,35 @@ public abstract class Inventory extends ItemContainer } final Skill skill = holder.getSkill(); - if (skill != null) + if (skill == null) { - if (addedSkills.containsKey(holder.getSkill().getId())) - { - if (addedSkills.get(holder.getSkill().getId()).getLevel() < holder.getSkill().getLevel()) - { - addedSkills.put(holder.getSkill().getId(), holder.getSkill()); - } - } - else - { - addedSkills.put(holder.getSkill().getId(), holder.getSkill()); - } - - if (skill.isActive() && !player.hasSkillReuse(skill.getReuseHashCode())) - { - final int equipDelay = item.getEquipReuseDelay(); - if (equipDelay > 0) - { - player.addTimeStamp(skill, equipDelay); - player.disableSkill(skill, equipDelay); - } - updateTimestamp = true; - } - update = true; + continue; } + + final Skill existingSkill = addedSkills.get(skill.getId()); + if (existingSkill != null) + { + if (existingSkill.getLevel() < skill.getLevel()) + { + addedSkills.put(skill.getId(), skill); + } + } + else + { + addedSkills.put(skill.getId(), skill); + } + + if (skill.isActive() && !player.hasSkillReuse(skill.getReuseHashCode())) + { + final int equipDelay = item.getEquipReuseDelay(); + if (equipDelay > 0) + { + player.addTimeStamp(skill, equipDelay); + player.disableSkill(skill, equipDelay); + } + updateTimestamp = true; + } + update = true; } } } @@ -435,26 +423,22 @@ public abstract class Inventory extends ItemContainer for (ItemSkillHolder holder : otherEnchantSkills) { - // Add skills bestowed from +4 armor - if (equipped.getEnchantLevel() >= holder.getValue()) + if (equipped.getEnchantLevel() < holder.getValue()) { - final Skill skill = holder.getSkill(); - // Check passive skill conditions. - if (skill.isPassive() && !skill.checkConditions(SkillConditionScope.PASSIVE, player, player)) - { - if (removedSkills.containsKey(holder.getSkill().getId())) - { - if (removedSkills.get(holder.getSkill().getId()).getLevel() < holder.getSkill().getLevel()) - { - removedSkills.put(holder.getSkill().getId(), holder.getSkill()); - } - } - else - { - removedSkills.put(holder.getSkill().getId(), holder.getSkill()); - } - update = true; - } + continue; + } + + final Skill skill = holder.getSkill(); + if (skill == null) + { + continue; + } + + // Check passive skill conditions. + if (skill.isPassive() && !skill.checkConditions(SkillConditionScope.PASSIVE, player, player)) + { + removedSkills.putIfAbsent(skill.getId(), skill); + update = true; } } } @@ -541,28 +525,35 @@ public abstract class Inventory extends ItemContainer continue; } - // Add skills bestowed from +4 armor - if (item.getEnchantLevel() >= holder.getValue()) + if (item.getEnchantLevel() < holder.getValue()) { - final Skill skill = holder.getSkill(); - // Check passive skill conditions. - if (skill.isPassive() && !skill.checkConditions(SkillConditionScope.PASSIVE, player, player)) + continue; + } + + final Skill skill = holder.getSkill(); + if (skill == null) + { + continue; + } + + // Check passive skill conditions. + if (skill.isPassive() && !skill.checkConditions(SkillConditionScope.PASSIVE, player, player)) + { + continue; + } + + final Skill existingSkill = addedSkills.get(skill.getId()); + if (existingSkill != null) + { + if (existingSkill.getLevel() < skill.getLevel()) { - continue; - } - - if (addedSkills.containsKey(holder.getSkill().getId())) - { - if (addedSkills.get(holder.getSkill().getId()).getLevel() < holder.getSkill().getLevel()) - { - addedSkills.put(holder.getSkill().getId(), holder.getSkill()); - } - } - else - { - addedSkills.put(holder.getSkill().getId(), holder.getSkill()); + addedSkills.put(skill.getId(), skill); } } + else + { + addedSkills.put(skill.getId(), skill); + } } } @@ -577,35 +568,39 @@ public abstract class Inventory extends ItemContainer } final Skill skill = holder.getSkill(); - if (skill != null) + if (skill == null) { - if (skill.isPassive() && !skill.checkConditions(SkillConditionScope.PASSIVE, player, player)) + continue; + } + + // Check passive skill conditions. + if (skill.isPassive() && !skill.checkConditions(SkillConditionScope.PASSIVE, player, player)) + { + continue; + } + + final Skill existingSkill = addedSkills.get(skill.getId()); + if (existingSkill != null) + { + if (existingSkill.getLevel() < skill.getLevel()) { - continue; + addedSkills.put(skill.getId(), skill); } - - if (addedSkills.containsKey(holder.getSkill().getId())) + } + else + { + addedSkills.put(skill.getId(), skill); + } + + if (skill.isActive() && !player.hasSkillReuse(skill.getReuseHashCode())) + { + final int equipDelay = item.getEquipReuseDelay(); + if (equipDelay > 0) { - if (addedSkills.get(holder.getSkill().getId()).getLevel() < holder.getSkill().getLevel()) - { - addedSkills.put(holder.getSkill().getId(), holder.getSkill()); - } - } - else - { - addedSkills.put(holder.getSkill().getId(), holder.getSkill()); - } - - if (skill.isActive() && !player.hasSkillReuse(skill.getReuseHashCode())) - { - final int equipDelay = item.getEquipReuseDelay(); - if (equipDelay > 0) - { - player.addTimeStamp(skill, equipDelay); - player.disableSkill(skill, equipDelay); - } - updateTimestamp = true; + player.addTimeStamp(skill, equipDelay); + player.disableSkill(skill, equipDelay); } + updateTimestamp = true; } } } @@ -632,28 +627,35 @@ public abstract class Inventory extends ItemContainer continue; } - // Add skills bestowed from +4 armor - if (equipped.getEnchantLevel() >= holder.getValue()) + if (equipped.getEnchantLevel() < holder.getValue()) { - final Skill skill = holder.getSkill(); - // Check passive skill conditions. - if (skill.isPassive() && !skill.checkConditions(SkillConditionScope.PASSIVE, player, player)) + continue; + } + + final Skill skill = holder.getSkill(); + if (skill == null) + { + continue; + } + + // Check passive skill conditions. + if (skill.isPassive() && !skill.checkConditions(SkillConditionScope.PASSIVE, player, player)) + { + continue; + } + + final Skill existingSkill = addedSkills.get(skill.getId()); + if (existingSkill != null) + { + if (existingSkill.getLevel() < skill.getLevel()) { - continue; - } - - if (addedSkills.containsKey(holder.getSkill().getId())) - { - if (addedSkills.get(holder.getSkill().getId()).getLevel() < holder.getSkill().getLevel()) - { - addedSkills.put(holder.getSkill().getId(), holder.getSkill()); - } - } - else - { - addedSkills.put(holder.getSkill().getId(), holder.getSkill()); + addedSkills.put(skill.getId(), skill); } } + else + { + addedSkills.put(skill.getId(), skill); + } } } diff --git a/L2J_Mobius_2.5_Underground/java/org/l2jmobius/gameserver/model/itemcontainer/Inventory.java b/L2J_Mobius_2.5_Underground/java/org/l2jmobius/gameserver/model/itemcontainer/Inventory.java index 33e7391d54..d07a548dbe 100644 --- a/L2J_Mobius_2.5_Underground/java/org/l2jmobius/gameserver/model/itemcontainer/Inventory.java +++ b/L2J_Mobius_2.5_Underground/java/org/l2jmobius/gameserver/model/itemcontainer/Inventory.java @@ -325,20 +325,15 @@ public abstract class Inventory extends ItemContainer { for (ItemSkillHolder holder : onEnchantSkills) { - // Remove skills bestowed from +4 armor - if (item.getEnchantLevel() >= holder.getValue()) + if (item.getEnchantLevel() < holder.getValue()) { - if (removedSkills.containsKey(holder.getSkill().getId())) - { - if (removedSkills.get(holder.getSkill().getId()).getLevel() < holder.getSkill().getLevel()) - { - removedSkills.put(holder.getSkill().getId(), holder.getSkill()); - } - } - else - { - removedSkills.put(holder.getSkill().getId(), holder.getSkill()); - } + continue; + } + + final Skill skill = holder.getSkill(); + if (skill != null) + { + removedSkills.putIfAbsent(skill.getId(), skill); update = true; } } @@ -352,17 +347,7 @@ public abstract class Inventory extends ItemContainer final Skill skill = holder.getSkill(); if (skill != null) { - if (removedSkills.containsKey(holder.getSkill().getId())) - { - if (removedSkills.get(holder.getSkill().getId()).getLevel() < holder.getSkill().getLevel()) - { - removedSkills.put(holder.getSkill().getId(), holder.getSkill()); - } - } - else - { - removedSkills.put(holder.getSkill().getId(), holder.getSkill()); - } + removedSkills.putIfAbsent(skill.getId(), skill); update = true; } } @@ -391,32 +376,35 @@ public abstract class Inventory extends ItemContainer } final Skill skill = holder.getSkill(); - if (skill != null) + if (skill == null) { - if (addedSkills.containsKey(holder.getSkill().getId())) - { - if (addedSkills.get(holder.getSkill().getId()).getLevel() < holder.getSkill().getLevel()) - { - addedSkills.put(holder.getSkill().getId(), holder.getSkill()); - } - } - else - { - addedSkills.put(holder.getSkill().getId(), holder.getSkill()); - } - - if (skill.isActive() && !player.hasSkillReuse(skill.getReuseHashCode())) - { - final int equipDelay = item.getEquipReuseDelay(); - if (equipDelay > 0) - { - player.addTimeStamp(skill, equipDelay); - player.disableSkill(skill, equipDelay); - } - updateTimestamp = true; - } - update = true; + continue; } + + final Skill existingSkill = addedSkills.get(skill.getId()); + if (existingSkill != null) + { + if (existingSkill.getLevel() < skill.getLevel()) + { + addedSkills.put(skill.getId(), skill); + } + } + else + { + addedSkills.put(skill.getId(), skill); + } + + if (skill.isActive() && !player.hasSkillReuse(skill.getReuseHashCode())) + { + final int equipDelay = item.getEquipReuseDelay(); + if (equipDelay > 0) + { + player.addTimeStamp(skill, equipDelay); + player.disableSkill(skill, equipDelay); + } + updateTimestamp = true; + } + update = true; } } } @@ -438,26 +426,22 @@ public abstract class Inventory extends ItemContainer for (ItemSkillHolder holder : otherEnchantSkills) { - // Add skills bestowed from +4 armor - if (equipped.getEnchantLevel() >= holder.getValue()) + if (equipped.getEnchantLevel() < holder.getValue()) { - final Skill skill = holder.getSkill(); - // Check passive skill conditions. - if (skill.isPassive() && !skill.checkConditions(SkillConditionScope.PASSIVE, player, player)) - { - if (removedSkills.containsKey(holder.getSkill().getId())) - { - if (removedSkills.get(holder.getSkill().getId()).getLevel() < holder.getSkill().getLevel()) - { - removedSkills.put(holder.getSkill().getId(), holder.getSkill()); - } - } - else - { - removedSkills.put(holder.getSkill().getId(), holder.getSkill()); - } - update = true; - } + continue; + } + + final Skill skill = holder.getSkill(); + if (skill == null) + { + continue; + } + + // Check passive skill conditions. + if (skill.isPassive() && !skill.checkConditions(SkillConditionScope.PASSIVE, player, player)) + { + removedSkills.putIfAbsent(skill.getId(), skill); + update = true; } } } @@ -547,28 +531,35 @@ public abstract class Inventory extends ItemContainer continue; } - // Add skills bestowed from +4 armor - if (item.getEnchantLevel() >= holder.getValue()) + if (item.getEnchantLevel() < holder.getValue()) { - final Skill skill = holder.getSkill(); - // Check passive skill conditions. - if (skill.isPassive() && !skill.checkConditions(SkillConditionScope.PASSIVE, player, player)) + continue; + } + + final Skill skill = holder.getSkill(); + if (skill == null) + { + continue; + } + + // Check passive skill conditions. + if (skill.isPassive() && !skill.checkConditions(SkillConditionScope.PASSIVE, player, player)) + { + continue; + } + + final Skill existingSkill = addedSkills.get(skill.getId()); + if (existingSkill != null) + { + if (existingSkill.getLevel() < skill.getLevel()) { - continue; - } - - if (addedSkills.containsKey(holder.getSkill().getId())) - { - if (addedSkills.get(holder.getSkill().getId()).getLevel() < holder.getSkill().getLevel()) - { - addedSkills.put(holder.getSkill().getId(), holder.getSkill()); - } - } - else - { - addedSkills.put(holder.getSkill().getId(), holder.getSkill()); + addedSkills.put(skill.getId(), skill); } } + else + { + addedSkills.put(skill.getId(), skill); + } } } @@ -583,35 +574,39 @@ public abstract class Inventory extends ItemContainer } final Skill skill = holder.getSkill(); - if (skill != null) + if (skill == null) { - if (skill.isPassive() && !skill.checkConditions(SkillConditionScope.PASSIVE, player, player)) + continue; + } + + // Check passive skill conditions. + if (skill.isPassive() && !skill.checkConditions(SkillConditionScope.PASSIVE, player, player)) + { + continue; + } + + final Skill existingSkill = addedSkills.get(skill.getId()); + if (existingSkill != null) + { + if (existingSkill.getLevel() < skill.getLevel()) { - continue; + addedSkills.put(skill.getId(), skill); } - - if (addedSkills.containsKey(holder.getSkill().getId())) + } + else + { + addedSkills.put(skill.getId(), skill); + } + + if (skill.isActive() && !player.hasSkillReuse(skill.getReuseHashCode())) + { + final int equipDelay = item.getEquipReuseDelay(); + if (equipDelay > 0) { - if (addedSkills.get(holder.getSkill().getId()).getLevel() < holder.getSkill().getLevel()) - { - addedSkills.put(holder.getSkill().getId(), holder.getSkill()); - } - } - else - { - addedSkills.put(holder.getSkill().getId(), holder.getSkill()); - } - - if (skill.isActive() && !player.hasSkillReuse(skill.getReuseHashCode())) - { - final int equipDelay = item.getEquipReuseDelay(); - if (equipDelay > 0) - { - player.addTimeStamp(skill, equipDelay); - player.disableSkill(skill, equipDelay); - } - updateTimestamp = true; + player.addTimeStamp(skill, equipDelay); + player.disableSkill(skill, equipDelay); } + updateTimestamp = true; } } } @@ -638,28 +633,35 @@ public abstract class Inventory extends ItemContainer continue; } - // Add skills bestowed from +4 armor - if (equipped.getEnchantLevel() >= holder.getValue()) + if (equipped.getEnchantLevel() < holder.getValue()) { - final Skill skill = holder.getSkill(); - // Check passive skill conditions. - if (skill.isPassive() && !skill.checkConditions(SkillConditionScope.PASSIVE, player, player)) + continue; + } + + final Skill skill = holder.getSkill(); + if (skill == null) + { + continue; + } + + // Check passive skill conditions. + if (skill.isPassive() && !skill.checkConditions(SkillConditionScope.PASSIVE, player, player)) + { + continue; + } + + final Skill existingSkill = addedSkills.get(skill.getId()); + if (existingSkill != null) + { + if (existingSkill.getLevel() < skill.getLevel()) { - continue; - } - - if (addedSkills.containsKey(holder.getSkill().getId())) - { - if (addedSkills.get(holder.getSkill().getId()).getLevel() < holder.getSkill().getLevel()) - { - addedSkills.put(holder.getSkill().getId(), holder.getSkill()); - } - } - else - { - addedSkills.put(holder.getSkill().getId(), holder.getSkill()); + addedSkills.put(skill.getId(), skill); } } + else + { + addedSkills.put(skill.getId(), skill); + } } } diff --git a/L2J_Mobius_3.0_Helios/java/org/l2jmobius/gameserver/model/itemcontainer/Inventory.java b/L2J_Mobius_3.0_Helios/java/org/l2jmobius/gameserver/model/itemcontainer/Inventory.java index 33e7391d54..d07a548dbe 100644 --- a/L2J_Mobius_3.0_Helios/java/org/l2jmobius/gameserver/model/itemcontainer/Inventory.java +++ b/L2J_Mobius_3.0_Helios/java/org/l2jmobius/gameserver/model/itemcontainer/Inventory.java @@ -325,20 +325,15 @@ public abstract class Inventory extends ItemContainer { for (ItemSkillHolder holder : onEnchantSkills) { - // Remove skills bestowed from +4 armor - if (item.getEnchantLevel() >= holder.getValue()) + if (item.getEnchantLevel() < holder.getValue()) { - if (removedSkills.containsKey(holder.getSkill().getId())) - { - if (removedSkills.get(holder.getSkill().getId()).getLevel() < holder.getSkill().getLevel()) - { - removedSkills.put(holder.getSkill().getId(), holder.getSkill()); - } - } - else - { - removedSkills.put(holder.getSkill().getId(), holder.getSkill()); - } + continue; + } + + final Skill skill = holder.getSkill(); + if (skill != null) + { + removedSkills.putIfAbsent(skill.getId(), skill); update = true; } } @@ -352,17 +347,7 @@ public abstract class Inventory extends ItemContainer final Skill skill = holder.getSkill(); if (skill != null) { - if (removedSkills.containsKey(holder.getSkill().getId())) - { - if (removedSkills.get(holder.getSkill().getId()).getLevel() < holder.getSkill().getLevel()) - { - removedSkills.put(holder.getSkill().getId(), holder.getSkill()); - } - } - else - { - removedSkills.put(holder.getSkill().getId(), holder.getSkill()); - } + removedSkills.putIfAbsent(skill.getId(), skill); update = true; } } @@ -391,32 +376,35 @@ public abstract class Inventory extends ItemContainer } final Skill skill = holder.getSkill(); - if (skill != null) + if (skill == null) { - if (addedSkills.containsKey(holder.getSkill().getId())) - { - if (addedSkills.get(holder.getSkill().getId()).getLevel() < holder.getSkill().getLevel()) - { - addedSkills.put(holder.getSkill().getId(), holder.getSkill()); - } - } - else - { - addedSkills.put(holder.getSkill().getId(), holder.getSkill()); - } - - if (skill.isActive() && !player.hasSkillReuse(skill.getReuseHashCode())) - { - final int equipDelay = item.getEquipReuseDelay(); - if (equipDelay > 0) - { - player.addTimeStamp(skill, equipDelay); - player.disableSkill(skill, equipDelay); - } - updateTimestamp = true; - } - update = true; + continue; } + + final Skill existingSkill = addedSkills.get(skill.getId()); + if (existingSkill != null) + { + if (existingSkill.getLevel() < skill.getLevel()) + { + addedSkills.put(skill.getId(), skill); + } + } + else + { + addedSkills.put(skill.getId(), skill); + } + + if (skill.isActive() && !player.hasSkillReuse(skill.getReuseHashCode())) + { + final int equipDelay = item.getEquipReuseDelay(); + if (equipDelay > 0) + { + player.addTimeStamp(skill, equipDelay); + player.disableSkill(skill, equipDelay); + } + updateTimestamp = true; + } + update = true; } } } @@ -438,26 +426,22 @@ public abstract class Inventory extends ItemContainer for (ItemSkillHolder holder : otherEnchantSkills) { - // Add skills bestowed from +4 armor - if (equipped.getEnchantLevel() >= holder.getValue()) + if (equipped.getEnchantLevel() < holder.getValue()) { - final Skill skill = holder.getSkill(); - // Check passive skill conditions. - if (skill.isPassive() && !skill.checkConditions(SkillConditionScope.PASSIVE, player, player)) - { - if (removedSkills.containsKey(holder.getSkill().getId())) - { - if (removedSkills.get(holder.getSkill().getId()).getLevel() < holder.getSkill().getLevel()) - { - removedSkills.put(holder.getSkill().getId(), holder.getSkill()); - } - } - else - { - removedSkills.put(holder.getSkill().getId(), holder.getSkill()); - } - update = true; - } + continue; + } + + final Skill skill = holder.getSkill(); + if (skill == null) + { + continue; + } + + // Check passive skill conditions. + if (skill.isPassive() && !skill.checkConditions(SkillConditionScope.PASSIVE, player, player)) + { + removedSkills.putIfAbsent(skill.getId(), skill); + update = true; } } } @@ -547,28 +531,35 @@ public abstract class Inventory extends ItemContainer continue; } - // Add skills bestowed from +4 armor - if (item.getEnchantLevel() >= holder.getValue()) + if (item.getEnchantLevel() < holder.getValue()) { - final Skill skill = holder.getSkill(); - // Check passive skill conditions. - if (skill.isPassive() && !skill.checkConditions(SkillConditionScope.PASSIVE, player, player)) + continue; + } + + final Skill skill = holder.getSkill(); + if (skill == null) + { + continue; + } + + // Check passive skill conditions. + if (skill.isPassive() && !skill.checkConditions(SkillConditionScope.PASSIVE, player, player)) + { + continue; + } + + final Skill existingSkill = addedSkills.get(skill.getId()); + if (existingSkill != null) + { + if (existingSkill.getLevel() < skill.getLevel()) { - continue; - } - - if (addedSkills.containsKey(holder.getSkill().getId())) - { - if (addedSkills.get(holder.getSkill().getId()).getLevel() < holder.getSkill().getLevel()) - { - addedSkills.put(holder.getSkill().getId(), holder.getSkill()); - } - } - else - { - addedSkills.put(holder.getSkill().getId(), holder.getSkill()); + addedSkills.put(skill.getId(), skill); } } + else + { + addedSkills.put(skill.getId(), skill); + } } } @@ -583,35 +574,39 @@ public abstract class Inventory extends ItemContainer } final Skill skill = holder.getSkill(); - if (skill != null) + if (skill == null) { - if (skill.isPassive() && !skill.checkConditions(SkillConditionScope.PASSIVE, player, player)) + continue; + } + + // Check passive skill conditions. + if (skill.isPassive() && !skill.checkConditions(SkillConditionScope.PASSIVE, player, player)) + { + continue; + } + + final Skill existingSkill = addedSkills.get(skill.getId()); + if (existingSkill != null) + { + if (existingSkill.getLevel() < skill.getLevel()) { - continue; + addedSkills.put(skill.getId(), skill); } - - if (addedSkills.containsKey(holder.getSkill().getId())) + } + else + { + addedSkills.put(skill.getId(), skill); + } + + if (skill.isActive() && !player.hasSkillReuse(skill.getReuseHashCode())) + { + final int equipDelay = item.getEquipReuseDelay(); + if (equipDelay > 0) { - if (addedSkills.get(holder.getSkill().getId()).getLevel() < holder.getSkill().getLevel()) - { - addedSkills.put(holder.getSkill().getId(), holder.getSkill()); - } - } - else - { - addedSkills.put(holder.getSkill().getId(), holder.getSkill()); - } - - if (skill.isActive() && !player.hasSkillReuse(skill.getReuseHashCode())) - { - final int equipDelay = item.getEquipReuseDelay(); - if (equipDelay > 0) - { - player.addTimeStamp(skill, equipDelay); - player.disableSkill(skill, equipDelay); - } - updateTimestamp = true; + player.addTimeStamp(skill, equipDelay); + player.disableSkill(skill, equipDelay); } + updateTimestamp = true; } } } @@ -638,28 +633,35 @@ public abstract class Inventory extends ItemContainer continue; } - // Add skills bestowed from +4 armor - if (equipped.getEnchantLevel() >= holder.getValue()) + if (equipped.getEnchantLevel() < holder.getValue()) { - final Skill skill = holder.getSkill(); - // Check passive skill conditions. - if (skill.isPassive() && !skill.checkConditions(SkillConditionScope.PASSIVE, player, player)) + continue; + } + + final Skill skill = holder.getSkill(); + if (skill == null) + { + continue; + } + + // Check passive skill conditions. + if (skill.isPassive() && !skill.checkConditions(SkillConditionScope.PASSIVE, player, player)) + { + continue; + } + + final Skill existingSkill = addedSkills.get(skill.getId()); + if (existingSkill != null) + { + if (existingSkill.getLevel() < skill.getLevel()) { - continue; - } - - if (addedSkills.containsKey(holder.getSkill().getId())) - { - if (addedSkills.get(holder.getSkill().getId()).getLevel() < holder.getSkill().getLevel()) - { - addedSkills.put(holder.getSkill().getId(), holder.getSkill()); - } - } - else - { - addedSkills.put(holder.getSkill().getId(), holder.getSkill()); + addedSkills.put(skill.getId(), skill); } } + else + { + addedSkills.put(skill.getId(), skill); + } } } diff --git a/L2J_Mobius_4.0_GrandCrusade/java/org/l2jmobius/gameserver/model/itemcontainer/Inventory.java b/L2J_Mobius_4.0_GrandCrusade/java/org/l2jmobius/gameserver/model/itemcontainer/Inventory.java index 21a73ce2df..842dd1767c 100644 --- a/L2J_Mobius_4.0_GrandCrusade/java/org/l2jmobius/gameserver/model/itemcontainer/Inventory.java +++ b/L2J_Mobius_4.0_GrandCrusade/java/org/l2jmobius/gameserver/model/itemcontainer/Inventory.java @@ -325,20 +325,15 @@ public abstract class Inventory extends ItemContainer { for (ItemSkillHolder holder : onEnchantSkills) { - // Remove skills bestowed from +4 armor - if (item.getEnchantLevel() >= holder.getValue()) + if (item.getEnchantLevel() < holder.getValue()) { - if (removedSkills.containsKey(holder.getSkill().getId())) - { - if (removedSkills.get(holder.getSkill().getId()).getLevel() < holder.getSkill().getLevel()) - { - removedSkills.put(holder.getSkill().getId(), holder.getSkill()); - } - } - else - { - removedSkills.put(holder.getSkill().getId(), holder.getSkill()); - } + continue; + } + + final Skill skill = holder.getSkill(); + if (skill != null) + { + removedSkills.putIfAbsent(skill.getId(), skill); update = true; } } @@ -352,17 +347,7 @@ public abstract class Inventory extends ItemContainer final Skill skill = holder.getSkill(); if (skill != null) { - if (removedSkills.containsKey(holder.getSkill().getId())) - { - if (removedSkills.get(holder.getSkill().getId()).getLevel() < holder.getSkill().getLevel()) - { - removedSkills.put(holder.getSkill().getId(), holder.getSkill()); - } - } - else - { - removedSkills.put(holder.getSkill().getId(), holder.getSkill()); - } + removedSkills.putIfAbsent(skill.getId(), skill); update = true; } } @@ -391,32 +376,35 @@ public abstract class Inventory extends ItemContainer } final Skill skill = holder.getSkill(); - if (skill != null) + if (skill == null) { - if (addedSkills.containsKey(holder.getSkill().getId())) - { - if (addedSkills.get(holder.getSkill().getId()).getLevel() < holder.getSkill().getLevel()) - { - addedSkills.put(holder.getSkill().getId(), holder.getSkill()); - } - } - else - { - addedSkills.put(holder.getSkill().getId(), holder.getSkill()); - } - - if (skill.isActive() && !player.hasSkillReuse(skill.getReuseHashCode())) - { - final int equipDelay = item.getEquipReuseDelay(); - if (equipDelay > 0) - { - player.addTimeStamp(skill, equipDelay); - player.disableSkill(skill, equipDelay); - } - updateTimestamp = true; - } - update = true; + continue; } + + final Skill existingSkill = addedSkills.get(skill.getId()); + if (existingSkill != null) + { + if (existingSkill.getLevel() < skill.getLevel()) + { + addedSkills.put(skill.getId(), skill); + } + } + else + { + addedSkills.put(skill.getId(), skill); + } + + if (skill.isActive() && !player.hasSkillReuse(skill.getReuseHashCode())) + { + final int equipDelay = item.getEquipReuseDelay(); + if (equipDelay > 0) + { + player.addTimeStamp(skill, equipDelay); + player.disableSkill(skill, equipDelay); + } + updateTimestamp = true; + } + update = true; } } } @@ -438,26 +426,22 @@ public abstract class Inventory extends ItemContainer for (ItemSkillHolder holder : otherEnchantSkills) { - // Add skills bestowed from +4 armor - if (equipped.getEnchantLevel() >= holder.getValue()) + if (equipped.getEnchantLevel() < holder.getValue()) { - final Skill skill = holder.getSkill(); - // Check passive skill conditions. - if (skill.isPassive() && !skill.checkConditions(SkillConditionScope.PASSIVE, player, player)) - { - if (removedSkills.containsKey(holder.getSkill().getId())) - { - if (removedSkills.get(holder.getSkill().getId()).getLevel() < holder.getSkill().getLevel()) - { - removedSkills.put(holder.getSkill().getId(), holder.getSkill()); - } - } - else - { - removedSkills.put(holder.getSkill().getId(), holder.getSkill()); - } - update = true; - } + continue; + } + + final Skill skill = holder.getSkill(); + if (skill == null) + { + continue; + } + + // Check passive skill conditions. + if (skill.isPassive() && !skill.checkConditions(SkillConditionScope.PASSIVE, player, player)) + { + removedSkills.putIfAbsent(skill.getId(), skill); + update = true; } } } @@ -547,28 +531,35 @@ public abstract class Inventory extends ItemContainer continue; } - // Add skills bestowed from +4 armor - if (item.getEnchantLevel() >= holder.getValue()) + if (item.getEnchantLevel() < holder.getValue()) { - final Skill skill = holder.getSkill(); - // Check passive skill conditions. - if (skill.isPassive() && !skill.checkConditions(SkillConditionScope.PASSIVE, player, player)) + continue; + } + + final Skill skill = holder.getSkill(); + if (skill == null) + { + continue; + } + + // Check passive skill conditions. + if (skill.isPassive() && !skill.checkConditions(SkillConditionScope.PASSIVE, player, player)) + { + continue; + } + + final Skill existingSkill = addedSkills.get(skill.getId()); + if (existingSkill != null) + { + if (existingSkill.getLevel() < skill.getLevel()) { - continue; - } - - if (addedSkills.containsKey(holder.getSkill().getId())) - { - if (addedSkills.get(holder.getSkill().getId()).getLevel() < holder.getSkill().getLevel()) - { - addedSkills.put(holder.getSkill().getId(), holder.getSkill()); - } - } - else - { - addedSkills.put(holder.getSkill().getId(), holder.getSkill()); + addedSkills.put(skill.getId(), skill); } } + else + { + addedSkills.put(skill.getId(), skill); + } } } @@ -583,35 +574,39 @@ public abstract class Inventory extends ItemContainer } final Skill skill = holder.getSkill(); - if (skill != null) + if (skill == null) { - if (skill.isPassive() && !skill.checkConditions(SkillConditionScope.PASSIVE, player, player)) + continue; + } + + // Check passive skill conditions. + if (skill.isPassive() && !skill.checkConditions(SkillConditionScope.PASSIVE, player, player)) + { + continue; + } + + final Skill existingSkill = addedSkills.get(skill.getId()); + if (existingSkill != null) + { + if (existingSkill.getLevel() < skill.getLevel()) { - continue; + addedSkills.put(skill.getId(), skill); } - - if (addedSkills.containsKey(holder.getSkill().getId())) + } + else + { + addedSkills.put(skill.getId(), skill); + } + + if (skill.isActive() && !player.hasSkillReuse(skill.getReuseHashCode())) + { + final int equipDelay = item.getEquipReuseDelay(); + if (equipDelay > 0) { - if (addedSkills.get(holder.getSkill().getId()).getLevel() < holder.getSkill().getLevel()) - { - addedSkills.put(holder.getSkill().getId(), holder.getSkill()); - } - } - else - { - addedSkills.put(holder.getSkill().getId(), holder.getSkill()); - } - - if (skill.isActive() && !player.hasSkillReuse(skill.getReuseHashCode())) - { - final int equipDelay = item.getEquipReuseDelay(); - if (equipDelay > 0) - { - player.addTimeStamp(skill, equipDelay); - player.disableSkill(skill, equipDelay); - } - updateTimestamp = true; + player.addTimeStamp(skill, equipDelay); + player.disableSkill(skill, equipDelay); } + updateTimestamp = true; } } } @@ -638,28 +633,35 @@ public abstract class Inventory extends ItemContainer continue; } - // Add skills bestowed from +4 armor - if (equipped.getEnchantLevel() >= holder.getValue()) + if (equipped.getEnchantLevel() < holder.getValue()) { - final Skill skill = holder.getSkill(); - // Check passive skill conditions. - if (skill.isPassive() && !skill.checkConditions(SkillConditionScope.PASSIVE, player, player)) + continue; + } + + final Skill skill = holder.getSkill(); + if (skill == null) + { + continue; + } + + // Check passive skill conditions. + if (skill.isPassive() && !skill.checkConditions(SkillConditionScope.PASSIVE, player, player)) + { + continue; + } + + final Skill existingSkill = addedSkills.get(skill.getId()); + if (existingSkill != null) + { + if (existingSkill.getLevel() < skill.getLevel()) { - continue; - } - - if (addedSkills.containsKey(holder.getSkill().getId())) - { - if (addedSkills.get(holder.getSkill().getId()).getLevel() < holder.getSkill().getLevel()) - { - addedSkills.put(holder.getSkill().getId(), holder.getSkill()); - } - } - else - { - addedSkills.put(holder.getSkill().getId(), holder.getSkill()); + addedSkills.put(skill.getId(), skill); } } + else + { + addedSkills.put(skill.getId(), skill); + } } } diff --git a/L2J_Mobius_5.0_Salvation/java/org/l2jmobius/gameserver/model/itemcontainer/Inventory.java b/L2J_Mobius_5.0_Salvation/java/org/l2jmobius/gameserver/model/itemcontainer/Inventory.java index ba90f7c426..9239beb336 100644 --- a/L2J_Mobius_5.0_Salvation/java/org/l2jmobius/gameserver/model/itemcontainer/Inventory.java +++ b/L2J_Mobius_5.0_Salvation/java/org/l2jmobius/gameserver/model/itemcontainer/Inventory.java @@ -333,20 +333,15 @@ public abstract class Inventory extends ItemContainer { for (ItemSkillHolder holder : onEnchantSkills) { - // Remove skills bestowed from +4 armor - if (item.getEnchantLevel() >= holder.getValue()) + if (item.getEnchantLevel() < holder.getValue()) { - if (removedSkills.containsKey(holder.getSkill().getId())) - { - if (removedSkills.get(holder.getSkill().getId()).getLevel() < holder.getSkill().getLevel()) - { - removedSkills.put(holder.getSkill().getId(), holder.getSkill()); - } - } - else - { - removedSkills.put(holder.getSkill().getId(), holder.getSkill()); - } + continue; + } + + final Skill skill = holder.getSkill(); + if (skill != null) + { + removedSkills.putIfAbsent(skill.getId(), skill); update = true; } } @@ -360,17 +355,7 @@ public abstract class Inventory extends ItemContainer final Skill skill = holder.getSkill(); if (skill != null) { - if (removedSkills.containsKey(holder.getSkill().getId())) - { - if (removedSkills.get(holder.getSkill().getId()).getLevel() < holder.getSkill().getLevel()) - { - removedSkills.put(holder.getSkill().getId(), holder.getSkill()); - } - } - else - { - removedSkills.put(holder.getSkill().getId(), holder.getSkill()); - } + removedSkills.putIfAbsent(skill.getId(), skill); update = true; } } @@ -399,32 +384,35 @@ public abstract class Inventory extends ItemContainer } final Skill skill = holder.getSkill(); - if (skill != null) + if (skill == null) { - if (addedSkills.containsKey(holder.getSkill().getId())) - { - if (addedSkills.get(holder.getSkill().getId()).getLevel() < holder.getSkill().getLevel()) - { - addedSkills.put(holder.getSkill().getId(), holder.getSkill()); - } - } - else - { - addedSkills.put(holder.getSkill().getId(), holder.getSkill()); - } - - if (skill.isActive() && !player.hasSkillReuse(skill.getReuseHashCode())) - { - final int equipDelay = item.getEquipReuseDelay(); - if (equipDelay > 0) - { - player.addTimeStamp(skill, equipDelay); - player.disableSkill(skill, equipDelay); - } - updateTimestamp = true; - } - update = true; + continue; } + + final Skill existingSkill = addedSkills.get(skill.getId()); + if (existingSkill != null) + { + if (existingSkill.getLevel() < skill.getLevel()) + { + addedSkills.put(skill.getId(), skill); + } + } + else + { + addedSkills.put(skill.getId(), skill); + } + + if (skill.isActive() && !player.hasSkillReuse(skill.getReuseHashCode())) + { + final int equipDelay = item.getEquipReuseDelay(); + if (equipDelay > 0) + { + player.addTimeStamp(skill, equipDelay); + player.disableSkill(skill, equipDelay); + } + updateTimestamp = true; + } + update = true; } } } @@ -446,26 +434,22 @@ public abstract class Inventory extends ItemContainer for (ItemSkillHolder holder : otherEnchantSkills) { - // Add skills bestowed from +4 armor - if (equipped.getEnchantLevel() >= holder.getValue()) + if (equipped.getEnchantLevel() < holder.getValue()) { - final Skill skill = holder.getSkill(); - // Check passive skill conditions. - if (skill.isPassive() && !skill.checkConditions(SkillConditionScope.PASSIVE, player, player)) - { - if (removedSkills.containsKey(holder.getSkill().getId())) - { - if (removedSkills.get(holder.getSkill().getId()).getLevel() < holder.getSkill().getLevel()) - { - removedSkills.put(holder.getSkill().getId(), holder.getSkill()); - } - } - else - { - removedSkills.put(holder.getSkill().getId(), holder.getSkill()); - } - update = true; - } + continue; + } + + final Skill skill = holder.getSkill(); + if (skill == null) + { + continue; + } + + // Check passive skill conditions. + if (skill.isPassive() && !skill.checkConditions(SkillConditionScope.PASSIVE, player, player)) + { + removedSkills.putIfAbsent(skill.getId(), skill); + update = true; } } } @@ -558,28 +542,35 @@ public abstract class Inventory extends ItemContainer continue; } - // Add skills bestowed from +4 armor - if (item.getEnchantLevel() >= holder.getValue()) + if (item.getEnchantLevel() < holder.getValue()) { - final Skill skill = holder.getSkill(); - // Check passive skill conditions. - if (skill.isPassive() && !skill.checkConditions(SkillConditionScope.PASSIVE, player, player)) + continue; + } + + final Skill skill = holder.getSkill(); + if (skill == null) + { + continue; + } + + // Check passive skill conditions. + if (skill.isPassive() && !skill.checkConditions(SkillConditionScope.PASSIVE, player, player)) + { + continue; + } + + final Skill existingSkill = addedSkills.get(skill.getId()); + if (existingSkill != null) + { + if (existingSkill.getLevel() < skill.getLevel()) { - continue; - } - - if (addedSkills.containsKey(holder.getSkill().getId())) - { - if (addedSkills.get(holder.getSkill().getId()).getLevel() < holder.getSkill().getLevel()) - { - addedSkills.put(holder.getSkill().getId(), holder.getSkill()); - } - } - else - { - addedSkills.put(holder.getSkill().getId(), holder.getSkill()); + addedSkills.put(skill.getId(), skill); } } + else + { + addedSkills.put(skill.getId(), skill); + } } } @@ -594,35 +585,39 @@ public abstract class Inventory extends ItemContainer } final Skill skill = holder.getSkill(); - if (skill != null) + if (skill == null) { - if (skill.isPassive() && !skill.checkConditions(SkillConditionScope.PASSIVE, player, player)) + continue; + } + + // Check passive skill conditions. + if (skill.isPassive() && !skill.checkConditions(SkillConditionScope.PASSIVE, player, player)) + { + continue; + } + + final Skill existingSkill = addedSkills.get(skill.getId()); + if (existingSkill != null) + { + if (existingSkill.getLevel() < skill.getLevel()) { - continue; + addedSkills.put(skill.getId(), skill); } - - if (addedSkills.containsKey(holder.getSkill().getId())) + } + else + { + addedSkills.put(skill.getId(), skill); + } + + if (skill.isActive() && !player.hasSkillReuse(skill.getReuseHashCode())) + { + final int equipDelay = item.getEquipReuseDelay(); + if (equipDelay > 0) { - if (addedSkills.get(holder.getSkill().getId()).getLevel() < holder.getSkill().getLevel()) - { - addedSkills.put(holder.getSkill().getId(), holder.getSkill()); - } - } - else - { - addedSkills.put(holder.getSkill().getId(), holder.getSkill()); - } - - if (skill.isActive() && !player.hasSkillReuse(skill.getReuseHashCode())) - { - final int equipDelay = item.getEquipReuseDelay(); - if (equipDelay > 0) - { - player.addTimeStamp(skill, equipDelay); - player.disableSkill(skill, equipDelay); - } - updateTimestamp = true; + player.addTimeStamp(skill, equipDelay); + player.disableSkill(skill, equipDelay); } + updateTimestamp = true; } } } @@ -649,28 +644,35 @@ public abstract class Inventory extends ItemContainer continue; } - // Add skills bestowed from +4 armor - if (equipped.getEnchantLevel() >= holder.getValue()) + if (equipped.getEnchantLevel() < holder.getValue()) { - final Skill skill = holder.getSkill(); - // Check passive skill conditions. - if (skill.isPassive() && !skill.checkConditions(SkillConditionScope.PASSIVE, player, player)) + continue; + } + + final Skill skill = holder.getSkill(); + if (skill == null) + { + continue; + } + + // Check passive skill conditions. + if (skill.isPassive() && !skill.checkConditions(SkillConditionScope.PASSIVE, player, player)) + { + continue; + } + + final Skill existingSkill = addedSkills.get(skill.getId()); + if (existingSkill != null) + { + if (existingSkill.getLevel() < skill.getLevel()) { - continue; - } - - if (addedSkills.containsKey(holder.getSkill().getId())) - { - if (addedSkills.get(holder.getSkill().getId()).getLevel() < holder.getSkill().getLevel()) - { - addedSkills.put(holder.getSkill().getId(), holder.getSkill()); - } - } - else - { - addedSkills.put(holder.getSkill().getId(), holder.getSkill()); + addedSkills.put(skill.getId(), skill); } } + else + { + addedSkills.put(skill.getId(), skill); + } } } diff --git a/L2J_Mobius_5.5_EtinasFate/java/org/l2jmobius/gameserver/model/itemcontainer/Inventory.java b/L2J_Mobius_5.5_EtinasFate/java/org/l2jmobius/gameserver/model/itemcontainer/Inventory.java index ca306d2071..3725aeb656 100644 --- a/L2J_Mobius_5.5_EtinasFate/java/org/l2jmobius/gameserver/model/itemcontainer/Inventory.java +++ b/L2J_Mobius_5.5_EtinasFate/java/org/l2jmobius/gameserver/model/itemcontainer/Inventory.java @@ -356,20 +356,15 @@ public abstract class Inventory extends ItemContainer { for (ItemSkillHolder holder : onEnchantSkills) { - // Remove skills bestowed from +4 armor - if (item.getEnchantLevel() >= holder.getValue()) + if (item.getEnchantLevel() < holder.getValue()) { - if (removedSkills.containsKey(holder.getSkill().getId())) - { - if (removedSkills.get(holder.getSkill().getId()).getLevel() < holder.getSkill().getLevel()) - { - removedSkills.put(holder.getSkill().getId(), holder.getSkill()); - } - } - else - { - removedSkills.put(holder.getSkill().getId(), holder.getSkill()); - } + continue; + } + + final Skill skill = holder.getSkill(); + if (skill != null) + { + removedSkills.putIfAbsent(skill.getId(), skill); update = true; } } @@ -383,17 +378,7 @@ public abstract class Inventory extends ItemContainer final Skill skill = holder.getSkill(); if (skill != null) { - if (removedSkills.containsKey(holder.getSkill().getId())) - { - if (removedSkills.get(holder.getSkill().getId()).getLevel() < holder.getSkill().getLevel()) - { - removedSkills.put(holder.getSkill().getId(), holder.getSkill()); - } - } - else - { - removedSkills.put(holder.getSkill().getId(), holder.getSkill()); - } + removedSkills.putIfAbsent(skill.getId(), skill); update = true; } } @@ -422,32 +407,35 @@ public abstract class Inventory extends ItemContainer } final Skill skill = holder.getSkill(); - if (skill != null) + if (skill == null) { - if (addedSkills.containsKey(holder.getSkill().getId())) - { - if (addedSkills.get(holder.getSkill().getId()).getLevel() < holder.getSkill().getLevel()) - { - addedSkills.put(holder.getSkill().getId(), holder.getSkill()); - } - } - else - { - addedSkills.put(holder.getSkill().getId(), holder.getSkill()); - } - - if (skill.isActive() && !player.hasSkillReuse(skill.getReuseHashCode())) - { - final int equipDelay = item.getEquipReuseDelay(); - if (equipDelay > 0) - { - player.addTimeStamp(skill, equipDelay); - player.disableSkill(skill, equipDelay); - } - updateTimestamp = true; - } - update = true; + continue; } + + final Skill existingSkill = addedSkills.get(skill.getId()); + if (existingSkill != null) + { + if (existingSkill.getLevel() < skill.getLevel()) + { + addedSkills.put(skill.getId(), skill); + } + } + else + { + addedSkills.put(skill.getId(), skill); + } + + if (skill.isActive() && !player.hasSkillReuse(skill.getReuseHashCode())) + { + final int equipDelay = item.getEquipReuseDelay(); + if (equipDelay > 0) + { + player.addTimeStamp(skill, equipDelay); + player.disableSkill(skill, equipDelay); + } + updateTimestamp = true; + } + update = true; } } } @@ -469,26 +457,22 @@ public abstract class Inventory extends ItemContainer for (ItemSkillHolder holder : otherEnchantSkills) { - // Add skills bestowed from +4 armor - if (equipped.getEnchantLevel() >= holder.getValue()) + if (equipped.getEnchantLevel() < holder.getValue()) { - final Skill skill = holder.getSkill(); - // Check passive skill conditions. - if (skill.isPassive() && !skill.checkConditions(SkillConditionScope.PASSIVE, player, player)) - { - if (removedSkills.containsKey(holder.getSkill().getId())) - { - if (removedSkills.get(holder.getSkill().getId()).getLevel() < holder.getSkill().getLevel()) - { - removedSkills.put(holder.getSkill().getId(), holder.getSkill()); - } - } - else - { - removedSkills.put(holder.getSkill().getId(), holder.getSkill()); - } - update = true; - } + continue; + } + + final Skill skill = holder.getSkill(); + if (skill == null) + { + continue; + } + + // Check passive skill conditions. + if (skill.isPassive() && !skill.checkConditions(SkillConditionScope.PASSIVE, player, player)) + { + removedSkills.putIfAbsent(skill.getId(), skill); + update = true; } } } @@ -581,28 +565,35 @@ public abstract class Inventory extends ItemContainer continue; } - // Add skills bestowed from +4 armor - if (item.getEnchantLevel() >= holder.getValue()) + if (item.getEnchantLevel() < holder.getValue()) { - final Skill skill = holder.getSkill(); - // Check passive skill conditions. - if (skill.isPassive() && !skill.checkConditions(SkillConditionScope.PASSIVE, player, player)) + continue; + } + + final Skill skill = holder.getSkill(); + if (skill == null) + { + continue; + } + + // Check passive skill conditions. + if (skill.isPassive() && !skill.checkConditions(SkillConditionScope.PASSIVE, player, player)) + { + continue; + } + + final Skill existingSkill = addedSkills.get(skill.getId()); + if (existingSkill != null) + { + if (existingSkill.getLevel() < skill.getLevel()) { - continue; - } - - if (addedSkills.containsKey(holder.getSkill().getId())) - { - if (addedSkills.get(holder.getSkill().getId()).getLevel() < holder.getSkill().getLevel()) - { - addedSkills.put(holder.getSkill().getId(), holder.getSkill()); - } - } - else - { - addedSkills.put(holder.getSkill().getId(), holder.getSkill()); + addedSkills.put(skill.getId(), skill); } } + else + { + addedSkills.put(skill.getId(), skill); + } } } @@ -617,35 +608,39 @@ public abstract class Inventory extends ItemContainer } final Skill skill = holder.getSkill(); - if (skill != null) + if (skill == null) { - if (skill.isPassive() && !skill.checkConditions(SkillConditionScope.PASSIVE, player, player)) + continue; + } + + // Check passive skill conditions. + if (skill.isPassive() && !skill.checkConditions(SkillConditionScope.PASSIVE, player, player)) + { + continue; + } + + final Skill existingSkill = addedSkills.get(skill.getId()); + if (existingSkill != null) + { + if (existingSkill.getLevel() < skill.getLevel()) { - continue; + addedSkills.put(skill.getId(), skill); } - - if (addedSkills.containsKey(holder.getSkill().getId())) + } + else + { + addedSkills.put(skill.getId(), skill); + } + + if (skill.isActive() && !player.hasSkillReuse(skill.getReuseHashCode())) + { + final int equipDelay = item.getEquipReuseDelay(); + if (equipDelay > 0) { - if (addedSkills.get(holder.getSkill().getId()).getLevel() < holder.getSkill().getLevel()) - { - addedSkills.put(holder.getSkill().getId(), holder.getSkill()); - } - } - else - { - addedSkills.put(holder.getSkill().getId(), holder.getSkill()); - } - - if (skill.isActive() && !player.hasSkillReuse(skill.getReuseHashCode())) - { - final int equipDelay = item.getEquipReuseDelay(); - if (equipDelay > 0) - { - player.addTimeStamp(skill, equipDelay); - player.disableSkill(skill, equipDelay); - } - updateTimestamp = true; + player.addTimeStamp(skill, equipDelay); + player.disableSkill(skill, equipDelay); } + updateTimestamp = true; } } } @@ -672,28 +667,35 @@ public abstract class Inventory extends ItemContainer continue; } - // Add skills bestowed from +4 armor - if (equipped.getEnchantLevel() >= holder.getValue()) + if (equipped.getEnchantLevel() < holder.getValue()) { - final Skill skill = holder.getSkill(); - // Check passive skill conditions. - if (skill.isPassive() && !skill.checkConditions(SkillConditionScope.PASSIVE, player, player)) + continue; + } + + final Skill skill = holder.getSkill(); + if (skill == null) + { + continue; + } + + // Check passive skill conditions. + if (skill.isPassive() && !skill.checkConditions(SkillConditionScope.PASSIVE, player, player)) + { + continue; + } + + final Skill existingSkill = addedSkills.get(skill.getId()); + if (existingSkill != null) + { + if (existingSkill.getLevel() < skill.getLevel()) { - continue; - } - - if (addedSkills.containsKey(holder.getSkill().getId())) - { - if (addedSkills.get(holder.getSkill().getId()).getLevel() < holder.getSkill().getLevel()) - { - addedSkills.put(holder.getSkill().getId(), holder.getSkill()); - } - } - else - { - addedSkills.put(holder.getSkill().getId(), holder.getSkill()); + addedSkills.put(skill.getId(), skill); } } + else + { + addedSkills.put(skill.getId(), skill); + } } } diff --git a/L2J_Mobius_6.0_Fafurion/java/org/l2jmobius/gameserver/model/itemcontainer/Inventory.java b/L2J_Mobius_6.0_Fafurion/java/org/l2jmobius/gameserver/model/itemcontainer/Inventory.java index ca306d2071..3725aeb656 100644 --- a/L2J_Mobius_6.0_Fafurion/java/org/l2jmobius/gameserver/model/itemcontainer/Inventory.java +++ b/L2J_Mobius_6.0_Fafurion/java/org/l2jmobius/gameserver/model/itemcontainer/Inventory.java @@ -356,20 +356,15 @@ public abstract class Inventory extends ItemContainer { for (ItemSkillHolder holder : onEnchantSkills) { - // Remove skills bestowed from +4 armor - if (item.getEnchantLevel() >= holder.getValue()) + if (item.getEnchantLevel() < holder.getValue()) { - if (removedSkills.containsKey(holder.getSkill().getId())) - { - if (removedSkills.get(holder.getSkill().getId()).getLevel() < holder.getSkill().getLevel()) - { - removedSkills.put(holder.getSkill().getId(), holder.getSkill()); - } - } - else - { - removedSkills.put(holder.getSkill().getId(), holder.getSkill()); - } + continue; + } + + final Skill skill = holder.getSkill(); + if (skill != null) + { + removedSkills.putIfAbsent(skill.getId(), skill); update = true; } } @@ -383,17 +378,7 @@ public abstract class Inventory extends ItemContainer final Skill skill = holder.getSkill(); if (skill != null) { - if (removedSkills.containsKey(holder.getSkill().getId())) - { - if (removedSkills.get(holder.getSkill().getId()).getLevel() < holder.getSkill().getLevel()) - { - removedSkills.put(holder.getSkill().getId(), holder.getSkill()); - } - } - else - { - removedSkills.put(holder.getSkill().getId(), holder.getSkill()); - } + removedSkills.putIfAbsent(skill.getId(), skill); update = true; } } @@ -422,32 +407,35 @@ public abstract class Inventory extends ItemContainer } final Skill skill = holder.getSkill(); - if (skill != null) + if (skill == null) { - if (addedSkills.containsKey(holder.getSkill().getId())) - { - if (addedSkills.get(holder.getSkill().getId()).getLevel() < holder.getSkill().getLevel()) - { - addedSkills.put(holder.getSkill().getId(), holder.getSkill()); - } - } - else - { - addedSkills.put(holder.getSkill().getId(), holder.getSkill()); - } - - if (skill.isActive() && !player.hasSkillReuse(skill.getReuseHashCode())) - { - final int equipDelay = item.getEquipReuseDelay(); - if (equipDelay > 0) - { - player.addTimeStamp(skill, equipDelay); - player.disableSkill(skill, equipDelay); - } - updateTimestamp = true; - } - update = true; + continue; } + + final Skill existingSkill = addedSkills.get(skill.getId()); + if (existingSkill != null) + { + if (existingSkill.getLevel() < skill.getLevel()) + { + addedSkills.put(skill.getId(), skill); + } + } + else + { + addedSkills.put(skill.getId(), skill); + } + + if (skill.isActive() && !player.hasSkillReuse(skill.getReuseHashCode())) + { + final int equipDelay = item.getEquipReuseDelay(); + if (equipDelay > 0) + { + player.addTimeStamp(skill, equipDelay); + player.disableSkill(skill, equipDelay); + } + updateTimestamp = true; + } + update = true; } } } @@ -469,26 +457,22 @@ public abstract class Inventory extends ItemContainer for (ItemSkillHolder holder : otherEnchantSkills) { - // Add skills bestowed from +4 armor - if (equipped.getEnchantLevel() >= holder.getValue()) + if (equipped.getEnchantLevel() < holder.getValue()) { - final Skill skill = holder.getSkill(); - // Check passive skill conditions. - if (skill.isPassive() && !skill.checkConditions(SkillConditionScope.PASSIVE, player, player)) - { - if (removedSkills.containsKey(holder.getSkill().getId())) - { - if (removedSkills.get(holder.getSkill().getId()).getLevel() < holder.getSkill().getLevel()) - { - removedSkills.put(holder.getSkill().getId(), holder.getSkill()); - } - } - else - { - removedSkills.put(holder.getSkill().getId(), holder.getSkill()); - } - update = true; - } + continue; + } + + final Skill skill = holder.getSkill(); + if (skill == null) + { + continue; + } + + // Check passive skill conditions. + if (skill.isPassive() && !skill.checkConditions(SkillConditionScope.PASSIVE, player, player)) + { + removedSkills.putIfAbsent(skill.getId(), skill); + update = true; } } } @@ -581,28 +565,35 @@ public abstract class Inventory extends ItemContainer continue; } - // Add skills bestowed from +4 armor - if (item.getEnchantLevel() >= holder.getValue()) + if (item.getEnchantLevel() < holder.getValue()) { - final Skill skill = holder.getSkill(); - // Check passive skill conditions. - if (skill.isPassive() && !skill.checkConditions(SkillConditionScope.PASSIVE, player, player)) + continue; + } + + final Skill skill = holder.getSkill(); + if (skill == null) + { + continue; + } + + // Check passive skill conditions. + if (skill.isPassive() && !skill.checkConditions(SkillConditionScope.PASSIVE, player, player)) + { + continue; + } + + final Skill existingSkill = addedSkills.get(skill.getId()); + if (existingSkill != null) + { + if (existingSkill.getLevel() < skill.getLevel()) { - continue; - } - - if (addedSkills.containsKey(holder.getSkill().getId())) - { - if (addedSkills.get(holder.getSkill().getId()).getLevel() < holder.getSkill().getLevel()) - { - addedSkills.put(holder.getSkill().getId(), holder.getSkill()); - } - } - else - { - addedSkills.put(holder.getSkill().getId(), holder.getSkill()); + addedSkills.put(skill.getId(), skill); } } + else + { + addedSkills.put(skill.getId(), skill); + } } } @@ -617,35 +608,39 @@ public abstract class Inventory extends ItemContainer } final Skill skill = holder.getSkill(); - if (skill != null) + if (skill == null) { - if (skill.isPassive() && !skill.checkConditions(SkillConditionScope.PASSIVE, player, player)) + continue; + } + + // Check passive skill conditions. + if (skill.isPassive() && !skill.checkConditions(SkillConditionScope.PASSIVE, player, player)) + { + continue; + } + + final Skill existingSkill = addedSkills.get(skill.getId()); + if (existingSkill != null) + { + if (existingSkill.getLevel() < skill.getLevel()) { - continue; + addedSkills.put(skill.getId(), skill); } - - if (addedSkills.containsKey(holder.getSkill().getId())) + } + else + { + addedSkills.put(skill.getId(), skill); + } + + if (skill.isActive() && !player.hasSkillReuse(skill.getReuseHashCode())) + { + final int equipDelay = item.getEquipReuseDelay(); + if (equipDelay > 0) { - if (addedSkills.get(holder.getSkill().getId()).getLevel() < holder.getSkill().getLevel()) - { - addedSkills.put(holder.getSkill().getId(), holder.getSkill()); - } - } - else - { - addedSkills.put(holder.getSkill().getId(), holder.getSkill()); - } - - if (skill.isActive() && !player.hasSkillReuse(skill.getReuseHashCode())) - { - final int equipDelay = item.getEquipReuseDelay(); - if (equipDelay > 0) - { - player.addTimeStamp(skill, equipDelay); - player.disableSkill(skill, equipDelay); - } - updateTimestamp = true; + player.addTimeStamp(skill, equipDelay); + player.disableSkill(skill, equipDelay); } + updateTimestamp = true; } } } @@ -672,28 +667,35 @@ public abstract class Inventory extends ItemContainer continue; } - // Add skills bestowed from +4 armor - if (equipped.getEnchantLevel() >= holder.getValue()) + if (equipped.getEnchantLevel() < holder.getValue()) { - final Skill skill = holder.getSkill(); - // Check passive skill conditions. - if (skill.isPassive() && !skill.checkConditions(SkillConditionScope.PASSIVE, player, player)) + continue; + } + + final Skill skill = holder.getSkill(); + if (skill == null) + { + continue; + } + + // Check passive skill conditions. + if (skill.isPassive() && !skill.checkConditions(SkillConditionScope.PASSIVE, player, player)) + { + continue; + } + + final Skill existingSkill = addedSkills.get(skill.getId()); + if (existingSkill != null) + { + if (existingSkill.getLevel() < skill.getLevel()) { - continue; - } - - if (addedSkills.containsKey(holder.getSkill().getId())) - { - if (addedSkills.get(holder.getSkill().getId()).getLevel() < holder.getSkill().getLevel()) - { - addedSkills.put(holder.getSkill().getId(), holder.getSkill()); - } - } - else - { - addedSkills.put(holder.getSkill().getId(), holder.getSkill()); + addedSkills.put(skill.getId(), skill); } } + else + { + addedSkills.put(skill.getId(), skill); + } } } diff --git a/L2J_Mobius_7.0_PreludeOfWar/java/org/l2jmobius/gameserver/model/itemcontainer/Inventory.java b/L2J_Mobius_7.0_PreludeOfWar/java/org/l2jmobius/gameserver/model/itemcontainer/Inventory.java index 521bdf9606..19bc1c5300 100644 --- a/L2J_Mobius_7.0_PreludeOfWar/java/org/l2jmobius/gameserver/model/itemcontainer/Inventory.java +++ b/L2J_Mobius_7.0_PreludeOfWar/java/org/l2jmobius/gameserver/model/itemcontainer/Inventory.java @@ -356,20 +356,15 @@ public abstract class Inventory extends ItemContainer { for (ItemSkillHolder holder : onEnchantSkills) { - // Remove skills bestowed from +4 armor - if (item.getEnchantLevel() >= holder.getValue()) + if (item.getEnchantLevel() < holder.getValue()) { - if (removedSkills.containsKey(holder.getSkill().getId())) - { - if (removedSkills.get(holder.getSkill().getId()).getLevel() < holder.getSkill().getLevel()) - { - removedSkills.put(holder.getSkill().getId(), holder.getSkill()); - } - } - else - { - removedSkills.put(holder.getSkill().getId(), holder.getSkill()); - } + continue; + } + + final Skill skill = holder.getSkill(); + if (skill != null) + { + removedSkills.putIfAbsent(skill.getId(), skill); update = true; } } @@ -383,17 +378,7 @@ public abstract class Inventory extends ItemContainer final Skill skill = holder.getSkill(); if (skill != null) { - if (removedSkills.containsKey(holder.getSkill().getId())) - { - if (removedSkills.get(holder.getSkill().getId()).getLevel() < holder.getSkill().getLevel()) - { - removedSkills.put(holder.getSkill().getId(), holder.getSkill()); - } - } - else - { - removedSkills.put(holder.getSkill().getId(), holder.getSkill()); - } + removedSkills.putIfAbsent(skill.getId(), skill); update = true; } } @@ -422,32 +407,35 @@ public abstract class Inventory extends ItemContainer } final Skill skill = holder.getSkill(); - if (skill != null) + if (skill == null) { - if (addedSkills.containsKey(holder.getSkill().getId())) - { - if (addedSkills.get(holder.getSkill().getId()).getLevel() < holder.getSkill().getLevel()) - { - addedSkills.put(holder.getSkill().getId(), holder.getSkill()); - } - } - else - { - addedSkills.put(holder.getSkill().getId(), holder.getSkill()); - } - - if (skill.isActive() && !player.hasSkillReuse(skill.getReuseHashCode())) - { - final int equipDelay = item.getEquipReuseDelay(); - if (equipDelay > 0) - { - player.addTimeStamp(skill, equipDelay); - player.disableSkill(skill, equipDelay); - } - updateTimestamp = true; - } - update = true; + continue; } + + final Skill existingSkill = addedSkills.get(skill.getId()); + if (existingSkill != null) + { + if (existingSkill.getLevel() < skill.getLevel()) + { + addedSkills.put(skill.getId(), skill); + } + } + else + { + addedSkills.put(skill.getId(), skill); + } + + if (skill.isActive() && !player.hasSkillReuse(skill.getReuseHashCode())) + { + final int equipDelay = item.getEquipReuseDelay(); + if (equipDelay > 0) + { + player.addTimeStamp(skill, equipDelay); + player.disableSkill(skill, equipDelay); + } + updateTimestamp = true; + } + update = true; } } } @@ -469,26 +457,22 @@ public abstract class Inventory extends ItemContainer for (ItemSkillHolder holder : otherEnchantSkills) { - // Add skills bestowed from +4 armor - if (equipped.getEnchantLevel() >= holder.getValue()) + if (equipped.getEnchantLevel() < holder.getValue()) { - final Skill skill = holder.getSkill(); - // Check passive skill conditions. - if (skill.isPassive() && !skill.checkConditions(SkillConditionScope.PASSIVE, player, player)) - { - if (removedSkills.containsKey(holder.getSkill().getId())) - { - if (removedSkills.get(holder.getSkill().getId()).getLevel() < holder.getSkill().getLevel()) - { - removedSkills.put(holder.getSkill().getId(), holder.getSkill()); - } - } - else - { - removedSkills.put(holder.getSkill().getId(), holder.getSkill()); - } - update = true; - } + continue; + } + + final Skill skill = holder.getSkill(); + if (skill == null) + { + continue; + } + + // Check passive skill conditions. + if (skill.isPassive() && !skill.checkConditions(SkillConditionScope.PASSIVE, player, player)) + { + removedSkills.putIfAbsent(skill.getId(), skill); + update = true; } } } @@ -575,28 +559,35 @@ public abstract class Inventory extends ItemContainer continue; } - // Add skills bestowed from +4 armor - if (item.getEnchantLevel() >= holder.getValue()) + if (item.getEnchantLevel() < holder.getValue()) { - final Skill skill = holder.getSkill(); - // Check passive skill conditions. - if (skill.isPassive() && !skill.checkConditions(SkillConditionScope.PASSIVE, player, player)) + continue; + } + + final Skill skill = holder.getSkill(); + if (skill == null) + { + continue; + } + + // Check passive skill conditions. + if (skill.isPassive() && !skill.checkConditions(SkillConditionScope.PASSIVE, player, player)) + { + continue; + } + + final Skill existingSkill = addedSkills.get(skill.getId()); + if (existingSkill != null) + { + if (existingSkill.getLevel() < skill.getLevel()) { - continue; - } - - if (addedSkills.containsKey(holder.getSkill().getId())) - { - if (addedSkills.get(holder.getSkill().getId()).getLevel() < holder.getSkill().getLevel()) - { - addedSkills.put(holder.getSkill().getId(), holder.getSkill()); - } - } - else - { - addedSkills.put(holder.getSkill().getId(), holder.getSkill()); + addedSkills.put(skill.getId(), skill); } } + else + { + addedSkills.put(skill.getId(), skill); + } } } @@ -611,35 +602,39 @@ public abstract class Inventory extends ItemContainer } final Skill skill = holder.getSkill(); - if (skill != null) + if (skill == null) { - if (skill.isPassive() && !skill.checkConditions(SkillConditionScope.PASSIVE, player, player)) + continue; + } + + // Check passive skill conditions. + if (skill.isPassive() && !skill.checkConditions(SkillConditionScope.PASSIVE, player, player)) + { + continue; + } + + final Skill existingSkill = addedSkills.get(skill.getId()); + if (existingSkill != null) + { + if (existingSkill.getLevel() < skill.getLevel()) { - continue; + addedSkills.put(skill.getId(), skill); } - - if (addedSkills.containsKey(holder.getSkill().getId())) + } + else + { + addedSkills.put(skill.getId(), skill); + } + + if (skill.isActive() && !player.hasSkillReuse(skill.getReuseHashCode())) + { + final int equipDelay = item.getEquipReuseDelay(); + if (equipDelay > 0) { - if (addedSkills.get(holder.getSkill().getId()).getLevel() < holder.getSkill().getLevel()) - { - addedSkills.put(holder.getSkill().getId(), holder.getSkill()); - } - } - else - { - addedSkills.put(holder.getSkill().getId(), holder.getSkill()); - } - - if (skill.isActive() && !player.hasSkillReuse(skill.getReuseHashCode())) - { - final int equipDelay = item.getEquipReuseDelay(); - if (equipDelay > 0) - { - player.addTimeStamp(skill, equipDelay); - player.disableSkill(skill, equipDelay); - } - updateTimestamp = true; + player.addTimeStamp(skill, equipDelay); + player.disableSkill(skill, equipDelay); } + updateTimestamp = true; } } } @@ -666,28 +661,35 @@ public abstract class Inventory extends ItemContainer continue; } - // Add skills bestowed from +4 armor - if (equipped.getEnchantLevel() >= holder.getValue()) + if (equipped.getEnchantLevel() < holder.getValue()) { - final Skill skill = holder.getSkill(); - // Check passive skill conditions. - if (skill.isPassive() && !skill.checkConditions(SkillConditionScope.PASSIVE, player, player)) + continue; + } + + final Skill skill = holder.getSkill(); + if (skill == null) + { + continue; + } + + // Check passive skill conditions. + if (skill.isPassive() && !skill.checkConditions(SkillConditionScope.PASSIVE, player, player)) + { + continue; + } + + final Skill existingSkill = addedSkills.get(skill.getId()); + if (existingSkill != null) + { + if (existingSkill.getLevel() < skill.getLevel()) { - continue; - } - - if (addedSkills.containsKey(holder.getSkill().getId())) - { - if (addedSkills.get(holder.getSkill().getId()).getLevel() < holder.getSkill().getLevel()) - { - addedSkills.put(holder.getSkill().getId(), holder.getSkill()); - } - } - else - { - addedSkills.put(holder.getSkill().getId(), holder.getSkill()); + addedSkills.put(skill.getId(), skill); } } + else + { + addedSkills.put(skill.getId(), skill); + } } } diff --git a/L2J_Mobius_8.0_Homunculus/java/org/l2jmobius/gameserver/model/itemcontainer/Inventory.java b/L2J_Mobius_8.0_Homunculus/java/org/l2jmobius/gameserver/model/itemcontainer/Inventory.java index 147d7386ae..e487411b1b 100644 --- a/L2J_Mobius_8.0_Homunculus/java/org/l2jmobius/gameserver/model/itemcontainer/Inventory.java +++ b/L2J_Mobius_8.0_Homunculus/java/org/l2jmobius/gameserver/model/itemcontainer/Inventory.java @@ -351,20 +351,15 @@ public abstract class Inventory extends ItemContainer { for (ItemSkillHolder holder : onEnchantSkills) { - // Remove skills bestowed from +4 armor - if (item.getEnchantLevel() >= holder.getValue()) + if (item.getEnchantLevel() < holder.getValue()) { - if (removedSkills.containsKey(holder.getSkill().getId())) - { - if (removedSkills.get(holder.getSkill().getId()).getLevel() < holder.getSkill().getLevel()) - { - removedSkills.put(holder.getSkill().getId(), holder.getSkill()); - } - } - else - { - removedSkills.put(holder.getSkill().getId(), holder.getSkill()); - } + continue; + } + + final Skill skill = holder.getSkill(); + if (skill != null) + { + removedSkills.putIfAbsent(skill.getId(), skill); update = true; } } @@ -378,17 +373,7 @@ public abstract class Inventory extends ItemContainer final Skill skill = holder.getSkill(); if (skill != null) { - if (removedSkills.containsKey(holder.getSkill().getId())) - { - if (removedSkills.get(holder.getSkill().getId()).getLevel() < holder.getSkill().getLevel()) - { - removedSkills.put(holder.getSkill().getId(), holder.getSkill()); - } - } - else - { - removedSkills.put(holder.getSkill().getId(), holder.getSkill()); - } + removedSkills.putIfAbsent(skill.getId(), skill); update = true; } } @@ -417,32 +402,35 @@ public abstract class Inventory extends ItemContainer } final Skill skill = holder.getSkill(); - if (skill != null) + if (skill == null) { - if (addedSkills.containsKey(holder.getSkill().getId())) - { - if (addedSkills.get(holder.getSkill().getId()).getLevel() < holder.getSkill().getLevel()) - { - addedSkills.put(holder.getSkill().getId(), holder.getSkill()); - } - } - else - { - addedSkills.put(holder.getSkill().getId(), holder.getSkill()); - } - - if (skill.isActive() && !player.hasSkillReuse(skill.getReuseHashCode())) - { - final int equipDelay = item.getEquipReuseDelay(); - if (equipDelay > 0) - { - player.addTimeStamp(skill, equipDelay); - player.disableSkill(skill, equipDelay); - } - updateTimestamp = true; - } - update = true; + continue; } + + final Skill existingSkill = addedSkills.get(skill.getId()); + if (existingSkill != null) + { + if (existingSkill.getLevel() < skill.getLevel()) + { + addedSkills.put(skill.getId(), skill); + } + } + else + { + addedSkills.put(skill.getId(), skill); + } + + if (skill.isActive() && !player.hasSkillReuse(skill.getReuseHashCode())) + { + final int equipDelay = item.getEquipReuseDelay(); + if (equipDelay > 0) + { + player.addTimeStamp(skill, equipDelay); + player.disableSkill(skill, equipDelay); + } + updateTimestamp = true; + } + update = true; } } } @@ -464,26 +452,22 @@ public abstract class Inventory extends ItemContainer for (ItemSkillHolder holder : otherEnchantSkills) { - // Add skills bestowed from +4 armor - if (equipped.getEnchantLevel() >= holder.getValue()) + if (equipped.getEnchantLevel() < holder.getValue()) { - final Skill skill = holder.getSkill(); - // Check passive skill conditions. - if (skill.isPassive() && !skill.checkConditions(SkillConditionScope.PASSIVE, player, player)) - { - if (removedSkills.containsKey(holder.getSkill().getId())) - { - if (removedSkills.get(holder.getSkill().getId()).getLevel() < holder.getSkill().getLevel()) - { - removedSkills.put(holder.getSkill().getId(), holder.getSkill()); - } - } - else - { - removedSkills.put(holder.getSkill().getId(), holder.getSkill()); - } - update = true; - } + continue; + } + + final Skill skill = holder.getSkill(); + if (skill == null) + { + continue; + } + + // Check passive skill conditions. + if (skill.isPassive() && !skill.checkConditions(SkillConditionScope.PASSIVE, player, player)) + { + removedSkills.putIfAbsent(skill.getId(), skill); + update = true; } } } @@ -570,28 +554,35 @@ public abstract class Inventory extends ItemContainer continue; } - // Add skills bestowed from +4 armor - if (item.getEnchantLevel() >= holder.getValue()) + if (item.getEnchantLevel() < holder.getValue()) { - final Skill skill = holder.getSkill(); - // Check passive skill conditions. - if (skill.isPassive() && !skill.checkConditions(SkillConditionScope.PASSIVE, player, player)) + continue; + } + + final Skill skill = holder.getSkill(); + if (skill == null) + { + continue; + } + + // Check passive skill conditions. + if (skill.isPassive() && !skill.checkConditions(SkillConditionScope.PASSIVE, player, player)) + { + continue; + } + + final Skill existingSkill = addedSkills.get(skill.getId()); + if (existingSkill != null) + { + if (existingSkill.getLevel() < skill.getLevel()) { - continue; - } - - if (addedSkills.containsKey(holder.getSkill().getId())) - { - if (addedSkills.get(holder.getSkill().getId()).getLevel() < holder.getSkill().getLevel()) - { - addedSkills.put(holder.getSkill().getId(), holder.getSkill()); - } - } - else - { - addedSkills.put(holder.getSkill().getId(), holder.getSkill()); + addedSkills.put(skill.getId(), skill); } } + else + { + addedSkills.put(skill.getId(), skill); + } } } @@ -606,35 +597,39 @@ public abstract class Inventory extends ItemContainer } final Skill skill = holder.getSkill(); - if (skill != null) + if (skill == null) { - if (skill.isPassive() && !skill.checkConditions(SkillConditionScope.PASSIVE, player, player)) + continue; + } + + // Check passive skill conditions. + if (skill.isPassive() && !skill.checkConditions(SkillConditionScope.PASSIVE, player, player)) + { + continue; + } + + final Skill existingSkill = addedSkills.get(skill.getId()); + if (existingSkill != null) + { + if (existingSkill.getLevel() < skill.getLevel()) { - continue; + addedSkills.put(skill.getId(), skill); } - - if (addedSkills.containsKey(holder.getSkill().getId())) + } + else + { + addedSkills.put(skill.getId(), skill); + } + + if (skill.isActive() && !player.hasSkillReuse(skill.getReuseHashCode())) + { + final int equipDelay = item.getEquipReuseDelay(); + if (equipDelay > 0) { - if (addedSkills.get(holder.getSkill().getId()).getLevel() < holder.getSkill().getLevel()) - { - addedSkills.put(holder.getSkill().getId(), holder.getSkill()); - } - } - else - { - addedSkills.put(holder.getSkill().getId(), holder.getSkill()); - } - - if (skill.isActive() && !player.hasSkillReuse(skill.getReuseHashCode())) - { - final int equipDelay = item.getEquipReuseDelay(); - if (equipDelay > 0) - { - player.addTimeStamp(skill, equipDelay); - player.disableSkill(skill, equipDelay); - } - updateTimestamp = true; + player.addTimeStamp(skill, equipDelay); + player.disableSkill(skill, equipDelay); } + updateTimestamp = true; } } } @@ -661,28 +656,35 @@ public abstract class Inventory extends ItemContainer continue; } - // Add skills bestowed from +4 armor - if (equipped.getEnchantLevel() >= holder.getValue()) + if (equipped.getEnchantLevel() < holder.getValue()) { - final Skill skill = holder.getSkill(); - // Check passive skill conditions. - if (skill.isPassive() && !skill.checkConditions(SkillConditionScope.PASSIVE, player, player)) + continue; + } + + final Skill skill = holder.getSkill(); + if (skill == null) + { + continue; + } + + // Check passive skill conditions. + if (skill.isPassive() && !skill.checkConditions(SkillConditionScope.PASSIVE, player, player)) + { + continue; + } + + final Skill existingSkill = addedSkills.get(skill.getId()); + if (existingSkill != null) + { + if (existingSkill.getLevel() < skill.getLevel()) { - continue; - } - - if (addedSkills.containsKey(holder.getSkill().getId())) - { - if (addedSkills.get(holder.getSkill().getId()).getLevel() < holder.getSkill().getLevel()) - { - addedSkills.put(holder.getSkill().getId(), holder.getSkill()); - } - } - else - { - addedSkills.put(holder.getSkill().getId(), holder.getSkill()); + addedSkills.put(skill.getId(), skill); } } + else + { + addedSkills.put(skill.getId(), skill); + } } } diff --git a/L2J_Mobius_9.0_ReturnOfTheQueenAnt/java/org/l2jmobius/gameserver/model/itemcontainer/Inventory.java b/L2J_Mobius_9.0_ReturnOfTheQueenAnt/java/org/l2jmobius/gameserver/model/itemcontainer/Inventory.java index 147d7386ae..e487411b1b 100644 --- a/L2J_Mobius_9.0_ReturnOfTheQueenAnt/java/org/l2jmobius/gameserver/model/itemcontainer/Inventory.java +++ b/L2J_Mobius_9.0_ReturnOfTheQueenAnt/java/org/l2jmobius/gameserver/model/itemcontainer/Inventory.java @@ -351,20 +351,15 @@ public abstract class Inventory extends ItemContainer { for (ItemSkillHolder holder : onEnchantSkills) { - // Remove skills bestowed from +4 armor - if (item.getEnchantLevel() >= holder.getValue()) + if (item.getEnchantLevel() < holder.getValue()) { - if (removedSkills.containsKey(holder.getSkill().getId())) - { - if (removedSkills.get(holder.getSkill().getId()).getLevel() < holder.getSkill().getLevel()) - { - removedSkills.put(holder.getSkill().getId(), holder.getSkill()); - } - } - else - { - removedSkills.put(holder.getSkill().getId(), holder.getSkill()); - } + continue; + } + + final Skill skill = holder.getSkill(); + if (skill != null) + { + removedSkills.putIfAbsent(skill.getId(), skill); update = true; } } @@ -378,17 +373,7 @@ public abstract class Inventory extends ItemContainer final Skill skill = holder.getSkill(); if (skill != null) { - if (removedSkills.containsKey(holder.getSkill().getId())) - { - if (removedSkills.get(holder.getSkill().getId()).getLevel() < holder.getSkill().getLevel()) - { - removedSkills.put(holder.getSkill().getId(), holder.getSkill()); - } - } - else - { - removedSkills.put(holder.getSkill().getId(), holder.getSkill()); - } + removedSkills.putIfAbsent(skill.getId(), skill); update = true; } } @@ -417,32 +402,35 @@ public abstract class Inventory extends ItemContainer } final Skill skill = holder.getSkill(); - if (skill != null) + if (skill == null) { - if (addedSkills.containsKey(holder.getSkill().getId())) - { - if (addedSkills.get(holder.getSkill().getId()).getLevel() < holder.getSkill().getLevel()) - { - addedSkills.put(holder.getSkill().getId(), holder.getSkill()); - } - } - else - { - addedSkills.put(holder.getSkill().getId(), holder.getSkill()); - } - - if (skill.isActive() && !player.hasSkillReuse(skill.getReuseHashCode())) - { - final int equipDelay = item.getEquipReuseDelay(); - if (equipDelay > 0) - { - player.addTimeStamp(skill, equipDelay); - player.disableSkill(skill, equipDelay); - } - updateTimestamp = true; - } - update = true; + continue; } + + final Skill existingSkill = addedSkills.get(skill.getId()); + if (existingSkill != null) + { + if (existingSkill.getLevel() < skill.getLevel()) + { + addedSkills.put(skill.getId(), skill); + } + } + else + { + addedSkills.put(skill.getId(), skill); + } + + if (skill.isActive() && !player.hasSkillReuse(skill.getReuseHashCode())) + { + final int equipDelay = item.getEquipReuseDelay(); + if (equipDelay > 0) + { + player.addTimeStamp(skill, equipDelay); + player.disableSkill(skill, equipDelay); + } + updateTimestamp = true; + } + update = true; } } } @@ -464,26 +452,22 @@ public abstract class Inventory extends ItemContainer for (ItemSkillHolder holder : otherEnchantSkills) { - // Add skills bestowed from +4 armor - if (equipped.getEnchantLevel() >= holder.getValue()) + if (equipped.getEnchantLevel() < holder.getValue()) { - final Skill skill = holder.getSkill(); - // Check passive skill conditions. - if (skill.isPassive() && !skill.checkConditions(SkillConditionScope.PASSIVE, player, player)) - { - if (removedSkills.containsKey(holder.getSkill().getId())) - { - if (removedSkills.get(holder.getSkill().getId()).getLevel() < holder.getSkill().getLevel()) - { - removedSkills.put(holder.getSkill().getId(), holder.getSkill()); - } - } - else - { - removedSkills.put(holder.getSkill().getId(), holder.getSkill()); - } - update = true; - } + continue; + } + + final Skill skill = holder.getSkill(); + if (skill == null) + { + continue; + } + + // Check passive skill conditions. + if (skill.isPassive() && !skill.checkConditions(SkillConditionScope.PASSIVE, player, player)) + { + removedSkills.putIfAbsent(skill.getId(), skill); + update = true; } } } @@ -570,28 +554,35 @@ public abstract class Inventory extends ItemContainer continue; } - // Add skills bestowed from +4 armor - if (item.getEnchantLevel() >= holder.getValue()) + if (item.getEnchantLevel() < holder.getValue()) { - final Skill skill = holder.getSkill(); - // Check passive skill conditions. - if (skill.isPassive() && !skill.checkConditions(SkillConditionScope.PASSIVE, player, player)) + continue; + } + + final Skill skill = holder.getSkill(); + if (skill == null) + { + continue; + } + + // Check passive skill conditions. + if (skill.isPassive() && !skill.checkConditions(SkillConditionScope.PASSIVE, player, player)) + { + continue; + } + + final Skill existingSkill = addedSkills.get(skill.getId()); + if (existingSkill != null) + { + if (existingSkill.getLevel() < skill.getLevel()) { - continue; - } - - if (addedSkills.containsKey(holder.getSkill().getId())) - { - if (addedSkills.get(holder.getSkill().getId()).getLevel() < holder.getSkill().getLevel()) - { - addedSkills.put(holder.getSkill().getId(), holder.getSkill()); - } - } - else - { - addedSkills.put(holder.getSkill().getId(), holder.getSkill()); + addedSkills.put(skill.getId(), skill); } } + else + { + addedSkills.put(skill.getId(), skill); + } } } @@ -606,35 +597,39 @@ public abstract class Inventory extends ItemContainer } final Skill skill = holder.getSkill(); - if (skill != null) + if (skill == null) { - if (skill.isPassive() && !skill.checkConditions(SkillConditionScope.PASSIVE, player, player)) + continue; + } + + // Check passive skill conditions. + if (skill.isPassive() && !skill.checkConditions(SkillConditionScope.PASSIVE, player, player)) + { + continue; + } + + final Skill existingSkill = addedSkills.get(skill.getId()); + if (existingSkill != null) + { + if (existingSkill.getLevel() < skill.getLevel()) { - continue; + addedSkills.put(skill.getId(), skill); } - - if (addedSkills.containsKey(holder.getSkill().getId())) + } + else + { + addedSkills.put(skill.getId(), skill); + } + + if (skill.isActive() && !player.hasSkillReuse(skill.getReuseHashCode())) + { + final int equipDelay = item.getEquipReuseDelay(); + if (equipDelay > 0) { - if (addedSkills.get(holder.getSkill().getId()).getLevel() < holder.getSkill().getLevel()) - { - addedSkills.put(holder.getSkill().getId(), holder.getSkill()); - } - } - else - { - addedSkills.put(holder.getSkill().getId(), holder.getSkill()); - } - - if (skill.isActive() && !player.hasSkillReuse(skill.getReuseHashCode())) - { - final int equipDelay = item.getEquipReuseDelay(); - if (equipDelay > 0) - { - player.addTimeStamp(skill, equipDelay); - player.disableSkill(skill, equipDelay); - } - updateTimestamp = true; + player.addTimeStamp(skill, equipDelay); + player.disableSkill(skill, equipDelay); } + updateTimestamp = true; } } } @@ -661,28 +656,35 @@ public abstract class Inventory extends ItemContainer continue; } - // Add skills bestowed from +4 armor - if (equipped.getEnchantLevel() >= holder.getValue()) + if (equipped.getEnchantLevel() < holder.getValue()) { - final Skill skill = holder.getSkill(); - // Check passive skill conditions. - if (skill.isPassive() && !skill.checkConditions(SkillConditionScope.PASSIVE, player, player)) + continue; + } + + final Skill skill = holder.getSkill(); + if (skill == null) + { + continue; + } + + // Check passive skill conditions. + if (skill.isPassive() && !skill.checkConditions(SkillConditionScope.PASSIVE, player, player)) + { + continue; + } + + final Skill existingSkill = addedSkills.get(skill.getId()); + if (existingSkill != null) + { + if (existingSkill.getLevel() < skill.getLevel()) { - continue; - } - - if (addedSkills.containsKey(holder.getSkill().getId())) - { - if (addedSkills.get(holder.getSkill().getId()).getLevel() < holder.getSkill().getLevel()) - { - addedSkills.put(holder.getSkill().getId(), holder.getSkill()); - } - } - else - { - addedSkills.put(holder.getSkill().getId(), holder.getSkill()); + addedSkills.put(skill.getId(), skill); } } + else + { + addedSkills.put(skill.getId(), skill); + } } } diff --git a/L2J_Mobius_Classic_2.0_Saviors/java/org/l2jmobius/gameserver/model/itemcontainer/Inventory.java b/L2J_Mobius_Classic_2.0_Saviors/java/org/l2jmobius/gameserver/model/itemcontainer/Inventory.java index f2a1266932..7ef1a47825 100644 --- a/L2J_Mobius_Classic_2.0_Saviors/java/org/l2jmobius/gameserver/model/itemcontainer/Inventory.java +++ b/L2J_Mobius_Classic_2.0_Saviors/java/org/l2jmobius/gameserver/model/itemcontainer/Inventory.java @@ -325,20 +325,15 @@ public abstract class Inventory extends ItemContainer { for (ItemSkillHolder holder : onEnchantSkills) { - // Remove skills bestowed from +4 armor - if (item.getEnchantLevel() >= holder.getValue()) + if (item.getEnchantLevel() < holder.getValue()) { - if (removedSkills.containsKey(holder.getSkill().getId())) - { - if (removedSkills.get(holder.getSkill().getId()).getLevel() < holder.getSkill().getLevel()) - { - removedSkills.put(holder.getSkill().getId(), holder.getSkill()); - } - } - else - { - removedSkills.put(holder.getSkill().getId(), holder.getSkill()); - } + continue; + } + + final Skill skill = holder.getSkill(); + if (skill != null) + { + removedSkills.putIfAbsent(skill.getId(), skill); update = true; } } @@ -352,17 +347,7 @@ public abstract class Inventory extends ItemContainer final Skill skill = holder.getSkill(); if (skill != null) { - if (removedSkills.containsKey(holder.getSkill().getId())) - { - if (removedSkills.get(holder.getSkill().getId()).getLevel() < holder.getSkill().getLevel()) - { - removedSkills.put(holder.getSkill().getId(), holder.getSkill()); - } - } - else - { - removedSkills.put(holder.getSkill().getId(), holder.getSkill()); - } + removedSkills.putIfAbsent(skill.getId(), skill); update = true; } } @@ -391,32 +376,35 @@ public abstract class Inventory extends ItemContainer } final Skill skill = holder.getSkill(); - if (skill != null) + if (skill == null) { - if (addedSkills.containsKey(holder.getSkill().getId())) - { - if (addedSkills.get(holder.getSkill().getId()).getLevel() < holder.getSkill().getLevel()) - { - addedSkills.put(holder.getSkill().getId(), holder.getSkill()); - } - } - else - { - addedSkills.put(holder.getSkill().getId(), holder.getSkill()); - } - - if (skill.isActive() && !player.hasSkillReuse(skill.getReuseHashCode())) - { - final int equipDelay = item.getEquipReuseDelay(); - if (equipDelay > 0) - { - player.addTimeStamp(skill, equipDelay); - player.disableSkill(skill, equipDelay); - } - updateTimestamp = true; - } - update = true; + continue; } + + final Skill existingSkill = addedSkills.get(skill.getId()); + if (existingSkill != null) + { + if (existingSkill.getLevel() < skill.getLevel()) + { + addedSkills.put(skill.getId(), skill); + } + } + else + { + addedSkills.put(skill.getId(), skill); + } + + if (skill.isActive() && !player.hasSkillReuse(skill.getReuseHashCode())) + { + final int equipDelay = item.getEquipReuseDelay(); + if (equipDelay > 0) + { + player.addTimeStamp(skill, equipDelay); + player.disableSkill(skill, equipDelay); + } + updateTimestamp = true; + } + update = true; } } } @@ -438,26 +426,22 @@ public abstract class Inventory extends ItemContainer for (ItemSkillHolder holder : otherEnchantSkills) { - // Add skills bestowed from +4 armor - if (equipped.getEnchantLevel() >= holder.getValue()) + if (equipped.getEnchantLevel() < holder.getValue()) { - final Skill skill = holder.getSkill(); - // Check passive skill conditions. - if (skill.isPassive() && !skill.checkConditions(SkillConditionScope.PASSIVE, player, player)) - { - if (removedSkills.containsKey(holder.getSkill().getId())) - { - if (removedSkills.get(holder.getSkill().getId()).getLevel() < holder.getSkill().getLevel()) - { - removedSkills.put(holder.getSkill().getId(), holder.getSkill()); - } - } - else - { - removedSkills.put(holder.getSkill().getId(), holder.getSkill()); - } - update = true; - } + continue; + } + + final Skill skill = holder.getSkill(); + if (skill == null) + { + continue; + } + + // Check passive skill conditions. + if (skill.isPassive() && !skill.checkConditions(SkillConditionScope.PASSIVE, player, player)) + { + removedSkills.putIfAbsent(skill.getId(), skill); + update = true; } } } @@ -547,28 +531,35 @@ public abstract class Inventory extends ItemContainer continue; } - // Add skills bestowed from +4 armor - if (item.getEnchantLevel() >= holder.getValue()) + if (item.getEnchantLevel() < holder.getValue()) { - final Skill skill = holder.getSkill(); - // Check passive skill conditions. - if (skill.isPassive() && !skill.checkConditions(SkillConditionScope.PASSIVE, player, player)) + continue; + } + + final Skill skill = holder.getSkill(); + if (skill == null) + { + continue; + } + + // Check passive skill conditions. + if (skill.isPassive() && !skill.checkConditions(SkillConditionScope.PASSIVE, player, player)) + { + continue; + } + + final Skill existingSkill = addedSkills.get(skill.getId()); + if (existingSkill != null) + { + if (existingSkill.getLevel() < skill.getLevel()) { - continue; - } - - if (addedSkills.containsKey(holder.getSkill().getId())) - { - if (addedSkills.get(holder.getSkill().getId()).getLevel() < holder.getSkill().getLevel()) - { - addedSkills.put(holder.getSkill().getId(), holder.getSkill()); - } - } - else - { - addedSkills.put(holder.getSkill().getId(), holder.getSkill()); + addedSkills.put(skill.getId(), skill); } } + else + { + addedSkills.put(skill.getId(), skill); + } } } @@ -583,35 +574,39 @@ public abstract class Inventory extends ItemContainer } final Skill skill = holder.getSkill(); - if (skill != null) + if (skill == null) { - if (skill.isPassive() && !skill.checkConditions(SkillConditionScope.PASSIVE, player, player)) + continue; + } + + // Check passive skill conditions. + if (skill.isPassive() && !skill.checkConditions(SkillConditionScope.PASSIVE, player, player)) + { + continue; + } + + final Skill existingSkill = addedSkills.get(skill.getId()); + if (existingSkill != null) + { + if (existingSkill.getLevel() < skill.getLevel()) { - continue; + addedSkills.put(skill.getId(), skill); } - - if (addedSkills.containsKey(holder.getSkill().getId())) + } + else + { + addedSkills.put(skill.getId(), skill); + } + + if (skill.isActive() && !player.hasSkillReuse(skill.getReuseHashCode())) + { + final int equipDelay = item.getEquipReuseDelay(); + if (equipDelay > 0) { - if (addedSkills.get(holder.getSkill().getId()).getLevel() < holder.getSkill().getLevel()) - { - addedSkills.put(holder.getSkill().getId(), holder.getSkill()); - } - } - else - { - addedSkills.put(holder.getSkill().getId(), holder.getSkill()); - } - - if (skill.isActive() && !player.hasSkillReuse(skill.getReuseHashCode())) - { - final int equipDelay = item.getEquipReuseDelay(); - if (equipDelay > 0) - { - player.addTimeStamp(skill, equipDelay); - player.disableSkill(skill, equipDelay); - } - updateTimestamp = true; + player.addTimeStamp(skill, equipDelay); + player.disableSkill(skill, equipDelay); } + updateTimestamp = true; } } } @@ -638,28 +633,35 @@ public abstract class Inventory extends ItemContainer continue; } - // Add skills bestowed from +4 armor - if (equipped.getEnchantLevel() >= holder.getValue()) + if (equipped.getEnchantLevel() < holder.getValue()) { - final Skill skill = holder.getSkill(); - // Check passive skill conditions. - if (skill.isPassive() && !skill.checkConditions(SkillConditionScope.PASSIVE, player, player)) + continue; + } + + final Skill skill = holder.getSkill(); + if (skill == null) + { + continue; + } + + // Check passive skill conditions. + if (skill.isPassive() && !skill.checkConditions(SkillConditionScope.PASSIVE, player, player)) + { + continue; + } + + final Skill existingSkill = addedSkills.get(skill.getId()); + if (existingSkill != null) + { + if (existingSkill.getLevel() < skill.getLevel()) { - continue; - } - - if (addedSkills.containsKey(holder.getSkill().getId())) - { - if (addedSkills.get(holder.getSkill().getId()).getLevel() < holder.getSkill().getLevel()) - { - addedSkills.put(holder.getSkill().getId(), holder.getSkill()); - } - } - else - { - addedSkills.put(holder.getSkill().getId(), holder.getSkill()); + addedSkills.put(skill.getId(), skill); } } + else + { + addedSkills.put(skill.getId(), skill); + } } } diff --git a/L2J_Mobius_Classic_2.1_Zaken/java/org/l2jmobius/gameserver/model/itemcontainer/Inventory.java b/L2J_Mobius_Classic_2.1_Zaken/java/org/l2jmobius/gameserver/model/itemcontainer/Inventory.java index f2a1266932..7ef1a47825 100644 --- a/L2J_Mobius_Classic_2.1_Zaken/java/org/l2jmobius/gameserver/model/itemcontainer/Inventory.java +++ b/L2J_Mobius_Classic_2.1_Zaken/java/org/l2jmobius/gameserver/model/itemcontainer/Inventory.java @@ -325,20 +325,15 @@ public abstract class Inventory extends ItemContainer { for (ItemSkillHolder holder : onEnchantSkills) { - // Remove skills bestowed from +4 armor - if (item.getEnchantLevel() >= holder.getValue()) + if (item.getEnchantLevel() < holder.getValue()) { - if (removedSkills.containsKey(holder.getSkill().getId())) - { - if (removedSkills.get(holder.getSkill().getId()).getLevel() < holder.getSkill().getLevel()) - { - removedSkills.put(holder.getSkill().getId(), holder.getSkill()); - } - } - else - { - removedSkills.put(holder.getSkill().getId(), holder.getSkill()); - } + continue; + } + + final Skill skill = holder.getSkill(); + if (skill != null) + { + removedSkills.putIfAbsent(skill.getId(), skill); update = true; } } @@ -352,17 +347,7 @@ public abstract class Inventory extends ItemContainer final Skill skill = holder.getSkill(); if (skill != null) { - if (removedSkills.containsKey(holder.getSkill().getId())) - { - if (removedSkills.get(holder.getSkill().getId()).getLevel() < holder.getSkill().getLevel()) - { - removedSkills.put(holder.getSkill().getId(), holder.getSkill()); - } - } - else - { - removedSkills.put(holder.getSkill().getId(), holder.getSkill()); - } + removedSkills.putIfAbsent(skill.getId(), skill); update = true; } } @@ -391,32 +376,35 @@ public abstract class Inventory extends ItemContainer } final Skill skill = holder.getSkill(); - if (skill != null) + if (skill == null) { - if (addedSkills.containsKey(holder.getSkill().getId())) - { - if (addedSkills.get(holder.getSkill().getId()).getLevel() < holder.getSkill().getLevel()) - { - addedSkills.put(holder.getSkill().getId(), holder.getSkill()); - } - } - else - { - addedSkills.put(holder.getSkill().getId(), holder.getSkill()); - } - - if (skill.isActive() && !player.hasSkillReuse(skill.getReuseHashCode())) - { - final int equipDelay = item.getEquipReuseDelay(); - if (equipDelay > 0) - { - player.addTimeStamp(skill, equipDelay); - player.disableSkill(skill, equipDelay); - } - updateTimestamp = true; - } - update = true; + continue; } + + final Skill existingSkill = addedSkills.get(skill.getId()); + if (existingSkill != null) + { + if (existingSkill.getLevel() < skill.getLevel()) + { + addedSkills.put(skill.getId(), skill); + } + } + else + { + addedSkills.put(skill.getId(), skill); + } + + if (skill.isActive() && !player.hasSkillReuse(skill.getReuseHashCode())) + { + final int equipDelay = item.getEquipReuseDelay(); + if (equipDelay > 0) + { + player.addTimeStamp(skill, equipDelay); + player.disableSkill(skill, equipDelay); + } + updateTimestamp = true; + } + update = true; } } } @@ -438,26 +426,22 @@ public abstract class Inventory extends ItemContainer for (ItemSkillHolder holder : otherEnchantSkills) { - // Add skills bestowed from +4 armor - if (equipped.getEnchantLevel() >= holder.getValue()) + if (equipped.getEnchantLevel() < holder.getValue()) { - final Skill skill = holder.getSkill(); - // Check passive skill conditions. - if (skill.isPassive() && !skill.checkConditions(SkillConditionScope.PASSIVE, player, player)) - { - if (removedSkills.containsKey(holder.getSkill().getId())) - { - if (removedSkills.get(holder.getSkill().getId()).getLevel() < holder.getSkill().getLevel()) - { - removedSkills.put(holder.getSkill().getId(), holder.getSkill()); - } - } - else - { - removedSkills.put(holder.getSkill().getId(), holder.getSkill()); - } - update = true; - } + continue; + } + + final Skill skill = holder.getSkill(); + if (skill == null) + { + continue; + } + + // Check passive skill conditions. + if (skill.isPassive() && !skill.checkConditions(SkillConditionScope.PASSIVE, player, player)) + { + removedSkills.putIfAbsent(skill.getId(), skill); + update = true; } } } @@ -547,28 +531,35 @@ public abstract class Inventory extends ItemContainer continue; } - // Add skills bestowed from +4 armor - if (item.getEnchantLevel() >= holder.getValue()) + if (item.getEnchantLevel() < holder.getValue()) { - final Skill skill = holder.getSkill(); - // Check passive skill conditions. - if (skill.isPassive() && !skill.checkConditions(SkillConditionScope.PASSIVE, player, player)) + continue; + } + + final Skill skill = holder.getSkill(); + if (skill == null) + { + continue; + } + + // Check passive skill conditions. + if (skill.isPassive() && !skill.checkConditions(SkillConditionScope.PASSIVE, player, player)) + { + continue; + } + + final Skill existingSkill = addedSkills.get(skill.getId()); + if (existingSkill != null) + { + if (existingSkill.getLevel() < skill.getLevel()) { - continue; - } - - if (addedSkills.containsKey(holder.getSkill().getId())) - { - if (addedSkills.get(holder.getSkill().getId()).getLevel() < holder.getSkill().getLevel()) - { - addedSkills.put(holder.getSkill().getId(), holder.getSkill()); - } - } - else - { - addedSkills.put(holder.getSkill().getId(), holder.getSkill()); + addedSkills.put(skill.getId(), skill); } } + else + { + addedSkills.put(skill.getId(), skill); + } } } @@ -583,35 +574,39 @@ public abstract class Inventory extends ItemContainer } final Skill skill = holder.getSkill(); - if (skill != null) + if (skill == null) { - if (skill.isPassive() && !skill.checkConditions(SkillConditionScope.PASSIVE, player, player)) + continue; + } + + // Check passive skill conditions. + if (skill.isPassive() && !skill.checkConditions(SkillConditionScope.PASSIVE, player, player)) + { + continue; + } + + final Skill existingSkill = addedSkills.get(skill.getId()); + if (existingSkill != null) + { + if (existingSkill.getLevel() < skill.getLevel()) { - continue; + addedSkills.put(skill.getId(), skill); } - - if (addedSkills.containsKey(holder.getSkill().getId())) + } + else + { + addedSkills.put(skill.getId(), skill); + } + + if (skill.isActive() && !player.hasSkillReuse(skill.getReuseHashCode())) + { + final int equipDelay = item.getEquipReuseDelay(); + if (equipDelay > 0) { - if (addedSkills.get(holder.getSkill().getId()).getLevel() < holder.getSkill().getLevel()) - { - addedSkills.put(holder.getSkill().getId(), holder.getSkill()); - } - } - else - { - addedSkills.put(holder.getSkill().getId(), holder.getSkill()); - } - - if (skill.isActive() && !player.hasSkillReuse(skill.getReuseHashCode())) - { - final int equipDelay = item.getEquipReuseDelay(); - if (equipDelay > 0) - { - player.addTimeStamp(skill, equipDelay); - player.disableSkill(skill, equipDelay); - } - updateTimestamp = true; + player.addTimeStamp(skill, equipDelay); + player.disableSkill(skill, equipDelay); } + updateTimestamp = true; } } } @@ -638,28 +633,35 @@ public abstract class Inventory extends ItemContainer continue; } - // Add skills bestowed from +4 armor - if (equipped.getEnchantLevel() >= holder.getValue()) + if (equipped.getEnchantLevel() < holder.getValue()) { - final Skill skill = holder.getSkill(); - // Check passive skill conditions. - if (skill.isPassive() && !skill.checkConditions(SkillConditionScope.PASSIVE, player, player)) + continue; + } + + final Skill skill = holder.getSkill(); + if (skill == null) + { + continue; + } + + // Check passive skill conditions. + if (skill.isPassive() && !skill.checkConditions(SkillConditionScope.PASSIVE, player, player)) + { + continue; + } + + final Skill existingSkill = addedSkills.get(skill.getId()); + if (existingSkill != null) + { + if (existingSkill.getLevel() < skill.getLevel()) { - continue; - } - - if (addedSkills.containsKey(holder.getSkill().getId())) - { - if (addedSkills.get(holder.getSkill().getId()).getLevel() < holder.getSkill().getLevel()) - { - addedSkills.put(holder.getSkill().getId(), holder.getSkill()); - } - } - else - { - addedSkills.put(holder.getSkill().getId(), holder.getSkill()); + addedSkills.put(skill.getId(), skill); } } + else + { + addedSkills.put(skill.getId(), skill); + } } } diff --git a/L2J_Mobius_Classic_2.2_Antharas/java/org/l2jmobius/gameserver/model/itemcontainer/Inventory.java b/L2J_Mobius_Classic_2.2_Antharas/java/org/l2jmobius/gameserver/model/itemcontainer/Inventory.java index 741acad6fd..f74c60bf12 100644 --- a/L2J_Mobius_Classic_2.2_Antharas/java/org/l2jmobius/gameserver/model/itemcontainer/Inventory.java +++ b/L2J_Mobius_Classic_2.2_Antharas/java/org/l2jmobius/gameserver/model/itemcontainer/Inventory.java @@ -333,20 +333,15 @@ public abstract class Inventory extends ItemContainer { for (ItemSkillHolder holder : onEnchantSkills) { - // Remove skills bestowed from +4 armor - if (item.getEnchantLevel() >= holder.getValue()) + if (item.getEnchantLevel() < holder.getValue()) { - if (removedSkills.containsKey(holder.getSkill().getId())) - { - if (removedSkills.get(holder.getSkill().getId()).getLevel() < holder.getSkill().getLevel()) - { - removedSkills.put(holder.getSkill().getId(), holder.getSkill()); - } - } - else - { - removedSkills.put(holder.getSkill().getId(), holder.getSkill()); - } + continue; + } + + final Skill skill = holder.getSkill(); + if (skill != null) + { + removedSkills.putIfAbsent(skill.getId(), skill); update = true; } } @@ -360,17 +355,7 @@ public abstract class Inventory extends ItemContainer final Skill skill = holder.getSkill(); if (skill != null) { - if (removedSkills.containsKey(holder.getSkill().getId())) - { - if (removedSkills.get(holder.getSkill().getId()).getLevel() < holder.getSkill().getLevel()) - { - removedSkills.put(holder.getSkill().getId(), holder.getSkill()); - } - } - else - { - removedSkills.put(holder.getSkill().getId(), holder.getSkill()); - } + removedSkills.putIfAbsent(skill.getId(), skill); update = true; } } @@ -399,32 +384,35 @@ public abstract class Inventory extends ItemContainer } final Skill skill = holder.getSkill(); - if (skill != null) + if (skill == null) { - if (addedSkills.containsKey(holder.getSkill().getId())) - { - if (addedSkills.get(holder.getSkill().getId()).getLevel() < holder.getSkill().getLevel()) - { - addedSkills.put(holder.getSkill().getId(), holder.getSkill()); - } - } - else - { - addedSkills.put(holder.getSkill().getId(), holder.getSkill()); - } - - if (skill.isActive() && !player.hasSkillReuse(skill.getReuseHashCode())) - { - final int equipDelay = item.getEquipReuseDelay(); - if (equipDelay > 0) - { - player.addTimeStamp(skill, equipDelay); - player.disableSkill(skill, equipDelay); - } - updateTimestamp = true; - } - update = true; + continue; } + + final Skill existingSkill = addedSkills.get(skill.getId()); + if (existingSkill != null) + { + if (existingSkill.getLevel() < skill.getLevel()) + { + addedSkills.put(skill.getId(), skill); + } + } + else + { + addedSkills.put(skill.getId(), skill); + } + + if (skill.isActive() && !player.hasSkillReuse(skill.getReuseHashCode())) + { + final int equipDelay = item.getEquipReuseDelay(); + if (equipDelay > 0) + { + player.addTimeStamp(skill, equipDelay); + player.disableSkill(skill, equipDelay); + } + updateTimestamp = true; + } + update = true; } } } @@ -446,26 +434,22 @@ public abstract class Inventory extends ItemContainer for (ItemSkillHolder holder : otherEnchantSkills) { - // Add skills bestowed from +4 armor - if (equipped.getEnchantLevel() >= holder.getValue()) + if (equipped.getEnchantLevel() < holder.getValue()) { - final Skill skill = holder.getSkill(); - // Check passive skill conditions. - if (skill.isPassive() && !skill.checkConditions(SkillConditionScope.PASSIVE, player, player)) - { - if (removedSkills.containsKey(holder.getSkill().getId())) - { - if (removedSkills.get(holder.getSkill().getId()).getLevel() < holder.getSkill().getLevel()) - { - removedSkills.put(holder.getSkill().getId(), holder.getSkill()); - } - } - else - { - removedSkills.put(holder.getSkill().getId(), holder.getSkill()); - } - update = true; - } + continue; + } + + final Skill skill = holder.getSkill(); + if (skill == null) + { + continue; + } + + // Check passive skill conditions. + if (skill.isPassive() && !skill.checkConditions(SkillConditionScope.PASSIVE, player, player)) + { + removedSkills.putIfAbsent(skill.getId(), skill); + update = true; } } } @@ -558,28 +542,35 @@ public abstract class Inventory extends ItemContainer continue; } - // Add skills bestowed from +4 armor - if (item.getEnchantLevel() >= holder.getValue()) + if (item.getEnchantLevel() < holder.getValue()) { - final Skill skill = holder.getSkill(); - // Check passive skill conditions. - if (skill.isPassive() && !skill.checkConditions(SkillConditionScope.PASSIVE, player, player)) + continue; + } + + final Skill skill = holder.getSkill(); + if (skill == null) + { + continue; + } + + // Check passive skill conditions. + if (skill.isPassive() && !skill.checkConditions(SkillConditionScope.PASSIVE, player, player)) + { + continue; + } + + final Skill existingSkill = addedSkills.get(skill.getId()); + if (existingSkill != null) + { + if (existingSkill.getLevel() < skill.getLevel()) { - continue; - } - - if (addedSkills.containsKey(holder.getSkill().getId())) - { - if (addedSkills.get(holder.getSkill().getId()).getLevel() < holder.getSkill().getLevel()) - { - addedSkills.put(holder.getSkill().getId(), holder.getSkill()); - } - } - else - { - addedSkills.put(holder.getSkill().getId(), holder.getSkill()); + addedSkills.put(skill.getId(), skill); } } + else + { + addedSkills.put(skill.getId(), skill); + } } } @@ -594,35 +585,39 @@ public abstract class Inventory extends ItemContainer } final Skill skill = holder.getSkill(); - if (skill != null) + if (skill == null) { - if (skill.isPassive() && !skill.checkConditions(SkillConditionScope.PASSIVE, player, player)) + continue; + } + + // Check passive skill conditions. + if (skill.isPassive() && !skill.checkConditions(SkillConditionScope.PASSIVE, player, player)) + { + continue; + } + + final Skill existingSkill = addedSkills.get(skill.getId()); + if (existingSkill != null) + { + if (existingSkill.getLevel() < skill.getLevel()) { - continue; + addedSkills.put(skill.getId(), skill); } - - if (addedSkills.containsKey(holder.getSkill().getId())) + } + else + { + addedSkills.put(skill.getId(), skill); + } + + if (skill.isActive() && !player.hasSkillReuse(skill.getReuseHashCode())) + { + final int equipDelay = item.getEquipReuseDelay(); + if (equipDelay > 0) { - if (addedSkills.get(holder.getSkill().getId()).getLevel() < holder.getSkill().getLevel()) - { - addedSkills.put(holder.getSkill().getId(), holder.getSkill()); - } - } - else - { - addedSkills.put(holder.getSkill().getId(), holder.getSkill()); - } - - if (skill.isActive() && !player.hasSkillReuse(skill.getReuseHashCode())) - { - final int equipDelay = item.getEquipReuseDelay(); - if (equipDelay > 0) - { - player.addTimeStamp(skill, equipDelay); - player.disableSkill(skill, equipDelay); - } - updateTimestamp = true; + player.addTimeStamp(skill, equipDelay); + player.disableSkill(skill, equipDelay); } + updateTimestamp = true; } } } @@ -649,28 +644,35 @@ public abstract class Inventory extends ItemContainer continue; } - // Add skills bestowed from +4 armor - if (equipped.getEnchantLevel() >= holder.getValue()) + if (equipped.getEnchantLevel() < holder.getValue()) { - final Skill skill = holder.getSkill(); - // Check passive skill conditions. - if (skill.isPassive() && !skill.checkConditions(SkillConditionScope.PASSIVE, player, player)) + continue; + } + + final Skill skill = holder.getSkill(); + if (skill == null) + { + continue; + } + + // Check passive skill conditions. + if (skill.isPassive() && !skill.checkConditions(SkillConditionScope.PASSIVE, player, player)) + { + continue; + } + + final Skill existingSkill = addedSkills.get(skill.getId()); + if (existingSkill != null) + { + if (existingSkill.getLevel() < skill.getLevel()) { - continue; - } - - if (addedSkills.containsKey(holder.getSkill().getId())) - { - if (addedSkills.get(holder.getSkill().getId()).getLevel() < holder.getSkill().getLevel()) - { - addedSkills.put(holder.getSkill().getId(), holder.getSkill()); - } - } - else - { - addedSkills.put(holder.getSkill().getId(), holder.getSkill()); + addedSkills.put(skill.getId(), skill); } } + else + { + addedSkills.put(skill.getId(), skill); + } } } diff --git a/L2J_Mobius_Classic_2.3_SevenSigns/java/org/l2jmobius/gameserver/model/itemcontainer/Inventory.java b/L2J_Mobius_Classic_2.3_SevenSigns/java/org/l2jmobius/gameserver/model/itemcontainer/Inventory.java index 4cde36e9cc..7a66a6031c 100644 --- a/L2J_Mobius_Classic_2.3_SevenSigns/java/org/l2jmobius/gameserver/model/itemcontainer/Inventory.java +++ b/L2J_Mobius_Classic_2.3_SevenSigns/java/org/l2jmobius/gameserver/model/itemcontainer/Inventory.java @@ -356,20 +356,15 @@ public abstract class Inventory extends ItemContainer { for (ItemSkillHolder holder : onEnchantSkills) { - // Remove skills bestowed from +4 armor - if (item.getEnchantLevel() >= holder.getValue()) + if (item.getEnchantLevel() < holder.getValue()) { - if (removedSkills.containsKey(holder.getSkill().getId())) - { - if (removedSkills.get(holder.getSkill().getId()).getLevel() < holder.getSkill().getLevel()) - { - removedSkills.put(holder.getSkill().getId(), holder.getSkill()); - } - } - else - { - removedSkills.put(holder.getSkill().getId(), holder.getSkill()); - } + continue; + } + + final Skill skill = holder.getSkill(); + if (skill != null) + { + removedSkills.putIfAbsent(skill.getId(), skill); update = true; } } @@ -383,17 +378,7 @@ public abstract class Inventory extends ItemContainer final Skill skill = holder.getSkill(); if (skill != null) { - if (removedSkills.containsKey(holder.getSkill().getId())) - { - if (removedSkills.get(holder.getSkill().getId()).getLevel() < holder.getSkill().getLevel()) - { - removedSkills.put(holder.getSkill().getId(), holder.getSkill()); - } - } - else - { - removedSkills.put(holder.getSkill().getId(), holder.getSkill()); - } + removedSkills.putIfAbsent(skill.getId(), skill); update = true; } } @@ -422,32 +407,35 @@ public abstract class Inventory extends ItemContainer } final Skill skill = holder.getSkill(); - if (skill != null) + if (skill == null) { - if (addedSkills.containsKey(holder.getSkill().getId())) - { - if (addedSkills.get(holder.getSkill().getId()).getLevel() < holder.getSkill().getLevel()) - { - addedSkills.put(holder.getSkill().getId(), holder.getSkill()); - } - } - else - { - addedSkills.put(holder.getSkill().getId(), holder.getSkill()); - } - - if (skill.isActive() && !player.hasSkillReuse(skill.getReuseHashCode())) - { - final int equipDelay = item.getEquipReuseDelay(); - if (equipDelay > 0) - { - player.addTimeStamp(skill, equipDelay); - player.disableSkill(skill, equipDelay); - } - updateTimestamp = true; - } - update = true; + continue; } + + final Skill existingSkill = addedSkills.get(skill.getId()); + if (existingSkill != null) + { + if (existingSkill.getLevel() < skill.getLevel()) + { + addedSkills.put(skill.getId(), skill); + } + } + else + { + addedSkills.put(skill.getId(), skill); + } + + if (skill.isActive() && !player.hasSkillReuse(skill.getReuseHashCode())) + { + final int equipDelay = item.getEquipReuseDelay(); + if (equipDelay > 0) + { + player.addTimeStamp(skill, equipDelay); + player.disableSkill(skill, equipDelay); + } + updateTimestamp = true; + } + update = true; } } } @@ -469,26 +457,22 @@ public abstract class Inventory extends ItemContainer for (ItemSkillHolder holder : otherEnchantSkills) { - // Add skills bestowed from +4 armor - if (equipped.getEnchantLevel() >= holder.getValue()) + if (equipped.getEnchantLevel() < holder.getValue()) { - final Skill skill = holder.getSkill(); - // Check passive skill conditions. - if (skill.isPassive() && !skill.checkConditions(SkillConditionScope.PASSIVE, player, player)) - { - if (removedSkills.containsKey(holder.getSkill().getId())) - { - if (removedSkills.get(holder.getSkill().getId()).getLevel() < holder.getSkill().getLevel()) - { - removedSkills.put(holder.getSkill().getId(), holder.getSkill()); - } - } - else - { - removedSkills.put(holder.getSkill().getId(), holder.getSkill()); - } - update = true; - } + continue; + } + + final Skill skill = holder.getSkill(); + if (skill == null) + { + continue; + } + + // Check passive skill conditions. + if (skill.isPassive() && !skill.checkConditions(SkillConditionScope.PASSIVE, player, player)) + { + removedSkills.putIfAbsent(skill.getId(), skill); + update = true; } } } @@ -581,28 +565,35 @@ public abstract class Inventory extends ItemContainer continue; } - // Add skills bestowed from +4 armor - if (item.getEnchantLevel() >= holder.getValue()) + if (item.getEnchantLevel() < holder.getValue()) { - final Skill skill = holder.getSkill(); - // Check passive skill conditions. - if (skill.isPassive() && !skill.checkConditions(SkillConditionScope.PASSIVE, player, player)) + continue; + } + + final Skill skill = holder.getSkill(); + if (skill == null) + { + continue; + } + + // Check passive skill conditions. + if (skill.isPassive() && !skill.checkConditions(SkillConditionScope.PASSIVE, player, player)) + { + continue; + } + + final Skill existingSkill = addedSkills.get(skill.getId()); + if (existingSkill != null) + { + if (existingSkill.getLevel() < skill.getLevel()) { - continue; - } - - if (addedSkills.containsKey(holder.getSkill().getId())) - { - if (addedSkills.get(holder.getSkill().getId()).getLevel() < holder.getSkill().getLevel()) - { - addedSkills.put(holder.getSkill().getId(), holder.getSkill()); - } - } - else - { - addedSkills.put(holder.getSkill().getId(), holder.getSkill()); + addedSkills.put(skill.getId(), skill); } } + else + { + addedSkills.put(skill.getId(), skill); + } } } @@ -617,35 +608,39 @@ public abstract class Inventory extends ItemContainer } final Skill skill = holder.getSkill(); - if (skill != null) + if (skill == null) { - if (skill.isPassive() && !skill.checkConditions(SkillConditionScope.PASSIVE, player, player)) + continue; + } + + // Check passive skill conditions. + if (skill.isPassive() && !skill.checkConditions(SkillConditionScope.PASSIVE, player, player)) + { + continue; + } + + final Skill existingSkill = addedSkills.get(skill.getId()); + if (existingSkill != null) + { + if (existingSkill.getLevel() < skill.getLevel()) { - continue; + addedSkills.put(skill.getId(), skill); } - - if (addedSkills.containsKey(holder.getSkill().getId())) + } + else + { + addedSkills.put(skill.getId(), skill); + } + + if (skill.isActive() && !player.hasSkillReuse(skill.getReuseHashCode())) + { + final int equipDelay = item.getEquipReuseDelay(); + if (equipDelay > 0) { - if (addedSkills.get(holder.getSkill().getId()).getLevel() < holder.getSkill().getLevel()) - { - addedSkills.put(holder.getSkill().getId(), holder.getSkill()); - } - } - else - { - addedSkills.put(holder.getSkill().getId(), holder.getSkill()); - } - - if (skill.isActive() && !player.hasSkillReuse(skill.getReuseHashCode())) - { - final int equipDelay = item.getEquipReuseDelay(); - if (equipDelay > 0) - { - player.addTimeStamp(skill, equipDelay); - player.disableSkill(skill, equipDelay); - } - updateTimestamp = true; + player.addTimeStamp(skill, equipDelay); + player.disableSkill(skill, equipDelay); } + updateTimestamp = true; } } } @@ -672,28 +667,35 @@ public abstract class Inventory extends ItemContainer continue; } - // Add skills bestowed from +4 armor - if (equipped.getEnchantLevel() >= holder.getValue()) + if (equipped.getEnchantLevel() < holder.getValue()) { - final Skill skill = holder.getSkill(); - // Check passive skill conditions. - if (skill.isPassive() && !skill.checkConditions(SkillConditionScope.PASSIVE, player, player)) + continue; + } + + final Skill skill = holder.getSkill(); + if (skill == null) + { + continue; + } + + // Check passive skill conditions. + if (skill.isPassive() && !skill.checkConditions(SkillConditionScope.PASSIVE, player, player)) + { + continue; + } + + final Skill existingSkill = addedSkills.get(skill.getId()); + if (existingSkill != null) + { + if (existingSkill.getLevel() < skill.getLevel()) { - continue; - } - - if (addedSkills.containsKey(holder.getSkill().getId())) - { - if (addedSkills.get(holder.getSkill().getId()).getLevel() < holder.getSkill().getLevel()) - { - addedSkills.put(holder.getSkill().getId(), holder.getSkill()); - } - } - else - { - addedSkills.put(holder.getSkill().getId(), holder.getSkill()); + addedSkills.put(skill.getId(), skill); } } + else + { + addedSkills.put(skill.getId(), skill); + } } } diff --git a/L2J_Mobius_Classic_2.4_SecretOfEmpire/java/org/l2jmobius/gameserver/model/itemcontainer/Inventory.java b/L2J_Mobius_Classic_2.4_SecretOfEmpire/java/org/l2jmobius/gameserver/model/itemcontainer/Inventory.java index 4cde36e9cc..7a66a6031c 100644 --- a/L2J_Mobius_Classic_2.4_SecretOfEmpire/java/org/l2jmobius/gameserver/model/itemcontainer/Inventory.java +++ b/L2J_Mobius_Classic_2.4_SecretOfEmpire/java/org/l2jmobius/gameserver/model/itemcontainer/Inventory.java @@ -356,20 +356,15 @@ public abstract class Inventory extends ItemContainer { for (ItemSkillHolder holder : onEnchantSkills) { - // Remove skills bestowed from +4 armor - if (item.getEnchantLevel() >= holder.getValue()) + if (item.getEnchantLevel() < holder.getValue()) { - if (removedSkills.containsKey(holder.getSkill().getId())) - { - if (removedSkills.get(holder.getSkill().getId()).getLevel() < holder.getSkill().getLevel()) - { - removedSkills.put(holder.getSkill().getId(), holder.getSkill()); - } - } - else - { - removedSkills.put(holder.getSkill().getId(), holder.getSkill()); - } + continue; + } + + final Skill skill = holder.getSkill(); + if (skill != null) + { + removedSkills.putIfAbsent(skill.getId(), skill); update = true; } } @@ -383,17 +378,7 @@ public abstract class Inventory extends ItemContainer final Skill skill = holder.getSkill(); if (skill != null) { - if (removedSkills.containsKey(holder.getSkill().getId())) - { - if (removedSkills.get(holder.getSkill().getId()).getLevel() < holder.getSkill().getLevel()) - { - removedSkills.put(holder.getSkill().getId(), holder.getSkill()); - } - } - else - { - removedSkills.put(holder.getSkill().getId(), holder.getSkill()); - } + removedSkills.putIfAbsent(skill.getId(), skill); update = true; } } @@ -422,32 +407,35 @@ public abstract class Inventory extends ItemContainer } final Skill skill = holder.getSkill(); - if (skill != null) + if (skill == null) { - if (addedSkills.containsKey(holder.getSkill().getId())) - { - if (addedSkills.get(holder.getSkill().getId()).getLevel() < holder.getSkill().getLevel()) - { - addedSkills.put(holder.getSkill().getId(), holder.getSkill()); - } - } - else - { - addedSkills.put(holder.getSkill().getId(), holder.getSkill()); - } - - if (skill.isActive() && !player.hasSkillReuse(skill.getReuseHashCode())) - { - final int equipDelay = item.getEquipReuseDelay(); - if (equipDelay > 0) - { - player.addTimeStamp(skill, equipDelay); - player.disableSkill(skill, equipDelay); - } - updateTimestamp = true; - } - update = true; + continue; } + + final Skill existingSkill = addedSkills.get(skill.getId()); + if (existingSkill != null) + { + if (existingSkill.getLevel() < skill.getLevel()) + { + addedSkills.put(skill.getId(), skill); + } + } + else + { + addedSkills.put(skill.getId(), skill); + } + + if (skill.isActive() && !player.hasSkillReuse(skill.getReuseHashCode())) + { + final int equipDelay = item.getEquipReuseDelay(); + if (equipDelay > 0) + { + player.addTimeStamp(skill, equipDelay); + player.disableSkill(skill, equipDelay); + } + updateTimestamp = true; + } + update = true; } } } @@ -469,26 +457,22 @@ public abstract class Inventory extends ItemContainer for (ItemSkillHolder holder : otherEnchantSkills) { - // Add skills bestowed from +4 armor - if (equipped.getEnchantLevel() >= holder.getValue()) + if (equipped.getEnchantLevel() < holder.getValue()) { - final Skill skill = holder.getSkill(); - // Check passive skill conditions. - if (skill.isPassive() && !skill.checkConditions(SkillConditionScope.PASSIVE, player, player)) - { - if (removedSkills.containsKey(holder.getSkill().getId())) - { - if (removedSkills.get(holder.getSkill().getId()).getLevel() < holder.getSkill().getLevel()) - { - removedSkills.put(holder.getSkill().getId(), holder.getSkill()); - } - } - else - { - removedSkills.put(holder.getSkill().getId(), holder.getSkill()); - } - update = true; - } + continue; + } + + final Skill skill = holder.getSkill(); + if (skill == null) + { + continue; + } + + // Check passive skill conditions. + if (skill.isPassive() && !skill.checkConditions(SkillConditionScope.PASSIVE, player, player)) + { + removedSkills.putIfAbsent(skill.getId(), skill); + update = true; } } } @@ -581,28 +565,35 @@ public abstract class Inventory extends ItemContainer continue; } - // Add skills bestowed from +4 armor - if (item.getEnchantLevel() >= holder.getValue()) + if (item.getEnchantLevel() < holder.getValue()) { - final Skill skill = holder.getSkill(); - // Check passive skill conditions. - if (skill.isPassive() && !skill.checkConditions(SkillConditionScope.PASSIVE, player, player)) + continue; + } + + final Skill skill = holder.getSkill(); + if (skill == null) + { + continue; + } + + // Check passive skill conditions. + if (skill.isPassive() && !skill.checkConditions(SkillConditionScope.PASSIVE, player, player)) + { + continue; + } + + final Skill existingSkill = addedSkills.get(skill.getId()); + if (existingSkill != null) + { + if (existingSkill.getLevel() < skill.getLevel()) { - continue; - } - - if (addedSkills.containsKey(holder.getSkill().getId())) - { - if (addedSkills.get(holder.getSkill().getId()).getLevel() < holder.getSkill().getLevel()) - { - addedSkills.put(holder.getSkill().getId(), holder.getSkill()); - } - } - else - { - addedSkills.put(holder.getSkill().getId(), holder.getSkill()); + addedSkills.put(skill.getId(), skill); } } + else + { + addedSkills.put(skill.getId(), skill); + } } } @@ -617,35 +608,39 @@ public abstract class Inventory extends ItemContainer } final Skill skill = holder.getSkill(); - if (skill != null) + if (skill == null) { - if (skill.isPassive() && !skill.checkConditions(SkillConditionScope.PASSIVE, player, player)) + continue; + } + + // Check passive skill conditions. + if (skill.isPassive() && !skill.checkConditions(SkillConditionScope.PASSIVE, player, player)) + { + continue; + } + + final Skill existingSkill = addedSkills.get(skill.getId()); + if (existingSkill != null) + { + if (existingSkill.getLevel() < skill.getLevel()) { - continue; + addedSkills.put(skill.getId(), skill); } - - if (addedSkills.containsKey(holder.getSkill().getId())) + } + else + { + addedSkills.put(skill.getId(), skill); + } + + if (skill.isActive() && !player.hasSkillReuse(skill.getReuseHashCode())) + { + final int equipDelay = item.getEquipReuseDelay(); + if (equipDelay > 0) { - if (addedSkills.get(holder.getSkill().getId()).getLevel() < holder.getSkill().getLevel()) - { - addedSkills.put(holder.getSkill().getId(), holder.getSkill()); - } - } - else - { - addedSkills.put(holder.getSkill().getId(), holder.getSkill()); - } - - if (skill.isActive() && !player.hasSkillReuse(skill.getReuseHashCode())) - { - final int equipDelay = item.getEquipReuseDelay(); - if (equipDelay > 0) - { - player.addTimeStamp(skill, equipDelay); - player.disableSkill(skill, equipDelay); - } - updateTimestamp = true; + player.addTimeStamp(skill, equipDelay); + player.disableSkill(skill, equipDelay); } + updateTimestamp = true; } } } @@ -672,28 +667,35 @@ public abstract class Inventory extends ItemContainer continue; } - // Add skills bestowed from +4 armor - if (equipped.getEnchantLevel() >= holder.getValue()) + if (equipped.getEnchantLevel() < holder.getValue()) { - final Skill skill = holder.getSkill(); - // Check passive skill conditions. - if (skill.isPassive() && !skill.checkConditions(SkillConditionScope.PASSIVE, player, player)) + continue; + } + + final Skill skill = holder.getSkill(); + if (skill == null) + { + continue; + } + + // Check passive skill conditions. + if (skill.isPassive() && !skill.checkConditions(SkillConditionScope.PASSIVE, player, player)) + { + continue; + } + + final Skill existingSkill = addedSkills.get(skill.getId()); + if (existingSkill != null) + { + if (existingSkill.getLevel() < skill.getLevel()) { - continue; - } - - if (addedSkills.containsKey(holder.getSkill().getId())) - { - if (addedSkills.get(holder.getSkill().getId()).getLevel() < holder.getSkill().getLevel()) - { - addedSkills.put(holder.getSkill().getId(), holder.getSkill()); - } - } - else - { - addedSkills.put(holder.getSkill().getId(), holder.getSkill()); + addedSkills.put(skill.getId(), skill); } } + else + { + addedSkills.put(skill.getId(), skill); + } } } diff --git a/L2J_Mobius_Classic_3.0_TheKamael/java/org/l2jmobius/gameserver/model/itemcontainer/Inventory.java b/L2J_Mobius_Classic_3.0_TheKamael/java/org/l2jmobius/gameserver/model/itemcontainer/Inventory.java index 521bdf9606..19bc1c5300 100644 --- a/L2J_Mobius_Classic_3.0_TheKamael/java/org/l2jmobius/gameserver/model/itemcontainer/Inventory.java +++ b/L2J_Mobius_Classic_3.0_TheKamael/java/org/l2jmobius/gameserver/model/itemcontainer/Inventory.java @@ -356,20 +356,15 @@ public abstract class Inventory extends ItemContainer { for (ItemSkillHolder holder : onEnchantSkills) { - // Remove skills bestowed from +4 armor - if (item.getEnchantLevel() >= holder.getValue()) + if (item.getEnchantLevel() < holder.getValue()) { - if (removedSkills.containsKey(holder.getSkill().getId())) - { - if (removedSkills.get(holder.getSkill().getId()).getLevel() < holder.getSkill().getLevel()) - { - removedSkills.put(holder.getSkill().getId(), holder.getSkill()); - } - } - else - { - removedSkills.put(holder.getSkill().getId(), holder.getSkill()); - } + continue; + } + + final Skill skill = holder.getSkill(); + if (skill != null) + { + removedSkills.putIfAbsent(skill.getId(), skill); update = true; } } @@ -383,17 +378,7 @@ public abstract class Inventory extends ItemContainer final Skill skill = holder.getSkill(); if (skill != null) { - if (removedSkills.containsKey(holder.getSkill().getId())) - { - if (removedSkills.get(holder.getSkill().getId()).getLevel() < holder.getSkill().getLevel()) - { - removedSkills.put(holder.getSkill().getId(), holder.getSkill()); - } - } - else - { - removedSkills.put(holder.getSkill().getId(), holder.getSkill()); - } + removedSkills.putIfAbsent(skill.getId(), skill); update = true; } } @@ -422,32 +407,35 @@ public abstract class Inventory extends ItemContainer } final Skill skill = holder.getSkill(); - if (skill != null) + if (skill == null) { - if (addedSkills.containsKey(holder.getSkill().getId())) - { - if (addedSkills.get(holder.getSkill().getId()).getLevel() < holder.getSkill().getLevel()) - { - addedSkills.put(holder.getSkill().getId(), holder.getSkill()); - } - } - else - { - addedSkills.put(holder.getSkill().getId(), holder.getSkill()); - } - - if (skill.isActive() && !player.hasSkillReuse(skill.getReuseHashCode())) - { - final int equipDelay = item.getEquipReuseDelay(); - if (equipDelay > 0) - { - player.addTimeStamp(skill, equipDelay); - player.disableSkill(skill, equipDelay); - } - updateTimestamp = true; - } - update = true; + continue; } + + final Skill existingSkill = addedSkills.get(skill.getId()); + if (existingSkill != null) + { + if (existingSkill.getLevel() < skill.getLevel()) + { + addedSkills.put(skill.getId(), skill); + } + } + else + { + addedSkills.put(skill.getId(), skill); + } + + if (skill.isActive() && !player.hasSkillReuse(skill.getReuseHashCode())) + { + final int equipDelay = item.getEquipReuseDelay(); + if (equipDelay > 0) + { + player.addTimeStamp(skill, equipDelay); + player.disableSkill(skill, equipDelay); + } + updateTimestamp = true; + } + update = true; } } } @@ -469,26 +457,22 @@ public abstract class Inventory extends ItemContainer for (ItemSkillHolder holder : otherEnchantSkills) { - // Add skills bestowed from +4 armor - if (equipped.getEnchantLevel() >= holder.getValue()) + if (equipped.getEnchantLevel() < holder.getValue()) { - final Skill skill = holder.getSkill(); - // Check passive skill conditions. - if (skill.isPassive() && !skill.checkConditions(SkillConditionScope.PASSIVE, player, player)) - { - if (removedSkills.containsKey(holder.getSkill().getId())) - { - if (removedSkills.get(holder.getSkill().getId()).getLevel() < holder.getSkill().getLevel()) - { - removedSkills.put(holder.getSkill().getId(), holder.getSkill()); - } - } - else - { - removedSkills.put(holder.getSkill().getId(), holder.getSkill()); - } - update = true; - } + continue; + } + + final Skill skill = holder.getSkill(); + if (skill == null) + { + continue; + } + + // Check passive skill conditions. + if (skill.isPassive() && !skill.checkConditions(SkillConditionScope.PASSIVE, player, player)) + { + removedSkills.putIfAbsent(skill.getId(), skill); + update = true; } } } @@ -575,28 +559,35 @@ public abstract class Inventory extends ItemContainer continue; } - // Add skills bestowed from +4 armor - if (item.getEnchantLevel() >= holder.getValue()) + if (item.getEnchantLevel() < holder.getValue()) { - final Skill skill = holder.getSkill(); - // Check passive skill conditions. - if (skill.isPassive() && !skill.checkConditions(SkillConditionScope.PASSIVE, player, player)) + continue; + } + + final Skill skill = holder.getSkill(); + if (skill == null) + { + continue; + } + + // Check passive skill conditions. + if (skill.isPassive() && !skill.checkConditions(SkillConditionScope.PASSIVE, player, player)) + { + continue; + } + + final Skill existingSkill = addedSkills.get(skill.getId()); + if (existingSkill != null) + { + if (existingSkill.getLevel() < skill.getLevel()) { - continue; - } - - if (addedSkills.containsKey(holder.getSkill().getId())) - { - if (addedSkills.get(holder.getSkill().getId()).getLevel() < holder.getSkill().getLevel()) - { - addedSkills.put(holder.getSkill().getId(), holder.getSkill()); - } - } - else - { - addedSkills.put(holder.getSkill().getId(), holder.getSkill()); + addedSkills.put(skill.getId(), skill); } } + else + { + addedSkills.put(skill.getId(), skill); + } } } @@ -611,35 +602,39 @@ public abstract class Inventory extends ItemContainer } final Skill skill = holder.getSkill(); - if (skill != null) + if (skill == null) { - if (skill.isPassive() && !skill.checkConditions(SkillConditionScope.PASSIVE, player, player)) + continue; + } + + // Check passive skill conditions. + if (skill.isPassive() && !skill.checkConditions(SkillConditionScope.PASSIVE, player, player)) + { + continue; + } + + final Skill existingSkill = addedSkills.get(skill.getId()); + if (existingSkill != null) + { + if (existingSkill.getLevel() < skill.getLevel()) { - continue; + addedSkills.put(skill.getId(), skill); } - - if (addedSkills.containsKey(holder.getSkill().getId())) + } + else + { + addedSkills.put(skill.getId(), skill); + } + + if (skill.isActive() && !player.hasSkillReuse(skill.getReuseHashCode())) + { + final int equipDelay = item.getEquipReuseDelay(); + if (equipDelay > 0) { - if (addedSkills.get(holder.getSkill().getId()).getLevel() < holder.getSkill().getLevel()) - { - addedSkills.put(holder.getSkill().getId(), holder.getSkill()); - } - } - else - { - addedSkills.put(holder.getSkill().getId(), holder.getSkill()); - } - - if (skill.isActive() && !player.hasSkillReuse(skill.getReuseHashCode())) - { - final int equipDelay = item.getEquipReuseDelay(); - if (equipDelay > 0) - { - player.addTimeStamp(skill, equipDelay); - player.disableSkill(skill, equipDelay); - } - updateTimestamp = true; + player.addTimeStamp(skill, equipDelay); + player.disableSkill(skill, equipDelay); } + updateTimestamp = true; } } } @@ -666,28 +661,35 @@ public abstract class Inventory extends ItemContainer continue; } - // Add skills bestowed from +4 armor - if (equipped.getEnchantLevel() >= holder.getValue()) + if (equipped.getEnchantLevel() < holder.getValue()) { - final Skill skill = holder.getSkill(); - // Check passive skill conditions. - if (skill.isPassive() && !skill.checkConditions(SkillConditionScope.PASSIVE, player, player)) + continue; + } + + final Skill skill = holder.getSkill(); + if (skill == null) + { + continue; + } + + // Check passive skill conditions. + if (skill.isPassive() && !skill.checkConditions(SkillConditionScope.PASSIVE, player, player)) + { + continue; + } + + final Skill existingSkill = addedSkills.get(skill.getId()); + if (existingSkill != null) + { + if (existingSkill.getLevel() < skill.getLevel()) { - continue; - } - - if (addedSkills.containsKey(holder.getSkill().getId())) - { - if (addedSkills.get(holder.getSkill().getId()).getLevel() < holder.getSkill().getLevel()) - { - addedSkills.put(holder.getSkill().getId(), holder.getSkill()); - } - } - else - { - addedSkills.put(holder.getSkill().getId(), holder.getSkill()); + addedSkills.put(skill.getId(), skill); } } + else + { + addedSkills.put(skill.getId(), skill); + } } } diff --git a/L2J_Mobius_Classic_Interlude/java/org/l2jmobius/gameserver/model/itemcontainer/Inventory.java b/L2J_Mobius_Classic_Interlude/java/org/l2jmobius/gameserver/model/itemcontainer/Inventory.java index 3d594800b6..c35f11c066 100644 --- a/L2J_Mobius_Classic_Interlude/java/org/l2jmobius/gameserver/model/itemcontainer/Inventory.java +++ b/L2J_Mobius_Classic_Interlude/java/org/l2jmobius/gameserver/model/itemcontainer/Inventory.java @@ -322,20 +322,15 @@ public abstract class Inventory extends ItemContainer { for (ItemSkillHolder holder : onEnchantSkills) { - // Remove skills bestowed from +4 armor - if (item.getEnchantLevel() >= holder.getValue()) + if (item.getEnchantLevel() < holder.getValue()) { - if (removedSkills.containsKey(holder.getSkill().getId())) - { - if (removedSkills.get(holder.getSkill().getId()).getLevel() < holder.getSkill().getLevel()) - { - removedSkills.put(holder.getSkill().getId(), holder.getSkill()); - } - } - else - { - removedSkills.put(holder.getSkill().getId(), holder.getSkill()); - } + continue; + } + + final Skill skill = holder.getSkill(); + if (skill != null) + { + removedSkills.putIfAbsent(skill.getId(), skill); update = true; } } @@ -349,17 +344,7 @@ public abstract class Inventory extends ItemContainer final Skill skill = holder.getSkill(); if (skill != null) { - if (removedSkills.containsKey(holder.getSkill().getId())) - { - if (removedSkills.get(holder.getSkill().getId()).getLevel() < holder.getSkill().getLevel()) - { - removedSkills.put(holder.getSkill().getId(), holder.getSkill()); - } - } - else - { - removedSkills.put(holder.getSkill().getId(), holder.getSkill()); - } + removedSkills.putIfAbsent(skill.getId(), skill); update = true; } } @@ -388,32 +373,35 @@ public abstract class Inventory extends ItemContainer } final Skill skill = holder.getSkill(); - if (skill != null) + if (skill == null) { - if (addedSkills.containsKey(holder.getSkill().getId())) - { - if (addedSkills.get(holder.getSkill().getId()).getLevel() < holder.getSkill().getLevel()) - { - addedSkills.put(holder.getSkill().getId(), holder.getSkill()); - } - } - else - { - addedSkills.put(holder.getSkill().getId(), holder.getSkill()); - } - - if (skill.isActive() && !player.hasSkillReuse(skill.getReuseHashCode())) - { - final int equipDelay = item.getEquipReuseDelay(); - if (equipDelay > 0) - { - player.addTimeStamp(skill, equipDelay); - player.disableSkill(skill, equipDelay); - } - updateTimestamp = true; - } - update = true; + continue; } + + final Skill existingSkill = addedSkills.get(skill.getId()); + if (existingSkill != null) + { + if (existingSkill.getLevel() < skill.getLevel()) + { + addedSkills.put(skill.getId(), skill); + } + } + else + { + addedSkills.put(skill.getId(), skill); + } + + if (skill.isActive() && !player.hasSkillReuse(skill.getReuseHashCode())) + { + final int equipDelay = item.getEquipReuseDelay(); + if (equipDelay > 0) + { + player.addTimeStamp(skill, equipDelay); + player.disableSkill(skill, equipDelay); + } + updateTimestamp = true; + } + update = true; } } } @@ -435,26 +423,22 @@ public abstract class Inventory extends ItemContainer for (ItemSkillHolder holder : otherEnchantSkills) { - // Add skills bestowed from +4 armor - if (equipped.getEnchantLevel() >= holder.getValue()) + if (equipped.getEnchantLevel() < holder.getValue()) { - final Skill skill = holder.getSkill(); - // Check passive skill conditions. - if (skill.isPassive() && !skill.checkConditions(SkillConditionScope.PASSIVE, player, player)) - { - if (removedSkills.containsKey(holder.getSkill().getId())) - { - if (removedSkills.get(holder.getSkill().getId()).getLevel() < holder.getSkill().getLevel()) - { - removedSkills.put(holder.getSkill().getId(), holder.getSkill()); - } - } - else - { - removedSkills.put(holder.getSkill().getId(), holder.getSkill()); - } - update = true; - } + continue; + } + + final Skill skill = holder.getSkill(); + if (skill == null) + { + continue; + } + + // Check passive skill conditions. + if (skill.isPassive() && !skill.checkConditions(SkillConditionScope.PASSIVE, player, player)) + { + removedSkills.putIfAbsent(skill.getId(), skill); + update = true; } } } @@ -541,28 +525,35 @@ public abstract class Inventory extends ItemContainer continue; } - // Add skills bestowed from +4 armor - if (item.getEnchantLevel() >= holder.getValue()) + if (item.getEnchantLevel() < holder.getValue()) { - final Skill skill = holder.getSkill(); - // Check passive skill conditions. - if (skill.isPassive() && !skill.checkConditions(SkillConditionScope.PASSIVE, player, player)) + continue; + } + + final Skill skill = holder.getSkill(); + if (skill == null) + { + continue; + } + + // Check passive skill conditions. + if (skill.isPassive() && !skill.checkConditions(SkillConditionScope.PASSIVE, player, player)) + { + continue; + } + + final Skill existingSkill = addedSkills.get(skill.getId()); + if (existingSkill != null) + { + if (existingSkill.getLevel() < skill.getLevel()) { - continue; - } - - if (addedSkills.containsKey(holder.getSkill().getId())) - { - if (addedSkills.get(holder.getSkill().getId()).getLevel() < holder.getSkill().getLevel()) - { - addedSkills.put(holder.getSkill().getId(), holder.getSkill()); - } - } - else - { - addedSkills.put(holder.getSkill().getId(), holder.getSkill()); + addedSkills.put(skill.getId(), skill); } } + else + { + addedSkills.put(skill.getId(), skill); + } } } @@ -577,35 +568,39 @@ public abstract class Inventory extends ItemContainer } final Skill skill = holder.getSkill(); - if (skill != null) + if (skill == null) { - if (skill.isPassive() && !skill.checkConditions(SkillConditionScope.PASSIVE, player, player)) + continue; + } + + // Check passive skill conditions. + if (skill.isPassive() && !skill.checkConditions(SkillConditionScope.PASSIVE, player, player)) + { + continue; + } + + final Skill existingSkill = addedSkills.get(skill.getId()); + if (existingSkill != null) + { + if (existingSkill.getLevel() < skill.getLevel()) { - continue; + addedSkills.put(skill.getId(), skill); } - - if (addedSkills.containsKey(holder.getSkill().getId())) + } + else + { + addedSkills.put(skill.getId(), skill); + } + + if (skill.isActive() && !player.hasSkillReuse(skill.getReuseHashCode())) + { + final int equipDelay = item.getEquipReuseDelay(); + if (equipDelay > 0) { - if (addedSkills.get(holder.getSkill().getId()).getLevel() < holder.getSkill().getLevel()) - { - addedSkills.put(holder.getSkill().getId(), holder.getSkill()); - } - } - else - { - addedSkills.put(holder.getSkill().getId(), holder.getSkill()); - } - - if (skill.isActive() && !player.hasSkillReuse(skill.getReuseHashCode())) - { - final int equipDelay = item.getEquipReuseDelay(); - if (equipDelay > 0) - { - player.addTimeStamp(skill, equipDelay); - player.disableSkill(skill, equipDelay); - } - updateTimestamp = true; + player.addTimeStamp(skill, equipDelay); + player.disableSkill(skill, equipDelay); } + updateTimestamp = true; } } } @@ -632,28 +627,35 @@ public abstract class Inventory extends ItemContainer continue; } - // Add skills bestowed from +4 armor - if (equipped.getEnchantLevel() >= holder.getValue()) + if (equipped.getEnchantLevel() < holder.getValue()) { - final Skill skill = holder.getSkill(); - // Check passive skill conditions. - if (skill.isPassive() && !skill.checkConditions(SkillConditionScope.PASSIVE, player, player)) + continue; + } + + final Skill skill = holder.getSkill(); + if (skill == null) + { + continue; + } + + // Check passive skill conditions. + if (skill.isPassive() && !skill.checkConditions(SkillConditionScope.PASSIVE, player, player)) + { + continue; + } + + final Skill existingSkill = addedSkills.get(skill.getId()); + if (existingSkill != null) + { + if (existingSkill.getLevel() < skill.getLevel()) { - continue; - } - - if (addedSkills.containsKey(holder.getSkill().getId())) - { - if (addedSkills.get(holder.getSkill().getId()).getLevel() < holder.getSkill().getLevel()) - { - addedSkills.put(holder.getSkill().getId(), holder.getSkill()); - } - } - else - { - addedSkills.put(holder.getSkill().getId(), holder.getSkill()); + addedSkills.put(skill.getId(), skill); } } + else + { + addedSkills.put(skill.getId(), skill); + } } } diff --git a/L2J_Mobius_Essence_4.0_DwellingOfSpirits/java/org/l2jmobius/gameserver/model/itemcontainer/Inventory.java b/L2J_Mobius_Essence_4.0_DwellingOfSpirits/java/org/l2jmobius/gameserver/model/itemcontainer/Inventory.java index 94e2fd3c00..7b026c15e1 100644 --- a/L2J_Mobius_Essence_4.0_DwellingOfSpirits/java/org/l2jmobius/gameserver/model/itemcontainer/Inventory.java +++ b/L2J_Mobius_Essence_4.0_DwellingOfSpirits/java/org/l2jmobius/gameserver/model/itemcontainer/Inventory.java @@ -351,20 +351,15 @@ public abstract class Inventory extends ItemContainer { for (ItemSkillHolder holder : onEnchantSkills) { - // Remove skills bestowed from +4 armor - if (item.getEnchantLevel() >= holder.getValue()) + if (item.getEnchantLevel() < holder.getValue()) { - if (removedSkills.containsKey(holder.getSkill().getId())) - { - if (removedSkills.get(holder.getSkill().getId()).getLevel() < holder.getSkill().getLevel()) - { - removedSkills.put(holder.getSkill().getId(), holder.getSkill()); - } - } - else - { - removedSkills.put(holder.getSkill().getId(), holder.getSkill()); - } + continue; + } + + final Skill skill = holder.getSkill(); + if (skill != null) + { + removedSkills.putIfAbsent(skill.getId(), skill); update = true; } } @@ -378,17 +373,7 @@ public abstract class Inventory extends ItemContainer final Skill skill = holder.getSkill(); if (skill != null) { - if (removedSkills.containsKey(holder.getSkill().getId())) - { - if (removedSkills.get(holder.getSkill().getId()).getLevel() < holder.getSkill().getLevel()) - { - removedSkills.put(holder.getSkill().getId(), holder.getSkill()); - } - } - else - { - removedSkills.put(holder.getSkill().getId(), holder.getSkill()); - } + removedSkills.putIfAbsent(skill.getId(), skill); update = true; } } @@ -417,32 +402,35 @@ public abstract class Inventory extends ItemContainer } final Skill skill = holder.getSkill(); - if (skill != null) + if (skill == null) { - if (addedSkills.containsKey(holder.getSkill().getId())) - { - if (addedSkills.get(holder.getSkill().getId()).getLevel() < holder.getSkill().getLevel()) - { - addedSkills.put(holder.getSkill().getId(), holder.getSkill()); - } - } - else - { - addedSkills.put(holder.getSkill().getId(), holder.getSkill()); - } - - if (skill.isActive() && !player.hasSkillReuse(skill.getReuseHashCode())) - { - final int equipDelay = item.getEquipReuseDelay(); - if (equipDelay > 0) - { - player.addTimeStamp(skill, equipDelay); - player.disableSkill(skill, equipDelay); - } - updateTimestamp = true; - } - update = true; + continue; } + + final Skill existingSkill = addedSkills.get(skill.getId()); + if (existingSkill != null) + { + if (existingSkill.getLevel() < skill.getLevel()) + { + addedSkills.put(skill.getId(), skill); + } + } + else + { + addedSkills.put(skill.getId(), skill); + } + + if (skill.isActive() && !player.hasSkillReuse(skill.getReuseHashCode())) + { + final int equipDelay = item.getEquipReuseDelay(); + if (equipDelay > 0) + { + player.addTimeStamp(skill, equipDelay); + player.disableSkill(skill, equipDelay); + } + updateTimestamp = true; + } + update = true; } } } @@ -464,26 +452,22 @@ public abstract class Inventory extends ItemContainer for (ItemSkillHolder holder : otherEnchantSkills) { - // Add skills bestowed from +4 armor - if (equipped.getEnchantLevel() >= holder.getValue()) + if (equipped.getEnchantLevel() < holder.getValue()) { - final Skill skill = holder.getSkill(); - // Check passive skill conditions. - if (skill.isPassive() && !skill.checkConditions(SkillConditionScope.PASSIVE, player, player)) - { - if (removedSkills.containsKey(holder.getSkill().getId())) - { - if (removedSkills.get(holder.getSkill().getId()).getLevel() < holder.getSkill().getLevel()) - { - removedSkills.put(holder.getSkill().getId(), holder.getSkill()); - } - } - else - { - removedSkills.put(holder.getSkill().getId(), holder.getSkill()); - } - update = true; - } + continue; + } + + final Skill skill = holder.getSkill(); + if (skill == null) + { + continue; + } + + // Check passive skill conditions. + if (skill.isPassive() && !skill.checkConditions(SkillConditionScope.PASSIVE, player, player)) + { + removedSkills.putIfAbsent(skill.getId(), skill); + update = true; } } } @@ -570,28 +554,35 @@ public abstract class Inventory extends ItemContainer continue; } - // Add skills bestowed from +4 armor - if (item.getEnchantLevel() >= holder.getValue()) + if (item.getEnchantLevel() < holder.getValue()) { - final Skill skill = holder.getSkill(); - // Check passive skill conditions. - if (skill.isPassive() && !skill.checkConditions(SkillConditionScope.PASSIVE, player, player)) + continue; + } + + final Skill skill = holder.getSkill(); + if (skill == null) + { + continue; + } + + // Check passive skill conditions. + if (skill.isPassive() && !skill.checkConditions(SkillConditionScope.PASSIVE, player, player)) + { + continue; + } + + final Skill existingSkill = addedSkills.get(skill.getId()); + if (existingSkill != null) + { + if (existingSkill.getLevel() < skill.getLevel()) { - continue; - } - - if (addedSkills.containsKey(holder.getSkill().getId())) - { - if (addedSkills.get(holder.getSkill().getId()).getLevel() < holder.getSkill().getLevel()) - { - addedSkills.put(holder.getSkill().getId(), holder.getSkill()); - } - } - else - { - addedSkills.put(holder.getSkill().getId(), holder.getSkill()); + addedSkills.put(skill.getId(), skill); } } + else + { + addedSkills.put(skill.getId(), skill); + } } } @@ -606,35 +597,39 @@ public abstract class Inventory extends ItemContainer } final Skill skill = holder.getSkill(); - if (skill != null) + if (skill == null) { - if (skill.isPassive() && !skill.checkConditions(SkillConditionScope.PASSIVE, player, player)) + continue; + } + + // Check passive skill conditions. + if (skill.isPassive() && !skill.checkConditions(SkillConditionScope.PASSIVE, player, player)) + { + continue; + } + + final Skill existingSkill = addedSkills.get(skill.getId()); + if (existingSkill != null) + { + if (existingSkill.getLevel() < skill.getLevel()) { - continue; + addedSkills.put(skill.getId(), skill); } - - if (addedSkills.containsKey(holder.getSkill().getId())) + } + else + { + addedSkills.put(skill.getId(), skill); + } + + if (skill.isActive() && !player.hasSkillReuse(skill.getReuseHashCode())) + { + final int equipDelay = item.getEquipReuseDelay(); + if (equipDelay > 0) { - if (addedSkills.get(holder.getSkill().getId()).getLevel() < holder.getSkill().getLevel()) - { - addedSkills.put(holder.getSkill().getId(), holder.getSkill()); - } - } - else - { - addedSkills.put(holder.getSkill().getId(), holder.getSkill()); - } - - if (skill.isActive() && !player.hasSkillReuse(skill.getReuseHashCode())) - { - final int equipDelay = item.getEquipReuseDelay(); - if (equipDelay > 0) - { - player.addTimeStamp(skill, equipDelay); - player.disableSkill(skill, equipDelay); - } - updateTimestamp = true; + player.addTimeStamp(skill, equipDelay); + player.disableSkill(skill, equipDelay); } + updateTimestamp = true; } } } @@ -661,28 +656,35 @@ public abstract class Inventory extends ItemContainer continue; } - // Add skills bestowed from +4 armor - if (equipped.getEnchantLevel() >= holder.getValue()) + if (equipped.getEnchantLevel() < holder.getValue()) { - final Skill skill = holder.getSkill(); - // Check passive skill conditions. - if (skill.isPassive() && !skill.checkConditions(SkillConditionScope.PASSIVE, player, player)) + continue; + } + + final Skill skill = holder.getSkill(); + if (skill == null) + { + continue; + } + + // Check passive skill conditions. + if (skill.isPassive() && !skill.checkConditions(SkillConditionScope.PASSIVE, player, player)) + { + continue; + } + + final Skill existingSkill = addedSkills.get(skill.getId()); + if (existingSkill != null) + { + if (existingSkill.getLevel() < skill.getLevel()) { - continue; - } - - if (addedSkills.containsKey(holder.getSkill().getId())) - { - if (addedSkills.get(holder.getSkill().getId()).getLevel() < holder.getSkill().getLevel()) - { - addedSkills.put(holder.getSkill().getId(), holder.getSkill()); - } - } - else - { - addedSkills.put(holder.getSkill().getId(), holder.getSkill()); + addedSkills.put(skill.getId(), skill); } } + else + { + addedSkills.put(skill.getId(), skill); + } } } diff --git a/L2J_Mobius_Essence_5.0_Sylph/java/org/l2jmobius/gameserver/model/itemcontainer/Inventory.java b/L2J_Mobius_Essence_5.0_Sylph/java/org/l2jmobius/gameserver/model/itemcontainer/Inventory.java index 2fe71d3103..5d8043b53d 100644 --- a/L2J_Mobius_Essence_5.0_Sylph/java/org/l2jmobius/gameserver/model/itemcontainer/Inventory.java +++ b/L2J_Mobius_Essence_5.0_Sylph/java/org/l2jmobius/gameserver/model/itemcontainer/Inventory.java @@ -360,20 +360,15 @@ public abstract class Inventory extends ItemContainer { for (ItemSkillHolder holder : onEnchantSkills) { - // Remove skills bestowed from +4 armor - if (item.getEnchantLevel() >= holder.getValue()) + if (item.getEnchantLevel() < holder.getValue()) { - if (removedSkills.containsKey(holder.getSkill().getId())) - { - if (removedSkills.get(holder.getSkill().getId()).getLevel() < holder.getSkill().getLevel()) - { - removedSkills.put(holder.getSkill().getId(), holder.getSkill()); - } - } - else - { - removedSkills.put(holder.getSkill().getId(), holder.getSkill()); - } + continue; + } + + final Skill skill = holder.getSkill(); + if (skill != null) + { + removedSkills.putIfAbsent(skill.getId(), skill); update = true; } } @@ -386,18 +381,12 @@ public abstract class Inventory extends ItemContainer { for (ItemSkillHolder holder : onBlessingSkills) { - if (removedSkills.containsKey(holder.getSkill().getId())) + final Skill skill = holder.getSkill(); + if (skill != null) { - if (removedSkills.get(holder.getSkill().getId()).getLevel() < holder.getSkill().getLevel()) - { - removedSkills.put(holder.getSkill().getId(), holder.getSkill()); - } + removedSkills.putIfAbsent(skill.getId(), skill); + update = true; } - else - { - removedSkills.put(holder.getSkill().getId(), holder.getSkill()); - } - update = true; } } } @@ -410,17 +399,7 @@ public abstract class Inventory extends ItemContainer final Skill skill = holder.getSkill(); if (skill != null) { - if (removedSkills.containsKey(holder.getSkill().getId())) - { - if (removedSkills.get(holder.getSkill().getId()).getLevel() < holder.getSkill().getLevel()) - { - removedSkills.put(holder.getSkill().getId(), holder.getSkill()); - } - } - else - { - removedSkills.put(holder.getSkill().getId(), holder.getSkill()); - } + removedSkills.putIfAbsent(skill.getId(), skill); update = true; } } @@ -449,32 +428,35 @@ public abstract class Inventory extends ItemContainer } final Skill skill = holder.getSkill(); - if (skill != null) + if (skill == null) { - if (addedSkills.containsKey(holder.getSkill().getId())) - { - if (addedSkills.get(holder.getSkill().getId()).getLevel() < holder.getSkill().getLevel()) - { - addedSkills.put(holder.getSkill().getId(), holder.getSkill()); - } - } - else - { - addedSkills.put(holder.getSkill().getId(), holder.getSkill()); - } - - if (skill.isActive() && !player.hasSkillReuse(skill.getReuseHashCode())) - { - final int equipDelay = item.getEquipReuseDelay(); - if (equipDelay > 0) - { - player.addTimeStamp(skill, equipDelay); - player.disableSkill(skill, equipDelay); - } - updateTimestamp = true; - } - update = true; + continue; } + + final Skill existingSkill = addedSkills.get(skill.getId()); + if (existingSkill != null) + { + if (existingSkill.getLevel() < skill.getLevel()) + { + addedSkills.put(skill.getId(), skill); + } + } + else + { + addedSkills.put(skill.getId(), skill); + } + + if (skill.isActive() && !player.hasSkillReuse(skill.getReuseHashCode())) + { + final int equipDelay = item.getEquipReuseDelay(); + if (equipDelay > 0) + { + player.addTimeStamp(skill, equipDelay); + player.disableSkill(skill, equipDelay); + } + updateTimestamp = true; + } + update = true; } } } @@ -499,26 +481,22 @@ public abstract class Inventory extends ItemContainer { for (ItemSkillHolder holder : otherEnchantSkills) { - // Add skills bestowed from +4 armor - if (equipped.getEnchantLevel() >= holder.getValue()) + if (equipped.getEnchantLevel() < holder.getValue()) { - final Skill skill = holder.getSkill(); - // Check passive skill conditions. - if (skill.isPassive() && !skill.checkConditions(SkillConditionScope.PASSIVE, player, player)) - { - if (removedSkills.containsKey(holder.getSkill().getId())) - { - if (removedSkills.get(holder.getSkill().getId()).getLevel() < holder.getSkill().getLevel()) - { - removedSkills.put(holder.getSkill().getId(), holder.getSkill()); - } - } - else - { - removedSkills.put(holder.getSkill().getId(), holder.getSkill()); - } - update = true; - } + continue; + } + + final Skill skill = holder.getSkill(); + if (skill == null) + { + continue; + } + + // Check passive skill conditions. + if (skill.isPassive() && !skill.checkConditions(SkillConditionScope.PASSIVE, player, player)) + { + removedSkills.putIfAbsent(skill.getId(), skill); + update = true; } } } @@ -527,22 +505,16 @@ public abstract class Inventory extends ItemContainer { for (ItemSkillHolder holder : otherBlessingSkills) { - // Add skills bestowed from +4 armor final Skill skill = holder.getSkill(); + if (skill == null) + { + continue; + } + // Check passive skill conditions. if (skill.isPassive() && !skill.checkConditions(SkillConditionScope.PASSIVE, player, player)) { - if (removedSkills.containsKey(holder.getSkill().getId())) - { - if (removedSkills.get(holder.getSkill().getId()).getLevel() < holder.getSkill().getLevel()) - { - removedSkills.put(holder.getSkill().getId(), holder.getSkill()); - } - } - else - { - removedSkills.put(holder.getSkill().getId(), holder.getSkill()); - } + removedSkills.putIfAbsent(skill.getId(), skill); update = true; } } @@ -631,28 +603,35 @@ public abstract class Inventory extends ItemContainer continue; } - // Add skills bestowed from +4 armor - if (item.getEnchantLevel() >= holder.getValue()) + if (item.getEnchantLevel() < holder.getValue()) { - final Skill skill = holder.getSkill(); - // Check passive skill conditions. - if (skill.isPassive() && !skill.checkConditions(SkillConditionScope.PASSIVE, player, player)) + continue; + } + + final Skill skill = holder.getSkill(); + if (skill == null) + { + continue; + } + + // Check passive skill conditions. + if (skill.isPassive() && !skill.checkConditions(SkillConditionScope.PASSIVE, player, player)) + { + continue; + } + + final Skill existingSkill = addedSkills.get(skill.getId()); + if (existingSkill != null) + { + if (existingSkill.getLevel() < skill.getLevel()) { - continue; - } - - if (addedSkills.containsKey(holder.getSkill().getId())) - { - if (addedSkills.get(holder.getSkill().getId()).getLevel() < holder.getSkill().getLevel()) - { - addedSkills.put(holder.getSkill().getId(), holder.getSkill()); - } - } - else - { - addedSkills.put(holder.getSkill().getId(), holder.getSkill()); + addedSkills.put(skill.getId(), skill); } } + else + { + addedSkills.put(skill.getId(), skill); + } } } @@ -668,24 +647,29 @@ public abstract class Inventory extends ItemContainer continue; } - // Add skills bestowed from +4 armor final Skill skill = holder.getSkill(); + if (skill == null) + { + continue; + } + // Check passive skill conditions. if (skill.isPassive() && !skill.checkConditions(SkillConditionScope.PASSIVE, player, player)) { continue; } - if (addedSkills.containsKey(holder.getSkill().getId())) + final Skill existingSkill = addedSkills.get(skill.getId()); + if (existingSkill != null) { - if (addedSkills.get(holder.getSkill().getId()).getLevel() < holder.getSkill().getLevel()) + if (existingSkill.getLevel() < skill.getLevel()) { - addedSkills.put(holder.getSkill().getId(), holder.getSkill()); + addedSkills.put(skill.getId(), skill); } } else { - addedSkills.put(holder.getSkill().getId(), holder.getSkill()); + addedSkills.put(skill.getId(), skill); } } } @@ -702,35 +686,39 @@ public abstract class Inventory extends ItemContainer } final Skill skill = holder.getSkill(); - if (skill != null) + if (skill == null) { - if (skill.isPassive() && !skill.checkConditions(SkillConditionScope.PASSIVE, player, player)) + continue; + } + + // Check passive skill conditions. + if (skill.isPassive() && !skill.checkConditions(SkillConditionScope.PASSIVE, player, player)) + { + continue; + } + + final Skill existingSkill = addedSkills.get(skill.getId()); + if (existingSkill != null) + { + if (existingSkill.getLevel() < skill.getLevel()) { - continue; + addedSkills.put(skill.getId(), skill); } - - if (addedSkills.containsKey(holder.getSkill().getId())) + } + else + { + addedSkills.put(skill.getId(), skill); + } + + if (skill.isActive() && !player.hasSkillReuse(skill.getReuseHashCode())) + { + final int equipDelay = item.getEquipReuseDelay(); + if (equipDelay > 0) { - if (addedSkills.get(holder.getSkill().getId()).getLevel() < holder.getSkill().getLevel()) - { - addedSkills.put(holder.getSkill().getId(), holder.getSkill()); - } - } - else - { - addedSkills.put(holder.getSkill().getId(), holder.getSkill()); - } - - if (skill.isActive() && !player.hasSkillReuse(skill.getReuseHashCode())) - { - final int equipDelay = item.getEquipReuseDelay(); - if (equipDelay > 0) - { - player.addTimeStamp(skill, equipDelay); - player.disableSkill(skill, equipDelay); - } - updateTimestamp = true; + player.addTimeStamp(skill, equipDelay); + player.disableSkill(skill, equipDelay); } + updateTimestamp = true; } } } @@ -760,28 +748,35 @@ public abstract class Inventory extends ItemContainer continue; } - // Add skills bestowed from +4 armor - if (equipped.getEnchantLevel() >= holder.getValue()) + if (equipped.getEnchantLevel() < holder.getValue()) { - final Skill skill = holder.getSkill(); - // Check passive skill conditions. - if (skill.isPassive() && !skill.checkConditions(SkillConditionScope.PASSIVE, player, player)) + continue; + } + + final Skill skill = holder.getSkill(); + if (skill == null) + { + continue; + } + + // Check passive skill conditions. + if (skill.isPassive() && !skill.checkConditions(SkillConditionScope.PASSIVE, player, player)) + { + continue; + } + + final Skill existingSkill = addedSkills.get(skill.getId()); + if (existingSkill != null) + { + if (existingSkill.getLevel() < skill.getLevel()) { - continue; - } - - if (addedSkills.containsKey(holder.getSkill().getId())) - { - if (addedSkills.get(holder.getSkill().getId()).getLevel() < holder.getSkill().getLevel()) - { - addedSkills.put(holder.getSkill().getId(), holder.getSkill()); - } - } - else - { - addedSkills.put(holder.getSkill().getId(), holder.getSkill()); + addedSkills.put(skill.getId(), skill); } } + else + { + addedSkills.put(skill.getId(), skill); + } } } @@ -794,26 +789,31 @@ public abstract class Inventory extends ItemContainer continue; } - // Add skills bestowed from +4 armor if (equipped.isBlessed()) { final Skill skill = holder.getSkill(); + if (skill == null) + { + continue; + } + // Check passive skill conditions. if (skill.isPassive() && !skill.checkConditions(SkillConditionScope.PASSIVE, player, player)) { continue; } - if (addedSkills.containsKey(holder.getSkill().getId())) + final Skill existingSkill = addedSkills.get(skill.getId()); + if (existingSkill != null) { - if (addedSkills.get(holder.getSkill().getId()).getLevel() < holder.getSkill().getLevel()) + if (existingSkill.getLevel() < skill.getLevel()) { - addedSkills.put(holder.getSkill().getId(), holder.getSkill()); + addedSkills.put(skill.getId(), skill); } } else { - addedSkills.put(holder.getSkill().getId(), holder.getSkill()); + addedSkills.put(skill.getId(), skill); } } }