Improved targeting / Balancing / Monsoon nerf
This commit is contained in:
@@ -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;
|
||||||
|
|||||||
@@ -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";
|
||||||
|
|||||||
@@ -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);
|
||||||
}
|
}
|
||||||
});
|
});
|
||||||
|
|||||||
@@ -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
|
||||||
|
|||||||
@@ -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
|
||||||
|
|||||||
@@ -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;
|
||||||
|
|||||||
@@ -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);
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -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.*/
|
||||||
|
|||||||
Reference in New Issue
Block a user