diff --git a/L2J_DataPack_BETA/dist/game/data/scripts/handlers/effecthandlers/CpHeal.java b/L2J_DataPack_BETA/dist/game/data/scripts/handlers/effecthandlers/CpHeal.java index 24e34ecc11a267c7a859a3ce7b177d73d50432cc..d258c439f943ab273529d84ac0012e3910b44464 100644 --- a/L2J_DataPack_BETA/dist/game/data/scripts/handlers/effecthandlers/CpHeal.java +++ b/L2J_DataPack_BETA/dist/game/data/scripts/handlers/effecthandlers/CpHeal.java @@ -52,19 +52,20 @@ public class CpHeal extends L2Effect return false; } - StatusUpdate su = new StatusUpdate(target); double amount = calc(); // Prevents overheal and negative amount amount = Math.max(Math.min(amount, target.getMaxRecoverableCp() - target.getCurrentCp()), 0); - - target.setCurrentCp(amount + target.getCurrentCp()); - + if (amount != 0) + { + target.setCurrentCp(amount + target.getCurrentCp()); + StatusUpdate su = new StatusUpdate(target); + su.addAttribute(StatusUpdate.CUR_CP, (int) target.getCurrentCp()); + target.sendPacket(su); + } SystemMessage sm = SystemMessage.getSystemMessage(SystemMessageId.S1_CP_WILL_BE_RESTORED); sm.addNumber((int) amount); target.sendPacket(sm); - su.addAttribute(StatusUpdate.CUR_CP, (int) target.getCurrentCp()); - target.sendPacket(su); return true; } diff --git a/L2J_DataPack_BETA/dist/game/data/scripts/handlers/effecthandlers/CpHealPercent.java b/L2J_DataPack_BETA/dist/game/data/scripts/handlers/effecthandlers/CpHealPercent.java index f0f6d74fbc3a88eee670d58da7a2c2d614e02dc5..a841de31dc2aa1fe84c4c2bc99edccd00bd0c679 100644 --- a/L2J_DataPack_BETA/dist/game/data/scripts/handlers/effecthandlers/CpHealPercent.java +++ b/L2J_DataPack_BETA/dist/game/data/scripts/handlers/effecthandlers/CpHealPercent.java @@ -51,23 +51,24 @@ public class CpHealPercent extends L2Effect { return false; } - StatusUpdate su = new StatusUpdate(target); + double amount = 0; double power = calc(); boolean full = (power == 100.0); amount = full ? target.getMaxCp() : (target.getMaxCp() * power) / 100.0; - // Prevents overheal and negative amount amount = Math.max(Math.min(amount, target.getMaxRecoverableCp() - target.getCurrentCp()), 0); - - target.setCurrentCp(amount + target.getCurrentCp()); - + if (amount != 0) + { + target.setCurrentCp(amount + target.getCurrentCp()); + StatusUpdate su = new StatusUpdate(target); + su.addAttribute(StatusUpdate.CUR_CP, (int) target.getCurrentCp()); + target.sendPacket(su); + } SystemMessage sm = SystemMessage.getSystemMessage(SystemMessageId.S1_CP_WILL_BE_RESTORED); sm.addNumber((int) amount); target.sendPacket(sm); - su.addAttribute(StatusUpdate.CUR_CP, (int) target.getCurrentCp()); - target.sendPacket(su); return true; } diff --git a/L2J_DataPack_BETA/dist/game/data/scripts/handlers/effecthandlers/Heal.java b/L2J_DataPack_BETA/dist/game/data/scripts/handlers/effecthandlers/Heal.java index 25d8d5c966c4491ad899276170a79e9a7758c911..17b165076a119ba56d76634446acfbad0ef502c9 100644 --- a/L2J_DataPack_BETA/dist/game/data/scripts/handlers/effecthandlers/Heal.java +++ b/L2J_DataPack_BETA/dist/game/data/scripts/handlers/effecthandlers/Heal.java @@ -101,10 +101,13 @@ public class Heal extends L2Effect // Prevents overheal and negative amount amount = Math.max(Math.min(amount, target.getMaxRecoverableHp() - target.getCurrentHp()), 0); - target.setCurrentHp(amount + target.getCurrentHp()); - StatusUpdate su = new StatusUpdate(target); - su.addAttribute(StatusUpdate.CUR_HP, (int) target.getCurrentHp()); - target.sendPacket(su); + if (amount != 0) + { + target.setCurrentHp(amount + target.getCurrentHp()); + StatusUpdate su = new StatusUpdate(target); + su.addAttribute(StatusUpdate.CUR_HP, (int) target.getCurrentHp()); + target.sendPacket(su); + } if (target.isPlayer()) { diff --git a/L2J_DataPack_BETA/dist/game/data/scripts/handlers/effecthandlers/HealOverTime.java b/L2J_DataPack_BETA/dist/game/data/scripts/handlers/effecthandlers/HealOverTime.java index 020ccd094ba612971565cbf6a8989cd978cd6cdd..44c56e5e5a4c99cf0cedf026618c9b8cb5c08970 100644 --- a/L2J_DataPack_BETA/dist/game/data/scripts/handlers/effecthandlers/HealOverTime.java +++ b/L2J_DataPack_BETA/dist/game/data/scripts/handlers/effecthandlers/HealOverTime.java @@ -63,11 +63,7 @@ public class HealOverTime extends L2Effect @Override public boolean onActionTime() { - if (getEffected().isDead()) - { - return false; - } - else if (getEffected().isDoor()) + if (getEffected().isDead() || getEffected().isDoor()) { return false; } diff --git a/L2J_DataPack_BETA/dist/game/data/scripts/handlers/effecthandlers/HealPercent.java b/L2J_DataPack_BETA/dist/game/data/scripts/handlers/effecthandlers/HealPercent.java index 76cafbf10f75ba4b36220f133d66717938e034f2..8653a3e1674255f0550e7311e1227841c9caf3be 100644 --- a/L2J_DataPack_BETA/dist/game/data/scripts/handlers/effecthandlers/HealPercent.java +++ b/L2J_DataPack_BETA/dist/game/data/scripts/handlers/effecthandlers/HealPercent.java @@ -52,18 +52,20 @@ public class HealPercent extends L2Effect return false; } - StatusUpdate su = new StatusUpdate(target); double amount = 0; double power = calc(); boolean full = (power == 100.0); amount = full ? target.getMaxHp() : (target.getMaxHp() * power) / 100.0; - // Prevents overheal and negative amount amount = Math.max(Math.min(amount, target.getMaxRecoverableHp() - target.getCurrentHp()), 0); - - target.setCurrentHp(amount + target.getCurrentHp()); - + if (amount != 0) + { + target.setCurrentHp(amount + target.getCurrentHp()); + StatusUpdate su = new StatusUpdate(target); + su.addAttribute(StatusUpdate.CUR_HP, (int) target.getCurrentHp()); + target.sendPacket(su); + } SystemMessage sm; if (getEffector().getObjectId() != target.getObjectId()) { @@ -74,11 +76,8 @@ public class HealPercent extends L2Effect { sm = SystemMessage.getSystemMessage(SystemMessageId.S1_HP_RESTORED); } - sm.addNumber((int) amount); target.sendPacket(sm); - su.addAttribute(StatusUpdate.CUR_HP, (int) target.getCurrentHp()); - target.sendPacket(su); return true; } diff --git a/L2J_DataPack_BETA/dist/game/data/scripts/handlers/effecthandlers/ManaHeal.java b/L2J_DataPack_BETA/dist/game/data/scripts/handlers/effecthandlers/ManaHeal.java index 48ffb3c485390e9a7d613007ee4f508aa753f2dd..194738dce79ffa105a714e0f47502d6771cf4940 100644 --- a/L2J_DataPack_BETA/dist/game/data/scripts/handlers/effecthandlers/ManaHeal.java +++ b/L2J_DataPack_BETA/dist/game/data/scripts/handlers/effecthandlers/ManaHeal.java @@ -53,8 +53,6 @@ public class ManaHeal extends L2Effect return false; } - StatusUpdate su = new StatusUpdate(target); - double amount = calc(); if (!getSkill().isStatic()) @@ -64,9 +62,13 @@ public class ManaHeal extends L2Effect // Prevents overheal and negative amount amount = Math.max(Math.min(amount, target.getMaxRecoverableMp() - target.getCurrentMp()), 0); - - target.setCurrentMp(amount + target.getCurrentMp()); - + if (amount != 0) + { + target.setCurrentMp(amount + target.getCurrentMp()); + StatusUpdate su = new StatusUpdate(target); + su.addAttribute(StatusUpdate.CUR_MP, (int) target.getCurrentMp()); + target.sendPacket(su); + } SystemMessage sm; if (getEffector().getObjectId() != target.getObjectId()) { @@ -79,8 +81,6 @@ public class ManaHeal extends L2Effect } sm.addNumber((int) amount); target.sendPacket(sm); - su.addAttribute(StatusUpdate.CUR_MP, (int) target.getCurrentMp()); - target.sendPacket(su); return true; } diff --git a/L2J_DataPack_BETA/dist/game/data/scripts/handlers/effecthandlers/ManaHealByLevel.java b/L2J_DataPack_BETA/dist/game/data/scripts/handlers/effecthandlers/ManaHealByLevel.java index 18f3d773654fb7cfb7ab14979de9daa0d15c477a..8f6d822b4dad1a0baa1341b159cf5d47eb457ad6 100644 --- a/L2J_DataPack_BETA/dist/game/data/scripts/handlers/effecthandlers/ManaHealByLevel.java +++ b/L2J_DataPack_BETA/dist/game/data/scripts/handlers/effecthandlers/ManaHealByLevel.java @@ -53,7 +53,6 @@ public class ManaHealByLevel extends L2Effect return false; } - StatusUpdate su = new StatusUpdate(target); double amount = calc(); // recharged mp influenced by difference between target level and skill level @@ -107,9 +106,13 @@ public class ManaHealByLevel extends L2Effect // Prevents overheal and negative amount amount = Math.max(Math.min(amount, target.getMaxRecoverableMp() - target.getCurrentMp()), 0); - - target.setCurrentMp(amount + target.getCurrentMp()); - + if (amount != 0) + { + target.setCurrentMp(amount + target.getCurrentMp()); + StatusUpdate su = new StatusUpdate(target); + su.addAttribute(StatusUpdate.CUR_MP, (int) target.getCurrentMp()); + target.sendPacket(su); + } SystemMessage sm; if (getEffector().getObjectId() != target.getObjectId()) { @@ -122,8 +125,6 @@ public class ManaHealByLevel extends L2Effect } sm.addNumber((int) amount); target.sendPacket(sm); - su.addAttribute(StatusUpdate.CUR_MP, (int) target.getCurrentMp()); - target.sendPacket(su); return true; } diff --git a/L2J_DataPack_BETA/dist/game/data/scripts/handlers/effecthandlers/ManaHealPercent.java b/L2J_DataPack_BETA/dist/game/data/scripts/handlers/effecthandlers/ManaHealPercent.java index 06cd62f7afb5a6e5710cda61ffdfe1dded1dac91..36589ca33503df1092af6a923fc41fe23a2e6473 100644 --- a/L2J_DataPack_BETA/dist/game/data/scripts/handlers/effecthandlers/ManaHealPercent.java +++ b/L2J_DataPack_BETA/dist/game/data/scripts/handlers/effecthandlers/ManaHealPercent.java @@ -51,18 +51,21 @@ public class ManaHealPercent extends L2Effect { return false; } - StatusUpdate su = new StatusUpdate(target); + double amount = 0; double power = calc(); boolean full = (power == 100.0); amount = full ? target.getMaxMp() : (target.getMaxMp() * power) / 100.0; - // Prevents overheal and negative amount amount = Math.max(Math.min(amount, target.getMaxRecoverableMp() - target.getCurrentMp()), 0); - - target.setCurrentMp(amount + target.getCurrentMp()); - + if (amount != 0) + { + target.setCurrentMp(amount + target.getCurrentMp()); + StatusUpdate su = new StatusUpdate(target); + su.addAttribute(StatusUpdate.CUR_MP, (int) target.getCurrentMp()); + target.sendPacket(su); + } SystemMessage sm; if (getEffector().getObjectId() != target.getObjectId()) { @@ -75,8 +78,6 @@ public class ManaHealPercent extends L2Effect } sm.addNumber((int) amount); target.sendPacket(sm); - su.addAttribute(StatusUpdate.CUR_MP, (int) target.getCurrentMp()); - target.sendPacket(su); return true; }