From 394d9d9a4ee93079a8ee9cc5d0c959a5f1239559 Mon Sep 17 00:00:00 2001 From: MobiusDevelopment <8391001+MobiusDevelopment@users.noreply.github.com> Date: Sat, 20 Aug 2022 21:44:57 +0000 Subject: [PATCH] VampiricDefence formula adjustments. Contributed by nasseka. --- .../effecthandlers/VampiricDefence.java | 17 +++-------------- .../gameserver/model/actor/Creature.java | 3 ++- .../effecthandlers/VampiricDefence.java | 17 +++-------------- .../gameserver/model/actor/Creature.java | 3 ++- .../effecthandlers/VampiricDefence.java | 17 +++-------------- .../gameserver/model/actor/Creature.java | 3 ++- .../effecthandlers/VampiricDefence.java | 17 +++-------------- .../gameserver/model/actor/Creature.java | 3 ++- .../effecthandlers/VampiricDefence.java | 17 +++-------------- .../gameserver/model/actor/Creature.java | 3 ++- .../effecthandlers/VampiricDefence.java | 17 +++-------------- .../gameserver/model/actor/Creature.java | 3 ++- .../effecthandlers/VampiricDefence.java | 17 +++-------------- .../gameserver/model/actor/Creature.java | 3 ++- .../effecthandlers/VampiricDefence.java | 17 +++-------------- .../gameserver/model/actor/Creature.java | 3 ++- .../effecthandlers/VampiricDefence.java | 17 +++-------------- .../gameserver/model/actor/Creature.java | 3 ++- .../effecthandlers/VampiricDefence.java | 17 +++-------------- .../gameserver/model/actor/Creature.java | 3 ++- .../effecthandlers/VampiricDefence.java | 17 +++-------------- .../gameserver/model/actor/Creature.java | 3 ++- .../effecthandlers/VampiricDefence.java | 17 +++-------------- .../gameserver/model/actor/Creature.java | 3 ++- .../effecthandlers/VampiricDefence.java | 17 +++-------------- .../gameserver/model/actor/Creature.java | 3 ++- .../effecthandlers/VampiricDefence.java | 17 +++-------------- .../gameserver/model/actor/Creature.java | 3 ++- .../effecthandlers/VampiricDefence.java | 17 +++-------------- .../gameserver/model/actor/Creature.java | 3 ++- .../effecthandlers/VampiricDefence.java | 17 +++-------------- .../gameserver/model/actor/Creature.java | 3 ++- .../effecthandlers/VampiricDefence.java | 17 +++-------------- .../gameserver/model/actor/Creature.java | 3 ++- .../effecthandlers/VampiricDefence.java | 17 +++-------------- .../gameserver/model/actor/Creature.java | 3 ++- .../effecthandlers/VampiricDefence.java | 17 +++-------------- .../gameserver/model/actor/Creature.java | 3 ++- .../effecthandlers/VampiricDefence.java | 17 +++-------------- .../gameserver/model/actor/Creature.java | 3 ++- .../effecthandlers/VampiricDefence.java | 17 +++-------------- .../gameserver/model/actor/Creature.java | 3 ++- .../effecthandlers/VampiricDefence.java | 17 +++-------------- .../gameserver/model/actor/Creature.java | 3 ++- .../effecthandlers/VampiricDefence.java | 17 +++-------------- .../gameserver/model/actor/Creature.java | 3 ++- .../effecthandlers/VampiricDefence.java | 17 +++-------------- .../gameserver/model/actor/Creature.java | 3 ++- .../effecthandlers/VampiricDefence.java | 17 +++-------------- .../gameserver/model/actor/Creature.java | 3 ++- 50 files changed, 125 insertions(+), 375 deletions(-) diff --git a/L2J_Mobius_01.0_Ertheia/dist/game/data/scripts/handlers/effecthandlers/VampiricDefence.java b/L2J_Mobius_01.0_Ertheia/dist/game/data/scripts/handlers/effecthandlers/VampiricDefence.java index 92903c9292..53bbe6c825 100644 --- a/L2J_Mobius_01.0_Ertheia/dist/game/data/scripts/handlers/effecthandlers/VampiricDefence.java +++ b/L2J_Mobius_01.0_Ertheia/dist/game/data/scripts/handlers/effecthandlers/VampiricDefence.java @@ -17,26 +17,15 @@ package handlers.effecthandlers; import org.l2jmobius.gameserver.model.StatSet; -import org.l2jmobius.gameserver.model.actor.Creature; -import org.l2jmobius.gameserver.model.effects.AbstractEffect; -import org.l2jmobius.gameserver.model.skill.Skill; import org.l2jmobius.gameserver.model.stats.Stat; /** - * @author Sdw + * @author NasSeKa */ -public class VampiricDefence extends AbstractEffect +public class VampiricDefence extends AbstractStatPercentEffect { - private final int _amount; - public VampiricDefence(StatSet params) { - _amount = params.getInt("amount", 0); - } - - @Override - public void pump(Creature effected, Skill skill) - { - effected.getStat().mergeAdd(Stat.ABSORB_DAMAGE_DEFENCE, 1 - (_amount / 100)); + super(params, Stat.ABSORB_DAMAGE_DEFENCE); } } diff --git a/L2J_Mobius_01.0_Ertheia/java/org/l2jmobius/gameserver/model/actor/Creature.java b/L2J_Mobius_01.0_Ertheia/java/org/l2jmobius/gameserver/model/actor/Creature.java index c3e1e638b5..24419c662c 100644 --- a/L2J_Mobius_01.0_Ertheia/java/org/l2jmobius/gameserver/model/actor/Creature.java +++ b/L2J_Mobius_01.0_Ertheia/java/org/l2jmobius/gameserver/model/actor/Creature.java @@ -4664,11 +4664,12 @@ public abstract class Creature extends WorldObject implements ISkillsHolder, IDe { if ((skill == null) || Config.VAMPIRIC_ATTACK_WORKS_WITH_SKILLS) { - final double absorbHpPercent = getStat().getValue(Stat.ABSORB_DAMAGE_PERCENT, 0) * target.getStat().getValue(Stat.ABSORB_DAMAGE_DEFENCE, 1); + final double absorbHpPercent = getStat().getValue(Stat.ABSORB_DAMAGE_PERCENT, 0); if ((absorbHpPercent > 0) && (Rnd.nextDouble() < _stat.getValue(Stat.ABSORB_DAMAGE_CHANCE))) { int absorbDamage = (int) Math.min(absorbHpPercent * damage, _stat.getMaxRecoverableHp() - _status.getCurrentHp()); absorbDamage = Math.min(absorbDamage, (int) target.getCurrentHp()); + absorbDamage *= target.getStat().getValue(Stat.ABSORB_DAMAGE_DEFENCE, 1); if (absorbDamage > 0) { setCurrentHp(_status.getCurrentHp() + absorbDamage); diff --git a/L2J_Mobius_02.5_Underground/dist/game/data/scripts/handlers/effecthandlers/VampiricDefence.java b/L2J_Mobius_02.5_Underground/dist/game/data/scripts/handlers/effecthandlers/VampiricDefence.java index 92903c9292..53bbe6c825 100644 --- a/L2J_Mobius_02.5_Underground/dist/game/data/scripts/handlers/effecthandlers/VampiricDefence.java +++ b/L2J_Mobius_02.5_Underground/dist/game/data/scripts/handlers/effecthandlers/VampiricDefence.java @@ -17,26 +17,15 @@ package handlers.effecthandlers; import org.l2jmobius.gameserver.model.StatSet; -import org.l2jmobius.gameserver.model.actor.Creature; -import org.l2jmobius.gameserver.model.effects.AbstractEffect; -import org.l2jmobius.gameserver.model.skill.Skill; import org.l2jmobius.gameserver.model.stats.Stat; /** - * @author Sdw + * @author NasSeKa */ -public class VampiricDefence extends AbstractEffect +public class VampiricDefence extends AbstractStatPercentEffect { - private final int _amount; - public VampiricDefence(StatSet params) { - _amount = params.getInt("amount", 0); - } - - @Override - public void pump(Creature effected, Skill skill) - { - effected.getStat().mergeAdd(Stat.ABSORB_DAMAGE_DEFENCE, 1 - (_amount / 100)); + super(params, Stat.ABSORB_DAMAGE_DEFENCE); } } diff --git a/L2J_Mobius_02.5_Underground/java/org/l2jmobius/gameserver/model/actor/Creature.java b/L2J_Mobius_02.5_Underground/java/org/l2jmobius/gameserver/model/actor/Creature.java index c3e1e638b5..24419c662c 100644 --- a/L2J_Mobius_02.5_Underground/java/org/l2jmobius/gameserver/model/actor/Creature.java +++ b/L2J_Mobius_02.5_Underground/java/org/l2jmobius/gameserver/model/actor/Creature.java @@ -4664,11 +4664,12 @@ public abstract class Creature extends WorldObject implements ISkillsHolder, IDe { if ((skill == null) || Config.VAMPIRIC_ATTACK_WORKS_WITH_SKILLS) { - final double absorbHpPercent = getStat().getValue(Stat.ABSORB_DAMAGE_PERCENT, 0) * target.getStat().getValue(Stat.ABSORB_DAMAGE_DEFENCE, 1); + final double absorbHpPercent = getStat().getValue(Stat.ABSORB_DAMAGE_PERCENT, 0); if ((absorbHpPercent > 0) && (Rnd.nextDouble() < _stat.getValue(Stat.ABSORB_DAMAGE_CHANCE))) { int absorbDamage = (int) Math.min(absorbHpPercent * damage, _stat.getMaxRecoverableHp() - _status.getCurrentHp()); absorbDamage = Math.min(absorbDamage, (int) target.getCurrentHp()); + absorbDamage *= target.getStat().getValue(Stat.ABSORB_DAMAGE_DEFENCE, 1); if (absorbDamage > 0) { setCurrentHp(_status.getCurrentHp() + absorbDamage); diff --git a/L2J_Mobius_03.0_Helios/dist/game/data/scripts/handlers/effecthandlers/VampiricDefence.java b/L2J_Mobius_03.0_Helios/dist/game/data/scripts/handlers/effecthandlers/VampiricDefence.java index 92903c9292..53bbe6c825 100644 --- a/L2J_Mobius_03.0_Helios/dist/game/data/scripts/handlers/effecthandlers/VampiricDefence.java +++ b/L2J_Mobius_03.0_Helios/dist/game/data/scripts/handlers/effecthandlers/VampiricDefence.java @@ -17,26 +17,15 @@ package handlers.effecthandlers; import org.l2jmobius.gameserver.model.StatSet; -import org.l2jmobius.gameserver.model.actor.Creature; -import org.l2jmobius.gameserver.model.effects.AbstractEffect; -import org.l2jmobius.gameserver.model.skill.Skill; import org.l2jmobius.gameserver.model.stats.Stat; /** - * @author Sdw + * @author NasSeKa */ -public class VampiricDefence extends AbstractEffect +public class VampiricDefence extends AbstractStatPercentEffect { - private final int _amount; - public VampiricDefence(StatSet params) { - _amount = params.getInt("amount", 0); - } - - @Override - public void pump(Creature effected, Skill skill) - { - effected.getStat().mergeAdd(Stat.ABSORB_DAMAGE_DEFENCE, 1 - (_amount / 100)); + super(params, Stat.ABSORB_DAMAGE_DEFENCE); } } diff --git a/L2J_Mobius_03.0_Helios/java/org/l2jmobius/gameserver/model/actor/Creature.java b/L2J_Mobius_03.0_Helios/java/org/l2jmobius/gameserver/model/actor/Creature.java index c3e1e638b5..24419c662c 100644 --- a/L2J_Mobius_03.0_Helios/java/org/l2jmobius/gameserver/model/actor/Creature.java +++ b/L2J_Mobius_03.0_Helios/java/org/l2jmobius/gameserver/model/actor/Creature.java @@ -4664,11 +4664,12 @@ public abstract class Creature extends WorldObject implements ISkillsHolder, IDe { if ((skill == null) || Config.VAMPIRIC_ATTACK_WORKS_WITH_SKILLS) { - final double absorbHpPercent = getStat().getValue(Stat.ABSORB_DAMAGE_PERCENT, 0) * target.getStat().getValue(Stat.ABSORB_DAMAGE_DEFENCE, 1); + final double absorbHpPercent = getStat().getValue(Stat.ABSORB_DAMAGE_PERCENT, 0); if ((absorbHpPercent > 0) && (Rnd.nextDouble() < _stat.getValue(Stat.ABSORB_DAMAGE_CHANCE))) { int absorbDamage = (int) Math.min(absorbHpPercent * damage, _stat.getMaxRecoverableHp() - _status.getCurrentHp()); absorbDamage = Math.min(absorbDamage, (int) target.getCurrentHp()); + absorbDamage *= target.getStat().getValue(Stat.ABSORB_DAMAGE_DEFENCE, 1); if (absorbDamage > 0) { setCurrentHp(_status.getCurrentHp() + absorbDamage); diff --git a/L2J_Mobius_04.0_GrandCrusade/dist/game/data/scripts/handlers/effecthandlers/VampiricDefence.java b/L2J_Mobius_04.0_GrandCrusade/dist/game/data/scripts/handlers/effecthandlers/VampiricDefence.java index 92903c9292..53bbe6c825 100644 --- a/L2J_Mobius_04.0_GrandCrusade/dist/game/data/scripts/handlers/effecthandlers/VampiricDefence.java +++ b/L2J_Mobius_04.0_GrandCrusade/dist/game/data/scripts/handlers/effecthandlers/VampiricDefence.java @@ -17,26 +17,15 @@ package handlers.effecthandlers; import org.l2jmobius.gameserver.model.StatSet; -import org.l2jmobius.gameserver.model.actor.Creature; -import org.l2jmobius.gameserver.model.effects.AbstractEffect; -import org.l2jmobius.gameserver.model.skill.Skill; import org.l2jmobius.gameserver.model.stats.Stat; /** - * @author Sdw + * @author NasSeKa */ -public class VampiricDefence extends AbstractEffect +public class VampiricDefence extends AbstractStatPercentEffect { - private final int _amount; - public VampiricDefence(StatSet params) { - _amount = params.getInt("amount", 0); - } - - @Override - public void pump(Creature effected, Skill skill) - { - effected.getStat().mergeAdd(Stat.ABSORB_DAMAGE_DEFENCE, 1 - (_amount / 100)); + super(params, Stat.ABSORB_DAMAGE_DEFENCE); } } diff --git a/L2J_Mobius_04.0_GrandCrusade/java/org/l2jmobius/gameserver/model/actor/Creature.java b/L2J_Mobius_04.0_GrandCrusade/java/org/l2jmobius/gameserver/model/actor/Creature.java index c3e1e638b5..24419c662c 100644 --- a/L2J_Mobius_04.0_GrandCrusade/java/org/l2jmobius/gameserver/model/actor/Creature.java +++ b/L2J_Mobius_04.0_GrandCrusade/java/org/l2jmobius/gameserver/model/actor/Creature.java @@ -4664,11 +4664,12 @@ public abstract class Creature extends WorldObject implements ISkillsHolder, IDe { if ((skill == null) || Config.VAMPIRIC_ATTACK_WORKS_WITH_SKILLS) { - final double absorbHpPercent = getStat().getValue(Stat.ABSORB_DAMAGE_PERCENT, 0) * target.getStat().getValue(Stat.ABSORB_DAMAGE_DEFENCE, 1); + final double absorbHpPercent = getStat().getValue(Stat.ABSORB_DAMAGE_PERCENT, 0); if ((absorbHpPercent > 0) && (Rnd.nextDouble() < _stat.getValue(Stat.ABSORB_DAMAGE_CHANCE))) { int absorbDamage = (int) Math.min(absorbHpPercent * damage, _stat.getMaxRecoverableHp() - _status.getCurrentHp()); absorbDamage = Math.min(absorbDamage, (int) target.getCurrentHp()); + absorbDamage *= target.getStat().getValue(Stat.ABSORB_DAMAGE_DEFENCE, 1); if (absorbDamage > 0) { setCurrentHp(_status.getCurrentHp() + absorbDamage); diff --git a/L2J_Mobius_05.0_Salvation/dist/game/data/scripts/handlers/effecthandlers/VampiricDefence.java b/L2J_Mobius_05.0_Salvation/dist/game/data/scripts/handlers/effecthandlers/VampiricDefence.java index 92903c9292..53bbe6c825 100644 --- a/L2J_Mobius_05.0_Salvation/dist/game/data/scripts/handlers/effecthandlers/VampiricDefence.java +++ b/L2J_Mobius_05.0_Salvation/dist/game/data/scripts/handlers/effecthandlers/VampiricDefence.java @@ -17,26 +17,15 @@ package handlers.effecthandlers; import org.l2jmobius.gameserver.model.StatSet; -import org.l2jmobius.gameserver.model.actor.Creature; -import org.l2jmobius.gameserver.model.effects.AbstractEffect; -import org.l2jmobius.gameserver.model.skill.Skill; import org.l2jmobius.gameserver.model.stats.Stat; /** - * @author Sdw + * @author NasSeKa */ -public class VampiricDefence extends AbstractEffect +public class VampiricDefence extends AbstractStatPercentEffect { - private final int _amount; - public VampiricDefence(StatSet params) { - _amount = params.getInt("amount", 0); - } - - @Override - public void pump(Creature effected, Skill skill) - { - effected.getStat().mergeAdd(Stat.ABSORB_DAMAGE_DEFENCE, 1 - (_amount / 100)); + super(params, Stat.ABSORB_DAMAGE_DEFENCE); } } diff --git a/L2J_Mobius_05.0_Salvation/java/org/l2jmobius/gameserver/model/actor/Creature.java b/L2J_Mobius_05.0_Salvation/java/org/l2jmobius/gameserver/model/actor/Creature.java index a0889d3226..c10259ac0a 100644 --- a/L2J_Mobius_05.0_Salvation/java/org/l2jmobius/gameserver/model/actor/Creature.java +++ b/L2J_Mobius_05.0_Salvation/java/org/l2jmobius/gameserver/model/actor/Creature.java @@ -4664,11 +4664,12 @@ public abstract class Creature extends WorldObject implements ISkillsHolder, IDe { if ((skill == null) || Config.VAMPIRIC_ATTACK_WORKS_WITH_SKILLS) { - final double absorbHpPercent = getStat().getValue(Stat.ABSORB_DAMAGE_PERCENT, 0) * target.getStat().getValue(Stat.ABSORB_DAMAGE_DEFENCE, 1); + final double absorbHpPercent = getStat().getValue(Stat.ABSORB_DAMAGE_PERCENT, 0); if ((absorbHpPercent > 0) && (Rnd.nextDouble() < _stat.getValue(Stat.ABSORB_DAMAGE_CHANCE))) { int absorbDamage = (int) Math.min(absorbHpPercent * damage, _stat.getMaxRecoverableHp() - _status.getCurrentHp()); absorbDamage = Math.min(absorbDamage, (int) target.getCurrentHp()); + absorbDamage *= target.getStat().getValue(Stat.ABSORB_DAMAGE_DEFENCE, 1); if (absorbDamage > 0) { setCurrentHp(_status.getCurrentHp() + absorbDamage); diff --git a/L2J_Mobius_05.5_EtinasFate/dist/game/data/scripts/handlers/effecthandlers/VampiricDefence.java b/L2J_Mobius_05.5_EtinasFate/dist/game/data/scripts/handlers/effecthandlers/VampiricDefence.java index 92903c9292..53bbe6c825 100644 --- a/L2J_Mobius_05.5_EtinasFate/dist/game/data/scripts/handlers/effecthandlers/VampiricDefence.java +++ b/L2J_Mobius_05.5_EtinasFate/dist/game/data/scripts/handlers/effecthandlers/VampiricDefence.java @@ -17,26 +17,15 @@ package handlers.effecthandlers; import org.l2jmobius.gameserver.model.StatSet; -import org.l2jmobius.gameserver.model.actor.Creature; -import org.l2jmobius.gameserver.model.effects.AbstractEffect; -import org.l2jmobius.gameserver.model.skill.Skill; import org.l2jmobius.gameserver.model.stats.Stat; /** - * @author Sdw + * @author NasSeKa */ -public class VampiricDefence extends AbstractEffect +public class VampiricDefence extends AbstractStatPercentEffect { - private final int _amount; - public VampiricDefence(StatSet params) { - _amount = params.getInt("amount", 0); - } - - @Override - public void pump(Creature effected, Skill skill) - { - effected.getStat().mergeAdd(Stat.ABSORB_DAMAGE_DEFENCE, 1 - (_amount / 100)); + super(params, Stat.ABSORB_DAMAGE_DEFENCE); } } diff --git a/L2J_Mobius_05.5_EtinasFate/java/org/l2jmobius/gameserver/model/actor/Creature.java b/L2J_Mobius_05.5_EtinasFate/java/org/l2jmobius/gameserver/model/actor/Creature.java index a0889d3226..c10259ac0a 100644 --- a/L2J_Mobius_05.5_EtinasFate/java/org/l2jmobius/gameserver/model/actor/Creature.java +++ b/L2J_Mobius_05.5_EtinasFate/java/org/l2jmobius/gameserver/model/actor/Creature.java @@ -4664,11 +4664,12 @@ public abstract class Creature extends WorldObject implements ISkillsHolder, IDe { if ((skill == null) || Config.VAMPIRIC_ATTACK_WORKS_WITH_SKILLS) { - final double absorbHpPercent = getStat().getValue(Stat.ABSORB_DAMAGE_PERCENT, 0) * target.getStat().getValue(Stat.ABSORB_DAMAGE_DEFENCE, 1); + final double absorbHpPercent = getStat().getValue(Stat.ABSORB_DAMAGE_PERCENT, 0); if ((absorbHpPercent > 0) && (Rnd.nextDouble() < _stat.getValue(Stat.ABSORB_DAMAGE_CHANCE))) { int absorbDamage = (int) Math.min(absorbHpPercent * damage, _stat.getMaxRecoverableHp() - _status.getCurrentHp()); absorbDamage = Math.min(absorbDamage, (int) target.getCurrentHp()); + absorbDamage *= target.getStat().getValue(Stat.ABSORB_DAMAGE_DEFENCE, 1); if (absorbDamage > 0) { setCurrentHp(_status.getCurrentHp() + absorbDamage); diff --git a/L2J_Mobius_06.0_Fafurion/dist/game/data/scripts/handlers/effecthandlers/VampiricDefence.java b/L2J_Mobius_06.0_Fafurion/dist/game/data/scripts/handlers/effecthandlers/VampiricDefence.java index 92903c9292..53bbe6c825 100644 --- a/L2J_Mobius_06.0_Fafurion/dist/game/data/scripts/handlers/effecthandlers/VampiricDefence.java +++ b/L2J_Mobius_06.0_Fafurion/dist/game/data/scripts/handlers/effecthandlers/VampiricDefence.java @@ -17,26 +17,15 @@ package handlers.effecthandlers; import org.l2jmobius.gameserver.model.StatSet; -import org.l2jmobius.gameserver.model.actor.Creature; -import org.l2jmobius.gameserver.model.effects.AbstractEffect; -import org.l2jmobius.gameserver.model.skill.Skill; import org.l2jmobius.gameserver.model.stats.Stat; /** - * @author Sdw + * @author NasSeKa */ -public class VampiricDefence extends AbstractEffect +public class VampiricDefence extends AbstractStatPercentEffect { - private final int _amount; - public VampiricDefence(StatSet params) { - _amount = params.getInt("amount", 0); - } - - @Override - public void pump(Creature effected, Skill skill) - { - effected.getStat().mergeAdd(Stat.ABSORB_DAMAGE_DEFENCE, 1 - (_amount / 100)); + super(params, Stat.ABSORB_DAMAGE_DEFENCE); } } diff --git a/L2J_Mobius_06.0_Fafurion/java/org/l2jmobius/gameserver/model/actor/Creature.java b/L2J_Mobius_06.0_Fafurion/java/org/l2jmobius/gameserver/model/actor/Creature.java index a0889d3226..c10259ac0a 100644 --- a/L2J_Mobius_06.0_Fafurion/java/org/l2jmobius/gameserver/model/actor/Creature.java +++ b/L2J_Mobius_06.0_Fafurion/java/org/l2jmobius/gameserver/model/actor/Creature.java @@ -4664,11 +4664,12 @@ public abstract class Creature extends WorldObject implements ISkillsHolder, IDe { if ((skill == null) || Config.VAMPIRIC_ATTACK_WORKS_WITH_SKILLS) { - final double absorbHpPercent = getStat().getValue(Stat.ABSORB_DAMAGE_PERCENT, 0) * target.getStat().getValue(Stat.ABSORB_DAMAGE_DEFENCE, 1); + final double absorbHpPercent = getStat().getValue(Stat.ABSORB_DAMAGE_PERCENT, 0); if ((absorbHpPercent > 0) && (Rnd.nextDouble() < _stat.getValue(Stat.ABSORB_DAMAGE_CHANCE))) { int absorbDamage = (int) Math.min(absorbHpPercent * damage, _stat.getMaxRecoverableHp() - _status.getCurrentHp()); absorbDamage = Math.min(absorbDamage, (int) target.getCurrentHp()); + absorbDamage *= target.getStat().getValue(Stat.ABSORB_DAMAGE_DEFENCE, 1); if (absorbDamage > 0) { setCurrentHp(_status.getCurrentHp() + absorbDamage); diff --git a/L2J_Mobius_07.0_PreludeOfWar/dist/game/data/scripts/handlers/effecthandlers/VampiricDefence.java b/L2J_Mobius_07.0_PreludeOfWar/dist/game/data/scripts/handlers/effecthandlers/VampiricDefence.java index 92903c9292..53bbe6c825 100644 --- a/L2J_Mobius_07.0_PreludeOfWar/dist/game/data/scripts/handlers/effecthandlers/VampiricDefence.java +++ b/L2J_Mobius_07.0_PreludeOfWar/dist/game/data/scripts/handlers/effecthandlers/VampiricDefence.java @@ -17,26 +17,15 @@ package handlers.effecthandlers; import org.l2jmobius.gameserver.model.StatSet; -import org.l2jmobius.gameserver.model.actor.Creature; -import org.l2jmobius.gameserver.model.effects.AbstractEffect; -import org.l2jmobius.gameserver.model.skill.Skill; import org.l2jmobius.gameserver.model.stats.Stat; /** - * @author Sdw + * @author NasSeKa */ -public class VampiricDefence extends AbstractEffect +public class VampiricDefence extends AbstractStatPercentEffect { - private final int _amount; - public VampiricDefence(StatSet params) { - _amount = params.getInt("amount", 0); - } - - @Override - public void pump(Creature effected, Skill skill) - { - effected.getStat().mergeAdd(Stat.ABSORB_DAMAGE_DEFENCE, 1 - (_amount / 100)); + super(params, Stat.ABSORB_DAMAGE_DEFENCE); } } diff --git a/L2J_Mobius_07.0_PreludeOfWar/java/org/l2jmobius/gameserver/model/actor/Creature.java b/L2J_Mobius_07.0_PreludeOfWar/java/org/l2jmobius/gameserver/model/actor/Creature.java index 747aa0f030..6b3e6c3834 100644 --- a/L2J_Mobius_07.0_PreludeOfWar/java/org/l2jmobius/gameserver/model/actor/Creature.java +++ b/L2J_Mobius_07.0_PreludeOfWar/java/org/l2jmobius/gameserver/model/actor/Creature.java @@ -4663,11 +4663,12 @@ public abstract class Creature extends WorldObject implements ISkillsHolder, IDe { if ((skill == null) || Config.VAMPIRIC_ATTACK_WORKS_WITH_SKILLS) { - final double absorbHpPercent = getStat().getValue(Stat.ABSORB_DAMAGE_PERCENT, 0) * target.getStat().getValue(Stat.ABSORB_DAMAGE_DEFENCE, 1); + final double absorbHpPercent = getStat().getValue(Stat.ABSORB_DAMAGE_PERCENT, 0); if ((absorbHpPercent > 0) && (Rnd.nextDouble() < _stat.getValue(Stat.ABSORB_DAMAGE_CHANCE))) { int absorbDamage = (int) Math.min(absorbHpPercent * damage, _stat.getMaxRecoverableHp() - _status.getCurrentHp()); absorbDamage = Math.min(absorbDamage, (int) target.getCurrentHp()); + absorbDamage *= target.getStat().getValue(Stat.ABSORB_DAMAGE_DEFENCE, 1); if (absorbDamage > 0) { setCurrentHp(_status.getCurrentHp() + absorbDamage); diff --git a/L2J_Mobius_08.2_Homunculus/dist/game/data/scripts/handlers/effecthandlers/VampiricDefence.java b/L2J_Mobius_08.2_Homunculus/dist/game/data/scripts/handlers/effecthandlers/VampiricDefence.java index 92903c9292..53bbe6c825 100644 --- a/L2J_Mobius_08.2_Homunculus/dist/game/data/scripts/handlers/effecthandlers/VampiricDefence.java +++ b/L2J_Mobius_08.2_Homunculus/dist/game/data/scripts/handlers/effecthandlers/VampiricDefence.java @@ -17,26 +17,15 @@ package handlers.effecthandlers; import org.l2jmobius.gameserver.model.StatSet; -import org.l2jmobius.gameserver.model.actor.Creature; -import org.l2jmobius.gameserver.model.effects.AbstractEffect; -import org.l2jmobius.gameserver.model.skill.Skill; import org.l2jmobius.gameserver.model.stats.Stat; /** - * @author Sdw + * @author NasSeKa */ -public class VampiricDefence extends AbstractEffect +public class VampiricDefence extends AbstractStatPercentEffect { - private final int _amount; - public VampiricDefence(StatSet params) { - _amount = params.getInt("amount", 0); - } - - @Override - public void pump(Creature effected, Skill skill) - { - effected.getStat().mergeAdd(Stat.ABSORB_DAMAGE_DEFENCE, 1 - (_amount / 100)); + super(params, Stat.ABSORB_DAMAGE_DEFENCE); } } diff --git a/L2J_Mobius_08.2_Homunculus/java/org/l2jmobius/gameserver/model/actor/Creature.java b/L2J_Mobius_08.2_Homunculus/java/org/l2jmobius/gameserver/model/actor/Creature.java index ba56ef28a5..a54ec12cef 100644 --- a/L2J_Mobius_08.2_Homunculus/java/org/l2jmobius/gameserver/model/actor/Creature.java +++ b/L2J_Mobius_08.2_Homunculus/java/org/l2jmobius/gameserver/model/actor/Creature.java @@ -4663,11 +4663,12 @@ public abstract class Creature extends WorldObject implements ISkillsHolder, IDe { if ((skill == null) || Config.VAMPIRIC_ATTACK_WORKS_WITH_SKILLS) { - final double absorbHpPercent = getStat().getValue(Stat.ABSORB_DAMAGE_PERCENT, 0) * target.getStat().getValue(Stat.ABSORB_DAMAGE_DEFENCE, 1); + final double absorbHpPercent = getStat().getValue(Stat.ABSORB_DAMAGE_PERCENT, 0); if ((absorbHpPercent > 0) && (Rnd.nextDouble() < _stat.getValue(Stat.ABSORB_DAMAGE_CHANCE))) { int absorbDamage = (int) Math.min(absorbHpPercent * damage, _stat.getMaxRecoverableHp() - _status.getCurrentHp()); absorbDamage = Math.min(absorbDamage, (int) target.getCurrentHp()); + absorbDamage *= target.getStat().getValue(Stat.ABSORB_DAMAGE_DEFENCE, 1); if (absorbDamage > 0) { setCurrentHp(_status.getCurrentHp() + absorbDamage); diff --git a/L2J_Mobius_09.2_ReturnOfTheQueenAnt/dist/game/data/scripts/handlers/effecthandlers/VampiricDefence.java b/L2J_Mobius_09.2_ReturnOfTheQueenAnt/dist/game/data/scripts/handlers/effecthandlers/VampiricDefence.java index 92903c9292..53bbe6c825 100644 --- a/L2J_Mobius_09.2_ReturnOfTheQueenAnt/dist/game/data/scripts/handlers/effecthandlers/VampiricDefence.java +++ b/L2J_Mobius_09.2_ReturnOfTheQueenAnt/dist/game/data/scripts/handlers/effecthandlers/VampiricDefence.java @@ -17,26 +17,15 @@ package handlers.effecthandlers; import org.l2jmobius.gameserver.model.StatSet; -import org.l2jmobius.gameserver.model.actor.Creature; -import org.l2jmobius.gameserver.model.effects.AbstractEffect; -import org.l2jmobius.gameserver.model.skill.Skill; import org.l2jmobius.gameserver.model.stats.Stat; /** - * @author Sdw + * @author NasSeKa */ -public class VampiricDefence extends AbstractEffect +public class VampiricDefence extends AbstractStatPercentEffect { - private final int _amount; - public VampiricDefence(StatSet params) { - _amount = params.getInt("amount", 0); - } - - @Override - public void pump(Creature effected, Skill skill) - { - effected.getStat().mergeAdd(Stat.ABSORB_DAMAGE_DEFENCE, 1 - (_amount / 100)); + super(params, Stat.ABSORB_DAMAGE_DEFENCE); } } diff --git a/L2J_Mobius_09.2_ReturnOfTheQueenAnt/java/org/l2jmobius/gameserver/model/actor/Creature.java b/L2J_Mobius_09.2_ReturnOfTheQueenAnt/java/org/l2jmobius/gameserver/model/actor/Creature.java index ba56ef28a5..a54ec12cef 100644 --- a/L2J_Mobius_09.2_ReturnOfTheQueenAnt/java/org/l2jmobius/gameserver/model/actor/Creature.java +++ b/L2J_Mobius_09.2_ReturnOfTheQueenAnt/java/org/l2jmobius/gameserver/model/actor/Creature.java @@ -4663,11 +4663,12 @@ public abstract class Creature extends WorldObject implements ISkillsHolder, IDe { if ((skill == null) || Config.VAMPIRIC_ATTACK_WORKS_WITH_SKILLS) { - final double absorbHpPercent = getStat().getValue(Stat.ABSORB_DAMAGE_PERCENT, 0) * target.getStat().getValue(Stat.ABSORB_DAMAGE_DEFENCE, 1); + final double absorbHpPercent = getStat().getValue(Stat.ABSORB_DAMAGE_PERCENT, 0); if ((absorbHpPercent > 0) && (Rnd.nextDouble() < _stat.getValue(Stat.ABSORB_DAMAGE_CHANCE))) { int absorbDamage = (int) Math.min(absorbHpPercent * damage, _stat.getMaxRecoverableHp() - _status.getCurrentHp()); absorbDamage = Math.min(absorbDamage, (int) target.getCurrentHp()); + absorbDamage *= target.getStat().getValue(Stat.ABSORB_DAMAGE_DEFENCE, 1); if (absorbDamage > 0) { setCurrentHp(_status.getCurrentHp() + absorbDamage); diff --git a/L2J_Mobius_10.1_MasterClass/dist/game/data/scripts/handlers/effecthandlers/VampiricDefence.java b/L2J_Mobius_10.1_MasterClass/dist/game/data/scripts/handlers/effecthandlers/VampiricDefence.java index 92903c9292..53bbe6c825 100644 --- a/L2J_Mobius_10.1_MasterClass/dist/game/data/scripts/handlers/effecthandlers/VampiricDefence.java +++ b/L2J_Mobius_10.1_MasterClass/dist/game/data/scripts/handlers/effecthandlers/VampiricDefence.java @@ -17,26 +17,15 @@ package handlers.effecthandlers; import org.l2jmobius.gameserver.model.StatSet; -import org.l2jmobius.gameserver.model.actor.Creature; -import org.l2jmobius.gameserver.model.effects.AbstractEffect; -import org.l2jmobius.gameserver.model.skill.Skill; import org.l2jmobius.gameserver.model.stats.Stat; /** - * @author Sdw + * @author NasSeKa */ -public class VampiricDefence extends AbstractEffect +public class VampiricDefence extends AbstractStatPercentEffect { - private final int _amount; - public VampiricDefence(StatSet params) { - _amount = params.getInt("amount", 0); - } - - @Override - public void pump(Creature effected, Skill skill) - { - effected.getStat().mergeAdd(Stat.ABSORB_DAMAGE_DEFENCE, 1 - (_amount / 100)); + super(params, Stat.ABSORB_DAMAGE_DEFENCE); } } diff --git a/L2J_Mobius_10.1_MasterClass/java/org/l2jmobius/gameserver/model/actor/Creature.java b/L2J_Mobius_10.1_MasterClass/java/org/l2jmobius/gameserver/model/actor/Creature.java index d4c9d007d8..96bb89754a 100644 --- a/L2J_Mobius_10.1_MasterClass/java/org/l2jmobius/gameserver/model/actor/Creature.java +++ b/L2J_Mobius_10.1_MasterClass/java/org/l2jmobius/gameserver/model/actor/Creature.java @@ -4662,11 +4662,12 @@ public abstract class Creature extends WorldObject implements ISkillsHolder, IDe { if ((skill == null) || Config.VAMPIRIC_ATTACK_WORKS_WITH_SKILLS) { - final double absorbHpPercent = getStat().getValue(Stat.ABSORB_DAMAGE_PERCENT, 0) * target.getStat().getValue(Stat.ABSORB_DAMAGE_DEFENCE, 1); + final double absorbHpPercent = getStat().getValue(Stat.ABSORB_DAMAGE_PERCENT, 0); if ((absorbHpPercent > 0) && (Rnd.nextDouble() < _stat.getValue(Stat.ABSORB_DAMAGE_CHANCE))) { int absorbDamage = (int) Math.min(absorbHpPercent * damage, _stat.getMaxRecoverableHp() - _status.getCurrentHp()); absorbDamage = Math.min(absorbDamage, (int) target.getCurrentHp()); + absorbDamage *= target.getStat().getValue(Stat.ABSORB_DAMAGE_DEFENCE, 1); if (absorbDamage > 0) { setCurrentHp(_status.getCurrentHp() + absorbDamage); diff --git a/L2J_Mobius_10.2_MasterClass/dist/game/data/scripts/handlers/effecthandlers/VampiricDefence.java b/L2J_Mobius_10.2_MasterClass/dist/game/data/scripts/handlers/effecthandlers/VampiricDefence.java index 92903c9292..53bbe6c825 100644 --- a/L2J_Mobius_10.2_MasterClass/dist/game/data/scripts/handlers/effecthandlers/VampiricDefence.java +++ b/L2J_Mobius_10.2_MasterClass/dist/game/data/scripts/handlers/effecthandlers/VampiricDefence.java @@ -17,26 +17,15 @@ package handlers.effecthandlers; import org.l2jmobius.gameserver.model.StatSet; -import org.l2jmobius.gameserver.model.actor.Creature; -import org.l2jmobius.gameserver.model.effects.AbstractEffect; -import org.l2jmobius.gameserver.model.skill.Skill; import org.l2jmobius.gameserver.model.stats.Stat; /** - * @author Sdw + * @author NasSeKa */ -public class VampiricDefence extends AbstractEffect +public class VampiricDefence extends AbstractStatPercentEffect { - private final int _amount; - public VampiricDefence(StatSet params) { - _amount = params.getInt("amount", 0); - } - - @Override - public void pump(Creature effected, Skill skill) - { - effected.getStat().mergeAdd(Stat.ABSORB_DAMAGE_DEFENCE, 1 - (_amount / 100)); + super(params, Stat.ABSORB_DAMAGE_DEFENCE); } } diff --git a/L2J_Mobius_10.2_MasterClass/java/org/l2jmobius/gameserver/model/actor/Creature.java b/L2J_Mobius_10.2_MasterClass/java/org/l2jmobius/gameserver/model/actor/Creature.java index d4c9d007d8..96bb89754a 100644 --- a/L2J_Mobius_10.2_MasterClass/java/org/l2jmobius/gameserver/model/actor/Creature.java +++ b/L2J_Mobius_10.2_MasterClass/java/org/l2jmobius/gameserver/model/actor/Creature.java @@ -4662,11 +4662,12 @@ public abstract class Creature extends WorldObject implements ISkillsHolder, IDe { if ((skill == null) || Config.VAMPIRIC_ATTACK_WORKS_WITH_SKILLS) { - final double absorbHpPercent = getStat().getValue(Stat.ABSORB_DAMAGE_PERCENT, 0) * target.getStat().getValue(Stat.ABSORB_DAMAGE_DEFENCE, 1); + final double absorbHpPercent = getStat().getValue(Stat.ABSORB_DAMAGE_PERCENT, 0); if ((absorbHpPercent > 0) && (Rnd.nextDouble() < _stat.getValue(Stat.ABSORB_DAMAGE_CHANCE))) { int absorbDamage = (int) Math.min(absorbHpPercent * damage, _stat.getMaxRecoverableHp() - _status.getCurrentHp()); absorbDamage = Math.min(absorbDamage, (int) target.getCurrentHp()); + absorbDamage *= target.getStat().getValue(Stat.ABSORB_DAMAGE_DEFENCE, 1); if (absorbDamage > 0) { setCurrentHp(_status.getCurrentHp() + absorbDamage); diff --git a/L2J_Mobius_Classic_1.0/dist/game/data/scripts/handlers/effecthandlers/VampiricDefence.java b/L2J_Mobius_Classic_1.0/dist/game/data/scripts/handlers/effecthandlers/VampiricDefence.java index 92903c9292..53bbe6c825 100644 --- a/L2J_Mobius_Classic_1.0/dist/game/data/scripts/handlers/effecthandlers/VampiricDefence.java +++ b/L2J_Mobius_Classic_1.0/dist/game/data/scripts/handlers/effecthandlers/VampiricDefence.java @@ -17,26 +17,15 @@ package handlers.effecthandlers; import org.l2jmobius.gameserver.model.StatSet; -import org.l2jmobius.gameserver.model.actor.Creature; -import org.l2jmobius.gameserver.model.effects.AbstractEffect; -import org.l2jmobius.gameserver.model.skill.Skill; import org.l2jmobius.gameserver.model.stats.Stat; /** - * @author Sdw + * @author NasSeKa */ -public class VampiricDefence extends AbstractEffect +public class VampiricDefence extends AbstractStatPercentEffect { - private final int _amount; - public VampiricDefence(StatSet params) { - _amount = params.getInt("amount", 0); - } - - @Override - public void pump(Creature effected, Skill skill) - { - effected.getStat().mergeAdd(Stat.ABSORB_DAMAGE_DEFENCE, 1 - (_amount / 100)); + super(params, Stat.ABSORB_DAMAGE_DEFENCE); } } diff --git a/L2J_Mobius_Classic_1.0/java/org/l2jmobius/gameserver/model/actor/Creature.java b/L2J_Mobius_Classic_1.0/java/org/l2jmobius/gameserver/model/actor/Creature.java index 4c2dcc397c..3de00e599d 100644 --- a/L2J_Mobius_Classic_1.0/java/org/l2jmobius/gameserver/model/actor/Creature.java +++ b/L2J_Mobius_Classic_1.0/java/org/l2jmobius/gameserver/model/actor/Creature.java @@ -4654,11 +4654,12 @@ public abstract class Creature extends WorldObject implements ISkillsHolder, IDe { if ((skill == null) || Config.VAMPIRIC_ATTACK_WORKS_WITH_SKILLS) { - final double absorbHpPercent = getStat().getValue(Stat.ABSORB_DAMAGE_PERCENT, 0) * target.getStat().getValue(Stat.ABSORB_DAMAGE_DEFENCE, 1); + final double absorbHpPercent = getStat().getValue(Stat.ABSORB_DAMAGE_PERCENT, 0); if ((absorbHpPercent > 0) && (Rnd.nextDouble() < _stat.getValue(Stat.ABSORB_DAMAGE_CHANCE))) { int absorbDamage = (int) Math.min(absorbHpPercent * damage, _stat.getMaxRecoverableHp() - _status.getCurrentHp()); absorbDamage = Math.min(absorbDamage, (int) target.getCurrentHp()); + absorbDamage *= target.getStat().getValue(Stat.ABSORB_DAMAGE_DEFENCE, 1); if (absorbDamage > 0) { setCurrentHp(_status.getCurrentHp() + absorbDamage); diff --git a/L2J_Mobius_Classic_1.5_AgeOfSplendor/dist/game/data/scripts/handlers/effecthandlers/VampiricDefence.java b/L2J_Mobius_Classic_1.5_AgeOfSplendor/dist/game/data/scripts/handlers/effecthandlers/VampiricDefence.java index 92903c9292..53bbe6c825 100644 --- a/L2J_Mobius_Classic_1.5_AgeOfSplendor/dist/game/data/scripts/handlers/effecthandlers/VampiricDefence.java +++ b/L2J_Mobius_Classic_1.5_AgeOfSplendor/dist/game/data/scripts/handlers/effecthandlers/VampiricDefence.java @@ -17,26 +17,15 @@ package handlers.effecthandlers; import org.l2jmobius.gameserver.model.StatSet; -import org.l2jmobius.gameserver.model.actor.Creature; -import org.l2jmobius.gameserver.model.effects.AbstractEffect; -import org.l2jmobius.gameserver.model.skill.Skill; import org.l2jmobius.gameserver.model.stats.Stat; /** - * @author Sdw + * @author NasSeKa */ -public class VampiricDefence extends AbstractEffect +public class VampiricDefence extends AbstractStatPercentEffect { - private final int _amount; - public VampiricDefence(StatSet params) { - _amount = params.getInt("amount", 0); - } - - @Override - public void pump(Creature effected, Skill skill) - { - effected.getStat().mergeAdd(Stat.ABSORB_DAMAGE_DEFENCE, 1 - (_amount / 100)); + super(params, Stat.ABSORB_DAMAGE_DEFENCE); } } diff --git a/L2J_Mobius_Classic_1.5_AgeOfSplendor/java/org/l2jmobius/gameserver/model/actor/Creature.java b/L2J_Mobius_Classic_1.5_AgeOfSplendor/java/org/l2jmobius/gameserver/model/actor/Creature.java index 4c2dcc397c..3de00e599d 100644 --- a/L2J_Mobius_Classic_1.5_AgeOfSplendor/java/org/l2jmobius/gameserver/model/actor/Creature.java +++ b/L2J_Mobius_Classic_1.5_AgeOfSplendor/java/org/l2jmobius/gameserver/model/actor/Creature.java @@ -4654,11 +4654,12 @@ public abstract class Creature extends WorldObject implements ISkillsHolder, IDe { if ((skill == null) || Config.VAMPIRIC_ATTACK_WORKS_WITH_SKILLS) { - final double absorbHpPercent = getStat().getValue(Stat.ABSORB_DAMAGE_PERCENT, 0) * target.getStat().getValue(Stat.ABSORB_DAMAGE_DEFENCE, 1); + final double absorbHpPercent = getStat().getValue(Stat.ABSORB_DAMAGE_PERCENT, 0); if ((absorbHpPercent > 0) && (Rnd.nextDouble() < _stat.getValue(Stat.ABSORB_DAMAGE_CHANCE))) { int absorbDamage = (int) Math.min(absorbHpPercent * damage, _stat.getMaxRecoverableHp() - _status.getCurrentHp()); absorbDamage = Math.min(absorbDamage, (int) target.getCurrentHp()); + absorbDamage *= target.getStat().getValue(Stat.ABSORB_DAMAGE_DEFENCE, 1); if (absorbDamage > 0) { setCurrentHp(_status.getCurrentHp() + absorbDamage); diff --git a/L2J_Mobius_Classic_2.0_Saviors/dist/game/data/scripts/handlers/effecthandlers/VampiricDefence.java b/L2J_Mobius_Classic_2.0_Saviors/dist/game/data/scripts/handlers/effecthandlers/VampiricDefence.java index 92903c9292..53bbe6c825 100644 --- a/L2J_Mobius_Classic_2.0_Saviors/dist/game/data/scripts/handlers/effecthandlers/VampiricDefence.java +++ b/L2J_Mobius_Classic_2.0_Saviors/dist/game/data/scripts/handlers/effecthandlers/VampiricDefence.java @@ -17,26 +17,15 @@ package handlers.effecthandlers; import org.l2jmobius.gameserver.model.StatSet; -import org.l2jmobius.gameserver.model.actor.Creature; -import org.l2jmobius.gameserver.model.effects.AbstractEffect; -import org.l2jmobius.gameserver.model.skill.Skill; import org.l2jmobius.gameserver.model.stats.Stat; /** - * @author Sdw + * @author NasSeKa */ -public class VampiricDefence extends AbstractEffect +public class VampiricDefence extends AbstractStatPercentEffect { - private final int _amount; - public VampiricDefence(StatSet params) { - _amount = params.getInt("amount", 0); - } - - @Override - public void pump(Creature effected, Skill skill) - { - effected.getStat().mergeAdd(Stat.ABSORB_DAMAGE_DEFENCE, 1 - (_amount / 100)); + super(params, Stat.ABSORB_DAMAGE_DEFENCE); } } diff --git a/L2J_Mobius_Classic_2.0_Saviors/java/org/l2jmobius/gameserver/model/actor/Creature.java b/L2J_Mobius_Classic_2.0_Saviors/java/org/l2jmobius/gameserver/model/actor/Creature.java index 4c2dcc397c..3de00e599d 100644 --- a/L2J_Mobius_Classic_2.0_Saviors/java/org/l2jmobius/gameserver/model/actor/Creature.java +++ b/L2J_Mobius_Classic_2.0_Saviors/java/org/l2jmobius/gameserver/model/actor/Creature.java @@ -4654,11 +4654,12 @@ public abstract class Creature extends WorldObject implements ISkillsHolder, IDe { if ((skill == null) || Config.VAMPIRIC_ATTACK_WORKS_WITH_SKILLS) { - final double absorbHpPercent = getStat().getValue(Stat.ABSORB_DAMAGE_PERCENT, 0) * target.getStat().getValue(Stat.ABSORB_DAMAGE_DEFENCE, 1); + final double absorbHpPercent = getStat().getValue(Stat.ABSORB_DAMAGE_PERCENT, 0); if ((absorbHpPercent > 0) && (Rnd.nextDouble() < _stat.getValue(Stat.ABSORB_DAMAGE_CHANCE))) { int absorbDamage = (int) Math.min(absorbHpPercent * damage, _stat.getMaxRecoverableHp() - _status.getCurrentHp()); absorbDamage = Math.min(absorbDamage, (int) target.getCurrentHp()); + absorbDamage *= target.getStat().getValue(Stat.ABSORB_DAMAGE_DEFENCE, 1); if (absorbDamage > 0) { setCurrentHp(_status.getCurrentHp() + absorbDamage); diff --git a/L2J_Mobius_Classic_2.5_Zaken/dist/game/data/scripts/handlers/effecthandlers/VampiricDefence.java b/L2J_Mobius_Classic_2.5_Zaken/dist/game/data/scripts/handlers/effecthandlers/VampiricDefence.java index 92903c9292..53bbe6c825 100644 --- a/L2J_Mobius_Classic_2.5_Zaken/dist/game/data/scripts/handlers/effecthandlers/VampiricDefence.java +++ b/L2J_Mobius_Classic_2.5_Zaken/dist/game/data/scripts/handlers/effecthandlers/VampiricDefence.java @@ -17,26 +17,15 @@ package handlers.effecthandlers; import org.l2jmobius.gameserver.model.StatSet; -import org.l2jmobius.gameserver.model.actor.Creature; -import org.l2jmobius.gameserver.model.effects.AbstractEffect; -import org.l2jmobius.gameserver.model.skill.Skill; import org.l2jmobius.gameserver.model.stats.Stat; /** - * @author Sdw + * @author NasSeKa */ -public class VampiricDefence extends AbstractEffect +public class VampiricDefence extends AbstractStatPercentEffect { - private final int _amount; - public VampiricDefence(StatSet params) { - _amount = params.getInt("amount", 0); - } - - @Override - public void pump(Creature effected, Skill skill) - { - effected.getStat().mergeAdd(Stat.ABSORB_DAMAGE_DEFENCE, 1 - (_amount / 100)); + super(params, Stat.ABSORB_DAMAGE_DEFENCE); } } diff --git a/L2J_Mobius_Classic_2.5_Zaken/java/org/l2jmobius/gameserver/model/actor/Creature.java b/L2J_Mobius_Classic_2.5_Zaken/java/org/l2jmobius/gameserver/model/actor/Creature.java index 4c2dcc397c..3de00e599d 100644 --- a/L2J_Mobius_Classic_2.5_Zaken/java/org/l2jmobius/gameserver/model/actor/Creature.java +++ b/L2J_Mobius_Classic_2.5_Zaken/java/org/l2jmobius/gameserver/model/actor/Creature.java @@ -4654,11 +4654,12 @@ public abstract class Creature extends WorldObject implements ISkillsHolder, IDe { if ((skill == null) || Config.VAMPIRIC_ATTACK_WORKS_WITH_SKILLS) { - final double absorbHpPercent = getStat().getValue(Stat.ABSORB_DAMAGE_PERCENT, 0) * target.getStat().getValue(Stat.ABSORB_DAMAGE_DEFENCE, 1); + final double absorbHpPercent = getStat().getValue(Stat.ABSORB_DAMAGE_PERCENT, 0); if ((absorbHpPercent > 0) && (Rnd.nextDouble() < _stat.getValue(Stat.ABSORB_DAMAGE_CHANCE))) { int absorbDamage = (int) Math.min(absorbHpPercent * damage, _stat.getMaxRecoverableHp() - _status.getCurrentHp()); absorbDamage = Math.min(absorbDamage, (int) target.getCurrentHp()); + absorbDamage *= target.getStat().getValue(Stat.ABSORB_DAMAGE_DEFENCE, 1); if (absorbDamage > 0) { setCurrentHp(_status.getCurrentHp() + absorbDamage); diff --git a/L2J_Mobius_Classic_2.7_Antharas/dist/game/data/scripts/handlers/effecthandlers/VampiricDefence.java b/L2J_Mobius_Classic_2.7_Antharas/dist/game/data/scripts/handlers/effecthandlers/VampiricDefence.java index 92903c9292..53bbe6c825 100644 --- a/L2J_Mobius_Classic_2.7_Antharas/dist/game/data/scripts/handlers/effecthandlers/VampiricDefence.java +++ b/L2J_Mobius_Classic_2.7_Antharas/dist/game/data/scripts/handlers/effecthandlers/VampiricDefence.java @@ -17,26 +17,15 @@ package handlers.effecthandlers; import org.l2jmobius.gameserver.model.StatSet; -import org.l2jmobius.gameserver.model.actor.Creature; -import org.l2jmobius.gameserver.model.effects.AbstractEffect; -import org.l2jmobius.gameserver.model.skill.Skill; import org.l2jmobius.gameserver.model.stats.Stat; /** - * @author Sdw + * @author NasSeKa */ -public class VampiricDefence extends AbstractEffect +public class VampiricDefence extends AbstractStatPercentEffect { - private final int _amount; - public VampiricDefence(StatSet params) { - _amount = params.getInt("amount", 0); - } - - @Override - public void pump(Creature effected, Skill skill) - { - effected.getStat().mergeAdd(Stat.ABSORB_DAMAGE_DEFENCE, 1 - (_amount / 100)); + super(params, Stat.ABSORB_DAMAGE_DEFENCE); } } diff --git a/L2J_Mobius_Classic_2.7_Antharas/java/org/l2jmobius/gameserver/model/actor/Creature.java b/L2J_Mobius_Classic_2.7_Antharas/java/org/l2jmobius/gameserver/model/actor/Creature.java index 3efbc2a269..bc221bace5 100644 --- a/L2J_Mobius_Classic_2.7_Antharas/java/org/l2jmobius/gameserver/model/actor/Creature.java +++ b/L2J_Mobius_Classic_2.7_Antharas/java/org/l2jmobius/gameserver/model/actor/Creature.java @@ -4654,11 +4654,12 @@ public abstract class Creature extends WorldObject implements ISkillsHolder, IDe { if ((skill == null) || Config.VAMPIRIC_ATTACK_WORKS_WITH_SKILLS) { - final double absorbHpPercent = getStat().getValue(Stat.ABSORB_DAMAGE_PERCENT, 0) * target.getStat().getValue(Stat.ABSORB_DAMAGE_DEFENCE, 1); + final double absorbHpPercent = getStat().getValue(Stat.ABSORB_DAMAGE_PERCENT, 0); if ((absorbHpPercent > 0) && (Rnd.nextDouble() < _stat.getValue(Stat.ABSORB_DAMAGE_CHANCE))) { int absorbDamage = (int) Math.min(absorbHpPercent * damage, _stat.getMaxRecoverableHp() - _status.getCurrentHp()); absorbDamage = Math.min(absorbDamage, (int) target.getCurrentHp()); + absorbDamage *= target.getStat().getValue(Stat.ABSORB_DAMAGE_DEFENCE, 1); if (absorbDamage > 0) { setCurrentHp(_status.getCurrentHp() + absorbDamage); diff --git a/L2J_Mobius_Classic_2.8_SevenSigns/dist/game/data/scripts/handlers/effecthandlers/VampiricDefence.java b/L2J_Mobius_Classic_2.8_SevenSigns/dist/game/data/scripts/handlers/effecthandlers/VampiricDefence.java index 92903c9292..53bbe6c825 100644 --- a/L2J_Mobius_Classic_2.8_SevenSigns/dist/game/data/scripts/handlers/effecthandlers/VampiricDefence.java +++ b/L2J_Mobius_Classic_2.8_SevenSigns/dist/game/data/scripts/handlers/effecthandlers/VampiricDefence.java @@ -17,26 +17,15 @@ package handlers.effecthandlers; import org.l2jmobius.gameserver.model.StatSet; -import org.l2jmobius.gameserver.model.actor.Creature; -import org.l2jmobius.gameserver.model.effects.AbstractEffect; -import org.l2jmobius.gameserver.model.skill.Skill; import org.l2jmobius.gameserver.model.stats.Stat; /** - * @author Sdw + * @author NasSeKa */ -public class VampiricDefence extends AbstractEffect +public class VampiricDefence extends AbstractStatPercentEffect { - private final int _amount; - public VampiricDefence(StatSet params) { - _amount = params.getInt("amount", 0); - } - - @Override - public void pump(Creature effected, Skill skill) - { - effected.getStat().mergeAdd(Stat.ABSORB_DAMAGE_DEFENCE, 1 - (_amount / 100)); + super(params, Stat.ABSORB_DAMAGE_DEFENCE); } } diff --git a/L2J_Mobius_Classic_2.8_SevenSigns/java/org/l2jmobius/gameserver/model/actor/Creature.java b/L2J_Mobius_Classic_2.8_SevenSigns/java/org/l2jmobius/gameserver/model/actor/Creature.java index c44e8edbee..bf7d343446 100644 --- a/L2J_Mobius_Classic_2.8_SevenSigns/java/org/l2jmobius/gameserver/model/actor/Creature.java +++ b/L2J_Mobius_Classic_2.8_SevenSigns/java/org/l2jmobius/gameserver/model/actor/Creature.java @@ -4667,11 +4667,12 @@ public abstract class Creature extends WorldObject implements ISkillsHolder, IDe { if ((skill == null) || Config.VAMPIRIC_ATTACK_WORKS_WITH_SKILLS) { - final double absorbHpPercent = getStat().getValue(Stat.ABSORB_DAMAGE_PERCENT, 0) * target.getStat().getValue(Stat.ABSORB_DAMAGE_DEFENCE, 1); + final double absorbHpPercent = getStat().getValue(Stat.ABSORB_DAMAGE_PERCENT, 0); if ((absorbHpPercent > 0) && (Rnd.nextDouble() < _stat.getValue(Stat.ABSORB_DAMAGE_CHANCE))) { int absorbDamage = (int) Math.min(absorbHpPercent * damage, _stat.getMaxRecoverableHp() - _status.getCurrentHp()); absorbDamage = Math.min(absorbDamage, (int) target.getCurrentHp()); + absorbDamage *= target.getStat().getValue(Stat.ABSORB_DAMAGE_DEFENCE, 1); if (absorbDamage > 0) { setCurrentHp(_status.getCurrentHp() + absorbDamage); diff --git a/L2J_Mobius_Classic_2.9_SecretOfEmpire/dist/game/data/scripts/handlers/effecthandlers/VampiricDefence.java b/L2J_Mobius_Classic_2.9_SecretOfEmpire/dist/game/data/scripts/handlers/effecthandlers/VampiricDefence.java index 92903c9292..53bbe6c825 100644 --- a/L2J_Mobius_Classic_2.9_SecretOfEmpire/dist/game/data/scripts/handlers/effecthandlers/VampiricDefence.java +++ b/L2J_Mobius_Classic_2.9_SecretOfEmpire/dist/game/data/scripts/handlers/effecthandlers/VampiricDefence.java @@ -17,26 +17,15 @@ package handlers.effecthandlers; import org.l2jmobius.gameserver.model.StatSet; -import org.l2jmobius.gameserver.model.actor.Creature; -import org.l2jmobius.gameserver.model.effects.AbstractEffect; -import org.l2jmobius.gameserver.model.skill.Skill; import org.l2jmobius.gameserver.model.stats.Stat; /** - * @author Sdw + * @author NasSeKa */ -public class VampiricDefence extends AbstractEffect +public class VampiricDefence extends AbstractStatPercentEffect { - private final int _amount; - public VampiricDefence(StatSet params) { - _amount = params.getInt("amount", 0); - } - - @Override - public void pump(Creature effected, Skill skill) - { - effected.getStat().mergeAdd(Stat.ABSORB_DAMAGE_DEFENCE, 1 - (_amount / 100)); + super(params, Stat.ABSORB_DAMAGE_DEFENCE); } } diff --git a/L2J_Mobius_Classic_2.9_SecretOfEmpire/java/org/l2jmobius/gameserver/model/actor/Creature.java b/L2J_Mobius_Classic_2.9_SecretOfEmpire/java/org/l2jmobius/gameserver/model/actor/Creature.java index c44e8edbee..bf7d343446 100644 --- a/L2J_Mobius_Classic_2.9_SecretOfEmpire/java/org/l2jmobius/gameserver/model/actor/Creature.java +++ b/L2J_Mobius_Classic_2.9_SecretOfEmpire/java/org/l2jmobius/gameserver/model/actor/Creature.java @@ -4667,11 +4667,12 @@ public abstract class Creature extends WorldObject implements ISkillsHolder, IDe { if ((skill == null) || Config.VAMPIRIC_ATTACK_WORKS_WITH_SKILLS) { - final double absorbHpPercent = getStat().getValue(Stat.ABSORB_DAMAGE_PERCENT, 0) * target.getStat().getValue(Stat.ABSORB_DAMAGE_DEFENCE, 1); + final double absorbHpPercent = getStat().getValue(Stat.ABSORB_DAMAGE_PERCENT, 0); if ((absorbHpPercent > 0) && (Rnd.nextDouble() < _stat.getValue(Stat.ABSORB_DAMAGE_CHANCE))) { int absorbDamage = (int) Math.min(absorbHpPercent * damage, _stat.getMaxRecoverableHp() - _status.getCurrentHp()); absorbDamage = Math.min(absorbDamage, (int) target.getCurrentHp()); + absorbDamage *= target.getStat().getValue(Stat.ABSORB_DAMAGE_DEFENCE, 1); if (absorbDamage > 0) { setCurrentHp(_status.getCurrentHp() + absorbDamage); diff --git a/L2J_Mobius_Classic_3.0_TheKamael/dist/game/data/scripts/handlers/effecthandlers/VampiricDefence.java b/L2J_Mobius_Classic_3.0_TheKamael/dist/game/data/scripts/handlers/effecthandlers/VampiricDefence.java index 92903c9292..53bbe6c825 100644 --- a/L2J_Mobius_Classic_3.0_TheKamael/dist/game/data/scripts/handlers/effecthandlers/VampiricDefence.java +++ b/L2J_Mobius_Classic_3.0_TheKamael/dist/game/data/scripts/handlers/effecthandlers/VampiricDefence.java @@ -17,26 +17,15 @@ package handlers.effecthandlers; import org.l2jmobius.gameserver.model.StatSet; -import org.l2jmobius.gameserver.model.actor.Creature; -import org.l2jmobius.gameserver.model.effects.AbstractEffect; -import org.l2jmobius.gameserver.model.skill.Skill; import org.l2jmobius.gameserver.model.stats.Stat; /** - * @author Sdw + * @author NasSeKa */ -public class VampiricDefence extends AbstractEffect +public class VampiricDefence extends AbstractStatPercentEffect { - private final int _amount; - public VampiricDefence(StatSet params) { - _amount = params.getInt("amount", 0); - } - - @Override - public void pump(Creature effected, Skill skill) - { - effected.getStat().mergeAdd(Stat.ABSORB_DAMAGE_DEFENCE, 1 - (_amount / 100)); + super(params, Stat.ABSORB_DAMAGE_DEFENCE); } } diff --git a/L2J_Mobius_Classic_3.0_TheKamael/java/org/l2jmobius/gameserver/model/actor/Creature.java b/L2J_Mobius_Classic_3.0_TheKamael/java/org/l2jmobius/gameserver/model/actor/Creature.java index 13acc7e9df..e59ba26696 100644 --- a/L2J_Mobius_Classic_3.0_TheKamael/java/org/l2jmobius/gameserver/model/actor/Creature.java +++ b/L2J_Mobius_Classic_3.0_TheKamael/java/org/l2jmobius/gameserver/model/actor/Creature.java @@ -4666,11 +4666,12 @@ public abstract class Creature extends WorldObject implements ISkillsHolder, IDe { if ((skill == null) || Config.VAMPIRIC_ATTACK_WORKS_WITH_SKILLS) { - final double absorbHpPercent = getStat().getValue(Stat.ABSORB_DAMAGE_PERCENT, 0) * target.getStat().getValue(Stat.ABSORB_DAMAGE_DEFENCE, 1); + final double absorbHpPercent = getStat().getValue(Stat.ABSORB_DAMAGE_PERCENT, 0); if ((absorbHpPercent > 0) && (Rnd.nextDouble() < _stat.getValue(Stat.ABSORB_DAMAGE_CHANCE))) { int absorbDamage = (int) Math.min(absorbHpPercent * damage, _stat.getMaxRecoverableHp() - _status.getCurrentHp()); absorbDamage = Math.min(absorbDamage, (int) target.getCurrentHp()); + absorbDamage *= target.getStat().getValue(Stat.ABSORB_DAMAGE_DEFENCE, 1); if (absorbDamage > 0) { setCurrentHp(_status.getCurrentHp() + absorbDamage); diff --git a/L2J_Mobius_Classic_Interlude/dist/game/data/scripts/handlers/effecthandlers/VampiricDefence.java b/L2J_Mobius_Classic_Interlude/dist/game/data/scripts/handlers/effecthandlers/VampiricDefence.java index 92903c9292..53bbe6c825 100644 --- a/L2J_Mobius_Classic_Interlude/dist/game/data/scripts/handlers/effecthandlers/VampiricDefence.java +++ b/L2J_Mobius_Classic_Interlude/dist/game/data/scripts/handlers/effecthandlers/VampiricDefence.java @@ -17,26 +17,15 @@ package handlers.effecthandlers; import org.l2jmobius.gameserver.model.StatSet; -import org.l2jmobius.gameserver.model.actor.Creature; -import org.l2jmobius.gameserver.model.effects.AbstractEffect; -import org.l2jmobius.gameserver.model.skill.Skill; import org.l2jmobius.gameserver.model.stats.Stat; /** - * @author Sdw + * @author NasSeKa */ -public class VampiricDefence extends AbstractEffect +public class VampiricDefence extends AbstractStatPercentEffect { - private final int _amount; - public VampiricDefence(StatSet params) { - _amount = params.getInt("amount", 0); - } - - @Override - public void pump(Creature effected, Skill skill) - { - effected.getStat().mergeAdd(Stat.ABSORB_DAMAGE_DEFENCE, 1 - (_amount / 100)); + super(params, Stat.ABSORB_DAMAGE_DEFENCE); } } diff --git a/L2J_Mobius_Classic_Interlude/java/org/l2jmobius/gameserver/model/actor/Creature.java b/L2J_Mobius_Classic_Interlude/java/org/l2jmobius/gameserver/model/actor/Creature.java index 4c2dcc397c..3de00e599d 100644 --- a/L2J_Mobius_Classic_Interlude/java/org/l2jmobius/gameserver/model/actor/Creature.java +++ b/L2J_Mobius_Classic_Interlude/java/org/l2jmobius/gameserver/model/actor/Creature.java @@ -4654,11 +4654,12 @@ public abstract class Creature extends WorldObject implements ISkillsHolder, IDe { if ((skill == null) || Config.VAMPIRIC_ATTACK_WORKS_WITH_SKILLS) { - final double absorbHpPercent = getStat().getValue(Stat.ABSORB_DAMAGE_PERCENT, 0) * target.getStat().getValue(Stat.ABSORB_DAMAGE_DEFENCE, 1); + final double absorbHpPercent = getStat().getValue(Stat.ABSORB_DAMAGE_PERCENT, 0); if ((absorbHpPercent > 0) && (Rnd.nextDouble() < _stat.getValue(Stat.ABSORB_DAMAGE_CHANCE))) { int absorbDamage = (int) Math.min(absorbHpPercent * damage, _stat.getMaxRecoverableHp() - _status.getCurrentHp()); absorbDamage = Math.min(absorbDamage, (int) target.getCurrentHp()); + absorbDamage *= target.getStat().getValue(Stat.ABSORB_DAMAGE_DEFENCE, 1); if (absorbDamage > 0) { setCurrentHp(_status.getCurrentHp() + absorbDamage); diff --git a/L2J_Mobius_Essence_4.2_DwellingOfSpirits/dist/game/data/scripts/handlers/effecthandlers/VampiricDefence.java b/L2J_Mobius_Essence_4.2_DwellingOfSpirits/dist/game/data/scripts/handlers/effecthandlers/VampiricDefence.java index 92903c9292..53bbe6c825 100644 --- a/L2J_Mobius_Essence_4.2_DwellingOfSpirits/dist/game/data/scripts/handlers/effecthandlers/VampiricDefence.java +++ b/L2J_Mobius_Essence_4.2_DwellingOfSpirits/dist/game/data/scripts/handlers/effecthandlers/VampiricDefence.java @@ -17,26 +17,15 @@ package handlers.effecthandlers; import org.l2jmobius.gameserver.model.StatSet; -import org.l2jmobius.gameserver.model.actor.Creature; -import org.l2jmobius.gameserver.model.effects.AbstractEffect; -import org.l2jmobius.gameserver.model.skill.Skill; import org.l2jmobius.gameserver.model.stats.Stat; /** - * @author Sdw + * @author NasSeKa */ -public class VampiricDefence extends AbstractEffect +public class VampiricDefence extends AbstractStatPercentEffect { - private final int _amount; - public VampiricDefence(StatSet params) { - _amount = params.getInt("amount", 0); - } - - @Override - public void pump(Creature effected, Skill skill) - { - effected.getStat().mergeAdd(Stat.ABSORB_DAMAGE_DEFENCE, 1 - (_amount / 100)); + super(params, Stat.ABSORB_DAMAGE_DEFENCE); } } diff --git a/L2J_Mobius_Essence_4.2_DwellingOfSpirits/java/org/l2jmobius/gameserver/model/actor/Creature.java b/L2J_Mobius_Essence_4.2_DwellingOfSpirits/java/org/l2jmobius/gameserver/model/actor/Creature.java index 0ad801b510..58161cbc2f 100644 --- a/L2J_Mobius_Essence_4.2_DwellingOfSpirits/java/org/l2jmobius/gameserver/model/actor/Creature.java +++ b/L2J_Mobius_Essence_4.2_DwellingOfSpirits/java/org/l2jmobius/gameserver/model/actor/Creature.java @@ -4679,11 +4679,12 @@ public abstract class Creature extends WorldObject implements ISkillsHolder, IDe { if ((skill == null) || Config.VAMPIRIC_ATTACK_WORKS_WITH_SKILLS) { - final double absorbHpPercent = getStat().getValue(Stat.ABSORB_DAMAGE_PERCENT, 0) * target.getStat().getValue(Stat.ABSORB_DAMAGE_DEFENCE, 1); + final double absorbHpPercent = getStat().getValue(Stat.ABSORB_DAMAGE_PERCENT, 0); if ((absorbHpPercent > 0) && (Rnd.nextDouble() < _stat.getValue(Stat.ABSORB_DAMAGE_CHANCE))) { int absorbDamage = (int) Math.min(absorbHpPercent * damage, _stat.getMaxRecoverableHp() - _status.getCurrentHp()); absorbDamage = Math.min(absorbDamage, (int) target.getCurrentHp()); + absorbDamage *= target.getStat().getValue(Stat.ABSORB_DAMAGE_DEFENCE, 1); if (absorbDamage > 0) { setCurrentHp(_status.getCurrentHp() + absorbDamage); diff --git a/L2J_Mobius_Essence_5.2_FrostLord/dist/game/data/scripts/handlers/effecthandlers/VampiricDefence.java b/L2J_Mobius_Essence_5.2_FrostLord/dist/game/data/scripts/handlers/effecthandlers/VampiricDefence.java index 92903c9292..53bbe6c825 100644 --- a/L2J_Mobius_Essence_5.2_FrostLord/dist/game/data/scripts/handlers/effecthandlers/VampiricDefence.java +++ b/L2J_Mobius_Essence_5.2_FrostLord/dist/game/data/scripts/handlers/effecthandlers/VampiricDefence.java @@ -17,26 +17,15 @@ package handlers.effecthandlers; import org.l2jmobius.gameserver.model.StatSet; -import org.l2jmobius.gameserver.model.actor.Creature; -import org.l2jmobius.gameserver.model.effects.AbstractEffect; -import org.l2jmobius.gameserver.model.skill.Skill; import org.l2jmobius.gameserver.model.stats.Stat; /** - * @author Sdw + * @author NasSeKa */ -public class VampiricDefence extends AbstractEffect +public class VampiricDefence extends AbstractStatPercentEffect { - private final int _amount; - public VampiricDefence(StatSet params) { - _amount = params.getInt("amount", 0); - } - - @Override - public void pump(Creature effected, Skill skill) - { - effected.getStat().mergeAdd(Stat.ABSORB_DAMAGE_DEFENCE, 1 - (_amount / 100)); + super(params, Stat.ABSORB_DAMAGE_DEFENCE); } } diff --git a/L2J_Mobius_Essence_5.2_FrostLord/java/org/l2jmobius/gameserver/model/actor/Creature.java b/L2J_Mobius_Essence_5.2_FrostLord/java/org/l2jmobius/gameserver/model/actor/Creature.java index 87efbf3ca1..745bbb59e8 100644 --- a/L2J_Mobius_Essence_5.2_FrostLord/java/org/l2jmobius/gameserver/model/actor/Creature.java +++ b/L2J_Mobius_Essence_5.2_FrostLord/java/org/l2jmobius/gameserver/model/actor/Creature.java @@ -4686,11 +4686,12 @@ public abstract class Creature extends WorldObject implements ISkillsHolder, IDe { if ((skill == null) || Config.VAMPIRIC_ATTACK_WORKS_WITH_SKILLS) { - final double absorbHpPercent = getStat().getValue(Stat.ABSORB_DAMAGE_PERCENT, 0) * target.getStat().getValue(Stat.ABSORB_DAMAGE_DEFENCE, 1); + final double absorbHpPercent = getStat().getValue(Stat.ABSORB_DAMAGE_PERCENT, 0); if ((absorbHpPercent > 0) && (Rnd.nextDouble() < _stat.getValue(Stat.ABSORB_DAMAGE_CHANCE))) { int absorbDamage = (int) Math.min(absorbHpPercent * damage, _stat.getMaxRecoverableHp() - _status.getCurrentHp()); absorbDamage = Math.min(absorbDamage, (int) target.getCurrentHp()); + absorbDamage *= target.getStat().getValue(Stat.ABSORB_DAMAGE_DEFENCE, 1); if (absorbDamage > 0) { setCurrentHp(_status.getCurrentHp() + absorbDamage); diff --git a/L2J_Mobius_Essence_6.1_BattleChronicle/dist/game/data/scripts/handlers/effecthandlers/VampiricDefence.java b/L2J_Mobius_Essence_6.1_BattleChronicle/dist/game/data/scripts/handlers/effecthandlers/VampiricDefence.java index 92903c9292..53bbe6c825 100644 --- a/L2J_Mobius_Essence_6.1_BattleChronicle/dist/game/data/scripts/handlers/effecthandlers/VampiricDefence.java +++ b/L2J_Mobius_Essence_6.1_BattleChronicle/dist/game/data/scripts/handlers/effecthandlers/VampiricDefence.java @@ -17,26 +17,15 @@ package handlers.effecthandlers; import org.l2jmobius.gameserver.model.StatSet; -import org.l2jmobius.gameserver.model.actor.Creature; -import org.l2jmobius.gameserver.model.effects.AbstractEffect; -import org.l2jmobius.gameserver.model.skill.Skill; import org.l2jmobius.gameserver.model.stats.Stat; /** - * @author Sdw + * @author NasSeKa */ -public class VampiricDefence extends AbstractEffect +public class VampiricDefence extends AbstractStatPercentEffect { - private final int _amount; - public VampiricDefence(StatSet params) { - _amount = params.getInt("amount", 0); - } - - @Override - public void pump(Creature effected, Skill skill) - { - effected.getStat().mergeAdd(Stat.ABSORB_DAMAGE_DEFENCE, 1 - (_amount / 100)); + super(params, Stat.ABSORB_DAMAGE_DEFENCE); } } diff --git a/L2J_Mobius_Essence_6.1_BattleChronicle/java/org/l2jmobius/gameserver/model/actor/Creature.java b/L2J_Mobius_Essence_6.1_BattleChronicle/java/org/l2jmobius/gameserver/model/actor/Creature.java index eed2519c0f..81fcd309d2 100644 --- a/L2J_Mobius_Essence_6.1_BattleChronicle/java/org/l2jmobius/gameserver/model/actor/Creature.java +++ b/L2J_Mobius_Essence_6.1_BattleChronicle/java/org/l2jmobius/gameserver/model/actor/Creature.java @@ -4685,11 +4685,12 @@ public abstract class Creature extends WorldObject implements ISkillsHolder, IDe { if ((skill == null) || Config.VAMPIRIC_ATTACK_WORKS_WITH_SKILLS) { - final double absorbHpPercent = getStat().getValue(Stat.ABSORB_DAMAGE_PERCENT, 0) * target.getStat().getValue(Stat.ABSORB_DAMAGE_DEFENCE, 1); + final double absorbHpPercent = getStat().getValue(Stat.ABSORB_DAMAGE_PERCENT, 0); if ((absorbHpPercent > 0) && (Rnd.nextDouble() < _stat.getValue(Stat.ABSORB_DAMAGE_CHANCE))) { int absorbDamage = (int) Math.min(absorbHpPercent * damage, _stat.getMaxRecoverableHp() - _status.getCurrentHp()); absorbDamage = Math.min(absorbDamage, (int) target.getCurrentHp()); + absorbDamage *= target.getStat().getValue(Stat.ABSORB_DAMAGE_DEFENCE, 1); if (absorbDamage > 0) { setCurrentHp(_status.getCurrentHp() + absorbDamage); diff --git a/L2J_Mobius_Essence_6.2_Vanguard/dist/game/data/scripts/handlers/effecthandlers/VampiricDefence.java b/L2J_Mobius_Essence_6.2_Vanguard/dist/game/data/scripts/handlers/effecthandlers/VampiricDefence.java index 92903c9292..53bbe6c825 100644 --- a/L2J_Mobius_Essence_6.2_Vanguard/dist/game/data/scripts/handlers/effecthandlers/VampiricDefence.java +++ b/L2J_Mobius_Essence_6.2_Vanguard/dist/game/data/scripts/handlers/effecthandlers/VampiricDefence.java @@ -17,26 +17,15 @@ package handlers.effecthandlers; import org.l2jmobius.gameserver.model.StatSet; -import org.l2jmobius.gameserver.model.actor.Creature; -import org.l2jmobius.gameserver.model.effects.AbstractEffect; -import org.l2jmobius.gameserver.model.skill.Skill; import org.l2jmobius.gameserver.model.stats.Stat; /** - * @author Sdw + * @author NasSeKa */ -public class VampiricDefence extends AbstractEffect +public class VampiricDefence extends AbstractStatPercentEffect { - private final int _amount; - public VampiricDefence(StatSet params) { - _amount = params.getInt("amount", 0); - } - - @Override - public void pump(Creature effected, Skill skill) - { - effected.getStat().mergeAdd(Stat.ABSORB_DAMAGE_DEFENCE, 1 - (_amount / 100)); + super(params, Stat.ABSORB_DAMAGE_DEFENCE); } } diff --git a/L2J_Mobius_Essence_6.2_Vanguard/java/org/l2jmobius/gameserver/model/actor/Creature.java b/L2J_Mobius_Essence_6.2_Vanguard/java/org/l2jmobius/gameserver/model/actor/Creature.java index 7fd99d1503..0154ebd771 100644 --- a/L2J_Mobius_Essence_6.2_Vanguard/java/org/l2jmobius/gameserver/model/actor/Creature.java +++ b/L2J_Mobius_Essence_6.2_Vanguard/java/org/l2jmobius/gameserver/model/actor/Creature.java @@ -4695,11 +4695,12 @@ public abstract class Creature extends WorldObject implements ISkillsHolder, IDe { if ((skill == null) || Config.VAMPIRIC_ATTACK_WORKS_WITH_SKILLS) { - final double absorbHpPercent = getStat().getValue(Stat.ABSORB_DAMAGE_PERCENT, 0) * target.getStat().getValue(Stat.ABSORB_DAMAGE_DEFENCE, 1); + final double absorbHpPercent = getStat().getValue(Stat.ABSORB_DAMAGE_PERCENT, 0); if ((absorbHpPercent > 0) && (Rnd.nextDouble() < _stat.getValue(Stat.ABSORB_DAMAGE_CHANCE))) { int absorbDamage = (int) Math.min(absorbHpPercent * damage, _stat.getMaxRecoverableHp() - _status.getCurrentHp()); absorbDamage = Math.min(absorbDamage, (int) target.getCurrentHp()); + absorbDamage *= target.getStat().getValue(Stat.ABSORB_DAMAGE_DEFENCE, 1); if (absorbDamage > 0) { setCurrentHp(_status.getCurrentHp() + absorbDamage);