diff --git a/core/assets-raw/sprites_replacement/blocks/turrets/duo.png b/core/assets-raw/sprites_replacement/blocks/turrets/duo.png index 4af6e56d86..128b9c684b 100644 Binary files a/core/assets-raw/sprites_replacement/blocks/turrets/duo.png and b/core/assets-raw/sprites_replacement/blocks/turrets/duo.png differ diff --git a/core/assets/sprites/sprites.png b/core/assets/sprites/sprites.png index 9811fc23e0..f9524a71ec 100644 Binary files a/core/assets/sprites/sprites.png and b/core/assets/sprites/sprites.png differ diff --git a/core/src/io/anuke/mindustry/content/Blocks.java b/core/src/io/anuke/mindustry/content/Blocks.java index 7238ad1edd..34e3e9dbec 100644 --- a/core/src/io/anuke/mindustry/content/Blocks.java +++ b/core/src/io/anuke/mindustry/content/Blocks.java @@ -833,14 +833,14 @@ public class Blocks implements ContentList{ thermalGenerator = new ThermalGenerator("thermal-generator"){{ requirements(Category.power, ItemStack.with(Items.copper, 80, Items.graphite, 70, Items.lead, 100, Items.silicon, 70, Items.thorium, 70)); - powerProduction = 2f; + powerProduction = 3f; generateEffect = Fx.redgeneratespark; size = 2; }}; turbineGenerator = new TurbineGenerator("turbine-generator"){{ requirements(Category.power, ItemStack.with(Items.copper, 70, Items.graphite, 50, Items.lead, 80, Items.silicon, 60)); - powerProduction = 4f; + powerProduction = 6f; itemDuration = 30f; consumes.liquid(Liquids.water, 0.05f); size = 2; @@ -848,7 +848,7 @@ public class Blocks implements ContentList{ differentialGenerator = new DifferentialGenerator("differential-generator"){{ requirements(Category.power, ItemStack.with(Items.copper, 140, Items.titanium, 100, Items.lead, 200, Items.silicon, 130, Items.metaglass, 100)); - powerProduction = 12f; + powerProduction = 24f; itemDuration = 60f; consumes.remove(ConsumeItemFilter.class); consumes.remove(ConsumeLiquidFilter.class); @@ -879,7 +879,7 @@ public class Blocks implements ContentList{ requirements(Category.power, ItemStack.with(Items.lead, 600, Items.silicon, 400, Items.graphite, 300, Items.thorium, 300)); size = 3; health = 700; - powerProduction = 11f; + powerProduction = 12f; consumes.liquid(Liquids.cryofluid, maxLiquidUse); }}; @@ -888,7 +888,7 @@ public class Blocks implements ContentList{ size = 4; health = 900; powerProduction = 70f; - consumes.power(20f); + consumes.power(23f); consumes.item(Items.blastCompound); consumes.liquid(Liquids.water, 0.3f); }}; @@ -1083,11 +1083,11 @@ public class Blocks implements ContentList{ ); size = 2; recoil = 0f; - reload = 4f; + reload = 3f; inaccuracy = 5f; shootCone = 50f; shootEffect = Fx.shootLiquid; - range = 90f; + range = 100f; health = 360; drawer = (tile, entity) -> { @@ -1102,13 +1102,13 @@ public class Blocks implements ContentList{ lancer = new ChargeTurret("lancer"){{ requirements(Category.turret, ItemStack.with(Items.copper, 50, Items.lead, 100, Items.silicon, 90)); - range = 120f; - chargeTime = 60f; + range = 135f; + chargeTime = 50f; chargeMaxDelay = 30f; chargeEffects = 7; shootType = Bullets.lancerLaser; recoil = 2f; - reload = 100f; + reload = 90f; cooldown = 0.03f; powerUsed = 1 / 3f; consumes.powerBuffered(600f); @@ -1199,7 +1199,7 @@ public class Blocks implements ContentList{ restitution = 0.02f; recoil = 6f; shootShake = 2f; - range = 320f; + range = 290f; health = 550; }}; @@ -1226,14 +1226,14 @@ public class Blocks implements ContentList{ fuse = new ItemTurret("fuse"){{ requirements(Category.turret, ItemStack.with(Items.copper, 450, Items.graphite, 450, Items.surgealloy, 250)); ammo(Items.graphite, Bullets.fuseShot); - reload = 50f; + reload = 40f; shootShake = 4f; range = 80f; recoil = 5f; restitution = 0.1f; size = 3; - health = 155 * size * size; + health = 165 * size * size; }}; spectre = new DoubleTurret("spectre"){{ diff --git a/core/src/io/anuke/mindustry/content/Bullets.java b/core/src/io/anuke/mindustry/content/Bullets.java index d38e98cbaf..bb2d653937 100644 --- a/core/src/io/anuke/mindustry/content/Bullets.java +++ b/core/src/io/anuke/mindustry/content/Bullets.java @@ -64,7 +64,7 @@ public class Bullets implements ContentList{ splashDamage = 33f; }}; - artilleryPlasticFrag = new BasicBulletType(2.5f, 6, "bullet"){{ + artilleryPlasticFrag = new BasicBulletType(2.5f, 7, "bullet"){{ bulletWidth = 10f; bulletHeight = 12f; bulletShrink = 1f; @@ -74,16 +74,16 @@ public class Bullets implements ContentList{ despawnEffect = Fx.none; }}; - arilleryPlastic = new ArtilleryBulletType(3.3f, 0, "shell"){{ + arilleryPlastic = new ArtilleryBulletType(3.4f, 0, "shell"){{ hitEffect = Fx.plasticExplosion; knockback = 1f; lifetime = 55f; bulletWidth = bulletHeight = 13f; collidesTiles = false; splashDamageRadius = 35f; - splashDamage = 35f; + splashDamage = 45f; fragBullet = artilleryPlasticFrag; - fragBullets = 9; + fragBullets = 10; backColor = Pal.plastaniumBack; frontColor = Pal.plastaniumFront; }}; @@ -140,10 +140,10 @@ public class Bullets implements ContentList{ frontColor = Pal.bulletYellow; }}; - flakPlastic = new FlakBulletType(4f, 5){{ - splashDamageRadius = 40f; + flakPlastic = new FlakBulletType(4f, 6){{ + splashDamageRadius = 50f; fragBullet = artilleryPlasticFrag; - fragBullets = 4; + fragBullets = 6; hitEffect = Fx.plasticExplosion; frontColor = Pal.plastaniumFront; backColor = Pal.plastaniumBack; @@ -455,7 +455,7 @@ public class Bullets implements ContentList{ Color[] colors = {Pal.lancerLaser.cpy().mul(1f, 1f, 1f, 0.4f), Pal.lancerLaser, Color.WHITE}; float[] tscales = {1f, 0.7f, 0.5f, 0.2f}; float[] lenscales = {1f, 1.1f, 1.13f, 1.14f}; - float length = 100f; + float length = 140f; { hitEffect = Fx.hitLancer; @@ -492,7 +492,7 @@ public class Bullets implements ContentList{ } }; - meltdownLaser = new BulletType(0.001f, 26){ + meltdownLaser = new BulletType(0.001f, 35){ Color tmpColor = new Color(); Color[] colors = {Color.valueOf("ec745855"), Color.valueOf("ec7458aa"), Color.valueOf("ff9c5a"), Color.WHITE}; float[] tscales = {1f, 0.7f, 0.5f, 0.2f}; @@ -576,7 +576,7 @@ public class Bullets implements ContentList{ }; waterShot = new LiquidBulletType(Liquids.water){{ - knockback = 0.65f; + knockback = 0.7f; }}; cryoShot = new LiquidBulletType(Liquids.cryofluid){{ diff --git a/core/src/io/anuke/mindustry/entities/bullet/LiquidBulletType.java b/core/src/io/anuke/mindustry/entities/bullet/LiquidBulletType.java index b600b8ef2d..6b4c7d8bb9 100644 --- a/core/src/io/anuke/mindustry/entities/bullet/LiquidBulletType.java +++ b/core/src/io/anuke/mindustry/entities/bullet/LiquidBulletType.java @@ -20,17 +20,17 @@ public class LiquidBulletType extends BulletType{ Liquid liquid; public LiquidBulletType(Liquid liquid){ - super(2.5f, 0); + super(2.8f, 0); this.liquid = liquid; - lifetime = 70f; + lifetime = 74f; status = liquid.effect; statusDuration = 90f; despawnEffect = Fx.none; hitEffect = Fx.hitLiquid; shootEffect = Fx.none; - drag = 0.01f; - knockback = 0.5f; + drag = 0.009f; + knockback = 0.55f; } @Override diff --git a/core/src/io/anuke/mindustry/entities/traits/BuilderTrait.java b/core/src/io/anuke/mindustry/entities/traits/BuilderTrait.java index 4ca7b6a41c..c9cc53e521 100644 --- a/core/src/io/anuke/mindustry/entities/traits/BuilderTrait.java +++ b/core/src/io/anuke/mindustry/entities/traits/BuilderTrait.java @@ -124,22 +124,6 @@ public interface BuilderTrait extends Entity, TeamTrait{ return getPlaceQueue().size != 0; } - /** - * If a place request matching this signature is present, it is removed. - * Otherwise, a new place request is added to the queue. - */ - default void replaceBuilding(int x, int y, int rotation, Block block){ - for(BuildRequest request : getPlaceQueue()){ - if(request.x == x && request.y == y){ - clearBuilding(); - addBuildRequest(request); - return; - } - } - - addBuildRequest(new BuildRequest(x, y, rotation, block)); - } - /**Clears the placement queue.*/ default void clearBuilding(){ getPlaceQueue().clear();