Fixed exceptions when transforming after last streams update.

Contributed by Sahar.
This commit is contained in:
MobiusDevelopment
2020-06-20 05:28:53 +00:00
parent b7040e9288
commit 9e1f81f639
15 changed files with 135 additions and 285 deletions
@@ -11634,13 +11634,7 @@ public class PlayerInstance extends Playable
if (isTransformed() && !_transformSkills.isEmpty()) if (isTransformed() && !_transformSkills.isEmpty())
{ {
// Include transformation skills and those skills that are allowed during transformation. // Include transformation skills and those skills that are allowed during transformation.
for (Skill skill : currentSkills) currentSkills = currentSkills.stream().filter(Skill::allowOnTransform).collect(Collectors.toList());
{
if (!skill.allowOnTransform())
{
currentSkills.remove(skill);
}
}
// Revelation skills. // Revelation skills.
if (isDualClassActive()) if (isDualClassActive())
@@ -11673,18 +11667,14 @@ public class PlayerInstance extends Playable
currentSkills.addAll(_transformSkills.values()); currentSkills.addAll(_transformSkills.values());
} }
for (Skill skill : currentSkills) //@formatter:off
{ return currentSkills.stream()
if ((skill == null) // .filter(Objects::nonNull)
|| skill.isBlockActionUseSkill() // Skills that are blocked from player use are not shown in skill list. .filter(s -> !s.isBlockActionUseSkill()) // Skills that are blocked from player use are not shown in skill list.
|| SkillTreeData.getInstance().isAlchemySkill(skill.getId(), skill.getLevel()) // .filter(s -> !SkillTreeData.getInstance().isAlchemySkill(s.getId(), s.getLevel()))
|| !skill.isDisplayInList()) .filter(s -> s.isDisplayInList())
{ .collect(Collectors.toList());
currentSkills.remove(skill); //@formatter:on
}
}
return currentSkills;
} }
protected void startFeed(int npcId) protected void startFeed(int npcId)
@@ -11641,13 +11641,7 @@ public class PlayerInstance extends Playable
if (isTransformed() && !_transformSkills.isEmpty()) if (isTransformed() && !_transformSkills.isEmpty())
{ {
// Include transformation skills and those skills that are allowed during transformation. // Include transformation skills and those skills that are allowed during transformation.
for (Skill skill : currentSkills) currentSkills = currentSkills.stream().filter(Skill::allowOnTransform).collect(Collectors.toList());
{
if (!skill.allowOnTransform())
{
currentSkills.remove(skill);
}
}
// Revelation skills. // Revelation skills.
if (isDualClassActive()) if (isDualClassActive())
@@ -11680,18 +11674,14 @@ public class PlayerInstance extends Playable
currentSkills.addAll(_transformSkills.values()); currentSkills.addAll(_transformSkills.values());
} }
for (Skill skill : currentSkills) //@formatter:off
{ return currentSkills.stream()
if ((skill == null) // .filter(Objects::nonNull)
|| skill.isBlockActionUseSkill() // Skills that are blocked from player use are not shown in skill list. .filter(s -> !s.isBlockActionUseSkill()) // Skills that are blocked from player use are not shown in skill list.
|| SkillTreeData.getInstance().isAlchemySkill(skill.getId(), skill.getLevel()) // .filter(s -> !SkillTreeData.getInstance().isAlchemySkill(s.getId(), s.getLevel()))
|| !skill.isDisplayInList()) .filter(s -> s.isDisplayInList())
{ .collect(Collectors.toList());
currentSkills.remove(skill); //@formatter:on
}
}
return currentSkills;
} }
protected void startFeed(int npcId) protected void startFeed(int npcId)
@@ -11643,13 +11643,7 @@ public class PlayerInstance extends Playable
if (isTransformed() && !_transformSkills.isEmpty()) if (isTransformed() && !_transformSkills.isEmpty())
{ {
// Include transformation skills and those skills that are allowed during transformation. // Include transformation skills and those skills that are allowed during transformation.
for (Skill skill : currentSkills) currentSkills = currentSkills.stream().filter(Skill::allowOnTransform).collect(Collectors.toList());
{
if (!skill.allowOnTransform())
{
currentSkills.remove(skill);
}
}
// Revelation skills. // Revelation skills.
if (isDualClassActive()) if (isDualClassActive())
@@ -11682,18 +11676,14 @@ public class PlayerInstance extends Playable
currentSkills.addAll(_transformSkills.values()); currentSkills.addAll(_transformSkills.values());
} }
for (Skill skill : currentSkills) //@formatter:off
{ return currentSkills.stream()
if ((skill == null) // .filter(Objects::nonNull)
|| skill.isBlockActionUseSkill() // Skills that are blocked from player use are not shown in skill list. .filter(s -> !s.isBlockActionUseSkill()) // Skills that are blocked from player use are not shown in skill list.
|| SkillTreeData.getInstance().isAlchemySkill(skill.getId(), skill.getLevel()) // .filter(s -> !SkillTreeData.getInstance().isAlchemySkill(s.getId(), s.getLevel()))
|| !skill.isDisplayInList()) .filter(s -> s.isDisplayInList())
{ .collect(Collectors.toList());
currentSkills.remove(skill); //@formatter:on
}
}
return currentSkills;
} }
protected void startFeed(int npcId) protected void startFeed(int npcId)
@@ -11624,13 +11624,7 @@ public class PlayerInstance extends Playable
if (isTransformed() && !_transformSkills.isEmpty()) if (isTransformed() && !_transformSkills.isEmpty())
{ {
// Include transformation skills and those skills that are allowed during transformation. // Include transformation skills and those skills that are allowed during transformation.
for (Skill skill : currentSkills) currentSkills = currentSkills.stream().filter(Skill::allowOnTransform).collect(Collectors.toList());
{
if (!skill.allowOnTransform())
{
currentSkills.remove(skill);
}
}
// Revelation skills. // Revelation skills.
if (isDualClassActive()) if (isDualClassActive())
@@ -11663,18 +11657,14 @@ public class PlayerInstance extends Playable
currentSkills.addAll(_transformSkills.values()); currentSkills.addAll(_transformSkills.values());
} }
for (Skill skill : currentSkills) //@formatter:off
{ return currentSkills.stream()
if ((skill == null) // .filter(Objects::nonNull)
|| skill.isBlockActionUseSkill() // Skills that are blocked from player use are not shown in skill list. .filter(s -> !s.isBlockActionUseSkill()) // Skills that are blocked from player use are not shown in skill list.
|| SkillTreeData.getInstance().isAlchemySkill(skill.getId(), skill.getLevel()) // .filter(s -> !SkillTreeData.getInstance().isAlchemySkill(s.getId(), s.getLevel()))
|| !skill.isDisplayInList()) .filter(s -> s.isDisplayInList())
{ .collect(Collectors.toList());
currentSkills.remove(skill); //@formatter:on
}
}
return currentSkills;
} }
protected void startFeed(int npcId) protected void startFeed(int npcId)
@@ -11611,13 +11611,7 @@ public class PlayerInstance extends Playable
if (isTransformed() && !_transformSkills.isEmpty()) if (isTransformed() && !_transformSkills.isEmpty())
{ {
// Include transformation skills and those skills that are allowed during transformation. // Include transformation skills and those skills that are allowed during transformation.
for (Skill skill : currentSkills) currentSkills = currentSkills.stream().filter(Skill::allowOnTransform).collect(Collectors.toList());
{
if (!skill.allowOnTransform())
{
currentSkills.remove(skill);
}
}
// Revelation skills. // Revelation skills.
if (isDualClassActive()) if (isDualClassActive())
@@ -11650,18 +11644,14 @@ public class PlayerInstance extends Playable
currentSkills.addAll(_transformSkills.values()); currentSkills.addAll(_transformSkills.values());
} }
for (Skill skill : currentSkills) //@formatter:off
{ return currentSkills.stream()
if ((skill == null) // .filter(Objects::nonNull)
|| skill.isBlockActionUseSkill() // Skills that are blocked from player use are not shown in skill list. .filter(s -> !s.isBlockActionUseSkill()) // Skills that are blocked from player use are not shown in skill list.
|| SkillTreeData.getInstance().isAlchemySkill(skill.getId(), skill.getLevel()) // .filter(s -> !SkillTreeData.getInstance().isAlchemySkill(s.getId(), s.getLevel()))
|| !skill.isDisplayInList()) .filter(s -> s.isDisplayInList())
{ .collect(Collectors.toList());
currentSkills.remove(skill); //@formatter:on
}
}
return currentSkills;
} }
protected void startFeed(int npcId) protected void startFeed(int npcId)
@@ -11614,13 +11614,7 @@ public class PlayerInstance extends Playable
if (isTransformed() && !_transformSkills.isEmpty()) if (isTransformed() && !_transformSkills.isEmpty())
{ {
// Include transformation skills and those skills that are allowed during transformation. // Include transformation skills and those skills that are allowed during transformation.
for (Skill skill : currentSkills) currentSkills = currentSkills.stream().filter(Skill::allowOnTransform).collect(Collectors.toList());
{
if (!skill.allowOnTransform())
{
currentSkills.remove(skill);
}
}
// Revelation skills. // Revelation skills.
if (isDualClassActive()) if (isDualClassActive())
@@ -11653,18 +11647,14 @@ public class PlayerInstance extends Playable
currentSkills.addAll(_transformSkills.values()); currentSkills.addAll(_transformSkills.values());
} }
for (Skill skill : currentSkills) //@formatter:off
{ return currentSkills.stream()
if ((skill == null) // .filter(Objects::nonNull)
|| skill.isBlockActionUseSkill() // Skills that are blocked from player use are not shown in skill list. .filter(s -> !s.isBlockActionUseSkill()) // Skills that are blocked from player use are not shown in skill list.
|| SkillTreeData.getInstance().isAlchemySkill(skill.getId(), skill.getLevel()) // .filter(s -> !SkillTreeData.getInstance().isAlchemySkill(s.getId(), s.getLevel()))
|| !skill.isDisplayInList()) .filter(s -> s.isDisplayInList())
{ .collect(Collectors.toList());
currentSkills.remove(skill); //@formatter:on
}
}
return currentSkills;
} }
protected void startFeed(int npcId) protected void startFeed(int npcId)
@@ -11620,13 +11620,7 @@ public class PlayerInstance extends Playable
if (isTransformed() && !_transformSkills.isEmpty()) if (isTransformed() && !_transformSkills.isEmpty())
{ {
// Include transformation skills and those skills that are allowed during transformation. // Include transformation skills and those skills that are allowed during transformation.
for (Skill skill : currentSkills) currentSkills = currentSkills.stream().filter(Skill::allowOnTransform).collect(Collectors.toList());
{
if (!skill.allowOnTransform())
{
currentSkills.remove(skill);
}
}
// Revelation skills. // Revelation skills.
if (isDualClassActive()) if (isDualClassActive())
@@ -11659,18 +11653,14 @@ public class PlayerInstance extends Playable
currentSkills.addAll(_transformSkills.values()); currentSkills.addAll(_transformSkills.values());
} }
for (Skill skill : currentSkills) //@formatter:off
{ return currentSkills.stream()
if ((skill == null) // .filter(Objects::nonNull)
|| skill.isBlockActionUseSkill() // Skills that are blocked from player use are not shown in skill list. .filter(s -> !s.isBlockActionUseSkill()) // Skills that are blocked from player use are not shown in skill list.
|| SkillTreeData.getInstance().isAlchemySkill(skill.getId(), skill.getLevel()) // .filter(s -> !SkillTreeData.getInstance().isAlchemySkill(s.getId(), s.getLevel()))
|| !skill.isDisplayInList()) .filter(s -> s.isDisplayInList())
{ .collect(Collectors.toList());
currentSkills.remove(skill); //@formatter:on
}
}
return currentSkills;
} }
protected void startFeed(int npcId) protected void startFeed(int npcId)
@@ -11592,13 +11592,7 @@ public class PlayerInstance extends Playable
if (isTransformed() && !_transformSkills.isEmpty()) if (isTransformed() && !_transformSkills.isEmpty())
{ {
// Include transformation skills and those skills that are allowed during transformation. // Include transformation skills and those skills that are allowed during transformation.
for (Skill skill : currentSkills) currentSkills = currentSkills.stream().filter(Skill::allowOnTransform).collect(Collectors.toList());
{
if (!skill.allowOnTransform())
{
currentSkills.remove(skill);
}
}
// Revelation skills. // Revelation skills.
if (isDualClassActive()) if (isDualClassActive())
@@ -11631,18 +11625,14 @@ public class PlayerInstance extends Playable
currentSkills.addAll(_transformSkills.values()); currentSkills.addAll(_transformSkills.values());
} }
for (Skill skill : currentSkills) //@formatter:off
{ return currentSkills.stream()
if ((skill == null) // .filter(Objects::nonNull)
|| skill.isBlockActionUseSkill() // Skills that are blocked from player use are not shown in skill list. .filter(s -> !s.isBlockActionUseSkill()) // Skills that are blocked from player use are not shown in skill list.
|| SkillTreeData.getInstance().isAlchemySkill(skill.getId(), skill.getLevel()) // .filter(s -> !SkillTreeData.getInstance().isAlchemySkill(s.getId(), s.getLevel()))
|| !skill.isDisplayInList()) .filter(s -> s.isDisplayInList())
{ .collect(Collectors.toList());
currentSkills.remove(skill); //@formatter:on
}
}
return currentSkills;
} }
protected void startFeed(int npcId) protected void startFeed(int npcId)
@@ -11486,13 +11486,7 @@ public class PlayerInstance extends Playable
if (isTransformed() && !_transformSkills.isEmpty()) if (isTransformed() && !_transformSkills.isEmpty())
{ {
// Include transformation skills and those skills that are allowed during transformation. // Include transformation skills and those skills that are allowed during transformation.
for (Skill skill : currentSkills) currentSkills = currentSkills.stream().filter(Skill::allowOnTransform).collect(Collectors.toList());
{
if (!skill.allowOnTransform())
{
currentSkills.remove(skill);
}
}
// Revelation skills. // Revelation skills.
if (isDualClassActive()) if (isDualClassActive())
@@ -11525,18 +11519,14 @@ public class PlayerInstance extends Playable
currentSkills.addAll(_transformSkills.values()); currentSkills.addAll(_transformSkills.values());
} }
for (Skill skill : currentSkills) //@formatter:off
{ return currentSkills.stream()
if ((skill == null) // .filter(Objects::nonNull)
|| skill.isBlockActionUseSkill() // Skills that are blocked from player use are not shown in skill list. .filter(s -> !s.isBlockActionUseSkill()) // Skills that are blocked from player use are not shown in skill list.
|| SkillTreeData.getInstance().isAlchemySkill(skill.getId(), skill.getLevel()) // .filter(s -> !SkillTreeData.getInstance().isAlchemySkill(s.getId(), s.getLevel()))
|| !skill.isDisplayInList()) .filter(s -> s.isDisplayInList())
{ .collect(Collectors.toList());
currentSkills.remove(skill); //@formatter:on
}
}
return currentSkills;
} }
protected void startFeed(int npcId) protected void startFeed(int npcId)
@@ -11486,13 +11486,7 @@ public class PlayerInstance extends Playable
if (isTransformed() && !_transformSkills.isEmpty()) if (isTransformed() && !_transformSkills.isEmpty())
{ {
// Include transformation skills and those skills that are allowed during transformation. // Include transformation skills and those skills that are allowed during transformation.
for (Skill skill : currentSkills) currentSkills = currentSkills.stream().filter(Skill::allowOnTransform).collect(Collectors.toList());
{
if (!skill.allowOnTransform())
{
currentSkills.remove(skill);
}
}
// Revelation skills. // Revelation skills.
if (isDualClassActive()) if (isDualClassActive())
@@ -11525,18 +11519,14 @@ public class PlayerInstance extends Playable
currentSkills.addAll(_transformSkills.values()); currentSkills.addAll(_transformSkills.values());
} }
for (Skill skill : currentSkills) //@formatter:off
{ return currentSkills.stream()
if ((skill == null) // .filter(Objects::nonNull)
|| skill.isBlockActionUseSkill() // Skills that are blocked from player use are not shown in skill list. .filter(s -> !s.isBlockActionUseSkill()) // Skills that are blocked from player use are not shown in skill list.
|| SkillTreeData.getInstance().isAlchemySkill(skill.getId(), skill.getLevel()) // .filter(s -> !SkillTreeData.getInstance().isAlchemySkill(s.getId(), s.getLevel()))
|| !skill.isDisplayInList()) .filter(s -> s.isDisplayInList())
{ .collect(Collectors.toList());
currentSkills.remove(skill); //@formatter:on
}
}
return currentSkills;
} }
protected void startFeed(int npcId) protected void startFeed(int npcId)
@@ -11472,13 +11472,7 @@ public class PlayerInstance extends Playable
if (isTransformed() && !_transformSkills.isEmpty()) if (isTransformed() && !_transformSkills.isEmpty())
{ {
// Include transformation skills and those skills that are allowed during transformation. // Include transformation skills and those skills that are allowed during transformation.
for (Skill skill : currentSkills) currentSkills = currentSkills.stream().filter(Skill::allowOnTransform).collect(Collectors.toList());
{
if (!skill.allowOnTransform())
{
currentSkills.remove(skill);
}
}
// Revelation skills. // Revelation skills.
if (isDualClassActive()) if (isDualClassActive())
@@ -11511,18 +11505,14 @@ public class PlayerInstance extends Playable
currentSkills.addAll(_transformSkills.values()); currentSkills.addAll(_transformSkills.values());
} }
for (Skill skill : currentSkills) //@formatter:off
{ return currentSkills.stream()
if ((skill == null) // .filter(Objects::nonNull)
|| skill.isBlockActionUseSkill() // Skills that are blocked from player use are not shown in skill list. .filter(s -> !s.isBlockActionUseSkill()) // Skills that are blocked from player use are not shown in skill list.
|| SkillTreeData.getInstance().isAlchemySkill(skill.getId(), skill.getLevel()) // .filter(s -> !SkillTreeData.getInstance().isAlchemySkill(s.getId(), s.getLevel()))
|| !skill.isDisplayInList()) .filter(s -> s.isDisplayInList())
{ .collect(Collectors.toList());
currentSkills.remove(skill); //@formatter:on
}
}
return currentSkills;
} }
protected void startFeed(int npcId) protected void startFeed(int npcId)
@@ -11514,13 +11514,7 @@ public class PlayerInstance extends Playable
if (isTransformed() && !_transformSkills.isEmpty()) if (isTransformed() && !_transformSkills.isEmpty())
{ {
// Include transformation skills and those skills that are allowed during transformation. // Include transformation skills and those skills that are allowed during transformation.
for (Skill skill : currentSkills) currentSkills = currentSkills.stream().filter(Skill::allowOnTransform).collect(Collectors.toList());
{
if (!skill.allowOnTransform())
{
currentSkills.remove(skill);
}
}
// Revelation skills. // Revelation skills.
if (isDualClassActive()) if (isDualClassActive())
@@ -11553,18 +11547,14 @@ public class PlayerInstance extends Playable
currentSkills.addAll(_transformSkills.values()); currentSkills.addAll(_transformSkills.values());
} }
for (Skill skill : currentSkills) //@formatter:off
{ return currentSkills.stream()
if ((skill == null) // .filter(Objects::nonNull)
|| skill.isBlockActionUseSkill() // Skills that are blocked from player use are not shown in skill list. .filter(s -> !s.isBlockActionUseSkill()) // Skills that are blocked from player use are not shown in skill list.
|| SkillTreeData.getInstance().isAlchemySkill(skill.getId(), skill.getLevel()) // .filter(s -> !SkillTreeData.getInstance().isAlchemySkill(s.getId(), s.getLevel()))
|| !skill.isDisplayInList()) .filter(s -> s.isDisplayInList())
{ .collect(Collectors.toList());
currentSkills.remove(skill); //@formatter:on
}
}
return currentSkills;
} }
protected void startFeed(int npcId) protected void startFeed(int npcId)
@@ -11514,13 +11514,7 @@ public class PlayerInstance extends Playable
if (isTransformed() && !_transformSkills.isEmpty()) if (isTransformed() && !_transformSkills.isEmpty())
{ {
// Include transformation skills and those skills that are allowed during transformation. // Include transformation skills and those skills that are allowed during transformation.
for (Skill skill : currentSkills) currentSkills = currentSkills.stream().filter(Skill::allowOnTransform).collect(Collectors.toList());
{
if (!skill.allowOnTransform())
{
currentSkills.remove(skill);
}
}
// Revelation skills. // Revelation skills.
if (isDualClassActive()) if (isDualClassActive())
@@ -11553,18 +11547,14 @@ public class PlayerInstance extends Playable
currentSkills.addAll(_transformSkills.values()); currentSkills.addAll(_transformSkills.values());
} }
for (Skill skill : currentSkills) //@formatter:off
{ return currentSkills.stream()
if ((skill == null) // .filter(Objects::nonNull)
|| skill.isBlockActionUseSkill() // Skills that are blocked from player use are not shown in skill list. .filter(s -> !s.isBlockActionUseSkill()) // Skills that are blocked from player use are not shown in skill list.
|| SkillTreeData.getInstance().isAlchemySkill(skill.getId(), skill.getLevel()) // .filter(s -> !SkillTreeData.getInstance().isAlchemySkill(s.getId(), s.getLevel()))
|| !skill.isDisplayInList()) .filter(s -> s.isDisplayInList())
{ .collect(Collectors.toList());
currentSkills.remove(skill); //@formatter:on
}
}
return currentSkills;
} }
protected void startFeed(int npcId) protected void startFeed(int npcId)
@@ -11439,13 +11439,7 @@ public class PlayerInstance extends Playable
if (isTransformed() && !_transformSkills.isEmpty()) if (isTransformed() && !_transformSkills.isEmpty())
{ {
// Include transformation skills and those skills that are allowed during transformation. // Include transformation skills and those skills that are allowed during transformation.
for (Skill skill : currentSkills) currentSkills = currentSkills.stream().filter(Skill::allowOnTransform).collect(Collectors.toList());
{
if (!skill.allowOnTransform())
{
currentSkills.remove(skill);
}
}
// Revelation skills. // Revelation skills.
if (isDualClassActive()) if (isDualClassActive())
@@ -11478,18 +11472,14 @@ public class PlayerInstance extends Playable
currentSkills.addAll(_transformSkills.values()); currentSkills.addAll(_transformSkills.values());
} }
for (Skill skill : currentSkills) //@formatter:off
{ return currentSkills.stream()
if ((skill == null) // .filter(Objects::nonNull)
|| skill.isBlockActionUseSkill() // Skills that are blocked from player use are not shown in skill list. .filter(s -> !s.isBlockActionUseSkill()) // Skills that are blocked from player use are not shown in skill list.
|| SkillTreeData.getInstance().isAlchemySkill(skill.getId(), skill.getLevel()) // .filter(s -> !SkillTreeData.getInstance().isAlchemySkill(s.getId(), s.getLevel()))
|| !skill.isDisplayInList()) .filter(s -> s.isDisplayInList())
{ .collect(Collectors.toList());
currentSkills.remove(skill); //@formatter:on
}
}
return currentSkills;
} }
protected void startFeed(int npcId) protected void startFeed(int npcId)
@@ -11507,13 +11507,7 @@ public class PlayerInstance extends Playable
if (isTransformed() && !_transformSkills.isEmpty()) if (isTransformed() && !_transformSkills.isEmpty())
{ {
// Include transformation skills and those skills that are allowed during transformation. // Include transformation skills and those skills that are allowed during transformation.
for (Skill skill : currentSkills) currentSkills = currentSkills.stream().filter(Skill::allowOnTransform).collect(Collectors.toList());
{
if (!skill.allowOnTransform())
{
currentSkills.remove(skill);
}
}
// Revelation skills. // Revelation skills.
if (isDualClassActive()) if (isDualClassActive())
@@ -11546,18 +11540,14 @@ public class PlayerInstance extends Playable
currentSkills.addAll(_transformSkills.values()); currentSkills.addAll(_transformSkills.values());
} }
for (Skill skill : currentSkills) //@formatter:off
{ return currentSkills.stream()
if ((skill == null) // .filter(Objects::nonNull)
|| skill.isBlockActionUseSkill() // Skills that are blocked from player use are not shown in skill list. .filter(s -> !s.isBlockActionUseSkill()) // Skills that are blocked from player use are not shown in skill list.
|| SkillTreeData.getInstance().isAlchemySkill(skill.getId(), skill.getLevel()) // .filter(s -> !SkillTreeData.getInstance().isAlchemySkill(s.getId(), s.getLevel()))
|| !skill.isDisplayInList()) .filter(s -> s.isDisplayInList())
{ .collect(Collectors.toList());
currentSkills.remove(skill); //@formatter:on
}
}
return currentSkills;
} }
protected void startFeed(int npcId) protected void startFeed(int npcId)