diff --git a/core/src/mindustry/entities/abilities/ForceFieldAbility.java b/core/src/mindustry/entities/abilities/ForceFieldAbility.java index 49da3eee5e..33aa408602 100644 --- a/core/src/mindustry/entities/abilities/ForceFieldAbility.java +++ b/core/src/mindustry/entities/abilities/ForceFieldAbility.java @@ -23,7 +23,6 @@ public class ForceFieldAbility implements Ability{ private float realRad; private Unit paramUnit; - private boolean hadShield; private final Cons shieldConsumer = trait -> { if(trait.team() != paramUnit.team && Intersector.isInsideHexagon(paramUnit.x, paramUnit.y, realRad * 2f, trait.x(), trait.y()) && paramUnit.shield > 0){ trait.absorb(); @@ -32,6 +31,8 @@ public class ForceFieldAbility implements Ability{ //break shield if(paramUnit.shield <= trait.damage()){ paramUnit.shield -= cooldown * regen; + + Fx.shieldBreak.at(paramUnit.x, paramUnit.y, radius, paramUnit.team.color); } paramUnit.shield -= trait.damage(); @@ -54,13 +55,6 @@ public class ForceFieldAbility implements Ability{ unit.shield += Time.delta * regen; } - //break effect - if(hadShield && unit.shield <= 0){ - Fx.shieldBreak.at(paramUnit.x, paramUnit.y, radius, paramUnit.team.color); - } - - hadShield = unit.shield > 0; - if(unit.shield > 0){ unit.timer2 = Mathf.lerpDelta(unit.timer2, 1f, 0.06f); paramUnit = unit;