From e7ceedbb48c78016a8a16360e3ce79e11c4bcc8d Mon Sep 17 00:00:00 2001 From: MobiusDev <8391001+MobiusDevelopment@users.noreply.github.com> Date: Fri, 11 Jan 2019 05:48:43 +0000 Subject: [PATCH] Static 30% change for skill MP consumption. --- .../gameserver/model/actor/L2Character.java | 15 +++++++++------ .../gameserver/model/actor/L2Character.java | 15 +++++++++------ .../gameserver/model/actor/L2Character.java | 15 +++++++++------ .../gameserver/model/actor/L2Character.java | 15 +++++++++------ 4 files changed, 36 insertions(+), 24 deletions(-) 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 c113d294da..180b709acf 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 @@ -4384,14 +4384,17 @@ public abstract class L2Character extends L2Object implements ISkillsHolder, IDe // Absorb MP from the damage inflicted. if (skill != null) // Classic: Used to reduce skill MP consumption. See Orfen's Earring. { - double absorbPercent = _stat.getValue(Stats.ABSORB_MANA_DAMAGE_PERCENT, 0); - if (absorbPercent > 0) + if (Rnd.get(10) < 3) // Classic: Static 30% change. { - int absorbDamage = (int) Math.min((absorbPercent / 100.) * damage, _stat.getMaxRecoverableMp() - _status.getCurrentMp()); - absorbDamage = Math.min(absorbDamage, (int) target.getCurrentMp()); - if (absorbDamage > 0) + double absorbPercent = _stat.getValue(Stats.ABSORB_MANA_DAMAGE_PERCENT, 0); + if (absorbPercent > 0) { - setCurrentMp(_status.getCurrentMp() + absorbDamage); + 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); + } } } } 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 c113d294da..180b709acf 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 @@ -4384,14 +4384,17 @@ public abstract class L2Character extends L2Object implements ISkillsHolder, IDe // Absorb MP from the damage inflicted. if (skill != null) // Classic: Used to reduce skill MP consumption. See Orfen's Earring. { - double absorbPercent = _stat.getValue(Stats.ABSORB_MANA_DAMAGE_PERCENT, 0); - if (absorbPercent > 0) + if (Rnd.get(10) < 3) // Classic: Static 30% change. { - int absorbDamage = (int) Math.min((absorbPercent / 100.) * damage, _stat.getMaxRecoverableMp() - _status.getCurrentMp()); - absorbDamage = Math.min(absorbDamage, (int) target.getCurrentMp()); - if (absorbDamage > 0) + double absorbPercent = _stat.getValue(Stats.ABSORB_MANA_DAMAGE_PERCENT, 0); + if (absorbPercent > 0) { - setCurrentMp(_status.getCurrentMp() + absorbDamage); + 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); + } } } } 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 c113d294da..180b709acf 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 @@ -4384,14 +4384,17 @@ public abstract class L2Character extends L2Object implements ISkillsHolder, IDe // Absorb MP from the damage inflicted. if (skill != null) // Classic: Used to reduce skill MP consumption. See Orfen's Earring. { - double absorbPercent = _stat.getValue(Stats.ABSORB_MANA_DAMAGE_PERCENT, 0); - if (absorbPercent > 0) + if (Rnd.get(10) < 3) // Classic: Static 30% change. { - int absorbDamage = (int) Math.min((absorbPercent / 100.) * damage, _stat.getMaxRecoverableMp() - _status.getCurrentMp()); - absorbDamage = Math.min(absorbDamage, (int) target.getCurrentMp()); - if (absorbDamage > 0) + double absorbPercent = _stat.getValue(Stats.ABSORB_MANA_DAMAGE_PERCENT, 0); + if (absorbPercent > 0) { - setCurrentMp(_status.getCurrentMp() + absorbDamage); + 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); + } } } } 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 c113d294da..180b709acf 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 @@ -4384,14 +4384,17 @@ public abstract class L2Character extends L2Object implements ISkillsHolder, IDe // Absorb MP from the damage inflicted. if (skill != null) // Classic: Used to reduce skill MP consumption. See Orfen's Earring. { - double absorbPercent = _stat.getValue(Stats.ABSORB_MANA_DAMAGE_PERCENT, 0); - if (absorbPercent > 0) + if (Rnd.get(10) < 3) // Classic: Static 30% change. { - int absorbDamage = (int) Math.min((absorbPercent / 100.) * damage, _stat.getMaxRecoverableMp() - _status.getCurrentMp()); - absorbDamage = Math.min(absorbDamage, (int) target.getCurrentMp()); - if (absorbDamage > 0) + double absorbPercent = _stat.getValue(Stats.ABSORB_MANA_DAMAGE_PERCENT, 0); + if (absorbPercent > 0) { - setCurrentMp(_status.getCurrentMp() + absorbDamage); + 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); + } } } }