diff --git a/core/src/mindustry/entities/comp/BuilderComp.java b/core/src/mindustry/entities/comp/BuilderComp.java index 66d334a96f..33413231cd 100644 --- a/core/src/mindustry/entities/comp/BuilderComp.java +++ b/core/src/mindustry/entities/comp/BuilderComp.java @@ -155,7 +155,7 @@ abstract class BuilderComp implements Posc, Statusc, Teamc, Rotc{ if(!within(tile, finalPlaceDst)) continue; if(!headless){ - Vars.control.sound.loop(Sounds.loopBuild, tile, 1f); + Vars.control.sound.loop(Sounds.loopBuild, tile, 1.2f); } if(!(tile.build instanceof ConstructBuild cb)){ diff --git a/core/src/mindustry/logic/LExecutor.java b/core/src/mindustry/logic/LExecutor.java index 56fd115ca7..8dcba5442c 100644 --- a/core/src/mindustry/logic/LExecutor.java +++ b/core/src/mindustry/logic/LExecutor.java @@ -432,6 +432,13 @@ public class LExecutor{ } case deconstruct -> { if((state.rules.logicUnitDeconstruct || exec.privileged) && unit.canBuild()){ + //reset state of last request when necessary + if(ai.plan.x != World.toTile(x1) || ai.plan.y != World.toTile(y1) || !ai.plan.breaking || unit.plans.isEmpty()){ + ai.plan.progress = 0; + ai.plan.initialized = false; + ai.plan.stuck = false; + } + ai.plan.x = World.toTile(x1); ai.plan.y = World.toTile(y1); ai.plan.breaking = true;