diff --git a/core/assets/bundles/bundle.properties b/core/assets/bundles/bundle.properties index 3663cd506c..7d39e7ddb8 100644 --- a/core/assets/bundles/bundle.properties +++ b/core/assets/bundles/bundle.properties @@ -840,6 +840,7 @@ sector.atolls.name = Atolls sector.testingGrounds.name = Testing Grounds sector.seaPort.name = Sea Port sector.weatheredChannels.name = Weathered Channels +sector.mycelialBastion.name = Mycelial Bastion sector.groundZero.description = The optimal location to begin once more. Low enemy threat. Few resources.\nGather as much lead and copper as possible.\nMove on. sector.frozenForest.description = Even here, closer to mountains, the spores have spread. The frigid temperatures cannot contain them forever.\n\nBegin the venture into power. Build combustion generators. Learn to use menders. @@ -868,6 +869,7 @@ sector.polarAerodrome.description = WIP, map submission by hhh i 17 sector.testingGrounds.description = WIP, map submission by dnx2019 sector.seaPort.description = WIP, map submission by inkognito626 sector.weatheredChannels.description = WIP, map submission by Skeledragon +sector.mycelialBastion.description = WIP, map submission by Skeledragon sector.onset.name = The Onset sector.aegis.name = Aegis @@ -2112,6 +2114,10 @@ block.phase-wall.description = Protects structures from enemy projectiles, refle block.phase-wall-large.description = Protects structures from enemy projectiles, reflecting most bullets upon impact. block.surge-wall.description = Protects structures from enemy projectiles, periodically releasing electric arcs upon contact. block.surge-wall-large.description = Protects structures from enemy projectiles, periodically releasing electric arcs upon contact. +block.scrap-wall.description = Protects structures from enemy projectiles. +block.scrap-wall-large.description = Protects structures from enemy projectiles. +block.scrap-wall-huge.description = Protects structures from enemy projectiles. +block.scrap-wall-gigantic.description = Protects structures from enemy projectiles. block.door.description = A wall that can be opened and closed. block.door-large.description = A wall that can be opened and closed. block.mender.description = Periodically repairs blocks in its vicinity.\nOptionally uses silicon to boost range and efficiency. diff --git a/core/assets/maps/desolateRift.msav b/core/assets/maps/desolateRift.msav index d08ee30cfe..11d62928a0 100644 Binary files a/core/assets/maps/desolateRift.msav and b/core/assets/maps/desolateRift.msav differ diff --git a/core/assets/maps/mycelialBastion.msav b/core/assets/maps/mycelialBastion.msav index 32ee4f04f8..694ae57492 100644 Binary files a/core/assets/maps/mycelialBastion.msav and b/core/assets/maps/mycelialBastion.msav differ diff --git a/core/src/mindustry/content/Blocks.java b/core/src/mindustry/content/Blocks.java index 30089d8c22..282fd46a1c 100644 --- a/core/src/mindustry/content/Blocks.java +++ b/core/src/mindustry/content/Blocks.java @@ -1606,29 +1606,33 @@ public class Blocks{ }}; scrapWall = new Wall("scrap-wall"){{ - requirements(Category.defense, BuildVisibility.sandboxOnly, with(Items.scrap, 6)); + requirements(Category.defense, with(Items.scrap, 6)); health = 60 * wallHealthMultiplier; variants = 5; + buildCostMultiplier = 4f; }}; scrapWallLarge = new Wall("scrap-wall-large"){{ - requirements(Category.defense, BuildVisibility.sandboxOnly, ItemStack.mult(scrapWall.requirements, 4)); + requirements(Category.defense, ItemStack.mult(scrapWall.requirements, 4)); health = 60 * 4 * wallHealthMultiplier; size = 2; variants = 4; + buildCostMultiplier = 4f; }}; scrapWallHuge = new Wall("scrap-wall-huge"){{ - requirements(Category.defense, BuildVisibility.sandboxOnly, ItemStack.mult(scrapWall.requirements, 9)); + requirements(Category.defense, ItemStack.mult(scrapWall.requirements, 9)); health = 60 * 9 * wallHealthMultiplier; size = 3; variants = 3; + buildCostMultiplier = 4f; }}; scrapWallGigantic = new Wall("scrap-wall-gigantic"){{ - requirements(Category.defense, BuildVisibility.sandboxOnly, ItemStack.mult(scrapWall.requirements, 16)); + requirements(Category.defense, ItemStack.mult(scrapWall.requirements, 16)); health = 60 * 16 * wallHealthMultiplier; size = 4; + buildCostMultiplier = 4f; }}; thruster = new Thruster("thruster"){{ diff --git a/core/src/mindustry/content/Items.java b/core/src/mindustry/content/Items.java index cfb8bb14d6..00cc3cc5d5 100644 --- a/core/src/mindustry/content/Items.java +++ b/core/src/mindustry/content/Items.java @@ -60,7 +60,7 @@ public class Items{ }}; scrap = new Item("scrap", Color.valueOf("777777")){{ - + cost = 0.5f; }}; silicon = new Item("silicon", Color.valueOf("53565c")){{ diff --git a/core/src/mindustry/content/SectorPresets.java b/core/src/mindustry/content/SectorPresets.java index 2d099f35db..9152290555 100644 --- a/core/src/mindustry/content/SectorPresets.java +++ b/core/src/mindustry/content/SectorPresets.java @@ -120,7 +120,7 @@ public class SectorPresets{ difficulty = 7; }}; - mycelialBastion = new SectorPreset("mycelialBastion", serpulo, 133){{ + mycelialBastion = new SectorPreset("mycelialBastion", serpulo, 260){{ difficulty = 7; }}; diff --git a/core/src/mindustry/content/SerpuloTechTree.java b/core/src/mindustry/content/SerpuloTechTree.java index d16383e1b8..62b5ab2908 100644 --- a/core/src/mindustry/content/SerpuloTechTree.java +++ b/core/src/mindustry/content/SerpuloTechTree.java @@ -262,12 +262,21 @@ public class SerpuloTechTree{ node(duo, () -> { node(copperWall, () -> { node(copperWallLarge, () -> { + node(scrapWall, () -> { + node(scrapWallLarge, () -> { + node(scrapWallHuge, () -> { + node(scrapWallGigantic); + }); + }); + }); + node(titaniumWall, () -> { node(titaniumWallLarge); node(door, () -> { node(doorLarge); }); + node(plastaniumWall, () -> { node(plastaniumWallLarge, () -> { @@ -365,7 +374,7 @@ public class SerpuloTechTree{ node(atrax, () -> { node(spiroct, () -> { node(arkyid, () -> { - node(toxopid, () -> { + node(toxopid, Seq.with(new SectorComplete(mycelialBastion)), () -> { }); }); @@ -615,7 +624,8 @@ public class SerpuloTechTree{ node(mycelialBastion, Seq.with( new Research(atrax), new Research(spiroct), - new Research(multiplicativeReconstructor) + new Research(multiplicativeReconstructor), + new Research(exponentialReconstructor) ), () -> { });