From f877279df00b26182ab0e9e51ea3bed4f441b87c Mon Sep 17 00:00:00 2001 From: Kam Date: Wed, 25 Feb 2026 00:02:09 -0500 Subject: [PATCH] Update EntityAbilityLaser.java --- src/main/java/kamkeel/npcs/entity/EntityAbilityLaser.java | 8 ++++++++ 1 file changed, 8 insertions(+) diff --git a/src/main/java/kamkeel/npcs/entity/EntityAbilityLaser.java b/src/main/java/kamkeel/npcs/entity/EntityAbilityLaser.java index 2d1017e38..c00f6659e 100644 --- a/src/main/java/kamkeel/npcs/entity/EntityAbilityLaser.java +++ b/src/main/java/kamkeel/npcs/entity/EntityAbilityLaser.java @@ -1,5 +1,6 @@ package kamkeel.npcs.entity; +import kamkeel.npcs.controllers.data.ability.type.energy.AbilityEnergyProjectile; import kamkeel.npcs.controllers.data.ability.data.energy.EnergyAnchorData; import kamkeel.npcs.controllers.data.ability.data.energy.EnergyCombatData; import kamkeel.npcs.controllers.data.ability.data.energy.EnergyDisplayData; @@ -551,6 +552,12 @@ public class EntityAbilityLaser extends EntityEnergyProjectile { barrierImpactPauseTicks = 0; barrierImpactDestroyOnResume = false; + // Detach from source ability so the caster is freed from active-phase locks. + if (sourceAbility instanceof AbilityEnergyProjectile) { + ((AbilityEnergyProjectile) sourceAbility).detachEntity(this); + } + sourceAbility = null; + Entity barrierOwner = barrier.getOwnerEntity(); if (barrierOwner != null) { setOwnerEntityId(barrierOwner.getEntityId()); @@ -567,6 +574,7 @@ public class EntityAbilityLaser extends EntityEnergyProjectile { hitOnceEntities.clear(); lastHitTickByEntity.clear(); + reflected = true; return true; }