Improved targeting / Balancing / Monsoon nerf

This commit is contained in:
Anuken
2018-08-06 19:17:42 -04:00
parent a5fd0aebe6
commit c34d6e6606
8 changed files with 21 additions and 14 deletions

View File

@@ -93,7 +93,7 @@ public class Weapons implements ContentList{
bomber = new Weapon("bomber"){{ bomber = new Weapon("bomber"){{
length = 0f; length = 0f;
width = 2f; width = 2f;
reload = 7f; reload = 12f;
roundrobin = true; roundrobin = true;
ejectEffect = Fx.none; ejectEffect = Fx.none;
velocityRnd = 1f; velocityRnd = 1f;

View File

@@ -16,7 +16,7 @@ public class UnitBlocks extends BlockList implements ContentList{
public void load(){ public void load(){
dronePad = new UnitPad("drone-pad"){{ dronePad = new UnitPad("drone-pad"){{
type = UnitTypes.drone; type = UnitTypes.drone;
produceTime = 3000; produceTime = 4000;
size = 2; size = 2;
consumes.power(0.08f); consumes.power(0.08f);
consumes.items(new ItemStack[]{new ItemStack(Items.silicon, 30), new ItemStack(Items.lead, 30)}); 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"){{ interceptorPad = new UnitPad("interceptor-pad"){{
type = UnitTypes.interceptor; type = UnitTypes.interceptor;
produceTime = 900; produceTime = 1700;
size = 2; size = 2;
consumes.power(0.07f); consumes.power(0.1f);
consumes.items(new ItemStack[]{new ItemStack(Items.silicon, 10), new ItemStack(Items.titanium, 10)}); consumes.items(new ItemStack[]{new ItemStack(Items.silicon, 10), new ItemStack(Items.titanium, 10)});
}}; }};
monsoonPad = new UnitPad("monsoon-pad"){{ monsoonPad = new UnitPad("monsoon-pad"){{
type = UnitTypes.monsoon; type = UnitTypes.monsoon;
produceTime = 1500; produceTime = 3300;
size = 3; size = 3;
consumes.power(0.14f); consumes.power(0.2f);
shadow = "shadow-round-3"; shadow = "shadow-round-3";
consumes.items(new ItemStack[]{new ItemStack(Items.silicon, 30), new ItemStack(Items.titanium, 30), new ItemStack(Items.plastanium, 10)}); consumes.items(new ItemStack[]{new ItemStack(Items.silicon, 30), new ItemStack(Items.titanium, 30), new ItemStack(Items.plastanium, 10)});
}}; }};
daggerPad = new UnitPad("dagger-pad"){{ daggerPad = new UnitPad("dagger-pad"){{
type = UnitTypes.dagger; type = UnitTypes.dagger;
produceTime = 400; produceTime = 700;
size = 2; size = 2;
consumes.power(0.05f); consumes.power(0.05f);
consumes.items(new ItemStack[]{new ItemStack(Items.silicon, 5), new ItemStack(Items.tungsten, 10)}); 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"){{ titanPad = new UnitPad("titan-pad"){{
type = UnitTypes.titan; type = UnitTypes.titan;
produceTime = 1300; produceTime = 2300;
size = 3; size = 3;
consumes.power(0.15f); consumes.power(0.15f);
shadow = "shadow-round-3"; shadow = "shadow-round-3";

View File

@@ -82,8 +82,9 @@ public abstract class FlyingUnit extends BaseUnit implements CarryTrait{
targetClosest(); targetClosest();
targetClosestEnemyFlag(BlockFlag.target); targetClosestEnemyFlag(BlockFlag.target);
targetClosestEnemyFlag(BlockFlag.producer); targetClosestEnemyFlag(BlockFlag.producer);
targetClosestEnemyFlag(BlockFlag.turret);
if(target == null){ if(target == null && !isCommanded()){
setState(idle); setState(idle);
} }
}); });

View File

@@ -17,6 +17,7 @@ import io.anuke.mindustry.type.AmmoEntry;
import io.anuke.mindustry.type.AmmoType; import io.anuke.mindustry.type.AmmoType;
import io.anuke.mindustry.world.Block; import io.anuke.mindustry.world.Block;
import io.anuke.mindustry.world.Tile; 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.BlockGroup;
import io.anuke.mindustry.world.meta.BlockStat; import io.anuke.mindustry.world.meta.BlockStat;
import io.anuke.mindustry.world.meta.StatUnit; 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.function.BiConsumer;
import io.anuke.ucore.graphics.Draw; import io.anuke.ucore.graphics.Draw;
import io.anuke.ucore.graphics.Lines; import io.anuke.ucore.graphics.Lines;
import io.anuke.ucore.util.Angles; import io.anuke.ucore.util.*;
import io.anuke.ucore.util.Mathf;
import io.anuke.ucore.util.ThreadArray;
import io.anuke.ucore.util.Translator;
import java.io.DataInputStream; import java.io.DataInputStream;
import java.io.DataOutputStream; import java.io.DataOutputStream;
@@ -86,6 +84,7 @@ public abstract class Turret extends Block{
layer = Layer.turret; layer = Layer.turret;
group = BlockGroup.turrets; group = BlockGroup.turrets;
turretIcon = true; turretIcon = true;
flags = EnumSet.of(BlockFlag.turret);
} }
@Override @Override

View File

@@ -4,6 +4,7 @@ import io.anuke.mindustry.world.Tile;
import io.anuke.mindustry.world.meta.BlockStat; import io.anuke.mindustry.world.meta.BlockStat;
import io.anuke.mindustry.world.meta.StatUnit; import io.anuke.mindustry.world.meta.StatUnit;
import io.anuke.ucore.core.Timers; import io.anuke.ucore.core.Timers;
import io.anuke.ucore.util.EnumSet;
public class SolarGenerator extends PowerGenerator{ public class SolarGenerator extends PowerGenerator{
/** /**
@@ -13,6 +14,7 @@ public class SolarGenerator extends PowerGenerator{
public SolarGenerator(String name){ public SolarGenerator(String name){
super(name); super(name);
flags = EnumSet.of();
} }
@Override @Override

View File

@@ -38,7 +38,7 @@ public class CommandCenter extends Block{
public CommandCenter(String name){ public CommandCenter(String name){
super(name); super(name);
flags = EnumSet.of(BlockFlag.comandCenter); flags = EnumSet.of(BlockFlag.target);
destructible = true; destructible = true;
solid = true; solid = true;
configurable = true; configurable = true;

View File

@@ -21,6 +21,7 @@ import io.anuke.mindustry.world.Block;
import io.anuke.mindustry.world.Tile; import io.anuke.mindustry.world.Tile;
import io.anuke.mindustry.world.consumers.ConsumeItems; import io.anuke.mindustry.world.consumers.ConsumeItems;
import io.anuke.mindustry.world.meta.BlockBar; 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.BlockStat;
import io.anuke.mindustry.world.meta.StatUnit; import io.anuke.mindustry.world.meta.StatUnit;
import io.anuke.mindustry.world.modules.InventoryModule; 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.core.Timers;
import io.anuke.ucore.graphics.Draw; import io.anuke.ucore.graphics.Draw;
import io.anuke.ucore.graphics.Lines; import io.anuke.ucore.graphics.Lines;
import io.anuke.ucore.util.EnumSet;
import io.anuke.ucore.util.Mathf; import io.anuke.ucore.util.Mathf;
import java.io.DataInputStream; import java.io.DataInputStream;
@@ -51,6 +53,7 @@ public class UnitPad extends Block{
hasItems = true; hasItems = true;
solid = false; solid = false;
itemCapacity = 10; itemCapacity = 10;
flags = EnumSet.of(BlockFlag.target);
consumes.require(ConsumeItems.class); consumes.require(ConsumeItems.class);
} }

View File

@@ -9,6 +9,8 @@ public enum BlockFlag{
dropPoint(Float.MAX_VALUE), dropPoint(Float.MAX_VALUE),
/**Producer of important goods.*/ /**Producer of important goods.*/
producer(20), producer(20),
/**Just a turret.*/
turret(20),
/**Producer or storage unit of volatile materials.*/ /**Producer or storage unit of volatile materials.*/
explosive(10), explosive(10),
/**Repair point.*/ /**Repair point.*/