diff --git a/L2J_Mobius_C4_ScionsOfDestiny/dist/game/data/stats/items/6600-6699.xml b/L2J_Mobius_C4_ScionsOfDestiny/dist/game/data/stats/items/6600-6699.xml index d529aeee25..35356efadd 100644 --- a/L2J_Mobius_C4_ScionsOfDestiny/dist/game/data/stats/items/6600-6699.xml +++ b/L2J_Mobius_C4_ScionsOfDestiny/dist/game/data/stats/items/6600-6699.xml @@ -754,7 +754,7 @@ - + @@ -764,8 +764,6 @@ - - diff --git a/L2J_Mobius_C4_ScionsOfDestiny/dist/game/data/stats/skills/3500-3599.xml b/L2J_Mobius_C4_ScionsOfDestiny/dist/game/data/stats/skills/3500-3599.xml index c45cc16611..d6df4a2c78 100644 --- a/L2J_Mobius_C4_ScionsOfDestiny/dist/game/data/stats/skills/3500-3599.xml +++ b/L2J_Mobius_C4_ScionsOfDestiny/dist/game/data/stats/skills/3500-3599.xml @@ -1515,15 +1515,18 @@ - - - - - - - - - + + + + + + + + + + + + diff --git a/L2J_Mobius_C4_ScionsOfDestiny/java/org/l2jmobius/gameserver/model/Effect.java b/L2J_Mobius_C4_ScionsOfDestiny/java/org/l2jmobius/gameserver/model/Effect.java index 3b793c5157..5fbf317384 100644 --- a/L2J_Mobius_C4_ScionsOfDestiny/java/org/l2jmobius/gameserver/model/Effect.java +++ b/L2J_Mobius_C4_ScionsOfDestiny/java/org/l2jmobius/gameserver/model/Effect.java @@ -102,7 +102,8 @@ public abstract class Effect BLOCK_DEBUFF, PREVENT_BUFF, CLAN_GATE, - NEGATE + NEGATE, + HERO_CANCEL } // member _effector is the instance of Creature that cast/used the spell/skill that is causing this effect. Do not confuse with the instance of Creature that is being affected by this effect. diff --git a/L2J_Mobius_C4_ScionsOfDestiny/java/org/l2jmobius/gameserver/model/skill/effects/EffectHeroCancel.java b/L2J_Mobius_C4_ScionsOfDestiny/java/org/l2jmobius/gameserver/model/skill/effects/EffectHeroCancel.java new file mode 100644 index 0000000000..b6bc40e99d --- /dev/null +++ b/L2J_Mobius_C4_ScionsOfDestiny/java/org/l2jmobius/gameserver/model/skill/effects/EffectHeroCancel.java @@ -0,0 +1,87 @@ +/* + * This file is part of the L2J Mobius project. + * + * This program is free software: you can redistribute it and/or modify + * it under the terms of the GNU General Public License as published by + * the Free Software Foundation, either version 3 of the License, or + * (at your option) any later version. + * + * This program is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU + * General Public License for more details. + * + * You should have received a copy of the GNU General Public License + * along with this program. If not, see . + */ +package org.l2jmobius.gameserver.model.skill.effects; + +import org.l2jmobius.commons.util.Rnd; +import org.l2jmobius.gameserver.model.Effect; +import org.l2jmobius.gameserver.model.skill.Env; +import org.l2jmobius.gameserver.model.skill.SkillType; + +/** + * Infinity Spear effect like L2OFF Interlude (lineage2.com 2007 year) + * @author Souverain, OnePaTuBHuK + */ +public class EffectHeroCancel extends Effect +{ + public EffectHeroCancel(final Env env, final EffectTemplate template) + { + super(env, template); + } + + @Override + public EffectType getEffectType() + { + return EffectType.HERO_CANCEL; + } + + @Override + public void onStart() + { + int maxdisp = (int) getSkill().getNegatePower(); + for (Effect e : getEffected().getAllEffects()) + { + switch (e.getEffectType()) + { + case SIGNET_GROUND: + case SIGNET_EFFECT: + { + continue; + } + } + + if ((e.getSkill().getId() != 4082) && (e.getSkill().getId() != 4215) && (e.getSkill().getId() != 5182) && (e.getSkill().getId() != 4515) && (e.getSkill().getId() != 110) && (e.getSkill().getId() != 111) && (e.getSkill().getId() != 1323) && (e.getSkill().getId() != 1325)) + { + if (e.getSkill().getSkillType() == SkillType.BUFF) + { + int rate = 10; + + if (Rnd.get(100) < rate) + { + e.exit(true); + maxdisp--; + if (maxdisp == 0) + { + break; + } + } + } + } + } + } + + @Override + public void onExit() + { + // Do nothing. + } + + @Override + public boolean onActionTime() + { + return false; + } +} diff --git a/L2J_Mobius_C6_Interlude/dist/game/data/stats/items/6600-6699.xml b/L2J_Mobius_C6_Interlude/dist/game/data/stats/items/6600-6699.xml index d529aeee25..35356efadd 100644 --- a/L2J_Mobius_C6_Interlude/dist/game/data/stats/items/6600-6699.xml +++ b/L2J_Mobius_C6_Interlude/dist/game/data/stats/items/6600-6699.xml @@ -754,7 +754,7 @@ - + @@ -764,8 +764,6 @@ - - diff --git a/L2J_Mobius_C6_Interlude/dist/game/data/stats/skills/3500-3599.xml b/L2J_Mobius_C6_Interlude/dist/game/data/stats/skills/3500-3599.xml index c45cc16611..d6df4a2c78 100644 --- a/L2J_Mobius_C6_Interlude/dist/game/data/stats/skills/3500-3599.xml +++ b/L2J_Mobius_C6_Interlude/dist/game/data/stats/skills/3500-3599.xml @@ -1515,15 +1515,18 @@ - - - - - - - - - + + + + + + + + + + + + diff --git a/L2J_Mobius_C6_Interlude/java/org/l2jmobius/gameserver/model/Effect.java b/L2J_Mobius_C6_Interlude/java/org/l2jmobius/gameserver/model/Effect.java index 3b793c5157..5fbf317384 100644 --- a/L2J_Mobius_C6_Interlude/java/org/l2jmobius/gameserver/model/Effect.java +++ b/L2J_Mobius_C6_Interlude/java/org/l2jmobius/gameserver/model/Effect.java @@ -102,7 +102,8 @@ public abstract class Effect BLOCK_DEBUFF, PREVENT_BUFF, CLAN_GATE, - NEGATE + NEGATE, + HERO_CANCEL } // member _effector is the instance of Creature that cast/used the spell/skill that is causing this effect. Do not confuse with the instance of Creature that is being affected by this effect. diff --git a/L2J_Mobius_C6_Interlude/java/org/l2jmobius/gameserver/model/skill/effects/EffectHeroCancel.java b/L2J_Mobius_C6_Interlude/java/org/l2jmobius/gameserver/model/skill/effects/EffectHeroCancel.java new file mode 100644 index 0000000000..b6bc40e99d --- /dev/null +++ b/L2J_Mobius_C6_Interlude/java/org/l2jmobius/gameserver/model/skill/effects/EffectHeroCancel.java @@ -0,0 +1,87 @@ +/* + * This file is part of the L2J Mobius project. + * + * This program is free software: you can redistribute it and/or modify + * it under the terms of the GNU General Public License as published by + * the Free Software Foundation, either version 3 of the License, or + * (at your option) any later version. + * + * This program is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU + * General Public License for more details. + * + * You should have received a copy of the GNU General Public License + * along with this program. If not, see . + */ +package org.l2jmobius.gameserver.model.skill.effects; + +import org.l2jmobius.commons.util.Rnd; +import org.l2jmobius.gameserver.model.Effect; +import org.l2jmobius.gameserver.model.skill.Env; +import org.l2jmobius.gameserver.model.skill.SkillType; + +/** + * Infinity Spear effect like L2OFF Interlude (lineage2.com 2007 year) + * @author Souverain, OnePaTuBHuK + */ +public class EffectHeroCancel extends Effect +{ + public EffectHeroCancel(final Env env, final EffectTemplate template) + { + super(env, template); + } + + @Override + public EffectType getEffectType() + { + return EffectType.HERO_CANCEL; + } + + @Override + public void onStart() + { + int maxdisp = (int) getSkill().getNegatePower(); + for (Effect e : getEffected().getAllEffects()) + { + switch (e.getEffectType()) + { + case SIGNET_GROUND: + case SIGNET_EFFECT: + { + continue; + } + } + + if ((e.getSkill().getId() != 4082) && (e.getSkill().getId() != 4215) && (e.getSkill().getId() != 5182) && (e.getSkill().getId() != 4515) && (e.getSkill().getId() != 110) && (e.getSkill().getId() != 111) && (e.getSkill().getId() != 1323) && (e.getSkill().getId() != 1325)) + { + if (e.getSkill().getSkillType() == SkillType.BUFF) + { + int rate = 10; + + if (Rnd.get(100) < rate) + { + e.exit(true); + maxdisp--; + if (maxdisp == 0) + { + break; + } + } + } + } + } + } + + @Override + public void onExit() + { + // Do nothing. + } + + @Override + public boolean onActionTime() + { + return false; + } +}