From 3bb4820e79f6b868e799735752d9b218d48d2c3b Mon Sep 17 00:00:00 2001 From: Dexapnow <42710595+Dexapnow@users.noreply.github.com> Date: Thu, 20 Feb 2020 09:46:37 +0100 Subject: [PATCH 01/62] Update bundle_pl.properties Some things just were confusing --- core/assets/bundles/bundle_pl.properties | 13 ++++++++----- 1 file changed, 8 insertions(+), 5 deletions(-) diff --git a/core/assets/bundles/bundle_pl.properties b/core/assets/bundles/bundle_pl.properties index 6d9f3d3dba..af1a58493d 100644 --- a/core/assets/bundles/bundle_pl.properties +++ b/core/assets/bundles/bundle_pl.properties @@ -59,6 +59,7 @@ stat.built = Budynki zbudowane:[accent] {0} stat.destroyed = Budynki zniszczone:[accent] {0} stat.deconstructed = Budynki zrekonstruowane:[accent] {0} stat.delivered = Surowce wystrzelone: +stat.playtime = Czas Gry:[accent] {0} stat.rank = Ocena: [accent]{0} launcheditems = [accent]Wystrzelone przedmioty @@ -388,7 +389,7 @@ toolmode.fillteams.description = Wypełniaj drużyny zamiast bloków. toolmode.drawteams = Rysuj Drużyny toolmode.drawteams.description = Rysuj drużyny zamiast bloków. -filters.empty = [lightgray]Brak filtrów! Dodaj jeden za pomocą przycisku poniżej. +filters.empty = [lightgray]Brak filtrów! Dodaj jeden za pomocą przycisku poniżej. filter.distort = Zniekształcanie filter.noise = Szum filter.median = Mediana @@ -531,6 +532,8 @@ error.crashtitle = Wystąpił błąd blocks.input = Wejście blocks.output = Wyjście blocks.booster = Wzmacniacz +blocks.tiles = Wymagane Pola +blocks.affinities = Uwydajnienie block.unknown = [lightgray]??? blocks.powercapacity = Pojemność mocy blocks.powershot = moc/strzał @@ -1085,7 +1088,7 @@ item.copper.description = Przydatny materiał budowlany. Szeroko używany w praw item.lead.description = Podstawowy materiał. Używany w przesyle przemiotów i płynów. Nie jest on przypadkiem szkodliwy? item.metaglass.description = Wyjątkowo wytrzymały stop szkła. Szeroko używany w transporcie i przechowywaniu płynów. item.graphite.description = Zmineralizowany węgiel, wykorzystywany do amunicji i izolacji elektrycznej. -item.sand.description = Zwykły materiał używany pospolicie w przepalaniu, stopach i jako topnik. Dostanie piaskiem po oczach nie jest przyjemne. +item.sand.description = Zwykły materiał używany pospolicie w przepalaniu, stopach i jako topnik. Dostanie piaskiem po oczach nie jest przyjemne. item.coal.description = Zwykły i łatwo dostępny materiał energetyczny. Używany powszechnie jako paliwo oraz w produkcji surowców. item.titanium.description = Rzadki i bardzo lekki materiał. Używany w bardzo zaawansowanym przewodnictwie, wiertłach i samolotach. Poczuj się jak Tytan! item.thorium.description = Zwarty i radioaktywny materiał używany w strukturach i paliwie nuklearnym. Nie trzymaj go w rękach! @@ -1175,7 +1178,7 @@ block.overflow-gate.description = Rozdzielacz, który przerzuca przedmioty, kied block.mass-driver.description = Najlepszy blok do transportu przedmiotów. Zbiera wiele przedmiotów naraz a potem wystrzeliwuje je do kolejnej katapulty masy na bardzo duże odległości. block.mechanical-pump.description = Tania pompa o niskiej wydajności. Nie wymaga prądu. block.rotary-pump.description = Zaawansowana pompa. Pompuje więcej cieczy, ale wymaga zasilania. -block.thermal-pump.description = Najlepsza pompa. Trzy razy szybsza od mechanicznej pompy i jedyna, która może wypompować lawę. +block.thermal-pump.description = Najlepsza pompa. block.conduit.description = Podstawowy blok do transportowania cieczy. Używany w połączeniu z pompami i innymi rurami. block.pulse-conduit.description = Zaawansowany blok do transportowania cieczy. Transportuje je szybciej i magazynuje więcej niż standardowe rury. block.plated-conduit.description = Przesyła ciecze z taką samą szybkością co rura tytanowa, ale jest bardziej odporna. Wejściami bocznymi mogą być tylko inne rury.\nWycieka z niej mniej cieczy. @@ -1223,7 +1226,7 @@ block.lancer.description = Średniej wielkości wieżyczka, która po naładowan block.arc.description = Mała wieża bliskiego zasięgu. Wystrzeliwuje wiązki elektryczne w kierunku wroga. block.swarmer.description = Średniej wielkości wieżyczka, która wystrzeliwuje rakiety samonaprowadzające. block.salvo.description = Większa, bardziej zaawansowana wersja Podwójnego Działka, strzelająca szybkimi salwami. -block.fuse.description = Duża wieża, która strzela potężnymi wiązkami krótkiego zasięgu. +block.fuse.description = Duża wieża bliskiego zasięgu. Wystrzeliwuje trzy przeszywające wiązki w pobliskich wrogów. block.ripple.description = Duża wieża artyleryjska, która strzela jednocześnie kilkoma strzałami. block.cyclone.description = Duża szybkostrzelna wieża. block.spectre.description = Duże działo dwulufowe, które strzela potężnymi pociskami przebijającymi pancerz w jednostki naziemne i powietrzne. @@ -1239,7 +1242,7 @@ block.dagger-factory.description = Produkuje podstawowe jednostki lądowe. block.crawler-factory.description = Produkuje szybkie jednostki lądowe typu "kamikaze". block.titan-factory.description = Produkuje zaawansowane, opancerzone jednostki lądowe. block.fortress-factory.description = Produkuje naziemne jednostki ciężkiej artylerii. -block.repair-point.description = Bez przerw ulecza najbliższą zniszczoną jednostkę w jego zasięgu. +block.repair-point.description = Bez przerw naprawia najbliższą uszkodzoną jednostkę w jego zasięgu. block.dart-mech-pad.description = Umożliwia transformację w podstawowego mecha bojowego.\nUżyj klikając podczas stania na nim. block.delta-mech-pad.description = Opuść swój obecny statek i zamień go na szybki, lekko opancerzony mech stworzony do ataków typu uderz-uciekaj.\nUżyj, klikając dwukrotnie podczas stania na lądowisku. block.tau-mech-pad.description = Opuść swój obecny statek i zamień go na mech wsparcia który może leczyć sojusznicze struktury i jednostki.\nUżyj, klikając dwukrotnie podczas stania na lądowisku. From 23e4d1dd84b1f39b08f9dada49f0d907ca81a5fc Mon Sep 17 00:00:00 2001 From: Dexapnow <42710595+Dexapnow@users.noreply.github.com> Date: Thu, 20 Feb 2020 14:05:38 +0100 Subject: [PATCH 02/62] Update bundle_pl.properties --- core/assets/bundles/bundle_pl.properties | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/core/assets/bundles/bundle_pl.properties b/core/assets/bundles/bundle_pl.properties index af1a58493d..a8c6a3732a 100644 --- a/core/assets/bundles/bundle_pl.properties +++ b/core/assets/bundles/bundle_pl.properties @@ -1172,7 +1172,7 @@ block.bridge-conveyor.description = Zaawansowany blok transportujący. Pozwala n block.phase-conveyor.description = Zaawansowany blok transportowy dla przedmiotów. Używa energii do teleportacji przedmiotów do połączonego transportera fazowego na spore odległości. block.sorter.description = Sortuje przedmioty. Jeśli przedmiot pasuje to przechodzi dalej, jeśli nie - to przechodzi na boki. block.inverted-sorter.description = Sortuje przedmioty jak zwykły sortownik, ale odpowiednie surowce wyciągane są na boki. -block.router.description = Akceptuje przedmioty z jednego miejsca i rozdziela je do trzech innych kierunków. Przydatne w rozdzielaniu materiałów z jednego źródła do wielu celów. +block.router.description = Akceptuje przedmioty z jednego miejsca i rozdziela je do trzech innych kierunków. Przydatne w rozdzielaniu materiałów z jednego źródła do wielu celów.\n\n[scarlet]Nigdy nie używaj przy punkcje wejścia materiałów produkcyjnych, ponieważ zostaną one zatkane przez materiały wyjściowe.[] block.distributor.description = Zaawansowany rozdzielacz, rozdzielający przedmioty do 7 innych kierunków. block.overflow-gate.description = Rozdzielacz, który przerzuca przedmioty, kiedy główna droga jest przepełniona block.mass-driver.description = Najlepszy blok do transportu przedmiotów. Zbiera wiele przedmiotów naraz a potem wystrzeliwuje je do kolejnej katapulty masy na bardzo duże odległości. From ff652f2515103ee7506a83b0783796256e603378 Mon Sep 17 00:00:00 2001 From: Patrick 'Quezler' Mounier Date: Fri, 21 Feb 2020 15:57:48 +0100 Subject: [PATCH 03/62] +1 technical correctness (#1615) --- core/src/mindustry/core/NetServer.java | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/core/src/mindustry/core/NetServer.java b/core/src/mindustry/core/NetServer.java index b840cc7a40..a132727870 100644 --- a/core/src/mindustry/core/NetServer.java +++ b/core/src/mindustry/core/NetServer.java @@ -328,7 +328,7 @@ public class NetServer implements ApplicationListener{ votes += d; voted.addAll(player.uuid, admins.getInfo(player.uuid).lastIP); - Call.sendMessage(Strings.format("[orange]{0}[lightgray] has voted to kick[orange] {1}[].[accent] ({2}/{3})\n[lightgray]Type[orange] /vote [] to agree.", + Call.sendMessage(Strings.format("[orange]{0}[lightgray] has voted on kicking[orange] {1}[].[accent] ({2}/{3})\n[lightgray]Type[orange] /vote [] to agree.", player.name, target.name, votes, votesRequired())); } From de560ac6f81e13ce7f5c83e8f46b2d38a1f22fac Mon Sep 17 00:00:00 2001 From: bobthebadguy <61261191+bobthebadguy@users.noreply.github.com> Date: Fri, 21 Feb 2020 06:58:11 -0800 Subject: [PATCH 04/62] Fixed small typo (#1613) Now there are 70 pull requests. --- core/src/mindustry/entities/Units.java | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/core/src/mindustry/entities/Units.java b/core/src/mindustry/entities/Units.java index 67fe01dc9e..30802f380d 100644 --- a/core/src/mindustry/entities/Units.java +++ b/core/src/mindustry/entities/Units.java @@ -26,8 +26,8 @@ public class Units{ * Validates a target. * @param target The target to validate * @param team The team of the thing doing tha targeting - * @param x The X position of the thing doign the targeting - * @param y The Y position of the thing doign the targeting + * @param x The X position of the thing doing the targeting + * @param y The Y position of the thing doing the targeting * @param range The maximum distance from the target X/Y the targeter can be for it to be valid * @return whether the target is invalid */ From fe22d334dcfc8d6a98b00bff3cc9bc6c20bae6fd Mon Sep 17 00:00:00 2001 From: DeltaNedas <39013340+DeltaNedas@users.noreply.github.com> Date: Fri, 21 Feb 2020 16:38:56 +0000 Subject: [PATCH 05/62] Separate ambient light and solar panel efficiency (#1593) * new branch * Separate ambient light and solar panel efficiency * Made ambient light -> solar efficiency default --- core/assets/bundles/bundle.properties | 1 + core/src/mindustry/game/Rules.java | 3 +++ core/src/mindustry/ui/dialogs/CustomRulesDialog.java | 1 + core/src/mindustry/world/blocks/power/SolarGenerator.java | 2 +- 4 files changed, 6 insertions(+), 1 deletion(-) diff --git a/core/assets/bundles/bundle.properties b/core/assets/bundles/bundle.properties index 7f02ce667b..782aa54a14 100644 --- a/core/assets/bundles/bundle.properties +++ b/core/assets/bundles/bundle.properties @@ -788,6 +788,7 @@ rules.title.unit = Units rules.title.experimental = Experimental rules.lighting = Lighting rules.ambientlight = Ambient Light +rules.solarpowermultiplier = Solar Power Multiplier content.item.name = Items content.liquid.name = Liquids diff --git a/core/src/mindustry/game/Rules.java b/core/src/mindustry/game/Rules.java index 0515d2ca60..ff946e359c 100644 --- a/core/src/mindustry/game/Rules.java +++ b/core/src/mindustry/game/Rules.java @@ -82,6 +82,9 @@ public class Rules{ public boolean lighting = false; /** Ambient light color, used when lighting is enabled. */ public Color ambientLight = new Color(0.01f, 0.01f, 0.04f, 0.99f); + /** Multiplier for solar panel power output. + negative = use ambient light if lighting is enabled. */ + public float solarPowerMultiplier = -1f; /** team of the player by default */ public Team defaultTeam = Team.sharded; /** team of the enemy in waves/sectors */ diff --git a/core/src/mindustry/ui/dialogs/CustomRulesDialog.java b/core/src/mindustry/ui/dialogs/CustomRulesDialog.java index c65efdd919..42ae294123 100644 --- a/core/src/mindustry/ui/dialogs/CustomRulesDialog.java +++ b/core/src/mindustry/ui/dialogs/CustomRulesDialog.java @@ -172,6 +172,7 @@ public class CustomRulesDialog extends FloatingDialog{ number("$rules.enemycorebuildradius", f -> rules.enemyCoreBuildRadius = f * tilesize, () -> Math.min(rules.enemyCoreBuildRadius / tilesize, 200)); title("$rules.title.experimental"); + number("$rules.solarpowermultiplier", f -> rules.solarPowerMultiplier = f, () -> rules.solarPowerMultiplier); check("$rules.lighting", b -> rules.lighting = b, () -> rules.lighting); main.addButton(b -> { diff --git a/core/src/mindustry/world/blocks/power/SolarGenerator.java b/core/src/mindustry/world/blocks/power/SolarGenerator.java index 75a23c9d6f..cd7efdb5ed 100644 --- a/core/src/mindustry/world/blocks/power/SolarGenerator.java +++ b/core/src/mindustry/world/blocks/power/SolarGenerator.java @@ -17,7 +17,7 @@ public class SolarGenerator extends PowerGenerator{ @Override public void update(Tile tile){ - tile.ent().productionEfficiency = state.rules.lighting ? 1f - state.rules.ambientLight.a : 1f; + tile.ent().productionEfficiency = state.rules.solarPowerMultiplier < 0 ? (state.rules.lighting ? 1f - state.rules.ambientLight.a : 1f) : state.rules.solarPowerMultiplier; } @Override From b7a8fa41914d3b98f398f986940a818ce6c846f3 Mon Sep 17 00:00:00 2001 From: Patrick 'Quezler' Mounier Date: Fri, 21 Feb 2020 19:49:15 +0100 Subject: [PATCH 06/62] Fix typo in banned comment (#1617) --- core/src/mindustry/net/Administration.java | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/core/src/mindustry/net/Administration.java b/core/src/mindustry/net/Administration.java index cfd3423608..e071bf7da0 100644 --- a/core/src/mindustry/net/Administration.java +++ b/core/src/mindustry/net/Administration.java @@ -230,7 +230,7 @@ public class Administration{ } /** - * Returns list of all players with admin status + * Returns list of all players which are banned */ public Array getBanned(){ Array result = new Array<>(); From 0a98597ad0f05990bbe51806e3f3ae8c8a787fe9 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Petr=20Ga=C5=A1par=C3=ADk?= Date: Fri, 21 Feb 2020 22:27:05 +0100 Subject: [PATCH 07/62] Czech translation - sync with v104 (#1612) * Czech translation - sync with changes * Czech translation - sync with updates * Czech translation - small fix --- core/assets/bundles/bundle_cs.properties | 3 +-- 1 file changed, 1 insertion(+), 2 deletions(-) diff --git a/core/assets/bundles/bundle_cs.properties b/core/assets/bundles/bundle_cs.properties index 1446544f13..b71b09aff8 100644 --- a/core/assets/bundles/bundle_cs.properties +++ b/core/assets/bundles/bundle_cs.properties @@ -39,7 +39,6 @@ be.check = Zkontrolovat aktualizace schematic = Šablona schematic.add = Uložit šablonu... schematics = Šablony -schematic.replace = Šablona tohoto jména již existuje. Chceš ji nahradit? schematic.import = Importuji šablonu... schematic.exportfile = Exportovat soubor schematic.importfile = Importovat soubor @@ -664,7 +663,7 @@ setting.borderlesswindow.name = Bezokrajové okno[lightgray] (může vyžadovat setting.fps.name = Ukázat FPS a ping setting.blockselectkeys.name = Ukázat klávesy při práci s blokem setting.vsync.name = Vertikální synchronizace -setting.pixelate.name = Rozpixlovat [lightgray](může snížit výkon)[] +setting.pixelate.name = Rozpixlovat setting.minimap.name = Ukázat mapičku setting.position.name = Ukázat pozici hráče setting.musicvol.name = Hlasitost hudby From f891c42847894a6a514fcc1bb689930fe2d392f8 Mon Sep 17 00:00:00 2001 From: Patrick 'Quezler' Mounier Date: Sat, 22 Feb 2020 14:43:54 +0100 Subject: [PATCH 08/62] Remove bundle key space (#1619) --- core/assets/bundles/bundle_es.properties | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/core/assets/bundles/bundle_es.properties b/core/assets/bundles/bundle_es.properties index adf50c6a94..2ff3ff544f 100644 --- a/core/assets/bundles/bundle_es.properties +++ b/core/assets/bundles/bundle_es.properties @@ -174,7 +174,7 @@ hosts.none = [lightgray]¡No se han encontrado partidas LAN! host.invalid = [scarlet]No se ha podido conectar al anfitrión. servers.local = Servidores Locales -servers. remote = Servidores Remotos +servers.remote = Servidores Remotos servers.global = Global Servers trace = Rastrear Jugador From 47618ac21fba35ca91127b4e6f11476871fa8704 Mon Sep 17 00:00:00 2001 From: GioIacca9 <39232448+GioIacca9@users.noreply.github.com> Date: Sat, 22 Feb 2020 16:33:22 +0100 Subject: [PATCH 09/62] Translated #1593 (#1621) --- core/assets/bundles/bundle_it.properties | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/core/assets/bundles/bundle_it.properties b/core/assets/bundles/bundle_it.properties index 2d3e2b967f..0fdfc04e0b 100644 --- a/core/assets/bundles/bundle_it.properties +++ b/core/assets/bundles/bundle_it.properties @@ -39,7 +39,6 @@ be.check = Verifica aggiornamenti schematic = Schematica schematic.add = Salva Schematica... schematics = Schematiche -schematic.replace = Una schematica con questo nome esiste già. Sostituirla? schematic.import = Importa schematica schematic.exportfile = Esporta File schematic.importfile = Importa File @@ -664,7 +663,7 @@ setting.borderlesswindow.name = Finestra Senza Bordi[lightgray] (potrebbe richie setting.fps.name = Mostra FPS e Ping setting.blockselectkeys.name = Mostra Tasto di Selezione del Blocco setting.vsync.name = VSync -setting.pixelate.name = Effetto Pixel [lightgray](potrebbe ridure le prestazioni) +setting.pixelate.name = Effetto Pixel[lightgray] (disabilita le animazioni) setting.minimap.name = Mostra Minimappa setting.position.name = Mostra Posizione Giocatori setting.musicvol.name = Volume Musica @@ -789,6 +788,7 @@ rules.title.unit = Unità rules.title.experimental = Sperimentale rules.lighting = Illuminazione rules.ambientlight = Illuminazione\nAmbientale +rules.solarpowermultiplier = Moltiplicatore Energia Solare content.item.name = Oggetti content.liquid.name = Liquidi @@ -1226,7 +1226,7 @@ block.core-nucleus.description = La terza ed ultima versione del Nucleo. Estrema block.vault.description = Immagazzina una grande quantità di oggetti. Usalo per creare zone cuscinetto quando c'è una domanda non costante di materiali. Uno [lightgray]scaricatore[] può essere utilizzato per recuperare elementi dal deposito. block.container.description = Immagazzina una piccola quantità di oggetti. Usalo per creare zone cuscinetto quando c'è una domanda non costante di materiali. Uno [lightgray]scaricatore[] può essere utilizzato per recuperare elementi dal contenitore. block.unloader.description = Scarica gli oggetti da un contenitore, deposito o Nucleo su un nastro trasportatore o direttamente in un blocco adiacente. L'oggetto da scaricare può essere scelto toccando lo scaricatore. -block.launch-pad.description = Lancia oggetti nel tuo Nucleo senza necessità di un lasciare la zona. +block.launch-pad.description = Lancia oggetti nel tuo Nucleo senza necessità di lasciare la zona. block.launch-pad-large.description = Una versione migliore dell'Ascensore Spaziale, immagazzina più oggetti. Lancia oggetti più frequentemente. block.duo.description = Una torretta piccola ed economica. block.scatter.description = Una torretta antiaerea di medie dimensioni. Spara schegge di piombo o frammenti di rottami sulle unità nemiche. From 084619872171c941fb46d07b0264dff356924e01 Mon Sep 17 00:00:00 2001 From: Anuken Date: Sat, 22 Feb 2020 19:25:05 -0500 Subject: [PATCH 10/62] Updated issue templates --- .github/ISSUE_TEMPLATE/bug_report.md | 4 ++++ .github/ISSUE_TEMPLATE/feature_request.md | 8 ++++++-- 2 files changed, 10 insertions(+), 2 deletions(-) diff --git a/.github/ISSUE_TEMPLATE/bug_report.md b/.github/ISSUE_TEMPLATE/bug_report.md index bfdc7f59f1..22b6097ec1 100644 --- a/.github/ISSUE_TEMPLATE/bug_report.md +++ b/.github/ISSUE_TEMPLATE/bug_report.md @@ -1,6 +1,10 @@ --- name: Bug report about: Create a report to help fix an issue. +title: '' +labels: '' +assignees: '' + --- **Platform**: *Android/iOS/Mac/Windows/Linux* diff --git a/.github/ISSUE_TEMPLATE/feature_request.md b/.github/ISSUE_TEMPLATE/feature_request.md index c270d78354..aeb245a20e 100644 --- a/.github/ISSUE_TEMPLATE/feature_request.md +++ b/.github/ISSUE_TEMPLATE/feature_request.md @@ -1,7 +1,11 @@ --- name: Feature request -about: Do not make a new issue for feature requests! Instead, post it on FeatHub, see the README. +about: Do not make a new issue for feature requests! Instead, post it on FeatHub, + see the README. +title: '' +labels: invalid +assignees: '' --- -**Do not make a new issue for feature requests!** Instead, post it on FeatHub: https://feathub.com/Anuken/Mindustry +**Do not make a new issue for feature requests!** Instead, post it in suggestions repository: https://github.com/Anuken/Mindustry-Suggestions/issues/new/choose From ae66ca468d2c97548e368629f2d8f9b370632c91 Mon Sep 17 00:00:00 2001 From: Anuken Date: Sat, 22 Feb 2020 19:30:02 -0500 Subject: [PATCH 11/62] Update README.md --- README.md | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-) diff --git a/README.md b/README.md index 8d1e484093..03152f0cf6 100644 --- a/README.md +++ b/README.md @@ -51,6 +51,10 @@ If the terminal returns `Permission denied` or `Command not found` on Mac/Linux, Gradle may take up to several minutes to download files. Be patient.
After building, the output .JAR file should be in `/desktop/build/libs/Mindustry.jar` for desktop builds, and in `/server/build/libs/server-release.jar` for server builds. +### Feature Requests + +Post feature requests and feedback [here](https://github.com/Anuken/Mindustry-Suggestions/issues/new/choose). + ### Downloads [Get it on F-Droid](https://f-droid.org/packages/io.anuke.mindustry/) - -### Feature Requests - -[![Feature Requests](https://feathub.com/Anuken/Mindustry?format=svg)](https://feathub.com/Anuken/Mindustry) From 2cd69230e02f5236aa28bc7703be47e150f5f01d Mon Sep 17 00:00:00 2001 From: Anuken Date: Sat, 22 Feb 2020 19:32:01 -0500 Subject: [PATCH 12/62] Changed feathub link --- core/src/mindustry/ui/Links.java | 2 +- gradle.properties | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/core/src/mindustry/ui/Links.java b/core/src/mindustry/ui/Links.java index 7047c6d4d7..09f26e78f5 100644 --- a/core/src/mindustry/ui/Links.java +++ b/core/src/mindustry/ui/Links.java @@ -16,7 +16,7 @@ public class Links{ new LinkEntry("changelog", "https://github.com/Anuken/Mindustry/releases", Icon.list, Pal.accent.cpy()), new LinkEntry("trello", "https://trello.com/b/aE2tcUwF", Icon.trello, Color.valueOf("026aa7")), new LinkEntry("wiki", "https://mindustrygame.github.io/wiki/", Icon.book, Color.valueOf("0f142f")), - new LinkEntry("feathub", "https://feathub.com/Anuken/Mindustry/", Icon.add, Color.valueOf("ebebeb")), + new LinkEntry("feathub", "https://github.com/Anuken/Mindustry-Suggestions/issues/new/choose/", Icon.add, Color.valueOf("ebebeb")), new LinkEntry("reddit", "https://www.reddit.com/r/Mindustry/", Icon.redditAlien, Color.valueOf("ee593b")), new LinkEntry("itch.io", "https://anuke.itch.io/mindustry", Icon.itchio, Color.valueOf("fa5c5c")), new LinkEntry("google-play", "https://play.google.com/store/apps/details?id=io.anuke.mindustry", Icon.googleplay, Color.valueOf("689f38")), diff --git a/gradle.properties b/gradle.properties index 9ff6821b16..bd1a1054c9 100644 --- a/gradle.properties +++ b/gradle.properties @@ -1,3 +1,3 @@ org.gradle.daemon=true org.gradle.jvmargs=-Xms256m -Xmx1024m -archash=589c7e171a8b558f50b99d374e05942a5909ba4d +archash=b0cce39a1f4ea1c4c4a07ce750d5c30f451b34c2 From 66bcb294fb3c70b64381717794d306bd24964752 Mon Sep 17 00:00:00 2001 From: Anuken Date: Sat, 22 Feb 2020 19:35:14 -0500 Subject: [PATCH 13/62] Update issue templates --- .github/ISSUE_TEMPLATE/feature_request.md | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/.github/ISSUE_TEMPLATE/feature_request.md b/.github/ISSUE_TEMPLATE/feature_request.md index aeb245a20e..7a08062e1d 100644 --- a/.github/ISSUE_TEMPLATE/feature_request.md +++ b/.github/ISSUE_TEMPLATE/feature_request.md @@ -1,7 +1,7 @@ --- name: Feature request -about: Do not make a new issue for feature requests! Instead, post it on FeatHub, - see the README. +about: Do not make a new issue for feature requests! Instead, post in the suggestions + repository. See the README. title: '' labels: invalid assignees: '' From c8a762df4291e1e82e5d2cb3a340407c35dc4d2c Mon Sep 17 00:00:00 2001 From: Anuken Date: Sat, 22 Feb 2020 19:53:14 -0500 Subject: [PATCH 14/62] Minor assignment tweak --- core/src/mindustry/core/NetServer.java | 2 ++ gradle.properties | 2 +- 2 files changed, 3 insertions(+), 1 deletion(-) diff --git a/core/src/mindustry/core/NetServer.java b/core/src/mindustry/core/NetServer.java index a132727870..0189930a4b 100644 --- a/core/src/mindustry/core/NetServer.java +++ b/core/src/mindustry/core/NetServer.java @@ -48,6 +48,8 @@ public class NetServer implements ApplicationListener{ if(state.rules.pvp){ //find team with minimum amount of players and auto-assign player to that. TeamData re = state.teams.getActive().min(data -> { + if(state.rules.waveTeam == data.team || !data.team.active()) return Integer.MAX_VALUE; + int count = 0; for(Player other : players){ if(other.getTeam() == data.team && other != player){ diff --git a/gradle.properties b/gradle.properties index bd1a1054c9..932d50fe75 100644 --- a/gradle.properties +++ b/gradle.properties @@ -1,3 +1,3 @@ org.gradle.daemon=true org.gradle.jvmargs=-Xms256m -Xmx1024m -archash=b0cce39a1f4ea1c4c4a07ce750d5c30f451b34c2 +archash=d8ea4539e93211d2134b806e7f4997ce09a491e2 From 91f2eaf53ab810859979c95cd1b1100010e3071b Mon Sep 17 00:00:00 2001 From: Anuken Date: Sat, 22 Feb 2020 20:02:41 -0500 Subject: [PATCH 15/62] Bugfixes --- .../main/java/mindustry/annotations/impl/SerializeProcess.java | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/annotations/src/main/java/mindustry/annotations/impl/SerializeProcess.java b/annotations/src/main/java/mindustry/annotations/impl/SerializeProcess.java index bf49845330..0b61a233e2 100644 --- a/annotations/src/main/java/mindustry/annotations/impl/SerializeProcess.java +++ b/annotations/src/main/java/mindustry/annotations/impl/SerializeProcess.java @@ -21,7 +21,7 @@ public class SerializeProcess extends BaseProcessor{ /** Target class name. */ private static final String className = "Serialization"; /** Name of the base package to put all the generated classes. */ - private static final String data = "eJzNWI1y0zgQfoh7AeGZm5GhmLT8tGDgpn/cZQ4K1wCdG8IwsqwkAtvySXLTEvLS9wS3KymJ0yZHuBluyLSxvVrt76fddX76u2b8ExsKUsoqb4zVl0kusmaYyrJW2hKmeXKz/TCQhTBXSE11halkdrRMAckNt8u0xspiBcUILVkhPzMrVbVYXxjIlRar6FKtolbCJvuanwj7SqtzmQu9jusVhELYlnMf2TlbkuoIBauGiRaDQrQdckvVNWbn0WdZA5kXzBjSrT7CPqUndZMVkhNjwU9OzpXMiZQ0npwGyUZY6i3qhYCA5U7GFonGWlqhoy1CD1Vldh6vcmSLHFxacdAMBkI/jWm9RbKY3H5KJnJAayIr0FxxoQYERFSg0e+KJ0uPhJMnTkmLo04zEPzuPdHCNIXt5sBSiTFx1M77FMxAHS97iTT7Va7BNZDqvOfbwOtuk4HSJ6wUNGKeJVEmOWhkkUdx2rNaVkP3JDTJwtVrWVqjcfpMiiIHYwZ4NcDEt5OhsI5sYB30UPfgOcijwBmjje4W2V9f1oLG5MmTIN9HOp6gL0F/wupaVPliD62aoojjdMqZ5SP6eqTVmGWFIBDE6XQagoQX047Q3vsU70/BbzpiZkRn8q3yumkcx5DHC4v5M9QJiNNWsB0lnYrCCDIL9BkgQI3BYtxUg15AA7NiKJ3yCfWp9wpIISsBVNgoLgSn0bgECHJTa5XDKSXgG3nzpnsUJaYupKURicAi2FrSODFNZryZkecpRDW0IzAaDkVdMA4p7VcAzShqUYgnpGBuISxg11A0IiaPyX3y5YuzaC4JiNudOdWq52os9CEzkCE4/JVlAF4aCa2VjuI5n/irYYXpDisoD4456tztdDo7nc7tzj38uo9fnc4D/NqF/z34f9gSsE4RlLxC5BswWgVxIhZx4NLdhX1DVuzrYVOKyh5fcFFjUaNRxhDmWthGVwRBAInxAUmnWxvk6qjb+/3otPv22OXKF4iTpsygJnwlZ8u8P0rufrDQP4MmR7DTQeDxPuFawGF6LcoaH2kExXn4CcOSnGcmwiJUiDNXk8lgHA77gkZRFFSiceLqNibBEpV9PHvRhXScS456fhX2ZYa9gfajsazKYWnNoz58kn5fK2X7fS7L851+FEOGbhEng6uia0WJJ3xJXHIMUPmjEfqSfCCenRACgnsCewu5SQZalQRqxt2dDwcQywPFdA6iA/Mzpckx4yOUigqgWyx0eZYzw7WsbXLMR2rGlrTBFfjEhbQEanB4PIGyhrcuGrxQmMZ0DdK5V4FhvnPnBBI/VHCPscTqu58ZVTRWvGIewAHq13Ccug05OG5RF4L4Cl73vgmua0/A/4hhsEBL6DRrgTydxbSCFgsx7V0azM/QDUG10PaSRg0MWgmug5RMqUKwirDqErgHUEeFa5yyskQCpZPC5XGrp4T4AfnWLd8lW/1pwfaOSnLLGZGghYcqB5dj8vN1Se9dR41TbwFMiyLN4NB9WtNdIY03gDWGo0pyibPBIU6FfjplARo0OoQTBB4PNSuPmGX9fgTmdCvQ7Prtb+IitNwXgKJBoqEnq7InRE6/ErGWO1uks0Uehg+0boTYDbAJUCyNhREknuBT+Qm+cSAJcwHT+spUgBMBQRMC3U0I8ao8bHdC4JG7NSqAzDhFZXwEIwWNznp/9jbxmAbbgTVKjvZfg3+uUrWkTqcQaTu0YMSGCnZ3d2Fl8ziGyIGOVuQ2GaJWDEsopOVBoE5bGEUOwFfuGdA/HKcmi9N32lRWlqJ16vCgTFfBEeHvcehG+0tfxLBG1TXC7mi2QL8j9DB+cwsWaAO7QiNbLPrkrbLlm7Pliuu1dH1PbH/Vh+vAxthcB/R/hJbz+N+x5ViWwHUNNDvxbL5rGpnPyheMFRZoBhMQvIlwfTGA4RNM+8dlDalZBNwr38QLzxmnQe3ijYriHPDgHmYXSlfFMcuBOU6XrasbO7cLL1fXDTvHVtuKiL/1ryztTtHWmQunc4NA4DGcZmgG5J++hXaMvxS416g4xTe57kufobA12yI8OfdsuLyeCWG+frUx6KtTTHlSqgwP1i/EQSDehjfLTlhFszh09kLpGf/MaYjV6eHdHcI1D+F3zxAujj+A1Dm0xRaz2/xcgQW4DNF4y4oGj18Q63WjMTnEXX4WK89Uaz0crnUuOj7sxDKe1URSh7E1Awr8hV8sAvJmg0drhtusartXX8e+8mXXTTXhRTdoRKdm41dQB++7EGschQExQZMnrC4uZj73hTjAtoTlOTVQUJjeD34H9bjoYjazoIBEOI/n+t0lJhO/Aoq2t3fu70HJ6TzYu7dz/+Hu89SbXfm5CH9amJuAY/FVC2HRm0YmKO7u9s0RdNGwc27j3MRROgUBQg9g5nW/99Sz4Ltxyk+ThswrD+T0H7j81+Q="; + private static final String data = "eJzNWI1u2zYQfoi9ACdgANWmqpP+JK3aDvnrZqxNu7htMNRFQVG0zUYSNZKKk7p+5z3C7kjalhN7dTcUmJFY0vF4vx/vTv7hr5rxczYUpJRV3hirr5JcZM0wlWWttCVM8+RW+2EgC2GukZrqGlPJ7GiZApIbbpdpjZXFCooRWrJCfmZWqmqxvjCQKy1W0aVaRa2ETfY1PxH2tVYXMhd6HddrCIWwLec+sQu2JNURClYNEy0GhWg75JaqG8zOo8+yBjIvmDGkW32CfUpP6iYrJCfGgp+cXCiZEylpPDkNko2w1FvUCwEBy52MLRKNtbRCR1uEHqrK7DxZ5cgWObiy4qAZDIR+FtN6i2QxufOMTOSA1kRWoLniQg0IiKhAo98VT5YeCSdPnZIWR51mIPj9B6KFaQrbzYGlEmPiqJ0PKZiBOl71Emn2q1yDayDVec+3gdfdJgOlT1gpaMQ8S6JMctDIIo/itGe1rIbuSWiShavXsrRG4/S5FEUOxgzwaoCJbydDYR3ZwDrooe7Bc5DHgTNGG90tsr+5qgWNydOnQb6PdDxBX4L+hNW1qPLFHlo1RRHH6ZQzy0f0zUirMcsKQSCI0+k0BAkvph2hvQ8p3p+C33TEzIjO5FvlddM4jiGPlxbzZ6gTEKetYDtKOhWFEWQW6DNAgBqDxbipBr2ABmbFUDrlE+pT7xWQQlYCqLBRXApOo3EJEOSm1iqHU0rAN/L2bfcoSkxdSEsjEoFFsLWkcWKazHgzI89TiGpoR2A0HIq6YBxS2q8AmlHUohBPSMHcQljArqFoREyekAfkyxdn0VwSEO/tzKlWvVBjoQ+ZgQzB4a8sA/DSSGitdBTP+cSfDStMd1hBeXDMUedep9PZ6XTudO7j1wP86nQe4tcu/O/B/6OWgHWKoOQVIt+A0UKYiEUYuGx3YduQFft62JSisseXXNRY02iUMUS5FrbRFUEMQF58PNLp1gapOur2fjs67b47dqny9eGkKTMoCV9J2TLvd0nd9v1vTt3/K/LPocUR7HMQd7xPuBZwlN6IssZHGkFpHp5jVJKLzERYggpx5ioyGYzDUV/QKIqCOjROXNXGHFiisk9nL7uQjQvJUc8vwr7KsDPQfjSWVTksrXnch0/S72ulbL/PZXmx049iSNBt4mRwVXStKPF8L4lLjgEpvzdCX5GPxLMTQkBwT2BnIbfIQKuSQMW4t/PxAEJ5oJjOQXRgfq40OWZ8hFJRAfSKhS7Pcma4lrVNjvlIzdiSNrYCn7iUlkAFDo8nUNTw1kWDFwqzmK4BOvcqMMx3755A3ocK7jGWWHv3M6OKxorXzOM3IP0GjFO3IQfHLepCDF+D6943oXXtAfjvEFabYhgs0BL6zFogT2cxraDBQkx7VwbzM3QjUC20vaJRA2NWgusgJVOqEKwirLoC7gFUUeHapqwskUDppHB50uooIX5Avn3b98hWd1qwvaeS3HZGJGjhocrB5Zj8dFPSB9dP49RbALOiSDM4dOdreiuk8UdgjeGoklziZHCIM6GfTVmABo0O4QSBx0PNyiNmWb8fgTndCjS7bvuruAwN9yWgaJBo6Miq7AmR069ErOXOFulskUfhA40bIfYj2AQolsbCABJP8Kk8h28cR8JUwLS+NhPgPEDQhEB380G8Kg/bnRB45G4NCiAzTlEZH8FAQaOz3h+9TTymwXZgjZKj/Tfgn6tULanTKUTaDi0YsaGC3d1dWNk8jiFyoKMVuU1GqBWjEgppeRCo0xZGkQPwlXsG9A+Hqcni9J02lZWlaJ06PCjTVXBE+HscusH+yhcxrFF1jbA7mi3Q7wg9jN/cggXawK7QyBaLPnmrbPnmbLnieiNd3xPbX/XhJrAxNjcB/S+h5Tz+Z2w5liVw3QDNTjwb75pG5rPyBWOFBZrBBARvIlxfzF/4BLP+cVlDahYB98o38cJzxmlQu3ifojgHPLyP2YXSVXHMcmCO02Xr6sbO7cLL9XXDLrDVtiLib/0LS7tTtHXmwuncIBB4DKcZmgH5p++gHePvBO4lKk7xPa77ymcobM22CE8uPBsur2dCmK9fbQz66hRTnpQqw4P1M3EQiLfhvbITVtEsDp29UHrGP3MaYnV6CO82XPMQfvcM4eL480edQ1tsMbvNLxRYgMsQjXesaPD4BbFeNxqTQ9zlZ7HyTLXWw+Fa56Ljw04s41lNJHUYWzOgwF/4vSIgbzZ4tGa4zaq2e/F17Ctfdd1UE15zg0Z0ajZ+BXXwtguxxlEYEBM0ecLq4mLmc1+IA2xLWJ5TAwWF6f3gd1CPiy5mMwsKSITzeK7fXWIy8SugaHt758EelJzOw737Ow8e7b5IvdmVn4vwh4W5CTgWX7cQFr1pZILi7m3fGkEXDTvnNs5NHKVTECD0AGZe92tPPQu+G6f8NGnIvPJATv8GxS7XDA=="; @Override public void process(RoundEnvironment env) throws Exception{ From e592d6fe5298139916df3baba4cd7db9f34dc014 Mon Sep 17 00:00:00 2001 From: Patrick 'Quezler' Mounier Date: Sun, 23 Feb 2020 16:34:53 +0100 Subject: [PATCH 16/62] Add nydus to global server list (#1625) --- servers.json | 3 +++ 1 file changed, 3 insertions(+) diff --git a/servers.json b/servers.json index 62ce10e30b..2c0ab994b1 100644 --- a/servers.json +++ b/servers.json @@ -8,6 +8,9 @@ { "address": "mindustry.indielm.com" }, + { + "address": "mindustry.nydus.app:1337" + }, { "address": "mindustry.ecansol.com:6597" }, From c989504bf626ad4cec52ab204b3456eb0e8f95f2 Mon Sep 17 00:00:00 2001 From: soytheLB <60957935+soytheLB@users.noreply.github.com> Date: Sun, 23 Feb 2020 12:44:09 -0300 Subject: [PATCH 17/62] Update bundle_es.properties (#1624) Corrected some misspellings. Added warning text in router. Changed description of alloy smelter to keep with the translated name of surge alloy. Added a missed dot from my previous translation. --- core/assets/bundles/bundle_es.properties | 18 +++++++++--------- 1 file changed, 9 insertions(+), 9 deletions(-) diff --git a/core/assets/bundles/bundle_es.properties b/core/assets/bundles/bundle_es.properties index 2ff3ff544f..50bc3e2e66 100644 --- a/core/assets/bundles/bundle_es.properties +++ b/core/assets/bundles/bundle_es.properties @@ -1136,11 +1136,11 @@ unit.revenant.description = Una unidad aérea pesada con misiles. block.message.description = Almacena un mensaje. Se utiliza para comunicarse entre aliados. block.graphite-press.description = Comprime carbón en piezas de grafito puro. block.multi-press.description = Una versión mejorada de la prensa de grafito. Utiliza agua y energía para procesar carbón rápida y eficientemente. -block.silicon-smelter.description = Reduce la arena con carbón puro. Produce silicicona. +block.silicon-smelter.description = Reduce la arena con carbón puro. Produce silicona. block.kiln.description = Funde arena y plomo en metacristal. Requiere cantidades pequeñas de energía. block.plastanium-compressor.description = Produce plastanio con aceite y titanio. block.phase-weaver.description = Produce tejido de fase del torio radioactivo y altas cantidades de arena. -block.alloy-smelter.description = Produce "surge alloy" con titanio, plomo, silicicona y cobre. +block.alloy-smelter.description = Produce aleación eléctrica con titanio, plomo, silicona y cobre. block.cryofluidmixer.description = Combina agua y titanio en líquido criogénico, que es mucho más eficiente para enfriar. block.blast-mixer.description = Usa aceite para transformar pirotita en un objeto menos inflamable pero más explosivo: compuesto explosivo. block.pyratite-mixer.description = Mezcla carbón, plomo y arena en pirotita altamente inflamable. @@ -1170,7 +1170,7 @@ block.surge-wall.description = El bloque defensivo más fuerte.\nTiene una peque block.surge-wall-large.description = El bloque defensivo más fuerte.\nTiene una pequeña probabilidad de disparar rayos al atacante.\nOcupa múltiplies casillas. block.door.description = Una puerta pequeña que puede ser abierta y cerrada tocándola.\nSi está abirta, los enemigos pueden moverse y disparar a través de ella. block.door-large.description = Una puerta grande que puede ser abierta y cerrada tocándola.\nSi está abirta, los enemigos pueden moverse y disparar a través de ella.\nOcupa múltiples casillas. -block.mender.description = Repara bloques cercanos periódicamente. Mantiene a las defensas reparadas entre oleadas. Puede usar silicio opcionalmente para mejorar el alcance y la eficiencia. +block.mender.description = Repara bloques cercanos periódicamente. Mantiene a las defensas reparadas entre oleadas. Puede usar silicona opcionalmente para mejorar el alcance y la eficiencia. block.mend-projector.description = Regenera edificios cercanos periódcamente. block.overdrive-projector.description = Aumenta la velocidad de edificios cercanos como taladros y transportadores. block.force-projector.description = Crea un área de fuerza hexagonal alrededor de él, protegiendo edificios y unidades dentro de él del daño de las balas. @@ -1179,21 +1179,21 @@ block.conveyor.description = Bloque de transporte básico. Mueve objetos hacia a block.titanium-conveyor.description = Bloque de transporte avanzado. Mueve objetos más rápido que los transportadores estándar. block.junction.description = Actúa como puente para dos transportadores que se cruzan. Útil en situaciones con dos diferentes transportadores transportando diferentes materiales a diferentes lugares. block.bridge-conveyor.description = Bloque avanado de transporte. Puede transportar objetos por encima hasta 3 casillas de cualquier terreno o construcción. -block.phase-conveyor.description = Bloque de transporte avanzado. Usa energía para transportar objetos a otro transportador de fase conectado por varias casillas. +block.phase-conveyor.description = Bloque de transporte avanzado. Usa energía para transportar objetos a otro transportador de fase conectado a través de varias casillas. block.sorter.description = Clasifica objetos. Si un objeto es igual al seleccionado, pasará al frente. Si no, el objeto saldrá por la izquierda y la derecha. -block.inverted-sorter.description = Procesa elementos como un clasificador estándar, pero en su lugar genera elementos seleccionados a los lados. -block.router.description = Acepta objetos de una dirección y deja objetos equitativamente en hasta 3 direcciones diferentes. Útil para dividir los materiales de una fuente de recursos a múltiples objetivos. +block.inverted-sorter.description = Procesa elementos como un clasificador estándar, pero en su lugar pasa elementos seleccionados a los lados. +block.router.description = Acepta objetos de una dirección luego los deja equitativamente en hasta 3 direcciones diferentes. Útil para dividir los materiales de una fuente de recursos a múltiples objetivos. /n/n[scarlet]Nunca usar como entrade de producción porque puede tapar con los objetos de salida.[] block.distributor.description = Un enrutador avanzado que distribuye objetos equitativamente en hasta otras 7 direcciones. block.overflow-gate.description = Un enrutador que solo saca por la izquierda y la derecha si la cinta del frente está llena. block.underflow-gate.description = El opuesto de la compuerda de desborde. Solo dispensa hacia el frente si los lados están bloqueados. -block.mass-driver.description = El mejor bloque de transorte. Recoge varios objetos y los dispara a otro conductor de masa en un largo rango. +block.mass-driver.description = El mejor bloque de transorte. Recoge varios objetos y los dispara a otro conductor de masa en un largo rango. Requiere energía para operar. block.mechanical-pump.description = Una bomba barata con extracción lenta, pero sin uso de energía. block.rotary-pump.description = Una bomba avanzada. Bombea más líquido, pero requiere energía. block.thermal-pump.description = La mejor bomba. block.conduit.description = Bloque de transporte de líquidos básico. Funciona como un transportador, pero con líquidos. Usado con bombas, extractores u otros conductos. block.pulse-conduit.description = Bloque de transporte de líquidos avanzado. Transporta líquidos más rápidamente y almacena más que los conductos estándar. block.plated-conduit.description = Mueve líquidos a la misma velocidad que los conductos de pulso, pero posee más armadura. No acepta líquidos de los lados por otra cosa que no sean conductos.\nGotea menos. -block.liquid-router.description = Acepta líquidos de una dirección y los deja en hasta 3 direcciones equitativamente. También puede amacenar cierta capacidad de líquido. Útil para dividir los líquidos de una fuente a varios objetivos. +block.liquid-router.description = Acepta líquidos de una dirección y los deja en hasta 3 direcciones equitativamente. También puede almacenar cierta capacidad de líquido. Útil para dividir los líquidos de una fuente a varios objetivos. block.liquid-tank.description = Almacena una gran cantidad de líquidos. Úsalo para crear almacenes cuando no hay una demanda constante de materiales o para asegurarse de enfriar bloques vitales. block.liquid-junction.description = Actúa como un puente para dos condusctos que se cruzan. Útil en situaciones en las que hay dos conductos con líquidos diferentes a diferentes lugares. block.bridge-conduit.description = Bloque avanzado de transporte de líquidos. Permite transportar líquidos por encima hasta 3 casillas de cualquier terreno o construcción. @@ -1214,7 +1214,7 @@ block.solar-panel-large.description = Genera un mucho mejor suministro de energ block.thorium-reactor.description = Genera grandes cantidades de energía del torio altamente radioactivo. Necesita enfriamiento constante. Explotará violentamente si no se le aporta suficiente enfriamiento. block.impact-reactor.description = Un generador avanzado, capaz de crear cantidades masivas de energía a máxima eficiencia. Requiere una cantidad significante de energía para impulsar el comienzo del proceso. block.mechanical-drill.description = Un taladro barato. Cuando es colocado en casillas apropiadas, extrae objetos lentamente de forma indefinida. Solo es capaz de minar recursos básicos. -block.pneumatic-drill.description = Un taladro mejorado, es capaz de minar titanio más rápido que un taladro mécanico. +block.pneumatic-drill.description = Un taladro mejorado, es capaz de minar titanio. Más rápido que un taladro mécanico. block.laser-drill.description = Permite obtener minerales incluso más rápido con la tecnología láser, pero requiere energía. Además, se puede obtener torio radioactivo con este taladro. block.blast-drill.description = El mejor taladro. Requiere grandes cantidades de energía. block.water-extractor.description = Extrae agua de la tierra. Úsalo cuando no haya lagos cercanos. From ce1884512d139e8efad771b7bff1c803d404f51f Mon Sep 17 00:00:00 2001 From: Patrick 'Quezler' Mounier Date: Mon, 24 Feb 2020 17:44:39 +0100 Subject: [PATCH 18/62] Null the block as well? (#1630) --- core/src/mindustry/net/Administration.java | 1 + 1 file changed, 1 insertion(+) diff --git a/core/src/mindustry/net/Administration.java b/core/src/mindustry/net/Administration.java index e071bf7da0..1c452d81da 100644 --- a/core/src/mindustry/net/Administration.java +++ b/core/src/mindustry/net/Administration.java @@ -568,6 +568,7 @@ public class Administration{ player = null; type = null; tile = null; + block = null; } } From 251877f561e75aba8779d5625d4bf61b0fcc8ca4 Mon Sep 17 00:00:00 2001 From: Ali-C-Ila <56729449+Ali-C-Ila@users.noreply.github.com> Date: Tue, 25 Feb 2020 00:46:20 +0800 Subject: [PATCH 19/62] Update bundle_zh_TW.properties (#1579) * Update bundle_zh_TW.properties * Update bundle_zh_TW.properties * Update bundle_zh_TW.properties * Update bundle_zh_TW.properties --- core/assets/bundles/bundle_zh_TW.properties | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-) diff --git a/core/assets/bundles/bundle_zh_TW.properties b/core/assets/bundles/bundle_zh_TW.properties index 539be7b004..c670a3c947 100644 --- a/core/assets/bundles/bundle_zh_TW.properties +++ b/core/assets/bundles/bundle_zh_TW.properties @@ -39,7 +39,6 @@ be.check = 檢查是否有新的更新 schematic = 藍圖 schematic.add = 儲存藍圖... schematics = 藍圖 -schematic.replace = 具有該名稱的藍圖已經存在。是否要取代它? schematic.import = 匯入藍圖... schematic.exportfile = 匯出檔案 schematic.importfile = 匯入檔案 @@ -508,7 +507,7 @@ zone.saltFlats.description = 鹽沼毗連著沙漠。在這裡幾乎找不到多 zone.craters.description = 這個殞坑中心積蓄著水。這是一場舊戰爭的遺跡。奪回該地區。收集沙子。燒製玻璃。抽水來冷卻砲塔和鑽頭。 zone.ruinousShores.description = 穿過荒地,就是海岸線。這個地點曾經駐紮了海防陣線。現在它們已經所剩無幾。只有最基本的防禦結構沒有被破壞,其他的一切都成了殘骸。\n繼續向外擴張。重新發現那些科技。 zone.stainedMountains.description = 內陸的更深處是群山,還未被孢子所污染。\n提取在該區域蘊藏豐富的鈦,並學習如何使用它們。\n\n這裡的存在著更為強大的敵人。不要給他們時間派出最強的部隊。 -zone.overgrowth.description = 這個地區更靠近孢子的來源,因此已經生長過度了。\n敵人在這裡建立了哨所。建立泰坦機甲。破壞它,並取回失去的東西。 +zone.overgrowth.description = 這個地區更靠近孢子的來源,因此已經生長過度了。\n敵人在這裡建立了哨所。建立泰坦機甲。破壞它,並取回失落的事物。 zone.tarFields.description = 位於山脈和沙漠之間的產油區外緣是少數幾個有可用焦油儲量的地區之一。\n雖然被遺棄了,該地區附近還是有著一些危險的敵人。不要低估它們。\n\n[lightgray]如果可能的話,研究原油加工技術。 zone.desolateRift.description = 一個非常危險的區域。資源豐富,但空間很小。毀滅的風險很高。請盡快離開。不要被敵人攻擊之間的長時間間隔所欺騙。 zone.nuclearComplex.description = 以前生產和加工釷的設施已變成廢墟。\n[lightgray]研究釷及其多種用途。\n\n敵人在這裡的數量眾多,不斷的偵查入侵者。 @@ -530,7 +529,7 @@ settings.clear.confirm = 您確定要清除數據嗎?\n此操作無法撤回! settings.clearall.confirm = [scarlet]警告![]\n這將清除所有數據,包括存檔、地圖、解鎖和熱鍵綁定。\n按「是」後,遊戲將刪除所有數據並自動退出。 paused = [accent]〈已暫停〉 clear = 清除 -banned = [scarlet]Banned +banned = [scarlet]已被封禁 yes = 是 no = 否 info.title = 資訊 @@ -664,7 +663,7 @@ setting.borderlesswindow.name = 無邊框窗口[lightgray](可能需要重啟 setting.fps.name = 顯示FPS與Ping setting.blockselectkeys.name = 顯示方塊選擇快捷鍵 setting.vsync.name = 垂直同步 -setting.pixelate.name = 像素化[lightgray](會關閉動畫) +setting.pixelate.name = 像素化 setting.minimap.name = 顯示小地圖 setting.position.name = 顯示玩家位置 setting.musicvol.name = 音樂音量 @@ -789,6 +788,7 @@ rules.title.unit = 單位 rules.title.experimental = 實驗中 rules.lighting = 光照 rules.ambientlight = 環境光照 +rules.solarpowermultiplier = 太陽能倍數 content.item.name = 物品 content.liquid.name = 液體 From 0c01554a6b6717be92dd85833b885e0481145de6 Mon Sep 17 00:00:00 2001 From: DeltaNedas <39013340+DeltaNedas@users.noreply.github.com> Date: Mon, 24 Feb 2020 20:06:33 +0000 Subject: [PATCH 20/62] add floatf/p and func to global.js (#1633) --- core/assets/scripts/global.js | 3 +++ 1 file changed, 3 insertions(+) diff --git a/core/assets/scripts/global.js b/core/assets/scripts/global.js index fee9596705..4f11bd4fed 100755 --- a/core/assets/scripts/global.js +++ b/core/assets/scripts/global.js @@ -20,8 +20,11 @@ const extend = function(classType, params){ const run = method => new java.lang.Runnable(){run: method} const boolf = method => new Boolf(){get: method} const boolp = method => new Boolp(){get: method} +const floatf = method => new Floatf(){get: method} +const floatp = method => new Floatp(){get: method} const cons = method => new Cons(){get: method} const prov = method => new Prov(){get: method} +const func = method => new Func(){get: method} const newEffect = (lifetime, renderer) => new Effects.Effect(lifetime, new Effects.EffectRenderer({render: renderer})) Call = Packages.mindustry.gen.Call const Calls = Call //backwards compat From 5f8a0ec12e14a87dcf2e2dbc0b39f47ab75c8a43 Mon Sep 17 00:00:00 2001 From: Anuken Date: Tue, 25 Feb 2020 10:04:37 -0500 Subject: [PATCH 21/62] Tweaks --- .../main/java/mindustry/annotations/impl/SerializeProcess.java | 2 +- gradle.properties | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/annotations/src/main/java/mindustry/annotations/impl/SerializeProcess.java b/annotations/src/main/java/mindustry/annotations/impl/SerializeProcess.java index 0b61a233e2..0c07378e87 100644 --- a/annotations/src/main/java/mindustry/annotations/impl/SerializeProcess.java +++ b/annotations/src/main/java/mindustry/annotations/impl/SerializeProcess.java @@ -21,7 +21,7 @@ public class SerializeProcess extends BaseProcessor{ /** Target class name. */ private static final String className = "Serialization"; /** Name of the base package to put all the generated classes. */ - private static final String data = "eJzNWI1u2zYQfoi9ACdgANWmqpP+JK3aDvnrZqxNu7htMNRFQVG0zUYSNZKKk7p+5z3C7kjalhN7dTcUmJFY0vF4vx/vTv7hr5rxczYUpJRV3hirr5JcZM0wlWWttCVM8+RW+2EgC2GukZrqGlPJ7GiZApIbbpdpjZXFCooRWrJCfmZWqmqxvjCQKy1W0aVaRa2ETfY1PxH2tVYXMhd6HddrCIWwLec+sQu2JNURClYNEy0GhWg75JaqG8zOo8+yBjIvmDGkW32CfUpP6iYrJCfGgp+cXCiZEylpPDkNko2w1FvUCwEBy52MLRKNtbRCR1uEHqrK7DxZ5cgWObiy4qAZDIR+FtN6i2QxufOMTOSA1kRWoLniQg0IiKhAo98VT5YeCSdPnZIWR51mIPj9B6KFaQrbzYGlEmPiqJ0PKZiBOl71Emn2q1yDayDVec+3gdfdJgOlT1gpaMQ8S6JMctDIIo/itGe1rIbuSWiShavXsrRG4/S5FEUOxgzwaoCJbydDYR3ZwDrooe7Bc5DHgTNGG90tsr+5qgWNydOnQb6PdDxBX4L+hNW1qPLFHlo1RRHH6ZQzy0f0zUirMcsKQSCI0+k0BAkvph2hvQ8p3p+C33TEzIjO5FvlddM4jiGPlxbzZ6gTEKetYDtKOhWFEWQW6DNAgBqDxbipBr2ABmbFUDrlE+pT7xWQQlYCqLBRXApOo3EJEOSm1iqHU0rAN/L2bfcoSkxdSEsjEoFFsLWkcWKazHgzI89TiGpoR2A0HIq6YBxS2q8AmlHUohBPSMHcQljArqFoREyekAfkyxdn0VwSEO/tzKlWvVBjoQ+ZgQzB4a8sA/DSSGitdBTP+cSfDStMd1hBeXDMUedep9PZ6XTudO7j1wP86nQe4tcu/O/B/6OWgHWKoOQVIt+A0UKYiEUYuGx3YduQFft62JSisseXXNRY02iUMUS5FrbRFUEMQF58PNLp1gapOur2fjs67b47dqny9eGkKTMoCV9J2TLvd0nd9v1vTt3/K/LPocUR7HMQd7xPuBZwlN6IssZHGkFpHp5jVJKLzERYggpx5ioyGYzDUV/QKIqCOjROXNXGHFiisk9nL7uQjQvJUc8vwr7KsDPQfjSWVTksrXnch0/S72ulbL/PZXmx049iSNBt4mRwVXStKPF8L4lLjgEpvzdCX5GPxLMTQkBwT2BnIbfIQKuSQMW4t/PxAEJ5oJjOQXRgfq40OWZ8hFJRAfSKhS7Pcma4lrVNjvlIzdiSNrYCn7iUlkAFDo8nUNTw1kWDFwqzmK4BOvcqMMx3755A3ocK7jGWWHv3M6OKxorXzOM3IP0GjFO3IQfHLepCDF+D6943oXXtAfjvEFabYhgs0BL6zFogT2cxraDBQkx7VwbzM3QjUC20vaJRA2NWgusgJVOqEKwirLoC7gFUUeHapqwskUDppHB50uooIX5Avn3b98hWd1qwvaeS3HZGJGjhocrB5Zj8dFPSB9dP49RbALOiSDM4dOdreiuk8UdgjeGoklziZHCIM6GfTVmABo0O4QSBx0PNyiNmWb8fgTndCjS7bvuruAwN9yWgaJBo6Miq7AmR069ErOXOFulskUfhA40bIfYj2AQolsbCABJP8Kk8h28cR8JUwLS+NhPgPEDQhEB380G8Kg/bnRB45G4NCiAzTlEZH8FAQaOz3h+9TTymwXZgjZKj/Tfgn6tULanTKUTaDi0YsaGC3d1dWNk8jiFyoKMVuU1GqBWjEgppeRCo0xZGkQPwlXsG9A+Hqcni9J02lZWlaJ06PCjTVXBE+HscusH+yhcxrFF1jbA7mi3Q7wg9jN/cggXawK7QyBaLPnmrbPnmbLnieiNd3xPbX/XhJrAxNjcB/S+h5Tz+Z2w5liVw3QDNTjwb75pG5rPyBWOFBZrBBARvIlxfzF/4BLP+cVlDahYB98o38cJzxmlQu3ifojgHPLyP2YXSVXHMcmCO02Xr6sbO7cLL9XXDLrDVtiLib/0LS7tTtHXmwuncIBB4DKcZmgH5p++gHePvBO4lKk7xPa77ymcobM22CE8uPBsur2dCmK9fbQz66hRTnpQqw4P1M3EQiLfhvbITVtEsDp29UHrGP3MaYnV6CO82XPMQfvcM4eL480edQ1tsMbvNLxRYgMsQjXesaPD4BbFeNxqTQ9zlZ7HyTLXWw+Fa56Ljw04s41lNJHUYWzOgwF/4vSIgbzZ4tGa4zaq2e/F17Ctfdd1UE15zg0Z0ajZ+BXXwtguxxlEYEBM0ecLq4mLmc1+IA2xLWJ5TAwWF6f3gd1CPiy5mMwsKSITzeK7fXWIy8SugaHt758EelJzOw737Ow8e7b5IvdmVn4vwh4W5CTgWX7cQFr1pZILi7m3fGkEXDTvnNs5NHKVTECD0AGZe92tPPQu+G6f8NGnIvPJATv8GxS7XDA=="; + private static final String data = "eJy1WAtz0zgQ/hP3A3SeYUaGYtLyaMHATV/cZQ4K1wCdG8Iwsqwkorblk+SmJeS/366kJE6bHOEGOpDYq9U+P+2u8sutmvFzNhSklFXeGKuvklxkzTCVZa20JUzz5Hb7ZSALYa6RmuoaU8nsaJkCkhtul2mNlcUKihFaskJ+YVaqarG+MJArLVbRpVpFrYRN9jU/EfaNVhcyF3od1xsIhbAt5z6zC7Yk1REKVg0TLQaFaDvklqobzM6jL7IGMi+YMaRbfYZ9Sk/qJiskJ8aCn5xcKJkTKWk8OQ2SjbDUW9QLAQHLnYwtEo21tEJHW4QeqsrsPF3lyBY5uLLioBkMhH4e03qLZDG5+5xM5IDWRFagueJCDQiIqECj3xVPll4JJ8+ckhZHnWYg+MNHooVpCtvNgaUSY+KonY8pmIE6XvcSafarXINrINV5z7eB1z0mA6VPWCloxDxLokxy0Mgij+K0Z7Wshu5NaJKFb69laY3G6QspihyMGeC3ASa+nQyFdWQD66CHuhfPQZ4EzhhtdI/I/vaqFjQmz54F+T7S8QR9CfoTVteiyhd7aNUURRynU84sH9G3I63GLCsEgSBOp9MQJPwy7QjtfUzx+RT8piNmRnQm3yqvm8ZxDHm8tJg/Q52AOG0F21HSqSiMILNAnwEC1Bgsxk016AU0MCuG0imfUJ96r4AUshJAhY3iUnAajUuAIDe1VjmcUgK+kXfvukdRYupCWhqRCCyCrSWNE9NkxpsZeZ5CVEM7AqPhUNQF45DSfgXQjKLZnhSMLIQFxBqKqmPylDwkX786O+b7gXh/Z0616qUaC33IDOQFjnxlGUCWRkJrpaN4zif+aVhhusMKioJjjjr3O53OTqdzt/MAPx7iR6fzCD924f8e/H/cErAQTVrUdeqh/BUi34DRQsiIRUi4zHdh25AV+3rYlKKyx5dc1FjfaJQxRLwWttEVQTxAjnyU0unWBmk76vb+PDrtvj92afO14qQpMygP30jfMu8PTOP2g+9O48bx/r50/dAsvIDWR7D/QQ7wOeFawBF7K8oaX2kEJXt4jiFLLjITYWkqxJmr1GQwDiVgQaMoCurTOHHVHPNhico+n73qQmYuJEc9vwv7OsOOQfvRWFblsLTmSR/+kn5fK2X7fS7Li51+FEOy7hAng6uia0WJ535JXHIMqPmrEfqKfCKenRACgnsCOw65TQZalQQqyf2dTwcQygPFdA6iA/MLpckx4yOUigqghyx0eZYzw7WsbXLMR2rGlrRxFvjEpbQEKnN4PYFih48uGrxQmMV0Dei5V4FhvnfvBPI+VPCMscSavJ8ZVTRWvGEeywH1ayHt9uXgvxUB4NewvPddUF57On4WvtWmAAe7tITmtBbl01nAK+jKEPDelcHkDd3cVAttr2jUwGyW4DpIyZQqBKsIq66AewBFWLheKytLJFA6KXw9bbWhEFUg37njG2urpS3YPlBJ7jgjErTwUOXgckxu3ZT00TXhOPUWwIAp0gxO5PmahgzJ/RVYYzjHJJc4ThziIOkHWhZwQ6NDOF7g8VCz8ohZ1u9HYE63As2uRf8hLkOXfgUQGyQa2rgqe0Lk9BsRa7mzRTpb5HH4g26PwPsVbAKIS2Nhaokn+FaewyfOMGGUYFpfGyRwiCBoQqC7oSJelYftTgg8cremC5AZp6iMj2AKodFZ7+/eJh7TYDuwRsnR/lvwz5WxltTpFCJthxaM2FDB7u4urGwexxA50NGK3CZz14r5CoW0PAjUaQujyAH4yj0D+ocT2GRx+k6byspStE4dHpTpKjgi/D0O3W3gylc4LGB1jbA7mi3Qnwg9jN/cggXawK7Q5RaLPnmrbPnubLmSeyNdPxPb3/ThJrAxNjcB/T+h5Tz+b2w5liVw3QDNTjybA5tG5rPyBTOHBZrBBARvIlz3bQ4Djm9wQTgua0jNIuBe+SZeeM44DWoXlzCKQ8KjB5hdKF0VxywH5jhdtq5u7Nwu/Lq+btgFNuBWRPyjv+W0O0VbZy6czg0CgcdwmqEZkH/6Hpo0/rjgbl5xipe/7mufobA12yI8ufBsuLyeCWG+frUx6KtTTHlSqgwP1m/EQSDehstoJ6yiWRw6e6H0jH/mNMTq9BCuRlzzEH73DuHi+JtJnUNbbDG7zS8VWIDLEI33rGjw+AWxXjcak0Pc5Rex8ky11sPhWuei48NOLONZTSR1mGkzoMC/8CNHQN5s8GgNeJtVbXdbduwr78duqgl346ARnZoNZUEdXJEh1jgnA2KCJk9YXVzMfBoMcYBtCctzaqCgML0f/A7qcdHFbGZBAYlwHs/1u6+YTPwKKNre3nm4ByWn82jvwc7Dx7svU2925eci/DVibgLOzNcthEVvGpmguPvbt0fQRcPOuY1zE0fpFAQIPYCB2P1EVM+C78YpP00aMq88kNN/AUOZ6bs="; @Override public void process(RoundEnvironment env) throws Exception{ diff --git a/gradle.properties b/gradle.properties index 932d50fe75..c14da3278b 100644 --- a/gradle.properties +++ b/gradle.properties @@ -1,3 +1,3 @@ org.gradle.daemon=true org.gradle.jvmargs=-Xms256m -Xmx1024m -archash=d8ea4539e93211d2134b806e7f4997ce09a491e2 +archash=c6cf22b91f58e7f050574885e18d2b1d9640563f From 8bbd8489e09eb6361a67f61b5c88cf4d63edf6c6 Mon Sep 17 00:00:00 2001 From: Patrick 'Quezler' Mounier Date: Tue, 25 Feb 2020 18:06:18 +0100 Subject: [PATCH 22/62] Remember scroll position when a new message gets added (#1638) --- core/src/mindustry/ui/fragments/ChatFragment.java | 2 ++ 1 file changed, 2 insertions(+) diff --git a/core/src/mindustry/ui/fragments/ChatFragment.java b/core/src/mindustry/ui/fragments/ChatFragment.java index a6cd4354cf..f1cd0d1327 100644 --- a/core/src/mindustry/ui/fragments/ChatFragment.java +++ b/core/src/mindustry/ui/fragments/ChatFragment.java @@ -231,6 +231,8 @@ public class ChatFragment extends Table{ fadetime += 1f; fadetime = Math.min(fadetime, messagesShown) + 1f; + + if(scrollPos > 0) scrollPos++; } private static class ChatMessage{ From c361e5c26db8922901008cac04a0e58404c40816 Mon Sep 17 00:00:00 2001 From: xaumex Date: Wed, 26 Feb 2020 17:01:56 +0100 Subject: [PATCH 23/62] Update Silicon translation in spanish (#1639) Silicone (en) = Silicona (es) Silicon (en) = Silicio (es) --- core/assets/bundles/bundle_es.properties | 10 +++++----- 1 file changed, 5 insertions(+), 5 deletions(-) diff --git a/core/assets/bundles/bundle_es.properties b/core/assets/bundles/bundle_es.properties index 50bc3e2e66..2a2be22d01 100644 --- a/core/assets/bundles/bundle_es.properties +++ b/core/assets/bundles/bundle_es.properties @@ -801,7 +801,7 @@ item.coal.name = Carbón item.graphite.name = Grafito item.titanium.name = Titanio item.thorium.name = Torio -item.silicon.name = Silicona +item.silicon.name = Silicio item.plastanium.name = Plastanio item.phase-fabric.name = Tejido de fase item.surge-alloy.name = Aleación Eléctrica @@ -955,7 +955,7 @@ block.illuminator.name = Iluminador block.illuminator.description = Una fuente de luz pequeña, compacta y configurable. Requiere poder para funcionar. block.overflow-gate.name = Compuerta de Desborde block.underflow-gate.name = Compuerta de Subdesbordamiento -block.silicon-smelter.name = Horno para Silicona +block.silicon-smelter.name = Horno para Silicio block.phase-weaver.name = Tejedor de Fase block.pulverizer.name = Pulverizador block.cryofluidmixer.name = Mezclador de Criogénicos @@ -1136,11 +1136,11 @@ unit.revenant.description = Una unidad aérea pesada con misiles. block.message.description = Almacena un mensaje. Se utiliza para comunicarse entre aliados. block.graphite-press.description = Comprime carbón en piezas de grafito puro. block.multi-press.description = Una versión mejorada de la prensa de grafito. Utiliza agua y energía para procesar carbón rápida y eficientemente. -block.silicon-smelter.description = Reduce la arena con carbón puro. Produce silicona. +block.silicon-smelter.description = Reduce la arena con carbón puro. Produce silicio. block.kiln.description = Funde arena y plomo en metacristal. Requiere cantidades pequeñas de energía. block.plastanium-compressor.description = Produce plastanio con aceite y titanio. block.phase-weaver.description = Produce tejido de fase del torio radioactivo y altas cantidades de arena. -block.alloy-smelter.description = Produce aleación eléctrica con titanio, plomo, silicona y cobre. +block.alloy-smelter.description = Produce aleación eléctrica con titanio, plomo, silicio y cobre. block.cryofluidmixer.description = Combina agua y titanio en líquido criogénico, que es mucho más eficiente para enfriar. block.blast-mixer.description = Usa aceite para transformar pirotita en un objeto menos inflamable pero más explosivo: compuesto explosivo. block.pyratite-mixer.description = Mezcla carbón, plomo y arena en pirotita altamente inflamable. @@ -1170,7 +1170,7 @@ block.surge-wall.description = El bloque defensivo más fuerte.\nTiene una peque block.surge-wall-large.description = El bloque defensivo más fuerte.\nTiene una pequeña probabilidad de disparar rayos al atacante.\nOcupa múltiplies casillas. block.door.description = Una puerta pequeña que puede ser abierta y cerrada tocándola.\nSi está abirta, los enemigos pueden moverse y disparar a través de ella. block.door-large.description = Una puerta grande que puede ser abierta y cerrada tocándola.\nSi está abirta, los enemigos pueden moverse y disparar a través de ella.\nOcupa múltiples casillas. -block.mender.description = Repara bloques cercanos periódicamente. Mantiene a las defensas reparadas entre oleadas. Puede usar silicona opcionalmente para mejorar el alcance y la eficiencia. +block.mender.description = Repara bloques cercanos periódicamente. Mantiene a las defensas reparadas entre oleadas. Puede usar silicio opcionalmente para mejorar el alcance y la eficiencia. block.mend-projector.description = Regenera edificios cercanos periódcamente. block.overdrive-projector.description = Aumenta la velocidad de edificios cercanos como taladros y transportadores. block.force-projector.description = Crea un área de fuerza hexagonal alrededor de él, protegiendo edificios y unidades dentro de él del daño de las balas. From 709bd4952f647aa804032fdeaa7a4c27dc556ad4 Mon Sep 17 00:00:00 2001 From: Anuken Date: Thu, 27 Feb 2020 10:07:52 -0500 Subject: [PATCH 24/62] Added PC hardware flag --- android/AndroidManifest.xml | 1 + gradle.properties | 2 +- 2 files changed, 2 insertions(+), 1 deletion(-) diff --git a/android/AndroidManifest.xml b/android/AndroidManifest.xml index b096e11a41..05e0d30698 100644 --- a/android/AndroidManifest.xml +++ b/android/AndroidManifest.xml @@ -3,6 +3,7 @@ package="io.anuke.mindustry"> + diff --git a/gradle.properties b/gradle.properties index c14da3278b..2b37ed7cd1 100644 --- a/gradle.properties +++ b/gradle.properties @@ -1,3 +1,3 @@ org.gradle.daemon=true org.gradle.jvmargs=-Xms256m -Xmx1024m -archash=c6cf22b91f58e7f050574885e18d2b1d9640563f +archash=f2bb11a4dbb6febed118a772ce61a253e1d863c5 From 38ab1473f271f68eb3f5fe2734b2c352c022bbb8 Mon Sep 17 00:00:00 2001 From: Anuken Date: Fri, 28 Feb 2020 13:46:16 -0500 Subject: [PATCH 25/62] Backport of fixed lighting + overflow crash fix --- core/src/mindustry/graphics/LightRenderer.java | 11 ++++++++--- .../world/blocks/distribution/OverflowGate.java | 5 +++++ gradle.properties | 2 +- 3 files changed, 14 insertions(+), 4 deletions(-) diff --git a/core/src/mindustry/graphics/LightRenderer.java b/core/src/mindustry/graphics/LightRenderer.java index 0c0f94e02c..58c91b4f30 100644 --- a/core/src/mindustry/graphics/LightRenderer.java +++ b/core/src/mindustry/graphics/LightRenderer.java @@ -24,6 +24,10 @@ public class LightRenderer{ lights.add(run); } + public void add(Position pos, float radius, Color color, float opacity){ + add(pos.getX(), pos.getY(), radius, color, opacity); + } + public void add(float x, float y, float radius, Color color, float opacity){ if(!enabled()) return; @@ -180,13 +184,14 @@ public class LightRenderer{ Draw.color(); buffer.beginDraw(Color.clear); - Draw.blend(Blending.normal); + Gl.blendEquationSeparate(Gl.funcAdd, Gl.max); + for(Runnable run : lights){ run.run(); } Draw.reset(); - Draw.blend(); buffer.endDraw(); + Gl.blendEquationSeparate(Gl.funcAdd, Gl.funcAdd); Draw.color(); Shaders.light.ambient.set(state.rules.ambientLight); @@ -196,4 +201,4 @@ public class LightRenderer{ lights.clear(); } -} +} \ No newline at end of file diff --git a/core/src/mindustry/world/blocks/distribution/OverflowGate.java b/core/src/mindustry/world/blocks/distribution/OverflowGate.java index e73bb140a8..3236010b2a 100644 --- a/core/src/mindustry/world/blocks/distribution/OverflowGate.java +++ b/core/src/mindustry/world/blocks/distribution/OverflowGate.java @@ -54,6 +54,11 @@ public class OverflowGate extends Block{ } if(entity.lastItem != null){ + if(entity.lastInput == null){ + entity.lastItem = null; + return; + } + entity.time += 1f / speed * Time.delta(); Tile target = getTileTarget(tile, entity.lastItem, entity.lastInput, false); diff --git a/gradle.properties b/gradle.properties index 2b37ed7cd1..c20f31f7e3 100644 --- a/gradle.properties +++ b/gradle.properties @@ -1,3 +1,3 @@ org.gradle.daemon=true org.gradle.jvmargs=-Xms256m -Xmx1024m -archash=f2bb11a4dbb6febed118a772ce61a253e1d863c5 +archash=bff072e2d671c74a32b41353125c2aa6ba8c0314 From 56b2b8ed7909d556e27bcd4d78b5b5eb9c7ffad0 Mon Sep 17 00:00:00 2001 From: b1tt <46069798+bitt0008@users.noreply.github.com> Date: Fri, 28 Feb 2020 23:47:28 +0300 Subject: [PATCH 26/62] gp ru full_description.txt grammar fix (#1645) unnecessary comma ig --- fastlane/metadata/android/ru-RU/full_description.txt | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/fastlane/metadata/android/ru-RU/full_description.txt b/fastlane/metadata/android/ru-RU/full_description.txt index 2b1647994e..48b1636127 100644 --- a/fastlane/metadata/android/ru-RU/full_description.txt +++ b/fastlane/metadata/android/ru-RU/full_description.txt @@ -3,7 +3,7 @@ Особенности игры: - 24 встроенные карты -- Кампания, с полноценным технологическим древом и прогрессией карт +- Кампания с полноценным технологическим древом и прогрессией карт - 4 вида мощных боссов - Системы для транспорта электроэнергии, жидкостей и ресурсов - 19 видов дронов, кораблей и наземных боевых единиц From bcc901b3ef822b34578e25a850be7ff4a12977a8 Mon Sep 17 00:00:00 2001 From: Aldas <45396524+TheAldas@users.noreply.github.com> Date: Sat, 29 Feb 2020 16:02:45 +0200 Subject: [PATCH 27/62] Add bundle_lt.properties for lithuanian translation (#1650) * Create bundle_lt.properties file Translated first 480 lines. Soon other half will be translated * Update bundle_lt.properties * Update bundle_lt.properties * Update bundle_lt.properties * Update bundle_lt.properties * Update bundle_lt.properties --- core/assets/bundles/bundle_lt.properties | 1263 ++++++++++++++++++++++ 1 file changed, 1263 insertions(+) create mode 100644 core/assets/bundles/bundle_lt.properties diff --git a/core/assets/bundles/bundle_lt.properties b/core/assets/bundles/bundle_lt.properties new file mode 100644 index 0000000000..e0fe6a9825 --- /dev/null +++ b/core/assets/bundles/bundle_lt.properties @@ -0,0 +1,1263 @@ +credits.text = Kūrėjas [ROYAL]Anuken[] - [SKY]anukendev@gmail.com[] +credits = Kreditai +contributors = Vertėjai ir Padėjėjai +discord = Prisijunkite prie Mindustry Discord! +link.discord.description = Oficialus Mindustry Discord serveris +link.reddit.description = Mindustry subreddit'as +link.github.description = Žaidimo pradinis kodas +link.changelog.description = Atnaujinimų sąrašas +link.dev-builds.description = Nestabili kūriamoji versija +link.trello.description = Oficiali Trello lenta planuojamoms naujoms funkcijoms +link.itch.io.description = itch.io puslapis su PC atsisiuntimu +link.google-play.description = Google Play parduotuvės elementas +link.f-droid.description = F-Droid katalogo elementas +link.wiki.description = Oficialus Mindustry wiki +link.feathub.description = Pasiūlykite naujas funkcijas +linkfail = Nepavyko atidaryti nuorodos!\nURL nukopijuotas į jūsų iškarpinę. +screenshot = Ekrano kopija išsaugota į {0} +screenshot.invalid = Žemėlapis yra per didelis, potencialiai nepakanka vietos išsaugoti ekrano kopiją. +gameover = Žaidimas Baigtas +gameover.pvp = [accent] {0}[] komanda laimėjo! +highscore = [accent]Naujas rekordas! +copied = Nukopijuota. + +load.sound = Garsai +load.map = Žemėlapiai +load.image = Vaizdai +load.content = Turinys +load.system = Sistema +load.mod = Modifikacijos +load.scripts = Kodai + +be.update = Galite parsisiusti naujausią versija: +be.update.confirm = Parsisiųsti ir perkrauti dabar? +be.updating = Naujinama... +be.ignore = Ignoruoti +be.noupdates = Naujinimų nerasta. +be.check = Ieškoti naujinimų + +schematic = Schema +schematic.add = Išsaugoti Schemą... +schematics = Schemos +schematic.import = Importuoti Schemą... +schematic.exportfile = Eksportuoti Failą +schematic.importfile = Importuoti Failą +schematic.browseworkshop = Browse Workshop +schematic.copy = Kopijuoti į Iškarpinę +schematic.copy.import = Importuoti iš Iškarpinės +schematic.shareworkshop = Dalintis Workshop'e +schematic.flip = [accent][[{0}][]/[accent][[{1}][]: Apversti Schemą +schematic.saved = Schema išsaugota. +schematic.delete.confirm = Ši schema bus ištrinta negrįžtamai. +schematic.rename = Pervadinti Schemą +schematic.info = {0}x{1}, {2} blokai + +stat.wave = Įveikta bangų:[accent] {0} +stat.enemiesDestroyed = Sunaikinta priešų:[accent] {0} +stat.built = Pastatyta Pastatų:[accent] {0} +stat.destroyed = Sunaikinta Pastatų:[accent] {0} +stat.deconstructed = Iškonstruota pastatų:[accent] {0} +stat.delivered = Paleisti Resursai: +stat.playtime = Žaidimo Trukmė:[accent] {0} +stat.rank = Finalinis Laipsnis: [accent]{0} + +launcheditems = [accent]Paleisti Resursai +launchinfo = [unlaunched][[PALEISKITE] savo branduolį norint gauti resursus, kurie yra paryškintus mėlynai. +map.delete = Ar esate tikri, jog norite ištrinti žemėlapį "[accent]{0}[]"? +level.highscore = Rekordas: [accent]{0} +level.select = Lygio Pasirinkimas +level.mode = Žaidimo režimas: +showagain = Neberodyti per kitą sesiją +coreattack = < Branduolys yra puolamas! > +nearpoint = [[ [scarlet]NEDELSIANT PALYKITE IŠMETIMO ZONĄ[] ]\nneišvengiamas sunaikinimas +database = Branduolio Duomenų Bazė +savegame = Išsaugoti Žaidimą +loadgame = Užkrauti Žaidimą +joingame = Įeiti į žaidimą +customgame = Pasirinktinis Žaidimas +newgame = Naujas Žaidimas +none = +minimap = Mini Žemėlapis +position = Pozicija +close = Uždaryti +website = Tinklalapis +quit = Išeiti +save.quit = Išsaugoti ir Išeiti +maps = Žemėlapiai +maps.browse = Naršyti Žemėlapius +continue = Tęsti +maps.none = [lightgray]Nerasta Žemėlapių! +invalid = Klaidingas +pickcolor = Pasirinkti spalvą +preparingconfig = Ruošiamos Konfiguracijos +preparingcontent = Ruošiamas Turinys +uploadingcontent = Talpinamas Turinys +uploadingpreviewfile = Talpinamas Peržiūros failas +committingchanges = Daromi Pakeitimai +done = Baigta +feature.unsupported = Jūsų įrenginys nepalaiko šios funkcijos. +mods.alphainfo = Prisiminkite, jog modifikacijos vis dar yra alpha, ir[scarlet] gali būti [].\nPraneškite apie rastas klaidas Mindustry GitHub puslapyje or Discord serveryje. +mods.alpha = [accent](Alpha) +mods = Modifikacijos +mods.none = [LIGHT_GRAY]Nerasta jokių modifikacijų! +mods.guide = Modifikavimo Gidas +mods.report = Praneškite apie klaidas +mods.openfolder = Atidaryti Modifikacijų Aplanką +mod.display = [gray]Modifikacijos:[orange] {0} +mod.enabled = [lightgray]Įjungta +mod.disabled = [scarlet]Išjungta +mod.disable = Išjungti +mod.delete.error = Negalima ištrinti modifikacijos. Failas gali būti naudojamas. +mod.requiresversion = [scarlet]Privaloma minimali žaidimo versija: [accent]{0} +mod.missingdependencies = [scarlet]Trūkstamos priklausomybės: {0} +mod.erroredcontent = [scarlet]Turinio Klaidos. +mod.errors = Įvyko klaida kraunant turinį. +mod.noerrorplay = [scarlet]Turite modifikacijas su klaidomis.[] Išjunkite modifikacijas su klaidomis arba patasykite jas prieš žaidžiant. +mod.nowdisabled = [scarlet]Modifikacijai '{0}' trūksta priklausomybių:[accent] {1}\n[lightgray] Šios modifikacijos turi būti atsisiųstos.\nŠi modifikacija bus automatiškai išjungta. +mod.enable = Įjungti +mod.requiresrestart = Žaidimas dabar išsijungs modifikacijų pakeitimui. +mod.reloadrequired = [scarlet]Privalomas perkrovimas +mod.import = Importuoti Modifikaciją +mod.import.github = Importuoti GitHub Modifikaciją +mod.item.remove = Šis elementas yra[accent] '{0}'[] modifikacijos dalis. Norint panaikinti ją, ištrinkite modifikaciją. +mod.remove.confirm = Ši modifikacija bus ištrinta. +mod.author = [LIGHT_GRAY]Autorius:[] {0} + +mod.missing = Šis išsaugojimas turi modifikacijas, kurias atnaujinote arba nebėra įrašytos. Gali atsirasti išsaugojimo gedimas. Ar tikrai norite užkrauti?\nModifikacijos:\n{0} +mod.preview.missing = Prieš publikuojant šią modifikaciją workshop'e, jūs privalote pridėti parodamajį vaizdą.\nĮdėktie vaizdą pavadinimu[accent] preview.png[] į modifikacijos aplanką ir bandykite iš naujo. +mod.folder.missing = Tik modifikacijos aplanko formoje gali būti publikuojamos workshop'e.\nNorint konvertuoti bet kurią modifikaciją į aplanką, paprasčiausiai išpakuokite jos failą į aplanką ir ištrinkite senąją zip versiją, po to, perkraukite žaidimą arba modifikacijas. +mod.scripts.unsupported = Jūsų įrenginys neplaiko modifikacijos kodų. Kai kurios modifikacijos neveiks tinkamai. +about.button = Apie +name = Vardas: +noname = Pirma pasirinkite[accent] žaidėjo vardą[]. +filename = Failo Vardas: +unlocked = Atrakintas Naujas Turinys! +completed = [accent]Išrasta +techtree = Technologijų Medis +research.list = [lightgray]Išradimai: +research = Išrasti +researched = [lightgray]{0} išrasta. +players = {0} žaidėjai +players.single = {0} žaidėjas +server.closing = [accent]Uždaromas serveris... +server.kicked.kick = Jūs buvote išmestas iš serverio! +server.kicked.whitelist = Jūs nesate baltajame sąraše. +server.kicked.serverClose = Serveris uždarytas. +server.kicked.vote = Jūs buvote išbalsuotas kitų žaidėjų. Iki Pasimatymo. +server.kicked.clientOutdated = Pasenęs Klientas! Atnaujinkite savo žaidimą! +server.kicked.serverOutdated = Pasenęs Serveris! Paprašykite savininko, kad būtų atnaujintas! +server.kicked.banned = Jūs esate užblokuotas šiame serveryje. +server.kicked.typeMismatch = Šis serveris yra nesuderinamas su jūsų žaidimo versija. +server.kicked.playerLimit = Šis serveris yra pilnas. Palaukite, kol atsiras vietos. +server.kicked.recentKick = Jūs buvote neseniai išmestas iš serverio.\nPalaukite, prieš jungiantis. +server.kicked.nameInUse = Žaidėjas su šiuo vardu\n jau yra serveryje. +server.kicked.nameEmpty = Pasirinktas vardas yra netinkamas. +server.kicked.idInUse = Jūs jau esate šiame serveryje! Prisijungti su dviemis paskyromis yra neleistina. +server.kicked.customClient = Šis serveris nepalaiko modifikuotų žaidimo versijų. Atsisiųskite oficialią versiją. +server.kicked.gameover = Žaidimas Baigtas! +server.kicked.serverRestarting = Šis serveris persikrauna. +server.versions = Jūsų versija:[accent] {0}[]\nServerio versija:[accent] {1}[] +host.info = [accent]Hostinti[] mygtukas sukūria serverį prievade [scarlet]6567[]. \nBet kas [lightgray]tame pačiame wifi arba vietiniame tinkle[] galės matyti jūsų serverį serverių sąraše.\n\nJei norite, kad žmonės galėtų prisijungti iš bet kruios pasaulio vietos su IP adresu yra privalomas [accent]prievadų peradresavimas[].\n\n[lightgray]Pastaba: Jei kam nors kyla problemų jungiantis prie jūsų LAN žaidimo, įsitikinkite, kad Mindustry turi prieigą prie vietinio tinklo ugniasienės nustatymuose. Prisiminkite, jog viešieji tinklai kartais neleidžia serverių aptikimo. +join.info = Čia galite įvesti[accent] serverio IP[], jei norite prisijungti, arba atrasti[accent] vietinio tinklo[] serverius, prie kurių norite prisijungti.\nPalaikoma tiek LAN, tiek WAN žaidimas tinkle.\n\n[lightgray]Pastaba: Nėra automatinio globalių serverių sąrašo; jei norite prisijungti prie kažko su IP adresu, turėsite paprašyti IP adreso. +hostserver = Hostinti Žaidimą Tinkle +invitefriends = Pakviesti Draugus +hostserver.mobile = Hostinti\nŽaidimą +host = Hostinti +hosting = [accent]Atidaromas serveris... +hosts.refresh = Atnaujinti +hosts.discovering = Ieškoma LAN žaidimų +hosts.discovering.any = Ieškoma žaidimų +server.refreshing = Atnaujinamas serveris +hosts.none = [lightgray]Žaidimų vietiniame tinkle nerasta! +host.invalid = [scarlet]Negalima prisijungti prie serverio. + +servers.local = Vietinio Tinklo Serveriai +servers.remote = Nuotoliniai Serveriai +servers.global = Globalūs Serveriai + +trace = Sekti Žaidėją +trace.playername = Žaidėjo vardas: [accent]{0} +trace.ip = IP: [accent]{0} +trace.id = Unikalus ID: [accent]{0} +trace.mobile = Mobilus Klientas: [accent]{0} +trace.modclient = Custom Client: [accent]{0} +invalidid = Netaisyklingas kliento ID! Praneškite apie klaidą. +server.bans = Užblokavimai +server.bans.none = Nerasta užblokuotų žaidėjų! +server.admins = Administratoriai +server.admins.none = Nerasta administratorių! +server.add = Pridėti Serverį +server.delete = Ar esate tikras jog norite panaikinti serverį? +server.edit = Redaguoti Serverį +server.outdated = [crimson]Pasenęs serveris![] +server.outdated.client = [crimson]Pasenęs Klientas![] +server.version = [gray]v{0} {1} +server.custombuild = [accent]Custom Build +confirmban = Ar esate tikras, jog norite užblokuoti šį žaidėją? +confirmkick = Ar esate tikras, jog norite išmesti šį žaidėją? +confirmvotekick = Ar esate tikras, jog norite išbalsuoti šį žaidėją? +confirmunban = Ar esate tikras, jog norite atblokuoti šį žaidėją? +confirmadmin = Ar esate tikras, jog norite šį žaidėją padaryti administratoriumi? +confirmunadmin = Ar esate tikras, jog norite atimti administratoriaus statusą iš šio žaidėjo? +joingame.title = Prisijungti prie žaidimo +joingame.ip = IP Adresas: +disconnect = Atsijungta. +disconnect.error = Prisijungimo klaida. +disconnect.closed = Prisijungimas uždarytas. +disconnect.timeout = Baigėsi laikas. +disconnect.data = Nepavyko užkrauti pasaulio informacijos! +cantconnect = Negalima prisijungti prie žaidimo ([accent]{0}[]). +connecting = [accent]Prisijungiama... +connecting.data = [accent]Kraunama pasaulio informacija... +server.port = Prievadas: +server.addressinuse = Adresas jau naudojamas! +server.invalidport = Negaliams prievado numeris! +server.error = [crimson]Įvyko klaida. +save.new = Naujas Išsaugojimas +save.overwrite = Ar esate tikras, jog\n norite perrašyti šį elementą? +overwrite = Perrašyti +save.none = Nerasta jokių išsaugojimų! +saveload = Išsaugoma... +savefail = Nepavyko išsaugoti žaidimo! +save.delete.confirm = Ar esate tikras, jog norite ištrinti šį išsaugojimą? +save.delete = Ištrinti +save.export = Eksportuoti Išsaugojimą +save.import.invalid = [accent]Šis išsaugojimas yra kalidingas! +save.import.fail = [crimson]Nepavyko importuoti išsaugojimo: [accent]{0} +save.export.fail = [crimson]Nepavyko exportuoti išsaugojimo: [accent]{0} +save.import = Importuoti išsaugojimą +save.newslot = Išsaugojimo pavadinimas: +save.rename = Pervadinti +save.rename.text = Naujas pavadinimas: +selectslot = Pasirinkite išsaugojimą. +slot = [accent]Elementas {0} +editmessage = Redaguoti žinutę +save.corrupted = Išsaugojimo failas yra sugadintas arba ! +empty = +on = Įjungta +off = Išjungta +save.autosave = Automatinis išsaugojimas: {0} +save.map = Žemėlapis: {0} +save.wave = Banga {0} +save.mode = Žaidimo Režimas: {0} +save.date = Paskutinis Išsaugojimas: {0} +save.playtime = Žaidimo laikas: {0} +warning = Perspėjimas. +confirm = Priimti +delete = Ištrinti +view.workshop = Apžiūrėti Workshop'e +workshop.listing = Edit Workshop Listing +ok = Gerai +open = Atidaryti +customize = Keisti Taisykles +cancel = Atšaukti +openlink = Atidaryti Nuorodą +copylink = Kopijuoti Nuorodą +back = Sugrįžti +data.export = Eksportuoti Duomenis +data.import = Importuoti Duomenis +data.openfolder = Atidaryti Duomenų Aplanką +data.exported = Duomenys Eksportuoti. +data.invalid = Tai nėra veikiantys žaidimo duomenys. +data.import.confirm = Importuojant išorinius duomenis bus ištrinti[scarlet] visi[] +ų esami žaidimo duomenys.\n[accent]Tai negali būti atkurta![]\n\nŽaidimas bus išjungtas iš karto po duomenų importavimo. +classic.export = Eksportuoti Klasikinius Duomenis +classic.export.text = [accent]Mindustry[] has just had a major update.\nClassic (v3.5 build 40) save or map data has been detected. Would you like to export these saves to your phone's home folder, for use in the Mindustry Classic app? +quit.confirm = Ar tikrai norite išeiti? +quit.confirm.tutorial = Ar esate tikras, jog žinote ką darote?\nPradininkas gali būti įjungtas iš naujo paspaudus [accent] Nustatymai->Žaidimas->Iš naujo įjungti Pradininką.[] +loading = [accent]Kraunama... +reloading = [accent]Iš naujo kraunamos modifikacijos... +saving = [accent]Išsaugoma... +cancelbuilding = [accent][[{0}][] plano išvalymui +selectschematic = [accent][[{0}][] pasirinkimui+kopijavimui +pausebuilding = [accent][[{0}][] statymo sustabdymui +resumebuilding = [scarlet][[{0}][] statymo pratęsimui +wave = [accent]Banga {0} +wave.waiting = [lightgray]Banga po {0} +wave.waveInProgress = [lightgray]Vyksta banga +waiting = [lightgray]Laukiama... +waiting.players = Laukiama žaidėjų... +wave.enemies = [lightgray]{0} Likę Priešai +wave.enemy = [lightgray]{0} Likęs Priešas +loadimage = Užkrauti Vaizdą +saveimage = Išsaugoti Vaizdą +unknown = Nežinomas +custom = Custom +builtin = Integruotas +map.delete.confirm = Ar esate tikras, jog norite ištrinti šį žemėlapį? Šis veiksmas negali būti atstatytas +map.random = [accent]Atsitiktinis Žemėlapis +map.nospawn = Šiame žemėlapyje nėra jokio branduolio atsirasti žaidėjui! Įdėkite[accent] oranžinį[] branduolį į žemėlapį redaktoriuje. +map.nospawn.pvp = Šiame žemėlapyje nėra jokio priešų branduolio atsirasti žaidėjui! Įdėkite[SCARLET] ne oranžinį[] branduolį į žemėlapį redaktoriuje. +map.nospawn.attack = Šiame žemėlapyje nėra jokio priešo branduolio, kurį reikia sunaikinti žaidėjams! Įdėkite[SCARLET] raudoną[] branduolį į žemėlapį redaktoriuje. +map.invalid = Įvyko Klaida kraunant Žemėlapį: sugadintas arba klaidingas žemėlapio failas. +workshop.update = Atnaujinti Elementą +workshop.error = Error fetching workshop details: {0} +map.publish.confirm = Ar tikrai norite publikuoti šį žemėlapį?\n\n[lightgray]Pirma įsitikinkite, jog sustinkate su Workshop'o EULA arba jūsų žemėlapis nebus rodomas! +workshop.menu = Pasirinkite ką norite daryti su šiuo elementu. +workshop.info = Elemento Informacija +changelog = Pasikeitimai (neprivaloma): +eula = Steam EULA +missing = Šis elementas buvo ištrintas arba pakeistas.\n[lightgray]Workshop'o elementas buvo automatiškai atsietas. +publishing = [accent]Publikuojama... +publish.confirm = Ar tikrai norite publikuoti tai?\n\n[lightgray]Pirma įsitikinkite, jog sustinkate su Workshop'o EULA arba jūsų elementai nebus rodomi! +publish.error = Įvyko klaida publikuojant elementą: {0} +steam.error = Nepavyko inicijuoti Steam paslaugų.\Klaida: {0} + +editor.brush = Teptukas +editor.openin = Atidaryti Redaktoriuje +editor.oregen = Rūdų Generacija +editor.oregen.info = Rūdų Generacija: +editor.mapinfo = Žemėlapio Informacija +editor.author = Autorius: +editor.description = Aprašymas: +editor.nodescription = Žemėlapis privalo turėti aprašymą bent iš 4 simbolių prieš išleidžiant. +editor.waves = Bangos: +editor.rules = Taisyklės: +editor.generation = Generacija: +editor.ingame = Redaguoti Žaidime +editor.publish.workshop = Publikuoti Workshop'e +editor.newmap = Naujas Žemėlapis +workshop = Workshop +waves.title = Bangos +waves.remove = Panaikinti +waves.never = +waves.every = kiekvieną +waves.waves = banga(os) +waves.perspawn = per spawn +waves.to = iki +waves.boss = Bosas +waves.preview = Apžiūra +waves.edit = Redaguoti... +waves.copy = Kopijuoti į iškarpinę +waves.load = Užkrauti iš iškarpinės +waves.invalid = Klaidingos Bangos iš iškarpinės. +waves.copied = Bangos Nukopijuotos. +waves.none = Nėra nustatyta jokių priešų.\nĮsiminkite, jog tušti bangų maketai bus pakeisti numatytuoju maketu. +editor.default = [lightgray] +details = Detaliau... +edit = Redaguoti... +editor.name = Pavadinimas: +editor.spawn = Atradinti Vienetą +editor.removeunit = Panaikinti Vienetą +editor.teams = Komandos +editor.errorload = Įvyko klaida kraunant failą. +editor.errorsave = Įvyko klaida išsaugant failą. +editor.errorimage = That's an image, not a map.\n\nIf you want to import a 3.5/build 40 map, use the 'Import Legacy Map' button in the editor. +editor.errorlegacy = Šis žemėlapis yra per senas ir naudoja seną žemėlapių formatą, kuris yra nebepalaikomas. +editor.errornot = Tai nėra žemėlapio formatas. +editor.errorheader = Šis žemėlapis yra netaisyklingas arba sugadintas. +editor.errorname = Šis žemėlapis neturi nustatyto pavadinimo. Ar bandote užkrauti išsaugotą failą? +editor.update = Atnaujinti +editor.randomize = Sumaišyti Atsitiktinai +editor.apply = Taikyti +editor.generate = Generuoti +editor.resize = Pakeisti Dydį +editor.loadmap = Užkrauti Žemėlapį +editor.savemap = Išsaugoti Žemėlapį +editor.saved = Išsaugota! +editor.save.noname = Jūsų Žemėlapis neturi pavadinimo! Nustatykite meniu 'žemėlapio informacija'. +editor.save.overwrite = Jūsų žemėlapis perrašo integruotą žemėlapį! Pasirinkite skirtingą pavadinimą 'žemėlapio informacija' meniu. +editor.import.exists = [scarlet]Negalima importuoti:[] integruotas žemėlapis '{0}' jau egzistuoja! +editor.import = Importuoti... +editor.importmap = Importuoti Žemėlapį +editor.importmap.description = Importuoti jau egzistuojantį žemėlapį +editor.importfile = Importuoti Failą +editor.importfile.description = Importuoti išorinį žemėlapio failą +editor.importimage = Importuoti Seno tipo Žemėlapį +editor.importimage.description = Importuoti išorinį žemėlapio vaizdo failą +editor.export = Eksportuoti... +editor.exportfile = Eksportuoti Failą +editor.exportfile.description = Eksportuoti žemėlapio failą +editor.exportimage = Eksportuoti Reljefo Vaizdą +editor.exportimage.description = Eksportuoti žemėlapio vaizdo failą +editor.loadimage = Importuoti Reljefą +editor.saveimage = Eksportuoti Reljefą +editor.unsaved = [scarlet]Jūs turite neišsaugotų pakeitimų![]\nAr tikrai norite išeiti? +editor.resizemap = Pakeisti Žemėlapio dydį +editor.mapname = Žemėlapio Pavadinimas: +editor.overwrite = [accent]Įspėjimas!\nTai perrašys jau egzistuojantį žemėlapį. +editor.overwrite.confirm = [scarlet]Perspėjimas![] Žemėlapis su šiuo pavadinimu jau egzistuoja. Ar tikrai norite perrašyti jį? +editor.exists = Žemėlapis su šiuo pavadinimu jau egzistuoja. +editor.selectmap = Pasirinkite Žemėlapį, kurį norite užkrauti: + +toolmode.replace = Pakeisti +toolmode.replace.description = Piešia tik ištisinius blokus. +toolmode.replaceall = Pakeisti Viską +toolmode.replaceall.description = Pakeisti visus blokus žemėlapyje. +toolmode.orthogonal = Stačiakampis +toolmode.orthogonal.description = Piešia stačiakampes linijas. +toolmode.square = Kvadratas +toolmode.square.description = Kvadratinis Teptukas brush. +toolmode.eraseores = Ištrinti Rūdas +toolmode.eraseores.description = Ištrinti tik rūdas. +toolmode.fillteams = Užpildyti Komandas +toolmode.fillteams.description = Užpildykite komandas, o ne blokus. +toolmode.drawteams = Piešti Komandas +toolmode.drawteams.description = Pieškite komandas, o ne blokus. + +filters.empty = [lightgray]Nėra filtrų! Pridėkite su mygtuku easančiu žemiau. +filter.distort = Iškraipyti +filter.noise = Triukšmas +filter.median = Mediana +filter.oremedian = Rūdų Mediana +filter.blend = Sumaišyti +filter.defaultores = Numatytosios Rūdos +filter.ore = Rūda +filter.rivernoise = Upės Triukšmas +filter.mirror = Veidrodis +filter.clear = Išvalyti +filter.option.ignore = Ignoruoti +filter.scatter = Išsklaidyti +filter.terrain = Reljefas +filter.option.scale = Mastelis +filter.option.chance = Tikimybė +filter.option.mag = Didumas +filter.option.threshold = Slenkstis +filter.option.circle-scale = Apskritimo Mastelis +filter.option.octaves = Oktavos +filter.option.falloff = Falloff +filter.option.angle = Kampas +filter.option.block = Blokas +filter.option.floor = Sluoksnis +filter.option.flooronto = Pasirinktas Sluoksnis +filter.option.wall = Siena +filter.option.ore = Rūda +filter.option.floor2 = Antrasis Sluoksnis +filter.option.threshold2 = Antrasis Slenkstis +filter.option.radius = Spindulys +filter.option.percentile = Procentilė + +width = Plotis: +height = Aukštis: +menu = Meniu +play = Žaisti +campaign = Campaign +load = Krauti +save = Išsaugoti +fps = FPS: {0} +ping = Ping: {0}ms +language.restart = Prašome perkrauti žaidimą, norint pakeisti kalbą. +settings = Nustatymai +tutorial = Pradininkas +tutorial.retake = Iš naujo įjungti Pradininką +editor = Redaktorius +mapeditor = Žemėlapio Redaktorius + +abandon = Apleisti +abandon.text = Ši zona ir visi jos resursai bus prarasti. +locked = Užrakinta +complete = [lightgray]Įvykdyta: +requirement.wave = Pasiekite {0} zonoje {1} +requirement.core = Sunaikinkite priešų branduolį zonoje {0} +requirement.unlock = Atrakinti {0} +resume = Pratęsti zoną:\n[lightgray]{0} +bestwave = [lightgray]Geriausia Banga: {0} +launch = < PALEISTI > +launch.title = Paleidimas Sėkmingas +launch.next = [lightgray]kita proga bangoje {0} +launch.unable2 = [scarlet]Negalima PALEISTI.[] +launch.confirm = Tai paleis visus resursus jūsų branduolyje.\nJūs nebegalėsite sugrįžti į šią bazę. +launch.skip.confirm = If you skip now, you will not be able to launch until later waves. +uncover = Atidengti +configure = Keisti Resursų Kiekį +bannedblocks = Uždrausti Blokai +addall = Pridėti Visus +configure.locked = [lightgray]Atrakinkite resursų kiekio keitimą: {0}. +configure.invalid = Kiekis turi būti numris tarp 0 ir {0}. +zone.unlocked = [lightgray]{0} atrakinta. +zone.requirement.complete = Rekalavimai {0} įvykdyti:[lightgray]\n{1} +zone.config.unlocked = Resursų keitimas atrakintas:[lightgray]\n{0} +zone.resources = [lightgray]Aptikti Resursai: +zone.objective = [lightgray]Tikslas: [accent]{0} +zone.objective.survival = Išgyventi +zone.objective.attack = Sunaikinti priešų branduolį +add = Pridėti... +boss.health = Boso Gyvybės + +connectfail = [crimson]Prisijungimo Klaida:\n\n[accent]{0} +error.unreachable = Serveris nepasiekiamas.\nAr adresas yra parašytas tinkamai? +error.invalidaddress = Klaidingas Adresas. +error.timedout = Baigėsi Laikas!\nĮsitikinkite, jog serverio prievado ekspedijavimas yra sukonfigūruotas ir adresas yra geras. +error.mismatch = Paketų klaida:\ngalimas kliento/serverio versijų nesutapimas.\nĮsitikinkite, jog jūs ir serveris turi naujausią Mindustry versiją! +error.alreadyconnected = Jau Prisijungta. +error.mapnotfound = Žemėlapis neras! +error.io = Tinklo I/O klaida. +error.any = Nžinoma tinklo klaida. +error.bloom = Nepavyko inicijuoti spindėjimo.\nJūsų įrenginys gali nepalaikyti šios funkcijos. + +zone.groundZero.name = Nulinė Žemė +zone.desertWastes.name = Dykumos Dykvietės +zone.craters.name = Krateriai +zone.frozenForest.name = Užšalęs Miškas +zone.ruinousShores.name = Sugriuvę Krantai +zone.stainedMountains.name = Beicuoti Kalnai +zone.desolateRift.name = Apleistas Tarpeklis +zone.nuclearComplex.name = Branduolinės Gamybos Kompleksas +zone.overgrowth.name = Peraugimas +zone.tarFields.name = Dervos Laukai +zone.saltFlats.name = Druskos Lygumos +zone.impact0078.name = Poveikis 0078 +zone.crags.name = Uolos +zone.fungalPass.name = Grybų Perėja + +zone.groundZero.description = Optimali vieta pradėjimui iš naujo. Mažas priešų pavojus. Keletas Resursų.\nSurinkite kuo daugiau Švino ir Vario.\nJudėkite toliau. +zone.frozenForest.description = Net čia, arčiau kalnų, išplito sporos. Šalti orai jų negali išlaikyti visą amžinybę.\n\nPradėkite kelionę į energijos gamybą. Pastatykite vidaus degimo variklius. Išmokite naudoti taisytojus. +zone.desertWastes.description = Šios dykvietės yra plačios, nenuspėjamos ir nusėtos apleistais sektoriaus pastatais.\nŠiame regione yra anglies. Naudokite ją gaminti energiją arba sintetinkite į grafitą.\n\n[lightgray]Ši nusileidimo vieta negali būti garantuota. +zone.saltFlats.description = Dykumos pakraštyje driekiasi Druskos Lygumos. Keletas resursų gali būti rasta šioje vietoje.\n\nČia priešai pasistatė savo resursų sandėlių kompleksą. Sunaikinkite jų branduolį. Nepalikite nieko gyvo. +zone.craters.description = Vanduo susikaupė krateryje, senų karų relikvijoje. Atsiimkite zoną. Rinkite smėlį. Lydykite Meta Stiklą. Pumpuokite vandenį bokštams ir grąžtams aušinti. +zone.ruinousShores.description = Po dykviečių yra kranto linija. Kartą, šio vietoje buvo pakrantės apsauga. Nebedaug išliko. Tik paprasčiausios gynybos struktūros išliko nesudaužytos, visa kita virto laužu.\nTęskite plėtimasi į išorę. Iš naujo atraskite technologijas. +zone.stainedMountains.description = Toliau žemėje driekiasi kalnai.\nIšgaukite titaną, kurio gausu šioje zonoje. Išmokite jį naudoti.\n\nČia priešų kiekis yra didesnis. Neduokite jiems laiko siųsti stipriausius vienetus. +zone.overgrowth.description = Ši vieta yra peraugusi, arčiau sporų šaltinio.\nPriešai įsikūrė gyvenvietę. Pasigaminkite Titanus. Sunaikinkite ją. Atgaukite tai, kas buvo prarasta. +zone.tarFields.description = Pakraštys naftos produkcijos zonos, tarp kalnų ir dykumų. Viena iš keleto zonų su galimais panaudoti dervos resursais.\nNors apleista, ši zona turi pavojingų priešo pajėgų netoliese. Nenuvertinkite jų.\n\n[lightgray]Išraskite naftos apdirbimo technologijas, jei įmanoma. +zone.desolateRift.description = Ekstremaliai pavojinga zona. Daugybė resursų, tačiau mažai vietos. Didelė sunaikinimo rizika. Palikite kuo greičiau. Neapsaugaukite ilgais laikais tarpais tarp priešo atakų. +zone.nuclearComplex.description = Buvusi gamykla torio gamybai ir apdirbimui, sumažinta iki griuvėsių.\n[lightgray]Atraskite Torį ir panaudojimo būdus.\n\nPriešas būna dideliais kiekiais, pastoviai besižvalgantys puolimo. +zone.fungalPass.description = Perėjimas tarp aukštų kalnų ir žemesnių, sporomis apaugusių žemių. Čia įsikūrusi nedidelė priešų žvalgybos bazė.\nSunaikinkite ją.\nNaudokite Dagerių ir Krolerių vienetus. Sunaikinkite abu branduolius. +zone.impact0078.description = +zone.crags.description = + +settings.language = Kalba +settings.data = Žaidimo Duomenys +settings.reset = Atkurti į numatytuosius +settings.rebind = Keisti +settings.resetKey = Atkuri +settings.controls = Valdymas +settings.game = Žaidimas +settings.sound = Garsai +settings.graphics = Grafikos +settings.cleardata = Išvalyti žaidimo duomenis... +settings.clear.confirm = Ar tikrai norite ištrinti šiuos duomenis?\nTai negali būti atkurta! +settings.clearall.confirm = [scarlet]ĮSPĖJIMAS![]\nTai ištrins visus duomenis, įskaitant išsaugojimus, žemėlapius, atrakinimus ir mygtukų pakeitimus.\nVos paspaudus 'gerai' žaidimas ištrins visus duomenis ir išsijungs. +paused = [accent]< Sustabdyta > +clear = Išvalyti +banned = [scarlet]Užblokuota +yes = Taip +no = Ne +info.title = Informacija +error.title = [crimson]Įvyko klaida +error.crashtitle = Įvyko klaida +blocks.input = Įeiga +blocks.output = Išeiga +blocks.booster = Stiprintuvas +blocks.tiles = Privalomi +blocks.affinities = Affinities +block.unknown = [lightgray]??? +blocks.powercapacity = Energijos Talpumas +blocks.powershot = Energija per šūvį +blocks.damage = Žala +blocks.targetsair = Šaudo į Orą +blocks.targetsground = Šaudo į Žemę +blocks.itemsmoved = Judėjimo Greitis +blocks.launchtime = Laikas Tarp Paleidimų +blocks.shootrange = Atstumas +blocks.size = Dydis +blocks.liquidcapacity = Skysčių Talpumas +blocks.powerrange = Energijos Skleidimo Atstumas +blocks.powerconnections = Maks. Jungčių Kiekis +blocks.poweruse = Energijos Suvartojimas +blocks.powerdamage = Power/Damage +blocks.itemcapacity = Daiktų Talpumas +blocks.basepowergeneration = Bazinis Energijos Generavimas +blocks.productiontime = Gamybos Laikas +blocks.repairtime = Pilnas bloko sutaisymo laikas +blocks.speedincrease = Greičio Padidėjimas +blocks.range = Atstumas +blocks.drilltier = Gręžiamieji +blocks.drillspeed = Bazinis Grąžto Greitis +blocks.boosteffect = Pastiprinimo Efektas +blocks.maxunits = Maks. Aktyvių Vienetų Kiekis +blocks.health = Gyvybės +blocks.buildtime = Statymo Laikas +blocks.buildcost = Statymo Kaina +blocks.inaccuracy = Netikslumas +blocks.shots = Šūviai +blocks.reload = Šūviai per sekundę +blocks.ammo = Šoviniai + +bar.drilltierreq = Privolomas Geresnis Grąžtas +bar.drillspeed = Grąžto Greitis: {0}/s +bar.pumpspeed = Pompos Greitis: {0}/s +bar.efficiency = Efektyvumas: {0}% +bar.powerbalance = Power: {0}/s +bar.powerstored = Sukaupta: {0}/{1} +bar.poweramount = Energija: {0} +bar.poweroutput = Energijos Išeiga: {0} +bar.items = Daiktai: {0} +bar.capacity = Talpumas: {0} +bar.liquid = Skystis +bar.heat = Karščiai +bar.power = Jėga +bar.progress = Statymo Progresas +bar.spawned = Vienetai: {0}/{1} +bar.input = Įeiga +bar.output = Išeiga + +bullet.damage = [stat]{0}[lightgray] žalos +bullet.splashdamage = [stat]{0}[lightgray] zonos žalos ~[stat] {1}[lightgray] blokai +bullet.incendiary = [stat]uždegantis +bullet.homing = [stat]nukreipiamasis +bullet.shock = [stat]šokas +bullet.frag = [stat]skilantis +bullet.knockback = [stat]{0}[lightgray] numušimas +bullet.freezing = [stat]šaldantis +bullet.tarred = [stat]dervuotas +bullet.multiplier = [stat]{0}[lightgray]x šovinių daugiklis +bullet.reload = [stat]{0}[lightgray]x šaudymo greitis + +unit.blocks = blokai +unit.powersecond = energijos per sekundę +unit.liquidsecond = skysčio per sekundę +unit.itemssecond = daiktų per sekundę +unit.liquidunits = skysčio vienetai +unit.powerunits = energijos vienetai +unit.degrees = laipsnių +unit.seconds = sekundės +unit.persecond = /sek. +unit.timesspeed = x greičio +unit.percent = % +unit.items = daiktai +unit.thousands = k +unit.millions = mil +category.general = Bendra +category.power = Energija +category.liquids = Skysčiai +category.items = Daiktai +category.crafting = Įeiga/Išeiga +category.shooting = Šaudymas +category.optional = Galimi Pagerinimai +setting.landscape.name = Užrakinti pasukimą +setting.shadows.name = Šešėliai +setting.blockreplace.name = Automatiniai Blokų Pasiūlymai +setting.linear.name = Linijinis Filtravimas +setting.hints.name = Užuominos +setting.buildautopause.name = Automatinis Statybų Sustabdymas +setting.animatedwater.name = Vandens Animacija +setting.animatedshields.name = Skydų Animacija +setting.antialias.name = Glodinimas[lightgray] (reikalingas perkrovimas)[] +setting.indicators.name = Priešų/Sąjungininkų Indikatorius +setting.autotarget.name = Automatinis Taikymas +setting.keyboard.name = Pelės+Klaviatūros Valdymas +setting.touchscreen.name = Jutiklinio Ekrano Valdymas +setting.fpscap.name = Maks. FPS +setting.fpscap.none = Nėra +setting.fpscap.text = {0} FPS +setting.uiscale.name = UI mastelio keitimas[lightgray] (reikalingas perkrovimas)[] +setting.swapdiagonal.name = Visada Įstrižinis Padėjimas +setting.difficulty.training = Mokymai +setting.difficulty.easy = Lengvas +setting.difficulty.normal = Normalus +setting.difficulty.hard = Sunkus +setting.difficulty.insane = Beprotiškas +setting.difficulty.name = Sunkumas: +setting.screenshake.name = Ekrano Drebėjimas +setting.effects.name = Rodyti Efektus +setting.destroyedblocks.name = Rodyti Sugriautus Blokus +setting.conveyorpathfinding.name = Konvejerio Paskirties Vietos Nustatymas +setting.coreselect.name = Allow Schematic Cores +setting.sensitivity.name = Valdymo Jautrumas +setting.saveinterval.name = Išsaugojimo Intervalas +setting.seconds = {0} sekundžių +setting.blockselecttimeout.name = Maks. Bloko Pasirinkimo Laikas +setting.milliseconds = {0} milisekundžių +setting.fullscreen.name = Fullscreen +setting.borderlesswindow.name = Langas Be Pakrasčių[lightgray] (gali reikėti perkrauti) +setting.fps.name = Rodyti FPS ir Ping +setting.blockselectkeys.name = Rodyti Blokų Pasirinkimo Mygtukus +setting.vsync.name = VSync +setting.pixelate.name = Pikseliavimas +setting.minimap.name = Rodyti Mini Žemėlapį +setting.position.name = Rodyti Žaidėjų Pozicijas +setting.musicvol.name = Muzikos Garsumas +setting.ambientvol.name = Aplinkos Garsas +setting.mutemusic.name = Nutildyti Muziką +setting.sfxvol.name = SFX Garsumas +setting.mutesound.name = Nutildyti Garsus +setting.crashreport.name = Siųsti Anoniminius Strigties Pranešimus +setting.savecreate.name = Automatiškai Kurti Išsaugojimus +setting.publichost.name = Viešojo Žaidimo Matomumas +setting.playerlimit.name = Žaidėjų Limitas +setting.chatopacity.name = Pokalbių Lentos Nepermatomumas +setting.lasersopacity.name = Power Laser Opacity +setting.bridgeopacity.name = Tilto Nepermatomumas +setting.playerchat.name = Rodyti Pokalbių Teksto Burbulus Virš Žaidėjų +public.confirm = Ar norite savo žaidimą paversti viešu?\n[accent]Bet kas galės įeiti į jūsų žaidimą.\n[lightgray]Tai gali būti pakeista nuėjus į Nustatymai->Žaidimas->Viešojo Žaidimo Matomumas. +public.beta = Įsiminkite, jog beta versijoje negalima sukrti viešų kambarių. +uiscale.reset = UI mastelis buvo pakeistas.\nSpauskite "GERAI", norėdami palikti šį mastelį.\n[scarlet]Atšaukiama ir išeinama po[accent] {0}[] sekundžių... +uiscale.cancel = Atšaukti ir Išeiti +setting.bloom.name = Švytėjimas +keybind.title = Pakeisti Valdymo Mygtukus +keybinds.mobile = [scarlet]Dauguma valdymo mygtukų neveikia telefone. Tik paparastas judėjimas yra palaikomas. +category.general.name = Bendra +category.view.name = Vaizdas +category.multiplayer.name = Žaidimas Tinkle +command.attack = Puolti +command.rally = Susitelkti +command.retreat = Atsitraukti +placement.blockselectkeys = \n[lightgray]Key: [{0}, +keybind.clear_building.name = Išvalyti Statybas +keybind.press = Paspauskite mygtuką... +keybind.press.axis = Paspauskite aši arba mygtuką... +keybind.screenshot.name = Žemėlapio Ekrano Kopija +keybind.toggle_power_lines.name = Toggle Power Lasers +keybind.move_x.name = Judėjimas X ašimi +keybind.move_y.name = Judėjimas Y ašimi +keybind.mouse_move.name = Sekti Pelę +keybind.dash.name = Greitas Judėjimas +keybind.schematic_select.name = Pasirinkite Regioną +keybind.schematic_menu.name = Schemų Meniu +keybind.schematic_flip_x.name = Apversti schemą per X ašį +keybind.schematic_flip_y.name = Apversti schemą per Y ašį +keybind.category_prev.name = Ankstesnė Kategorija +keybind.category_next.name = Sekanti Kategorija +keybind.block_select_left.name = Bloko Pasirinkimas į Kairę +keybind.block_select_right.name = Bloko Pasirinkimas į Dešinę +keybind.block_select_up.name = Bloko Pasirinkimas į Viršų +keybind.block_select_down.name = Bloko Pasirinkimas į Apačia +keybind.block_select_01.name = Kategorijos/Bloko Pasirinkimas 1 +keybind.block_select_02.name = Kategorijos/Bloko Pasirinkimas 2 +keybind.block_select_03.name = Kategorijos/Bloko Pasirinkimas 3 +keybind.block_select_04.name = Kategorijos/Bloko Pasirinkimas 4 +keybind.block_select_05.name = Kategorijos/Bloko Pasirinkimas 5 +keybind.block_select_06.name = Kategorijos/Bloko Pasirinkimas 6 +keybind.block_select_07.name = Kategorijos/Bloko Pasirinkimas 7 +keybind.block_select_08.name = Kategorijos/Bloko Pasirinkimas 8 +keybind.block_select_09.name = Kategorijos/Bloko Pasirinkimas 9 +keybind.block_select_10.name = Kategorijos/Bloko Pasirinkimas 10 +keybind.fullscreen.name = Perjungti Pilno Ekrano Režimą +keybind.select.name = Pasirinkti/Šauti +keybind.diagonal_placement.name = Įstrižas Padėjimas +keybind.pick.name = Pasirinkti Bloką +keybind.break_block.name = Išgriauti Bloką +keybind.deselect.name = Panaikinti Pasirinkimą +keybind.shoot.name = Šauti +keybind.zoom.name = Keisti Vaizdo Mastelį +keybind.menu.name = Meniu +keybind.pause.name = Sustabdyti +keybind.pause_building.name = Sustabdyti/Tęsti Statymą +keybind.minimap.name = Mini Žemėlapis +keybind.chat.name = Pakalbiai +keybind.player_list.name = Žaidėjų Sąrašas +keybind.console.name = Konsolė +keybind.rotate.name = Pasukti +keybind.rotateplaced.name = Pasukti Egzistuojantį (Laikyti) +keybind.toggle_menus.name = Perjungti Meniu +keybind.chat_history_prev.name = Pokalbių istorija Ankstesnis +keybind.chat_history_next.name = Pokalbių istorija Pirmyn +keybind.chat_scroll.name = Pokalbių Slinktis +keybind.drop_unit.name = Išmesti Vienetą +keybind.zoom_minimap.name = Keisti Mini Žemėlapio Mastelį +mode.help.title = Modifikacijų Aprašymai +mode.survival.name = Išgyvenimas +mode.survival.description = Normalus režimas. Riboti resursai ir automatinės priešų bangos.\n[gray]Privalomos priešų atsiradimo zonos žemėlapyje. +mode.sandbox.name = Sandbox +mode.sandbox.description = Neriboti resursai ir nėra bangų laikmačio. +mode.editor.name = Redaktorius +mode.pvp.name = PvP +mode.pvp.description = Kovokite su kitais žmonėmsi vietiniame tinkle.\n[gray]Norint žaisti žemėlapyje yra privalomi bent du branduoliai su skirtingomis spalvomis. +mode.attack.name = Puolimas +mode.attack.description = Sunaikinkite priešų branduolį. \n[gray]Norint žaisti žemėlapyje yra reikalingas branduolys su raudona spalva. +mode.custom = Pasirinktinės Taisyklės + +rules.infiniteresources = Neriboti Resursai +rules.reactorexplosions = Reaktorių Sprogimai +rules.wavetimer = Bangų Laikmatis +rules.waves = Bangos +rules.attack = Puolimo Režimas +rules.enemyCheat = Neriboti Kompiuterio (Raudonosios Komandos) Resursai +rules.unitdrops = Vienetų Išmetimai +rules.unitbuildspeedmultiplier = Vienetų Gamybos Greičio Daugiklis +rules.unithealthmultiplier = Vienetų Gyvybių Daugiklis +rules.blockhealthmultiplier = Blokų Gyvybių Daugiklis +rules.playerhealthmultiplier = Žaidėjų Gyvybių Daugiklis +rules.playerdamagemultiplier = Žaidėjų Žalos Daugiklis +rules.unitdamagemultiplier = Vienetų Žalos Daugiklis +rules.enemycorebuildradius = Nestatymo aplink priešų branduolį spindulys:[lightgray] (blokais) +rules.respawntime = Prisikėlimo Laikas:[lightgray] (sek.) +rules.wavespacing = Tarpai Tarp Bangų:[lightgray] (sek.) +rules.buildcostmultiplier = Statymo Kainų Daugiklis +rules.buildspeedmultiplier = Statymo Greičio Daugiklis +rules.waitForWaveToEnd = Laukti, kol pasibaigs banga +rules.dropzoneradius = Išmetimo Zonos Spindulys:[lightgray] (blokais) +rules.respawns = Maks. Prisikėlimų Kiekis Per Bangą +rules.limitedRespawns = Riboti Prisikėlimus +rules.title.waves = Bangos +rules.title.respawns = Prisikėlimai +rules.title.resourcesbuilding = Resursai ir Pastatai +rules.title.player = Žaidėjai +rules.title.enemy = Priešai +rules.title.unit = Vienetai +rules.title.experimental = Eksperimentinis +rules.lighting = Apšvietimas +rules.ambientlight = Aplinkos Šviesa +rules.solarpowermultiplier = Saulės Energijos Daugiklis + +content.item.name = Daiktai +content.liquid.name = Skysčiai +content.unit.name = Vienetai +content.block.name = Blokai +content.mech.name = Mechai +item.copper.name = Varis +item.lead.name = Švinas +item.coal.name = Anglis +item.graphite.name = Grafitas +item.titanium.name = Titanas +item.thorium.name = Toris +item.silicon.name = Silicis +item.plastanium.name = Plastaniumas +item.phase-fabric.name = Fazinė Tekstilė +item.surge-alloy.name = Viršįtampio Lydinys +item.spore-pod.name = Sporų Kokonas +item.sand.name = Smėlis +item.blast-compound.name = Sprogusis Junginys +item.pyratite.name = Piratitas +item.metaglass.name = Meta Stiklas +item.scrap.name = Metalo Laužas +liquid.water.name = Vanduo +liquid.slag.name = Šlakas +liquid.oil.name = Nafta +liquid.cryofluid.name = Krio Skystis +mech.alpha-mech.name = Alpha +mech.alpha-mech.weapon = Sunkusis Repeateris +mech.alpha-mech.ability = Regeneracija +mech.delta-mech.name = Delta +mech.delta-mech.weapon = Arkų Generatorius +mech.delta-mech.ability = Iškrova +mech.tau-mech.name = Tau +mech.tau-mech.weapon = Atstatymo Lazeris +mech.tau-mech.ability = Taisymo Pliūpsnis +mech.omega-mech.name = Omega +mech.omega-mech.weapon = Spečiaus Raketos +mech.omega-mech.ability = Šarvuota Kongfigūracija +mech.dart-ship.name = Dart +mech.dart-ship.weapon = Repeateris +mech.javelin-ship.name = Javelin +mech.javelin-ship.weapon = Sprogstančios Raketos +mech.javelin-ship.ability = Iškrovos Stiprintuvas +mech.trident-ship.name = Trident +mech.trident-ship.weapon = Bombos Įlanka +mech.glaive-ship.name = Glaive +mech.glaive-ship.weapon = Liepsnų Repeateris +item.corestorable = [lightgray]Įmanoma laikyti branduolyje: {0} +item.explosiveness = [lightgray]Sprogstamumas: {0}% +item.flammability = [lightgray]Degumas: {0}% +item.radioactivity = [lightgray]Radioaktyvumas: {0}% +unit.health = [lightgray]Gyvybės: {0} +unit.speed = [lightgray]Greitis: {0} +mech.weapon = [lightgray]Ginklas: {0} +mech.health = [lightgray]Gyvybės: {0} +mech.itemcapacity = [lightgray]Daiktų Talpumas: {0} +mech.minespeed = [lightgray]Kasimo Greitis: {0}% +mech.minepower = [lightgray]Kasimo jėga: {0} +mech.ability = [lightgray]Gebėjimas: {0} +mech.buildspeed = [lightgray]Statymo Greitis: {0}% +liquid.heatcapacity = [lightgray]Karščio Talpumas: {0} +liquid.viscosity = [lightgray]Klampumas: {0} +liquid.temperature = [lightgray]Temperatūra: {0} + +block.sand-boulder.name = Smėlio Riedulys +block.grass.name = Žolė +block.salt.name = Druska +block.saltrocks.name = Druskos Akmenys +block.pebbles.name = Akmenukai +block.tendrils.name = Tendrilės +block.sandrocks.name = Smėlėtos Uolienos +block.spore-pine.name = Sporinė Pušis +block.sporerocks.name = Sporinės Uolienos +block.rock.name = Uolienos +block.snowrock.name = Sniego Uolienos +block.snow-pine.name = Snieginė Pušis +block.shale.name = Skalūnas +block.shale-boulder.name = Skalūno Riedulys +block.moss.name = Samanos +block.shrubs.name = Krūmai +block.spore-moss.name = Sporų Samanos +block.shalerocks.name = Skalūnos Uolienos +block.scrap-wall.name = Laužo Siena +block.scrap-wall-large.name = Didelė Laužo Siena +block.scrap-wall-huge.name = Didžiulė Laužo Siena +block.scrap-wall-gigantic.name = Milžiniška Laužo Siena +block.thruster.name = Thrusteris +block.kiln.name = Krosnis +block.graphite-press.name = Grafito Presas +block.multi-press.name = Multi Presas +block.constructing = {0} [lightgray](Konstrujama) +block.spawn.name = Priešų Atsiradimo Zona +block.core-shard.name = Branduolis: Šerdis +block.core-foundation.name = Branduolys: Pagrindas +block.core-nucleus.name = Branduolys: Centras +block.deepwater.name = Gilus Vanduo +block.water.name = Vanduo +block.tainted-water.name = Užterštas Vanduo +block.darksand-tainted-water.name = Tamsaus Smėlio Užterštas Vanduo +block.tar.name = Derva +block.stone.name = Akmuo +block.sand.name = Smėlis +block.darksand.name = Tamsus Smėlis +block.ice.name = Ledas +block.snow.name = Sniegas +block.craters.name = Krateriai +block.sand-water.name = Smėlio vanduo +block.darksand-water.name = Tamsaus Smėlio Vanduo +block.char.name = Char +block.holostone.name = Holo stone +block.ice-snow.name = Ledinis Sniegas +block.rocks.name = Uolienos +block.icerocks.name = Ledo Uolienos +block.snowrocks.name = Sniego Uolienos +block.dunerocks.name = Kopų Uolienos +block.pine.name = Pušis +block.white-tree-dead.name = Baltas Medis Miręs +block.white-tree.name = Baltas Medis +block.spore-cluster.name = Spore Cluster +block.metal-floor.name = Metalo Sluoksnis 1 +block.metal-floor-2.name = Metalo Sluoksnis 2 +block.metal-floor-3.name = Metalo Sluoksnis 3 +block.metal-floor-5.name = Metalo Sluoksnis 4 +block.metal-floor-damaged.name = Metalo Sluoksnis Pažeistas +block.dark-panel-1.name = Dark Panel 1 +block.dark-panel-2.name = Dark Panel 2 +block.dark-panel-3.name = Dark Panel 3 +block.dark-panel-4.name = Dark Panel 4 +block.dark-panel-5.name = Dark Panel 5 +block.dark-panel-6.name = Dark Panel 6 +block.dark-metal.name = Tamsusis Metalas +block.ignarock.name = Igna Uoliena +block.hotrock.name = Karštoji Uoliena +block.magmarock.name = Magmos Uoliena +block.cliffs.name = Uolos +block.copper-wall.name = Vario Siena +block.copper-wall-large.name = Didelė Vario Siena +block.titanium-wall.name = Titano Siena +block.titanium-wall-large.name = Didelė Titano Siena +block.plastanium-wall.name = Plastaniumo Siena +block.plastanium-wall-large.name = Didelė Plastaniumo Siena +block.phase-wall.name = Fazės Siena +block.phase-wall-large.name = Didelė Fazės Siena +block.thorium-wall.name = Torio Siena +block.thorium-wall-large.name = Didelė Torio Siena +block.door.name = Durys +block.door-large.name = Didelės Durys +block.duo.name = Duo +block.scorch.name = Scorch +block.scatter.name = Scatter +block.hail.name = Hail +block.lancer.name = Lancer +block.conveyor.name = Konvejeris +block.titanium-conveyor.name = Titaninis Konvejeris +block.armored-conveyor.name = Šarvuotas Konvejeris +block.armored-conveyor.description = Juda tokuo pačiu greičiu kaip titaninis konvejeris, tačiau turi daugiau šarvų. Nepriima įeigos iš šonų, išskyrus kitus konvejerius. +block.junction.name = Sandūra +block.router.name = Maršrutizatorius +block.distributor.name = Skirstytuvas +block.sorter.name = Rūšiuotojas +block.inverted-sorter.name = Atbulinis Rūšiuotojas +block.message.name = Žinutė +block.illuminator.name = Šviestuvas +block.illuminator.description = Mažas, kompaktiškas, konfigūruojamas šviesos šaltinis. Reikalinga energija funkcionavimui. +block.overflow-gate.name = Perpildymo Užtvara +block.underflow-gate.name = Neperpildymo Užtvara +block.silicon-smelter.name = Silicio Lydykla +block.phase-weaver.name = Fazės Audėjas +block.pulverizer.name = Pulverizatorius +block.cryofluidmixer.name = Krio Skysčio Maišytojas +block.melter.name = Lydytuvas +block.incinerator.name = Deginimo krosnis +block.spore-press.name = Sporų Presas +block.separator.name = Separatorius +block.coal-centrifuge.name = Anglies Centrifuga +block.power-node.name = Matinimo Mazgas +block.power-node-large.name = Didelis Maitinimo Mazgas +block.surge-tower.name = Viršįtampio Bokštas +block.diode.name = Baterijos Diodas +block.battery.name = Baterija +block.battery-large.name = Didelė Baterija +block.combustion-generator.name = Vidaus Degimo Generatorius +block.turbine-generator.name = Garų Generatorius +block.differential-generator.name = Differential Generator +block.impact-reactor.name = Smūgio Reaktorius +block.mechanical-drill.name = Mechaninis Grąžtas +block.pneumatic-drill.name = Pneumatinis Grąžtas +block.laser-drill.name = Lazerinis Grąžtas +block.water-extractor.name = Vandens Trauktuvas +block.cultivator.name = Kultivatorius +block.dart-mech-pad.name = Alpha Mech Pad +block.delta-mech-pad.name = Delta Mech Pad +block.javelin-ship-pad.name = Javelin Ship Pad +block.trident-ship-pad.name = Trident Ship Pad +block.glaive-ship-pad.name = Glaive Ship Pad +block.omega-mech-pad.name = Omega Mech Pad +block.tau-mech-pad.name = Tau Mech Pad +block.conduit.name = Vamzdis +block.mechanical-pump.name = Mechaninė Pompa +block.item-source.name = Daiktų Šaltinis +block.item-void.name = Daiktų Tuštuma +block.liquid-source.name = Skysčių Šaltinis +block.liquid-void.name = Skysčių Tuštuma +block.power-void.name = Energijos Tuštuma +block.power-source.name = Begalinė Energija +block.unloader.name = Iškroviklis +block.vault.name = Seifas +block.wave.name = Wave +block.swarmer.name = Swarmer +block.salvo.name = Salvo +block.ripple.name = Ripple +block.phase-conveyor.name = Fazinis Konvejeris +block.bridge-conveyor.name = Tiltinis Konvejeris +block.plastanium-compressor.name = Plastaniumo Kompresorius +block.pyratite-mixer.name = Piratito Maišytuvas +block.blast-mixer.name = Sprogiklio Maišytuvas +block.solar-panel.name = Saulės Baterija +block.solar-panel-large.name = Didelė Saulės Baterija +block.oil-extractor.name = Naftos Trauktuvas +block.command-center.name = Komandų Centras +block.draug-factory.name = Draug Miner Drone Factory +block.spirit-factory.name = Spirit Repair Drone Factory +block.phantom-factory.name = Phantom Builder Drone Factory +block.wraith-factory.name = Wraith Fighter Factory +block.ghoul-factory.name = Ghoul Bomber Factory +block.dagger-factory.name = Dagger Mech Factory +block.crawler-factory.name = Crawler Mech Factory +block.titan-factory.name = Titan Mech Factory +block.fortress-factory.name = Fortress Mech Factory +block.revenant-factory.name = Revenant Fighter Factory +block.repair-point.name = Taisymo Taškas +block.pulse-conduit.name = Pulsinis Vamzdis +block.plated-conduit.name = Padengtas Vamzdis +block.phase-conduit.name = Fazinis Vamzdis +block.liquid-router.name = Skysčių Maršrutizatorius +block.liquid-tank.name = Skysčių Talpa +block.liquid-junction.name = Skysčių Sandūra +block.bridge-conduit.name = Tiltinis Vamzdis +block.rotary-pump.name = Rotacinis Siurblys +block.thorium-reactor.name = Torio Reaktorius +block.mass-driver.name = Elektromagnetė Katapulta +block.blast-drill.name = Oro Srovės Grąžtas +block.thermal-pump.name = Terminė Pompa +block.thermal-generator.name = Terminis Generatorius +block.alloy-smelter.name = Alloy Smelter +block.mender.name = Taisytojas +block.mend-projector.name = Taisymo Projektorius +block.surge-wall.name = Viršįtampio Siena +block.surge-wall-large.name = Didelė Viršįtampio Siena +block.cyclone.name = Cyclone +block.fuse.name = Fuse +block.shock-mine.name = Shock Mine +block.overdrive-projector.name = Pagreitintuvas +block.force-projector.name = Jėgos Lauko Projektorius +block.arc.name = Arc +block.rtg-generator.name = RTG Generatorius +block.spectre.name = Spectre +block.meltdown.name = Meltdown +block.container.name = Talpykla +block.launch-pad.name = Paleidimo Aikštelė +block.launch-pad-large.name = Didelė Paleidimo Aikštelė +team.blue.name = mėlyna +team.crux.name = raudona +team.sharded.name = oranžinė +team.orange.name = oranžinė +team.derelict.name = apleista +team.green.name = žalia +team.purple.name = violetinė +unit.spirit.name = Spirit Repair Drone +unit.draug.name = Draug Miner Drone +unit.phantom.name = Phantom Builder Drone +unit.dagger.name = Dagger +unit.crawler.name = Crawler +unit.titan.name = Titanas +unit.ghoul.name = Ghoul Bomber +unit.wraith.name = Wraith Fighter +unit.fortress.name = Fortress +unit.revenant.name = Revenant +unit.eruptor.name = Eruptor +unit.chaos-array.name = Chaos Array +unit.eradicator.name = Eradicator +unit.lich.name = Lich +unit.reaper.name = Reaper +tutorial.next = [lightgray] +tutorial.intro = Jūs įžengėte į [scarlet] Mindustry Pradininką.[]\nNaudokite[accent] [[WASD][] norėdami judėti.\n[accent]Naudoktie vidurinį pelės klavišą[] norėdami pakeisti mastelį.\nPradėkite nuo[accent] Vario kasimo[]. Pajudėkite arčiau jo, tada spauskite ant Vario venos, kuri yra šalia jūsų, norėdami kasti varį.\n\n[accent]{0}/{1} copper +tutorial.intro.mobile = Jūs įžengėte į [scarlet] Mindustry Pradininką.[]\nBraukite per ekraną norėdami judėti.\n[accent]Braukite dviemis pirštais priešingomis kryptimis[] norėdami keisti mastelį.\nPradėkite nuo[accent] Vario kasimo[]. Pradėkite nuo[accent] Vario kasimo[]. Pajudėkite arčiau jo, tada spauskite ant Vario venos, kuri yra šalia jūsų, norėdami kasti varį.\n\n[accent]{0}/{1} copper +tutorial.drill = Rankinis kasimas yra neefektyvus.\n[accent]Grąžtai[] gali gręžti automatiškai.\nPaspauskite grąžtų skirtuką esantį apačioje dešiniajame kampe.\nPasirinkite[accent] mechaninį grąžtą[]. Pastatykite jį ant Vario venos.\nTaip pat galite pasirinkti grąžtą paspaudę[accent][[2][] ir [accent][[1][] vienu metu, nesvarbu koks skirtukas yra įjungtas.\n[accent]Paspauskite dešinį pelės klavišą[] norėdami sustabydi statymą. +tutorial.drill.mobile = Rankinis kasimas yra neefektyvus.\n[accent]Grąžtai[] gali gręžti automatiškai.\nPaspauskite grąžtų skirtuką esantį apačioje dešiniajame kampe.\nPasirinkite[accent] mechaninį grąžtą[].\nPastatykite jį paspausdami ant Vario gyslos, tada paspauskite[accent] varnelę[] esančią apačioje norint priimti pasirinkimą.\nSpauskite[accent] X mygtuką[] norėdami atšaukti pasirinkimą. +tutorial.blockinfo = Kievienas blokas turi skirtingas statistikas. Kiekvienas grąžtas gali kasti tam tikras rūdas\nNorėdami patirkinti daikto informaciją ir statistikas[accent] spauskite "?" mygtuką, kai yra pasirinktas blokas statybų menu.[]\n\n[accent]Dabar apžiūrėkite Mechaninio Grąžto statistikas.[] +tutorial.conveyor = [accent]Kovejeriai[] yra naudojami medžiagų transportavimui į branduolį.\nNutieskite konvejerių linją nuo grąžto iki branduolio.\n[accent]Laikykite paspaudę pelytės kairiajį klavišą norėdami padėti konvejerius linija.[]\nLaikykite paspaudę[accent] CTRL[] ir pelytės kairiajį klavišą norėdami padėti konvejerius įstrižai.\nNaudokite pelės ratuką blokų pasukimui prieš juos dedant.\n[accent]Padėkite 2 kovejerius su linijų įrankiu, tada pristatykite medžiagas į branduolį. +tutorial.conveyor.mobile = [accent]Kovejeriai[] yra naudojami medžiagų transportavimui į branduolį.\nNutieskite konvejerių linją nuo grąžto iki branduolio.\n[accent]Padėkite kovejerius linija paspaudus kelioms sekundėms[] ir tempiant bet kuria kryptimi.\n\n[accent]Padėkite 2 kovejerius su linijų įrankiu, tada pristatykite medžiagas į branduolį. +tutorial.turret = Kai medžiagos įeina į branduolį, jos gali būti naudojamos statyboms.\nPrisiminkite, jog ne visos medžiagos gali būti naudojamos statyboms.\nMedžiagos, kurios yra nenaudojamos statyboms, pvz.[accent] anglis[] ar[accent] metalo laužas[], negali įeiti į branduolį.\nTuri būti naudojamos apsaugų struktūros norint apsisaugoti nuo [lightgray] priešo[].\nPastatykite[accent] duo bokštą[] netoliese bazės. +tutorial.drillturret = Duo bokštams reikalingi[accent] Vario šoviniai[] šaudymui.\nPadėkite grąžtą netoliese bokšto.\nNuveskite konvejerius į bokštą norint tiekti Varį bokštui šoviniams.\n\n[accent]Pristatyta šovinių: 0/1 +tutorial.pause = Vykstant kovai galite[accent] sustabdyti žaidimą.[]\nTaip pat galite įtraukti pastatus į statybų eilę.\n\n[accent]Paspauskite tarpą norėdami sustabdyti. +tutorial.pause.mobile = Vykstant kovai galite[accent] sustabdyti žaidimą.[]\nTaip pat galite įtraukti pastatus į statybų eilę.\n\n[accent]Paspauskite mygtuką esanti viršuje kairiajame kampe esantį mygtuką norėdami sustabdyti. +tutorial.unpause = Dabar paspauskite tarpą dar kartą pratęsimui. +tutorial.unpause.mobile = Dabar paspauskite mygtuką dar kartą pratęsimui. +tutorial.breaking = Blokai dažnai turi būti panainkinti.\n[accent]Laikyte dešinį pelės klavišą ir tempkite pelę[] norėdami sunaikinti visus pasirinktus objektus.[]\n\n[accent]Sunaikinkite visus metalo laužo blokus esančius branduolio kairėje naudojant pasirinkimą. +tutorial.breaking.mobile = Blokai dažnai turi būti panainkinti.\n[accent]Pasirinkite dekonstrukcijos režimą[], tada spauskite ant bloko norint pradėti graitu.\nSunaikite zoną palaikę paspaudę kelioms sekundėms[] ir tempdami bet kuria kryptimi.\nPaspauskite varnelę norėdami priimti sunaikinimą\n\n[accent]Sunaikinkite visus metalo laužo blokus esančius branduolio kairėje naudojant pasirinkimą. +tutorial.withdraw = Kai kuriose situacijose reikia paimti medžiagas reikia tiesiogiai iš blokų.\nNorint padaryti tai [accent]paspauskite ant bloko[] su medžiagomis jame, po to [accent]paspauskite ant medžiagos[] esančios inventoriuje.\nDaugiau medžiagų galima pasiimti [accent]laikant paspaudus[].\n\n[accent]Pasiimkite šiek tiek Vario iš branduolio.[] +tutorial.deposit = Įdėkite medžiagas į blokus tempdami nuo savo erdvėlaivio iki bloko.\n\n[accent]Padėkite Varį atgal į branduolį[] +tutorial.waves = Ateina[lightgray] priešai[].\n\nGinkite savo branduolį dvi bangas.[accent] Paspauskite dešinį pelės klavišą[] norėdami šaudyti.\nPastatykite daugiau bokštų ir grąžtų. Iškaskite daugiau Vario. +tutorial.waves.mobile = Ateina [lightgray] priešai[].\n\nGinkite savo branduolį dvi bangas. Jūsų erdvėlaivis pradės šaudyti automatiškai.\nPastatykite daugiau bokštų ir grąžtų. Iškaskite daugiau Vario. +tutorial.launch = Kai pasieksite tam tikrą bangą, galėsite[accent] paleisti branduolį[] palikdami už savęs gynybas už savęs[accent] ir gaudami visus resursus, kurie yra branduolyje.[]\nŠie gauti resursai gali būti naudojami išrasti naujas technologijas.\n\n[accent]Paspauskite paleidimo mygtuką. + +item.copper.description = Paprasčiausia struktūrinė medžiaga. Plačiai naudojama visų tipų blokams. +item.lead.description = Pagrindinė pradinė medžiaga. Plačiai naudojama elektronikoje ir skysčių transportacijos blokams. +item.metaglass.description = Itin kietas stiklo junginys. Plačiai naudojamas skysčių gabenimui ir laikymui. +item.graphite.description = Mineralizuota anglis, kuri yra naudojama amunicijai ir elektronikos komponentams. +item.sand.description = Dažnai sutinkama medžiaga, kuri yra plačiai naudojama lydymui. +item.coal.description = Suakmenėjusios augalinės medžiagos, susiformavusios dar prieš sėjos įvykį. Plačiai naudojama kurui ir resursų gamybai. +item.titanium.description = Retas ir itin lengvas metalas. Plačiai naudojamas skysčių gabenime, grąžtams ir lėktuvams. +item.thorium.description = Tankus bei radioaktyvus metalas naudojamas struktūriniam palaikymui ir branduoliniam kurui. +item.scrap.description = Senų struktūrų ir vienetų liekanos. Sudėtyje yra įvairių metalų pėdsakų. +item.silicon.description = Ypač naudingas puslaidininkas. Naudojama saulės baterijose, sudėtingose elektronikose ir taikinių sekimo amunicijoje. +item.plastanium.description = Lengva, plastiška medžiaga naudojama pažangiems lėktuvams ir skilančioje aminucijoje. +item.phase-fabric.description = Beveik besvorė medžiaga naudojama pažangesniuoje elektronikoje ir savitaisėse technologijose. +item.surge-alloy.description = Pažangus lydinys su unikaliomis elektrinėmis savybėmis. +item.spore-pod.description = Sintetinių sporų kokonas, susintetintos iš atmosferos industriniam naudojimui. Naudojama konversijai į naftą, sprogmenis ir kurą. +item.blast-compound.description = Nestabilus junginys naudojamas bomboms ir sprogmenims. Susintetintas iš sporų kokonų ir kitų lakiųjų medžiagų. Nerekomenduojama naudoti kaip kurą. +item.pyratite.description = Ypač degi medžiaga naudojama uždegantiems ginklams. +liquid.water.description = Naudingiausias skystis. Dažniausiai naudojamas įrenginių aušinimui ir atliekų perdirbimui. +liquid.slag.description = Įvairių rūšių metalai susilydę tarpusavyję. Gali būti atskirti į sudedamasias medžiagas arba išpurkšti ant priešų. +liquid.oil.description = Skystis, naudojamas pažangių medžiagų gamyboje. Gali būti konvertuota į anglį arba gali būti išpurkšta ir padegta. +liquid.cryofluid.description = Inertiškas, neėsdinantis skystis gaminamas iš vandens ir titano. Atlaiko ypač didelį karštį. Plačiai naudojamas kaip aušinimo skystis. +mech.alpha-mech.description = The standard control mech. Based on a Dagger unit, with upgraded armor and building capabilities. Has more damage output than a Dart ship. +mech.delta-mech.description = A fast, lightly-armored mech made for hit-and-run attacks. Does little damage against structures, but can kill large groups of enemy units very quickly with its arc lightning weapons. +mech.tau-mech.description = The support mech. Heals allied blocks by shooting at them. Can heal allies in a radius with its repair ability. +mech.omega-mech.description = A bulky and well-armored mech, made for front-line assaults. Its armor can block up to 90% of incoming damage. +mech.dart-ship.description = The standard control ship. Fast mining speed. Reasonably fast and light, but has little offensive capability. +mech.javelin-ship.description = A hit-and-run strike ship. While initially slow, it can accelerate to great speeds and fly by enemy outposts, dealing large amounts of damage with its lightning and missiles. +mech.trident-ship.description = A heavy bomber, built for construction and destroying enemy fortifications. Reasonably well armored. +mech.glaive-ship.description = A large, well-armored gunship. Equipped with an incendiary repeater. Highly maneuverable. +unit.draug.description = Primityvus kasimo dronas. Pigus. Panaudojamas. Automatiškai kasa netoliese esantį varį ir šviną. Pristato iškastus resursus į artimiausią branduolį. +unit.spirit.description = Modifikuotas draug dronas, skirtas taisyti, o ne kasti. Automatiškai taiso zonoje esančiu sugadintus blokus. +unit.phantom.description = Pažengęs dronų vienetas. Seka žaidėjus. Padeda statybose. +unit.dagger.description = Paprasčiausias žemės vienetas. Pigus pagaminti. Galingas, kai naudojamas būriais. +unit.crawler.description = Antžeminis vienetas, kurį sudaro rėmas ir ant viršaus užrišti sprogmenys. Nelabai patvarus. Sprogsta kontaktuodamas su priešais. +unit.titan.description = Pažengęs, šarvuotas antžeminis vienetas. Puola žemę ir orą. Apginkluotas dvejais miniatiūriniais "Scorch" klasės liepsnosvaidžiais. +unit.fortress.description = Sunkiosios artilerijos vienetas. Apginkluotas dvejomis modifikuotomis "Hail" tipo patrankomis priešo struktūrų ir pajėgų užpuolimui iš tolimo atstumo. +unit.eruptor.description = Sunkusis vienetas skirtas nugriauti struktūras. Šaudo šlako srovėmis į priešo įtvirtinimus jas išlydydamas ir uždegdamas degias medžiagas. +unit.wraith.description = Greitas, smok ir bėk vienetas. Taikosi į energijos generatorius. +unit.ghoul.description = Sunkusis bombonešis. Pereina per priešo struktūras taikydamasis į kritinę infrastruktūrą. +unit.revenant.description = Sunkus, skraidantis raketų masyvas. +block.message.description = Laiko žinutę. Naudojama komunikacijai tarp sąjungininkų. +block.graphite-press.description = Sukompresuoja anglies gabalus į grynas grafito plokštes. +block.multi-press.description = Patobulinta grafito preso versija. Pasitelkia vandenį ir energiją greitam ir efektyviam anglies apdirbimui. +block.silicon-smelter.description = Rekuoja smėlį su gryna anglimi. Gamina silicį. +block.kiln.description = Sulydo smėlį ir stiklą į junginį žinomą kaip meta stiklas. Veikimui reikalinga nedaug energijos. +block.plastanium-compressor.description = Gamina plastaniumą iš naftos ir titano. +block.phase-weaver.description = Susintetina fazinį audinį iš radioaktyvaus torio ir smėlio. Veikimui reikalingas didžiulis kiekis energijos. +block.alloy-smelter.description = Sumaišo titana, šviną, silicį ir vari į viršįtampį lydinį. +block.cryofluidmixer.description = Maišo vandenį ir smulkias titano dulkes į krio skystį. Būtinas torio reaktoriaus naudojimui. +block.blast-mixer.description = Susmulkina ir sumaišo sporas su piratitu ir pagamina sprogųjį junginį. +block.pyratite-mixer.description = Sumaišo anglį, šviną ir smėlį į itin degų piratitą. +block.melter.description = Išlydo metalo laužą į šlaką tolesniam apdorojimui arba naudojimui wave bokštuose. +block.separator.description = Išskirsto šlaką į mineralinius komponentus. Atiduoda atvėsintą rezultatą. +block.spore-press.description = Veikiant aukštam slėgiui sukompresuojami sporų kokonai ir susintetinami į naftą. +block.pulverizer.description = Susmulkina metalo laužą į smulkų smėlį. +block.coal-centrifuge.description = Sukietina naftą į anglies gabalus. +block.incinerator.description = Išgarina bet kokias medžiagas ar skysčius, kuriuos gauna. +block.power-void.description = Sunaikina visą įeinančią energiją. Tik Sandbox režime. +block.power-source.description = Išduoda neribotą kiekį energijos. Tik Sandbox režime. +block.item-source.description = Išduoda neribotą kiekį medžiagų. Tik Sandbox režime. +block.item-void.description = Sunaikina visas įeinančias medžiagas. Tik Sandbox režime. +block.liquid-source.description = Išduoda neribotą kiekį skysčių. Tik Sandbox režime. +block.liquid-void.description = Sunaikina visus įeinančius skysčius. Tik Sandbox režime. +block.copper-wall.description = Pigus gynybinis blokas.\nNaudingas ginant branduolį ir bokštus pirmose bangose. +block.copper-wall-large.description = Pigus gynybinis blokas.\nNaudingas ginant branduolį ir bokštus pirmose bangose.\nUžima kelias vietas. +block.titanium-wall.description = Vidutinio stiprumo gynybinis blokas.\nUžtikrina vidutinę apsaugą nuo priešų. +block.titanium-wall-large.description = Vidutinio stiprumo gynybinis blokas.\nUžtikrina vidutinę apsaugą nuo priešų.\nUžima kelias vietas. +block.plastanium-wall.description = Specialus sienų tipas, kuris sugeria elektrines arkas ir blokuoja automatius energijos mazgų prisijungimus. +block.plastanium-wall-large.description = Specialus sienų tipas, kuris sugeria elektrines arkas ir blokuoja automatius energijos mazgų prisijungimus.\nUžima kelias vietas.. +block.thorium-wall.description = Stiprus gynybinis blokas.\Gera apsauga nuo priešų. +block.thorium-wall-large.description = Stiprus gynybinis blokas.\nGera apsauga nuo priešų.\nUžima kelias vietas. +block.phase-wall.description = Siena padengta specialiu faziniu pagrindu sukurtu junginiu. Atmuša daugumą šovinių. +block.phase-wall-large.description = Siena padengta specialiu faziniu pagrindu sukurtu junginiu. Atmuša daugumą šovinių.\nUžima kelias vietas. +block.surge-wall.description = Ypač patvarus gynybinis blokas.\nKaupia krūvį kontakto metu su šoviniu atsitiktinai jį išleisdamas. +block.surge-wall-large.description = Ypač patvarus gynybinis blokas.\nKaupia krūvį kontakto metu su šoviniu atsitiktinai jį išleisdamas.\nUžima kelias vietas. +block.door.description = Mažos durys. Gali būti atidarytos ir uždarytos paspaudus. +block.door-large.description = Didelės durys. Gali būti atidarytos ir uždarytos paspaudus.\nUžima kelias vietas. +block.mender.description = Periodiškai taiso blokus pasiekiamame plote. Palaiko gynybines konstrukcijas pataisytas tarp bangu.\nPapildomai naudoja silicį atstumo ir efektyvumo padidinimui. +block.mend-projector.description = Patobulinta taisytojo versija. Periodiškai taiso blokus pasiekiamame plote.\nPapildomai naudoja fazinę tekstilę atstumo ir efektyvumo padidinimui. +block.overdrive-projector.description = Paspartina aplinkinius pastatus.\nPapildomai naudoja fazinę tekstilę atstumo ir efektyvumo padidinimui. +block.force-projector.description = Sukuria šešiakampį jėgos lauką aplink save apsaugodamas aplinkinius pastatus nuo žalos.\nPerkaista, jei atlaiko daug žalos. Papildomai naudoja aušinimo skystį, kad neperkaistų. Fazinė tekstilė gali būti naudojama jėgos lauko dydžiui padidinti. +block.shock-mine.description = Sužaloja priešus užlipančius ant minos. Beveik nematoma priešų. +block.conveyor.description = Paprasčiausias daiktų gabenimo blokas. Gabena daiktus į priekį ir automatiškai juos įdeda į blokus. Pasukamas. +block.titanium-conveyor.description = Pažangus daiktų gabenimo blokas. Gabena daiktus greičiau negu paprastas konvejeris. +block.junction.description = Veikia kaip tiltas dvejoms besikertančioms konvejerio juostoms. Naudingas situacijose, kai du kovejeriai neša skirtingas medžiagas į skirtingas vietas. +block.bridge-conveyor.description = Pažangus daiktų gabenimo blokas. Leidžia daiktų gabenimą per tris blokus, nesvarbu kas yra tuose trejuose yra. +block.phase-conveyor.description = Pažangus daiktų gabenimo blokas. Naudoja energiją daiktų teleportacijai į prijungtą fazinį kovejerį per kelis blokus. +block.sorter.description = Rūšiuoja daiktus. Jei daiktas atitinka pasirinkimą, jam leidžiama keliauti pirmyn. Priešingai, daiktas siunčiamas į kairę ir dešinę. +block.inverted-sorter.description = Apdoroja daiktus kaip paprastas rūšiuotuvas, tačiau pasirinktas daiktas siunčiamas į kairę arba dešinę, o kita į priekį. +block.router.description = Priima daiktus, tada paskirsto daiktus į tris kryptis lygiomis dalimis. Naudingas paskirstant medžiagas iš vieno šaltinio į daugiau jungčių.\n\n[scarlet]Niekada nenaudokite prie pat gamyklos, nes iš gamyklos išeinantis produktas gali užstrigti maršrutizatoriuje.[] +block.distributor.description = Pažangesnis maršrutizatorius. Paskirsto daiktus į septynias kryptis lygiomis dalimis. +block.overflow-gate.description = Išveda medžiagas į kairę ir dešinę, jei priekis yra užblokuotas. +block.underflow-gate.description = Veikia priešingai nei perpildymo užtvara. Išveda medžiagas į priekį, jei kairė ir dešinė yra užblokuota. +block.mass-driver.description = Tobuliausias daiktų gabenimo blokas. Surenka daiktus ir šauna juos į kitą elektromagnetinę katapultą didelias atstumais. Veikimui reikalauja energijos. +block.mechanical-pump.description = pigi pompa su lėta išeiga, bet nenaudoja energijos. +block.rotary-pump.description = Pažangesnė pompa. Pumpuoja daugiau skysčių, bet reikalauja energijos. +block.thermal-pump.description = Tobuliausia pompa. +block.conduit.description = Paprastas vandens gabenimo blokas. Gabena skysčius į priekį. Naudojamas kartu su siurbliais ir kitais vamzdžiais. +block.pulse-conduit.description = Pažangus vandens gabenimo blokas. Gabena skysčius greičiau ir talpina daugiau skysčių negu standartinis vamzdis. +block.plated-conduit.description = Gabena skysčius tokiuo pačiu greičiu kaip pulsinis vamzdis, tačiau turi daugiau šarvų. Nepriima skysčių iš šonų, išskyrus kitus vamzdžius.\nMažiau nutekina skysčių. +block.liquid-router.description = Priima skysčius iš vienos krypties ir paskirsto juos į tris skirtingas kryptis vienodai. Gali laikyti tam tikrą kiekį skysčių. Naudingas paskirstant sksyčius iš vieno šaltinio į daugiau jungčių. +block.liquid-tank.description = Laiko didelį kiekį skysčių. Naudokite kūriant buferius situacijose su nepastoviu skysčių suvartojimu arba kaip apsaugą aušinant svarbius blokus. +block.liquid-junction.description = Veikia kaip tiltas dvejiems besikertantiems vamzdžiams. Naudingas situacijose, kai du skirtingi vamzdžiai neša skirtingus skysčius į skirtingas vietas. +block.bridge-conduit.description = Pažangus skysčių gabenimo blokas. Leidžia skysčių gabenimą per tris blokus, nesvarbu kas yra tuose trejuose yra. +block.phase-conduit.description = Pažangus skysčių gabenimo blokas. Naudoja energiją skysčių teleportacijai į prijungtą fazinį vamzdį per kelis blokus. +block.power-node.description = Perneša energiją į prijungtus mazgus. Mazgas gaus energiją iš gretimų blokų ir teiks gretimiems blokas. +block.power-node-large.description = Pažangus energijos mazgas su didesnius atstumu. +block.surge-tower.description = Ypač didelį atstumą turintis energijos mazgas su mažiau galimų jungčių. +block.diode.description = Baterijos energija gali eiti per šį bloką tik viena kryptimi, tačiau tik kai kita pusė turi mažiau sukauptos energijos. +block.battery.description = Laiko enegiją kaip buferis, kai reikalinga papildoma energija. Atiduoda energiją kai yra energijos deficitas. +block.battery-large.description = Laiko daugiau energijos negu paprasta baterija. +block.combustion-generator.description = Gamina energiją degindamas degias medžiagas kaip anglis. +block.thermal-generator.description = Gamina energiją, kai pastatytas karštose vietose. +block.turbine-generator.description = Pažangesnis vidaus degimo generatorius. Efektyvesnis, bet papildomai reikalauja vandens sukurti garams. +block.differential-generator.description = Gamina didelį kiekį energijos. Pasitelkia temperatūrų skirtumą tarp krio skysčio ir degančio piratito. +block.rtg-generator.description = Paprastas, patikimas generatorius. Naudoja yrančių junginių karštį energijos gamybai. +block.solar-panel.description = Suteikia mažą kiekį energijos iš saulės. +block.solar-panel-large.description = Žymiai efektyvesnė paprastos saulės baterijos versija. +block.thorium-reactor.description = Gamina didelius kiekius energijos iš torio. Reikalingas pastovus aušinimas. Gali įvykti didelis sprogimas, jei nebus pakankamai aušinama. Energijos išeiga priklauso nuo pilnumo, bazinis energijos kiekis yra generuojamas, kai reaktoriaus torio talpa yra pilna. +block.impact-reactor.description = Pažangus generatorius, galintis sukurti milžinišką kiekį energijos esant maksimaliam efektyvumui. Reikalinga energija paleidimui. +block.mechanical-drill.description = Pigus grąžtas. When placed on appropriate tiles, outputs items at a slow pace indefinitely. Only capable of mining basic resources. +block.pneumatic-drill.description = Pagerintas grąžtas, galintis kasti titaną. Kasa greičiau negu mechaninis grąžtas. +block.laser-drill.description = Dėl lazerio technologijų leidžia kasti medžiagas greičiau, bet reikalauja energijos. Pajėgus kasti torį. +block.blast-drill.description = Tobuliausias Grąžtas. Reikalauja didelio kiekio energijos. +block.water-extractor.description = Išgauna vandenį. Naudojamas kur nėra paviršinio vandens. +block.cultivator.description = Atmosferoje išaugina mažus sporų kiekius į industrijai paruoštus sporų kokonus. +block.oil-extractor.description = Naudoja didelį kiekį energijos, smėlio ir vandens naftos gamybai. +block.core-shard.description = Pirma branduolio kapsulės iteracija. Kai sunaikintas, prarandami visi kontaktai su zona. Neleiskite tam nutikti. +block.core-foundation.description = Antra branduolio kapsulės iteracija. Geriau šarvuota. Laiko daugiau resursų. +block.core-nucleus.description = Trečia ir paskutinė branduolio kapsulės iteracija. Itin gerai apsaugota. Laiko didelius kiekius resursų. +block.vault.description = Laiko didelį kiekį skirtingų rūšių medžiagų. Gali būti naudojamas iškroviklis daiktų paėmimui iš seifo. +block.container.description = Laiko nedidelį kiekį skirtingų rūšių medžiagų. Gali būti naudojamas iškroviklis daiktų paėmimui iš talpyklos. +block.unloader.description = Paima resursus iš gretimų ne gabenimui skirtų pastatų. Paimamos medžiagos rūšis gali būti pakeista paspaudus ant iškroviklio. +block.launch-pad.description = Paleidžia daiktų paketus be branduolio paleidimo. +block.launch-pad-large.description = Patobulinta paleidimo aikštelės versija. Laiko daugiau resursų. Gali būti paleidžiama dažniau. +block.duo.description = Mažas ir pigus bokštas. Naudingas prieš antžeminius vienetus. +block.scatter.description = Pagrindinis bokštas skirtas kovai su oro pajėgomis. Šaudo švino arba metalo laužo gabalais į priešus. +block.scorch.description = Degina visus netoliese esančius priešus. Itin efektyvus artimame nuotolyje. +block.hail.description = Mažas, didelio atstumo artilerijos bokštas. +block.wave.description = Vidutinio didžio bokštas. Šaudo skysčio srautus į priešus. Automatiškai užgesina ugnį, jei naudojmas vanduo. +block.lancer.description = Vidutinio didžio lazerinis bokštas skirtas kovai su antžeminėmis pajėgomis. Užsikrauna ir šaudo galingus energijos spindulius. +block.arc.description = Mažas artimojo nuotolio elektros bokštas. Šaudo elektrines arkas į priešus. +block.swarmer.description = Vidutinio didžio raketsvaidis. Puola, tiek žemę, tiek orą. Šaudo taikinius sekančias raketas. +block.salvo.description = Didelis, pažangesnė Duo bokšto versija. Šaudo šovinių salvas į priešus. +block.fuse.description = Didelis, artimojo nuotolio energijos bokštas. Šaudo tris prasiskverbiančius spindulius. +block.ripple.description = Itin galingas artilerijos bokštas. Dideliais atstumais šaudo būrius artilerijos šovinius į priešus. +block.cyclone.description = Didelis bokštas puolantis, tiek žemę, tiek orą. Šaudo sprogstančius šovinius į priešus. +block.spectre.description = Milžiniškas dvivamzdis bokštas. Šaudo didelius, kiaurai per šarvus einančius šovinius į taikinius esančius ant žemės ir ore. +block.meltdown.description = Milžiniška lazerinė patranka. Užsikrauna ir šaudo lazerinius spindulius į aplinkinius priešus. Veikimui reikalingas aušinimo skystis. +block.command-center.description = Išduoda judėjimo komandas sąjungininkų vienetams visame žemėlapyje.\nPriverčia vienetus susitelkti, pulti priešų branduolį ir pasitraukti iki branduolio/vientų gamyklos. Kai nėra priešų branduolio, vienetai būna sargyboje, kai nustatyas puolimas. +block.draug-factory.description = Gamina kasimo dronus. +block.spirit-factory.description = Gamina pastatus taisančius dronus. +block.phantom-factory.description = Gamina pažengusius statybų donus +block.wraith-factory.description = Gamina greitus, smok-ir-bėk vienetus. +block.ghoul-factory.description = Gamina sunkiuosius bombonešius. +block.revenant-factory.description = Gamina sunkiuosius vienetus su raketomis. +block.dagger-factory.description = Gamina paprastus antžeminius vienetus. +block.crawler-factory.description = Gamian greitus spietinius susisprogdinančius vienetus. +block.titan-factory.description = Gamina pažangesnius antžeminius vienetus. +block.fortress-factory.description = Gamina antžeminius sunkiosios artilerijos vienetus. +block.repair-point.description = Pastoviai gydo artimiausius netoliese esančius vienetus. +block.dart-mech-pad.description = Leidžia transformaciją į paprastą puolimo robotą.\nPanaudokite paspaudę stovėdami ant šio pastato. +block.delta-mech-pad.description = Leidžia transformaciją į lengvai šarvuotą smok-ir-bėk robota.\nPanaudokite paspaudę stovėdami ant šio pastato. +block.tau-mech-pad.description = PLeidžia transformaciją į pažangų taisymo robotą.\nPanaudokite paspaudę stovėdami ant šio pastato. +block.omega-mech-pad.description = Leidžia transformaciją į sunkiai šarvuotą raketinį robotą.\nPanaudokite paspaudę stovėdami ant šio pastato. +block.javelin-ship-pad.description = Leidžia transformaciją į greitą, lengvai šarvuotą interceptor'ių.\nPanaudokite paspaudę stovėdami ant šio pastato. +block.trident-ship-pad.description = Leidžia transformaciją į sunkųjį palaikymo bombonešį.\nPanaudokite paspaudę stovėdami ant šio pastato. +block.glaive-ship-pad.description = Leidžia transformaciją į didelį, gerai šarvuotą ginkluotą erdvėlaivį.\nPanaudokite paspaudę stovėdami ant šio pastato. From c59a3116adef9b653d4c47a1b2630304cd937756 Mon Sep 17 00:00:00 2001 From: Anuken Date: Sun, 1 Mar 2020 12:34:01 -0500 Subject: [PATCH 28/62] Better JNI error checking (**needs recompilation**) --- desktop/src/mindustry/desktop/DesktopLauncher.java | 11 ++++++----- gradle.properties | 2 +- 2 files changed, 7 insertions(+), 6 deletions(-) diff --git a/desktop/src/mindustry/desktop/DesktopLauncher.java b/desktop/src/mindustry/desktop/DesktopLauncher.java index 88a388f3b3..925a77aefb 100644 --- a/desktop/src/mindustry/desktop/DesktopLauncher.java +++ b/desktop/src/mindustry/desktop/DesktopLauncher.java @@ -3,6 +3,7 @@ package mindustry.desktop; import arc.*; import arc.Files.*; import arc.backend.sdl.*; +import arc.backend.sdl.jni.*; import arc.files.*; import arc.func.*; import arc.math.*; @@ -11,7 +12,6 @@ import arc.util.*; import arc.util.serialization.*; import club.minnced.discord.rpc.*; import com.codedisaster.steamworks.*; -import io.anuke.arc.backends.sdl.jni.*; import mindustry.*; import mindustry.core.GameState.*; import mindustry.core.*; @@ -181,13 +181,14 @@ public class DesktopLauncher extends ClientLauncher{ Cons dialog = Runnable::run; boolean badGPU = false; - if(e.getMessage() != null && (e.getMessage().contains("Couldn't create window") || e.getMessage().contains("OpenGL 2.0 or higher") || e.getMessage().toLowerCase().contains("pixel format"))){ + if(e.getMessage() != null && (e.getMessage().contains("Couldn't create window") || + e.getMessage().contains("OpenGL 2.0 or higher") || e.getMessage().toLowerCase().contains("pixel format") || e.getMessage().contains("GLEW"))){ dialog.get(() -> message( e.getMessage().contains("Couldn't create window") ? "A graphics initialization error has occured! Try to update your graphics drivers:\n" + e.getMessage() : - "Your graphics card does not support OpenGL 2.0!\n" + - "Try to update your graphics drivers.\n\n" + - "(If that doesn't work, your computer just doesn't support Mindustry.)")); + "Your graphics card does not support OpenGL 2.0 with the framebuffer_object extension!\n" + + "Try to update your graphics drivers. If this doesn't work, your computer may not support Mindustry.\n\n" + + "Full message: " + e.getMessage())); badGPU = true; } diff --git a/gradle.properties b/gradle.properties index c20f31f7e3..3890e6056f 100644 --- a/gradle.properties +++ b/gradle.properties @@ -1,3 +1,3 @@ org.gradle.daemon=true org.gradle.jvmargs=-Xms256m -Xmx1024m -archash=bff072e2d671c74a32b41353125c2aa6ba8c0314 +archash=66e5566de0832e721ea552ccd31f0febfb6233d7 From ab7e840eeed7103f7ce0efa498739da47dc396ec Mon Sep 17 00:00:00 2001 From: Anuken Date: Sun, 1 Mar 2020 16:20:42 -0500 Subject: [PATCH 29/62] Cleanup --- core/src/mindustry/core/Renderer.java | 2 +- gradle.properties | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/core/src/mindustry/core/Renderer.java b/core/src/mindustry/core/Renderer.java index 79c7c4f9a3..37806c1290 100644 --- a/core/src/mindustry/core/Renderer.java +++ b/core/src/mindustry/core/Renderer.java @@ -441,7 +441,7 @@ public class Renderer implements ApplicationListener{ } buffer.end(); Pixmap fullPixmap = new Pixmap(w, h, Pixmap.Format.RGBA8888); - BufferUtils.copy(lines, 0, fullPixmap.getPixels(), lines.length); + Buffers.copy(lines, 0, fullPixmap.getPixels(), lines.length); Fi file = screenshotDirectory.child("screenshot-" + Time.millis() + ".png"); PixmapIO.writePNG(file, fullPixmap); fullPixmap.dispose(); diff --git a/gradle.properties b/gradle.properties index 3890e6056f..dcfb37704f 100644 --- a/gradle.properties +++ b/gradle.properties @@ -1,3 +1,3 @@ org.gradle.daemon=true org.gradle.jvmargs=-Xms256m -Xmx1024m -archash=66e5566de0832e721ea552ccd31f0febfb6233d7 +archash=2bdb909aed7b2683ad2dca3c7970890c603dfbaf From 7d84300c311aa8f9e94abe683be468689cea0d48 Mon Sep 17 00:00:00 2001 From: Anuken Date: Sun, 1 Mar 2020 16:22:38 -0500 Subject: [PATCH 30/62] Updated arc --- core/src/mindustry/core/Renderer.java | 1 - gradle.properties | 2 +- 2 files changed, 1 insertion(+), 2 deletions(-) diff --git a/core/src/mindustry/core/Renderer.java b/core/src/mindustry/core/Renderer.java index 37806c1290..d49666b7e5 100644 --- a/core/src/mindustry/core/Renderer.java +++ b/core/src/mindustry/core/Renderer.java @@ -446,7 +446,6 @@ public class Renderer implements ApplicationListener{ PixmapIO.writePNG(file, fullPixmap); fullPixmap.dispose(); ui.showInfoFade(Core.bundle.format("screenshot", file.toString())); - buffer.dispose(); } diff --git a/gradle.properties b/gradle.properties index dcfb37704f..97e3fc296e 100644 --- a/gradle.properties +++ b/gradle.properties @@ -1,3 +1,3 @@ org.gradle.daemon=true org.gradle.jvmargs=-Xms256m -Xmx1024m -archash=2bdb909aed7b2683ad2dca3c7970890c603dfbaf +archash=8832704de8efe141f67ba5a509abb7fe8c10ae09 From c3a790bfd27199f781104284ce7f2ef65ce9919a Mon Sep 17 00:00:00 2001 From: Anuken Date: Sun, 1 Mar 2020 16:29:04 -0500 Subject: [PATCH 31/62] 2 --- core/src/mindustry/core/Renderer.java | 1 + gradle.properties | 2 +- 2 files changed, 2 insertions(+), 1 deletion(-) diff --git a/core/src/mindustry/core/Renderer.java b/core/src/mindustry/core/Renderer.java index d49666b7e5..37806c1290 100644 --- a/core/src/mindustry/core/Renderer.java +++ b/core/src/mindustry/core/Renderer.java @@ -446,6 +446,7 @@ public class Renderer implements ApplicationListener{ PixmapIO.writePNG(file, fullPixmap); fullPixmap.dispose(); ui.showInfoFade(Core.bundle.format("screenshot", file.toString())); + buffer.dispose(); } diff --git a/gradle.properties b/gradle.properties index 97e3fc296e..f9d6427031 100644 --- a/gradle.properties +++ b/gradle.properties @@ -1,3 +1,3 @@ org.gradle.daemon=true org.gradle.jvmargs=-Xms256m -Xmx1024m -archash=8832704de8efe141f67ba5a509abb7fe8c10ae09 +archash=209a66920d1968e4ec5ed80fa7a6c0cf6a070d1b From 4c28c302282a2bdaacf986c75acc5ab2d7030d80 Mon Sep 17 00:00:00 2001 From: StarMiner99 <46738680+StarMiner99@users.noreply.github.com> Date: Mon, 2 Mar 2020 03:03:00 +0100 Subject: [PATCH 32/62] [Lang] Changed some nl Translations (#1626) * fixed translations till line 180 fixed nl translations * Fixed most nl translations * small fixes suggested by Quezler --- core/assets/bundles/bundle_nl.properties | 148 +++++++++++------------ 1 file changed, 74 insertions(+), 74 deletions(-) diff --git a/core/assets/bundles/bundle_nl.properties b/core/assets/bundles/bundle_nl.properties index 2087f6c811..0009606ecc 100644 --- a/core/assets/bundles/bundle_nl.properties +++ b/core/assets/bundles/bundle_nl.properties @@ -6,7 +6,7 @@ link.discord.description = De officiële Mindustry discord chatroom link.reddit.description = De Mindustry subreddit link.github.description = Game broncode link.changelog.description = Lijst van updates -link.dev-builds.description = Onstabiele ontwikkeling builds +link.dev-builds.description = Onstabiele versies link.trello.description = Officiële trello-bord voor geplande functies link.itch.io.description = itch.io pagina met pc-downloads link.google-play.description = Google Play store vermelding @@ -22,7 +22,7 @@ highscore = [accent]Nieuw topscore! copied = Gekopieerd. load.sound = Geluid -load.map = Mappen +load.map = Kaarten load.image = Afbeeldingen load.content = inhoud load.system = Systeem @@ -30,27 +30,27 @@ load.mod = Mods load.scripts = Scripts be.update = Er is een nieuwe Bleeding Edge versie beschikbaar: -be.update.confirm = Download het en herstart? +be.update.confirm = Download en herstart? be.updating = Updaten... be.ignore = Negeer be.noupdates = Geen updates gevonden. be.check = Check voor updates -schematic = Blauwdruk -schematic.add = Bewaar blauwdruk... -schematics = Blauwdrukken -schematic.replace = Er bestaat al een blauwdruk met die naam. Overschrijven? -schematic.import = Importeer blauwdruk... +schematic = Ontwerp +schematic.add = Bewaar ontwerp... +schematics = Ontwerpen +schematic.replace = Er bestaat al een ontwerp met die naam. Overschrijven? +schematic.import = Importeer ontwerp... schematic.exportfile = Exporteer bestand schematic.importfile = Importeer bestand -schematic.browseworkshop = Blader Werkplaats +schematic.browseworkshop = Blader werkplaats schematic.copy = Kopiëren naar Klembord schematic.copy.import = Importeren van Klembord schematic.shareworkshop = Delen op de Werkplaats -schematic.flip = [accent][[{0}][]/[accent][[{1}][]: Spiegel blauwdruk -schematic.saved = Blauwdruk bewaard. -schematic.delete.confirm = Deze blauwdruk zal in een zwart gat verdwijnen. -schematic.rename = Hernoem blauwdruk +schematic.flip = [accent][[{0}][]/[accent][[{1}][]: Spiegel ontwerp +schematic.saved = Ontwerp bewaard. +schematic.delete.confirm = Dit ontwerp zal in een zwart gat verdwijnen. +schematic.rename = Hernoem ontwerp schematic.info = {0}x{1}, {2} blokken stat.wave = Waves Verslagen:[accent] {0} @@ -62,7 +62,7 @@ stat.delivered = Middelen Gelanceerd: stat.rank = Eindrang: [accent]{0} launcheditems = [accent]Gelanceerde items -launchinfo = [unlaunched][[LANCEER] je core om de in blauw gekleurde items te verkrijgen. +launchinfo = [unlaunched][[LANCEER] je core om de in blauw gekleurde items te krijgen. map.delete = Weet je zeker dat je de map wilt verwijderen? "[accent]{0}[]"? level.highscore = Topscore: [accent]{0} level.select = Selecteer Level @@ -83,10 +83,10 @@ close = Aflsuiten website = Website quit = Stoppen save.quit = Bewaar & Stop -maps = Mappen -maps.browse = Blader mappen +maps = Kaarten +maps.browse = Blader door kaarten continue = Ga door -maps.none = [LIGHT_GRAY]Geen map gevonden! +maps.none = [LIGHT_GRAY]Geen Kaart gevonden! invalid = Ongeldig pickcolor = Kies kleur preparingconfig = Configuratie voorbereiden @@ -146,8 +146,8 @@ server.kicked.serverClose = Server afgesloten... server.kicked.vote = Je bent ge vote-kicked. Tot ziens. server.kicked.clientOutdated = Verouderde versie! Update jouw spel! server.kicked.serverOutdated = Verouderde server! Vraag de host om te upgraden! -server.kicked.banned = Je bent verbannen van deze server. -server.kicked.typeMismatch = Deze server is niet compitabel met jouw bouwtype. +server.kicked.banned = Je bent gedegradeerd van deze server. +server.kicked.typeMismatch = Deze server is niet compatibel met jouw bouwtype. server.kicked.playerLimit = Deze server is vol. Wacht voor een vrije plek. server.kicked.recentKick = Je bent reeds verwijderd.\nWacht voordat je opnieuw verbindt. server.kicked.nameInUse = Er is al iemand met die naam\nop deze server. @@ -157,7 +157,7 @@ server.kicked.customClient = Deze server ondersteunt geen aangepaste spellen . D server.kicked.gameover = Spel afgelopen server.kicked.serverRestarting = De server is aan het herstarten. server.versions = Jouw versie:[accent] {0}[]\nServer versie:[accent] {1}[] -host.info = De [accent]host[] knop hosts `een server op port [scarlet]6567[]. \nIedereen op hetzelfde [LIGHT_GRAY]wifi or locaal netwerk[] zou jouw server in hun serverlijst moeten zien.\n\nAls je wilt dan vrienden vanaf overal kunnen meedoen via IP, [accent]port forwarding[] is nodig.\n\n[LIGHT_GRAY]Note: IAls iemand moeilijkheden heeft met het meedoen aan jouw spel, kijk of je Mindustry in je firewall instellingen toegang hebt gegeven to jouw locaal netwerk. +host.info = De [accent]host[] knop hosts `een server op port [scarlet]6567[]. \nIedereen op hetzelfde [LIGHT_GRAY]wifi or locaal netwerk[] zou jouw server in hun serverlijst moeten zien.\n\nAls je wilt dan vrienden vanaf overal kunnen meedoen via IP, [accent]port forwarding[] is nodig.\n\n[LIGHT_GRAY]Note: IAls iemand moeilijkheden heeft met het meedoen aan jouw spel, kijk of je Mindustry in je firewall instellingen toegang hebt gegeven tot jouw locaal netwerk. join.info = Hier kan je een [accent]server IP[] invoeren om te verbinden, of om[accent]locale netwerken[] te vinden.\nBeide LAN en WAN multiplayer is ondersteund.\n\n[LIGHT_GRAY]Note: Er is geen automatische globale serverlijst; Als je met iemands IP wil verbinden, Zou je moeten vragen om hun IP. hostserver = Host Game invitefriends = Nodig vrienden uit @@ -178,11 +178,11 @@ trace.mobile = Mobiel apparaat: [accent]{0} trace.modclient = Unofficieël: [accent]{0} invalidid = Ongeldige speler ID! Raporteer deze bug. server.bans = Bans -server.bans.none = Geen verbannen spelers gevonden! +server.bans.none = Geen gedegradeerde spelers gevonden! server.admins = Admins server.admins.none = Geen admins gevonden! server.add = Voeg server to -server.delete = Weet je zeker dat je deze server wilt deleten? +server.delete = Weet je zeker dat je deze server wilt weggooien? server.edit = Bewerk server server.outdated = [crimson]Server draait op een oudere versie![] server.outdated.client = [crimson]Server draait en nieuwere versie![] @@ -232,7 +232,7 @@ empty = on = Aan off = Uit save.autosave = Autosave: {0} -save.map = Map: {0} +save.map = Kaart: {0} save.wave = Ronde {0} save.mode = Spelmodus: {0} save.date = Laatst bewaard: {0} @@ -247,17 +247,17 @@ open = Open customize = Aanpassen cancel = Annuleer openlink = Open Link -copylink = Customize Link +copylink = Kopieer Link back = Terug data.export = Exporteer Data data.import = Importeer Data data.exported = Data Geëxporteerd. data.invalid = Dit is geen geldige game data. -data.import.confirm = Importeren van data verwijderd[scarlet] alle[] huidige data.\n[accent]Dit kan niet ongedaan worden gemaakt![]\n\nWanneer de data is geimport herstart deze game automatisch. +data.import.confirm = Importeren van data verwijderd[scarlet] alle[] huidige data.\n[accent]Dit kan niet ongedaan worden gemaakt![]\n\nWanneer de data is geimport herstart de game automatisch. classic.export = Exporteer klassieke data -classic.export.text = [accent]Mindustry[] Heeft een grote update gehad.\nKlassieke (v3.5 build 40) saves en/of mappen zijn gedetecteerd. Wil je deze exporteren naar de thuismap van je telefoon om te gebruiken in de klassieke Mindustry app? +classic.export.text = [accent]Mindustry[] Heeft een grote update gehad.\nKlassieke (v3.5 build 40) saves en/of mappen zijn gedetecteerd. Wil je deze exporteren naar de thuismap van je telefoon om ze te gebruiken in de klassieke Mindustry app? quit.confirm = Weet je zeker dat je wilt stoppen? -quit.confirm.tutorial = Weet je zeker dat je weet wat je doet?\nJe kan de tutorial opnieuw beginnen via[accent] Instellingen->Game->Herneem Tutorial.[] +quit.confirm.tutorial = Weet je zeker dat je weet wat je doet?\nJe kan de tutorial opnieuw beginnen via[accent] Instellingen->Game->Herstart Tutorial.[] loading = [accent]Laden... reloading = [accent]Mods herladen... saving = [accent]Opslaan... @@ -275,14 +275,14 @@ wave.enemy = [LIGHT_GRAY]{0} Vijand resterend loadimage = Laad afbeelding saveimage = Bewaar afbeelding unknown = Onbekend -custom = Op maat +custom = Aangepast builtin = Ingebouwd map.delete.confirm = Weet je zeker dat je deze map wilt verwijderen? Deze actie kan niet ongedaan worden gemaakt! map.random = [accent]Willekeurige map map.nospawn = Deze map heeft geen cores voor de spelers om in te spawnen! Voeg een[ROYAL] blauwe[] core toe aan de map via de editor. map.nospawn.pvp = Deze map heeft geen cores voor je vijanden om in te spawnen! Voeg een[SCARLET] rode[] core to aan de map via de editor. map.nospawn.attack = Deze map bevat geen vijandige cores om aan te vallen! Voeg een[SCARLET] rode[] core toe aan de map via de editor. -map.invalid = Error tijdens laden van map: Ongeldig map bestand. +map.invalid = Fout tijdens laden van map: Ongeldig map bestand. workshop.update = Bijwerken workshop.error = Fout bij laden workshop info: {0} map.publish.confirm = Weet je zeker dat je deze map wilt publiceren?\n\n[lightgray]Zorg ervoor dat je de EULA van de workshop leest, anders zal je map niet zichtbaar zijn! @@ -292,7 +292,7 @@ changelog = Update logboek (optioneel): eula = Steam EULA missing = Dit object is verwijderd of verplaatst.\n[lightgray]De workshop vermelding is nu niet meer gelinkt. publishing = [accent]Publiceren... -publish.confirm = Weet je zeker dat je dit wilt publiceren?\n\n[lightgray]Zorg ervoor dat je de EULA van de workshopt leest, anders zal je map niet zichtbaar zijn! +publish.confirm = Weet je zeker dat je dit wilt publiceren?\n\n[lightgray]Zorg ervoor dat je de EULA van de workshop leest, anders zal je map niet zichtbaar zijn! publish.error = Fout met het publiceren: {0} steam.error = Fout met het opstarten van steam diensten.\nError: {0} @@ -300,16 +300,16 @@ editor.brush = Kwast editor.openin = Bewerk in editor editor.oregen = Ertsgeneratie editor.oregen.info = Ertsgeneratie: -editor.mapinfo = Map Informatie +editor.mapinfo = Kaart Informatie editor.author = Auteur: editor.description = Beschrijving: -editor.nodescription = De map moet een beschrijving van minimaal 4 tekens hebben voordat je deze kan publiceren. +editor.nodescription = De kaart moet een beschrijving van minimaal 4 tekens hebben voordat je deze kan publiceren. editor.waves = Rondes: -editor.rules = Regens: +editor.rules = Regels: editor.generation = Generatie: editor.ingame = Bewerk In-Game editor.publish.workshop = Publiceer in Werkplaats -editor.newmap = Nieuwe Map +editor.newmap = Nieuwe Kaart workshop = Werkplaats waves.title = Rondes waves.remove = Verwijder @@ -335,48 +335,48 @@ editor.removeunit = Verwijder Unit editor.teams = Teams editor.errorload = Fout bij laden van bestand:\n[accent]{0} editor.errorsave = Fout van bewaren van bestand:\n[accent]{0} -editor.errorimage = Dat is een afbeelding, geen map. Laat de extenties met rust.\n\nAls je een oude map wilt importeren gebruik je de knop die hiervoor bedoeld is in de editor. -editor.errorlegacy = Deze map is te oud, bestandsformaat word niet meer ondersteund. -editor.errornot = Dat is geen map bestand. -editor.errorheader = Dit map bestand is niet geldig of foutief. -editor.errorname = Map heeft geen naam. +editor.errorimage = Dat is een afbeelding, geen kaart. Laat de extenties met rust.\n\nAls je een oude kaart wilt importeren gebruik je de knop die hiervoor bedoeld is in de editor. +editor.errorlegacy = Deze kaart is te oud, bestandsformaat word niet meer ondersteund. +editor.errornot = Dat is geen kaart bestand. +editor.errorheader = Dit map bestand is niet geldig of heeft en fout. +editor.errorname = Kaart heeft geen naam. editor.update = Bijwerken editor.randomize = Willekeurig editor.apply = Gebruiken editor.generate = Genereer editor.resize = Verander formaat -editor.loadmap = Laad Map -editor.savemap = Bewaar Map +editor.loadmap = Laad Kaart +editor.savemap = Bewaar Kaart editor.saved = Bewaard! -editor.save.noname = je map heeft geen naam! Stel er een in via de map instellingen. -editor.save.overwrite = De naam van deze map is al in gebruik door een van het spel zelf, kies een andere. -editor.import.exists = [scarlet]Importeren mislukt:[] een ingebouwde map met de naam '{0}' bestaat al! +editor.save.noname = je kaart heeft geen naam! Stel er een in via de kaart instellingen. +editor.save.overwrite = De naam van deze kaart is al in gebruik door een van het spel zelf, kies een andere. +editor.import.exists = [scarlet]Importeren mislukt:[] een ingebouwde kaart met de naam '{0}' bestaat al! editor.import = Importeer... -editor.importmap = Importeer Map -editor.importmap.description = Importeer een al bestande map +editor.importmap = Importeer kaart +editor.importmap.description = Importeer een al bestande kaart editor.importfile = Importeer Bestand -editor.importfile.description = Importer een extern map bestand +editor.importfile.description = Importer een extern kaart bestand editor.importimage = Importeer Klassieke Afbeelding -editor.importimage.description = Importeer een oude afbeelding map +editor.importimage.description = Importeer een oude afbeelding editor.export = Exporteer... editor.exportfile = Exporteer Bestand -editor.exportfile.description = Exporteer een map bestand +editor.exportfile.description = Exporteer een kaart bestand editor.exportimage = Exporteer Thumbnail -editor.exportimage.description = Exporteer map thumbnail +editor.exportimage.description = Exporteer kaart thumbnail editor.loadimage = Importeer Terein editor.saveimage = Exporteer Terein editor.unsaved = [scarlet]Je hebt onopgeslagen wijzigingen![]\nWeet je zeker dat je eruit wilt? -editor.resizemap = Verander Map Formaat -editor.mapname = Map Naam: -editor.overwrite = [accent]Waarschuwing!\nDit overschrijft een bestaande map. -editor.overwrite.confirm = [scarlet]Waarschuwing![] Een map met deze naam bestaat al. Weet je zeker dat je deze wilt overschrijven? -editor.exists = Een map met deze naam bestaat al. -editor.selectmap = Selecteer een map om te laden: +editor.resizemap = Verander kaart Formaat +editor.mapname = Kaart Naam: +editor.overwrite = [accent]Waarschuwing!\nDit overschrijft een bestaande kaart. +editor.overwrite.confirm = [scarlet]Waarschuwing![] Een kaart met deze naam bestaat al. Weet je zeker dat je deze wilt overschrijven? +editor.exists = Een kaart met deze naam bestaat al. +editor.selectmap = Selecteer een kaart om te laden: toolmode.replace = Vervang toolmode.replace.description = Werkt enkel op vaste blokken. toolmode.replaceall = Vervang alles -toolmode.replaceall.description = Vervangt alle blokken in de map. +toolmode.replaceall.description = Vervangt alle blokken in de kaart. toolmode.orthogonal = Orthogonaal toolmode.orthogonal.description = Teken enkel orthogonale lijnen. toolmode.square = Vierkant @@ -432,12 +432,12 @@ ping = Ping: {0}ms language.restart = Herstart het spel om de gewijzigde taal te laden. settings = Instellingen tutorial = Tutorial -tutorial.retake = Herneem Tutorial +tutorial.retake = Herstart Tutorial editor = Editor -mapeditor = Map Editor +mapeditor = Kaart Editor abandon = Verlaat -abandon.text = Je verliest deze map met alles erop en eraan aan de vijand. +abandon.text = Je verliest deze kaart met alles erop en eraan aan de vijand. locked = Op slot complete = [LIGHT_GRAY]Voltooid: requirement.wave = Berijk ronde {0} in {1} @@ -473,7 +473,7 @@ error.invalidaddress = Ongeldig adres. error.timedout = Verbindingspoging duurde te lang!\nDubbelcheck dat je host is geportforward, en dat je het ip wel goed hebt ingetikt! error.mismatch = Pakket fout:\nmogelijk is er een versie verschil tussen jou en de server.\nZorg ervoor dat beiden op de meest recente versie van Mindustry zitten! error.alreadyconnected = Al verbonden. -error.mapnotfound = Map bestand niet gevonden! +error.mapnotfound = Kaart bestand niet gevonden! error.io = Netwerk I/O fout. error.any = Onbekende netwerk fout. error.bloom = Bloom aanzetten mislukt.\nJe apparaat ondersteunt het waarschijnlijk niet. @@ -519,15 +519,15 @@ settings.sound = Geluid settings.graphics = Grafisch settings.cleardata = Wis Game Data... settings.clear.confirm = Weet je zeker dat je deze data wilt verwijderen?\nDit is niet terug te draaien! -settings.clearall.confirm = [scarlet]WAARSCHUWING![]\nDit verwijderd alle darta, inclusief saves, mappen, technologie en bedienings-instellingen.\nAls je op doorgaat wist het spel al je data en stopt ie automatisch. +settings.clearall.confirm = [scarlet]WAARSCHUWING![]\nDit verwijderd alle data, inclusief saves, kaarten, technologie en bedienings-instellingen.\nAls je op doorgaat wist het spel al je data en stopt automatisch. paused = [accent]< Gepauzeerd > clear = Wis banned = [scarlet]Verbannen yes = Ja no = Nee info.title = Informatie -error.title = [crimson]Een fout heeft zich voorgedaan -error.crashtitle = Een fout heeft zich voorgedaan +error.title = [crimson]Een fout is opgetreden +error.crashtitle = Een fout is opgetreden blocks.input = Input blocks.output = Output blocks.booster = Booster @@ -537,7 +537,7 @@ blocks.powershot = Stroom/Schot blocks.damage = Schade blocks.targetsair = Luchtdoelwitten blocks.targetsground = Gronddoelwitten -blocks.itemsmoved = Beweegsnelheid +blocks.itemsmoved = Beweegingssnelheid blocks.launchtime = Tijd tussen lanceringen blocks.shootrange = Bereik blocks.size = Formaat @@ -643,7 +643,7 @@ setting.screenshake.name = Schuddend Scherm setting.effects.name = Toon Effecten setting.destroyedblocks.name = Toon Vernietigde Blokken setting.conveyorpathfinding.name = Lopendeband Plaats Hulp -setting.coreselect.name = Sta cores toe in blauwdrukken +setting.coreselect.name = Sta cores toe in ontwerpen setting.sensitivity.name = Gevoeligheid Controller setting.saveinterval.name = Autosave Interval setting.seconds = {0} Seconden @@ -671,7 +671,7 @@ setting.playerchat.name = Toon chat public.confirm = Wil je je game publiek maken?\n[accent]Iedereen kan dan je games joinen.\n[lightgray]Dit kan je later veranderen in Instellingen->Spel->Publieke Server Zichtbaarheid. public.beta = Onthoud dat beta versies van het spel niet publiek kunnen lobbyen. uiscale.reset = UI formaat is geweizigd.\nKlik op "OK" om het te bevestigen.\n[scarlet]Anders word het in[accent] {0}[] ongedaan gemaakt... -uiscale.cancel = Anuleer & Exit +uiscale.cancel = Anuleer & Sluit setting.bloom.name = Bloom keybind.title = Verander Keys keybinds.mobile = [scarlet]De meeste keybinds werken niet voor mobiel. Enkel standaard bewegingen zijn gesupport. @@ -685,16 +685,16 @@ placement.blockselectkeys = \n[lightgray]Toets: [{0}, keybind.clear_building.name = Stop met bouwen keybind.press = Druk op een toets... keybind.press.axis = Druk of swipe een toets... -keybind.screenshot.name = Map Schermfbeelding +keybind.screenshot.name = Map Schermafbeelding keybind.toggle_power_lines.name = Wel/Geen Stroom Draden keybind.move_x.name = Beweeg x keybind.move_y.name = Beweeg y keybind.mouse_move.name = Volg Muis keybind.dash.name = Vlieg keybind.schematic_select.name = Selecteer gebied -keybind.schematic_menu.name = Blauwdruk Menu -keybind.schematic_flip_x.name = Spiegel Blauwdruk X -keybind.schematic_flip_y.name = Spiegel Blauwdruk Y +keybind.schematic_menu.name = Ontwerp Menu +keybind.schematic_flip_x.name = Spiegel ontwerp X +keybind.schematic_flip_y.name = Spiegel ontwerp Y keybind.category_prev.name = Vorige Categorie keybind.category_next.name = Volgende Categorie keybind.block_select_left.name = Selecteer Blok Links @@ -717,7 +717,7 @@ keybind.diagonal_placement.name = Plaats Diagonaal keybind.pick.name = Kies Blok keybind.break_block.name = Breek Blok keybind.deselect.name = Deselecteer -keybind.shoot.name = Shiet +keybind.shoot.name = Schiet keybind.zoom.name = Zoom keybind.menu.name = Menu keybind.pause.name = Pauze @@ -780,7 +780,7 @@ rules.ambientlight = Mist content.item.name = Items content.liquid.name = Vloeisof -content.unit.name = Units +content.unit.name = Eenheiden content.block.name = Blokken content.mech.name = Behuizing item.copper.name = Coper @@ -797,7 +797,7 @@ item.spore-pod.name = Spore Pod item.sand.name = Zand item.blast-compound.name = Blast Compound item.pyratite.name = Pyratite -item.metaglass.name = Glas +item.metaglass.name = Metaglas item.scrap.name = Scrap liquid.water.name = Water liquid.slag.name = Slag From a6ddb1d1877f1730f7550b70131b037385ba7e33 Mon Sep 17 00:00:00 2001 From: AmateurPotion <47741752+AmateurPotion@users.noreply.github.com> Date: Mon, 2 Mar 2020 11:03:41 +0900 Subject: [PATCH 33/62] Update bundle_ko.properties (#1629) --- core/assets/bundles/bundle_ko.properties | 37 ++++++++++++++---------- 1 file changed, 21 insertions(+), 16 deletions(-) diff --git a/core/assets/bundles/bundle_ko.properties b/core/assets/bundles/bundle_ko.properties index 91642721d7..a0500c0069 100644 --- a/core/assets/bundles/bundle_ko.properties +++ b/core/assets/bundles/bundle_ko.properties @@ -29,7 +29,7 @@ load.system = 시스템 load.mod = 모드 load.scripts = 스크립트 -be.update = 새로운 블리딩 엣지 버전이 출시되었습니다. +be.update = 새로운 테스트 버전이 출시되었습니다. be.update.confirm = 다운로드 후 게임을 재시작하시겠습니까? be.updating = 업데이트 중... be.ignore = 무시 @@ -39,14 +39,13 @@ be.check = 업데이트 확인 schematic = 설계도 schematic.add = 설계도 저장하기 schematics = 설계도 모음 -schematic.replace = 이 설계도와 같은 이름의 설계도가 이미 존재합니다. 정말로 바꾸시겠습니까? schematic.import = 설계도 불러오기 schematic.exportfile = 파일 내보내기 schematic.importfile = 파일 불러오기 -schematic.browseworkshop = Workshop 탐색 +schematic.browseworkshop = 창작마당 탐색 schematic.copy = 클립보드에 복사하기 schematic.copy.import = 클립보드에서 붙여넣기 -schematic.shareworkshop = 워크샵에 공유 +schematic.shareworkshop = 창작마당에 공유 schematic.flip = 좌우 뒤집기 : [accent][[{0}][] / 상하 뒤집기 : [accent][[{1}][] schematic.saved = 설계도 저장됨. schematic.delete.confirm = 삭제된 설계도는 복구할 수 없습니다. 정말로 삭제하시겠습니까? @@ -113,7 +112,7 @@ mod.delete.error = 모드를 삭제할 수 없습니다. 아마도 해당 모드 mod.requiresversion = [scarlet]게임의 버전이 낮아 모드를 활성화할 수 없습니다!\n[scarlet]요구되는 게임 버전 : [accent]{0} mod.missingdependencies = [scarlet]필요한 모드 : {0} mod.erroredcontent = [scarlet]컨텐츠 오류 -mod.errors = 컨텐츠를 불러오는 중 오류가 발생하였습니다. +mod.errors = 모드 설정을 불러오는 중 오류가 발생하였습니다. mod.noerrorplay = [scarlet]모드에 오류가 존재합니다.[] 해당 오류가 발생하는 모드를 비활성화하거나 모드의 오류를 고친 후 플레이가 가능합니다. mod.nowdisabled = [scarlet]모드 '{0}'는 다음의 모드에 의존합니다 : [accent] {1}\n[lightgray]이 모드를 먼저 다운로드해야합니다.\n이 모드는 자동으로 비활성화됩니다. mod.enable = 활성화 @@ -125,9 +124,9 @@ mod.item.remove = 이것은 모드[accent] '{0}'[]의 자원입니다. 이 자 mod.remove.confirm = 이 모드를 삭제하시겠습니까? mod.author = [LIGHT_GRAY]제작자 : [] {0} mod.missing = 이 세이브파일에는 설치하지 않은 모드 혹은 현재 버전에 속해있지 않은 데이터가 포함되어 있습니다. 이 파일을 불러올 경우 세이브파일의 데이터가 손상될 수 있습니다. 정말로 이 파일을 불러오시겠습니까?\n[lightgray]모드 :\n{0} -mod.preview.missing = Workshop에 당신의 모드를 업로드하기 전에 미리보기 이미지를 먼저 추가해야합니다.\n[accent] preview.png[]라는 이름으로 미리보기 이미지를 당신의 모드 폴더안에 준비한 후 다시 시도해주세요. -mod.folder.missing = Workshop에는 폴더 형태의 모드만 게시할 수 있습니다.\n모드를 폴더 형태로 바꾸려면 파일을 폴더에 압축 해제하고 이전 압축파일을 제거한 후, 게임을 재시작하거나 모드를 다시 로드하십시오. -mod.scripts.unsupported = 당신의 기기는 모드스크립트를 지원하지 않습니다. 모드의 일부 기능이 작동하지 않을 수 있습니다. +mod.preview.missing = 창작마당에 당신의 모드를 업로드하기 전에 미리보기 이미지를 먼저 추가해야합니다.\n[accent] preview.png[]라는 이름으로 미리보기 이미지를 당신의 모드 폴더안에 준비한 후 다시 시도해주세요. +mod.folder.missing = 창작마당에는 폴더 형태의 모드만 게시할 수 있습니다.\n모드를 폴더 형태로 바꾸려면 파일을 폴더에 압축 해제하고 이전 압축파일을 제거한 후, 게임을 재시작하거나 모드를 다시 로드하십시오. +mod.scripts.unsupported = 당신의 기기는 자바스크립트를 지원하지 않습니다. 모드의 일부 기능이 작동하지 않을 수 있습니다. about.button = 정보 name = 이름 : @@ -172,13 +171,18 @@ hosts.discovering.any = 서버 찾기 server.refreshing = 서버 목록 새로고치는중... hosts.none = [lightgray]LAN 게임을 찾을 수 없습니다! host.invalid = [scarlet]서버에 연결할 수 없습니다! + +servers.local = 로컬 서버 +servers.remote = 사설 서버 +servers.global = 공식 서버 + trace = 플레이어 정보 보기 trace.playername = 닉네임 : [accent]{0} trace.ip = IP : [accent]{0} trace.id = UUID : [accent]{0} trace.mobile = 모바일 접속 유무 : [accent]{0} trace.modclient = 수정된 클라이언트 : [accent]{0} -invalidid = 잘못된 클라이언트 ID 입니다! 버그 보고서를 제출 해 주세요. +invalidid = 잘못된 클라이언트 ID 입니다! 버그 보고서를 보내주세요. server.bans = 차단된 유저 server.bans.none = 차단된 플레이어가 없습니다. server.admins = 관리자 @@ -242,8 +246,8 @@ save.playtime = 플레이타임 : {0} warning = 경고. confirm = 확인 delete = 삭제 -view.workshop=Workshop에서 보기 -workshop.listing=Workshop 목록 편집하기 +view.workshop = 창작마당에서 보기 +workshop.listing = 창작마당 목록 편집하기 ok = 확인 open = 열기 customize = 맞춤설정 @@ -286,8 +290,8 @@ map.nospawn = 이 맵에 플레이어가 생성될 코어가 없습니다! 맵 map.nospawn.pvp = 이 맵에는 적팀 코어가 없습니다! 에디터에서 [ROYAL]노랑색 팀이 아닌[] 코어를 추가하세요. map.nospawn.attack = 이 맵에는 플레이어가 공격할 수 있는 적의 코어가 없습니다! 에디터에서 [ROYAL] 빨강색 팀[] 코어를 맵에 추가하세요. map.invalid = 파일이 잘못되었거나 손상되어 맵을 열 수 없습니다. -workshop.update = 워크샵 맵 업데이트 -workshop.error = 워크샵 세부사항을 가져오는 중 에러가 발생했습니다 : {0} +workshop.update = 창작마당 맵 업데이트 +workshop.error = 창작마당 정보를 불러오는 중에 오류가 발생했습니다 : {0} map.publish.confirm = 맵을 업로드 하시겠습니까?\n\n[lightgray]먼저 워크샵 EULA에 동의하시지 않으면 맵이 표시되지 않습니다! workshop.menu = 해당 맵으로 수행할 작업을 선택하십시오. workshop.info = 맵 정보 @@ -311,7 +315,7 @@ editor.waves = 단계 : editor.rules = 규칙 : editor.generation = 맵 생성 설정 : editor.ingame = 인게임 편집 -editor.publish.workshop = 워크샵 업로드 +editor.publish.workshop = 창작마당 업로드 editor.newmap = 신규 맵 workshop=Workshop waves.title = 단계 @@ -344,7 +348,7 @@ editor.errornot = 선택한 대상이 맵 파일이 아닙니다. editor.errorheader = 이 맵 파일은 유효하지 않거나 손상되었습니다. editor.errorname = 맵에 이름이 지정되어 있지 않습니다. editor.update = 업데이트 -editor.randomize = 랜덤 +editor.randomize = 무작위 editor.apply = 적용 editor.generate = 생성 editor.resize = 맵 크기조정 @@ -784,6 +788,7 @@ rules.title.unit = 유닛 rules.title.experimental = 실험적인 기능 rules.lighting = 전장의 안개 활성화 rules.ambientlight = 안개 색 +rules.solarpowermultiplier = 태양광 발전 효율 content.item.name = 아이템 content.liquid.name = 액체 @@ -812,7 +817,7 @@ liquid.oil.name = 석유 liquid.cryofluid.name = 냉각수 mech.alpha-mech.name = 알파 mech.alpha-mech.weapon = 중무장 소총 -mech.alpha-mech.ability = 회복 +mech.alpha-mech.ability = 자가 mech.delta-mech.name = 델타 mech.delta-mech.weapon = 전격 충전기 mech.delta-mech.ability = 충전 From 62c7b5f6917d581583327be2b1ab7680c4f1d502 Mon Sep 17 00:00:00 2001 From: Dexapnow <42710595+Dexapnow@users.noreply.github.com> Date: Mon, 2 Mar 2020 03:04:07 +0100 Subject: [PATCH 34/62] Update bundle_pl.properties (#1643) --- core/assets/bundles/bundle_pl.properties | 12 +++++++----- 1 file changed, 7 insertions(+), 5 deletions(-) diff --git a/core/assets/bundles/bundle_pl.properties b/core/assets/bundles/bundle_pl.properties index a8c6a3732a..abc53366ff 100644 --- a/core/assets/bundles/bundle_pl.properties +++ b/core/assets/bundles/bundle_pl.properties @@ -931,7 +931,7 @@ block.duo.name = Podwójne Działko block.scorch.name = Płomień block.scatter.name = Flak block.hail.name = Grad -block.lancer.name = Lansjer +block.lancer.name = Lancer block.conveyor.name = Przenośnik block.titanium-conveyor.name = Przenośnik Tytanowy block.armored-conveyor.name = Przenośnik Opancerzony @@ -945,6 +945,7 @@ block.message.name = Wiadomość block.illuminator.name = Illuminator block.illuminator.description = Małe, kompaktowe i konfigurowane źródło światła. Wymaga energii do funkcjonowania. block.overflow-gate.name = Brama Przepełnieniowa +block.underflow-gate.name = Brama Niedomiaru block.silicon-smelter.name = Huta Krzemu block.phase-weaver.name = Fazowa Fabryka block.pulverizer.name = Rozkruszacz @@ -1009,7 +1010,7 @@ block.crawler-factory.name = Fabryka Mechów Pełzacz block.titan-factory.name = Fabryka Mechów Tytan block.fortress-factory.name = Fabryka Mechów Forteca block.revenant-factory.name = Fabryka Krążowników Zjawa -block.repair-point.name = Punkt Napraw +block.repair-point.name = Punkt Naprawy block.pulse-conduit.name = Rura Pulsacyjna block.plated-conduit.name = Opancerzona rura block.phase-conduit.name = Rura Fazowa @@ -1106,7 +1107,7 @@ liquid.oil.description = Używany w do produkcji złożonych materiałów. Może liquid.cryofluid.description = Obojętna, niekorozyjna ciecz utworzona z wody i tytanu mech.alpha-mech.description = Standardowy mech. Bazuje na jednostce Nóż, z ulepszonym pancerzem i zdolnością budowania. Zadaje więcej obrażeń niż Strzałka. mech.delta-mech.description = Szybki, lekko opancerzony mech stworzony do ataków typu uderz i uciekaj. Zadaje niewielkie obrażenia strukturom, lecz może bardzo szybko niszczyć spore grupy jednostek wroga przy pomocy jego działek tesli. -mech.tau-mech.description = Mech wsparcia. Naprawia budynki drużyny, strzelając w nie. Potrafi wygasić niedalekie pożary i uleczyć bliskich przyjaciół. +mech.tau-mech.description = Mech wsparcia. Naprawia budynki drużyny, strzelając w nie. Potrafi uleczyć bliskich sojuszników. mech.omega-mech.description = Duży i silny mech, zaprojektowany na ataki. Jego pancerz pozwala mu na zablokowanie do 90% obrażeń. mech.dart-ship.description = Standardowy statek. Lekki i szybki, ale posiada małe zdolności ofensywne i niską szybkość wydobywania surowców. mech.javelin-ship.description = Statek do ataku i szybkiej ucieczki. Zaczyna powoli, ale przyspiesza do wielkiej prędkości. Przy tej prędkości, może przelecieć koło wrogiej bazy i atakować piorunami czy rakietami. @@ -1174,7 +1175,8 @@ block.sorter.description = Sortuje przedmioty. Jeśli przedmiot pasuje to przech block.inverted-sorter.description = Sortuje przedmioty jak zwykły sortownik, ale odpowiednie surowce wyciągane są na boki. block.router.description = Akceptuje przedmioty z jednego miejsca i rozdziela je do trzech innych kierunków. Przydatne w rozdzielaniu materiałów z jednego źródła do wielu celów.\n\n[scarlet]Nigdy nie używaj przy punkcje wejścia materiałów produkcyjnych, ponieważ zostaną one zatkane przez materiały wyjściowe.[] block.distributor.description = Zaawansowany rozdzielacz, rozdzielający przedmioty do 7 innych kierunków. -block.overflow-gate.description = Rozdzielacz, który przerzuca przedmioty, kiedy główna droga jest przepełniona +block.overflow-gate.description = Rozdzielacz, który przerzuca przedmioty, kiedy główna droga jest przepełniona. +block.underflow-gate.description = Odwrotność bramy przepełnieniowej, który przepuszcza przedmioty główną drogą, gdy boczne drogi są przepełnione. block.mass-driver.description = Najlepszy blok do transportu przedmiotów. Zbiera wiele przedmiotów naraz a potem wystrzeliwuje je do kolejnej katapulty masy na bardzo duże odległości. block.mechanical-pump.description = Tania pompa o niskiej wydajności. Nie wymaga prądu. block.rotary-pump.description = Zaawansowana pompa. Pompuje więcej cieczy, ale wymaga zasilania. @@ -1195,7 +1197,7 @@ block.battery.description = Przechowuje energię przy nadwyżce produkcji oraz d block.battery-large.description = Przechowuje o wiele wiecej prądu niż standardowa bateria. block.combustion-generator.description = Wytwarza energię poprzez spalanie łatwopalnych materiałów. block.thermal-generator.description = Generuje prąd kiedy jest postawiony na źródłach ciepła. -block.turbine-generator.description = Bardziej wydajny niż generator spalania, ale wymaga dodatkowej wody. +block.turbine-generator.description = Zaawansowana wersja Generatora Spalinowego. Jest wydajniejszy niż Generator Spalinowy, ale wymaga wody aby wytworzyć pare. block.differential-generator.description = Generuje duże ilości prądu. Wykorzystuje różnice temperatur pomiędzy Lodocieczą a spalanym Piratianem. block.rtg-generator.description = Generator wykorzystujący ciepło powstałe z rozpadu izotopów promieniotwórczych. Nie wymaga chłodzenia, ale produkuje mniej energii od reaktora torowego. block.solar-panel.description = Wytwarza małe ilości prądu wykorzystując energię słoneczną. From cdf8514ac8cbe6d8a2ae1ddf0d28b02a5d2de3fc Mon Sep 17 00:00:00 2001 From: Vanguard <55051135+XEN0PHIL@users.noreply.github.com> Date: Mon, 2 Mar 2020 05:06:16 +0300 Subject: [PATCH 35/62] RU updates (#1584) * 1 changed line, 1 removed line Changed: keybind.zoom.name Removed: keybind.zoom_hold.name Moved some lines around to keep them in the same order with bundle.properties * 1 changed line tutorial.intro * 3 new lines, 3 changed lines New: mod.erroredcontent mod.errors mod.noerrorplay Changed: mod.requiresversion mod.remove.confirm details * 2 changed lines mods.guide mod.import.github * 1 new line link.feathub.description * 1 changed line item.graphite.description * 1 changed line block.mass-driver.description * 9 new lines, 1 changed line New: be.update be.update.confirm be.updating be.ignore be.noupdates be.check server.kicked.serverRestarting setting.coreselect.name rules.blockhealthmultiplier Changed: wave.enemy * 3 changed lines quit.confirm.tutorial setting.coreselect.name public.confirm * 22 changed lines mod.missing item.plastanium.name block.plastanium-wall.name block.plastanium-wall-large.name block.plastanium-compressor.name item.scrap.description item.spore-pod.description item.blast-compound.description liquid.oil.description unit.revenant.description block.multi-press.description block.plastanium-compressor.description block.spore-press.description block.power-source.description block.force-projector.description block.conveyor.description block.mass-driver.description block.liquid-junction.description block.phase-conduit.description block.thorium-reactor.description block.blast-drill.description block.cyclone.description * 3 new lines, 2 removed lines New: setting.bridgeopacity.name block.liquid-void.name block.liquid-void.description Removed: block.signal block.editsignal * 1 new line data.openfolder * 1 changed line block.cryofluidmixer.description * 2 new lines block.underflow-gate.name block.underflow-gate.description * 2 changed lines unit.thousands unit.millions * 3 new lines blocks.tiles blocks.affinities setting.playerlimit.name * 1 changed line block.underflow-gate.name * 1 changed line unit.thousands * 1 changed line blocks.affinities * 1 changed line (reverted) unit.thousands * Update bundle_ru.properties * 1 new line mod.display * 1 changed line techtree * 1 changed line (new approach) techtree * 1 changed line editor.generate * 1 new line stat.playtime * 3 new lines servers.local servers.remote servers.global * 3 changed lines servers.local servers.remote servers.global * 1 changed line setting.pixelate.name * 1 line removed schematic.replace * 1 new line rules.solarpowermultiplier * 2 changed lines unit.thousands unit.millions Co-authored-by: Anuken Co-authored-by: Prosta4okua <31485341+Prosta4okua@users.noreply.github.com> --- core/assets/bundles/bundle_ru.properties | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-) diff --git a/core/assets/bundles/bundle_ru.properties b/core/assets/bundles/bundle_ru.properties index 01b7f33ff1..f53866c2e7 100644 --- a/core/assets/bundles/bundle_ru.properties +++ b/core/assets/bundles/bundle_ru.properties @@ -39,7 +39,6 @@ be.check = Проверить обновления schematic = Схема schematic.add = Сохранить схему... schematics = Схемы -schematic.replace = Схема с таким именем уже существует. Заменить её? schematic.import = Импортировать схему... schematic.exportfile = Экспортировать файл schematic.importfile = Импортировать файл @@ -616,8 +615,8 @@ unit.persecond = /сек unit.timesspeed = x скорость unit.percent = % unit.items = предметов -unit.thousands = тыс -unit.millions = млн +unit.thousands = к +unit.millions = М category.general = Основные category.power = Энергия category.liquids = Жидкости @@ -664,7 +663,7 @@ setting.borderlesswindow.name = Безрамочное окно[lightgray] (мо setting.fps.name = Показывать FPS и пинг setting.blockselectkeys.name = Показать клавиши выбора блока setting.vsync.name = Вертикальная синхронизация -setting.pixelate.name = Пикселизация[lightgray] (отключает анимации) +setting.pixelate.name = Пикселизация setting.minimap.name = Отображать мини-карту setting.position.name = Отображать координаты игрока setting.musicvol.name = Громкость музыки @@ -789,6 +788,7 @@ rules.title.unit = Боев. ед. rules.title.experimental = Эксперементально rules.lighting = Освещение rules.ambientlight = Окружающий свет +rules.solarpowermultiplier = Множитель солнечной энергии content.item.name = Предметы content.liquid.name = Жидкости From d93ca520aea591d103f379b1d8000befaf422253 Mon Sep 17 00:00:00 2001 From: Lapis+ <45414333+Lapis256@users.noreply.github.com> Date: Mon, 2 Mar 2020 11:09:08 +0900 Subject: [PATCH 36/62] Update bundle_ja.properties (#1578) --- core/assets/bundles/bundle_ja.properties | 80 ++++++++++++------------ 1 file changed, 40 insertions(+), 40 deletions(-) diff --git a/core/assets/bundles/bundle_ja.properties b/core/assets/bundles/bundle_ja.properties index 9fc952977a..f979dfe05d 100644 --- a/core/assets/bundles/bundle_ja.properties +++ b/core/assets/bundles/bundle_ja.properties @@ -3,16 +3,16 @@ credits = クレジット contributors = 翻訳や開発に協力してくださった方々 discord = MindustryのDiscordに参加! link.discord.description = Mindustryの公式Discordグループ -link.reddit.description = The Mindustry subreddit +link.reddit.description = MindustryのReddit link.github.description = このゲームのソースコード link.changelog.description = 変更履歴 link.dev-builds.description = 不安定な開発版 link.trello.description = 公式 Trelloボード で実装予定の機能をチェック link.itch.io.description = itch.io でゲームをダウンロード link.google-play.description = Google Play ストアを開く -link.f-droid.description = F-Droid catalogue listing +link.f-droid.description = F-Droid を開く link.wiki.description = 公式 Mindustry Wiki -link.feathub.description = Suggest new features +link.feathub.description = 新機能を提案する linkfail = リンクを開けませんでした!\nURLをクリップボードにコピーしました。 screenshot = スクリーンショットを {0} に保存しました。 screenshot.invalid = マップが広すぎます。スクリーンショットに必要なメモリが足りない可能性があります。 @@ -30,24 +30,24 @@ load.mod = MOD load.scripts = Scripts be.update = A new Bleeding Edge build is available: -be.update.confirm = Download it and restart now? -be.updating = Updating... -be.ignore = Ignore -be.noupdates = No updates found. -be.check = Check for updates +be.update.confirm = ダウンロードして再起動しますか? +be.updating = 更新中... +be.ignore = 無視する +be.noupdates = 更新が見つかりません。 +be.check = 更新を確認します。 schematic = 設計図 schematic.add = 設計図を保存しています... schematics = 設計図一覧 schematic.replace = 同じ名前の設計図があるようです。 上書きしますか? -schematic.import = 設計図を読み込んでいます... +schematic.import = 設計図をインポート schematic.exportfile = ファイルに出力する schematic.importfile = ファイルから読み込む schematic.browseworkshop = ワークショップを表示する schematic.copy = クリップボードにコピーする schematic.copy.import = クリップボードから読み込む schematic.shareworkshop = ワークショップで共有する -schematic.flip = [accent][[{0}][]/[accent][[{1}][]: Flip Schematic +schematic.flip = [accent][[{0}][]/[accent][[{1}][]: 反転 schematic.saved = 設計図を保存しました。 schematic.delete.confirm = この設計図は完全に削除されます。よろしいですか schematic.rename = 設計図の名前を変更する。 @@ -88,7 +88,7 @@ maps.browse = マップを閲覧する continue = 続ける maps.none = [lightgray]マップが見つかりませんでした! invalid = 無効 -pickcolor = Pick Color +pickcolor = 色を選ぶ preparingconfig = 設定ファイルを準備中 preparingcontent = コンテンツを準備中 uploadingcontent = コンテンツをアップロードしています @@ -109,10 +109,10 @@ mod.disabled = [scarlet]無効 mod.disable = 無効化 mod.delete.error = MODを削除することができませんでした。 mod.requiresversion = [scarlet]Requires min game version: [accent]{0} -mod.missingdependencies = [scarlet]Missing dependencies: {0} -mod.erroredcontent = [scarlet]Content Errors -mod.errors = Errors have occurred loading content. -mod.noerrorplay = [scarlet]You have mods with errors.[] Either disable the affected mods or fix the errors before playing. +mod.missingdependencies = [scarlet]依存関係がありません。: {0} +mod.erroredcontent = [scarlet]コンテンツエラー +mod.errors = コンテンツの読み込み中にエラーが発生しました。 +mod.noerrorplay = [scarlet]以下のModにエラーがあります。[] Modを無効化するか、エラーを修正してください。 mod.nowdisabled = [scarlet]Mod '{0}' is missing dependencies:[accent] {1}\n[lightgray]These mods need to be downloaded first.\nThis mod will be automatically disabled. mod.enable = 有効化 mod.requiresrestart = このModをインストールするためにはゲームの再起動が必要です。 @@ -125,7 +125,7 @@ mod.author = [LIGHT_GRAY]著者:[] {0} mod.missing = このセーブには、アップグレードされた可能性があるModsか、ここに存在しないModsが必要です。 メモリのセーブを保存する! ロードしてもよろしいですか?\n[lightgray]MODS:\n{0} mod.preview.missing = このModをワークショップで公開するには、Modのプレビュー画像を設定する必要があります。\n[accent] preview.png[] というファイル名の画像をmodsのフォルダに配置し、再試行してください。 mod.folder.missing = ワークショップで公開できるのは、フォルダ形式のModのみとなります。\nModをフォルダ形式に変換するには、ファイルをフォルダに解凍し、古いzipを削除してからゲームを再起動するか、modを再読み込みしてください。 -mod.scripts.unsupported = Your device does not support mod scripts. Some mods will not function correctly. +mod.scripts.unsupported = お使いのデバイスはMod Scriptをサポートしていません。一部のModは正常に動作しません。 about.button = 情報 name = 名前: @@ -155,7 +155,7 @@ server.kicked.nameEmpty = 無効な名前です。 server.kicked.idInUse = すでにサーバーに参加しています! 二つのアカウントでの同時接続は許可されていません。 server.kicked.customClient = このサーバーはカスタムビルドをサポートしていません。公式版をダウンロードしてください。 server.kicked.gameover = ゲームオーバー! -server.kicked.serverRestarting = The server is restarting. +server.kicked.serverRestarting = 再起動しています server.versions = あなたのバージョン:[accent] {0}[]\nサーバーのバージョン:[accent] {1}[] host.info = [accent]ホスト[]をすると、ポート[scarlet]6567[]でサーバーが開かれまます。\n同じ[lightgray]WiFiやローカル上のネットワークなど[]ではサーバーリストに表示されるようになります。\n\nIPアドレスで他のところからも接続できるようにするには、[accent]ポート開放[]が必要です。\n\n注意: もしLAN上のゲームに参加できない場合、Mindustryがファイアーウォールの設定でローカルネットワークへの接続が許可されているかを確認してください。 join.info = ここでは、[accent]サーバーのIPアドレス[]から接続したり、[accent]ローカル上[]のサーバーを探したりすることができます。\nLANやWAN上の両方のマルチプレイに対応しています。\n\n[lightgray]注意: 世界中のサーバーの一覧ではありません。他人のサーバーにIPアドレスで接続したい場合は、あらかじめホスト側にIPアドレスをお尋ねください。 @@ -241,7 +241,7 @@ warning = 警告 confirm = 確認 delete = 削除 view.workshop = ワークショップを見る -workshop.listing = Edit Workshop Listing +workshop.listing = ワークショップ一覧を編集する。 ok = OK open = 開く customize = カスタマイズ @@ -259,7 +259,7 @@ classic.export.text = [accent]Mindustry[]のメジャーアップデートがあ quit.confirm = 終了してもよろしいですか? quit.confirm.tutorial = チュートリアルを終了しますか?\nチュートリアルは [accent]設定->ゲーム->チュートリアル[] から再度受けることができます。 loading = [accent]読み込み中... -reloading = [accent]Reloading Mods... +reloading = [accent]再読み込み中... saving = [accent]保存中... cancelbuilding = [accent][[{0}][] 選択を解除する selectschematic = [accent][[{0}][] 選択し、コピーする @@ -440,10 +440,10 @@ abandon = 撤退 abandon.text = このゾーンのすべての資源が敵に奪われます。 locked = ロック complete = [lightgray]達成済み: -requirement.wave = Reach Wave {0} in {1} -requirement.core = Destroy Enemy Core in {0} -requirement.unlock = Unlock {0} -resume = 再開ゾーン:\n[lightgray]{0} +requirement.wave = {0} でウェーブ {1} に到達 +requirement.core = {0} の敵のコアを破壊 +requirement.unlock = ロック解除 {0} +resume = 再開:\n[lightgray]{0} bestwave = [lightgray]最高ウェーブ: {0} launch = < 発射 > launch.title = 発射成功 @@ -669,7 +669,7 @@ setting.chatopacity.name = チャットの透明度 setting.lasersopacity.name = レーザーの透明度 setting.playerchat.name = ゲーム内にチャットを表示 public.confirm = Do you want to make your game public?\n[accent]Anyone will be able to join your games.\n[lightgray]This can be changed later in Settings->Game->Public Game Visibility. -public.beta = Note that beta versions of the game cannot make public lobbies. +public.beta = ベータ版では使用できません。 uiscale.reset = UIサイズが変更されました。\nこのままでよければ「OK」を押してください。\n[scarlet][accent]{0}[] 秒で元の設定に戻ります... uiscale.cancel = キャンセル & 終了 setting.bloom.name = Bloom @@ -747,7 +747,7 @@ mode.attack.description = ウェーブがなく、敵の基地を破壊するこ mode.custom = カスタムルール rules.infiniteresources = 資源の無限化 -rules.reactorexplosions = Reactor Explosions +rules.reactorexplosions = リアクターの爆発 rules.wavetimer = ウェーブの自動進行 rules.waves = ウェーブ rules.attack = アタックモード @@ -755,7 +755,7 @@ rules.enemyCheat = 敵(赤チーム)の資源の無限化 rules.unitdrops = ユニットの戦利品 rules.unitbuildspeedmultiplier = ユニットの製造速度倍率 rules.unithealthmultiplier = ユニットの体力倍率 -rules.blockhealthmultiplier = Block Health Multiplier +rules.blockhealthmultiplier = ブロックの体力倍率 rules.playerhealthmultiplier = プレイヤーの体力倍率 rules.playerdamagemultiplier = プレイヤーのダメージ倍率 rules.unitdamagemultiplier = ユニットのダメージ倍率 @@ -774,7 +774,7 @@ rules.title.resourcesbuilding = 資源 & 建設 rules.title.player = プレイヤー rules.title.enemy = 敵 rules.title.unit = ユニット -rules.title.experimental = Experimental +rules.title.experimental = 実験的なゲームプレイ rules.lighting = Lighting rules.ambientlight = Ambient Light @@ -824,7 +824,7 @@ mech.trident-ship.name = トライデント mech.trident-ship.weapon = 爆弾 mech.glaive-ship.name = グライブ mech.glaive-ship.weapon = 焼夷弾 -item.corestorable = [lightgray]Storable in Core: {0} +item.corestorable = [lightgray]コアに保存可能: {0} item.explosiveness = [lightgray]爆発性: {0}% item.flammability = [lightgray]可燃性: {0}% item.radioactivity = [lightgray]放射能: {0}% @@ -932,15 +932,13 @@ block.lancer.name = ランサー block.conveyor.name = コンベアー block.titanium-conveyor.name = チタンコンベアー block.armored-conveyor.name = 装甲コンベア -block.armored-conveyor.description = チタンコンベアーと同じ速度でアイテムを輸送することができ、耐久性に優れています。\nまた、ほかのコンベアーからの側面からの入力は受け取ることができません。 block.junction.name = ジャンクション block.router.name = ルーター block.distributor.name = ディストリビューター block.sorter.name = ソーター block.inverted-sorter.name = 反転ソーター block.message.name = メッセージブロック -block.illuminator.name = Illuminator -block.illuminator.description = A small, compact, configurable light source. Requires power to function. +block.illuminator.name = イルミネーター block.overflow-gate.name = オーバーフローゲート block.silicon-smelter.name = シリコン溶鉱炉 block.phase-weaver.name = フェーズ織機 @@ -954,7 +952,7 @@ block.coal-centrifuge.name = 石炭遠心分離機 block.power-node.name = 電源ノード block.power-node-large.name = 大型電源ノード block.surge-tower.name = サージタワー -block.diode.name = Battery Diode +block.diode.name = バッテリーダイオード block.battery.name = バッテリー block.battery-large.name = 大型バッテリー block.combustion-generator.name = 火力発電機 @@ -978,7 +976,7 @@ block.mechanical-pump.name = 機械ポンプ block.item-source.name = アイテムソース block.item-void.name = アイテムボイド block.liquid-source.name = 液体ソース -block.liquid-void.name = Liquid Void +block.liquid-void.name = 液体ボイド block.power-void.name = 電力ボイド block.power-source.name = 無限電源 block.unloader.name = 搬出機 @@ -1008,7 +1006,7 @@ block.fortress-factory.name = フォートレスユニット製造機 block.revenant-factory.name = レベナントファイター製造機 block.repair-point.name = 修復ポイント block.pulse-conduit.name = パルスパイプ -block.plated-conduit.name = Plated Conduit +block.plated-conduit.name = メッキパイプ block.phase-conduit.name = フェーズパイプ block.liquid-router.name = 液体ルーター block.liquid-tank.name = 液体タンク @@ -1121,6 +1119,7 @@ unit.wraith.description = 高速で突撃攻撃が可能な迎撃ユニットで unit.ghoul.description = 重爆撃機です。敵の重要な建造物を優先して破壊します。 unit.revenant.description = 空中からミサイルを発射する重爆撃機です。 block.message.description = メッセージを保存し、仲間間の通信に使用します。 +block.illuminator.description = コンパクトな光源です。電力が必要です。 block.graphite-press.description = 石炭を圧縮し、黒鉛を生成します。 block.multi-press.description = 黒鉛圧縮機のアップグレード版です。水と電力を使用して、より効率的に石炭を圧縮します。 block.silicon-smelter.description = 石炭と砂からシリコンを製造します。 @@ -1142,13 +1141,13 @@ block.power-source.description = 無限に電力を出力します。サンド block.item-source.description = アイテムを無限に搬出します。サンドボックスモードのみ使用できます。 block.item-void.description = 電力を必要とせずにアイテムを廃棄します。サンドボックスモードのみ使用できます。 block.liquid-source.description = 液体を無限に搬出します。サンドボックスモードのみ使用できます。 -block.liquid-void.description = Removes any liquids. Sandbox only. +block.liquid-void.description = 液体を破棄できます。サンドボックスモードのみ使用できます。 block.copper-wall.description = 安価な防壁ブロックです。\n最初のウェーブでコアやターレットを保護するのに有用です。 block.copper-wall-large.description = 安価な大型防壁ブロックです。\n最初のウェーブでコアやターレットを保護するのに有用です。 block.titanium-wall.description = 適度に強力な防壁ブロックです。\n中程度の攻撃から保護します。 block.titanium-wall-large.description = 適度に強力な大型防壁ブロックです。\n中程度の攻撃から保護します。 -block.plastanium-wall.description = A special type of wall that absorbs electric arcs and blocks automatic power node connections. -block.plastanium-wall-large.description = A special type of wall that absorbs electric arcs and blocks automatic power node connections.\nSpans multiple tiles. +block.plastanium-wall.description = 電気アークを吸収し、電源ノードの自動接続をブロックする特別な壁です。 +block.plastanium-wall-large.description = 電気アークを吸収し、電源ノードの自動接続をブロックする特別な壁です。\nSpans multiple tiles. block.thorium-wall.description = 強化された防壁ブロックです。\n敵からの保護により強固です。 block.thorium-wall-large.description = 強化された大型防壁ブロックです。\n敵からの保護により強固です。 block.phase-wall.description = トリウムの壁ほど強固ではないが、強力な弾でなければ弾き返すことができます。 @@ -1164,6 +1163,7 @@ block.force-projector.description = 周囲に六角形の力場を作り出し block.shock-mine.description = 踏んだ敵にダメージを与えます。敵に見えることはありません。 block.conveyor.description = 一般的なアイテム輸送ブロックです。アイテムを前方に移動し、自動的にターレットや機械などに搬入します。回転させることができます。 block.titanium-conveyor.description = 改良されたアイテム輸送ブロックです。通常のコンベアーよりも速くアイテムを輸送します。 +block.armored-conveyor.description = チタンコンベアーと同じ速度でアイテムを輸送することができ、耐久性に優れています。\nまた、コンベアー以外による側面への入力を受け入れません。 block.junction.description = 十字に交差したコンベアーをそれぞれ前方に搬出します。コンベアーで複雑な構造を組み立てるときに便利です。 block.bridge-conveyor.description = 高度な輸送ブロックです。地形や建物を超えて、3ブロック離れた場所にアイテムを輸送することができます。 block.phase-conveyor.description = 改良されたアイテム転送ブロックです。電力を使用して、離れた場所にあるフェーズコンベアーにアイテムを転送することができます。 @@ -1177,8 +1177,8 @@ block.mechanical-pump.description = 安価なポンプです。搬出速度は block.rotary-pump.description = 高度なポンプです。電力を使用して2倍速く搬出することができます。 block.thermal-pump.description = 最高性能のポンプです。 block.conduit.description = 一般的な液体輸送ブロックです。液体版のコンベアーです。ポンプや他のパイプに使うことができます。 -block.pulse-conduit.description = 高度な液体輸送ブロックです。通常のパイプより速く、たくさんのアイテムを輸送することができます。 -block.plated-conduit.description = Moves liquids at the same rate as pulse conduits, but possesses more armor. Does not accept fluids from the sides by anything other than conduits.\nLeaks less. +block.pulse-conduit.description = 高度な液体輸送ブロックです。通常のパイプより速くたくさんの液体を輸送することができます。 +block.plated-conduit.description = パルスパイプと同じ速度で液体を輸送することができ、耐久性に優れています。\nまた、パイプ以外による側面への入力を受け入れません。 block.liquid-router.description = 搬入したアイテムをほかの3方向に均等に搬出します。液体の漏れを防ぐことができます。一つの資源から複数に分ける際などに使われます。 block.liquid-tank.description = 大量の液体を保管しておくことができます。需要が不安定な製造設備や重要な施設の冷却水の予備などとして使用されます。 block.liquid-junction.description = パイプを他のパイプと交差できるようにします。それぞれ搬入した液体を前方に搬出します。パイプで複雑な構造を組み立てるときなどに使われます。 @@ -1187,7 +1187,7 @@ block.phase-conduit.description = 高度な液体輸送ブロックです。電 block.power-node.description = 電力ノード間で電力の送電を行います。最大で4つの電力源やノードなどに接続できます。隣接するブロックから電力の送電や供給を行います。 block.power-node-large.description = 巨大な電力ノードです。最大で6つの電力源やノードに接続できます。 block.surge-tower.description = 接続できる量は少ないが、とても長い距離を接続できる電力ノードです。 -block.diode.description = Battery power can flow through this block in only one direction, but only if the other side has less power stored. +block.diode.description = 送信元と送信先の電力を比べて、送信先の電力の方が少ない場合、電力を通します。 block.battery.description = 余分な電力の充電して、貯めておくことができます。必要があれば、溜まった電力を供給します。 block.battery-large.description = 通常のバッテリーよりもたくさんの電力を溜めておくことができます。 block.combustion-generator.description = 石油や可燃性の物質を燃やして発電します。 From f88fe898ffc2dd0645e291af8f5862ffdcb4462e Mon Sep 17 00:00:00 2001 From: Anuken Date: Sun, 1 Mar 2020 21:23:50 -0500 Subject: [PATCH 37/62] Updated bundle --- core/assets/bundles/bundle.properties | 2 +- fastlane/metadata/android/en-US/changelogs/104.4.txt | 4 ++++ fastlane/metadata/android/en-US/changelogs/29618.txt | 6 ++++++ fastlane/metadata/android/en-US/changelogs/29620.txt | 4 ++++ gradle.properties | 2 +- 5 files changed, 16 insertions(+), 2 deletions(-) create mode 100644 fastlane/metadata/android/en-US/changelogs/104.4.txt create mode 100644 fastlane/metadata/android/en-US/changelogs/29618.txt create mode 100644 fastlane/metadata/android/en-US/changelogs/29620.txt diff --git a/core/assets/bundles/bundle.properties b/core/assets/bundles/bundle.properties index 782aa54a14..1d84a3c859 100644 --- a/core/assets/bundles/bundle.properties +++ b/core/assets/bundles/bundle.properties @@ -159,7 +159,7 @@ server.kicked.gameover = Game over! server.kicked.serverRestarting = The server is restarting. server.versions = Your version:[accent] {0}[]\nServer version:[accent] {1}[] host.info = The [accent]host[] button hosts a server on port [scarlet]6567[]. \nAnybody on the same [lightgray]wifi or local network[] should be able to see your server in their server list.\n\nIf you want people to be able to connect from anywhere by IP, [accent]port forwarding[] is required.\n\n[lightgray]Note: If someone is experiencing trouble connecting to your LAN game, make sure you have allowed Mindustry access to your local network in your firewall settings. Note that public networks sometimes do not allow server discovery. -join.info = Here, you can enter a [accent]server IP[] to connect to, or discover [accent]local network[] servers to connect to.\nBoth LAN and WAN multiplayer is supported.\n\n[lightgray]Note: There is no automatic global server list; if you want to connect to someone by IP, you would need to ask the host for their IP. +join.info = Here, you can enter a [accent]server IP[] to connect to, or discover [accent]local network[] or [accent]global[] servers to connect to.\nBoth LAN and WAN multiplayer is supported.\n\n[lightgray]If you want to connect to someone by IP, you would need to ask the host for their IP, which can be found by googling "my ip" from their device. hostserver = Host Multiplayer Game invitefriends = Invite Friends hostserver.mobile = Host\nGame diff --git a/fastlane/metadata/android/en-US/changelogs/104.4.txt b/fastlane/metadata/android/en-US/changelogs/104.4.txt new file mode 100644 index 0000000000..4790ed135d --- /dev/null +++ b/fastlane/metadata/android/en-US/changelogs/104.4.txt @@ -0,0 +1,4 @@ +- Updated feature suggestion link +- Updated translations +- Fixed modified player name persisting after server is exited +- Added solar power multiplier rule diff --git a/fastlane/metadata/android/en-US/changelogs/29618.txt b/fastlane/metadata/android/en-US/changelogs/29618.txt new file mode 100644 index 0000000000..6f3e27fb4d --- /dev/null +++ b/fastlane/metadata/android/en-US/changelogs/29618.txt @@ -0,0 +1,6 @@ +- Optimized and cleaned up conveyors +- Made unloaders take items from blocks in equal amounts +- Added server categories (Partially contributed by @Quezler) +- Added require() function for scripts (Contributed by @DeltaNedas) +- Added color gradient for battery status (Contributed by @Arkanic (eventually)) +- Changed script loading: For mods with more than one script file, the main file must be named "main.js" and must require() other files to run them diff --git a/fastlane/metadata/android/en-US/changelogs/29620.txt b/fastlane/metadata/android/en-US/changelogs/29620.txt new file mode 100644 index 0000000000..4790ed135d --- /dev/null +++ b/fastlane/metadata/android/en-US/changelogs/29620.txt @@ -0,0 +1,4 @@ +- Updated feature suggestion link +- Updated translations +- Fixed modified player name persisting after server is exited +- Added solar power multiplier rule diff --git a/gradle.properties b/gradle.properties index f9d6427031..6a5b0bc804 100644 --- a/gradle.properties +++ b/gradle.properties @@ -1,3 +1,3 @@ org.gradle.daemon=true org.gradle.jvmargs=-Xms256m -Xmx1024m -archash=209a66920d1968e4ec5ed80fa7a6c0cf6a070d1b +archash=8f106aca9385924404e9f2125006d2b16457af4b From d3b7dd973f14b1cdd7d273902dea74246a680124 Mon Sep 17 00:00:00 2001 From: Aldas <45396524+TheAldas@users.noreply.github.com> Date: Mon, 2 Mar 2020 17:02:56 +0200 Subject: [PATCH 38/62] Grammar corrections (#1656) Grammar and logic corrections --- core/assets/bundles/bundle_lt.properties | 28 ++++++++++++------------ 1 file changed, 14 insertions(+), 14 deletions(-) diff --git a/core/assets/bundles/bundle_lt.properties b/core/assets/bundles/bundle_lt.properties index e0fe6a9825..c1b01cf15f 100644 --- a/core/assets/bundles/bundle_lt.properties +++ b/core/assets/bundles/bundle_lt.properties @@ -561,7 +561,7 @@ blocks.productiontime = Gamybos Laikas blocks.repairtime = Pilnas bloko sutaisymo laikas blocks.speedincrease = Greičio Padidėjimas blocks.range = Atstumas -blocks.drilltier = Gręžiamieji +blocks.drilltier = Gręžiama blocks.drillspeed = Bazinis Grąžto Greitis blocks.boosteffect = Pastiprinimo Efektas blocks.maxunits = Maks. Aktyvių Vienetų Kiekis @@ -573,11 +573,11 @@ blocks.shots = Šūviai blocks.reload = Šūviai per sekundę blocks.ammo = Šoviniai -bar.drilltierreq = Privolomas Geresnis Grąžtas +bar.drilltierreq = Privalomas Geresnis Grąžtas bar.drillspeed = Grąžto Greitis: {0}/s bar.pumpspeed = Pompos Greitis: {0}/s bar.efficiency = Efektyvumas: {0}% -bar.powerbalance = Power: {0}/s +bar.powerbalance = Energija: {0}/s bar.powerstored = Sukaupta: {0}/{1} bar.poweramount = Energija: {0} bar.poweroutput = Energijos Išeiga: {0} @@ -594,7 +594,7 @@ bar.output = Išeiga bullet.damage = [stat]{0}[lightgray] žalos bullet.splashdamage = [stat]{0}[lightgray] zonos žalos ~[stat] {1}[lightgray] blokai bullet.incendiary = [stat]uždegantis -bullet.homing = [stat]nukreipiamasis +bullet.homing = [stat]sekimas bullet.shock = [stat]šokas bullet.frag = [stat]skilantis bullet.knockback = [stat]{0}[lightgray] numušimas @@ -689,7 +689,7 @@ keybinds.mobile = [scarlet]Dauguma valdymo mygtukų neveikia telefone. Tik papar category.general.name = Bendra category.view.name = Vaizdas category.multiplayer.name = Žaidimas Tinkle -command.attack = Puolti +command.attack = Pulti command.rally = Susitelkti command.retreat = Atsitraukti placement.blockselectkeys = \n[lightgray]Key: [{0}, @@ -870,7 +870,7 @@ block.shale-boulder.name = Skalūno Riedulys block.moss.name = Samanos block.shrubs.name = Krūmai block.spore-moss.name = Sporų Samanos -block.shalerocks.name = Skalūnos Uolienos +block.shalerocks.name = Skalūno Uolienos block.scrap-wall.name = Laužo Siena block.scrap-wall-large.name = Didelė Laužo Siena block.scrap-wall-huge.name = Didžiulė Laužo Siena @@ -930,8 +930,8 @@ block.titanium-wall.name = Titano Siena block.titanium-wall-large.name = Didelė Titano Siena block.plastanium-wall.name = Plastaniumo Siena block.plastanium-wall-large.name = Didelė Plastaniumo Siena -block.phase-wall.name = Fazės Siena -block.phase-wall-large.name = Didelė Fazės Siena +block.phase-wall.name = Fazinė Siena +block.phase-wall-large.name = Didelė Fazinė Siena block.thorium-wall.name = Torio Siena block.thorium-wall-large.name = Didelė Torio Siena block.door.name = Durys @@ -956,7 +956,7 @@ block.illuminator.description = Mažas, kompaktiškas, konfigūruojamas šviesos block.overflow-gate.name = Perpildymo Užtvara block.underflow-gate.name = Neperpildymo Užtvara block.silicon-smelter.name = Silicio Lydykla -block.phase-weaver.name = Fazės Audėjas +block.phase-weaver.name = Fazinė Audykla block.pulverizer.name = Pulverizatorius block.cryofluidmixer.name = Krio Skysčio Maišytojas block.melter.name = Lydytuvas @@ -972,8 +972,8 @@ block.battery.name = Baterija block.battery-large.name = Didelė Baterija block.combustion-generator.name = Vidaus Degimo Generatorius block.turbine-generator.name = Garų Generatorius -block.differential-generator.name = Differential Generator -block.impact-reactor.name = Smūgio Reaktorius +block.differential-generator.name = Diferencialinis Generatorius +block.impact-reactor.name = Smūginis Reaktorius block.mechanical-drill.name = Mechaninis Grąžtas block.pneumatic-drill.name = Pneumatinis Grąžtas block.laser-drill.name = Lazerinis Grąžtas @@ -1029,11 +1029,11 @@ block.liquid-junction.name = Skysčių Sandūra block.bridge-conduit.name = Tiltinis Vamzdis block.rotary-pump.name = Rotacinis Siurblys block.thorium-reactor.name = Torio Reaktorius -block.mass-driver.name = Elektromagnetė Katapulta +block.mass-driver.name = Elektromagnetinė Katapulta block.blast-drill.name = Oro Srovės Grąžtas block.thermal-pump.name = Terminė Pompa block.thermal-generator.name = Terminis Generatorius -block.alloy-smelter.name = Alloy Smelter +block.alloy-smelter.name = Lydinio Lydykla block.mender.name = Taisytojas block.mend-projector.name = Taisymo Projektorius block.surge-wall.name = Viršįtampio Siena @@ -1136,7 +1136,7 @@ unit.revenant.description = Sunkus, skraidantis raketų masyvas. block.message.description = Laiko žinutę. Naudojama komunikacijai tarp sąjungininkų. block.graphite-press.description = Sukompresuoja anglies gabalus į grynas grafito plokštes. block.multi-press.description = Patobulinta grafito preso versija. Pasitelkia vandenį ir energiją greitam ir efektyviam anglies apdirbimui. -block.silicon-smelter.description = Rekuoja smėlį su gryna anglimi. Gamina silicį. +block.silicon-smelter.description = Redukuoja smėlį su gryna anglimi. Gamina silicį. block.kiln.description = Sulydo smėlį ir stiklą į junginį žinomą kaip meta stiklas. Veikimui reikalinga nedaug energijos. block.plastanium-compressor.description = Gamina plastaniumą iš naftos ir titano. block.phase-weaver.description = Susintetina fazinį audinį iš radioaktyvaus torio ir smėlio. Veikimui reikalingas didžiulis kiekis energijos. From b512169d443d65e641397c45b28d1d0043086b52 Mon Sep 17 00:00:00 2001 From: Recessive <61154659+Recessive@users.noreply.github.com> Date: Tue, 3 Mar 2020 02:40:50 +1100 Subject: [PATCH 39/62] Added AA ffa to server list (#1605) * Added AA ffa to server list * Changed ip to use custom domain --- servers.json | 3 +++ 1 file changed, 3 insertions(+) diff --git a/servers.json b/servers.json index 2c0ab994b1..56c8a52456 100644 --- a/servers.json +++ b/servers.json @@ -34,5 +34,8 @@ }, { "address": "mindustry.io:3000" + }, + { + "address": "aamindustry.play.ai" } ] From ceac809c1d8e3bfdb0503925973200a3f010b9a0 Mon Sep 17 00:00:00 2001 From: Anuken Date: Mon, 2 Mar 2020 10:44:56 -0500 Subject: [PATCH 40/62] Cleanup --- core/src/mindustry/core/Logic.java | 2 -- 1 file changed, 2 deletions(-) diff --git a/core/src/mindustry/core/Logic.java b/core/src/mindustry/core/Logic.java index 4e1e4a5c29..a693000846 100644 --- a/core/src/mindustry/core/Logic.java +++ b/core/src/mindustry/core/Logic.java @@ -16,7 +16,6 @@ import mindustry.type.*; import mindustry.world.*; import mindustry.world.blocks.*; import mindustry.world.blocks.BuildBlock.*; -import mindustry.world.blocks.power.*; import java.util.*; @@ -246,7 +245,6 @@ public class Logic implements ApplicationListener{ collisions.updatePhysics(unitGroup); } - playerGroup.update(); //effect group only contains item transfers in the headless version, update it! From 8e9dabb350626700fb40172b083da852a3966785 Mon Sep 17 00:00:00 2001 From: fuzzbuck <54221024+fuzzbuck@users.noreply.github.com> Date: Mon, 2 Mar 2020 19:37:04 +0100 Subject: [PATCH 41/62] Add "pardon" command for votekicks (#1570) * Add "pardon" command Allows players who have been incorrectly votekicked to join again * isn't hasn't * getInfoOptional & space * pardon me no pun intended * Update ServerControl.java --- server/src/mindustry/server/ServerControl.java | 11 +++++++++++ 1 file changed, 11 insertions(+) diff --git a/server/src/mindustry/server/ServerControl.java b/server/src/mindustry/server/ServerControl.java index a92cbdebec..6ecc42fb05 100644 --- a/server/src/mindustry/server/ServerControl.java +++ b/server/src/mindustry/server/ServerControl.java @@ -659,6 +659,17 @@ public class ServerControl implements ApplicationListener{ err("That IP/ID is not banned!"); } }); + + handler.register("pardon", "", "Pardons a votekicked player by ID and allows them to join again.", arg -> { + PlayerInfo info = netServer.admins.getInfoOptional(arg[0]); + + if(info != null){ + info.lastKicked = 0; + info("Pardoned player: {0}", info.lastName); + }else{ + err("That ID can't be found."); + } + }); handler.register("admin", " ", "Make an online user admin", arg -> { if(!state.is(State.playing)){ From cdb8682d433e84d55d36dd6046183dcd95586e63 Mon Sep 17 00:00:00 2001 From: Aldas <45396524+TheAldas@users.noreply.github.com> Date: Tue, 3 Mar 2020 17:36:34 +0200 Subject: [PATCH 42/62] Updated data.import.confirm lane (#1658) Updated data.import.confirm lane --- core/assets/bundles/bundle_lt.properties | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/core/assets/bundles/bundle_lt.properties b/core/assets/bundles/bundle_lt.properties index c1b01cf15f..662753e99e 100644 --- a/core/assets/bundles/bundle_lt.properties +++ b/core/assets/bundles/bundle_lt.properties @@ -259,7 +259,7 @@ data.import = Importuoti Duomenis data.openfolder = Atidaryti Duomenų Aplanką data.exported = Duomenys Eksportuoti. data.invalid = Tai nėra veikiantys žaidimo duomenys. -data.import.confirm = Importuojant išorinius duomenis bus ištrinti[scarlet] visi[] +data.import.confirm = Importuojant išorinius duomenis bus ištrinti[scarlet] visi esami duomenys[] ų esami žaidimo duomenys.\n[accent]Tai negali būti atkurta![]\n\nŽaidimas bus išjungtas iš karto po duomenų importavimo. classic.export = Eksportuoti Klasikinius Duomenis classic.export.text = [accent]Mindustry[] has just had a major update.\nClassic (v3.5 build 40) save or map data has been detected. Would you like to export these saves to your phone's home folder, for use in the Mindustry Classic app? From e8823fab36db263af1a0e5bbb4eb1fe025264ba6 Mon Sep 17 00:00:00 2001 From: Anuken Date: Tue, 3 Mar 2020 12:11:35 -0500 Subject: [PATCH 43/62] More concise stream class --- tools/src/mindustry/tools/FontGenerator.java | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/tools/src/mindustry/tools/FontGenerator.java b/tools/src/mindustry/tools/FontGenerator.java index 2ebb8fd2a0..f38766f37d 100644 --- a/tools/src/mindustry/tools/FontGenerator.java +++ b/tools/src/mindustry/tools/FontGenerator.java @@ -31,7 +31,7 @@ public class FontGenerator{ String session = folder.child("session").readString(); net.httpGet("http://fontello.com/" + session + "/get", result -> { try{ - Streams.copyStream(result.getResultAsStream(), folder.child("font.zip").write()); + Streams.copy(result.getResultAsStream(), folder.child("font.zip").write()); }catch(IOException e){ throw new RuntimeException(e); } From 2a191a45be6fda203fa02f88b580f3006f3efa16 Mon Sep 17 00:00:00 2001 From: Anuken Date: Tue, 3 Mar 2020 12:11:47 -0500 Subject: [PATCH 44/62] Cleanup --- core/src/mindustry/game/GlobalData.java | 2 +- core/src/mindustry/mod/Mods.java | 3 +-- core/src/mindustry/ui/dialogs/ModsDialog.java | 2 +- gradle.properties | 2 +- 4 files changed, 4 insertions(+), 5 deletions(-) diff --git a/core/src/mindustry/game/GlobalData.java b/core/src/mindustry/game/GlobalData.java index 0e72ef7245..f91c8dc679 100644 --- a/core/src/mindustry/game/GlobalData.java +++ b/core/src/mindustry/game/GlobalData.java @@ -49,7 +49,7 @@ public class GlobalData{ for(Fi add : files){ if(add.isDirectory()) continue; zos.putNextEntry(new ZipEntry(add.path().substring(base.length()))); - Streams.copyStream(add.read(), zos); + Streams.copy(add.read(), zos); zos.closeEntry(); } diff --git a/core/src/mindustry/mod/Mods.java b/core/src/mindustry/mod/Mods.java index 752a261b77..6c3151b6c7 100644 --- a/core/src/mindustry/mod/Mods.java +++ b/core/src/mindustry/mod/Mods.java @@ -21,7 +21,6 @@ import mindustry.game.EventType.*; import mindustry.gen.*; import mindustry.graphics.*; import mindustry.graphics.MultiPacker.*; -import mindustry.plugin.*; import mindustry.type.*; import mindustry.ui.*; @@ -118,7 +117,7 @@ public class Mods implements Loadable{ private void packSprites(Array sprites, LoadedMod mod, boolean prefix){ for(Fi file : sprites){ try(InputStream stream = file.read()){ - byte[] bytes = Streams.copyStreamToByteArray(stream, Math.max((int)file.length(), 512)); + byte[] bytes = Streams.copyBytes(stream, Math.max((int)file.length(), 512)); Pixmap pixmap = new Pixmap(bytes, 0, bytes.length); packer.add(getPage(file), (prefix ? mod.name + "-" : "") + file.nameWithoutExtension(), new PixmapRegion(pixmap)); pixmap.dispose(); diff --git a/core/src/mindustry/ui/dialogs/ModsDialog.java b/core/src/mindustry/ui/dialogs/ModsDialog.java index ca89f3a6a6..00d6e2351f 100644 --- a/core/src/mindustry/ui/dialogs/ModsDialog.java +++ b/core/src/mindustry/ui/dialogs/ModsDialog.java @@ -40,7 +40,7 @@ public class ModsDialog extends FloatingDialog{ }else{ try{ Fi file = tmpDirectory.child(text.replace("/", "") + ".zip"); - Streams.copyStream(result.getResultAsStream(), file.write(false)); + Streams.copy(result.getResultAsStream(), file.write(false)); mods.importMod(file); file.delete(); Core.app.post(() -> { diff --git a/gradle.properties b/gradle.properties index 6a5b0bc804..878d926439 100644 --- a/gradle.properties +++ b/gradle.properties @@ -1,3 +1,3 @@ org.gradle.daemon=true org.gradle.jvmargs=-Xms256m -Xmx1024m -archash=8f106aca9385924404e9f2125006d2b16457af4b +archash=23a7b4c41d1723835af9b79aab1093384cfcc621 From 503607e36a03f030f01707b2b2a832df895984fb Mon Sep 17 00:00:00 2001 From: Anuken Date: Wed, 4 Mar 2020 08:39:48 -0500 Subject: [PATCH 45/62] Fixed #1661 --- core/src/mindustry/core/NetServer.java | 2 +- gradle.properties | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/core/src/mindustry/core/NetServer.java b/core/src/mindustry/core/NetServer.java index 0189930a4b..cc06401a18 100644 --- a/core/src/mindustry/core/NetServer.java +++ b/core/src/mindustry/core/NetServer.java @@ -48,7 +48,7 @@ public class NetServer implements ApplicationListener{ if(state.rules.pvp){ //find team with minimum amount of players and auto-assign player to that. TeamData re = state.teams.getActive().min(data -> { - if(state.rules.waveTeam == data.team || !data.team.active()) return Integer.MAX_VALUE; + if((state.rules.waveTeam == data.team && state.rules.waves) || !data.team.active()) return Integer.MAX_VALUE; int count = 0; for(Player other : players){ diff --git a/gradle.properties b/gradle.properties index 878d926439..9a6d877821 100644 --- a/gradle.properties +++ b/gradle.properties @@ -1,3 +1,3 @@ org.gradle.daemon=true org.gradle.jvmargs=-Xms256m -Xmx1024m -archash=23a7b4c41d1723835af9b79aab1093384cfcc621 +archash=69ef047313449905aff6d1390d7136f9c7cdc986 From c96427c722b5785c460005d8e4ad37c8f7686d14 Mon Sep 17 00:00:00 2001 From: Anuken Date: Wed, 4 Mar 2020 09:01:41 -0500 Subject: [PATCH 46/62] Bugfixes --- core/src/mindustry/core/Control.java | 6 +++--- core/src/mindustry/mod/Mods.java | 1 + .../ui/dialogs/CustomGameDialog.java | 1 - desktop/src/mindustry/desktop/steam/SNet.java | 19 ++++++++----------- 4 files changed, 12 insertions(+), 15 deletions(-) diff --git a/core/src/mindustry/core/Control.java b/core/src/mindustry/core/Control.java index 7c86601bb3..2a064ada79 100644 --- a/core/src/mindustry/core/Control.java +++ b/core/src/mindustry/core/Control.java @@ -3,12 +3,12 @@ package mindustry.core; import arc.*; import arc.assets.*; import arc.audio.*; -import arc.struct.*; import arc.graphics.*; import arc.graphics.g2d.*; import arc.input.*; import arc.math.geom.*; import arc.scene.ui.*; +import arc.struct.*; import arc.util.*; import mindustry.content.*; import mindustry.core.GameState.*; @@ -114,7 +114,7 @@ public class Control implements ApplicationListener, Loadable{ }); //autohost for pvp maps - Events.on(WorldLoadEvent.class, event -> { + Events.on(WorldLoadEvent.class, event -> app.post(() -> { if(state.rules.pvp && !net.active()){ try{ net.host(port); @@ -124,7 +124,7 @@ public class Control implements ApplicationListener, Loadable{ Core.app.post(() -> state.set(State.menu)); } } - }); + })); Events.on(UnlockEvent.class, e -> ui.hudfrag.showUnlock(e.content)); diff --git a/core/src/mindustry/mod/Mods.java b/core/src/mindustry/mod/Mods.java index 6c3151b6c7..66dc8d6fa7 100644 --- a/core/src/mindustry/mod/Mods.java +++ b/core/src/mindustry/mod/Mods.java @@ -21,6 +21,7 @@ import mindustry.game.EventType.*; import mindustry.gen.*; import mindustry.graphics.*; import mindustry.graphics.MultiPacker.*; +import mindustry.plugin.*; import mindustry.type.*; import mindustry.ui.*; diff --git a/core/src/mindustry/ui/dialogs/CustomGameDialog.java b/core/src/mindustry/ui/dialogs/CustomGameDialog.java index f47a3ac796..9b3107820a 100644 --- a/core/src/mindustry/ui/dialogs/CustomGameDialog.java +++ b/core/src/mindustry/ui/dialogs/CustomGameDialog.java @@ -73,7 +73,6 @@ public class CustomGameDialog extends FloatingDialog{ image.row(); image.add(img).size(images); - BorderImage border = new BorderImage(map.safeTexture(), 3f); border.setScaling(Scaling.fit); image.replaceImage(border); diff --git a/desktop/src/mindustry/desktop/steam/SNet.java b/desktop/src/mindustry/desktop/steam/SNet.java index 218b02ca42..3e2ec342e7 100644 --- a/desktop/src/mindustry/desktop/steam/SNet.java +++ b/desktop/src/mindustry/desktop/steam/SNet.java @@ -1,16 +1,16 @@ package mindustry.desktop.steam; import arc.*; +import arc.func.*; +import arc.struct.*; +import arc.util.*; +import arc.util.pooling.*; import com.codedisaster.steamworks.*; import com.codedisaster.steamworks.SteamFriends.*; import com.codedisaster.steamworks.SteamMatchmaking.*; import com.codedisaster.steamworks.SteamNetworking.*; -import arc.struct.*; -import arc.func.*; -import arc.util.*; -import arc.util.pooling.*; import mindustry.core.GameState.*; -import mindustry.core.Version; +import mindustry.core.*; import mindustry.game.EventType.*; import mindustry.game.*; import mindustry.net.ArcNetProvider.*; @@ -240,12 +240,9 @@ public class SNet implements SteamNetworkingCallback, SteamMatchmakingCallback, return; } - if(net.active()){ - net.disconnect(); - net.closeServer(); - logic.reset(); - state.set(State.menu); - } + logic.reset(); + net.reset(); + state.set(State.menu); currentLobby = steamIDLobby; currentServer = smat.getLobbyOwner(steamIDLobby); From 3b2b7be72afc80ef30beb9ed13222fd68500055c Mon Sep 17 00:00:00 2001 From: Patrick 'Quezler' Mounier Date: Wed, 4 Mar 2020 17:58:16 +0100 Subject: [PATCH 47/62] Remove nested app.post (#1667) --- core/src/mindustry/core/Control.java | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/core/src/mindustry/core/Control.java b/core/src/mindustry/core/Control.java index 2a064ada79..657c9c74e2 100644 --- a/core/src/mindustry/core/Control.java +++ b/core/src/mindustry/core/Control.java @@ -121,7 +121,7 @@ public class Control implements ApplicationListener, Loadable{ player.isAdmin = true; }catch(IOException e){ ui.showException("$server.error", e); - Core.app.post(() -> state.set(State.menu)); + state.set(State.menu); } } })); From a5e07bfd29521e5181f259ed19d1e1fd0aeed64d Mon Sep 17 00:00:00 2001 From: Anuken Date: Wed, 4 Mar 2020 13:51:56 -0500 Subject: [PATCH 48/62] Created fastlane/metadata/android/ru-RU/changelogs (#1669) * Created fastlane/metadata/android/ru-RU/changelogs 104.4.txt * Update 104.4.txt --- fastlane/metadata/android/ru-RU/changelogs/104.4.txt | 4 ++++ 1 file changed, 4 insertions(+) create mode 100644 fastlane/metadata/android/ru-RU/changelogs/104.4.txt diff --git a/fastlane/metadata/android/ru-RU/changelogs/104.4.txt b/fastlane/metadata/android/ru-RU/changelogs/104.4.txt new file mode 100644 index 0000000000..49c499f087 --- /dev/null +++ b/fastlane/metadata/android/ru-RU/changelogs/104.4.txt @@ -0,0 +1,4 @@ +- Обновлена ссылка для предложений новых возможностей +- Обновлены переводы +- Исправлена ошибка, из-за которой имя игрока, изменённое сервером, оставалось после выхода +- Добавлено правило множителя солнечной энергии From 2684a960fa5b100cc7c2e03548aede970e21e8b3 Mon Sep 17 00:00:00 2001 From: Anuken Date: Wed, 4 Mar 2020 13:52:02 -0500 Subject: [PATCH 49/62] Create 104.4 (#1671) * Create 104.4 * Update 104.4 --- fastlane/metadata/android/uk/changelogs/104.4 | 4 ++++ 1 file changed, 4 insertions(+) create mode 100644 fastlane/metadata/android/uk/changelogs/104.4 diff --git a/fastlane/metadata/android/uk/changelogs/104.4 b/fastlane/metadata/android/uk/changelogs/104.4 new file mode 100644 index 0000000000..9a5813fab6 --- /dev/null +++ b/fastlane/metadata/android/uk/changelogs/104.4 @@ -0,0 +1,4 @@ +- Оновлено посилання, яке веде на сторінку, де можна запропонувати нову можливість +- Оновлено переклади +- Виправлено помилка, через яку ім'я гравця, змінене серером, залишається +- Додано користувацьке правило — множник сонячної енергії From c7112a706a88a85692c15d377e43943cf503d0b7 Mon Sep 17 00:00:00 2001 From: Anuken Date: Wed, 4 Mar 2020 13:52:20 -0500 Subject: [PATCH 50/62] Update bundle_uk_UA.properties (#1636) * Update bundle_uk_UA.properties * Update uk metadata * Update uk bundles * Update achievemnts --- core/assets/bundles/bundle_uk_UA.properties | 134 +++++++++--------- .../metadata/android/uk/full_description.txt | 7 +- .../metadata/steam/ukrainian/achievements.vdf | 24 ++-- .../metadata/steam/ukrainian/description.txt | 9 +- 4 files changed, 88 insertions(+), 86 deletions(-) diff --git a/core/assets/bundles/bundle_uk_UA.properties b/core/assets/bundles/bundle_uk_UA.properties index 5db7865d74..8366371c3c 100644 --- a/core/assets/bundles/bundle_uk_UA.properties +++ b/core/assets/bundles/bundle_uk_UA.properties @@ -39,7 +39,6 @@ be.check = Перевірити на наявність оновлень schematic = Схема schematic.add = Зберегти схему… schematics = Схеми -schematic.replace = Схема з такою ж назвою вже існує. Замінити її? schematic.import = Імпортувати схему… schematic.exportfile = Експортувати файл schematic.importfile = Імпортувати файл @@ -55,7 +54,7 @@ schematic.info = {0}x{1}, {2} блоків stat.wave = Хвиль відбито:[accent] {0} stat.enemiesDestroyed = Ворогів знищено:[accent] {0} -stat.built = Будівель збудувано:[accent] {0} +stat.built = Будівель збудовано:[accent] {0} stat.destroyed = Будівель знищено:[accent] {0} stat.deconstructed = Будівель деконструйовано:[accent] {0} stat.delivered = Ресурсів запущено: @@ -70,7 +69,7 @@ level.select = Вибір мапи level.mode = Режим гри: showagain = Не показувати знову до наступного сеансу coreattack = < Ядро знаходиться під атакою! > -nearpoint = [[ [scarlet]ЗАЛИШТЕ ЗОНУ ВИСАДКИ НЕГАЙНО[] ]\nаннігіляція неминуча. +nearpoint = [[ [scarlet]ЗАЛИШТЕ ЗОНУ ВИСАДКИ НЕГАЙНО[] ]\nанігіляція неминуча. database = База даних ядра savegame = Зберегти гру loadgame = Завантажити гру @@ -83,10 +82,10 @@ position = Місцерозташування close = Закрити website = Вебсайт quit = Вихід -save.quit = Зберегти & Вийти +save.quit = Зберегти та вийти maps = Мапи maps.browse = Перегляд мап -continue = Продовжити +continue = Далі maps.none = [lightgray]Мап не знайдено! invalid = Недійсне pickcolor = Вибрати колір @@ -112,8 +111,8 @@ mod.disable = Вимкнути mod.delete.error = Неможливо видалити модифікацію. Файл, можливо, використовується. mod.requiresversion = [scarlet]Необхідна мінімальна версія гри: [accent]{0} mod.missingdependencies = [scarlet]Відсутні залежності: {0} -mod.erroredcontent = [scarlet]Помилки при завантаженнні -mod.errors = Виникли помилки при завантаження змісту. +mod.erroredcontent = [scarlet]Помилки при завантаженні +mod.errors = Виникли помилки під час завантаження змісту. mod.noerrorplay = [scarlet]Ви маєте модифікації з помилками.[] Або вимкніть проблемні модифікації, або виправте їх. mod.nowdisabled = [scarlet]Модифікації «{0}» не вистачає залежних модифікацій:[accent] {1}\n[lightgray]Ці модифікації потрібно завантажити спочатку.\nЦя модифікація буде автоматично вимкнена. mod.enable = Увімкнути @@ -125,8 +124,8 @@ mod.item.remove = Цей предмет є частиною модифікаці mod.remove.confirm = Цю модифікацію буде видалено. mod.author = [LIGHT_GRAY]Автор:[] {0} mod.missing = Це збереження містить модифікації, які ви нещодавно оновили або більше не встановлювали. Збереження може зіпсуватися. Ви впевнені, що хочете завантажити його?\n[lightgray]Модифікації:\n{0} -mod.preview.missing = До публікації цієї модифікації в Майстерні, ви повинні додати зображення попереднього перегляду.\nПомістіть зображення з назвою [accent] preview.png[] у теку з модификаціями і спробуйте знову. -mod.folder.missing = Тільки модификації у формі теці можуть бути опубліковані в Майстерні.\nЩоб перетворити будь-яку модификацію у теку, просто розархівуйте цей файлу теку та видаліть старий архів, і потім перезапустіть гру або перезавантажте ваші модификації. +mod.preview.missing = До публікації цієї модифікації в Майстерні, ви повинні додати зображення попереднього перегляду.\nПомістіть зображення з назвою [accent] preview.png[] у теку з модифікаціями і спробуйте знову. +mod.folder.missing = Тільки модифікації у формі теці можуть бути опубліковані в Майстерні.\nЩоб перетворити будь-яку модифікацію у теку, просто розархівуйте цей файлу теку та видаліть старий архів, і потім перезапустіть гру або перезавантажте ваші модифікації. mod.scripts.unsupported = Ваш пристрій не підтримує скрипти модифікацій. Деякі модифікації не будуть працювати правильно. about.button = Про гру @@ -160,7 +159,7 @@ server.kicked.gameover = Гра завершена! server.kicked.serverRestarting = Сервер перезавантажується server.versions = Ваша версія:[accent] {0}[]\nВерсія на сервері:[accent] {1}[] host.info = Кнопка [accent]Сервер[] розміщує сервер на порті [scarlet]6567[]. \nКористувачі, які знаходяться у тій же [lightgray]WiFi або локальній мережах[], повинні побачити ваш сервер у своєму списку серверів.\n\nЯкщо ви хочете, щоб люди могли приєднуватися з будь-якої точки планети через IP, то потрібно зробити[accent] переадресація порту[].\n\n[lightgray]Примітка. Якщо у вас виникли проблеми з приєднанням до вашої локальної гри, переконайтеся, що ви дозволили Mindustry доступ до вашої локальної мережі в налаштуваннях брандмауера. Зауважте, що публічні мережі іноді не дозволяють виявити сервер. -join.info = Тут ви можете ввести [accent]IP сервера[] для під’єднання або знайти сервери у [accent]локальній мережі[] для приєднання до них.\nПідтримується локальна мережа(LAN) і широкосмугова мережа(WAN).\n\n[lightgray] Примітка. Це не є автоматичним глобальним списком серверів; якщо ви хочете приєднатися до когось через IP, вам доведеться попросити власникасервера дати свій ip. +join.info = Тут ви можете ввести [accent]IP сервера[] для під’єднання або знайти сервери у [accent]локальній мережі[] для приєднання до них.\nПідтримується локальна мережа(LAN) і широкосмугова мережа(WAN).\n\n[lightgray] Примітка. Це не є автоматичним глобальним списком серверів; якщо ви хочете приєднатися до когось через IP, вам доведеться попросити власника сервера дати свій ip. hostserver = Запустити багатокористувацький сервер invitefriends = Запросити друзів hostserver.mobile = Запустити\nсервер @@ -170,11 +169,13 @@ hosts.refresh = Оновити hosts.discovering = Пошук локальних ігор hosts.discovering.any = Пошук ігор server.refreshing = Оновлення сервера -hosts.none = [lightgray]Локальних ігр не знайдено +hosts.none = [lightgray]Локальних ігор не знайдено host.invalid = [scarlet]Не вдалося під’єднатися до сервера. + servers.local = Локальні сервери servers.remote = Віддалені сервери servers.global = Глобальні сервери + trace = Стежити за гравцем trace.playername = Ім’я гравця: [accent]{0} trace.ip = IP: [accent]{0} @@ -195,7 +196,7 @@ server.version = [lightgray]Версія: {0} server.custombuild = [yellow]Користувацька збірка confirmban = Ви дійсно хочете заблокувати цього гравця? confirmkick = Ви дійсно хочете вигнати цього гравця? -confirmvotekick = Ви дійсно хочете вигнати цього гравця за допомогою голосуванняr? +confirmvotekick = Ви дійсно хочете вигнати цього гравця за допомогою голосування? confirmunban = Ви дійсно хочете розблокувати цього гравця? confirmadmin = Ви дійсно хочете зробити цього гравця адміністратором? confirmunadmin = Ви дійсно хочете видалити статус адміністратора з цього гравця? @@ -203,7 +204,7 @@ joingame.title = Приєднатися до гри joingame.ip = IP: disconnect = Відключено. disconnect.error = Помилка з’єднання. -disconnect.closed = З'єднання закрито. +disconnect.closed = З’єднання закрито. disconnect.timeout = Час вийшов. disconnect.data = Не вдалося завантажити світові дані! cantconnect = Не вдалося під’єднатися до гри ([accent]{0}[]). @@ -230,7 +231,7 @@ save.newslot = Ім’я збереження: save.rename = Перейменувати save.rename.text = Нова назва: selectslot = Виберіть збережений файл. -slot = [accent]Місце збережання{0} +slot = [accent]Місце збереження{0} editmessage = Редагувати повідомлення save.corrupted = [accent]Збережений файл пошкоджено або він є недійсним! \nЯкщо ви щойно оновили свою гру, це, мабуть, є зміною формату збереження та [scarlet] не є[] помилкою. empty = <порожньо> @@ -247,7 +248,7 @@ confirm = Підтвердження delete = Видалити view.workshop = Переглянути в Майстерні workshop.listing = Редагувати список Майстерні -ok = ОК +ok = Гаразд open = Відкрити customize = Налаштувати правила cancel = Скасувати @@ -272,7 +273,7 @@ selectschematic = [accent][[{0}][], щоб вибрати та скопіюва pausebuilding = [accent][[{0}][], щоб призупинити будування resumebuilding = [scarlet][[{0}][], щоб продовжити будування wave = [accent]Хвиля {0} -wave.waiting = Хвиля через {0} +wave.waiting = Наступна через {0} wave.waveInProgress = [lightgray]Хвиля триває waiting = Очікування… waiting.players = Очікування гравців… @@ -309,7 +310,7 @@ editor.oregen.info = Генерація руд: editor.mapinfo = Інформація про мапу editor.author = Автор: editor.description = Опис: -editor.nodescription = Мапа повинна мати щонаймеше 4 символи для публікації. +editor.nodescription = Мапа повинна мати щонайменше 4 символи для публікації. editor.waves = Хвилі: editor.rules = Правила: editor.generation = Генерація: @@ -359,7 +360,7 @@ editor.save.overwrite = Ваша мапа перезаписує вбудова editor.import.exists = [scarlet]Неможливо імпортувати:[] вбудована мапа з назвою «{0}» вже існує! editor.import = Імпорт… editor.importmap = Імпортувати мапу -editor.importmap.description = Імпортувати вже існуючу мапу +editor.importmap.description = Імпортувати вже наявну мапу editor.importfile = Імпортувати файл editor.importfile.description = Імпортувати зовнішній файл мапи editor.importimage = Імпортувати застаріле зображення @@ -374,7 +375,7 @@ editor.saveimage = Зберегти\nзображення editor.unsaved = [scarlet]У вас є незбережені зміни![]\nВи впевнені, що хочете вийти? editor.resizemap = Змінити розмір мапи editor.mapname = Назва мапи: -editor.overwrite = [accent]Попередження!\nЦе перезаписує існуючу мапу. +editor.overwrite = [accent]Попередження!\nЦе перезаписує наявну мапу. editor.overwrite.confirm = [scarlet]Попередження![] Мапа з такою назвою вже існує. Ви впевнені, що хочете переписати її? editor.exists = Мапа з такою назвою вже існує. editor.selectmap = Виберіть мапу для завантаження: @@ -411,18 +412,18 @@ filter.terrain = Ландшафт filter.option.scale = Масштаб фільтра filter.option.chance = Шанс filter.option.mag = Сила застосування -filter.option.threshold = Граничний порог +filter.option.threshold = Граничний поріг filter.option.circle-scale = Масштаб круга filter.option.octaves = Циклічність застосування -filter.option.falloff = Спад цикличности -filter.option.angle = Вугол +filter.option.falloff = Спад циклічності +filter.option.angle = Кут filter.option.block = Блок filter.option.floor = Поверхня filter.option.flooronto = Цільова поверхня filter.option.wall = Стіна filter.option.ore = Руда filter.option.floor2 = Друга поверхня -filter.option.threshold2 = Вторинний граничний порог +filter.option.threshold2 = Вторинний граничний поріг filter.option.radius = Радіус filter.option.percentile = Спад @@ -447,13 +448,13 @@ abandon.text = Ця зона і всі її ресурси будуть утра locked = Заблоковано complete = [lightgray]Досягнута: requirement.wave = Досягніть хвилі {0} у зоні «{1}» -requirement.core = Знищьте вороже ядро у {0} +requirement.core = Знищте вороже ядро у зоні «{0}» requirement.unlock = Розблокуйте {0} resume = Відновити зону:\n[lightgray]{0} bestwave = [lightgray]Найкраща хвиля: {0} launch = < ЗАПУСК > launch.title = Запуск вдалий -launch.next = [lightgray]наступна можливість на {0}-тій хвилі +launch.next = [lightgray]наступна можливість буде на {0}-тій хвилі launch.unable2 = [scarlet]ЗАПУСК неможливий.[] launch.confirm = Це видалить всі ресурси у вашому ядрі.\nВи не зможете повернутися до цієї бази. launch.skip.confirm = Якщо ви пропустите зараз, ви не зможете не запускати до більш пізніх хвиль. @@ -461,7 +462,7 @@ uncover = Розкрити configure = Налаштувати вивантаження bannedblocks = Заборонені блоки addall = Додати все -configure.locked = {0}[lightgray]Тільки після цього можливість розблокувати вивантаження ресурсів буде доступна. +configure.locked = {0}[lightgray] Тільки після цього можливість розблокувати вивантаження ресурсів буде доступна. configure.invalid = Кількість повинна бути числом між 0 та {0}. zone.unlocked = Зона «[lightgray]{0}» тепер розблокована. zone.requirement.complete = Ви досягли {0}-тої хвилі.\nВимоги до зони «{1}» виконані. @@ -503,12 +504,12 @@ zone.groundZero.description = Оптимальне місце для повто zone.frozenForest.description = Спори поширилися навіть тут, ближче до гір. Холодна температура не може стримувати їх завжди.\nЗважтесь створити енергію. Побудуйте генератори внутрішнього згорання. Навчіться користуватися регенераторами. zone.desertWastes.description = Ці відходи є величезними, непередбачуваними і перетинаються з занедбаними секторальними структурами.\nВугілля присутнє в регіоні. Спаліть його для енергії або синтезуйте у графіт.\n\n[lightgray]Є декілька варіантів для місць посадок. zone.saltFlats.description = На околицях пустелі лежать Соляні рівнини. У цьому місці можна знайти небагато ресурсів.\n\nСаме тут вороги спорудили комплекс сховищ ресурсів. Викорініть їхнє ядро. Не залишайте нічого цінного. -zone.craters.description = У цьому кратері накопичилася вода, пережиток старих воєн. Відновіть місцевість. Зберіть пісок. Виплавте метаскло. Качайте воду, щоб охолодити турелі і бури. +zone.craters.description = У цьому кратері накопичилася вода, пережиток старих воєн. Відновіть місцевість. Зберіть пісок. Виплавте метаскло. Качайте воду, щоб охолодити турелі та бури. zone.ruinousShores.description = Саме берегова лінія є минулим цих відходів. Колись у цьому місці розташувався береговий оборонний масив, проте залишилося не так багато чого. Тільки основні оборонні споруди залишилися неушкодженими, а все інше перетворилося на металобрухт.\nПродовжуйте експансію назовні. Повторно розкрийте технології. zone.stainedMountains.description = Якщо йти далі у вглиб материка, то можна побачити гори, які ще не заражені спорами.\nВидобудьте надлишковий титан у цій місцевості. Дізнайтеся, як використовувати його.\n\nНа жаль, тут більше ворогів ніж в інших місцевостях. Не дайте їм часу надіслати свої найсильніші одиниці. -zone.overgrowth.description = Ближче до джерела спор є територія, що заросла.\nНе дивуйтеся, що ворог встановив тут свій форпост. Побудуйте бойові одиниці під кодовою назвою «Титан». Зруйнуйте вщент супротивника. Поверніть те, що колись належало нам. -zone.tarFields.description = Між горами та пустелею простягається окраїна зони видобутку нафти. Це один з небагатьох районів із корисними для використання запасами смоли.\nНезважаючи на те, що територія покинута, вона має поблизу небезпечні сили противника. Не варто їх недооцінювати.\n\n[lightgray]Якщо можливо, дослідіть технологію переробки нафти. -zone.desolateRift.description = Надзвичайно небезпечна зона. Багато ресурсів, але мало місця. Евакуюватися потрібно якомога швидше. Не розслабляйтеся між ворожими атаками та знайдіть ахіллесову п'яту супротивника. +zone.overgrowth.description = Ближче до джерела спор є територія, що заросла.\nНе дивуйтеся, що ворог встановив тут свій форпост. Побудуйте бойові одиниці під кодовою назвою «Титан». Зруйнуйте вщент супротивника. Поверніть те, що колись належало нам. +zone.tarFields.description = Між горами та пустелею простягається окраїна зони видобутку нафти. Це один з небагатьох районів із корисними для використання запасами смоли.\nНезважаючи на те, що територія покинута, вона має поблизу небезпечні сили противника. Не варто їх недооцінювати.\n\n[lightgray]Якщо можливо, дослідіть технологію переробки нафти. +zone.desolateRift.description = Надзвичайно небезпечна зона. Багато ресурсів, але мало місця. Евакуюватися потрібно якомога швидше. Не розслабляйтеся між ворожими атаками та знайдіть ахіллесову п’яту супротивника. zone.nuclearComplex.description = Колишній об’єкт для виробництва та переробки торію було зведено до руїн.\n[lightgray]Дослідіть торій та його нескінченну кількість застосувань.\n\nВорог, який постійно шукає нападників, присутній тут у великій кількості, тому не баріться з евакуацією! zone.fungalPass.description = Перехідна зона між високими і низькими горами, земля яких вкрита спорами. Тут знаходиться невелика розвідувальна база ворога.\nЗнищте її.\nВикористовуйте одиниці з кодовими назвами «Кинджал» і «Камікадзе» для повного знищення двох ворожих ядер. zone.impact0078.description = <вставити опис тут> @@ -524,8 +525,8 @@ settings.game = Гра settings.sound = Звук settings.graphics = Графіка settings.cleardata = Очистити дані… -settings.clear.confirm = Ви дійсно хочете очистити ці дані?\nЦю дію не можна скасовати! -settings.clearall.confirm = [scarlet]УВАГА![]\nЦе очистить усі дані, включаючи збереження, мапи, розблоковане та налаштування керування.\nПісля натискання ОК гра видалить усі дані та автоматично закриється. +settings.clear.confirm = Ви дійсно хочете очистити ці дані?\nЦю дію не можна скасувати! +settings.clearall.confirm = [scarlet]УВАГА![]\nЦе очистить усі дані, включаючи збереження, мапи, розблоковане та налаштування керування.\nПісля натискання «Гаразд» гра видалить усі дані та автоматично закриється. paused = [accent]< Пауза> clear = Очистити banned = [scarlet]Заблоковано @@ -623,7 +624,7 @@ category.items = Предмети category.crafting = Виробництво category.shooting = Стрільба category.optional = Додаткові поліпшення -setting.landscape.name = Тільки альбомний(гозинтальний) режим +setting.landscape.name = Тільки альбомний(горизонтальний) режим setting.shadows.name = Тіні setting.blockreplace.name = Пропозиції щодо автоматичної заміни блоків setting.linear.name = Лінійна фільтрація @@ -650,7 +651,7 @@ setting.difficulty.name = Складність: setting.screenshake.name = Тряска екрану setting.effects.name = Ефекти setting.destroyedblocks.name = Показувати зруйновані блоки -setting.conveyorpathfinding.name = Пошук шляху для встановлення конвейерів +setting.conveyorpathfinding.name = Пошук шляху для встановлення конвеєрів setting.coreselect.name = Дозволити схематичні ядра setting.sensitivity.name = Чутливість контролера setting.saveinterval.name = Інтервал збереження @@ -680,7 +681,7 @@ setting.bridgeopacity.name = Непрозорість мостів setting.playerchat.name = Відображати хмару чата над гравцями public.confirm = Ви хочете зробити цю гру загальнодоступною?\n[lightgray]Це можна змінити у Налаштування->Гра->Загальнодоступність гри public.beta = Зауважте, що в бета-версії гри ви не можете робити публічні ігри. -uiscale.reset = Масштаб користувацького інтерфейсу було змінено.\nНатисніть «ОК» для підтвердження цього масштабу.\n[scarlet]Повернення налаштувань і вихід через[accent] {0}[] секунд… +uiscale.reset = Масштаб користувацького інтерфейсу було змінено.\nНатисніть «Гаразд» для підтвердження цього масштабу.\n[scarlet]Повернення налаштувань і вихід через[accent] {0}[] секунд… uiscale.cancel = Скасувати & Вийти setting.bloom.name = Світіння keybind.title = Налаштування керування @@ -737,7 +738,7 @@ keybind.chat.name = Чат keybind.player_list.name = Список гравців keybind.console.name = Консоль keybind.rotate.name = Обертати -keybind.rotateplaced.name = Обертати існуюче (прокручуйте) +keybind.rotateplaced.name = Обертати наявне (прокручуйте) keybind.toggle_menus.name = Меню перемикання keybind.chat_history_prev.name = Попередня історія чату keybind.chat_history_next.name = Наступна історія чату @@ -787,6 +788,7 @@ rules.title.unit = Бойові одиниці rules.title.experimental = Експериментальне rules.lighting = Світлотінь rules.ambientlight = Навколишнє світло +rules.solarpowermultiplier = Множник сонячної енергії content.item.name = Предмети content.liquid.name = Рідини @@ -854,12 +856,12 @@ liquid.temperature = [lightgray]Температура: {0} block.sand-boulder.name = Пісочний валун block.grass.name = Трава block.salt.name = Сіль -block.saltrocks.name = Сіляні камні +block.saltrocks.name = Соляні камені block.pebbles.name = Галька block.tendrils.name = Щупальця block.sandrocks.name = Піщані скелі block.spore-pine.name = Спорова сосна -block.sporerocks.name = Спорові камні +block.sporerocks.name = Спорові камені block.rock.name = Камінь block.snowrock.name = Сніжний камінь block.snow-pine.name = Сніжні сосни @@ -910,7 +912,7 @@ block.metal-floor.name = Металева підлога 1 block.metal-floor-2.name = Металева підлога 2 block.metal-floor-3.name = Металева підлога 3 block.metal-floor-5.name = Металева підлога 4 -block.metal-floor-damaged.name = Пошкоджена металевий підлога +block.metal-floor-damaged.name = Пошкоджена металева підлога block.dark-panel-1.name = Темна панель 1 block.dark-panel-2.name = Темна панель 2 block.dark-panel-3.name = Темна панель 3 @@ -1050,8 +1052,8 @@ block.launch-pad.name = Стартовий майданчик block.launch-pad-large.name = Великий стартовий майданчик team.blue.name = Синя team.crux.name = Червона -team.sharded.name = Помаренчева -team.orange.name = Помаренчева +team.sharded.name = Помаранчева +team.orange.name = Помаранчева team.derelict.name = Залишена team.green.name = Зелена team.purple.name = Фіолетова @@ -1074,22 +1076,22 @@ tutorial.next = [lightgray]<Натисніть для продовження> tutorial.intro = Ви розпочали[scarlet] навчання по Mindustry.[]\nРозпочніть з [accent]видобутку міді[]. Використовуйте [[WASD] для руху.\n[accent]Прокручуйте миш[] для приближення і віддалення. Наблизьтесь до мідної жили біля вашого ядра, а потім натисніть на неї, щоб розпочати видобуток.\n\n[accent]{0}/{1} міді tutorial.intro.mobile = Ви розпочали[scarlet] навчання по Mindustry.[]\nПроведіть екраном, щоб рухатися.\n[accent] Зведіть або розведіть 2 пальця [] для приближення і віддалення відповідно.\nз[accent] видобування міді.[] Наблизьтесь, а потім натисніть на мідну жилу біля вашого ядра, щоб зробити це.\n\n[accent]{0}/{1} міді tutorial.drill = Добування вручну не є ефективним.\n[accent]Бури []можуть добувати автоматично.\nНатисніть на вкладку із зображенням свердла праворуч знизу.\nВиберіть[accent] механічний бур[]. Розмістіть його на мідній жилі натисканням.\nВи також можете вибрати бур, натиснувши [accent][[2][], а потім швидко натиснувши [accent][[1][], незалежно від відкритої вкладки.\n[accent]Натисніть ПКМ[], щоб зупинити будування. -tutorial.drill.mobile = Добування вручну неефективне.\n[accent]Бури []можуть добувати автоматично.\nНатисніть на вкладку із зображенням свердла праворуч знизу.\nВиберіть[accent] механічний бур[]. Розмістіть його на мідній жилі натисканням, потім натисніть на [accent]галочку[] нижче, щоб підтвердити розміщення .\nНатисніть [accent]кнопку X[], щоб скасувати розміщення. -tutorial.blockinfo = Кожний блок має різні характеристики. Кожний бур може видобувати тільки певні руди.\nЩоб переглянути інформацію та характеристики блока,[accent] натисність на кнопку «?», коли ви вибрали блок у меню будування.[]\n\n[accent]Перегляньте характеристику Механічного бура негайно[] -tutorial.conveyor = [accent]Конвеєри[] використовуються для транспортування предметів до ядра.\nЗробіть лінію конвеєрів від бура до ядра.\n[accent]Утримуйте миш для розміщення у лінію.[]\nУтримуйте[accent] CTRL[] під час вибору лінії для розміщення по діагоналі.\\nПрокручуйте, щоб обертати блоки до їх установлення.\n[accent]Розмістіть 2 конвеєри у лінію, а потім доставте предмет в ядро. -tutorial.conveyor.mobile =[accent]Конвеєри[] використовується для транспортування предметів до ядра.\nЗробіть лінію конвеєрів від бура до ядра.\n[accent] Розмістить у лінію, утримуючи палець кілька секунд[] і тягніть у напрямку, який Ви вибрали.\nВикористовуйте колесо прокрутки, щоб обертати блоки перед їх розміщенням\n[accent]{0}/{1} конвеєрів, які розміщені в лінію\n[accent]0/1 предмет доставлено +tutorial.drill.mobile = Добування вручну неефективне.\n[accent]Бури []можуть добувати автоматично.\nНатисніть на вкладку із зображенням свердла праворуч знизу.\nВиберіть[accent] механічний бур[]. Розмістіть його на мідній жилі натисканням, потім натисніть на [accent]галочку[] нижче, щоб підтвердити розміщення.\nНатисніть [accent]кнопку X[], щоб скасувати розміщення. +tutorial.blockinfo = Кожний блок має різні характеристики. Кожний бур може видобувати тільки певні руди.\nЩоб переглянути інформацію та характеристики блока,[accent] натисніть на кнопку «?», коли ви вибрали блок у меню будування.[]\n\n[accent]Перегляньте характеристику Механічного бура негайно[] +tutorial.conveyor = [accent]Конвеєри[] використовуються для транспортування предметів до ядра.\nЗробіть лінію конвеєрів від бура до ядра.\n[accent]Утримуйте миш для розміщення у лінію.[]\nУтримуйте[accent] CTRL[] під час вибору лінії для розміщення по діагоналі.\nПрокручуйте, щоб обертати блоки до їх установлення.\n[accent]Розмістіть 2 конвеєри у лінію, а потім доставте предмет в ядро. +tutorial.conveyor.mobile = [accent]Конвеєри[] використовується для транспортування предметів до ядра.\nЗробіть лінію конвеєрів від бура до ядра.\n[accent] Розмістить у лінію, утримуючи палець кілька секунд[] і тягніть у напрямку, який Ви вибрали.\nВикористовуйте колесо прокрутки, щоб обертати блоки перед їх розміщенням\n[accent]{0}/{1} конвеєрів, які розміщені в лінію\n[accent]0/1 предмет доставлено tutorial.turret = Оборонні споруди повинні бути побудовані для відбиття[lightgray] ворогів[].\nПобудуйте[accent] башту «Подвійна»[] біля вашої бази. tutorial.drillturret = «Подвійна» потребує [accent]мідні боєприпаси[] для стрільби.\nРозмістіть бур біля башти\nПроведіть конвеєри до башти, щоб заповнити її боєприпасами.\n\n[accent]Доставлено боєприпасів: 0/1 -tutorial.pause = Під час гри ви можете[accent] поставити на павзу.[]\nВи можете зробити чергу на будування під час паузи.\n\n[accent]Натисніть пробіл для павзи. -tutorial.pause.mobile = Під час гри ви можете[accent] поставити на павзу.[]\nВи можете зробити чергу на будування під час паузи.\n\n[accent]Натисніть кнопку вгорі ліворуч для павзи. +tutorial.pause = Під час гри ви можете[accent] поставити на паузу.[]\nВи можете зробити чергу на будування під час паузи.\n\n[accent]Натисніть пробіл для паузи. +tutorial.pause.mobile = Під час гри ви можете[accent] поставити на паузу.[]\nВи можете зробити чергу на будування під час паузи.\n\n[accent]Натисніть кнопку вгорі ліворуч для паузи. tutorial.unpause = Призупиніть гру, натиснувши на пробіл. -tutorial.unpause.mobile = Тепер натисність туди ще раз, щоб зняти павзу. +tutorial.unpause.mobile = Тепер натисніть туди ще раз, щоб зняти паузу. tutorial.breaking = Блоки часто треба знищувати.\n[accent]Утримуючи ПКМ[] ви знищите всі виділені блоки.[]\n\n[accent]Необхідно знищити всі стіни з металобрухту ліворуч від вашого ядра використовуючи видалення у зоні. tutorial.breaking.mobile = Блоки часто треба знищувати.\n[accent]Виберіть режим руйнування[], потім натисніть на блок, щоб зламати його.\nЗнищте область, утримуючи палець протягом декількох секунд [] і потягнувши в потрібному напрямку.\nНатисніть кнопку галочки, щоб підтвердити руйнування.\n\n[accent]Необхідно знищити всі стіни з металобрухту ліворуч від вашого ядра використовуючи видалення у зоні. -tutorial.withdraw = У деяких ситуаціях потрібно брати предмети безпосередньо з блоків.\nЩоб зробити це, [accent]натисність на блок[] з предметами, і потім [accent]натисніть на предмет[] в інвентарі.\nМожна вилучити кілька предметів [accent]натискаючи та утримуючи[].\n\n[accent]Вилучіть трохи міді з ядра.[] +tutorial.withdraw = У деяких ситуаціях потрібно брати предмети безпосередньо з блоків.\nЩоб зробити це, [accent]натисніть на блок[] з предметами, і потім [accent]натисніть на предмет[] в інвентарі.\nМожна вилучити кілька предметів [accent]натискаючи та утримуючи[].\n\n[accent]Вилучіть трохи міді з ядра.[] tutorial.deposit = Покладіть предмети в блок, перетягнувши з вашого корабля в потрібний блок.\n\n[accent]Покладіть мідь назад у ядро.[] -tutorial.waves = [lightgray] Ворог[] з’явився.\n\nЗахистіть ядро від двух хвиль.[accent] Натисніть ЛКМ[], щоб стріляти.\nПобудуйте більше башт і бурів. Добудьте більше міді. -tutorial.waves.mobile = [lightgray] Ворог[] з’явився.\n\nЗахистіть ядро від двух хвиль. Ваш корабель буде автоматично атакувати ворогів.\nПобудуйте більше башт і бурів. Добудьте більше міді. +tutorial.waves = [lightgray] Ворог[] з’явився.\n\nЗахистіть ядро від двох хвиль.[accent] Натисніть ЛКМ[], щоб стріляти.\nПобудуйте більше башт і бурів. Добудьте більше міді. +tutorial.waves.mobile = [lightgray] Ворог[] з’явився.\n\nЗахистіть ядро від двох хвиль. Ваш корабель буде автоматично атакувати ворогів.\nПобудуйте більше башт і бурів. Добудьте більше міді. tutorial.launch = Як тільки ви досягнете певної хвилі, ви зможете[accent] запустити ядро[], залишивши свою базу позаду, та [accent]отримати всі ресурси у вашому ядрі.[]\nЦі отримані ресурси можуть бути використані для дослідження нових технологій.\n\n[accent]Натисніть кнопку запуску. item.copper.description = Початковий будівельний матеріал. Широко використовується у всіх типах блоків. @@ -1113,7 +1115,7 @@ liquid.slag.description = Різні види розплавленого мет liquid.oil.description = Рідина, яка використовується у виробництві сучасних матеріалів. Може бути перетворена у вугілля в якості палива або використана як куля. liquid.cryofluid.description = Інертна рідина, що створена з води та титану. Володіє надзвичайно високою пропускною спроможністю. Широко використовується в якості рідини, що охолоджує. mech.alpha-mech.description = Стандартний керований мех. Заснований на бойовій одиниці «Кинджал», з оновленими бронею та можливостями будування. Наносить більше шкоди, ніж корабель «Дротик». -mech.delta-mech.description = Швидкий, легкоброньований мех, зроблений для тактики «атакуй і втікай». Наносить мало шкоди будівлям, але може дуже швидко вбити великі групи підрозділів противника своєю дуговою блискавкою. +mech.delta-mech.description = Швидкий, легко броньований мех, зроблений для тактики «атакуй і втікай». Наносить мало шкоди будівлям, але може дуже швидко вбити великі групи підрозділів противника своєю дуговою блискавкою. mech.tau-mech.description = Мех підтримки. Ремонтує союзні блоки, стріляючи по них. Може зцілювати союзників у радіусі його ремонтної здатності. mech.omega-mech.description = Об’ємний і добре броньований мех, зроблений для фронтових штурмів. Його броня може заблокувати до 90% пошкоджень, що надходять. mech.dart-ship.description = Стандартний керований корабель. Швидко видобуває ресурси. Достатньо швидкий і легкий, але має мало наступальних можливостей. @@ -1139,7 +1141,7 @@ block.kiln.description = Виплавляє пісок та свинець у с block.plastanium-compressor.description = Виробляє пластаній з нафти і титану. block.phase-weaver.description = Синтезує фазову тканину з радіоактивного торію та піску. Для роботи потрібна велика кількість енергії. block.alloy-smelter.description = Поєднує титан, свинець, кремній і мідь для отримання кінетичного сплаву. -block.cryofluidmixer.description = Змішує воду і дрібний порошок титану титану в кріогенну рідину. Основне використання у торієвому реактору. +block.cryofluidmixer.description = Змішує воду і дрібний порошок титану в кріогенну рідину. Основне використання у торієвому реактору. block.blast-mixer.description = Подрібнює і змішує скупчення спор з піротитом для отримання вибухової суміші. block.pyratite-mixer.description = Змішує вугілля, свинець та пісок у легкозаймистий піротит. block.melter.description = Розплавляє брухт у шлак для подальшої переробки або використання у баштах «Хвиля». @@ -1158,8 +1160,8 @@ block.copper-wall.description = Дешевий захисний блок.\nКо block.copper-wall-large.description = Дешевий захисний блок.\nКорисний для захисту ядра та башт у перші кілька хвиль.\nЗаймає декілька плиток. block.titanium-wall.description = Відносно сильний захисний блок.\nЗабезпечує помірний захист від ворогів. block.titanium-wall-large.description = Відносно сильний захисний блок.\nЗабезпечує помірний захист від ворогів.\nЗаймає декілька плиток. -block.plastanium-wall.description = Особливий тип стіни, який поглинає електричні дуги і блокує автоматичні з'єднання енергетичних вузлів. -block.plastanium-wall-large.description = Особливий тип стіни, який поглинає електричні дуги і блокує автоматичні з'єднання енергетичних вузлів .\nЗаймає декілька плиток. +block.plastanium-wall.description = Особливий тип стіни, який поглинає електричні дуги й блокує автоматичні з’єднання енергетичних вузлів. +block.plastanium-wall-large.description = Особливий тип стіни, який поглинає електричні дуги й блокує автоматичні з’єднання енергетичних вузлів.\nЗаймає декілька плиток. block.thorium-wall.description = Сильний захисний блок.\nГідний захист від ворогів. block.thorium-wall-large.description = Сильний захисний блок.\nГідний захист від ворогів.\nЗаймає декілька плиток. block.phase-wall.description = Стіна має покриття спеціальним складом, що відбиває світло і який базується на фазовій тканині. Відхиляє більшість куль при ударі. @@ -1189,8 +1191,8 @@ block.mechanical-pump.description = Дешевий насос з повільн block.rotary-pump.description = Удосконалений насос. Насоси більше викачують, але потребують енергію. block.thermal-pump.description = Найкращий насос. block.conduit.description = Основний блок транспортування рідини. Пересуває рідини вперед. Застосовується спільно з насосами та іншими трубопроводами. -block.pulse-conduit.description = Удосконалений блок транспортування рідини. Швидше транспортує і більше зберігає рідини , ніж стандартні трубопроводи. -block.plated-conduit.description = Переміщує рідини з тією ж швидкістю, що і імпульсні трубопроводи, але має більше міцності. Не приймає рідин з боків окрім інших трубопроводів.\nПротікає менше. +block.pulse-conduit.description = Удосконалений блок транспортування рідини. Швидше транспортує і більше зберігає рідини, ніж стандартні трубопроводи. +block.plated-conduit.description = Переміщує рідини з тією ж швидкістю, що й імпульсні трубопроводи, але має більше міцності. Не приймає рідин з боків окрім інших трубопроводів.\nПротікає менше. block.liquid-router.description = Приймає рідини з одного напрямку та виводить їх до трьох інших напрямків порівну. Також можна зберігати певну кількість рідини. Корисно для розщеплення рідин від одного джерела до кількох мішеней. block.liquid-tank.description = Зберігає велику кількість рідини. Використовуйте для створення буферів у ситуаціях з непостійним попитом на матеріали або як гарантію охолодження життєво важливих блоків. block.liquid-junction.description = Діє як міст для двох каналів, що перетинаються. Корисно в ситуаціях, коли два різні трубопроводи транспортують різні рідини в різні місця. @@ -1220,9 +1222,9 @@ block.cultivator.description = Культивує невеликі концен block.oil-extractor.description = Для видобутку нафти використовується велика кількість енергії, піску та води. block.core-shard.description = Найперша версія капсули ядра. Після його знищення всі контакти з регіоном втрачаються. Не допустіть цього. block.core-foundation.description = Друга версія ядра. Краще броньована. Зберігає більше ресурсів. -block.core-nucleus.description = Третя і остання версія капсули ядра. Надзвичайно добре броньована. Зберігає величезні обсяги ресурсів. -block.vault.description = Зберігає велику кількість предметів кожного типу. Блок розвантажувача може використовуватися для отримання предметів із сховища. -block.container.description = Зберігає малу кількість предметів кожного типу. Блок розвантажувача може використовуватися для отримання предметів із сховища. +block.core-nucleus.description = Третя й остання версія капсули ядра. Надзвичайно добре броньована. Зберігає величезні обсяги ресурсів. +block.vault.description = Зберігає велику кількість предметів кожного типу. Блок розвантажувача може використовуватися для отримання предметів зі сховища. +block.container.description = Зберігає малу кількість предметів кожного типу. Блок розвантажувача може використовуватися для отримання предметів зі сховища. block.unloader.description = Вивантажує предмети з блока, який не переміщує предмети, на конвеєр або безпосередньо в сусідній блок. Тип предмета для завантаження можна змінити, натиснувши на блок. block.launch-pad.description = Запускає партії предметів без необхідності запуску ядра. Стартовий майданчик дозволяє вам запускати ресурси кожні n секунд без необхідності завершувати гру. Просто подайте у нього ресурси і забезпечте енергією. block.launch-pad-large.description = Поліпшена версія стартового майданчика. Зберігає більше предметів. Запускається частіше. @@ -1243,7 +1245,7 @@ block.meltdown.description = Масивна лазерна гармата. За block.command-center.description = Наказує бойовим одиницям пересуватися по всій мапі.\nНаявні команди: патрулювання, атакувати вороже ядро, відступити до ядра/заводу. Якщо ворожого ядра немає, то бойові одиниці будуть патрулювати за замовчуванням при застосуванні команди «атакувати». block.draug-factory.description = Виробляє дронів, які видобувають ресурси. block.spirit-factory.description = Виробляє дронів, які ремонтують блоки. -block.phantom-factory.description = Виробляє дронів, які допомогають у будівництві. +block.phantom-factory.description = Виробляє дронів, які допомагають у будівництві. block.wraith-factory.description = Виробляє швидких перехоплювачів, які використовують тактику «стріляй і біжи». block.ghoul-factory.description = Виробляє важкокилимових бомбардувальників. block.revenant-factory.description = Виробляє важких ракетних одиниць. @@ -1252,10 +1254,10 @@ block.crawler-factory.description = Виробляє швидких одиниц block.titan-factory.description = Виробляє поліпшених наземних одиниць. block.fortress-factory.description = Виробляє важкоартилерійних наземних одиниць. block.repair-point.description = Безперервно лікує найближчу пошкоджену бойову одиницю. -block.dart-mech-pad.description = Забезпечує перетворення в основий атакуючий мех.\nДля використання натисніть на нього, коли стоїте на ньому. -block.delta-mech-pad.description = Забезпечує перетворення в легкоброньований атакуючий мех.\nДля використання натисніть на нього, коли стоїте на ньому. +block.dart-mech-pad.description = Забезпечує перетворення в основний атакуючий мех.\nДля використання натисніть на нього, коли стоїте на ньому. +block.delta-mech-pad.description = Забезпечує перетворення в легко броньований атакуючий мех.\nДля використання натисніть на нього, коли стоїте на ньому. block.tau-mech-pad.description = Забезпечує перетворення в поліпшений мех підтримки.\nДля використання натисніть на нього, коли стоїте на ньому. -block.omega-mech-pad.description = Забезпечує перетворення в тяжкоброньований ракетний мех.\\nДля використання натисніть на нього, коли стоїте на ньому. -block.javelin-ship-pad.description = Забезпечує перетворення в швидкий, легкоброньований перехоплювач.\nДля використання натисніть на нього, коли стоїте на ньому. +block.omega-mech-pad.description = Забезпечує перетворення в тяжко броньований ракетний мех.\nДля використання натисніть на нього, коли стоїте на ньому. +block.javelin-ship-pad.description = Забезпечує перетворення в швидкий, легко броньований перехоплювач.\nДля використання натисніть на нього, коли стоїте на ньому. block.trident-ship-pad.description = Забезпечує перетворення в тяжкий бомбардувальник.\nДля використання натисніть на нього, коли стоїте на ньому. -block.glaive-ship-pad.description = Забезпечує перетворення в великий добреброньований озброєний корабель.\nДля використання натисніть на нього, коли стоїте на ньому. +block.glaive-ship-pad.description = Забезпечує перетворення в великий добре броньований озброєний корабель.\nДля використання натисніть на нього, коли стоїте на ньому. diff --git a/fastlane/metadata/android/uk/full_description.txt b/fastlane/metadata/android/uk/full_description.txt index d1f27119ef..6d0515099a 100644 --- a/fastlane/metadata/android/uk/full_description.txt +++ b/fastlane/metadata/android/uk/full_description.txt @@ -1,5 +1,4 @@ -Створюйте складні логістичні мережі для перенесення боєприпасів у башточки, видобувайте ресурси для будівництва, і захищайте своє ядро від різних хвиль ворогів. -Грайте з друзями на різних платформах у кооперативні ігри, або киньте їм виклик в командних PvP-матчах. +Створюйте складні системи логістики для перенесення боєприпасів у башточки, видобувайте ресурси для будівництва, і захищайте своє ядро від різних хвиль ворогів. Грайте з друзями на різних платформах у кооперативні ігри, або киньте їм виклик в командних PvP-матчах. Особливості гри: - 24 вбудовані мапи @@ -9,7 +8,7 @@ - 19 видів дронів, кораблів та наземних бойових одиниць - Понад 120 блоків у дереві технологій - Понад 75 видів блоків навколишнього середовища -- Багатоплатформовий мультиплеєр з підтримкою як і локальних мереж, так і серверів +- Багатоплатформова багатокористувацька гра з підтримкою як і локальних мереж, так і серверів - Користувацькі налаштування гри — ціну блоків, сила ворогів, кількість початкових ресурсів, інтервал між хвилями, тощо -- Редактор мап з незкінченними можливостями, інструментами для випадкової генерації руд, рельєфу, декорацій, а також для симетрії мап +- Редактор мап з нескінченними можливостями, інструментами для випадкової генерації руд, рельєфу, декорацій, а також для симетрії мап - Розкладки хвиль для мап можна налаштувати diff --git a/fastlane/metadata/steam/ukrainian/achievements.vdf b/fastlane/metadata/steam/ukrainian/achievements.vdf index 65b55d7f73..1859635942 100644 --- a/fastlane/metadata/steam/ukrainian/achievements.vdf +++ b/fastlane/metadata/steam/ukrainian/achievements.vdf @@ -6,19 +6,19 @@ "NEW_ACHIEVEMENT_20_0_NAME" "Перевірено" "NEW_ACHIEVEMENT_20_0_DESC" "Завершіть навчання." "NEW_ACHIEVEMENT_20_1_NAME" "Забіяка" - "NEW_ACHIEVEMENT_20_1_DESC" "Знищьте 1000 ворожих одиниць." + "NEW_ACHIEVEMENT_20_1_DESC" "Знищте 1 000 ворожих одиниць." "NEW_ACHIEVEMENT_20_2_NAME" "Чистка" - "NEW_ACHIEVEMENT_20_2_DESC" "Знишьте 100 000 ворожих одиниць." + "NEW_ACHIEVEMENT_20_2_DESC" "Знищте 100 000 ворожих одиниць." "NEW_ACHIEVEMENT_20_3_NAME" "Атмосферне перевезення" "NEW_ACHIEVEMENT_20_3_DESC" "Запустіть 10 000 предметів загалом." - "NEW_ACHIEVEMENT_20_5_NAME" "Нескінченні поставки" - "NEW_ACHIEVEMENT_20_5_DESC" "Запустіть 1000 000 предметів загалом." + "NEW_ACHIEVEMENT_20_5_NAME" "Нескінченне постачання" + "NEW_ACHIEVEMENT_20_5_DESC" "Запустіть 1 000 000 предметів загалом." "NEW_ACHIEVEMENT_20_6_NAME" "Завойовник" "NEW_ACHIEVEMENT_20_6_DESC" "Виграйте 10 матчів у режимі атаки." "NEW_ACHIEVEMENT_20_7_NAME" "Чемпіон" "NEW_ACHIEVEMENT_20_7_DESC" "Виграйте 10 матчів у режимі PvP." "NEW_ACHIEVEMENT_20_8_NAME" "Бліц" - "NEW_ACHIEVEMENT_20_8_DESC" "Знищіть вороже ядро в зоні атаки за 5 хвиль або менше." + "NEW_ACHIEVEMENT_20_8_DESC" "Знищте вороже ядро в зоні атаки за 5 хвиль або менше." "NEW_ACHIEVEMENT_20_9_NAME" "Ядерний дощ" "NEW_ACHIEVEMENT_20_9_DESC" "Запустіть своє ядро в зону 30 разів." "NEW_ACHIEVEMENT_20_10_NAME" "Наполегливий" @@ -32,15 +32,15 @@ "NEW_ACHIEVEMENT_20_14_NAME" "Перевантаження" "NEW_ACHIEVEMENT_20_14_DESC" "Нанесіть шкоду мокрому ворогу електрикою." "NEW_ACHIEVEMENT_20_15_NAME" "Рикошет" - "NEW_ACHIEVEMENT_20_15_DESC" "Знищіть ворога його же власною відбитою кулею." + "NEW_ACHIEVEMENT_20_15_DESC" "Знищте ворога його же власною відбитою кулею." "NEW_ACHIEVEMENT_20_17_NAME" "ВЕЛИЧЕЗНА ПОМИЛКА" "NEW_ACHIEVEMENT_20_17_DESC" "Дослідіть маршрутизатора." "NEW_ACHIEVEMENT_20_18_NAME" "Створення" "NEW_ACHIEVEMENT_20_18_DESC" "Побудуйте 10 000 блоків." "NEW_ACHIEVEMENT_20_19_NAME" "Зрівняти з землею" - "NEW_ACHIEVEMENT_20_19_DESC" "Знищьте 1000 ворожих блоків." + "NEW_ACHIEVEMENT_20_19_DESC" "Знищте 1 000 ворожих блоків." "NEW_ACHIEVEMENT_20_20_NAME" "Ефектна катастрофа" - "NEW_ACHIEVEMENT_20_20_DESC" "Торієвий реактор повинен перегрітися й вибихнути." + "NEW_ACHIEVEMENT_20_20_DESC" "Торієвий реактор повинен перегрітися й вибухнути." "NEW_ACHIEVEMENT_20_21_NAME" "Картограф" "NEW_ACHIEVEMENT_20_21_DESC" "Зробіть 10 мап." "NEW_ACHIEVEMENT_20_22_NAME" "Веб-переглядач" @@ -58,7 +58,7 @@ "NEW_ACHIEVEMENT_20_31_NAME" "Матеріал I" "NEW_ACHIEVEMENT_20_31_DESC" "Розблокуйте титан." "NEW_ACHIEVEMENT_21_0_NAME" "Камікадзе" - "NEW_ACHIEVEMENT_21_0_DESC" "Заповніть свого меха вибуховими матеріалами і помріть, створивши вибух." + "NEW_ACHIEVEMENT_21_0_DESC" "Заповніть свого меха вибуховими матеріалами й помріть, створивши вибух." "NEW_ACHIEVEMENT_21_1_NAME" "Це починається" "NEW_ACHIEVEMENT_21_1_DESC" "Побудуйте завод мехів «Кинджал»." "NEW_ACHIEVEMENT_21_2_NAME" "Прямий наступ" @@ -92,7 +92,7 @@ "NEW_ACHIEVEMENT_21_16_NAME" "Єресь" "NEW_ACHIEVEMENT_21_16_DESC" "Побудуйте два маршрутизатори поруч." "NEW_ACHIEVEMENT_21_17_NAME" "Одинокий захисник" - "NEW_ACHIEVEMENT_21_17_DESC" "Виживіть 10 хвиль в першій-ліпшій зоні без будування будування будь-яких блоків." + "NEW_ACHIEVEMENT_21_17_DESC" "Виживіть 10 хвиль в першій-ліпшій зоні без будування будь-яких блоків." "NEW_ACHIEVEMENT_21_18_NAME" "Спалити" "NEW_ACHIEVEMENT_21_18_DESC" "Використайте піротит в будь-якій башті." "NEW_ACHIEVEMENT_21_19_NAME" "Ефективність" @@ -100,9 +100,9 @@ "NEW_ACHIEVEMENT_21_20_NAME" "Класичний режим" "NEW_ACHIEVEMENT_21_20_DESC" "Увімкніть пікселізацію." "NEW_ACHIEVEMENT_21_21_NAME" "Науковець" - "NEW_ACHIEVEMENT_21_21_DESC" "Відкрийти Wiki з гри." + "NEW_ACHIEVEMENT_21_21_DESC" "Відкрийте Wiki з гри." "NEW_ACHIEVEMENT_21_22_NAME" "Впевнений початок" - "NEW_ACHIEVEMENT_21_22_DESC" "Вивантажіть в зону 10 000 або більше предметів." + "NEW_ACHIEVEMENT_21_22_DESC" "Вивантажте в зону 10 000 або більше предметів." "NEW_ACHIEVEMENT_21_23_NAME" "Запалювання" "NEW_ACHIEVEMENT_21_23_DESC" "Підвищте потужність імпульсного реактора." } diff --git a/fastlane/metadata/steam/ukrainian/description.txt b/fastlane/metadata/steam/ukrainian/description.txt index e53e92394b..0b0f6ca04c 100644 --- a/fastlane/metadata/steam/ukrainian/description.txt +++ b/fastlane/metadata/steam/ukrainian/description.txt @@ -1,4 +1,4 @@ -Створюйте складні логістичні мережі для перенесення боєприпасів у башти, видобувайте ресурси для будівництва, і захищайте своє ядро від різних хвиль ворогів. Грайте з друзями на різних платформах у кооперативні ігри, або киньте їм виклик у командних PvP-матчах. +Створюйте складні системи логістики для перенесення боєприпасів у башти, видобувайте ресурси для будівництва, і захищайте своє ядро від різних хвиль ворогів. Грайте з друзями на різних платформах у кооперативні ігри, або киньте їм виклик у командних PvP-матчах. [img]{STEAM_APP_IMAGE}/extras/ezgif-4-0e70c282f775.gif[/img] @@ -28,9 +28,10 @@ [h2][h2]Ігрові режими[/h2][/h2] -[*] [b]Виживання[/b]: створіть башти для захисту від ворогів в ігровому процесі, заснованому на захисті башт. Виживайте якомога довше, за бажанням можна запустит своє ядро, щоб використовувати зібрані ресурси для досліджень. Підготуйте свою базу для періодичних атак повітряних босів. +[list] +[*] [b]Виживання[/b]: створіть башти для захисту від ворогів в ігровому процесі, заснованому на захисті башт. Виживайте якомога довше, за бажанням можна запустити своє ядро, щоб використовувати зібрані ресурси для досліджень. Підготуйте свою базу для періодичних атак повітряних босів. [*] [b]Атака[/b]: будуйте заводи бойових одиниць для знищення ворожих ядер, одночасно захищаючи свою базу від хвиль ворожих одиниць. -[*] [b]PvP[/b]: змагайтеся з іншими гравцями, щоб знищити ядра один одного. Створюйте бойові одиниці або нападайте на інші бази безпосередньо зі своїми мехами. Створіть різноманітні типи підтримувальиних та наступальних підрозділів, щоб допоможуть вам у досягненні цілей. +[*] [b]PvP[/b]: змагайтеся з іншими гравцями, щоб знищити ядра один одного. Створюйте бойові одиниці або нападайте на інші бази безпосередньо зі своїми мехами. Створіть різноманітні типи підрозділів підтримки та наступу, що допоможуть вам у досягненні цілей. [*] [b]Пісочниця[/b]: грайте з нескінченними ресурсами без загрози з боку ворога. Використовуйте специфічні для пісочниці елементи та блоки рідких джерел для тестування конструкцій та появи ворогів за запитом. [/list] @@ -49,7 +50,7 @@ [list] [*] Створюйте ландшафт за допомогою візуального редактора. [*] Змінюйте і переглядайте споруди так само як в грі. -[*] Регульовані режими інструментів — змініть функціонування кожного інструменту. +[*] Регульовані режими інструментів — змініть функціювання кожного інструменту. [*] Потужна система генерації мап, що має безліч різних типів фільтрів для процедурного маніпулювання місцевістю. [*] Застосуйте на своїх мапах шум, спотворення, згладжування, ерозію, симетрію, генерацію руди та випадкову генерацію місцевості. [*] Відкрита гра в жанрі «захист башт» з акцентом на керуванні ресурсами. From 0dfb3b1c1b3d7e30b15b1a5b38860dcc48cbc62f Mon Sep 17 00:00:00 2001 From: Anuken Date: Wed, 4 Mar 2020 13:53:12 -0500 Subject: [PATCH 51/62] Update achievements.vdf (#1668) * Update achievements.vdf * Update achievements.vdf * Update achievements.vdf Co-authored-by: Anuken --- .../metadata/steam/ukrainian/achievements.vdf | 20 +++++++++---------- 1 file changed, 10 insertions(+), 10 deletions(-) diff --git a/fastlane/metadata/steam/ukrainian/achievements.vdf b/fastlane/metadata/steam/ukrainian/achievements.vdf index 1859635942..6049e105ff 100644 --- a/fastlane/metadata/steam/ukrainian/achievements.vdf +++ b/fastlane/metadata/steam/ukrainian/achievements.vdf @@ -3,7 +3,7 @@ "Language" "ukrainian" "Tokens" { - "NEW_ACHIEVEMENT_20_0_NAME" "Перевірено" + "NEW_ACHIEVEMENT_20_0_NAME" "Перевірений" "NEW_ACHIEVEMENT_20_0_DESC" "Завершіть навчання." "NEW_ACHIEVEMENT_20_1_NAME" "Забіяка" "NEW_ACHIEVEMENT_20_1_DESC" "Знищте 1 000 ворожих одиниць." @@ -22,9 +22,9 @@ "NEW_ACHIEVEMENT_20_9_NAME" "Ядерний дощ" "NEW_ACHIEVEMENT_20_9_DESC" "Запустіть своє ядро в зону 30 разів." "NEW_ACHIEVEMENT_20_10_NAME" "Наполегливий" - "NEW_ACHIEVEMENT_20_10_DESC" "Виживіть 100 хвиль." + "NEW_ACHIEVEMENT_20_10_DESC" "Протримайтесь 100 хвиль." "NEW_ACHIEVEMENT_20_11_NAME" "Неперевершений" - "NEW_ACHIEVEMENT_20_11_DESC" "Виживіть 500 хвиль." + "NEW_ACHIEVEMENT_20_11_DESC" "Протримайтесь 500 хвиль." "NEW_ACHIEVEMENT_20_12_NAME" "Дослідник" "NEW_ACHIEVEMENT_20_12_DESC" "Дослідіть все." "NEW_ACHIEVEMENT_20_13_NAME" "Перевертень" @@ -44,11 +44,11 @@ "NEW_ACHIEVEMENT_20_21_NAME" "Картограф" "NEW_ACHIEVEMENT_20_21_DESC" "Зробіть 10 мап." "NEW_ACHIEVEMENT_20_22_NAME" "Веб-переглядач" - "NEW_ACHIEVEMENT_20_22_DESC" "Завантажте карту з Майстерні." + "NEW_ACHIEVEMENT_20_22_DESC" "Завантажте мапу з Майстерні." "NEW_ACHIEVEMENT_20_23_NAME" "Творець" - "NEW_ACHIEVEMENT_20_23_DESC" "Опублікуйте карту в Майстерні." + "NEW_ACHIEVEMENT_20_23_DESC" "Опублікуйте мапу в Майстерні." "NEW_ACHIEVEMENT_20_24_NAME" "Убивця" - "NEW_ACHIEVEMENT_20_24_DESC" "Переможіть боса." + "NEW_ACHIEVEMENT_20_24_DESC" "Здолайте боса." "NEW_ACHIEVEMENT_20_25_NAME" "Дослідник" "NEW_ACHIEVEMENT_20_25_DESC" "Розблокуйте всі зони в кампанії." "NEW_ACHIEVEMENT_20_26_NAME" "Завершувач" @@ -92,7 +92,7 @@ "NEW_ACHIEVEMENT_21_16_NAME" "Єресь" "NEW_ACHIEVEMENT_21_16_DESC" "Побудуйте два маршрутизатори поруч." "NEW_ACHIEVEMENT_21_17_NAME" "Одинокий захисник" - "NEW_ACHIEVEMENT_21_17_DESC" "Виживіть 10 хвиль в першій-ліпшій зоні без будування будь-яких блоків." + "NEW_ACHIEVEMENT_21_17_DESC" "Протримайтесь 10 хвиль в першій-ліпшій зоні без будування будування будь-яких блоків." "NEW_ACHIEVEMENT_21_18_NAME" "Спалити" "NEW_ACHIEVEMENT_21_18_DESC" "Використайте піротит в будь-якій башті." "NEW_ACHIEVEMENT_21_19_NAME" "Ефективність" @@ -100,9 +100,9 @@ "NEW_ACHIEVEMENT_21_20_NAME" "Класичний режим" "NEW_ACHIEVEMENT_21_20_DESC" "Увімкніть пікселізацію." "NEW_ACHIEVEMENT_21_21_NAME" "Науковець" - "NEW_ACHIEVEMENT_21_21_DESC" "Відкрийте Wiki з гри." - "NEW_ACHIEVEMENT_21_22_NAME" "Впевнений початок" - "NEW_ACHIEVEMENT_21_22_DESC" "Вивантажте в зону 10 000 або більше предметів." + "NEW_ACHIEVEMENT_21_21_DESC" "Відкрийти Вікі з гри." + "NEW_ACHIEVEMENT_21_22_NAME" "Упевнений початок" + "NEW_ACHIEVEMENT_21_22_DESC" "Вивантажіть в зону 10 000 або більше предметів." "NEW_ACHIEVEMENT_21_23_NAME" "Запалювання" "NEW_ACHIEVEMENT_21_23_DESC" "Підвищте потужність імпульсного реактора." } From a36a0cad5372ffffff6cef02d07478fcb4730176 Mon Sep 17 00:00:00 2001 From: Anuken Date: Wed, 4 Mar 2020 13:53:19 -0500 Subject: [PATCH 52/62] RU updates to Android description (#1663) --- fastlane/metadata/android/ru-RU/full_description.txt | 9 ++++----- 1 file changed, 4 insertions(+), 5 deletions(-) diff --git a/fastlane/metadata/android/ru-RU/full_description.txt b/fastlane/metadata/android/ru-RU/full_description.txt index 48b1636127..c69aa89b6f 100644 --- a/fastlane/metadata/android/ru-RU/full_description.txt +++ b/fastlane/metadata/android/ru-RU/full_description.txt @@ -1,15 +1,14 @@ -Создавайте сложные логистические сети для переноса боеприпасов для турелей, добывайте ресурсы для строительства, и защищайте их от различных волн врагов. -Играйте с друзьями в кроссплатформенные кооперативные игры, или бросьте им вызов в командных PvP-матчах. +Создавайте сложные логистические сети для переноса боеприпасов для турелей, добывайте ресурсы для строительства и защищайте их от различных волн врагов. Играйте с друзьями в кроссплатформенные многопользовательские кооперативные игры или бросьте им вызов в командных PvP-матчах. Особенности игры: - 24 встроенные карты - Кампания с полноценным технологическим древом и прогрессией карт - 4 вида мощных боссов - Системы для транспорта электроэнергии, жидкостей и ресурсов -- 19 видов дронов, кораблей и наземных боевых единиц +- 19 видов дронов, мехов и кораблей - Более 120 блоков в техногическом древе - Более 75 видов натуральных блоков -- Кроссплатформенный мультиплеер с поддержкой как и локальных сетей, так и серверов +- Кроссплатформенная многопользовательская игра с поддержкой как и локальных сетей, так и серверов - Пользовательские настройки игры — изменяйте цену блоков, силу врагов, количество стартовых ресурсов, интервал между волнами и т.д. -- Редактор карт с бесчисленными возможностями, инструментами для случайной генерации руд, рельефа, декораций, а также для симметрии карт +- Мощный редактор карт с инструментами для случайной генерации руд, рельефа, декораций, а также для симметрии карт - Настраиваемые раскладки волн для карт From ff44b0ca85eb9b7d3dc77c309c09fca047bf5ef1 Mon Sep 17 00:00:00 2001 From: Anuken Date: Wed, 4 Mar 2020 13:53:27 -0500 Subject: [PATCH 53/62] Small RU fix (#1670) --- fastlane/metadata/steam/russian/short-description.txt | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/fastlane/metadata/steam/russian/short-description.txt b/fastlane/metadata/steam/russian/short-description.txt index 4bd0ace80c..995a8f2cf0 100644 --- a/fastlane/metadata/steam/russian/short-description.txt +++ b/fastlane/metadata/steam/russian/short-description.txt @@ -1 +1 @@ -Безграничная игра в жанре башенная защита с упором на управлении ресурсами. +Безграничная игра в жанре «башенная защита» с упором на управление ресурсами. From 31c9b61358b01b831f8ff13016575102d5575c66 Mon Sep 17 00:00:00 2001 From: Anuken Date: Wed, 4 Mar 2020 13:53:47 -0500 Subject: [PATCH 54/62] Updated join.info (#1666) --- core/assets/bundles/bundle_it.properties | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/core/assets/bundles/bundle_it.properties b/core/assets/bundles/bundle_it.properties index 0fdfc04e0b..826d42bfe1 100644 --- a/core/assets/bundles/bundle_it.properties +++ b/core/assets/bundles/bundle_it.properties @@ -159,7 +159,7 @@ server.kicked.gameover = Game over! server.kicked.serverRestarting = Il server si sta riavviando. server.versions = Versione client:[accent] {0}[]\nVersione server:[accent] {1}[] host.info = Il pulsante [accent]Ospita[] ospita un server sulla porta [scarlet]6567[].[] Chiunque sulla stessa [lightgray]rete Wi-Fi o locale[] dovrebbe essere in grado di vedere il server nell'elenco server.\nSe vuoi che le persone siano in grado di connettersi ovunque tramite il tuo IP, è necessario eseguire il [accent]port forwarding[].\n\n[lightgray]Nota: se qualcuno sta riscontrando problemi durante la connessione al gioco LAN, assicurati di aver consentito a Mindustry di accedere alla rete locale nelle impostazioni del firewall. -join.info = Qui è possibile inserire l'[accent]IP del server[] a cui connettersi, o scoprire [accent]un server sulla rete locale[] disponibile.\nSono supportati sia il multiplayer LAN che WAN.\n\n[lightgray]Nota: non esiste un elenco automatico dei server globali; se desideri connetterti a qualcuno tramite il suo IP, è necessario chiedere all'host il proprio IP. +join.info = Qui è possibile inserire l'[accent]IP del server[] a cui connettersi, scoprire un server sulla [accent]rete locale[] o connettersi ad uno [accent]globale[].\nSono supportati sia il multiplayer LAN che WAN.\n\n[lightgray]Se vuoi connetterti a qualcuno tramite IP, dovrai chiedere all'amministratore del server il suo indirizzo IP, che può essere trovato semplicemente cercando su Google "Il mio IP" dal suo dispositivo. hostserver = Ospita Server invitefriends = Invita Amici hostserver.mobile = Ospita\nServer From 0534a4da450fa43b86e785ad533e0bc9f09a6c07 Mon Sep 17 00:00:00 2001 From: Anuken Date: Wed, 4 Mar 2020 13:53:54 -0500 Subject: [PATCH 55/62] Update bundle_zh_TW.properties (#1665) --- core/assets/bundles/bundle_zh_TW.properties | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/core/assets/bundles/bundle_zh_TW.properties b/core/assets/bundles/bundle_zh_TW.properties index c670a3c947..c7452aceb6 100644 --- a/core/assets/bundles/bundle_zh_TW.properties +++ b/core/assets/bundles/bundle_zh_TW.properties @@ -159,7 +159,7 @@ server.kicked.gameover = 遊戲結束! server.kicked.serverRestarting = 伺服器正在重新啟動。 server.versions = 您的遊戲版本:[accent] {0}[]\n伺服器遊戲版本:[accent] {1}[] host.info = [accent]建立伺服器[]按鍵會在連接埠[scarlet]6567[]建立一個伺服器。\n所有跟您在同一個[lightgray]網路或區域網路[]環境的玩家應該能在他們的伺服器清單中找到您的伺服器。\n\n如果您希望網際網路上的玩家透過IP 位址連線到您的伺服器,您必須設定[accent]連接埠轉發[]。\n\n[lightgray]注意:如果區域網路內有玩家無法連線至您的伺服器,請務必確認您已於防火牆設定中開放Mindustry存取您的區域網路。請注意公共網路有時不允許搜尋伺服器。 -join.info = 您可以在此輸入欲連線的[accent]伺服器IP位址[],或尋找[accent]區域網路[]內的伺服器。目前支援區域網路與網際網路連線。\n\n[lightgray]注意:並沒有自動的網際網路伺服器清單,如果您想透過IP位址連線到他人的伺服器,您必須向他們詢問IP位址。 +join.info = 您可以在此輸入欲連線的[accent]伺服器IP位址[],或尋找[accent]區域網路[]/[accent]全域網路[]內的伺服器。目前支援區域網路與網際網路連線。\n\n[lightgray]如果您想透過IP位址連線到他人的伺服器,您必須向他們詢問IP位址。自己的IP位置可以從google上搜尋到。 hostserver = 建立伺服器 invitefriends = 邀請好友 hostserver.mobile = 建立\n伺服器 @@ -1207,7 +1207,7 @@ block.battery-large.description = 比普通電池存儲更多的能量。 block.combustion-generator.description = 透過燃燒原油或可燃物品以產生能量。 block.thermal-generator.description = 放置在熱的位置時會產生能量。 block.turbine-generator.description = 比燃燒發電機更有效率,但需要水才能運作。 -block.differential-generator.description = 產生大量能量。利用冷卻液和燃燒的火焰彈之間的溫差產生大量的能量。 +block.differential-generator.description = 利用冷卻液和燃燒火焰彈之間的溫差產生大量的能量。 block.rtg-generator.description = 一種簡單、可靠的發電機,不需要冷卻,但產生的能量比釷反應堆少。 block.solar-panel.description = 透過太陽產生少量的能量。 block.solar-panel-large.description = 比標準太陽能板產生更多的能量,但建造起來昂貴得多。 From 89a5c957fdf8b6b84dc1cb512143e55bf1242293 Mon Sep 17 00:00:00 2001 From: Anuken Date: Thu, 5 Mar 2020 15:58:10 -0500 Subject: [PATCH 56/62] add mod name to js print() (#1677) * add mod name to js print() * add mod name to errors --- core/assets/scripts/base.js | 2 +- core/src/mindustry/mod/Scripts.java | 3 +++ 2 files changed, 4 insertions(+), 1 deletion(-) diff --git a/core/assets/scripts/base.js b/core/assets/scripts/base.js index 3721b5b165..d078e27b89 100755 --- a/core/assets/scripts/base.js +++ b/core/assets/scripts/base.js @@ -5,7 +5,7 @@ const log = function(context, obj){ var scriptName = "base.js" var modName = "none" -const print = text => log(scriptName, text); +const print = text => log(modName + "/" + scriptName, text); const extendContent = function(classType, name, params){ return new JavaAdapter(classType, params, name) diff --git a/core/src/mindustry/mod/Scripts.java b/core/src/mindustry/mod/Scripts.java index 69f272595c..7c2bde72e2 100644 --- a/core/src/mindustry/mod/Scripts.java +++ b/core/src/mindustry/mod/Scripts.java @@ -91,6 +91,9 @@ public class Scripts implements Disposable{ context.evaluateString(scope, script, file, 1, null); return true; }catch(Throwable t){ + if(currentMod != null){ + file = currentMod.name + "/" + file; + } log(LogLevel.err, file, "" + getError(t)); return false; } From 8b3d64a29afd5192e73952a6cc446e0e44ec1ba2 Mon Sep 17 00:00:00 2001 From: Anuken Date: Sat, 7 Mar 2020 14:36:47 -0500 Subject: [PATCH 57/62] Better error detection --- desktop/src/mindustry/desktop/DesktopLauncher.java | 5 +++-- gradle.properties | 2 +- 2 files changed, 4 insertions(+), 3 deletions(-) diff --git a/desktop/src/mindustry/desktop/DesktopLauncher.java b/desktop/src/mindustry/desktop/DesktopLauncher.java index 925a77aefb..6c54691e0f 100644 --- a/desktop/src/mindustry/desktop/DesktopLauncher.java +++ b/desktop/src/mindustry/desktop/DesktopLauncher.java @@ -180,9 +180,10 @@ public class DesktopLauncher extends ClientLauncher{ static void handleCrash(Throwable e){ Cons dialog = Runnable::run; boolean badGPU = false; + String total = Strings.getCauses(e).toString(); - if(e.getMessage() != null && (e.getMessage().contains("Couldn't create window") || - e.getMessage().contains("OpenGL 2.0 or higher") || e.getMessage().toLowerCase().contains("pixel format") || e.getMessage().contains("GLEW"))){ + if(total.contains("Couldn't create window") || + total.contains("OpenGL 2.0 or higher") || total.toLowerCase().contains("pixel format") || total.contains("GLEW")){ dialog.get(() -> message( e.getMessage().contains("Couldn't create window") ? "A graphics initialization error has occured! Try to update your graphics drivers:\n" + e.getMessage() : diff --git a/gradle.properties b/gradle.properties index 9a6d877821..79495ee591 100644 --- a/gradle.properties +++ b/gradle.properties @@ -1,3 +1,3 @@ org.gradle.daemon=true org.gradle.jvmargs=-Xms256m -Xmx1024m -archash=69ef047313449905aff6d1390d7136f9c7cdc986 +archash=c1eab295b1a55397957fd54bec2f37daee0e8b4b From 9ef394a99ea06b5e39e9208839e946a8602afd63 Mon Sep 17 00:00:00 2001 From: DeltaNedas <39013340+DeltaNedas@users.noreply.github.com> Date: Sun, 8 Mar 2020 03:47:12 +0000 Subject: [PATCH 58/62] set current mod to required mod (#1684) or you will need to prefix mod name in requires of the required mod instead you now need to prefix current mods name after youve required from another mod --- core/src/mindustry/mod/Scripts.java | 2 ++ 1 file changed, 2 insertions(+) diff --git a/core/src/mindustry/mod/Scripts.java b/core/src/mindustry/mod/Scripts.java index 7c2bde72e2..1e1e5cb325 100644 --- a/core/src/mindustry/mod/Scripts.java +++ b/core/src/mindustry/mod/Scripts.java @@ -127,6 +127,8 @@ public class Scripts implements Disposable{ if(!dir.exists()) return null; // Mod and folder not found return loadSource(script, dir, validator); } + + currentMod = required; return loadSource(script, required.root.child("scripts"), validator); } From d7f9090c0bb009ffbb1da6058164913b94404703 Mon Sep 17 00:00:00 2001 From: Anuken Date: Mon, 9 Mar 2020 09:41:39 -0400 Subject: [PATCH 59/62] Fixed #1672 --- core/assets/bundles/bundle.properties | 2 ++ core/src/mindustry/input/InputHandler.java | 17 +++++++++++++---- .../mindustry/ui/dialogs/SchematicsDialog.java | 7 +++++++ gradle.properties | 2 +- 4 files changed, 23 insertions(+), 5 deletions(-) diff --git a/core/assets/bundles/bundle.properties b/core/assets/bundles/bundle.properties index 1d84a3c859..6a478b6c54 100644 --- a/core/assets/bundles/bundle.properties +++ b/core/assets/bundles/bundle.properties @@ -39,6 +39,8 @@ be.check = Check for updates schematic = Schematic schematic.add = Save Schematic... schematics = Schematics +schematic.replace = A schematic by that name already exists. Replace it? +schematic.exists = A schematic by that name already exists. schematic.import = Import Schematic... schematic.exportfile = Export File schematic.importfile = Import File diff --git a/core/src/mindustry/input/InputHandler.java b/core/src/mindustry/input/InputHandler.java index 611cec44b6..cd2f3d6d6b 100644 --- a/core/src/mindustry/input/InputHandler.java +++ b/core/src/mindustry/input/InputHandler.java @@ -255,10 +255,19 @@ public abstract class InputHandler implements InputProcessor, GestureListener{ if(lastSchematic == null) return; ui.showTextInput("$schematic.add", "$name", "", text -> { - lastSchematic.tags.put("name", text); - schematics.add(lastSchematic); - ui.showInfoFade("$schematic.saved"); - ui.schematics.showInfo(lastSchematic); + Schematic replacement = schematics.all().find(s -> s.name().equals(text)); + if(replacement != null){ + ui.showConfirm("$confirm", "$schematic.replace", () -> { + schematics.overwrite(replacement, lastSchematic); + ui.showInfoFade("$schematic.saved"); + ui.schematics.showInfo(replacement); + }); + }else{ + lastSchematic.tags.put("name", text); + schematics.add(lastSchematic); + ui.showInfoFade("$schematic.saved"); + ui.schematics.showInfo(lastSchematic); + } }); } diff --git a/core/src/mindustry/ui/dialogs/SchematicsDialog.java b/core/src/mindustry/ui/dialogs/SchematicsDialog.java index fb29f9fa8e..5a67dacd58 100644 --- a/core/src/mindustry/ui/dialogs/SchematicsDialog.java +++ b/core/src/mindustry/ui/dialogs/SchematicsDialog.java @@ -90,6 +90,13 @@ public class SchematicsDialog extends FloatingDialog{ buttons.addImageButton(Icon.pencil, style, () -> { ui.showTextInput("$schematic.rename", "$name", s.name(), res -> { + Schematic replacement = schematics.all().find(other -> other.name().equals(res) && other != s); + if(replacement != null){ + //renaming to an existing schematic is not allowed, as it is not clear how the tags would be merged, and which one should be removed + ui.showErrorMessage("$schematic.exists"); + return; + } + s.tags.put("name", res); s.save(); rebuildPane[0].run(); diff --git a/gradle.properties b/gradle.properties index 79495ee591..1aeb38a829 100644 --- a/gradle.properties +++ b/gradle.properties @@ -1,3 +1,3 @@ org.gradle.daemon=true org.gradle.jvmargs=-Xms256m -Xmx1024m -archash=c1eab295b1a55397957fd54bec2f37daee0e8b4b +archash=b8f094ba9916ba5a0ce5b4c9dc0fc3d2d0cf89fd From 8550995c4e9f886e702aad35c0689cf268b20fd1 Mon Sep 17 00:00:00 2001 From: Anuken Date: Tue, 10 Mar 2020 19:51:31 -0400 Subject: [PATCH 60/62] Fixed compilation --- .../{alpha_bloom.fragment.glsl => alpha_bloom.frag} | 0 .../{alpha_gaussian.fragment.glsl => alpha_gaussian.frag} | 0 .../{alpha_threshold.fragment.glsl => alpha_threshold.frag} | 0 core/assets/bloomshaders/{bloom.fragment.glsl => bloom.frag} | 0 .../bloomshaders/{blurspace.vertex.glsl => blurspace.vert} | 0 .../bloomshaders/{gaussian.fragment.glsl => gaussian.frag} | 0 .../{maskedtreshold.fragment.glsl => maskedtreshold.frag} | 0 .../{screenspace.vertex.glsl => screenspace.vert} | 0 .../bloomshaders/{threshold.fragment.glsl => threshold.frag} | 0 core/src/mindustry/graphics/IndexedRenderer.java | 5 +---- gradle.properties | 2 +- 11 files changed, 2 insertions(+), 5 deletions(-) rename core/assets/bloomshaders/{alpha_bloom.fragment.glsl => alpha_bloom.frag} (100%) rename core/assets/bloomshaders/{alpha_gaussian.fragment.glsl => alpha_gaussian.frag} (100%) rename core/assets/bloomshaders/{alpha_threshold.fragment.glsl => alpha_threshold.frag} (100%) rename core/assets/bloomshaders/{bloom.fragment.glsl => bloom.frag} (100%) rename core/assets/bloomshaders/{blurspace.vertex.glsl => blurspace.vert} (100%) rename core/assets/bloomshaders/{gaussian.fragment.glsl => gaussian.frag} (100%) rename core/assets/bloomshaders/{maskedtreshold.fragment.glsl => maskedtreshold.frag} (100%) rename core/assets/bloomshaders/{screenspace.vertex.glsl => screenspace.vert} (100%) rename core/assets/bloomshaders/{threshold.fragment.glsl => threshold.frag} (100%) diff --git a/core/assets/bloomshaders/alpha_bloom.fragment.glsl b/core/assets/bloomshaders/alpha_bloom.frag similarity index 100% rename from core/assets/bloomshaders/alpha_bloom.fragment.glsl rename to core/assets/bloomshaders/alpha_bloom.frag diff --git a/core/assets/bloomshaders/alpha_gaussian.fragment.glsl b/core/assets/bloomshaders/alpha_gaussian.frag similarity index 100% rename from core/assets/bloomshaders/alpha_gaussian.fragment.glsl rename to core/assets/bloomshaders/alpha_gaussian.frag diff --git a/core/assets/bloomshaders/alpha_threshold.fragment.glsl b/core/assets/bloomshaders/alpha_threshold.frag similarity index 100% rename from core/assets/bloomshaders/alpha_threshold.fragment.glsl rename to core/assets/bloomshaders/alpha_threshold.frag diff --git a/core/assets/bloomshaders/bloom.fragment.glsl b/core/assets/bloomshaders/bloom.frag similarity index 100% rename from core/assets/bloomshaders/bloom.fragment.glsl rename to core/assets/bloomshaders/bloom.frag diff --git a/core/assets/bloomshaders/blurspace.vertex.glsl b/core/assets/bloomshaders/blurspace.vert similarity index 100% rename from core/assets/bloomshaders/blurspace.vertex.glsl rename to core/assets/bloomshaders/blurspace.vert diff --git a/core/assets/bloomshaders/gaussian.fragment.glsl b/core/assets/bloomshaders/gaussian.frag similarity index 100% rename from core/assets/bloomshaders/gaussian.fragment.glsl rename to core/assets/bloomshaders/gaussian.frag diff --git a/core/assets/bloomshaders/maskedtreshold.fragment.glsl b/core/assets/bloomshaders/maskedtreshold.frag similarity index 100% rename from core/assets/bloomshaders/maskedtreshold.fragment.glsl rename to core/assets/bloomshaders/maskedtreshold.frag diff --git a/core/assets/bloomshaders/screenspace.vertex.glsl b/core/assets/bloomshaders/screenspace.vert similarity index 100% rename from core/assets/bloomshaders/screenspace.vertex.glsl rename to core/assets/bloomshaders/screenspace.vert diff --git a/core/assets/bloomshaders/threshold.fragment.glsl b/core/assets/bloomshaders/threshold.frag similarity index 100% rename from core/assets/bloomshaders/threshold.fragment.glsl rename to core/assets/bloomshaders/threshold.frag diff --git a/core/src/mindustry/graphics/IndexedRenderer.java b/core/src/mindustry/graphics/IndexedRenderer.java index cb42b6fe0b..96194c0883 100644 --- a/core/src/mindustry/graphics/IndexedRenderer.java +++ b/core/src/mindustry/graphics/IndexedRenderer.java @@ -60,16 +60,13 @@ public class IndexedRenderer implements Disposable{ updateMatrix(); - program.begin(); - + program.bind(); texture.bind(); program.setUniformMatrix4("u_projTrans", BatchShader.copyTransform(combined)); program.setUniformi("u_texture", 0); mesh.render(program, Gl.triangles, 0, vertices.length / vsize); - - program.end(); } public void setColor(Color color){ diff --git a/gradle.properties b/gradle.properties index 1aeb38a829..1bbf7facaa 100644 --- a/gradle.properties +++ b/gradle.properties @@ -1,3 +1,3 @@ org.gradle.daemon=true org.gradle.jvmargs=-Xms256m -Xmx1024m -archash=b8f094ba9916ba5a0ce5b4c9dc0fc3d2d0cf89fd +archash=3c2fae9b66b6affc1ba6701cce19ca9625c5e1b1 From 6079980a507da5cafb2f5c2cdd2c43aa78915d14 Mon Sep 17 00:00:00 2001 From: Anuken Date: Sun, 15 Mar 2020 09:08:27 -0400 Subject: [PATCH 61/62] Fixed content loading crash --- core/src/mindustry/core/ContentLoader.java | 4 ++++ gradle.properties | 2 +- 2 files changed, 5 insertions(+), 1 deletion(-) diff --git a/core/src/mindustry/core/ContentLoader.java b/core/src/mindustry/core/ContentLoader.java index dc1e21e917..fe81b7ce59 100644 --- a/core/src/mindustry/core/ContentLoader.java +++ b/core/src/mindustry/core/ContentLoader.java @@ -1,5 +1,6 @@ package mindustry.core; +import arc.files.*; import arc.struct.*; import arc.func.*; import arc.graphics.*; @@ -182,6 +183,9 @@ public class ContentLoader{ } if(currentMod != null){ content.minfo.mod = currentMod; + if(content.minfo.sourceFile == null){ + content.minfo.sourceFile = new Fi(content.name); + } } contentNameMap[content.getContentType().ordinal()].put(content.name, content); } diff --git a/gradle.properties b/gradle.properties index 1bbf7facaa..3b4da6f663 100644 --- a/gradle.properties +++ b/gradle.properties @@ -1,3 +1,3 @@ org.gradle.daemon=true org.gradle.jvmargs=-Xms256m -Xmx1024m -archash=3c2fae9b66b6affc1ba6701cce19ca9625c5e1b1 +archash=31a5158c6395b7e905ba546348c98fd99ea736bb From ec34e2710248850bf008155f724c9d63d8c8ead4 Mon Sep 17 00:00:00 2001 From: ma44 Date: Sun, 15 Mar 2020 13:02:47 -0500 Subject: [PATCH 62/62] map setting refund (#1709) --- core/assets/bundles/bundle.properties | 1 + core/src/mindustry/game/Rules.java | 2 ++ core/src/mindustry/ui/dialogs/CustomRulesDialog.java | 1 + core/src/mindustry/world/blocks/BuildBlock.java | 2 +- 4 files changed, 5 insertions(+), 1 deletion(-) diff --git a/core/assets/bundles/bundle.properties b/core/assets/bundles/bundle.properties index 6a478b6c54..18f29046d4 100644 --- a/core/assets/bundles/bundle.properties +++ b/core/assets/bundles/bundle.properties @@ -777,6 +777,7 @@ rules.respawntime = Respawn Time:[lightgray] (sec) rules.wavespacing = Wave Spacing:[lightgray] (sec) rules.buildcostmultiplier = Build Cost Multiplier rules.buildspeedmultiplier = Build Speed Multiplier +rules.deconstructrefundmultiplier = Deconstruct Refund Multiplier rules.waitForWaveToEnd = Waves Wait for Enemies rules.dropzoneradius = Drop Zone Radius:[lightgray] (tiles) rules.respawns = Max respawns per wave diff --git a/core/src/mindustry/game/Rules.java b/core/src/mindustry/game/Rules.java index ff946e359c..b1cca11316 100644 --- a/core/src/mindustry/game/Rules.java +++ b/core/src/mindustry/game/Rules.java @@ -44,6 +44,8 @@ public class Rules{ public float buildCostMultiplier = 1f; /** Multiplier for building speed. */ public float buildSpeedMultiplier = 1f; + /** Multiplier for percentage of materials refunded when deconstructing */ + public float deconstructRefundMultiplier = 0.5f; /** No-build zone around enemy core radius. */ public float enemyCoreBuildRadius = 400f; /** Radius around enemy wave drop zones.*/ diff --git a/core/src/mindustry/ui/dialogs/CustomRulesDialog.java b/core/src/mindustry/ui/dialogs/CustomRulesDialog.java index 42ae294123..341368a51c 100644 --- a/core/src/mindustry/ui/dialogs/CustomRulesDialog.java +++ b/core/src/mindustry/ui/dialogs/CustomRulesDialog.java @@ -142,6 +142,7 @@ public class CustomRulesDialog extends FloatingDialog{ check("$rules.reactorexplosions", b -> rules.reactorExplosions = b, () -> rules.reactorExplosions); number("$rules.buildcostmultiplier", false, f -> rules.buildCostMultiplier = f, () -> rules.buildCostMultiplier, () -> !rules.infiniteResources); number("$rules.buildspeedmultiplier", f -> rules.buildSpeedMultiplier = f, () -> rules.buildSpeedMultiplier); + number("$rules.deconstructrefundmultiplier", false, f -> rules.deconstructRefundMultiplier = f, () -> rules.deconstructRefundMultiplier, () -> !rules.infiniteResources); number("$rules.blockhealthmultiplier", f -> rules.blockHealthMultiplier = f, () -> rules.blockHealthMultiplier); main.addButton("$configure", diff --git a/core/src/mindustry/world/blocks/BuildBlock.java b/core/src/mindustry/world/blocks/BuildBlock.java index 19969df254..359d37d567 100644 --- a/core/src/mindustry/world/blocks/BuildBlock.java +++ b/core/src/mindustry/world/blocks/BuildBlock.java @@ -252,7 +252,7 @@ public class BuildBlock extends Block{ } public void deconstruct(Unit builder, @Nullable TileEntity core, float amount){ - float deconstructMultiplier = 0.5f; + float deconstructMultiplier = state.rules.deconstructRefundMultiplier; if(cblock != null){ ItemStack[] requirements = cblock.requirements;