From 4a52392ce9eeb9575a4739afe2f86082da5acec4 Mon Sep 17 00:00:00 2001 From: Anuken Date: Mon, 23 Nov 2020 13:09:42 -0500 Subject: [PATCH] Added hint about guards & armor --- core/assets/bundles/bundle.properties | 2 +- core/assets/maps/ruinousShores.msav | Bin 18170 -> 18259 bytes core/src/mindustry/Vars.java | 2 +- core/src/mindustry/content/TechTree.java | 6 +++--- core/src/mindustry/core/GameState.java | 3 +-- core/src/mindustry/game/Teams.java | 6 ++++++ core/src/mindustry/game/Universe.java | 2 +- core/src/mindustry/game/Waves.java | 2 +- .../mindustry/ui/fragments/HintsFragment.java | 3 ++- 9 files changed, 16 insertions(+), 10 deletions(-) diff --git a/core/assets/bundles/bundle.properties b/core/assets/bundles/bundle.properties index 72f241b9b4..33ab9b2778 100644 --- a/core/assets/bundles/bundle.properties +++ b/core/assets/bundles/bundle.properties @@ -22,7 +22,6 @@ gameover.pvp = The[accent] {0}[] team is victorious! gameover.waiting = [accent]Waiting for next map... highscore = [accent]New highscore! copied = Copied. -indev.popup = [accent]v6[] is currently in [accent]beta[].\n[lightgray]This means:[]\n[scarlet]- The campaign is unfinished[]\n- Everything you see is subject to change or removal.\n\nReport bugs or crashes on [accent]Github[]. indev.notready = This part of the game isn't ready yet indev.campaign = [accent]You've reached the end of the campaign![]\n\nThis is as far as the content goes. Interplanetary travel will be added in future updates. @@ -1270,6 +1269,7 @@ hint.payloadDrop = Press [accent]][] to drop a payload. hint.payloadDrop.mobile = [accent]Tap and hold[] an empty location to drop a payload there. hint.waveFire = [accent]Wave[] turrets with water as ammunition will automatically put out nearby fires. hint.generator = \uf879 [accent]Combustion Generators[] burn coal and transmit power to adjacent blocks.\n\nPower transmission range can be extended with \uf87f [accent]Power Nodes[]. +hint.guardian = [accent]Guardian[] units are armored. Weak ammo such as [accent]Copper[] and [accent]Lead[] is [scarlet]not effective[].\n\nUse higher tier turrets or \uf835 [accent]Graphite[] \uf861Duo/\uf859Salvo ammunition to take Guardians down. item.copper.description = Used in all types of construction and ammunition. item.copper.details = Copper. Abnormally abundant metal on Serpulo. Structurally weak unless reinforced. diff --git a/core/assets/maps/ruinousShores.msav b/core/assets/maps/ruinousShores.msav index 41e957c0ff971cf11abb1aa10a4daa920edde6cf..48727feae4abb2077b544c010429afe70082b79a 100644 GIT binary patch delta 18187 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 diff --git a/core/src/mindustry/Vars.java b/core/src/mindustry/Vars.java index e41b9a08b7..ec720f1570 100644 --- a/core/src/mindustry/Vars.java +++ b/core/src/mindustry/Vars.java @@ -88,7 +88,7 @@ public class Vars implements Loadable{ /** duration of time between turns in ticks */ public static final float turnDuration = 2 * Time.toMinutes; /** chance of an invasion per turn, 1 = 100% */ - public static final float baseInvasionChance = 1f / 50f; + public static final float baseInvasionChance = 1f / 55f; /** how many turns have to pass before invasions start */ public static final int invasionGracePeriod = 20; /** min armor fraction damage; e.g. 0.05 = at least 5% damage */ diff --git a/core/src/mindustry/content/TechTree.java b/core/src/mindustry/content/TechTree.java index d216a665e1..41dd134682 100644 --- a/core/src/mindustry/content/TechTree.java +++ b/core/src/mindustry/content/TechTree.java @@ -198,10 +198,10 @@ public class TechTree implements ContentList{ }); }); }); - }); - node(illuminator, () -> { - + node(illuminator, () -> { + + }); }); }); diff --git a/core/src/mindustry/core/GameState.java b/core/src/mindustry/core/GameState.java index 3eed5e0164..de7cf6f60c 100644 --- a/core/src/mindustry/core/GameState.java +++ b/core/src/mindustry/core/GameState.java @@ -33,9 +33,8 @@ public class GameState{ /** Current game state. */ private State state = State.menu; - //TODO optimize public Unit boss(){ - return Groups.unit.find(u -> u.isBoss() && u.team == rules.waveTeam); + return teams.boss; } public void set(State astate){ diff --git a/core/src/mindustry/game/Teams.java b/core/src/mindustry/game/Teams.java index da5edfd0db..1c06372731 100644 --- a/core/src/mindustry/game/Teams.java +++ b/core/src/mindustry/game/Teams.java @@ -26,6 +26,8 @@ public class Teams{ public Seq active = new Seq<>(); /** Teams with block or unit presence. */ public Seq present = new Seq<>(TeamData.class); + /** Current boss unit. */ + public @Nullable Unit boss; public Teams(){ active.add(get(Team.crux)); @@ -178,6 +180,10 @@ public class Teams{ data.units.add(unit); data.presentFlag = true; + if(unit.team == state.rules.waveTeam && unit.isBoss()){ + boss = unit; + } + if(data.unitsByType == null || data.unitsByType.length <= unit.type.id){ data.unitsByType = new Seq[content.units().size]; } diff --git a/core/src/mindustry/game/Universe.java b/core/src/mindustry/game/Universe.java index 1b0b1fc10b..b8f27b5f73 100644 --- a/core/src/mindustry/game/Universe.java +++ b/core/src/mindustry/game/Universe.java @@ -216,7 +216,7 @@ public class Universe{ if(!sector.isAttacked() && turn > invasionGracePeriod && sector.info.hasSpawns){ //invasion chance depends on # of nearby bases if(Mathf.chance(baseInvasionChance * Math.min(sector.near().count(Sector::hasEnemyBase), 1))){ - int waveMax = Math.max(sector.info.winWave, sector.isBeingPlayed() ? state.wave : sector.info.wave + sector.info.wavesPassed) + Mathf.random(2, 5) * 5; + int waveMax = Math.max(sector.info.winWave, sector.isBeingPlayed() ? state.wave : sector.info.wave + sector.info.wavesPassed) + Mathf.random(2, 4) * 5; //assign invasion-related things if(sector.isBeingPlayed()){ diff --git a/core/src/mindustry/game/Waves.java b/core/src/mindustry/game/Waves.java index 8e65a0b1b9..21adaac37c 100644 --- a/core/src/mindustry/game/Waves.java +++ b/core/src/mindustry/game/Waves.java @@ -298,7 +298,7 @@ public class Waves{ begin = f; end = f + next >= cap ? never : f + next; max = 13; - unitScaling = (difficulty < 0.4f ? rand.random(2.5f, 5f) : rand.random(1f, 4f)) * scaling[ctier]; + unitScaling = (difficulty < 0.4f ? rand.random(2.5f, 4f) : rand.random(1f, 4f)) * scaling[ctier]; shields = shieldAmount; shieldScaling = shieldsPerWave; spacing = space; diff --git a/core/src/mindustry/ui/fragments/HintsFragment.java b/core/src/mindustry/ui/fragments/HintsFragment.java index eb029789fe..f967518cb4 100644 --- a/core/src/mindustry/ui/fragments/HintsFragment.java +++ b/core/src/mindustry/ui/fragments/HintsFragment.java @@ -150,7 +150,7 @@ public class HintsFragment extends Fragment{ 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 > 1 && !net.active(), () -> !player.dead() && !player.unit().spawnedByCore), + unitControl(() -> 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)), @@ -161,6 +161,7 @@ public class HintsFragment extends Fragment{ payloadDrop(() -> !player.unit().dead && player.unit() instanceof Payloadc p && p.payloads().any(), () -> player.unit() instanceof Payloadc p && p.payloads().isEmpty()), waveFire(() -> Groups.fire.size() > 0 && Blocks.wave.unlockedNow(), () -> indexer.getAllied(state.rules.defaultTeam, BlockFlag.extinguisher).size() > 0), generator(() -> control.input.block == Blocks.combustionGenerator, () -> ui.hints.placedBlocks.contains(Blocks.combustionGenerator)), + guardian(() -> state.boss() != null && state.boss().armor >= 4, () -> state.boss() == null), ; @Nullable