Fixed ammo multiplier for ContinuousLiquidTurret

This commit is contained in:
Anuken
2025-04-30 15:09:41 -04:00
parent f5f2951d26
commit 5dd77ef08f
4 changed files with 19 additions and 10 deletions

View File

@@ -31,21 +31,23 @@ public class ContinuousLiquidTurret extends ContinuousTurret{
@Override
public void setStats(){
super.setStats();
//mirror stats onto each bullet (purely visual)
ammoTypes.each((l, b) -> b.statLiquidConsumed = liquidConsumed);
stats.remove(Stat.ammo);
//TODO looks bad
stats.add(Stat.ammo, table -> {
table.row();
StatValues.number(liquidConsumed * 60f, StatUnit.perSecond, true).display(table);
});
stats.add(Stat.ammo, StatValues.ammo(ammoTypes));
stats.replace(Stat.ammo, StatValues.ammo(ammoTypes));
}
@Override
public void init(){
//TODO display ammoMultiplier.
consume(new ConsumeLiquidFilter(i -> ammoTypes.containsKey(i), liquidConsumed){
{
multiplier = b -> {
var ammo = ammoTypes.get(b.liquids.current());
return ammo == null ? 1f : 1f / ammo.ammoMultiplier;
};
}
@Override
public void display(Stats stats){