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

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