This commit is contained in:
Anuken
2022-10-10 07:59:47 -04:00
parent 4201106843
commit fd849494cc
4 changed files with 18 additions and 14 deletions

View File

@@ -178,8 +178,8 @@ available = New research available!
unlock.incampaign = < Unlock in campaign for details >
campaign.select = Select Starting Campaign
campaign.none = [lightgray]Select a planet to start on.\nThis can be switched at any time.
campaign.erekir = [accent]Recommended for new players.[]\n\nNewer, more polished content. Mostly linear campaign progression.\n\nHigher quality maps and overall experience.
campaign.serpulo = [scarlet]Not recommended for new players.[]\n\nOlder content; the classic experience. More open-ended.\n\nPotentially unbalanced maps and campaign mechanics. Less polished.
campaign.erekir = Newer, more polished content. Mostly linear campaign progression.\n\nMore difficult. Higher quality maps and overall experience.
campaign.serpulo = Older content; the classic experience. More open-ended, more content.\n\nPotentially unbalanced maps and campaign mechanics. Less polished.
completed = [accent]Completed
techtree = Tech Tree
techtree.select = Tech Tree Selection
@@ -1758,7 +1758,6 @@ hint.coreUpgrade = Cores can be upgraded by [accent]placing higher-tier cores ov
hint.presetLaunch = Gray [accent]landing zone sectors[], such as [accent]Frozen Forest[], can be launched to from anywhere. They do not require capture of nearby territory.\n\n[accent]Numbered sectors[], such as this one, are [accent]optional[].
hint.presetDifficulty = This sector has a [scarlet]high enemy threat level[].\nLaunching to such sectors is [accent]not recommended[] without proper technology and preparation.
hint.coreIncinerate = After the core is filled to capacity with an item, any extra items of that type it receives will be [accent]incinerated[].
hint.coopCampaign = When playing the [accent]co-op campaign[], items that are produced in the current map will also be sent [accent]to your local sectors[].\n\nAny new research done by the host also carries over.
hint.factoryControl = To set a unit factory's [accent]output destination[], click a factory block while in command mode, then right-click a location.\nUnits produced by it will automatically move there.
hint.factoryControl.mobile = To set a unit factory's [accent]output destination[], tap a factory block while in command mode, then tap a location.\nUnits produced by it will automatically move there.

View File

@@ -71,11 +71,14 @@ public class GameState{
return rules.sector != null;
}
@Nullable
public Sector getSector(){
public @Nullable Sector getSector(){
return rules.sector;
}
public @Nullable Planet getPlanet(){
return rules.sector != null ? rules.sector.planet : null;
}
public boolean isEditor(){
return rules.editor;
}

View File

@@ -424,12 +424,12 @@ public class BlockRenderer{
if(build != null){
if(visible){
build.visibleFlags |= (1L << pteam.id);
if(!build.wasVisible){
build.wasVisible = true;
updateShadow(build);
renderer.minimap.update(tile);
}
build.visibleFlags |= (1L << pteam.id);
build.wasVisible = true;
}
if(build.damaged()){

View File

@@ -39,8 +39,7 @@ public class HintsFragment{
public void build(Group parent){
group.setFillParent(true);
group.touchable = Touchable.childrenOnly;
//TODO hints off for now - figure out tutorial system.
group.visibility = () -> !state.isCampaign() && Core.settings.getBool("hints", true) && ui.hudfrag.shown;
group.visibility = () -> Core.settings.getBool("hints", true) && ui.hudfrag.shown;
group.update(() -> {
if(current != null){
//current got completed
@@ -151,6 +150,10 @@ public class HintsFragment{
return current != null;
}
static boolean isSerpulo(){
return !state.rules.hasEnv(Env.scorching);
}
public enum DefaultHint implements Hint{
desktopMove(visibleDesktop, () -> Core.input.axis(Binding.move_x) != 0 || Core.input.axis(Binding.move_y) != 0),
zoom(visibleDesktop, () -> Core.input.axis(KeyCode.scroll) != 0),
@@ -159,11 +162,11 @@ public class HintsFragment{
placeConveyor(isTutorial, () -> ui.hints.placedBlocks.contains(Blocks.conveyor)),
placeTurret(isTutorial, () -> ui.hints.placedBlocks.contains(Blocks.duo)),
breaking(isTutorial, () -> ui.hints.events.contains("break")),
desktopShoot(visibleDesktop, () -> Vars.state.enemies > 0, () -> player.shooting),
desktopShoot(visibleDesktop, () -> isSerpulo() && Vars.state.enemies > 0, () -> player.shooting),
depositItems(() -> player.unit().hasItem(), () -> !player.unit().hasItem()),
desktopPause(visibleDesktop, () -> isTutorial.get() && !Vars.net.active(), () -> Core.input.keyTap(Binding.pause)),
research(isTutorial, () -> ui.research.isShown()),
unitControl(() -> state.rules.defaultTeam.data().units.size > 2 && !net.active() && !player.dead(), () -> !player.dead() && !player.unit().spawnedByCore),
unitControl(() -> isSerpulo() && state.rules.defaultTeam.data().units.size > 2 && !net.active() && !player.dead(), () -> !player.dead() && !player.unit().spawnedByCore),
respawn(visibleMobile, () -> !player.dead() && !player.unit().spawnedByCore, () -> !player.dead() && player.unit().spawnedByCore),
launch(() -> isTutorial.get() && state.rules.sector.isCaptured(), () -> ui.planet.isShown()),
schematicSelect(visibleDesktop, () -> ui.hints.placedBlocks.contains(Blocks.router), () -> Core.input.keyRelease(Binding.schematic_select) || Core.input.keyTap(Binding.pick)),
@@ -178,7 +181,7 @@ public class HintsFragment{
guardian(() -> state.boss() != null && state.boss().armor >= 4, () -> state.boss() == null),
factoryControl(() -> !(state.isCampaign() && state.rules.sector.preset == SectorPresets.onset) &&
state.rules.defaultTeam.data().getBuildings(Blocks.tankFabricator).size + state.rules.defaultTeam.data().getBuildings(Blocks.groundFactory).size > 0, () -> ui.hints.events.contains("factorycontrol")),
coreUpgrade(() -> state.isCampaign() && Blocks.coreFoundation.unlocked()
coreUpgrade(() -> state.isCampaign() && state.rules.sector.planet == Planets.serpulo && Blocks.coreFoundation.unlocked()
&& state.rules.defaultTeam.core() != null
&& state.rules.defaultTeam.core().block == Blocks.coreShard
&& state.rules.defaultTeam.core().items.has(Blocks.coreFoundation.requirements),
@@ -191,8 +194,7 @@ public class HintsFragment{
&& state.getSector().threat >= 0.5f
&& !SectorPresets.tarFields.sector.isCaptured(), //appear only when the player hasn't progressed much in the game yet
() -> state.isCampaign() && state.getSector().preset != null),
coreIncinerate(() -> state.isCampaign() && state.rules.defaultTeam.core() != null && state.rules.defaultTeam.core().items.get(Items.copper) >= state.rules.defaultTeam.core().storageCapacity - 10, () -> false),
coopCampaign(() -> net.client() && state.isCampaign() && SectorPresets.groundZero.sector.hasBase(), () -> false),
coreIncinerate(() -> state.isCampaign() && state.rules.defaultTeam.core() != null && state.rules.defaultTeam.core().items.get(Items.copper) >= state.rules.defaultTeam.core().storageCapacity - 10, () -> false)
;
@Nullable