diff --git a/core/assets/maps/hidden-serpulo/0.msav b/core/assets/maps/hidden-serpulo/0.msav new file mode 100644 index 0000000000..6dec7ac800 Binary files /dev/null and b/core/assets/maps/hidden-serpulo/0.msav differ diff --git a/core/src/mindustry/editor/EditorRenderer.java b/core/src/mindustry/editor/EditorRenderer.java index 7a23ccdb2e..1d77c542dd 100644 --- a/core/src/mindustry/editor/EditorRenderer.java +++ b/core/src/mindustry/editor/EditorRenderer.java @@ -226,7 +226,7 @@ public class EditorRenderer implements Disposable{ y * tilesize + block.offset - height / 2f, width/2f, height/2f, width, height, - tile.build == null || !block.rotate ? 0 : tile.build.rotdeg(), + tile.build == null || !block.rotate || !block.rotateDrawEditor ? 0 : tile.build.rotdeg(), Color.whiteFloatBits); if(tile.build != null){ diff --git a/core/src/mindustry/maps/SectorSubmissions.java b/core/src/mindustry/maps/SectorSubmissions.java index e745f4f14a..5570891652 100644 --- a/core/src/mindustry/maps/SectorSubmissions.java +++ b/core/src/mindustry/maps/SectorSubmissions.java @@ -59,12 +59,13 @@ public class SectorSubmissions{ registerSerpuloSector(133, "wpx", "https://discord.com/channels/391020510269669376/1379926871227240770/1417920499761156126"); registerSerpuloSector(185, "quad", "https://discord.com/channels/391020510269669376/1379926892181983283/1419231958336016458"); registerSerpuloSector(254, "wpx", "https://discord.com/channels/391020510269669376/1379928045577703424/1420456601667502193"); + registerSerpuloSector(0, "Jamespire", "https://discord.com/channels/391020510269669376/1379926780860698784/1418590967384117311"); /* UNUSED SECTORS: registerHiddenSectors(serpulo, 68, //Winter Forest by wpx: https://discord.com/channels/391020510269669376/1165421701362897000/1235654407006322700 241,//River Bastion by wpx: https://discord.com/channels/391020510269669376/1165421701362897000/1232658317126402050 - 173,//Front Line by stormrider: https://discord.com/channels/391020510269 669376/1165421701362897000/1188484967064404061 + 173,//Front Line by stormrider: https://discord.com/channels/391020510269669376/1165421701362897000/1188484967064404061 12, //Salt Outpost by skeledragon: https://discord.com/channels/391020510269669376/1165421701362897000/1193441915459338361 106,//Desert Wastes by xaphiro_: https://discord.com/channels/391020510269669376/1165421701362897000/1226498922898264157 243,//Port 012 by skeledragon: https://discord.com/channels/391020510269669376/1165421701362897000/1174884280242012262 @@ -73,6 +74,10 @@ public class SectorSubmissions{ } static void registerSerpuloSector(int id, String author, String mapFileLink){ + registerSerpuloSector(id, author, mapFileLink, -1); + } + + static void registerSerpuloSector(int id, String author, String mapFileLink, int captureWave){ Planet planet = Planets.serpulo; Sector sector = planet.sectors.get(id); MapSubmission sub = threadMap.get(sector, MapSubmission::new); @@ -80,11 +85,15 @@ public class SectorSubmissions{ sub.author = author; sub.mapFileLink = mapFileLink; - new SectorPreset("sector-" + planet.name + "-" + id, "hidden-serpulo/" + id, planet, id){{ - requireUnlock = false; - }}; + var preset = new SectorPreset("sector-" + planet.name + "-" + id, "hidden-serpulo/" + id, planet, id); - sector.generateEnemyBase = true; + preset.requireUnlock = false; + + if(captureWave > 0){ + preset.captureWave = captureWave; + }else{ + sector.generateEnemyBase = true; + } } static void registerThread(int id, String link){ diff --git a/core/src/mindustry/maps/planet/SerpuloPlanetGenerator.java b/core/src/mindustry/maps/planet/SerpuloPlanetGenerator.java index 1e760976eb..ee1d97202a 100644 --- a/core/src/mindustry/maps/planet/SerpuloPlanetGenerator.java +++ b/core/src/mindustry/maps/planet/SerpuloPlanetGenerator.java @@ -507,7 +507,8 @@ public class SerpuloPlanetGenerator extends PlanetGenerator{ ores.add(Blocks.oreTitanium); } - if(Simplex.noise3d(seed, 2, 0.5, scl, sector.tile.v.x + 2, sector.tile.v.y, sector.tile.v.z)*nmag + poles > 0.7f*addscl){ + //218 doesn't have thorium generation due to proximity (TODO remove the special case and replace with hidden preset) + if(Simplex.noise3d(seed, 2, 0.5, scl, sector.tile.v.x + 2, sector.tile.v.y, sector.tile.v.z)*nmag + poles > 0.7f*addscl && sector.id != 218){ ores.add(Blocks.oreThorium); } diff --git a/core/src/mindustry/world/Block.java b/core/src/mindustry/world/Block.java index 7841f9fbbc..3d49162912 100644 --- a/core/src/mindustry/world/Block.java +++ b/core/src/mindustry/world/Block.java @@ -112,6 +112,8 @@ public class Block extends UnlockableContent implements Senseable{ public boolean rotate; /** if rotate is true and this is false, the region won't rotate when drawing */ public boolean rotateDraw = true; + /** if rotate is true and this is false, the region won't rotate when drawing in the editor */ + public boolean rotateDrawEditor = true; /** if rotate = false and this is true, rotation will be locked at 0 when placing (default); advanced use only */ public boolean lockRotation = true; /** if true, schematic flips with this block are inverted. */ diff --git a/core/src/mindustry/world/blocks/defense/turrets/Turret.java b/core/src/mindustry/world/blocks/defense/turrets/Turret.java index 2bf9e2c756..87ab79bf8a 100644 --- a/core/src/mindustry/world/blocks/defense/turrets/Turret.java +++ b/core/src/mindustry/world/blocks/defense/turrets/Turret.java @@ -159,6 +159,7 @@ public class Turret extends ReloadTurret{ rotate = true; quickRotate = false; drawArrow = false; + rotateDrawEditor = false; } @Override