From c34d6e6606ad3bba004c6f3cae92105fb5ea2e75 Mon Sep 17 00:00:00 2001 From: Anuken Date: Mon, 6 Aug 2018 19:17:42 -0400 Subject: [PATCH] Improved targeting / Balancing / Monsoon nerf --- core/src/io/anuke/mindustry/content/Weapons.java | 2 +- .../anuke/mindustry/content/blocks/UnitBlocks.java | 14 +++++++------- .../anuke/mindustry/entities/units/FlyingUnit.java | 3 ++- .../world/blocks/defense/turrets/Turret.java | 7 +++---- .../world/blocks/power/SolarGenerator.java | 2 ++ .../world/blocks/units/CommandCenter.java | 2 +- .../mindustry/world/blocks/units/UnitPad.java | 3 +++ .../io/anuke/mindustry/world/meta/BlockFlag.java | 2 ++ 8 files changed, 21 insertions(+), 14 deletions(-) diff --git a/core/src/io/anuke/mindustry/content/Weapons.java b/core/src/io/anuke/mindustry/content/Weapons.java index 77cf2c3b48..75b34448b7 100644 --- a/core/src/io/anuke/mindustry/content/Weapons.java +++ b/core/src/io/anuke/mindustry/content/Weapons.java @@ -93,7 +93,7 @@ public class Weapons implements ContentList{ bomber = new Weapon("bomber"){{ length = 0f; width = 2f; - reload = 7f; + reload = 12f; roundrobin = true; ejectEffect = Fx.none; velocityRnd = 1f; diff --git a/core/src/io/anuke/mindustry/content/blocks/UnitBlocks.java b/core/src/io/anuke/mindustry/content/blocks/UnitBlocks.java index feee6a2139..17c9fe723c 100644 --- a/core/src/io/anuke/mindustry/content/blocks/UnitBlocks.java +++ b/core/src/io/anuke/mindustry/content/blocks/UnitBlocks.java @@ -16,7 +16,7 @@ public class UnitBlocks extends BlockList implements ContentList{ public void load(){ dronePad = new UnitPad("drone-pad"){{ type = UnitTypes.drone; - produceTime = 3000; + produceTime = 4000; size = 2; consumes.power(0.08f); consumes.items(new ItemStack[]{new ItemStack(Items.silicon, 30), new ItemStack(Items.lead, 30)}); @@ -32,24 +32,24 @@ public class UnitBlocks extends BlockList implements ContentList{ interceptorPad = new UnitPad("interceptor-pad"){{ type = UnitTypes.interceptor; - produceTime = 900; + produceTime = 1700; size = 2; - consumes.power(0.07f); + consumes.power(0.1f); consumes.items(new ItemStack[]{new ItemStack(Items.silicon, 10), new ItemStack(Items.titanium, 10)}); }}; monsoonPad = new UnitPad("monsoon-pad"){{ type = UnitTypes.monsoon; - produceTime = 1500; + produceTime = 3300; size = 3; - consumes.power(0.14f); + consumes.power(0.2f); shadow = "shadow-round-3"; consumes.items(new ItemStack[]{new ItemStack(Items.silicon, 30), new ItemStack(Items.titanium, 30), new ItemStack(Items.plastanium, 10)}); }}; daggerPad = new UnitPad("dagger-pad"){{ type = UnitTypes.dagger; - produceTime = 400; + produceTime = 700; size = 2; consumes.power(0.05f); consumes.items(new ItemStack[]{new ItemStack(Items.silicon, 5), new ItemStack(Items.tungsten, 10)}); @@ -57,7 +57,7 @@ public class UnitBlocks extends BlockList implements ContentList{ titanPad = new UnitPad("titan-pad"){{ type = UnitTypes.titan; - produceTime = 1300; + produceTime = 2300; size = 3; consumes.power(0.15f); shadow = "shadow-round-3"; diff --git a/core/src/io/anuke/mindustry/entities/units/FlyingUnit.java b/core/src/io/anuke/mindustry/entities/units/FlyingUnit.java index 7d511c0735..d84cfc2b33 100644 --- a/core/src/io/anuke/mindustry/entities/units/FlyingUnit.java +++ b/core/src/io/anuke/mindustry/entities/units/FlyingUnit.java @@ -82,8 +82,9 @@ public abstract class FlyingUnit extends BaseUnit implements CarryTrait{ targetClosest(); targetClosestEnemyFlag(BlockFlag.target); targetClosestEnemyFlag(BlockFlag.producer); + targetClosestEnemyFlag(BlockFlag.turret); - if(target == null){ + if(target == null && !isCommanded()){ setState(idle); } }); diff --git a/core/src/io/anuke/mindustry/world/blocks/defense/turrets/Turret.java b/core/src/io/anuke/mindustry/world/blocks/defense/turrets/Turret.java index 5b8b8f4825..2fc3ffe9b7 100644 --- a/core/src/io/anuke/mindustry/world/blocks/defense/turrets/Turret.java +++ b/core/src/io/anuke/mindustry/world/blocks/defense/turrets/Turret.java @@ -17,6 +17,7 @@ import io.anuke.mindustry.type.AmmoEntry; import io.anuke.mindustry.type.AmmoType; import io.anuke.mindustry.world.Block; import io.anuke.mindustry.world.Tile; +import io.anuke.mindustry.world.meta.BlockFlag; import io.anuke.mindustry.world.meta.BlockGroup; import io.anuke.mindustry.world.meta.BlockStat; import io.anuke.mindustry.world.meta.StatUnit; @@ -27,10 +28,7 @@ import io.anuke.ucore.core.Timers; import io.anuke.ucore.function.BiConsumer; import io.anuke.ucore.graphics.Draw; import io.anuke.ucore.graphics.Lines; -import io.anuke.ucore.util.Angles; -import io.anuke.ucore.util.Mathf; -import io.anuke.ucore.util.ThreadArray; -import io.anuke.ucore.util.Translator; +import io.anuke.ucore.util.*; import java.io.DataInputStream; import java.io.DataOutputStream; @@ -86,6 +84,7 @@ public abstract class Turret extends Block{ layer = Layer.turret; group = BlockGroup.turrets; turretIcon = true; + flags = EnumSet.of(BlockFlag.turret); } @Override diff --git a/core/src/io/anuke/mindustry/world/blocks/power/SolarGenerator.java b/core/src/io/anuke/mindustry/world/blocks/power/SolarGenerator.java index 651ea6af5d..5dfe21ebf3 100644 --- a/core/src/io/anuke/mindustry/world/blocks/power/SolarGenerator.java +++ b/core/src/io/anuke/mindustry/world/blocks/power/SolarGenerator.java @@ -4,6 +4,7 @@ import io.anuke.mindustry.world.Tile; import io.anuke.mindustry.world.meta.BlockStat; import io.anuke.mindustry.world.meta.StatUnit; import io.anuke.ucore.core.Timers; +import io.anuke.ucore.util.EnumSet; public class SolarGenerator extends PowerGenerator{ /** @@ -13,6 +14,7 @@ public class SolarGenerator extends PowerGenerator{ public SolarGenerator(String name){ super(name); + flags = EnumSet.of(); } @Override 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 83b4f6f4ab..d822e7a2b5 100644 --- a/core/src/io/anuke/mindustry/world/blocks/units/CommandCenter.java +++ b/core/src/io/anuke/mindustry/world/blocks/units/CommandCenter.java @@ -38,7 +38,7 @@ public class CommandCenter extends Block{ public CommandCenter(String name){ super(name); - flags = EnumSet.of(BlockFlag.comandCenter); + flags = EnumSet.of(BlockFlag.target); destructible = true; solid = true; configurable = true; 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 4fe4f4dab8..f7d32306d4 100644 --- a/core/src/io/anuke/mindustry/world/blocks/units/UnitPad.java +++ b/core/src/io/anuke/mindustry/world/blocks/units/UnitPad.java @@ -21,6 +21,7 @@ import io.anuke.mindustry.world.Block; import io.anuke.mindustry.world.Tile; import io.anuke.mindustry.world.consumers.ConsumeItems; import io.anuke.mindustry.world.meta.BlockBar; +import io.anuke.mindustry.world.meta.BlockFlag; import io.anuke.mindustry.world.meta.BlockStat; import io.anuke.mindustry.world.meta.StatUnit; import io.anuke.mindustry.world.modules.InventoryModule; @@ -29,6 +30,7 @@ import io.anuke.ucore.core.Graphics; import io.anuke.ucore.core.Timers; import io.anuke.ucore.graphics.Draw; import io.anuke.ucore.graphics.Lines; +import io.anuke.ucore.util.EnumSet; import io.anuke.ucore.util.Mathf; import java.io.DataInputStream; @@ -51,6 +53,7 @@ public class UnitPad extends Block{ hasItems = true; solid = false; itemCapacity = 10; + flags = EnumSet.of(BlockFlag.target); consumes.require(ConsumeItems.class); } diff --git a/core/src/io/anuke/mindustry/world/meta/BlockFlag.java b/core/src/io/anuke/mindustry/world/meta/BlockFlag.java index b09645715f..4ed8056324 100644 --- a/core/src/io/anuke/mindustry/world/meta/BlockFlag.java +++ b/core/src/io/anuke/mindustry/world/meta/BlockFlag.java @@ -9,6 +9,8 @@ public enum BlockFlag{ dropPoint(Float.MAX_VALUE), /**Producer of important goods.*/ producer(20), + /**Just a turret.*/ + turret(20), /**Producer or storage unit of volatile materials.*/ explosive(10), /**Repair point.*/