diff --git a/core/src/mindustry/content/SectorPresets.java b/core/src/mindustry/content/SectorPresets.java index 78274ae1e2..1253ed6417 100644 --- a/core/src/mindustry/content/SectorPresets.java +++ b/core/src/mindustry/content/SectorPresets.java @@ -13,8 +13,6 @@ public class SectorPresets{ impact0078, desolateRift, nuclearComplex, planetaryTerminal, coastline, navalFortress, weatheredChannels, seaPort, - geothermalStronghold, cruxscape, - onset, aegis, lake, intersect, basin, atlas, split, marsh, peaks, ravine, caldera, stronghold, crevice, siege, crossroads, karst, origin; @@ -161,12 +159,18 @@ public class SectorPresets{ isLastSector = true; }}; - geothermalStronghold = new SectorPreset("geothermalStronghold", serpulo, 264){{ + //TODO: show up differently with PLT selected. + + new SectorPreset("geothermalStronghold", serpulo, 264){{ + requireUnlock = false; difficulty = 10; + showHidden = true; }}; - cruxscape = new SectorPreset("cruxscape", serpulo, 54){{ + new SectorPreset("cruxscape", serpulo, 54){{ + requireUnlock = false; difficulty = 10; + showHidden = true; }}; SectorSubmissions.registerSectors(); diff --git a/core/src/mindustry/content/SerpuloTechTree.java b/core/src/mindustry/content/SerpuloTechTree.java index f8ebcea4d9..dbb7b2e982 100644 --- a/core/src/mindustry/content/SerpuloTechTree.java +++ b/core/src/mindustry/content/SerpuloTechTree.java @@ -521,29 +521,7 @@ public class SerpuloTechTree{ new Research(exponentialReconstructor), new Research(tetrativeReconstructor) ), () -> { - node(geothermalStronghold, Seq.with( - new Research(omura), - new Research(navanax), - new Research(eclipse), - new Research(oct), - new Research(reign), - new Research(corvus), - new Research(toxopid) - ), () -> { - }); - - node(cruxscape, Seq.with( - new Research(omura), - new Research(navanax), - new Research(eclipse), - new Research(oct), - new Research(reign), - new Research(corvus), - new Research(toxopid) - ), () -> { - - }); }); }); }); diff --git a/core/src/mindustry/entities/comp/BuilderComp.java b/core/src/mindustry/entities/comp/BuilderComp.java index 33413231cd..5d2b2837fb 100644 --- a/core/src/mindustry/entities/comp/BuilderComp.java +++ b/core/src/mindustry/entities/comp/BuilderComp.java @@ -155,7 +155,7 @@ abstract class BuilderComp implements Posc, Statusc, Teamc, Rotc{ if(!within(tile, finalPlaceDst)) continue; if(!headless){ - Vars.control.sound.loop(Sounds.loopBuild, tile, 1.2f); + Vars.control.sound.loop(Sounds.loopBuild, tile, 1.3f); } if(!(tile.build instanceof ConstructBuild cb)){ diff --git a/core/src/mindustry/type/Sector.java b/core/src/mindustry/type/Sector.java index ee7b3f88f8..a5adb64529 100644 --- a/core/src/mindustry/type/Sector.java +++ b/core/src/mindustry/type/Sector.java @@ -146,7 +146,9 @@ public class Sector{ } public String name(){ - if(preset != null && info.name == null && preset.requireUnlock) return preset.localizedName; + if(preset != null && info.name == null && (preset.requireUnlock || preset.showHidden)){ + return preset.localizedName; + } //single-sector "planets" use their own name for the sector name. if(info.name == null && planet.sectors.size == 1){ return planet.localizedName; @@ -161,7 +163,7 @@ public class Sector{ @Nullable public TextureRegion icon(){ - return info.contentIcon != null ? info.contentIcon.uiIcon : info.icon == null ? (preset != null && preset.requireUnlock && preset.uiIcon.found() && preset.unlocked() ? preset.uiIcon : null) : Fonts.getLargeIcon(info.icon); + return info.contentIcon != null ? info.contentIcon.uiIcon : info.icon == null ? (preset != null && preset.requireUnlock && preset.unlocked() && preset.uiIcon.found() ? preset.uiIcon : null) : Fonts.getLargeIcon(info.icon); } @Nullable diff --git a/core/src/mindustry/type/SectorPreset.java b/core/src/mindustry/type/SectorPreset.java index fa283b1e78..77b0484d50 100644 --- a/core/src/mindustry/type/SectorPreset.java +++ b/core/src/mindustry/type/SectorPreset.java @@ -25,6 +25,8 @@ public class SectorPreset extends UnlockableContent{ public boolean isLastSector; /** If true, this sector must be unlocked before landing is permitted. */ public boolean requireUnlock = true; + /** If true, the icon and name is shown, even when it's a 'hidden' always-unlocked sector. TODO: this field may be changed, not sure how it should work*/ + public boolean showHidden = false; public boolean showSectorLandInfo = true; /** If true, uses this sector's launch fields instead */ public boolean overrideLaunchDefaults = false; diff --git a/core/src/mindustry/ui/dialogs/PlanetDialog.java b/core/src/mindustry/ui/dialogs/PlanetDialog.java index 59e02f96d0..f5526fc655 100644 --- a/core/src/mindustry/ui/dialogs/PlanetDialog.java +++ b/core/src/mindustry/ui/dialogs/PlanetDialog.java @@ -536,8 +536,8 @@ public class PlanetDialog extends BaseDialog implements PlanetInterfaceRenderer{ var preficon = sec.icon(); var icon = sec.isAttacked() ? Fonts.getLargeIcon("warning") : - !sec.hasBase() && sec.preset != null && sec.preset.requireUnlock && sec.preset.unlocked() && preficon == null ? - (sec.preset != null && sec.preset.requireUnlock && sec.preset.unlocked() ? sec.preset.uiIcon : Fonts.getLargeIcon("terrain")) : + !sec.hasBase() && sec.preset != null && ((sec.preset.requireUnlock && sec.preset.unlocked()) || (sec.preset.showHidden && mode == planetLaunch)) && preficon == null ? + (sec.preset != null && ((sec.preset.requireUnlock && sec.preset.unlocked()) || sec.preset.showHidden) ? sec.preset.uiIcon : Fonts.getLargeIcon("terrain")) : sec.preset != null && sec.preset.requireUnlock && sec.preset.locked() && sec.preset.techNode != null && (sec.preset.techNode.parent == null || !sec.preset.techNode.parent.content.locked()) ? Fonts.getLargeIcon("lock") : preficon; var color = sec.isAttacked() ? Team.sharded.color : Color.white;