Correct functionality of SkillTurningOverTime effect.
Contributed by Iris.
This commit is contained in:
@@ -23,6 +23,7 @@ import org.l2jmobius.gameserver.model.effects.AbstractEffect;
|
||||
import org.l2jmobius.gameserver.model.item.instance.Item;
|
||||
import org.l2jmobius.gameserver.model.skill.Skill;
|
||||
import org.l2jmobius.gameserver.model.stats.Formulas;
|
||||
import org.l2jmobius.gameserver.network.SystemMessageId;
|
||||
|
||||
/**
|
||||
* Skill Turning effect implementation.
|
||||
@@ -48,9 +49,10 @@ public class SkillTurningOverTime extends AbstractEffect
|
||||
}
|
||||
|
||||
final boolean skillSuccess = _staticChance ? Formulas.calcProbability(_chance, effector, effected, skill) : (Rnd.get(100) < _chance);
|
||||
if (skillSuccess)
|
||||
if (skillSuccess && effected.isCastingNow())
|
||||
{
|
||||
effected.breakCast();
|
||||
effected.abortAllSkillCasters();
|
||||
effected.sendPacket(SystemMessageId.YOUR_CASTING_HAS_BEEN_INTERRUPTED);
|
||||
}
|
||||
|
||||
return super.onActionTime(effector, effected, skill, item);
|
||||
|
@@ -1261,7 +1261,7 @@
|
||||
</effect>
|
||||
<effect name="SkillTurningOverTime">
|
||||
<chance>25</chance>
|
||||
<ticks>3</ticks>
|
||||
<ticks>1</ticks>
|
||||
</effect>
|
||||
</effects>
|
||||
</skill>
|
||||
|
@@ -23,6 +23,7 @@ import org.l2jmobius.gameserver.model.effects.AbstractEffect;
|
||||
import org.l2jmobius.gameserver.model.item.instance.Item;
|
||||
import org.l2jmobius.gameserver.model.skill.Skill;
|
||||
import org.l2jmobius.gameserver.model.stats.Formulas;
|
||||
import org.l2jmobius.gameserver.network.SystemMessageId;
|
||||
|
||||
/**
|
||||
* Skill Turning effect implementation.
|
||||
@@ -48,9 +49,10 @@ public class SkillTurningOverTime extends AbstractEffect
|
||||
}
|
||||
|
||||
final boolean skillSuccess = _staticChance ? Formulas.calcProbability(_chance, effector, effected, skill) : (Rnd.get(100) < _chance);
|
||||
if (skillSuccess)
|
||||
if (skillSuccess && effected.isCastingNow())
|
||||
{
|
||||
effected.breakCast();
|
||||
effected.abortAllSkillCasters();
|
||||
effected.sendPacket(SystemMessageId.YOUR_CASTING_HAS_BEEN_INTERRUPTED);
|
||||
}
|
||||
|
||||
return super.onActionTime(effector, effected, skill, item);
|
||||
|
@@ -1299,7 +1299,7 @@
|
||||
</effect>
|
||||
<effect name="SkillTurningOverTime">
|
||||
<chance>25</chance>
|
||||
<ticks>3</ticks>
|
||||
<ticks>1</ticks>
|
||||
</effect>
|
||||
</effects>
|
||||
</skill>
|
||||
|
@@ -23,6 +23,7 @@ import org.l2jmobius.gameserver.model.effects.AbstractEffect;
|
||||
import org.l2jmobius.gameserver.model.item.instance.Item;
|
||||
import org.l2jmobius.gameserver.model.skill.Skill;
|
||||
import org.l2jmobius.gameserver.model.stats.Formulas;
|
||||
import org.l2jmobius.gameserver.network.SystemMessageId;
|
||||
|
||||
/**
|
||||
* Skill Turning effect implementation.
|
||||
@@ -48,9 +49,10 @@ public class SkillTurningOverTime extends AbstractEffect
|
||||
}
|
||||
|
||||
final boolean skillSuccess = _staticChance ? Formulas.calcProbability(_chance, effector, effected, skill) : (Rnd.get(100) < _chance);
|
||||
if (skillSuccess)
|
||||
if (skillSuccess && effected.isCastingNow())
|
||||
{
|
||||
effected.breakCast();
|
||||
effected.abortAllSkillCasters();
|
||||
effected.sendPacket(SystemMessageId.YOUR_CASTING_HAS_BEEN_INTERRUPTED);
|
||||
}
|
||||
|
||||
return super.onActionTime(effector, effected, skill, item);
|
||||
|
@@ -1379,7 +1379,7 @@
|
||||
</effect>
|
||||
<effect name="SkillTurningOverTime">
|
||||
<chance>25</chance>
|
||||
<ticks>3</ticks>
|
||||
<ticks>1</ticks>
|
||||
</effect>
|
||||
</effects>
|
||||
</skill>
|
||||
|
@@ -23,6 +23,7 @@ import org.l2jmobius.gameserver.model.effects.AbstractEffect;
|
||||
import org.l2jmobius.gameserver.model.item.instance.Item;
|
||||
import org.l2jmobius.gameserver.model.skill.Skill;
|
||||
import org.l2jmobius.gameserver.model.stats.Formulas;
|
||||
import org.l2jmobius.gameserver.network.SystemMessageId;
|
||||
|
||||
/**
|
||||
* Skill Turning effect implementation.
|
||||
@@ -48,9 +49,10 @@ public class SkillTurningOverTime extends AbstractEffect
|
||||
}
|
||||
|
||||
final boolean skillSuccess = _staticChance ? Formulas.calcProbability(_chance, effector, effected, skill) : (Rnd.get(100) < _chance);
|
||||
if (skillSuccess)
|
||||
if (skillSuccess && effected.isCastingNow())
|
||||
{
|
||||
effected.breakCast();
|
||||
effected.abortAllSkillCasters();
|
||||
effected.sendPacket(SystemMessageId.YOUR_CASTING_HAS_BEEN_INTERRUPTED);
|
||||
}
|
||||
|
||||
return super.onActionTime(effector, effected, skill, item);
|
||||
|
@@ -1399,7 +1399,7 @@
|
||||
</effect>
|
||||
<effect name="SkillTurningOverTime">
|
||||
<chance>25</chance>
|
||||
<ticks>3</ticks>
|
||||
<ticks>1</ticks>
|
||||
</effect>
|
||||
</effects>
|
||||
</skill>
|
||||
|
@@ -23,6 +23,7 @@ import org.l2jmobius.gameserver.model.effects.AbstractEffect;
|
||||
import org.l2jmobius.gameserver.model.item.instance.Item;
|
||||
import org.l2jmobius.gameserver.model.skill.Skill;
|
||||
import org.l2jmobius.gameserver.model.stats.Formulas;
|
||||
import org.l2jmobius.gameserver.network.SystemMessageId;
|
||||
|
||||
/**
|
||||
* Skill Turning effect implementation.
|
||||
@@ -48,9 +49,10 @@ public class SkillTurningOverTime extends AbstractEffect
|
||||
}
|
||||
|
||||
final boolean skillSuccess = _staticChance ? Formulas.calcProbability(_chance, effector, effected, skill) : (Rnd.get(100) < _chance);
|
||||
if (skillSuccess)
|
||||
if (skillSuccess && effected.isCastingNow())
|
||||
{
|
||||
effected.breakCast();
|
||||
effected.abortAllSkillCasters();
|
||||
effected.sendPacket(SystemMessageId.YOUR_CASTING_HAS_BEEN_INTERRUPTED);
|
||||
}
|
||||
|
||||
return super.onActionTime(effector, effected, skill, item);
|
||||
|
@@ -1571,7 +1571,7 @@
|
||||
</effect>
|
||||
<effect name="SkillTurningOverTime">
|
||||
<chance>10</chance>
|
||||
<ticks>3</ticks>
|
||||
<ticks>1</ticks>
|
||||
</effect>
|
||||
</effects>
|
||||
</skill>
|
||||
|
@@ -23,6 +23,7 @@ import org.l2jmobius.gameserver.model.effects.AbstractEffect;
|
||||
import org.l2jmobius.gameserver.model.item.instance.Item;
|
||||
import org.l2jmobius.gameserver.model.skill.Skill;
|
||||
import org.l2jmobius.gameserver.model.stats.Formulas;
|
||||
import org.l2jmobius.gameserver.network.SystemMessageId;
|
||||
|
||||
/**
|
||||
* Skill Turning effect implementation.
|
||||
@@ -48,9 +49,10 @@ public class SkillTurningOverTime extends AbstractEffect
|
||||
}
|
||||
|
||||
final boolean skillSuccess = _staticChance ? Formulas.calcProbability(_chance, effector, effected, skill) : (Rnd.get(100) < _chance);
|
||||
if (skillSuccess)
|
||||
if (skillSuccess && effected.isCastingNow())
|
||||
{
|
||||
effected.breakCast();
|
||||
effected.abortAllSkillCasters();
|
||||
effected.sendPacket(SystemMessageId.YOUR_CASTING_HAS_BEEN_INTERRUPTED);
|
||||
}
|
||||
|
||||
return super.onActionTime(effector, effected, skill, item);
|
||||
|
@@ -1571,7 +1571,7 @@
|
||||
</effect>
|
||||
<effect name="SkillTurningOverTime">
|
||||
<chance>10</chance>
|
||||
<ticks>3</ticks>
|
||||
<ticks>1</ticks>
|
||||
</effect>
|
||||
</effects>
|
||||
</skill>
|
||||
|
@@ -23,6 +23,7 @@ import org.l2jmobius.gameserver.model.effects.AbstractEffect;
|
||||
import org.l2jmobius.gameserver.model.item.instance.Item;
|
||||
import org.l2jmobius.gameserver.model.skill.Skill;
|
||||
import org.l2jmobius.gameserver.model.stats.Formulas;
|
||||
import org.l2jmobius.gameserver.network.SystemMessageId;
|
||||
|
||||
/**
|
||||
* Skill Turning effect implementation.
|
||||
@@ -48,9 +49,10 @@ public class SkillTurningOverTime extends AbstractEffect
|
||||
}
|
||||
|
||||
final boolean skillSuccess = _staticChance ? Formulas.calcProbability(_chance, effector, effected, skill) : (Rnd.get(100) < _chance);
|
||||
if (skillSuccess)
|
||||
if (skillSuccess && effected.isCastingNow())
|
||||
{
|
||||
effected.breakCast();
|
||||
effected.abortAllSkillCasters();
|
||||
effected.sendPacket(SystemMessageId.YOUR_CASTING_HAS_BEEN_INTERRUPTED);
|
||||
}
|
||||
|
||||
return super.onActionTime(effector, effected, skill, item);
|
||||
|
@@ -1561,7 +1561,7 @@
|
||||
</effect>
|
||||
<effect name="SkillTurningOverTime">
|
||||
<chance>10</chance>
|
||||
<ticks>3</ticks>
|
||||
<ticks>1</ticks>
|
||||
</effect>
|
||||
</effects>
|
||||
</skill>
|
||||
|
@@ -23,6 +23,7 @@ import org.l2jmobius.gameserver.model.effects.AbstractEffect;
|
||||
import org.l2jmobius.gameserver.model.item.instance.Item;
|
||||
import org.l2jmobius.gameserver.model.skill.Skill;
|
||||
import org.l2jmobius.gameserver.model.stats.Formulas;
|
||||
import org.l2jmobius.gameserver.network.SystemMessageId;
|
||||
|
||||
/**
|
||||
* Skill Turning effect implementation.
|
||||
@@ -48,9 +49,10 @@ public class SkillTurningOverTime extends AbstractEffect
|
||||
}
|
||||
|
||||
final boolean skillSuccess = _staticChance ? Formulas.calcProbability(_chance, effector, effected, skill) : (Rnd.get(100) < _chance);
|
||||
if (skillSuccess)
|
||||
if (skillSuccess && effected.isCastingNow())
|
||||
{
|
||||
effected.breakCast();
|
||||
effected.abortAllSkillCasters();
|
||||
effected.sendPacket(SystemMessageId.YOUR_CASTING_HAS_BEEN_INTERRUPTED);
|
||||
}
|
||||
|
||||
return super.onActionTime(effector, effected, skill, item);
|
||||
|
@@ -1585,7 +1585,7 @@
|
||||
</effect>
|
||||
<effect name="SkillTurningOverTime">
|
||||
<chance>65</chance>
|
||||
<ticks>3</ticks>
|
||||
<ticks>1</ticks>
|
||||
</effect>
|
||||
</effects>
|
||||
</skill>
|
||||
|
@@ -23,6 +23,7 @@ import org.l2jmobius.gameserver.model.effects.AbstractEffect;
|
||||
import org.l2jmobius.gameserver.model.item.instance.Item;
|
||||
import org.l2jmobius.gameserver.model.skill.Skill;
|
||||
import org.l2jmobius.gameserver.model.stats.Formulas;
|
||||
import org.l2jmobius.gameserver.network.SystemMessageId;
|
||||
|
||||
/**
|
||||
* Skill Turning effect implementation.
|
||||
@@ -48,9 +49,10 @@ public class SkillTurningOverTime extends AbstractEffect
|
||||
}
|
||||
|
||||
final boolean skillSuccess = _staticChance ? Formulas.calcProbability(_chance, effector, effected, skill) : (Rnd.get(100) < _chance);
|
||||
if (skillSuccess)
|
||||
if (skillSuccess && effected.isCastingNow())
|
||||
{
|
||||
effected.breakCast();
|
||||
effected.abortAllSkillCasters();
|
||||
effected.sendPacket(SystemMessageId.YOUR_CASTING_HAS_BEEN_INTERRUPTED);
|
||||
}
|
||||
|
||||
return super.onActionTime(effector, effected, skill, item);
|
||||
|
@@ -1561,7 +1561,7 @@
|
||||
</effect>
|
||||
<effect name="SkillTurningOverTime">
|
||||
<chance>65</chance>
|
||||
<ticks>3</ticks>
|
||||
<ticks>1</ticks>
|
||||
</effect>
|
||||
</effects>
|
||||
</skill>
|
||||
|
@@ -23,6 +23,7 @@ import org.l2jmobius.gameserver.model.effects.AbstractEffect;
|
||||
import org.l2jmobius.gameserver.model.item.instance.Item;
|
||||
import org.l2jmobius.gameserver.model.skill.Skill;
|
||||
import org.l2jmobius.gameserver.model.stats.Formulas;
|
||||
import org.l2jmobius.gameserver.network.SystemMessageId;
|
||||
|
||||
/**
|
||||
* Skill Turning effect implementation.
|
||||
@@ -48,9 +49,10 @@ public class SkillTurningOverTime extends AbstractEffect
|
||||
}
|
||||
|
||||
final boolean skillSuccess = _staticChance ? Formulas.calcProbability(_chance, effector, effected, skill) : (Rnd.get(100) < _chance);
|
||||
if (skillSuccess)
|
||||
if (skillSuccess && effected.isCastingNow())
|
||||
{
|
||||
effected.breakCast();
|
||||
effected.abortAllSkillCasters();
|
||||
effected.sendPacket(SystemMessageId.YOUR_CASTING_HAS_BEEN_INTERRUPTED);
|
||||
}
|
||||
|
||||
return super.onActionTime(effector, effected, skill, item);
|
||||
|
@@ -1581,7 +1581,7 @@
|
||||
</effect>
|
||||
<effect name="SkillTurningOverTime">
|
||||
<chance>65</chance>
|
||||
<ticks>3</ticks>
|
||||
<ticks>1</ticks>
|
||||
</effect>
|
||||
</effects>
|
||||
</skill>
|
||||
|
Reference in New Issue
Block a user