From 3f46080f4235043cf5febd6fff1a2fbbd5b12886 Mon Sep 17 00:00:00 2001 From: GlFolker <63218676+GlennFolker@users.noreply.github.com> Date: Thu, 14 Mar 2024 23:12:28 +0700 Subject: [PATCH 01/89] Allow categorized sprite names to not be prefixed. (#9616) * Delegate more methods into Planet * Allow categorized sprite prefixes --- core/src/mindustry/mod/Mods.java | 5 ++++- 1 file changed, 4 insertions(+), 1 deletion(-) diff --git a/core/src/mindustry/mod/Mods.java b/core/src/mindustry/mod/Mods.java index 1eed765d19..391636571e 100644 --- a/core/src/mindustry/mod/Mods.java +++ b/core/src/mindustry/mod/Mods.java @@ -218,7 +218,10 @@ public class Mods implements Loadable{ } //this returns a *runnable* which actually packs the resulting pixmap; this has to be done synchronously outside the method return () -> { - String fullName = (prefix ? mod.name + "-" : "") + baseName; + //don't prefix with mod name if it's already prefixed by a category, e.g. `block-modname-content-full`. + int hyphen = baseName.indexOf('-'); + String fullName = ((prefix && !(hyphen != -1 && baseName.substring(hyphen + 1).startsWith(mod.name + "-"))) ? mod.name + "-" : "") + baseName; + packer.add(getPage(file), fullName, new PixmapRegion(pix)); if(textureScale != 1.0f){ textureResize.put(fullName, textureScale); From 60c6e03d3264275eb1ffaef5aa91eba22e284b37 Mon Sep 17 00:00:00 2001 From: MEEPofFaith <54301439+MEEPofFaith@users.noreply.github.com> Date: Thu, 14 Mar 2024 11:25:03 -0700 Subject: [PATCH 02/89] Weather with World Logic (#9621) * Weather sense Honestly, doesn't seem game changing enough to warrant privileged restriction. * Weather set * Rename "snow" to "snowing" Fix conflict with the snow floor block, though I don't know if this'll have negative repercussions on saves. * Don't last forever * Cleanup and bundle * add space --- core/assets/bundles/bundle.properties | 2 + core/src/mindustry/content/Weathers.java | 2 +- core/src/mindustry/core/ContentLoader.java | 8 ++ core/src/mindustry/logic/GlobalVars.java | 4 + core/src/mindustry/logic/LExecutor.java | 43 +++++++- core/src/mindustry/logic/LStatement.java | 2 +- core/src/mindustry/logic/LStatements.java | 109 +++++++++++++++++++++ core/src/mindustry/type/Weather.java | 2 +- 8 files changed, 168 insertions(+), 4 deletions(-) diff --git a/core/assets/bundles/bundle.properties b/core/assets/bundles/bundle.properties index e9805b2eb0..260c5af651 100644 --- a/core/assets/bundles/bundle.properties +++ b/core/assets/bundles/bundle.properties @@ -2315,6 +2315,8 @@ lst.getblock = Get tile data at any location. lst.setblock = Set tile data at any location. lst.spawnunit = Spawn unit at a location. lst.applystatus = Apply or clear a status effect from a unit. +lst.weathersensor = Check if a type of weather is active. +lst.weatherset = Set the current state of a type of weather. lst.spawnwave = Spawn a wave. lst.explosion = Create an explosion at a location. lst.setrate = Set processor execution speed in instructions/tick. diff --git a/core/src/mindustry/content/Weathers.java b/core/src/mindustry/content/Weathers.java index f0ee71d4ea..d69a6b4b43 100644 --- a/core/src/mindustry/content/Weathers.java +++ b/core/src/mindustry/content/Weathers.java @@ -17,7 +17,7 @@ public class Weathers{ suspendParticles; public static void load(){ - snow = new ParticleWeather("snow"){{ + snow = new ParticleWeather("snowing"){{ particleRegion = "particle"; sizeMax = 13f; sizeMin = 2.6f; diff --git a/core/src/mindustry/core/ContentLoader.java b/core/src/mindustry/core/ContentLoader.java index 91e9c80824..7abaf35f29 100644 --- a/core/src/mindustry/core/ContentLoader.java +++ b/core/src/mindustry/core/ContentLoader.java @@ -314,6 +314,14 @@ public class ContentLoader{ return getByName(ContentType.planet, name); } + public Seq weathers(){ + return getBy(ContentType.weather); + } + + public Weather weather(String name){ + return getByName(ContentType.weather, name); + } + public Seq unitStances(){ return getBy(ContentType.unitStance); } diff --git a/core/src/mindustry/logic/GlobalVars.java b/core/src/mindustry/logic/GlobalVars.java index fa07475c7f..65df2c3821 100644 --- a/core/src/mindustry/logic/GlobalVars.java +++ b/core/src/mindustry/logic/GlobalVars.java @@ -125,6 +125,10 @@ public class GlobalVars{ put("@" + type.name, type); } + for(Weather weather : Vars.content.weathers()){ + put("@" + weather.name, weather); + } + //store sensor constants for(LAccess sensor : LAccess.all){ put("@" + sensor.name(), sensor); diff --git a/core/src/mindustry/logic/LExecutor.java b/core/src/mindustry/logic/LExecutor.java index 8d02218748..ba9b194364 100644 --- a/core/src/mindustry/logic/LExecutor.java +++ b/core/src/mindustry/logic/LExecutor.java @@ -13,8 +13,8 @@ import mindustry.content.*; import mindustry.core.*; import mindustry.ctype.*; import mindustry.entities.*; -import mindustry.game.*; import mindustry.game.EventType.*; +import mindustry.game.*; import mindustry.game.MapObjectives.*; import mindustry.game.Teams.*; import mindustry.gen.*; @@ -1511,6 +1511,47 @@ public class LExecutor{ } } + public static class SenseWeatherI implements LInstruction{ + public int type, to; + + public SenseWeatherI(int type, int to){ + this.type = type; + this.to = to; + } + + @Override + public void run(LExecutor exec){ + exec.setbool(to, exec.obj(type) instanceof Weather weather && weather.isActive()); + } + } + + public static class SetWeatherI implements LInstruction{ + public int type, state; + + public SetWeatherI(int type, int state){ + this.type = type; + this.state = state; + } + + @Override + public void run(LExecutor exec){ + if(exec.obj(type) instanceof Weather weather){ + if(exec.bool(state)){ + if(!weather.isActive()){ //Create is not already active + Tmp.v1.setToRandomDirection(); + Call.createWeather(weather, 1f, WeatherState.fadeTime, Tmp.v1.x, Tmp.v1.y); + }else{ + weather.instance().life(WeatherState.fadeTime); + } + }else{ + if(weather.isActive() && weather.instance().life > WeatherState.fadeTime){ + weather.instance().life(WeatherState.fadeTime); + } + } + } + } + } + public static class ApplyEffectI implements LInstruction{ public boolean clear; public String effect; diff --git a/core/src/mindustry/logic/LStatement.java b/core/src/mindustry/logic/LStatement.java index 939114cc89..42e0c2ee67 100644 --- a/core/src/mindustry/logic/LStatement.java +++ b/core/src/mindustry/logic/LStatement.java @@ -16,7 +16,7 @@ import mindustry.logic.LCanvas.*; import mindustry.logic.LExecutor.*; import mindustry.ui.*; -import static mindustry.Vars.ui; +import static mindustry.Vars.*; import static mindustry.logic.LCanvas.*; /** diff --git a/core/src/mindustry/logic/LStatements.java b/core/src/mindustry/logic/LStatements.java index ceae4740c6..e04293a8e7 100644 --- a/core/src/mindustry/logic/LStatements.java +++ b/core/src/mindustry/logic/LStatements.java @@ -1380,6 +1380,115 @@ public class LStatements{ } } + @RegisterStatement("weathersensor") + public static class WeatherSenseStatement extends LStatement{ + public String to = "result"; + public String weather = "@rain"; + + private transient TextField tfield; + + @Override + public void build(Table table){ + field(table, to, str -> to = str); + + table.add(" = weather "); + + row(table); + + tfield = field(table, weather, str -> weather = str).padRight(0f).get(); + + table.button(b -> { + b.image(Icon.pencilSmall); + + b.clicked(() -> showSelectTable(b, (t, hide) -> { + t.row(); + t.table(i -> { + i.left(); + int c = 0; + for(Weather w : Vars.content.weathers()){ + i.button(w.name, Styles.flatt, () -> { + weather = "@" + w.name; + tfield.setText(weather); + hide.run(); + }).height(40f).uniformX().wrapLabel(false).growX(); + + if(++c % 2 == 0) i.row(); + } + }).left(); + })); + }, Styles.logict, () -> {}).size(40f).padLeft(-1).color(table.color); + } + + @Override + public boolean privileged(){ + return true; + } + + @Override + public LInstruction build(LAssembler builder){ + return new SenseWeatherI(builder.var(weather), builder.var(to)); + } + + @Override + public LCategory category(){ + return LCategory.world; + } + } + + @RegisterStatement("weatherset") + public static class WeatherSetStatement extends LStatement{ + public String weather = "@rain", state = "true"; + + private transient TextField tfield; + + @Override + public void build(Table table){ + table.add(" set weather "); + + tfield = field(table, weather, str -> weather = str).padRight(0f).get(); + + table.button(b -> { + b.image(Icon.pencilSmall); + + b.clicked(() -> showSelectTable(b, (t, hide) -> { + t.row(); + t.table(i -> { + i.left(); + int c = 0; + for(Weather w : Vars.content.weathers()){ + i.button(w.name, Styles.flatt, () -> { + weather = "@" + w.name; + tfield.setText(weather); + hide.run(); + }).height(40f).uniformX().wrapLabel(false).growX(); + + if(++c % 2 == 0) i.row(); + } + }).left(); + })); + }, Styles.logict, () -> {}).size(40f).padLeft(-1).color(table.color); + + table.add(" state "); + + fields(table, state, str -> state = str); + } + + @Override + public boolean privileged(){ + return true; + } + + @Override + public LInstruction build(LAssembler builder){ + return new SetWeatherI(builder.var(weather), builder.var(state)); + } + + @Override + public LCategory category(){ + return LCategory.world; + } + } + @RegisterStatement("spawnwave") public static class SpawnWaveStatement extends LStatement{ public String x = "10", y = "10", natural = "false"; diff --git a/core/src/mindustry/type/Weather.java b/core/src/mindustry/type/Weather.java index 286b7880fa..d8b7618ccc 100644 --- a/core/src/mindustry/type/Weather.java +++ b/core/src/mindustry/type/Weather.java @@ -314,7 +314,7 @@ public class Weather extends UnlockableContent{ @EntityDef(value = {WeatherStatec.class}, pooled = true, isFinal = false) @Component(base = true) abstract static class WeatherStateComp implements Drawc, Syncc{ - private static final float fadeTime = 60 * 4; + public static final float fadeTime = 60 * 4; Weather weather; float intensity = 1f, opacity = 0f, life, effectTimer; From 824c6eedb39fba26b41ec8f0843595d2addc7fc0 Mon Sep 17 00:00:00 2001 From: Github Actions Date: Thu, 14 Mar 2024 18:25:49 +0000 Subject: [PATCH 03/89] Automatic bundle update --- core/assets/bundles/bundle_be.properties | 2 ++ core/assets/bundles/bundle_bg.properties | 2 ++ core/assets/bundles/bundle_ca.properties | 2 ++ core/assets/bundles/bundle_cs.properties | 2 ++ core/assets/bundles/bundle_da.properties | 2 ++ core/assets/bundles/bundle_de.properties | 2 ++ core/assets/bundles/bundle_es.properties | 2 ++ core/assets/bundles/bundle_et.properties | 2 ++ core/assets/bundles/bundle_eu.properties | 2 ++ core/assets/bundles/bundle_fi.properties | 2 ++ core/assets/bundles/bundle_fil.properties | 2 ++ core/assets/bundles/bundle_fr.properties | 2 ++ core/assets/bundles/bundle_hu.properties | 2 ++ core/assets/bundles/bundle_id_ID.properties | 2 ++ core/assets/bundles/bundle_it.properties | 2 ++ core/assets/bundles/bundle_ja.properties | 2 ++ core/assets/bundles/bundle_ko.properties | 2 ++ core/assets/bundles/bundle_lt.properties | 2 ++ core/assets/bundles/bundle_nl.properties | 2 ++ core/assets/bundles/bundle_nl_BE.properties | 2 ++ core/assets/bundles/bundle_pl.properties | 2 ++ core/assets/bundles/bundle_pt_BR.properties | 2 ++ core/assets/bundles/bundle_pt_PT.properties | 2 ++ core/assets/bundles/bundle_ro.properties | 2 ++ core/assets/bundles/bundle_ru.properties | 2 ++ core/assets/bundles/bundle_sr.properties | 2 ++ core/assets/bundles/bundle_sv.properties | 2 ++ core/assets/bundles/bundle_th.properties | 2 ++ core/assets/bundles/bundle_tk.properties | 2 ++ core/assets/bundles/bundle_tr.properties | 2 ++ core/assets/bundles/bundle_uk_UA.properties | 2 ++ core/assets/bundles/bundle_vi.properties | 2 ++ core/assets/bundles/bundle_zh_CN.properties | 2 ++ core/assets/bundles/bundle_zh_TW.properties | 2 ++ 34 files changed, 68 insertions(+) diff --git a/core/assets/bundles/bundle_be.properties b/core/assets/bundles/bundle_be.properties index fd5e66eab9..e3a469caac 100644 --- a/core/assets/bundles/bundle_be.properties +++ b/core/assets/bundles/bundle_be.properties @@ -2264,6 +2264,8 @@ lst.getblock = Get tile data at any location. lst.setblock = Set tile data at any location. lst.spawnunit = Spawn unit at a location. lst.applystatus = Apply or clear a status effect from a uniut. +lst.weathersensor = Check if a type of weather is active. +lst.weatherset = Set the current state of a type of weather. lst.spawnwave = Simulate a wave being spawned at a arbitrary location.\nWill not increment the wave counter. lst.explosion = Create an explosion at a location. lst.setrate = Set processor execution speed in instructions/tick. diff --git a/core/assets/bundles/bundle_bg.properties b/core/assets/bundles/bundle_bg.properties index 5c2be5299c..bd83830718 100644 --- a/core/assets/bundles/bundle_bg.properties +++ b/core/assets/bundles/bundle_bg.properties @@ -2278,6 +2278,8 @@ lst.getblock = Get tile data at any location. lst.setblock = Set tile data at any location. lst.spawnunit = Spawn unit at a location. lst.applystatus = Apply or clear a status effect from a uniut. +lst.weathersensor = Check if a type of weather is active. +lst.weatherset = Set the current state of a type of weather. lst.spawnwave = Simulate a wave being spawned at a arbitrary location.\nWill not increment the wave counter. lst.explosion = Create an explosion at a location. lst.setrate = Set processor execution speed in instructions/tick. diff --git a/core/assets/bundles/bundle_ca.properties b/core/assets/bundles/bundle_ca.properties index c323aadfd8..2e2b9b9827 100644 --- a/core/assets/bundles/bundle_ca.properties +++ b/core/assets/bundles/bundle_ca.properties @@ -2288,6 +2288,8 @@ lst.getblock = Obtén les dades d’un bloc en qualsevol posició. lst.setblock = Estableix les dades d’un bloc en qualsevol posició. lst.spawnunit = Fes aparèixer una unitat en una posició. lst.applystatus = Aplica o esborra un efecte d’estat d’una unitat. +lst.weathersensor = Check if a type of weather is active. +lst.weatherset = Set the current state of a type of weather. lst.spawnwave = Simula l’aparició d’una onada enemiga en una posició arbitrària.\nEl comptador d’onades no s’incrementarà. lst.explosion = Crea una explosió en una posició. lst.setrate = Estableix la velocitat d’execució del processador en instruccions/tic. diff --git a/core/assets/bundles/bundle_cs.properties b/core/assets/bundles/bundle_cs.properties index 65e16af2d7..cdd5a9fdae 100644 --- a/core/assets/bundles/bundle_cs.properties +++ b/core/assets/bundles/bundle_cs.properties @@ -2283,6 +2283,8 @@ lst.getblock = Get tile data at any location. lst.setblock = Set tile data at any location. lst.spawnunit = Spawn unit at a location. lst.applystatus = Apply or clear a status effect from a uniut. +lst.weathersensor = Check if a type of weather is active. +lst.weatherset = Set the current state of a type of weather. lst.spawnwave = Simulate a wave being spawned at a arbitrary location.\nWill not increment the wave counter. lst.explosion = Create an explosion at a location. lst.setrate = Set processor execution speed in instructions/tick. diff --git a/core/assets/bundles/bundle_da.properties b/core/assets/bundles/bundle_da.properties index 01f2b2e2d7..1e23ad4055 100644 --- a/core/assets/bundles/bundle_da.properties +++ b/core/assets/bundles/bundle_da.properties @@ -2264,6 +2264,8 @@ lst.getblock = Get tile data at any location. lst.setblock = Set tile data at any location. lst.spawnunit = Spawn unit at a location. lst.applystatus = Apply or clear a status effect from a uniut. +lst.weathersensor = Check if a type of weather is active. +lst.weatherset = Set the current state of a type of weather. lst.spawnwave = Simulate a wave being spawned at a arbitrary location.\nWill not increment the wave counter. lst.explosion = Create an explosion at a location. lst.setrate = Set processor execution speed in instructions/tick. diff --git a/core/assets/bundles/bundle_de.properties b/core/assets/bundles/bundle_de.properties index 01de9b4f23..04488a8786 100644 --- a/core/assets/bundles/bundle_de.properties +++ b/core/assets/bundles/bundle_de.properties @@ -2313,6 +2313,8 @@ lst.getblock = Lese Tile-Daten von jedem Standort. lst.setblock = Setze Tile-Daten an jedem Standort. lst.spawnunit = Einheit an einem Standort erstellen. lst.applystatus = Füge einer Einheit einen Effekt hinzu oder entferne ihn. +lst.weathersensor = Check if a type of weather is active. +lst.weatherset = Set the current state of a type of weather. lst.spawnwave = Schickt die nächste Welle. lst.explosion = Erstellt an einer beliebigen Stelle eine Explosion. lst.setrate = Setzt die Ausführungsgeschwindigkeit von Prozessoren in Anweisungen/tick. diff --git a/core/assets/bundles/bundle_es.properties b/core/assets/bundles/bundle_es.properties index 1cd964966b..18a16ca4d9 100644 --- a/core/assets/bundles/bundle_es.properties +++ b/core/assets/bundles/bundle_es.properties @@ -2306,6 +2306,8 @@ lst.getblock = Obtiene los datos de un bloque en cualquier lugar. lst.setblock = Cambia los datos de un bloque en cualquier lugar. lst.spawnunit = Crea una unidad en una localización. lst.applystatus = Aplica o elimina un efecto de alteración de estado a una unidad. +lst.weathersensor = Check if a type of weather is active. +lst.weatherset = Set the current state of a type of weather. lst.spawnwave = Simula la aparición de una oleada de enemigos en una localización arbitraria.\nNo incrementará el contador de oleadas. lst.explosion = Crea una explosión en una localización. lst.setrate = Establece la velocidad de ejecución de los procesadores lógicos en formato instrucción/tick. diff --git a/core/assets/bundles/bundle_et.properties b/core/assets/bundles/bundle_et.properties index 72423c0523..a56915c145 100644 --- a/core/assets/bundles/bundle_et.properties +++ b/core/assets/bundles/bundle_et.properties @@ -2266,6 +2266,8 @@ lst.getblock = Get tile data at any location. lst.setblock = Set tile data at any location. lst.spawnunit = Spawn unit at a location. lst.applystatus = Apply or clear a status effect from a uniut. +lst.weathersensor = Check if a type of weather is active. +lst.weatherset = Set the current state of a type of weather. lst.spawnwave = Simulate a wave being spawned at a arbitrary location.\nWill not increment the wave counter. lst.explosion = Create an explosion at a location. lst.setrate = Set processor execution speed in instructions/tick. diff --git a/core/assets/bundles/bundle_eu.properties b/core/assets/bundles/bundle_eu.properties index 8536471718..8ce90d62e5 100644 --- a/core/assets/bundles/bundle_eu.properties +++ b/core/assets/bundles/bundle_eu.properties @@ -2268,6 +2268,8 @@ lst.getblock = Get tile data at any location. lst.setblock = Set tile data at any location. lst.spawnunit = Spawn unit at a location. lst.applystatus = Apply or clear a status effect from a uniut. +lst.weathersensor = Check if a type of weather is active. +lst.weatherset = Set the current state of a type of weather. lst.spawnwave = Simulate a wave being spawned at a arbitrary location.\nWill not increment the wave counter. lst.explosion = Create an explosion at a location. lst.setrate = Set processor execution speed in instructions/tick. diff --git a/core/assets/bundles/bundle_fi.properties b/core/assets/bundles/bundle_fi.properties index 588a00b290..7a31835dde 100644 --- a/core/assets/bundles/bundle_fi.properties +++ b/core/assets/bundles/bundle_fi.properties @@ -2269,6 +2269,8 @@ lst.getblock = Selvitä laattadata missä tahansa sijainnissa. lst.setblock = Aseta laattadata missä tahansa sijainnissa. lst.spawnunit = Luo joukko tietyssä sijainnissa. lst.applystatus = Lisää tai poista statusefekti yksiköltä. +lst.weathersensor = Check if a type of weather is active. +lst.weatherset = Set the current state of a type of weather. lst.spawnwave = Simuloi tason syntymistä mielivaltaisessa sijainnissa.\nEi vaikuta tasolaskuriin. lst.explosion = Luo räjähdys tietyssä sijainnissa. lst.setrate = Aseta prosessorin suoritusnopeus ohjeessa/sekunti. diff --git a/core/assets/bundles/bundle_fil.properties b/core/assets/bundles/bundle_fil.properties index a59f2d7103..92bf22e804 100644 --- a/core/assets/bundles/bundle_fil.properties +++ b/core/assets/bundles/bundle_fil.properties @@ -2265,6 +2265,8 @@ lst.getblock = Get tile data at any location. lst.setblock = Set tile data at any location. lst.spawnunit = Spawn unit at a location. lst.applystatus = Apply or clear a status effect from a uniut. +lst.weathersensor = Check if a type of weather is active. +lst.weatherset = Set the current state of a type of weather. lst.spawnwave = Simulate a wave being spawned at a arbitrary location.\nWill not increment the wave counter. lst.explosion = Create an explosion at a location. lst.setrate = Set processor execution speed in instructions/tick. diff --git a/core/assets/bundles/bundle_fr.properties b/core/assets/bundles/bundle_fr.properties index e53a97e6b7..ce9882b068 100644 --- a/core/assets/bundles/bundle_fr.properties +++ b/core/assets/bundles/bundle_fr.properties @@ -2314,6 +2314,8 @@ lst.getblock = Obtient les données d'une tuile à n'importe quel emplacement. lst.setblock = Définit les données d'une tuile à n'importe quel emplacement. lst.spawnunit = Fait apparaître une unité à un emplacement. lst.applystatus = Ajoute ou enlève un effet de statut d'une unité. +lst.weathersensor = Check if a type of weather is active. +lst.weatherset = Set the current state of a type of weather. lst.spawnwave = Simule un déclenchement de vague à n'importe quel emplacement.\nCela n'incrémente pas le compteur de vaugues. lst.explosion = Crée une explosion à un emplacement. lst.setrate = Définit la vitesse d'exécution d'un processeur en instructions/tick. diff --git a/core/assets/bundles/bundle_hu.properties b/core/assets/bundles/bundle_hu.properties index 25762a0f33..21f84cf25c 100644 --- a/core/assets/bundles/bundle_hu.properties +++ b/core/assets/bundles/bundle_hu.properties @@ -2315,6 +2315,8 @@ lst.getblock = Csempeadatok lekérdezése tetszőleges helyen. lst.setblock = Csempeadatok beállítása tetszőleges helyen. lst.spawnunit = Egység lerakása egy helyen. lst.applystatus = Állapothatás alkalmazása, vagy törlése egy egységről. +lst.weathersensor = Check if a type of weather is active. +lst.weatherset = Set the current state of a type of weather. lst.spawnwave = Egy tetszőleges helyen keletkező hullám szimulálása.\nNem növeli a hullámszámlálót. lst.explosion = Robbanás létrehozása egy helyen. lst.setrate = A processzor végrehajtási sebességének beállítása utasítás/ütemben. diff --git a/core/assets/bundles/bundle_id_ID.properties b/core/assets/bundles/bundle_id_ID.properties index f79faeb13c..9abf0debce 100644 --- a/core/assets/bundles/bundle_id_ID.properties +++ b/core/assets/bundles/bundle_id_ID.properties @@ -2304,6 +2304,8 @@ lst.getblock = Mendapatkan data petak di lokasi manapun. lst.setblock = Menentukan data petak di lokasi manapun. lst.spawnunit = Munculkan unit pada tempat yang ditentukan. lst.applystatus = Menerapkan atau menghapus status efek dari sebuah unit. +lst.weathersensor = Check if a type of weather is active. +lst.weatherset = Set the current state of a type of weather. lst.spawnwave = Simulasikan adanya gelombang pada lokasi acak.\nTidak akan ditambahkan pada jumlah gelombang keseluruhan. lst.explosion = Membuat sebuah ledakan pada lokasi yang ditentukan. lst.setrate = Menentukan kecepatan eksekusi prosesor dalam instruksi per tick. diff --git a/core/assets/bundles/bundle_it.properties b/core/assets/bundles/bundle_it.properties index 04b136afa3..01262c1e95 100644 --- a/core/assets/bundles/bundle_it.properties +++ b/core/assets/bundles/bundle_it.properties @@ -2278,6 +2278,8 @@ lst.getblock = Get tile data at any location. lst.setblock = Set tile data at any location. lst.spawnunit = Spawn unit at a location. lst.applystatus = Apply or clear a status effect from a uniut. +lst.weathersensor = Check if a type of weather is active. +lst.weatherset = Set the current state of a type of weather. lst.spawnwave = Simulate a wave being spawned at a arbitrary location.\nWill not increment the wave counter. lst.explosion = Create an explosion at a location. lst.setrate = Set processor execution speed in instructions/tick. diff --git a/core/assets/bundles/bundle_ja.properties b/core/assets/bundles/bundle_ja.properties index 5cdb6a3b08..773c80759e 100644 --- a/core/assets/bundles/bundle_ja.properties +++ b/core/assets/bundles/bundle_ja.properties @@ -2282,6 +2282,8 @@ lst.getblock = 任意の座標のタイルの情報を取得します。 lst.setblock = 任意の座標のタイルの情報を変更します。 lst.spawnunit = 任意の座標にユニットをスポーンさせます。 lst.applystatus = ユニットからステータス効果を適用または削除する。 +lst.weathersensor = Check if a type of weather is active. +lst.weatherset = Set the current state of a type of weather. lst.spawnwave = 任意の座標で発生するウェーブをシミュレーションします。\nウェーブを進めません。 lst.explosion = ある場所で爆発を起こします。 lst.setrate = プロセッサーの実行速度を1命令/tickで設定します。 diff --git a/core/assets/bundles/bundle_ko.properties b/core/assets/bundles/bundle_ko.properties index 985fe6169b..ca902dbb80 100644 --- a/core/assets/bundles/bundle_ko.properties +++ b/core/assets/bundles/bundle_ko.properties @@ -2281,6 +2281,8 @@ lst.getblock = 특정 위치의 타일 정보를 불러옴 lst.setblock = 특정 위치의 타일 정보 설정 lst.spawnunit = 특정 위치에 기체 소환 lst.applystatus = 기체에게 상태이상을 적용하거나 삭제 +lst.weathersensor = Check if a type of weather is active. +lst.weatherset = Set the current state of a type of weather. lst.spawnwave = 특정 위치에 이전 단계를 실행\n실제 단계가 넘어가지 않습니다 lst.explosion = 특정 위치에 폭발 생성 lst.setrate = 프로세서 실행 속도를 틱당 연산량으로 설정 diff --git a/core/assets/bundles/bundle_lt.properties b/core/assets/bundles/bundle_lt.properties index 41fbe42f2e..0cf772d249 100644 --- a/core/assets/bundles/bundle_lt.properties +++ b/core/assets/bundles/bundle_lt.properties @@ -2266,6 +2266,8 @@ lst.getblock = Get tile data at any location. lst.setblock = Set tile data at any location. lst.spawnunit = Spawn unit at a location. lst.applystatus = Apply or clear a status effect from a uniut. +lst.weathersensor = Check if a type of weather is active. +lst.weatherset = Set the current state of a type of weather. lst.spawnwave = Simulate a wave being spawned at a arbitrary location.\nWill not increment the wave counter. lst.explosion = Create an explosion at a location. lst.setrate = Set processor execution speed in instructions/tick. diff --git a/core/assets/bundles/bundle_nl.properties b/core/assets/bundles/bundle_nl.properties index 8197533136..fb8fbe5f10 100644 --- a/core/assets/bundles/bundle_nl.properties +++ b/core/assets/bundles/bundle_nl.properties @@ -2279,6 +2279,8 @@ lst.getblock = Get tile data at any location. lst.setblock = Set tile data at any location. lst.spawnunit = Spawn unit at a location. lst.applystatus = Apply or clear a status effect from a uniut. +lst.weathersensor = Check if a type of weather is active. +lst.weatherset = Set the current state of a type of weather. lst.spawnwave = Simulate a wave being spawned at a arbitrary location.\nWill not increment the wave counter. lst.explosion = Create an explosion at a location. lst.setrate = Set processor execution speed in instructions/tick. diff --git a/core/assets/bundles/bundle_nl_BE.properties b/core/assets/bundles/bundle_nl_BE.properties index d1ff0bf906..e03d97d06c 100644 --- a/core/assets/bundles/bundle_nl_BE.properties +++ b/core/assets/bundles/bundle_nl_BE.properties @@ -2266,6 +2266,8 @@ lst.getblock = Get tile data at any location. lst.setblock = Set tile data at any location. lst.spawnunit = Spawn unit at a location. lst.applystatus = Apply or clear a status effect from a uniut. +lst.weathersensor = Check if a type of weather is active. +lst.weatherset = Set the current state of a type of weather. lst.spawnwave = Simulate a wave being spawned at a arbitrary location.\nWill not increment the wave counter. lst.explosion = Create an explosion at a location. lst.setrate = Set processor execution speed in instructions/tick. diff --git a/core/assets/bundles/bundle_pl.properties b/core/assets/bundles/bundle_pl.properties index ca7379c73a..5e19b1e4e4 100644 --- a/core/assets/bundles/bundle_pl.properties +++ b/core/assets/bundles/bundle_pl.properties @@ -2300,6 +2300,8 @@ lst.getblock = Uzyskaj dane dla dowolnej lokalizacji. lst.setblock = Ustaw dane dla dowolnej lokalizacji. lst.spawnunit = Odródź jednostkę w lokalizacji. lst.applystatus = Zastosuj lub wyczyść efekty statusu jednostki. +lst.weathersensor = Check if a type of weather is active. +lst.weatherset = Set the current state of a type of weather. lst.spawnwave = Symuluj falę odradzającą się w dowolnym miejscu.\nNie zwiększy licznika fali. lst.explosion = Stwórz eksplozję w lokalizacji. lst.setrate = Ustaw szybkość wykonywania procesora w instrukcjach/tick. diff --git a/core/assets/bundles/bundle_pt_BR.properties b/core/assets/bundles/bundle_pt_BR.properties index f483bcddd6..8dcf3382bb 100644 --- a/core/assets/bundles/bundle_pt_BR.properties +++ b/core/assets/bundles/bundle_pt_BR.properties @@ -2299,6 +2299,8 @@ lst.getblock = Obtenha dados de blocos em qualquer local. lst.setblock = Defina os dados do bloco em qualquer local. lst.spawnunit = Gere uma unidade em um local. lst.applystatus = Aplique ou elimine um efeito de status de uma unidade. +lst.weathersensor = Check if a type of weather is active. +lst.weatherset = Set the current state of a type of weather. lst.spawnwave = Gerar uma onda. lst.explosion = Crie uma explosão em um local. lst.setrate = Defina a velocidade de execução do processador em instruções/tick. diff --git a/core/assets/bundles/bundle_pt_PT.properties b/core/assets/bundles/bundle_pt_PT.properties index f0be98d3ee..f5eb2863fa 100644 --- a/core/assets/bundles/bundle_pt_PT.properties +++ b/core/assets/bundles/bundle_pt_PT.properties @@ -2266,6 +2266,8 @@ lst.getblock = Get tile data at any location. lst.setblock = Set tile data at any location. lst.spawnunit = Spawn unit at a location. lst.applystatus = Apply or clear a status effect from a uniut. +lst.weathersensor = Check if a type of weather is active. +lst.weatherset = Set the current state of a type of weather. lst.spawnwave = Simulate a wave being spawned at a arbitrary location.\nWill not increment the wave counter. lst.explosion = Create an explosion at a location. lst.setrate = Set processor execution speed in instructions/tick. diff --git a/core/assets/bundles/bundle_ro.properties b/core/assets/bundles/bundle_ro.properties index dfd0c2fe99..eb1d0ce995 100644 --- a/core/assets/bundles/bundle_ro.properties +++ b/core/assets/bundles/bundle_ro.properties @@ -2283,6 +2283,8 @@ lst.getblock = Get tile data at any location. lst.setblock = Set tile data at any location. lst.spawnunit = Spawn unit at a location. lst.applystatus = Apply or clear a status effect from a uniut. +lst.weathersensor = Check if a type of weather is active. +lst.weatherset = Set the current state of a type of weather. lst.spawnwave = Simulate a wave being spawned at a arbitrary location.\nWill not increment the wave counter. lst.explosion = Create an explosion at a location. lst.setrate = Set processor execution speed in instructions/tick. diff --git a/core/assets/bundles/bundle_ru.properties b/core/assets/bundles/bundle_ru.properties index fabcc731f3..268d96520c 100644 --- a/core/assets/bundles/bundle_ru.properties +++ b/core/assets/bundles/bundle_ru.properties @@ -2285,6 +2285,8 @@ lst.getblock = Получает данные о плитке в любом ме lst.setblock = Устанавливает плитку в любом месте. lst.spawnunit = Создает боевую единицу на локации. lst.applystatus = Применяет или снимает эффект статуса с боевой единицы. +lst.weathersensor = Check if a type of weather is active. +lst.weatherset = Set the current state of a type of weather. lst.spawnwave = Имитация волны, создаваемой в произвольном месте.\nСчетчик волн не увеличивается. lst.explosion = Создает взрыв на локации. lst.setrate = Устанавливает скорость выполнения процессора в инструкциях/тиках. diff --git a/core/assets/bundles/bundle_sr.properties b/core/assets/bundles/bundle_sr.properties index 3aa614ff85..588f323ef7 100644 --- a/core/assets/bundles/bundle_sr.properties +++ b/core/assets/bundles/bundle_sr.properties @@ -2286,6 +2286,8 @@ lst.getblock = Get tile data at any location. lst.setblock = Set tile data at any location. lst.spawnunit = Prizovi jedinicu na mestu. lst.applystatus = Dodaj ili ukloni statusni efekat na jedinicu/e. +lst.weathersensor = Check if a type of weather is active. +lst.weatherset = Set the current state of a type of weather. lst.spawnwave = Simulate a wave being spawned at a arbitrary location.\nWill not increment the wave counter. lst.explosion = Izazovi eksploziju na mestu. lst.setrate = Set processor execution speed in instructions/tick. diff --git a/core/assets/bundles/bundle_sv.properties b/core/assets/bundles/bundle_sv.properties index 8e8f39c352..d20f0fd841 100644 --- a/core/assets/bundles/bundle_sv.properties +++ b/core/assets/bundles/bundle_sv.properties @@ -2266,6 +2266,8 @@ lst.getblock = Get tile data at any location. lst.setblock = Set tile data at any location. lst.spawnunit = Spawn unit at a location. lst.applystatus = Apply or clear a status effect from a uniut. +lst.weathersensor = Check if a type of weather is active. +lst.weatherset = Set the current state of a type of weather. lst.spawnwave = Simulate a wave being spawned at a arbitrary location.\nWill not increment the wave counter. lst.explosion = Create an explosion at a location. lst.setrate = Set processor execution speed in instructions/tick. diff --git a/core/assets/bundles/bundle_th.properties b/core/assets/bundles/bundle_th.properties index d054c1e508..56c4c85f16 100644 --- a/core/assets/bundles/bundle_th.properties +++ b/core/assets/bundles/bundle_th.properties @@ -2303,6 +2303,8 @@ lst.getblock = รับข้อมูลของช่องที่ตำ lst.setblock = ปรับแต่งข้อมูลของช่องที่ตำแหน่งใดๆ lst.spawnunit = เสกยูนิตมาที่ตำแหน่งที่กำหนดไว้ lst.applystatus = ใส่หรือล้างเอฟเฟกต์สถานะจากยูนิต +lst.weathersensor = Check if a type of weather is active. +lst.weatherset = Set the current state of a type of weather. lst.spawnwave = จำลองคลื่นที่ตำแหน่งใดๆ lst.explosion = เสกระเบิดที่ตำแหน่ง lst.setrate = ตั้งค่าความเร็วการสั่งเป็นคำสั่งใน คำสั่ง/ติก diff --git a/core/assets/bundles/bundle_tk.properties b/core/assets/bundles/bundle_tk.properties index ed6d2c3abc..36106ee582 100644 --- a/core/assets/bundles/bundle_tk.properties +++ b/core/assets/bundles/bundle_tk.properties @@ -2266,6 +2266,8 @@ lst.getblock = Get tile data at any location. lst.setblock = Set tile data at any location. lst.spawnunit = Spawn unit at a location. lst.applystatus = Apply or clear a status effect from a uniut. +lst.weathersensor = Check if a type of weather is active. +lst.weatherset = Set the current state of a type of weather. lst.spawnwave = Simulate a wave being spawned at a arbitrary location.\nWill not increment the wave counter. lst.explosion = Create an explosion at a location. lst.setrate = Set processor execution speed in instructions/tick. diff --git a/core/assets/bundles/bundle_tr.properties b/core/assets/bundles/bundle_tr.properties index c7ad849212..9eca8e0bea 100644 --- a/core/assets/bundles/bundle_tr.properties +++ b/core/assets/bundles/bundle_tr.properties @@ -2283,6 +2283,8 @@ lst.getblock = Herhangi bir yerdeki blok bilgisini al. lst.setblock = Herhangi bir yerdeki blok bilgisini değiştir. lst.spawnunit = Herhangi bir yerde birim var et. lst.applystatus = Bir Birime Durum Etkisi ekle. +lst.weathersensor = Check if a type of weather is active. +lst.weatherset = Set the current state of a type of weather. lst.spawnwave = Bellir bir noktada dalga başlat.\nDalga Zamanlayıcı Oluşturmaz! lst.explosion = Bir Noktada Patlama oluştur. lst.setrate = İşlemci Hızını Ayarla (işlem/tick) diff --git a/core/assets/bundles/bundle_uk_UA.properties b/core/assets/bundles/bundle_uk_UA.properties index ba3cab15f8..a6b59822ba 100644 --- a/core/assets/bundles/bundle_uk_UA.properties +++ b/core/assets/bundles/bundle_uk_UA.properties @@ -2310,6 +2310,8 @@ lst.getblock = Отримує дані плитки в будь-якому мі lst.setblock = Установлює дані плитки в будь-якому місці. lst.spawnunit = Породжує одиницю на певному місці. lst.applystatus = Застосовує або видаляє ефект стану з одиниці. +lst.weathersensor = Check if a type of weather is active. +lst.weatherset = Set the current state of a type of weather. lst.spawnwave = Змодельовує хвилю, що виникає у довільному місці.\nНе збільшує лічильник хвиль. lst.explosion = Створює вибух у певному місці. lst.setrate = Установлює швидкість виконання процесора в інструкціях за такт. diff --git a/core/assets/bundles/bundle_vi.properties b/core/assets/bundles/bundle_vi.properties index b13ddd0693..a8c7a612ae 100644 --- a/core/assets/bundles/bundle_vi.properties +++ b/core/assets/bundles/bundle_vi.properties @@ -2284,6 +2284,8 @@ lst.getblock = Lấy dữ liệu từ ô từ vị trí bất kì. lst.setblock = Chỉnh sửa dữ liệu từ ô từ vị trí bất kì. lst.spawnunit = Tạo ra quân từ vị trí. lst.applystatus = Áp dụng hoặc loại bỏ một hiệu ứng trạng thái cho một đơn vị. +lst.weathersensor = Check if a type of weather is active. +lst.weatherset = Set the current state of a type of weather. lst.spawnwave = Mô phỏng một lượt xuất hiện ở vị trí tùy ý.\nSẽ không tăng số đếm lượt. lst.explosion = Tạo ra một vụ nổ tại vị trí đó. lst.setrate = Đặt tốc độ thực thi khối xử lý theo chỉ thị/tíc-tắc. diff --git a/core/assets/bundles/bundle_zh_CN.properties b/core/assets/bundles/bundle_zh_CN.properties index 7597bd60b4..4b4b1ab1ae 100644 --- a/core/assets/bundles/bundle_zh_CN.properties +++ b/core/assets/bundles/bundle_zh_CN.properties @@ -2309,6 +2309,8 @@ lst.getblock = 获取任意位置的地块数据 lst.setblock = 设置任意位置的地块数据 lst.spawnunit = 在指定位置生成单位 lst.applystatus = 添加或清除单位的一个状态效果 +lst.weathersensor = Check if a type of weather is active. +lst.weatherset = Set the current state of a type of weather. lst.spawnwave = 在任意位置生成一波敌人\n并不记录在波数计数器中 lst.explosion = 在某个位置生成爆炸 lst.setrate = 在指令/时间刻的时间下设置处理器处理速度 diff --git a/core/assets/bundles/bundle_zh_TW.properties b/core/assets/bundles/bundle_zh_TW.properties index abf6226433..93e43f4741 100644 --- a/core/assets/bundles/bundle_zh_TW.properties +++ b/core/assets/bundles/bundle_zh_TW.properties @@ -2295,6 +2295,8 @@ lst.getblock = 由位置取方塊數據 lst.setblock = 由位置設置方塊數據 lst.spawnunit = 在某一位置生成單位 lst.applystatus = 爲單位添加或移除狀態效果 +lst.weathersensor = Check if a type of weather is active. +lst.weatherset = Set the current state of a type of weather. lst.spawnwave = 在某一位置生成一波敵人\n不計入波數 lst.explosion = 在某一位置製造爆炸 lst.setrate = 以指令/每時刻設置處理器速度 From 40d06c87d17105a7400469e16e9e2761bb7df2a2 Mon Sep 17 00:00:00 2001 From: Anuken Date: Thu, 14 Mar 2024 18:53:28 -0400 Subject: [PATCH 04/89] Mark disabled dependencies #9641 --- core/src/mindustry/mod/Mods.java | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/core/src/mindustry/mod/Mods.java b/core/src/mindustry/mod/Mods.java index 1eed765d19..d0f6dc8d27 100644 --- a/core/src/mindustry/mod/Mods.java +++ b/core/src/mindustry/mod/Mods.java @@ -856,7 +856,7 @@ public class Mods implements Loadable{ return false; // If dependency present, resolve it, or if it's not required, ignore it }else if(context.dependencies.containsKey(dependency.name)){ - if(!context.ordered.contains(dependency.name) && !resolve(dependency.name, context) && dependency.required){ + if(((!context.ordered.contains(dependency.name) && !resolve(dependency.name, context)) || !Core.settings.getBool("mod-" + dependency.name + "-enabled", true)) && dependency.required){ context.invalid.put(element, ModState.incompleteDependencies); return false; } From 0311cfd27586c4680d87a9cac1e3b3f0a610dd55 Mon Sep 17 00:00:00 2001 From: Elixias <61173114+LixieWulf@users.noreply.github.com> Date: Fri, 15 Mar 2024 09:08:23 -0600 Subject: [PATCH 05/89] Full icon overrides (#9642) * Something to help with atlas consumption * nightmares --- core/src/mindustry/ctype/UnlockableContent.java | 5 ++++- 1 file changed, 4 insertions(+), 1 deletion(-) diff --git a/core/src/mindustry/ctype/UnlockableContent.java b/core/src/mindustry/ctype/UnlockableContent.java index 43190baa9e..434be84c4f 100644 --- a/core/src/mindustry/ctype/UnlockableContent.java +++ b/core/src/mindustry/ctype/UnlockableContent.java @@ -43,6 +43,8 @@ public abstract class UnlockableContent extends MappableContent{ public TextureRegion uiIcon; /** Icon of the full content. Unscaled.*/ public TextureRegion fullIcon; + /** Override for the full icon. Useful for mod content with duplicate icons. Overrides any other full icon.*/ + public String fullOverride = ""; /** The tech tree node for this content, if applicable. Null if not part of a tech tree. */ public @Nullable TechNode techNode; /** Tech nodes for all trees that this content is part of. */ @@ -62,11 +64,12 @@ public abstract class UnlockableContent extends MappableContent{ @Override public void loadIcon(){ fullIcon = + Core.atlas.find(fullOverride, Core.atlas.find(getContentType().name() + "-" + name + "-full", Core.atlas.find(name + "-full", Core.atlas.find(name, Core.atlas.find(getContentType().name() + "-" + name, - Core.atlas.find(name + "1"))))); + Core.atlas.find(name + "1")))))); uiIcon = Core.atlas.find(getContentType().name() + "-" + name + "-ui", fullIcon); } From 5365014d4f72ea8bf55b18e20af47c33c5f8d6b3 Mon Sep 17 00:00:00 2001 From: Anuken Date: Fri, 15 Mar 2024 14:14:53 -0400 Subject: [PATCH 06/89] Sector preset init fix --- core/src/mindustry/type/SectorPreset.java | 6 ++++-- 1 file changed, 4 insertions(+), 2 deletions(-) diff --git a/core/src/mindustry/type/SectorPreset.java b/core/src/mindustry/type/SectorPreset.java index 3c6b885d8d..b23c909de2 100644 --- a/core/src/mindustry/type/SectorPreset.java +++ b/core/src/mindustry/type/SectorPreset.java @@ -39,8 +39,10 @@ public class SectorPreset extends UnlockableContent{ /** Internal use only! */ public SectorPreset(String name, LoadedMod mod){ super(name); - this.minfo.mod = mod; - this.generator = new FileMapGenerator(name, this); + if(mod != null){ + this.minfo.mod = mod; + } + this.generator = new FileMapGenerator(this.name, this); } /** Internal use only! */ From 9a43a708afb6d8147cdfe71f5f01909eaed72358 Mon Sep 17 00:00:00 2001 From: TheRadioactiveBanana <89061718+TheRadioactiveBanana@users.noreply.github.com> Date: Sat, 16 Mar 2024 09:47:17 +0530 Subject: [PATCH 07/89] Moving more ports from UK to EU (#9644) --- servers_v7.json | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/servers_v7.json b/servers_v7.json index dd09fc929f..ad26421278 100644 --- a/servers_v7.json +++ b/servers_v7.json @@ -138,7 +138,7 @@ }, { "name": "Eradication Mindustry", - "address": ["140.238.246.78:7000", "140.238.246.78:7001", "140.238.246.78:7002", "140.238.246.78:7003", "140.238.246.78:7004", "130.61.22.183:7000", "130.61.22.183:7001", "130.61.22.183:7002", "130.61.22.183:7003", "130.61.22.183:7004", "77.100.100.249:7000", "77.100.100.249:7001", "130.61.220.99:7000", "130.61.220.99:7001", "130.61.220.99:7002", "130.61.220.99:7003", "130.61.220.99:7004"] + "address": ["140.238.246.78:7000", "140.238.246.78:7001", "140.238.246.78:7002", "140.238.246.78:7003", "140.238.246.78:7004", "130.61.22.183:7000", "130.61.22.183:7001", "130.61.22.183:7002", "130.61.22.183:7003", "130.61.22.183:7004", "130.61.22.183:7005", "130.61.220.99:7000", "130.61.220.99:7001", "130.61.220.99:7002", "130.61.220.99:7003", "130.61.220.99:7004", "130.61.220.99:7005"] }, { "name": "Conservatory", From 6aa744bc575aa88293a8a539e45a53dd182e0913 Mon Sep 17 00:00:00 2001 From: 112Hack <144626073+112Hack@users.noreply.github.com> Date: Sat, 16 Mar 2024 07:17:41 +0300 Subject: [PATCH 08/89] Update servers_v7.json (#9639) --- servers_v7.json | 4 ++++ 1 file changed, 4 insertions(+) diff --git a/servers_v7.json b/servers_v7.json index ad26421278..247862f241 100644 --- a/servers_v7.json +++ b/servers_v7.json @@ -24,6 +24,10 @@ "name": "Crux's Revelations", "address": ["de-free-01.hosts.optikservers.com:31528","de-prem-01.hosts.optikservers.com:35922"] }, + { + "name": "Chilldustry", + "address": ["trelesco.xyz"] + }, { "name": "CMS Empire", "address": ["94.250.250.252","95.84.198.97"] From a1e5566fe0395458d038e3a4a52c0f7c60ec80fc Mon Sep 17 00:00:00 2001 From: meiqiu <119494143+MEIQIUawa@users.noreply.github.com> Date: Sat, 16 Mar 2024 12:17:49 +0800 Subject: [PATCH 09/89] Update servers_v7.json (#9636) --- servers_v7.json | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/servers_v7.json b/servers_v7.json index 247862f241..da5b67a9bc 100644 --- a/servers_v7.json +++ b/servers_v7.json @@ -18,7 +18,7 @@ }, { "name": "meiqiuMDT", - "address": ["cn1.meiqiumdy.top","cn1.meiqiumdt.top:7000","cn1.meiqiumdt.top:8000","cn1.meiqiumdt.top:7013"] + "address": ["cn1.meiqiumdt.top","cn1.meiqiumdt.top:7000","cn1.meiqiumdt.top:8000","cn1.meiqiumdt.top:7013","cn1.meiqiumdt.top:9000"] }, { "name": "Crux's Revelations", From 789264f3b663453b6a58062ddeabb8bb5bb7735b Mon Sep 17 00:00:00 2001 From: 00Bread00 <144006814+00Bread00@users.noreply.github.com> Date: Sun, 17 Mar 2024 01:49:13 +1100 Subject: [PATCH 10/89] Update servers_v7.json (#9646) add toast servers --- servers_v7.json | 4 ++++ 1 file changed, 4 insertions(+) diff --git a/servers_v7.json b/servers_v7.json index da5b67a9bc..5d551d6b87 100644 --- a/servers_v7.json +++ b/servers_v7.json @@ -1,4 +1,8 @@ [ + { + "name": "Toast Mindustry", + "address": ["192.3.139.5:6567", "192.3.139.5:6568", "192.3.139.5:6569", "104.168.64.154:6567", "104.168.64.154:6568", "104.168.64.154:6569"] + }, { "name": "gods field", "address": ["n2.akiracloud.net:10225"] From 553d3fc35173c07ad5e6f214d51fa4a7b7b8c0e9 Mon Sep 17 00:00:00 2001 From: Anuken Date: Sun, 17 Mar 2024 01:25:03 -0400 Subject: [PATCH 11/89] cool fix --- core/src/mindustry/type/SectorPreset.java | 6 ++---- 1 file changed, 2 insertions(+), 4 deletions(-) diff --git a/core/src/mindustry/type/SectorPreset.java b/core/src/mindustry/type/SectorPreset.java index b23c909de2..3c6b885d8d 100644 --- a/core/src/mindustry/type/SectorPreset.java +++ b/core/src/mindustry/type/SectorPreset.java @@ -39,10 +39,8 @@ public class SectorPreset extends UnlockableContent{ /** Internal use only! */ public SectorPreset(String name, LoadedMod mod){ super(name); - if(mod != null){ - this.minfo.mod = mod; - } - this.generator = new FileMapGenerator(this.name, this); + this.minfo.mod = mod; + this.generator = new FileMapGenerator(name, this); } /** Internal use only! */ From 3162f043d2b4a74d832fbe3e0b60a49cfae3398d Mon Sep 17 00:00:00 2001 From: Anuken Date: Sun, 17 Mar 2024 12:24:11 -0400 Subject: [PATCH 12/89] Possible weapon autotarget fire fix --- core/src/mindustry/type/Weapon.java | 48 +++++++++++++++-------------- 1 file changed, 25 insertions(+), 23 deletions(-) diff --git a/core/src/mindustry/type/Weapon.java b/core/src/mindustry/type/Weapon.java index 1e4378ebe5..151a0f69ee 100644 --- a/core/src/mindustry/type/Weapon.java +++ b/core/src/mindustry/type/Weapon.java @@ -297,31 +297,9 @@ public class Weapon implements Cloneable{ mount.warmup = Mathf.lerpDelta(mount.warmup, warmupTarget, shootWarmupSpeed); } - //rotate if applicable - if(rotate && (mount.rotate || mount.shoot) && can){ - float axisX = unit.x + Angles.trnsx(unit.rotation - 90, x, y), - axisY = unit.y + Angles.trnsy(unit.rotation - 90, x, y); - - mount.targetRotation = Angles.angle(axisX, axisY, mount.aimX, mount.aimY) - unit.rotation; - mount.rotation = Angles.moveToward(mount.rotation, mount.targetRotation, rotateSpeed * Time.delta); - if(rotationLimit < 360){ - float dst = Angles.angleDist(mount.rotation, baseRotation); - if(dst > rotationLimit/2f){ - mount.rotation = Angles.moveToward(mount.rotation, baseRotation, dst - rotationLimit/2f); - } - } - }else if(!rotate){ - mount.rotation = baseRotation; - mount.targetRotation = unit.angleTo(mount.aimX, mount.aimY); - } - float - weaponRotation = unit.rotation - 90 + (rotate ? mount.rotation : baseRotation), mountX = unit.x + Angles.trnsx(unit.rotation - 90, x, y), - mountY = unit.y + Angles.trnsy(unit.rotation - 90, x, y), - bulletX = mountX + Angles.trnsx(weaponRotation, this.shootX, this.shootY), - bulletY = mountY + Angles.trnsy(weaponRotation, this.shootX, this.shootY), - shootAngle = bulletRotation(unit, mount, bulletX, bulletY); + mountY = unit.y + Angles.trnsy(unit.rotation - 90, x, y); //find a new target if(!controllable && autoTarget){ @@ -355,6 +333,30 @@ public class Weapon implements Cloneable{ //logic will return shooting as false even if these return true, which is fine } + //rotate if applicable + if(rotate && (mount.rotate || mount.shoot) && can){ + float axisX = unit.x + Angles.trnsx(unit.rotation - 90, x, y), + axisY = unit.y + Angles.trnsy(unit.rotation - 90, x, y); + + mount.targetRotation = Angles.angle(axisX, axisY, mount.aimX, mount.aimY) - unit.rotation; + mount.rotation = Angles.moveToward(mount.rotation, mount.targetRotation, rotateSpeed * Time.delta); + if(rotationLimit < 360){ + float dst = Angles.angleDist(mount.rotation, baseRotation); + if(dst > rotationLimit/2f){ + mount.rotation = Angles.moveToward(mount.rotation, baseRotation, dst - rotationLimit/2f); + } + } + }else if(!rotate){ + mount.rotation = baseRotation; + mount.targetRotation = unit.angleTo(mount.aimX, mount.aimY); + } + + float + weaponRotation = unit.rotation - 90 + (rotate ? mount.rotation : baseRotation), + bulletX = mountX + Angles.trnsx(weaponRotation, this.shootX, this.shootY), + bulletY = mountY + Angles.trnsy(weaponRotation, this.shootX, this.shootY), + shootAngle = bulletRotation(unit, mount, bulletX, bulletY); + if(alwaysShooting) mount.shoot = true; //update continuous state From 0a512e05c341f08ce3e3247d86ec374f987e3c03 Mon Sep 17 00:00:00 2001 From: jp-x-g Date: Mon, 18 Mar 2024 06:30:18 -0700 Subject: [PATCH 13/89] Make a "unitCommandPosition" event so that unit commands issued to non-attack coordinates can still be listened for (#9650) * Update InputHandler.java Make commandTap fire a Trigger.unitCommandPosition (in the event that it doesn't fire a Trigger.unitCommandAttack) * Update EventType.java Add "unitCommandPosition" to Trigger, for when selected units are commanded to move to a position (without that position being an attack). --- core/src/mindustry/game/EventType.java | 1 + core/src/mindustry/input/InputHandler.java | 2 ++ 2 files changed, 3 insertions(+) diff --git a/core/src/mindustry/game/EventType.java b/core/src/mindustry/game/EventType.java index e7118db61c..39333fdf96 100644 --- a/core/src/mindustry/game/EventType.java +++ b/core/src/mindustry/game/EventType.java @@ -39,6 +39,7 @@ public class EventType{ socketConfigChanged, update, unitCommandChange, + unitCommandPosition, unitCommandAttack, importMod, draw, diff --git a/core/src/mindustry/input/InputHandler.java b/core/src/mindustry/input/InputHandler.java index a3e65423dd..40e568f99a 100644 --- a/core/src/mindustry/input/InputHandler.java +++ b/core/src/mindustry/input/InputHandler.java @@ -1012,6 +1012,8 @@ public abstract class InputHandler implements InputProcessor, GestureListener{ if(attack != null){ Events.fire(Trigger.unitCommandAttack); + }else{ + Events.fire(Trigger.unitCommandPosition); } int maxChunkSize = 200; From 0c10a3e0562ade837d18f2c5c86e9ce1cda08e0e Mon Sep 17 00:00:00 2001 From: Cragent <117364120+Baldur404@users.noreply.github.com> Date: Mon, 18 Mar 2024 21:30:30 +0800 Subject: [PATCH 14/89] Update servers_v7.json (#9653) update a name --- servers_v7.json | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/servers_v7.json b/servers_v7.json index 5d551d6b87..59304f998a 100644 --- a/servers_v7.json +++ b/servers_v7.json @@ -189,7 +189,7 @@ "address": ["a55c81b7c4d6e6d604651a93f8af5cd83.asuscomm.com", "a55c81b7c4d6e6d604651a93f8af5cd83.asuscomm.com:6568", "a55c81b7c4d6e6d604651a93f8af5cd83.asuscomm.com:6569", "a55c81b7c4d6e6d604651a93f8af5cd83.asuscomm.com:6570", "a55c81b7c4d6e6d604651a93f8af5cd83.asuscomm.com:6571", "a55c81b7c4d6e6d604651a93f8af5cd83.asuscomm.com:6572", "a55c81b7c4d6e6d604651a93f8af5cd83.asuscomm.com:6573", "a55c81b7c4d6e6d604651a93f8af5cd83.asuscomm.com:6574"] }, { - "name": "Anana&ShenYv", + "name": "Anana", "address": ["mdtleague.top"] }, { From 51888a6853cf6517de45dda090f11572f1eb0e8d Mon Sep 17 00:00:00 2001 From: Anuken Date: Mon, 18 Mar 2024 10:00:15 -0400 Subject: [PATCH 15/89] Don't crash with file chooser errors --- .../mindustry/android/AndroidLauncher.java | 98 ++++++++++--------- 1 file changed, 51 insertions(+), 47 deletions(-) diff --git a/android/src/mindustry/android/AndroidLauncher.java b/android/src/mindustry/android/AndroidLauncher.java index da3944fe06..7febad64a7 100644 --- a/android/src/mindustry/android/AndroidLauncher.java +++ b/android/src/mindustry/android/AndroidLauncher.java @@ -101,64 +101,68 @@ public class AndroidLauncher extends AndroidApplication{ } void showFileChooser(boolean open, String title, Cons cons, String... extensions){ - String extension = extensions[0]; + try{ + String extension = extensions[0]; - if(VERSION.SDK_INT >= VERSION_CODES.Q){ - Intent intent = new Intent(open ? Intent.ACTION_OPEN_DOCUMENT : Intent.ACTION_CREATE_DOCUMENT); - intent.addCategory(Intent.CATEGORY_OPENABLE); - intent.setType(extension.equals("zip") && !open && extensions.length == 1 ? "application/zip" : "*/*"); + if(VERSION.SDK_INT >= VERSION_CODES.Q){ + Intent intent = new Intent(open ? Intent.ACTION_OPEN_DOCUMENT : Intent.ACTION_CREATE_DOCUMENT); + intent.addCategory(Intent.CATEGORY_OPENABLE); + intent.setType(extension.equals("zip") && !open && extensions.length == 1 ? "application/zip" : "*/*"); - addResultListener(i -> startActivityForResult(intent, i), (code, in) -> { - if(code == Activity.RESULT_OK && in != null && in.getData() != null){ - Uri uri = in.getData(); + addResultListener(i -> startActivityForResult(intent, i), (code, in) -> { + if(code == Activity.RESULT_OK && in != null && in.getData() != null){ + Uri uri = in.getData(); - if(uri.getPath().contains("(invalid)")) return; + if(uri.getPath().contains("(invalid)")) return; - Core.app.post(() -> Core.app.post(() -> cons.get(new Fi(uri.getPath()){ - @Override - public InputStream read(){ - try{ - return getContentResolver().openInputStream(uri); - }catch(IOException e){ - throw new ArcRuntimeException(e); + Core.app.post(() -> Core.app.post(() -> cons.get(new Fi(uri.getPath()){ + @Override + public InputStream read(){ + try{ + return getContentResolver().openInputStream(uri); + }catch(IOException e){ + throw new ArcRuntimeException(e); + } } - } - @Override - public OutputStream write(boolean append){ - try{ - return getContentResolver().openOutputStream(uri); - }catch(IOException e){ - throw new ArcRuntimeException(e); + @Override + public OutputStream write(boolean append){ + try{ + return getContentResolver().openOutputStream(uri); + }catch(IOException e){ + throw new ArcRuntimeException(e); + } } - } - }))); - } - }); - }else if(VERSION.SDK_INT >= VERSION_CODES.M && !(checkSelfPermission(Manifest.permission.WRITE_EXTERNAL_STORAGE) == PackageManager.PERMISSION_GRANTED && + }))); + } + }); + }else if(VERSION.SDK_INT >= VERSION_CODES.M && !(checkSelfPermission(Manifest.permission.WRITE_EXTERNAL_STORAGE) == PackageManager.PERMISSION_GRANTED && checkSelfPermission(Manifest.permission.READ_EXTERNAL_STORAGE) == PackageManager.PERMISSION_GRANTED)){ - chooser = new FileChooser(title, file -> Structs.contains(extensions, file.extension().toLowerCase()), open, file -> { - if(!open){ - cons.get(file.parent().child(file.nameWithoutExtension() + "." + extension)); - }else{ - cons.get(file); - } - }); + chooser = new FileChooser(title, file -> Structs.contains(extensions, file.extension().toLowerCase()), open, file -> { + if(!open){ + cons.get(file.parent().child(file.nameWithoutExtension() + "." + extension)); + }else{ + cons.get(file); + } + }); - ArrayList perms = new ArrayList<>(); - if(checkSelfPermission(Manifest.permission.WRITE_EXTERNAL_STORAGE) != PackageManager.PERMISSION_GRANTED){ - perms.add(Manifest.permission.WRITE_EXTERNAL_STORAGE); - } - if(checkSelfPermission(Manifest.permission.READ_EXTERNAL_STORAGE) != PackageManager.PERMISSION_GRANTED){ - perms.add(Manifest.permission.READ_EXTERNAL_STORAGE); - } - requestPermissions(perms.toArray(new String[0]), PERMISSION_REQUEST_CODE); - }else{ - if(open){ - new FileChooser(title, file -> Structs.contains(extensions, file.extension().toLowerCase()), true, cons).show(); + ArrayList perms = new ArrayList<>(); + if(checkSelfPermission(Manifest.permission.WRITE_EXTERNAL_STORAGE) != PackageManager.PERMISSION_GRANTED){ + perms.add(Manifest.permission.WRITE_EXTERNAL_STORAGE); + } + if(checkSelfPermission(Manifest.permission.READ_EXTERNAL_STORAGE) != PackageManager.PERMISSION_GRANTED){ + perms.add(Manifest.permission.READ_EXTERNAL_STORAGE); + } + requestPermissions(perms.toArray(new String[0]), PERMISSION_REQUEST_CODE); }else{ - super.showFileChooser(open, "@open", extension, cons); + if(open){ + new FileChooser(title, file -> Structs.contains(extensions, file.extension().toLowerCase()), true, cons).show(); + }else{ + super.showFileChooser(open, "@open", extension, cons); + } } + }catch(Throwable error){ + Core.app.post(() -> Vars.ui.showException(error)); } } From fc036c2f067d9f2d4f217c3558eecb4672c838f2 Mon Sep 17 00:00:00 2001 From: Anuken Date: Tue, 19 Mar 2024 09:27:55 -0400 Subject: [PATCH 16/89] Fixed a startup crash with certain mods --- core/src/mindustry/mod/Mods.java | 19 ++++++++++++++++++- core/src/mindustry/type/SectorPreset.java | 6 ++++-- 2 files changed, 22 insertions(+), 3 deletions(-) diff --git a/core/src/mindustry/mod/Mods.java b/core/src/mindustry/mod/Mods.java index 08a3d1ae54..25a6e1cc4c 100644 --- a/core/src/mindustry/mod/Mods.java +++ b/core/src/mindustry/mod/Mods.java @@ -361,7 +361,24 @@ public class Mods implements Loadable{ Log.debug("Time to generate icons: @", Time.elapsed()); //dispose old atlas data - Core.atlas = packer.flush(filter, new TextureAtlas()); + Core.atlas = packer.flush(filter, new TextureAtlas(){ + PixmapRegion fake = new PixmapRegion(new Pixmap(1, 1)); + boolean didWarn = false; + + @Override + public PixmapRegion getPixmap(AtlasRegion region){ + var other = super.getPixmap(region); + if(other.pixmap.isDisposed()){ + if(!didWarn){ + Log.err(new RuntimeException("Calling getPixmap outside of createIcons is not supported! This will be a crash in the future.")); + didWarn = true; + } + return fake; + } + + return other; + } + }); textureResize.each(e -> Core.atlas.find(e.key).scale = e.value); diff --git a/core/src/mindustry/type/SectorPreset.java b/core/src/mindustry/type/SectorPreset.java index 3c6b885d8d..b23c909de2 100644 --- a/core/src/mindustry/type/SectorPreset.java +++ b/core/src/mindustry/type/SectorPreset.java @@ -39,8 +39,10 @@ public class SectorPreset extends UnlockableContent{ /** Internal use only! */ public SectorPreset(String name, LoadedMod mod){ super(name); - this.minfo.mod = mod; - this.generator = new FileMapGenerator(name, this); + if(mod != null){ + this.minfo.mod = mod; + } + this.generator = new FileMapGenerator(this.name, this); } /** Internal use only! */ From aa5660521aa56705360d30c169223f6366c7a37a Mon Sep 17 00:00:00 2001 From: abcxyzDustry <138785336+abcxyzDustry@users.noreply.github.com> Date: Wed, 20 Mar 2024 01:27:17 +0700 Subject: [PATCH 17/89] Update servers_v7.json (#9655) --- servers_v7.json | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/servers_v7.json b/servers_v7.json index 59304f998a..b82d05d91c 100644 --- a/servers_v7.json +++ b/servers_v7.json @@ -243,7 +243,7 @@ }, { "name": "ABCXYZ Community", - "address": ["23.88.73.88:23591", "23.88.73.88:23539", "144.76.57.59:14996", "144.76.57.59:16881", "144.76.57.59:13885", "23.88.73.88:32113", "144.76.57.59:9269", "144.76.57.59:24235", "144.76.57.59:24133", "5.9.8.124:28848", "srv1.godlike.club:28466"] + "address": ["23.88.73.88:23591", "23.88.73.88:23539", "144.76.57.59:14996", "144.76.57.59:16881", "144.76.57.59:13885", "23.88.73.88:32113", "144.76.57.59:9269", "144.76.57.59:24235", "144.76.57.59:24133", "51.81.57.217:24902"] }, { "name": "CroCraft Network", From aea189730997cced188030b22a57b702c2bc8ce2 Mon Sep 17 00:00:00 2001 From: Anuken Date: Tue, 19 Mar 2024 15:09:16 -0400 Subject: [PATCH 18/89] Fixed #9656 --- core/src/mindustry/world/blocks/payloads/PayloadLoader.java | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/core/src/mindustry/world/blocks/payloads/PayloadLoader.java b/core/src/mindustry/world/blocks/payloads/PayloadLoader.java index 1a8b7844fa..301789e54b 100644 --- a/core/src/mindustry/world/blocks/payloads/PayloadLoader.java +++ b/core/src/mindustry/world/blocks/payloads/PayloadLoader.java @@ -76,7 +76,7 @@ public class PayloadLoader extends PayloadBlock{ public void init(){ if(loadPowerDynamic){ basePowerUse = consPower != null ? consPower.usage : 0f; - consumePowerDynamic((PayloadLoaderBuild loader) -> loader.hasBattery() && !loader.exporting ? maxPowerConsumption + basePowerUse : basePowerUse); + consumePowerDynamic((PayloadLoaderBuild loader) -> loader.shouldConsume() ? (loader.hasBattery() && !loader.exporting ? maxPowerConsumption + basePowerUse : basePowerUse) : 0f); } super.init(); From 45b7e2a7427793dab900c34ef265524f20ed2362 Mon Sep 17 00:00:00 2001 From: Anuken Date: Tue, 19 Mar 2024 16:09:24 -0400 Subject: [PATCH 19/89] Fixed #9658 --- core/src/mindustry/input/DesktopInput.java | 2 +- core/src/mindustry/input/InputHandler.java | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/core/src/mindustry/input/DesktopInput.java b/core/src/mindustry/input/DesktopInput.java index 6030263c0b..2c196660d4 100644 --- a/core/src/mindustry/input/DesktopInput.java +++ b/core/src/mindustry/input/DesktopInput.java @@ -451,7 +451,7 @@ public class DesktopInput extends InputHandler{ cursorType = cursor.build.getCursor(); } - if(cursor.build != null && cursor.build.team == Team.derelict && Build.validPlace(cursor.block(), player.team(), cursor.build.tileX(), cursor.build.tileY(), cursor.build.rotation)){ + if(cursor.build != null && player.team() != Team.derelict && cursor.build.team == Team.derelict && Build.validPlace(cursor.block(), player.team(), cursor.build.tileX(), cursor.build.tileY(), cursor.build.rotation)){ cursorType = ui.repairCursor; } diff --git a/core/src/mindustry/input/InputHandler.java b/core/src/mindustry/input/InputHandler.java index 40e568f99a..77fa4e668c 100644 --- a/core/src/mindustry/input/InputHandler.java +++ b/core/src/mindustry/input/InputHandler.java @@ -1663,7 +1663,7 @@ public abstract class InputHandler implements InputProcessor, GestureListener{ } boolean tryRepairDerelict(Tile selected){ - if(selected != null && selected.build != null && selected.build.block.unlockedNow() && selected.build.team == Team.derelict && Build.validPlace(selected.block(), player.team(), selected.build.tileX(), selected.build.tileY(), selected.build.rotation)){ + if(selected != null && player.team() != Team.derelict && selected.build != null && selected.build.block.unlockedNow() && selected.build.team == Team.derelict && Build.validPlace(selected.block(), player.team(), selected.build.tileX(), selected.build.tileY(), selected.build.rotation)){ player.unit().addBuild(new BuildPlan(selected.build.tileX(), selected.build.tileY(), selected.build.rotation, selected.block(), selected.build.config())); return true; } From 476c79df4b2e3271e3e9cda0cc622e57fae3e031 Mon Sep 17 00:00:00 2001 From: Anuken Date: Tue, 19 Mar 2024 16:11:51 -0400 Subject: [PATCH 20/89] Fixed #9657 --- core/src/mindustry/graphics/MinimapRenderer.java | 5 +---- 1 file changed, 1 insertion(+), 4 deletions(-) diff --git a/core/src/mindustry/graphics/MinimapRenderer.java b/core/src/mindustry/graphics/MinimapRenderer.java index 78d57bebea..e5f42b2c9a 100644 --- a/core/src/mindustry/graphics/MinimapRenderer.java +++ b/core/src/mindustry/graphics/MinimapRenderer.java @@ -176,10 +176,7 @@ public class MinimapRenderer{ if(fullView && net.active()){ for(Player player : Groups.player){ if(!player.dead()){ - float rx = player.x / (world.width() * tilesize) * w; - float ry = player.y / (world.height() * tilesize) * h; - - drawLabel(x + rx, y + ry, player.name, player.color); + drawLabel(player.x, player.y, player.name, player.color); } } } From 98b64bd0961872a6df7e4b2bbf8f0554e0ce71e3 Mon Sep 17 00:00:00 2001 From: TheRadioactiveBanana <89061718+TheRadioactiveBanana@users.noreply.github.com> Date: Thu, 21 Mar 2024 05:45:06 +0530 Subject: [PATCH 21/89] ok uk finally works ig (#9660) Im not going to move the servers back *now*, probably near future though --- servers_v7.json | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/servers_v7.json b/servers_v7.json index b82d05d91c..56ddb236f8 100644 --- a/servers_v7.json +++ b/servers_v7.json @@ -146,7 +146,7 @@ }, { "name": "Eradication Mindustry", - "address": ["140.238.246.78:7000", "140.238.246.78:7001", "140.238.246.78:7002", "140.238.246.78:7003", "140.238.246.78:7004", "130.61.22.183:7000", "130.61.22.183:7001", "130.61.22.183:7002", "130.61.22.183:7003", "130.61.22.183:7004", "130.61.22.183:7005", "130.61.220.99:7000", "130.61.220.99:7001", "130.61.220.99:7002", "130.61.220.99:7003", "130.61.220.99:7004", "130.61.220.99:7005"] + "address": ["140.238.246.78:7000", "140.238.246.78:7001", "140.238.246.78:7002", "140.238.246.78:7003", "140.238.246.78:7004", "130.61.22.183:7000", "130.61.22.183:7001", "130.61.22.183:7002", "130.61.22.183:7003", "130.61.22.183:7004", "130.61.22.183:7005", "130.61.220.99:7000", "130.61.220.99:7001", "130.61.220.99:7002", "130.61.220.99:7003", "130.61.220.99:7004", "130.61.220.99:7005", "77.100.100.249:7000", "77.100.100.249:7001"] }, { "name": "Conservatory", From 714eca07d06df73ebdc868ae8b3d3698bc2ce854 Mon Sep 17 00:00:00 2001 From: HubsvVN <157294903+HubsvVN@users.noreply.github.com> Date: Thu, 21 Mar 2024 07:42:45 +0700 Subject: [PATCH 22/89] Update servers_v7.json (#9661) --- servers_v7.json | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/servers_v7.json b/servers_v7.json index 56ddb236f8..d95da17b9b 100644 --- a/servers_v7.json +++ b/servers_v7.json @@ -295,7 +295,7 @@ }, { "name": "Sever.VN", - "address": ["srv24.godlike.club:26189"] + "address": ["192.168.1.2:6567"] }, { "name": "NPTS", From 2539bb01955ccc3b7c77e245f2cb8a64ec722a5f Mon Sep 17 00:00:00 2001 From: Anuken Date: Thu, 21 Mar 2024 10:32:43 -0400 Subject: [PATCH 23/89] Fixed #9663 --- core/src/mindustry/input/DesktopInput.java | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/core/src/mindustry/input/DesktopInput.java b/core/src/mindustry/input/DesktopInput.java index 2c196660d4..031f5af2bf 100644 --- a/core/src/mindustry/input/DesktopInput.java +++ b/core/src/mindustry/input/DesktopInput.java @@ -568,7 +568,7 @@ public class DesktopInput extends InputHandler{ schematicY += shiftY; } - if(Core.input.keyTap(Binding.deselect) && !isPlacing() && player.unit().plans.isEmpty() && !commandMode){ + if(Core.input.keyTap(Binding.deselect) && !ui.minimapfrag.shown() && !isPlacing() && player.unit().plans.isEmpty() && !commandMode){ player.unit().mineTile = null; } From 32ae555ad6b2ee5579642f460d6de1ec4af7e3db Mon Sep 17 00:00:00 2001 From: Anuken Date: Fri, 22 Mar 2024 15:02:59 -0400 Subject: [PATCH 24/89] Fixed power links in editor sector generate --- core/src/mindustry/editor/MapEditor.java | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/core/src/mindustry/editor/MapEditor.java b/core/src/mindustry/editor/MapEditor.java index 37a10cca89..38839e6108 100644 --- a/core/src/mindustry/editor/MapEditor.java +++ b/core/src/mindustry/editor/MapEditor.java @@ -74,7 +74,7 @@ public class MapEditor{ for(int i = 0; i < tiles.width * tiles.height; i++){ Tile tile = tiles.geti(i); var build = tile.build; - if(build != null){ + if(build != null && tile.isCenter()){ builds.add(build); } tiles.seti(i, new EditorTile(tile.x, tile.y, tile.floorID(), tile.overlayID(), build == null ? tile.blockID() : 0)); From 8fe08268924be759343c0855b11c785372f58fb1 Mon Sep 17 00:00:00 2001 From: Anuken Date: Fri, 22 Mar 2024 15:14:52 -0400 Subject: [PATCH 25/89] Better base core randomization --- core/src/mindustry/maps/generators/BaseGenerator.java | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-) diff --git a/core/src/mindustry/maps/generators/BaseGenerator.java b/core/src/mindustry/maps/generators/BaseGenerator.java index e38c5206fe..9671a83a42 100644 --- a/core/src/mindustry/maps/generators/BaseGenerator.java +++ b/core/src/mindustry/maps/generators/BaseGenerator.java @@ -47,20 +47,20 @@ public class BaseGenerator{ if(bases.cores.isEmpty()) return; Mathf.rand.setSeed(sector.id); + Mathf.rand.nextDouble(); float bracketRange = 0.17f; float baseChance = Mathf.lerp(0.7f, 2.1f, difficulty); int wallAngle = 70; //180 for full coverage double resourceChance = 0.5 * baseChance; double nonResourceChance = 0.002 * baseChance; - BasePart coreschem = bases.cores.getFrac(difficulty); int passes = difficulty < 0.4 ? 1 : difficulty < 0.8 ? 3 : 5; Block wall = getDifficultyWall(1, difficulty), wallLarge = getDifficultyWall(2, difficulty); for(Tile tile : cores){ tile.clearOverlay(); - Schematics.placeLoadout(coreschem.schematic, tile.x, tile.y, team, false); + Schematics.placeLoadout(bases.cores.getFrac((difficulty + Mathf.rand.range(0.4f)) / 1.4f).schematic, tile.x, tile.y, team, false); //fill core with every type of item (even non-material) Building entity = tile.build; @@ -81,7 +81,7 @@ public class BaseGenerator{ tryPlace(parts.getFrac(difficulty + Mathf.range(bracketRange)), tile.x, tile.y, team); } }else if(Mathf.chance(nonResourceChance)){ - tryPlace(bases.parts.getFrac(Mathf.random(1f)), tile.x, tile.y, team); + tryPlace(bases.parts.getFrac(Mathf.rand.random(1f)), tile.x, tile.y, team); } }); } @@ -235,7 +235,7 @@ public class BaseGenerator{ set(placed, item); } - Tile rand = world.tiles.getc(ex + Mathf.range(1), ey + Mathf.range(1)); + Tile rand = world.tiles.getc(ex + Mathf.rand.range(1), ey + Mathf.rand.range(1)); if(rand.floor().hasSurface()){ //random ores nearby to make it look more natural set(rand, item); From e97dc7a9603bf62caa7ba50fec137c4145a2e1f5 Mon Sep 17 00:00:00 2001 From: PolarStar <107398572+PoIarStar@users.noreply.github.com> Date: Sun, 24 Mar 2024 22:03:08 +0300 Subject: [PATCH 26/89] Update servers_v7.json (#9671) Merging servers --- servers_v7.json | 6 +----- 1 file changed, 1 insertion(+), 5 deletions(-) diff --git a/servers_v7.json b/servers_v7.json index d95da17b9b..ad5b28bdfb 100644 --- a/servers_v7.json +++ b/servers_v7.json @@ -28,13 +28,9 @@ "name": "Crux's Revelations", "address": ["de-free-01.hosts.optikservers.com:31528","de-prem-01.hosts.optikservers.com:35922"] }, - { - "name": "Chilldustry", - "address": ["trelesco.xyz"] - }, { "name": "CMS Empire", - "address": ["94.250.250.252","95.84.198.97"] + "address": ["trelesco.xyz","94.250.250.252","95.84.198.97"] }, { "name": "ShardDustry Eventos", From 4cacb79ccd2e6aaee7fc726c54b5af68327ea3e1 Mon Sep 17 00:00:00 2001 From: MEEPofFaith <54301439+MEEPofFaith@users.noreply.github.com> Date: Mon, 25 Mar 2024 10:31:03 -0700 Subject: [PATCH 27/89] Auto-add produce to liquids (#9666) --- core/src/mindustry/mod/ContentParser.java | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/core/src/mindustry/mod/ContentParser.java b/core/src/mindustry/mod/ContentParser.java index 093f9fd98f..40da31c7d1 100644 --- a/core/src/mindustry/mod/ContentParser.java +++ b/core/src/mindustry/mod/ContentParser.java @@ -1102,8 +1102,8 @@ public class ContentParser{ } //all items have a produce requirement unless already specified - if(object instanceof Item i && !node.objectives.contains(o -> o instanceof Produce p && p.content == i)){ - node.objectives.add(new Produce(i)); + if((unlock instanceof Item || unlock instanceof Liquid) && !node.objectives.contains(o -> o instanceof Produce p && p.content == unlock)){ + node.objectives.add(new Produce(unlock)); } //remove old node from parent From 88d37763daa3fbc37258dd93dd764f77133f1566 Mon Sep 17 00:00:00 2001 From: PolarStar <107398572+PoIarStar@users.noreply.github.com> Date: Mon, 25 Mar 2024 21:11:30 +0300 Subject: [PATCH 28/89] Update servers_v7.json (#9674) deleted outdated addresses --- servers_v7.json | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/servers_v7.json b/servers_v7.json index ad5b28bdfb..f003996b48 100644 --- a/servers_v7.json +++ b/servers_v7.json @@ -30,7 +30,7 @@ }, { "name": "CMS Empire", - "address": ["trelesco.xyz","94.250.250.252","95.84.198.97"] + "address": ["trelesco.xyz"] }, { "name": "ShardDustry Eventos", From ce22552bca1b3db64c1ce0fbca17b640cc66fe96 Mon Sep 17 00:00:00 2001 From: GaviTSRA <61122293+GaviTSRA@users.noreply.github.com> Date: Mon, 25 Mar 2024 21:41:56 +0100 Subject: [PATCH 29/89] Add TSR Sandbox to v7 serverlist (#9672) --- servers_v7.json | 4 ++++ 1 file changed, 4 insertions(+) diff --git a/servers_v7.json b/servers_v7.json index f003996b48..3fdb7f9aa5 100644 --- a/servers_v7.json +++ b/servers_v7.json @@ -1,4 +1,8 @@ [ + { + "name": "TSR Network", + "address": ["de-prem-01.hosts.optikservers.com:35526"] + }, { "name": "Toast Mindustry", "address": ["192.3.139.5:6567", "192.3.139.5:6568", "192.3.139.5:6569", "104.168.64.154:6567", "104.168.64.154:6568", "104.168.64.154:6569"] From 9c3ff565082ba28be54b03b6986dc4a78e6dceff Mon Sep 17 00:00:00 2001 From: Hunggaming128 <160811008+Hunggaming128@users.noreply.github.com> Date: Tue, 26 Mar 2024 03:42:05 +0700 Subject: [PATCH 30/89] Update servers_v7.json (#9669) --- servers_v7.json | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-) diff --git a/servers_v7.json b/servers_v7.json index 3fdb7f9aa5..7ef103cac1 100644 --- a/servers_v7.json +++ b/servers_v7.json @@ -293,12 +293,12 @@ "name": "MineCore", "address": ["194.247.42.11:27792", "194.247.42.11:27977", "194.247.42.61:27989", "194.247.42.181:28514"] }, - { - "name": "Sever.VN", - "address": ["192.168.1.2:6567"] - }, { "name": "NPTS", "address": ["81.94.159.242"] + }, + { + "name": "Skywar.VN", + "address": ["nur-de-01.blued.host:25736"] } ] From 631e8a4fa47c5a98f8bc470a38f7b00fddbefcdd Mon Sep 17 00:00:00 2001 From: Jason <131086642+JasonP01@users.noreply.github.com> Date: Mon, 25 Mar 2024 22:42:14 +0200 Subject: [PATCH 31/89] fix poly (#9662) Signed-off-by: Jason <131086642+JasonP01@users.noreply.github.com> --- core/src/mindustry/content/UnitTypes.java | 1 + 1 file changed, 1 insertion(+) diff --git a/core/src/mindustry/content/UnitTypes.java b/core/src/mindustry/content/UnitTypes.java index 089f5d4e39..c9200be5e1 100644 --- a/core/src/mindustry/content/UnitTypes.java +++ b/core/src/mindustry/content/UnitTypes.java @@ -1318,6 +1318,7 @@ public class UnitTypes{ healPercent = 5.5f; collidesTeam = true; + reflectable = false; backColor = Pal.heal; trailColor = Pal.heal; }}; From e595627895e2b332d44aeae78ae9ac493cc49021 Mon Sep 17 00:00:00 2001 From: Elixias <61173114+LixieWulf@users.noreply.github.com> Date: Mon, 25 Mar 2024 17:20:26 -0600 Subject: [PATCH 32/89] . (#9676) --- .../mindustry/entities/bullet/ContinuousFlameBulletType.java | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/core/src/mindustry/entities/bullet/ContinuousFlameBulletType.java b/core/src/mindustry/entities/bullet/ContinuousFlameBulletType.java index 4d67083cec..30dd5011fb 100644 --- a/core/src/mindustry/entities/bullet/ContinuousFlameBulletType.java +++ b/core/src/mindustry/entities/bullet/ContinuousFlameBulletType.java @@ -49,6 +49,7 @@ public class ContinuousFlameBulletType extends ContinuousBulletType{ lifetime = 16f; hitColor = colors[1].cpy().a(1f); lightColor = hitColor; + lightOpacity = 0.7f; laserAbsorb = false; ammoMultiplier = 1f; pierceArmor = true; @@ -87,7 +88,7 @@ public class ContinuousFlameBulletType extends ContinuousBulletType{ } Tmp.v1.trns(b.rotation(), realLength * 1.1f); - Drawf.light(b.x, b.y, b.x + Tmp.v1.x, b.y + Tmp.v1.y, lightStroke, lightColor, 0.7f); + Drawf.light(b.x, b.y, b.x + Tmp.v1.x, b.y + Tmp.v1.y, lightStroke, lightColor, lightOpacity); Draw.reset(); } From 138bbdb1c9d18408ae047f5d9f991a57ccab93b0 Mon Sep 17 00:00:00 2001 From: Anuken Date: Thu, 28 Mar 2024 10:01:20 -0400 Subject: [PATCH 33/89] Dispose item pixmaps --- core/src/mindustry/type/Item.java | 1 + 1 file changed, 1 insertion(+) diff --git a/core/src/mindustry/type/Item.java b/core/src/mindustry/type/Item.java index f451b5f1a3..1c59b0d07a 100644 --- a/core/src/mindustry/type/Item.java +++ b/core/src/mindustry/type/Item.java @@ -146,6 +146,7 @@ public class Item extends UnlockableContent implements Senseable{ Pixmap res = Pixmaps.blend(pixmaps[i], pixmaps[(i + 1) % frames], f); packer.add(PageType.main, name + "-t" + index, res); + res.dispose(); } } } From 67e9e6be27a76d7bc546f2cd51e43de366564a51 Mon Sep 17 00:00:00 2001 From: PolarStar <107398572+PoIarStar@users.noreply.github.com> Date: Fri, 29 Mar 2024 21:58:44 +0300 Subject: [PATCH 34/89] Update servers_v7.json (#9680) Added attack server --- servers_v7.json | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/servers_v7.json b/servers_v7.json index 7ef103cac1..1b49614a5f 100644 --- a/servers_v7.json +++ b/servers_v7.json @@ -34,7 +34,7 @@ }, { "name": "CMS Empire", - "address": ["trelesco.xyz"] + "address": ["trelesco.xyz", "95.84.198.97"] }, { "name": "ShardDustry Eventos", From 5a278c626172d04f5faac387f6970d4314d10d77 Mon Sep 17 00:00:00 2001 From: c6b2qb5g <160118416+c6b2qb5g@users.noreply.github.com> Date: Sat, 30 Mar 2024 01:58:50 +0700 Subject: [PATCH 35/89] Update servers_v7.json (#9683) --- servers_v7.json | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/servers_v7.json b/servers_v7.json index 1b49614a5f..49168d7da9 100644 --- a/servers_v7.json +++ b/servers_v7.json @@ -295,7 +295,7 @@ }, { "name": "NPTS", - "address": ["81.94.159.242"] + "address": ["77.87.215.102:26863"] }, { "name": "Skywar.VN", From 64d1a1f8cebda2e0afe37b76e5e20e35f3314ce4 Mon Sep 17 00:00:00 2001 From: GaviTSRA <61122293+GaviTSRA@users.noreply.github.com> Date: Fri, 29 Mar 2024 19:58:57 +0100 Subject: [PATCH 36/89] Update servers_v7.json - Add TSR Survival and TSR Attack (#9685) --- servers_v7.json | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/servers_v7.json b/servers_v7.json index 49168d7da9..8553f2187f 100644 --- a/servers_v7.json +++ b/servers_v7.json @@ -1,7 +1,7 @@ [ { "name": "TSR Network", - "address": ["de-prem-01.hosts.optikservers.com:35526"] + "address": ["de-prem-01.hosts.optikservers.com:35526", "de-prem-01.hosts.optikservers.com:35915", "de-prem-01.hosts.optikservers.com:35250"] }, { "name": "Toast Mindustry", From ee412c61fc120c9241a0ecd74dce72e0234eb3fd Mon Sep 17 00:00:00 2001 From: "nuri (smol)" <75618732+SMOLKEYS@users.noreply.github.com> Date: Sat, 30 Mar 2024 03:01:59 +0800 Subject: [PATCH 37/89] pierceFragCap (#9684) Co-authored-by: SMOLKEYS --- core/src/mindustry/entities/bullet/BulletType.java | 5 ++++- core/src/mindustry/entities/comp/BulletComp.java | 1 + 2 files changed, 5 insertions(+), 1 deletion(-) diff --git a/core/src/mindustry/entities/bullet/BulletType.java b/core/src/mindustry/entities/bullet/BulletType.java index 64737495e7..85bd903395 100644 --- a/core/src/mindustry/entities/bullet/BulletType.java +++ b/core/src/mindustry/entities/bullet/BulletType.java @@ -176,6 +176,8 @@ public class BulletType extends Content implements Cloneable{ public float fragLifeMin = 1f, fragLifeMax = 1f; /** Random offset of frag bullets from the parent bullet. */ public float fragOffsetMin = 1f, fragOffsetMax = 7f; + /** How many times this bullet can release frag bullets, if pierce = true. */ + public int pierceFragCap = -1; /** Bullet that is created at a fixed interval. */ public @Nullable BulletType intervalBullet; @@ -509,12 +511,13 @@ public class BulletType extends Content implements Cloneable{ } public void createFrags(Bullet b, float x, float y){ - if(fragBullet != null && (fragOnAbsorb || !b.absorbed)){ + if(fragBullet != null && (fragOnAbsorb || !b.absorbed) && !(b.frags >= pierceFragCap && pierceFragCap > 0)){ for(int i = 0; i < fragBullets; i++){ float len = Mathf.random(fragOffsetMin, fragOffsetMax); float a = b.rotation() + Mathf.range(fragRandomSpread / 2) + fragAngle + ((i - fragBullets/2) * fragSpread); fragBullet.create(b, x + Angles.trnsx(a, len), y + Angles.trnsy(a, len), a, Mathf.random(fragVelocityMin, fragVelocityMax), Mathf.random(fragLifeMin, fragLifeMax)); } + b.frags++; } } diff --git a/core/src/mindustry/entities/comp/BulletComp.java b/core/src/mindustry/entities/comp/BulletComp.java index 7483d66496..d9c3aef000 100644 --- a/core/src/mindustry/entities/comp/BulletComp.java +++ b/core/src/mindustry/entities/comp/BulletComp.java @@ -45,6 +45,7 @@ abstract class BulletComp implements Timedc, Damagec, Hitboxc, Teamc, Posc, Draw transient @Nullable Mover mover; transient boolean absorbed, hit; transient @Nullable Trail trail; + transient int frags; @Override public void getCollisions(Cons consumer){ From 5d180e9dd8e83e0a7390a790a15e43c141a958b8 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Bal=C3=A1zs=20Mesk=C3=B3?= Date: Fri, 29 Mar 2024 20:02:34 +0100 Subject: [PATCH 38/89] Update Hungarian translation (#9675) * Update Hungarian translation * Update bundle_hu.properties Changed triple dots to three dots * Further fixes * Done requested fixes * Arkycite terminology changed --- core/assets/bundles/bundle_hu.properties | 2298 +++++++++++----------- 1 file changed, 1149 insertions(+), 1149 deletions(-) diff --git a/core/assets/bundles/bundle_hu.properties b/core/assets/bundles/bundle_hu.properties index 21f84cf25c..3a372d6433 100644 --- a/core/assets/bundles/bundle_hu.properties +++ b/core/assets/bundles/bundle_hu.properties @@ -1,6 +1,6 @@ -credits.text = Készítette: [royal]Anuken[] - [sky]anukendev@gmail.com[] +credits.text = Készítette: [royal]Anuken[] – [sky]anukendev@gmail.com[] credits = Készítők -contributors = Közreműködők És Fordítók +contributors = Közreműködők és fordítók discord = Csatlakozz a Mindustry Discord szerverhez! link.discord.description = Az eredeti Mindustry Discord csevegőszoba link.reddit.description = A Mindustry subreddit @@ -8,14 +8,14 @@ link.github.description = A játék forráskódja link.changelog.description = Frissítési változások listája link.dev-builds.description = Instabil fejlesztői összeállítások link.trello.description = Hivatalos Trello tábla a tervezett funkcióknak -link.itch.io.description = itch.io oldal PC letöltésekkel -link.google-play.description = Google Play áruház listázás -link.f-droid.description = F-Droid katalógus listázás +link.itch.io.description = itch.io oldal PC-s letöltésekkel +link.google-play.description = Listázás a Google Play áruházban +link.f-droid.description = Listázás az F-Droidon link.wiki.description = Hivatalos Mindustry wiki link.suggestions.description = Új funkciók ajánlása -link.bug.description = Találtál egy szoftver hibát? Itt jelentheted -linkopen = Ez a kiszolgáló egy linket küldött neked. Biztos vagy benne, hogy megnyitod?\n\n[sky]{0} -linkfail = Nem sikerült megnyitni a linket!\nAz URL a vágólapra lett másolva. +link.bug.description = Találtál egy szoftverhibát? Itt jelentheted +linkopen = Ez a kiszolgáló egy hivatkozást küldött. Biztos vagy benne, hogy megnyitod?\n\n[sky]{0} +linkfail = Nem sikerült megnyitni a hivatkozást!\nA webcím a vágólapra lett másolva. screenshot = Képernyőkép mentve ide: {0} screenshot.invalid = Túl nagy a pálya, nincs elég memória a képernyőképhez. gameover = A játéknak vége @@ -41,12 +41,12 @@ be.ignore = Most nem be.noupdates = Nem található frissítés. be.check = Frissítések keresése -mods.browser = Mod választó +mods.browser = Modböngésző mods.browser.selected = Mod kiválasztása mods.browser.add = Letöltés mods.browser.reinstall = Újratelepítés mods.browser.view-releases = Kiadások megtekintése -mods.browser.noreleases = [scarlet]Nem találhatóak a kiadások\n[accent]Nem lehet kiadásokat találni ehhez a Modhoz. Nézd meg a tárolóját, hogy vannak-e kiadásai. +mods.browser.noreleases = [scarlet]Nem találhatóak a kiadások\n[accent]Nem találhatók kiadások ehhez a modhoz. Nézd meg a tárolóját, hogy vannak-e kiadásai. mods.browser.latest = [lightgray][Legújabb] mods.browser.releases = Kiadások mods.github.open = Tároló @@ -64,15 +64,15 @@ schematic.import = Vázlat importálása... schematic.exportfile = Exportálás fájlba schematic.importfile = Importálás fájlból schematic.browseworkshop = Steam Műhely megtekintése -schematic.copy = Másolás a vágólapra -schematic.copy.import = Importálás a vágólapról +schematic.copy = Végólapra másolás +schematic.copy.import = Importálás vágólapról schematic.shareworkshop = Megosztás a Steam Műhelyben schematic.flip = [accent][[{0}][]/[accent][[{1}][]: Vázlat tükrözése schematic.saved = Vázlat elmentve. schematic.delete.confirm = Ez a vázlat törölve lesz. schematic.edit = Vázlat szerkesztése schematic.info = {0}x{1}, {2} blokk -schematic.disabled = [scarlet]Vázlatok letiltva[]\nNem használhatsz vázlatokat ezen a [accent]pályán[], vagy [accent]kiszolgálón. +schematic.disabled = [scarlet]Vázlatok letiltva[]\nNem használhatsz vázlatokat ezen a [accent]pályán[] vagy [accent]kiszolgálón. schematic.tags = Címkék: schematic.edittags = Címkék szerkesztése schematic.addtag = Címke hozzáadása @@ -93,18 +93,18 @@ stats.deconstructed = Építmények lebontva stats.playtime = Játékban töltött idő globalitems = [accent]A bolygó nyersanyagai -map.delete = Biztosan törölni akarod a(z) "[accent]{0}[]" pályát? +map.delete = Biztosan törölni akarod a(z) „[accent]{0}[]” pályát? level.highscore = Legmagasabb pontszám: [accent]{0} level.select = Szint kiválasztása level.mode = Játékmód: -coreattack = < A Támaszpont támadás alatt van! > +coreattack = < A támaszpont támadás alatt van! > nearpoint = [[ [scarlet]AZONNAL HAGYD EL A LEDOBÁSI PONTOT![] ]\nA megsemmisülés fenyeget! -database = Támaszpont adatbázis +database = Támaszpont adatbázisa database.button = Adatbázis savegame = Játék mentése loadgame = Játék betöltése joingame = Kapcsolódás egy játékhoz -customgame = Egyedi játék +customgame = Egyéni játék newgame = Új játék none = none.found = [lightgray] @@ -129,15 +129,15 @@ committingchanges = Változások rögzítése done = Kész feature.unsupported = Ez az eszköz nem támogatja ezt a funkciót. -mods.initfailed = [red]⚠[] Az előző Mindustry munkamenet nem tudott inicializálódni. Ez valószínű egy rosszúl működő Mod miatt történt.\n\nAz "összeomlások" elkerülése érdekében, [red]minden Mod le lett tiltva.[] +mods.initfailed = [red]⚠[] Az előző Mindustry példány előkészítése nem sikerült. Ezt valószínűleg egy rosszul működő mod okozta.\n\nAz ismételt összeomlások elkerülése érdekében [red]minden mod le lett tiltva.[] mods = Modok -mods.none = [lightgray]Nem találhatóak Modok! -mods.guide = Mod készítési útmutató +mods.none = [lightgray]Nem találhatóak modok! +mods.guide = Modkészítési útmutató mods.report = Hiba jelentése mods.openfolder = Mappa megnyitása mods.viewcontent = Tartalom megtekintése mods.reload = Újratöltés -mods.reloadexit = A játék újraindul, hogy betöltődjenek a Modok. +mods.reloadexit = A játék most kilép, hogy újratöltse a modokat. mod.installed = [[Telepítve] mod.display = [gray]Mod:[orange] {0} mod.enabled = [lightgray]Aktív @@ -145,7 +145,7 @@ mod.disabled = [red]Inaktív mod.multiplayer.compatible = [gray]Többjátékos kompatibilis mod.disable = Letiltás mod.content = Tartalom: -mod.delete.error = Nem lehet törölni a Modot. Lehet, hogy egy másik folyamat használja. +mod.delete.error = Nem lehet törölni a modot. Lehet, hogy egy másik folyamat használja. mod.incompatiblegame = [red]Elavult játék mod.incompatiblemod = [red]Inkompatibilis @@ -155,48 +155,48 @@ mod.erroredcontent = [red]Hibás tartalom mod.circulardependencies = [red]Körkörös függőségek mod.incompletedependencies = [red]Hiányos függőségek -mod.requiresversion.details = Szükséges játékverzió: [accent]{0}[]\nA játék ezen verziója elavult! Ez a Mod egy újabb verziót kíván (valószínűleg egy Béta, vagy egy Alfa kiadást) a működéshez. -mod.outdatedv7.details = Ez a Mod nem kompatibilis a játék legújabb verziójával! A Mod készítőjének frissítenie kell azt és hozzá kell adnia a [accent]minGameVersion: 136[]-t a [accent]mod.json[] fájlhoz. -mod.blacklisted.details = Ez a Mod manuálisan a feketelistára került, mert a játék összeomlott tőle, vagy más probléma miatt. Ne használd! -mod.missingdependencies.details = Ez a Mod függőségeket hiányol: {0} -mod.erroredcontent.details = Ez a Mod hibákat okozott a betöltésnél. Kérd meg a Mod készítőjét, hogy javítsa ki a hibákat. -mod.circulardependencies.details = Ennek a Modnak egymástól függő függőségei vannak. -mod.incompletedependencies.details = Ez a Mod nem tudott betölteni a hiányzó, vagy a rossz függőségek miatt: {0}. +mod.requiresversion.details = Szükséges játékverzió: [accent]{0}[]\nA játék ezen verziója elavult! A mod működéséhez újabb verzió szükséges (valószínűleg egy béta vagy alfa kiadás). +mod.outdatedv7.details = Ez a mod nem kompatibilis a játék legújabb verziójával! A mod készítőjének frissítenie kell azt és hozzá kell adnia ezt a [accent]mod.json[] fájlhoz: [accent]minGameVersion: 136[]. +mod.blacklisted.details = Ez a mod kézileg feketelistára került, mert a játék összeomlott tőle, vagy más problémát okozott. Ne használd! +mod.missingdependencies.details = Ez a mod függőségeket hiányol: {0} +mod.erroredcontent.details = Ez a mod hibákat okozott a betöltésnél. Kérd meg a mod készítőjét, hogy javítsa őket. +mod.circulardependencies.details = Ennek a modnak egymástól függő függőségei vannak. +mod.incompletedependencies.details = Ez a mod nem tölthető be az érvénytelen vagy hiányzó függőségek miatt: {0}. mod.requiresversion = Szükséges játékverzió: [red]{0}[] mod.errors = Hiba történt a tartalom betöltése közben. -mod.noerrorplay = [red]Vannak hibás Modok.[] Kapcsold ki, vagy javítsd ki őket a játék előtt. -mod.nowdisabled = [red]A '{0}' Modnak nincs megfelelő függősége:[accent] {1}\n[lightgray]Ezeket előbb le kell tölteni.\nEz a Mod automatikusan törölve lesz. +mod.noerrorplay = [red]Hibákkal rendelkező modjaid vannak.[] Kapcsold ki, vagy javítsd ki őket a játék előtt. +mod.nowdisabled = [red]A(z) „{0}” modnak nincs megfelelő függősége:[accent] {1}\n[lightgray]Ezeket előbb le kell tölteni.\nEz a mod automatikusan ki lesz kapcsolva. mod.enable = Engedélyezés mod.requiresrestart = A játék kilép a módosítások alkalmazásához. -mod.reloadrequired = [red]Újratöltés szükséges +mod.reloadrequired = [red]Újraindítás szükséges mod.import = Mod importálása mod.import.file = Fájl importálása -mod.import.github = Importálás GitHub-ról -mod.jarwarn = [scarlet]A JAR Modok eredendően nem biztonságosak.[]\nGyőződj meg arról, hogy ezt a Modot megbízható forrásból importálod! -mod.item.remove = Ez az elem része a(z)[accent] '{0}'[] Modnak. A törléséhez távolítsd el a Modot. -mod.remove.confirm = Ez a Mod törölve lesz. +mod.import.github = Importálás GitHubról +mod.jarwarn = [scarlet]A JAR modok eredendően nem biztonságosak.[]\nGyőződj meg arról, hogy ezt a modot megbízható forrásból importálod! +mod.item.remove = Ez az elem a(z)[accent] „{0}”[] mod része. A törléséhez távolítsd el a modot. +mod.remove.confirm = Ez a mod törölve lesz. mod.author = [lightgray]Készítő:[] {0} -mod.missing = Ez a mentés nemrég törölt, vagy frissített Modokat tartalmaz. Elképzelhető, hogy nem fog működni. Biztosan betöltöd?\n[lightgray]Modok:\n{0} -mod.preview.missing = Mielőtt publikálod ezt a Modot a Steam Műhelyben, adj hozzá egy borítóképet.\nKészíts egy[accent] preview.png[] nevű képet a Mod mappájába, majd próbáld újra. -mod.folder.missing = Csak mappa formában lehet feltölteni a Steam Műhelybe.\nHogy átalakítsd, csomagold ki a ZIP fájlt egy mappába és töröld le a régit, majd indítsd újra a játékot, vagy töltsd újra a Modot. -mod.scripts.disable = Ez az eszköz nem támogatja a szkriptekkel rendelkező Modokat.\nA játékhoz tiltsd le ezeket a Modokat. +mod.missing = Ez a mentés nemrég törölt vagy frissített modokat tartalmaz. Elképzelhető, hogy nem fog működni. Biztosan betöltöd?\n[lightgray]Modok:\n{0} +mod.preview.missing = Mielőtt közzéteszed ezt a modot a Steam Műhelyben, adj hozzá egy borítóképet.\nKészíts egy[accent] preview.png[] nevű képet a Mod mappájába, majd próbáld újra. +mod.folder.missing = Csak mappa formában lehet feltölteni a Steam Műhelybe.\nHogy átalakítsd, bontsd ki a ZIP-fájlt egy mappába és töröld le a régit, majd indítsd újra a játékot, vagy töltsd újra a modokat. +mod.scripts.disable = Ez az eszköz nem támogatja a szkriptekkel rendelkező modokat.\nA játékhoz tiltsd le ezeket a modokat. -about.button = Rólunk +about.button = Névjegy name = Név: noname = Előbb válassz egy[accent] nevet[]. search = Keresés: -planetmap = Bolygó térkép +planetmap = Bolygótérkép launchcore = Támaszpont indítása -filename = Fájl név: -unlocked = Új tartalom kinyitva! -available = Új fejlesztés áll rendelkezésre! +filename = Fájlnév: +unlocked = Új tartalom feloldva! +available = Új fejlesztés érhető el! unlock.incampaign = < Oldd fel a hadjáratban a részletekért > campaign.select = Válassz kezdő hadjáratot campaign.none = [lightgray]Válassz egy bolygót a kezdéshez.\nEzt bármikor megváltoztathatod. -campaign.erekir = Újabb, csiszoltabb tartalom. Általában lineáris játékmenet.\n\nSokkal bonyolultabb. Magasabb minőségű pályák és élmények. -campaign.serpulo = Régebbi tartalom. A klasszikus élmények. Nyíltabb végű.\n\nPotenciálisan kiegyensúlyozatlan pályák és hadjárat. Kevésbé csiszolt. +campaign.erekir = Újabb, csiszoltabb tartalom. Többnyire lineáris játékmenet.\n\nSokkal nehezebb. Magasabb minőségű pályák és élmények. +campaign.serpulo = Régebbi tartalom. A klasszikus élmény. Nyíltabb végű, több tartalommal.\n\nPotenciálisan kiegyensúlyozatlan pályák és hadjárat. Kevésbé csiszolt. completed = [accent]Kész techtree = Fejlesztési fa techtree.select = Fejlesztési fa kiválasztása @@ -230,8 +230,8 @@ server.kicked.customClient = Ez a kiszolgáló nem támogatja a saját készít server.kicked.gameover = Vége a játéknak! server.kicked.serverRestarting = Ez a kiszolgáló újraindul. server.versions = A te játékverziód:[accent] {0}[]\nA kiszolgáló verziója:[accent] {1}[] -host.info = A [accent]Kiszolgáló indítása[] gomb egy kiszolgálót indít a [scarlet]6567[] porton.\nEzen a [lightgray] Wi-Fi-n, vagy a helyi hálózaton [] bárki láthatja a kiszolgálót a kiszolgálólistán.\n\nHa azt szeretnéd, hogy az emberek bárhonnan, IP-címmel kapcsolódhassanak, akkor [accent]porttovábbítás[] szükséges.\n\n[lightgray]Megjegyzés: ha valakinek problémái vannak a LAN-játékhoz való kapcsolódással, győződj meg arról, hogy a tűzfal beállításaiban engedélyezted-e a Mindustry hozzáférését a helyi hálózathoz. Ne feledd, hogy a nyilvános hálózatok néha nem teszik lehetővé a kiszolgálók felderítését. -join.info = Itt megadhatsz egy [accent]kiszolgáló IP[]-címet a kapcsolódáshoz, vagy felfedezhetsz [accent]helyi hálózati[], vagy [accent]globális[] kiszolgálókat a kapcsolódáshoz.\nA LAN és WAN többjátékos mód is támogatott.\n\n[lightgray]Ha valakihez IP alapján szeretnél kapcsolódni, akkor meg kell tudnod a partnered IP címét. Az IP-címeteket az interneten a "mi az IP-címem?" szövegre való kereséssel is megtalálhatjátok. +host.info = A [accent]kiszolgáló indítása[] gomb egy kiszolgálót indít a [scarlet]6567-es[] porton.\nEzen a [lightgray]Wi-Fi-n vagy a helyi hálózaton[] bárki láthatja a kiszolgálót a kiszolgálólistán.\n\nHa azt szeretnéd, hogy bárhonnan, IP-címmel kapcsolódhassanak, akkor [accent]porttovábbítás[] szükséges.\n\n[lightgray]Megjegyzés: ha valakinek problémái vannak a LAN-játékhoz való kapcsolódással, győződj meg arról, hogy a tűzfal beállításaiban engedélyezted-e a Mindustry hozzáférését a helyi hálózathoz. Ne feledd, hogy a nyilvános hálózatok néha nem teszik lehetővé a kiszolgálók felderítését. +join.info = Itt megadhatod egy [accent]kiszolgáló IP-címét[] a kapcsolódáshoz, vagy felfedezhetsz [accent]helyi[] vagy [accent]globális[] kiszolgálókat.\nA LAN és WAN többjátékos mód is támogatott.\n\n[lightgray]Ha valakihez IP-cím alapján szeretnél kapcsolódni, akkor meg kell tudnod az IP-címét, amelyet például a „my ip” webes kereséssel találhat meg. hostserver = Többjátékos játék invitefriends = Barátok meghívása hostserver.mobile = Többjátékos játék @@ -257,22 +257,22 @@ server.hidden = Rejtett viewplayer = Játékos figyelése: [accent]{0} trace = Játékos követése trace.playername = Játékos neve: [accent]{0} -trace.ip = IP: [accent]{0} +trace.ip = IP-cím: [accent]{0} trace.id = Azonosító: [accent]{0} trace.language = Nyelv: [accent]{0} trace.mobile = Mobil kliens: [accent]{0} trace.modclient = Nem hivatalos kliens: [accent]{0} trace.times.joined = Kapcsolódások száma: [accent]{0} trace.times.kicked = Kirúgások száma: [accent]{0} -trace.ips = IP-k: +trace.ips = IP-címek: trace.names = Nevek: -invalidid = Érvénytelen kliens azonosító (ID)! Küldj hibajelentést. +invalidid = Érvénytelen kliensazonosító (ID)! Küldj hibajelentést. player.ban = Kitiltás player.kick = Kirúgás player.trace = Követés -player.admin = Admin választás -player.team = Csapat váltás +player.admin = Admin be/ki +player.team = Csapatváltás server.bans = Tiltások server.bans.none = Nincsenek tiltott játékosok! @@ -285,31 +285,31 @@ server.outdated = [scarlet]Elavult kiszolgáló![] server.outdated.client = [scarlet]Elavult kliens![] server.version = [gray]v{0} {1} server.custombuild = [accent]Saját összeállítás -confirmban = Biztosan tiltod "{0}[white]" játékost? -confirmkick = Biztosan kirúgod "{0}[white]" játékost? +confirmban = Biztosan tiltod „{0}[white]” játékost? +confirmkick = Biztosan kirúgod „{0}[white]” játékost? confirmunban = Biztosan újra engedélyezed ezt a játékost? -confirmadmin = Biztosan előlépteted "{0}[white]" játékost adminná? -confirmunadmin = Biztosan meg akarod szüntetni "{0}[white]" játékosnak az adminisztrátori státuszát? +confirmadmin = Biztosan előlépteted „{0}[white]” játékost adminná? +confirmunadmin = Biztosan meg akarod szüntetni „{0}[white]” játékos adminisztrátori státuszát? votekick.reason = Kiszavazás oka -votekick.reason.message = Valóban kiakarod szavazni "{0}[white]"-t?\nHa igen, írd le miért: +votekick.reason.message = Valóban ki akarod szavazni „{0}[white]” játékost?\nHa igen, írd be az okát: joingame.title = Kapcsolódás a játékhoz joingame.ip = Cím: -disconnect = Lekapcsolódva. +disconnect = Kapcsolat bontva. disconnect.error = Kapcsolódási hiba. -disconnect.closed = Kapcsolat bontva. +disconnect.closed = Kapcsolat lezárva. disconnect.timeout = Időtúllépés. -disconnect.data = Nem sikerült betölteni a világ adatot! +disconnect.data = Nem sikerült betölteni a világ adatait! cantconnect = Nem sikerült kapcsolódni a(z) ([accent]{0}[]) játékhoz. connecting = [accent]Kapcsolódás... reconnecting = [accent]Újrakapcsolódás... -connecting.data = [accent]Világ adat betöltése... +connecting.data = [accent]Világadatok betöltése... server.port = Port: server.addressinuse = A cím már használatban van! server.invalidport = Érvénytelen port! -server.error = [scarlet]Kiszolgáló hiba. +server.error = [scarlet]Kiszolgálási hiba. save.new = Új mentés save.overwrite = Biztosan felülírod\nezt a mentést? -save.nocampaign = A hadjáratból származó egyes mentési fájlok nem importálhatóak. +save.nocampaign = A hadjáratból származó egyes mentési fájlok nem importálhatók. overwrite = Felülírás save.none = Nem található mentés! savefail = Nem sikerült elmenteni a játékot! @@ -324,7 +324,7 @@ save.newslot = Mentés neve: save.rename = Átnevezés save.rename.text = Új név: selectslot = Válassz ki egy mentést. -slot = [accent]Rekesz {0} +slot = [accent]{0}. hely editmessage = Üzenet szerkesztése save.corrupted = A mentési fájl sérült vagy érvénytelen! empty = <üres> @@ -335,19 +335,19 @@ save.autosave = Automatikus mentés: {0} save.map = Térkép: {0} save.wave = Hullám: {0} save.mode = Játékmód: {0} -save.date = Utolsó Mentés: {0} +save.date = Utolsó mentés: {0} save.playtime = Játékidő: {0} warning = Figyelmeztetés. confirm = Megerősítés delete = Törlés view.workshop = Megtekintés a Steam Műhelyben -workshop.listing = Steam Műhely listázás szerkesztése +workshop.listing = Steam Műhely listázásának szerkesztése ok = OK open = Megnyitás customize = Szabályok módosítása -cancel = Mégsem +cancel = Mégse command = Parancs -command.queue = Sorba állít +command.queue = Sorba állítás command.mine = Bányászás command.repair = Javítás command.rebuild = Újraépítés @@ -363,9 +363,9 @@ stance.shoot = Viselkedés: lövés stance.holdfire = Viselkedés: tüzet szüntess stance.pursuetarget = Viselkedés: célpont követése stance.patrol = Viselkedés: járőrözési útvonal -stance.ram = Viselkedés: ütközés\n[lightgray]Egyenes vonalú mozgás, nincs útkeresés -openlink = Link megnyitása -copylink = Link másolása +stance.ram = Viselkedés: ütközés\n[lightgray]Egyenes vonalú mozgás, útkeresés nélkül +openlink = Hivatkozás megnyitása +copylink = Hivatkozás másolása back = Vissza max = Max objective = A pálya célja @@ -376,18 +376,18 @@ data.export = Adatok exportálása data.import = Adatok importálása data.openfolder = Adatok mappájának megnyitása data.exported = Adatok exportálva. -data.invalid = Ez nem egy érvényes játékadat. +data.invalid = Ezek nem érvényes játékadatok. data.import.confirm = A külső adatok importálása felülírja[scarlet] minden[] jelenlegi játékadatodat.\n[accent]Nem vonható vissza![]\n\nAmint kész az importálás, a játék azonnal kilép. quit.confirm = Biztosan kilépsz? loading = [accent]Betöltés... downloading = [accent]Letöltés... saving = [accent]Mentés... -respawn = Nyomd meg a(z) [accent][[{0}][] gombot, hogy drónként újraéledj. -cancelbuilding = Használd a(z) [accent][[{0}][] gombot, hogy töröld a tervrajzot. -selectschematic = Használd a(z) [accent][[{0}][] gombot, hogy kijelölj és másolj. -pausebuilding = Használd a(z) [accent][[{0}][] gombot, hogy megállítsd az építkezést. -resumebuilding = Használd a(z) [scarlet][[{0}][] gombot, hogy folytasd az építkezést. -enablebuilding = Használd a(z) [scarlet][[{0}][] gombot, hogy jóváhagyd az építkezést. +respawn = [accent][[{0}][] az újraéledéshez +cancelbuilding = [accent][[{0}][] a tervrajz törléséhez +selectschematic = [accent][[{0}][] a kijelöléshez és másoláshoz +pausebuilding = [accent][[{0}][] az építkezés megállításához +resumebuilding = [scarlet][[{0}][] az építkezés folytatásához +enablebuilding = [scarlet][[{0}][] az építkezés jóváhagyásához showui = A kezelőfelület elrejtve.\nNyomd meg a(z) [accent][[{0}][] gombot a kezelőfelület megjelenítéséhez. commandmode.name = [accent]Parancs mód commandmode.nounits = [nincs egység] @@ -397,52 +397,52 @@ wave.waiting = [lightgray]A következő hullám elkezdődik: {0} mp múlva wave.waveInProgress = [lightgray]Hullám folyamatban waiting = [lightgray]Várakozás... waiting.players = Várakozás a játékosokra... -wave.enemies = [lightgray]{0}db ellenség maradt -wave.enemycores = [accent]{0}db[lightgray] ellenséges Támaszpont -wave.enemycore = [accent]{0}db[lightgray] ellenséges Támaszpont -wave.enemy = [lightgray]{0}db ellenség maradt +wave.enemies = [lightgray]{0} ellenség maradt +wave.enemycores = [accent]{0}[lightgray] ellenséges támaszpont +wave.enemycore = [accent]{0}[lightgray] ellenséges támaszpont +wave.enemy = [lightgray]{0} ellenség maradt wave.guardianwarn = Egy Őrző érkezik [accent]{0}[] hullám múlva. wave.guardianwarn.one = Egy Őrző érkezik [accent]{0}[] hullám múlva. loadimage = Kép betöltése saveimage = Kép mentése unknown = Ismeretlen -custom = Egyedi +custom = Egyéni builtin = Beépített map.delete.confirm = Biztosan törlöd ezt a pályát? Ez a művelet nem vonható vissza! map.random = [accent]Véletlenszerű pálya -map.nospawn = Ez a pálya nem rendelkezik Támaszponttal, amellyel a játékos kezdhet! Adj hozzá egy {0} Támaszpontot ehhez a pályához a szerkesztőben! -map.nospawn.pvp = Ezen a pályán nincs ellenséges Támaszpont, amellyel a másik csapat kezdhet! Adj hozzá egy [scarlet]nem narancssárga[] Támaszpontot ehhez a pályához a szerkesztőben! -map.nospawn.attack = Ezen a pályán nincs ellenséges Támaszpont! Adj hozzá egy {0} Támaszpontot ehhez a pályához a szerkesztőben! +map.nospawn = Ez a pálya nem rendelkezik támaszponttal, amellyel a játékos kezdhetne. Adj hozzá egy {0} támaszpontot a pályához a szerkesztőben. +map.nospawn.pvp = Ezen a pályán nincs ellenséges támaszpont, amellyel egy játékos kezdhet. Adj hozzá egy [scarlet]nem narancssárga[] támaszpontot a pályához a szerkesztőben. +map.nospawn.attack = Ezen a pályán nincs ellenséges támaszpont. Adj hozzá {0} támaszpontot ehhez a pályához a szerkesztőben. map.invalid = Hiba történt a pálya betöltésekor: sérült vagy érvénytelen fájl. workshop.update = Elem frissítése workshop.error = Hiba történt a Steam Műhely részleteinek lekérdezésekor: {0} -map.publish.confirm = Biztos, hogy közzéteszed ezt a pályát?\n\n[lightgray]Győződj meg róla, hogy elfogadtad a Steam Műhely EULA-t, különben a pályáid nem jelennek meg! +map.publish.confirm = Biztos, hogy közzéteszed ezt a pályát?\n\n[lightgray]Győződj meg róla, hogy elfogadtad a Steam Műhely EULA-t, különben a pályáid nem jelennek meg. workshop.menu = Válaszd ki, hogy mit szeretnél csinálni ezzel az elemmel. -workshop.info = Elem infó -changelog = Változásnapló (opcionális): +workshop.info = Eleminformációk +changelog = Változásnapló (nem kötelező): updatedesc = Cím és leírás felülírása eula = Steam EULA -missing = Ezt az elemet törölték vagy áthelyezték.\n[lightgray]A Steam Műhely adatait automatikusan leválasztották. -publishing = [accent]Publikálás... +missing = Ezt az elemet törölték vagy áthelyezték.\n[lightgray]A Steam Műhely adatai automatikusan le lettek választva. +publishing = [accent]Közzététel... publish.confirm = Biztosan közzéteszed?\n\n[lightgray]Győződj meg róla, hogy elfogadtad a Steam Műhely EULA-t, különben az elemeid nem jelennek meg! -publish.error = Hiba az elem publikálásakor: {0} -steam.error = Nem sikerült inicializálni a Steam szolgáltatásokat.\nHiba: {0} +publish.error = Hiba az elem közzétételekor: {0} +steam.error = Nem sikerült előkészíteni a Steam szolgáltatásokat.\nHiba: {0} editor.planet = Bolygó: editor.sector = Szektor: -editor.seed = Seed: +editor.seed = Kiindulóérték: editor.cliffs = Falak sziklákká editor.brush = Méret editor.openin = Megnyitás a szerkesztőben -editor.oregen = Érc generálás -editor.oregen.info = Érc generálás: -editor.mapinfo = Általános -editor.author = Készítő: +editor.oregen = Ércelőállítás +editor.oregen.info = Ércelőállítás: +editor.mapinfo = Pályainformációk +editor.author = Szerző: editor.description = Leírás: -editor.nodescription = A pályának rendelkeznie kell egy legalább 4 karakter hosszú leírással, mielőtt megosztod. -editor.waves = Hullámok: -editor.rules = Szabályok: -editor.generation = Generálás: +editor.nodescription = A megosztás előtt a pályának rendelkeznie kell egy legalább 4 karakteres leírással. +editor.waves = Hullámok +editor.rules = Szabályok +editor.generation = Előállítás editor.objectives = Célok editor.locales = Helyi csomagok editor.ingame = Szerkesztés a játékban @@ -453,9 +453,9 @@ editor.center = Ugrás középre editor.search = Pályák keresése... editor.filters = Pályák szűrése editor.filters.mode = Játékmódok: -editor.filters.type = Pálya típus: +editor.filters.type = Pályatípus: editor.filters.search = Keresés ebben: -editor.filters.author = Készítő +editor.filters.author = Szerző editor.filters.description = Leírás editor.shiftx = X eltolás editor.shifty = Y eltolás @@ -468,29 +468,29 @@ waves.health = élet: {0}% waves.perspawn = kezdőpontonként waves.shields = pajzs/hullám waves.to = - -waves.spawn = Kezdőpont: +waves.spawn = kezdőpont: waves.spawn.all = waves.spawn.select = Kezdőpont kiválasztása waves.spawn.none = [scarlet]nem találhatóak kezdőpontok a pályán -waves.max = max egységek +waves.max = egységkorlát waves.guardian = Őrző waves.preview = Előnézet waves.edit = Szerkesztés... -waves.random = Véletlen +waves.random = Véletlenszerű waves.copy = Másolás a vágólapra -waves.load = Másolás a vágólapról -waves.invalid = Nem lehet beilleszteni a vágólapról. +waves.load = Betöltés a vágólapról +waves.invalid = Érvénytelen hullámok a vágólapon. waves.copied = Hullámok másolva. -waves.none = Nincs ellenség megadva.\nVedd figyelembe, hogy az üresen hagyott hullám elrendezések automatikusan lecserélődnek az alapértelmezett elrendezésre. +waves.none = Nincs ellenség megadva.\nVedd figyelembe, hogy az üresen hagyott hullám-elrendezések automatikusan le lesznek cserélve az alapértelmezett elrendezésre. waves.sort = Rendezési szempont waves.sort.reverse = Rendezés visszafelé -waves.sort.begin = Indul +waves.sort.begin = Kezdés waves.sort.health = Élet waves.sort.type = Típus waves.search = Hullám keresése... -waves.filter = Egység szűrő -waves.units.hide = Mindent elrejt -waves.units.show = Mindent megjelenít +waves.filter = Egységszűrő +waves.units.hide = Összes elrejtése +waves.units.show = Összes megjelenítése #these are intentionally in lower case wavemode.counts = típusokra bontva @@ -499,56 +499,56 @@ wavemode.health = életpontok editor.default = [lightgray] details = Részletek... -edit = Szerkesztés... +edit = Szerkesztés variables = Változók logic.globals = Beépített változók editor.name = Név: -editor.spawn = Egység megidézése +editor.spawn = Egység létrehozása editor.removeunit = Egység eltávolítása editor.teams = Csapatok editor.errorload = Hiba a fájl betöltése közben. editor.errorsave = Hiba a fájl mentése közben. editor.errorimage = Ez egy kép, nem pedig egy pálya. editor.errorlegacy = Ez a pálya túl régi és olyan régi pálya formátumot használ, amely már nem támogatott. -editor.errornot = Ez nem egy pálya-fájl. -editor.errorheader = Ez a pálya-fájl vagy érvénytelen, vagy sérült. +editor.errornot = Ez nem egy pályafájl. +editor.errorheader = Ez a pályafájl érvénytelen vagy sérült. editor.errorname = A pályának nincs neve. Mentést próbálsz betölteni? -editor.errorlocales = Hiba az érvénytelen Helyi Csomagok beolvasásakor. +editor.errorlocales = Hiba az érvénytelen helyi csomagok beolvasásakor. editor.update = Frissítés editor.randomize = Véletlenszerű editor.moveup = Mozgás felfelé editor.movedown = Mozgás lefelé editor.copy = Másolás -editor.apply = Alkalmazás -editor.generate = Generálás -editor.sectorgenerate = Szektor generálása +editor.apply = Alkalmaz +editor.generate = Előállítás +editor.sectorgenerate = Szektor előállítása editor.resize = Átméretezés editor.loadmap = Pálya betöltése editor.savemap = Pálya mentése editor.savechanges = [scarlet]Nem mentett módosításaid vannak!\n\n[]Szeretnéd elmenteni őket? editor.saved = Mentve! -editor.save.noname = A pályádnak nincs neve! Állíts be egyet a 'pálya infó' menüben. -editor.save.overwrite = A pályád felülír egy beépített pályát! Válassz egy másik nevet az 'pálya infó' menüben! -editor.import.exists = [scarlet]Nem lehet importálni:[] Már létezik a(z) "{0}" nevű beépített pálya! +editor.save.noname = A pályádnak nincs neve! Állíts be egyet a „pályainformációk” menüben. +editor.save.overwrite = A pályád felülír egy beépített pályát! Válassz egy másik nevet a „pályainformációk” menüben. +editor.import.exists = [scarlet]Nem lehet importálni:[] Már létezik „{0}” nevű beépített pálya! editor.import = Importálás... editor.importmap = Pálya importálása editor.importmap.description = Létező pálya importálása editor.importfile = Fájl importálása -editor.importfile.description = Egy külső pálya fájl importálása +editor.importfile.description = Egy külső pályafájl importálása editor.importimage = Képfájl importálása -editor.importimage.description = Egy külső pálya képfájl importálása +editor.importimage.description = Egy külső pályaképfájl importálása editor.export = Exportálás... editor.exportfile = Fájl exportálása -editor.exportfile.description = Exportálás egy pálya fájlba -editor.exportimage = Domborzat kép exportálása +editor.exportfile.description = Exportálás egy pályafájlba +editor.exportimage = Domborzati kép exportálása editor.exportimage.description = Csak alapvető domborzatot tartalmazó képfájl exportálása editor.loadimage = Domborzat importálása editor.saveimage = Domborzat exportálása -editor.unsaved = Biztos ki akarsz lépni?\n[scarlet]A nem mentett módosításaid elvesznek! +editor.unsaved = Biztos, hogy ki akarsz lépni?\n[scarlet]A nem mentett módosításaid elvesznek. editor.resizemap = Pálya átméretezése editor.mapname = Pálya neve: editor.overwrite = [accent]Vigyázz!\nEzzel felülírsz egy már létező pályát. -editor.overwrite.confirm = [scarlet]Vigyázz![] Ilyen nevű pálya már létezik:\n"[accent]{0}[]"\nBiztosan felülírod? +editor.overwrite.confirm = [scarlet]Vigyázz![] Ilyen nevű pálya már létezik. Biztosan felülírod?\n„[accent]{0}[]” editor.exists = Ilyen nevű pálya már létezik. editor.selectmap = Válassz ki egy pályát a betöltéshez: @@ -559,20 +559,20 @@ toolmode.replaceall.description = Az összes blokkot lecseréli a pályán. toolmode.orthogonal = Merőleges toolmode.orthogonal.description = Csak merőleges vonalakat rajzol. toolmode.square = Négyzet -toolmode.square.description = Négyzet ecset +toolmode.square.description = Négyzetes ecset. toolmode.eraseores = Ércradír toolmode.eraseores.description = Csak az érceket törli. -toolmode.fillteams = Csoportok Kitöltése -toolmode.fillteams.description = Töltse ki a csoportokat a blokkok helyett. -toolmode.fillerase = Kitöltés Törlése -toolmode.fillerase.description = Törölje az azonos típusú blokkokat. -toolmode.drawteams = Csoportok Rajzolása -toolmode.drawteams.description = Csoportok rajzolása blokkok helyett. +toolmode.fillteams = Csapatok kitöltése +toolmode.fillteams.description = Csapatok kitöltése a blokkok helyett. +toolmode.fillerase = Kitöltés törlése +toolmode.fillerase.description = Az azonos típusú blokkok törlése. +toolmode.drawteams = Csapatok rajzolása +toolmode.drawteams.description = Csapatok rajzolása blokkok helyett. #unused toolmode.underliquid = Folyadékok alá -toolmode.underliquid.description = Padlók rajzolása a folyadék blokkok alá. +toolmode.underliquid.description = Padlók rajzolása a folyadékblokkok alá. -filters.empty = [lightgray]Még nincs szűrő! Adj hozzá egyet a lenti gombra kattintva! +filters.empty = [lightgray]Még nincs szűrő! Adj hozzá egyet a lenti gombra kattintva. filter.distort = Torzítás filter.noise = Zaj @@ -584,14 +584,14 @@ filter.oremedian = Érc medián filter.blend = Vegyes filter.defaultores = Alapértelmezett ércek filter.ore = Érc -filter.rivernoise = Vízfolyás zaj +filter.rivernoise = Vízfolyás zaja filter.mirror = Tükrözés -filter.clear = Blokkok törlése -filter.option.ignore = Elutasít -filter.scatter = Szórás +filter.clear = Törlés +filter.option.ignore = Elutasítás +filter.scatter = Szétszórás filter.terrain = Domborzat -filter.option.scale = Méret +filter.option.scale = Méretezés filter.option.chance = Gyakoriság filter.option.mag = Magnitúdó filter.option.threshold = Küszöbérték @@ -604,7 +604,7 @@ filter.option.rotate = Forgatás filter.option.amount = Mennyiség filter.option.block = Blokk filter.option.floor = Talaj -filter.option.flooronto = Cél talaj +filter.option.flooronto = Céltalaj filter.option.target = Cél filter.option.replacement = Csere filter.option.wall = Fal @@ -612,24 +612,24 @@ filter.option.ore = Érc filter.option.floor2 = Másodlagos talaj filter.option.threshold2 = Másodlagos küszöbérték filter.option.radius = Sugár -filter.option.percentile = Arány +filter.option.percentile = Százalék -locales.info = Itt adhatsz hozzá különböző Helyi Csomagokat a pályádhoz. A Helyi Csomagok minden tulajdonságának van egy neve és egy értéke. Ezeket a tulajdonságokat a Világ Processzorok és a Célkitűzések azok neveivel használhatják. Támogatják a szövegformázást (a helyőrzőket az aktuális értékükkel helyettesítik).\n\n[cyan]Példa tulajdonság:\n[]name: [accent]időzítő[]\nvalue: [accent]Példa időzítő, hátralévő idő: {0}[]\n\n[cyan]Használat:\n[]Beállítás Célkitűzés szövegeként: [accent]@időzítő\n\n[]Írja be egy Világ Processzorba:\n[accent]localeprint "időzítő"\nformat time\n[gray](ahol az idő egy külön kiszámított változó) -locales.deletelocale = Biztos, hogy törölni akarod ezt a Helyi Csomagot? -locales.applytoall = Változások alkalmazása az összes Helyi Csomagra -locales.addtoother = Hozzáadás más Helyi Csomaghoz +locales.info = Itt adhatsz hozzá különböző nyelvi csomagokat a pályádhoz. A nyelvi csomagokban minden tulajdonságnak van egy neve és egy értéke. Ezeket a tulajdonságokat a világfeldolgozók és a célkitűzések is használhatják a saját neveikkel. Támogatják a szövegformázást (a helyőrzőket a tényleges értékükkel helyettesítik).\n\n[cyan]Példa tulajdonság:\n[]name: [accent]időzítő[]\nvalue: [accent]Példa időzítő, hátralévő idő: {0}[]\n\n[cyan]Használat:\n[]Beállítás célkitűzés szövegeként: [accent]@időzítő\n\n[]Írd be egy világfeldolgozóba:\n[accent]localeprint "időzítő"\nformat time\n[gray](ahol az idő egy külön számított változó) +locales.deletelocale = Biztos, hogy törölni akarod ezt a nyelvi csomagot? +locales.applytoall = Változások alkalmazása az összes nyelvi csomagra +locales.addtoother = Hozzáadás más nyelvi csomagokhoz locales.rollback = Visszaállítás az utoljára elfogadottra -locales.filter = Tulajdonság szűrő -locales.searchname = Név keresés... -locales.searchvalue = Érték keresés... -locales.searchlocale = Helyi csomag keresés... +locales.filter = Tulajdonságszűrő +locales.searchname = Név keresése... +locales.searchvalue = Érték keresése... +locales.searchlocale = Nyelvi csomag keresése... locales.byname = Név szerint locales.byvalue = Érték szerint -locales.showcorrect = Azon tulajdonságok megjelenítése, amelyek mindenhol egyedi értékekkel rendelkeznek és jelen vannak minden Helyi Csomagban. -locales.showmissing = Azon tulajdonságok megjelenítése, amelyek hiányoznak Bizonyos Helyi Csomagokból -locales.showsame = Azon tulajdonságok megjelenítése, amelyek azonos értékekkel rendelkeznek bizonyos Helyi Csomagokban -locales.viewproperty = Megtekintés minden Helyi Csomagban -locales.viewing = "{0}" tulajdonság megtekintése +locales.showcorrect = Azon tulajdonságok megjelenítése, amelyek mindenhol egyedi értékekkel rendelkeznek és jelen vannak minden nyelvi csomagban. +locales.showmissing = Azon tulajdonságok megjelenítése, amelyek hiányoznak egyes nyelvi csomagokból +locales.showsame = Azon tulajdonságok megjelenítése, amelyek azonos értékekkel rendelkeznek különböző nyelvi csomagokban +locales.viewproperty = Megtekintés minden nyelvi csomagban +locales.viewing = A(z) „{0}” tulajdonság megtekintése locales.addicon = Ikon hozzáadása width = Szélesség: @@ -640,27 +640,27 @@ campaign = Hadjárat load = Betöltés save = Mentés fps = FPS: {0} -ping = Ping: {0}ms +ping = Ping: {0} ms tps = TPS: {0} -memory = Mem: {0}MB -memory2 = Mem:\n {0}MB +\n {1}MB -language.restart = Indítsd újra a játékot, hogy betöltődjenek a nyelvi beállítások! +memory = Mem: {0} MB +memory2 = Mem:\n {0} MB +\n {1} MB +language.restart = Indítsd újra a játékot, hogy a nyelvi beállítások érvénybe lépjenek. settings = Beállítások tutorial = Oktatóanyag tutorial.retake = Oktatóanyag újrajátszása editor = Szerkesztő -mapeditor = Pálya szerkesztő +mapeditor = Pályaszerkesztő abandon = Feladás abandon.text = Ez a szektor és minden nyersanyaga az ellenség kezére kerül. locked = Lezárva complete = [lightgray]Feltételek: -requirement.wave = Juss el a {0}. hullámig a(z) {1} szektorban -requirement.core = Pusztítsd el az ellenséges Támaszpontot a(z) {0} szektorban +requirement.wave = Juss el a(z) {0}. hullámig a(z) {1} szektorban +requirement.core = Pusztítsd el az ellenséges támaszpontot a(z) {0} szektorban requirement.research = Fejleszd ki: {0} requirement.produce = Gyártsd le: {0} requirement.capture = Foglald el a(z) {0} szektort -requirement.onplanet = Szektor elfoglalása a(z) {0}-n +requirement.onplanet = Szektor elfoglalása a(z) {0} bolygón requirement.onsector = Landolj a(z) {0} szektorban launch.text = Indítás research.multiplayer = Csak a kiszolgáló fedezhet fel nyersanyagokat. @@ -671,10 +671,10 @@ configure = Rakomány szerkesztése objective.research.name = Fejlesztés objective.produce.name = Megszerzés objective.item.name = Nyersanyag megszerzése -objective.coreitem.name = Támaszpont nyersanyag -objective.buildcount.name = Építés számláló -objective.unitcount.name = Egység számláló -objective.destroyunits.name = Egység megsemmisítése +objective.coreitem.name = Támaszpont nyersanyaga +objective.buildcount.name = Építésszámláló +objective.unitcount.name = Egységszámláló +objective.destroyunits.name = Egységek megsemmisítése objective.timer.name = Időzítő objective.destroyblock.name = Blokk megsemmisítése objective.destroyblocks.name = Blokkok megsemmisítése @@ -697,18 +697,18 @@ objective.produce = [accent]Termelj:\n[]{0}[lightgray]{1} objective.destroyblock = [accent]Semmisítsd meg:\n[]{0}[lightgray]{1} objective.destroyblocks = [accent]Semmisítsd meg: [lightgray]{0}[white]/{1}\n{2}[lightgray]{3} objective.item = [accent]Termelj: [][lightgray]{0}[]/{1}\n{2}[lightgray]{3} -objective.coreitem = [accent]Szállítás a Támaszpontba:\n[][lightgray]{0}[]/{1}\n{2}[lightgray]{3} -objective.build = [accent]Építs: [][lightgray]{0}[]db\n{1}[lightgray]{2} -objective.buildunit = [accent]Gyárts egységeket: [][lightgray]{0}[]db\n{1}[lightgray]{2} -objective.destroyunits = [accent]Semmisíts meg: [][lightgray]{0}[]db Egységet +objective.coreitem = [accent]Szállítás a támaszpontba:\n[][lightgray]{0}[]/{1}\n{2}[lightgray]{3} +objective.build = [accent]Építs: [][lightgray]{0}[]\n{1}[lightgray]{2} +objective.buildunit = [accent]Gyárts egységeket: [][lightgray]{0}[]\n{1}[lightgray]{2} +objective.destroyunits = [accent]Semmisíts meg: [][lightgray]{0}[] egységet objective.enemiesapproaching = [accent]Ellenség érkezik: [lightgray]{0}[] mp múlva objective.enemyescelating = [accent]Az ellenséges gyártás fokozódik: [lightgray]{0}[] mp múlva objective.enemyairunits = [accent]Az ellenséges légi egységek gyártása elkezdődik: [lightgray]{0}[] mp múlva -objective.destroycore = [accent]Semmisítsd meg az ellenséges Támaszpontot +objective.destroycore = [accent]Semmisítsd meg az ellenséges támaszpontot objective.command = [accent]Irányítsd az egységeket objective.nuclearlaunch = [accent]⚠ Nukleáris kilövés észlelve: [lightgray]{0} -announce.nuclearstrike = [red]⚠ BEÉRKEZŐ NUKLEÁRIS CSAPÁS ⚠\n[lightgray]Azonnal építs tartalék Támaszpontokat! +announce.nuclearstrike = [red]⚠ BEÉRKEZŐ NUKLEÁRIS CSAPÁS ⚠\n[lightgray]Azonnal építs tartalék támaszpontokat! loadout = Rakomány resources = Nyersanyagok @@ -717,10 +717,10 @@ bannedblocks = Tiltott épületek objectives = Feladatok bannedunits = Tiltott egységek bannedunits.whitelist = Tiltott egységek fehérlistára -bannedblocks.whitelist = Tiltott épületek fehérlistára +bannedblocks.whitelist = Tiltott blokkok fehérlistára addall = Összes hozzáadása launch.from = Indítás a(z) [accent]{0} szektorból -launch.capacity = Nyersanyag kapacitás az indításhoz: [accent]{0} +launch.capacity = Nyersanyag-kapacitás az indításkor: [accent]{0} launch.destination = Úticél: {0} configure.invalid = A mennyiségnek 0 és {0} között kell lennie. add = Hozzáadás... @@ -729,13 +729,13 @@ guardian = Őrző connectfail = [scarlet]Kapcsolódási hiba:\n\n[accent]{0} error.unreachable = A kiszolgálót nem lehet elérni.\nBiztosan jól írtad be a címet? error.invalidaddress = Érvénytelen cím. -error.timedout = Időtúllépés!\nGyőződj meg róla, hogy a "porttovábbítás" be van kapcsolva a kiszolgáló gépen és a cím helyes! -error.mismatch = Csomaghiba:\nLehetséges kliens/kiszolgáló verzió eltérés.\nGyőződj meg róla, hogy te és a kiszolgáló is a Mindustry legfrissebb verzióját használjátok! +error.timedout = Időtúllépés!\nGyőződj meg róla, hogy a porttovábbítás be van kapcsolva a kiszolgálógépen, és a cím helyes! +error.mismatch = Csomaghiba:\nLehetséges kliens- vagy kiszolgálóverzió-eltérés.\nGyőződj meg róla, hogy te és a kiszolgáló is a Mindustry legfrissebb verzióját használjátok! error.alreadyconnected = Már kapcsolódva vagy. -error.mapnotfound = A pálya fájl nem található! +error.mapnotfound = A pályafájl nem található! error.io = Internet I/O hiba. -error.any = Ismeretlen internet hiba. -error.bloom = Nem sikerült inicializálni a bloom-ot.\nElőfordulhat, hogy a készülék nem támogatja. +error.any = Ismeretlen hálózati hiba. +error.bloom = A bloom hatás előkészítése nem sikerült.\nElőfordulhat, hogy az eszköz nem támogatja. weather.rain.name = Eső weather.snow.name = Hóesés @@ -743,8 +743,8 @@ weather.sandstorm.name = Homokvihar weather.sporestorm.name = Spóravihar weather.fog.name = Köd -campaign.playtime = \uf129 [lightgray]Szektor Játékidő: {0} -campaign.complete = [accent]Gratuláció.\n\nAz ellenség a(z) {0}-n legyőzve.\n[lightgray]Az utolsó szektor meghódítása megtörtént. +campaign.playtime =  [lightgray]Játékidő a szektorban: {0} +campaign.complete = [accent]Gratulálunk.\n\nAz ellenség legyőzve a(z) {0} bolygón.\n[lightgray]Az utolsó szektor meghódítása megtörtént. sectorlist = Szektorok sectorlist.attacked = {0} támadás alatt @@ -753,10 +753,10 @@ sectors.resources = Nyersanyagok: sectors.production = Termelés: sectors.export = Export: sectors.import = Import: -sectors.time = A szektorban eltöltött idő: +sectors.time = Idő: sectors.threat = Fenyegetés: sectors.wave = Hullám: -sectors.stored = Eltárolt nyersanyagok: +sectors.stored = Tárolt nyersanyagok: sectors.resume = Folytatás sectors.launch = Indítás sectors.select = Kiválasztás @@ -764,12 +764,12 @@ sectors.nonelaunch = [lightgray]semmi (nap) sectors.rename = Szektor átnevezése sectors.enemybase = [scarlet]Ellenséges bázis sectors.vulnerable = [scarlet]Sebezhető -sectors.underattack = [scarlet]Támadás alatt! [accent]{0}% sérült +sectors.underattack = [scarlet]Támadás alatt! [accent]{0}%-ban sérült sectors.underattack.nodamage = [scarlet]Nincs meghódítva sectors.survives = [accent]Túlél {0} hullámot sectors.go = Utazás -sector.abandon = Elhagy -sector.abandon.confirm = Ennek a szektornak a Támaszpontja(i) önmegsemmisítésre kerülnek.\nFolytatod? +sector.abandon = Elhagyás +sector.abandon.confirm = Ennek a szektornak a támaszpontjai önmegsemmisítésre kerülnek.\nFolytatod? sector.curcapture = A szektor elfoglalva sector.curlost = A szektor elveszett sector.missingresources = [scarlet]Nincs elég nyersanyag @@ -779,7 +779,7 @@ sector.capture = A(z) [accent]{0}[white] szektor elfoglalva! sector.capture.current = A szektor elfoglalva! sector.changeicon = Ikon módosítása sector.noswitch.title = A szektorváltás nem lehetséges -sector.noswitch = Nem válthatsz szektort, amíg egy meglévő szektor támadás alatt áll.\n\nSzektor: [accent]{0}[] a(z) [accent]{1}[]-n +sector.noswitch = Nem válthatsz szektort, amíg egy meglévő szektor támadás alatt áll.\n\nSzektor: [accent]{0}[] a(z) [accent]{1}[] bolygón sector.view = A szektor megtekintése threat.low = Alacsony @@ -794,43 +794,43 @@ planet.serpulo.name = Serpulo planet.erekir.name = Erekir planet.sun.name = Nap -sector.impact0078.name = Ütközet 0078 -sector.groundZero.name = Becsapódási Pont -sector.craters.name = A Kráterek -sector.frozenForest.name = Fagyott Erdő -sector.ruinousShores.name = Romos Partok -sector.stainedMountains.name = Foltos Hegyek -sector.desolateRift.name = Kietlen Hasadék -sector.nuclearComplex.name = Nukleáris Termelési Komplexum -sector.overgrowth.name = Túlburjánzott +sector.impact0078.name = 0078-as becsapódás +sector.groundZero.name = Becsapódási pont +sector.craters.name = A kráterek +sector.frozenForest.name = Fagyott erdő +sector.ruinousShores.name = Romos partok +sector.stainedMountains.name = Foltos hegyek +sector.desolateRift.name = Kietlen hasadék +sector.nuclearComplex.name = Nukleáris termelési komplexum +sector.overgrowth.name = Túlburjánzás sector.tarFields.name = Kátránymezők -sector.saltFlats.name = Sós Síkságok +sector.saltFlats.name = Sós síkságok sector.fungalPass.name = Gombahágó -sector.biomassFacility.name = Biomassza Szintézis Létesítmény -sector.windsweptIslands.name = Szélfútta Szigetek -sector.extractionOutpost.name = Kivonási Pont -sector.planetaryTerminal.name = Bolygó Körüli Indító Terminál +sector.biomassFacility.name = Biomassza szintetizáló létesítmény +sector.windsweptIslands.name = Szélfútta szigetek +sector.extractionOutpost.name = Kivonási helyőrség +sector.planetaryTerminal.name = Bolygó körüli indítóterminál sector.coastline.name = Partvonal -sector.navalFortress.name = Tengerészeti Erőd +sector.navalFortress.name = Tengerészeti erőd -sector.groundZero.description = Az ideális helyszín, hogy ismét belekezdjünk. Alacsony ellenséges fenyegetés. Némi nyersanyag.\nGyűjts annyi Rezet és Ólmot, amennyit csak tudsz.\nHaladj tovább. -sector.frozenForest.description = Még itt, a hegyekhez közel is elterjedtek a spórák. A fagypont alatti hőmérséklet nem tudja örökké fogva tartani őket.\n\nFedezd fel az elektromosság erejét! Építs Belső Égetésű Erőművet! Használj Foltozót! -sector.saltFlats.description = A sivatag peremén terül el a Sós Síkságok néven ismert síkság. Kevés nyersanyag található errefelé.\n\nAz ellenség egy raktárkomplexumot létesített itt. Pusztítsd el a Támaszpontot! Kő kövön ne maradjon! -sector.craters.description = Régen háborúk folytak ezen a helyen és csak egy kráter maradt utánuk. Szerencsédre a kráter évezredek alatt feltöltődött Vízzel így letudod hűteni vele a Fúróidat és Lövegeidet. Persze előtte használd a Homokot, hogy legyen üveged! -sector.ruinousShores.description = A romokon túl fekszik a vízpart. Egykor itt állt egy parti védelmi vonal. Mára nem sok maradt belőle. Csak a legegyszerűbb védelmi épületek maradtak sértetlenek, minden más csak törmelékként van jelen.\nFolytasd a terjeszkedést! Fedezd fel a régi technológiákat! -sector.stainedMountains.description = Mélyebben benn a szárazföldön fekszenek a hegyek, a spóráktól még érintetlenül.\nTermeld ki a bőséges Titán készleteket a körzetben. Tanuld meg felhasználni!.\n\nAz ellenség itt nagyobb létszámban van jelen. Ne hagyj nekik időt, hogy a legerősebb egységeiket hadba állíthassák! +sector.groundZero.description = Az ideális helyszín, hogy ismét belekezdjünk. Alacsony ellenséges fenyegetés. Kevés nyersanyag.\nGyűjts annyi rezet és ólmot, amennyit csak tudsz.\nHaladj tovább. +sector.frozenForest.description = Még itt, a hegyekhez közel is elterjedtek a spórák. A fagypont alatti hőmérséklet nem tudja örökké fogva tartani őket.\n\nFedezd fel az elektromosság erejét! Építs égetőerőműveket! Tanuld meg a foltozók használatát! +sector.saltFlats.description = A sivatag peremén terülnek el a Sós síkságok. Kevés nyersanyag található errefelé.\n\nAz ellenség egy raktárkomplexumot létesített itt. Pusztítsd el a támaszpontjukat! Kő kövön ne maradjon! +sector.craters.description = Víz gyűjt össze ebben a kráterben, amely régi háborúk emlékét őrzi. Szerezd vissza a területet. Gyűjts homokot! Olvassz üveget! Pumpálj vizet, hogy lehűtsd a fúróidat és lövegtornyaidat. +sector.ruinousShores.description = A pusztaság mögött a partvonal húzódik. Valaha ezen a helyen egy partvédelmi rendszer állt. Nem sok minden maradt belőle. Csak a legalapvetőbb védelmi szerkezetek maradtak érintetlenül, minden más csak törmelék lett.\nFolytasd a terjeszkedést! Fedezd fel újra a technológiát! +sector.stainedMountains.description = Mélyebben a szárazföldön fekszenek a hegyek, a spóráktól még érintetlenül.\nTermeld ki a bőséges titán készleteket a körzetben. Tanuld meg felhasználni!.\n\nAz ellenség itt nagyobb létszámban van jelen. Ne hagyj nekik időt, hogy a legerősebb egységeiket hadba állíthassák! sector.overgrowth.description = Ez a terület közelebb esik a spórák forrásához, a spórák már kinőtték.\nAz ellenség egy helyőrséget létesített itt. Építs Mace egységeket! Pusztítsd el a bázist! -sector.tarFields.description = Egy Olajtermelő övezet peremvidéke a hegyek és a sivatag között. Egy azon kevés szektorok közül, ahol még hasznosítható kátránykészletek találhatóak.\nBár a terület elhagyatott, veszélyes ellenséges erők fészkelnek a közelben. Ne becsüld alá őket!\n\n[lightgray]Fedezd fel az Olajfeldolgozási lehetőségeket, ha tudod! -sector.desolateRift.description = Egy extrém veszélyes zóna. Nyersanyagokban gazdag, de szűkös a hely. Magas kockázat. Hagyd el, amint lehet! Ne tévesszen meg a hosszú szünet az ellenség támadásai között! -sector.nuclearComplex.description = Egy néhai létesítmény a Tórium kitermelésére és feldolgozására, romokban.\n[lightgray]Fedezd fel a Tóriumot és sokrétű felhasználását!\n\nAz ellenség nagy létszámban van jelen, és folyamatosan megfigyelés alatt tartják a környéket. -sector.fungalPass.description = Átmenet a magas hegyek és a mélyebben fekvő, spórák uralta lapály között. Egy kisebb ellenséges megfigyelő állomás található itt.\nSemmisítsd meg!\nHasználj Dagger és Crawler egységeket! Pusztítsd el a két Támaszpontot! -sector.biomassFacility.description = A Spórák származási helye. Ebben a létesítményben fejlesztették ki őket és eredetileg itt került sor a gyártásukra.\nFedezd fel az itt található technológiákat! Használd a Spóra Kapszulákat üzemanyag- és Műanyagok gyártására!\n\n[lightgray]A létesítmény pusztulása nyomán a spórák elszabadultak és szétszóródtak a légkörben. A helyi ökoszisztémában semmi sem tudta felvenni a versenyt egy ennyire invazív életformával. -sector.windsweptIslands.description = Távolabb a partvonalon túl fekszik ez az elszigetelt szigetcsoport. A feljegyzések szerint egykor [accent]Műanyag[] gyártása zajlott itt.\n\nVerd vissza az ellenség vízi egységeit! Állíts fel egy bázist a szigeteken! Fedezd fel az itt talált gyárakat! -sector.extractionOutpost.description = Egy távoli ellenséges támaszpont, amelyet az ellenség azért épített, hogy nyersanyagokat juttasson el más szektorokba.\n\nA szektorok közötti szállítási technológia elengedhetetlen a további hódításhoz. Pusztítsd el a bázist. Fejleszd ki a Kilövő Állást. -sector.impact0078.description = Itt fekszenek a roncsai az első csillagközi űrhajónak, amely ebbe a csillagrendszerbe érkezett.\n\nMents ki a romok alól mindent amit csak tudsz! Fedezd fel az épen maradt technológiákat. -sector.planetaryTerminal.description = A végső célpont.\n\nEzen a vízparti bázison található egy olyan építmény, amely képes Támaszpontokat kilőni a közeli bolygókra. Folyamatosan őrzik.\n\nKészíts vízi egységeket! Ártalmatlanítsd az ellenséget amilyen gyorsan csak tudod! Találd meg a kilövőszerkezetet! +sector.tarFields.description = Egy olajtermelő övezet peremvidéke a hegyek és a sivatag között. Egy azon kevés szektorok közül, ahol még hasznosítható kátránykészletek találhatók.\nBár a terület elhagyatott, veszélyes ellenséges erők fészkelnek a közelben. Ne becsüld alá őket!\n\n[lightgray]Fedezd fel az olajfeldolgozási lehetőségeket, ha tudod! +sector.desolateRift.description = Egy extrém veszélyes zóna. Nyersanyagokban gazdag, de szűkös a hely. Magas a kockázat. Építsd szárazföldi és légvédelmet, amint csak tudsz. Ne tévesszen meg a hosszú szünet az ellenség támadásai között. +sector.nuclearComplex.description = Egy néhai tóriumkitermelő és feldolgozó létesítmény, romokban.\n[lightgray]Fedezd fel a tóriumot és a sokrétű felhasználását!\n\nAz ellenség nagy létszámban van jelen, és folyamatosan megfigyelés alatt tartják a környéket. +sector.fungalPass.description = Átmeneti terület a magas hegyek és a mélyebben fekvő, spórák uralta lapály között. Egy kisebb ellenséges megfigyelő állomás található itt.\nSemmisítsd meg!\nHasználj Dagger és Crawler egységeket! Pusztítsd el a két támaszpontot! +sector.biomassFacility.description = A spórák származási helye. Ebben a létesítményben fejlesztették ki őket, és eredetileg itt is gyártották őket.\nFedezd fel az itt található technológiákat. Tenyészd ki a spórákat üzemanyag és műanyagok gyártásához.\n\n[lightgray]A létesítmény pusztulása nyomán a spórák elszabadultak és szétszóródtak a légkörben. A helyi ökoszisztémában semmi sem tudta felvenni a versenyt egy ennyire invazív életformával. +sector.windsweptIslands.description = Távolabb, a partvonalon túl fekszik ez az elszigetelt szigetcsoport. A feljegyzések szerint egykor [accent]műanyagot[] gyártottak itt.\n\nVerd vissza az ellenség vízi egységeit! Állíts fel egy bázist a szigeteken! Fedezd fel az itt talált gyárakat! +sector.extractionOutpost.description = Egy távoli ellenséges támaszpont, amelyet az ellenség azért épített, hogy nyersanyagokat juttasson el más szektorokba.\n\nA szektorok közötti szállítási technológia elengedhetetlen a további hódításhoz. Pusztítsd el a bázist. Fejleszd ki a kilövőállást. +sector.impact0078.description = Itt nyugszanak az ebbe a csillagrendszerbe érkező első csillagközi űrhajó maradványai.\n\nMents ki a romok alól mindent amit csak tudsz. Fedezd fel az épen maradt technológiákat. +sector.planetaryTerminal.description = A végső célpont.\n\nEzen a vízparti bázison egy olyan építmény található, amely képes támaszpontokat kilőni a közeli bolygókra. Rendkívül jól őrzik.\n\nKészíts vízi egységeket! Ártalmatlanítsd az ellenséget, amilyen gyorsan csak tudod! Találd meg a kilövőszerkezetet! sector.coastline.description = Ezen a helyen egy haditengerészeti egység technológiájának maradványait azonosították. Verd vissza az ellenséges támadásokat, foglald el ezt a szektort, és szerezd meg a technológiát. -sector.navalFortress.description = Az ellenség bázist létesített egy távoli, természetesen-megerősített szigeten. Pusztítsd el ezt az előőrsöt. Szerezd meg a fejlett hadihajó-technológiájukat, és fejleszd ki te is. +sector.navalFortress.description = Az ellenség bázist létesített egy távoli, természetes erődítményes szigeten. Pusztítsd el ezt az előőrsöt. Szerezd meg a fejlett hadihajó-technológiájukat, és fejleszd ki te is. sector.onset.name = A Kezdet sector.aegis.name = Égisz @@ -851,31 +851,31 @@ sector.karst.name = Karszt sector.origin.name = Eredet sector.onset.description = Kezdd meg az Erekir meghódítását. Gyűjts nyersanyagokat, állíts elő egységeket, és kezdd el a technológiai fejlesztéseket. -sector.aegis.description = Ez a szektor Volfrám lelőhelyeket tartalmaz.\nFejleszd ki az [accent]Ütvefúró[]t, hogy ki tudd bányászni ezt a nyersanyagot és elpusztítani az ellenséges bázist a szektorban. -sector.lake.description = Az Ebben a szektorban lévő Salakos tó nagymértékben korlátozza az ütőképes egységek használatát. A lebegőegységek használata az egyetlen lehetőség.\nFejleszd ki a [accent]Repülőgép Gyár[]at és állíts elő egy [accent]Elude[] egységet, amilyen hamar csak lehet. +sector.aegis.description = Ez a szektor volfrám-lelőhelyeket tartalmaz.\nFejleszd ki az [accent]Ütvefúrót[], hogy ki tudd bányászni ezt a nyersanyagot, és pusztítsd el az ellenséges bázist a szektorban. +sector.lake.description = Az ebben a szektorban lévő salakos tó nagymértékben korlátozza a használható egységeket. A lebegőegységek használata az egyetlen lehetőség.\nFejleszd ki a [accent]Repülőgépgyárat[], és állíts elő egy [accent]Elude[] egységet, amilyen hamar csak lehet. sector.intersect.description = A letapogatások arra utalnak, hogy ezt a szektort a leszállás után hamarosan több oldalról is megtámadják.\nÁllítsd fel gyorsan a védelmedet, és terjeszkedj minél hamarabb.\n[accent]Mech[] egységekre lesz szükség a terület zord terepviszonyai miatt. -sector.atlas.description = Ez a szektor változatos terepet tartalmaz, és az ütőképes támadáshoz többféle egységre lesz szükség.\nAz itt felfedezett ellenséges bázisok némelyikén való átjutáshoz is szükség lehet továbbfejlesztett egységekre.\nFejleszd ki az [accent]Elektrolizátor[]t és a [accent]Tank Újratervező[]t. +sector.atlas.description = Ez a szektor változatos terepet tartalmaz, és az ütőképes támadáshoz többféle egységre lesz szükség.\nAz itt felfedezett ellenséges bázisok némelyikén való átjutáshoz is továbbfejlesztett egységekre lehet szükség.\nFejleszd ki az [accent]Elektrolizátort[] és a [accent]Tank újratervezőt[]. sector.split.description = A minimális ellenséges jelenlét miatt ez a szektor tökéletes az új nyersanyagszállító technológiák tesztelésére. -sector.basin.description = Jelentős ellenséges jelenlét lett érzékelve ebben a szektorban.\nÉpíts gyorsan egységeket, és foglalj el ellenséges Támaszpontokat, hogy megvethesd a lábad. -sector.marsh.description = Ebben a szektorban rengeteg Arkycit található, de kevés a Víznyelő.\nÉpíts [accent]Kémiai Égető Kamrá[]t az áramfejlesztéshez. +sector.basin.description = Jelentős ellenséges jelenlét lett érzékelve ebben a szektorban.\nÉpíts gyorsan egységeket, és foglald el az ellenséges támaszpontokat, hogy megvethesd a lábad. +sector.marsh.description = Ebben a szektorban rengeteg arkicit található, de kevés a kürtő.\nÉpíts [accent]Kémiai égetőkamrát[] az áramfejlesztéshez. sector.peaks.description = A hegyvidéki terep ebben a szektorban a legtöbb egységet használhatatlanná teszi. Repülő egységekre lesz szükség.\nVigyázz az ellenséges légvédelmi létesítményekkel. Lehetséges, hogy az ilyen létesítményeket hatástalanítani lehet a támogató épületeik célba vételével. -sector.ravine.description = A szektorban nincs észlelve ellenséges Támaszpont, bár ez egy fontos szállítási útvonal az ellenség számára. Várhatóan változatos ellenséges erőkkel kell számolni. Gyárts [accent]Elektrometál[]t. Építs [accent]Afflict[] lövegtornyokat. +sector.ravine.description = A szektorban nem észlelhető ellenséges támaszpont, de ez egy fontos szállítási útvonal az ellenség számára, így változatos ellenséges erőkkel kell számolni.\nTermelj [accent]elektrometált[]. Építs [accent]Afflict[] lövegtornyokat. sector.caldera-erekir.description = Ebben a szektorban a feltárható nyersanyagok több szigeten szétszóródva találhatóak.\nFejleszd ki és helyezd üzembe a drónalapú szállítmányozást. -sector.stronghold.description = A nagy ellenséges tábor ebben a szektorban jelentős [accent]Tórium[] készleteket őriz.\nHasználd magasabb szintű egységek és lövegtornyok fejlesztésére. -sector.crevice.description = Ebben a szektorban az ellenség kegyetlen támadóerőket fog mozgósítani, hogy kiiktassa a bázisodat.\nGyűjts [accent]Karbid[]ot, majd fejleszd ki és építs [accent]Pirolízis Erőmű[]vet, mert lehet, hogy nélkülözhetetlenek lesznek a túléléshez. -sector.siege.description = Ebben a szektorban két párhuzamos kanyon található, amelyek két irányból érkező támadásokat tesznek lehetővé.\nFejleszd ki a [accent]Cianogén[]t, hogy még erősebb tankegységeket hozhass létre.\nVigyázat: Ellenséges, nagy hatótávolságú rakéták észlelve. A rakéták a becsapódásuk előtt megsemmisíthetők. -sector.crossroads.description = Az ellenséges támaszpontok ebben a szektorban változó terepviszonyok között alakultak ki. Ahhoz, hogy alkalmazkodni tudj kutass különböző egységek után.\nEzenkívül egyes bázisokat pajzsok védenek. Találd ki, hogyan táplálják őket. -sector.karst.description = Ez a szektor gazdag a nyersanyagokban, de amint egy új Támaszpont leszáll, az ellenség megtámadja azt.\nHasználd ki a nyersanyagokat és fedezd fel a [accent]Tóritkvarc[]ot. -sector.origin.description = Az utolsó szektor, jelentős ellenséges jelenléttel.\nNem valószínű, hogy maradt további fejlesztési lehetőség - koncentrálj az ellenséges Támaszpontok elpusztítására. +sector.stronghold.description = A nagy ellenséges tábor ebben a szektorban jelentős mennyiségű [accent]tóriumot[] őriz.\nHasználd magasabb szintű egységek és lövegtornyok fejlesztésére. +sector.crevice.description = Ebben a szektorban az ellenség kegyetlen támadóerőket fog mozgósítani, hogy kiiktassa a bázisodat.\nA [accent]karbid[] és a [accent]Pirolízis erőmű[] kifejlesztése nélkülözhetetlen lehet a túléléshez. +sector.siege.description = Ebben a szektorban két párhuzamos kanyon található, amelyek két irányból érkező támadásokat tesznek lehetővé.\nFejleszd ki a [accent]diciánt[], hogy még erősebb tankegységeket hozhass létre.\nVigyázat: ellenséges, nagy hatótávolságú rakéták észlelve. A rakéták a becsapódásuk előtt megsemmisíthetők. +sector.crossroads.description = Az ellenséges támaszpontok ebben a szektorban változó terepviszonyok között alakultak ki. Ahhoz, hogy alkalmazkodni tudj, fejlessz ki különböző egységeket.\nEzenkívül egyes bázisokat pajzsok védenek. Találd ki, hogyan táplálják őket. +sector.karst.description = Ez a szektor gazdag a nyersanyagokban, de amint egy új támaszpont leszáll, az ellenség megtámadja azt.\nHasználd ki a nyersanyagokat és fedezd fel a [accent]tóritkvarcot[]. +sector.origin.description = Az utolsó szektor, jelentős ellenséges jelenléttel.\nNem valószínű, hogy további fejlesztési lehetőségek maradtak – koncentrálj az ellenséges támaszpontok elpusztítására. status.burning.name = Égő -status.freezing.name = Fagyasztó +status.freezing.name = Fagyos status.wet.name = Nedves status.muddy.name = Sáros status.melting.name = Olvadó status.sapped.name = Kiszáradt status.electrified.name = Elektromos -status.spore-slowed.name = Spóra lassított +status.spore-slowed.name = Spórával lassított status.tarred.name = Kátrányozott status.overdrive.name = Túlhajtás status.overclock.name = Túlhúzás @@ -887,28 +887,28 @@ status.boss.name = Őrző settings.language = Nyelvek settings.data = Játékadatok settings.reset = Alapértelmezett -settings.rebind = Újrakötés -settings.resetKey = Visszaállítás +settings.rebind = Átállítás +settings.resetKey = Vissza-\nállítás settings.controls = Irányítás settings.game = Játék settings.sound = Hangok settings.graphics = Grafika settings.cleardata = Játékadatok törlése... settings.clear.confirm = Biztosan törlöd ezeket az adatokat?\nA műveletet nem lehet visszavonni! -settings.clearall.confirm = [scarlet] FIGYELEM! []\nEz törli az összes adatot, beleértve a mentéseket, pályákat, felfedezéseket és a billentyű beállításokat.\nAz 'OK' gomb megnyomásával a játék minden adatot töröl és automatikusan kilép. +settings.clearall.confirm = [scarlet]FIGYELEM![]\nEz törli az összes adatot, beleértve a mentéseket, pályákat, felfedezéseket és a billentyűbeállításokat.\nAz „OK” gomb megnyomásával a játék minden adatot töröl, és automatikusan kilép. settings.clearsaves.confirm = Biztosan törlöd az összes mentést? settings.clearsaves = Mentések törlése settings.clearresearch = Fejlesztések törlése settings.clearresearch.confirm = Biztosan törlöd az összes fejlesztést? -settings.clearcampaignsaves = Hadjárat mentések törlése -settings.clearcampaignsaves.confirm = Biztosan törlöd az összes hadjárat mentést? -paused = [accent]< Megállítva > +settings.clearcampaignsaves = Hadjáratmentések törlése +settings.clearcampaignsaves.confirm = Biztosan törlöd az összes hadjáratmentést? +paused = [accent]< Szünet > clear = Törlés banned = [scarlet]Kitiltva unsupported.environment = [scarlet]Nem támogatott környezet yes = Igen no = Nem -info.title = Infó +info.title = Információ error.title = [scarlet]Hiba történt error.crashtitle = Hiba történt unit.nobuild = [scarlet]Az egység nem tud építeni @@ -924,9 +924,9 @@ stat.maxefficiency = Maximális hatékonyság stat.booster = Erősítő stat.tiles = Szükséges talaj stat.affinities = Módosító körülmények -stat.opposites = Eltérések +stat.opposites = Ellentettek stat.powercapacity = Maximális tárolási kapacitás -stat.powershot = Áram/Lövés +stat.powershot = Áram/lövés stat.damage = Sebzés stat.targetsair = Repülő célpontok stat.targetsground = Földi célpontok @@ -935,39 +935,39 @@ stat.launchtime = Kilövések közti idő stat.shootrange = Hatótáv stat.size = Méret stat.displaysize = Felbontás -stat.liquidcapacity = Folyadék kapacitás -stat.powerrange = Áram hatótáv -stat.linkrange = Kapcsolat hatótáv -stat.instructions = Instrukciók -stat.powerconnections = Maximális kapcsolat +stat.liquidcapacity = Folyadékkapacitás +stat.powerrange = Áram hatótávja +stat.linkrange = Kapcsolat hatótávja +stat.instructions = Utasítások +stat.powerconnections = Max. kapcsolatok stat.poweruse = Áramhasználat -stat.powerdamage = Áram/Sebzés -stat.itemcapacity = Nyersanyag kapacitás -stat.memorycapacity = Memória méret +stat.powerdamage = Áram/sebzés +stat.itemcapacity = Nyersanyag-kapacitás +stat.memorycapacity = Memóriakapacitás stat.basepowergeneration = Alap áramtermelés stat.productiontime = Gyártási idő stat.repairtime = Teljes javítási idő stat.repairspeed = Javítási sebesség stat.weapons = Fegyverek -stat.bullet = Töltény +stat.bullet = Lövedék stat.moduletier = Modul szintje -stat.unittype = Egység típus +stat.unittype = Egység típusa stat.speedincrease = Gyorsítás stat.range = Hatótáv -stat.drilltier = Kitermelhető +stat.drilltier = Kitermelhetők stat.drillspeed = Alap termelési sebesség stat.boosteffect = Erősítés hatása -stat.maxunits = Maximális aktív egység +stat.maxunits = Max. aktív egységek stat.health = Életpontok stat.armor = Páncél stat.buildtime = Építési időtartam -stat.maxconsecutive = Maximum egymást követő +stat.maxconsecutive = Max. egymást követő stat.buildcost = Építési költség stat.inaccuracy = Pontatlanság stat.shots = Lövések stat.reload = Tüzelési sebesség stat.ammo = Lőszer -stat.shieldhealth = Pajzs élete +stat.shieldhealth = Pajzs életereje stat.cooldowntime = Újratöltés időtartama stat.explosiveness = Robbanékonyság stat.basedeflectchance = Alap hárítási esély @@ -983,35 +983,35 @@ stat.speed = Sebesség stat.buildspeed = Építési sebesség stat.minespeed = Termelési sebesség stat.minetier = Termelési szint -stat.payloadcapacity = Rakomány kapacitás +stat.payloadcapacity = Rakománykapacitás stat.abilities = Képességek stat.canboost = Erősíthető stat.flying = Repül -stat.ammouse = Lőszer használat -stat.damagemultiplier = Sebzés szorzó -stat.healthmultiplier = Életerő szorzó -stat.speedmultiplier = Sebesség szorzó -stat.reloadmultiplier = Újratöltés szorzó -stat.buildspeedmultiplier = Építési sebesség szorzó +stat.ammouse = Lőszerhasználat +stat.damagemultiplier = Sebzésszorzó +stat.healthmultiplier = Életerőszorzó +stat.speedmultiplier = Sebességszorzó +stat.reloadmultiplier = Újratöltési szorzó +stat.buildspeedmultiplier = Építési sebességszorzó stat.reactive = Reakciók stat.immunities = Immunitások stat.healing = Gyógyulás ability.forcefield = Erőtér ability.repairfield = Javító mező -ability.statusfield = Állapot mező +ability.statusfield = Állapotmező ability.unitspawn = Gyár -ability.shieldregenfield = Pajzs regeneráló mező +ability.shieldregenfield = Pajzsregeneráló mező ability.movelightning = Villámcsapás ability.shieldarc = Pajzs ív -ability.suppressionfield = Javítás elnyomás -ability.energyfield = Energia mező +ability.suppressionfield = Javítás elnyomása +ability.energyfield = Energiamező ability.energyfield.sametypehealmultiplier = [lightgray]Azonos típusú gyógyítás: [white]{0}% ability.energyfield.maxtargets = [lightgray]Célpontok maximális száma: [white]{0} ability.regen = Regeneráció -bar.onlycoredeposit = Csak a Támaszpont elhelyezése megengedett -bar.drilltierreq = Erősebb Fúró/Vágó szükséges +bar.onlycoredeposit = Csak a támaszpont elhelyezése megengedett +bar.drilltierreq = Erősebb fúró szükséges bar.noresources = Hiányzó nyersanyagok bar.corereq = Támaszpont szükséges bar.corefloor = Támaszpont zónacsempe szükséges @@ -1036,42 +1036,42 @@ bar.heatpercent = Hő: {0} ({1}%) bar.power = Áram bar.progress = Építés állapota bar.loadprogress = Állapot -bar.launchcooldown = Lehűlés indítása +bar.launchcooldown = Kilövés visszaszámlálása bar.input = Bemenet bar.output = Kimenet bar.strength = [stat]{0}[lightgray]x erő -units.processorcontrol = [lightgray]Processzor vezérelt +units.processorcontrol = [lightgray]Processzorvezérelt bullet.damage = [stat]{0}[lightgray] sebzés bullet.splashdamage = [stat]{0}[lightgray] területi sebzés ~[stat] {1}[lightgray] csempe bullet.incendiary = [stat]gyújtó bullet.homing = [stat]nyomkövető bullet.armorpierce = [stat]páncéltörő -bullet.maxdamagefraction = [stat]{0}%[lightgray] sebzés határérték -bullet.suppression = [stat]{0} mp[lightgray] javítás elnyomás ~ [stat]{1}[lightgray] csempe -bullet.interval = [stat]{0}/mp[lightgray] időszakos töltény(ek): -bullet.frags = [stat]{0}[lightgray]x repesz lövedék(ek): -bullet.lightning = [stat]{0}[lightgray]x villámcsapás ~ [stat]{1}[lightgray] sebzés -bullet.buildingdamage = [stat]{0}%[lightgray] épület sebzés +bullet.maxdamagefraction = [stat]{0}%[lightgray] sebzési határérték +bullet.suppression = [stat]{0} mp[lightgray] javításelnyomás ~[stat]{1}[lightgray] csempe +bullet.interval = [stat]{0}/mp[lightgray] lövedékek időköze: +bullet.frags = [stat]{0}[lightgray]x repeszlövedék: +bullet.lightning = [stat]{0}[lightgray]x villámcsapás ~[stat]{1}[lightgray] sebzés +bullet.buildingdamage = [stat]{0}%[lightgray] épületsebzés bullet.knockback = [stat]{0}[lightgray] hátralökés bullet.pierce = [stat]{0}[lightgray]x átütő erő bullet.infinitepierce = [stat]átütő erő -bullet.healpercent = [stat]{0}[lightgray]% gyógyító -bullet.healamount = [stat]{0}[lightgray] közvetlen javító -bullet.multiplier = [stat]{0}[lightgray]x lövedék szorzó -bullet.reload = [stat]{0}[lightgray]x tüzelési sebesség -bullet.range = [stat]{0}[lightgray] csempe tartomány +bullet.healpercent = [stat]{0}%[lightgray] javítás +bullet.healamount = [stat]{0}[lightgray] közvetlen javítás +bullet.multiplier = [stat]{0}[lightgray]x lőszerszorzó +bullet.reload = [stat]{0}%[lightgray] tüzelési sebesség +bullet.range = [stat]{0}[lightgray] csempés hatótáv -unit.blocks = csempe +unit.blocks = blokk unit.blockssquared = blokk² -unit.powersecond = áram egység/mp +unit.powersecond = áramegység/mp unit.tilessecond = csempe/mp -unit.liquidsecond = folyadék egység/mp +unit.liquidsecond = folyadékegység/mp unit.itemssecond = nyersanyag/mp -unit.liquidunits = folyadék egység -unit.powerunits = áram egység -unit.heatunits = hő egység +unit.liquidunits = folyadékegység +unit.powerunits = áramegység +unit.heatunits = hőegység unit.degrees = fok unit.seconds = másodperc unit.minutes = perc @@ -1079,10 +1079,10 @@ unit.persecond = /mp unit.perminute = /perc unit.timesspeed = x sebesség unit.percent = % -unit.shieldhealth = pajzs állapot +unit.shieldhealth = pajzs életereje unit.items = nyersanyag unit.thousands = k -unit.millions = Mil +unit.millions = mil unit.billions = Mrd unit.pershot = /lövés category.purpose = Cél @@ -1090,33 +1090,33 @@ category.general = Általános category.power = Áram category.liquids = Folyadékok category.items = Nyersanyagok -category.crafting = Bemenet/Kimenet +category.crafting = Bemenet/kimenet category.function = Funkció -category.optional = Lehetséges erősítés -setting.skipcoreanimation.name = Támaszpont indítás/leszállás animáció kihagyása +category.optional = Lehetséges fejlesztések +setting.skipcoreanimation.name = Támaszpont indítási/leszállási animáció kihagyása setting.landscape.name = Fekvő mód zárolása setting.shadows.name = Árnyékok -setting.blockreplace.name = Automatikus blokk javaslatok +setting.blockreplace.name = Automatikus blokkjavaslatok setting.linear.name = Lineáris szűrés setting.hints.name = Tanácsok setting.logichints.name = Logikai tanácsok setting.backgroundpause.name = Szüneteltetés a háttérben setting.buildautopause.name = Automatikus szünet építéskor setting.doubletapmine.name = Bányászás dupla kattintással/koppintással -setting.commandmodehold.name = Tartsd lenyomva a parancs módhoz -setting.distinctcontrolgroups.name = Egységenként legfeljebb egy ellenőrző csoport -setting.modcrashdisable.name = Modok letiltása indítási összeomláskor +setting.commandmodehold.name = Lenyomva tartás a parancs módhoz +setting.distinctcontrolgroups.name = Egységenként legfeljebb egy vezérlőcsoport +setting.modcrashdisable.name = Modok letiltása indításkori összeomláskor setting.animatedwater.name = Animált felületek setting.animatedshields.name = Animált pajzsok -setting.playerindicators.name = Játékos mutató -setting.indicators.name = Ellenség mutató +setting.playerindicators.name = Játékosjelzők +setting.indicators.name = Ellenségjelzők setting.autotarget.name = Automatikus célzás setting.keyboard.name = Irányítás egérrel és billentyűzettel setting.touchscreen.name = Irányítás érintőképernyővel -setting.fpscap.name = Max FPS +setting.fpscap.name = FPS-korlát setting.fpscap.none = Nincs setting.fpscap.text = {0} FPS -setting.uiscale.name = UI méretezése +setting.uiscale.name = Felület méretezése setting.uiscale.description = A módosítások alkalmazásához újraindítás szükséges. setting.swapdiagonal.name = Mindig átlós elhelyezés setting.difficulty.training = Kiképzés @@ -1126,78 +1126,78 @@ setting.difficulty.hard = Nehéz setting.difficulty.insane = Őrült setting.difficulty.name = Nehézség: setting.screenshake.name = Képernyő rázkódása -setting.bloomintensity.name = Bloom intenzitás -setting.bloomblur.name = Bloom Blur +setting.bloomintensity.name = Bloom intenzitása +setting.bloomblur.name = Bloom elmosása setting.effects.name = Hatások megjelenítése -setting.destroyedblocks.name = Elpusztított épületek megjelenítése -setting.blockstatus.name = Épületek állapotának megjelenítése -setting.conveyorpathfinding.name = Szállítószalag útvonalkeresés építéskor -setting.sensitivity.name = Kontroller érzékenység +setting.destroyedblocks.name = Elpusztított blokkok megjelenítése +setting.blockstatus.name = Blokkok állapotának megjelenítése +setting.conveyorpathfinding.name = Szállítószalag útvonalkeresése építéskor +setting.sensitivity.name = Kontroller érzékenysége setting.saveinterval.name = Mentési időköz setting.seconds = {0} másodperc setting.milliseconds = {0} ezredmásodperc setting.fullscreen.name = Teljes képernyő setting.borderlesswindow.name = Keret nélküli ablak setting.borderlesswindow.name.windows = Keret nélküli teljes képernyő -setting.borderlesswindow.description = A változások alkalmazásához újraindításra lehet szükség. -setting.fps.name = FPS, memória használat és ping megjelenítése +setting.borderlesswindow.description = A változtatások érvénybe lépéséhez újraindításra lehet szükség. +setting.fps.name = FPS, memóriahasználat és ping megjelenítése setting.console.name = Konzol engedélyezése setting.smoothcamera.name = Egyenletes kamera setting.vsync.name = VSync -setting.pixelate.name = Pixeles +setting.pixelate.name = Pixelesítés setting.minimap.name = Minitérkép megjelenítése -setting.coreitems.name = A Támaszpontban lévő nyersanyagok megjelenítése -setting.position.name = A játékos pozíciójának megjelenítése +setting.coreitems.name = Támaszpontban lévő nyersanyagok megjelenítése +setting.position.name = Játékos pozíciójának megjelenítése setting.mouseposition.name = Egér pozíciójának megjelenítése -setting.musicvol.name = Zene hangerő -setting.atmosphere.name = Bolygó atmoszféra megjelenítése +setting.musicvol.name = Zene hangereje +setting.atmosphere.name = Bolygóatmoszféra megjelenítése setting.drawlight.name = Sötét/világos fényhatások setting.ambientvol.name = Környezeti hangerő setting.mutemusic.name = Zene némítása -setting.sfxvol.name = SFX hangerő +setting.sfxvol.name = Hanghatások hangereje setting.mutesound.name = Hang némítása setting.crashreport.name = Névtelen összeomlási jelentések setting.savecreate.name = Automatikus mentés setting.steampublichost.name = Nyilvános játék láthatósága -setting.playerlimit.name = Játékos limit +setting.playerlimit.name = Játékoskorlát setting.chatopacity.name = Csevegő átlátszatlansága setting.lasersopacity.name = Villanyvezeték átlátszatlansága setting.bridgeopacity.name = Híd átlátszatlansága -setting.playerchat.name = Játékos szóbuborékok megjelenítése -setting.showweather.name = Időjárás grafika megjelenítése +setting.playerchat.name = Játékosok csevegőbuborékainak megjelenítése +setting.showweather.name = Időjárásgrafika megjelenítése setting.hidedisplays.name = Logikai kijelzők elrejtése -setting.macnotch.name = A felület igazítása a bevágás megjelenítéséhez -setting.macnotch.description = A változtatások alkalmazásához újra kell indítani +setting.macnotch.name = A felület igazítása a kijelző bevágásához +setting.macnotch.description = A változtatások érvénybe lépéséhez újraindítás szükséges steam.friendsonly = Csak barátok -steam.friendsonly.tooltip = Csak a Steam-barátok tudnak kapcsolódni a játékodhoz.\nHa nem jelölöd be ezt a négyzetet, a játékod nyilvános lesz - bárki kapcsolódhat hozzá. +steam.friendsonly.tooltip = Csak a Steam-barátok tudnak kapcsolódni a játékodhoz.\nHa nem jelölöd be ezt a négyzetet, a játékod nyilvános lesz – bárki kapcsolódhat hozzá. public.beta = Ne feledd, hogy a játék béta verziójában nem tudsz nyilvános szobát nyitni. -uiscale.reset = Az UI mérete megváltozott.\nAz "OK" gombbal megerősítheted ezt a méretet.\n[scarlet]Visszavonás és kilépés [accent] {0}[] másodperc múlva... -uiscale.cancel = Mégsem és kilépés +uiscale.reset = A felület mérete megváltozott.\nAz „OK” gombbal megerősítheted ezt a méretet.\n[scarlet]Visszavonás és kilépés [accent] {0}[] másodperc múlva... +uiscale.cancel = Mégse és kilépés setting.bloom.name = Bloom -keybind.title = Gyorsbillentyűk +keybind.title = Billentyűk átállítása keybinds.mobile = [scarlet]A legtöbb billentyűfunkció mobilon nem működik. Csak a mozgás támogatott. category.general.name = Általános category.view.name = Nézet -category.command.name = Egység parancs +category.command.name = Egységparancs category.multiplayer.name = Többjátékos -category.blocks.name = Blokk választás +category.blocks.name = Blokkválasztás placement.blockselectkeys = \n[lightgray]Kulcs: [{0}, keybind.respawn.name = Újraéledés keybind.control.name = Egység irányítása keybind.clear_building.name = Épület törlése keybind.press = Nyomj meg egy gombot... -keybind.press.axis = Nyomj meg egy kart, vagy gombot... -keybind.screenshot.name = Pálya képernyőkép +keybind.press.axis = Nyomj meg egy kart vagy gombot... +keybind.screenshot.name = Pálya képernyőképe keybind.toggle_power_lines.name = Villanyvezetékek be/ki -keybind.toggle_block_status.name = Épület állapot be/ki +keybind.toggle_block_status.name = Blokkállapotok be/ki keybind.move_x.name = Mozgás vízszintesen keybind.move_y.name = Mozgás függőlegesen keybind.mouse_move.name = Egér követése keybind.pan.name = Felderítés keybind.boost.name = Erősítés keybind.command_mode.name = Parancs mód -keybind.command_queue.name = Egység parancsok sorba állítása -keybind.create_control_group.name = Vezérlő csoport készítése +keybind.command_queue.name = Egységparancsok sorba állítása +keybind.create_control_group.name = Vezérlőcsoport készítése keybind.cancel_orders.name = Parancsok visszavonása keybind.unit_stance_shoot.name = Egység viselkedése: lövés @@ -1206,15 +1206,15 @@ keybind.unit_stance_pursue_target.name = Egység viselkedése: célpont követé keybind.unit_stance_patrol.name = Egység viselkedése: járőrözés keybind.unit_stance_ram.name = Egység viselkedése: ütközés -keybind.unit_command_move = Egység parancs: mozgás -keybind.unit_command_repair = Egység parancs: javítás -keybind.unit_command_rebuild = Egység parancs: újraépítés -keybind.unit_command_assist = Egység parancs: támogatás -keybind.unit_command_mine = Egység parancs: bányászás -keybind.unit_command_boost = Egység parancs: erősítés -keybind.unit_command_load_units = Egység parancs: egységek berakodása a rakományszállítóba -keybind.unit_command_load_blocks = Egység parancs: blokkok berakodása a rakományszállítóba -keybind.unit_command_unload_payload = Egység parancs: kirakodás a rakományszállítóból +keybind.unit_command_move = Egységparancs: mozgás +keybind.unit_command_repair = Egységparancs: javítás +keybind.unit_command_rebuild = Egységparancs: újjáépítés +keybind.unit_command_assist = Egységparancs: támogatás +keybind.unit_command_mine = Egységparancs: bányászás +keybind.unit_command_boost = Egységparancs: erősítés +keybind.unit_command_load_units = Egységparancs: egységek berakodása +keybind.unit_command_load_blocks = Egységparancs: blokkok berakodása +keybind.unit_command_unload_payload = Egységparancs: kirakodás keybind.rebuild_select.name = Régió újjáépítése keybind.schematic_select.name = Terület kijelölése @@ -1227,24 +1227,24 @@ keybind.block_select_left.name = Blokk váltás balra keybind.block_select_right.name = Blokk váltás jobbra keybind.block_select_up.name = Blokk váltás fel keybind.block_select_down.name = Blokk váltás le -keybind.block_select_01.name = Kategória/blokk választás 1 -keybind.block_select_02.name = Kategória/blokk választás 2 -keybind.block_select_03.name = Kategória/blokk választás 3 -keybind.block_select_04.name = Kategória/blokk választás 4 -keybind.block_select_05.name = Kategória/blokk választás 5 -keybind.block_select_06.name = Kategória/blokk választás 6 -keybind.block_select_07.name = Kategória/blokk választás 7 -keybind.block_select_08.name = Kategória/blokk választás 8 -keybind.block_select_09.name = Kategória/blokk választás 9 -keybind.block_select_10.name = Kategória/blokk választás 10 +keybind.block_select_01.name = 1. kategória/blokk választása +keybind.block_select_02.name = 2. kategória/blokk választása +keybind.block_select_03.name = 3. kategória/blokk választása +keybind.block_select_04.name = 4. kategória/blokk választása +keybind.block_select_05.name = 5. kategória/blokk választása +keybind.block_select_06.name = 6. kategória/blokk választása +keybind.block_select_07.name = 7. kategória/blokk választása +keybind.block_select_08.name = 8. kategória/blokk választása +keybind.block_select_09.name = 9. kategória/blokk választása +keybind.block_select_10.name = 10. kategória/blokk választása keybind.fullscreen.name = Teljes képernyő be/ki -keybind.select.name = Kiválasztás/Lövés +keybind.select.name = Kiválasztás/lövés keybind.diagonal_placement.name = Átlós elhelyezés -keybind.pick.name = Blokk másolása +keybind.pick.name = Blokk kiválasztása keybind.break_block.name = Blokk törlése -keybind.select_all_units.name = Minden egység kijelölése -keybind.select_all_unit_factories.name = Minden egység gyár kijelölése -keybind.deselect.name = Blokk választás törlése +keybind.select_all_units.name = Összes egység kijelölése +keybind.select_all_unit_factories.name = Összes egységgyár kijelölése +keybind.deselect.name = Blokkkijelölés törlése keybind.pickupCargo.name = Rakomány felvétele keybind.dropCargo.name = Rakomány lerakása keybind.shoot.name = Lövés @@ -1253,79 +1253,79 @@ keybind.menu.name = Menü keybind.pause.name = Szünet keybind.pause_building.name = Építés szüneteltetése/folytatása keybind.minimap.name = Minitérkép -keybind.planet_map.name = Bolygó térkép +keybind.planet_map.name = Bolygótérkép keybind.research.name = Fejlesztés keybind.block_info.name = Blokk infó keybind.chat.name = Csevegés keybind.player_list.name = Játékosok listája keybind.console.name = Konzol keybind.rotate.name = Forgatás -keybind.rotateplaced.name = Meglévő forgatása (tartsd nyomva) -keybind.toggle_menus.name = Menük váltása +keybind.rotateplaced.name = Meglévő forgatása (nyomva tartva) +keybind.toggle_menus.name = Menük be/ki keybind.chat_history_prev.name = Csevegés görgetése felfelé keybind.chat_history_next.name = Csevegés görgetése lefelé keybind.chat_scroll.name = Csevegés görgetése -keybind.chat_mode.name = Csevegés mód megváltoztatása +keybind.chat_mode.name = Csevegési mód megváltoztatása keybind.drop_unit.name = Egység eldobása -keybind.zoom_minimap.name = Zoom a minitérképen +keybind.zoom_minimap.name = Nagyítás a minitérképen mode.help.title = Játékmódok leírása -mode.survival.name = Túlélő -mode.survival.description = A normál mód. Korlátozott nyersanyag és automatikusan érkező hullámok.\n[gray]Szükséges hozzá egy ellenséges kezdőpont a pályán. +mode.survival.name = Túlélés +mode.survival.description = A normál mód. Korlátozott nyersanyagok, és automatikusan érkező hullámok.\n[gray]Ellenséges kezdőpont szükséges hozzá a pályán. mode.sandbox.name = Homokozó mode.sandbox.description = Végtelen nyersanyagforrás, nincs időzítés a hullámokhoz. mode.editor.name = Szerkesztő mode.pvp.name = PvP -mode.pvp.description = Harcolj más játékosok ellen.\n[gray]Szükséges hozzá legalább két különböző színű Támaszpont a pályán. +mode.pvp.description = Harcolj más játékosok ellen.\n[gray]Legalább két különböző színű támaszpont szükséges hozzá a pályán. mode.attack.name = Támadás -mode.attack.description = Pusztítsd el az ellenség bázisát. \n[gray]Szükséges hozzá egy piros Támaszpont a pályán. +mode.attack.description = Pusztítsd el az ellenség bázisát. \n[gray]Piros támaszpont szükséges hozzá a pályán. mode.custom = Egyéni szabályok rules.invaliddata = Érvénytelen adatok vannak a vágólapon. -rules.hidebannedblocks = Tiltott épületek elrejtése +rules.hidebannedblocks = Tiltott blokkok elrejtése rules.infiniteresources = Végtelen nyersanyagforrás -rules.onlydepositcore = Csak Támaszpontok elhelyezése engedélyezett +rules.onlydepositcore = Csak a támaszpontok elhelyezése engedélyezett rules.derelictrepair = Az elhagyatott épületek javításának engedélyezése -rules.reactorexplosions = Reaktor robbanás -rules.coreincinerates = Többlet nyersanyagok megsemmisítése a Támaszpontban -rules.disableworldprocessors = Világprocesszorok letiltása +rules.reactorexplosions = Reaktorrobbanások +rules.coreincinerates = Többletnyersanyagok megsemmisítése a támaszpontban +rules.disableworldprocessors = Világfeldolgozók letiltása rules.schematic = Vázlatok engedélyezése -rules.wavetimer = Hullám időzítő -rules.wavesending = Hullám küldése +rules.wavetimer = Hullámok időzítése +rules.wavesending = Hullámok küldése rules.waves = Hullámok -rules.attack = Támadás mód -rules.buildai = Épületalkotó AI -rules.buildaitier = Épületalkotó AI szintje -rules.rtsai = RTS AI [red](WIP) -rules.rtsminsquadsize = Minimális osztag méret -rules.rtsmaxsquadsize = Maximális osztag méret -rules.rtsminattackweight = Minimális támadási "lépéselőny" -rules.cleanupdeadteams = A legyőzött csapatépületek törlése (PvP) +rules.attack = Támadási mód +rules.buildai = Bázisépítő MI +rules.buildaitier = Építő MI szintje +rules.rtsai = RTS MI [red](WIP) +rules.rtsminsquadsize = Minimális osztagméret +rules.rtsmaxsquadsize = Maximális osztagméret +rules.rtsminattackweight = Minimális támadási súly +rules.cleanupdeadteams = Legyőzött csapatok épületeinek törlése (PvP) rules.corecapture = Támaszpont elfoglalása megsemmisítéskor -rules.polygoncoreprotection = Poligonális Támaszpont védelem +rules.polygoncoreprotection = Poligonális támaszpontvédelem rules.placerangecheck = Elhelyezési tartomány ellenőrzése -rules.enemyCheat = Végtelen ellenséges csapat erőforrások -rules.blockhealthmultiplier = Épület életpont szorzó -rules.blockdamagemultiplier = Épület sebzés szorzó -rules.unitbuildspeedmultiplier = Egység gyártási sebesség szorzó -rules.unitcostmultiplier = Egységköltség szorzó -rules.unithealthmultiplier = Egység életpont szorzó -rules.unitdamagemultiplier = Egység sebzés szorzó -rules.unitcrashdamagemultiplier = Egység ütközési sebzés szorzó -rules.solarmultiplier = Napenergia szorzó -rules.unitcapvariable = A Támaszpontok befolyásolják a legyártható egységek darabszámát -rules.unitcap = Alap egység-darabszám -rules.limitarea = Játékterület korlátozása a pályán -rules.enemycorebuildradius = Ellenséges Támaszpont körüli tiltott zóna sugara:[lightgray] (csempe) +rules.enemyCheat = Végtelen ellenséges csapaterőforrások +rules.blockhealthmultiplier = Épület életpontszorzója +rules.blockdamagemultiplier = Épület sebzésszorzója +rules.unitbuildspeedmultiplier = Egységgyártás sebességének szorzója +rules.unitcostmultiplier = Egység költségszorzója +rules.unithealthmultiplier = Egység életpontszorzója +rules.unitdamagemultiplier = Egység sebzésszorzója +rules.unitcrashdamagemultiplier = Egység ütközési sebzésszorzója +rules.solarmultiplier = Napenergia szorzója +rules.unitcapvariable = A támaszpontok befolyásolják a gyártható egységek darabszámát +rules.unitcap = Alap egységdarabszám +rules.limitarea = Játékterület korlátozása +rules.enemycorebuildradius = Ellenséges támaszpont körüli tiltott zóna sugara:[lightgray] (csempe) rules.wavespacing = A hullámok közötti szünetek ideje:[lightgray] (mp) rules.initialwavespacing = Az első hullám előtti szünet ideje:[lightgray] (mp) -rules.buildcostmultiplier = Építési költség szorzó -rules.buildspeedmultiplier = Építési sebesség szorzó -rules.deconstructrefundmultiplier = Bontási visszatérítés szorzó +rules.buildcostmultiplier = Építési költség szorzója +rules.buildspeedmultiplier = Építési sebesség szorzója +rules.deconstructrefundmultiplier = Bontási visszatérítés szorzója rules.waitForWaveToEnd = Az ellenség kivárja a korábbi hullám végét -rules.wavelimit = Az utolsó hullám után legyen vége a játéknak +rules.wavelimit = A pálya az utolsó hullám után ér véget rules.dropzoneradius = A ledobási zóna sugara:[lightgray] (csempe) rules.unitammo = Az egységeknek lőszer kell [red](törölhető) -rules.enemyteam = Elenséges csapat +rules.enemyteam = Ellenséges csapat rules.playerteam = Saját csapat rules.title.waves = Hullámok rules.title.resourcesbuilding = Nyersanyagforrások és épületek @@ -1339,7 +1339,7 @@ rules.lighting = Világítás rules.fog = Köd rules.fire = Tűz rules.anyenv = -rules.explosions = Épület/egység robbanás sebzés +rules.explosions = Épület/egység robbanási sebzése rules.ambientlight = Háttérvilágítás rules.weather = Időjárás rules.weather.frequency = Gyakoriság: @@ -1351,7 +1351,7 @@ content.liquid.name = Folyadékok content.unit.name = Egységek content.block.name = Blokkok content.status.name = Állapothatások -content.sector.name = Szektor +content.sector.name = Szektorok content.team.name = Csapatok wallore = (Fal) @@ -1366,7 +1366,7 @@ item.silicon.name = Szilícium item.plastanium.name = Műanyag item.phase-fabric.name = Tóritkvarc item.surge-alloy.name = Elektrometál -item.spore-pod.name = Spóra Kapszula +item.spore-pod.name = Spórakapszula item.sand.name = Homok item.blast-compound.name = Robbanóelegy item.pyratite.name = Piratit @@ -1377,19 +1377,19 @@ item.beryllium.name = Berillium item.tungsten.name = Volfrám item.oxide.name = Oxid item.carbide.name = Karbid -item.dormant-cyst.name = Nyugvó-Ciszta +item.dormant-cyst.name = Nyugvó ciszta liquid.water.name = Víz liquid.slag.name = Salak liquid.oil.name = Olaj liquid.cryofluid.name = Hűtőfolyadék liquid.neoplasm.name = Neoplazma -liquid.arkycite.name = Arkycit +liquid.arkycite.name = Arkicit liquid.gallium.name = Gallium liquid.ozone.name = Ózon liquid.hydrogen.name = Hidrogén liquid.nitrogen.name = Nitrogén -liquid.cyanogen.name = Cianogén +liquid.cyanogen.name = Dicián unit.dagger.name = Dagger unit.mace.name = Mace @@ -1449,159 +1449,159 @@ unit.evoke.name = Evoke unit.incite.name = Incite unit.emanate.name = Emanate unit.manifold.name = Manifold -unit.assembly-drone.name = Assembly Drone +unit.assembly-drone.name = Összeszerelő drón unit.latum.name = Latum unit.renale.name = Renale block.parallax.name = Parallax block.cliff.name = Szirt -block.sand-boulder.name = Homok Szikla -block.basalt-boulder.name = Bazalt Szikla +block.sand-boulder.name = Homokszikla +block.basalt-boulder.name = Bazaltszikla block.grass.name = Fű block.molten-slag.name = Salak -block.pooled-cryofluid.name = Hűtőfolyadék Medence +block.pooled-cryofluid.name = Hűtőfolyadék block.space.name = Űr block.salt.name = Só -block.salt-wall.name = Só Fal +block.salt-wall.name = Sófal block.pebbles.name = Kavicsok block.tendrils.name = Indák -block.sand-wall.name = Homok Fal -block.spore-pine.name = Spóra Fenyő -block.spore-wall.name = Spóra Fal +block.sand-wall.name = Homokfal +block.spore-pine.name = Spórafenyő +block.spore-wall.name = Spórafal block.boulder.name = Szikla -block.snow-boulder.name = Hó Szikla -block.snow-pine.name = Havas Fenyő +block.snow-boulder.name = Havas szikla +block.snow-pine.name = Havas fenyő block.shale.name = Pala -block.shale-boulder.name = Pala Szikla +block.shale-boulder.name = Palaszikla block.moss.name = Moha block.shrubs.name = Cserjék -block.spore-moss.name = Spóra Moha -block.shale-wall.name = Pala Fal -block.scrap-wall.name = Törmelék Fal -block.scrap-wall-large.name = Nagy Törmelék Fal -block.scrap-wall-huge.name = Hatalmas Törmelék Fal -block.scrap-wall-gigantic.name = Gigantikus Törmelék Fal +block.spore-moss.name = Spóramoha +block.shale-wall.name = Palafal +block.scrap-wall.name = Törmelékfal +block.scrap-wall-large.name = Nagy törmelékfal +block.scrap-wall-huge.name = Hatalmas törmelékfal +block.scrap-wall-gigantic.name = Gigantikus törmelékfal block.thruster.name = Hajtómű block.kiln.name = Kemence -block.graphite-press.name = Grafit Préselő -block.multi-press.name = Grafit Sajtoló -block.constructing = {0} [lightgray](Építés) +block.graphite-press.name = Grafitprés +block.multi-press.name = Grafitsajtoló +block.constructing = {0} [lightgray](építés alatt) block.spawn.name = Ellenséges kezdőpont -block.core-shard.name = Szilánk -block.core-foundation.name = Alapítvány -block.core-nucleus.name = Magnum -block.deep-water.name = Mély Víz +block.core-shard.name = Támaszpont: Szilánk +block.core-foundation.name = Támaszpont: Alapítvány +block.core-nucleus.name = Támaszpont: Atommag +block.deep-water.name = Mély víz block.shallow-water.name = Víz -block.tainted-water.name = Szennyezett Víz -block.deep-tainted-water.name = Mély Szennyezett Víz -block.darksand-tainted-water.name = Sötét Homokkal Szennyezett Víz +block.tainted-water.name = Szennyezett víz +block.deep-tainted-water.name = Mély szennyezett víz +block.darksand-tainted-water.name = Sötét homokkal szennyezett víz block.tar.name = Kátrány block.stone.name = Kő block.sand-floor.name = Homok -block.darksand.name = Sötét Homok +block.darksand.name = Sötét homok block.ice.name = Jég block.snow.name = Hó block.crater-stone.name = Kráterek block.sand-water.name = Homokvíz -block.darksand-water.name = Sötét Homokvíz +block.darksand-water.name = Sötét homokvíz block.char.name = Faszén block.dacite.name = Dácit block.rhyolite.name = Riolit -block.dacite-wall.name = Dácit Fal -block.dacite-boulder.name = Dácit Szikla +block.dacite-wall.name = Dácitfal +block.dacite-boulder.name = Dácitszikla block.ice-snow.name = Jéghó -block.stone-wall.name = Kő Fal -block.ice-wall.name = Jég Fal -block.snow-wall.name = Hó Fal -block.dune-wall.name = Dűne Fal +block.stone-wall.name = Kőfal +block.ice-wall.name = Jégfal +block.snow-wall.name = Hófal +block.dune-wall.name = Dűnefal block.pine.name = Fenyő block.dirt.name = Sár -block.dirt-wall.name = Sár Fal +block.dirt-wall.name = Sárfal block.mud.name = Iszap -block.white-tree-dead.name = Kiszáradt Fehér Fa -block.white-tree.name = Fehér Fa -block.spore-cluster.name = Spóra Fürt -block.metal-floor.name = Fém Padló 1 -block.metal-floor-2.name = Fém Padló 2 -block.metal-floor-3.name = Fém Padló 3 -block.metal-floor-4.name = Fém Padló 4 -block.metal-floor-5.name = Fém Padló 5 -block.metal-floor-damaged.name = Sérült Fém Padló -block.dark-panel-1.name = Sötét Panel 1 -block.dark-panel-2.name = Sötét Panel 2 -block.dark-panel-3.name = Sötét Panel 3 -block.dark-panel-4.name = Sötét Panel 4 -block.dark-panel-5.name = Sötét Panel 5 -block.dark-panel-6.name = Sötét Panel 6 -block.dark-metal.name = Sötét Fém +block.white-tree-dead.name = Kiszáradt fehér fa +block.white-tree.name = Fehér fa +block.spore-cluster.name = Spórafürt +block.metal-floor.name = 1. fémpadló +block.metal-floor-2.name = 2. fémpadló +block.metal-floor-3.name = 3. fémpadló +block.metal-floor-4.name = 4. fémpadló +block.metal-floor-5.name = 5. fémpadló +block.metal-floor-damaged.name = Sérült fémpadló +block.dark-panel-1.name = 1. sötét panel +block.dark-panel-2.name = 2. sötét panel +block.dark-panel-3.name = 3. sötét panel +block.dark-panel-4.name = 4. sötét panel +block.dark-panel-5.name = 5. sötét panel +block.dark-panel-6.name = 6. sötét panel +block.dark-metal.name = Sötét fém block.basalt.name = Bazalt -block.hotrock.name = Forró Kőzet -block.magmarock.name = Magmás Kőzet -block.copper-wall.name = Réz Fal -block.copper-wall-large.name = Nagy Réz Fal -block.titanium-wall.name = Titán Fal -block.titanium-wall-large.name = Nagy Titán Fal -block.plastanium-wall.name = Műanyag Fal -block.plastanium-wall-large.name = Nagy Műanyag Fal -block.phase-wall.name = Tóritkvarc Fal -block.phase-wall-large.name = Nagy Tóritkvarc Fal -block.thorium-wall.name = Tórium Fal -block.thorium-wall-large.name = Nagy Tórium Fal +block.hotrock.name = Forró kőzet +block.magmarock.name = Magmás kőzet +block.copper-wall.name = Rézfal +block.copper-wall-large.name = Nagy rézfal +block.titanium-wall.name = Titánfal +block.titanium-wall-large.name = Nagy titánfal +block.plastanium-wall.name = Műanyagfal +block.plastanium-wall-large.name = Nagy műanyagfal +block.phase-wall.name = Tóritkvarcfal +block.phase-wall-large.name = Nagy tóritkvarcfal +block.thorium-wall.name = Tóriumfal +block.thorium-wall-large.name = Nagy tóriumfal block.door.name = Ajtó -block.door-large.name = Nagy Ajtó +block.door-large.name = Nagy ajtó block.duo.name = Duo block.scorch.name = Scorch block.scatter.name = Scatter block.hail.name = Hail block.lancer.name = Lancer block.conveyor.name = Szállítószalag -block.titanium-conveyor.name = Titán Szállítószalag -block.plastanium-conveyor.name = Műanyag Szállítószalag -block.armored-conveyor.name = Páncélozott Szállítószalag -block.junction.name = Elágazás +block.titanium-conveyor.name = Titán szállítószalag +block.plastanium-conveyor.name = Műanyag szállítószalag +block.armored-conveyor.name = Páncélozott szállítószalag +block.junction.name = Átkötés block.router.name = Elosztó -block.distributor.name = Terjesztő +block.distributor.name = Szétosztó block.sorter.name = Válogató -block.inverted-sorter.name = Inverz Válogató +block.inverted-sorter.name = Fordított válogató block.message.name = Üzenet -block.reinforced-message.name = Megerősített Üzenet -block.world-message.name = Világ Üzenet -block.world-switch.name = Világ Kapcsoló +block.reinforced-message.name = Megerősített üzenet +block.world-message.name = Világüzenet +block.world-switch.name = Világkapcsoló block.illuminator.name = Világítótest -block.overflow-gate.name = Alul-folyó Kapu -block.underflow-gate.name = Túlfolyó Kapu -block.silicon-smelter.name = Szilícium Kohó +block.overflow-gate.name = Túlcsorduló kapu +block.underflow-gate.name = Alulcsorduló kapu +block.silicon-smelter.name = Szilícium kohó block.phase-weaver.name = Tóritkvarcképző block.pulverizer.name = Porlasztó -block.cryofluid-mixer.name = Hűtőfolyadék Keverő +block.cryofluid-mixer.name = Hűtőfolyadék-keverő block.melter.name = Olvasztó block.incinerator.name = Törmelékégető -block.spore-press.name = Spóra Sajtoló +block.spore-press.name = Spóraprés block.separator.name = Leválasztó -block.coal-centrifuge.name = Szén Centrifuga +block.coal-centrifuge.name = Széncentrifuga block.power-node.name = Villanyoszlop -block.power-node-large.name = Nagy Villanyoszlop +block.power-node-large.name = Nagy villanyoszlop block.surge-tower.name = Villanytorony -block.diode.name = Akkumulátor Dióda +block.diode.name = Akkumulátordióda block.battery.name = Akkumulátor -block.battery-large.name = Nagy Akkumulátor -block.combustion-generator.name = Belső-égetésű Erőmű +block.battery-large.name = Nagy akkumulátor +block.combustion-generator.name = Égetőerőmű block.steam-generator.name = Gőzerőmű -block.differential-generator.name = Differenciál Erőmű -block.impact-reactor.name = Ütközéses Erőmű -block.mechanical-drill.name = Mechanikus Fúró -block.pneumatic-drill.name = Pneumatikus Fúró -block.laser-drill.name = Lézer Vágó -block.water-extractor.name = Vízkiválasztó +block.differential-generator.name = Differenciál-erőmű +block.impact-reactor.name = Ütközéses erőmű +block.mechanical-drill.name = Mechanikus fúró +block.pneumatic-drill.name = Pneumatikus fúró +block.laser-drill.name = Lézerfúró +block.water-extractor.name = Vízkinyerő block.cultivator.name = Betakarító block.conduit.name = Csővezeték -block.mechanical-pump.name = Mechanikus Szivattyú -block.item-source.name = Nyersanyag Forrás -block.item-void.name = Nyersanyag Hiány -block.liquid-source.name = Folyadék Forrás -block.liquid-void.name = Folyadék Hiány -block.power-void.name = Áram Hiány -block.power-source.name = Áram Forrás +block.mechanical-pump.name = Mechanikus szivattyú +block.item-source.name = Nyersanyagforrás +block.item-void.name = Nyersanyagnyelő +block.liquid-source.name = Folyadékforrás +block.liquid-void.name = Folyadéknyelő +block.power-void.name = Áramnyelő +block.power-source.name = Áramforrás block.unloader.name = Kirakodó block.vault.name = Raktár block.wave.name = Wave @@ -1609,199 +1609,199 @@ block.tsunami.name = Tsunami block.swarmer.name = Swarmer block.salvo.name = Salvo block.ripple.name = Ripple -block.phase-conveyor.name = Tóritkvarc Szállítószalag Híd -block.bridge-conveyor.name = Szállítószalag Híd -block.plastanium-compressor.name = Műanyag Sűrítő -block.pyratite-mixer.name = Piratit Keverő -block.blast-mixer.name = Robbanóelegy Keverő +block.phase-conveyor.name = Tóritkvarc szállítószalag +block.bridge-conveyor.name = Szállítószalag-híd +block.plastanium-compressor.name = Műanyagsűrítő +block.pyratite-mixer.name = Piratitkeverő +block.blast-mixer.name = Robbanóelegy-keverő block.solar-panel.name = Napelem -block.solar-panel-large.name = Nagy Napelem +block.solar-panel-large.name = Nagy napelem block.oil-extractor.name = Olajleválasztó -block.repair-point.name = Javítási Pont -block.repair-turret.name = Javító Löveg -block.pulse-conduit.name = Impulzus Csővezeték -block.plated-conduit.name = Lemezelt Csővezeték -block.phase-conduit.name = Tóritkvarc Csővezeték Híd -block.liquid-router.name = Folyadék Elosztó -block.liquid-tank.name = Folyadék Tartály -block.liquid-container.name = Folyadék Tároló -block.liquid-junction.name = Csővezeték Átkötés -block.bridge-conduit.name = Csővezeték Híd -block.rotary-pump.name = Fogaskerék Szivattyú -block.thorium-reactor.name = Tórium Erőmű +block.repair-point.name = Javítási pont +block.repair-turret.name = Javítótorony +block.pulse-conduit.name = Impulzus-csővezeték +block.plated-conduit.name = Lemezelt csővezeték +block.phase-conduit.name = Tóritkvarc-csővezeték +block.liquid-router.name = Folyadékelosztó +block.liquid-tank.name = Folyadéktartály +block.liquid-container.name = Folyadéktároló +block.liquid-junction.name = Csővezeték-átkötés +block.bridge-conduit.name = Csővezetékhíd +block.rotary-pump.name = Fogaskerekes szivattyú +block.thorium-reactor.name = Tóriumerőmű block.mass-driver.name = Tömegmozgató -block.blast-drill.name = Légrobbanásos Fúró -block.impulse-pump.name = Impulzus Szivattyú +block.blast-drill.name = Légrobbanásos fúró +block.impulse-pump.name = Impulzusszivattyú block.thermal-generator.name = Hőerőmű -block.surge-smelter.name = Elektrometál Olvasztó +block.surge-smelter.name = Elektrometál-olvasztó block.mender.name = Foltozó -block.mend-projector.name = Foltozó Projektor -block.surge-wall.name = Elektrometál Fal -block.surge-wall-large.name = Nagy Elektrometál Fal +block.mend-projector.name = Foltozó projektor +block.surge-wall.name = Elektrometálfal +block.surge-wall-large.name = Nagy elektrometálfal block.cyclone.name = Cyclone block.fuse.name = Fuse -block.shock-mine.name = Sokkoló Taposóakna -block.overdrive-projector.name = Túlhajtó Projektor -block.force-projector.name = Erő Projektor +block.shock-mine.name = Sokkoló taposóakna +block.overdrive-projector.name = Túlhajtó kivetítő +block.force-projector.name = Erőkivetítő block.arc.name = Arc -block.rtg-generator.name = RTG Erőmű +block.rtg-generator.name = RTG erőmű block.spectre.name = Spectre block.meltdown.name = Meltdown block.foreshadow.name = Foreshadow block.container.name = Konténer -block.launch-pad.name = Kilövő Állás +block.launch-pad.name = Kilövőállás block.segment.name = Segment -block.ground-factory.name = Földi Egység Gyár -block.air-factory.name = Repülőgép Gyár -block.naval-factory.name = Hadihajó Gyár -block.additive-reconstructor.name = Additív Újratervező -block.multiplicative-reconstructor.name = Multiplikatív Újratervező -block.exponential-reconstructor.name = Exponenciális Újratervező -block.tetrative-reconstructor.name = Tetratív Újratervező -block.payload-conveyor.name = Rakomány Szállítószalag -block.payload-router.name = Rakomány Elosztó +block.ground-factory.name = Földiegységgyár +block.air-factory.name = Repülőgépgyár +block.naval-factory.name = Hadihajógyár +block.additive-reconstructor.name = Additív újratervező +block.multiplicative-reconstructor.name = Multiplikatív újratervező +block.exponential-reconstructor.name = Exponenciális újratervező +block.tetrative-reconstructor.name = Tetratív újratervező +block.payload-conveyor.name = Rakományszállító-szalag +block.payload-router.name = Rakomány-elosztó block.duct.name = Szállítószalag -block.duct-router.name = Szállítószalag Elosztó -block.duct-bridge.name = Szállítószalag Híd -block.large-payload-mass-driver.name = Nagy Rakomány Tömegmozgató -block.payload-void.name = Rakomány Megsemmisítő -block.payload-source.name = Rakomány Készítő -block.disassembler.name = Szétválasztó -block.silicon-crucible.name = Szilícium Olvasztó -block.overdrive-dome.name = Túlhajtó Búra -block.interplanetary-accelerator.name = Bolygóközi Gyorsító +block.duct-router.name = Szállítószalag-elosztó +block.duct-bridge.name = Szállítószalaghíd +block.large-payload-mass-driver.name = Nagy rakomány-tömegmozgató +block.payload-void.name = Rakománynyelő +block.payload-source.name = Rakományforrás +block.disassembler.name = Szétszerelő +block.silicon-crucible.name = Szilíciumolvasztó +block.overdrive-dome.name = Túlhajtó búra +block.interplanetary-accelerator.name = Bolygóközi gyorsító block.constructor.name = Építő -block.constructor.description = Akár 2x2 csempe méretű szerkezeteket is gyárt. -block.large-constructor.name = Nagy Építő -block.large-constructor.description = Akár 4x4 csempe méretű szerkezeteket is gyárt. +block.constructor.description = Legfeljebb 2×2-es csempeméretű épületeket gyárt. +block.large-constructor.name = Nagy építő +block.large-constructor.description = Akár 4×4-es csempeméretű épületeket is gyárt. block.deconstructor.name = Lebontó -block.deconstructor.description = Lebontja a szerkezeteket és az egységeket. Visszaadja az építési költség 100%-át. -block.payload-loader.name = Rakomány Csomagoló -block.payload-loader.description = A folyadékokat és a nyersanyagokat csomagolja nagyobb blokkokba. -block.payload-unloader.name = Rakomány Kicsomagoló -block.payload-unloader.description = A folyadékokból és nyersanyagokból álló blokkokat csomagolja ki. -block.heat-source.name = Hő Forrás -block.heat-source.description = Egy 1x1-es blokk, amely gyakorlatilag végtelen Hőt ad. +block.deconstructor.description = Lebontja az épületeket és az egységeket. Visszaadja az építési költség 100%-át. +block.payload-loader.name = Rakománycsomagoló +block.payload-loader.description = A folyadékokat és a nyersanyagokat blokkokba csomagolja. +block.payload-unloader.name = Rakománykibontó +block.payload-unloader.description = Kibontja a folyadékokból és nyersanyagokból álló blokkokat. +block.heat-source.name = Hőforrás +block.heat-source.description = Nagy hőmennyiséget bocsát ki. Csak homokozó módban. #Erekir block.empty.name = Üres -block.rhyolite-crater.name = Riolit Kráter -block.rough-rhyolite.name = Durva Riolit +block.rhyolite-crater.name = Riolit kráter +block.rough-rhyolite.name = Durva riolit block.regolith.name = Regolit -block.yellow-stone.name = Sárga Kő -block.carbon-stone.name = Szén Kő -block.ferric-stone.name = Vasas Kő -block.ferric-craters.name = Vasas Kráterek -block.beryllic-stone.name = Berilliumos Kő -block.crystalline-stone.name = Kristályos Kő -block.crystal-floor.name = Kristály Talaj -block.yellow-stone-plates.name = Sárga Kőlemezek -block.red-stone.name = Vörös Kő -block.dense-red-stone.name = Sűrű Vörös Kő -block.red-ice.name = Vörös Jég -block.arkycite-floor.name = Arkycit -block.arkyic-stone.name = Arkycites Kő -block.rhyolite-vent.name = Riolit Kürtő -block.carbon-vent.name = Szén Kürtő -block.arkyic-vent.name = Arkycites Kürtő -block.yellow-stone-vent.name = Sárga Kő Kürtő -block.red-stone-vent.name = Vörös Kő Kürtő -block.crystalline-vent.name = Kristályos Kürtő -block.redmat.name = Vörös Padló -block.bluemat.name = Kék Padló -block.core-zone.name = Támaszpont Zóna -block.regolith-wall.name = Regolit Fal -block.yellow-stone-wall.name = Sárga Kő Fal -block.rhyolite-wall.name = Riolit Fal -block.carbon-wall.name = Szén Fal -block.ferric-stone-wall.name = Vasas-Kő Fal -block.beryllic-stone-wall.name = Berilliumos-Kő Fal -block.arkyic-wall.name = Arkycit Fal -block.crystalline-stone-wall.name = Kristályos-Kő Fal -block.red-ice-wall.name = Vörös-Jég Fal -block.red-stone-wall.name = Vörös-Kő Fal -block.red-diamond-wall.name = Vörös Gyémánt Fal -block.redweed.name = Vörös Fű -block.pur-bush.name = Lila Bokor -block.yellowcoral.name = Sárga Korall -block.carbon-boulder.name = Szén Szikla -block.ferric-boulder.name = Vasas Szikla -block.beryllic-boulder.name = Berilliumos Szikla -block.yellow-stone-boulder.name = Sárga Kő Szikla -block.arkyic-boulder.name = Arkycites Szikla -block.crystal-cluster.name = Kristály Fürt -block.vibrant-crystal-cluster.name = Vibráló Kristály Fürt -block.crystal-blocks.name = Kristály Blokkok -block.crystal-orbs.name = Kristály Gömbök -block.crystalline-boulder.name = Kristályos Szikla -block.red-ice-boulder.name = Vörös Jég Szikla -block.rhyolite-boulder.name = Riolit Szikla -block.red-stone-boulder.name = Vörös Kő Szikla -block.graphitic-wall.name = Grafit Fal -block.silicon-arc-furnace.name = Szilícium Ívkemence +block.yellow-stone.name = Sárga kő +block.carbon-stone.name = Szénkő +block.ferric-stone.name = Vasas kő +block.ferric-craters.name = Vasas kráterek +block.beryllic-stone.name = Berilliumos kő +block.crystalline-stone.name = Kristályos kő +block.crystal-floor.name = Kristálytalaj +block.yellow-stone-plates.name = Sárga kőlemezek +block.red-stone.name = Vörös kő +block.dense-red-stone.name = Sűrű vörös kő +block.red-ice.name = Vörös jég +block.arkycite-floor.name = Arkicit +block.arkyic-stone.name = Arkicites kő +block.rhyolite-vent.name = Riolitkürtő +block.carbon-vent.name = Szénkürtő +block.arkyic-vent.name = Arkicites kürtő +block.yellow-stone-vent.name = Sárgakő-kürtő +block.red-stone-vent.name = Vöröskő-kürtő +block.crystalline-vent.name = Kristályos kürtő +block.redmat.name = Vörös padló +block.bluemat.name = Kék padló +block.core-zone.name = Támaszpontzóna +block.regolith-wall.name = Regolitfal +block.yellow-stone-wall.name = Sárgakő-fal +block.rhyolite-wall.name = Riolit fal +block.carbon-wall.name = Szénfal +block.ferric-stone-wall.name = Vasaskő-fal +block.beryllic-stone-wall.name = Berilliumoskő-fal +block.arkyic-wall.name = Arkicites fal +block.crystalline-stone-wall.name = Kristályos kőFal +block.red-ice-wall.name = Vörösjég-fal +block.red-stone-wall.name = Vöröskő-fal +block.red-diamond-wall.name = Vörösgyémánt-fal +block.redweed.name = Vörös fű +block.pur-bush.name = Lila bokor +block.yellowcoral.name = Sárga korall +block.carbon-boulder.name = Szén szikla +block.ferric-boulder.name = Vasas szikla +block.beryllic-boulder.name = Berilliumos szikla +block.yellow-stone-boulder.name = Sárgakő-szikla +block.arkyic-boulder.name = Arkicites szikla +block.crystal-cluster.name = Kristályfürt +block.vibrant-crystal-cluster.name = Vibráló kristályfürt +block.crystal-blocks.name = Kristályblokkok +block.crystal-orbs.name = Kristálygömbök +block.crystalline-boulder.name = Kristályos szikla +block.red-ice-boulder.name = Vörösjég-szikla +block.rhyolite-boulder.name = Riolit szikla +block.red-stone-boulder.name = Vöröskő-szikla +block.graphitic-wall.name = Grafit fal +block.silicon-arc-furnace.name = Szilícium ívkemence block.electrolyzer.name = Elektrolizátor -block.atmospheric-concentrator.name = Atmoszferikus Sűrítő -block.oxidation-chamber.name = Oxidációs Kamra -block.electric-heater.name = Elektromos Fűtőtest -block.slag-heater.name = Salakos Fűtőtest -block.phase-heater.name = Tóritkvarcos Fűtőtest -block.heat-redirector.name = Hő Elvezető -block.heat-router.name = Hő Elosztó -block.slag-incinerator.name = Salakégető Kemence -block.carbide-crucible.name = Karbid Olvasztó -block.slag-centrifuge.name = Salak Centrifuga -block.surge-crucible.name = Elektrometál Olvasztó -block.cyanogen-synthesizer.name = Cianogén Szintetizáló -block.phase-synthesizer.name = Tóritkvarc Szintetizáló +block.atmospheric-concentrator.name = Atmoszferikus sűrítő +block.oxidation-chamber.name = Oxidációs kamra +block.electric-heater.name = Elektromos fűtőtest +block.slag-heater.name = Salakos fűtőtest +block.phase-heater.name = Tóritkvarcos fűtőtest +block.heat-redirector.name = Hőelvezető +block.heat-router.name = Hőelosztó +block.slag-incinerator.name = Salakégető kemence +block.carbide-crucible.name = Karbidolvasztó +block.slag-centrifuge.name = Salakcentrifuga +block.surge-crucible.name = Elektrometál-olvasztó +block.cyanogen-synthesizer.name = Diciánszintetizáló +block.phase-synthesizer.name = Tóritkvarc-szintetizáló block.heat-reactor.name = Hőerőmű -block.beryllium-wall.name = Berillium Fal -block.beryllium-wall-large.name = Nagy Berillium Fal -block.tungsten-wall.name = Volfrám Fal -block.tungsten-wall-large.name = Nagy Volfrám Fal -block.blast-door.name = Robbanásbiztos Ajtó -block.carbide-wall.name = Karbid Fal -block.carbide-wall-large.name = Nagy Karbid Fal -block.reinforced-surge-wall.name = Megerősített Elektrometál Fal -block.reinforced-surge-wall-large.name = Nagy Megerősített Elektrometál Fal -block.shielded-wall.name = Álcázott Fal +block.beryllium-wall.name = Berilliumfal +block.beryllium-wall-large.name = Nagy berilliumfal +block.tungsten-wall.name = Volfrámfal +block.tungsten-wall-large.name = Nagy volfrámfal +block.blast-door.name = Robbanásbiztos ajtó +block.carbide-wall.name = Karbidfal +block.carbide-wall-large.name = Nagy karbidfal +block.reinforced-surge-wall.name = Megerősített elektrometálfal +block.reinforced-surge-wall-large.name = Nagy megerősített elektrometálfal +block.shielded-wall.name = Pajzzsal védett fal block.radar.name = Radar -block.build-tower.name = Építő Torony -block.regen-projector.name = Épület Regenerátor -block.shockwave-tower.name = Sokkhullám Torony -block.shield-projector.name = Pajzs Generátor -block.large-shield-projector.name = Nagy Pajzs Generátor -block.armored-duct.name = Páncélozott Szállítószalag -block.overflow-duct.name = Túlfolyó Szállítószalag -block.underflow-duct.name = Alul-folyó Szállítószalag -block.duct-unloader.name = Kirakodó Szállítószalag -block.surge-conveyor.name = Elektrometál Szállítószalag -block.surge-router.name = Elektrometál Elosztó -block.unit-cargo-loader.name = Egység Rakomány Berakodó -block.unit-cargo-unload-point.name = Egység Rakomány Kirakodó Pont -block.reinforced-pump.name = Megerősített Szivattyú -block.reinforced-conduit.name = Megerősített Csővezeték -block.reinforced-liquid-junction.name = Megerősített Folyadék Átkötés -block.reinforced-bridge-conduit.name = Megerősített Csővezeték Híd -block.reinforced-liquid-router.name = Megerősített Folyadék Elosztó -block.reinforced-liquid-container.name = Megerősített Folyadék Konténer -block.reinforced-liquid-tank.name = Megerősített Folyadék Tartály -block.beam-node.name = Sugár Csomópont -block.beam-tower.name = Sugár Torony -block.beam-link.name = Sugár Hálózat -block.turbine-condenser.name = Kondenzációs Turbina -block.chemical-combustion-chamber.name = Kémiai Égető Kamra -block.pyrolysis-generator.name = Pirolízis Erőmű +block.build-tower.name = Építőtorony +block.regen-projector.name = Regeneráló kivetítő +block.shockwave-tower.name = Sokkhullámtorony +block.shield-projector.name = Pajzskivetítő +block.large-shield-projector.name = Nagy pajzskivetítő +block.armored-duct.name = Páncélozott szállítószalag +block.overflow-duct.name = Túlcsorduló szállítószalag +block.underflow-duct.name = Alulcsorduló szállítószalag +block.duct-unloader.name = Szállítószalag-kirakodó +block.surge-conveyor.name = Elektrometál-szállítószalag +block.surge-router.name = Elektrometál-elosztó +block.unit-cargo-loader.name = Egységrakomány-berakodó +block.unit-cargo-unload-point.name = Egységrakomány-kirakodó pont +block.reinforced-pump.name = Megerősített szivattyú +block.reinforced-conduit.name = Megerősített csővezeték +block.reinforced-liquid-junction.name = Megerősített folyadékátkötés +block.reinforced-bridge-conduit.name = Megerősített csővezetékhíd +block.reinforced-liquid-router.name = Megerősített folyadékelosztó +block.reinforced-liquid-container.name = Megerősített folyadékkonténer +block.reinforced-liquid-tank.name = Megerősített folyadéktartály +block.beam-node.name = Sugárcsomópont +block.beam-tower.name = Sugártorony +block.beam-link.name = Sugárhálózat +block.turbine-condenser.name = Kondenzációs turbina +block.chemical-combustion-chamber.name = Kémiai égetőkamra +block.pyrolysis-generator.name = Pirolíziserőmű block.vent-condenser.name = Vízleválasztó block.cliff-crusher.name = Sziklazúzó -block.plasma-bore.name = Plazma Vágó -block.large-plasma-bore.name = Nagy Plazma Vágó +block.plasma-bore.name = Plazmafúró +block.large-plasma-bore.name = Nagy plazmafúró block.impact-drill.name = Ütvefúró -block.eruption-drill.name = Erupciós Fúró +block.eruption-drill.name = Kitörési fúró block.core-bastion.name = Bástya block.core-citadel.name = Citadella block.core-acropolis.name = Akropolisz -block.reinforced-container.name = Megerősített Konténer -block.reinforced-vault.name = Megerősített Tároló +block.reinforced-container.name = Megerősített konténer +block.reinforced-vault.name = Megerősített tároló block.breach.name = Breach block.sublimate.name = Sublimate block.titan.name = Titan @@ -1809,39 +1809,39 @@ block.disperse.name = Disperse block.afflict.name = Afflict block.lustre.name = Lustre block.scathe.name = Scathe -block.tank-refabricator.name = Tank Újratervező -block.mech-refabricator.name = Mech Újratervező -block.ship-refabricator.name = Repülőgép Újratervező -block.tank-assembler.name = Tank Összeszerelő -block.ship-assembler.name = Repülőgép Összeszerelő -block.mech-assembler.name = Mech Összeszerelő -block.reinforced-payload-conveyor.name = Megerősített Rakomány Szállítószalag -block.reinforced-payload-router.name = Megerősített Rakomány Elosztó -block.payload-mass-driver.name = Rakomány Tömegmozgató -block.small-deconstructor.name = Kis Lebontó -block.canvas.name = Vászon Kijelző -block.world-processor.name = Világ Processzor -block.world-cell.name = Világ Cella -block.tank-fabricator.name = Tank Gyár -block.mech-fabricator.name = Mech Gyár -block.ship-fabricator.name = Repülőgép Gyár -block.prime-refabricator.name = Elsődleges Újratervező -block.unit-repair-tower.name = Egység Javító Torony +block.tank-refabricator.name = Tankújratervező +block.mech-refabricator.name = Mechújratervező +block.ship-refabricator.name = Repülőgép-újratervező +block.tank-assembler.name = Tankösszeszerelő +block.ship-assembler.name = Hajó-összeszerelő +block.mech-assembler.name = Mechösszeszerelő +block.reinforced-payload-conveyor.name = Megerősített rakományszállító-szalag +block.reinforced-payload-router.name = Megerősített rakományelosztó +block.payload-mass-driver.name = Rakomány-tömegmozgató +block.small-deconstructor.name = Lebontó +block.canvas.name = Vászon +block.world-processor.name = Világprocesszor +block.world-cell.name = Világcella +block.tank-fabricator.name = Tankgyártó +block.mech-fabricator.name = Mechgyártó +block.ship-fabricator.name = Repülőgépgyártó +block.prime-refabricator.name = Elsődleges újratervező +block.unit-repair-tower.name = Egységjavító torony block.diffuse.name = Diffuse -block.basic-assembler-module.name = Alap Összeszerelő Modul +block.basic-assembler-module.name = Alapvető összeszerelő modul block.smite.name = Smite block.malign.name = Malign -block.flux-reactor.name = Fluxus Reaktor -block.neoplasia-reactor.name = Neoplázia Reaktor +block.flux-reactor.name = Fluxusreaktor +block.neoplasia-reactor.name = Neopláziareaktor block.switch.name = Kapcsoló block.micro-processor.name = Mikroprocesszor -block.logic-processor.name = Logikai Processzor -block.hyper-processor.name = Hiper Processzor -block.logic-display.name = Logikai Kijelző -block.large-logic-display.name = Nagy Logikai Kijelző -block.memory-cell.name = Memória Cella -block.memory-bank.name = Memória Bank +block.logic-processor.name = Logikai processzor +block.hyper-processor.name = Hiperprocesszor +block.logic-display.name = Logikai kijelző +block.large-logic-display.name = Nagy logikai kijelző +block.memory-cell.name = Memóriacella +block.memory-bank.name = Memóriabank team.malis.name = Lila team.crux.name = Piros @@ -1852,169 +1852,169 @@ team.blue.name = Kék hint.skip = Kihagyás hint.desktopMove = Használd a [accent][[WASD][] gombokat a mozgáshoz. -hint.zoom = Használd az egér [accent]Görgőjét[] a zoomhoz.. -hint.desktopShoot = Használd a [accent]Bal-Egérgomb[]ot a lövéshez. -hint.depositItems = A nyersanyagokat áthelyezheted húzással a drónból a Támaszpontba. +hint.zoom = [accent]Görgess[] a nagyításhoz és kicsinyítéshez. +hint.desktopShoot = Használd a [accent]bal egérgombot[] a lövéshez. +hint.depositItems = A nyersanyagokat húzással helyezheted át a drónból a támaszpontba. hint.respawn = Ahhoz, hogy drónként újraéledj, nyomd meg a [accent][[V][] gombot. -hint.respawn.mobile = Átvetted az irányítást egy egység, vagy lövegtorony felett. Ahhoz, hogy drónként újraéledj, [accent]érintsd meg az avatárt a bal felső sarokban.[] -hint.desktopPause = Nyomd meg a [accent][[Szóköz][]t, hogy szüneteltesd, vagy folytasd a játékot. -hint.breaking = A [accent]Jobb-Egérgomb[]ot nyomva kijelölheted az útban lévő épületeket a lebontásukhoz. -hint.breaking.mobile = Használd a \ue817 [accent]Kalapács[] gombot jobb lent és töröld vele az útban lévő épületeket.\n\nTartsd lenyomva az ujjad és húzd, hogy nagyobb területet tudj kijelölni. -hint.blockInfo = Egy épület információinak megtekintéséhez válaszd ki az épületet az [accent]Építés menüben[], majd válaszd a [accent][[?][] gombot a jobb oldalon. -hint.derelict = Az [accent]Elhagyatott[] szerkezetek régi bázisok maradványai, amelyek már nem működnek.\n\nEzeket a maradványokat le lehet [accent]bontani[] nyersanyagokért, vagy megjavítani őket. -hint.research = Használd a \ue875 [accent]Fejlesztési Fa[] gombot, hogy felfedezz új technológiákat. -hint.research.mobile = Használd a \ue875 [accent]Fejlesztési Fa[] gombot a \ue88c [accent]Menü[]ben, hogy felfedezz új technológiákat. -hint.unitControl = Nyomd le a [accent][[Bal-CTRL][] gombot és kattints a [accent]Jobb-Egérgomb[]al az irányítani kívánt szövetséges egységre, vagy -lövegtoronyra, hogy átvedd fölötte az irányítást. -hint.unitControl.mobile = [accent][[Dupla koppintás][]sal átveheted az irányítást szövetséges egységek, vagy -lövegtornyok felett. -hint.unitSelectControl = Az egységek irányításához lépj be a [accent]Parancs Mód[]ba, úgy, hogy nyomd hosszan a [accent]Bal-SHIFT[] gombot.\nParancs Módban az egységek kijelöléséhez kattints és húzd az egeret. A [accent]Jobb-Egérgomb[]-al kattints az egységek mozgatásához egy helyszínre, vagy az ellenséges célpontra. -hint.unitSelectControl.mobile = Az egységek irányításához lépj be a [accent]Parancs Mód[]ba, úgy, hogy nyomd meg a [accent]Parancs Mód[] gombot a bal alsó sarokban.\nParancs módban az egységek kiválasztásához érintsd meg a kijelzőt és húzással jelöld ki az egységeket. Koppints az egységek mozgatásához egy helyszínre, vagy ellenséges az célpontra. -hint.launch = Ha elegendő nyersanyagot gyűjtöttél össze, akkor [accent]Indítsd[] el a Támaszpontot a következő szektorba, úgy, hogy megnyitod a \ue827 [accent]Bolygó térkép[]et a jobb alsó sarokban, és átpásztázol az új helyszínre. -hint.launch.mobile = Ha elegendő nyersanyagot gyűjtöttél össze, akkor [accent]Indítsd[] el a Támaszpontot egy közeli szektorba, úgy, hogy kiválasztasz egy szektort a \ue88c [accent]Menü[]ben a \ue827 [accent]Bolygó térkép[]ről. -hint.schematicSelect = Az [accent][[F][] nyomva tartásával egyszerre több épületet is kijelölhetsz és másolhatsz.\n\nAz egér [accent][[Görgővel][] viszont, csak egy épületet tudsz kijelölni és lemásolni. -hint.rebuildSelect = Tartsd nyomva a [accent][[B][] és húzással jelöld ki a megsemmisített épületterveket.\nEz automatikusan újraépíti őket. -hint.rebuildSelect.mobile = Válaszd a \ue874 másolás gombot, majd koppints \ue80f újjáépítés gombra, és húzd a megsemmisült épülettervek kijelöléséhez.\nEz automatikusan újraépíti őket. -hint.conveyorPathfind = Tartsd nyomva a [accent][[Bal-CTRL][] gombot a szállítószalagok lerakása közben, hogy a játék útvonalat generáljon. -hint.conveyorPathfind.mobile = Engedélyezd az \ue844 [accent]Átlós Mód[]ot és tegyél le egyszerre több szállítószalagot, hogy a játék útvonalat generáljon. -hint.boost = Tartsd nyomva a [accent][[Bal-SHIFT][] gombot, hogy átrepülj az akadályok felett.\n\nErre nem minden földi egység képes. -hint.payloadPickup = A [accent][[[] gombbal kis épületeket, vagy egységeket emelhetsz fel. -hint.payloadPickup.mobile = [accent]Tartsd nyomva az ujjad[] egy kis épületen, vagy egységen, hogy felemeld. -hint.payloadDrop = A [accent]][] megnyomásával lerakhatod a rakományodat. -hint.payloadDrop.mobile = [accent]Tartsd hosszan az ujjad[] egy üres területen, hogy letedd a rakományodat. -hint.waveFire = A [accent]Wave[] lövegtornyok, ha Víz van bennük, automatikusan eloltják a közeli tüzeket. -hint.generator = A \uf879 [accent]Belső-égetésű Erőmű[] Szenet éget, és átadja az Áramot a vele érintkező épületeknek.\n\nÁramot nagyobb távolságra is szállíthatsz \uf87f [accent]Villanyoszlop[]ok segítségével. -hint.guardian = Az [accent]Őrző[]knek páncélja van. A gyenge lövedékeknek, mint a [accent]Réz[], vagy az [accent]Ólom[] [scarlet]nincs hatásuk[] az Őrző páncéljára.\n\nHasználj magasabb szintű lövegtornyokat, vagy \uf835 [accent]Grafit[] lövedéket a \uf861Duo/\uf859Salvo lövegtornyokban, hogy leszedd az Őrzőket. -hint.coreUpgrade = A Támaszpontot fejlesztheted, ha [accent]magasabb szintű Támaszpontot teszel rá[].\n\nHelyezz egy [accent]Alapítvány[] Támaszpontot a [accent]Szilánk[] Támaszpontra. Figyelj rá, hogy ne legyenek az új Támaszpont területén épületek. -hint.presetLaunch = A szürke [accent]hadjárat szektorok[]ba, amilyen például a [accent]Fagyott Erdő[], bárhonnan kilőhetsz. Nem kell szomszédos területtel rendelkezned.\n\nA [accent]számozott szektorok[], mint ez is, [accent]opcionálisak[]. +hint.respawn.mobile = Átvetted az irányítást egy egység vagy épület felett. Ahhoz, hogy drónként újraéledj, [accent]koppints a profilképre a bal felső sarokban.[] +hint.desktopPause = Nyomd meg a [accent][[Szóközt][] a játék szüneteltetéséhez vagy folytatásához. +hint.breaking = [accent]Jobb egérgombbal[] és húzással lebonthatod a blokkokat. +hint.breaking.mobile = Használd a jobb alsó sarokban lévő  [accent]kalapács[] gombot a blokkok törléséhez.\n\nTartsd lenyomva az ujjad és húzd, hogy nagyobb területet tudj kijelölni. +hint.blockInfo = Egy blokk információinak megtekintéséhez válaszd ki az épületet az [accent]építési menüben[], majd válaszd a [accent][[?][] gomb jobb oldalt. +hint.derelict = Az [accent]elhagyatott[] szerkezetek régi bázisok maradványai, amelyek már nem működnek.\n\nEzeket az épületeket le lehet [accent]bontani[] nyersanyagokért, vagy meg is lehet javítani őket. +hint.research = Használd a  [accent]Fejlesztési fa[] gombot, hogy új technológiákat fedezz fel. +hint.research.mobile = Használd a  [accent]Fejlesztési fa[] gombot a  [accent]menüben[], hogy új technológiákat fedezz fel. +hint.unitControl = Nyomd le a [accent][[bal Ctrl][] gombot, és kattints [accent]jobb egérgombbal[] a baráti egység vagy lövegtorony irányításához. +hint.unitControl.mobile = [accent][[Dupla koppintással][] irányíthatók kézileg a szövetséges egységek vagy lövegtornyok. +hint.unitSelectControl = Az egységek irányításához lépj be [accent]parancs módba[] a [accent]bal Shift[] lenyomva tartásával.\nParancs módban az egységek kijelöléséhez kattints, és húzd az egeret. A [accent]jobb egérgombbal[] küldd az egységeket a helyszínre vagy a célponthoz. +hint.unitSelectControl.mobile = Az egységek irányításához lépj be [accent]parancs módba[] a bal alsó sarokban lévő [accent]parancs[] gombbal.\nParancs módban az egységek kiválasztásához érintsd meg a kijelzőt és húzással jelöld ki az egységeket. Koppintással küldd az egységeket a helyszínre vagy a célponthoz. +hint.launch = Ha elegendő nyersanyagot gyűjtöttél össze, akkor [accent]lődd ki[] a támaszpontot a következő szektorba, úgy, hogy megnyitod a  [accent]Bolygótérképet[] a jobb alsó sarokban, és átforgatod az új helyszínre. +hint.launch.mobile = Ha elegendő nyersanyagot gyűjtöttél össze, akkor [accent]lődd ki[] el a támaszpontot egy közeli szektorba, úgy, hogy kiválasztasz egy szektort a  [accent]Menüben[] a  [accent]Bolygótérképről[]. +hint.schematicSelect = Tartsd nyomja az [accent][[F][] gombot több épület kijelöléséhez és másolásához.\n\n[accent][[Középső kattintással][] egy adott blokktípus másolható. +hint.rebuildSelect = Tartsd nyomva a [accent][[B][] gombot és húzással jelöld ki a megsemmisített blokkterveket.\nEz automatikusan újraépíti őket. +hint.rebuildSelect.mobile = Válaszd a  másolás gombot, majd koppints az  újjáépítés gombra, és húzd a megsemmisült blokktervek kijelöléséhez.\nEz automatikusan újraépíti őket. +hint.conveyorPathfind = Tartsd nyomva a [accent][[bal Ctrl][] gombot a szállítószalagok lerakása közben, hogy a játék útvonalat állítson elő. +hint.conveyorPathfind.mobile = Engedélyezd az  [accent]átlós módot[], és tegyél le egyszerre több szállítószalagot, hogy a játék útvonalat állítson elő. +hint.boost = Tartsd nyomva a [accent][[bal Shift][] gombot, hogy átrepülj az akadályok felett.\n\nErre csak néhány földi egység képes. +hint.payloadPickup = Nyomd meg a [accent][[[] gombot a kis blokkok vagy egységek felemeléséhez. +hint.payloadPickup.mobile = [accent]Koppints és tartsd lenyomva az ujjad[] egy kis blokk vagy egység felemeléséhez. +hint.payloadDrop = Nyomd le a [accent]][] gombot a rakomány lerakásához. +hint.payloadDrop.mobile = [accent]Koppints és tartsd lenyomva az ujjad[] egy üres területen a rakomány lerakásához. +hint.waveFire = A vizet lőszerként használó [accent]Wave[] lövegtornyok automatikusan eloltják a közeli tüzeket. +hint.generator = Az  [accent]égetőerőmű[] szenet éget, és áramot ad át a vele érintkező épületeknek.\n\nAz áramszállítás távolsága [accent]villanyoszlopokkal[] növelhető. +hint.guardian = Az [accent]Őrzők[] páncélozottak. A gyenge lövedékek, mint a [accent]réz[] vagy az [accent]ólom[] [scarlet]nem hatásosak[] az Őrző páncéljával szemben.\n\nHasználj magasabb szintű lövegtornyokat, vagy  [accent]grafitot[] a Duo/Salvo lövegtornyokban, hogy leszedd az Őrzőket. +hint.coreUpgrade = A támaszpont úgy fejleszthető, hogy [accent]magasabb szintű támaszpontot teszel rá[].\n\nHelyezz egy  [accent]Alapítvány[] támaszpontot a  [accent]Szilánk[] támaszpontra. Figyelj rá, hogy ne legyenek az új támaszpont területén épületek. +hint.presetLaunch = A szürke [accent]landolási zónát tartalmazó szektorokba[], amilyen például a [accent]Fagyott erdő[], bárhonnan kilőhetsz. Nem szükséges hozzá szomszédos területet elfoglalnod.\n\nA [accent]számozott szektorok[], mint ez is, [accent]nem kötelezők[]. hint.presetDifficulty = Ebben a szektorban [scarlet]magas az ellenséges fenyegetettségi szint[].\nAz ilyen szektorokba való indulás [accent]nem ajánlott[] megfelelő technológia és felkészülés nélkül. -hint.coreIncinerate = Ha a Támaszpontodban egy nyersanyag elérte a maximumot, a beérkező ilyen nyersanyagaid azonnal [accent]megsemmisítésre kerülnek[]. -hint.factoryControl = Egy egységgyár [accent]kimeneti célpontjának[] beállításához Parancs Módban kattints egy gyárépületre, majd kattints a Jobb-Egérgombbal egy helyre.\nAz előállított egységek automatikusan odamennek. -hint.factoryControl.mobile = Egy egységgyár [accent]kimeneti célpontjának[] beállításához Parancs Módban koppints egy gyárépületre, majd koppints egy helyre.\nAz előállított egységek automatikusan odamennek. +hint.coreIncinerate = Ha a támaszpont egy nyersanyagból elérte a maximumot, a beérkező további nyersanyagok azonnal [accent]megsemmisítésre kerülnek[]. +hint.factoryControl = Egy egységgyár [accent]kimeneti célpontjának[] beállításához kattints parancs módban egy gyárépületre, majd kattints jobb egérgombbal egy helyre.\nAz előállított egységek automatikusan odamennek. +hint.factoryControl.mobile = Egy egységgyár [accent]kimeneti célpontjának[] beállításához koppints parancs módban egy gyárépületre, majd koppints egy helyre.\nAz előállított egységek automatikusan odamennek. -gz.mine = Menj a földön lévő \uf8c4 [accent]Rézérc[] közelébe, és kattints a bányászat megkezdéséhez. -gz.mine.mobile = Menj a földön lévő \uf8c4 [accent]Rézérc[] közelébe, és koppints a bányászat megkezdéséhez. -gz.research = Nyisd meg a \ue875 Fejlesztési fát.\nFejleszd ki a \uf870 [accent]Mechanikus Fúró[]t, majd válaszd ki a jobb alsó sarokban lévő menüből.\nKattints egy Rézfoltra, hogy elhelyezd. -gz.research.mobile = Nyisd meg a \ue875 Fejlesztési fát.\nFejleszd ki a \uf870 [accent]Mechanikus Fúró[]t, majd válaszd ki a jobb alsó sarokban lévő menüből.\nKattints egy Rézfoltra, hogy elhelyezd.\n\nNyomd meg a \ue800 [accent]Pipa[]t a jobb alsó sarokban a megerősítéshez. -gz.conveyors = Fejleszd ki és építs \uf896 [accent]Szállítószalag[]ot, hogy a kitermelt nyersanyagokat\neljuttasd a fúróktól/vágóktól a Támaszpontba.\n\nKattints és húzd az egeret bármely irányba, hogy hosszabb Szállítószalagot készíthess.\n[accent]Görgővel[] a szállítás irányát tudod megváltoztatni. -gz.conveyors.mobile = Fejleszd ki és építs \uf896 [accent]Szállítószalag[]ot, hogy a kitermelt nyersanyagokat\neljuttasd a fúróktól/vágóktól a Támaszpontba.\n\nTartsd rajta az ujjad egy másodpercig, és húzd bármely irányba, hogy hosszabb Szállítószalagot készíthess. -gz.drills = Bővítsd a bányászati kapacitást.\nÉpíts több Mechanikus Fúrót.\nBányássz 100 Rezet. -gz.lead = Az \uf837 [accent]Ólom[] egy másik gyakran használt nyersanyag.\nÉpíts fúrókat az Ólom kitermelésére. -gz.moveup = \ue804 Menj tovább a többi feladatért. -gz.turrets = Fejleszd ki és építs 2 darab \uf861 [accent]Duo[] lövegtornyot, hogy védd a Támaszpontot.\nA Duo lövegtornyoknak szükségük van \uf838 [accent]lőszer[]re, amelyeket Szállítószalaggal juttathatsz el hozzájuk. -gz.duoammo = Lásd el a Duo lövegtornyokat [accent]Rézzel[]. Használj Szállítószalagot. -gz.walls = A [accent]Falak[] megakadályozhatják, hogy az épületekben károk keletkezzenek.\nÉpíts \uf8ae [accent]Réz Fal[]akat a lövegtornyok körül. +gz.mine = Menj a földön lévő  [accent]rézérc[] közelébe, és kattints a bányászat megkezdéséhez. +gz.mine.mobile = Menj a földön lévő  [accent]rézérc[] közelébe, és koppints a bányászat megkezdéséhez. +gz.research = Nyisd meg a  Fejlesztési fát.\nFejleszd ki a  [accent]Mechanikus fúrót[], majd válaszd ki a jobb alsó sarokban lévő menüből.\nKattints egy rézfoltra az elhelyezéséhez. +gz.research.mobile = Nyisd meg a  Fejlesztési fát.\nFejleszd ki a  [accent]Mechanikus fúrót[], majd válaszd ki a jobb alsó sarokban lévő menüből.\nKattints egy rézfoltra az elhelyezéséhez.\n\nA megerősítéshez nyomd meg a jobb alsó sarokban lévő  [accent]pipát[]. +gz.conveyors = Fejleszd ki, és építs  [accent]szállítószalagokat[], hogy a kitermelt\nnyersanyagokat eljuttasd a fúróktól a támaszpontba.\n\nKattints és húzd az egeret, hogy több szállítószalagot helyezz el.\nHasználd a [accent]görgőt[] a forgatáshoz. +gz.conveyors.mobile = Fejleszd ki, és építs  [accent]szállítószalagokat[], hogy a kitermelt\nnyersanyagokat eljuttasd a fúróktól a támaszpontba.\n\nTartsd lenyomva az ujjad és húzd el, hogy több szállítószalagot helyezz el. +gz.drills = Bővítsd a bányászati kapacitást.\nÉpíts több mechanikus fúrót.\nBányássz 100 rezet. +gz.lead = Az  [accent]ólom[] egy másik gyakran használt nyersanyag.\nÉpíts fúrókat az ólom kitermelésére. +gz.moveup =  Menj tovább a további utasításokért. +gz.turrets = Fejleszd ki, és építs 2  [accent]Duo[] lövegtornyot, hogy megvédd a támaszpontot.\nA Duo lövegtornyoknak  [accent]lőszerre[] van szükségük, mely szállítószalaggal juttatható el hozzájuk. +gz.duoammo = Szállítószalagok segítségével lásd el [accent]rézzel[] a Duo lövegtornyokat. +gz.walls = A [accent]falak[] megakadályozhatják, hogy az épületekben károk keletkezzenek.\nÉpíts  [accent]rézfalakat[] a lövegtornyok köré. gz.defend = Az ellenség közeledik, készülj fel a védekezésre. -gz.aa = A repülő egységeket nem lehet könnyen elintézni a hagyományos lövegtornyokkal.\nA \uf860 [accent]Scatter[] lövegtornyok kiváló légelhárítást biztosítanak, de szükségük van \uf837 [accent]Ólom[] lőszerre. -gz.scatterammo = Lásd el a Scatter lövegtornyokat [accent]Ólom[] lőszerrel. Használj Szállítószalagot. -gz.supplyturret = [accent]Lövegtorony ellátmány +gz.aa = A repülő egységeket nem lehet könnyen elintézni a hagyományos lövegtornyokkal.\nA  [accent]Scatter[] lövegtornyok kiváló légelhárítást biztosítanak, de lőszerként  [accent]ólomra[] van szükségük. +gz.scatterammo = Szállítószalagok segítségével lásd el  [accent]ólommal[] a Scatter lövegtornyokat. +gz.supplyturret = [accent]Lövegtorony ellátása gz.zone1 = Ez az ellenség leszállóhelye. gz.zone2 = Bármi, ami a hatósugarában épült, elpusztul, amikor egy hullám elindul. gz.zone3 = Egy hullám most kezdődik.\nKészülj fel. -gz.finish = Építs több lövegtornyot, bányássz több nyersanyagot\nés védekezz az ellenséges hullámok ellen, hogy [accent]elfoglald a szektort[]. +gz.finish = Építs több lövegtornyot, bányássz több nyersanyagot,\nés védekezz az ellenséges hullámok ellen, hogy [accent]elfoglald a szektort[]. -onset.mine = Kattints a Bal-Egérgommbal a \uf748 [accent]Berillium[]ra, hogy kibányászd a falakból.\n\nHasználd a [accent][[WASD] gombokat a mozgáshoz. -onset.mine.mobile = Koppints a \uf748 [accent]Berillium[]ra, hogy kibányászd a falakból. -onset.research = Nyisd meg a \ue875 Fejlesztési fát.\nFejleszd ki és építs egy \uf73e [accent]Kondenzációs Turbina[]t a kürtőn.\nEz [accent]Áram[]ot fog generálni. -onset.bore = Fejleszd ki és építs \uf741 [accent]Plazma Vágó[]t.\nEz automatikusan bányássza ki a nyersanyagokat a falakból. -onset.power = Ahhoz, hogy [accent]Áram[]mal lásd el a Plazma Fúrót, Fejleszd ki és építs \uf73d [accent]Sugár Csomópont[]okat.\nSegítségükkel összekötheted a Kondenzációs Turbinát a Plazma Vágóval. -onset.ducts = Fejleszd ki és építs \uf799 [accent]Szállítószalag[]ot, hogy a kitermelt nyersanyagokat eljuttasd a fúróktól/vágóktól a Támaszpontba\nKattints és húzd az egeret bármely irányba, hogy hosszabb Szállítószalagot készíthess.\n[accent]Görgővel[] a szállítás irányát tudod megváltoztatni. -onset.ducts.mobile = Fejleszd ki és építs \uf799 [accent]Szállítószalag[]ot, hogy a kitermelt nyersanyagokat\neljuttasd a fúróktól/vágóktól a Támaszpontba.\n\nTartsd rajta az ujjad egy másodpercig, és húzd bármely irányba, hogy hosszabb Szállítószalagot készíthess. -onset.moremine = Bővítsd a bányászati kapacitást.\nÉpíts több Plazma Vágót, használj Sugár Csomópontokat és Szállítószalagokat.\nBányássz 200 Berilliumot. -onset.graphite = Az összetettebb épületekhez szükség van \uf835 [accent]Grafit[]ra.\nÉpíts Plazma Vágókat, a Grafit kibányászásához. -onset.research2 = Kezdd el a [accent]Gyárak[] fejlesztését.\nFejleszd ki a \uf74d [accent]Sziklazúzó[]t és a \uf779 [accent]Szilícium Ívkemence[]t. -onset.arcfurnace = A Szilícium Ívkemencének szüksége lesz \uf834 [accent]Homok[]ra és \uf835 [accent]Grafit[]ra, hogy \uf82f [accent]Szilícium[]ot gyártson.\nTovábbá [accent]Áram[] is szükséges a működéséhez. -onset.crusher = Használj \uf74d [accent]Sziklazúzó[]t, hogy Homokot bányászhass. -onset.fabricator = Használd az [accent]egységeket[], hogy felfedezd a pályát, megvédd az épületeket, és megtámadhasd velük az ellenséget. Fejleszd ki és építs \uf6a2 [accent]Tank Gyár[]at. -onset.makeunit = Állíts elő egy egységet.\nHasználd a "?" gombot, hogy megnézd a gyártási követelményeit. -onset.turrets = Az egységek hatékonyak, de a [accent]lövegtornyok[] jobb védelmi képességeket biztosítanak, ha hatékonyan alkalmazod őket.\nÉpíts egy \uf6eb [accent]Breach[] lövegtornyot.\nA lövegtornyoknak szüksége van \uf748 [accent]lőszer[]re. -onset.turretammo = Lásd el a lövegtornyokat [accent]Berillium[] lőszerrel. -onset.walls = A [accent]Falak[] megakadályozhatják, hogy az épületekben károk keletkezzenek.\nÉpíts \uf6ee [accent]Berillium Fal[]akat a lövegtornyok körül. +onset.mine = Kattints bal egérgombbal a  [accent]berillium[] kibányászáshoz a falakból.\n\nA mozgáshoz használd a [accent][[WASD] gombokat. +onset.mine.mobile = Koppints a  [accent]berillium[] kibányászáshoz a falakból. +onset.research = Nyisd meg a  fejlesztési fát.\nFejleszd ki, és építs egy  [accent]kondenzációs turbinát[] a kürtőn.\nEz [accent]áramot[] fog termelni. +onset.bore = Fejleszd ki, és építs egy  [accent]plazmafúrót[].\nEz automatikusan bányássza ki a nyersanyagokat a falakból. +onset.power = Ahhoz, hogy [accent]árammal[] lásd el a plazmafúrót, fejleszd ki, és helyezz el egy  [accent]sugárcsomópontot[].\nSegítségükkel összekötheted a kondenzációs turbinát a plazmafúróval. +onset.ducts = Fejleszd ki, és építs  [accent]szállítószalagot[], hogy a kitermelt nyersanyagokat eljuttasd a plazmafúrótól a támaszpontba.\nKattints, és húzd az egeret több szállítószalag elhelyezéséhez.\nHasználd a [accent]görgőt[] a forgatáshoz. +onset.ducts.mobile = Fejleszd ki, és építs  [accent]szállítószalagot[], hogy a kitermelt nyersanyagokat eljuttasd a plazmafúrótól a támaszpontba.\n\nTartsd lenyomva az ujjad és húzd el, hogy több szállítószalagot helyezz el. +onset.moremine = Bővítsd a bányászati kapacitást.\nHelyezz el több plazmavágót, és a támogatásukhoz használj sugárcsomópontokat és szállítószalagokat.\nBányássz 200 berilliumot. +onset.graphite = Az összetettebb épületekhez  [accent]grafit[] szükséges.\nÉpíts plazmavágókat a grafit kibányászásához. +onset.research2 = Kezdd el a [accent]gyárak[] fejlesztését.\nFejleszd ki a  [accent]sziklazúzót[] és a  [accent]szilícium ívkemencét[]. +onset.arcfurnace = A Szilícium ívkemencének  [accent]homokra[] és  [accent]grafitra[] van szüksége, hogy  [accent]szilíciumot[] gyártson.\nTovábbá [accent]áram[] is szükséges a működéséhez. +onset.crusher = Használj  [accent]sziklazúzókat[], hogy homokot bányász. +onset.fabricator = Használd az [accent]egységeket[], hogy felfedezd a pályát, megvédd az épületeket, és megtámadhasd velük az ellenséget. Fejleszd ki, és helyezz el egy  [accent]tankgyárat[]. +onset.makeunit = Állíts elő egy egységet.\nHasználd a „?” gombot, hogy megnézd a kiválasztott gyár követelményeit. +onset.turrets = Az egységek hatékonyak, de hatásosan alkalmazva a [accent]lövegtornyok[] jobb védelmi képességeket biztosítanak.\nHelyezz el egy  [accent]Breach[] lövegtornyot.\nA lövegtornyoknak  [accent]lőszerre[] van szüksége. +onset.turretammo = Szállítótalagok használatával lásd el a lövegtornyokat [accent]berillium[] lőszerrel. +onset.walls = A [accent]falak[] megakadályozhatják, hogy az épületekben károk keletkezzenek.\nÉpíts  [accent]Berillium falakat[] a lövegtornyok körül. onset.enemies = Az ellenség közeledik, készülj fel a védekezésre. onset.defenses = [accent]Állíts fel védelmet:[lightgray] {0} -onset.attack = Az ellenség most sebezhető. Ellentámadásra fel. -onset.cores = Új Támaszpont csak a [accent]Támaszpont Csempé[]re építhető.\nAz új Támaszpontok előretolt bázisként működnek, és megosztják a nyersanyagkészletüket más Támaszpontokkal.\nÉpíts egy új \uf725 Támaszpontot. -onset.detect = Az ellenség 2 percen belül észrevesz téged.\nÁllíts fel védelmet, bányássz és termelj. -onset.commandmode = Tartsd nyomva a [accent]shift[] gombot, hogy belépj a [accent]Parancs Mód[]ba.\n[accent]Bal egérgomb lenyomásával és húzással[] tudod kijelölni az egységeket.\nKattints [accent]Jobb egérgomb[]al egy pontra, vagy ellenségre, hogy a kiválasztott egységeket mozgásra, vagy támadásra utasítsd. -onset.commandmode.mobile = Nyomd meg a [accent]Parancs[] gombot, hogy belépj a [accent]Parancs Mód[]ba.\nTartsd a kijelzőn az ujjad, majd [accent]húzd[] azt az egységek kiválasztásához.\n[accent]Koppints[] egy pontra, vagy ellenségre, hogy a kiválasztott egységeket mozgásra, vagy támadásra utasítsd. -aegis.tungsten = Volfrámot [accent]Ütvefúró[]val tudsz bányászni.\nEnnek az épületnek szüksége van [accent]Víz[]re és [accent]Áram[]ra. +onset.attack = Az ellenség most sebezhető. Indítsd ellentámadást. +onset.cores = Új támaszpont csak a [accent]támaszpontcsempére[] helyezhető.\nAz új támaszpontok előretolt bázisként működnek, és megosztják a nyersanyagkészletüket más támaszpontokkal.\nHelyezz el egy  támaszpontot. +onset.detect = Az ellenség 2 percen belül észrevesz téged.\nÁllíts fel védelmet, bányászatot és termelést. +onset.commandmode = Tartsd nyomva a [accent]Shift[] gombot, hogy [accent]parancs módba[] lépj.\n[accent]Bal egérgombbal és húzással[] lehet egységeket kijelölni.\n[accent]Jobb egérgombbal[] utasíthatók az egységek mozgásra vagy támadásra. +onset.commandmode.mobile = Nyomd meg a [accent]parancs gombot[], hogy [accent]parancs módba[] lépj.\nTartsd nyomva az ujjad, majd [accent]húzd[] az egységek kiválasztásához.\n[accent]Koppintással[] utasíthatók az egységek mozgásra vagy támadásra. +aegis.tungsten = Volfrámot [accent]ütvefúróval[] lehet bányászni.\nEnnek az épületnek [accent]vízre[] és [accent]áramra[] van szüksége. -split.pickup = Egyes blokkok a Támaszpont drónjával felvehetőek.\nVegyél fel egy [accent]Konténer[]t és helyezd bele egy [accent]Rakomány Csomagoló[]ba.\n(Az alapértelmezett gombok [ és ] a felvételhez és a lerakáshoz.) -split.pickup.mobile = Egyes blokkok a Támaszpont drónjával felvehetőek.\nVegyél fel egy [accent]Konténer[]t és helyezd bele egy [accent]Rakomány Csomagoló[]ba.\nAhhoz felvegyél, vagy lerakj valamit koppints rá hosszan) -split.acquire = Az egységek építéséhez Volfrámot kell szerezned. -split.build = Az egységeket a fal másik oldalára kell eljuttatni.\nÉpíts 2 [accent]Rakomány Tömegmozgató[]t egyet-egyet a fal mindkét oldalán\nÁllítsd be a szállítási kapcsolatukat úgy, hogy kiválasztod az egyiket, majd kiválasztod a másikat. -split.container = Hasonlít a Konténerre, csak egységek szállítására is alkalmas a [accent]Rakomány Tömegmozgató[]val.\nÉpíts egy egységgyárat egy tömegmozgató mellé, hogy feltöltsd őket, majd küldd át őket a falon, hogy megtámadják az ellenséges bázist. +split.pickup = Egyes blokkok a támaszpont drónjával is felvehetők.\nVedd fel ezt a [accent]konténert[] és helyezd egy [accent]rakománycsomagolóba[].\n(A felvétel és lerakás alapértelmezett gombjai: [[ és ].) +split.pickup.mobile = Egyes blokkok a támaszpont drónjával is felvehetők.\nVedd fel ezt a [accent]konténert[] és helyezd egy [accent]rakománycsomagolóba[].\n(A felvételhez és lerakáshoz nyomd meg hosszan.) +split.acquire = Az egységek építéséhez volfrámot kell szerezned. +split.build = Az egységeket a fal másik oldalára kell eljuttatni.\nÉpíts két [accent]rakomány-tömegmozgatót[], egyet-egyet a fal mindkét oldalán.\nÁllítsd be a szállítási kapcsolatukat úgy, hogy kiválasztod az egyiket, majd kiválasztod a másikat. +split.container = A konténerekhez hasonlóan, az egységek is szállíthatók a [accent]rakomány-tömegmozgatóval[].\nÉpíts egy egységgyárat egy tömegmozgató mellé, hogy feltöltsd őket, majd küldd át őket a falon, hogy megtámadják az ellenséges bázist. -item.copper.description = Széleskörűen felhasználható építkezésre és lövedékként. -item.copper.details = Szokatlanul elterjedt fém a Serpulo-n. Gyenge szerkezetű, de megerősíthető. -item.lead.description = Folyadékszállító csővezetékek építésére használatos, de elektromos eszközökben is alkalmazható. -item.lead.details = Sűrű. Közömbös. Széles körben használatos elemekben.\nMegjegyzés: Valószínűleg mérgező a biológiai életformákra. Nem mintha sok maradt volna errefelé. -item.metaglass.description = Folyadékok szállítására és tárolására alkalmas csővezetékek és épületek építésére, továbbá lövedékként is használható. -item.graphite.description = Elektromos alkatrészek alapanyagaként és lövedékként is használható. -item.sand.description = Egyéb finom nyersanyagok gyártási alapanyaga. -item.coal.description = Tüzelőanyag és gyártási alapanyag. -item.coal.details = Fosszilizálódott növényi anyagnak tűnik, jóval a "spóra incidens" előttről. -item.titanium.description = Folyadékok szállítására, fúrókban és légi járművekben használható. -item.thorium.description = Strapabíró szerkezetekben használható nukleáris tüzelőanyagként. -item.scrap.description = Olvasztással és porítással finom nyersanyagok nyerhetők ki belőle. +item.copper.description = Széleskörűen használatos építkezésnél és lőszerként. +item.copper.details = Réz. Szokatlanul bőséges fém a Serpulón. Megerősítés nélkül strukturálisan gyenge. +item.lead.description = Folyadékszállításnál és elektromos eszközökben használatos. +item.lead.details = Sűrű. Közömbös. Széles körben használatos az akkumulátorokban.\nMegjegyzés: Valószínűleg mérgező a biológiai életformákra. Nem mintha sok maradt volna errefelé. +item.metaglass.description = Folyadékszállító és -tárolóépületeknél használatos. +item.graphite.description = Elektromos alkatrészekben és lőszerként használatos. +item.sand.description = Egyéb finomított nyersanyagok gyártása során használatos. +item.coal.description = Tüzelőanyagként és finomított nyersanyagok gyártásához használatos. +item.coal.details = Fosszilizálódott növényi anyagnak tűnik, jóval a „spóra incidens” előttről. +item.titanium.description = Folyadékszállító épületekben, fúrókban és gyárakban használatos. +item.thorium.description = Strapabíró szerkezetekben használatos nukleáris fűtőanyag. +item.scrap.description = Olvasztókban és porítókban használatos már nyersanyagok finomításához. item.scrap.details = Ősi építmények és egységek hátrahagyott maradványai. -item.silicon.description = Napelemek, összetett áramkörök és nyomkövető lövedékek fontos alapanyaga. Sosincs belőle elég. -item.plastanium.description = Fejlett egységek alapanyagaként, hőszigetelésre és repeszes lövedékekhez is használható. -item.phase-fabric.description = Fejlett elektromos eszközökben és önjavító szerkezetekben is használható. -item.surge-alloy.description = Magas szintű fegyverzetekben és aktív védelemhez is használható. -item.spore-pod.description = Átalakítható Olajjá, vagy robbanószerekké, de használható tüzelőanyagként is. -item.spore-pod.details = Spórák. Egy valószínűleg mesterséges életforma. Más életformák számára halálos gázt bocsátanak ki. Szélsőségesen invazív. Megfelelő körülmények között erősen gyúlékony. -item.blast-compound.description = A bombák és a robbanó lövedékek egyik fő összetevője. -item.pyratite.description = Gyújtó lövedékekben és tüzelőanyag-alapú generátorokban is használható. +item.silicon.description = Napelemekben, összetett áramkörökben és nyomkövető lőszerekben használatos. +item.plastanium.description = Fejlett egységek alapanyagaként, hőszigetelésben és repeszlövedékekben használatos. +item.phase-fabric.description = Fejlett elektromos eszközökben és önjavító épületekben használatos. +item.surge-alloy.description = Fejlett fegyverzetekhez és aktív védelmi épületekhez használatos. +item.spore-pod.description = Olajjá, robbanószerré és tüzelőanyaggá alakításhoz használatos. +item.spore-pod.details = Spórák. Valószínűleg egy mesterséges életforma. Más életformák számára halálos gázt bocsátanak ki. Szélsőségesen invazív. Megfelelő körülmények között erősen gyúlékony. +item.blast-compound.description = Bombákhoz és robbanólövedékekhez használatos. +item.pyratite.description = Gyújtólövedékekben és tüzelőanyag-alapú generátorokban használatos. #Erekir -item.beryllium.description = Sokféle épület- és lőszertípushoz használatos az Erekir-en. -item.tungsten.description = Fúrókban/vágókban, páncélokban használatos, de lőszerként is alkalmazható. A fejlettebb szerkezetek építéséhez szükséges. -item.oxide.description = Hővezetőként és Áramszigetelőként is használatos. -item.carbide.description = Korszerű szerkezetekben, nehezebb egységekben használatos, de lőszerként is alkalmazható. +item.beryllium.description = Sokféle épület- és lőszertípushoz használatos az Erekiren. +item.tungsten.description = Fúrókban, páncélokban és lőszerben használatos. A fejlettebb épületek építéséhez szükséges. +item.oxide.description = Hővezetőként és szigetelőként is használatos az áramtermelésben. +item.carbide.description = Fejlett szerkezetekben, nehezebb egységekhez és lőszerként használatos. -liquid.water.description = Gépek hűtésére és Törmelékfeldolgozásra is használható. -liquid.slag.description = Leválasztóban finomítva értékes fémek forrása, az ellenségre fröcskölve gyilkos fegyver. -liquid.oil.description = Magas szintű nyersanyagok gyártására, vagy gyújtólövedékként is használható. -liquid.cryofluid.description = Hűtőfolyadék az erőművek, reaktorok, lövegtornyok és gyárak számára. +liquid.water.description = Gépek hűtéséhez és törmelékfeldolgozáshoz használatos. +liquid.slag.description = Leválasztóban alkotófémekre finomítható. Folyadékot használó tornyokban lőszerként használható. +liquid.oil.description = Fejlett nyersanyagok gyártásához és gyújtólövedékhez használatos. +liquid.cryofluid.description = Reaktorokban, lövegtornyokban és gyárakban használatos hűtőfolyadékként. #Erekir liquid.arkycite.description = Kémiai reakciókban használatos energiatermelésre és anyagszintézisre. -liquid.ozone.description = Oxidálószerként használatos az anyaggyártásban és üzemanyagként. Mérsékelten robbanékony. -liquid.hydrogen.description = A nyersanyagok kitermelésében, egységgyártásban és szerkezetjavításban is használatos. Gyúlékony. -liquid.cyanogen.description = Lőszerként, vagy fejlett egységek építéséhez és különböző reakciókhoz használatos a fejlett épületekben. Erősen gyúlékony. -liquid.nitrogen.description = A nyersanyagok kitermelésében, gáztermelésnél és egységgyártásnál is használatos. Semleges gáz. -liquid.neoplasm.description = A Neoplázia Reaktor veszélyes biológiai mellékterméke. Gyorsan átterjed minden szomszédos víztartalmú épületre, amelyhez hozzáér és közben károsítja azokat. Sűrű folyadék. -liquid.neoplasm.details = Neoplazma. Egy kontrollálhatatlan, gyorsan osztódó, iszap állagú, szintetikus sejtmassza. Hőálló. Rendkívül veszélyes minden Vízzel kapcsolatos szerkezetre.\n\nTúl összetett és instabil a szabványos elemzésekhez. Potenciális alkalmazási területe ismeretlen. Ajánlott a Salak medencékben való elégetése. +liquid.ozone.description = Az anyaggyártásban oxidálószerként, illetve üzemanyagként használatos. Mérsékelten robbanékony. +liquid.hydrogen.description = A nyersanyagok kitermelésében, egységgyártásban és szerkezetjavításban használatos. Gyúlékony. +liquid.cyanogen.description = Lőszerként, fejlett egységek építéséhez és különböző reakciókhoz használatos a fejlett blokkokban. Erősen gyúlékony. +liquid.nitrogen.description = A nyersanyagok kitermelésénél, gáztermelésnél és egységgyártásnál is használatos. Semleges gáz. +liquid.neoplasm.description = A neoplázia reaktor veszélyes biológiai mellékterméke. Gyorsan átterjed minden szomszédos víztartalmú blokkra, amelyhez hozzáér, és közben károsítja azokat. Sűrű folyadék. +liquid.neoplasm.details = Neoplazma. Egy kontrollálhatatlan, gyorsan osztódó, iszap állagú, szintetikus sejtmassza. Hőálló. Rendkívül veszélyes minden vízzel kapcsolatos szerkezetre.\n\nTúl összetett és instabil a szabványos elemzésekhez. Potenciális alkalmazási területe ismeretlen. A salakmedencékben való elégetés ajánlott. -block.derelict = \uf77e [lightgray]Elhagyatott -block.armored-conveyor.description = Nyersanyagokat szállít. Nem fogad el nyersanyagot oldalról. +block.derelict =  [lightgray]Elhagyatott +block.armored-conveyor.description = Nyersanyagokat szállít. Nem fogad el oldalról nem szállítószalagról érkező nyersanyagot. block.illuminator.description = Világít. -block.message.description = Üzenetet tárol szövetségesek kommunikációjához. +block.message.description = Üzenetet tárol a szövetségesek kommunikációjához. block.reinforced-message.description = Üzenetet tárol a szövetségesek közötti kommunikációhoz. block.world-message.description = A pályakészítésben használható üzenetblokk. Nem lehet megsemmisíteni. -block.graphite-press.description = Szenet présel Grafittá. -block.multi-press.description = Szenet sajtol Grafittá. Hatékonyan dolgozik, de Vizet igényel hűtéshez. -block.silicon-smelter.description = Szilíciumot nyer ki Homok és Szén keverékéből. -block.kiln.description = Ólomból és Homokból olvaszt Ólomüveget. -block.plastanium-compressor.description = Műanyagot gyárt Olaj és Titán felhasználásával. -block.phase-weaver.description = Tóritkvarcot képez Tórium és Homok keverékéből. -block.surge-smelter.description = Titán, Ólom, Szilícium és Réz olvadékából állít elő Elektrometált. -block.cryofluid-mixer.description = Finom Titánport kever Vízhez a Hűtőfolyadék előállításához. -block.blast-mixer.description = Piratitból és Spóra Kapszulákból készít Robbanóelegyet. -block.pyratite-mixer.description = Szenet, Homokot és Ólmot vegyít Piratittá. -block.melter.description = Törmeléket olvaszt Salakká. -block.separator.description = Szétbontja a Salakot ásványi összetevőire. -block.spore-press.description = Nagy nyomáson Olajat sajtol a Spóra Kapszulából. -block.pulverizer.description = Finom Homokká őrli a Törmeléket. -block.coal-centrifuge.description = Szenet nyer ki Olajból. +block.graphite-press.description = Grafittá préseli a szenet. +block.multi-press.description = Grafittá préseli a szenet. Hűtése vizet igényel. +block.silicon-smelter.description = A homokot és szenet szilíciummá finomítja. +block.kiln.description = Ólomüveget olvaszt az ólomból és a homokból. +block.plastanium-compressor.description = Olaj és titán felhasználásával műanyagot gyárt. +block.phase-weaver.description = Tórium és homok keverékéből tóritkvarcot állít elő. +block.surge-smelter.description = Titán, ólom, szilícium és réz ötvözésével elektrometált állít elő. +block.cryofluid-mixer.description = Finom titánpor vízhez keverésével hűtőfolyadékot állít elő. +block.blast-mixer.description = Robbanóelegyet készít a piratitból és a spórakapszulákból. +block.pyratite-mixer.description = Piratittá vegyíti a szenet, homokot és ólmot. +block.melter.description = Salakká olvasztja a törmeléket. +block.separator.description = Ásványi összetevőire bontja a salakot. +block.spore-press.description = Olajat sajtol a spórakapszulából. +block.pulverizer.description = Finom homokká őrli a törmeléket. +block.coal-centrifuge.description = Szénné alakítja az olajat. block.incinerator.description = Megsemmisít minden nyersanyagot és folyadékot. -block.power-void.description = Elnyel minden Áramot. (Csak homokozóban.) -block.power-source.description = Végtelen Áramot termel. (Csak homokozóban.) -block.item-source.description = Végtelen nyersanyagot bocsát ki. (Csak homokozóban.) -block.item-void.description = Megsemmisít minden nyersanyagot. (Csak homokozóban.) -block.liquid-source.description = Végtelen folyadékot bocsát ki. (Csak homokozóban.) -block.liquid-void.description = Megsemmisít minden folyadékot. (Csak homokozóban.) -block.payload-source.description = Végtelenül sok rakomány. (Csak homokozóban.) -block.payload-void.description = Minden rakomány megsemmisítése. (Csak homokozóban.) +block.power-void.description = Elnyel minden áramot. Csak homokozó módban. +block.power-source.description = Végtelen áramot termel. Csak homokozó módban. +block.item-source.description = Végtelen nyersanyagot termel. Csak homokozó módban. +block.item-void.description = Megsemmisít minden nyersanyagot. Csak homokozó módban. +block.liquid-source.description = Végtelen folyadékot termel. Csak homokozó módban. +block.liquid-void.description = Megsemmisít minden folyadékot. Csak homokozó módban. +block.payload-source.description = Végtelen rakományt termel. Csak homokozó módban. +block.payload-void.description = Megsemmisít minden rakományt. Csak homokozó módban. block.copper-wall.description = Megvédi az épületeket az ellenséges lövedékektől. block.copper-wall-large.description = Megvédi az épületeket az ellenséges lövedékektől. block.titanium-wall.description = Megvédi az épületeket az ellenséges lövedékektől. @@ -2027,155 +2027,155 @@ block.phase-wall.description = Megvédi az épületeket az ellenséges lövedék block.phase-wall-large.description = Megvédi az épületeket az ellenséges lövedékektől, a legtöbb lövedék visszapattan róla. block.surge-wall.description = Megvédi az épületeket az ellenséges lövedékektől, periodikusan elektromos kisüléseket generál, ha hozzáérnek. block.surge-wall-large.description = Megvédi az épületeket az ellenséges lövedékektől, periodikusan elektromos kisüléseket generál, ha hozzáérnek. -block.door.description = Fal, amit nyitni és zárni lehet. -block.door-large.description = Fal, amit nyitni és zárni lehet. De ez nagyobb. -block.mender.description = Javítja az épületeket a hatókörén belül.\nSzilíciummal növelhető a hatósugara és hatékonysága. -block.mend-projector.description = Javítja az épületeket a hatókörén belül.\nTóritkvarccal növelhető a hatósugara és hatékonysága. +block.door.description = Nyitható és zárható fal. +block.door-large.description = Nyitható és zárható fal. +block.mender.description = Időnként javítja a közeli épületeket.\nSzilíciummal növelhető a hatósugara és hatékonysága. +block.mend-projector.description = Javítja a közeli épületeket.\nTóritkvarccal növelhető a hatósugara és hatékonysága. block.overdrive-projector.description = Növeli a közeli épületek termelési sebességét.\nTóritkvarccal növelhető a hatósugara és hatékonysága. -block.force-projector.description = Hatszögletű erőteret hoz létre maga körül, amely megvédi az épületeket és a benne lévő egységeket a sérüléstől.\nTúlmelegszik, ha túl sok sérülést szenved. Opcionálisan Hűtőfolyadékot használ a túlmelegedés megakadályozására. A Tóritkvarc növeli a pajzs méretét. +block.force-projector.description = Hatszögletű erőteret hoz létre maga körül, amely megvédi az épületeket és a benne lévő egységeket a sérüléstől.\nTúlmelegszik, ha túl sok sérülést szenved. Hűtőfolyadékot használva megakadályozható a túlmelegedés. A tóritkvarc növeli a pajzs méretét. block.shock-mine.description = Elektromos kisülést hoz létre, ha ellenséggel érintkezik. -block.conveyor.description = Szállítószalag. Nyersanyagokat szállít. -block.titanium-conveyor.description = Nyersanyagokat szállít. Gyorsabb a sima Szállítószalagnál. -block.plastanium-conveyor.description = Nyersanyagokat szállít tömbösítve. Hátulról fogadja a nyersanyagokat, elöl három irányba szétosztja őket. Több kezdő- és végponttal növelhető az áteresztőképessége. -block.junction.description = Hídként működik két egymást keresztező Szállítószalag között. +block.conveyor.description = Nyersanyagokat szállít. +block.titanium-conveyor.description = Nyersanyagokat szállít. Gyorsabb a sima szállítószalagnál. +block.plastanium-conveyor.description = Nyersanyagokat szállít tömbösítve. Hátulról fogadja a nyersanyagokat, elöl három irányba osztja szét őket. Több kezdő- és végponttal növelhető az áteresztőképessége. +block.junction.description = Hídként működik két egymást keresztező szállítószalag között. block.bridge-conveyor.description = Nyersanyagokat szállít épületek és terepakadályok fölött. -block.phase-conveyor.description = Nyersanyagokat szállít épületek és terepakadályok fölött. Nagyobb távolságra ér, mint a sima Szállítószalag Híd, de Áramot használ. +block.phase-conveyor.description = Nyersanyagokat szállít épületek és terepakadályok fölött. Nagyobb távolságra ér, mint a sima szállítószalaghíd, de áramot igényel. block.sorter.description = Csak a kiválasztott nyersanyagot engedi tovább egyenesen, minden mást oldalra ad ki. -block.inverted-sorter.description = A kiválasztott nyersanyagot oldalra adja ki, minden mást egyenesen enged tovább. -block.router.description = Háromfelé osztja szét a beérkező nyersanyagokat. -block.router.details = Pokoli masina. Ne tedd közvetlenül gyárak mellé, mert az épületek nyersanyagai eltömítik. -block.distributor.description = Hétfelé osztja szét a beérkező nyersanyagokat. -block.overflow-gate.description = Csak akkor ad ki nyersanyagot oldalra, ha előrefelé már nem tud. Nem használható közvetlenül Túlfolyó Kapu, vagy Alul-folyó Kapu mellett. -block.underflow-gate.description = Csak akkor enged tovább nyersanyagokat előre, ha oldalra már nem tudja kiadni őket. Nem használható közvetlenül Túlfolyó Kapu, vagy Alul-folyó Kapu mellett. -block.mass-driver.description = Nagy hatótávolságú nyersanyagszállító eszköz. Rakományokban lő át nyersanyagokat egy másik, hozzákapcsolt Tömegmozgatónak. -block.mechanical-pump.description = Folyadékot szivattyúz. Nem igényel Áramot. -block.rotary-pump.description = Folyadékot szivattyúz. Árammal működik. -block.impulse-pump.description = Folyadékot szivattyúz. Sokat termel, de sok Áramot fogyaszt. -block.conduit.description = Folyadékot szállít. -block.pulse-conduit.description = Folyadékot szállít. Gyorsabb és nagyobb tárolókapacitású, mint a sima Csővezeték. -block.plated-conduit.description = Folyadékot szállít. Nem fogad el folyadékot oldalról. Nem önti ki a folyadékot, ha nincs a végén semmi. -block.liquid-router.description = Háromfelé osztja szét a beérkező folyadékot. Bizonyos mennyiség tárolására is képes. -block.liquid-container.description = Jelentős mennyiségű folyadékot tárol. Minden oldalon kijuttatja a folyadékot, hasonlóan a Folyadék Elosztóhoz. -block.liquid-tank.description = Nagy mennyiségű folyadékot tárol és minden oldalán képes azt kijuttatni. +block.inverted-sorter.description = Hasonló a szokásos válogatóhoz, de a kiválasztott nyersanyagot oldalra adja ki. +block.router.description = Egyenletesen háromfelé osztja szét a beérkező nyersanyagokat. +block.router.details = Egy szükséges rossz. Nem ajánlott termelőegységek mellett használni, mert a kimenet eltömíti. +block.distributor.description = Egyenletesen hétfelé osztja szét a beérkező nyersanyagokat. +block.overflow-gate.description = Csak akkor ad ki nyersanyagot oldalra, ha előrefelé már nem tud. +block.underflow-gate.description = A túlcsorduló kapu ellentettje. Csak akkor ad ki nyersanyagot előrefelé, ha oldalra már nem tud. +block.mass-driver.description = Nagy hatótávolságú nyersanyagszállító eszköz. Rakományokat gyűjt össze, és átlövi egy másik, hozzákapcsolt tömegmozgatónak. +block.mechanical-pump.description = Folyadékot szivattyúz és ad ki. Nem igényel áramot. +block.rotary-pump.description = Folyadékot szivattyúz és ad ki. Áramot igényel. +block.impulse-pump.description = Folyadékot szivattyúz és ad ki. +block.conduit.description = Folyadékot szállít. Pumpákkal és egyéb csővezetékekkel együtt használatos. +block.pulse-conduit.description = Folyadékot szállít. Gyorsabban szállít, és nagyobb tárolókapacitású, mint a szokásos csővezeték. +block.plated-conduit.description = Folyadékot szállít. Nem fogad el folyadékot oldalról. Nem szivárog, ha nincs a végén semmi. +block.liquid-router.description = Egyenletesen háromfelé osztja szét a beérkező folyadékot. Bizonyos mennyiség tárolására is képes. +block.liquid-container.description = Jelentős mennyiségű folyadékot tárol. Minden oldalon kiadja, hasonlóan a folyadékelosztóhoz. +block.liquid-tank.description = Nagy mennyiségű folyadékot tárol. Minden oldalon kiadja, hasonlóan a folyadékelosztóhoz. block.liquid-junction.description = Hídként működik két egymást keresztező csővezeték között. block.bridge-conduit.description = Folyadékot szállít épületek és terepakadályok fölött. -block.phase-conduit.description = Folyadékot szállít épületek és terepakadályok fölött. Nagyobb távolságra ér, mint a sima Csővezeték Híd, de Áramot használ. -block.power-node.description = Áramot vezet az összekapcsolt épületekhez. Az érintkező épületekkel automatikusan kapcsolatban van. -block.power-node-large.description = Nagyobb Villanyoszlop nagyobb hatótávolsággal. -block.surge-tower.description = Hosszútávú Villanyoszlop, csak kevés kapcsolatra képes. -block.diode.description = Az eltárolt Áramot irányítja át egy megadott irányba, de csak akkor, ha a fogadó oldalon van kevesebb tárolva. -block.battery.description = Áramot tárol el, ha túltermelés van. Leadja az Áramot, ha hiány van. -block.battery-large.description = Áramot tárol el, ha túltermelés van. Leadja az Áramot, ha hiány van. Nagyobb kapacitású a sima Akkumulátornál. -block.combustion-generator.description = Áramot termel éghető anyagok elégetésével. -block.thermal-generator.description = Forró környezetben Áramot termel. -block.steam-generator.description = Áramot termel éghető anyagok elégetésével és Víz gőzzé alakításával. -block.differential-generator.description = Egy lórúgásnyi Áramot termel. Hasznosítja a Hűtőfolyadék és az égő Piratit hőmérséklet különbségét. -block.rtg-generator.description = A radioaktív bomlás energiáját hasznosítja, hogy lassan de biztosan Áramot termeljen. -block.solar-panel.description = Napfényből állít elő kevés Áramot. -block.solar-panel-large.description = Napfényből állít elő kevés Áramot. Hatékonyabb a sima Napelemnél. -block.thorium-reactor.description = Jelentős Áramot állít elő Tóriumból. Állandó hűtést igényel. Ha túlmelegszik, akkor felrobban. -block.impact-reactor.description = Csúcsra járatva rengeteg Áramot termel. Jelentős Árambefektetést igényel a reakció beindítása. -block.mechanical-drill.description = Ércre helyezve kis tempóban termeli ki az adott nyersanyagot. Csak alapvető nyersanyagok kitermelésére képes. -block.pneumatic-drill.description = Egy fejlettebb fúró, képes Titán kitermelésére. Gyorsabban dolgozik a Mechanikus Fúrónál. -block.laser-drill.description = Lézerek használatával még gyorsabban tud dolgozni, de Áramot használ. Képes Tóriumot kitermelni. -block.blast-drill.description = A technológia csúcsa. Rengeteg Áramot használ. -block.water-extractor.description = Képes a talajvíz kiszivattyúzására. Akkor használd, ha nincs elérhető Víz a felszínen. +block.phase-conduit.description = Folyadékot szállít épületek és terepakadályok fölött. Nagyobb távolságra ér, mint a sima csővezetékhíd, de áramot igényel. +block.power-node.description = Áramot vezet az összekapcsolt csomópontokhoz. A szomszédos blokkokkal automatikusan kapcsolatban van. +block.power-node-large.description = Nagyobb villanyoszlop, nagyobb hatótávolsággal. +block.surge-tower.description = Hosszútávú villanyoszlop, kevesebb elérhető kapcsolattal. +block.diode.description = Az eltárolt áramot irányítja egy irányba továbbítja, de csak akkor, ha a fogadó oldalon kevesebb van tárolva. +block.battery.description = Áramot tárol el, ha túltermelés van. Leadja az áramot, ha hiány van. +block.battery-large.description = Áramot tárol el, ha túltermelés van. Leadja az áramot, ha hiány van. Nagyobb kapacitású a szokásos akkumulátornál. +block.combustion-generator.description = Áramot termel éghető anyagok, például szén, elégetésével. +block.thermal-generator.description = Forró környezetben áramot termel. +block.steam-generator.description = Éghető anyagok elégetésével és víz gőzzé alakításával áramot termel. +block.differential-generator.description = Nagy mennyiségű áramot termel. A hűtőfolyadék és az égő piratit hőmérséklet-különbségét használja ki. +block.rtg-generator.description = A radioaktív bomlás energiáját hasznosítja, hogy lassan, de biztosan áramot termeljen. +block.solar-panel.description = Napfényből állít elő kevés áramot. +block.solar-panel-large.description = Napfényből állít elő kevés áramot. Hatékonyabb a szokásos napelemnél. +block.thorium-reactor.description = Jelentős mennyiségű áramot állít elő tóriumból. Állandó hűtést igényel. Ha nincs megfelelően hűtőfolyadékkal ellátva, akkor felrobban. +block.impact-reactor.description = Csúcsra járatva rengeteg áramot termel. A reakció beindítása jelentős árambefektetést igényel. +block.mechanical-drill.description = Ércre helyezve lassú tempóban termeli ki az adott nyersanyagot. Csak alapvető nyersanyagok kitermelésére képes. +block.pneumatic-drill.description = Egy fejlettebb fúró, mely titán kitermelésére is képes. Gyorsabban dolgozik a mechanikus fúrónál. +block.laser-drill.description = Lézerek használatával még gyorsabban tud dolgozni, de áramot igényel. Képes tóriumot kitermelni. +block.blast-drill.description = A technológia csúcsa. Nagy mennyiségű áramot igényel. +block.water-extractor.description = Kiszivattyúzza a talajvizet. Olyan helyeken használatos, ahol nem érhető el felszíni vízforrás. block.cultivator.description = A légkörben szálló spórákat kapszulákba sűríti. -block.cultivator.details = Visszaszerzett technológia. Hatalmas tömegű biomassza gyártására alkalmas a lehető leghatékonyabban. Valószínűleg a Serpulo-t ma borító spórák kezdeti inkubátora. -block.oil-extractor.description = Nagy mennyiségben használ Vizet, Homokot és Áramot, hogy Olajat nyerjen ki a földből. +block.cultivator.details = Visszaszerzett technológia. Hatalmas tömegű biomassza gyártására alkalmas a lehető leghatékonyabban. Valószínűleg a Serpulo felszínét ma borító spórák kezdeti inkubátora. +block.oil-extractor.description = Nagy mennyiségű áramot, homokot és vizet használ, hogy olajat fúrjon. block.core-shard.description = Támaszpont. Ha elpusztul, a szektor elveszett. -block.core-shard.details = Az első modell. Kompakt. Önsokszorosító. Egyszer használatos gyorsítófúvókákkal van felszerelve, nem bolygóközi utazásra tervezték. -block.core-foundation.description = Támaszpont. Páncélozott. Több nyersanyagot tárol, mint a Szilánk. +block.core-shard.details = Az első modell. Kompakt. Önsokszorosító. Egyszer használatos indítórakétákkal van felszerelve, nem bolygóközi utazásra tervezték. +block.core-foundation.description = Támaszpont. Jól páncélozott. Több nyersanyagot tárol, mint a Szilánk. block.core-foundation.details = A második modell. -block.core-nucleus.description = Támaszpont. Megerősített páncélzattal. Hatalmas mennyiségű nyersanyag tárolására képes. +block.core-nucleus.description = Támaszpont. Rendkívül jól páncélozott. Hatalmas mennyiségű nyersanyag tárolására képes. block.core-nucleus.details = A harmadik, végső modell. -block.vault.description = Nagy mennyiséget tárol minden nyersanyagtípusból. A tartalma kirakodó segítségével nyerhető ki. -block.container.description = Kis mennyiséget tárol minden nyersanyagtípusból. A tartalma kirakodó segítségével nyerhető ki. +block.vault.description = Nagy mennyiséget tárol minden nyersanyagtípusból. Bővíti a raktárat, ha egy támaszpont mellé van helyezve. A tartalma kirakodó segítségével nyerhető ki. +block.container.description = Kis mennyiséget tárol minden nyersanyagtípusból. Bővíti a raktárat, ha egy támaszpont mellé van helyezve. A tartalma kirakodó segítségével nyerhető ki. block.unloader.description = Kirakodja a szomszédos épületekből a kiválasztott nyersanyagot. block.launch-pad.description = Nyersanyagokat juttat el más szektorokba. -block.launch-pad.details = Szub-orbitális rendszer a nyersanyagok szektorok között történő szállítására. A teherkapszulák törékenyek, ezért nem képesek túlélni a visszatérést. +block.launch-pad.details = Szuborbitális rendszer a nyersanyagok szektorok között történő szállítására. A teherkapszulák törékenyek, ezért nem képesek túlélni a légkörbe való visszatérést. block.duo.description = Változatos lövedékekkel lő az ellenségre. -block.scatter.description = Ólom-, Ólomüveg-, vagy Törmelékdarabokkal tüzel az ellenséges légierőre. +block.scatter.description = Ólom-, törmelék- vagy ólomüvegdarabokat lő az ellenséges légijárművekre. block.scorch.description = Megégeti az ellenség közeli földi egységeit. Kis távolságra nagyon hatékony. -block.hail.description = Kis lövedékeket lő ki a nagy távolságokra lévő földi célpontokra. -block.wave.description = Folyadékot önt az ellenségre. Eloltja a tüzet, ha Vízzel van feltöltve. +block.hail.description = Kis lövedékeket lő ki nagy távolságokra lévő földi célpontokra. +block.wave.description = Folyadékot önt az ellenségre. Eloltja a tüzeket, ha vízzel van ellátva. block.lancer.description = Erős energiasugarakat lő közeli földi célpontokra. block.arc.description = Elektromos szikrákat kelt földi célpontok között. block.swarmer.description = Nyomkövető rakétákat lő az ellenségre. -block.salvo.description = Kis sorozatokat lő az ellenségre. -block.fuse.description = Három kis hatótávú átütő erejű töltényt lő egyszerre. -block.ripple.description = Lövedékek csoportjával tüzel földi célpontokra nagy távolságra. +block.salvo.description = Gyors sorozatokat lő az ellenségre. +block.fuse.description = Három kis hatótávú, átütő erejű lövedéket lő a közeli ellenségre. +block.ripple.description = Lövedékek csoportjával tüzel nagy távolságra lévő földi célpontokra. block.cyclone.description = Robbanó lövedékeket lő közeli ellenségekre. -block.spectre.description = Nagy, a páncélon is áthatoló lövedékekkel tüzel légi és földi célpontokra is. -block.meltdown.description = Feltöltődés után folyamatos lézersugarat lő a közeli ellenségekre. Hűtést igényel. -block.foreshadow.description = Nagy méretű villámot lő ki nagy távolságokra, de egyszerre csak egyetlen célpontra. -block.repair-point.description = Folyamatosan gyógyítja a legközelebbi sérült egységet a közelében. +block.spectre.description = Nagy lövedékekkel tüzel légi és földi célpontokra. +block.meltdown.description = Feltöltődés után folyamatos lézersugarat lő a közeli ellenségekre. A működéséhez hűtőfolyadékot igényel. +block.foreshadow.description = Egy nagy villámot lő ki egy nagy távolságra lévő célpontra. A magasabb maximális életerővel rendelkező ellenségeket részesíti előnyben. +block.repair-point.description = Folyamatosan javítja a legközelebbi sérült egységet a közelében. block.segment.description = Megsemmisíti a beérkező lövedékeket. A lézerrel szemben hatástalan. -block.parallax.description = Vonónyalábot bocsát ki, amivel magához vonzza és sebzi a repülő egységeket. -block.tsunami.description = Erős folyadékhullámokat lő az ellenségre. Eloltja a tüzet, ha Vízzel van feltöltve. -block.silicon-crucible.description = Szilíciumot finomít Homokból és Szénből. Piratitot használ kiegészítő hőforrásként. Forró környezetben hatékonyabb. -block.disassembler.description = Ritka ásványi elemeket választ ki Salakból. Képes Tóriumot kiválasztani. -block.overdrive-dome.description = Megnöveli a környező gyárak termelési sebességét. Tóritkvarcot és Szilíciumot igényel. -block.payload-conveyor.description = Képes egységeket szállítani. -block.payload-router.description = Háromfelé osztja szét a beérkező egységeket. -block.ground-factory.description = Földi egységeket gyárt. A kész egységek azonnal hadra-foghatóak, vagy Újratervezőkben tovább fejleszthetőek. -block.air-factory.description = Légi egységeket gyárt. A kész egységek azonnal hadra-foghatóak, vagy Újratervezőkben tovább fejleszthetőek. -block.naval-factory.description = Vízi egységeket gyárt. A kész egységek azonnal hadra-foghatóak, vagy Újratervezőkben tovább fejleszthetőek. +block.parallax.description = Vonónyalábot bocsát ki, amivel magához vonzza, és közben sebzi a légi egységeket. +block.tsunami.description = Erős folyadékhullámot lő az ellenségre. Eloltja a tüzeket, ha vízzel van ellátva. +block.silicon-crucible.description = Szilíciumot finomít homokból és szénből, piratitot használ kiegészítő hőforrásként. Forró környezetben még hatékonyabb. +block.disassembler.description = Ritka ásványi összetevőket válogat ki a salakból, alacsony hatékonysággal. Képes tóriumot kiválogatni. +block.overdrive-dome.description = Megnöveli a környező épületek termelési sebességét. A működtetése tóritkvarcot és szilíciumot igényel. +block.payload-conveyor.description = Nagy mennyiségű terhet mozgatni, például gyárakból érkező nyersanyagokat. Mágneses. Használható súlytalanságban. +block.payload-router.description = Háromfelé osztja szét a beérkező terhet. Rendezőként is szolgál, ha van megadva szűrő. Mágneses. Használható súlytalanságban. +block.ground-factory.description = Földi egységeket gyárt. A kész egységek azonnal hadra foghatók, vagy újratervezőkben továbbfejleszthetők. +block.air-factory.description = Légi egységeket gyárt. A kész egységek azonnal hadra foghatók, vagy újratervezőkben továbbfejleszthetők. +block.naval-factory.description = Vízi egységeket gyárt. A kész egységek azonnal hadra foghatók, vagy újratervezőkben továbbfejleszthetők. block.additive-reconstructor.description = Kettes szintre fejleszti a beérkező egységeket. block.multiplicative-reconstructor.description = Hármas szintre fejleszti a beérkező egységeket. block.exponential-reconstructor.description = Négyes szintre fejleszti a beérkező egységeket. -block.tetrative-reconstructor.description = Ötös szintre fejleszti a beérkező egységeket. -block.switch.description = Kétállású kapcsoló. Az állapota leolvasható és módosítható processzorokkal. -block.micro-processor.description = Logikai műveletek sorozatát hajtja végre végtelenítve. Használható egységek, vagy épületek irányítására is. -block.logic-processor.description = Logikai műveletek sorozatát hajtja végre végtelenítve. Használható egységek, vagy épületek irányítására is. Gyorsabb mint a Mikroprocesszor. -block.hyper-processor.description = Logikai műveletek sorozatát hajtja végre végtelenítve. Használható egységek, vagy épületek irányítására is. Gyorsabb mint a Logikai Processzor. -block.memory-cell.description = Információt tárol processzorok számára. -block.memory-bank.description = Információt tárol processzorok számára. Nagyobb kapacitású. -block.logic-display.description = Ábrák rajzolhatók rá processzorral. -block.large-logic-display.description = Ábrák rajzolhatók rá processzorral. -block.interplanetary-accelerator.description = Hatalmas elektromágneses gyorsítótorony. Képes Támaszpontokat szökési sebességre gyorsítani bolygóközi bevetéshez. -block.repair-turret.description = Folyamatosan javítja a közelében lévő legközelebbi sérült egységet. Opcionálisan elfogadja a Hűtőfolyadékot. +block.tetrative-reconstructor.description = Ötös szintre (a végsőre) fejleszti a beérkező egységeket. +block.switch.description = Kétállású kapcsoló. Az állapota logikai processzorokkal olvasható és vezérelhető. +block.micro-processor.description = Logikai műveletek sorozatát hajtja végre egy ciklusban. Egységek vagy épületek irányítására használható. +block.logic-processor.description = Logikai műveletek sorozatát hajtja végre egy ciklusban. Egységek vagy épületek irányítására használható. Gyorsabb mint a mikroprocesszor. +block.hyper-processor.description = Logikai műveletek sorozatát hajtja végre egy ciklusban. Egységek vagy épületek irányítására használható. Gyorsabb mint a logikai processzor. +block.memory-cell.description = Információt tárol egy logikai processzor számára. +block.memory-bank.description = Információt tárol egy logikai processzor számára. Nagy kapacitású. +block.logic-display.description = Tetszőleges ábrákat jelenít meg egy logikai processzor alapján. +block.large-logic-display.description = Tetszőleges ábrákat jelenít meg egy logikai processzor alapján. +block.interplanetary-accelerator.description = Hatalmas elektromágneses sínágyútorony. Képes a támaszpontokat szökési sebességre gyorsítani a bolygóközi bevetéshez. +block.repair-turret.description = Folyamatosan javítja a közelében lévő legközelebbi sérült egységet. Opcionálisan elfogad hűtőfolyadékot. #Erekir block.core-bastion.description = Támaszpont. Páncélozott. Ha elpusztul, a szektor elveszett. block.core-citadel.description = Támaszpont. Nagyon jól páncélozott. Több nyersanyagot tárol, mint a Bástya. block.core-acropolis.description = Támaszpont. Kivételesen jól páncélozott. Több nyersanyagot tárol, mint a Citadella. -block.breach.description = Átütő erejű Berillium-, vagy Volfrámlövedékeket lő ki az ellenséges célpontokra. -block.diffuse.description = Széles kúpban lövi ki a lövedékeket. Visszalöki az ellenséges célpontokat. -block.sublimate.description = Folyamatos lángcsóvát lő ki az ellenséges célpontokra. Átüti a páncélt. -block.titan.description = Hatalmas robbanó ágyúlövedéket lő ki földi célpontokra. Hidrogént igényel. -block.afflict.description = Hatalmas töltésű repeszlövedék gömböket lő ki. Fűtést igényel. -block.disperse.description = Égő repeszlövedékeket lő ki légi célpontokra. -block.lustre.description = Lassan mozgó, egyszerre egy célpontra ható lézert lő ki az ellenséges célpontokra. +block.breach.description = Átütő erejű berillium- vagy volfrámlövedéket lő az ellenséges célpontokra. +block.diffuse.description = Széles kúpban lő ki lövedékeket. Visszalöki az ellenséges célpontokat. +block.sublimate.description = Folyamatos lángcsóvát lő az ellenséges célpontokra. Átüti a páncélt. +block.titan.description = Hatalmas robbanóanyagú tüzérségi lövedéket lő földi célpontokra. Hidrogént igényel. +block.afflict.description = Hatalmas töltésű repeszlövedék-gömböket lő ki. Hőt igényel. +block.disperse.description = Égő repeszlövedékeket lő légi célpontokra. +block.lustre.description = Lassan mozgó, egyszerre egy célpontra ható lézert lő az ellenséges célpontokra. block.scathe.description = Nagy erejű rakétát indít jelentős távolságokra lévő földi célpontok ellen. block.smite.description = Átütő erejű, villámló lövedékeket lő ki. -block.malign.description = Lézer töltetekből álló célzott sortüzet zúdít az ellenséges célpontokra. Nagy mennyiségű Hőt igényel. -block.silicon-arc-furnace.description = Szilíciumot finomít Homokból és Grafitból. -block.oxidation-chamber.description = A Berilliumot és az Ózont Oxiddá alakítja. Melléktermékként Hőt bocsát ki. -block.electric-heater.description = Fűti a vele szemben álló épületeket. Nagy mennyiségű Áramot igényel. +block.malign.description = Lézertöltetekből álló célzott sortüzet zúdít az ellenséges célpontokra. Jelentős fűtést igényel. +block.silicon-arc-furnace.description = A homokot és grafitot szilíciummá finomítja. +block.oxidation-chamber.description = A berilliumot és az ózont oxiddá alakítja. Melléktermékként hőt bocsát ki. +block.electric-heater.description = Fűti a vele szemben álló épületeket. Nagy mennyiségű áramot igényel. block.slag-heater.description = Fűti a vele szemben álló épületeket. Salakot igényel. block.phase-heater.description = Fűti a vele szemben álló épületeket. Tóritkvarcot igényel. -block.heat-redirector.description = Átirányítja a felgyülemlett Hőt más épületekbe. -block.heat-router.description = A felgyülemlett Hőt három kimeneti irányba terjeszti. -block.electrolyzer.description = A Vizet Hidrogén- és Ózongázzá alakítja. -block.atmospheric-concentrator.description = Kondenzálja a Nitrogént a légkörből. Hőt igényel. -block.surge-crucible.description = A Salakból és a Szilíciumból Elektrometált olvaszt. Hőt igényel. -block.phase-synthesizer.description = Tóriumból, Homokból és Ózonból Tóritkvarcot szintetizál. Hőt igényel. -block.carbide-crucible.description = A Grafitot és a Volfrámot Karbiddá olvasztja. Hőt igényel. -block.cyanogen-synthesizer.description = Cianogént szintetizál Arkycitből és Grafitból. Hőt igényel. -block.slag-incinerator.description = Elégeti a nem illékony tárgyakat, vagy folyadékokat. Salakot igényel. -block.vent-condenser.description = A kürtőkből kiáramló gázokat Vízzé kondenzálja. Áramot igényel. -block.plasma-bore.description = Ércfallal szemben elhelyezve, korlátlanul termeli ki a nyersanyagokat. Kis mennyiségű Áramot igényel. -block.large-plasma-bore.description = Egy nagyobb Plazma Vágó. Képes a Volfrám és a Tórium bányászatára. Hidrogént és Áramot igényel. -block.cliff-crusher.description = Felőrli a Homokfalakat és korlátlan ideig Homokot termel. Áramot igényel. A hatékonysága a fal típusától függően változik. -block.impact-drill.description = Ha ércre helyezik, korlátlan ideig, sorozatokban termeli ki a nyersanyagokat. Áramot és Vizet igényel. -block.eruption-drill.description = Továbbfejlesztett Ütvefúró. Képes Tóriumot bányászni. Hidrogént igényel. -block.reinforced-conduit.description = Előre szállítja a folyadékokat. Nem fogadja el a nem csővezetékes bemeneteket oldalról. +block.heat-redirector.description = Más blokkokba irányítja a felgyülemlett hőt. +block.heat-router.description = A felgyülemlett hőt három kimeneti irányba osztja. +block.electrolyzer.description = A vizet hidrogénné és ózonná alakítja. A keletkező gázokat két ellentétes irányba adja ki, melyeket a megfelelő színek jelölik. +block.atmospheric-concentrator.description = Koncentrálja a légkörben lévő nitrogént. Hőt igényel. +block.surge-crucible.description = Salakból és szilíciumból elektrometált olvaszt. Hőt igényel. +block.phase-synthesizer.description = Tóriumból, homokból és ózonból tóritkvarcot szintetizál. Hőt igényel. +block.carbide-crucible.description = A grafitot és a volfrámot karbiddá olvasztja. Hőt igényel. +block.cyanogen-synthesizer.description = Arkicitből és grafitból diciánt szintetizál. Hőt igényel. +block.slag-incinerator.description = Elégeti a nem illékony nyersanyagokat vagy folyadékokat. Salakot igényel. +block.vent-condenser.description = A kürtőkből kiáramló gázokat vízzé kondenzálja. Áramot igényel. +block.plasma-bore.description = Ércfallal szemben elhelyezve, korlátlanul termel nyersanyagokat. Kis mennyiségű áramot igényel.\nHidrogén felhasználásával növelhető a hatékonysága. +block.large-plasma-bore.description = Egy nagyobb plazmafúró. Képes a volfrám és a tórium bányászatára. Hidrogént és áramot igényel.\nNitrogén felhasználásával növelhető a hatékonysága. +block.cliff-crusher.description = Felőrli a falakat, és korlátlan mennyiségű homokot termel. Áramot igényel. A hatékonysága a fal típusától függően változik. +block.impact-drill.description = Ha ércre helyezik, korlátlan ideig, sorozatokban termeli ki a nyersanyagokat. Áramot és vizet igényel. +block.eruption-drill.description = Továbbfejlesztett ütvefúró. Képes tóriumot bányászni. Hidrogént igényel. +block.reinforced-conduit.description = Előre szállítja a folyadékokat. Nem fogad nem csővezetékes bemeneteket oldalról. block.reinforced-liquid-router.description = Egyenletesen osztja el a folyadékokat minden oldalra. block.reinforced-liquid-tank.description = Nagy mennyiségű folyadékot tárol. block.reinforced-liquid-container.description = Jelentős mennyiségű folyadékot tárol. -block.reinforced-bridge-conduit.description = Folyadékok szállítására alkalmas épületek és terepakadályok fölött. -block.reinforced-pump.description = Folyadékokat szivattyúz és ad ki. Hidrogént igényel. +block.reinforced-bridge-conduit.description = Folyadékot szállít épületek és terepakadályok fölött. +block.reinforced-pump.description = Folyadékot szivattyúz és ad ki. Hidrogént igényel. block.beryllium-wall.description = Megvédi az építményeket az ellenséges lövedékektől. block.beryllium-wall-large.description = Megvédi az építményeket az ellenséges lövedékektől. block.tungsten-wall.description = Megvédi az építményeket az ellenséges lövedékektől. @@ -2184,212 +2184,212 @@ block.carbide-wall.description = Megvédi az építményeket az ellenséges löv block.carbide-wall-large.description = Megvédi az építményeket az ellenséges lövedékektől. block.reinforced-surge-wall.description = Megvédi az építményeket az ellenséges lövedékektől, a lövedékekkel való érintkezésekor időszakosan elektromos íveket bocsát ki. block.reinforced-surge-wall-large.description = Megvédi az építményeket az ellenséges lövedékektől, a lövedékekkel való érintkezésekor időszakosan elektromos íveket bocsát ki. -block.shielded-wall.description = Megvédi az építményeket az ellenséges lövedékektől. Olyan pajzsot képez, amely a legtöbb lövedéket elnyeli, ha Áramot kap. Vezeti az Áramot. -block.blast-door.description = Egy fal, amely kinyílik, ha a szövetséges földi egységek vannak a közelében. Kézzel nem irányítható. +block.shielded-wall.description = Megvédi az építményeket az ellenséges lövedékektől. Olyan pajzsot képez, amely a legtöbb lövedéket elnyeli, ha az áramellátás biztosítva van. Vezeti az áramot. +block.blast-door.description = Egy fal, amely kinyílik, ha szövetséges földi egységek vannak a közelében. Kézzel nem irányítható. block.duct.description = Előre mozgatja a nyersanyagokat. Csak egyetlen nyersanyag tárolására alkalmas. block.armored-duct.description = Előre mozgatja a nyersanyagokat. Csak szállítószalagos bemeneteket fogad el oldalról. -block.duct-router.description = A nyersanyagokat egyenlően osztja el három irányba. Csak a hátsó oldalról fogadja be a tárgyakat. Nyersanyag Válogatóként is konfigurálható. -block.overflow-duct.description = Csak akkor ad ki nyersanyagot oldalra, ha előrefelé már nem tud. Nem használható közvetlenül Túlfolyó Kapu, vagy Alul-folyó Kapu mellett. -block.duct-bridge.description = Nyersanyagok szállítására alkalmas épületek és terepakadályok fölött. -block.duct-unloader.description = A kiválasztott nyersanyagokat kirakodja a mögötte lévő épületekből. Támaszpontokból nem lehet kirakodni. -block.underflow-duct.description = Csak akkor enged tovább nyersanyagokat előre, ha oldalra már nem tudja kiadni őket. Nem használható közvetlenül Túlfolyó Kapu, vagy Alul-folyó Kapu mellett. -block.reinforced-liquid-junction.description = Két egymást keresztező csővezeték közötti csomópontként működik. -block.surge-conveyor.description = A nyersanyagokat rakományokban mozgatja. Árammal felgyorsítható. Vezeti az Áramot. -block.surge-router.description = Egyenletesen osztja el a nyersanyagokat három irányba a Szállítószalagról. Árammal felgyorsítható. Vezeti az Áramot. +block.duct-router.description = A nyersanyagokat egyenlően osztja el három irányba. Csak hátulról fogad el nyersanyagokat. Nyersanyagválogatóként is beállítható. +block.overflow-duct.description = Csak akkor ad ki nyersanyagot oldalra, ha előrefelé már nem tud. +block.duct-bridge.description = Nyersanyagokat szállít épületek és terepakadályok fölött. +block.duct-unloader.description = A kiválasztott nyersanyagokat kirakodja a mögötte lévő épületekből. Támaszpontokból nem tud kirakodni. +block.underflow-duct.description = A túlcsorduló szállítószalag ellentettje. Csak akkor ad ki nyersanyagot előrefelé, ha oldalra már nem tud. +block.reinforced-liquid-junction.description = Csomópontként működik két egymást keresztező csővezeték között. +block.surge-conveyor.description = A nyersanyagokat rakományokban mozgatja. Árammal felgyorsítható. Vezeti az áramot. +block.surge-router.description = Egyenletesen osztja el a nyersanyagokat három irányba az elektrometál-szállítószalagról. Árammal felgyorsítható. Vezeti az Áramot. block.unit-cargo-loader.description = Teherszállító drónokat épít. A drónok automatikusan szétosztják a nyersanyagokat a megfelelő szűrővel rendelkező kirakodási pontokra. block.unit-cargo-unload-point.description = A teherszállító drónok kirakodási pontjaként működik. Csak a kiválasztott szűrőnek megfelelő nyersanyagokat fogadja be. -block.beam-node.description = Az Áramot merőlegesen vezeti a többi épülethez. Kis mennyiségű energiát tárol. -block.beam-tower.description = Az Áramot merőlegesen vezeti a többi épülethez. Nagy mennyiségű energiát tárol. Nagy hatótávolságú. -block.turbine-condenser.description = A kürtőkből kiáramló gázokból Áramot termel. Kis mennyiségű Vizet termel. -block.chemical-combustion-chamber.description = Arkycitből és Ózonból termel Áramot. -block.pyrolysis-generator.description = Nagy mennyiségű Áramot termel Arkycitből és Salakból. Melléktermékként Vizet termel. -block.flux-reactor.description = Nagy mennyiségű Áramot termel Hő hatására. Stabilizátorként Cianogént igényel. Az Áramtermelés és a Cianogén igény arányos a Hőbevitellel.\nFelrobban, ha nem áll rendelkezésre elegendő Cianogén. -block.neoplasia-reactor.description = Arkycit, Víz és Tóritkvarc felhasználásával nagy mennyiségű Áramot termel. Melléktermékként Hőt és veszélyes Neoplazmát termel.\nHevesen robban, ha a Neoplazmát nem távolítják el a reaktorból a csővezetékeken keresztül. +block.beam-node.description = Merőlegesen áramot vezet a többi blokkhoz. Kis mennyiségű áramot tárol. +block.beam-tower.description = Merőlegesen áramot vezet a többi blokkhoz. Nagy mennyiségű áramot tárol. Nagy hatótávolságú. +block.turbine-condenser.description = Kürtőkre helyezve áramot termel. Kis mennyiségű vizet termel. +block.chemical-combustion-chamber.description = Áramot termel arkicitből és ózonból. +block.pyrolysis-generator.description = Nagy mennyiségű áramot termel arkicitből és salakból. Melléktermékként vizet termel. +block.flux-reactor.description = Fűtés hatására nagy mennyiségű áramot termel. Stabilizátorként diciánt igényel. Az áramtermelés és a diciánigény arányos a hőbevitellel.\nFelrobban, ha nem áll rendelkezésre elegendő dicián. +block.neoplasia-reactor.description = Arkicit, víz és tóritkvarc felhasználásával nagy mennyiségű áramot termel. Melléktermékként hőt és veszélyes neoplazmát termel.\nFelrobban, ha a neoplazmát nem távolítják el a reaktorból csővezetékeken keresztül. block.build-tower.description = Automatikusan újjáépíti a hatósugarában lévő építményeket, és segíti a többi egységet az építkezésben. -block.regen-projector.description = Lassan javítja a szövetséges építményeket egy négyzet alakú kerületben. Hidrogént igényel. -block.reinforced-container.description = Kis mennyiségű nyersanyagot tud tárolni. A tartalma kirakodók segítségével nyerhető ki. Nem növeli a Támaszpont tárolókapacitását. -block.reinforced-vault.description = Nagy mennyiségű nyersanyagot tud tárolni. A tartalma kirakodók segítségével nyerhető ki. Nem növeli a Támaszpont tárolókapacitását. -block.tank-fabricator.description = Stell egységeket épít. A kimeneti egységek közvetlenül felhasználhatóak, vagy átvihetőek Tank Újratervezőbe fejlesztésre. -block.ship-fabricator.description = Elude egységeket épít. A kimeneti egységek közvetlenül felhasználhatóak, vagy átvihetőek Repülőgép Újratervezőbe fejlesztésre. -block.mech-fabricator.description = Merui egységeket épít. A kimeneti egységek közvetlenül felhasználhatóak, vagy átvihetőek Mech Újratervezőbe fejlesztésre. -block.tank-assembler.description = Nagy méretű tankokat állít össze a beadott blokkokból és egységekből. A kimeneti szint Összeszerelő Modulok hozzáadásával növelhető. -block.ship-assembler.description = Nagy méretű hajókat állít össze a beadott blokkokból és egységekből. A kimeneti szint Összeszerelő Modulok hozzáadásával növelhető. -block.mech-assembler.description = Nagy méretű Mech-eket állít össze a beadott blokkokból és egységekből. A kimeneti szint Összeszerelő Modulok hozzáadásával növelhető. -block.tank-refabricator.description = Felfejleszti a bejuttatott tank típusú egységeket a második szintre. -block.ship-refabricator.description = Felfejleszti a bejuttatott repülőgép típusú egységeket a második szintre. -block.mech-refabricator.description = Felfejleszti a bejuttatott mech típusú egységeket a második szintre. -block.prime-refabricator.description = A bejuttatott tank-/repülőgép-/mech típusú egységeket a harmadik szintre fejleszti. -block.basic-assembler-module.description = Növeli a Tank-/Repülgép-/Mech Összeszerelő szintjét, ha annak az építési határvonala mellé helyezik. Áramot igényel. Használható nyersanyag-rakomány bemenetként. -block.small-deconstructor.description = Lebontja a bevitt építményeket és egységeket. Visszaadja az építési költség 100%-át. +block.regen-projector.description = Lassan javítja a szövetséges építményeket egy négyzet alakú területen. Hidrogént igényel.\nTóritkvarc felhasználásával növelhető a hatékonysága. +block.reinforced-container.description = Kis mennyiségű nyersanyagot tud tárolni. A tartalma kirakodók segítségével nyerhető ki. Nem növeli a támaszpont tárolókapacitását. +block.reinforced-vault.description = Nagy mennyiségű nyersanyagot tud tárolni. A tartalma kirakodók segítségével nyerhető ki. Nem növeli a támaszpont tárolókapacitását. +block.tank-fabricator.description = Stell egységeket épít. A kimeneti egységek közvetlenül használhatók, vagy fejlesztésre újratervezőkbe küldhetők. +block.ship-fabricator.description = Elude egységeket épít. A kimeneti egységek közvetlenül használhatók, vagy fejlesztésre újratervezőkbe küldhetők. +block.mech-fabricator.description = Merui egységeket épít. A kimeneti egységek közvetlenül használhatók, vagy fejlesztésre újratervezőkbe küldhetők. +block.tank-assembler.description = Nagy méretű tankokat állít össze a beadott blokkokból és egységekből. A kimeneti szint modulok hozzáadásával növelhető. +block.ship-assembler.description = Nagy méretű hajókat állít össze a beadott blokkokból és egységekből. A kimeneti szint modulok hozzáadásával növelhető. +block.mech-assembler.description = Nagy méretű mecheket állít össze a beadott blokkokból és egységekből. A kimeneti szint modulok hozzáadásával növelhető. +block.tank-refabricator.description = Kettes szintre fejleszti a beérkező tank típusú egységeket. +block.ship-refabricator.description = Kettes szintre fejleszti a beérkező hajó típusú egységeket. +block.mech-refabricator.description = Kettes szintre fejleszti a beérkező mech típusú egységeket. +block.prime-refabricator.description = Hármas szintre fejleszti a beérkező tank típusú egységeket. +block.basic-assembler-module.description = Növeli az összeszerelő szintjét, ha annak az építési határvonala mellé helyezik. Áramot igényel. Használható nyersanyagrakomány-bemenetként. +block.small-deconstructor.description = Lebontja a beadott építményeket és egységeket. Visszaadja az építési költség 100%-át. block.reinforced-payload-conveyor.description = Előre mozgatja a rakományokat. -block.reinforced-payload-router.description = A rakományokat szomszédos a blokkokba osztja szét. Szűrő beállítása esetén válogatóként is funkcionál. -block.payload-mass-driver.description = Nagy hatótávolságú nyersanyagszállító eszköz. Rakományokban lő át nyersanyagokat egy másik, hozzákapcsolt Tömegmozgatónak. -block.large-payload-mass-driver.description = Nagy hatótávolságú rakományszállító szerkezet. A fogadott rakományokat a hozzákapcsolt másik Tömegmozgatóra lövi. +block.reinforced-payload-router.description = A rakományokat szomszédos a blokkokba osztja szét. Szűrő beállítása esetén válogatóként működik. +block.payload-mass-driver.description = Nagy hatótávolságú rakományszállító épület. A kapott rakományokat egy másik, hozzákapcsolt rakomány-tömegmozgatónak lövi át. +block.large-payload-mass-driver.description = Nagy hatótávolságú rakományszállító épület. A kapott rakományokat egy másik, hozzákapcsolt rakomány-tömegmozgatónak lövi át. block.unit-repair-tower.description = Javítja a közelében lévő összes egységet. Ózont igényel. block.radar.description = Fokozatosan feltárja a terepet és az ellenséges egységeket egy nagy sugarú körben. Áramot igényel. -block.shockwave-tower.description = Sérülést okoz és megsemmisíti az ellenséges lövedékeket egy egységsugarú körön belül. Cianogént igényel. +block.shockwave-tower.description = Sérülést okoz és megsemmisíti az ellenséges lövedékeket egy körön belül. Diciánt igényel. block.canvas.description = Egy egyszerű képet jelenít meg egy előre meghatározott palettával. Szerkeszthető. -unit.dagger.description = Egyszerű töltényeket lő közeli ellenségekre +unit.dagger.description = Szokásos lövedékeket lő a közeli ellenségekre. unit.mace.description = Lángnyelveket küld a közeli ellenségek felé. unit.fortress.description = Nagy hatótávú rakétákat lő földi célpontokra. unit.scepter.description = Töltött lövedékek záporát lövi közeli ellenségekre. unit.reign.description = Méretes átütő erejű lövedékeket zúdít minden közeli ellenségre. -unit.nova.description = Lézereket lő, amelyek az ellenséget sebzik, de gyógyítják a szövetségeseket. Repülésre alkalmas. -unit.pulsar.description = Elektromos szikrákat szór, amelyek az ellenséget sebzik, de gyógyítják a szövetségeseket. Repülésre alkalmas. -unit.quasar.description = Átütő erejű lézersugarakat lő, amelyek az ellenséget sebzik, de gyógyítják a szövetségeseket. Repülésre alkalmas. Pajzsa van. -unit.vela.description = Folyamatos lézernyalábot bocsát ki, ami sebzi az ellenséget, felgyújtja az épületeiket, de gyógyítja a szövetségeseket. Repülésre alkalmas. -unit.corvus.description = Hatalmas lézersugarat lő, amelyek sebzik az ellenséget, de gyógyítják a szövetségeseket. A legtöbb terepakadályt átlépi. -unit.crawler.description = Az ellenséghez rohan és egy nagy robbanásban megsemmisíti önmagát, így sebezve az ellenséget. -unit.atrax.description = Gyengítő Salakgolyókat lő a földi célpontokra. A legtöbb terepakadályt átlépi. -unit.spiroct.description = Elszívja az ellenség életerejét, önmagát gyógyítva közben. A legtöbb terepakadályt átlépi. -unit.arkyid.description = Nagy lézernyalábokkal elszívja az ellenség életerejét, önmagát gyógyítva közben. A legtöbb terepakadályt átlépi. -unit.toxopid.description = Nagy elektromos bombákat és átütő erejű lézert lő az ellenségre. A legtöbb terepakadályt átlépi. -unit.flare.description = Egyszerű töltényeket lő közeli földi célpontokra. -unit.horizon.description = Bombákat szór földi célpontokra. +unit.nova.description = Lézerlövedékeket lő ki, amelyek sebzik az ellenséges célpontokat, és megjavítják a szövetséges épületeket. Repülésre alkalmas. +unit.pulsar.description = Elektromos szikrákat szór, amelyek sebzik az ellenséges célpontokat, és megjavítják a szövetséges épületeket. Repülésre alkalmas. +unit.quasar.description = Átütő erejű lézersugarakat lő, amelyek sebzik az ellenséges célpontokat, és megjavítják a szövetséges épületeket. Repülésre alkalmas. Pajzsa van. +unit.vela.description = Folyamatos lézernyalábot bocsát ki, amelyek sebzik az ellenséges célpontokat, tüzet okoznak, és megjavítják a szövetséges épületeket. Repülésre alkalmas. +unit.corvus.description = Hatalmas lézersugarat lő, amelyek sebzik az ellenséges célpontokat, és megjavítják a szövetséges épületeket. Átlépi a legtöbb terepakadályt. +unit.crawler.description = Az ellenséghez rohan és megsemmisíti önmagát, nagy robbanást okozva. +unit.atrax.description = Bénító salakgolyókat lő a földi célpontokra. A legtöbb terepakadályt átlépi. +unit.spiroct.description = Lézersugarakkal elszívja az ellenséges célpontok életerejét, miközben javítja önmagát. A legtöbb terepakadályt átlépi. +unit.arkyid.description = Nagy lézersugarakkal elszívja az ellenséges célpontok életerejét, miközben javítja önmagát. A legtöbb terepakadályt átlépi. +unit.toxopid.description = Kazettás elektromos bombákat és átütő erejű lézert lő az ellenségre. A legtöbb terepakadályt átlépi. +unit.flare.description = Szokásos lövedékeket lő közeli földi célpontokra. +unit.horizon.description = Kazettás bombákat szór földi célpontokra. unit.zenith.description = Rakétasorozatokat lő közeli ellenségekre. unit.antumbra.description = Lövedékek záporát zúdítja minden közeli ellenségre. unit.eclipse.description = Két átütő erejű lézersugarat és rengeteg lövedéket zúdít minden közeli ellenségre. -unit.mono.description = Automatikusan bányászik Rezet és Ólmot a Támaszpontba juttatva őket. -unit.poly.description = Automatikusan újjáépíti az elpusztult épületeket és segít más egységeknek építkezni. -unit.mega.description = Automatikusan javítja a sérült épületeket. Képes kis épületek és földi egységek szállítására. -unit.quad.description = Nagy bombákat szór földi célpontokra, amelyek sebzik az ellenséget, de javítják a szövetséges épületeket. Képes közepes méretű földi egységek szállítására. -unit.oct.description = Megvédi a közeli szövetségeseket regeneráló pajzsával. Képes szállítani a legtöbb földi egységet. +unit.mono.description = Automatikusan rezet és ólmot bányászik, a támaszpontba juttatva őket. +unit.poly.description = Automatikusan újjáépíti az elpusztult épületeket és segít más egységeknek az építkezésben. +unit.mega.description = Automatikusan javítja a sérült épületeket. Kis blokkok és földi egységek szállítására képes. +unit.quad.description = Plazmabombákat szór földi célpontokra, amelyek sebzik az ellenséget, de javítják a szövetséges épületeket. Közepes méretű földi egységek szállítására képes. +unit.oct.description = Megvédi a közeli szövetségeseket egy regeneráló pajzssal. A legtöbb földi egység szállítására képes. unit.risso.description = Rakéták és lövedékek záporát zúdítja minden közeli ellenségre. -unit.minke.description = Tüzérségi lövedékeket és egyszerű töltényeket lő közeli földi célpontokra. -unit.bryde.description = Nagy távolságú tüzérségi rakétákat lő az ellenségre. +unit.minke.description = Tüzérségi és szokásos lövedékeket lő közeli földi célpontokra. +unit.bryde.description = Nagy távolságú tüzérségi lövedékeket és rakétákat lő az ellenségre. unit.sei.description = Rakéták és páncéltörő lövedékek záporát zúdítja az ellenségre. unit.omura.description = Nagy hatótávolságú átütő erejű lövedékeket lő az ellenségre. Flare egységeket gyárt. -unit.alpha.description = Megvédi a Bástyát az ellenségtől. Épít. -unit.beta.description = Megvédi az Alapítványt az ellenségtől. Épít. -unit.gamma.description = Megvédi a Magnumot az ellenségtől. Épít. +unit.alpha.description = Megvédi a Szilánk támaszpontot az ellenségtől. Épületeket épít. +unit.beta.description = Megvédi az Alapítvány támaszpontot az ellenségtől. Épületeket épít. +unit.gamma.description = Megvédi at Atommag támaszpontot az ellenségtől. Épületeket épít. unit.retusa.description = Célkövető torpedókat lő ki minden közeli ellenségre. Javítja a szövetséges egységeket. -unit.oxynoe.description = Plazma lángcsóvát lő az ellenséges célpontokra. Célba veszi az ellenséges lövedékeket egy pontvédelmi toronnyal. -unit.cyerce.description = Célpont kereső kazettás rakétákat lő ki az ellenségre. Javítja a szövetséges egységeket. +unit.oxynoe.description = Épületjavító lángcsóvát lő az ellenséges célpontokra. Célba veszi az ellenséges lövedékeket egy pontvédelmi toronnyal. +unit.cyerce.description = Célkereső kazettás rakétákat lő ki az ellenségre. Javítja a szövetséges egységeket. unit.aegires.description = Elektromosan sokkolja az összes ellenséges egységet és építményt, amely az energiamezőjébe lép. Javítja az összes szövetségest. -unit.navanax.description = Robbanékony EMP lövedékeket lő ki, jelentős károkat okozva az ellenséges energiahálózatokban és megjavítva a szövetségesek építményeit. Megolvasztja a közeli ellenséget 4 autonóm lézertoronnyal. +unit.navanax.description = Robbanékony EMI-lövedékeket lő ki, jelentős károkat okozva az ellenséges energiahálózatokban, és megjavítva a szövetségesek építményeit. Szétolvasztja a közeli ellenséges célpontokat a 4 autonóm lézertornyával. #Erekir -unit.stell.description = Normál lövedékeket lő ki az ellenséges célpontokra. +unit.stell.description = Szokásos lövedékeket lő ki az ellenséges célpontokra. unit.locus.description = Változatos lövedékeket lő ki az ellenséges célpontokra. unit.precept.description = Átütő erejű kazettás lövedékeket lő ki az ellenséges célpontokra. -unit.vanquish.description = Nagy átütési képességű, hasítólövedékeket lő ki az ellenséges célpontokra. -unit.conquer.description = Nagy átütési képességű golyózáport lő ki az ellenséges célpontokra. +unit.vanquish.description = Nagy, átütő erejű hasítólövedékeket lő ki az ellenséges célpontokra. +unit.conquer.description = Nagy, átütő erejű golyózáport lő ki az ellenséges célpontokra. unit.merui.description = Nagy hatótávolságú ágyúkkal lövi az ellenséges szárazföldi célpontokat. A legtöbb terepakadályt átlépi. unit.cleroi.description = Kettős lövedékeket lő ki az ellenséges célpontokra. Célba veszi az ellenséges lövedékeket a pontvédelmi tornyokkal. A legtöbb terepakadályt átlépi. unit.anthicus.description = Nagy hatótávolságú célkövető rakétákat lő ki az ellenséges célpontokra. A legtöbb terepakadályt átlépi. -unit.tecta.description = Célkövető plazma rakétákat lő ki az ellenséges célpontokra. Irányított pajzzsal védi magát. A legtöbb terepakadályt átlépi. +unit.tecta.description = Célkövető plazmarakétákat lő ki az ellenséges célpontokra. Irányított pajzzsal védi magát. A legtöbb terepakadályt átlépi. unit.collaris.description = Nagy hatótávolságú repeszágyúval lövi az ellenséges célpontokat. A legtöbb terepakadályt átlépi. -unit.elude.description = Célkövető golyópárokat lő ki az ellenséges célpontokra. Képes folyadéktestek felett lebegni. +unit.elude.description = Célkövető golyópárokat lő ki az ellenséges célpontokra. Lebeg a folyadékfelületeket felett. unit.avert.description = Forgó lövedékpárokat lő ki az ellenséges célpontokra. unit.obviate.description = Forgó, páros villámgömböket lő ki az ellenséges célpontokra. -unit.quell.description = Kettő darab, nagy hatótávolságú célkövető rakétát lő ki egyszerre az ellenséges célpontokra. Elnyomja az ellenséges szerkezetjavító épületeket. -unit.disrupt.description = Három darab, nagy hatótávolságú célkövető rakétát lő ki egyszerre az ellenséges célpontokra. Elnyomja az ellenséges szerkezetjavító épületeket. -unit.evoke.description = A Bástya védelmére szolgáló építményeket épít. Sugárral javítja az építményeket. -unit.incite.description = A Citadella védelmére szolgáló építményeket épít. Sugárral javítja az építményeket. -unit.emanate.description = Az Akropolisz védelmére szolgáló építményeket épít. Sugárral javítja az építményeket. +unit.quell.description = Nagy hatótávolságú célkövető rakétát lő ki az ellenséges célpontokra. Elnyomja az ellenséges szerkezetjavító épületeket. Csak földi célpontokat támad. +unit.disrupt.description = Nagy hatótávolságú célkövető elnyomó rakétát lő ki az ellenséges célpontokra. Elnyomja az ellenséges szerkezetjavító épületeket. Csak földi célpontokat támad. +unit.evoke.description = A Bástya védelmére szolgáló építményeket épít. Sugárral javítja az építményeket. 2×2-es épületek szállítására képes. +unit.incite.description = A Citadella védelmére szolgáló építményeket épít. Sugárral javítja az építményeket. 2×2-es épületek szállítására képes. +unit.emanate.description = Az Akropolisz védelmére szolgáló építményeket épít. Sugárral javítja az építményeket. 2×2-es épületek szállítására képes. lst.read = Szám kiolvasása egy összekapcsolt memóriacellából. -lst.write = Írj egy számot egy összekapcsolt memóriacellába. -lst.print = Szöveg hozzáadása a nyomtatási pufferhez.\nNem jelenít meg semmit, amíg a [accent]Kiírási Művelet[] használatban van. -lst.format = A szövegpufferben lévő következő helyőrzőt egy értékkel helyettesíti.\nNem csinál semmit, ha a helyőrző minta érvénytelen.\nHelyőrző minta: "{[accent]number 0-9[]}"\nPélda:\n[accent]print "test {0}"\nformat "example" -lst.draw = Művelet hozzáadása a rajzpufferhez.\nNem jelenít meg semmit, amíg a [accent]Rajzolási Művelet[] használatban van. -lst.drawflush = Sorba állított [accent]rajz[] műveletek megjelenítése a kijelzőn. -lst.printflush = Sorba állított [accent]kiírási[] műveletek kiírása egy üzenetblokkba. -lst.getlink = A processzor linkjének lekérdezése index szerint. 0-nál kezdődik. +lst.write = Szám beírása egy összekapcsolt memóriacellába. +lst.print = Szöveg hozzáadása a nyomtatási pufferhez.\nA [accent]Print Flush[] használatáig nem jelenít meg semmit. +lst.format = A szövegpufferben lévő következő helyőrző cseréje egy értékre.\nNem csinál semmit, ha a helyőrzőminta érvénytelen.\nHelyőrzőminta: "{[accent]number 0-9[]}"\nPélda:\n[accent]print "test {0}"\nformat "example" +lst.draw = Művelet hozzáadása a rajzpufferhez.\nA [accent]Draw Flush[] használatáig nem jelenít meg semmit. +lst.drawflush = Sorba állított [accent]Draw[] műveletek megjelenítése a kijelzőn. +lst.printflush = Sorba állított [accent]Print[] műveletek kiírása egy üzenetblokkba. +lst.getlink = A processzor hivatkozásának lekérése index alapján. 0-nál kezdődik. lst.control = Épület irányítása. -lst.radar = Beméri az egységeket az épület körül egy bizonyos hatótávolságban. +lst.radar = Egységek megkeresése az épület körül egy bizonyos hatótávolságban. lst.sensor = Adatok lekérése egy épületről vagy egységről. lst.set = Egy változó beállítása. -lst.operation = Végezzen el egy műveletet 1-2 változóval. +lst.operation = Egy művelet elvégzése 1-2 változóval. lst.end = Ugrás az utasítási verem tetejére. -lst.wait = Várjon bizonyos számú másodpercet. -lst.stop = A processzor program futtatásának leállítása. -lst.lookup = Egy nyersanyag/folyadék/egység/épület típus keresése azonosító alapján.\nAz egyes típusok összesített száma a következőkkel érhető el:\n[accent]@unitCount[] / [accent]@itemCount[] / [accent]@liquidCount[] / [accent]@blockCount[] +lst.wait = Várakozás bizonyos számú másodpercig. +lst.stop = A processzor futtatásának leállítása. +lst.lookup = Egy nyersanyag/folyadék/egység/épület típusának keresése azonosító alapján.\nAz egyes típusok összesített száma a következőkkel érhető el:\n[accent]@unitCount[] / [accent]@itemCount[] / [accent]@liquidCount[] / [accent]@blockCount[]\nA fordított művelethez használd az objektum [accent]@id[] értékét. lst.jump = Feltételes ugrás egy másik utasításra. -lst.unitbind = Összekapcsolás a következő egységtípussal és tárolja a következőben: [accent]@unit[]. -lst.unitcontrol = Az aktuálisan összekapcsolt egység vezérlése. -lst.unitradar = Egységek keresése az aktuálisan összekapcsolt egység körül. +lst.unitbind = Összekapcsolás a következő egységtípussal, és tárolás a következőben: [accent]@unit[]. +lst.unitcontrol = A jelenleg összekapcsolt egység vezérlése. +lst.unitradar = Egységek keresése a jelenleg összekapcsolt egység körül. lst.unitlocate = Egy adott típusú pozíció/épület keresése bárhol a pályán.\nÖsszekapcsolt egységet igényel. lst.getblock = Csempeadatok lekérdezése tetszőleges helyen. lst.setblock = Csempeadatok beállítása tetszőleges helyen. -lst.spawnunit = Egység lerakása egy helyen. -lst.applystatus = Állapothatás alkalmazása, vagy törlése egy egységről. -lst.weathersensor = Check if a type of weather is active. -lst.weatherset = Set the current state of a type of weather. -lst.spawnwave = Egy tetszőleges helyen keletkező hullám szimulálása.\nNem növeli a hullámszámlálót. -lst.explosion = Robbanás létrehozása egy helyen. -lst.setrate = A processzor végrehajtási sebességének beállítása utasítás/ütemben. -lst.fetch = Egységek, Támaszpontok, játékosok, vagy épületek keresése index szerint.\nAz indexek 0-nál kezdődnek és a visszaadott számuknál végződnek. -lst.packcolor = Tömöríti [0, 1] az RGBA komponenseket egyetlen számba a rajzoláshoz, vagy szabálymeghatározáshoz. -lst.setrule = Állíts be egy játékszabályt. +lst.spawnunit = Egység lerakása az adott helyen. +lst.applystatus = Állapothatás alkalmazása vagy törlése egy egységről. +lst.weathersensor = Ellenőrzés, hogy egy adott időjárástípus aktív-e. +lst.weatherset = Az időjárástípus jelenlegi állapotának megadása. +lst.spawnwave = Egy hullám indítása. +lst.explosion = Robbanás létrehozása az adott helyen. +lst.setrate = A processzor végrehajtási sebességének beállítása utasítás/órajelciklusban. +lst.fetch = Egységek, támaszpontok, játékosok, vagy épületek keresése index szerint.\nAz indexek 0-tól indulnak és a visszaadott számuknál végződnek. +lst.packcolor = Egyetlen számba tömöríti a [0, 1] RGBA komponenseket a rajzoláshoz vagy szabálymeghatározáshoz. +lst.setrule = Játékszabály beállítása. lst.flushmessage = Üzenet megjelenítése a képernyőn a szövegpufferből.\nMegvárja, amíg az előző üzenet befejeződik. -lst.cutscene = Manipulálja a játékos kameráját. +lst.cutscene = A játékos kamerájának mozgatása. lst.setflag = Egy globális jelölő beállítása, amely minden processzor által olvasható. -lst.getflag = Ellenőrzi, hogy egy globális jelölő be van-e állítva. -lst.setprop = Egy egység vagy épület tulajdonságát állítja be. -lst.effect = Létrehoz egy részecske hatást. -lst.sync = Egy változó szinkronizálása a hálózaton keresztül.\nMásodpercenként legfeljebb 10 alkalommal hívható meg. -lst.makemarker = Új logikai jelölő létrehozása a világban.\nEgy azonosítót kell megadni a jelölő azonosításához.\nA jelölők száma jelenleg világonként 20 000-re van korlátozva. -lst.setmarker = Egy jelölő tulajdonságának beállítása.\nA használt azonosítónak meg kell egyeznie a Make Marker utasításban megadottal.\n[accent]null []értékek figyelmen kívül lesznek hagyva. -lst.localeprint = Hozzáadja a pálya Helyi Csomagjainak tulajdonság értékét a szövegpufferhez.\nA pálya Helyi Csomagjainak beállításait a térképszerkesztőben ellenőrizheted [accent]Pálya Infó > Helyi Csomagok[].\nHa a kliens egy mobileszköz, akkor először próbáld kiíratni a ".mobile" végződésű tulajdonságot. +lst.getflag = Ellenőrzés, hogy egy globális jelölő be van-e állítva. +lst.setprop = Beállítja egy egység vagy épület tulajdonságát. +lst.effect = Részecskehatás létrehozása. +lst.sync = Egy változó szinkronizálása a hálózaton keresztül.\nMásodpercenként legfeljebb 20-szor hívható meg. +lst.makemarker = Új logikai jelölő létrehozása a világban.\nMeg kell adni egy azonosítót a jelölő azonosításához.\nA jelölők száma jelenleg világonként 20 000-re van korlátozva. +lst.setmarker = Egy jelölő tulajdonságának beállítása.\nA használt azonosítónak meg kell egyeznie a Make Marker utasításban megadottal.\nA [accent]null []értékek figyelmen kívül lesznek hagyva. +lst.localeprint = Hozzáadja a pálya nyelvi csomagjainak tulajdonságértékét a szövegpufferhez.\nA pálya nyelvi csomagjainak beállításait a térképszerkesztőben ellenőrizheted: [accent]Pályainformációk > Nyelvi csomagok[].\nHa a kliens egy mobileszköz, akkor először próbáld kiíratni a „.mobile” végződésű tulajdonságot. lglobal.false = 0 lglobal.true = 1 -lglobal.null = nulla -lglobal.@pi = A pi matematikai állandó (3.141...) +lglobal.null = null +lglobal.@pi = A pí matematikai állandó (3.141...) lglobal.@e = Az e matematikai állandó (2.718...) -lglobal.@degToRad = Szorozza meg ezt a számot a fokok radiánra való konvertálásához -lglobal.@radToDeg = Szorozza meg ezt a számot a radiánok fokokká konvertálásához +lglobal.@degToRad = Ezzel a számmal szoroz a fok radiánra való átalakításához +lglobal.@radToDeg = Ezzel a számmal szoroz a radián fokra való átalakításához -lglobal.@time = Az aktuális mentés játékideje, milliszekundumban -lglobal.@tick = Az aktuális mentés játékideje, tick-ben (1 másodperc = 60 tick) -lglobal.@second = Az aktuális mentés játékideje, másodpercben -lglobal.@minute = Az aktuális mentés játékideje, percben -lglobal.@waveNumber = Az aktuális hullám száma, ha a hullámok engedélyezve vannak +lglobal.@time = A jelenelgi mentés játékideje ezredmásodpercben +lglobal.@tick = Az aktuális mentés játékideje, órajelciklusban (1 másodperc = 60 órajelciklus) +lglobal.@second = A jelenelgi mentés játékideje másodpercben +lglobal.@minute = A jelenelgi mentés játékideje percben +lglobal.@waveNumber = A jelenlegi hullám száma, ha a hullámok engedélyezve vannak lglobal.@waveTime = Visszaszámláló a hullámokhoz, másodpercben lglobal.@mapw = A pálya szélessége csempékben lglobal.@maph = A pálya magassága csempékben lglobal.sectionMap = Pálya lglobal.sectionGeneral = Általános -lglobal.sectionNetwork = Hálózati/kliensoldali [Csak Világprocesszor] +lglobal.sectionNetwork = Hálózati/kliensoldali [Csak világprocesszor] lglobal.sectionProcessor = Processzor -lglobal.sectionLookup = Keres +lglobal.sectionLookup = Keresés lglobal.@this = A kódot végrehajtó logikai blokk lglobal.@thisx = A kódot végrehajtó blokk X koordinátája lglobal.@thisy = A kódot végrehajtó blokk Y koordinátája -lglobal.@links = Az ehhez a processzorhoz kapcsolt épületek összesített száma -lglobal.@ipt = A processzor utasítás végrehajtási sebessége tick-ben (60 tick = 1 másodperc) +lglobal.@links = Az ehhez a processzorhoz kapcsolt épületek száma összesen +lglobal.@ipt = A processzor végrehajtási sebessége órajelciklusban (60 órajelciklus = 1 másodperc) -lglobal.@unitCount = A játékban található egységek típusainak összesített száma; a Keres utasítással együtt használjuk -lglobal.@blockCount = A játékban található blokkok típusainak összesített száma; a Keres utasítással együtt használjuk -lglobal.@itemCount = A játékban található nyersanyagok típusainak összesített száma; a Keres utasítással együtt használjuk -lglobal.@liquidCount = A játékban található folyadékok típusainak összesített száma; a Keres utasítással együtt használjuk +lglobal.@unitCount = A játékban található egységtípusok száma összesen; a keresés utasítással együtt használatos +lglobal.@blockCount = A játékban található blokktípusok száma összesen; a keresés utasítással együtt használatos +lglobal.@itemCount = A játékban található nyersanyagtípusok száma összesen; a keres utasítással együtt használatos +lglobal.@liquidCount = A játékban található folyadéktípusok száma összesen; a keresés utasítással együtt használatos lglobal.@server = Igaz, ha a kód egy kiszolgálón, vagy egyjátékos módban fut, egyébként hamis lglobal.@client = Igaz, ha a kód egy kiszolgálóhoz kapcsolódott kliensen fut -lglobal.@clientLocale = A kódot futtató kliens nyelvi beállítása. Például: hu_HU +lglobal.@clientLocale = A kódot futtató kliens területi beállítása. Például: hu_HU lglobal.@clientUnit = A kódot futtató kliens egysége -lglobal.@clientName = A kódot futtató kliens játékos neve -lglobal.@clientTeam = A kódot futtató kliens csapat azonosítója +lglobal.@clientName = A kódot futtató kliens játékosneve +lglobal.@clientTeam = A kódot futtató kliens csapatazonosítója lglobal.@clientMobile = Igaz, ha a kódot futtató kliens egy mobil eszköz, egyébként hamis logic.nounitbuild = [red]Az egységépítési logika itt nem megengedett. -lenum.type = Az épület/egység típusa.\nPéldául bármilyen elosztó esetében ez a [accent]@router[] értéket adja vissza.\nNem karakterlánc. -lenum.shoot = Lőj egy pontra. -lenum.shootp = Lőj egy egységre/épületre sebesség előrejelzéssel. -lenum.config = Épületkonfiguráció, például nyersanyag Válogató. -lenum.enabled = Attól függ, hogy a blokk engedélyezve van-e. +lenum.type = Az épület/egység típusa.\nPéldául bármilyen elosztó esetén a [accent]@router[] értéket adja vissza.\nNem karakterlánc. +lenum.shoot = Lövés egy adott pontra. +lenum.shootp = Lövés egy egységre/épületre sebesség-előrejelzéssel. +lenum.config = Épületkonfiguráció, például nyersanyag-válogató. +lenum.enabled = Engedélyezve van-e a blokk. laccess.color = Megvilágítás színe. -laccess.controller = Egységvezérlő. Ha a processzor vezérli, akkor a processzort adja vissza.\nHa formációban van, akkor a vezérlőjét adja vissza.\nMáskülönben magát az egységet adja vissza. -laccess.dead = Attól függ, hogy egy egység/épület halott-e, vagy már nem érvényes. -laccess.controlled = Visszatér:\n[accent]@ctrlProcessor[]l, ha az egységvezérlő egy processzor\n[accent]@ctrlPlayer[]l, ha az egység/épület vezérlője a játékos\n[accent]@ctrlFormation[]l, ha az egység formációban van\nMáskülönben 0. -laccess.progress = Akció előrehaladása, 0 és 1. között.\nVisszatér a termeléssel, a lövegtorony újratöltésével, vagy az építés előrehaladásával. +laccess.controller = Egységvezérlő. Ha processzor vezérli, akkor a processzort adja vissza.\nKülönben magát az egységet adja vissza. +laccess.dead = Egy épület/egység halott-e, vagy már nem érvényes-e. +laccess.controlled = Ezt adja vissza:\n[accent]@ctrlProcessor[], ha az egységvezérlő egy processzor\n[accent]@ctrlPlayer[], ha az egység/épület vezérlője a játékos\n[accent]@ctrlFormation[], ha az egység formációban van\nKülönben 0. +laccess.progress = Művelet előrehaladása, 0 és 1 között.\nA termelés, a lövegtorony-újratöltés vagy az építés előrehaladását adja vissza. laccess.speed = Az egység legnagyobb sebessége, csempe/mp-ben. laccess.id = Egy egység/blokk/nyersanyag/folyadék azonosítója.\nEz a keresési művelet fordítottja. @@ -2397,47 +2397,47 @@ lcategory.unknown = Ismeretlen lcategory.unknown.description = Nem kategorizált utasítások. lcategory.io = Bemenet és kimenet lcategory.io.description = A memóriablokkok és processzorpufferek tartalmának módosítása. -lcategory.block = Blokk vezérlés +lcategory.block = Blokkvezérlés lcategory.block.description = Interakció a blokkokkal. lcategory.operation = Műveletek lcategory.operation.description = Logikai műveletek. -lcategory.control = Áramlásszabályozás +lcategory.control = Folyamatvezérlés lcategory.control.description = A végrehajtási sorrend kezelése. lcategory.unit = Egységvezérlés -lcategory.unit.description = Adj parancsokat az egységeknek. +lcategory.unit.description = Parancsok adása az egységeknek. lcategory.world = Világ lcategory.world.description = A világ viselkedésének szabályozása. graphicstype.clear = A kijelző kitöltése egy színnel. graphicstype.color = Szín kiválasztása a következő rajzolási műveletekhez. -graphicstype.col = A színnel egyenértékű, de csomagolva.\nA csomagolt színeket HEX kódként írja ki egy [accent]%[] előtaggal.\nPéldául: [accent]%ff0000[] piros lenne. -graphicstype.stroke = Vonalszélesség beállítása. -graphicstype.line = Rajzolj vonalszakaszt. +graphicstype.col = A színnel egyenértékű, de csomagolva van.\nA csomagolt színeket hexa kódként írja ki egy [accent]%[] előtaggal.\nPéldául: a [accent]%ff0000[] piros lenne. +graphicstype.stroke = Vonalvastagság beállítása. +graphicstype.line = Vonalszakasz rajzolása. graphicstype.rect = Téglalap kitöltése. -graphicstype.linerect = Rajzolj egy téglalap alakú körvonalat. +graphicstype.linerect = Téglalap körvonalának rajzolása. graphicstype.poly = Egy szabályos sokszög kitöltése. -graphicstype.linepoly = Rajzolj egy szabályos sokszög körvonalat. -graphicstype.triangle = Töltsön ki egy háromszöget. -graphicstype.image = Rajzolj egy képet valamilyen tartalomról.\nPédául: [accent]@router[], vagy [accent]@dagger[]. -graphicstype.print = Szöveget rajzol a kiírási pufferből.\nTörli a kiírás puffert. +graphicstype.linepoly = Szabályos sokszög körvonalának rajzolása. +graphicstype.triangle = Egy háromszög kitöltése. +graphicstype.image = Kép rajzolása valamilyen tartalomról.\nPéldául: [accent]@router[] vagy [accent]@dagger[]. +graphicstype.print = Szöveget rajzol a kiírási pufferből.\nCsak ASCII karakterek használhatók.\nTörli a kiírás puffert. lenum.always = Mindig igaz. -lenum.idiv = Egész számok osztása. -lenum.div = Osztás.\nVisszatér [accent]null[]-val a nullával való osztásnál. -lenum.mod = Moduló. -lenum.equal = Egyenlő. Kényszeríti a típusokat.\nA nem nulla értékű objektumok értéke 1 lesz, egyébként 0. +lenum.idiv = Egész osztás. +lenum.div = Osztás.\nNullával való osztáskor a visszatérési érték [accent]null[]. +lenum.mod = Modulo. +lenum.equal = Egyenlő. Kényszeríti a típusokat.\nA nem null értékű objektumok értéke 1 lesz, egyébként 0. lenum.notequal = Nem egyenlő. Kényszeríti a típusokat. -lenum.strictequal = Szigorúan egyenlő. Nem kényszeríti a típusokat.\nA(z) [accent]null[] ellenőrzésére használható. +lenum.strictequal = Szigorúan egyenlőség. Nem kényszeríti a típusokat.\nA [accent]null[] ellenőrzésére is használható. lenum.shl = Biteltolás balra. lenum.shr = Biteltolás jobbra. lenum.or = Bitenkénti VAGY. lenum.land = Logikai ÉS. lenum.and = Bitenkénti ÉS. lenum.not = Bitenkénti átfordítás. -lenum.xor = Bitenkénti KIZÁRÓ-VAGY. +lenum.xor = Bitenkénti KIZÁRÓ VAGY. -lenum.min = Legalább két szám. -lenum.max = Legfeljebb két szám. +lenum.min = Két szám minimuma. +lenum.max = Két szám maximuma. lenum.angle = A vektor szöge fokban. lenum.anglediff = Két szög abszolút távolsága fokban. lenum.len = A vektor hossza. @@ -2446,15 +2446,15 @@ lenum.sin = Szinusz, fokban. lenum.cos = Koszinusz, fokban. lenum.tan = Tangens, fokban. -lenum.asin = ARC-szinusz, fokban. -lenum.acos = ARC-koszinusz, fokban. -lenum.atan = ARC-tangens, fokban. +lenum.asin = Arkusz szinusz, fokban. +lenum.acos = Arkusz koszinusz, fokban. +lenum.atan = Arkusz tangens, fokban. #not a typo, look up 'range notation' -lenum.rand = Véletlen decimális szám a [0, érték] tartományban. +lenum.rand = Véletlenszerű decimális szám a [0, érték) tartományban. lenum.log = Természetes logaritmus (ln). lenum.log10 = 10-es alapú logaritmus. -lenum.noise = 2D szimplex zaj. +lenum.noise = 2D-s szimplex zaj. lenum.abs = Abszolút érték. lenum.sqrt = Négyzetgyök. @@ -2469,70 +2469,70 @@ lenum.player = Egy játékos által irányított egység. lenum.ore = Érclelőhely. lenum.damaged = Sérült szövetséges épület. -lenum.spawn = Ellenséges kezdőpont.\nLehet egy Támaszpont vagy egy pozíció. +lenum.spawn = Ellenséges kezdőpont.\nLehet támaszpont vagy pozíció. lenum.building = Épület egy adott csoportban. -lenum.core = Bármilyen Támaszpont. -lenum.storage = Raktárépület, pl. Vault. +lenum.core = Bármilyen támaszpont. +lenum.storage = Raktárépület, például tároló. lenum.generator = Energiát termelő épületek. lenum.factory = Nyersanyagokat feldolgozó épületek. lenum.repair = Javítási pontok. lenum.battery = Bármilyen akkumulátor. -lenum.resupply = Utánpótlási pontok.\nCsak akkor van jelentősége, ha az [accent]"Egység Lőszer"[] engedélyezve van. -lenum.reactor = Ütközéses/Tórium Erőmű. +lenum.resupply = Utánpótlási pontok.\nCsak akkor van jelentősége, ha az [accent]„egység lőszere”[] engedélyezve van. +lenum.reactor = Ütközéses- vagy tóriumerőmű. lenum.turret = Bármilyen lövegtorony. -sensor.in = Az épület/egység, amelyet érzékelni kell. +sensor.in = Az érzékelendő épület/egység. -radar.from = Épület, ahonnan érzékelni kell.\nAz érzékelő hatótávolságát az épület hatótávolsága korlátozza. -radar.target = Szűrő az érzékelhető egységekhez. +radar.from = Az épület, ahonnan érzékelni kell.\nAz érzékelő hatótávolságát az épület hatótávolsága korlátozza. +radar.target = Szűrő az érzékelendő egységekhez. radar.and = További szűrők. radar.order = Rendezési sorrend. 0-tól visszafelé. radar.sort = Az eredmények rendezésének metrikája. radar.output = Változó, amelybe a kimeneti egységet írja. -unitradar.target = Szűrő az érzékelhető egységekhez. +unitradar.target = Érzékelendő egységek szűrése. unitradar.and = További szűrők. unitradar.order = Rendezési sorrend. 0-tól visszafelé. unitradar.sort = Az eredmények rendezésének metrikája. unitradar.output = Változó, amelybe a kimeneti egységet írja. -control.of = Épület az irányításhoz. +control.of = Irányítandó épület. control.unit = Megcélozandó egység/épület. -control.shoot = Akár lőni is lehet. +control.shoot = Lőjön-e. -unitlocate.enemy = Akár az ellenséges épületek felderítése. -unitlocate.found = Függetlenül attól, hogy a tárgy meglett-e találva. +unitlocate.enemy = Felderítse-e az ellenséges épületeket. +unitlocate.found = Megtalálta-e az objektumot. unitlocate.building = Kimeneti változó a megtalált épülethez. -unitlocate.outx = Kimeneti X koordináta. -unitlocate.outy = Kimeneti Y koordináta. +unitlocate.outx = Kimenet X koordinátája. +unitlocate.outy = Kimenet Y koordinátája. unitlocate.group = Keresendő épületcsoport. lenum.idle = Ne mozdulj, de folytasd az építkezést/bányászatot.\nAz alapértelmezett állapot. -lenum.stop = Mozgás/bányászás/építés leállítása. -lenum.unbind = A logikai vezérlés teljes kikapcsolása.\nSzokásos mesterséges intelligencia visszaállítása. +lenum.stop = Mozgás/bányászat/építés leállítása. +lenum.unbind = A logikai vezérlés teljes kikapcsolása.\nSzokásos mesterséges intelligencia folytatása. lenum.move = Mozgás a pontos pozícióba. -lenum.approach = Közelítsen meg egy pozíciót egy sugárral. -lenum.pathfind = Útkeresés az ellenséges kezdőponthoz. -lenum.autopathfind = Automatikus útkeresés a legközelebbi ellenséges Támaszponthoz, vagy ledobási ponthoz.\nEz ugyanaz, mint a normál hullámos ellenséges útkeresés. -lenum.target = Lőj egy helyet. -lenum.targetp = Lőj egy célpontra sebesség-előrejelzéssel. -lenum.itemdrop = Dobj le egy nyersanyagot. -lenum.itemtake = Vegyél fel egy nyersanyagot egy épületből. -lenum.paydrop = Dobd le az aktuális rakományt. -lenum.paytake = A rakomány felvétele az aktuális helyen. -lenum.payenter = Lépj be/szállj le arra a rakomány blokkra, amelyen az egység van. +lenum.approach = Egy pozíció megközelítése egy sugárral. +lenum.pathfind = Útkeresés a megadott pozícióhoz. +lenum.autopathfind = Automatikus útkeresés a legközelebbi ellenséges támaszponthoz vagy ledobási ponthoz.\nEz ugyanaz, mint a normál hullámos ellenséges útkeresés. +lenum.target = Lövés egy pozícióra. +lenum.targetp = Lövés egy célpontra sebesség-előrejelzéssel. +lenum.itemdrop = Egy nyersanyag ledobása. +lenum.itemtake = Egy nyersanyag felvétele egy épületből. +lenum.paydrop = A jelenlegi rakomány ledobása. +lenum.paytake = Rakomány felvétele a jelenlegi helyen. +lenum.payenter = Belépés/leszállás a rakományblokkra, amelyen az egység van. lenum.flag = Számjegyes egységjelölő. -lenum.mine = Bánya egy helyen. -lenum.build = Építs egy szerkezetet. -lenum.getblock = Egy épület és a koordinátái típusának lekérdezése. \nAz egységnek a pozíciótartományon belül kell lennie.\nA nem szilárd épületek [accent]@solid[] típusúak lesznek. -lenum.within = Ellenőrizze, hogy az egység egy pozíció közelében van-e. -lenum.boost = Erősítés indítás/leállítás. +lenum.mine = Bányászat egy helyen. +lenum.build = Egy épület építése. +lenum.getblock = Az épület, talaj és típus lekérdezése a koordinátákon.\nAz egységnek a pozíciótartományon belül kell lennie.\nA szilárd dolgok, melyek nem épületek, [accent]@solid[] típusúak lesznek. +lenum.within = Ellenőrzés, hogy az egység egy pozíció közelében van-e. +lenum.boost = Erősítés indítása/leállítása. -lenum.flushtext = A nyomtatási puffer tartalmának ürítése a jelölőre, ha alkalmazható.\nHa a fetch értéke igaz, megpróbálja lehívni a tulajdonságokat a pálya Helyi Csomagjából, vagy a játék csomagjából. -lenum.texture = A textúra neve közvetlenül a játék textúra atlaszából (kebab-case elnevezési stílus használatával).\nHa a printFlush értéke igaz, akkor a szöveges puffer tartalmát használja szöveges argumentumként. +lenum.flushtext = Az írási puffer tartalmának ürítése a jelölőre, ha alkalmazható.\nHa a „fetch” igaz, akkor megpróbálja lekérni a tulajdonságokat a pálya nyelvi csomagjából vagy a játék csomagjából. +lenum.texture = A textúra neve közvetlenül a játék textúraatlaszából (ún. kebab-case elnevezési stílus használatával).\nHa a „printFlush” igaz, akkor a szöveges puffer tartalmát használja szöveges argumentumként. lenum.texturesize = A textúra mérete csempékben. A nulla érték a jelölő szélességét az eredeti textúra méretére skálázza. -lenum.autoscale = A jelölő skálázása a játékos nagyítási szintjének megfelelően. -lenum.posi = Indexelt pozíció, vonal- és négyszögjelzőkhöz használatos, ahol a nulla index az első pozíció. -lenum.uvi = A textúra pozíciója nullától egyig, négyzet jelölőkhöz használatos. -lenum.colori = Indexelt szín, vonal- és négyzet jelölőkhöz használatos, ahol a nulla index az első szín. +lenum.autoscale = Skálázva legyen-e a jelölő a játékos nagyítási szintjének megfelelően. +lenum.posi = Indexelt pozíció, vonal- és négyszögjelzőkhöz használatos, ahol a nulla az első pozíció. +lenum.uvi = A textúra pozíciója nullától egyig, négyzetjelölőkhöz használatos. +lenum.colori = Indexelt szín, vonal- és négyzetjelölőkhöz használatos, ahol a nulla az első szín. From 08cb83b8e297181972590139d1d346ce36fe17e2 Mon Sep 17 00:00:00 2001 From: TheRadioactiveBanana <89061718+TheRadioactiveBanana@users.noreply.github.com> Date: Sat, 30 Mar 2024 00:32:46 +0530 Subject: [PATCH 39/89] UK nodes switching internet for higher stability and lower ping (#9682) Also probably moving TD, RA and some others to UK --- servers_v7.json | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/servers_v7.json b/servers_v7.json index 8553f2187f..d62c916a04 100644 --- a/servers_v7.json +++ b/servers_v7.json @@ -146,7 +146,7 @@ }, { "name": "Eradication Mindustry", - "address": ["140.238.246.78:7000", "140.238.246.78:7001", "140.238.246.78:7002", "140.238.246.78:7003", "140.238.246.78:7004", "130.61.22.183:7000", "130.61.22.183:7001", "130.61.22.183:7002", "130.61.22.183:7003", "130.61.22.183:7004", "130.61.22.183:7005", "130.61.220.99:7000", "130.61.220.99:7001", "130.61.220.99:7002", "130.61.220.99:7003", "130.61.220.99:7004", "130.61.220.99:7005", "77.100.100.249:7000", "77.100.100.249:7001"] + "address": ["140.238.246.78:7000", "140.238.246.78:7001", "140.238.246.78:7002", "140.238.246.78:7003", "130.61.22.183:7000", "130.61.22.183:7001", "130.61.22.183:7002", "130.61.22.183:7003", "130.61.22.183:7004", "130.61.22.183:7005", "130.61.220.99:7000", "130.61.220.99:7001", "130.61.220.99:7002", "130.61.220.99:7003", "130.61.220.99:7004", "130.61.220.99:7005", "62.30.47.116:7000", "62.30.47.116:7001", "62.30.47.116:7002"] }, { "name": "Conservatory", From fe10d92e05fccb2a0337da64275f7fe9b4057f70 Mon Sep 17 00:00:00 2001 From: RedsonBr140 Date: Fri, 29 Mar 2024 16:07:48 -0300 Subject: [PATCH 40/89] feat: update the pt_BR translation (#8219) * feat: Translate mods and campaign. * feat: translate global and world-specific hints. --------- Co-authored-by: Anuken --- core/assets/bundles/bundle_pt_BR.properties | 123 ++++++++++---------- 1 file changed, 59 insertions(+), 64 deletions(-) diff --git a/core/assets/bundles/bundle_pt_BR.properties b/core/assets/bundles/bundle_pt_BR.properties index 8dcf3382bb..5d055120e0 100644 --- a/core/assets/bundles/bundle_pt_BR.properties +++ b/core/assets/bundles/bundle_pt_BR.properties @@ -41,16 +41,16 @@ be.ignore = Ignorar be.noupdates = Nenhuma atualização encontrada. be.check = Checar por atualizações -mods.browser = Mod Browser +mods.browser = Navegador de mods mods.browser.selected = Mod selecionado mods.browser.add = Instalar mods.browser.reinstall = Reinstalar -mods.browser.view-releases = View Releases -mods.browser.noreleases = [scarlet]Nenhum lançamento encontrado\n[accent]Não foi possível encontrar nenhum lançamento para este mod. Verifique se o repositório do mod tem algum lançamento publicado. -mods.browser.latest = -mods.browser.releases = Releases +mods.browser.view-releases = Ver versões +mods.browser.noreleases = [scarlet]Nenhuma versão encontrada\n[accent]Não foi possível encontrar nenhuma versão do mod. Veja se o repositório do mod possui alguma versão publicada. +mods.browser.latest = +mods.browser.releases = Versões mods.github.open = Repositório -mods.github.open-release = Release Page +mods.github.open-release = Página da versão mods.browser.sortdate = Ordenar por mais recente mods.browser.sortstars = Ordenar por estrelas @@ -146,9 +146,9 @@ mod.multiplayer.compatible = [gray]Compatível com Multiplayer mod.disable = Desati-\nvar mod.content = Conteúdo: mod.delete.error = Incapaz de deletar o mod. O arquivo talvez esteja em uso. -mod.incompatiblegame = [red]Outdated Game -mod.incompatiblemod = [red]Incompatible -mod.blacklisted = [red]Unsupported +mod.incompatiblegame = [red]Jogo desatualizado +mod.incompatiblemod = [red]Incompatível +mod.blacklisted = [red]Não suportado mod.unmetdependencies = [red]Unmet Dependencies mod.erroredcontent = [scarlet]Erros no conteúdo mod.circulardependencies = [red]Circular Dependencies @@ -190,9 +190,9 @@ unlocked = Novo bloco desbloqueado! available = Nova pesquisa disponível! unlock.incampaign = < Desbloqueie na campanha para mais detalhes > campaign.select = Selecione a campanha inicial -campaign.none = [lightgray]Selecione um planeta para começar.\nEle pode ser alterado a qualquer momento. -campaign.erekir = Conteúdo mais novo e mais polido. Progressão de campanha principalmente linear.\n\nMapas de maior qualidade e experiência geral. -campaign.serpulo = Conteúdo mais antigo; a experiência clássica. Mais aberto.\n\nMapas e mecânicas de campanha potencialmente desbalanceados. Menos polido. +campaign.none = [lightgray]Selecione um planeta para começar nele.\nVocê pode mudar de planeta a qualquer momento. +campaign.erekir = Novo, conteúdo mais polido. Uma progressão mais linear na campanha.\n\nExperiência geral e mapas de maior qualidade. +campaign.serpulo = Conteúdo antigo; a experiência clássica. Mais aberto.\n\nMapas e mecânicas de campanha potencialmente desbalanceados. Menos polido. completed = [accent]Completado techtree = Árvore Tecnológica techtree.select = Seleção de Árvore Tecnológica @@ -383,8 +383,8 @@ pausebuilding = [accent][[{0}][] para parar a construção resumebuilding = [scarlet][[{0}][] para continuar a construção enablebuilding = [scarlet][[{0}][] para habilitar construção showui = Interface escondida.\nPressione [accent][[{0}][] para mostrar a interface. -commandmode.name = [accent]Command Mode -commandmode.nounits = [no units] +commandmode.name = [accent]Modo de comando +commandmode.nounits = [nenhuma unidade] wave = [accent]Horda {0} wave.cap = [accent]Horda {0}/{1} wave.waiting = Proxima horda em {0} @@ -1851,13 +1851,12 @@ hint.research = Use o botão de \ue875 [accent]Pesquisa[] para pesquisar novas t hint.research.mobile = Use o botão de \ue875 [accent]Pesquisa[] no \ue88c [accent]Menu[] para pesquisar novas tecnologias. hint.unitControl = Segure [accent][[L-ctrl][] e [accent]click[] para controlar suas unidades ou torretas. hint.unitControl.mobile = [accent][[Toque duas vezes][] para controlar suas unidades ou torretas. -hint.unitSelectControl = To control units, enter [accent]command mode[] by holding [accent]L-shift.[]\nWhile in command mode, click and drag to select units. [accent]Right-click[] a location or target to command units there. -hint.unitSelectControl.mobile = To control units, enter [accent]command mode[] by pressing the [accent]command[] button in the bottom left.\nWhile in command mode, long-press and drag to select units. Tap a location or target to command units there. +hint.unitSelectControl = Para controlar unidades, entre no [accent]modo de comando[] segurando [accent]Shift esquerdo.[]\nEnquanto no modo de comando, clique e segure pra selecionar unidades. Clique com o [accent]Botão direito[] em um lugar ou alvo para mandar as unidades para lá. +hint.unitSelectControl.mobile = Para controlar unidades, entre no [accent]modo de comando[] segurando o botão de [accent]comando[] no canto inferior esquerdo.\nEnquanto no modo de comando, segure e arraste pra selecionar unidades. Toque em algum lugar ou alvo para mandar as unidades para lá. hint.launch = Quando recursos suficientes forem coletados, você pode [accent]Lançar[] selecionando setores próximos a partir do \ue827 [accent]Mapa[] no canto inferior direito. hint.launch.mobile = Quando recursos suficientes forem coletados, você pode [accent]Lançar[] selecionando setores próximos a partir do \ue827 [accent]Mapa[] no \ue88c [accent]Menu[]. hint.schematicSelect = Segure [accent][[F][] e arraste para selecionar blocos para copiar e colar.\n\n[accent][[Middle Click][] para copiar um bloco só. -hint.rebuildSelect = Hold [accent][[B][] and drag to select destroyed block plans.\nThis will rebuild them automatically. -hint.rebuildSelect.mobile = Select the \ue874 copy button, then tap the \ue80f rebuild button and drag to select destroyed block plans.\nThis will rebuild them automatically. +hint.rebuildSelect = Segure [accent][[B][] e arraste para selecionar blocos destruídos.\nIsso irá reconstruí-los automaticamente. hint.conveyorPathfind = Segure [accent][[L-Ctrl][] enquanto arrasta as esteiras para gerar automaticamente um caminho. hint.conveyorPathfind.mobile = Ative o \ue844 [accent]modo diagonal[] e arraste as esteiras para gerar automaticamente um caminho. hint.boost = Segure [accent][[L-Shift][] para voar sobre obstáculos com a sua unidade.\n\nApenas algumas unidades terrestres tem propulsores. @@ -1874,53 +1873,49 @@ hint.presetDifficulty = Esse setor tem um [scarlet]alto nível de ameaça inimig hint.coreIncinerate = Depois que o núcleo ter recebido até a capacidade máxima de um item, qualquer item do mesmo tipo que ele receber será [accent]incinerado[]. hint.factoryControl = Para definir a [accent]o local de saída[] de uma fábrica de unidades, clique em uma fábrica enquanto estiver no modo de comando, depois clique com o botão direito em um local.\nAs unidades produzidas por ela se moverão automaticamente para lá. hint.factoryControl.mobile = Para definir a [accent]o local de saída[] de uma fábrica de unidades, toque em uma fábrica enquanto estiver no modo de comando, depois toque em um local.\nAs unidades produzidas por ela se moverão automaticamente para lá. -gz.mine = Move near the \uf8c4 [accent]copper ore[] on the ground and click to begin mining. -gz.mine.mobile = Move near the \uf8c4 [accent]copper ore[] on the ground and tap it to begin mining. -gz.research = Open the \ue875 tech tree.\nResearch the \uf870 [accent]Mechanical Drill[], then select it from the menu in the bottom right.\nClick on a copper patch to place it. -gz.research.mobile = Open the \ue875 tech tree.\nResearch the \uf870 [accent]Mechanical Drill[], then select it from the menu in the bottom right.\nTap on a copper patch to place it.\n\nPress the \ue800 [accent]checkmark[] at the bottom right to confirm. -gz.conveyors = Research and place \uf896 [accent]conveyors[] to move the mined resources\nfrom drills to the core.\n\nClick and drag to place multiple conveyors.\n[accent]Scroll[] to rotate. -gz.conveyors.mobile = Research and place \uf896 [accent]conveyors[] to move the mined resources\nfrom drills to the core.\n\nHold down your finger for a second and drag to place multiple conveyors. -gz.drills = Expand the mining operation.\nPlace more Mechanical Drills.\nMine 100 copper. -gz.lead = \uf837 [accent]Lead[] is another commonly used resource.\nSet up drills to mine lead. -gz.moveup = \ue804 Move up for further objectives. -gz.turrets = Research and place 2 \uf861 [accent]Duo[] turrets to defend the core.\nDuo turrets require \uf838 [accent]ammo[] from conveyors. -gz.duoammo = Supply the Duo turrets with [accent]copper[], using conveyors. -gz.walls = [accent]Walls[] can prevent oncoming damage from reaching buildings.\nPlace \uf8ae [accent]copper walls[] around the turrets. -gz.defend = Enemy incoming, prepare to defend. -gz.aa = Flying units cannot easily be dispatched with standard turrets.\n\uf860 [accent]Scatter[] turrets provide excellent anti-air, but require \uf837 [accent]lead[] as ammo. -gz.scatterammo = Supply the Scatter turret with [accent]lead[], using conveyors. -gz.supplyturret = [accent]Supply Turret -gz.zone1 = This is the enemy drop zone. -gz.zone2 = Anything built in the radius is destroyed when a wave starts. -gz.zone3 = A wave will begin now.\nGet ready. -gz.finish = Build more turrets, mine more resources,\nand defend against all the waves to [accent]capture the sector[]. -onset.mine = Click to mine \uf748 [accent]beryllium[] from walls.\n\nUse [accent][[WASD] to move. -onset.mine.mobile = Tap to mine \uf748 [accent]beryllium[] from walls. -onset.research = Open the \ue875 tech tree.\nResearch, then place a \uf73e [accent]turbine condenser[] on the vent.\nThis will generate [accent]power[]. -onset.bore = Research and place a \uf741 [accent]plasma bore[].\nThis automatically mines resources from walls. -onset.power = To [accent]power[] the plasma bore, research and place a \uf73d [accent]beam node[].\nConnect the turbine condenser to the plasma bore. -onset.ducts = Research and place \uf799 [accent]ducts[] to move the mined resources from the plasma bore to the core.\nClick and drag to place multiple ducts.\n[accent]Scroll[] to rotate. -onset.ducts.mobile = Research and place \uf799 [accent]ducts[] to move the mined resources from the plasma bore to the core.\n\nHold down your finger for a second and drag to place multiple ducts. -onset.moremine = Expand the mining operation.\nPlace more Plasma Bores and use beam nodes and ducts to support them.\nMine 200 beryllium. -onset.graphite = More complex blocks require \uf835 [accent]graphite[].\nSet up plasma bores to mine graphite. -onset.research2 = Begin researching [accent]factories[].\nResearch the \uf74d [accent]cliff crusher[] and \uf779 [accent]silicon arc furnace[]. -onset.arcfurnace = The arc furnace needs \uf834 [accent]sand[] and \uf835 [accent]graphite[] to create \uf82f [accent]silicon[].\n[accent]Power[] is also required. -onset.crusher = Use \uf74d [accent]cliff crushers[] to mine sand. -onset.fabricator = Use [accent]units[] to explore the map, defend buildings, and attack the enemy. Research and place a \uf6a2 [accent]tank fabricator[]. -onset.makeunit = Produce a unit.\nUse the "?" button to see selected factory requirements. -onset.turrets = Units are effective, but [accent]turrets[] provide better defensive capabilities if used effectively.\nPlace a \uf6eb [accent]Breach[] turret.\nTurrets require \uf748 [accent]ammo[]. -onset.turretammo = Supply the turret with [accent]beryllium ammo.[] -onset.walls = [accent]Walls[] can prevent oncoming damage from reaching buildings.\nPlace some \uf6ee [accent]beryllium walls[] around the turret. -onset.enemies = Enemy incoming, prepare to defend. -onset.defenses = [accent]Set up defenses:[lightgray] {0} -onset.attack = The enemy is vulnerable. Counter-attack. -onset.cores = New cores can be placed on [accent]core tiles[].\nNew cores function as forward bases and share a resource inventory with other cores.\nPlace a \uf725 core. -onset.detect = The enemy will be able to detect you in 2 minutes.\nSet up defenses, mining, and production. +gz.mine = Vá para perto do \uf8c4 [accent]minério de cobre[] no chão e clique para começar a minerar. +gz.mine.mobile = Vá para perto do \uf8c4 [accent]minério de cobre[] no chão e toque nele para começar a minerar. +gz.research = Abra a \ue875 árvore tecnológica.\nPesquise a \uf870 [accent]Broca mecânica[], Depois selecione-a pelo menu no canto inferior direito.\nClique no cobre para coloca-la. +gz.research.mobile = Abra a \ue875 árvore tecnológica.\nPesquise a \uf870 [accent]Broca mecânica[], Depois selecione-a pelo menu no canto inferior direito.\nClique no cobre para colocá-la.\n\nPressione a \ue800 [accent]confirmação[] no canto inferior direito para confirmar. +gz.conveyors = Pesquise e coloque \uf896 [accent]esteiras[] para mover os recursos minerados\ndas brocas para o núcleo.\n\nClique e arraste para pôr multiplas esteiras.\n[accent]Scroll[] para rotacionar. +gz.conveyors.mobile = Pesquise e coloque \uf896 [accent]esteiras[] para mover os recursos minerados\ndas brocas para o núcleo.\n\nSegure por um segundo e arraste para colocar múltiplas esteiras. +gz.drills = Expanda a mineração.\nColoque mais Brocas Mecânicas.\nMinere 100 cobres. +gz.lead = \uf837 [accent]Chumbo[] é outro recurso comumente usado.\nColoque brocas para minerar chumbo. +gz.moveup = \ue804 Vá para cima para outros objetivos. +gz.turrets = Pesquise e coloque 2 torretas \uf861 [accent]Duo[] para defender o núcleo.\ntorretas Duo requerem \uf838 [accent]munição[] de esteiras. +gz.duoammo = Abasteça as torretas Duo com [accent]cobre[], usando esteiras. +gz.walls = [accent]Muros[] podem previnir danos recebidos de atingir as construções.\nColoque \uf8ae [accent]muros de cobre[] em volta das torretas. +gz.defend = Inimigos vindo, prepare-se para defender. +gz.aa = Unidades flutuantes não podem ser destruidas facilmente por torretas comuns.\nTorretas\uf860 [accent]Scatter[] Proveem ótima defesa aérea, mas requerem \uf837 [accent]chumbo[] como munição. +gz.scatterammo = Abasteça a torreta Scatter com [accent]chumbo[], usando esteiras. +gz.supplyturret = [accent]Abasteça a torreta +gz.zone1 = Essa é a zona de spawn inimigo. +gz.zone2 = Qualquer coisa construida nesta área será destruida quando uma horda começar. +gz.zone3 = Uma horda vai começar agora\nSe prepare. +gz.finish = Construa mais torretas, minere mais recursos,\ne se defenda de todas as hordas para [accent]capturar o setor[]. +onset.mine = Clique para minerar \uf748 [accent]berílio[] das paredes.\n\nUse [accent][[WASD] para se mover. +onset.mine.mobile = Toque para minerar \uf748 [accent]berílio[] das paredes. +onset.research = Abra a \ue875 árvore tecnológica.\nPesquise, e então coloque um \uf73e [accent]Condensador de Turbina[] na ventilação.\nIsso vai gerar [accent]energia[]. +onset.bore = Pesquise e coloque uma \uf741 [accent]Mineradora de Plasma[].\nEla minera recursos das paredes automaticamente. +onset.power = Para[accent]alimentar[] a Mineradora de Plasma, pesquise e coloque uma \uf73d [accent]Célula de Feixe[].\nConecte o condensador de turbina ao minerador de plasma. +onset.ducts = Pesquise e coloque \uf799 [accent]dutos[] para mover recursos minerados da mineradora de plasma para o núcleo.\nClique e segure para colocar múltiplos dutos.\n[accent]Scroll[] para rotacionar. +onset.ducts.mobile = Pesquise e coloque \uf799 [accent]dutos[] para mover recursos minerados da mineradora de plasma para o núcleo.\n\nSegure por um segundo e arraste para colocar múltiplos dutos. +onset.moremine = Expanda a mineração.\nColoque mais Mineradoras de Plasma, use as Células de Feixe e dutos para isso.\nMinere 200 berílios. +onset.graphite = Blocos mais complexos requerem \uf835 [accent]grafite[].\nColoque Mineradoras de Plasma para minerar grafite. +onset.research2 = Comece a pesquisar [accent]fábricas[].\nPesquise o \uf74d [accent]Esmagador de Penhasco[] e o \uf779 [accent]silicon arc furnace[]. +onset.arcfurnace = O arc furnace precisa de \uf834 [accent]areia[] e \uf835 [accent]grafite[] para criar \uf82f [accent]silício[].\n[accent]Energia[] também é necessária. +onset.crusher = Use o \uf74d [accent]Esmagador de Areia[] para minerar areia. +onset.fabricator = Use [accent]unidades[] para explorar o mapa, defender construções e atacar o inimigo. Pesquise e coloque um \uf6a2 [accent]Fabricador de Tanques[]. +onset.makeunit = Produza uma unidade.\nUse o botão "?" para ver os requisitos da fábrica selecionada. +onset.turrets = Unidades são efetivas, mas [accent]torretas[] proveem melhores capacidades defensivas se usadas efetivamente.\nColoque uma torreta \uf6eb [accent]Breach[].\nTorretas requerem \uf748 [accent]munição[]. +onset.turretammo = Abasteça a torreta com [accent]munição de berílio.[] +onset.walls = [accent]Muros[] podem previnir danos recebidos de atingir as construções.\nColoque \uf6ee [accent]muros de berílio[] em volta das torretas. + +onset.enemies = Inimigo vindo, se prepare. +onset.attack = O inimigo está vulnerável. Contra ataque. +onset.cores = Novos núcleos podem ser colocados em [accent]ladrilhos de núcleo[].\nNovos núcleos funcionam como bases avançadas e compartilham seus recursos com outros núcleos.\nColoque um \uf725 núcleo. +onset.detect = O inimigo poderá te detectar em 2 minutos.\nConstrua defesas, mineração e produção. -#Don't translate these yet! -onset.commandmode = Hold [accent]shift[] to enter [accent]command mode[].\n[accent]Left-click and drag[] to select units.\n[accent]Right-click[] to order selected units to move or attack. -onset.commandmode.mobile = Press the [accent]command button[] to enter [accent]command mode[].\nHold down a finger, then [accent]drag[] to select units.\n[accent]Tap[] to order selected units to move or attack. -aegis.tungsten = Tungsten can be mined using an [accent]impact drill[].\nThis structure requires [accent]water[] and [accent]power[]. split.pickup = Some blocks can be picked up by the core unit.\nPick up this [accent]container[] and place it onto the [accent]payload loader[].\n(Default keys are [ and ] to pick up and drop) split.pickup.mobile = Some blocks can be picked up by the core unit.\nPick up this [accent]container[] and place it onto the [accent]payload loader[].\n(To pick up or drop something, long-press it.) split.acquire = You must acquire some tungsten to build units. From 520c423a597328f0151ccc1b2ec3790d36341c54 Mon Sep 17 00:00:00 2001 From: Github Actions Date: Fri, 29 Mar 2024 19:08:39 +0000 Subject: [PATCH 41/89] Automatic bundle update --- core/assets/bundles/bundle_hu.properties | 86 ++++++++++----------- core/assets/bundles/bundle_pt_BR.properties | 5 ++ 2 files changed, 48 insertions(+), 43 deletions(-) diff --git a/core/assets/bundles/bundle_hu.properties b/core/assets/bundles/bundle_hu.properties index 3a372d6433..88ac610b4f 100644 --- a/core/assets/bundles/bundle_hu.properties +++ b/core/assets/bundles/bundle_hu.properties @@ -743,7 +743,7 @@ weather.sandstorm.name = Homokvihar weather.sporestorm.name = Spóravihar weather.fog.name = Köd -campaign.playtime =  [lightgray]Játékidő a szektorban: {0} +campaign.playtime = \uf129 [lightgray]Játékidő a szektorban: {0} campaign.complete = [accent]Gratulálunk.\n\nAz ellenség legyőzve a(z) {0} bolygón.\n[lightgray]Az utolsó szektor meghódítása megtörtént. sectorlist = Szektorok @@ -1859,79 +1859,79 @@ hint.respawn = Ahhoz, hogy drónként újraéledj, nyomd meg a [accent][[V][] go hint.respawn.mobile = Átvetted az irányítást egy egység vagy épület felett. Ahhoz, hogy drónként újraéledj, [accent]koppints a profilképre a bal felső sarokban.[] hint.desktopPause = Nyomd meg a [accent][[Szóközt][] a játék szüneteltetéséhez vagy folytatásához. hint.breaking = [accent]Jobb egérgombbal[] és húzással lebonthatod a blokkokat. -hint.breaking.mobile = Használd a jobb alsó sarokban lévő  [accent]kalapács[] gombot a blokkok törléséhez.\n\nTartsd lenyomva az ujjad és húzd, hogy nagyobb területet tudj kijelölni. +hint.breaking.mobile = Használd a jobb alsó sarokban lévő \ue817 [accent]kalapács[] gombot a blokkok törléséhez.\n\nTartsd lenyomva az ujjad és húzd, hogy nagyobb területet tudj kijelölni. hint.blockInfo = Egy blokk információinak megtekintéséhez válaszd ki az épületet az [accent]építési menüben[], majd válaszd a [accent][[?][] gomb jobb oldalt. hint.derelict = Az [accent]elhagyatott[] szerkezetek régi bázisok maradványai, amelyek már nem működnek.\n\nEzeket az épületeket le lehet [accent]bontani[] nyersanyagokért, vagy meg is lehet javítani őket. -hint.research = Használd a  [accent]Fejlesztési fa[] gombot, hogy új technológiákat fedezz fel. -hint.research.mobile = Használd a  [accent]Fejlesztési fa[] gombot a  [accent]menüben[], hogy új technológiákat fedezz fel. +hint.research = Használd a \ue875 [accent]Fejlesztési fa[] gombot, hogy új technológiákat fedezz fel. +hint.research.mobile = Használd a \ue875 [accent]Fejlesztési fa[] gombot a \ue88c [accent]menüben[], hogy új technológiákat fedezz fel. hint.unitControl = Nyomd le a [accent][[bal Ctrl][] gombot, és kattints [accent]jobb egérgombbal[] a baráti egység vagy lövegtorony irányításához. hint.unitControl.mobile = [accent][[Dupla koppintással][] irányíthatók kézileg a szövetséges egységek vagy lövegtornyok. hint.unitSelectControl = Az egységek irányításához lépj be [accent]parancs módba[] a [accent]bal Shift[] lenyomva tartásával.\nParancs módban az egységek kijelöléséhez kattints, és húzd az egeret. A [accent]jobb egérgombbal[] küldd az egységeket a helyszínre vagy a célponthoz. hint.unitSelectControl.mobile = Az egységek irányításához lépj be [accent]parancs módba[] a bal alsó sarokban lévő [accent]parancs[] gombbal.\nParancs módban az egységek kiválasztásához érintsd meg a kijelzőt és húzással jelöld ki az egységeket. Koppintással küldd az egységeket a helyszínre vagy a célponthoz. -hint.launch = Ha elegendő nyersanyagot gyűjtöttél össze, akkor [accent]lődd ki[] a támaszpontot a következő szektorba, úgy, hogy megnyitod a  [accent]Bolygótérképet[] a jobb alsó sarokban, és átforgatod az új helyszínre. -hint.launch.mobile = Ha elegendő nyersanyagot gyűjtöttél össze, akkor [accent]lődd ki[] el a támaszpontot egy közeli szektorba, úgy, hogy kiválasztasz egy szektort a  [accent]Menüben[] a  [accent]Bolygótérképről[]. +hint.launch = Ha elegendő nyersanyagot gyűjtöttél össze, akkor [accent]lődd ki[] a támaszpontot a következő szektorba, úgy, hogy megnyitod a \ue827 [accent]Bolygótérképet[] a jobb alsó sarokban, és átforgatod az új helyszínre. +hint.launch.mobile = Ha elegendő nyersanyagot gyűjtöttél össze, akkor [accent]lődd ki[] el a támaszpontot egy közeli szektorba, úgy, hogy kiválasztasz egy szektort a \ue88c [accent]Menüben[] a \ue827 [accent]Bolygótérképről[]. hint.schematicSelect = Tartsd nyomja az [accent][[F][] gombot több épület kijelöléséhez és másolásához.\n\n[accent][[Középső kattintással][] egy adott blokktípus másolható. hint.rebuildSelect = Tartsd nyomva a [accent][[B][] gombot és húzással jelöld ki a megsemmisített blokkterveket.\nEz automatikusan újraépíti őket. -hint.rebuildSelect.mobile = Válaszd a  másolás gombot, majd koppints az  újjáépítés gombra, és húzd a megsemmisült blokktervek kijelöléséhez.\nEz automatikusan újraépíti őket. +hint.rebuildSelect.mobile = Válaszd a \ue874 másolás gombot, majd koppints az \ue80f újjáépítés gombra, és húzd a megsemmisült blokktervek kijelöléséhez.\nEz automatikusan újraépíti őket. hint.conveyorPathfind = Tartsd nyomva a [accent][[bal Ctrl][] gombot a szállítószalagok lerakása közben, hogy a játék útvonalat állítson elő. -hint.conveyorPathfind.mobile = Engedélyezd az  [accent]átlós módot[], és tegyél le egyszerre több szállítószalagot, hogy a játék útvonalat állítson elő. +hint.conveyorPathfind.mobile = Engedélyezd az \ue844 [accent]átlós módot[], és tegyél le egyszerre több szállítószalagot, hogy a játék útvonalat állítson elő. hint.boost = Tartsd nyomva a [accent][[bal Shift][] gombot, hogy átrepülj az akadályok felett.\n\nErre csak néhány földi egység képes. hint.payloadPickup = Nyomd meg a [accent][[[] gombot a kis blokkok vagy egységek felemeléséhez. hint.payloadPickup.mobile = [accent]Koppints és tartsd lenyomva az ujjad[] egy kis blokk vagy egység felemeléséhez. hint.payloadDrop = Nyomd le a [accent]][] gombot a rakomány lerakásához. hint.payloadDrop.mobile = [accent]Koppints és tartsd lenyomva az ujjad[] egy üres területen a rakomány lerakásához. hint.waveFire = A vizet lőszerként használó [accent]Wave[] lövegtornyok automatikusan eloltják a közeli tüzeket. -hint.generator = Az  [accent]égetőerőmű[] szenet éget, és áramot ad át a vele érintkező épületeknek.\n\nAz áramszállítás távolsága [accent]villanyoszlopokkal[] növelhető. -hint.guardian = Az [accent]Őrzők[] páncélozottak. A gyenge lövedékek, mint a [accent]réz[] vagy az [accent]ólom[] [scarlet]nem hatásosak[] az Őrző páncéljával szemben.\n\nHasználj magasabb szintű lövegtornyokat, vagy  [accent]grafitot[] a Duo/Salvo lövegtornyokban, hogy leszedd az Őrzőket. -hint.coreUpgrade = A támaszpont úgy fejleszthető, hogy [accent]magasabb szintű támaszpontot teszel rá[].\n\nHelyezz egy  [accent]Alapítvány[] támaszpontot a  [accent]Szilánk[] támaszpontra. Figyelj rá, hogy ne legyenek az új támaszpont területén épületek. +hint.generator = Az \uf879 [accent]égetőerőmű[] szenet éget, és áramot ad át a vele érintkező épületeknek.\n\nAz áramszállítás távolsága [accent]villanyoszlopokkal[] növelhető. +hint.guardian = Az [accent]Őrzők[] páncélozottak. A gyenge lövedékek, mint a [accent]réz[] vagy az [accent]ólom[] [scarlet]nem hatásosak[] az Őrző páncéljával szemben.\n\nHasználj magasabb szintű lövegtornyokat, vagy \uf835 [accent]grafitot[] a Duo/\uf859Salvo lövegtornyokban, hogy leszedd az Őrzőket. +hint.coreUpgrade = A támaszpont úgy fejleszthető, hogy [accent]magasabb szintű támaszpontot teszel rá[].\n\nHelyezz egy \uf868 [accent]Alapítvány[] támaszpontot a \uf869 [accent]Szilánk[] támaszpontra. Figyelj rá, hogy ne legyenek az új támaszpont területén épületek. hint.presetLaunch = A szürke [accent]landolási zónát tartalmazó szektorokba[], amilyen például a [accent]Fagyott erdő[], bárhonnan kilőhetsz. Nem szükséges hozzá szomszédos területet elfoglalnod.\n\nA [accent]számozott szektorok[], mint ez is, [accent]nem kötelezők[]. hint.presetDifficulty = Ebben a szektorban [scarlet]magas az ellenséges fenyegetettségi szint[].\nAz ilyen szektorokba való indulás [accent]nem ajánlott[] megfelelő technológia és felkészülés nélkül. hint.coreIncinerate = Ha a támaszpont egy nyersanyagból elérte a maximumot, a beérkező további nyersanyagok azonnal [accent]megsemmisítésre kerülnek[]. hint.factoryControl = Egy egységgyár [accent]kimeneti célpontjának[] beállításához kattints parancs módban egy gyárépületre, majd kattints jobb egérgombbal egy helyre.\nAz előállított egységek automatikusan odamennek. hint.factoryControl.mobile = Egy egységgyár [accent]kimeneti célpontjának[] beállításához koppints parancs módban egy gyárépületre, majd koppints egy helyre.\nAz előállított egységek automatikusan odamennek. -gz.mine = Menj a földön lévő  [accent]rézérc[] közelébe, és kattints a bányászat megkezdéséhez. -gz.mine.mobile = Menj a földön lévő  [accent]rézérc[] közelébe, és koppints a bányászat megkezdéséhez. -gz.research = Nyisd meg a  Fejlesztési fát.\nFejleszd ki a  [accent]Mechanikus fúrót[], majd válaszd ki a jobb alsó sarokban lévő menüből.\nKattints egy rézfoltra az elhelyezéséhez. -gz.research.mobile = Nyisd meg a  Fejlesztési fát.\nFejleszd ki a  [accent]Mechanikus fúrót[], majd válaszd ki a jobb alsó sarokban lévő menüből.\nKattints egy rézfoltra az elhelyezéséhez.\n\nA megerősítéshez nyomd meg a jobb alsó sarokban lévő  [accent]pipát[]. -gz.conveyors = Fejleszd ki, és építs  [accent]szállítószalagokat[], hogy a kitermelt\nnyersanyagokat eljuttasd a fúróktól a támaszpontba.\n\nKattints és húzd az egeret, hogy több szállítószalagot helyezz el.\nHasználd a [accent]görgőt[] a forgatáshoz. -gz.conveyors.mobile = Fejleszd ki, és építs  [accent]szállítószalagokat[], hogy a kitermelt\nnyersanyagokat eljuttasd a fúróktól a támaszpontba.\n\nTartsd lenyomva az ujjad és húzd el, hogy több szállítószalagot helyezz el. +gz.mine = Menj a földön lévő \uf8c4 [accent]rézérc[] közelébe, és kattints a bányászat megkezdéséhez. +gz.mine.mobile = Menj a földön lévő \uf8c4 [accent]rézérc[] közelébe, és koppints a bányászat megkezdéséhez. +gz.research = Nyisd meg a \ue875 Fejlesztési fát.\nFejleszd ki a \uf870 [accent]Mechanikus fúrót[], majd válaszd ki a jobb alsó sarokban lévő menüből.\nKattints egy rézfoltra az elhelyezéséhez. +gz.research.mobile = Nyisd meg a \ue875 Fejlesztési fát.\nFejleszd ki a \uf870 [accent]Mechanikus fúrót[], majd válaszd ki a jobb alsó sarokban lévő menüből.\nKattints egy rézfoltra az elhelyezéséhez.\n\nA megerősítéshez nyomd meg a jobb alsó sarokban lévő \ue800 [accent]pipát[]. +gz.conveyors = Fejleszd ki, és építs \uf896 [accent]szállítószalagokat[], hogy a kitermelt\nnyersanyagokat eljuttasd a fúróktól a támaszpontba.\n\nKattints és húzd az egeret, hogy több szállítószalagot helyezz el.\nHasználd a [accent]görgőt[] a forgatáshoz. +gz.conveyors.mobile = Fejleszd ki, és építs \uf896 [accent]szállítószalagokat[], hogy a kitermelt\nnyersanyagokat eljuttasd a fúróktól a támaszpontba.\n\nTartsd lenyomva az ujjad és húzd el, hogy több szállítószalagot helyezz el. gz.drills = Bővítsd a bányászati kapacitást.\nÉpíts több mechanikus fúrót.\nBányássz 100 rezet. -gz.lead = Az  [accent]ólom[] egy másik gyakran használt nyersanyag.\nÉpíts fúrókat az ólom kitermelésére. -gz.moveup =  Menj tovább a további utasításokért. -gz.turrets = Fejleszd ki, és építs 2  [accent]Duo[] lövegtornyot, hogy megvédd a támaszpontot.\nA Duo lövegtornyoknak  [accent]lőszerre[] van szükségük, mely szállítószalaggal juttatható el hozzájuk. +gz.lead = Az \uf837 [accent]ólom[] egy másik gyakran használt nyersanyag.\nÉpíts fúrókat az ólom kitermelésére. +gz.moveup = \ue804 Menj tovább a további utasításokért. +gz.turrets = Fejleszd ki, és építs 2 \uf861 [accent]Duo[] lövegtornyot, hogy megvédd a támaszpontot.\nA Duo lövegtornyoknak \uf838 [accent]lőszerre[] van szükségük, mely szállítószalaggal juttatható el hozzájuk. gz.duoammo = Szállítószalagok segítségével lásd el [accent]rézzel[] a Duo lövegtornyokat. -gz.walls = A [accent]falak[] megakadályozhatják, hogy az épületekben károk keletkezzenek.\nÉpíts  [accent]rézfalakat[] a lövegtornyok köré. +gz.walls = A [accent]falak[] megakadályozhatják, hogy az épületekben károk keletkezzenek.\nÉpíts \uf8ae [accent]rézfalakat[] a lövegtornyok köré. gz.defend = Az ellenség közeledik, készülj fel a védekezésre. -gz.aa = A repülő egységeket nem lehet könnyen elintézni a hagyományos lövegtornyokkal.\nA  [accent]Scatter[] lövegtornyok kiváló légelhárítást biztosítanak, de lőszerként  [accent]ólomra[] van szükségük. -gz.scatterammo = Szállítószalagok segítségével lásd el  [accent]ólommal[] a Scatter lövegtornyokat. +gz.aa = A repülő egységeket nem lehet könnyen elintézni a hagyományos lövegtornyokkal.\nA \uf860 [accent]Scatter[] lövegtornyok kiváló légelhárítást biztosítanak, de lőszerként \uf837 [accent]ólomra[] van szükségük. +gz.scatterammo = Szállítószalagok segítségével lásd el \uf837 [accent]ólommal[] a Scatter lövegtornyokat. gz.supplyturret = [accent]Lövegtorony ellátása gz.zone1 = Ez az ellenség leszállóhelye. gz.zone2 = Bármi, ami a hatósugarában épült, elpusztul, amikor egy hullám elindul. gz.zone3 = Egy hullám most kezdődik.\nKészülj fel. gz.finish = Építs több lövegtornyot, bányássz több nyersanyagot,\nés védekezz az ellenséges hullámok ellen, hogy [accent]elfoglald a szektort[]. -onset.mine = Kattints bal egérgombbal a  [accent]berillium[] kibányászáshoz a falakból.\n\nA mozgáshoz használd a [accent][[WASD] gombokat. -onset.mine.mobile = Koppints a  [accent]berillium[] kibányászáshoz a falakból. -onset.research = Nyisd meg a  fejlesztési fát.\nFejleszd ki, és építs egy  [accent]kondenzációs turbinát[] a kürtőn.\nEz [accent]áramot[] fog termelni. -onset.bore = Fejleszd ki, és építs egy  [accent]plazmafúrót[].\nEz automatikusan bányássza ki a nyersanyagokat a falakból. -onset.power = Ahhoz, hogy [accent]árammal[] lásd el a plazmafúrót, fejleszd ki, és helyezz el egy  [accent]sugárcsomópontot[].\nSegítségükkel összekötheted a kondenzációs turbinát a plazmafúróval. -onset.ducts = Fejleszd ki, és építs  [accent]szállítószalagot[], hogy a kitermelt nyersanyagokat eljuttasd a plazmafúrótól a támaszpontba.\nKattints, és húzd az egeret több szállítószalag elhelyezéséhez.\nHasználd a [accent]görgőt[] a forgatáshoz. -onset.ducts.mobile = Fejleszd ki, és építs  [accent]szállítószalagot[], hogy a kitermelt nyersanyagokat eljuttasd a plazmafúrótól a támaszpontba.\n\nTartsd lenyomva az ujjad és húzd el, hogy több szállítószalagot helyezz el. +onset.mine = Kattints bal egérgombbal a \uf748 [accent]berillium[] kibányászáshoz a falakból.\n\nA mozgáshoz használd a [accent][[WASD] gombokat. +onset.mine.mobile = Koppints a \uf748 [accent]berillium[] kibányászáshoz a falakból. +onset.research = Nyisd meg a \ue875 fejlesztési fát.\nFejleszd ki, és építs egy \uf73e [accent]kondenzációs turbinát[] a kürtőn.\nEz [accent]áramot[] fog termelni. +onset.bore = Fejleszd ki, és építs egy \uf741 [accent]plazmafúrót[].\nEz automatikusan bányássza ki a nyersanyagokat a falakból. +onset.power = Ahhoz, hogy [accent]árammal[] lásd el a plazmafúrót, fejleszd ki, és helyezz el egy \uf73d [accent]sugárcsomópontot[].\nSegítségükkel összekötheted a kondenzációs turbinát a plazmafúróval. +onset.ducts = Fejleszd ki, és építs \uf799 [accent]szállítószalagot[], hogy a kitermelt nyersanyagokat eljuttasd a plazmafúrótól a támaszpontba.\nKattints, és húzd az egeret több szállítószalag elhelyezéséhez.\nHasználd a [accent]görgőt[] a forgatáshoz. +onset.ducts.mobile = Fejleszd ki, és építs \uf799 [accent]szállítószalagot[], hogy a kitermelt nyersanyagokat eljuttasd a plazmafúrótól a támaszpontba.\n\nTartsd lenyomva az ujjad és húzd el, hogy több szállítószalagot helyezz el. onset.moremine = Bővítsd a bányászati kapacitást.\nHelyezz el több plazmavágót, és a támogatásukhoz használj sugárcsomópontokat és szállítószalagokat.\nBányássz 200 berilliumot. -onset.graphite = Az összetettebb épületekhez  [accent]grafit[] szükséges.\nÉpíts plazmavágókat a grafit kibányászásához. -onset.research2 = Kezdd el a [accent]gyárak[] fejlesztését.\nFejleszd ki a  [accent]sziklazúzót[] és a  [accent]szilícium ívkemencét[]. -onset.arcfurnace = A Szilícium ívkemencének  [accent]homokra[] és  [accent]grafitra[] van szüksége, hogy  [accent]szilíciumot[] gyártson.\nTovábbá [accent]áram[] is szükséges a működéséhez. -onset.crusher = Használj  [accent]sziklazúzókat[], hogy homokot bányász. -onset.fabricator = Használd az [accent]egységeket[], hogy felfedezd a pályát, megvédd az épületeket, és megtámadhasd velük az ellenséget. Fejleszd ki, és helyezz el egy  [accent]tankgyárat[]. +onset.graphite = Az összetettebb épületekhez \uf835 [accent]grafit[] szükséges.\nÉpíts plazmavágókat a grafit kibányászásához. +onset.research2 = Kezdd el a [accent]gyárak[] fejlesztését.\nFejleszd ki a \uf74d [accent]sziklazúzót[] és a \uf779 [accent]szilícium ívkemencét[]. +onset.arcfurnace = A Szilícium ívkemencének \uf834 [accent]homokra[] és \uf835 [accent]grafitra[] van szüksége, hogy \uf82f [accent]szilíciumot[] gyártson.\nTovábbá [accent]áram[] is szükséges a működéséhez. +onset.crusher = Használj \uf74d [accent]sziklazúzókat[], hogy homokot bányász. +onset.fabricator = Használd az [accent]egységeket[], hogy felfedezd a pályát, megvédd az épületeket, és megtámadhasd velük az ellenséget. Fejleszd ki, és helyezz el egy \uf6a2 [accent]tankgyárat[]. onset.makeunit = Állíts elő egy egységet.\nHasználd a „?” gombot, hogy megnézd a kiválasztott gyár követelményeit. -onset.turrets = Az egységek hatékonyak, de hatásosan alkalmazva a [accent]lövegtornyok[] jobb védelmi képességeket biztosítanak.\nHelyezz el egy  [accent]Breach[] lövegtornyot.\nA lövegtornyoknak  [accent]lőszerre[] van szüksége. +onset.turrets = Az egységek hatékonyak, de hatásosan alkalmazva a [accent]lövegtornyok[] jobb védelmi képességeket biztosítanak.\nHelyezz el egy \uf6eb [accent]Breach[] lövegtornyot.\nA lövegtornyoknak \uf748 [accent]lőszerre[] van szüksége. onset.turretammo = Szállítótalagok használatával lásd el a lövegtornyokat [accent]berillium[] lőszerrel. -onset.walls = A [accent]falak[] megakadályozhatják, hogy az épületekben károk keletkezzenek.\nÉpíts  [accent]Berillium falakat[] a lövegtornyok körül. +onset.walls = A [accent]falak[] megakadályozhatják, hogy az épületekben károk keletkezzenek.\nÉpíts \uf6ee [accent]Berillium falakat[] a lövegtornyok körül. onset.enemies = Az ellenség közeledik, készülj fel a védekezésre. onset.defenses = [accent]Állíts fel védelmet:[lightgray] {0} onset.attack = Az ellenség most sebezhető. Indítsd ellentámadást. -onset.cores = Új támaszpont csak a [accent]támaszpontcsempére[] helyezhető.\nAz új támaszpontok előretolt bázisként működnek, és megosztják a nyersanyagkészletüket más támaszpontokkal.\nHelyezz el egy  támaszpontot. +onset.cores = Új támaszpont csak a [accent]támaszpontcsempére[] helyezhető.\nAz új támaszpontok előretolt bázisként működnek, és megosztják a nyersanyagkészletüket más támaszpontokkal.\nHelyezz el egy \uf725 támaszpontot. onset.detect = Az ellenség 2 percen belül észrevesz téged.\nÁllíts fel védelmet, bányászatot és termelést. onset.commandmode = Tartsd nyomva a [accent]Shift[] gombot, hogy [accent]parancs módba[] lépj.\n[accent]Bal egérgombbal és húzással[] lehet egységeket kijelölni.\n[accent]Jobb egérgombbal[] utasíthatók az egységek mozgásra vagy támadásra. onset.commandmode.mobile = Nyomd meg a [accent]parancs gombot[], hogy [accent]parancs módba[] lépj.\nTartsd nyomva az ujjad, majd [accent]húzd[] az egységek kiválasztásához.\n[accent]Koppintással[] utasíthatók az egységek mozgásra vagy támadásra. @@ -1985,7 +1985,7 @@ liquid.nitrogen.description = A nyersanyagok kitermelésénél, gáztermelésné liquid.neoplasm.description = A neoplázia reaktor veszélyes biológiai mellékterméke. Gyorsan átterjed minden szomszédos víztartalmú blokkra, amelyhez hozzáér, és közben károsítja azokat. Sűrű folyadék. liquid.neoplasm.details = Neoplazma. Egy kontrollálhatatlan, gyorsan osztódó, iszap állagú, szintetikus sejtmassza. Hőálló. Rendkívül veszélyes minden vízzel kapcsolatos szerkezetre.\n\nTúl összetett és instabil a szabványos elemzésekhez. Potenciális alkalmazási területe ismeretlen. A salakmedencékben való elégetés ajánlott. -block.derelict =  [lightgray]Elhagyatott +block.derelict = \uf77e [lightgray]Elhagyatott block.armored-conveyor.description = Nyersanyagokat szállít. Nem fogad el oldalról nem szállítószalagról érkező nyersanyagot. block.illuminator.description = Világít. block.message.description = Üzenetet tárol a szövetségesek kommunikációjához. @@ -2036,7 +2036,7 @@ block.force-projector.description = Hatszögletű erőteret hoz létre maga kör block.shock-mine.description = Elektromos kisülést hoz létre, ha ellenséggel érintkezik. block.conveyor.description = Nyersanyagokat szállít. block.titanium-conveyor.description = Nyersanyagokat szállít. Gyorsabb a sima szállítószalagnál. -block.plastanium-conveyor.description = Nyersanyagokat szállít tömbösítve. Hátulról fogadja a nyersanyagokat, elöl három irányba osztja szét őket. Több kezdő- és végponttal növelhető az áteresztőképessége. +block.plastanium-conveyor.description = Nyersanyagokat szállít tömbösítve. Hátulról fogadja a nyersanyagokat, elöl három irányba osztja szét őket. Több kezdő- és végponttal növelhető az áteresztőképessége. block.junction.description = Hídként működik két egymást keresztező szállítószalag között. block.bridge-conveyor.description = Nyersanyagokat szállít épületek és terepakadályok fölött. block.phase-conveyor.description = Nyersanyagokat szállít épületek és terepakadályok fölött. Nagyobb távolságra ér, mint a sima szállítószalaghíd, de áramot igényel. @@ -2065,7 +2065,7 @@ block.power-node-large.description = Nagyobb villanyoszlop, nagyobb hatótávols block.surge-tower.description = Hosszútávú villanyoszlop, kevesebb elérhető kapcsolattal. block.diode.description = Az eltárolt áramot irányítja egy irányba továbbítja, de csak akkor, ha a fogadó oldalon kevesebb van tárolva. block.battery.description = Áramot tárol el, ha túltermelés van. Leadja az áramot, ha hiány van. -block.battery-large.description = Áramot tárol el, ha túltermelés van. Leadja az áramot, ha hiány van. Nagyobb kapacitású a szokásos akkumulátornál. +block.battery-large.description = Áramot tárol el, ha túltermelés van. Leadja az áramot, ha hiány van. Nagyobb kapacitású a szokásos akkumulátornál. block.combustion-generator.description = Áramot termel éghető anyagok, például szén, elégetésével. block.thermal-generator.description = Forró környezetben áramot termel. block.steam-generator.description = Éghető anyagok elégetésével és víz gőzzé alakításával áramot termel. @@ -2115,7 +2115,7 @@ block.parallax.description = Vonónyalábot bocsát ki, amivel magához vonzza, block.tsunami.description = Erős folyadékhullámot lő az ellenségre. Eloltja a tüzeket, ha vízzel van ellátva. block.silicon-crucible.description = Szilíciumot finomít homokból és szénből, piratitot használ kiegészítő hőforrásként. Forró környezetben még hatékonyabb. block.disassembler.description = Ritka ásványi összetevőket válogat ki a salakból, alacsony hatékonysággal. Képes tóriumot kiválogatni. -block.overdrive-dome.description = Megnöveli a környező épületek termelési sebességét. A működtetése tóritkvarcot és szilíciumot igényel. +block.overdrive-dome.description = Megnöveli a környező épületek termelési sebességét. A működtetése tóritkvarcot és szilíciumot igényel. block.payload-conveyor.description = Nagy mennyiségű terhet mozgatni, például gyárakból érkező nyersanyagokat. Mágneses. Használható súlytalanságban. block.payload-router.description = Háromfelé osztja szét a beérkező terhet. Rendezőként is szolgál, ha van megadva szűrő. Mágneses. Használható súlytalanságban. block.ground-factory.description = Földi egységeket gyárt. A kész egységek azonnal hadra foghatók, vagy újratervezőkben továbbfejleszthetők. @@ -2292,7 +2292,7 @@ unit.emanate.description = Az Akropolisz védelmére szolgáló építményeket lst.read = Szám kiolvasása egy összekapcsolt memóriacellából. lst.write = Szám beírása egy összekapcsolt memóriacellába. lst.print = Szöveg hozzáadása a nyomtatási pufferhez.\nA [accent]Print Flush[] használatáig nem jelenít meg semmit. -lst.format = A szövegpufferben lévő következő helyőrző cseréje egy értékre.\nNem csinál semmit, ha a helyőrzőminta érvénytelen.\nHelyőrzőminta: "{[accent]number 0-9[]}"\nPélda:\n[accent]print "test {0}"\nformat "example" +lst.format = A szövegpufferben lévő következő helyőrző cseréje egy értékre.\nNem csinál semmit, ha a helyőrzőminta érvénytelen.\nHelyőrzőminta: "{[accent]number 0-9[]}"\nPélda:\n[accent]print "test {0}"\nformat "example" lst.draw = Művelet hozzáadása a rajzpufferhez.\nA [accent]Draw Flush[] használatáig nem jelenít meg semmit. lst.drawflush = Sorba állított [accent]Draw[] műveletek megjelenítése a kijelzőn. lst.printflush = Sorba állított [accent]Print[] műveletek kiírása egy üzenetblokkba. diff --git a/core/assets/bundles/bundle_pt_BR.properties b/core/assets/bundles/bundle_pt_BR.properties index 5d055120e0..8c757e81b6 100644 --- a/core/assets/bundles/bundle_pt_BR.properties +++ b/core/assets/bundles/bundle_pt_BR.properties @@ -1857,6 +1857,7 @@ hint.launch = Quando recursos suficientes forem coletados, você pode [accent]La hint.launch.mobile = Quando recursos suficientes forem coletados, você pode [accent]Lançar[] selecionando setores próximos a partir do \ue827 [accent]Mapa[] no \ue88c [accent]Menu[]. hint.schematicSelect = Segure [accent][[F][] e arraste para selecionar blocos para copiar e colar.\n\n[accent][[Middle Click][] para copiar um bloco só. hint.rebuildSelect = Segure [accent][[B][] e arraste para selecionar blocos destruídos.\nIsso irá reconstruí-los automaticamente. +hint.rebuildSelect.mobile = Select the \ue874 copy button, then tap the \ue80f rebuild button and drag to select destroyed block plans.\nThis will rebuild them automatically. hint.conveyorPathfind = Segure [accent][[L-Ctrl][] enquanto arrasta as esteiras para gerar automaticamente um caminho. hint.conveyorPathfind.mobile = Ative o \ue844 [accent]modo diagonal[] e arraste as esteiras para gerar automaticamente um caminho. hint.boost = Segure [accent][[L-Shift][] para voar sobre obstáculos com a sua unidade.\n\nApenas algumas unidades terrestres tem propulsores. @@ -1912,9 +1913,13 @@ onset.turretammo = Abasteça a torreta com [accent]munição de berílio.[] onset.walls = [accent]Muros[] podem previnir danos recebidos de atingir as construções.\nColoque \uf6ee [accent]muros de berílio[] em volta das torretas. onset.enemies = Inimigo vindo, se prepare. +onset.defenses = [accent]Set up defenses:[lightgray] {0} onset.attack = O inimigo está vulnerável. Contra ataque. onset.cores = Novos núcleos podem ser colocados em [accent]ladrilhos de núcleo[].\nNovos núcleos funcionam como bases avançadas e compartilham seus recursos com outros núcleos.\nColoque um \uf725 núcleo. onset.detect = O inimigo poderá te detectar em 2 minutos.\nConstrua defesas, mineração e produção. +onset.commandmode = Hold [accent]shift[] to enter [accent]command mode[].\n[accent]Left-click and drag[] to select units.\n[accent]Right-click[] to order selected units to move or attack. +onset.commandmode.mobile = Press the [accent]command button[] to enter [accent]command mode[].\nHold down a finger, then [accent]drag[] to select units.\n[accent]Tap[] to order selected units to move or attack. +aegis.tungsten = Tungsten can be mined using an [accent]impact drill[].\nThis structure requires [accent]water[] and [accent]power[]. split.pickup = Some blocks can be picked up by the core unit.\nPick up this [accent]container[] and place it onto the [accent]payload loader[].\n(Default keys are [ and ] to pick up and drop) split.pickup.mobile = Some blocks can be picked up by the core unit.\nPick up this [accent]container[] and place it onto the [accent]payload loader[].\n(To pick up or drop something, long-press it.) From d8c1ea17e13249ab20bee88fcc311e9e191806bd Mon Sep 17 00:00:00 2001 From: MEEPofFaith <54301439+MEEPofFaith@users.noreply.github.com> Date: Fri, 29 Mar 2024 12:17:19 -0700 Subject: [PATCH 42/89] Make payload blocks run `onDestroyed()` of the block payload it carries when destroyed. (#8253) * Payloads go boom. * When a payload unit dies too * Keep the functionality, but limit it to a rule --- core/assets/bundles/bundle.properties | 1 + core/src/mindustry/entities/comp/PayloadComp.java | 5 +++++ core/src/mindustry/game/Rules.java | 2 ++ core/src/mindustry/ui/dialogs/CustomRulesDialog.java | 1 + core/src/mindustry/world/blocks/payloads/BuildPayload.java | 5 +++++ core/src/mindustry/world/blocks/payloads/Payload.java | 2 ++ core/src/mindustry/world/blocks/payloads/PayloadBlock.java | 6 ++++++ .../mindustry/world/blocks/payloads/PayloadConveyor.java | 6 ++++++ 8 files changed, 28 insertions(+) diff --git a/core/assets/bundles/bundle.properties b/core/assets/bundles/bundle.properties index 260c5af651..af18ff5f20 100644 --- a/core/assets/bundles/bundle.properties +++ b/core/assets/bundles/bundle.properties @@ -1313,6 +1313,7 @@ rules.unitdamagemultiplier = Unit Damage Multiplier rules.unitcrashdamagemultiplier = Unit Crash Damage Multiplier rules.solarmultiplier = Solar Power Multiplier rules.unitcapvariable = Cores Contribute To Unit Cap +rules.unitpayloadsexplode = Carried Payloads Explode With The Unit rules.unitcap = Base Unit Cap rules.limitarea = Limit Map Area rules.enemycorebuildradius = Enemy Core No-Build Radius:[lightgray] (tiles) diff --git a/core/src/mindustry/entities/comp/PayloadComp.java b/core/src/mindustry/entities/comp/PayloadComp.java index d1f7518e65..9b9d6e6405 100644 --- a/core/src/mindustry/entities/comp/PayloadComp.java +++ b/core/src/mindustry/entities/comp/PayloadComp.java @@ -60,6 +60,11 @@ abstract class PayloadComp implements Posc, Rotc, Hitboxc, Unitc{ } } + @Override + public void destroy(){ + if(Vars.state.rules.unitPayloadsExplode) payloads.each(Payload::destroyed); + } + float payloadUsed(){ return payloads.sumf(p -> p.size() * p.size()); } diff --git a/core/src/mindustry/game/Rules.java b/core/src/mindustry/game/Rules.java index 951426907d..9da173c2df 100644 --- a/core/src/mindustry/game/Rules.java +++ b/core/src/mindustry/game/Rules.java @@ -59,6 +59,8 @@ public class Rules{ public boolean unitAmmo = false; /** EXPERIMENTAL! If true, blocks will update in units and share power. */ public boolean unitPayloadUpdate = false; + /** If true, units' payloads are destroy()ed when the unit is destroyed. */ + public boolean unitPayloadsExplode = false; /** Whether cores add to unit limit */ public boolean unitCapVariable = true; /** If true, unit spawn points are shown. */ diff --git a/core/src/mindustry/ui/dialogs/CustomRulesDialog.java b/core/src/mindustry/ui/dialogs/CustomRulesDialog.java index 4c54569b4d..1091c74c08 100644 --- a/core/src/mindustry/ui/dialogs/CustomRulesDialog.java +++ b/core/src/mindustry/ui/dialogs/CustomRulesDialog.java @@ -233,6 +233,7 @@ public class CustomRulesDialog extends BaseDialog{ title("@rules.title.unit"); check("@rules.unitcapvariable", b -> rules.unitCapVariable = b, () -> rules.unitCapVariable); + check("@rules.unitpayloadsexplode", b -> rules.unitPayloadsExplode = b, () -> rules.unitPayloadsExplode); numberi("@rules.unitcap", f -> rules.unitCap = f, () -> rules.unitCap, -999, 999); number("@rules.unitdamagemultiplier", f -> rules.unitDamageMultiplier = f, () -> rules.unitDamageMultiplier); number("@rules.unitcrashdamagemultiplier", f -> rules.unitCrashDamageMultiplier = f, () -> rules.unitCrashDamageMultiplier); diff --git a/core/src/mindustry/world/blocks/payloads/BuildPayload.java b/core/src/mindustry/world/blocks/payloads/BuildPayload.java index 42f79374ad..90e37e9e16 100644 --- a/core/src/mindustry/world/blocks/payloads/BuildPayload.java +++ b/core/src/mindustry/world/blocks/payloads/BuildPayload.java @@ -51,6 +51,11 @@ public class BuildPayload implements Payload{ build.updatePayload(unitHolder, buildingHolder); } + @Override + public void destroyed(){ + build.onDestroyed(); + } + @Override public ItemStack[] requirements(){ return build.block.requirements; diff --git a/core/src/mindustry/world/blocks/payloads/Payload.java b/core/src/mindustry/world/blocks/payloads/Payload.java index 218fab7192..b1e6f90ff5 100644 --- a/core/src/mindustry/world/blocks/payloads/Payload.java +++ b/core/src/mindustry/world/blocks/payloads/Payload.java @@ -54,6 +54,8 @@ public interface Payload extends Position{ return 0f; } + default void destroyed(){}; + /** writes the payload for saving. */ void write(Writes write); diff --git a/core/src/mindustry/world/blocks/payloads/PayloadBlock.java b/core/src/mindustry/world/blocks/payloads/PayloadBlock.java index 1ecd627dc3..b4b0de0f37 100644 --- a/core/src/mindustry/world/blocks/payloads/PayloadBlock.java +++ b/core/src/mindustry/world/blocks/payloads/PayloadBlock.java @@ -151,6 +151,12 @@ public class PayloadBlock extends Block{ } } + @Override + public void onDestroyed(){ + if(payload != null) payload.destroyed(); + super.onDestroyed(); + } + public boolean blends(int direction){ return PayloadBlock.blends(this, direction); } diff --git a/core/src/mindustry/world/blocks/payloads/PayloadConveyor.java b/core/src/mindustry/world/blocks/payloads/PayloadConveyor.java index 6fedce44a3..e6c368d97e 100644 --- a/core/src/mindustry/world/blocks/payloads/PayloadConveyor.java +++ b/core/src/mindustry/world/blocks/payloads/PayloadConveyor.java @@ -190,6 +190,12 @@ public class PayloadConveyor extends Block{ super.draw(); } + @Override + public void onDestroyed(){ + if(item != null) item.destroyed(); + super.onDestroyed(); + } + @Override public void draw(){ super.draw(); From 2fb5bc56c6c5cd9a65eb5064153a2a3e30cf4173 Mon Sep 17 00:00:00 2001 From: MEEPofFaith <54301439+MEEPofFaith@users.noreply.github.com> Date: Fri, 29 Mar 2024 21:11:39 -0700 Subject: [PATCH 43/89] Better Ability Stats (#9654) * Fix armor plate multiplier + change Math.round to Strings.autoFixed * Missing ability name bundles * Center ability name * SuppressionFieldAbility stats * Is two per row is acceptable? I can revert this commit if not. * LiquidExplodeAbility stat display * MoveLightningAbility stat display * Better SpawnDeathAbility display * Fix multiplier coloring inconsistencies Some had [lightgray] before %/x, some had it after * Consistent content name display Match with bullet status effects * Consistent stat formatting Convert from some being "stat: #" and some being "# stat" to all being "# stat" * Re-order stats * Optimize Imports * Add ability descriptions * Apparently I forgot LiquidRegenAbility * Mention healing allies if displayHeal = true --- core/assets/bundles/bundle.properties | 46 +++++++++++++++---- core/src/mindustry/content/UnitTypes.java | 2 +- .../mindustry/entities/abilities/Ability.java | 18 +++++++- .../entities/abilities/ArmorPlateAbility.java | 6 +-- .../abilities/EnergyFieldAbility.java | 29 +++++++----- .../entities/abilities/ForceFieldAbility.java | 12 ++--- .../abilities/LiquidExplodeAbility.java | 7 +++ .../abilities/LiquidRegenAbility.java | 9 ++++ .../abilities/MoveLightningAbility.java | 13 +++++- .../entities/abilities/RegenAbility.java | 17 +++---- .../abilities/RepairFieldAbility.java | 9 ++-- .../entities/abilities/ShieldArcAbility.java | 9 ++-- .../abilities/ShieldRegenFieldAbility.java | 13 +++--- .../entities/abilities/SpawnDeathAbility.java | 3 +- .../abilities/StatusFieldAbility.java | 13 +++--- .../abilities/SuppressionFieldAbility.java | 18 ++++++++ .../entities/abilities/UnitSpawnAbility.java | 6 +-- core/src/mindustry/world/meta/StatValues.java | 32 +++++++------ 18 files changed, 182 insertions(+), 80 deletions(-) diff --git a/core/assets/bundles/bundle.properties b/core/assets/bundles/bundle.properties index af18ff5f20..94d1e5d086 100644 --- a/core/assets/bundles/bundle.properties +++ b/core/assets/bundles/bundle.properties @@ -998,17 +998,47 @@ stat.immunities = Immunities stat.healing = Healing ability.forcefield = Force Field +ability.forcefield.description = Projects a force shield that absorbs bullets ability.repairfield = Repair Field +ability.repairfield.description = Repairs nearby units ability.statusfield = Status Field +ability.statusfield.description = Applies a status effect to nearby units ability.unitspawn = Factory +ability.unitspawn.description = Constructs units ability.shieldregenfield = Shield Regen Field +ability.shieldregenfield.description = Regenerates shields of nearby units ability.movelightning = Movement Lightning +ability.movelightning.description = Releases lightning while moving +ability.armorplate = Armor Plate +ability.armorplate.description = Reduces damage taken while shooting ability.shieldarc = Shield Arc +ability.shieldarc.description = Projects a force shield in an arc that absorbs bullets ability.suppressionfield = Repair Suppression +ability.suppressionfield.description = Stops nearby repair buildings ability.energyfield = Energy Field -ability.energyfield.sametypehealmultiplier = [lightgray]Same Type Healing: [white]{0}% -ability.energyfield.maxtargets = [lightgray]Max Targets: [white]{0} -ability.regen = Regeneration +ability.energyfield.description = Zaps nearby enemies +ability.energyfield.healdescription = Zaps nearby enemies and heals allies +ability.regen = Self Regeneration +ability.regen.description = Regenerates own health over time +ability.liquidregen = Liquid Absorption +ability.liquidregen.description = Absorbs liquid to heal itself +ability.spawndeath = Death Spawns +ability.spawndeath.description = Releases units on death +ability.liquidexplode = Death Spillage +ability.liquidexplode.description = Spills liquid on death + +ability.stat.firingrate = [stat]{0}/sec[lightgray] firing rate +ability.stat.regen = [stat]{0}[lightgray] health/sec +ability.stat.shield = [stat]{0}[lightgray] shield +ability.stat.repairspeed = [stat]{0}/sec[lightgray] repair speed +ability.stat.slurpheal = [stat]{0}[lightgray] health/liquid unit +ability.stat.cooldown = [stat]{0} sec[lightgray] cooldown +ability.stat.maxtargets = [stat]{0}[lightgray] max targets +ability.stat.sametypehealmultiplier = [stat]{0}%[lightgray] same type repair amount +ability.stat.damagereduction = [stat]{0}%[lightgray] damage reduction +ability.stat.minspeed = [stat]{0} tiles/sec[lightgray] min speed +ability.stat.duration = [stat]{0} sec[lightgray] duration +ability.stat.buildtime = [stat]{0} sec[lightgray] build time bar.onlycoredeposit = Only Core Depositing Allowed bar.drilltierreq = Better Drill Required @@ -1051,15 +1081,15 @@ bullet.armorpierce = [stat]armor piercing bullet.maxdamagefraction = [stat]{0}%[lightgray] damage limit bullet.suppression = [stat]{0}[lightgray] seconds of repair suppression ~ [stat]{1}[lightgray] tiles bullet.interval = [stat]{0}/sec[lightgray] interval bullets: -bullet.frags = [stat]{0}[lightgray]x frag bullets: -bullet.lightning = [stat]{0}[lightgray]x lightning ~ [stat]{1}[lightgray] damage +bullet.frags = [stat]{0}x[lightgray] frag bullets: +bullet.lightning = [stat]{0}x[lightgray] lightning ~ [stat]{1}[lightgray] damage bullet.buildingdamage = [stat]{0}%[lightgray] building damage bullet.knockback = [stat]{0}[lightgray] knockback -bullet.pierce = [stat]{0}[lightgray]x pierce +bullet.pierce = [stat]{0}x[lightgray] pierce bullet.infinitepierce = [stat]pierce -bullet.healpercent = [stat]{0}[lightgray]% repair +bullet.healpercent = [stat]{0}%[lightgray] repair bullet.healamount = [stat]{0}[lightgray] direct repair -bullet.multiplier = [stat]{0}[lightgray]x ammo multiplier +bullet.multiplier = [stat]{0}x[lightgray] ammo multiplier bullet.reload = [stat]{0}%[lightgray] fire rate bullet.range = [stat]{0}[lightgray] tiles range diff --git a/core/src/mindustry/content/UnitTypes.java b/core/src/mindustry/content/UnitTypes.java index c9200be5e1..015b069c9f 100644 --- a/core/src/mindustry/content/UnitTypes.java +++ b/core/src/mindustry/content/UnitTypes.java @@ -3895,7 +3895,7 @@ public class UnitTypes{ x = 43f * i / 4f; particles = parts; //visual only, the middle one does the actual suppressing - display = active = false; + active = false; }}); } diff --git a/core/src/mindustry/entities/abilities/Ability.java b/core/src/mindustry/entities/abilities/Ability.java index 5a6b025417..42a31d6312 100644 --- a/core/src/mindustry/entities/abilities/Ability.java +++ b/core/src/mindustry/entities/abilities/Ability.java @@ -6,6 +6,7 @@ import mindustry.gen.*; import mindustry.type.*; public abstract class Ability implements Cloneable{ + protected static final float descriptionWidth = 350f; /** If false, this ability does not show in unit stats. */ public boolean display = true; //the one and only data variable that is synced. @@ -16,7 +17,16 @@ public abstract class Ability implements Cloneable{ public void death(Unit unit){} public void init(UnitType type){} public void displayBars(Unit unit, Table bars){} - public void addStats(Table t){} + public void addStats(Table t){ + if(Core.bundle.has(getBundle() + ".description")){ + t.add(Core.bundle.get(getBundle() + ".description")).wrap().width(descriptionWidth); + t.row(); + } + } + + public String abilityStat(String stat, Object... values){ + return Core.bundle.format("ability.stat." + stat, values); + } public Ability copy(){ try{ @@ -29,7 +39,11 @@ public abstract class Ability implements Cloneable{ /** @return localized ability name; mods should override this. */ public String localized(){ + return Core.bundle.get(getBundle()); + } + + public String getBundle(){ var type = getClass(); - return Core.bundle.get("ability." + (type.isAnonymousClass() ? type.getSuperclass() : type).getSimpleName().replace("Ability", "").toLowerCase()); + return "ability." + (type.isAnonymousClass() ? type.getSuperclass() : type).getSimpleName().replace("Ability", "").toLowerCase(); } } diff --git a/core/src/mindustry/entities/abilities/ArmorPlateAbility.java b/core/src/mindustry/entities/abilities/ArmorPlateAbility.java index 4c02028492..d417e01735 100644 --- a/core/src/mindustry/entities/abilities/ArmorPlateAbility.java +++ b/core/src/mindustry/entities/abilities/ArmorPlateAbility.java @@ -4,11 +4,10 @@ import arc.*; import arc.graphics.*; import arc.graphics.g2d.*; import arc.math.*; -import arc.scene.ui.layout.Table; +import arc.scene.ui.layout.*; import arc.util.*; import mindustry.gen.*; import mindustry.graphics.*; -import mindustry.world.meta.*; public class ArmorPlateAbility extends Ability{ public TextureRegion plateRegion; @@ -39,7 +38,8 @@ public class ArmorPlateAbility extends Ability{ @Override public void addStats(Table t){ - t.add("[lightgray]" + Stat.healthMultiplier.localized() + ": [white]" + Math.round(healthMultiplier * 100f) + 100 + "%"); + super.addStats(t); + t.add(abilityStat("damagereduction", Strings.autoFixed(-healthMultiplier * 100f, 1))); } @Override diff --git a/core/src/mindustry/entities/abilities/EnergyFieldAbility.java b/core/src/mindustry/entities/abilities/EnergyFieldAbility.java index acd47475bc..8c041087c0 100644 --- a/core/src/mindustry/entities/abilities/EnergyFieldAbility.java +++ b/core/src/mindustry/entities/abilities/EnergyFieldAbility.java @@ -14,7 +14,6 @@ import mindustry.game.*; import mindustry.gen.*; import mindustry.graphics.*; import mindustry.type.*; -import mindustry.world.meta.*; import static mindustry.Vars.*; @@ -53,23 +52,29 @@ public class EnergyFieldAbility extends Ability{ @Override public void addStats(Table t){ - t.add(Core.bundle.format("bullet.damage", damage)); + if(displayHeal){ + t.add(Core.bundle.get(getBundle() + ".healdescription")).wrap().width(descriptionWidth); + }else{ + t.add(Core.bundle.get(getBundle() + ".description")).wrap().width(descriptionWidth); + } t.row(); - t.add("[lightgray]" + Stat.reload.localized() + ": [white]" + Strings.autoFixed(60f / reload, 2) + " " + StatUnit.perSecond.localized()); - t.row(); - t.add("[lightgray]" + Stat.shootRange.localized() + ": [white]" + Strings.autoFixed(range / tilesize, 2) + " " + StatUnit.blocks.localized()); - t.row(); - t.add(Core.bundle.format("ability.energyfield.maxtargets", maxTargets)); + t.add(Core.bundle.format("bullet.range", Strings.autoFixed(range / tilesize, 2))); + t.row(); + t.add(abilityStat("firingrate", Strings.autoFixed(60f / reload, 2))); + t.row(); + t.add(abilityStat("maxtargets", maxTargets)); + t.row(); + t.add(Core.bundle.format("bullet.damage", damage)); + if(status != StatusEffects.none){ + t.row(); + t.add((status.hasEmoji() ? status.emoji() : "") + "[stat]" + status.localizedName); + } if(displayHeal){ t.row(); t.add(Core.bundle.format("bullet.healpercent", Strings.autoFixed(healPercent, 2))); t.row(); - t.add(Core.bundle.format("ability.energyfield.sametypehealmultiplier", Math.round(sameTypeHealMult * 100f))); - } - if(status != StatusEffects.none){ - t.row(); - t.add(status.emoji() + " " + status.localizedName); + t.add(abilityStat("sametypehealmultiplier", (sameTypeHealMult < 1f ? "[negstat]" : "") + Strings.autoFixed(sameTypeHealMult * 100f, 2))); } } diff --git a/core/src/mindustry/entities/abilities/ForceFieldAbility.java b/core/src/mindustry/entities/abilities/ForceFieldAbility.java index 81264ac05c..f391156adb 100644 --- a/core/src/mindustry/entities/abilities/ForceFieldAbility.java +++ b/core/src/mindustry/entities/abilities/ForceFieldAbility.java @@ -1,5 +1,6 @@ package mindustry.entities.abilities; +import arc.*; import arc.func.*; import arc.graphics.*; import arc.graphics.g2d.*; @@ -12,7 +13,6 @@ import mindustry.content.*; import mindustry.gen.*; import mindustry.graphics.*; import mindustry.ui.*; -import mindustry.world.meta.*; import static mindustry.Vars.*; @@ -73,14 +73,14 @@ public class ForceFieldAbility extends Ability{ @Override public void addStats(Table t){ - t.add("[lightgray]" + Stat.health.localized() + ": [white]" + Math.round(max)); + super.addStats(t); + t.add(Core.bundle.format("bullet.range", Strings.autoFixed(radius / tilesize, 2))); t.row(); - t.add("[lightgray]" + Stat.shootRange.localized() + ": [white]" + Strings.autoFixed(radius / tilesize, 2) + " " + StatUnit.blocks.localized()); + t.add(abilityStat("shield", Strings.autoFixed(max, 2))); t.row(); - t.add("[lightgray]" + Stat.repairSpeed.localized() + ": [white]" + Strings.autoFixed(regen * 60f, 2) + StatUnit.perSecond.localized()); - t.row(); - t.add("[lightgray]" + Stat.cooldownTime.localized() + ": [white]" + Strings.autoFixed(cooldown / 60f, 2) + " " + StatUnit.seconds.localized()); + t.add(abilityStat("repairspeed", Strings.autoFixed(regen * 60f, 2))); t.row(); + t.add(abilityStat("cooldown", Strings.autoFixed(cooldown / 60f, 2))); } @Override diff --git a/core/src/mindustry/entities/abilities/LiquidExplodeAbility.java b/core/src/mindustry/entities/abilities/LiquidExplodeAbility.java index 57b6100f66..cf6b16f6e8 100644 --- a/core/src/mindustry/entities/abilities/LiquidExplodeAbility.java +++ b/core/src/mindustry/entities/abilities/LiquidExplodeAbility.java @@ -1,6 +1,7 @@ package mindustry.entities.abilities; import arc.math.*; +import arc.scene.ui.layout.*; import arc.util.noise.*; import mindustry.content.*; import mindustry.entities.*; @@ -16,6 +17,12 @@ public class LiquidExplodeAbility extends Ability{ public float radAmountScale = 5f, radScale = 1f; public float noiseMag = 6.5f, noiseScl = 5f; + @Override + public void addStats(Table t){ + super.addStats(t); + t.add((liquid.hasEmoji() ? liquid.emoji() : "") + "[stat]" + liquid.localizedName); + } + @Override public void death(Unit unit){ //TODO what if noise is radial, so it looks like a splat? diff --git a/core/src/mindustry/entities/abilities/LiquidRegenAbility.java b/core/src/mindustry/entities/abilities/LiquidRegenAbility.java index 7f7d827f95..6f864035ce 100644 --- a/core/src/mindustry/entities/abilities/LiquidRegenAbility.java +++ b/core/src/mindustry/entities/abilities/LiquidRegenAbility.java @@ -1,6 +1,7 @@ package mindustry.entities.abilities; import arc.math.*; +import arc.scene.ui.layout.*; import arc.util.*; import mindustry.content.*; import mindustry.entities.*; @@ -17,6 +18,14 @@ public class LiquidRegenAbility extends Ability{ public float slurpEffectChance = 0.4f; public Effect slurpEffect = Fx.heal; + @Override + public void addStats(Table t){ + super.addStats(t); + t.add((liquid.hasEmoji() ? liquid.emoji() : "") + "[stat]" + liquid.localizedName); + t.row(); + t.add(abilityStat("slurpheal", Strings.autoFixed(regenPerSlurp, 2))); + } + @Override public void update(Unit unit){ //TODO timer? diff --git a/core/src/mindustry/entities/abilities/MoveLightningAbility.java b/core/src/mindustry/entities/abilities/MoveLightningAbility.java index ab70313df4..c55849690b 100644 --- a/core/src/mindustry/entities/abilities/MoveLightningAbility.java +++ b/core/src/mindustry/entities/abilities/MoveLightningAbility.java @@ -5,12 +5,15 @@ import arc.audio.*; import arc.graphics.*; import arc.graphics.g2d.*; import arc.math.*; +import arc.scene.ui.layout.*; import arc.util.*; import mindustry.content.*; import mindustry.entities.*; import mindustry.entities.bullet.*; import mindustry.gen.*; +import static mindustry.Vars.*; + public class MoveLightningAbility extends Ability{ /** Lightning damage */ public float damage = 35f; @@ -63,7 +66,15 @@ public class MoveLightningAbility extends Ability{ this.maxSpeed = maxSpeed; this.color = color; } - + + @Override + public void addStats(Table t){ + super.addStats(t); + t.add(abilityStat("minspeed", Strings.autoFixed(minSpeed * 60f / tilesize, 2))); + t.row(); + t.add(Core.bundle.format("bullet.damage", damage)); + } + @Override public void update(Unit unit){ float scl = Mathf.clamp((unit.vel().len() - minSpeed) / (maxSpeed - minSpeed)); diff --git a/core/src/mindustry/entities/abilities/RegenAbility.java b/core/src/mindustry/entities/abilities/RegenAbility.java index 0a7bca80c9..ffcfe50e9d 100644 --- a/core/src/mindustry/entities/abilities/RegenAbility.java +++ b/core/src/mindustry/entities/abilities/RegenAbility.java @@ -1,10 +1,8 @@ package mindustry.entities.abilities; -import arc.Core; import arc.scene.ui.layout.*; import arc.util.*; import mindustry.gen.*; -import mindustry.world.meta.*; public class RegenAbility extends Ability{ /** Amount healed as percent per tick. */ @@ -14,13 +12,16 @@ public class RegenAbility extends Ability{ @Override public void addStats(Table t){ - if(amount > 0.01f){ - t.add("[lightgray]" + Stat.repairSpeed.localized() + ": [white]" + Strings.autoFixed(amount * 60f, 2) + StatUnit.perSecond.localized()); - t.row(); - } + super.addStats(t); - if(percentAmount > 0.01f){ - t.add(Core.bundle.format("bullet.healpercent", Strings.autoFixed(percentAmount * 60f, 2)) + StatUnit.perSecond.localized()); //stupid but works + boolean flat = amount >= 0.001f; + boolean percent = percentAmount >= 0.001f; + + if(flat || percent){ + t.add(abilityStat("regen", + (flat ? Strings.autoFixed(amount * 60f, 2) + (percent ? " [lightgray]+[stat] " : "") : "") + + (percent ? Strings.autoFixed(percentAmount * 60f, 2) + "%" : "") + )); } } diff --git a/core/src/mindustry/entities/abilities/RepairFieldAbility.java b/core/src/mindustry/entities/abilities/RepairFieldAbility.java index fb42cc7018..7c871978cc 100644 --- a/core/src/mindustry/entities/abilities/RepairFieldAbility.java +++ b/core/src/mindustry/entities/abilities/RepairFieldAbility.java @@ -1,13 +1,13 @@ package mindustry.entities.abilities; +import arc.*; import arc.scene.ui.layout.*; import arc.util.*; import mindustry.content.*; import mindustry.entities.*; import mindustry.gen.*; -import mindustry.world.meta.*; -import static mindustry.Vars.tilesize; +import static mindustry.Vars.*; public class RepairFieldAbility extends Ability{ public float amount = 1, reload = 100, range = 60; @@ -28,9 +28,10 @@ public class RepairFieldAbility extends Ability{ @Override public void addStats(Table t){ - t.add("[lightgray]" + Stat.repairSpeed.localized() + ": [white]" + Strings.autoFixed(amount * 60f / reload, 2) + StatUnit.perSecond.localized()); + super.addStats(t); + t.add(Core.bundle.format("bullet.range", Strings.autoFixed(range / tilesize, 2))); t.row(); - t.add("[lightgray]" + Stat.shootRange.localized() + ": [white]" + Strings.autoFixed(range / tilesize, 2) + " " + StatUnit.blocks.localized()); + t.add(abilityStat("repairspeed", Strings.autoFixed(amount * 60f / reload, 2))); } @Override diff --git a/core/src/mindustry/entities/abilities/ShieldArcAbility.java b/core/src/mindustry/entities/abilities/ShieldArcAbility.java index b63a88bf1e..a7d41cdaf7 100644 --- a/core/src/mindustry/entities/abilities/ShieldArcAbility.java +++ b/core/src/mindustry/entities/abilities/ShieldArcAbility.java @@ -13,7 +13,6 @@ import mindustry.gen.*; import mindustry.graphics.*; import mindustry.type.*; import mindustry.ui.*; -import mindustry.world.meta.*; public class ShieldArcAbility extends Ability{ private static Unit paramUnit; @@ -69,12 +68,12 @@ public class ShieldArcAbility extends Ability{ @Override public void addStats(Table t){ - t.add("[lightgray]" + Stat.health.localized() + ": [white]" + Math.round(max)); + super.addStats(t); + t.add(abilityStat("shield", Strings.autoFixed(max, 2))); t.row(); - t.add("[lightgray]" + Stat.repairSpeed.localized() + ": [white]" + Strings.autoFixed(regen * 60f, 2) + StatUnit.perSecond.localized()); - t.row(); - t.add("[lightgray]" + Stat.cooldownTime.localized() + ": [white]" + Strings.autoFixed(cooldown / 60f, 2) + " " + StatUnit.seconds.localized()); + t.add(abilityStat("repairspeed", Strings.autoFixed(regen * 60f, 2))); t.row(); + t.add(abilityStat("cooldown", Strings.autoFixed(cooldown / 60f, 2))); } @Override diff --git a/core/src/mindustry/entities/abilities/ShieldRegenFieldAbility.java b/core/src/mindustry/entities/abilities/ShieldRegenFieldAbility.java index 51d1f79175..c34ce359ce 100644 --- a/core/src/mindustry/entities/abilities/ShieldRegenFieldAbility.java +++ b/core/src/mindustry/entities/abilities/ShieldRegenFieldAbility.java @@ -1,14 +1,13 @@ package mindustry.entities.abilities; -import arc.Core; +import arc.*; import arc.scene.ui.layout.*; import arc.util.*; import mindustry.content.*; import mindustry.entities.*; import mindustry.gen.*; -import mindustry.world.meta.*; -import static mindustry.Vars.tilesize; +import static mindustry.Vars.*; public class ShieldRegenFieldAbility extends Ability{ public float amount = 1, max = 100f, reload = 100, range = 60; @@ -30,12 +29,12 @@ public class ShieldRegenFieldAbility extends Ability{ @Override public void addStats(Table t){ - t.add("[lightgray]" + Core.bundle.get("waves.shields") + ": [white]" + Math.round(max)); //extremely stupid usage + super.addStats(t); + t.add(Core.bundle.format("bullet.range", Strings.autoFixed(range / tilesize, 2))); t.row(); - t.add("[lightgray]" + Stat.shootRange.localized() + ": [white]" + Strings.autoFixed(range / tilesize, 2) + " " + StatUnit.blocks.localized()); - t.row(); - t.add("[lightgray]" + Stat.reload.localized() + ": [white]" + Strings.autoFixed(60f / reload, 2) + " " + StatUnit.perSecond.localized()); + t.add(abilityStat("firingrate", Strings.autoFixed(60f / reload, 2))); t.row(); + t.add(abilityStat("shield", Strings.autoFixed(max, 2))); } @Override diff --git a/core/src/mindustry/entities/abilities/SpawnDeathAbility.java b/core/src/mindustry/entities/abilities/SpawnDeathAbility.java index 8aac58776a..6bc5b0a49d 100644 --- a/core/src/mindustry/entities/abilities/SpawnDeathAbility.java +++ b/core/src/mindustry/entities/abilities/SpawnDeathAbility.java @@ -27,7 +27,8 @@ public class SpawnDeathAbility extends Ability{ @Override public void addStats(Table t){ - t.add((randAmount > 0 ? amount + "-" + (amount + randAmount) : amount) + " " + unit.emoji() + " " + unit.localizedName); + super.addStats(t); + t.add("[stat]" + (randAmount > 0 ? amount + "x-" + (amount + randAmount) : amount) + "x[] " + (unit.hasEmoji() ? unit.emoji() : "") + "[stat]" + unit.localizedName); } @Override diff --git a/core/src/mindustry/entities/abilities/StatusFieldAbility.java b/core/src/mindustry/entities/abilities/StatusFieldAbility.java index 7bc7bcb375..c0ca12d381 100644 --- a/core/src/mindustry/entities/abilities/StatusFieldAbility.java +++ b/core/src/mindustry/entities/abilities/StatusFieldAbility.java @@ -1,15 +1,15 @@ package mindustry.entities.abilities; +import arc.*; import arc.math.*; -import arc.scene.ui.layout.Table; +import arc.scene.ui.layout.*; import arc.util.*; import mindustry.content.*; import mindustry.entities.*; import mindustry.gen.*; import mindustry.type.*; -import mindustry.world.meta.*; -import static mindustry.Vars.tilesize; +import static mindustry.Vars.*; public class StatusFieldAbility extends Ability{ public StatusEffect effect; @@ -33,11 +33,12 @@ public class StatusFieldAbility extends Ability{ @Override public void addStats(Table t){ - t.add("[lightgray]" + Stat.reload.localized() + ": [white]" + Strings.autoFixed(60f / reload, 2) + " " + StatUnit.perSecond.localized()); + super.addStats(t); + t.add(Core.bundle.format("bullet.range", Strings.autoFixed(range / tilesize, 2))); t.row(); - t.add("[lightgray]" + Stat.shootRange.localized() + ": [white]" + Strings.autoFixed(range / tilesize, 2) + " " + StatUnit.blocks.localized()); + t.add(abilityStat("firingrate", Strings.autoFixed(60f / reload, 2))); t.row(); - t.add(effect.emoji() + " " + effect.localizedName); + t.add((effect.hasEmoji() ? effect.emoji() : "") + "[stat]" + effect.localizedName); } @Override diff --git a/core/src/mindustry/entities/abilities/SuppressionFieldAbility.java b/core/src/mindustry/entities/abilities/SuppressionFieldAbility.java index d421ebf848..be69a45797 100644 --- a/core/src/mindustry/entities/abilities/SuppressionFieldAbility.java +++ b/core/src/mindustry/entities/abilities/SuppressionFieldAbility.java @@ -1,12 +1,17 @@ package mindustry.entities.abilities; +import arc.*; import arc.graphics.*; import arc.graphics.g2d.*; import arc.math.*; +import arc.scene.ui.layout.*; import arc.util.*; import mindustry.entities.*; import mindustry.gen.*; import mindustry.graphics.*; +import mindustry.type.*; + +import static mindustry.Vars.*; public class SuppressionFieldAbility extends Ability{ protected static Rand rand = new Rand(); @@ -33,6 +38,19 @@ public class SuppressionFieldAbility extends Ability{ protected float timer; + @Override + public void init(UnitType type){ + if(!active) display = false; + } + + @Override + public void addStats(Table t){ + super.addStats(t); + t.add(Core.bundle.format("bullet.range", Strings.autoFixed(range / tilesize, 2))); + t.row(); + t.add(abilityStat("duration", Strings.autoFixed(reload / 60f, 2))); + } + @Override public void update(Unit unit){ if(!active) return; diff --git a/core/src/mindustry/entities/abilities/UnitSpawnAbility.java b/core/src/mindustry/entities/abilities/UnitSpawnAbility.java index f4e0f5ecb0..f7ab3667f4 100644 --- a/core/src/mindustry/entities/abilities/UnitSpawnAbility.java +++ b/core/src/mindustry/entities/abilities/UnitSpawnAbility.java @@ -12,7 +12,6 @@ import mindustry.game.EventType.*; import mindustry.gen.*; import mindustry.graphics.*; import mindustry.type.*; -import mindustry.world.meta.*; import static mindustry.Vars.*; @@ -36,9 +35,10 @@ public class UnitSpawnAbility extends Ability{ @Override public void addStats(Table t){ - t.add("[lightgray]" + Stat.buildTime.localized() + ": [white]" + Strings.autoFixed(spawnTime / 60f, 2) + " " + StatUnit.seconds.localized()); + super.addStats(t); + t.add(abilityStat("buildtime", Strings.autoFixed(spawnTime / 60f, 2))); t.row(); - t.add(unit.emoji() + " " + unit.localizedName); + t.add((unit.hasEmoji() ? unit.emoji() : "") + "[stat]" + unit.localizedName); } @Override diff --git a/core/src/mindustry/world/meta/StatValues.java b/core/src/mindustry/world/meta/StatValues.java index 36872d3546..9c548f2836 100644 --- a/core/src/mindustry/world/meta/StatValues.java +++ b/core/src/mindustry/world/meta/StatValues.java @@ -374,17 +374,23 @@ public class StatValues{ public static StatValue abilities(Seq abilities){ return table -> { table.row(); - table.table(t -> abilities.each(ability -> { - if(ability.display){ - t.row(); - t.table(Styles.grayPanel, a -> { - a.add("[accent]" + ability.localized()).padBottom(4); - a.row(); - a.left().top().defaults().left(); - ability.addStats(a); - }).pad(5).margin(10).growX(); - } - })); + table.table(t -> { + int count = 0; + for(Ability ability : abilities){ + if(ability.display){ + t.table(Styles.grayPanel, a -> { + a.add("[accent]" + ability.localized()).padBottom(4).center().top().expandX(); + a.row(); + a.left().top().defaults().left(); + ability.addStats(a); + }).pad(5).margin(10).growX().top().uniformX(); + if((++count) == 2){ + count = 0; + t.row(); + } + } + }; + }); }; } @@ -496,7 +502,7 @@ public class StatValues{ } if(type.status != StatusEffects.none){ - sep(bt, (type.status.minfo.mod == null ? type.status.emoji() : "") + "[stat]" + type.status.localizedName + (type.status.reactive ? "" : "[lightgray] ~ [stat]" + ((int)(type.statusDuration / 60f)) + "[lightgray] " + Core.bundle.get("unit.seconds"))); + sep(bt, (type.status.hasEmoji() ? type.status.emoji() : "") + "[stat]" + type.status.localizedName + (type.status.reactive ? "" : "[lightgray] ~ [stat]" + ((int)(type.statusDuration / 60f)) + "[lightgray] " + Core.bundle.get("unit.seconds"))); } if(type.intervalBullet != null){ @@ -554,4 +560,4 @@ public class StatValues{ private static TextureRegion icon(UnlockableContent t){ return t.uiIcon; } -} \ No newline at end of file +} From 304d7d9602aefa3df91b4cf1fd81d69fff142644 Mon Sep 17 00:00:00 2001 From: Github Actions Date: Sat, 30 Mar 2024 04:12:20 +0000 Subject: [PATCH 44/89] Automatic bundle update --- core/assets/bundles/bundle_be.properties | 34 +++++++++++++++++++-- core/assets/bundles/bundle_bg.properties | 34 +++++++++++++++++++-- core/assets/bundles/bundle_ca.properties | 34 +++++++++++++++++++-- core/assets/bundles/bundle_cs.properties | 34 +++++++++++++++++++-- core/assets/bundles/bundle_da.properties | 34 +++++++++++++++++++-- core/assets/bundles/bundle_de.properties | 34 +++++++++++++++++++-- core/assets/bundles/bundle_es.properties | 34 +++++++++++++++++++-- core/assets/bundles/bundle_et.properties | 34 +++++++++++++++++++-- core/assets/bundles/bundle_eu.properties | 34 +++++++++++++++++++-- core/assets/bundles/bundle_fi.properties | 34 +++++++++++++++++++-- core/assets/bundles/bundle_fil.properties | 34 +++++++++++++++++++-- core/assets/bundles/bundle_fr.properties | 34 +++++++++++++++++++-- core/assets/bundles/bundle_hu.properties | 34 +++++++++++++++++++-- core/assets/bundles/bundle_id_ID.properties | 34 +++++++++++++++++++-- core/assets/bundles/bundle_it.properties | 34 +++++++++++++++++++-- core/assets/bundles/bundle_ja.properties | 34 +++++++++++++++++++-- core/assets/bundles/bundle_ko.properties | 34 +++++++++++++++++++-- core/assets/bundles/bundle_lt.properties | 34 +++++++++++++++++++-- core/assets/bundles/bundle_nl.properties | 34 +++++++++++++++++++-- core/assets/bundles/bundle_nl_BE.properties | 34 +++++++++++++++++++-- core/assets/bundles/bundle_pl.properties | 34 +++++++++++++++++++-- core/assets/bundles/bundle_pt_BR.properties | 34 +++++++++++++++++++-- core/assets/bundles/bundle_pt_PT.properties | 34 +++++++++++++++++++-- core/assets/bundles/bundle_ro.properties | 34 +++++++++++++++++++-- core/assets/bundles/bundle_ru.properties | 34 +++++++++++++++++++-- core/assets/bundles/bundle_sr.properties | 34 +++++++++++++++++++-- core/assets/bundles/bundle_sv.properties | 34 +++++++++++++++++++-- core/assets/bundles/bundle_th.properties | 34 +++++++++++++++++++-- core/assets/bundles/bundle_tk.properties | 34 +++++++++++++++++++-- core/assets/bundles/bundle_tr.properties | 34 +++++++++++++++++++-- core/assets/bundles/bundle_uk_UA.properties | 34 +++++++++++++++++++-- core/assets/bundles/bundle_vi.properties | 34 +++++++++++++++++++-- core/assets/bundles/bundle_zh_CN.properties | 34 +++++++++++++++++++-- core/assets/bundles/bundle_zh_TW.properties | 34 +++++++++++++++++++-- 34 files changed, 1088 insertions(+), 68 deletions(-) diff --git a/core/assets/bundles/bundle_be.properties b/core/assets/bundles/bundle_be.properties index e3a469caac..1ff2a88c87 100644 --- a/core/assets/bundles/bundle_be.properties +++ b/core/assets/bundles/bundle_be.properties @@ -971,17 +971,46 @@ stat.immunities = Імунітэт stat.healing = Аднаўленне ability.forcefield = Сіловое Поле +ability.forcefield.description = Projects a force shield that absorbs bullets ability.repairfield = Поле Рамонту +ability.repairfield.description = Repairs nearby units ability.statusfield = Поле Статусу +ability.statusfield.description = Applies a status effect to nearby units ability.unitspawn = Завод +ability.unitspawn.description = Constructs units ability.shieldregenfield = Васстанўляюяае Поле Шчыта +ability.shieldregenfield.description = Regenerates shields of nearby units ability.movelightning = Рух Маланкі +ability.movelightning.description = Releases lightning while moving +ability.armorplate = Armor Plate +ability.armorplate.description = Reduces damage taken while shooting ability.shieldarc = Шчытавая Дуга +ability.shieldarc.description = Projects a force shield in an arc that absorbs bullets ability.suppressionfield = Regen Suppression Field +ability.suppressionfield.description = Stops nearby repair buildings ability.energyfield = Энэргетычнае Поле -ability.energyfield.sametypehealmultiplier = [lightgray]Same Type Healing: [white]{0}% -ability.energyfield.maxtargets = [lightgray]Max Targets: [white]{0} +ability.energyfield.description = Zaps nearby enemies +ability.energyfield.healdescription = Zaps nearby enemies and heals allies ability.regen = Regeneration +ability.regen.description = Regenerates own health over time +ability.liquidregen = Liquid Absorption +ability.liquidregen.description = Absorbs liquid to heal itself +ability.spawndeath = Death Spawns +ability.spawndeath.description = Releases units on death +ability.liquidexplode = Death Spillage +ability.liquidexplode.description = Spills liquid on death +ability.stat.firingrate = [stat]{0}/sec[lightgray] firing rate +ability.stat.regen = [stat]{0}[lightgray] health/sec +ability.stat.shield = [stat]{0}[lightgray] shield +ability.stat.repairspeed = [stat]{0}/sec[lightgray] repair speed +ability.stat.slurpheal = [stat]{0}[lightgray] health/liquid unit +ability.stat.cooldown = [stat]{0} sec[lightgray] cooldown +ability.stat.maxtargets = [stat]{0}[lightgray] max targets +ability.stat.sametypehealmultiplier = [stat]{0}%[lightgray] same type repair amount +ability.stat.damagereduction = [stat]{0}%[lightgray] damage reduction +ability.stat.minspeed = [stat]{0} tiles/sec[lightgray] min speed +ability.stat.duration = [stat]{0} sec[lightgray] duration +ability.stat.buildtime = [stat]{0} sec[lightgray] build time bar.onlycoredeposit = Даступны Толькі Перанос Рэсурсаў У Ядро bar.drilltierreq = Патрабуецца свідар лепей @@ -1283,6 +1312,7 @@ rules.unitdamagemultiplier = Множнік страт баяв. адз. rules.unitcrashdamagemultiplier = Множнік Падрыўнога Пашкоджання Юніта rules.solarmultiplier = Множнік Сонечнай Энергіі rules.unitcapvariable = Ядра Спрыяюць Колькасці Юнітаў +rules.unitpayloadsexplode = Carried Payloads Explode With The Unit rules.unitcap = Асноўная Колькасць Юнітаў rules.limitarea = Абмежаваць Вобласць Мапы rules.enemycorebuildradius = Радыус абароны варожае. ядраў: [lightgray] (блок.) diff --git a/core/assets/bundles/bundle_bg.properties b/core/assets/bundles/bundle_bg.properties index bd83830718..ff6ddd795c 100644 --- a/core/assets/bundles/bundle_bg.properties +++ b/core/assets/bundles/bundle_bg.properties @@ -981,17 +981,46 @@ stat.immunities = Immunities stat.healing = Healing ability.forcefield = Енергийно Поле +ability.forcefield.description = Projects a force shield that absorbs bullets ability.repairfield = Възстановяващо Поле +ability.repairfield.description = Repairs nearby units ability.statusfield = Подсилващо Поле +ability.statusfield.description = Applies a status effect to nearby units ability.unitspawn = Factory +ability.unitspawn.description = Constructs units ability.shieldregenfield = Възстановяващо броня Поле +ability.shieldregenfield.description = Regenerates shields of nearby units ability.movelightning = Подвижна светкавица +ability.movelightning.description = Releases lightning while moving +ability.armorplate = Armor Plate +ability.armorplate.description = Reduces damage taken while shooting ability.shieldarc = Shield Arc +ability.shieldarc.description = Projects a force shield in an arc that absorbs bullets ability.suppressionfield = Regen Suppression Field +ability.suppressionfield.description = Stops nearby repair buildings ability.energyfield = Energy Field -ability.energyfield.sametypehealmultiplier = [lightgray]Same Type Healing: [white]{0}% -ability.energyfield.maxtargets = [lightgray]Max Targets: [white]{0} +ability.energyfield.description = Zaps nearby enemies +ability.energyfield.healdescription = Zaps nearby enemies and heals allies ability.regen = Regeneration +ability.regen.description = Regenerates own health over time +ability.liquidregen = Liquid Absorption +ability.liquidregen.description = Absorbs liquid to heal itself +ability.spawndeath = Death Spawns +ability.spawndeath.description = Releases units on death +ability.liquidexplode = Death Spillage +ability.liquidexplode.description = Spills liquid on death +ability.stat.firingrate = [stat]{0}/sec[lightgray] firing rate +ability.stat.regen = [stat]{0}[lightgray] health/sec +ability.stat.shield = [stat]{0}[lightgray] shield +ability.stat.repairspeed = [stat]{0}/sec[lightgray] repair speed +ability.stat.slurpheal = [stat]{0}[lightgray] health/liquid unit +ability.stat.cooldown = [stat]{0} sec[lightgray] cooldown +ability.stat.maxtargets = [stat]{0}[lightgray] max targets +ability.stat.sametypehealmultiplier = [stat]{0}%[lightgray] same type repair amount +ability.stat.damagereduction = [stat]{0}%[lightgray] damage reduction +ability.stat.minspeed = [stat]{0} tiles/sec[lightgray] min speed +ability.stat.duration = [stat]{0} sec[lightgray] duration +ability.stat.buildtime = [stat]{0} sec[lightgray] build time bar.onlycoredeposit = Only Core Depositing Allowed @@ -1294,6 +1323,7 @@ rules.unitdamagemultiplier = Множител на Щетите на Едини rules.unitcrashdamagemultiplier = Unit Crash Damage Multiplier rules.solarmultiplier = Solar Power Multiplier rules.unitcapvariable = Ядрата Увеличават Максималния Брой Единици +rules.unitpayloadsexplode = Carried Payloads Explode With The Unit rules.unitcap = Максимален Брой Единици rules.limitarea = Limit Map Area rules.enemycorebuildradius = Радиус на Защитена от Строене Зона Около Ядрата:[lightgray] (полета) diff --git a/core/assets/bundles/bundle_ca.properties b/core/assets/bundles/bundle_ca.properties index 2e2b9b9827..a889b32ffb 100644 --- a/core/assets/bundles/bundle_ca.properties +++ b/core/assets/bundles/bundle_ca.properties @@ -985,17 +985,46 @@ stat.immunities = Immunitats stat.healing = Reparador ability.forcefield = Camp de força +ability.forcefield.description = Projects a force shield that absorbs bullets ability.repairfield = Repara el camp de força +ability.repairfield.description = Repairs nearby units ability.statusfield = Estat del camp +ability.statusfield.description = Applies a status effect to nearby units ability.unitspawn = Fàbrica +ability.unitspawn.description = Constructs units ability.shieldregenfield = Regenerador de camps de força +ability.shieldregenfield.description = Regenerates shields of nearby units ability.movelightning = Moviment llampec +ability.movelightning.description = Releases lightning while moving +ability.armorplate = Armor Plate +ability.armorplate.description = Reduces damage taken while shooting ability.shieldarc = Escut de descàrregues +ability.shieldarc.description = Projects a force shield in an arc that absorbs bullets ability.suppressionfield = Regen Suppression Field +ability.suppressionfield.description = Stops nearby repair buildings ability.energyfield = Camp de força -ability.energyfield.sametypehealmultiplier = [lightgray]Mateix tipus de guarició: [white]{0} % -ability.energyfield.maxtargets = [lightgray]Objectius màx.: [white]{0} +ability.energyfield.description = Zaps nearby enemies +ability.energyfield.healdescription = Zaps nearby enemies and heals allies ability.regen = Regeneració +ability.regen.description = Regenerates own health over time +ability.liquidregen = Liquid Absorption +ability.liquidregen.description = Absorbs liquid to heal itself +ability.spawndeath = Death Spawns +ability.spawndeath.description = Releases units on death +ability.liquidexplode = Death Spillage +ability.liquidexplode.description = Spills liquid on death +ability.stat.firingrate = [stat]{0}/sec[lightgray] firing rate +ability.stat.regen = [stat]{0}[lightgray] health/sec +ability.stat.shield = [stat]{0}[lightgray] shield +ability.stat.repairspeed = [stat]{0}/sec[lightgray] repair speed +ability.stat.slurpheal = [stat]{0}[lightgray] health/liquid unit +ability.stat.cooldown = [stat]{0} sec[lightgray] cooldown +ability.stat.maxtargets = [stat]{0}[lightgray] max targets +ability.stat.sametypehealmultiplier = [stat]{0}%[lightgray] same type repair amount +ability.stat.damagereduction = [stat]{0}%[lightgray] damage reduction +ability.stat.minspeed = [stat]{0} tiles/sec[lightgray] min speed +ability.stat.duration = [stat]{0} sec[lightgray] duration +ability.stat.buildtime = [stat]{0} sec[lightgray] build time bar.onlycoredeposit = Només es permet depositar al nucli. bar.drilltierreq = Cal una perforadora millor. @@ -1297,6 +1326,7 @@ rules.unitdamagemultiplier = Multiplicador del dany de les unitats rules.unitcrashdamagemultiplier = Multiplicador del dany de xoc de les unitats rules.solarmultiplier = Multiplicador de l’energia solar rules.unitcapvariable = Els nuclis contribueixen al límit d’unitats +rules.unitpayloadsexplode = Carried Payloads Explode With The Unit rules.unitcap = Capacitat base d’unitats rules.limitarea = Limita l’àrea del mapa rules.enemycorebuildradius = Radi de no construcció del nucli enemic:[lightgray] (caselles) diff --git a/core/assets/bundles/bundle_cs.properties b/core/assets/bundles/bundle_cs.properties index cdd5a9fdae..34ac915c51 100644 --- a/core/assets/bundles/bundle_cs.properties +++ b/core/assets/bundles/bundle_cs.properties @@ -983,17 +983,46 @@ stat.immunities = Imunity stat.healing = Léčí se ability.forcefield = Silové pole +ability.forcefield.description = Projects a force shield that absorbs bullets ability.repairfield = Opravit pole +ability.repairfield.description = Repairs nearby units ability.statusfield = Stav pole +ability.statusfield.description = Applies a status effect to nearby units ability.unitspawn = továrna +ability.unitspawn.description = Constructs units ability.shieldregenfield = Silově opravné pole +ability.shieldregenfield.description = Regenerates shields of nearby units ability.movelightning = Pohybující se blesk +ability.movelightning.description = Releases lightning while moving +ability.armorplate = Armor Plate +ability.armorplate.description = Reduces damage taken while shooting ability.shieldarc = Štítovy Oblouk +ability.shieldarc.description = Projects a force shield in an arc that absorbs bullets ability.suppressionfield = Regen Suppression Field +ability.suppressionfield.description = Stops nearby repair buildings ability.energyfield = Energetické pole -ability.energyfield.sametypehealmultiplier = [lightgray]Same Type Healing: [white]{0}% -ability.energyfield.maxtargets = [lightgray]Max Targets: [white]{0} +ability.energyfield.description = Zaps nearby enemies +ability.energyfield.healdescription = Zaps nearby enemies and heals allies ability.regen = Regeneration +ability.regen.description = Regenerates own health over time +ability.liquidregen = Liquid Absorption +ability.liquidregen.description = Absorbs liquid to heal itself +ability.spawndeath = Death Spawns +ability.spawndeath.description = Releases units on death +ability.liquidexplode = Death Spillage +ability.liquidexplode.description = Spills liquid on death +ability.stat.firingrate = [stat]{0}/sec[lightgray] firing rate +ability.stat.regen = [stat]{0}[lightgray] health/sec +ability.stat.shield = [stat]{0}[lightgray] shield +ability.stat.repairspeed = [stat]{0}/sec[lightgray] repair speed +ability.stat.slurpheal = [stat]{0}[lightgray] health/liquid unit +ability.stat.cooldown = [stat]{0} sec[lightgray] cooldown +ability.stat.maxtargets = [stat]{0}[lightgray] max targets +ability.stat.sametypehealmultiplier = [stat]{0}%[lightgray] same type repair amount +ability.stat.damagereduction = [stat]{0}%[lightgray] damage reduction +ability.stat.minspeed = [stat]{0} tiles/sec[lightgray] min speed +ability.stat.duration = [stat]{0} sec[lightgray] duration +ability.stat.buildtime = [stat]{0} sec[lightgray] build time bar.onlycoredeposit = Pouze Ukládání do Jádra je povoleno @@ -1296,6 +1325,7 @@ rules.unitdamagemultiplier = Násobek poškození jednotkami rules.unitcrashdamagemultiplier = Násobek poškození při nárazu jednotky rules.solarmultiplier = Násobek Solární Energie rules.unitcapvariable = Jádra Zvýšujou Maximum Počtu Jednotek +rules.unitpayloadsexplode = Carried Payloads Explode With The Unit rules.unitcap = Základní Maximum Počtu Jednotek rules.limitarea = Limit Map Area rules.enemycorebuildradius = Poloměr, ve kterém se okolo nepřátelského jádra nesmí stavět: [lightgray](dlaždic)[] diff --git a/core/assets/bundles/bundle_da.properties b/core/assets/bundles/bundle_da.properties index 1e23ad4055..f0bf3f405b 100644 --- a/core/assets/bundles/bundle_da.properties +++ b/core/assets/bundles/bundle_da.properties @@ -972,17 +972,46 @@ stat.immunities = Immunities stat.healing = Healing ability.forcefield = Kraftfelt +ability.forcefield.description = Projects a force shield that absorbs bullets ability.repairfield = Reparationsfelt +ability.repairfield.description = Repairs nearby units ability.statusfield = Statusfelt +ability.statusfield.description = Applies a status effect to nearby units ability.unitspawn = Fabrik +ability.unitspawn.description = Constructs units ability.shieldregenfield = Skjold-regenereringsfelt +ability.shieldregenfield.description = Regenerates shields of nearby units ability.movelightning = Movement Lightning +ability.movelightning.description = Releases lightning while moving +ability.armorplate = Armor Plate +ability.armorplate.description = Reduces damage taken while shooting ability.shieldarc = Shield Arc +ability.shieldarc.description = Projects a force shield in an arc that absorbs bullets ability.suppressionfield = Regen Suppression Field +ability.suppressionfield.description = Stops nearby repair buildings ability.energyfield = Energy Field -ability.energyfield.sametypehealmultiplier = [lightgray]Same Type Healing: [white]{0}% -ability.energyfield.maxtargets = [lightgray]Max Targets: [white]{0} +ability.energyfield.description = Zaps nearby enemies +ability.energyfield.healdescription = Zaps nearby enemies and heals allies ability.regen = Regeneration +ability.regen.description = Regenerates own health over time +ability.liquidregen = Liquid Absorption +ability.liquidregen.description = Absorbs liquid to heal itself +ability.spawndeath = Death Spawns +ability.spawndeath.description = Releases units on death +ability.liquidexplode = Death Spillage +ability.liquidexplode.description = Spills liquid on death +ability.stat.firingrate = [stat]{0}/sec[lightgray] firing rate +ability.stat.regen = [stat]{0}[lightgray] health/sec +ability.stat.shield = [stat]{0}[lightgray] shield +ability.stat.repairspeed = [stat]{0}/sec[lightgray] repair speed +ability.stat.slurpheal = [stat]{0}[lightgray] health/liquid unit +ability.stat.cooldown = [stat]{0} sec[lightgray] cooldown +ability.stat.maxtargets = [stat]{0}[lightgray] max targets +ability.stat.sametypehealmultiplier = [stat]{0}%[lightgray] same type repair amount +ability.stat.damagereduction = [stat]{0}%[lightgray] damage reduction +ability.stat.minspeed = [stat]{0} tiles/sec[lightgray] min speed +ability.stat.duration = [stat]{0} sec[lightgray] duration +ability.stat.buildtime = [stat]{0} sec[lightgray] build time bar.onlycoredeposit = Only Core Depositing Allowed @@ -1285,6 +1314,7 @@ rules.unitdamagemultiplier = Enheds-skade-forstærker rules.unitcrashdamagemultiplier = Unit Crash Damage Multiplier rules.solarmultiplier = Solar Power Multiplier rules.unitcapvariable = Cores Contribute To Unit Cap +rules.unitpayloadsexplode = Carried Payloads Explode With The Unit rules.unitcap = Base Unit Cap rules.limitarea = Limit Map Area rules.enemycorebuildradius = Radius af fjendtlig kernes ubebyggelig zone:[lightgray] (felter) diff --git a/core/assets/bundles/bundle_de.properties b/core/assets/bundles/bundle_de.properties index 04488a8786..7ec71b9203 100644 --- a/core/assets/bundles/bundle_de.properties +++ b/core/assets/bundles/bundle_de.properties @@ -994,17 +994,46 @@ stat.immunities = Immunitäten stat.healing = Heilung ability.forcefield = Kraftfeld +ability.forcefield.description = Projects a force shield that absorbs bullets ability.repairfield = Heilungsfeld +ability.repairfield.description = Repairs nearby units ability.statusfield = Statusfeld +ability.statusfield.description = Applies a status effect to nearby units ability.unitspawn = Fabrik +ability.unitspawn.description = Constructs units ability.shieldregenfield = Schildregenerationsfeld +ability.shieldregenfield.description = Regenerates shields of nearby units ability.movelightning = Bewegungsblitze +ability.movelightning.description = Releases lightning while moving +ability.armorplate = Armor Plate +ability.armorplate.description = Reduces damage taken while shooting ability.shieldarc = Lichtbogenschild +ability.shieldarc.description = Projects a force shield in an arc that absorbs bullets ability.suppressionfield = Heilungsunterdrückungsfeld +ability.suppressionfield.description = Stops nearby repair buildings ability.energyfield = Energiefeld -ability.energyfield.sametypehealmultiplier = [lightgray]Same Type Healing: [white]{0}% -ability.energyfield.maxtargets = [lightgray]Max Targets: [white]{0} +ability.energyfield.description = Zaps nearby enemies +ability.energyfield.healdescription = Zaps nearby enemies and heals allies ability.regen = Regeneration +ability.regen.description = Regenerates own health over time +ability.liquidregen = Liquid Absorption +ability.liquidregen.description = Absorbs liquid to heal itself +ability.spawndeath = Death Spawns +ability.spawndeath.description = Releases units on death +ability.liquidexplode = Death Spillage +ability.liquidexplode.description = Spills liquid on death +ability.stat.firingrate = [stat]{0}/sec[lightgray] firing rate +ability.stat.regen = [stat]{0}[lightgray] health/sec +ability.stat.shield = [stat]{0}[lightgray] shield +ability.stat.repairspeed = [stat]{0}/sec[lightgray] repair speed +ability.stat.slurpheal = [stat]{0}[lightgray] health/liquid unit +ability.stat.cooldown = [stat]{0} sec[lightgray] cooldown +ability.stat.maxtargets = [stat]{0}[lightgray] max targets +ability.stat.sametypehealmultiplier = [stat]{0}%[lightgray] same type repair amount +ability.stat.damagereduction = [stat]{0}%[lightgray] damage reduction +ability.stat.minspeed = [stat]{0} tiles/sec[lightgray] min speed +ability.stat.duration = [stat]{0} sec[lightgray] duration +ability.stat.buildtime = [stat]{0} sec[lightgray] build time bar.onlycoredeposit = Nur Kernablage möglich @@ -1307,6 +1336,7 @@ rules.unitdamagemultiplier = Einheit-Schaden-Multiplikator rules.unitcrashdamagemultiplier = Einheiten-Absturzschaden-Multiplikator rules.solarmultiplier = Solarstrom-Multiplikator rules.unitcapvariable = Kerne zählen zum Einheiten-Limit dazu +rules.unitpayloadsexplode = Carried Payloads Explode With The Unit rules.unitcap = Einheiten-Limit rules.limitarea = Kartenbereich begrenzen rules.enemycorebuildradius = Bauverbot-Radius durch feindlichen Kern:[lightgray] (Kacheln) diff --git a/core/assets/bundles/bundle_es.properties b/core/assets/bundles/bundle_es.properties index 18a16ca4d9..e4b1770621 100644 --- a/core/assets/bundles/bundle_es.properties +++ b/core/assets/bundles/bundle_es.properties @@ -991,17 +991,46 @@ stat.immunities = Inmune a stat.healing = Curación ability.forcefield = Área de Escudo +ability.forcefield.description = Projects a force shield that absorbs bullets ability.repairfield = Área de Reparación +ability.repairfield.description = Repairs nearby units ability.statusfield = Área de Potenciación +ability.statusfield.description = Applies a status effect to nearby units ability.unitspawn = Fábrica +ability.unitspawn.description = Constructs units ability.shieldregenfield = Área de Regeneración de Armaduras +ability.shieldregenfield.description = Regenerates shields of nearby units ability.movelightning = Movimiento Relámpago +ability.movelightning.description = Releases lightning while moving +ability.armorplate = Armor Plate +ability.armorplate.description = Reduces damage taken while shooting ability.shieldarc = Sector de Escudo +ability.shieldarc.description = Projects a force shield in an arc that absorbs bullets ability.suppressionfield = Área de Bloqueo de Regeneración +ability.suppressionfield.description = Stops nearby repair buildings ability.energyfield = Campo de Energía -ability.energyfield.sametypehealmultiplier = [lightgray]Same Type Healing: [white]{0}% -ability.energyfield.maxtargets = [lightgray]Max Targets: [white]{0} +ability.energyfield.description = Zaps nearby enemies +ability.energyfield.healdescription = Zaps nearby enemies and heals allies ability.regen = Regeneration +ability.regen.description = Regenerates own health over time +ability.liquidregen = Liquid Absorption +ability.liquidregen.description = Absorbs liquid to heal itself +ability.spawndeath = Death Spawns +ability.spawndeath.description = Releases units on death +ability.liquidexplode = Death Spillage +ability.liquidexplode.description = Spills liquid on death +ability.stat.firingrate = [stat]{0}/sec[lightgray] firing rate +ability.stat.regen = [stat]{0}[lightgray] health/sec +ability.stat.shield = [stat]{0}[lightgray] shield +ability.stat.repairspeed = [stat]{0}/sec[lightgray] repair speed +ability.stat.slurpheal = [stat]{0}[lightgray] health/liquid unit +ability.stat.cooldown = [stat]{0} sec[lightgray] cooldown +ability.stat.maxtargets = [stat]{0}[lightgray] max targets +ability.stat.sametypehealmultiplier = [stat]{0}%[lightgray] same type repair amount +ability.stat.damagereduction = [stat]{0}%[lightgray] damage reduction +ability.stat.minspeed = [stat]{0} tiles/sec[lightgray] min speed +ability.stat.duration = [stat]{0} sec[lightgray] duration +ability.stat.buildtime = [stat]{0} sec[lightgray] build time bar.onlycoredeposit = Sólo se permite depositar en el núcleo bar.drilltierreq = Requiere un taladro mejor @@ -1303,6 +1332,7 @@ rules.unitdamagemultiplier = Multiplicador de daño de unidades rules.unitcrashdamagemultiplier = Unit Crash Damage Multiplier rules.solarmultiplier = Multiplicador de energía solar rules.unitcapvariable = Las categorías del núcleo alteran el límite máximo de unidades +rules.unitpayloadsexplode = Carried Payloads Explode With The Unit rules.unitcap = Límite base de unidades rules.limitarea = Limitar área del mapa rules.enemycorebuildradius = Radio de zona anti-construcción del núcleo enemigo:[lightgray] (bloques) diff --git a/core/assets/bundles/bundle_et.properties b/core/assets/bundles/bundle_et.properties index a56915c145..395e330d14 100644 --- a/core/assets/bundles/bundle_et.properties +++ b/core/assets/bundles/bundle_et.properties @@ -972,17 +972,46 @@ stat.immunities = Immunities stat.healing = Healing ability.forcefield = Force Field +ability.forcefield.description = Projects a force shield that absorbs bullets ability.repairfield = Repair Field +ability.repairfield.description = Repairs nearby units ability.statusfield = Status Field +ability.statusfield.description = Applies a status effect to nearby units ability.unitspawn = Factory +ability.unitspawn.description = Constructs units ability.shieldregenfield = Shield Regen Field +ability.shieldregenfield.description = Regenerates shields of nearby units ability.movelightning = Movement Lightning +ability.movelightning.description = Releases lightning while moving +ability.armorplate = Armor Plate +ability.armorplate.description = Reduces damage taken while shooting ability.shieldarc = Shield Arc +ability.shieldarc.description = Projects a force shield in an arc that absorbs bullets ability.suppressionfield = Regen Suppression Field +ability.suppressionfield.description = Stops nearby repair buildings ability.energyfield = Energy Field -ability.energyfield.sametypehealmultiplier = [lightgray]Same Type Healing: [white]{0}% -ability.energyfield.maxtargets = [lightgray]Max Targets: [white]{0} +ability.energyfield.description = Zaps nearby enemies +ability.energyfield.healdescription = Zaps nearby enemies and heals allies ability.regen = Regeneration +ability.regen.description = Regenerates own health over time +ability.liquidregen = Liquid Absorption +ability.liquidregen.description = Absorbs liquid to heal itself +ability.spawndeath = Death Spawns +ability.spawndeath.description = Releases units on death +ability.liquidexplode = Death Spillage +ability.liquidexplode.description = Spills liquid on death +ability.stat.firingrate = [stat]{0}/sec[lightgray] firing rate +ability.stat.regen = [stat]{0}[lightgray] health/sec +ability.stat.shield = [stat]{0}[lightgray] shield +ability.stat.repairspeed = [stat]{0}/sec[lightgray] repair speed +ability.stat.slurpheal = [stat]{0}[lightgray] health/liquid unit +ability.stat.cooldown = [stat]{0} sec[lightgray] cooldown +ability.stat.maxtargets = [stat]{0}[lightgray] max targets +ability.stat.sametypehealmultiplier = [stat]{0}%[lightgray] same type repair amount +ability.stat.damagereduction = [stat]{0}%[lightgray] damage reduction +ability.stat.minspeed = [stat]{0} tiles/sec[lightgray] min speed +ability.stat.duration = [stat]{0} sec[lightgray] duration +ability.stat.buildtime = [stat]{0} sec[lightgray] build time bar.onlycoredeposit = Only Core Depositing Allowed @@ -1285,6 +1314,7 @@ rules.unitdamagemultiplier = Väeüksuste hävitusvõime kordaja rules.unitcrashdamagemultiplier = Unit Crash Damage Multiplier rules.solarmultiplier = Solar Power Multiplier rules.unitcapvariable = Cores Contribute To Unit Cap +rules.unitpayloadsexplode = Carried Payloads Explode With The Unit rules.unitcap = Base Unit Cap rules.limitarea = Limit Map Area rules.enemycorebuildradius = Vaenlaste tuumiku ehitistevaba ala raadius:[lightgray] (ühik) diff --git a/core/assets/bundles/bundle_eu.properties b/core/assets/bundles/bundle_eu.properties index 8ce90d62e5..7bc7d6ffa8 100644 --- a/core/assets/bundles/bundle_eu.properties +++ b/core/assets/bundles/bundle_eu.properties @@ -974,17 +974,46 @@ stat.immunities = Immunities stat.healing = Healing ability.forcefield = Force Field +ability.forcefield.description = Projects a force shield that absorbs bullets ability.repairfield = Repair Field +ability.repairfield.description = Repairs nearby units ability.statusfield = Status Field +ability.statusfield.description = Applies a status effect to nearby units ability.unitspawn = Factory +ability.unitspawn.description = Constructs units ability.shieldregenfield = Shield Regen Field +ability.shieldregenfield.description = Regenerates shields of nearby units ability.movelightning = Movement Lightning +ability.movelightning.description = Releases lightning while moving +ability.armorplate = Armor Plate +ability.armorplate.description = Reduces damage taken while shooting ability.shieldarc = Shield Arc +ability.shieldarc.description = Projects a force shield in an arc that absorbs bullets ability.suppressionfield = Regen Suppression Field +ability.suppressionfield.description = Stops nearby repair buildings ability.energyfield = Energy Field -ability.energyfield.sametypehealmultiplier = [lightgray]Same Type Healing: [white]{0}% -ability.energyfield.maxtargets = [lightgray]Max Targets: [white]{0} +ability.energyfield.description = Zaps nearby enemies +ability.energyfield.healdescription = Zaps nearby enemies and heals allies ability.regen = Regeneration +ability.regen.description = Regenerates own health over time +ability.liquidregen = Liquid Absorption +ability.liquidregen.description = Absorbs liquid to heal itself +ability.spawndeath = Death Spawns +ability.spawndeath.description = Releases units on death +ability.liquidexplode = Death Spillage +ability.liquidexplode.description = Spills liquid on death +ability.stat.firingrate = [stat]{0}/sec[lightgray] firing rate +ability.stat.regen = [stat]{0}[lightgray] health/sec +ability.stat.shield = [stat]{0}[lightgray] shield +ability.stat.repairspeed = [stat]{0}/sec[lightgray] repair speed +ability.stat.slurpheal = [stat]{0}[lightgray] health/liquid unit +ability.stat.cooldown = [stat]{0} sec[lightgray] cooldown +ability.stat.maxtargets = [stat]{0}[lightgray] max targets +ability.stat.sametypehealmultiplier = [stat]{0}%[lightgray] same type repair amount +ability.stat.damagereduction = [stat]{0}%[lightgray] damage reduction +ability.stat.minspeed = [stat]{0} tiles/sec[lightgray] min speed +ability.stat.duration = [stat]{0} sec[lightgray] duration +ability.stat.buildtime = [stat]{0} sec[lightgray] build time bar.onlycoredeposit = Only Core Depositing Allowed @@ -1287,6 +1316,7 @@ rules.unitdamagemultiplier = Unitateen kalte-biderkatzailea rules.unitcrashdamagemultiplier = Unit Crash Damage Multiplier rules.solarmultiplier = Solar Power Multiplier rules.unitcapvariable = Cores Contribute To Unit Cap +rules.unitpayloadsexplode = Carried Payloads Explode With The Unit rules.unitcap = Base Unit Cap rules.limitarea = Limit Map Area rules.enemycorebuildradius = Etsaien muinaren ez-eraikitze erradioa:[lightgray] (lauzak) diff --git a/core/assets/bundles/bundle_fi.properties b/core/assets/bundles/bundle_fi.properties index 7a31835dde..25767ac142 100644 --- a/core/assets/bundles/bundle_fi.properties +++ b/core/assets/bundles/bundle_fi.properties @@ -971,17 +971,46 @@ stat.immunities = Immuuni stat.healing = Parantuu ability.forcefield = Voimakenttä +ability.forcefield.description = Projects a force shield that absorbs bullets ability.repairfield = Korjauskenttä +ability.repairfield.description = Repairs nearby units ability.statusfield = Statuskenttä +ability.statusfield.description = Applies a status effect to nearby units ability.unitspawn = Tehdas +ability.unitspawn.description = Constructs units ability.shieldregenfield = Kilvenvahvistuskenttä +ability.shieldregenfield.description = Regenerates shields of nearby units ability.movelightning = Salamointi liikkuessa +ability.movelightning.description = Releases lightning while moving +ability.armorplate = Armor Plate +ability.armorplate.description = Reduces damage taken while shooting ability.shieldarc = Kilpikaari +ability.shieldarc.description = Projects a force shield in an arc that absorbs bullets ability.suppressionfield = Regen Suppression Field +ability.suppressionfield.description = Stops nearby repair buildings ability.energyfield = Energiakenttä -ability.energyfield.sametypehealmultiplier = [lightgray]Same Type Healing: [white]{0}% -ability.energyfield.maxtargets = [lightgray]Max Targets: [white]{0} +ability.energyfield.description = Zaps nearby enemies +ability.energyfield.healdescription = Zaps nearby enemies and heals allies ability.regen = Regeneration +ability.regen.description = Regenerates own health over time +ability.liquidregen = Liquid Absorption +ability.liquidregen.description = Absorbs liquid to heal itself +ability.spawndeath = Death Spawns +ability.spawndeath.description = Releases units on death +ability.liquidexplode = Death Spillage +ability.liquidexplode.description = Spills liquid on death +ability.stat.firingrate = [stat]{0}/sec[lightgray] firing rate +ability.stat.regen = [stat]{0}[lightgray] health/sec +ability.stat.shield = [stat]{0}[lightgray] shield +ability.stat.repairspeed = [stat]{0}/sec[lightgray] repair speed +ability.stat.slurpheal = [stat]{0}[lightgray] health/liquid unit +ability.stat.cooldown = [stat]{0} sec[lightgray] cooldown +ability.stat.maxtargets = [stat]{0}[lightgray] max targets +ability.stat.sametypehealmultiplier = [stat]{0}%[lightgray] same type repair amount +ability.stat.damagereduction = [stat]{0}%[lightgray] damage reduction +ability.stat.minspeed = [stat]{0} tiles/sec[lightgray] min speed +ability.stat.duration = [stat]{0} sec[lightgray] duration +ability.stat.buildtime = [stat]{0} sec[lightgray] build time bar.onlycoredeposit = Sijoittaminen sallittua vain ytimeen @@ -1284,6 +1313,7 @@ rules.unitdamagemultiplier = Yksikköjen vahinkokerroin rules.unitcrashdamagemultiplier = Unit Crash Damage Multiplier rules.solarmultiplier = Aurinkovoimakerroin rules.unitcapvariable = Ytimet vaikuttavat yksikkörajaan +rules.unitpayloadsexplode = Carried Payloads Explode With The Unit rules.unitcap = Perusyksikköraja rules.limitarea = Rajoita kartan aluetta rules.enemycorebuildradius = Vihollisytimen rakennuksenestosäde:[lightgray] (laattoina) diff --git a/core/assets/bundles/bundle_fil.properties b/core/assets/bundles/bundle_fil.properties index 92bf22e804..d66dbabc0f 100644 --- a/core/assets/bundles/bundle_fil.properties +++ b/core/assets/bundles/bundle_fil.properties @@ -971,17 +971,46 @@ stat.immunities = Immunities stat.healing = Healing ability.forcefield = Force Field +ability.forcefield.description = Projects a force shield that absorbs bullets ability.repairfield = Repair Field +ability.repairfield.description = Repairs nearby units ability.statusfield = Status Field +ability.statusfield.description = Applies a status effect to nearby units ability.unitspawn = Factory +ability.unitspawn.description = Constructs units ability.shieldregenfield = Shield Regen Field +ability.shieldregenfield.description = Regenerates shields of nearby units ability.movelightning = Movement Lightning +ability.movelightning.description = Releases lightning while moving +ability.armorplate = Armor Plate +ability.armorplate.description = Reduces damage taken while shooting ability.shieldarc = Shield Arc +ability.shieldarc.description = Projects a force shield in an arc that absorbs bullets ability.suppressionfield = Regen Suppression Field +ability.suppressionfield.description = Stops nearby repair buildings ability.energyfield = Energy Field -ability.energyfield.sametypehealmultiplier = [lightgray]Same Type Healing: [white]{0}% -ability.energyfield.maxtargets = [lightgray]Max Targets: [white]{0} +ability.energyfield.description = Zaps nearby enemies +ability.energyfield.healdescription = Zaps nearby enemies and heals allies ability.regen = Regeneration +ability.regen.description = Regenerates own health over time +ability.liquidregen = Liquid Absorption +ability.liquidregen.description = Absorbs liquid to heal itself +ability.spawndeath = Death Spawns +ability.spawndeath.description = Releases units on death +ability.liquidexplode = Death Spillage +ability.liquidexplode.description = Spills liquid on death +ability.stat.firingrate = [stat]{0}/sec[lightgray] firing rate +ability.stat.regen = [stat]{0}[lightgray] health/sec +ability.stat.shield = [stat]{0}[lightgray] shield +ability.stat.repairspeed = [stat]{0}/sec[lightgray] repair speed +ability.stat.slurpheal = [stat]{0}[lightgray] health/liquid unit +ability.stat.cooldown = [stat]{0} sec[lightgray] cooldown +ability.stat.maxtargets = [stat]{0}[lightgray] max targets +ability.stat.sametypehealmultiplier = [stat]{0}%[lightgray] same type repair amount +ability.stat.damagereduction = [stat]{0}%[lightgray] damage reduction +ability.stat.minspeed = [stat]{0} tiles/sec[lightgray] min speed +ability.stat.duration = [stat]{0} sec[lightgray] duration +ability.stat.buildtime = [stat]{0} sec[lightgray] build time bar.onlycoredeposit = Only Core Depositing Allowed @@ -1284,6 +1313,7 @@ rules.unitdamagemultiplier = Unit Damage Multiplier rules.unitcrashdamagemultiplier = Unit Crash Damage Multiplier rules.solarmultiplier = Solar Power Multiplier rules.unitcapvariable = Cores Contribute To Unit Cap +rules.unitpayloadsexplode = Carried Payloads Explode With The Unit rules.unitcap = Base Unit Cap rules.limitarea = Limit Map Area rules.enemycorebuildradius = Enemy Core No-Build Radius:[lightgray] (tiles) diff --git a/core/assets/bundles/bundle_fr.properties b/core/assets/bundles/bundle_fr.properties index ce9882b068..c44718029a 100644 --- a/core/assets/bundles/bundle_fr.properties +++ b/core/assets/bundles/bundle_fr.properties @@ -997,17 +997,46 @@ stat.immunities = Immunités stat.healing = Guérison ability.forcefield = Champ de Force +ability.forcefield.description = Projects a force shield that absorbs bullets ability.repairfield = Champ de Réparation +ability.repairfield.description = Repairs nearby units ability.statusfield = Champ d'Amélioration +ability.statusfield.description = Applies a status effect to nearby units ability.unitspawn = Usine +ability.unitspawn.description = Constructs units ability.shieldregenfield = Champ de régénération de bouclier +ability.shieldregenfield.description = Regenerates shields of nearby units ability.movelightning = Déplacement éclair +ability.movelightning.description = Releases lightning while moving +ability.armorplate = Armor Plate +ability.armorplate.description = Reduces damage taken while shooting ability.shieldarc = Arc de Bouclier +ability.shieldarc.description = Projects a force shield in an arc that absorbs bullets ability.suppressionfield = Champ de Suppression de Soins +ability.suppressionfield.description = Stops nearby repair buildings ability.energyfield = Champ d'énergie -ability.energyfield.sametypehealmultiplier = [lightgray]Soins des Unités du Même Type: [white]{0}% -ability.energyfield.maxtargets = [lightgray]Cibles Maximales: [white]{0} +ability.energyfield.description = Zaps nearby enemies +ability.energyfield.healdescription = Zaps nearby enemies and heals allies ability.regen = Régénération +ability.regen.description = Regenerates own health over time +ability.liquidregen = Liquid Absorption +ability.liquidregen.description = Absorbs liquid to heal itself +ability.spawndeath = Death Spawns +ability.spawndeath.description = Releases units on death +ability.liquidexplode = Death Spillage +ability.liquidexplode.description = Spills liquid on death +ability.stat.firingrate = [stat]{0}/sec[lightgray] firing rate +ability.stat.regen = [stat]{0}[lightgray] health/sec +ability.stat.shield = [stat]{0}[lightgray] shield +ability.stat.repairspeed = [stat]{0}/sec[lightgray] repair speed +ability.stat.slurpheal = [stat]{0}[lightgray] health/liquid unit +ability.stat.cooldown = [stat]{0} sec[lightgray] cooldown +ability.stat.maxtargets = [stat]{0}[lightgray] max targets +ability.stat.sametypehealmultiplier = [stat]{0}%[lightgray] same type repair amount +ability.stat.damagereduction = [stat]{0}%[lightgray] damage reduction +ability.stat.minspeed = [stat]{0} tiles/sec[lightgray] min speed +ability.stat.duration = [stat]{0} sec[lightgray] duration +ability.stat.buildtime = [stat]{0} sec[lightgray] build time bar.onlycoredeposit = Seul le dépôt de ressources dans le Noyau est autorisé bar.drilltierreq = Meilleure Foreuse Requise @@ -1312,6 +1341,7 @@ rules.unitdamagemultiplier = Multiplicateur de Dégât des Unités rules.unitcrashdamagemultiplier = Multiplicateur de Dégât de chute des Unités rules.solarmultiplier = Multiplicateur de l'Efficacité des Panneaux Solaires rules.unitcapvariable = Les Noyaux contribuent à la limite d'Unités actives +rules.unitpayloadsexplode = Carried Payloads Explode With The Unit rules.unitcap = Limite initiale d'Unités actives rules.limitarea = Limite de la zone de jeu de la Carte rules.enemycorebuildradius = Périmètre Non-Constructible autour du Noyau ennemi :[lightgray] (blocs) diff --git a/core/assets/bundles/bundle_hu.properties b/core/assets/bundles/bundle_hu.properties index 88ac610b4f..bdaf5bbf1e 100644 --- a/core/assets/bundles/bundle_hu.properties +++ b/core/assets/bundles/bundle_hu.properties @@ -998,17 +998,46 @@ stat.immunities = Immunitások stat.healing = Gyógyulás ability.forcefield = Erőtér +ability.forcefield.description = Projects a force shield that absorbs bullets ability.repairfield = Javító mező +ability.repairfield.description = Repairs nearby units ability.statusfield = Állapotmező +ability.statusfield.description = Applies a status effect to nearby units ability.unitspawn = Gyár +ability.unitspawn.description = Constructs units ability.shieldregenfield = Pajzsregeneráló mező +ability.shieldregenfield.description = Regenerates shields of nearby units ability.movelightning = Villámcsapás +ability.movelightning.description = Releases lightning while moving +ability.armorplate = Armor Plate +ability.armorplate.description = Reduces damage taken while shooting ability.shieldarc = Pajzs ív +ability.shieldarc.description = Projects a force shield in an arc that absorbs bullets ability.suppressionfield = Javítás elnyomása +ability.suppressionfield.description = Stops nearby repair buildings ability.energyfield = Energiamező -ability.energyfield.sametypehealmultiplier = [lightgray]Azonos típusú gyógyítás: [white]{0}% -ability.energyfield.maxtargets = [lightgray]Célpontok maximális száma: [white]{0} +ability.energyfield.description = Zaps nearby enemies +ability.energyfield.healdescription = Zaps nearby enemies and heals allies ability.regen = Regeneráció +ability.regen.description = Regenerates own health over time +ability.liquidregen = Liquid Absorption +ability.liquidregen.description = Absorbs liquid to heal itself +ability.spawndeath = Death Spawns +ability.spawndeath.description = Releases units on death +ability.liquidexplode = Death Spillage +ability.liquidexplode.description = Spills liquid on death +ability.stat.firingrate = [stat]{0}/sec[lightgray] firing rate +ability.stat.regen = [stat]{0}[lightgray] health/sec +ability.stat.shield = [stat]{0}[lightgray] shield +ability.stat.repairspeed = [stat]{0}/sec[lightgray] repair speed +ability.stat.slurpheal = [stat]{0}[lightgray] health/liquid unit +ability.stat.cooldown = [stat]{0} sec[lightgray] cooldown +ability.stat.maxtargets = [stat]{0}[lightgray] max targets +ability.stat.sametypehealmultiplier = [stat]{0}%[lightgray] same type repair amount +ability.stat.damagereduction = [stat]{0}%[lightgray] damage reduction +ability.stat.minspeed = [stat]{0} tiles/sec[lightgray] min speed +ability.stat.duration = [stat]{0} sec[lightgray] duration +ability.stat.buildtime = [stat]{0} sec[lightgray] build time bar.onlycoredeposit = Csak a támaszpont elhelyezése megengedett bar.drilltierreq = Erősebb fúró szükséges @@ -1313,6 +1342,7 @@ rules.unitdamagemultiplier = Egység sebzésszorzója rules.unitcrashdamagemultiplier = Egység ütközési sebzésszorzója rules.solarmultiplier = Napenergia szorzója rules.unitcapvariable = A támaszpontok befolyásolják a gyártható egységek darabszámát +rules.unitpayloadsexplode = Carried Payloads Explode With The Unit rules.unitcap = Alap egységdarabszám rules.limitarea = Játékterület korlátozása rules.enemycorebuildradius = Ellenséges támaszpont körüli tiltott zóna sugara:[lightgray] (csempe) diff --git a/core/assets/bundles/bundle_id_ID.properties b/core/assets/bundles/bundle_id_ID.properties index 9abf0debce..0446601dd9 100644 --- a/core/assets/bundles/bundle_id_ID.properties +++ b/core/assets/bundles/bundle_id_ID.properties @@ -991,17 +991,46 @@ stat.immunities = Kekebalan stat.healing = Menyembuhkan ability.forcefield = Bidang Kekuatan +ability.forcefield.description = Projects a force shield that absorbs bullets ability.repairfield = Bidang Perbaikan +ability.repairfield.description = Repairs nearby units ability.statusfield = Bidang Status +ability.statusfield.description = Applies a status effect to nearby units ability.unitspawn = Pabrik +ability.unitspawn.description = Constructs units ability.shieldregenfield = Bidang Regenerasi Perisai +ability.shieldregenfield.description = Regenerates shields of nearby units ability.movelightning = Pergerakan Petir +ability.movelightning.description = Releases lightning while moving +ability.armorplate = Armor Plate +ability.armorplate.description = Reduces damage taken while shooting ability.shieldarc = Shield Arc +ability.shieldarc.description = Projects a force shield in an arc that absorbs bullets ability.suppressionfield = Regen Suppression Field +ability.suppressionfield.description = Stops nearby repair buildings ability.energyfield = Bidang Tenaga -ability.energyfield.sametypehealmultiplier = [lightgray]Same Type Healing: [white]{0}% -ability.energyfield.maxtargets = [lightgray]Max Targets: [white]{0} +ability.energyfield.description = Zaps nearby enemies +ability.energyfield.healdescription = Zaps nearby enemies and heals allies ability.regen = Regeneration +ability.regen.description = Regenerates own health over time +ability.liquidregen = Liquid Absorption +ability.liquidregen.description = Absorbs liquid to heal itself +ability.spawndeath = Death Spawns +ability.spawndeath.description = Releases units on death +ability.liquidexplode = Death Spillage +ability.liquidexplode.description = Spills liquid on death +ability.stat.firingrate = [stat]{0}/sec[lightgray] firing rate +ability.stat.regen = [stat]{0}[lightgray] health/sec +ability.stat.shield = [stat]{0}[lightgray] shield +ability.stat.repairspeed = [stat]{0}/sec[lightgray] repair speed +ability.stat.slurpheal = [stat]{0}[lightgray] health/liquid unit +ability.stat.cooldown = [stat]{0} sec[lightgray] cooldown +ability.stat.maxtargets = [stat]{0}[lightgray] max targets +ability.stat.sametypehealmultiplier = [stat]{0}%[lightgray] same type repair amount +ability.stat.damagereduction = [stat]{0}%[lightgray] damage reduction +ability.stat.minspeed = [stat]{0} tiles/sec[lightgray] min speed +ability.stat.duration = [stat]{0} sec[lightgray] duration +ability.stat.buildtime = [stat]{0} sec[lightgray] build time bar.onlycoredeposit = Hanya Penyetoran Inti yang Diizinkan bar.drilltierreq = Membutuhkan Bor yang Lebih Baik @@ -1303,6 +1332,7 @@ rules.unitdamagemultiplier = Penggandaan Kekuatan Unit rules.unitcrashdamagemultiplier = Unit Crash Damage Multiplier rules.solarmultiplier = Penggandaan Tenaga Surya rules.unitcapvariable = Inti Memengaruhi Batas Unit +rules.unitpayloadsexplode = Carried Payloads Explode With The Unit rules.unitcap = Batas Unit Dasar rules.limitarea = Batas Area Peta rules.enemycorebuildradius = Dilarang Membangun Radius Inti Musuh :[lightgray] (blok) diff --git a/core/assets/bundles/bundle_it.properties b/core/assets/bundles/bundle_it.properties index 01262c1e95..00f76cef1f 100644 --- a/core/assets/bundles/bundle_it.properties +++ b/core/assets/bundles/bundle_it.properties @@ -977,17 +977,46 @@ stat.immunities = Immunità stat.healing = Rigenerazione ability.forcefield = Campo di Forza +ability.forcefield.description = Projects a force shield that absorbs bullets ability.repairfield = Campo Riparativo +ability.repairfield.description = Repairs nearby units ability.statusfield = Campo di Stato +ability.statusfield.description = Applies a status effect to nearby units ability.unitspawn = Fabbrica +ability.unitspawn.description = Constructs units ability.shieldregenfield = Campo di Rigenerazione Scudo +ability.shieldregenfield.description = Regenerates shields of nearby units ability.movelightning = Movimento Fulminante +ability.movelightning.description = Releases lightning while moving +ability.armorplate = Armor Plate +ability.armorplate.description = Reduces damage taken while shooting ability.shieldarc = Shield Arc +ability.shieldarc.description = Projects a force shield in an arc that absorbs bullets ability.suppressionfield = Regen Suppression Field +ability.suppressionfield.description = Stops nearby repair buildings ability.energyfield = Campo energetico -ability.energyfield.sametypehealmultiplier = [lightgray]Same Type Healing: [white]{0}% -ability.energyfield.maxtargets = [lightgray]Max Targets: [white]{0} +ability.energyfield.description = Zaps nearby enemies +ability.energyfield.healdescription = Zaps nearby enemies and heals allies ability.regen = Regeneration +ability.regen.description = Regenerates own health over time +ability.liquidregen = Liquid Absorption +ability.liquidregen.description = Absorbs liquid to heal itself +ability.spawndeath = Death Spawns +ability.spawndeath.description = Releases units on death +ability.liquidexplode = Death Spillage +ability.liquidexplode.description = Spills liquid on death +ability.stat.firingrate = [stat]{0}/sec[lightgray] firing rate +ability.stat.regen = [stat]{0}[lightgray] health/sec +ability.stat.shield = [stat]{0}[lightgray] shield +ability.stat.repairspeed = [stat]{0}/sec[lightgray] repair speed +ability.stat.slurpheal = [stat]{0}[lightgray] health/liquid unit +ability.stat.cooldown = [stat]{0} sec[lightgray] cooldown +ability.stat.maxtargets = [stat]{0}[lightgray] max targets +ability.stat.sametypehealmultiplier = [stat]{0}%[lightgray] same type repair amount +ability.stat.damagereduction = [stat]{0}%[lightgray] damage reduction +ability.stat.minspeed = [stat]{0} tiles/sec[lightgray] min speed +ability.stat.duration = [stat]{0} sec[lightgray] duration +ability.stat.buildtime = [stat]{0} sec[lightgray] build time bar.onlycoredeposit = Concesso solo il deposito al nucleo @@ -1290,6 +1319,7 @@ rules.unitdamagemultiplier = Moltiplicatore Danno Unità rules.unitcrashdamagemultiplier = Unit Crash Damage Multiplier rules.solarmultiplier = Moltiplicatore energia solare rules.unitcapvariable = Cores Contribute To Unit Cap +rules.unitpayloadsexplode = Carried Payloads Explode With The Unit rules.unitcap = Base Unit Cap rules.limitarea = Limite dimensioni mappa rules.enemycorebuildradius = Raggio di protezione del Nucleo Nemico dalle costruzioni:[lightgray] (blocchi) diff --git a/core/assets/bundles/bundle_ja.properties b/core/assets/bundles/bundle_ja.properties index 773c80759e..618db72f7a 100644 --- a/core/assets/bundles/bundle_ja.properties +++ b/core/assets/bundles/bundle_ja.properties @@ -983,17 +983,46 @@ stat.immunities = 耐性 stat.healing = 治癒 ability.forcefield = フォースフィールド +ability.forcefield.description = Projects a force shield that absorbs bullets ability.repairfield = リペアフィールド +ability.repairfield.description = Repairs nearby units ability.statusfield = ステータスフィールド +ability.statusfield.description = Applies a status effect to nearby units ability.unitspawn = 生産 +ability.unitspawn.description = Constructs units ability.shieldregenfield = シールドリペアフィールド +ability.shieldregenfield.description = Regenerates shields of nearby units ability.movelightning = ムーブメントライトニング +ability.movelightning.description = Releases lightning while moving +ability.armorplate = Armor Plate +ability.armorplate.description = Reduces damage taken while shooting ability.shieldarc = シールドアーク +ability.shieldarc.description = Projects a force shield in an arc that absorbs bullets ability.suppressionfield = リジェネ抑制フィールド +ability.suppressionfield.description = Stops nearby repair buildings ability.energyfield = エネルギー範囲 -ability.energyfield.sametypehealmultiplier = [lightgray]Same Type Healing: [white]{0}% -ability.energyfield.maxtargets = [lightgray]Max Targets: [white]{0} +ability.energyfield.description = Zaps nearby enemies +ability.energyfield.healdescription = Zaps nearby enemies and heals allies ability.regen = Regeneration +ability.regen.description = Regenerates own health over time +ability.liquidregen = Liquid Absorption +ability.liquidregen.description = Absorbs liquid to heal itself +ability.spawndeath = Death Spawns +ability.spawndeath.description = Releases units on death +ability.liquidexplode = Death Spillage +ability.liquidexplode.description = Spills liquid on death +ability.stat.firingrate = [stat]{0}/sec[lightgray] firing rate +ability.stat.regen = [stat]{0}[lightgray] health/sec +ability.stat.shield = [stat]{0}[lightgray] shield +ability.stat.repairspeed = [stat]{0}/sec[lightgray] repair speed +ability.stat.slurpheal = [stat]{0}[lightgray] health/liquid unit +ability.stat.cooldown = [stat]{0} sec[lightgray] cooldown +ability.stat.maxtargets = [stat]{0}[lightgray] max targets +ability.stat.sametypehealmultiplier = [stat]{0}%[lightgray] same type repair amount +ability.stat.damagereduction = [stat]{0}%[lightgray] damage reduction +ability.stat.minspeed = [stat]{0} tiles/sec[lightgray] min speed +ability.stat.duration = [stat]{0} sec[lightgray] duration +ability.stat.buildtime = [stat]{0} sec[lightgray] build time bar.onlycoredeposit = コアにのみ搬入できます。 @@ -1296,6 +1325,7 @@ rules.unitdamagemultiplier = ユニットのダメージ倍率 rules.unitcrashdamagemultiplier = ユニットの衝突ダメージ倍率 rules.solarmultiplier = 太陽光の倍率 rules.unitcapvariable = コア数によってユニット上限を変動 +rules.unitpayloadsexplode = Carried Payloads Explode With The Unit rules.unitcap = 基礎ユニット上限数 rules.limitarea = マップエリアを制限 rules.enemycorebuildradius = 敵コア周辺の建設禁止区域の半径:[lightgray] (タイル) diff --git a/core/assets/bundles/bundle_ko.properties b/core/assets/bundles/bundle_ko.properties index ca902dbb80..1fabbfdbc6 100644 --- a/core/assets/bundles/bundle_ko.properties +++ b/core/assets/bundles/bundle_ko.properties @@ -983,17 +983,46 @@ stat.immunities = 상태이상 면역 stat.healing = 회복량 ability.forcefield = 보호막 필드 +ability.forcefield.description = Projects a force shield that absorbs bullets ability.repairfield = 수리 필드 +ability.repairfield.description = Repairs nearby units ability.statusfield = 상태이상 필드 +ability.statusfield.description = Applies a status effect to nearby units ability.unitspawn = 공장 +ability.unitspawn.description = Constructs units ability.shieldregenfield = 방어막 복구 필드 +ability.shieldregenfield.description = Regenerates shields of nearby units ability.movelightning = 가속 전격 +ability.movelightning.description = Releases lightning while moving +ability.armorplate = Armor Plate +ability.armorplate.description = Reduces damage taken while shooting ability.shieldarc = 방어막 아크 +ability.shieldarc.description = Projects a force shield in an arc that absorbs bullets ability.suppressionfield = 재생성 억제 필드 +ability.suppressionfield.description = Stops nearby repair buildings ability.energyfield = 에너지 필드 -ability.energyfield.sametypehealmultiplier = [lightgray]Same Type Healing: [white]{0}% -ability.energyfield.maxtargets = [lightgray]Max Targets: [white]{0} +ability.energyfield.description = Zaps nearby enemies +ability.energyfield.healdescription = Zaps nearby enemies and heals allies ability.regen = Regeneration +ability.regen.description = Regenerates own health over time +ability.liquidregen = Liquid Absorption +ability.liquidregen.description = Absorbs liquid to heal itself +ability.spawndeath = Death Spawns +ability.spawndeath.description = Releases units on death +ability.liquidexplode = Death Spillage +ability.liquidexplode.description = Spills liquid on death +ability.stat.firingrate = [stat]{0}/sec[lightgray] firing rate +ability.stat.regen = [stat]{0}[lightgray] health/sec +ability.stat.shield = [stat]{0}[lightgray] shield +ability.stat.repairspeed = [stat]{0}/sec[lightgray] repair speed +ability.stat.slurpheal = [stat]{0}[lightgray] health/liquid unit +ability.stat.cooldown = [stat]{0} sec[lightgray] cooldown +ability.stat.maxtargets = [stat]{0}[lightgray] max targets +ability.stat.sametypehealmultiplier = [stat]{0}%[lightgray] same type repair amount +ability.stat.damagereduction = [stat]{0}%[lightgray] damage reduction +ability.stat.minspeed = [stat]{0} tiles/sec[lightgray] min speed +ability.stat.duration = [stat]{0} sec[lightgray] duration +ability.stat.buildtime = [stat]{0} sec[lightgray] build time bar.onlycoredeposit = 코어에만 투입할 수 있습니다 bar.drilltierreq = 더 좋은 드릴 필요 @@ -1295,6 +1324,7 @@ rules.unitdamagemultiplier = 기체 피해량 배수 rules.unitcrashdamagemultiplier = 기체 파손 피해량 배수 rules.solarmultiplier = 태양광 전력 배수 rules.unitcapvariable = 코어 기체수 제한 추가 +rules.unitpayloadsexplode = Carried Payloads Explode With The Unit rules.unitcap = 기본 기체 제한 rules.limitarea = 맵 영역 제한 rules.enemycorebuildradius = 적 코어 건설금지 범위:[lightgray] (타일) diff --git a/core/assets/bundles/bundle_lt.properties b/core/assets/bundles/bundle_lt.properties index 0cf772d249..40904c3e94 100644 --- a/core/assets/bundles/bundle_lt.properties +++ b/core/assets/bundles/bundle_lt.properties @@ -972,17 +972,46 @@ stat.immunities = Immunities stat.healing = Healing ability.forcefield = Force Field +ability.forcefield.description = Projects a force shield that absorbs bullets ability.repairfield = Repair Field +ability.repairfield.description = Repairs nearby units ability.statusfield = Status Field +ability.statusfield.description = Applies a status effect to nearby units ability.unitspawn = Factory +ability.unitspawn.description = Constructs units ability.shieldregenfield = Shield Regen Field +ability.shieldregenfield.description = Regenerates shields of nearby units ability.movelightning = Movement Lightning +ability.movelightning.description = Releases lightning while moving +ability.armorplate = Armor Plate +ability.armorplate.description = Reduces damage taken while shooting ability.shieldarc = Shield Arc +ability.shieldarc.description = Projects a force shield in an arc that absorbs bullets ability.suppressionfield = Regen Suppression Field +ability.suppressionfield.description = Stops nearby repair buildings ability.energyfield = Energy Field -ability.energyfield.sametypehealmultiplier = [lightgray]Same Type Healing: [white]{0}% -ability.energyfield.maxtargets = [lightgray]Max Targets: [white]{0} +ability.energyfield.description = Zaps nearby enemies +ability.energyfield.healdescription = Zaps nearby enemies and heals allies ability.regen = Regeneration +ability.regen.description = Regenerates own health over time +ability.liquidregen = Liquid Absorption +ability.liquidregen.description = Absorbs liquid to heal itself +ability.spawndeath = Death Spawns +ability.spawndeath.description = Releases units on death +ability.liquidexplode = Death Spillage +ability.liquidexplode.description = Spills liquid on death +ability.stat.firingrate = [stat]{0}/sec[lightgray] firing rate +ability.stat.regen = [stat]{0}[lightgray] health/sec +ability.stat.shield = [stat]{0}[lightgray] shield +ability.stat.repairspeed = [stat]{0}/sec[lightgray] repair speed +ability.stat.slurpheal = [stat]{0}[lightgray] health/liquid unit +ability.stat.cooldown = [stat]{0} sec[lightgray] cooldown +ability.stat.maxtargets = [stat]{0}[lightgray] max targets +ability.stat.sametypehealmultiplier = [stat]{0}%[lightgray] same type repair amount +ability.stat.damagereduction = [stat]{0}%[lightgray] damage reduction +ability.stat.minspeed = [stat]{0} tiles/sec[lightgray] min speed +ability.stat.duration = [stat]{0} sec[lightgray] duration +ability.stat.buildtime = [stat]{0} sec[lightgray] build time bar.onlycoredeposit = Only Core Depositing Allowed @@ -1285,6 +1314,7 @@ rules.unitdamagemultiplier = Vienetų Žalos Daugiklis rules.unitcrashdamagemultiplier = Unit Crash Damage Multiplier rules.solarmultiplier = Solar Power Multiplier rules.unitcapvariable = Cores Contribute To Unit Cap +rules.unitpayloadsexplode = Carried Payloads Explode With The Unit rules.unitcap = Base Unit Cap rules.limitarea = Limit Map Area rules.enemycorebuildradius = Nestatymo aplink priešų branduolį spindulys:[lightgray] (blokais) diff --git a/core/assets/bundles/bundle_nl.properties b/core/assets/bundles/bundle_nl.properties index fb8fbe5f10..ad980d279a 100644 --- a/core/assets/bundles/bundle_nl.properties +++ b/core/assets/bundles/bundle_nl.properties @@ -984,17 +984,46 @@ stat.immunities = Immuniteiten stat.healing = Genezing ability.forcefield = Krachtveld +ability.forcefield.description = Projects a force shield that absorbs bullets ability.repairfield = Reparatieveld +ability.repairfield.description = Repairs nearby units ability.statusfield = Statusveld +ability.statusfield.description = Applies a status effect to nearby units ability.unitspawn = Fabriek +ability.unitspawn.description = Constructs units ability.shieldregenfield = Schild Regeneratie Veld +ability.shieldregenfield.description = Regenerates shields of nearby units ability.movelightning = Beweging Bliksem +ability.movelightning.description = Releases lightning while moving +ability.armorplate = Armor Plate +ability.armorplate.description = Reduces damage taken while shooting ability.shieldarc = Schild Boog +ability.shieldarc.description = Projects a force shield in an arc that absorbs bullets ability.suppressionfield = Regeneratie Onderdrukkingsveld +ability.suppressionfield.description = Stops nearby repair buildings ability.energyfield = Energieveld -ability.energyfield.sametypehealmultiplier = [lightgray]Same Type Healing: [white]{0}% -ability.energyfield.maxtargets = [lightgray]Max Targets: [white]{0} +ability.energyfield.description = Zaps nearby enemies +ability.energyfield.healdescription = Zaps nearby enemies and heals allies ability.regen = Regeneration +ability.regen.description = Regenerates own health over time +ability.liquidregen = Liquid Absorption +ability.liquidregen.description = Absorbs liquid to heal itself +ability.spawndeath = Death Spawns +ability.spawndeath.description = Releases units on death +ability.liquidexplode = Death Spillage +ability.liquidexplode.description = Spills liquid on death +ability.stat.firingrate = [stat]{0}/sec[lightgray] firing rate +ability.stat.regen = [stat]{0}[lightgray] health/sec +ability.stat.shield = [stat]{0}[lightgray] shield +ability.stat.repairspeed = [stat]{0}/sec[lightgray] repair speed +ability.stat.slurpheal = [stat]{0}[lightgray] health/liquid unit +ability.stat.cooldown = [stat]{0} sec[lightgray] cooldown +ability.stat.maxtargets = [stat]{0}[lightgray] max targets +ability.stat.sametypehealmultiplier = [stat]{0}%[lightgray] same type repair amount +ability.stat.damagereduction = [stat]{0}%[lightgray] damage reduction +ability.stat.minspeed = [stat]{0} tiles/sec[lightgray] min speed +ability.stat.duration = [stat]{0} sec[lightgray] duration +ability.stat.buildtime = [stat]{0} sec[lightgray] build time bar.onlycoredeposit = Alleen materialen in de Core toegestaan. @@ -1297,6 +1326,7 @@ rules.unitdamagemultiplier = Eenheid Schade Vermenigvuldiger rules.unitcrashdamagemultiplier = Unit Crash Damage Multiplier rules.solarmultiplier = Zonne-Energie Vermenigvuldiger rules.unitcapvariable = Cores Dragen Bij Aan Eenheidslimiet +rules.unitpayloadsexplode = Carried Payloads Explode With The Unit rules.unitcap = Bais Eenheidlimiet rules.limitarea = Limiteer Kaart Gebied rules.enemycorebuildradius = Niet-Bouw Bereik Vijandelijke Cores:[lightgray] (tegels) diff --git a/core/assets/bundles/bundle_nl_BE.properties b/core/assets/bundles/bundle_nl_BE.properties index e03d97d06c..baa57101d7 100644 --- a/core/assets/bundles/bundle_nl_BE.properties +++ b/core/assets/bundles/bundle_nl_BE.properties @@ -972,17 +972,46 @@ stat.immunities = Immunities stat.healing = Healing ability.forcefield = Force Field +ability.forcefield.description = Projects a force shield that absorbs bullets ability.repairfield = Repair Field +ability.repairfield.description = Repairs nearby units ability.statusfield = Status Field +ability.statusfield.description = Applies a status effect to nearby units ability.unitspawn = Factory +ability.unitspawn.description = Constructs units ability.shieldregenfield = Shield Regen Field +ability.shieldregenfield.description = Regenerates shields of nearby units ability.movelightning = Movement Lightning +ability.movelightning.description = Releases lightning while moving +ability.armorplate = Armor Plate +ability.armorplate.description = Reduces damage taken while shooting ability.shieldarc = Shield Arc +ability.shieldarc.description = Projects a force shield in an arc that absorbs bullets ability.suppressionfield = Regen Suppression Field +ability.suppressionfield.description = Stops nearby repair buildings ability.energyfield = Energy Field -ability.energyfield.sametypehealmultiplier = [lightgray]Same Type Healing: [white]{0}% -ability.energyfield.maxtargets = [lightgray]Max Targets: [white]{0} +ability.energyfield.description = Zaps nearby enemies +ability.energyfield.healdescription = Zaps nearby enemies and heals allies ability.regen = Regeneration +ability.regen.description = Regenerates own health over time +ability.liquidregen = Liquid Absorption +ability.liquidregen.description = Absorbs liquid to heal itself +ability.spawndeath = Death Spawns +ability.spawndeath.description = Releases units on death +ability.liquidexplode = Death Spillage +ability.liquidexplode.description = Spills liquid on death +ability.stat.firingrate = [stat]{0}/sec[lightgray] firing rate +ability.stat.regen = [stat]{0}[lightgray] health/sec +ability.stat.shield = [stat]{0}[lightgray] shield +ability.stat.repairspeed = [stat]{0}/sec[lightgray] repair speed +ability.stat.slurpheal = [stat]{0}[lightgray] health/liquid unit +ability.stat.cooldown = [stat]{0} sec[lightgray] cooldown +ability.stat.maxtargets = [stat]{0}[lightgray] max targets +ability.stat.sametypehealmultiplier = [stat]{0}%[lightgray] same type repair amount +ability.stat.damagereduction = [stat]{0}%[lightgray] damage reduction +ability.stat.minspeed = [stat]{0} tiles/sec[lightgray] min speed +ability.stat.duration = [stat]{0} sec[lightgray] duration +ability.stat.buildtime = [stat]{0} sec[lightgray] build time bar.onlycoredeposit = Only Core Depositing Allowed @@ -1285,6 +1314,7 @@ rules.unitdamagemultiplier = Unit Damage Multiplier rules.unitcrashdamagemultiplier = Unit Crash Damage Multiplier rules.solarmultiplier = Solar Power Multiplier rules.unitcapvariable = Cores Contribute To Unit Cap +rules.unitpayloadsexplode = Carried Payloads Explode With The Unit rules.unitcap = Base Unit Cap rules.limitarea = Limit Map Area rules.enemycorebuildradius = Enemy Core No-Build Radius:[lightgray] (tiles) diff --git a/core/assets/bundles/bundle_pl.properties b/core/assets/bundles/bundle_pl.properties index 5e19b1e4e4..afe941105e 100644 --- a/core/assets/bundles/bundle_pl.properties +++ b/core/assets/bundles/bundle_pl.properties @@ -981,17 +981,46 @@ stat.immunities = Odporności stat.healing = Leczy ability.forcefield = Pole Siłowe +ability.forcefield.description = Projects a force shield that absorbs bullets ability.repairfield = Pole Naprawy +ability.repairfield.description = Repairs nearby units ability.statusfield = Pole Statusu +ability.statusfield.description = Applies a status effect to nearby units ability.unitspawn = Fabryka Jednostek +ability.unitspawn.description = Constructs units ability.shieldregenfield = Strefa Tarczy Regenerującej +ability.shieldregenfield.description = Regenerates shields of nearby units ability.movelightning = Pioruny Poruszania +ability.movelightning.description = Releases lightning while moving +ability.armorplate = Armor Plate +ability.armorplate.description = Reduces damage taken while shooting ability.shieldarc = Łuk Tarczy +ability.shieldarc.description = Projects a force shield in an arc that absorbs bullets ability.suppressionfield = Pole Tłumienia Regeneracji +ability.suppressionfield.description = Stops nearby repair buildings ability.energyfield = Pole Energii -ability.energyfield.sametypehealmultiplier = [lightgray]Ten sam typ leczenia: [white]{0}% -ability.energyfield.maxtargets = [lightgray]Maksymalne cele: [white]{0} +ability.energyfield.description = Zaps nearby enemies +ability.energyfield.healdescription = Zaps nearby enemies and heals allies ability.regen = Regeneracja +ability.regen.description = Regenerates own health over time +ability.liquidregen = Liquid Absorption +ability.liquidregen.description = Absorbs liquid to heal itself +ability.spawndeath = Death Spawns +ability.spawndeath.description = Releases units on death +ability.liquidexplode = Death Spillage +ability.liquidexplode.description = Spills liquid on death +ability.stat.firingrate = [stat]{0}/sec[lightgray] firing rate +ability.stat.regen = [stat]{0}[lightgray] health/sec +ability.stat.shield = [stat]{0}[lightgray] shield +ability.stat.repairspeed = [stat]{0}/sec[lightgray] repair speed +ability.stat.slurpheal = [stat]{0}[lightgray] health/liquid unit +ability.stat.cooldown = [stat]{0} sec[lightgray] cooldown +ability.stat.maxtargets = [stat]{0}[lightgray] max targets +ability.stat.sametypehealmultiplier = [stat]{0}%[lightgray] same type repair amount +ability.stat.damagereduction = [stat]{0}%[lightgray] damage reduction +ability.stat.minspeed = [stat]{0} tiles/sec[lightgray] min speed +ability.stat.duration = [stat]{0} sec[lightgray] duration +ability.stat.buildtime = [stat]{0} sec[lightgray] build time bar.onlycoredeposit = Dozwolone jest tylko przeniesienie z rdzenia @@ -1294,6 +1323,7 @@ rules.unitdamagemultiplier = Mnożnik Obrażeń jednostek rules.unitcrashdamagemultiplier = Obrażenia Zadawane Po Zniszczeniu rules.solarmultiplier = Mnożnik Mocy Paneli Słonecznych rules.unitcapvariable = Rdzenie mają wpływ na limit jednostek +rules.unitpayloadsexplode = Carried Payloads Explode With The Unit rules.unitcap = Podstawowy limit jednostek rules.limitarea = Limit Obszaru Mapy rules.enemycorebuildradius = Zasięg Blokady Budowy Przy Rdzeniu Wroga:[lightgray] (kratki) diff --git a/core/assets/bundles/bundle_pt_BR.properties b/core/assets/bundles/bundle_pt_BR.properties index 8c757e81b6..5d854f1e64 100644 --- a/core/assets/bundles/bundle_pt_BR.properties +++ b/core/assets/bundles/bundle_pt_BR.properties @@ -992,17 +992,46 @@ stat.immunities = Imunidades stat.healing = Reparo ability.forcefield = Campo de Força +ability.forcefield.description = Projects a force shield that absorbs bullets ability.repairfield = Campo de Reparação +ability.repairfield.description = Repairs nearby units ability.statusfield = Campo de Status +ability.statusfield.description = Applies a status effect to nearby units ability.unitspawn = Fábrica +ability.unitspawn.description = Constructs units ability.shieldregenfield = Raio de Regeneração do Escudo +ability.shieldregenfield.description = Regenerates shields of nearby units ability.movelightning = Raio de Movimento +ability.movelightning.description = Releases lightning while moving +ability.armorplate = Armor Plate +ability.armorplate.description = Reduces damage taken while shooting ability.shieldarc = Arco do Escudo +ability.shieldarc.description = Projects a force shield in an arc that absorbs bullets ability.suppressionfield = Regen Suppression Field +ability.suppressionfield.description = Stops nearby repair buildings ability.energyfield = Campo de Energia -ability.energyfield.sametypehealmultiplier = [lightgray]Same Type Healing: [white]{0}% -ability.energyfield.maxtargets = [lightgray]Max Targets: [white]{0} +ability.energyfield.description = Zaps nearby enemies +ability.energyfield.healdescription = Zaps nearby enemies and heals allies ability.regen = Regeneration +ability.regen.description = Regenerates own health over time +ability.liquidregen = Liquid Absorption +ability.liquidregen.description = Absorbs liquid to heal itself +ability.spawndeath = Death Spawns +ability.spawndeath.description = Releases units on death +ability.liquidexplode = Death Spillage +ability.liquidexplode.description = Spills liquid on death +ability.stat.firingrate = [stat]{0}/sec[lightgray] firing rate +ability.stat.regen = [stat]{0}[lightgray] health/sec +ability.stat.shield = [stat]{0}[lightgray] shield +ability.stat.repairspeed = [stat]{0}/sec[lightgray] repair speed +ability.stat.slurpheal = [stat]{0}[lightgray] health/liquid unit +ability.stat.cooldown = [stat]{0} sec[lightgray] cooldown +ability.stat.maxtargets = [stat]{0}[lightgray] max targets +ability.stat.sametypehealmultiplier = [stat]{0}%[lightgray] same type repair amount +ability.stat.damagereduction = [stat]{0}%[lightgray] damage reduction +ability.stat.minspeed = [stat]{0} tiles/sec[lightgray] min speed +ability.stat.duration = [stat]{0} sec[lightgray] duration +ability.stat.buildtime = [stat]{0} sec[lightgray] build time bar.onlycoredeposit = Somente depósito no núcleo permitido bar.drilltierreq = Broca melhor necessária. @@ -1304,6 +1333,7 @@ rules.unitdamagemultiplier = Multiplicador de dano de Unidade rules.unitcrashdamagemultiplier = Unit Crash Damage Multiplier rules.solarmultiplier = Multiplicador de Energia Solar rules.unitcapvariable = Núcleos contribuem para a capacidade da unidade +rules.unitpayloadsexplode = Carried Payloads Explode With The Unit rules.unitcap = Capacidade base da Unidade rules.limitarea = Limitar área do mapa rules.enemycorebuildradius = Raio de "não-criação" de núcleo inimigo:[lightgray] (blocos) diff --git a/core/assets/bundles/bundle_pt_PT.properties b/core/assets/bundles/bundle_pt_PT.properties index f5eb2863fa..0ce81ecf7d 100644 --- a/core/assets/bundles/bundle_pt_PT.properties +++ b/core/assets/bundles/bundle_pt_PT.properties @@ -972,17 +972,46 @@ stat.immunities = Immunities stat.healing = Healing ability.forcefield = Force Field +ability.forcefield.description = Projects a force shield that absorbs bullets ability.repairfield = Repair Field +ability.repairfield.description = Repairs nearby units ability.statusfield = Status Field +ability.statusfield.description = Applies a status effect to nearby units ability.unitspawn = Factory +ability.unitspawn.description = Constructs units ability.shieldregenfield = Shield Regen Field +ability.shieldregenfield.description = Regenerates shields of nearby units ability.movelightning = Movement Lightning +ability.movelightning.description = Releases lightning while moving +ability.armorplate = Armor Plate +ability.armorplate.description = Reduces damage taken while shooting ability.shieldarc = Shield Arc +ability.shieldarc.description = Projects a force shield in an arc that absorbs bullets ability.suppressionfield = Regen Suppression Field +ability.suppressionfield.description = Stops nearby repair buildings ability.energyfield = Energy Field -ability.energyfield.sametypehealmultiplier = [lightgray]Same Type Healing: [white]{0}% -ability.energyfield.maxtargets = [lightgray]Max Targets: [white]{0} +ability.energyfield.description = Zaps nearby enemies +ability.energyfield.healdescription = Zaps nearby enemies and heals allies ability.regen = Regeneration +ability.regen.description = Regenerates own health over time +ability.liquidregen = Liquid Absorption +ability.liquidregen.description = Absorbs liquid to heal itself +ability.spawndeath = Death Spawns +ability.spawndeath.description = Releases units on death +ability.liquidexplode = Death Spillage +ability.liquidexplode.description = Spills liquid on death +ability.stat.firingrate = [stat]{0}/sec[lightgray] firing rate +ability.stat.regen = [stat]{0}[lightgray] health/sec +ability.stat.shield = [stat]{0}[lightgray] shield +ability.stat.repairspeed = [stat]{0}/sec[lightgray] repair speed +ability.stat.slurpheal = [stat]{0}[lightgray] health/liquid unit +ability.stat.cooldown = [stat]{0} sec[lightgray] cooldown +ability.stat.maxtargets = [stat]{0}[lightgray] max targets +ability.stat.sametypehealmultiplier = [stat]{0}%[lightgray] same type repair amount +ability.stat.damagereduction = [stat]{0}%[lightgray] damage reduction +ability.stat.minspeed = [stat]{0} tiles/sec[lightgray] min speed +ability.stat.duration = [stat]{0} sec[lightgray] duration +ability.stat.buildtime = [stat]{0} sec[lightgray] build time bar.onlycoredeposit = Only Core Depositing Allowed @@ -1285,6 +1314,7 @@ rules.unitdamagemultiplier = Multiplicador de dano de Unidade rules.unitcrashdamagemultiplier = Unit Crash Damage Multiplier rules.solarmultiplier = Solar Power Multiplier rules.unitcapvariable = Cores Contribute To Unit Cap +rules.unitpayloadsexplode = Carried Payloads Explode With The Unit rules.unitcap = Base Unit Cap rules.limitarea = Limit Map Area rules.enemycorebuildradius = Raio de "Não-criação" de core inimigo:[lightgray] (blocos) diff --git a/core/assets/bundles/bundle_ro.properties b/core/assets/bundles/bundle_ro.properties index eb1d0ce995..da51937357 100644 --- a/core/assets/bundles/bundle_ro.properties +++ b/core/assets/bundles/bundle_ro.properties @@ -983,17 +983,46 @@ stat.immunities = Immunities stat.healing = Reparare ability.forcefield = Câmp de Forță +ability.forcefield.description = Projects a force shield that absorbs bullets ability.repairfield = Câmp de Reparare +ability.repairfield.description = Repairs nearby units ability.statusfield = Câmp de Stare +ability.statusfield.description = Applies a status effect to nearby units ability.unitspawn = Fabrică +ability.unitspawn.description = Constructs units ability.shieldregenfield = Câmp Regenerare Scut +ability.shieldregenfield.description = Regenerates shields of nearby units ability.movelightning = Mișcare Fulger +ability.movelightning.description = Releases lightning while moving +ability.armorplate = Armor Plate +ability.armorplate.description = Reduces damage taken while shooting ability.shieldarc = Shield Arc +ability.shieldarc.description = Projects a force shield in an arc that absorbs bullets ability.suppressionfield = Regen Suppression Field +ability.suppressionfield.description = Stops nearby repair buildings ability.energyfield = Câmp de Energie -ability.energyfield.sametypehealmultiplier = [lightgray]Same Type Healing: [white]{0}% -ability.energyfield.maxtargets = [lightgray]Max Targets: [white]{0} +ability.energyfield.description = Zaps nearby enemies +ability.energyfield.healdescription = Zaps nearby enemies and heals allies ability.regen = Regeneration +ability.regen.description = Regenerates own health over time +ability.liquidregen = Liquid Absorption +ability.liquidregen.description = Absorbs liquid to heal itself +ability.spawndeath = Death Spawns +ability.spawndeath.description = Releases units on death +ability.liquidexplode = Death Spillage +ability.liquidexplode.description = Spills liquid on death +ability.stat.firingrate = [stat]{0}/sec[lightgray] firing rate +ability.stat.regen = [stat]{0}[lightgray] health/sec +ability.stat.shield = [stat]{0}[lightgray] shield +ability.stat.repairspeed = [stat]{0}/sec[lightgray] repair speed +ability.stat.slurpheal = [stat]{0}[lightgray] health/liquid unit +ability.stat.cooldown = [stat]{0} sec[lightgray] cooldown +ability.stat.maxtargets = [stat]{0}[lightgray] max targets +ability.stat.sametypehealmultiplier = [stat]{0}%[lightgray] same type repair amount +ability.stat.damagereduction = [stat]{0}%[lightgray] damage reduction +ability.stat.minspeed = [stat]{0} tiles/sec[lightgray] min speed +ability.stat.duration = [stat]{0} sec[lightgray] duration +ability.stat.buildtime = [stat]{0} sec[lightgray] build time bar.onlycoredeposit = Only Core Depositing Allowed @@ -1296,6 +1325,7 @@ rules.unitdamagemultiplier = Multiplicatorul Deteriorării Unităților rules.unitcrashdamagemultiplier = Unit Crash Damage Multiplier rules.solarmultiplier = Solar Power Multiplier rules.unitcapvariable = Nucleele Contribuie la Limita Unităților +rules.unitpayloadsexplode = Carried Payloads Explode With The Unit rules.unitcap = Limita de Bază a Unităților rules.limitarea = Limit Map Area rules.enemycorebuildradius = Interzisă Construirea în Jurul Nucleului Inamic:[lightgray] (pătrate) diff --git a/core/assets/bundles/bundle_ru.properties b/core/assets/bundles/bundle_ru.properties index 268d96520c..b0b35d7083 100644 --- a/core/assets/bundles/bundle_ru.properties +++ b/core/assets/bundles/bundle_ru.properties @@ -984,17 +984,46 @@ stat.immunities = Невосприимчив stat.healing = Ремонт ability.forcefield = Силовое поле +ability.forcefield.description = Projects a force shield that absorbs bullets ability.repairfield = Ремонтирующее поле +ability.repairfield.description = Repairs nearby units ability.statusfield = Усиливающее поле +ability.statusfield.description = Applies a status effect to nearby units ability.unitspawn = Завод единиц � +ability.unitspawn.description = Constructs units ability.shieldregenfield = Поле восстановления щита +ability.shieldregenfield.description = Regenerates shields of nearby units ability.movelightning = Молнии при движении +ability.movelightning.description = Releases lightning while moving +ability.armorplate = Armor Plate +ability.armorplate.description = Reduces damage taken while shooting ability.shieldarc = Дуговой щит +ability.shieldarc.description = Projects a force shield in an arc that absorbs bullets ability.suppressionfield = Поле подавления регенерации +ability.suppressionfield.description = Stops nearby repair buildings ability.energyfield = Энергетическое поле -ability.energyfield.sametypehealmultiplier = [lightgray]Same Type Healing: [white]{0}% -ability.energyfield.maxtargets = [lightgray]Max Targets: [white]{0} +ability.energyfield.description = Zaps nearby enemies +ability.energyfield.healdescription = Zaps nearby enemies and heals allies ability.regen = Regeneration +ability.regen.description = Regenerates own health over time +ability.liquidregen = Liquid Absorption +ability.liquidregen.description = Absorbs liquid to heal itself +ability.spawndeath = Death Spawns +ability.spawndeath.description = Releases units on death +ability.liquidexplode = Death Spillage +ability.liquidexplode.description = Spills liquid on death +ability.stat.firingrate = [stat]{0}/sec[lightgray] firing rate +ability.stat.regen = [stat]{0}[lightgray] health/sec +ability.stat.shield = [stat]{0}[lightgray] shield +ability.stat.repairspeed = [stat]{0}/sec[lightgray] repair speed +ability.stat.slurpheal = [stat]{0}[lightgray] health/liquid unit +ability.stat.cooldown = [stat]{0} sec[lightgray] cooldown +ability.stat.maxtargets = [stat]{0}[lightgray] max targets +ability.stat.sametypehealmultiplier = [stat]{0}%[lightgray] same type repair amount +ability.stat.damagereduction = [stat]{0}%[lightgray] damage reduction +ability.stat.minspeed = [stat]{0} tiles/sec[lightgray] min speed +ability.stat.duration = [stat]{0} sec[lightgray] duration +ability.stat.buildtime = [stat]{0} sec[lightgray] build time bar.onlycoredeposit = Доступен перенос только в ядро bar.drilltierreq = Требуется бур получше @@ -1296,6 +1325,7 @@ rules.unitdamagemultiplier = Множитель урона боев. ед. rules.unitcrashdamagemultiplier = Множитель урона от падения боев. ед. rules.solarmultiplier = Множитель солнечной энергии rules.unitcapvariable = Ядра увеличивают лимит единиц +rules.unitpayloadsexplode = Carried Payloads Explode With The Unit rules.unitcap = Начальный лимит единиц rules.limitarea = Ограничить область карты rules.enemycorebuildradius = Радиус защиты враж. ядер:[lightgray] (блок.) diff --git a/core/assets/bundles/bundle_sr.properties b/core/assets/bundles/bundle_sr.properties index 588f323ef7..fac38a433f 100644 --- a/core/assets/bundles/bundle_sr.properties +++ b/core/assets/bundles/bundle_sr.properties @@ -985,17 +985,46 @@ stat.immunities = Imuniteti stat.healing = Popravlja ability.forcefield = Polje Sile +ability.forcefield.description = Projects a force shield that absorbs bullets ability.repairfield = Polje Popravke +ability.repairfield.description = Repairs nearby units ability.statusfield = Statusno Polje +ability.statusfield.description = Applies a status effect to nearby units ability.unitspawn = Fabrika +ability.unitspawn.description = Constructs units ability.shieldregenfield = Brzina Obnove Štita +ability.shieldregenfield.description = Regenerates shields of nearby units ability.movelightning = Munje Pri Kretanju +ability.movelightning.description = Releases lightning while moving +ability.armorplate = Armor Plate +ability.armorplate.description = Reduces damage taken while shooting ability.shieldarc = Elektrolučni Štit +ability.shieldarc.description = Projects a force shield in an arc that absorbs bullets ability.suppressionfield = Polje Prigušivanja Popravki +ability.suppressionfield.description = Stops nearby repair buildings ability.energyfield = Energetsko Polje -ability.energyfield.sametypehealmultiplier = [lightgray]Same Type Healing: [white]{0}% -ability.energyfield.maxtargets = [lightgray]Max Targets: [white]{0} +ability.energyfield.description = Zaps nearby enemies +ability.energyfield.healdescription = Zaps nearby enemies and heals allies ability.regen = Regeneration +ability.regen.description = Regenerates own health over time +ability.liquidregen = Liquid Absorption +ability.liquidregen.description = Absorbs liquid to heal itself +ability.spawndeath = Death Spawns +ability.spawndeath.description = Releases units on death +ability.liquidexplode = Death Spillage +ability.liquidexplode.description = Spills liquid on death +ability.stat.firingrate = [stat]{0}/sec[lightgray] firing rate +ability.stat.regen = [stat]{0}[lightgray] health/sec +ability.stat.shield = [stat]{0}[lightgray] shield +ability.stat.repairspeed = [stat]{0}/sec[lightgray] repair speed +ability.stat.slurpheal = [stat]{0}[lightgray] health/liquid unit +ability.stat.cooldown = [stat]{0} sec[lightgray] cooldown +ability.stat.maxtargets = [stat]{0}[lightgray] max targets +ability.stat.sametypehealmultiplier = [stat]{0}%[lightgray] same type repair amount +ability.stat.damagereduction = [stat]{0}%[lightgray] damage reduction +ability.stat.minspeed = [stat]{0} tiles/sec[lightgray] min speed +ability.stat.duration = [stat]{0} sec[lightgray] duration +ability.stat.buildtime = [stat]{0} sec[lightgray] build time bar.onlycoredeposit = Dozvoljeno Dostavljanje Samo Unutar Jezgra @@ -1298,6 +1327,7 @@ rules.unitdamagemultiplier = Unit Damage Multiplier rules.unitcrashdamagemultiplier = Unit Crash Damage Multiplier rules.solarmultiplier = Solar Power Multiplier rules.unitcapvariable = Jezgara Povećavaju Maksimalni Broj Jedinica +rules.unitpayloadsexplode = Carried Payloads Explode With The Unit rules.unitcap = Maksimalni Broj Jedinica (ne računajući jezgra) rules.limitarea = Ograniči Prostor Mape rules.enemycorebuildradius = Radius Neprijateljskog jezgra bez gradnje:[lightgray] (polja) diff --git a/core/assets/bundles/bundle_sv.properties b/core/assets/bundles/bundle_sv.properties index d20f0fd841..25e3813f40 100644 --- a/core/assets/bundles/bundle_sv.properties +++ b/core/assets/bundles/bundle_sv.properties @@ -972,17 +972,46 @@ stat.immunities = Immunities stat.healing = Healing ability.forcefield = Force Field +ability.forcefield.description = Projects a force shield that absorbs bullets ability.repairfield = Repair Field +ability.repairfield.description = Repairs nearby units ability.statusfield = Status Field +ability.statusfield.description = Applies a status effect to nearby units ability.unitspawn = Factory +ability.unitspawn.description = Constructs units ability.shieldregenfield = Shield Regen Field +ability.shieldregenfield.description = Regenerates shields of nearby units ability.movelightning = Movement Lightning +ability.movelightning.description = Releases lightning while moving +ability.armorplate = Armor Plate +ability.armorplate.description = Reduces damage taken while shooting ability.shieldarc = Shield Arc +ability.shieldarc.description = Projects a force shield in an arc that absorbs bullets ability.suppressionfield = Regen Suppression Field +ability.suppressionfield.description = Stops nearby repair buildings ability.energyfield = Energy Field -ability.energyfield.sametypehealmultiplier = [lightgray]Same Type Healing: [white]{0}% -ability.energyfield.maxtargets = [lightgray]Max Targets: [white]{0} +ability.energyfield.description = Zaps nearby enemies +ability.energyfield.healdescription = Zaps nearby enemies and heals allies ability.regen = Regeneration +ability.regen.description = Regenerates own health over time +ability.liquidregen = Liquid Absorption +ability.liquidregen.description = Absorbs liquid to heal itself +ability.spawndeath = Death Spawns +ability.spawndeath.description = Releases units on death +ability.liquidexplode = Death Spillage +ability.liquidexplode.description = Spills liquid on death +ability.stat.firingrate = [stat]{0}/sec[lightgray] firing rate +ability.stat.regen = [stat]{0}[lightgray] health/sec +ability.stat.shield = [stat]{0}[lightgray] shield +ability.stat.repairspeed = [stat]{0}/sec[lightgray] repair speed +ability.stat.slurpheal = [stat]{0}[lightgray] health/liquid unit +ability.stat.cooldown = [stat]{0} sec[lightgray] cooldown +ability.stat.maxtargets = [stat]{0}[lightgray] max targets +ability.stat.sametypehealmultiplier = [stat]{0}%[lightgray] same type repair amount +ability.stat.damagereduction = [stat]{0}%[lightgray] damage reduction +ability.stat.minspeed = [stat]{0} tiles/sec[lightgray] min speed +ability.stat.duration = [stat]{0} sec[lightgray] duration +ability.stat.buildtime = [stat]{0} sec[lightgray] build time bar.onlycoredeposit = Only Core Depositing Allowed @@ -1285,6 +1314,7 @@ rules.unitdamagemultiplier = Unit Damage Multiplier rules.unitcrashdamagemultiplier = Unit Crash Damage Multiplier rules.solarmultiplier = Solar Power Multiplier rules.unitcapvariable = Cores Contribute To Unit Cap +rules.unitpayloadsexplode = Carried Payloads Explode With The Unit rules.unitcap = Base Unit Cap rules.limitarea = Limit Map Area rules.enemycorebuildradius = Enemy Core No-Build Radius:[lightgray] (tiles) diff --git a/core/assets/bundles/bundle_th.properties b/core/assets/bundles/bundle_th.properties index 56c4c85f16..72356a9518 100644 --- a/core/assets/bundles/bundle_th.properties +++ b/core/assets/bundles/bundle_th.properties @@ -985,17 +985,46 @@ stat.immunities = ต่อต้านสถานะ stat.healing = การรักษา ability.forcefield = โล่พลังงาน +ability.forcefield.description = Projects a force shield that absorbs bullets ability.repairfield = สนามซ่อมแซม +ability.repairfield.description = Repairs nearby units ability.statusfield = สนามเอฟเฟกต์ +ability.statusfield.description = Applies a status effect to nearby units ability.unitspawn = โรงงานผลิต +ability.unitspawn.description = Constructs units ability.shieldregenfield = สนามรักษาโล่ +ability.shieldregenfield.description = Regenerates shields of nearby units ability.movelightning = ปล่อยสายฟ้าเมื่อเคลื่อนที่ +ability.movelightning.description = Releases lightning while moving +ability.armorplate = Armor Plate +ability.armorplate.description = Reduces damage taken while shooting ability.shieldarc = โล่พลังงานโค้ง +ability.shieldarc.description = Projects a force shield in an arc that absorbs bullets ability.suppressionfield = สนามระงับการฟื้นฟู +ability.suppressionfield.description = Stops nearby repair buildings ability.energyfield = สนามพลังงาน -ability.energyfield.sametypehealmultiplier = [lightgray]Same Type Healing: [white]{0}% -ability.energyfield.maxtargets = [lightgray]Max Targets: [white]{0} +ability.energyfield.description = Zaps nearby enemies +ability.energyfield.healdescription = Zaps nearby enemies and heals allies ability.regen = Regeneration +ability.regen.description = Regenerates own health over time +ability.liquidregen = Liquid Absorption +ability.liquidregen.description = Absorbs liquid to heal itself +ability.spawndeath = Death Spawns +ability.spawndeath.description = Releases units on death +ability.liquidexplode = Death Spillage +ability.liquidexplode.description = Spills liquid on death +ability.stat.firingrate = [stat]{0}/sec[lightgray] firing rate +ability.stat.regen = [stat]{0}[lightgray] health/sec +ability.stat.shield = [stat]{0}[lightgray] shield +ability.stat.repairspeed = [stat]{0}/sec[lightgray] repair speed +ability.stat.slurpheal = [stat]{0}[lightgray] health/liquid unit +ability.stat.cooldown = [stat]{0} sec[lightgray] cooldown +ability.stat.maxtargets = [stat]{0}[lightgray] max targets +ability.stat.sametypehealmultiplier = [stat]{0}%[lightgray] same type repair amount +ability.stat.damagereduction = [stat]{0}%[lightgray] damage reduction +ability.stat.minspeed = [stat]{0} tiles/sec[lightgray] min speed +ability.stat.duration = [stat]{0} sec[lightgray] duration +ability.stat.buildtime = [stat]{0} sec[lightgray] build time bar.onlycoredeposit = ขนย้ายทรัพยากรลงแกนกลางได้เท่านั้น bar.drilltierreq = ต้องมีเครื่องขุดที่ดีกว่านี้ @@ -1297,6 +1326,7 @@ rules.unitdamagemultiplier = พหุคูณพลังโจมตีขอ rules.unitcrashdamagemultiplier = พหูคูณดาเมจการตกของยานยูนิต rules.solarmultiplier = พหูคุณพลังงานแสงอาทิตย์ rules.unitcapvariable = เพิ่มจำนวนยูนิตสูงสุดต่อแกนกลาง +rules.unitpayloadsexplode = Carried Payloads Explode With The Unit rules.unitcap = ขีดกำจัดยูนิตสูงสุดพื้นฐาน rules.limitarea = จำกัดพื้นที่แมพ rules.enemycorebuildradius = รัศมีห้ามสร้างบริเวณแกนกลางของศัตรู:[lightgray] (ช่อง) diff --git a/core/assets/bundles/bundle_tk.properties b/core/assets/bundles/bundle_tk.properties index 36106ee582..7231208b63 100644 --- a/core/assets/bundles/bundle_tk.properties +++ b/core/assets/bundles/bundle_tk.properties @@ -972,17 +972,46 @@ stat.immunities = Immunities stat.healing = Healing ability.forcefield = Force Field +ability.forcefield.description = Projects a force shield that absorbs bullets ability.repairfield = Repair Field +ability.repairfield.description = Repairs nearby units ability.statusfield = Status Field +ability.statusfield.description = Applies a status effect to nearby units ability.unitspawn = Factory +ability.unitspawn.description = Constructs units ability.shieldregenfield = Shield Regen Field +ability.shieldregenfield.description = Regenerates shields of nearby units ability.movelightning = Movement Lightning +ability.movelightning.description = Releases lightning while moving +ability.armorplate = Armor Plate +ability.armorplate.description = Reduces damage taken while shooting ability.shieldarc = Shield Arc +ability.shieldarc.description = Projects a force shield in an arc that absorbs bullets ability.suppressionfield = Regen Suppression Field +ability.suppressionfield.description = Stops nearby repair buildings ability.energyfield = Energy Field -ability.energyfield.sametypehealmultiplier = [lightgray]Same Type Healing: [white]{0}% -ability.energyfield.maxtargets = [lightgray]Max Targets: [white]{0} +ability.energyfield.description = Zaps nearby enemies +ability.energyfield.healdescription = Zaps nearby enemies and heals allies ability.regen = Regeneration +ability.regen.description = Regenerates own health over time +ability.liquidregen = Liquid Absorption +ability.liquidregen.description = Absorbs liquid to heal itself +ability.spawndeath = Death Spawns +ability.spawndeath.description = Releases units on death +ability.liquidexplode = Death Spillage +ability.liquidexplode.description = Spills liquid on death +ability.stat.firingrate = [stat]{0}/sec[lightgray] firing rate +ability.stat.regen = [stat]{0}[lightgray] health/sec +ability.stat.shield = [stat]{0}[lightgray] shield +ability.stat.repairspeed = [stat]{0}/sec[lightgray] repair speed +ability.stat.slurpheal = [stat]{0}[lightgray] health/liquid unit +ability.stat.cooldown = [stat]{0} sec[lightgray] cooldown +ability.stat.maxtargets = [stat]{0}[lightgray] max targets +ability.stat.sametypehealmultiplier = [stat]{0}%[lightgray] same type repair amount +ability.stat.damagereduction = [stat]{0}%[lightgray] damage reduction +ability.stat.minspeed = [stat]{0} tiles/sec[lightgray] min speed +ability.stat.duration = [stat]{0} sec[lightgray] duration +ability.stat.buildtime = [stat]{0} sec[lightgray] build time bar.onlycoredeposit = Only Core Depositing Allowed @@ -1285,6 +1314,7 @@ rules.unitdamagemultiplier = Unit Damage Multiplier rules.unitcrashdamagemultiplier = Unit Crash Damage Multiplier rules.solarmultiplier = Solar Power Multiplier rules.unitcapvariable = Cores Contribute To Unit Cap +rules.unitpayloadsexplode = Carried Payloads Explode With The Unit rules.unitcap = Base Unit Cap rules.limitarea = Limit Map Area rules.enemycorebuildradius = Enemy Core No-Build Radius:[lightgray] (tiles) diff --git a/core/assets/bundles/bundle_tr.properties b/core/assets/bundles/bundle_tr.properties index 9eca8e0bea..e7c192a09e 100644 --- a/core/assets/bundles/bundle_tr.properties +++ b/core/assets/bundles/bundle_tr.properties @@ -982,17 +982,46 @@ stat.immunities = Bağışıklıklar stat.healing = Tamir Eder ability.forcefield = Güç Kalkanı +ability.forcefield.description = Projects a force shield that absorbs bullets ability.repairfield = Onarma Alanı +ability.repairfield.description = Repairs nearby units ability.statusfield = Hızlandırma Alanı +ability.statusfield.description = Applies a status effect to nearby units ability.unitspawn = Birliği Fabrikası +ability.unitspawn.description = Constructs units ability.shieldregenfield = Kalkan Yenileme Alanı +ability.shieldregenfield.description = Regenerates shields of nearby units ability.movelightning = Hareket Enerjisi +ability.movelightning.description = Releases lightning while moving +ability.armorplate = Armor Plate +ability.armorplate.description = Reduces damage taken while shooting ability.shieldarc = Ark Kalkanı +ability.shieldarc.description = Projects a force shield in an arc that absorbs bullets ability.suppressionfield = Tamir Engelleme Alanı +ability.suppressionfield.description = Stops nearby repair buildings ability.energyfield = Güç Kalkanı -ability.energyfield.sametypehealmultiplier = [lightgray]Aynı Türden İyileştirme: [white]{0}% -ability.energyfield.maxtargets = [lightgray]Azami Hedefler: [white]{0} +ability.energyfield.description = Zaps nearby enemies +ability.energyfield.healdescription = Zaps nearby enemies and heals allies ability.regen = Yenilenme +ability.regen.description = Regenerates own health over time +ability.liquidregen = Liquid Absorption +ability.liquidregen.description = Absorbs liquid to heal itself +ability.spawndeath = Death Spawns +ability.spawndeath.description = Releases units on death +ability.liquidexplode = Death Spillage +ability.liquidexplode.description = Spills liquid on death +ability.stat.firingrate = [stat]{0}/sec[lightgray] firing rate +ability.stat.regen = [stat]{0}[lightgray] health/sec +ability.stat.shield = [stat]{0}[lightgray] shield +ability.stat.repairspeed = [stat]{0}/sec[lightgray] repair speed +ability.stat.slurpheal = [stat]{0}[lightgray] health/liquid unit +ability.stat.cooldown = [stat]{0} sec[lightgray] cooldown +ability.stat.maxtargets = [stat]{0}[lightgray] max targets +ability.stat.sametypehealmultiplier = [stat]{0}%[lightgray] same type repair amount +ability.stat.damagereduction = [stat]{0}%[lightgray] damage reduction +ability.stat.minspeed = [stat]{0} tiles/sec[lightgray] min speed +ability.stat.duration = [stat]{0} sec[lightgray] duration +ability.stat.buildtime = [stat]{0} sec[lightgray] build time bar.onlycoredeposit = Sadece Merkeze Aktarım Mümkün bar.drilltierreq = Daha Güçlü Matkap Gerekli @@ -1294,6 +1323,7 @@ rules.unitdamagemultiplier = Birim Hasar Çapanı rules.unitcrashdamagemultiplier = Birim Çakılma Hasar Çarpanı rules.solarmultiplier = Güneş Paneli Üretim Çarpanı rules.unitcapvariable = Merkezler Birim Sınırını Etkiler +rules.unitpayloadsexplode = Carried Payloads Explode With The Unit rules.unitcap = Sabit Birim Sınırı rules.limitarea = Haritayı Sınırla rules.enemycorebuildradius = Düşman Merkezi İnşa Yasağı Yarıçapı: [lightgray](kare) diff --git a/core/assets/bundles/bundle_uk_UA.properties b/core/assets/bundles/bundle_uk_UA.properties index a6b59822ba..f640333cb5 100644 --- a/core/assets/bundles/bundle_uk_UA.properties +++ b/core/assets/bundles/bundle_uk_UA.properties @@ -993,17 +993,46 @@ stat.immunities = Імунітети stat.healing = Відновлювання ability.forcefield = Щитове поле +ability.forcefield.description = Projects a force shield that absorbs bullets ability.repairfield = Ремонтувальне поле +ability.repairfield.description = Repairs nearby units ability.statusfield = Поле підсилення +ability.statusfield.description = Applies a status effect to nearby units ability.unitspawn = Завод одиниць � +ability.unitspawn.description = Constructs units ability.shieldregenfield = Щитовідновлювальне поле +ability.shieldregenfield.description = Regenerates shields of nearby units ability.movelightning = Блискавки під час руху +ability.movelightning.description = Releases lightning while moving +ability.armorplate = Armor Plate +ability.armorplate.description = Reduces damage taken while shooting ability.shieldarc = Щитова дуга +ability.shieldarc.description = Projects a force shield in an arc that absorbs bullets ability.suppressionfield = Поле пригнічення відновлення +ability.suppressionfield.description = Stops nearby repair buildings ability.energyfield = Енергетичне поле -ability.energyfield.sametypehealmultiplier = [lightgray]Same Type Healing: [white]{0}% -ability.energyfield.maxtargets = [lightgray]Max Targets: [white]{0} +ability.energyfield.description = Zaps nearby enemies +ability.energyfield.healdescription = Zaps nearby enemies and heals allies ability.regen = Regeneration +ability.regen.description = Regenerates own health over time +ability.liquidregen = Liquid Absorption +ability.liquidregen.description = Absorbs liquid to heal itself +ability.spawndeath = Death Spawns +ability.spawndeath.description = Releases units on death +ability.liquidexplode = Death Spillage +ability.liquidexplode.description = Spills liquid on death +ability.stat.firingrate = [stat]{0}/sec[lightgray] firing rate +ability.stat.regen = [stat]{0}[lightgray] health/sec +ability.stat.shield = [stat]{0}[lightgray] shield +ability.stat.repairspeed = [stat]{0}/sec[lightgray] repair speed +ability.stat.slurpheal = [stat]{0}[lightgray] health/liquid unit +ability.stat.cooldown = [stat]{0} sec[lightgray] cooldown +ability.stat.maxtargets = [stat]{0}[lightgray] max targets +ability.stat.sametypehealmultiplier = [stat]{0}%[lightgray] same type repair amount +ability.stat.damagereduction = [stat]{0}%[lightgray] damage reduction +ability.stat.minspeed = [stat]{0} tiles/sec[lightgray] min speed +ability.stat.duration = [stat]{0} sec[lightgray] duration +ability.stat.buildtime = [stat]{0} sec[lightgray] build time bar.onlycoredeposit = Передача предметів дозволена лише до ядра bar.drilltierreq = Потрібен ліпший бур @@ -1305,6 +1334,7 @@ rules.unitdamagemultiplier = Множник шкоди бойових одини rules.unitcrashdamagemultiplier = Множник шкоди одиниці при зіткненні одиниць rules.solarmultiplier = Множник сонячної енергії rules.unitcapvariable = Ядра збільшують обмеження на кількість одиниць +rules.unitpayloadsexplode = Carried Payloads Explode With The Unit rules.unitcap = Початкове обмеження одиниць rules.limitarea = Обмежити територію мапи rules.enemycorebuildradius = Радіус оборони для ворожого ядра:[lightgray] (плитки) diff --git a/core/assets/bundles/bundle_vi.properties b/core/assets/bundles/bundle_vi.properties index a8c7a612ae..cb1a9d8886 100644 --- a/core/assets/bundles/bundle_vi.properties +++ b/core/assets/bundles/bundle_vi.properties @@ -986,17 +986,46 @@ stat.immunities = Miễn nhiễm stat.healing = Sửa chữa ability.forcefield = Tạo khiên +ability.forcefield.description = Projects a force shield that absorbs bullets ability.repairfield = Sửa chữa/Xây dựng +ability.repairfield.description = Repairs nearby units ability.statusfield = Vùng gia tốc +ability.statusfield.description = Applies a status effect to nearby units ability.unitspawn = Sản xuất +ability.unitspawn.description = Constructs units ability.shieldregenfield = Tạo khiên nhỏ +ability.shieldregenfield.description = Regenerates shields of nearby units ability.movelightning = Phóng điện khi di chuyển +ability.movelightning.description = Releases lightning while moving +ability.armorplate = Armor Plate +ability.armorplate.description = Reduces damage taken while shooting ability.shieldarc = Khiên Vòng Cung +ability.shieldarc.description = Projects a force shield in an arc that absorbs bullets ability.suppressionfield = Trường sửa chữa +ability.suppressionfield.description = Stops nearby repair buildings ability.energyfield = Trường điện từ -ability.energyfield.sametypehealmultiplier = [lightgray]Same Type Healing: [white]{0}% -ability.energyfield.maxtargets = [lightgray]Max Targets: [white]{0} +ability.energyfield.description = Zaps nearby enemies +ability.energyfield.healdescription = Zaps nearby enemies and heals allies ability.regen = Regeneration +ability.regen.description = Regenerates own health over time +ability.liquidregen = Liquid Absorption +ability.liquidregen.description = Absorbs liquid to heal itself +ability.spawndeath = Death Spawns +ability.spawndeath.description = Releases units on death +ability.liquidexplode = Death Spillage +ability.liquidexplode.description = Spills liquid on death +ability.stat.firingrate = [stat]{0}/sec[lightgray] firing rate +ability.stat.regen = [stat]{0}[lightgray] health/sec +ability.stat.shield = [stat]{0}[lightgray] shield +ability.stat.repairspeed = [stat]{0}/sec[lightgray] repair speed +ability.stat.slurpheal = [stat]{0}[lightgray] health/liquid unit +ability.stat.cooldown = [stat]{0} sec[lightgray] cooldown +ability.stat.maxtargets = [stat]{0}[lightgray] max targets +ability.stat.sametypehealmultiplier = [stat]{0}%[lightgray] same type repair amount +ability.stat.damagereduction = [stat]{0}%[lightgray] damage reduction +ability.stat.minspeed = [stat]{0} tiles/sec[lightgray] min speed +ability.stat.duration = [stat]{0} sec[lightgray] duration +ability.stat.buildtime = [stat]{0} sec[lightgray] build time bar.onlycoredeposit = Chỉ có thể đưa vào căn cứ bar.drilltierreq = Cần máy khoan tốt hơn @@ -1298,6 +1327,7 @@ rules.unitdamagemultiplier = Hệ số sát thương của đơn vị rules.unitcrashdamagemultiplier = Hệ số sát thương của đơn vị khi bị bắn rơi rules.solarmultiplier = Hệ số năng lượng mặt trời rules.unitcapvariable = Căn cứ tăng giới hạn đơn vị +rules.unitpayloadsexplode = Carried Payloads Explode With The Unit rules.unitcap = Giới hạn đơn vị rules.limitarea = Giới hạn kích thước bản đồ rules.enemycorebuildradius = Bán kính không xây dựng trong căn cứ của kẻ địch:[lightgray] (ô) diff --git a/core/assets/bundles/bundle_zh_CN.properties b/core/assets/bundles/bundle_zh_CN.properties index 4b4b1ab1ae..0337770822 100644 --- a/core/assets/bundles/bundle_zh_CN.properties +++ b/core/assets/bundles/bundle_zh_CN.properties @@ -994,17 +994,46 @@ stat.immunities = 免疫 stat.healing = 治疗 ability.forcefield = 力墙场 +ability.forcefield.description = Projects a force shield that absorbs bullets ability.repairfield = 修复场 +ability.repairfield.description = Repairs nearby units ability.statusfield = 状态场 +ability.statusfield.description = Applies a status effect to nearby units ability.unitspawn = 单位工厂 +ability.unitspawn.description = Constructs units ability.shieldregenfield = 护盾再生场 +ability.shieldregenfield.description = Regenerates shields of nearby units ability.movelightning = 闪电助推器 +ability.movelightning.description = Releases lightning while moving +ability.armorplate = Armor Plate +ability.armorplate.description = Reduces damage taken while shooting ability.shieldarc = 弧形护盾 +ability.shieldarc.description = Projects a force shield in an arc that absorbs bullets ability.suppressionfield = 修复压制场 +ability.suppressionfield.description = Stops nearby repair buildings ability.energyfield = 能量场: -ability.energyfield.sametypehealmultiplier = [lightgray]Same Type Healing: [white]{0}% -ability.energyfield.maxtargets = [lightgray]Max Targets: [white]{0} +ability.energyfield.description = Zaps nearby enemies +ability.energyfield.healdescription = Zaps nearby enemies and heals allies ability.regen = Regeneration +ability.regen.description = Regenerates own health over time +ability.liquidregen = Liquid Absorption +ability.liquidregen.description = Absorbs liquid to heal itself +ability.spawndeath = Death Spawns +ability.spawndeath.description = Releases units on death +ability.liquidexplode = Death Spillage +ability.liquidexplode.description = Spills liquid on death +ability.stat.firingrate = [stat]{0}/sec[lightgray] firing rate +ability.stat.regen = [stat]{0}[lightgray] health/sec +ability.stat.shield = [stat]{0}[lightgray] shield +ability.stat.repairspeed = [stat]{0}/sec[lightgray] repair speed +ability.stat.slurpheal = [stat]{0}[lightgray] health/liquid unit +ability.stat.cooldown = [stat]{0} sec[lightgray] cooldown +ability.stat.maxtargets = [stat]{0}[lightgray] max targets +ability.stat.sametypehealmultiplier = [stat]{0}%[lightgray] same type repair amount +ability.stat.damagereduction = [stat]{0}%[lightgray] damage reduction +ability.stat.minspeed = [stat]{0} tiles/sec[lightgray] min speed +ability.stat.duration = [stat]{0} sec[lightgray] duration +ability.stat.buildtime = [stat]{0} sec[lightgray] build time bar.onlycoredeposit = 仅核心可丢入资源 bar.drilltierreq = 需要更高级的钻头 @@ -1306,6 +1335,7 @@ rules.unitdamagemultiplier = 单位伤害倍率 rules.unitcrashdamagemultiplier = Unit Crash Damage Multiplier rules.solarmultiplier = 太阳能发电倍率 rules.unitcapvariable = 核心可增加单位上限 +rules.unitpayloadsexplode = Carried Payloads Explode With The Unit rules.unitcap = 基础单位上限 rules.limitarea = 限制地图有效区域 rules.enemycorebuildradius = 敌方核心不可建造区域半径:[lightgray](格) diff --git a/core/assets/bundles/bundle_zh_TW.properties b/core/assets/bundles/bundle_zh_TW.properties index 93e43f4741..7fcd78b424 100644 --- a/core/assets/bundles/bundle_zh_TW.properties +++ b/core/assets/bundles/bundle_zh_TW.properties @@ -990,17 +990,46 @@ stat.immunities = Immunities stat.healing = 治癒 ability.forcefield = 防護罩 +ability.forcefield.description = Projects a force shield that absorbs bullets ability.repairfield = 維修力場 +ability.repairfield.description = Repairs nearby units ability.statusfield = 狀態力場 +ability.statusfield.description = Applies a status effect to nearby units ability.unitspawn = 工廠 +ability.unitspawn.description = Constructs units ability.shieldregenfield = 護盾充能力場 +ability.shieldregenfield.description = Regenerates shields of nearby units ability.movelightning = 移動閃電 +ability.movelightning.description = Releases lightning while moving +ability.armorplate = Armor Plate +ability.armorplate.description = Reduces damage taken while shooting ability.shieldarc = Shield Arc +ability.shieldarc.description = Projects a force shield in an arc that absorbs bullets ability.suppressionfield = Regen Suppression Field +ability.suppressionfield.description = Stops nearby repair buildings ability.energyfield = 能量場: -ability.energyfield.sametypehealmultiplier = [lightgray]Same Type Healing: [white]{0}% -ability.energyfield.maxtargets = [lightgray]Max Targets: [white]{0} +ability.energyfield.description = Zaps nearby enemies +ability.energyfield.healdescription = Zaps nearby enemies and heals allies ability.regen = Regeneration +ability.regen.description = Regenerates own health over time +ability.liquidregen = Liquid Absorption +ability.liquidregen.description = Absorbs liquid to heal itself +ability.spawndeath = Death Spawns +ability.spawndeath.description = Releases units on death +ability.liquidexplode = Death Spillage +ability.liquidexplode.description = Spills liquid on death +ability.stat.firingrate = [stat]{0}/sec[lightgray] firing rate +ability.stat.regen = [stat]{0}[lightgray] health/sec +ability.stat.shield = [stat]{0}[lightgray] shield +ability.stat.repairspeed = [stat]{0}/sec[lightgray] repair speed +ability.stat.slurpheal = [stat]{0}[lightgray] health/liquid unit +ability.stat.cooldown = [stat]{0} sec[lightgray] cooldown +ability.stat.maxtargets = [stat]{0}[lightgray] max targets +ability.stat.sametypehealmultiplier = [stat]{0}%[lightgray] same type repair amount +ability.stat.damagereduction = [stat]{0}%[lightgray] damage reduction +ability.stat.minspeed = [stat]{0} tiles/sec[lightgray] min speed +ability.stat.duration = [stat]{0} sec[lightgray] duration +ability.stat.buildtime = [stat]{0} sec[lightgray] build time bar.onlycoredeposit = 僅允許向核心放置物品 bar.drilltierreq = 需要更好的鑽頭 @@ -1302,6 +1331,7 @@ rules.unitdamagemultiplier = 單位傷害加成 rules.unitcrashdamagemultiplier = Unit Crash Damage Multiplier rules.solarmultiplier = 太陽能電加成 rules.unitcapvariable = 核心限制單位上限 +rules.unitpayloadsexplode = Carried Payloads Explode With The Unit rules.unitcap = 基礎單位上限 rules.limitarea = 限制地圖區域 rules.enemycorebuildradius = 敵人核心禁止建設半徑︰[lightgray](格) From d4abcc91efb981411a736c6a658268645e6d0c4d Mon Sep 17 00:00:00 2001 From: Anuken Date: Sat, 30 Mar 2024 09:53:08 -0400 Subject: [PATCH 45/89] Removed unit formation minSpeed --- core/src/mindustry/ai/UnitGroup.java | 20 -------------------- core/src/mindustry/ai/types/CommandAI.java | 9 --------- core/src/mindustry/input/InputHandler.java | 8 -------- gradle.properties | 2 +- 4 files changed, 1 insertion(+), 38 deletions(-) diff --git a/core/src/mindustry/ai/UnitGroup.java b/core/src/mindustry/ai/UnitGroup.java index 2721c07d55..c712885846 100644 --- a/core/src/mindustry/ai/UnitGroup.java +++ b/core/src/mindustry/ai/UnitGroup.java @@ -12,30 +12,12 @@ import mindustry.async.*; import mindustry.content.*; import mindustry.core.*; import mindustry.gen.*; -import mindustry.world.blocks.environment.*; public class UnitGroup{ public Seq units = new Seq<>(); public int collisionLayer; public volatile float[] positions, originalPositions; public volatile boolean valid; - public long lastSpeedUpdate = -1; - public float minSpeed = 999999f; - - public void updateMinSpeed(){ - if(lastSpeedUpdate == Vars.state.updateId) return; - - lastSpeedUpdate = Vars.state.updateId; - minSpeed = 999999f; - - for(Unit unit : units){ - //don't factor in the floor speed multiplier - Floor on = unit.isFlying() ? Blocks.air.asFloor() : unit.floorOn(); - minSpeed = Math.min(unit.speed() / on.speedMultiplier, minSpeed); - } - - if(Float.isInfinite(minSpeed) || Float.isNaN(minSpeed)) minSpeed = 999999f; - } public void calculateFormation(Vec2 dest, int collisionLayer){ this.collisionLayer = collisionLayer; @@ -58,8 +40,6 @@ public class UnitGroup{ unit.command().groupIndex = i; } - updateMinSpeed(); - //run on new thread to prevent stutter Vars.mainExecutor.submit(() -> { //unused space between circles that needs to be reached for compression to end diff --git a/core/src/mindustry/ai/types/CommandAI.java b/core/src/mindustry/ai/types/CommandAI.java index 692aff98c8..1fc6a83a8d 100644 --- a/core/src/mindustry/ai/types/CommandAI.java +++ b/core/src/mindustry/ai/types/CommandAI.java @@ -148,10 +148,6 @@ public class CommandAI extends AIController{ } } - if(group != null){ - group.updateMinSpeed(); - } - if(!net.client() && command == UnitCommand.enterPayloadCommand && unit.buildOn() != null && (targetPos == null || (world.buildWorld(targetPos.x, targetPos.y) != null && world.buildWorld(targetPos.x, targetPos.y) == unit.buildOn()))){ var build = unit.buildOn(); tmpPayload.unit = unit; @@ -363,11 +359,6 @@ public class CommandAI extends AIController{ } } - @Override - public float prefSpeed(){ - return group == null ? super.prefSpeed() : Math.min(group.minSpeed, unit.speed()); - } - @Override public boolean shouldFire(){ return stance != UnitStance.holdFire; diff --git a/core/src/mindustry/input/InputHandler.java b/core/src/mindustry/input/InputHandler.java index 77fa4e668c..e4ba051bac 100644 --- a/core/src/mindustry/input/InputHandler.java +++ b/core/src/mindustry/input/InputHandler.java @@ -311,18 +311,10 @@ public abstract class InputHandler implements InputProcessor, GestureListener{ } } - float minSpeed = 100000000f; for(int i = 0; i < groups.length; i ++){ var group = groups[i]; if(group != null && group.units.size > 0){ group.calculateFormation(targetAsVec, i); - minSpeed = Math.min(group.minSpeed, minSpeed); - } - } - - for(var group : groups){ - if(group != null){ - group.minSpeed = minSpeed; } } } diff --git a/gradle.properties b/gradle.properties index 50034acf47..1733b891ba 100644 --- a/gradle.properties +++ b/gradle.properties @@ -25,4 +25,4 @@ org.gradle.caching=true #used for slow jitpack builds; TODO see if this actually works org.gradle.internal.http.socketTimeout=100000 org.gradle.internal.http.connectionTimeout=100000 -archash=8d5651a6ad +archash=e312cc96f5 From a8588c38b404d9067148efa176aa792bffafb8cd Mon Sep 17 00:00:00 2001 From: Anuken Date: Sat, 30 Mar 2024 14:22:22 -0400 Subject: [PATCH 46/89] Fixed #9687 --- core/assets/bundles/bundle.properties | 2 +- core/src/mindustry/logic/LStatements.java | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/core/assets/bundles/bundle.properties b/core/assets/bundles/bundle.properties index 94d1e5d086..239a70034a 100644 --- a/core/assets/bundles/bundle.properties +++ b/core/assets/bundles/bundle.properties @@ -2346,7 +2346,7 @@ lst.getblock = Get tile data at any location. lst.setblock = Set tile data at any location. lst.spawnunit = Spawn unit at a location. lst.applystatus = Apply or clear a status effect from a unit. -lst.weathersensor = Check if a type of weather is active. +lst.weathersense = Check if a type of weather is active. lst.weatherset = Set the current state of a type of weather. lst.spawnwave = Spawn a wave. lst.explosion = Create an explosion at a location. diff --git a/core/src/mindustry/logic/LStatements.java b/core/src/mindustry/logic/LStatements.java index e04293a8e7..29dde175b5 100644 --- a/core/src/mindustry/logic/LStatements.java +++ b/core/src/mindustry/logic/LStatements.java @@ -1380,7 +1380,7 @@ public class LStatements{ } } - @RegisterStatement("weathersensor") + @RegisterStatement("weathersense") public static class WeatherSenseStatement extends LStatement{ public String to = "result"; public String weather = "@rain"; From ba1cacb55f6042cbe1fc73476808fa74ce713e95 Mon Sep 17 00:00:00 2001 From: Github Actions Date: Sat, 30 Mar 2024 18:23:20 +0000 Subject: [PATCH 47/89] Automatic bundle update --- core/assets/bundles/bundle_be.properties | 2 +- core/assets/bundles/bundle_bg.properties | 2 +- core/assets/bundles/bundle_ca.properties | 2 +- core/assets/bundles/bundle_cs.properties | 2 +- core/assets/bundles/bundle_da.properties | 2 +- core/assets/bundles/bundle_de.properties | 2 +- core/assets/bundles/bundle_es.properties | 2 +- core/assets/bundles/bundle_et.properties | 2 +- core/assets/bundles/bundle_eu.properties | 2 +- core/assets/bundles/bundle_fi.properties | 2 +- core/assets/bundles/bundle_fil.properties | 2 +- core/assets/bundles/bundle_fr.properties | 2 +- core/assets/bundles/bundle_hu.properties | 2 +- core/assets/bundles/bundle_id_ID.properties | 2 +- core/assets/bundles/bundle_it.properties | 2 +- core/assets/bundles/bundle_ja.properties | 2 +- core/assets/bundles/bundle_ko.properties | 2 +- core/assets/bundles/bundle_lt.properties | 2 +- core/assets/bundles/bundle_nl.properties | 2 +- core/assets/bundles/bundle_nl_BE.properties | 2 +- core/assets/bundles/bundle_pl.properties | 2 +- core/assets/bundles/bundle_pt_BR.properties | 2 +- core/assets/bundles/bundle_pt_PT.properties | 2 +- core/assets/bundles/bundle_ro.properties | 2 +- core/assets/bundles/bundle_ru.properties | 2 +- core/assets/bundles/bundle_sr.properties | 2 +- core/assets/bundles/bundle_sv.properties | 2 +- core/assets/bundles/bundle_th.properties | 2 +- core/assets/bundles/bundle_tk.properties | 2 +- core/assets/bundles/bundle_tr.properties | 2 +- core/assets/bundles/bundle_uk_UA.properties | 2 +- core/assets/bundles/bundle_vi.properties | 2 +- core/assets/bundles/bundle_zh_CN.properties | 2 +- core/assets/bundles/bundle_zh_TW.properties | 2 +- 34 files changed, 34 insertions(+), 34 deletions(-) diff --git a/core/assets/bundles/bundle_be.properties b/core/assets/bundles/bundle_be.properties index 1ff2a88c87..28be5a9d62 100644 --- a/core/assets/bundles/bundle_be.properties +++ b/core/assets/bundles/bundle_be.properties @@ -2294,7 +2294,7 @@ lst.getblock = Get tile data at any location. lst.setblock = Set tile data at any location. lst.spawnunit = Spawn unit at a location. lst.applystatus = Apply or clear a status effect from a uniut. -lst.weathersensor = Check if a type of weather is active. +lst.weathersense = Check if a type of weather is active. lst.weatherset = Set the current state of a type of weather. lst.spawnwave = Simulate a wave being spawned at a arbitrary location.\nWill not increment the wave counter. lst.explosion = Create an explosion at a location. diff --git a/core/assets/bundles/bundle_bg.properties b/core/assets/bundles/bundle_bg.properties index ff6ddd795c..7c6656a87e 100644 --- a/core/assets/bundles/bundle_bg.properties +++ b/core/assets/bundles/bundle_bg.properties @@ -2308,7 +2308,7 @@ lst.getblock = Get tile data at any location. lst.setblock = Set tile data at any location. lst.spawnunit = Spawn unit at a location. lst.applystatus = Apply or clear a status effect from a uniut. -lst.weathersensor = Check if a type of weather is active. +lst.weathersense = Check if a type of weather is active. lst.weatherset = Set the current state of a type of weather. lst.spawnwave = Simulate a wave being spawned at a arbitrary location.\nWill not increment the wave counter. lst.explosion = Create an explosion at a location. diff --git a/core/assets/bundles/bundle_ca.properties b/core/assets/bundles/bundle_ca.properties index a889b32ffb..6e373a2606 100644 --- a/core/assets/bundles/bundle_ca.properties +++ b/core/assets/bundles/bundle_ca.properties @@ -2318,7 +2318,7 @@ lst.getblock = Obtén les dades d’un bloc en qualsevol posició. lst.setblock = Estableix les dades d’un bloc en qualsevol posició. lst.spawnunit = Fes aparèixer una unitat en una posició. lst.applystatus = Aplica o esborra un efecte d’estat d’una unitat. -lst.weathersensor = Check if a type of weather is active. +lst.weathersense = Check if a type of weather is active. lst.weatherset = Set the current state of a type of weather. lst.spawnwave = Simula l’aparició d’una onada enemiga en una posició arbitrària.\nEl comptador d’onades no s’incrementarà. lst.explosion = Crea una explosió en una posició. diff --git a/core/assets/bundles/bundle_cs.properties b/core/assets/bundles/bundle_cs.properties index 34ac915c51..a44a8cea4c 100644 --- a/core/assets/bundles/bundle_cs.properties +++ b/core/assets/bundles/bundle_cs.properties @@ -2313,7 +2313,7 @@ lst.getblock = Get tile data at any location. lst.setblock = Set tile data at any location. lst.spawnunit = Spawn unit at a location. lst.applystatus = Apply or clear a status effect from a uniut. -lst.weathersensor = Check if a type of weather is active. +lst.weathersense = Check if a type of weather is active. lst.weatherset = Set the current state of a type of weather. lst.spawnwave = Simulate a wave being spawned at a arbitrary location.\nWill not increment the wave counter. lst.explosion = Create an explosion at a location. diff --git a/core/assets/bundles/bundle_da.properties b/core/assets/bundles/bundle_da.properties index f0bf3f405b..ba68c6cb22 100644 --- a/core/assets/bundles/bundle_da.properties +++ b/core/assets/bundles/bundle_da.properties @@ -2294,7 +2294,7 @@ lst.getblock = Get tile data at any location. lst.setblock = Set tile data at any location. lst.spawnunit = Spawn unit at a location. lst.applystatus = Apply or clear a status effect from a uniut. -lst.weathersensor = Check if a type of weather is active. +lst.weathersense = Check if a type of weather is active. lst.weatherset = Set the current state of a type of weather. lst.spawnwave = Simulate a wave being spawned at a arbitrary location.\nWill not increment the wave counter. lst.explosion = Create an explosion at a location. diff --git a/core/assets/bundles/bundle_de.properties b/core/assets/bundles/bundle_de.properties index 7ec71b9203..ad2c09c8f7 100644 --- a/core/assets/bundles/bundle_de.properties +++ b/core/assets/bundles/bundle_de.properties @@ -2343,7 +2343,7 @@ lst.getblock = Lese Tile-Daten von jedem Standort. lst.setblock = Setze Tile-Daten an jedem Standort. lst.spawnunit = Einheit an einem Standort erstellen. lst.applystatus = Füge einer Einheit einen Effekt hinzu oder entferne ihn. -lst.weathersensor = Check if a type of weather is active. +lst.weathersense = Check if a type of weather is active. lst.weatherset = Set the current state of a type of weather. lst.spawnwave = Schickt die nächste Welle. lst.explosion = Erstellt an einer beliebigen Stelle eine Explosion. diff --git a/core/assets/bundles/bundle_es.properties b/core/assets/bundles/bundle_es.properties index e4b1770621..37aaf8fa5c 100644 --- a/core/assets/bundles/bundle_es.properties +++ b/core/assets/bundles/bundle_es.properties @@ -2336,7 +2336,7 @@ lst.getblock = Obtiene los datos de un bloque en cualquier lugar. lst.setblock = Cambia los datos de un bloque en cualquier lugar. lst.spawnunit = Crea una unidad en una localización. lst.applystatus = Aplica o elimina un efecto de alteración de estado a una unidad. -lst.weathersensor = Check if a type of weather is active. +lst.weathersense = Check if a type of weather is active. lst.weatherset = Set the current state of a type of weather. lst.spawnwave = Simula la aparición de una oleada de enemigos en una localización arbitraria.\nNo incrementará el contador de oleadas. lst.explosion = Crea una explosión en una localización. diff --git a/core/assets/bundles/bundle_et.properties b/core/assets/bundles/bundle_et.properties index 395e330d14..cf46c49acf 100644 --- a/core/assets/bundles/bundle_et.properties +++ b/core/assets/bundles/bundle_et.properties @@ -2296,7 +2296,7 @@ lst.getblock = Get tile data at any location. lst.setblock = Set tile data at any location. lst.spawnunit = Spawn unit at a location. lst.applystatus = Apply or clear a status effect from a uniut. -lst.weathersensor = Check if a type of weather is active. +lst.weathersense = Check if a type of weather is active. lst.weatherset = Set the current state of a type of weather. lst.spawnwave = Simulate a wave being spawned at a arbitrary location.\nWill not increment the wave counter. lst.explosion = Create an explosion at a location. diff --git a/core/assets/bundles/bundle_eu.properties b/core/assets/bundles/bundle_eu.properties index 7bc7d6ffa8..f97845fc3e 100644 --- a/core/assets/bundles/bundle_eu.properties +++ b/core/assets/bundles/bundle_eu.properties @@ -2298,7 +2298,7 @@ lst.getblock = Get tile data at any location. lst.setblock = Set tile data at any location. lst.spawnunit = Spawn unit at a location. lst.applystatus = Apply or clear a status effect from a uniut. -lst.weathersensor = Check if a type of weather is active. +lst.weathersense = Check if a type of weather is active. lst.weatherset = Set the current state of a type of weather. lst.spawnwave = Simulate a wave being spawned at a arbitrary location.\nWill not increment the wave counter. lst.explosion = Create an explosion at a location. diff --git a/core/assets/bundles/bundle_fi.properties b/core/assets/bundles/bundle_fi.properties index 25767ac142..011cb44d22 100644 --- a/core/assets/bundles/bundle_fi.properties +++ b/core/assets/bundles/bundle_fi.properties @@ -2299,7 +2299,7 @@ lst.getblock = Selvitä laattadata missä tahansa sijainnissa. lst.setblock = Aseta laattadata missä tahansa sijainnissa. lst.spawnunit = Luo joukko tietyssä sijainnissa. lst.applystatus = Lisää tai poista statusefekti yksiköltä. -lst.weathersensor = Check if a type of weather is active. +lst.weathersense = Check if a type of weather is active. lst.weatherset = Set the current state of a type of weather. lst.spawnwave = Simuloi tason syntymistä mielivaltaisessa sijainnissa.\nEi vaikuta tasolaskuriin. lst.explosion = Luo räjähdys tietyssä sijainnissa. diff --git a/core/assets/bundles/bundle_fil.properties b/core/assets/bundles/bundle_fil.properties index d66dbabc0f..92634c5367 100644 --- a/core/assets/bundles/bundle_fil.properties +++ b/core/assets/bundles/bundle_fil.properties @@ -2295,7 +2295,7 @@ lst.getblock = Get tile data at any location. lst.setblock = Set tile data at any location. lst.spawnunit = Spawn unit at a location. lst.applystatus = Apply or clear a status effect from a uniut. -lst.weathersensor = Check if a type of weather is active. +lst.weathersense = Check if a type of weather is active. lst.weatherset = Set the current state of a type of weather. lst.spawnwave = Simulate a wave being spawned at a arbitrary location.\nWill not increment the wave counter. lst.explosion = Create an explosion at a location. diff --git a/core/assets/bundles/bundle_fr.properties b/core/assets/bundles/bundle_fr.properties index c44718029a..d044c45163 100644 --- a/core/assets/bundles/bundle_fr.properties +++ b/core/assets/bundles/bundle_fr.properties @@ -2344,7 +2344,7 @@ lst.getblock = Obtient les données d'une tuile à n'importe quel emplacement. lst.setblock = Définit les données d'une tuile à n'importe quel emplacement. lst.spawnunit = Fait apparaître une unité à un emplacement. lst.applystatus = Ajoute ou enlève un effet de statut d'une unité. -lst.weathersensor = Check if a type of weather is active. +lst.weathersense = Check if a type of weather is active. lst.weatherset = Set the current state of a type of weather. lst.spawnwave = Simule un déclenchement de vague à n'importe quel emplacement.\nCela n'incrémente pas le compteur de vaugues. lst.explosion = Crée une explosion à un emplacement. diff --git a/core/assets/bundles/bundle_hu.properties b/core/assets/bundles/bundle_hu.properties index bdaf5bbf1e..bb618d854c 100644 --- a/core/assets/bundles/bundle_hu.properties +++ b/core/assets/bundles/bundle_hu.properties @@ -2345,7 +2345,7 @@ lst.getblock = Csempeadatok lekérdezése tetszőleges helyen. lst.setblock = Csempeadatok beállítása tetszőleges helyen. lst.spawnunit = Egység lerakása az adott helyen. lst.applystatus = Állapothatás alkalmazása vagy törlése egy egységről. -lst.weathersensor = Ellenőrzés, hogy egy adott időjárástípus aktív-e. +lst.weathersense = Check if a type of weather is active. lst.weatherset = Az időjárástípus jelenlegi állapotának megadása. lst.spawnwave = Egy hullám indítása. lst.explosion = Robbanás létrehozása az adott helyen. diff --git a/core/assets/bundles/bundle_id_ID.properties b/core/assets/bundles/bundle_id_ID.properties index 0446601dd9..e9040f5bab 100644 --- a/core/assets/bundles/bundle_id_ID.properties +++ b/core/assets/bundles/bundle_id_ID.properties @@ -2334,7 +2334,7 @@ lst.getblock = Mendapatkan data petak di lokasi manapun. lst.setblock = Menentukan data petak di lokasi manapun. lst.spawnunit = Munculkan unit pada tempat yang ditentukan. lst.applystatus = Menerapkan atau menghapus status efek dari sebuah unit. -lst.weathersensor = Check if a type of weather is active. +lst.weathersense = Check if a type of weather is active. lst.weatherset = Set the current state of a type of weather. lst.spawnwave = Simulasikan adanya gelombang pada lokasi acak.\nTidak akan ditambahkan pada jumlah gelombang keseluruhan. lst.explosion = Membuat sebuah ledakan pada lokasi yang ditentukan. diff --git a/core/assets/bundles/bundle_it.properties b/core/assets/bundles/bundle_it.properties index 00f76cef1f..1db134fcd2 100644 --- a/core/assets/bundles/bundle_it.properties +++ b/core/assets/bundles/bundle_it.properties @@ -2308,7 +2308,7 @@ lst.getblock = Get tile data at any location. lst.setblock = Set tile data at any location. lst.spawnunit = Spawn unit at a location. lst.applystatus = Apply or clear a status effect from a uniut. -lst.weathersensor = Check if a type of weather is active. +lst.weathersense = Check if a type of weather is active. lst.weatherset = Set the current state of a type of weather. lst.spawnwave = Simulate a wave being spawned at a arbitrary location.\nWill not increment the wave counter. lst.explosion = Create an explosion at a location. diff --git a/core/assets/bundles/bundle_ja.properties b/core/assets/bundles/bundle_ja.properties index 618db72f7a..d67268871a 100644 --- a/core/assets/bundles/bundle_ja.properties +++ b/core/assets/bundles/bundle_ja.properties @@ -2312,7 +2312,7 @@ lst.getblock = 任意の座標のタイルの情報を取得します。 lst.setblock = 任意の座標のタイルの情報を変更します。 lst.spawnunit = 任意の座標にユニットをスポーンさせます。 lst.applystatus = ユニットからステータス効果を適用または削除する。 -lst.weathersensor = Check if a type of weather is active. +lst.weathersense = Check if a type of weather is active. lst.weatherset = Set the current state of a type of weather. lst.spawnwave = 任意の座標で発生するウェーブをシミュレーションします。\nウェーブを進めません。 lst.explosion = ある場所で爆発を起こします。 diff --git a/core/assets/bundles/bundle_ko.properties b/core/assets/bundles/bundle_ko.properties index 1fabbfdbc6..8cdb1beacf 100644 --- a/core/assets/bundles/bundle_ko.properties +++ b/core/assets/bundles/bundle_ko.properties @@ -2311,7 +2311,7 @@ lst.getblock = 특정 위치의 타일 정보를 불러옴 lst.setblock = 특정 위치의 타일 정보 설정 lst.spawnunit = 특정 위치에 기체 소환 lst.applystatus = 기체에게 상태이상을 적용하거나 삭제 -lst.weathersensor = Check if a type of weather is active. +lst.weathersense = Check if a type of weather is active. lst.weatherset = Set the current state of a type of weather. lst.spawnwave = 특정 위치에 이전 단계를 실행\n실제 단계가 넘어가지 않습니다 lst.explosion = 특정 위치에 폭발 생성 diff --git a/core/assets/bundles/bundle_lt.properties b/core/assets/bundles/bundle_lt.properties index 40904c3e94..210ccafb06 100644 --- a/core/assets/bundles/bundle_lt.properties +++ b/core/assets/bundles/bundle_lt.properties @@ -2296,7 +2296,7 @@ lst.getblock = Get tile data at any location. lst.setblock = Set tile data at any location. lst.spawnunit = Spawn unit at a location. lst.applystatus = Apply or clear a status effect from a uniut. -lst.weathersensor = Check if a type of weather is active. +lst.weathersense = Check if a type of weather is active. lst.weatherset = Set the current state of a type of weather. lst.spawnwave = Simulate a wave being spawned at a arbitrary location.\nWill not increment the wave counter. lst.explosion = Create an explosion at a location. diff --git a/core/assets/bundles/bundle_nl.properties b/core/assets/bundles/bundle_nl.properties index ad980d279a..a193ffe2dd 100644 --- a/core/assets/bundles/bundle_nl.properties +++ b/core/assets/bundles/bundle_nl.properties @@ -2309,7 +2309,7 @@ lst.getblock = Get tile data at any location. lst.setblock = Set tile data at any location. lst.spawnunit = Spawn unit at a location. lst.applystatus = Apply or clear a status effect from a uniut. -lst.weathersensor = Check if a type of weather is active. +lst.weathersense = Check if a type of weather is active. lst.weatherset = Set the current state of a type of weather. lst.spawnwave = Simulate a wave being spawned at a arbitrary location.\nWill not increment the wave counter. lst.explosion = Create an explosion at a location. diff --git a/core/assets/bundles/bundle_nl_BE.properties b/core/assets/bundles/bundle_nl_BE.properties index baa57101d7..5691be2512 100644 --- a/core/assets/bundles/bundle_nl_BE.properties +++ b/core/assets/bundles/bundle_nl_BE.properties @@ -2296,7 +2296,7 @@ lst.getblock = Get tile data at any location. lst.setblock = Set tile data at any location. lst.spawnunit = Spawn unit at a location. lst.applystatus = Apply or clear a status effect from a uniut. -lst.weathersensor = Check if a type of weather is active. +lst.weathersense = Check if a type of weather is active. lst.weatherset = Set the current state of a type of weather. lst.spawnwave = Simulate a wave being spawned at a arbitrary location.\nWill not increment the wave counter. lst.explosion = Create an explosion at a location. diff --git a/core/assets/bundles/bundle_pl.properties b/core/assets/bundles/bundle_pl.properties index afe941105e..e991692472 100644 --- a/core/assets/bundles/bundle_pl.properties +++ b/core/assets/bundles/bundle_pl.properties @@ -2330,7 +2330,7 @@ lst.getblock = Uzyskaj dane dla dowolnej lokalizacji. lst.setblock = Ustaw dane dla dowolnej lokalizacji. lst.spawnunit = Odródź jednostkę w lokalizacji. lst.applystatus = Zastosuj lub wyczyść efekty statusu jednostki. -lst.weathersensor = Check if a type of weather is active. +lst.weathersense = Check if a type of weather is active. lst.weatherset = Set the current state of a type of weather. lst.spawnwave = Symuluj falę odradzającą się w dowolnym miejscu.\nNie zwiększy licznika fali. lst.explosion = Stwórz eksplozję w lokalizacji. diff --git a/core/assets/bundles/bundle_pt_BR.properties b/core/assets/bundles/bundle_pt_BR.properties index 5d854f1e64..aea3126a21 100644 --- a/core/assets/bundles/bundle_pt_BR.properties +++ b/core/assets/bundles/bundle_pt_BR.properties @@ -2329,7 +2329,7 @@ lst.getblock = Obtenha dados de blocos em qualquer local. lst.setblock = Defina os dados do bloco em qualquer local. lst.spawnunit = Gere uma unidade em um local. lst.applystatus = Aplique ou elimine um efeito de status de uma unidade. -lst.weathersensor = Check if a type of weather is active. +lst.weathersense = Check if a type of weather is active. lst.weatherset = Set the current state of a type of weather. lst.spawnwave = Gerar uma onda. lst.explosion = Crie uma explosão em um local. diff --git a/core/assets/bundles/bundle_pt_PT.properties b/core/assets/bundles/bundle_pt_PT.properties index 0ce81ecf7d..a0be18e995 100644 --- a/core/assets/bundles/bundle_pt_PT.properties +++ b/core/assets/bundles/bundle_pt_PT.properties @@ -2296,7 +2296,7 @@ lst.getblock = Get tile data at any location. lst.setblock = Set tile data at any location. lst.spawnunit = Spawn unit at a location. lst.applystatus = Apply or clear a status effect from a uniut. -lst.weathersensor = Check if a type of weather is active. +lst.weathersense = Check if a type of weather is active. lst.weatherset = Set the current state of a type of weather. lst.spawnwave = Simulate a wave being spawned at a arbitrary location.\nWill not increment the wave counter. lst.explosion = Create an explosion at a location. diff --git a/core/assets/bundles/bundle_ro.properties b/core/assets/bundles/bundle_ro.properties index da51937357..ed8fc6bb60 100644 --- a/core/assets/bundles/bundle_ro.properties +++ b/core/assets/bundles/bundle_ro.properties @@ -2313,7 +2313,7 @@ lst.getblock = Get tile data at any location. lst.setblock = Set tile data at any location. lst.spawnunit = Spawn unit at a location. lst.applystatus = Apply or clear a status effect from a uniut. -lst.weathersensor = Check if a type of weather is active. +lst.weathersense = Check if a type of weather is active. lst.weatherset = Set the current state of a type of weather. lst.spawnwave = Simulate a wave being spawned at a arbitrary location.\nWill not increment the wave counter. lst.explosion = Create an explosion at a location. diff --git a/core/assets/bundles/bundle_ru.properties b/core/assets/bundles/bundle_ru.properties index b0b35d7083..2587e514ba 100644 --- a/core/assets/bundles/bundle_ru.properties +++ b/core/assets/bundles/bundle_ru.properties @@ -2315,7 +2315,7 @@ lst.getblock = Получает данные о плитке в любом ме lst.setblock = Устанавливает плитку в любом месте. lst.spawnunit = Создает боевую единицу на локации. lst.applystatus = Применяет или снимает эффект статуса с боевой единицы. -lst.weathersensor = Check if a type of weather is active. +lst.weathersense = Check if a type of weather is active. lst.weatherset = Set the current state of a type of weather. lst.spawnwave = Имитация волны, создаваемой в произвольном месте.\nСчетчик волн не увеличивается. lst.explosion = Создает взрыв на локации. diff --git a/core/assets/bundles/bundle_sr.properties b/core/assets/bundles/bundle_sr.properties index fac38a433f..56582bbae8 100644 --- a/core/assets/bundles/bundle_sr.properties +++ b/core/assets/bundles/bundle_sr.properties @@ -2316,7 +2316,7 @@ lst.getblock = Get tile data at any location. lst.setblock = Set tile data at any location. lst.spawnunit = Prizovi jedinicu na mestu. lst.applystatus = Dodaj ili ukloni statusni efekat na jedinicu/e. -lst.weathersensor = Check if a type of weather is active. +lst.weathersense = Check if a type of weather is active. lst.weatherset = Set the current state of a type of weather. lst.spawnwave = Simulate a wave being spawned at a arbitrary location.\nWill not increment the wave counter. lst.explosion = Izazovi eksploziju na mestu. diff --git a/core/assets/bundles/bundle_sv.properties b/core/assets/bundles/bundle_sv.properties index 25e3813f40..65d440cab3 100644 --- a/core/assets/bundles/bundle_sv.properties +++ b/core/assets/bundles/bundle_sv.properties @@ -2296,7 +2296,7 @@ lst.getblock = Get tile data at any location. lst.setblock = Set tile data at any location. lst.spawnunit = Spawn unit at a location. lst.applystatus = Apply or clear a status effect from a uniut. -lst.weathersensor = Check if a type of weather is active. +lst.weathersense = Check if a type of weather is active. lst.weatherset = Set the current state of a type of weather. lst.spawnwave = Simulate a wave being spawned at a arbitrary location.\nWill not increment the wave counter. lst.explosion = Create an explosion at a location. diff --git a/core/assets/bundles/bundle_th.properties b/core/assets/bundles/bundle_th.properties index 72356a9518..222c4fbb21 100644 --- a/core/assets/bundles/bundle_th.properties +++ b/core/assets/bundles/bundle_th.properties @@ -2333,7 +2333,7 @@ lst.getblock = รับข้อมูลของช่องที่ตำ lst.setblock = ปรับแต่งข้อมูลของช่องที่ตำแหน่งใดๆ lst.spawnunit = เสกยูนิตมาที่ตำแหน่งที่กำหนดไว้ lst.applystatus = ใส่หรือล้างเอฟเฟกต์สถานะจากยูนิต -lst.weathersensor = Check if a type of weather is active. +lst.weathersense = Check if a type of weather is active. lst.weatherset = Set the current state of a type of weather. lst.spawnwave = จำลองคลื่นที่ตำแหน่งใดๆ lst.explosion = เสกระเบิดที่ตำแหน่ง diff --git a/core/assets/bundles/bundle_tk.properties b/core/assets/bundles/bundle_tk.properties index 7231208b63..881abd92f9 100644 --- a/core/assets/bundles/bundle_tk.properties +++ b/core/assets/bundles/bundle_tk.properties @@ -2296,7 +2296,7 @@ lst.getblock = Get tile data at any location. lst.setblock = Set tile data at any location. lst.spawnunit = Spawn unit at a location. lst.applystatus = Apply or clear a status effect from a uniut. -lst.weathersensor = Check if a type of weather is active. +lst.weathersense = Check if a type of weather is active. lst.weatherset = Set the current state of a type of weather. lst.spawnwave = Simulate a wave being spawned at a arbitrary location.\nWill not increment the wave counter. lst.explosion = Create an explosion at a location. diff --git a/core/assets/bundles/bundle_tr.properties b/core/assets/bundles/bundle_tr.properties index e7c192a09e..f50ff06f3a 100644 --- a/core/assets/bundles/bundle_tr.properties +++ b/core/assets/bundles/bundle_tr.properties @@ -2313,7 +2313,7 @@ lst.getblock = Herhangi bir yerdeki blok bilgisini al. lst.setblock = Herhangi bir yerdeki blok bilgisini değiştir. lst.spawnunit = Herhangi bir yerde birim var et. lst.applystatus = Bir Birime Durum Etkisi ekle. -lst.weathersensor = Check if a type of weather is active. +lst.weathersense = Check if a type of weather is active. lst.weatherset = Set the current state of a type of weather. lst.spawnwave = Bellir bir noktada dalga başlat.\nDalga Zamanlayıcı Oluşturmaz! lst.explosion = Bir Noktada Patlama oluştur. diff --git a/core/assets/bundles/bundle_uk_UA.properties b/core/assets/bundles/bundle_uk_UA.properties index f640333cb5..e6743cbee4 100644 --- a/core/assets/bundles/bundle_uk_UA.properties +++ b/core/assets/bundles/bundle_uk_UA.properties @@ -2340,7 +2340,7 @@ lst.getblock = Отримує дані плитки в будь-якому мі lst.setblock = Установлює дані плитки в будь-якому місці. lst.spawnunit = Породжує одиницю на певному місці. lst.applystatus = Застосовує або видаляє ефект стану з одиниці. -lst.weathersensor = Check if a type of weather is active. +lst.weathersense = Check if a type of weather is active. lst.weatherset = Set the current state of a type of weather. lst.spawnwave = Змодельовує хвилю, що виникає у довільному місці.\nНе збільшує лічильник хвиль. lst.explosion = Створює вибух у певному місці. diff --git a/core/assets/bundles/bundle_vi.properties b/core/assets/bundles/bundle_vi.properties index cb1a9d8886..a254aab849 100644 --- a/core/assets/bundles/bundle_vi.properties +++ b/core/assets/bundles/bundle_vi.properties @@ -2314,7 +2314,7 @@ lst.getblock = Lấy dữ liệu từ ô từ vị trí bất kì. lst.setblock = Chỉnh sửa dữ liệu từ ô từ vị trí bất kì. lst.spawnunit = Tạo ra quân từ vị trí. lst.applystatus = Áp dụng hoặc loại bỏ một hiệu ứng trạng thái cho một đơn vị. -lst.weathersensor = Check if a type of weather is active. +lst.weathersense = Check if a type of weather is active. lst.weatherset = Set the current state of a type of weather. lst.spawnwave = Mô phỏng một lượt xuất hiện ở vị trí tùy ý.\nSẽ không tăng số đếm lượt. lst.explosion = Tạo ra một vụ nổ tại vị trí đó. diff --git a/core/assets/bundles/bundle_zh_CN.properties b/core/assets/bundles/bundle_zh_CN.properties index 0337770822..ddd3e316d9 100644 --- a/core/assets/bundles/bundle_zh_CN.properties +++ b/core/assets/bundles/bundle_zh_CN.properties @@ -2339,7 +2339,7 @@ lst.getblock = 获取任意位置的地块数据 lst.setblock = 设置任意位置的地块数据 lst.spawnunit = 在指定位置生成单位 lst.applystatus = 添加或清除单位的一个状态效果 -lst.weathersensor = Check if a type of weather is active. +lst.weathersense = Check if a type of weather is active. lst.weatherset = Set the current state of a type of weather. lst.spawnwave = 在任意位置生成一波敌人\n并不记录在波数计数器中 lst.explosion = 在某个位置生成爆炸 diff --git a/core/assets/bundles/bundle_zh_TW.properties b/core/assets/bundles/bundle_zh_TW.properties index 7fcd78b424..465a18589d 100644 --- a/core/assets/bundles/bundle_zh_TW.properties +++ b/core/assets/bundles/bundle_zh_TW.properties @@ -2325,7 +2325,7 @@ lst.getblock = 由位置取方塊數據 lst.setblock = 由位置設置方塊數據 lst.spawnunit = 在某一位置生成單位 lst.applystatus = 爲單位添加或移除狀態效果 -lst.weathersensor = Check if a type of weather is active. +lst.weathersense = Check if a type of weather is active. lst.weatherset = Set the current state of a type of weather. lst.spawnwave = 在某一位置生成一波敵人\n不計入波數 lst.explosion = 在某一位置製造爆炸 From 47467e5bd20832acf07afa05f70f5e375f24a599 Mon Sep 17 00:00:00 2001 From: Marko Zajc Date: Sun, 31 Mar 2024 04:29:39 +0200 Subject: [PATCH 48/89] Add gradle-wrapper-validation.yml (#9688) --- .github/workflows/gradle-wrapper-validation.yml | 10 ++++++++++ 1 file changed, 10 insertions(+) create mode 100644 .github/workflows/gradle-wrapper-validation.yml diff --git a/.github/workflows/gradle-wrapper-validation.yml b/.github/workflows/gradle-wrapper-validation.yml new file mode 100644 index 0000000000..95cce8bab6 --- /dev/null +++ b/.github/workflows/gradle-wrapper-validation.yml @@ -0,0 +1,10 @@ +name: "Validate Gradle Wrapper" +on: [push, pull_request] + +jobs: + validation: + name: "Validation" + runs-on: ubuntu-latest + steps: + - uses: actions/checkout@v4 + - uses: gradle/wrapper-validation-action@v2 From 396869dec36e58bfb9ec5131a1f1010046eceede Mon Sep 17 00:00:00 2001 From: SITUVNgcd <44901211+SITUVNgcd@users.noreply.github.com> Date: Sun, 31 Mar 2024 10:24:24 +0700 Subject: [PATCH 49/89] Translate & revert Vietnamese translation (#9560) MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit * Translate, revert - Translated new strings. - Fixed some typos. - Corrected translation for some strings. - Revert `Kho lưu trữ` to `Repo`, some Vietnamese need that, idk! https://github.com/Anuken/Mindustry/commit/c3ee92fba701f010b5033aa1d519b6b541d976c2 * Translate new strings https://github.com/Anuken/Mindustry/commit/97010a5064178309b638e4a0adf72add4018bc0a * Remove #note https://github.com/Anuken/Mindustry/commit/97010a5064178309b638e4a0adf72add4018bc0a * World Switch https://github.com/Anuken/Mindustry/commit/76cb36fdea60ea38814765bfaf7f7fde1e812f41 * Translate new strings https://github.com/Anuken/Mindustry/commit/824c6eedb39fba26b41ec8f0843595d2addc7fc0 * Translate new strings https://github.com/Anuken/Mindustry/commit/304d7d9602aefa3df91b4cf1fd81d69fff142644 --------- Co-authored-by: Anuken --- core/assets/bundles/bundle_vi.properties | 299 +++++++++++++---------- 1 file changed, 170 insertions(+), 129 deletions(-) diff --git a/core/assets/bundles/bundle_vi.properties b/core/assets/bundles/bundle_vi.properties index a254aab849..e8be02a566 100644 --- a/core/assets/bundles/bundle_vi.properties +++ b/core/assets/bundles/bundle_vi.properties @@ -31,8 +31,8 @@ load.map = Bản đồ load.image = Hình ảnh load.content = Nội dung load.system = Hệ thống -load.mod = Mods -load.scripts = Scripts +load.mod = Bản mod +load.scripts = Ngữ lệnh be.update = Đã tìm thấy bản cập nhật mới: be.update.confirm = Tải xuống và khởi động lại ngay bây giờ? @@ -77,9 +77,9 @@ schematic.tags = Thẻ: schematic.edittags = Chỉnh sửa thẻ schematic.addtag = Thêm thẻ schematic.texttag = Thẻ văn bản -schematic.icontag = Thẻ icon +schematic.icontag = Thẻ biểu tượng schematic.renametag = Đổi tên thẻ -schematic.tagged = {0} đã gắn thẻ +schematic.tagged = {0} thẻ đã gắn schematic.tagdelconfirm = Xóa thẻ này? schematic.tagexists = Thẻ đã tồn tại. @@ -243,8 +243,8 @@ host.invalid = [scarlet]Không thể kết nối đến máy chủ. servers.local = Máy chủ cục bộ servers.local.steam = Màn chơi hiện có & Máy chủ cục bộ -servers.remote = Máy chủ tùy chỉnh -servers.global = Máy chủ từ cộng đồng +servers.remote = Máy chủ từ xa +servers.global = Máy chủ cộng đồng servers.disclaimer = Nhà phát triển [accent]không[] sở hữu và kiểm soát máy chủ cộng đồng.\n\nMáy chủ có thể chứa nội dung do người dùng tạo và không phù hợp với mọi lứa tuổi. servers.showhidden = Hiển thị Máy chủ Ẩn @@ -256,7 +256,7 @@ trace = Tìm người chơi trace.playername = Tên người chơi: [accent]{0} trace.ip = IP: [accent]{0} trace.id = ID: [accent]{0} -trace.language = Language: [accent]{0} +trace.language = Ngôn ngữ: [accent]{0} trace.mobile = Máy khách di động: [accent]{0} trace.modclient = Máy khách tùy chỉnh: [accent]{0} trace.times.joined = Số lần tham gia: [accent]{0} @@ -342,23 +342,23 @@ open = Mở customize = Luật tùy chỉnh cancel = Hủy command = Mệnh lệnh -command.queue = [lightgray][Queuing] +command.queue = [lightgray][Đang lệnh tuần tự] command.mine = Đào command.repair = Sửa Chữa command.rebuild = Xây Dựng command.assist = Hỗ Trợ Người Chơi command.move = Di Chuyển command.boost = Tăng Cường -command.enterPayload = Enter Payload Block -command.loadUnits = Load Units -command.loadBlocks = Load Blocks -command.unloadPayload = Unload Payload -stance.stop = Cancel Orders -stance.shoot = Stance: Shoot -stance.holdfire = Stance: Hold Fire -stance.pursuetarget = Stance: Pursue Target -stance.patrol = Stance: Patrol Path -stance.ram = Stance: Ram\n[lightgray]Straight line movement, no pathfinding +command.enterPayload = Nhập khối hàng vào công trình +command.loadUnits = Nhận đơn vị +command.loadBlocks = Nhận khối công trình +command.unloadPayload = Dỡ khối hàng +stance.stop = Hủy mệnh lệnh +stance.shoot = Tư thế: Bắn +stance.holdfire = Tư thế: Ngừng bắn +stance.pursuetarget = Tư thế: Bám đuổi mục tiêu +stance.patrol = Tư thế: Đường tuần tra +stance.ram = Tư thế: Tông thẳng\n[lightgray]Đi theo đường thẳng, không tìm đường openlink = Mở liên kết copylink = Sao chép liên kết back = Quay lại @@ -439,7 +439,7 @@ editor.waves = Lượt: editor.rules = Luật: editor.generation = Cấu trúc: editor.objectives = Mục tiêu -editor.locales = Locale Bundles +editor.locales = Gói ngôn ngữ editor.ingame = Chỉnh sửa trong trò chơi editor.playtest = Chơi thử editor.publish.workshop = Xuất bản lên Workshop @@ -459,7 +459,7 @@ waves.title = Đợt waves.remove = Xóa waves.every = mỗi waves.waves = đợt -waves.health = health: {0}% +waves.health = độ bền: {0}% waves.perspawn = mỗi lần xuất hiện waves.shields = khiên/đợt waves.to = đến @@ -480,7 +480,7 @@ waves.none = Không có kẻ thù được xác định.\nLưu ý rằng bố c waves.sort = Sắp xếp theo waves.sort.reverse = Đảo ngược sắp xếp waves.sort.begin = Bắt đầu -waves.sort.health = Máu +waves.sort.health = Độ bền waves.sort.type = Thể loại waves.search = Tìm kiếm các lượt... waves.filter = Bộ lọc đơn vị @@ -490,13 +490,13 @@ waves.units.show = Hiện tất cả #these are intentionally in lower case wavemode.counts = số lượng wavemode.totals = tổng số -wavemode.health = máu +wavemode.health = độ bền editor.default = [lightgray] details = Chi tiết... edit = Chỉnh sửa... variables = Thông số -logic.globals = Built-in Variables +logic.globals = Thông số sẵn có editor.name = Tên: editor.spawn = Thêm kẻ địch editor.removeunit = Xóa kẻ địch @@ -508,7 +508,7 @@ editor.errorlegacy = Bản đồ này quá cũ, và sử dụng định dạng b editor.errornot = Đây không phải là tệp bản đồ. editor.errorheader = Tệp bản đồ này không hợp lệ hoặc bị hỏng. editor.errorname = Bản đồ không có tên được xác định. Bạn đang cố gắng tải một bản lưu? -editor.errorlocales = Error reading invalid locale bundles. +editor.errorlocales = Lỗi đọc gói ngôn ngữ không hợp lệ. editor.update = Cập nhật editor.randomize = Ngẫu nhiên editor.moveup = Di chuyển lên @@ -520,7 +520,7 @@ editor.sectorgenerate = Tạo ra khu vực editor.resize = Thay đổi kích thước editor.loadmap = Mở bản đồ editor.savemap = Lưu bản đồ -editor.savechanges = [scarlet]You have unsaved changes!\n\n[]Do you want to save them? +editor.savechanges = [scarlet]Bạn có thay đổi chưa lưu!\n\n[]Bạn có muốn lưu chúng không? editor.saved = Đã lưu! editor.save.noname = Bản đồ của bạn không có tên! Hãy đặt một cái tên trong 'Thông tin bản đồ'. editor.save.overwrite = Bản đồ của bạn ghi đè lên một bản đồ đã có sẵn! Hãy chọn một cái tên khác trong 'Thông tin bản đồ'. @@ -607,23 +607,23 @@ filter.option.floor2 = Nền phụ filter.option.threshold2 = Ngưỡng phụ filter.option.radius = Bán kính filter.option.percentile = Phần trăm -locales.info = Here, you can add locale bundles for specific languages to your map. In locale bundles, each property has a name and a value. These properties can be used by world processors and objectives using their names. They support text formatting (replacing placeholders with actual values).\n\n[cyan]Example property:\n[]name: [accent]timer[]\nvalue: [accent]Example timer, time left: @[]\n\n[cyan]Usage:\n[]Set it as objective's text: [accent]@timer\n\n[]Print it in a world processor:\n[accent]localeprint "timer"\nformat time\n[gray](where time is a separately calculated variable) -locales.deletelocale = Are you sure you want to delete this locale bundle? -locales.applytoall = Apply Changes To All Locales -locales.addtoother = Add To Other Locales -locales.rollback = Rollback to last applied -locales.filter = Property filter -locales.searchname = Search name... -locales.searchvalue = Search value... -locales.searchlocale = Search locale... -locales.byname = By name -locales.byvalue = By value -locales.showcorrect = Show properties that are present in all locales and have unique values everywhere -locales.showmissing = Show properties that are missing in some locales -locales.showsame = Show properties that have same values in different locales -locales.viewproperty = View in all locales -locales.viewing = Viewing property "{0}" -locales.addicon = Add Icon +locales.info = Tại đây, bạn có thể thêm gói ngôn ngữ cho ngôn ngữ cụ thể vào bản đồ của bạn. Trong gói ngôn ngữ, mỗi thuộc tính có tên và giá trị. Những thuộc tính này có thể được sử dụng bởi Bộ xử lý thế giới và Mục tiêu nhiệm vụ bằng tên của chúng. Chúng hỗ trợ định dạng văn bản (thay thế kí tự giữ chỗ bằng giá trị thực tế).\n\n[cyan]Ví dụ thuộc tính:\n[]tên: [accent]timer[]\nvalue: [accent]Bộ đếm thời gian ví dụ, thời gian còn lại: @[]\n\n[cyan]Cách dùng:\n[]Đặt làm văn bản cho Mục tiêu nhiệm vụ: [accent]@timer\n\n[]In nó trong Bộ xử lý thế giới:\n[accent]localeprint "timer"\nformat time\n[gray](với time là biến được tính toán riêng biệt) +locales.deletelocale = Bạn có chắc muốn xóa gói ngôn ngữ này? +locales.applytoall = Áp dụng thay đổi cho tất cả gói ngôn ngữ +locales.addtoother = Thêm vào các gói ngôn ngữ khác +locales.rollback = Khôi phục lại lầ áp dụng cuối +locales.filter = Lọc thuộc tính +locales.searchname = Tìm tên... +locales.searchvalue = Tìm giá trị... +locales.searchlocale = Tìm ngôn ngữ... +locales.byname = Theo tên +locales.byvalue = Theo giá trị +locales.showcorrect = Hiện thuộc tính có trong tất cả ngôn ngữ và có giá trị riêng biệt mỗi nơi +locales.showmissing = Hiện thuộc tính bị mất trong một số ngôn ngữ +locales.showsame = Hiện thuộc tính có giá trị giống nhau trong các ngôn ngữ khác nhau +locales.viewproperty = Xem trong tất cả ngôn ngữ +locales.viewing = Đang xem thuộc tính "{0}" +locales.addicon = Thêm biểu tượng width = Chiều rộng: height = Chiều cao: @@ -674,11 +674,11 @@ objective.destroycore.name = Phá huỷ căn cứ objective.commandmode.name = Chế độ ra lệnh objective.flag.name = Cờ marker.shapetext.name = Hình dạng văn bản -marker.point.name = Point +marker.point.name = Điểm marker.shape.name = Hình dạng marker.text.name = Văn bản -marker.line.name = Line -marker.quad.name = Quad +marker.line.name = Đường kẻ +marker.quad.name = Bốn điểm marker.background = Nền marker.outline = Đường viền objective.research = [accent]Nghiên cứu:\n[]{0}[lightgray]{1} @@ -762,8 +762,8 @@ sector.curlost = Khu vực đã mất sector.missingresources = [scarlet]Không đủ tài nguyên căn cứ sector.attacked = Khu vực [accent]{0}[white] đang bị tấn công! sector.lost = Khu vực [accent]{0}[white] đã mất! -sector.capture = Sector [accent]{0}[white]Captured! -sector.capture.current = Sector Captured! +sector.capture = Khu vực [accent]{0}[white] đã chiếm! +sector.capture.current = Khu vực đã chiếm! sector.changeicon = Thay đổi biểu tượng sector.noswitch.title = Không thể thay đổi sang khu vực khác sector.noswitch = Bạn không thể đổi sang khu vực khác khi một khu vực đang bị tấn công.\n\nKhu vực: [accent]{0}[] ở [accent]{1}[] @@ -986,6 +986,46 @@ stat.immunities = Miễn nhiễm stat.healing = Sửa chữa ability.forcefield = Tạo khiên +ability.forcefield.description = Phát một khiên trường lực hấp thụ các loại đạn +ability.repairfield = Sửa chữa/Xây dựng +ability.repairfield.description = Sửa chữa các đơn vị gần đó +ability.statusfield = Vùng gia tốc +ability.statusfield.description = Áp dụng hiệu ứng trạng thái vào các đơn vị gần đó +ability.unitspawn = Sản xuất +ability.unitspawn.description = Sản xuất đơn vị +ability.shieldregenfield = Tạo khiên nhỏ +ability.shieldregenfield.description = Tạo khiên cho các đơn vị gần đó +ability.movelightning = Phóng điện khi di chuyển +ability.movelightning.description = Giải phóng tia điện khi di chuyển +ability.armorplate = Mảnh giáp +ability.armorplate.description = Giảm sát thương gánh chịu trong khi bắn +ability.shieldarc = Khiên vòng cung +ability.shieldarc.description = Phát một khiên trường lực vòng cung hấp thụ các loại đạn +ability.suppressionfield = Ngăn chặn sửa chữa +ability.suppressionfield.description = Ngăn chặn các công trình sửa chữa +ability.energyfield = Trường điện từ +ability.energyfield.description = Giật điện các kẻ thù gần đó +ability.energyfield.healdescription = Giật điện các kẻ thù gần đó và hồi phục đồng minh +ability.regen = Hồi phục +ability.regen.description = Tự hồi phục theo thời gian +ability.liquidregen = Hấp thụ chất lỏng +ability.liquidregen.description = Hấp thụ chất lỏng để tự hồi phục +ability.spawndeath = Chết sản sinh +ability.spawndeath.description = Sinh ra đơn vị khi chết +ability.liquidexplode = Chết tràn dịch +ability.liquidexplode.description = Tràn chất lỏng khi chết +ability.stat.firingrate = tốc bắn [stat]{0}/giây[lightgray] +ability.stat.regen = [stat]{0}[lightgray] độ bền/giây +ability.stat.shield = [stat]{0}[lightgray] khiên +ability.stat.repairspeed = [stat]{0}/giây[lightgray] tốc độ sửa chữa +ability.stat.slurpheal = [stat]{0}[lightgray] độ bền/đơn vị chất lỏng +ability.stat.cooldown = [stat]{0} giây[lightgray] hồi chiêu +ability.stat.maxtargets = [stat]{0}[lightgray] mục tiêu tối đa +ability.stat.sametypehealmultiplier = [stat]{0}%[lightgray] số lượng sửa chữa cùng kiểu +ability.stat.damagereduction = [stat]{0}%[lightgray] giảm sát thương +ability.stat.minspeed = tốc độ tối thiểu [stat]{0} ô/giây[lightgray] +ability.stat.duration = thời hạn [stat]{0} giây[lightgray] +ability.stat.buildtime = thời gian xây [stat]{0} giây[lightgray] ability.forcefield.description = Projects a force shield that absorbs bullets ability.repairfield = Sửa chữa/Xây dựng ability.repairfield.description = Repairs nearby units @@ -1065,7 +1105,7 @@ bullet.splashdamage = [stat]{0}[lightgray] sát thương diện rộng ~[stat] { bullet.incendiary = [stat]cháy bullet.homing = [stat]truy đuổi bullet.armorpierce = [stat]xuyên giáp -bullet.maxdamagefraction = [stat]{0}%[lightgray] damage limit +bullet.maxdamagefraction = [stat]{0}%[lightgray] giới hạn sát thương bullet.suppression = [stat]{0} giây[lightgray] ngăn sửa chữa ~ [stat]{1}[lightgray] ô bullet.interval = [stat]{0}/giây[lightgray] interval bullets: bullet.frags = [stat]phá mảnh @@ -1120,8 +1160,8 @@ setting.logichints.name = Gợi ý Logic setting.backgroundpause.name = Tạm dừng trong nền setting.buildautopause.name = Tự động dừng xây dựng setting.doubletapmine.name = Nhấn đúp để Đào -setting.commandmodehold.name = Nhấn giữ để vào chế độ khiển quân -setting.distinctcontrolgroups.name = Limit One Control Group Per Unit +setting.commandmodehold.name = Nhấn giữ để vào chế độ khiển đơn vị +setting.distinctcontrolgroups.name = Giới hạn một nhóm điều khiển cho mỗi đơn vị setting.modcrashdisable.name = Tắt các mod khi gặp sự cố trong khởi động setting.animatedwater.name = Hiệu ứng nước setting.animatedshields.name = Hiệu ứng khiên @@ -1168,14 +1208,14 @@ setting.position.name = Hiển thị vị trí người chơi setting.mouseposition.name = Hiện vị trí trỏ chuột setting.musicvol.name = Âm lượng nhạc setting.atmosphere.name = Hiển thị bầu khí quyển hành tinh -setting.drawlight.name = Draw Darkness/Lighting +setting.drawlight.name = Vẽ Bóng tối/Ánh sáng setting.ambientvol.name = Âm lượng tổng setting.mutemusic.name = Tắt nhạc setting.sfxvol.name = Âm lượng SFX setting.mutesound.name = Tắt tiếng setting.crashreport.name = Gửi báo cáo sự cố setting.savecreate.name = Tự động lưu -setting.steampublichost.name = Public Game Visibility +setting.steampublichost.name = Hiển thị trò chơi công khai setting.playerlimit.name = Giới hạn người chơi setting.chatopacity.name = Độ mờ trò chuyện setting.lasersopacity.name = Độ mờ kết nối năng lượng @@ -1195,7 +1235,7 @@ keybind.title = Sửa phím keybinds.mobile = [scarlet]Hầu hết phím ở đây không hoạt động trên thiết bị di động. Chỉ hỗ trợ di chuyển cơ bản. category.general.name = Chung category.view.name = Xem -category.command.name = Unit Command +category.command.name = Mệnh lệnh đơn vị category.multiplayer.name = Nhiều người chơi category.blocks.name = Chọn khối placement.blockselectkeys = \n[lightgray]Phím: [{0}, @@ -1212,24 +1252,24 @@ keybind.move_y.name = Di chuyển Y keybind.mouse_move.name = Theo chuột keybind.pan.name = Di chuyển góc nhìn keybind.boost.name = Tăng tốc -keybind.command_mode.name = Chế độ điều khiển quân -keybind.command_queue.name = Unit Command Queue -keybind.create_control_group.name = Create Control Group -keybind.cancel_orders.name = Cancel Orders -keybind.unit_stance_shoot.name = Unit Stance: Shoot -keybind.unit_stance_hold_fire.name = Unit Stance: Hold Fire -keybind.unit_stance_pursue_target.name = Unit Stance: Pursue Target -keybind.unit_stance_patrol.name = Unit Stance: Patrol -keybind.unit_stance_ram.name = Unit Stance: Ram -keybind.unit_command_move = Unit Command: Move -keybind.unit_command_repair = Unit Command: Repair -keybind.unit_command_rebuild = Unit Command: Rebuild -keybind.unit_command_assist = Unit Command: Assist -keybind.unit_command_mine = Unit Command: Mine -keybind.unit_command_boost = Unit Command: Boost -keybind.unit_command_load_units = Unit Command: Load Units -keybind.unit_command_load_blocks = Unit Command: Load Blocks -keybind.unit_command_unload_payload = Unit Command: Unload Payload +keybind.command_mode.name = Chế độ mệnh lệnh +keybind.command_queue.name = Lệnh tuần tự đơn vị +keybind.create_control_group.name = Tạo nhóm điều khiển +keybind.cancel_orders.name = Hủy lệnh +keybind.unit_stance_shoot.name = Tư thế đơn vị: Bắn +keybind.unit_stance_hold_fire.name = Tư thế đơn vị: Ngừng bắn +keybind.unit_stance_pursue_target.name = Tư thế đơn vị: Bám đuổi mục tiêu +keybind.unit_stance_patrol.name = Tư thế đơn vị: Tuần tra +keybind.unit_stance_ram.name = Tư thế đơn vị: Tông thẳng +keybind.unit_command_move = Mệnh lệnh đơn vị: Di chuyển +keybind.unit_command_repair = Mệnh lệnh đơn vị: Sửa chữa +keybind.unit_command_rebuild = Mệnh lệnh đơn vị: Xây lại +keybind.unit_command_assist = Mệnh lệnh đơn vị: Hỗ trợ +keybind.unit_command_mine = Mệnh lệnh đơn vị: Khai thác +keybind.unit_command_boost = Mệnh lệnh đơn vị: Tăng cường l +keybind.unit_command_load_units = Mệnh lệnh đơn vị: Nhập đơn vị +keybind.unit_command_load_blocks = Mệnh lệnh đơn vị: Nhập khối công trình +keybind.unit_command_unload_payload = Mệnh lệnh đơn vị: Dỡ khối hàng keybind.rebuild_select.name = Chọn khu vực xây dựng lại keybind.schematic_select.name = Chọn khu vực keybind.schematic_menu.name = Menu bản thiết kế @@ -1293,12 +1333,12 @@ mode.pvp.description = Chiến đấu với những người chơi khác trên c mode.attack.name = Tấn công mode.attack.description = Phá hủy căn cứ của kẻ địch. \n[gray]Cần căn cứ màu đỏ trong bản đồ để chơi. mode.custom = Tùy chỉnh luật -rules.invaliddata = Invalid clipboard data. -rules.hidebannedblocks = Ẩn Các Khối Bị Cấm +rules.invaliddata = Dữ liệu bộ nhớ tạm không hợp lệ. +rules.hidebannedblocks = Ẩn các khối bị cấm rules.infiniteresources = Tài nguyên vô hạn rules.onlydepositcore = Chỉ cho phép đưa tài nguyên vào căn cứ -rules.derelictrepair = Allow Derelict Block Repair +rules.derelictrepair = Cho phép sửa khối bỏ hoang rules.reactorexplosions = Nổ lò phản ứng rules.coreincinerates = Hủy vật phẩm khi căn cứ đầy rules.disableworldprocessors = Vô hiệu hoá bộ xử lý thế giới @@ -1322,11 +1362,12 @@ rules.blockhealthmultiplier = Hệ số độ bền khối rules.blockdamagemultiplier = Hệ số sát thương của khối rules.unitbuildspeedmultiplier = Hệ số tốc độ sản xuất lính rules.unitcostmultiplier = Hệ số yêu cầu tài nguyên sản xuất đơn vị -rules.unithealthmultiplier = Hệ số máu của đơn vị +rules.unithealthmultiplier = Hệ số độ bền của đơn vị rules.unitdamagemultiplier = Hệ số sát thương của đơn vị rules.unitcrashdamagemultiplier = Hệ số sát thương của đơn vị khi bị bắn rơi rules.solarmultiplier = Hệ số năng lượng mặt trời rules.unitcapvariable = Căn cứ tăng giới hạn đơn vị +rules.unitpayloadsexplode = Khối hàng mang theo phát nổ cùng đơn vị rules.unitpayloadsexplode = Carried Payloads Explode With The Unit rules.unitcap = Giới hạn đơn vị rules.limitarea = Giới hạn kích thước bản đồ @@ -1579,7 +1620,7 @@ block.inverted-sorter.name = Bộ lọc ngược block.message.name = Thông điệp block.reinforced-message.name = Thông điệp [Gia cố] block.world-message.name = Thông điệp thế giới -block.world-switch.name = World Switch +block.world-switch.name = Công tắc thế giới block.illuminator.name = Đèn block.overflow-gate.name = Cổng tràn block.underflow-gate.name = Cổng tràn ngược @@ -1856,7 +1897,7 @@ block.memory-bank.name = Bộ nhớ lớn team.malis.name = Malis team.crux.name = Crux team.sharded.name = Sharded -team.derelict.name = Không xác định +team.derelict.name = Bỏ hoang team.green.name = Xanh lá cây team.blue.name = Xanh dương @@ -1871,7 +1912,7 @@ hint.desktopPause = Nhấn [accent][[Space][] để tạm dừng và tiếp tụ hint.breaking = [accent]Chuột phải[] và kéo để phá vỡ các khối. hint.breaking.mobile = Kích hoạt \ue817 [accent]Cây búa[] ở phía dưới cùng bên phải và nhấn để phá vỡ các khối.\n\nGiữ ngón tay của bạn trong một giây và kéo để phá khối trong vùng được chọn. hint.blockInfo = Xem thông tin của một khối bằng cách chọn nó trong [accent]menu xây dựng[], Sau đó chọn nút [accent][[?][] ở bên phải. -hint.derelict = [accent]Không xác định[] là các công trình bị hỏng của các căn cứ cũ mà không còn hoạt động.\n\nCác công trình này có thể [accent]được tháo dỡ[] để nhận được nguyên liệu. +hint.derelict = [accent]Bỏ hoang[] là các công trình bị hỏng của các căn cứ cũ mà không còn hoạt động.\n\nCác công trình này có thể [accent]được tháo dỡ[] để nhận được nguyên liệu. hint.research = Sử dụng nút \ue875 [accent]Nghiên cứu[] để nghiên cứu công nghệ mới. hint.research.mobile = Sử dụng nút \ue875 [accent]Nghiên cứu[] trong \ue88c [accent]Trình đơn[] để nghiên cứu công nghệ mới. hint.unitControl = Giữ [accent][[L-ctrl][] và [accent]nhấp chuột[] để điều khiển đơn vị của bạn hoặc súng. @@ -1937,13 +1978,13 @@ onset.turrets = Các đơn vị rất tốt, nhưng [accent]súng[] cung cấp k onset.turretammo = Tiếp đạn cho súng bằng [accent]beryllium[]. onset.walls = [accent]Tường[] có thể ngăn chặn sát thương đến các công trình.\nĐặt một số \uf6ee [accent]tường beryllium[] xung quanh súng. onset.enemies = Quân địch đang đến, hãy chuẩn bị phòng thủ. -onset.defenses = [accent]Set up defenses:[lightgray] {0} +onset.defenses = [accent]Thiết lập phòng thủ:[lightgray] {0} onset.attack = Quân địch đã suy yếu.\nHãy phản công. onset.cores = Các căn cứ có thể được đặt trên [accent]ô căn cứ[].\nCác căn cứ mới có thể được đặt ở bất kỳ đâu trên bản đồ.\nĐặt một \uf725 căn cứ. onset.detect = Quân địch sẽ phát hiện bạn trong vòng 2 phút.\nHãy chuẩn bị phòng thủ, khai thác và sản xuất. onset.commandmode = Giữ [accent]Shift[] để vào [accent]chế độ điều khiển quân[].\n[accent]Nhấp chuột trái và kéo[] để chọn các đơn vị.\n[accent]Chuộc phải[] để điều khiển các đơn vị di chuyển hoặc tấn công. onset.commandmode.mobile = Nhấn vào [accent]nút điều khiển[] để vào [accent]chế độ điều khiển quân[].\nGiữ một ngón tay, sau đó [accent]kéo[] để chọn các đơn vị.\n[accent]Nhấp[] để điều khiển các đơn vị di chuyển hoặc tấn công. -aegis.tungsten = Tungsten can be mined using an [accent]impact drill[].\nThis structure requires [accent]water[] and [accent]power[]. +aegis.tungsten = Tungsten có thể khai thác bằng [accent]khoan thủy lực[].\nCông trình này cần có [accent]nước[] và [accent]năng lượng[]. split.pickup = Một số khối có thể được mang bởi đơn vị.\nNhấp vào [accent]container[] và đặt nó lên [accent]máy nạp vật phẩm[].\n(Phím mặc định là [ và ] để mang và thả) split.pickup.mobile = Một số khối có thể được mang bởi đơn vị.\nNhấp vào [accent]container[] và đặt nó lên [accent]máy nạp vật phẩm[].\n(Để mang hoặc thả một khối, ấn giữ nó một chút.) split.acquire = Bạn cần một số tungsten để sản xuất đơn vị. @@ -1988,7 +2029,7 @@ liquid.nitrogen.description = Được sử dụng trong khai thác tài nguyên liquid.neoplasm.description = Một sản phẩm phụ sinh học nguy hiểm của lò phản ứng Neoplasia. Lan nhanh sang bất kì khối chứa nước nào mà nó chạm vào và gây hư hại chúng. Nhớt. liquid.neoplasm.details = Neoplasm. Một khối lượng các tế bào tổng hợp phân chia nhanh chóng không kiểm soát với độ đặc giống như bùn. Kháng nhiệt. Cực kì nguy hiểm cho bất cứ khối nào có liên quan đến nước.\n\nQuá phức tạp và không ổn định để được phân tích. Chưa rõ được tiềm năng và ứng dụng của nó. Khuyến nghị đốt chúng trong xỉ nóng chảy -block.derelict = \uf77e [lightgray]Không xác định +block.derelict = \uf77e [lightgray]Bỏ hoang block.armored-conveyor.description = Vận chuyển vật phẩm về phía trước. Không nhận đầu vào từ phía bên cạnh. block.illuminator.description = Phát sáng. block.message.description = Lưu trữ tin nhắn giao tiếp giữa đồng đội. @@ -2128,7 +2169,7 @@ block.additive-reconstructor.description = Nâng cấp quân của bạn lên c block.multiplicative-reconstructor.description = Nâng cấp quân của bạn lên cấp ba. block.exponential-reconstructor.description = Nâng cấp quân của bạn lên cấp bốn. block.tetrative-reconstructor.description = Nâng cấp quân của bạn lên cấp năm (cuối cùng). -block.switch.description = Công tắc, trạng thái có thể được đọc và điều khiển với vi xử lý logic. +block.switch.description = Công tắc, trạng thái có thể được đọc và điều khiển với xử lý logic. block.micro-processor.description = Chạy tập hợp các chỉ dẫn trong một vòng lặp, có thể dùng để điều khiển robot và công trình. block.logic-processor.description = Chạy tập hợp các chỉ dẫn trong một vòng lặp, có thể dùng để điều khiển robot và công trình. Nhanh hơn bộ xử lý nhỏ. block.hyper-processor.description = Chạy tập hợp các chỉ dẫn trong một vòng lặp, có thể dùng để điều khiển robot và công trình. Nhanh hơn bộ xử lý. @@ -2291,10 +2332,10 @@ unit.emanate.description = Xây công trình để phòng thủ lõi Acropolis. lst.read = Đọc một số từ bộ nhớ được liên kết. lst.write = Ghi một số vào bộ nhớ được liên kết. lst.print = Thêm văn bản vào bộ nhớ in.\nKhông hiển thị gì cho đến khi sử dụng [accent]Print Flush[]. -lst.format = Replace next placeholder ("[accent]@[]") in text buffer with a value.\nExample:\n[accent]print "test @"\nformat "example" lst.draw = Thêm một thao tác vào bộ nhớ vẽ.\nKhông hiển thị gì cho đến khi sử dụng [accent]Draw Flush[]. lst.drawflush = Chuyển các thao tác [accent]Draw[] đến màn hình. lst.printflush = Chuyển các thao tác [accent]Print[] đến khối tin nhắn. +lst.format = Thay thế kí tự giữ chỗ tiếp theo ("[accent]@[]") trong bộ đệm văn bản bằng giá trị.\nVí dụ:\n[accent]print "test @"\nformat "example" lst.getlink = Nhận liên kết bộ xử lý theo thứ tự. Bắt đầu từ 0. lst.control = Điều khiển một khối. lst.radar = Định vị các đơn vị trong phạm vi xung quanh một khối. @@ -2314,8 +2355,8 @@ lst.getblock = Lấy dữ liệu từ ô từ vị trí bất kì. lst.setblock = Chỉnh sửa dữ liệu từ ô từ vị trí bất kì. lst.spawnunit = Tạo ra quân từ vị trí. lst.applystatus = Áp dụng hoặc loại bỏ một hiệu ứng trạng thái cho một đơn vị. -lst.weathersense = Check if a type of weather is active. -lst.weatherset = Set the current state of a type of weather. +lst.weathersense = Kiểm tra kiểu thời tiết đang hoạt động. +lst.weatherset = Thiết lập trạng thái hiện tại của kiểu thời tiết. lst.spawnwave = Mô phỏng một lượt xuất hiện ở vị trí tùy ý.\nSẽ không tăng số đếm lượt. lst.explosion = Tạo ra một vụ nổ tại vị trí đó. lst.setrate = Đặt tốc độ thực thi khối xử lý theo chỉ thị/tíc-tắc. @@ -2329,45 +2370,45 @@ lst.getflag = Kiểm tra nếu cờ toàn cục được đặt. lst.setprop = Đặt một thuộc tính của đơn vị hoặc công trình. lst.effect = Tạo một phần hiệu ứng nhỏ. lst.sync = Đồng bộ giá trị biến qua mạng.\nChỉ gọi tối đa 10 lần mỗi giây. -lst.makemarker = Create a new logic marker in the world.\nAn ID to identify this marker must be provided.\nMarkers currently limited to 20,000 per world. -lst.setmarker = Set a property for a marker.\nThe ID used must be the same as in the Make Marker instruction. -lst.localeprint = Add map locale property value to the text buffer.\nTo set map locale bundles in map editor, check [accent]Map Info > Locale Bundles[].\nIf client is a mobile device, tries to print a property ending in ".mobile" first. +lst.makemarker = Tạo mới điểm đánh dấu lô-gic trên thế giới.\n Một định danh cho điểm đánh dấu này phải được cung cấp.\nĐiểm đánh dấu hiện tại bị giới hạn 20,000 trên mỗi thế giới. +lst.setmarker = Lập một thuộc tính cho một điểm đánh dấu.\n Định danh phải giống như định danh ở chỉ dẫn lệnh Tạo Điểm đánh dấu (Make Marker).\nGiá trị [accent]null [] sẽ bị phớt lờ thay vì chuyển thành 0. +lst.localeprint = Thêm một giá trị thuộc tính ngôn ngữ của bản đồ vào bộ đệm văn bản.\nĐể thiết đặt gói ngôn ngữ trong trình chỉnh sửa bản đồ, xem qua [accent]Thông tin bản đồ > Gói ngôn ngữ[].\nNếu máy khách là một thiết bị di động, sẽ cố in thuộc tính kết thúc bằng ".mobile" trước tiên. lglobal.false = 0 lglobal.true = 1 lglobal.null = null -lglobal.@pi = The mathematical constant pi (3.141...) -lglobal.@e = The mathematical constant e (2.718...) -lglobal.@degToRad = Multiply by this number to convert degrees to radians -lglobal.@radToDeg = Multiply by this number to convert radians to degrees -lglobal.@time = Playtime of current save, in milliseconds -lglobal.@tick = Playtime of current save, in ticks (1 second = 60 ticks) -lglobal.@second = Playtime of current save, in seconds -lglobal.@minute = Playtime of current save, in minutes -lglobal.@waveNumber = Current wave number, if waves are enabled -lglobal.@waveTime = Countdown timer for waves, in seconds -lglobal.@mapw = Map width in tiles -lglobal.@maph = Map height in tiles -lglobal.sectionMap = Map -lglobal.sectionGeneral = General -lglobal.sectionNetwork = Network/Clientside [World Processor Only] -lglobal.sectionProcessor = Processor -lglobal.sectionLookup = Lookup -lglobal.@this = The logic block executing the code -lglobal.@thisx = X coordinate of block executing the code -lglobal.@thisy = Y coordinate of block executing the code -lglobal.@links = Total number of blocks linked to this processors -lglobal.@ipt = Execution speed of the processor in instructions per tick (60 ticks = 1 second) -lglobal.@unitCount = Total number of types of unit content in the game; used with the lookup instruction -lglobal.@blockCount = Total number of types of block content in the game; used with the lookup instruction -lglobal.@itemCount = Total number of types of item content in the game; used with the lookup instruction -lglobal.@liquidCount = Total number of types of liquid content in the game; used with the lookup instruction -lglobal.@server = True if the code is running on a server or in singleplayer, false otherwise -lglobal.@client = True if the code is running on a client connected to a server -lglobal.@clientLocale = Locale of the client running the code. For example: en_US -lglobal.@clientUnit = Unit of client running the code -lglobal.@clientName = Player name of client running the code -lglobal.@clientTeam = Team ID of client running the code -lglobal.@clientMobile = True is the client running the code is on mobile, false otherwise +lglobal.@pi = Hằng số toán học pi (3.141...) +lglobal.@e = Hằng số toán học e (2.718...) +lglobal.@degToRad = Nhân với số này để chuyển từ độ (deg) sang radian (rad) +lglobal.@radToDeg = Nhân với số này để chuyển từ radian (rad) sang độ (deg) +lglobal.@time = Thời gian chơi của bản lưu hiện tại, tính bằng mili-giây +lglobal.@tick = Thời gian chơi của bản lưu hiện tại, tính bằng tích-tắc (1 giây = 60 tích-tắc) +lglobal.@second = Thời gian chơi của bản lưu hiện tại, tính bằng giây +lglobal.@minute = Thời gian chơi của bản lưu hiện tại, tính bằng phút +lglobal.@waveNumber = Số lượt hiện tại, nếu chế độ lượt được bật +lglobal.@waveTime = Thời gian đếm ngược của lượt, tính bằng giây +lglobal.@mapw = Độ rộng bản đồ, tính bằng ô +lglobal.@maph = Độ cao bản đồ, tính bằng ô +lglobal.sectionMap = Bản đồ +lglobal.sectionGeneral = Chung +lglobal.sectionNetwork = Mạng/Máy khách [Chỉ Bộ xử lý thế giới] +lglobal.sectionProcessor = Bộ xử lý +lglobal.sectionLookup = Tra cứu +lglobal.@this = Khối lô-gíc đang thực thi đoạn mã +lglobal.@thisx = Tọa độ x của khối đang thực thi đoạn mã +lglobal.@thisy = Tọa độ y của khối đang thực thi đoạn mã +lglobal.@links = Tổng số khối đã liên kết đến bộ xử lý này +lglobal.@ipt = Tốc độ thực thi của bộ xử lý tính bằng lệnh mỗi tích-tắc (60 tích-tắc = 1 giây) +lglobal.@unitCount = Tổng số kiểu mẫu đơn vị trong trò chơi; được dùng với lệnh tra cứu +lglobal.@blockCount = Tổng số kiểu mẫu khối trong trò chơi; được dùng với lệnh tra cứu +lglobal.@itemCount = Tổng số kiểu mẫu vật phẩm trong trò chơi; được dùng với lệnh tra cứu +lglobal.@liquidCount = Tổng số kiểu mẫu chất lỏng trong trò chơi; được dùng với lệnh tra cứu +lglobal.@server = True nếu đoạn mã chạy trên máy chủ hoặc chơi đơn, ngược lại là false +lglobal.@client = True nếu đoạn mã chạy trên máy khách được kết nối đến máy chủ +lglobal.@clientLocale = Ngôn ngữ của máy khách đang chạy đoạn mã. Ví dụ: vi_VN +lglobal.@clientUnit = Đơn vị máy khách đang chạy đoạn mã +lglobal.@clientName = Tên người chơi của máy khách đang chạy đoạn mã +lglobal.@clientTeam = Định danh đội của máy khách đang chạy đoạn mã +lglobal.@clientMobile = True nếu máy khách đang chạy đoạn mã trên thiết bị di động, ngược lại là false logic.nounitbuild = [red]Lô-gíc xây dựng đơn vị không được phép ở đây. @@ -2410,7 +2451,7 @@ graphicstype.poly = Tô vào đa giác đều. graphicstype.linepoly = Vẽ đường viền đa giác đều. graphicstype.triangle = Tô một hình tam giác. graphicstype.image = Vẽ hình ảnh một số nội dung.\nVí dụ: [accent]@router[] hoặc [accent]@dagger[]. -graphicstype.print = Draws text from the print buffer.\nClears the print buffer. +graphicstype.print = Vẽ văn bản từ bộ đệm in ra.\nLàm sạch bộ đệm. lenum.always = Luôn đúng. lenum.idiv = Chia lấy phần nguyên. @@ -2519,10 +2560,10 @@ lenum.build = Xây công trình. lenum.getblock = Lấy một cấu trúc và kiểu tại một tọa độ.\nĐơn vị phải nằm trong tầm của vị trí.\nKhối rắn không phải công trình có kiểu [accent]@solid[]. lenum.within = Kiểm tra xem đơn vị có gần vị trí không. lenum.boost = Bắt đầu/Dừng tăng tốc. -lenum.flushtext = Flush print buffer's content to marker, if applicable.\nIf fetch is set to true, tries to fetch properties from map locale bundle or game's bundle. -lenum.texture = Texture name straight from game's texture atlas (using kebab-case naming style).\nIf printFlush is set to true, consumes text buffer content as text argument. -lenum.texturesize = Size of texture in tiles. Zero value scales marker width to original texture's size. -lenum.autoscale = Whether to scale marker corresponding to player's zoom level. -lenum.posi = Indexed position, used for line and quad markers with index zero being the first position. -lenum.uvi = Texture's position ranging from zero to one, used for quad markers. -lenum.colori = Indexed position, used for line and quad markers with index zero being the first color. +lenum.flushtext = Lấp đầy nội dung của bộ đệm cho điểm đánh dấu, nếu có thể áp dụng.\n Nếu [accent]fetch[] gắn là [accent]true[], sẽ cố truy vấn các thuộc tính từ gói ngôn ngữ của bản đồ hoặc trò chơi. +lenum.texture = Tên kết cấu lấy thẳng từ bản khung kết cấu của trò chơi (dùng kiểu tên kebab-case, tên-chữ-thường-chứa-gạch-nối).\nNếu printFlush gán bằng true, sẽ sử dụng nội dung bộ đệm văn bản làm tham số văn bản. +lenum.texturesize = Kích thước của kết cấu bằng ô. Giá trị 0 chia tỷ lệ chiều rộng của điểm đánh dấu theo kích thước của kết cấu ban đầu. +lenum.autoscale = Có chia tỷ lệ điểm đánh dấu tương ứng với mức thu phóng của người chơi hay không. +lenum.posi = Vị trí theo chỉ số, dùng cho điểm đánh dấu đường kẻ (line) và bốn điểm (quad) với 0 là vị trí đầu tiên. +lenum.uvi = Vị trí của kết cấu trong phạm vi từ 0 đến 1, dùng cho đánh dấu bốn điểm (quad). +lenum.colori = Màu theo chỉ số, dùng cho điểm đánh dấu đường kẻ (line) và bốn điểm (quad) với 0 là màu đầu tiên. \ No newline at end of file From a14e8d61898456b20bfc0a87c6d6b1032e619c9a Mon Sep 17 00:00:00 2001 From: Github Actions Date: Sun, 31 Mar 2024 03:25:10 +0000 Subject: [PATCH 50/89] Automatic bundle update --- core/assets/bundles/bundle_vi.properties | 45 ++---------------------- 1 file changed, 2 insertions(+), 43 deletions(-) diff --git a/core/assets/bundles/bundle_vi.properties b/core/assets/bundles/bundle_vi.properties index e8be02a566..393ff981cb 100644 --- a/core/assets/bundles/bundle_vi.properties +++ b/core/assets/bundles/bundle_vi.properties @@ -986,46 +986,6 @@ stat.immunities = Miễn nhiễm stat.healing = Sửa chữa ability.forcefield = Tạo khiên -ability.forcefield.description = Phát một khiên trường lực hấp thụ các loại đạn -ability.repairfield = Sửa chữa/Xây dựng -ability.repairfield.description = Sửa chữa các đơn vị gần đó -ability.statusfield = Vùng gia tốc -ability.statusfield.description = Áp dụng hiệu ứng trạng thái vào các đơn vị gần đó -ability.unitspawn = Sản xuất -ability.unitspawn.description = Sản xuất đơn vị -ability.shieldregenfield = Tạo khiên nhỏ -ability.shieldregenfield.description = Tạo khiên cho các đơn vị gần đó -ability.movelightning = Phóng điện khi di chuyển -ability.movelightning.description = Giải phóng tia điện khi di chuyển -ability.armorplate = Mảnh giáp -ability.armorplate.description = Giảm sát thương gánh chịu trong khi bắn -ability.shieldarc = Khiên vòng cung -ability.shieldarc.description = Phát một khiên trường lực vòng cung hấp thụ các loại đạn -ability.suppressionfield = Ngăn chặn sửa chữa -ability.suppressionfield.description = Ngăn chặn các công trình sửa chữa -ability.energyfield = Trường điện từ -ability.energyfield.description = Giật điện các kẻ thù gần đó -ability.energyfield.healdescription = Giật điện các kẻ thù gần đó và hồi phục đồng minh -ability.regen = Hồi phục -ability.regen.description = Tự hồi phục theo thời gian -ability.liquidregen = Hấp thụ chất lỏng -ability.liquidregen.description = Hấp thụ chất lỏng để tự hồi phục -ability.spawndeath = Chết sản sinh -ability.spawndeath.description = Sinh ra đơn vị khi chết -ability.liquidexplode = Chết tràn dịch -ability.liquidexplode.description = Tràn chất lỏng khi chết -ability.stat.firingrate = tốc bắn [stat]{0}/giây[lightgray] -ability.stat.regen = [stat]{0}[lightgray] độ bền/giây -ability.stat.shield = [stat]{0}[lightgray] khiên -ability.stat.repairspeed = [stat]{0}/giây[lightgray] tốc độ sửa chữa -ability.stat.slurpheal = [stat]{0}[lightgray] độ bền/đơn vị chất lỏng -ability.stat.cooldown = [stat]{0} giây[lightgray] hồi chiêu -ability.stat.maxtargets = [stat]{0}[lightgray] mục tiêu tối đa -ability.stat.sametypehealmultiplier = [stat]{0}%[lightgray] số lượng sửa chữa cùng kiểu -ability.stat.damagereduction = [stat]{0}%[lightgray] giảm sát thương -ability.stat.minspeed = tốc độ tối thiểu [stat]{0} ô/giây[lightgray] -ability.stat.duration = thời hạn [stat]{0} giây[lightgray] -ability.stat.buildtime = thời gian xây [stat]{0} giây[lightgray] ability.forcefield.description = Projects a force shield that absorbs bullets ability.repairfield = Sửa chữa/Xây dựng ability.repairfield.description = Repairs nearby units @@ -1367,7 +1327,6 @@ rules.unitdamagemultiplier = Hệ số sát thương của đơn vị rules.unitcrashdamagemultiplier = Hệ số sát thương của đơn vị khi bị bắn rơi rules.solarmultiplier = Hệ số năng lượng mặt trời rules.unitcapvariable = Căn cứ tăng giới hạn đơn vị -rules.unitpayloadsexplode = Khối hàng mang theo phát nổ cùng đơn vị rules.unitpayloadsexplode = Carried Payloads Explode With The Unit rules.unitcap = Giới hạn đơn vị rules.limitarea = Giới hạn kích thước bản đồ @@ -2332,10 +2291,10 @@ unit.emanate.description = Xây công trình để phòng thủ lõi Acropolis. lst.read = Đọc một số từ bộ nhớ được liên kết. lst.write = Ghi một số vào bộ nhớ được liên kết. lst.print = Thêm văn bản vào bộ nhớ in.\nKhông hiển thị gì cho đến khi sử dụng [accent]Print Flush[]. +lst.format = Thay thế kí tự giữ chỗ tiếp theo ("[accent]@[]") trong bộ đệm văn bản bằng giá trị.\nVí dụ:\n[accent]print "test @"\nformat "example" lst.draw = Thêm một thao tác vào bộ nhớ vẽ.\nKhông hiển thị gì cho đến khi sử dụng [accent]Draw Flush[]. lst.drawflush = Chuyển các thao tác [accent]Draw[] đến màn hình. lst.printflush = Chuyển các thao tác [accent]Print[] đến khối tin nhắn. -lst.format = Thay thế kí tự giữ chỗ tiếp theo ("[accent]@[]") trong bộ đệm văn bản bằng giá trị.\nVí dụ:\n[accent]print "test @"\nformat "example" lst.getlink = Nhận liên kết bộ xử lý theo thứ tự. Bắt đầu từ 0. lst.control = Điều khiển một khối. lst.radar = Định vị các đơn vị trong phạm vi xung quanh một khối. @@ -2566,4 +2525,4 @@ lenum.texturesize = Kích thước của kết cấu bằng ô. Giá trị 0 chi lenum.autoscale = Có chia tỷ lệ điểm đánh dấu tương ứng với mức thu phóng của người chơi hay không. lenum.posi = Vị trí theo chỉ số, dùng cho điểm đánh dấu đường kẻ (line) và bốn điểm (quad) với 0 là vị trí đầu tiên. lenum.uvi = Vị trí của kết cấu trong phạm vi từ 0 đến 1, dùng cho đánh dấu bốn điểm (quad). -lenum.colori = Màu theo chỉ số, dùng cho điểm đánh dấu đường kẻ (line) và bốn điểm (quad) với 0 là màu đầu tiên. \ No newline at end of file +lenum.colori = Màu theo chỉ số, dùng cho điểm đánh dấu đường kẻ (line) và bốn điểm (quad) với 0 là màu đầu tiên. From 45bdceb7fba0425f41a386f88b5afa5a0403785e Mon Sep 17 00:00:00 2001 From: Anuken Date: Sat, 30 Mar 2024 23:32:19 -0400 Subject: [PATCH 51/89] Update bundle_vi.properties --- core/assets/bundles/bundle_vi.properties | 70 ++++++++++++------------ 1 file changed, 35 insertions(+), 35 deletions(-) diff --git a/core/assets/bundles/bundle_vi.properties b/core/assets/bundles/bundle_vi.properties index 393ff981cb..377ce2fff4 100644 --- a/core/assets/bundles/bundle_vi.properties +++ b/core/assets/bundles/bundle_vi.properties @@ -986,46 +986,46 @@ stat.immunities = Miễn nhiễm stat.healing = Sửa chữa ability.forcefield = Tạo khiên -ability.forcefield.description = Projects a force shield that absorbs bullets +ability.forcefield.description = Phát một khiên trường lực hấp thụ các loại đạn ability.repairfield = Sửa chữa/Xây dựng -ability.repairfield.description = Repairs nearby units +ability.repairfield.description = Sửa chữa các đơn vị gần đó ability.statusfield = Vùng gia tốc -ability.statusfield.description = Applies a status effect to nearby units +ability.statusfield.description = Áp dụng hiệu ứng trạng thái vào các đơn vị gần đó ability.unitspawn = Sản xuất -ability.unitspawn.description = Constructs units +ability.unitspawn.description = Sản xuất đơn vị ability.shieldregenfield = Tạo khiên nhỏ -ability.shieldregenfield.description = Regenerates shields of nearby units +ability.shieldregenfield.description = Tạo khiên cho các đơn vị gần đó ability.movelightning = Phóng điện khi di chuyển -ability.movelightning.description = Releases lightning while moving -ability.armorplate = Armor Plate -ability.armorplate.description = Reduces damage taken while shooting -ability.shieldarc = Khiên Vòng Cung -ability.shieldarc.description = Projects a force shield in an arc that absorbs bullets -ability.suppressionfield = Trường sửa chữa -ability.suppressionfield.description = Stops nearby repair buildings +ability.movelightning.description = Giải phóng tia điện khi di chuyển +ability.armorplate = Mảnh giáp +ability.armorplate.description = Giảm sát thương gánh chịu trong khi bắn +ability.shieldarc = Khiên vòng cung +ability.shieldarc.description = Phát một khiên trường lực vòng cung hấp thụ các loại đạn +ability.suppressionfield = Ngăn chặn sửa chữa +ability.suppressionfield.description = Ngăn chặn các công trình sửa chữa ability.energyfield = Trường điện từ -ability.energyfield.description = Zaps nearby enemies -ability.energyfield.healdescription = Zaps nearby enemies and heals allies -ability.regen = Regeneration -ability.regen.description = Regenerates own health over time -ability.liquidregen = Liquid Absorption -ability.liquidregen.description = Absorbs liquid to heal itself -ability.spawndeath = Death Spawns -ability.spawndeath.description = Releases units on death -ability.liquidexplode = Death Spillage -ability.liquidexplode.description = Spills liquid on death -ability.stat.firingrate = [stat]{0}/sec[lightgray] firing rate -ability.stat.regen = [stat]{0}[lightgray] health/sec -ability.stat.shield = [stat]{0}[lightgray] shield -ability.stat.repairspeed = [stat]{0}/sec[lightgray] repair speed -ability.stat.slurpheal = [stat]{0}[lightgray] health/liquid unit -ability.stat.cooldown = [stat]{0} sec[lightgray] cooldown -ability.stat.maxtargets = [stat]{0}[lightgray] max targets -ability.stat.sametypehealmultiplier = [stat]{0}%[lightgray] same type repair amount -ability.stat.damagereduction = [stat]{0}%[lightgray] damage reduction -ability.stat.minspeed = [stat]{0} tiles/sec[lightgray] min speed -ability.stat.duration = [stat]{0} sec[lightgray] duration -ability.stat.buildtime = [stat]{0} sec[lightgray] build time +ability.energyfield.description = Giật điện các kẻ thù gần đó +ability.energyfield.healdescription = Giật điện các kẻ thù gần đó và hồi phục đồng minh +ability.regen = Hồi phục +ability.regen.description = Tự hồi phục theo thời gian +ability.liquidregen = Hấp thụ chất lỏng +ability.liquidregen.description = Hấp thụ chất lỏng để tự hồi phục +ability.spawndeath = Chết sản sinh +ability.spawndeath.description = Sinh ra đơn vị khi chết +ability.liquidexplode = Chết tràn dịch +ability.liquidexplode.description = Tràn chất lỏng khi chết +ability.stat.firingrate = tốc bắn [stat]{0}/giây[lightgray] +ability.stat.regen = [stat]{0}[lightgray] độ bền/giây +ability.stat.shield = [stat]{0}[lightgray] khiên +ability.stat.repairspeed = [stat]{0}/giây[lightgray] tốc độ sửa chữa +ability.stat.slurpheal = [stat]{0}[lightgray] độ bền/đơn vị chất lỏng +ability.stat.cooldown = [stat]{0} giây[lightgray] hồi chiêu +ability.stat.maxtargets = [stat]{0}[lightgray] mục tiêu tối đa +ability.stat.sametypehealmultiplier = [stat]{0}%[lightgray] số lượng sửa chữa cùng kiểu +ability.stat.damagereduction = [stat]{0}%[lightgray] giảm sát thương +ability.stat.minspeed = tốc độ tối thiểu [stat]{0} ô/giây[lightgray] +ability.stat.duration = thời hạn [stat]{0} giây[lightgray] +ability.stat.buildtime = thời gian xây [stat]{0} giây[lightgray] bar.onlycoredeposit = Chỉ có thể đưa vào căn cứ bar.drilltierreq = Cần máy khoan tốt hơn @@ -1327,7 +1327,7 @@ rules.unitdamagemultiplier = Hệ số sát thương của đơn vị rules.unitcrashdamagemultiplier = Hệ số sát thương của đơn vị khi bị bắn rơi rules.solarmultiplier = Hệ số năng lượng mặt trời rules.unitcapvariable = Căn cứ tăng giới hạn đơn vị -rules.unitpayloadsexplode = Carried Payloads Explode With The Unit +rules.unitpayloadsexplode = Khối hàng mang theo phát nổ cùng đơn vị rules.unitcap = Giới hạn đơn vị rules.limitarea = Giới hạn kích thước bản đồ rules.enemycorebuildradius = Bán kính không xây dựng trong căn cứ của kẻ địch:[lightgray] (ô) From 40cd2fd27605029151a446d0d0bffb6a27fa355c Mon Sep 17 00:00:00 2001 From: FelixDesyatirikov <53256666+FelixDes@users.noreply.github.com> Date: Sun, 31 Mar 2024 23:16:58 +0300 Subject: [PATCH 52/89] Fix pause toggling (#9696) --- server/src/mindustry/server/ServerControl.java | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/server/src/mindustry/server/ServerControl.java b/server/src/mindustry/server/ServerControl.java index 8462871083..44e12c76f8 100644 --- a/server/src/mindustry/server/ServerControl.java +++ b/server/src/mindustry/server/ServerControl.java @@ -527,7 +527,7 @@ public class ServerControl implements ApplicationListener{ } boolean pause = arg[0].equals("on"); autoPaused = false; - state.set(state.isPaused() ? State.playing : State.paused); + state.set(pause ? State.paused : State.playing); info(pause ? "Game paused." : "Game unpaused."); }); From b2b29d3900f439c8abe8e782688f9eb662e0bbcf Mon Sep 17 00:00:00 2001 From: c6b2qb5g <160118416+c6b2qb5g@users.noreply.github.com> Date: Mon, 1 Apr 2024 04:52:52 +0700 Subject: [PATCH 53/89] Update servers_v7.json (#9698) * Update servers_v7.json * Update servers_v7.json --- servers_v7.json | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/servers_v7.json b/servers_v7.json index d62c916a04..430814f6c4 100644 --- a/servers_v7.json +++ b/servers_v7.json @@ -295,7 +295,7 @@ }, { "name": "NPTS", - "address": ["77.87.215.102:26863"] + "address": ["94.198.54.132:26863"] }, { "name": "Skywar.VN", From dd083061b5b9a0746c27e3650f3ab71d098a805a Mon Sep 17 00:00:00 2001 From: abcxyzDustry <138785336+abcxyzDustry@users.noreply.github.com> Date: Mon, 1 Apr 2024 04:53:22 +0700 Subject: [PATCH 54/89] Update servers_v7.json (#9697) delete abcxyz ip and replace it with a completely new ip --- servers_v7.json | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/servers_v7.json b/servers_v7.json index 430814f6c4..56f07af980 100644 --- a/servers_v7.json +++ b/servers_v7.json @@ -242,8 +242,8 @@ "address": ["play.3midustry.xyz:6001", "play.3midustry.xyz:6002", "play.3midustry.xyz:6003", "play.3midustry.xyz:6004", "play.3midustry.xyz:6005", "play.3midustry.xyz:6006", "play.3midustry.xyz:6007", "play.3midustry.xyz:6008", "play.3midustry.xyz:6009", "play.3midustry.xyz:6010"] }, { - "name": "ABCXYZ Community", - "address": ["23.88.73.88:23591", "23.88.73.88:23539", "144.76.57.59:14996", "144.76.57.59:16881", "144.76.57.59:13885", "23.88.73.88:32113", "144.76.57.59:9269", "144.76.57.59:24235", "144.76.57.59:24133", "51.81.57.217:24902"] + "name": "Siege Siege", + "address": ["157.90.4.54:25421"] }, { "name": "CroCraft Network", From 3f6deea7197321dab390cd432c7abe706f78d874 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=E9=85=AA=E6=A1=A6=E5=A7=AC?= <147405396+LaoHuaJiOfficial@users.noreply.github.com> Date: Mon, 1 Apr 2024 22:30:14 +0800 Subject: [PATCH 55/89] Update bundle_zh_CN.properties(ready to merge) (#9690) * Update bundle_zh_CN.properties(ready to merge) * small fix * translation fix * small fix and done --- core/assets/bundles/bundle_zh_CN.properties | 379 ++++++++++---------- 1 file changed, 191 insertions(+), 188 deletions(-) diff --git a/core/assets/bundles/bundle_zh_CN.properties b/core/assets/bundles/bundle_zh_CN.properties index ddd3e316d9..0ec1c2bb1c 100644 --- a/core/assets/bundles/bundle_zh_CN.properties +++ b/core/assets/bundles/bundle_zh_CN.properties @@ -152,17 +152,17 @@ mod.incompatiblemod = [red]不兼容 mod.blacklisted = [red]不支持 mod.unmetdependencies = [red]缺少前置模组 mod.erroredcontent = [scarlet]内容错误 -mod.circulardependencies = [red]Circular Dependencies -mod.incompletedependencies = [red]Incomplete Dependencies +mod.circulardependencies = [red]循环依赖 +mod.incompletedependencies = [red]缺失依赖 -mod.requiresversion.details = 所需的最低游戏版本:[accent]{0}[]\n您的游戏版本过低。 这个模组需要更新的游戏版本(通常是beta/alpha版本)才能工作。 -mod.outdatedv7.details = 这个模组与最新版游戏不兼容。 作者必须更新它,并在[accent]mod.json[]文件中写入[accent]minGameVersion: 136[]。 -mod.blacklisted.details = 这个模组由于造成该版本游戏崩溃或其他原因被手动禁用了。 不要使用它。 +mod.requiresversion.details = 所需的最低游戏版本:[accent]{0}[]\n您的游戏版本过低。 此模组需要更新的游戏版本(通常是beta/alpha版本)才能工作。 +mod.outdatedv7.details = 此模组与最新版游戏不兼容。 作者必须更新它,并在[accent]mod.json[]文件中写入[accent]minGameVersion: 136[]。 +mod.blacklisted.details = 此模组由于造成该版本游戏崩溃或其他原因被手动禁用了。 不要使用它。 mod.missingdependencies.details = 缺少前置模组:{0} -mod.erroredcontent.details = 这个模组在游戏加载时发生了错误。 请通知模组作者修复它。 -mod.circulardependencies.details = This mod has dependencies that depends on each other. -mod.incompletedependencies.details = This mod is unable to be loaded due to invalid or missing dependencies: {0}. -mod.requiresversion = Requires game version: [red]{0} +mod.erroredcontent.details = 此模组在游戏加载时发生了错误。 请通知模组作者修复它。 +mod.circulardependencies.details = 此模组与其他模组相互依赖。 +mod.incompletedependencies.details = 由于依赖项无效或缺失,此模组无法加载:{0}. +mod.requiresversion = 需要游戏版本: [red]{0} mod.errors = 读取内容时发生错误。 mod.noerrorplay = [scarlet]您的模组发生了错误。 []禁用相关模组或修复错误后才能进入游戏。 @@ -258,19 +258,19 @@ trace = 跟踪玩家 trace.playername = 玩家名称:[accent]{0} trace.ip = IP地址:[accent]{0} trace.id = 玩家 ID:[accent]{0} -trace.language = Language: [accent]{0} +trace.language = 语言: [accent]{0} trace.mobile = 移动客户端:[accent]{0} trace.modclient = 自定义客户端:[accent]{0} trace.times.joined = 进入服务器次数: [accent]{0} trace.times.kicked = 踢出服务器次数: [accent]{0} -trace.ips = IPs: -trace.names = Names: +trace.ips = 曾用IP: +trace.names = 曾用名: invalidid = 无效的客户端ID!提交一个错误报告。 -player.ban = Ban -player.kick = Kick -player.trace = Trace -player.admin = Toggle Admin -player.team = Change Team +player.ban = 封禁 +player.kick = 踢出 +player.trace = 追朔 +player.admin = 切换管理员 +player.team = 改变队伍 server.bans = 黑名单 server.bans.none = 没有被封禁的玩家! server.admins = 管理员 @@ -287,8 +287,8 @@ confirmkick = 确定踢出玩家“{0}[white]”? confirmunban = 确定解封这名玩家? confirmadmin = 确定给予玩家“{0}[white]”管理员权限? confirmunadmin = 确定收回玩家“{0}[white]”的管理员权限? -votekick.reason = Vote-Kick Reason -votekick.reason.message = Are you sure you want to vote-kick "{0}[white]"?\nIf yes, please enter the reason: +votekick.reason = 投票踢出理由 +votekick.reason.message = 确定投票踢出玩家"{0}[white]"?\n如果是,请输入理由: joingame.title = 加入游戏 joingame.ip = 地址: disconnect = 已断开连接 @@ -306,7 +306,7 @@ server.invalidport = 无效的端口! server.error = [scarlet]创建服务器错误。 save.new = 新存档 save.overwrite = 确定要覆盖这个存档吗? -save.nocampaign = Individual save files from the campaign cannot be imported. +save.nocampaign = 无法导入战役中的单个保存文件。 overwrite = 覆盖 save.none = 没有找到存档! savefail = 保存失败! @@ -344,23 +344,23 @@ open = 打开 customize = 自定义规则 cancel = 取消 command = 指挥 -command.queue = [lightgray][Queuing] +command.queue = [lightgray][排队中] command.mine = 挖矿 command.repair = 维修 command.rebuild = 重建 command.assist = 协助建造 command.move = 移动 -command.boost = Boost -command.enterPayload = Enter Payload Block -command.loadUnits = Load Units -command.loadBlocks = Load Blocks -command.unloadPayload = Unload Payload -stance.stop = Cancel Orders -stance.shoot = Stance: Shoot -stance.holdfire = Stance: Hold Fire -stance.pursuetarget = Stance: Pursue Target -stance.patrol = Stance: Patrol Path -stance.ram = Stance: Ram\n[lightgray]Straight line movement, no pathfinding +command.boost = 助推 +command.enterPayload = 进入载荷建筑 +command.loadUnits = 拾取单位 +command.loadBlocks = 拾取建筑 +command.unloadPayload = 卸载载荷 +stance.stop = 取消指令 +stance.shoot = 姿态: 射击 +stance.holdfire = 姿态: 停火 +stance.pursuetarget = 姿态: 追逐目标 +stance.patrol = 姿态: 路径巡逻 +stance.ram = 姿态: 冲锋\n[lightgray]径直移动,不进行寻路。 openlink = 打开链接 copylink = 复制链接 back = 返回 @@ -386,8 +386,8 @@ pausebuilding = 按[accent][[{0}][]键暂停建造 resumebuilding = 按[scarlet][[{0}][]键恢复建造 enablebuilding = 按[scarlet][[{0}][]键启用建造 showui = UI已隐藏\n按[accent][[{0}][]键显示UI -commandmode.name = [accent]Command Mode -commandmode.nounits = [no units] +commandmode.name = [accent]指挥模式 +commandmode.nounits = [无单位] wave = [accent]第{0}波 wave.cap = [accent]波次 {0}/{1} wave.waiting = [lightgray]下一波倒计时:{0}秒 @@ -441,7 +441,7 @@ editor.waves = 波次 editor.rules = 规则 editor.generation = 生成 editor.objectives = 目标 -editor.locales = Locale Bundles +editor.locales = 本地化语言包 editor.ingame = 游戏内编辑 editor.playtest = 游戏内测试 editor.publish.workshop = 上传到创意工坊 @@ -473,7 +473,7 @@ waves.max = 最大单位数 waves.guardian = Boss waves.preview = 预览 waves.edit = 编辑… -waves.random = Random +waves.random = 随机 waves.copy = 复制到剪贴板 waves.load = 从剪贴板读取 waves.invalid = 剪贴板中的波次信息无效。 @@ -484,12 +484,12 @@ waves.sort.reverse = 反向排序 waves.sort.begin = 出场顺序 waves.sort.health = 生命值 waves.sort.type = 类型 -waves.search = Search waves... -waves.filter = Unit Filter +waves.search = 搜索波次... +waves.filter = 单位过滤器 waves.units.hide = 全部隐藏 waves.units.show = 全部显示 -#these are intentionally in lower case(中文无关) +#these are intentionally in lower case wavemode.counts = 数目 wavemode.totals = 总数 wavemode.health = 生命值 @@ -498,7 +498,7 @@ editor.default = [lightgray]<默认> details = 详情… edit = 编辑… variables = 变量 -logic.globals = Built-in Variables +logic.globals = 内置变量 editor.name = 名称: editor.spawn = 生成单位 editor.removeunit = 移除单位 @@ -510,7 +510,7 @@ editor.errorlegacy = 此地图太旧了,旧的地图格式已不再支持。 editor.errornot = 这不是地图文件。 editor.errorheader = 此地图文件无效或已损坏。 editor.errorname = 地图没有定义名称。 加载的可能是存档文件? -editor.errorlocales = Error reading invalid locale bundles. +editor.errorlocales = 读取无效本地化语言包时出错。 editor.update = 更新 editor.randomize = 重新生成 editor.moveup = 上移 @@ -522,7 +522,7 @@ editor.sectorgenerate = 生成区块 editor.resize = 改变尺寸 editor.loadmap = 载入地图 editor.savemap = 保存地图 -editor.savechanges = [scarlet]You have unsaved changes!\n\n[]Do you want to save them? +editor.savechanges = [scarlet]您有未保存的更改!\n\n[]您想要保存他们吗? editor.saved = 已保存! editor.save.noname = 您还没有指定地图的名称!在“地图信息”菜单里设置一个名称。 editor.save.overwrite = 您正试图覆盖一张内置地图!在“地图信息”菜单里重新设置一个其他的名称。 @@ -561,8 +561,8 @@ toolmode.eraseores = 擦除矿脉 toolmode.eraseores.description = 仅擦除矿脉,不影响其他物体。 toolmode.fillteams = 填充队伍 toolmode.fillteams.description = 不再填充方块,而是填充队伍颜色。 -toolmode.fillerase = Fill Erase -toolmode.fillerase.description = Erase blocks of the same type. +toolmode.fillerase = 擦除同类 +toolmode.fillerase.description = 擦除同种种类的方块。 toolmode.drawteams = 绘制队伍 toolmode.drawteams.description = 不再绘制方块,而是绘制队伍颜色。 #未使用 @@ -610,23 +610,23 @@ filter.option.floor2 = 内层地形 filter.option.threshold2 = 内层比例 filter.option.radius = 半径 filter.option.percentile = 百分比 -locales.info = Here, you can add locale bundles for specific languages to your map. In locale bundles, each property has a name and a value. These properties can be used by world processors and objectives using their names. They support text formatting (replacing placeholders with actual values).\n\n[cyan]Example property:\n[]name: [accent]timer[]\nvalue: [accent]Example timer, time left: @[]\n\n[cyan]Usage:\n[]Set it as objective's text: [accent]@timer\n\n[]Print it in a world processor:\n[accent]localeprint "timer"\nformat time\n[gray](where time is a separately calculated variable) -locales.deletelocale = Are you sure you want to delete this locale bundle? -locales.applytoall = Apply Changes To All Locales -locales.addtoother = Add To Other Locales -locales.rollback = Rollback to last applied -locales.filter = Property filter -locales.searchname = Search name... -locales.searchvalue = Search value... -locales.searchlocale = Search locale... -locales.byname = By name -locales.byvalue = By value -locales.showcorrect = Show properties that are present in all locales and have unique values everywhere -locales.showmissing = Show properties that are missing in some locales -locales.showsame = Show properties that have same values in different locales -locales.viewproperty = View in all locales -locales.viewing = Viewing property "{0}" -locales.addicon = Add Icon +locales.info = 在这里,您可以为特定语言添加本地化语言包到您的地图中。在本地化语言包中,每个文本属性都有一个名称和一个值。这些文本属性可以由世界处理器和游戏目标使用它们的名称。它们支持文本格式化(用实际值替换占位符)。\n\n[cyan]示例文本属性:\n[]名称: [accent]timer[]\值: [accent]示例计时器, 剩余时间: @[]\n\n[cyan]用法:\n[]将其设置为目标的文本: [accent]@timer\n\n[]在世界处理器中打印它:\n[accent]localeprint "timer"\n格式化时间\n[gray](时间是一个单独计算的变量) +locales.deletelocale = 您确定要删除该本地化语言包吗? +locales.applytoall = 将更改应用于所有本地化语言包 +locales.addtoother = 添加到其他本地化语言包 +locales.rollback = 回滚到上次应用的状态 +locales.filter = 文本属性过滤器 +locales.searchname = 搜索名称... +locales.searchvalue = 搜索值... +locales.searchlocale = 搜索本地化... +locales.byname = 按名称 +locales.byvalue = 按值 +locales.showcorrect = 显示所有本地化语言包中存在并且在所有地方具有唯一值的文本属性 +locales.showmissing = 显示在某些本地化语言包中缺失的文本属性 +locales.showsame = 显示在不同本地化语言包中具有相同值的文本属性 +locales.viewproperty = 在所有本地化语言包中查看 +locales.viewing = 查看文本属性 "{0}" +locales.addicon = 添加图标 width = 宽度: height = 高度: @@ -679,11 +679,11 @@ objective.commandmode.name = 指挥模式 objective.flag.name = 标签 marker.shapetext.name = 带形状文本 -marker.point.name = Point +marker.point.name = 点 marker.shape.name = 形状 marker.text.name = 文本 -marker.line.name = Line -marker.quad.name = Quad +marker.line.name = 线 +marker.quad.name = 四边形 marker.background = 背景 marker.outline = 轮廓 @@ -771,8 +771,8 @@ sector.curlost = 区块已丢失 sector.missingresources = [scarlet]建造核心所需资源不足 sector.attacked = 区块[accent]{0}[white]受到攻击! sector.lost = 区块[accent]{0}[white]已丢失! -sector.capture = Sector [accent]{0}[white]Captured! -sector.capture.current = Sector Captured! +sector.capture = 区块[accent]{0}[white]已占领! +sector.capture.current = 区块已占领! sector.changeicon = 更改图标 sector.noswitch.title = 无法切换区块 sector.noswitch = 你无法在当前区块遭受攻击时切换区块。\n\n区块:[accent]{0}[]位于[accent]{1}[] @@ -947,7 +947,7 @@ stat.repairspeed = 修理速度 stat.weapons = 武器 stat.bullet = 子弹 stat.moduletier = 模块等级 -stat.unittype = Unit Type +stat.unittype = 单位类型 stat.speedincrease = 提速 stat.range = 范围 stat.drilltier = 可钻探矿物 @@ -994,46 +994,47 @@ stat.immunities = 免疫 stat.healing = 治疗 ability.forcefield = 力墙场 -ability.forcefield.description = Projects a force shield that absorbs bullets +ability.forcefield.description = 投射一个能吸收子弹的力场护盾 ability.repairfield = 修复场 -ability.repairfield.description = Repairs nearby units +ability.repairfield.description = 修复附近的单位 ability.statusfield = 状态场 -ability.statusfield.description = Applies a status effect to nearby units -ability.unitspawn = 单位工厂 -ability.unitspawn.description = Constructs units +ability.statusfield.description = 对附近的单位施加状态效果 +ability.unitspawn = 单位生成 +ability.unitspawn.description = 建造单位 ability.shieldregenfield = 护盾再生场 -ability.shieldregenfield.description = Regenerates shields of nearby units +ability.shieldregenfield.description = 再生附近单位的护盾 ability.movelightning = 闪电助推器 -ability.movelightning.description = Releases lightning while moving -ability.armorplate = Armor Plate -ability.armorplate.description = Reduces damage taken while shooting +ability.movelightning.description = 移动时释放闪电 +ability.armorplate = 装甲板 +ability.armorplate.description = 在射击时减少受到的伤害 ability.shieldarc = 弧形护盾 -ability.shieldarc.description = Projects a force shield in an arc that absorbs bullets +ability.shieldarc.description = 投射一个弧形的力场护盾,能吸收子弹 ability.suppressionfield = 修复压制场 -ability.suppressionfield.description = Stops nearby repair buildings -ability.energyfield = 能量场: -ability.energyfield.description = Zaps nearby enemies -ability.energyfield.healdescription = Zaps nearby enemies and heals allies -ability.regen = Regeneration -ability.regen.description = Regenerates own health over time -ability.liquidregen = Liquid Absorption -ability.liquidregen.description = Absorbs liquid to heal itself -ability.spawndeath = Death Spawns -ability.spawndeath.description = Releases units on death -ability.liquidexplode = Death Spillage -ability.liquidexplode.description = Spills liquid on death -ability.stat.firingrate = [stat]{0}/sec[lightgray] firing rate -ability.stat.regen = [stat]{0}[lightgray] health/sec -ability.stat.shield = [stat]{0}[lightgray] shield -ability.stat.repairspeed = [stat]{0}/sec[lightgray] repair speed -ability.stat.slurpheal = [stat]{0}[lightgray] health/liquid unit -ability.stat.cooldown = [stat]{0} sec[lightgray] cooldown -ability.stat.maxtargets = [stat]{0}[lightgray] max targets -ability.stat.sametypehealmultiplier = [stat]{0}%[lightgray] same type repair amount -ability.stat.damagereduction = [stat]{0}%[lightgray] damage reduction -ability.stat.minspeed = [stat]{0} tiles/sec[lightgray] min speed -ability.stat.duration = [stat]{0} sec[lightgray] duration -ability.stat.buildtime = [stat]{0} sec[lightgray] build time +ability.suppressionfield.description = 使附近的修复建筑停止工作 +ability.energyfield = 能量场 +ability.energyfield.description = 对附近的敌人释放电击 +ability.energyfield.healdescription = 对附近的敌人释放电击,并治疗友方 +ability.regen = 再生 +ability.regen.description = 随着时间的推移恢复自己的生命值 +ability.liquidregen = 液体吸收 +ability.liquidregen.description = 吸收液体以治疗自身 +ability.spawndeath = 死亡产生单位 +ability.spawndeath.description = 死亡时释放单位 +ability.liquidexplode = 死亡溢液 +ability.liquidexplode.description = 死亡时释放液体 +ability.stat.firingrate = [stat]{0}/秒[lightgray] 射速 +ability.stat.regen = [stat]{0}/秒[lightgray] 生命恢复速度 +ability.stat.shield = [stat]{0}[lightgray] 护盾 +ability.stat.repairspeed = [stat]{0}/秒[lightgray] 修复速度 +ability.stat.slurpheal = [stat]{0}[lightgray] 生命/液体单位 +ability.stat.cooldown = [stat]{0} 秒[lightgray] 冷却时间 +ability.stat.maxtargets = [stat]{0}[lightgray] 最大目标数 +ability.stat.sametypehealmultiplier = [stat]{0}%[lightgray] 同类型修复量 +ability.stat.damagereduction = [stat]{0}%[lightgray] 伤害减免 +ability.stat.minspeed = [stat]{0} 格/秒[lightgray] 最低速度 +ability.stat.duration = [stat]{0} 秒[lightgray] 持续时间 +ability.stat.buildtime = [stat]{0} 秒[lightgray] 建造时间 + bar.onlycoredeposit = 仅核心可丢入资源 bar.drilltierreq = 需要更高级的钻头 @@ -1073,9 +1074,9 @@ bullet.splashdamage = [stat]{0}[lightgray]范围伤害~[stat] {1}[lightgray]格 bullet.incendiary = [stat]燃烧 bullet.homing = [stat]追踪 bullet.armorpierce = [stat]穿甲 -bullet.maxdamagefraction = [stat]{0}%[lightgray] damage limit -bullet.suppression = [stat]{0} sec[lightgray] repair suppression ~ [stat]{1}[lightgray] tiles -bullet.interval = [stat]{0}/sec[lightgray] interval bullets: +bullet.maxdamagefraction = [stat]{0}%[lightgray] 伤害上限 +bullet.suppression = [stat]{0}秒[lightgray] 修复压制 ~ [stat]{1}[lightgray] 格 +bullet.interval = [stat]{0}/秒[lightgray] 分裂子弹: bullet.frags = [stat]{0}[lightgray]x分裂子弹: bullet.lightning = [stat]{0}[lightgray]x闪电~[stat]{1}[lightgray]伤害 bullet.buildingdamage = [stat]{0}%[lightgray]对建筑伤害 @@ -1129,7 +1130,7 @@ setting.backgroundpause.name = 游戏在后台时自动暂停 setting.buildautopause.name = 自动暂停建造 setting.doubletapmine.name = 双击采矿 setting.commandmodehold.name = 长按保持指挥模式 -setting.distinctcontrolgroups.name = Limit One Control Group Per Unit +setting.distinctcontrolgroups.name = 每单位限制一个编队 setting.modcrashdisable.name = 游戏启动崩溃后禁用模组 setting.animatedwater.name = 动态液体 setting.animatedshields.name = 动态力场 @@ -1176,14 +1177,14 @@ setting.position.name = 显示玩家坐标 setting.mouseposition.name = 显示鼠标坐标 setting.musicvol.name = 音乐音量 setting.atmosphere.name = 显示行星大气层 -setting.drawlight.name = Draw Darkness/Lighting +setting.drawlight.name = 绘制阴影/光照 setting.ambientvol.name = 环境音量 setting.mutemusic.name = 禁用音乐 setting.sfxvol.name = 音效音量 setting.mutesound.name = 禁用音效 setting.crashreport.name = 发送匿名的崩溃报告 setting.savecreate.name = 自动创建存档 -setting.steampublichost.name = Public Game Visibility +setting.steampublichost.name = 公共游戏可见性 setting.playerlimit.name = 玩家数量限制 setting.chatopacity.name = 聊天界面不透明度 setting.lasersopacity.name = 电力连接线不透明度 @@ -1193,8 +1194,8 @@ setting.showweather.name = 显示天气效果 setting.hidedisplays.name = 不显示逻辑绘图 setting.macnotch.name = 立陶宛語 setting.macnotch.description = 需要重新启动 -steam.friendsonly = Friends Only -steam.friendsonly.tooltip = Whether only Steam friends will be able to join your game.\nUnchecking this box will make your game public - anyone can join. +steam.friendsonly = 仅限好友 +steam.friendsonly.tooltip = 是否只有 Steam 好友才能加入您的游戏。\n取消选中此选项将使您的游戏公开 - 任何人都可以加入。 public.beta = 请注意,测试版的游戏不能公开可见。 uiscale.reset = UI缩放比例已更改。\n点击“确定”接受更改。\n[accent]{0}[]秒后[scarlet]将自动退出并还原设置。 uiscale.cancel = 取消并退出 @@ -1203,7 +1204,7 @@ keybind.title = 重新绑定按键 keybinds.mobile = [scarlet]除了基本的移动以外,大多数按键绑定在移动设备上无效。 category.general.name = 常规 category.view.name = 视图 -category.command.name = Unit Command +category.command.name = 单位指挥 category.multiplayer.name = 多人游戏 category.blocks.name = 建筑选择 placement.blockselectkeys = \n[lightgray]按键:[{0}, @@ -1221,23 +1222,23 @@ keybind.mouse_move.name = 单位跟随鼠标 keybind.pan.name = 鼠标控制镜头 keybind.boost.name = 启动助推 keybind.command_mode.name = 指挥模式 -keybind.command_queue.name = Unit Command Queue -keybind.create_control_group.name = Create Control Group -keybind.cancel_orders.name = Cancel Orders -keybind.unit_stance_shoot.name = Unit Stance: Shoot -keybind.unit_stance_hold_fire.name = Unit Stance: Hold Fire -keybind.unit_stance_pursue_target.name = Unit Stance: Pursue Target -keybind.unit_stance_patrol.name = Unit Stance: Patrol -keybind.unit_stance_ram.name = Unit Stance: Ram -keybind.unit_command_move = Unit Command: Move -keybind.unit_command_repair = Unit Command: Repair -keybind.unit_command_rebuild = Unit Command: Rebuild -keybind.unit_command_assist = Unit Command: Assist -keybind.unit_command_mine = Unit Command: Mine -keybind.unit_command_boost = Unit Command: Boost -keybind.unit_command_load_units = Unit Command: Load Units -keybind.unit_command_load_blocks = Unit Command: Load Blocks -keybind.unit_command_unload_payload = Unit Command: Unload Payload +keybind.command_queue.name = 单位指挥队列 +keybind.create_control_group.name = 创建操控队伍 +keybind.cancel_orders.name = 取消指令 +keybind.unit_stance_shoot.name = 单位姿态:射击 +keybind.unit_stance_hold_fire.name = 单位姿态:停火 +keybind.unit_stance_pursue_target.name = 单位姿态:追逐目标 +keybind.unit_stance_patrol.name = 单位姿态:巡逻 +keybind.unit_stance_ram.name = 单位姿态:冲锋 +keybind.unit_command_move = 单位指挥:移动 +keybind.unit_command_repair = 单位指挥:修复 +keybind.unit_command_rebuild = 单位指挥:重建 +keybind.unit_command_assist = 单位指挥:协助 +keybind.unit_command_mine = 单位指挥:采矿 +keybind.unit_command_boost = 单位指挥:助推 +keybind.unit_command_load_units = 单位指挥:拾取单位 +keybind.unit_command_load_blocks = 单位指挥:拾取建筑 +keybind.unit_command_unload_payload = 单位指挥:卸载载荷 keybind.rebuild_select.name = 重建建筑 keybind.schematic_select.name = 框选建筑 keybind.schematic_menu.name = 蓝图目录 @@ -1301,12 +1302,12 @@ mode.pvp.description = 与其他玩家对战。 \n[gray]需要地图中有至少 mode.attack.name = 进攻 mode.attack.description = 摧毁敌人的基地。 \n[gray]需要地图中有敌方队伍的核心。 mode.custom = 自定义模式 -rules.invaliddata = Invalid clipboard data. +rules.invaliddata = 无效剪贴板数据。 rules.hidebannedblocks = 隐藏禁用的建筑 rules.infiniteresources = 无限资源 rules.onlydepositcore = 仅核心可放入资源 -rules.derelictrepair = Allow Derelict Block Repair +rules.derelictrepair = 允许修复残骸建筑 rules.reactorexplosions = 反应堆爆炸 rules.coreincinerates = 核心焚烧 rules.disableworldprocessors = 禁用世界处理器 @@ -1315,8 +1316,8 @@ rules.wavetimer = 波次计时器 rules.wavesending = 波次可跳波 rules.waves = 波次 rules.attack = 进攻模式 -rules.buildai = Base Builder AI -rules.buildaitier = Builder AI Tier +rules.buildai = 基础建筑者 AI +rules.buildaitier = 建筑者 AI 等级 rules.rtsai = RTS AI rules.rtsminsquadsize = 最小部队规模 rules.rtsmaxsquadsize = 最大部队规模 @@ -1332,10 +1333,10 @@ rules.unitbuildspeedmultiplier = 单位生产速度倍率 rules.unitcostmultiplier = 单位生产花费倍率 rules.unithealthmultiplier = 单位生命倍率 rules.unitdamagemultiplier = 单位伤害倍率 -rules.unitcrashdamagemultiplier = Unit Crash Damage Multiplier +rules.unitcrashdamagemultiplier = 单位坠毁伤害倍率 rules.solarmultiplier = 太阳能发电倍率 rules.unitcapvariable = 核心可增加单位上限 -rules.unitpayloadsexplode = Carried Payloads Explode With The Unit +rules.unitpayloadsexplode = 单位携带载荷与单位一起爆炸 rules.unitcap = 基础单位上限 rules.limitarea = 限制地图有效区域 rules.enemycorebuildradius = 敌方核心不可建造区域半径:[lightgray](格) @@ -1345,7 +1346,7 @@ rules.buildcostmultiplier = 建造花费倍率 rules.buildspeedmultiplier = 建造速度倍率 rules.deconstructrefundmultiplier = 拆除返还倍率 rules.waitForWaveToEnd = 等待波次结束 -rules.wavelimit = Map Ends After Wave +rules.wavelimit = 地图在有限波次后结束 rules.dropzoneradius = 敌人出生点禁区大小:[lightgray](格) rules.unitammo = 单位有弹药限制 rules.enemyteam = 敌方队伍 @@ -2339,8 +2340,8 @@ lst.getblock = 获取任意位置的地块数据 lst.setblock = 设置任意位置的地块数据 lst.spawnunit = 在指定位置生成单位 lst.applystatus = 添加或清除单位的一个状态效果 -lst.weathersense = Check if a type of weather is active. -lst.weatherset = Set the current state of a type of weather. +lst.weathersense = 检查特定种类的天气当前是否启用。 +lst.weatherset = 设置当前状态为特定类型天气。 lst.spawnwave = 在任意位置生成一波敌人\n并不记录在波数计数器中 lst.explosion = 在某个位置生成爆炸 lst.setrate = 在指令/时间刻的时间下设置处理器处理速度 @@ -2349,50 +2350,51 @@ lst.packcolor = 将[0,1]范围内的RGBA分量整合成单个数字,用于绘 lst.setrule = 设置地图规则 lst.flushmessage = 在屏幕中央投影文字缓存区的内容\n会等待上一个文字显示结束 lst.cutscene = 控制玩家游戏视角 -lst.setflag = 设置一个可以被所有处理器读取的全局flag -lst.getflag = 检查是否设置了全局flag -lst.setprop = Sets a property of a unit or building. -lst.effect = Create a particle effect. -lst.sync = Sync a variable across the network.\nOnly invoked 10 times a second at most. -lst.makemarker = Create a new logic marker in the world.\nAn ID to identify this marker must be provided.\nMarkers currently limited to 20,000 per world. -lst.setmarker = Set a property for a marker.\nThe ID used must be the same as in the Make Marker instruction. -lst.localeprint = Add map locale property value to the text buffer.\nTo set map locale bundles in map editor, check [accent]Map Info > Locale Bundles[].\nIf client is a mobile device, tries to print a property ending in ".mobile" first. +lst.setflag = 设置一个可以被所有处理器读取的全局标志。 +lst.getflag = 检查是否设置了全局标志。 +lst.setprop = 设置单位或建筑物的属性。 +lst.effect = 创建一个粒子效果。 +lst.sync = 在网络中同步一个变量。\n最多每秒调用10次。 +lst.makemarker = 在世界中创建一个新的逻辑标记。\n必须提供一个用于标识此标记的ID。\n目前每个世界限制最多20000个标记。 +lst.setmarker = 为标记设置属性。\n使用的ID必须与制作标记指令中的相同。 +lst.localeprint = 将地图本地化文本属性值添加到文本缓冲区中。\n要在地图编辑器中设置地图本地化包,请检查 [accent]地图信息 > 本地化包[]。\n如果客户端是移动设备,则尝试首先打印以 ".mobile" 结尾的属性。 lglobal.false = 0 lglobal.true = 1 lglobal.null = null -lglobal.@pi = The mathematical constant pi (3.141...) -lglobal.@e = The mathematical constant e (2.718...) -lglobal.@degToRad = Multiply by this number to convert degrees to radians -lglobal.@radToDeg = Multiply by this number to convert radians to degrees -lglobal.@time = Playtime of current save, in milliseconds -lglobal.@tick = Playtime of current save, in ticks (1 second = 60 ticks) -lglobal.@second = Playtime of current save, in seconds -lglobal.@minute = Playtime of current save, in minutes -lglobal.@waveNumber = Current wave number, if waves are enabled -lglobal.@waveTime = Countdown timer for waves, in seconds -lglobal.@mapw = Map width in tiles -lglobal.@maph = Map height in tiles -lglobal.sectionMap = Map -lglobal.sectionGeneral = General -lglobal.sectionNetwork = Network/Clientside [World Processor Only] -lglobal.sectionProcessor = Processor -lglobal.sectionLookup = Lookup -lglobal.@this = The logic block executing the code -lglobal.@thisx = X coordinate of block executing the code -lglobal.@thisy = Y coordinate of block executing the code -lglobal.@links = Total number of blocks linked to this processors -lglobal.@ipt = Execution speed of the processor in instructions per tick (60 ticks = 1 second) -lglobal.@unitCount = Total number of types of unit content in the game; used with the lookup instruction -lglobal.@blockCount = Total number of types of block content in the game; used with the lookup instruction -lglobal.@itemCount = Total number of types of item content in the game; used with the lookup instruction -lglobal.@liquidCount = Total number of types of liquid content in the game; used with the lookup instruction -lglobal.@server = True if the code is running on a server or in singleplayer, false otherwise -lglobal.@client = True if the code is running on a client connected to a server -lglobal.@clientLocale = Locale of the client running the code. For example: en_US -lglobal.@clientUnit = Unit of client running the code -lglobal.@clientName = Player name of client running the code -lglobal.@clientTeam = Team ID of client running the code -lglobal.@clientMobile = True is the client running the code is on mobile, false otherwise +lglobal.@pi = 数学常数 pi (3.141...) +lglobal.@e = 数学常数 e (2.718...) +lglobal.@degToRad = 将角度制转换为弧度制 +lglobal.@radToDeg = 将弧度制转换为角度制 +lglobal.@time = 当前保存的游戏时间,以毫秒为单位 +lglobal.@tick = 当前保存的游戏时间,以tick为单位(1秒 = 60 tick) +lglobal.@second = 当前保存的游戏时间,以秒为单位 +lglobal.@minute = 当前保存的游戏时间,以分钟为单位 +lglobal.@waveNumber = 如果启用了波次,则为当前波次编号 +lglobal.@waveTime = 波次的倒计时计时器,以秒为单位 +lglobal.@mapw = 地图宽度(单位:格) +lglobal.@maph = 地图高度(单位:格) +lglobal.sectionMap = 地图 +lglobal.sectionGeneral = 通用 +lglobal.sectionNetwork = 网络/客户端 [仅限世界处理器] +lglobal.sectionProcessor = 处理器 +lglobal.sectionLookup = 查找 +lglobal.@this = 执行代码的逻辑块 +lglobal.@thisx = 执行代码的逻辑块的 X 坐标 +lglobal.@thisy = 执行代码的逻辑块的 Y 坐标 +lglobal.@links = 连接到此处理器的总块数 +lglobal.@ipt = 处理器每 tick 的执行速度(每秒 60 tick) +lglobal.@unitCount = 游戏中单位内容的类型总数;与查找指令一起使用 +lglobal.@blockCount = 游戏中块内容的类型总数;与查找指令一起使用 +lglobal.@itemCount = 游戏中物品内容的类型总数;与查找指令一起使用 +lglobal.@liquidCount = 游戏中液体内容的类型总数;与查找指令一起使用 +lglobal.@server = 如果代码正在服务器上运行或单人游戏中运行,则为真,否则为假 +lglobal.@client = 如果代码正在连接到服务器的客户端上运行,则为真 +lglobal.@clientLocale = 运行代码的客户端的区域设置。例如:en_US +lglobal.@clientUnit = 运行代码的客户端的单位 +lglobal.@clientName = 运行代码的客户端的玩家名称 +lglobal.@clientTeam = 运行代码的客户端的团队 ID +lglobal.@clientMobile = 如果运行代码的客户端在移动设备上,则为真,否则为假 + logic.nounitbuild = [red]此处不允许处理器操控单位去建设 @@ -2408,7 +2410,7 @@ laccess.dead = 单位或建筑是否已被摧毁或者已失效 laccess.controlled = 若单位的控制方是处理器,返回[accent]@ctrlProcessor[]\n若单位/建筑由玩家控制,返回[accent]@ctrlPlayer[]\n若单位在编队中,返回[accent]@ctrlFormation[]\n其他情况,返回0 laccess.progress = 进度,0到1之间的数值。 \n返回工厂生产、 炮塔装填,或者建筑建造的进度 laccess.speed = 单位的最高速度(格/秒) -laccess.id = ID of a unit/block/item/liquid.\nThis is the inverse of the lookup operation. +laccess.id = 单位/块/物品/液体的ID。\n这是 Lookup 的反向操作。 lcategory.unknown = 未知 lcategory.unknown.description = 未分类的指令 @@ -2436,7 +2438,7 @@ graphicstype.poly = 绘制实心正多边形 graphicstype.linepoly = 绘制正多边形轮廓 graphicstype.triangle = 绘制实心三角形 graphicstype.image = 画出某个游戏内容的图像\n例如[accent]@router[]或者[accent]@dagger[] -graphicstype.print = Draws text from the print buffer.\nClears the print buffer. +graphicstype.print = 从打印缓冲区绘制文本。\n清除打印缓冲区。 lenum.always = 无条件跳转 lenum.idiv = 整数除法,返回不带小数的商 @@ -2456,7 +2458,7 @@ lenum.xor = 按位异或 lenum.min = 取较小值 lenum.max = 取较大值 lenum.angle = 返回向量的辐角(角度制) -lenum.anglediff = Absolute distance between two angles in degrees. +lenum.anglediff = 返回两个角度之间的绝对距离(角度制)。 lenum.len = 返回向量的长度 lenum.sin = 正弦(角度制) @@ -2531,7 +2533,7 @@ lenum.unbind = 停用单位的逻辑控制\n恢复常规AI lenum.move = 移动到某个位置 lenum.approach = 靠近某个位置至一定的距离内 lenum.pathfind = 寻路移动至敌人出生点 -lenum.autopathfind = Automatically pathfinds to the nearest enemy core or drop point.\nThis is the same as standard wave enemy pathfinding. +lenum.autopathfind = "自动寻找最近的敌方核心或敌人生成点。\n这与波次中的敌人寻路相同。" lenum.target = 向某个位置瞄准/射击 lenum.targetp = 根据提前量向某个目标瞄准/射击 lenum.itemdrop = 将携带的物品放入一座建筑 @@ -2545,10 +2547,11 @@ lenum.build = 建造建筑 lenum.getblock = 获取某个坐标处的建筑及其类型\n坐标需要在单位的感知范围内\n无建筑的地面返回[accent]@air[],墙壁返回[accent]@solid[] lenum.within = 检查单位是否接近了某个位置 lenum.boost = 开始/停止助推 -lenum.flushtext = Flush print buffer's content to marker, if applicable.\nIf fetch is set to true, tries to fetch properties from map locale bundle or game's bundle. -lenum.texture = Texture name straight from game's texture atlas (using kebab-case naming style).\nIf printFlush is set to true, consumes text buffer content as text argument. -lenum.texturesize = Size of texture in tiles. Zero value scales marker width to original texture's size. -lenum.autoscale = Whether to scale marker corresponding to player's zoom level. -lenum.posi = Indexed position, used for line and quad markers with index zero being the first position. -lenum.uvi = Texture's position ranging from zero to one, used for quad markers. -lenum.colori = Indexed position, used for line and quad markers with index zero being the first color. +lenum.flushtext = 如果适用的话,将打印缓冲区的内容刷新到标记。\n如果 fetch 设置为 true,则尝试从地图本地化包或游戏的包中获取属性。 +lenum.texture = 直接来自游戏纹理图集的纹理名称(使用 kebab-case 命名风格)。\n如果 printFlush 设置为 true,则将文本缓冲区内容作为文本参数消耗。 +lenum.texturesize = 纹理的大小(格)。零值将标记宽度缩放为原始纹理的大小。 +lenum.autoscale = 是否根据玩家的缩放级别缩放标记。 +lenum.posi = 索引位置,用于线和四边形标记,索引零表示第一个位置。 +lenum.uvi = 纹理的位置范围从零到一,用于四边形标记。 +lenum.colori = 索引位置,用于线和四边形标记,索引零表示第一个颜色。 + From 1f5d8b1f045cbace88d81de4b3b0b6323f723e0a Mon Sep 17 00:00:00 2001 From: Github Actions Date: Mon, 1 Apr 2024 14:30:58 +0000 Subject: [PATCH 56/89] Automatic bundle update --- core/assets/bundles/bundle_zh_CN.properties | 3 +-- 1 file changed, 1 insertion(+), 2 deletions(-) diff --git a/core/assets/bundles/bundle_zh_CN.properties b/core/assets/bundles/bundle_zh_CN.properties index 0ec1c2bb1c..2a74a48802 100644 --- a/core/assets/bundles/bundle_zh_CN.properties +++ b/core/assets/bundles/bundle_zh_CN.properties @@ -610,7 +610,7 @@ filter.option.floor2 = 内层地形 filter.option.threshold2 = 内层比例 filter.option.radius = 半径 filter.option.percentile = 百分比 -locales.info = 在这里,您可以为特定语言添加本地化语言包到您的地图中。在本地化语言包中,每个文本属性都有一个名称和一个值。这些文本属性可以由世界处理器和游戏目标使用它们的名称。它们支持文本格式化(用实际值替换占位符)。\n\n[cyan]示例文本属性:\n[]名称: [accent]timer[]\值: [accent]示例计时器, 剩余时间: @[]\n\n[cyan]用法:\n[]将其设置为目标的文本: [accent]@timer\n\n[]在世界处理器中打印它:\n[accent]localeprint "timer"\n格式化时间\n[gray](时间是一个单独计算的变量) +locales.info = 在这里,您可以为特定语言添加本地化语言包到您的地图中。在本地化语言包中,每个文本属性都有一个名称和一个值。这些文本属性可以由世界处理器和游戏目标使用它们的名称。它们支持文本格式化(用实际值替换占位符)。\n\n[cyan]示例文本属性:\n[]名称: [accent]timer[]值: [accent]示例计时器, 剩余时间: @[]\n\n[cyan]用法:\n[]将其设置为目标的文本: [accent]@timer\n\n[]在世界处理器中打印它:\n[accent]localeprint "timer"\n格式化时间\n[gray](时间是一个单独计算的变量) locales.deletelocale = 您确定要删除该本地化语言包吗? locales.applytoall = 将更改应用于所有本地化语言包 locales.addtoother = 添加到其他本地化语言包 @@ -2554,4 +2554,3 @@ lenum.autoscale = 是否根据玩家的缩放级别缩放标记。 lenum.posi = 索引位置,用于线和四边形标记,索引零表示第一个位置。 lenum.uvi = 纹理的位置范围从零到一,用于四边形标记。 lenum.colori = 索引位置,用于线和四边形标记,索引零表示第一个颜色。 - From bfd8dbd769d13baac82921c1f8c2559ea8a65d64 Mon Sep 17 00:00:00 2001 From: GlFolker <63218676+GlennFolker@users.noreply.github.com> Date: Mon, 1 Apr 2024 21:46:44 +0700 Subject: [PATCH 57/89] Enable full customization of core launching/landing animations. (#9693) * Extract all updates and draws of core launch/land animations to CoreBlock/CoreBuild * Re-add removed methods as deprecated * Fixed tests failing * anuke said no * Extract launch effect --- core/src/mindustry/Vars.java | 5 +- core/src/mindustry/core/Control.java | 31 +--- core/src/mindustry/core/Renderer.java | 154 ++++++------------ .../mindustry/ui/dialogs/PlanetDialog.java | 9 +- .../mindustry/ui/fragments/HudFragment.java | 6 + .../world/blocks/storage/CoreBlock.java | 154 +++++++++++++++++- 6 files changed, 221 insertions(+), 138 deletions(-) diff --git a/core/src/mindustry/Vars.java b/core/src/mindustry/Vars.java index 0dc1cf9e3f..552f0ac54f 100644 --- a/core/src/mindustry/Vars.java +++ b/core/src/mindustry/Vars.java @@ -28,6 +28,7 @@ import mindustry.net.*; import mindustry.service.*; import mindustry.ui.dialogs.*; import mindustry.world.*; +import mindustry.world.blocks.storage.*; import mindustry.world.meta.*; import java.io.*; @@ -105,8 +106,8 @@ public class Vars implements Loadable{ public static final float invasionGracePeriod = 20; /** min armor fraction damage; e.g. 0.05 = at least 5% damage */ public static final float minArmorDamage = 0.1f; - /** land/launch animation duration */ - public static final float coreLandDuration = 160f; + /** @deprecated see {@link CoreBlock#landDuration} instead! */ + public static final @Deprecated float coreLandDuration = 160f; /** size of tiles in units */ public static final int tilesize = 8; /** size of one tile payload (^2) */ diff --git a/core/src/mindustry/core/Control.java b/core/src/mindustry/core/Control.java index d39b338b9b..bc730c44c4 100644 --- a/core/src/mindustry/core/Control.java +++ b/core/src/mindustry/core/Control.java @@ -30,6 +30,7 @@ import mindustry.net.*; import mindustry.type.*; import mindustry.ui.dialogs.*; import mindustry.world.*; +import mindustry.world.blocks.storage.*; import mindustry.world.blocks.storage.CoreBlock.*; import java.io.*; @@ -191,43 +192,29 @@ public class Control implements ApplicationListener, Loadable{ Events.run(Trigger.newGame, () -> { var core = player.bestCore(); - if(core == null) return; camera.position.set(core); player.set(core); float coreDelay = 0f; - if(!settings.getBool("skipcoreanimation") && !state.rules.pvp){ - coreDelay = coreLandDuration; + coreDelay = core.landDuration(); //delay player respawn so animation can play. - player.deathTimer = Player.deathDelay - coreLandDuration; + player.deathTimer = Player.deathDelay - core.landDuration(); //TODO this sounds pretty bad due to conflict if(settings.getInt("musicvol") > 0){ - Musics.land.stop(); - Musics.land.play(); - Musics.land.setVolume(settings.getInt("musicvol") / 100f); + //TODO what to do if another core with different music is already playing? + Music music = core.landMusic(); + music.stop(); + music.play(); + music.setVolume(settings.getInt("musicvol") / 100f); } - app.post(() -> ui.hudfrag.showLand()); - renderer.showLanding(); - - Time.run(coreLandDuration, () -> { - Fx.launch.at(core); - Effect.shake(5f, 5f, core); - core.thrusterTime = 1f; - - if(state.isCampaign() && Vars.showSectorLandInfo && (state.rules.sector.preset == null || state.rules.sector.preset.showSectorLandInfo)){ - ui.announce("[accent]" + state.rules.sector.name() + "\n" + - (state.rules.sector.info.resources.any() ? "[lightgray]" + bundle.get("sectors.resources") + "[white] " + - state.rules.sector.info.resources.toString(" ", u -> u.emoji()) : ""), 5); - } - }); + renderer.showLanding(core); } if(state.isCampaign()){ - //don't run when hosting, that doesn't really work. if(state.rules.sector.planet.prebuildBase){ toBePlaced.clear(); diff --git a/core/src/mindustry/core/Renderer.java b/core/src/mindustry/core/Renderer.java index 7b7d1dc155..3eb3b169b0 100644 --- a/core/src/mindustry/core/Renderer.java +++ b/core/src/mindustry/core/Renderer.java @@ -13,7 +13,6 @@ import arc.scene.ui.layout.*; import arc.struct.*; import arc.util.*; import mindustry.*; -import mindustry.content.*; import mindustry.game.EventType.*; import mindustry.gen.*; import mindustry.graphics.*; @@ -30,11 +29,6 @@ public class Renderer implements ApplicationListener{ /** These are global variables, for headless access. Cached. */ public static float laserOpacity = 0.5f, bridgeOpacity = 0.75f; - private static final float cloudScaling = 1700f, cfinScl = -2f, cfinOffset = 0.3f, calphaFinOffset = 0.25f; - private static final float[] cloudAlphas = {0, 0.5f, 1f, 0.1f, 0, 0f}; - private static final float cloudAlpha = 0.81f; - private static final Interp landInterp = Interp.pow3; - public final BlockRenderer blocks = new BlockRenderer(); public final FogRenderer fog = new FogRenderer(); public final MinimapRenderer minimap = new MinimapRenderer(); @@ -55,18 +49,15 @@ public class Renderer implements ApplicationListener{ public TextureRegion[] bubbles = new TextureRegion[16], splashes = new TextureRegion[12]; public TextureRegion[][] fluidFrames; + //currently landing core, null if there are no cores or it has finished landing. private @Nullable CoreBuild landCore; private @Nullable CoreBlock launchCoreType; private Color clearColor = new Color(0f, 0f, 0f, 1f); private float - //seed for cloud visuals, 0-1 - cloudSeed = 0f, //target camera scale that is lerp-ed to targetscale = Scl.scl(4), //current actual camera scale camerascale = targetscale, - //minimum camera zoom value for landing/launching; constant TODO make larger? - minZoomScl = Scl.scl(0.02f), //starts at coreLandDuration, ends at 0. if positive, core is landing. landTime, //timer for core landing particles @@ -113,10 +104,6 @@ public class Renderer implements ApplicationListener{ setupBloom(); } - Events.run(Trigger.newGame, () -> { - landCore = player.bestCore(); - }); - EnvRenderers.init(); for(int i = 0; i < bubbles.length; i++) bubbles[i] = atlas.find("bubble-" + i); for(int i = 0; i < splashes.length; i++) splashes[i] = atlas.find("splash-" + i); @@ -181,32 +168,26 @@ public class Renderer implements ApplicationListener{ enableEffects = settings.getBool("effects"); drawDisplays = !settings.getBool("hidedisplays"); drawLight = settings.getBool("drawlight", true); - pixelate = Core.settings.getBool("pixelate"); + pixelate = settings.getBool("pixelate"); + //don't bother drawing landing animation if core is null + if(landCore == null) landTime = 0f; if(landTime > 0){ - if(!state.isPaused()){ - CoreBuild build = landCore == null ? player.bestCore() : landCore; - if(build != null){ - build.updateLandParticles(); - } - } + if(!state.isPaused()) landCore.updateLaunching(); - if(!state.isPaused()){ - landTime -= Time.delta; - } - float fin = landTime / coreLandDuration; - if(!launching) fin = 1f - fin; - camerascale = landInterp.apply(minZoomScl, Scl.scl(4f), fin); weatherAlpha = 0f; + camerascale = landCore.zoomLaunching(); - //snap camera to cutscene core regardless of player input - if(landCore != null){ - camera.position.set(landCore); - } + if(!state.isPaused()) landTime -= Time.delta; }else{ weatherAlpha = Mathf.lerpDelta(weatherAlpha, 1f, 0.08f); } + if(landCore != null && landTime <= 0f){ + landCore.endLaunch(); + landCore = null; + } + camera.width = graphics.getWidth() / camerascale; camera.height = graphics.getHeight() / camerascale; @@ -304,7 +285,7 @@ public class Renderer implements ApplicationListener{ graphics.clear(clearColor); Draw.reset(); - if(Core.settings.getBool("animatedwater") || animateShields){ + if(settings.getBool("animatedwater") || animateShields){ effectBuffer.resize(graphics.getWidth(), graphics.getHeight()); } @@ -393,7 +374,10 @@ public class Renderer implements ApplicationListener{ Draw.draw(Layer.overlayUI, overlays::drawTop); if(state.rules.fog) Draw.draw(Layer.fogOfWar, fog::drawFog); - Draw.draw(Layer.space, this::drawLanding); + Draw.draw(Layer.space, () -> { + if(landCore == null || landTime <= 0f) return; + landCore.drawLanding(launching && launchCoreType != null ? launchCoreType : (CoreBlock)landCore.block); + }); Events.fire(Trigger.drawOver); blocks.drawBlocks(); @@ -481,61 +465,6 @@ public class Renderer implements ApplicationListener{ if(state.rules.customBackgroundCallback != null && customBackgrounds.containsKey(state.rules.customBackgroundCallback)){ customBackgrounds.get(state.rules.customBackgroundCallback).run(); } - - } - - void drawLanding(){ - CoreBuild build = landCore == null ? player.bestCore() : landCore; - var clouds = assets.get("sprites/clouds.png", Texture.class); - if(landTime > 0 && build != null){ - float fout = landTime / coreLandDuration; - if(launching) fout = 1f - fout; - float fin = 1f - fout; - float scl = Scl.scl(4f) / camerascale; - float pfin = Interp.pow3Out.apply(fin), pf = Interp.pow2In.apply(fout); - - //draw particles - Draw.color(Pal.lightTrail); - Angles.randLenVectors(1, pfin, 100, 800f * scl * pfin, (ax, ay, ffin, ffout) -> { - Lines.stroke(scl * ffin * pf * 3f); - Lines.lineAngle(build.x + ax, build.y + ay, Mathf.angle(ax, ay), (ffin * 20 + 1f) * scl); - }); - Draw.color(); - - CoreBlock block = launching && launchCoreType != null ? launchCoreType : (CoreBlock)build.block; - block.drawLanding(build, build.x, build.y); - - Draw.color(); - Draw.mixcol(Color.white, Interp.pow5In.apply(fout)); - - //accent tint indicating that the core was just constructed - if(launching){ - float f = Mathf.clamp(1f - fout * 12f); - if(f > 0.001f){ - Draw.mixcol(Pal.accent, f); - } - } - - //draw clouds - if(state.rules.cloudColor.a > 0.0001f){ - float scaling = cloudScaling; - float sscl = Math.max(1f + Mathf.clamp(fin + cfinOffset)* cfinScl, 0f) * camerascale; - - Tmp.tr1.set(clouds); - Tmp.tr1.set( - (camera.position.x - camera.width/2f * sscl) / scaling, - (camera.position.y - camera.height/2f * sscl) / scaling, - (camera.position.x + camera.width/2f * sscl) / scaling, - (camera.position.y + camera.height/2f * sscl) / scaling); - - Tmp.tr1.scroll(10f * cloudSeed, 10f * cloudSeed); - - Draw.alpha(Mathf.sample(cloudAlphas, fin + calphaFinOffset) * cloudAlpha); - Draw.mixcol(state.rules.cloudColor, state.rules.cloudColor.a); - Draw.rect(Tmp.tr1, camera.position.x, camera.position.y, camera.width, camera.height); - Draw.reset(); - } - } } public void scaleCamera(float amount){ @@ -580,6 +509,13 @@ public class Renderer implements ApplicationListener{ return landTime; } + public float getLandTimeIn(){ + if(landCore == null) return 0f; + float fin = landTime / landCore.landDuration(); + if(!launching) fin = 1f - fin; + return fin; + } + public float getLandPTimer(){ return landPTimer; } @@ -588,25 +524,37 @@ public class Renderer implements ApplicationListener{ this.landPTimer = landPTimer; } + @Deprecated public void showLanding(){ - launching = false; - camerascale = minZoomScl; - landTime = coreLandDuration; - cloudSeed = Mathf.random(1f); + var core = player.bestCore(); + if(core != null) showLanding(core); } + public void showLanding(CoreBuild landCore){ + this.landCore = landCore; + launching = false; + landTime = landCore.landDuration(); + + landCore.beginLaunch(null); + camerascale = landCore.zoomLaunching(); + } + + @Deprecated public void showLaunch(CoreBlock coreType){ - Vars.ui.hudfrag.showLaunch(); - Vars.control.input.config.hideConfig(); - Vars.control.input.inv.hide(); - launchCoreType = coreType; + var core = player.team().core(); + if(core != null) showLaunch(core, coreType); + } + + public void showLaunch(CoreBuild landCore, CoreBlock coreType){ + control.input.config.hideConfig(); + control.input.inv.hide(); + + this.landCore = landCore; launching = true; - landCore = player.team().core(); - cloudSeed = Mathf.random(1f); - landTime = coreLandDuration; - if(landCore != null){ - Fx.coreLaunchConstruct.at(landCore.x, landCore.y, coreType.size); - } + landTime = landCore.landDuration(); + launchCoreType = coreType; + + landCore.beginLaunch(coreType); } public void takeMapScreenshot(){ @@ -648,7 +596,7 @@ public class Renderer implements ApplicationListener{ Fi file = screenshotDirectory.child("screenshot-" + Time.millis() + ".png"); PixmapIO.writePng(file, fullPixmap); fullPixmap.dispose(); - app.post(() -> ui.showInfoFade(Core.bundle.format("screenshot", file.toString()))); + app.post(() -> ui.showInfoFade(bundle.format("screenshot", file.toString()))); }); } diff --git a/core/src/mindustry/ui/dialogs/PlanetDialog.java b/core/src/mindustry/ui/dialogs/PlanetDialog.java index 9a230d0fc6..0345b04775 100644 --- a/core/src/mindustry/ui/dialogs/PlanetDialog.java +++ b/core/src/mindustry/ui/dialogs/PlanetDialog.java @@ -35,6 +35,7 @@ import mindustry.maps.*; import mindustry.type.*; import mindustry.ui.*; import mindustry.world.blocks.storage.*; +import mindustry.world.blocks.storage.CoreBlock.*; import static arc.Core.*; import static mindustry.Vars.*; @@ -1244,7 +1245,8 @@ public class PlanetDialog extends BaseDialog implements PlanetInterfaceRenderer{ Events.fire(new SectorLaunchLoadoutEvent(sector, from, loadout)); - if(settings.getBool("skipcoreanimation")){ + CoreBuild core = player.team().core(); + if(core == null || settings.getBool("skipcoreanimation")){ //just... go there control.playSector(from, sector); //hide only after load screen is shown @@ -1256,9 +1258,9 @@ public class PlanetDialog extends BaseDialog implements PlanetInterfaceRenderer{ //allow planet dialog to finish hiding before actually launching Time.runTask(5f, () -> { Runnable doLaunch = () -> { - renderer.showLaunch(schemCore); + renderer.showLaunch(core, schemCore); //run with less delay, as the loading animation is delayed by several frames - Time.runTask(coreLandDuration - 8f, () -> control.playSector(from, sector)); + Time.runTask(core.landDuration() - 8f, () -> control.playSector(from, sector)); }; //load launchFrom sector right before launching so animation is correct @@ -1276,7 +1278,6 @@ public class PlanetDialog extends BaseDialog implements PlanetInterfaceRenderer{ }else if(mode == select){ listener.get(sector); }else if(mode == planetLaunch){ //TODO make sure it doesn't have a base already. - //TODO animation //schematic selection and cost handled by listener listener.get(sector); diff --git a/core/src/mindustry/ui/fragments/HudFragment.java b/core/src/mindustry/ui/fragments/HudFragment.java index cb92cb77ad..c882edc714 100644 --- a/core/src/mindustry/ui/fragments/HudFragment.java +++ b/core/src/mindustry/ui/fragments/HudFragment.java @@ -27,6 +27,8 @@ import mindustry.input.*; import mindustry.net.Packets.*; import mindustry.type.*; import mindustry.ui.*; +import mindustry.world.blocks.storage.*; +import mindustry.world.blocks.storage.CoreBlock.*; import static mindustry.Vars.*; import static mindustry.gen.Tex.*; @@ -584,6 +586,8 @@ public class HudFragment{ } } + /** @deprecated see {@link CoreBuild#beginLaunch(CoreBlock)} */ + @Deprecated public void showLaunch(){ float margin = 30f; @@ -602,6 +606,8 @@ public class HudFragment{ Core.scene.add(image); } + /** @deprecated see {@link CoreBuild#beginLaunch(CoreBlock)} */ + @Deprecated public void showLand(){ Image image = new Image(); image.color.a = 1f; diff --git a/core/src/mindustry/world/blocks/storage/CoreBlock.java b/core/src/mindustry/world/blocks/storage/CoreBlock.java index ff24181b79..184523e3be 100644 --- a/core/src/mindustry/world/blocks/storage/CoreBlock.java +++ b/core/src/mindustry/world/blocks/storage/CoreBlock.java @@ -1,11 +1,15 @@ package mindustry.world.blocks.storage; import arc.*; +import arc.audio.*; import arc.func.*; import arc.graphics.*; import arc.graphics.g2d.*; import arc.math.*; import arc.math.geom.*; +import arc.scene.actions.*; +import arc.scene.event.*; +import arc.scene.ui.*; import arc.scene.ui.layout.*; import arc.struct.*; import arc.util.*; @@ -29,6 +33,9 @@ import mindustry.world.modules.*; import static mindustry.Vars.*; public class CoreBlock extends StorageBlock{ + protected static final float cloudScaling = 1700f, cfinScl = -2f, cfinOffset = 0.3f, calphaFinOffset = 0.25f, cloudAlpha = 0.81f; + protected static final float[] cloudAlphas = {0, 0.5f, 1f, 0.1f, 0, 0f}; + //hacky way to pass item modules between methods private static ItemModule nextItems; protected static final float[] thrusterSizes = {0f, 0f, 0f, 0f, 0.3f, 1f, 1f, 1f, 1f, 1f, 1f, 1f, 1f, 0f}; @@ -42,6 +49,12 @@ public class CoreBlock extends StorageBlock{ public boolean incinerateNonBuildable = false; public UnitType unitType = UnitTypes.alpha; + public float landDuration = 160f; + public Music landMusic = Musics.land; + public Effect launchEffect = Fx.launch; + + public Interp landZoomInterp = Interp.pow3; + public float landZoomFrom = 0.02f, landZoomTo = 4f; public float captureInvicibility = 60f * 15f; @@ -217,11 +230,8 @@ public class CoreBlock extends StorageBlock{ } public void drawLanding(CoreBuild build, float x, float y){ - float fout = renderer.getLandTime() / coreLandDuration; - - if(renderer.isLaunching()) fout = 1f - fout; - - float fin = 1f - fout; + float fin = renderer.getLandTimeIn(); + float fout = 1f - fin; float scl = Scl.scl(4f) / renderer.getDisplayScale(); float shake = 0f; @@ -312,6 +322,17 @@ public class CoreBlock extends StorageBlock{ public float iframes = -1f; public float thrusterTime = 0f; + protected float cloudSeed; + + //utility methods for less Block-to-CoreBlock casts. also allows for more customization + public float landDuration(){ + return landDuration; + } + + public Music landMusic(){ + return landMusic; + } + @Override public void draw(){ //draw thrusters when just landed @@ -331,6 +352,115 @@ public class CoreBlock extends StorageBlock{ } } + // `launchType` is null if it's landing instead of launching. + public void beginLaunch(@Nullable CoreBlock launchType){ + cloudSeed = Mathf.random(1f); + if(launchType != null){ + Fx.coreLaunchConstruct.at(x, y, launchType.size); + } + + if(!headless){ + // Add fade-in and fade-out foreground when landing or launching. + if(renderer.isLaunching()){ + float margin = 30f; + + Image image = new Image(); + image.color.a = 0f; + image.touchable = Touchable.disabled; + image.setFillParent(true); + image.actions(Actions.delay((landDuration() - margin) / 60f), Actions.fadeIn(margin / 60f, Interp.pow2In), Actions.delay(6f / 60f), Actions.remove()); + image.update(() -> { + image.toFront(); + ui.loadfrag.toFront(); + if(state.isMenu()){ + image.remove(); + } + }); + Core.scene.add(image); + }else{ + Image image = new Image(); + image.color.a = 1f; + image.touchable = Touchable.disabled; + image.setFillParent(true); + image.actions(Actions.fadeOut(35f / 60f), Actions.remove()); + image.update(() -> { + image.toFront(); + ui.loadfrag.toFront(); + if(state.isMenu()){ + image.remove(); + } + }); + Core.scene.add(image); + + Time.run(landDuration(), () -> { + launchEffect.at(this); + Effect.shake(5f, 5f, this); + thrusterTime = 1f; + + if(state.isCampaign() && Vars.showSectorLandInfo && (state.rules.sector.preset == null || state.rules.sector.preset.showSectorLandInfo)){ + ui.announce("[accent]" + state.rules.sector.name() + "\n" + + (state.rules.sector.info.resources.any() ? "[lightgray]" + Core.bundle.get("sectors.resources") + "[white] " + + state.rules.sector.info.resources.toString(" ", UnlockableContent::emoji) : ""), 5); + } + }); + } + } + } + + public void endLaunch(){} + + public void drawLanding(CoreBlock block){ + var clouds = Core.assets.get("sprites/clouds.png", Texture.class); + + float fin = renderer.getLandTimeIn(); + float cameraScl = renderer.getDisplayScale(); + + float fout = 1f - fin; + float scl = Scl.scl(4f) / cameraScl; + float pfin = Interp.pow3Out.apply(fin), pf = Interp.pow2In.apply(fout); + + //draw particles + Draw.color(Pal.lightTrail); + Angles.randLenVectors(1, pfin, 100, 800f * scl * pfin, (ax, ay, ffin, ffout) -> { + Lines.stroke(scl * ffin * pf * 3f); + Lines.lineAngle(x + ax, y + ay, Mathf.angle(ax, ay), (ffin * 20 + 1f) * scl); + }); + Draw.color(); + + block.drawLanding(this, x, y); + + Draw.color(); + Draw.mixcol(Color.white, Interp.pow5In.apply(fout)); + + //accent tint indicating that the core was just constructed + if(renderer.isLaunching()){ + float f = Mathf.clamp(1f - fout * 12f); + if(f > 0.001f){ + Draw.mixcol(Pal.accent, f); + } + } + + //draw clouds + if(state.rules.cloudColor.a > 0.0001f){ + float scaling = cloudScaling; + float sscl = Math.max(1f + Mathf.clamp(fin + cfinOffset) * cfinScl, 0f) * cameraScl; + + Tmp.tr1.set(clouds); + Tmp.tr1.set( + (Core.camera.position.x - Core.camera.width/2f * sscl) / scaling, + (Core.camera.position.y - Core.camera.height/2f * sscl) / scaling, + (Core.camera.position.x + Core.camera.width/2f * sscl) / scaling, + (Core.camera.position.y + Core.camera.height/2f * sscl) / scaling); + + Tmp.tr1.scroll(10f * cloudSeed, 10f * cloudSeed); + + Draw.alpha(Mathf.sample(cloudAlphas, fin + calphaFinOffset) * cloudAlpha); + Draw.mixcol(state.rules.cloudColor, state.rules.cloudColor.a); + Draw.rect(Tmp.tr1, Core.camera.position.x, Core.camera.position.y, Core.camera.width, Core.camera.height); + Draw.reset(); + } + } + public void drawThrusters(float frame){ float length = thrusterLength * (frame - 1f) - 1f/4f; for(int i = 0; i < 4; i++){ @@ -409,9 +539,19 @@ public class CoreBlock extends StorageBlock{ thrusterTime -= Time.delta/90f; } + /** @return Camera zoom while landing or launching. May optionally do other things such as setting camera position to itself. */ + public float zoomLaunching(){ + Core.camera.position.set(this); + return landZoomInterp.apply(Scl.scl(landZoomFrom), Scl.scl(landZoomTo), renderer.getLandTimeIn()); + } + + public void updateLaunching(){ + updateLandParticles(); + } + public void updateLandParticles(){ - float time = renderer.isLaunching() ? coreLandDuration - renderer.getLandTime() : renderer.getLandTime(); - float tsize = Mathf.sample(thrusterSizes, (time + 35f) / coreLandDuration); + float in = renderer.getLandTimeIn() * landDuration(); + float tsize = Mathf.sample(thrusterSizes, (in + 35f) / landDuration()); renderer.setLandPTimer(renderer.getLandPTimer() + tsize * Time.delta); if(renderer.getLandTime() >= 1f){ From 83656a14814452897f4cc7aae85d66822344ad78 Mon Sep 17 00:00:00 2001 From: PolarStar <107398572+PoIarStar@users.noreply.github.com> Date: Mon, 1 Apr 2024 17:48:36 +0300 Subject: [PATCH 58/89] Update servers_v7.json (#9700) April fools day name change --- servers_v7.json | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/servers_v7.json b/servers_v7.json index 56f07af980..ce7a6765fb 100644 --- a/servers_v7.json +++ b/servers_v7.json @@ -33,7 +33,7 @@ "address": ["de-free-01.hosts.optikservers.com:31528","de-prem-01.hosts.optikservers.com:35922"] }, { - "name": "CMS Empire", + "name": "Chilldustry", "address": ["trelesco.xyz", "95.84.198.97"] }, { From e177035593e0d03579ce0e6ac0930c0487a84d3f Mon Sep 17 00:00:00 2001 From: Anuken Date: Tue, 2 Apr 2024 09:51:17 -0400 Subject: [PATCH 59/89] Removed unnecessary hit effect calls --- core/src/mindustry/entities/Damage.java | 2 -- 1 file changed, 2 deletions(-) diff --git a/core/src/mindustry/entities/Damage.java b/core/src/mindustry/entities/Damage.java index 2c2426deba..158cba605b 100644 --- a/core/src/mindustry/entities/Damage.java +++ b/core/src/mindustry/entities/Damage.java @@ -293,7 +293,6 @@ public class Damage{ collided.each(c -> { if(hitter.damage > 0 && (pierceCap <= 0 || collideCount[0] < pierceCap)){ if(c.target instanceof Unit u){ - effect.at(c.x, c.y); u.collision(hitter, c.x, c.y); hitter.collision(u, c.x, c.y); collideCount[0]++; @@ -344,7 +343,6 @@ public class Damage{ Units.nearbyEnemies(team, rect.setCentered(x, y, 1f), u -> { if(u.checkTarget(hitter.type.collidesAir, hitter.type.collidesGround) && u.hittable()){ - effect.at(x, y); u.collision(hitter, x, y); hitter.collision(u, x, y); } From d3a78a9d423b6044b782e35d854592e846f8e1a1 Mon Sep 17 00:00:00 2001 From: Cubical box <67639725+BlueTheCube@users.noreply.github.com> Date: Tue, 2 Apr 2024 22:03:14 +0800 Subject: [PATCH 60/89] Fetching unit by type, build without type, and fixing a nullpointer crash (#9703) * Pluh * Pluh * Update LExecutor.java * fixed the null * Update LExecutor.java * I will point your null exception * is it null or nah * it is nah * Update LExecutor.java * Update LExecutor.java * null zero --- core/src/mindustry/logic/LExecutor.java | 14 +++++++++++--- core/src/mindustry/logic/LStatements.java | 8 +++++++- 2 files changed, 18 insertions(+), 4 deletions(-) diff --git a/core/src/mindustry/logic/LExecutor.java b/core/src/mindustry/logic/LExecutor.java index ba9b194364..91cb4575e2 100644 --- a/core/src/mindustry/logic/LExecutor.java +++ b/core/src/mindustry/logic/LExecutor.java @@ -1363,13 +1363,21 @@ public class LExecutor{ TeamData data = t.data(); switch(type){ - case unit -> exec.setobj(result, i < 0 || i >= data.units.size ? null : data.units.get(i)); + case unit -> { + UnitType type = exec.obj(extra) instanceof UnitType u ? u : null; + if(type == null){ + exec.setobj(result, i < 0 || i >= data.units.size ? null : data.units.get(i)); + }else{ + var units = data.unitCache(type); + exec.setobj(result, units == null || i < 0 || i >= units.size ? null : units.get(i)); + } + } case player -> exec.setobj(result, i < 0 || i >= data.players.size || data.players.get(i).unit().isNull() ? null : data.players.get(i).unit()); case core -> exec.setobj(result, i < 0 || i >= data.cores.size ? null : data.cores.get(i)); case build -> { Block block = exec.obj(extra) instanceof Block b ? b : null; if(block == null){ - exec.setobj(result, null); + exec.setobj(result, i < 0 || i >= data.buildings.size ? null : data.buildings.get(i)); }else{ var builds = data.getBuildings(block); exec.setobj(result, i < 0 || i >= builds.size ? null : builds.get(i)); @@ -1380,7 +1388,7 @@ public class LExecutor{ if(type == null){ exec.setnum(result, data.units.size); }else{ - exec.setnum(result, data.unitsByType[type.id].size); + exec.setnum(result, data.unitCache(type) == null ? 0 : data.unitCache(type).size); } } case coreCount -> exec.setnum(result, data.cores.size); diff --git a/core/src/mindustry/logic/LStatements.java b/core/src/mindustry/logic/LStatements.java index 29dde175b5..31cce56e0c 100644 --- a/core/src/mindustry/logic/LStatements.java +++ b/core/src/mindustry/logic/LStatements.java @@ -1856,11 +1856,17 @@ public class LStatements{ fields(table, index, i -> index = i); } - if(type == FetchType.buildCount || type == FetchType.build || type == FetchType.unitCount){ + if(type == FetchType.buildCount || type == FetchType.build){ row(table); fields(table, "block", extra, i -> extra = i); } + + if(type == FetchType.unitCount || type == FetchType.unit){ + row(table); + + fields(table, "unit", extra, i -> extra = i); + } } @Override From 0c52385c6b435855c3fe1ab2a6a8636475acd400 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Bal=C3=A1zs=20Mesk=C3=B3?= Date: Tue, 2 Apr 2024 16:06:23 +0200 Subject: [PATCH 61/89] Update Hungarian translation (#9694) * Update bundle_hu.properties I've translated the new strings. * Update bundle_hu.properties Requested change * Fixed capitalization --- core/assets/bundles/bundle_hu.properties | 72 ++++++++++++------------ 1 file changed, 36 insertions(+), 36 deletions(-) diff --git a/core/assets/bundles/bundle_hu.properties b/core/assets/bundles/bundle_hu.properties index bb618d854c..b501f41f78 100644 --- a/core/assets/bundles/bundle_hu.properties +++ b/core/assets/bundles/bundle_hu.properties @@ -832,7 +832,7 @@ sector.planetaryTerminal.description = A végső célpont.\n\nEzen a vízparti b sector.coastline.description = Ezen a helyen egy haditengerészeti egység technológiájának maradványait azonosították. Verd vissza az ellenséges támadásokat, foglald el ezt a szektort, és szerezd meg a technológiát. sector.navalFortress.description = Az ellenség bázist létesített egy távoli, természetes erődítményes szigeten. Pusztítsd el ezt az előőrsöt. Szerezd meg a fejlett hadihajó-technológiájukat, és fejleszd ki te is. -sector.onset.name = A Kezdet +sector.onset.name = A kezdet sector.aegis.name = Égisz sector.lake.name = Tó sector.intersect.name = Metszéspont @@ -866,7 +866,7 @@ sector.crevice.description = Ebben a szektorban az ellenség kegyetlen támadóe sector.siege.description = Ebben a szektorban két párhuzamos kanyon található, amelyek két irányból érkező támadásokat tesznek lehetővé.\nFejleszd ki a [accent]diciánt[], hogy még erősebb tankegységeket hozhass létre.\nVigyázat: ellenséges, nagy hatótávolságú rakéták észlelve. A rakéták a becsapódásuk előtt megsemmisíthetők. sector.crossroads.description = Az ellenséges támaszpontok ebben a szektorban változó terepviszonyok között alakultak ki. Ahhoz, hogy alkalmazkodni tudj, fejlessz ki különböző egységeket.\nEzenkívül egyes bázisokat pajzsok védenek. Találd ki, hogyan táplálják őket. sector.karst.description = Ez a szektor gazdag a nyersanyagokban, de amint egy új támaszpont leszáll, az ellenség megtámadja azt.\nHasználd ki a nyersanyagokat és fedezd fel a [accent]tóritkvarcot[]. -sector.origin.description = Az utolsó szektor, jelentős ellenséges jelenléttel.\nNem valószínű, hogy további fejlesztési lehetőségek maradtak – koncentrálj az ellenséges támaszpontok elpusztítására. +sector.origin.description = Az utolsó szektor, jelentős ellenséges jelenléttel.\nNem valószínű, hogy maradtak további fejlesztési lehetőségek – koncentrálj az ellenséges támaszpontok elpusztítására. status.burning.name = Égő status.freezing.name = Fagyos @@ -998,46 +998,46 @@ stat.immunities = Immunitások stat.healing = Gyógyulás ability.forcefield = Erőtér -ability.forcefield.description = Projects a force shield that absorbs bullets +ability.forcefield.description = Erőteret vetít ki, mely elnyeli a lövedékeket ability.repairfield = Javító mező -ability.repairfield.description = Repairs nearby units +ability.repairfield.description = Megjavítja a közeli egységeket ability.statusfield = Állapotmező -ability.statusfield.description = Applies a status effect to nearby units +ability.statusfield.description = Állapothatást alkalmaz a közeli egységekre ability.unitspawn = Gyár -ability.unitspawn.description = Constructs units +ability.unitspawn.description = Egységeket gyárt ability.shieldregenfield = Pajzsregeneráló mező -ability.shieldregenfield.description = Regenerates shields of nearby units +ability.shieldregenfield.description = Regenerálja a közeli egységek pajzsát ability.movelightning = Villámcsapás -ability.movelightning.description = Releases lightning while moving -ability.armorplate = Armor Plate -ability.armorplate.description = Reduces damage taken while shooting +ability.movelightning.description = Mozgás közben villámokat bocsát ki +ability.armorplate = Páncéllemez +ability.armorplate.description = Csökkenti a kapott sebzést lövés közben ability.shieldarc = Pajzs ív -ability.shieldarc.description = Projects a force shield in an arc that absorbs bullets +ability.shieldarc.description = Erőteret vetít ki egy ívben, mely elnyeli a lövedékeket ability.suppressionfield = Javítás elnyomása -ability.suppressionfield.description = Stops nearby repair buildings +ability.suppressionfield.description = Leállítja a közeli javítóépületeket ability.energyfield = Energiamező -ability.energyfield.description = Zaps nearby enemies -ability.energyfield.healdescription = Zaps nearby enemies and heals allies +ability.energyfield.description = Megrázza a közeli ellenségeket +ability.energyfield.healdescription = Megrázza a közeli ellenségeket, és gyógyítja a szövetségeseket ability.regen = Regeneráció -ability.regen.description = Regenerates own health over time -ability.liquidregen = Liquid Absorption -ability.liquidregen.description = Absorbs liquid to heal itself -ability.spawndeath = Death Spawns -ability.spawndeath.description = Releases units on death -ability.liquidexplode = Death Spillage -ability.liquidexplode.description = Spills liquid on death -ability.stat.firingrate = [stat]{0}/sec[lightgray] firing rate -ability.stat.regen = [stat]{0}[lightgray] health/sec -ability.stat.shield = [stat]{0}[lightgray] shield -ability.stat.repairspeed = [stat]{0}/sec[lightgray] repair speed -ability.stat.slurpheal = [stat]{0}[lightgray] health/liquid unit -ability.stat.cooldown = [stat]{0} sec[lightgray] cooldown -ability.stat.maxtargets = [stat]{0}[lightgray] max targets -ability.stat.sametypehealmultiplier = [stat]{0}%[lightgray] same type repair amount -ability.stat.damagereduction = [stat]{0}%[lightgray] damage reduction -ability.stat.minspeed = [stat]{0} tiles/sec[lightgray] min speed -ability.stat.duration = [stat]{0} sec[lightgray] duration -ability.stat.buildtime = [stat]{0} sec[lightgray] build time +ability.regen.description = Idővel regenerálja a saját életerejét +ability.liquidregen = Folyadékelnyelés +ability.liquidregen.description = Folyadékot nyel el, hogy gyógyítsa magát +ability.spawndeath = Szétesés +ability.spawndeath.description = Megsemmisülésekor egységeket bocsát ki +ability.liquidexplode = Szétömlés +ability.liquidexplode.description = Megsemmisülésekor folyadék ömlik ki belőle +ability.stat.firingrate = [stat]{0}/mp[lightgray] tüzelési sebesség +ability.stat.regen = [stat]{0}[lightgray] életerő/mp +ability.stat.shield = [stat]{0}[lightgray] pajzs +ability.stat.repairspeed = [stat]{0}/mp[lightgray] javítási sebesség +ability.stat.slurpheal = [stat]{0}[lightgray] életerő/folyadékegység +ability.stat.cooldown = [stat]{0} mp[lightgray] újratöltődés +ability.stat.maxtargets = [stat]{0}[lightgray] max. célpont +ability.stat.sametypehealmultiplier = [stat]{0}%[lightgray] javítási mennyiség (azonos típusnál) +ability.stat.damagereduction = [stat]{0}%[lightgray] sebzéscsökkentés +ability.stat.minspeed = [stat]{0} csempe/mp[lightgray] min. sebesség +ability.stat.duration = [stat]{0} mp[lightgray] időtartam +ability.stat.buildtime = [stat]{0} mp[lightgray] építési idő bar.onlycoredeposit = Csak a támaszpont elhelyezése megengedett bar.drilltierreq = Erősebb fúró szükséges @@ -1316,7 +1316,7 @@ rules.onlydepositcore = Csak a támaszpontok elhelyezése engedélyezett rules.derelictrepair = Az elhagyatott épületek javításának engedélyezése rules.reactorexplosions = Reaktorrobbanások rules.coreincinerates = Többletnyersanyagok megsemmisítése a támaszpontban -rules.disableworldprocessors = Világfeldolgozók letiltása +rules.disableworldprocessors = Világprocesszorok letiltása rules.schematic = Vázlatok engedélyezése rules.wavetimer = Hullámok időzítése rules.wavesending = Hullámok küldése @@ -1342,7 +1342,7 @@ rules.unitdamagemultiplier = Egység sebzésszorzója rules.unitcrashdamagemultiplier = Egység ütközési sebzésszorzója rules.solarmultiplier = Napenergia szorzója rules.unitcapvariable = A támaszpontok befolyásolják a gyártható egységek darabszámát -rules.unitpayloadsexplode = Carried Payloads Explode With The Unit +rules.unitpayloadsexplode = A szállított rakományok az egységgel együtt felrobbannak rules.unitcap = Alap egységdarabszám rules.limitarea = Játékterület korlátozása rules.enemycorebuildradius = Ellenséges támaszpont körüli tiltott zóna sugara:[lightgray] (csempe) @@ -2345,7 +2345,7 @@ lst.getblock = Csempeadatok lekérdezése tetszőleges helyen. lst.setblock = Csempeadatok beállítása tetszőleges helyen. lst.spawnunit = Egység lerakása az adott helyen. lst.applystatus = Állapothatás alkalmazása vagy törlése egy egységről. -lst.weathersense = Check if a type of weather is active. +lst.weathersense = Ellenőrzés, hogy egy bizonyos típusú időjárás aktív-e. lst.weatherset = Az időjárástípus jelenlegi állapotának megadása. lst.spawnwave = Egy hullám indítása. lst.explosion = Robbanás létrehozása az adott helyen. From 4d916f5b2394534598d3636595a2c422053f5359 Mon Sep 17 00:00:00 2001 From: Redstonneur1256 Date: Wed, 3 Apr 2024 00:52:02 +0200 Subject: [PATCH 62/89] Update servers_v7.json (#9704) --- servers_v7.json | 4 ---- 1 file changed, 4 deletions(-) diff --git a/servers_v7.json b/servers_v7.json index ce7a6765fb..58e1268346 100644 --- a/servers_v7.json +++ b/servers_v7.json @@ -269,10 +269,6 @@ "name": "Atomic", "address": ["atomic-de.ddns.net:35876", "atomic-de.ddns.net:35663", "atomic-de.ddns.net:35724", "atomic-de.ddns.net:35847"] }, - { - "name": "SkyPlex", - "address": ["mc-skyplex.net"] - }, { "name": "Gadgetroch's Server", "address": ["mindustry.gadgetroch.com", "mindustry.gadgetroch.com:6568", "mindustry.gadgetroch.com:6569"] From d1538a168dc955e984042aab0c2e84a32f4e21bc Mon Sep 17 00:00:00 2001 From: Anuken Date: Thu, 4 Apr 2024 09:21:25 -0400 Subject: [PATCH 63/89] Fixed #9708 --- core/src/mindustry/world/blocks/units/UnitAssembler.java | 6 +++++- 1 file changed, 5 insertions(+), 1 deletion(-) diff --git a/core/src/mindustry/world/blocks/units/UnitAssembler.java b/core/src/mindustry/world/blocks/units/UnitAssembler.java index bff1cdf800..f77f2119ac 100644 --- a/core/src/mindustry/world/blocks/units/UnitAssembler.java +++ b/core/src/mindustry/world/blocks/units/UnitAssembler.java @@ -23,6 +23,8 @@ import mindustry.logic.*; import mindustry.type.*; import mindustry.ui.*; import mindustry.world.*; +import mindustry.world.blocks.*; +import mindustry.world.blocks.ConstructBlock.*; import mindustry.world.blocks.payloads.*; import mindustry.world.blocks.units.UnitAssemblerModule.*; import mindustry.world.consumers.*; @@ -85,7 +87,9 @@ public class UnitAssembler extends PayloadBlock{ public boolean canPlaceOn(Tile tile, Team team, int rotation){ //overlapping construction areas not allowed; grow by a tiny amount so edges can't overlap either. Rect rect = getRect(Tmp.r1, tile.worldx() + offset, tile.worldy() + offset, rotation).grow(0.1f); - return !indexer.getFlagged(team, BlockFlag.unitAssembler).contains(b -> getRect(Tmp.r2, b.x, b.y, b.rotation).overlaps(rect)); + return + !indexer.getFlagged(team, BlockFlag.unitAssembler).contains(b -> getRect(Tmp.r2, b.x, b.y, b.rotation).overlaps(rect)) && + !team.data().getBuildings(ConstructBlock.get(size)).contains(b -> ((ConstructBuild)b).current instanceof UnitAssembler && getRect(Tmp.r2, b.x, b.y, b.rotation).overlaps(rect)); } @Override From 89433ddeb48aa3410ac316e2550798e625c113bb Mon Sep 17 00:00:00 2001 From: Anuken Date: Thu, 4 Apr 2024 18:14:32 -0400 Subject: [PATCH 64/89] Trail length FPS independence --- core/src/mindustry/graphics/Trail.java | 34 ++++++++++++++++---------- gradle.properties | 2 +- 2 files changed, 22 insertions(+), 14 deletions(-) diff --git a/core/src/mindustry/graphics/Trail.java b/core/src/mindustry/graphics/Trail.java index 7594257642..48e8ff900e 100644 --- a/core/src/mindustry/graphics/Trail.java +++ b/core/src/mindustry/graphics/Trail.java @@ -97,12 +97,11 @@ public class Trail{ /** Removes the last point from the trail at intervals. */ public void shorten(){ - if((counter += Time.delta) >= 1f){ - if(points.size >= 3){ - points.removeRange(0, 2); - } + int count = (int)(counter += Time.delta); + counter -= count; - counter %= 1f; + if(points.size + ((count - 1) * 3) > length * 3){ + points.removeRange(0, Math.min(3 * count - 1, points.size - 1)); } } @@ -113,18 +112,27 @@ public class Trail{ /** Adds a new point to the trail at intervals. */ public void update(float x, float y, float width){ - //TODO fix longer trails at low FPS - if((counter += Time.delta) >= 1f){ - if(points.size > length*3){ - points.removeRange(0, 2); + int count = (int)(counter += Time.delta); + counter -= count; + + if(count > 0){ + int toRemove = points.size + (count - 1 - length) * 3; + if(toRemove > 0){ + points.removeRange(0, Math.min(toRemove - 1, points.size - 1)); } - points.add(x, y, width); - - counter %= 1f; + //if lastX is -1, this trail has never updated, so only add one point - there is nothing to interpolate with + if(count == 1 || lastX == -1f){ + points.add(x, y, width); + }else{ + for(int i = 0; i < count; i++){ + float f = (i + 1f) / count; + points.add(Mathf.lerp(lastX, x, f), Mathf.lerp(lastY, y, f), Mathf.lerp(lastW, width, f)); + } + } } - //update last position regardless, so it joins + //update last position regardless, so it joins at the origin lastAngle = -Angles.angleRad(x, y, lastX, lastY); lastX = x; lastY = y; diff --git a/gradle.properties b/gradle.properties index 1733b891ba..5aca247a29 100644 --- a/gradle.properties +++ b/gradle.properties @@ -25,4 +25,4 @@ org.gradle.caching=true #used for slow jitpack builds; TODO see if this actually works org.gradle.internal.http.socketTimeout=100000 org.gradle.internal.http.connectionTimeout=100000 -archash=e312cc96f5 +archash=4ea3d3b7e8 From 275199fe1679db416532f72a80549e071f1ef728 Mon Sep 17 00:00:00 2001 From: Anuken Date: Thu, 4 Apr 2024 23:24:58 -0400 Subject: [PATCH 65/89] Trail tail smoothened --- core/src/mindustry/graphics/Trail.java | 6 ++++++ 1 file changed, 6 insertions(+) diff --git a/core/src/mindustry/graphics/Trail.java b/core/src/mindustry/graphics/Trail.java index 48e8ff900e..813623a7bf 100644 --- a/core/src/mindustry/graphics/Trail.java +++ b/core/src/mindustry/graphics/Trail.java @@ -65,6 +65,12 @@ public class Trail{ x2 = items[i + 3]; y2 = items[i + 4]; w2 = items[i + 5]; + + if(i == 0){ + x1 = Mathf.lerp(x1, x2, counter); + y1 = Mathf.lerp(y1, y2, counter); + w1 = Mathf.lerp(w1, w2, counter); + } }else{ x2 = lastX; y2 = lastY; From ca37e1903d8aa2777ec655f37dc1ef157249a882 Mon Sep 17 00:00:00 2001 From: Hahaa13 <108379326+Hahaa13@users.noreply.github.com> Date: Fri, 5 Apr 2024 19:52:59 +0700 Subject: [PATCH 66/89] Update servers_v7.json (#9711) --- servers_v7.json | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/servers_v7.json b/servers_v7.json index 58e1268346..1bc2162697 100644 --- a/servers_v7.json +++ b/servers_v7.json @@ -279,7 +279,7 @@ }, { "name": "AZDustry", - "address": ["118.127.8.162:25628"] + "address": ["23.175.144.70:25845"] }, { "name": "Erepulo", From 7bec60de1298f9f39b3e9f85a44a55c62c830b76 Mon Sep 17 00:00:00 2001 From: Anuken Date: Fri, 5 Apr 2024 21:00:37 -0400 Subject: [PATCH 67/89] Fixed snow name --- core/assets/bundles/bundle.properties | 2 +- core/assets/bundles/bundle_be.properties | 2 +- core/assets/bundles/bundle_bg.properties | 2 +- core/assets/bundles/bundle_ca.properties | 2 +- core/assets/bundles/bundle_cs.properties | 2 +- core/assets/bundles/bundle_da.properties | 2 +- core/assets/bundles/bundle_de.properties | 2 +- core/assets/bundles/bundle_es.properties | 2 +- core/assets/bundles/bundle_et.properties | 2 +- core/assets/bundles/bundle_eu.properties | 2 +- core/assets/bundles/bundle_fi.properties | 2 +- core/assets/bundles/bundle_fil.properties | 2 +- core/assets/bundles/bundle_fr.properties | 2 +- core/assets/bundles/bundle_hu.properties | 2 +- core/assets/bundles/bundle_id_ID.properties | 2 +- core/assets/bundles/bundle_it.properties | 2 +- core/assets/bundles/bundle_ja.properties | 2 +- core/assets/bundles/bundle_ko.properties | 2 +- core/assets/bundles/bundle_lt.properties | 2 +- core/assets/bundles/bundle_nl.properties | 2 +- core/assets/bundles/bundle_nl_BE.properties | 2 +- core/assets/bundles/bundle_pl.properties | 2 +- core/assets/bundles/bundle_pt_BR.properties | 2 +- core/assets/bundles/bundle_pt_PT.properties | 2 +- core/assets/bundles/bundle_ro.properties | 2 +- core/assets/bundles/bundle_ru.properties | 2 +- core/assets/bundles/bundle_sr.properties | 2 +- core/assets/bundles/bundle_sv.properties | 2 +- core/assets/bundles/bundle_th.properties | 2 +- core/assets/bundles/bundle_tk.properties | 2 +- core/assets/bundles/bundle_tr.properties | 2 +- core/assets/bundles/bundle_uk_UA.properties | 2 +- core/assets/bundles/bundle_vi.properties | 2 +- core/assets/bundles/bundle_zh_CN.properties | 2 +- core/assets/bundles/bundle_zh_TW.properties | 2 +- 35 files changed, 35 insertions(+), 35 deletions(-) diff --git a/core/assets/bundles/bundle.properties b/core/assets/bundles/bundle.properties index 239a70034a..08afa6d5fd 100644 --- a/core/assets/bundles/bundle.properties +++ b/core/assets/bundles/bundle.properties @@ -738,7 +738,7 @@ error.any = Unknown network error. error.bloom = Failed to initialize bloom.\nYour device may not support it. weather.rain.name = Rain -weather.snow.name = Snow +weather.snowing.name = Snow weather.sandstorm.name = Sandstorm weather.sporestorm.name = Sporestorm weather.fog.name = Fog diff --git a/core/assets/bundles/bundle_be.properties b/core/assets/bundles/bundle_be.properties index 28be5a9d62..dea9e38c94 100644 --- a/core/assets/bundles/bundle_be.properties +++ b/core/assets/bundles/bundle_be.properties @@ -716,7 +716,7 @@ error.any = Невядомая сеткавая памылка. error.bloom = Не атрымалася ініцыялізаваць свячэнне (Bloom). \nМагчыма, зараз Вашая прылада не падтрымлівае яго. weather.rain.name = Дождж -weather.snow.name = Снег +weather.snowing.name = Снег weather.sandstorm.name = Пясчаная бура weather.sporestorm.name = Спаравая бура weather.fog.name = Туман diff --git a/core/assets/bundles/bundle_bg.properties b/core/assets/bundles/bundle_bg.properties index 7c6656a87e..a3dc513594 100644 --- a/core/assets/bundles/bundle_bg.properties +++ b/core/assets/bundles/bundle_bg.properties @@ -723,7 +723,7 @@ error.any = Неизвестна мрежова грешка. error.bloom = Неуспешно инициализиране на Сияния.\nВашето устройство може да не поддържа този ефект. weather.rain.name = Дъжд -weather.snow.name = Сняг +weather.snowing.name = Сняг weather.sandstorm.name = Пясъчна буря weather.sporestorm.name = Спорова буря weather.fog.name = Мъгла diff --git a/core/assets/bundles/bundle_ca.properties b/core/assets/bundles/bundle_ca.properties index 6e373a2606..8af95acac6 100644 --- a/core/assets/bundles/bundle_ca.properties +++ b/core/assets/bundles/bundle_ca.properties @@ -727,7 +727,7 @@ error.any = S’ha produït un error de xarxa desconegut. error.bloom = No s’ha pogut inicialitzar l’efecte «bloom».\nPotser el dispositiu no admet aquesta funció. weather.rain.name = Pluja -weather.snow.name = Neu +weather.snowing.name = Neu weather.sandstorm.name = Tempesta de sorra weather.sporestorm.name = Tempesta d’espores weather.fog.name = Boira diff --git a/core/assets/bundles/bundle_cs.properties b/core/assets/bundles/bundle_cs.properties index a44a8cea4c..5459cf49fa 100644 --- a/core/assets/bundles/bundle_cs.properties +++ b/core/assets/bundles/bundle_cs.properties @@ -725,7 +725,7 @@ error.any = Neznámá chyba sítě. error.bloom = Chyba inicializace filtru Bloom.\nTvé zařízení ho nejspíš nepodporuje. weather.rain.name = Déšť -weather.snow.name = Sníh +weather.snowing.name = Sníh weather.sandstorm.name = Písečná ouře weather.sporestorm.name = Spórová bouře weather.fog.name = Mlha diff --git a/core/assets/bundles/bundle_da.properties b/core/assets/bundles/bundle_da.properties index ba68c6cb22..563f6134f8 100644 --- a/core/assets/bundles/bundle_da.properties +++ b/core/assets/bundles/bundle_da.properties @@ -717,7 +717,7 @@ error.any = Ukendt netværksfejl. error.bloom = Kunne ikke etablere bloom-effekt.\nMåske understøtter din enhed den ikke. weather.rain.name = Regn -weather.snow.name = Sne +weather.snowing.name = Sne weather.sandstorm.name = Sandstorm weather.sporestorm.name = Sporestorm weather.fog.name = Tåge diff --git a/core/assets/bundles/bundle_de.properties b/core/assets/bundles/bundle_de.properties index ad2c09c8f7..7d1a5caa72 100644 --- a/core/assets/bundles/bundle_de.properties +++ b/core/assets/bundles/bundle_de.properties @@ -734,7 +734,7 @@ error.any = Unbekannter Netzwerkfehler. error.bloom = Bloom konnte nicht initialisiert werden.\nEs kann sein, dass dein Gerät es nicht unterstützt. weather.rain.name = Regen -weather.snow.name = Schnee +weather.snowing.name = Schnee weather.sandstorm.name = Sandsturm weather.sporestorm.name = Sporensturm weather.fog.name = Nebel diff --git a/core/assets/bundles/bundle_es.properties b/core/assets/bundles/bundle_es.properties index 37aaf8fa5c..e833d94709 100644 --- a/core/assets/bundles/bundle_es.properties +++ b/core/assets/bundles/bundle_es.properties @@ -731,7 +731,7 @@ error.any = Error de red desconocido. error.bloom = Error al cargar el efecto de bloom.\nPuede que tu dispositivo no sea compatible con esta característica. weather.rain.name = Lluvia -weather.snow.name = Nieve +weather.snowing.name = Nieve weather.sandstorm.name = Tormenta de arena weather.sporestorm.name = Tormenta de esporas weather.fog.name = Niebla diff --git a/core/assets/bundles/bundle_et.properties b/core/assets/bundles/bundle_et.properties index cf46c49acf..1f653ca8cb 100644 --- a/core/assets/bundles/bundle_et.properties +++ b/core/assets/bundles/bundle_et.properties @@ -717,7 +717,7 @@ error.any = Teadmata viga võrgus. error.bloom = Bloom-efekti lähtestamine ebaõnnestus.\nSinu seade ei pruugi seda efekti toetada. weather.rain.name = Rain -weather.snow.name = Snow +weather.snowing.name = Snow weather.sandstorm.name = Sandstorm weather.sporestorm.name = Sporestorm weather.fog.name = Fog diff --git a/core/assets/bundles/bundle_eu.properties b/core/assets/bundles/bundle_eu.properties index f97845fc3e..937455c5ae 100644 --- a/core/assets/bundles/bundle_eu.properties +++ b/core/assets/bundles/bundle_eu.properties @@ -719,7 +719,7 @@ error.any = Sareko errore ezezaguna. error.bloom = Ezin izan da distira hasieratu.\nAgian zure gailuak ez du onartzen. weather.rain.name = Rain -weather.snow.name = Snow +weather.snowing.name = Snow weather.sandstorm.name = Sandstorm weather.sporestorm.name = Sporestorm weather.fog.name = Fog diff --git a/core/assets/bundles/bundle_fi.properties b/core/assets/bundles/bundle_fi.properties index 011cb44d22..a510f47d8b 100644 --- a/core/assets/bundles/bundle_fi.properties +++ b/core/assets/bundles/bundle_fi.properties @@ -717,7 +717,7 @@ error.any = Tuntematon verkon virhe. error.bloom = Bloomin initialisointi epäonnistui.\nLaitteesi ei ehkä tue sitä. weather.rain.name = Sade -weather.snow.name = Lumi +weather.snowing.name = Lumi weather.sandstorm.name = Hiekkamyrsky weather.sporestorm.name = Sienimyräkkä weather.fog.name = Sumu diff --git a/core/assets/bundles/bundle_fil.properties b/core/assets/bundles/bundle_fil.properties index 92634c5367..4c1af29c96 100644 --- a/core/assets/bundles/bundle_fil.properties +++ b/core/assets/bundles/bundle_fil.properties @@ -717,7 +717,7 @@ error.any = Unknown network error. error.bloom = Nabigong simulan ang bloom.\nMaaaring hindi ito sinusuportahan ng iyong device. weather.rain.name = Rain -weather.snow.name = Snow +weather.snowing.name = Snow weather.sandstorm.name = Sandstorm weather.sporestorm.name = Sporestorm weather.fog.name = Fog diff --git a/core/assets/bundles/bundle_fr.properties b/core/assets/bundles/bundle_fr.properties index d044c45163..8b950668e4 100644 --- a/core/assets/bundles/bundle_fr.properties +++ b/core/assets/bundles/bundle_fr.properties @@ -737,7 +737,7 @@ error.any = Erreur de réseau inconnue. error.bloom = Échec de l'initialisation du flou lumineux.\nIl se peut que votre appareil ne le prenne pas en charge. weather.rain.name = Pluie -weather.snow.name = Neige +weather.snowing.name = Neige weather.sandstorm.name = Tempête de sable weather.sporestorm.name = Tempête de spores weather.fog.name = Brouillard diff --git a/core/assets/bundles/bundle_hu.properties b/core/assets/bundles/bundle_hu.properties index b501f41f78..997e33631c 100644 --- a/core/assets/bundles/bundle_hu.properties +++ b/core/assets/bundles/bundle_hu.properties @@ -738,7 +738,7 @@ error.any = Ismeretlen hálózati hiba. error.bloom = A bloom hatás előkészítése nem sikerült.\nElőfordulhat, hogy az eszköz nem támogatja. weather.rain.name = Eső -weather.snow.name = Hóesés +weather.snowing.name = Hóesés weather.sandstorm.name = Homokvihar weather.sporestorm.name = Spóravihar weather.fog.name = Köd diff --git a/core/assets/bundles/bundle_id_ID.properties b/core/assets/bundles/bundle_id_ID.properties index e9040f5bab..d8e91ab50c 100644 --- a/core/assets/bundles/bundle_id_ID.properties +++ b/core/assets/bundles/bundle_id_ID.properties @@ -731,7 +731,7 @@ error.any = Terjadi kesalahan Jaringan tidak diketahui. error.bloom = Gagal untuk menjalankan bloom.\nPerangkat Anda mungkin tidak mendukung fitur ini. weather.rain.name = Hujan -weather.snow.name = Salju +weather.snowing.name = Salju weather.sandstorm.name = Badai Pasir weather.sporestorm.name = Badai Spora weather.fog.name = Kabut diff --git a/core/assets/bundles/bundle_it.properties b/core/assets/bundles/bundle_it.properties index 1db134fcd2..138b8cef13 100644 --- a/core/assets/bundles/bundle_it.properties +++ b/core/assets/bundles/bundle_it.properties @@ -721,7 +721,7 @@ error.any = Errore di rete sconosciuto. error.bloom = Errore dell'avvio delle shaders.\nIl tuo dispositivo potrebbe non supportarle. weather.rain.name = Pioggia -weather.snow.name = Neve +weather.snowing.name = Neve weather.sandstorm.name = Tempesta di Sabbia weather.sporestorm.name = Tempesta di Spore weather.fog.name = Nebbia diff --git a/core/assets/bundles/bundle_ja.properties b/core/assets/bundles/bundle_ja.properties index d67268871a..7e021ec285 100644 --- a/core/assets/bundles/bundle_ja.properties +++ b/core/assets/bundles/bundle_ja.properties @@ -725,7 +725,7 @@ error.any = 不明なネットワークエラーです。 error.bloom = ブルームの初期化に失敗しました。\n恐らくあなたのデバイスではブルームがサポートされていません。 weather.rain.name = 雨 -weather.snow.name = 雪 +weather.snowing.name = 雪 weather.sandstorm.name = 砂嵐 weather.sporestorm.name = 胞子嵐 weather.fog.name = 霧 diff --git a/core/assets/bundles/bundle_ko.properties b/core/assets/bundles/bundle_ko.properties index 8cdb1beacf..be380aa335 100644 --- a/core/assets/bundles/bundle_ko.properties +++ b/core/assets/bundles/bundle_ko.properties @@ -726,7 +726,7 @@ error.any = 알 수 없는 네트워크 오류 error.bloom = 블룸 그래픽 효과를 적용하지 못했습니다.\n기기가 이 기능을 지원하지 않는 것일 수도 있습니다. weather.rain.name = 비 -weather.snow.name = 눈 +weather.snowing.name = 눈 weather.sandstorm.name = 모래 폭풍 weather.sporestorm.name = 포자 폭풍 weather.fog.name = 안개 diff --git a/core/assets/bundles/bundle_lt.properties b/core/assets/bundles/bundle_lt.properties index 210ccafb06..68a0e9319b 100644 --- a/core/assets/bundles/bundle_lt.properties +++ b/core/assets/bundles/bundle_lt.properties @@ -717,7 +717,7 @@ error.any = Nžinoma tinklo klaida. error.bloom = Nepavyko inicijuoti spindėjimo.\nJūsų įrenginys gali nepalaikyti šios funkcijos. weather.rain.name = Rain -weather.snow.name = Snow +weather.snowing.name = Snow weather.sandstorm.name = Sandstorm weather.sporestorm.name = Sporestorm weather.fog.name = Fog diff --git a/core/assets/bundles/bundle_nl.properties b/core/assets/bundles/bundle_nl.properties index a193ffe2dd..8af4933743 100644 --- a/core/assets/bundles/bundle_nl.properties +++ b/core/assets/bundles/bundle_nl.properties @@ -728,7 +728,7 @@ error.any = Onbekende netwerk fout. error.bloom = Bloom aanzetten mislukt.\nJe apparaat ondersteunt het waarschijnlijk niet. weather.rain.name = Regen -weather.snow.name = Sneeuw +weather.snowing.name = Sneeuw weather.sandstorm.name = Zandstorm weather.sporestorm.name = Schimmelstorm weather.fog.name = Mist diff --git a/core/assets/bundles/bundle_nl_BE.properties b/core/assets/bundles/bundle_nl_BE.properties index 5691be2512..34a4da88f5 100644 --- a/core/assets/bundles/bundle_nl_BE.properties +++ b/core/assets/bundles/bundle_nl_BE.properties @@ -717,7 +717,7 @@ error.any = Unknown network error. error.bloom = Failed to initialize bloom.\nYour device may not support it. weather.rain.name = Rain -weather.snow.name = Snow +weather.snowing.name = Snow weather.sandstorm.name = Sandstorm weather.sporestorm.name = Sporestorm weather.fog.name = Fog diff --git a/core/assets/bundles/bundle_pl.properties b/core/assets/bundles/bundle_pl.properties index e991692472..9127fbfaf2 100644 --- a/core/assets/bundles/bundle_pl.properties +++ b/core/assets/bundles/bundle_pl.properties @@ -723,7 +723,7 @@ error.any = Nieznany błąd sieci. error.bloom = Nie udało się załadować funkcji bloom.\nTwoje urządzenie może nie wspierać tej funkcji. weather.rain.name = Deszcz -weather.snow.name = Śnieg +weather.snowing.name = Śnieg weather.sandstorm.name = Burza piaskowa weather.sporestorm.name = Burza zarodników weather.fog.name = Mgła diff --git a/core/assets/bundles/bundle_pt_BR.properties b/core/assets/bundles/bundle_pt_BR.properties index aea3126a21..77fd5923d3 100644 --- a/core/assets/bundles/bundle_pt_BR.properties +++ b/core/assets/bundles/bundle_pt_BR.properties @@ -731,7 +731,7 @@ error.any = Erro de rede desconhecido. error.bloom = Falha ao inicializar bloom.\nSeu dispositivo talvez não o suporte. weather.rain.name = Chuva -weather.snow.name = Neve +weather.snowing.name = Neve weather.sandstorm.name = Tempestade de Areia weather.sporestorm.name = Tempestade de Esporos weather.fog.name = Névoa diff --git a/core/assets/bundles/bundle_pt_PT.properties b/core/assets/bundles/bundle_pt_PT.properties index a0be18e995..f0d6701020 100644 --- a/core/assets/bundles/bundle_pt_PT.properties +++ b/core/assets/bundles/bundle_pt_PT.properties @@ -717,7 +717,7 @@ error.any = Erro de rede desconhecido. error.bloom = Falha ao inicializar bloom.\nSeu aparelho talvez não o suporte. weather.rain.name = Rain -weather.snow.name = Snow +weather.snowing.name = Snow weather.sandstorm.name = Sandstorm weather.sporestorm.name = Sporestorm weather.fog.name = Fog diff --git a/core/assets/bundles/bundle_ro.properties b/core/assets/bundles/bundle_ro.properties index ed8fc6bb60..409cf3be17 100644 --- a/core/assets/bundles/bundle_ro.properties +++ b/core/assets/bundles/bundle_ro.properties @@ -725,7 +725,7 @@ error.any = Eroare de rețea necunoscută. error.bloom = Inițializarea strălucirii a eșuat.\nS-ar putea ca dispozitivul tău să nu suporte funcția. weather.rain.name = Ploaie -weather.snow.name = Ninsoare +weather.snowing.name = Ninsoare weather.sandstorm.name = Furtună de nisip weather.sporestorm.name = Furtună de spori weather.fog.name = Ceață diff --git a/core/assets/bundles/bundle_ru.properties b/core/assets/bundles/bundle_ru.properties index 2587e514ba..13eec1407e 100644 --- a/core/assets/bundles/bundle_ru.properties +++ b/core/assets/bundles/bundle_ru.properties @@ -725,7 +725,7 @@ error.any = Неизвестная сетевая ошибка. error.bloom = Не удалось инициализировать свечение (Bloom).\nВозможно, ваше устройство не поддерживает его. weather.rain.name = Дождь -weather.snow.name = Снегопад +weather.snowing.name = Снегопад weather.sandstorm.name = Песчаная буря weather.sporestorm.name = Споровая буря weather.fog.name = Туман diff --git a/core/assets/bundles/bundle_sr.properties b/core/assets/bundles/bundle_sr.properties index 56582bbae8..218940ccd3 100644 --- a/core/assets/bundles/bundle_sr.properties +++ b/core/assets/bundles/bundle_sr.properties @@ -726,7 +726,7 @@ error.any = Nepoznata greška u mreži. error.bloom = Failed to initialize bloom.\nYour device may not support it. weather.rain.name = Kiša -weather.snow.name = Sneg +weather.snowing.name = Sneg weather.sandstorm.name = Peščana Oluja weather.sporestorm.name = Sporna Oluja weather.fog.name = Magla diff --git a/core/assets/bundles/bundle_sv.properties b/core/assets/bundles/bundle_sv.properties index 65d440cab3..5a30521e0c 100644 --- a/core/assets/bundles/bundle_sv.properties +++ b/core/assets/bundles/bundle_sv.properties @@ -717,7 +717,7 @@ error.any = Okänt nätverksfel. error.bloom = Failed to initialize bloom.\nYour device may not support it. weather.rain.name = Rain -weather.snow.name = Snow +weather.snowing.name = Snow weather.sandstorm.name = Sandstorm weather.sporestorm.name = Sporestorm weather.fog.name = Fog diff --git a/core/assets/bundles/bundle_th.properties b/core/assets/bundles/bundle_th.properties index 222c4fbb21..e1032d277c 100644 --- a/core/assets/bundles/bundle_th.properties +++ b/core/assets/bundles/bundle_th.properties @@ -725,7 +725,7 @@ error.any = ข้อผิดพลาด: เครือข่ายที่ error.bloom = ไม่สามารถเริ่มต้นบลูมได้\nอุปกรณ์ของคุณอาจไม่รองรับ weather.rain.name = ฝน -weather.snow.name = หิมะ +weather.snowing.name = หิมะ weather.sandstorm.name = พายุทราย weather.sporestorm.name = พายุสปอร์ weather.fog.name = หมอก diff --git a/core/assets/bundles/bundle_tk.properties b/core/assets/bundles/bundle_tk.properties index 881abd92f9..18c9cb6235 100644 --- a/core/assets/bundles/bundle_tk.properties +++ b/core/assets/bundles/bundle_tk.properties @@ -717,7 +717,7 @@ error.any = Unkown network error. error.bloom = Failed to initialize bloom.\nYour device may not support it. weather.rain.name = Rain -weather.snow.name = Snow +weather.snowing.name = Snow weather.sandstorm.name = Sandstorm weather.sporestorm.name = Sporestorm weather.fog.name = Fog diff --git a/core/assets/bundles/bundle_tr.properties b/core/assets/bundles/bundle_tr.properties index f50ff06f3a..9a60f81d7c 100644 --- a/core/assets/bundles/bundle_tr.properties +++ b/core/assets/bundles/bundle_tr.properties @@ -725,7 +725,7 @@ error.any = Bilinmeyen ağ hatası. error.bloom = Kamaşma başlatılamadı.\nCihazınız bu özelliği desteklemiyor olabilir. weather.rain.name = Yağmur -weather.snow.name = Kar +weather.snowing.name = Kar weather.sandstorm.name = Kum Fırtınası weather.sporestorm.name = Spor Fırtınası weather.fog.name = Sis diff --git a/core/assets/bundles/bundle_uk_UA.properties b/core/assets/bundles/bundle_uk_UA.properties index e6743cbee4..6b0e45de61 100644 --- a/core/assets/bundles/bundle_uk_UA.properties +++ b/core/assets/bundles/bundle_uk_UA.properties @@ -733,7 +733,7 @@ error.any = Невідома мережева помилка error.bloom = Не вдалося ініціалізувати світіння.\nВаш пристрій, мабуть, не підтримує це. weather.rain.name = Дощ -weather.snow.name = Сніг +weather.snowing.name = Сніг weather.sandstorm.name = Піщана буря weather.sporestorm.name = Спорова буря weather.fog.name = Туман diff --git a/core/assets/bundles/bundle_vi.properties b/core/assets/bundles/bundle_vi.properties index 377ce2fff4..59ff78b06e 100644 --- a/core/assets/bundles/bundle_vi.properties +++ b/core/assets/bundles/bundle_vi.properties @@ -726,7 +726,7 @@ error.any = Lỗi mạng không xác định. error.bloom = Không khởi tạo được hiệu ứng phát sáng.\nThiết bị của bạn có thể không hỗ trợ. weather.rain.name = Mưa -weather.snow.name = Tuyết +weather.snowing.name = Tuyết weather.sandstorm.name = Bão cát weather.sporestorm.name = Bão bào tử weather.fog.name = Sương mù diff --git a/core/assets/bundles/bundle_zh_CN.properties b/core/assets/bundles/bundle_zh_CN.properties index 2a74a48802..4044a20dbc 100644 --- a/core/assets/bundles/bundle_zh_CN.properties +++ b/core/assets/bundles/bundle_zh_CN.properties @@ -734,7 +734,7 @@ error.any = 未知网络错误。 error.bloom = 未能初始化光效。 \n您的设备可能不支持。 weather.rain.name = 降雨 -weather.snow.name = 降雪 +weather.snowing.name = 降雪 weather.sandstorm.name = 沙尘暴 weather.sporestorm.name = 孢子风暴 weather.fog.name = 雾 diff --git a/core/assets/bundles/bundle_zh_TW.properties b/core/assets/bundles/bundle_zh_TW.properties index 465a18589d..35cbef4819 100644 --- a/core/assets/bundles/bundle_zh_TW.properties +++ b/core/assets/bundles/bundle_zh_TW.properties @@ -731,7 +731,7 @@ error.any = 未知網路錯誤。 error.bloom = 初始化特效失敗。\n您的裝置可能不支援 weather.rain.name = 雨 -weather.snow.name = 雪 +weather.snowing.name = 雪 weather.sandstorm.name = 沙塵暴 weather.sporestorm.name = 孢子風暴 weather.fog.name = 霧 From 08c8ab08a2b8d0be42f2a35b8fb8c414f40a6f9b Mon Sep 17 00:00:00 2001 From: Anuken Date: Sat, 6 Apr 2024 09:49:30 -0400 Subject: [PATCH 68/89] Fixed #9713 --- core/src/mindustry/graphics/Trail.java | 4 ++-- gradle.properties | 2 +- 2 files changed, 3 insertions(+), 3 deletions(-) diff --git a/core/src/mindustry/graphics/Trail.java b/core/src/mindustry/graphics/Trail.java index 813623a7bf..426f7215b3 100644 --- a/core/src/mindustry/graphics/Trail.java +++ b/core/src/mindustry/graphics/Trail.java @@ -106,7 +106,7 @@ public class Trail{ int count = (int)(counter += Time.delta); counter -= count; - if(points.size + ((count - 1) * 3) > length * 3){ + if(points.size + ((count - 1) * 3) > length * 3 && points.size > 0){ points.removeRange(0, Math.min(3 * count - 1, points.size - 1)); } } @@ -123,7 +123,7 @@ public class Trail{ if(count > 0){ int toRemove = points.size + (count - 1 - length) * 3; - if(toRemove > 0){ + if(toRemove > 0 && points.size > 0){ points.removeRange(0, Math.min(toRemove - 1, points.size - 1)); } diff --git a/gradle.properties b/gradle.properties index 5aca247a29..ba5ca31b4a 100644 --- a/gradle.properties +++ b/gradle.properties @@ -25,4 +25,4 @@ org.gradle.caching=true #used for slow jitpack builds; TODO see if this actually works org.gradle.internal.http.socketTimeout=100000 org.gradle.internal.http.connectionTimeout=100000 -archash=4ea3d3b7e8 +archash=6ad7aca01b From 8ad39a5944c787ea695977fceac03a7eae19feb0 Mon Sep 17 00:00:00 2001 From: NealRead <160118416+NealRead@users.noreply.github.com> Date: Sat, 6 Apr 2024 20:50:08 +0700 Subject: [PATCH 69/89] Update servers_v7.json (#9712) --- servers_v7.json | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/servers_v7.json b/servers_v7.json index 1bc2162697..d77ae5e3a9 100644 --- a/servers_v7.json +++ b/servers_v7.json @@ -291,7 +291,7 @@ }, { "name": "NPTS", - "address": ["94.198.54.132:26863"] + "address": ["81.94.156.54"] }, { "name": "Skywar.VN", From ef0f89efcfa42aaeb0df5ac8c9e520ab9ad79ed8 Mon Sep 17 00:00:00 2001 From: TheCrux_ <134880334+The1Crux@users.noreply.github.com> Date: Sat, 6 Apr 2024 09:50:19 -0400 Subject: [PATCH 70/89] Update servers_v7.json (#9699) don't ask how did i got 9 servers, just enjoy it --- servers_v7.json | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/servers_v7.json b/servers_v7.json index d77ae5e3a9..5ae3b91ff5 100644 --- a/servers_v7.json +++ b/servers_v7.json @@ -29,8 +29,8 @@ "address": ["cn1.meiqiumdt.top","cn1.meiqiumdt.top:7000","cn1.meiqiumdt.top:8000","cn1.meiqiumdt.top:7013","cn1.meiqiumdt.top:9000"] }, { - "name": "Crux's Revelations", - "address": ["de-free-01.hosts.optikservers.com:31528","de-prem-01.hosts.optikservers.com:35922"] + "name": "Crux's Citadel", + "address": ["45.158.9.198:32865","45.158.9.198:30055","45.158.9.198:32175","45.158.9.198:30252","94.130.132.149:35899","129.154.47.57:26645","94.130.132.149:35930","129.154.47.57:27993","129.154.47.57:26881"] }, { "name": "Chilldustry", From 58d6b3e2d6a646698b88a0d09490e2a0e32259dd Mon Sep 17 00:00:00 2001 From: MEEPofFaith <54301439+MEEPofFaith@users.noreply.github.com> Date: Sat, 6 Apr 2024 06:52:39 -0700 Subject: [PATCH 71/89] Make ChildComp work with turrets (#9706) --- .../mindustry/entities/comp/ChildComp.java | 26 ++++++++++++++----- 1 file changed, 19 insertions(+), 7 deletions(-) diff --git a/core/src/mindustry/entities/comp/ChildComp.java b/core/src/mindustry/entities/comp/ChildComp.java index f34a9198c9..03465fbf78 100644 --- a/core/src/mindustry/entities/comp/ChildComp.java +++ b/core/src/mindustry/entities/comp/ChildComp.java @@ -4,6 +4,7 @@ import arc.math.*; import arc.util.*; import mindustry.annotations.Annotations.*; import mindustry.gen.*; +import mindustry.world.blocks.defense.turrets.BaseTurret.*; @Component abstract class ChildComp implements Posc, Rotc{ @@ -18,9 +19,14 @@ abstract class ChildComp implements Posc, Rotc{ if(parent != null){ offsetX = x - parent.getX(); offsetY = y - parent.getY(); - if(rotWithParent && parent instanceof Rotc r){ - offsetPos = -r.rotation(); - offsetRot = rotation - r.rotation(); + if(rotWithParent){ + if(parent instanceof Rotc r){ + offsetPos = -r.rotation(); + offsetRot = rotation - r.rotation(); + }else if(parent instanceof BaseTurretBuild build){ + offsetPos = -build.rotation; + offsetRot = rotation - build.rotation; + } } } } @@ -28,10 +34,16 @@ abstract class ChildComp implements Posc, Rotc{ @Override public void update(){ if(parent != null){ - if(rotWithParent && parent instanceof Rotc r){ - x = parent.getX() + Angles.trnsx(r.rotation() + offsetPos, offsetX, offsetY); - y = parent.getY() + Angles.trnsy(r.rotation() + offsetPos, offsetX, offsetY); - rotation = r.rotation() + offsetRot; + if(rotWithParent){ + if(parent instanceof Rotc r){ + x = parent.getX() + Angles.trnsx(r.rotation() + offsetPos, offsetX, offsetY); + y = parent.getY() + Angles.trnsy(r.rotation() + offsetPos, offsetX, offsetY); + rotation = r.rotation() + offsetRot; + }else if(parent instanceof BaseTurretBuild build){ + x = parent.getX() + Angles.trnsx(build.rotation + offsetPos, offsetX, offsetY); + y = parent.getY() + Angles.trnsy(build.rotation + offsetPos, offsetX, offsetY); + rotation = build.rotation + offsetRot; + } }else{ x = parent.getX() + offsetX; y = parent.getY() + offsetY; From 33f01112cae7a85780c519675ec7fe41742190df Mon Sep 17 00:00:00 2001 From: Anuken Date: Sat, 6 Apr 2024 18:20:45 -0400 Subject: [PATCH 72/89] Fixed #9714 --- core/src/mindustry/world/Block.java | 5 +++++ .../world/blocks/payloads/PayloadLoader.java | 2 +- .../world/blocks/payloads/PayloadUnloader.java | 2 +- .../src/mindustry/world/blocks/units/UnitFactory.java | 2 +- .../world/consumers/ConsumePowerDynamic.java | 11 ++++++++++- 5 files changed, 18 insertions(+), 4 deletions(-) diff --git a/core/src/mindustry/world/Block.java b/core/src/mindustry/world/Block.java index 5dcf542400..2e9f291b7d 100644 --- a/core/src/mindustry/world/Block.java +++ b/core/src/mindustry/world/Block.java @@ -993,6 +993,11 @@ public class Block extends UnlockableContent implements Senseable{ return consume(new ConsumePowerDynamic((Floatf)usage)); } + /** Creates a consumer that consumes a dynamic amount of power. */ + public ConsumePower consumePowerDynamic(float displayed, Floatf usage){ + return consume(new ConsumePowerDynamic(displayed, (Floatf)usage)); + } + /** * Creates a consumer which stores power. * @param powerCapacity The maximum capacity in power units. diff --git a/core/src/mindustry/world/blocks/payloads/PayloadLoader.java b/core/src/mindustry/world/blocks/payloads/PayloadLoader.java index 301789e54b..d323c69feb 100644 --- a/core/src/mindustry/world/blocks/payloads/PayloadLoader.java +++ b/core/src/mindustry/world/blocks/payloads/PayloadLoader.java @@ -76,7 +76,7 @@ public class PayloadLoader extends PayloadBlock{ public void init(){ if(loadPowerDynamic){ basePowerUse = consPower != null ? consPower.usage : 0f; - consumePowerDynamic((PayloadLoaderBuild loader) -> loader.shouldConsume() ? (loader.hasBattery() && !loader.exporting ? maxPowerConsumption + basePowerUse : basePowerUse) : 0f); + consumePowerDynamic(basePowerUse, (PayloadLoaderBuild loader) -> loader.shouldConsume() ? (loader.hasBattery() && !loader.exporting ? maxPowerConsumption + basePowerUse : basePowerUse) : 0f); } super.init(); diff --git a/core/src/mindustry/world/blocks/payloads/PayloadUnloader.java b/core/src/mindustry/world/blocks/payloads/PayloadUnloader.java index fac5f083a1..205402fdd6 100644 --- a/core/src/mindustry/world/blocks/payloads/PayloadUnloader.java +++ b/core/src/mindustry/world/blocks/payloads/PayloadUnloader.java @@ -87,7 +87,7 @@ public class PayloadUnloader extends PayloadLoader{ (liquids.current() == payload.build.liquids.current() || liquids.currentAmount() <= 0.2f)){ var liq = payload.build.liquids.current(); float remaining = liquidCapacity - liquids.currentAmount(); - float flow = Math.min(Math.min(liquidsLoaded * delta(), remaining), payload.build.liquids.currentAmount()); + float flow = Math.min(Math.min(liquidsLoaded * edelta(), remaining), payload.build.liquids.currentAmount()); liquids.add(liq, flow); payload.build.liquids.remove(liq, flow); diff --git a/core/src/mindustry/world/blocks/units/UnitFactory.java b/core/src/mindustry/world/blocks/units/UnitFactory.java index 7b98b80e2f..b89d945c65 100644 --- a/core/src/mindustry/world/blocks/units/UnitFactory.java +++ b/core/src/mindustry/world/blocks/units/UnitFactory.java @@ -137,7 +137,7 @@ public class UnitFactory extends UnitBlock{ } ItemStack stack = plan.requirements[i]; - req.add(new ItemDisplay(stack.item, stack.amount, false)).pad(5); + req.add(new ItemDisplay(stack.item, stack.amount, plan.time, true)).pad(5); } }).right().grow().pad(10f); }else{ diff --git a/core/src/mindustry/world/consumers/ConsumePowerDynamic.java b/core/src/mindustry/world/consumers/ConsumePowerDynamic.java index f444c7c66f..fb40c0aaa9 100644 --- a/core/src/mindustry/world/consumers/ConsumePowerDynamic.java +++ b/core/src/mindustry/world/consumers/ConsumePowerDynamic.java @@ -7,12 +7,19 @@ import mindustry.world.meta.*; /** A power consumer that uses a dynamic amount of power. */ public class ConsumePowerDynamic extends ConsumePower{ private final Floatf usage; + private float displayedPowerUsage; public ConsumePowerDynamic(Floatf usage){ super(0, 0, false); this.usage = usage; } + public ConsumePowerDynamic(float displayed, Floatf usage){ + super(0, 0, false); + this.displayedPowerUsage = displayed; + this.usage = usage; + } + @Override public float requestedPower(Building entity){ return usage.get(entity); @@ -20,6 +27,8 @@ public class ConsumePowerDynamic extends ConsumePower{ @Override public void display(Stats stats){ - + if(displayedPowerUsage != 0f){ + stats.add(Stat.powerUse, displayedPowerUsage * 60f, StatUnit.powerSecond); + } } } From c96d4fc5006090622402f1af8f895c6dce89fae4 Mon Sep 17 00:00:00 2001 From: TheRadioactiveBanana <89061718+TheRadioactiveBanana@users.noreply.github.com> Date: Sun, 7 Apr 2024 07:45:24 +0530 Subject: [PATCH 73/89] Host massmurder (#9715) --- servers_v7.json | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/servers_v7.json b/servers_v7.json index 5ae3b91ff5..3d9e63dfc8 100644 --- a/servers_v7.json +++ b/servers_v7.json @@ -146,7 +146,7 @@ }, { "name": "Eradication Mindustry", - "address": ["140.238.246.78:7000", "140.238.246.78:7001", "140.238.246.78:7002", "140.238.246.78:7003", "130.61.22.183:7000", "130.61.22.183:7001", "130.61.22.183:7002", "130.61.22.183:7003", "130.61.22.183:7004", "130.61.22.183:7005", "130.61.220.99:7000", "130.61.220.99:7001", "130.61.220.99:7002", "130.61.220.99:7003", "130.61.220.99:7004", "130.61.220.99:7005", "62.30.47.116:7000", "62.30.47.116:7001", "62.30.47.116:7002"] + "address": ["140.238.246.78:7000", "140.238.246.78:7001", "140.238.246.78:7002", "140.238.246.78:7003", "140.238.246.78:7004", "130.61.22.183:7000", "130.61.22.183:7001", "130.61.22.183:7002", "130.61.22.183:7003", "130.61.22.183:7004", "130.61.22.183:7005", "130.61.22.183:7006", "130.61.22.183:7007", "130.61.22.183:7008", "130.61.22.183:7009"] }, { "name": "Conservatory", From a9a5fb6396bd280dec4044151b6d1f3ea1cae921 Mon Sep 17 00:00:00 2001 From: Anuken Date: Sun, 7 Apr 2024 12:36:45 -0400 Subject: [PATCH 74/89] Support for adding to ObjectMaps in JSON with `add: true` --- core/src/mindustry/mod/ContentParser.java | 16 +++++++++++++++- 1 file changed, 15 insertions(+), 1 deletion(-) diff --git a/core/src/mindustry/mod/ContentParser.java b/core/src/mindustry/mod/ContentParser.java index 40da31c7d1..5c2d59513f 100644 --- a/core/src/mindustry/mod/ContentParser.java +++ b/core/src/mindustry/mod/ContentParser.java @@ -1054,7 +1054,21 @@ public class ContentParser{ } Field field = metadata.field; try{ - field.set(object, parser.readValue(field.getType(), metadata.elementType, child, metadata.keyType)); + boolean mergeMap = ObjectMap.class.isAssignableFrom(field.getType()) && child.has("add") && child.get("add").isBoolean() && child.getBoolean("add", false); + + if(mergeMap){ + child.remove("add"); + } + + Object readField = parser.readValue(field.getType(), metadata.elementType, child, metadata.keyType); + + //if a map has add: true, add its contents to the map instead + if(mergeMap && field.get(object) instanceof ObjectMap baseMap){ + baseMap.putAll((ObjectMap)readField); + }else{ + field.set(object, readField); + } + }catch(IllegalAccessException ex){ throw new SerializationException("Error accessing field: " + field.getName() + " (" + type.getName() + ")", ex); }catch(SerializationException ex){ From 91fad3f7070aef9f67220f7037d108e222ebdafe Mon Sep 17 00:00:00 2001 From: TheCrux_ <134880334+The1Crux@users.noreply.github.com> Date: Sun, 7 Apr 2024 14:15:49 -0400 Subject: [PATCH 75/89] Update servers_v7.json (#9721) yes again me (toomanyservershelp) --- servers_v7.json | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/servers_v7.json b/servers_v7.json index 3d9e63dfc8..931e0738ed 100644 --- a/servers_v7.json +++ b/servers_v7.json @@ -30,7 +30,7 @@ }, { "name": "Crux's Citadel", - "address": ["45.158.9.198:32865","45.158.9.198:30055","45.158.9.198:32175","45.158.9.198:30252","94.130.132.149:35899","129.154.47.57:26645","94.130.132.149:35930","129.154.47.57:27993","129.154.47.57:26881"] + "address": ["45.158.9.198:32865","45.158.9.198:30055","45.158.9.198:32175","45.158.9.198:30252","176.9.150.40:35899","129.154.47.57:26645","176.9.150.40:35930","129.154.47.57:27993","129.154.47.57:26881","176.9.150.40:35168","176.9.150.40:35900","176.9.150.40:35031","176.9.150.40:35154"] }, { "name": "Chilldustry", From 11c1211d6534bd1633da6477127ec5a0df8b0008 Mon Sep 17 00:00:00 2001 From: Anuken Date: Sun, 7 Apr 2024 20:54:01 -0400 Subject: [PATCH 76/89] Fixed #9722 --- core/assets/bundles/bundle.properties | 20 +++++++++++--------- gradle.properties | 2 +- 2 files changed, 12 insertions(+), 10 deletions(-) diff --git a/core/assets/bundles/bundle.properties b/core/assets/bundles/bundle.properties index 08afa6d5fd..ef4cccb584 100644 --- a/core/assets/bundles/bundle.properties +++ b/core/assets/bundles/bundle.properties @@ -688,6 +688,7 @@ marker.shape.name = Shape marker.text.name = Text marker.line.name = Line marker.quad.name = Quad +marker.texture.name = Texture marker.background = Background marker.outline = Outline @@ -1236,15 +1237,16 @@ keybind.unit_stance_pursue_target.name = Unit Stance: Pursue Target keybind.unit_stance_patrol.name = Unit Stance: Patrol keybind.unit_stance_ram.name = Unit Stance: Ram -keybind.unit_command_move = Unit Command: Move -keybind.unit_command_repair = Unit Command: Repair -keybind.unit_command_rebuild = Unit Command: Rebuild -keybind.unit_command_assist = Unit Command: Assist -keybind.unit_command_mine = Unit Command: Mine -keybind.unit_command_boost = Unit Command: Boost -keybind.unit_command_load_units = Unit Command: Load Units -keybind.unit_command_load_blocks = Unit Command: Load Blocks -keybind.unit_command_unload_payload = Unit Command: Unload Payload +keybind.unit_command_move.name = Unit Command: Move +keybind.unit_command_repair.name = Unit Command: Repair +keybind.unit_command_rebuild.name = Unit Command: Rebuild +keybind.unit_command_assist.name = Unit Command: Assist +keybind.unit_command_mine.name = Unit Command: Mine +keybind.unit_command_boost.name = Unit Command: Boost +keybind.unit_command_load_units.name = Unit Command: Load Units +keybind.unit_command_load_blocks.name = Unit Command: Load Blocks +keybind.unit_command_unload_payload.name = Unit Command: Unload Payload +keybind.unit_command_enter_payload.name = Unit Command: Enter Payload keybind.rebuild_select.name = Rebuild Region keybind.schematic_select.name = Select Region diff --git a/gradle.properties b/gradle.properties index ba5ca31b4a..e3a8642e0a 100644 --- a/gradle.properties +++ b/gradle.properties @@ -25,4 +25,4 @@ org.gradle.caching=true #used for slow jitpack builds; TODO see if this actually works org.gradle.internal.http.socketTimeout=100000 org.gradle.internal.http.connectionTimeout=100000 -archash=6ad7aca01b +archash=8b6f34c036 From 3b0fac1ba26af7ad61e4d9a988e8da83ab8b5bd3 Mon Sep 17 00:00:00 2001 From: Anuken Date: Mon, 8 Apr 2024 10:45:30 -0400 Subject: [PATCH 77/89] Fixed #9726 --- .../world/blocks/ConstructBlock.java | 56 +++++++++++++++++-- 1 file changed, 52 insertions(+), 4 deletions(-) diff --git a/core/src/mindustry/world/blocks/ConstructBlock.java b/core/src/mindustry/world/blocks/ConstructBlock.java index df7434a222..15553854a9 100644 --- a/core/src/mindustry/world/blocks/ConstructBlock.java +++ b/core/src/mindustry/world/blocks/ConstructBlock.java @@ -166,6 +166,7 @@ public class ConstructBlock extends Block{ private float[] accumulator; private float[] totalAccumulator; + private int[] itemsLeft; @Override public String getDisplayName(){ @@ -270,7 +271,7 @@ public class ConstructBlock extends Block{ for(int i = 0; i < current.requirements.length; i++){ int reqamount = Math.round(state.rules.buildCostMultiplier * current.requirements[i].amount); - accumulator[i] += Math.min(reqamount * maxProgress, reqamount - totalAccumulator[i] + 0.00001f); //add min amount progressed to the accumulator + accumulator[i] += Math.min(reqamount * maxProgress, reqamount - totalAccumulator[i]); //add min amount progressed to the accumulator totalAccumulator[i] = Math.min(totalAccumulator[i] + reqamount * maxProgress, reqamount); } @@ -279,9 +280,28 @@ public class ConstructBlock extends Block{ progress = Mathf.clamp(progress + maxProgress); if(progress >= 1f || state.rules.infiniteResources){ - if(lastBuilder == null) lastBuilder = builder; - if(!net.client()){ - constructed(tile, current, lastBuilder, (byte)rotation, builder.team, config); + boolean canFinish = true; + + //look at leftover resources to consume, get them from the core if necessary, delay building if not + if(!state.rules.infiniteResources){ + for(int i = 0; i < itemsLeft.length; i++){ + if(itemsLeft[i] > 0){ + if(core != null && core.items.has(current.requirements[i].item, itemsLeft[i])){ + core.items.remove(current.requirements[i].item, itemsLeft[i]); + itemsLeft[i] = 0; + }else{ + canFinish = false; + break; + } + } + } + } + + if(canFinish){ + if(lastBuilder == null) lastBuilder = builder; + if(!net.client()){ + constructed(tile, current, lastBuilder, (byte)rotation, builder.team, config); + } } } } @@ -321,6 +341,7 @@ public class ConstructBlock extends Block{ int accepting = Math.min(accumulated, core.storageCapacity - core.items.get(requirements[i].item)); //transfer items directly, as this is not production. core.items.add(requirements[i].item, accepting); + itemsLeft[i] -= accepting; accumulator[i] -= accepting; }else{ accumulator[i] -= accumulated; @@ -331,6 +352,14 @@ public class ConstructBlock extends Block{ progress = Mathf.clamp(progress - amount); if(progress <= current.deconstructThreshold || state.rules.infiniteResources){ + //add any leftover items that weren't obtained due to rounding errors + if(core != null){ + for(int i = 0; i < itemsLeft.length; i++){ + core.items.add(current.requirements[i].item, Mathf.clamp(itemsLeft[i], 0, core.storageCapacity - core.items.get(current.requirements[i].item))); + itemsLeft[i] = 0; + } + } + if(lastBuilder == null) lastBuilder = builder; Call.deconstructFinish(tile, this.current, lastBuilder); } @@ -341,6 +370,11 @@ public class ConstructBlock extends Block{ boolean infinite = team.rules().infiniteResources || state.rules.infiniteResources; for(int i = 0; i < current.requirements.length; i++){ + //there is no need to remove items that have already been fully taken out + if(itemsLeft[i] == 0){ + continue; + } + int sclamount = Math.round(state.rules.buildCostMultiplier * current.requirements[i].amount); int required = (int)(accumulator[i]); //calculate items that are required now @@ -360,6 +394,7 @@ public class ConstructBlock extends Block{ //remove stuff that is actually used if(remove && !infinite){ inventory.remove(current.requirements[i].item, maxUse); + itemsLeft[i] -= maxUse; } } //else, no items are required yet, so just keep going @@ -368,6 +403,7 @@ public class ConstructBlock extends Block{ return maxProgress; } + @Override public float progress(){ return progress; } @@ -380,8 +416,14 @@ public class ConstructBlock extends Block{ this.current = block; this.previous = previous; this.buildCost = block.buildCost * state.rules.buildCostMultiplier; + this.itemsLeft = new int[block.requirements.length]; this.accumulator = new float[block.requirements.length]; this.totalAccumulator = new float[block.requirements.length]; + + ItemStack[] requirements = current.requirements; + for(int i = 0; i < requirements.length; i++){ + this.itemsLeft[i] = Mathf.round(requirements[i].amount * state.rules.buildCostMultiplier); + } pathfinder.updateTile(tile); } @@ -394,8 +436,14 @@ public class ConstructBlock extends Block{ this.progress = 1f; this.current = previous; this.buildCost = previous.buildCost * state.rules.buildCostMultiplier; + this.itemsLeft = new int[previous.requirements.length]; this.accumulator = new float[previous.requirements.length]; this.totalAccumulator = new float[previous.requirements.length]; + + ItemStack[] requirements = current.requirements; + for(int i = 0; i < requirements.length; i++){ + this.itemsLeft[i] = Mathf.round(requirements[i].amount * state.rules.buildCostMultiplier * state.rules.deconstructRefundMultiplier); + } pathfinder.updateTile(tile); } From 5ee979783897470ce372b83942bc2a8dbb4cec96 Mon Sep 17 00:00:00 2001 From: Github Actions Date: Mon, 8 Apr 2024 14:46:33 +0000 Subject: [PATCH 78/89] Automatic bundle update --- core/assets/bundles/bundle_be.properties | 20 +++++++++++--------- core/assets/bundles/bundle_bg.properties | 20 +++++++++++--------- core/assets/bundles/bundle_ca.properties | 20 +++++++++++--------- core/assets/bundles/bundle_cs.properties | 20 +++++++++++--------- core/assets/bundles/bundle_da.properties | 20 +++++++++++--------- core/assets/bundles/bundle_de.properties | 20 +++++++++++--------- core/assets/bundles/bundle_es.properties | 20 +++++++++++--------- core/assets/bundles/bundle_et.properties | 20 +++++++++++--------- core/assets/bundles/bundle_eu.properties | 20 +++++++++++--------- core/assets/bundles/bundle_fi.properties | 20 +++++++++++--------- core/assets/bundles/bundle_fil.properties | 20 +++++++++++--------- core/assets/bundles/bundle_fr.properties | 21 +++++++++++---------- core/assets/bundles/bundle_hu.properties | 21 +++++++++++---------- core/assets/bundles/bundle_id_ID.properties | 20 +++++++++++--------- core/assets/bundles/bundle_it.properties | 20 +++++++++++--------- core/assets/bundles/bundle_ja.properties | 20 +++++++++++--------- core/assets/bundles/bundle_ko.properties | 20 +++++++++++--------- core/assets/bundles/bundle_lt.properties | 20 +++++++++++--------- core/assets/bundles/bundle_nl.properties | 20 +++++++++++--------- core/assets/bundles/bundle_nl_BE.properties | 20 +++++++++++--------- core/assets/bundles/bundle_pl.properties | 20 +++++++++++--------- core/assets/bundles/bundle_pt_BR.properties | 20 +++++++++++--------- core/assets/bundles/bundle_pt_PT.properties | 20 +++++++++++--------- core/assets/bundles/bundle_ro.properties | 20 +++++++++++--------- core/assets/bundles/bundle_ru.properties | 20 +++++++++++--------- core/assets/bundles/bundle_sr.properties | 20 +++++++++++--------- core/assets/bundles/bundle_sv.properties | 20 +++++++++++--------- core/assets/bundles/bundle_th.properties | 20 +++++++++++--------- core/assets/bundles/bundle_tk.properties | 20 +++++++++++--------- core/assets/bundles/bundle_tr.properties | 20 +++++++++++--------- core/assets/bundles/bundle_uk_UA.properties | 20 +++++++++++--------- core/assets/bundles/bundle_vi.properties | 20 +++++++++++--------- core/assets/bundles/bundle_zh_CN.properties | 20 +++++++++++--------- core/assets/bundles/bundle_zh_TW.properties | 20 +++++++++++--------- 34 files changed, 374 insertions(+), 308 deletions(-) diff --git a/core/assets/bundles/bundle_be.properties b/core/assets/bundles/bundle_be.properties index dea9e38c94..2a0e4c4e9e 100644 --- a/core/assets/bundles/bundle_be.properties +++ b/core/assets/bundles/bundle_be.properties @@ -670,6 +670,7 @@ marker.shape.name = Форма marker.text.name = Тэкст marker.line.name = Line marker.quad.name = Quad +marker.texture.name = Texture marker.background = Задні Фон marker.outline = Контур objective.research = [accent]Даследаваць:\n[]{0}[lightgray]{1} @@ -1206,15 +1207,16 @@ keybind.unit_stance_hold_fire.name = Unit Stance: Hold Fire keybind.unit_stance_pursue_target.name = Unit Stance: Pursue Target keybind.unit_stance_patrol.name = Unit Stance: Patrol keybind.unit_stance_ram.name = Unit Stance: Ram -keybind.unit_command_move = Unit Command: Move -keybind.unit_command_repair = Unit Command: Repair -keybind.unit_command_rebuild = Unit Command: Rebuild -keybind.unit_command_assist = Unit Command: Assist -keybind.unit_command_mine = Unit Command: Mine -keybind.unit_command_boost = Unit Command: Boost -keybind.unit_command_load_units = Unit Command: Load Units -keybind.unit_command_load_blocks = Unit Command: Load Blocks -keybind.unit_command_unload_payload = Unit Command: Unload Payload +keybind.unit_command_move.name = Unit Command: Move +keybind.unit_command_repair.name = Unit Command: Repair +keybind.unit_command_rebuild.name = Unit Command: Rebuild +keybind.unit_command_assist.name = Unit Command: Assist +keybind.unit_command_mine.name = Unit Command: Mine +keybind.unit_command_boost.name = Unit Command: Boost +keybind.unit_command_load_units.name = Unit Command: Load Units +keybind.unit_command_load_blocks.name = Unit Command: Load Blocks +keybind.unit_command_unload_payload.name = Unit Command: Unload Payload +keybind.unit_command_enter_payload.name = Unit Command: Enter Payload keybind.rebuild_select.name = Перабудаваць Рэгіён keybind.schematic_select.name = Абраць Вобласць keybind.schematic_menu.name = Меню Схем diff --git a/core/assets/bundles/bundle_bg.properties b/core/assets/bundles/bundle_bg.properties index a3dc513594..530c050bbd 100644 --- a/core/assets/bundles/bundle_bg.properties +++ b/core/assets/bundles/bundle_bg.properties @@ -676,6 +676,7 @@ marker.shape.name = Shape marker.text.name = Text marker.line.name = Line marker.quad.name = Quad +marker.texture.name = Texture marker.background = Background marker.outline = Outline objective.research = [accent]Research:\n[]{0}[lightgray]{1} @@ -1217,15 +1218,16 @@ keybind.unit_stance_hold_fire.name = Unit Stance: Hold Fire keybind.unit_stance_pursue_target.name = Unit Stance: Pursue Target keybind.unit_stance_patrol.name = Unit Stance: Patrol keybind.unit_stance_ram.name = Unit Stance: Ram -keybind.unit_command_move = Unit Command: Move -keybind.unit_command_repair = Unit Command: Repair -keybind.unit_command_rebuild = Unit Command: Rebuild -keybind.unit_command_assist = Unit Command: Assist -keybind.unit_command_mine = Unit Command: Mine -keybind.unit_command_boost = Unit Command: Boost -keybind.unit_command_load_units = Unit Command: Load Units -keybind.unit_command_load_blocks = Unit Command: Load Blocks -keybind.unit_command_unload_payload = Unit Command: Unload Payload +keybind.unit_command_move.name = Unit Command: Move +keybind.unit_command_repair.name = Unit Command: Repair +keybind.unit_command_rebuild.name = Unit Command: Rebuild +keybind.unit_command_assist.name = Unit Command: Assist +keybind.unit_command_mine.name = Unit Command: Mine +keybind.unit_command_boost.name = Unit Command: Boost +keybind.unit_command_load_units.name = Unit Command: Load Units +keybind.unit_command_load_blocks.name = Unit Command: Load Blocks +keybind.unit_command_unload_payload.name = Unit Command: Unload Payload +keybind.unit_command_enter_payload.name = Unit Command: Enter Payload keybind.rebuild_select.name = Rebuild Region keybind.schematic_select.name = Избери Регион keybind.schematic_menu.name = Меню със Схеми diff --git a/core/assets/bundles/bundle_ca.properties b/core/assets/bundles/bundle_ca.properties index 8af95acac6..f7642061f9 100644 --- a/core/assets/bundles/bundle_ca.properties +++ b/core/assets/bundles/bundle_ca.properties @@ -679,6 +679,7 @@ marker.shape.name = Forma marker.text.name = Text marker.line.name = Línia marker.quad.name = Rectangle +marker.texture.name = Texture marker.background = Fons marker.outline = Contorn @@ -1220,15 +1221,16 @@ keybind.unit_stance_hold_fire.name = Comportament: Mantén el foc keybind.unit_stance_pursue_target.name = Comportament: Persegueix l’objectiu keybind.unit_stance_patrol.name = Comportament: Patrulla keybind.unit_stance_ram.name = Comportament: Senzill -keybind.unit_command_move = Comportament: Mou -keybind.unit_command_repair = Comportament: Repara -keybind.unit_command_rebuild = Comportament: Reconstrueix -keybind.unit_command_assist = Comportament: Assisteix -keybind.unit_command_mine = Comportament: Extrau -keybind.unit_command_boost = Comportament: Sobrevola -keybind.unit_command_load_units = Comportament: Carrega unitats -keybind.unit_command_load_blocks = Comportament: Carrega blocs -keybind.unit_command_unload_payload = Comportament: Descarrega +keybind.unit_command_move.name = Unit Command: Move +keybind.unit_command_repair.name = Unit Command: Repair +keybind.unit_command_rebuild.name = Unit Command: Rebuild +keybind.unit_command_assist.name = Unit Command: Assist +keybind.unit_command_mine.name = Unit Command: Mine +keybind.unit_command_boost.name = Unit Command: Boost +keybind.unit_command_load_units.name = Unit Command: Load Units +keybind.unit_command_load_blocks.name = Unit Command: Load Blocks +keybind.unit_command_unload_payload.name = Unit Command: Unload Payload +keybind.unit_command_enter_payload.name = Unit Command: Enter Payload keybind.rebuild_select.name = Reconstrueix la regió keybind.schematic_select.name = Selecciona una regió keybind.schematic_menu.name = Menú de plànols diff --git a/core/assets/bundles/bundle_cs.properties b/core/assets/bundles/bundle_cs.properties index 5459cf49fa..bd98459a70 100644 --- a/core/assets/bundles/bundle_cs.properties +++ b/core/assets/bundles/bundle_cs.properties @@ -678,6 +678,7 @@ marker.shape.name = Tvar marker.text.name = Text marker.line.name = Line marker.quad.name = Quad +marker.texture.name = Texture marker.background = Pozadí marker.outline = Outline objective.research = [accent]Research:\n[]{0}[lightgray]{1} @@ -1219,15 +1220,16 @@ keybind.unit_stance_hold_fire.name = Unit Stance: Hold Fire keybind.unit_stance_pursue_target.name = Unit Stance: Pursue Target keybind.unit_stance_patrol.name = Unit Stance: Patrol keybind.unit_stance_ram.name = Unit Stance: Ram -keybind.unit_command_move = Unit Command: Move -keybind.unit_command_repair = Unit Command: Repair -keybind.unit_command_rebuild = Unit Command: Rebuild -keybind.unit_command_assist = Unit Command: Assist -keybind.unit_command_mine = Unit Command: Mine -keybind.unit_command_boost = Unit Command: Boost -keybind.unit_command_load_units = Unit Command: Load Units -keybind.unit_command_load_blocks = Unit Command: Load Blocks -keybind.unit_command_unload_payload = Unit Command: Unload Payload +keybind.unit_command_move.name = Unit Command: Move +keybind.unit_command_repair.name = Unit Command: Repair +keybind.unit_command_rebuild.name = Unit Command: Rebuild +keybind.unit_command_assist.name = Unit Command: Assist +keybind.unit_command_mine.name = Unit Command: Mine +keybind.unit_command_boost.name = Unit Command: Boost +keybind.unit_command_load_units.name = Unit Command: Load Units +keybind.unit_command_load_blocks.name = Unit Command: Load Blocks +keybind.unit_command_unload_payload.name = Unit Command: Unload Payload +keybind.unit_command_enter_payload.name = Unit Command: Enter Payload keybind.rebuild_select.name = Přestavět Region keybind.schematic_select.name = Vybrat oblast keybind.schematic_menu.name = Nabídka šablon diff --git a/core/assets/bundles/bundle_da.properties b/core/assets/bundles/bundle_da.properties index 563f6134f8..687a4be97e 100644 --- a/core/assets/bundles/bundle_da.properties +++ b/core/assets/bundles/bundle_da.properties @@ -671,6 +671,7 @@ marker.shape.name = Shape marker.text.name = Text marker.line.name = Line marker.quad.name = Quad +marker.texture.name = Texture marker.background = Background marker.outline = Outline objective.research = [accent]Research:\n[]{0}[lightgray]{1} @@ -1208,15 +1209,16 @@ keybind.unit_stance_hold_fire.name = Unit Stance: Hold Fire keybind.unit_stance_pursue_target.name = Unit Stance: Pursue Target keybind.unit_stance_patrol.name = Unit Stance: Patrol keybind.unit_stance_ram.name = Unit Stance: Ram -keybind.unit_command_move = Unit Command: Move -keybind.unit_command_repair = Unit Command: Repair -keybind.unit_command_rebuild = Unit Command: Rebuild -keybind.unit_command_assist = Unit Command: Assist -keybind.unit_command_mine = Unit Command: Mine -keybind.unit_command_boost = Unit Command: Boost -keybind.unit_command_load_units = Unit Command: Load Units -keybind.unit_command_load_blocks = Unit Command: Load Blocks -keybind.unit_command_unload_payload = Unit Command: Unload Payload +keybind.unit_command_move.name = Unit Command: Move +keybind.unit_command_repair.name = Unit Command: Repair +keybind.unit_command_rebuild.name = Unit Command: Rebuild +keybind.unit_command_assist.name = Unit Command: Assist +keybind.unit_command_mine.name = Unit Command: Mine +keybind.unit_command_boost.name = Unit Command: Boost +keybind.unit_command_load_units.name = Unit Command: Load Units +keybind.unit_command_load_blocks.name = Unit Command: Load Blocks +keybind.unit_command_unload_payload.name = Unit Command: Unload Payload +keybind.unit_command_enter_payload.name = Unit Command: Enter Payload keybind.rebuild_select.name = Rebuild Region keybind.schematic_select.name = Vælg region keybind.schematic_menu.name = Skabelon-visning diff --git a/core/assets/bundles/bundle_de.properties b/core/assets/bundles/bundle_de.properties index 7d1a5caa72..023a6da38a 100644 --- a/core/assets/bundles/bundle_de.properties +++ b/core/assets/bundles/bundle_de.properties @@ -684,6 +684,7 @@ marker.shape.name = Form marker.text.name = Text marker.line.name = Line marker.quad.name = Quad +marker.texture.name = Texture marker.background = Hintergrund marker.outline = Umriss @@ -1230,15 +1231,16 @@ keybind.unit_stance_hold_fire.name = Unit Stance: Hold Fire keybind.unit_stance_pursue_target.name = Unit Stance: Pursue Target keybind.unit_stance_patrol.name = Unit Stance: Patrol keybind.unit_stance_ram.name = Unit Stance: Ram -keybind.unit_command_move = Unit Command: Move -keybind.unit_command_repair = Unit Command: Repair -keybind.unit_command_rebuild = Unit Command: Rebuild -keybind.unit_command_assist = Unit Command: Assist -keybind.unit_command_mine = Unit Command: Mine -keybind.unit_command_boost = Unit Command: Boost -keybind.unit_command_load_units = Unit Command: Load Units -keybind.unit_command_load_blocks = Unit Command: Load Blocks -keybind.unit_command_unload_payload = Unit Command: Unload Payload +keybind.unit_command_move.name = Unit Command: Move +keybind.unit_command_repair.name = Unit Command: Repair +keybind.unit_command_rebuild.name = Unit Command: Rebuild +keybind.unit_command_assist.name = Unit Command: Assist +keybind.unit_command_mine.name = Unit Command: Mine +keybind.unit_command_boost.name = Unit Command: Boost +keybind.unit_command_load_units.name = Unit Command: Load Units +keybind.unit_command_load_blocks.name = Unit Command: Load Blocks +keybind.unit_command_unload_payload.name = Unit Command: Unload Payload +keybind.unit_command_enter_payload.name = Unit Command: Enter Payload keybind.rebuild_select.name = Region wiederaufbauen keybind.schematic_select.name = Bereich auswählen keybind.schematic_menu.name = Entwurfsmenü diff --git a/core/assets/bundles/bundle_es.properties b/core/assets/bundles/bundle_es.properties index e833d94709..8e2ab61238 100644 --- a/core/assets/bundles/bundle_es.properties +++ b/core/assets/bundles/bundle_es.properties @@ -681,6 +681,7 @@ marker.shape.name = Forma marker.text.name = Texto marker.line.name = Line marker.quad.name = Quad +marker.texture.name = Texture marker.background = Fondo marker.outline = Bordes @@ -1226,15 +1227,16 @@ keybind.unit_stance_hold_fire.name = Unit Stance: Hold Fire keybind.unit_stance_pursue_target.name = Unit Stance: Pursue Target keybind.unit_stance_patrol.name = Unit Stance: Patrol keybind.unit_stance_ram.name = Unit Stance: Ram -keybind.unit_command_move = Unit Command: Move -keybind.unit_command_repair = Unit Command: Repair -keybind.unit_command_rebuild = Unit Command: Rebuild -keybind.unit_command_assist = Unit Command: Assist -keybind.unit_command_mine = Unit Command: Mine -keybind.unit_command_boost = Unit Command: Boost -keybind.unit_command_load_units = Unit Command: Load Units -keybind.unit_command_load_blocks = Unit Command: Load Blocks -keybind.unit_command_unload_payload = Unit Command: Unload Payload +keybind.unit_command_move.name = Unit Command: Move +keybind.unit_command_repair.name = Unit Command: Repair +keybind.unit_command_rebuild.name = Unit Command: Rebuild +keybind.unit_command_assist.name = Unit Command: Assist +keybind.unit_command_mine.name = Unit Command: Mine +keybind.unit_command_boost.name = Unit Command: Boost +keybind.unit_command_load_units.name = Unit Command: Load Units +keybind.unit_command_load_blocks.name = Unit Command: Load Blocks +keybind.unit_command_unload_payload.name = Unit Command: Unload Payload +keybind.unit_command_enter_payload.name = Unit Command: Enter Payload keybind.rebuild_select.name = Reconstruir región keybind.schematic_select.name = Seleccionar región keybind.schematic_menu.name = Menú de esquemas diff --git a/core/assets/bundles/bundle_et.properties b/core/assets/bundles/bundle_et.properties index 1f653ca8cb..3acece8285 100644 --- a/core/assets/bundles/bundle_et.properties +++ b/core/assets/bundles/bundle_et.properties @@ -671,6 +671,7 @@ marker.shape.name = Shape marker.text.name = Text marker.line.name = Line marker.quad.name = Quad +marker.texture.name = Texture marker.background = Background marker.outline = Outline objective.research = [accent]Research:\n[]{0}[lightgray]{1} @@ -1208,15 +1209,16 @@ keybind.unit_stance_hold_fire.name = Unit Stance: Hold Fire keybind.unit_stance_pursue_target.name = Unit Stance: Pursue Target keybind.unit_stance_patrol.name = Unit Stance: Patrol keybind.unit_stance_ram.name = Unit Stance: Ram -keybind.unit_command_move = Unit Command: Move -keybind.unit_command_repair = Unit Command: Repair -keybind.unit_command_rebuild = Unit Command: Rebuild -keybind.unit_command_assist = Unit Command: Assist -keybind.unit_command_mine = Unit Command: Mine -keybind.unit_command_boost = Unit Command: Boost -keybind.unit_command_load_units = Unit Command: Load Units -keybind.unit_command_load_blocks = Unit Command: Load Blocks -keybind.unit_command_unload_payload = Unit Command: Unload Payload +keybind.unit_command_move.name = Unit Command: Move +keybind.unit_command_repair.name = Unit Command: Repair +keybind.unit_command_rebuild.name = Unit Command: Rebuild +keybind.unit_command_assist.name = Unit Command: Assist +keybind.unit_command_mine.name = Unit Command: Mine +keybind.unit_command_boost.name = Unit Command: Boost +keybind.unit_command_load_units.name = Unit Command: Load Units +keybind.unit_command_load_blocks.name = Unit Command: Load Blocks +keybind.unit_command_unload_payload.name = Unit Command: Unload Payload +keybind.unit_command_enter_payload.name = Unit Command: Enter Payload keybind.rebuild_select.name = Rebuild Region keybind.schematic_select.name = Select Region keybind.schematic_menu.name = Schematic Menu diff --git a/core/assets/bundles/bundle_eu.properties b/core/assets/bundles/bundle_eu.properties index 937455c5ae..d29722b775 100644 --- a/core/assets/bundles/bundle_eu.properties +++ b/core/assets/bundles/bundle_eu.properties @@ -673,6 +673,7 @@ marker.shape.name = Shape marker.text.name = Text marker.line.name = Line marker.quad.name = Quad +marker.texture.name = Texture marker.background = Background marker.outline = Outline objective.research = [accent]Research:\n[]{0}[lightgray]{1} @@ -1210,15 +1211,16 @@ keybind.unit_stance_hold_fire.name = Unit Stance: Hold Fire keybind.unit_stance_pursue_target.name = Unit Stance: Pursue Target keybind.unit_stance_patrol.name = Unit Stance: Patrol keybind.unit_stance_ram.name = Unit Stance: Ram -keybind.unit_command_move = Unit Command: Move -keybind.unit_command_repair = Unit Command: Repair -keybind.unit_command_rebuild = Unit Command: Rebuild -keybind.unit_command_assist = Unit Command: Assist -keybind.unit_command_mine = Unit Command: Mine -keybind.unit_command_boost = Unit Command: Boost -keybind.unit_command_load_units = Unit Command: Load Units -keybind.unit_command_load_blocks = Unit Command: Load Blocks -keybind.unit_command_unload_payload = Unit Command: Unload Payload +keybind.unit_command_move.name = Unit Command: Move +keybind.unit_command_repair.name = Unit Command: Repair +keybind.unit_command_rebuild.name = Unit Command: Rebuild +keybind.unit_command_assist.name = Unit Command: Assist +keybind.unit_command_mine.name = Unit Command: Mine +keybind.unit_command_boost.name = Unit Command: Boost +keybind.unit_command_load_units.name = Unit Command: Load Units +keybind.unit_command_load_blocks.name = Unit Command: Load Blocks +keybind.unit_command_unload_payload.name = Unit Command: Unload Payload +keybind.unit_command_enter_payload.name = Unit Command: Enter Payload keybind.rebuild_select.name = Rebuild Region keybind.schematic_select.name = Hautatu eskualdea keybind.schematic_menu.name = Eskema menua diff --git a/core/assets/bundles/bundle_fi.properties b/core/assets/bundles/bundle_fi.properties index a510f47d8b..d2cfbbeb4a 100644 --- a/core/assets/bundles/bundle_fi.properties +++ b/core/assets/bundles/bundle_fi.properties @@ -671,6 +671,7 @@ marker.shape.name = Shape marker.text.name = Teksti marker.line.name = Line marker.quad.name = Quad +marker.texture.name = Texture marker.background = Background marker.outline = Outline objective.research = [accent]Tutki:\n[]{0}[lightgray]{1} @@ -1207,15 +1208,16 @@ keybind.unit_stance_hold_fire.name = Unit Stance: Hold Fire keybind.unit_stance_pursue_target.name = Unit Stance: Pursue Target keybind.unit_stance_patrol.name = Unit Stance: Patrol keybind.unit_stance_ram.name = Unit Stance: Ram -keybind.unit_command_move = Unit Command: Move -keybind.unit_command_repair = Unit Command: Repair -keybind.unit_command_rebuild = Unit Command: Rebuild -keybind.unit_command_assist = Unit Command: Assist -keybind.unit_command_mine = Unit Command: Mine -keybind.unit_command_boost = Unit Command: Boost -keybind.unit_command_load_units = Unit Command: Load Units -keybind.unit_command_load_blocks = Unit Command: Load Blocks -keybind.unit_command_unload_payload = Unit Command: Unload Payload +keybind.unit_command_move.name = Unit Command: Move +keybind.unit_command_repair.name = Unit Command: Repair +keybind.unit_command_rebuild.name = Unit Command: Rebuild +keybind.unit_command_assist.name = Unit Command: Assist +keybind.unit_command_mine.name = Unit Command: Mine +keybind.unit_command_boost.name = Unit Command: Boost +keybind.unit_command_load_units.name = Unit Command: Load Units +keybind.unit_command_load_blocks.name = Unit Command: Load Blocks +keybind.unit_command_unload_payload.name = Unit Command: Unload Payload +keybind.unit_command_enter_payload.name = Unit Command: Enter Payload keybind.rebuild_select.name = Rebuild Region keybind.schematic_select.name = Valitse alue keybind.schematic_menu.name = Kaavio Valikko diff --git a/core/assets/bundles/bundle_fil.properties b/core/assets/bundles/bundle_fil.properties index 4c1af29c96..85fe063009 100644 --- a/core/assets/bundles/bundle_fil.properties +++ b/core/assets/bundles/bundle_fil.properties @@ -671,6 +671,7 @@ marker.shape.name = Shape marker.text.name = Text marker.line.name = Line marker.quad.name = Quad +marker.texture.name = Texture marker.background = Background marker.outline = Outline objective.research = [accent]Research:\n[]{0}[lightgray]{1} @@ -1207,15 +1208,16 @@ keybind.unit_stance_hold_fire.name = Unit Stance: Hold Fire keybind.unit_stance_pursue_target.name = Unit Stance: Pursue Target keybind.unit_stance_patrol.name = Unit Stance: Patrol keybind.unit_stance_ram.name = Unit Stance: Ram -keybind.unit_command_move = Unit Command: Move -keybind.unit_command_repair = Unit Command: Repair -keybind.unit_command_rebuild = Unit Command: Rebuild -keybind.unit_command_assist = Unit Command: Assist -keybind.unit_command_mine = Unit Command: Mine -keybind.unit_command_boost = Unit Command: Boost -keybind.unit_command_load_units = Unit Command: Load Units -keybind.unit_command_load_blocks = Unit Command: Load Blocks -keybind.unit_command_unload_payload = Unit Command: Unload Payload +keybind.unit_command_move.name = Unit Command: Move +keybind.unit_command_repair.name = Unit Command: Repair +keybind.unit_command_rebuild.name = Unit Command: Rebuild +keybind.unit_command_assist.name = Unit Command: Assist +keybind.unit_command_mine.name = Unit Command: Mine +keybind.unit_command_boost.name = Unit Command: Boost +keybind.unit_command_load_units.name = Unit Command: Load Units +keybind.unit_command_load_blocks.name = Unit Command: Load Blocks +keybind.unit_command_unload_payload.name = Unit Command: Unload Payload +keybind.unit_command_enter_payload.name = Unit Command: Enter Payload keybind.rebuild_select.name = Rebuild Region keybind.schematic_select.name = Select Region keybind.schematic_menu.name = Schematic Menu diff --git a/core/assets/bundles/bundle_fr.properties b/core/assets/bundles/bundle_fr.properties index 8b950668e4..0dea263859 100644 --- a/core/assets/bundles/bundle_fr.properties +++ b/core/assets/bundles/bundle_fr.properties @@ -687,6 +687,7 @@ marker.shape.name = Forme marker.text.name = Texte marker.line.name = Ligne marker.quad.name = Quad +marker.texture.name = Texture marker.background = Fond marker.outline = Contour @@ -1233,16 +1234,16 @@ keybind.unit_stance_hold_fire.name = Ordre: Ne pas tirer keybind.unit_stance_pursue_target.name = Ordre: Poursuivre la cible keybind.unit_stance_patrol.name = Ordre: Patrouille keybind.unit_stance_ram.name = Ordre: Charger - -keybind.unit_command_move = Commande: Bouger -keybind.unit_command_repair = Commande: Réparer -keybind.unit_command_rebuild = Commande: Reconstruire -keybind.unit_command_assist = Commande: Assister -keybind.unit_command_mine = Commande: Miner -keybind.unit_command_boost = Commande: Boost -keybind.unit_command_load_units = Commande: Transporter unités -keybind.unit_command_load_blocks = Commande: Transporter blocs -keybind.unit_command_unload_payload = Commande: Poser chargement +keybind.unit_command_move.name = Unit Command: Move +keybind.unit_command_repair.name = Unit Command: Repair +keybind.unit_command_rebuild.name = Unit Command: Rebuild +keybind.unit_command_assist.name = Unit Command: Assist +keybind.unit_command_mine.name = Unit Command: Mine +keybind.unit_command_boost.name = Unit Command: Boost +keybind.unit_command_load_units.name = Unit Command: Load Units +keybind.unit_command_load_blocks.name = Unit Command: Load Blocks +keybind.unit_command_unload_payload.name = Unit Command: Unload Payload +keybind.unit_command_enter_payload.name = Unit Command: Enter Payload keybind.rebuild_select.name = Reconstruire la Zone keybind.schematic_select.name = Sélectionner une Région diff --git a/core/assets/bundles/bundle_hu.properties b/core/assets/bundles/bundle_hu.properties index 997e33631c..d3886064a3 100644 --- a/core/assets/bundles/bundle_hu.properties +++ b/core/assets/bundles/bundle_hu.properties @@ -688,6 +688,7 @@ marker.shape.name = Alakzat marker.text.name = Szöveg marker.line.name = Vonal marker.quad.name = Négyzet +marker.texture.name = Texture marker.background = Háttér marker.outline = Körvonal @@ -1234,16 +1235,16 @@ keybind.unit_stance_hold_fire.name = Egység viselkedése: tüzet szüntess keybind.unit_stance_pursue_target.name = Egység viselkedése: célpont követése keybind.unit_stance_patrol.name = Egység viselkedése: járőrözés keybind.unit_stance_ram.name = Egység viselkedése: ütközés - -keybind.unit_command_move = Egységparancs: mozgás -keybind.unit_command_repair = Egységparancs: javítás -keybind.unit_command_rebuild = Egységparancs: újjáépítés -keybind.unit_command_assist = Egységparancs: támogatás -keybind.unit_command_mine = Egységparancs: bányászás -keybind.unit_command_boost = Egységparancs: erősítés -keybind.unit_command_load_units = Egységparancs: egységek berakodása -keybind.unit_command_load_blocks = Egységparancs: blokkok berakodása -keybind.unit_command_unload_payload = Egységparancs: kirakodás +keybind.unit_command_move.name = Unit Command: Move +keybind.unit_command_repair.name = Unit Command: Repair +keybind.unit_command_rebuild.name = Unit Command: Rebuild +keybind.unit_command_assist.name = Unit Command: Assist +keybind.unit_command_mine.name = Unit Command: Mine +keybind.unit_command_boost.name = Unit Command: Boost +keybind.unit_command_load_units.name = Unit Command: Load Units +keybind.unit_command_load_blocks.name = Unit Command: Load Blocks +keybind.unit_command_unload_payload.name = Unit Command: Unload Payload +keybind.unit_command_enter_payload.name = Unit Command: Enter Payload keybind.rebuild_select.name = Régió újjáépítése keybind.schematic_select.name = Terület kijelölése diff --git a/core/assets/bundles/bundle_id_ID.properties b/core/assets/bundles/bundle_id_ID.properties index d8e91ab50c..f9a2127af0 100644 --- a/core/assets/bundles/bundle_id_ID.properties +++ b/core/assets/bundles/bundle_id_ID.properties @@ -681,6 +681,7 @@ marker.shape.name = Bentuk marker.text.name = Teks marker.line.name = Line marker.quad.name = Quad +marker.texture.name = Texture marker.background = Latar Belakang marker.outline = Garis Luar @@ -1226,15 +1227,16 @@ keybind.unit_stance_hold_fire.name = Unit Stance: Hold Fire keybind.unit_stance_pursue_target.name = Unit Stance: Pursue Target keybind.unit_stance_patrol.name = Unit Stance: Patrol keybind.unit_stance_ram.name = Unit Stance: Ram -keybind.unit_command_move = Unit Command: Move -keybind.unit_command_repair = Unit Command: Repair -keybind.unit_command_rebuild = Unit Command: Rebuild -keybind.unit_command_assist = Unit Command: Assist -keybind.unit_command_mine = Unit Command: Mine -keybind.unit_command_boost = Unit Command: Boost -keybind.unit_command_load_units = Unit Command: Load Units -keybind.unit_command_load_blocks = Unit Command: Load Blocks -keybind.unit_command_unload_payload = Unit Command: Unload Payload +keybind.unit_command_move.name = Unit Command: Move +keybind.unit_command_repair.name = Unit Command: Repair +keybind.unit_command_rebuild.name = Unit Command: Rebuild +keybind.unit_command_assist.name = Unit Command: Assist +keybind.unit_command_mine.name = Unit Command: Mine +keybind.unit_command_boost.name = Unit Command: Boost +keybind.unit_command_load_units.name = Unit Command: Load Units +keybind.unit_command_load_blocks.name = Unit Command: Load Blocks +keybind.unit_command_unload_payload.name = Unit Command: Unload Payload +keybind.unit_command_enter_payload.name = Unit Command: Enter Payload keybind.rebuild_select.name = Rebuild Region keybind.schematic_select.name = Pilih Daerah keybind.schematic_menu.name = Menu Skema diff --git a/core/assets/bundles/bundle_it.properties b/core/assets/bundles/bundle_it.properties index 138b8cef13..c5d871dd97 100644 --- a/core/assets/bundles/bundle_it.properties +++ b/core/assets/bundles/bundle_it.properties @@ -674,6 +674,7 @@ marker.shape.name = Forma marker.text.name = Testo marker.line.name = Line marker.quad.name = Quad +marker.texture.name = Texture marker.background = Sfondo marker.outline = Outline objective.research = [accent]Ricerca:\n[]{0}[lightgray]{1} @@ -1213,15 +1214,16 @@ keybind.unit_stance_hold_fire.name = Unit Stance: Hold Fire keybind.unit_stance_pursue_target.name = Unit Stance: Pursue Target keybind.unit_stance_patrol.name = Unit Stance: Patrol keybind.unit_stance_ram.name = Unit Stance: Ram -keybind.unit_command_move = Unit Command: Move -keybind.unit_command_repair = Unit Command: Repair -keybind.unit_command_rebuild = Unit Command: Rebuild -keybind.unit_command_assist = Unit Command: Assist -keybind.unit_command_mine = Unit Command: Mine -keybind.unit_command_boost = Unit Command: Boost -keybind.unit_command_load_units = Unit Command: Load Units -keybind.unit_command_load_blocks = Unit Command: Load Blocks -keybind.unit_command_unload_payload = Unit Command: Unload Payload +keybind.unit_command_move.name = Unit Command: Move +keybind.unit_command_repair.name = Unit Command: Repair +keybind.unit_command_rebuild.name = Unit Command: Rebuild +keybind.unit_command_assist.name = Unit Command: Assist +keybind.unit_command_mine.name = Unit Command: Mine +keybind.unit_command_boost.name = Unit Command: Boost +keybind.unit_command_load_units.name = Unit Command: Load Units +keybind.unit_command_load_blocks.name = Unit Command: Load Blocks +keybind.unit_command_unload_payload.name = Unit Command: Unload Payload +keybind.unit_command_enter_payload.name = Unit Command: Enter Payload keybind.rebuild_select.name = Rebuild Region keybind.schematic_select.name = Seleziona Regione keybind.schematic_menu.name = Menu Schematica diff --git a/core/assets/bundles/bundle_ja.properties b/core/assets/bundles/bundle_ja.properties index 7e021ec285..59f64d47b1 100644 --- a/core/assets/bundles/bundle_ja.properties +++ b/core/assets/bundles/bundle_ja.properties @@ -678,6 +678,7 @@ marker.shape.name = 図形 marker.text.name = 文章 marker.line.name = Line marker.quad.name = Quad +marker.texture.name = Texture marker.background = 背景 marker.outline = 輪郭 objective.research = [accent]Research:\n[]{0}[lightgray]{1} @@ -1219,15 +1220,16 @@ keybind.unit_stance_hold_fire.name = Unit Stance: Hold Fire keybind.unit_stance_pursue_target.name = Unit Stance: Pursue Target keybind.unit_stance_patrol.name = Unit Stance: Patrol keybind.unit_stance_ram.name = Unit Stance: Ram -keybind.unit_command_move = Unit Command: Move -keybind.unit_command_repair = Unit Command: Repair -keybind.unit_command_rebuild = Unit Command: Rebuild -keybind.unit_command_assist = Unit Command: Assist -keybind.unit_command_mine = Unit Command: Mine -keybind.unit_command_boost = Unit Command: Boost -keybind.unit_command_load_units = Unit Command: Load Units -keybind.unit_command_load_blocks = Unit Command: Load Blocks -keybind.unit_command_unload_payload = Unit Command: Unload Payload +keybind.unit_command_move.name = Unit Command: Move +keybind.unit_command_repair.name = Unit Command: Repair +keybind.unit_command_rebuild.name = Unit Command: Rebuild +keybind.unit_command_assist.name = Unit Command: Assist +keybind.unit_command_mine.name = Unit Command: Mine +keybind.unit_command_boost.name = Unit Command: Boost +keybind.unit_command_load_units.name = Unit Command: Load Units +keybind.unit_command_load_blocks.name = Unit Command: Load Blocks +keybind.unit_command_unload_payload.name = Unit Command: Unload Payload +keybind.unit_command_enter_payload.name = Unit Command: Enter Payload keybind.rebuild_select.name = リージョンの再構築 keybind.schematic_select.name = 範囲選択 keybind.schematic_menu.name = 設計図メニュー diff --git a/core/assets/bundles/bundle_ko.properties b/core/assets/bundles/bundle_ko.properties index be380aa335..f3c014faed 100644 --- a/core/assets/bundles/bundle_ko.properties +++ b/core/assets/bundles/bundle_ko.properties @@ -678,6 +678,7 @@ marker.shape.name = 도형 marker.text.name = 문자 marker.line.name = Line marker.quad.name = Quad +marker.texture.name = Texture marker.background = 배경 marker.outline = 외곽선 @@ -1218,15 +1219,16 @@ keybind.unit_stance_hold_fire.name = Unit Stance: Hold Fire keybind.unit_stance_pursue_target.name = Unit Stance: Pursue Target keybind.unit_stance_patrol.name = Unit Stance: Patrol keybind.unit_stance_ram.name = Unit Stance: Ram -keybind.unit_command_move = Unit Command: Move -keybind.unit_command_repair = Unit Command: Repair -keybind.unit_command_rebuild = Unit Command: Rebuild -keybind.unit_command_assist = Unit Command: Assist -keybind.unit_command_mine = Unit Command: Mine -keybind.unit_command_boost = Unit Command: Boost -keybind.unit_command_load_units = Unit Command: Load Units -keybind.unit_command_load_blocks = Unit Command: Load Blocks -keybind.unit_command_unload_payload = Unit Command: Unload Payload +keybind.unit_command_move.name = Unit Command: Move +keybind.unit_command_repair.name = Unit Command: Repair +keybind.unit_command_rebuild.name = Unit Command: Rebuild +keybind.unit_command_assist.name = Unit Command: Assist +keybind.unit_command_mine.name = Unit Command: Mine +keybind.unit_command_boost.name = Unit Command: Boost +keybind.unit_command_load_units.name = Unit Command: Load Units +keybind.unit_command_load_blocks.name = Unit Command: Load Blocks +keybind.unit_command_unload_payload.name = Unit Command: Unload Payload +keybind.unit_command_enter_payload.name = Unit Command: Enter Payload keybind.rebuild_select.name = 지역 재건 keybind.schematic_select.name = 영역 설정 keybind.schematic_menu.name = 설계도 메뉴 diff --git a/core/assets/bundles/bundle_lt.properties b/core/assets/bundles/bundle_lt.properties index 68a0e9319b..6bc26f33fd 100644 --- a/core/assets/bundles/bundle_lt.properties +++ b/core/assets/bundles/bundle_lt.properties @@ -671,6 +671,7 @@ marker.shape.name = Shape marker.text.name = Text marker.line.name = Line marker.quad.name = Quad +marker.texture.name = Texture marker.background = Background marker.outline = Outline objective.research = [accent]Research:\n[]{0}[lightgray]{1} @@ -1208,15 +1209,16 @@ keybind.unit_stance_hold_fire.name = Unit Stance: Hold Fire keybind.unit_stance_pursue_target.name = Unit Stance: Pursue Target keybind.unit_stance_patrol.name = Unit Stance: Patrol keybind.unit_stance_ram.name = Unit Stance: Ram -keybind.unit_command_move = Unit Command: Move -keybind.unit_command_repair = Unit Command: Repair -keybind.unit_command_rebuild = Unit Command: Rebuild -keybind.unit_command_assist = Unit Command: Assist -keybind.unit_command_mine = Unit Command: Mine -keybind.unit_command_boost = Unit Command: Boost -keybind.unit_command_load_units = Unit Command: Load Units -keybind.unit_command_load_blocks = Unit Command: Load Blocks -keybind.unit_command_unload_payload = Unit Command: Unload Payload +keybind.unit_command_move.name = Unit Command: Move +keybind.unit_command_repair.name = Unit Command: Repair +keybind.unit_command_rebuild.name = Unit Command: Rebuild +keybind.unit_command_assist.name = Unit Command: Assist +keybind.unit_command_mine.name = Unit Command: Mine +keybind.unit_command_boost.name = Unit Command: Boost +keybind.unit_command_load_units.name = Unit Command: Load Units +keybind.unit_command_load_blocks.name = Unit Command: Load Blocks +keybind.unit_command_unload_payload.name = Unit Command: Unload Payload +keybind.unit_command_enter_payload.name = Unit Command: Enter Payload keybind.rebuild_select.name = Rebuild Region keybind.schematic_select.name = Pasirinkite Regioną keybind.schematic_menu.name = Schemų Meniu diff --git a/core/assets/bundles/bundle_nl.properties b/core/assets/bundles/bundle_nl.properties index 8af4933743..46eb33949b 100644 --- a/core/assets/bundles/bundle_nl.properties +++ b/core/assets/bundles/bundle_nl.properties @@ -682,6 +682,7 @@ marker.shape.name = Vorm marker.text.name = Tekst marker.line.name = Line marker.quad.name = Quad +marker.texture.name = Texture marker.background = Achtergrond marker.outline = Omtrek objective.research = [accent]Onderzoek:\n[]{0}[lightgray]{1} @@ -1220,15 +1221,16 @@ keybind.unit_stance_hold_fire.name = Unit Stance: Hold Fire keybind.unit_stance_pursue_target.name = Unit Stance: Pursue Target keybind.unit_stance_patrol.name = Unit Stance: Patrol keybind.unit_stance_ram.name = Unit Stance: Ram -keybind.unit_command_move = Unit Command: Move -keybind.unit_command_repair = Unit Command: Repair -keybind.unit_command_rebuild = Unit Command: Rebuild -keybind.unit_command_assist = Unit Command: Assist -keybind.unit_command_mine = Unit Command: Mine -keybind.unit_command_boost = Unit Command: Boost -keybind.unit_command_load_units = Unit Command: Load Units -keybind.unit_command_load_blocks = Unit Command: Load Blocks -keybind.unit_command_unload_payload = Unit Command: Unload Payload +keybind.unit_command_move.name = Unit Command: Move +keybind.unit_command_repair.name = Unit Command: Repair +keybind.unit_command_rebuild.name = Unit Command: Rebuild +keybind.unit_command_assist.name = Unit Command: Assist +keybind.unit_command_mine.name = Unit Command: Mine +keybind.unit_command_boost.name = Unit Command: Boost +keybind.unit_command_load_units.name = Unit Command: Load Units +keybind.unit_command_load_blocks.name = Unit Command: Load Blocks +keybind.unit_command_unload_payload.name = Unit Command: Unload Payload +keybind.unit_command_enter_payload.name = Unit Command: Enter Payload keybind.rebuild_select.name = Herbouw Regio keybind.schematic_select.name = Selecteer gebied keybind.schematic_menu.name = Ontwerpmenu diff --git a/core/assets/bundles/bundle_nl_BE.properties b/core/assets/bundles/bundle_nl_BE.properties index 34a4da88f5..01a6cf3f1f 100644 --- a/core/assets/bundles/bundle_nl_BE.properties +++ b/core/assets/bundles/bundle_nl_BE.properties @@ -671,6 +671,7 @@ marker.shape.name = Shape marker.text.name = Text marker.line.name = Line marker.quad.name = Quad +marker.texture.name = Texture marker.background = Background marker.outline = Outline objective.research = [accent]Research:\n[]{0}[lightgray]{1} @@ -1208,15 +1209,16 @@ keybind.unit_stance_hold_fire.name = Unit Stance: Hold Fire keybind.unit_stance_pursue_target.name = Unit Stance: Pursue Target keybind.unit_stance_patrol.name = Unit Stance: Patrol keybind.unit_stance_ram.name = Unit Stance: Ram -keybind.unit_command_move = Unit Command: Move -keybind.unit_command_repair = Unit Command: Repair -keybind.unit_command_rebuild = Unit Command: Rebuild -keybind.unit_command_assist = Unit Command: Assist -keybind.unit_command_mine = Unit Command: Mine -keybind.unit_command_boost = Unit Command: Boost -keybind.unit_command_load_units = Unit Command: Load Units -keybind.unit_command_load_blocks = Unit Command: Load Blocks -keybind.unit_command_unload_payload = Unit Command: Unload Payload +keybind.unit_command_move.name = Unit Command: Move +keybind.unit_command_repair.name = Unit Command: Repair +keybind.unit_command_rebuild.name = Unit Command: Rebuild +keybind.unit_command_assist.name = Unit Command: Assist +keybind.unit_command_mine.name = Unit Command: Mine +keybind.unit_command_boost.name = Unit Command: Boost +keybind.unit_command_load_units.name = Unit Command: Load Units +keybind.unit_command_load_blocks.name = Unit Command: Load Blocks +keybind.unit_command_unload_payload.name = Unit Command: Unload Payload +keybind.unit_command_enter_payload.name = Unit Command: Enter Payload keybind.rebuild_select.name = Rebuild Region keybind.schematic_select.name = Select Region keybind.schematic_menu.name = Schematic Menu diff --git a/core/assets/bundles/bundle_pl.properties b/core/assets/bundles/bundle_pl.properties index 9127fbfaf2..0de92a7351 100644 --- a/core/assets/bundles/bundle_pl.properties +++ b/core/assets/bundles/bundle_pl.properties @@ -676,6 +676,7 @@ marker.shape.name = Figura marker.text.name = Tekst marker.line.name = Line marker.quad.name = Quad +marker.texture.name = Texture marker.background = Tło marker.outline = Kontur objective.research = [accent]Zbadaj:\n[]{0}[lightgray]{1} @@ -1217,15 +1218,16 @@ keybind.unit_stance_hold_fire.name = Wstrzymaj ogień keybind.unit_stance_pursue_target.name = Goń Cel keybind.unit_stance_patrol.name = Patroluj keybind.unit_stance_ram.name = Taranuj -keybind.unit_command_move = Porusz -keybind.unit_command_repair = Naprawiaj -keybind.unit_command_rebuild = Odbudowywuj -keybind.unit_command_assist = Asystuj -keybind.unit_command_mine = Kop -keybind.unit_command_boost = Przyspieszaj -keybind.unit_command_load_units = Załaduj jednostki -keybind.unit_command_load_blocks = Załaduj Bloki -keybind.unit_command_unload_payload = Rozładuj Ładunek +keybind.unit_command_move.name = Unit Command: Move +keybind.unit_command_repair.name = Unit Command: Repair +keybind.unit_command_rebuild.name = Unit Command: Rebuild +keybind.unit_command_assist.name = Unit Command: Assist +keybind.unit_command_mine.name = Unit Command: Mine +keybind.unit_command_boost.name = Unit Command: Boost +keybind.unit_command_load_units.name = Unit Command: Load Units +keybind.unit_command_load_blocks.name = Unit Command: Load Blocks +keybind.unit_command_unload_payload.name = Unit Command: Unload Payload +keybind.unit_command_enter_payload.name = Unit Command: Enter Payload keybind.rebuild_select.name = Odbuduj Region keybind.schematic_select.name = Wybierz Region keybind.schematic_menu.name = Menu Schematów diff --git a/core/assets/bundles/bundle_pt_BR.properties b/core/assets/bundles/bundle_pt_BR.properties index 77fd5923d3..4883362261 100644 --- a/core/assets/bundles/bundle_pt_BR.properties +++ b/core/assets/bundles/bundle_pt_BR.properties @@ -681,6 +681,7 @@ marker.shape.name = Shape marker.text.name = Texto marker.line.name = Line marker.quad.name = Quad +marker.texture.name = Texture marker.background = Fundo marker.outline = Contorno @@ -1227,15 +1228,16 @@ keybind.unit_stance_hold_fire.name = Unit Stance: Hold Fire keybind.unit_stance_pursue_target.name = Unit Stance: Pursue Target keybind.unit_stance_patrol.name = Unit Stance: Patrol keybind.unit_stance_ram.name = Unit Stance: Ram -keybind.unit_command_move = Unit Command: Move -keybind.unit_command_repair = Unit Command: Repair -keybind.unit_command_rebuild = Unit Command: Rebuild -keybind.unit_command_assist = Unit Command: Assist -keybind.unit_command_mine = Unit Command: Mine -keybind.unit_command_boost = Unit Command: Boost -keybind.unit_command_load_units = Unit Command: Load Units -keybind.unit_command_load_blocks = Unit Command: Load Blocks -keybind.unit_command_unload_payload = Unit Command: Unload Payload +keybind.unit_command_move.name = Unit Command: Move +keybind.unit_command_repair.name = Unit Command: Repair +keybind.unit_command_rebuild.name = Unit Command: Rebuild +keybind.unit_command_assist.name = Unit Command: Assist +keybind.unit_command_mine.name = Unit Command: Mine +keybind.unit_command_boost.name = Unit Command: Boost +keybind.unit_command_load_units.name = Unit Command: Load Units +keybind.unit_command_load_blocks.name = Unit Command: Load Blocks +keybind.unit_command_unload_payload.name = Unit Command: Unload Payload +keybind.unit_command_enter_payload.name = Unit Command: Enter Payload keybind.rebuild_select.name = Rebuild Region keybind.schematic_select.name = Selecionar região keybind.schematic_menu.name = Menu de Esquemas diff --git a/core/assets/bundles/bundle_pt_PT.properties b/core/assets/bundles/bundle_pt_PT.properties index f0d6701020..cf29525e4c 100644 --- a/core/assets/bundles/bundle_pt_PT.properties +++ b/core/assets/bundles/bundle_pt_PT.properties @@ -671,6 +671,7 @@ marker.shape.name = Shape marker.text.name = Text marker.line.name = Line marker.quad.name = Quad +marker.texture.name = Texture marker.background = Background marker.outline = Outline objective.research = [accent]Research:\n[]{0}[lightgray]{1} @@ -1208,15 +1209,16 @@ keybind.unit_stance_hold_fire.name = Unit Stance: Hold Fire keybind.unit_stance_pursue_target.name = Unit Stance: Pursue Target keybind.unit_stance_patrol.name = Unit Stance: Patrol keybind.unit_stance_ram.name = Unit Stance: Ram -keybind.unit_command_move = Unit Command: Move -keybind.unit_command_repair = Unit Command: Repair -keybind.unit_command_rebuild = Unit Command: Rebuild -keybind.unit_command_assist = Unit Command: Assist -keybind.unit_command_mine = Unit Command: Mine -keybind.unit_command_boost = Unit Command: Boost -keybind.unit_command_load_units = Unit Command: Load Units -keybind.unit_command_load_blocks = Unit Command: Load Blocks -keybind.unit_command_unload_payload = Unit Command: Unload Payload +keybind.unit_command_move.name = Unit Command: Move +keybind.unit_command_repair.name = Unit Command: Repair +keybind.unit_command_rebuild.name = Unit Command: Rebuild +keybind.unit_command_assist.name = Unit Command: Assist +keybind.unit_command_mine.name = Unit Command: Mine +keybind.unit_command_boost.name = Unit Command: Boost +keybind.unit_command_load_units.name = Unit Command: Load Units +keybind.unit_command_load_blocks.name = Unit Command: Load Blocks +keybind.unit_command_unload_payload.name = Unit Command: Unload Payload +keybind.unit_command_enter_payload.name = Unit Command: Enter Payload keybind.rebuild_select.name = Rebuild Region keybind.schematic_select.name = Selecionar região keybind.schematic_menu.name = Menu esquemático diff --git a/core/assets/bundles/bundle_ro.properties b/core/assets/bundles/bundle_ro.properties index 409cf3be17..d9e45b96ca 100644 --- a/core/assets/bundles/bundle_ro.properties +++ b/core/assets/bundles/bundle_ro.properties @@ -678,6 +678,7 @@ marker.shape.name = Shape marker.text.name = Text marker.line.name = Line marker.quad.name = Quad +marker.texture.name = Texture marker.background = Background marker.outline = Outline objective.research = [accent]Research:\n[]{0}[lightgray]{1} @@ -1219,15 +1220,16 @@ keybind.unit_stance_hold_fire.name = Unit Stance: Hold Fire keybind.unit_stance_pursue_target.name = Unit Stance: Pursue Target keybind.unit_stance_patrol.name = Unit Stance: Patrol keybind.unit_stance_ram.name = Unit Stance: Ram -keybind.unit_command_move = Unit Command: Move -keybind.unit_command_repair = Unit Command: Repair -keybind.unit_command_rebuild = Unit Command: Rebuild -keybind.unit_command_assist = Unit Command: Assist -keybind.unit_command_mine = Unit Command: Mine -keybind.unit_command_boost = Unit Command: Boost -keybind.unit_command_load_units = Unit Command: Load Units -keybind.unit_command_load_blocks = Unit Command: Load Blocks -keybind.unit_command_unload_payload = Unit Command: Unload Payload +keybind.unit_command_move.name = Unit Command: Move +keybind.unit_command_repair.name = Unit Command: Repair +keybind.unit_command_rebuild.name = Unit Command: Rebuild +keybind.unit_command_assist.name = Unit Command: Assist +keybind.unit_command_mine.name = Unit Command: Mine +keybind.unit_command_boost.name = Unit Command: Boost +keybind.unit_command_load_units.name = Unit Command: Load Units +keybind.unit_command_load_blocks.name = Unit Command: Load Blocks +keybind.unit_command_unload_payload.name = Unit Command: Unload Payload +keybind.unit_command_enter_payload.name = Unit Command: Enter Payload keybind.rebuild_select.name = Rebuild Region keybind.schematic_select.name = Selectează Regiunea keybind.schematic_menu.name = Meniu Scheme diff --git a/core/assets/bundles/bundle_ru.properties b/core/assets/bundles/bundle_ru.properties index 13eec1407e..c5ccfc459c 100644 --- a/core/assets/bundles/bundle_ru.properties +++ b/core/assets/bundles/bundle_ru.properties @@ -678,6 +678,7 @@ marker.shape.name = Фигура marker.text.name = Текст marker.line.name = Line marker.quad.name = Quad +marker.texture.name = Texture marker.background = Фон marker.outline = Контур objective.research = [accent]Исследуйте:\n[]{0}[lightgray]{1} @@ -1219,15 +1220,16 @@ keybind.unit_stance_hold_fire.name = Unit Stance: Hold Fire keybind.unit_stance_pursue_target.name = Unit Stance: Pursue Target keybind.unit_stance_patrol.name = Unit Stance: Patrol keybind.unit_stance_ram.name = Unit Stance: Ram -keybind.unit_command_move = Unit Command: Move -keybind.unit_command_repair = Unit Command: Repair -keybind.unit_command_rebuild = Unit Command: Rebuild -keybind.unit_command_assist = Unit Command: Assist -keybind.unit_command_mine = Unit Command: Mine -keybind.unit_command_boost = Unit Command: Boost -keybind.unit_command_load_units = Unit Command: Load Units -keybind.unit_command_load_blocks = Unit Command: Load Blocks -keybind.unit_command_unload_payload = Unit Command: Unload Payload +keybind.unit_command_move.name = Unit Command: Move +keybind.unit_command_repair.name = Unit Command: Repair +keybind.unit_command_rebuild.name = Unit Command: Rebuild +keybind.unit_command_assist.name = Unit Command: Assist +keybind.unit_command_mine.name = Unit Command: Mine +keybind.unit_command_boost.name = Unit Command: Boost +keybind.unit_command_load_units.name = Unit Command: Load Units +keybind.unit_command_load_blocks.name = Unit Command: Load Blocks +keybind.unit_command_unload_payload.name = Unit Command: Unload Payload +keybind.unit_command_enter_payload.name = Unit Command: Enter Payload keybind.rebuild_select.name = Перестроить в области keybind.schematic_select.name = Выбрать область keybind.schematic_menu.name = Меню схем diff --git a/core/assets/bundles/bundle_sr.properties b/core/assets/bundles/bundle_sr.properties index 218940ccd3..52cf175915 100644 --- a/core/assets/bundles/bundle_sr.properties +++ b/core/assets/bundles/bundle_sr.properties @@ -678,6 +678,7 @@ marker.shape.name = Oblik marker.text.name = Tekst marker.line.name = Line marker.quad.name = Quad +marker.texture.name = Texture marker.background = Pozadina marker.outline = Outline objective.research = [accent]Izuči:\n[]{0}[lightgray]{1} @@ -1221,15 +1222,16 @@ keybind.unit_stance_hold_fire.name = Unit Stance: Hold Fire keybind.unit_stance_pursue_target.name = Unit Stance: Pursue Target keybind.unit_stance_patrol.name = Unit Stance: Patrol keybind.unit_stance_ram.name = Unit Stance: Ram -keybind.unit_command_move = Unit Command: Move -keybind.unit_command_repair = Unit Command: Repair -keybind.unit_command_rebuild = Unit Command: Rebuild -keybind.unit_command_assist = Unit Command: Assist -keybind.unit_command_mine = Unit Command: Mine -keybind.unit_command_boost = Unit Command: Boost -keybind.unit_command_load_units = Unit Command: Load Units -keybind.unit_command_load_blocks = Unit Command: Load Blocks -keybind.unit_command_unload_payload = Unit Command: Unload Payload +keybind.unit_command_move.name = Unit Command: Move +keybind.unit_command_repair.name = Unit Command: Repair +keybind.unit_command_rebuild.name = Unit Command: Rebuild +keybind.unit_command_assist.name = Unit Command: Assist +keybind.unit_command_mine.name = Unit Command: Mine +keybind.unit_command_boost.name = Unit Command: Boost +keybind.unit_command_load_units.name = Unit Command: Load Units +keybind.unit_command_load_blocks.name = Unit Command: Load Blocks +keybind.unit_command_unload_payload.name = Unit Command: Unload Payload +keybind.unit_command_enter_payload.name = Unit Command: Enter Payload keybind.rebuild_select.name = Ponovo Sagradi Region keybind.schematic_select.name = Izaberi Region keybind.schematic_menu.name = Menu Šema diff --git a/core/assets/bundles/bundle_sv.properties b/core/assets/bundles/bundle_sv.properties index 5a30521e0c..be714b7f2b 100644 --- a/core/assets/bundles/bundle_sv.properties +++ b/core/assets/bundles/bundle_sv.properties @@ -671,6 +671,7 @@ marker.shape.name = Shape marker.text.name = Text marker.line.name = Line marker.quad.name = Quad +marker.texture.name = Texture marker.background = Background marker.outline = Outline objective.research = [accent]Research:\n[]{0}[lightgray]{1} @@ -1208,15 +1209,16 @@ keybind.unit_stance_hold_fire.name = Unit Stance: Hold Fire keybind.unit_stance_pursue_target.name = Unit Stance: Pursue Target keybind.unit_stance_patrol.name = Unit Stance: Patrol keybind.unit_stance_ram.name = Unit Stance: Ram -keybind.unit_command_move = Unit Command: Move -keybind.unit_command_repair = Unit Command: Repair -keybind.unit_command_rebuild = Unit Command: Rebuild -keybind.unit_command_assist = Unit Command: Assist -keybind.unit_command_mine = Unit Command: Mine -keybind.unit_command_boost = Unit Command: Boost -keybind.unit_command_load_units = Unit Command: Load Units -keybind.unit_command_load_blocks = Unit Command: Load Blocks -keybind.unit_command_unload_payload = Unit Command: Unload Payload +keybind.unit_command_move.name = Unit Command: Move +keybind.unit_command_repair.name = Unit Command: Repair +keybind.unit_command_rebuild.name = Unit Command: Rebuild +keybind.unit_command_assist.name = Unit Command: Assist +keybind.unit_command_mine.name = Unit Command: Mine +keybind.unit_command_boost.name = Unit Command: Boost +keybind.unit_command_load_units.name = Unit Command: Load Units +keybind.unit_command_load_blocks.name = Unit Command: Load Blocks +keybind.unit_command_unload_payload.name = Unit Command: Unload Payload +keybind.unit_command_enter_payload.name = Unit Command: Enter Payload keybind.rebuild_select.name = Rebuild Region keybind.schematic_select.name = Select Region keybind.schematic_menu.name = Schematic Menu diff --git a/core/assets/bundles/bundle_th.properties b/core/assets/bundles/bundle_th.properties index e1032d277c..9f5f8253b8 100644 --- a/core/assets/bundles/bundle_th.properties +++ b/core/assets/bundles/bundle_th.properties @@ -678,6 +678,7 @@ marker.shape.name = รูปทรง marker.text.name = ข้อความ marker.line.name = Line marker.quad.name = Quad +marker.texture.name = Texture marker.background = พื้นหลัง marker.outline = โครงร่าง objective.research = [accent]วิจัย:\n[]{0}[lightgray]{1} @@ -1220,15 +1221,16 @@ keybind.unit_stance_hold_fire.name = Unit Stance: Hold Fire keybind.unit_stance_pursue_target.name = Unit Stance: Pursue Target keybind.unit_stance_patrol.name = Unit Stance: Patrol keybind.unit_stance_ram.name = Unit Stance: Ram -keybind.unit_command_move = Unit Command: Move -keybind.unit_command_repair = Unit Command: Repair -keybind.unit_command_rebuild = Unit Command: Rebuild -keybind.unit_command_assist = Unit Command: Assist -keybind.unit_command_mine = Unit Command: Mine -keybind.unit_command_boost = Unit Command: Boost -keybind.unit_command_load_units = Unit Command: Load Units -keybind.unit_command_load_blocks = Unit Command: Load Blocks -keybind.unit_command_unload_payload = Unit Command: Unload Payload +keybind.unit_command_move.name = Unit Command: Move +keybind.unit_command_repair.name = Unit Command: Repair +keybind.unit_command_rebuild.name = Unit Command: Rebuild +keybind.unit_command_assist.name = Unit Command: Assist +keybind.unit_command_mine.name = Unit Command: Mine +keybind.unit_command_boost.name = Unit Command: Boost +keybind.unit_command_load_units.name = Unit Command: Load Units +keybind.unit_command_load_blocks.name = Unit Command: Load Blocks +keybind.unit_command_unload_payload.name = Unit Command: Unload Payload +keybind.unit_command_enter_payload.name = Unit Command: Enter Payload keybind.rebuild_select.name = เลือกพื้นที่สร้างใหม่ keybind.schematic_select.name = เลือกพื้นที่ keybind.schematic_menu.name = เมนูแผนผัง diff --git a/core/assets/bundles/bundle_tk.properties b/core/assets/bundles/bundle_tk.properties index 18c9cb6235..cca3894127 100644 --- a/core/assets/bundles/bundle_tk.properties +++ b/core/assets/bundles/bundle_tk.properties @@ -671,6 +671,7 @@ marker.shape.name = Shape marker.text.name = Text marker.line.name = Line marker.quad.name = Quad +marker.texture.name = Texture marker.background = Background marker.outline = Outline objective.research = [accent]Research:\n[]{0}[lightgray]{1} @@ -1208,15 +1209,16 @@ keybind.unit_stance_hold_fire.name = Unit Stance: Hold Fire keybind.unit_stance_pursue_target.name = Unit Stance: Pursue Target keybind.unit_stance_patrol.name = Unit Stance: Patrol keybind.unit_stance_ram.name = Unit Stance: Ram -keybind.unit_command_move = Unit Command: Move -keybind.unit_command_repair = Unit Command: Repair -keybind.unit_command_rebuild = Unit Command: Rebuild -keybind.unit_command_assist = Unit Command: Assist -keybind.unit_command_mine = Unit Command: Mine -keybind.unit_command_boost = Unit Command: Boost -keybind.unit_command_load_units = Unit Command: Load Units -keybind.unit_command_load_blocks = Unit Command: Load Blocks -keybind.unit_command_unload_payload = Unit Command: Unload Payload +keybind.unit_command_move.name = Unit Command: Move +keybind.unit_command_repair.name = Unit Command: Repair +keybind.unit_command_rebuild.name = Unit Command: Rebuild +keybind.unit_command_assist.name = Unit Command: Assist +keybind.unit_command_mine.name = Unit Command: Mine +keybind.unit_command_boost.name = Unit Command: Boost +keybind.unit_command_load_units.name = Unit Command: Load Units +keybind.unit_command_load_blocks.name = Unit Command: Load Blocks +keybind.unit_command_unload_payload.name = Unit Command: Unload Payload +keybind.unit_command_enter_payload.name = Unit Command: Enter Payload keybind.rebuild_select.name = Rebuild Region keybind.schematic_select.name = Select Region keybind.schematic_menu.name = Schematic Menu diff --git a/core/assets/bundles/bundle_tr.properties b/core/assets/bundles/bundle_tr.properties index 9a60f81d7c..3df7fa80c7 100644 --- a/core/assets/bundles/bundle_tr.properties +++ b/core/assets/bundles/bundle_tr.properties @@ -678,6 +678,7 @@ marker.shape.name = Şekil marker.text.name = Yazı marker.line.name = Line marker.quad.name = Quad +marker.texture.name = Texture marker.background = Arkaplan marker.outline = Anahat objective.research = [accent]Araştır:\n[]{0}[lightgray]{1} @@ -1217,15 +1218,16 @@ keybind.unit_stance_hold_fire.name = Unit Stance: Hold Fire keybind.unit_stance_pursue_target.name = Unit Stance: Pursue Target keybind.unit_stance_patrol.name = Unit Stance: Patrol keybind.unit_stance_ram.name = Unit Stance: Ram -keybind.unit_command_move = Unit Command: Move -keybind.unit_command_repair = Unit Command: Repair -keybind.unit_command_rebuild = Unit Command: Rebuild -keybind.unit_command_assist = Unit Command: Assist -keybind.unit_command_mine = Unit Command: Mine -keybind.unit_command_boost = Unit Command: Boost -keybind.unit_command_load_units = Unit Command: Load Units -keybind.unit_command_load_blocks = Unit Command: Load Blocks -keybind.unit_command_unload_payload = Unit Command: Unload Payload +keybind.unit_command_move.name = Unit Command: Move +keybind.unit_command_repair.name = Unit Command: Repair +keybind.unit_command_rebuild.name = Unit Command: Rebuild +keybind.unit_command_assist.name = Unit Command: Assist +keybind.unit_command_mine.name = Unit Command: Mine +keybind.unit_command_boost.name = Unit Command: Boost +keybind.unit_command_load_units.name = Unit Command: Load Units +keybind.unit_command_load_blocks.name = Unit Command: Load Blocks +keybind.unit_command_unload_payload.name = Unit Command: Unload Payload +keybind.unit_command_enter_payload.name = Unit Command: Enter Payload keybind.rebuild_select.name = Alanı Geri İşaa Et keybind.schematic_select.name = Bölge Seç keybind.schematic_menu.name = Şema Menüsü diff --git a/core/assets/bundles/bundle_uk_UA.properties b/core/assets/bundles/bundle_uk_UA.properties index 6b0e45de61..6f94bbdf57 100644 --- a/core/assets/bundles/bundle_uk_UA.properties +++ b/core/assets/bundles/bundle_uk_UA.properties @@ -683,6 +683,7 @@ marker.shape.name = Форма marker.text.name = Текст marker.line.name = Line marker.quad.name = Quad +marker.texture.name = Texture marker.background = Фон marker.outline = Контур @@ -1228,15 +1229,16 @@ keybind.unit_stance_hold_fire.name = Unit Stance: Hold Fire keybind.unit_stance_pursue_target.name = Unit Stance: Pursue Target keybind.unit_stance_patrol.name = Unit Stance: Patrol keybind.unit_stance_ram.name = Unit Stance: Ram -keybind.unit_command_move = Unit Command: Move -keybind.unit_command_repair = Unit Command: Repair -keybind.unit_command_rebuild = Unit Command: Rebuild -keybind.unit_command_assist = Unit Command: Assist -keybind.unit_command_mine = Unit Command: Mine -keybind.unit_command_boost = Unit Command: Boost -keybind.unit_command_load_units = Unit Command: Load Units -keybind.unit_command_load_blocks = Unit Command: Load Blocks -keybind.unit_command_unload_payload = Unit Command: Unload Payload +keybind.unit_command_move.name = Unit Command: Move +keybind.unit_command_repair.name = Unit Command: Repair +keybind.unit_command_rebuild.name = Unit Command: Rebuild +keybind.unit_command_assist.name = Unit Command: Assist +keybind.unit_command_mine.name = Unit Command: Mine +keybind.unit_command_boost.name = Unit Command: Boost +keybind.unit_command_load_units.name = Unit Command: Load Units +keybind.unit_command_load_blocks.name = Unit Command: Load Blocks +keybind.unit_command_unload_payload.name = Unit Command: Unload Payload +keybind.unit_command_enter_payload.name = Unit Command: Enter Payload keybind.rebuild_select.name = Відбудувати регіон keybind.schematic_select.name = Вибрати ділянку keybind.schematic_menu.name = Меню схем diff --git a/core/assets/bundles/bundle_vi.properties b/core/assets/bundles/bundle_vi.properties index 59ff78b06e..931daa4dd9 100644 --- a/core/assets/bundles/bundle_vi.properties +++ b/core/assets/bundles/bundle_vi.properties @@ -679,6 +679,7 @@ marker.shape.name = Hình dạng marker.text.name = Văn bản marker.line.name = Đường kẻ marker.quad.name = Bốn điểm +marker.texture.name = Texture marker.background = Nền marker.outline = Đường viền objective.research = [accent]Nghiên cứu:\n[]{0}[lightgray]{1} @@ -1221,15 +1222,16 @@ keybind.unit_stance_hold_fire.name = Tư thế đơn vị: Ngừng bắn keybind.unit_stance_pursue_target.name = Tư thế đơn vị: Bám đuổi mục tiêu keybind.unit_stance_patrol.name = Tư thế đơn vị: Tuần tra keybind.unit_stance_ram.name = Tư thế đơn vị: Tông thẳng -keybind.unit_command_move = Mệnh lệnh đơn vị: Di chuyển -keybind.unit_command_repair = Mệnh lệnh đơn vị: Sửa chữa -keybind.unit_command_rebuild = Mệnh lệnh đơn vị: Xây lại -keybind.unit_command_assist = Mệnh lệnh đơn vị: Hỗ trợ -keybind.unit_command_mine = Mệnh lệnh đơn vị: Khai thác -keybind.unit_command_boost = Mệnh lệnh đơn vị: Tăng cường l -keybind.unit_command_load_units = Mệnh lệnh đơn vị: Nhập đơn vị -keybind.unit_command_load_blocks = Mệnh lệnh đơn vị: Nhập khối công trình -keybind.unit_command_unload_payload = Mệnh lệnh đơn vị: Dỡ khối hàng +keybind.unit_command_move.name = Unit Command: Move +keybind.unit_command_repair.name = Unit Command: Repair +keybind.unit_command_rebuild.name = Unit Command: Rebuild +keybind.unit_command_assist.name = Unit Command: Assist +keybind.unit_command_mine.name = Unit Command: Mine +keybind.unit_command_boost.name = Unit Command: Boost +keybind.unit_command_load_units.name = Unit Command: Load Units +keybind.unit_command_load_blocks.name = Unit Command: Load Blocks +keybind.unit_command_unload_payload.name = Unit Command: Unload Payload +keybind.unit_command_enter_payload.name = Unit Command: Enter Payload keybind.rebuild_select.name = Chọn khu vực xây dựng lại keybind.schematic_select.name = Chọn khu vực keybind.schematic_menu.name = Menu bản thiết kế diff --git a/core/assets/bundles/bundle_zh_CN.properties b/core/assets/bundles/bundle_zh_CN.properties index 4044a20dbc..7386027dfa 100644 --- a/core/assets/bundles/bundle_zh_CN.properties +++ b/core/assets/bundles/bundle_zh_CN.properties @@ -684,6 +684,7 @@ marker.shape.name = 形状 marker.text.name = 文本 marker.line.name = 线 marker.quad.name = 四边形 +marker.texture.name = Texture marker.background = 背景 marker.outline = 轮廓 @@ -1230,15 +1231,16 @@ keybind.unit_stance_hold_fire.name = 单位姿态:停火 keybind.unit_stance_pursue_target.name = 单位姿态:追逐目标 keybind.unit_stance_patrol.name = 单位姿态:巡逻 keybind.unit_stance_ram.name = 单位姿态:冲锋 -keybind.unit_command_move = 单位指挥:移动 -keybind.unit_command_repair = 单位指挥:修复 -keybind.unit_command_rebuild = 单位指挥:重建 -keybind.unit_command_assist = 单位指挥:协助 -keybind.unit_command_mine = 单位指挥:采矿 -keybind.unit_command_boost = 单位指挥:助推 -keybind.unit_command_load_units = 单位指挥:拾取单位 -keybind.unit_command_load_blocks = 单位指挥:拾取建筑 -keybind.unit_command_unload_payload = 单位指挥:卸载载荷 +keybind.unit_command_move.name = Unit Command: Move +keybind.unit_command_repair.name = Unit Command: Repair +keybind.unit_command_rebuild.name = Unit Command: Rebuild +keybind.unit_command_assist.name = Unit Command: Assist +keybind.unit_command_mine.name = Unit Command: Mine +keybind.unit_command_boost.name = Unit Command: Boost +keybind.unit_command_load_units.name = Unit Command: Load Units +keybind.unit_command_load_blocks.name = Unit Command: Load Blocks +keybind.unit_command_unload_payload.name = Unit Command: Unload Payload +keybind.unit_command_enter_payload.name = Unit Command: Enter Payload keybind.rebuild_select.name = 重建建筑 keybind.schematic_select.name = 框选建筑 keybind.schematic_menu.name = 蓝图目录 diff --git a/core/assets/bundles/bundle_zh_TW.properties b/core/assets/bundles/bundle_zh_TW.properties index 35cbef4819..85afd5a50f 100644 --- a/core/assets/bundles/bundle_zh_TW.properties +++ b/core/assets/bundles/bundle_zh_TW.properties @@ -681,6 +681,7 @@ marker.shape.name = 稜框標示 marker.text.name = 文字標示 marker.line.name = Line marker.quad.name = Quad +marker.texture.name = Texture marker.background = 反黑背景 marker.outline = 描邊 @@ -1225,15 +1226,16 @@ keybind.unit_stance_hold_fire.name = Unit Stance: Hold Fire keybind.unit_stance_pursue_target.name = Unit Stance: Pursue Target keybind.unit_stance_patrol.name = Unit Stance: Patrol keybind.unit_stance_ram.name = Unit Stance: Ram -keybind.unit_command_move = Unit Command: Move -keybind.unit_command_repair = Unit Command: Repair -keybind.unit_command_rebuild = Unit Command: Rebuild -keybind.unit_command_assist = Unit Command: Assist -keybind.unit_command_mine = Unit Command: Mine -keybind.unit_command_boost = Unit Command: Boost -keybind.unit_command_load_units = Unit Command: Load Units -keybind.unit_command_load_blocks = Unit Command: Load Blocks -keybind.unit_command_unload_payload = Unit Command: Unload Payload +keybind.unit_command_move.name = Unit Command: Move +keybind.unit_command_repair.name = Unit Command: Repair +keybind.unit_command_rebuild.name = Unit Command: Rebuild +keybind.unit_command_assist.name = Unit Command: Assist +keybind.unit_command_mine.name = Unit Command: Mine +keybind.unit_command_boost.name = Unit Command: Boost +keybind.unit_command_load_units.name = Unit Command: Load Units +keybind.unit_command_load_blocks.name = Unit Command: Load Blocks +keybind.unit_command_unload_payload.name = Unit Command: Unload Payload +keybind.unit_command_enter_payload.name = Unit Command: Enter Payload keybind.rebuild_select.name = Rebuild Region keybind.schematic_select.name = 選擇區域 keybind.schematic_menu.name = 藍圖目錄 From ad0d0a7e993e1242db78eba0e59b1df6373dc75c Mon Sep 17 00:00:00 2001 From: Anuken Date: Mon, 8 Apr 2024 12:22:32 -0400 Subject: [PATCH 79/89] Additional construction fixes --- .../world/blocks/ConstructBlock.java | 23 ++++++++++++------- 1 file changed, 15 insertions(+), 8 deletions(-) diff --git a/core/src/mindustry/world/blocks/ConstructBlock.java b/core/src/mindustry/world/blocks/ConstructBlock.java index 15553854a9..1b34d2d994 100644 --- a/core/src/mindustry/world/blocks/ConstructBlock.java +++ b/core/src/mindustry/world/blocks/ConstructBlock.java @@ -341,7 +341,7 @@ public class ConstructBlock extends Block{ int accepting = Math.min(accumulated, core.storageCapacity - core.items.get(requirements[i].item)); //transfer items directly, as this is not production. core.items.add(requirements[i].item, accepting); - itemsLeft[i] -= accepting; + itemsLeft[i] += accepting; accumulator[i] -= accepting; }else{ accumulator[i] -= accumulated; @@ -355,8 +355,11 @@ public class ConstructBlock extends Block{ //add any leftover items that weren't obtained due to rounding errors if(core != null){ for(int i = 0; i < itemsLeft.length; i++){ - core.items.add(current.requirements[i].item, Mathf.clamp(itemsLeft[i], 0, core.storageCapacity - core.items.get(current.requirements[i].item))); - itemsLeft[i] = 0; + int target = Mathf.round(requirements[i].amount * state.rules.buildCostMultiplier * state.rules.deconstructRefundMultiplier); + int remaining = target - itemsLeft[i]; + + core.items.add(current.requirements[i].item, Mathf.clamp(remaining, 0, core.storageCapacity - core.items.get(current.requirements[i].item))); + itemsLeft[i] = target; } } @@ -439,14 +442,14 @@ public class ConstructBlock extends Block{ this.itemsLeft = new int[previous.requirements.length]; this.accumulator = new float[previous.requirements.length]; this.totalAccumulator = new float[previous.requirements.length]; - - ItemStack[] requirements = current.requirements; - for(int i = 0; i < requirements.length; i++){ - this.itemsLeft[i] = Mathf.round(requirements[i].amount * state.rules.buildCostMultiplier * state.rules.deconstructRefundMultiplier); - } pathfinder.updateTile(tile); } + @Override + public byte version(){ + return 1; + } + @Override public void write(Writes write){ super.write(write); @@ -461,6 +464,7 @@ public class ConstructBlock extends Block{ for(int i = 0; i < accumulator.length; i++){ write.f(accumulator[i]); write.f(totalAccumulator[i]); + write.i(itemsLeft[i]); } } } @@ -479,6 +483,9 @@ public class ConstructBlock extends Block{ for(int i = 0; i < acsize; i++){ accumulator[i] = read.f(); totalAccumulator[i] = read.f(); + if(revision >= 1){ + itemsLeft[i] = read.i(); + } } } From 6b7260250af7513ecf429b7cd009f09e018e409f Mon Sep 17 00:00:00 2001 From: Anuken Date: Mon, 8 Apr 2024 19:07:58 -0400 Subject: [PATCH 80/89] Fixed #9728 --- core/src/mindustry/graphics/Trail.java | 2 +- core/src/mindustry/world/blocks/ConstructBlock.java | 7 ++++--- 2 files changed, 5 insertions(+), 4 deletions(-) diff --git a/core/src/mindustry/graphics/Trail.java b/core/src/mindustry/graphics/Trail.java index 426f7215b3..f77a31fd31 100644 --- a/core/src/mindustry/graphics/Trail.java +++ b/core/src/mindustry/graphics/Trail.java @@ -66,7 +66,7 @@ public class Trail{ y2 = items[i + 4]; w2 = items[i + 5]; - if(i == 0){ + if(i == 0 && points.size >= (length - 1) * 3){ x1 = Mathf.lerp(x1, x2, counter); y1 = Mathf.lerp(y1, y2, counter); w1 = Mathf.lerp(w1, w2, counter); diff --git a/core/src/mindustry/world/blocks/ConstructBlock.java b/core/src/mindustry/world/blocks/ConstructBlock.java index 1b34d2d994..796c7369bd 100644 --- a/core/src/mindustry/world/blocks/ConstructBlock.java +++ b/core/src/mindustry/world/blocks/ConstructBlock.java @@ -164,9 +164,9 @@ public class ConstructBlock extends Block{ public boolean wasConstructing, activeDeconstruct; public float constructColor; - private float[] accumulator; - private float[] totalAccumulator; - private int[] itemsLeft; + private @Nullable float[] accumulator; + private @Nullable float[] totalAccumulator; + private @Nullable int[] itemsLeft; @Override public String getDisplayName(){ @@ -480,6 +480,7 @@ public class ConstructBlock extends Block{ if(acsize != -1){ accumulator = new float[acsize]; totalAccumulator = new float[acsize]; + itemsLeft = new int[acsize]; for(int i = 0; i < acsize; i++){ accumulator[i] = read.f(); totalAccumulator[i] = read.f(); From e8e8189a9239bc338420c93e4f35b24be33648be Mon Sep 17 00:00:00 2001 From: Redstonneur1256 Date: Tue, 9 Apr 2024 01:51:50 +0200 Subject: [PATCH 81/89] Add ShapeMarker starting and ending angles (#9729) --- core/src/mindustry/game/MapObjectives.java | 14 ++++++++++---- core/src/mindustry/logic/LMarkerControl.java | 1 + gradle.properties | 2 +- 3 files changed, 12 insertions(+), 5 deletions(-) diff --git a/core/src/mindustry/game/MapObjectives.java b/core/src/mindustry/game/MapObjectives.java index fe7a3b235d..d1ba8ffbc6 100644 --- a/core/src/mindustry/game/MapObjectives.java +++ b/core/src/mindustry/game/MapObjectives.java @@ -851,7 +851,7 @@ public class MapObjectives implements Iterable, Eachable, Eachable, Eachable rotation = (float)p1; case color -> color.fromDouble(p1); case shape -> sides = (int)p1; + case arc -> startAngle = (float)p1; } } if(!Double.isNaN(p2)){ switch(type){ case shape -> fill = !Mathf.equal((float)p2, 0f); + case arc -> endAngle = (float)p2; } } diff --git a/core/src/mindustry/logic/LMarkerControl.java b/core/src/mindustry/logic/LMarkerControl.java index 16a9aaa9c6..c24775af02 100644 --- a/core/src/mindustry/logic/LMarkerControl.java +++ b/core/src/mindustry/logic/LMarkerControl.java @@ -13,6 +13,7 @@ public enum LMarkerControl{ stroke("stroke"), rotation("rotation"), shape("sides", "fill", "outline"), + arc("start", "end"), flushText("fetch"), fontSize("size"), textHeight("height"), diff --git a/gradle.properties b/gradle.properties index e3a8642e0a..25be0e37a2 100644 --- a/gradle.properties +++ b/gradle.properties @@ -25,4 +25,4 @@ org.gradle.caching=true #used for slow jitpack builds; TODO see if this actually works org.gradle.internal.http.socketTimeout=100000 org.gradle.internal.http.connectionTimeout=100000 -archash=8b6f34c036 +archash=8a2decd656 From ddb8783c7d33851bf721b1aef20189319e5cbc6c Mon Sep 17 00:00:00 2001 From: Anuken Date: Mon, 8 Apr 2024 20:05:03 -0400 Subject: [PATCH 82/89] White region is now 1x1 --- core/assets-raw/sprites/effects/white.png | Bin 71 -> 81 bytes 1 file changed, 0 insertions(+), 0 deletions(-) diff --git a/core/assets-raw/sprites/effects/white.png b/core/assets-raw/sprites/effects/white.png index ba9bf827c1f3fd6fc95544f0d9c34f0ffc29a2ec..e8b825eae04d68ecdc8bc6003f5880024eb09320 100644 GIT binary patch literal 81 zcmeAS@N?(olHy`uVBq!ia0y~yU|GZx^prw85kJ2JzX3_ gIA$jQ;Adgr{LTFLapzopr0B8dfHvj+t literal 71 zcmeAS@N?(olHy`uVBq!ia0y~yU|}1|LA9tC@5ms Y-L8DMZ{jL11_lNOPgg&ebxsLQ0QJBTl>h($ From 17913f8949e973717a585dcd8e082f7addf88a12 Mon Sep 17 00:00:00 2001 From: MEEPofFaith <54301439+MEEPofFaith@users.noreply.github.com> Date: Tue, 9 Apr 2024 07:52:41 -0700 Subject: [PATCH 83/89] Run applyColor before drawing unit parts (#9547) * Run applyColor before drawing unit parts * Run applyColor before drawing weapon parts --- core/src/mindustry/type/UnitType.java | 1 + core/src/mindustry/type/Weapon.java | 2 ++ 2 files changed, 3 insertions(+) diff --git a/core/src/mindustry/type/UnitType.java b/core/src/mindustry/type/UnitType.java index d7dfcf16fe..b9f7ecd089 100644 --- a/core/src/mindustry/type/UnitType.java +++ b/core/src/mindustry/type/UnitType.java @@ -1270,6 +1270,7 @@ public class UnitType extends UnlockableContent implements Senseable{ DrawPart.params.life = s.fin(); } + applyColor(unit); part.draw(DrawPart.params); } } diff --git a/core/src/mindustry/type/Weapon.java b/core/src/mindustry/type/Weapon.java index 151a0f69ee..d67a1ca032 100644 --- a/core/src/mindustry/type/Weapon.java +++ b/core/src/mindustry/type/Weapon.java @@ -228,6 +228,7 @@ public class Weapon implements Cloneable{ var part = parts.get(i); DrawPart.params.setRecoil(part.recoilIndex >= 0 && mount.recoils != null ? mount.recoils[part.recoilIndex] : mount.recoil); if(part.under){ + unit.type.applyColor(unit); part.draw(DrawPart.params); } } @@ -262,6 +263,7 @@ public class Weapon implements Cloneable{ var part = parts.get(i); DrawPart.params.setRecoil(part.recoilIndex >= 0 && mount.recoils != null ? mount.recoils[part.recoilIndex] : mount.recoil); if(!part.under){ + unit.type.applyColor(unit); part.draw(DrawPart.params); } } From fd303524e9aed8759a9f683ab99df2aa872a0aea Mon Sep 17 00:00:00 2001 From: MEEPofFaith <54301439+MEEPofFaith@users.noreply.github.com> Date: Tue, 9 Apr 2024 08:16:49 -0700 Subject: [PATCH 84/89] #9706 done smarter (#9723) * Convert from explicit check to interface * Apply the interface to other turret-like blocks --- core/src/mindustry/entities/comp/ChildComp.java | 16 ++++++++-------- core/src/mindustry/world/blocks/RotBlock.java | 6 ++++++ .../world/blocks/defense/BuildTurret.java | 7 ++++++- .../world/blocks/defense/turrets/BaseTurret.java | 8 +++++++- .../world/blocks/distribution/MassDriver.java | 8 +++++++- .../world/blocks/payloads/PayloadMassDriver.java | 8 +++++++- .../world/blocks/units/RepairTurret.java | 8 +++++++- 7 files changed, 48 insertions(+), 13 deletions(-) create mode 100644 core/src/mindustry/world/blocks/RotBlock.java diff --git a/core/src/mindustry/entities/comp/ChildComp.java b/core/src/mindustry/entities/comp/ChildComp.java index 03465fbf78..2ae553480f 100644 --- a/core/src/mindustry/entities/comp/ChildComp.java +++ b/core/src/mindustry/entities/comp/ChildComp.java @@ -4,7 +4,7 @@ import arc.math.*; import arc.util.*; import mindustry.annotations.Annotations.*; import mindustry.gen.*; -import mindustry.world.blocks.defense.turrets.BaseTurret.*; +import mindustry.world.blocks.*; @Component abstract class ChildComp implements Posc, Rotc{ @@ -23,9 +23,9 @@ abstract class ChildComp implements Posc, Rotc{ if(parent instanceof Rotc r){ offsetPos = -r.rotation(); offsetRot = rotation - r.rotation(); - }else if(parent instanceof BaseTurretBuild build){ - offsetPos = -build.rotation; - offsetRot = rotation - build.rotation; + }else if(parent instanceof RotBlock rot){ + offsetPos = -rot.buildRotation(); + offsetRot = rotation - rot.buildRotation(); } } } @@ -39,10 +39,10 @@ abstract class ChildComp implements Posc, Rotc{ x = parent.getX() + Angles.trnsx(r.rotation() + offsetPos, offsetX, offsetY); y = parent.getY() + Angles.trnsy(r.rotation() + offsetPos, offsetX, offsetY); rotation = r.rotation() + offsetRot; - }else if(parent instanceof BaseTurretBuild build){ - x = parent.getX() + Angles.trnsx(build.rotation + offsetPos, offsetX, offsetY); - y = parent.getY() + Angles.trnsy(build.rotation + offsetPos, offsetX, offsetY); - rotation = build.rotation + offsetRot; + }else if(parent instanceof RotBlock rot){ + x = parent.getX() + Angles.trnsx(rot.buildRotation() + offsetPos, offsetX, offsetY); + y = parent.getY() + Angles.trnsy(rot.buildRotation() + offsetPos, offsetX, offsetY); + rotation = rot.buildRotation() + offsetRot; } }else{ x = parent.getX() + offsetX; diff --git a/core/src/mindustry/world/blocks/RotBlock.java b/core/src/mindustry/world/blocks/RotBlock.java new file mode 100644 index 0000000000..470b9dd43a --- /dev/null +++ b/core/src/mindustry/world/blocks/RotBlock.java @@ -0,0 +1,6 @@ +package mindustry.world.blocks; + +/** Any block that has 360-degree rotation */ +public interface RotBlock{ + float buildRotation(); +} diff --git a/core/src/mindustry/world/blocks/defense/BuildTurret.java b/core/src/mindustry/world/blocks/defense/BuildTurret.java index 9dfaca633f..10330650ac 100644 --- a/core/src/mindustry/world/blocks/defense/BuildTurret.java +++ b/core/src/mindustry/world/blocks/defense/BuildTurret.java @@ -77,7 +77,7 @@ public class BuildTurret extends BaseTurret{ return new TextureRegion[]{baseRegion, region}; } - public class BuildTurretBuild extends BaseTurretBuild implements ControlBlock{ + public class BuildTurretBuild extends BaseTurretBuild implements ControlBlock, RotBlock{ public BlockUnitc unit = (BlockUnitc)unitType.create(team); public @Nullable Unit following; public @Nullable BlockPlan lastPlan; @@ -92,6 +92,11 @@ public class BuildTurret extends BaseTurret{ return true; } + @Override + public float buildRotation(){ + return unit.rotation(); + } + @Override public Unit unit(){ //make sure stats are correct diff --git a/core/src/mindustry/world/blocks/defense/turrets/BaseTurret.java b/core/src/mindustry/world/blocks/defense/turrets/BaseTurret.java index a959c00ba2..dbe7794611 100644 --- a/core/src/mindustry/world/blocks/defense/turrets/BaseTurret.java +++ b/core/src/mindustry/world/blocks/defense/turrets/BaseTurret.java @@ -9,6 +9,7 @@ import mindustry.gen.*; import mindustry.graphics.*; import mindustry.logic.*; import mindustry.world.*; +import mindustry.world.blocks.*; import mindustry.world.consumers.*; import mindustry.world.meta.*; @@ -79,7 +80,7 @@ public class BaseTurret extends Block{ stats.add(Stat.shootRange, range / tilesize, StatUnit.blocks); } - public class BaseTurretBuild extends Building implements Ranged{ + public class BaseTurretBuild extends Building implements Ranged, RotBlock{ public float rotation = 90; @Override @@ -87,6 +88,11 @@ public class BaseTurret extends Block{ return range; } + @Override + public float buildRotation(){ + return rotation; + } + @Override public void drawSelect(){ Drawf.dashCircle(x, y, range(), team.color); diff --git a/core/src/mindustry/world/blocks/distribution/MassDriver.java b/core/src/mindustry/world/blocks/distribution/MassDriver.java index 6366419242..7fc0d5f0ec 100644 --- a/core/src/mindustry/world/blocks/distribution/MassDriver.java +++ b/core/src/mindustry/world/blocks/distribution/MassDriver.java @@ -18,6 +18,7 @@ import mindustry.graphics.*; import mindustry.logic.*; import mindustry.type.*; import mindustry.world.*; +import mindustry.world.blocks.*; import mindustry.world.meta.*; import static mindustry.Vars.*; @@ -104,7 +105,7 @@ public class MassDriver extends Block{ } } - public class MassDriverBuild extends Building{ + public class MassDriverBuild extends Building implements RotBlock{ public int link = -1; public float rotation = 90; public float reloadCounter = 0f; @@ -112,6 +113,11 @@ public class MassDriver extends Block{ //TODO use queue? this array usually holds about 3 shooters max anyway public OrderedSet waitingShooters = new OrderedSet<>(); + @Override + public float buildRotation(){ + return rotation; + } + public Building currentShooter(){ return waitingShooters.isEmpty() ? null : waitingShooters.first(); } diff --git a/core/src/mindustry/world/blocks/payloads/PayloadMassDriver.java b/core/src/mindustry/world/blocks/payloads/PayloadMassDriver.java index 314e77d5f7..0b3efc09c9 100644 --- a/core/src/mindustry/world/blocks/payloads/PayloadMassDriver.java +++ b/core/src/mindustry/world/blocks/payloads/PayloadMassDriver.java @@ -14,6 +14,7 @@ import mindustry.entities.units.*; import mindustry.gen.*; import mindustry.graphics.*; import mindustry.logic.*; +import mindustry.world.blocks.*; import mindustry.world.meta.*; import static mindustry.Vars.*; @@ -126,7 +127,7 @@ public class PayloadMassDriver extends PayloadBlock{ return new TextureRegion[]{leftRegion, rightRegion, capRegion}; } - public class PayloadDriverBuild extends PayloadBlockBuild{ + public class PayloadDriverBuild extends PayloadBlockBuild implements RotBlock{ public int link = -1; public float turretRotation = 90; public float reloadCounter = 0f, charge = 0f; @@ -143,6 +144,11 @@ public class PayloadMassDriver extends PayloadBlock{ return waitingShooters.isEmpty() ? null : waitingShooters.first(); } + @Override + public float buildRotation(){ + return rotation; + } + @Override public void updateTile(){ super.updateTile(); diff --git a/core/src/mindustry/world/blocks/units/RepairTurret.java b/core/src/mindustry/world/blocks/units/RepairTurret.java index 87624efb84..86b29c79a4 100644 --- a/core/src/mindustry/world/blocks/units/RepairTurret.java +++ b/core/src/mindustry/world/blocks/units/RepairTurret.java @@ -16,6 +16,7 @@ import mindustry.gen.*; import mindustry.graphics.*; import mindustry.logic.*; import mindustry.world.*; +import mindustry.world.blocks.*; import mindustry.world.consumers.*; import mindustry.world.meta.*; @@ -147,11 +148,16 @@ public class RepairTurret extends Block{ } } - public class RepairPointBuild extends Building implements Ranged{ + public class RepairPointBuild extends Building implements Ranged, RotBlock{ public Unit target; public Vec2 offset = new Vec2(), lastEnd = new Vec2(); public float strength, rotation = 90; + @Override + public float buildRotation(){ + return rotation; + } + @Override public void draw(){ Draw.rect(baseRegion, x, y); From e280edac67d0b5e36a027a2dd61a123e14ec5b89 Mon Sep 17 00:00:00 2001 From: Anuken Date: Wed, 10 Apr 2024 15:31:09 -0400 Subject: [PATCH 85/89] Fixed #9731 --- core/src/mindustry/content/Blocks.java | 3 +++ core/src/mindustry/entities/Puddles.java | 2 +- core/src/mindustry/entities/comp/PuddleComp.java | 1 + core/src/mindustry/ui/fragments/HintsFragment.java | 4 +++- .../world/blocks/distribution/StackConveyor.java | 7 +++++++ .../world/blocks/payloads/PayloadLoader.java | 12 +++++++++++- .../mindustry/world/blocks/sandbox/LiquidVoid.java | 6 ++++++ 7 files changed, 32 insertions(+), 3 deletions(-) diff --git a/core/src/mindustry/content/Blocks.java b/core/src/mindustry/content/Blocks.java index 08eb582a78..2e3d58b840 100644 --- a/core/src/mindustry/content/Blocks.java +++ b/core/src/mindustry/content/Blocks.java @@ -2782,6 +2782,7 @@ public class Blocks{ ambientSoundVolume = 0.06f; hasLiquids = true; boostScale = 1f / 9f; + itemCapacity = 0; outputLiquid = new LiquidStack(Liquids.water, 30f / 60f); consumePower(0.5f); liquidCapacity = 60f; @@ -5791,6 +5792,8 @@ public class Blocks{ heatOutput = 1000f; warmupRate = 1000f; regionRotated1 = 1; + itemCapacity = 0; + alwaysUnlocked = false; ambientSound = Sounds.none; }}; diff --git a/core/src/mindustry/entities/Puddles.java b/core/src/mindustry/entities/Puddles.java index ec546882b4..7c3a555154 100644 --- a/core/src/mindustry/entities/Puddles.java +++ b/core/src/mindustry/entities/Puddles.java @@ -74,7 +74,7 @@ public class Puddles{ Puddle puddle = Puddle.create(); puddle.tile = tile; puddle.liquid = liquid; - puddle.amount = amount; + puddle.amount = Math.min(amount, maxLiquid); puddle.set(ax, ay); register(puddle); puddle.add(); diff --git a/core/src/mindustry/entities/comp/PuddleComp.java b/core/src/mindustry/entities/comp/PuddleComp.java index 090a881060..a46bf01c32 100644 --- a/core/src/mindustry/entities/comp/PuddleComp.java +++ b/core/src/mindustry/entities/comp/PuddleComp.java @@ -59,6 +59,7 @@ abstract class PuddleComp implements Posc, Puddlec, Drawc, Syncc{ amount -= Time.delta * (1f - liquid.viscosity) / (5f + addSpeed); amount += accepting; + amount = Math.min(amount, maxLiquid); accepting = 0f; if(amount >= maxLiquid / 1.5f){ diff --git a/core/src/mindustry/ui/fragments/HintsFragment.java b/core/src/mindustry/ui/fragments/HintsFragment.java index 2595fbb041..75528b9923 100644 --- a/core/src/mindustry/ui/fragments/HintsFragment.java +++ b/core/src/mindustry/ui/fragments/HintsFragment.java @@ -11,6 +11,7 @@ import arc.scene.ui.layout.*; import arc.struct.*; import arc.util.*; import mindustry.*; +import mindustry.ai.types.*; import mindustry.content.*; import mindustry.game.EventType.*; import mindustry.game.*; @@ -169,7 +170,8 @@ public class HintsFragment{ depositItems(() -> player.unit().hasItem(), () -> !player.unit().hasItem()), desktopPause(visibleDesktop, () -> isTutorial.get() && !Vars.net.active() && state.wave >= 2, () -> Core.input.keyTap(Binding.pause)), unitControl(() -> isSerpulo() && state.rules.defaultTeam.data().units.size > 2 && !net.active() && !player.dead(), () -> !player.dead() && !player.unit().spawnedByCore), - unitSelectControl(() -> isSerpulo() && state.rules.defaultTeam.data().units.size > 3 && !net.active() && !player.dead(), () -> control.input.commandMode && control.input.selectedUnits.size > 0), + unitSelectControl(() -> isSerpulo() && state.rules.defaultTeam.data().units.size > 3 && !net.active() && !player.dead(), + () -> control.input.commandMode && control.input.selectedUnits.size > 0 && control.input.selectedUnits.first().controller() instanceof CommandAI ai && ai.targetPos != null), respawn(visibleMobile, () -> !player.dead() && !player.unit().spawnedByCore, () -> !player.dead() && player.unit().spawnedByCore), launch(() -> (isTutorial.get() || Vars.state.rules.sector == SectorPresets.onset.sector) && state.rules.sector.isCaptured(), () -> ui.planet.isShown()), schematicSelect(visibleDesktop, () -> ui.hints.placedBlocks.contains(Blocks.router) || ui.hints.placedBlocks.contains(Blocks.ductRouter), () -> Core.input.keyRelease(Binding.schematic_select) || Core.input.keyTap(Binding.pick)), diff --git a/core/src/mindustry/world/blocks/distribution/StackConveyor.java b/core/src/mindustry/world/blocks/distribution/StackConveyor.java index e107b08a67..357c3f8705 100644 --- a/core/src/mindustry/world/blocks/distribution/StackConveyor.java +++ b/core/src/mindustry/world/blocks/distribution/StackConveyor.java @@ -189,6 +189,13 @@ public class StackConveyor extends Block implements Autotiler{ Draw.rect(lastItem.fullIcon, Tmp.v1.x, Tmp.v1.y, size, size, 0); } + @Override + public void dropped(){ + super.dropped(); + var prev = Geometry.d4[(rotation + 2) % 4]; + link = Point2.pack(tile.x + prev.x, tile.y + prev.y); + } + @Override public void drawCracks(){ Draw.z(Layer.block - 0.15f); diff --git a/core/src/mindustry/world/blocks/payloads/PayloadLoader.java b/core/src/mindustry/world/blocks/payloads/PayloadLoader.java index d323c69feb..67a01ba0a7 100644 --- a/core/src/mindustry/world/blocks/payloads/PayloadLoader.java +++ b/core/src/mindustry/world/blocks/payloads/PayloadLoader.java @@ -12,6 +12,7 @@ import mindustry.graphics.*; import mindustry.type.*; import mindustry.ui.*; import mindustry.world.blocks.payloads.PayloadUnloader.*; +import mindustry.world.blocks.sandbox.*; import static mindustry.Vars.*; @@ -152,6 +153,7 @@ public class PayloadLoader extends PayloadBlock{ //load up items if(payload.block().hasItems && items.any()){ + boolean acceptedAny = false; if(efficiency > 0.01f && timer(timerLoad, loadTime / efficiency)){ //load up items a set amount of times for(int j = 0; j < itemsLoaded && items.any(); j++){ @@ -162,6 +164,7 @@ public class PayloadLoader extends PayloadBlock{ if(payload.build.acceptItem(payload.build, item)){ payload.build.handleItem(payload.build, item); items.remove(item, 1); + acceptedAny = true; break; }else if(payload.block().separateItemCapacity || payload.block().consumesItem(item)){ exporting = true; @@ -171,6 +174,9 @@ public class PayloadLoader extends PayloadBlock{ } } } + if(!acceptedAny){ + exporting = true; + } } //load up liquids @@ -180,8 +186,12 @@ public class PayloadLoader extends PayloadBlock{ float flow = Math.min(Math.min(liquidsLoaded * edelta(), payload.block().liquidCapacity - payload.build.liquids.get(liq)), total); //TODO potential crash here if(payload.build.acceptLiquid(payload.build, liq)){ - payload.build.liquids.add(liq, flow); + if(!(payload.block() instanceof LiquidVoid)){ + payload.build.liquids.add(liq, flow); + } liquids.remove(liq, flow); + }else{ + exporting = true; } } diff --git a/core/src/mindustry/world/blocks/sandbox/LiquidVoid.java b/core/src/mindustry/world/blocks/sandbox/LiquidVoid.java index ef2c62c341..bc6a56cfe8 100644 --- a/core/src/mindustry/world/blocks/sandbox/LiquidVoid.java +++ b/core/src/mindustry/world/blocks/sandbox/LiquidVoid.java @@ -24,6 +24,12 @@ public class LiquidVoid extends Block{ } public class LiquidVoidBuild extends Building{ + @Override + public void placed(){ + super.placed(); + liquids.clear(); + } + @Override public boolean acceptLiquid(Building source, Liquid liquid){ return enabled; From 43fba9b6478c7b020b7a54e01cf00990bdf006e2 Mon Sep 17 00:00:00 2001 From: Anuken Date: Wed, 10 Apr 2024 16:26:08 -0400 Subject: [PATCH 86/89] typo --- core/src/mindustry/content/Blocks.java | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/core/src/mindustry/content/Blocks.java b/core/src/mindustry/content/Blocks.java index 2e3d58b840..0cda3f8d2c 100644 --- a/core/src/mindustry/content/Blocks.java +++ b/core/src/mindustry/content/Blocks.java @@ -5793,7 +5793,7 @@ public class Blocks{ warmupRate = 1000f; regionRotated1 = 1; itemCapacity = 0; - alwaysUnlocked = false; + alwaysUnlocked = true; ambientSound = Sounds.none; }}; From 24202dd20f21c12441f098681ed8befa7a02da26 Mon Sep 17 00:00:00 2001 From: Anuken Date: Wed, 10 Apr 2024 19:24:28 -0400 Subject: [PATCH 87/89] Fixed #9732 --- core/src/mindustry/content/Blocks.java | 2 ++ 1 file changed, 2 insertions(+) diff --git a/core/src/mindustry/content/Blocks.java b/core/src/mindustry/content/Blocks.java index 0cda3f8d2c..e70394c328 100644 --- a/core/src/mindustry/content/Blocks.java +++ b/core/src/mindustry/content/Blocks.java @@ -1181,6 +1181,7 @@ public class Blocks{ rotate = true; invertFlip = true; group = BlockGroup.liquids; + itemCapacity = 0; liquidCapacity = 50f; @@ -1231,6 +1232,7 @@ public class Blocks{ }}); researchCostMultiplier = 1.1f; + itemCapacity = 0; liquidCapacity = 40f; consumePower(2f); ambientSound = Sounds.extractLoop; From a8135aa042885ebbd415cd21a88bf52f1244d329 Mon Sep 17 00:00:00 2001 From: ApsZoldat <128713348+ApsZoldat@users.noreply.github.com> Date: Fri, 12 Apr 2024 00:56:34 +0300 Subject: [PATCH 88/89] Custom rules dialog enhancement, small fixes (#9665) * Rule categories and search in custom rules dialog * Fix wrong info about format placeholders in all unfinished locales * Rule search fix, rule info system, some stuff for easier rules dialog modding * Why not to fix what i can? --- core/assets/bundles/bundle.properties | 3 + core/assets/bundles/bundle_be.properties | 4 +- core/assets/bundles/bundle_bg.properties | 4 +- core/assets/bundles/bundle_ca.properties | 4 +- core/assets/bundles/bundle_cs.properties | 4 +- core/assets/bundles/bundle_da.properties | 4 +- core/assets/bundles/bundle_de.properties | 4 +- core/assets/bundles/bundle_es.properties | 4 +- core/assets/bundles/bundle_et.properties | 4 +- core/assets/bundles/bundle_eu.properties | 4 +- core/assets/bundles/bundle_fi.properties | 4 +- core/assets/bundles/bundle_fil.properties | 4 +- core/assets/bundles/bundle_fr.properties | 4 +- core/assets/bundles/bundle_id_ID.properties | 4 +- core/assets/bundles/bundle_it.properties | 4 +- core/assets/bundles/bundle_ja.properties | 4 +- core/assets/bundles/bundle_ko.properties | 4 +- core/assets/bundles/bundle_lt.properties | 4 +- core/assets/bundles/bundle_nl.properties | 4 +- core/assets/bundles/bundle_nl_BE.properties | 4 +- core/assets/bundles/bundle_pl.properties | 4 +- core/assets/bundles/bundle_pt_BR.properties | 4 +- core/assets/bundles/bundle_pt_PT.properties | 4 +- core/assets/bundles/bundle_ro.properties | 4 +- core/assets/bundles/bundle_ru.properties | 6 +- core/assets/bundles/bundle_sr.properties | 4 +- core/assets/bundles/bundle_sv.properties | 4 +- core/assets/bundles/bundle_th.properties | 4 +- core/assets/bundles/bundle_tk.properties | 4 +- core/assets/bundles/bundle_tr.properties | 4 +- core/assets/bundles/bundle_uk_UA.properties | 4 +- core/assets/bundles/bundle_vi.properties | 2 +- core/assets/bundles/bundle_zh_CN.properties | 4 +- core/assets/bundles/bundle_zh_TW.properties | 4 +- .../mindustry/editor/MapLocalesDialog.java | 1 - .../ui/dialogs/CustomRulesDialog.java | 235 ++++++++++++------ 36 files changed, 229 insertions(+), 142 deletions(-) diff --git a/core/assets/bundles/bundle.properties b/core/assets/bundles/bundle.properties index ef4cccb584..cbf4f022d1 100644 --- a/core/assets/bundles/bundle.properties +++ b/core/assets/bundles/bundle.properties @@ -1379,6 +1379,9 @@ rules.weather.frequency = Frequency: rules.weather.always = Always rules.weather.duration = Duration: +rules.placerangecheck.info = Prevents players from placing anything near enemy buildings. When trying to place a turret, the range is increased, so the turret will not be able to reach the enemy. +rules.onlydepositcore.info = Prevents units from depositing items into any buildings except cores. + content.item.name = Items content.liquid.name = Fluids content.unit.name = Units diff --git a/core/assets/bundles/bundle_be.properties b/core/assets/bundles/bundle_be.properties index 2a0e4c4e9e..2757457626 100644 --- a/core/assets/bundles/bundle_be.properties +++ b/core/assets/bundles/bundle_be.properties @@ -598,7 +598,7 @@ filter.option.floor2 = Другая паверхню filter.option.threshold2 = Другасны гранічны парог filter.option.radius = Радыус filter.option.percentile = Процентль -locales.info = Here, you can add locale bundles for specific languages to your map. In locale bundles, each property has a name and a value. These properties can be used by world processors and objectives using their names. They support text formatting (replacing placeholders with actual values).\n\n[cyan]Example property:\n[]name: [accent]timer[]\nvalue: [accent]Example timer, time left: @[]\n\n[cyan]Usage:\n[]Set it as objective's text: [accent]@timer\n\n[]Print it in a world processor:\n[accent]localeprint "timer"\nformat time\n[gray](where time is a separately calculated variable) +locales.info = Here, you can add locale bundles for specific languages to your map. In locale bundles, each property has a name and a value. These properties can be used by world processors and objectives using their names. They support text formatting (replacing placeholders with actual values).\n\n[cyan]Example property:\n[]name: [accent]timer[]\nvalue: [accent]Example timer, time left: {0}[]\n\n[cyan]Usage:\n[]Set it as objective's text: [accent]@timer\n\n[]Print it in a world processor:\n[accent]localeprint "timer"\nformat time\n[gray](where time is a separately calculated variable) locales.deletelocale = Are you sure you want to delete this locale bundle? locales.applytoall = Apply Changes To All Locales locales.addtoother = Add To Other Locales @@ -2273,7 +2273,7 @@ unit.emanate.description = Builds structures to defend the Acropolis core. Repai lst.read = Read a number from a linked memory cell. lst.write = Write a number to a linked memory cell. lst.print = Add text to the print buffer.\nDoes not display anything until [accent]Print Flush[] is used. -lst.format = Replace next placeholder ("[accent]@[]") in text buffer with a value.\nExample:\n[accent]print "test @"\nformat "example" +lst.format = Replace next placeholder in text buffer with a value.\nDoes not do anything if placeholder pattern is invalid.\nPlaceholder pattern: "{[accent]number 0-9[]}"\nExample:\n[accent]print "test {0}"\nformat "example" lst.draw = Add an operation to the drawing buffer.\nDoes not display anything until [accent]Draw Flush[] is used. lst.drawflush = Flush queued [accent]Draw[] operations to a display. lst.printflush = Flush queued [accent]Print[] operations to a message block. diff --git a/core/assets/bundles/bundle_bg.properties b/core/assets/bundles/bundle_bg.properties index 530c050bbd..08d2bd5893 100644 --- a/core/assets/bundles/bundle_bg.properties +++ b/core/assets/bundles/bundle_bg.properties @@ -604,7 +604,7 @@ filter.option.floor2 = Втори под filter.option.threshold2 = Втори праг filter.option.radius = Радиус filter.option.percentile = Перцентил -locales.info = Here, you can add locale bundles for specific languages to your map. In locale bundles, each property has a name and a value. These properties can be used by world processors and objectives using their names. They support text formatting (replacing placeholders with actual values).\n\n[cyan]Example property:\n[]name: [accent]timer[]\nvalue: [accent]Example timer, time left: @[]\n\n[cyan]Usage:\n[]Set it as objective's text: [accent]@timer\n\n[]Print it in a world processor:\n[accent]localeprint "timer"\nformat time\n[gray](where time is a separately calculated variable) +locales.info = Here, you can add locale bundles for specific languages to your map. In locale bundles, each property has a name and a value. These properties can be used by world processors and objectives using their names. They support text formatting (replacing placeholders with actual values).\n\n[cyan]Example property:\n[]name: [accent]timer[]\nvalue: [accent]Example timer, time left: {0}[]\n\n[cyan]Usage:\n[]Set it as objective's text: [accent]@timer\n\n[]Print it in a world processor:\n[accent]localeprint "timer"\nformat time\n[gray](where time is a separately calculated variable) locales.deletelocale = Are you sure you want to delete this locale bundle? locales.applytoall = Apply Changes To All Locales locales.addtoother = Add To Other Locales @@ -2287,7 +2287,7 @@ unit.emanate.description = Builds structures to defend the Acropolis core. Repai lst.read = Прочети число от свързано хранилище за памет. lst.write = Запиши число в свързано хранилище за памет. lst.print = Добави текст в буфера за изписване.\nНе визуализира нищо докато не използвате [accent]Print Flush[]. -lst.format = Replace next placeholder ("[accent]@[]") in text buffer with a value.\nExample:\n[accent]print "test @"\nformat "example" +lst.format = Replace next placeholder in text buffer with a value.\nDoes not do anything if placeholder pattern is invalid.\nPlaceholder pattern: "{[accent]number 0-9[]}"\nExample:\n[accent]print "test {0}"\nformat "example" lst.draw = Добавя операция в буфера за изображение.\nНе показва нищо докато не използвате [accent]Draw Flush[]. lst.drawflush = Изпълнява операции, поискани с команда [accent]Draw[] върху посочен дисплей. lst.printflush = Извежда текст натрупан с [accent]Print[] върху посочен блок за съобщение. diff --git a/core/assets/bundles/bundle_ca.properties b/core/assets/bundles/bundle_ca.properties index f7642061f9..bde7361028 100644 --- a/core/assets/bundles/bundle_ca.properties +++ b/core/assets/bundles/bundle_ca.properties @@ -607,7 +607,7 @@ filter.option.floor2 = Terra secundari filter.option.threshold2 = Llindar secundari filter.option.radius = Radi filter.option.percentile = Percentil -locales.info = Here, you can add locale bundles for specific languages to your map. In locale bundles, each property has a name and a value. These properties can be used by world processors and objectives using their names. They support text formatting (replacing placeholders with actual values).\n\n[cyan]Example property:\n[]name: [accent]timer[]\nvalue: [accent]Example timer, time left: @[]\n\n[cyan]Usage:\n[]Set it as objective's text: [accent]@timer\n\n[]Print it in a world processor:\n[accent]localeprint "timer"\nformat time\n[gray](where time is a separately calculated variable) +locales.info = Here, you can add locale bundles for specific languages to your map. In locale bundles, each property has a name and a value. These properties can be used by world processors and objectives using their names. They support text formatting (replacing placeholders with actual values).\n\n[cyan]Example property:\n[]name: [accent]timer[]\nvalue: [accent]Example timer, time left: {0}[]\n\n[cyan]Usage:\n[]Set it as objective's text: [accent]@timer\n\n[]Print it in a world processor:\n[accent]localeprint "timer"\nformat time\n[gray](where time is a separately calculated variable) locales.deletelocale = Are you sure you want to delete this locale bundle? locales.applytoall = Apply Changes To All Locales locales.addtoother = Add To Other Locales @@ -2297,7 +2297,7 @@ unit.emanate.description = Construeix estructures per defensar el nucli Acròpol lst.read = Llegeix un nombre des d’una cel·la de memòria connectada. lst.write = Escriu un nombre en una cel·la de memòria connectada. lst.print = Afegeix un text a la cua d’impressió.\nEl text no es mostrarà fins que s’apliqui «[accent]Print Flush[]». -lst.format = Replace next placeholder ("[accent]@[]") in text buffer with a value.\nExample:\n[accent]print "test @"\nformat "example" +lst.format = Replace next placeholder in text buffer with a value.\nDoes not do anything if placeholder pattern is invalid.\nPlaceholder pattern: "{[accent]number 0-9[]}"\nExample:\n[accent]print "test {0}"\nformat "example" lst.draw = Afegeix una instrucció de dibuix a la cua corresponent.\nEl resultat no es mostrarà fins que s’apliqui «[accent]Draw Flush[]». lst.drawflush = Executa les operacions de la cua de dibuix al monitor lògic. lst.printflush = Executa les operacions de la cua d’impressió al monitor lògic. diff --git a/core/assets/bundles/bundle_cs.properties b/core/assets/bundles/bundle_cs.properties index bd98459a70..acd90ddc68 100644 --- a/core/assets/bundles/bundle_cs.properties +++ b/core/assets/bundles/bundle_cs.properties @@ -606,7 +606,7 @@ filter.option.floor2 = Druhotný povrch filter.option.threshold2 = Druhotný práh filter.option.radius = Poloměr filter.option.percentile = Percentil -locales.info = Here, you can add locale bundles for specific languages to your map. In locale bundles, each property has a name and a value. These properties can be used by world processors and objectives using their names. They support text formatting (replacing placeholders with actual values).\n\n[cyan]Example property:\n[]name: [accent]timer[]\nvalue: [accent]Example timer, time left: @[]\n\n[cyan]Usage:\n[]Set it as objective's text: [accent]@timer\n\n[]Print it in a world processor:\n[accent]localeprint "timer"\nformat time\n[gray](where time is a separately calculated variable) +locales.info = Here, you can add locale bundles for specific languages to your map. In locale bundles, each property has a name and a value. These properties can be used by world processors and objectives using their names. They support text formatting (replacing placeholders with actual values).\n\n[cyan]Example property:\n[]name: [accent]timer[]\nvalue: [accent]Example timer, time left: {0}[]\n\n[cyan]Usage:\n[]Set it as objective's text: [accent]@timer\n\n[]Print it in a world processor:\n[accent]localeprint "timer"\nformat time\n[gray](where time is a separately calculated variable) locales.deletelocale = Are you sure you want to delete this locale bundle? locales.applytoall = Apply Changes To All Locales locales.addtoother = Add To Other Locales @@ -2292,7 +2292,7 @@ unit.emanate.description = Builds structures to defend the Acropolis core. Repai lst.read = Přečte číslo z připojené paměti. lst.write = Zapíše číslo do připojené paměti. lst.print = Přídá text do vypisovacího buferu.\nNezobrazí nic dokud [accent]Print Flush[] je použít. -lst.format = Replace next placeholder ("[accent]@[]") in text buffer with a value.\nExample:\n[accent]print "test @"\nformat "example" +lst.format = Replace next placeholder in text buffer with a value.\nDoes not do anything if placeholder pattern is invalid.\nPlaceholder pattern: "{[accent]number 0-9[]}"\nExample:\n[accent]print "test {0}"\nformat "example" lst.draw = Přídá operaci do vykreslovacího buferu.\nNezobrazí nic dokud [accent]Draw Flush[] je použít. lst.drawflush = Provede všechny [accent]Draw[] operace na zobrazovač logiky. Pak vyčistí vykreslovací bufer. lst.printflush = Provede všechny [accent]Print[] operace do zprávy. Pak vyčistí vypisovací bufer. diff --git a/core/assets/bundles/bundle_da.properties b/core/assets/bundles/bundle_da.properties index 687a4be97e..56e0977799 100644 --- a/core/assets/bundles/bundle_da.properties +++ b/core/assets/bundles/bundle_da.properties @@ -599,7 +599,7 @@ filter.option.floor2 = Sekundært gulv filter.option.threshold2 = Sekundær terskel filter.option.radius = Radius filter.option.percentile = Percentil -locales.info = Here, you can add locale bundles for specific languages to your map. In locale bundles, each property has a name and a value. These properties can be used by world processors and objectives using their names. They support text formatting (replacing placeholders with actual values).\n\n[cyan]Example property:\n[]name: [accent]timer[]\nvalue: [accent]Example timer, time left: @[]\n\n[cyan]Usage:\n[]Set it as objective's text: [accent]@timer\n\n[]Print it in a world processor:\n[accent]localeprint "timer"\nformat time\n[gray](where time is a separately calculated variable) +locales.info = Here, you can add locale bundles for specific languages to your map. In locale bundles, each property has a name and a value. These properties can be used by world processors and objectives using their names. They support text formatting (replacing placeholders with actual values).\n\n[cyan]Example property:\n[]name: [accent]timer[]\nvalue: [accent]Example timer, time left: {0}[]\n\n[cyan]Usage:\n[]Set it as objective's text: [accent]@timer\n\n[]Print it in a world processor:\n[accent]localeprint "timer"\nformat time\n[gray](where time is a separately calculated variable) locales.deletelocale = Are you sure you want to delete this locale bundle? locales.applytoall = Apply Changes To All Locales locales.addtoother = Add To Other Locales @@ -2273,7 +2273,7 @@ unit.emanate.description = Builds structures to defend the Acropolis core. Repai lst.read = Read a number from a linked memory cell. lst.write = Write a number to a linked memory cell. lst.print = Add text to the print buffer.\nDoes not display anything until [accent]Print Flush[] is used. -lst.format = Replace next placeholder ("[accent]@[]") in text buffer with a value.\nExample:\n[accent]print "test @"\nformat "example" +lst.format = Replace next placeholder in text buffer with a value.\nDoes not do anything if placeholder pattern is invalid.\nPlaceholder pattern: "{[accent]number 0-9[]}"\nExample:\n[accent]print "test {0}"\nformat "example" lst.draw = Add an operation to the drawing buffer.\nDoes not display anything until [accent]Draw Flush[] is used. lst.drawflush = Flush queued [accent]Draw[] operations to a display. lst.printflush = Flush queued [accent]Print[] operations to a message block. diff --git a/core/assets/bundles/bundle_de.properties b/core/assets/bundles/bundle_de.properties index 023a6da38a..260236969e 100644 --- a/core/assets/bundles/bundle_de.properties +++ b/core/assets/bundles/bundle_de.properties @@ -610,7 +610,7 @@ filter.option.floor2 = Sekundärer Boden filter.option.threshold2 = Sekundärer Grenzwert filter.option.radius = Radius filter.option.percentile = Perzentil -locales.info = Here, you can add locale bundles for specific languages to your map. In locale bundles, each property has a name and a value. These properties can be used by world processors and objectives using their names. They support text formatting (replacing placeholders with actual values).\n\n[cyan]Example property:\n[]name: [accent]timer[]\nvalue: [accent]Example timer, time left: @[]\n\n[cyan]Usage:\n[]Set it as objective's text: [accent]@timer\n\n[]Print it in a world processor:\n[accent]localeprint "timer"\nformat time\n[gray](where time is a separately calculated variable) +locales.info = Here, you can add locale bundles for specific languages to your map. In locale bundles, each property has a name and a value. These properties can be used by world processors and objectives using their names. They support text formatting (replacing placeholders with actual values).\n\n[cyan]Example property:\n[]name: [accent]timer[]\nvalue: [accent]Example timer, time left: {0}[]\n\n[cyan]Usage:\n[]Set it as objective's text: [accent]@timer\n\n[]Print it in a world processor:\n[accent]localeprint "timer"\nformat time\n[gray](where time is a separately calculated variable) locales.deletelocale = Are you sure you want to delete this locale bundle? locales.applytoall = Apply Changes To All Locales locales.addtoother = Add To Other Locales @@ -2322,7 +2322,7 @@ unit.emanate.description = Baut Blöcke, um den Akropolis-Kern zu beschützen. H lst.read = Liest einen Wert aus einer verbundenen Speicherzelle. lst.write = Schreibt eine Zahl in einer verbundene Speicherzelle. lst.print = Fügt Text zum Textspeicher hinzu.\nZeigt nichts an, bis [accent]Print Flush[] verwendet wird. -lst.format = Replace next placeholder ("[accent]@[]") in text buffer with a value.\nExample:\n[accent]print "test @"\nformat "example" +lst.format = Replace next placeholder in text buffer with a value.\nDoes not do anything if placeholder pattern is invalid.\nPlaceholder pattern: "{[accent]number 0-9[]}"\nExample:\n[accent]print "test {0}"\nformat "example" lst.draw = Fügt eine [accent]Draw[]-Aufgabe zum Bildspeicher hinzu.\nZeigt nichts an, bis [accent]Draw Flush[] verwendet wird. lst.drawflush = Druckt [accent]Draw[]-Aufgaben aus dem Bildspeicher auf einen Bildschirm. lst.printflush = Druckt [accent]Print[]-Aufgaben aus dem Textspeicher auf einen Nachrichtenblock. diff --git a/core/assets/bundles/bundle_es.properties b/core/assets/bundles/bundle_es.properties index 8e2ab61238..a1784ec9c6 100644 --- a/core/assets/bundles/bundle_es.properties +++ b/core/assets/bundles/bundle_es.properties @@ -607,7 +607,7 @@ filter.option.floor2 = Terreno secundario filter.option.threshold2 = Umbral secundario filter.option.radius = Radio filter.option.percentile = Percentil -locales.info = Here, you can add locale bundles for specific languages to your map. In locale bundles, each property has a name and a value. These properties can be used by world processors and objectives using their names. They support text formatting (replacing placeholders with actual values).\n\n[cyan]Example property:\n[]name: [accent]timer[]\nvalue: [accent]Example timer, time left: @[]\n\n[cyan]Usage:\n[]Set it as objective's text: [accent]@timer\n\n[]Print it in a world processor:\n[accent]localeprint "timer"\nformat time\n[gray](where time is a separately calculated variable) +locales.info = Here, you can add locale bundles for specific languages to your map. In locale bundles, each property has a name and a value. These properties can be used by world processors and objectives using their names. They support text formatting (replacing placeholders with actual values).\n\n[cyan]Example property:\n[]name: [accent]timer[]\nvalue: [accent]Example timer, time left: {0}[]\n\n[cyan]Usage:\n[]Set it as objective's text: [accent]@timer\n\n[]Print it in a world processor:\n[accent]localeprint "timer"\nformat time\n[gray](where time is a separately calculated variable) locales.deletelocale = Are you sure you want to delete this locale bundle? locales.applytoall = Apply Changes To All Locales locales.addtoother = Add To Other Locales @@ -2315,7 +2315,7 @@ unit.emanate.description = Construye estructuras para defender el núcleo Acropo lst.read = Lee un número desde una unidad de memoria conectada. lst.write = Escribe un número en una unidad de memoria conectada. lst.print = Añade texto a la cola para imprimir texto.\nNo mostrará nada hasta que se use [accent]Print Flush[]. -lst.format = Replace next placeholder ("[accent]@[]") in text buffer with a value.\nExample:\n[accent]print "test @"\nformat "example" +lst.format = Replace next placeholder in text buffer with a value.\nDoes not do anything if placeholder pattern is invalid.\nPlaceholder pattern: "{[accent]number 0-9[]}"\nExample:\n[accent]print "test {0}"\nformat "example" lst.draw = Añade una operación a la cola para dibujar.\nNo mostrará nada hasta que se use [accent]Draw Flush[]. lst.drawflush = Muestra los datos en cola de operaciones [accent]Draw[] en un monitor gráfico. lst.printflush = Muestra los datos en cola de operaciones de [accent]Print[] en un bloque de mensaje. diff --git a/core/assets/bundles/bundle_et.properties b/core/assets/bundles/bundle_et.properties index 3acece8285..675204d69b 100644 --- a/core/assets/bundles/bundle_et.properties +++ b/core/assets/bundles/bundle_et.properties @@ -599,7 +599,7 @@ filter.option.floor2 = Teine põrand filter.option.threshold2 = Teine lävi filter.option.radius = Raadius filter.option.percentile = Protsentiil -locales.info = Here, you can add locale bundles for specific languages to your map. In locale bundles, each property has a name and a value. These properties can be used by world processors and objectives using their names. They support text formatting (replacing placeholders with actual values).\n\n[cyan]Example property:\n[]name: [accent]timer[]\nvalue: [accent]Example timer, time left: @[]\n\n[cyan]Usage:\n[]Set it as objective's text: [accent]@timer\n\n[]Print it in a world processor:\n[accent]localeprint "timer"\nformat time\n[gray](where time is a separately calculated variable) +locales.info = Here, you can add locale bundles for specific languages to your map. In locale bundles, each property has a name and a value. These properties can be used by world processors and objectives using their names. They support text formatting (replacing placeholders with actual values).\n\n[cyan]Example property:\n[]name: [accent]timer[]\nvalue: [accent]Example timer, time left: {0}[]\n\n[cyan]Usage:\n[]Set it as objective's text: [accent]@timer\n\n[]Print it in a world processor:\n[accent]localeprint "timer"\nformat time\n[gray](where time is a separately calculated variable) locales.deletelocale = Are you sure you want to delete this locale bundle? locales.applytoall = Apply Changes To All Locales locales.addtoother = Add To Other Locales @@ -2275,7 +2275,7 @@ unit.emanate.description = Builds structures to defend the Acropolis core. Repai lst.read = Read a number from a linked memory cell. lst.write = Write a number to a linked memory cell. lst.print = Add text to the print buffer.\nDoes not display anything until [accent]Print Flush[] is used. -lst.format = Replace next placeholder ("[accent]@[]") in text buffer with a value.\nExample:\n[accent]print "test @"\nformat "example" +lst.format = Replace next placeholder in text buffer with a value.\nDoes not do anything if placeholder pattern is invalid.\nPlaceholder pattern: "{[accent]number 0-9[]}"\nExample:\n[accent]print "test {0}"\nformat "example" lst.draw = Add an operation to the drawing buffer.\nDoes not display anything until [accent]Draw Flush[] is used. lst.drawflush = Flush queued [accent]Draw[] operations to a display. lst.printflush = Flush queued [accent]Print[] operations to a message block. diff --git a/core/assets/bundles/bundle_eu.properties b/core/assets/bundles/bundle_eu.properties index d29722b775..e43fd2fdf6 100644 --- a/core/assets/bundles/bundle_eu.properties +++ b/core/assets/bundles/bundle_eu.properties @@ -601,7 +601,7 @@ filter.option.floor2 = Bigarren zorua filter.option.threshold2 = Bigarren atalasea filter.option.radius = Erradioa filter.option.percentile = Pertzentila -locales.info = Here, you can add locale bundles for specific languages to your map. In locale bundles, each property has a name and a value. These properties can be used by world processors and objectives using their names. They support text formatting (replacing placeholders with actual values).\n\n[cyan]Example property:\n[]name: [accent]timer[]\nvalue: [accent]Example timer, time left: @[]\n\n[cyan]Usage:\n[]Set it as objective's text: [accent]@timer\n\n[]Print it in a world processor:\n[accent]localeprint "timer"\nformat time\n[gray](where time is a separately calculated variable) +locales.info = Here, you can add locale bundles for specific languages to your map. In locale bundles, each property has a name and a value. These properties can be used by world processors and objectives using their names. They support text formatting (replacing placeholders with actual values).\n\n[cyan]Example property:\n[]name: [accent]timer[]\nvalue: [accent]Example timer, time left: {0}[]\n\n[cyan]Usage:\n[]Set it as objective's text: [accent]@timer\n\n[]Print it in a world processor:\n[accent]localeprint "timer"\nformat time\n[gray](where time is a separately calculated variable) locales.deletelocale = Are you sure you want to delete this locale bundle? locales.applytoall = Apply Changes To All Locales locales.addtoother = Add To Other Locales @@ -2277,7 +2277,7 @@ unit.emanate.description = Builds structures to defend the Acropolis core. Repai lst.read = Read a number from a linked memory cell. lst.write = Write a number to a linked memory cell. lst.print = Add text to the print buffer.\nDoes not display anything until [accent]Print Flush[] is used. -lst.format = Replace next placeholder ("[accent]@[]") in text buffer with a value.\nExample:\n[accent]print "test @"\nformat "example" +lst.format = Replace next placeholder in text buffer with a value.\nDoes not do anything if placeholder pattern is invalid.\nPlaceholder pattern: "{[accent]number 0-9[]}"\nExample:\n[accent]print "test {0}"\nformat "example" lst.draw = Add an operation to the drawing buffer.\nDoes not display anything until [accent]Draw Flush[] is used. lst.drawflush = Flush queued [accent]Draw[] operations to a display. lst.printflush = Flush queued [accent]Print[] operations to a message block. diff --git a/core/assets/bundles/bundle_fi.properties b/core/assets/bundles/bundle_fi.properties index d2cfbbeb4a..a955c097ed 100644 --- a/core/assets/bundles/bundle_fi.properties +++ b/core/assets/bundles/bundle_fi.properties @@ -599,7 +599,7 @@ filter.option.floor2 = Toinen lattia filter.option.threshold2 = Toissijainen raja-arvo filter.option.radius = Säde filter.option.percentile = Prosentti -locales.info = Here, you can add locale bundles for specific languages to your map. In locale bundles, each property has a name and a value. These properties can be used by world processors and objectives using their names. They support text formatting (replacing placeholders with actual values).\n\n[cyan]Example property:\n[]name: [accent]timer[]\nvalue: [accent]Example timer, time left: @[]\n\n[cyan]Usage:\n[]Set it as objective's text: [accent]@timer\n\n[]Print it in a world processor:\n[accent]localeprint "timer"\nformat time\n[gray](where time is a separately calculated variable) +locales.info = Here, you can add locale bundles for specific languages to your map. In locale bundles, each property has a name and a value. These properties can be used by world processors and objectives using their names. They support text formatting (replacing placeholders with actual values).\n\n[cyan]Example property:\n[]name: [accent]timer[]\nvalue: [accent]Example timer, time left: {0}[]\n\n[cyan]Usage:\n[]Set it as objective's text: [accent]@timer\n\n[]Print it in a world processor:\n[accent]localeprint "timer"\nformat time\n[gray](where time is a separately calculated variable) locales.deletelocale = Are you sure you want to delete this locale bundle? locales.applytoall = Apply Changes To All Locales locales.addtoother = Add To Other Locales @@ -2278,7 +2278,7 @@ unit.emanate.description = Builds structures to defend the Acropolis core. Repai lst.read = Lue numero yhdistetystä muistisolusta. lst.write = Kirjoita numero yhdistettyyn muistisoluun. lst.print = Lisää tekstiä tekstipuskuriin.\nEi näytä mitään, kunnes [accent]Painosyötettä[] käytetään. -lst.format = Replace next placeholder ("[accent]@[]") in text buffer with a value.\nExample:\n[accent]print "test @"\nformat "example" +lst.format = Replace next placeholder in text buffer with a value.\nDoes not do anything if placeholder pattern is invalid.\nPlaceholder pattern: "{[accent]number 0-9[]}"\nExample:\n[accent]print "test {0}"\nformat "example" lst.draw = Lisää operaation piirtopuskuriin.\nEi näytä mitään, kunnes [accent]Piirtosyötettä[] käytetään. lst.drawflush = Syöttää jonottavat [accent]Piirto[]-operaatiot näyttöön. lst.printflush = Syöttää jonottavat [accent]Paino[]-operaatiot viestipalikkaan. diff --git a/core/assets/bundles/bundle_fil.properties b/core/assets/bundles/bundle_fil.properties index 85fe063009..08cd5e1fbd 100644 --- a/core/assets/bundles/bundle_fil.properties +++ b/core/assets/bundles/bundle_fil.properties @@ -599,7 +599,7 @@ filter.option.floor2 = Secondary Floor filter.option.threshold2 = Secondary Threshold filter.option.radius = Radius filter.option.percentile = Percentile -locales.info = Here, you can add locale bundles for specific languages to your map. In locale bundles, each property has a name and a value. These properties can be used by world processors and objectives using their names. They support text formatting (replacing placeholders with actual values).\n\n[cyan]Example property:\n[]name: [accent]timer[]\nvalue: [accent]Example timer, time left: @[]\n\n[cyan]Usage:\n[]Set it as objective's text: [accent]@timer\n\n[]Print it in a world processor:\n[accent]localeprint "timer"\nformat time\n[gray](where time is a separately calculated variable) +locales.info = Here, you can add locale bundles for specific languages to your map. In locale bundles, each property has a name and a value. These properties can be used by world processors and objectives using their names. They support text formatting (replacing placeholders with actual values).\n\n[cyan]Example property:\n[]name: [accent]timer[]\nvalue: [accent]Example timer, time left: {0}[]\n\n[cyan]Usage:\n[]Set it as objective's text: [accent]@timer\n\n[]Print it in a world processor:\n[accent]localeprint "timer"\nformat time\n[gray](where time is a separately calculated variable) locales.deletelocale = Are you sure you want to delete this locale bundle? locales.applytoall = Apply Changes To All Locales locales.addtoother = Add To Other Locales @@ -2274,7 +2274,7 @@ unit.emanate.description = Builds structures to defend the Acropolis core. Repai lst.read = Read a number from a linked memory cell. lst.write = Write a number to a linked memory cell. lst.print = Add text to the print buffer.\nDoes not display anything until [accent]Print Flush[] is used. -lst.format = Replace next placeholder ("[accent]@[]") in text buffer with a value.\nExample:\n[accent]print "test @"\nformat "example" +lst.format = Replace next placeholder in text buffer with a value.\nDoes not do anything if placeholder pattern is invalid.\nPlaceholder pattern: "{[accent]number 0-9[]}"\nExample:\n[accent]print "test {0}"\nformat "example" lst.draw = Add an operation to the drawing buffer.\nDoes not display anything until [accent]Draw Flush[] is used. lst.drawflush = Flush queued [accent]Draw[] operations to a display. lst.printflush = Flush queued [accent]Print[] operations to a message block. diff --git a/core/assets/bundles/bundle_fr.properties b/core/assets/bundles/bundle_fr.properties index 0dea263859..7e3d8ea6cd 100644 --- a/core/assets/bundles/bundle_fr.properties +++ b/core/assets/bundles/bundle_fr.properties @@ -613,7 +613,7 @@ filter.option.floor2 = Sol secondaire filter.option.threshold2 = Seuil secondaire filter.option.radius = Rayon filter.option.percentile = Pourcentage -locales.info = Here, you can add locale bundles for specific languages to your map. In locale bundles, each property has a name and a value. These properties can be used by world processors and objectives using their names. They support text formatting (replacing placeholders with actual values).\n\n[cyan]Example property:\n[]name: [accent]timer[]\nvalue: [accent]Example timer, time left: @[]\n\n[cyan]Usage:\n[]Set it as objective's text: [accent]@timer\n\n[]Print it in a world processor:\n[accent]localeprint "timer"\nformat time\n[gray](where time is a separately calculated variable) +locales.info = Here, you can add locale bundles for specific languages to your map. In locale bundles, each property has a name and a value. These properties can be used by world processors and objectives using their names. They support text formatting (replacing placeholders with actual values).\n\n[cyan]Example property:\n[]name: [accent]timer[]\nvalue: [accent]Example timer, time left: {0}[]\n\n[cyan]Usage:\n[]Set it as objective's text: [accent]@timer\n\n[]Print it in a world processor:\n[accent]localeprint "timer"\nformat time\n[gray](where time is a separately calculated variable) locales.deletelocale = Are you sure you want to delete this locale bundle? locales.applytoall = Apply Changes To All Locales locales.addtoother = Add To Other Locales @@ -2322,7 +2322,7 @@ unit.emanate.description = Construit des structures pour défendre le Noyau acro lst.read = Lit un nombre depuis un bloc de mémoire relié au processeur. lst.write = Écrit un nombre dans un bloc de mémoire relié au processeur. lst.print = Ajoute du texte dans la mémoire tampon de l'imprimante.\nNe montrera aucun texte tant que [accent]Print Flush[] ne sera pas utilisé. -lst.format = Replace next placeholder ("[accent]@[]") in text buffer with a value.\nExample:\n[accent]print "test @"\nformat "example" +lst.format = Replace next placeholder in text buffer with a value.\nDoes not do anything if placeholder pattern is invalid.\nPlaceholder pattern: "{[accent]number 0-9[]}"\nExample:\n[accent]print "test {0}"\nformat "example" lst.draw = Ajoute une opération dans la mémoire tampon de dessin.\nNe montrera aucune image tant que [accent]Draw Flush[] ne sera pas utilisé. lst.drawflush = Affiche les opérations [accent]Draw[] en file d'attente vers un écran. lst.printflush = Affiche les opérations [accent]Print[] en file d'attente vers un bloc de message. diff --git a/core/assets/bundles/bundle_id_ID.properties b/core/assets/bundles/bundle_id_ID.properties index f9a2127af0..0f1bd6fd5e 100644 --- a/core/assets/bundles/bundle_id_ID.properties +++ b/core/assets/bundles/bundle_id_ID.properties @@ -607,7 +607,7 @@ filter.option.floor2 = Lantai Sekunder filter.option.threshold2 = Ambang Sekunder filter.option.radius = Radius filter.option.percentile = Perseratus -locales.info = Here, you can add locale bundles for specific languages to your map. In locale bundles, each property has a name and a value. These properties can be used by world processors and objectives using their names. They support text formatting (replacing placeholders with actual values).\n\n[cyan]Example property:\n[]name: [accent]timer[]\nvalue: [accent]Example timer, time left: @[]\n\n[cyan]Usage:\n[]Set it as objective's text: [accent]@timer\n\n[]Print it in a world processor:\n[accent]localeprint "timer"\nformat time\n[gray](where time is a separately calculated variable) +locales.info = Here, you can add locale bundles for specific languages to your map. In locale bundles, each property has a name and a value. These properties can be used by world processors and objectives using their names. They support text formatting (replacing placeholders with actual values).\n\n[cyan]Example property:\n[]name: [accent]timer[]\nvalue: [accent]Example timer, time left: {0}[]\n\n[cyan]Usage:\n[]Set it as objective's text: [accent]@timer\n\n[]Print it in a world processor:\n[accent]localeprint "timer"\nformat time\n[gray](where time is a separately calculated variable) locales.deletelocale = Are you sure you want to delete this locale bundle? locales.applytoall = Apply Changes To All Locales locales.addtoother = Add To Other Locales @@ -2313,7 +2313,7 @@ unit.emanate.description = Builds structures to defend the Acropolis core. Repai lst.read = Membaca angka dari memori sel yang dihubungkan. lst.write = Menulis angka ke memori sel yang dihubungkan. lst.print = Menambahkan teks ke daftar cetak.\nTidak dapat menampilkan apapun sampai [accent]Print Flush[] dipakai. -lst.format = Replace next placeholder ("[accent]@[]") in text buffer with a value.\nExample:\n[accent]print "test @"\nformat "example" +lst.format = Replace next placeholder in text buffer with a value.\nDoes not do anything if placeholder pattern is invalid.\nPlaceholder pattern: "{[accent]number 0-9[]}"\nExample:\n[accent]print "test {0}"\nformat "example" lst.draw = Menambahkan perintah ke daftar gambar.\nTidak dapat menampilkan apapun sampai [accent]Draw Flush[] dipakai. lst.drawflush = Mengeluarkan perintah [accent]Draw[] dari daftar antrean untuk ditampilkan. lst.printflush = Mengeluarkan perintah [accent]Print[] dari daftar antrean untuk blok pesan. diff --git a/core/assets/bundles/bundle_it.properties b/core/assets/bundles/bundle_it.properties index c5d871dd97..97221f7113 100644 --- a/core/assets/bundles/bundle_it.properties +++ b/core/assets/bundles/bundle_it.properties @@ -602,7 +602,7 @@ filter.option.floor2 = Terreno Secondario filter.option.threshold2 = Soglia Secondaria filter.option.radius = Raggio filter.option.percentile = Percentuale -locales.info = Here, you can add locale bundles for specific languages to your map. In locale bundles, each property has a name and a value. These properties can be used by world processors and objectives using their names. They support text formatting (replacing placeholders with actual values).\n\n[cyan]Example property:\n[]name: [accent]timer[]\nvalue: [accent]Example timer, time left: @[]\n\n[cyan]Usage:\n[]Set it as objective's text: [accent]@timer\n\n[]Print it in a world processor:\n[accent]localeprint "timer"\nformat time\n[gray](where time is a separately calculated variable) +locales.info = Here, you can add locale bundles for specific languages to your map. In locale bundles, each property has a name and a value. These properties can be used by world processors and objectives using their names. They support text formatting (replacing placeholders with actual values).\n\n[cyan]Example property:\n[]name: [accent]timer[]\nvalue: [accent]Example timer, time left: {0}[]\n\n[cyan]Usage:\n[]Set it as objective's text: [accent]@timer\n\n[]Print it in a world processor:\n[accent]localeprint "timer"\nformat time\n[gray](where time is a separately calculated variable) locales.deletelocale = Are you sure you want to delete this locale bundle? locales.applytoall = Apply Changes To All Locales locales.addtoother = Add To Other Locales @@ -2287,7 +2287,7 @@ unit.emanate.description = Costruisce strutture per difendere il nucleo dell'Acr lst.read = Leggi un numero da una cella di memoria collegata. lst.write = Scrivi un numero in una cella di memoria collegata. lst.print = Add text to the print buffer.\nDoes not display anything until [accent]Print Flush[] is used. -lst.format = Replace next placeholder ("[accent]@[]") in text buffer with a value.\nExample:\n[accent]print "test @"\nformat "example" +lst.format = Replace next placeholder in text buffer with a value.\nDoes not do anything if placeholder pattern is invalid.\nPlaceholder pattern: "{[accent]number 0-9[]}"\nExample:\n[accent]print "test {0}"\nformat "example" lst.draw = Add an operation to the drawing buffer.\nDoes not display anything until [accent]Draw Flush[] is used. lst.drawflush = Flush queued [accent]Draw[] operations to a display. lst.printflush = Flush queued [accent]Print[] operations to a message block. diff --git a/core/assets/bundles/bundle_ja.properties b/core/assets/bundles/bundle_ja.properties index 59f64d47b1..b54b1f57f3 100644 --- a/core/assets/bundles/bundle_ja.properties +++ b/core/assets/bundles/bundle_ja.properties @@ -606,7 +606,7 @@ filter.option.floor2 = 2番目の地面 filter.option.threshold2 = 2番目の閾値 filter.option.radius = 半径 filter.option.percentile = パーセンタイル -locales.info = Here, you can add locale bundles for specific languages to your map. In locale bundles, each property has a name and a value. These properties can be used by world processors and objectives using their names. They support text formatting (replacing placeholders with actual values).\n\n[cyan]Example property:\n[]name: [accent]timer[]\nvalue: [accent]Example timer, time left: @[]\n\n[cyan]Usage:\n[]Set it as objective's text: [accent]@timer\n\n[]Print it in a world processor:\n[accent]localeprint "timer"\nformat time\n[gray](where time is a separately calculated variable) +locales.info = Here, you can add locale bundles for specific languages to your map. In locale bundles, each property has a name and a value. These properties can be used by world processors and objectives using their names. They support text formatting (replacing placeholders with actual values).\n\n[cyan]Example property:\n[]name: [accent]timer[]\nvalue: [accent]Example timer, time left: {0}[]\n\n[cyan]Usage:\n[]Set it as objective's text: [accent]@timer\n\n[]Print it in a world processor:\n[accent]localeprint "timer"\nformat time\n[gray](where time is a separately calculated variable) locales.deletelocale = Are you sure you want to delete this locale bundle? locales.applytoall = Apply Changes To All Locales locales.addtoother = Add To Other Locales @@ -2291,7 +2291,7 @@ unit.emanate.description = アクロポリスコアを敵から守ります。\n lst.read = リンクされたメモリセルから数値を読み取ります。 lst.write = リンクされたメモリセルに数値を書き込みます。 lst.print = メッセージブロックにテキストを追加します。[accent]Print Flush[] を使用するまで何も表示しません。 -lst.format = Replace next placeholder ("[accent]@[]") in text buffer with a value.\nExample:\n[accent]print "test @"\nformat "example" +lst.format = Replace next placeholder in text buffer with a value.\nDoes not do anything if placeholder pattern is invalid.\nPlaceholder pattern: "{[accent]number 0-9[]}"\nExample:\n[accent]print "test {0}"\nformat "example" lst.draw = ロジックディスプレイに操作を追加します。[accent]Draw Flush[] を使用するまで何も表示しません。 lst.drawflush = キューに入れられた [accent]Draw[] 操作をディスプレイにフラッシュします。 lst.printflush = キューに入れられた [accent]Print[] 操作をメッセージ ブロックにフラッシュします。 diff --git a/core/assets/bundles/bundle_ko.properties b/core/assets/bundles/bundle_ko.properties index f3c014faed..342c511010 100644 --- a/core/assets/bundles/bundle_ko.properties +++ b/core/assets/bundles/bundle_ko.properties @@ -606,7 +606,7 @@ filter.option.floor2 = 2번째 타일 filter.option.threshold2 = 2번째 경계선 filter.option.radius = 반경 filter.option.percentile = 백분율 -locales.info = Here, you can add locale bundles for specific languages to your map. In locale bundles, each property has a name and a value. These properties can be used by world processors and objectives using their names. They support text formatting (replacing placeholders with actual values).\n\n[cyan]Example property:\n[]name: [accent]timer[]\nvalue: [accent]Example timer, time left: @[]\n\n[cyan]Usage:\n[]Set it as objective's text: [accent]@timer\n\n[]Print it in a world processor:\n[accent]localeprint "timer"\nformat time\n[gray](where time is a separately calculated variable) +locales.info = Here, you can add locale bundles for specific languages to your map. In locale bundles, each property has a name and a value. These properties can be used by world processors and objectives using their names. They support text formatting (replacing placeholders with actual values).\n\n[cyan]Example property:\n[]name: [accent]timer[]\nvalue: [accent]Example timer, time left: {0}[]\n\n[cyan]Usage:\n[]Set it as objective's text: [accent]@timer\n\n[]Print it in a world processor:\n[accent]localeprint "timer"\nformat time\n[gray](where time is a separately calculated variable) locales.deletelocale = Are you sure you want to delete this locale bundle? locales.applytoall = Apply Changes To All Locales locales.addtoother = Add To Other Locales @@ -2290,7 +2290,7 @@ unit.emanate.description = 코어: 도심을 지켜내기 위해 구조물을 lst.read = 연결된 메모리 셀에서 숫자 읽음 lst.write = 연결된 메모리 셀에 숫자 작성 lst.print = 프린트 버퍼에 텍스트 추가\n[accent]Print Flush[]가 사용되기 전까진 아무것도 보여주지 않습니다 -lst.format = Replace next placeholder ("[accent]@[]") in text buffer with a value.\nExample:\n[accent]print "test @"\nformat "example" +lst.format = Replace next placeholder in text buffer with a value.\nDoes not do anything if placeholder pattern is invalid.\nPlaceholder pattern: "{[accent]number 0-9[]}"\nExample:\n[accent]print "test {0}"\nformat "example" lst.draw = 드로잉 버퍼에 실행문 추가\n[accent]Draw Flush[]가 사용되기 전까진 아무것도 보여주지 않습니다 lst.drawflush = 대기중인 [accent]Draw[]실행문을 디스플레이에 출력 lst.printflush = 대기중인 [accent]Print[]실행문을 메시지 블록에 출력 diff --git a/core/assets/bundles/bundle_lt.properties b/core/assets/bundles/bundle_lt.properties index 6bc26f33fd..f61d0b08b5 100644 --- a/core/assets/bundles/bundle_lt.properties +++ b/core/assets/bundles/bundle_lt.properties @@ -599,7 +599,7 @@ filter.option.floor2 = Antrasis sluoksnis filter.option.threshold2 = Antrasis slenkstis filter.option.radius = Spindulys filter.option.percentile = Procentilė -locales.info = Here, you can add locale bundles for specific languages to your map. In locale bundles, each property has a name and a value. These properties can be used by world processors and objectives using their names. They support text formatting (replacing placeholders with actual values).\n\n[cyan]Example property:\n[]name: [accent]timer[]\nvalue: [accent]Example timer, time left: @[]\n\n[cyan]Usage:\n[]Set it as objective's text: [accent]@timer\n\n[]Print it in a world processor:\n[accent]localeprint "timer"\nformat time\n[gray](where time is a separately calculated variable) +locales.info = Here, you can add locale bundles for specific languages to your map. In locale bundles, each property has a name and a value. These properties can be used by world processors and objectives using their names. They support text formatting (replacing placeholders with actual values).\n\n[cyan]Example property:\n[]name: [accent]timer[]\nvalue: [accent]Example timer, time left: {0}[]\n\n[cyan]Usage:\n[]Set it as objective's text: [accent]@timer\n\n[]Print it in a world processor:\n[accent]localeprint "timer"\nformat time\n[gray](where time is a separately calculated variable) locales.deletelocale = Are you sure you want to delete this locale bundle? locales.applytoall = Apply Changes To All Locales locales.addtoother = Add To Other Locales @@ -2275,7 +2275,7 @@ unit.emanate.description = Builds structures to defend the Acropolis core. Repai lst.read = Read a number from a linked memory cell. lst.write = Write a number to a linked memory cell. lst.print = Add text to the print buffer.\nDoes not display anything until [accent]Print Flush[] is used. -lst.format = Replace next placeholder ("[accent]@[]") in text buffer with a value.\nExample:\n[accent]print "test @"\nformat "example" +lst.format = Replace next placeholder in text buffer with a value.\nDoes not do anything if placeholder pattern is invalid.\nPlaceholder pattern: "{[accent]number 0-9[]}"\nExample:\n[accent]print "test {0}"\nformat "example" lst.draw = Add an operation to the drawing buffer.\nDoes not display anything until [accent]Draw Flush[] is used. lst.drawflush = Flush queued [accent]Draw[] operations to a display. lst.printflush = Flush queued [accent]Print[] operations to a message block. diff --git a/core/assets/bundles/bundle_nl.properties b/core/assets/bundles/bundle_nl.properties index 46eb33949b..66590f28e8 100644 --- a/core/assets/bundles/bundle_nl.properties +++ b/core/assets/bundles/bundle_nl.properties @@ -609,7 +609,7 @@ filter.option.floor2 = Secundaire Vloer filter.option.threshold2 = Secundaire Drempel filter.option.radius = Straal filter.option.percentile = percentiel -locales.info = Here, you can add locale bundles for specific languages to your map. In locale bundles, each property has a name and a value. These properties can be used by world processors and objectives using their names. They support text formatting (replacing placeholders with actual values).\n\n[cyan]Example property:\n[]name: [accent]timer[]\nvalue: [accent]Example timer, time left: @[]\n\n[cyan]Usage:\n[]Set it as objective's text: [accent]@timer\n\n[]Print it in a world processor:\n[accent]localeprint "timer"\nformat time\n[gray](where time is a separately calculated variable) +locales.info = Here, you can add locale bundles for specific languages to your map. In locale bundles, each property has a name and a value. These properties can be used by world processors and objectives using their names. They support text formatting (replacing placeholders with actual values).\n\n[cyan]Example property:\n[]name: [accent]timer[]\nvalue: [accent]Example timer, time left: {0}[]\n\n[cyan]Usage:\n[]Set it as objective's text: [accent]@timer\n\n[]Print it in a world processor:\n[accent]localeprint "timer"\nformat time\n[gray](where time is a separately calculated variable) locales.deletelocale = Are you sure you want to delete this locale bundle? locales.applytoall = Apply Changes To All Locales locales.addtoother = Add To Other Locales @@ -2288,7 +2288,7 @@ unit.emanate.description = Builds structures to defend the Acropolis core. Repai lst.read = Read a number from a linked memory cell. lst.write = Write a number to a linked memory cell. lst.print = Add text to the print buffer.\nDoes not display anything until [accent]Print Flush[] is used. -lst.format = Replace next placeholder ("[accent]@[]") in text buffer with a value.\nExample:\n[accent]print "test @"\nformat "example" +lst.format = Replace next placeholder in text buffer with a value.\nDoes not do anything if placeholder pattern is invalid.\nPlaceholder pattern: "{[accent]number 0-9[]}"\nExample:\n[accent]print "test {0}"\nformat "example" lst.draw = Add an operation to the drawing buffer.\nDoes not display anything until [accent]Draw Flush[] is used. lst.drawflush = Flush queued [accent]Draw[] operations to a display. lst.printflush = Flush queued [accent]Print[] operations to a message block. diff --git a/core/assets/bundles/bundle_nl_BE.properties b/core/assets/bundles/bundle_nl_BE.properties index 01a6cf3f1f..8d0e615414 100644 --- a/core/assets/bundles/bundle_nl_BE.properties +++ b/core/assets/bundles/bundle_nl_BE.properties @@ -599,7 +599,7 @@ filter.option.floor2 = Secondary Floor filter.option.threshold2 = Secondary Threshold filter.option.radius = Radius filter.option.percentile = Percentile -locales.info = Here, you can add locale bundles for specific languages to your map. In locale bundles, each property has a name and a value. These properties can be used by world processors and objectives using their names. They support text formatting (replacing placeholders with actual values).\n\n[cyan]Example property:\n[]name: [accent]timer[]\nvalue: [accent]Example timer, time left: @[]\n\n[cyan]Usage:\n[]Set it as objective's text: [accent]@timer\n\n[]Print it in a world processor:\n[accent]localeprint "timer"\nformat time\n[gray](where time is a separately calculated variable) +locales.info = Here, you can add locale bundles for specific languages to your map. In locale bundles, each property has a name and a value. These properties can be used by world processors and objectives using their names. They support text formatting (replacing placeholders with actual values).\n\n[cyan]Example property:\n[]name: [accent]timer[]\nvalue: [accent]Example timer, time left: {0}[]\n\n[cyan]Usage:\n[]Set it as objective's text: [accent]@timer\n\n[]Print it in a world processor:\n[accent]localeprint "timer"\nformat time\n[gray](where time is a separately calculated variable) locales.deletelocale = Are you sure you want to delete this locale bundle? locales.applytoall = Apply Changes To All Locales locales.addtoother = Add To Other Locales @@ -2275,7 +2275,7 @@ unit.emanate.description = Builds structures to defend the Acropolis core. Repai lst.read = Read a number from a linked memory cell. lst.write = Write a number to a linked memory cell. lst.print = Add text to the print buffer.\nDoes not display anything until [accent]Print Flush[] is used. -lst.format = Replace next placeholder ("[accent]@[]") in text buffer with a value.\nExample:\n[accent]print "test @"\nformat "example" +lst.format = Replace next placeholder in text buffer with a value.\nDoes not do anything if placeholder pattern is invalid.\nPlaceholder pattern: "{[accent]number 0-9[]}"\nExample:\n[accent]print "test {0}"\nformat "example" lst.draw = Add an operation to the drawing buffer.\nDoes not display anything until [accent]Draw Flush[] is used. lst.drawflush = Flush queued [accent]Draw[] operations to a display. lst.printflush = Flush queued [accent]Print[] operations to a message block. diff --git a/core/assets/bundles/bundle_pl.properties b/core/assets/bundles/bundle_pl.properties index 0de92a7351..86cea38c99 100644 --- a/core/assets/bundles/bundle_pl.properties +++ b/core/assets/bundles/bundle_pl.properties @@ -604,7 +604,7 @@ filter.option.floor2 = Druga Podłoga filter.option.threshold2 = Drugi Próg filter.option.radius = Zasięg filter.option.percentile = Procent -locales.info = Here, you can add locale bundles for specific languages to your map. In locale bundles, each property has a name and a value. These properties can be used by world processors and objectives using their names. They support text formatting (replacing placeholders with actual values).\n\n[cyan]Example property:\n[]name: [accent]timer[]\nvalue: [accent]Example timer, time left: @[]\n\n[cyan]Usage:\n[]Set it as objective's text: [accent]@timer\n\n[]Print it in a world processor:\n[accent]localeprint "timer"\nformat time\n[gray](where time is a separately calculated variable) +locales.info = Here, you can add locale bundles for specific languages to your map. In locale bundles, each property has a name and a value. These properties can be used by world processors and objectives using their names. They support text formatting (replacing placeholders with actual values).\n\n[cyan]Example property:\n[]name: [accent]timer[]\nvalue: [accent]Example timer, time left: {0}[]\n\n[cyan]Usage:\n[]Set it as objective's text: [accent]@timer\n\n[]Print it in a world processor:\n[accent]localeprint "timer"\nformat time\n[gray](where time is a separately calculated variable) locales.deletelocale = Are you sure you want to delete this locale bundle? locales.applytoall = Apply Changes To All Locales locales.addtoother = Add To Other Locales @@ -2309,7 +2309,7 @@ unit.emanate.description = Lotnicza jednostka aministracyjna zdolna do wydobycia lst.read = Wczytuje liczbę z połączonej komórki pamięci. lst.write = Zapisuje liczbę do połączonej komórki pamięci. lst.print = Dodaje tekst do buforu drukującego.\nNie wyświetla niczego dopóki [accent]Print Flush[] nie jest użyte. -lst.format = Replace next placeholder ("[accent]@[]") in text buffer with a value.\nExample:\n[accent]print "test @"\nformat "example" +lst.format = Replace next placeholder in text buffer with a value.\nDoes not do anything if placeholder pattern is invalid.\nPlaceholder pattern: "{[accent]number 0-9[]}"\nExample:\n[accent]print "test {0}"\nformat "example" lst.draw = Dodaje operacje do buforu rysującego.\nNie wyświetla niczego dopóki [accent]Draw Flush[] nie jest użyte. lst.drawflush = Wyświetla oczekujące operacje z funkcji [accent]Draw[] na wyświetlaczu. lst.printflush = Dodaje oczekujące operacje z funkcji [accent]Print[] do bloku wiadomości. diff --git a/core/assets/bundles/bundle_pt_BR.properties b/core/assets/bundles/bundle_pt_BR.properties index 4883362261..8ac998829a 100644 --- a/core/assets/bundles/bundle_pt_BR.properties +++ b/core/assets/bundles/bundle_pt_BR.properties @@ -607,7 +607,7 @@ filter.option.floor2 = Chão secundário filter.option.threshold2 = Margem secundária filter.option.radius = Raio filter.option.percentile = Percentual -locales.info = Here, you can add locale bundles for specific languages to your map. In locale bundles, each property has a name and a value. These properties can be used by world processors and objectives using their names. They support text formatting (replacing placeholders with actual values).\n\n[cyan]Example property:\n[]name: [accent]timer[]\nvalue: [accent]Example timer, time left: @[]\n\n[cyan]Usage:\n[]Set it as objective's text: [accent]@timer\n\n[]Print it in a world processor:\n[accent]localeprint "timer"\nformat time\n[gray](where time is a separately calculated variable) +locales.info = Here, you can add locale bundles for specific languages to your map. In locale bundles, each property has a name and a value. These properties can be used by world processors and objectives using their names. They support text formatting (replacing placeholders with actual values).\n\n[cyan]Example property:\n[]name: [accent]timer[]\nvalue: [accent]Example timer, time left: {0}[]\n\n[cyan]Usage:\n[]Set it as objective's text: [accent]@timer\n\n[]Print it in a world processor:\n[accent]localeprint "timer"\nformat time\n[gray](where time is a separately calculated variable) locales.deletelocale = Are you sure you want to delete this locale bundle? locales.applytoall = Apply Changes To All Locales locales.addtoother = Add To Other Locales @@ -2308,7 +2308,7 @@ unit.emanate.description = Constrói estruturas para defender o Núcelo Acrópol lst.read = Ler um número de uma célula de memória vinculada. lst.write = Escrever um número de uma célula de memória vinculada. lst.print = Adiciona texto ao buffer de impressão.\nNão exibe nada até [accent]Print Flush[] ser usado. -lst.format = Replace next placeholder ("[accent]@[]") in text buffer with a value.\nExample:\n[accent]print "test @"\nformat "example" +lst.format = Replace next placeholder in text buffer with a value.\nDoes not do anything if placeholder pattern is invalid.\nPlaceholder pattern: "{[accent]number 0-9[]}"\nExample:\n[accent]print "test {0}"\nformat "example" lst.draw = Adicionar uma operação ao buffer de desenho.\nNão exibe nada até [accent]Draw Flush[] ser usado. lst.drawflush = Liberar operações [accent]Draw[] enfileiradas para um display. lst.printflush = Liberar operações [accent]Print[] enfileiradas para um bloco de mensagem. diff --git a/core/assets/bundles/bundle_pt_PT.properties b/core/assets/bundles/bundle_pt_PT.properties index cf29525e4c..17ca743e25 100644 --- a/core/assets/bundles/bundle_pt_PT.properties +++ b/core/assets/bundles/bundle_pt_PT.properties @@ -599,7 +599,7 @@ filter.option.floor2 = Chão secundário filter.option.threshold2 = Margem secundária filter.option.radius = Raio filter.option.percentile = Percentual -locales.info = Here, you can add locale bundles for specific languages to your map. In locale bundles, each property has a name and a value. These properties can be used by world processors and objectives using their names. They support text formatting (replacing placeholders with actual values).\n\n[cyan]Example property:\n[]name: [accent]timer[]\nvalue: [accent]Example timer, time left: @[]\n\n[cyan]Usage:\n[]Set it as objective's text: [accent]@timer\n\n[]Print it in a world processor:\n[accent]localeprint "timer"\nformat time\n[gray](where time is a separately calculated variable) +locales.info = Here, you can add locale bundles for specific languages to your map. In locale bundles, each property has a name and a value. These properties can be used by world processors and objectives using their names. They support text formatting (replacing placeholders with actual values).\n\n[cyan]Example property:\n[]name: [accent]timer[]\nvalue: [accent]Example timer, time left: {0}[]\n\n[cyan]Usage:\n[]Set it as objective's text: [accent]@timer\n\n[]Print it in a world processor:\n[accent]localeprint "timer"\nformat time\n[gray](where time is a separately calculated variable) locales.deletelocale = Are you sure you want to delete this locale bundle? locales.applytoall = Apply Changes To All Locales locales.addtoother = Add To Other Locales @@ -2275,7 +2275,7 @@ unit.emanate.description = Builds structures to defend the Acropolis core. Repai lst.read = Read a number from a linked memory cell. lst.write = Write a number to a linked memory cell. lst.print = Add text to the print buffer.\nDoes not display anything until [accent]Print Flush[] is used. -lst.format = Replace next placeholder ("[accent]@[]") in text buffer with a value.\nExample:\n[accent]print "test @"\nformat "example" +lst.format = Replace next placeholder in text buffer with a value.\nDoes not do anything if placeholder pattern is invalid.\nPlaceholder pattern: "{[accent]number 0-9[]}"\nExample:\n[accent]print "test {0}"\nformat "example" lst.draw = Add an operation to the drawing buffer.\nDoes not display anything until [accent]Draw Flush[] is used. lst.drawflush = Flush queued [accent]Draw[] operations to a display. lst.printflush = Flush queued [accent]Print[] operations to a message block. diff --git a/core/assets/bundles/bundle_ro.properties b/core/assets/bundles/bundle_ro.properties index d9e45b96ca..a0d08c50f9 100644 --- a/core/assets/bundles/bundle_ro.properties +++ b/core/assets/bundles/bundle_ro.properties @@ -606,7 +606,7 @@ filter.option.floor2 = Podea Secundară filter.option.threshold2 = Cantitate Secundară filter.option.radius = Rază filter.option.percentile = Procent -locales.info = Here, you can add locale bundles for specific languages to your map. In locale bundles, each property has a name and a value. These properties can be used by world processors and objectives using their names. They support text formatting (replacing placeholders with actual values).\n\n[cyan]Example property:\n[]name: [accent]timer[]\nvalue: [accent]Example timer, time left: @[]\n\n[cyan]Usage:\n[]Set it as objective's text: [accent]@timer\n\n[]Print it in a world processor:\n[accent]localeprint "timer"\nformat time\n[gray](where time is a separately calculated variable) +locales.info = Here, you can add locale bundles for specific languages to your map. In locale bundles, each property has a name and a value. These properties can be used by world processors and objectives using their names. They support text formatting (replacing placeholders with actual values).\n\n[cyan]Example property:\n[]name: [accent]timer[]\nvalue: [accent]Example timer, time left: {0}[]\n\n[cyan]Usage:\n[]Set it as objective's text: [accent]@timer\n\n[]Print it in a world processor:\n[accent]localeprint "timer"\nformat time\n[gray](where time is a separately calculated variable) locales.deletelocale = Are you sure you want to delete this locale bundle? locales.applytoall = Apply Changes To All Locales locales.addtoother = Add To Other Locales @@ -2292,7 +2292,7 @@ unit.emanate.description = Builds structures to defend the Acropolis core. Repai lst.read = Citește un număr dintr-o celulă de memorie conectată. lst.write = Scrie un număr într-o celulă de memorie conectată. lst.print = Adaugă text în bufferul de tipărire.\nNu tipărește decât când se execută [accent]Print Flush[]. -lst.format = Replace next placeholder ("[accent]@[]") in text buffer with a value.\nExample:\n[accent]print "test @"\nformat "example" +lst.format = Replace next placeholder in text buffer with a value.\nDoes not do anything if placeholder pattern is invalid.\nPlaceholder pattern: "{[accent]number 0-9[]}"\nExample:\n[accent]print "test {0}"\nformat "example" lst.draw = Adaugă o operație în bufferul de desenare.\nNu afișează decât când se execută [accent]Draw Flush[]. lst.drawflush = Afișează pe un monitor instrucțiunile [accent]Draw[] aflate în așteptare. lst.printflush = Tipărește într-un bloc Mesaj instrucțiunile [accent]Print[] aflate în așteptare. diff --git a/core/assets/bundles/bundle_ru.properties b/core/assets/bundles/bundle_ru.properties index c5ccfc459c..3c593f330f 100644 --- a/core/assets/bundles/bundle_ru.properties +++ b/core/assets/bundles/bundle_ru.properties @@ -606,7 +606,7 @@ filter.option.floor2 = Вторая поверхность filter.option.threshold2 = Вторичный предельный порог filter.option.radius = Радиус filter.option.percentile = Процентиль -locales.info = Here, you can add locale bundles for specific languages to your map. In locale bundles, each property has a name and a value. These properties can be used by world processors and objectives using their names. They support text formatting (replacing placeholders with actual values).\n\n[cyan]Example property:\n[]name: [accent]timer[]\nvalue: [accent]Example timer, time left: @[]\n\n[cyan]Usage:\n[]Set it as objective's text: [accent]@timer\n\n[]Print it in a world processor:\n[accent]localeprint "timer"\nformat time\n[gray](where time is a separately calculated variable) +locales.info = Here, you can add locale bundles for specific languages to your map. In locale bundles, each property has a name and a value. These properties can be used by world processors and objectives using their names. They support text formatting (replacing placeholders with actual values).\n\n[cyan]Example property:\n[]name: [accent]timer[]\nvalue: [accent]Example timer, time left: {0}[]\n\n[cyan]Usage:\n[]Set it as objective's text: [accent]@timer\n\n[]Print it in a world processor:\n[accent]localeprint "timer"\nformat time\n[gray](where time is a separately calculated variable) locales.deletelocale = Are you sure you want to delete this locale bundle? locales.applytoall = Apply Changes To All Locales locales.addtoother = Add To Other Locales @@ -1297,7 +1297,7 @@ rules.invaliddata = Invalid clipboard data. rules.hidebannedblocks = Скрыть запрещенные блоки rules.infiniteresources = Бесконечные ресурсы rules.onlydepositcore = Разрешен перенос только в ядро -rules.derelictrepair = Allow Derelict Block Repair +rules.derelictrepair = Разрешить починку покинутых построек rules.reactorexplosions = Взрывы реакторов rules.coreincinerates = Ядро сжигает избыток ресурсов rules.disableworldprocessors = Отключить мировые процессоры @@ -2294,7 +2294,7 @@ unit.emanate.description = Защищает ядро «Акрополь» от lst.read = Считывает число из соединённой ячейки памяти. lst.write = Записывает число в соединённую ячейку памяти. lst.print = Добавляет текст в текстовый буфер. Ничего не отображает, пока не будет вызван [accent]Print Flush[]. -lst.format = Replace next placeholder ("[accent]@[]") in text buffer with a value.\nExample:\n[accent]print "test @"\nformat "example" +lst.format = Replace next placeholder in text buffer with a value.\nDoes not do anything if placeholder pattern is invalid.\nPlaceholder pattern: "{[accent]number 0-9[]}"\nExample:\n[accent]print "test {0}"\nformat "example" lst.draw = Добавляет операцию в буфер отрисовки. Ничего не отображает, пока не будет вызван [accent]Draw Flush[]. lst.drawflush = Сбрасывает буфер [accent]Draw[] операций на дисплей. lst.printflush = Сбрасывает буфер [accent]Print[] операций в блок-сообщение. diff --git a/core/assets/bundles/bundle_sr.properties b/core/assets/bundles/bundle_sr.properties index 52cf175915..de821a980a 100644 --- a/core/assets/bundles/bundle_sr.properties +++ b/core/assets/bundles/bundle_sr.properties @@ -606,7 +606,7 @@ filter.option.floor2 = Drugi Pod filter.option.threshold2 = Secondary Threshold filter.option.radius = Radius filter.option.percentile = Percentile -locales.info = Here, you can add locale bundles for specific languages to your map. In locale bundles, each property has a name and a value. These properties can be used by world processors and objectives using their names. They support text formatting (replacing placeholders with actual values).\n\n[cyan]Example property:\n[]name: [accent]timer[]\nvalue: [accent]Example timer, time left: @[]\n\n[cyan]Usage:\n[]Set it as objective's text: [accent]@timer\n\n[]Print it in a world processor:\n[accent]localeprint "timer"\nformat time\n[gray](where time is a separately calculated variable) +locales.info = Here, you can add locale bundles for specific languages to your map. In locale bundles, each property has a name and a value. These properties can be used by world processors and objectives using their names. They support text formatting (replacing placeholders with actual values).\n\n[cyan]Example property:\n[]name: [accent]timer[]\nvalue: [accent]Example timer, time left: {0}[]\n\n[cyan]Usage:\n[]Set it as objective's text: [accent]@timer\n\n[]Print it in a world processor:\n[accent]localeprint "timer"\nformat time\n[gray](where time is a separately calculated variable) locales.deletelocale = Are you sure you want to delete this locale bundle? locales.applytoall = Apply Changes To All Locales locales.addtoother = Add To Other Locales @@ -2295,7 +2295,7 @@ unit.emanate.description = Gradi građevine da odbrani Veliki Grad jezgro. Popra lst.read = Čita broj iz povezane memorijske ćelije. lst.write = Piše broj u povezanu memorijsku ćeliju. lst.print = Add text to the print buffer.\nDoes not display anything until [accent]Print Flush[] is used. -lst.format = Replace next placeholder ("[accent]@[]") in text buffer with a value.\nExample:\n[accent]print "test @"\nformat "example" +lst.format = Replace next placeholder in text buffer with a value.\nDoes not do anything if placeholder pattern is invalid.\nPlaceholder pattern: "{[accent]number 0-9[]}"\nExample:\n[accent]print "test {0}"\nformat "example" lst.draw = Add an operation to the drawing buffer.\nDoes not display anything until [accent]Draw Flush[] is used. lst.drawflush = Flush queued [accent]Draw[] operations to a display. lst.printflush = Flush queued [accent]Print[] operations to a message block. diff --git a/core/assets/bundles/bundle_sv.properties b/core/assets/bundles/bundle_sv.properties index be714b7f2b..8d025a4cae 100644 --- a/core/assets/bundles/bundle_sv.properties +++ b/core/assets/bundles/bundle_sv.properties @@ -599,7 +599,7 @@ filter.option.floor2 = Secondary Floor filter.option.threshold2 = Secondary Threshold filter.option.radius = Radie filter.option.percentile = Percentile -locales.info = Here, you can add locale bundles for specific languages to your map. In locale bundles, each property has a name and a value. These properties can be used by world processors and objectives using their names. They support text formatting (replacing placeholders with actual values).\n\n[cyan]Example property:\n[]name: [accent]timer[]\nvalue: [accent]Example timer, time left: @[]\n\n[cyan]Usage:\n[]Set it as objective's text: [accent]@timer\n\n[]Print it in a world processor:\n[accent]localeprint "timer"\nformat time\n[gray](where time is a separately calculated variable) +locales.info = Here, you can add locale bundles for specific languages to your map. In locale bundles, each property has a name and a value. These properties can be used by world processors and objectives using their names. They support text formatting (replacing placeholders with actual values).\n\n[cyan]Example property:\n[]name: [accent]timer[]\nvalue: [accent]Example timer, time left: {0}[]\n\n[cyan]Usage:\n[]Set it as objective's text: [accent]@timer\n\n[]Print it in a world processor:\n[accent]localeprint "timer"\nformat time\n[gray](where time is a separately calculated variable) locales.deletelocale = Are you sure you want to delete this locale bundle? locales.applytoall = Apply Changes To All Locales locales.addtoother = Add To Other Locales @@ -2275,7 +2275,7 @@ unit.emanate.description = Builds structures to defend the Acropolis core. Repai lst.read = Read a number from a linked memory cell. lst.write = Write a number to a linked memory cell. lst.print = Add text to the print buffer.\nDoes not display anything until [accent]Print Flush[] is used. -lst.format = Replace next placeholder ("[accent]@[]") in text buffer with a value.\nExample:\n[accent]print "test @"\nformat "example" +lst.format = Replace next placeholder in text buffer with a value.\nDoes not do anything if placeholder pattern is invalid.\nPlaceholder pattern: "{[accent]number 0-9[]}"\nExample:\n[accent]print "test {0}"\nformat "example" lst.draw = Add an operation to the drawing buffer.\nDoes not display anything until [accent]Draw Flush[] is used. lst.drawflush = Flush queued [accent]Draw[] operations to a display. lst.printflush = Flush queued [accent]Print[] operations to a message block. diff --git a/core/assets/bundles/bundle_th.properties b/core/assets/bundles/bundle_th.properties index 9f5f8253b8..fa345d3212 100644 --- a/core/assets/bundles/bundle_th.properties +++ b/core/assets/bundles/bundle_th.properties @@ -606,7 +606,7 @@ filter.option.floor2 = พื้นชั้นสอง filter.option.threshold2 = เกณฑ์ชั้นสอง filter.option.radius = รัศมี filter.option.percentile = เปอร์เซ็นต์ไทล์ -locales.info = Here, you can add locale bundles for specific languages to your map. In locale bundles, each property has a name and a value. These properties can be used by world processors and objectives using their names. They support text formatting (replacing placeholders with actual values).\n\n[cyan]Example property:\n[]name: [accent]timer[]\nvalue: [accent]Example timer, time left: @[]\n\n[cyan]Usage:\n[]Set it as objective's text: [accent]@timer\n\n[]Print it in a world processor:\n[accent]localeprint "timer"\nformat time\n[gray](where time is a separately calculated variable) +locales.info = Here, you can add locale bundles for specific languages to your map. In locale bundles, each property has a name and a value. These properties can be used by world processors and objectives using their names. They support text formatting (replacing placeholders with actual values).\n\n[cyan]Example property:\n[]name: [accent]timer[]\nvalue: [accent]Example timer, time left: {0}[]\n\n[cyan]Usage:\n[]Set it as objective's text: [accent]@timer\n\n[]Print it in a world processor:\n[accent]localeprint "timer"\nformat time\n[gray](where time is a separately calculated variable) locales.deletelocale = Are you sure you want to delete this locale bundle? locales.applytoall = Apply Changes To All Locales locales.addtoother = Add To Other Locales @@ -2312,7 +2312,7 @@ unit.emanate.description = สร้างสิ่งต่างๆ เพื lst.read = อ่านเลขจากเซลล์ความจำที่เชื่อมต่อไว้ lst.write = เขียนเลขไปยังเซลล์ความจำที่เชื่อมต่อไว้ lst.print = เพิ่มข้อความไปยังคิวข้อความ\nข้อความจะยังไม่แสดงจนกว่าจะใช้คำสั่ง [accent]Print Flush[] -lst.format = Replace next placeholder ("[accent]@[]") in text buffer with a value.\nExample:\n[accent]print "test @"\nformat "example" +lst.format = Replace next placeholder in text buffer with a value.\nDoes not do anything if placeholder pattern is invalid.\nPlaceholder pattern: "{[accent]number 0-9[]}"\nExample:\n[accent]print "test {0}"\nformat "example" lst.draw = เพิ่มรูปไปยังคิวการวาด\nภาพจะยังไม่แสดงจนกว่าจะใช้คำสั่ง [accent]Draw Flush[] lst.drawflush = ปล่อยคิว [accent]Draw[] ไปยังหน้าจอลอจิกที่เชื่อมต่อไว้ lst.printflush = ปล่อยคิว [accent]Print[] ไปยังตัวเก็บข้อความที่เชื่อมต่อไว้ diff --git a/core/assets/bundles/bundle_tk.properties b/core/assets/bundles/bundle_tk.properties index cca3894127..63422c96b9 100644 --- a/core/assets/bundles/bundle_tk.properties +++ b/core/assets/bundles/bundle_tk.properties @@ -599,7 +599,7 @@ filter.option.floor2 = Secondary Floor filter.option.threshold2 = Secondary Threshold filter.option.radius = Radius filter.option.percentile = Percentile -locales.info = Here, you can add locale bundles for specific languages to your map. In locale bundles, each property has a name and a value. These properties can be used by world processors and objectives using their names. They support text formatting (replacing placeholders with actual values).\n\n[cyan]Example property:\n[]name: [accent]timer[]\nvalue: [accent]Example timer, time left: @[]\n\n[cyan]Usage:\n[]Set it as objective's text: [accent]@timer\n\n[]Print it in a world processor:\n[accent]localeprint "timer"\nformat time\n[gray](where time is a separately calculated variable) +locales.info = Here, you can add locale bundles for specific languages to your map. In locale bundles, each property has a name and a value. These properties can be used by world processors and objectives using their names. They support text formatting (replacing placeholders with actual values).\n\n[cyan]Example property:\n[]name: [accent]timer[]\nvalue: [accent]Example timer, time left: {0}[]\n\n[cyan]Usage:\n[]Set it as objective's text: [accent]@timer\n\n[]Print it in a world processor:\n[accent]localeprint "timer"\nformat time\n[gray](where time is a separately calculated variable) locales.deletelocale = Are you sure you want to delete this locale bundle? locales.applytoall = Apply Changes To All Locales locales.addtoother = Add To Other Locales @@ -2275,7 +2275,7 @@ unit.emanate.description = Builds structures to defend the Acropolis core. Repai lst.read = Read a number from a linked memory cell. lst.write = Write a number to a linked memory cell. lst.print = Add text to the print buffer.\nDoes not display anything until [accent]Print Flush[] is used. -lst.format = Replace next placeholder ("[accent]@[]") in text buffer with a value.\nExample:\n[accent]print "test @"\nformat "example" +lst.format = Replace next placeholder in text buffer with a value.\nDoes not do anything if placeholder pattern is invalid.\nPlaceholder pattern: "{[accent]number 0-9[]}"\nExample:\n[accent]print "test {0}"\nformat "example" lst.draw = Add an operation to the drawing buffer.\nDoes not display anything until [accent]Draw Flush[] is used. lst.drawflush = Flush queued [accent]Draw[] operations to a display. lst.printflush = Flush queued [accent]Print[] operations to a message block. diff --git a/core/assets/bundles/bundle_tr.properties b/core/assets/bundles/bundle_tr.properties index 3df7fa80c7..ebc53ffe12 100644 --- a/core/assets/bundles/bundle_tr.properties +++ b/core/assets/bundles/bundle_tr.properties @@ -606,7 +606,7 @@ filter.option.floor2 = İkincil Duvar filter.option.threshold2 = İkincil Eşik filter.option.radius = Yarıçap filter.option.percentile = Yüzdelik -locales.info = Here, you can add locale bundles for specific languages to your map. In locale bundles, each property has a name and a value. These properties can be used by world processors and objectives using their names. They support text formatting (replacing placeholders with actual values).\n\n[cyan]Example property:\n[]name: [accent]timer[]\nvalue: [accent]Example timer, time left: @[]\n\n[cyan]Usage:\n[]Set it as objective's text: [accent]@timer\n\n[]Print it in a world processor:\n[accent]localeprint "timer"\nformat time\n[gray](where time is a separately calculated variable) +locales.info = Here, you can add locale bundles for specific languages to your map. In locale bundles, each property has a name and a value. These properties can be used by world processors and objectives using their names. They support text formatting (replacing placeholders with actual values).\n\n[cyan]Example property:\n[]name: [accent]timer[]\nvalue: [accent]Example timer, time left: {0}[]\n\n[cyan]Usage:\n[]Set it as objective's text: [accent]@timer\n\n[]Print it in a world processor:\n[accent]localeprint "timer"\nformat time\n[gray](where time is a separately calculated variable) locales.deletelocale = Are you sure you want to delete this locale bundle? locales.applytoall = Apply Changes To All Locales locales.addtoother = Add To Other Locales @@ -2292,7 +2292,7 @@ unit.emanate.description = Akropolis Merkezini korumak için binalar inşa eder. lst.read = Bağlı hafıza kutusundaki numarayı okur. lst.write = Bağlı hafıza kutuaundaki numaraya yazar. lst.print = Yazı yazar. -lst.format = Replace next placeholder ("[accent]@[]") in text buffer with a value.\nExample:\n[accent]print "test @"\nformat "example" +lst.format = Replace next placeholder in text buffer with a value.\nDoes not do anything if placeholder pattern is invalid.\nPlaceholder pattern: "{[accent]number 0-9[]}"\nExample:\n[accent]print "test {0}"\nformat "example" lst.draw = Ekrana Çizer. lst.drawflush = Ekrana Çizimi Aktarır. lst.printflush = Mesaj bloğuna metnini aktarır, diff --git a/core/assets/bundles/bundle_uk_UA.properties b/core/assets/bundles/bundle_uk_UA.properties index 6f94bbdf57..94e234dfa3 100644 --- a/core/assets/bundles/bundle_uk_UA.properties +++ b/core/assets/bundles/bundle_uk_UA.properties @@ -609,7 +609,7 @@ filter.option.floor2 = Друга поверхня filter.option.threshold2 = Вторинний граничний поріг filter.option.radius = Радіус filter.option.percentile = Спад -locales.info = Here, you can add locale bundles for specific languages to your map. In locale bundles, each property has a name and a value. These properties can be used by world processors and objectives using their names. They support text formatting (replacing placeholders with actual values).\n\n[cyan]Example property:\n[]name: [accent]timer[]\nvalue: [accent]Example timer, time left: @[]\n\n[cyan]Usage:\n[]Set it as objective's text: [accent]@timer\n\n[]Print it in a world processor:\n[accent]localeprint "timer"\nformat time\n[gray](where time is a separately calculated variable) +locales.info = Here, you can add locale bundles for specific languages to your map. In locale bundles, each property has a name and a value. These properties can be used by world processors and objectives using their names. They support text formatting (replacing placeholders with actual values).\n\n[cyan]Example property:\n[]name: [accent]timer[]\nvalue: [accent]Example timer, time left: {0}[]\n\n[cyan]Usage:\n[]Set it as objective's text: [accent]@timer\n\n[]Print it in a world processor:\n[accent]localeprint "timer"\nformat time\n[gray](where time is a separately calculated variable) locales.deletelocale = Are you sure you want to delete this locale bundle? locales.applytoall = Apply Changes To All Locales locales.addtoother = Add To Other Locales @@ -2319,7 +2319,7 @@ unit.emanate.description = Англійська назва: Emanate\nБудує lst.read = Зчитує число із з’єднаної комірки пам’яті. lst.write = Записує числу у з’єднану комірку пам’яті. lst.print = Додайте текст до буфера друку.\nНічого не відображає, поки [accent]Print Flush[] використовується. -lst.format = Replace next placeholder ("[accent]@[]") in text buffer with a value.\nExample:\n[accent]print "test @"\nformat "example" +lst.format = Replace next placeholder in text buffer with a value.\nDoes not do anything if placeholder pattern is invalid.\nPlaceholder pattern: "{[accent]number 0-9[]}"\nExample:\n[accent]print "test {0}"\nformat "example" lst.draw = Додає операцію до буфера рисунка.\nНічого не відображає, поки [accent]Draw Flush[] використовується. lst.drawflush = Скидає буфер операцій [accent]Draw[] на дисплей. lst.printflush = Скидає буфер операцій [accent]Print[] у блок «Повідомлення». diff --git a/core/assets/bundles/bundle_vi.properties b/core/assets/bundles/bundle_vi.properties index 931daa4dd9..7d74309dec 100644 --- a/core/assets/bundles/bundle_vi.properties +++ b/core/assets/bundles/bundle_vi.properties @@ -607,7 +607,7 @@ filter.option.floor2 = Nền phụ filter.option.threshold2 = Ngưỡng phụ filter.option.radius = Bán kính filter.option.percentile = Phần trăm -locales.info = Tại đây, bạn có thể thêm gói ngôn ngữ cho ngôn ngữ cụ thể vào bản đồ của bạn. Trong gói ngôn ngữ, mỗi thuộc tính có tên và giá trị. Những thuộc tính này có thể được sử dụng bởi Bộ xử lý thế giới và Mục tiêu nhiệm vụ bằng tên của chúng. Chúng hỗ trợ định dạng văn bản (thay thế kí tự giữ chỗ bằng giá trị thực tế).\n\n[cyan]Ví dụ thuộc tính:\n[]tên: [accent]timer[]\nvalue: [accent]Bộ đếm thời gian ví dụ, thời gian còn lại: @[]\n\n[cyan]Cách dùng:\n[]Đặt làm văn bản cho Mục tiêu nhiệm vụ: [accent]@timer\n\n[]In nó trong Bộ xử lý thế giới:\n[accent]localeprint "timer"\nformat time\n[gray](với time là biến được tính toán riêng biệt) +locales.info = Tại đây, bạn có thể thêm gói ngôn ngữ cho ngôn ngữ cụ thể vào bản đồ của bạn. Trong gói ngôn ngữ, mỗi thuộc tính có tên và giá trị. Những thuộc tính này có thể được sử dụng bởi Bộ xử lý thế giới và Mục tiêu nhiệm vụ bằng tên của chúng. Chúng hỗ trợ định dạng văn bản (thay thế kí tự giữ chỗ bằng giá trị thực tế).\n\n[cyan]Ví dụ thuộc tính:\n[]tên: [accent]timer[]\nvalue: [accent]Bộ đếm thời gian ví dụ, thời gian còn lại: {0}[]\n\n[cyan]Cách dùng:\n[]Đặt làm văn bản cho Mục tiêu nhiệm vụ: [accent]@timer\n\n[]In nó trong Bộ xử lý thế giới:\n[accent]localeprint "timer"\nformat time\n[gray](với time là biến được tính toán riêng biệt) locales.deletelocale = Bạn có chắc muốn xóa gói ngôn ngữ này? locales.applytoall = Áp dụng thay đổi cho tất cả gói ngôn ngữ locales.addtoother = Thêm vào các gói ngôn ngữ khác diff --git a/core/assets/bundles/bundle_zh_CN.properties b/core/assets/bundles/bundle_zh_CN.properties index 7386027dfa..9cc26e8dfd 100644 --- a/core/assets/bundles/bundle_zh_CN.properties +++ b/core/assets/bundles/bundle_zh_CN.properties @@ -610,7 +610,7 @@ filter.option.floor2 = 内层地形 filter.option.threshold2 = 内层比例 filter.option.radius = 半径 filter.option.percentile = 百分比 -locales.info = 在这里,您可以为特定语言添加本地化语言包到您的地图中。在本地化语言包中,每个文本属性都有一个名称和一个值。这些文本属性可以由世界处理器和游戏目标使用它们的名称。它们支持文本格式化(用实际值替换占位符)。\n\n[cyan]示例文本属性:\n[]名称: [accent]timer[]值: [accent]示例计时器, 剩余时间: @[]\n\n[cyan]用法:\n[]将其设置为目标的文本: [accent]@timer\n\n[]在世界处理器中打印它:\n[accent]localeprint "timer"\n格式化时间\n[gray](时间是一个单独计算的变量) +locales.info = 在这里,您可以为特定语言添加本地化语言包到您的地图中。在本地化语言包中,每个文本属性都有一个名称和一个值。这些文本属性可以由世界处理器和游戏目标使用它们的名称。它们支持文本格式化(用实际值替换占位符)。\n\n[cyan]示例文本属性:\n[]名称: [accent]timer[]值: [accent]示例计时器, 剩余时间: {0}[]\n\n[cyan]用法:\n[]将其设置为目标的文本: [accent]@timer\n\n[]在世界处理器中打印它:\n[accent]localeprint "timer"\n格式化时间\n[gray](时间是一个单独计算的变量) locales.deletelocale = 您确定要删除该本地化语言包吗? locales.applytoall = 将更改应用于所有本地化语言包 locales.addtoother = 添加到其他本地化语言包 @@ -2319,7 +2319,7 @@ unit.emanate.description = 保护卫城核心,可建造建筑。 使用一对 lst.read = 从连接的内存读取数字 lst.write = 向连接的内存写入数字 lst.print = 添加文字到打印缓存\n使用[accent]Print Flush[]后才会真正显示 -lst.format = Replace next placeholder ("[accent]@[]") in text buffer with a value.\nExample:\n[accent]print "test @"\nformat "example" +lst.format = Replace next placeholder in text buffer with a value.\nDoes not do anything if placeholder pattern is invalid.\nPlaceholder pattern: "{[accent]number 0-9[]}"\nExample:\n[accent]print "test {0}"\nformat "example" lst.draw = 添加绘图操作到绘图缓存\n使用[accent]Draw Flush[]后才会真正显示 lst.drawflush = 将绘图缓存中的[accent]Draw[]队列刷新到显示屏 lst.printflush = 将打印缓存中的[accent]Print[]队列刷新到信息板 diff --git a/core/assets/bundles/bundle_zh_TW.properties b/core/assets/bundles/bundle_zh_TW.properties index 85afd5a50f..5330002f2f 100644 --- a/core/assets/bundles/bundle_zh_TW.properties +++ b/core/assets/bundles/bundle_zh_TW.properties @@ -607,7 +607,7 @@ filter.option.floor2 = 次要地板 filter.option.threshold2 = 次要閾值 filter.option.radius = 半徑 filter.option.percentile = 百分比 -locales.info = Here, you can add locale bundles for specific languages to your map. In locale bundles, each property has a name and a value. These properties can be used by world processors and objectives using their names. They support text formatting (replacing placeholders with actual values).\n\n[cyan]Example property:\n[]name: [accent]timer[]\nvalue: [accent]Example timer, time left: @[]\n\n[cyan]Usage:\n[]Set it as objective's text: [accent]@timer\n\n[]Print it in a world processor:\n[accent]localeprint "timer"\nformat time\n[gray](where time is a separately calculated variable) +locales.info = Here, you can add locale bundles for specific languages to your map. In locale bundles, each property has a name and a value. These properties can be used by world processors and objectives using their names. They support text formatting (replacing placeholders with actual values).\n\n[cyan]Example property:\n[]name: [accent]timer[]\nvalue: [accent]Example timer, time left: {0}[]\n\n[cyan]Usage:\n[]Set it as objective's text: [accent]@timer\n\n[]Print it in a world processor:\n[accent]localeprint "timer"\nformat time\n[gray](where time is a separately calculated variable) locales.deletelocale = Are you sure you want to delete this locale bundle? locales.applytoall = Apply Changes To All Locales locales.addtoother = Add To Other Locales @@ -2304,7 +2304,7 @@ unit.emanate.description = Builds structures to defend the Acropolis core. Repai lst.read = [accent]讀取[]記憶體中的一項數值 lst.write = [accent]寫入[]一項數值到記憶體中 lst.print = 將文字加入輸出的暫存中,搭配[accent]Print Flush[], [accent]Flush message[]使用 -lst.format = Replace next placeholder ("[accent]@[]") in text buffer with a value.\nExample:\n[accent]print "test @"\nformat "example" +lst.format = Replace next placeholder in text buffer with a value.\nDoes not do anything if placeholder pattern is invalid.\nPlaceholder pattern: "{[accent]number 0-9[]}"\nExample:\n[accent]print "test {0}"\nformat "example" lst.draw = 將圖形加入顯示的暫存中,搭配[accent]Draw Flush[]使用 lst.drawflush = 將所有暫存的[accent]Draw[]指令推到顯示器上 lst.printflush = 將所有暫存的[accent]Print[]指令推到訊息板上 diff --git a/core/src/mindustry/editor/MapLocalesDialog.java b/core/src/mindustry/editor/MapLocalesDialog.java index 17cc9f2764..47d902639c 100644 --- a/core/src/mindustry/editor/MapLocalesDialog.java +++ b/core/src/mindustry/editor/MapLocalesDialog.java @@ -5,7 +5,6 @@ import arc.func.*; import arc.graphics.*; import arc.scene.style.*; import arc.scene.ui.*; -import arc.scene.ui.Button.*; import arc.scene.ui.TextButton.*; import arc.scene.ui.layout.*; import arc.scene.utils.*; diff --git a/core/src/mindustry/ui/dialogs/CustomRulesDialog.java b/core/src/mindustry/ui/dialogs/CustomRulesDialog.java index 1091c74c08..40f7e1a642 100644 --- a/core/src/mindustry/ui/dialogs/CustomRulesDialog.java +++ b/core/src/mindustry/ui/dialogs/CustomRulesDialog.java @@ -3,6 +3,7 @@ package mindustry.ui.dialogs; import arc.*; import arc.func.*; import arc.graphics.*; +import arc.input.KeyCode; import arc.scene.style.*; import arc.scene.ui.*; import arc.scene.ui.ImageButton.*; @@ -30,6 +31,12 @@ public class CustomRulesDialog extends BaseDialog{ private Table main; private Prov resetter; private LoadoutDialog loadoutDialog; + public Seq categories; + public Table current; + public Seq categoryNames; + public String currentName; + public String ruleSearch = ""; + public Seq additionalSetup; // for modding to easily add new rules public CustomRulesDialog(){ super("@mode.custom"); @@ -40,6 +47,12 @@ public class CustomRulesDialog extends BaseDialog{ shown(this::setup); addCloseButton(); + additionalSetup = new Seq<>(); + categories = new Seq<>(); + categoryNames = new Seq<>(); + currentName = ""; + ruleSearch = ""; + buttons.button("@edit", Icon.pencil, () -> { BaseDialog dialog = new BaseDialog("@waves.edit"); dialog.addCloseButton(); @@ -176,13 +189,26 @@ public class CustomRulesDialog extends BaseDialog{ } void setup(){ + categories.clear(); cont.clear(); + cont.table(t -> { + t.add("@search").padRight(10); + t.field(ruleSearch, text -> + ruleSearch = text.trim().replaceAll(" +", " ").toLowerCase() + ).grow().pad(8).get().keyDown(KeyCode.enter, this::setup); + t.button(Icon.cancel, Styles.emptyi, () -> { + ruleSearch = ""; + setup(); + }).padLeft(10f).size(35f); + t.button(Icon.zoom, Styles.emptyi, this::setup).size(54f); + }).row(); cont.pane(m -> main = m).scrollX(false); main.margin(10f); - main.left().defaults().fillX().left().pad(5); + main.left().defaults().fillX().left(); main.row(); - title("@rules.title.waves"); + + category("waves"); check("@rules.waves", b -> rules.waves = b, () -> rules.waves); check("@rules.wavesending", b -> rules.waveSending = b, () -> rules.waveSending, () -> rules.waves); check("@rules.wavetimer", b -> rules.waveTimer = b, () -> rules.waveTimer, () -> rules.waves); @@ -195,7 +221,8 @@ public class CustomRulesDialog extends BaseDialog{ } number("@rules.dropzoneradius", false, f -> rules.dropZoneRadius = f * tilesize, () -> rules.dropZoneRadius / tilesize, () -> rules.waves); - title("@rules.title.resourcesbuilding"); + + category("resourcesbuilding"); check("@rules.infiniteresources", b -> { rules.infiniteResources = b; @@ -207,7 +234,7 @@ public class CustomRulesDialog extends BaseDialog{ setup(); } }, () -> rules.infiniteResources); - check("@rules.onlydepositcore", b -> rules.onlyDepositCore = b, () -> rules.onlyDepositCore); + withInfo("@rules.onlydepositcore.info", () -> check("@rules.onlydepositcore", b -> rules.onlyDepositCore = b, () -> rules.onlyDepositCore)); check("@rules.derelictrepair", b -> rules.derelictRepair = b, () -> rules.derelictRepair); check("@rules.reactorexplosions", b -> rules.reactorExplosions = b, () -> rules.reactorExplosions); check("@rules.schematic", b -> rules.schematicsAllowed = b, () -> rules.schematicsAllowed); @@ -220,18 +247,23 @@ public class CustomRulesDialog extends BaseDialog{ number("@rules.blockhealthmultiplier", f -> rules.blockHealthMultiplier = f, () -> rules.blockHealthMultiplier); number("@rules.blockdamagemultiplier", f -> rules.blockDamageMultiplier = f, () -> rules.blockDamageMultiplier); - main.button("@configure", - () -> loadoutDialog.show(999999, rules.loadout, - i -> true, - () -> rules.loadout.clear().add(new ItemStack(Items.copper, 100)), - () -> {}, () -> {} - )).left().width(300f).row(); + if(Core.bundle.get("configure").toLowerCase().contains(ruleSearch)){ + current.button("@configure", + () -> loadoutDialog.show(999999, rules.loadout, + i -> true, + () -> rules.loadout.clear().add(new ItemStack(Items.copper, 100)), + () -> {}, () -> {} + )).left().width(300f).row(); + } - main.button("@bannedblocks", () -> showBanned("@bannedblocks", ContentType.block, rules.bannedBlocks, Block::canBeBuilt)).left().width(300f).row(); + if(Core.bundle.get("bannedblocks").toLowerCase().contains(ruleSearch)){ + current.button("@bannedblocks", () -> showBanned("@bannedblocks", ContentType.block, rules.bannedBlocks, Block::canBeBuilt)).left().width(300f).row(); + } check("@rules.hidebannedblocks", b -> rules.hideBannedBlocks = b, () -> rules.hideBannedBlocks); check("@bannedblocks.whitelist", b -> rules.blockWhitelist = b, () -> rules.blockWhitelist); - title("@rules.title.unit"); + + category("unit"); check("@rules.unitcapvariable", b -> rules.unitCapVariable = b, () -> rules.unitCapVariable); check("@rules.unitpayloadsexplode", b -> rules.unitPayloadsExplode = b, () -> rules.unitPayloadsExplode); numberi("@rules.unitcap", f -> rules.unitCap = f, () -> rules.unitCap, -999, 999); @@ -241,17 +273,21 @@ public class CustomRulesDialog extends BaseDialog{ number("@rules.unitcostmultiplier", f -> rules.unitCostMultiplier = f, () -> rules.unitCostMultiplier); number("@rules.unithealthmultiplier", f -> rules.unitHealthMultiplier = f, () -> rules.unitHealthMultiplier); - main.button("@bannedunits", () -> showBanned("@bannedunits", ContentType.unit, rules.bannedUnits, u -> !u.isHidden())).left().width(300f).row(); + if(Core.bundle.get("bannedunits").toLowerCase().contains(ruleSearch)){ + current.button("@bannedunits", () -> showBanned("@bannedunits", ContentType.unit, rules.bannedUnits, u -> !u.isHidden())).left().width(300f).row(); + } check("@bannedunits.whitelist", b -> rules.unitWhitelist = b, () -> rules.unitWhitelist); - title("@rules.title.enemy"); + + category("enemy"); check("@rules.attack", b -> rules.attackMode = b, () -> rules.attackMode); check("@rules.corecapture", b -> rules.coreCapture = b, () -> rules.coreCapture); - check("@rules.placerangecheck", b -> rules.placeRangeCheck = b, () -> rules.placeRangeCheck); + withInfo("@rules.placerangecheck.info",() -> check("@rules.placerangecheck", b -> rules.placeRangeCheck = b, () -> rules.placeRangeCheck)); check("@rules.polygoncoreprotection", b -> rules.polygonCoreProtection = b, () -> rules.polygonCoreProtection); number("@rules.enemycorebuildradius", f -> rules.enemyCoreBuildRadius = f * tilesize, () -> Math.min(rules.enemyCoreBuildRadius / tilesize, 200), () -> !rules.polygonCoreProtection); - title("@rules.title.environment"); + + category("environment"); check("@rules.explosions", b -> rules.damageExplosions = b, () -> rules.damageExplosions); check("@rules.fire", b -> rules.fire = b, () -> rules.fire); check("@rules.fog", b -> rules.fog = b, () -> rules.fog); @@ -267,63 +303,70 @@ public class CustomRulesDialog extends BaseDialog{ number("@rules.solarmultiplier", f -> rules.solarMultiplier = f, () -> rules.solarMultiplier); - main.button(b -> { - b.left(); - b.table(Tex.pane, in -> { - in.stack(new Image(Tex.alphaBg), new Image(Tex.whiteui){{ - update(() -> setColor(rules.ambientLight)); - }}).grow(); - }).margin(4).size(50f).padRight(10); - b.add("@rules.ambientlight"); - }, () -> ui.picker.show(rules.ambientLight, rules.ambientLight::set)).left().width(250f).row(); + if(Core.bundle.get("rules.ambientlight").toLowerCase().contains(ruleSearch)){ + current.button(b -> { + b.left(); + b.table(Tex.pane, in -> { + in.stack(new Image(Tex.alphaBg), new Image(Tex.whiteui){{ + update(() -> setColor(rules.ambientLight)); + }}).grow(); + }).margin(4).size(50f).padRight(10); + b.add("@rules.ambientlight"); + }, () -> ui.picker.show(rules.ambientLight, rules.ambientLight::set)).left().width(250f).row(); + } - main.button("@rules.weather", this::weatherDialog).width(250f).left().row(); + if(Core.bundle.get("rules.weather").toLowerCase().contains(ruleSearch)){ + current.button("@rules.weather", this::weatherDialog).width(250f).left().row(); + } - title("@rules.title.planet"); - main.table(Tex.button, t -> { - t.margin(10f); - var group = new ButtonGroup<>(); - var style = Styles.flatTogglet; + category("planet"); + if(Core.bundle.get("rules.title.planet").toLowerCase().contains(ruleSearch)){ + current.table(Tex.button, t -> { + t.margin(10f); + var group = new ButtonGroup<>(); + var style = Styles.flatTogglet; - t.defaults().size(140f, 50f); + t.defaults().size(140f, 50f); - for(Planet planet : content.planets().select(p -> p.accessible && p.visible && p.isLandable())){ - t.button(planet.localizedName, style, () -> { - planet.applyRules(rules); - }).group(group).checked(b -> rules.planet == planet); + for(Planet planet : content.planets().select(p -> p.accessible && p.visible && p.isLandable())){ + t.button(planet.localizedName, style, () -> { + planet.applyRules(rules); + }).group(group).checked(b -> rules.planet == planet); - if(t.getChildren().size % 3 == 0){ - t.row(); + if(t.getChildren().size % 3 == 0){ + t.row(); + } } - } - t.button("@rules.anyenv", style, () -> { - rules.env = Vars.defaultEnv; - rules.hiddenBuildItems.clear(); - rules.planet = Planets.sun; - }).group(group).checked(b -> rules.planet == Planets.sun); - }).left().fill(false).expand(false, false).row(); + t.button("@rules.anyenv", style, () -> { + rules.env = Vars.defaultEnv; + rules.hiddenBuildItems.clear(); + rules.planet = Planets.sun; + }).group(group).checked(b -> rules.planet == Planets.sun); + }).left().fill(false).expand(false, false).row(); + } - title("@rules.title.teams"); + category("teams"); team("@rules.playerteam", t -> rules.defaultTeam = t, () -> rules.defaultTeam); team("@rules.enemyteam", t -> rules.waveTeam = t, () -> rules.waveTeam); for(Team team : Team.baseTeams){ boolean[] shown = {false}; - Table wasMain = main; + Table wasCurrent = current; - main.button(team.coloredName(), Icon.downOpen, Styles.togglet, () -> { + Table teamRules = new Table(); // just button and collapser in one table + teamRules.button(team.coloredName(), Icon.downOpen, Styles.togglet, () -> { shown[0] = !shown[0]; }).marginLeft(14f).width(260f).height(55f).update(t -> { ((Image)t.getChildren().get(1)).setDrawable(shown[0] ? Icon.upOpen : Icon.downOpen); t.setChecked(shown[0]); - }).row(); + }).left().padBottom(2f).row(); - main.collapser(t -> { - t.left().defaults().fillX().left().pad(5); - main = t; + teamRules.collapser(c -> { + c.left().defaults().fillX().left().pad(5); + current = c; TeamRule teams = rules.teams.get(team); number("@rules.blockhealthmultiplier", f -> teams.blockHealthMultiplier = f, () -> teams.blockHealthMultiplier); @@ -347,13 +390,42 @@ public class CustomRulesDialog extends BaseDialog{ number("@rules.unitcostmultiplier", f -> teams.unitCostMultiplier = f, () -> teams.unitCostMultiplier); number("@rules.unithealthmultiplier", f -> teams.unitHealthMultiplier = f, () -> teams.unitHealthMultiplier); - main = wasMain; - }, () -> shown[0]).growX().row(); + if(!current.hasChildren()){ + teamRules.clear(); + }else{ + wasCurrent.add(teamRules).row(); + } + + current = wasCurrent; + }, () -> shown[0]).left().growX().row(); + } + + additionalSetup.each(Runnable::run); + + for(var i = 0; i < categories.size; i++){ + addToMain(categories.get(i), Core.bundle.get("rules.title." + categoryNames.get(i))); } } - void team(String text, Cons cons, Prov prov){ - main.table(t -> { + public void category(String name){ + current = new Table(); + current.left().defaults().fillX().left().pad(5); + currentName = name; + categories.add(current); + categoryNames.add(currentName); + } + + void addToMain(Table category, String title){ + if(category.hasChildren()){ + main.add(title).color(Pal.accent).padTop(20).padRight(100f).padBottom(-3).fillX().left().pad(5).row(); + main.image().color(Pal.accent).height(3f).padRight(100f).padBottom(20).fillX().left().pad(5).row(); + main.add(category).row(); + } + } + + public void team(String text, Cons cons, Prov prov){ + if(!Core.bundle.get(text.substring(1)).toLowerCase().contains(ruleSearch)) return; + current.table(t -> { t.left(); t.add(text).left().padRight(5); @@ -365,28 +437,29 @@ public class CustomRulesDialog extends BaseDialog{ }).padTop(0).row(); } - void number(String text, Floatc cons, Floatp prov){ + public void number(String text, Floatc cons, Floatp prov){ number(text, false, cons, prov, () -> true, 0, Float.MAX_VALUE); } - void number(String text, Floatc cons, Floatp prov, float min, float max){ + public void number(String text, Floatc cons, Floatp prov, float min, float max){ number(text, false, cons, prov, () -> true, min, max); } - void number(String text, boolean integer, Floatc cons, Floatp prov, Boolp condition){ + public void number(String text, boolean integer, Floatc cons, Floatp prov, Boolp condition){ number(text, integer, cons, prov, condition, 0, Float.MAX_VALUE); } - void number(String text, Floatc cons, Floatp prov, Boolp condition){ + public void number(String text, Floatc cons, Floatp prov, Boolp condition){ number(text, false, cons, prov, condition, 0, Float.MAX_VALUE); } - void numberi(String text, Intc cons, Intp prov, int min, int max){ + public void numberi(String text, Intc cons, Intp prov, int min, int max){ numberi(text, cons, prov, () -> true, min, max); } - void numberi(String text, Intc cons, Intp prov, Boolp condition, int min, int max){ - main.table(t -> { + public void numberi(String text, Intc cons, Intp prov, Boolp condition, int min, int max){ + if(!Core.bundle.get(text.substring(1)).toLowerCase().contains(ruleSearch)) return; + current.table(t -> { t.left(); t.add(text).left().padRight(5) .update(a -> a.setColor(condition.get() ? Color.white : Color.gray)); @@ -397,8 +470,9 @@ public class CustomRulesDialog extends BaseDialog{ }).padTop(0).row(); } - void number(String text, boolean integer, Floatc cons, Floatp prov, Boolp condition, float min, float max){ - main.table(t -> { + public void number(String text, boolean integer, Floatc cons, Floatp prov, Boolp condition, float min, float max){ + if(!Core.bundle.get(text.substring(1)).toLowerCase().contains(ruleSearch)) return; + current.table(t -> { t.left(); t.add(text).left().padRight(5) .update(a -> a.setColor(condition.get() ? Color.white : Color.gray)); @@ -407,23 +481,34 @@ public class CustomRulesDialog extends BaseDialog{ .update(a -> a.setDisabled(!condition.get())) .valid(f -> Strings.canParsePositiveFloat(f) && Strings.parseFloat(f) >= min && Strings.parseFloat(f) <= max).width(120f).left(); }).padTop(0); - main.row(); + current.row(); } - void check(String text, Boolc cons, Boolp prov){ + public void check(String text, Boolc cons, Boolp prov){ check(text, cons, prov, () -> true); } - void check(String text, Boolc cons, Boolp prov, Boolp condition){ - main.check(text, cons).checked(prov.get()).update(a -> a.setDisabled(!condition.get())).padRight(100f).get().left(); - main.row(); + public void check(String text, Boolc cons, Boolp prov, Boolp condition){ + if(!Core.bundle.get(text.substring(1)).toLowerCase().contains(ruleSearch)) return; + current.check(text, cons).checked(prov.get()).update(a -> a.setDisabled(!condition.get())).padRight(100f).get().left(); + current.row(); } - void title(String text){ - main.add(text).color(Pal.accent).padTop(20).padRight(100f).padBottom(-3); - main.row(); - main.image().color(Pal.accent).height(3f).padRight(100f).padBottom(20); - main.row(); + public void withInfo(String info, Runnable add){ + Table wasCurrent = current; + current = new Table(); + current.left().defaults().fillX().left(); + + current.button(Icon.infoSmall, () -> ui.showInfo(info)).size(32f).padRight(10f); + add.run(); + + // rule does not match search pattern (runnable returned without adding anything) + if(current.getCells().size < 2){ + current.clear(); + }else{ + wasCurrent.add(current).row(); + } + current = wasCurrent; } Cell field(Table table, float value, Floatc setter){ From 7f30cd8703f500a619357872a87df1773819b97d Mon Sep 17 00:00:00 2001 From: Github Actions Date: Thu, 11 Apr 2024 21:57:25 +0000 Subject: [PATCH 89/89] Automatic bundle update --- core/assets/bundles/bundle_be.properties | 4 +++- core/assets/bundles/bundle_bg.properties | 4 +++- core/assets/bundles/bundle_ca.properties | 4 +++- core/assets/bundles/bundle_cs.properties | 4 +++- core/assets/bundles/bundle_da.properties | 4 +++- core/assets/bundles/bundle_de.properties | 4 +++- core/assets/bundles/bundle_es.properties | 4 +++- core/assets/bundles/bundle_et.properties | 4 +++- core/assets/bundles/bundle_eu.properties | 4 +++- core/assets/bundles/bundle_fi.properties | 4 +++- core/assets/bundles/bundle_fil.properties | 4 +++- core/assets/bundles/bundle_fr.properties | 4 +++- core/assets/bundles/bundle_hu.properties | 2 ++ core/assets/bundles/bundle_id_ID.properties | 4 +++- core/assets/bundles/bundle_it.properties | 4 +++- core/assets/bundles/bundle_ja.properties | 4 +++- core/assets/bundles/bundle_ko.properties | 4 +++- core/assets/bundles/bundle_lt.properties | 4 +++- core/assets/bundles/bundle_nl.properties | 4 +++- core/assets/bundles/bundle_nl_BE.properties | 4 +++- core/assets/bundles/bundle_pl.properties | 4 +++- core/assets/bundles/bundle_pt_BR.properties | 4 +++- core/assets/bundles/bundle_pt_PT.properties | 4 +++- core/assets/bundles/bundle_ro.properties | 4 +++- core/assets/bundles/bundle_ru.properties | 4 +++- core/assets/bundles/bundle_sr.properties | 4 +++- core/assets/bundles/bundle_sv.properties | 4 +++- core/assets/bundles/bundle_th.properties | 4 +++- core/assets/bundles/bundle_tk.properties | 4 +++- core/assets/bundles/bundle_tr.properties | 4 +++- core/assets/bundles/bundle_uk_UA.properties | 4 +++- core/assets/bundles/bundle_vi.properties | 2 ++ core/assets/bundles/bundle_zh_CN.properties | 4 +++- core/assets/bundles/bundle_zh_TW.properties | 4 +++- 34 files changed, 100 insertions(+), 32 deletions(-) diff --git a/core/assets/bundles/bundle_be.properties b/core/assets/bundles/bundle_be.properties index 2757457626..b1a94fc891 100644 --- a/core/assets/bundles/bundle_be.properties +++ b/core/assets/bundles/bundle_be.properties @@ -1347,6 +1347,8 @@ rules.weather = Надвор'е rules.weather.frequency = Частата: rules.weather.always = Заўсёды rules.weather.duration = Працягласць: +rules.placerangecheck.info = Prevents players from placing anything near enemy buildings. When trying to place a turret, the range is increased, so the turret will not be able to reach the enemy. +rules.onlydepositcore.info = Prevents units from depositing items into any buildings except cores. content.item.name = Рэчывы content.liquid.name = Вадкасці @@ -2273,7 +2275,7 @@ unit.emanate.description = Builds structures to defend the Acropolis core. Repai lst.read = Read a number from a linked memory cell. lst.write = Write a number to a linked memory cell. lst.print = Add text to the print buffer.\nDoes not display anything until [accent]Print Flush[] is used. -lst.format = Replace next placeholder in text buffer with a value.\nDoes not do anything if placeholder pattern is invalid.\nPlaceholder pattern: "{[accent]number 0-9[]}"\nExample:\n[accent]print "test {0}"\nformat "example" +lst.format = Replace next placeholder in text buffer with a value.\nDoes not do anything if placeholder pattern is invalid.\nPlaceholder pattern: "{[accent]number 0-9[]}"\nExample:\n[accent]print "test {0}"\nformat "example" lst.draw = Add an operation to the drawing buffer.\nDoes not display anything until [accent]Draw Flush[] is used. lst.drawflush = Flush queued [accent]Draw[] operations to a display. lst.printflush = Flush queued [accent]Print[] operations to a message block. diff --git a/core/assets/bundles/bundle_bg.properties b/core/assets/bundles/bundle_bg.properties index 08d2bd5893..eafedcdd6b 100644 --- a/core/assets/bundles/bundle_bg.properties +++ b/core/assets/bundles/bundle_bg.properties @@ -1358,6 +1358,8 @@ rules.weather = Климат rules.weather.frequency = Честота: rules.weather.always = Винаги rules.weather.duration = Продължителност: +rules.placerangecheck.info = Prevents players from placing anything near enemy buildings. When trying to place a turret, the range is increased, so the turret will not be able to reach the enemy. +rules.onlydepositcore.info = Prevents units from depositing items into any buildings except cores. content.item.name = Предмети content.liquid.name = Течности @@ -2287,7 +2289,7 @@ unit.emanate.description = Builds structures to defend the Acropolis core. Repai lst.read = Прочети число от свързано хранилище за памет. lst.write = Запиши число в свързано хранилище за памет. lst.print = Добави текст в буфера за изписване.\nНе визуализира нищо докато не използвате [accent]Print Flush[]. -lst.format = Replace next placeholder in text buffer with a value.\nDoes not do anything if placeholder pattern is invalid.\nPlaceholder pattern: "{[accent]number 0-9[]}"\nExample:\n[accent]print "test {0}"\nformat "example" +lst.format = Replace next placeholder in text buffer with a value.\nDoes not do anything if placeholder pattern is invalid.\nPlaceholder pattern: "{[accent]number 0-9[]}"\nExample:\n[accent]print "test {0}"\nformat "example" lst.draw = Добавя операция в буфера за изображение.\nНе показва нищо докато не използвате [accent]Draw Flush[]. lst.drawflush = Изпълнява операции, поискани с команда [accent]Draw[] върху посочен дисплей. lst.printflush = Извежда текст натрупан с [accent]Print[] върху посочен блок за съобщение. diff --git a/core/assets/bundles/bundle_ca.properties b/core/assets/bundles/bundle_ca.properties index bde7361028..149756ce51 100644 --- a/core/assets/bundles/bundle_ca.properties +++ b/core/assets/bundles/bundle_ca.properties @@ -1361,6 +1361,8 @@ rules.weather = Estat meteorològic rules.weather.frequency = Freqüència: rules.weather.always = Sempre rules.weather.duration = Durada: +rules.placerangecheck.info = Prevents players from placing anything near enemy buildings. When trying to place a turret, the range is increased, so the turret will not be able to reach the enemy. +rules.onlydepositcore.info = Prevents units from depositing items into any buildings except cores. content.item.name = Elements content.liquid.name = Fluids @@ -2297,7 +2299,7 @@ unit.emanate.description = Construeix estructures per defensar el nucli Acròpol lst.read = Llegeix un nombre des d’una cel·la de memòria connectada. lst.write = Escriu un nombre en una cel·la de memòria connectada. lst.print = Afegeix un text a la cua d’impressió.\nEl text no es mostrarà fins que s’apliqui «[accent]Print Flush[]». -lst.format = Replace next placeholder in text buffer with a value.\nDoes not do anything if placeholder pattern is invalid.\nPlaceholder pattern: "{[accent]number 0-9[]}"\nExample:\n[accent]print "test {0}"\nformat "example" +lst.format = Replace next placeholder in text buffer with a value.\nDoes not do anything if placeholder pattern is invalid.\nPlaceholder pattern: "{[accent]number 0-9[]}"\nExample:\n[accent]print "test {0}"\nformat "example" lst.draw = Afegeix una instrucció de dibuix a la cua corresponent.\nEl resultat no es mostrarà fins que s’apliqui «[accent]Draw Flush[]». lst.drawflush = Executa les operacions de la cua de dibuix al monitor lògic. lst.printflush = Executa les operacions de la cua d’impressió al monitor lògic. diff --git a/core/assets/bundles/bundle_cs.properties b/core/assets/bundles/bundle_cs.properties index acd90ddc68..60ea6f6682 100644 --- a/core/assets/bundles/bundle_cs.properties +++ b/core/assets/bundles/bundle_cs.properties @@ -1360,6 +1360,8 @@ rules.weather = Počasí rules.weather.frequency = Četnost: rules.weather.always = Vždy rules.weather.duration = Trvání: +rules.placerangecheck.info = Prevents players from placing anything near enemy buildings. When trying to place a turret, the range is increased, so the turret will not be able to reach the enemy. +rules.onlydepositcore.info = Prevents units from depositing items into any buildings except cores. content.item.name = Předměty content.liquid.name = Kapaliny @@ -2292,7 +2294,7 @@ unit.emanate.description = Builds structures to defend the Acropolis core. Repai lst.read = Přečte číslo z připojené paměti. lst.write = Zapíše číslo do připojené paměti. lst.print = Přídá text do vypisovacího buferu.\nNezobrazí nic dokud [accent]Print Flush[] je použít. -lst.format = Replace next placeholder in text buffer with a value.\nDoes not do anything if placeholder pattern is invalid.\nPlaceholder pattern: "{[accent]number 0-9[]}"\nExample:\n[accent]print "test {0}"\nformat "example" +lst.format = Replace next placeholder in text buffer with a value.\nDoes not do anything if placeholder pattern is invalid.\nPlaceholder pattern: "{[accent]number 0-9[]}"\nExample:\n[accent]print "test {0}"\nformat "example" lst.draw = Přídá operaci do vykreslovacího buferu.\nNezobrazí nic dokud [accent]Draw Flush[] je použít. lst.drawflush = Provede všechny [accent]Draw[] operace na zobrazovač logiky. Pak vyčistí vykreslovací bufer. lst.printflush = Provede všechny [accent]Print[] operace do zprávy. Pak vyčistí vypisovací bufer. diff --git a/core/assets/bundles/bundle_da.properties b/core/assets/bundles/bundle_da.properties index 56e0977799..cb118a0b54 100644 --- a/core/assets/bundles/bundle_da.properties +++ b/core/assets/bundles/bundle_da.properties @@ -1349,6 +1349,8 @@ rules.weather = Vejr rules.weather.frequency = Frekvens: rules.weather.always = Always rules.weather.duration = Varighed: +rules.placerangecheck.info = Prevents players from placing anything near enemy buildings. When trying to place a turret, the range is increased, so the turret will not be able to reach the enemy. +rules.onlydepositcore.info = Prevents units from depositing items into any buildings except cores. content.item.name = Genstande content.liquid.name = Væsker @@ -2273,7 +2275,7 @@ unit.emanate.description = Builds structures to defend the Acropolis core. Repai lst.read = Read a number from a linked memory cell. lst.write = Write a number to a linked memory cell. lst.print = Add text to the print buffer.\nDoes not display anything until [accent]Print Flush[] is used. -lst.format = Replace next placeholder in text buffer with a value.\nDoes not do anything if placeholder pattern is invalid.\nPlaceholder pattern: "{[accent]number 0-9[]}"\nExample:\n[accent]print "test {0}"\nformat "example" +lst.format = Replace next placeholder in text buffer with a value.\nDoes not do anything if placeholder pattern is invalid.\nPlaceholder pattern: "{[accent]number 0-9[]}"\nExample:\n[accent]print "test {0}"\nformat "example" lst.draw = Add an operation to the drawing buffer.\nDoes not display anything until [accent]Draw Flush[] is used. lst.drawflush = Flush queued [accent]Draw[] operations to a display. lst.printflush = Flush queued [accent]Print[] operations to a message block. diff --git a/core/assets/bundles/bundle_de.properties b/core/assets/bundles/bundle_de.properties index 260236969e..4713fb1e5a 100644 --- a/core/assets/bundles/bundle_de.properties +++ b/core/assets/bundles/bundle_de.properties @@ -1371,6 +1371,8 @@ rules.weather = Wetter rules.weather.frequency = Häufigkeit: rules.weather.always = Immer rules.weather.duration = Dauer: +rules.placerangecheck.info = Prevents players from placing anything near enemy buildings. When trying to place a turret, the range is increased, so the turret will not be able to reach the enemy. +rules.onlydepositcore.info = Prevents units from depositing items into any buildings except cores. content.item.name = Materialien content.liquid.name = Flüssigkeiten @@ -2322,7 +2324,7 @@ unit.emanate.description = Baut Blöcke, um den Akropolis-Kern zu beschützen. H lst.read = Liest einen Wert aus einer verbundenen Speicherzelle. lst.write = Schreibt eine Zahl in einer verbundene Speicherzelle. lst.print = Fügt Text zum Textspeicher hinzu.\nZeigt nichts an, bis [accent]Print Flush[] verwendet wird. -lst.format = Replace next placeholder in text buffer with a value.\nDoes not do anything if placeholder pattern is invalid.\nPlaceholder pattern: "{[accent]number 0-9[]}"\nExample:\n[accent]print "test {0}"\nformat "example" +lst.format = Replace next placeholder in text buffer with a value.\nDoes not do anything if placeholder pattern is invalid.\nPlaceholder pattern: "{[accent]number 0-9[]}"\nExample:\n[accent]print "test {0}"\nformat "example" lst.draw = Fügt eine [accent]Draw[]-Aufgabe zum Bildspeicher hinzu.\nZeigt nichts an, bis [accent]Draw Flush[] verwendet wird. lst.drawflush = Druckt [accent]Draw[]-Aufgaben aus dem Bildspeicher auf einen Bildschirm. lst.printflush = Druckt [accent]Print[]-Aufgaben aus dem Textspeicher auf einen Nachrichtenblock. diff --git a/core/assets/bundles/bundle_es.properties b/core/assets/bundles/bundle_es.properties index a1784ec9c6..ce0c335822 100644 --- a/core/assets/bundles/bundle_es.properties +++ b/core/assets/bundles/bundle_es.properties @@ -1367,6 +1367,8 @@ rules.weather = Clima rules.weather.frequency = Frecuencia: rules.weather.always = Siempre rules.weather.duration = Duracion: +rules.placerangecheck.info = Prevents players from placing anything near enemy buildings. When trying to place a turret, the range is increased, so the turret will not be able to reach the enemy. +rules.onlydepositcore.info = Prevents units from depositing items into any buildings except cores. content.item.name = Objetos content.liquid.name = Líquidos @@ -2315,7 +2317,7 @@ unit.emanate.description = Construye estructuras para defender el núcleo Acropo lst.read = Lee un número desde una unidad de memoria conectada. lst.write = Escribe un número en una unidad de memoria conectada. lst.print = Añade texto a la cola para imprimir texto.\nNo mostrará nada hasta que se use [accent]Print Flush[]. -lst.format = Replace next placeholder in text buffer with a value.\nDoes not do anything if placeholder pattern is invalid.\nPlaceholder pattern: "{[accent]number 0-9[]}"\nExample:\n[accent]print "test {0}"\nformat "example" +lst.format = Replace next placeholder in text buffer with a value.\nDoes not do anything if placeholder pattern is invalid.\nPlaceholder pattern: "{[accent]number 0-9[]}"\nExample:\n[accent]print "test {0}"\nformat "example" lst.draw = Añade una operación a la cola para dibujar.\nNo mostrará nada hasta que se use [accent]Draw Flush[]. lst.drawflush = Muestra los datos en cola de operaciones [accent]Draw[] en un monitor gráfico. lst.printflush = Muestra los datos en cola de operaciones de [accent]Print[] en un bloque de mensaje. diff --git a/core/assets/bundles/bundle_et.properties b/core/assets/bundles/bundle_et.properties index 675204d69b..6e5dc5c842 100644 --- a/core/assets/bundles/bundle_et.properties +++ b/core/assets/bundles/bundle_et.properties @@ -1349,6 +1349,8 @@ rules.weather = Weather rules.weather.frequency = Frequency: rules.weather.always = Always rules.weather.duration = Duration: +rules.placerangecheck.info = Prevents players from placing anything near enemy buildings. When trying to place a turret, the range is increased, so the turret will not be able to reach the enemy. +rules.onlydepositcore.info = Prevents units from depositing items into any buildings except cores. content.item.name = Ressursid content.liquid.name = Vedelikud @@ -2275,7 +2277,7 @@ unit.emanate.description = Builds structures to defend the Acropolis core. Repai lst.read = Read a number from a linked memory cell. lst.write = Write a number to a linked memory cell. lst.print = Add text to the print buffer.\nDoes not display anything until [accent]Print Flush[] is used. -lst.format = Replace next placeholder in text buffer with a value.\nDoes not do anything if placeholder pattern is invalid.\nPlaceholder pattern: "{[accent]number 0-9[]}"\nExample:\n[accent]print "test {0}"\nformat "example" +lst.format = Replace next placeholder in text buffer with a value.\nDoes not do anything if placeholder pattern is invalid.\nPlaceholder pattern: "{[accent]number 0-9[]}"\nExample:\n[accent]print "test {0}"\nformat "example" lst.draw = Add an operation to the drawing buffer.\nDoes not display anything until [accent]Draw Flush[] is used. lst.drawflush = Flush queued [accent]Draw[] operations to a display. lst.printflush = Flush queued [accent]Print[] operations to a message block. diff --git a/core/assets/bundles/bundle_eu.properties b/core/assets/bundles/bundle_eu.properties index e43fd2fdf6..20dcfa9f68 100644 --- a/core/assets/bundles/bundle_eu.properties +++ b/core/assets/bundles/bundle_eu.properties @@ -1351,6 +1351,8 @@ rules.weather = Weather rules.weather.frequency = Frequency: rules.weather.always = Always rules.weather.duration = Duration: +rules.placerangecheck.info = Prevents players from placing anything near enemy buildings. When trying to place a turret, the range is increased, so the turret will not be able to reach the enemy. +rules.onlydepositcore.info = Prevents units from depositing items into any buildings except cores. content.item.name = Solidoak content.liquid.name = Likidoak @@ -2277,7 +2279,7 @@ unit.emanate.description = Builds structures to defend the Acropolis core. Repai lst.read = Read a number from a linked memory cell. lst.write = Write a number to a linked memory cell. lst.print = Add text to the print buffer.\nDoes not display anything until [accent]Print Flush[] is used. -lst.format = Replace next placeholder in text buffer with a value.\nDoes not do anything if placeholder pattern is invalid.\nPlaceholder pattern: "{[accent]number 0-9[]}"\nExample:\n[accent]print "test {0}"\nformat "example" +lst.format = Replace next placeholder in text buffer with a value.\nDoes not do anything if placeholder pattern is invalid.\nPlaceholder pattern: "{[accent]number 0-9[]}"\nExample:\n[accent]print "test {0}"\nformat "example" lst.draw = Add an operation to the drawing buffer.\nDoes not display anything until [accent]Draw Flush[] is used. lst.drawflush = Flush queued [accent]Draw[] operations to a display. lst.printflush = Flush queued [accent]Print[] operations to a message block. diff --git a/core/assets/bundles/bundle_fi.properties b/core/assets/bundles/bundle_fi.properties index a955c097ed..b81ad76e72 100644 --- a/core/assets/bundles/bundle_fi.properties +++ b/core/assets/bundles/bundle_fi.properties @@ -1348,6 +1348,8 @@ rules.weather = Sää rules.weather.frequency = Tiheys: rules.weather.always = Aina rules.weather.duration = Kesto: +rules.placerangecheck.info = Prevents players from placing anything near enemy buildings. When trying to place a turret, the range is increased, so the turret will not be able to reach the enemy. +rules.onlydepositcore.info = Prevents units from depositing items into any buildings except cores. content.item.name = Tavarat content.liquid.name = Nesteet @@ -2278,7 +2280,7 @@ unit.emanate.description = Builds structures to defend the Acropolis core. Repai lst.read = Lue numero yhdistetystä muistisolusta. lst.write = Kirjoita numero yhdistettyyn muistisoluun. lst.print = Lisää tekstiä tekstipuskuriin.\nEi näytä mitään, kunnes [accent]Painosyötettä[] käytetään. -lst.format = Replace next placeholder in text buffer with a value.\nDoes not do anything if placeholder pattern is invalid.\nPlaceholder pattern: "{[accent]number 0-9[]}"\nExample:\n[accent]print "test {0}"\nformat "example" +lst.format = Replace next placeholder in text buffer with a value.\nDoes not do anything if placeholder pattern is invalid.\nPlaceholder pattern: "{[accent]number 0-9[]}"\nExample:\n[accent]print "test {0}"\nformat "example" lst.draw = Lisää operaation piirtopuskuriin.\nEi näytä mitään, kunnes [accent]Piirtosyötettä[] käytetään. lst.drawflush = Syöttää jonottavat [accent]Piirto[]-operaatiot näyttöön. lst.printflush = Syöttää jonottavat [accent]Paino[]-operaatiot viestipalikkaan. diff --git a/core/assets/bundles/bundle_fil.properties b/core/assets/bundles/bundle_fil.properties index 08cd5e1fbd..18b9fd2aab 100644 --- a/core/assets/bundles/bundle_fil.properties +++ b/core/assets/bundles/bundle_fil.properties @@ -1348,6 +1348,8 @@ rules.weather = Weather rules.weather.frequency = Frequency: rules.weather.always = Always rules.weather.duration = Duration: +rules.placerangecheck.info = Prevents players from placing anything near enemy buildings. When trying to place a turret, the range is increased, so the turret will not be able to reach the enemy. +rules.onlydepositcore.info = Prevents units from depositing items into any buildings except cores. content.item.name = Items content.liquid.name = Liquids @@ -2274,7 +2276,7 @@ unit.emanate.description = Builds structures to defend the Acropolis core. Repai lst.read = Read a number from a linked memory cell. lst.write = Write a number to a linked memory cell. lst.print = Add text to the print buffer.\nDoes not display anything until [accent]Print Flush[] is used. -lst.format = Replace next placeholder in text buffer with a value.\nDoes not do anything if placeholder pattern is invalid.\nPlaceholder pattern: "{[accent]number 0-9[]}"\nExample:\n[accent]print "test {0}"\nformat "example" +lst.format = Replace next placeholder in text buffer with a value.\nDoes not do anything if placeholder pattern is invalid.\nPlaceholder pattern: "{[accent]number 0-9[]}"\nExample:\n[accent]print "test {0}"\nformat "example" lst.draw = Add an operation to the drawing buffer.\nDoes not display anything until [accent]Draw Flush[] is used. lst.drawflush = Flush queued [accent]Draw[] operations to a display. lst.printflush = Flush queued [accent]Print[] operations to a message block. diff --git a/core/assets/bundles/bundle_fr.properties b/core/assets/bundles/bundle_fr.properties index 7e3d8ea6cd..3ff26c05c4 100644 --- a/core/assets/bundles/bundle_fr.properties +++ b/core/assets/bundles/bundle_fr.properties @@ -1375,6 +1375,8 @@ rules.weather = Météo rules.weather.frequency = Fréquence : rules.weather.always = Permanent rules.weather.duration = Durée : +rules.placerangecheck.info = Prevents players from placing anything near enemy buildings. When trying to place a turret, the range is increased, so the turret will not be able to reach the enemy. +rules.onlydepositcore.info = Prevents units from depositing items into any buildings except cores. content.item.name = Objets content.liquid.name = Liquides @@ -2322,7 +2324,7 @@ unit.emanate.description = Construit des structures pour défendre le Noyau acro lst.read = Lit un nombre depuis un bloc de mémoire relié au processeur. lst.write = Écrit un nombre dans un bloc de mémoire relié au processeur. lst.print = Ajoute du texte dans la mémoire tampon de l'imprimante.\nNe montrera aucun texte tant que [accent]Print Flush[] ne sera pas utilisé. -lst.format = Replace next placeholder in text buffer with a value.\nDoes not do anything if placeholder pattern is invalid.\nPlaceholder pattern: "{[accent]number 0-9[]}"\nExample:\n[accent]print "test {0}"\nformat "example" +lst.format = Replace next placeholder in text buffer with a value.\nDoes not do anything if placeholder pattern is invalid.\nPlaceholder pattern: "{[accent]number 0-9[]}"\nExample:\n[accent]print "test {0}"\nformat "example" lst.draw = Ajoute une opération dans la mémoire tampon de dessin.\nNe montrera aucune image tant que [accent]Draw Flush[] ne sera pas utilisé. lst.drawflush = Affiche les opérations [accent]Draw[] en file d'attente vers un écran. lst.printflush = Affiche les opérations [accent]Print[] en file d'attente vers un bloc de message. diff --git a/core/assets/bundles/bundle_hu.properties b/core/assets/bundles/bundle_hu.properties index d3886064a3..b04b225ac8 100644 --- a/core/assets/bundles/bundle_hu.properties +++ b/core/assets/bundles/bundle_hu.properties @@ -1376,6 +1376,8 @@ rules.weather = Időjárás rules.weather.frequency = Gyakoriság: rules.weather.always = Mindig rules.weather.duration = Időtartam: +rules.placerangecheck.info = Prevents players from placing anything near enemy buildings. When trying to place a turret, the range is increased, so the turret will not be able to reach the enemy. +rules.onlydepositcore.info = Prevents units from depositing items into any buildings except cores. content.item.name = Nyersanyagok content.liquid.name = Folyadékok diff --git a/core/assets/bundles/bundle_id_ID.properties b/core/assets/bundles/bundle_id_ID.properties index 0f1bd6fd5e..e42084a3a7 100644 --- a/core/assets/bundles/bundle_id_ID.properties +++ b/core/assets/bundles/bundle_id_ID.properties @@ -1367,6 +1367,8 @@ rules.weather = Cuaca rules.weather.frequency = Frekuensi: rules.weather.always = Selalu rules.weather.duration = Durasi: +rules.placerangecheck.info = Prevents players from placing anything near enemy buildings. When trying to place a turret, the range is increased, so the turret will not be able to reach the enemy. +rules.onlydepositcore.info = Prevents units from depositing items into any buildings except cores. content.item.name = Bahan content.liquid.name = Zat Cair @@ -2313,7 +2315,7 @@ unit.emanate.description = Builds structures to defend the Acropolis core. Repai lst.read = Membaca angka dari memori sel yang dihubungkan. lst.write = Menulis angka ke memori sel yang dihubungkan. lst.print = Menambahkan teks ke daftar cetak.\nTidak dapat menampilkan apapun sampai [accent]Print Flush[] dipakai. -lst.format = Replace next placeholder in text buffer with a value.\nDoes not do anything if placeholder pattern is invalid.\nPlaceholder pattern: "{[accent]number 0-9[]}"\nExample:\n[accent]print "test {0}"\nformat "example" +lst.format = Replace next placeholder in text buffer with a value.\nDoes not do anything if placeholder pattern is invalid.\nPlaceholder pattern: "{[accent]number 0-9[]}"\nExample:\n[accent]print "test {0}"\nformat "example" lst.draw = Menambahkan perintah ke daftar gambar.\nTidak dapat menampilkan apapun sampai [accent]Draw Flush[] dipakai. lst.drawflush = Mengeluarkan perintah [accent]Draw[] dari daftar antrean untuk ditampilkan. lst.printflush = Mengeluarkan perintah [accent]Print[] dari daftar antrean untuk blok pesan. diff --git a/core/assets/bundles/bundle_it.properties b/core/assets/bundles/bundle_it.properties index 97221f7113..6383c512ca 100644 --- a/core/assets/bundles/bundle_it.properties +++ b/core/assets/bundles/bundle_it.properties @@ -1354,6 +1354,8 @@ rules.weather = Meteo rules.weather.frequency = Frequenza: rules.weather.always = sempre rules.weather.duration = Durata: +rules.placerangecheck.info = Prevents players from placing anything near enemy buildings. When trying to place a turret, the range is increased, so the turret will not be able to reach the enemy. +rules.onlydepositcore.info = Prevents units from depositing items into any buildings except cores. content.item.name = Oggetti content.liquid.name = Liquidi @@ -2287,7 +2289,7 @@ unit.emanate.description = Costruisce strutture per difendere il nucleo dell'Acr lst.read = Leggi un numero da una cella di memoria collegata. lst.write = Scrivi un numero in una cella di memoria collegata. lst.print = Add text to the print buffer.\nDoes not display anything until [accent]Print Flush[] is used. -lst.format = Replace next placeholder in text buffer with a value.\nDoes not do anything if placeholder pattern is invalid.\nPlaceholder pattern: "{[accent]number 0-9[]}"\nExample:\n[accent]print "test {0}"\nformat "example" +lst.format = Replace next placeholder in text buffer with a value.\nDoes not do anything if placeholder pattern is invalid.\nPlaceholder pattern: "{[accent]number 0-9[]}"\nExample:\n[accent]print "test {0}"\nformat "example" lst.draw = Add an operation to the drawing buffer.\nDoes not display anything until [accent]Draw Flush[] is used. lst.drawflush = Flush queued [accent]Draw[] operations to a display. lst.printflush = Flush queued [accent]Print[] operations to a message block. diff --git a/core/assets/bundles/bundle_ja.properties b/core/assets/bundles/bundle_ja.properties index b54b1f57f3..ed0dc7cc69 100644 --- a/core/assets/bundles/bundle_ja.properties +++ b/core/assets/bundles/bundle_ja.properties @@ -1360,6 +1360,8 @@ rules.weather = 気象 rules.weather.frequency = 頻度: rules.weather.always = 常時 rules.weather.duration = 継続時間: +rules.placerangecheck.info = Prevents players from placing anything near enemy buildings. When trying to place a turret, the range is increased, so the turret will not be able to reach the enemy. +rules.onlydepositcore.info = Prevents units from depositing items into any buildings except cores. content.item.name = アイテム content.liquid.name = 液体 @@ -2291,7 +2293,7 @@ unit.emanate.description = アクロポリスコアを敵から守ります。\n lst.read = リンクされたメモリセルから数値を読み取ります。 lst.write = リンクされたメモリセルに数値を書き込みます。 lst.print = メッセージブロックにテキストを追加します。[accent]Print Flush[] を使用するまで何も表示しません。 -lst.format = Replace next placeholder in text buffer with a value.\nDoes not do anything if placeholder pattern is invalid.\nPlaceholder pattern: "{[accent]number 0-9[]}"\nExample:\n[accent]print "test {0}"\nformat "example" +lst.format = Replace next placeholder in text buffer with a value.\nDoes not do anything if placeholder pattern is invalid.\nPlaceholder pattern: "{[accent]number 0-9[]}"\nExample:\n[accent]print "test {0}"\nformat "example" lst.draw = ロジックディスプレイに操作を追加します。[accent]Draw Flush[] を使用するまで何も表示しません。 lst.drawflush = キューに入れられた [accent]Draw[] 操作をディスプレイにフラッシュします。 lst.printflush = キューに入れられた [accent]Print[] 操作をメッセージ ブロックにフラッシュします。 diff --git a/core/assets/bundles/bundle_ko.properties b/core/assets/bundles/bundle_ko.properties index 342c511010..2ec87a4548 100644 --- a/core/assets/bundles/bundle_ko.properties +++ b/core/assets/bundles/bundle_ko.properties @@ -1359,6 +1359,8 @@ rules.weather = 날씨 추가 rules.weather.frequency = 빈도: rules.weather.always = 항상 rules.weather.duration = 지속 시간: +rules.placerangecheck.info = Prevents players from placing anything near enemy buildings. When trying to place a turret, the range is increased, so the turret will not be able to reach the enemy. +rules.onlydepositcore.info = Prevents units from depositing items into any buildings except cores. content.item.name = 자원 content.liquid.name = 액체 @@ -2290,7 +2292,7 @@ unit.emanate.description = 코어: 도심을 지켜내기 위해 구조물을 lst.read = 연결된 메모리 셀에서 숫자 읽음 lst.write = 연결된 메모리 셀에 숫자 작성 lst.print = 프린트 버퍼에 텍스트 추가\n[accent]Print Flush[]가 사용되기 전까진 아무것도 보여주지 않습니다 -lst.format = Replace next placeholder in text buffer with a value.\nDoes not do anything if placeholder pattern is invalid.\nPlaceholder pattern: "{[accent]number 0-9[]}"\nExample:\n[accent]print "test {0}"\nformat "example" +lst.format = Replace next placeholder in text buffer with a value.\nDoes not do anything if placeholder pattern is invalid.\nPlaceholder pattern: "{[accent]number 0-9[]}"\nExample:\n[accent]print "test {0}"\nformat "example" lst.draw = 드로잉 버퍼에 실행문 추가\n[accent]Draw Flush[]가 사용되기 전까진 아무것도 보여주지 않습니다 lst.drawflush = 대기중인 [accent]Draw[]실행문을 디스플레이에 출력 lst.printflush = 대기중인 [accent]Print[]실행문을 메시지 블록에 출력 diff --git a/core/assets/bundles/bundle_lt.properties b/core/assets/bundles/bundle_lt.properties index f61d0b08b5..90cb6efbf4 100644 --- a/core/assets/bundles/bundle_lt.properties +++ b/core/assets/bundles/bundle_lt.properties @@ -1349,6 +1349,8 @@ rules.weather = Weather rules.weather.frequency = Frequency: rules.weather.always = Always rules.weather.duration = Duration: +rules.placerangecheck.info = Prevents players from placing anything near enemy buildings. When trying to place a turret, the range is increased, so the turret will not be able to reach the enemy. +rules.onlydepositcore.info = Prevents units from depositing items into any buildings except cores. content.item.name = Daiktai content.liquid.name = Skysčiai @@ -2275,7 +2277,7 @@ unit.emanate.description = Builds structures to defend the Acropolis core. Repai lst.read = Read a number from a linked memory cell. lst.write = Write a number to a linked memory cell. lst.print = Add text to the print buffer.\nDoes not display anything until [accent]Print Flush[] is used. -lst.format = Replace next placeholder in text buffer with a value.\nDoes not do anything if placeholder pattern is invalid.\nPlaceholder pattern: "{[accent]number 0-9[]}"\nExample:\n[accent]print "test {0}"\nformat "example" +lst.format = Replace next placeholder in text buffer with a value.\nDoes not do anything if placeholder pattern is invalid.\nPlaceholder pattern: "{[accent]number 0-9[]}"\nExample:\n[accent]print "test {0}"\nformat "example" lst.draw = Add an operation to the drawing buffer.\nDoes not display anything until [accent]Draw Flush[] is used. lst.drawflush = Flush queued [accent]Draw[] operations to a display. lst.printflush = Flush queued [accent]Print[] operations to a message block. diff --git a/core/assets/bundles/bundle_nl.properties b/core/assets/bundles/bundle_nl.properties index 66590f28e8..fb69dc8371 100644 --- a/core/assets/bundles/bundle_nl.properties +++ b/core/assets/bundles/bundle_nl.properties @@ -1361,6 +1361,8 @@ rules.weather = Weer rules.weather.frequency = Frequentie: rules.weather.always = Altijd rules.weather.duration = Duur: +rules.placerangecheck.info = Prevents players from placing anything near enemy buildings. When trying to place a turret, the range is increased, so the turret will not be able to reach the enemy. +rules.onlydepositcore.info = Prevents units from depositing items into any buildings except cores. content.item.name = Materialen content.liquid.name = Vloeistoffen @@ -2288,7 +2290,7 @@ unit.emanate.description = Builds structures to defend the Acropolis core. Repai lst.read = Read a number from a linked memory cell. lst.write = Write a number to a linked memory cell. lst.print = Add text to the print buffer.\nDoes not display anything until [accent]Print Flush[] is used. -lst.format = Replace next placeholder in text buffer with a value.\nDoes not do anything if placeholder pattern is invalid.\nPlaceholder pattern: "{[accent]number 0-9[]}"\nExample:\n[accent]print "test {0}"\nformat "example" +lst.format = Replace next placeholder in text buffer with a value.\nDoes not do anything if placeholder pattern is invalid.\nPlaceholder pattern: "{[accent]number 0-9[]}"\nExample:\n[accent]print "test {0}"\nformat "example" lst.draw = Add an operation to the drawing buffer.\nDoes not display anything until [accent]Draw Flush[] is used. lst.drawflush = Flush queued [accent]Draw[] operations to a display. lst.printflush = Flush queued [accent]Print[] operations to a message block. diff --git a/core/assets/bundles/bundle_nl_BE.properties b/core/assets/bundles/bundle_nl_BE.properties index 8d0e615414..1f345b97e0 100644 --- a/core/assets/bundles/bundle_nl_BE.properties +++ b/core/assets/bundles/bundle_nl_BE.properties @@ -1349,6 +1349,8 @@ rules.weather = Weather rules.weather.frequency = Frequency: rules.weather.always = Always rules.weather.duration = Duration: +rules.placerangecheck.info = Prevents players from placing anything near enemy buildings. When trying to place a turret, the range is increased, so the turret will not be able to reach the enemy. +rules.onlydepositcore.info = Prevents units from depositing items into any buildings except cores. content.item.name = Items content.liquid.name = Liquids @@ -2275,7 +2277,7 @@ unit.emanate.description = Builds structures to defend the Acropolis core. Repai lst.read = Read a number from a linked memory cell. lst.write = Write a number to a linked memory cell. lst.print = Add text to the print buffer.\nDoes not display anything until [accent]Print Flush[] is used. -lst.format = Replace next placeholder in text buffer with a value.\nDoes not do anything if placeholder pattern is invalid.\nPlaceholder pattern: "{[accent]number 0-9[]}"\nExample:\n[accent]print "test {0}"\nformat "example" +lst.format = Replace next placeholder in text buffer with a value.\nDoes not do anything if placeholder pattern is invalid.\nPlaceholder pattern: "{[accent]number 0-9[]}"\nExample:\n[accent]print "test {0}"\nformat "example" lst.draw = Add an operation to the drawing buffer.\nDoes not display anything until [accent]Draw Flush[] is used. lst.drawflush = Flush queued [accent]Draw[] operations to a display. lst.printflush = Flush queued [accent]Print[] operations to a message block. diff --git a/core/assets/bundles/bundle_pl.properties b/core/assets/bundles/bundle_pl.properties index 86cea38c99..53e9cf4317 100644 --- a/core/assets/bundles/bundle_pl.properties +++ b/core/assets/bundles/bundle_pl.properties @@ -1358,6 +1358,8 @@ rules.weather = Pogoda rules.weather.frequency = Częstotliwość: rules.weather.always = Zawsze rules.weather.duration = Czas trwania: +rules.placerangecheck.info = Prevents players from placing anything near enemy buildings. When trying to place a turret, the range is increased, so the turret will not be able to reach the enemy. +rules.onlydepositcore.info = Prevents units from depositing items into any buildings except cores. content.item.name = Przedmioty content.liquid.name = Płyny @@ -2309,7 +2311,7 @@ unit.emanate.description = Lotnicza jednostka aministracyjna zdolna do wydobycia lst.read = Wczytuje liczbę z połączonej komórki pamięci. lst.write = Zapisuje liczbę do połączonej komórki pamięci. lst.print = Dodaje tekst do buforu drukującego.\nNie wyświetla niczego dopóki [accent]Print Flush[] nie jest użyte. -lst.format = Replace next placeholder in text buffer with a value.\nDoes not do anything if placeholder pattern is invalid.\nPlaceholder pattern: "{[accent]number 0-9[]}"\nExample:\n[accent]print "test {0}"\nformat "example" +lst.format = Replace next placeholder in text buffer with a value.\nDoes not do anything if placeholder pattern is invalid.\nPlaceholder pattern: "{[accent]number 0-9[]}"\nExample:\n[accent]print "test {0}"\nformat "example" lst.draw = Dodaje operacje do buforu rysującego.\nNie wyświetla niczego dopóki [accent]Draw Flush[] nie jest użyte. lst.drawflush = Wyświetla oczekujące operacje z funkcji [accent]Draw[] na wyświetlaczu. lst.printflush = Dodaje oczekujące operacje z funkcji [accent]Print[] do bloku wiadomości. diff --git a/core/assets/bundles/bundle_pt_BR.properties b/core/assets/bundles/bundle_pt_BR.properties index 8ac998829a..4ba31c527b 100644 --- a/core/assets/bundles/bundle_pt_BR.properties +++ b/core/assets/bundles/bundle_pt_BR.properties @@ -1368,6 +1368,8 @@ rules.weather = Clima rules.weather.frequency = Frequência: rules.weather.always = Sempre rules.weather.duration = Duração: +rules.placerangecheck.info = Prevents players from placing anything near enemy buildings. When trying to place a turret, the range is increased, so the turret will not be able to reach the enemy. +rules.onlydepositcore.info = Prevents units from depositing items into any buildings except cores. content.item.name = Itens content.liquid.name = Líquidos @@ -2308,7 +2310,7 @@ unit.emanate.description = Constrói estruturas para defender o Núcelo Acrópol lst.read = Ler um número de uma célula de memória vinculada. lst.write = Escrever um número de uma célula de memória vinculada. lst.print = Adiciona texto ao buffer de impressão.\nNão exibe nada até [accent]Print Flush[] ser usado. -lst.format = Replace next placeholder in text buffer with a value.\nDoes not do anything if placeholder pattern is invalid.\nPlaceholder pattern: "{[accent]number 0-9[]}"\nExample:\n[accent]print "test {0}"\nformat "example" +lst.format = Replace next placeholder in text buffer with a value.\nDoes not do anything if placeholder pattern is invalid.\nPlaceholder pattern: "{[accent]number 0-9[]}"\nExample:\n[accent]print "test {0}"\nformat "example" lst.draw = Adicionar uma operação ao buffer de desenho.\nNão exibe nada até [accent]Draw Flush[] ser usado. lst.drawflush = Liberar operações [accent]Draw[] enfileiradas para um display. lst.printflush = Liberar operações [accent]Print[] enfileiradas para um bloco de mensagem. diff --git a/core/assets/bundles/bundle_pt_PT.properties b/core/assets/bundles/bundle_pt_PT.properties index 17ca743e25..1780792fe3 100644 --- a/core/assets/bundles/bundle_pt_PT.properties +++ b/core/assets/bundles/bundle_pt_PT.properties @@ -1349,6 +1349,8 @@ rules.weather = Weather rules.weather.frequency = Frequency: rules.weather.always = Always rules.weather.duration = Duration: +rules.placerangecheck.info = Prevents players from placing anything near enemy buildings. When trying to place a turret, the range is increased, so the turret will not be able to reach the enemy. +rules.onlydepositcore.info = Prevents units from depositing items into any buildings except cores. content.item.name = Itens content.liquid.name = Liquidos @@ -2275,7 +2277,7 @@ unit.emanate.description = Builds structures to defend the Acropolis core. Repai lst.read = Read a number from a linked memory cell. lst.write = Write a number to a linked memory cell. lst.print = Add text to the print buffer.\nDoes not display anything until [accent]Print Flush[] is used. -lst.format = Replace next placeholder in text buffer with a value.\nDoes not do anything if placeholder pattern is invalid.\nPlaceholder pattern: "{[accent]number 0-9[]}"\nExample:\n[accent]print "test {0}"\nformat "example" +lst.format = Replace next placeholder in text buffer with a value.\nDoes not do anything if placeholder pattern is invalid.\nPlaceholder pattern: "{[accent]number 0-9[]}"\nExample:\n[accent]print "test {0}"\nformat "example" lst.draw = Add an operation to the drawing buffer.\nDoes not display anything until [accent]Draw Flush[] is used. lst.drawflush = Flush queued [accent]Draw[] operations to a display. lst.printflush = Flush queued [accent]Print[] operations to a message block. diff --git a/core/assets/bundles/bundle_ro.properties b/core/assets/bundles/bundle_ro.properties index a0d08c50f9..b2db9b66cd 100644 --- a/core/assets/bundles/bundle_ro.properties +++ b/core/assets/bundles/bundle_ro.properties @@ -1360,6 +1360,8 @@ rules.weather = Vreme rules.weather.frequency = Frevență: rules.weather.always = Încontinuu rules.weather.duration = Durată: +rules.placerangecheck.info = Prevents players from placing anything near enemy buildings. When trying to place a turret, the range is increased, so the turret will not be able to reach the enemy. +rules.onlydepositcore.info = Prevents units from depositing items into any buildings except cores. content.item.name = Materiale content.liquid.name = Lichide @@ -2292,7 +2294,7 @@ unit.emanate.description = Builds structures to defend the Acropolis core. Repai lst.read = Citește un număr dintr-o celulă de memorie conectată. lst.write = Scrie un număr într-o celulă de memorie conectată. lst.print = Adaugă text în bufferul de tipărire.\nNu tipărește decât când se execută [accent]Print Flush[]. -lst.format = Replace next placeholder in text buffer with a value.\nDoes not do anything if placeholder pattern is invalid.\nPlaceholder pattern: "{[accent]number 0-9[]}"\nExample:\n[accent]print "test {0}"\nformat "example" +lst.format = Replace next placeholder in text buffer with a value.\nDoes not do anything if placeholder pattern is invalid.\nPlaceholder pattern: "{[accent]number 0-9[]}"\nExample:\n[accent]print "test {0}"\nformat "example" lst.draw = Adaugă o operație în bufferul de desenare.\nNu afișează decât când se execută [accent]Draw Flush[]. lst.drawflush = Afișează pe un monitor instrucțiunile [accent]Draw[] aflate în așteptare. lst.printflush = Tipărește într-un bloc Mesaj instrucțiunile [accent]Print[] aflate în așteptare. diff --git a/core/assets/bundles/bundle_ru.properties b/core/assets/bundles/bundle_ru.properties index 3c593f330f..ae8defc92e 100644 --- a/core/assets/bundles/bundle_ru.properties +++ b/core/assets/bundles/bundle_ru.properties @@ -1360,6 +1360,8 @@ rules.weather = Погода rules.weather.frequency = Периодичность: rules.weather.always = Всегда rules.weather.duration = Длительность: +rules.placerangecheck.info = Prevents players from placing anything near enemy buildings. When trying to place a turret, the range is increased, so the turret will not be able to reach the enemy. +rules.onlydepositcore.info = Prevents units from depositing items into any buildings except cores. content.item.name = Предметы content.liquid.name = Жидкости @@ -2294,7 +2296,7 @@ unit.emanate.description = Защищает ядро «Акрополь» от lst.read = Считывает число из соединённой ячейки памяти. lst.write = Записывает число в соединённую ячейку памяти. lst.print = Добавляет текст в текстовый буфер. Ничего не отображает, пока не будет вызван [accent]Print Flush[]. -lst.format = Replace next placeholder in text buffer with a value.\nDoes not do anything if placeholder pattern is invalid.\nPlaceholder pattern: "{[accent]number 0-9[]}"\nExample:\n[accent]print "test {0}"\nformat "example" +lst.format = Replace next placeholder in text buffer with a value.\nDoes not do anything if placeholder pattern is invalid.\nPlaceholder pattern: "{[accent]number 0-9[]}"\nExample:\n[accent]print "test {0}"\nformat "example" lst.draw = Добавляет операцию в буфер отрисовки. Ничего не отображает, пока не будет вызван [accent]Draw Flush[]. lst.drawflush = Сбрасывает буфер [accent]Draw[] операций на дисплей. lst.printflush = Сбрасывает буфер [accent]Print[] операций в блок-сообщение. diff --git a/core/assets/bundles/bundle_sr.properties b/core/assets/bundles/bundle_sr.properties index de821a980a..57e10040b7 100644 --- a/core/assets/bundles/bundle_sr.properties +++ b/core/assets/bundles/bundle_sr.properties @@ -1362,6 +1362,8 @@ rules.weather = Vreme rules.weather.frequency = Učestalost: rules.weather.always = Stalno rules.weather.duration = Dužina: +rules.placerangecheck.info = Prevents players from placing anything near enemy buildings. When trying to place a turret, the range is increased, so the turret will not be able to reach the enemy. +rules.onlydepositcore.info = Prevents units from depositing items into any buildings except cores. content.item.name = Materijali content.liquid.name = Tečnosti @@ -2295,7 +2297,7 @@ unit.emanate.description = Gradi građevine da odbrani Veliki Grad jezgro. Popra lst.read = Čita broj iz povezane memorijske ćelije. lst.write = Piše broj u povezanu memorijsku ćeliju. lst.print = Add text to the print buffer.\nDoes not display anything until [accent]Print Flush[] is used. -lst.format = Replace next placeholder in text buffer with a value.\nDoes not do anything if placeholder pattern is invalid.\nPlaceholder pattern: "{[accent]number 0-9[]}"\nExample:\n[accent]print "test {0}"\nformat "example" +lst.format = Replace next placeholder in text buffer with a value.\nDoes not do anything if placeholder pattern is invalid.\nPlaceholder pattern: "{[accent]number 0-9[]}"\nExample:\n[accent]print "test {0}"\nformat "example" lst.draw = Add an operation to the drawing buffer.\nDoes not display anything until [accent]Draw Flush[] is used. lst.drawflush = Flush queued [accent]Draw[] operations to a display. lst.printflush = Flush queued [accent]Print[] operations to a message block. diff --git a/core/assets/bundles/bundle_sv.properties b/core/assets/bundles/bundle_sv.properties index 8d025a4cae..2268e25ca8 100644 --- a/core/assets/bundles/bundle_sv.properties +++ b/core/assets/bundles/bundle_sv.properties @@ -1349,6 +1349,8 @@ rules.weather = Weather rules.weather.frequency = Frequency: rules.weather.always = Always rules.weather.duration = Duration: +rules.placerangecheck.info = Prevents players from placing anything near enemy buildings. When trying to place a turret, the range is increased, so the turret will not be able to reach the enemy. +rules.onlydepositcore.info = Prevents units from depositing items into any buildings except cores. content.item.name = Föremål content.liquid.name = Vätskor @@ -2275,7 +2277,7 @@ unit.emanate.description = Builds structures to defend the Acropolis core. Repai lst.read = Read a number from a linked memory cell. lst.write = Write a number to a linked memory cell. lst.print = Add text to the print buffer.\nDoes not display anything until [accent]Print Flush[] is used. -lst.format = Replace next placeholder in text buffer with a value.\nDoes not do anything if placeholder pattern is invalid.\nPlaceholder pattern: "{[accent]number 0-9[]}"\nExample:\n[accent]print "test {0}"\nformat "example" +lst.format = Replace next placeholder in text buffer with a value.\nDoes not do anything if placeholder pattern is invalid.\nPlaceholder pattern: "{[accent]number 0-9[]}"\nExample:\n[accent]print "test {0}"\nformat "example" lst.draw = Add an operation to the drawing buffer.\nDoes not display anything until [accent]Draw Flush[] is used. lst.drawflush = Flush queued [accent]Draw[] operations to a display. lst.printflush = Flush queued [accent]Print[] operations to a message block. diff --git a/core/assets/bundles/bundle_th.properties b/core/assets/bundles/bundle_th.properties index fa345d3212..91573f01ba 100644 --- a/core/assets/bundles/bundle_th.properties +++ b/core/assets/bundles/bundle_th.properties @@ -1361,6 +1361,8 @@ rules.weather = สภาพอากาศ rules.weather.frequency = ความถี่: rules.weather.always = ตลอด rules.weather.duration = ระยะเวลา: +rules.placerangecheck.info = Prevents players from placing anything near enemy buildings. When trying to place a turret, the range is increased, so the turret will not be able to reach the enemy. +rules.onlydepositcore.info = Prevents units from depositing items into any buildings except cores. content.item.name = ไอเท็ม content.liquid.name = ของเหลว @@ -2312,7 +2314,7 @@ unit.emanate.description = สร้างสิ่งต่างๆ เพื lst.read = อ่านเลขจากเซลล์ความจำที่เชื่อมต่อไว้ lst.write = เขียนเลขไปยังเซลล์ความจำที่เชื่อมต่อไว้ lst.print = เพิ่มข้อความไปยังคิวข้อความ\nข้อความจะยังไม่แสดงจนกว่าจะใช้คำสั่ง [accent]Print Flush[] -lst.format = Replace next placeholder in text buffer with a value.\nDoes not do anything if placeholder pattern is invalid.\nPlaceholder pattern: "{[accent]number 0-9[]}"\nExample:\n[accent]print "test {0}"\nformat "example" +lst.format = Replace next placeholder in text buffer with a value.\nDoes not do anything if placeholder pattern is invalid.\nPlaceholder pattern: "{[accent]number 0-9[]}"\nExample:\n[accent]print "test {0}"\nformat "example" lst.draw = เพิ่มรูปไปยังคิวการวาด\nภาพจะยังไม่แสดงจนกว่าจะใช้คำสั่ง [accent]Draw Flush[] lst.drawflush = ปล่อยคิว [accent]Draw[] ไปยังหน้าจอลอจิกที่เชื่อมต่อไว้ lst.printflush = ปล่อยคิว [accent]Print[] ไปยังตัวเก็บข้อความที่เชื่อมต่อไว้ diff --git a/core/assets/bundles/bundle_tk.properties b/core/assets/bundles/bundle_tk.properties index 63422c96b9..f2922470e8 100644 --- a/core/assets/bundles/bundle_tk.properties +++ b/core/assets/bundles/bundle_tk.properties @@ -1349,6 +1349,8 @@ rules.weather = Weather rules.weather.frequency = Frequency: rules.weather.always = Always rules.weather.duration = Duration: +rules.placerangecheck.info = Prevents players from placing anything near enemy buildings. When trying to place a turret, the range is increased, so the turret will not be able to reach the enemy. +rules.onlydepositcore.info = Prevents units from depositing items into any buildings except cores. content.item.name = Esyalar content.liquid.name = Sivilar @@ -2275,7 +2277,7 @@ unit.emanate.description = Builds structures to defend the Acropolis core. Repai lst.read = Read a number from a linked memory cell. lst.write = Write a number to a linked memory cell. lst.print = Add text to the print buffer.\nDoes not display anything until [accent]Print Flush[] is used. -lst.format = Replace next placeholder in text buffer with a value.\nDoes not do anything if placeholder pattern is invalid.\nPlaceholder pattern: "{[accent]number 0-9[]}"\nExample:\n[accent]print "test {0}"\nformat "example" +lst.format = Replace next placeholder in text buffer with a value.\nDoes not do anything if placeholder pattern is invalid.\nPlaceholder pattern: "{[accent]number 0-9[]}"\nExample:\n[accent]print "test {0}"\nformat "example" lst.draw = Add an operation to the drawing buffer.\nDoes not display anything until [accent]Draw Flush[] is used. lst.drawflush = Flush queued [accent]Draw[] operations to a display. lst.printflush = Flush queued [accent]Print[] operations to a message block. diff --git a/core/assets/bundles/bundle_tr.properties b/core/assets/bundles/bundle_tr.properties index ebc53ffe12..9a9ecead53 100644 --- a/core/assets/bundles/bundle_tr.properties +++ b/core/assets/bundles/bundle_tr.properties @@ -1358,6 +1358,8 @@ rules.weather = Hava Durumu rules.weather.frequency = Sıklık: rules.weather.always = Her zaman rules.weather.duration = Süreklilik: +rules.placerangecheck.info = Prevents players from placing anything near enemy buildings. When trying to place a turret, the range is increased, so the turret will not be able to reach the enemy. +rules.onlydepositcore.info = Prevents units from depositing items into any buildings except cores. content.item.name = Malzemeler content.liquid.name = Sıvılar @@ -2292,7 +2294,7 @@ unit.emanate.description = Akropolis Merkezini korumak için binalar inşa eder. lst.read = Bağlı hafıza kutusundaki numarayı okur. lst.write = Bağlı hafıza kutuaundaki numaraya yazar. lst.print = Yazı yazar. -lst.format = Replace next placeholder in text buffer with a value.\nDoes not do anything if placeholder pattern is invalid.\nPlaceholder pattern: "{[accent]number 0-9[]}"\nExample:\n[accent]print "test {0}"\nformat "example" +lst.format = Replace next placeholder in text buffer with a value.\nDoes not do anything if placeholder pattern is invalid.\nPlaceholder pattern: "{[accent]number 0-9[]}"\nExample:\n[accent]print "test {0}"\nformat "example" lst.draw = Ekrana Çizer. lst.drawflush = Ekrana Çizimi Aktarır. lst.printflush = Mesaj bloğuna metnini aktarır, diff --git a/core/assets/bundles/bundle_uk_UA.properties b/core/assets/bundles/bundle_uk_UA.properties index 94e234dfa3..24a8cf4738 100644 --- a/core/assets/bundles/bundle_uk_UA.properties +++ b/core/assets/bundles/bundle_uk_UA.properties @@ -1369,6 +1369,8 @@ rules.weather = Погода rules.weather.frequency = Повторюваність: rules.weather.always = Завжди rules.weather.duration = Тривалість: +rules.placerangecheck.info = Prevents players from placing anything near enemy buildings. When trying to place a turret, the range is increased, so the turret will not be able to reach the enemy. +rules.onlydepositcore.info = Prevents units from depositing items into any buildings except cores. content.item.name = Предмети content.liquid.name = Рідини @@ -2319,7 +2321,7 @@ unit.emanate.description = Англійська назва: Emanate\nБудує lst.read = Зчитує число із з’єднаної комірки пам’яті. lst.write = Записує числу у з’єднану комірку пам’яті. lst.print = Додайте текст до буфера друку.\nНічого не відображає, поки [accent]Print Flush[] використовується. -lst.format = Replace next placeholder in text buffer with a value.\nDoes not do anything if placeholder pattern is invalid.\nPlaceholder pattern: "{[accent]number 0-9[]}"\nExample:\n[accent]print "test {0}"\nformat "example" +lst.format = Replace next placeholder in text buffer with a value.\nDoes not do anything if placeholder pattern is invalid.\nPlaceholder pattern: "{[accent]number 0-9[]}"\nExample:\n[accent]print "test {0}"\nformat "example" lst.draw = Додає операцію до буфера рисунка.\nНічого не відображає, поки [accent]Draw Flush[] використовується. lst.drawflush = Скидає буфер операцій [accent]Draw[] на дисплей. lst.printflush = Скидає буфер операцій [accent]Print[] у блок «Повідомлення». diff --git a/core/assets/bundles/bundle_vi.properties b/core/assets/bundles/bundle_vi.properties index 7d74309dec..6b641c3c0e 100644 --- a/core/assets/bundles/bundle_vi.properties +++ b/core/assets/bundles/bundle_vi.properties @@ -1362,6 +1362,8 @@ rules.weather = Thời tiết rules.weather.frequency = Tần suất: rules.weather.always = Luôn luôn rules.weather.duration = Thời gian: +rules.placerangecheck.info = Prevents players from placing anything near enemy buildings. When trying to place a turret, the range is increased, so the turret will not be able to reach the enemy. +rules.onlydepositcore.info = Prevents units from depositing items into any buildings except cores. content.item.name = Vật phẩm content.liquid.name = Chất lỏng diff --git a/core/assets/bundles/bundle_zh_CN.properties b/core/assets/bundles/bundle_zh_CN.properties index 9cc26e8dfd..a908d005a5 100644 --- a/core/assets/bundles/bundle_zh_CN.properties +++ b/core/assets/bundles/bundle_zh_CN.properties @@ -1371,6 +1371,8 @@ rules.weather = 天气 rules.weather.frequency = 周期: rules.weather.always = 永久 rules.weather.duration = 时长: +rules.placerangecheck.info = Prevents players from placing anything near enemy buildings. When trying to place a turret, the range is increased, so the turret will not be able to reach the enemy. +rules.onlydepositcore.info = Prevents units from depositing items into any buildings except cores. content.item.name = 物品 content.liquid.name = 液体 @@ -2319,7 +2321,7 @@ unit.emanate.description = 保护卫城核心,可建造建筑。 使用一对 lst.read = 从连接的内存读取数字 lst.write = 向连接的内存写入数字 lst.print = 添加文字到打印缓存\n使用[accent]Print Flush[]后才会真正显示 -lst.format = Replace next placeholder in text buffer with a value.\nDoes not do anything if placeholder pattern is invalid.\nPlaceholder pattern: "{[accent]number 0-9[]}"\nExample:\n[accent]print "test {0}"\nformat "example" +lst.format = Replace next placeholder in text buffer with a value.\nDoes not do anything if placeholder pattern is invalid.\nPlaceholder pattern: "{[accent]number 0-9[]}"\nExample:\n[accent]print "test {0}"\nformat "example" lst.draw = 添加绘图操作到绘图缓存\n使用[accent]Draw Flush[]后才会真正显示 lst.drawflush = 将绘图缓存中的[accent]Draw[]队列刷新到显示屏 lst.printflush = 将打印缓存中的[accent]Print[]队列刷新到信息板 diff --git a/core/assets/bundles/bundle_zh_TW.properties b/core/assets/bundles/bundle_zh_TW.properties index 5330002f2f..049f543412 100644 --- a/core/assets/bundles/bundle_zh_TW.properties +++ b/core/assets/bundles/bundle_zh_TW.properties @@ -1366,6 +1366,8 @@ rules.weather = 天氣 rules.weather.frequency = 頻率: rules.weather.always = 永遠 rules.weather.duration = 持續時間: +rules.placerangecheck.info = Prevents players from placing anything near enemy buildings. When trying to place a turret, the range is increased, so the turret will not be able to reach the enemy. +rules.onlydepositcore.info = Prevents units from depositing items into any buildings except cores. content.item.name = 物品 content.liquid.name = 液體 @@ -2304,7 +2306,7 @@ unit.emanate.description = Builds structures to defend the Acropolis core. Repai lst.read = [accent]讀取[]記憶體中的一項數值 lst.write = [accent]寫入[]一項數值到記憶體中 lst.print = 將文字加入輸出的暫存中,搭配[accent]Print Flush[], [accent]Flush message[]使用 -lst.format = Replace next placeholder in text buffer with a value.\nDoes not do anything if placeholder pattern is invalid.\nPlaceholder pattern: "{[accent]number 0-9[]}"\nExample:\n[accent]print "test {0}"\nformat "example" +lst.format = Replace next placeholder in text buffer with a value.\nDoes not do anything if placeholder pattern is invalid.\nPlaceholder pattern: "{[accent]number 0-9[]}"\nExample:\n[accent]print "test {0}"\nformat "example" lst.draw = 將圖形加入顯示的暫存中,搭配[accent]Draw Flush[]使用 lst.drawflush = 將所有暫存的[accent]Draw[]指令推到顯示器上 lst.printflush = 將所有暫存的[accent]Print[]指令推到訊息板上