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,12 +1064,25 @@ public class SkillCaster implements Runnable
if ((weapon != null) && weapon.useWeaponSkillsOnly() && !caster.canOverrideCond(PlayerCondOverride.SKILL_CONDITIONS)) if ((weapon != null) && weapon.useWeaponSkillsOnly() && !caster.canOverrideCond(PlayerCondOverride.SKILL_CONDITIONS))
{ {
final List<ItemSkillHolder> weaponSkills = weapon.getSkills(ItemSkillType.NORMAL); final List<ItemSkillHolder> weaponSkills = weapon.getSkills(ItemSkillType.NORMAL);
if ((weaponSkills != null) && weaponSkills.stream().noneMatch(sh -> sh.getSkillId() == skill.getId())) if (weaponSkills != null)
{
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); caster.sendPacket(SystemMessageId.THAT_WEAPON_CANNOT_USE_ANY_OTHER_SKILL_EXCEPT_THE_WEAPON_S_SKILL);
return false; return false;
} }
} }
}
// Check if a spell consumes an item. // Check if a spell consumes an item.
if ((skill.getItemConsumeId() > 0) && (skill.getItemConsumeCount() > 0) && (caster.getInventory() != null)) if ((skill.getItemConsumeId() > 0) && (skill.getItemConsumeCount() > 0) && (caster.getInventory() != null))

View File

@@ -1064,12 +1064,25 @@ public class SkillCaster implements Runnable
if ((weapon != null) && weapon.useWeaponSkillsOnly() && !caster.canOverrideCond(PlayerCondOverride.SKILL_CONDITIONS)) if ((weapon != null) && weapon.useWeaponSkillsOnly() && !caster.canOverrideCond(PlayerCondOverride.SKILL_CONDITIONS))
{ {
final List<ItemSkillHolder> weaponSkills = weapon.getSkills(ItemSkillType.NORMAL); final List<ItemSkillHolder> weaponSkills = weapon.getSkills(ItemSkillType.NORMAL);
if ((weaponSkills != null) && weaponSkills.stream().noneMatch(sh -> sh.getSkillId() == skill.getId())) if (weaponSkills != null)
{
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); caster.sendPacket(SystemMessageId.THAT_WEAPON_CANNOT_USE_ANY_OTHER_SKILL_EXCEPT_THE_WEAPON_S_SKILL);
return false; return false;
} }
} }
}
// Check if a spell consumes an item. // Check if a spell consumes an item.
if ((skill.getItemConsumeId() > 0) && (skill.getItemConsumeCount() > 0) && (caster.getInventory() != null)) if ((skill.getItemConsumeId() > 0) && (skill.getItemConsumeCount() > 0) && (caster.getInventory() != null))

View File

@@ -1064,12 +1064,25 @@ public class SkillCaster implements Runnable
if ((weapon != null) && weapon.useWeaponSkillsOnly() && !caster.canOverrideCond(PlayerCondOverride.SKILL_CONDITIONS)) if ((weapon != null) && weapon.useWeaponSkillsOnly() && !caster.canOverrideCond(PlayerCondOverride.SKILL_CONDITIONS))
{ {
final List<ItemSkillHolder> weaponSkills = weapon.getSkills(ItemSkillType.NORMAL); final List<ItemSkillHolder> weaponSkills = weapon.getSkills(ItemSkillType.NORMAL);
if ((weaponSkills != null) && weaponSkills.stream().noneMatch(sh -> sh.getSkillId() == skill.getId())) if (weaponSkills != null)
{
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); caster.sendPacket(SystemMessageId.THAT_WEAPON_CANNOT_USE_ANY_OTHER_SKILL_EXCEPT_THE_WEAPON_S_SKILL);
return false; return false;
} }
} }
}
// Check if a spell consumes an item. // Check if a spell consumes an item.
if ((skill.getItemConsumeId() > 0) && (skill.getItemConsumeCount() > 0) && (caster.getInventory() != null)) if ((skill.getItemConsumeId() > 0) && (skill.getItemConsumeCount() > 0) && (caster.getInventory() != null))

View File

@@ -1064,12 +1064,25 @@ public class SkillCaster implements Runnable
if ((weapon != null) && weapon.useWeaponSkillsOnly() && !caster.canOverrideCond(PlayerCondOverride.SKILL_CONDITIONS)) if ((weapon != null) && weapon.useWeaponSkillsOnly() && !caster.canOverrideCond(PlayerCondOverride.SKILL_CONDITIONS))
{ {
final List<ItemSkillHolder> weaponSkills = weapon.getSkills(ItemSkillType.NORMAL); final List<ItemSkillHolder> weaponSkills = weapon.getSkills(ItemSkillType.NORMAL);
if ((weaponSkills != null) && weaponSkills.stream().noneMatch(sh -> sh.getSkillId() == skill.getId())) if (weaponSkills != null)
{
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); caster.sendPacket(SystemMessageId.THAT_WEAPON_CANNOT_USE_ANY_OTHER_SKILL_EXCEPT_THE_WEAPON_S_SKILL);
return false; return false;
} }
} }
}
// Check if a spell consumes an item. // Check if a spell consumes an item.
if ((skill.getItemConsumeId() > 0) && (skill.getItemConsumeCount() > 0) && (caster.getInventory() != null)) if ((skill.getItemConsumeId() > 0) && (skill.getItemConsumeCount() > 0) && (caster.getInventory() != null))

View File

@@ -1064,12 +1064,25 @@ public class SkillCaster implements Runnable
if ((weapon != null) && weapon.useWeaponSkillsOnly() && !caster.canOverrideCond(PlayerCondOverride.SKILL_CONDITIONS)) if ((weapon != null) && weapon.useWeaponSkillsOnly() && !caster.canOverrideCond(PlayerCondOverride.SKILL_CONDITIONS))
{ {
final List<ItemSkillHolder> weaponSkills = weapon.getSkills(ItemSkillType.NORMAL); final List<ItemSkillHolder> weaponSkills = weapon.getSkills(ItemSkillType.NORMAL);
if ((weaponSkills != null) && weaponSkills.stream().noneMatch(sh -> sh.getSkillId() == skill.getId())) if (weaponSkills != null)
{
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); caster.sendPacket(SystemMessageId.THAT_WEAPON_CANNOT_USE_ANY_OTHER_SKILL_EXCEPT_THE_WEAPON_S_SKILL);
return false; return false;
} }
} }
}
// Check if a spell consumes an item. // Check if a spell consumes an item.
if ((skill.getItemConsumeId() > 0) && (skill.getItemConsumeCount() > 0) && (caster.getInventory() != null)) if ((skill.getItemConsumeId() > 0) && (skill.getItemConsumeCount() > 0) && (caster.getInventory() != null))

View File

@@ -1064,12 +1064,25 @@ public class SkillCaster implements Runnable
if ((weapon != null) && weapon.useWeaponSkillsOnly() && !caster.canOverrideCond(PlayerCondOverride.SKILL_CONDITIONS)) if ((weapon != null) && weapon.useWeaponSkillsOnly() && !caster.canOverrideCond(PlayerCondOverride.SKILL_CONDITIONS))
{ {
final List<ItemSkillHolder> weaponSkills = weapon.getSkills(ItemSkillType.NORMAL); final List<ItemSkillHolder> weaponSkills = weapon.getSkills(ItemSkillType.NORMAL);
if ((weaponSkills != null) && weaponSkills.stream().noneMatch(sh -> sh.getSkillId() == skill.getId())) if (weaponSkills != null)
{
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); caster.sendPacket(SystemMessageId.THAT_WEAPON_CANNOT_USE_ANY_OTHER_SKILL_EXCEPT_THE_WEAPON_S_SKILL);
return false; return false;
} }
} }
}
// Check if a spell consumes an item. // Check if a spell consumes an item.
if ((skill.getItemConsumeId() > 0) && (skill.getItemConsumeCount() > 0) && (caster.getInventory() != null)) if ((skill.getItemConsumeId() > 0) && (skill.getItemConsumeCount() > 0) && (caster.getInventory() != null))

View File

@@ -1064,12 +1064,25 @@ public class SkillCaster implements Runnable
if ((weapon != null) && weapon.useWeaponSkillsOnly() && !caster.canOverrideCond(PlayerCondOverride.SKILL_CONDITIONS)) if ((weapon != null) && weapon.useWeaponSkillsOnly() && !caster.canOverrideCond(PlayerCondOverride.SKILL_CONDITIONS))
{ {
final List<ItemSkillHolder> weaponSkills = weapon.getSkills(ItemSkillType.NORMAL); final List<ItemSkillHolder> weaponSkills = weapon.getSkills(ItemSkillType.NORMAL);
if ((weaponSkills != null) && weaponSkills.stream().noneMatch(sh -> sh.getSkillId() == skill.getId())) if (weaponSkills != null)
{
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); caster.sendPacket(SystemMessageId.THAT_WEAPON_CANNOT_USE_ANY_OTHER_SKILL_EXCEPT_THE_WEAPON_S_SKILL);
return false; return false;
} }
} }
}
// Check if a spell consumes an item. // Check if a spell consumes an item.
if ((skill.getItemConsumeId() > 0) && (skill.getItemConsumeCount() > 0) && (caster.getInventory() != null)) if ((skill.getItemConsumeId() > 0) && (skill.getItemConsumeCount() > 0) && (caster.getInventory() != null))

View File

@@ -1064,12 +1064,25 @@ public class SkillCaster implements Runnable
if ((weapon != null) && weapon.useWeaponSkillsOnly() && !caster.canOverrideCond(PlayerCondOverride.SKILL_CONDITIONS)) if ((weapon != null) && weapon.useWeaponSkillsOnly() && !caster.canOverrideCond(PlayerCondOverride.SKILL_CONDITIONS))
{ {
final List<ItemSkillHolder> weaponSkills = weapon.getSkills(ItemSkillType.NORMAL); final List<ItemSkillHolder> weaponSkills = weapon.getSkills(ItemSkillType.NORMAL);
if ((weaponSkills != null) && weaponSkills.stream().noneMatch(sh -> sh.getSkillId() == skill.getId())) if (weaponSkills != null)
{
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); caster.sendPacket(SystemMessageId.THAT_WEAPON_CANNOT_USE_ANY_OTHER_SKILL_EXCEPT_THE_WEAPON_S_SKILL);
return false; return false;
} }
} }
}
// Check if a spell consumes an item. // Check if a spell consumes an item.
if ((skill.getItemConsumeId() > 0) && (skill.getItemConsumeCount() > 0) && (caster.getInventory() != null)) if ((skill.getItemConsumeId() > 0) && (skill.getItemConsumeCount() > 0) && (caster.getInventory() != null))

View File

@@ -1070,12 +1070,25 @@ public class SkillCaster implements Runnable
if ((weapon != null) && weapon.useWeaponSkillsOnly() && !caster.canOverrideCond(PlayerCondOverride.SKILL_CONDITIONS)) if ((weapon != null) && weapon.useWeaponSkillsOnly() && !caster.canOverrideCond(PlayerCondOverride.SKILL_CONDITIONS))
{ {
final List<ItemSkillHolder> weaponSkills = weapon.getSkills(ItemSkillType.NORMAL); final List<ItemSkillHolder> weaponSkills = weapon.getSkills(ItemSkillType.NORMAL);
if ((weaponSkills != null) && weaponSkills.stream().noneMatch(sh -> sh.getSkillId() == skill.getId())) if (weaponSkills != null)
{
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); caster.sendPacket(SystemMessageId.THAT_WEAPON_CANNOT_USE_ANY_OTHER_SKILL_EXCEPT_THE_WEAPON_S_SKILL);
return false; return false;
} }
} }
}
// Check if a spell consumes an item. // Check if a spell consumes an item.
if ((skill.getItemConsumeId() > 0) && (skill.getItemConsumeCount() > 0) && (caster.getInventory() != null)) if ((skill.getItemConsumeId() > 0) && (skill.getItemConsumeCount() > 0) && (caster.getInventory() != null))

View File

@@ -1102,12 +1102,25 @@ public class SkillCaster implements Runnable
if ((weapon != null) && weapon.useWeaponSkillsOnly() && !caster.canOverrideCond(PlayerCondOverride.SKILL_CONDITIONS)) if ((weapon != null) && weapon.useWeaponSkillsOnly() && !caster.canOverrideCond(PlayerCondOverride.SKILL_CONDITIONS))
{ {
final List<ItemSkillHolder> weaponSkills = weapon.getSkills(ItemSkillType.NORMAL); final List<ItemSkillHolder> weaponSkills = weapon.getSkills(ItemSkillType.NORMAL);
if ((weaponSkills != null) && weaponSkills.stream().noneMatch(sh -> sh.getSkillId() == skill.getId())) if (weaponSkills != null)
{
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); caster.sendPacket(SystemMessageId.THAT_WEAPON_CANNOT_USE_ANY_OTHER_SKILL_EXCEPT_THE_WEAPON_S_SKILL);
return false; return false;
} }
} }
}
// Check if a spell consumes an item. // Check if a spell consumes an item.
if ((skill.getItemConsumeId() > 0) && (skill.getItemConsumeCount() > 0) && (caster.getInventory() != null)) if ((skill.getItemConsumeId() > 0) && (skill.getItemConsumeCount() > 0) && (caster.getInventory() != null))

View File

@@ -1102,12 +1102,25 @@ public class SkillCaster implements Runnable
if ((weapon != null) && weapon.useWeaponSkillsOnly() && !caster.canOverrideCond(PlayerCondOverride.SKILL_CONDITIONS)) if ((weapon != null) && weapon.useWeaponSkillsOnly() && !caster.canOverrideCond(PlayerCondOverride.SKILL_CONDITIONS))
{ {
final List<ItemSkillHolder> weaponSkills = weapon.getSkills(ItemSkillType.NORMAL); final List<ItemSkillHolder> weaponSkills = weapon.getSkills(ItemSkillType.NORMAL);
if ((weaponSkills != null) && weaponSkills.stream().noneMatch(sh -> sh.getSkillId() == skill.getId())) if (weaponSkills != null)
{
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); caster.sendPacket(SystemMessageId.THAT_WEAPON_CANNOT_USE_ANY_OTHER_SKILL_EXCEPT_THE_WEAPON_S_SKILL);
return false; return false;
} }
} }
}
// Check if a spell consumes an item. // Check if a spell consumes an item.
if ((skill.getItemConsumeId() > 0) && (skill.getItemConsumeCount() > 0) && (caster.getInventory() != null)) if ((skill.getItemConsumeId() > 0) && (skill.getItemConsumeCount() > 0) && (caster.getInventory() != null))

View File

@@ -1102,12 +1102,25 @@ public class SkillCaster implements Runnable
if ((weapon != null) && weapon.useWeaponSkillsOnly() && !caster.canOverrideCond(PlayerCondOverride.SKILL_CONDITIONS)) if ((weapon != null) && weapon.useWeaponSkillsOnly() && !caster.canOverrideCond(PlayerCondOverride.SKILL_CONDITIONS))
{ {
final List<ItemSkillHolder> weaponSkills = weapon.getSkills(ItemSkillType.NORMAL); final List<ItemSkillHolder> weaponSkills = weapon.getSkills(ItemSkillType.NORMAL);
if ((weaponSkills != null) && weaponSkills.stream().noneMatch(sh -> sh.getSkillId() == skill.getId())) if (weaponSkills != null)
{
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); caster.sendPacket(SystemMessageId.THAT_WEAPON_CANNOT_USE_ANY_OTHER_SKILL_EXCEPT_THE_WEAPON_S_SKILL);
return false; return false;
} }
} }
}
// Check if a spell consumes an item. // Check if a spell consumes an item.
if ((skill.getItemConsumeId() > 0) && (skill.getItemConsumeCount() > 0) && (caster.getInventory() != null)) if ((skill.getItemConsumeId() > 0) && (skill.getItemConsumeCount() > 0) && (caster.getInventory() != null))

View File

@@ -1064,12 +1064,25 @@ public class SkillCaster implements Runnable
if ((weapon != null) && weapon.useWeaponSkillsOnly() && !caster.canOverrideCond(PlayerCondOverride.SKILL_CONDITIONS)) if ((weapon != null) && weapon.useWeaponSkillsOnly() && !caster.canOverrideCond(PlayerCondOverride.SKILL_CONDITIONS))
{ {
final List<ItemSkillHolder> weaponSkills = weapon.getSkills(ItemSkillType.NORMAL); final List<ItemSkillHolder> weaponSkills = weapon.getSkills(ItemSkillType.NORMAL);
if ((weaponSkills != null) && weaponSkills.stream().noneMatch(sh -> sh.getSkillId() == skill.getId())) if (weaponSkills != null)
{
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); caster.sendPacket(SystemMessageId.THAT_WEAPON_CANNOT_USE_ANY_OTHER_SKILL_EXCEPT_THE_WEAPON_S_SKILL);
return false; return false;
} }
} }
}
// Check if a spell consumes an item. // Check if a spell consumes an item.
if ((skill.getItemConsumeId() > 0) && (skill.getItemConsumeCount() > 0) && (caster.getInventory() != null)) if ((skill.getItemConsumeId() > 0) && (skill.getItemConsumeCount() > 0) && (caster.getInventory() != null))

View File

@@ -1064,12 +1064,25 @@ public class SkillCaster implements Runnable
if ((weapon != null) && weapon.useWeaponSkillsOnly() && !caster.canOverrideCond(PlayerCondOverride.SKILL_CONDITIONS)) if ((weapon != null) && weapon.useWeaponSkillsOnly() && !caster.canOverrideCond(PlayerCondOverride.SKILL_CONDITIONS))
{ {
final List<ItemSkillHolder> weaponSkills = weapon.getSkills(ItemSkillType.NORMAL); final List<ItemSkillHolder> weaponSkills = weapon.getSkills(ItemSkillType.NORMAL);
if ((weaponSkills != null) && weaponSkills.stream().noneMatch(sh -> sh.getSkillId() == skill.getId())) if (weaponSkills != null)
{
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); caster.sendPacket(SystemMessageId.THAT_WEAPON_CANNOT_USE_ANY_OTHER_SKILL_EXCEPT_THE_WEAPON_S_SKILL);
return false; return false;
} }
} }
}
// Check if a spell consumes an item. // Check if a spell consumes an item.
if ((skill.getItemConsumeId() > 0) && (skill.getItemConsumeCount() > 0) && (caster.getInventory() != null)) if ((skill.getItemConsumeId() > 0) && (skill.getItemConsumeCount() > 0) && (caster.getInventory() != null))

View File

@@ -1064,12 +1064,25 @@ public class SkillCaster implements Runnable
if ((weapon != null) && weapon.useWeaponSkillsOnly() && !caster.canOverrideCond(PlayerCondOverride.SKILL_CONDITIONS)) if ((weapon != null) && weapon.useWeaponSkillsOnly() && !caster.canOverrideCond(PlayerCondOverride.SKILL_CONDITIONS))
{ {
final List<ItemSkillHolder> weaponSkills = weapon.getSkills(ItemSkillType.NORMAL); final List<ItemSkillHolder> weaponSkills = weapon.getSkills(ItemSkillType.NORMAL);
if ((weaponSkills != null) && weaponSkills.stream().noneMatch(sh -> sh.getSkillId() == skill.getId())) if (weaponSkills != null)
{
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); caster.sendPacket(SystemMessageId.THAT_WEAPON_CANNOT_USE_ANY_OTHER_SKILL_EXCEPT_THE_WEAPON_S_SKILL);
return false; return false;
} }
} }
}
// Check if a spell consumes an item. // Check if a spell consumes an item.
if ((skill.getItemConsumeId() > 0) && (skill.getItemConsumeCount() > 0) && (caster.getInventory() != null)) if ((skill.getItemConsumeId() > 0) && (skill.getItemConsumeCount() > 0) && (caster.getInventory() != null))

View File

@@ -1064,12 +1064,25 @@ public class SkillCaster implements Runnable
if ((weapon != null) && weapon.useWeaponSkillsOnly() && !caster.canOverrideCond(PlayerCondOverride.SKILL_CONDITIONS)) if ((weapon != null) && weapon.useWeaponSkillsOnly() && !caster.canOverrideCond(PlayerCondOverride.SKILL_CONDITIONS))
{ {
final List<ItemSkillHolder> weaponSkills = weapon.getSkills(ItemSkillType.NORMAL); final List<ItemSkillHolder> weaponSkills = weapon.getSkills(ItemSkillType.NORMAL);
if ((weaponSkills != null) && weaponSkills.stream().noneMatch(sh -> sh.getSkillId() == skill.getId())) if (weaponSkills != null)
{
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); caster.sendPacket(SystemMessageId.THAT_WEAPON_CANNOT_USE_ANY_OTHER_SKILL_EXCEPT_THE_WEAPON_S_SKILL);
return false; return false;
} }
} }
}
// Check if a spell consumes an item. // Check if a spell consumes an item.
if ((skill.getItemConsumeId() > 0) && (skill.getItemConsumeCount() > 0) && (caster.getInventory() != null)) if ((skill.getItemConsumeId() > 0) && (skill.getItemConsumeCount() > 0) && (caster.getInventory() != null))

View File

@@ -1064,12 +1064,25 @@ public class SkillCaster implements Runnable
if ((weapon != null) && weapon.useWeaponSkillsOnly() && !caster.canOverrideCond(PlayerCondOverride.SKILL_CONDITIONS)) if ((weapon != null) && weapon.useWeaponSkillsOnly() && !caster.canOverrideCond(PlayerCondOverride.SKILL_CONDITIONS))
{ {
final List<ItemSkillHolder> weaponSkills = weapon.getSkills(ItemSkillType.NORMAL); final List<ItemSkillHolder> weaponSkills = weapon.getSkills(ItemSkillType.NORMAL);
if ((weaponSkills != null) && weaponSkills.stream().noneMatch(sh -> sh.getSkillId() == skill.getId())) if (weaponSkills != null)
{
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); caster.sendPacket(SystemMessageId.THAT_WEAPON_CANNOT_USE_ANY_OTHER_SKILL_EXCEPT_THE_WEAPON_S_SKILL);
return false; return false;
} }
} }
}
// Check if a spell consumes an item. // Check if a spell consumes an item.
if ((skill.getItemConsumeId() > 0) && (skill.getItemConsumeCount() > 0) && (caster.getInventory() != null)) if ((skill.getItemConsumeId() > 0) && (skill.getItemConsumeCount() > 0) && (caster.getInventory() != null))

View File

@@ -1064,12 +1064,25 @@ public class SkillCaster implements Runnable
if ((weapon != null) && weapon.useWeaponSkillsOnly() && !caster.canOverrideCond(PlayerCondOverride.SKILL_CONDITIONS)) if ((weapon != null) && weapon.useWeaponSkillsOnly() && !caster.canOverrideCond(PlayerCondOverride.SKILL_CONDITIONS))
{ {
final List<ItemSkillHolder> weaponSkills = weapon.getSkills(ItemSkillType.NORMAL); final List<ItemSkillHolder> weaponSkills = weapon.getSkills(ItemSkillType.NORMAL);
if ((weaponSkills != null) && weaponSkills.stream().noneMatch(sh -> sh.getSkillId() == skill.getId())) if (weaponSkills != null)
{
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); caster.sendPacket(SystemMessageId.THAT_WEAPON_CANNOT_USE_ANY_OTHER_SKILL_EXCEPT_THE_WEAPON_S_SKILL);
return false; return false;
} }
} }
}
// Check if a spell consumes an item. // Check if a spell consumes an item.
if ((skill.getItemConsumeId() > 0) && (skill.getItemConsumeCount() > 0) && (caster.getInventory() != null)) if ((skill.getItemConsumeId() > 0) && (skill.getItemConsumeCount() > 0) && (caster.getInventory() != null))

View File

@@ -1064,12 +1064,25 @@ public class SkillCaster implements Runnable
if ((weapon != null) && weapon.useWeaponSkillsOnly() && !caster.canOverrideCond(PlayerCondOverride.SKILL_CONDITIONS)) if ((weapon != null) && weapon.useWeaponSkillsOnly() && !caster.canOverrideCond(PlayerCondOverride.SKILL_CONDITIONS))
{ {
final List<ItemSkillHolder> weaponSkills = weapon.getSkills(ItemSkillType.NORMAL); final List<ItemSkillHolder> weaponSkills = weapon.getSkills(ItemSkillType.NORMAL);
if ((weaponSkills != null) && weaponSkills.stream().noneMatch(sh -> sh.getSkillId() == skill.getId())) if (weaponSkills != null)
{
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); caster.sendPacket(SystemMessageId.THAT_WEAPON_CANNOT_USE_ANY_OTHER_SKILL_EXCEPT_THE_WEAPON_S_SKILL);
return false; return false;
} }
} }
}
// Check if a spell consumes an item. // Check if a spell consumes an item.
if ((skill.getItemConsumeId() > 0) && (skill.getItemConsumeCount() > 0) && (caster.getInventory() != null)) if ((skill.getItemConsumeId() > 0) && (skill.getItemConsumeCount() > 0) && (caster.getInventory() != null))

View File

@@ -1064,12 +1064,25 @@ public class SkillCaster implements Runnable
if ((weapon != null) && weapon.useWeaponSkillsOnly() && !caster.canOverrideCond(PlayerCondOverride.SKILL_CONDITIONS)) if ((weapon != null) && weapon.useWeaponSkillsOnly() && !caster.canOverrideCond(PlayerCondOverride.SKILL_CONDITIONS))
{ {
final List<ItemSkillHolder> weaponSkills = weapon.getSkills(ItemSkillType.NORMAL); final List<ItemSkillHolder> weaponSkills = weapon.getSkills(ItemSkillType.NORMAL);
if ((weaponSkills != null) && weaponSkills.stream().noneMatch(sh -> sh.getSkillId() == skill.getId())) if (weaponSkills != null)
{
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); caster.sendPacket(SystemMessageId.THAT_WEAPON_CANNOT_USE_ANY_OTHER_SKILL_EXCEPT_THE_WEAPON_S_SKILL);
return false; return false;
} }
} }
}
// Check if a spell consumes an item. // Check if a spell consumes an item.
if ((skill.getItemConsumeId() > 0) && (skill.getItemConsumeCount() > 0) && (caster.getInventory() != null)) if ((skill.getItemConsumeId() > 0) && (skill.getItemConsumeCount() > 0) && (caster.getInventory() != null))

View File

@@ -1069,12 +1069,25 @@ public class SkillCaster implements Runnable
if ((weapon != null) && weapon.useWeaponSkillsOnly() && !caster.canOverrideCond(PlayerCondOverride.SKILL_CONDITIONS)) if ((weapon != null) && weapon.useWeaponSkillsOnly() && !caster.canOverrideCond(PlayerCondOverride.SKILL_CONDITIONS))
{ {
final List<ItemSkillHolder> weaponSkills = weapon.getSkills(ItemSkillType.NORMAL); final List<ItemSkillHolder> weaponSkills = weapon.getSkills(ItemSkillType.NORMAL);
if ((weaponSkills != null) && weaponSkills.stream().noneMatch(sh -> sh.getSkillId() == skill.getId())) if (weaponSkills != null)
{
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); caster.sendPacket(SystemMessageId.THAT_WEAPON_CANNOT_USE_ANY_OTHER_SKILL_EXCEPT_THE_WEAPON_S_SKILL);
return false; return false;
} }
} }
}
// Check if a spell consumes an item. // Check if a spell consumes an item.
if ((skill.getItemConsumeId() > 0) && (skill.getItemConsumeCount() > 0) && (caster.getInventory() != null)) if ((skill.getItemConsumeId() > 0) && (skill.getItemConsumeCount() > 0) && (caster.getInventory() != null))

View File

@@ -1064,12 +1064,25 @@ public class SkillCaster implements Runnable
if ((weapon != null) && weapon.useWeaponSkillsOnly() && !caster.canOverrideCond(PlayerCondOverride.SKILL_CONDITIONS)) if ((weapon != null) && weapon.useWeaponSkillsOnly() && !caster.canOverrideCond(PlayerCondOverride.SKILL_CONDITIONS))
{ {
final List<ItemSkillHolder> weaponSkills = weapon.getSkills(ItemSkillType.NORMAL); final List<ItemSkillHolder> weaponSkills = weapon.getSkills(ItemSkillType.NORMAL);
if ((weaponSkills != null) && weaponSkills.stream().noneMatch(sh -> sh.getSkillId() == skill.getId())) if (weaponSkills != null)
{
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); caster.sendPacket(SystemMessageId.THAT_WEAPON_CANNOT_USE_ANY_OTHER_SKILL_EXCEPT_THE_WEAPON_S_SKILL);
return false; return false;
} }
} }
}
// Check if a spell consumes an item. // Check if a spell consumes an item.
if ((skill.getItemConsumeId() > 0) && (skill.getItemConsumeCount() > 0) && (caster.getInventory() != null)) if ((skill.getItemConsumeId() > 0) && (skill.getItemConsumeCount() > 0) && (caster.getInventory() != null))

View File

@@ -1070,12 +1070,25 @@ public class SkillCaster implements Runnable
if ((weapon != null) && weapon.useWeaponSkillsOnly() && !caster.canOverrideCond(PlayerCondOverride.SKILL_CONDITIONS)) if ((weapon != null) && weapon.useWeaponSkillsOnly() && !caster.canOverrideCond(PlayerCondOverride.SKILL_CONDITIONS))
{ {
final List<ItemSkillHolder> weaponSkills = weapon.getSkills(ItemSkillType.NORMAL); final List<ItemSkillHolder> weaponSkills = weapon.getSkills(ItemSkillType.NORMAL);
if ((weaponSkills != null) && weaponSkills.stream().noneMatch(sh -> sh.getSkillId() == skill.getId())) if (weaponSkills != null)
{
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); caster.sendPacket(SystemMessageId.THAT_WEAPON_CANNOT_USE_ANY_OTHER_SKILL_EXCEPT_THE_WEAPON_S_SKILL);
return false; return false;
} }
} }
}
// Check if a spell consumes an item. // Check if a spell consumes an item.
if ((skill.getItemConsumeId() > 0) && (skill.getItemConsumeCount() > 0) && (caster.getInventory() != null)) if ((skill.getItemConsumeId() > 0) && (skill.getItemConsumeCount() > 0) && (caster.getInventory() != null))

View File

@@ -1102,12 +1102,25 @@ public class SkillCaster implements Runnable
if ((weapon != null) && weapon.useWeaponSkillsOnly() && !caster.canOverrideCond(PlayerCondOverride.SKILL_CONDITIONS)) if ((weapon != null) && weapon.useWeaponSkillsOnly() && !caster.canOverrideCond(PlayerCondOverride.SKILL_CONDITIONS))
{ {
final List<ItemSkillHolder> weaponSkills = weapon.getSkills(ItemSkillType.NORMAL); final List<ItemSkillHolder> weaponSkills = weapon.getSkills(ItemSkillType.NORMAL);
if ((weaponSkills != null) && weaponSkills.stream().noneMatch(sh -> sh.getSkillId() == skill.getId())) if (weaponSkills != null)
{
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); caster.sendPacket(SystemMessageId.THAT_WEAPON_CANNOT_USE_ANY_OTHER_SKILL_EXCEPT_THE_WEAPON_S_SKILL);
return false; return false;
} }
} }
}
// Check if a spell consumes an item. // Check if a spell consumes an item.
if ((skill.getItemConsumeId() > 0) && (skill.getItemConsumeCount() > 0) && (caster.getInventory() != null)) if ((skill.getItemConsumeId() > 0) && (skill.getItemConsumeCount() > 0) && (caster.getInventory() != null))

View File

@@ -1135,12 +1135,25 @@ public class SkillCaster implements Runnable
if ((weapon != null) && weapon.useWeaponSkillsOnly() && !caster.canOverrideCond(PlayerCondOverride.SKILL_CONDITIONS)) if ((weapon != null) && weapon.useWeaponSkillsOnly() && !caster.canOverrideCond(PlayerCondOverride.SKILL_CONDITIONS))
{ {
final List<ItemSkillHolder> weaponSkills = weapon.getSkills(ItemSkillType.NORMAL); final List<ItemSkillHolder> weaponSkills = weapon.getSkills(ItemSkillType.NORMAL);
if ((weaponSkills != null) && weaponSkills.stream().noneMatch(sh -> sh.getSkillId() == skill.getId())) if (weaponSkills != null)
{
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); caster.sendPacket(SystemMessageId.THAT_WEAPON_CANNOT_USE_ANY_OTHER_SKILL_EXCEPT_THE_WEAPON_S_SKILL);
return false; return false;
} }
} }
}
// Check if a spell consumes an item. // Check if a spell consumes an item.
if ((skill.getItemConsumeId() > 0) && (skill.getItemConsumeCount() > 0) && (caster.getInventory() != null)) if ((skill.getItemConsumeId() > 0) && (skill.getItemConsumeCount() > 0) && (caster.getInventory() != null))

View File

@@ -1135,12 +1135,25 @@ public class SkillCaster implements Runnable
if ((weapon != null) && weapon.useWeaponSkillsOnly() && !caster.canOverrideCond(PlayerCondOverride.SKILL_CONDITIONS)) if ((weapon != null) && weapon.useWeaponSkillsOnly() && !caster.canOverrideCond(PlayerCondOverride.SKILL_CONDITIONS))
{ {
final List<ItemSkillHolder> weaponSkills = weapon.getSkills(ItemSkillType.NORMAL); final List<ItemSkillHolder> weaponSkills = weapon.getSkills(ItemSkillType.NORMAL);
if ((weaponSkills != null) && weaponSkills.stream().noneMatch(sh -> sh.getSkillId() == skill.getId())) if (weaponSkills != null)
{
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); caster.sendPacket(SystemMessageId.THAT_WEAPON_CANNOT_USE_ANY_OTHER_SKILL_EXCEPT_THE_WEAPON_S_SKILL);
return false; return false;
} }
} }
}
// Check if a spell consumes an item. // Check if a spell consumes an item.
if ((skill.getItemConsumeId() > 0) && (skill.getItemConsumeCount() > 0) && (caster.getInventory() != null)) if ((skill.getItemConsumeId() > 0) && (skill.getItemConsumeCount() > 0) && (caster.getInventory() != null))