diff --git a/core/assets-raw/sprites/blocks/liquid/liquid-tank-liquid.png b/core/assets-raw/sprites/blocks/liquid/liquid-tank-liquid.png index 6ce6c746da..e5f2a7e855 100644 Binary files a/core/assets-raw/sprites/blocks/liquid/liquid-tank-liquid.png and b/core/assets-raw/sprites/blocks/liquid/liquid-tank-liquid.png differ diff --git a/core/assets/maps/groundZero.msav b/core/assets/maps/groundZero.msav index 75232a33f3..3221c69b19 100644 Binary files a/core/assets/maps/groundZero.msav and b/core/assets/maps/groundZero.msav differ diff --git a/core/assets/sprites/sprites.png b/core/assets/sprites/sprites.png index 2fd70aacfd..3519e45d47 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 5ce4ee6276..cc2ceff7d1 100644 --- a/core/src/io/anuke/mindustry/content/Blocks.java +++ b/core/src/io/anuke/mindustry/content/Blocks.java @@ -1577,7 +1577,7 @@ public class Blocks implements ContentList{ shootCone = 24f; health = 155 * size * size; - consumes.add(new ConsumeLiquidFilter(liquid -> liquid.temperature <= 0.5f && liquid.flammability < 0.1f, 2f)).update(false).optional(true, false); + consumes.add(new ConsumeLiquidFilter(liquid -> liquid.temperature <= 0.5f && liquid.flammability < 0.1f, 2f)).update(false).optional(true, true); }}; meltdown = new LaserTurret("meltdown"){{ diff --git a/core/src/io/anuke/mindustry/ui/ItemImage.java b/core/src/io/anuke/mindustry/ui/ItemImage.java index e7bed333b1..b2f790570b 100644 --- a/core/src/io/anuke/mindustry/ui/ItemImage.java +++ b/core/src/io/anuke/mindustry/ui/ItemImage.java @@ -17,6 +17,13 @@ public class ItemImage extends Stack{ add(t); } + public ItemImage(TextureRegion region){ + Table t = new Table().left().bottom(); + + add(new Image(region)); + add(t); + } + public ItemImage(ItemStack stack){ add(new Image(stack.item.icon(Icon.large))); diff --git a/core/src/io/anuke/mindustry/world/blocks/defense/turrets/ItemTurret.java b/core/src/io/anuke/mindustry/world/blocks/defense/turrets/ItemTurret.java index 6ffc23dc59..4eacb2bbdd 100644 --- a/core/src/io/anuke/mindustry/world/blocks/defense/turrets/ItemTurret.java +++ b/core/src/io/anuke/mindustry/world/blocks/defense/turrets/ItemTurret.java @@ -16,6 +16,8 @@ import io.anuke.mindustry.world.meta.values.*; import java.io.*; +import static io.anuke.mindustry.Vars.*; + public class ItemTurret extends CooledTurret{ protected int maxAmmo = 30; protected ObjectMap ammo = new ObjectMap<>(); @@ -37,6 +39,15 @@ public class ItemTurret extends CooledTurret{ stats.remove(BlockStat.itemCapacity); stats.add(BlockStat.ammo, new AmmoListValue<>(ammo)); consumes.add(new ConsumeItemFilter(i -> ammo.containsKey(i)){ + @Override + public void build(Tile tile, Table table){ + MultiReqImage image = new MultiReqImage(); + content.items().each(i -> filter.test(i) && (!world.isZone() || data.isUnlocked(i)), item -> image.add(new ReqImage(new ItemImage(item.icon(Item.Icon.large)), + () -> tile.entity != null && !((ItemTurretEntity)tile.entity).ammo.isEmpty() && ((ItemEntry)tile.entity().ammo.peek()).item == item))); + + table.add(image).size(8 * 4); + } + @Override public boolean valid(TileEntity entity){ //valid when there's any ammo in the turret diff --git a/core/src/io/anuke/mindustry/world/blocks/defense/turrets/LiquidTurret.java b/core/src/io/anuke/mindustry/world/blocks/defense/turrets/LiquidTurret.java index 6973edfd2d..32a424228f 100644 --- a/core/src/io/anuke/mindustry/world/blocks/defense/turrets/LiquidTurret.java +++ b/core/src/io/anuke/mindustry/world/blocks/defense/turrets/LiquidTurret.java @@ -7,7 +7,6 @@ import io.anuke.mindustry.entities.effect.*; import io.anuke.mindustry.entities.type.*; import io.anuke.mindustry.type.*; import io.anuke.mindustry.world.*; -import io.anuke.mindustry.world.blocks.defense.turrets.ItemTurret.*; import io.anuke.mindustry.world.consumers.*; import io.anuke.mindustry.world.meta.*; import io.anuke.mindustry.world.meta.values.*;