diff --git a/core/assets/bundles/bundle.properties b/core/assets/bundles/bundle.properties index 212ebf33b3..b5b5b1bf98 100644 --- a/core/assets/bundles/bundle.properties +++ b/core/assets/bundles/bundle.properties @@ -1997,7 +1997,7 @@ hint.respawn.mobile = You have switched control to a unit/structure. To respawn hint.desktopPause = Press [accent][[Space][] to pause and unpause the game. hint.breaking = [accent]Right-click[] and drag to break blocks. hint.breaking.mobile = Activate the :hammer: [accent]hammer[] in the bottom right and tap to break blocks.\n\nHold down your finger for a second and drag to break in a selection. -hint.blockInfo = View information of a block by selecting it in the [accent]build menu[], then selecting the [accent][[?][] button at the right. +hint.blockInfo = View input items and stats of a block by selecting it in the [accent]build menu[], then selecting the [accent][[?][] button at the right. hint.derelict = [accent]Derelict[] structures are broken remnants of old bases that no longer function.\n\nThese structures can be [accent]deconstructed[] for resources, or repaired. hint.research = Use the :tree: [accent]Research[] button to research new technology. hint.research.mobile = Use the :tree: [accent]Research[] button in the :menu: [accent]Menu[] to research new technology. diff --git a/core/assets/maps/frontier.msav b/core/assets/maps/frontier.msav index 819d77e5ac..3d10ae7d51 100644 Binary files a/core/assets/maps/frontier.msav and b/core/assets/maps/frontier.msav differ diff --git a/core/assets/maps/overgrowth.msav b/core/assets/maps/overgrowth.msav index 7ca38fceb5..4642caa623 100644 Binary files a/core/assets/maps/overgrowth.msav and b/core/assets/maps/overgrowth.msav differ diff --git a/core/src/mindustry/entities/comp/BuildingComp.java b/core/src/mindustry/entities/comp/BuildingComp.java index e27f6cea06..fd6b3adfb0 100644 --- a/core/src/mindustry/entities/comp/BuildingComp.java +++ b/core/src/mindustry/entities/comp/BuildingComp.java @@ -589,8 +589,8 @@ abstract class BuildingComp implements Posc, Teamc, Healthc, Buildingc, Timerc, /** @return whether this block is allowed to update based on team/environment */ public boolean allowUpdate(){ return team != Team.derelict && block.supportsEnv(state.rules.env) && - //check if outside map limit - (!state.rules.limitMapArea || !state.rules.disableOutsideArea || Rect.contains(state.rules.limitX, state.rules.limitY, state.rules.limitWidth, state.rules.limitHeight, tile.x, tile.y)); + //check if outside map limit (privileged blocks are exempt) + (block.privileged || !state.rules.limitMapArea || !state.rules.disableOutsideArea || Rect.contains(state.rules.limitX, state.rules.limitY, state.rules.limitWidth, state.rules.limitHeight, tile.x, tile.y)); } public BlockStatus status(){ diff --git a/core/src/mindustry/ui/fragments/HintsFragment.java b/core/src/mindustry/ui/fragments/HintsFragment.java index 0288533671..00cb13fa1f 100644 --- a/core/src/mindustry/ui/fragments/HintsFragment.java +++ b/core/src/mindustry/ui/fragments/HintsFragment.java @@ -178,7 +178,7 @@ public class HintsFragment{ schematicSelect(visibleDesktop, () -> ui.hints.placedBlocks.contains(Blocks.router) || ui.hints.placedBlocks.contains(Blocks.ductRouter), () -> Core.input.keyRelease(Binding.schematic_select) || Core.input.keyTap(Binding.pick)), conveyorPathfind(() -> control.input.block == Blocks.titaniumConveyor, () -> Core.input.keyRelease(Binding.diagonal_placement) || (mobile && Core.settings.getBool("swapdiagonal"))), boost(visibleDesktop, () -> !player.dead() && player.unit().type.canBoost, () -> Core.input.keyDown(Binding.boost)), - blockInfo(() -> !(state.isCampaign() && state.rules.sector == SectorPresets.groundZero.sector && state.wave < 3), () -> ui.content.isShown()), + blockInfo(() -> control.input.block == Blocks.graphitePress, () -> ui.content.isShown()), derelict(() -> ui.hints.events.contains("derelictmouse") && !isTutorial.get(), () -> ui.hints.events.contains("derelictbreak")), payloadPickup(() -> isSerpulo() && !player.dead() && player.unit() instanceof Payloadc p && p.payloads().isEmpty(), () -> player.unit() instanceof Payloadc p && p.payloads().any()), payloadDrop(() -> !player.dead() && player.unit() instanceof Payloadc p && p.payloads().any(), () -> player.unit() instanceof Payloadc p && p.payloads().isEmpty()),