Rule & control for logic unit deconstruction (off by default)

This commit is contained in:
Anuken
2025-12-19 00:35:41 -05:00
parent f391126b5b
commit b84d12407f
6 changed files with 25 additions and 9 deletions

View File

@@ -430,6 +430,21 @@ public class LExecutor{
}
}
}
case deconstruct -> {
if((state.rules.logicUnitDeconstruct || exec.privileged) && unit.canBuild()){
ai.plan.x = World.toTile(x1);
ai.plan.y = World.toTile(y1);
ai.plan.breaking = true;
unit.clearBuilding();
Tile tile = ai.plan.tile();
if(tile != null && Build.validBreak(unit.team, ai.plan.x, ai.plan.y)){
unit.updateBuilding = true;
unit.addBuild(ai.plan);
}
}
}
case getBlock -> {
float range = Math.max(unit.range(), unit.type.buildRange);
if(!unit.within(x1, y1, range)){