PR cleanup

This commit is contained in:
Anuken 2023-04-08 10:52:53 -04:00
parent 11ad5a0373
commit 34b22f292c
5 changed files with 34 additions and 9 deletions

View File

@ -99,9 +99,9 @@ public class ForceProjector extends Block{
stats.add(Stat.shieldHealth, shieldHealth, StatUnit.none);
stats.add(Stat.cooldownTime, (int) (shieldHealth / cooldownBrokenBase / 60f), StatUnit.seconds);
if(consItems){
if(consItems && itemConsumer instanceof ConsumeItems coni){
stats.remove(Stat.booster);
stats.add(Stat.booster, StatValues.itemBoosters("+{0} " + StatUnit.shieldHealth.localized(), stats.timePeriod, phaseShieldBoost, phaseRadiusBoost, ((ConsumeItems)findConsumer(f -> f instanceof ConsumeItems)).items, this::consumesItem));
stats.add(Stat.booster, StatValues.itemBoosters("+{0} " + StatUnit.shieldHealth.localized(), stats.timePeriod, phaseShieldBoost, phaseRadiusBoost, coni.items, this::consumesItem));
stats.add(Stat.booster, StatValues.speedBoosters("", coolantConsumption, Float.MAX_VALUE, true, this::consumesLiquid));
}
}

View File

@ -54,8 +54,14 @@ public class MendProjector extends Block{
stats.add(Stat.repairTime, (int)(100f / healPercent * reload / 60f), StatUnit.seconds);
stats.add(Stat.range, range / tilesize, StatUnit.blocks);
stats.remove(Stat.booster);
stats.add(Stat.booster, StatValues.itemBoosters("{0}" + StatUnit.timesSpeed.localized(), stats.timePeriod, (phaseBoost + healPercent) / healPercent, phaseRangeBoost, ((ConsumeItems)findConsumer(f -> f instanceof ConsumeItems)).items, this::consumesItem));
if(findConsumer(c -> c instanceof ConsumeItems) instanceof ConsumeItems cons){
stats.remove(Stat.booster);
stats.add(Stat.booster, StatValues.itemBoosters(
"{0}" + StatUnit.timesSpeed.localized(),
stats.timePeriod, (phaseBoost + healPercent) / healPercent, phaseRangeBoost,
cons.items, this::consumesItem)
);
}
}
@Override

View File

@ -12,6 +12,7 @@ import mindustry.entities.units.*;
import mindustry.gen.*;
import mindustry.graphics.*;
import mindustry.world.*;
import mindustry.world.consumers.*;
import mindustry.world.draw.*;
import mindustry.world.meta.*;
@ -89,7 +90,15 @@ public class RegenProjector extends Block{
stats.add(Stat.repairTime, (int)(1f / (healPercent / 100f) / 60f), StatUnit.seconds);
stats.add(Stat.range, range, StatUnit.blocks);
stats.add(Stat.boostEffect, optionalMultiplier, StatUnit.timesSpeed);
if(findConsumer(c -> c instanceof ConsumeItems) instanceof ConsumeItems cons){
stats.remove(Stat.booster);
stats.add(Stat.booster, StatValues.itemBoosters(
"{0}" + StatUnit.timesSpeed.localized(),
stats.timePeriod, optionalMultiplier, 0f,
cons.items, this::consumesItem)
);
}
}
public class RegenProjectorBuild extends Building{

View File

@ -114,9 +114,14 @@ public class BeamDrill extends Block{
stats.add(Stat.drillTier, StatValues.drillables(drillTime, 0f, size, drillMultipliers, b -> (b instanceof Floor f && f.wallOre && f.itemDrop != null && f.itemDrop.hardness <= tier) || (b instanceof StaticWall w && w.itemDrop != null && w.itemDrop.hardness <= tier)));
stats.add(Stat.drillSpeed, 60f / drillTime * size, StatUnit.itemsSecond);
if(optionalBoostIntensity != 1){
if(optionalBoostIntensity != 1 && findConsumer(f -> f instanceof ConsumeLiquidBase) instanceof ConsumeLiquidBase consBase){
stats.remove(Stat.booster);
stats.add(Stat.booster, StatValues.speedBoosters("{0}" + StatUnit.timesSpeed.localized(), ((ConsumeLiquidBase)findConsumer(f -> f instanceof ConsumeLiquidBase)).amount, optionalBoostIntensity, false, l -> (consumesLiquid(l) && (findConsumer(f -> f instanceof ConsumeLiquid).booster || ((ConsumeLiquid)findConsumer(f -> f instanceof ConsumeLiquid)).liquid != l))));
stats.add(Stat.booster,
StatValues.speedBoosters("{0}" + StatUnit.timesSpeed.localized(),
consBase.amount, optionalBoostIntensity, false,
l -> (consumesLiquid(l) && (findConsumer(f -> f instanceof ConsumeLiquid).booster || ((ConsumeLiquid)findConsumer(f -> f instanceof ConsumeLiquid)).liquid != l)))
);
}
}

View File

@ -175,9 +175,14 @@ public class Drill extends Block{
f.itemDrop.hardness <= tier && f.itemDrop != blockedItem && (indexer.isBlockPresent(f) || state.isMenu())));
stats.add(Stat.drillSpeed, 60f / drillTime * size * size, StatUnit.itemsSecond);
if(liquidBoostIntensity != 1){
if(liquidBoostIntensity != 1 && findConsumer(f -> f instanceof ConsumeLiquidBase) instanceof ConsumeLiquidBase consBase){
stats.remove(Stat.booster);
stats.add(Stat.booster, StatValues.speedBoosters("{0}" + StatUnit.timesSpeed.localized(), ((ConsumeLiquidBase)findConsumer(f -> f instanceof ConsumeLiquidBase)).amount, liquidBoostIntensity * liquidBoostIntensity, false, this::consumesLiquid));
stats.add(Stat.booster,
StatValues.speedBoosters("{0}" + StatUnit.timesSpeed.localized(),
consBase.amount,
liquidBoostIntensity * liquidBoostIntensity, false, this::consumesLiquid)
);
}
}