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 > unlock.incampaign = < Unlock in campaign for details >
campaign.select = Select Starting Campaign campaign.select = Select Starting Campaign
campaign.none = [lightgray]Select a planet to start on.\nThis can be switched at any time. 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.erekir = Newer, more polished content. Mostly linear campaign progression.\n\nMore difficult. Higher 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.serpulo = Older content; the classic experience. More open-ended, more content.\n\nPotentially unbalanced maps and campaign mechanics. Less polished.
completed = [accent]Completed completed = [accent]Completed
techtree = Tech Tree techtree = Tech Tree
techtree.select = Tech Tree Selection 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.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.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.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 = 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. 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; return rules.sector != null;
} }
@Nullable public @Nullable Sector getSector(){
public Sector getSector(){
return rules.sector; return rules.sector;
} }
public @Nullable Planet getPlanet(){
return rules.sector != null ? rules.sector.planet : null;
}
public boolean isEditor(){ public boolean isEditor(){
return rules.editor; return rules.editor;
} }

View File

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

View File

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