From f7338373bb43633de2530c8fca31aaafc35f7d28 Mon Sep 17 00:00:00 2001 From: MobiusDev <8391001+MobiusDevelopment@users.noreply.github.com> Date: Wed, 12 Sep 2018 01:39:20 +0000 Subject: [PATCH] MpVampiricAttack should absorb MP from the damage inflicted. --- .../gameserver/model/actor/L2Character.java | 17 +++++++---------- .../gameserver/model/actor/L2Character.java | 17 +++++++---------- .../gameserver/model/actor/L2Character.java | 17 +++++++---------- .../gameserver/model/actor/L2Character.java | 17 +++++++---------- .../gameserver/model/actor/L2Character.java | 17 +++++++---------- .../gameserver/model/actor/L2Character.java | 17 +++++++---------- .../gameserver/model/actor/L2Character.java | 17 +++++++---------- .../gameserver/model/actor/L2Character.java | 17 +++++++---------- .../gameserver/model/actor/L2Character.java | 17 +++++++---------- .../gameserver/model/actor/L2Character.java | 17 +++++++---------- 10 files changed, 70 insertions(+), 100 deletions(-) diff --git a/L2J_Mobius_1.0_Ertheia/java/com/l2jmobius/gameserver/model/actor/L2Character.java b/L2J_Mobius_1.0_Ertheia/java/com/l2jmobius/gameserver/model/actor/L2Character.java index c4798da7cb..5a8bbe5c25 100644 --- a/L2J_Mobius_1.0_Ertheia/java/com/l2jmobius/gameserver/model/actor/L2Character.java +++ b/L2J_Mobius_1.0_Ertheia/java/com/l2jmobius/gameserver/model/actor/L2Character.java @@ -4376,18 +4376,15 @@ public abstract class L2Character extends L2Object implements ISkillsHolder, IDe } } - // Absorb MP from the damage inflicted. Unconfirmed for skill attacks. - if (skill == null) + // Absorb MP from the damage inflicted. + absorbPercent = _stat.getValue(Stats.ABSORB_MANA_DAMAGE_PERCENT, 0); + if (absorbPercent > 0) { - absorbPercent = _stat.getValue(Stats.ABSORB_MANA_DAMAGE_PERCENT, 0); - if (absorbPercent > 0) + int absorbDamage = (int) Math.min((absorbPercent / 100.) * damage, _stat.getMaxRecoverableMp() - _status.getCurrentMp()); + absorbDamage = Math.min(absorbDamage, (int) target.getCurrentMp()); + if (absorbDamage > 0) { - int absorbDamage = (int) Math.min((absorbPercent / 100.) * damage, _stat.getMaxRecoverableMp() - _status.getCurrentMp()); - absorbDamage = Math.min(absorbDamage, (int) target.getCurrentMp()); - if (absorbDamage > 0) - { - setCurrentMp(_status.getCurrentMp() + absorbDamage); - } + setCurrentMp(_status.getCurrentMp() + absorbDamage); } } diff --git a/L2J_Mobius_2.5_Underground/java/com/l2jmobius/gameserver/model/actor/L2Character.java b/L2J_Mobius_2.5_Underground/java/com/l2jmobius/gameserver/model/actor/L2Character.java index c4798da7cb..5a8bbe5c25 100644 --- a/L2J_Mobius_2.5_Underground/java/com/l2jmobius/gameserver/model/actor/L2Character.java +++ b/L2J_Mobius_2.5_Underground/java/com/l2jmobius/gameserver/model/actor/L2Character.java @@ -4376,18 +4376,15 @@ public abstract class L2Character extends L2Object implements ISkillsHolder, IDe } } - // Absorb MP from the damage inflicted. Unconfirmed for skill attacks. - if (skill == null) + // Absorb MP from the damage inflicted. + absorbPercent = _stat.getValue(Stats.ABSORB_MANA_DAMAGE_PERCENT, 0); + if (absorbPercent > 0) { - absorbPercent = _stat.getValue(Stats.ABSORB_MANA_DAMAGE_PERCENT, 0); - if (absorbPercent > 0) + int absorbDamage = (int) Math.min((absorbPercent / 100.) * damage, _stat.getMaxRecoverableMp() - _status.getCurrentMp()); + absorbDamage = Math.min(absorbDamage, (int) target.getCurrentMp()); + if (absorbDamage > 0) { - int absorbDamage = (int) Math.min((absorbPercent / 100.) * damage, _stat.getMaxRecoverableMp() - _status.getCurrentMp()); - absorbDamage = Math.min(absorbDamage, (int) target.getCurrentMp()); - if (absorbDamage > 0) - { - setCurrentMp(_status.getCurrentMp() + absorbDamage); - } + setCurrentMp(_status.getCurrentMp() + absorbDamage); } } diff --git a/L2J_Mobius_3.0_Helios/java/com/l2jmobius/gameserver/model/actor/L2Character.java b/L2J_Mobius_3.0_Helios/java/com/l2jmobius/gameserver/model/actor/L2Character.java index c4798da7cb..5a8bbe5c25 100644 --- a/L2J_Mobius_3.0_Helios/java/com/l2jmobius/gameserver/model/actor/L2Character.java +++ b/L2J_Mobius_3.0_Helios/java/com/l2jmobius/gameserver/model/actor/L2Character.java @@ -4376,18 +4376,15 @@ public abstract class L2Character extends L2Object implements ISkillsHolder, IDe } } - // Absorb MP from the damage inflicted. Unconfirmed for skill attacks. - if (skill == null) + // Absorb MP from the damage inflicted. + absorbPercent = _stat.getValue(Stats.ABSORB_MANA_DAMAGE_PERCENT, 0); + if (absorbPercent > 0) { - absorbPercent = _stat.getValue(Stats.ABSORB_MANA_DAMAGE_PERCENT, 0); - if (absorbPercent > 0) + int absorbDamage = (int) Math.min((absorbPercent / 100.) * damage, _stat.getMaxRecoverableMp() - _status.getCurrentMp()); + absorbDamage = Math.min(absorbDamage, (int) target.getCurrentMp()); + if (absorbDamage > 0) { - int absorbDamage = (int) Math.min((absorbPercent / 100.) * damage, _stat.getMaxRecoverableMp() - _status.getCurrentMp()); - absorbDamage = Math.min(absorbDamage, (int) target.getCurrentMp()); - if (absorbDamage > 0) - { - setCurrentMp(_status.getCurrentMp() + absorbDamage); - } + setCurrentMp(_status.getCurrentMp() + absorbDamage); } } diff --git a/L2J_Mobius_4.0_GrandCrusade/java/com/l2jmobius/gameserver/model/actor/L2Character.java b/L2J_Mobius_4.0_GrandCrusade/java/com/l2jmobius/gameserver/model/actor/L2Character.java index c4798da7cb..5a8bbe5c25 100644 --- a/L2J_Mobius_4.0_GrandCrusade/java/com/l2jmobius/gameserver/model/actor/L2Character.java +++ b/L2J_Mobius_4.0_GrandCrusade/java/com/l2jmobius/gameserver/model/actor/L2Character.java @@ -4376,18 +4376,15 @@ public abstract class L2Character extends L2Object implements ISkillsHolder, IDe } } - // Absorb MP from the damage inflicted. Unconfirmed for skill attacks. - if (skill == null) + // Absorb MP from the damage inflicted. + absorbPercent = _stat.getValue(Stats.ABSORB_MANA_DAMAGE_PERCENT, 0); + if (absorbPercent > 0) { - absorbPercent = _stat.getValue(Stats.ABSORB_MANA_DAMAGE_PERCENT, 0); - if (absorbPercent > 0) + int absorbDamage = (int) Math.min((absorbPercent / 100.) * damage, _stat.getMaxRecoverableMp() - _status.getCurrentMp()); + absorbDamage = Math.min(absorbDamage, (int) target.getCurrentMp()); + if (absorbDamage > 0) { - int absorbDamage = (int) Math.min((absorbPercent / 100.) * damage, _stat.getMaxRecoverableMp() - _status.getCurrentMp()); - absorbDamage = Math.min(absorbDamage, (int) target.getCurrentMp()); - if (absorbDamage > 0) - { - setCurrentMp(_status.getCurrentMp() + absorbDamage); - } + setCurrentMp(_status.getCurrentMp() + absorbDamage); } } diff --git a/L2J_Mobius_5.0_Salvation/java/com/l2jmobius/gameserver/model/actor/L2Character.java b/L2J_Mobius_5.0_Salvation/java/com/l2jmobius/gameserver/model/actor/L2Character.java index c4798da7cb..5a8bbe5c25 100644 --- a/L2J_Mobius_5.0_Salvation/java/com/l2jmobius/gameserver/model/actor/L2Character.java +++ b/L2J_Mobius_5.0_Salvation/java/com/l2jmobius/gameserver/model/actor/L2Character.java @@ -4376,18 +4376,15 @@ public abstract class L2Character extends L2Object implements ISkillsHolder, IDe } } - // Absorb MP from the damage inflicted. Unconfirmed for skill attacks. - if (skill == null) + // Absorb MP from the damage inflicted. + absorbPercent = _stat.getValue(Stats.ABSORB_MANA_DAMAGE_PERCENT, 0); + if (absorbPercent > 0) { - absorbPercent = _stat.getValue(Stats.ABSORB_MANA_DAMAGE_PERCENT, 0); - if (absorbPercent > 0) + int absorbDamage = (int) Math.min((absorbPercent / 100.) * damage, _stat.getMaxRecoverableMp() - _status.getCurrentMp()); + absorbDamage = Math.min(absorbDamage, (int) target.getCurrentMp()); + if (absorbDamage > 0) { - int absorbDamage = (int) Math.min((absorbPercent / 100.) * damage, _stat.getMaxRecoverableMp() - _status.getCurrentMp()); - absorbDamage = Math.min(absorbDamage, (int) target.getCurrentMp()); - if (absorbDamage > 0) - { - setCurrentMp(_status.getCurrentMp() + absorbDamage); - } + setCurrentMp(_status.getCurrentMp() + absorbDamage); } } diff --git a/L2J_Mobius_5.5_EtinasFate/java/com/l2jmobius/gameserver/model/actor/L2Character.java b/L2J_Mobius_5.5_EtinasFate/java/com/l2jmobius/gameserver/model/actor/L2Character.java index c4798da7cb..5a8bbe5c25 100644 --- a/L2J_Mobius_5.5_EtinasFate/java/com/l2jmobius/gameserver/model/actor/L2Character.java +++ b/L2J_Mobius_5.5_EtinasFate/java/com/l2jmobius/gameserver/model/actor/L2Character.java @@ -4376,18 +4376,15 @@ public abstract class L2Character extends L2Object implements ISkillsHolder, IDe } } - // Absorb MP from the damage inflicted. Unconfirmed for skill attacks. - if (skill == null) + // Absorb MP from the damage inflicted. + absorbPercent = _stat.getValue(Stats.ABSORB_MANA_DAMAGE_PERCENT, 0); + if (absorbPercent > 0) { - absorbPercent = _stat.getValue(Stats.ABSORB_MANA_DAMAGE_PERCENT, 0); - if (absorbPercent > 0) + int absorbDamage = (int) Math.min((absorbPercent / 100.) * damage, _stat.getMaxRecoverableMp() - _status.getCurrentMp()); + absorbDamage = Math.min(absorbDamage, (int) target.getCurrentMp()); + if (absorbDamage > 0) { - int absorbDamage = (int) Math.min((absorbPercent / 100.) * damage, _stat.getMaxRecoverableMp() - _status.getCurrentMp()); - absorbDamage = Math.min(absorbDamage, (int) target.getCurrentMp()); - if (absorbDamage > 0) - { - setCurrentMp(_status.getCurrentMp() + absorbDamage); - } + setCurrentMp(_status.getCurrentMp() + absorbDamage); } } diff --git a/L2J_Mobius_Classic_2.0_Saviors/java/com/l2jmobius/gameserver/model/actor/L2Character.java b/L2J_Mobius_Classic_2.0_Saviors/java/com/l2jmobius/gameserver/model/actor/L2Character.java index eed9247d7e..f3169cde8b 100644 --- a/L2J_Mobius_Classic_2.0_Saviors/java/com/l2jmobius/gameserver/model/actor/L2Character.java +++ b/L2J_Mobius_Classic_2.0_Saviors/java/com/l2jmobius/gameserver/model/actor/L2Character.java @@ -4366,18 +4366,15 @@ public abstract class L2Character extends L2Object implements ISkillsHolder, IDe } } - // Absorb MP from the damage inflicted. Unconfirmed for skill attacks. - if (skill == null) + // Absorb MP from the damage inflicted. + absorbPercent = _stat.getValue(Stats.ABSORB_MANA_DAMAGE_PERCENT, 0); + if (absorbPercent > 0) { - absorbPercent = _stat.getValue(Stats.ABSORB_MANA_DAMAGE_PERCENT, 0); - if (absorbPercent > 0) + int absorbDamage = (int) Math.min((absorbPercent / 100.) * damage, _stat.getMaxRecoverableMp() - _status.getCurrentMp()); + absorbDamage = Math.min(absorbDamage, (int) target.getCurrentMp()); + if (absorbDamage > 0) { - int absorbDamage = (int) Math.min((absorbPercent / 100.) * damage, _stat.getMaxRecoverableMp() - _status.getCurrentMp()); - absorbDamage = Math.min(absorbDamage, (int) target.getCurrentMp()); - if (absorbDamage > 0) - { - setCurrentMp(_status.getCurrentMp() + absorbDamage); - } + setCurrentMp(_status.getCurrentMp() + absorbDamage); } } diff --git a/L2J_Mobius_Classic_2.1_Zaken/java/com/l2jmobius/gameserver/model/actor/L2Character.java b/L2J_Mobius_Classic_2.1_Zaken/java/com/l2jmobius/gameserver/model/actor/L2Character.java index eed9247d7e..f3169cde8b 100644 --- a/L2J_Mobius_Classic_2.1_Zaken/java/com/l2jmobius/gameserver/model/actor/L2Character.java +++ b/L2J_Mobius_Classic_2.1_Zaken/java/com/l2jmobius/gameserver/model/actor/L2Character.java @@ -4366,18 +4366,15 @@ public abstract class L2Character extends L2Object implements ISkillsHolder, IDe } } - // Absorb MP from the damage inflicted. Unconfirmed for skill attacks. - if (skill == null) + // Absorb MP from the damage inflicted. + absorbPercent = _stat.getValue(Stats.ABSORB_MANA_DAMAGE_PERCENT, 0); + if (absorbPercent > 0) { - absorbPercent = _stat.getValue(Stats.ABSORB_MANA_DAMAGE_PERCENT, 0); - if (absorbPercent > 0) + int absorbDamage = (int) Math.min((absorbPercent / 100.) * damage, _stat.getMaxRecoverableMp() - _status.getCurrentMp()); + absorbDamage = Math.min(absorbDamage, (int) target.getCurrentMp()); + if (absorbDamage > 0) { - int absorbDamage = (int) Math.min((absorbPercent / 100.) * damage, _stat.getMaxRecoverableMp() - _status.getCurrentMp()); - absorbDamage = Math.min(absorbDamage, (int) target.getCurrentMp()); - if (absorbDamage > 0) - { - setCurrentMp(_status.getCurrentMp() + absorbDamage); - } + setCurrentMp(_status.getCurrentMp() + absorbDamage); } } diff --git a/L2J_Mobius_Classic_2.2_Antharas/java/com/l2jmobius/gameserver/model/actor/L2Character.java b/L2J_Mobius_Classic_2.2_Antharas/java/com/l2jmobius/gameserver/model/actor/L2Character.java index eed9247d7e..f3169cde8b 100644 --- a/L2J_Mobius_Classic_2.2_Antharas/java/com/l2jmobius/gameserver/model/actor/L2Character.java +++ b/L2J_Mobius_Classic_2.2_Antharas/java/com/l2jmobius/gameserver/model/actor/L2Character.java @@ -4366,18 +4366,15 @@ public abstract class L2Character extends L2Object implements ISkillsHolder, IDe } } - // Absorb MP from the damage inflicted. Unconfirmed for skill attacks. - if (skill == null) + // Absorb MP from the damage inflicted. + absorbPercent = _stat.getValue(Stats.ABSORB_MANA_DAMAGE_PERCENT, 0); + if (absorbPercent > 0) { - absorbPercent = _stat.getValue(Stats.ABSORB_MANA_DAMAGE_PERCENT, 0); - if (absorbPercent > 0) + int absorbDamage = (int) Math.min((absorbPercent / 100.) * damage, _stat.getMaxRecoverableMp() - _status.getCurrentMp()); + absorbDamage = Math.min(absorbDamage, (int) target.getCurrentMp()); + if (absorbDamage > 0) { - int absorbDamage = (int) Math.min((absorbPercent / 100.) * damage, _stat.getMaxRecoverableMp() - _status.getCurrentMp()); - absorbDamage = Math.min(absorbDamage, (int) target.getCurrentMp()); - if (absorbDamage > 0) - { - setCurrentMp(_status.getCurrentMp() + absorbDamage); - } + setCurrentMp(_status.getCurrentMp() + absorbDamage); } } diff --git a/L2J_Mobius_Classic_2.3_SevenSigns/java/com/l2jmobius/gameserver/model/actor/L2Character.java b/L2J_Mobius_Classic_2.3_SevenSigns/java/com/l2jmobius/gameserver/model/actor/L2Character.java index eed9247d7e..f3169cde8b 100644 --- a/L2J_Mobius_Classic_2.3_SevenSigns/java/com/l2jmobius/gameserver/model/actor/L2Character.java +++ b/L2J_Mobius_Classic_2.3_SevenSigns/java/com/l2jmobius/gameserver/model/actor/L2Character.java @@ -4366,18 +4366,15 @@ public abstract class L2Character extends L2Object implements ISkillsHolder, IDe } } - // Absorb MP from the damage inflicted. Unconfirmed for skill attacks. - if (skill == null) + // Absorb MP from the damage inflicted. + absorbPercent = _stat.getValue(Stats.ABSORB_MANA_DAMAGE_PERCENT, 0); + if (absorbPercent > 0) { - absorbPercent = _stat.getValue(Stats.ABSORB_MANA_DAMAGE_PERCENT, 0); - if (absorbPercent > 0) + int absorbDamage = (int) Math.min((absorbPercent / 100.) * damage, _stat.getMaxRecoverableMp() - _status.getCurrentMp()); + absorbDamage = Math.min(absorbDamage, (int) target.getCurrentMp()); + if (absorbDamage > 0) { - int absorbDamage = (int) Math.min((absorbPercent / 100.) * damage, _stat.getMaxRecoverableMp() - _status.getCurrentMp()); - absorbDamage = Math.min(absorbDamage, (int) target.getCurrentMp()); - if (absorbDamage > 0) - { - setCurrentMp(_status.getCurrentMp() + absorbDamage); - } + setCurrentMp(_status.getCurrentMp() + absorbDamage); } }