From 0bbc4c677792f233dbbde84b94ca882ea1aef48e Mon Sep 17 00:00:00 2001 From: Anuken Date: Tue, 15 Sep 2026 00:39:46 -0400 Subject: [PATCH] Fixed #12660 --- core/src/mindustry/entities/comp/TargetDummyComp.java | 7 +++++++ core/src/mindustry/entities/comp/UnitComp.java | 3 ++- 2 files changed, 9 insertions(+), 1 deletion(-) diff --git a/core/src/mindustry/entities/comp/TargetDummyComp.java b/core/src/mindustry/entities/comp/TargetDummyComp.java index c0e12ffb72..5167680d41 100644 --- a/core/src/mindustry/entities/comp/TargetDummyComp.java +++ b/core/src/mindustry/entities/comp/TargetDummyComp.java @@ -22,4 +22,11 @@ abstract class TargetDummyComp implements Unitc, Healthc{ td.dummyHit(amount); } } + + @Override + @Replace + public boolean canLand(){ + //dummies should always respect the boost config even when the landing area is obstructed (usually by other dummies) + return true; + } } \ No newline at end of file diff --git a/core/src/mindustry/entities/comp/UnitComp.java b/core/src/mindustry/entities/comp/UnitComp.java index 9d1067a8d5..0b6ce3aca8 100644 --- a/core/src/mindustry/entities/comp/UnitComp.java +++ b/core/src/mindustry/entities/comp/UnitComp.java @@ -174,7 +174,8 @@ abstract class UnitComp implements Healthc, Physicsc, Hitboxc, Statusc, Teamc, I /** @return whether there is solid, un-occupied ground under this unit. */ public boolean canLand(){ - return !onSolid() && Units.count(x, y, physicSize(), f -> f != self() && f.isGrounded()) == 0; + float psize = physicSize(); + return !onSolid() && !Units.any(x - psize/2f, y - psize/2f, psize, psize, f -> f != self() && f.isGrounded()); } public boolean inRange(Position other){