mirror of
https://github.com/Anuken/Mindustry.git
synced 2025-03-13 19:39:04 +07:00
Added drill output rate bar
This commit is contained in:
parent
13c2eae1f4
commit
2aff73a958
Binary file not shown.
Before Width: | Height: | Size: 2.2 KiB After Width: | Height: | Size: 2.2 KiB |
@ -305,6 +305,7 @@ no = No
|
||||
info.title = Info
|
||||
error.title = [crimson]An error has occured
|
||||
error.crashtitle = An error has occured
|
||||
blocks.outputspeed = Drill Speed: {0}/s
|
||||
blocks.unknown = [LIGHT_GRAY]???
|
||||
blocks.blockinfo = Block Info
|
||||
blocks.powerbalance = Power: {0}
|
||||
|
@ -913,6 +913,7 @@ public class Blocks implements ContentList{
|
||||
drillTime = 480;
|
||||
size = 2;
|
||||
drawMineItem = true;
|
||||
consumes.liquid(Liquids.water, 0.06f).optional(true);
|
||||
}};
|
||||
|
||||
laserDrill = new Drill("laser-drill"){{
|
||||
@ -925,6 +926,7 @@ public class Blocks implements ContentList{
|
||||
drillEffect = Fx.mineBig;
|
||||
|
||||
consumes.power(1.10f);
|
||||
consumes.liquid(Liquids.water, 0.08f).optional(true);
|
||||
}};
|
||||
|
||||
blastDrill = new Drill("blast-drill"){{
|
||||
@ -941,6 +943,7 @@ public class Blocks implements ContentList{
|
||||
warmupSpeed = 0.01f;
|
||||
|
||||
consumes.power(3f);
|
||||
consumes.liquid(Liquids.water, 0.1f).optional(true);
|
||||
}};
|
||||
|
||||
waterExtractor = new SolidPump("water-extractor"){{
|
||||
|
@ -3,6 +3,7 @@ package io.anuke.mindustry.world.blocks.production;
|
||||
import io.anuke.arc.Core;
|
||||
import io.anuke.arc.collection.Array;
|
||||
import io.anuke.arc.collection.ObjectIntMap;
|
||||
import io.anuke.arc.util.Strings;
|
||||
import io.anuke.mindustry.entities.Effects;
|
||||
import io.anuke.mindustry.entities.Effects.Effect;
|
||||
import io.anuke.arc.graphics.Blending;
|
||||
@ -15,7 +16,9 @@ import io.anuke.mindustry.content.Fx;
|
||||
import io.anuke.mindustry.content.Liquids;
|
||||
import io.anuke.mindustry.entities.type.TileEntity;
|
||||
import io.anuke.mindustry.graphics.Layer;
|
||||
import io.anuke.mindustry.graphics.Pal;
|
||||
import io.anuke.mindustry.type.Item;
|
||||
import io.anuke.mindustry.ui.Bar;
|
||||
import io.anuke.mindustry.world.Block;
|
||||
import io.anuke.mindustry.world.Tile;
|
||||
import io.anuke.mindustry.world.consumers.ConsumeLiquid;
|
||||
@ -72,7 +75,18 @@ public class Drill extends Block{
|
||||
liquidCapacity = 5f;
|
||||
hasItems = true;
|
||||
|
||||
consumes.add(new ConsumeLiquid(Liquids.water, 0.05f)).optional(true);
|
||||
consumes.liquid(Liquids.water, 0.05f).optional(true);
|
||||
}
|
||||
|
||||
@Override
|
||||
public void setBars(){
|
||||
super.setBars();
|
||||
|
||||
bars.add("drillspeed", e -> {
|
||||
DrillEntity entity = (DrillEntity)e;
|
||||
|
||||
return new Bar(() -> Core.bundle.format("blocks.outputspeed", Strings.toFixed(entity.lastDrillSpeed * 60, 2)), () -> Pal.ammo, () -> entity.warmup);
|
||||
});
|
||||
}
|
||||
|
||||
@Override
|
||||
@ -197,6 +211,7 @@ public class Drill extends Block{
|
||||
speed *= entity.power.satisfaction; // Drill slower when not at full power
|
||||
}
|
||||
|
||||
entity.lastDrillSpeed = (speed * entity.dominantItems * entity.warmup) / (drillTime + hardnessDrillMultiplier * Math.max(totalHardness, 1f) / entity.dominantItems);
|
||||
entity.warmup = Mathf.lerpDelta(entity.warmup, speed, warmupSpeed);
|
||||
entity.progress += entity.delta()
|
||||
* entity.dominantItems * speed * entity.warmup;
|
||||
@ -204,6 +219,7 @@ public class Drill extends Block{
|
||||
if(Mathf.chance(Time.delta() * updateEffectChance * entity.warmup))
|
||||
Effects.effect(updateEffect, entity.x + Mathf.range(size * 2f), entity.y + Mathf.range(size * 2f));
|
||||
}else{
|
||||
entity.lastDrillSpeed = 0f;
|
||||
entity.warmup = Mathf.lerpDelta(entity.warmup, 0f, warmupSpeed);
|
||||
return;
|
||||
}
|
||||
@ -257,6 +273,7 @@ public class Drill extends Block{
|
||||
public int index;
|
||||
public float warmup;
|
||||
public float drillTime;
|
||||
public float lastDrillSpeed;
|
||||
|
||||
public int dominantItems;
|
||||
public Item dominantItem;
|
||||
|
Loading…
Reference in New Issue
Block a user