Use skill hit time for MagicSkillUser packet.

This commit is contained in:
MobiusDevelopment 2019-11-21 16:47:11 +00:00
parent c3866dc72b
commit cf518304c5
3 changed files with 12 additions and 19 deletions

View File

@ -1364,7 +1364,7 @@ public class AdminCommands extends Thread
if (skill.getTargetType() == 0) if (skill.getTargetType() == 0)
{ {
activeChar.setTarget(activeChar); activeChar.setTarget(activeChar);
MagicSkillUser msk = new MagicSkillUser(activeChar, skillid, 1, skill.getSkillTime(), skill.getReuseDelay()); MagicSkillUser msk = new MagicSkillUser(activeChar, skillid, 1, skill.getHitTime(), skill.getReuseDelay());
activeChar.sendPacket(msk); activeChar.sendPacket(msk);
activeChar.broadcastPacket(msk); activeChar.broadcastPacket(msk);
// ActionFailed af = new ActionFailed(); // ActionFailed af = new ActionFailed();

View File

@ -17,15 +17,13 @@
*/ */
package org.l2jmobius.gameserver.handler; package org.l2jmobius.gameserver.handler;
import java.io.IOException;
import org.l2jmobius.gameserver.model.Skill; import org.l2jmobius.gameserver.model.Skill;
import org.l2jmobius.gameserver.model.WorldObject; import org.l2jmobius.gameserver.model.WorldObject;
import org.l2jmobius.gameserver.model.actor.instance.PlayerInstance; import org.l2jmobius.gameserver.model.actor.instance.PlayerInstance;
public interface ISkillHandler public interface ISkillHandler
{ {
public void useSkill(PlayerInstance var1, Skill var2, WorldObject var3) throws IOException; public void useSkill(PlayerInstance var1, Skill var2, WorldObject var3);
public int[] getSkillIds(); public int[] getSkillIds();
} }

View File

@ -17,9 +17,6 @@
*/ */
package org.l2jmobius.gameserver.model.actor.instance; package org.l2jmobius.gameserver.model.actor.instance;
import java.io.IOException;
import java.io.PrintWriter;
import java.io.StringWriter;
import java.util.HashMap; import java.util.HashMap;
import java.util.Iterator; import java.util.Iterator;
import java.util.List; import java.util.List;
@ -1326,7 +1323,7 @@ public class PlayerInstance extends Creature
int level = getSkillLevel(magicId); int level = getSkillLevel(magicId);
ActionFailed af = new ActionFailed(); ActionFailed af = new ActionFailed();
sendPacket(af); sendPacket(af);
MagicSkillUser msu = new MagicSkillUser(this, target, magicId, level, skill.getSkillTime(), skill.getReuseDelay()); MagicSkillUser msu = new MagicSkillUser(this, target, magicId, level, skill.getHitTime(), skill.getReuseDelay());
sendPacket(msu); sendPacket(msu);
broadcastPacket(msu); broadcastPacket(msu);
SetupGauge sg = new SetupGauge(0, skill.getSkillTime()); SetupGauge sg = new SetupGauge(0, skill.getSkillTime());
@ -1339,8 +1336,9 @@ public class PlayerInstance extends Creature
disableSkill(skill.getId(), true); disableSkill(skill.getId(), true);
_enableSkillTimer.schedule(new EnableSkill(skill.getId()), skill.getReuseDelay()); _enableSkillTimer.schedule(new EnableSkill(skill.getId()), skill.getReuseDelay());
disableAllSkills(); disableAllSkills();
_enableAllSkillsTimer.schedule(new EnableAllSkills(skill), skill.getSkillTime()); final int hittime = skill.getHitTime();
_magicUseTimer.schedule(new MagicUseTask(target, skill), skill.getSkillTime() - 300); _enableAllSkillsTimer.schedule(new EnableAllSkills(skill), hittime + 5);
_magicUseTimer.schedule(new MagicUseTask(target, skill), hittime);
} }
} }
@ -1348,7 +1346,7 @@ public class PlayerInstance extends Creature
protected void reduceArrowCount() protected void reduceArrowCount()
{ {
ItemInstance arrows = getInventory().destroyItem(getInventory().getPaperdollObjectId(8), 1); ItemInstance arrows = getInventory().destroyItem(getInventory().getPaperdollObjectId(8), 1);
_log.info("arrow count:" + arrows.getCount()); // _log.info("arrow count:" + arrows.getCount());
if (arrows.getCount() == 0) if (arrows.getCount() == 0)
{ {
getInventory().unEquipItemOnPaperdoll(8); getInventory().unEquipItemOnPaperdoll(8);
@ -1413,7 +1411,7 @@ public class PlayerInstance extends Creature
return System.currentTimeMillis() - _uptime; return System.currentTimeMillis() - _uptime;
} }
public void onMagicUseTimer(Creature target, Skill skill) throws IOException public void onMagicUseTimer(Creature target, Skill skill)
{ {
if ((getCurrentState() == 2) && _allSkillsDisabled && isSkillDisabled(skill.getId()) && (getSkill() == skill)) if ((getCurrentState() == 2) && _allSkillsDisabled && isSkillDisabled(skill.getId()) && (getSkill() == skill))
{ {
@ -1425,7 +1423,7 @@ public class PlayerInstance extends Creature
while (it.hasNext()) while (it.hasNext())
{ {
PlayerInstance player = it.next(); PlayerInstance player = it.next();
_log.fine("msl: " + getName() + " " + magicId + " " + level + " " + player.getName()); // _log.fine("msl: " + getName() + " " + magicId + " " + level + " " + player.getName());
MagicSkillLaunched msl = new MagicSkillLaunched(this, magicId, level, player); MagicSkillLaunched msl = new MagicSkillLaunched(this, magicId, level, player);
sendPacket(msl); sendPacket(msl);
broadcastPacket(msl); broadcastPacket(msl);
@ -1434,7 +1432,7 @@ public class PlayerInstance extends Creature
else else
{ {
MagicSkillLaunched msl = new MagicSkillLaunched(this, magicId, level, target); MagicSkillLaunched msl = new MagicSkillLaunched(this, magicId, level, target);
_log.fine("msl: " + getName() + " " + magicId + " " + level + " " + target.getName()); // _log.fine("msl: " + getName() + " " + magicId + " " + level + " " + target.getName());
sendPacket(msl); sendPacket(msl);
broadcastPacket(msl); broadcastPacket(msl);
} }
@ -1602,12 +1600,9 @@ public class PlayerInstance extends Creature
{ {
onMagicUseTimer(_target, _skill); onMagicUseTimer(_target, _skill);
} }
catch (Throwable e) catch (Exception e)
{ {
StringWriter pw = new StringWriter(); e.printStackTrace();
PrintWriter prw = new PrintWriter(pw);
e.printStackTrace(prw);
_log.severe(pw.toString());
} }
} }
} }