Proper skill reduce item consumption.

This commit is contained in:
MobiusDev
2017-04-13 22:14:49 +00:00
parent 5e61cecf5b
commit 4e0d3100be
4 changed files with 18 additions and 4 deletions

View File

@@ -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)) if (!playable.destroyItem("Consume", item.getObjectId(), 1, playable, false))
{ {
@@ -172,7 +172,6 @@ public class ItemSkillsTemplate implements IItemHandler
switch (item.getItem().getDefaultAction()) switch (item.getItem().getDefaultAction())
{ {
case CAPSULE: case CAPSULE:
case SKILL_REDUCE:
{ {
if (!hasConsumeSkill && item.getItem().hasImmediateEffect()) if (!hasConsumeSkill && item.getItem().hasImmediateEffect())
{ {
@@ -180,6 +179,7 @@ public class ItemSkillsTemplate implements IItemHandler
} }
break; break;
} }
case SKILL_REDUCE:
case SKILL_REDUCE_ON_SKILL_SUCCESS: case SKILL_REDUCE_ON_SKILL_SUCCESS:
{ {
return false; return false;

View File

@@ -446,6 +446,13 @@ public class SkillCaster implements Runnable
// On each repeat recharge shots before cast. // On each repeat recharge shots before cast.
caster.rechargeShots(_skill.useSoulShot(), _skill.useSpiritShot(), false); 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; return true;
} }

View File

@@ -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)) if (!playable.destroyItem("Consume", item.getObjectId(), 1, playable, false))
{ {
@@ -172,7 +172,6 @@ public class ItemSkillsTemplate implements IItemHandler
switch (item.getItem().getDefaultAction()) switch (item.getItem().getDefaultAction())
{ {
case CAPSULE: case CAPSULE:
case SKILL_REDUCE:
{ {
if (!hasConsumeSkill && item.getItem().hasImmediateEffect()) if (!hasConsumeSkill && item.getItem().hasImmediateEffect())
{ {
@@ -180,6 +179,7 @@ public class ItemSkillsTemplate implements IItemHandler
} }
break; break;
} }
case SKILL_REDUCE:
case SKILL_REDUCE_ON_SKILL_SUCCESS: case SKILL_REDUCE_ON_SKILL_SUCCESS:
{ {
return false; return false;

View File

@@ -446,6 +446,13 @@ public class SkillCaster implements Runnable
// On each repeat recharge shots before cast. // On each repeat recharge shots before cast.
caster.rechargeShots(_skill.useSoulShot(), _skill.useSpiritShot(), false); 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; return true;
} }