From 292793daf1fcaae9c6443a09cad37c923fb6587c Mon Sep 17 00:00:00 2001 From: Anuken Date: Fri, 25 Sep 2020 09:50:38 -0400 Subject: [PATCH] Fixed #2722 --- core/src/mindustry/content/Blocks.java | 2 ++ core/src/mindustry/content/UnitTypes.java | 2 +- .../world/blocks/power/ThermalGenerator.java | 2 +- .../mindustry/world/blocks/units/UnitFactory.java | 2 +- core/src/mindustry/world/meta/BlockStats.java | 12 ++++++++++-- 5 files changed, 15 insertions(+), 5 deletions(-) diff --git a/core/src/mindustry/content/Blocks.java b/core/src/mindustry/content/Blocks.java index d1333c8a9a..6d4dc05687 100644 --- a/core/src/mindustry/content/Blocks.java +++ b/core/src/mindustry/content/Blocks.java @@ -208,6 +208,7 @@ public class Blocks implements ContentList{ liquidDrop = Liquids.slag; isLiquid = true; cacheLayer = CacheLayer.slag; + attributes.set(Attribute.heat, 0.85f); }}; stone = new Floor("stone"); @@ -1142,6 +1143,7 @@ public class Blocks implements ContentList{ powerProduction = 1.8f; generateEffect = Fx.redgeneratespark; size = 2; + floating = true; }}; steamGenerator = new BurnerGenerator("steam-generator"){{ diff --git a/core/src/mindustry/content/UnitTypes.java b/core/src/mindustry/content/UnitTypes.java index d0d7b30ee0..0891cbabd9 100644 --- a/core/src/mindustry/content/UnitTypes.java +++ b/core/src/mindustry/content/UnitTypes.java @@ -935,7 +935,7 @@ public class UnitTypes implements ContentList{ drag = 0.016f; flying = true; range = 140f; - hitSize = 18f; + hitSize = 20f; lowAltitude = true; armor = 5f; diff --git a/core/src/mindustry/world/blocks/power/ThermalGenerator.java b/core/src/mindustry/world/blocks/power/ThermalGenerator.java index 7146de2959..e29b7a6bdb 100644 --- a/core/src/mindustry/world/blocks/power/ThermalGenerator.java +++ b/core/src/mindustry/world/blocks/power/ThermalGenerator.java @@ -22,7 +22,7 @@ public class ThermalGenerator extends PowerGenerator{ public void setStats(){ super.setStats(); - stats.add(BlockStat.tiles, attribute); + stats.add(BlockStat.tiles, attribute, floating); } @Override diff --git a/core/src/mindustry/world/blocks/units/UnitFactory.java b/core/src/mindustry/world/blocks/units/UnitFactory.java index 80b9a3bd37..1e71caa8cb 100644 --- a/core/src/mindustry/world/blocks/units/UnitFactory.java +++ b/core/src/mindustry/world/blocks/units/UnitFactory.java @@ -130,7 +130,7 @@ public class UnitFactory extends UnitBlock{ Seq units = Seq.with(plans).map(u -> u.unit).filter(u -> u.unlockedNow()); if(units.any()){ - ItemSelection.buildTable(table, units, () -> currentPlan == -1 ? null : plans[currentPlan].unit, unit -> configure(units.indexOf(unit))); + ItemSelection.buildTable(table, units, () -> currentPlan == -1 ? null : plans[currentPlan].unit, unit -> configure(Structs.indexOf(plans, u -> u.unit == unit))); }else{ table.table(Styles.black3, t -> t.add("@none").color(Color.lightGray)); } diff --git a/core/src/mindustry/world/meta/BlockStats.java b/core/src/mindustry/world/meta/BlockStats.java index 2917a92aa3..e119ff8a74 100644 --- a/core/src/mindustry/world/meta/BlockStats.java +++ b/core/src/mindustry/world/meta/BlockStats.java @@ -38,12 +38,20 @@ public class BlockStats{ } public void add(BlockStat stat, Attribute attr){ - add(stat, attr, 1f); + add(stat, attr, false, 1f); } public void add(BlockStat stat, Attribute attr, float scale){ + add(stat, attr, false, scale); + } + + public void add(BlockStat stat, Attribute attr, boolean floating){ + add(stat, attr, floating, 1f); + } + + public void add(BlockStat stat, Attribute attr, boolean floating, float scale){ for(Block block : Vars.content.blocks()){ - if(!block.isFloor() || block.asFloor().attributes.get(attr) == 0) continue; + if(!block.isFloor() || block.asFloor().attributes.get(attr) == 0 || (block.asFloor().isLiquid && !floating)) continue; add(stat, new FloorEfficiencyValue(block.asFloor(), block.asFloor().attributes.get(attr) * scale)); } }