Minor polish
This commit is contained in:
@@ -33,12 +33,14 @@ public class ContinuousLiquidTurret extends ContinuousTurret{
|
||||
super.setStats();
|
||||
|
||||
stats.remove(Stat.ammo);
|
||||
//TODO looks bad
|
||||
stats.add(Stat.ammo, StatValues.number(liquidConsumed * 60f, StatUnit.perSecond, true));
|
||||
stats.add(Stat.ammo, StatValues.ammo(ammoTypes));
|
||||
}
|
||||
|
||||
@Override
|
||||
public void init(){
|
||||
//TODO use ammoMultiplier here?
|
||||
//TODO display ammoMultiplier.
|
||||
consumes.add(new ConsumeLiquidFilter(i -> ammoTypes.containsKey(i), liquidConsumed){
|
||||
@Override
|
||||
public boolean valid(Building build){
|
||||
@@ -49,6 +51,12 @@ public class ContinuousLiquidTurret extends ContinuousTurret{
|
||||
public void display(Stats stats){
|
||||
|
||||
}
|
||||
|
||||
@Override
|
||||
protected float use(Building entity){
|
||||
BulletType type = ammoTypes.get(entity.liquids.current());
|
||||
return Math.min(amount * entity.edelta(), entity.block.liquidCapacity) / (type == null ? 1f : type.ammoMultiplier);
|
||||
}
|
||||
});
|
||||
|
||||
super.init();
|
||||
|
||||
@@ -27,6 +27,8 @@ public class ContinuousTurret extends Turret{
|
||||
super.setStats();
|
||||
|
||||
stats.add(Stat.ammo, StatValues.ammo(ObjectMap.of(this, shootType)));
|
||||
stats.remove(Stat.reload);
|
||||
stats.remove(Stat.inaccuracy);
|
||||
}
|
||||
|
||||
public class ContinuousTurretBuild extends TurretBuild{
|
||||
@@ -107,7 +109,7 @@ public class ContinuousTurret extends Turret{
|
||||
return;
|
||||
}
|
||||
|
||||
if(consValid() && !charging){
|
||||
if(cons.canConsume() && !charging){
|
||||
shoot(peekAmmo());
|
||||
}
|
||||
}
|
||||
|
||||
@@ -34,15 +34,25 @@ public class StatValues{
|
||||
return table -> table.add(!value ? "@no" : "@yes");
|
||||
}
|
||||
|
||||
public static StatValue number(float value, StatUnit unit){
|
||||
public static StatValue number(float value, StatUnit unit, boolean merge){
|
||||
return table -> {
|
||||
int precision = Math.abs((int)value - value) <= 0.001f ? 0 : Math.abs((int)(value * 10) - value * 10) <= 0.001f ? 1 : 2;
|
||||
|
||||
table.add(Strings.fixed(value, precision));
|
||||
table.add((unit.space ? " " : "") + unit.localized());
|
||||
String l1 = Strings.fixed(value, precision), l2 = (unit.space ? " " : "") + unit.localized();
|
||||
|
||||
if(merge){
|
||||
table.add(l1 + l2);
|
||||
}else{
|
||||
table.add(l1);
|
||||
table.add(l2);
|
||||
}
|
||||
};
|
||||
}
|
||||
|
||||
public static StatValue number(float value, StatUnit unit){
|
||||
return number(value, unit, false);
|
||||
}
|
||||
|
||||
public static StatValue liquid(Liquid liquid, float amount, boolean perSecond){
|
||||
return table -> table.add(new LiquidDisplay(liquid, amount, perSecond));
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user