From 12e26c7a8d747d891e10e6db5f4785e70ea4284f Mon Sep 17 00:00:00 2001 From: Zoey76 <zoey_76@msn.com> Date: Sat, 9 Oct 2021 23:50:33 -0300 Subject: [PATCH] Removing custom attribute dmgDirectlyToHp from Backstab https://trello.com/c/Yj4JzrmW/90-remove-custom-attribute-dmgdirectlytohp-from-skill --- .../effecthandlers/instant/Backstab.java | 22 +++++++++---------- .../data/stats/skills/00000-00099.xml | 1 - 2 files changed, 11 insertions(+), 12 deletions(-) diff --git a/src/main/java/com/l2jserver/datapack/handlers/effecthandlers/instant/Backstab.java b/src/main/java/com/l2jserver/datapack/handlers/effecthandlers/instant/Backstab.java index c6dd30e147..1adef62557 100644 --- a/src/main/java/com/l2jserver/datapack/handlers/effecthandlers/instant/Backstab.java +++ b/src/main/java/com/l2jserver/datapack/handlers/effecthandlers/instant/Backstab.java @@ -20,13 +20,10 @@ package com.l2jserver.datapack.handlers.effecthandlers.instant; import com.l2jserver.gameserver.enums.ShotType; import com.l2jserver.gameserver.model.StatsSet; -import com.l2jserver.gameserver.model.actor.L2Character; -import com.l2jserver.gameserver.model.actor.instance.L2PcInstance; import com.l2jserver.gameserver.model.conditions.Condition; import com.l2jserver.gameserver.model.effects.AbstractEffect; import com.l2jserver.gameserver.model.effects.L2EffectType; import com.l2jserver.gameserver.model.skills.BuffInfo; -import com.l2jserver.gameserver.model.skills.Skill; import com.l2jserver.gameserver.model.stats.Formulas; /** @@ -67,11 +64,11 @@ public final class Backstab extends AbstractEffect { return; } - final L2Character target = info.getEffected(); - final L2Character activeChar = info.getEffector(); - final Skill skill = info.getSkill(); - boolean ss = skill.useSoulShot() && activeChar.isChargedShot(ShotType.SOULSHOTS); - byte shld = Formulas.calcShldUse(activeChar, target, skill); + final var target = info.getEffected(); + final var activeChar = info.getEffector(); + final var skill = info.getSkill(); + final boolean ss = skill.useSoulShot() && activeChar.isChargedShot(ShotType.SOULSHOTS); + final byte shld = Formulas.calcShldUse(activeChar, target, skill); double damage = Formulas.calcBackstabDamage(activeChar, target, skill, shld, ss, _power); // Crit rate base crit rate for skill, modified with STR bonus @@ -79,7 +76,11 @@ public final class Backstab extends AbstractEffect { damage *= 2; } - target.reduceCurrentHp(damage, activeChar, skill); + if (target.isPlayer()) { + target.getActingPlayer().getStatus().reduceHp(damage, activeChar, true, false, skill.isToggle(), true); + } else { + target.reduceCurrentHp(damage, activeChar, skill); + } target.notifyDamageReceived(damage, activeChar, skill, true, false, false); // Manage attack or cast break of the target (calculating rate, sending message...) @@ -89,8 +90,7 @@ public final class Backstab extends AbstractEffect { } if (activeChar.isPlayer()) { - L2PcInstance activePlayer = activeChar.getActingPlayer(); - activePlayer.sendDamageMessage(target, (int) damage, false, true, false); + activeChar.sendDamageMessage(target, (int) damage, false, true, false); } // Check if damage should be reflected diff --git a/src/main/resources/data/stats/skills/00000-00099.xml b/src/main/resources/data/stats/skills/00000-00099.xml index 615616422a..4a6351efbc 100644 --- a/src/main/resources/data/stats/skills/00000-00099.xml +++ b/src/main/resources/data/stats/skills/00000-00099.xml @@ -1166,7 +1166,6 @@ <set name="affectScope" val="SINGLE" /> <set name="castRange" val="40" /> <set name="coolTime" val="720" /> - <set name="dmgDirectlyToHp" val="true" /> <set name="effectPoint" val="#effectPoint" /> <set name="effectRange" val="400" /> <set name="hitCancelTime" val="500" /> -- GitLab