diff --git a/core/assets-raw/sprites/blocks/production/disassembler.png b/core/assets-raw/sprites/blocks/production/disassembler.png index 7dbfcb1474..4e4a4d3433 100644 Binary files a/core/assets-raw/sprites/blocks/production/disassembler.png and b/core/assets-raw/sprites/blocks/production/disassembler.png differ diff --git a/core/src/mindustry/input/Placement.java b/core/src/mindustry/input/Placement.java index f4afb96683..55044dc8e0 100644 --- a/core/src/mindustry/input/Placement.java +++ b/core/src/mindustry/input/Placement.java @@ -108,7 +108,13 @@ public class Placement{ points.addAll(result); } + public static boolean isSidePlace(Seq plans){ + return plans.size > 1 && Mathf.mod(Tile.relativeTo(plans.first().x, plans.first().y, plans.get(1).x, plans.get(1).y) - plans.first().rotation, 2) == 1; + } + public static void calculateBridges(Seq plans, ItemBridge bridge){ + if(isSidePlace(plans)) return; + //check for orthogonal placement + unlocked state if(!(plans.first().x == plans.peek().x || plans.first().y == plans.peek().y) || !bridge.unlockedNow()){ return; @@ -170,6 +176,8 @@ public class Placement{ } public static void calculateDuctBridges(Seq plans, DuctBridge bridge){ + if(isSidePlace(plans)) return; + //check for orthogonal placement + unlocked state if(!(plans.first().x == plans.peek().x || plans.first().y == plans.peek().y) || !bridge.unlockedNow()){ return; @@ -180,7 +188,6 @@ public class Placement{ var result = plans1.clear(); var team = player.team(); - var rot = plans.first().rotation; outer: for(int i = 0; i < plans.size;){ diff --git a/gradle.properties b/gradle.properties index fb533c1a2f..dc2ce3354d 100644 --- a/gradle.properties +++ b/gradle.properties @@ -8,4 +8,4 @@ kapt.include.compile.classpath=false kotlin.stdlib.default.dependency=false #needed for android compilation android.useAndroidX=true -archash=e226c78ba913d348c97430e453f038e824c06bcb +archash=28f7dea17ba559a28e79111adc93cf0496ced031