From 7bd05ad9ad32f02013f9a4846cad2be1ffb1b3e7 Mon Sep 17 00:00:00 2001 From: Anuken Date: Sun, 15 Nov 2020 17:11:52 -0500 Subject: [PATCH] New campaign map / Fixed #3414 --- .../src/mindustry/android/AndroidLauncher.java | 2 +- core/assets/bundles/bundle.properties | 1 + core/assets/maps/crags.msav | Bin 15772 -> 0 bytes core/assets/maps/extractionOutpost.msav | Bin 0 -> 19511 bytes core/src/mindustry/ai/BaseAI.java | 2 +- core/src/mindustry/content/SectorPresets.java | 9 +++++++-- core/src/mindustry/content/TechTree.java | 13 ++++++++++++- core/src/mindustry/game/Rules.java | 2 +- core/src/mindustry/mod/ContentParser.java | 4 +++- .../src/mindustry/ui/fragments/HudFragment.java | 2 +- 10 files changed, 27 insertions(+), 8 deletions(-) delete mode 100644 core/assets/maps/crags.msav create mode 100644 core/assets/maps/extractionOutpost.msav diff --git a/android/src/mindustry/android/AndroidLauncher.java b/android/src/mindustry/android/AndroidLauncher.java index 6e3a05c11d..d558e2542b 100644 --- a/android/src/mindustry/android/AndroidLauncher.java +++ b/android/src/mindustry/android/AndroidLauncher.java @@ -145,7 +145,7 @@ public class AndroidLauncher extends AndroidApplication{ @Override public void showMultiFileChooser(Cons cons, String... extensions){ - showFileChooser(true, cons, extensions); + showFileChooser(true, "@open", cons, extensions); } @Override diff --git a/core/assets/bundles/bundle.properties b/core/assets/bundles/bundle.properties index 1ee30c7c21..c72baca84d 100644 --- a/core/assets/bundles/bundle.properties +++ b/core/assets/bundles/bundle.properties @@ -566,6 +566,7 @@ sector.saltFlats.name = Salt Flats sector.fungalPass.name = Fungal Pass sector.biomassFacility.name = Biomass Synthesis Facility sector.windsweptIslands.name = Windswept Islands +sector.extractionOutpost.name = Extraction Outpost #unused #sector.crags.name = Crags diff --git a/core/assets/maps/crags.msav b/core/assets/maps/crags.msav deleted file mode 100644 index 1fb64c01e77cc02b82c8f45be2cc8683c425e0d8..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 15772 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 asZP|zCl`@zGX4)x>;4H`@c#qCU!H@6gt^K9 diff --git a/core/assets/maps/extractionOutpost.msav b/core/assets/maps/extractionOutpost.msav new file mode 100644 index 0000000000000000000000000000000000000000..ce713aa014e94b81da30313869bed162f51ad1bb GIT binary patch literal 19511 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 { node(router, () -> { - node(launchPad, () -> { + node(launchPad, Seq.with(new SectorComplete(extractionOutpost)), () -> { }); node(distributor); @@ -473,6 +473,17 @@ public class TechTree implements ContentList{ }); }); + node(extractionOutpost, Seq.with( + new SectorComplete(stainedMountains), + new SectorComplete(windsweptIslands), + new Research(groundFactory), + new Research(nova), + new Research(airFactory), + new Research(mono) + ), () -> { + + }); + node(saltFlats, Seq.with( new SectorComplete(windsweptIslands), new Research(groundFactory), diff --git a/core/src/mindustry/game/Rules.java b/core/src/mindustry/game/Rules.java index 2a927cc59b..3f9e104a68 100644 --- a/core/src/mindustry/game/Rules.java +++ b/core/src/mindustry/game/Rules.java @@ -105,7 +105,7 @@ public class Rules{ /** Whether to use building AI. */ public boolean ai; /** TODO Tier of blocks/designs that the AI uses for building. [0, 1]*/ - public float aiTier = 0f; + public float aiTier = 1f; /** Whether, when AI is enabled, ships should be spawned from the core. */ public boolean aiCoreSpawn = true; /** If true, blocks don't require power or resources. */ diff --git a/core/src/mindustry/mod/ContentParser.java b/core/src/mindustry/mod/ContentParser.java index 472b5acdaa..153981ed98 100644 --- a/core/src/mindustry/mod/ContentParser.java +++ b/core/src/mindustry/mod/ContentParser.java @@ -43,6 +43,7 @@ public class ContentParser{ private static final boolean ignoreUnknownFields = true; ObjectMap, ContentType> contentTypes = new ObjectMap<>(); ObjectSet> implicitNullable = ObjectSet.with(TextureRegion.class, TextureRegion[].class, TextureRegion[][].class); + ObjectMap sounds = new ObjectMap<>(); ObjectMap, FieldParser> classParsers = new ObjectMap<>(){{ put(Effect.class, (type, data) -> { @@ -96,10 +97,11 @@ public class ContentParser{ String name = "sounds/" + data.asString(); String path = Vars.tree.get(name + ".ogg").exists() ? name + ".ogg" : name + ".mp3"; - if(Core.assets.contains(path, Sound.class)) return Core.assets.get(path, Sound.class); + if(sounds.containsKey(path)) return ((SoundParameter)sounds.get(path).params).sound; var sound = new Sound(); AssetDescriptor desc = Core.assets.load(path, Sound.class, new SoundParameter(sound)); desc.errored = Throwable::printStackTrace; + sounds.put(path, desc); return sound; }); put(Objectives.Objective.class, (type, data) -> { diff --git a/core/src/mindustry/ui/fragments/HudFragment.java b/core/src/mindustry/ui/fragments/HudFragment.java index 01589c3c37..3fe5148b45 100644 --- a/core/src/mindustry/ui/fragments/HudFragment.java +++ b/core/src/mindustry/ui/fragments/HudFragment.java @@ -181,7 +181,7 @@ public class HudFragment extends Fragment{ cont.update(() -> { if(Core.input.keyTap(Binding.toggle_menus) && !ui.chatfrag.shown() && !Core.scene.hasDialog() && !(Core.scene.getKeyboardFocus() instanceof TextField)){ Core.settings.getBoolOnce("ui-hidden", () -> { - ui.announce(Core.bundle.format("showui", Core.keybinds.get(Binding.toggle_menus).key.toString(), 10)); + ui.announce(Core.bundle.format("showui", Core.keybinds.get(Binding.toggle_menus).key.toString(), 11)); }); toggleMenus(); }