From a3e8e337fe76d565f9dab41ecf9bef69165b448c Mon Sep 17 00:00:00 2001 From: MobiusDevelopment <8391001+MobiusDevelopment@users.noreply.github.com> Date: Tue, 2 Jun 2020 21:32:21 +0000 Subject: [PATCH] Fixed skills aborting when player on full HP. Contributed by Sahar. --- .../effecthandlers/CpHealOverTime.java | 23 ++++++++++++++++--- .../handlers/effecthandlers/HealOverTime.java | 23 ++++++++++++++++--- .../effecthandlers/ManaHealOverTime.java | 23 ++++++++++++++++--- .../effecthandlers/CpHealOverTime.java | 23 ++++++++++++++++--- .../handlers/effecthandlers/HealOverTime.java | 23 ++++++++++++++++--- .../effecthandlers/ManaHealOverTime.java | 23 ++++++++++++++++--- .../effecthandlers/CpHealOverTime.java | 23 ++++++++++++++++--- .../handlers/effecthandlers/HealOverTime.java | 23 ++++++++++++++++--- .../effecthandlers/ManaHealOverTime.java | 23 ++++++++++++++++--- .../effecthandlers/CpHealOverTime.java | 23 ++++++++++++++++--- .../handlers/effecthandlers/HealOverTime.java | 23 ++++++++++++++++--- .../effecthandlers/ManaHealOverTime.java | 23 ++++++++++++++++--- .../effecthandlers/CpHealOverTime.java | 23 ++++++++++++++++--- .../handlers/effecthandlers/HealOverTime.java | 23 ++++++++++++++++--- .../effecthandlers/ManaHealOverTime.java | 23 ++++++++++++++++--- .../effecthandlers/CpHealOverTime.java | 23 ++++++++++++++++--- .../handlers/effecthandlers/HealOverTime.java | 23 ++++++++++++++++--- .../effecthandlers/ManaHealOverTime.java | 23 ++++++++++++++++--- .../effecthandlers/CpHealOverTime.java | 23 ++++++++++++++++--- .../handlers/effecthandlers/HealOverTime.java | 23 ++++++++++++++++--- .../effecthandlers/ManaHealOverTime.java | 23 ++++++++++++++++--- .../effecthandlers/CpHealOverTime.java | 23 ++++++++++++++++--- .../handlers/effecthandlers/HealOverTime.java | 23 ++++++++++++++++--- .../effecthandlers/ManaHealOverTime.java | 23 ++++++++++++++++--- .../effecthandlers/CpHealOverTime.java | 23 ++++++++++++++++--- .../handlers/effecthandlers/HealOverTime.java | 23 ++++++++++++++++--- .../effecthandlers/ManaHealOverTime.java | 23 ++++++++++++++++--- .../effecthandlers/CpHealOverTime.java | 23 ++++++++++++++++--- .../handlers/effecthandlers/HealOverTime.java | 23 ++++++++++++++++--- .../effecthandlers/ManaHealOverTime.java | 23 ++++++++++++++++--- .../effecthandlers/CpHealOverTime.java | 23 ++++++++++++++++--- .../handlers/effecthandlers/HealOverTime.java | 23 ++++++++++++++++--- .../effecthandlers/ManaHealOverTime.java | 23 ++++++++++++++++--- .../effecthandlers/CpHealOverTime.java | 23 ++++++++++++++++--- .../handlers/effecthandlers/HealOverTime.java | 23 ++++++++++++++++--- .../effecthandlers/ManaHealOverTime.java | 23 ++++++++++++++++--- .../effecthandlers/CpHealOverTime.java | 23 ++++++++++++++++--- .../handlers/effecthandlers/HealOverTime.java | 23 ++++++++++++++++--- .../effecthandlers/ManaHealOverTime.java | 23 ++++++++++++++++--- .../effecthandlers/CpHealOverTime.java | 23 ++++++++++++++++--- .../handlers/effecthandlers/HealOverTime.java | 23 ++++++++++++++++--- .../effecthandlers/ManaHealOverTime.java | 23 ++++++++++++++++--- .../effecthandlers/CpHealOverTime.java | 23 ++++++++++++++++--- .../handlers/effecthandlers/HealOverTime.java | 23 ++++++++++++++++--- .../effecthandlers/ManaHealOverTime.java | 23 ++++++++++++++++--- 45 files changed, 900 insertions(+), 135 deletions(-) diff --git a/L2J_Mobius_1.0_Ertheia/dist/game/data/scripts/handlers/effecthandlers/CpHealOverTime.java b/L2J_Mobius_1.0_Ertheia/dist/game/data/scripts/handlers/effecthandlers/CpHealOverTime.java index a4cd7eea6f..2da9b5de63 100644 --- a/L2J_Mobius_1.0_Ertheia/dist/game/data/scripts/handlers/effecthandlers/CpHealOverTime.java +++ b/L2J_Mobius_1.0_Ertheia/dist/game/data/scripts/handlers/effecthandlers/CpHealOverTime.java @@ -48,9 +48,19 @@ public class CpHealOverTime extends AbstractEffect final double maxcp = effected.getMaxRecoverableCp(); // Not needed to set the CP and send update packet if player is already at max CP - if (cp >= maxcp) + if (_power > 0) { - return false; + if (cp >= maxcp) + { + return false; + } + } + else + { + if ((cp - _power) <= 0) + { + return false; + } } double power = _power; @@ -60,7 +70,14 @@ public class CpHealOverTime extends AbstractEffect } cp += power * getTicksMultiplier(); - cp = Math.min(cp, maxcp); + if (_power > 0) + { + cp = Math.min(cp, maxcp); + } + else + { + cp = Math.max(cp, 1); + } effected.setCurrentCp(cp, false); effected.broadcastStatusUpdate(effector); return true; diff --git a/L2J_Mobius_1.0_Ertheia/dist/game/data/scripts/handlers/effecthandlers/HealOverTime.java b/L2J_Mobius_1.0_Ertheia/dist/game/data/scripts/handlers/effecthandlers/HealOverTime.java index 57bc3e6558..6d92ab08f8 100644 --- a/L2J_Mobius_1.0_Ertheia/dist/game/data/scripts/handlers/effecthandlers/HealOverTime.java +++ b/L2J_Mobius_1.0_Ertheia/dist/game/data/scripts/handlers/effecthandlers/HealOverTime.java @@ -50,9 +50,19 @@ public class HealOverTime extends AbstractEffect final double maxhp = effected.getMaxRecoverableHp(); // Not needed to set the HP and send update packet if player is already at max HP - if (hp >= maxhp) + if (_power > 0) { - return false; + if (hp >= maxhp) + { + return false; + } + } + else + { + if ((hp - _power) <= 0) + { + return false; + } } double power = _power; @@ -62,7 +72,14 @@ public class HealOverTime extends AbstractEffect } hp += power * getTicksMultiplier(); - hp = Math.min(hp, maxhp); + if (_power > 0) + { + hp = Math.min(hp, maxhp); + } + else + { + hp = Math.max(hp, 1); + } effected.setCurrentHp(hp, false); effected.broadcastStatusUpdate(effector); return skill.isToggle(); diff --git a/L2J_Mobius_1.0_Ertheia/dist/game/data/scripts/handlers/effecthandlers/ManaHealOverTime.java b/L2J_Mobius_1.0_Ertheia/dist/game/data/scripts/handlers/effecthandlers/ManaHealOverTime.java index cee0c7a7bb..1a7a02b86a 100644 --- a/L2J_Mobius_1.0_Ertheia/dist/game/data/scripts/handlers/effecthandlers/ManaHealOverTime.java +++ b/L2J_Mobius_1.0_Ertheia/dist/game/data/scripts/handlers/effecthandlers/ManaHealOverTime.java @@ -48,9 +48,19 @@ public class ManaHealOverTime extends AbstractEffect final double maxmp = effected.getMaxRecoverableMp(); // Not needed to set the MP and send update packet if player is already at max MP - if (mp >= maxmp) + if (_power > 0) { - return true; + if (mp >= maxmp) + { + return true; + } + } + else + { + if ((mp - _power) <= 0) + { + return true; + } } double power = _power; @@ -60,7 +70,14 @@ public class ManaHealOverTime extends AbstractEffect } mp += power * getTicksMultiplier(); - mp = Math.min(mp, maxmp); + if (_power > 0) + { + mp = Math.min(mp, maxmp); + } + else + { + mp = Math.max(mp, 1); + } effected.setCurrentMp(mp, false); effected.broadcastStatusUpdate(effector); return skill.isToggle(); diff --git a/L2J_Mobius_2.5_Underground/dist/game/data/scripts/handlers/effecthandlers/CpHealOverTime.java b/L2J_Mobius_2.5_Underground/dist/game/data/scripts/handlers/effecthandlers/CpHealOverTime.java index a4cd7eea6f..2da9b5de63 100644 --- a/L2J_Mobius_2.5_Underground/dist/game/data/scripts/handlers/effecthandlers/CpHealOverTime.java +++ b/L2J_Mobius_2.5_Underground/dist/game/data/scripts/handlers/effecthandlers/CpHealOverTime.java @@ -48,9 +48,19 @@ public class CpHealOverTime extends AbstractEffect final double maxcp = effected.getMaxRecoverableCp(); // Not needed to set the CP and send update packet if player is already at max CP - if (cp >= maxcp) + if (_power > 0) { - return false; + if (cp >= maxcp) + { + return false; + } + } + else + { + if ((cp - _power) <= 0) + { + return false; + } } double power = _power; @@ -60,7 +70,14 @@ public class CpHealOverTime extends AbstractEffect } cp += power * getTicksMultiplier(); - cp = Math.min(cp, maxcp); + if (_power > 0) + { + cp = Math.min(cp, maxcp); + } + else + { + cp = Math.max(cp, 1); + } effected.setCurrentCp(cp, false); effected.broadcastStatusUpdate(effector); return true; diff --git a/L2J_Mobius_2.5_Underground/dist/game/data/scripts/handlers/effecthandlers/HealOverTime.java b/L2J_Mobius_2.5_Underground/dist/game/data/scripts/handlers/effecthandlers/HealOverTime.java index 57bc3e6558..6d92ab08f8 100644 --- a/L2J_Mobius_2.5_Underground/dist/game/data/scripts/handlers/effecthandlers/HealOverTime.java +++ b/L2J_Mobius_2.5_Underground/dist/game/data/scripts/handlers/effecthandlers/HealOverTime.java @@ -50,9 +50,19 @@ public class HealOverTime extends AbstractEffect final double maxhp = effected.getMaxRecoverableHp(); // Not needed to set the HP and send update packet if player is already at max HP - if (hp >= maxhp) + if (_power > 0) { - return false; + if (hp >= maxhp) + { + return false; + } + } + else + { + if ((hp - _power) <= 0) + { + return false; + } } double power = _power; @@ -62,7 +72,14 @@ public class HealOverTime extends AbstractEffect } hp += power * getTicksMultiplier(); - hp = Math.min(hp, maxhp); + if (_power > 0) + { + hp = Math.min(hp, maxhp); + } + else + { + hp = Math.max(hp, 1); + } effected.setCurrentHp(hp, false); effected.broadcastStatusUpdate(effector); return skill.isToggle(); diff --git a/L2J_Mobius_2.5_Underground/dist/game/data/scripts/handlers/effecthandlers/ManaHealOverTime.java b/L2J_Mobius_2.5_Underground/dist/game/data/scripts/handlers/effecthandlers/ManaHealOverTime.java index cee0c7a7bb..1a7a02b86a 100644 --- a/L2J_Mobius_2.5_Underground/dist/game/data/scripts/handlers/effecthandlers/ManaHealOverTime.java +++ b/L2J_Mobius_2.5_Underground/dist/game/data/scripts/handlers/effecthandlers/ManaHealOverTime.java @@ -48,9 +48,19 @@ public class ManaHealOverTime extends AbstractEffect final double maxmp = effected.getMaxRecoverableMp(); // Not needed to set the MP and send update packet if player is already at max MP - if (mp >= maxmp) + if (_power > 0) { - return true; + if (mp >= maxmp) + { + return true; + } + } + else + { + if ((mp - _power) <= 0) + { + return true; + } } double power = _power; @@ -60,7 +70,14 @@ public class ManaHealOverTime extends AbstractEffect } mp += power * getTicksMultiplier(); - mp = Math.min(mp, maxmp); + if (_power > 0) + { + mp = Math.min(mp, maxmp); + } + else + { + mp = Math.max(mp, 1); + } effected.setCurrentMp(mp, false); effected.broadcastStatusUpdate(effector); return skill.isToggle(); diff --git a/L2J_Mobius_3.0_Helios/dist/game/data/scripts/handlers/effecthandlers/CpHealOverTime.java b/L2J_Mobius_3.0_Helios/dist/game/data/scripts/handlers/effecthandlers/CpHealOverTime.java index a4cd7eea6f..2da9b5de63 100644 --- a/L2J_Mobius_3.0_Helios/dist/game/data/scripts/handlers/effecthandlers/CpHealOverTime.java +++ b/L2J_Mobius_3.0_Helios/dist/game/data/scripts/handlers/effecthandlers/CpHealOverTime.java @@ -48,9 +48,19 @@ public class CpHealOverTime extends AbstractEffect final double maxcp = effected.getMaxRecoverableCp(); // Not needed to set the CP and send update packet if player is already at max CP - if (cp >= maxcp) + if (_power > 0) { - return false; + if (cp >= maxcp) + { + return false; + } + } + else + { + if ((cp - _power) <= 0) + { + return false; + } } double power = _power; @@ -60,7 +70,14 @@ public class CpHealOverTime extends AbstractEffect } cp += power * getTicksMultiplier(); - cp = Math.min(cp, maxcp); + if (_power > 0) + { + cp = Math.min(cp, maxcp); + } + else + { + cp = Math.max(cp, 1); + } effected.setCurrentCp(cp, false); effected.broadcastStatusUpdate(effector); return true; diff --git a/L2J_Mobius_3.0_Helios/dist/game/data/scripts/handlers/effecthandlers/HealOverTime.java b/L2J_Mobius_3.0_Helios/dist/game/data/scripts/handlers/effecthandlers/HealOverTime.java index 57bc3e6558..6d92ab08f8 100644 --- a/L2J_Mobius_3.0_Helios/dist/game/data/scripts/handlers/effecthandlers/HealOverTime.java +++ b/L2J_Mobius_3.0_Helios/dist/game/data/scripts/handlers/effecthandlers/HealOverTime.java @@ -50,9 +50,19 @@ public class HealOverTime extends AbstractEffect final double maxhp = effected.getMaxRecoverableHp(); // Not needed to set the HP and send update packet if player is already at max HP - if (hp >= maxhp) + if (_power > 0) { - return false; + if (hp >= maxhp) + { + return false; + } + } + else + { + if ((hp - _power) <= 0) + { + return false; + } } double power = _power; @@ -62,7 +72,14 @@ public class HealOverTime extends AbstractEffect } hp += power * getTicksMultiplier(); - hp = Math.min(hp, maxhp); + if (_power > 0) + { + hp = Math.min(hp, maxhp); + } + else + { + hp = Math.max(hp, 1); + } effected.setCurrentHp(hp, false); effected.broadcastStatusUpdate(effector); return skill.isToggle(); diff --git a/L2J_Mobius_3.0_Helios/dist/game/data/scripts/handlers/effecthandlers/ManaHealOverTime.java b/L2J_Mobius_3.0_Helios/dist/game/data/scripts/handlers/effecthandlers/ManaHealOverTime.java index cee0c7a7bb..1a7a02b86a 100644 --- a/L2J_Mobius_3.0_Helios/dist/game/data/scripts/handlers/effecthandlers/ManaHealOverTime.java +++ b/L2J_Mobius_3.0_Helios/dist/game/data/scripts/handlers/effecthandlers/ManaHealOverTime.java @@ -48,9 +48,19 @@ public class ManaHealOverTime extends AbstractEffect final double maxmp = effected.getMaxRecoverableMp(); // Not needed to set the MP and send update packet if player is already at max MP - if (mp >= maxmp) + if (_power > 0) { - return true; + if (mp >= maxmp) + { + return true; + } + } + else + { + if ((mp - _power) <= 0) + { + return true; + } } double power = _power; @@ -60,7 +70,14 @@ public class ManaHealOverTime extends AbstractEffect } mp += power * getTicksMultiplier(); - mp = Math.min(mp, maxmp); + if (_power > 0) + { + mp = Math.min(mp, maxmp); + } + else + { + mp = Math.max(mp, 1); + } effected.setCurrentMp(mp, false); effected.broadcastStatusUpdate(effector); return skill.isToggle(); diff --git a/L2J_Mobius_4.0_GrandCrusade/dist/game/data/scripts/handlers/effecthandlers/CpHealOverTime.java b/L2J_Mobius_4.0_GrandCrusade/dist/game/data/scripts/handlers/effecthandlers/CpHealOverTime.java index a4cd7eea6f..2da9b5de63 100644 --- a/L2J_Mobius_4.0_GrandCrusade/dist/game/data/scripts/handlers/effecthandlers/CpHealOverTime.java +++ b/L2J_Mobius_4.0_GrandCrusade/dist/game/data/scripts/handlers/effecthandlers/CpHealOverTime.java @@ -48,9 +48,19 @@ public class CpHealOverTime extends AbstractEffect final double maxcp = effected.getMaxRecoverableCp(); // Not needed to set the CP and send update packet if player is already at max CP - if (cp >= maxcp) + if (_power > 0) { - return false; + if (cp >= maxcp) + { + return false; + } + } + else + { + if ((cp - _power) <= 0) + { + return false; + } } double power = _power; @@ -60,7 +70,14 @@ public class CpHealOverTime extends AbstractEffect } cp += power * getTicksMultiplier(); - cp = Math.min(cp, maxcp); + if (_power > 0) + { + cp = Math.min(cp, maxcp); + } + else + { + cp = Math.max(cp, 1); + } effected.setCurrentCp(cp, false); effected.broadcastStatusUpdate(effector); return true; diff --git a/L2J_Mobius_4.0_GrandCrusade/dist/game/data/scripts/handlers/effecthandlers/HealOverTime.java b/L2J_Mobius_4.0_GrandCrusade/dist/game/data/scripts/handlers/effecthandlers/HealOverTime.java index 57bc3e6558..6d92ab08f8 100644 --- a/L2J_Mobius_4.0_GrandCrusade/dist/game/data/scripts/handlers/effecthandlers/HealOverTime.java +++ b/L2J_Mobius_4.0_GrandCrusade/dist/game/data/scripts/handlers/effecthandlers/HealOverTime.java @@ -50,9 +50,19 @@ public class HealOverTime extends AbstractEffect final double maxhp = effected.getMaxRecoverableHp(); // Not needed to set the HP and send update packet if player is already at max HP - if (hp >= maxhp) + if (_power > 0) { - return false; + if (hp >= maxhp) + { + return false; + } + } + else + { + if ((hp - _power) <= 0) + { + return false; + } } double power = _power; @@ -62,7 +72,14 @@ public class HealOverTime extends AbstractEffect } hp += power * getTicksMultiplier(); - hp = Math.min(hp, maxhp); + if (_power > 0) + { + hp = Math.min(hp, maxhp); + } + else + { + hp = Math.max(hp, 1); + } effected.setCurrentHp(hp, false); effected.broadcastStatusUpdate(effector); return skill.isToggle(); diff --git a/L2J_Mobius_4.0_GrandCrusade/dist/game/data/scripts/handlers/effecthandlers/ManaHealOverTime.java b/L2J_Mobius_4.0_GrandCrusade/dist/game/data/scripts/handlers/effecthandlers/ManaHealOverTime.java index cee0c7a7bb..1a7a02b86a 100644 --- a/L2J_Mobius_4.0_GrandCrusade/dist/game/data/scripts/handlers/effecthandlers/ManaHealOverTime.java +++ b/L2J_Mobius_4.0_GrandCrusade/dist/game/data/scripts/handlers/effecthandlers/ManaHealOverTime.java @@ -48,9 +48,19 @@ public class ManaHealOverTime extends AbstractEffect final double maxmp = effected.getMaxRecoverableMp(); // Not needed to set the MP and send update packet if player is already at max MP - if (mp >= maxmp) + if (_power > 0) { - return true; + if (mp >= maxmp) + { + return true; + } + } + else + { + if ((mp - _power) <= 0) + { + return true; + } } double power = _power; @@ -60,7 +70,14 @@ public class ManaHealOverTime extends AbstractEffect } mp += power * getTicksMultiplier(); - mp = Math.min(mp, maxmp); + if (_power > 0) + { + mp = Math.min(mp, maxmp); + } + else + { + mp = Math.max(mp, 1); + } effected.setCurrentMp(mp, false); effected.broadcastStatusUpdate(effector); return skill.isToggle(); diff --git a/L2J_Mobius_5.0_Salvation/dist/game/data/scripts/handlers/effecthandlers/CpHealOverTime.java b/L2J_Mobius_5.0_Salvation/dist/game/data/scripts/handlers/effecthandlers/CpHealOverTime.java index a4cd7eea6f..2da9b5de63 100644 --- a/L2J_Mobius_5.0_Salvation/dist/game/data/scripts/handlers/effecthandlers/CpHealOverTime.java +++ b/L2J_Mobius_5.0_Salvation/dist/game/data/scripts/handlers/effecthandlers/CpHealOverTime.java @@ -48,9 +48,19 @@ public class CpHealOverTime extends AbstractEffect final double maxcp = effected.getMaxRecoverableCp(); // Not needed to set the CP and send update packet if player is already at max CP - if (cp >= maxcp) + if (_power > 0) { - return false; + if (cp >= maxcp) + { + return false; + } + } + else + { + if ((cp - _power) <= 0) + { + return false; + } } double power = _power; @@ -60,7 +70,14 @@ public class CpHealOverTime extends AbstractEffect } cp += power * getTicksMultiplier(); - cp = Math.min(cp, maxcp); + if (_power > 0) + { + cp = Math.min(cp, maxcp); + } + else + { + cp = Math.max(cp, 1); + } effected.setCurrentCp(cp, false); effected.broadcastStatusUpdate(effector); return true; diff --git a/L2J_Mobius_5.0_Salvation/dist/game/data/scripts/handlers/effecthandlers/HealOverTime.java b/L2J_Mobius_5.0_Salvation/dist/game/data/scripts/handlers/effecthandlers/HealOverTime.java index 57bc3e6558..6d92ab08f8 100644 --- a/L2J_Mobius_5.0_Salvation/dist/game/data/scripts/handlers/effecthandlers/HealOverTime.java +++ b/L2J_Mobius_5.0_Salvation/dist/game/data/scripts/handlers/effecthandlers/HealOverTime.java @@ -50,9 +50,19 @@ public class HealOverTime extends AbstractEffect final double maxhp = effected.getMaxRecoverableHp(); // Not needed to set the HP and send update packet if player is already at max HP - if (hp >= maxhp) + if (_power > 0) { - return false; + if (hp >= maxhp) + { + return false; + } + } + else + { + if ((hp - _power) <= 0) + { + return false; + } } double power = _power; @@ -62,7 +72,14 @@ public class HealOverTime extends AbstractEffect } hp += power * getTicksMultiplier(); - hp = Math.min(hp, maxhp); + if (_power > 0) + { + hp = Math.min(hp, maxhp); + } + else + { + hp = Math.max(hp, 1); + } effected.setCurrentHp(hp, false); effected.broadcastStatusUpdate(effector); return skill.isToggle(); diff --git a/L2J_Mobius_5.0_Salvation/dist/game/data/scripts/handlers/effecthandlers/ManaHealOverTime.java b/L2J_Mobius_5.0_Salvation/dist/game/data/scripts/handlers/effecthandlers/ManaHealOverTime.java index cee0c7a7bb..1a7a02b86a 100644 --- a/L2J_Mobius_5.0_Salvation/dist/game/data/scripts/handlers/effecthandlers/ManaHealOverTime.java +++ b/L2J_Mobius_5.0_Salvation/dist/game/data/scripts/handlers/effecthandlers/ManaHealOverTime.java @@ -48,9 +48,19 @@ public class ManaHealOverTime extends AbstractEffect final double maxmp = effected.getMaxRecoverableMp(); // Not needed to set the MP and send update packet if player is already at max MP - if (mp >= maxmp) + if (_power > 0) { - return true; + if (mp >= maxmp) + { + return true; + } + } + else + { + if ((mp - _power) <= 0) + { + return true; + } } double power = _power; @@ -60,7 +70,14 @@ public class ManaHealOverTime extends AbstractEffect } mp += power * getTicksMultiplier(); - mp = Math.min(mp, maxmp); + if (_power > 0) + { + mp = Math.min(mp, maxmp); + } + else + { + mp = Math.max(mp, 1); + } effected.setCurrentMp(mp, false); effected.broadcastStatusUpdate(effector); return skill.isToggle(); diff --git a/L2J_Mobius_5.5_EtinasFate/dist/game/data/scripts/handlers/effecthandlers/CpHealOverTime.java b/L2J_Mobius_5.5_EtinasFate/dist/game/data/scripts/handlers/effecthandlers/CpHealOverTime.java index a4cd7eea6f..2da9b5de63 100644 --- a/L2J_Mobius_5.5_EtinasFate/dist/game/data/scripts/handlers/effecthandlers/CpHealOverTime.java +++ b/L2J_Mobius_5.5_EtinasFate/dist/game/data/scripts/handlers/effecthandlers/CpHealOverTime.java @@ -48,9 +48,19 @@ public class CpHealOverTime extends AbstractEffect final double maxcp = effected.getMaxRecoverableCp(); // Not needed to set the CP and send update packet if player is already at max CP - if (cp >= maxcp) + if (_power > 0) { - return false; + if (cp >= maxcp) + { + return false; + } + } + else + { + if ((cp - _power) <= 0) + { + return false; + } } double power = _power; @@ -60,7 +70,14 @@ public class CpHealOverTime extends AbstractEffect } cp += power * getTicksMultiplier(); - cp = Math.min(cp, maxcp); + if (_power > 0) + { + cp = Math.min(cp, maxcp); + } + else + { + cp = Math.max(cp, 1); + } effected.setCurrentCp(cp, false); effected.broadcastStatusUpdate(effector); return true; diff --git a/L2J_Mobius_5.5_EtinasFate/dist/game/data/scripts/handlers/effecthandlers/HealOverTime.java b/L2J_Mobius_5.5_EtinasFate/dist/game/data/scripts/handlers/effecthandlers/HealOverTime.java index 57bc3e6558..6d92ab08f8 100644 --- a/L2J_Mobius_5.5_EtinasFate/dist/game/data/scripts/handlers/effecthandlers/HealOverTime.java +++ b/L2J_Mobius_5.5_EtinasFate/dist/game/data/scripts/handlers/effecthandlers/HealOverTime.java @@ -50,9 +50,19 @@ public class HealOverTime extends AbstractEffect final double maxhp = effected.getMaxRecoverableHp(); // Not needed to set the HP and send update packet if player is already at max HP - if (hp >= maxhp) + if (_power > 0) { - return false; + if (hp >= maxhp) + { + return false; + } + } + else + { + if ((hp - _power) <= 0) + { + return false; + } } double power = _power; @@ -62,7 +72,14 @@ public class HealOverTime extends AbstractEffect } hp += power * getTicksMultiplier(); - hp = Math.min(hp, maxhp); + if (_power > 0) + { + hp = Math.min(hp, maxhp); + } + else + { + hp = Math.max(hp, 1); + } effected.setCurrentHp(hp, false); effected.broadcastStatusUpdate(effector); return skill.isToggle(); diff --git a/L2J_Mobius_5.5_EtinasFate/dist/game/data/scripts/handlers/effecthandlers/ManaHealOverTime.java b/L2J_Mobius_5.5_EtinasFate/dist/game/data/scripts/handlers/effecthandlers/ManaHealOverTime.java index cee0c7a7bb..1a7a02b86a 100644 --- a/L2J_Mobius_5.5_EtinasFate/dist/game/data/scripts/handlers/effecthandlers/ManaHealOverTime.java +++ b/L2J_Mobius_5.5_EtinasFate/dist/game/data/scripts/handlers/effecthandlers/ManaHealOverTime.java @@ -48,9 +48,19 @@ public class ManaHealOverTime extends AbstractEffect final double maxmp = effected.getMaxRecoverableMp(); // Not needed to set the MP and send update packet if player is already at max MP - if (mp >= maxmp) + if (_power > 0) { - return true; + if (mp >= maxmp) + { + return true; + } + } + else + { + if ((mp - _power) <= 0) + { + return true; + } } double power = _power; @@ -60,7 +70,14 @@ public class ManaHealOverTime extends AbstractEffect } mp += power * getTicksMultiplier(); - mp = Math.min(mp, maxmp); + if (_power > 0) + { + mp = Math.min(mp, maxmp); + } + else + { + mp = Math.max(mp, 1); + } effected.setCurrentMp(mp, false); effected.broadcastStatusUpdate(effector); return skill.isToggle(); diff --git a/L2J_Mobius_6.0_Fafurion/dist/game/data/scripts/handlers/effecthandlers/CpHealOverTime.java b/L2J_Mobius_6.0_Fafurion/dist/game/data/scripts/handlers/effecthandlers/CpHealOverTime.java index a4cd7eea6f..2da9b5de63 100644 --- a/L2J_Mobius_6.0_Fafurion/dist/game/data/scripts/handlers/effecthandlers/CpHealOverTime.java +++ b/L2J_Mobius_6.0_Fafurion/dist/game/data/scripts/handlers/effecthandlers/CpHealOverTime.java @@ -48,9 +48,19 @@ public class CpHealOverTime extends AbstractEffect final double maxcp = effected.getMaxRecoverableCp(); // Not needed to set the CP and send update packet if player is already at max CP - if (cp >= maxcp) + if (_power > 0) { - return false; + if (cp >= maxcp) + { + return false; + } + } + else + { + if ((cp - _power) <= 0) + { + return false; + } } double power = _power; @@ -60,7 +70,14 @@ public class CpHealOverTime extends AbstractEffect } cp += power * getTicksMultiplier(); - cp = Math.min(cp, maxcp); + if (_power > 0) + { + cp = Math.min(cp, maxcp); + } + else + { + cp = Math.max(cp, 1); + } effected.setCurrentCp(cp, false); effected.broadcastStatusUpdate(effector); return true; diff --git a/L2J_Mobius_6.0_Fafurion/dist/game/data/scripts/handlers/effecthandlers/HealOverTime.java b/L2J_Mobius_6.0_Fafurion/dist/game/data/scripts/handlers/effecthandlers/HealOverTime.java index 57bc3e6558..6d92ab08f8 100644 --- a/L2J_Mobius_6.0_Fafurion/dist/game/data/scripts/handlers/effecthandlers/HealOverTime.java +++ b/L2J_Mobius_6.0_Fafurion/dist/game/data/scripts/handlers/effecthandlers/HealOverTime.java @@ -50,9 +50,19 @@ public class HealOverTime extends AbstractEffect final double maxhp = effected.getMaxRecoverableHp(); // Not needed to set the HP and send update packet if player is already at max HP - if (hp >= maxhp) + if (_power > 0) { - return false; + if (hp >= maxhp) + { + return false; + } + } + else + { + if ((hp - _power) <= 0) + { + return false; + } } double power = _power; @@ -62,7 +72,14 @@ public class HealOverTime extends AbstractEffect } hp += power * getTicksMultiplier(); - hp = Math.min(hp, maxhp); + if (_power > 0) + { + hp = Math.min(hp, maxhp); + } + else + { + hp = Math.max(hp, 1); + } effected.setCurrentHp(hp, false); effected.broadcastStatusUpdate(effector); return skill.isToggle(); diff --git a/L2J_Mobius_6.0_Fafurion/dist/game/data/scripts/handlers/effecthandlers/ManaHealOverTime.java b/L2J_Mobius_6.0_Fafurion/dist/game/data/scripts/handlers/effecthandlers/ManaHealOverTime.java index cee0c7a7bb..1a7a02b86a 100644 --- a/L2J_Mobius_6.0_Fafurion/dist/game/data/scripts/handlers/effecthandlers/ManaHealOverTime.java +++ b/L2J_Mobius_6.0_Fafurion/dist/game/data/scripts/handlers/effecthandlers/ManaHealOverTime.java @@ -48,9 +48,19 @@ public class ManaHealOverTime extends AbstractEffect final double maxmp = effected.getMaxRecoverableMp(); // Not needed to set the MP and send update packet if player is already at max MP - if (mp >= maxmp) + if (_power > 0) { - return true; + if (mp >= maxmp) + { + return true; + } + } + else + { + if ((mp - _power) <= 0) + { + return true; + } } double power = _power; @@ -60,7 +70,14 @@ public class ManaHealOverTime extends AbstractEffect } mp += power * getTicksMultiplier(); - mp = Math.min(mp, maxmp); + if (_power > 0) + { + mp = Math.min(mp, maxmp); + } + else + { + mp = Math.max(mp, 1); + } effected.setCurrentMp(mp, false); effected.broadcastStatusUpdate(effector); return skill.isToggle(); diff --git a/L2J_Mobius_7.0_PreludeOfWar/dist/game/data/scripts/handlers/effecthandlers/CpHealOverTime.java b/L2J_Mobius_7.0_PreludeOfWar/dist/game/data/scripts/handlers/effecthandlers/CpHealOverTime.java index a4cd7eea6f..2da9b5de63 100644 --- a/L2J_Mobius_7.0_PreludeOfWar/dist/game/data/scripts/handlers/effecthandlers/CpHealOverTime.java +++ b/L2J_Mobius_7.0_PreludeOfWar/dist/game/data/scripts/handlers/effecthandlers/CpHealOverTime.java @@ -48,9 +48,19 @@ public class CpHealOverTime extends AbstractEffect final double maxcp = effected.getMaxRecoverableCp(); // Not needed to set the CP and send update packet if player is already at max CP - if (cp >= maxcp) + if (_power > 0) { - return false; + if (cp >= maxcp) + { + return false; + } + } + else + { + if ((cp - _power) <= 0) + { + return false; + } } double power = _power; @@ -60,7 +70,14 @@ public class CpHealOverTime extends AbstractEffect } cp += power * getTicksMultiplier(); - cp = Math.min(cp, maxcp); + if (_power > 0) + { + cp = Math.min(cp, maxcp); + } + else + { + cp = Math.max(cp, 1); + } effected.setCurrentCp(cp, false); effected.broadcastStatusUpdate(effector); return true; diff --git a/L2J_Mobius_7.0_PreludeOfWar/dist/game/data/scripts/handlers/effecthandlers/HealOverTime.java b/L2J_Mobius_7.0_PreludeOfWar/dist/game/data/scripts/handlers/effecthandlers/HealOverTime.java index 57bc3e6558..6d92ab08f8 100644 --- a/L2J_Mobius_7.0_PreludeOfWar/dist/game/data/scripts/handlers/effecthandlers/HealOverTime.java +++ b/L2J_Mobius_7.0_PreludeOfWar/dist/game/data/scripts/handlers/effecthandlers/HealOverTime.java @@ -50,9 +50,19 @@ public class HealOverTime extends AbstractEffect final double maxhp = effected.getMaxRecoverableHp(); // Not needed to set the HP and send update packet if player is already at max HP - if (hp >= maxhp) + if (_power > 0) { - return false; + if (hp >= maxhp) + { + return false; + } + } + else + { + if ((hp - _power) <= 0) + { + return false; + } } double power = _power; @@ -62,7 +72,14 @@ public class HealOverTime extends AbstractEffect } hp += power * getTicksMultiplier(); - hp = Math.min(hp, maxhp); + if (_power > 0) + { + hp = Math.min(hp, maxhp); + } + else + { + hp = Math.max(hp, 1); + } effected.setCurrentHp(hp, false); effected.broadcastStatusUpdate(effector); return skill.isToggle(); diff --git a/L2J_Mobius_7.0_PreludeOfWar/dist/game/data/scripts/handlers/effecthandlers/ManaHealOverTime.java b/L2J_Mobius_7.0_PreludeOfWar/dist/game/data/scripts/handlers/effecthandlers/ManaHealOverTime.java index cee0c7a7bb..1a7a02b86a 100644 --- a/L2J_Mobius_7.0_PreludeOfWar/dist/game/data/scripts/handlers/effecthandlers/ManaHealOverTime.java +++ b/L2J_Mobius_7.0_PreludeOfWar/dist/game/data/scripts/handlers/effecthandlers/ManaHealOverTime.java @@ -48,9 +48,19 @@ public class ManaHealOverTime extends AbstractEffect final double maxmp = effected.getMaxRecoverableMp(); // Not needed to set the MP and send update packet if player is already at max MP - if (mp >= maxmp) + if (_power > 0) { - return true; + if (mp >= maxmp) + { + return true; + } + } + else + { + if ((mp - _power) <= 0) + { + return true; + } } double power = _power; @@ -60,7 +70,14 @@ public class ManaHealOverTime extends AbstractEffect } mp += power * getTicksMultiplier(); - mp = Math.min(mp, maxmp); + if (_power > 0) + { + mp = Math.min(mp, maxmp); + } + else + { + mp = Math.max(mp, 1); + } effected.setCurrentMp(mp, false); effected.broadcastStatusUpdate(effector); return skill.isToggle(); diff --git a/L2J_Mobius_Classic_2.0_Saviors/dist/game/data/scripts/handlers/effecthandlers/CpHealOverTime.java b/L2J_Mobius_Classic_2.0_Saviors/dist/game/data/scripts/handlers/effecthandlers/CpHealOverTime.java index a4cd7eea6f..2da9b5de63 100644 --- a/L2J_Mobius_Classic_2.0_Saviors/dist/game/data/scripts/handlers/effecthandlers/CpHealOverTime.java +++ b/L2J_Mobius_Classic_2.0_Saviors/dist/game/data/scripts/handlers/effecthandlers/CpHealOverTime.java @@ -48,9 +48,19 @@ public class CpHealOverTime extends AbstractEffect final double maxcp = effected.getMaxRecoverableCp(); // Not needed to set the CP and send update packet if player is already at max CP - if (cp >= maxcp) + if (_power > 0) { - return false; + if (cp >= maxcp) + { + return false; + } + } + else + { + if ((cp - _power) <= 0) + { + return false; + } } double power = _power; @@ -60,7 +70,14 @@ public class CpHealOverTime extends AbstractEffect } cp += power * getTicksMultiplier(); - cp = Math.min(cp, maxcp); + if (_power > 0) + { + cp = Math.min(cp, maxcp); + } + else + { + cp = Math.max(cp, 1); + } effected.setCurrentCp(cp, false); effected.broadcastStatusUpdate(effector); return true; diff --git a/L2J_Mobius_Classic_2.0_Saviors/dist/game/data/scripts/handlers/effecthandlers/HealOverTime.java b/L2J_Mobius_Classic_2.0_Saviors/dist/game/data/scripts/handlers/effecthandlers/HealOverTime.java index 57bc3e6558..6d92ab08f8 100644 --- a/L2J_Mobius_Classic_2.0_Saviors/dist/game/data/scripts/handlers/effecthandlers/HealOverTime.java +++ b/L2J_Mobius_Classic_2.0_Saviors/dist/game/data/scripts/handlers/effecthandlers/HealOverTime.java @@ -50,9 +50,19 @@ public class HealOverTime extends AbstractEffect final double maxhp = effected.getMaxRecoverableHp(); // Not needed to set the HP and send update packet if player is already at max HP - if (hp >= maxhp) + if (_power > 0) { - return false; + if (hp >= maxhp) + { + return false; + } + } + else + { + if ((hp - _power) <= 0) + { + return false; + } } double power = _power; @@ -62,7 +72,14 @@ public class HealOverTime extends AbstractEffect } hp += power * getTicksMultiplier(); - hp = Math.min(hp, maxhp); + if (_power > 0) + { + hp = Math.min(hp, maxhp); + } + else + { + hp = Math.max(hp, 1); + } effected.setCurrentHp(hp, false); effected.broadcastStatusUpdate(effector); return skill.isToggle(); diff --git a/L2J_Mobius_Classic_2.0_Saviors/dist/game/data/scripts/handlers/effecthandlers/ManaHealOverTime.java b/L2J_Mobius_Classic_2.0_Saviors/dist/game/data/scripts/handlers/effecthandlers/ManaHealOverTime.java index cee0c7a7bb..1a7a02b86a 100644 --- a/L2J_Mobius_Classic_2.0_Saviors/dist/game/data/scripts/handlers/effecthandlers/ManaHealOverTime.java +++ b/L2J_Mobius_Classic_2.0_Saviors/dist/game/data/scripts/handlers/effecthandlers/ManaHealOverTime.java @@ -48,9 +48,19 @@ public class ManaHealOverTime extends AbstractEffect final double maxmp = effected.getMaxRecoverableMp(); // Not needed to set the MP and send update packet if player is already at max MP - if (mp >= maxmp) + if (_power > 0) { - return true; + if (mp >= maxmp) + { + return true; + } + } + else + { + if ((mp - _power) <= 0) + { + return true; + } } double power = _power; @@ -60,7 +70,14 @@ public class ManaHealOverTime extends AbstractEffect } mp += power * getTicksMultiplier(); - mp = Math.min(mp, maxmp); + if (_power > 0) + { + mp = Math.min(mp, maxmp); + } + else + { + mp = Math.max(mp, 1); + } effected.setCurrentMp(mp, false); effected.broadcastStatusUpdate(effector); return skill.isToggle(); diff --git a/L2J_Mobius_Classic_2.1_Zaken/dist/game/data/scripts/handlers/effecthandlers/CpHealOverTime.java b/L2J_Mobius_Classic_2.1_Zaken/dist/game/data/scripts/handlers/effecthandlers/CpHealOverTime.java index a4cd7eea6f..2da9b5de63 100644 --- a/L2J_Mobius_Classic_2.1_Zaken/dist/game/data/scripts/handlers/effecthandlers/CpHealOverTime.java +++ b/L2J_Mobius_Classic_2.1_Zaken/dist/game/data/scripts/handlers/effecthandlers/CpHealOverTime.java @@ -48,9 +48,19 @@ public class CpHealOverTime extends AbstractEffect final double maxcp = effected.getMaxRecoverableCp(); // Not needed to set the CP and send update packet if player is already at max CP - if (cp >= maxcp) + if (_power > 0) { - return false; + if (cp >= maxcp) + { + return false; + } + } + else + { + if ((cp - _power) <= 0) + { + return false; + } } double power = _power; @@ -60,7 +70,14 @@ public class CpHealOverTime extends AbstractEffect } cp += power * getTicksMultiplier(); - cp = Math.min(cp, maxcp); + if (_power > 0) + { + cp = Math.min(cp, maxcp); + } + else + { + cp = Math.max(cp, 1); + } effected.setCurrentCp(cp, false); effected.broadcastStatusUpdate(effector); return true; diff --git a/L2J_Mobius_Classic_2.1_Zaken/dist/game/data/scripts/handlers/effecthandlers/HealOverTime.java b/L2J_Mobius_Classic_2.1_Zaken/dist/game/data/scripts/handlers/effecthandlers/HealOverTime.java index 57bc3e6558..6d92ab08f8 100644 --- a/L2J_Mobius_Classic_2.1_Zaken/dist/game/data/scripts/handlers/effecthandlers/HealOverTime.java +++ b/L2J_Mobius_Classic_2.1_Zaken/dist/game/data/scripts/handlers/effecthandlers/HealOverTime.java @@ -50,9 +50,19 @@ public class HealOverTime extends AbstractEffect final double maxhp = effected.getMaxRecoverableHp(); // Not needed to set the HP and send update packet if player is already at max HP - if (hp >= maxhp) + if (_power > 0) { - return false; + if (hp >= maxhp) + { + return false; + } + } + else + { + if ((hp - _power) <= 0) + { + return false; + } } double power = _power; @@ -62,7 +72,14 @@ public class HealOverTime extends AbstractEffect } hp += power * getTicksMultiplier(); - hp = Math.min(hp, maxhp); + if (_power > 0) + { + hp = Math.min(hp, maxhp); + } + else + { + hp = Math.max(hp, 1); + } effected.setCurrentHp(hp, false); effected.broadcastStatusUpdate(effector); return skill.isToggle(); diff --git a/L2J_Mobius_Classic_2.1_Zaken/dist/game/data/scripts/handlers/effecthandlers/ManaHealOverTime.java b/L2J_Mobius_Classic_2.1_Zaken/dist/game/data/scripts/handlers/effecthandlers/ManaHealOverTime.java index cee0c7a7bb..1a7a02b86a 100644 --- a/L2J_Mobius_Classic_2.1_Zaken/dist/game/data/scripts/handlers/effecthandlers/ManaHealOverTime.java +++ b/L2J_Mobius_Classic_2.1_Zaken/dist/game/data/scripts/handlers/effecthandlers/ManaHealOverTime.java @@ -48,9 +48,19 @@ public class ManaHealOverTime extends AbstractEffect final double maxmp = effected.getMaxRecoverableMp(); // Not needed to set the MP and send update packet if player is already at max MP - if (mp >= maxmp) + if (_power > 0) { - return true; + if (mp >= maxmp) + { + return true; + } + } + else + { + if ((mp - _power) <= 0) + { + return true; + } } double power = _power; @@ -60,7 +70,14 @@ public class ManaHealOverTime extends AbstractEffect } mp += power * getTicksMultiplier(); - mp = Math.min(mp, maxmp); + if (_power > 0) + { + mp = Math.min(mp, maxmp); + } + else + { + mp = Math.max(mp, 1); + } effected.setCurrentMp(mp, false); effected.broadcastStatusUpdate(effector); return skill.isToggle(); diff --git a/L2J_Mobius_Classic_2.2_Antharas/dist/game/data/scripts/handlers/effecthandlers/CpHealOverTime.java b/L2J_Mobius_Classic_2.2_Antharas/dist/game/data/scripts/handlers/effecthandlers/CpHealOverTime.java index a4cd7eea6f..2da9b5de63 100644 --- a/L2J_Mobius_Classic_2.2_Antharas/dist/game/data/scripts/handlers/effecthandlers/CpHealOverTime.java +++ b/L2J_Mobius_Classic_2.2_Antharas/dist/game/data/scripts/handlers/effecthandlers/CpHealOverTime.java @@ -48,9 +48,19 @@ public class CpHealOverTime extends AbstractEffect final double maxcp = effected.getMaxRecoverableCp(); // Not needed to set the CP and send update packet if player is already at max CP - if (cp >= maxcp) + if (_power > 0) { - return false; + if (cp >= maxcp) + { + return false; + } + } + else + { + if ((cp - _power) <= 0) + { + return false; + } } double power = _power; @@ -60,7 +70,14 @@ public class CpHealOverTime extends AbstractEffect } cp += power * getTicksMultiplier(); - cp = Math.min(cp, maxcp); + if (_power > 0) + { + cp = Math.min(cp, maxcp); + } + else + { + cp = Math.max(cp, 1); + } effected.setCurrentCp(cp, false); effected.broadcastStatusUpdate(effector); return true; diff --git a/L2J_Mobius_Classic_2.2_Antharas/dist/game/data/scripts/handlers/effecthandlers/HealOverTime.java b/L2J_Mobius_Classic_2.2_Antharas/dist/game/data/scripts/handlers/effecthandlers/HealOverTime.java index 57bc3e6558..6d92ab08f8 100644 --- a/L2J_Mobius_Classic_2.2_Antharas/dist/game/data/scripts/handlers/effecthandlers/HealOverTime.java +++ b/L2J_Mobius_Classic_2.2_Antharas/dist/game/data/scripts/handlers/effecthandlers/HealOverTime.java @@ -50,9 +50,19 @@ public class HealOverTime extends AbstractEffect final double maxhp = effected.getMaxRecoverableHp(); // Not needed to set the HP and send update packet if player is already at max HP - if (hp >= maxhp) + if (_power > 0) { - return false; + if (hp >= maxhp) + { + return false; + } + } + else + { + if ((hp - _power) <= 0) + { + return false; + } } double power = _power; @@ -62,7 +72,14 @@ public class HealOverTime extends AbstractEffect } hp += power * getTicksMultiplier(); - hp = Math.min(hp, maxhp); + if (_power > 0) + { + hp = Math.min(hp, maxhp); + } + else + { + hp = Math.max(hp, 1); + } effected.setCurrentHp(hp, false); effected.broadcastStatusUpdate(effector); return skill.isToggle(); diff --git a/L2J_Mobius_Classic_2.2_Antharas/dist/game/data/scripts/handlers/effecthandlers/ManaHealOverTime.java b/L2J_Mobius_Classic_2.2_Antharas/dist/game/data/scripts/handlers/effecthandlers/ManaHealOverTime.java index cee0c7a7bb..1a7a02b86a 100644 --- a/L2J_Mobius_Classic_2.2_Antharas/dist/game/data/scripts/handlers/effecthandlers/ManaHealOverTime.java +++ b/L2J_Mobius_Classic_2.2_Antharas/dist/game/data/scripts/handlers/effecthandlers/ManaHealOverTime.java @@ -48,9 +48,19 @@ public class ManaHealOverTime extends AbstractEffect final double maxmp = effected.getMaxRecoverableMp(); // Not needed to set the MP and send update packet if player is already at max MP - if (mp >= maxmp) + if (_power > 0) { - return true; + if (mp >= maxmp) + { + return true; + } + } + else + { + if ((mp - _power) <= 0) + { + return true; + } } double power = _power; @@ -60,7 +70,14 @@ public class ManaHealOverTime extends AbstractEffect } mp += power * getTicksMultiplier(); - mp = Math.min(mp, maxmp); + if (_power > 0) + { + mp = Math.min(mp, maxmp); + } + else + { + mp = Math.max(mp, 1); + } effected.setCurrentMp(mp, false); effected.broadcastStatusUpdate(effector); return skill.isToggle(); diff --git a/L2J_Mobius_Classic_2.3_SevenSigns/dist/game/data/scripts/handlers/effecthandlers/CpHealOverTime.java b/L2J_Mobius_Classic_2.3_SevenSigns/dist/game/data/scripts/handlers/effecthandlers/CpHealOverTime.java index a4cd7eea6f..2da9b5de63 100644 --- a/L2J_Mobius_Classic_2.3_SevenSigns/dist/game/data/scripts/handlers/effecthandlers/CpHealOverTime.java +++ b/L2J_Mobius_Classic_2.3_SevenSigns/dist/game/data/scripts/handlers/effecthandlers/CpHealOverTime.java @@ -48,9 +48,19 @@ public class CpHealOverTime extends AbstractEffect final double maxcp = effected.getMaxRecoverableCp(); // Not needed to set the CP and send update packet if player is already at max CP - if (cp >= maxcp) + if (_power > 0) { - return false; + if (cp >= maxcp) + { + return false; + } + } + else + { + if ((cp - _power) <= 0) + { + return false; + } } double power = _power; @@ -60,7 +70,14 @@ public class CpHealOverTime extends AbstractEffect } cp += power * getTicksMultiplier(); - cp = Math.min(cp, maxcp); + if (_power > 0) + { + cp = Math.min(cp, maxcp); + } + else + { + cp = Math.max(cp, 1); + } effected.setCurrentCp(cp, false); effected.broadcastStatusUpdate(effector); return true; diff --git a/L2J_Mobius_Classic_2.3_SevenSigns/dist/game/data/scripts/handlers/effecthandlers/HealOverTime.java b/L2J_Mobius_Classic_2.3_SevenSigns/dist/game/data/scripts/handlers/effecthandlers/HealOverTime.java index 57bc3e6558..6d92ab08f8 100644 --- a/L2J_Mobius_Classic_2.3_SevenSigns/dist/game/data/scripts/handlers/effecthandlers/HealOverTime.java +++ b/L2J_Mobius_Classic_2.3_SevenSigns/dist/game/data/scripts/handlers/effecthandlers/HealOverTime.java @@ -50,9 +50,19 @@ public class HealOverTime extends AbstractEffect final double maxhp = effected.getMaxRecoverableHp(); // Not needed to set the HP and send update packet if player is already at max HP - if (hp >= maxhp) + if (_power > 0) { - return false; + if (hp >= maxhp) + { + return false; + } + } + else + { + if ((hp - _power) <= 0) + { + return false; + } } double power = _power; @@ -62,7 +72,14 @@ public class HealOverTime extends AbstractEffect } hp += power * getTicksMultiplier(); - hp = Math.min(hp, maxhp); + if (_power > 0) + { + hp = Math.min(hp, maxhp); + } + else + { + hp = Math.max(hp, 1); + } effected.setCurrentHp(hp, false); effected.broadcastStatusUpdate(effector); return skill.isToggle(); diff --git a/L2J_Mobius_Classic_2.3_SevenSigns/dist/game/data/scripts/handlers/effecthandlers/ManaHealOverTime.java b/L2J_Mobius_Classic_2.3_SevenSigns/dist/game/data/scripts/handlers/effecthandlers/ManaHealOverTime.java index cee0c7a7bb..1a7a02b86a 100644 --- a/L2J_Mobius_Classic_2.3_SevenSigns/dist/game/data/scripts/handlers/effecthandlers/ManaHealOverTime.java +++ b/L2J_Mobius_Classic_2.3_SevenSigns/dist/game/data/scripts/handlers/effecthandlers/ManaHealOverTime.java @@ -48,9 +48,19 @@ public class ManaHealOverTime extends AbstractEffect final double maxmp = effected.getMaxRecoverableMp(); // Not needed to set the MP and send update packet if player is already at max MP - if (mp >= maxmp) + if (_power > 0) { - return true; + if (mp >= maxmp) + { + return true; + } + } + else + { + if ((mp - _power) <= 0) + { + return true; + } } double power = _power; @@ -60,7 +70,14 @@ public class ManaHealOverTime extends AbstractEffect } mp += power * getTicksMultiplier(); - mp = Math.min(mp, maxmp); + if (_power > 0) + { + mp = Math.min(mp, maxmp); + } + else + { + mp = Math.max(mp, 1); + } effected.setCurrentMp(mp, false); effected.broadcastStatusUpdate(effector); return skill.isToggle(); diff --git a/L2J_Mobius_Classic_2.4_SecretOfEmpire/dist/game/data/scripts/handlers/effecthandlers/CpHealOverTime.java b/L2J_Mobius_Classic_2.4_SecretOfEmpire/dist/game/data/scripts/handlers/effecthandlers/CpHealOverTime.java index a4cd7eea6f..2da9b5de63 100644 --- a/L2J_Mobius_Classic_2.4_SecretOfEmpire/dist/game/data/scripts/handlers/effecthandlers/CpHealOverTime.java +++ b/L2J_Mobius_Classic_2.4_SecretOfEmpire/dist/game/data/scripts/handlers/effecthandlers/CpHealOverTime.java @@ -48,9 +48,19 @@ public class CpHealOverTime extends AbstractEffect final double maxcp = effected.getMaxRecoverableCp(); // Not needed to set the CP and send update packet if player is already at max CP - if (cp >= maxcp) + if (_power > 0) { - return false; + if (cp >= maxcp) + { + return false; + } + } + else + { + if ((cp - _power) <= 0) + { + return false; + } } double power = _power; @@ -60,7 +70,14 @@ public class CpHealOverTime extends AbstractEffect } cp += power * getTicksMultiplier(); - cp = Math.min(cp, maxcp); + if (_power > 0) + { + cp = Math.min(cp, maxcp); + } + else + { + cp = Math.max(cp, 1); + } effected.setCurrentCp(cp, false); effected.broadcastStatusUpdate(effector); return true; diff --git a/L2J_Mobius_Classic_2.4_SecretOfEmpire/dist/game/data/scripts/handlers/effecthandlers/HealOverTime.java b/L2J_Mobius_Classic_2.4_SecretOfEmpire/dist/game/data/scripts/handlers/effecthandlers/HealOverTime.java index 57bc3e6558..6d92ab08f8 100644 --- a/L2J_Mobius_Classic_2.4_SecretOfEmpire/dist/game/data/scripts/handlers/effecthandlers/HealOverTime.java +++ b/L2J_Mobius_Classic_2.4_SecretOfEmpire/dist/game/data/scripts/handlers/effecthandlers/HealOverTime.java @@ -50,9 +50,19 @@ public class HealOverTime extends AbstractEffect final double maxhp = effected.getMaxRecoverableHp(); // Not needed to set the HP and send update packet if player is already at max HP - if (hp >= maxhp) + if (_power > 0) { - return false; + if (hp >= maxhp) + { + return false; + } + } + else + { + if ((hp - _power) <= 0) + { + return false; + } } double power = _power; @@ -62,7 +72,14 @@ public class HealOverTime extends AbstractEffect } hp += power * getTicksMultiplier(); - hp = Math.min(hp, maxhp); + if (_power > 0) + { + hp = Math.min(hp, maxhp); + } + else + { + hp = Math.max(hp, 1); + } effected.setCurrentHp(hp, false); effected.broadcastStatusUpdate(effector); return skill.isToggle(); diff --git a/L2J_Mobius_Classic_2.4_SecretOfEmpire/dist/game/data/scripts/handlers/effecthandlers/ManaHealOverTime.java b/L2J_Mobius_Classic_2.4_SecretOfEmpire/dist/game/data/scripts/handlers/effecthandlers/ManaHealOverTime.java index cee0c7a7bb..1a7a02b86a 100644 --- a/L2J_Mobius_Classic_2.4_SecretOfEmpire/dist/game/data/scripts/handlers/effecthandlers/ManaHealOverTime.java +++ b/L2J_Mobius_Classic_2.4_SecretOfEmpire/dist/game/data/scripts/handlers/effecthandlers/ManaHealOverTime.java @@ -48,9 +48,19 @@ public class ManaHealOverTime extends AbstractEffect final double maxmp = effected.getMaxRecoverableMp(); // Not needed to set the MP and send update packet if player is already at max MP - if (mp >= maxmp) + if (_power > 0) { - return true; + if (mp >= maxmp) + { + return true; + } + } + else + { + if ((mp - _power) <= 0) + { + return true; + } } double power = _power; @@ -60,7 +70,14 @@ public class ManaHealOverTime extends AbstractEffect } mp += power * getTicksMultiplier(); - mp = Math.min(mp, maxmp); + if (_power > 0) + { + mp = Math.min(mp, maxmp); + } + else + { + mp = Math.max(mp, 1); + } effected.setCurrentMp(mp, false); effected.broadcastStatusUpdate(effector); return skill.isToggle(); diff --git a/L2J_Mobius_Classic_3.0_TheKamael/dist/game/data/scripts/handlers/effecthandlers/CpHealOverTime.java b/L2J_Mobius_Classic_3.0_TheKamael/dist/game/data/scripts/handlers/effecthandlers/CpHealOverTime.java index a4cd7eea6f..2da9b5de63 100644 --- a/L2J_Mobius_Classic_3.0_TheKamael/dist/game/data/scripts/handlers/effecthandlers/CpHealOverTime.java +++ b/L2J_Mobius_Classic_3.0_TheKamael/dist/game/data/scripts/handlers/effecthandlers/CpHealOverTime.java @@ -48,9 +48,19 @@ public class CpHealOverTime extends AbstractEffect final double maxcp = effected.getMaxRecoverableCp(); // Not needed to set the CP and send update packet if player is already at max CP - if (cp >= maxcp) + if (_power > 0) { - return false; + if (cp >= maxcp) + { + return false; + } + } + else + { + if ((cp - _power) <= 0) + { + return false; + } } double power = _power; @@ -60,7 +70,14 @@ public class CpHealOverTime extends AbstractEffect } cp += power * getTicksMultiplier(); - cp = Math.min(cp, maxcp); + if (_power > 0) + { + cp = Math.min(cp, maxcp); + } + else + { + cp = Math.max(cp, 1); + } effected.setCurrentCp(cp, false); effected.broadcastStatusUpdate(effector); return true; diff --git a/L2J_Mobius_Classic_3.0_TheKamael/dist/game/data/scripts/handlers/effecthandlers/HealOverTime.java b/L2J_Mobius_Classic_3.0_TheKamael/dist/game/data/scripts/handlers/effecthandlers/HealOverTime.java index 3e0db33e5a..e520fd6099 100644 --- a/L2J_Mobius_Classic_3.0_TheKamael/dist/game/data/scripts/handlers/effecthandlers/HealOverTime.java +++ b/L2J_Mobius_Classic_3.0_TheKamael/dist/game/data/scripts/handlers/effecthandlers/HealOverTime.java @@ -51,9 +51,19 @@ public class HealOverTime extends AbstractEffect final double maxhp = effected.getMaxRecoverableHp(); // Not needed to set the HP and send update packet if player is already at max HP - if (hp >= maxhp) + if (_power > 0) { - return false; + if (hp >= maxhp) + { + return false; + } + } + else + { + if ((hp - _power) <= 0) + { + return false; + } } double power = _power; @@ -67,7 +77,14 @@ public class HealOverTime extends AbstractEffect } hp += power * getTicksMultiplier(); - hp = Math.min(hp, maxhp); + if (_power > 0) + { + hp = Math.min(hp, maxhp); + } + else + { + hp = Math.max(hp, 1); + } effected.setCurrentHp(hp, false); effected.broadcastStatusUpdate(effector); return skill.isToggle(); diff --git a/L2J_Mobius_Classic_3.0_TheKamael/dist/game/data/scripts/handlers/effecthandlers/ManaHealOverTime.java b/L2J_Mobius_Classic_3.0_TheKamael/dist/game/data/scripts/handlers/effecthandlers/ManaHealOverTime.java index cee0c7a7bb..1a7a02b86a 100644 --- a/L2J_Mobius_Classic_3.0_TheKamael/dist/game/data/scripts/handlers/effecthandlers/ManaHealOverTime.java +++ b/L2J_Mobius_Classic_3.0_TheKamael/dist/game/data/scripts/handlers/effecthandlers/ManaHealOverTime.java @@ -48,9 +48,19 @@ public class ManaHealOverTime extends AbstractEffect final double maxmp = effected.getMaxRecoverableMp(); // Not needed to set the MP and send update packet if player is already at max MP - if (mp >= maxmp) + if (_power > 0) { - return true; + if (mp >= maxmp) + { + return true; + } + } + else + { + if ((mp - _power) <= 0) + { + return true; + } } double power = _power; @@ -60,7 +70,14 @@ public class ManaHealOverTime extends AbstractEffect } mp += power * getTicksMultiplier(); - mp = Math.min(mp, maxmp); + if (_power > 0) + { + mp = Math.min(mp, maxmp); + } + else + { + mp = Math.max(mp, 1); + } effected.setCurrentMp(mp, false); effected.broadcastStatusUpdate(effector); return skill.isToggle(); diff --git a/L2J_Mobius_Classic_Interlude/dist/game/data/scripts/handlers/effecthandlers/CpHealOverTime.java b/L2J_Mobius_Classic_Interlude/dist/game/data/scripts/handlers/effecthandlers/CpHealOverTime.java index a4cd7eea6f..2da9b5de63 100644 --- a/L2J_Mobius_Classic_Interlude/dist/game/data/scripts/handlers/effecthandlers/CpHealOverTime.java +++ b/L2J_Mobius_Classic_Interlude/dist/game/data/scripts/handlers/effecthandlers/CpHealOverTime.java @@ -48,9 +48,19 @@ public class CpHealOverTime extends AbstractEffect final double maxcp = effected.getMaxRecoverableCp(); // Not needed to set the CP and send update packet if player is already at max CP - if (cp >= maxcp) + if (_power > 0) { - return false; + if (cp >= maxcp) + { + return false; + } + } + else + { + if ((cp - _power) <= 0) + { + return false; + } } double power = _power; @@ -60,7 +70,14 @@ public class CpHealOverTime extends AbstractEffect } cp += power * getTicksMultiplier(); - cp = Math.min(cp, maxcp); + if (_power > 0) + { + cp = Math.min(cp, maxcp); + } + else + { + cp = Math.max(cp, 1); + } effected.setCurrentCp(cp, false); effected.broadcastStatusUpdate(effector); return true; diff --git a/L2J_Mobius_Classic_Interlude/dist/game/data/scripts/handlers/effecthandlers/HealOverTime.java b/L2J_Mobius_Classic_Interlude/dist/game/data/scripts/handlers/effecthandlers/HealOverTime.java index 57bc3e6558..6d92ab08f8 100644 --- a/L2J_Mobius_Classic_Interlude/dist/game/data/scripts/handlers/effecthandlers/HealOverTime.java +++ b/L2J_Mobius_Classic_Interlude/dist/game/data/scripts/handlers/effecthandlers/HealOverTime.java @@ -50,9 +50,19 @@ public class HealOverTime extends AbstractEffect final double maxhp = effected.getMaxRecoverableHp(); // Not needed to set the HP and send update packet if player is already at max HP - if (hp >= maxhp) + if (_power > 0) { - return false; + if (hp >= maxhp) + { + return false; + } + } + else + { + if ((hp - _power) <= 0) + { + return false; + } } double power = _power; @@ -62,7 +72,14 @@ public class HealOverTime extends AbstractEffect } hp += power * getTicksMultiplier(); - hp = Math.min(hp, maxhp); + if (_power > 0) + { + hp = Math.min(hp, maxhp); + } + else + { + hp = Math.max(hp, 1); + } effected.setCurrentHp(hp, false); effected.broadcastStatusUpdate(effector); return skill.isToggle(); diff --git a/L2J_Mobius_Classic_Interlude/dist/game/data/scripts/handlers/effecthandlers/ManaHealOverTime.java b/L2J_Mobius_Classic_Interlude/dist/game/data/scripts/handlers/effecthandlers/ManaHealOverTime.java index cee0c7a7bb..1a7a02b86a 100644 --- a/L2J_Mobius_Classic_Interlude/dist/game/data/scripts/handlers/effecthandlers/ManaHealOverTime.java +++ b/L2J_Mobius_Classic_Interlude/dist/game/data/scripts/handlers/effecthandlers/ManaHealOverTime.java @@ -48,9 +48,19 @@ public class ManaHealOverTime extends AbstractEffect final double maxmp = effected.getMaxRecoverableMp(); // Not needed to set the MP and send update packet if player is already at max MP - if (mp >= maxmp) + if (_power > 0) { - return true; + if (mp >= maxmp) + { + return true; + } + } + else + { + if ((mp - _power) <= 0) + { + return true; + } } double power = _power; @@ -60,7 +70,14 @@ public class ManaHealOverTime extends AbstractEffect } mp += power * getTicksMultiplier(); - mp = Math.min(mp, maxmp); + if (_power > 0) + { + mp = Math.min(mp, maxmp); + } + else + { + mp = Math.max(mp, 1); + } effected.setCurrentMp(mp, false); effected.broadcastStatusUpdate(effector); return skill.isToggle();