From 4ba1358af277a5f254e89a32afa352fc5f9c4741 Mon Sep 17 00:00:00 2001 From: Kam Date: Thu, 6 Mar 2025 13:29:00 -0500 Subject: [PATCH] Apply Neutral Damage from Player Attacks --- .../java/kamkeel/npcs/util/AttributeAttackUtil.java | 13 +++++++++++-- 1 file changed, 11 insertions(+), 2 deletions(-) diff --git a/src/main/java/kamkeel/npcs/util/AttributeAttackUtil.java b/src/main/java/kamkeel/npcs/util/AttributeAttackUtil.java index 5d868206f..a5bd55c19 100644 --- a/src/main/java/kamkeel/npcs/util/AttributeAttackUtil.java +++ b/src/main/java/kamkeel/npcs/util/AttributeAttackUtil.java @@ -130,7 +130,7 @@ public class AttributeAttackUtil { } AllocationResult result = allocateMagicDamage(physicalDamage, attackerData.magicData.getMagics()); - float leftover = result.leftover; + float leftover = applyNeutral(result.leftover, attacker); addAttributeMagicDamage(result.allocation, attacker.magicDamage, attacker.magicBoost); MagicController magicController = MagicController.getInstance(); @@ -158,7 +158,7 @@ public class AttributeAttackUtil { } AllocationResult result = allocateMagicDamage(physicalDamage, attackerData.magicData.getMagics()); - float leftover = result.leftover; + float leftover = applyNeutral(result.leftover, attacker); addAttributeMagicDamage(result.allocation, attacker.magicDamage, attacker.magicBoost); @@ -185,6 +185,15 @@ public class AttributeAttackUtil { return damage; } + public static float applyNeutral(float leftover, PlayerAttributeTracker tracker){ + if (ConfigMain.AttributesEnabled) { + float neutralDamage = tracker.getAttributeValue(CustomAttributes.NEUTRAL_ATTACK); + float neutralBoost = tracker.getAttributeValue(CustomAttributes.NEUTRAL_BOOST); + leftover += neutralDamage * (1 + (neutralBoost / 100)); + } + return leftover; + } + /** * Calculates damage when an NPC attacks a player. */