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){