diff --git a/L2J_DataPack_BETA/dist/game/data/scripts/handlers/itemhandlers/ItemSkillsTemplate.java b/L2J_DataPack_BETA/dist/game/data/scripts/handlers/itemhandlers/ItemSkillsTemplate.java index 2cc07e6de2eab2840b8309e753361c620c01eabd..356f135bff8efad0f2408e51e361ff12eb43d65a 100644 --- a/L2J_DataPack_BETA/dist/game/data/scripts/handlers/itemhandlers/ItemSkillsTemplate.java +++ b/L2J_DataPack_BETA/dist/game/data/scripts/handlers/itemhandlers/ItemSkillsTemplate.java @@ -25,6 +25,7 @@ import com.l2jserver.gameserver.model.actor.instance.L2PcInstance; import com.l2jserver.gameserver.model.entity.TvTEvent; import com.l2jserver.gameserver.model.holders.SkillHolder; import com.l2jserver.gameserver.model.items.instance.L2ItemInstance; +import com.l2jserver.gameserver.model.items.type.L2ActionType; import com.l2jserver.gameserver.model.skills.Skill; import com.l2jserver.gameserver.network.SystemMessageId; import com.l2jserver.gameserver.network.serverpackets.ActionFailed; @@ -102,9 +103,10 @@ public class ItemSkillsTemplate implements IItemHandler return false; } - if ((itemSkill.getItemConsumeId() == 0) && (itemSkill.getItemConsume() > 0) && (item.isPotion() || item.isElixir() || itemSkill.isSimultaneousCast())) + final boolean isCapsuleItem = item.getItem().getDefaultAction() == L2ActionType.capsule; + if (isCapsuleItem || ((itemSkill.getItemConsumeId() == 0) && (itemSkill.getItemConsume() > 0) && (item.isPotion() || item.isElixir() || itemSkill.isSimultaneousCast()))) { - if (!playable.destroyItem("Consume", item.getObjectId(), itemSkill.getItemConsume(), playable, false)) + if (!playable.destroyItem("Consume", item.getObjectId(), isCapsuleItem && (itemSkill.getItemConsume() == 0) ? 1 : itemSkill.getItemConsume(), playable, false)) { playable.sendPacket(SystemMessageId.NOT_ENOUGH_ITEMS); return false;