diff --git a/core/assets/baseparts/core1.msch b/core/assets/baseparts/core1.msch index 43439698d7..a9df583d3b 100644 Binary files a/core/assets/baseparts/core1.msch and b/core/assets/baseparts/core1.msch differ diff --git a/core/src/mindustry/Vars.java b/core/src/mindustry/Vars.java index 506b4dfc15..91939f332c 100644 --- a/core/src/mindustry/Vars.java +++ b/core/src/mindustry/Vars.java @@ -37,7 +37,7 @@ public class Vars implements Loadable{ /** Whether the logger is loaded. */ public static boolean loadedLogger = false, loadedFileLogger = false; /** Maximum extra padding around deployment schematics. */ - public static final int maxLoadoutSchematicPad = 4; + public static final int maxLoadoutSchematicPad = 5; /** Maximum schematic size.*/ public static final int maxSchematicSize = 32; /** All schematic base64 starts with this string.*/ @@ -134,7 +134,7 @@ public class Vars implements Loadable{ /** whether typing into the console is enabled - developers only */ public static boolean enableConsole = false; /** whether to clear sector saves when landing */ - public static boolean clearSectors = false; + public static boolean clearSectors = true; /** whether any light rendering is enabled */ public static boolean enableLight = true; /** Whether to draw shadows of blocks at map edges and static blocks. diff --git a/core/src/mindustry/ai/WaveSpawner.java b/core/src/mindustry/ai/WaveSpawner.java index 4ac1b4d8f8..151ff65418 100644 --- a/core/src/mindustry/ai/WaveSpawner.java +++ b/core/src/mindustry/ai/WaveSpawner.java @@ -17,7 +17,7 @@ import mindustry.world.*; import static mindustry.Vars.*; public class WaveSpawner{ - private static final float margin = 40f, coreMargin = tilesize * 3; //how far away from the edge flying units spawn + private static final float margin = 40f, coreMargin = tilesize * 3.5f; private Seq spawns = new Seq<>(); private boolean spawning = false; @@ -91,7 +91,7 @@ public class WaveSpawner{ if(state.rules.attackMode && state.teams.isActive(state.rules.waveTeam) && !state.teams.playerCores().isEmpty()){ Building firstCore = state.teams.playerCores().first(); for(Building core : state.rules.waveTeam.cores()){ - Tmp.v1.set(firstCore).sub(core).limit(coreMargin + core.block().size * tilesize); + Tmp.v1.set(firstCore).sub(core).limit(coreMargin + core.block().size * tilesize /2f * Mathf.sqrt2); cons.accept(core.x + Tmp.v1.x, core.y + Tmp.v1.y, false); } } diff --git a/core/src/mindustry/maps/generators/BaseGenerator.java b/core/src/mindustry/maps/generators/BaseGenerator.java index 74672f2fb0..a9be2c15fc 100644 --- a/core/src/mindustry/maps/generators/BaseGenerator.java +++ b/core/src/mindustry/maps/generators/BaseGenerator.java @@ -83,10 +83,22 @@ public class BaseGenerator{ } }); + //replace walls with the correct type + pass(tile -> { + if(tile.block() instanceof Wall && tile.team() == team && tile.block() != wall && tile.block() != wallLarge){ + tile.setBlock(tile.block().size == 2 ? wallLarge : wall, team); + } + }); + if(wallAngle > 0){ //small walls pass(tile -> { + //no walls around cores + if(cores.contains(t -> t.within(tile, (3 + 4) * tilesize))){ + return; + } + if(tile.block().alwaysReplace){ boolean any = false;