From d3f2fffa031a90dc823c7dde9d09e6e39584a882 Mon Sep 17 00:00:00 2001 From: MEEPofFaith <54301439+MEEPofFaith@users.noreply.github.com> Date: Wed, 15 Jun 2022 04:34:58 -0700 Subject: [PATCH 1/3] non-suppressable blocks shouldn't be heal suppressed (#7019) --- core/src/mindustry/entities/comp/BuildingComp.java | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/core/src/mindustry/entities/comp/BuildingComp.java b/core/src/mindustry/entities/comp/BuildingComp.java index 687dba1bbd..e439197204 100644 --- a/core/src/mindustry/entities/comp/BuildingComp.java +++ b/core/src/mindustry/entities/comp/BuildingComp.java @@ -397,7 +397,7 @@ abstract class BuildingComp implements Posc, Teamc, Healthc, Buildingc, Timerc, } public boolean isHealSuppressed(){ - return Time.time <= healSuppressionTime; + return block.suppressable && Time.time <= healSuppressionTime; } public void recentlyHealed(){ From e8aa787f1f62f75a2402332cf7f5192567280022 Mon Sep 17 00:00:00 2001 From: Goobrr <73060700+Goobrr@users.noreply.github.com> Date: Wed, 15 Jun 2022 18:35:34 +0700 Subject: [PATCH 2/3] Unit plan UI (#7021) --- .../world/blocks/units/Reconstructor.java | 34 ++++++++++--- .../world/blocks/units/UnitAssembler.java | 50 +++++++++++++------ .../world/blocks/units/UnitFactory.java | 48 ++++++++++++------ 3 files changed, 97 insertions(+), 35 deletions(-) diff --git a/core/src/mindustry/world/blocks/units/Reconstructor.java b/core/src/mindustry/world/blocks/units/Reconstructor.java index 2d1bd74c9c..c7503ea3f2 100644 --- a/core/src/mindustry/world/blocks/units/Reconstructor.java +++ b/core/src/mindustry/world/blocks/units/Reconstructor.java @@ -1,6 +1,7 @@ package mindustry.world.blocks.units; import arc.*; +import arc.graphics.*; import arc.graphics.g2d.*; import arc.math.*; import arc.math.geom.*; @@ -76,15 +77,36 @@ public class Reconstructor extends UnitBlock{ stats.add(Stat.output, table -> { table.row(); for(var upgrade : upgrades){ - float size = 8 * 3; if(upgrade[0].unlockedNow() && upgrade[1].unlockedNow()){ - table.image(upgrade[0].uiIcon).size(size).padRight(4).padLeft(10).scaling(Scaling.fit).right(); - table.add(upgrade[0].localizedName).left(); + table.table(t -> { + t.setBackground(Tex.whiteui); + t.setColor(Pal.darkestGray); - table.add("[lightgray] -> "); + t.image(upgrade[0].uiIcon).size(40).pad(10f).left(); + t.table(info -> { + info.add(upgrade[0].localizedName).left(); + info.row(); + }).pad(10).left(); + }).fill().padTop(5).padBottom(5); + + table.table(t -> { + t.setBackground(Tex.whiteui); + t.setColor(Pal.darkestGray); + + t.image(Icon.right).color(Pal.darkishGray).size(40).pad(10f); + }).fill().padTop(5).padBottom(5); + + table.table(t -> { + t.setBackground(Tex.whiteui); + t.setColor(Pal.darkestGray); + + t.image(upgrade[1].uiIcon).size(40).pad(10f).right(); + t.table(info -> { + info.add(upgrade[1].localizedName).right(); + info.row(); + }).pad(10).right(); + }).fill().padTop(5).padBottom(5); - table.image(upgrade[1].uiIcon).size(size).padRight(4).scaling(Scaling.fit); - table.add(upgrade[1].localizedName).left(); table.row(); } } diff --git a/core/src/mindustry/world/blocks/units/UnitAssembler.java b/core/src/mindustry/world/blocks/units/UnitAssembler.java index 61a8fa4d8b..7511654d4b 100644 --- a/core/src/mindustry/world/blocks/units/UnitAssembler.java +++ b/core/src/mindustry/world/blocks/units/UnitAssembler.java @@ -131,22 +131,42 @@ public class UnitAssembler extends PayloadBlock{ super.setStats(); stats.add(Stat.output, table -> { - Seq p = plans.select(u -> u.unit.unlockedNow()); table.row(); - for(var plan : p){ - if(plan.unit.unlockedNow()){ - table.image(plan.unit.uiIcon).size(8 * 3).padRight(2).right(); - table.add(plan.unit.localizedName).left(); - table.add(Strings.autoFixed(plan.time / 60f, 1) + " " + Core.bundle.get("unit.seconds")).color(Color.lightGray).padLeft(12).left(); - table.row(); - table.add().right(); - table.table(t -> { - t.left(); - for(var stack : plan.requirements){ - t.add(new ItemImage(stack)).padRight(4).padTop(4).left(); - } - }).left().fillX().padLeft(-8 * 3f - 2).padBottom(6).row(); - } + + for(var plan : plans){ + table.table(t -> { + t.setBackground(Tex.whiteui); + t.setColor(Pal.darkestGray); + + if(plan.unit.isBanned()){ + t.image(Icon.cancel).color(Pal.remove).size(40).pad(10); + return; + } + + if(plan.unit.unlockedNow()){ + t.image(plan.unit.uiIcon).size(40).pad(10f).left(); + t.table(info -> { + info.add(plan.unit.localizedName).left(); + info.row(); + info.add(Strings.autoFixed(plan.time / 60f, 1) + " " + Core.bundle.get("unit.seconds")).color(Color.lightGray); + }).left(); + + t.table(req -> { + req.right(); + for(int i = 0; i < plan.requirements.size; i++){ + if(i % 6 == 0){ + req.row(); + } + + PayloadStack stack = plan.requirements.get(i); + req.add(new ItemImage(stack)).pad(5); + } + }).right().grow().pad(10f); + }else{ + t.image(Icon.lock).color(Pal.darkerGray).size(40).pad(10); + } + }).growX().pad(5); + table.row(); } }); } diff --git a/core/src/mindustry/world/blocks/units/UnitFactory.java b/core/src/mindustry/world/blocks/units/UnitFactory.java index 91e7b9b2aa..31572b6e05 100644 --- a/core/src/mindustry/world/blocks/units/UnitFactory.java +++ b/core/src/mindustry/world/blocks/units/UnitFactory.java @@ -106,22 +106,42 @@ public class UnitFactory extends UnitBlock{ stats.remove(Stat.itemCapacity); stats.add(Stat.output, table -> { - Seq p = plans.select(u -> u.unit.unlockedNow()); table.row(); - for(var plan : p){ - if(plan.unit.unlockedNow()){ - table.table(c -> { - c.left(); - c.image(plan.unit.uiIcon).size(8 * 3).padRight(2); - c.add(plan.unit.localizedName).left(); - c.add(Strings.autoFixed(plan.time / 60f, 1) + " " + Core.bundle.get("unit.seconds")).color(Color.lightGray).padLeft(12).left(); - }).padLeft(40).left().row(); - table.table(req -> { - req.left(); - StatValues.items(plan.requirements).display(req); - }).padLeft(60).left().row(); - } + for(var plan : plans){ + table.table(t -> { + t.setBackground(Tex.whiteui); + t.setColor(Pal.darkestGray); + + if(plan.unit.isBanned()){ + t.image(Icon.cancel).color(Pal.remove).size(40); + return; + } + + if(plan.unit.unlockedNow()){ + t.image(plan.unit.uiIcon).size(40).pad(10f).left(); + t.table(info -> { + info.add(plan.unit.localizedName).left(); + info.row(); + info.add(Strings.autoFixed(plan.time / 60f, 1) + " " + Core.bundle.get("unit.seconds")).color(Color.lightGray); + }).left(); + + t.table(req -> { + req.right(); + for(int i = 0; i < plan.requirements.length; i++){ + if(i % 6 == 0){ + req.row(); + } + + ItemStack stack = plan.requirements[i]; + req.add(new ItemDisplay(stack.item, stack.amount, false)).pad(5); + } + }).right().grow().pad(10f); + }else{ + t.image(Icon.lock).color(Pal.darkerGray).size(40); + } + }).growX().pad(5); + table.row(); } }); } From 4fca366fcde793fde82dfee54d8d7c34945e07e0 Mon Sep 17 00:00:00 2001 From: MEEPofFaith <54301439+MEEPofFaith@users.noreply.github.com> Date: Wed, 15 Jun 2022 04:35:44 -0700 Subject: [PATCH 3/3] Make OverdriveBuild fields public (#7018) --- .../mindustry/world/blocks/defense/OverdriveProjector.java | 5 +---- 1 file changed, 1 insertion(+), 4 deletions(-) diff --git a/core/src/mindustry/world/blocks/defense/OverdriveProjector.java b/core/src/mindustry/world/blocks/defense/OverdriveProjector.java index ed821f34e7..ed83edcee4 100644 --- a/core/src/mindustry/world/blocks/defense/OverdriveProjector.java +++ b/core/src/mindustry/world/blocks/defense/OverdriveProjector.java @@ -80,10 +80,7 @@ public class OverdriveProjector extends Block{ } public class OverdriveBuild extends Building implements Ranged{ - float heat; - float charge = Mathf.random(reload); - float phaseHeat; - float smoothEfficiency; + public float heat, charge = Mathf.random(reload), phaseHeat, smoothEfficiency; @Override public float range(){