From cb57e26d042de98957e2792b549c22f561ac3e64 Mon Sep 17 00:00:00 2001 From: Kam Date: Fri, 20 Feb 2026 03:51:11 -0500 Subject: [PATCH] Modified Damage on Energy Projectile System --- .../npcs/entity/EntityEnergyProjectile.java | 19 ++++++++++++++++++- 1 file changed, 18 insertions(+), 1 deletion(-) diff --git a/src/main/java/kamkeel/npcs/entity/EntityEnergyProjectile.java b/src/main/java/kamkeel/npcs/entity/EntityEnergyProjectile.java index 4f0c16e50..8e8b62780 100644 --- a/src/main/java/kamkeel/npcs/entity/EntityEnergyProjectile.java +++ b/src/main/java/kamkeel/npcs/entity/EntityEnergyProjectile.java @@ -330,7 +330,8 @@ public abstract class EntityEnergyProjectile extends EntityEnergyAbility { for (EntityEnergyBarrier barrier : barriers) { if (barrier.isDead) continue; if (barrier.isIncomingProjectile(this)) { - if (barrier.onProjectileHit(this, getDamage())) { + float damage = getModifiedDamage(); + if (barrier.onProjectileHit(this, damage)) { hasHit = true; this.setDead(); return true; @@ -341,6 +342,22 @@ public abstract class EntityEnergyProjectile extends EntityEnergyAbility { return false; } + /** + * Get the projectile damage modified by extenders (e.g. DBC damage scaling). + * Falls back to base getDamage() when no sourceAbility or no extenders modify it. + */ + protected float getModifiedDamage() { + float damage = getDamage(); + if (sourceAbility != null) { + Entity owner = getOwnerEntity(); + if (owner instanceof EntityLivingBase) { + damage = AbilityController.Instance.fireModifyProjectileDamage( + sourceAbility, (EntityLivingBase) owner, damage); + } + } + return damage; + } + // ==================== POSITION INTERPOLATION ==================== @Override