Removed stream usage from SkillCaster.

This commit is contained in:
MobiusDevelopment 2023-01-08 12:38:38 +00:00
parent 377769f5d2
commit 15491e7a3e
26 changed files with 416 additions and 78 deletions

View File

@ -1064,10 +1064,23 @@ public class SkillCaster implements Runnable
if ((weapon != null) && weapon.useWeaponSkillsOnly() && !caster.canOverrideCond(PlayerCondOverride.SKILL_CONDITIONS))
{
final List<ItemSkillHolder> weaponSkills = weapon.getSkills(ItemSkillType.NORMAL);
if ((weaponSkills != null) && weaponSkills.stream().noneMatch(sh -> sh.getSkillId() == skill.getId()))
if (weaponSkills != null)
{
caster.sendPacket(SystemMessageId.THAT_WEAPON_CANNOT_USE_ANY_OTHER_SKILL_EXCEPT_THE_WEAPON_S_SKILL);
return false;
boolean hasSkill = false;
for (ItemSkillHolder holder : weaponSkills)
{
if (holder.getSkillId() == skill.getId())
{
hasSkill = true;
break;
}
}
if (!hasSkill)
{
caster.sendPacket(SystemMessageId.THAT_WEAPON_CANNOT_USE_ANY_OTHER_SKILL_EXCEPT_THE_WEAPON_S_SKILL);
return false;
}
}
}

View File

@ -1064,10 +1064,23 @@ public class SkillCaster implements Runnable
if ((weapon != null) && weapon.useWeaponSkillsOnly() && !caster.canOverrideCond(PlayerCondOverride.SKILL_CONDITIONS))
{
final List<ItemSkillHolder> weaponSkills = weapon.getSkills(ItemSkillType.NORMAL);
if ((weaponSkills != null) && weaponSkills.stream().noneMatch(sh -> sh.getSkillId() == skill.getId()))
if (weaponSkills != null)
{
caster.sendPacket(SystemMessageId.THAT_WEAPON_CANNOT_USE_ANY_OTHER_SKILL_EXCEPT_THE_WEAPON_S_SKILL);
return false;
boolean hasSkill = false;
for (ItemSkillHolder holder : weaponSkills)
{
if (holder.getSkillId() == skill.getId())
{
hasSkill = true;
break;
}
}
if (!hasSkill)
{
caster.sendPacket(SystemMessageId.THAT_WEAPON_CANNOT_USE_ANY_OTHER_SKILL_EXCEPT_THE_WEAPON_S_SKILL);
return false;
}
}
}

View File

@ -1064,10 +1064,23 @@ public class SkillCaster implements Runnable
if ((weapon != null) && weapon.useWeaponSkillsOnly() && !caster.canOverrideCond(PlayerCondOverride.SKILL_CONDITIONS))
{
final List<ItemSkillHolder> weaponSkills = weapon.getSkills(ItemSkillType.NORMAL);
if ((weaponSkills != null) && weaponSkills.stream().noneMatch(sh -> sh.getSkillId() == skill.getId()))
if (weaponSkills != null)
{
caster.sendPacket(SystemMessageId.THAT_WEAPON_CANNOT_USE_ANY_OTHER_SKILL_EXCEPT_THE_WEAPON_S_SKILL);
return false;
boolean hasSkill = false;
for (ItemSkillHolder holder : weaponSkills)
{
if (holder.getSkillId() == skill.getId())
{
hasSkill = true;
break;
}
}
if (!hasSkill)
{
caster.sendPacket(SystemMessageId.THAT_WEAPON_CANNOT_USE_ANY_OTHER_SKILL_EXCEPT_THE_WEAPON_S_SKILL);
return false;
}
}
}

View File

@ -1064,10 +1064,23 @@ public class SkillCaster implements Runnable
if ((weapon != null) && weapon.useWeaponSkillsOnly() && !caster.canOverrideCond(PlayerCondOverride.SKILL_CONDITIONS))
{
final List<ItemSkillHolder> weaponSkills = weapon.getSkills(ItemSkillType.NORMAL);
if ((weaponSkills != null) && weaponSkills.stream().noneMatch(sh -> sh.getSkillId() == skill.getId()))
if (weaponSkills != null)
{
caster.sendPacket(SystemMessageId.THAT_WEAPON_CANNOT_USE_ANY_OTHER_SKILL_EXCEPT_THE_WEAPON_S_SKILL);
return false;
boolean hasSkill = false;
for (ItemSkillHolder holder : weaponSkills)
{
if (holder.getSkillId() == skill.getId())
{
hasSkill = true;
break;
}
}
if (!hasSkill)
{
caster.sendPacket(SystemMessageId.THAT_WEAPON_CANNOT_USE_ANY_OTHER_SKILL_EXCEPT_THE_WEAPON_S_SKILL);
return false;
}
}
}

View File

@ -1064,10 +1064,23 @@ public class SkillCaster implements Runnable
if ((weapon != null) && weapon.useWeaponSkillsOnly() && !caster.canOverrideCond(PlayerCondOverride.SKILL_CONDITIONS))
{
final List<ItemSkillHolder> weaponSkills = weapon.getSkills(ItemSkillType.NORMAL);
if ((weaponSkills != null) && weaponSkills.stream().noneMatch(sh -> sh.getSkillId() == skill.getId()))
if (weaponSkills != null)
{
caster.sendPacket(SystemMessageId.THAT_WEAPON_CANNOT_USE_ANY_OTHER_SKILL_EXCEPT_THE_WEAPON_S_SKILL);
return false;
boolean hasSkill = false;
for (ItemSkillHolder holder : weaponSkills)
{
if (holder.getSkillId() == skill.getId())
{
hasSkill = true;
break;
}
}
if (!hasSkill)
{
caster.sendPacket(SystemMessageId.THAT_WEAPON_CANNOT_USE_ANY_OTHER_SKILL_EXCEPT_THE_WEAPON_S_SKILL);
return false;
}
}
}

View File

@ -1064,10 +1064,23 @@ public class SkillCaster implements Runnable
if ((weapon != null) && weapon.useWeaponSkillsOnly() && !caster.canOverrideCond(PlayerCondOverride.SKILL_CONDITIONS))
{
final List<ItemSkillHolder> weaponSkills = weapon.getSkills(ItemSkillType.NORMAL);
if ((weaponSkills != null) && weaponSkills.stream().noneMatch(sh -> sh.getSkillId() == skill.getId()))
if (weaponSkills != null)
{
caster.sendPacket(SystemMessageId.THAT_WEAPON_CANNOT_USE_ANY_OTHER_SKILL_EXCEPT_THE_WEAPON_S_SKILL);
return false;
boolean hasSkill = false;
for (ItemSkillHolder holder : weaponSkills)
{
if (holder.getSkillId() == skill.getId())
{
hasSkill = true;
break;
}
}
if (!hasSkill)
{
caster.sendPacket(SystemMessageId.THAT_WEAPON_CANNOT_USE_ANY_OTHER_SKILL_EXCEPT_THE_WEAPON_S_SKILL);
return false;
}
}
}

View File

@ -1064,10 +1064,23 @@ public class SkillCaster implements Runnable
if ((weapon != null) && weapon.useWeaponSkillsOnly() && !caster.canOverrideCond(PlayerCondOverride.SKILL_CONDITIONS))
{
final List<ItemSkillHolder> weaponSkills = weapon.getSkills(ItemSkillType.NORMAL);
if ((weaponSkills != null) && weaponSkills.stream().noneMatch(sh -> sh.getSkillId() == skill.getId()))
if (weaponSkills != null)
{
caster.sendPacket(SystemMessageId.THAT_WEAPON_CANNOT_USE_ANY_OTHER_SKILL_EXCEPT_THE_WEAPON_S_SKILL);
return false;
boolean hasSkill = false;
for (ItemSkillHolder holder : weaponSkills)
{
if (holder.getSkillId() == skill.getId())
{
hasSkill = true;
break;
}
}
if (!hasSkill)
{
caster.sendPacket(SystemMessageId.THAT_WEAPON_CANNOT_USE_ANY_OTHER_SKILL_EXCEPT_THE_WEAPON_S_SKILL);
return false;
}
}
}

View File

@ -1064,10 +1064,23 @@ public class SkillCaster implements Runnable
if ((weapon != null) && weapon.useWeaponSkillsOnly() && !caster.canOverrideCond(PlayerCondOverride.SKILL_CONDITIONS))
{
final List<ItemSkillHolder> weaponSkills = weapon.getSkills(ItemSkillType.NORMAL);
if ((weaponSkills != null) && weaponSkills.stream().noneMatch(sh -> sh.getSkillId() == skill.getId()))
if (weaponSkills != null)
{
caster.sendPacket(SystemMessageId.THAT_WEAPON_CANNOT_USE_ANY_OTHER_SKILL_EXCEPT_THE_WEAPON_S_SKILL);
return false;
boolean hasSkill = false;
for (ItemSkillHolder holder : weaponSkills)
{
if (holder.getSkillId() == skill.getId())
{
hasSkill = true;
break;
}
}
if (!hasSkill)
{
caster.sendPacket(SystemMessageId.THAT_WEAPON_CANNOT_USE_ANY_OTHER_SKILL_EXCEPT_THE_WEAPON_S_SKILL);
return false;
}
}
}

View File

@ -1070,10 +1070,23 @@ public class SkillCaster implements Runnable
if ((weapon != null) && weapon.useWeaponSkillsOnly() && !caster.canOverrideCond(PlayerCondOverride.SKILL_CONDITIONS))
{
final List<ItemSkillHolder> weaponSkills = weapon.getSkills(ItemSkillType.NORMAL);
if ((weaponSkills != null) && weaponSkills.stream().noneMatch(sh -> sh.getSkillId() == skill.getId()))
if (weaponSkills != null)
{
caster.sendPacket(SystemMessageId.THAT_WEAPON_CANNOT_USE_ANY_OTHER_SKILL_EXCEPT_THE_WEAPON_S_SKILL);
return false;
boolean hasSkill = false;
for (ItemSkillHolder holder : weaponSkills)
{
if (holder.getSkillId() == skill.getId())
{
hasSkill = true;
break;
}
}
if (!hasSkill)
{
caster.sendPacket(SystemMessageId.THAT_WEAPON_CANNOT_USE_ANY_OTHER_SKILL_EXCEPT_THE_WEAPON_S_SKILL);
return false;
}
}
}

View File

@ -1102,10 +1102,23 @@ public class SkillCaster implements Runnable
if ((weapon != null) && weapon.useWeaponSkillsOnly() && !caster.canOverrideCond(PlayerCondOverride.SKILL_CONDITIONS))
{
final List<ItemSkillHolder> weaponSkills = weapon.getSkills(ItemSkillType.NORMAL);
if ((weaponSkills != null) && weaponSkills.stream().noneMatch(sh -> sh.getSkillId() == skill.getId()))
if (weaponSkills != null)
{
caster.sendPacket(SystemMessageId.THAT_WEAPON_CANNOT_USE_ANY_OTHER_SKILL_EXCEPT_THE_WEAPON_S_SKILL);
return false;
boolean hasSkill = false;
for (ItemSkillHolder holder : weaponSkills)
{
if (holder.getSkillId() == skill.getId())
{
hasSkill = true;
break;
}
}
if (!hasSkill)
{
caster.sendPacket(SystemMessageId.THAT_WEAPON_CANNOT_USE_ANY_OTHER_SKILL_EXCEPT_THE_WEAPON_S_SKILL);
return false;
}
}
}

View File

@ -1102,10 +1102,23 @@ public class SkillCaster implements Runnable
if ((weapon != null) && weapon.useWeaponSkillsOnly() && !caster.canOverrideCond(PlayerCondOverride.SKILL_CONDITIONS))
{
final List<ItemSkillHolder> weaponSkills = weapon.getSkills(ItemSkillType.NORMAL);
if ((weaponSkills != null) && weaponSkills.stream().noneMatch(sh -> sh.getSkillId() == skill.getId()))
if (weaponSkills != null)
{
caster.sendPacket(SystemMessageId.THAT_WEAPON_CANNOT_USE_ANY_OTHER_SKILL_EXCEPT_THE_WEAPON_S_SKILL);
return false;
boolean hasSkill = false;
for (ItemSkillHolder holder : weaponSkills)
{
if (holder.getSkillId() == skill.getId())
{
hasSkill = true;
break;
}
}
if (!hasSkill)
{
caster.sendPacket(SystemMessageId.THAT_WEAPON_CANNOT_USE_ANY_OTHER_SKILL_EXCEPT_THE_WEAPON_S_SKILL);
return false;
}
}
}

View File

@ -1102,10 +1102,23 @@ public class SkillCaster implements Runnable
if ((weapon != null) && weapon.useWeaponSkillsOnly() && !caster.canOverrideCond(PlayerCondOverride.SKILL_CONDITIONS))
{
final List<ItemSkillHolder> weaponSkills = weapon.getSkills(ItemSkillType.NORMAL);
if ((weaponSkills != null) && weaponSkills.stream().noneMatch(sh -> sh.getSkillId() == skill.getId()))
if (weaponSkills != null)
{
caster.sendPacket(SystemMessageId.THAT_WEAPON_CANNOT_USE_ANY_OTHER_SKILL_EXCEPT_THE_WEAPON_S_SKILL);
return false;
boolean hasSkill = false;
for (ItemSkillHolder holder : weaponSkills)
{
if (holder.getSkillId() == skill.getId())
{
hasSkill = true;
break;
}
}
if (!hasSkill)
{
caster.sendPacket(SystemMessageId.THAT_WEAPON_CANNOT_USE_ANY_OTHER_SKILL_EXCEPT_THE_WEAPON_S_SKILL);
return false;
}
}
}

View File

@ -1064,10 +1064,23 @@ public class SkillCaster implements Runnable
if ((weapon != null) && weapon.useWeaponSkillsOnly() && !caster.canOverrideCond(PlayerCondOverride.SKILL_CONDITIONS))
{
final List<ItemSkillHolder> weaponSkills = weapon.getSkills(ItemSkillType.NORMAL);
if ((weaponSkills != null) && weaponSkills.stream().noneMatch(sh -> sh.getSkillId() == skill.getId()))
if (weaponSkills != null)
{
caster.sendPacket(SystemMessageId.THAT_WEAPON_CANNOT_USE_ANY_OTHER_SKILL_EXCEPT_THE_WEAPON_S_SKILL);
return false;
boolean hasSkill = false;
for (ItemSkillHolder holder : weaponSkills)
{
if (holder.getSkillId() == skill.getId())
{
hasSkill = true;
break;
}
}
if (!hasSkill)
{
caster.sendPacket(SystemMessageId.THAT_WEAPON_CANNOT_USE_ANY_OTHER_SKILL_EXCEPT_THE_WEAPON_S_SKILL);
return false;
}
}
}

View File

@ -1064,10 +1064,23 @@ public class SkillCaster implements Runnable
if ((weapon != null) && weapon.useWeaponSkillsOnly() && !caster.canOverrideCond(PlayerCondOverride.SKILL_CONDITIONS))
{
final List<ItemSkillHolder> weaponSkills = weapon.getSkills(ItemSkillType.NORMAL);
if ((weaponSkills != null) && weaponSkills.stream().noneMatch(sh -> sh.getSkillId() == skill.getId()))
if (weaponSkills != null)
{
caster.sendPacket(SystemMessageId.THAT_WEAPON_CANNOT_USE_ANY_OTHER_SKILL_EXCEPT_THE_WEAPON_S_SKILL);
return false;
boolean hasSkill = false;
for (ItemSkillHolder holder : weaponSkills)
{
if (holder.getSkillId() == skill.getId())
{
hasSkill = true;
break;
}
}
if (!hasSkill)
{
caster.sendPacket(SystemMessageId.THAT_WEAPON_CANNOT_USE_ANY_OTHER_SKILL_EXCEPT_THE_WEAPON_S_SKILL);
return false;
}
}
}

View File

@ -1064,10 +1064,23 @@ public class SkillCaster implements Runnable
if ((weapon != null) && weapon.useWeaponSkillsOnly() && !caster.canOverrideCond(PlayerCondOverride.SKILL_CONDITIONS))
{
final List<ItemSkillHolder> weaponSkills = weapon.getSkills(ItemSkillType.NORMAL);
if ((weaponSkills != null) && weaponSkills.stream().noneMatch(sh -> sh.getSkillId() == skill.getId()))
if (weaponSkills != null)
{
caster.sendPacket(SystemMessageId.THAT_WEAPON_CANNOT_USE_ANY_OTHER_SKILL_EXCEPT_THE_WEAPON_S_SKILL);
return false;
boolean hasSkill = false;
for (ItemSkillHolder holder : weaponSkills)
{
if (holder.getSkillId() == skill.getId())
{
hasSkill = true;
break;
}
}
if (!hasSkill)
{
caster.sendPacket(SystemMessageId.THAT_WEAPON_CANNOT_USE_ANY_OTHER_SKILL_EXCEPT_THE_WEAPON_S_SKILL);
return false;
}
}
}

View File

@ -1064,10 +1064,23 @@ public class SkillCaster implements Runnable
if ((weapon != null) && weapon.useWeaponSkillsOnly() && !caster.canOverrideCond(PlayerCondOverride.SKILL_CONDITIONS))
{
final List<ItemSkillHolder> weaponSkills = weapon.getSkills(ItemSkillType.NORMAL);
if ((weaponSkills != null) && weaponSkills.stream().noneMatch(sh -> sh.getSkillId() == skill.getId()))
if (weaponSkills != null)
{
caster.sendPacket(SystemMessageId.THAT_WEAPON_CANNOT_USE_ANY_OTHER_SKILL_EXCEPT_THE_WEAPON_S_SKILL);
return false;
boolean hasSkill = false;
for (ItemSkillHolder holder : weaponSkills)
{
if (holder.getSkillId() == skill.getId())
{
hasSkill = true;
break;
}
}
if (!hasSkill)
{
caster.sendPacket(SystemMessageId.THAT_WEAPON_CANNOT_USE_ANY_OTHER_SKILL_EXCEPT_THE_WEAPON_S_SKILL);
return false;
}
}
}

View File

@ -1064,10 +1064,23 @@ public class SkillCaster implements Runnable
if ((weapon != null) && weapon.useWeaponSkillsOnly() && !caster.canOverrideCond(PlayerCondOverride.SKILL_CONDITIONS))
{
final List<ItemSkillHolder> weaponSkills = weapon.getSkills(ItemSkillType.NORMAL);
if ((weaponSkills != null) && weaponSkills.stream().noneMatch(sh -> sh.getSkillId() == skill.getId()))
if (weaponSkills != null)
{
caster.sendPacket(SystemMessageId.THAT_WEAPON_CANNOT_USE_ANY_OTHER_SKILL_EXCEPT_THE_WEAPON_S_SKILL);
return false;
boolean hasSkill = false;
for (ItemSkillHolder holder : weaponSkills)
{
if (holder.getSkillId() == skill.getId())
{
hasSkill = true;
break;
}
}
if (!hasSkill)
{
caster.sendPacket(SystemMessageId.THAT_WEAPON_CANNOT_USE_ANY_OTHER_SKILL_EXCEPT_THE_WEAPON_S_SKILL);
return false;
}
}
}

View File

@ -1064,10 +1064,23 @@ public class SkillCaster implements Runnable
if ((weapon != null) && weapon.useWeaponSkillsOnly() && !caster.canOverrideCond(PlayerCondOverride.SKILL_CONDITIONS))
{
final List<ItemSkillHolder> weaponSkills = weapon.getSkills(ItemSkillType.NORMAL);
if ((weaponSkills != null) && weaponSkills.stream().noneMatch(sh -> sh.getSkillId() == skill.getId()))
if (weaponSkills != null)
{
caster.sendPacket(SystemMessageId.THAT_WEAPON_CANNOT_USE_ANY_OTHER_SKILL_EXCEPT_THE_WEAPON_S_SKILL);
return false;
boolean hasSkill = false;
for (ItemSkillHolder holder : weaponSkills)
{
if (holder.getSkillId() == skill.getId())
{
hasSkill = true;
break;
}
}
if (!hasSkill)
{
caster.sendPacket(SystemMessageId.THAT_WEAPON_CANNOT_USE_ANY_OTHER_SKILL_EXCEPT_THE_WEAPON_S_SKILL);
return false;
}
}
}

View File

@ -1064,10 +1064,23 @@ public class SkillCaster implements Runnable
if ((weapon != null) && weapon.useWeaponSkillsOnly() && !caster.canOverrideCond(PlayerCondOverride.SKILL_CONDITIONS))
{
final List<ItemSkillHolder> weaponSkills = weapon.getSkills(ItemSkillType.NORMAL);
if ((weaponSkills != null) && weaponSkills.stream().noneMatch(sh -> sh.getSkillId() == skill.getId()))
if (weaponSkills != null)
{
caster.sendPacket(SystemMessageId.THAT_WEAPON_CANNOT_USE_ANY_OTHER_SKILL_EXCEPT_THE_WEAPON_S_SKILL);
return false;
boolean hasSkill = false;
for (ItemSkillHolder holder : weaponSkills)
{
if (holder.getSkillId() == skill.getId())
{
hasSkill = true;
break;
}
}
if (!hasSkill)
{
caster.sendPacket(SystemMessageId.THAT_WEAPON_CANNOT_USE_ANY_OTHER_SKILL_EXCEPT_THE_WEAPON_S_SKILL);
return false;
}
}
}

View File

@ -1064,10 +1064,23 @@ public class SkillCaster implements Runnable
if ((weapon != null) && weapon.useWeaponSkillsOnly() && !caster.canOverrideCond(PlayerCondOverride.SKILL_CONDITIONS))
{
final List<ItemSkillHolder> weaponSkills = weapon.getSkills(ItemSkillType.NORMAL);
if ((weaponSkills != null) && weaponSkills.stream().noneMatch(sh -> sh.getSkillId() == skill.getId()))
if (weaponSkills != null)
{
caster.sendPacket(SystemMessageId.THAT_WEAPON_CANNOT_USE_ANY_OTHER_SKILL_EXCEPT_THE_WEAPON_S_SKILL);
return false;
boolean hasSkill = false;
for (ItemSkillHolder holder : weaponSkills)
{
if (holder.getSkillId() == skill.getId())
{
hasSkill = true;
break;
}
}
if (!hasSkill)
{
caster.sendPacket(SystemMessageId.THAT_WEAPON_CANNOT_USE_ANY_OTHER_SKILL_EXCEPT_THE_WEAPON_S_SKILL);
return false;
}
}
}

View File

@ -1069,10 +1069,23 @@ public class SkillCaster implements Runnable
if ((weapon != null) && weapon.useWeaponSkillsOnly() && !caster.canOverrideCond(PlayerCondOverride.SKILL_CONDITIONS))
{
final List<ItemSkillHolder> weaponSkills = weapon.getSkills(ItemSkillType.NORMAL);
if ((weaponSkills != null) && weaponSkills.stream().noneMatch(sh -> sh.getSkillId() == skill.getId()))
if (weaponSkills != null)
{
caster.sendPacket(SystemMessageId.THAT_WEAPON_CANNOT_USE_ANY_OTHER_SKILL_EXCEPT_THE_WEAPON_S_SKILL);
return false;
boolean hasSkill = false;
for (ItemSkillHolder holder : weaponSkills)
{
if (holder.getSkillId() == skill.getId())
{
hasSkill = true;
break;
}
}
if (!hasSkill)
{
caster.sendPacket(SystemMessageId.THAT_WEAPON_CANNOT_USE_ANY_OTHER_SKILL_EXCEPT_THE_WEAPON_S_SKILL);
return false;
}
}
}

View File

@ -1064,10 +1064,23 @@ public class SkillCaster implements Runnable
if ((weapon != null) && weapon.useWeaponSkillsOnly() && !caster.canOverrideCond(PlayerCondOverride.SKILL_CONDITIONS))
{
final List<ItemSkillHolder> weaponSkills = weapon.getSkills(ItemSkillType.NORMAL);
if ((weaponSkills != null) && weaponSkills.stream().noneMatch(sh -> sh.getSkillId() == skill.getId()))
if (weaponSkills != null)
{
caster.sendPacket(SystemMessageId.THAT_WEAPON_CANNOT_USE_ANY_OTHER_SKILL_EXCEPT_THE_WEAPON_S_SKILL);
return false;
boolean hasSkill = false;
for (ItemSkillHolder holder : weaponSkills)
{
if (holder.getSkillId() == skill.getId())
{
hasSkill = true;
break;
}
}
if (!hasSkill)
{
caster.sendPacket(SystemMessageId.THAT_WEAPON_CANNOT_USE_ANY_OTHER_SKILL_EXCEPT_THE_WEAPON_S_SKILL);
return false;
}
}
}

View File

@ -1070,10 +1070,23 @@ public class SkillCaster implements Runnable
if ((weapon != null) && weapon.useWeaponSkillsOnly() && !caster.canOverrideCond(PlayerCondOverride.SKILL_CONDITIONS))
{
final List<ItemSkillHolder> weaponSkills = weapon.getSkills(ItemSkillType.NORMAL);
if ((weaponSkills != null) && weaponSkills.stream().noneMatch(sh -> sh.getSkillId() == skill.getId()))
if (weaponSkills != null)
{
caster.sendPacket(SystemMessageId.THAT_WEAPON_CANNOT_USE_ANY_OTHER_SKILL_EXCEPT_THE_WEAPON_S_SKILL);
return false;
boolean hasSkill = false;
for (ItemSkillHolder holder : weaponSkills)
{
if (holder.getSkillId() == skill.getId())
{
hasSkill = true;
break;
}
}
if (!hasSkill)
{
caster.sendPacket(SystemMessageId.THAT_WEAPON_CANNOT_USE_ANY_OTHER_SKILL_EXCEPT_THE_WEAPON_S_SKILL);
return false;
}
}
}

View File

@ -1102,10 +1102,23 @@ public class SkillCaster implements Runnable
if ((weapon != null) && weapon.useWeaponSkillsOnly() && !caster.canOverrideCond(PlayerCondOverride.SKILL_CONDITIONS))
{
final List<ItemSkillHolder> weaponSkills = weapon.getSkills(ItemSkillType.NORMAL);
if ((weaponSkills != null) && weaponSkills.stream().noneMatch(sh -> sh.getSkillId() == skill.getId()))
if (weaponSkills != null)
{
caster.sendPacket(SystemMessageId.THAT_WEAPON_CANNOT_USE_ANY_OTHER_SKILL_EXCEPT_THE_WEAPON_S_SKILL);
return false;
boolean hasSkill = false;
for (ItemSkillHolder holder : weaponSkills)
{
if (holder.getSkillId() == skill.getId())
{
hasSkill = true;
break;
}
}
if (!hasSkill)
{
caster.sendPacket(SystemMessageId.THAT_WEAPON_CANNOT_USE_ANY_OTHER_SKILL_EXCEPT_THE_WEAPON_S_SKILL);
return false;
}
}
}

View File

@ -1135,10 +1135,23 @@ public class SkillCaster implements Runnable
if ((weapon != null) && weapon.useWeaponSkillsOnly() && !caster.canOverrideCond(PlayerCondOverride.SKILL_CONDITIONS))
{
final List<ItemSkillHolder> weaponSkills = weapon.getSkills(ItemSkillType.NORMAL);
if ((weaponSkills != null) && weaponSkills.stream().noneMatch(sh -> sh.getSkillId() == skill.getId()))
if (weaponSkills != null)
{
caster.sendPacket(SystemMessageId.THAT_WEAPON_CANNOT_USE_ANY_OTHER_SKILL_EXCEPT_THE_WEAPON_S_SKILL);
return false;
boolean hasSkill = false;
for (ItemSkillHolder holder : weaponSkills)
{
if (holder.getSkillId() == skill.getId())
{
hasSkill = true;
break;
}
}
if (!hasSkill)
{
caster.sendPacket(SystemMessageId.THAT_WEAPON_CANNOT_USE_ANY_OTHER_SKILL_EXCEPT_THE_WEAPON_S_SKILL);
return false;
}
}
}

View File

@ -1135,10 +1135,23 @@ public class SkillCaster implements Runnable
if ((weapon != null) && weapon.useWeaponSkillsOnly() && !caster.canOverrideCond(PlayerCondOverride.SKILL_CONDITIONS))
{
final List<ItemSkillHolder> weaponSkills = weapon.getSkills(ItemSkillType.NORMAL);
if ((weaponSkills != null) && weaponSkills.stream().noneMatch(sh -> sh.getSkillId() == skill.getId()))
if (weaponSkills != null)
{
caster.sendPacket(SystemMessageId.THAT_WEAPON_CANNOT_USE_ANY_OTHER_SKILL_EXCEPT_THE_WEAPON_S_SKILL);
return false;
boolean hasSkill = false;
for (ItemSkillHolder holder : weaponSkills)
{
if (holder.getSkillId() == skill.getId())
{
hasSkill = true;
break;
}
}
if (!hasSkill)
{
caster.sendPacket(SystemMessageId.THAT_WEAPON_CANNOT_USE_ANY_OTHER_SKILL_EXCEPT_THE_WEAPON_S_SKILL);
return false;
}
}
}