diff --git a/core/src/mindustry/ai/RtsAI.java b/core/src/mindustry/ai/RtsAI.java index 8660cbb10b..1d0befd241 100644 --- a/core/src/mindustry/ai/RtsAI.java +++ b/core/src/mindustry/ai/RtsAI.java @@ -174,7 +174,7 @@ public class RtsAI{ //defend when close, or this is the only squad defending //TODO will always rush to defense no matter what - if(best instanceof CoreBuild || units.size >= data.team.rules().rtsMinSquad || best.within(ax, ay, 500f)){ + if(best != null && (best instanceof CoreBuild || units.size >= data.team.rules().rtsMinSquad || best.within(ax, ay, 500f))){ defend = best; if(debug){ diff --git a/core/src/mindustry/content/Blocks.java b/core/src/mindustry/content/Blocks.java index 1c7f0dcea3..72c3b771c5 100644 --- a/core/src/mindustry/content/Blocks.java +++ b/core/src/mindustry/content/Blocks.java @@ -2479,9 +2479,7 @@ public class Blocks{ ambientSoundVolume = 0.06f; }}; - //TODO cooler name? pyrolysisGenerator = new ConsumeGenerator("pyrolysis-generator"){{ - //TODO requirements requirements(Category.power, with(Items.graphite, 50, Items.carbide, 50, Items.oxide, 60f, Items.silicon, 50)); powerProduction = 27f; @@ -2502,7 +2500,7 @@ public class Blocks{ liquidCapacity = 30f * 5; - liquidOutput = new LiquidStack(Liquids.water, 20f / 60f); + outputLiquid = new LiquidStack(Liquids.water, 20f / 60f); generateEffect = Fx.none; diff --git a/core/src/mindustry/world/blocks/power/ConsumeGenerator.java b/core/src/mindustry/world/blocks/power/ConsumeGenerator.java index d5060c8482..64359882cd 100644 --- a/core/src/mindustry/world/blocks/power/ConsumeGenerator.java +++ b/core/src/mindustry/world/blocks/power/ConsumeGenerator.java @@ -20,7 +20,7 @@ public class ConsumeGenerator extends PowerGenerator{ public Effect generateEffect = Fx.none, consumeEffect = Fx.none; public float generateEffectRange = 3f; - public @Nullable LiquidStack liquidOutput; + public @Nullable LiquidStack outputLiquid; public @Nullable ConsumeItemFilter filterItem; public @Nullable ConsumeLiquidFilter filterLiquid; @@ -33,8 +33,8 @@ public class ConsumeGenerator extends PowerGenerator{ public void setBars(){ super.setBars(); - if(liquidOutput != null){ - addLiquidBar(liquidOutput.liquid); + if(outputLiquid != null){ + addLiquidBar(outputLiquid.liquid); } } @@ -43,7 +43,7 @@ public class ConsumeGenerator extends PowerGenerator{ filterItem = findConsumer(c -> c instanceof ConsumeItemFilter); filterLiquid = findConsumer(c -> c instanceof ConsumeLiquidFilter); - if(liquidOutput != null){ + if(outputLiquid != null){ outputsLiquid = true; hasLiquids = true; } @@ -62,8 +62,8 @@ public class ConsumeGenerator extends PowerGenerator{ stats.add(Stat.productionTime, itemDuration / 60f, StatUnit.seconds); } - if(liquidOutput != null){ - stats.add(Stat.output, StatValues.liquid(liquidOutput.liquid, liquidOutput.amount * 60f, true)); + if(outputLiquid != null){ + stats.add(Stat.output, StatValues.liquid(outputLiquid.liquid, outputLiquid.amount * 60f, true)); } } @@ -102,10 +102,10 @@ public class ConsumeGenerator extends PowerGenerator{ generateTime = 1f; } - if(liquidOutput != null){ - float added = Math.min(productionEfficiency * delta() * liquidOutput.amount, liquidCapacity - liquids.get(liquidOutput.liquid)); - liquids.add(liquidOutput.liquid, added); - dumpLiquid(liquidOutput.liquid); + if(outputLiquid != null){ + float added = Math.min(productionEfficiency * delta() * outputLiquid.amount, liquidCapacity - liquids.get(outputLiquid.liquid)); + liquids.add(outputLiquid.liquid, added); + dumpLiquid(outputLiquid.liquid); } //generation time always goes down, but only at the end so consumeTriggerValid doesn't assume fake items