From 849551ff898ca164d6bc8d31854c5309de968e83 Mon Sep 17 00:00:00 2001 From: MobiusDevelopment <8391001+MobiusDevelopment@users.noreply.github.com> Date: Tue, 1 Mar 2022 13:18:07 +0000 Subject: [PATCH] Addition of DEBUFF_BLOCK check at calcMagicAffected method. Thanks to nasseka. --- .../org/l2jmobius/gameserver/model/stats/Formulas.java | 10 ++++++---- .../org/l2jmobius/gameserver/model/stats/Formulas.java | 10 ++++++---- .../org/l2jmobius/gameserver/model/stats/Formulas.java | 10 ++++++---- .../org/l2jmobius/gameserver/model/stats/Formulas.java | 10 ++++++---- .../org/l2jmobius/gameserver/model/stats/Formulas.java | 10 ++++++---- .../org/l2jmobius/gameserver/model/stats/Formulas.java | 10 ++++++---- .../org/l2jmobius/gameserver/model/stats/Formulas.java | 10 ++++++---- .../org/l2jmobius/gameserver/model/stats/Formulas.java | 10 ++++++---- .../org/l2jmobius/gameserver/model/stats/Formulas.java | 10 ++++++---- .../org/l2jmobius/gameserver/model/stats/Formulas.java | 10 ++++++---- .../org/l2jmobius/gameserver/model/stats/Formulas.java | 10 ++++++---- .../org/l2jmobius/gameserver/model/stats/Formulas.java | 10 ++++++---- .../org/l2jmobius/gameserver/model/stats/Formulas.java | 10 ++++++---- .../org/l2jmobius/gameserver/model/stats/Formulas.java | 10 ++++++---- .../org/l2jmobius/gameserver/model/stats/Formulas.java | 10 ++++++---- .../org/l2jmobius/gameserver/model/stats/Formulas.java | 10 ++++++---- .../org/l2jmobius/gameserver/model/stats/Formulas.java | 10 ++++++---- .../org/l2jmobius/gameserver/model/stats/Formulas.java | 10 ++++++---- .../org/l2jmobius/gameserver/model/stats/Formulas.java | 10 ++++++---- .../org/l2jmobius/gameserver/model/stats/Formulas.java | 10 ++++++---- .../org/l2jmobius/gameserver/model/stats/Formulas.java | 10 ++++++---- 21 files changed, 126 insertions(+), 84 deletions(-) diff --git a/L2J_Mobius_01.0_Ertheia/java/org/l2jmobius/gameserver/model/stats/Formulas.java b/L2J_Mobius_01.0_Ertheia/java/org/l2jmobius/gameserver/model/stats/Formulas.java index 0e67f806f3..1a211e541f 100644 --- a/L2J_Mobius_01.0_Ertheia/java/org/l2jmobius/gameserver/model/stats/Formulas.java +++ b/L2J_Mobius_01.0_Ertheia/java/org/l2jmobius/gameserver/model/stats/Formulas.java @@ -629,16 +629,12 @@ public class Formulas public static boolean calcMagicAffected(Creature actor, Creature target, Skill skill) { - // TODO: CHECK/FIX THIS FORMULA UP!! double defence = 0; if (skill.isActive() && skill.isBad()) { defence = target.getMDef(); } - final double attack = 2 * actor.getMAtk() * calcGeneralTraitBonus(actor, target, skill.getTraitType(), false); - double d = (attack - defence) / (attack + defence); - if (skill.isDebuff()) { if (target.getAbnormalShieldBlocks() > 0) @@ -646,8 +642,14 @@ public class Formulas target.decrementAbnormalShieldBlocks(); return false; } + else if (target.isAffected(EffectFlag.DEBUFF_BLOCK)) + { + return false; + } } + final double attack = 2 * actor.getMAtk() * calcGeneralTraitBonus(actor, target, skill.getTraitType(), false); + double d = (attack - defence) / (attack + defence); d += 0.5 * Rnd.nextGaussian(); return d > 0; } diff --git a/L2J_Mobius_02.5_Underground/java/org/l2jmobius/gameserver/model/stats/Formulas.java b/L2J_Mobius_02.5_Underground/java/org/l2jmobius/gameserver/model/stats/Formulas.java index 0e67f806f3..1a211e541f 100644 --- a/L2J_Mobius_02.5_Underground/java/org/l2jmobius/gameserver/model/stats/Formulas.java +++ b/L2J_Mobius_02.5_Underground/java/org/l2jmobius/gameserver/model/stats/Formulas.java @@ -629,16 +629,12 @@ public class Formulas public static boolean calcMagicAffected(Creature actor, Creature target, Skill skill) { - // TODO: CHECK/FIX THIS FORMULA UP!! double defence = 0; if (skill.isActive() && skill.isBad()) { defence = target.getMDef(); } - final double attack = 2 * actor.getMAtk() * calcGeneralTraitBonus(actor, target, skill.getTraitType(), false); - double d = (attack - defence) / (attack + defence); - if (skill.isDebuff()) { if (target.getAbnormalShieldBlocks() > 0) @@ -646,8 +642,14 @@ public class Formulas target.decrementAbnormalShieldBlocks(); return false; } + else if (target.isAffected(EffectFlag.DEBUFF_BLOCK)) + { + return false; + } } + final double attack = 2 * actor.getMAtk() * calcGeneralTraitBonus(actor, target, skill.getTraitType(), false); + double d = (attack - defence) / (attack + defence); d += 0.5 * Rnd.nextGaussian(); return d > 0; } diff --git a/L2J_Mobius_03.0_Helios/java/org/l2jmobius/gameserver/model/stats/Formulas.java b/L2J_Mobius_03.0_Helios/java/org/l2jmobius/gameserver/model/stats/Formulas.java index 0e67f806f3..1a211e541f 100644 --- a/L2J_Mobius_03.0_Helios/java/org/l2jmobius/gameserver/model/stats/Formulas.java +++ b/L2J_Mobius_03.0_Helios/java/org/l2jmobius/gameserver/model/stats/Formulas.java @@ -629,16 +629,12 @@ public class Formulas public static boolean calcMagicAffected(Creature actor, Creature target, Skill skill) { - // TODO: CHECK/FIX THIS FORMULA UP!! double defence = 0; if (skill.isActive() && skill.isBad()) { defence = target.getMDef(); } - final double attack = 2 * actor.getMAtk() * calcGeneralTraitBonus(actor, target, skill.getTraitType(), false); - double d = (attack - defence) / (attack + defence); - if (skill.isDebuff()) { if (target.getAbnormalShieldBlocks() > 0) @@ -646,8 +642,14 @@ public class Formulas target.decrementAbnormalShieldBlocks(); return false; } + else if (target.isAffected(EffectFlag.DEBUFF_BLOCK)) + { + return false; + } } + final double attack = 2 * actor.getMAtk() * calcGeneralTraitBonus(actor, target, skill.getTraitType(), false); + double d = (attack - defence) / (attack + defence); d += 0.5 * Rnd.nextGaussian(); return d > 0; } diff --git a/L2J_Mobius_04.0_GrandCrusade/java/org/l2jmobius/gameserver/model/stats/Formulas.java b/L2J_Mobius_04.0_GrandCrusade/java/org/l2jmobius/gameserver/model/stats/Formulas.java index 0e67f806f3..1a211e541f 100644 --- a/L2J_Mobius_04.0_GrandCrusade/java/org/l2jmobius/gameserver/model/stats/Formulas.java +++ b/L2J_Mobius_04.0_GrandCrusade/java/org/l2jmobius/gameserver/model/stats/Formulas.java @@ -629,16 +629,12 @@ public class Formulas public static boolean calcMagicAffected(Creature actor, Creature target, Skill skill) { - // TODO: CHECK/FIX THIS FORMULA UP!! double defence = 0; if (skill.isActive() && skill.isBad()) { defence = target.getMDef(); } - final double attack = 2 * actor.getMAtk() * calcGeneralTraitBonus(actor, target, skill.getTraitType(), false); - double d = (attack - defence) / (attack + defence); - if (skill.isDebuff()) { if (target.getAbnormalShieldBlocks() > 0) @@ -646,8 +642,14 @@ public class Formulas target.decrementAbnormalShieldBlocks(); return false; } + else if (target.isAffected(EffectFlag.DEBUFF_BLOCK)) + { + return false; + } } + final double attack = 2 * actor.getMAtk() * calcGeneralTraitBonus(actor, target, skill.getTraitType(), false); + double d = (attack - defence) / (attack + defence); d += 0.5 * Rnd.nextGaussian(); return d > 0; } diff --git a/L2J_Mobius_05.0_Salvation/java/org/l2jmobius/gameserver/model/stats/Formulas.java b/L2J_Mobius_05.0_Salvation/java/org/l2jmobius/gameserver/model/stats/Formulas.java index 0e67f806f3..1a211e541f 100644 --- a/L2J_Mobius_05.0_Salvation/java/org/l2jmobius/gameserver/model/stats/Formulas.java +++ b/L2J_Mobius_05.0_Salvation/java/org/l2jmobius/gameserver/model/stats/Formulas.java @@ -629,16 +629,12 @@ public class Formulas public static boolean calcMagicAffected(Creature actor, Creature target, Skill skill) { - // TODO: CHECK/FIX THIS FORMULA UP!! double defence = 0; if (skill.isActive() && skill.isBad()) { defence = target.getMDef(); } - final double attack = 2 * actor.getMAtk() * calcGeneralTraitBonus(actor, target, skill.getTraitType(), false); - double d = (attack - defence) / (attack + defence); - if (skill.isDebuff()) { if (target.getAbnormalShieldBlocks() > 0) @@ -646,8 +642,14 @@ public class Formulas target.decrementAbnormalShieldBlocks(); return false; } + else if (target.isAffected(EffectFlag.DEBUFF_BLOCK)) + { + return false; + } } + final double attack = 2 * actor.getMAtk() * calcGeneralTraitBonus(actor, target, skill.getTraitType(), false); + double d = (attack - defence) / (attack + defence); d += 0.5 * Rnd.nextGaussian(); return d > 0; } diff --git a/L2J_Mobius_05.5_EtinasFate/java/org/l2jmobius/gameserver/model/stats/Formulas.java b/L2J_Mobius_05.5_EtinasFate/java/org/l2jmobius/gameserver/model/stats/Formulas.java index 0e67f806f3..1a211e541f 100644 --- a/L2J_Mobius_05.5_EtinasFate/java/org/l2jmobius/gameserver/model/stats/Formulas.java +++ b/L2J_Mobius_05.5_EtinasFate/java/org/l2jmobius/gameserver/model/stats/Formulas.java @@ -629,16 +629,12 @@ public class Formulas public static boolean calcMagicAffected(Creature actor, Creature target, Skill skill) { - // TODO: CHECK/FIX THIS FORMULA UP!! double defence = 0; if (skill.isActive() && skill.isBad()) { defence = target.getMDef(); } - final double attack = 2 * actor.getMAtk() * calcGeneralTraitBonus(actor, target, skill.getTraitType(), false); - double d = (attack - defence) / (attack + defence); - if (skill.isDebuff()) { if (target.getAbnormalShieldBlocks() > 0) @@ -646,8 +642,14 @@ public class Formulas target.decrementAbnormalShieldBlocks(); return false; } + else if (target.isAffected(EffectFlag.DEBUFF_BLOCK)) + { + return false; + } } + final double attack = 2 * actor.getMAtk() * calcGeneralTraitBonus(actor, target, skill.getTraitType(), false); + double d = (attack - defence) / (attack + defence); d += 0.5 * Rnd.nextGaussian(); return d > 0; } diff --git a/L2J_Mobius_06.0_Fafurion/java/org/l2jmobius/gameserver/model/stats/Formulas.java b/L2J_Mobius_06.0_Fafurion/java/org/l2jmobius/gameserver/model/stats/Formulas.java index 0e67f806f3..1a211e541f 100644 --- a/L2J_Mobius_06.0_Fafurion/java/org/l2jmobius/gameserver/model/stats/Formulas.java +++ b/L2J_Mobius_06.0_Fafurion/java/org/l2jmobius/gameserver/model/stats/Formulas.java @@ -629,16 +629,12 @@ public class Formulas public static boolean calcMagicAffected(Creature actor, Creature target, Skill skill) { - // TODO: CHECK/FIX THIS FORMULA UP!! double defence = 0; if (skill.isActive() && skill.isBad()) { defence = target.getMDef(); } - final double attack = 2 * actor.getMAtk() * calcGeneralTraitBonus(actor, target, skill.getTraitType(), false); - double d = (attack - defence) / (attack + defence); - if (skill.isDebuff()) { if (target.getAbnormalShieldBlocks() > 0) @@ -646,8 +642,14 @@ public class Formulas target.decrementAbnormalShieldBlocks(); return false; } + else if (target.isAffected(EffectFlag.DEBUFF_BLOCK)) + { + return false; + } } + final double attack = 2 * actor.getMAtk() * calcGeneralTraitBonus(actor, target, skill.getTraitType(), false); + double d = (attack - defence) / (attack + defence); d += 0.5 * Rnd.nextGaussian(); return d > 0; } diff --git a/L2J_Mobius_07.0_PreludeOfWar/java/org/l2jmobius/gameserver/model/stats/Formulas.java b/L2J_Mobius_07.0_PreludeOfWar/java/org/l2jmobius/gameserver/model/stats/Formulas.java index 7f40865c62..8c926b89b4 100644 --- a/L2J_Mobius_07.0_PreludeOfWar/java/org/l2jmobius/gameserver/model/stats/Formulas.java +++ b/L2J_Mobius_07.0_PreludeOfWar/java/org/l2jmobius/gameserver/model/stats/Formulas.java @@ -629,16 +629,12 @@ public class Formulas public static boolean calcMagicAffected(Creature actor, Creature target, Skill skill) { - // TODO: CHECK/FIX THIS FORMULA UP!! double defence = 0; if (skill.isActive() && skill.isBad()) { defence = target.getMDef(); } - final double attack = 2 * actor.getMAtk() * calcGeneralTraitBonus(actor, target, skill.getTraitType(), false); - double d = (attack - defence) / (attack + defence); - if (skill.isDebuff()) { if (target.getAbnormalShieldBlocks() > 0) @@ -646,8 +642,14 @@ public class Formulas target.decrementAbnormalShieldBlocks(); return false; } + else if (target.isAffected(EffectFlag.DEBUFF_BLOCK)) + { + return false; + } } + final double attack = 2 * actor.getMAtk() * calcGeneralTraitBonus(actor, target, skill.getTraitType(), false); + double d = (attack - defence) / (attack + defence); d += 0.5 * Rnd.nextGaussian(); return d > 0; } diff --git a/L2J_Mobius_08.2_Homunculus/java/org/l2jmobius/gameserver/model/stats/Formulas.java b/L2J_Mobius_08.2_Homunculus/java/org/l2jmobius/gameserver/model/stats/Formulas.java index 7f40865c62..8c926b89b4 100644 --- a/L2J_Mobius_08.2_Homunculus/java/org/l2jmobius/gameserver/model/stats/Formulas.java +++ b/L2J_Mobius_08.2_Homunculus/java/org/l2jmobius/gameserver/model/stats/Formulas.java @@ -629,16 +629,12 @@ public class Formulas public static boolean calcMagicAffected(Creature actor, Creature target, Skill skill) { - // TODO: CHECK/FIX THIS FORMULA UP!! double defence = 0; if (skill.isActive() && skill.isBad()) { defence = target.getMDef(); } - final double attack = 2 * actor.getMAtk() * calcGeneralTraitBonus(actor, target, skill.getTraitType(), false); - double d = (attack - defence) / (attack + defence); - if (skill.isDebuff()) { if (target.getAbnormalShieldBlocks() > 0) @@ -646,8 +642,14 @@ public class Formulas target.decrementAbnormalShieldBlocks(); return false; } + else if (target.isAffected(EffectFlag.DEBUFF_BLOCK)) + { + return false; + } } + final double attack = 2 * actor.getMAtk() * calcGeneralTraitBonus(actor, target, skill.getTraitType(), false); + double d = (attack - defence) / (attack + defence); d += 0.5 * Rnd.nextGaussian(); return d > 0; } diff --git a/L2J_Mobius_09.2_ReturnOfTheQueenAnt/java/org/l2jmobius/gameserver/model/stats/Formulas.java b/L2J_Mobius_09.2_ReturnOfTheQueenAnt/java/org/l2jmobius/gameserver/model/stats/Formulas.java index 7f40865c62..8c926b89b4 100644 --- a/L2J_Mobius_09.2_ReturnOfTheQueenAnt/java/org/l2jmobius/gameserver/model/stats/Formulas.java +++ b/L2J_Mobius_09.2_ReturnOfTheQueenAnt/java/org/l2jmobius/gameserver/model/stats/Formulas.java @@ -629,16 +629,12 @@ public class Formulas public static boolean calcMagicAffected(Creature actor, Creature target, Skill skill) { - // TODO: CHECK/FIX THIS FORMULA UP!! double defence = 0; if (skill.isActive() && skill.isBad()) { defence = target.getMDef(); } - final double attack = 2 * actor.getMAtk() * calcGeneralTraitBonus(actor, target, skill.getTraitType(), false); - double d = (attack - defence) / (attack + defence); - if (skill.isDebuff()) { if (target.getAbnormalShieldBlocks() > 0) @@ -646,8 +642,14 @@ public class Formulas target.decrementAbnormalShieldBlocks(); return false; } + else if (target.isAffected(EffectFlag.DEBUFF_BLOCK)) + { + return false; + } } + final double attack = 2 * actor.getMAtk() * calcGeneralTraitBonus(actor, target, skill.getTraitType(), false); + double d = (attack - defence) / (attack + defence); d += 0.5 * Rnd.nextGaussian(); return d > 0; } diff --git a/L2J_Mobius_10.0_MasterClass/java/org/l2jmobius/gameserver/model/stats/Formulas.java b/L2J_Mobius_10.0_MasterClass/java/org/l2jmobius/gameserver/model/stats/Formulas.java index 61bf6ae0bd..41b088e736 100644 --- a/L2J_Mobius_10.0_MasterClass/java/org/l2jmobius/gameserver/model/stats/Formulas.java +++ b/L2J_Mobius_10.0_MasterClass/java/org/l2jmobius/gameserver/model/stats/Formulas.java @@ -629,16 +629,12 @@ public class Formulas public static boolean calcMagicAffected(Creature actor, Creature target, Skill skill) { - // TODO: CHECK/FIX THIS FORMULA UP!! double defence = 0; if (skill.isActive() && skill.isBad()) { defence = target.getMDef(); } - final double attack = 2 * actor.getMAtk() * calcGeneralTraitBonus(actor, target, skill.getTraitType(), false); - double d = (attack - defence) / (attack + defence); - if (skill.isDebuff()) { if (target.getAbnormalShieldBlocks() > 0) @@ -646,8 +642,14 @@ public class Formulas target.decrementAbnormalShieldBlocks(); return false; } + else if (target.isAffected(EffectFlag.DEBUFF_BLOCK)) + { + return false; + } } + final double attack = 2 * actor.getMAtk() * calcGeneralTraitBonus(actor, target, skill.getTraitType(), false); + double d = (attack - defence) / (attack + defence); d += 0.5 * Rnd.nextGaussian(); return d > 0; } diff --git a/L2J_Mobius_Classic_2.0_Saviors/java/org/l2jmobius/gameserver/model/stats/Formulas.java b/L2J_Mobius_Classic_2.0_Saviors/java/org/l2jmobius/gameserver/model/stats/Formulas.java index 5e4f74f1c4..289e5f69a5 100644 --- a/L2J_Mobius_Classic_2.0_Saviors/java/org/l2jmobius/gameserver/model/stats/Formulas.java +++ b/L2J_Mobius_Classic_2.0_Saviors/java/org/l2jmobius/gameserver/model/stats/Formulas.java @@ -629,16 +629,12 @@ public class Formulas public static boolean calcMagicAffected(Creature actor, Creature target, Skill skill) { - // TODO: CHECK/FIX THIS FORMULA UP!! double defence = 0; if (skill.isActive() && skill.isBad()) { defence = target.getMDef(); } - final double attack = 2 * actor.getMAtk() * calcGeneralTraitBonus(actor, target, skill.getTraitType(), false); - double d = (attack - defence) / (attack + defence); - if (skill.isDebuff()) { if (target.getAbnormalShieldBlocks() > 0) @@ -646,8 +642,14 @@ public class Formulas target.decrementAbnormalShieldBlocks(); return false; } + else if (target.isAffected(EffectFlag.DEBUFF_BLOCK)) + { + return false; + } } + final double attack = 2 * actor.getMAtk() * calcGeneralTraitBonus(actor, target, skill.getTraitType(), false); + double d = (attack - defence) / (attack + defence); d += 0.5 * Rnd.nextGaussian(); return d > 0; } diff --git a/L2J_Mobius_Classic_2.1_Zaken/java/org/l2jmobius/gameserver/model/stats/Formulas.java b/L2J_Mobius_Classic_2.1_Zaken/java/org/l2jmobius/gameserver/model/stats/Formulas.java index 5e4f74f1c4..289e5f69a5 100644 --- a/L2J_Mobius_Classic_2.1_Zaken/java/org/l2jmobius/gameserver/model/stats/Formulas.java +++ b/L2J_Mobius_Classic_2.1_Zaken/java/org/l2jmobius/gameserver/model/stats/Formulas.java @@ -629,16 +629,12 @@ public class Formulas public static boolean calcMagicAffected(Creature actor, Creature target, Skill skill) { - // TODO: CHECK/FIX THIS FORMULA UP!! double defence = 0; if (skill.isActive() && skill.isBad()) { defence = target.getMDef(); } - final double attack = 2 * actor.getMAtk() * calcGeneralTraitBonus(actor, target, skill.getTraitType(), false); - double d = (attack - defence) / (attack + defence); - if (skill.isDebuff()) { if (target.getAbnormalShieldBlocks() > 0) @@ -646,8 +642,14 @@ public class Formulas target.decrementAbnormalShieldBlocks(); return false; } + else if (target.isAffected(EffectFlag.DEBUFF_BLOCK)) + { + return false; + } } + final double attack = 2 * actor.getMAtk() * calcGeneralTraitBonus(actor, target, skill.getTraitType(), false); + double d = (attack - defence) / (attack + defence); d += 0.5 * Rnd.nextGaussian(); return d > 0; } diff --git a/L2J_Mobius_Classic_2.2_Antharas/java/org/l2jmobius/gameserver/model/stats/Formulas.java b/L2J_Mobius_Classic_2.2_Antharas/java/org/l2jmobius/gameserver/model/stats/Formulas.java index 5e4f74f1c4..289e5f69a5 100644 --- a/L2J_Mobius_Classic_2.2_Antharas/java/org/l2jmobius/gameserver/model/stats/Formulas.java +++ b/L2J_Mobius_Classic_2.2_Antharas/java/org/l2jmobius/gameserver/model/stats/Formulas.java @@ -629,16 +629,12 @@ public class Formulas public static boolean calcMagicAffected(Creature actor, Creature target, Skill skill) { - // TODO: CHECK/FIX THIS FORMULA UP!! double defence = 0; if (skill.isActive() && skill.isBad()) { defence = target.getMDef(); } - final double attack = 2 * actor.getMAtk() * calcGeneralTraitBonus(actor, target, skill.getTraitType(), false); - double d = (attack - defence) / (attack + defence); - if (skill.isDebuff()) { if (target.getAbnormalShieldBlocks() > 0) @@ -646,8 +642,14 @@ public class Formulas target.decrementAbnormalShieldBlocks(); return false; } + else if (target.isAffected(EffectFlag.DEBUFF_BLOCK)) + { + return false; + } } + final double attack = 2 * actor.getMAtk() * calcGeneralTraitBonus(actor, target, skill.getTraitType(), false); + double d = (attack - defence) / (attack + defence); d += 0.5 * Rnd.nextGaussian(); return d > 0; } diff --git a/L2J_Mobius_Classic_2.3_SevenSigns/java/org/l2jmobius/gameserver/model/stats/Formulas.java b/L2J_Mobius_Classic_2.3_SevenSigns/java/org/l2jmobius/gameserver/model/stats/Formulas.java index 8fd0c96928..1e9588bdd4 100644 --- a/L2J_Mobius_Classic_2.3_SevenSigns/java/org/l2jmobius/gameserver/model/stats/Formulas.java +++ b/L2J_Mobius_Classic_2.3_SevenSigns/java/org/l2jmobius/gameserver/model/stats/Formulas.java @@ -630,16 +630,12 @@ public class Formulas public static boolean calcMagicAffected(Creature actor, Creature target, Skill skill) { - // TODO: CHECK/FIX THIS FORMULA UP!! double defence = 0; if (skill.isActive() && skill.isBad()) { defence = target.getMDef(); } - final double attack = 2 * actor.getMAtk() * calcGeneralTraitBonus(actor, target, skill.getTraitType(), false); - double d = (attack - defence) / (attack + defence); - if (skill.isDebuff()) { if (target.getAbnormalShieldBlocks() > 0) @@ -647,8 +643,14 @@ public class Formulas target.decrementAbnormalShieldBlocks(); return false; } + else if (target.isAffected(EffectFlag.DEBUFF_BLOCK)) + { + return false; + } } + final double attack = 2 * actor.getMAtk() * calcGeneralTraitBonus(actor, target, skill.getTraitType(), false); + double d = (attack - defence) / (attack + defence); d += 0.5 * Rnd.nextGaussian(); return d > 0; } diff --git a/L2J_Mobius_Classic_2.4_SecretOfEmpire/java/org/l2jmobius/gameserver/model/stats/Formulas.java b/L2J_Mobius_Classic_2.4_SecretOfEmpire/java/org/l2jmobius/gameserver/model/stats/Formulas.java index 8fd0c96928..1e9588bdd4 100644 --- a/L2J_Mobius_Classic_2.4_SecretOfEmpire/java/org/l2jmobius/gameserver/model/stats/Formulas.java +++ b/L2J_Mobius_Classic_2.4_SecretOfEmpire/java/org/l2jmobius/gameserver/model/stats/Formulas.java @@ -630,16 +630,12 @@ public class Formulas public static boolean calcMagicAffected(Creature actor, Creature target, Skill skill) { - // TODO: CHECK/FIX THIS FORMULA UP!! double defence = 0; if (skill.isActive() && skill.isBad()) { defence = target.getMDef(); } - final double attack = 2 * actor.getMAtk() * calcGeneralTraitBonus(actor, target, skill.getTraitType(), false); - double d = (attack - defence) / (attack + defence); - if (skill.isDebuff()) { if (target.getAbnormalShieldBlocks() > 0) @@ -647,8 +643,14 @@ public class Formulas target.decrementAbnormalShieldBlocks(); return false; } + else if (target.isAffected(EffectFlag.DEBUFF_BLOCK)) + { + return false; + } } + final double attack = 2 * actor.getMAtk() * calcGeneralTraitBonus(actor, target, skill.getTraitType(), false); + double d = (attack - defence) / (attack + defence); d += 0.5 * Rnd.nextGaussian(); return d > 0; } diff --git a/L2J_Mobius_Classic_3.0_TheKamael/java/org/l2jmobius/gameserver/model/stats/Formulas.java b/L2J_Mobius_Classic_3.0_TheKamael/java/org/l2jmobius/gameserver/model/stats/Formulas.java index 8fd0c96928..1e9588bdd4 100644 --- a/L2J_Mobius_Classic_3.0_TheKamael/java/org/l2jmobius/gameserver/model/stats/Formulas.java +++ b/L2J_Mobius_Classic_3.0_TheKamael/java/org/l2jmobius/gameserver/model/stats/Formulas.java @@ -630,16 +630,12 @@ public class Formulas public static boolean calcMagicAffected(Creature actor, Creature target, Skill skill) { - // TODO: CHECK/FIX THIS FORMULA UP!! double defence = 0; if (skill.isActive() && skill.isBad()) { defence = target.getMDef(); } - final double attack = 2 * actor.getMAtk() * calcGeneralTraitBonus(actor, target, skill.getTraitType(), false); - double d = (attack - defence) / (attack + defence); - if (skill.isDebuff()) { if (target.getAbnormalShieldBlocks() > 0) @@ -647,8 +643,14 @@ public class Formulas target.decrementAbnormalShieldBlocks(); return false; } + else if (target.isAffected(EffectFlag.DEBUFF_BLOCK)) + { + return false; + } } + final double attack = 2 * actor.getMAtk() * calcGeneralTraitBonus(actor, target, skill.getTraitType(), false); + double d = (attack - defence) / (attack + defence); d += 0.5 * Rnd.nextGaussian(); return d > 0; } diff --git a/L2J_Mobius_Classic_Interlude/java/org/l2jmobius/gameserver/model/stats/Formulas.java b/L2J_Mobius_Classic_Interlude/java/org/l2jmobius/gameserver/model/stats/Formulas.java index 5e4f74f1c4..289e5f69a5 100644 --- a/L2J_Mobius_Classic_Interlude/java/org/l2jmobius/gameserver/model/stats/Formulas.java +++ b/L2J_Mobius_Classic_Interlude/java/org/l2jmobius/gameserver/model/stats/Formulas.java @@ -629,16 +629,12 @@ public class Formulas public static boolean calcMagicAffected(Creature actor, Creature target, Skill skill) { - // TODO: CHECK/FIX THIS FORMULA UP!! double defence = 0; if (skill.isActive() && skill.isBad()) { defence = target.getMDef(); } - final double attack = 2 * actor.getMAtk() * calcGeneralTraitBonus(actor, target, skill.getTraitType(), false); - double d = (attack - defence) / (attack + defence); - if (skill.isDebuff()) { if (target.getAbnormalShieldBlocks() > 0) @@ -646,8 +642,14 @@ public class Formulas target.decrementAbnormalShieldBlocks(); return false; } + else if (target.isAffected(EffectFlag.DEBUFF_BLOCK)) + { + return false; + } } + final double attack = 2 * actor.getMAtk() * calcGeneralTraitBonus(actor, target, skill.getTraitType(), false); + double d = (attack - defence) / (attack + defence); d += 0.5 * Rnd.nextGaussian(); return d > 0; } diff --git a/L2J_Mobius_Essence_4.2_DwellingOfSpirits/java/org/l2jmobius/gameserver/model/stats/Formulas.java b/L2J_Mobius_Essence_4.2_DwellingOfSpirits/java/org/l2jmobius/gameserver/model/stats/Formulas.java index 8fd0c96928..1e9588bdd4 100644 --- a/L2J_Mobius_Essence_4.2_DwellingOfSpirits/java/org/l2jmobius/gameserver/model/stats/Formulas.java +++ b/L2J_Mobius_Essence_4.2_DwellingOfSpirits/java/org/l2jmobius/gameserver/model/stats/Formulas.java @@ -630,16 +630,12 @@ public class Formulas public static boolean calcMagicAffected(Creature actor, Creature target, Skill skill) { - // TODO: CHECK/FIX THIS FORMULA UP!! double defence = 0; if (skill.isActive() && skill.isBad()) { defence = target.getMDef(); } - final double attack = 2 * actor.getMAtk() * calcGeneralTraitBonus(actor, target, skill.getTraitType(), false); - double d = (attack - defence) / (attack + defence); - if (skill.isDebuff()) { if (target.getAbnormalShieldBlocks() > 0) @@ -647,8 +643,14 @@ public class Formulas target.decrementAbnormalShieldBlocks(); return false; } + else if (target.isAffected(EffectFlag.DEBUFF_BLOCK)) + { + return false; + } } + final double attack = 2 * actor.getMAtk() * calcGeneralTraitBonus(actor, target, skill.getTraitType(), false); + double d = (attack - defence) / (attack + defence); d += 0.5 * Rnd.nextGaussian(); return d > 0; } diff --git a/L2J_Mobius_Essence_5.2_FrostLord/java/org/l2jmobius/gameserver/model/stats/Formulas.java b/L2J_Mobius_Essence_5.2_FrostLord/java/org/l2jmobius/gameserver/model/stats/Formulas.java index 8fd0c96928..1e9588bdd4 100644 --- a/L2J_Mobius_Essence_5.2_FrostLord/java/org/l2jmobius/gameserver/model/stats/Formulas.java +++ b/L2J_Mobius_Essence_5.2_FrostLord/java/org/l2jmobius/gameserver/model/stats/Formulas.java @@ -630,16 +630,12 @@ public class Formulas public static boolean calcMagicAffected(Creature actor, Creature target, Skill skill) { - // TODO: CHECK/FIX THIS FORMULA UP!! double defence = 0; if (skill.isActive() && skill.isBad()) { defence = target.getMDef(); } - final double attack = 2 * actor.getMAtk() * calcGeneralTraitBonus(actor, target, skill.getTraitType(), false); - double d = (attack - defence) / (attack + defence); - if (skill.isDebuff()) { if (target.getAbnormalShieldBlocks() > 0) @@ -647,8 +643,14 @@ public class Formulas target.decrementAbnormalShieldBlocks(); return false; } + else if (target.isAffected(EffectFlag.DEBUFF_BLOCK)) + { + return false; + } } + final double attack = 2 * actor.getMAtk() * calcGeneralTraitBonus(actor, target, skill.getTraitType(), false); + double d = (attack - defence) / (attack + defence); d += 0.5 * Rnd.nextGaussian(); return d > 0; } diff --git a/L2J_Mobius_Essence_6.0_BattleChronicle/java/org/l2jmobius/gameserver/model/stats/Formulas.java b/L2J_Mobius_Essence_6.0_BattleChronicle/java/org/l2jmobius/gameserver/model/stats/Formulas.java index 919643a1bf..a6c04e672e 100644 --- a/L2J_Mobius_Essence_6.0_BattleChronicle/java/org/l2jmobius/gameserver/model/stats/Formulas.java +++ b/L2J_Mobius_Essence_6.0_BattleChronicle/java/org/l2jmobius/gameserver/model/stats/Formulas.java @@ -630,16 +630,12 @@ public class Formulas public static boolean calcMagicAffected(Creature actor, Creature target, Skill skill) { - // TODO: CHECK/FIX THIS FORMULA UP!! double defence = 0; if (skill.isActive() && skill.isBad()) { defence = target.getMDef(); } - final double attack = 2 * actor.getMAtk() * calcGeneralTraitBonus(actor, target, skill.getTraitType(), false); - double d = (attack - defence) / (attack + defence); - if (skill.isDebuff()) { if (target.getAbnormalShieldBlocks() > 0) @@ -647,8 +643,14 @@ public class Formulas target.decrementAbnormalShieldBlocks(); return false; } + else if (target.isAffected(EffectFlag.DEBUFF_BLOCK)) + { + return false; + } } + final double attack = 2 * actor.getMAtk() * calcGeneralTraitBonus(actor, target, skill.getTraitType(), false); + double d = (attack - defence) / (attack + defence); d += 0.5 * Rnd.nextGaussian(); return d > 0; }