diff --git a/core/assets/maps/marsh.msav b/core/assets/maps/marsh.msav index 13b23e2b22..8e81d20bc9 100644 Binary files a/core/assets/maps/marsh.msav and b/core/assets/maps/marsh.msav differ diff --git a/core/src/mindustry/core/World.java b/core/src/mindustry/core/World.java index 37794f8413..e52480861c 100644 --- a/core/src/mindustry/core/World.java +++ b/core/src/mindustry/core/World.java @@ -44,6 +44,11 @@ public class World{ Events.on(WorldLoadEvent.class, e -> { tileChanges = -1; + + //make each building check if it can update in the given map area + for(var build : Groups.build){ + build.checkAllowUpdate(); + } }); } diff --git a/core/src/mindustry/ui/dialogs/CustomRulesDialog.java b/core/src/mindustry/ui/dialogs/CustomRulesDialog.java index 56e67f460e..74aabc3568 100644 --- a/core/src/mindustry/ui/dialogs/CustomRulesDialog.java +++ b/core/src/mindustry/ui/dialogs/CustomRulesDialog.java @@ -220,11 +220,11 @@ public class CustomRulesDialog extends BaseDialog{ check("@rules.fog", b -> rules.fog = b, () -> rules.fog); check("@rules.lighting", b -> rules.lighting = b, () -> rules.lighting); - check("@rules.limitarea", b -> rules.limitMapArea = b, () -> rules.limitMapArea); - numberi("x", x -> rules.limitX = x, () -> rules.limitX, () -> rules.limitMapArea, 0, 10000); - numberi("y", y -> rules.limitY = y, () -> rules.limitY, () -> rules.limitMapArea, 0, 10000); - numberi("w", w -> rules.limitWidth = w, () -> rules.limitWidth, () -> rules.limitMapArea, 0, 10000); - numberi("h", h -> rules.limitHeight = h, () -> rules.limitHeight, () -> rules.limitMapArea, 0, 10000); + check("@rules.limitarea", b -> rules.limitMapArea = b, () -> rules.limitMapArea, () -> !state.isGame()); + numberi("x", x -> rules.limitX = x, () -> rules.limitX, () -> rules.limitMapArea && !state.isGame(), 0, 10000); + numberi("y", y -> rules.limitY = y, () -> rules.limitY, () -> rules.limitMapArea && !state.isGame(), 0, 10000); + numberi("w", w -> rules.limitWidth = w, () -> rules.limitWidth, () -> rules.limitMapArea && !state.isGame(), 0, 10000); + numberi("h", h -> rules.limitHeight = h, () -> rules.limitHeight, () -> rules.limitMapArea && !state.isGame(), 0, 10000); number("@rules.solarmultiplier", f -> rules.solarMultiplier = f, () -> rules.solarMultiplier);