Inventory skill manipulation cleanup.

This commit is contained in:
MobiusDevelopment
2021-04-23 03:36:44 +00:00
parent 4585b1ce1c
commit 4df5d6ced6
19 changed files with 2481 additions and 2445 deletions

View File

@@ -322,20 +322,15 @@ public abstract class Inventory extends ItemContainer
{ {
for (ItemSkillHolder holder : onEnchantSkills) for (ItemSkillHolder holder : onEnchantSkills)
{ {
// Remove skills bestowed from +4 armor if (item.getEnchantLevel() < holder.getValue())
if (item.getEnchantLevel() >= holder.getValue())
{ {
if (removedSkills.containsKey(holder.getSkill().getId())) continue;
{ }
if (removedSkills.get(holder.getSkill().getId()).getLevel() < holder.getSkill().getLevel())
{ final Skill skill = holder.getSkill();
removedSkills.put(holder.getSkill().getId(), holder.getSkill()); if (skill != null)
} {
} removedSkills.putIfAbsent(skill.getId(), skill);
else
{
removedSkills.put(holder.getSkill().getId(), holder.getSkill());
}
update = true; update = true;
} }
} }
@@ -349,17 +344,7 @@ public abstract class Inventory extends ItemContainer
final Skill skill = holder.getSkill(); final Skill skill = holder.getSkill();
if (skill != null) if (skill != null)
{ {
if (removedSkills.containsKey(holder.getSkill().getId())) removedSkills.putIfAbsent(skill.getId(), skill);
{
if (removedSkills.get(holder.getSkill().getId()).getLevel() < holder.getSkill().getLevel())
{
removedSkills.put(holder.getSkill().getId(), holder.getSkill());
}
}
else
{
removedSkills.put(holder.getSkill().getId(), holder.getSkill());
}
update = true; update = true;
} }
} }
@@ -388,32 +373,35 @@ public abstract class Inventory extends ItemContainer
} }
final Skill skill = holder.getSkill(); final Skill skill = holder.getSkill();
if (skill != null) if (skill == null)
{ {
if (addedSkills.containsKey(holder.getSkill().getId())) continue;
{
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;
} }
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) 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(); continue;
// Check passive skill conditions. }
if (skill.isPassive() && !skill.checkConditions(SkillConditionScope.PASSIVE, player, player))
{ final Skill skill = holder.getSkill();
if (removedSkills.containsKey(holder.getSkill().getId())) if (skill == null)
{ {
if (removedSkills.get(holder.getSkill().getId()).getLevel() < holder.getSkill().getLevel()) continue;
{ }
removedSkills.put(holder.getSkill().getId(), holder.getSkill());
} // Check passive skill conditions.
} if (skill.isPassive() && !skill.checkConditions(SkillConditionScope.PASSIVE, player, player))
else {
{ removedSkills.putIfAbsent(skill.getId(), skill);
removedSkills.put(holder.getSkill().getId(), holder.getSkill()); update = true;
}
update = true;
}
} }
} }
} }
@@ -541,28 +525,35 @@ public abstract class Inventory extends ItemContainer
continue; continue;
} }
// Add skills bestowed from +4 armor if (item.getEnchantLevel() < holder.getValue())
if (item.getEnchantLevel() >= holder.getValue())
{ {
final Skill skill = holder.getSkill(); continue;
// Check passive skill conditions. }
if (skill.isPassive() && !skill.checkConditions(SkillConditionScope.PASSIVE, player, player))
{
continue;
}
if (addedSkills.containsKey(holder.getSkill().getId())) 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())
{ {
if (addedSkills.get(holder.getSkill().getId()).getLevel() < holder.getSkill().getLevel()) addedSkills.put(skill.getId(), skill);
{
addedSkills.put(holder.getSkill().getId(), holder.getSkill());
}
}
else
{
addedSkills.put(holder.getSkill().getId(), holder.getSkill());
} }
} }
else
{
addedSkills.put(skill.getId(), skill);
}
} }
} }
@@ -577,36 +568,40 @@ public abstract class Inventory extends ItemContainer
} }
final Skill skill = holder.getSkill(); final Skill skill = holder.getSkill();
if (skill != null) if (skill == null)
{ {
if (skill.isPassive() && !skill.checkConditions(SkillConditionScope.PASSIVE, player, player)) continue;
{ }
continue;
}
if (addedSkills.containsKey(holder.getSkill().getId())) // Check passive skill conditions.
{ if (skill.isPassive() && !skill.checkConditions(SkillConditionScope.PASSIVE, player, player))
if (addedSkills.get(holder.getSkill().getId()).getLevel() < holder.getSkill().getLevel()) {
{ continue;
addedSkills.put(holder.getSkill().getId(), holder.getSkill()); }
}
}
else
{
addedSkills.put(holder.getSkill().getId(), holder.getSkill());
}
if (skill.isActive() && !player.hasSkillReuse(skill.getReuseHashCode())) final Skill existingSkill = addedSkills.get(skill.getId());
if (existingSkill != null)
{
if (existingSkill.getLevel() < skill.getLevel())
{ {
final int equipDelay = item.getEquipReuseDelay(); addedSkills.put(skill.getId(), skill);
if (equipDelay > 0)
{
player.addTimeStamp(skill, equipDelay);
player.disableSkill(skill, equipDelay);
}
updateTimestamp = true;
} }
} }
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;
}
} }
} }
} }
@@ -632,28 +627,35 @@ public abstract class Inventory extends ItemContainer
continue; continue;
} }
// Add skills bestowed from +4 armor if (equipped.getEnchantLevel() < holder.getValue())
if (equipped.getEnchantLevel() >= holder.getValue())
{ {
final Skill skill = holder.getSkill(); continue;
// Check passive skill conditions. }
if (skill.isPassive() && !skill.checkConditions(SkillConditionScope.PASSIVE, player, player))
{
continue;
}
if (addedSkills.containsKey(holder.getSkill().getId())) 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())
{ {
if (addedSkills.get(holder.getSkill().getId()).getLevel() < holder.getSkill().getLevel()) addedSkills.put(skill.getId(), skill);
{
addedSkills.put(holder.getSkill().getId(), holder.getSkill());
}
}
else
{
addedSkills.put(holder.getSkill().getId(), holder.getSkill());
} }
} }
else
{
addedSkills.put(skill.getId(), skill);
}
} }
} }

View File

@@ -325,20 +325,15 @@ public abstract class Inventory extends ItemContainer
{ {
for (ItemSkillHolder holder : onEnchantSkills) for (ItemSkillHolder holder : onEnchantSkills)
{ {
// Remove skills bestowed from +4 armor if (item.getEnchantLevel() < holder.getValue())
if (item.getEnchantLevel() >= holder.getValue())
{ {
if (removedSkills.containsKey(holder.getSkill().getId())) continue;
{ }
if (removedSkills.get(holder.getSkill().getId()).getLevel() < holder.getSkill().getLevel())
{ final Skill skill = holder.getSkill();
removedSkills.put(holder.getSkill().getId(), holder.getSkill()); if (skill != null)
} {
} removedSkills.putIfAbsent(skill.getId(), skill);
else
{
removedSkills.put(holder.getSkill().getId(), holder.getSkill());
}
update = true; update = true;
} }
} }
@@ -352,17 +347,7 @@ public abstract class Inventory extends ItemContainer
final Skill skill = holder.getSkill(); final Skill skill = holder.getSkill();
if (skill != null) if (skill != null)
{ {
if (removedSkills.containsKey(holder.getSkill().getId())) removedSkills.putIfAbsent(skill.getId(), skill);
{
if (removedSkills.get(holder.getSkill().getId()).getLevel() < holder.getSkill().getLevel())
{
removedSkills.put(holder.getSkill().getId(), holder.getSkill());
}
}
else
{
removedSkills.put(holder.getSkill().getId(), holder.getSkill());
}
update = true; update = true;
} }
} }
@@ -391,32 +376,35 @@ public abstract class Inventory extends ItemContainer
} }
final Skill skill = holder.getSkill(); final Skill skill = holder.getSkill();
if (skill != null) if (skill == null)
{ {
if (addedSkills.containsKey(holder.getSkill().getId())) continue;
{
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;
} }
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) 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(); continue;
// Check passive skill conditions. }
if (skill.isPassive() && !skill.checkConditions(SkillConditionScope.PASSIVE, player, player))
{ final Skill skill = holder.getSkill();
if (removedSkills.containsKey(holder.getSkill().getId())) if (skill == null)
{ {
if (removedSkills.get(holder.getSkill().getId()).getLevel() < holder.getSkill().getLevel()) continue;
{ }
removedSkills.put(holder.getSkill().getId(), holder.getSkill());
} // Check passive skill conditions.
} if (skill.isPassive() && !skill.checkConditions(SkillConditionScope.PASSIVE, player, player))
else {
{ removedSkills.putIfAbsent(skill.getId(), skill);
removedSkills.put(holder.getSkill().getId(), holder.getSkill()); update = true;
}
update = true;
}
} }
} }
} }
@@ -547,28 +531,35 @@ public abstract class Inventory extends ItemContainer
continue; continue;
} }
// Add skills bestowed from +4 armor if (item.getEnchantLevel() < holder.getValue())
if (item.getEnchantLevel() >= holder.getValue())
{ {
final Skill skill = holder.getSkill(); continue;
// Check passive skill conditions. }
if (skill.isPassive() && !skill.checkConditions(SkillConditionScope.PASSIVE, player, player))
{
continue;
}
if (addedSkills.containsKey(holder.getSkill().getId())) 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())
{ {
if (addedSkills.get(holder.getSkill().getId()).getLevel() < holder.getSkill().getLevel()) addedSkills.put(skill.getId(), skill);
{
addedSkills.put(holder.getSkill().getId(), holder.getSkill());
}
}
else
{
addedSkills.put(holder.getSkill().getId(), holder.getSkill());
} }
} }
else
{
addedSkills.put(skill.getId(), skill);
}
} }
} }
@@ -583,36 +574,40 @@ public abstract class Inventory extends ItemContainer
} }
final Skill skill = holder.getSkill(); final Skill skill = holder.getSkill();
if (skill != null) if (skill == null)
{ {
if (skill.isPassive() && !skill.checkConditions(SkillConditionScope.PASSIVE, player, player)) continue;
{ }
continue;
}
if (addedSkills.containsKey(holder.getSkill().getId())) // Check passive skill conditions.
{ if (skill.isPassive() && !skill.checkConditions(SkillConditionScope.PASSIVE, player, player))
if (addedSkills.get(holder.getSkill().getId()).getLevel() < holder.getSkill().getLevel()) {
{ continue;
addedSkills.put(holder.getSkill().getId(), holder.getSkill()); }
}
}
else
{
addedSkills.put(holder.getSkill().getId(), holder.getSkill());
}
if (skill.isActive() && !player.hasSkillReuse(skill.getReuseHashCode())) final Skill existingSkill = addedSkills.get(skill.getId());
if (existingSkill != null)
{
if (existingSkill.getLevel() < skill.getLevel())
{ {
final int equipDelay = item.getEquipReuseDelay(); addedSkills.put(skill.getId(), skill);
if (equipDelay > 0)
{
player.addTimeStamp(skill, equipDelay);
player.disableSkill(skill, equipDelay);
}
updateTimestamp = true;
} }
} }
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;
}
} }
} }
} }
@@ -638,28 +633,35 @@ public abstract class Inventory extends ItemContainer
continue; continue;
} }
// Add skills bestowed from +4 armor if (equipped.getEnchantLevel() < holder.getValue())
if (equipped.getEnchantLevel() >= holder.getValue())
{ {
final Skill skill = holder.getSkill(); continue;
// Check passive skill conditions. }
if (skill.isPassive() && !skill.checkConditions(SkillConditionScope.PASSIVE, player, player))
{
continue;
}
if (addedSkills.containsKey(holder.getSkill().getId())) 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())
{ {
if (addedSkills.get(holder.getSkill().getId()).getLevel() < holder.getSkill().getLevel()) addedSkills.put(skill.getId(), skill);
{
addedSkills.put(holder.getSkill().getId(), holder.getSkill());
}
}
else
{
addedSkills.put(holder.getSkill().getId(), holder.getSkill());
} }
} }
else
{
addedSkills.put(skill.getId(), skill);
}
} }
} }

View File

@@ -325,20 +325,15 @@ public abstract class Inventory extends ItemContainer
{ {
for (ItemSkillHolder holder : onEnchantSkills) for (ItemSkillHolder holder : onEnchantSkills)
{ {
// Remove skills bestowed from +4 armor if (item.getEnchantLevel() < holder.getValue())
if (item.getEnchantLevel() >= holder.getValue())
{ {
if (removedSkills.containsKey(holder.getSkill().getId())) continue;
{ }
if (removedSkills.get(holder.getSkill().getId()).getLevel() < holder.getSkill().getLevel())
{ final Skill skill = holder.getSkill();
removedSkills.put(holder.getSkill().getId(), holder.getSkill()); if (skill != null)
} {
} removedSkills.putIfAbsent(skill.getId(), skill);
else
{
removedSkills.put(holder.getSkill().getId(), holder.getSkill());
}
update = true; update = true;
} }
} }
@@ -352,17 +347,7 @@ public abstract class Inventory extends ItemContainer
final Skill skill = holder.getSkill(); final Skill skill = holder.getSkill();
if (skill != null) if (skill != null)
{ {
if (removedSkills.containsKey(holder.getSkill().getId())) removedSkills.putIfAbsent(skill.getId(), skill);
{
if (removedSkills.get(holder.getSkill().getId()).getLevel() < holder.getSkill().getLevel())
{
removedSkills.put(holder.getSkill().getId(), holder.getSkill());
}
}
else
{
removedSkills.put(holder.getSkill().getId(), holder.getSkill());
}
update = true; update = true;
} }
} }
@@ -391,32 +376,35 @@ public abstract class Inventory extends ItemContainer
} }
final Skill skill = holder.getSkill(); final Skill skill = holder.getSkill();
if (skill != null) if (skill == null)
{ {
if (addedSkills.containsKey(holder.getSkill().getId())) continue;
{
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;
} }
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) 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(); continue;
// Check passive skill conditions. }
if (skill.isPassive() && !skill.checkConditions(SkillConditionScope.PASSIVE, player, player))
{ final Skill skill = holder.getSkill();
if (removedSkills.containsKey(holder.getSkill().getId())) if (skill == null)
{ {
if (removedSkills.get(holder.getSkill().getId()).getLevel() < holder.getSkill().getLevel()) continue;
{ }
removedSkills.put(holder.getSkill().getId(), holder.getSkill());
} // Check passive skill conditions.
} if (skill.isPassive() && !skill.checkConditions(SkillConditionScope.PASSIVE, player, player))
else {
{ removedSkills.putIfAbsent(skill.getId(), skill);
removedSkills.put(holder.getSkill().getId(), holder.getSkill()); update = true;
}
update = true;
}
} }
} }
} }
@@ -547,28 +531,35 @@ public abstract class Inventory extends ItemContainer
continue; continue;
} }
// Add skills bestowed from +4 armor if (item.getEnchantLevel() < holder.getValue())
if (item.getEnchantLevel() >= holder.getValue())
{ {
final Skill skill = holder.getSkill(); continue;
// Check passive skill conditions. }
if (skill.isPassive() && !skill.checkConditions(SkillConditionScope.PASSIVE, player, player))
{
continue;
}
if (addedSkills.containsKey(holder.getSkill().getId())) 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())
{ {
if (addedSkills.get(holder.getSkill().getId()).getLevel() < holder.getSkill().getLevel()) addedSkills.put(skill.getId(), skill);
{
addedSkills.put(holder.getSkill().getId(), holder.getSkill());
}
}
else
{
addedSkills.put(holder.getSkill().getId(), holder.getSkill());
} }
} }
else
{
addedSkills.put(skill.getId(), skill);
}
} }
} }
@@ -583,36 +574,40 @@ public abstract class Inventory extends ItemContainer
} }
final Skill skill = holder.getSkill(); final Skill skill = holder.getSkill();
if (skill != null) if (skill == null)
{ {
if (skill.isPassive() && !skill.checkConditions(SkillConditionScope.PASSIVE, player, player)) continue;
{ }
continue;
}
if (addedSkills.containsKey(holder.getSkill().getId())) // Check passive skill conditions.
{ if (skill.isPassive() && !skill.checkConditions(SkillConditionScope.PASSIVE, player, player))
if (addedSkills.get(holder.getSkill().getId()).getLevel() < holder.getSkill().getLevel()) {
{ continue;
addedSkills.put(holder.getSkill().getId(), holder.getSkill()); }
}
}
else
{
addedSkills.put(holder.getSkill().getId(), holder.getSkill());
}
if (skill.isActive() && !player.hasSkillReuse(skill.getReuseHashCode())) final Skill existingSkill = addedSkills.get(skill.getId());
if (existingSkill != null)
{
if (existingSkill.getLevel() < skill.getLevel())
{ {
final int equipDelay = item.getEquipReuseDelay(); addedSkills.put(skill.getId(), skill);
if (equipDelay > 0)
{
player.addTimeStamp(skill, equipDelay);
player.disableSkill(skill, equipDelay);
}
updateTimestamp = true;
} }
} }
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;
}
} }
} }
} }
@@ -638,28 +633,35 @@ public abstract class Inventory extends ItemContainer
continue; continue;
} }
// Add skills bestowed from +4 armor if (equipped.getEnchantLevel() < holder.getValue())
if (equipped.getEnchantLevel() >= holder.getValue())
{ {
final Skill skill = holder.getSkill(); continue;
// Check passive skill conditions. }
if (skill.isPassive() && !skill.checkConditions(SkillConditionScope.PASSIVE, player, player))
{
continue;
}
if (addedSkills.containsKey(holder.getSkill().getId())) 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())
{ {
if (addedSkills.get(holder.getSkill().getId()).getLevel() < holder.getSkill().getLevel()) addedSkills.put(skill.getId(), skill);
{
addedSkills.put(holder.getSkill().getId(), holder.getSkill());
}
}
else
{
addedSkills.put(holder.getSkill().getId(), holder.getSkill());
} }
} }
else
{
addedSkills.put(skill.getId(), skill);
}
} }
} }

View File

@@ -325,20 +325,15 @@ public abstract class Inventory extends ItemContainer
{ {
for (ItemSkillHolder holder : onEnchantSkills) for (ItemSkillHolder holder : onEnchantSkills)
{ {
// Remove skills bestowed from +4 armor if (item.getEnchantLevel() < holder.getValue())
if (item.getEnchantLevel() >= holder.getValue())
{ {
if (removedSkills.containsKey(holder.getSkill().getId())) continue;
{ }
if (removedSkills.get(holder.getSkill().getId()).getLevel() < holder.getSkill().getLevel())
{ final Skill skill = holder.getSkill();
removedSkills.put(holder.getSkill().getId(), holder.getSkill()); if (skill != null)
} {
} removedSkills.putIfAbsent(skill.getId(), skill);
else
{
removedSkills.put(holder.getSkill().getId(), holder.getSkill());
}
update = true; update = true;
} }
} }
@@ -352,17 +347,7 @@ public abstract class Inventory extends ItemContainer
final Skill skill = holder.getSkill(); final Skill skill = holder.getSkill();
if (skill != null) if (skill != null)
{ {
if (removedSkills.containsKey(holder.getSkill().getId())) removedSkills.putIfAbsent(skill.getId(), skill);
{
if (removedSkills.get(holder.getSkill().getId()).getLevel() < holder.getSkill().getLevel())
{
removedSkills.put(holder.getSkill().getId(), holder.getSkill());
}
}
else
{
removedSkills.put(holder.getSkill().getId(), holder.getSkill());
}
update = true; update = true;
} }
} }
@@ -391,32 +376,35 @@ public abstract class Inventory extends ItemContainer
} }
final Skill skill = holder.getSkill(); final Skill skill = holder.getSkill();
if (skill != null) if (skill == null)
{ {
if (addedSkills.containsKey(holder.getSkill().getId())) continue;
{
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;
} }
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) 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(); continue;
// Check passive skill conditions. }
if (skill.isPassive() && !skill.checkConditions(SkillConditionScope.PASSIVE, player, player))
{ final Skill skill = holder.getSkill();
if (removedSkills.containsKey(holder.getSkill().getId())) if (skill == null)
{ {
if (removedSkills.get(holder.getSkill().getId()).getLevel() < holder.getSkill().getLevel()) continue;
{ }
removedSkills.put(holder.getSkill().getId(), holder.getSkill());
} // Check passive skill conditions.
} if (skill.isPassive() && !skill.checkConditions(SkillConditionScope.PASSIVE, player, player))
else {
{ removedSkills.putIfAbsent(skill.getId(), skill);
removedSkills.put(holder.getSkill().getId(), holder.getSkill()); update = true;
}
update = true;
}
} }
} }
} }
@@ -547,28 +531,35 @@ public abstract class Inventory extends ItemContainer
continue; continue;
} }
// Add skills bestowed from +4 armor if (item.getEnchantLevel() < holder.getValue())
if (item.getEnchantLevel() >= holder.getValue())
{ {
final Skill skill = holder.getSkill(); continue;
// Check passive skill conditions. }
if (skill.isPassive() && !skill.checkConditions(SkillConditionScope.PASSIVE, player, player))
{
continue;
}
if (addedSkills.containsKey(holder.getSkill().getId())) 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())
{ {
if (addedSkills.get(holder.getSkill().getId()).getLevel() < holder.getSkill().getLevel()) addedSkills.put(skill.getId(), skill);
{
addedSkills.put(holder.getSkill().getId(), holder.getSkill());
}
}
else
{
addedSkills.put(holder.getSkill().getId(), holder.getSkill());
} }
} }
else
{
addedSkills.put(skill.getId(), skill);
}
} }
} }
@@ -583,36 +574,40 @@ public abstract class Inventory extends ItemContainer
} }
final Skill skill = holder.getSkill(); final Skill skill = holder.getSkill();
if (skill != null) if (skill == null)
{ {
if (skill.isPassive() && !skill.checkConditions(SkillConditionScope.PASSIVE, player, player)) continue;
{ }
continue;
}
if (addedSkills.containsKey(holder.getSkill().getId())) // Check passive skill conditions.
{ if (skill.isPassive() && !skill.checkConditions(SkillConditionScope.PASSIVE, player, player))
if (addedSkills.get(holder.getSkill().getId()).getLevel() < holder.getSkill().getLevel()) {
{ continue;
addedSkills.put(holder.getSkill().getId(), holder.getSkill()); }
}
}
else
{
addedSkills.put(holder.getSkill().getId(), holder.getSkill());
}
if (skill.isActive() && !player.hasSkillReuse(skill.getReuseHashCode())) final Skill existingSkill = addedSkills.get(skill.getId());
if (existingSkill != null)
{
if (existingSkill.getLevel() < skill.getLevel())
{ {
final int equipDelay = item.getEquipReuseDelay(); addedSkills.put(skill.getId(), skill);
if (equipDelay > 0)
{
player.addTimeStamp(skill, equipDelay);
player.disableSkill(skill, equipDelay);
}
updateTimestamp = true;
} }
} }
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;
}
} }
} }
} }
@@ -638,28 +633,35 @@ public abstract class Inventory extends ItemContainer
continue; continue;
} }
// Add skills bestowed from +4 armor if (equipped.getEnchantLevel() < holder.getValue())
if (equipped.getEnchantLevel() >= holder.getValue())
{ {
final Skill skill = holder.getSkill(); continue;
// Check passive skill conditions. }
if (skill.isPassive() && !skill.checkConditions(SkillConditionScope.PASSIVE, player, player))
{
continue;
}
if (addedSkills.containsKey(holder.getSkill().getId())) 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())
{ {
if (addedSkills.get(holder.getSkill().getId()).getLevel() < holder.getSkill().getLevel()) addedSkills.put(skill.getId(), skill);
{
addedSkills.put(holder.getSkill().getId(), holder.getSkill());
}
}
else
{
addedSkills.put(holder.getSkill().getId(), holder.getSkill());
} }
} }
else
{
addedSkills.put(skill.getId(), skill);
}
} }
} }

View File

@@ -333,20 +333,15 @@ public abstract class Inventory extends ItemContainer
{ {
for (ItemSkillHolder holder : onEnchantSkills) for (ItemSkillHolder holder : onEnchantSkills)
{ {
// Remove skills bestowed from +4 armor if (item.getEnchantLevel() < holder.getValue())
if (item.getEnchantLevel() >= holder.getValue())
{ {
if (removedSkills.containsKey(holder.getSkill().getId())) continue;
{ }
if (removedSkills.get(holder.getSkill().getId()).getLevel() < holder.getSkill().getLevel())
{ final Skill skill = holder.getSkill();
removedSkills.put(holder.getSkill().getId(), holder.getSkill()); if (skill != null)
} {
} removedSkills.putIfAbsent(skill.getId(), skill);
else
{
removedSkills.put(holder.getSkill().getId(), holder.getSkill());
}
update = true; update = true;
} }
} }
@@ -360,17 +355,7 @@ public abstract class Inventory extends ItemContainer
final Skill skill = holder.getSkill(); final Skill skill = holder.getSkill();
if (skill != null) if (skill != null)
{ {
if (removedSkills.containsKey(holder.getSkill().getId())) removedSkills.putIfAbsent(skill.getId(), skill);
{
if (removedSkills.get(holder.getSkill().getId()).getLevel() < holder.getSkill().getLevel())
{
removedSkills.put(holder.getSkill().getId(), holder.getSkill());
}
}
else
{
removedSkills.put(holder.getSkill().getId(), holder.getSkill());
}
update = true; update = true;
} }
} }
@@ -399,32 +384,35 @@ public abstract class Inventory extends ItemContainer
} }
final Skill skill = holder.getSkill(); final Skill skill = holder.getSkill();
if (skill != null) if (skill == null)
{ {
if (addedSkills.containsKey(holder.getSkill().getId())) continue;
{
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;
} }
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) 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(); continue;
// Check passive skill conditions. }
if (skill.isPassive() && !skill.checkConditions(SkillConditionScope.PASSIVE, player, player))
{ final Skill skill = holder.getSkill();
if (removedSkills.containsKey(holder.getSkill().getId())) if (skill == null)
{ {
if (removedSkills.get(holder.getSkill().getId()).getLevel() < holder.getSkill().getLevel()) continue;
{ }
removedSkills.put(holder.getSkill().getId(), holder.getSkill());
} // Check passive skill conditions.
} if (skill.isPassive() && !skill.checkConditions(SkillConditionScope.PASSIVE, player, player))
else {
{ removedSkills.putIfAbsent(skill.getId(), skill);
removedSkills.put(holder.getSkill().getId(), holder.getSkill()); update = true;
}
update = true;
}
} }
} }
} }
@@ -558,28 +542,35 @@ public abstract class Inventory extends ItemContainer
continue; continue;
} }
// Add skills bestowed from +4 armor if (item.getEnchantLevel() < holder.getValue())
if (item.getEnchantLevel() >= holder.getValue())
{ {
final Skill skill = holder.getSkill(); continue;
// Check passive skill conditions. }
if (skill.isPassive() && !skill.checkConditions(SkillConditionScope.PASSIVE, player, player))
{
continue;
}
if (addedSkills.containsKey(holder.getSkill().getId())) 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())
{ {
if (addedSkills.get(holder.getSkill().getId()).getLevel() < holder.getSkill().getLevel()) addedSkills.put(skill.getId(), skill);
{
addedSkills.put(holder.getSkill().getId(), holder.getSkill());
}
}
else
{
addedSkills.put(holder.getSkill().getId(), holder.getSkill());
} }
} }
else
{
addedSkills.put(skill.getId(), skill);
}
} }
} }
@@ -594,36 +585,40 @@ public abstract class Inventory extends ItemContainer
} }
final Skill skill = holder.getSkill(); final Skill skill = holder.getSkill();
if (skill != null) if (skill == null)
{ {
if (skill.isPassive() && !skill.checkConditions(SkillConditionScope.PASSIVE, player, player)) continue;
{ }
continue;
}
if (addedSkills.containsKey(holder.getSkill().getId())) // Check passive skill conditions.
{ if (skill.isPassive() && !skill.checkConditions(SkillConditionScope.PASSIVE, player, player))
if (addedSkills.get(holder.getSkill().getId()).getLevel() < holder.getSkill().getLevel()) {
{ continue;
addedSkills.put(holder.getSkill().getId(), holder.getSkill()); }
}
}
else
{
addedSkills.put(holder.getSkill().getId(), holder.getSkill());
}
if (skill.isActive() && !player.hasSkillReuse(skill.getReuseHashCode())) final Skill existingSkill = addedSkills.get(skill.getId());
if (existingSkill != null)
{
if (existingSkill.getLevel() < skill.getLevel())
{ {
final int equipDelay = item.getEquipReuseDelay(); addedSkills.put(skill.getId(), skill);
if (equipDelay > 0)
{
player.addTimeStamp(skill, equipDelay);
player.disableSkill(skill, equipDelay);
}
updateTimestamp = true;
} }
} }
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;
}
} }
} }
} }
@@ -649,28 +644,35 @@ public abstract class Inventory extends ItemContainer
continue; continue;
} }
// Add skills bestowed from +4 armor if (equipped.getEnchantLevel() < holder.getValue())
if (equipped.getEnchantLevel() >= holder.getValue())
{ {
final Skill skill = holder.getSkill(); continue;
// Check passive skill conditions. }
if (skill.isPassive() && !skill.checkConditions(SkillConditionScope.PASSIVE, player, player))
{
continue;
}
if (addedSkills.containsKey(holder.getSkill().getId())) 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())
{ {
if (addedSkills.get(holder.getSkill().getId()).getLevel() < holder.getSkill().getLevel()) addedSkills.put(skill.getId(), skill);
{
addedSkills.put(holder.getSkill().getId(), holder.getSkill());
}
}
else
{
addedSkills.put(holder.getSkill().getId(), holder.getSkill());
} }
} }
else
{
addedSkills.put(skill.getId(), skill);
}
} }
} }

View File

@@ -356,20 +356,15 @@ public abstract class Inventory extends ItemContainer
{ {
for (ItemSkillHolder holder : onEnchantSkills) for (ItemSkillHolder holder : onEnchantSkills)
{ {
// Remove skills bestowed from +4 armor if (item.getEnchantLevel() < holder.getValue())
if (item.getEnchantLevel() >= holder.getValue())
{ {
if (removedSkills.containsKey(holder.getSkill().getId())) continue;
{ }
if (removedSkills.get(holder.getSkill().getId()).getLevel() < holder.getSkill().getLevel())
{ final Skill skill = holder.getSkill();
removedSkills.put(holder.getSkill().getId(), holder.getSkill()); if (skill != null)
} {
} removedSkills.putIfAbsent(skill.getId(), skill);
else
{
removedSkills.put(holder.getSkill().getId(), holder.getSkill());
}
update = true; update = true;
} }
} }
@@ -383,17 +378,7 @@ public abstract class Inventory extends ItemContainer
final Skill skill = holder.getSkill(); final Skill skill = holder.getSkill();
if (skill != null) if (skill != null)
{ {
if (removedSkills.containsKey(holder.getSkill().getId())) removedSkills.putIfAbsent(skill.getId(), skill);
{
if (removedSkills.get(holder.getSkill().getId()).getLevel() < holder.getSkill().getLevel())
{
removedSkills.put(holder.getSkill().getId(), holder.getSkill());
}
}
else
{
removedSkills.put(holder.getSkill().getId(), holder.getSkill());
}
update = true; update = true;
} }
} }
@@ -422,32 +407,35 @@ public abstract class Inventory extends ItemContainer
} }
final Skill skill = holder.getSkill(); final Skill skill = holder.getSkill();
if (skill != null) if (skill == null)
{ {
if (addedSkills.containsKey(holder.getSkill().getId())) continue;
{
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;
} }
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) 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(); continue;
// Check passive skill conditions. }
if (skill.isPassive() && !skill.checkConditions(SkillConditionScope.PASSIVE, player, player))
{ final Skill skill = holder.getSkill();
if (removedSkills.containsKey(holder.getSkill().getId())) if (skill == null)
{ {
if (removedSkills.get(holder.getSkill().getId()).getLevel() < holder.getSkill().getLevel()) continue;
{ }
removedSkills.put(holder.getSkill().getId(), holder.getSkill());
} // Check passive skill conditions.
} if (skill.isPassive() && !skill.checkConditions(SkillConditionScope.PASSIVE, player, player))
else {
{ removedSkills.putIfAbsent(skill.getId(), skill);
removedSkills.put(holder.getSkill().getId(), holder.getSkill()); update = true;
}
update = true;
}
} }
} }
} }
@@ -581,28 +565,35 @@ public abstract class Inventory extends ItemContainer
continue; continue;
} }
// Add skills bestowed from +4 armor if (item.getEnchantLevel() < holder.getValue())
if (item.getEnchantLevel() >= holder.getValue())
{ {
final Skill skill = holder.getSkill(); continue;
// Check passive skill conditions. }
if (skill.isPassive() && !skill.checkConditions(SkillConditionScope.PASSIVE, player, player))
{
continue;
}
if (addedSkills.containsKey(holder.getSkill().getId())) 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())
{ {
if (addedSkills.get(holder.getSkill().getId()).getLevel() < holder.getSkill().getLevel()) addedSkills.put(skill.getId(), skill);
{
addedSkills.put(holder.getSkill().getId(), holder.getSkill());
}
}
else
{
addedSkills.put(holder.getSkill().getId(), holder.getSkill());
} }
} }
else
{
addedSkills.put(skill.getId(), skill);
}
} }
} }
@@ -617,36 +608,40 @@ public abstract class Inventory extends ItemContainer
} }
final Skill skill = holder.getSkill(); final Skill skill = holder.getSkill();
if (skill != null) if (skill == null)
{ {
if (skill.isPassive() && !skill.checkConditions(SkillConditionScope.PASSIVE, player, player)) continue;
{ }
continue;
}
if (addedSkills.containsKey(holder.getSkill().getId())) // Check passive skill conditions.
{ if (skill.isPassive() && !skill.checkConditions(SkillConditionScope.PASSIVE, player, player))
if (addedSkills.get(holder.getSkill().getId()).getLevel() < holder.getSkill().getLevel()) {
{ continue;
addedSkills.put(holder.getSkill().getId(), holder.getSkill()); }
}
}
else
{
addedSkills.put(holder.getSkill().getId(), holder.getSkill());
}
if (skill.isActive() && !player.hasSkillReuse(skill.getReuseHashCode())) final Skill existingSkill = addedSkills.get(skill.getId());
if (existingSkill != null)
{
if (existingSkill.getLevel() < skill.getLevel())
{ {
final int equipDelay = item.getEquipReuseDelay(); addedSkills.put(skill.getId(), skill);
if (equipDelay > 0)
{
player.addTimeStamp(skill, equipDelay);
player.disableSkill(skill, equipDelay);
}
updateTimestamp = true;
} }
} }
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;
}
} }
} }
} }
@@ -672,28 +667,35 @@ public abstract class Inventory extends ItemContainer
continue; continue;
} }
// Add skills bestowed from +4 armor if (equipped.getEnchantLevel() < holder.getValue())
if (equipped.getEnchantLevel() >= holder.getValue())
{ {
final Skill skill = holder.getSkill(); continue;
// Check passive skill conditions. }
if (skill.isPassive() && !skill.checkConditions(SkillConditionScope.PASSIVE, player, player))
{
continue;
}
if (addedSkills.containsKey(holder.getSkill().getId())) 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())
{ {
if (addedSkills.get(holder.getSkill().getId()).getLevel() < holder.getSkill().getLevel()) addedSkills.put(skill.getId(), skill);
{
addedSkills.put(holder.getSkill().getId(), holder.getSkill());
}
}
else
{
addedSkills.put(holder.getSkill().getId(), holder.getSkill());
} }
} }
else
{
addedSkills.put(skill.getId(), skill);
}
} }
} }

View File

@@ -356,20 +356,15 @@ public abstract class Inventory extends ItemContainer
{ {
for (ItemSkillHolder holder : onEnchantSkills) for (ItemSkillHolder holder : onEnchantSkills)
{ {
// Remove skills bestowed from +4 armor if (item.getEnchantLevel() < holder.getValue())
if (item.getEnchantLevel() >= holder.getValue())
{ {
if (removedSkills.containsKey(holder.getSkill().getId())) continue;
{ }
if (removedSkills.get(holder.getSkill().getId()).getLevel() < holder.getSkill().getLevel())
{ final Skill skill = holder.getSkill();
removedSkills.put(holder.getSkill().getId(), holder.getSkill()); if (skill != null)
} {
} removedSkills.putIfAbsent(skill.getId(), skill);
else
{
removedSkills.put(holder.getSkill().getId(), holder.getSkill());
}
update = true; update = true;
} }
} }
@@ -383,17 +378,7 @@ public abstract class Inventory extends ItemContainer
final Skill skill = holder.getSkill(); final Skill skill = holder.getSkill();
if (skill != null) if (skill != null)
{ {
if (removedSkills.containsKey(holder.getSkill().getId())) removedSkills.putIfAbsent(skill.getId(), skill);
{
if (removedSkills.get(holder.getSkill().getId()).getLevel() < holder.getSkill().getLevel())
{
removedSkills.put(holder.getSkill().getId(), holder.getSkill());
}
}
else
{
removedSkills.put(holder.getSkill().getId(), holder.getSkill());
}
update = true; update = true;
} }
} }
@@ -422,32 +407,35 @@ public abstract class Inventory extends ItemContainer
} }
final Skill skill = holder.getSkill(); final Skill skill = holder.getSkill();
if (skill != null) if (skill == null)
{ {
if (addedSkills.containsKey(holder.getSkill().getId())) continue;
{
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;
} }
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) 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(); continue;
// Check passive skill conditions. }
if (skill.isPassive() && !skill.checkConditions(SkillConditionScope.PASSIVE, player, player))
{ final Skill skill = holder.getSkill();
if (removedSkills.containsKey(holder.getSkill().getId())) if (skill == null)
{ {
if (removedSkills.get(holder.getSkill().getId()).getLevel() < holder.getSkill().getLevel()) continue;
{ }
removedSkills.put(holder.getSkill().getId(), holder.getSkill());
} // Check passive skill conditions.
} if (skill.isPassive() && !skill.checkConditions(SkillConditionScope.PASSIVE, player, player))
else {
{ removedSkills.putIfAbsent(skill.getId(), skill);
removedSkills.put(holder.getSkill().getId(), holder.getSkill()); update = true;
}
update = true;
}
} }
} }
} }
@@ -581,28 +565,35 @@ public abstract class Inventory extends ItemContainer
continue; continue;
} }
// Add skills bestowed from +4 armor if (item.getEnchantLevel() < holder.getValue())
if (item.getEnchantLevel() >= holder.getValue())
{ {
final Skill skill = holder.getSkill(); continue;
// Check passive skill conditions. }
if (skill.isPassive() && !skill.checkConditions(SkillConditionScope.PASSIVE, player, player))
{
continue;
}
if (addedSkills.containsKey(holder.getSkill().getId())) 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())
{ {
if (addedSkills.get(holder.getSkill().getId()).getLevel() < holder.getSkill().getLevel()) addedSkills.put(skill.getId(), skill);
{
addedSkills.put(holder.getSkill().getId(), holder.getSkill());
}
}
else
{
addedSkills.put(holder.getSkill().getId(), holder.getSkill());
} }
} }
else
{
addedSkills.put(skill.getId(), skill);
}
} }
} }
@@ -617,36 +608,40 @@ public abstract class Inventory extends ItemContainer
} }
final Skill skill = holder.getSkill(); final Skill skill = holder.getSkill();
if (skill != null) if (skill == null)
{ {
if (skill.isPassive() && !skill.checkConditions(SkillConditionScope.PASSIVE, player, player)) continue;
{ }
continue;
}
if (addedSkills.containsKey(holder.getSkill().getId())) // Check passive skill conditions.
{ if (skill.isPassive() && !skill.checkConditions(SkillConditionScope.PASSIVE, player, player))
if (addedSkills.get(holder.getSkill().getId()).getLevel() < holder.getSkill().getLevel()) {
{ continue;
addedSkills.put(holder.getSkill().getId(), holder.getSkill()); }
}
}
else
{
addedSkills.put(holder.getSkill().getId(), holder.getSkill());
}
if (skill.isActive() && !player.hasSkillReuse(skill.getReuseHashCode())) final Skill existingSkill = addedSkills.get(skill.getId());
if (existingSkill != null)
{
if (existingSkill.getLevel() < skill.getLevel())
{ {
final int equipDelay = item.getEquipReuseDelay(); addedSkills.put(skill.getId(), skill);
if (equipDelay > 0)
{
player.addTimeStamp(skill, equipDelay);
player.disableSkill(skill, equipDelay);
}
updateTimestamp = true;
} }
} }
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;
}
} }
} }
} }
@@ -672,28 +667,35 @@ public abstract class Inventory extends ItemContainer
continue; continue;
} }
// Add skills bestowed from +4 armor if (equipped.getEnchantLevel() < holder.getValue())
if (equipped.getEnchantLevel() >= holder.getValue())
{ {
final Skill skill = holder.getSkill(); continue;
// Check passive skill conditions. }
if (skill.isPassive() && !skill.checkConditions(SkillConditionScope.PASSIVE, player, player))
{
continue;
}
if (addedSkills.containsKey(holder.getSkill().getId())) 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())
{ {
if (addedSkills.get(holder.getSkill().getId()).getLevel() < holder.getSkill().getLevel()) addedSkills.put(skill.getId(), skill);
{
addedSkills.put(holder.getSkill().getId(), holder.getSkill());
}
}
else
{
addedSkills.put(holder.getSkill().getId(), holder.getSkill());
} }
} }
else
{
addedSkills.put(skill.getId(), skill);
}
} }
} }

View File

@@ -356,20 +356,15 @@ public abstract class Inventory extends ItemContainer
{ {
for (ItemSkillHolder holder : onEnchantSkills) for (ItemSkillHolder holder : onEnchantSkills)
{ {
// Remove skills bestowed from +4 armor if (item.getEnchantLevel() < holder.getValue())
if (item.getEnchantLevel() >= holder.getValue())
{ {
if (removedSkills.containsKey(holder.getSkill().getId())) continue;
{ }
if (removedSkills.get(holder.getSkill().getId()).getLevel() < holder.getSkill().getLevel())
{ final Skill skill = holder.getSkill();
removedSkills.put(holder.getSkill().getId(), holder.getSkill()); if (skill != null)
} {
} removedSkills.putIfAbsent(skill.getId(), skill);
else
{
removedSkills.put(holder.getSkill().getId(), holder.getSkill());
}
update = true; update = true;
} }
} }
@@ -383,17 +378,7 @@ public abstract class Inventory extends ItemContainer
final Skill skill = holder.getSkill(); final Skill skill = holder.getSkill();
if (skill != null) if (skill != null)
{ {
if (removedSkills.containsKey(holder.getSkill().getId())) removedSkills.putIfAbsent(skill.getId(), skill);
{
if (removedSkills.get(holder.getSkill().getId()).getLevel() < holder.getSkill().getLevel())
{
removedSkills.put(holder.getSkill().getId(), holder.getSkill());
}
}
else
{
removedSkills.put(holder.getSkill().getId(), holder.getSkill());
}
update = true; update = true;
} }
} }
@@ -422,32 +407,35 @@ public abstract class Inventory extends ItemContainer
} }
final Skill skill = holder.getSkill(); final Skill skill = holder.getSkill();
if (skill != null) if (skill == null)
{ {
if (addedSkills.containsKey(holder.getSkill().getId())) continue;
{
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;
} }
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) 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(); continue;
// Check passive skill conditions. }
if (skill.isPassive() && !skill.checkConditions(SkillConditionScope.PASSIVE, player, player))
{ final Skill skill = holder.getSkill();
if (removedSkills.containsKey(holder.getSkill().getId())) if (skill == null)
{ {
if (removedSkills.get(holder.getSkill().getId()).getLevel() < holder.getSkill().getLevel()) continue;
{ }
removedSkills.put(holder.getSkill().getId(), holder.getSkill());
} // Check passive skill conditions.
} if (skill.isPassive() && !skill.checkConditions(SkillConditionScope.PASSIVE, player, player))
else {
{ removedSkills.putIfAbsent(skill.getId(), skill);
removedSkills.put(holder.getSkill().getId(), holder.getSkill()); update = true;
}
update = true;
}
} }
} }
} }
@@ -575,28 +559,35 @@ public abstract class Inventory extends ItemContainer
continue; continue;
} }
// Add skills bestowed from +4 armor if (item.getEnchantLevel() < holder.getValue())
if (item.getEnchantLevel() >= holder.getValue())
{ {
final Skill skill = holder.getSkill(); continue;
// Check passive skill conditions. }
if (skill.isPassive() && !skill.checkConditions(SkillConditionScope.PASSIVE, player, player))
{
continue;
}
if (addedSkills.containsKey(holder.getSkill().getId())) 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())
{ {
if (addedSkills.get(holder.getSkill().getId()).getLevel() < holder.getSkill().getLevel()) addedSkills.put(skill.getId(), skill);
{
addedSkills.put(holder.getSkill().getId(), holder.getSkill());
}
}
else
{
addedSkills.put(holder.getSkill().getId(), holder.getSkill());
} }
} }
else
{
addedSkills.put(skill.getId(), skill);
}
} }
} }
@@ -611,36 +602,40 @@ public abstract class Inventory extends ItemContainer
} }
final Skill skill = holder.getSkill(); final Skill skill = holder.getSkill();
if (skill != null) if (skill == null)
{ {
if (skill.isPassive() && !skill.checkConditions(SkillConditionScope.PASSIVE, player, player)) continue;
{ }
continue;
}
if (addedSkills.containsKey(holder.getSkill().getId())) // Check passive skill conditions.
{ if (skill.isPassive() && !skill.checkConditions(SkillConditionScope.PASSIVE, player, player))
if (addedSkills.get(holder.getSkill().getId()).getLevel() < holder.getSkill().getLevel()) {
{ continue;
addedSkills.put(holder.getSkill().getId(), holder.getSkill()); }
}
}
else
{
addedSkills.put(holder.getSkill().getId(), holder.getSkill());
}
if (skill.isActive() && !player.hasSkillReuse(skill.getReuseHashCode())) final Skill existingSkill = addedSkills.get(skill.getId());
if (existingSkill != null)
{
if (existingSkill.getLevel() < skill.getLevel())
{ {
final int equipDelay = item.getEquipReuseDelay(); addedSkills.put(skill.getId(), skill);
if (equipDelay > 0)
{
player.addTimeStamp(skill, equipDelay);
player.disableSkill(skill, equipDelay);
}
updateTimestamp = true;
} }
} }
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;
}
} }
} }
} }
@@ -666,28 +661,35 @@ public abstract class Inventory extends ItemContainer
continue; continue;
} }
// Add skills bestowed from +4 armor if (equipped.getEnchantLevel() < holder.getValue())
if (equipped.getEnchantLevel() >= holder.getValue())
{ {
final Skill skill = holder.getSkill(); continue;
// Check passive skill conditions. }
if (skill.isPassive() && !skill.checkConditions(SkillConditionScope.PASSIVE, player, player))
{
continue;
}
if (addedSkills.containsKey(holder.getSkill().getId())) 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())
{ {
if (addedSkills.get(holder.getSkill().getId()).getLevel() < holder.getSkill().getLevel()) addedSkills.put(skill.getId(), skill);
{
addedSkills.put(holder.getSkill().getId(), holder.getSkill());
}
}
else
{
addedSkills.put(holder.getSkill().getId(), holder.getSkill());
} }
} }
else
{
addedSkills.put(skill.getId(), skill);
}
} }
} }

View File

@@ -351,20 +351,15 @@ public abstract class Inventory extends ItemContainer
{ {
for (ItemSkillHolder holder : onEnchantSkills) for (ItemSkillHolder holder : onEnchantSkills)
{ {
// Remove skills bestowed from +4 armor if (item.getEnchantLevel() < holder.getValue())
if (item.getEnchantLevel() >= holder.getValue())
{ {
if (removedSkills.containsKey(holder.getSkill().getId())) continue;
{ }
if (removedSkills.get(holder.getSkill().getId()).getLevel() < holder.getSkill().getLevel())
{ final Skill skill = holder.getSkill();
removedSkills.put(holder.getSkill().getId(), holder.getSkill()); if (skill != null)
} {
} removedSkills.putIfAbsent(skill.getId(), skill);
else
{
removedSkills.put(holder.getSkill().getId(), holder.getSkill());
}
update = true; update = true;
} }
} }
@@ -378,17 +373,7 @@ public abstract class Inventory extends ItemContainer
final Skill skill = holder.getSkill(); final Skill skill = holder.getSkill();
if (skill != null) if (skill != null)
{ {
if (removedSkills.containsKey(holder.getSkill().getId())) removedSkills.putIfAbsent(skill.getId(), skill);
{
if (removedSkills.get(holder.getSkill().getId()).getLevel() < holder.getSkill().getLevel())
{
removedSkills.put(holder.getSkill().getId(), holder.getSkill());
}
}
else
{
removedSkills.put(holder.getSkill().getId(), holder.getSkill());
}
update = true; update = true;
} }
} }
@@ -417,32 +402,35 @@ public abstract class Inventory extends ItemContainer
} }
final Skill skill = holder.getSkill(); final Skill skill = holder.getSkill();
if (skill != null) if (skill == null)
{ {
if (addedSkills.containsKey(holder.getSkill().getId())) continue;
{
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;
} }
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) 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(); continue;
// Check passive skill conditions. }
if (skill.isPassive() && !skill.checkConditions(SkillConditionScope.PASSIVE, player, player))
{ final Skill skill = holder.getSkill();
if (removedSkills.containsKey(holder.getSkill().getId())) if (skill == null)
{ {
if (removedSkills.get(holder.getSkill().getId()).getLevel() < holder.getSkill().getLevel()) continue;
{ }
removedSkills.put(holder.getSkill().getId(), holder.getSkill());
} // Check passive skill conditions.
} if (skill.isPassive() && !skill.checkConditions(SkillConditionScope.PASSIVE, player, player))
else {
{ removedSkills.putIfAbsent(skill.getId(), skill);
removedSkills.put(holder.getSkill().getId(), holder.getSkill()); update = true;
}
update = true;
}
} }
} }
} }
@@ -570,28 +554,35 @@ public abstract class Inventory extends ItemContainer
continue; continue;
} }
// Add skills bestowed from +4 armor if (item.getEnchantLevel() < holder.getValue())
if (item.getEnchantLevel() >= holder.getValue())
{ {
final Skill skill = holder.getSkill(); continue;
// Check passive skill conditions. }
if (skill.isPassive() && !skill.checkConditions(SkillConditionScope.PASSIVE, player, player))
{
continue;
}
if (addedSkills.containsKey(holder.getSkill().getId())) 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())
{ {
if (addedSkills.get(holder.getSkill().getId()).getLevel() < holder.getSkill().getLevel()) addedSkills.put(skill.getId(), skill);
{
addedSkills.put(holder.getSkill().getId(), holder.getSkill());
}
}
else
{
addedSkills.put(holder.getSkill().getId(), holder.getSkill());
} }
} }
else
{
addedSkills.put(skill.getId(), skill);
}
} }
} }
@@ -606,36 +597,40 @@ public abstract class Inventory extends ItemContainer
} }
final Skill skill = holder.getSkill(); final Skill skill = holder.getSkill();
if (skill != null) if (skill == null)
{ {
if (skill.isPassive() && !skill.checkConditions(SkillConditionScope.PASSIVE, player, player)) continue;
{ }
continue;
}
if (addedSkills.containsKey(holder.getSkill().getId())) // Check passive skill conditions.
{ if (skill.isPassive() && !skill.checkConditions(SkillConditionScope.PASSIVE, player, player))
if (addedSkills.get(holder.getSkill().getId()).getLevel() < holder.getSkill().getLevel()) {
{ continue;
addedSkills.put(holder.getSkill().getId(), holder.getSkill()); }
}
}
else
{
addedSkills.put(holder.getSkill().getId(), holder.getSkill());
}
if (skill.isActive() && !player.hasSkillReuse(skill.getReuseHashCode())) final Skill existingSkill = addedSkills.get(skill.getId());
if (existingSkill != null)
{
if (existingSkill.getLevel() < skill.getLevel())
{ {
final int equipDelay = item.getEquipReuseDelay(); addedSkills.put(skill.getId(), skill);
if (equipDelay > 0)
{
player.addTimeStamp(skill, equipDelay);
player.disableSkill(skill, equipDelay);
}
updateTimestamp = true;
} }
} }
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;
}
} }
} }
} }
@@ -661,28 +656,35 @@ public abstract class Inventory extends ItemContainer
continue; continue;
} }
// Add skills bestowed from +4 armor if (equipped.getEnchantLevel() < holder.getValue())
if (equipped.getEnchantLevel() >= holder.getValue())
{ {
final Skill skill = holder.getSkill(); continue;
// Check passive skill conditions. }
if (skill.isPassive() && !skill.checkConditions(SkillConditionScope.PASSIVE, player, player))
{
continue;
}
if (addedSkills.containsKey(holder.getSkill().getId())) 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())
{ {
if (addedSkills.get(holder.getSkill().getId()).getLevel() < holder.getSkill().getLevel()) addedSkills.put(skill.getId(), skill);
{
addedSkills.put(holder.getSkill().getId(), holder.getSkill());
}
}
else
{
addedSkills.put(holder.getSkill().getId(), holder.getSkill());
} }
} }
else
{
addedSkills.put(skill.getId(), skill);
}
} }
} }

View File

@@ -351,20 +351,15 @@ public abstract class Inventory extends ItemContainer
{ {
for (ItemSkillHolder holder : onEnchantSkills) for (ItemSkillHolder holder : onEnchantSkills)
{ {
// Remove skills bestowed from +4 armor if (item.getEnchantLevel() < holder.getValue())
if (item.getEnchantLevel() >= holder.getValue())
{ {
if (removedSkills.containsKey(holder.getSkill().getId())) continue;
{ }
if (removedSkills.get(holder.getSkill().getId()).getLevel() < holder.getSkill().getLevel())
{ final Skill skill = holder.getSkill();
removedSkills.put(holder.getSkill().getId(), holder.getSkill()); if (skill != null)
} {
} removedSkills.putIfAbsent(skill.getId(), skill);
else
{
removedSkills.put(holder.getSkill().getId(), holder.getSkill());
}
update = true; update = true;
} }
} }
@@ -378,17 +373,7 @@ public abstract class Inventory extends ItemContainer
final Skill skill = holder.getSkill(); final Skill skill = holder.getSkill();
if (skill != null) if (skill != null)
{ {
if (removedSkills.containsKey(holder.getSkill().getId())) removedSkills.putIfAbsent(skill.getId(), skill);
{
if (removedSkills.get(holder.getSkill().getId()).getLevel() < holder.getSkill().getLevel())
{
removedSkills.put(holder.getSkill().getId(), holder.getSkill());
}
}
else
{
removedSkills.put(holder.getSkill().getId(), holder.getSkill());
}
update = true; update = true;
} }
} }
@@ -417,32 +402,35 @@ public abstract class Inventory extends ItemContainer
} }
final Skill skill = holder.getSkill(); final Skill skill = holder.getSkill();
if (skill != null) if (skill == null)
{ {
if (addedSkills.containsKey(holder.getSkill().getId())) continue;
{
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;
} }
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) 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(); continue;
// Check passive skill conditions. }
if (skill.isPassive() && !skill.checkConditions(SkillConditionScope.PASSIVE, player, player))
{ final Skill skill = holder.getSkill();
if (removedSkills.containsKey(holder.getSkill().getId())) if (skill == null)
{ {
if (removedSkills.get(holder.getSkill().getId()).getLevel() < holder.getSkill().getLevel()) continue;
{ }
removedSkills.put(holder.getSkill().getId(), holder.getSkill());
} // Check passive skill conditions.
} if (skill.isPassive() && !skill.checkConditions(SkillConditionScope.PASSIVE, player, player))
else {
{ removedSkills.putIfAbsent(skill.getId(), skill);
removedSkills.put(holder.getSkill().getId(), holder.getSkill()); update = true;
}
update = true;
}
} }
} }
} }
@@ -570,28 +554,35 @@ public abstract class Inventory extends ItemContainer
continue; continue;
} }
// Add skills bestowed from +4 armor if (item.getEnchantLevel() < holder.getValue())
if (item.getEnchantLevel() >= holder.getValue())
{ {
final Skill skill = holder.getSkill(); continue;
// Check passive skill conditions. }
if (skill.isPassive() && !skill.checkConditions(SkillConditionScope.PASSIVE, player, player))
{
continue;
}
if (addedSkills.containsKey(holder.getSkill().getId())) 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())
{ {
if (addedSkills.get(holder.getSkill().getId()).getLevel() < holder.getSkill().getLevel()) addedSkills.put(skill.getId(), skill);
{
addedSkills.put(holder.getSkill().getId(), holder.getSkill());
}
}
else
{
addedSkills.put(holder.getSkill().getId(), holder.getSkill());
} }
} }
else
{
addedSkills.put(skill.getId(), skill);
}
} }
} }
@@ -606,36 +597,40 @@ public abstract class Inventory extends ItemContainer
} }
final Skill skill = holder.getSkill(); final Skill skill = holder.getSkill();
if (skill != null) if (skill == null)
{ {
if (skill.isPassive() && !skill.checkConditions(SkillConditionScope.PASSIVE, player, player)) continue;
{ }
continue;
}
if (addedSkills.containsKey(holder.getSkill().getId())) // Check passive skill conditions.
{ if (skill.isPassive() && !skill.checkConditions(SkillConditionScope.PASSIVE, player, player))
if (addedSkills.get(holder.getSkill().getId()).getLevel() < holder.getSkill().getLevel()) {
{ continue;
addedSkills.put(holder.getSkill().getId(), holder.getSkill()); }
}
}
else
{
addedSkills.put(holder.getSkill().getId(), holder.getSkill());
}
if (skill.isActive() && !player.hasSkillReuse(skill.getReuseHashCode())) final Skill existingSkill = addedSkills.get(skill.getId());
if (existingSkill != null)
{
if (existingSkill.getLevel() < skill.getLevel())
{ {
final int equipDelay = item.getEquipReuseDelay(); addedSkills.put(skill.getId(), skill);
if (equipDelay > 0)
{
player.addTimeStamp(skill, equipDelay);
player.disableSkill(skill, equipDelay);
}
updateTimestamp = true;
} }
} }
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;
}
} }
} }
} }
@@ -661,28 +656,35 @@ public abstract class Inventory extends ItemContainer
continue; continue;
} }
// Add skills bestowed from +4 armor if (equipped.getEnchantLevel() < holder.getValue())
if (equipped.getEnchantLevel() >= holder.getValue())
{ {
final Skill skill = holder.getSkill(); continue;
// Check passive skill conditions. }
if (skill.isPassive() && !skill.checkConditions(SkillConditionScope.PASSIVE, player, player))
{
continue;
}
if (addedSkills.containsKey(holder.getSkill().getId())) 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())
{ {
if (addedSkills.get(holder.getSkill().getId()).getLevel() < holder.getSkill().getLevel()) addedSkills.put(skill.getId(), skill);
{
addedSkills.put(holder.getSkill().getId(), holder.getSkill());
}
}
else
{
addedSkills.put(holder.getSkill().getId(), holder.getSkill());
} }
} }
else
{
addedSkills.put(skill.getId(), skill);
}
} }
} }

View File

@@ -325,20 +325,15 @@ public abstract class Inventory extends ItemContainer
{ {
for (ItemSkillHolder holder : onEnchantSkills) for (ItemSkillHolder holder : onEnchantSkills)
{ {
// Remove skills bestowed from +4 armor if (item.getEnchantLevel() < holder.getValue())
if (item.getEnchantLevel() >= holder.getValue())
{ {
if (removedSkills.containsKey(holder.getSkill().getId())) continue;
{ }
if (removedSkills.get(holder.getSkill().getId()).getLevel() < holder.getSkill().getLevel())
{ final Skill skill = holder.getSkill();
removedSkills.put(holder.getSkill().getId(), holder.getSkill()); if (skill != null)
} {
} removedSkills.putIfAbsent(skill.getId(), skill);
else
{
removedSkills.put(holder.getSkill().getId(), holder.getSkill());
}
update = true; update = true;
} }
} }
@@ -352,17 +347,7 @@ public abstract class Inventory extends ItemContainer
final Skill skill = holder.getSkill(); final Skill skill = holder.getSkill();
if (skill != null) if (skill != null)
{ {
if (removedSkills.containsKey(holder.getSkill().getId())) removedSkills.putIfAbsent(skill.getId(), skill);
{
if (removedSkills.get(holder.getSkill().getId()).getLevel() < holder.getSkill().getLevel())
{
removedSkills.put(holder.getSkill().getId(), holder.getSkill());
}
}
else
{
removedSkills.put(holder.getSkill().getId(), holder.getSkill());
}
update = true; update = true;
} }
} }
@@ -391,32 +376,35 @@ public abstract class Inventory extends ItemContainer
} }
final Skill skill = holder.getSkill(); final Skill skill = holder.getSkill();
if (skill != null) if (skill == null)
{ {
if (addedSkills.containsKey(holder.getSkill().getId())) continue;
{
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;
} }
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) 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(); continue;
// Check passive skill conditions. }
if (skill.isPassive() && !skill.checkConditions(SkillConditionScope.PASSIVE, player, player))
{ final Skill skill = holder.getSkill();
if (removedSkills.containsKey(holder.getSkill().getId())) if (skill == null)
{ {
if (removedSkills.get(holder.getSkill().getId()).getLevel() < holder.getSkill().getLevel()) continue;
{ }
removedSkills.put(holder.getSkill().getId(), holder.getSkill());
} // Check passive skill conditions.
} if (skill.isPassive() && !skill.checkConditions(SkillConditionScope.PASSIVE, player, player))
else {
{ removedSkills.putIfAbsent(skill.getId(), skill);
removedSkills.put(holder.getSkill().getId(), holder.getSkill()); update = true;
}
update = true;
}
} }
} }
} }
@@ -547,28 +531,35 @@ public abstract class Inventory extends ItemContainer
continue; continue;
} }
// Add skills bestowed from +4 armor if (item.getEnchantLevel() < holder.getValue())
if (item.getEnchantLevel() >= holder.getValue())
{ {
final Skill skill = holder.getSkill(); continue;
// Check passive skill conditions. }
if (skill.isPassive() && !skill.checkConditions(SkillConditionScope.PASSIVE, player, player))
{
continue;
}
if (addedSkills.containsKey(holder.getSkill().getId())) 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())
{ {
if (addedSkills.get(holder.getSkill().getId()).getLevel() < holder.getSkill().getLevel()) addedSkills.put(skill.getId(), skill);
{
addedSkills.put(holder.getSkill().getId(), holder.getSkill());
}
}
else
{
addedSkills.put(holder.getSkill().getId(), holder.getSkill());
} }
} }
else
{
addedSkills.put(skill.getId(), skill);
}
} }
} }
@@ -583,36 +574,40 @@ public abstract class Inventory extends ItemContainer
} }
final Skill skill = holder.getSkill(); final Skill skill = holder.getSkill();
if (skill != null) if (skill == null)
{ {
if (skill.isPassive() && !skill.checkConditions(SkillConditionScope.PASSIVE, player, player)) continue;
{ }
continue;
}
if (addedSkills.containsKey(holder.getSkill().getId())) // Check passive skill conditions.
{ if (skill.isPassive() && !skill.checkConditions(SkillConditionScope.PASSIVE, player, player))
if (addedSkills.get(holder.getSkill().getId()).getLevel() < holder.getSkill().getLevel()) {
{ continue;
addedSkills.put(holder.getSkill().getId(), holder.getSkill()); }
}
}
else
{
addedSkills.put(holder.getSkill().getId(), holder.getSkill());
}
if (skill.isActive() && !player.hasSkillReuse(skill.getReuseHashCode())) final Skill existingSkill = addedSkills.get(skill.getId());
if (existingSkill != null)
{
if (existingSkill.getLevel() < skill.getLevel())
{ {
final int equipDelay = item.getEquipReuseDelay(); addedSkills.put(skill.getId(), skill);
if (equipDelay > 0)
{
player.addTimeStamp(skill, equipDelay);
player.disableSkill(skill, equipDelay);
}
updateTimestamp = true;
} }
} }
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;
}
} }
} }
} }
@@ -638,28 +633,35 @@ public abstract class Inventory extends ItemContainer
continue; continue;
} }
// Add skills bestowed from +4 armor if (equipped.getEnchantLevel() < holder.getValue())
if (equipped.getEnchantLevel() >= holder.getValue())
{ {
final Skill skill = holder.getSkill(); continue;
// Check passive skill conditions. }
if (skill.isPassive() && !skill.checkConditions(SkillConditionScope.PASSIVE, player, player))
{
continue;
}
if (addedSkills.containsKey(holder.getSkill().getId())) 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())
{ {
if (addedSkills.get(holder.getSkill().getId()).getLevel() < holder.getSkill().getLevel()) addedSkills.put(skill.getId(), skill);
{
addedSkills.put(holder.getSkill().getId(), holder.getSkill());
}
}
else
{
addedSkills.put(holder.getSkill().getId(), holder.getSkill());
} }
} }
else
{
addedSkills.put(skill.getId(), skill);
}
} }
} }

View File

@@ -325,20 +325,15 @@ public abstract class Inventory extends ItemContainer
{ {
for (ItemSkillHolder holder : onEnchantSkills) for (ItemSkillHolder holder : onEnchantSkills)
{ {
// Remove skills bestowed from +4 armor if (item.getEnchantLevel() < holder.getValue())
if (item.getEnchantLevel() >= holder.getValue())
{ {
if (removedSkills.containsKey(holder.getSkill().getId())) continue;
{ }
if (removedSkills.get(holder.getSkill().getId()).getLevel() < holder.getSkill().getLevel())
{ final Skill skill = holder.getSkill();
removedSkills.put(holder.getSkill().getId(), holder.getSkill()); if (skill != null)
} {
} removedSkills.putIfAbsent(skill.getId(), skill);
else
{
removedSkills.put(holder.getSkill().getId(), holder.getSkill());
}
update = true; update = true;
} }
} }
@@ -352,17 +347,7 @@ public abstract class Inventory extends ItemContainer
final Skill skill = holder.getSkill(); final Skill skill = holder.getSkill();
if (skill != null) if (skill != null)
{ {
if (removedSkills.containsKey(holder.getSkill().getId())) removedSkills.putIfAbsent(skill.getId(), skill);
{
if (removedSkills.get(holder.getSkill().getId()).getLevel() < holder.getSkill().getLevel())
{
removedSkills.put(holder.getSkill().getId(), holder.getSkill());
}
}
else
{
removedSkills.put(holder.getSkill().getId(), holder.getSkill());
}
update = true; update = true;
} }
} }
@@ -391,32 +376,35 @@ public abstract class Inventory extends ItemContainer
} }
final Skill skill = holder.getSkill(); final Skill skill = holder.getSkill();
if (skill != null) if (skill == null)
{ {
if (addedSkills.containsKey(holder.getSkill().getId())) continue;
{
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;
} }
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) 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(); continue;
// Check passive skill conditions. }
if (skill.isPassive() && !skill.checkConditions(SkillConditionScope.PASSIVE, player, player))
{ final Skill skill = holder.getSkill();
if (removedSkills.containsKey(holder.getSkill().getId())) if (skill == null)
{ {
if (removedSkills.get(holder.getSkill().getId()).getLevel() < holder.getSkill().getLevel()) continue;
{ }
removedSkills.put(holder.getSkill().getId(), holder.getSkill());
} // Check passive skill conditions.
} if (skill.isPassive() && !skill.checkConditions(SkillConditionScope.PASSIVE, player, player))
else {
{ removedSkills.putIfAbsent(skill.getId(), skill);
removedSkills.put(holder.getSkill().getId(), holder.getSkill()); update = true;
}
update = true;
}
} }
} }
} }
@@ -547,28 +531,35 @@ public abstract class Inventory extends ItemContainer
continue; continue;
} }
// Add skills bestowed from +4 armor if (item.getEnchantLevel() < holder.getValue())
if (item.getEnchantLevel() >= holder.getValue())
{ {
final Skill skill = holder.getSkill(); continue;
// Check passive skill conditions. }
if (skill.isPassive() && !skill.checkConditions(SkillConditionScope.PASSIVE, player, player))
{
continue;
}
if (addedSkills.containsKey(holder.getSkill().getId())) 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())
{ {
if (addedSkills.get(holder.getSkill().getId()).getLevel() < holder.getSkill().getLevel()) addedSkills.put(skill.getId(), skill);
{
addedSkills.put(holder.getSkill().getId(), holder.getSkill());
}
}
else
{
addedSkills.put(holder.getSkill().getId(), holder.getSkill());
} }
} }
else
{
addedSkills.put(skill.getId(), skill);
}
} }
} }
@@ -583,36 +574,40 @@ public abstract class Inventory extends ItemContainer
} }
final Skill skill = holder.getSkill(); final Skill skill = holder.getSkill();
if (skill != null) if (skill == null)
{ {
if (skill.isPassive() && !skill.checkConditions(SkillConditionScope.PASSIVE, player, player)) continue;
{ }
continue;
}
if (addedSkills.containsKey(holder.getSkill().getId())) // Check passive skill conditions.
{ if (skill.isPassive() && !skill.checkConditions(SkillConditionScope.PASSIVE, player, player))
if (addedSkills.get(holder.getSkill().getId()).getLevel() < holder.getSkill().getLevel()) {
{ continue;
addedSkills.put(holder.getSkill().getId(), holder.getSkill()); }
}
}
else
{
addedSkills.put(holder.getSkill().getId(), holder.getSkill());
}
if (skill.isActive() && !player.hasSkillReuse(skill.getReuseHashCode())) final Skill existingSkill = addedSkills.get(skill.getId());
if (existingSkill != null)
{
if (existingSkill.getLevel() < skill.getLevel())
{ {
final int equipDelay = item.getEquipReuseDelay(); addedSkills.put(skill.getId(), skill);
if (equipDelay > 0)
{
player.addTimeStamp(skill, equipDelay);
player.disableSkill(skill, equipDelay);
}
updateTimestamp = true;
} }
} }
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;
}
} }
} }
} }
@@ -638,28 +633,35 @@ public abstract class Inventory extends ItemContainer
continue; continue;
} }
// Add skills bestowed from +4 armor if (equipped.getEnchantLevel() < holder.getValue())
if (equipped.getEnchantLevel() >= holder.getValue())
{ {
final Skill skill = holder.getSkill(); continue;
// Check passive skill conditions. }
if (skill.isPassive() && !skill.checkConditions(SkillConditionScope.PASSIVE, player, player))
{
continue;
}
if (addedSkills.containsKey(holder.getSkill().getId())) 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())
{ {
if (addedSkills.get(holder.getSkill().getId()).getLevel() < holder.getSkill().getLevel()) addedSkills.put(skill.getId(), skill);
{
addedSkills.put(holder.getSkill().getId(), holder.getSkill());
}
}
else
{
addedSkills.put(holder.getSkill().getId(), holder.getSkill());
} }
} }
else
{
addedSkills.put(skill.getId(), skill);
}
} }
} }

View File

@@ -333,20 +333,15 @@ public abstract class Inventory extends ItemContainer
{ {
for (ItemSkillHolder holder : onEnchantSkills) for (ItemSkillHolder holder : onEnchantSkills)
{ {
// Remove skills bestowed from +4 armor if (item.getEnchantLevel() < holder.getValue())
if (item.getEnchantLevel() >= holder.getValue())
{ {
if (removedSkills.containsKey(holder.getSkill().getId())) continue;
{ }
if (removedSkills.get(holder.getSkill().getId()).getLevel() < holder.getSkill().getLevel())
{ final Skill skill = holder.getSkill();
removedSkills.put(holder.getSkill().getId(), holder.getSkill()); if (skill != null)
} {
} removedSkills.putIfAbsent(skill.getId(), skill);
else
{
removedSkills.put(holder.getSkill().getId(), holder.getSkill());
}
update = true; update = true;
} }
} }
@@ -360,17 +355,7 @@ public abstract class Inventory extends ItemContainer
final Skill skill = holder.getSkill(); final Skill skill = holder.getSkill();
if (skill != null) if (skill != null)
{ {
if (removedSkills.containsKey(holder.getSkill().getId())) removedSkills.putIfAbsent(skill.getId(), skill);
{
if (removedSkills.get(holder.getSkill().getId()).getLevel() < holder.getSkill().getLevel())
{
removedSkills.put(holder.getSkill().getId(), holder.getSkill());
}
}
else
{
removedSkills.put(holder.getSkill().getId(), holder.getSkill());
}
update = true; update = true;
} }
} }
@@ -399,32 +384,35 @@ public abstract class Inventory extends ItemContainer
} }
final Skill skill = holder.getSkill(); final Skill skill = holder.getSkill();
if (skill != null) if (skill == null)
{ {
if (addedSkills.containsKey(holder.getSkill().getId())) continue;
{
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;
} }
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) 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(); continue;
// Check passive skill conditions. }
if (skill.isPassive() && !skill.checkConditions(SkillConditionScope.PASSIVE, player, player))
{ final Skill skill = holder.getSkill();
if (removedSkills.containsKey(holder.getSkill().getId())) if (skill == null)
{ {
if (removedSkills.get(holder.getSkill().getId()).getLevel() < holder.getSkill().getLevel()) continue;
{ }
removedSkills.put(holder.getSkill().getId(), holder.getSkill());
} // Check passive skill conditions.
} if (skill.isPassive() && !skill.checkConditions(SkillConditionScope.PASSIVE, player, player))
else {
{ removedSkills.putIfAbsent(skill.getId(), skill);
removedSkills.put(holder.getSkill().getId(), holder.getSkill()); update = true;
}
update = true;
}
} }
} }
} }
@@ -558,28 +542,35 @@ public abstract class Inventory extends ItemContainer
continue; continue;
} }
// Add skills bestowed from +4 armor if (item.getEnchantLevel() < holder.getValue())
if (item.getEnchantLevel() >= holder.getValue())
{ {
final Skill skill = holder.getSkill(); continue;
// Check passive skill conditions. }
if (skill.isPassive() && !skill.checkConditions(SkillConditionScope.PASSIVE, player, player))
{
continue;
}
if (addedSkills.containsKey(holder.getSkill().getId())) 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())
{ {
if (addedSkills.get(holder.getSkill().getId()).getLevel() < holder.getSkill().getLevel()) addedSkills.put(skill.getId(), skill);
{
addedSkills.put(holder.getSkill().getId(), holder.getSkill());
}
}
else
{
addedSkills.put(holder.getSkill().getId(), holder.getSkill());
} }
} }
else
{
addedSkills.put(skill.getId(), skill);
}
} }
} }
@@ -594,36 +585,40 @@ public abstract class Inventory extends ItemContainer
} }
final Skill skill = holder.getSkill(); final Skill skill = holder.getSkill();
if (skill != null) if (skill == null)
{ {
if (skill.isPassive() && !skill.checkConditions(SkillConditionScope.PASSIVE, player, player)) continue;
{ }
continue;
}
if (addedSkills.containsKey(holder.getSkill().getId())) // Check passive skill conditions.
{ if (skill.isPassive() && !skill.checkConditions(SkillConditionScope.PASSIVE, player, player))
if (addedSkills.get(holder.getSkill().getId()).getLevel() < holder.getSkill().getLevel()) {
{ continue;
addedSkills.put(holder.getSkill().getId(), holder.getSkill()); }
}
}
else
{
addedSkills.put(holder.getSkill().getId(), holder.getSkill());
}
if (skill.isActive() && !player.hasSkillReuse(skill.getReuseHashCode())) final Skill existingSkill = addedSkills.get(skill.getId());
if (existingSkill != null)
{
if (existingSkill.getLevel() < skill.getLevel())
{ {
final int equipDelay = item.getEquipReuseDelay(); addedSkills.put(skill.getId(), skill);
if (equipDelay > 0)
{
player.addTimeStamp(skill, equipDelay);
player.disableSkill(skill, equipDelay);
}
updateTimestamp = true;
} }
} }
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;
}
} }
} }
} }
@@ -649,28 +644,35 @@ public abstract class Inventory extends ItemContainer
continue; continue;
} }
// Add skills bestowed from +4 armor if (equipped.getEnchantLevel() < holder.getValue())
if (equipped.getEnchantLevel() >= holder.getValue())
{ {
final Skill skill = holder.getSkill(); continue;
// Check passive skill conditions. }
if (skill.isPassive() && !skill.checkConditions(SkillConditionScope.PASSIVE, player, player))
{
continue;
}
if (addedSkills.containsKey(holder.getSkill().getId())) 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())
{ {
if (addedSkills.get(holder.getSkill().getId()).getLevel() < holder.getSkill().getLevel()) addedSkills.put(skill.getId(), skill);
{
addedSkills.put(holder.getSkill().getId(), holder.getSkill());
}
}
else
{
addedSkills.put(holder.getSkill().getId(), holder.getSkill());
} }
} }
else
{
addedSkills.put(skill.getId(), skill);
}
} }
} }

View File

@@ -356,20 +356,15 @@ public abstract class Inventory extends ItemContainer
{ {
for (ItemSkillHolder holder : onEnchantSkills) for (ItemSkillHolder holder : onEnchantSkills)
{ {
// Remove skills bestowed from +4 armor if (item.getEnchantLevel() < holder.getValue())
if (item.getEnchantLevel() >= holder.getValue())
{ {
if (removedSkills.containsKey(holder.getSkill().getId())) continue;
{ }
if (removedSkills.get(holder.getSkill().getId()).getLevel() < holder.getSkill().getLevel())
{ final Skill skill = holder.getSkill();
removedSkills.put(holder.getSkill().getId(), holder.getSkill()); if (skill != null)
} {
} removedSkills.putIfAbsent(skill.getId(), skill);
else
{
removedSkills.put(holder.getSkill().getId(), holder.getSkill());
}
update = true; update = true;
} }
} }
@@ -383,17 +378,7 @@ public abstract class Inventory extends ItemContainer
final Skill skill = holder.getSkill(); final Skill skill = holder.getSkill();
if (skill != null) if (skill != null)
{ {
if (removedSkills.containsKey(holder.getSkill().getId())) removedSkills.putIfAbsent(skill.getId(), skill);
{
if (removedSkills.get(holder.getSkill().getId()).getLevel() < holder.getSkill().getLevel())
{
removedSkills.put(holder.getSkill().getId(), holder.getSkill());
}
}
else
{
removedSkills.put(holder.getSkill().getId(), holder.getSkill());
}
update = true; update = true;
} }
} }
@@ -422,32 +407,35 @@ public abstract class Inventory extends ItemContainer
} }
final Skill skill = holder.getSkill(); final Skill skill = holder.getSkill();
if (skill != null) if (skill == null)
{ {
if (addedSkills.containsKey(holder.getSkill().getId())) continue;
{
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;
} }
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) 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(); continue;
// Check passive skill conditions. }
if (skill.isPassive() && !skill.checkConditions(SkillConditionScope.PASSIVE, player, player))
{ final Skill skill = holder.getSkill();
if (removedSkills.containsKey(holder.getSkill().getId())) if (skill == null)
{ {
if (removedSkills.get(holder.getSkill().getId()).getLevel() < holder.getSkill().getLevel()) continue;
{ }
removedSkills.put(holder.getSkill().getId(), holder.getSkill());
} // Check passive skill conditions.
} if (skill.isPassive() && !skill.checkConditions(SkillConditionScope.PASSIVE, player, player))
else {
{ removedSkills.putIfAbsent(skill.getId(), skill);
removedSkills.put(holder.getSkill().getId(), holder.getSkill()); update = true;
}
update = true;
}
} }
} }
} }
@@ -581,28 +565,35 @@ public abstract class Inventory extends ItemContainer
continue; continue;
} }
// Add skills bestowed from +4 armor if (item.getEnchantLevel() < holder.getValue())
if (item.getEnchantLevel() >= holder.getValue())
{ {
final Skill skill = holder.getSkill(); continue;
// Check passive skill conditions. }
if (skill.isPassive() && !skill.checkConditions(SkillConditionScope.PASSIVE, player, player))
{
continue;
}
if (addedSkills.containsKey(holder.getSkill().getId())) 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())
{ {
if (addedSkills.get(holder.getSkill().getId()).getLevel() < holder.getSkill().getLevel()) addedSkills.put(skill.getId(), skill);
{
addedSkills.put(holder.getSkill().getId(), holder.getSkill());
}
}
else
{
addedSkills.put(holder.getSkill().getId(), holder.getSkill());
} }
} }
else
{
addedSkills.put(skill.getId(), skill);
}
} }
} }
@@ -617,36 +608,40 @@ public abstract class Inventory extends ItemContainer
} }
final Skill skill = holder.getSkill(); final Skill skill = holder.getSkill();
if (skill != null) if (skill == null)
{ {
if (skill.isPassive() && !skill.checkConditions(SkillConditionScope.PASSIVE, player, player)) continue;
{ }
continue;
}
if (addedSkills.containsKey(holder.getSkill().getId())) // Check passive skill conditions.
{ if (skill.isPassive() && !skill.checkConditions(SkillConditionScope.PASSIVE, player, player))
if (addedSkills.get(holder.getSkill().getId()).getLevel() < holder.getSkill().getLevel()) {
{ continue;
addedSkills.put(holder.getSkill().getId(), holder.getSkill()); }
}
}
else
{
addedSkills.put(holder.getSkill().getId(), holder.getSkill());
}
if (skill.isActive() && !player.hasSkillReuse(skill.getReuseHashCode())) final Skill existingSkill = addedSkills.get(skill.getId());
if (existingSkill != null)
{
if (existingSkill.getLevel() < skill.getLevel())
{ {
final int equipDelay = item.getEquipReuseDelay(); addedSkills.put(skill.getId(), skill);
if (equipDelay > 0)
{
player.addTimeStamp(skill, equipDelay);
player.disableSkill(skill, equipDelay);
}
updateTimestamp = true;
} }
} }
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;
}
} }
} }
} }
@@ -672,28 +667,35 @@ public abstract class Inventory extends ItemContainer
continue; continue;
} }
// Add skills bestowed from +4 armor if (equipped.getEnchantLevel() < holder.getValue())
if (equipped.getEnchantLevel() >= holder.getValue())
{ {
final Skill skill = holder.getSkill(); continue;
// Check passive skill conditions. }
if (skill.isPassive() && !skill.checkConditions(SkillConditionScope.PASSIVE, player, player))
{
continue;
}
if (addedSkills.containsKey(holder.getSkill().getId())) 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())
{ {
if (addedSkills.get(holder.getSkill().getId()).getLevel() < holder.getSkill().getLevel()) addedSkills.put(skill.getId(), skill);
{
addedSkills.put(holder.getSkill().getId(), holder.getSkill());
}
}
else
{
addedSkills.put(holder.getSkill().getId(), holder.getSkill());
} }
} }
else
{
addedSkills.put(skill.getId(), skill);
}
} }
} }

View File

@@ -356,20 +356,15 @@ public abstract class Inventory extends ItemContainer
{ {
for (ItemSkillHolder holder : onEnchantSkills) for (ItemSkillHolder holder : onEnchantSkills)
{ {
// Remove skills bestowed from +4 armor if (item.getEnchantLevel() < holder.getValue())
if (item.getEnchantLevel() >= holder.getValue())
{ {
if (removedSkills.containsKey(holder.getSkill().getId())) continue;
{ }
if (removedSkills.get(holder.getSkill().getId()).getLevel() < holder.getSkill().getLevel())
{ final Skill skill = holder.getSkill();
removedSkills.put(holder.getSkill().getId(), holder.getSkill()); if (skill != null)
} {
} removedSkills.putIfAbsent(skill.getId(), skill);
else
{
removedSkills.put(holder.getSkill().getId(), holder.getSkill());
}
update = true; update = true;
} }
} }
@@ -383,17 +378,7 @@ public abstract class Inventory extends ItemContainer
final Skill skill = holder.getSkill(); final Skill skill = holder.getSkill();
if (skill != null) if (skill != null)
{ {
if (removedSkills.containsKey(holder.getSkill().getId())) removedSkills.putIfAbsent(skill.getId(), skill);
{
if (removedSkills.get(holder.getSkill().getId()).getLevel() < holder.getSkill().getLevel())
{
removedSkills.put(holder.getSkill().getId(), holder.getSkill());
}
}
else
{
removedSkills.put(holder.getSkill().getId(), holder.getSkill());
}
update = true; update = true;
} }
} }
@@ -422,32 +407,35 @@ public abstract class Inventory extends ItemContainer
} }
final Skill skill = holder.getSkill(); final Skill skill = holder.getSkill();
if (skill != null) if (skill == null)
{ {
if (addedSkills.containsKey(holder.getSkill().getId())) continue;
{
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;
} }
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) 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(); continue;
// Check passive skill conditions. }
if (skill.isPassive() && !skill.checkConditions(SkillConditionScope.PASSIVE, player, player))
{ final Skill skill = holder.getSkill();
if (removedSkills.containsKey(holder.getSkill().getId())) if (skill == null)
{ {
if (removedSkills.get(holder.getSkill().getId()).getLevel() < holder.getSkill().getLevel()) continue;
{ }
removedSkills.put(holder.getSkill().getId(), holder.getSkill());
} // Check passive skill conditions.
} if (skill.isPassive() && !skill.checkConditions(SkillConditionScope.PASSIVE, player, player))
else {
{ removedSkills.putIfAbsent(skill.getId(), skill);
removedSkills.put(holder.getSkill().getId(), holder.getSkill()); update = true;
}
update = true;
}
} }
} }
} }
@@ -581,28 +565,35 @@ public abstract class Inventory extends ItemContainer
continue; continue;
} }
// Add skills bestowed from +4 armor if (item.getEnchantLevel() < holder.getValue())
if (item.getEnchantLevel() >= holder.getValue())
{ {
final Skill skill = holder.getSkill(); continue;
// Check passive skill conditions. }
if (skill.isPassive() && !skill.checkConditions(SkillConditionScope.PASSIVE, player, player))
{
continue;
}
if (addedSkills.containsKey(holder.getSkill().getId())) 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())
{ {
if (addedSkills.get(holder.getSkill().getId()).getLevel() < holder.getSkill().getLevel()) addedSkills.put(skill.getId(), skill);
{
addedSkills.put(holder.getSkill().getId(), holder.getSkill());
}
}
else
{
addedSkills.put(holder.getSkill().getId(), holder.getSkill());
} }
} }
else
{
addedSkills.put(skill.getId(), skill);
}
} }
} }
@@ -617,36 +608,40 @@ public abstract class Inventory extends ItemContainer
} }
final Skill skill = holder.getSkill(); final Skill skill = holder.getSkill();
if (skill != null) if (skill == null)
{ {
if (skill.isPassive() && !skill.checkConditions(SkillConditionScope.PASSIVE, player, player)) continue;
{ }
continue;
}
if (addedSkills.containsKey(holder.getSkill().getId())) // Check passive skill conditions.
{ if (skill.isPassive() && !skill.checkConditions(SkillConditionScope.PASSIVE, player, player))
if (addedSkills.get(holder.getSkill().getId()).getLevel() < holder.getSkill().getLevel()) {
{ continue;
addedSkills.put(holder.getSkill().getId(), holder.getSkill()); }
}
}
else
{
addedSkills.put(holder.getSkill().getId(), holder.getSkill());
}
if (skill.isActive() && !player.hasSkillReuse(skill.getReuseHashCode())) final Skill existingSkill = addedSkills.get(skill.getId());
if (existingSkill != null)
{
if (existingSkill.getLevel() < skill.getLevel())
{ {
final int equipDelay = item.getEquipReuseDelay(); addedSkills.put(skill.getId(), skill);
if (equipDelay > 0)
{
player.addTimeStamp(skill, equipDelay);
player.disableSkill(skill, equipDelay);
}
updateTimestamp = true;
} }
} }
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;
}
} }
} }
} }
@@ -672,28 +667,35 @@ public abstract class Inventory extends ItemContainer
continue; continue;
} }
// Add skills bestowed from +4 armor if (equipped.getEnchantLevel() < holder.getValue())
if (equipped.getEnchantLevel() >= holder.getValue())
{ {
final Skill skill = holder.getSkill(); continue;
// Check passive skill conditions. }
if (skill.isPassive() && !skill.checkConditions(SkillConditionScope.PASSIVE, player, player))
{
continue;
}
if (addedSkills.containsKey(holder.getSkill().getId())) 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())
{ {
if (addedSkills.get(holder.getSkill().getId()).getLevel() < holder.getSkill().getLevel()) addedSkills.put(skill.getId(), skill);
{
addedSkills.put(holder.getSkill().getId(), holder.getSkill());
}
}
else
{
addedSkills.put(holder.getSkill().getId(), holder.getSkill());
} }
} }
else
{
addedSkills.put(skill.getId(), skill);
}
} }
} }

View File

@@ -356,20 +356,15 @@ public abstract class Inventory extends ItemContainer
{ {
for (ItemSkillHolder holder : onEnchantSkills) for (ItemSkillHolder holder : onEnchantSkills)
{ {
// Remove skills bestowed from +4 armor if (item.getEnchantLevel() < holder.getValue())
if (item.getEnchantLevel() >= holder.getValue())
{ {
if (removedSkills.containsKey(holder.getSkill().getId())) continue;
{ }
if (removedSkills.get(holder.getSkill().getId()).getLevel() < holder.getSkill().getLevel())
{ final Skill skill = holder.getSkill();
removedSkills.put(holder.getSkill().getId(), holder.getSkill()); if (skill != null)
} {
} removedSkills.putIfAbsent(skill.getId(), skill);
else
{
removedSkills.put(holder.getSkill().getId(), holder.getSkill());
}
update = true; update = true;
} }
} }
@@ -383,17 +378,7 @@ public abstract class Inventory extends ItemContainer
final Skill skill = holder.getSkill(); final Skill skill = holder.getSkill();
if (skill != null) if (skill != null)
{ {
if (removedSkills.containsKey(holder.getSkill().getId())) removedSkills.putIfAbsent(skill.getId(), skill);
{
if (removedSkills.get(holder.getSkill().getId()).getLevel() < holder.getSkill().getLevel())
{
removedSkills.put(holder.getSkill().getId(), holder.getSkill());
}
}
else
{
removedSkills.put(holder.getSkill().getId(), holder.getSkill());
}
update = true; update = true;
} }
} }
@@ -422,32 +407,35 @@ public abstract class Inventory extends ItemContainer
} }
final Skill skill = holder.getSkill(); final Skill skill = holder.getSkill();
if (skill != null) if (skill == null)
{ {
if (addedSkills.containsKey(holder.getSkill().getId())) continue;
{
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;
} }
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) 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(); continue;
// Check passive skill conditions. }
if (skill.isPassive() && !skill.checkConditions(SkillConditionScope.PASSIVE, player, player))
{ final Skill skill = holder.getSkill();
if (removedSkills.containsKey(holder.getSkill().getId())) if (skill == null)
{ {
if (removedSkills.get(holder.getSkill().getId()).getLevel() < holder.getSkill().getLevel()) continue;
{ }
removedSkills.put(holder.getSkill().getId(), holder.getSkill());
} // Check passive skill conditions.
} if (skill.isPassive() && !skill.checkConditions(SkillConditionScope.PASSIVE, player, player))
else {
{ removedSkills.putIfAbsent(skill.getId(), skill);
removedSkills.put(holder.getSkill().getId(), holder.getSkill()); update = true;
}
update = true;
}
} }
} }
} }
@@ -575,28 +559,35 @@ public abstract class Inventory extends ItemContainer
continue; continue;
} }
// Add skills bestowed from +4 armor if (item.getEnchantLevel() < holder.getValue())
if (item.getEnchantLevel() >= holder.getValue())
{ {
final Skill skill = holder.getSkill(); continue;
// Check passive skill conditions. }
if (skill.isPassive() && !skill.checkConditions(SkillConditionScope.PASSIVE, player, player))
{
continue;
}
if (addedSkills.containsKey(holder.getSkill().getId())) 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())
{ {
if (addedSkills.get(holder.getSkill().getId()).getLevel() < holder.getSkill().getLevel()) addedSkills.put(skill.getId(), skill);
{
addedSkills.put(holder.getSkill().getId(), holder.getSkill());
}
}
else
{
addedSkills.put(holder.getSkill().getId(), holder.getSkill());
} }
} }
else
{
addedSkills.put(skill.getId(), skill);
}
} }
} }
@@ -611,36 +602,40 @@ public abstract class Inventory extends ItemContainer
} }
final Skill skill = holder.getSkill(); final Skill skill = holder.getSkill();
if (skill != null) if (skill == null)
{ {
if (skill.isPassive() && !skill.checkConditions(SkillConditionScope.PASSIVE, player, player)) continue;
{ }
continue;
}
if (addedSkills.containsKey(holder.getSkill().getId())) // Check passive skill conditions.
{ if (skill.isPassive() && !skill.checkConditions(SkillConditionScope.PASSIVE, player, player))
if (addedSkills.get(holder.getSkill().getId()).getLevel() < holder.getSkill().getLevel()) {
{ continue;
addedSkills.put(holder.getSkill().getId(), holder.getSkill()); }
}
}
else
{
addedSkills.put(holder.getSkill().getId(), holder.getSkill());
}
if (skill.isActive() && !player.hasSkillReuse(skill.getReuseHashCode())) final Skill existingSkill = addedSkills.get(skill.getId());
if (existingSkill != null)
{
if (existingSkill.getLevel() < skill.getLevel())
{ {
final int equipDelay = item.getEquipReuseDelay(); addedSkills.put(skill.getId(), skill);
if (equipDelay > 0)
{
player.addTimeStamp(skill, equipDelay);
player.disableSkill(skill, equipDelay);
}
updateTimestamp = true;
} }
} }
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;
}
} }
} }
} }
@@ -666,28 +661,35 @@ public abstract class Inventory extends ItemContainer
continue; continue;
} }
// Add skills bestowed from +4 armor if (equipped.getEnchantLevel() < holder.getValue())
if (equipped.getEnchantLevel() >= holder.getValue())
{ {
final Skill skill = holder.getSkill(); continue;
// Check passive skill conditions. }
if (skill.isPassive() && !skill.checkConditions(SkillConditionScope.PASSIVE, player, player))
{
continue;
}
if (addedSkills.containsKey(holder.getSkill().getId())) 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())
{ {
if (addedSkills.get(holder.getSkill().getId()).getLevel() < holder.getSkill().getLevel()) addedSkills.put(skill.getId(), skill);
{
addedSkills.put(holder.getSkill().getId(), holder.getSkill());
}
}
else
{
addedSkills.put(holder.getSkill().getId(), holder.getSkill());
} }
} }
else
{
addedSkills.put(skill.getId(), skill);
}
} }
} }

View File

@@ -322,20 +322,15 @@ public abstract class Inventory extends ItemContainer
{ {
for (ItemSkillHolder holder : onEnchantSkills) for (ItemSkillHolder holder : onEnchantSkills)
{ {
// Remove skills bestowed from +4 armor if (item.getEnchantLevel() < holder.getValue())
if (item.getEnchantLevel() >= holder.getValue())
{ {
if (removedSkills.containsKey(holder.getSkill().getId())) continue;
{ }
if (removedSkills.get(holder.getSkill().getId()).getLevel() < holder.getSkill().getLevel())
{ final Skill skill = holder.getSkill();
removedSkills.put(holder.getSkill().getId(), holder.getSkill()); if (skill != null)
} {
} removedSkills.putIfAbsent(skill.getId(), skill);
else
{
removedSkills.put(holder.getSkill().getId(), holder.getSkill());
}
update = true; update = true;
} }
} }
@@ -349,17 +344,7 @@ public abstract class Inventory extends ItemContainer
final Skill skill = holder.getSkill(); final Skill skill = holder.getSkill();
if (skill != null) if (skill != null)
{ {
if (removedSkills.containsKey(holder.getSkill().getId())) removedSkills.putIfAbsent(skill.getId(), skill);
{
if (removedSkills.get(holder.getSkill().getId()).getLevel() < holder.getSkill().getLevel())
{
removedSkills.put(holder.getSkill().getId(), holder.getSkill());
}
}
else
{
removedSkills.put(holder.getSkill().getId(), holder.getSkill());
}
update = true; update = true;
} }
} }
@@ -388,32 +373,35 @@ public abstract class Inventory extends ItemContainer
} }
final Skill skill = holder.getSkill(); final Skill skill = holder.getSkill();
if (skill != null) if (skill == null)
{ {
if (addedSkills.containsKey(holder.getSkill().getId())) continue;
{
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;
} }
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) 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(); continue;
// Check passive skill conditions. }
if (skill.isPassive() && !skill.checkConditions(SkillConditionScope.PASSIVE, player, player))
{ final Skill skill = holder.getSkill();
if (removedSkills.containsKey(holder.getSkill().getId())) if (skill == null)
{ {
if (removedSkills.get(holder.getSkill().getId()).getLevel() < holder.getSkill().getLevel()) continue;
{ }
removedSkills.put(holder.getSkill().getId(), holder.getSkill());
} // Check passive skill conditions.
} if (skill.isPassive() && !skill.checkConditions(SkillConditionScope.PASSIVE, player, player))
else {
{ removedSkills.putIfAbsent(skill.getId(), skill);
removedSkills.put(holder.getSkill().getId(), holder.getSkill()); update = true;
}
update = true;
}
} }
} }
} }
@@ -541,28 +525,35 @@ public abstract class Inventory extends ItemContainer
continue; continue;
} }
// Add skills bestowed from +4 armor if (item.getEnchantLevel() < holder.getValue())
if (item.getEnchantLevel() >= holder.getValue())
{ {
final Skill skill = holder.getSkill(); continue;
// Check passive skill conditions. }
if (skill.isPassive() && !skill.checkConditions(SkillConditionScope.PASSIVE, player, player))
{
continue;
}
if (addedSkills.containsKey(holder.getSkill().getId())) 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())
{ {
if (addedSkills.get(holder.getSkill().getId()).getLevel() < holder.getSkill().getLevel()) addedSkills.put(skill.getId(), skill);
{
addedSkills.put(holder.getSkill().getId(), holder.getSkill());
}
}
else
{
addedSkills.put(holder.getSkill().getId(), holder.getSkill());
} }
} }
else
{
addedSkills.put(skill.getId(), skill);
}
} }
} }
@@ -577,36 +568,40 @@ public abstract class Inventory extends ItemContainer
} }
final Skill skill = holder.getSkill(); final Skill skill = holder.getSkill();
if (skill != null) if (skill == null)
{ {
if (skill.isPassive() && !skill.checkConditions(SkillConditionScope.PASSIVE, player, player)) continue;
{ }
continue;
}
if (addedSkills.containsKey(holder.getSkill().getId())) // Check passive skill conditions.
{ if (skill.isPassive() && !skill.checkConditions(SkillConditionScope.PASSIVE, player, player))
if (addedSkills.get(holder.getSkill().getId()).getLevel() < holder.getSkill().getLevel()) {
{ continue;
addedSkills.put(holder.getSkill().getId(), holder.getSkill()); }
}
}
else
{
addedSkills.put(holder.getSkill().getId(), holder.getSkill());
}
if (skill.isActive() && !player.hasSkillReuse(skill.getReuseHashCode())) final Skill existingSkill = addedSkills.get(skill.getId());
if (existingSkill != null)
{
if (existingSkill.getLevel() < skill.getLevel())
{ {
final int equipDelay = item.getEquipReuseDelay(); addedSkills.put(skill.getId(), skill);
if (equipDelay > 0)
{
player.addTimeStamp(skill, equipDelay);
player.disableSkill(skill, equipDelay);
}
updateTimestamp = true;
} }
} }
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;
}
} }
} }
} }
@@ -632,28 +627,35 @@ public abstract class Inventory extends ItemContainer
continue; continue;
} }
// Add skills bestowed from +4 armor if (equipped.getEnchantLevel() < holder.getValue())
if (equipped.getEnchantLevel() >= holder.getValue())
{ {
final Skill skill = holder.getSkill(); continue;
// Check passive skill conditions. }
if (skill.isPassive() && !skill.checkConditions(SkillConditionScope.PASSIVE, player, player))
{
continue;
}
if (addedSkills.containsKey(holder.getSkill().getId())) 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())
{ {
if (addedSkills.get(holder.getSkill().getId()).getLevel() < holder.getSkill().getLevel()) addedSkills.put(skill.getId(), skill);
{
addedSkills.put(holder.getSkill().getId(), holder.getSkill());
}
}
else
{
addedSkills.put(holder.getSkill().getId(), holder.getSkill());
} }
} }
else
{
addedSkills.put(skill.getId(), skill);
}
} }
} }

View File

@@ -351,20 +351,15 @@ public abstract class Inventory extends ItemContainer
{ {
for (ItemSkillHolder holder : onEnchantSkills) for (ItemSkillHolder holder : onEnchantSkills)
{ {
// Remove skills bestowed from +4 armor if (item.getEnchantLevel() < holder.getValue())
if (item.getEnchantLevel() >= holder.getValue())
{ {
if (removedSkills.containsKey(holder.getSkill().getId())) continue;
{ }
if (removedSkills.get(holder.getSkill().getId()).getLevel() < holder.getSkill().getLevel())
{ final Skill skill = holder.getSkill();
removedSkills.put(holder.getSkill().getId(), holder.getSkill()); if (skill != null)
} {
} removedSkills.putIfAbsent(skill.getId(), skill);
else
{
removedSkills.put(holder.getSkill().getId(), holder.getSkill());
}
update = true; update = true;
} }
} }
@@ -378,17 +373,7 @@ public abstract class Inventory extends ItemContainer
final Skill skill = holder.getSkill(); final Skill skill = holder.getSkill();
if (skill != null) if (skill != null)
{ {
if (removedSkills.containsKey(holder.getSkill().getId())) removedSkills.putIfAbsent(skill.getId(), skill);
{
if (removedSkills.get(holder.getSkill().getId()).getLevel() < holder.getSkill().getLevel())
{
removedSkills.put(holder.getSkill().getId(), holder.getSkill());
}
}
else
{
removedSkills.put(holder.getSkill().getId(), holder.getSkill());
}
update = true; update = true;
} }
} }
@@ -417,32 +402,35 @@ public abstract class Inventory extends ItemContainer
} }
final Skill skill = holder.getSkill(); final Skill skill = holder.getSkill();
if (skill != null) if (skill == null)
{ {
if (addedSkills.containsKey(holder.getSkill().getId())) continue;
{
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;
} }
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) 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(); continue;
// Check passive skill conditions. }
if (skill.isPassive() && !skill.checkConditions(SkillConditionScope.PASSIVE, player, player))
{ final Skill skill = holder.getSkill();
if (removedSkills.containsKey(holder.getSkill().getId())) if (skill == null)
{ {
if (removedSkills.get(holder.getSkill().getId()).getLevel() < holder.getSkill().getLevel()) continue;
{ }
removedSkills.put(holder.getSkill().getId(), holder.getSkill());
} // Check passive skill conditions.
} if (skill.isPassive() && !skill.checkConditions(SkillConditionScope.PASSIVE, player, player))
else {
{ removedSkills.putIfAbsent(skill.getId(), skill);
removedSkills.put(holder.getSkill().getId(), holder.getSkill()); update = true;
}
update = true;
}
} }
} }
} }
@@ -570,28 +554,35 @@ public abstract class Inventory extends ItemContainer
continue; continue;
} }
// Add skills bestowed from +4 armor if (item.getEnchantLevel() < holder.getValue())
if (item.getEnchantLevel() >= holder.getValue())
{ {
final Skill skill = holder.getSkill(); continue;
// Check passive skill conditions. }
if (skill.isPassive() && !skill.checkConditions(SkillConditionScope.PASSIVE, player, player))
{
continue;
}
if (addedSkills.containsKey(holder.getSkill().getId())) 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())
{ {
if (addedSkills.get(holder.getSkill().getId()).getLevel() < holder.getSkill().getLevel()) addedSkills.put(skill.getId(), skill);
{
addedSkills.put(holder.getSkill().getId(), holder.getSkill());
}
}
else
{
addedSkills.put(holder.getSkill().getId(), holder.getSkill());
} }
} }
else
{
addedSkills.put(skill.getId(), skill);
}
} }
} }
@@ -606,36 +597,40 @@ public abstract class Inventory extends ItemContainer
} }
final Skill skill = holder.getSkill(); final Skill skill = holder.getSkill();
if (skill != null) if (skill == null)
{ {
if (skill.isPassive() && !skill.checkConditions(SkillConditionScope.PASSIVE, player, player)) continue;
{ }
continue;
}
if (addedSkills.containsKey(holder.getSkill().getId())) // Check passive skill conditions.
{ if (skill.isPassive() && !skill.checkConditions(SkillConditionScope.PASSIVE, player, player))
if (addedSkills.get(holder.getSkill().getId()).getLevel() < holder.getSkill().getLevel()) {
{ continue;
addedSkills.put(holder.getSkill().getId(), holder.getSkill()); }
}
}
else
{
addedSkills.put(holder.getSkill().getId(), holder.getSkill());
}
if (skill.isActive() && !player.hasSkillReuse(skill.getReuseHashCode())) final Skill existingSkill = addedSkills.get(skill.getId());
if (existingSkill != null)
{
if (existingSkill.getLevel() < skill.getLevel())
{ {
final int equipDelay = item.getEquipReuseDelay(); addedSkills.put(skill.getId(), skill);
if (equipDelay > 0)
{
player.addTimeStamp(skill, equipDelay);
player.disableSkill(skill, equipDelay);
}
updateTimestamp = true;
} }
} }
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;
}
} }
} }
} }
@@ -661,28 +656,35 @@ public abstract class Inventory extends ItemContainer
continue; continue;
} }
// Add skills bestowed from +4 armor if (equipped.getEnchantLevel() < holder.getValue())
if (equipped.getEnchantLevel() >= holder.getValue())
{ {
final Skill skill = holder.getSkill(); continue;
// Check passive skill conditions. }
if (skill.isPassive() && !skill.checkConditions(SkillConditionScope.PASSIVE, player, player))
{
continue;
}
if (addedSkills.containsKey(holder.getSkill().getId())) 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())
{ {
if (addedSkills.get(holder.getSkill().getId()).getLevel() < holder.getSkill().getLevel()) addedSkills.put(skill.getId(), skill);
{
addedSkills.put(holder.getSkill().getId(), holder.getSkill());
}
}
else
{
addedSkills.put(holder.getSkill().getId(), holder.getSkill());
} }
} }
else
{
addedSkills.put(skill.getId(), skill);
}
} }
} }

View File

@@ -360,20 +360,15 @@ public abstract class Inventory extends ItemContainer
{ {
for (ItemSkillHolder holder : onEnchantSkills) for (ItemSkillHolder holder : onEnchantSkills)
{ {
// Remove skills bestowed from +4 armor if (item.getEnchantLevel() < holder.getValue())
if (item.getEnchantLevel() >= holder.getValue())
{ {
if (removedSkills.containsKey(holder.getSkill().getId())) continue;
{ }
if (removedSkills.get(holder.getSkill().getId()).getLevel() < holder.getSkill().getLevel())
{ final Skill skill = holder.getSkill();
removedSkills.put(holder.getSkill().getId(), holder.getSkill()); if (skill != null)
} {
} removedSkills.putIfAbsent(skill.getId(), skill);
else
{
removedSkills.put(holder.getSkill().getId(), holder.getSkill());
}
update = true; update = true;
} }
} }
@@ -386,18 +381,12 @@ public abstract class Inventory extends ItemContainer
{ {
for (ItemSkillHolder holder : onBlessingSkills) for (ItemSkillHolder holder : onBlessingSkills)
{ {
if (removedSkills.containsKey(holder.getSkill().getId())) final Skill skill = holder.getSkill();
if (skill != null)
{ {
if (removedSkills.get(holder.getSkill().getId()).getLevel() < holder.getSkill().getLevel()) removedSkills.putIfAbsent(skill.getId(), skill);
{ update = true;
removedSkills.put(holder.getSkill().getId(), holder.getSkill());
}
} }
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(); final Skill skill = holder.getSkill();
if (skill != null) if (skill != null)
{ {
if (removedSkills.containsKey(holder.getSkill().getId())) removedSkills.putIfAbsent(skill.getId(), skill);
{
if (removedSkills.get(holder.getSkill().getId()).getLevel() < holder.getSkill().getLevel())
{
removedSkills.put(holder.getSkill().getId(), holder.getSkill());
}
}
else
{
removedSkills.put(holder.getSkill().getId(), holder.getSkill());
}
update = true; update = true;
} }
} }
@@ -449,32 +428,35 @@ public abstract class Inventory extends ItemContainer
} }
final Skill skill = holder.getSkill(); final Skill skill = holder.getSkill();
if (skill != null) if (skill == null)
{ {
if (addedSkills.containsKey(holder.getSkill().getId())) continue;
{
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;
} }
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) 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(); continue;
// Check passive skill conditions. }
if (skill.isPassive() && !skill.checkConditions(SkillConditionScope.PASSIVE, player, player))
{ final Skill skill = holder.getSkill();
if (removedSkills.containsKey(holder.getSkill().getId())) if (skill == null)
{ {
if (removedSkills.get(holder.getSkill().getId()).getLevel() < holder.getSkill().getLevel()) continue;
{ }
removedSkills.put(holder.getSkill().getId(), holder.getSkill());
} // Check passive skill conditions.
} if (skill.isPassive() && !skill.checkConditions(SkillConditionScope.PASSIVE, player, player))
else {
{ removedSkills.putIfAbsent(skill.getId(), skill);
removedSkills.put(holder.getSkill().getId(), holder.getSkill()); update = true;
}
update = true;
}
} }
} }
} }
@@ -527,22 +505,16 @@ public abstract class Inventory extends ItemContainer
{ {
for (ItemSkillHolder holder : otherBlessingSkills) for (ItemSkillHolder holder : otherBlessingSkills)
{ {
// Add skills bestowed from +4 armor
final Skill skill = holder.getSkill(); final Skill skill = holder.getSkill();
if (skill == null)
{
continue;
}
// Check passive skill conditions. // Check passive skill conditions.
if (skill.isPassive() && !skill.checkConditions(SkillConditionScope.PASSIVE, player, player)) if (skill.isPassive() && !skill.checkConditions(SkillConditionScope.PASSIVE, player, player))
{ {
if (removedSkills.containsKey(holder.getSkill().getId())) removedSkills.putIfAbsent(skill.getId(), skill);
{
if (removedSkills.get(holder.getSkill().getId()).getLevel() < holder.getSkill().getLevel())
{
removedSkills.put(holder.getSkill().getId(), holder.getSkill());
}
}
else
{
removedSkills.put(holder.getSkill().getId(), holder.getSkill());
}
update = true; update = true;
} }
} }
@@ -631,28 +603,35 @@ public abstract class Inventory extends ItemContainer
continue; continue;
} }
// Add skills bestowed from +4 armor if (item.getEnchantLevel() < holder.getValue())
if (item.getEnchantLevel() >= holder.getValue())
{ {
final Skill skill = holder.getSkill(); continue;
// Check passive skill conditions. }
if (skill.isPassive() && !skill.checkConditions(SkillConditionScope.PASSIVE, player, player))
{
continue;
}
if (addedSkills.containsKey(holder.getSkill().getId())) 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())
{ {
if (addedSkills.get(holder.getSkill().getId()).getLevel() < holder.getSkill().getLevel()) addedSkills.put(skill.getId(), skill);
{
addedSkills.put(holder.getSkill().getId(), holder.getSkill());
}
}
else
{
addedSkills.put(holder.getSkill().getId(), holder.getSkill());
} }
} }
else
{
addedSkills.put(skill.getId(), skill);
}
} }
} }
@@ -668,24 +647,29 @@ public abstract class Inventory extends ItemContainer
continue; continue;
} }
// Add skills bestowed from +4 armor
final Skill skill = holder.getSkill(); final Skill skill = holder.getSkill();
if (skill == null)
{
continue;
}
// Check passive skill conditions. // Check passive skill conditions.
if (skill.isPassive() && !skill.checkConditions(SkillConditionScope.PASSIVE, player, player)) if (skill.isPassive() && !skill.checkConditions(SkillConditionScope.PASSIVE, player, player))
{ {
continue; continue;
} }
if (addedSkills.containsKey(holder.getSkill().getId())) final Skill existingSkill = addedSkills.get(skill.getId());
if (existingSkill != null)
{ {
if (addedSkills.get(holder.getSkill().getId()).getLevel() < holder.getSkill().getLevel()) if (existingSkill.getLevel() < skill.getLevel())
{ {
addedSkills.put(holder.getSkill().getId(), holder.getSkill()); addedSkills.put(skill.getId(), skill);
} }
} }
else else
{ {
addedSkills.put(holder.getSkill().getId(), holder.getSkill()); addedSkills.put(skill.getId(), skill);
} }
} }
} }
@@ -702,36 +686,40 @@ public abstract class Inventory extends ItemContainer
} }
final Skill skill = holder.getSkill(); final Skill skill = holder.getSkill();
if (skill != null) if (skill == null)
{ {
if (skill.isPassive() && !skill.checkConditions(SkillConditionScope.PASSIVE, player, player)) continue;
{ }
continue;
}
if (addedSkills.containsKey(holder.getSkill().getId())) // Check passive skill conditions.
{ if (skill.isPassive() && !skill.checkConditions(SkillConditionScope.PASSIVE, player, player))
if (addedSkills.get(holder.getSkill().getId()).getLevel() < holder.getSkill().getLevel()) {
{ continue;
addedSkills.put(holder.getSkill().getId(), holder.getSkill()); }
}
}
else
{
addedSkills.put(holder.getSkill().getId(), holder.getSkill());
}
if (skill.isActive() && !player.hasSkillReuse(skill.getReuseHashCode())) final Skill existingSkill = addedSkills.get(skill.getId());
if (existingSkill != null)
{
if (existingSkill.getLevel() < skill.getLevel())
{ {
final int equipDelay = item.getEquipReuseDelay(); addedSkills.put(skill.getId(), skill);
if (equipDelay > 0)
{
player.addTimeStamp(skill, equipDelay);
player.disableSkill(skill, equipDelay);
}
updateTimestamp = true;
} }
} }
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;
}
} }
} }
} }
@@ -760,28 +748,35 @@ public abstract class Inventory extends ItemContainer
continue; continue;
} }
// Add skills bestowed from +4 armor if (equipped.getEnchantLevel() < holder.getValue())
if (equipped.getEnchantLevel() >= holder.getValue())
{ {
final Skill skill = holder.getSkill(); continue;
// Check passive skill conditions. }
if (skill.isPassive() && !skill.checkConditions(SkillConditionScope.PASSIVE, player, player))
{
continue;
}
if (addedSkills.containsKey(holder.getSkill().getId())) 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())
{ {
if (addedSkills.get(holder.getSkill().getId()).getLevel() < holder.getSkill().getLevel()) addedSkills.put(skill.getId(), skill);
{
addedSkills.put(holder.getSkill().getId(), holder.getSkill());
}
}
else
{
addedSkills.put(holder.getSkill().getId(), holder.getSkill());
} }
} }
else
{
addedSkills.put(skill.getId(), skill);
}
} }
} }
@@ -794,26 +789,31 @@ public abstract class Inventory extends ItemContainer
continue; continue;
} }
// Add skills bestowed from +4 armor
if (equipped.isBlessed()) if (equipped.isBlessed())
{ {
final Skill skill = holder.getSkill(); final Skill skill = holder.getSkill();
if (skill == null)
{
continue;
}
// Check passive skill conditions. // Check passive skill conditions.
if (skill.isPassive() && !skill.checkConditions(SkillConditionScope.PASSIVE, player, player)) if (skill.isPassive() && !skill.checkConditions(SkillConditionScope.PASSIVE, player, player))
{ {
continue; continue;
} }
if (addedSkills.containsKey(holder.getSkill().getId())) final Skill existingSkill = addedSkills.get(skill.getId());
if (existingSkill != null)
{ {
if (addedSkills.get(holder.getSkill().getId()).getLevel() < holder.getSkill().getLevel()) if (existingSkill.getLevel() < skill.getLevel())
{ {
addedSkills.put(holder.getSkill().getId(), holder.getSkill()); addedSkills.put(skill.getId(), skill);
} }
} }
else else
{ {
addedSkills.put(holder.getSkill().getId(), holder.getSkill()); addedSkills.put(skill.getId(), skill);
} }
} }
} }