Skip to content
Snippets Groups Projects
Commit a71da3f5 authored by Zoey76's avatar Zoey76
Browse files

BETA: Fixing some error in logic for item skill's handler.

parent 9992b446
No related branches found
No related tags found
No related merge requests found
...@@ -56,6 +56,7 @@ public class ItemSkillsTemplate implements IItemHandler ...@@ -56,6 +56,7 @@ public class ItemSkillsTemplate implements IItemHandler
return false; return false;
} }
// Verify that item is not under reuse.
if (!checkReuse(activeChar, null, item)) if (!checkReuse(activeChar, null, item))
{ {
return false; return false;
...@@ -91,7 +92,12 @@ public class ItemSkillsTemplate implements IItemHandler ...@@ -91,7 +92,12 @@ public class ItemSkillsTemplate implements IItemHandler
if (playable.isSkillDisabled(itemSkill)) if (playable.isSkillDisabled(itemSkill))
{ {
checkReuse(activeChar, itemSkill, item); return false;
}
// Verify that skill is not under reuse.
if (!checkReuse(activeChar, itemSkill, item))
{
return false; return false;
} }
...@@ -158,7 +164,6 @@ public class ItemSkillsTemplate implements IItemHandler ...@@ -158,7 +164,6 @@ public class ItemSkillsTemplate implements IItemHandler
else else
{ {
playable.getAI().setIntention(CtrlIntention.AI_INTENTION_IDLE); playable.getAI().setIntention(CtrlIntention.AI_INTENTION_IDLE);
if (!playable.useMagic(itemSkill, forceUse, false)) if (!playable.useMagic(itemSkill, forceUse, false))
{ {
return false; return false;
...@@ -185,14 +190,14 @@ public class ItemSkillsTemplate implements IItemHandler ...@@ -185,14 +190,14 @@ public class ItemSkillsTemplate implements IItemHandler
} }
/** /**
* @param player * @param player the player using the item or skill
* @param skill * @param skill the skill being used, can be null
* @param item * @param item the item being used
* @return * @return {@code true} if the the item or skill to check is available, {@code false} otherwise
*/ */
private boolean checkReuse(L2PcInstance player, L2Skill skill, L2ItemInstance item) private boolean checkReuse(L2PcInstance player, L2Skill skill, L2ItemInstance item)
{ {
final SystemMessage sm; SystemMessage sm = null;
final long remainingTime = (skill != null) ? player.getSkillRemainingReuseTime(skill.getReuseHashCode()) : player.getItemRemainingReuseTime(item.getObjectId()); final long remainingTime = (skill != null) ? player.getSkillRemainingReuseTime(skill.getReuseHashCode()) : player.getItemRemainingReuseTime(item.getObjectId());
final boolean isAvailable = remainingTime <= 0; final boolean isAvailable = remainingTime <= 0;
if (!isAvailable) if (!isAvailable)
...@@ -241,12 +246,15 @@ public class ItemSkillsTemplate implements IItemHandler ...@@ -241,12 +246,15 @@ public class ItemSkillsTemplate implements IItemHandler
} }
sm.addNumber(seconds); sm.addNumber(seconds);
} }
else else if (skill == null)
{ {
sm = SystemMessage.getSystemMessage(SystemMessageId.S1_PREPARED_FOR_REUSE); sm = SystemMessage.getSystemMessage(SystemMessageId.S1_PREPARED_FOR_REUSE);
sm.addItemName(item); sm.addItemName(item);
} }
player.sendPacket(sm); if (sm != null)
{
player.sendPacket(sm);
}
return isAvailable; return isAvailable;
} }
} }
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment