Reworked Item giveSkillsToOwner method.

Thanks to veriongt.
This commit is contained in:
MobiusDevelopment 2024-04-15 00:33:41 +03:00
parent de4e7e7ae7
commit 19522ce00e
31 changed files with 633 additions and 316 deletions

View File

@ -2008,23 +2008,34 @@ public class Item extends WorldObject
public void giveSkillsToOwner()
{
if (!hasPassiveSkills())
if (!isEquipped() && !hasPassiveSkills())
{
return;
}
final Player player = getActingPlayer();
if (player != null)
if (player == null)
{
_itemTemplate.forEachSkill(ItemSkillType.NORMAL, holder ->
{
final Skill skill = holder.getSkill();
if (skill.isPassive())
{
player.addSkill(skill, false);
}
});
return;
}
_itemTemplate.forEachSkill(ItemSkillType.NORMAL, holder ->
{
final Skill skill = holder.getSkill();
if (skill.isPassive())
{
player.addSkill(skill, false);
}
});
_itemTemplate.forEachSkill(ItemSkillType.ON_ENCHANT, holder ->
{
final Skill skill = holder.getSkill();
if (skill.isPassive() && (getEnchantLevel() >= holder.getValue()))
{
player.addSkill(skill, false);
}
});
}
public void removeSkillsFromOwner()

View File

@ -2019,23 +2019,34 @@ public class Item extends WorldObject
public void giveSkillsToOwner()
{
if (!hasPassiveSkills())
if (!isEquipped() && !hasPassiveSkills())
{
return;
}
final Player player = getActingPlayer();
if (player != null)
if (player == null)
{
_itemTemplate.forEachSkill(ItemSkillType.NORMAL, holder ->
{
final Skill skill = holder.getSkill();
if (skill.isPassive())
{
player.addSkill(skill, false);
}
});
return;
}
_itemTemplate.forEachSkill(ItemSkillType.NORMAL, holder ->
{
final Skill skill = holder.getSkill();
if (skill.isPassive())
{
player.addSkill(skill, false);
}
});
_itemTemplate.forEachSkill(ItemSkillType.ON_ENCHANT, holder ->
{
final Skill skill = holder.getSkill();
if (skill.isPassive() && (getEnchantLevel() >= holder.getValue()))
{
player.addSkill(skill, false);
}
});
}
public void removeSkillsFromOwner()

View File

@ -2019,23 +2019,34 @@ public class Item extends WorldObject
public void giveSkillsToOwner()
{
if (!hasPassiveSkills())
if (!isEquipped() && !hasPassiveSkills())
{
return;
}
final Player player = getActingPlayer();
if (player != null)
if (player == null)
{
_itemTemplate.forEachSkill(ItemSkillType.NORMAL, holder ->
{
final Skill skill = holder.getSkill();
if (skill.isPassive())
{
player.addSkill(skill, false);
}
});
return;
}
_itemTemplate.forEachSkill(ItemSkillType.NORMAL, holder ->
{
final Skill skill = holder.getSkill();
if (skill.isPassive())
{
player.addSkill(skill, false);
}
});
_itemTemplate.forEachSkill(ItemSkillType.ON_ENCHANT, holder ->
{
final Skill skill = holder.getSkill();
if (skill.isPassive() && (getEnchantLevel() >= holder.getValue()))
{
player.addSkill(skill, false);
}
});
}
public void removeSkillsFromOwner()

View File

@ -2019,23 +2019,34 @@ public class Item extends WorldObject
public void giveSkillsToOwner()
{
if (!hasPassiveSkills())
if (!isEquipped() && !hasPassiveSkills())
{
return;
}
final Player player = getActingPlayer();
if (player != null)
if (player == null)
{
_itemTemplate.forEachSkill(ItemSkillType.NORMAL, holder ->
{
final Skill skill = holder.getSkill();
if (skill.isPassive())
{
player.addSkill(skill, false);
}
});
return;
}
_itemTemplate.forEachSkill(ItemSkillType.NORMAL, holder ->
{
final Skill skill = holder.getSkill();
if (skill.isPassive())
{
player.addSkill(skill, false);
}
});
_itemTemplate.forEachSkill(ItemSkillType.ON_ENCHANT, holder ->
{
final Skill skill = holder.getSkill();
if (skill.isPassive() && (getEnchantLevel() >= holder.getValue()))
{
player.addSkill(skill, false);
}
});
}
public void removeSkillsFromOwner()

View File

@ -2085,23 +2085,34 @@ public class Item extends WorldObject
public void giveSkillsToOwner()
{
if (!hasPassiveSkills())
if (!isEquipped() && !hasPassiveSkills())
{
return;
}
final Player player = getActingPlayer();
if (player != null)
if (player == null)
{
_itemTemplate.forEachSkill(ItemSkillType.NORMAL, holder ->
{
final Skill skill = holder.getSkill();
if (skill.isPassive())
{
player.addSkill(skill, false);
}
});
return;
}
_itemTemplate.forEachSkill(ItemSkillType.NORMAL, holder ->
{
final Skill skill = holder.getSkill();
if (skill.isPassive())
{
player.addSkill(skill, false);
}
});
_itemTemplate.forEachSkill(ItemSkillType.ON_ENCHANT, holder ->
{
final Skill skill = holder.getSkill();
if (skill.isPassive() && (getEnchantLevel() >= holder.getValue()))
{
player.addSkill(skill, false);
}
});
}
public void removeSkillsFromOwner()

View File

@ -2085,23 +2085,34 @@ public class Item extends WorldObject
public void giveSkillsToOwner()
{
if (!hasPassiveSkills())
if (!isEquipped() && !hasPassiveSkills())
{
return;
}
final Player player = getActingPlayer();
if (player != null)
if (player == null)
{
_itemTemplate.forEachSkill(ItemSkillType.NORMAL, holder ->
{
final Skill skill = holder.getSkill();
if (skill.isPassive())
{
player.addSkill(skill, false);
}
});
return;
}
_itemTemplate.forEachSkill(ItemSkillType.NORMAL, holder ->
{
final Skill skill = holder.getSkill();
if (skill.isPassive())
{
player.addSkill(skill, false);
}
});
_itemTemplate.forEachSkill(ItemSkillType.ON_ENCHANT, holder ->
{
final Skill skill = holder.getSkill();
if (skill.isPassive() && (getEnchantLevel() >= holder.getValue()))
{
player.addSkill(skill, false);
}
});
}
public void removeSkillsFromOwner()

View File

@ -2085,23 +2085,34 @@ public class Item extends WorldObject
public void giveSkillsToOwner()
{
if (!hasPassiveSkills())
if (!isEquipped() && !hasPassiveSkills())
{
return;
}
final Player player = getActingPlayer();
if (player != null)
if (player == null)
{
_itemTemplate.forEachSkill(ItemSkillType.NORMAL, holder ->
{
final Skill skill = holder.getSkill();
if (skill.isPassive())
{
player.addSkill(skill, false);
}
});
return;
}
_itemTemplate.forEachSkill(ItemSkillType.NORMAL, holder ->
{
final Skill skill = holder.getSkill();
if (skill.isPassive())
{
player.addSkill(skill, false);
}
});
_itemTemplate.forEachSkill(ItemSkillType.ON_ENCHANT, holder ->
{
final Skill skill = holder.getSkill();
if (skill.isPassive() && (getEnchantLevel() >= holder.getValue()))
{
player.addSkill(skill, false);
}
});
}
public void removeSkillsFromOwner()

View File

@ -2085,23 +2085,34 @@ public class Item extends WorldObject
public void giveSkillsToOwner()
{
if (!hasPassiveSkills())
if (!isEquipped() && !hasPassiveSkills())
{
return;
}
final Player player = getActingPlayer();
if (player != null)
if (player == null)
{
_itemTemplate.forEachSkill(ItemSkillType.NORMAL, holder ->
{
final Skill skill = holder.getSkill();
if (skill.isPassive())
{
player.addSkill(skill, false);
}
});
return;
}
_itemTemplate.forEachSkill(ItemSkillType.NORMAL, holder ->
{
final Skill skill = holder.getSkill();
if (skill.isPassive())
{
player.addSkill(skill, false);
}
});
_itemTemplate.forEachSkill(ItemSkillType.ON_ENCHANT, holder ->
{
final Skill skill = holder.getSkill();
if (skill.isPassive() && (getEnchantLevel() >= holder.getValue()))
{
player.addSkill(skill, false);
}
});
}
public void removeSkillsFromOwner()

View File

@ -2085,23 +2085,34 @@ public class Item extends WorldObject
public void giveSkillsToOwner()
{
if (!hasPassiveSkills())
if (!isEquipped() && !hasPassiveSkills())
{
return;
}
final Player player = getActingPlayer();
if (player != null)
if (player == null)
{
_itemTemplate.forEachSkill(ItemSkillType.NORMAL, holder ->
{
final Skill skill = holder.getSkill();
if (skill.isPassive())
{
player.addSkill(skill, false);
}
});
return;
}
_itemTemplate.forEachSkill(ItemSkillType.NORMAL, holder ->
{
final Skill skill = holder.getSkill();
if (skill.isPassive())
{
player.addSkill(skill, false);
}
});
_itemTemplate.forEachSkill(ItemSkillType.ON_ENCHANT, holder ->
{
final Skill skill = holder.getSkill();
if (skill.isPassive() && (getEnchantLevel() >= holder.getValue()))
{
player.addSkill(skill, false);
}
});
}
public void removeSkillsFromOwner()

View File

@ -2085,23 +2085,34 @@ public class Item extends WorldObject
public void giveSkillsToOwner()
{
if (!hasPassiveSkills())
if (!isEquipped() && !hasPassiveSkills())
{
return;
}
final Player player = getActingPlayer();
if (player != null)
if (player == null)
{
_itemTemplate.forEachSkill(ItemSkillType.NORMAL, holder ->
{
final Skill skill = holder.getSkill();
if (skill.isPassive())
{
player.addSkill(skill, false);
}
});
return;
}
_itemTemplate.forEachSkill(ItemSkillType.NORMAL, holder ->
{
final Skill skill = holder.getSkill();
if (skill.isPassive())
{
player.addSkill(skill, false);
}
});
_itemTemplate.forEachSkill(ItemSkillType.ON_ENCHANT, holder ->
{
final Skill skill = holder.getSkill();
if (skill.isPassive() && (getEnchantLevel() >= holder.getValue()))
{
player.addSkill(skill, false);
}
});
}
public void removeSkillsFromOwner()

View File

@ -2094,23 +2094,34 @@ public class Item extends WorldObject
public void giveSkillsToOwner()
{
if (!hasPassiveSkills())
if (!isEquipped() && !hasPassiveSkills())
{
return;
}
final Player player = getActingPlayer();
if (player != null)
if (player == null)
{
_itemTemplate.forEachSkill(ItemSkillType.NORMAL, holder ->
{
final Skill skill = holder.getSkill();
if (skill.isPassive())
{
player.addSkill(skill, false);
}
});
return;
}
_itemTemplate.forEachSkill(ItemSkillType.NORMAL, holder ->
{
final Skill skill = holder.getSkill();
if (skill.isPassive())
{
player.addSkill(skill, false);
}
});
_itemTemplate.forEachSkill(ItemSkillType.ON_ENCHANT, holder ->
{
final Skill skill = holder.getSkill();
if (skill.isPassive() && (getEnchantLevel() >= holder.getValue()))
{
player.addSkill(skill, false);
}
});
}
public void removeSkillsFromOwner()

View File

@ -2097,23 +2097,34 @@ public class Item extends WorldObject
public void giveSkillsToOwner()
{
if (!hasPassiveSkills())
if (!isEquipped() && !hasPassiveSkills())
{
return;
}
final Player player = getActingPlayer();
if (player != null)
if (player == null)
{
_itemTemplate.forEachSkill(ItemSkillType.NORMAL, holder ->
{
final Skill skill = holder.getSkill();
if (skill.isPassive())
{
player.addSkill(skill, false);
}
});
return;
}
_itemTemplate.forEachSkill(ItemSkillType.NORMAL, holder ->
{
final Skill skill = holder.getSkill();
if (skill.isPassive())
{
player.addSkill(skill, false);
}
});
_itemTemplate.forEachSkill(ItemSkillType.ON_ENCHANT, holder ->
{
final Skill skill = holder.getSkill();
if (skill.isPassive() && (getEnchantLevel() >= holder.getValue()))
{
player.addSkill(skill, false);
}
});
}
public void removeSkillsFromOwner()

View File

@ -2097,23 +2097,34 @@ public class Item extends WorldObject
public void giveSkillsToOwner()
{
if (!hasPassiveSkills())
if (!isEquipped() && !hasPassiveSkills())
{
return;
}
final Player player = getActingPlayer();
if (player != null)
if (player == null)
{
_itemTemplate.forEachSkill(ItemSkillType.NORMAL, holder ->
{
final Skill skill = holder.getSkill();
if (skill.isPassive())
{
player.addSkill(skill, false);
}
});
return;
}
_itemTemplate.forEachSkill(ItemSkillType.NORMAL, holder ->
{
final Skill skill = holder.getSkill();
if (skill.isPassive())
{
player.addSkill(skill, false);
}
});
_itemTemplate.forEachSkill(ItemSkillType.ON_ENCHANT, holder ->
{
final Skill skill = holder.getSkill();
if (skill.isPassive() && (getEnchantLevel() >= holder.getValue()))
{
player.addSkill(skill, false);
}
});
}
public void removeSkillsFromOwner()

View File

@ -68,6 +68,7 @@ import org.l2jmobius.gameserver.model.item.type.ItemType;
import org.l2jmobius.gameserver.model.options.EnchantOptions;
import org.l2jmobius.gameserver.model.options.Options;
import org.l2jmobius.gameserver.model.quest.QuestState;
import org.l2jmobius.gameserver.model.skill.Skill;
import org.l2jmobius.gameserver.model.stats.functions.AbstractFunction;
import org.l2jmobius.gameserver.network.SystemMessageId;
import org.l2jmobius.gameserver.network.serverpackets.DropItem;
@ -1741,21 +1742,23 @@ public class Item extends WorldObject
public void giveSkillsToOwner()
{
if (!hasPassiveSkills())
if (!isEquipped() && !hasPassiveSkills())
{
return;
}
final Player player = getActingPlayer();
if (player != null)
if (player == null)
{
for (SkillHolder sh : _itemTemplate.getSkills())
return;
}
for (SkillHolder holder : _itemTemplate.getSkills())
{
final Skill skill = holder.getSkill();
if (skill.isPassive())
{
if (sh.getSkill().isPassive())
{
player.addSkill(sh.getSkill(), false);
}
player.addSkill(skill, false);
}
}
}
@ -1768,14 +1771,14 @@ public class Item extends WorldObject
}
final Player player = getActingPlayer();
if (player != null)
{
for (SkillHolder sh : _itemTemplate.getSkills())
for (SkillHolder holder : _itemTemplate.getSkills())
{
if (sh.getSkill().isPassive())
final Skill skill = holder.getSkill();
if (skill.isPassive())
{
player.removeSkill(sh.getSkill(), false, true);
player.removeSkill(skill, false, true);
}
}
}

View File

@ -69,6 +69,7 @@ import org.l2jmobius.gameserver.model.item.type.ItemType;
import org.l2jmobius.gameserver.model.options.EnchantOptions;
import org.l2jmobius.gameserver.model.options.Options;
import org.l2jmobius.gameserver.model.quest.QuestState;
import org.l2jmobius.gameserver.model.skill.Skill;
import org.l2jmobius.gameserver.model.stats.functions.AbstractFunction;
import org.l2jmobius.gameserver.network.SystemMessageId;
import org.l2jmobius.gameserver.network.serverpackets.DropItem;
@ -1996,21 +1997,23 @@ public class Item extends WorldObject
public void giveSkillsToOwner()
{
if (!hasPassiveSkills())
if (!isEquipped() && !hasPassiveSkills())
{
return;
}
final Player player = getActingPlayer();
if (player != null)
if (player == null)
{
for (SkillHolder sh : _itemTemplate.getSkills())
return;
}
for (SkillHolder holder : _itemTemplate.getSkills())
{
final Skill skill = holder.getSkill();
if (skill.isPassive())
{
if (sh.getSkill().isPassive())
{
player.addSkill(sh.getSkill(), false);
}
player.addSkill(skill, false);
}
}
}
@ -2023,14 +2026,14 @@ public class Item extends WorldObject
}
final Player player = getActingPlayer();
if (player != null)
{
for (SkillHolder sh : _itemTemplate.getSkills())
for (SkillHolder holder : _itemTemplate.getSkills())
{
if (sh.getSkill().isPassive())
final Skill skill = holder.getSkill();
if (skill.isPassive())
{
player.removeSkill(sh.getSkill(), false, true);
player.removeSkill(skill, false, true);
}
}
}

View File

@ -69,6 +69,7 @@ import org.l2jmobius.gameserver.model.item.type.ItemType;
import org.l2jmobius.gameserver.model.options.EnchantOptions;
import org.l2jmobius.gameserver.model.options.Options;
import org.l2jmobius.gameserver.model.quest.QuestState;
import org.l2jmobius.gameserver.model.skill.Skill;
import org.l2jmobius.gameserver.model.stats.functions.AbstractFunction;
import org.l2jmobius.gameserver.network.SystemMessageId;
import org.l2jmobius.gameserver.network.serverpackets.DropItem;
@ -1996,21 +1997,23 @@ public class Item extends WorldObject
public void giveSkillsToOwner()
{
if (!hasPassiveSkills())
if (!isEquipped() && !hasPassiveSkills())
{
return;
}
final Player player = getActingPlayer();
if (player != null)
if (player == null)
{
for (SkillHolder sh : _itemTemplate.getSkills())
return;
}
for (SkillHolder holder : _itemTemplate.getSkills())
{
final Skill skill = holder.getSkill();
if (skill.isPassive())
{
if (sh.getSkill().isPassive())
{
player.addSkill(sh.getSkill(), false);
}
player.addSkill(skill, false);
}
}
}
@ -2023,14 +2026,14 @@ public class Item extends WorldObject
}
final Player player = getActingPlayer();
if (player != null)
{
for (SkillHolder sh : _itemTemplate.getSkills())
for (SkillHolder holder : _itemTemplate.getSkills())
{
if (sh.getSkill().isPassive())
final Skill skill = holder.getSkill();
if (skill.isPassive())
{
player.removeSkill(sh.getSkill(), false, true);
player.removeSkill(skill, false, true);
}
}
}

View File

@ -2010,23 +2010,34 @@ public class Item extends WorldObject
public void giveSkillsToOwner()
{
if (!hasPassiveSkills())
if (!isEquipped() && !hasPassiveSkills())
{
return;
}
final Player player = getActingPlayer();
if (player != null)
if (player == null)
{
_itemTemplate.forEachSkill(ItemSkillType.NORMAL, holder ->
{
final Skill skill = holder.getSkill();
if (skill.isPassive())
{
player.addSkill(skill, false);
}
});
return;
}
_itemTemplate.forEachSkill(ItemSkillType.NORMAL, holder ->
{
final Skill skill = holder.getSkill();
if (skill.isPassive())
{
player.addSkill(skill, false);
}
});
_itemTemplate.forEachSkill(ItemSkillType.ON_ENCHANT, holder ->
{
final Skill skill = holder.getSkill();
if (skill.isPassive() && (getEnchantLevel() >= holder.getValue()))
{
player.addSkill(skill, false);
}
});
}
public void removeSkillsFromOwner()

View File

@ -2010,23 +2010,34 @@ public class Item extends WorldObject
public void giveSkillsToOwner()
{
if (!hasPassiveSkills())
if (!isEquipped() && !hasPassiveSkills())
{
return;
}
final Player player = getActingPlayer();
if (player != null)
if (player == null)
{
_itemTemplate.forEachSkill(ItemSkillType.NORMAL, holder ->
{
final Skill skill = holder.getSkill();
if (skill.isPassive())
{
player.addSkill(skill, false);
}
});
return;
}
_itemTemplate.forEachSkill(ItemSkillType.NORMAL, holder ->
{
final Skill skill = holder.getSkill();
if (skill.isPassive())
{
player.addSkill(skill, false);
}
});
_itemTemplate.forEachSkill(ItemSkillType.ON_ENCHANT, holder ->
{
final Skill skill = holder.getSkill();
if (skill.isPassive() && (getEnchantLevel() >= holder.getValue()))
{
player.addSkill(skill, false);
}
});
}
public void removeSkillsFromOwner()

View File

@ -2019,23 +2019,34 @@ public class Item extends WorldObject
public void giveSkillsToOwner()
{
if (!hasPassiveSkills())
if (!isEquipped() && !hasPassiveSkills())
{
return;
}
final Player player = getActingPlayer();
if (player != null)
if (player == null)
{
_itemTemplate.forEachSkill(ItemSkillType.NORMAL, holder ->
{
final Skill skill = holder.getSkill();
if (skill.isPassive())
{
player.addSkill(skill, false);
}
});
return;
}
_itemTemplate.forEachSkill(ItemSkillType.NORMAL, holder ->
{
final Skill skill = holder.getSkill();
if (skill.isPassive())
{
player.addSkill(skill, false);
}
});
_itemTemplate.forEachSkill(ItemSkillType.ON_ENCHANT, holder ->
{
final Skill skill = holder.getSkill();
if (skill.isPassive() && (getEnchantLevel() >= holder.getValue()))
{
player.addSkill(skill, false);
}
});
}
public void removeSkillsFromOwner()

View File

@ -2019,23 +2019,34 @@ public class Item extends WorldObject
public void giveSkillsToOwner()
{
if (!hasPassiveSkills())
if (!isEquipped() && !hasPassiveSkills())
{
return;
}
final Player player = getActingPlayer();
if (player != null)
if (player == null)
{
_itemTemplate.forEachSkill(ItemSkillType.NORMAL, holder ->
{
final Skill skill = holder.getSkill();
if (skill.isPassive())
{
player.addSkill(skill, false);
}
});
return;
}
_itemTemplate.forEachSkill(ItemSkillType.NORMAL, holder ->
{
final Skill skill = holder.getSkill();
if (skill.isPassive())
{
player.addSkill(skill, false);
}
});
_itemTemplate.forEachSkill(ItemSkillType.ON_ENCHANT, holder ->
{
final Skill skill = holder.getSkill();
if (skill.isPassive() && (getEnchantLevel() >= holder.getValue()))
{
player.addSkill(skill, false);
}
});
}
public void removeSkillsFromOwner()

View File

@ -2070,23 +2070,34 @@ public class Item extends WorldObject
public void giveSkillsToOwner()
{
if (!hasPassiveSkills())
if (!isEquipped() && !hasPassiveSkills())
{
return;
}
final Player player = getActingPlayer();
if (player != null)
if (player == null)
{
_itemTemplate.forEachSkill(ItemSkillType.NORMAL, holder ->
{
final Skill skill = holder.getSkill();
if (skill.isPassive())
{
player.addSkill(skill, false);
}
});
return;
}
_itemTemplate.forEachSkill(ItemSkillType.NORMAL, holder ->
{
final Skill skill = holder.getSkill();
if (skill.isPassive())
{
player.addSkill(skill, false);
}
});
_itemTemplate.forEachSkill(ItemSkillType.ON_ENCHANT, holder ->
{
final Skill skill = holder.getSkill();
if (skill.isPassive() && (getEnchantLevel() >= holder.getValue()))
{
player.addSkill(skill, false);
}
});
}
public void removeSkillsFromOwner()

View File

@ -2070,23 +2070,34 @@ public class Item extends WorldObject
public void giveSkillsToOwner()
{
if (!hasPassiveSkills())
if (!isEquipped() && !hasPassiveSkills())
{
return;
}
final Player player = getActingPlayer();
if (player != null)
if (player == null)
{
_itemTemplate.forEachSkill(ItemSkillType.NORMAL, holder ->
{
final Skill skill = holder.getSkill();
if (skill.isPassive())
{
player.addSkill(skill, false);
}
});
return;
}
_itemTemplate.forEachSkill(ItemSkillType.NORMAL, holder ->
{
final Skill skill = holder.getSkill();
if (skill.isPassive())
{
player.addSkill(skill, false);
}
});
_itemTemplate.forEachSkill(ItemSkillType.ON_ENCHANT, holder ->
{
final Skill skill = holder.getSkill();
if (skill.isPassive() && (getEnchantLevel() >= holder.getValue()))
{
player.addSkill(skill, false);
}
});
}
public void removeSkillsFromOwner()

View File

@ -2070,23 +2070,34 @@ public class Item extends WorldObject
public void giveSkillsToOwner()
{
if (!hasPassiveSkills())
if (!isEquipped() && !hasPassiveSkills())
{
return;
}
final Player player = getActingPlayer();
if (player != null)
if (player == null)
{
_itemTemplate.forEachSkill(ItemSkillType.NORMAL, holder ->
{
final Skill skill = holder.getSkill();
if (skill.isPassive())
{
player.addSkill(skill, false);
}
});
return;
}
_itemTemplate.forEachSkill(ItemSkillType.NORMAL, holder ->
{
final Skill skill = holder.getSkill();
if (skill.isPassive())
{
player.addSkill(skill, false);
}
});
_itemTemplate.forEachSkill(ItemSkillType.ON_ENCHANT, holder ->
{
final Skill skill = holder.getSkill();
if (skill.isPassive() && (getEnchantLevel() >= holder.getValue()))
{
player.addSkill(skill, false);
}
});
}
public void removeSkillsFromOwner()

View File

@ -2070,23 +2070,34 @@ public class Item extends WorldObject
public void giveSkillsToOwner()
{
if (!hasPassiveSkills())
if (!isEquipped() && !hasPassiveSkills())
{
return;
}
final Player player = getActingPlayer();
if (player != null)
if (player == null)
{
_itemTemplate.forEachSkill(ItemSkillType.NORMAL, holder ->
{
final Skill skill = holder.getSkill();
if (skill.isPassive())
{
player.addSkill(skill, false);
}
});
return;
}
_itemTemplate.forEachSkill(ItemSkillType.NORMAL, holder ->
{
final Skill skill = holder.getSkill();
if (skill.isPassive())
{
player.addSkill(skill, false);
}
});
_itemTemplate.forEachSkill(ItemSkillType.ON_ENCHANT, holder ->
{
final Skill skill = holder.getSkill();
if (skill.isPassive() && (getEnchantLevel() >= holder.getValue()))
{
player.addSkill(skill, false);
}
});
}
public void removeSkillsFromOwner()

View File

@ -2070,23 +2070,34 @@ public class Item extends WorldObject
public void giveSkillsToOwner()
{
if (!hasPassiveSkills())
if (!isEquipped() && !hasPassiveSkills())
{
return;
}
final Player player = getActingPlayer();
if (player != null)
if (player == null)
{
_itemTemplate.forEachSkill(ItemSkillType.NORMAL, holder ->
{
final Skill skill = holder.getSkill();
if (skill.isPassive())
{
player.addSkill(skill, false);
}
});
return;
}
_itemTemplate.forEachSkill(ItemSkillType.NORMAL, holder ->
{
final Skill skill = holder.getSkill();
if (skill.isPassive())
{
player.addSkill(skill, false);
}
});
_itemTemplate.forEachSkill(ItemSkillType.ON_ENCHANT, holder ->
{
final Skill skill = holder.getSkill();
if (skill.isPassive() && (getEnchantLevel() >= holder.getValue()))
{
player.addSkill(skill, false);
}
});
}
public void removeSkillsFromOwner()

View File

@ -2002,23 +2002,34 @@ public class Item extends WorldObject
public void giveSkillsToOwner()
{
if (!hasPassiveSkills())
if (!isEquipped() && !hasPassiveSkills())
{
return;
}
final Player player = getActingPlayer();
if (player != null)
if (player == null)
{
_itemTemplate.forEachSkill(ItemSkillType.NORMAL, holder ->
{
final Skill skill = holder.getSkill();
if (skill.isPassive())
{
player.addSkill(skill, false);
}
});
return;
}
_itemTemplate.forEachSkill(ItemSkillType.NORMAL, holder ->
{
final Skill skill = holder.getSkill();
if (skill.isPassive())
{
player.addSkill(skill, false);
}
});
_itemTemplate.forEachSkill(ItemSkillType.ON_ENCHANT, holder ->
{
final Skill skill = holder.getSkill();
if (skill.isPassive() && (getEnchantLevel() >= holder.getValue()))
{
player.addSkill(skill, false);
}
});
}
public void removeSkillsFromOwner()

View File

@ -2073,23 +2073,34 @@ public class Item extends WorldObject
public void giveSkillsToOwner()
{
if (!hasPassiveSkills())
if (!isEquipped() && !hasPassiveSkills())
{
return;
}
final Player player = getActingPlayer();
if (player != null)
if (player == null)
{
_itemTemplate.forEachSkill(ItemSkillType.NORMAL, holder ->
{
final Skill skill = holder.getSkill();
if (skill.isPassive())
{
player.addSkill(skill, false);
}
});
return;
}
_itemTemplate.forEachSkill(ItemSkillType.NORMAL, holder ->
{
final Skill skill = holder.getSkill();
if (skill.isPassive())
{
player.addSkill(skill, false);
}
});
_itemTemplate.forEachSkill(ItemSkillType.ON_ENCHANT, holder ->
{
final Skill skill = holder.getSkill();
if (skill.isPassive() && (getEnchantLevel() >= holder.getValue()))
{
player.addSkill(skill, false);
}
});
}
public void removeSkillsFromOwner()

View File

@ -2073,23 +2073,34 @@ public class Item extends WorldObject
public void giveSkillsToOwner()
{
if (!hasPassiveSkills())
if (!isEquipped() && !hasPassiveSkills())
{
return;
}
final Player player = getActingPlayer();
if (player != null)
if (player == null)
{
_itemTemplate.forEachSkill(ItemSkillType.NORMAL, holder ->
{
final Skill skill = holder.getSkill();
if (skill.isPassive())
{
player.addSkill(skill, false);
}
});
return;
}
_itemTemplate.forEachSkill(ItemSkillType.NORMAL, holder ->
{
final Skill skill = holder.getSkill();
if (skill.isPassive())
{
player.addSkill(skill, false);
}
});
_itemTemplate.forEachSkill(ItemSkillType.ON_ENCHANT, holder ->
{
final Skill skill = holder.getSkill();
if (skill.isPassive() && (getEnchantLevel() >= holder.getValue()))
{
player.addSkill(skill, false);
}
});
}
public void removeSkillsFromOwner()

View File

@ -2083,23 +2083,34 @@ public class Item extends WorldObject
public void giveSkillsToOwner()
{
if (!hasPassiveSkills())
if (!isEquipped() && !hasPassiveSkills())
{
return;
}
final Player player = getActingPlayer();
if (player != null)
if (player == null)
{
_itemTemplate.forEachSkill(ItemSkillType.NORMAL, holder ->
{
final Skill skill = holder.getSkill();
if (skill.isPassive())
{
player.addSkill(skill, false);
}
});
return;
}
_itemTemplate.forEachSkill(ItemSkillType.NORMAL, holder ->
{
final Skill skill = holder.getSkill();
if (skill.isPassive())
{
player.addSkill(skill, false);
}
});
_itemTemplate.forEachSkill(ItemSkillType.ON_ENCHANT, holder ->
{
final Skill skill = holder.getSkill();
if (skill.isPassive() && (getEnchantLevel() >= holder.getValue()))
{
player.addSkill(skill, false);
}
});
}
public void removeSkillsFromOwner()

View File

@ -2086,23 +2086,34 @@ public class Item extends WorldObject
public void giveSkillsToOwner()
{
if (!hasPassiveSkills())
if (!isEquipped() && !hasPassiveSkills())
{
return;
}
final Player player = getActingPlayer();
if (player != null)
if (player == null)
{
_itemTemplate.forEachSkill(ItemSkillType.NORMAL, holder ->
{
final Skill skill = holder.getSkill();
if (skill.isPassive())
{
player.addSkill(skill, false);
}
});
return;
}
_itemTemplate.forEachSkill(ItemSkillType.NORMAL, holder ->
{
final Skill skill = holder.getSkill();
if (skill.isPassive())
{
player.addSkill(skill, false);
}
});
_itemTemplate.forEachSkill(ItemSkillType.ON_ENCHANT, holder ->
{
final Skill skill = holder.getSkill();
if (skill.isPassive() && (getEnchantLevel() >= holder.getValue()))
{
player.addSkill(skill, false);
}
});
}
public void removeSkillsFromOwner()

View File

@ -2086,23 +2086,34 @@ public class Item extends WorldObject
public void giveSkillsToOwner()
{
if (!hasPassiveSkills())
if (!isEquipped() && !hasPassiveSkills())
{
return;
}
final Player player = getActingPlayer();
if (player != null)
if (player == null)
{
_itemTemplate.forEachSkill(ItemSkillType.NORMAL, holder ->
{
final Skill skill = holder.getSkill();
if (skill.isPassive())
{
player.addSkill(skill, false);
}
});
return;
}
_itemTemplate.forEachSkill(ItemSkillType.NORMAL, holder ->
{
final Skill skill = holder.getSkill();
if (skill.isPassive())
{
player.addSkill(skill, false);
}
});
_itemTemplate.forEachSkill(ItemSkillType.ON_ENCHANT, holder ->
{
final Skill skill = holder.getSkill();
if (skill.isPassive() && (getEnchantLevel() >= holder.getValue()))
{
player.addSkill(skill, false);
}
});
}
public void removeSkillsFromOwner()