Prevent addition of existing skills on item equip.
This commit is contained in:
@@ -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();
|
||||
|
Reference in New Issue
Block a user