diff --git a/core/assets/bundles/bundle.properties b/core/assets/bundles/bundle.properties index b02f1d641e..bcd0ca3ce3 100644 --- a/core/assets/bundles/bundle.properties +++ b/core/assets/bundles/bundle.properties @@ -834,6 +834,7 @@ sector.planetaryTerminal.name = Planetary Launch Terminal sector.coastline.name = Coastline sector.navalFortress.name = Naval Fortress sector.polarAerodrome.name = Polar Aerodrome +sector.atolls.name = Atolls 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. @@ -856,6 +857,7 @@ sector.navalFortress.description = The enemy has established a base on a remote, #do not translate sector.facility32m.description = WIP, map submission by Stormride_R sector.taintedWoods.description = WIP, map submission by Stormride_R +sector.atolls.description = WIP, map submission by Stormride_R sector.infestedCanyons.description = WIP, map submission by Skeledragon sector.polarAerodrome.description = WIP, map submission by hhh i 17 diff --git a/core/assets/maps/atolls.msav b/core/assets/maps/atolls.msav new file mode 100644 index 0000000000..6f608eb951 Binary files /dev/null and b/core/assets/maps/atolls.msav differ diff --git a/core/assets/maps/windsweptIslands.msav b/core/assets/maps/windsweptIslands.msav index 690a924716..32daa4dbff 100644 Binary files a/core/assets/maps/windsweptIslands.msav and b/core/assets/maps/windsweptIslands.msav differ diff --git a/core/src/mindustry/ai/types/CommandAI.java b/core/src/mindustry/ai/types/CommandAI.java index b9a77a544a..b72cba2d68 100644 --- a/core/src/mindustry/ai/types/CommandAI.java +++ b/core/src/mindustry/ai/types/CommandAI.java @@ -326,7 +326,7 @@ public class CommandAI extends AIController{ void finishPath(){ //the enter payload command never finishes until they are actually accepted - if(command == UnitCommand.enterPayloadCommand && commandQueue.size == 0 && targetPos != null && world.buildWorld(targetPos.x, targetPos.y) != null && world.buildWorld(targetPos.x, targetPos.y).block.acceptsPayloads){ + if(command == UnitCommand.enterPayloadCommand && commandQueue.size == 0 && targetPos != null && world.buildWorld(targetPos.x, targetPos.y) != null && world.buildWorld(targetPos.x, targetPos.y).block.acceptsUnitPayloads){ return; } diff --git a/core/src/mindustry/content/SectorPresets.java b/core/src/mindustry/content/SectorPresets.java index 75c991be2a..d739ed46e2 100644 --- a/core/src/mindustry/content/SectorPresets.java +++ b/core/src/mindustry/content/SectorPresets.java @@ -8,7 +8,7 @@ public class SectorPresets{ public static SectorPreset groundZero, craters, biomassFacility, taintedWoods, frozenForest, ruinousShores, facility32m, windsweptIslands, stainedMountains, tarFields, - fungalPass, infestedCanyons, extractionOutpost, polarAerodrome, saltFlats, overgrowth, + fungalPass, infestedCanyons, atolls, extractionOutpost, polarAerodrome, saltFlats, overgrowth, impact0078, desolateRift, nuclearComplex, planetaryTerminal, coastline, navalFortress, @@ -97,6 +97,10 @@ public class SectorPresets{ difficulty = 4; }}; + atolls = new SectorPreset("atolls", serpulo, 1){{ + difficulty = 7; + }}; + overgrowth = new SectorPreset("overgrowth", serpulo, 134){{ difficulty = 5; }}; diff --git a/core/src/mindustry/content/SerpuloTechTree.java b/core/src/mindustry/content/SerpuloTechTree.java index c12fbde589..3a5563e4e0 100644 --- a/core/src/mindustry/content/SerpuloTechTree.java +++ b/core/src/mindustry/content/SerpuloTechTree.java @@ -427,8 +427,8 @@ public class SerpuloTechTree{ }); node(additiveReconstructor, Seq.with(new SectorComplete(biomassFacility)), () -> { - node(multiplicativeReconstructor, () -> { - node(exponentialReconstructor, Seq.with(new SectorComplete(overgrowth)), () -> { + node(multiplicativeReconstructor, Seq.with(new SectorComplete(overgrowth)), () -> { + node(exponentialReconstructor, () -> { node(tetrativeReconstructor, () -> { }); @@ -565,7 +565,13 @@ public class SerpuloTechTree{ new Research(UnitTypes.mace), new Research(UnitTypes.flare) ), () -> { + node(atolls, Seq.with( + new SectorComplete(windsweptIslands), + new Research(multiplicativeReconstructor), + new Research(mega) + ), () -> { + }); }); }); diff --git a/core/src/mindustry/input/InputHandler.java b/core/src/mindustry/input/InputHandler.java index 8375a433eb..fcf7aedfb9 100644 --- a/core/src/mindustry/input/InputHandler.java +++ b/core/src/mindustry/input/InputHandler.java @@ -1058,7 +1058,7 @@ public abstract class InputHandler implements InputProcessor, GestureListener{ if(ai.currentCommand() == UnitCommand.enterPayloadCommand){ var build = world.buildWorld(lineDest.getX(), lineDest.getY()); - if(build != null && build.block.acceptsPayloads && build.team == unit.team){ + if(build != null && build.block.acceptsUnitPayloads && build.team == unit.team){ Drawf.selected(build, Pal.accent); } } diff --git a/core/src/mindustry/world/Block.java b/core/src/mindustry/world/Block.java index c324ae4978..3bd6c3977c 100644 --- a/core/src/mindustry/world/Block.java +++ b/core/src/mindustry/world/Block.java @@ -58,7 +58,7 @@ public class Block extends UnlockableContent implements Senseable{ /** If true, this block can output payloads; affects blending. */ public boolean outputsPayload = false; /** If true, this block can input payloads; affects unit payload enter behavior. */ - public boolean acceptsPayloads = false; + public boolean acceptsUnitPayloads = false; /** If true, payloads will attempt to move into this block. */ public boolean acceptsPayload = false; /** Visual flag use for blending of certain transportation blocks. */ diff --git a/core/src/mindustry/world/blocks/payloads/BlockProducer.java b/core/src/mindustry/world/blocks/payloads/BlockProducer.java index e5eccb570f..2bc66e0e1f 100644 --- a/core/src/mindustry/world/blocks/payloads/BlockProducer.java +++ b/core/src/mindustry/world/blocks/payloads/BlockProducer.java @@ -30,7 +30,7 @@ public abstract class BlockProducer extends PayloadBlock{ hasItems = true; solid = true; hasPower = true; - acceptsPayloads = false; + acceptsUnitPayloads = false; rotate = true; regionRotated1 = 1; @@ -69,7 +69,7 @@ public abstract class BlockProducer extends PayloadBlock{ addBar("progress", (BlockProducerBuild entity) -> new Bar("bar.progress", Pal.ammo, () -> entity.recipe() == null ? 0f : (entity.progress / entity.recipe().buildCost))); } - + public abstract class BlockProducerBuild extends PayloadBlockBuild{ public float progress, time, heat; diff --git a/core/src/mindustry/world/blocks/payloads/PayloadBlock.java b/core/src/mindustry/world/blocks/payloads/PayloadBlock.java index ab7dc95320..e6a913390b 100644 --- a/core/src/mindustry/world/blocks/payloads/PayloadBlock.java +++ b/core/src/mindustry/world/blocks/payloads/PayloadBlock.java @@ -25,7 +25,7 @@ public class PayloadBlock extends Block{ update = true; sync = true; group = BlockGroup.payloads; - acceptsPayloads = true; + acceptsUnitPayloads = true; envEnabled |= Env.space | Env.underwater; } diff --git a/core/src/mindustry/world/blocks/payloads/PayloadConveyor.java b/core/src/mindustry/world/blocks/payloads/PayloadConveyor.java index ec5523dd1c..650846987b 100644 --- a/core/src/mindustry/world/blocks/payloads/PayloadConveyor.java +++ b/core/src/mindustry/world/blocks/payloads/PayloadConveyor.java @@ -31,7 +31,7 @@ public class PayloadConveyor extends Block{ update = true; outputsPayload = true; noUpdateDisabled = true; - acceptsPayloads = true; + acceptsUnitPayloads = true; priority = TargetPriority.transport; envEnabled |= Env.space | Env.underwater; sync = true; diff --git a/core/src/mindustry/world/blocks/payloads/PayloadSource.java b/core/src/mindustry/world/blocks/payloads/PayloadSource.java index 1354b9edc1..b20c9b0a13 100644 --- a/core/src/mindustry/world/blocks/payloads/PayloadSource.java +++ b/core/src/mindustry/world/blocks/payloads/PayloadSource.java @@ -37,7 +37,7 @@ public class PayloadSource extends PayloadBlock{ noUpdateDisabled = true; clearOnDoubleTap = true; regionRotated1 = 1; - acceptsPayloads = false; + acceptsUnitPayloads = false; commandable = true; config(Block.class, (PayloadSourceBuild build, Block block) -> {