From 14377118989af83408d8c375d3519f0eaa2fc0f2 Mon Sep 17 00:00:00 2001 From: MobiusDevelopment <8391001+MobiusDevelopment@users.noreply.github.com> Date: Wed, 5 Feb 2020 00:33:21 +0000 Subject: [PATCH] Prevent addition of existing skills on item equip. --- .../model/itemcontainer/Inventory.java | 28 ++++++++++++++++--- .../model/itemcontainer/Inventory.java | 28 ++++++++++++++++--- .../model/itemcontainer/Inventory.java | 28 ++++++++++++++++--- .../model/itemcontainer/Inventory.java | 28 ++++++++++++++++--- .../model/itemcontainer/Inventory.java | 28 ++++++++++++++++--- .../model/itemcontainer/Inventory.java | 28 ++++++++++++++++--- .../model/itemcontainer/Inventory.java | 28 ++++++++++++++++--- .../model/itemcontainer/Inventory.java | 28 ++++++++++++++++--- .../model/itemcontainer/Inventory.java | 28 ++++++++++++++++--- .../model/itemcontainer/Inventory.java | 28 ++++++++++++++++--- .../model/itemcontainer/Inventory.java | 28 ++++++++++++++++--- .../model/itemcontainer/Inventory.java | 28 ++++++++++++++++--- .../model/itemcontainer/Inventory.java | 28 ++++++++++++++++--- .../model/itemcontainer/Inventory.java | 28 ++++++++++++++++--- .../model/itemcontainer/Inventory.java | 28 ++++++++++++++++--- 15 files changed, 360 insertions(+), 60 deletions(-) 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 b2dcecb9a8..d52e077b67 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 @@ -362,7 +362,7 @@ public abstract class Inventory extends ItemContainer { if (player.getSkillLevel(holder.getSkillId()) != 0) { - return; + continue; } final Skill skill = holder.getSkill(); @@ -472,6 +472,11 @@ public abstract class Inventory extends ItemContainer { for (ItemSkillHolder holder : onEnchantSkills) { + if (player.getSkillLevel(holder.getSkillId()) >= holder.getSkillLevel()) + { + continue; + } + // Add skills bestowed from +4 armor if (item.getEnchantLevel() >= holder.getValue()) { @@ -479,7 +484,7 @@ public abstract class Inventory extends ItemContainer // Check passive skill conditions. if (skill.isPassive() && !skill.checkConditions(SkillConditionScope.PASSIVE, player, player)) { - return; + continue; } player.addSkill(skill, false); update = true; @@ -495,12 +500,17 @@ public abstract class Inventory extends ItemContainer { for (ItemSkillHolder holder : normalSkills) { + if (player.getSkillLevel(holder.getSkillId()) >= holder.getSkillLevel()) + { + continue; + } + final Skill skill = holder.getSkill(); if (skill != null) { if (skill.isPassive() && !skill.checkConditions(SkillConditionScope.PASSIVE, player, player)) { - return; + continue; } player.addSkill(skill, false); @@ -534,6 +544,11 @@ public abstract class Inventory extends ItemContainer for (ItemSkillHolder holder : otherEnchantSkills) { + if (player.getSkillLevel(holder.getSkillId()) >= holder.getSkillLevel()) + { + continue; + } + // Add skills bestowed from +4 armor if (equipped.getEnchantLevel() >= holder.getValue()) { @@ -541,7 +556,7 @@ public abstract class Inventory extends ItemContainer // Check passive skill conditions. if (skill.isPassive() && !skill.checkConditions(SkillConditionScope.PASSIVE, player, player)) { - return; + continue; } player.addSkill(skill, false); update = true; @@ -621,6 +636,11 @@ public abstract class Inventory extends ItemContainer boolean update = false; for (ArmorsetSkillHolder holder : armorSet.getSkills()) { + if (player.getSkillLevel(holder.getSkillId()) >= holder.getSkillLevel()) + { + continue; + } + if (holder.validateConditions(player, armorSet, idProvider)) { final Skill itemSkill = holder.getSkill(); 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 28249b4e90..ee15fbb8d3 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 @@ -365,7 +365,7 @@ public abstract class Inventory extends ItemContainer { if (player.getSkillLevel(holder.getSkillId()) != 0) { - return; + continue; } final Skill skill = holder.getSkill(); @@ -475,6 +475,11 @@ public abstract class Inventory extends ItemContainer { for (ItemSkillHolder holder : onEnchantSkills) { + if (player.getSkillLevel(holder.getSkillId()) >= holder.getSkillLevel()) + { + continue; + } + // Add skills bestowed from +4 armor if (item.getEnchantLevel() >= holder.getValue()) { @@ -482,7 +487,7 @@ public abstract class Inventory extends ItemContainer // Check passive skill conditions. if (skill.isPassive() && !skill.checkConditions(SkillConditionScope.PASSIVE, player, player)) { - return; + continue; } player.addSkill(skill, false); update = true; @@ -501,12 +506,17 @@ public abstract class Inventory extends ItemContainer { for (ItemSkillHolder holder : normalSkills) { + if (player.getSkillLevel(holder.getSkillId()) >= holder.getSkillLevel()) + { + continue; + } + final Skill skill = holder.getSkill(); if (skill != null) { if (skill.isPassive() && !skill.checkConditions(SkillConditionScope.PASSIVE, player, player)) { - return; + continue; } player.addSkill(skill, false); @@ -540,6 +550,11 @@ public abstract class Inventory extends ItemContainer for (ItemSkillHolder holder : otherEnchantSkills) { + if (player.getSkillLevel(holder.getSkillId()) >= holder.getSkillLevel()) + { + continue; + } + // Add skills bestowed from +4 armor if (equipped.getEnchantLevel() >= holder.getValue()) { @@ -547,7 +562,7 @@ public abstract class Inventory extends ItemContainer // Check passive skill conditions. if (skill.isPassive() && !skill.checkConditions(SkillConditionScope.PASSIVE, player, player)) { - return; + continue; } player.addSkill(skill, false); update = true; @@ -627,6 +642,11 @@ public abstract class Inventory extends ItemContainer boolean update = false; for (ArmorsetSkillHolder holder : armorSet.getSkills()) { + if (player.getSkillLevel(holder.getSkillId()) >= holder.getSkillLevel()) + { + continue; + } + if (holder.validateConditions(player, armorSet, idProvider)) { final Skill itemSkill = holder.getSkill(); 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 28249b4e90..ee15fbb8d3 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 @@ -365,7 +365,7 @@ public abstract class Inventory extends ItemContainer { if (player.getSkillLevel(holder.getSkillId()) != 0) { - return; + continue; } final Skill skill = holder.getSkill(); @@ -475,6 +475,11 @@ public abstract class Inventory extends ItemContainer { for (ItemSkillHolder holder : onEnchantSkills) { + if (player.getSkillLevel(holder.getSkillId()) >= holder.getSkillLevel()) + { + continue; + } + // Add skills bestowed from +4 armor if (item.getEnchantLevel() >= holder.getValue()) { @@ -482,7 +487,7 @@ public abstract class Inventory extends ItemContainer // Check passive skill conditions. if (skill.isPassive() && !skill.checkConditions(SkillConditionScope.PASSIVE, player, player)) { - return; + continue; } player.addSkill(skill, false); update = true; @@ -501,12 +506,17 @@ public abstract class Inventory extends ItemContainer { for (ItemSkillHolder holder : normalSkills) { + if (player.getSkillLevel(holder.getSkillId()) >= holder.getSkillLevel()) + { + continue; + } + final Skill skill = holder.getSkill(); if (skill != null) { if (skill.isPassive() && !skill.checkConditions(SkillConditionScope.PASSIVE, player, player)) { - return; + continue; } player.addSkill(skill, false); @@ -540,6 +550,11 @@ public abstract class Inventory extends ItemContainer for (ItemSkillHolder holder : otherEnchantSkills) { + if (player.getSkillLevel(holder.getSkillId()) >= holder.getSkillLevel()) + { + continue; + } + // Add skills bestowed from +4 armor if (equipped.getEnchantLevel() >= holder.getValue()) { @@ -547,7 +562,7 @@ public abstract class Inventory extends ItemContainer // Check passive skill conditions. if (skill.isPassive() && !skill.checkConditions(SkillConditionScope.PASSIVE, player, player)) { - return; + continue; } player.addSkill(skill, false); update = true; @@ -627,6 +642,11 @@ public abstract class Inventory extends ItemContainer boolean update = false; for (ArmorsetSkillHolder holder : armorSet.getSkills()) { + if (player.getSkillLevel(holder.getSkillId()) >= holder.getSkillLevel()) + { + continue; + } + if (holder.validateConditions(player, armorSet, idProvider)) { final Skill itemSkill = holder.getSkill(); 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 42b79c303a..49ca95b04f 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 @@ -365,7 +365,7 @@ public abstract class Inventory extends ItemContainer { if (player.getSkillLevel(holder.getSkillId()) != 0) { - return; + continue; } final Skill skill = holder.getSkill(); @@ -475,6 +475,11 @@ public abstract class Inventory extends ItemContainer { for (ItemSkillHolder holder : onEnchantSkills) { + if (player.getSkillLevel(holder.getSkillId()) >= holder.getSkillLevel()) + { + continue; + } + // Add skills bestowed from +4 armor if (item.getEnchantLevel() >= holder.getValue()) { @@ -482,7 +487,7 @@ public abstract class Inventory extends ItemContainer // Check passive skill conditions. if (skill.isPassive() && !skill.checkConditions(SkillConditionScope.PASSIVE, player, player)) { - return; + continue; } player.addSkill(skill, false); update = true; @@ -501,12 +506,17 @@ public abstract class Inventory extends ItemContainer { for (ItemSkillHolder holder : normalSkills) { + if (player.getSkillLevel(holder.getSkillId()) >= holder.getSkillLevel()) + { + continue; + } + final Skill skill = holder.getSkill(); if (skill != null) { if (skill.isPassive() && !skill.checkConditions(SkillConditionScope.PASSIVE, player, player)) { - return; + continue; } player.addSkill(skill, false); @@ -540,6 +550,11 @@ public abstract class Inventory extends ItemContainer for (ItemSkillHolder holder : otherEnchantSkills) { + if (player.getSkillLevel(holder.getSkillId()) >= holder.getSkillLevel()) + { + continue; + } + // Add skills bestowed from +4 armor if (equipped.getEnchantLevel() >= holder.getValue()) { @@ -547,7 +562,7 @@ public abstract class Inventory extends ItemContainer // Check passive skill conditions. if (skill.isPassive() && !skill.checkConditions(SkillConditionScope.PASSIVE, player, player)) { - return; + continue; } player.addSkill(skill, false); update = true; @@ -627,6 +642,11 @@ public abstract class Inventory extends ItemContainer boolean update = false; for (ArmorsetSkillHolder holder : armorSet.getSkills()) { + if (player.getSkillLevel(holder.getSkillId()) >= holder.getSkillLevel()) + { + continue; + } + if (holder.validateConditions(player, armorSet, idProvider)) { final Skill itemSkill = holder.getSkill(); 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 4ca51439dc..7273f6a0e8 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 @@ -370,7 +370,7 @@ public abstract class Inventory extends ItemContainer { if (player.getSkillLevel(holder.getSkillId()) != 0) { - return; + continue; } final Skill skill = holder.getSkill(); @@ -480,6 +480,11 @@ public abstract class Inventory extends ItemContainer { for (ItemSkillHolder holder : onEnchantSkills) { + if (player.getSkillLevel(holder.getSkillId()) >= holder.getSkillLevel()) + { + continue; + } + // Add skills bestowed from +4 armor if (item.getEnchantLevel() >= holder.getValue()) { @@ -487,7 +492,7 @@ public abstract class Inventory extends ItemContainer // Check passive skill conditions. if (skill.isPassive() && !skill.checkConditions(SkillConditionScope.PASSIVE, player, player)) { - return; + continue; } player.addSkill(skill, false); update = true; @@ -506,12 +511,17 @@ public abstract class Inventory extends ItemContainer { for (ItemSkillHolder holder : normalSkills) { + if (player.getSkillLevel(holder.getSkillId()) >= holder.getSkillLevel()) + { + continue; + } + final Skill skill = holder.getSkill(); if (skill != null) { if (skill.isPassive() && !skill.checkConditions(SkillConditionScope.PASSIVE, player, player)) { - return; + continue; } player.addSkill(skill, false); @@ -545,6 +555,11 @@ public abstract class Inventory extends ItemContainer for (ItemSkillHolder holder : otherEnchantSkills) { + if (player.getSkillLevel(holder.getSkillId()) >= holder.getSkillLevel()) + { + continue; + } + // Add skills bestowed from +4 armor if (equipped.getEnchantLevel() >= holder.getValue()) { @@ -552,7 +567,7 @@ public abstract class Inventory extends ItemContainer // Check passive skill conditions. if (skill.isPassive() && !skill.checkConditions(SkillConditionScope.PASSIVE, player, player)) { - return; + continue; } player.addSkill(skill, false); update = true; @@ -632,6 +647,11 @@ public abstract class Inventory extends ItemContainer boolean update = false; for (ArmorsetSkillHolder holder : armorSet.getSkills()) { + if (player.getSkillLevel(holder.getSkillId()) >= holder.getSkillLevel()) + { + continue; + } + if (holder.validateConditions(player, armorSet, idProvider)) { final Skill itemSkill = holder.getSkill(); 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 36609833f0..3a2cd988a9 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 @@ -393,7 +393,7 @@ public abstract class Inventory extends ItemContainer { if (player.getSkillLevel(holder.getSkillId()) != 0) { - return; + continue; } final Skill skill = holder.getSkill(); @@ -503,6 +503,11 @@ public abstract class Inventory extends ItemContainer { for (ItemSkillHolder holder : onEnchantSkills) { + if (player.getSkillLevel(holder.getSkillId()) >= holder.getSkillLevel()) + { + continue; + } + // Add skills bestowed from +4 armor if (item.getEnchantLevel() >= holder.getValue()) { @@ -510,7 +515,7 @@ public abstract class Inventory extends ItemContainer // Check passive skill conditions. if (skill.isPassive() && !skill.checkConditions(SkillConditionScope.PASSIVE, player, player)) { - return; + continue; } player.addSkill(skill, false); update = true; @@ -529,12 +534,17 @@ public abstract class Inventory extends ItemContainer { for (ItemSkillHolder holder : normalSkills) { + if (player.getSkillLevel(holder.getSkillId()) >= holder.getSkillLevel()) + { + continue; + } + final Skill skill = holder.getSkill(); if (skill != null) { if (skill.isPassive() && !skill.checkConditions(SkillConditionScope.PASSIVE, player, player)) { - return; + continue; } player.addSkill(skill, false); @@ -568,6 +578,11 @@ public abstract class Inventory extends ItemContainer for (ItemSkillHolder holder : otherEnchantSkills) { + if (player.getSkillLevel(holder.getSkillId()) >= holder.getSkillLevel()) + { + continue; + } + // Add skills bestowed from +4 armor if (equipped.getEnchantLevel() >= holder.getValue()) { @@ -575,7 +590,7 @@ public abstract class Inventory extends ItemContainer // Check passive skill conditions. if (skill.isPassive() && !skill.checkConditions(SkillConditionScope.PASSIVE, player, player)) { - return; + continue; } player.addSkill(skill, false); update = true; @@ -655,6 +670,11 @@ public abstract class Inventory extends ItemContainer boolean update = false; for (ArmorsetSkillHolder holder : armorSet.getSkills()) { + if (player.getSkillLevel(holder.getSkillId()) >= holder.getSkillLevel()) + { + continue; + } + if (holder.validateConditions(player, armorSet, idProvider)) { final Skill itemSkill = holder.getSkill(); 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 36609833f0..3a2cd988a9 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 @@ -393,7 +393,7 @@ public abstract class Inventory extends ItemContainer { if (player.getSkillLevel(holder.getSkillId()) != 0) { - return; + continue; } final Skill skill = holder.getSkill(); @@ -503,6 +503,11 @@ public abstract class Inventory extends ItemContainer { for (ItemSkillHolder holder : onEnchantSkills) { + if (player.getSkillLevel(holder.getSkillId()) >= holder.getSkillLevel()) + { + continue; + } + // Add skills bestowed from +4 armor if (item.getEnchantLevel() >= holder.getValue()) { @@ -510,7 +515,7 @@ public abstract class Inventory extends ItemContainer // Check passive skill conditions. if (skill.isPassive() && !skill.checkConditions(SkillConditionScope.PASSIVE, player, player)) { - return; + continue; } player.addSkill(skill, false); update = true; @@ -529,12 +534,17 @@ public abstract class Inventory extends ItemContainer { for (ItemSkillHolder holder : normalSkills) { + if (player.getSkillLevel(holder.getSkillId()) >= holder.getSkillLevel()) + { + continue; + } + final Skill skill = holder.getSkill(); if (skill != null) { if (skill.isPassive() && !skill.checkConditions(SkillConditionScope.PASSIVE, player, player)) { - return; + continue; } player.addSkill(skill, false); @@ -568,6 +578,11 @@ public abstract class Inventory extends ItemContainer for (ItemSkillHolder holder : otherEnchantSkills) { + if (player.getSkillLevel(holder.getSkillId()) >= holder.getSkillLevel()) + { + continue; + } + // Add skills bestowed from +4 armor if (equipped.getEnchantLevel() >= holder.getValue()) { @@ -575,7 +590,7 @@ public abstract class Inventory extends ItemContainer // Check passive skill conditions. if (skill.isPassive() && !skill.checkConditions(SkillConditionScope.PASSIVE, player, player)) { - return; + continue; } player.addSkill(skill, false); update = true; @@ -655,6 +670,11 @@ public abstract class Inventory extends ItemContainer boolean update = false; for (ArmorsetSkillHolder holder : armorSet.getSkills()) { + if (player.getSkillLevel(holder.getSkillId()) >= holder.getSkillLevel()) + { + continue; + } + if (holder.validateConditions(player, armorSet, idProvider)) { final Skill itemSkill = holder.getSkill(); 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 0789154de5..fe6840aca3 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 @@ -393,7 +393,7 @@ public abstract class Inventory extends ItemContainer { if (player.getSkillLevel(holder.getSkillId()) != 0) { - return; + continue; } final Skill skill = holder.getSkill(); @@ -496,6 +496,11 @@ public abstract class Inventory extends ItemContainer { for (ItemSkillHolder holder : onEnchantSkills) { + if (player.getSkillLevel(holder.getSkillId()) >= holder.getSkillLevel()) + { + continue; + } + // Add skills bestowed from +4 armor if (item.getEnchantLevel() >= holder.getValue()) { @@ -503,7 +508,7 @@ public abstract class Inventory extends ItemContainer // Check passive skill conditions. if (skill.isPassive() && !skill.checkConditions(SkillConditionScope.PASSIVE, player, player)) { - return; + continue; } player.addSkill(skill, false); update = true; @@ -522,12 +527,17 @@ public abstract class Inventory extends ItemContainer { for (ItemSkillHolder holder : normalSkills) { + if (player.getSkillLevel(holder.getSkillId()) >= holder.getSkillLevel()) + { + continue; + } + final Skill skill = holder.getSkill(); if (skill != null) { if (skill.isPassive() && !skill.checkConditions(SkillConditionScope.PASSIVE, player, player)) { - return; + continue; } player.addSkill(skill, false); @@ -561,6 +571,11 @@ public abstract class Inventory extends ItemContainer for (ItemSkillHolder holder : otherEnchantSkills) { + if (player.getSkillLevel(holder.getSkillId()) >= holder.getSkillLevel()) + { + continue; + } + // Add skills bestowed from +4 armor if (equipped.getEnchantLevel() >= holder.getValue()) { @@ -568,7 +583,7 @@ public abstract class Inventory extends ItemContainer // Check passive skill conditions. if (skill.isPassive() && !skill.checkConditions(SkillConditionScope.PASSIVE, player, player)) { - return; + continue; } player.addSkill(skill, false); update = true; @@ -648,6 +663,11 @@ public abstract class Inventory extends ItemContainer boolean update = false; for (ArmorsetSkillHolder holder : armorSet.getSkills()) { + if (player.getSkillLevel(holder.getSkillId()) >= holder.getSkillLevel()) + { + continue; + } + if (holder.validateConditions(player, armorSet, idProvider)) { final Skill itemSkill = holder.getSkill(); 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 28249b4e90..ee15fbb8d3 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 @@ -365,7 +365,7 @@ public abstract class Inventory extends ItemContainer { if (player.getSkillLevel(holder.getSkillId()) != 0) { - return; + continue; } final Skill skill = holder.getSkill(); @@ -475,6 +475,11 @@ public abstract class Inventory extends ItemContainer { for (ItemSkillHolder holder : onEnchantSkills) { + if (player.getSkillLevel(holder.getSkillId()) >= holder.getSkillLevel()) + { + continue; + } + // Add skills bestowed from +4 armor if (item.getEnchantLevel() >= holder.getValue()) { @@ -482,7 +487,7 @@ public abstract class Inventory extends ItemContainer // Check passive skill conditions. if (skill.isPassive() && !skill.checkConditions(SkillConditionScope.PASSIVE, player, player)) { - return; + continue; } player.addSkill(skill, false); update = true; @@ -501,12 +506,17 @@ public abstract class Inventory extends ItemContainer { for (ItemSkillHolder holder : normalSkills) { + if (player.getSkillLevel(holder.getSkillId()) >= holder.getSkillLevel()) + { + continue; + } + final Skill skill = holder.getSkill(); if (skill != null) { if (skill.isPassive() && !skill.checkConditions(SkillConditionScope.PASSIVE, player, player)) { - return; + continue; } player.addSkill(skill, false); @@ -540,6 +550,11 @@ public abstract class Inventory extends ItemContainer for (ItemSkillHolder holder : otherEnchantSkills) { + if (player.getSkillLevel(holder.getSkillId()) >= holder.getSkillLevel()) + { + continue; + } + // Add skills bestowed from +4 armor if (equipped.getEnchantLevel() >= holder.getValue()) { @@ -547,7 +562,7 @@ public abstract class Inventory extends ItemContainer // Check passive skill conditions. if (skill.isPassive() && !skill.checkConditions(SkillConditionScope.PASSIVE, player, player)) { - return; + continue; } player.addSkill(skill, false); update = true; @@ -627,6 +642,11 @@ public abstract class Inventory extends ItemContainer boolean update = false; for (ArmorsetSkillHolder holder : armorSet.getSkills()) { + if (player.getSkillLevel(holder.getSkillId()) >= holder.getSkillLevel()) + { + continue; + } + if (holder.validateConditions(player, armorSet, idProvider)) { final Skill itemSkill = holder.getSkill(); 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 28249b4e90..ee15fbb8d3 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 @@ -365,7 +365,7 @@ public abstract class Inventory extends ItemContainer { if (player.getSkillLevel(holder.getSkillId()) != 0) { - return; + continue; } final Skill skill = holder.getSkill(); @@ -475,6 +475,11 @@ public abstract class Inventory extends ItemContainer { for (ItemSkillHolder holder : onEnchantSkills) { + if (player.getSkillLevel(holder.getSkillId()) >= holder.getSkillLevel()) + { + continue; + } + // Add skills bestowed from +4 armor if (item.getEnchantLevel() >= holder.getValue()) { @@ -482,7 +487,7 @@ public abstract class Inventory extends ItemContainer // Check passive skill conditions. if (skill.isPassive() && !skill.checkConditions(SkillConditionScope.PASSIVE, player, player)) { - return; + continue; } player.addSkill(skill, false); update = true; @@ -501,12 +506,17 @@ public abstract class Inventory extends ItemContainer { for (ItemSkillHolder holder : normalSkills) { + if (player.getSkillLevel(holder.getSkillId()) >= holder.getSkillLevel()) + { + continue; + } + final Skill skill = holder.getSkill(); if (skill != null) { if (skill.isPassive() && !skill.checkConditions(SkillConditionScope.PASSIVE, player, player)) { - return; + continue; } player.addSkill(skill, false); @@ -540,6 +550,11 @@ public abstract class Inventory extends ItemContainer for (ItemSkillHolder holder : otherEnchantSkills) { + if (player.getSkillLevel(holder.getSkillId()) >= holder.getSkillLevel()) + { + continue; + } + // Add skills bestowed from +4 armor if (equipped.getEnchantLevel() >= holder.getValue()) { @@ -547,7 +562,7 @@ public abstract class Inventory extends ItemContainer // Check passive skill conditions. if (skill.isPassive() && !skill.checkConditions(SkillConditionScope.PASSIVE, player, player)) { - return; + continue; } player.addSkill(skill, false); update = true; @@ -627,6 +642,11 @@ public abstract class Inventory extends ItemContainer boolean update = false; for (ArmorsetSkillHolder holder : armorSet.getSkills()) { + if (player.getSkillLevel(holder.getSkillId()) >= holder.getSkillLevel()) + { + continue; + } + if (holder.validateConditions(player, armorSet, idProvider)) { final Skill itemSkill = holder.getSkill(); 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 408031251a..8407d738a4 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 @@ -370,7 +370,7 @@ public abstract class Inventory extends ItemContainer { if (player.getSkillLevel(holder.getSkillId()) != 0) { - return; + continue; } final Skill skill = holder.getSkill(); @@ -480,6 +480,11 @@ public abstract class Inventory extends ItemContainer { for (ItemSkillHolder holder : onEnchantSkills) { + if (player.getSkillLevel(holder.getSkillId()) >= holder.getSkillLevel()) + { + continue; + } + // Add skills bestowed from +4 armor if (item.getEnchantLevel() >= holder.getValue()) { @@ -487,7 +492,7 @@ public abstract class Inventory extends ItemContainer // Check passive skill conditions. if (skill.isPassive() && !skill.checkConditions(SkillConditionScope.PASSIVE, player, player)) { - return; + continue; } player.addSkill(skill, false); update = true; @@ -506,12 +511,17 @@ public abstract class Inventory extends ItemContainer { for (ItemSkillHolder holder : normalSkills) { + if (player.getSkillLevel(holder.getSkillId()) >= holder.getSkillLevel()) + { + continue; + } + final Skill skill = holder.getSkill(); if (skill != null) { if (skill.isPassive() && !skill.checkConditions(SkillConditionScope.PASSIVE, player, player)) { - return; + continue; } player.addSkill(skill, false); @@ -545,6 +555,11 @@ public abstract class Inventory extends ItemContainer for (ItemSkillHolder holder : otherEnchantSkills) { + if (player.getSkillLevel(holder.getSkillId()) >= holder.getSkillLevel()) + { + continue; + } + // Add skills bestowed from +4 armor if (equipped.getEnchantLevel() >= holder.getValue()) { @@ -552,7 +567,7 @@ public abstract class Inventory extends ItemContainer // Check passive skill conditions. if (skill.isPassive() && !skill.checkConditions(SkillConditionScope.PASSIVE, player, player)) { - return; + continue; } player.addSkill(skill, false); update = true; @@ -632,6 +647,11 @@ public abstract class Inventory extends ItemContainer boolean update = false; for (ArmorsetSkillHolder holder : armorSet.getSkills()) { + if (player.getSkillLevel(holder.getSkillId()) >= holder.getSkillLevel()) + { + continue; + } + if (holder.validateConditions(player, armorSet, idProvider)) { final Skill itemSkill = holder.getSkill(); 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 2cbefcf301..256e2b09af 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 @@ -393,7 +393,7 @@ public abstract class Inventory extends ItemContainer { if (player.getSkillLevel(holder.getSkillId()) != 0) { - return; + continue; } final Skill skill = holder.getSkill(); @@ -503,6 +503,11 @@ public abstract class Inventory extends ItemContainer { for (ItemSkillHolder holder : onEnchantSkills) { + if (player.getSkillLevel(holder.getSkillId()) >= holder.getSkillLevel()) + { + continue; + } + // Add skills bestowed from +4 armor if (item.getEnchantLevel() >= holder.getValue()) { @@ -510,7 +515,7 @@ public abstract class Inventory extends ItemContainer // Check passive skill conditions. if (skill.isPassive() && !skill.checkConditions(SkillConditionScope.PASSIVE, player, player)) { - return; + continue; } player.addSkill(skill, false); update = true; @@ -529,12 +534,17 @@ public abstract class Inventory extends ItemContainer { for (ItemSkillHolder holder : normalSkills) { + if (player.getSkillLevel(holder.getSkillId()) >= holder.getSkillLevel()) + { + continue; + } + final Skill skill = holder.getSkill(); if (skill != null) { if (skill.isPassive() && !skill.checkConditions(SkillConditionScope.PASSIVE, player, player)) { - return; + continue; } player.addSkill(skill, false); @@ -568,6 +578,11 @@ public abstract class Inventory extends ItemContainer for (ItemSkillHolder holder : otherEnchantSkills) { + if (player.getSkillLevel(holder.getSkillId()) >= holder.getSkillLevel()) + { + continue; + } + // Add skills bestowed from +4 armor if (equipped.getEnchantLevel() >= holder.getValue()) { @@ -575,7 +590,7 @@ public abstract class Inventory extends ItemContainer // Check passive skill conditions. if (skill.isPassive() && !skill.checkConditions(SkillConditionScope.PASSIVE, player, player)) { - return; + continue; } player.addSkill(skill, false); update = true; @@ -655,6 +670,11 @@ public abstract class Inventory extends ItemContainer boolean update = false; for (ArmorsetSkillHolder holder : armorSet.getSkills()) { + if (player.getSkillLevel(holder.getSkillId()) >= holder.getSkillLevel()) + { + continue; + } + if (holder.validateConditions(player, armorSet, idProvider)) { final Skill itemSkill = holder.getSkill(); 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 2cbefcf301..256e2b09af 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 @@ -393,7 +393,7 @@ public abstract class Inventory extends ItemContainer { if (player.getSkillLevel(holder.getSkillId()) != 0) { - return; + continue; } final Skill skill = holder.getSkill(); @@ -503,6 +503,11 @@ public abstract class Inventory extends ItemContainer { for (ItemSkillHolder holder : onEnchantSkills) { + if (player.getSkillLevel(holder.getSkillId()) >= holder.getSkillLevel()) + { + continue; + } + // Add skills bestowed from +4 armor if (item.getEnchantLevel() >= holder.getValue()) { @@ -510,7 +515,7 @@ public abstract class Inventory extends ItemContainer // Check passive skill conditions. if (skill.isPassive() && !skill.checkConditions(SkillConditionScope.PASSIVE, player, player)) { - return; + continue; } player.addSkill(skill, false); update = true; @@ -529,12 +534,17 @@ public abstract class Inventory extends ItemContainer { for (ItemSkillHolder holder : normalSkills) { + if (player.getSkillLevel(holder.getSkillId()) >= holder.getSkillLevel()) + { + continue; + } + final Skill skill = holder.getSkill(); if (skill != null) { if (skill.isPassive() && !skill.checkConditions(SkillConditionScope.PASSIVE, player, player)) { - return; + continue; } player.addSkill(skill, false); @@ -568,6 +578,11 @@ public abstract class Inventory extends ItemContainer for (ItemSkillHolder holder : otherEnchantSkills) { + if (player.getSkillLevel(holder.getSkillId()) >= holder.getSkillLevel()) + { + continue; + } + // Add skills bestowed from +4 armor if (equipped.getEnchantLevel() >= holder.getValue()) { @@ -575,7 +590,7 @@ public abstract class Inventory extends ItemContainer // Check passive skill conditions. if (skill.isPassive() && !skill.checkConditions(SkillConditionScope.PASSIVE, player, player)) { - return; + continue; } player.addSkill(skill, false); update = true; @@ -655,6 +670,11 @@ public abstract class Inventory extends ItemContainer boolean update = false; for (ArmorsetSkillHolder holder : armorSet.getSkills()) { + if (player.getSkillLevel(holder.getSkillId()) >= holder.getSkillLevel()) + { + continue; + } + if (holder.validateConditions(player, armorSet, idProvider)) { final Skill itemSkill = holder.getSkill(); 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 b1f72168e8..0762b73302 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 @@ -393,7 +393,7 @@ public abstract class Inventory extends ItemContainer { if (player.getSkillLevel(holder.getSkillId()) != 0) { - return; + continue; } final Skill skill = holder.getSkill(); @@ -496,6 +496,11 @@ public abstract class Inventory extends ItemContainer { for (ItemSkillHolder holder : onEnchantSkills) { + if (player.getSkillLevel(holder.getSkillId()) >= holder.getSkillLevel()) + { + continue; + } + // Add skills bestowed from +4 armor if (item.getEnchantLevel() >= holder.getValue()) { @@ -503,7 +508,7 @@ public abstract class Inventory extends ItemContainer // Check passive skill conditions. if (skill.isPassive() && !skill.checkConditions(SkillConditionScope.PASSIVE, player, player)) { - return; + continue; } player.addSkill(skill, false); update = true; @@ -522,12 +527,17 @@ public abstract class Inventory extends ItemContainer { for (ItemSkillHolder holder : normalSkills) { + if (player.getSkillLevel(holder.getSkillId()) >= holder.getSkillLevel()) + { + continue; + } + final Skill skill = holder.getSkill(); if (skill != null) { if (skill.isPassive() && !skill.checkConditions(SkillConditionScope.PASSIVE, player, player)) { - return; + continue; } player.addSkill(skill, false); @@ -561,6 +571,11 @@ public abstract class Inventory extends ItemContainer for (ItemSkillHolder holder : otherEnchantSkills) { + if (player.getSkillLevel(holder.getSkillId()) >= holder.getSkillLevel()) + { + continue; + } + // Add skills bestowed from +4 armor if (equipped.getEnchantLevel() >= holder.getValue()) { @@ -568,7 +583,7 @@ public abstract class Inventory extends ItemContainer // Check passive skill conditions. if (skill.isPassive() && !skill.checkConditions(SkillConditionScope.PASSIVE, player, player)) { - return; + continue; } player.addSkill(skill, false); update = true; @@ -648,6 +663,11 @@ public abstract class Inventory extends ItemContainer boolean update = false; for (ArmorsetSkillHolder holder : armorSet.getSkills()) { + if (player.getSkillLevel(holder.getSkillId()) >= holder.getSkillLevel()) + { + continue; + } + if (holder.validateConditions(player, armorSet, idProvider)) { final Skill itemSkill = holder.getSkill(); 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 28249b4e90..ee15fbb8d3 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 @@ -365,7 +365,7 @@ public abstract class Inventory extends ItemContainer { if (player.getSkillLevel(holder.getSkillId()) != 0) { - return; + continue; } final Skill skill = holder.getSkill(); @@ -475,6 +475,11 @@ public abstract class Inventory extends ItemContainer { for (ItemSkillHolder holder : onEnchantSkills) { + if (player.getSkillLevel(holder.getSkillId()) >= holder.getSkillLevel()) + { + continue; + } + // Add skills bestowed from +4 armor if (item.getEnchantLevel() >= holder.getValue()) { @@ -482,7 +487,7 @@ public abstract class Inventory extends ItemContainer // Check passive skill conditions. if (skill.isPassive() && !skill.checkConditions(SkillConditionScope.PASSIVE, player, player)) { - return; + continue; } player.addSkill(skill, false); update = true; @@ -501,12 +506,17 @@ public abstract class Inventory extends ItemContainer { for (ItemSkillHolder holder : normalSkills) { + if (player.getSkillLevel(holder.getSkillId()) >= holder.getSkillLevel()) + { + continue; + } + final Skill skill = holder.getSkill(); if (skill != null) { if (skill.isPassive() && !skill.checkConditions(SkillConditionScope.PASSIVE, player, player)) { - return; + continue; } player.addSkill(skill, false); @@ -540,6 +550,11 @@ public abstract class Inventory extends ItemContainer for (ItemSkillHolder holder : otherEnchantSkills) { + if (player.getSkillLevel(holder.getSkillId()) >= holder.getSkillLevel()) + { + continue; + } + // Add skills bestowed from +4 armor if (equipped.getEnchantLevel() >= holder.getValue()) { @@ -547,7 +562,7 @@ public abstract class Inventory extends ItemContainer // Check passive skill conditions. if (skill.isPassive() && !skill.checkConditions(SkillConditionScope.PASSIVE, player, player)) { - return; + continue; } player.addSkill(skill, false); update = true; @@ -627,6 +642,11 @@ public abstract class Inventory extends ItemContainer boolean update = false; for (ArmorsetSkillHolder holder : armorSet.getSkills()) { + if (player.getSkillLevel(holder.getSkillId()) >= holder.getSkillLevel()) + { + continue; + } + if (holder.validateConditions(player, armorSet, idProvider)) { final Skill itemSkill = holder.getSkill();