From a5fd0aebe62e790bb359fa37fc76801f1cf0984b Mon Sep 17 00:00:00 2001 From: Anuken Date: Mon, 6 Aug 2018 19:04:07 -0400 Subject: [PATCH] Fixed armageddon / Removed idle command / Balancing --- .../mindustry/content/blocks/DebugBlocks.java | 1 + .../content/blocks/ProductionBlocks.java | 2 +- .../mindustry/entities/units/BaseUnit.java | 8 ------- .../mindustry/entities/units/FlyingUnit.java | 3 +-- .../mindustry/entities/units/GroundUnit.java | 3 +-- .../mindustry/entities/units/UnitCommand.java | 2 +- .../maps/generation/FortressGenerator.java | 4 +++- .../world/blocks/units/CommandCenter.java | 2 +- .../mindustry/world/blocks/units/UnitPad.java | 21 +++---------------- 9 files changed, 12 insertions(+), 34 deletions(-) diff --git a/core/src/io/anuke/mindustry/content/blocks/DebugBlocks.java b/core/src/io/anuke/mindustry/content/blocks/DebugBlocks.java index 4a47ff9e07..2efda87b10 100644 --- a/core/src/io/anuke/mindustry/content/blocks/DebugBlocks.java +++ b/core/src/io/anuke/mindustry/content/blocks/DebugBlocks.java @@ -45,6 +45,7 @@ public class DebugBlocks extends BlockList implements ContentList{ { powerCapacity = 10000f; powerSpeed = 100f; + maxNodes = 100; } @Override diff --git a/core/src/io/anuke/mindustry/content/blocks/ProductionBlocks.java b/core/src/io/anuke/mindustry/content/blocks/ProductionBlocks.java index e1c20eee06..bba43cfa77 100644 --- a/core/src/io/anuke/mindustry/content/blocks/ProductionBlocks.java +++ b/core/src/io/anuke/mindustry/content/blocks/ProductionBlocks.java @@ -76,7 +76,7 @@ public class ProductionBlocks extends BlockList implements ContentList{ liquidCapacity = 30f; rotateSpeed = 1.4f; - consumes.power(0.2f); + consumes.power(0.15f); }}; oilextractor = new Fracker("oil-extractor"){{ diff --git a/core/src/io/anuke/mindustry/entities/units/BaseUnit.java b/core/src/io/anuke/mindustry/entities/units/BaseUnit.java index 7f82b277b9..b807542b5e 100644 --- a/core/src/io/anuke/mindustry/entities/units/BaseUnit.java +++ b/core/src/io/anuke/mindustry/entities/units/BaseUnit.java @@ -24,7 +24,6 @@ import io.anuke.mindustry.type.ItemStack; import io.anuke.mindustry.type.Weapon; import io.anuke.mindustry.world.Tile; import io.anuke.mindustry.world.blocks.units.CommandCenter.CommandCenterEntity; -import io.anuke.mindustry.world.blocks.units.UnitPad.UnitFactoryEntity; import io.anuke.mindustry.world.meta.BlockFlag; import io.anuke.ucore.core.Effects; import io.anuke.ucore.core.Timers; @@ -369,13 +368,6 @@ public abstract class BaseUnit extends Unit implements ShooterTrait{ @Override public void removed(){ - Tile tile = world.tile(spawner); - - if(tile != null && tile.entity instanceof UnitFactoryEntity){ - UnitFactoryEntity factory = (UnitFactoryEntity) tile.entity; - factory.hasSpawned = false; - } - spawner = -1; } diff --git a/core/src/io/anuke/mindustry/entities/units/FlyingUnit.java b/core/src/io/anuke/mindustry/entities/units/FlyingUnit.java index d7ffd67c44..7d511c0735 100644 --- a/core/src/io/anuke/mindustry/entities/units/FlyingUnit.java +++ b/core/src/io/anuke/mindustry/entities/units/FlyingUnit.java @@ -130,8 +130,7 @@ public abstract class FlyingUnit extends BaseUnit implements CarryTrait{ public void onCommand(UnitCommand command){ state.set(command == UnitCommand.retreat ? retreat : (command == UnitCommand.attack ? attack : - (command == UnitCommand.idle ? idle : - (null)))); + (null))); } @Override diff --git a/core/src/io/anuke/mindustry/entities/units/GroundUnit.java b/core/src/io/anuke/mindustry/entities/units/GroundUnit.java index 638b69123e..9df870cc90 100644 --- a/core/src/io/anuke/mindustry/entities/units/GroundUnit.java +++ b/core/src/io/anuke/mindustry/entities/units/GroundUnit.java @@ -115,8 +115,7 @@ public abstract class GroundUnit extends BaseUnit{ public void onCommand(UnitCommand command){ state.set(command == UnitCommand.retreat ? retreat : (command == UnitCommand.attack ? attack : - (command == UnitCommand.idle ? resupply : - (null)))); + (null))); } @Override diff --git a/core/src/io/anuke/mindustry/entities/units/UnitCommand.java b/core/src/io/anuke/mindustry/entities/units/UnitCommand.java index 71d77e3f73..035fd1dd25 100644 --- a/core/src/io/anuke/mindustry/entities/units/UnitCommand.java +++ b/core/src/io/anuke/mindustry/entities/units/UnitCommand.java @@ -1,5 +1,5 @@ package io.anuke.mindustry.entities.units; public enum UnitCommand{ - attack, retreat, idle + attack, retreat } diff --git a/core/src/io/anuke/mindustry/maps/generation/FortressGenerator.java b/core/src/io/anuke/mindustry/maps/generation/FortressGenerator.java index 77c92d86b3..f1bbd8111d 100644 --- a/core/src/io/anuke/mindustry/maps/generation/FortressGenerator.java +++ b/core/src/io/anuke/mindustry/maps/generation/FortressGenerator.java @@ -5,6 +5,7 @@ import com.badlogic.gdx.math.Vector2; import com.badlogic.gdx.utils.Array; import io.anuke.mindustry.content.Items; import io.anuke.mindustry.content.blocks.Blocks; +import io.anuke.mindustry.content.blocks.UnitBlocks; import io.anuke.mindustry.game.Team; import io.anuke.mindustry.maps.generation.StructureFormat.StructBlock; import io.anuke.mindustry.type.AmmoType; @@ -174,7 +175,8 @@ public class FortressGenerator{ int wy = y + cy - struct.layout[0].length/2; StructBlock block = struct.layout[cx][cy]; Tile tile = world.tile(wx, wy); - if(block.block != Blocks.air && tile.block().alwaysReplace){ + //resupply points should not be placed anymore, they confuse units + if(block.block != Blocks.air && tile.block().alwaysReplace && block.block != UnitBlocks.resupplyPoint){ tile.setElevation(elevation); tile.setRotation(block.rotation); tile.setBlock(block.block, team); diff --git a/core/src/io/anuke/mindustry/world/blocks/units/CommandCenter.java b/core/src/io/anuke/mindustry/world/blocks/units/CommandCenter.java index 1ba6671cc1..83b4f6f4ab 100644 --- a/core/src/io/anuke/mindustry/world/blocks/units/CommandCenter.java +++ b/core/src/io/anuke/mindustry/world/blocks/units/CommandCenter.java @@ -109,7 +109,7 @@ public class CommandCenter extends Block{ } public class CommandCenterEntity extends TileEntity{ - public UnitCommand command = UnitCommand.idle; + public UnitCommand command = UnitCommand.attack; @Override public void write(DataOutputStream stream) throws IOException{ diff --git a/core/src/io/anuke/mindustry/world/blocks/units/UnitPad.java b/core/src/io/anuke/mindustry/world/blocks/units/UnitPad.java index 24bdd917f1..4fe4f4dab8 100644 --- a/core/src/io/anuke/mindustry/world/blocks/units/UnitPad.java +++ b/core/src/io/anuke/mindustry/world/blocks/units/UnitPad.java @@ -6,7 +6,6 @@ import io.anuke.annotations.Annotations.Remote; import io.anuke.mindustry.Vars; import io.anuke.mindustry.content.fx.BlockFx; import io.anuke.mindustry.entities.TileEntity; -import io.anuke.mindustry.entities.Units; import io.anuke.mindustry.entities.units.BaseUnit; import io.anuke.mindustry.entities.units.UnitType; import io.anuke.mindustry.game.Team; @@ -136,7 +135,7 @@ public class UnitPad extends Block{ Draw.reset(); - Draw.rect(name, tile.drawx(), tile.drawy()); + Draw.rect(name + "-top", tile.drawx(), tile.drawy()); } @Override @@ -145,18 +144,6 @@ public class UnitPad extends Block{ entity.time += Timers.delta() * entity.speedScl; - if(entity.openCountdown > 0){ - if(entity.openCountdown > Timers.delta()){ - entity.openCountdown -= Timers.delta(); - }else{ - if(type.isFlying || !Units.anyEntities(tile)){ - entity.openCountdown = -1; - }else{ - entity.speedScl = Mathf.lerpDelta(entity.speedScl, 0f, 0.1f); - } - } - } - boolean isEnemy = tile.getTeam() == Team.red; if(isEnemy){ @@ -184,12 +171,11 @@ public class UnitPad extends Block{ } if(entity.buildTime >= produceTime){ + entity.buildTime = 0f; - Timers.run(openDuration / 1.5f, () -> Call.onUnitFactorySpawn(tile)); + Call.onUnitFactorySpawn(tile); useContent(type); - entity.openCountdown = openDuration; - for(ItemStack stack : consumes.items()){ entity.items.remove(stack.item, stack.amount); } @@ -232,7 +218,6 @@ public class UnitPad extends Block{ public static class UnitFactoryEntity extends TileEntity{ public float buildTime; - public float openCountdown; public float time; public float speedScl; public float warmup; //only for enemy spawners