Check toggle and enchant passive skills for item equip.
This commit is contained in:
parent
1b4a4bc697
commit
a16afedb8b
@ -58,6 +58,7 @@ import org.l2jmobius.gameserver.model.items.type.EtcItemType;
|
|||||||
import org.l2jmobius.gameserver.model.items.type.ItemType;
|
import org.l2jmobius.gameserver.model.items.type.ItemType;
|
||||||
import org.l2jmobius.gameserver.model.items.type.WeaponType;
|
import org.l2jmobius.gameserver.model.items.type.WeaponType;
|
||||||
import org.l2jmobius.gameserver.model.skills.Skill;
|
import org.l2jmobius.gameserver.model.skills.Skill;
|
||||||
|
import org.l2jmobius.gameserver.model.skills.SkillConditionScope;
|
||||||
import org.l2jmobius.gameserver.network.serverpackets.ExUserInfoEquipSlot;
|
import org.l2jmobius.gameserver.network.serverpackets.ExUserInfoEquipSlot;
|
||||||
import org.l2jmobius.gameserver.network.serverpackets.SkillCoolTime;
|
import org.l2jmobius.gameserver.network.serverpackets.SkillCoolTime;
|
||||||
|
|
||||||
@ -375,6 +376,34 @@ public abstract class Inventory extends ItemContainer
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
// Must check all equipped items for enchant conditions.
|
||||||
|
for (ItemInstance equipped : inventory.getPaperdollItems())
|
||||||
|
{
|
||||||
|
equipped.getItem().forEachSkill(ItemSkillType.ON_ENCHANT, holder ->
|
||||||
|
{
|
||||||
|
// Add skills bestowed from +4 armor
|
||||||
|
if (equipped.getEnchantLevel() >= holder.getValue())
|
||||||
|
{
|
||||||
|
final Skill skill = holder.getSkill();
|
||||||
|
// Check passive skill conditions.
|
||||||
|
if (skill.isPassive() && !skill.checkConditions(SkillConditionScope.PASSIVE, player, player))
|
||||||
|
{
|
||||||
|
player.removeSkill(holder.getSkill(), false, holder.getSkill().isPassive());
|
||||||
|
update.compareAndSet(false, true);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
});
|
||||||
|
}
|
||||||
|
// Must check for toggle skill item conditions.
|
||||||
|
for (Skill skill : player.getSkills().values())
|
||||||
|
{
|
||||||
|
if (skill.isToggle() && player.isAffectedBySkill(skill.getId()) && !skill.checkConditions(SkillConditionScope.GENERAL, player, player))
|
||||||
|
{
|
||||||
|
player.stopSkillEffects(true, skill.getId());
|
||||||
|
update.compareAndSet(false, true);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
// Apply skill, if weapon have "skills on unequip"
|
// Apply skill, if weapon have "skills on unequip"
|
||||||
it.forEachSkill(ItemSkillType.ON_UNEQUIP, holder -> holder.getSkill().activateSkill(player, player));
|
it.forEachSkill(ItemSkillType.ON_UNEQUIP, holder -> holder.getSkill().activateSkill(player, player));
|
||||||
|
|
||||||
@ -415,7 +444,13 @@ public abstract class Inventory extends ItemContainer
|
|||||||
// Add skills bestowed from +4 armor
|
// Add skills bestowed from +4 armor
|
||||||
if (item.getEnchantLevel() >= holder.getValue())
|
if (item.getEnchantLevel() >= holder.getValue())
|
||||||
{
|
{
|
||||||
player.addSkill(holder.getSkill(), false);
|
final Skill skill = holder.getSkill();
|
||||||
|
// Check passive skill conditions.
|
||||||
|
if (skill.isPassive() && !skill.checkConditions(SkillConditionScope.PASSIVE, player, player))
|
||||||
|
{
|
||||||
|
return;
|
||||||
|
}
|
||||||
|
player.addSkill(skill, false);
|
||||||
update.compareAndSet(false, true);
|
update.compareAndSet(false, true);
|
||||||
}
|
}
|
||||||
});
|
});
|
||||||
@ -451,6 +486,26 @@ public abstract class Inventory extends ItemContainer
|
|||||||
}
|
}
|
||||||
});
|
});
|
||||||
|
|
||||||
|
// Must check all equipped items for enchant conditions.
|
||||||
|
for (ItemInstance equipped : inventory.getPaperdollItems())
|
||||||
|
{
|
||||||
|
equipped.getItem().forEachSkill(ItemSkillType.ON_ENCHANT, holder ->
|
||||||
|
{
|
||||||
|
// Add skills bestowed from +4 armor
|
||||||
|
if (equipped.getEnchantLevel() >= holder.getValue())
|
||||||
|
{
|
||||||
|
final Skill skill = holder.getSkill();
|
||||||
|
// Check passive skill conditions.
|
||||||
|
if (skill.isPassive() && !skill.checkConditions(SkillConditionScope.PASSIVE, player, player))
|
||||||
|
{
|
||||||
|
return;
|
||||||
|
}
|
||||||
|
player.addSkill(skill, false);
|
||||||
|
update.compareAndSet(false, true);
|
||||||
|
}
|
||||||
|
});
|
||||||
|
}
|
||||||
|
|
||||||
// Apply skill, if weapon have "skills on equip"
|
// Apply skill, if weapon have "skills on equip"
|
||||||
item.getItem().forEachSkill(ItemSkillType.ON_EQUIP, holder -> holder.getSkill().activateSkill(player, player));
|
item.getItem().forEachSkill(ItemSkillType.ON_EQUIP, holder -> holder.getSkill().activateSkill(player, player));
|
||||||
|
|
||||||
|
@ -58,6 +58,7 @@ import org.l2jmobius.gameserver.model.items.type.EtcItemType;
|
|||||||
import org.l2jmobius.gameserver.model.items.type.ItemType;
|
import org.l2jmobius.gameserver.model.items.type.ItemType;
|
||||||
import org.l2jmobius.gameserver.model.items.type.WeaponType;
|
import org.l2jmobius.gameserver.model.items.type.WeaponType;
|
||||||
import org.l2jmobius.gameserver.model.skills.Skill;
|
import org.l2jmobius.gameserver.model.skills.Skill;
|
||||||
|
import org.l2jmobius.gameserver.model.skills.SkillConditionScope;
|
||||||
import org.l2jmobius.gameserver.network.serverpackets.ExUserInfoEquipSlot;
|
import org.l2jmobius.gameserver.network.serverpackets.ExUserInfoEquipSlot;
|
||||||
import org.l2jmobius.gameserver.network.serverpackets.SkillCoolTime;
|
import org.l2jmobius.gameserver.network.serverpackets.SkillCoolTime;
|
||||||
|
|
||||||
@ -378,6 +379,34 @@ public abstract class Inventory extends ItemContainer
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
// Must check all equipped items for enchant conditions.
|
||||||
|
for (ItemInstance equipped : inventory.getPaperdollItems())
|
||||||
|
{
|
||||||
|
equipped.getItem().forEachSkill(ItemSkillType.ON_ENCHANT, holder ->
|
||||||
|
{
|
||||||
|
// Add skills bestowed from +4 armor
|
||||||
|
if (equipped.getEnchantLevel() >= holder.getValue())
|
||||||
|
{
|
||||||
|
final Skill skill = holder.getSkill();
|
||||||
|
// Check passive skill conditions.
|
||||||
|
if (skill.isPassive() && !skill.checkConditions(SkillConditionScope.PASSIVE, player, player))
|
||||||
|
{
|
||||||
|
player.removeSkill(holder.getSkill(), false, holder.getSkill().isPassive());
|
||||||
|
update.compareAndSet(false, true);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
});
|
||||||
|
}
|
||||||
|
// Must check for toggle skill item conditions.
|
||||||
|
for (Skill skill : player.getSkills().values())
|
||||||
|
{
|
||||||
|
if (skill.isToggle() && player.isAffectedBySkill(skill.getId()) && !skill.checkConditions(SkillConditionScope.GENERAL, player, player))
|
||||||
|
{
|
||||||
|
player.stopSkillEffects(true, skill.getId());
|
||||||
|
update.compareAndSet(false, true);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
// Apply skill, if weapon have "skills on unequip"
|
// Apply skill, if weapon have "skills on unequip"
|
||||||
it.forEachSkill(ItemSkillType.ON_UNEQUIP, holder -> holder.getSkill().activateSkill(player, player));
|
it.forEachSkill(ItemSkillType.ON_UNEQUIP, holder -> holder.getSkill().activateSkill(player, player));
|
||||||
|
|
||||||
@ -429,7 +458,13 @@ public abstract class Inventory extends ItemContainer
|
|||||||
// Add skills bestowed from +4 armor
|
// Add skills bestowed from +4 armor
|
||||||
if (item.getEnchantLevel() >= holder.getValue())
|
if (item.getEnchantLevel() >= holder.getValue())
|
||||||
{
|
{
|
||||||
player.addSkill(holder.getSkill(), false);
|
final Skill skill = holder.getSkill();
|
||||||
|
// Check passive skill conditions.
|
||||||
|
if (skill.isPassive() && !skill.checkConditions(SkillConditionScope.PASSIVE, player, player))
|
||||||
|
{
|
||||||
|
return;
|
||||||
|
}
|
||||||
|
player.addSkill(skill, false);
|
||||||
update.compareAndSet(false, true);
|
update.compareAndSet(false, true);
|
||||||
}
|
}
|
||||||
});
|
});
|
||||||
@ -468,6 +503,26 @@ public abstract class Inventory extends ItemContainer
|
|||||||
}
|
}
|
||||||
});
|
});
|
||||||
|
|
||||||
|
// Must check all equipped items for enchant conditions.
|
||||||
|
for (ItemInstance equipped : inventory.getPaperdollItems())
|
||||||
|
{
|
||||||
|
equipped.getItem().forEachSkill(ItemSkillType.ON_ENCHANT, holder ->
|
||||||
|
{
|
||||||
|
// Add skills bestowed from +4 armor
|
||||||
|
if (equipped.getEnchantLevel() >= holder.getValue())
|
||||||
|
{
|
||||||
|
final Skill skill = holder.getSkill();
|
||||||
|
// Check passive skill conditions.
|
||||||
|
if (skill.isPassive() && !skill.checkConditions(SkillConditionScope.PASSIVE, player, player))
|
||||||
|
{
|
||||||
|
return;
|
||||||
|
}
|
||||||
|
player.addSkill(skill, false);
|
||||||
|
update.compareAndSet(false, true);
|
||||||
|
}
|
||||||
|
});
|
||||||
|
}
|
||||||
|
|
||||||
// Apply skill, if weapon have "skills on equip"
|
// Apply skill, if weapon have "skills on equip"
|
||||||
item.getItem().forEachSkill(ItemSkillType.ON_EQUIP, holder -> holder.getSkill().activateSkill(player, player));
|
item.getItem().forEachSkill(ItemSkillType.ON_EQUIP, holder -> holder.getSkill().activateSkill(player, player));
|
||||||
|
|
||||||
|
@ -58,6 +58,7 @@ import org.l2jmobius.gameserver.model.items.type.EtcItemType;
|
|||||||
import org.l2jmobius.gameserver.model.items.type.ItemType;
|
import org.l2jmobius.gameserver.model.items.type.ItemType;
|
||||||
import org.l2jmobius.gameserver.model.items.type.WeaponType;
|
import org.l2jmobius.gameserver.model.items.type.WeaponType;
|
||||||
import org.l2jmobius.gameserver.model.skills.Skill;
|
import org.l2jmobius.gameserver.model.skills.Skill;
|
||||||
|
import org.l2jmobius.gameserver.model.skills.SkillConditionScope;
|
||||||
import org.l2jmobius.gameserver.network.serverpackets.ExUserInfoEquipSlot;
|
import org.l2jmobius.gameserver.network.serverpackets.ExUserInfoEquipSlot;
|
||||||
import org.l2jmobius.gameserver.network.serverpackets.SkillCoolTime;
|
import org.l2jmobius.gameserver.network.serverpackets.SkillCoolTime;
|
||||||
|
|
||||||
@ -378,6 +379,34 @@ public abstract class Inventory extends ItemContainer
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
// Must check all equipped items for enchant conditions.
|
||||||
|
for (ItemInstance equipped : inventory.getPaperdollItems())
|
||||||
|
{
|
||||||
|
equipped.getItem().forEachSkill(ItemSkillType.ON_ENCHANT, holder ->
|
||||||
|
{
|
||||||
|
// Add skills bestowed from +4 armor
|
||||||
|
if (equipped.getEnchantLevel() >= holder.getValue())
|
||||||
|
{
|
||||||
|
final Skill skill = holder.getSkill();
|
||||||
|
// Check passive skill conditions.
|
||||||
|
if (skill.isPassive() && !skill.checkConditions(SkillConditionScope.PASSIVE, player, player))
|
||||||
|
{
|
||||||
|
player.removeSkill(holder.getSkill(), false, holder.getSkill().isPassive());
|
||||||
|
update.compareAndSet(false, true);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
});
|
||||||
|
}
|
||||||
|
// Must check for toggle skill item conditions.
|
||||||
|
for (Skill skill : player.getSkills().values())
|
||||||
|
{
|
||||||
|
if (skill.isToggle() && player.isAffectedBySkill(skill.getId()) && !skill.checkConditions(SkillConditionScope.GENERAL, player, player))
|
||||||
|
{
|
||||||
|
player.stopSkillEffects(true, skill.getId());
|
||||||
|
update.compareAndSet(false, true);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
// Apply skill, if weapon have "skills on unequip"
|
// Apply skill, if weapon have "skills on unequip"
|
||||||
it.forEachSkill(ItemSkillType.ON_UNEQUIP, holder -> holder.getSkill().activateSkill(player, player));
|
it.forEachSkill(ItemSkillType.ON_UNEQUIP, holder -> holder.getSkill().activateSkill(player, player));
|
||||||
|
|
||||||
@ -429,7 +458,13 @@ public abstract class Inventory extends ItemContainer
|
|||||||
// Add skills bestowed from +4 armor
|
// Add skills bestowed from +4 armor
|
||||||
if (item.getEnchantLevel() >= holder.getValue())
|
if (item.getEnchantLevel() >= holder.getValue())
|
||||||
{
|
{
|
||||||
player.addSkill(holder.getSkill(), false);
|
final Skill skill = holder.getSkill();
|
||||||
|
// Check passive skill conditions.
|
||||||
|
if (skill.isPassive() && !skill.checkConditions(SkillConditionScope.PASSIVE, player, player))
|
||||||
|
{
|
||||||
|
return;
|
||||||
|
}
|
||||||
|
player.addSkill(skill, false);
|
||||||
update.compareAndSet(false, true);
|
update.compareAndSet(false, true);
|
||||||
}
|
}
|
||||||
});
|
});
|
||||||
@ -468,6 +503,26 @@ public abstract class Inventory extends ItemContainer
|
|||||||
}
|
}
|
||||||
});
|
});
|
||||||
|
|
||||||
|
// Must check all equipped items for enchant conditions.
|
||||||
|
for (ItemInstance equipped : inventory.getPaperdollItems())
|
||||||
|
{
|
||||||
|
equipped.getItem().forEachSkill(ItemSkillType.ON_ENCHANT, holder ->
|
||||||
|
{
|
||||||
|
// Add skills bestowed from +4 armor
|
||||||
|
if (equipped.getEnchantLevel() >= holder.getValue())
|
||||||
|
{
|
||||||
|
final Skill skill = holder.getSkill();
|
||||||
|
// Check passive skill conditions.
|
||||||
|
if (skill.isPassive() && !skill.checkConditions(SkillConditionScope.PASSIVE, player, player))
|
||||||
|
{
|
||||||
|
return;
|
||||||
|
}
|
||||||
|
player.addSkill(skill, false);
|
||||||
|
update.compareAndSet(false, true);
|
||||||
|
}
|
||||||
|
});
|
||||||
|
}
|
||||||
|
|
||||||
// Apply skill, if weapon have "skills on equip"
|
// Apply skill, if weapon have "skills on equip"
|
||||||
item.getItem().forEachSkill(ItemSkillType.ON_EQUIP, holder -> holder.getSkill().activateSkill(player, player));
|
item.getItem().forEachSkill(ItemSkillType.ON_EQUIP, holder -> holder.getSkill().activateSkill(player, player));
|
||||||
|
|
||||||
|
@ -58,6 +58,7 @@ import org.l2jmobius.gameserver.model.items.type.EtcItemType;
|
|||||||
import org.l2jmobius.gameserver.model.items.type.ItemType;
|
import org.l2jmobius.gameserver.model.items.type.ItemType;
|
||||||
import org.l2jmobius.gameserver.model.items.type.WeaponType;
|
import org.l2jmobius.gameserver.model.items.type.WeaponType;
|
||||||
import org.l2jmobius.gameserver.model.skills.Skill;
|
import org.l2jmobius.gameserver.model.skills.Skill;
|
||||||
|
import org.l2jmobius.gameserver.model.skills.SkillConditionScope;
|
||||||
import org.l2jmobius.gameserver.network.serverpackets.ExUserInfoEquipSlot;
|
import org.l2jmobius.gameserver.network.serverpackets.ExUserInfoEquipSlot;
|
||||||
import org.l2jmobius.gameserver.network.serverpackets.SkillCoolTime;
|
import org.l2jmobius.gameserver.network.serverpackets.SkillCoolTime;
|
||||||
|
|
||||||
@ -378,6 +379,34 @@ public abstract class Inventory extends ItemContainer
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
// Must check all equipped items for enchant conditions.
|
||||||
|
for (ItemInstance equipped : inventory.getPaperdollItems())
|
||||||
|
{
|
||||||
|
equipped.getItem().forEachSkill(ItemSkillType.ON_ENCHANT, holder ->
|
||||||
|
{
|
||||||
|
// Add skills bestowed from +4 armor
|
||||||
|
if (equipped.getEnchantLevel() >= holder.getValue())
|
||||||
|
{
|
||||||
|
final Skill skill = holder.getSkill();
|
||||||
|
// Check passive skill conditions.
|
||||||
|
if (skill.isPassive() && !skill.checkConditions(SkillConditionScope.PASSIVE, player, player))
|
||||||
|
{
|
||||||
|
player.removeSkill(holder.getSkill(), false, holder.getSkill().isPassive());
|
||||||
|
update.compareAndSet(false, true);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
});
|
||||||
|
}
|
||||||
|
// Must check for toggle skill item conditions.
|
||||||
|
for (Skill skill : player.getSkills().values())
|
||||||
|
{
|
||||||
|
if (skill.isToggle() && player.isAffectedBySkill(skill.getId()) && !skill.checkConditions(SkillConditionScope.GENERAL, player, player))
|
||||||
|
{
|
||||||
|
player.stopSkillEffects(true, skill.getId());
|
||||||
|
update.compareAndSet(false, true);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
// Apply skill, if weapon have "skills on unequip"
|
// Apply skill, if weapon have "skills on unequip"
|
||||||
it.forEachSkill(ItemSkillType.ON_UNEQUIP, holder -> holder.getSkill().activateSkill(player, player));
|
it.forEachSkill(ItemSkillType.ON_UNEQUIP, holder -> holder.getSkill().activateSkill(player, player));
|
||||||
|
|
||||||
@ -429,7 +458,13 @@ public abstract class Inventory extends ItemContainer
|
|||||||
// Add skills bestowed from +4 armor
|
// Add skills bestowed from +4 armor
|
||||||
if (item.getEnchantLevel() >= holder.getValue())
|
if (item.getEnchantLevel() >= holder.getValue())
|
||||||
{
|
{
|
||||||
player.addSkill(holder.getSkill(), false);
|
final Skill skill = holder.getSkill();
|
||||||
|
// Check passive skill conditions.
|
||||||
|
if (skill.isPassive() && !skill.checkConditions(SkillConditionScope.PASSIVE, player, player))
|
||||||
|
{
|
||||||
|
return;
|
||||||
|
}
|
||||||
|
player.addSkill(skill, false);
|
||||||
update.compareAndSet(false, true);
|
update.compareAndSet(false, true);
|
||||||
}
|
}
|
||||||
});
|
});
|
||||||
@ -468,6 +503,26 @@ public abstract class Inventory extends ItemContainer
|
|||||||
}
|
}
|
||||||
});
|
});
|
||||||
|
|
||||||
|
// Must check all equipped items for enchant conditions.
|
||||||
|
for (ItemInstance equipped : inventory.getPaperdollItems())
|
||||||
|
{
|
||||||
|
equipped.getItem().forEachSkill(ItemSkillType.ON_ENCHANT, holder ->
|
||||||
|
{
|
||||||
|
// Add skills bestowed from +4 armor
|
||||||
|
if (equipped.getEnchantLevel() >= holder.getValue())
|
||||||
|
{
|
||||||
|
final Skill skill = holder.getSkill();
|
||||||
|
// Check passive skill conditions.
|
||||||
|
if (skill.isPassive() && !skill.checkConditions(SkillConditionScope.PASSIVE, player, player))
|
||||||
|
{
|
||||||
|
return;
|
||||||
|
}
|
||||||
|
player.addSkill(skill, false);
|
||||||
|
update.compareAndSet(false, true);
|
||||||
|
}
|
||||||
|
});
|
||||||
|
}
|
||||||
|
|
||||||
// Apply skill, if weapon have "skills on equip"
|
// Apply skill, if weapon have "skills on equip"
|
||||||
item.getItem().forEachSkill(ItemSkillType.ON_EQUIP, holder -> holder.getSkill().activateSkill(player, player));
|
item.getItem().forEachSkill(ItemSkillType.ON_EQUIP, holder -> holder.getSkill().activateSkill(player, player));
|
||||||
|
|
||||||
|
@ -58,6 +58,7 @@ import org.l2jmobius.gameserver.model.items.type.EtcItemType;
|
|||||||
import org.l2jmobius.gameserver.model.items.type.ItemType;
|
import org.l2jmobius.gameserver.model.items.type.ItemType;
|
||||||
import org.l2jmobius.gameserver.model.items.type.WeaponType;
|
import org.l2jmobius.gameserver.model.items.type.WeaponType;
|
||||||
import org.l2jmobius.gameserver.model.skills.Skill;
|
import org.l2jmobius.gameserver.model.skills.Skill;
|
||||||
|
import org.l2jmobius.gameserver.model.skills.SkillConditionScope;
|
||||||
import org.l2jmobius.gameserver.network.serverpackets.ExUserInfoEquipSlot;
|
import org.l2jmobius.gameserver.network.serverpackets.ExUserInfoEquipSlot;
|
||||||
import org.l2jmobius.gameserver.network.serverpackets.SkillCoolTime;
|
import org.l2jmobius.gameserver.network.serverpackets.SkillCoolTime;
|
||||||
|
|
||||||
@ -383,6 +384,34 @@ public abstract class Inventory extends ItemContainer
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
// Must check all equipped items for enchant conditions.
|
||||||
|
for (ItemInstance equipped : inventory.getPaperdollItems())
|
||||||
|
{
|
||||||
|
equipped.getItem().forEachSkill(ItemSkillType.ON_ENCHANT, holder ->
|
||||||
|
{
|
||||||
|
// Add skills bestowed from +4 armor
|
||||||
|
if (equipped.getEnchantLevel() >= holder.getValue())
|
||||||
|
{
|
||||||
|
final Skill skill = holder.getSkill();
|
||||||
|
// Check passive skill conditions.
|
||||||
|
if (skill.isPassive() && !skill.checkConditions(SkillConditionScope.PASSIVE, player, player))
|
||||||
|
{
|
||||||
|
player.removeSkill(holder.getSkill(), false, holder.getSkill().isPassive());
|
||||||
|
update.compareAndSet(false, true);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
});
|
||||||
|
}
|
||||||
|
// Must check for toggle skill item conditions.
|
||||||
|
for (Skill skill : player.getSkills().values())
|
||||||
|
{
|
||||||
|
if (skill.isToggle() && player.isAffectedBySkill(skill.getId()) && !skill.checkConditions(SkillConditionScope.GENERAL, player, player))
|
||||||
|
{
|
||||||
|
player.stopSkillEffects(true, skill.getId());
|
||||||
|
update.compareAndSet(false, true);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
// Apply skill, if weapon have "skills on unequip"
|
// Apply skill, if weapon have "skills on unequip"
|
||||||
it.forEachSkill(ItemSkillType.ON_UNEQUIP, holder -> holder.getSkill().activateSkill(player, player));
|
it.forEachSkill(ItemSkillType.ON_UNEQUIP, holder -> holder.getSkill().activateSkill(player, player));
|
||||||
|
|
||||||
@ -434,7 +463,13 @@ public abstract class Inventory extends ItemContainer
|
|||||||
// Add skills bestowed from +4 armor
|
// Add skills bestowed from +4 armor
|
||||||
if (item.getEnchantLevel() >= holder.getValue())
|
if (item.getEnchantLevel() >= holder.getValue())
|
||||||
{
|
{
|
||||||
player.addSkill(holder.getSkill(), false);
|
final Skill skill = holder.getSkill();
|
||||||
|
// Check passive skill conditions.
|
||||||
|
if (skill.isPassive() && !skill.checkConditions(SkillConditionScope.PASSIVE, player, player))
|
||||||
|
{
|
||||||
|
return;
|
||||||
|
}
|
||||||
|
player.addSkill(skill, false);
|
||||||
update.compareAndSet(false, true);
|
update.compareAndSet(false, true);
|
||||||
}
|
}
|
||||||
});
|
});
|
||||||
@ -473,6 +508,26 @@ public abstract class Inventory extends ItemContainer
|
|||||||
}
|
}
|
||||||
});
|
});
|
||||||
|
|
||||||
|
// Must check all equipped items for enchant conditions.
|
||||||
|
for (ItemInstance equipped : inventory.getPaperdollItems())
|
||||||
|
{
|
||||||
|
equipped.getItem().forEachSkill(ItemSkillType.ON_ENCHANT, holder ->
|
||||||
|
{
|
||||||
|
// Add skills bestowed from +4 armor
|
||||||
|
if (equipped.getEnchantLevel() >= holder.getValue())
|
||||||
|
{
|
||||||
|
final Skill skill = holder.getSkill();
|
||||||
|
// Check passive skill conditions.
|
||||||
|
if (skill.isPassive() && !skill.checkConditions(SkillConditionScope.PASSIVE, player, player))
|
||||||
|
{
|
||||||
|
return;
|
||||||
|
}
|
||||||
|
player.addSkill(skill, false);
|
||||||
|
update.compareAndSet(false, true);
|
||||||
|
}
|
||||||
|
});
|
||||||
|
}
|
||||||
|
|
||||||
// Apply skill, if weapon have "skills on equip"
|
// Apply skill, if weapon have "skills on equip"
|
||||||
item.getItem().forEachSkill(ItemSkillType.ON_EQUIP, holder -> holder.getSkill().activateSkill(player, player));
|
item.getItem().forEachSkill(ItemSkillType.ON_EQUIP, holder -> holder.getSkill().activateSkill(player, player));
|
||||||
|
|
||||||
|
@ -58,6 +58,7 @@ import org.l2jmobius.gameserver.model.items.type.EtcItemType;
|
|||||||
import org.l2jmobius.gameserver.model.items.type.ItemType;
|
import org.l2jmobius.gameserver.model.items.type.ItemType;
|
||||||
import org.l2jmobius.gameserver.model.items.type.WeaponType;
|
import org.l2jmobius.gameserver.model.items.type.WeaponType;
|
||||||
import org.l2jmobius.gameserver.model.skills.Skill;
|
import org.l2jmobius.gameserver.model.skills.Skill;
|
||||||
|
import org.l2jmobius.gameserver.model.skills.SkillConditionScope;
|
||||||
import org.l2jmobius.gameserver.network.serverpackets.ExUserInfoEquipSlot;
|
import org.l2jmobius.gameserver.network.serverpackets.ExUserInfoEquipSlot;
|
||||||
import org.l2jmobius.gameserver.network.serverpackets.SkillCoolTime;
|
import org.l2jmobius.gameserver.network.serverpackets.SkillCoolTime;
|
||||||
|
|
||||||
@ -406,6 +407,34 @@ public abstract class Inventory extends ItemContainer
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
// Must check all equipped items for enchant conditions.
|
||||||
|
for (ItemInstance equipped : inventory.getPaperdollItems())
|
||||||
|
{
|
||||||
|
equipped.getItem().forEachSkill(ItemSkillType.ON_ENCHANT, holder ->
|
||||||
|
{
|
||||||
|
// Add skills bestowed from +4 armor
|
||||||
|
if (equipped.getEnchantLevel() >= holder.getValue())
|
||||||
|
{
|
||||||
|
final Skill skill = holder.getSkill();
|
||||||
|
// Check passive skill conditions.
|
||||||
|
if (skill.isPassive() && !skill.checkConditions(SkillConditionScope.PASSIVE, player, player))
|
||||||
|
{
|
||||||
|
player.removeSkill(holder.getSkill(), false, holder.getSkill().isPassive());
|
||||||
|
update.compareAndSet(false, true);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
});
|
||||||
|
}
|
||||||
|
// Must check for toggle skill item conditions.
|
||||||
|
for (Skill skill : player.getSkills().values())
|
||||||
|
{
|
||||||
|
if (skill.isToggle() && player.isAffectedBySkill(skill.getId()) && !skill.checkConditions(SkillConditionScope.GENERAL, player, player))
|
||||||
|
{
|
||||||
|
player.stopSkillEffects(true, skill.getId());
|
||||||
|
update.compareAndSet(false, true);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
// Apply skill, if weapon have "skills on unequip"
|
// Apply skill, if weapon have "skills on unequip"
|
||||||
it.forEachSkill(ItemSkillType.ON_UNEQUIP, holder -> holder.getSkill().activateSkill(player, player));
|
it.forEachSkill(ItemSkillType.ON_UNEQUIP, holder -> holder.getSkill().activateSkill(player, player));
|
||||||
|
|
||||||
@ -457,7 +486,13 @@ public abstract class Inventory extends ItemContainer
|
|||||||
// Add skills bestowed from +4 armor
|
// Add skills bestowed from +4 armor
|
||||||
if (item.getEnchantLevel() >= holder.getValue())
|
if (item.getEnchantLevel() >= holder.getValue())
|
||||||
{
|
{
|
||||||
player.addSkill(holder.getSkill(), false);
|
final Skill skill = holder.getSkill();
|
||||||
|
// Check passive skill conditions.
|
||||||
|
if (skill.isPassive() && !skill.checkConditions(SkillConditionScope.PASSIVE, player, player))
|
||||||
|
{
|
||||||
|
return;
|
||||||
|
}
|
||||||
|
player.addSkill(skill, false);
|
||||||
update.compareAndSet(false, true);
|
update.compareAndSet(false, true);
|
||||||
}
|
}
|
||||||
});
|
});
|
||||||
@ -496,6 +531,26 @@ public abstract class Inventory extends ItemContainer
|
|||||||
}
|
}
|
||||||
});
|
});
|
||||||
|
|
||||||
|
// Must check all equipped items for enchant conditions.
|
||||||
|
for (ItemInstance equipped : inventory.getPaperdollItems())
|
||||||
|
{
|
||||||
|
equipped.getItem().forEachSkill(ItemSkillType.ON_ENCHANT, holder ->
|
||||||
|
{
|
||||||
|
// Add skills bestowed from +4 armor
|
||||||
|
if (equipped.getEnchantLevel() >= holder.getValue())
|
||||||
|
{
|
||||||
|
final Skill skill = holder.getSkill();
|
||||||
|
// Check passive skill conditions.
|
||||||
|
if (skill.isPassive() && !skill.checkConditions(SkillConditionScope.PASSIVE, player, player))
|
||||||
|
{
|
||||||
|
return;
|
||||||
|
}
|
||||||
|
player.addSkill(skill, false);
|
||||||
|
update.compareAndSet(false, true);
|
||||||
|
}
|
||||||
|
});
|
||||||
|
}
|
||||||
|
|
||||||
// Apply skill, if weapon have "skills on equip"
|
// Apply skill, if weapon have "skills on equip"
|
||||||
item.getItem().forEachSkill(ItemSkillType.ON_EQUIP, holder -> holder.getSkill().activateSkill(player, player));
|
item.getItem().forEachSkill(ItemSkillType.ON_EQUIP, holder -> holder.getSkill().activateSkill(player, player));
|
||||||
|
|
||||||
|
@ -58,6 +58,7 @@ import org.l2jmobius.gameserver.model.items.type.EtcItemType;
|
|||||||
import org.l2jmobius.gameserver.model.items.type.ItemType;
|
import org.l2jmobius.gameserver.model.items.type.ItemType;
|
||||||
import org.l2jmobius.gameserver.model.items.type.WeaponType;
|
import org.l2jmobius.gameserver.model.items.type.WeaponType;
|
||||||
import org.l2jmobius.gameserver.model.skills.Skill;
|
import org.l2jmobius.gameserver.model.skills.Skill;
|
||||||
|
import org.l2jmobius.gameserver.model.skills.SkillConditionScope;
|
||||||
import org.l2jmobius.gameserver.network.serverpackets.ExUserInfoEquipSlot;
|
import org.l2jmobius.gameserver.network.serverpackets.ExUserInfoEquipSlot;
|
||||||
import org.l2jmobius.gameserver.network.serverpackets.SkillCoolTime;
|
import org.l2jmobius.gameserver.network.serverpackets.SkillCoolTime;
|
||||||
|
|
||||||
@ -406,6 +407,34 @@ public abstract class Inventory extends ItemContainer
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
// Must check all equipped items for enchant conditions.
|
||||||
|
for (ItemInstance equipped : inventory.getPaperdollItems())
|
||||||
|
{
|
||||||
|
equipped.getItem().forEachSkill(ItemSkillType.ON_ENCHANT, holder ->
|
||||||
|
{
|
||||||
|
// Add skills bestowed from +4 armor
|
||||||
|
if (equipped.getEnchantLevel() >= holder.getValue())
|
||||||
|
{
|
||||||
|
final Skill skill = holder.getSkill();
|
||||||
|
// Check passive skill conditions.
|
||||||
|
if (skill.isPassive() && !skill.checkConditions(SkillConditionScope.PASSIVE, player, player))
|
||||||
|
{
|
||||||
|
player.removeSkill(holder.getSkill(), false, holder.getSkill().isPassive());
|
||||||
|
update.compareAndSet(false, true);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
});
|
||||||
|
}
|
||||||
|
// Must check for toggle skill item conditions.
|
||||||
|
for (Skill skill : player.getSkills().values())
|
||||||
|
{
|
||||||
|
if (skill.isToggle() && player.isAffectedBySkill(skill.getId()) && !skill.checkConditions(SkillConditionScope.GENERAL, player, player))
|
||||||
|
{
|
||||||
|
player.stopSkillEffects(true, skill.getId());
|
||||||
|
update.compareAndSet(false, true);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
// Apply skill, if weapon have "skills on unequip"
|
// Apply skill, if weapon have "skills on unequip"
|
||||||
it.forEachSkill(ItemSkillType.ON_UNEQUIP, holder -> holder.getSkill().activateSkill(player, player));
|
it.forEachSkill(ItemSkillType.ON_UNEQUIP, holder -> holder.getSkill().activateSkill(player, player));
|
||||||
|
|
||||||
@ -457,7 +486,13 @@ public abstract class Inventory extends ItemContainer
|
|||||||
// Add skills bestowed from +4 armor
|
// Add skills bestowed from +4 armor
|
||||||
if (item.getEnchantLevel() >= holder.getValue())
|
if (item.getEnchantLevel() >= holder.getValue())
|
||||||
{
|
{
|
||||||
player.addSkill(holder.getSkill(), false);
|
final Skill skill = holder.getSkill();
|
||||||
|
// Check passive skill conditions.
|
||||||
|
if (skill.isPassive() && !skill.checkConditions(SkillConditionScope.PASSIVE, player, player))
|
||||||
|
{
|
||||||
|
return;
|
||||||
|
}
|
||||||
|
player.addSkill(skill, false);
|
||||||
update.compareAndSet(false, true);
|
update.compareAndSet(false, true);
|
||||||
}
|
}
|
||||||
});
|
});
|
||||||
@ -496,6 +531,26 @@ public abstract class Inventory extends ItemContainer
|
|||||||
}
|
}
|
||||||
});
|
});
|
||||||
|
|
||||||
|
// Must check all equipped items for enchant conditions.
|
||||||
|
for (ItemInstance equipped : inventory.getPaperdollItems())
|
||||||
|
{
|
||||||
|
equipped.getItem().forEachSkill(ItemSkillType.ON_ENCHANT, holder ->
|
||||||
|
{
|
||||||
|
// Add skills bestowed from +4 armor
|
||||||
|
if (equipped.getEnchantLevel() >= holder.getValue())
|
||||||
|
{
|
||||||
|
final Skill skill = holder.getSkill();
|
||||||
|
// Check passive skill conditions.
|
||||||
|
if (skill.isPassive() && !skill.checkConditions(SkillConditionScope.PASSIVE, player, player))
|
||||||
|
{
|
||||||
|
return;
|
||||||
|
}
|
||||||
|
player.addSkill(skill, false);
|
||||||
|
update.compareAndSet(false, true);
|
||||||
|
}
|
||||||
|
});
|
||||||
|
}
|
||||||
|
|
||||||
// Apply skill, if weapon have "skills on equip"
|
// Apply skill, if weapon have "skills on equip"
|
||||||
item.getItem().forEachSkill(ItemSkillType.ON_EQUIP, holder -> holder.getSkill().activateSkill(player, player));
|
item.getItem().forEachSkill(ItemSkillType.ON_EQUIP, holder -> holder.getSkill().activateSkill(player, player));
|
||||||
|
|
||||||
|
@ -58,6 +58,7 @@ import org.l2jmobius.gameserver.model.items.type.EtcItemType;
|
|||||||
import org.l2jmobius.gameserver.model.items.type.ItemType;
|
import org.l2jmobius.gameserver.model.items.type.ItemType;
|
||||||
import org.l2jmobius.gameserver.model.items.type.WeaponType;
|
import org.l2jmobius.gameserver.model.items.type.WeaponType;
|
||||||
import org.l2jmobius.gameserver.model.skills.Skill;
|
import org.l2jmobius.gameserver.model.skills.Skill;
|
||||||
|
import org.l2jmobius.gameserver.model.skills.SkillConditionScope;
|
||||||
import org.l2jmobius.gameserver.network.serverpackets.ExUserInfoEquipSlot;
|
import org.l2jmobius.gameserver.network.serverpackets.ExUserInfoEquipSlot;
|
||||||
import org.l2jmobius.gameserver.network.serverpackets.SkillCoolTime;
|
import org.l2jmobius.gameserver.network.serverpackets.SkillCoolTime;
|
||||||
|
|
||||||
@ -378,6 +379,34 @@ public abstract class Inventory extends ItemContainer
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
// Must check all equipped items for enchant conditions.
|
||||||
|
for (ItemInstance equipped : inventory.getPaperdollItems())
|
||||||
|
{
|
||||||
|
equipped.getItem().forEachSkill(ItemSkillType.ON_ENCHANT, holder ->
|
||||||
|
{
|
||||||
|
// Add skills bestowed from +4 armor
|
||||||
|
if (equipped.getEnchantLevel() >= holder.getValue())
|
||||||
|
{
|
||||||
|
final Skill skill = holder.getSkill();
|
||||||
|
// Check passive skill conditions.
|
||||||
|
if (skill.isPassive() && !skill.checkConditions(SkillConditionScope.PASSIVE, player, player))
|
||||||
|
{
|
||||||
|
player.removeSkill(holder.getSkill(), false, holder.getSkill().isPassive());
|
||||||
|
update.compareAndSet(false, true);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
});
|
||||||
|
}
|
||||||
|
// Must check for toggle skill item conditions.
|
||||||
|
for (Skill skill : player.getSkills().values())
|
||||||
|
{
|
||||||
|
if (skill.isToggle() && player.isAffectedBySkill(skill.getId()) && !skill.checkConditions(SkillConditionScope.GENERAL, player, player))
|
||||||
|
{
|
||||||
|
player.stopSkillEffects(true, skill.getId());
|
||||||
|
update.compareAndSet(false, true);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
// Apply skill, if weapon have "skills on unequip"
|
// Apply skill, if weapon have "skills on unequip"
|
||||||
it.forEachSkill(ItemSkillType.ON_UNEQUIP, holder -> holder.getSkill().activateSkill(player, player));
|
it.forEachSkill(ItemSkillType.ON_UNEQUIP, holder -> holder.getSkill().activateSkill(player, player));
|
||||||
|
|
||||||
@ -429,7 +458,13 @@ public abstract class Inventory extends ItemContainer
|
|||||||
// Add skills bestowed from +4 armor
|
// Add skills bestowed from +4 armor
|
||||||
if (item.getEnchantLevel() >= holder.getValue())
|
if (item.getEnchantLevel() >= holder.getValue())
|
||||||
{
|
{
|
||||||
player.addSkill(holder.getSkill(), false);
|
final Skill skill = holder.getSkill();
|
||||||
|
// Check passive skill conditions.
|
||||||
|
if (skill.isPassive() && !skill.checkConditions(SkillConditionScope.PASSIVE, player, player))
|
||||||
|
{
|
||||||
|
return;
|
||||||
|
}
|
||||||
|
player.addSkill(skill, false);
|
||||||
update.compareAndSet(false, true);
|
update.compareAndSet(false, true);
|
||||||
}
|
}
|
||||||
});
|
});
|
||||||
@ -468,6 +503,26 @@ public abstract class Inventory extends ItemContainer
|
|||||||
}
|
}
|
||||||
});
|
});
|
||||||
|
|
||||||
|
// Must check all equipped items for enchant conditions.
|
||||||
|
for (ItemInstance equipped : inventory.getPaperdollItems())
|
||||||
|
{
|
||||||
|
equipped.getItem().forEachSkill(ItemSkillType.ON_ENCHANT, holder ->
|
||||||
|
{
|
||||||
|
// Add skills bestowed from +4 armor
|
||||||
|
if (equipped.getEnchantLevel() >= holder.getValue())
|
||||||
|
{
|
||||||
|
final Skill skill = holder.getSkill();
|
||||||
|
// Check passive skill conditions.
|
||||||
|
if (skill.isPassive() && !skill.checkConditions(SkillConditionScope.PASSIVE, player, player))
|
||||||
|
{
|
||||||
|
return;
|
||||||
|
}
|
||||||
|
player.addSkill(skill, false);
|
||||||
|
update.compareAndSet(false, true);
|
||||||
|
}
|
||||||
|
});
|
||||||
|
}
|
||||||
|
|
||||||
// Apply skill, if weapon have "skills on equip"
|
// Apply skill, if weapon have "skills on equip"
|
||||||
item.getItem().forEachSkill(ItemSkillType.ON_EQUIP, holder -> holder.getSkill().activateSkill(player, player));
|
item.getItem().forEachSkill(ItemSkillType.ON_EQUIP, holder -> holder.getSkill().activateSkill(player, player));
|
||||||
|
|
||||||
|
@ -58,6 +58,7 @@ import org.l2jmobius.gameserver.model.items.type.EtcItemType;
|
|||||||
import org.l2jmobius.gameserver.model.items.type.ItemType;
|
import org.l2jmobius.gameserver.model.items.type.ItemType;
|
||||||
import org.l2jmobius.gameserver.model.items.type.WeaponType;
|
import org.l2jmobius.gameserver.model.items.type.WeaponType;
|
||||||
import org.l2jmobius.gameserver.model.skills.Skill;
|
import org.l2jmobius.gameserver.model.skills.Skill;
|
||||||
|
import org.l2jmobius.gameserver.model.skills.SkillConditionScope;
|
||||||
import org.l2jmobius.gameserver.network.serverpackets.ExUserInfoEquipSlot;
|
import org.l2jmobius.gameserver.network.serverpackets.ExUserInfoEquipSlot;
|
||||||
import org.l2jmobius.gameserver.network.serverpackets.SkillCoolTime;
|
import org.l2jmobius.gameserver.network.serverpackets.SkillCoolTime;
|
||||||
|
|
||||||
@ -378,6 +379,34 @@ public abstract class Inventory extends ItemContainer
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
// Must check all equipped items for enchant conditions.
|
||||||
|
for (ItemInstance equipped : inventory.getPaperdollItems())
|
||||||
|
{
|
||||||
|
equipped.getItem().forEachSkill(ItemSkillType.ON_ENCHANT, holder ->
|
||||||
|
{
|
||||||
|
// Add skills bestowed from +4 armor
|
||||||
|
if (equipped.getEnchantLevel() >= holder.getValue())
|
||||||
|
{
|
||||||
|
final Skill skill = holder.getSkill();
|
||||||
|
// Check passive skill conditions.
|
||||||
|
if (skill.isPassive() && !skill.checkConditions(SkillConditionScope.PASSIVE, player, player))
|
||||||
|
{
|
||||||
|
player.removeSkill(holder.getSkill(), false, holder.getSkill().isPassive());
|
||||||
|
update.compareAndSet(false, true);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
});
|
||||||
|
}
|
||||||
|
// Must check for toggle skill item conditions.
|
||||||
|
for (Skill skill : player.getSkills().values())
|
||||||
|
{
|
||||||
|
if (skill.isToggle() && player.isAffectedBySkill(skill.getId()) && !skill.checkConditions(SkillConditionScope.GENERAL, player, player))
|
||||||
|
{
|
||||||
|
player.stopSkillEffects(true, skill.getId());
|
||||||
|
update.compareAndSet(false, true);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
// Apply skill, if weapon have "skills on unequip"
|
// Apply skill, if weapon have "skills on unequip"
|
||||||
it.forEachSkill(ItemSkillType.ON_UNEQUIP, holder -> holder.getSkill().activateSkill(player, player));
|
it.forEachSkill(ItemSkillType.ON_UNEQUIP, holder -> holder.getSkill().activateSkill(player, player));
|
||||||
|
|
||||||
@ -429,7 +458,13 @@ public abstract class Inventory extends ItemContainer
|
|||||||
// Add skills bestowed from +4 armor
|
// Add skills bestowed from +4 armor
|
||||||
if (item.getEnchantLevel() >= holder.getValue())
|
if (item.getEnchantLevel() >= holder.getValue())
|
||||||
{
|
{
|
||||||
player.addSkill(holder.getSkill(), false);
|
final Skill skill = holder.getSkill();
|
||||||
|
// Check passive skill conditions.
|
||||||
|
if (skill.isPassive() && !skill.checkConditions(SkillConditionScope.PASSIVE, player, player))
|
||||||
|
{
|
||||||
|
return;
|
||||||
|
}
|
||||||
|
player.addSkill(skill, false);
|
||||||
update.compareAndSet(false, true);
|
update.compareAndSet(false, true);
|
||||||
}
|
}
|
||||||
});
|
});
|
||||||
@ -468,6 +503,26 @@ public abstract class Inventory extends ItemContainer
|
|||||||
}
|
}
|
||||||
});
|
});
|
||||||
|
|
||||||
|
// Must check all equipped items for enchant conditions.
|
||||||
|
for (ItemInstance equipped : inventory.getPaperdollItems())
|
||||||
|
{
|
||||||
|
equipped.getItem().forEachSkill(ItemSkillType.ON_ENCHANT, holder ->
|
||||||
|
{
|
||||||
|
// Add skills bestowed from +4 armor
|
||||||
|
if (equipped.getEnchantLevel() >= holder.getValue())
|
||||||
|
{
|
||||||
|
final Skill skill = holder.getSkill();
|
||||||
|
// Check passive skill conditions.
|
||||||
|
if (skill.isPassive() && !skill.checkConditions(SkillConditionScope.PASSIVE, player, player))
|
||||||
|
{
|
||||||
|
return;
|
||||||
|
}
|
||||||
|
player.addSkill(skill, false);
|
||||||
|
update.compareAndSet(false, true);
|
||||||
|
}
|
||||||
|
});
|
||||||
|
}
|
||||||
|
|
||||||
// Apply skill, if weapon have "skills on equip"
|
// Apply skill, if weapon have "skills on equip"
|
||||||
item.getItem().forEachSkill(ItemSkillType.ON_EQUIP, holder -> holder.getSkill().activateSkill(player, player));
|
item.getItem().forEachSkill(ItemSkillType.ON_EQUIP, holder -> holder.getSkill().activateSkill(player, player));
|
||||||
|
|
||||||
|
@ -58,6 +58,7 @@ import org.l2jmobius.gameserver.model.items.type.EtcItemType;
|
|||||||
import org.l2jmobius.gameserver.model.items.type.ItemType;
|
import org.l2jmobius.gameserver.model.items.type.ItemType;
|
||||||
import org.l2jmobius.gameserver.model.items.type.WeaponType;
|
import org.l2jmobius.gameserver.model.items.type.WeaponType;
|
||||||
import org.l2jmobius.gameserver.model.skills.Skill;
|
import org.l2jmobius.gameserver.model.skills.Skill;
|
||||||
|
import org.l2jmobius.gameserver.model.skills.SkillConditionScope;
|
||||||
import org.l2jmobius.gameserver.network.serverpackets.ExUserInfoEquipSlot;
|
import org.l2jmobius.gameserver.network.serverpackets.ExUserInfoEquipSlot;
|
||||||
import org.l2jmobius.gameserver.network.serverpackets.SkillCoolTime;
|
import org.l2jmobius.gameserver.network.serverpackets.SkillCoolTime;
|
||||||
|
|
||||||
@ -383,6 +384,34 @@ public abstract class Inventory extends ItemContainer
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
// Must check all equipped items for enchant conditions.
|
||||||
|
for (ItemInstance equipped : inventory.getPaperdollItems())
|
||||||
|
{
|
||||||
|
equipped.getItem().forEachSkill(ItemSkillType.ON_ENCHANT, holder ->
|
||||||
|
{
|
||||||
|
// Add skills bestowed from +4 armor
|
||||||
|
if (equipped.getEnchantLevel() >= holder.getValue())
|
||||||
|
{
|
||||||
|
final Skill skill = holder.getSkill();
|
||||||
|
// Check passive skill conditions.
|
||||||
|
if (skill.isPassive() && !skill.checkConditions(SkillConditionScope.PASSIVE, player, player))
|
||||||
|
{
|
||||||
|
player.removeSkill(holder.getSkill(), false, holder.getSkill().isPassive());
|
||||||
|
update.compareAndSet(false, true);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
});
|
||||||
|
}
|
||||||
|
// Must check for toggle skill item conditions.
|
||||||
|
for (Skill skill : player.getSkills().values())
|
||||||
|
{
|
||||||
|
if (skill.isToggle() && player.isAffectedBySkill(skill.getId()) && !skill.checkConditions(SkillConditionScope.GENERAL, player, player))
|
||||||
|
{
|
||||||
|
player.stopSkillEffects(true, skill.getId());
|
||||||
|
update.compareAndSet(false, true);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
// Apply skill, if weapon have "skills on unequip"
|
// Apply skill, if weapon have "skills on unequip"
|
||||||
it.forEachSkill(ItemSkillType.ON_UNEQUIP, holder -> holder.getSkill().activateSkill(player, player));
|
it.forEachSkill(ItemSkillType.ON_UNEQUIP, holder -> holder.getSkill().activateSkill(player, player));
|
||||||
|
|
||||||
@ -434,7 +463,13 @@ public abstract class Inventory extends ItemContainer
|
|||||||
// Add skills bestowed from +4 armor
|
// Add skills bestowed from +4 armor
|
||||||
if (item.getEnchantLevel() >= holder.getValue())
|
if (item.getEnchantLevel() >= holder.getValue())
|
||||||
{
|
{
|
||||||
player.addSkill(holder.getSkill(), false);
|
final Skill skill = holder.getSkill();
|
||||||
|
// Check passive skill conditions.
|
||||||
|
if (skill.isPassive() && !skill.checkConditions(SkillConditionScope.PASSIVE, player, player))
|
||||||
|
{
|
||||||
|
return;
|
||||||
|
}
|
||||||
|
player.addSkill(skill, false);
|
||||||
update.compareAndSet(false, true);
|
update.compareAndSet(false, true);
|
||||||
}
|
}
|
||||||
});
|
});
|
||||||
@ -473,6 +508,26 @@ public abstract class Inventory extends ItemContainer
|
|||||||
}
|
}
|
||||||
});
|
});
|
||||||
|
|
||||||
|
// Must check all equipped items for enchant conditions.
|
||||||
|
for (ItemInstance equipped : inventory.getPaperdollItems())
|
||||||
|
{
|
||||||
|
equipped.getItem().forEachSkill(ItemSkillType.ON_ENCHANT, holder ->
|
||||||
|
{
|
||||||
|
// Add skills bestowed from +4 armor
|
||||||
|
if (equipped.getEnchantLevel() >= holder.getValue())
|
||||||
|
{
|
||||||
|
final Skill skill = holder.getSkill();
|
||||||
|
// Check passive skill conditions.
|
||||||
|
if (skill.isPassive() && !skill.checkConditions(SkillConditionScope.PASSIVE, player, player))
|
||||||
|
{
|
||||||
|
return;
|
||||||
|
}
|
||||||
|
player.addSkill(skill, false);
|
||||||
|
update.compareAndSet(false, true);
|
||||||
|
}
|
||||||
|
});
|
||||||
|
}
|
||||||
|
|
||||||
// Apply skill, if weapon have "skills on equip"
|
// Apply skill, if weapon have "skills on equip"
|
||||||
item.getItem().forEachSkill(ItemSkillType.ON_EQUIP, holder -> holder.getSkill().activateSkill(player, player));
|
item.getItem().forEachSkill(ItemSkillType.ON_EQUIP, holder -> holder.getSkill().activateSkill(player, player));
|
||||||
|
|
||||||
|
@ -58,6 +58,7 @@ import org.l2jmobius.gameserver.model.items.type.EtcItemType;
|
|||||||
import org.l2jmobius.gameserver.model.items.type.ItemType;
|
import org.l2jmobius.gameserver.model.items.type.ItemType;
|
||||||
import org.l2jmobius.gameserver.model.items.type.WeaponType;
|
import org.l2jmobius.gameserver.model.items.type.WeaponType;
|
||||||
import org.l2jmobius.gameserver.model.skills.Skill;
|
import org.l2jmobius.gameserver.model.skills.Skill;
|
||||||
|
import org.l2jmobius.gameserver.model.skills.SkillConditionScope;
|
||||||
import org.l2jmobius.gameserver.network.serverpackets.ExUserInfoEquipSlot;
|
import org.l2jmobius.gameserver.network.serverpackets.ExUserInfoEquipSlot;
|
||||||
import org.l2jmobius.gameserver.network.serverpackets.SkillCoolTime;
|
import org.l2jmobius.gameserver.network.serverpackets.SkillCoolTime;
|
||||||
|
|
||||||
@ -406,6 +407,34 @@ public abstract class Inventory extends ItemContainer
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
// Must check all equipped items for enchant conditions.
|
||||||
|
for (ItemInstance equipped : inventory.getPaperdollItems())
|
||||||
|
{
|
||||||
|
equipped.getItem().forEachSkill(ItemSkillType.ON_ENCHANT, holder ->
|
||||||
|
{
|
||||||
|
// Add skills bestowed from +4 armor
|
||||||
|
if (equipped.getEnchantLevel() >= holder.getValue())
|
||||||
|
{
|
||||||
|
final Skill skill = holder.getSkill();
|
||||||
|
// Check passive skill conditions.
|
||||||
|
if (skill.isPassive() && !skill.checkConditions(SkillConditionScope.PASSIVE, player, player))
|
||||||
|
{
|
||||||
|
player.removeSkill(holder.getSkill(), false, holder.getSkill().isPassive());
|
||||||
|
update.compareAndSet(false, true);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
});
|
||||||
|
}
|
||||||
|
// Must check for toggle skill item conditions.
|
||||||
|
for (Skill skill : player.getSkills().values())
|
||||||
|
{
|
||||||
|
if (skill.isToggle() && player.isAffectedBySkill(skill.getId()) && !skill.checkConditions(SkillConditionScope.GENERAL, player, player))
|
||||||
|
{
|
||||||
|
player.stopSkillEffects(true, skill.getId());
|
||||||
|
update.compareAndSet(false, true);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
// Apply skill, if weapon have "skills on unequip"
|
// Apply skill, if weapon have "skills on unequip"
|
||||||
it.forEachSkill(ItemSkillType.ON_UNEQUIP, holder -> holder.getSkill().activateSkill(player, player));
|
it.forEachSkill(ItemSkillType.ON_UNEQUIP, holder -> holder.getSkill().activateSkill(player, player));
|
||||||
|
|
||||||
@ -457,7 +486,13 @@ public abstract class Inventory extends ItemContainer
|
|||||||
// Add skills bestowed from +4 armor
|
// Add skills bestowed from +4 armor
|
||||||
if (item.getEnchantLevel() >= holder.getValue())
|
if (item.getEnchantLevel() >= holder.getValue())
|
||||||
{
|
{
|
||||||
player.addSkill(holder.getSkill(), false);
|
final Skill skill = holder.getSkill();
|
||||||
|
// Check passive skill conditions.
|
||||||
|
if (skill.isPassive() && !skill.checkConditions(SkillConditionScope.PASSIVE, player, player))
|
||||||
|
{
|
||||||
|
return;
|
||||||
|
}
|
||||||
|
player.addSkill(skill, false);
|
||||||
update.compareAndSet(false, true);
|
update.compareAndSet(false, true);
|
||||||
}
|
}
|
||||||
});
|
});
|
||||||
@ -496,6 +531,26 @@ public abstract class Inventory extends ItemContainer
|
|||||||
}
|
}
|
||||||
});
|
});
|
||||||
|
|
||||||
|
// Must check all equipped items for enchant conditions.
|
||||||
|
for (ItemInstance equipped : inventory.getPaperdollItems())
|
||||||
|
{
|
||||||
|
equipped.getItem().forEachSkill(ItemSkillType.ON_ENCHANT, holder ->
|
||||||
|
{
|
||||||
|
// Add skills bestowed from +4 armor
|
||||||
|
if (equipped.getEnchantLevel() >= holder.getValue())
|
||||||
|
{
|
||||||
|
final Skill skill = holder.getSkill();
|
||||||
|
// Check passive skill conditions.
|
||||||
|
if (skill.isPassive() && !skill.checkConditions(SkillConditionScope.PASSIVE, player, player))
|
||||||
|
{
|
||||||
|
return;
|
||||||
|
}
|
||||||
|
player.addSkill(skill, false);
|
||||||
|
update.compareAndSet(false, true);
|
||||||
|
}
|
||||||
|
});
|
||||||
|
}
|
||||||
|
|
||||||
// Apply skill, if weapon have "skills on equip"
|
// Apply skill, if weapon have "skills on equip"
|
||||||
item.getItem().forEachSkill(ItemSkillType.ON_EQUIP, holder -> holder.getSkill().activateSkill(player, player));
|
item.getItem().forEachSkill(ItemSkillType.ON_EQUIP, holder -> holder.getSkill().activateSkill(player, player));
|
||||||
|
|
||||||
|
@ -58,6 +58,7 @@ import org.l2jmobius.gameserver.model.items.type.EtcItemType;
|
|||||||
import org.l2jmobius.gameserver.model.items.type.ItemType;
|
import org.l2jmobius.gameserver.model.items.type.ItemType;
|
||||||
import org.l2jmobius.gameserver.model.items.type.WeaponType;
|
import org.l2jmobius.gameserver.model.items.type.WeaponType;
|
||||||
import org.l2jmobius.gameserver.model.skills.Skill;
|
import org.l2jmobius.gameserver.model.skills.Skill;
|
||||||
|
import org.l2jmobius.gameserver.model.skills.SkillConditionScope;
|
||||||
import org.l2jmobius.gameserver.network.serverpackets.ExUserInfoEquipSlot;
|
import org.l2jmobius.gameserver.network.serverpackets.ExUserInfoEquipSlot;
|
||||||
import org.l2jmobius.gameserver.network.serverpackets.SkillCoolTime;
|
import org.l2jmobius.gameserver.network.serverpackets.SkillCoolTime;
|
||||||
|
|
||||||
@ -406,6 +407,34 @@ public abstract class Inventory extends ItemContainer
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
// Must check all equipped items for enchant conditions.
|
||||||
|
for (ItemInstance equipped : inventory.getPaperdollItems())
|
||||||
|
{
|
||||||
|
equipped.getItem().forEachSkill(ItemSkillType.ON_ENCHANT, holder ->
|
||||||
|
{
|
||||||
|
// Add skills bestowed from +4 armor
|
||||||
|
if (equipped.getEnchantLevel() >= holder.getValue())
|
||||||
|
{
|
||||||
|
final Skill skill = holder.getSkill();
|
||||||
|
// Check passive skill conditions.
|
||||||
|
if (skill.isPassive() && !skill.checkConditions(SkillConditionScope.PASSIVE, player, player))
|
||||||
|
{
|
||||||
|
player.removeSkill(holder.getSkill(), false, holder.getSkill().isPassive());
|
||||||
|
update.compareAndSet(false, true);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
});
|
||||||
|
}
|
||||||
|
// Must check for toggle skill item conditions.
|
||||||
|
for (Skill skill : player.getSkills().values())
|
||||||
|
{
|
||||||
|
if (skill.isToggle() && player.isAffectedBySkill(skill.getId()) && !skill.checkConditions(SkillConditionScope.GENERAL, player, player))
|
||||||
|
{
|
||||||
|
player.stopSkillEffects(true, skill.getId());
|
||||||
|
update.compareAndSet(false, true);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
// Apply skill, if weapon have "skills on unequip"
|
// Apply skill, if weapon have "skills on unequip"
|
||||||
it.forEachSkill(ItemSkillType.ON_UNEQUIP, holder -> holder.getSkill().activateSkill(player, player));
|
it.forEachSkill(ItemSkillType.ON_UNEQUIP, holder -> holder.getSkill().activateSkill(player, player));
|
||||||
|
|
||||||
@ -457,7 +486,13 @@ public abstract class Inventory extends ItemContainer
|
|||||||
// Add skills bestowed from +4 armor
|
// Add skills bestowed from +4 armor
|
||||||
if (item.getEnchantLevel() >= holder.getValue())
|
if (item.getEnchantLevel() >= holder.getValue())
|
||||||
{
|
{
|
||||||
player.addSkill(holder.getSkill(), false);
|
final Skill skill = holder.getSkill();
|
||||||
|
// Check passive skill conditions.
|
||||||
|
if (skill.isPassive() && !skill.checkConditions(SkillConditionScope.PASSIVE, player, player))
|
||||||
|
{
|
||||||
|
return;
|
||||||
|
}
|
||||||
|
player.addSkill(skill, false);
|
||||||
update.compareAndSet(false, true);
|
update.compareAndSet(false, true);
|
||||||
}
|
}
|
||||||
});
|
});
|
||||||
@ -496,6 +531,26 @@ public abstract class Inventory extends ItemContainer
|
|||||||
}
|
}
|
||||||
});
|
});
|
||||||
|
|
||||||
|
// Must check all equipped items for enchant conditions.
|
||||||
|
for (ItemInstance equipped : inventory.getPaperdollItems())
|
||||||
|
{
|
||||||
|
equipped.getItem().forEachSkill(ItemSkillType.ON_ENCHANT, holder ->
|
||||||
|
{
|
||||||
|
// Add skills bestowed from +4 armor
|
||||||
|
if (equipped.getEnchantLevel() >= holder.getValue())
|
||||||
|
{
|
||||||
|
final Skill skill = holder.getSkill();
|
||||||
|
// Check passive skill conditions.
|
||||||
|
if (skill.isPassive() && !skill.checkConditions(SkillConditionScope.PASSIVE, player, player))
|
||||||
|
{
|
||||||
|
return;
|
||||||
|
}
|
||||||
|
player.addSkill(skill, false);
|
||||||
|
update.compareAndSet(false, true);
|
||||||
|
}
|
||||||
|
});
|
||||||
|
}
|
||||||
|
|
||||||
// Apply skill, if weapon have "skills on equip"
|
// Apply skill, if weapon have "skills on equip"
|
||||||
item.getItem().forEachSkill(ItemSkillType.ON_EQUIP, holder -> holder.getSkill().activateSkill(player, player));
|
item.getItem().forEachSkill(ItemSkillType.ON_EQUIP, holder -> holder.getSkill().activateSkill(player, player));
|
||||||
|
|
||||||
|
Loading…
Reference in New Issue
Block a user