diff --git a/core/assets/maps/saltFlats.msav b/core/assets/maps/saltFlats.msav index 5a8285f910..6d03b08641 100644 Binary files a/core/assets/maps/saltFlats.msav and b/core/assets/maps/saltFlats.msav differ diff --git a/core/src/io/anuke/mindustry/content/Blocks.java b/core/src/io/anuke/mindustry/content/Blocks.java index 27971e0d5c..2cdeb76990 100644 --- a/core/src/io/anuke/mindustry/content/Blocks.java +++ b/core/src/io/anuke/mindustry/content/Blocks.java @@ -1613,13 +1613,13 @@ public class Blocks implements ContentList{ }}; spiritFactory = new UnitFactory("spirit-factory"){{ - requirements(Category.units, ItemStack.with(Items.metaglass, 35, Items.lead, 55, Items.silicon, 45)); + requirements(Category.units, ItemStack.with(Items.metaglass, 45, Items.lead, 55, Items.silicon, 45)); type = UnitTypes.spirit; - produceTime = 2850; + produceTime = 3500; size = 2; maxSpawn = 2; consumes.power(0.80f); - consumes.items(new ItemStack(Items.silicon, 10), new ItemStack(Items.lead, 15)); + consumes.items(new ItemStack(Items.silicon, 15), new ItemStack(Items.lead, 15)); }}; phantomFactory = new UnitFactory("phantom-factory"){{ diff --git a/core/src/io/anuke/mindustry/content/Bullets.java b/core/src/io/anuke/mindustry/content/Bullets.java index 0738306466..dd8deb3881 100644 --- a/core/src/io/anuke/mindustry/content/Bullets.java +++ b/core/src/io/anuke/mindustry/content/Bullets.java @@ -1,19 +1,16 @@ package io.anuke.mindustry.content; -import io.anuke.arc.graphics.Color; +import io.anuke.arc.graphics.*; import io.anuke.arc.graphics.g2d.*; -import io.anuke.arc.math.Mathf; -import io.anuke.arc.util.Time; -import io.anuke.arc.util.Tmp; -import io.anuke.mindustry.entities.Damage; -import io.anuke.mindustry.entities.Effects; +import io.anuke.arc.math.*; +import io.anuke.arc.util.*; +import io.anuke.mindustry.entities.*; import io.anuke.mindustry.entities.bullet.*; import io.anuke.mindustry.entities.effect.*; -import io.anuke.mindustry.entities.type.Unit; -import io.anuke.mindustry.game.ContentList; -import io.anuke.mindustry.graphics.Pal; -import io.anuke.mindustry.world.Tile; -import io.anuke.mindustry.world.blocks.BuildBlock; +import io.anuke.mindustry.game.*; +import io.anuke.mindustry.graphics.*; +import io.anuke.mindustry.world.*; +import io.anuke.mindustry.world.blocks.*; import static io.anuke.mindustry.Vars.world; @@ -43,7 +40,7 @@ public class Bullets implements ContentList{ fireball, basicFlame, pyraFlame, driverBolt, healBullet, frag, eruptorShot, //bombs - bombExplosive, bombIncendiary, bombOil, explode; + bombExplosive, bombIncendiary, bombOil; @Override public void load(){ @@ -703,23 +700,5 @@ public class Bullets implements ContentList{ } } }; - - explode = new BombBulletType(2f, 3f, "clear"){ - { - hitEffect = Fx.pulverize; - lifetime = 30f; - speed = 1f; - splashDamageRadius = 50f; - splashDamage = 28f; - } - - @Override - public void init(Bullet b){ - if(b.getOwner() instanceof Unit){ - ((Unit)b.getOwner()).kill(); - } - b.time(b.lifetime()); - } - }; } } diff --git a/core/src/io/anuke/mindustry/content/UnitTypes.java b/core/src/io/anuke/mindustry/content/UnitTypes.java index 3f95baccb9..da3dfcfa63 100644 --- a/core/src/io/anuke/mindustry/content/UnitTypes.java +++ b/core/src/io/anuke/mindustry/content/UnitTypes.java @@ -1,10 +1,11 @@ package io.anuke.mindustry.content; -import io.anuke.arc.collection.ObjectSet; +import io.anuke.arc.collection.*; +import io.anuke.mindustry.entities.bullet.*; +import io.anuke.mindustry.entities.type.*; import io.anuke.mindustry.entities.type.base.*; -import io.anuke.mindustry.game.ContentList; -import io.anuke.mindustry.type.UnitType; -import io.anuke.mindustry.type.Weapon; +import io.anuke.mindustry.game.*; +import io.anuke.mindustry.type.*; public class UnitTypes implements ContentList{ public static UnitType @@ -90,16 +91,32 @@ public class UnitTypes implements ContentList{ }}; crawler = new UnitType("crawler", Crawler.class, Crawler::new){{ - maxVelocity = 1.25f; - speed = 0.28f; + maxVelocity = 1.27f; + speed = 0.285f; drag = 0.4f; hitsize = 8f; mass = 1.75f; - health = 100; + health = 120; weapon = new Weapon("bomber"){{ reload = 12f; ejectEffect = Fx.none; - bullet = Bullets.explode; + bullet = new BombBulletType(2f, 3f, "clear"){ + { + hitEffect = Fx.pulverize; + lifetime = 30f; + speed = 1.1f; + splashDamageRadius = 55f; + splashDamage = 30f; + } + + @Override + public void init(Bullet b){ + if(b.getOwner() instanceof Unit){ + ((Unit)b.getOwner()).kill(); + } + b.time(b.lifetime()); + } + }; }}; }}; diff --git a/core/src/io/anuke/mindustry/entities/type/Player.java b/core/src/io/anuke/mindustry/entities/type/Player.java index b5318511af..48ff525832 100644 --- a/core/src/io/anuke/mindustry/entities/type/Player.java +++ b/core/src/io/anuke/mindustry/entities/type/Player.java @@ -421,7 +421,7 @@ public class Player extends Unit implements BuilderMinerTrait, ShooterTrait{ public void drawBuildRequests(){ BuildRequest last = null; for(BuildRequest request : buildQueue()){ - if(request.progress > 0.01f || (buildRequest() == request && (dst(request.x * tilesize, request.y * tilesize) <= placeDistance || state.isEditor()))) continue; + if(request.progress > 0.01f || (buildRequest() == request && request.initialized && (dst(request.x * tilesize, request.y * tilesize) <= placeDistance || state.isEditor()))) continue; if(request.breaking){ Block block = world.ltile(request.x, request.y).block();