diff --git a/L2J_Mobius_Helios/dist/game/data/scripts/handlers/itemhandlers/ItemSkillsTemplate.java b/L2J_Mobius_Helios/dist/game/data/scripts/handlers/itemhandlers/ItemSkillsTemplate.java index 194bfb67dc..2eee3cedff 100644 --- a/L2J_Mobius_Helios/dist/game/data/scripts/handlers/itemhandlers/ItemSkillsTemplate.java +++ b/L2J_Mobius_Helios/dist/game/data/scripts/handlers/itemhandlers/ItemSkillsTemplate.java @@ -150,7 +150,7 @@ public class ItemSkillsTemplate implements IItemHandler } } - if (successfulUse && checkConsume(item, hasConsumeSkill)) + if (item.isPotion() || item.isElixir() || (successfulUse && checkConsume(item, hasConsumeSkill))) { if (!playable.destroyItem("Consume", item.getObjectId(), 1, playable, false)) { @@ -172,7 +172,6 @@ public class ItemSkillsTemplate implements IItemHandler switch (item.getItem().getDefaultAction()) { case CAPSULE: - case SKILL_REDUCE: { if (!hasConsumeSkill && item.getItem().hasImmediateEffect()) { @@ -180,6 +179,7 @@ public class ItemSkillsTemplate implements IItemHandler } break; } + case SKILL_REDUCE: case SKILL_REDUCE_ON_SKILL_SUCCESS: { return false; diff --git a/L2J_Mobius_Helios/java/com/l2jmobius/gameserver/model/skills/SkillCaster.java b/L2J_Mobius_Helios/java/com/l2jmobius/gameserver/model/skills/SkillCaster.java index 8184d59bb2..b6b63e3847 100644 --- a/L2J_Mobius_Helios/java/com/l2jmobius/gameserver/model/skills/SkillCaster.java +++ b/L2J_Mobius_Helios/java/com/l2jmobius/gameserver/model/skills/SkillCaster.java @@ -446,6 +446,13 @@ public class SkillCaster implements Runnable // On each repeat recharge shots before cast. caster.rechargeShots(_skill.useSoulShot(), _skill.useSpiritShot(), false); + + // Consume skill reduced item. + if ((_item != null) && ((_item.getItem().getDefaultAction() == ActionType.SKILL_REDUCE) || (_item.getItem().getDefaultAction() == ActionType.SKILL_REDUCE_ON_SKILL_SUCCESS))) + { + caster.destroyItem(_skill.toString(), _item.getObjectId(), _skill.getItemConsumeCount(), target, true); + } + return true; } diff --git a/L2J_Mobius_Underground/dist/game/data/scripts/handlers/itemhandlers/ItemSkillsTemplate.java b/L2J_Mobius_Underground/dist/game/data/scripts/handlers/itemhandlers/ItemSkillsTemplate.java index 194bfb67dc..2eee3cedff 100644 --- a/L2J_Mobius_Underground/dist/game/data/scripts/handlers/itemhandlers/ItemSkillsTemplate.java +++ b/L2J_Mobius_Underground/dist/game/data/scripts/handlers/itemhandlers/ItemSkillsTemplate.java @@ -150,7 +150,7 @@ public class ItemSkillsTemplate implements IItemHandler } } - if (successfulUse && checkConsume(item, hasConsumeSkill)) + if (item.isPotion() || item.isElixir() || (successfulUse && checkConsume(item, hasConsumeSkill))) { if (!playable.destroyItem("Consume", item.getObjectId(), 1, playable, false)) { @@ -172,7 +172,6 @@ public class ItemSkillsTemplate implements IItemHandler switch (item.getItem().getDefaultAction()) { case CAPSULE: - case SKILL_REDUCE: { if (!hasConsumeSkill && item.getItem().hasImmediateEffect()) { @@ -180,6 +179,7 @@ public class ItemSkillsTemplate implements IItemHandler } break; } + case SKILL_REDUCE: case SKILL_REDUCE_ON_SKILL_SUCCESS: { return false; diff --git a/L2J_Mobius_Underground/java/com/l2jmobius/gameserver/model/skills/SkillCaster.java b/L2J_Mobius_Underground/java/com/l2jmobius/gameserver/model/skills/SkillCaster.java index 8184d59bb2..b6b63e3847 100644 --- a/L2J_Mobius_Underground/java/com/l2jmobius/gameserver/model/skills/SkillCaster.java +++ b/L2J_Mobius_Underground/java/com/l2jmobius/gameserver/model/skills/SkillCaster.java @@ -446,6 +446,13 @@ public class SkillCaster implements Runnable // On each repeat recharge shots before cast. caster.rechargeShots(_skill.useSoulShot(), _skill.useSpiritShot(), false); + + // Consume skill reduced item. + if ((_item != null) && ((_item.getItem().getDefaultAction() == ActionType.SKILL_REDUCE) || (_item.getItem().getDefaultAction() == ActionType.SKILL_REDUCE_ON_SKILL_SUCCESS))) + { + caster.destroyItem(_skill.toString(), _item.getObjectId(), _skill.getItemConsumeCount(), target, true); + } + return true; }