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,14 +2008,17 @@ public class Item extends WorldObject
public void giveSkillsToOwner()
{
if (!hasPassiveSkills())
if (!isEquipped() && !hasPassiveSkills())
{
return;
}
final Player player = getActingPlayer();
if (player != null)
if (player == null)
{
return;
}
_itemTemplate.forEachSkill(ItemSkillType.NORMAL, holder ->
{
final Skill skill = holder.getSkill();
@@ -2024,7 +2027,15 @@ public class Item extends WorldObject
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,14 +2019,17 @@ public class Item extends WorldObject
public void giveSkillsToOwner()
{
if (!hasPassiveSkills())
if (!isEquipped() && !hasPassiveSkills())
{
return;
}
final Player player = getActingPlayer();
if (player != null)
if (player == null)
{
return;
}
_itemTemplate.forEachSkill(ItemSkillType.NORMAL, holder ->
{
final Skill skill = holder.getSkill();
@@ -2035,7 +2038,15 @@ public class Item extends WorldObject
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,14 +2019,17 @@ public class Item extends WorldObject
public void giveSkillsToOwner()
{
if (!hasPassiveSkills())
if (!isEquipped() && !hasPassiveSkills())
{
return;
}
final Player player = getActingPlayer();
if (player != null)
if (player == null)
{
return;
}
_itemTemplate.forEachSkill(ItemSkillType.NORMAL, holder ->
{
final Skill skill = holder.getSkill();
@@ -2035,7 +2038,15 @@ public class Item extends WorldObject
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,14 +2019,17 @@ public class Item extends WorldObject
public void giveSkillsToOwner()
{
if (!hasPassiveSkills())
if (!isEquipped() && !hasPassiveSkills())
{
return;
}
final Player player = getActingPlayer();
if (player != null)
if (player == null)
{
return;
}
_itemTemplate.forEachSkill(ItemSkillType.NORMAL, holder ->
{
final Skill skill = holder.getSkill();
@@ -2035,7 +2038,15 @@ public class Item extends WorldObject
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,14 +2085,17 @@ public class Item extends WorldObject
public void giveSkillsToOwner()
{
if (!hasPassiveSkills())
if (!isEquipped() && !hasPassiveSkills())
{
return;
}
final Player player = getActingPlayer();
if (player != null)
if (player == null)
{
return;
}
_itemTemplate.forEachSkill(ItemSkillType.NORMAL, holder ->
{
final Skill skill = holder.getSkill();
@@ -2101,7 +2104,15 @@ public class Item extends WorldObject
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,14 +2085,17 @@ public class Item extends WorldObject
public void giveSkillsToOwner()
{
if (!hasPassiveSkills())
if (!isEquipped() && !hasPassiveSkills())
{
return;
}
final Player player = getActingPlayer();
if (player != null)
if (player == null)
{
return;
}
_itemTemplate.forEachSkill(ItemSkillType.NORMAL, holder ->
{
final Skill skill = holder.getSkill();
@@ -2101,7 +2104,15 @@ public class Item extends WorldObject
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,14 +2085,17 @@ public class Item extends WorldObject
public void giveSkillsToOwner()
{
if (!hasPassiveSkills())
if (!isEquipped() && !hasPassiveSkills())
{
return;
}
final Player player = getActingPlayer();
if (player != null)
if (player == null)
{
return;
}
_itemTemplate.forEachSkill(ItemSkillType.NORMAL, holder ->
{
final Skill skill = holder.getSkill();
@@ -2101,7 +2104,15 @@ public class Item extends WorldObject
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,14 +2085,17 @@ public class Item extends WorldObject
public void giveSkillsToOwner()
{
if (!hasPassiveSkills())
if (!isEquipped() && !hasPassiveSkills())
{
return;
}
final Player player = getActingPlayer();
if (player != null)
if (player == null)
{
return;
}
_itemTemplate.forEachSkill(ItemSkillType.NORMAL, holder ->
{
final Skill skill = holder.getSkill();
@@ -2101,7 +2104,15 @@ public class Item extends WorldObject
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,14 +2085,17 @@ public class Item extends WorldObject
public void giveSkillsToOwner()
{
if (!hasPassiveSkills())
if (!isEquipped() && !hasPassiveSkills())
{
return;
}
final Player player = getActingPlayer();
if (player != null)
if (player == null)
{
return;
}
_itemTemplate.forEachSkill(ItemSkillType.NORMAL, holder ->
{
final Skill skill = holder.getSkill();
@@ -2101,7 +2104,15 @@ public class Item extends WorldObject
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,14 +2085,17 @@ public class Item extends WorldObject
public void giveSkillsToOwner()
{
if (!hasPassiveSkills())
if (!isEquipped() && !hasPassiveSkills())
{
return;
}
final Player player = getActingPlayer();
if (player != null)
if (player == null)
{
return;
}
_itemTemplate.forEachSkill(ItemSkillType.NORMAL, holder ->
{
final Skill skill = holder.getSkill();
@@ -2101,7 +2104,15 @@ public class Item extends WorldObject
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,14 +2094,17 @@ public class Item extends WorldObject
public void giveSkillsToOwner()
{
if (!hasPassiveSkills())
if (!isEquipped() && !hasPassiveSkills())
{
return;
}
final Player player = getActingPlayer();
if (player != null)
if (player == null)
{
return;
}
_itemTemplate.forEachSkill(ItemSkillType.NORMAL, holder ->
{
final Skill skill = holder.getSkill();
@@ -2110,7 +2113,15 @@ public class Item extends WorldObject
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,14 +2097,17 @@ public class Item extends WorldObject
public void giveSkillsToOwner()
{
if (!hasPassiveSkills())
if (!isEquipped() && !hasPassiveSkills())
{
return;
}
final Player player = getActingPlayer();
if (player != null)
if (player == null)
{
return;
}
_itemTemplate.forEachSkill(ItemSkillType.NORMAL, holder ->
{
final Skill skill = holder.getSkill();
@@ -2113,7 +2116,15 @@ public class Item extends WorldObject
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,14 +2097,17 @@ public class Item extends WorldObject
public void giveSkillsToOwner()
{
if (!hasPassiveSkills())
if (!isEquipped() && !hasPassiveSkills())
{
return;
}
final Player player = getActingPlayer();
if (player != null)
if (player == null)
{
return;
}
_itemTemplate.forEachSkill(ItemSkillType.NORMAL, holder ->
{
final Skill skill = holder.getSkill();
@@ -2113,7 +2116,15 @@ public class Item extends WorldObject
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())
{
if (sh.getSkill().isPassive())
{
player.addSkill(sh.getSkill(), false);
return;
}
for (SkillHolder holder : _itemTemplate.getSkills())
{
final Skill skill = holder.getSkill();
if (skill.isPassive())
{
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())
{
if (sh.getSkill().isPassive())
{
player.addSkill(sh.getSkill(), false);
return;
}
for (SkillHolder holder : _itemTemplate.getSkills())
{
final Skill skill = holder.getSkill();
if (skill.isPassive())
{
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())
{
if (sh.getSkill().isPassive())
{
player.addSkill(sh.getSkill(), false);
return;
}
for (SkillHolder holder : _itemTemplate.getSkills())
{
final Skill skill = holder.getSkill();
if (skill.isPassive())
{
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,14 +2010,17 @@ public class Item extends WorldObject
public void giveSkillsToOwner()
{
if (!hasPassiveSkills())
if (!isEquipped() && !hasPassiveSkills())
{
return;
}
final Player player = getActingPlayer();
if (player != null)
if (player == null)
{
return;
}
_itemTemplate.forEachSkill(ItemSkillType.NORMAL, holder ->
{
final Skill skill = holder.getSkill();
@@ -2026,7 +2029,15 @@ public class Item extends WorldObject
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,14 +2010,17 @@ public class Item extends WorldObject
public void giveSkillsToOwner()
{
if (!hasPassiveSkills())
if (!isEquipped() && !hasPassiveSkills())
{
return;
}
final Player player = getActingPlayer();
if (player != null)
if (player == null)
{
return;
}
_itemTemplate.forEachSkill(ItemSkillType.NORMAL, holder ->
{
final Skill skill = holder.getSkill();
@@ -2026,7 +2029,15 @@ public class Item extends WorldObject
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,14 +2019,17 @@ public class Item extends WorldObject
public void giveSkillsToOwner()
{
if (!hasPassiveSkills())
if (!isEquipped() && !hasPassiveSkills())
{
return;
}
final Player player = getActingPlayer();
if (player != null)
if (player == null)
{
return;
}
_itemTemplate.forEachSkill(ItemSkillType.NORMAL, holder ->
{
final Skill skill = holder.getSkill();
@@ -2035,7 +2038,15 @@ public class Item extends WorldObject
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,14 +2019,17 @@ public class Item extends WorldObject
public void giveSkillsToOwner()
{
if (!hasPassiveSkills())
if (!isEquipped() && !hasPassiveSkills())
{
return;
}
final Player player = getActingPlayer();
if (player != null)
if (player == null)
{
return;
}
_itemTemplate.forEachSkill(ItemSkillType.NORMAL, holder ->
{
final Skill skill = holder.getSkill();
@@ -2035,7 +2038,15 @@ public class Item extends WorldObject
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,14 +2070,17 @@ public class Item extends WorldObject
public void giveSkillsToOwner()
{
if (!hasPassiveSkills())
if (!isEquipped() && !hasPassiveSkills())
{
return;
}
final Player player = getActingPlayer();
if (player != null)
if (player == null)
{
return;
}
_itemTemplate.forEachSkill(ItemSkillType.NORMAL, holder ->
{
final Skill skill = holder.getSkill();
@@ -2086,7 +2089,15 @@ public class Item extends WorldObject
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,14 +2070,17 @@ public class Item extends WorldObject
public void giveSkillsToOwner()
{
if (!hasPassiveSkills())
if (!isEquipped() && !hasPassiveSkills())
{
return;
}
final Player player = getActingPlayer();
if (player != null)
if (player == null)
{
return;
}
_itemTemplate.forEachSkill(ItemSkillType.NORMAL, holder ->
{
final Skill skill = holder.getSkill();
@@ -2086,7 +2089,15 @@ public class Item extends WorldObject
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,14 +2070,17 @@ public class Item extends WorldObject
public void giveSkillsToOwner()
{
if (!hasPassiveSkills())
if (!isEquipped() && !hasPassiveSkills())
{
return;
}
final Player player = getActingPlayer();
if (player != null)
if (player == null)
{
return;
}
_itemTemplate.forEachSkill(ItemSkillType.NORMAL, holder ->
{
final Skill skill = holder.getSkill();
@@ -2086,7 +2089,15 @@ public class Item extends WorldObject
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,14 +2070,17 @@ public class Item extends WorldObject
public void giveSkillsToOwner()
{
if (!hasPassiveSkills())
if (!isEquipped() && !hasPassiveSkills())
{
return;
}
final Player player = getActingPlayer();
if (player != null)
if (player == null)
{
return;
}
_itemTemplate.forEachSkill(ItemSkillType.NORMAL, holder ->
{
final Skill skill = holder.getSkill();
@@ -2086,7 +2089,15 @@ public class Item extends WorldObject
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,14 +2070,17 @@ public class Item extends WorldObject
public void giveSkillsToOwner()
{
if (!hasPassiveSkills())
if (!isEquipped() && !hasPassiveSkills())
{
return;
}
final Player player = getActingPlayer();
if (player != null)
if (player == null)
{
return;
}
_itemTemplate.forEachSkill(ItemSkillType.NORMAL, holder ->
{
final Skill skill = holder.getSkill();
@@ -2086,7 +2089,15 @@ public class Item extends WorldObject
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,14 +2002,17 @@ public class Item extends WorldObject
public void giveSkillsToOwner()
{
if (!hasPassiveSkills())
if (!isEquipped() && !hasPassiveSkills())
{
return;
}
final Player player = getActingPlayer();
if (player != null)
if (player == null)
{
return;
}
_itemTemplate.forEachSkill(ItemSkillType.NORMAL, holder ->
{
final Skill skill = holder.getSkill();
@@ -2018,7 +2021,15 @@ public class Item extends WorldObject
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,14 +2073,17 @@ public class Item extends WorldObject
public void giveSkillsToOwner()
{
if (!hasPassiveSkills())
if (!isEquipped() && !hasPassiveSkills())
{
return;
}
final Player player = getActingPlayer();
if (player != null)
if (player == null)
{
return;
}
_itemTemplate.forEachSkill(ItemSkillType.NORMAL, holder ->
{
final Skill skill = holder.getSkill();
@@ -2089,7 +2092,15 @@ public class Item extends WorldObject
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,14 +2073,17 @@ public class Item extends WorldObject
public void giveSkillsToOwner()
{
if (!hasPassiveSkills())
if (!isEquipped() && !hasPassiveSkills())
{
return;
}
final Player player = getActingPlayer();
if (player != null)
if (player == null)
{
return;
}
_itemTemplate.forEachSkill(ItemSkillType.NORMAL, holder ->
{
final Skill skill = holder.getSkill();
@@ -2089,7 +2092,15 @@ public class Item extends WorldObject
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,14 +2083,17 @@ public class Item extends WorldObject
public void giveSkillsToOwner()
{
if (!hasPassiveSkills())
if (!isEquipped() && !hasPassiveSkills())
{
return;
}
final Player player = getActingPlayer();
if (player != null)
if (player == null)
{
return;
}
_itemTemplate.forEachSkill(ItemSkillType.NORMAL, holder ->
{
final Skill skill = holder.getSkill();
@@ -2099,7 +2102,15 @@ public class Item extends WorldObject
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,14 +2086,17 @@ public class Item extends WorldObject
public void giveSkillsToOwner()
{
if (!hasPassiveSkills())
if (!isEquipped() && !hasPassiveSkills())
{
return;
}
final Player player = getActingPlayer();
if (player != null)
if (player == null)
{
return;
}
_itemTemplate.forEachSkill(ItemSkillType.NORMAL, holder ->
{
final Skill skill = holder.getSkill();
@@ -2102,7 +2105,15 @@ public class Item extends WorldObject
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,14 +2086,17 @@ public class Item extends WorldObject
public void giveSkillsToOwner()
{
if (!hasPassiveSkills())
if (!isEquipped() && !hasPassiveSkills())
{
return;
}
final Player player = getActingPlayer();
if (player != null)
if (player == null)
{
return;
}
_itemTemplate.forEachSkill(ItemSkillType.NORMAL, holder ->
{
final Skill skill = holder.getSkill();
@@ -2102,7 +2105,15 @@ public class Item extends WorldObject
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()