From 699364580ec352a34c047727034626b7e3f8d019 Mon Sep 17 00:00:00 2001 From: Anuken Date: Wed, 20 Oct 2021 16:25:24 -0400 Subject: [PATCH] Added hiddenBuildItems rule --- core/src/mindustry/content/Blocks.java | 4 ++-- core/src/mindustry/game/Rules.java | 2 ++ core/src/mindustry/ui/fragments/PlacementFragment.java | 2 +- 3 files changed, 5 insertions(+), 3 deletions(-) diff --git a/core/src/mindustry/content/Blocks.java b/core/src/mindustry/content/Blocks.java index 74bd9d6e40..95ea1a936e 100644 --- a/core/src/mindustry/content/Blocks.java +++ b/core/src/mindustry/content/Blocks.java @@ -901,7 +901,7 @@ public class Blocks implements ContentList{ }}; mendProjector = new MendProjector("mend-projector"){{ - requirements(Category.effect, with(Items.lead, 100, Items.titanium, 25, Items.silicon, 40)); + requirements(Category.effect, with(Items.lead, 100, Items.titanium, 25, Items.silicon, 40, Items.copper, 50)); consumes.power(1.5f); size = 2; reload = 250f; @@ -1645,7 +1645,7 @@ public class Blocks implements ContentList{ shots = 4; burstSpacing = 5; inaccuracy = 10f; - range = 235f; + range = 240f; xRand = 6f; size = 2; health = 300 * size * size; diff --git a/core/src/mindustry/game/Rules.java b/core/src/mindustry/game/Rules.java index bed0a54cab..65621538a8 100644 --- a/core/src/mindustry/game/Rules.java +++ b/core/src/mindustry/game/Rules.java @@ -101,6 +101,8 @@ public class Rules{ public ObjectSet revealedBlocks = new ObjectSet<>(); /** Unlocked content names. Only used in multiplayer when the campaign is enabled. */ public ObjectSet researched = new ObjectSet<>(); + /** Block containing these items as requirements are hidden. */ + public ObjectSet hiddenBuildItems = new ObjectSet<>(); /** Whether ambient lighting is enabled. */ public boolean lighting = false; /** Whether enemy lighting is visible. diff --git a/core/src/mindustry/ui/fragments/PlacementFragment.java b/core/src/mindustry/ui/fragments/PlacementFragment.java index 157c30edbe..f4c3d030fd 100644 --- a/core/src/mindustry/ui/fragments/PlacementFragment.java +++ b/core/src/mindustry/ui/fragments/PlacementFragment.java @@ -445,7 +445,7 @@ public class PlacementFragment extends Fragment{ } boolean unlocked(Block block){ - return block.unlockedNow() && block.placeablePlayer; + return block.unlockedNow() && block.placeablePlayer && (state.rules.hiddenBuildItems.isEmpty() || !Structs.contains(block.requirements, i -> state.rules.hiddenBuildItems.contains(i.item))); } boolean hasInfoBox(){