Fixed issue with ConsumeBody effect.

This commit is contained in:
MobiusDevelopment
2022-05-09 22:11:21 +00:00
parent d60ed9a3be
commit af7fa05ceb
8 changed files with 54 additions and 14 deletions

View File

@@ -16,11 +16,15 @@
*/
package handlers.effecthandlers;
import org.l2jmobius.commons.threads.ThreadPool;
import org.l2jmobius.gameserver.model.StatSet;
import org.l2jmobius.gameserver.model.actor.Npc;
import org.l2jmobius.gameserver.model.conditions.Condition;
import org.l2jmobius.gameserver.model.effects.AbstractEffect;
import org.l2jmobius.gameserver.model.skill.BuffInfo;
import org.l2jmobius.gameserver.model.skill.EffectScope;
import org.l2jmobius.gameserver.model.stats.Formulas;
import org.l2jmobius.gameserver.taskmanager.DecayTaskManager;
/**
* Consume Body effect implementation.
@@ -47,6 +51,14 @@ public class ConsumeBody extends AbstractEffect
return;
}
((Npc) info.getEffected()).endDecayTask();
if (info.getSkill().hasEffects(EffectScope.START))
{
DecayTaskManager.getInstance().cancel(info.getEffected());
ThreadPool.schedule(() -> info.getEffected().onDecay(), Formulas.calcAtkSpd(info.getEffector(), info.getSkill(), info.getSkill().getHitTime() + info.getSkill().getCoolTime()));
}
else
{
((Npc) info.getEffected()).endDecayTask();
}
}
}

View File

@@ -65,7 +65,7 @@ public class Summon extends AbstractEffect
@Override
public void onStart(BuffInfo info)
{
if (!info.getEffected().isPlayer() || info.getEffected().hasSummon())
if (!info.getEffector().isPlayer() || info.getEffector().hasSummon())
{
return;
}