diff --git a/core/src/mindustry/ai/BlockIndexer.java b/core/src/mindustry/ai/BlockIndexer.java index aae2ca6467..a01e6e1b39 100644 --- a/core/src/mindustry/ai/BlockIndexer.java +++ b/core/src/mindustry/ai/BlockIndexer.java @@ -306,7 +306,7 @@ public class BlockIndexer{ for(int i = 0; i < activeTeams.size; i++){ Team enemy = activeTeams.items[i]; - if(enemy == team || (team == Team.derelict && !state.rules.coreCapture)) continue; + if(enemy == team || (enemy == Team.derelict && !state.rules.coreCapture)) continue; Building candidate = indexer.findTile(enemy, x, y, range, pred, true); if(candidate == null) continue; diff --git a/core/src/mindustry/input/InputHandler.java b/core/src/mindustry/input/InputHandler.java index bc385af592..1f0486a223 100644 --- a/core/src/mindustry/input/InputHandler.java +++ b/core/src/mindustry/input/InputHandler.java @@ -230,7 +230,7 @@ public abstract class InputHandler implements InputProcessor, GestureListener{ Unit unit = player.unit(); - if(build != null && build.team == unit.team + if(build != null && state.teams.canInteract(unit.team, build.team) && unit.within(build, tilesize * build.block.size * 1.2f + tilesize * 5f)){ //pick up block's payload @@ -510,7 +510,7 @@ public abstract class InputHandler implements InputProcessor, GestureListener{ }else{ Building build = world.buildWorld(pay.x(), pay.y()); - if(build != null && build.team == unit.team){ + if(build != null && state.teams.canInteract(unit.team, build.team)){ Call.requestBuildPayload(player, build); } }