From 320147f56963fad9e48b3a119d9ca126886c7b2b Mon Sep 17 00:00:00 2001 From: Nos <NosBit@users.noreply.github.com> Date: Mon, 27 Jan 2014 15:59:30 +0000 Subject: [PATCH] BETA: Fixed `TriggerSkillByDamage` effect it should not work for damage taken over time. Reported by: facheme Reviewed by: St3et --- .../game/data/scripts/handlers/effecthandlers/Backstab.java | 2 +- .../data/scripts/handlers/effecthandlers/CpDamPercent.java | 2 +- .../data/scripts/handlers/effecthandlers/DamOverTime.java | 2 +- .../scripts/handlers/effecthandlers/DamOverTimePercent.java | 2 +- .../data/scripts/handlers/effecthandlers/DeathLink.java | 4 ++-- .../data/scripts/handlers/effecthandlers/EnergyAttack.java | 2 +- .../data/scripts/handlers/effecthandlers/FatalBlow.java | 2 +- .../game/data/scripts/handlers/effecthandlers/HpDrain.java | 2 +- .../game/data/scripts/handlers/effecthandlers/Lethal.java | 6 +++--- .../data/scripts/handlers/effecthandlers/MagicalAttack.java | 4 ++-- .../scripts/handlers/effecthandlers/MagicalSoulAttack.java | 4 ++-- .../scripts/handlers/effecthandlers/PhysicalAttack.java | 2 +- .../handlers/effecthandlers/PhysicalAttackHpLink.java | 2 +- .../scripts/handlers/effecthandlers/PhysicalSoulAttack.java | 2 +- .../game/data/scripts/handlers/effecthandlers/SoulBlow.java | 2 +- .../data/scripts/handlers/effecthandlers/StaticDamage.java | 2 +- .../handlers/effecthandlers/TriggerSkillByDamage.java | 4 ++-- .../data/scripts/handlers/skillhandlers/BallistaBomb.java | 2 +- 18 files changed, 24 insertions(+), 24 deletions(-) diff --git a/L2J_DataPack_BETA/dist/game/data/scripts/handlers/effecthandlers/Backstab.java b/L2J_DataPack_BETA/dist/game/data/scripts/handlers/effecthandlers/Backstab.java index 60de8e0a69..93b552fa8d 100644 --- a/L2J_DataPack_BETA/dist/game/data/scripts/handlers/effecthandlers/Backstab.java +++ b/L2J_DataPack_BETA/dist/game/data/scripts/handlers/effecthandlers/Backstab.java @@ -79,7 +79,7 @@ public final class Backstab extends AbstractEffect } target.reduceCurrentHp(damage, activeChar, info.getSkill()); - target.notifyDamageReceived(damage, activeChar, info.getSkill(), true); + target.notifyDamageReceived(damage, activeChar, info.getSkill(), true, false); // Manage attack or cast break of the target (calculating rate, sending message...) if (!target.isRaid() && Formulas.calcAtkBreak(target, damage)) diff --git a/L2J_DataPack_BETA/dist/game/data/scripts/handlers/effecthandlers/CpDamPercent.java b/L2J_DataPack_BETA/dist/game/data/scripts/handlers/effecthandlers/CpDamPercent.java index 0ea4b13c78..fba1a8b309 100644 --- a/L2J_DataPack_BETA/dist/game/data/scripts/handlers/effecthandlers/CpDamPercent.java +++ b/L2J_DataPack_BETA/dist/game/data/scripts/handlers/effecthandlers/CpDamPercent.java @@ -72,7 +72,7 @@ public final class CpDamPercent extends AbstractEffect if (info.getEffected() != info.getEffector()) { info.getEffector().sendDamageMessage(info.getEffected(), damage, false, false, false); - info.getEffected().notifyDamageReceived(damage, info.getEffector(), info.getSkill(), false); + info.getEffected().notifyDamageReceived(damage, info.getEffector(), info.getSkill(), false, false); } } // Check if damage should be reflected diff --git a/L2J_DataPack_BETA/dist/game/data/scripts/handlers/effecthandlers/DamOverTime.java b/L2J_DataPack_BETA/dist/game/data/scripts/handlers/effecthandlers/DamOverTime.java index 2d29dda1e3..0f7ae423c0 100644 --- a/L2J_DataPack_BETA/dist/game/data/scripts/handlers/effecthandlers/DamOverTime.java +++ b/L2J_DataPack_BETA/dist/game/data/scripts/handlers/effecthandlers/DamOverTime.java @@ -74,7 +74,7 @@ public final class DamOverTime extends AbstractEffect } info.getEffected().reduceCurrentHpByDOT(damage, info.getEffector(), info.getSkill()); - info.getEffected().notifyDamageReceived(damage, info.getEffector(), info.getSkill(), false); + info.getEffected().notifyDamageReceived(damage, info.getEffector(), info.getSkill(), false, true); return info.getSkill().isToggle(); } } diff --git a/L2J_DataPack_BETA/dist/game/data/scripts/handlers/effecthandlers/DamOverTimePercent.java b/L2J_DataPack_BETA/dist/game/data/scripts/handlers/effecthandlers/DamOverTimePercent.java index b40cbf2c5e..4deae41ef0 100644 --- a/L2J_DataPack_BETA/dist/game/data/scripts/handlers/effecthandlers/DamOverTimePercent.java +++ b/L2J_DataPack_BETA/dist/game/data/scripts/handlers/effecthandlers/DamOverTimePercent.java @@ -75,7 +75,7 @@ public final class DamOverTimePercent extends AbstractEffect } } info.getEffected().reduceCurrentHpByDOT(damage, info.getEffector(), info.getSkill()); - info.getEffected().notifyDamageReceived(damage, info.getEffector(), info.getSkill(), false); + info.getEffected().notifyDamageReceived(damage, info.getEffector(), info.getSkill(), false, true); return info.getSkill().isToggle(); } diff --git a/L2J_DataPack_BETA/dist/game/data/scripts/handlers/effecthandlers/DeathLink.java b/L2J_DataPack_BETA/dist/game/data/scripts/handlers/effecthandlers/DeathLink.java index 2ab8d4fe48..35be7721ec 100644 --- a/L2J_DataPack_BETA/dist/game/data/scripts/handlers/effecthandlers/DeathLink.java +++ b/L2J_DataPack_BETA/dist/game/data/scripts/handlers/effecthandlers/DeathLink.java @@ -88,12 +88,12 @@ public final class DeathLink extends AbstractEffect if (target.getStat().calcStat(Stats.VENGEANCE_SKILL_MAGIC_DAMAGE, 0, target, info.getSkill()) > Rnd.get(100)) { activeChar.reduceCurrentHp(damage, target, info.getSkill()); - activeChar.notifyDamageReceived(damage, target, info.getSkill(), mcrit); + activeChar.notifyDamageReceived(damage, target, info.getSkill(), mcrit, false); } else { target.reduceCurrentHp(damage, activeChar, info.getSkill()); - target.notifyDamageReceived(damage, activeChar, info.getSkill(), mcrit); + target.notifyDamageReceived(damage, activeChar, info.getSkill(), mcrit, false); activeChar.sendDamageMessage(target, damage, mcrit, false, false); } } diff --git a/L2J_DataPack_BETA/dist/game/data/scripts/handlers/effecthandlers/EnergyAttack.java b/L2J_DataPack_BETA/dist/game/data/scripts/handlers/effecthandlers/EnergyAttack.java index aea5c3cb62..b4869cbc7d 100644 --- a/L2J_DataPack_BETA/dist/game/data/scripts/handlers/effecthandlers/EnergyAttack.java +++ b/L2J_DataPack_BETA/dist/game/data/scripts/handlers/effecthandlers/EnergyAttack.java @@ -158,7 +158,7 @@ public final class EnergyAttack extends AbstractEffect { attacker.sendDamageMessage(target, (int) damage, false, critical, false); target.reduceCurrentHp(damage, attacker, skill); - target.notifyDamageReceived(damage, attacker, skill, critical); + target.notifyDamageReceived(damage, attacker, skill, critical, false); // Check if damage should be reflected Formulas.calcDamageReflected(attacker, target, skill, critical); diff --git a/L2J_DataPack_BETA/dist/game/data/scripts/handlers/effecthandlers/FatalBlow.java b/L2J_DataPack_BETA/dist/game/data/scripts/handlers/effecthandlers/FatalBlow.java index eb87143306..e0eb307ab2 100644 --- a/L2J_DataPack_BETA/dist/game/data/scripts/handlers/effecthandlers/FatalBlow.java +++ b/L2J_DataPack_BETA/dist/game/data/scripts/handlers/effecthandlers/FatalBlow.java @@ -81,7 +81,7 @@ public final class FatalBlow extends AbstractEffect } target.reduceCurrentHp(damage, activeChar, info.getSkill()); - target.notifyDamageReceived(damage, activeChar, info.getSkill(), crit); + target.notifyDamageReceived(damage, activeChar, info.getSkill(), crit, false); // Manage attack or cast break of the target (calculating rate, sending message...) if (!target.isRaid() && Formulas.calcAtkBreak(target, damage)) diff --git a/L2J_DataPack_BETA/dist/game/data/scripts/handlers/effecthandlers/HpDrain.java b/L2J_DataPack_BETA/dist/game/data/scripts/handlers/effecthandlers/HpDrain.java index ef3442cae3..70c21fd1fc 100644 --- a/L2J_DataPack_BETA/dist/game/data/scripts/handlers/effecthandlers/HpDrain.java +++ b/L2J_DataPack_BETA/dist/game/data/scripts/handlers/effecthandlers/HpDrain.java @@ -99,7 +99,7 @@ public final class HpDrain extends AbstractEffect } activeChar.sendDamageMessage(target, damage, mcrit, false, false); target.reduceCurrentHp(damage, activeChar, info.getSkill()); - target.notifyDamageReceived(damage, activeChar, info.getSkill(), mcrit); + target.notifyDamageReceived(damage, activeChar, info.getSkill(), mcrit, false); } } } \ No newline at end of file diff --git a/L2J_DataPack_BETA/dist/game/data/scripts/handlers/effecthandlers/Lethal.java b/L2J_DataPack_BETA/dist/game/data/scripts/handlers/effecthandlers/Lethal.java index a76862c140..4221671a57 100644 --- a/L2J_DataPack_BETA/dist/game/data/scripts/handlers/effecthandlers/Lethal.java +++ b/L2J_DataPack_BETA/dist/game/data/scripts/handlers/effecthandlers/Lethal.java @@ -83,7 +83,7 @@ public final class Lethal extends AbstractEffect // for Players CP and HP is set to 1. if (target.isPlayer()) { - target.notifyDamageReceived(target.getCurrentHp() - 1, info.getEffector(), info.getSkill(), true); + target.notifyDamageReceived(target.getCurrentHp() - 1, info.getEffector(), info.getSkill(), true, false); target.setCurrentCp(1); target.setCurrentHp(1); target.sendPacket(SystemMessageId.LETHAL_STRIKE); @@ -91,7 +91,7 @@ public final class Lethal extends AbstractEffect // for Monsters HP is set to 1. else if (target.isMonster() || target.isSummon()) { - target.notifyDamageReceived(target.getCurrentHp() - 1, info.getEffector(), info.getSkill(), true); + target.notifyDamageReceived(target.getCurrentHp() - 1, info.getEffector(), info.getSkill(), true, false); target.setCurrentHp(1); } activeChar.sendPacket(SystemMessageId.LETHAL_STRIKE_SUCCESSFUL); @@ -109,7 +109,7 @@ public final class Lethal extends AbstractEffect // for Monsters HP is set to 50%. else if (target.isMonster() || target.isSummon()) { - target.notifyDamageReceived(target.getCurrentHp() * 0.5, info.getEffector(), info.getSkill(), true); + target.notifyDamageReceived(target.getCurrentHp() * 0.5, info.getEffector(), info.getSkill(), true, false); target.setCurrentHp(target.getCurrentHp() * 0.5); } activeChar.sendPacket(SystemMessageId.HALF_KILL); diff --git a/L2J_DataPack_BETA/dist/game/data/scripts/handlers/effecthandlers/MagicalAttack.java b/L2J_DataPack_BETA/dist/game/data/scripts/handlers/effecthandlers/MagicalAttack.java index 83a0a80de0..fd6aa35f74 100644 --- a/L2J_DataPack_BETA/dist/game/data/scripts/handlers/effecthandlers/MagicalAttack.java +++ b/L2J_DataPack_BETA/dist/game/data/scripts/handlers/effecthandlers/MagicalAttack.java @@ -88,12 +88,12 @@ public final class MagicalAttack extends AbstractEffect if (target.getStat().calcStat(Stats.VENGEANCE_SKILL_MAGIC_DAMAGE, 0, target, info.getSkill()) > Rnd.get(100)) { activeChar.reduceCurrentHp(damage, target, info.getSkill()); - activeChar.notifyDamageReceived(damage, target, info.getSkill(), mcrit); + activeChar.notifyDamageReceived(damage, target, info.getSkill(), mcrit, false); } else { target.reduceCurrentHp(damage, activeChar, info.getSkill()); - target.notifyDamageReceived(damage, activeChar, info.getSkill(), mcrit); + target.notifyDamageReceived(damage, activeChar, info.getSkill(), mcrit, false); activeChar.sendDamageMessage(target, damage, mcrit, false, false); } } diff --git a/L2J_DataPack_BETA/dist/game/data/scripts/handlers/effecthandlers/MagicalSoulAttack.java b/L2J_DataPack_BETA/dist/game/data/scripts/handlers/effecthandlers/MagicalSoulAttack.java index 299f763dbc..82461ecc90 100644 --- a/L2J_DataPack_BETA/dist/game/data/scripts/handlers/effecthandlers/MagicalSoulAttack.java +++ b/L2J_DataPack_BETA/dist/game/data/scripts/handlers/effecthandlers/MagicalSoulAttack.java @@ -100,12 +100,12 @@ public final class MagicalSoulAttack extends AbstractEffect if (target.getStat().calcStat(Stats.VENGEANCE_SKILL_MAGIC_DAMAGE, 0, target, info.getSkill()) > Rnd.get(100)) { activeChar.reduceCurrentHp(damage, target, info.getSkill()); - activeChar.notifyDamageReceived(damage, target, info.getSkill(), mcrit); + activeChar.notifyDamageReceived(damage, target, info.getSkill(), mcrit, false); } else { target.reduceCurrentHp(damage, activeChar, info.getSkill()); - target.notifyDamageReceived(damage, activeChar, info.getSkill(), mcrit); + target.notifyDamageReceived(damage, activeChar, info.getSkill(), mcrit, false); activeChar.sendDamageMessage(target, damage, mcrit, false, false); } } diff --git a/L2J_DataPack_BETA/dist/game/data/scripts/handlers/effecthandlers/PhysicalAttack.java b/L2J_DataPack_BETA/dist/game/data/scripts/handlers/effecthandlers/PhysicalAttack.java index a97f465551..0207e352dc 100644 --- a/L2J_DataPack_BETA/dist/game/data/scripts/handlers/effecthandlers/PhysicalAttack.java +++ b/L2J_DataPack_BETA/dist/game/data/scripts/handlers/effecthandlers/PhysicalAttack.java @@ -104,7 +104,7 @@ public final class PhysicalAttack extends AbstractEffect { activeChar.sendDamageMessage(target, damage, false, crit, false); target.reduceCurrentHp(damage, activeChar, info.getSkill()); - target.notifyDamageReceived(damage, activeChar, info.getSkill(), crit); + target.notifyDamageReceived(damage, activeChar, info.getSkill(), crit, false); // Check if damage should be reflected Formulas.calcDamageReflected(activeChar, target, info.getSkill(), crit); diff --git a/L2J_DataPack_BETA/dist/game/data/scripts/handlers/effecthandlers/PhysicalAttackHpLink.java b/L2J_DataPack_BETA/dist/game/data/scripts/handlers/effecthandlers/PhysicalAttackHpLink.java index 51266ddee6..f7bdda2321 100644 --- a/L2J_DataPack_BETA/dist/game/data/scripts/handlers/effecthandlers/PhysicalAttackHpLink.java +++ b/L2J_DataPack_BETA/dist/game/data/scripts/handlers/effecthandlers/PhysicalAttackHpLink.java @@ -94,7 +94,7 @@ public final class PhysicalAttackHpLink extends AbstractEffect { activeChar.sendDamageMessage(target, damage, false, crit, false); target.reduceCurrentHp(damage, activeChar, info.getSkill()); - target.notifyDamageReceived(damage, activeChar, info.getSkill(), crit); + target.notifyDamageReceived(damage, activeChar, info.getSkill(), crit, false); // Check if damage should be reflected. Formulas.calcDamageReflected(activeChar, target, info.getSkill(), crit); diff --git a/L2J_DataPack_BETA/dist/game/data/scripts/handlers/effecthandlers/PhysicalSoulAttack.java b/L2J_DataPack_BETA/dist/game/data/scripts/handlers/effecthandlers/PhysicalSoulAttack.java index 80644c5a16..3c796ead08 100644 --- a/L2J_DataPack_BETA/dist/game/data/scripts/handlers/effecthandlers/PhysicalSoulAttack.java +++ b/L2J_DataPack_BETA/dist/game/data/scripts/handlers/effecthandlers/PhysicalSoulAttack.java @@ -110,7 +110,7 @@ public final class PhysicalSoulAttack extends AbstractEffect { activeChar.sendDamageMessage(target, damage, false, crit, false); target.reduceCurrentHp(damage, activeChar, info.getSkill()); - target.notifyDamageReceived(damage, activeChar, info.getSkill(), crit); + target.notifyDamageReceived(damage, activeChar, info.getSkill(), crit, false); // Check if damage should be reflected Formulas.calcDamageReflected(activeChar, target, info.getSkill(), crit); diff --git a/L2J_DataPack_BETA/dist/game/data/scripts/handlers/effecthandlers/SoulBlow.java b/L2J_DataPack_BETA/dist/game/data/scripts/handlers/effecthandlers/SoulBlow.java index d6980fa993..b9f9b7527f 100644 --- a/L2J_DataPack_BETA/dist/game/data/scripts/handlers/effecthandlers/SoulBlow.java +++ b/L2J_DataPack_BETA/dist/game/data/scripts/handlers/effecthandlers/SoulBlow.java @@ -90,7 +90,7 @@ public final class SoulBlow extends AbstractEffect } target.reduceCurrentHp(damage, activeChar, info.getSkill()); - target.notifyDamageReceived(damage, activeChar, info.getSkill(), crit); + target.notifyDamageReceived(damage, activeChar, info.getSkill(), crit, false); // Manage attack or cast break of the target (calculating rate, sending message...) if (!target.isRaid() && Formulas.calcAtkBreak(target, damage)) diff --git a/L2J_DataPack_BETA/dist/game/data/scripts/handlers/effecthandlers/StaticDamage.java b/L2J_DataPack_BETA/dist/game/data/scripts/handlers/effecthandlers/StaticDamage.java index 0a13cadc17..302ce8c5a6 100644 --- a/L2J_DataPack_BETA/dist/game/data/scripts/handlers/effecthandlers/StaticDamage.java +++ b/L2J_DataPack_BETA/dist/game/data/scripts/handlers/effecthandlers/StaticDamage.java @@ -56,7 +56,7 @@ public final class StaticDamage extends AbstractEffect } info.getEffected().reduceCurrentHp(getValue(), info.getEffector(), info.getSkill()); - info.getEffected().notifyDamageReceived(getValue(), info.getEffector(), info.getSkill(), false); + info.getEffected().notifyDamageReceived(getValue(), info.getEffector(), info.getSkill(), false, false); if (info.getEffector().isPlayer()) { diff --git a/L2J_DataPack_BETA/dist/game/data/scripts/handlers/effecthandlers/TriggerSkillByDamage.java b/L2J_DataPack_BETA/dist/game/data/scripts/handlers/effecthandlers/TriggerSkillByDamage.java index 50d1885daf..5d3035df5c 100644 --- a/L2J_DataPack_BETA/dist/game/data/scripts/handlers/effecthandlers/TriggerSkillByDamage.java +++ b/L2J_DataPack_BETA/dist/game/data/scripts/handlers/effecthandlers/TriggerSkillByDamage.java @@ -60,9 +60,9 @@ public class TriggerSkillByDamage extends AbstractEffect implements IDamageRecei } @Override - public void onDamageReceivedEvent(L2Character attacker, L2Character target, double damage, L2Skill skill, boolean crit) + public void onDamageReceivedEvent(L2Character attacker, L2Character target, double damage, L2Skill skill, boolean crit, boolean damageOverTime) { - if ((_chance == 0) || (_skill.getSkillLvl() == 0)) + if (damageOverTime || (_chance == 0) || (_skill.getSkillLvl() == 0)) { return; } diff --git a/L2J_DataPack_BETA/dist/game/data/scripts/handlers/skillhandlers/BallistaBomb.java b/L2J_DataPack_BETA/dist/game/data/scripts/handlers/skillhandlers/BallistaBomb.java index 078de85fa1..dd58298ce6 100644 --- a/L2J_DataPack_BETA/dist/game/data/scripts/handlers/skillhandlers/BallistaBomb.java +++ b/L2J_DataPack_BETA/dist/game/data/scripts/handlers/skillhandlers/BallistaBomb.java @@ -54,7 +54,7 @@ public class BallistaBomb implements ISkillHandler { target.setIsInvul(false); target.reduceCurrentHp(target.getMaxHp() + 1, activeChar, skill); - target.notifyDamageReceived(target.getMaxHp() + 1, activeChar, skill, false); + target.notifyDamageReceived(target.getMaxHp() + 1, activeChar, skill, false, false); } } } -- GitLab