mirror of
https://github.com/Anuken/Mindustry.git
synced 2025-01-05 21:10:53 +07:00
Coolant display fix
This commit is contained in:
parent
3a4f3e7fe7
commit
169a186d63
@ -1,6 +1,9 @@
|
||||
package mindustry.world.blocks.defense.turrets;
|
||||
|
||||
import arc.math.*;
|
||||
import arc.struct.*;
|
||||
import arc.util.*;
|
||||
import mindustry.type.*;
|
||||
import mindustry.world.consumers.*;
|
||||
import mindustry.world.meta.*;
|
||||
|
||||
@ -19,7 +22,23 @@ public class ReloadTurret extends BaseTurret{
|
||||
|
||||
if(coolant != null){
|
||||
stats.remove(Stat.booster);
|
||||
stats.add(Stat.booster, StatValues.boosters(reload, coolant.amount, coolantMultiplier, true, l -> l.coolant && consumesLiquid(l)));
|
||||
|
||||
//TODO this is very hacky, there is no current way to check if a ConsumeLiquidBase accepts something individually. fix later
|
||||
ObjectSet<Liquid> notBooster = content.liquids().select(l -> {
|
||||
for(Consume c : consumers){
|
||||
if(!c.booster && c != coolant &&
|
||||
((c instanceof ConsumeLiquid cl && cl.liquid == l) ||
|
||||
(c instanceof ConsumeLiquids cl2 && Structs.contains(cl2.liquids, s -> s.liquid == l)) ||
|
||||
(c instanceof ConsumeLiquidFilter clf && clf.filter.get(l)))){
|
||||
|
||||
Log.infoList(this, c, l);
|
||||
return true;
|
||||
}
|
||||
}
|
||||
return false;
|
||||
}).asSet();
|
||||
|
||||
stats.add(Stat.booster, StatValues.boosters(reload, coolant.amount, coolantMultiplier, true, l -> l.coolant && consumesLiquid(l) && !notBooster.contains(l)));
|
||||
}
|
||||
}
|
||||
|
||||
|
Loading…
Reference in New Issue
Block a user