diff --git a/core/assets-raw/sprites/items/item-coal.png b/core/assets-raw/sprites/items/item-coal.png index 0c094a7436..b9d9612114 100644 Binary files a/core/assets-raw/sprites/items/item-coal.png and b/core/assets-raw/sprites/items/item-coal.png differ diff --git a/core/assets-raw/sprites/items/item-graphite.png b/core/assets-raw/sprites/items/item-graphite.png index dec3f0a430..4cf88f7303 100644 Binary files a/core/assets-raw/sprites/items/item-graphite.png and b/core/assets-raw/sprites/items/item-graphite.png differ diff --git a/core/assets/bundles/bundle.properties b/core/assets/bundles/bundle.properties index 274ce51a0a..723ca2a021 100644 --- a/core/assets/bundles/bundle.properties +++ b/core/assets/bundles/bundle.properties @@ -652,6 +652,7 @@ unit.phantom.name = Phantom Drone unit.phantom.description = An advanced drone unit. Automatically mines ores and repairs blocks. Significantly more effective than a spirit drone. unit.dagger.name = Dagger unit.dagger.description = A basic ground unit. Useful in swarms. +unit.crawler.name = Crawler unit.titan.name = Titan unit.titan.description = An advanced, armored ground unit. Attacks both ground and air targets. unit.ghoul.name = Ghoul Bomber diff --git a/core/assets/sprites/sprites.png b/core/assets/sprites/sprites.png index 3d6e89462f..b06bf40618 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 137951d217..ed533ae8fc 100644 --- a/core/src/io/anuke/mindustry/content/Blocks.java +++ b/core/src/io/anuke/mindustry/content/Blocks.java @@ -228,9 +228,8 @@ public class Blocks implements ContentList{ siliconSmelter = new PowerSmelter("silicon-smelter"){{ requirements(Category.crafting, ItemStack.with(Items.copper, 60, Items.lead, 50)); - health = 90; craftEffect = Fx.smeltsmoke; - result = Items.silicon; + output = Items.silicon; craftTime = 40f; size = 2; hasLiquids = false; @@ -240,19 +239,16 @@ public class Blocks implements ContentList{ consumes.power(0.05f); }}; - graphitePress = new PowerSmelter("graphite-press"){{ + graphitePress = new GenericCrafter("graphite-press"){{ requirements(Category.crafting, ItemStack.with(Items.copper, 200, Items.lead, 50)); - health = 90; - craftEffect = Fx.smeltsmoke; - result = Items.graphite; - craftTime = 50f; + craftEffect = Fx.pulverizeMedium; + output = Items.graphite; + craftTime = 90f; size = 2; - hasLiquids = false; - flameColor = Color.valueOf("ffef99"); + hasItems = true; - consumes.items(new ItemStack(Items.coal, 1), new ItemStack(Items.sand, 2)); - consumes.power(0.05f); + consumes.item(Items.coal, 2); }}; plastaniumCompressor = new PlastaniumCompressor("plastanium-compressor"){{ @@ -275,7 +271,7 @@ public class Blocks implements ContentList{ phaseWeaver = new PhaseWeaver("phase-weaver"){{ requirements(Category.crafting, ItemStack.with(Items.silicon, 260, Items.lead, 240, Items.thorium, 150)); craftEffect = Fx.smeltsmoke; - result = Items.phasefabric; + output = Items.phasefabric; craftTime = 120f; size = 2; @@ -286,7 +282,7 @@ public class Blocks implements ContentList{ surgeSmelter = new PowerSmelter("alloy-smelter"){{ requirements(Category.crafting, ItemStack.with(Items.silicon, 160, Items.lead, 160, Items.thorium, 140)); craftEffect = Fx.smeltsmoke; - result = Items.surgealloy; + output = Items.surgealloy; craftTime = 75f; size = 2; @@ -327,7 +323,7 @@ public class Blocks implements ContentList{ flameColor = Color.CLEAR; hasItems = true; hasPower = true; - result = Items.pyratite; + output = Items.pyratite; size = 2; diff --git a/core/src/io/anuke/mindustry/world/blocks/production/PowerSmelter.java b/core/src/io/anuke/mindustry/world/blocks/production/PowerSmelter.java index bf2db8d3c4..765613bdac 100644 --- a/core/src/io/anuke/mindustry/world/blocks/production/PowerSmelter.java +++ b/core/src/io/anuke/mindustry/world/blocks/production/PowerSmelter.java @@ -27,9 +27,8 @@ import static io.anuke.mindustry.Vars.content; public class PowerSmelter extends PowerBlock{ protected final int timerDump = timers++; - protected final int timerCraft = timers++; - protected Item result; + protected Item output; protected float minFlux = 0.2f; protected int fluxNeeded = 1; @@ -63,7 +62,7 @@ public class PowerSmelter extends PowerBlock{ super.init(); - produces.set(result); + produces.set(output); } @Override @@ -76,7 +75,7 @@ public class PowerSmelter extends PowerBlock{ public void setStats(){ super.setStats(); - stats.add(BlockStat.outputItem, result); + stats.add(BlockStat.outputItem, output); stats.add(BlockStat.craftSpeed, 60f / craftTime, StatUnit.itemsSecond); stats.add(BlockStat.inputItemCapacity, itemCapacity, StatUnit.items); stats.add(BlockStat.outputItemCapacity, itemCapacity, StatUnit.items); @@ -87,8 +86,8 @@ public class PowerSmelter extends PowerBlock{ PowerSmelterEntity entity = tile.entity(); - if(entity.timer.get(timerDump, 5) && entity.items.has(result)){ - tryDump(tile, result); + if(entity.timer.get(timerDump, 5) && entity.items.has(output)){ + tryDump(tile, output); } //heat it up if there's enough power @@ -117,7 +116,7 @@ public class PowerSmelter extends PowerBlock{ entity.craftTime += entity.delta() * entity.power.satisfaction; - if(entity.items.get(result) >= itemCapacity //output full + if(entity.items.get(output) >= itemCapacity //output full || entity.heat <= minHeat //not burning || entity.craftTime < craftTime*baseSmeltSpeed){ //not yet time return; @@ -146,7 +145,7 @@ public class PowerSmelter extends PowerBlock{ } } - offloadNear(tile, result); + offloadNear(tile, output); Effects.effect(craftEffect, flameColor, tile.drawx(), tile.drawy()); }