From 907dc7a1e327aa50dfb268214870471a84c9eb6b Mon Sep 17 00:00:00 2001 From: Anuken Date: Sat, 12 Feb 2022 22:52:55 -0500 Subject: [PATCH] Unit requirement changes --- core/src/mindustry/content/Blocks.java | 24 +++++++++++----------- core/src/mindustry/input/InputHandler.java | 2 +- core/src/mindustry/logic/LExecutor.java | 1 + 3 files changed, 14 insertions(+), 13 deletions(-) diff --git a/core/src/mindustry/content/Blocks.java b/core/src/mindustry/content/Blocks.java index f1ed69b3bb..ebf00a7a75 100644 --- a/core/src/mindustry/content/Blocks.java +++ b/core/src/mindustry/content/Blocks.java @@ -1176,7 +1176,7 @@ public class Blocks{ atmosphericConcentrator = new HeatCrafter("atmospheric-concentrator"){{ requirements(Category.crafting, with(Items.oxide, 60, Items.beryllium, 180, Items.silicon, 150)); size = 3; - craftTime = 10f; + continuousLiquidOutput = true; hasLiquids = true; drawer = new DrawMulti(new DrawRegion("-bottom"), new DrawLiquidTile(Liquids.nitrogen, 4.1f), new DrawBlock(), new DrawHeatInput(), @@ -1195,7 +1195,8 @@ public class Blocks{ heatRequirement = 5f; - outputLiquid = new LiquidStack(Liquids.nitrogen, 4f * craftTime / 60f); + //TODO continuous output + outputLiquid = new LiquidStack(Liquids.nitrogen, 4f / 60f); }}; oxidationChamber = new HeatProducer("oxidation-chamber"){{ @@ -3227,7 +3228,7 @@ public class Blocks{ height = 19f; width = 17f; splashDamageRadius = 65f; - splashDamage = 250f; + splashDamage = 350f; scaledSplashDamage = true; backColor = hitColor = trailColor = Color.valueOf("ea8878").lerp(Color.valueOf("feb380"), 0.5f); frontColor = Color.white; @@ -3254,7 +3255,7 @@ public class Blocks{ targetAir = false; shootShake = 4f; recoilAmount = 1f; - reloadTime = 60f * 3f; + reloadTime = 60f * 2f; shootLength = 7f; rotateSpeed = 1.4f; minWarmup = 0.85f; @@ -3539,24 +3540,24 @@ public class Blocks{ //region units - erekir tankAssembler = new UnitAssembler("tank-assembler"){{ - requirements(Category.units, with(Items.graphite, 600, Items.beryllium, 600, Items.oxide, 200, Items.tungsten, 500)); + requirements(Category.units, with(Items.graphite, 600, Items.beryllium, 600, Items.oxide, 300, Items.tungsten, 500)); size = 5; - plans.add(new AssemblerUnitPlan(UnitTypes.vanquish, 60f * 50f, BlockStack.list(Blocks.tungstenWallLarge, 6, Blocks.duct, 14, Blocks.cliffCrusher, 12))); + plans.add(new AssemblerUnitPlan(UnitTypes.vanquish, 60f * 50f, BlockStack.list(Blocks.tungstenWallLarge, 12, Blocks.duct, 14, Blocks.cliffCrusher, 12))); consumes.power(3f); areaSize = 13; - //consumes.liquid(Liquids.gallium, 2f / 60f); + consumes.liquid(Liquids.nitrogen, 12f / 60f); }}; //TODO requirements shipAssembler = new UnitAssembler("ship-assembler"){{ - requirements(Category.units, with(Items.beryllium, 700, Items.oxide, 150, Items.tungsten, 500, Items.silicon, 800)); + requirements(Category.units, with(Items.beryllium, 700, Items.oxide, 300, Items.tungsten, 500, Items.silicon, 800)); size = 5; - plans.add(new AssemblerUnitPlan(UnitTypes.quell, 60f * 60f, BlockStack.list(Blocks.berylliumWallLarge, 4, Blocks.duct, 15, Blocks.plasmaBore, 4))); + plans.add(new AssemblerUnitPlan(UnitTypes.quell, 60f * 60f, BlockStack.list(Blocks.berylliumWallLarge, 12, Blocks.duct, 20, Blocks.plasmaBore, 8))); consumes.power(3f); areaSize = 13; - consumes.liquid(Liquids.gallium, 2f / 60f); + consumes.liquid(Liquids.nitrogen, 12f / 60f); }}; //TODO requirements @@ -3567,8 +3568,7 @@ public class Blocks{ consumes.power(3f); areaSize = 13; - //consumes.liquid(Liquids.gallium, 2f / 60f); - + consumes.liquid(Liquids.nitrogen, 12f / 60f); }}; //TODO requirements diff --git a/core/src/mindustry/input/InputHandler.java b/core/src/mindustry/input/InputHandler.java index 47f0be901b..e8d484a1bf 100644 --- a/core/src/mindustry/input/InputHandler.java +++ b/core/src/mindustry/input/InputHandler.java @@ -196,7 +196,7 @@ public abstract class InputHandler implements InputProcessor, GestureListener{ } } - @Remote(called = Loc.both, targets = Loc.both, forward = true) + @Remote(called = Loc.server, targets = Loc.both, forward = true) public static void commandUnits(Player player, int[] unitIds, @Nullable Building buildTarget, @Nullable Unit unitTarget, @Nullable Vec2 posTarget){ if(player == null || unitIds == null) return; diff --git a/core/src/mindustry/logic/LExecutor.java b/core/src/mindustry/logic/LExecutor.java index 576625900a..81563ad375 100644 --- a/core/src/mindustry/logic/LExecutor.java +++ b/core/src/mindustry/logic/LExecutor.java @@ -1305,6 +1305,7 @@ public class LExecutor{ if(headless) return; //skip back to self until possible + //TODO this is guaranteed desync on servers - I don't see a good solution if( type == MessageType.announce && ui.hudfrag.hasToast() || type == MessageType.notify && ui.hasAnnouncement() ||