Merge branch 'master' into patch-2
@@ -18,7 +18,7 @@ Once this is done, all you need to do is wait for me to approve your changes.
|
|||||||
|
|
||||||
If a translation bundle for your language *doesn't* exist, you need to create one yourself.
|
If a translation bundle for your language *doesn't* exist, you need to create one yourself.
|
||||||
In the folder with all the bundles in it, click the *'create new file'* button, and name it `bundle_(locale code here).properties`.
|
In the folder with all the bundles in it, click the *'create new file'* button, and name it `bundle_(locale code here).properties`.
|
||||||
Then, copy-paste the entire contents of the [English translation bundle](https://raw.githubusercontent.com/Anuken/Mindustry/master/core/assets/bundles/bundle.propertie) into the file, and translate all the necessary text to your language.
|
Then, copy-paste the entire contents of the [English translation bundle](https://raw.githubusercontent.com/Anuken/Mindustry/master/core/assets/bundles/bundle.properties) into the file, and translate all the necessary text to your language.
|
||||||
Once you are done, press the *propose new file* button at the bottom, then 'create pull request twice'.
|
Once you are done, press the *propose new file* button at the bottom, then 'create pull request twice'.
|
||||||
|
|
||||||
#### Useful Information
|
#### Useful Information
|
||||||
@@ -36,4 +36,4 @@ There are two ways to test the translation bundle:
|
|||||||
|
|
||||||
**And that's it.**
|
**And that's it.**
|
||||||
|
|
||||||
*(...of course, that's never really it. Bother me on Discord when something inevatably goes wrong.)*
|
*(...of course, that's never really it. Bother me on Discord when something inevitably goes wrong.)*
|
||||||
|
|||||||
@@ -24,7 +24,6 @@ dependencies {
|
|||||||
natives "com.badlogicgames.gdx:gdx-platform:$gdxVersion:natives-arm64-v8a"
|
natives "com.badlogicgames.gdx:gdx-platform:$gdxVersion:natives-arm64-v8a"
|
||||||
natives "com.badlogicgames.gdx:gdx-platform:$gdxVersion:natives-x86"
|
natives "com.badlogicgames.gdx:gdx-platform:$gdxVersion:natives-x86"
|
||||||
natives "com.badlogicgames.gdx:gdx-platform:$gdxVersion:natives-x86_64"
|
natives "com.badlogicgames.gdx:gdx-platform:$gdxVersion:natives-x86_64"
|
||||||
implementation "com.badlogicgames.gdx:gdx-ai:$aiVersion"
|
|
||||||
implementation "com.badlogicgames.gdx:gdx-controllers-android:$gdxVersion"
|
implementation "com.badlogicgames.gdx:gdx-controllers-android:$gdxVersion"
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|||||||
@@ -12,7 +12,6 @@ import android.provider.Settings.Secure;
|
|||||||
import android.telephony.TelephonyManager;
|
import android.telephony.TelephonyManager;
|
||||||
import android.util.Log;
|
import android.util.Log;
|
||||||
import com.badlogic.gdx.Gdx;
|
import com.badlogic.gdx.Gdx;
|
||||||
import com.badlogic.gdx.backends.android.AndroidApplication;
|
|
||||||
import com.badlogic.gdx.backends.android.AndroidApplicationConfiguration;
|
import com.badlogic.gdx.backends.android.AndroidApplicationConfiguration;
|
||||||
import com.badlogic.gdx.files.FileHandle;
|
import com.badlogic.gdx.files.FileHandle;
|
||||||
import com.badlogic.gdx.utils.Base64Coder;
|
import com.badlogic.gdx.utils.Base64Coder;
|
||||||
@@ -25,8 +24,8 @@ import io.anuke.kryonet.KryoClient;
|
|||||||
import io.anuke.kryonet.KryoServer;
|
import io.anuke.kryonet.KryoServer;
|
||||||
import io.anuke.mindustry.core.Platform;
|
import io.anuke.mindustry.core.Platform;
|
||||||
import io.anuke.mindustry.core.ThreadHandler.ThreadProvider;
|
import io.anuke.mindustry.core.ThreadHandler.ThreadProvider;
|
||||||
import io.anuke.mindustry.io.SaveIO;
|
|
||||||
import io.anuke.mindustry.game.Saves.SaveSlot;
|
import io.anuke.mindustry.game.Saves.SaveSlot;
|
||||||
|
import io.anuke.mindustry.io.SaveIO;
|
||||||
import io.anuke.mindustry.net.Net;
|
import io.anuke.mindustry.net.Net;
|
||||||
import io.anuke.mindustry.ui.dialogs.FileChooser;
|
import io.anuke.mindustry.ui.dialogs.FileChooser;
|
||||||
import io.anuke.ucore.function.Consumer;
|
import io.anuke.ucore.function.Consumer;
|
||||||
@@ -48,19 +47,16 @@ import java.util.Locale;
|
|||||||
|
|
||||||
import static io.anuke.mindustry.Vars.*;
|
import static io.anuke.mindustry.Vars.*;
|
||||||
|
|
||||||
public class AndroidLauncher extends AndroidApplication{
|
public class AndroidLauncher extends PatchedAndroidApplication{
|
||||||
public static final int PERMISSION_REQUEST_CODE = 1;
|
public static final int PERMISSION_REQUEST_CODE = 1;
|
||||||
|
|
||||||
boolean doubleScaleTablets = true;
|
boolean doubleScaleTablets = true;
|
||||||
FileChooser chooser;
|
FileChooser chooser;
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
protected void onCreate(Bundle savedInstanceState){
|
protected void onCreate(Bundle savedInstanceState){
|
||||||
super.onCreate(savedInstanceState);
|
super.onCreate(savedInstanceState);
|
||||||
|
|
||||||
AndroidApplicationConfiguration config = new AndroidApplicationConfiguration();
|
AndroidApplicationConfiguration config = new AndroidApplicationConfiguration();
|
||||||
config.useImmersiveMode = true;
|
config.useImmersiveMode = true;
|
||||||
|
|
||||||
Platform.instance = new Platform(){
|
Platform.instance = new Platform(){
|
||||||
DateFormat format = SimpleDateFormat.getDateTimeInstance();
|
DateFormat format = SimpleDateFormat.getDateTimeInstance();
|
||||||
|
|
||||||
@@ -108,19 +104,15 @@ public class AndroidLauncher extends AndroidApplication{
|
|||||||
public String getUUID(){
|
public String getUUID(){
|
||||||
try{
|
try{
|
||||||
String s = Secure.getString(getContext().getContentResolver(),
|
String s = Secure.getString(getContext().getContentResolver(),
|
||||||
Secure.ANDROID_ID);
|
Secure.ANDROID_ID);
|
||||||
|
|
||||||
int len = s.length();
|
int len = s.length();
|
||||||
byte[] data = new byte[len / 2];
|
byte[] data = new byte[len / 2];
|
||||||
for(int i = 0; i < len; i += 2){
|
for(int i = 0; i < len; i += 2){
|
||||||
data[i / 2] = (byte) ((Character.digit(s.charAt(i), 16) << 4)
|
data[i / 2] = (byte) ((Character.digit(s.charAt(i), 16) << 4)
|
||||||
+ Character.digit(s.charAt(i + 1), 16));
|
+ Character.digit(s.charAt(i + 1), 16));
|
||||||
}
|
}
|
||||||
|
|
||||||
String result = new String(Base64Coder.encode(data));
|
String result = new String(Base64Coder.encode(data));
|
||||||
|
|
||||||
if(result.equals("AAAAAAAAAOA=")) throw new RuntimeException("Bad UUID.");
|
if(result.equals("AAAAAAAAAOA=")) throw new RuntimeException("Bad UUID.");
|
||||||
|
|
||||||
return result;
|
return result;
|
||||||
}catch(Exception e){
|
}catch(Exception e){
|
||||||
return super.getUUID();
|
return super.getUUID();
|
||||||
@@ -129,28 +121,23 @@ public class AndroidLauncher extends AndroidApplication{
|
|||||||
|
|
||||||
@Override
|
@Override
|
||||||
public void shareFile(FileHandle file){
|
public void shareFile(FileHandle file){
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
public void showFileChooser(String text, String content, Consumer<FileHandle> cons, boolean open, String filetype){
|
public void showFileChooser(String text, String content, Consumer<FileHandle> cons, boolean open, String filetype){
|
||||||
chooser = new FileChooser(text, file -> file.extension().equalsIgnoreCase(filetype), open, cons);
|
chooser = new FileChooser(text, file -> file.extension().equalsIgnoreCase(filetype), open, cons);
|
||||||
|
|
||||||
if(Build.VERSION.SDK_INT < Build.VERSION_CODES.M || (checkSelfPermission(Manifest.permission.WRITE_EXTERNAL_STORAGE) == PackageManager.PERMISSION_GRANTED &&
|
if(Build.VERSION.SDK_INT < Build.VERSION_CODES.M || (checkSelfPermission(Manifest.permission.WRITE_EXTERNAL_STORAGE) == PackageManager.PERMISSION_GRANTED &&
|
||||||
checkSelfPermission(Manifest.permission.READ_EXTERNAL_STORAGE) == PackageManager.PERMISSION_GRANTED)){
|
checkSelfPermission(Manifest.permission.READ_EXTERNAL_STORAGE) == PackageManager.PERMISSION_GRANTED)){
|
||||||
chooser.show();
|
chooser.show();
|
||||||
chooser = null;
|
chooser = null;
|
||||||
}else{
|
}else{
|
||||||
ArrayList<String> perms = new ArrayList<>();
|
ArrayList<String> perms = new ArrayList<>();
|
||||||
|
|
||||||
if(checkSelfPermission(Manifest.permission.WRITE_EXTERNAL_STORAGE) != PackageManager.PERMISSION_GRANTED){
|
if(checkSelfPermission(Manifest.permission.WRITE_EXTERNAL_STORAGE) != PackageManager.PERMISSION_GRANTED){
|
||||||
perms.add(Manifest.permission.WRITE_EXTERNAL_STORAGE);
|
perms.add(Manifest.permission.WRITE_EXTERNAL_STORAGE);
|
||||||
}
|
}
|
||||||
|
|
||||||
if(checkSelfPermission(Manifest.permission.READ_EXTERNAL_STORAGE) != PackageManager.PERMISSION_GRANTED){
|
if(checkSelfPermission(Manifest.permission.READ_EXTERNAL_STORAGE) != PackageManager.PERMISSION_GRANTED){
|
||||||
perms.add(Manifest.permission.READ_EXTERNAL_STORAGE);
|
perms.add(Manifest.permission.READ_EXTERNAL_STORAGE);
|
||||||
}
|
}
|
||||||
|
|
||||||
requestPermissions(perms.toArray(new String[perms.size()]), PERMISSION_REQUEST_CODE);
|
requestPermissions(perms.toArray(new String[perms.size()]), PERMISSION_REQUEST_CODE);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
@@ -170,7 +157,6 @@ public class AndroidLauncher extends AndroidApplication{
|
|||||||
return true;
|
return true;
|
||||||
}
|
}
|
||||||
};
|
};
|
||||||
|
|
||||||
try{
|
try{
|
||||||
ProviderInstaller.installIfNeeded(this);
|
ProviderInstaller.installIfNeeded(this);
|
||||||
}catch(GooglePlayServicesRepairableException e){
|
}catch(GooglePlayServicesRepairableException e){
|
||||||
@@ -179,18 +165,13 @@ public class AndroidLauncher extends AndroidApplication{
|
|||||||
}catch(GooglePlayServicesNotAvailableException e){
|
}catch(GooglePlayServicesNotAvailableException e){
|
||||||
Log.e("SecurityException", "Google Play Services not available.");
|
Log.e("SecurityException", "Google Play Services not available.");
|
||||||
}
|
}
|
||||||
|
|
||||||
if(doubleScaleTablets && isTablet(this.getContext())){
|
if(doubleScaleTablets && isTablet(this.getContext())){
|
||||||
Unit.dp.addition = 0.5f;
|
Unit.dp.addition = 0.5f;
|
||||||
}
|
}
|
||||||
|
|
||||||
config.hideStatusBar = true;
|
config.hideStatusBar = true;
|
||||||
|
|
||||||
Net.setClientProvider(new KryoClient());
|
Net.setClientProvider(new KryoClient());
|
||||||
Net.setServerProvider(new KryoServer());
|
Net.setServerProvider(new KryoServer());
|
||||||
|
|
||||||
initialize(new Mindustry(), config);
|
initialize(new Mindustry(), config);
|
||||||
|
|
||||||
checkFiles(getIntent());
|
checkFiles(getIntent());
|
||||||
}
|
}
|
||||||
|
|
||||||
@@ -200,7 +181,6 @@ public class AndroidLauncher extends AndroidApplication{
|
|||||||
for(int i : grantResults){
|
for(int i : grantResults){
|
||||||
if(i != PackageManager.PERMISSION_GRANTED) return;
|
if(i != PackageManager.PERMISSION_GRANTED) return;
|
||||||
}
|
}
|
||||||
|
|
||||||
if(chooser != null){
|
if(chooser != null){
|
||||||
chooser.show();
|
chooser.show();
|
||||||
}
|
}
|
||||||
@@ -220,21 +200,16 @@ public class AndroidLauncher extends AndroidApplication{
|
|||||||
//error
|
//error
|
||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
|
|
||||||
boolean save = uri.getPath().endsWith(saveExtension);
|
boolean save = uri.getPath().endsWith(saveExtension);
|
||||||
boolean map = uri.getPath().endsWith(mapExtension);
|
boolean map = uri.getPath().endsWith(mapExtension);
|
||||||
|
|
||||||
InputStream inStream;
|
InputStream inStream;
|
||||||
if(myFile != null) inStream = new FileInputStream(myFile);
|
if(myFile != null) inStream = new FileInputStream(myFile);
|
||||||
else inStream = getContentResolver().openInputStream(uri);
|
else inStream = getContentResolver().openInputStream(uri);
|
||||||
|
|
||||||
Gdx.app.postRunnable(() -> {
|
Gdx.app.postRunnable(() -> {
|
||||||
|
|
||||||
if(save){ //open save
|
if(save){ //open save
|
||||||
System.out.println("Opening save.");
|
System.out.println("Opening save.");
|
||||||
FileHandle file = Gdx.files.local("temp-save." + saveExtension);
|
FileHandle file = Gdx.files.local("temp-save." + saveExtension);
|
||||||
file.write(inStream, false);
|
file.write(inStream, false);
|
||||||
|
|
||||||
if(SaveIO.isSaveValid(file)){
|
if(SaveIO.isSaveValid(file)){
|
||||||
try{
|
try{
|
||||||
SaveSlot slot = control.getSaves().importSave(file);
|
SaveSlot slot = control.getSaves().importSave(file);
|
||||||
@@ -245,20 +220,17 @@ public class AndroidLauncher extends AndroidApplication{
|
|||||||
}else{
|
}else{
|
||||||
ui.showError("$text.save.import.invalid");
|
ui.showError("$text.save.import.invalid");
|
||||||
}
|
}
|
||||||
|
|
||||||
}else if(map){ //open map
|
}else if(map){ //open map
|
||||||
Gdx.app.postRunnable(() -> {
|
Gdx.app.postRunnable(() -> {
|
||||||
System.out.println("Opening map.");
|
System.out.println("Opening map.");
|
||||||
if(!ui.editor.isShown()){
|
if(!ui.editor.isShown()){
|
||||||
ui.editor.show();
|
ui.editor.show();
|
||||||
}
|
}
|
||||||
|
|
||||||
ui.editor.beginEditMap(inStream);
|
ui.editor.beginEditMap(inStream);
|
||||||
});
|
});
|
||||||
}
|
}
|
||||||
});
|
});
|
||||||
}
|
}
|
||||||
|
|
||||||
}catch(IOException e){
|
}catch(IOException e){
|
||||||
e.printStackTrace();
|
e.printStackTrace();
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -0,0 +1,20 @@
|
|||||||
|
package io.anuke.mindustry;
|
||||||
|
|
||||||
|
import com.badlogic.gdx.backends.android.AndroidApplication;
|
||||||
|
import java.util.concurrent.ExecutorService;
|
||||||
|
import java.util.concurrent.Executors;
|
||||||
|
|
||||||
|
public class PatchedAndroidApplication extends AndroidApplication {
|
||||||
|
private final ExecutorService exec = Executors.newSingleThreadExecutor();
|
||||||
|
|
||||||
|
@Override
|
||||||
|
protected void onPause () {
|
||||||
|
if(useImmersiveMode) {
|
||||||
|
exec.submit(() -> {
|
||||||
|
try {Thread.sleep(100);} catch (InterruptedException ignored) {}
|
||||||
|
graphics.onDrawFrame(null);
|
||||||
|
});
|
||||||
|
}
|
||||||
|
super.onPause();
|
||||||
|
}
|
||||||
|
}
|
||||||
@@ -80,9 +80,6 @@ public class Annotations{
|
|||||||
*/
|
*/
|
||||||
boolean unreliable() default false;
|
boolean unreliable() default false;
|
||||||
|
|
||||||
/** The simple class name where this method is placed. */
|
|
||||||
String in() default "Call";
|
|
||||||
|
|
||||||
/** Priority of this event. */
|
/** Priority of this event. */
|
||||||
PacketPriority priority() default PacketPriority.normal;
|
PacketPriority priority() default PacketPriority.normal;
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -35,6 +35,8 @@ public class RemoteMethodAnnotationProcessor extends AbstractProcessor{
|
|||||||
private static final String readServerName = "RemoteReadServer";
|
private static final String readServerName = "RemoteReadServer";
|
||||||
/** Name of class that handles reading and invoking packets on the client. */
|
/** Name of class that handles reading and invoking packets on the client. */
|
||||||
private static final String readClientName = "RemoteReadClient";
|
private static final String readClientName = "RemoteReadClient";
|
||||||
|
/**Simple class name of generated class name.*/
|
||||||
|
private static final String callLocation = "Call";
|
||||||
|
|
||||||
/** Processing round number. */
|
/** Processing round number. */
|
||||||
private int round;
|
private int round;
|
||||||
@@ -102,15 +104,15 @@ public class RemoteMethodAnnotationProcessor extends AbstractProcessor{
|
|||||||
}
|
}
|
||||||
|
|
||||||
//get and create class entry if needed
|
//get and create class entry if needed
|
||||||
if(!classMap.containsKey(annotation.in())){
|
if(!classMap.containsKey(callLocation)){
|
||||||
ClassEntry clas = new ClassEntry(annotation.in());
|
ClassEntry clas = new ClassEntry(callLocation);
|
||||||
classMap.put(annotation.in(), clas);
|
classMap.put(callLocation, clas);
|
||||||
classes.add(clas);
|
classes.add(clas);
|
||||||
|
|
||||||
Utils.messager.printMessage(Kind.NOTE, "Generating class '" + clas.name + "'.");
|
Utils.messager.printMessage(Kind.NOTE, "Generating class '" + clas.name + "'.");
|
||||||
}
|
}
|
||||||
|
|
||||||
ClassEntry entry = classMap.get(annotation.in());
|
ClassEntry entry = classMap.get(callLocation);
|
||||||
|
|
||||||
//create and add entry
|
//create and add entry
|
||||||
MethodEntry method = new MethodEntry(entry.name, Utils.getMethodName(element), annotation.targets(), annotation.variants(),
|
MethodEntry method = new MethodEntry(entry.name, Utils.getMethodName(element), annotation.targets(), annotation.variants(),
|
||||||
|
|||||||
16
build.gradle
@@ -26,8 +26,7 @@ allprojects {
|
|||||||
appName = 'Mindustry'
|
appName = 'Mindustry'
|
||||||
gdxVersion = '1.9.8'
|
gdxVersion = '1.9.8'
|
||||||
roboVMVersion = '2.3.0'
|
roboVMVersion = '2.3.0'
|
||||||
aiVersion = '1.8.1'
|
uCoreVersion = '239e6a5bad'
|
||||||
uCoreVersion = 'b93d02efe3fdbe1a10b33d59597da8693d4f7de3'
|
|
||||||
|
|
||||||
getVersionString = {
|
getVersionString = {
|
||||||
String buildVersion = getBuildVersion()
|
String buildVersion = getBuildVersion()
|
||||||
@@ -97,7 +96,6 @@ project(":desktop") {
|
|||||||
compile "com.badlogicgames.gdx:gdx-platform:$gdxVersion:natives-desktop"
|
compile "com.badlogicgames.gdx:gdx-platform:$gdxVersion:natives-desktop"
|
||||||
compile "com.badlogicgames.gdx:gdx-controllers-lwjgl3:$gdxVersion"
|
compile "com.badlogicgames.gdx:gdx-controllers-lwjgl3:$gdxVersion"
|
||||||
compile 'com.github.MinnDevelopment:java-discord-rpc:v2.0.0'
|
compile 'com.github.MinnDevelopment:java-discord-rpc:v2.0.0'
|
||||||
compile 'com.yuvimasory:orange-extensions:1.3.0'
|
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
@@ -113,13 +111,10 @@ project(":html") {
|
|||||||
compile "com.badlogicgames.gdx:gdx-backend-gwt:$gdxVersion"
|
compile "com.badlogicgames.gdx:gdx-backend-gwt:$gdxVersion"
|
||||||
compile "com.badlogicgames.gdx:gdx:$gdxVersion:sources"
|
compile "com.badlogicgames.gdx:gdx:$gdxVersion:sources"
|
||||||
compile "com.badlogicgames.gdx:gdx-backend-gwt:$gdxVersion:sources"
|
compile "com.badlogicgames.gdx:gdx-backend-gwt:$gdxVersion:sources"
|
||||||
compile "com.badlogicgames.gdx:gdx-ai:$aiVersion:sources"
|
|
||||||
|
|
||||||
compile "com.badlogicgames.gdx:gdx-controllers:$gdxVersion:sources"
|
compile "com.badlogicgames.gdx:gdx-controllers:$gdxVersion:sources"
|
||||||
compile "com.badlogicgames.gdx:gdx-controllers-gwt:$gdxVersion"
|
compile "com.badlogicgames.gdx:gdx-controllers-gwt:$gdxVersion"
|
||||||
compile "com.badlogicgames.gdx:gdx-controllers-gwt:$gdxVersion:sources"
|
compile "com.badlogicgames.gdx:gdx-controllers-gwt:$gdxVersion:sources"
|
||||||
compile "com.sksamuel.gwt:gwt-websockets:1.0.4"
|
|
||||||
compile "com.sksamuel.gwt:gwt-websockets:1.0.4:sources"
|
|
||||||
}
|
}
|
||||||
|
|
||||||
compileJava.options.compilerArgs = [
|
compileJava.options.compilerArgs = [
|
||||||
@@ -154,13 +149,9 @@ project(":core") {
|
|||||||
compileOnly project(":annotations")
|
compileOnly project(":annotations")
|
||||||
build.finalizedBy(finish)
|
build.finalizedBy(finish)
|
||||||
|
|
||||||
boolean comp = System.properties["release"] == null || System.properties["release"] == "false"
|
def comp = System.properties["release"] == null || System.properties["release"] == "false"
|
||||||
|
|
||||||
if(!comp){
|
if(!comp) println("Note: Compiling release build.")
|
||||||
println("NOTICE: Compiling release build.")
|
|
||||||
}else{
|
|
||||||
println("Compiling DEBUG build.")
|
|
||||||
}
|
|
||||||
|
|
||||||
if(new File(projectDir.parent, '../uCore').exists() && comp){
|
if(new File(projectDir.parent, '../uCore').exists() && comp){
|
||||||
compile project(":uCore")
|
compile project(":uCore")
|
||||||
@@ -220,7 +211,6 @@ project(":kryonet") {
|
|||||||
dependencies {
|
dependencies {
|
||||||
compile project(":core")
|
compile project(":core")
|
||||||
compile 'com.github.crykn:kryonet:2.22.1'
|
compile 'com.github.crykn:kryonet:2.22.1'
|
||||||
compile "org.java-websocket:Java-WebSocket:1.3.7"
|
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|||||||
|
Before Width: | Height: | Size: 682 B After Width: | Height: | Size: 789 B |
|
Before Width: | Height: | Size: 580 B After Width: | Height: | Size: 532 B |
|
Before Width: | Height: | Size: 574 B After Width: | Height: | Size: 562 B |
BIN
core/assets-raw/sprites/blocks/extra/shadow-round-3.png
Normal file
|
After Width: | Height: | Size: 231 B |
|
Before Width: | Height: | Size: 524 B After Width: | Height: | Size: 455 B |
|
Before Width: | Height: | Size: 323 B After Width: | Height: | Size: 534 B |
|
Before Width: | Height: | Size: 313 B After Width: | Height: | Size: 501 B |
|
Before Width: | Height: | Size: 250 B After Width: | Height: | Size: 266 B |
|
Before Width: | Height: | Size: 372 B After Width: | Height: | Size: 262 B |
|
Before Width: | Height: | Size: 372 B After Width: | Height: | Size: 262 B |
|
Before Width: | Height: | Size: 370 B After Width: | Height: | Size: 275 B |
|
Before Width: | Height: | Size: 377 B After Width: | Height: | Size: 280 B |
BIN
core/assets-raw/sprites/blocks/units/command-center.png
Normal file
|
After Width: | Height: | Size: 416 B |
BIN
core/assets-raw/sprites/blocks/units/dagger-pad-top-open.png
Normal file
|
After Width: | Height: | Size: 432 B |
BIN
core/assets-raw/sprites/blocks/units/dagger-pad-top.png
Normal file
|
After Width: | Height: | Size: 439 B |
BIN
core/assets-raw/sprites/blocks/units/dagger-pad.png
Normal file
|
After Width: | Height: | Size: 284 B |
|
Before Width: | Height: | Size: 310 B After Width: | Height: | Size: 310 B |
|
Before Width: | Height: | Size: 306 B After Width: | Height: | Size: 306 B |
|
Before Width: | Height: | Size: 266 B After Width: | Height: | Size: 266 B |
|
Before Width: | Height: | Size: 363 B After Width: | Height: | Size: 363 B |
|
Before Width: | Height: | Size: 384 B After Width: | Height: | Size: 384 B |
|
Before Width: | Height: | Size: 266 B After Width: | Height: | Size: 266 B |
|
After Width: | Height: | Size: 434 B |
BIN
core/assets-raw/sprites/blocks/units/interceptor-pad-top.png
Normal file
|
After Width: | Height: | Size: 433 B |
BIN
core/assets-raw/sprites/blocks/units/interceptor-pad.png
Normal file
|
After Width: | Height: | Size: 284 B |
BIN
core/assets-raw/sprites/blocks/units/monsoon-pad-top-open.png
Normal file
|
After Width: | Height: | Size: 339 B |
BIN
core/assets-raw/sprites/blocks/units/monsoon-pad-top.png
Normal file
|
After Width: | Height: | Size: 332 B |
BIN
core/assets-raw/sprites/blocks/units/monsoon-pad.png
Normal file
|
After Width: | Height: | Size: 562 B |
BIN
core/assets-raw/sprites/blocks/units/titan-pad-top-open.png
Normal file
|
After Width: | Height: | Size: 339 B |
BIN
core/assets-raw/sprites/blocks/units/titan-pad-top.png
Normal file
|
After Width: | Height: | Size: 332 B |
BIN
core/assets-raw/sprites/blocks/units/titan-pad.png
Normal file
|
After Width: | Height: | Size: 572 B |
BIN
core/assets-raw/sprites/effects/command-attack.png
Normal file
|
After Width: | Height: | Size: 205 B |
BIN
core/assets-raw/sprites/effects/command-idle.png
Normal file
|
After Width: | Height: | Size: 190 B |
BIN
core/assets-raw/sprites/effects/command-retreat.png
Normal file
|
After Width: | Height: | Size: 194 B |
|
Before Width: | Height: | Size: 195 B After Width: | Height: | Size: 195 B |
|
Before Width: | Height: | Size: 177 B After Width: | Height: | Size: 177 B |
|
Before Width: | Height: | Size: 279 B After Width: | Height: | Size: 279 B |
|
Before Width: | Height: | Size: 298 B After Width: | Height: | Size: 298 B |
|
Before Width: | Height: | Size: 225 B |
@@ -1,4 +1,4 @@
|
|||||||
text.about=Created by [ROYAL]Anuken[] - [SKY]anukendev@gmail.com[]
|
text.credits.text=Created by [ROYAL]Anuken[] - [SKY]anukendev@gmail.com[]\n\n[GRAY](In case you can't tell, this text is currently unfinished.\nTranslators, don't edit it yet!)
|
||||||
text.credits=Credits
|
text.credits=Credits
|
||||||
text.discord=Join the mindustry discord!
|
text.discord=Join the mindustry discord!
|
||||||
text.link.discord.description=the official Mindustry discord chatroom
|
text.link.discord.description=the official Mindustry discord chatroom
|
||||||
@@ -11,11 +11,11 @@ text.link.wiki.description=official Mindustry wiki
|
|||||||
text.linkfail=Failed to open link!\nThe URL has been copied to your cliboard.
|
text.linkfail=Failed to open link!\nThe URL has been copied to your cliboard.
|
||||||
text.editor.web=The web version does not support the editor!\nDownload the game to use it.
|
text.editor.web=The web version does not support the editor!\nDownload the game to use it.
|
||||||
text.web.unsupported=The web version does not support this feature! Download the game to use it.
|
text.web.unsupported=The web version does not support this feature! Download the game to use it.
|
||||||
text.multiplayer.web=The web version of the game does not support multiplayer!\nUse the downloadable PC, Android or iOS versions.
|
text.gameover=Your core has been destroyed
|
||||||
text.host.web=The web version does not support hosting games! Download the game to use this feature.
|
text.sector.gameover=This sector has been lost. Re-deploy?
|
||||||
text.gameover=The core was destroyed.
|
text.sector.retry=Retry
|
||||||
text.highscore=[YELLOW]New highscore!
|
text.highscore=[accent]New highscore!
|
||||||
text.lasted=You lasted until wave
|
text.wave.lasted=You lasted until wave [accent]{0}[].
|
||||||
text.level.highscore=High Score: [accent]{0}
|
text.level.highscore=High Score: [accent]{0}
|
||||||
text.level.delete.title=Confirm Delete
|
text.level.delete.title=Confirm Delete
|
||||||
text.map.delete=Are you sure you want to delete the map "[orange]{0}[]"?
|
text.map.delete=Are you sure you want to delete the map "[orange]{0}[]"?
|
||||||
@@ -50,13 +50,19 @@ text.addplayers=Add/Remove Players
|
|||||||
text.customgame=Custom Game
|
text.customgame=Custom Game
|
||||||
text.campaign=Campaign
|
text.campaign=Campaign
|
||||||
text.sectors=Sectors
|
text.sectors=Sectors
|
||||||
text.sector=Selected Sector: [LIGHT_GRAY]{0}
|
text.sector=Sector: [LIGHT_GRAY]{0}
|
||||||
text.sector.time=Time: [LIGHT_GRAY]{0}
|
text.sector.time=Time: [LIGHT_GRAY]{0}
|
||||||
text.sector.deploy=Deploy
|
text.sector.deploy=Deploy
|
||||||
text.sector.resume=Resume
|
text.sector.resume=Resume
|
||||||
text.sector.unlocked=Sector completed!
|
|
||||||
text.sector.locked=[scarlet][[Incomplete]
|
text.sector.locked=[scarlet][[Incomplete]
|
||||||
text.sector.unexplored=[accent][[Unexplored]
|
text.sector.unexplored=[accent][[Unexplored]
|
||||||
|
text.mission=Mission:[LIGHT_GRAY] {0}
|
||||||
|
text.mission.complete=Mission complete!
|
||||||
|
text.mission.complete.body=Sector {0},{1} has been conquered.
|
||||||
|
text.mission.wave=Survive [accent]{0}[] waves.
|
||||||
|
text.mission.battle=Destroy the enemy base.
|
||||||
|
text.mission.resource=Obtain {0} x{1}
|
||||||
|
text.none=<none>
|
||||||
text.close=Close
|
text.close=Close
|
||||||
text.quit=Quit
|
text.quit=Quit
|
||||||
text.maps=Maps
|
text.maps=Maps
|
||||||
@@ -80,7 +86,7 @@ text.server.kicked.nameInUse=There is someone with that name\nalready on this se
|
|||||||
text.server.kicked.nameEmpty=Your name must contain at least one character or number.
|
text.server.kicked.nameEmpty=Your name must contain at least one character or number.
|
||||||
text.server.kicked.idInUse=You are already on this server! Connecting with two accounts is not permitted.
|
text.server.kicked.idInUse=You are already on this server! Connecting with two accounts is not permitted.
|
||||||
text.server.kicked.customClient=This server does not support custom builds. Download an official version.
|
text.server.kicked.customClient=This server does not support custom builds. Download an official version.
|
||||||
text.host.info=The [accent]host[] button hosts a server on ports [scarlet]6567[] and [scarlet]6568.[]\nAnybody on the same [LIGHT_GRAY]wifi or local network[] should be able to see your server in their server list.\n\nIf you want people to be able to connect from anywhere by IP, [accent]port forwarding[] is required.\n\n[LIGHT_GRAY]Note: If someone is experiencing trouble connecting to your LAN game, make sure you have allowed Mindustry access to your local network in your firewall settings.
|
text.host.info=The [accent]host[] button hosts a server on port [scarlet]6567[]. \nAnybody on the same [LIGHT_GRAY]wifi or local network[] should be able to see your server in their server list.\n\nIf you want people to be able to connect from anywhere by IP, [accent]port forwarding[] is required.\n\n[LIGHT_GRAY]Note: If someone is experiencing trouble connecting to your LAN game, make sure you have allowed Mindustry access to your local network in your firewall settings.
|
||||||
text.join.info=Here, you can enter a [accent]server IP[] to connect to, or discover [accent]local network[] servers to connect to.\nBoth LAN and WAN multiplayer is supported.\n\n[LIGHT_GRAY]Note: There is no automatic global server list; if you want to connect to someone by IP, you would need to ask the host for their IP.
|
text.join.info=Here, you can enter a [accent]server IP[] to connect to, or discover [accent]local network[] servers to connect to.\nBoth LAN and WAN multiplayer is supported.\n\n[LIGHT_GRAY]Note: There is no automatic global server list; if you want to connect to someone by IP, you would need to ask the host for their IP.
|
||||||
text.hostserver=Host Server
|
text.hostserver=Host Server
|
||||||
text.host=Host
|
text.host=Host
|
||||||
@@ -149,6 +155,7 @@ text.save.rename.text=New name:
|
|||||||
text.selectslot=Select a save.
|
text.selectslot=Select a save.
|
||||||
text.slot=[accent]Slot {0}
|
text.slot=[accent]Slot {0}
|
||||||
text.save.corrupted=[orange]Save file corrupted or invalid!\nIf you have just updated your game, this is probably a change in the save format and [scarlet]not[] a bug.
|
text.save.corrupted=[orange]Save file corrupted or invalid!\nIf you have just updated your game, this is probably a change in the save format and [scarlet]not[] a bug.
|
||||||
|
text.sector.corrupted=[orange]A save file for this sector was found, but loading failed.\nA new one has been created.
|
||||||
text.empty=<empty>
|
text.empty=<empty>
|
||||||
text.on=On
|
text.on=On
|
||||||
text.off=Off
|
text.off=Off
|
||||||
@@ -253,9 +260,6 @@ text.settings.controls=Controls
|
|||||||
text.settings.game=Game
|
text.settings.game=Game
|
||||||
text.settings.sound=Sound
|
text.settings.sound=Sound
|
||||||
text.settings.graphics=Graphics
|
text.settings.graphics=Graphics
|
||||||
text.upgrades=Upgrades
|
|
||||||
text.purchased=[LIME]Created!
|
|
||||||
text.weapons=Weapons
|
|
||||||
text.paused=Paused
|
text.paused=Paused
|
||||||
text.yes=Yes
|
text.yes=Yes
|
||||||
text.no=No
|
text.no=No
|
||||||
@@ -320,6 +324,9 @@ text.category.liquids=Liquids
|
|||||||
text.category.items=Items
|
text.category.items=Items
|
||||||
text.category.crafting=Crafting
|
text.category.crafting=Crafting
|
||||||
text.category.shooting=Shooting
|
text.category.shooting=Shooting
|
||||||
|
setting.fpscap.name=Max FPS
|
||||||
|
setting.fpscap.none=None
|
||||||
|
setting.fpscap.text={0} FPS
|
||||||
setting.difficulty.easy=easy
|
setting.difficulty.easy=easy
|
||||||
setting.difficulty.normal=normal
|
setting.difficulty.normal=normal
|
||||||
setting.difficulty.hard=hard
|
setting.difficulty.hard=hard
|
||||||
@@ -343,41 +350,27 @@ setting.musicvol.name=Music Volume
|
|||||||
setting.mutemusic.name=Mute Music
|
setting.mutemusic.name=Mute Music
|
||||||
setting.sfxvol.name=SFX Volume
|
setting.sfxvol.name=SFX Volume
|
||||||
setting.mutesound.name=Mute Sound
|
setting.mutesound.name=Mute Sound
|
||||||
map.maze.name=maze
|
|
||||||
map.fortress.name=fortress
|
|
||||||
map.sinkhole.name=sinkhole
|
|
||||||
map.caves.name=caves
|
|
||||||
map.volcano.name=volcano
|
|
||||||
map.caldera.name=caldera
|
|
||||||
map.scorch.name=scorch
|
|
||||||
map.desert.name=desert
|
|
||||||
map.island.name=island
|
|
||||||
map.grassland.name=grassland
|
|
||||||
map.tundra.name=tundra
|
|
||||||
map.spiral.name=spiral
|
|
||||||
map.tutorial.name=tutorial
|
|
||||||
text.keybind.title=Rebind Keys
|
text.keybind.title=Rebind Keys
|
||||||
keybind.move_x.name=move_x
|
keybind.move_x.name=Move x
|
||||||
keybind.move_y.name=move_y
|
keybind.move_y.name=Move y
|
||||||
keybind.select.name=select
|
keybind.select.name=Select
|
||||||
keybind.break.name=break
|
keybind.break.name=Break
|
||||||
keybind.shoot.name=shoot
|
keybind.shoot.name=Shoot
|
||||||
keybind.zoom_hold.name=zoom_hold
|
keybind.zoom_hold.name=Zoom Hold
|
||||||
keybind.zoom.name=zoom
|
keybind.zoom.name=Zoom
|
||||||
keybind.block_info.name=block_info
|
keybind.menu.name=Menu
|
||||||
keybind.menu.name=menu
|
keybind.pause.name=Pause
|
||||||
keybind.pause.name=pause
|
keybind.dash.name=Dash
|
||||||
keybind.dash.name=dash
|
keybind.chat.name=Chat
|
||||||
keybind.chat.name=chat
|
keybind.player_list.name=Player list
|
||||||
keybind.player_list.name=player_list
|
|
||||||
keybind.console.name=console
|
keybind.console.name=console
|
||||||
keybind.rotate_alt.name=rotate_alt
|
keybind.rotate.name=Rotate
|
||||||
keybind.rotate.name=rotate
|
|
||||||
mode.text.help.title=Description of modes
|
mode.text.help.title=Description of modes
|
||||||
mode.waves.name=waves
|
mode.waves.name=waves
|
||||||
mode.waves.description=the normal mode. limited resources and automatic incoming waves.
|
mode.waves.description=the normal mode. limited resources and automatic incoming waves.
|
||||||
mode.sandbox.name=sandbox
|
mode.sandbox.name=sandbox
|
||||||
mode.sandbox.description=infinite resources and no timer for waves.
|
mode.sandbox.description=infinite resources and no timer for waves.
|
||||||
|
mode.sandbox.warning=Note that blocks cannot be used in sandbox mode until they are unlocked in other modes.\n\n[LIGHT_GRAY]If you have not unlocked any blocks, none will appear.
|
||||||
mode.freebuild.name=freebuild
|
mode.freebuild.name=freebuild
|
||||||
mode.freebuild.description=limited resources and no timer for waves.
|
mode.freebuild.description=limited resources and no timer for waves.
|
||||||
|
|
||||||
@@ -426,6 +419,9 @@ text.item.radioactivity=[LIGHT_GRAY]Radioactivity: {0}
|
|||||||
text.item.fluxiness=[LIGHT_GRAY]Flux Power: {0}
|
text.item.fluxiness=[LIGHT_GRAY]Flux Power: {0}
|
||||||
text.item.hardness=[LIGHT_GRAY]Hardness: {0}
|
text.item.hardness=[LIGHT_GRAY]Hardness: {0}
|
||||||
|
|
||||||
|
text.unit.health=[LIGHT_GRAY]Health: {0}
|
||||||
|
text.unit.speed=[LIGHT_GRAY]Speed: {0}
|
||||||
|
|
||||||
text.liquid.heatcapacity=[LIGHT_GRAY]Heat Capacity: {0}
|
text.liquid.heatcapacity=[LIGHT_GRAY]Heat Capacity: {0}
|
||||||
text.liquid.viscosity=[LIGHT_GRAY]Viscosity: {0}
|
text.liquid.viscosity=[LIGHT_GRAY]Viscosity: {0}
|
||||||
text.liquid.temperature=[LIGHT_GRAY]Temperature: {0}
|
text.liquid.temperature=[LIGHT_GRAY]Temperature: {0}
|
||||||
@@ -479,9 +475,9 @@ block.carbide-drill.name=Carbide Drill
|
|||||||
block.laser-drill.name=Laser Drill
|
block.laser-drill.name=Laser Drill
|
||||||
block.water-extractor.name=Water Extractor
|
block.water-extractor.name=Water Extractor
|
||||||
block.cultivator.name=Cultivator
|
block.cultivator.name=Cultivator
|
||||||
block.dart-ship-factory.name=Dart Ship Factory
|
block.dart-ship-factory.name=Dart Ship Reconstructor
|
||||||
block.delta-mech-factory.name=Delta Mech Factory
|
block.delta-mech-factory.name=Delta Mech Reconstructor
|
||||||
block.dronefactory.name=Drone Factory
|
block.javelin-ship-factory.name=Javelin Ship Reconstructor
|
||||||
block.repairpoint.name=Repair Point
|
block.repairpoint.name=Repair Point
|
||||||
block.resupplypoint.name=Resupply Point
|
block.resupplypoint.name=Resupply Point
|
||||||
block.conduit.name=Conduit
|
block.conduit.name=Conduit
|
||||||
@@ -512,9 +508,10 @@ block.solidifer.name=Solidifer
|
|||||||
block.solar-panel.name=Solar Panel
|
block.solar-panel.name=Solar Panel
|
||||||
block.solar-panel-large.name=Large Solar Panel
|
block.solar-panel-large.name=Large Solar Panel
|
||||||
block.oil-extractor.name=Oil Extractor
|
block.oil-extractor.name=Oil Extractor
|
||||||
block.javelin-ship-factory.name=Javelin Ship factory
|
block.drone-pad.name=Drone Pad
|
||||||
block.drone-factory.name=Drone Factory
|
block.fabricator-pad.name=Fabricator Pad
|
||||||
block.fabricator-factory.name=Fabricator Factory
|
block.interceptor-pad.name=Interceptor Pad
|
||||||
|
block.monsoon-pad.name=Monsoon Pad
|
||||||
block.repair-point.name=Repair Point
|
block.repair-point.name=Repair Point
|
||||||
block.resupply-point.name=Resupply Point
|
block.resupply-point.name=Resupply Point
|
||||||
block.pulse-conduit.name=Pulse Conduit
|
block.pulse-conduit.name=Pulse Conduit
|
||||||
@@ -525,3 +522,23 @@ block.liquid-junction.name=Liquid Junction
|
|||||||
block.bridge-conduit.name=Bridge Conduit
|
block.bridge-conduit.name=Bridge Conduit
|
||||||
block.rotary-pump.name=Rotary Pump
|
block.rotary-pump.name=Rotary Pump
|
||||||
block.nuclear-reactor.name=Nuclear Reactor
|
block.nuclear-reactor.name=Nuclear Reactor
|
||||||
|
block.command-center.name=Command Center
|
||||||
|
block.mass-driver.name=Mass Driver
|
||||||
|
block.blast-drill.name=Blast Drill
|
||||||
|
block.thermal-pump.name=Thermal Pump
|
||||||
|
block.dagger-pad.name=Dagger Pad
|
||||||
|
block.titan-pad.name=Titan Pad
|
||||||
|
block.thermal-generator.name=Thermal Generator
|
||||||
|
|
||||||
|
unit.drone.name=Drone
|
||||||
|
unit.drone.description=The starter drone unit. Spawns in the core by default. Automatically mines ores, collects items and repairs blocks.
|
||||||
|
unit.fabricator.name=Fabricator
|
||||||
|
unit.fabricator.description=An advanced drone unit. Automatically mines ores, collects items and repairs blocks. Significantly more effective than a drone.
|
||||||
|
unit.scout.name=Scout
|
||||||
|
unit.scout.description=A basic ground unit. Uses lead as ammo.
|
||||||
|
unit.titan.name=Titan
|
||||||
|
unit.titan.description=An advanced armored ground unit. Uses carbide as ammo. Attacks both ground and air targets.
|
||||||
|
unit.monsoon.name=Monsoon
|
||||||
|
unit.monsoon.description=A heavy carpet bomber. Uses blast compound or pyratite as ammo.
|
||||||
|
unit.interceptor.name=Interceptor
|
||||||
|
unit.interceptor.description=A fast, hit-and-run strike unit. Uses lead as ammo.
|
||||||
@@ -1,8 +1,6 @@
|
|||||||
text.about=Erstellt von [ROYAL] Anuken. [] \nUrsprünglich ein Eintrag im [orange] GDL [] MM Jam.\n\nCredits: \n- SFX gemacht mit [yellow] bfxr [] - Musik gemacht von [green] RoccoW [] / gefunden auf [lime] FreeMusicArchive.org [] \n\nBesonderer Dank geht an: \n- [coral] MitchellFJN []: Umfangreicher Spieletest und Feedback \n- [sky] Luxray5474 []: Wiki-Arbeit, Code-Beiträge \n- Alle Beta-Tester auf itch.io und Google Play\n
|
|
||||||
text.discord=Trete dem Mindustry Discord bei!
|
text.discord=Trete dem Mindustry Discord bei!
|
||||||
text.gameover=Der Kern wurde zerstört.
|
text.gameover=Der Kern wurde zerstört.
|
||||||
text.highscore=[YELLOW] Neuer Highscore!
|
text.highscore=[YELLOW] Neuer Highscore!
|
||||||
text.lasted=Du hast bis zur folgenden Welle überlebt
|
|
||||||
text.level.highscore=High Score: [accent] {0}
|
text.level.highscore=High Score: [accent] {0}
|
||||||
text.level.delete.title=Löschen bestätigen
|
text.level.delete.title=Löschen bestätigen
|
||||||
text.level.select=Level Auswahl
|
text.level.select=Level Auswahl
|
||||||
@@ -111,9 +109,6 @@ text.settings.controls=Steuerung
|
|||||||
text.settings.game=Spiel
|
text.settings.game=Spiel
|
||||||
text.settings.sound=Audio
|
text.settings.sound=Audio
|
||||||
text.settings.graphics=Grafiken
|
text.settings.graphics=Grafiken
|
||||||
text.upgrades=Verbesserungen
|
|
||||||
text.purchased=[LIME] Erstellt!
|
|
||||||
text.weapons=Waffen
|
|
||||||
text.paused=Pausiert
|
text.paused=Pausiert
|
||||||
text.error.title=[crimson] Ein Fehler ist aufgetreten
|
text.error.title=[crimson] Ein Fehler ist aufgetreten
|
||||||
text.error.crashtitle=EIn Fehler ist aufgetreten!
|
text.error.crashtitle=EIn Fehler ist aufgetreten!
|
||||||
@@ -153,19 +148,6 @@ setting.musicvol.name=Musiklautstärke
|
|||||||
setting.mutemusic.name=Musik stummschalten
|
setting.mutemusic.name=Musik stummschalten
|
||||||
setting.sfxvol.name=Audioeffekte Lautstärke
|
setting.sfxvol.name=Audioeffekte Lautstärke
|
||||||
setting.mutesound.name=Audioeffekte stummschalten
|
setting.mutesound.name=Audioeffekte stummschalten
|
||||||
map.maze.name=Labyrinth
|
|
||||||
map.fortress.name=Festung
|
|
||||||
map.sinkhole.name=Sinkloch
|
|
||||||
map.caves.name=Höhlen
|
|
||||||
map.volcano.name=Vulkan
|
|
||||||
map.caldera.name=Lavakessel
|
|
||||||
map.scorch.name=Flammen
|
|
||||||
map.desert.name=Wüste
|
|
||||||
map.island.name=Insel
|
|
||||||
map.grassland.name=Grasland
|
|
||||||
map.tundra.name=Kältesteppe
|
|
||||||
map.spiral.name=Spirale
|
|
||||||
map.tutorial.name=Tutorial
|
|
||||||
keybind.move_x.name=bewege_x
|
keybind.move_x.name=bewege_x
|
||||||
keybind.move_y.name=bewege_y
|
keybind.move_y.name=bewege_y
|
||||||
keybind.select.name=wählen
|
keybind.select.name=wählen
|
||||||
@@ -176,7 +158,6 @@ keybind.zoom.name=zoomen
|
|||||||
keybind.menu.name=Menü
|
keybind.menu.name=Menü
|
||||||
keybind.pause.name=Pause
|
keybind.pause.name=Pause
|
||||||
keybind.dash.name=Bindestrich
|
keybind.dash.name=Bindestrich
|
||||||
keybind.rotate_alt.name=drehen_alt
|
|
||||||
keybind.rotate.name=Drehen
|
keybind.rotate.name=Drehen
|
||||||
mode.waves.name=Wellen
|
mode.waves.name=Wellen
|
||||||
mode.sandbox.name=Sandkasten
|
mode.sandbox.name=Sandkasten
|
||||||
@@ -211,8 +192,6 @@ text.link.wiki.description=official Mindustry wiki
|
|||||||
text.linkfail=Failed to open link!\nThe URL has been copied to your cliboard.
|
text.linkfail=Failed to open link!\nThe URL has been copied to your cliboard.
|
||||||
text.editor.web=The web version does not support the editor!\nDownload the game to use it.
|
text.editor.web=The web version does not support the editor!\nDownload the game to use it.
|
||||||
text.web.unsupported=The web version does not support this feature! Download the game to use it.
|
text.web.unsupported=The web version does not support this feature! Download the game to use it.
|
||||||
text.multiplayer.web=This version of the game does not support multiplayer!\nTo play multiplayer from your browser, use the "multiplayer web version" link at the itch.io page.
|
|
||||||
text.host.web=The web version does not support hosting games! Download the game to use this feature.
|
|
||||||
text.map.delete=Are you sure you want to delete the map "[orange]{0}[]"?
|
text.map.delete=Are you sure you want to delete the map "[orange]{0}[]"?
|
||||||
text.construction.title=Block Construction Guide
|
text.construction.title=Block Construction Guide
|
||||||
text.construction=You've just selected [accent]block construction mode[].\n\nTo begin placing, simply tap a valid location near your ship.\nOnce you have selected some blocks, press the checkbox to confirm, and your ship will begin constructing them.\n\n- [accent]Remove blocks[] from your selection by tapping them.\n- [accent]Shift the selection[] by holding and dragging any block in the selection.\n- [accent]Place blocks in a line[] by tapping and holding an empty spot, then dragging in a direction.\n- [accent]Cancel construction or selection[] by pressing the X at the bottom left.
|
text.construction=You've just selected [accent]block construction mode[].\n\nTo begin placing, simply tap a valid location near your ship.\nOnce you have selected some blocks, press the checkbox to confirm, and your ship will begin constructing them.\n\n- [accent]Remove blocks[] from your selection by tapping them.\n- [accent]Shift the selection[] by holding and dragging any block in the selection.\n- [accent]Place blocks in a line[] by tapping and holding an empty spot, then dragging in a direction.\n- [accent]Cancel construction or selection[] by pressing the X at the bottom left.
|
||||||
@@ -359,7 +338,6 @@ setting.fullscreen.name=Fullscreen
|
|||||||
setting.multithread.name=Multithreading
|
setting.multithread.name=Multithreading
|
||||||
setting.minimap.name=Show Minimap
|
setting.minimap.name=Show Minimap
|
||||||
text.keybind.title=Rebind Keys
|
text.keybind.title=Rebind Keys
|
||||||
keybind.block_info.name=block_info
|
|
||||||
keybind.chat.name=chat
|
keybind.chat.name=chat
|
||||||
keybind.player_list.name=player_list
|
keybind.player_list.name=player_list
|
||||||
keybind.console.name=console
|
keybind.console.name=console
|
||||||
@@ -447,7 +425,6 @@ block.water-extractor.name=Water Extractor
|
|||||||
block.cultivator.name=Cultivator
|
block.cultivator.name=Cultivator
|
||||||
block.dart-ship-factory.name=Dart Ship Factory
|
block.dart-ship-factory.name=Dart Ship Factory
|
||||||
block.delta-mech-factory.name=Delta Mech Factory
|
block.delta-mech-factory.name=Delta Mech Factory
|
||||||
block.dronefactory.name=Drone Factory
|
|
||||||
block.repairpoint.name=Repair Point
|
block.repairpoint.name=Repair Point
|
||||||
block.resupplypoint.name=Resupply Point
|
block.resupplypoint.name=Resupply Point
|
||||||
block.liquidtank.name=Liquid Tank
|
block.liquidtank.name=Liquid Tank
|
||||||
@@ -475,8 +452,6 @@ block.solar-panel.name=Solar Panel
|
|||||||
block.solar-panel-large.name=Large Solar Panel
|
block.solar-panel-large.name=Large Solar Panel
|
||||||
block.oil-extractor.name=Oil Extractor
|
block.oil-extractor.name=Oil Extractor
|
||||||
block.javelin-ship-factory.name=Javelin Ship factory
|
block.javelin-ship-factory.name=Javelin Ship factory
|
||||||
block.drone-factory.name=Drone Factory
|
|
||||||
block.fabricator-factory.name=Fabricator Factory
|
|
||||||
block.repair-point.name=Repair Point
|
block.repair-point.name=Repair Point
|
||||||
block.resupply-point.name=Resupply Point
|
block.resupply-point.name=Resupply Point
|
||||||
block.pulse-conduit.name=Pulse Conduit
|
block.pulse-conduit.name=Pulse Conduit
|
||||||
@@ -495,9 +470,49 @@ text.sector=Selected Sector: [LIGHT_GRAY]{0}
|
|||||||
text.sector.time=Time: [LIGHT_GRAY]{0}
|
text.sector.time=Time: [LIGHT_GRAY]{0}
|
||||||
text.sector.deploy=Deploy
|
text.sector.deploy=Deploy
|
||||||
text.sector.resume=Resume
|
text.sector.resume=Resume
|
||||||
text.sector.unlocked=Sector completed!
|
|
||||||
text.sector.locked=[scarlet][[Incomplete]
|
text.sector.locked=[scarlet][[Incomplete]
|
||||||
text.sector.unexplored=[accent][[Unexplored]
|
text.sector.unexplored=[accent][[Unexplored]
|
||||||
text.close=Close
|
text.close=Close
|
||||||
text.save.playtime=Playtime: {0}
|
text.save.playtime=Playtime: {0}
|
||||||
text.editor.brush=Brush
|
text.editor.brush=Brush
|
||||||
|
text.credits.text=Created by [ROYAL]Anuken[] - [SKY]anukendev@gmail.com[]\n\n[GRAY](In case you can't tell, this text is currently unfinished.\nTranslators, don't edit it yet!)
|
||||||
|
text.sector.gameover=This sector has been lost. Re-deploy?
|
||||||
|
text.sector.retry=Retry
|
||||||
|
text.wave.lasted=You lasted until wave [accent]{0}[].
|
||||||
|
setting.fpscap.name=Max FPS
|
||||||
|
setting.fpscap.none=None
|
||||||
|
setting.fpscap.text={0} FPS
|
||||||
|
block.command-center.name=Command Center
|
||||||
|
text.mission=Mission:[LIGHT_GRAY] {0}
|
||||||
|
text.mission.wave=Survive [accent]{0}[] waves.
|
||||||
|
text.mission.battle=Destroy the enemy base.
|
||||||
|
text.none=<none>
|
||||||
|
text.sector.corrupted=[orange]A save file for this sector was found, but loading failed.\nA new one has been created.
|
||||||
|
text.mission.complete=Mission complete!
|
||||||
|
text.mission.complete.body=Sector {0},{1} has been conquered.
|
||||||
|
text.mission.resource=Obtain {0} x{1}
|
||||||
|
text.unit.health=[LIGHT_GRAY]Health: {0}
|
||||||
|
text.unit.speed=[LIGHT_GRAY]Speed: {0}
|
||||||
|
block.drone-pad.name=Drone Pad
|
||||||
|
block.fabricator-pad.name=Fabricator Pad
|
||||||
|
block.interceptor-pad.name=Interceptor Pad
|
||||||
|
block.monsoon-pad.name=Monsoon Pad
|
||||||
|
block.mass-driver.name=Mass Driver
|
||||||
|
block.blast-drill.name=Blast Drill
|
||||||
|
unit.drone.name=Drone
|
||||||
|
unit.drone.description=The starter drone unit. Spawns in the core by default. Automatically mines ores, collects items and repairs blocks.
|
||||||
|
unit.fabricator.name=Fabricator
|
||||||
|
unit.fabricator.description=An advanced drone unit. Automatically mines ores, collects items and repairs blocks. Significantly more effective than a drone.
|
||||||
|
unit.scout.name=Scout
|
||||||
|
unit.scout.description=A basic ground unit. Uses lead as ammo.
|
||||||
|
unit.titan.name=Titan
|
||||||
|
unit.titan.description=An advanced armored ground unit. Uses carbide as ammo. Attacks both ground and air targets.
|
||||||
|
unit.monsoon.name=Monsoon
|
||||||
|
unit.monsoon.description=A heavy carpet bomber. Uses blast compound or pyratite as ammo.
|
||||||
|
unit.interceptor.name=Interceptor
|
||||||
|
unit.interceptor.description=A fast, hit-and-run strike unit. Uses lead as ammo.
|
||||||
|
mode.sandbox.warning=Note that blocks cannot be used in sandbox mode until they are unlocked in other modes.\n\n[LIGHT_GRAY]If you have not unlocked any blocks, none will appear.
|
||||||
|
block.thermal-pump.name=Thermal Pump
|
||||||
|
block.dagger-pad.name=Dagger Pad
|
||||||
|
block.titan-pad.name=Titan Pad
|
||||||
|
block.thermal-generator.name=Thermal Generator
|
||||||
|
|||||||
@@ -1,4 +1,3 @@
|
|||||||
text.about=Creado por [ROYAL]Anuken [] - [SKY] anukendev@gmail.com [] Originalmente una entrada en el [naranja] GDL [] Metal Monstrosity Jam. Créditos: - SFX hecho con [AMARILLO] bfxr [] - Música hecha por [VERDE] RoccoW [] / encontrado en [lime] FreeMusicArchive.org [] Agradecimientos especiales a: - [coral] MitchellFJN []: extensa prueba de juego y comentarios - [cielo] Luxray5474 []: trabajo wiki, contribuciones de código - [lime] Epowerj []: sistema de compilación de código, icono - Todos los probadores beta en itch.io y Google Play\n
|
|
||||||
text.credits=Créditos
|
text.credits=Créditos
|
||||||
text.discord=¡Únete al Discord de Mindustry!
|
text.discord=¡Únete al Discord de Mindustry!
|
||||||
text.link.discord.description=La sala oficial del discord de Mindustry
|
text.link.discord.description=La sala oficial del discord de Mindustry
|
||||||
@@ -10,10 +9,8 @@ text.link.google-play.description=Listado en la tienda de Google Play
|
|||||||
text.link.wiki.description=Wiki oficial de Mindustry
|
text.link.wiki.description=Wiki oficial de Mindustry
|
||||||
text.linkfail=¡Error al abrir el enlace!\nLa URL ha sido copiada a su portapapeles
|
text.linkfail=¡Error al abrir el enlace!\nLa URL ha sido copiada a su portapapeles
|
||||||
text.editor.web=¡La versión web no es compatible con el editor!\nDescargue el juego para usarlo.
|
text.editor.web=¡La versión web no es compatible con el editor!\nDescargue el juego para usarlo.
|
||||||
text.multiplayer.web=¡Esta versión del juego no admite multijugador!\nPara jugar al modo multijugador desde su navegador, use el enlace "versión de varios jugadores" en la página itch.io.
|
|
||||||
text.gameover=El núcleo fue destruido.
|
text.gameover=El núcleo fue destruido.
|
||||||
text.highscore=[YELLOW]¡Nueva mejor puntuación!
|
text.highscore=[YELLOW]¡Nueva mejor puntuación!
|
||||||
text.lasted=Duró hasta la ronda
|
|
||||||
text.level.highscore=Puntuación màs alta: [accent]
|
text.level.highscore=Puntuación màs alta: [accent]
|
||||||
text.level.delete.title=Confirmar Eliminación
|
text.level.delete.title=Confirmar Eliminación
|
||||||
text.level.select=Selección de nivel
|
text.level.select=Selección de nivel
|
||||||
@@ -165,9 +162,6 @@ text.settings.controls=Controles
|
|||||||
text.settings.game=Juego
|
text.settings.game=Juego
|
||||||
text.settings.sound=Sonido
|
text.settings.sound=Sonido
|
||||||
text.settings.graphics=Gráficos
|
text.settings.graphics=Gráficos
|
||||||
text.upgrades=Mejoras
|
|
||||||
text.purchased=[LIME] Creado!
|
|
||||||
text.weapons=Armas
|
|
||||||
text.paused=Pausado
|
text.paused=Pausado
|
||||||
text.info.title=[acento] Información
|
text.info.title=[acento] Información
|
||||||
text.error.title=[carmesí] Se ha producido un error
|
text.error.title=[carmesí] Se ha producido un error
|
||||||
@@ -210,19 +204,6 @@ setting.musicvol.name=Volumen de la música
|
|||||||
setting.mutemusic.name=Apagar música
|
setting.mutemusic.name=Apagar música
|
||||||
setting.sfxvol.name=Volumen de los efectos de sonido
|
setting.sfxvol.name=Volumen de los efectos de sonido
|
||||||
setting.mutesound.name=Apagar sonidos
|
setting.mutesound.name=Apagar sonidos
|
||||||
map.maze.name=Laberinto
|
|
||||||
map.fortress.name=Fortaleza
|
|
||||||
map.sinkhole.name=Sumidero
|
|
||||||
map.caves.name=Cuevas
|
|
||||||
map.volcano.name=Volcán
|
|
||||||
map.caldera.name=Caldera
|
|
||||||
map.scorch.name=Desierto volcánico
|
|
||||||
map.desert.name=Desierto
|
|
||||||
map.island.name=Isla
|
|
||||||
map.grassland.name=Pastizal
|
|
||||||
map.tundra.name=Tundra
|
|
||||||
map.spiral.name=Espiral
|
|
||||||
map.tutorial.name=Tutorial
|
|
||||||
text.keybind.title=Vuelva a conectar las llaves
|
text.keybind.title=Vuelva a conectar las llaves
|
||||||
keybind.move_x.name=mover_x
|
keybind.move_x.name=mover_x
|
||||||
keybind.move_y.name=mover_y
|
keybind.move_y.name=mover_y
|
||||||
@@ -231,14 +212,12 @@ keybind.break.name=Romper
|
|||||||
keybind.shoot.name=¡Dispara!
|
keybind.shoot.name=¡Dispara!
|
||||||
keybind.zoom_hold.name=Enfoque_Mantener
|
keybind.zoom_hold.name=Enfoque_Mantener
|
||||||
keybind.zoom.name=Enfoquè
|
keybind.zoom.name=Enfoquè
|
||||||
keybind.block_info.name=Bloque_informacion
|
|
||||||
keybind.menu.name=Menú
|
keybind.menu.name=Menú
|
||||||
keybind.pause.name=Pausa
|
keybind.pause.name=Pausa
|
||||||
keybind.dash.name=Deslizar
|
keybind.dash.name=Deslizar
|
||||||
keybind.chat.name=Chat
|
keybind.chat.name=Chat
|
||||||
keybind.player_list.name=Jugadores_lista
|
keybind.player_list.name=Jugadores_lista
|
||||||
keybind.console.name=Console
|
keybind.console.name=Console
|
||||||
keybind.rotate_alt.name=Rotacion_alt
|
|
||||||
keybind.rotate.name=Girar
|
keybind.rotate.name=Girar
|
||||||
mode.text.help.title=Descripción de modos
|
mode.text.help.title=Descripción de modos
|
||||||
mode.waves.name=Hordas
|
mode.waves.name=Hordas
|
||||||
@@ -266,7 +245,6 @@ block.liquidjunction.name=Unión líquida
|
|||||||
block.sorter.name=Clasificador
|
block.sorter.name=Clasificador
|
||||||
block.smelter.name=horno de fundición
|
block.smelter.name=horno de fundición
|
||||||
text.web.unsupported=The web version does not support this feature! Download the game to use it.
|
text.web.unsupported=The web version does not support this feature! Download the game to use it.
|
||||||
text.host.web=The web version does not support hosting games! Download the game to use this feature.
|
|
||||||
text.map.delete=Are you sure you want to delete the map "[orange]{0}[]"?
|
text.map.delete=Are you sure you want to delete the map "[orange]{0}[]"?
|
||||||
text.construction.title=Block Construction Guide
|
text.construction.title=Block Construction Guide
|
||||||
text.construction=You've just selected [accent]block construction mode[].\n\nTo begin placing, simply tap a valid location near your ship.\nOnce you have selected some blocks, press the checkbox to confirm, and your ship will begin constructing them.\n\n- [accent]Remove blocks[] from your selection by tapping them.\n- [accent]Shift the selection[] by holding and dragging any block in the selection.\n- [accent]Place blocks in a line[] by tapping and holding an empty spot, then dragging in a direction.\n- [accent]Cancel construction or selection[] by pressing the X at the bottom left.
|
text.construction=You've just selected [accent]block construction mode[].\n\nTo begin placing, simply tap a valid location near your ship.\nOnce you have selected some blocks, press the checkbox to confirm, and your ship will begin constructing them.\n\n- [accent]Remove blocks[] from your selection by tapping them.\n- [accent]Shift the selection[] by holding and dragging any block in the selection.\n- [accent]Place blocks in a line[] by tapping and holding an empty spot, then dragging in a direction.\n- [accent]Cancel construction or selection[] by pressing the X at the bottom left.
|
||||||
@@ -447,7 +425,6 @@ block.water-extractor.name=Water Extractor
|
|||||||
block.cultivator.name=Cultivator
|
block.cultivator.name=Cultivator
|
||||||
block.dart-ship-factory.name=Dart Ship Factory
|
block.dart-ship-factory.name=Dart Ship Factory
|
||||||
block.delta-mech-factory.name=Delta Mech Factory
|
block.delta-mech-factory.name=Delta Mech Factory
|
||||||
block.dronefactory.name=Drone Factory
|
|
||||||
block.repairpoint.name=Repair Point
|
block.repairpoint.name=Repair Point
|
||||||
block.resupplypoint.name=Resupply Point
|
block.resupplypoint.name=Resupply Point
|
||||||
block.liquidtank.name=Liquid Tank
|
block.liquidtank.name=Liquid Tank
|
||||||
@@ -475,8 +452,6 @@ block.solar-panel.name=Solar Panel
|
|||||||
block.solar-panel-large.name=Large Solar Panel
|
block.solar-panel-large.name=Large Solar Panel
|
||||||
block.oil-extractor.name=Oil Extractor
|
block.oil-extractor.name=Oil Extractor
|
||||||
block.javelin-ship-factory.name=Javelin Ship factory
|
block.javelin-ship-factory.name=Javelin Ship factory
|
||||||
block.drone-factory.name=Drone Factory
|
|
||||||
block.fabricator-factory.name=Fabricator Factory
|
|
||||||
block.repair-point.name=Repair Point
|
block.repair-point.name=Repair Point
|
||||||
block.resupply-point.name=Resupply Point
|
block.resupply-point.name=Resupply Point
|
||||||
block.pulse-conduit.name=Pulse Conduit
|
block.pulse-conduit.name=Pulse Conduit
|
||||||
@@ -495,9 +470,49 @@ text.sector=Selected Sector: [LIGHT_GRAY]{0}
|
|||||||
text.sector.time=Time: [LIGHT_GRAY]{0}
|
text.sector.time=Time: [LIGHT_GRAY]{0}
|
||||||
text.sector.deploy=Deploy
|
text.sector.deploy=Deploy
|
||||||
text.sector.resume=Resume
|
text.sector.resume=Resume
|
||||||
text.sector.unlocked=Sector completed!
|
|
||||||
text.sector.locked=[scarlet][[Incomplete]
|
text.sector.locked=[scarlet][[Incomplete]
|
||||||
text.sector.unexplored=[accent][[Unexplored]
|
text.sector.unexplored=[accent][[Unexplored]
|
||||||
text.close=Close
|
text.close=Close
|
||||||
text.save.playtime=Playtime: {0}
|
text.save.playtime=Playtime: {0}
|
||||||
text.editor.brush=Brush
|
text.editor.brush=Brush
|
||||||
|
text.credits.text=Created by [ROYAL]Anuken[] - [SKY]anukendev@gmail.com[]\n\n[GRAY](In case you can't tell, this text is currently unfinished.\nTranslators, don't edit it yet!)
|
||||||
|
text.sector.gameover=This sector has been lost. Re-deploy?
|
||||||
|
text.sector.retry=Retry
|
||||||
|
text.wave.lasted=You lasted until wave [accent]{0}[].
|
||||||
|
setting.fpscap.name=Max FPS
|
||||||
|
setting.fpscap.none=None
|
||||||
|
setting.fpscap.text={0} FPS
|
||||||
|
block.command-center.name=Command Center
|
||||||
|
text.mission=Mission:[LIGHT_GRAY] {0}
|
||||||
|
text.mission.wave=Survive [accent]{0}[] waves.
|
||||||
|
text.mission.battle=Destroy the enemy base.
|
||||||
|
text.none=<none>
|
||||||
|
text.sector.corrupted=[orange]A save file for this sector was found, but loading failed.\nA new one has been created.
|
||||||
|
text.mission.complete=Mission complete!
|
||||||
|
text.mission.complete.body=Sector {0},{1} has been conquered.
|
||||||
|
text.mission.resource=Obtain {0} x{1}
|
||||||
|
text.unit.health=[LIGHT_GRAY]Health: {0}
|
||||||
|
text.unit.speed=[LIGHT_GRAY]Speed: {0}
|
||||||
|
block.drone-pad.name=Drone Pad
|
||||||
|
block.fabricator-pad.name=Fabricator Pad
|
||||||
|
block.interceptor-pad.name=Interceptor Pad
|
||||||
|
block.monsoon-pad.name=Monsoon Pad
|
||||||
|
block.mass-driver.name=Mass Driver
|
||||||
|
block.blast-drill.name=Blast Drill
|
||||||
|
unit.drone.name=Drone
|
||||||
|
unit.drone.description=The starter drone unit. Spawns in the core by default. Automatically mines ores, collects items and repairs blocks.
|
||||||
|
unit.fabricator.name=Fabricator
|
||||||
|
unit.fabricator.description=An advanced drone unit. Automatically mines ores, collects items and repairs blocks. Significantly more effective than a drone.
|
||||||
|
unit.scout.name=Scout
|
||||||
|
unit.scout.description=A basic ground unit. Uses lead as ammo.
|
||||||
|
unit.titan.name=Titan
|
||||||
|
unit.titan.description=An advanced armored ground unit. Uses carbide as ammo. Attacks both ground and air targets.
|
||||||
|
unit.monsoon.name=Monsoon
|
||||||
|
unit.monsoon.description=A heavy carpet bomber. Uses blast compound or pyratite as ammo.
|
||||||
|
unit.interceptor.name=Interceptor
|
||||||
|
unit.interceptor.description=A fast, hit-and-run strike unit. Uses lead as ammo.
|
||||||
|
mode.sandbox.warning=Note that blocks cannot be used in sandbox mode until they are unlocked in other modes.\n\n[LIGHT_GRAY]If you have not unlocked any blocks, none will appear.
|
||||||
|
block.thermal-pump.name=Thermal Pump
|
||||||
|
block.dagger-pad.name=Dagger Pad
|
||||||
|
block.titan-pad.name=Titan Pad
|
||||||
|
block.thermal-generator.name=Thermal Generator
|
||||||
|
|||||||
@@ -1,8 +1,6 @@
|
|||||||
text.about=Créé par [ROYAL]Anuken.[]\nA l'origine une entrée dans le [orange]GDL[] MM Jam.\n\nCrédits: \n- SFX réalisé avec [yellow]bfxr[] \n- Musique faite par [lime]RoccoW[] / trouvé sur [lime]FreeMusicArchive.org[] \n\nRemerciements particuliers à:\n- [coral]MitchellFJN[]: nombreux tests et retours d'expérience \n- [sky]Luxray5474[]: travail wiki, contributions de code \n- [lime]Epowerj[]: système de compilation de code, icône \n- Tous les beta testeurs sont sur itch.io et Google Play\n
|
|
||||||
text.discord=Rejoignez le discord de Mindustry
|
text.discord=Rejoignez le discord de Mindustry
|
||||||
text.gameover=Le noyau a été détruit.
|
text.gameover=Le noyau a été détruit.
|
||||||
text.highscore=[YELLOW]Nouveau meilleur score!
|
text.highscore=[YELLOW]Nouveau meilleur score!
|
||||||
text.lasted=Vous avez duré jusqu'à la vague
|
|
||||||
text.level.highscore=Meilleur score: [accent]{0}
|
text.level.highscore=Meilleur score: [accent]{0}
|
||||||
text.level.delete.title=Confirmer
|
text.level.delete.title=Confirmer
|
||||||
text.level.select=Sélection de niveau
|
text.level.select=Sélection de niveau
|
||||||
@@ -147,9 +145,6 @@ text.settings.controls=Contrôles
|
|||||||
text.settings.game=Jeu
|
text.settings.game=Jeu
|
||||||
text.settings.sound=Son
|
text.settings.sound=Son
|
||||||
text.settings.graphics=Graphique
|
text.settings.graphics=Graphique
|
||||||
text.upgrades=Améliorations
|
|
||||||
text.purchased=[VERT]Créé!
|
|
||||||
text.weapons=Armes
|
|
||||||
text.paused=Pause
|
text.paused=Pause
|
||||||
text.info.title=[accent]Info
|
text.info.title=[accent]Info
|
||||||
text.error.title=[crimson]Une erreur est survenue
|
text.error.title=[crimson]Une erreur est survenue
|
||||||
@@ -192,19 +187,6 @@ setting.musicvol.name=volume musique
|
|||||||
setting.mutemusic.name=Musique muette
|
setting.mutemusic.name=Musique muette
|
||||||
setting.sfxvol.name=Volume SFX
|
setting.sfxvol.name=Volume SFX
|
||||||
setting.mutesound.name=Son muet
|
setting.mutesound.name=Son muet
|
||||||
map.maze.name=Labyrinthe
|
|
||||||
map.fortress.name=forteresse
|
|
||||||
map.sinkhole.name=gouffre
|
|
||||||
map.caves.name=cavernes
|
|
||||||
map.volcano.name=volcan
|
|
||||||
map.caldera.name=chaudron
|
|
||||||
map.scorch.name=brûlure
|
|
||||||
map.desert.name=désert
|
|
||||||
map.island.name=Île
|
|
||||||
map.grassland.name=prairie
|
|
||||||
map.tundra.name=toundra
|
|
||||||
map.spiral.name=spirale
|
|
||||||
map.tutorial.name=tutoriel
|
|
||||||
text.keybind.title=Relier le clés
|
text.keybind.title=Relier le clés
|
||||||
keybind.move_x.name=mouvement x
|
keybind.move_x.name=mouvement x
|
||||||
keybind.move_y.name=mouvement y
|
keybind.move_y.name=mouvement y
|
||||||
@@ -213,14 +195,12 @@ keybind.break.name=Pause
|
|||||||
keybind.shoot.name=tirer
|
keybind.shoot.name=tirer
|
||||||
keybind.zoom_hold.name=tenir le zoom
|
keybind.zoom_hold.name=tenir le zoom
|
||||||
keybind.zoom.name=zoom
|
keybind.zoom.name=zoom
|
||||||
keybind.block_info.name=bloc_info
|
|
||||||
keybind.menu.name=menu
|
keybind.menu.name=menu
|
||||||
keybind.pause.name=Pause
|
keybind.pause.name=Pause
|
||||||
keybind.dash.name=attaque frontal
|
keybind.dash.name=attaque frontal
|
||||||
keybind.chat.name=chat
|
keybind.chat.name=chat
|
||||||
keybind.player_list.name=Liste des joueurs
|
keybind.player_list.name=Liste des joueurs
|
||||||
keybind.console.name=console
|
keybind.console.name=console
|
||||||
keybind.rotate_alt.name=tourner_alt
|
|
||||||
keybind.rotate.name=Tourner
|
keybind.rotate.name=Tourner
|
||||||
mode.waves.name=Vagues
|
mode.waves.name=Vagues
|
||||||
mode.sandbox.name=bac à sable
|
mode.sandbox.name=bac à sable
|
||||||
@@ -254,8 +234,6 @@ text.link.wiki.description=official Mindustry wiki
|
|||||||
text.linkfail=Failed to open link!\nThe URL has been copied to your cliboard.
|
text.linkfail=Failed to open link!\nThe URL has been copied to your cliboard.
|
||||||
text.editor.web=The web version does not support the editor!\nDownload the game to use it.
|
text.editor.web=The web version does not support the editor!\nDownload the game to use it.
|
||||||
text.web.unsupported=The web version does not support this feature! Download the game to use it.
|
text.web.unsupported=The web version does not support this feature! Download the game to use it.
|
||||||
text.multiplayer.web=This version of the game does not support multiplayer!\nTo play multiplayer from your browser, use the "multiplayer web version" link at the itch.io page.
|
|
||||||
text.host.web=The web version does not support hosting games! Download the game to use this feature.
|
|
||||||
text.map.delete=Are you sure you want to delete the map "[orange]{0}[]"?
|
text.map.delete=Are you sure you want to delete the map "[orange]{0}[]"?
|
||||||
text.construction.title=Block Construction Guide
|
text.construction.title=Block Construction Guide
|
||||||
text.construction=You've just selected [accent]block construction mode[].\n\nTo begin placing, simply tap a valid location near your ship.\nOnce you have selected some blocks, press the checkbox to confirm, and your ship will begin constructing them.\n\n- [accent]Remove blocks[] from your selection by tapping them.\n- [accent]Shift the selection[] by holding and dragging any block in the selection.\n- [accent]Place blocks in a line[] by tapping and holding an empty spot, then dragging in a direction.\n- [accent]Cancel construction or selection[] by pressing the X at the bottom left.
|
text.construction=You've just selected [accent]block construction mode[].\n\nTo begin placing, simply tap a valid location near your ship.\nOnce you have selected some blocks, press the checkbox to confirm, and your ship will begin constructing them.\n\n- [accent]Remove blocks[] from your selection by tapping them.\n- [accent]Shift the selection[] by holding and dragging any block in the selection.\n- [accent]Place blocks in a line[] by tapping and holding an empty spot, then dragging in a direction.\n- [accent]Cancel construction or selection[] by pressing the X at the bottom left.
|
||||||
@@ -447,7 +425,6 @@ block.water-extractor.name=Water Extractor
|
|||||||
block.cultivator.name=Cultivator
|
block.cultivator.name=Cultivator
|
||||||
block.dart-ship-factory.name=Dart Ship Factory
|
block.dart-ship-factory.name=Dart Ship Factory
|
||||||
block.delta-mech-factory.name=Delta Mech Factory
|
block.delta-mech-factory.name=Delta Mech Factory
|
||||||
block.dronefactory.name=Drone Factory
|
|
||||||
block.repairpoint.name=Repair Point
|
block.repairpoint.name=Repair Point
|
||||||
block.resupplypoint.name=Resupply Point
|
block.resupplypoint.name=Resupply Point
|
||||||
block.liquidtank.name=Liquid Tank
|
block.liquidtank.name=Liquid Tank
|
||||||
@@ -475,8 +452,6 @@ block.solar-panel.name=Solar Panel
|
|||||||
block.solar-panel-large.name=Large Solar Panel
|
block.solar-panel-large.name=Large Solar Panel
|
||||||
block.oil-extractor.name=Oil Extractor
|
block.oil-extractor.name=Oil Extractor
|
||||||
block.javelin-ship-factory.name=Javelin Ship factory
|
block.javelin-ship-factory.name=Javelin Ship factory
|
||||||
block.drone-factory.name=Drone Factory
|
|
||||||
block.fabricator-factory.name=Fabricator Factory
|
|
||||||
block.repair-point.name=Repair Point
|
block.repair-point.name=Repair Point
|
||||||
block.resupply-point.name=Resupply Point
|
block.resupply-point.name=Resupply Point
|
||||||
block.pulse-conduit.name=Pulse Conduit
|
block.pulse-conduit.name=Pulse Conduit
|
||||||
@@ -495,9 +470,49 @@ text.sector=Selected Sector: [LIGHT_GRAY]{0}
|
|||||||
text.sector.time=Time: [LIGHT_GRAY]{0}
|
text.sector.time=Time: [LIGHT_GRAY]{0}
|
||||||
text.sector.deploy=Deploy
|
text.sector.deploy=Deploy
|
||||||
text.sector.resume=Resume
|
text.sector.resume=Resume
|
||||||
text.sector.unlocked=Sector completed!
|
|
||||||
text.sector.locked=[scarlet][[Incomplete]
|
text.sector.locked=[scarlet][[Incomplete]
|
||||||
text.sector.unexplored=[accent][[Unexplored]
|
text.sector.unexplored=[accent][[Unexplored]
|
||||||
text.close=Close
|
text.close=Close
|
||||||
text.save.playtime=Playtime: {0}
|
text.save.playtime=Playtime: {0}
|
||||||
text.editor.brush=Brush
|
text.editor.brush=Brush
|
||||||
|
text.credits.text=Created by [ROYAL]Anuken[] - [SKY]anukendev@gmail.com[]\n\n[GRAY](In case you can't tell, this text is currently unfinished.\nTranslators, don't edit it yet!)
|
||||||
|
text.sector.gameover=This sector has been lost. Re-deploy?
|
||||||
|
text.sector.retry=Retry
|
||||||
|
text.wave.lasted=You lasted until wave [accent]{0}[].
|
||||||
|
setting.fpscap.name=Max FPS
|
||||||
|
setting.fpscap.none=None
|
||||||
|
setting.fpscap.text={0} FPS
|
||||||
|
block.command-center.name=Command Center
|
||||||
|
text.mission=Mission:[LIGHT_GRAY] {0}
|
||||||
|
text.mission.wave=Survive [accent]{0}[] waves.
|
||||||
|
text.mission.battle=Destroy the enemy base.
|
||||||
|
text.none=<none>
|
||||||
|
text.sector.corrupted=[orange]A save file for this sector was found, but loading failed.\nA new one has been created.
|
||||||
|
text.mission.complete=Mission complete!
|
||||||
|
text.mission.complete.body=Sector {0},{1} has been conquered.
|
||||||
|
text.mission.resource=Obtain {0} x{1}
|
||||||
|
text.unit.health=[LIGHT_GRAY]Health: {0}
|
||||||
|
text.unit.speed=[LIGHT_GRAY]Speed: {0}
|
||||||
|
block.drone-pad.name=Drone Pad
|
||||||
|
block.fabricator-pad.name=Fabricator Pad
|
||||||
|
block.interceptor-pad.name=Interceptor Pad
|
||||||
|
block.monsoon-pad.name=Monsoon Pad
|
||||||
|
block.mass-driver.name=Mass Driver
|
||||||
|
block.blast-drill.name=Blast Drill
|
||||||
|
unit.drone.name=Drone
|
||||||
|
unit.drone.description=The starter drone unit. Spawns in the core by default. Automatically mines ores, collects items and repairs blocks.
|
||||||
|
unit.fabricator.name=Fabricator
|
||||||
|
unit.fabricator.description=An advanced drone unit. Automatically mines ores, collects items and repairs blocks. Significantly more effective than a drone.
|
||||||
|
unit.scout.name=Scout
|
||||||
|
unit.scout.description=A basic ground unit. Uses lead as ammo.
|
||||||
|
unit.titan.name=Titan
|
||||||
|
unit.titan.description=An advanced armored ground unit. Uses carbide as ammo. Attacks both ground and air targets.
|
||||||
|
unit.monsoon.name=Monsoon
|
||||||
|
unit.monsoon.description=A heavy carpet bomber. Uses blast compound or pyratite as ammo.
|
||||||
|
unit.interceptor.name=Interceptor
|
||||||
|
unit.interceptor.description=A fast, hit-and-run strike unit. Uses lead as ammo.
|
||||||
|
mode.sandbox.warning=Note that blocks cannot be used in sandbox mode until they are unlocked in other modes.\n\n[LIGHT_GRAY]If you have not unlocked any blocks, none will appear.
|
||||||
|
block.thermal-pump.name=Thermal Pump
|
||||||
|
block.dagger-pad.name=Dagger Pad
|
||||||
|
block.titan-pad.name=Titan Pad
|
||||||
|
block.thermal-generator.name=Thermal Generator
|
||||||
|
|||||||
@@ -1,8 +1,6 @@
|
|||||||
text.about=Dibuat oleh [ROYAL]Anuken.[]\nAwalnya masuk di [orange]GDL[] MM Jam.\n\nKredit:\n- SFX dibuat dengan [YELLOW]bfxr[]\n- Musik dibuat oleh [GREEN]RoccoW[] / ditemukan di [lime]FreeMusicArchive.org[]\n\nTerima kasih khusus kepada:\n- [coral]MitchellFJN[]: playtesting dan umpan balik yang luas\n- [sky]Luxray5474[]: pekerjaan wiki, kontribusi kode\n- Semua penguji beta di itch.io dan Google Play\n
|
|
||||||
text.discord=Bergabunglah dengan Discord Mindustry!
|
text.discord=Bergabunglah dengan Discord Mindustry!
|
||||||
text.gameover=Intinya hancur.
|
text.gameover=Intinya hancur.
|
||||||
text.highscore=[YELLOW]Rekor baru!
|
text.highscore=[YELLOW]Rekor baru!
|
||||||
text.lasted=Anda bertahan sampai gelombang
|
|
||||||
text.level.highscore=Skor Tinggi: [accent]{0}
|
text.level.highscore=Skor Tinggi: [accent]{0}
|
||||||
text.level.delete.title=Konfirmasi Hapus
|
text.level.delete.title=Konfirmasi Hapus
|
||||||
text.level.select=Pilih Level
|
text.level.select=Pilih Level
|
||||||
@@ -117,9 +115,6 @@ text.settings.controls=Kontrol
|
|||||||
text.settings.game=Permainan
|
text.settings.game=Permainan
|
||||||
text.settings.sound=Suara
|
text.settings.sound=Suara
|
||||||
text.settings.graphics=Grafis
|
text.settings.graphics=Grafis
|
||||||
text.upgrades=Perbaruan
|
|
||||||
text.purchased=[LIME]Dibuat!
|
|
||||||
text.weapons=Senjata
|
|
||||||
text.paused=Jeda
|
text.paused=Jeda
|
||||||
text.info.title=[accent]Info
|
text.info.title=[accent]Info
|
||||||
text.error.title=[crimson]Telah terjadi kesalahan
|
text.error.title=[crimson]Telah terjadi kesalahan
|
||||||
@@ -161,19 +156,6 @@ setting.musicvol.name=Volume Musik
|
|||||||
setting.mutemusic.name=Bisukan Musik
|
setting.mutemusic.name=Bisukan Musik
|
||||||
setting.sfxvol.name=Volume Suara
|
setting.sfxvol.name=Volume Suara
|
||||||
setting.mutesound.name=Bisukan Suara
|
setting.mutesound.name=Bisukan Suara
|
||||||
map.maze.name=labirin
|
|
||||||
map.fortress.name=benteng
|
|
||||||
map.sinkhole.name=lubang pembuangan
|
|
||||||
map.caves.name=gua
|
|
||||||
map.volcano.name=gunung berapi
|
|
||||||
map.caldera.name=kaldera
|
|
||||||
map.scorch.name=penghangusan
|
|
||||||
map.desert.name=gurun
|
|
||||||
map.island.name=pulau
|
|
||||||
map.grassland.name=padang rumput
|
|
||||||
map.tundra.name=tundra
|
|
||||||
map.spiral.name=spiral
|
|
||||||
map.tutorial.name=tutorial
|
|
||||||
keybind.move_x.name=gerak_x
|
keybind.move_x.name=gerak_x
|
||||||
keybind.move_y.name=gerak_y
|
keybind.move_y.name=gerak_y
|
||||||
keybind.select.name=pilih
|
keybind.select.name=pilih
|
||||||
@@ -184,7 +166,6 @@ keybind.zoom.name=perbesar
|
|||||||
keybind.menu.name=menu
|
keybind.menu.name=menu
|
||||||
keybind.pause.name=jeda
|
keybind.pause.name=jeda
|
||||||
keybind.dash.name=berlari
|
keybind.dash.name=berlari
|
||||||
keybind.rotate_alt.name=putar_alt
|
|
||||||
keybind.rotate.name=putar
|
keybind.rotate.name=putar
|
||||||
mode.waves.name=gelombang
|
mode.waves.name=gelombang
|
||||||
mode.sandbox.name=sandbox
|
mode.sandbox.name=sandbox
|
||||||
@@ -219,8 +200,6 @@ text.link.wiki.description=official Mindustry wiki
|
|||||||
text.linkfail=Failed to open link!\nThe URL has been copied to your cliboard.
|
text.linkfail=Failed to open link!\nThe URL has been copied to your cliboard.
|
||||||
text.editor.web=The web version does not support the editor!\nDownload the game to use it.
|
text.editor.web=The web version does not support the editor!\nDownload the game to use it.
|
||||||
text.web.unsupported=The web version does not support this feature! Download the game to use it.
|
text.web.unsupported=The web version does not support this feature! Download the game to use it.
|
||||||
text.multiplayer.web=This version of the game does not support multiplayer!\nTo play multiplayer from your browser, use the "multiplayer web version" link at the itch.io page.
|
|
||||||
text.host.web=The web version does not support hosting games! Download the game to use this feature.
|
|
||||||
text.map.delete=Are you sure you want to delete the map "[orange]{0}[]"?
|
text.map.delete=Are you sure you want to delete the map "[orange]{0}[]"?
|
||||||
text.construction.title=Block Construction Guide
|
text.construction.title=Block Construction Guide
|
||||||
text.construction=You've just selected [accent]block construction mode[].\n\nTo begin placing, simply tap a valid location near your ship.\nOnce you have selected some blocks, press the checkbox to confirm, and your ship will begin constructing them.\n\n- [accent]Remove blocks[] from your selection by tapping them.\n- [accent]Shift the selection[] by holding and dragging any block in the selection.\n- [accent]Place blocks in a line[] by tapping and holding an empty spot, then dragging in a direction.\n- [accent]Cancel construction or selection[] by pressing the X at the bottom left.
|
text.construction=You've just selected [accent]block construction mode[].\n\nTo begin placing, simply tap a valid location near your ship.\nOnce you have selected some blocks, press the checkbox to confirm, and your ship will begin constructing them.\n\n- [accent]Remove blocks[] from your selection by tapping them.\n- [accent]Shift the selection[] by holding and dragging any block in the selection.\n- [accent]Place blocks in a line[] by tapping and holding an empty spot, then dragging in a direction.\n- [accent]Cancel construction or selection[] by pressing the X at the bottom left.
|
||||||
@@ -359,7 +338,6 @@ text.category.shooting=Shooting
|
|||||||
setting.multithread.name=Multithreading
|
setting.multithread.name=Multithreading
|
||||||
setting.minimap.name=Show Minimap
|
setting.minimap.name=Show Minimap
|
||||||
text.keybind.title=Rebind Keys
|
text.keybind.title=Rebind Keys
|
||||||
keybind.block_info.name=block_info
|
|
||||||
keybind.chat.name=chat
|
keybind.chat.name=chat
|
||||||
keybind.player_list.name=player_list
|
keybind.player_list.name=player_list
|
||||||
keybind.console.name=console
|
keybind.console.name=console
|
||||||
@@ -447,7 +425,6 @@ block.water-extractor.name=Water Extractor
|
|||||||
block.cultivator.name=Cultivator
|
block.cultivator.name=Cultivator
|
||||||
block.dart-ship-factory.name=Dart Ship Factory
|
block.dart-ship-factory.name=Dart Ship Factory
|
||||||
block.delta-mech-factory.name=Delta Mech Factory
|
block.delta-mech-factory.name=Delta Mech Factory
|
||||||
block.dronefactory.name=Drone Factory
|
|
||||||
block.repairpoint.name=Repair Point
|
block.repairpoint.name=Repair Point
|
||||||
block.resupplypoint.name=Resupply Point
|
block.resupplypoint.name=Resupply Point
|
||||||
block.liquidtank.name=Liquid Tank
|
block.liquidtank.name=Liquid Tank
|
||||||
@@ -475,8 +452,6 @@ block.solar-panel.name=Solar Panel
|
|||||||
block.solar-panel-large.name=Large Solar Panel
|
block.solar-panel-large.name=Large Solar Panel
|
||||||
block.oil-extractor.name=Oil Extractor
|
block.oil-extractor.name=Oil Extractor
|
||||||
block.javelin-ship-factory.name=Javelin Ship factory
|
block.javelin-ship-factory.name=Javelin Ship factory
|
||||||
block.drone-factory.name=Drone Factory
|
|
||||||
block.fabricator-factory.name=Fabricator Factory
|
|
||||||
block.repair-point.name=Repair Point
|
block.repair-point.name=Repair Point
|
||||||
block.resupply-point.name=Resupply Point
|
block.resupply-point.name=Resupply Point
|
||||||
block.pulse-conduit.name=Pulse Conduit
|
block.pulse-conduit.name=Pulse Conduit
|
||||||
@@ -495,9 +470,49 @@ text.sector=Selected Sector: [LIGHT_GRAY]{0}
|
|||||||
text.sector.time=Time: [LIGHT_GRAY]{0}
|
text.sector.time=Time: [LIGHT_GRAY]{0}
|
||||||
text.sector.deploy=Deploy
|
text.sector.deploy=Deploy
|
||||||
text.sector.resume=Resume
|
text.sector.resume=Resume
|
||||||
text.sector.unlocked=Sector completed!
|
|
||||||
text.sector.locked=[scarlet][[Incomplete]
|
text.sector.locked=[scarlet][[Incomplete]
|
||||||
text.sector.unexplored=[accent][[Unexplored]
|
text.sector.unexplored=[accent][[Unexplored]
|
||||||
text.close=Close
|
text.close=Close
|
||||||
text.save.playtime=Playtime: {0}
|
text.save.playtime=Playtime: {0}
|
||||||
text.editor.brush=Brush
|
text.editor.brush=Brush
|
||||||
|
text.credits.text=Created by [ROYAL]Anuken[] - [SKY]anukendev@gmail.com[]\n\n[GRAY](In case you can't tell, this text is currently unfinished.\nTranslators, don't edit it yet!)
|
||||||
|
text.sector.gameover=This sector has been lost. Re-deploy?
|
||||||
|
text.sector.retry=Retry
|
||||||
|
text.wave.lasted=You lasted until wave [accent]{0}[].
|
||||||
|
setting.fpscap.name=Max FPS
|
||||||
|
setting.fpscap.none=None
|
||||||
|
setting.fpscap.text={0} FPS
|
||||||
|
block.command-center.name=Command Center
|
||||||
|
text.mission=Mission:[LIGHT_GRAY] {0}
|
||||||
|
text.mission.wave=Survive [accent]{0}[] waves.
|
||||||
|
text.mission.battle=Destroy the enemy base.
|
||||||
|
text.none=<none>
|
||||||
|
text.sector.corrupted=[orange]A save file for this sector was found, but loading failed.\nA new one has been created.
|
||||||
|
text.mission.complete=Mission complete!
|
||||||
|
text.mission.complete.body=Sector {0},{1} has been conquered.
|
||||||
|
text.mission.resource=Obtain {0} x{1}
|
||||||
|
text.unit.health=[LIGHT_GRAY]Health: {0}
|
||||||
|
text.unit.speed=[LIGHT_GRAY]Speed: {0}
|
||||||
|
block.drone-pad.name=Drone Pad
|
||||||
|
block.fabricator-pad.name=Fabricator Pad
|
||||||
|
block.interceptor-pad.name=Interceptor Pad
|
||||||
|
block.monsoon-pad.name=Monsoon Pad
|
||||||
|
block.mass-driver.name=Mass Driver
|
||||||
|
block.blast-drill.name=Blast Drill
|
||||||
|
unit.drone.name=Drone
|
||||||
|
unit.drone.description=The starter drone unit. Spawns in the core by default. Automatically mines ores, collects items and repairs blocks.
|
||||||
|
unit.fabricator.name=Fabricator
|
||||||
|
unit.fabricator.description=An advanced drone unit. Automatically mines ores, collects items and repairs blocks. Significantly more effective than a drone.
|
||||||
|
unit.scout.name=Scout
|
||||||
|
unit.scout.description=A basic ground unit. Uses lead as ammo.
|
||||||
|
unit.titan.name=Titan
|
||||||
|
unit.titan.description=An advanced armored ground unit. Uses carbide as ammo. Attacks both ground and air targets.
|
||||||
|
unit.monsoon.name=Monsoon
|
||||||
|
unit.monsoon.description=A heavy carpet bomber. Uses blast compound or pyratite as ammo.
|
||||||
|
unit.interceptor.name=Interceptor
|
||||||
|
unit.interceptor.description=A fast, hit-and-run strike unit. Uses lead as ammo.
|
||||||
|
mode.sandbox.warning=Note that blocks cannot be used in sandbox mode until they are unlocked in other modes.\n\n[LIGHT_GRAY]If you have not unlocked any blocks, none will appear.
|
||||||
|
block.thermal-pump.name=Thermal Pump
|
||||||
|
block.dagger-pad.name=Dagger Pad
|
||||||
|
block.titan-pad.name=Titan Pad
|
||||||
|
block.thermal-generator.name=Thermal Generator
|
||||||
|
|||||||
@@ -1,4 +1,3 @@
|
|||||||
text.about=Creato da [ROYAL]Anuken[] - [SKY]anukendev@gmail.com[]\nOriginariamente parte del [orange]GDL[] Metal Monstrosity Jam.\n\n Crediti:\n - SFX realizzato con [YELLOW]bfxr [] \n - Musica creata da [GREEN]RoccoW[] / trovata su [lime]FreeMusicArchive.org[]\n\n Un ringraziamento speciale a:\n - [coral]MitchellFJN []: esteso test del gioco e feedback\n - [sky]Luxray5474 []: sviluppo della wiki, contributi col codice\n - [lime]Epowerj []: sistema di costruzione del codice, icone\n - Tutti i beta tester su itch.io e Google Play\n - [SCARLET] Ludovico Vaghi [], [SCARLET] Enrico Franciscono [] e [SCARLET] Luca Deluigi [] per la traduzione italiana\n
|
|
||||||
text.credits=Crediti
|
text.credits=Crediti
|
||||||
text.discord=Unisciti sul server discord di mindustry!
|
text.discord=Unisciti sul server discord di mindustry!
|
||||||
text.link.discord.description=la chatroom ufficiale del server discord di Mindustry
|
text.link.discord.description=la chatroom ufficiale del server discord di Mindustry
|
||||||
@@ -10,10 +9,8 @@ text.link.google-play.description=Elenco di Google Play Store
|
|||||||
text.link.wiki.description=wiki ufficiale di Mindustry
|
text.link.wiki.description=wiki ufficiale di Mindustry
|
||||||
text.linkfail=Impossibile aprire il link! L'URL è stato copiato nella tua bacheca.
|
text.linkfail=Impossibile aprire il link! L'URL è stato copiato nella tua bacheca.
|
||||||
text.editor.web=La versione web non supporta l'editor! Scarica il gioco per usarlo.
|
text.editor.web=La versione web non supporta l'editor! Scarica il gioco per usarlo.
|
||||||
text.multiplayer.web=Questa versione del gioco non supporta il multiplayer! Per giocare in multiplayer dal tuo browser, usa il link "versione web multiplayer" nella pagina itch.io.
|
|
||||||
text.gameover=Il nucleo è stato distrutto.
|
text.gameover=Il nucleo è stato distrutto.
|
||||||
text.highscore=[YELLOW]Nuovo record!
|
text.highscore=[YELLOW]Nuovo record!
|
||||||
text.lasted=Sei durato fino all'ondata
|
|
||||||
text.level.highscore=Miglior punteggio: [accent]{0}
|
text.level.highscore=Miglior punteggio: [accent]{0}
|
||||||
text.level.delete.title=Conferma Eliminazione
|
text.level.delete.title=Conferma Eliminazione
|
||||||
text.level.select=Selezione del livello
|
text.level.select=Selezione del livello
|
||||||
@@ -165,9 +162,6 @@ text.settings.controls=Controlli
|
|||||||
text.settings.game=Gioco
|
text.settings.game=Gioco
|
||||||
text.settings.sound=Suono
|
text.settings.sound=Suono
|
||||||
text.settings.graphics=Grafica
|
text.settings.graphics=Grafica
|
||||||
text.upgrades=Miglioramenti
|
|
||||||
text.purchased=[LIME]Creato!
|
|
||||||
text.weapons=Armi
|
|
||||||
text.paused=In pausa
|
text.paused=In pausa
|
||||||
text.info.title=[Accent]Info
|
text.info.title=[Accent]Info
|
||||||
text.error.title=[crimson]Si è verificato un errore
|
text.error.title=[crimson]Si è verificato un errore
|
||||||
@@ -210,19 +204,6 @@ setting.musicvol.name=Volume Musica
|
|||||||
setting.mutemusic.name=Silenzia musica
|
setting.mutemusic.name=Silenzia musica
|
||||||
setting.sfxvol.name=Volume SFX
|
setting.sfxvol.name=Volume SFX
|
||||||
setting.mutesound.name=Togli suoni
|
setting.mutesound.name=Togli suoni
|
||||||
map.maze.name=labirinto
|
|
||||||
map.fortress.name=fortezza
|
|
||||||
map.sinkhole.name=dolina
|
|
||||||
map.caves.name=grotte
|
|
||||||
map.volcano.name=vulcano
|
|
||||||
map.caldera.name=caldera
|
|
||||||
map.scorch.name=bruciatura
|
|
||||||
map.desert.name=deserto
|
|
||||||
map.island.name=isola
|
|
||||||
map.grassland.name=prateria
|
|
||||||
map.tundra.name=tundra
|
|
||||||
map.spiral.name=spirale
|
|
||||||
map.tutorial.name=tutorial
|
|
||||||
text.keybind.title=Configurazione Tasti
|
text.keybind.title=Configurazione Tasti
|
||||||
keybind.move_x.name=Sposta_x
|
keybind.move_x.name=Sposta_x
|
||||||
keybind.move_y.name=Sposta_y
|
keybind.move_y.name=Sposta_y
|
||||||
@@ -231,14 +212,12 @@ keybind.break.name=rompi
|
|||||||
keybind.shoot.name=spara
|
keybind.shoot.name=spara
|
||||||
keybind.zoom_hold.name=zoom_hold
|
keybind.zoom_hold.name=zoom_hold
|
||||||
keybind.zoom.name=zoom
|
keybind.zoom.name=zoom
|
||||||
keybind.block_info.name=Informazioni blocco
|
|
||||||
keybind.menu.name=menu
|
keybind.menu.name=menu
|
||||||
keybind.pause.name=pausa
|
keybind.pause.name=pausa
|
||||||
keybind.dash.name=Scatto
|
keybind.dash.name=Scatto
|
||||||
keybind.chat.name=Chat
|
keybind.chat.name=Chat
|
||||||
keybind.player_list.name=lista_giocatori
|
keybind.player_list.name=lista_giocatori
|
||||||
keybind.console.name=console
|
keybind.console.name=console
|
||||||
keybind.rotate_alt.name=rotate_alt
|
|
||||||
keybind.rotate.name=Ruotare
|
keybind.rotate.name=Ruotare
|
||||||
mode.text.help.title=Descrizione delle modalità
|
mode.text.help.title=Descrizione delle modalità
|
||||||
mode.waves.name=ondate
|
mode.waves.name=ondate
|
||||||
@@ -500,4 +479,4 @@ block.liquid-tank.name=Tanica d'acqua
|
|||||||
block.liquid-junction.name=Giunzione liquida
|
block.liquid-junction.name=Giunzione liquida
|
||||||
block.bridge-conduit.name=Condotta forzata sopraelevata
|
block.bridge-conduit.name=Condotta forzata sopraelevata
|
||||||
block.rotary-pump.name=Pompa a turbina
|
block.rotary-pump.name=Pompa a turbina
|
||||||
block.nuclear-reactor.name=Reattore nucleare
|
block.nuclear-reactor.name=Reattore nucleare
|
||||||
@@ -1,4 +1,3 @@
|
|||||||
text.about=제작자 : [ROYAL]Anuken[] - [SKY]anukendev@gmail.com[]
|
|
||||||
text.credits=제작자
|
text.credits=제작자
|
||||||
text.discord=Mindustry Discord 에 참여하세요!
|
text.discord=Mindustry Discord 에 참여하세요!
|
||||||
text.link.discord.description=공식 Mindustry Discord 채팅방
|
text.link.discord.description=공식 Mindustry Discord 채팅방
|
||||||
@@ -11,11 +10,8 @@ text.link.wiki.description=공식 Mindustry 위키
|
|||||||
text.linkfail=링크를 여는데 실패했습니다!URL이 기기의 클립보드에 복사되었습니다.
|
text.linkfail=링크를 여는데 실패했습니다!URL이 기기의 클립보드에 복사되었습니다.
|
||||||
text.editor.web=HTML5 버전은 에디터 기능을 지원하지 않습니다!게임을 다운로드 한 뒤에 사용 해 주세요.
|
text.editor.web=HTML5 버전은 에디터 기능을 지원하지 않습니다!게임을 다운로드 한 뒤에 사용 해 주세요.
|
||||||
text.web.unsupported=HTML5 버전은 이 기능을 지원하지 않습니다!게임을 다운로드 한 뒤에 사용 해 주세요.
|
text.web.unsupported=HTML5 버전은 이 기능을 지원하지 않습니다!게임을 다운로드 한 뒤에 사용 해 주세요.
|
||||||
text.multiplayer.web=이 버전은 멀티플레이를 지원하지 않습니다!멀티플레이를 웹 브라우저에서 즐기고 싶다면, itch.io 페이지에서 "multiplayer web version" 링크로 들어가면 됩니다.
|
|
||||||
text.host.web=HTML5 버전은 게임 호스팅을 지원하지 않습니다!게임을 다운로드 한 뒤에 사용 해 주세요.
|
|
||||||
text.gameover=코어가 터졌습니다. 게임 오버!
|
text.gameover=코어가 터졌습니다. 게임 오버!
|
||||||
text.highscore=[YELLOW]최고점수 달성!
|
text.highscore=[YELLOW]최고점수 달성!
|
||||||
text.lasted=마지막으로 달성한 웨이브
|
|
||||||
text.level.highscore=최고 점수 : [accent]{0}
|
text.level.highscore=최고 점수 : [accent]{0}
|
||||||
text.level.delete.title=삭제 확인
|
text.level.delete.title=삭제 확인
|
||||||
text.map.delete=정말로 "[orange]{0}[]" 맵을 삭제하시겠습니까?
|
text.map.delete=정말로 "[orange]{0}[]" 맵을 삭제하시겠습니까?
|
||||||
@@ -223,9 +219,6 @@ text.settings.controls=컨트롤
|
|||||||
text.settings.game=게임
|
text.settings.game=게임
|
||||||
text.settings.sound=소리
|
text.settings.sound=소리
|
||||||
text.settings.graphics=화면
|
text.settings.graphics=화면
|
||||||
text.upgrades=강화
|
|
||||||
text.purchased=[LIME]생성됨!
|
|
||||||
text.weapons=무기
|
|
||||||
text.paused=일시 정지
|
text.paused=일시 정지
|
||||||
text.yes=예
|
text.yes=예
|
||||||
text.no=아니오
|
text.no=아니오
|
||||||
@@ -311,19 +304,6 @@ setting.musicvol.name=음악 크기
|
|||||||
setting.mutemusic.name=음소거
|
setting.mutemusic.name=음소거
|
||||||
setting.sfxvol.name=효과음 크기
|
setting.sfxvol.name=효과음 크기
|
||||||
setting.mutesound.name=소리 끄기
|
setting.mutesound.name=소리 끄기
|
||||||
map.maze.name=미로
|
|
||||||
map.fortress.name=요새
|
|
||||||
map.sinkhole.name=싱크홀
|
|
||||||
map.caves.name=동굴
|
|
||||||
map.volcano.name=화산
|
|
||||||
map.caldera.name=칼데라
|
|
||||||
map.scorch.name=타버림
|
|
||||||
map.desert.name=사막
|
|
||||||
map.island.name=섬
|
|
||||||
map.grassland.name=목초지
|
|
||||||
map.tundra.name=툰트라
|
|
||||||
map.spiral.name=나선
|
|
||||||
map.tutorial.name=게임 방법
|
|
||||||
text.keybind.title=키 바인딩
|
text.keybind.title=키 바인딩
|
||||||
keybind.move_x.name=오른쪽/왼쪽 이동
|
keybind.move_x.name=오른쪽/왼쪽 이동
|
||||||
keybind.move_y.name=위쪽/아래쪽 이동
|
keybind.move_y.name=위쪽/아래쪽 이동
|
||||||
@@ -332,14 +312,12 @@ keybind.break.name=파괴
|
|||||||
keybind.shoot.name=사격
|
keybind.shoot.name=사격
|
||||||
keybind.zoom_hold.name=길게눌러 확대
|
keybind.zoom_hold.name=길게눌러 확대
|
||||||
keybind.zoom.name=확대
|
keybind.zoom.name=확대
|
||||||
keybind.block_info.name=블럭 정보
|
|
||||||
keybind.menu.name=메뉴
|
keybind.menu.name=메뉴
|
||||||
keybind.pause.name=일시중지
|
keybind.pause.name=일시중지
|
||||||
keybind.dash.name=달리기
|
keybind.dash.name=달리기
|
||||||
keybind.chat.name=채팅
|
keybind.chat.name=채팅
|
||||||
keybind.player_list.name=플레이어 목록
|
keybind.player_list.name=플레이어 목록
|
||||||
keybind.console.name=콘솔
|
keybind.console.name=콘솔
|
||||||
keybind.rotate_alt.name=rotate_alt
|
|
||||||
keybind.rotate.name=회전
|
keybind.rotate.name=회전
|
||||||
mode.text.help.title=도움말
|
mode.text.help.title=도움말
|
||||||
mode.waves.name=웨이브
|
mode.waves.name=웨이브
|
||||||
@@ -443,7 +421,6 @@ block.water-extractor.name=물 추출기
|
|||||||
block.cultivator.name=경운기
|
block.cultivator.name=경운기
|
||||||
block.dart-ship-factory.name=다트 선박 공장
|
block.dart-ship-factory.name=다트 선박 공장
|
||||||
block.delta-mech-factory.name=델타 메크 공장
|
block.delta-mech-factory.name=델타 메크 공장
|
||||||
block.dronefactory.name=드론 공장
|
|
||||||
block.repairpoint.name=수리 포인트
|
block.repairpoint.name=수리 포인트
|
||||||
block.resupplypoint.name=재공급 포인트
|
block.resupplypoint.name=재공급 포인트
|
||||||
block.conduit.name=도관
|
block.conduit.name=도관
|
||||||
@@ -475,8 +452,6 @@ block.solar-panel.name=태양 전지 패널
|
|||||||
block.solar-panel-large.name=대형 태양 전지판
|
block.solar-panel-large.name=대형 태양 전지판
|
||||||
block.oil-extractor.name=오일 추출기
|
block.oil-extractor.name=오일 추출기
|
||||||
block.javelin-ship-factory.name=창 던지기 선박 공장
|
block.javelin-ship-factory.name=창 던지기 선박 공장
|
||||||
block.drone-factory.name=드론 팩토리
|
|
||||||
block.fabricator-factory.name=Fabricator 공장
|
|
||||||
block.repair-point.name=수리 점
|
block.repair-point.name=수리 점
|
||||||
block.resupply-point.name=재 공급 포인트
|
block.resupply-point.name=재 공급 포인트
|
||||||
block.pulse-conduit.name=펄스 도관
|
block.pulse-conduit.name=펄스 도관
|
||||||
@@ -495,9 +470,49 @@ text.sector=Selected Sector: [LIGHT_GRAY]{0}
|
|||||||
text.sector.time=Time: [LIGHT_GRAY]{0}
|
text.sector.time=Time: [LIGHT_GRAY]{0}
|
||||||
text.sector.deploy=Deploy
|
text.sector.deploy=Deploy
|
||||||
text.sector.resume=Resume
|
text.sector.resume=Resume
|
||||||
text.sector.unlocked=Sector completed!
|
|
||||||
text.sector.locked=[scarlet][[Incomplete]
|
text.sector.locked=[scarlet][[Incomplete]
|
||||||
text.sector.unexplored=[accent][[Unexplored]
|
text.sector.unexplored=[accent][[Unexplored]
|
||||||
text.close=Close
|
text.close=Close
|
||||||
text.save.playtime=Playtime: {0}
|
text.save.playtime=Playtime: {0}
|
||||||
text.editor.brush=Brush
|
text.editor.brush=Brush
|
||||||
|
text.credits.text=Created by [ROYAL]Anuken[] - [SKY]anukendev@gmail.com[]\n\n[GRAY](In case you can't tell, this text is currently unfinished.\nTranslators, don't edit it yet!)
|
||||||
|
text.sector.gameover=This sector has been lost. Re-deploy?
|
||||||
|
text.sector.retry=Retry
|
||||||
|
text.wave.lasted=You lasted until wave [accent]{0}[].
|
||||||
|
setting.fpscap.name=Max FPS
|
||||||
|
setting.fpscap.none=None
|
||||||
|
setting.fpscap.text={0} FPS
|
||||||
|
block.command-center.name=Command Center
|
||||||
|
text.mission=Mission:[LIGHT_GRAY] {0}
|
||||||
|
text.mission.wave=Survive [accent]{0}[] waves.
|
||||||
|
text.mission.battle=Destroy the enemy base.
|
||||||
|
text.none=<none>
|
||||||
|
text.sector.corrupted=[orange]A save file for this sector was found, but loading failed.\nA new one has been created.
|
||||||
|
text.mission.complete=Mission complete!
|
||||||
|
text.mission.complete.body=Sector {0},{1} has been conquered.
|
||||||
|
text.mission.resource=Obtain {0} x{1}
|
||||||
|
text.unit.health=[LIGHT_GRAY]Health: {0}
|
||||||
|
text.unit.speed=[LIGHT_GRAY]Speed: {0}
|
||||||
|
block.drone-pad.name=Drone Pad
|
||||||
|
block.fabricator-pad.name=Fabricator Pad
|
||||||
|
block.interceptor-pad.name=Interceptor Pad
|
||||||
|
block.monsoon-pad.name=Monsoon Pad
|
||||||
|
block.mass-driver.name=Mass Driver
|
||||||
|
block.blast-drill.name=Blast Drill
|
||||||
|
unit.drone.name=Drone
|
||||||
|
unit.drone.description=The starter drone unit. Spawns in the core by default. Automatically mines ores, collects items and repairs blocks.
|
||||||
|
unit.fabricator.name=Fabricator
|
||||||
|
unit.fabricator.description=An advanced drone unit. Automatically mines ores, collects items and repairs blocks. Significantly more effective than a drone.
|
||||||
|
unit.scout.name=Scout
|
||||||
|
unit.scout.description=A basic ground unit. Uses lead as ammo.
|
||||||
|
unit.titan.name=Titan
|
||||||
|
unit.titan.description=An advanced armored ground unit. Uses carbide as ammo. Attacks both ground and air targets.
|
||||||
|
unit.monsoon.name=Monsoon
|
||||||
|
unit.monsoon.description=A heavy carpet bomber. Uses blast compound or pyratite as ammo.
|
||||||
|
unit.interceptor.name=Interceptor
|
||||||
|
unit.interceptor.description=A fast, hit-and-run strike unit. Uses lead as ammo.
|
||||||
|
mode.sandbox.warning=Note that blocks cannot be used in sandbox mode until they are unlocked in other modes.\n\n[LIGHT_GRAY]If you have not unlocked any blocks, none will appear.
|
||||||
|
block.thermal-pump.name=Thermal Pump
|
||||||
|
block.dagger-pad.name=Dagger Pad
|
||||||
|
block.titan-pad.name=Titan Pad
|
||||||
|
block.thermal-generator.name=Thermal Generator
|
||||||
|
|||||||
@@ -1,8 +1,6 @@
|
|||||||
text.about=Stworzony przez [ROYAL] Anuken. []\nPierwotnie wpis w [orange] GDL [] MM Jam.\n\nNapisy:\n- SFX wykonane z pomocą [YELLOW] bfxr []\n- Muzyka wykonana przez [GREEN] RoccoW [] / znaleziona na [lime] FreeMusicArchive.org []\n\nSpecjalne podziękowania dla:\n- [coral] MitchellFJN []: obszerne testowanie i feedback\n- [niebo] Luxray5474 []: prace związane z wiki, pomoc z kodem\n- Wszystkich beta testerów na itch.io i Google Play\n
|
|
||||||
text.discord=Odwiedź nasz serwer Discord
|
text.discord=Odwiedź nasz serwer Discord
|
||||||
text.gameover=Rdzeń został zniszczony.
|
text.gameover=Rdzeń został zniszczony.
|
||||||
text.highscore=[YELLOW] Nowy rekord!
|
text.highscore=[YELLOW] Nowy rekord!
|
||||||
text.lasted=Wytrwałeś do fali
|
|
||||||
text.level.highscore=Rekord: [accent]{0}
|
text.level.highscore=Rekord: [accent]{0}
|
||||||
text.level.delete.title=Potwierdź usuwanie
|
text.level.delete.title=Potwierdź usuwanie
|
||||||
text.level.select=Wybrany poziom
|
text.level.select=Wybrany poziom
|
||||||
@@ -117,9 +115,6 @@ text.settings.controls=Sterowanie
|
|||||||
text.settings.game=Gra
|
text.settings.game=Gra
|
||||||
text.settings.sound=Dźwięk
|
text.settings.sound=Dźwięk
|
||||||
text.settings.graphics=Grafika
|
text.settings.graphics=Grafika
|
||||||
text.upgrades=Ulepszenia
|
|
||||||
text.purchased=[LIME]Stworzono!
|
|
||||||
text.weapons=Bronie
|
|
||||||
text.paused=Wstrzymano
|
text.paused=Wstrzymano
|
||||||
text.info.title=[accent]Informacje
|
text.info.title=[accent]Informacje
|
||||||
text.error.title=[crimson]Wystąpił błąd
|
text.error.title=[crimson]Wystąpił błąd
|
||||||
@@ -160,19 +155,6 @@ setting.musicvol.name=Głośność muzyki
|
|||||||
setting.mutemusic.name=Wycisz muzykę
|
setting.mutemusic.name=Wycisz muzykę
|
||||||
setting.sfxvol.name=Głośność dźwięków
|
setting.sfxvol.name=Głośność dźwięków
|
||||||
setting.mutesound.name=Wycisz dźwięki
|
setting.mutesound.name=Wycisz dźwięki
|
||||||
map.maze.name=labirynt
|
|
||||||
map.fortress.name=twierdza
|
|
||||||
map.sinkhole.name=wgłębienie
|
|
||||||
map.caves.name=jaskinie
|
|
||||||
map.volcano.name=wulkan
|
|
||||||
map.caldera.name=kaldera
|
|
||||||
map.scorch.name=opalacz
|
|
||||||
map.desert.name=pustynia
|
|
||||||
map.island.name=wyspa
|
|
||||||
map.grassland.name=łąka
|
|
||||||
map.tundra.name=tundra
|
|
||||||
map.spiral.name=spirala
|
|
||||||
map.tutorial.name=Poradnik
|
|
||||||
keybind.move_x.name=Poruszanie w poziomie
|
keybind.move_x.name=Poruszanie w poziomie
|
||||||
keybind.move_y.name=Poruszanie w pionie
|
keybind.move_y.name=Poruszanie w pionie
|
||||||
keybind.select.name=Wybieranie
|
keybind.select.name=Wybieranie
|
||||||
@@ -183,7 +165,6 @@ keybind.zoom.name=Przybliżanie
|
|||||||
keybind.menu.name=menu
|
keybind.menu.name=menu
|
||||||
keybind.pause.name=pauza
|
keybind.pause.name=pauza
|
||||||
keybind.dash.name=przyśpieszenie
|
keybind.dash.name=przyśpieszenie
|
||||||
keybind.rotate_alt.name=Obracanie (1)
|
|
||||||
keybind.rotate.name=Obracanie (2)
|
keybind.rotate.name=Obracanie (2)
|
||||||
mode.waves.name=Fale
|
mode.waves.name=Fale
|
||||||
mode.sandbox.name=sandbox
|
mode.sandbox.name=sandbox
|
||||||
@@ -218,8 +199,6 @@ text.link.wiki.description=Oficjana Wiki Mindustry
|
|||||||
text.linkfail=Nie udało się otworzyć linku!\nURL został skopiowany.
|
text.linkfail=Nie udało się otworzyć linku!\nURL został skopiowany.
|
||||||
text.editor.web=Wersja przeglądarkowa nie wspomaga edytora map!\nPobierz grę aby użyć edytora.
|
text.editor.web=Wersja przeglądarkowa nie wspomaga edytora map!\nPobierz grę aby użyć edytora.
|
||||||
text.web.unsupported=Wersja przeglądarkowa nie wspomaga tej fukcji!\nPobierz grę aby użyć tej funkcji.
|
text.web.unsupported=Wersja przeglądarkowa nie wspomaga tej fukcji!\nPobierz grę aby użyć tej funkcji.
|
||||||
text.multiplayer.web=Ta wersja gry nie wspomaga gry wieloosobowej!\nAby zagrać w grę wieloosobową, użyj wersji "wieloosobowa gra przeglądarkowa" na stronie itch.io.
|
|
||||||
text.host.web=Wersja przglądarkowa nie wspomaga tworzenia serwerów!\nPobierz grę aby użyć tej funkcji.
|
|
||||||
text.map.delete=Jesteś pewny, że chcesz usunąć "[orange]{0}[]"?
|
text.map.delete=Jesteś pewny, że chcesz usunąć "[orange]{0}[]"?
|
||||||
text.construction.title=Poradnik tworzenia bloków
|
text.construction.title=Poradnik tworzenia bloków
|
||||||
text.construction=Wybrałeś [accent]tryb tworzenia bloków[].\n\nAby zacząć stawiać bloki, po prostu kliknij na dostępne pole obot twojego statku.\nKiedy wybrałeś kilka bloków, kliknij ptaszek i twój statek zacznie budować bloki.\n\n- [accent]Anuluj bloki[] z twojej kolekcji przez klikanie ich(?).\n- [accent]Przesuwaj bloki w kolekcji[] przez przeciąganie ich w opowiednim kierunku.\n- [accent]Stawiaj bloki w lini[] przez kliknięcie w wybranym miejscu i przesuięcie palca.\n- [accent]Anuluj konstrukcję lub kolekcję [] przez kliknięcie X w lewym dolnym rogu.
|
text.construction=Wybrałeś [accent]tryb tworzenia bloków[].\n\nAby zacząć stawiać bloki, po prostu kliknij na dostępne pole obot twojego statku.\nKiedy wybrałeś kilka bloków, kliknij ptaszek i twój statek zacznie budować bloki.\n\n- [accent]Anuluj bloki[] z twojej kolekcji przez klikanie ich(?).\n- [accent]Przesuwaj bloki w kolekcji[] przez przeciąganie ich w opowiednim kierunku.\n- [accent]Stawiaj bloki w lini[] przez kliknięcie w wybranym miejscu i przesuięcie palca.\n- [accent]Anuluj konstrukcję lub kolekcję [] przez kliknięcie X w lewym dolnym rogu.
|
||||||
@@ -359,7 +338,6 @@ setting.fullscreen.name=Pełny ekran
|
|||||||
setting.multithread.name=Wielowątkowość
|
setting.multithread.name=Wielowątkowość
|
||||||
setting.minimap.name=Pokaż Minimapę
|
setting.minimap.name=Pokaż Minimapę
|
||||||
text.keybind.title=Zmień ustawienia przycisków
|
text.keybind.title=Zmień ustawienia przycisków
|
||||||
keybind.block_info.name=Informacje o bloku
|
|
||||||
keybind.chat.name=Chat
|
keybind.chat.name=Chat
|
||||||
keybind.player_list.name=Lista graczy
|
keybind.player_list.name=Lista graczy
|
||||||
keybind.console.name=Konsola
|
keybind.console.name=Konsola
|
||||||
@@ -447,7 +425,6 @@ block.water-extractor.name=Wodny Ekstraktor
|
|||||||
block.cultivator.name=Spluchniacz
|
block.cultivator.name=Spluchniacz
|
||||||
block.dart-ship-factory.name=Fabryka Staktów "DART"
|
block.dart-ship-factory.name=Fabryka Staktów "DART"
|
||||||
block.delta-mech-factory.name=Fabryka Mecha "DELTA"
|
block.delta-mech-factory.name=Fabryka Mecha "DELTA"
|
||||||
block.dronefactory.name=Fabryka Dronów
|
|
||||||
block.repairpoint.name=Punkt Naprawy
|
block.repairpoint.name=Punkt Naprawy
|
||||||
block.resupplypoint.name=Punkt Uzupełniania Amunicji
|
block.resupplypoint.name=Punkt Uzupełniania Amunicji
|
||||||
block.liquidtank.name=Zbiornik na Płyny
|
block.liquidtank.name=Zbiornik na Płyny
|
||||||
@@ -473,8 +450,6 @@ block.solar-panel.name=Panel Słoneczny
|
|||||||
block.solar-panel-large.name=Duży Panel Słoneczny
|
block.solar-panel-large.name=Duży Panel Słoneczny
|
||||||
block.oil-extractor.name=Ekstraktor Ropy
|
block.oil-extractor.name=Ekstraktor Ropy
|
||||||
block.javelin-ship-factory.name=Fabryka Statków "JAVELIN"
|
block.javelin-ship-factory.name=Fabryka Statków "JAVELIN"
|
||||||
block.drone-factory.name=Fabryka Dronów
|
|
||||||
block.fabricator-factory.name=Fabryka Dronów Budowlanych
|
|
||||||
block.repair-point.name=Punkt Napraw
|
block.repair-point.name=Punkt Napraw
|
||||||
block.resupply-point.name=Punkt Uzupełniania Amunicji
|
block.resupply-point.name=Punkt Uzupełniania Amunicji
|
||||||
block.pulse-conduit.name=Rura Pulsacyjna
|
block.pulse-conduit.name=Rura Pulsacyjna
|
||||||
@@ -493,7 +468,6 @@ text.sector=Wybrany Sektor: [LIGHT_GRAY]{0}
|
|||||||
text.sector.time=Czas: [LIGHT_GRAY]{0}
|
text.sector.time=Czas: [LIGHT_GRAY]{0}
|
||||||
text.sector.deploy=Wejdź
|
text.sector.deploy=Wejdź
|
||||||
text.sector.resume=Wznów
|
text.sector.resume=Wznów
|
||||||
text.sector.unlocked=Sektor ukończony!
|
|
||||||
text.sector.locked=[scarlet][[Niegotowy]
|
text.sector.locked=[scarlet][[Niegotowy]
|
||||||
text.sector.unexplored=[accent][[Nieodkryty]
|
text.sector.unexplored=[accent][[Nieodkryty]
|
||||||
text.close=Zamknij
|
text.close=Zamknij
|
||||||
@@ -501,3 +475,44 @@ text.save.playtime=Czas gry: {0}
|
|||||||
text.editor.brush=Pędzel
|
text.editor.brush=Pędzel
|
||||||
block.itemvoid.name=Item Void
|
block.itemvoid.name=Item Void
|
||||||
block.powervoid.name=Power Void
|
block.powervoid.name=Power Void
|
||||||
|
text.credits.text=Created by [ROYAL]Anuken[] - [SKY]anukendev@gmail.com[]\n\n[GRAY](In case you can't tell, this text is currently unfinished.\nTranslators, don't edit it yet!)
|
||||||
|
text.sector.gameover=This sector has been lost. Re-deploy?
|
||||||
|
text.sector.retry=Retry
|
||||||
|
text.wave.lasted=You lasted until wave [accent]{0}[].
|
||||||
|
setting.fpscap.name=Max FPS
|
||||||
|
setting.fpscap.none=None
|
||||||
|
setting.fpscap.text={0} FPS
|
||||||
|
block.command-center.name=Command Center
|
||||||
|
text.mission=Mission:[LIGHT_GRAY] {0}
|
||||||
|
text.mission.wave=Survive [accent]{0}[] waves.
|
||||||
|
text.mission.battle=Destroy the enemy base.
|
||||||
|
text.none=<none>
|
||||||
|
text.sector.corrupted=[orange]A save file for this sector was found, but loading failed.\nA new one has been created.
|
||||||
|
text.mission.complete=Mission complete!
|
||||||
|
text.mission.complete.body=Sector {0},{1} has been conquered.
|
||||||
|
text.mission.resource=Obtain {0} x{1}
|
||||||
|
text.unit.health=[LIGHT_GRAY]Health: {0}
|
||||||
|
text.unit.speed=[LIGHT_GRAY]Speed: {0}
|
||||||
|
block.drone-pad.name=Drone Pad
|
||||||
|
block.fabricator-pad.name=Fabricator Pad
|
||||||
|
block.interceptor-pad.name=Interceptor Pad
|
||||||
|
block.monsoon-pad.name=Monsoon Pad
|
||||||
|
block.mass-driver.name=Mass Driver
|
||||||
|
block.blast-drill.name=Blast Drill
|
||||||
|
unit.drone.name=Drone
|
||||||
|
unit.drone.description=The starter drone unit. Spawns in the core by default. Automatically mines ores, collects items and repairs blocks.
|
||||||
|
unit.fabricator.name=Fabricator
|
||||||
|
unit.fabricator.description=An advanced drone unit. Automatically mines ores, collects items and repairs blocks. Significantly more effective than a drone.
|
||||||
|
unit.scout.name=Scout
|
||||||
|
unit.scout.description=A basic ground unit. Uses lead as ammo.
|
||||||
|
unit.titan.name=Titan
|
||||||
|
unit.titan.description=An advanced armored ground unit. Uses carbide as ammo. Attacks both ground and air targets.
|
||||||
|
unit.monsoon.name=Monsoon
|
||||||
|
unit.monsoon.description=A heavy carpet bomber. Uses blast compound or pyratite as ammo.
|
||||||
|
unit.interceptor.name=Interceptor
|
||||||
|
unit.interceptor.description=A fast, hit-and-run strike unit. Uses lead as ammo.
|
||||||
|
mode.sandbox.warning=Note that blocks cannot be used in sandbox mode until they are unlocked in other modes.\n\n[LIGHT_GRAY]If you have not unlocked any blocks, none will appear.
|
||||||
|
block.thermal-pump.name=Thermal Pump
|
||||||
|
block.dagger-pad.name=Dagger Pad
|
||||||
|
block.titan-pad.name=Titan Pad
|
||||||
|
block.thermal-generator.name=Thermal Generator
|
||||||
|
|||||||
@@ -1,8 +1,6 @@
|
|||||||
text.about=Criado por [ROYAL]Anuken.[]\nOriginalmente uma entrada para a [orange]GDL[] MM Jam.\n\nCredits:\n- SFX feito com [YELLOW]bfxr[]\n- Música feita por [GREEN]RoccoW[] / encontrada em [lime]FreeMusicArchive.org[]\n\nAgradecimento especial para:\n- [coral]MitchellFJN[]: playtesting extensivo e feedback\n- [sky]Luxray5474[]: wiki work e contribuições com código\n- Todos os beta testers do itch.io e Google Play\n
|
|
||||||
text.discord=Junte-se ao Discord do Mindustry! (Lá nós falamos em inglês)
|
text.discord=Junte-se ao Discord do Mindustry! (Lá nós falamos em inglês)
|
||||||
text.gameover=O núcleo foi destruído.
|
text.gameover=O núcleo foi destruído.
|
||||||
text.highscore=[YELLOW]Novo recorde!
|
text.highscore=[YELLOW]Novo recorde!
|
||||||
text.lasted=Você durou até a horda
|
|
||||||
text.level.highscore=Melhor\npontuação: [accent] {0}
|
text.level.highscore=Melhor\npontuação: [accent] {0}
|
||||||
text.level.delete.title=Confirmar exclusão
|
text.level.delete.title=Confirmar exclusão
|
||||||
text.level.select=Seleção de Fase
|
text.level.select=Seleção de Fase
|
||||||
@@ -48,7 +46,7 @@ text.editor.saveimage=Salvar\nImagem
|
|||||||
text.editor.unsaved=[scarlet]Você tem alterações não salvas![]\nTem certeza que quer sair?
|
text.editor.unsaved=[scarlet]Você tem alterações não salvas![]\nTem certeza que quer sair?
|
||||||
text.editor.resizemap=Redimensionar Mapa
|
text.editor.resizemap=Redimensionar Mapa
|
||||||
text.editor.mapname=Nome do Mapa:
|
text.editor.mapname=Nome do Mapa:
|
||||||
text.editor.overwrite=[accent]Aviso!\nIsso sobrescreve um mapa existente.
|
text.editor.overwrite=[accent]Aviso!\nIsso Subistitui um mapa existente.
|
||||||
text.editor.selectmap=Selecione uma mapa para carregar:
|
text.editor.selectmap=Selecione uma mapa para carregar:
|
||||||
text.width=Largura:
|
text.width=Largura:
|
||||||
text.height=Altura:
|
text.height=Altura:
|
||||||
@@ -66,12 +64,9 @@ text.settings.controls=Controles
|
|||||||
text.settings.game=Jogo
|
text.settings.game=Jogo
|
||||||
text.settings.sound=Som
|
text.settings.sound=Som
|
||||||
text.settings.graphics=Gráficos
|
text.settings.graphics=Gráficos
|
||||||
text.upgrades=Melhorias
|
|
||||||
text.purchased=[LIME]Comprado!
|
|
||||||
text.weapons=Arsenal
|
|
||||||
text.paused=Pausado
|
text.paused=Pausado
|
||||||
text.error.title=[crimson]Um erro ocorreu
|
text.error.title=[crimson]Ocorreu um Erro.
|
||||||
text.error.crashtitle=Um erro ocorreu.
|
text.error.crashtitle=Ocorreu um Erro
|
||||||
text.blocks.blockinfo=Informação do Bloco
|
text.blocks.blockinfo=Informação do Bloco
|
||||||
text.blocks.powercapacity=Capacidade de Energia
|
text.blocks.powercapacity=Capacidade de Energia
|
||||||
text.blocks.powershot=Energia/tiro
|
text.blocks.powershot=Energia/tiro
|
||||||
@@ -92,7 +87,7 @@ setting.difficulty.hard=Difícil
|
|||||||
setting.difficulty.name=Dificuldade
|
setting.difficulty.name=Dificuldade
|
||||||
setting.screenshake.name=Balanço da Tela
|
setting.screenshake.name=Balanço da Tela
|
||||||
setting.indicators.name=Indicadores de Inimigos
|
setting.indicators.name=Indicadores de Inimigos
|
||||||
setting.effects.name=Particulas
|
setting.effects.name=Efeitos
|
||||||
setting.sensitivity.name=Sensibilidade do Controle
|
setting.sensitivity.name=Sensibilidade do Controle
|
||||||
setting.fps.name=Mostrar FPS
|
setting.fps.name=Mostrar FPS
|
||||||
setting.vsync.name=VSync
|
setting.vsync.name=VSync
|
||||||
@@ -102,19 +97,6 @@ setting.musicvol.name=Volume da Música
|
|||||||
setting.mutemusic.name=Desligar Musica
|
setting.mutemusic.name=Desligar Musica
|
||||||
setting.sfxvol.name=Volume de Efeitos
|
setting.sfxvol.name=Volume de Efeitos
|
||||||
setting.mutesound.name=Desligar Som
|
setting.mutesound.name=Desligar Som
|
||||||
map.maze.name=maze
|
|
||||||
map.fortress.name=fortress
|
|
||||||
map.sinkhole.name=sinkhole
|
|
||||||
map.caves.name=caves
|
|
||||||
map.volcano.name=volcano
|
|
||||||
map.caldera.name=caldera
|
|
||||||
map.scorch.name=scorch
|
|
||||||
map.desert.name=desert
|
|
||||||
map.island.name=island
|
|
||||||
map.grassland.name=grassland
|
|
||||||
map.tundra.name=tundra
|
|
||||||
map.spiral.name=spiral
|
|
||||||
map.tutorial.name=tutorial
|
|
||||||
keybind.move_x.name=move_x
|
keybind.move_x.name=move_x
|
||||||
keybind.move_y.name=move_y
|
keybind.move_y.name=move_y
|
||||||
keybind.select.name=selecionar
|
keybind.select.name=selecionar
|
||||||
@@ -124,7 +106,6 @@ keybind.zoom.name=zoom
|
|||||||
keybind.menu.name=menu
|
keybind.menu.name=menu
|
||||||
keybind.pause.name=pausar
|
keybind.pause.name=pausar
|
||||||
keybind.dash.name=Correr
|
keybind.dash.name=Correr
|
||||||
keybind.rotate_alt.name=girar_alt*
|
|
||||||
keybind.rotate.name=girar
|
keybind.rotate.name=girar
|
||||||
mode.waves.name=hordas
|
mode.waves.name=hordas
|
||||||
mode.sandbox.name=sandbox
|
mode.sandbox.name=sandbox
|
||||||
@@ -149,310 +130,305 @@ block.liquidjunction.name=Junção de líquido
|
|||||||
block.sorter.name=Ordenador
|
block.sorter.name=Ordenador
|
||||||
block.sorter.description=[interact]Aperte no bloco para configurar[]
|
block.sorter.description=[interact]Aperte no bloco para configurar[]
|
||||||
block.smelter.name=Fornalha
|
block.smelter.name=Fornalha
|
||||||
text.credits=Credits
|
text.credits=Creditos
|
||||||
text.link.discord.description=the official Mindustry discord chatroom
|
text.link.discord.description=O discord oficial do Mindustry
|
||||||
text.link.github.description=Game source code
|
text.link.github.description=Game source code
|
||||||
text.link.dev-builds.description=Unstable development builds
|
text.link.dev-builds.description=Desenvolvimentos Instaveis
|
||||||
text.link.trello.description=Official trello board for planned features
|
text.link.trello.description=Trello Oficial para Updates Planejados
|
||||||
text.link.itch.io.description=itch.io page with PC downloads and web version
|
text.link.itch.io.description=Pagina da Itch.io com os Downloads
|
||||||
text.link.google-play.description=Google Play store listing
|
text.link.google-play.description=Google Play store listing
|
||||||
text.link.wiki.description=official Mindustry wiki
|
text.link.wiki.description=Wiki oficial do Mindustry
|
||||||
text.linkfail=Failed to open link!\nThe URL has been copied to your cliboard.
|
text.linkfail=Falha ao abrir o link\nO Url foi copiado
|
||||||
text.editor.web=The web version does not support the editor!\nDownload the game to use it.
|
text.editor.web=A versão web não suporta o editor!\nBaixe o jogo para usar.
|
||||||
text.web.unsupported=The web version does not support this feature! Download the game to use it.
|
text.web.unsupported=A versão web não suporta este recurso! Baixe o jogo para usar.
|
||||||
text.multiplayer.web=This version of the game does not support multiplayer!\nTo play multiplayer from your browser, use the "multiplayer web version" link at the itch.io page.
|
text.map.delete=Certeza que quer deletar o mapa "[orange]{0}[]"?
|
||||||
text.host.web=The web version does not support hosting games! Download the game to use this feature.
|
text.construction.title=Guia de contrução de blocos
|
||||||
text.map.delete=Are you sure you want to delete the map "[orange]{0}[]"?
|
|
||||||
text.construction.title=Block Construction Guide
|
|
||||||
text.construction=You've just selected [accent]block construction mode[].\n\nTo begin placing, simply tap a valid location near your ship.\nOnce you have selected some blocks, press the checkbox to confirm, and your ship will begin constructing them.\n\n- [accent]Remove blocks[] from your selection by tapping them.\n- [accent]Shift the selection[] by holding and dragging any block in the selection.\n- [accent]Place blocks in a line[] by tapping and holding an empty spot, then dragging in a direction.\n- [accent]Cancel construction or selection[] by pressing the X at the bottom left.
|
text.construction=You've just selected [accent]block construction mode[].\n\nTo begin placing, simply tap a valid location near your ship.\nOnce you have selected some blocks, press the checkbox to confirm, and your ship will begin constructing them.\n\n- [accent]Remove blocks[] from your selection by tapping them.\n- [accent]Shift the selection[] by holding and dragging any block in the selection.\n- [accent]Place blocks in a line[] by tapping and holding an empty spot, then dragging in a direction.\n- [accent]Cancel construction or selection[] by pressing the X at the bottom left.
|
||||||
text.deconstruction.title=Block Deconstruction Guide
|
text.deconstruction.title=Block Deconstruction Guide
|
||||||
text.deconstruction=You've just selected [accent]block deconstruction mode[].\n\nTo begin breaking, simply tap a block near your ship.\nOnce you have selected some blocks, press the checkbox to confirm, and your ship will begin de-constructing them.\n\n- [accent]Remove blocks[] from your selection by tapping them.\n- [accent]Remove blocks in an area[] by tapping and holding an empty spot, then dragging in a direction.\n- [accent]Cancel deconstruction or selection[] by pressing the X at the bottom left.
|
text.deconstruction=You've just selected [accent]block deconstruction mode[].\n\nTo begin breaking, simply tap a block near your ship.\nOnce you have selected some blocks, press the checkbox to confirm, and your ship will begin de-constructing them.\n\n- [accent]Remove blocks[] from your selection by tapping them.\n- [accent]Remove blocks in an area[] by tapping and holding an empty spot, then dragging in a direction.\n- [accent]Cancel deconstruction or selection[] by pressing the X at the bottom left.
|
||||||
text.showagain=Don't show again next session
|
text.showagain=Não mostrar na proxima sessão
|
||||||
text.unlocks=Unlocks
|
text.unlocks=Desbloqueados
|
||||||
text.joingame=Join Game
|
text.joingame=Entrar no Jogo
|
||||||
text.addplayers=Add/Remove Players
|
text.addplayers=Adicionar/Remover Jogador
|
||||||
text.maps=Maps
|
text.maps=Mapas
|
||||||
text.maps.none=[LIGHT_GRAY]No maps found!
|
text.maps.none=[LIGHT_GRAY]Nenhum Mapa Encontrado!
|
||||||
text.about.button=About
|
text.about.button=Sobre
|
||||||
text.name=Name:
|
text.name=Nome:
|
||||||
text.unlocked=New Block Unlocked!
|
text.unlocked=Novo bloco Desbloqueado!
|
||||||
text.unlocked.plural=New Blocks Unlocked!
|
text.unlocked.plural=Novos Blocos desbloqueados!
|
||||||
text.players={0} players online
|
text.players={0} Jogadores Ativos
|
||||||
text.players.single={0} player online
|
text.players.single={0} Jogador Ativo
|
||||||
text.server.mismatch=Packet error: possible client/server version mismatch.\nMake sure you and the host have the\nlatest version of Mindustry!
|
text.server.mismatch=Packet error: Versão do Cliente/Servidor Incompativel.\nTenha certeza Que Host tem\nA ultima versão de Mindustry!
|
||||||
text.server.closing=[accent]Closing server...
|
text.server.closing=[accent]Fechando servidor...
|
||||||
text.server.kicked.kick=You have been kicked from the server!
|
text.server.kicked.kick=Voce foi expulso do servidor!
|
||||||
text.server.kicked.fastShoot=You are shooting too quickly.
|
text.server.kicked.fastShoot=Voce esta atirando rapido demais.
|
||||||
text.server.kicked.invalidPassword=Invalid password!
|
text.server.kicked.invalidPassword=Senha Incorreta!
|
||||||
text.server.kicked.clientOutdated=Outdated client! Update your game!
|
text.server.kicked.clientOutdated=Cliente desatualizado! Atualize seu jogo!
|
||||||
text.server.kicked.serverOutdated=Outdated server! Ask the host to update!
|
text.server.kicked.serverOutdated=Servidor desatualiado! Peca ao dono para atualizar!
|
||||||
text.server.kicked.banned=You are banned on this server.
|
text.server.kicked.banned=Voce foi banido do servidor.
|
||||||
text.server.kicked.recentKick=You have been kicked recently.\nWait before connecting again.
|
text.server.kicked.recentKick=Voce foi banido recentemente.\nEspere para conectar de novo.
|
||||||
text.server.kicked.nameInUse=There is someone with that name\nalready on this server.
|
text.server.kicked.nameInUse=Este nome ja esta sendo usado\nneste servidor.
|
||||||
text.server.kicked.nameEmpty=Your name must contain at least one character or number.
|
text.server.kicked.nameEmpty=Voce deve ter pelo menos uma letra ou numero.
|
||||||
text.server.kicked.idInUse=You are already on this server! Connecting with two accounts is not permitted.
|
text.server.kicked.idInUse=Voce ja esta neste servidor! Conectar com duas contas não é permitido.
|
||||||
text.server.kicked.customClient=This server does not support custom builds. Download an official version.
|
text.server.kicked.customClient=Este servidor não suporta construções customizadas. Baixe a versão original.
|
||||||
text.host.info=The [accent]host[] button hosts a server on ports [scarlet]6567[] and [scarlet]6568.[]\nAnybody on the same [LIGHT_GRAY]wifi or local network[] should be able to see your server in their server list.\n\nIf you want people to be able to connect from anywhere by IP, [accent]port forwarding[] is required.\n\n[LIGHT_GRAY]Note: If someone is experiencing trouble connecting to your LAN game, make sure you have allowed Mindustry access to your local network in your firewall settings.
|
text.host.info=The [accent]Hospedar[]Botão Hopeda um servidor no Host[scarlet]6567[] e [scarlet]6568.[]\nQualquer um no [LIGHT_GRAY]Wi-fi Ou Internet local[] Pode ver este servidor na lista de servidores.\n\nSe voce quer poder entrar em qualquer servidor em seu ip, [accent]port forwarding[] é requerido.\n\n[LIGHT_GRAY]Note: Se alguem esta com problemas em conectar no seu servidor lan, Tenha certeza que deixou mindustry Acessar sua internet local nas configurações de firewall
|
||||||
text.join.info=Here, you can enter a [accent]server IP[] to connect to, or discover [accent]local network[] servers to connect to.\nBoth LAN and WAN multiplayer is supported.\n\n[LIGHT_GRAY]Note: There is no automatic global server list; if you want to connect to someone by IP, you would need to ask the host for their IP.
|
text.hostserver=Hospedar servidor
|
||||||
text.hostserver=Host Server
|
text.host=Hospedar
|
||||||
text.host=Host
|
text.hosting=[accent]Abrindo server...
|
||||||
text.hosting=[accent]Opening server...
|
text.hosts.refresh=atualizar
|
||||||
text.hosts.refresh=Refresh
|
text.hosts.discovering=Descobrindo jogos em lan
|
||||||
text.hosts.discovering=Discovering LAN games
|
text.server.refreshing=Atualizando servidor
|
||||||
text.server.refreshing=Refreshing server
|
text.hosts.none=[lightgray]Nenhum jogo lan encontrado!
|
||||||
text.hosts.none=[lightgray]No LAN games found!
|
text.host.invalid=[scarlet]Não foi possivel Hospedar.
|
||||||
text.host.invalid=[scarlet]Can't connect to host.
|
text.trace=Traçar jogador
|
||||||
text.trace=Trace Player
|
text.trace.playername=Nome do jogador: [accent]{0}
|
||||||
text.trace.playername=Player name: [accent]{0}
|
|
||||||
text.trace.ip=IP: [accent]{0}
|
text.trace.ip=IP: [accent]{0}
|
||||||
text.trace.id=Unique ID: [accent]{0}
|
text.trace.id=Unique ID: [accent]{0}
|
||||||
text.trace.android=Android Client: [accent]{0}
|
text.trace.android=Cliente Androide: [accent]{0}
|
||||||
text.trace.modclient=Custom Client: [accent]{0}
|
text.trace.modclient=Cliente Customizado: [accent]{0}
|
||||||
text.trace.totalblocksbroken=Total blocks broken: [accent]{0}
|
text.trace.totalblocksbroken=Blocos totais quebrados: [accent]{0}
|
||||||
text.trace.structureblocksbroken=Structure blocks broken: [accent]{0}
|
text.trace.structureblocksbroken=Blocos de estrutura quebrados: [accent]{0}
|
||||||
text.trace.lastblockbroken=Last block broken: [accent]{0}
|
text.trace.lastblockbroken=Ultimo bloco quebrado: [accent]{0}
|
||||||
text.trace.totalblocksplaced=Total blocks placed: [accent]{0}
|
text.trace.totalblocksplaced=Blocos totais Colocados: [accent]{0}
|
||||||
text.trace.lastblockplaced=Last block placed: [accent]{0}
|
text.trace.lastblockplaced=Ultimo bloco colocado: [accent]{0}
|
||||||
text.invalidid=Invalid client ID! Submit a bug report.
|
text.invalidid=ID do cliente invalido! Reporte o bug.
|
||||||
text.server.bans=Bans
|
text.server.bans=Banidos
|
||||||
text.server.bans.none=No banned players found!
|
text.server.bans.none=Nenhum jogador banido encontrado!
|
||||||
text.server.admins=Admins
|
text.server.admins=Administradores
|
||||||
text.server.admins.none=No admins found!
|
text.server.admins.none=Nenhum administrador encontrado!
|
||||||
text.server.add=Add Server
|
text.server.add=Adicionar servidor
|
||||||
text.server.delete=Are you sure you want to delete this server?
|
text.server.delete=Certeza que quer deletar o servidor?
|
||||||
text.server.hostname=Host: {0}
|
text.server.hostname=Hospedar: {0}
|
||||||
text.server.edit=Edit Server
|
text.server.edit=Editar servidor
|
||||||
text.server.outdated=[crimson]Outdated Server![]
|
text.server.outdated=[crimson]Servidor desatualizado![]
|
||||||
text.server.outdated.client=[crimson]Outdated Client![]
|
text.server.outdated.client=[crimson]Cliente desatualiado![]
|
||||||
text.server.version=[lightgray]Version: {0}
|
text.server.version=[lightgray]Versão: {0}
|
||||||
text.server.custombuild=[yellow]Custom Build
|
text.server.custombuild=[yellow]Construção customizada
|
||||||
text.confirmban=Are you sure you want to ban this player?
|
text.confirmban=Certeza que quer banir este jogador?
|
||||||
text.confirmunban=Are you sure you want to unban this player?
|
text.confirmunban=Certeza que quer desbanir este jogador?
|
||||||
text.confirmadmin=Are you sure you want to make this player an admin?
|
text.confirmadmin=Certeza que quer fazer este jogador um administrador?
|
||||||
text.confirmunadmin=Are you sure you want to remove admin status from this player?
|
text.confirmunadmin=Certeza que quer remover o estatus de adminstrador deste jogador?
|
||||||
text.joingame.title=Join Game
|
text.joingame.title=Entrar no jogo
|
||||||
text.joingame.ip=IP:
|
text.joingame.ip=IP:
|
||||||
text.disconnect=Disconnected.
|
text.disconnect=Desconectado.
|
||||||
text.disconnect.data=Failed to load world data!
|
text.disconnect.data=Falha ao abrir a data do mundo!
|
||||||
text.connecting=[accent]Connecting...
|
text.connecting=[accent]Conectando...
|
||||||
text.connecting.data=[accent]Loading world data...
|
text.connecting.data=[accent]Carregando data do mundo...
|
||||||
text.connectfail=[crimson]Failed to connect to server: [orange]{0}
|
text.connectfail=[crimson]Falha ao entrar no servidor: [orange]{0}
|
||||||
text.server.port=Port:
|
text.server.port=Porte:
|
||||||
text.server.addressinuse=Address already in use!
|
text.server.addressinuse=Senha em uso!
|
||||||
text.server.invalidport=Invalid port number!
|
text.server.invalidport=Numero de port invalido!
|
||||||
text.server.error=[crimson]Error hosting server: [orange]{0}
|
text.server.error=[crimson]Erro ao hospedar o servidor: [orange]{0}
|
||||||
text.save.new=New Save
|
text.save.new=Novo Save
|
||||||
text.save.none=No saves found!
|
text.save.none=Nenhum save encontrado!
|
||||||
text.save.delete.confirm=Are you sure you want to delete this save?
|
text.save.delete.confirm=Certeza que quer deletar este save?
|
||||||
text.save.delete=Delete
|
text.save.delete=Deletar
|
||||||
text.save.export=Export Save
|
text.save.export=Exportar save
|
||||||
text.save.import.invalid=[orange]This save is invalid!
|
text.save.import.invalid=[orange]Este save é invalido!
|
||||||
text.save.import.fail=[crimson]Failed to import save: [orange]{0}
|
text.save.import.fail=[crimson]Falha ao importar save: [orange]{0}
|
||||||
text.save.export.fail=[crimson]Failed to export save: [orange]{0}
|
text.save.export.fail=[crimson]Falha ao Exportar save: [orange]{0}
|
||||||
text.save.import=Import Save
|
text.save.import=Importar save
|
||||||
text.save.newslot=Save name:
|
text.save.newslot=Nome do save:
|
||||||
text.save.rename=Rename
|
text.save.rename=Renomear
|
||||||
text.save.rename.text=New name:
|
text.save.rename.text=Novo jogo:
|
||||||
text.on=On
|
text.on=Ligado
|
||||||
text.off=Off
|
text.off=Desligado
|
||||||
text.save.autosave=Autosave: {0}
|
text.save.autosave=Autosalvar: {0}
|
||||||
text.save.map=Map: {0}
|
text.save.map=Mapa: {0}
|
||||||
text.save.difficulty=Difficulty: {0}
|
text.save.difficulty=Dificuldade: {0}
|
||||||
text.copylink=Copy Link
|
text.copylink=Copiar link
|
||||||
text.changelog.title=Changelog
|
text.changelog.title=Changelog
|
||||||
text.changelog.loading=Getting changelog...
|
text.changelog.loading=Coletando changelog...
|
||||||
text.changelog.error.android=[orange]Note that the changelog sometimes does not work on Android 4.4 and below!\nThis is due to an internal Android bug.
|
text.changelog.error.android=[orange]Note que a Changelog as vezes Funciona no android 4.4 e abaixo!\nIsso é por causa de um erro interno no sistema android.
|
||||||
text.changelog.error.ios=[orange]The changelog is currently not supported in iOS.
|
text.changelog.error.ios=[orange]A changelog não é suportada no IOS.
|
||||||
text.changelog.error=[scarlet]Error getting changelog!\nCheck your internet connection.
|
text.changelog.error=[scarlet]Erro ao coletar Changelog!\nCheque a Conexão com a internet.
|
||||||
text.changelog.current=[yellow][[Current version]
|
text.changelog.current=[yellow][[Primeira versão]
|
||||||
text.changelog.latest=[orange][[Latest version]
|
text.changelog.latest=[orange][[Ultima versão]
|
||||||
text.saving=[accent]Saving...
|
text.saving=[accent]Salvando...
|
||||||
text.unknown=Unknown
|
text.unknown=Desconhecido
|
||||||
text.custom=Custom
|
text.custom=Customizado
|
||||||
text.builtin=Built-In
|
text.builtin=Built-In
|
||||||
text.map.delete.confirm=Are you sure you want to delete this map? This action cannot be undone!
|
text.map.delete.confirm=Certeza que quer deletar este mapa? Isto não pode ser desfeito!
|
||||||
text.map.random=[accent]Random Map
|
text.map.random=[accent]Mapa aleatório
|
||||||
text.map.nospawn=This map does not have any cores for the player to spawn in! Add a [ROYAL]blue[] core to this map in the editor.
|
text.map.nospawn=Esse mapa não contém um [yellow]core[] para o jogador Nascer! [ROYAL]blue[] Coloque um [yellow]core[] no editor de mapa.
|
||||||
text.editor.slope=\\
|
text.editor.slope=\\
|
||||||
text.editor.openin=Open In Editor
|
text.editor.openin=Abrir no Editor
|
||||||
text.editor.oregen=Ore Generation
|
text.editor.oregen=Geração de minério
|
||||||
text.editor.oregen.info=Ore Generation:
|
text.editor.oregen.info=Geração de minério:
|
||||||
text.editor.mapinfo=Map Info
|
text.editor.mapinfo=Informação do mapa
|
||||||
text.editor.author=Author:
|
text.editor.author=Autor:
|
||||||
text.editor.description=Description:
|
text.editor.description=Descrição:
|
||||||
text.editor.name=Name:
|
text.editor.name=Nome:
|
||||||
text.editor.teams=Teams
|
text.editor.teams=Time
|
||||||
text.editor.elevation=Elevation
|
text.editor.elevation=Elevação
|
||||||
text.editor.saved=Saved!
|
text.editor.saved=Salvo!
|
||||||
text.editor.save.noname=Your map does not have a name! Set one in the 'map info' menu.
|
text.editor.save.noname=Seu mapa não tem um nome! Coloque um no menu de "Informação do mapa"
|
||||||
text.editor.save.overwrite=Your map overwrites a built-in map! Pick a different name in the 'map info' menu.
|
text.editor.save.overwrite=O seu mapa Substitui um mapa já construído! Coloque um nome diferente no menu "Informação do mapa"
|
||||||
text.editor.import.exists=[scarlet]Unable to import:[] a built-in map named '{0}' already exists!
|
text.editor.import.exists=[scarlet]Não foi possivel importar:[] Um mapa Construído chamado '{0}' Já existe!
|
||||||
text.editor.import=Import...
|
text.editor.import=Importando...
|
||||||
text.editor.importmap=Import Map
|
text.editor.importmap=Importar Mapa
|
||||||
text.editor.importmap.description=Import an already existing map
|
text.editor.importmap.description=Importar um mapa existente
|
||||||
text.editor.importfile=Import File
|
text.editor.importfile=Importar arquivo
|
||||||
text.editor.importfile.description=Import an external map file
|
text.editor.importfile.description=Importar um arquivo externo
|
||||||
text.editor.importimage=Import Terrain Image
|
text.editor.importimage=Importar imagem do terreno
|
||||||
text.editor.importimage.description=Import an external map image file
|
text.editor.importimage.description=Importar uma imagem de terreno externa
|
||||||
text.editor.export=Export...
|
text.editor.export=Exportando...
|
||||||
text.editor.exportfile=Export File
|
text.editor.exportfile=Exportar arquivo
|
||||||
text.editor.exportfile.description=Export a map file
|
text.editor.exportfile.description=Exportar um arquivo de mapa
|
||||||
text.editor.exportimage=Export Terrain Image
|
text.editor.exportimage=Exportar imagem de terreno
|
||||||
text.editor.exportimage.description=Export a map image file
|
text.editor.exportimage.description=Exportar um arquivo de imagem de mapa
|
||||||
text.editor.overwrite.confirm=[scarlet]Warning![] A map with this name already exists. Are you sure you want to overwrite it?
|
text.editor.overwrite.confirm=[scarlet]Aviso![] Um mapa com esse nome já existe. Tem certeza que deseja substituir?
|
||||||
text.fps=FPS: {0}
|
text.fps=FPS: {0}
|
||||||
text.tps=TPS: {0}
|
text.tps=TPS: {0}
|
||||||
text.ping=Ping: {0}ms
|
text.ping=Ping: {0}ms
|
||||||
text.language.restart=Please restart your game for the language settings to take effect.
|
text.language.restart=Por favor Reinicie seu jogo para a tradução tomar efeito.
|
||||||
text.settings.language=Language
|
text.settings.language=Linguagem
|
||||||
text.settings.rebind=Rebind
|
text.settings.rebind=Religar
|
||||||
text.yes=Yes
|
text.yes=Sim
|
||||||
text.no=No
|
text.no=Não
|
||||||
text.info.title=[accent]Info
|
text.info.title=[accent]Informação
|
||||||
text.blocks.targetsair=Targets Air
|
text.blocks.targetsair=Mirar no ar
|
||||||
text.blocks.itemspeed=Units Moved
|
text.blocks.itemspeed=Unidades mobilizadas
|
||||||
text.blocks.shootrange=Range
|
text.blocks.shootrange=Alcance
|
||||||
text.blocks.poweruse=Power Use
|
text.blocks.poweruse=Uso de energia
|
||||||
text.blocks.inputitemcapacity=Input Item Capacity
|
text.blocks.inputitemcapacity=Configurar capacidade de itens
|
||||||
text.blocks.outputitemcapacity=Input Item Capacity
|
text.blocks.outputitemcapacity=Configurar capacidade de itens
|
||||||
text.blocks.maxpowergeneration=Max Power Generation
|
text.blocks.maxpowergeneration=Geração maxima de energia
|
||||||
text.blocks.powertransferspeed=Power Transfer
|
text.blocks.powertransferspeed=Transferência de energia
|
||||||
text.blocks.craftspeed=Production Speed
|
text.blocks.craftspeed=Velocidade de produção
|
||||||
text.blocks.inputliquidaux=Aux Liquid
|
text.blocks.inputliquidaux=Líquido auxiliar
|
||||||
text.blocks.inputitems=Input Items
|
text.blocks.inputitems=Itens de entrada
|
||||||
text.blocks.outputitem=Output Item
|
text.blocks.outputitem=Itens de saida
|
||||||
text.blocks.drilltier=Drillables
|
text.blocks.drilltier=Furaveis
|
||||||
text.blocks.drillspeed=Base Drill Speed
|
text.blocks.drillspeed=Velocidade da furadeira base
|
||||||
text.blocks.liquidoutput=Liquid Output
|
text.blocks.liquidoutput=Saida de liquido
|
||||||
text.blocks.liquiduse=Liquid Use
|
text.blocks.liquiduse=Uso de liquido
|
||||||
text.blocks.coolant=Coolant
|
text.blocks.coolant=Esfriador
|
||||||
text.blocks.coolantuse=Coolant Use
|
text.blocks.coolantuse=Uso do esfriador
|
||||||
text.blocks.inputliquidfuel=Fuel Liquid
|
text.blocks.inputliquidfuel=Liquido de combustivel
|
||||||
text.blocks.liquidfueluse=Liquid Fuel Use
|
text.blocks.liquidfueluse=Uso do liquido de combustivel
|
||||||
text.blocks.reload=Reload
|
text.blocks.reload=Recarregar
|
||||||
text.blocks.inputfuel=Fuel
|
text.blocks.inputfuel=Combustivel
|
||||||
text.blocks.fuelburntime=Fuel Burn Time
|
text.blocks.fuelburntime=Tempo de queima de combustivel
|
||||||
text.blocks.inputcapacity=Input capacity
|
text.blocks.inputcapacity=Capacidade de entrada
|
||||||
text.blocks.outputcapacity=Output capacity
|
text.blocks.outputcapacity=Capacidade de saída
|
||||||
text.unit.blocks=blocks
|
text.unit.blocks=blocos
|
||||||
text.unit.powersecond=power units/second
|
text.unit.powersecond=Unidades de energia/segundo
|
||||||
text.unit.liquidsecond=liquid units/second
|
text.unit.liquidsecond=Unidades de líquido/segundo
|
||||||
text.unit.itemssecond=items/second
|
text.unit.itemssecond=itens/segundo
|
||||||
text.unit.pixelssecond=pixels/second
|
text.unit.pixelssecond=pixeis/segundo
|
||||||
text.unit.liquidunits=liquid units
|
text.unit.liquidunits=Unidades de liquido
|
||||||
text.unit.powerunits=power units
|
text.unit.powerunits=Unidades de energia
|
||||||
text.unit.degrees=degrees
|
text.unit.degrees=Graus
|
||||||
text.unit.seconds=seconds
|
text.unit.seconds=segundos
|
||||||
text.unit.none=
|
text.unit.none=
|
||||||
text.unit.items=items
|
text.unit.items=itens
|
||||||
text.category.general=General
|
text.category.general=Geral
|
||||||
text.category.power=Power
|
text.category.power=Poder
|
||||||
text.category.liquids=Liquids
|
text.category.liquids=Liquidos
|
||||||
text.category.items=Items
|
text.category.items=Itens
|
||||||
text.category.crafting=Crafting
|
text.category.crafting=Construindo
|
||||||
text.category.shooting=Shooting
|
text.category.shooting=Atirando
|
||||||
setting.difficulty.insane=insane
|
setting.difficulty.insane=insano
|
||||||
setting.difficulty.purge=purge
|
setting.difficulty.purge=purge
|
||||||
setting.saveinterval.name=Autosave Interval
|
setting.saveinterval.name=Intervalo de autosalvamento
|
||||||
setting.seconds={0} Seconds
|
setting.seconds={0} Segundos
|
||||||
setting.fullscreen.name=Fullscreen
|
setting.fullscreen.name=Tela Cheia
|
||||||
setting.multithread.name=Multithreading
|
setting.multithread.name=Multithreading
|
||||||
setting.minimap.name=Show Minimap
|
setting.minimap.name=Mostrar minimapa
|
||||||
text.keybind.title=Rebind Keys
|
text.keybind.title=Refazer teclas
|
||||||
keybind.shoot.name=shoot
|
keybind.shoot.name=Atirar
|
||||||
keybind.block_info.name=block_info
|
keybind.chat.name=Conversa
|
||||||
keybind.chat.name=chat
|
keybind.player_list.name=Lista_de_jogadores
|
||||||
keybind.player_list.name=player_list
|
|
||||||
keybind.console.name=console
|
keybind.console.name=console
|
||||||
mode.text.help.title=Description of modes
|
mode.text.help.title=Descrição dos modos
|
||||||
mode.waves.description=the normal mode. limited resources and automatic incoming waves.
|
mode.waves.description=O modo normal. Recursos limitados E os ataques vem automaticamente.
|
||||||
mode.sandbox.description=infinite resources and no timer for waves.
|
mode.sandbox.description=Recursos infinitos E sem tempo para Ataques.
|
||||||
mode.freebuild.description=limited resources and no timer for waves.
|
mode.freebuild.description=recursos limitados e Sem tempo para Ataques.
|
||||||
content.item.name=Items
|
content.item.name=Itens
|
||||||
content.liquid.name=Liquids
|
content.liquid.name=Liquidos
|
||||||
content.unit-type.name=Units
|
content.unit-type.name=Unidades
|
||||||
content.recipe.name=Blocks
|
content.recipe.name=Blocos
|
||||||
item.stone.description=A common raw material. Used for separating and refining into other materials, or melting into lava.
|
item.stone.description=Um Material Incomum Cru. Usado para separar e refinar Em outros materiais,Ou Derreter em Lava.
|
||||||
item.tungsten.name=Tungsten
|
item.tungsten.name=Tungstenio
|
||||||
item.tungsten.description=A common, but very useful structure material. Used in drills and heat-resistant blocks such as generators and smelteries.
|
item.tungsten.description=Comum, Mas muito util Material de estrutura. Usado em blocos anti-Aquecimento e blocos com geradores E ferrarias.
|
||||||
item.lead.name=Lead
|
item.lead.name=Chumbo
|
||||||
item.lead.description=A basic starter material. Used extensively in electronics and liquid transportation blocks.
|
item.lead.description=Material de comeco basico. usado intensivamente em Blocos de transporte de liquidos e eletronicos.
|
||||||
item.coal.description=A common and readily available fuel.
|
item.coal.description=Combustivel pronto.
|
||||||
item.carbide.name=Carbide
|
item.carbide.name=Carboneto
|
||||||
item.carbide.description=A tough alloy made with tungsten and carbon. Used in advanced transportation blocks and high-tier drills.
|
item.carbide.description=Uma aliança dura feita com Tugstenio e Carbono. Usado em blocos de transportação avançados E brocas de alto nivel.
|
||||||
item.titanium.description=A rare super-light metal used extensively in liquid transportation, drills and aircraft.
|
item.titanium.description=Um Material raro super leve, metal usado intensivamente na transportação de líquidos, Brocas e Aeronaves.
|
||||||
item.thorium.description=A dense, radioactive metal used as structural support and nuclear fuel.
|
item.thorium.description=A dense, radioactive metal used as structural support and nuclear fuel.
|
||||||
item.silicon.name=Silicon
|
item.silicon.name=Sílicio
|
||||||
item.silcion.description=An extremely useful semiconductor, with applications in solar panels and many complex electronics.
|
item.silcion.description=Condutor extremamente importante,Com aplicação em paneis solares e dispositivos complexos.
|
||||||
item.plastanium.name=Plastanium
|
item.plastanium.name=Plastanio
|
||||||
item.plastanium.description=A light, ductile material used in advanced aircraft and fragmentation ammunition.
|
item.plastanium.description=Leve, Material dutil Usado em aeronaves Avançadas E munição de fragmentação.
|
||||||
item.phase-matter.name=Phase Matter
|
item.phase-matter.name=Materia fase
|
||||||
item.surge-alloy.name=Surge Alloy
|
item.surge-alloy.name=Liga de surto
|
||||||
item.biomatter.name=Biomatter
|
item.biomatter.name=Biomateria
|
||||||
item.biomatter.description=A clump of organic mush; used for conversion into oil or as a basic fuel.
|
item.biomatter.description=A clump of organic mush; used for conversion into oil or as a basic fuel.
|
||||||
item.sand.name=Sand
|
item.sand.name=Areia
|
||||||
item.sand.description=A common material that is used extensively in smelting, both in alloying and as a flux.
|
item.sand.description=Um material comum Que é usado intensivamente em derretimento, Tanto em ligas como fluxo.
|
||||||
item.blast-compound.name=Blast Compound
|
item.blast-compound.name=Composto de explosão
|
||||||
item.blast-compound.description=A volatile compound used in bombs and explosives. While it can burned as fuel, this is not advised.
|
item.blast-compound.description=Um composto volatil usado em bombas em bombas em explosivos. Enquanto pode ser queimado como combustivel, Isso não é recomendado.
|
||||||
item.pyratite.name=Pyratite
|
item.pyratite.name=piratita
|
||||||
item.pyratite.description=An extremely flammable substance used in incendiary weapons.
|
item.pyratite.description=Substancia extremamente inflamavel usado em armas incendiarias.
|
||||||
liquid.cryofluid.name=Cryofluid
|
liquid.cryofluid.name=Crio Fluido
|
||||||
text.item.explosiveness=[LIGHT_GRAY]Explosiveness: {0}
|
text.item.explosiveness=[LIGHT_GRAY]Explosividade: {0}
|
||||||
text.item.flammability=[LIGHT_GRAY]Flammability: {0}
|
text.item.flammability=[LIGHT_GRAY]Inflamabilidade: {0}
|
||||||
text.item.radioactivity=[LIGHT_GRAY]Radioactivity: {0}
|
text.item.radioactivity=[LIGHT_GRAY]RadioAtividade: {0}
|
||||||
text.item.fluxiness=[LIGHT_GRAY]Flux Power: {0}
|
text.item.fluxiness=[LIGHT_GRAY]Poder do fluxo: {0}
|
||||||
text.item.hardness=[LIGHT_GRAY]Hardness: {0}
|
text.item.hardness=[LIGHT_GRAY]Dureza: {0}
|
||||||
text.liquid.heatcapacity=[LIGHT_GRAY]Heat Capacity: {0}
|
text.liquid.heatcapacity=[LIGHT_GRAY]Capacidade de aquecimento: {0}
|
||||||
text.liquid.viscosity=[LIGHT_GRAY]Viscosity: {0}
|
text.liquid.viscosity=[LIGHT_GRAY]Viscosidade: {0}
|
||||||
text.liquid.temperature=[LIGHT_GRAY]Temperature: {0}
|
text.liquid.temperature=[LIGHT_GRAY]Temperatura: {0}
|
||||||
block.tungsten-wall.name=Tungsten Wall
|
block.tungsten-wall.name=Parede de tugstenio
|
||||||
block.tungsten-wall-large.name=Large Tungsten Wall
|
block.tungsten-wall-large.name=Parede larga de Tugstenio
|
||||||
block.carbide-wall.name=Carbide Wall
|
block.carbide-wall.name=Parede de carboneto
|
||||||
block.carbide-wall-large.name=Large Carbide Wall
|
block.carbide-wall-large.name=Parede de Carboneto
|
||||||
block.thorium-wall.name=Thorium Wall
|
block.thorium-wall.name=Parede de tório
|
||||||
block.thorium-wall-large.name=Large Thorium Wall
|
block.thorium-wall-large.name=Parede larga de tório
|
||||||
block.duo.name=Duo
|
block.duo.name=Duplo
|
||||||
block.scorch.name=Scorch
|
block.scorch.name=Quimar
|
||||||
block.hail.name=Hail
|
block.hail.name=Hail
|
||||||
block.lancer.name=Lancer
|
block.lancer.name=Lancer
|
||||||
block.titanium-conveyor.name=Titanium Conveyor
|
block.titanium-conveyor.name=Esteira de Titanio
|
||||||
block.splitter.name=Splitter
|
block.splitter.name=Divisor
|
||||||
block.splitter.description=Outputs items into two opposite directions immediately after they are recieved.
|
block.splitter.description=Manda os itens em duas direções diferentes imediatamente quando chegam.
|
||||||
block.distributor.name=Distributor
|
block.distributor.name=Distribuidor
|
||||||
block.distributor.description=A splitter that can split items into 8 directions.
|
block.distributor.description=Um divisor que pode dividir itens em 8.
|
||||||
block.overflow-gate.name=Overflow Gate
|
block.overflow-gate.name=Portão Sobrecarregado
|
||||||
block.overflow-gate.description=A combination splitter and router that only outputs to the left and right if the front path is blocked.
|
block.overflow-gate.description=Uma combinação de roteador e divisor Que apenas manda para a esquerda e Direita se a frente estiver bloqueada.
|
||||||
block.bridgeconveyor.name=Bridge Conveyor
|
block.bridgeconveyor.name=Esteira de ponte
|
||||||
block.bridgeconveyor.description=A conveyor that can go over other blocks, for up to two total blocks.
|
block.bridgeconveyor.description=Uma esteira que pode ir acima de outros blocos, No total de 2 blocos.
|
||||||
block.arc-smelter.name=Arc Smelter
|
block.arc-smelter.name=Fundidora Arc
|
||||||
block.silicon-smelter.name=Silicon Smelter
|
block.silicon-smelter.name=Fundidora de silicio
|
||||||
block.phase-weaver.name=Phase Weaver
|
block.phase-weaver.name=Palheta de fase
|
||||||
block.pulverizer.name=Pulverizer
|
block.pulverizer.name=Pulverizador
|
||||||
block.cryofluidmixer.name=Cryofluid Mixer
|
block.cryofluidmixer.name=Misturador de Crio Fluido
|
||||||
block.melter.name=Melter
|
block.melter.name=Aparelho de fusão
|
||||||
block.incinerator.name=Incinerator
|
block.incinerator.name=Incinerador
|
||||||
block.biomattercompressor.name=Biomatter Compressor
|
block.biomattercompressor.name=Compressor de bio-matéria
|
||||||
block.separator.name=Separator
|
block.separator.name=Separador
|
||||||
block.centrifuge.name=Centrifuge
|
block.centrifuge.name=Centrifuga
|
||||||
block.power-node.name=Power Node
|
block.power-node.name=Célula de energia
|
||||||
block.power-node-large.name=Large Power Node
|
block.power-node-large.name=Célula de energia Grande
|
||||||
block.battery.name=Battery
|
block.battery.name=Bateria
|
||||||
block.battery-large.name=Large Battery
|
block.battery-large.name=Bateria Grande
|
||||||
block.combustion-generator.name=Combustion Generator
|
block.combustion-generator.name=Gerador de combustão
|
||||||
block.turbine-generator.name=Turbine Generator
|
block.turbine-generator.name=Gerador de Turbina
|
||||||
block.tungsten-drill.name=Tungsten Drill
|
block.tungsten-drill.name=Broca de Tungstenio
|
||||||
block.carbide-drill.name=Carbide Drill
|
block.carbide-drill.name=Broca de Carboneto
|
||||||
block.laser-drill.name=Laser Drill
|
block.laser-drill.name=Broca a Laser
|
||||||
block.water-extractor.name=Water Extractor
|
block.water-extractor.name=Extrator de Agua
|
||||||
block.cultivator.name=Cultivator
|
block.cultivator.name=Cultivador
|
||||||
block.dart-ship-factory.name=Dart Ship Factory
|
block.dart-ship-factory.name=Dart Ship Factory
|
||||||
block.delta-mech-factory.name=Delta Mech Factory
|
block.delta-mech-factory.name=Fabrica de Mecha Delta
|
||||||
block.dronefactory.name=Drone Factory
|
block.repairpoint.name=Ponto de Reparo
|
||||||
block.repairpoint.name=Repair Point
|
block.resupplypoint.name=Ponto de Reabesticento
|
||||||
block.resupplypoint.name=Resupply Point
|
block.liquidtank.name=Tanque de líquido
|
||||||
block.liquidtank.name=Liquid Tank
|
block.bridgeconduit.name=Conduto Ponte
|
||||||
block.bridgeconduit.name=Bridge Conduit
|
block.mechanical-pump.name=Bomba Mecanica
|
||||||
block.mechanical-pump.name=Mechanical Pump
|
|
||||||
block.itemsource.name=Item Source
|
block.itemsource.name=Item Source
|
||||||
block.itemvoid.name=Item Void
|
block.itemvoid.name=Item Void
|
||||||
block.liquidsource.name=Liquid Source
|
block.liquidsource.name=Liquid Source
|
||||||
@@ -460,44 +436,83 @@ block.powervoid.name=Power Void
|
|||||||
block.powerinfinite.name=Power Infinite
|
block.powerinfinite.name=Power Infinite
|
||||||
block.unloader.name=Unloader
|
block.unloader.name=Unloader
|
||||||
block.sortedunloader.name=Sorted Unloader
|
block.sortedunloader.name=Sorted Unloader
|
||||||
block.vault.name=Vault
|
block.vault.name=Cofre
|
||||||
block.wave.name=Wave
|
block.wave.name=Wave
|
||||||
block.swarmer.name=Swarmer
|
block.swarmer.name=Swarmer
|
||||||
block.salvo.name=Salvo
|
block.salvo.name=Salvo
|
||||||
block.ripple.name=Ripple
|
block.ripple.name=Ripple
|
||||||
block.phase-conveyor.name=Phase Conveyor
|
block.phase-conveyor.name=Esteira de Fases
|
||||||
block.bridge-conveyor.name=Bridge Conveyor
|
block.bridge-conveyor.name=Esteira-Ponte
|
||||||
block.plastanium-compressor.name=Plastanium Compressor
|
block.plastanium-compressor.name=Compressor de Plastanio
|
||||||
block.pyratite-mixer.name=Pyratite Mixer
|
block.pyratite-mixer.name=Misturador de Piratita
|
||||||
block.blast-mixer.name=Blast Mixer
|
block.blast-mixer.name=Blast Mixer
|
||||||
block.solidifer.name=Solidifer
|
block.solidifer.name=Solidificador
|
||||||
block.solar-panel.name=Solar Panel
|
block.solar-panel.name=Painel Solar
|
||||||
block.solar-panel-large.name=Large Solar Panel
|
block.solar-panel-large.name=Painel Solar Grande
|
||||||
block.oil-extractor.name=Oil Extractor
|
block.oil-extractor.name=Extrator de Oleo
|
||||||
block.javelin-ship-factory.name=Javelin Ship factory
|
block.javelin-ship-factory.name=Fabrica de Nave Javelin
|
||||||
block.drone-factory.name=Drone Factory
|
block.repair-point.name=Ponto de Reparo
|
||||||
block.fabricator-factory.name=Fabricator Factory
|
block.resupply-point.name=Ponto de Reabastecimento
|
||||||
block.repair-point.name=Repair Point
|
block.pulse-conduit.name=Conduto de Pulso
|
||||||
block.resupply-point.name=Resupply Point
|
block.phase-conduit.name=Conduto de Fase
|
||||||
block.pulse-conduit.name=Pulse Conduit
|
block.liquid-router.name=Roteador de Líquido
|
||||||
block.phase-conduit.name=Phase Conduit
|
block.liquid-tank.name=Tanque de Líquido
|
||||||
block.liquid-router.name=Liquid Router
|
block.liquid-junction.name=Junção de Líquido
|
||||||
block.liquid-tank.name=Liquid Tank
|
block.bridge-conduit.name=Conduto-Ponte
|
||||||
block.liquid-junction.name=Liquid Junction
|
block.rotary-pump.name=Bomba Rotatoria
|
||||||
block.bridge-conduit.name=Bridge Conduit
|
block.nuclear-reactor.name=Reator Nuclear
|
||||||
block.rotary-pump.name=Rotary Pump
|
text.save.old=Este save é para uma versão antiga do jogo, E não pode ser usado.\n\n[LIGHT_GRAY]Salvar Versões antigas vai ser Implementado Na versão 4.0 completa
|
||||||
block.nuclear-reactor.name=Nuclear Reactor
|
text.customgame=Jogo Customizado
|
||||||
text.save.old=This save is for an older version of the game, and can no longer be used.\n\n[LIGHT_GRAY]Save backwards compatibility will be implemented in the full 4.0 release.
|
text.campaign=Campanha
|
||||||
text.customgame=Custom Game
|
text.sectors=Setores
|
||||||
text.campaign=Campaign
|
text.sector=Setor Selecionado: [LIGHT_GRAY]{0}
|
||||||
text.sectors=Sectors
|
text.sector.time=Tempo: [LIGHT_GRAY]{0}
|
||||||
text.sector=Selected Sector: [LIGHT_GRAY]{0}
|
text.sector.deploy=Soltar
|
||||||
text.sector.time=Time: [LIGHT_GRAY]{0}
|
text.sector.resume=Voltar
|
||||||
text.sector.deploy=Deploy
|
|
||||||
text.sector.resume=Resume
|
|
||||||
text.sector.unlocked=Sector completed!
|
|
||||||
text.sector.locked=[scarlet][[Incomplete]
|
text.sector.locked=[scarlet][[Incomplete]
|
||||||
text.sector.unexplored=[accent][[Unexplored]
|
text.sector.unexplored=[accent][[Unexplored]
|
||||||
text.close=Close
|
text.close=Fechar
|
||||||
text.save.playtime=Playtime: {0}
|
text.save.playtime=Playtime: {0}
|
||||||
text.editor.brush=Brush
|
text.editor.brush=Brush
|
||||||
|
text.credits.text=Created by [ROYAL]Anuken[] - [SKY]anukendev@gmail.com[]\n\n[GRAY](In case you can't tell, this text is currently unfinished.\nTranslators, don't edit it yet!)
|
||||||
|
text.sector.gameover=Esse setor foi perdido! Soltar Novamente?
|
||||||
|
text.sector.retry=Tentar novamente?
|
||||||
|
text.wave.lasted=Você sobreviveu até a onda [accent]{0}[].
|
||||||
|
setting.fpscap.name=FPS Maximo
|
||||||
|
setting.fpscap.none=Nenhum
|
||||||
|
setting.fpscap.text={0} FPS
|
||||||
|
block.command-center.name=Centro De Comando
|
||||||
|
text.mission=Missão:[LIGHT_GRAY] {0}
|
||||||
|
text.mission.wave=Sobrevive [accent]{0}[] Onda.
|
||||||
|
text.mission.battle=Destrua a base inimiga.
|
||||||
|
text.none=<none>
|
||||||
|
text.sector.corrupted=[orange]Um arquivo de save Foi encontrado neste setor, Mas o login falhou.\nUm novo foi criado.
|
||||||
|
text.mission.complete=Mission complete!
|
||||||
|
text.mission.complete.body=Sector {0},{1} has been conquered.
|
||||||
|
text.mission.resource=Obtain {0} x{1}
|
||||||
|
text.join.info=Here, you can enter a [accent]server IP[] to connect to, or discover [accent]local network[] servers to connect to.\nBoth LAN and WAN multiplayer is supported.\n\n[LIGHT_GRAY]Note: There is no automatic global server list; if you want to connect to someone by IP, you would need to ask the host for their IP.
|
||||||
|
text.unit.health=[LIGHT_GRAY]Health: {0}
|
||||||
|
text.unit.speed=[LIGHT_GRAY]Speed: {0}
|
||||||
|
block.drone-pad.name=Drone Pad
|
||||||
|
block.fabricator-pad.name=Fabricator Pad
|
||||||
|
block.interceptor-pad.name=Interceptor Pad
|
||||||
|
block.monsoon-pad.name=Monsoon Pad
|
||||||
|
block.mass-driver.name=Mass Driver
|
||||||
|
block.blast-drill.name=Blast Drill
|
||||||
|
unit.drone.name=Drone
|
||||||
|
unit.drone.description=The starter drone unit. Spawns in the core by default. Automatically mines ores, collects items and repairs blocks.
|
||||||
|
unit.fabricator.name=Fabricator
|
||||||
|
unit.fabricator.description=An advanced drone unit. Automatically mines ores, collects items and repairs blocks. Significantly more effective than a drone.
|
||||||
|
unit.scout.name=Scout
|
||||||
|
unit.scout.description=A basic ground unit. Uses lead as ammo.
|
||||||
|
unit.titan.name=Titan
|
||||||
|
unit.titan.description=An advanced armored ground unit. Uses carbide as ammo. Attacks both ground and air targets.
|
||||||
|
unit.monsoon.name=Monsoon
|
||||||
|
unit.monsoon.description=A heavy carpet bomber. Uses blast compound or pyratite as ammo.
|
||||||
|
unit.interceptor.name=Interceptor
|
||||||
|
unit.interceptor.description=A fast, hit-and-run strike unit. Uses lead as ammo.
|
||||||
|
mode.sandbox.warning=Note that blocks cannot be used in sandbox mode until they are unlocked in other modes.\n\n[LIGHT_GRAY]If you have not unlocked any blocks, none will appear.
|
||||||
|
block.thermal-pump.name=Thermal Pump
|
||||||
|
block.dagger-pad.name=Dagger Pad
|
||||||
|
block.titan-pad.name=Titan Pad
|
||||||
|
block.thermal-generator.name=Thermal Generator
|
||||||
|
|||||||
@@ -1,6 +1,6 @@
|
|||||||
text.about=Создатель [ROYAL] Anuken. [] \nИзначально игра была создана для участия в [orange] GDL [] MM Jam. \n\nАвторы: \n- Звуковые эффекты, сделаны с помощью [YELLOW] bfxr [] \n- Музыка, создана [GREEN] RoccoW [] / найденная на [lime] FreeMusicArchive.org [] \n\nОсобая благодарность: \n- [coral] MitchellFJN []: в тестировании и отзывах \n- [sky] Luxray5474 []: работа в вики, помощь в разработке \n- Все бета-тестеры на itch.io и Google Play\n\nИгра переведена полностью на русский язык [GREEN]krocotavus[] и [GREEN]lexa1549. Дополнил перевод [GREEN]Prosta4ok_ua[]\n
|
text.credits.text=Создатель [ROYAL] Anuken. - [SKY]anukendev@gmail.com[]\n\nЕсть недороботки в переводе?\nПишите в офф. discord-сервер mindustry в канал #русский.
|
||||||
text.credits=Авторы
|
text.credits=Авторы
|
||||||
text.discord=Присоединяйтесь к нашему Discord чату!
|
text.discord=Присоединяйтесь к нашему Discord!
|
||||||
text.link.discord.description=официальный discord-сервер Mindustry
|
text.link.discord.description=официальный discord-сервер Mindustry
|
||||||
text.link.github.description=Исходный код игры
|
text.link.github.description=Исходный код игры
|
||||||
text.link.dev-builds.description=Нестабильные разработки
|
text.link.dev-builds.description=Нестабильные разработки
|
||||||
@@ -10,23 +10,54 @@ text.link.google-play.description=Google Play список магазинов
|
|||||||
text.link.wiki.description=официальная вики Mindustry
|
text.link.wiki.description=официальная вики Mindustry
|
||||||
text.linkfail=Не удалось открыть ссылку!\nURL-адрес был скопирован в буфер обмена.
|
text.linkfail=Не удалось открыть ссылку!\nURL-адрес был скопирован в буфер обмена.
|
||||||
text.editor.web=Веб-версия не поддерживает редактор!\nЗагрузите игру, чтобы использовать ее.
|
text.editor.web=Веб-версия не поддерживает редактор!\nЗагрузите игру, чтобы использовать ее.
|
||||||
text.multiplayer.web=Эта версия игры не поддерживает многопользовательскую игру! \n Чтобы играть в мультиплеер из своего браузера, используйте ссылку «Многопользовательская веб-версия» на странице itch.io.
|
text.web.unsupported=Веб-версия не поддерживает эту функцию! Загрузите игру, чтобы использовать её.
|
||||||
text.gameover=Ядро было уничтожено.
|
text.gameover=Ядро было уничтожено.
|
||||||
|
text.sector.gameover=Этот сектор потерян. Разблокировать повторно?
|
||||||
|
text.sector.retry=Повторить попытку
|
||||||
text.highscore=[YELLOW]Новый рекорд!
|
text.highscore=[YELLOW]Новый рекорд!
|
||||||
text.lasted=Вы продержались до волны
|
text.wave.lasted=Вы продержались до волны [accent]{0}[].
|
||||||
text.level.highscore=Рекорд: [accent]{0}
|
text.level.highscore=Рекорд: [accent]{0}
|
||||||
text.level.delete.title=Подтвердите удаление
|
text.level.delete.title=Подтвердите удаление
|
||||||
|
text.map.delete=Вы действительно хотите удалить карту "[orange]{0}[]"?
|
||||||
text.level.select=Выбор уровня
|
text.level.select=Выбор уровня
|
||||||
text.level.mode=Режим игры:
|
text.level.mode=Режим игры:
|
||||||
|
text.construction.title=Руководство по строительству блоков
|
||||||
|
text.construction=Вы только что выбрали режим строительства [accent]блоков[].\n\nЧтобы начать размещение, просто коснитесь действительного местоположения рядом с вашим кораблем.\nПосле того, как вы выбрали несколько блоков, установите флажок, чтобы подтвердить, и ваш корабль начнет их строить.\n\n- [accent]Удалите блоки [] из вашего выбора, нажав на них.n- [accent]Shift выделение [], удерживая и перетаскивая любой блок в выборе.\n- [accent]Поместите блоки в линию [], нажимая и удерживая пустое место, а затем перетаскивая его в направлении.\n- [accent]Отмените строительство или выбор [], нажав X в левом нижнем углу.
|
||||||
|
text.deconstruction.title=Руководство по разрушении блоков
|
||||||
|
text.deconstruction=Вы только что выбрали режим удаления[accent] блока.[].\n\nЧтобы начать ломать, просто нажмите на блок рядом с вашим кораблем.\nПосле того как вы выбрали некоторые блоки, установите флажок, чтобы подтвердить, и ваш корабль начнет их деконструкцию.\n\n- [accent]Удалите блоки [] из вашего выбора, нажав на них.\n- [accent]Удалите блоки в области [], нажав и удерживая пустое место, а затем перетащив его в направлении.\n- [accent]Отмените деконструкцию или выбор [], нажав X в левом нижнем углу.
|
||||||
|
text.showagain=Не показывать снова до следующей сессии
|
||||||
|
text.unlocks=Разблокированные
|
||||||
text.savegame=Сохранить игру
|
text.savegame=Сохранить игру
|
||||||
text.loadgame=Загрузить игру
|
text.loadgame=Загрузить игру
|
||||||
text.joingame=Присоединиться
|
text.joingame=Присоединиться
|
||||||
|
text.addplayers=Доб/удалить игроков
|
||||||
|
text.customgame=Пользовательская игра
|
||||||
|
text.campaign=Кампания
|
||||||
|
text.sectors=Секторы
|
||||||
|
text.sector=Выбранный сектор: [LIGHT_GRAY]{0}
|
||||||
|
text.sector.time=Время: [LIGHT_GRAY]{0}
|
||||||
|
text.sector.deploy=Высадиться
|
||||||
|
text.sector.resume=Продолжить
|
||||||
|
text.sector.locked=[scarlet][[Не завершено]
|
||||||
|
text.sector.unexplored=[accent][[Не изучено]
|
||||||
|
text.mission=Миссия:[LIGHT_GRAY] {0}
|
||||||
|
text.mission.complete=Миссия выполнена!
|
||||||
|
text.mission.complete.body=Сектор {0},{1} был завоёван.
|
||||||
|
text.mission.wave=Пережено следующее количество волн:[accent]{0}[].
|
||||||
|
text.mission.battle=Уничтожьте базу противника.
|
||||||
|
text.mission.resource=Приобретено {0} x{1}
|
||||||
|
text.none=<ничего>
|
||||||
|
text.close=Закрыть
|
||||||
text.quit=Выход
|
text.quit=Выход
|
||||||
|
text.maps=Карты
|
||||||
|
text.maps.none=[LIGHT_GRAY]Карты не найдены!
|
||||||
text.about.button=Об игре
|
text.about.button=Об игре
|
||||||
text.name=Название:
|
text.name=Ник:
|
||||||
|
text.unlocked=Новый блок разблокирован!
|
||||||
|
text.unlocked.plural=Новые блоки разблокированы!
|
||||||
text.players=Игроков на сервере: {0}
|
text.players=Игроков на сервере: {0}
|
||||||
text.players.single={0} игрок на сервере
|
text.players.single={0} игрок на сервере
|
||||||
text.server.mismatch=Ошибка пакета: возможное несоответствие версии клиента / сервера. Убедитесь, что у вас и у создателя сервера установлена последняя версия Mindustry!
|
text.server.mismatch=Ошибка пакета: возможное несоответствие версии клиента/сервера. Убедитесь, что у вас и у создателя сервера установлена последняя версия Mindustry!
|
||||||
text.server.closing=[accent]Закрытие сервера...
|
text.server.closing=[accent]Закрытие сервера...
|
||||||
text.server.kicked.kick=Вас выгнали с сервера!
|
text.server.kicked.kick=Вас выгнали с сервера!
|
||||||
text.server.kicked.fastShoot=Вы стреляете слишком быстро.
|
text.server.kicked.fastShoot=Вы стреляете слишком быстро.
|
||||||
@@ -35,8 +66,12 @@ text.server.kicked.clientOutdated=Устаревший клиент! Обнов
|
|||||||
text.server.kicked.serverOutdated=Устаревший сервер! Попросите хост обновить!
|
text.server.kicked.serverOutdated=Устаревший сервер! Попросите хост обновить!
|
||||||
text.server.kicked.banned=Вы заблокированы на этом сервере.
|
text.server.kicked.banned=Вы заблокированы на этом сервере.
|
||||||
text.server.kicked.recentKick=Вы недавно были кикнуты.\n Подождите немного перед следующим подключением
|
text.server.kicked.recentKick=Вы недавно были кикнуты.\n Подождите немного перед следующим подключением
|
||||||
text.host.info=The [accent]host[] button hosts a server on ports [scarlet]6567[] and [scarlet]6568.[]\nAnybody on the same [LIGHT_GRAY]wifi or local network[] should be able to see your server in their server list.\n\nIf you want people to be able to connect from anywhere by IP, [accent]port forwarding[] is required.\n\n[LIGHT_GRAY]Note: If someone is experiencing trouble connecting to your LAN game, make sure you have allowed Mindustry access to your local network in your firewall settings.
|
text.server.kicked.nameInUse=На этом сервере есть кто-то с этим именем.
|
||||||
text.join.info=Here, you can enter a [accent]server IP[] to connect to, or discover [accent]local network[] servers to connect to.\nBoth LAN and WAN multiplayer is supported.\n\n[LIGHT_GRAY]Note: There is no automatic global server list; if you want to connect to someone by IP, you would need to ask the host for their IP.
|
text.server.kicked.nameEmpty=Ваше имя должно содержать хотя бы один символ или цифру.
|
||||||
|
text.server.kicked.idInUse=Вы уже на этом сервере! Соединение с двумя учетными записями не разрешено.
|
||||||
|
text.server.kicked.customClient=Этот сервер не поддерживает пользовательские сборки. Загрузите официальную версию.
|
||||||
|
text.host.info=Кнопка [accent] Сервер [] размещает сервер на порт [accent]6567[].[]\nЛюбой пользователь в той же [LIGHT_GRAY]сети или локальной сети [] должен иметь возможность видеть ваш сервер в своём списке серверов.\n\nЕсли вы хотите, чтобы люди могли подключаться из любого места по IP, то требуется переадресация(проброс) портов.[].\n\n[LIGHT_GRAY] Примечание. Если у кого-то возникают проблемы с подключением к вашей локальной сети, убедитесь, что вы разрешили Mindustry доступ к вашей локальной сети в настройках брандмауэра.
|
||||||
|
text.join.info=Здесь вы можете ввести IP-адрес [accent]сервера[] для подключения или открыть [accent]локальную сеть [] для подключения к серверам.\nПоддерживается многопользовательский режим LAN и WAN.\n\n[LIGHT_GRAY] Примечание: это не является автоматическим глобальным списком серверов; если вы хотите подключиться к кому-то по IP, вам нужно будет спросить хост о его IP-адресе.
|
||||||
text.hostserver=Запустить сервер
|
text.hostserver=Запустить сервер
|
||||||
text.host=Сервер
|
text.host=Сервер
|
||||||
text.hosting=[accent]Открытие сервера...
|
text.hosting=[accent]Открытие сервера...
|
||||||
@@ -52,6 +87,7 @@ text.trace.id=Уникальный идентификатор: [accent]{0}
|
|||||||
text.trace.android=Клиент Android: [accent]{0}
|
text.trace.android=Клиент Android: [accent]{0}
|
||||||
text.trace.modclient=Пользовательский клиент: [accent]{0}
|
text.trace.modclient=Пользовательский клиент: [accent]{0}
|
||||||
text.trace.totalblocksbroken=Всего разбитых блоков: [accent]{0}
|
text.trace.totalblocksbroken=Всего разбитых блоков: [accent]{0}
|
||||||
|
text.trace.structureblocksbroken=Структурных блоков сломано: [accent]{0}
|
||||||
text.trace.lastblockbroken=Последний сломанный блок:[accent]{0}
|
text.trace.lastblockbroken=Последний сломанный блок:[accent]{0}
|
||||||
text.trace.totalblocksplaced=Всего размещено блоков: [accent]{0}
|
text.trace.totalblocksplaced=Всего размещено блоков: [accent]{0}
|
||||||
text.trace.lastblockplaced=Последний размещенный блок: [accent]{0}
|
text.trace.lastblockplaced=Последний размещенный блок: [accent]{0}
|
||||||
@@ -83,6 +119,7 @@ text.server.port=Порт:
|
|||||||
text.server.addressinuse=Адрес уже используется!
|
text.server.addressinuse=Адрес уже используется!
|
||||||
text.server.invalidport=Неверный номер порта!
|
text.server.invalidport=Неверный номер порта!
|
||||||
text.server.error=[crimson]Ошибка создания сервера: [orange] {0}
|
text.server.error=[crimson]Ошибка создания сервера: [orange] {0}
|
||||||
|
text.save.old=Это сохранение для более старой версии игры и больше не может использоваться.\n\n[LIGHT_GRAY]Сохранение обратной совместимости будет реализовано в полной версии 4.0.
|
||||||
text.save.new=Новое сохранение
|
text.save.new=Новое сохранение
|
||||||
text.save.overwrite=Вы уверены,что хотите перезаписать этот слот для сохранения?
|
text.save.overwrite=Вы уверены,что хотите перезаписать этот слот для сохранения?
|
||||||
text.overwrite=Перезаписать
|
text.overwrite=Перезаписать
|
||||||
@@ -91,7 +128,7 @@ text.saveload=[accent]Сохранение...
|
|||||||
text.savefail=Не удалось сохранить игру!
|
text.savefail=Не удалось сохранить игру!
|
||||||
text.save.delete.confirm=Вы уверены,что хотите удалить это сохранение?
|
text.save.delete.confirm=Вы уверены,что хотите удалить это сохранение?
|
||||||
text.save.delete=Удалить
|
text.save.delete=Удалить
|
||||||
text.save.export=Отправить сохранение
|
text.save.export=Экспортировать сохранение
|
||||||
text.save.import.invalid=[orange]Это сохранение недействительно!
|
text.save.import.invalid=[orange]Это сохранение недействительно!
|
||||||
text.save.import.fail=[crimson]Не удалось импортировать сохранение: [orange] {0}
|
text.save.import.fail=[crimson]Не удалось импортировать сохранение: [orange] {0}
|
||||||
text.save.export.fail=[crimson]Не удалось отправить сохранение: [orange] {0}
|
text.save.export.fail=[crimson]Не удалось отправить сохранение: [orange] {0}
|
||||||
@@ -101,7 +138,8 @@ text.save.rename=Переименовывать
|
|||||||
text.save.rename.text=Новое название:
|
text.save.rename.text=Новое название:
|
||||||
text.selectslot=Выберите сохранение.
|
text.selectslot=Выберите сохранение.
|
||||||
text.slot=[accent]Слот {0}
|
text.slot=[accent]Слот {0}
|
||||||
text.save.corrupted=[orange]Файл сохранения поврежден или имеет недействительный формат!
|
text.save.corrupted=[orange]Сохранённый файл повреждён или имеет недействительный формат!\nЕсли вы только что обновили свою игру, это, вероятно, изменение формата сохранения[scarlet], а не []ошибка.
|
||||||
|
text.sector.corrupted=[orange] Файл сохранения для этого сектора был найден, но загрузка не удалась.\nСоздан новый.
|
||||||
text.empty=<Пусто>
|
text.empty=<Пусто>
|
||||||
text.on=Вкл
|
text.on=Вкл
|
||||||
text.off=Выкл
|
text.off=Выкл
|
||||||
@@ -110,6 +148,7 @@ text.save.map=Карта: {0}
|
|||||||
text.save.wave=Волна: {0}
|
text.save.wave=Волна: {0}
|
||||||
text.save.difficulty=Сложность: {0}
|
text.save.difficulty=Сложность: {0}
|
||||||
text.save.date=Последнее сохранение: {0}
|
text.save.date=Последнее сохранение: {0}
|
||||||
|
text.save.playtime=Время в игре: {0}
|
||||||
text.confirm=Подтвердить
|
text.confirm=Подтвердить
|
||||||
text.delete=Удалить
|
text.delete=Удалить
|
||||||
text.ok=ОК
|
text.ok=ОК
|
||||||
@@ -127,6 +166,7 @@ text.changelog.error=[scarlet]Ошибка при получении измен
|
|||||||
text.changelog.current=[yellow][[Текущая версия]
|
text.changelog.current=[yellow][[Текущая версия]
|
||||||
text.changelog.latest=[orange][[Последняя версия]
|
text.changelog.latest=[orange][[Последняя версия]
|
||||||
text.loading=[accent] Загрузка...
|
text.loading=[accent] Загрузка...
|
||||||
|
text.saving=[accent]Сохранение..
|
||||||
text.wave=[orange]Волна {0}
|
text.wave=[orange]Волна {0}
|
||||||
text.wave.waiting=Волна через {0}
|
text.wave.waiting=Волна через {0}
|
||||||
text.waiting=Ожидание...
|
text.waiting=Ожидание...
|
||||||
@@ -134,6 +174,23 @@ text.enemies={0} Противников
|
|||||||
text.enemies.single={0} Противник
|
text.enemies.single={0} Противник
|
||||||
text.loadimage=Загрузить изображение
|
text.loadimage=Загрузить изображение
|
||||||
text.saveimage=Сохранить изображение
|
text.saveimage=Сохранить изображение
|
||||||
|
text.unknown=Неизвестный
|
||||||
|
text.custom=Клиентский
|
||||||
|
text.builtin=Встроенный
|
||||||
|
text.map.delete.confirm=Вы действительно хотите удалить эту карту? Это действие не может быть отменено!
|
||||||
|
text.map.random=[accent]Случайная карта
|
||||||
|
text.map.nospawn=Эта карта не имеет ядер, в которых игрок может появиться! Добавьте [ROYAL]blue[] ядро в эту карте в редакторе карт.
|
||||||
|
text.editor.brush=Кисть
|
||||||
|
text.editor.slope=\\
|
||||||
|
text.editor.openin=Открыть в редакторе
|
||||||
|
text.editor.oregen=Генерация Руд
|
||||||
|
text.editor.oregen.info=Генерация Руд:
|
||||||
|
text.editor.mapinfo=Информация о карте
|
||||||
|
text.editor.author=Автор:
|
||||||
|
text.editor.description=Описание:
|
||||||
|
text.editor.name=Ник:
|
||||||
|
text.editor.teams=Команды
|
||||||
|
text.editor.elevation=возвышение
|
||||||
text.editor.badsize=[orange]Недопустимый формат изображения! [] \nДопустимый формат карты: {0}
|
text.editor.badsize=[orange]Недопустимый формат изображения! [] \nДопустимый формат карты: {0}
|
||||||
text.editor.errorimageload=Ошибка загрузки изображения: [orange] {0}
|
text.editor.errorimageload=Ошибка загрузки изображения: [orange] {0}
|
||||||
text.editor.errorimagesave=Ошибка сохранения изображения: [orange] {0}
|
text.editor.errorimagesave=Ошибка сохранения изображения: [orange] {0}
|
||||||
@@ -141,12 +198,29 @@ text.editor.generate=Создать
|
|||||||
text.editor.resize=Изменить \nразмер
|
text.editor.resize=Изменить \nразмер
|
||||||
text.editor.loadmap=Загрузить\nкарту
|
text.editor.loadmap=Загрузить\nкарту
|
||||||
text.editor.savemap=Сохранить\nкарту
|
text.editor.savemap=Сохранить\nкарту
|
||||||
|
text.editor.saved=Сохранено!
|
||||||
|
text.editor.save.noname=У вашей карты нет названия! Установите его в меню «Информация о карте».
|
||||||
|
text.editor.save.overwrite=Ваша карта перезаписывает встроенную карту! Выберите другое имя в меню 'Информация о карте'.
|
||||||
|
text.editor.import.exists=[scarlet]Не удалось импортировать: [] уже существует встроенная карта с именем '{0}' !
|
||||||
|
text.editor.import=Импорт...
|
||||||
|
text.editor.importmap=Импорт карты
|
||||||
|
text.editor.importmap.description=Импортировать уже существующую карту
|
||||||
|
text.editor.importfile=Импорт файла
|
||||||
|
text.editor.importfile.description=Импортировать внешний файл карты
|
||||||
|
text.editor.importimage=Импортировать изображение ландшафта
|
||||||
|
text.editor.importimage.description=Импорт внешнего файла изображения карты
|
||||||
|
text.editor.export=Экспорт...
|
||||||
|
text.editor.exportfile=Экспортировать файл
|
||||||
|
text.editor.exportfile.description=Экспорт файла карты
|
||||||
|
text.editor.exportimage=Экспортировать изображение ландшафта
|
||||||
|
text.editor.exportimage.description=Экспортировать файл изображения карты
|
||||||
text.editor.loadimage=Загрузить \nизображение
|
text.editor.loadimage=Загрузить \nизображение
|
||||||
text.editor.saveimage=Сохранить \nизображение
|
text.editor.saveimage=Сохранить \nизображение
|
||||||
text.editor.unsaved=[scarlet]У вас есть не сохраненные изменения![] \nВы уверены,что хотите выйти?
|
text.editor.unsaved=[scarlet]У вас есть несохраненные изменения![] \nВы уверены,что хотите выйти?
|
||||||
text.editor.resizemap=Изменить размер карты
|
text.editor.resizemap=Изменить размер карты
|
||||||
text.editor.mapname=Название карты:
|
text.editor.mapname=Название карты:
|
||||||
text.editor.overwrite=[accent]Внимание! \nЭто перезапишет уже существующую карту.
|
text.editor.overwrite=[accent]Внимание! \nЭто перезапишет уже существующую карту.
|
||||||
|
text.editor.overwrite.confirm=[scarlet]Осторожно![] Карта с таким названием уже существует. Вы действительно хотите её перезаписать?
|
||||||
text.editor.selectmap=Выберите карту для загрузки:
|
text.editor.selectmap=Выберите карту для загрузки:
|
||||||
text.width=Ширина:
|
text.width=Ширина:
|
||||||
text.height=Высота:
|
text.height=Высота:
|
||||||
@@ -154,6 +228,9 @@ text.menu=Меню
|
|||||||
text.play=Играть
|
text.play=Играть
|
||||||
text.load=Загрузить
|
text.load=Загрузить
|
||||||
text.save=Сохранить
|
text.save=Сохранить
|
||||||
|
text.fps=FPS: {0}
|
||||||
|
text.tps=TPS: {0}
|
||||||
|
text.ping=Пинг: {0} мс
|
||||||
text.language.restart=Перезагрузите игру, чтобы настройки языка вступили в силу.
|
text.language.restart=Перезагрузите игру, чтобы настройки языка вступили в силу.
|
||||||
text.settings.language=Язык
|
text.settings.language=Язык
|
||||||
text.settings=Настройки
|
text.settings=Настройки
|
||||||
@@ -162,39 +239,82 @@ text.editor=Редактор
|
|||||||
text.mapeditor=Редактор карт
|
text.mapeditor=Редактор карт
|
||||||
text.donate=Донат
|
text.donate=Донат
|
||||||
text.settings.reset=Сбросить по умолчанию
|
text.settings.reset=Сбросить по умолчанию
|
||||||
|
text.settings.rebind=Переназначить
|
||||||
text.settings.controls=Управление
|
text.settings.controls=Управление
|
||||||
text.settings.game=Игра
|
text.settings.game=Игра
|
||||||
text.settings.sound=Звук
|
text.settings.sound=Звук
|
||||||
text.settings.graphics=Графика
|
text.settings.graphics=Графика
|
||||||
text.upgrades=Улучшения
|
|
||||||
text.purchased=[LIME]Создан!
|
|
||||||
text.weapons=Оружие
|
|
||||||
text.paused=Пауза
|
text.paused=Пауза
|
||||||
|
text.yes=Да
|
||||||
|
text.no=Нет
|
||||||
text.info.title=[accent]Информация
|
text.info.title=[accent]Информация
|
||||||
text.error.title=[crimson]Произошла ошибка
|
text.error.title=[crimson]Произошла ошибка
|
||||||
text.error.crashtitle=Произошла ошибка
|
text.error.crashtitle=Произошла ошибка
|
||||||
text.blocks.blockinfo=Информация о блоке
|
text.blocks.blockinfo=Информация о блоке
|
||||||
text.blocks.powercapacity=Вместимость энергии
|
text.blocks.powercapacity=Вместимость энергии
|
||||||
text.blocks.powershot=Энергия / выстрел
|
text.blocks.powershot=Энергия/выстрел
|
||||||
|
text.blocks.targetsair=Атакует воздуш. юнитов?
|
||||||
|
text.blocks.itemspeed=Перемещение единиц
|
||||||
|
text.blocks.shootrange=Радиус действия
|
||||||
text.blocks.size=Размер
|
text.blocks.size=Размер
|
||||||
text.blocks.liquidcapacity=Вместимость жидкости
|
text.blocks.liquidcapacity=Вместимость жидкости
|
||||||
text.blocks.maxitemssecond=Макс. Количество предметов / в секунду
|
text.blocks.maxitemssecond=Макс. количество предметов/секунду
|
||||||
text.blocks.powerrange=Диапазон мощности энергии
|
text.blocks.powerrange=Диапазон мощности энергии
|
||||||
|
text.blocks.poweruse=Энергии используется
|
||||||
|
text.blocks.inputitemcapacity=Ёмкость входных элементов
|
||||||
|
text.blocks.outputitemcapacity=Ёмкость выходных элементов
|
||||||
text.blocks.itemcapacity=Вместимость предметов
|
text.blocks.itemcapacity=Вместимость предметов
|
||||||
|
text.blocks.maxpowergeneration=Максимальная мощность
|
||||||
|
text.blocks.powertransferspeed=Передача энергии
|
||||||
|
text.blocks.craftspeed=Скорость производства
|
||||||
text.blocks.inputliquid=Прием жидкости
|
text.blocks.inputliquid=Прием жидкости
|
||||||
text.blocks.inputitem=Прием предмета
|
text.blocks.inputliquidaux=Вспом. жидкость
|
||||||
|
text.blocks.inputitem=Входной предмет
|
||||||
|
text.blocks.inputitems=Входные предметы
|
||||||
|
text.blocks.outputitem=Выходной предмет
|
||||||
|
text.blocks.drilltier=Добывает
|
||||||
|
text.blocks.drillspeed=Базовая скорость сверления
|
||||||
|
text.blocks.liquidoutput=Выходная жидкость
|
||||||
|
text.blocks.liquiduse=Используется жидкости
|
||||||
|
text.blocks.coolant=Охлаждающая жидкость
|
||||||
|
text.blocks.coolantuse=Охлажд. жидк. используется
|
||||||
|
text.blocks.inputliquidfuel=Жидкое топливо
|
||||||
|
text.blocks.liquidfueluse=Жидкого топлива используется
|
||||||
text.blocks.explosive=Взрывоопасно!
|
text.blocks.explosive=Взрывоопасно!
|
||||||
text.blocks.health=Здоровье
|
text.blocks.health=Здоровье
|
||||||
text.blocks.inaccuracy=Разброс
|
text.blocks.inaccuracy=Разброс
|
||||||
text.blocks.shots=Выстрелы
|
text.blocks.shots=Выстрелы
|
||||||
|
text.blocks.reload=Перезарядка
|
||||||
|
text.blocks.inputfuel=Принимает топливо
|
||||||
|
text.blocks.fuelburntime=Время горения топлива
|
||||||
text.blocks.inputcapacity=Вместимость ввода
|
text.blocks.inputcapacity=Вместимость ввода
|
||||||
text.blocks.outputcapacity=Вместимость вывода
|
text.blocks.outputcapacity=Вместимость вывода
|
||||||
|
text.unit.blocks=блоки
|
||||||
|
text.unit.powersecond=единиц энергии/секунду
|
||||||
|
text.unit.liquidsecond=жидкостных единиц/секунду
|
||||||
|
text.unit.itemssecond=предметов/секунду
|
||||||
|
text.unit.pixelssecond=пикселей/секунду
|
||||||
|
text.unit.liquidunits=жидкостных единиц
|
||||||
|
text.unit.powerunits=энерг. единиц
|
||||||
|
text.unit.degrees=град.
|
||||||
|
text.unit.seconds=сек.
|
||||||
|
text.unit.none=
|
||||||
|
text.unit.items=предм.
|
||||||
|
text.category.general=Общие
|
||||||
|
text.category.power=Энергия
|
||||||
|
text.category.liquids=Жидкости
|
||||||
|
text.category.items=Предметы
|
||||||
|
text.category.crafting=Создание
|
||||||
|
text.category.shooting=Cтрельба
|
||||||
|
setting.fpscap.name=Макс. FPS
|
||||||
|
setting.fpscap.none=Ничто
|
||||||
|
setting.fpscap.text={0} FPS
|
||||||
setting.difficulty.easy=легко
|
setting.difficulty.easy=легко
|
||||||
setting.difficulty.normal=нормально
|
setting.difficulty.normal=нормально
|
||||||
setting.difficulty.hard=тяжело
|
setting.difficulty.hard=тяжело
|
||||||
setting.difficulty.insane=нереально
|
setting.difficulty.insane=безумно
|
||||||
setting.difficulty.purge=зачистка
|
setting.difficulty.purge=зачистка
|
||||||
setting.difficulty.name=Сложность
|
setting.difficulty.name=Сложность:
|
||||||
setting.screenshake.name=Дрожание экрана
|
setting.screenshake.name=Дрожание экрана
|
||||||
setting.indicators.name=Индикаторы противников
|
setting.indicators.name=Индикаторы противников
|
||||||
setting.effects.name=Эффекты на экране
|
setting.effects.name=Эффекты на экране
|
||||||
@@ -207,297 +327,196 @@ setting.fps.name=Показать FPS
|
|||||||
setting.vsync.name=Верт. синхронизация
|
setting.vsync.name=Верт. синхронизация
|
||||||
setting.lasers.name=Показывать энергетические лазеры
|
setting.lasers.name=Показывать энергетические лазеры
|
||||||
setting.healthbars.name=Показать полоски здоровья объекта
|
setting.healthbars.name=Показать полоски здоровья объекта
|
||||||
|
setting.minimap.name=Показать миникарту
|
||||||
setting.musicvol.name=Громкость музыки
|
setting.musicvol.name=Громкость музыки
|
||||||
setting.mutemusic.name=Заглушить музыку
|
setting.mutemusic.name=Заглушить музыку
|
||||||
setting.sfxvol.name=Громкость звуковых эффектов
|
setting.sfxvol.name=Громкость звуковых эффектов
|
||||||
setting.mutesound.name=Заглушить звук
|
setting.mutesound.name=Заглушить звук
|
||||||
map.maze.name=лабиринт
|
|
||||||
map.fortress.name=крепость
|
|
||||||
map.sinkhole.name=раковина
|
|
||||||
map.caves.name=пещеры
|
|
||||||
map.volcano.name=вулкан
|
|
||||||
map.caldera.name=кальдера
|
|
||||||
map.scorch.name=горение
|
|
||||||
map.desert.name=пустыня
|
|
||||||
map.island.name=остров
|
|
||||||
map.grassland.name=луг
|
|
||||||
map.tundra.name=тундра
|
|
||||||
map.spiral.name=спираль
|
|
||||||
map.tutorial.name=обучение
|
|
||||||
text.keybind.title=Переназначить клавиши
|
text.keybind.title=Переназначить клавиши
|
||||||
keybind.move_x.name=движение_x
|
keybind.move_x.name=Движение x
|
||||||
keybind.move_y.name=движение_y
|
keybind.move_y.name=Движение y
|
||||||
keybind.select.name=выбрать
|
keybind.select.name=выбрать
|
||||||
keybind.break.name=Разрушить
|
keybind.break.name=Разрушить
|
||||||
keybind.shoot.name=стрельба
|
keybind.shoot.name=Выстрел
|
||||||
keybind.zoom_hold.name=удержание_зума
|
keybind.zoom_hold.name=Удержание зума
|
||||||
keybind.zoom.name=Приблизить
|
keybind.zoom.name=Приблизить
|
||||||
keybind.block_info.name=инфо_о_блоке
|
|
||||||
keybind.menu.name=Меню
|
keybind.menu.name=Меню
|
||||||
keybind.pause.name=Пауза
|
keybind.pause.name=Пауза
|
||||||
keybind.dash.name=Рывок
|
keybind.dash.name=Рывок
|
||||||
keybind.chat.name=Чат
|
keybind.chat.name=Чат
|
||||||
keybind.player_list.name=список_игроков
|
keybind.player_list.name=Список игроков
|
||||||
keybind.console.name=консоль
|
keybind.console.name=Консоль
|
||||||
keybind.rotate_alt.name=вращать_alt
|
keybind.rotate.name=Вращать
|
||||||
keybind.rotate.name=вращать
|
|
||||||
mode.text.help.title=Описание режимов
|
mode.text.help.title=Описание режимов
|
||||||
mode.waves.name=волны
|
mode.waves.name=волны
|
||||||
mode.waves.description=в нормальном режиме. ограниченные ресурсы и автоматические наступающие волны.
|
mode.waves.description=в нормальном режиме. ограниченные ресурсы и автоматические наступающие волны.
|
||||||
mode.sandbox.name=песочница
|
mode.sandbox.name=песочница
|
||||||
mode.sandbox.description=бесконечные ресурсы и нет таймера для волн.
|
mode.sandbox.description=бесконечные ресурсы и нет таймера для волн.
|
||||||
|
mode.sandbox.warning=Обратите внимание, что блоки нельзя использовать в режиме песочницы, пока они не будут разблокированы в других режимах.\n\n[LIGHT_GRAY] Если вы не разблокировали какие-либо блоки, ни один из них не появится.
|
||||||
mode.freebuild.name=свободная\nстройка
|
mode.freebuild.name=свободная\nстройка
|
||||||
mode.freebuild.description=ограниченные ресурсы и нет таймера для волн.
|
mode.freebuild.description=ограниченные ресурсы и нет таймера для волн.
|
||||||
item.stone.name=камень
|
content.item.name=Предметы
|
||||||
|
content.liquid.name=Жидкости
|
||||||
|
content.unit-type.name=Боевые единицы
|
||||||
|
content.recipe.name=Блоки
|
||||||
|
item.stone.name=Камень
|
||||||
|
item.stone.description=Обычное сырье. Используется для разделения и переработки в другие материалы или плавления в лаву.
|
||||||
|
item.tungsten.name=Вольфрам
|
||||||
|
item.tungsten.description=Обычный, но очень полезный строительный материал . Используется в бурах и теплостойких блоках, таких как генераторы и плавильные печи.
|
||||||
|
item.lead.name=Свинец
|
||||||
|
item.lead.description=Основной начальный материал. Широко используется в блоках электроники и транспортировки жидкости.
|
||||||
item.coal.name=Уголь
|
item.coal.name=Уголь
|
||||||
item.titanium.name=титан
|
item.coal.description=Распростанённое и легкодоступное топливо.
|
||||||
item.thorium.name=уран
|
item.carbide.name=Карбид
|
||||||
item.sand.name=песок
|
item.carbide.description=Жёсткий сплав, изготовленный из вольфрама и угля. Используется в передовых транспортных блоках и высокоуровневых бурах.
|
||||||
|
item.titanium.name=Титан
|
||||||
|
item.titanium.description=Редкий сверхлёгкий металл широко используется в транспортировке, бурах и самолётах.
|
||||||
|
item.thorium.name=Торий
|
||||||
|
item.thorium.description=Плотный радиоактивный металл используется в качестве структурной поддержки и ядерного топлива.
|
||||||
|
item.silicon.name=Кремень
|
||||||
|
item.silcion.description=Очень полезный полупроводник с применениями в солнечных батареях и множестве сложной электроники.
|
||||||
|
item.plastanium.name=Пластиний
|
||||||
|
item.plastanium.description=Легкий, пластичный материал, используемый в современных самолетах и боеприпасах для фрагментации.
|
||||||
|
item.phase-matter.name=Фазовая материя
|
||||||
|
item.surge-alloy.name=Волнистый сплав
|
||||||
|
item.biomatter.name=Биоматерия
|
||||||
|
item.biomatter.description=Скопление органической каши; используется для превращения в нефть или в качестве основного топлива.
|
||||||
|
item.sand.name=Песок
|
||||||
|
item.sand.description=Обычный материал, который широко используется при плавке как в сплаве, так и в виде шлака.
|
||||||
|
item.blast-compound.name=Взрывоопасное соединение
|
||||||
|
item.blast-compound.description=Летучее соединение, используемое в бомбах и взрывчатых веществах. Хотя это может сгореть в качестве топлива, но не рекомендуется этого делать.
|
||||||
|
item.pyratite.name=Пиротит
|
||||||
|
item.pyratite.description=Очень огнеопасное вещество, используемое в зажигательном оружии.
|
||||||
liquid.water.name=Вода
|
liquid.water.name=Вода
|
||||||
liquid.lava.name=лава
|
liquid.lava.name=Лава
|
||||||
liquid.oil.name=Нефть
|
liquid.oil.name=Нефть
|
||||||
block.door.name=дверь
|
liquid.cryofluid.name=Криогенная жидкость
|
||||||
block.door-large.name=большая дверь
|
text.item.explosiveness=[LIGHT_GRAY]Взрывоопасность: {0}
|
||||||
block.conduit.name=трубопровод
|
text.item.flammability=[LIGHT_GRAY]Воспламеняемость: {0}
|
||||||
block.pulseconduit.name=импульсный трубопровод
|
text.item.radioactivity=[LIGHT_GRAY]Радиоактивность: {0}
|
||||||
block.liquidrouter.name=Маршрутизатор житкостей
|
text.item.fluxiness=[LIGHT_GRAY]Осадочность: {0}
|
||||||
block.conveyor.name=конвейер
|
text.item.hardness=[LIGHT_GRAY]Прочность: {0}
|
||||||
|
text.unit.health=[LIGHT_GRAY]Здоровье: {0}
|
||||||
|
text.unit.speed=[LIGHT_GRAY]Скорость: {0}
|
||||||
|
text.liquid.heatcapacity=[LIGHT_GRAY]Теплоёмкость: {0}
|
||||||
|
text.liquid.viscosity=[LIGHT_GRAY]Вязкость: {0}
|
||||||
|
text.liquid.temperature=[LIGHT_GRAY]Температура: {0}
|
||||||
|
block.tungsten-wall.name=Вольфрамовая стена
|
||||||
|
block.tungsten-wall-large.name=Большая вольфрамовая стена
|
||||||
|
block.carbide-wall.name=Карбидная стена
|
||||||
|
block.carbide-wall-large.name=Большая карбидная стена
|
||||||
|
block.thorium-wall.name=Ториевая стена
|
||||||
|
block.thorium-wall-large.name=Большая ториевая стена
|
||||||
|
block.door.name=Дверь
|
||||||
|
block.door-large.name=Большая дверь
|
||||||
|
block.duo.name=Двойная
|
||||||
|
block.scorch.name=Обжигатель
|
||||||
|
block.hail.name=Град
|
||||||
|
block.lancer.name=Копейщик
|
||||||
|
block.conveyor.name=Конвейер
|
||||||
|
block.titanium-conveyor.name=Титановый конвейер
|
||||||
|
block.junction.name=Перекрёсток
|
||||||
|
block.splitter.name=Разветвитель
|
||||||
|
block.splitter.description=Выводит предметы на два противоположных направления сразу после их получения.
|
||||||
block.router.name=Маршрутизатор
|
block.router.name=Маршрутизатор
|
||||||
block.junction.name=Перекресток
|
block.router.description=Распределяет предметы во все 4 направления. Может хранить элементы как буфера.
|
||||||
block.liquidjunction.name=Перекресток для жидкостей
|
block.distributor.name=Распределитель
|
||||||
block.sorter.name=сортировщик
|
block.distributor.description=Разветвитель, который может распределять предметы на 8 направлений.
|
||||||
|
block.sorter.name=Сортировщик
|
||||||
|
block.sorter.description=Сортирует предметы. Если предмет соответствует выбранному, то ему можно пройти. В противном случае элемент выводится слева и справа.
|
||||||
|
block.overflow-gate.name=Избыточный затвор
|
||||||
|
block.overflow-gate.description=Комбинированный разветвитель и маршрутизатор, который выводится только слева и справа, если передний путь заблокирован.
|
||||||
|
block.bridgeconveyor.name=Мостовой конвейер
|
||||||
|
block.bridgeconveyor.description=Конвейер, который может переходить через другие блоки, до двух блоков в сумме.
|
||||||
block.smelter.name=Плавильный завод
|
block.smelter.name=Плавильный завод
|
||||||
text.web.unsupported=The web version does not support this feature! Download the game to use it.
|
block.arc-smelter.name=Дуговая печь
|
||||||
text.host.web=The web version does not support hosting games! Download the game to use this feature.
|
block.silicon-smelter.name=Кремниевый плавильный завод
|
||||||
text.map.delete=Are you sure you want to delete the map "[orange]{0}[]"?
|
block.phase-weaver.name=Фазовый ткач
|
||||||
text.construction.title=Block Construction Guide
|
block.pulverizer.name=Распылитель
|
||||||
text.construction=You've just selected [accent]block construction mode[].\n\nTo begin placing, simply tap a valid location near your ship.\nOnce you have selected some blocks, press the checkbox to confirm, and your ship will begin constructing them.\n\n- [accent]Remove blocks[] from your selection by tapping them.\n- [accent]Shift the selection[] by holding and dragging any block in the selection.\n- [accent]Place blocks in a line[] by tapping and holding an empty spot, then dragging in a direction.\n- [accent]Cancel construction or selection[] by pressing the X at the bottom left.
|
block.cryofluidmixer.name=Смеситель для криогенных жидкостей
|
||||||
text.deconstruction.title=Block Deconstruction Guide
|
block.melter.name=Плавильня
|
||||||
text.deconstruction=You've just selected [accent]block deconstruction mode[].\n\nTo begin breaking, simply tap a block near your ship.\nOnce you have selected some blocks, press the checkbox to confirm, and your ship will begin de-constructing them.\n\n- [accent]Remove blocks[] from your selection by tapping them.\n- [accent]Remove blocks in an area[] by tapping and holding an empty spot, then dragging in a direction.\n- [accent]Cancel deconstruction or selection[] by pressing the X at the bottom left.
|
block.incinerator.name=Мусоросжигательная печь
|
||||||
text.showagain=Don't show again next session
|
block.biomattercompressor.name=Компрессор биоматерии
|
||||||
text.unlocks=Unlocks
|
block.separator.name=Разделитель
|
||||||
text.addplayers=Add/Remove Players
|
block.centrifuge.name=Центрифуга
|
||||||
text.maps=Maps
|
block.power-node.name=Силовой узел
|
||||||
text.maps.none=[LIGHT_GRAY]No maps found!
|
block.power-node-large.name=Большой силовой узел
|
||||||
text.unlocked=New Block Unlocked!
|
block.battery.name=Аккумулятор
|
||||||
text.unlocked.plural=New Blocks Unlocked!
|
block.battery-large.name=Большой аккумулятор
|
||||||
text.server.kicked.nameInUse=There is someone with that name\nalready on this server.
|
block.combustion-generator.name=Генератор внутреннего сгорания
|
||||||
text.server.kicked.nameEmpty=Your name must contain at least one character or number.
|
block.turbine-generator.name=Турбинный генератор
|
||||||
text.server.kicked.idInUse=You are already on this server! Connecting with two accounts is not permitted.
|
block.tungsten-drill.name=Вольфрамовый бур
|
||||||
text.server.kicked.customClient=This server does not support custom builds. Download an official version.
|
block.carbide-drill.name=Карбидовый бур
|
||||||
text.trace.structureblocksbroken=Structure blocks broken: [accent]{0}
|
block.laser-drill.name=Лазерный бур
|
||||||
text.saving=[accent]Saving...
|
block.water-extractor.name=Экстрактор воды
|
||||||
text.unknown=Unknown
|
block.cultivator.name=Культиватор
|
||||||
text.custom=Custom
|
block.dart-ship-factory.name=Завод дротиковых самолётов
|
||||||
text.builtin=Built-In
|
block.delta-mech-factory.name=Завод механического дельта броневика
|
||||||
text.map.delete.confirm=Are you sure you want to delete this map? This action cannot be undone!
|
block.repairpoint.name=Ремонтная точка
|
||||||
text.map.random=[accent]Random Map
|
block.resupplypoint.name=Точка снабжения
|
||||||
text.map.nospawn=This map does not have any cores for the player to spawn in! Add a [ROYAL]blue[] core to this map in the editor.
|
block.conduit.name=Трубопровод
|
||||||
text.editor.slope=\\
|
block.pulseconduit.name=Импульсный трубопровод
|
||||||
text.editor.openin=Open In Editor
|
block.liquidrouter.name=Маршрутизатор жидкостей
|
||||||
text.editor.oregen=Ore Generation
|
block.liquidtank.name=Жидкостный резервуар
|
||||||
text.editor.oregen.info=Ore Generation:
|
block.liquidjunction.name=Перекресток для жидкостей
|
||||||
text.editor.mapinfo=Map Info
|
block.bridgeconduit.name=Мостовой трубопровод
|
||||||
text.editor.author=Author:
|
block.mechanical-pump.name=Механическая помпа
|
||||||
text.editor.description=Description:
|
block.itemsource.name=Источник предметов
|
||||||
text.editor.name=Name:
|
block.itemvoid.name=Предметный вакуум
|
||||||
text.editor.teams=Teams
|
block.liquidsource.name=Источник жидкостей
|
||||||
text.editor.elevation=Elevation
|
block.powervoid.name=Энергитический вакуум
|
||||||
text.editor.saved=Saved!
|
block.powerinfinite.name=Бесконечная энергия
|
||||||
text.editor.save.noname=Your map does not have a name! Set one in the 'map info' menu.
|
block.unloader.name=Разгрузчик
|
||||||
text.editor.save.overwrite=Your map overwrites a built-in map! Pick a different name in the 'map info' menu.
|
block.sortedunloader.name=Сортированный разгрузчик
|
||||||
text.editor.import.exists=[scarlet]Unable to import:[] a built-in map named '{0}' already exists!
|
block.vault.name=Хранилище
|
||||||
text.editor.import=Import...
|
block.wave.name=Волна
|
||||||
text.editor.importmap=Import Map
|
block.swarmer.name=Зерг
|
||||||
text.editor.importmap.description=Import an already existing map
|
block.salvo.name=Залп
|
||||||
text.editor.importfile=Import File
|
block.ripple.name=Волнистость
|
||||||
text.editor.importfile.description=Import an external map file
|
block.phase-conveyor.name=Фазовый конвейер
|
||||||
text.editor.importimage=Import Terrain Image
|
block.bridge-conveyor.name=Мостовой конвейер
|
||||||
text.editor.importimage.description=Import an external map image file
|
block.plastanium-compressor.name=Пластиниевый компрессор
|
||||||
text.editor.export=Export...
|
block.pyratite-mixer.name=Смеситель пиротита
|
||||||
text.editor.exportfile=Export File
|
block.blast-mixer.name=Смеситель взрывоопасного соединения
|
||||||
text.editor.exportfile.description=Export a map file
|
block.solidifer.name=Отвердитель
|
||||||
text.editor.exportimage=Export Terrain Image
|
block.solar-panel.name=Солнечная панель
|
||||||
text.editor.exportimage.description=Export a map image file
|
block.solar-panel-large.name=Большая солнечная панель
|
||||||
text.editor.overwrite.confirm=[scarlet]Warning![] A map with this name already exists. Are you sure you want to overwrite it?
|
block.oil-extractor.name=Нефтяной экстрактор
|
||||||
text.fps=FPS: {0}
|
block.drone-pad.name=Стартовая площадка дронов
|
||||||
text.tps=TPS: {0}
|
block.fabricator-pad.name=Стартовая площадка сборщиков
|
||||||
text.ping=Ping: {0}ms
|
block.interceptor-pad.name=Стартовая площадка истребителей-перехватчиков
|
||||||
text.settings.rebind=Rebind
|
block.monsoon-pad.name=Стартовая площадка муссонов
|
||||||
text.yes=Yes
|
block.javelin-ship-factory.name=Фабрика кораблей класса "Копьё"
|
||||||
text.no=No
|
block.repair-point.name=Ремонтный пункт
|
||||||
text.blocks.targetsair=Targets Air
|
block.resupply-point.name=Точка снабжения
|
||||||
text.blocks.itemspeed=Units Moved
|
block.pulse-conduit.name=Импульсный трубопровод
|
||||||
text.blocks.shootrange=Range
|
block.phase-conduit.name=Фазовый трубопровод
|
||||||
text.blocks.poweruse=Power Use
|
block.liquid-router.name=Жидкостный маршрутизатор
|
||||||
text.blocks.inputitemcapacity=Input Item Capacity
|
block.liquid-tank.name=Жидкостный резервуар
|
||||||
text.blocks.outputitemcapacity=Input Item Capacity
|
block.liquid-junction.name=Жидкое соединение
|
||||||
text.blocks.maxpowergeneration=Max Power Generation
|
block.bridge-conduit.name=Мостовой трубопровод
|
||||||
text.blocks.powertransferspeed=Power Transfer
|
block.rotary-pump.name=Роторный насос
|
||||||
text.blocks.craftspeed=Production Speed
|
block.nuclear-reactor.name=Ядерный реактор
|
||||||
text.blocks.inputliquidaux=Aux Liquid
|
block.command-center.name=Командный центр
|
||||||
text.blocks.inputitems=Input Items
|
block.mass-driver.name=Электромагнитная катапульта
|
||||||
text.blocks.outputitem=Output Item
|
block.blast-drill.name=Буровая установка
|
||||||
text.blocks.drilltier=Drillables
|
block.thermal-pump.name=Тепловой насос
|
||||||
text.blocks.drillspeed=Base Drill Speed
|
block.dagger-pad.name=Стартовая площадка "Кинжал"
|
||||||
text.blocks.liquidoutput=Liquid Output
|
block.titan-pad.name=Стартовая площадка титанов
|
||||||
text.blocks.liquiduse=Liquid Use
|
block.thermal-generator.name=Термальный генератор
|
||||||
text.blocks.coolant=Coolant
|
unit.drone.name=Дрон
|
||||||
text.blocks.coolantuse=Coolant Use
|
unit.drone.description=Начальный дрон. По умолчанию появляется из ядра. Автоматически добывает руды, собирает предметы, ремонтирует блоки.
|
||||||
text.blocks.inputliquidfuel=Fuel Liquid
|
unit.fabricator.name=Сборщик
|
||||||
text.blocks.liquidfueluse=Liquid Fuel Use
|
unit.fabricator.description=Продвинутый дрон. Автоматически добывает руды, собирает предметы, ремонтирует блоки. Значительнее эффективней нежели обычный дрон
|
||||||
text.blocks.reload=Reload
|
unit.scout.name=Разведчик
|
||||||
text.blocks.inputfuel=Fuel
|
unit.scout.description=Основная наземная боевая единица. Использует свинец как боеприпасы.
|
||||||
text.blocks.fuelburntime=Fuel Burn Time
|
unit.titan.name=Титан
|
||||||
text.unit.blocks=blocks
|
unit.titan.description=Улучшенная бронированная наземная боевая единица. Использует карбид в качестве боеприпасов. Атакует наземные и воздушные цели.
|
||||||
text.unit.powersecond=power units/second
|
unit.monsoon.name=Муссон
|
||||||
text.unit.liquidsecond=liquid units/second
|
unit.monsoon.description=Тяжелый ковровый бомбардировщик. Использует взрывоопасное соединение или пиратит в качестве боеприпасов.
|
||||||
text.unit.itemssecond=items/second
|
unit.interceptor.name=Истребитель-перехватчик
|
||||||
text.unit.pixelssecond=pixels/second
|
unit.interceptor.description=Быстрая и ударная боевая единица, которая использует набег с отскоком. Использует свинец как боеприпасы.
|
||||||
text.unit.liquidunits=liquid units
|
block.thermal-pump.name=Thermal Pump
|
||||||
text.unit.powerunits=power units
|
block.dagger-pad.name=Dagger Pad
|
||||||
text.unit.degrees=degrees
|
block.titan-pad.name=Titan Pad
|
||||||
text.unit.seconds=seconds
|
block.thermal-generator.name=Thermal Generator
|
||||||
text.unit.none=
|
|
||||||
text.unit.items=items
|
|
||||||
text.category.general=General
|
|
||||||
text.category.power=Power
|
|
||||||
text.category.liquids=Liquids
|
|
||||||
text.category.items=Items
|
|
||||||
text.category.crafting=Crafting
|
|
||||||
text.category.shooting=Shooting
|
|
||||||
setting.minimap.name=Show Minimap
|
|
||||||
content.item.name=Items
|
|
||||||
content.liquid.name=Liquids
|
|
||||||
content.unit-type.name=Units
|
|
||||||
content.recipe.name=Blocks
|
|
||||||
item.stone.description=A common raw material. Used for separating and refining into other materials, or melting into lava.
|
|
||||||
item.tungsten.name=Tungsten
|
|
||||||
item.tungsten.description=A common, but very useful structure material. Used in drills and heat-resistant blocks such as generators and smelteries.
|
|
||||||
item.lead.name=Lead
|
|
||||||
item.lead.description=A basic starter material. Used extensively in electronics and liquid transportation blocks.
|
|
||||||
item.coal.description=A common and readily available fuel.
|
|
||||||
item.carbide.name=Carbide
|
|
||||||
item.carbide.description=A tough alloy made with tungsten and carbon. Used in advanced transportation blocks and high-tier drills.
|
|
||||||
item.titanium.description=A rare super-light metal used extensively in liquid transportation, drills and aircraft.
|
|
||||||
item.thorium.description=A dense, radioactive metal used as structural support and nuclear fuel.
|
|
||||||
item.silicon.name=Silicon
|
|
||||||
item.silcion.description=An extremely useful semiconductor, with applications in solar panels and many complex electronics.
|
|
||||||
item.plastanium.name=Plastanium
|
|
||||||
item.plastanium.description=A light, ductile material used in advanced aircraft and fragmentation ammunition.
|
|
||||||
item.phase-matter.name=Phase Matter
|
|
||||||
item.surge-alloy.name=Surge Alloy
|
|
||||||
item.biomatter.name=Biomatter
|
|
||||||
item.biomatter.description=A clump of organic mush; used for conversion into oil or as a basic fuel.
|
|
||||||
item.sand.description=A common material that is used extensively in smelting, both in alloying and as a flux.
|
|
||||||
item.blast-compound.name=Blast Compound
|
|
||||||
item.blast-compound.description=A volatile compound used in bombs and explosives. While it can burned as fuel, this is not advised.
|
|
||||||
item.pyratite.name=Pyratite
|
|
||||||
item.pyratite.description=An extremely flammable substance used in incendiary weapons.
|
|
||||||
liquid.cryofluid.name=Cryofluid
|
|
||||||
text.item.explosiveness=[LIGHT_GRAY]Explosiveness: {0}
|
|
||||||
text.item.flammability=[LIGHT_GRAY]Flammability: {0}
|
|
||||||
text.item.radioactivity=[LIGHT_GRAY]Radioactivity: {0}
|
|
||||||
text.item.fluxiness=[LIGHT_GRAY]Flux Power: {0}
|
|
||||||
text.item.hardness=[LIGHT_GRAY]Hardness: {0}
|
|
||||||
text.liquid.heatcapacity=[LIGHT_GRAY]Heat Capacity: {0}
|
|
||||||
text.liquid.viscosity=[LIGHT_GRAY]Viscosity: {0}
|
|
||||||
text.liquid.temperature=[LIGHT_GRAY]Temperature: {0}
|
|
||||||
block.tungsten-wall.name=Tungsten Wall
|
|
||||||
block.tungsten-wall-large.name=Large Tungsten Wall
|
|
||||||
block.carbide-wall.name=Carbide Wall
|
|
||||||
block.carbide-wall-large.name=Large Carbide Wall
|
|
||||||
block.thorium-wall.name=Thorium Wall
|
|
||||||
block.thorium-wall-large.name=Large Thorium Wall
|
|
||||||
block.duo.name=Duo
|
|
||||||
block.scorch.name=Scorch
|
|
||||||
block.hail.name=Hail
|
|
||||||
block.lancer.name=Lancer
|
|
||||||
block.titanium-conveyor.name=Titanium Conveyor
|
|
||||||
block.splitter.name=Splitter
|
|
||||||
block.splitter.description=Outputs items into two opposite directions immediately after they are recieved.
|
|
||||||
block.router.description=Splits items into all 4 directions. Can store items as a buffer.
|
|
||||||
block.distributor.name=Distributor
|
|
||||||
block.distributor.description=A splitter that can split items into 8 directions.
|
|
||||||
block.sorter.description=Sorts items. If an item matches the selection, it is allowed to pass. Otherwise, the item is outputted to the left and right.
|
|
||||||
block.overflow-gate.name=Overflow Gate
|
|
||||||
block.overflow-gate.description=A combination splitter and router that only outputs to the left and right if the front path is blocked.
|
|
||||||
block.bridgeconveyor.name=Bridge Conveyor
|
|
||||||
block.bridgeconveyor.description=A conveyor that can go over other blocks, for up to two total blocks.
|
|
||||||
block.arc-smelter.name=Arc Smelter
|
|
||||||
block.silicon-smelter.name=Silicon Smelter
|
|
||||||
block.phase-weaver.name=Phase Weaver
|
|
||||||
block.pulverizer.name=Pulverizer
|
|
||||||
block.cryofluidmixer.name=Cryofluid Mixer
|
|
||||||
block.melter.name=Melter
|
|
||||||
block.incinerator.name=Incinerator
|
|
||||||
block.biomattercompressor.name=Biomatter Compressor
|
|
||||||
block.separator.name=Separator
|
|
||||||
block.centrifuge.name=Centrifuge
|
|
||||||
block.power-node.name=Power Node
|
|
||||||
block.power-node-large.name=Large Power Node
|
|
||||||
block.battery.name=Battery
|
|
||||||
block.battery-large.name=Large Battery
|
|
||||||
block.combustion-generator.name=Combustion Generator
|
|
||||||
block.turbine-generator.name=Turbine Generator
|
|
||||||
block.tungsten-drill.name=Tungsten Drill
|
|
||||||
block.carbide-drill.name=Carbide Drill
|
|
||||||
block.laser-drill.name=Laser Drill
|
|
||||||
block.water-extractor.name=Water Extractor
|
|
||||||
block.cultivator.name=Cultivator
|
|
||||||
block.dart-ship-factory.name=Dart Ship Factory
|
|
||||||
block.delta-mech-factory.name=Delta Mech Factory
|
|
||||||
block.dronefactory.name=Drone Factory
|
|
||||||
block.repairpoint.name=Repair Point
|
|
||||||
block.resupplypoint.name=Resupply Point
|
|
||||||
block.liquidtank.name=Liquid Tank
|
|
||||||
block.bridgeconduit.name=Bridge Conduit
|
|
||||||
block.mechanical-pump.name=Mechanical Pump
|
|
||||||
block.itemsource.name=Item Source
|
|
||||||
block.itemvoid.name=Item Void
|
|
||||||
block.liquidsource.name=Liquid Source
|
|
||||||
block.powervoid.name=Power Void
|
|
||||||
block.powerinfinite.name=Power Infinite
|
|
||||||
block.unloader.name=Unloader
|
|
||||||
block.sortedunloader.name=Sorted Unloader
|
|
||||||
block.vault.name=Vault
|
|
||||||
block.wave.name=Wave
|
|
||||||
block.swarmer.name=Swarmer
|
|
||||||
block.salvo.name=Salvo
|
|
||||||
block.ripple.name=Ripple
|
|
||||||
block.phase-conveyor.name=Phase Conveyor
|
|
||||||
block.bridge-conveyor.name=Bridge Conveyor
|
|
||||||
block.plastanium-compressor.name=Plastanium Compressor
|
|
||||||
block.pyratite-mixer.name=Pyratite Mixer
|
|
||||||
block.blast-mixer.name=Blast Mixer
|
|
||||||
block.solidifer.name=Solidifer
|
|
||||||
block.solar-panel.name=Solar Panel
|
|
||||||
block.solar-panel-large.name=Large Solar Panel
|
|
||||||
block.oil-extractor.name=Oil Extractor
|
|
||||||
block.javelin-ship-factory.name=Javelin Ship factory
|
|
||||||
block.drone-factory.name=Drone Factory
|
|
||||||
block.fabricator-factory.name=Fabricator Factory
|
|
||||||
block.repair-point.name=Repair Point
|
|
||||||
block.resupply-point.name=Resupply Point
|
|
||||||
block.pulse-conduit.name=Pulse Conduit
|
|
||||||
block.phase-conduit.name=Phase Conduit
|
|
||||||
block.liquid-router.name=Liquid Router
|
|
||||||
block.liquid-tank.name=Liquid Tank
|
|
||||||
block.liquid-junction.name=Liquid Junction
|
|
||||||
block.bridge-conduit.name=Bridge Conduit
|
|
||||||
block.rotary-pump.name=Rotary Pump
|
|
||||||
block.nuclear-reactor.name=Nuclear Reactor
|
|
||||||
text.save.old=This save is for an older version of the game, and can no longer be used.\n\n[LIGHT_GRAY]Save backwards compatibility will be implemented in the full 4.0 release.
|
|
||||||
text.customgame=Custom Game
|
|
||||||
text.campaign=Campaign
|
|
||||||
text.sectors=Sectors
|
|
||||||
text.sector=Selected Sector: [LIGHT_GRAY]{0}
|
|
||||||
text.sector.time=Time: [LIGHT_GRAY]{0}
|
|
||||||
text.sector.deploy=Deploy
|
|
||||||
text.sector.resume=Resume
|
|
||||||
text.sector.unlocked=Sector completed!
|
|
||||||
text.sector.locked=[scarlet][[Incomplete]
|
|
||||||
text.sector.unexplored=[accent][[Unexplored]
|
|
||||||
text.close=Close
|
|
||||||
text.save.playtime=Playtime: {0}
|
|
||||||
text.editor.brush=Brush
|
|
||||||
|
|||||||
@@ -1,4 +1,3 @@
|
|||||||
text.about=[ROYAL] Anuken tarafından oluşturuldu [] - [SKY] anukendev@gmail.com [] Aslen [turuncu] GDL [] Metal Monstrosity Jam. Kredi: - [SARI] ile yapılan SFX bfxr [] - [YEŞİL] RoccoW tarafından yapılan müzik [] / [kireç] bulunan FreeMusicArchive.org [] Özel teşekkürler: - [mercan] MitchellFJN []: Kapsamlı oyun testi ve geri bildirim - [sky] Luxray5474 []: wiki çalışması, kod katkıları - [kireç] Epowerj []: kod sistemi yapılandırması, icon - itch.io ve Google Play'deki tüm beta test kullanıcıları\n
|
|
||||||
text.credits=Yapımcılar
|
text.credits=Yapımcılar
|
||||||
text.discord=Mindustry Discord'una katılın!
|
text.discord=Mindustry Discord'una katılın!
|
||||||
text.link.discord.description=Resmi Mindustry Discord iletişim kanalı
|
text.link.discord.description=Resmi Mindustry Discord iletişim kanalı
|
||||||
@@ -10,10 +9,8 @@ text.link.google-play.description=Google Play mağaza sayfası
|
|||||||
text.link.wiki.description=Resmi Mindustry Wikipedi'si
|
text.link.wiki.description=Resmi Mindustry Wikipedi'si
|
||||||
text.linkfail=Bağlantı açılamadı! URL, yazı tahtanıza kopyalandı.
|
text.linkfail=Bağlantı açılamadı! URL, yazı tahtanıza kopyalandı.
|
||||||
text.editor.web=Web sürümü editörü desteklemiyor! Editörü kullanmak için oyunu indirin.
|
text.editor.web=Web sürümü editörü desteklemiyor! Editörü kullanmak için oyunu indirin.
|
||||||
text.multiplayer.web=Oyunun bu sürümü çok oyunculuyu desteklemiyor! Tarayıcınızdan çok oyunculu oynamak için, itch.io sayfasındaki "çok oyunculu web sürümü" bağlantısını kullanın.
|
|
||||||
text.gameover=Çekirdek yok edildi.
|
text.gameover=Çekirdek yok edildi.
|
||||||
text.highscore=[SARI] Yeni yüksek puan!
|
text.highscore=[SARI] Yeni yüksek puan!
|
||||||
text.lasted=Dalgaya kadar sürdün
|
|
||||||
text.level.highscore=Yüksek Puan: [accent] {0}
|
text.level.highscore=Yüksek Puan: [accent] {0}
|
||||||
text.level.delete.title=Silmeyi onaylayın
|
text.level.delete.title=Silmeyi onaylayın
|
||||||
text.level.select=Seviye Seç
|
text.level.select=Seviye Seç
|
||||||
@@ -165,9 +162,6 @@ text.settings.controls=kontroller
|
|||||||
text.settings.game=Oyun
|
text.settings.game=Oyun
|
||||||
text.settings.sound=Ses
|
text.settings.sound=Ses
|
||||||
text.settings.graphics=Grafik
|
text.settings.graphics=Grafik
|
||||||
text.upgrades=Geliştirmeler
|
|
||||||
text.purchased=[KİREÇ] Yap၊ld၊
|
|
||||||
text.weapons=Silahlar
|
|
||||||
text.paused=Duraklatıldı
|
text.paused=Duraklatıldı
|
||||||
text.info.title=[Vurgu] Bilgi
|
text.info.title=[Vurgu] Bilgi
|
||||||
text.error.title=[crimson] Bir hata oluştu
|
text.error.title=[crimson] Bir hata oluştu
|
||||||
@@ -210,19 +204,6 @@ setting.musicvol.name=Müzik sesi
|
|||||||
setting.mutemusic.name=Müziği Kapat
|
setting.mutemusic.name=Müziği Kapat
|
||||||
setting.sfxvol.name=SFX Hacmi
|
setting.sfxvol.name=SFX Hacmi
|
||||||
setting.mutesound.name=Sesi kapat
|
setting.mutesound.name=Sesi kapat
|
||||||
map.maze.name=Labirent
|
|
||||||
map.fortress.name=Kale
|
|
||||||
map.sinkhole.name=düden
|
|
||||||
map.caves.name=mağaralar
|
|
||||||
map.volcano.name=volkan
|
|
||||||
map.caldera.name=kaldera
|
|
||||||
map.scorch.name=alazlamak
|
|
||||||
map.desert.name=çöl
|
|
||||||
map.island.name=ada
|
|
||||||
map.grassland.name=Çayır
|
|
||||||
map.tundra.name=tundra
|
|
||||||
map.spiral.name=sarmal
|
|
||||||
map.tutorial.name=Eğitim
|
|
||||||
text.keybind.title=Tuşları yeniden ayarla
|
text.keybind.title=Tuşları yeniden ayarla
|
||||||
keybind.move_x.name=sağ / sol
|
keybind.move_x.name=sağ / sol
|
||||||
keybind.move_y.name=yukarı / aşağı
|
keybind.move_y.name=yukarı / aşağı
|
||||||
@@ -231,14 +212,12 @@ keybind.break.name=kırmak
|
|||||||
keybind.shoot.name=ateş etme
|
keybind.shoot.name=ateş etme
|
||||||
keybind.zoom_hold.name=tut ve büyüt
|
keybind.zoom_hold.name=tut ve büyüt
|
||||||
keybind.zoom.name=Yakınlaştır
|
keybind.zoom.name=Yakınlaştır
|
||||||
keybind.block_info.name=blok bilgisi
|
|
||||||
keybind.menu.name=menü
|
keybind.menu.name=menü
|
||||||
keybind.pause.name=duraklatma
|
keybind.pause.name=duraklatma
|
||||||
keybind.dash.name=tire
|
keybind.dash.name=tire
|
||||||
keybind.chat.name=Sohbet
|
keybind.chat.name=Sohbet
|
||||||
keybind.player_list.name=oyuncu listesi
|
keybind.player_list.name=oyuncu listesi
|
||||||
keybind.console.name=KONTROL MASASI
|
keybind.console.name=KONTROL MASASI
|
||||||
keybind.rotate_alt.name=rotate_alt
|
|
||||||
keybind.rotate.name=Döndür
|
keybind.rotate.name=Döndür
|
||||||
mode.text.help.title=Modların açıklaması
|
mode.text.help.title=Modların açıklaması
|
||||||
mode.waves.name=dalgalar
|
mode.waves.name=dalgalar
|
||||||
@@ -266,7 +245,6 @@ block.liquidjunction.name=sıvı bağlantı
|
|||||||
block.sorter.name=ayrıştırıcı
|
block.sorter.name=ayrıştırıcı
|
||||||
block.smelter.name=dökümcü
|
block.smelter.name=dökümcü
|
||||||
text.web.unsupported=The web version does not support this feature! Download the game to use it.
|
text.web.unsupported=The web version does not support this feature! Download the game to use it.
|
||||||
text.host.web=The web version does not support hosting games! Download the game to use this feature.
|
|
||||||
text.map.delete=Are you sure you want to delete the map "[orange]{0}[]"?
|
text.map.delete=Are you sure you want to delete the map "[orange]{0}[]"?
|
||||||
text.construction.title=Block Construction Guide
|
text.construction.title=Block Construction Guide
|
||||||
text.construction=You've just selected [accent]block construction mode[].\n\nTo begin placing, simply tap a valid location near your ship.\nOnce you have selected some blocks, press the checkbox to confirm, and your ship will begin constructing them.\n\n- [accent]Remove blocks[] from your selection by tapping them.\n- [accent]Shift the selection[] by holding and dragging any block in the selection.\n- [accent]Place blocks in a line[] by tapping and holding an empty spot, then dragging in a direction.\n- [accent]Cancel construction or selection[] by pressing the X at the bottom left.
|
text.construction=You've just selected [accent]block construction mode[].\n\nTo begin placing, simply tap a valid location near your ship.\nOnce you have selected some blocks, press the checkbox to confirm, and your ship will begin constructing them.\n\n- [accent]Remove blocks[] from your selection by tapping them.\n- [accent]Shift the selection[] by holding and dragging any block in the selection.\n- [accent]Place blocks in a line[] by tapping and holding an empty spot, then dragging in a direction.\n- [accent]Cancel construction or selection[] by pressing the X at the bottom left.
|
||||||
@@ -447,7 +425,6 @@ block.water-extractor.name=Water Extractor
|
|||||||
block.cultivator.name=Cultivator
|
block.cultivator.name=Cultivator
|
||||||
block.dart-ship-factory.name=Dart Ship Factory
|
block.dart-ship-factory.name=Dart Ship Factory
|
||||||
block.delta-mech-factory.name=Delta Mech Factory
|
block.delta-mech-factory.name=Delta Mech Factory
|
||||||
block.dronefactory.name=Drone Factory
|
|
||||||
block.repairpoint.name=Repair Point
|
block.repairpoint.name=Repair Point
|
||||||
block.resupplypoint.name=Resupply Point
|
block.resupplypoint.name=Resupply Point
|
||||||
block.liquidtank.name=Liquid Tank
|
block.liquidtank.name=Liquid Tank
|
||||||
@@ -475,8 +452,6 @@ block.solar-panel.name=Solar Panel
|
|||||||
block.solar-panel-large.name=Large Solar Panel
|
block.solar-panel-large.name=Large Solar Panel
|
||||||
block.oil-extractor.name=Oil Extractor
|
block.oil-extractor.name=Oil Extractor
|
||||||
block.javelin-ship-factory.name=Javelin Ship factory
|
block.javelin-ship-factory.name=Javelin Ship factory
|
||||||
block.drone-factory.name=Drone Factory
|
|
||||||
block.fabricator-factory.name=Fabricator Factory
|
|
||||||
block.repair-point.name=Repair Point
|
block.repair-point.name=Repair Point
|
||||||
block.resupply-point.name=Resupply Point
|
block.resupply-point.name=Resupply Point
|
||||||
block.pulse-conduit.name=Pulse Conduit
|
block.pulse-conduit.name=Pulse Conduit
|
||||||
@@ -495,9 +470,49 @@ text.sector=Selected Sector: [LIGHT_GRAY]{0}
|
|||||||
text.sector.time=Time: [LIGHT_GRAY]{0}
|
text.sector.time=Time: [LIGHT_GRAY]{0}
|
||||||
text.sector.deploy=Deploy
|
text.sector.deploy=Deploy
|
||||||
text.sector.resume=Resume
|
text.sector.resume=Resume
|
||||||
text.sector.unlocked=Sector completed!
|
|
||||||
text.sector.locked=[scarlet][[Incomplete]
|
text.sector.locked=[scarlet][[Incomplete]
|
||||||
text.sector.unexplored=[accent][[Unexplored]
|
text.sector.unexplored=[accent][[Unexplored]
|
||||||
text.close=Close
|
text.close=Close
|
||||||
text.save.playtime=Playtime: {0}
|
text.save.playtime=Playtime: {0}
|
||||||
text.editor.brush=Brush
|
text.editor.brush=Brush
|
||||||
|
text.credits.text=Created by [ROYAL]Anuken[] - [SKY]anukendev@gmail.com[]\n\n[GRAY](In case you can't tell, this text is currently unfinished.\nTranslators, don't edit it yet!)
|
||||||
|
text.sector.gameover=This sector has been lost. Re-deploy?
|
||||||
|
text.sector.retry=Retry
|
||||||
|
text.wave.lasted=You lasted until wave [accent]{0}[].
|
||||||
|
setting.fpscap.name=Max FPS
|
||||||
|
setting.fpscap.none=None
|
||||||
|
setting.fpscap.text={0} FPS
|
||||||
|
block.command-center.name=Command Center
|
||||||
|
text.mission=Mission:[LIGHT_GRAY] {0}
|
||||||
|
text.mission.wave=Survive [accent]{0}[] waves.
|
||||||
|
text.mission.battle=Destroy the enemy base.
|
||||||
|
text.none=<none>
|
||||||
|
text.sector.corrupted=[orange]A save file for this sector was found, but loading failed.\nA new one has been created.
|
||||||
|
text.mission.complete=Mission complete!
|
||||||
|
text.mission.complete.body=Sector {0},{1} has been conquered.
|
||||||
|
text.mission.resource=Obtain {0} x{1}
|
||||||
|
text.unit.health=[LIGHT_GRAY]Health: {0}
|
||||||
|
text.unit.speed=[LIGHT_GRAY]Speed: {0}
|
||||||
|
block.drone-pad.name=Drone Pad
|
||||||
|
block.fabricator-pad.name=Fabricator Pad
|
||||||
|
block.interceptor-pad.name=Interceptor Pad
|
||||||
|
block.monsoon-pad.name=Monsoon Pad
|
||||||
|
block.mass-driver.name=Mass Driver
|
||||||
|
block.blast-drill.name=Blast Drill
|
||||||
|
unit.drone.name=Drone
|
||||||
|
unit.drone.description=The starter drone unit. Spawns in the core by default. Automatically mines ores, collects items and repairs blocks.
|
||||||
|
unit.fabricator.name=Fabricator
|
||||||
|
unit.fabricator.description=An advanced drone unit. Automatically mines ores, collects items and repairs blocks. Significantly more effective than a drone.
|
||||||
|
unit.scout.name=Scout
|
||||||
|
unit.scout.description=A basic ground unit. Uses lead as ammo.
|
||||||
|
unit.titan.name=Titan
|
||||||
|
unit.titan.description=An advanced armored ground unit. Uses carbide as ammo. Attacks both ground and air targets.
|
||||||
|
unit.monsoon.name=Monsoon
|
||||||
|
unit.monsoon.description=A heavy carpet bomber. Uses blast compound or pyratite as ammo.
|
||||||
|
unit.interceptor.name=Interceptor
|
||||||
|
unit.interceptor.description=A fast, hit-and-run strike unit. Uses lead as ammo.
|
||||||
|
mode.sandbox.warning=Note that blocks cannot be used in sandbox mode until they are unlocked in other modes.\n\n[LIGHT_GRAY]If you have not unlocked any blocks, none will appear.
|
||||||
|
block.thermal-pump.name=Thermal Pump
|
||||||
|
block.dagger-pad.name=Dagger Pad
|
||||||
|
block.titan-pad.name=Titan Pad
|
||||||
|
block.thermal-generator.name=Thermal Generator
|
||||||
|
|||||||
@@ -1,8 +1,6 @@
|
|||||||
text.about=Створено [ROYAL] Anuken. []\nСпочатку запис у [orange] GDL [] MM Jam.\nТворці:\n- SFX зроблено з [YELLOW] bfxr []\n- Музика зроблена [GREEN] RoccoW [] / Знайдено на [lime] FreeMusicArchive.org [] \nОсоблива подяка:\n- [coral] MitchellFJN []: екстенсивне тестування та відгуки\n- [sky] Luxray5474 []: робота з вікі, вклади коду\n- Всі бета-тестери на itch.io та Google Play\n
|
|
||||||
text.discord=Приєднуйтесь до нашого Discord!
|
text.discord=Приєднуйтесь до нашого Discord!
|
||||||
text.gameover=Ядро було зруйновано.
|
text.gameover=Ядро було зруйновано.
|
||||||
text.highscore=[YELLOW] Новий рекорд!
|
text.highscore=[YELLOW] Новий рекорд!
|
||||||
text.lasted=Ви тримались до хвилі
|
|
||||||
text.level.highscore=Рекорд: [accent] {0}
|
text.level.highscore=Рекорд: [accent] {0}
|
||||||
text.level.delete.title=Підтвердьте видалення
|
text.level.delete.title=Підтвердьте видалення
|
||||||
text.level.select=Вибір рівня
|
text.level.select=Вибір рівня
|
||||||
@@ -118,9 +116,6 @@ text.settings.controls=Елементи управління
|
|||||||
text.settings.game=Гра
|
text.settings.game=Гра
|
||||||
text.settings.sound=Звук
|
text.settings.sound=Звук
|
||||||
text.settings.graphics=Графіка
|
text.settings.graphics=Графіка
|
||||||
text.upgrades=Оновлення
|
|
||||||
text.purchased=[LIME] Створено!
|
|
||||||
text.weapons=Зброя
|
|
||||||
text.paused=Пауза
|
text.paused=Пауза
|
||||||
text.info.title=[accent] інформація
|
text.info.title=[accent] інформація
|
||||||
text.error.title=[crimson] Виникла помилка
|
text.error.title=[crimson] Виникла помилка
|
||||||
@@ -163,19 +158,6 @@ setting.musicvol.name=Гучність музики
|
|||||||
setting.mutemusic.name=Вимкнути музику
|
setting.mutemusic.name=Вимкнути музику
|
||||||
setting.sfxvol.name=Гучність ефектів
|
setting.sfxvol.name=Гучність ефектів
|
||||||
setting.mutesound.name=Вимкнути звук
|
setting.mutesound.name=Вимкнути звук
|
||||||
map.maze.name=Лабіринт
|
|
||||||
map.fortress.name=Фортеця
|
|
||||||
map.sinkhole.name=Свердловина
|
|
||||||
map.caves.name=Печери
|
|
||||||
map.volcano.name=Вулкан
|
|
||||||
map.caldera.name=Кальдера
|
|
||||||
map.scorch.name=Мертва земля
|
|
||||||
map.desert.name=Пустеля
|
|
||||||
map.island.name=Острів
|
|
||||||
map.grassland.name=Пасовища
|
|
||||||
map.tundra.name=Тундра
|
|
||||||
map.spiral.name=Спіраль
|
|
||||||
map.tutorial.name=Навчання
|
|
||||||
text.keybind.title=Ключ перемотки
|
text.keybind.title=Ключ перемотки
|
||||||
keybind.move_x.name=move_x
|
keybind.move_x.name=move_x
|
||||||
keybind.move_y.name=move_y
|
keybind.move_y.name=move_y
|
||||||
@@ -184,14 +166,12 @@ keybind.break.name={0}break{/0}{1}; {/1}
|
|||||||
keybind.shoot.name=Постріл
|
keybind.shoot.name=Постріл
|
||||||
keybind.zoom_hold.name=zoom_hold
|
keybind.zoom_hold.name=zoom_hold
|
||||||
keybind.zoom.name=Збільшити
|
keybind.zoom.name=Збільшити
|
||||||
keybind.block_info.name=Інформація про блок
|
|
||||||
keybind.menu.name=Меню
|
keybind.menu.name=Меню
|
||||||
keybind.pause.name=Пауза
|
keybind.pause.name=Пауза
|
||||||
keybind.dash.name=Тире
|
keybind.dash.name=Тире
|
||||||
keybind.chat.name=Чат
|
keybind.chat.name=Чат
|
||||||
keybind.player_list.name=Список гравців
|
keybind.player_list.name=Список гравців
|
||||||
keybind.console.name=// Консоль 1
|
keybind.console.name=// Консоль 1
|
||||||
keybind.rotate_alt.name=rotate_alt
|
|
||||||
keybind.rotate.name=Повернути
|
keybind.rotate.name=Повернути
|
||||||
mode.waves.name=Хвилі
|
mode.waves.name=Хвилі
|
||||||
mode.sandbox.name=Пісочниця
|
mode.sandbox.name=Пісочниця
|
||||||
@@ -226,8 +206,6 @@ text.link.wiki.description=official Mindustry wiki
|
|||||||
text.linkfail=Failed to open link!\nThe URL has been copied to your cliboard.
|
text.linkfail=Failed to open link!\nThe URL has been copied to your cliboard.
|
||||||
text.editor.web=The web version does not support the editor!\nDownload the game to use it.
|
text.editor.web=The web version does not support the editor!\nDownload the game to use it.
|
||||||
text.web.unsupported=The web version does not support this feature! Download the game to use it.
|
text.web.unsupported=The web version does not support this feature! Download the game to use it.
|
||||||
text.multiplayer.web=This version of the game does not support multiplayer!\nTo play multiplayer from your browser, use the "multiplayer web version" link at the itch.io page.
|
|
||||||
text.host.web=The web version does not support hosting games! Download the game to use this feature.
|
|
||||||
text.map.delete=Are you sure you want to delete the map "[orange]{0}[]"?
|
text.map.delete=Are you sure you want to delete the map "[orange]{0}[]"?
|
||||||
text.construction.title=Block Construction Guide
|
text.construction.title=Block Construction Guide
|
||||||
text.construction=You've just selected [accent]block construction mode[].\n\nTo begin placing, simply tap a valid location near your ship.\nOnce you have selected some blocks, press the checkbox to confirm, and your ship will begin constructing them.\n\n- [accent]Remove blocks[] from your selection by tapping them.\n- [accent]Shift the selection[] by holding and dragging any block in the selection.\n- [accent]Place blocks in a line[] by tapping and holding an empty spot, then dragging in a direction.\n- [accent]Cancel construction or selection[] by pressing the X at the bottom left.
|
text.construction=You've just selected [accent]block construction mode[].\n\nTo begin placing, simply tap a valid location near your ship.\nOnce you have selected some blocks, press the checkbox to confirm, and your ship will begin constructing them.\n\n- [accent]Remove blocks[] from your selection by tapping them.\n- [accent]Shift the selection[] by holding and dragging any block in the selection.\n- [accent]Place blocks in a line[] by tapping and holding an empty spot, then dragging in a direction.\n- [accent]Cancel construction or selection[] by pressing the X at the bottom left.
|
||||||
@@ -447,7 +425,6 @@ block.water-extractor.name=Water Extractor
|
|||||||
block.cultivator.name=Cultivator
|
block.cultivator.name=Cultivator
|
||||||
block.dart-ship-factory.name=Dart Ship Factory
|
block.dart-ship-factory.name=Dart Ship Factory
|
||||||
block.delta-mech-factory.name=Delta Mech Factory
|
block.delta-mech-factory.name=Delta Mech Factory
|
||||||
block.dronefactory.name=Drone Factory
|
|
||||||
block.repairpoint.name=Repair Point
|
block.repairpoint.name=Repair Point
|
||||||
block.resupplypoint.name=Resupply Point
|
block.resupplypoint.name=Resupply Point
|
||||||
block.liquidtank.name=Liquid Tank
|
block.liquidtank.name=Liquid Tank
|
||||||
@@ -475,8 +452,6 @@ block.solar-panel.name=Solar Panel
|
|||||||
block.solar-panel-large.name=Large Solar Panel
|
block.solar-panel-large.name=Large Solar Panel
|
||||||
block.oil-extractor.name=Oil Extractor
|
block.oil-extractor.name=Oil Extractor
|
||||||
block.javelin-ship-factory.name=Javelin Ship factory
|
block.javelin-ship-factory.name=Javelin Ship factory
|
||||||
block.drone-factory.name=Drone Factory
|
|
||||||
block.fabricator-factory.name=Fabricator Factory
|
|
||||||
block.repair-point.name=Repair Point
|
block.repair-point.name=Repair Point
|
||||||
block.resupply-point.name=Resupply Point
|
block.resupply-point.name=Resupply Point
|
||||||
block.pulse-conduit.name=Pulse Conduit
|
block.pulse-conduit.name=Pulse Conduit
|
||||||
@@ -495,9 +470,49 @@ text.sector=Selected Sector: [LIGHT_GRAY]{0}
|
|||||||
text.sector.time=Time: [LIGHT_GRAY]{0}
|
text.sector.time=Time: [LIGHT_GRAY]{0}
|
||||||
text.sector.deploy=Deploy
|
text.sector.deploy=Deploy
|
||||||
text.sector.resume=Resume
|
text.sector.resume=Resume
|
||||||
text.sector.unlocked=Sector completed!
|
|
||||||
text.sector.locked=[scarlet][[Incomplete]
|
text.sector.locked=[scarlet][[Incomplete]
|
||||||
text.sector.unexplored=[accent][[Unexplored]
|
text.sector.unexplored=[accent][[Unexplored]
|
||||||
text.close=Close
|
text.close=Close
|
||||||
text.save.playtime=Playtime: {0}
|
text.save.playtime=Playtime: {0}
|
||||||
text.editor.brush=Brush
|
text.editor.brush=Brush
|
||||||
|
text.credits.text=Created by [ROYAL]Anuken[] - [SKY]anukendev@gmail.com[]\n\n[GRAY](In case you can't tell, this text is currently unfinished.\nTranslators, don't edit it yet!)
|
||||||
|
text.sector.gameover=This sector has been lost. Re-deploy?
|
||||||
|
text.sector.retry=Retry
|
||||||
|
text.wave.lasted=You lasted until wave [accent]{0}[].
|
||||||
|
setting.fpscap.name=Max FPS
|
||||||
|
setting.fpscap.none=None
|
||||||
|
setting.fpscap.text={0} FPS
|
||||||
|
block.command-center.name=Command Center
|
||||||
|
text.mission=Mission:[LIGHT_GRAY] {0}
|
||||||
|
text.mission.wave=Survive [accent]{0}[] waves.
|
||||||
|
text.mission.battle=Destroy the enemy base.
|
||||||
|
text.none=<none>
|
||||||
|
text.sector.corrupted=[orange]A save file for this sector was found, but loading failed.\nA new one has been created.
|
||||||
|
text.mission.complete=Mission complete!
|
||||||
|
text.mission.complete.body=Sector {0},{1} has been conquered.
|
||||||
|
text.mission.resource=Obtain {0} x{1}
|
||||||
|
text.unit.health=[LIGHT_GRAY]Health: {0}
|
||||||
|
text.unit.speed=[LIGHT_GRAY]Speed: {0}
|
||||||
|
block.drone-pad.name=Drone Pad
|
||||||
|
block.fabricator-pad.name=Fabricator Pad
|
||||||
|
block.interceptor-pad.name=Interceptor Pad
|
||||||
|
block.monsoon-pad.name=Monsoon Pad
|
||||||
|
block.mass-driver.name=Mass Driver
|
||||||
|
block.blast-drill.name=Blast Drill
|
||||||
|
unit.drone.name=Drone
|
||||||
|
unit.drone.description=The starter drone unit. Spawns in the core by default. Automatically mines ores, collects items and repairs blocks.
|
||||||
|
unit.fabricator.name=Fabricator
|
||||||
|
unit.fabricator.description=An advanced drone unit. Automatically mines ores, collects items and repairs blocks. Significantly more effective than a drone.
|
||||||
|
unit.scout.name=Scout
|
||||||
|
unit.scout.description=A basic ground unit. Uses lead as ammo.
|
||||||
|
unit.titan.name=Titan
|
||||||
|
unit.titan.description=An advanced armored ground unit. Uses carbide as ammo. Attacks both ground and air targets.
|
||||||
|
unit.monsoon.name=Monsoon
|
||||||
|
unit.monsoon.description=A heavy carpet bomber. Uses blast compound or pyratite as ammo.
|
||||||
|
unit.interceptor.name=Interceptor
|
||||||
|
unit.interceptor.description=A fast, hit-and-run strike unit. Uses lead as ammo.
|
||||||
|
mode.sandbox.warning=Note that blocks cannot be used in sandbox mode until they are unlocked in other modes.\n\n[LIGHT_GRAY]If you have not unlocked any blocks, none will appear.
|
||||||
|
block.thermal-pump.name=Thermal Pump
|
||||||
|
block.dagger-pad.name=Dagger Pad
|
||||||
|
block.titan-pad.name=Titan Pad
|
||||||
|
block.thermal-generator.name=Thermal Generator
|
||||||
|
|||||||
518
core/assets/bundles/bundle_zh_CN.properties
Normal file
@@ -0,0 +1,518 @@
|
|||||||
|
text.credits.text=Created by [ROYAL]Anuken[] - [SKY]anukendev@gmail.com[]\n\n[GRAY](In case you can't tell, this text is currently unfinished.\nTranslators, don't edit it yet!)
|
||||||
|
text.credits=致谢
|
||||||
|
text.discord=加入 Mindustry 的 Discord!
|
||||||
|
text.link.discord.description=官方 Mindustry discord 聊天室
|
||||||
|
text.link.github.description=游戏源码
|
||||||
|
text.link.dev-builds.description=不稳定开发版
|
||||||
|
text.link.trello.description=Trello board 上的官方计划表
|
||||||
|
text.link.itch.io.description=PC版下载和网页版(itch.io)
|
||||||
|
text.link.google-play.description=从谷歌商店获取安卓版
|
||||||
|
text.link.wiki.description=官方 Mindustry 维基
|
||||||
|
text.linkfail=打开链接失败!\nURL 已经复制到剪贴板。
|
||||||
|
text.editor.web=网页版不支持地图编辑器!\n下载以使用编辑器。
|
||||||
|
text.web.unsupported=网页版不支持此功能,请下载以使用此功能。
|
||||||
|
text.gameover=你的核心被摧毁了!
|
||||||
|
text.sector.gameover=这个区域失守了,要重新部署吗?
|
||||||
|
text.sector.retry=重试
|
||||||
|
text.highscore=[accent]新纪录!
|
||||||
|
text.wave.lasted=你坚持到了第 [accent]{0}[] 波。
|
||||||
|
text.level.highscore=最高分: [accent]{0}
|
||||||
|
text.level.delete.title=确认删除
|
||||||
|
text.map.delete=确定要删除 "[orange]{0}[]" 地图吗?
|
||||||
|
text.level.select=选择关卡
|
||||||
|
text.level.mode=游戏模式:
|
||||||
|
text.construction.title=方块建造指导
|
||||||
|
text.construction=你选择了 [accent]建造模式[].\n\n点击你附近的有效位置以放置\n选择了方块以后, 点击复选框就会开始建造。\n\n- [accent]移除方块-[] 点击想要删除的方块。\n- [accent]直线放置方块-[] 按住一个空点然后拖到目的地。\n- [accent]取消建造或选择-[] 按左下角的X。
|
||||||
|
text.deconstruction.title=方块删除指导
|
||||||
|
text.deconstruction=你选择了 [accent]删除模式[]。\n\n点击你附近的有效位置以删除\n选择了方块以后,点击复选框就会开始删除。\n\n- [accent]移除方块-[] 点击想要删除的方块。\n- [accent]移除选中部分-[] 按住并拖动以选中一个区域。\n- [accent]取消删除或选择-[] 按左下角的X.
|
||||||
|
text.showagain=不再显示
|
||||||
|
text.unlocks=已解锁
|
||||||
|
text.savegame=保存游戏
|
||||||
|
text.loadgame=载入游戏
|
||||||
|
text.joingame=加入游戏
|
||||||
|
text.addplayers=增加/删除玩家
|
||||||
|
text.customgame=自定义游戏
|
||||||
|
text.campaign=战役
|
||||||
|
text.sectors=区域
|
||||||
|
text.sector=区域: [LIGHT_GRAY]{0}
|
||||||
|
text.sector.time=时间: [LIGHT_GRAY]{0}
|
||||||
|
text.sector.deploy=部署
|
||||||
|
text.sector.resume=继续
|
||||||
|
text.sector.locked=[scarlet][[Incomplete]
|
||||||
|
text.sector.unexplored=[accent][[Unexplored]
|
||||||
|
text.mission=任务[LIGHT_GRAY] {0}
|
||||||
|
text.mission.wave=存活了 [accent]{0}[] 波。
|
||||||
|
text.mission.battle=摧毁敌方基地。
|
||||||
|
text.mission.resource=获得 {0} x{1}
|
||||||
|
text.none=<none>
|
||||||
|
text.close=关闭
|
||||||
|
text.quit=退出
|
||||||
|
text.maps=地图
|
||||||
|
text.maps.none=[LIGHT_GRAY]未发现地图!
|
||||||
|
text.about.button=关于
|
||||||
|
text.name=名字:
|
||||||
|
text.unlocked=新方块解锁!
|
||||||
|
text.unlocked.plural=新方块解锁!
|
||||||
|
text.players={0} 玩家在线
|
||||||
|
text.players.single={0} 玩家在线
|
||||||
|
text.server.mismatch=Packet error: 可能是客户端/服务器版本不匹配\n请确保你和房主\n都安装了最新版 Mindustry!
|
||||||
|
text.server.closing=[accent]正在关闭服务器...
|
||||||
|
text.server.kicked.kick=你被踢出服务器了!
|
||||||
|
text.server.kicked.fastShoot=你发射得太快了!
|
||||||
|
text.server.kicked.invalidPassword=无效的密码!
|
||||||
|
text.server.kicked.clientOutdated=客户端版本过旧!请升级!
|
||||||
|
text.server.kicked.serverOutdated=服务器版本过旧!请联系房主升级!
|
||||||
|
text.server.kicked.banned=你被这个服务器拉黑了。
|
||||||
|
text.server.kicked.recentKick=你刚刚被踢出服务器\n请稍后再重新连接!
|
||||||
|
text.server.kicked.nameInUse=服务器中已经\n有相同的名字了。
|
||||||
|
text.server.kicked.nameEmpty=你的名字必须至少包含一个字母或数字。
|
||||||
|
text.server.kicked.idInUse=你已经在服务器中了!不允许用两个账号。
|
||||||
|
text.server.kicked.customClient=这个服务器不支持修改版连接,请下载官方版本。
|
||||||
|
text.host.info=[accent]创建局域网游戏[] 按钮会在 [scarlet]6567[] 端口运行一个服务器并且 [scarlet]6568.[]\n任何在同一个 [LIGHT_GRAY]wifi或本地网络[] 下的人都将在服务器列表中看到你的服务器。\n\n如果你想让别人在任何地方都能通过ip地址连接, 那么需要[accent]端口转发[]。\n\n[LIGHT_GRAY]请注意:如果某人无法连接到你的局域网游戏,请确保你在防火墙设置里允许了 Mindustry 连接本地网络。
|
||||||
|
text.join.info=你可以在这里输入[accent]服务器的IP地址[]以连接,或寻找[accent]本地网络[]中的服务器以连接。\n支持局域网或广域网多人游戏。\n\n[LIGHT_GRAY]请注意:没有全球服务器列表;如果你想通过IP地址连接某个服务器,你需要向房主询问IP地址。
|
||||||
|
text.hostserver=服务器
|
||||||
|
text.host=创建服务器
|
||||||
|
text.hosting=[accent]正在打开服务器...
|
||||||
|
text.hosts.refresh=刷新
|
||||||
|
text.hosts.discovering=正在搜索局域网服务器
|
||||||
|
text.server.refreshing=正在刷新服务器
|
||||||
|
text.hosts.none=[lightgray]未发现局域网游戏!
|
||||||
|
text.host.invalid=[scarlet]无法连接服务器。
|
||||||
|
text.trace=跟踪玩家
|
||||||
|
text.trace.playername=玩家名字: [accent]{0}
|
||||||
|
text.trace.ip=IP地址: [accent]{0}
|
||||||
|
text.trace.id=ID: [accent]{0}
|
||||||
|
text.trace.android=安卓客户端: [accent]{0}
|
||||||
|
text.trace.modclient=修改版客户端: [accent]{0}
|
||||||
|
text.trace.totalblocksbroken=总共破坏了 [accent]{0} 个方块。
|
||||||
|
text.trace.structureblocksbroken=总共破坏了 [accent]{0} 个结构。
|
||||||
|
text.trace.lastblockbroken=最后破坏的方块: [accent]{0}
|
||||||
|
text.trace.totalblocksplaced=总共放置了 [accent]{0} 个方块。
|
||||||
|
text.trace.lastblockplaced=最后放置的方块: [accent]{0}
|
||||||
|
text.invalidid=无效的客户端ID!请提交 bug 报告。
|
||||||
|
text.server.bans=黑名单
|
||||||
|
text.server.bans.none=没有被拉黑的玩家!
|
||||||
|
text.server.admins=管理员
|
||||||
|
text.server.admins.none=没有管理员!
|
||||||
|
text.server.add=添加服务器
|
||||||
|
text.server.delete=确定要删除这个服务器吗?
|
||||||
|
text.server.hostname=主机: {0}
|
||||||
|
text.server.edit=编辑服务器
|
||||||
|
text.server.outdated=[crimson]服务器过旧![]
|
||||||
|
text.server.outdated.client=[crimson]客户端过旧![]
|
||||||
|
text.server.version=[lightgray]版本: {0}
|
||||||
|
text.server.custombuild=[yellow]修改版
|
||||||
|
text.confirmban=确认拉黑这个玩家?
|
||||||
|
text.confirmunban=确认要取消拉黑这个玩家吗?
|
||||||
|
text.confirmadmin=确认要添加这个玩家为管理员吗?
|
||||||
|
text.confirmunadmin=确认要取消这个玩家的管理员身份吗?
|
||||||
|
text.joingame.title=加入游戏
|
||||||
|
text.joingame.ip=IP:
|
||||||
|
text.disconnect=已断开
|
||||||
|
text.disconnect.data=载入世界失败!
|
||||||
|
text.connecting=[accent]连接中...
|
||||||
|
text.connecting.data=[accent]加载世界中...
|
||||||
|
text.connectfail=[crimson]服务器连接失败: [orange]{0}
|
||||||
|
text.server.port=端口:
|
||||||
|
text.server.addressinuse=地址已经使用!
|
||||||
|
text.server.invalidport=无效的端口!
|
||||||
|
text.server.error=[crimson]创建服务器错误:[orange]{0}
|
||||||
|
text.save.old=这个存档属于旧版本游戏,无法继续使用了。\n\n[LIGHT_GRAY]存档向下兼容将在 4.0 版本中实现。
|
||||||
|
text.save.new=新存档
|
||||||
|
text.save.overwrite=确认要\n覆盖这个存档吗?
|
||||||
|
text.overwrite=覆盖
|
||||||
|
text.save.none=没有存档!
|
||||||
|
text.saveload=[accent]保存中...
|
||||||
|
text.savefail=保存失败!
|
||||||
|
text.save.delete.confirm=确认要删除这个存档吗?
|
||||||
|
text.save.delete=删除
|
||||||
|
text.save.export=导出存档
|
||||||
|
text.save.import.invalid=[orange]存档无效!
|
||||||
|
text.save.import.fail=[crimson]导入存档:[orange]{0} 失败
|
||||||
|
text.save.export.fail=[crimson]导出存档“[orange]{0} 失败
|
||||||
|
text.save.import=导入存档
|
||||||
|
text.save.newslot=保存游戏:
|
||||||
|
text.save.rename=重命名
|
||||||
|
text.save.rename.text=新名字:
|
||||||
|
text.selectslot=选择一个存档
|
||||||
|
text.slot=[accent]存档 {0}
|
||||||
|
text.save.corrupted=[orange]存档损坏或无效!\n如果你刚刚升级了游戏,那么这可能是因为存档格式改变了而[scarlet]不是[] bug 。
|
||||||
|
text.sector.corrupted=[orange]发现了一个此区域的保存文件,但是加载失败。\n已经创建了一个新的。
|
||||||
|
text.empty=<empty>
|
||||||
|
text.on=开
|
||||||
|
text.off=关
|
||||||
|
text.save.autosave=自动保存:{0}
|
||||||
|
text.save.map=地图:{0}
|
||||||
|
text.save.wave=第 {0} 波
|
||||||
|
text.save.difficulty=难度: {0}
|
||||||
|
text.save.date=最后保存日期:{0}
|
||||||
|
text.save.playtime=游戏时间:{0}
|
||||||
|
text.confirm=确认
|
||||||
|
text.delete=删除
|
||||||
|
text.ok=好的
|
||||||
|
text.open=打开
|
||||||
|
text.cancel=取消
|
||||||
|
text.openlink=打开链接
|
||||||
|
text.copylink=删除链接
|
||||||
|
text.back=返回
|
||||||
|
text.quit.confirm=确认要退出?
|
||||||
|
text.changelog.title=更新日志
|
||||||
|
text.changelog.loading=正在获取更新日志...
|
||||||
|
text.changelog.error.android=[orange]请注意更新日志有时在安卓 4.4 以下不工作。\n这是因为安卓系统的一个 bug 。
|
||||||
|
text.changelog.error.ios=[orange]iOS还不支持更新日志。
|
||||||
|
text.changelog.error=[scarlet]获取更新日志失败!\n请检查你的网络。
|
||||||
|
text.changelog.current=[yellow][[Current version]
|
||||||
|
text.changelog.latest=[orange][[Latest version]
|
||||||
|
text.loading=[accent]加载中...
|
||||||
|
text.saving=[accent]保存中...
|
||||||
|
text.wave=[orange]第 {0} 波
|
||||||
|
text.wave.waiting=下一波将在 {0} 秒后到来
|
||||||
|
text.waiting=等待中...
|
||||||
|
text.enemies={0} 个敌人
|
||||||
|
text.enemies.single={0} 个敌人
|
||||||
|
text.loadimage=加载图片
|
||||||
|
text.saveimage=保存图片
|
||||||
|
text.unknown=未知
|
||||||
|
text.custom=自定义
|
||||||
|
text.builtin=内建的
|
||||||
|
text.map.delete.confirm=确认要删除地图吗?这个操作无法撤销!
|
||||||
|
text.map.random=[accent]随机地图
|
||||||
|
text.map.nospawn=这个地图没有核心!请在编辑器中添加一个[ROYAL]蓝色[]的核心。
|
||||||
|
text.editor.brush=笔刷
|
||||||
|
text.editor.slope=\\
|
||||||
|
text.editor.openin=在编辑器中打开
|
||||||
|
text.editor.oregen=生成矿石
|
||||||
|
text.editor.oregen.info=生成矿石:
|
||||||
|
text.editor.mapinfo=地图详情
|
||||||
|
text.editor.author=作者:
|
||||||
|
text.editor.description=描述:
|
||||||
|
text.editor.name=名字:
|
||||||
|
text.editor.teams=团队
|
||||||
|
text.editor.elevation=高度
|
||||||
|
text.editor.badsize=[orange]图片尺寸无效![]\n正确的尺寸:{0}
|
||||||
|
text.editor.errorimageload=载入文件出错:\n[orange]{0}
|
||||||
|
text.editor.errorimagesave=保存文件出错:\n[orange]{0}
|
||||||
|
text.editor.generate=生成
|
||||||
|
text.editor.resize=调整
|
||||||
|
text.editor.loadmap=载入地图
|
||||||
|
text.editor.savemap=保存地图
|
||||||
|
text.editor.saved=已保存!
|
||||||
|
text.editor.save.noname=你的地图还没有名字!在“地图信息”菜单里设置一个名字。
|
||||||
|
text.editor.save.overwrite=你的地图覆盖了一个内建的地图!在“地图信息”菜单里重新设置一个。
|
||||||
|
text.editor.import.exists=[scarlet]无法导入:[] 一个叫 '{0}' 的内建地图已经存在。
|
||||||
|
text.editor.import=导入...
|
||||||
|
text.editor.importmap=导入地图
|
||||||
|
text.editor.importmap.description=导入一个已经存在的地图
|
||||||
|
text.editor.importfile=导入文件
|
||||||
|
text.editor.importfile.description=导入一个外置的地图文件
|
||||||
|
text.editor.importimage=导入地形图像
|
||||||
|
text.editor.importimage.description=导入外置地图图像文件
|
||||||
|
text.editor.export=导出...
|
||||||
|
text.editor.exportfile=导出文件
|
||||||
|
text.editor.exportfile.description=导出一个地图文件
|
||||||
|
text.editor.exportimage=导出一个地形文件
|
||||||
|
text.editor.exportimage.description=导出一个地图图像文件
|
||||||
|
text.editor.loadimage=导入地形
|
||||||
|
text.editor.saveimage=导出地形
|
||||||
|
text.editor.unsaved=[scarlet]你有未保存的更改![]\n确定要退出?
|
||||||
|
text.editor.resizemap=调整地图
|
||||||
|
text.editor.mapname=地图名字:
|
||||||
|
text.editor.overwrite=[accent]警告!\n这将会覆盖一个已经存在的地图。
|
||||||
|
text.editor.overwrite.confirm=[scarlet]警告![] 存在同名地图,确定要覆盖?
|
||||||
|
text.editor.selectmap=选择一个地图加载:
|
||||||
|
text.width=宽度:
|
||||||
|
text.height=高度:
|
||||||
|
text.menu=菜单
|
||||||
|
text.play=开始游戏
|
||||||
|
text.load=载入游戏
|
||||||
|
text.save=保存
|
||||||
|
text.fps=FPS: {0}
|
||||||
|
text.tps=TPS: {0}
|
||||||
|
text.ping=Ping: {0}ms
|
||||||
|
text.language.restart=为了使语言设置生效请重启游戏。
|
||||||
|
text.settings.language=语言
|
||||||
|
text.settings=设置
|
||||||
|
text.tutorial=教程
|
||||||
|
text.editor=编辑器
|
||||||
|
text.mapeditor=地图编辑器
|
||||||
|
text.donate=捐赠
|
||||||
|
text.settings.reset=恢复默认
|
||||||
|
text.settings.rebind=重新绑定
|
||||||
|
text.settings.controls=控制
|
||||||
|
text.settings.game=游戏
|
||||||
|
text.settings.sound=声音
|
||||||
|
text.settings.graphics=图像
|
||||||
|
text.paused=暂停
|
||||||
|
text.yes=是
|
||||||
|
text.no=不
|
||||||
|
text.info.title=[accent]详情
|
||||||
|
text.error.title=[crimson]发生了一个错误
|
||||||
|
text.error.crashtitle=发生了一个错误
|
||||||
|
text.blocks.blockinfo=方块详情
|
||||||
|
text.blocks.powercapacity=能量容量
|
||||||
|
text.blocks.powershot=能量/发射
|
||||||
|
text.blocks.targetsair=攻击空中单位
|
||||||
|
text.blocks.itemspeed=移动速度
|
||||||
|
text.blocks.shootrange=范围
|
||||||
|
text.blocks.size=尺寸
|
||||||
|
text.blocks.liquidcapacity=液体容量
|
||||||
|
text.blocks.maxitemssecond=最大物品数量
|
||||||
|
text.blocks.powerrange=能量范围
|
||||||
|
text.blocks.poweruse=能量使用
|
||||||
|
text.blocks.inputitemcapacity=最大输入
|
||||||
|
text.blocks.outputitemcapacity=最大输出
|
||||||
|
text.blocks.itemcapacity=物品容量
|
||||||
|
text.blocks.maxpowergeneration=最大能量
|
||||||
|
text.blocks.powertransferspeed=能量传输
|
||||||
|
text.blocks.craftspeed=生产速度
|
||||||
|
text.blocks.inputliquid=输入液体
|
||||||
|
text.blocks.inputliquidaux=Aux 液体
|
||||||
|
text.blocks.inputitem=输入物品
|
||||||
|
text.blocks.inputitems=输入物品
|
||||||
|
text.blocks.outputitem=输出物品
|
||||||
|
text.blocks.drilltier=可钻探矿物
|
||||||
|
text.blocks.drillspeed=基础钻探速度
|
||||||
|
text.blocks.liquidoutput=液体输出速度
|
||||||
|
text.blocks.liquiduse=使用液体
|
||||||
|
text.blocks.coolant=冷却剂
|
||||||
|
text.blocks.coolantuse=使用冷却剂
|
||||||
|
text.blocks.inputliquidfuel=使用燃料
|
||||||
|
text.blocks.liquidfueluse=使用液体燃料
|
||||||
|
text.blocks.explosive=高度易燃易爆!
|
||||||
|
text.blocks.health=生命值
|
||||||
|
text.blocks.inaccuracy=误差
|
||||||
|
text.blocks.shots=发射
|
||||||
|
text.blocks.reload=重新装弹
|
||||||
|
text.blocks.inputfuel=燃料
|
||||||
|
text.blocks.fuelburntime=燃料燃烧时间
|
||||||
|
text.blocks.inputcapacity=输入容量
|
||||||
|
text.blocks.outputcapacity=输出容量
|
||||||
|
text.unit.blocks=方块
|
||||||
|
text.unit.powersecond=能量单位/秒
|
||||||
|
text.unit.liquidsecond=液体单位/秒
|
||||||
|
text.unit.itemssecond=物品/秒
|
||||||
|
text.unit.pixelssecond=像素/秒
|
||||||
|
text.unit.liquidunits=液体单位
|
||||||
|
text.unit.powerunits=能量单位
|
||||||
|
text.unit.degrees=度
|
||||||
|
text.unit.seconds=秒
|
||||||
|
text.unit.none=
|
||||||
|
text.unit.items=物品
|
||||||
|
text.category.general=普通
|
||||||
|
text.category.power=能量
|
||||||
|
text.category.liquids=液体
|
||||||
|
text.category.items=物品
|
||||||
|
text.category.crafting=制造速度
|
||||||
|
text.category.shooting=射速
|
||||||
|
setting.fpscap.name=最高 FPS
|
||||||
|
setting.fpscap.none=None
|
||||||
|
setting.fpscap.text={0} FPS
|
||||||
|
setting.difficulty.easy=简单
|
||||||
|
setting.difficulty.normal=普通
|
||||||
|
setting.difficulty.hard=困难
|
||||||
|
setting.difficulty.insane=疯狂
|
||||||
|
setting.difficulty.purge=清除
|
||||||
|
setting.difficulty.name=难度:
|
||||||
|
setting.screenshake.name=屏幕抖动
|
||||||
|
setting.indicators.name=指出敌人
|
||||||
|
setting.effects.name=显示效果
|
||||||
|
setting.sensitivity.name=控制器灵敏度
|
||||||
|
setting.saveinterval.name=自动保存间隔
|
||||||
|
setting.seconds={0} 秒
|
||||||
|
setting.fullscreen.name=全屏
|
||||||
|
setting.multithread.name=多线程
|
||||||
|
setting.fps.name=显示 FPS
|
||||||
|
setting.vsync.name=帧同步
|
||||||
|
setting.lasers.name=显示能量射线
|
||||||
|
setting.healthbars.name=显示生命值
|
||||||
|
setting.minimap.name=显示小地图
|
||||||
|
setting.musicvol.name=音乐音量
|
||||||
|
setting.mutemusic.name=静音
|
||||||
|
setting.sfxvol.name=音效音量
|
||||||
|
setting.mutesound.name=静音
|
||||||
|
text.keybind.title=重新绑定按键
|
||||||
|
keybind.move_x.name=X轴移动
|
||||||
|
keybind.move_y.name=Y轴移动
|
||||||
|
keybind.select.name=选择
|
||||||
|
keybind.break.name=破坏
|
||||||
|
keybind.shoot.name=射击
|
||||||
|
keybind.zoom_hold.name=保持缩放
|
||||||
|
keybind.zoom.name=缩放
|
||||||
|
keybind.menu.name=菜单
|
||||||
|
keybind.pause.name=暂停
|
||||||
|
keybind.dash.name=冲刺
|
||||||
|
keybind.chat.name=聊天
|
||||||
|
keybind.player_list.name=玩家列表
|
||||||
|
keybind.console.name=控制台
|
||||||
|
keybind.rotate.name=旋转
|
||||||
|
mode.text.help.title=模式说明
|
||||||
|
mode.waves.name=普通
|
||||||
|
mode.waves.description=普通模式,有限的资源和自动生成敌人。
|
||||||
|
mode.sandbox.name=沙盒
|
||||||
|
mode.sandbox.description=无限的资源,不会自动生成敌人。
|
||||||
|
mode.freebuild.name=自由建造
|
||||||
|
mode.freebuild.description=有限的资源,不会自动生成敌人。
|
||||||
|
content.item.name=物品
|
||||||
|
content.liquid.name=液体
|
||||||
|
content.unit-type.name=单位
|
||||||
|
content.recipe.name=方块
|
||||||
|
item.stone.name=石头
|
||||||
|
item.stone.description=一种常见的原料。用于分离和提炼成其他材料,或熔化成熔岩。
|
||||||
|
item.tungsten.name=钨
|
||||||
|
item.tungsten.description=一种常见但非常有用的结构材料。用于钻头和耐热方块,比如发电机和冶炼器。
|
||||||
|
item.lead.name=铅
|
||||||
|
item.lead.description=基本的起始材料。被广泛用于电气和液体运输方块。
|
||||||
|
item.coal.name=煤
|
||||||
|
item.coal.description=一种常见并容易获得的燃料。
|
||||||
|
item.carbide.name=电石
|
||||||
|
item.carbide.description=由钨和碳制成的坚韧合金。被用在高级的运输方块和高层钻机。
|
||||||
|
item.titanium.name=钛
|
||||||
|
item.titanium.description=一种罕见的超轻金属,被广泛运用于液体运输,钻机和飞机。
|
||||||
|
item.thorium.name=钍
|
||||||
|
item.thorium.description=一种致密的放射性金属,用作支撑结构和核燃料。
|
||||||
|
item.silicon.name=硅
|
||||||
|
item.silcion.description=非常有用的半导体,被用于太阳能电池板和很多复杂的电子设备。
|
||||||
|
item.plastanium.name=塑料
|
||||||
|
item.plastanium.description=一种轻质,可延展的材料,用于高级的飞机和碎片弹药。
|
||||||
|
item.phase-matter.name=相位问题
|
||||||
|
item.surge-alloy.name=巨浪合金
|
||||||
|
item.biomatter.name=生物质
|
||||||
|
item.biomatter.description=一种有机糊;用于转化为油或作为基本燃料。
|
||||||
|
item.sand.name=沙子
|
||||||
|
item.sand.description=一种常见的材料,广泛用于冶炼,制作合金和助熔剂。
|
||||||
|
item.blast-compound.name=爆炸混合物
|
||||||
|
item.blast-compound.description=一种用于炸弹和炸药的挥发性化合物。虽然它可以作为燃料燃烧,但不建议这样做。
|
||||||
|
item.pyratite.name=硫
|
||||||
|
item.pyratite.description=燃烧武器中使用的极易燃物质。
|
||||||
|
liquid.water.name=水
|
||||||
|
liquid.lava.name=岩浆
|
||||||
|
liquid.oil.name=石油
|
||||||
|
liquid.cryofluid.name=冷冻液
|
||||||
|
text.item.explosiveness=[LIGHT_GRAY]爆炸威力:{0}
|
||||||
|
text.item.flammability=[LIGHT_GRAY]易燃性:{0}
|
||||||
|
text.item.radioactivity=[LIGHT_GRAY]放射性:{0}
|
||||||
|
text.item.fluxiness=[LIGHT_GRAY]流通力:{0}
|
||||||
|
text.item.hardness=[LIGHT_GRAY]硬度:{0}
|
||||||
|
text.unit.health=[LIGHT_GRAY]生命值: {0}
|
||||||
|
text.unit.speed=[LIGHT_GRAY]速度: {0}
|
||||||
|
text.liquid.heatcapacity=[LIGHT_GRAY]热容量:{0}
|
||||||
|
text.liquid.viscosity=[LIGHT_GRAY]粘度:{0}
|
||||||
|
text.liquid.temperature=[LIGHT_GRAY]温度:{0}
|
||||||
|
block.tungsten-wall.name=钨墙
|
||||||
|
block.tungsten-wall-large.name=大型钨墙
|
||||||
|
block.carbide-wall.name=电石
|
||||||
|
block.carbide-wall-large.name=大型电石墙
|
||||||
|
block.thorium-wall.name=钍墙
|
||||||
|
block.thorium-wall-large.name=大型钍墙
|
||||||
|
block.door.name=门
|
||||||
|
block.door-large.name=大门
|
||||||
|
block.duo.name=炮
|
||||||
|
block.scorch.name=灼烧炮
|
||||||
|
block.hail.name=Hail
|
||||||
|
block.lancer.name=枪骑兵
|
||||||
|
block.conveyor.name=传送带
|
||||||
|
block.titanium-conveyor.name=钛传送带
|
||||||
|
block.junction.name=连接点
|
||||||
|
block.splitter.name=分离器
|
||||||
|
block.splitter.description=将物品输出到三个不同的方向。
|
||||||
|
block.router.name=路由器
|
||||||
|
block.router.description=将物品分配到 4 个方向。可以作为缓冲区储存物品。
|
||||||
|
block.distributor.name=分配器
|
||||||
|
block.distributor.description=把物品分到 8 个方向的分配器。
|
||||||
|
block.sorter.name=分类器
|
||||||
|
block.sorter.description=对物品进行分类。如果物品与所选种类,则允许其通过。否则,物品将从左边和右边输出。
|
||||||
|
block.overflow-gate.name=溢流门
|
||||||
|
block.overflow-gate.description=分离器和路由器的组合,如果前面被挡住,则向从左和右输出。
|
||||||
|
block.bridgeconveyor.name=传送桥
|
||||||
|
block.bridgeconveyor.description=一种传送带,可以越过其他方块,最多两个方块。
|
||||||
|
block.smelter.name=冶炼厂
|
||||||
|
block.arc-smelter.name=电弧冶炼厂
|
||||||
|
block.silicon-smelter.name=硅冶炼厂
|
||||||
|
block.phase-weaver.name=相位编织器
|
||||||
|
block.pulverizer.name=粉碎机
|
||||||
|
block.cryofluidmixer.name=冷冻液混合器
|
||||||
|
block.melter.name=熔炉
|
||||||
|
block.incinerator.name=焚化炉
|
||||||
|
block.biomattercompressor.name=生物质压缩机
|
||||||
|
block.separator.name=分离机
|
||||||
|
block.centrifuge.name=离心机
|
||||||
|
block.power-node.name=能量节点
|
||||||
|
block.power-node-large.name=大型能量节点
|
||||||
|
block.battery.name=电池
|
||||||
|
block.battery-large.name=大型电池
|
||||||
|
block.combustion-generator.name=燃烧发电机
|
||||||
|
block.turbine-generator.name=涡轮发电机
|
||||||
|
block.tungsten-drill.name=钨钻头
|
||||||
|
block.carbide-drill.name=电石钻头
|
||||||
|
block.laser-drill.name=激光钻头
|
||||||
|
block.water-extractor.name=抽水机
|
||||||
|
block.cultivator.name=耕种机
|
||||||
|
block.dart-ship-factory.name=飞船制造工厂
|
||||||
|
block.delta-mech-factory.name=机械制造工厂
|
||||||
|
block.repairpoint.name=维修点
|
||||||
|
block.resupplypoint.name=补给点
|
||||||
|
block.conduit.name=导管
|
||||||
|
block.pulseconduit.name=脉冲导管
|
||||||
|
block.liquidrouter.name=液体路由器
|
||||||
|
block.liquidtank.name=储液罐
|
||||||
|
block.liquidjunction.name=液体连接点
|
||||||
|
block.bridgeconduit.name=导管桥
|
||||||
|
block.mechanical-pump.name=机械泵
|
||||||
|
block.itemsource.name=物品源
|
||||||
|
block.itemvoid.name=Item Void
|
||||||
|
block.liquidsource.name=液体源
|
||||||
|
block.powervoid.name=Power Void
|
||||||
|
block.powerinfinite.name=无限能源
|
||||||
|
block.unloader.name=装卸器
|
||||||
|
block.sortedunloader.name=分类装卸器
|
||||||
|
block.vault.name=仓库
|
||||||
|
block.wave.name=波浪
|
||||||
|
block.swarmer.name=蜂群
|
||||||
|
block.salvo.name=齐射炮
|
||||||
|
block.ripple.name=波纹
|
||||||
|
block.phase-conveyor.name=相位传送带
|
||||||
|
block.bridge-conveyor.name=传送带桥
|
||||||
|
block.plastanium-compressor.name=塑料压缩机
|
||||||
|
block.pyratite-mixer.name=硫混合器
|
||||||
|
block.blast-mixer.name=爆炸混合器
|
||||||
|
block.solidifer.name=凝固剂
|
||||||
|
block.solar-panel.name=太阳能电池
|
||||||
|
block.solar-panel-large.name=大型太阳能电池
|
||||||
|
block.oil-extractor.name=石油钻井
|
||||||
|
block.javelin-ship-factory.name=标枪船工厂
|
||||||
|
block.repair-point.name=维修点
|
||||||
|
block.resupply-point.name=供应点
|
||||||
|
block.pulse-conduit.name=脉冲导管
|
||||||
|
block.phase-conduit.name=相位导管
|
||||||
|
block.liquid-router.name=液体路由器
|
||||||
|
block.liquid-tank.name=储液罐
|
||||||
|
block.liquid-junction.name=液体连接点
|
||||||
|
block.bridge-conduit.name=导管桥
|
||||||
|
block.rotary-pump.name=回旋泵
|
||||||
|
block.nuclear-reactor.name=核反应堆
|
||||||
|
block.command-center.name=指令中心
|
||||||
|
block.mass-driver.name=质量驱动器
|
||||||
|
block.blast-drill.name=爆破钻头
|
||||||
|
unit.drone.name=无人机
|
||||||
|
unit.drone.description=初始的无人机单位.自动在核心生成,自动采矿,收集物品,修复方块
|
||||||
|
unit.fabricator.name=装配工
|
||||||
|
unit.fabricator.description=高级无人机单位,自动采矿,收集物品和修复方块.比普通无人机快很多.
|
||||||
|
unit.scout.name=侦察机
|
||||||
|
unit.scout.description=基础地面单位,使用钨作为弹药.
|
||||||
|
unit.titan.name=泰坦
|
||||||
|
unit.titan.description=高级的有武装地面单位,使用电石作为弹药.攻击地面单位和空中单位.
|
||||||
|
unit.monsoon.name=狂风
|
||||||
|
unit.monsoon.description=重型地毯式轰炸机,使用爆炸混合物或硫作为弹药。
|
||||||
|
text.mission.complete=Mission complete!
|
||||||
|
text.mission.complete.body=Sector {0},{1} has been conquered.
|
||||||
|
block.drone-pad.name=Drone Pad
|
||||||
|
block.fabricator-pad.name=Fabricator Pad
|
||||||
|
block.interceptor-pad.name=Interceptor Pad
|
||||||
|
block.monsoon-pad.name=Monsoon Pad
|
||||||
|
unit.interceptor.name=Interceptor
|
||||||
|
unit.interceptor.description=A fast, hit-and-run strike unit. Uses lead as ammo.
|
||||||
|
mode.sandbox.warning=Note that blocks cannot be used in sandbox mode until they are unlocked in other modes.\n\n[LIGHT_GRAY]If you have not unlocked any blocks, none will appear.
|
||||||
|
block.thermal-pump.name=Thermal Pump
|
||||||
|
block.dagger-pad.name=Dagger Pad
|
||||||
|
block.titan-pad.name=Titan Pad
|
||||||
|
block.thermal-generator.name=Thermal Generator
|
||||||
@@ -1,4 +1,3 @@
|
|||||||
text.about=開發者 [ROYAL]Anuken[] - [SKY]anukendev@gmail.com[]\n最初構想於 [orange]GDL[] Metal Monstrosity Jam.\n\n銘謝:\n- 音效作者 [YELLOW]bfxr[]\n- 音樂作者 [GREEN]a beat a day[]\n\n特別感謝:\n- [coral]MitchellFJN[]:大量的測試與回饋\n- [sky]Luxray5474[]:維基編纂、程式碼貢獻\n- [lime]Epowerj[]: 撰寫建造系統、繪製圖示\n- 所有在 itch.io 與 Google Play 上的測試版玩家\n
|
|
||||||
text.credits=致謝名單
|
text.credits=致謝名單
|
||||||
text.discord=加入 Mindustry 的 Discord 聊天室
|
text.discord=加入 Mindustry 的 Discord 聊天室
|
||||||
text.link.discord.description=官方 Mindustry Discord 聊天室
|
text.link.discord.description=官方 Mindustry Discord 聊天室
|
||||||
@@ -10,10 +9,8 @@ text.link.google-play.description=Google Play 商店頁面
|
|||||||
text.link.wiki.description=官方 Mindustry 維基
|
text.link.wiki.description=官方 Mindustry 維基
|
||||||
text.linkfail=無法打開連結!我們已將該網址複製到您的剪貼簿。\n
|
text.linkfail=無法打開連結!我們已將該網址複製到您的剪貼簿。\n
|
||||||
text.editor.web=線上版本不支援地圖編輯器!請下載遊戲已使用這項功能。\n
|
text.editor.web=線上版本不支援地圖編輯器!請下載遊戲已使用這項功能。\n
|
||||||
text.multiplayer.web=此遊戲版本不支援多人連線!請在 itch.io 頁面使用「多人線上版」連結以進入多人遊戲。
|
|
||||||
text.gameover=核心已被摧毀。
|
text.gameover=核心已被摧毀。
|
||||||
text.highscore=[YELLOW]新的高分紀錄!
|
text.highscore=[YELLOW]新的高分紀錄!
|
||||||
text.lasted=您存活到波次
|
|
||||||
text.level.highscore=最高分:[accent] {0}
|
text.level.highscore=最高分:[accent] {0}
|
||||||
text.level.delete.title=確認刪除
|
text.level.delete.title=確認刪除
|
||||||
text.level.select=選擇關卡
|
text.level.select=選擇關卡
|
||||||
@@ -167,9 +164,6 @@ text.settings.controls=操作
|
|||||||
text.settings.game=遊戲
|
text.settings.game=遊戲
|
||||||
text.settings.sound=音效
|
text.settings.sound=音效
|
||||||
text.settings.graphics=圖形
|
text.settings.graphics=圖形
|
||||||
text.upgrades=升級
|
|
||||||
text.purchased=[LIME]已建立!
|
|
||||||
text.weapons=武器
|
|
||||||
text.paused=已暫停
|
text.paused=已暫停
|
||||||
text.info.title=[accent]資訊
|
text.info.title=[accent]資訊
|
||||||
text.error.title=[crimson]發生錯誤
|
text.error.title=[crimson]發生錯誤
|
||||||
@@ -212,19 +206,6 @@ setting.musicvol.name=音樂音量
|
|||||||
setting.mutemusic.name=靜音
|
setting.mutemusic.name=靜音
|
||||||
setting.sfxvol.name=音效音量
|
setting.sfxvol.name=音效音量
|
||||||
setting.mutesound.name=靜音
|
setting.mutesound.name=靜音
|
||||||
map.maze.name=迷宮
|
|
||||||
map.fortress.name=堡壘
|
|
||||||
map.sinkhole.name=天坑
|
|
||||||
map.caves.name=洞窟
|
|
||||||
map.volcano.name=火山
|
|
||||||
map.caldera.name=火山口
|
|
||||||
map.scorch.name=焦土
|
|
||||||
map.desert.name=沙漠
|
|
||||||
map.island.name=島嶼
|
|
||||||
map.grassland.name=草原
|
|
||||||
map.tundra.name=凍原
|
|
||||||
map.spiral.name=螺旋
|
|
||||||
map.tutorial.name=教學
|
|
||||||
text.keybind.title=重新綁定按鍵
|
text.keybind.title=重新綁定按鍵
|
||||||
keybind.move_x.name=水平移動
|
keybind.move_x.name=水平移動
|
||||||
keybind.move_y.name=垂直移動
|
keybind.move_y.name=垂直移動
|
||||||
@@ -233,14 +214,12 @@ keybind.break.name=拆除
|
|||||||
keybind.shoot.name=射擊
|
keybind.shoot.name=射擊
|
||||||
keybind.zoom_hold.name=按住縮放
|
keybind.zoom_hold.name=按住縮放
|
||||||
keybind.zoom.name=縮放
|
keybind.zoom.name=縮放
|
||||||
keybind.block_info.name=方塊資訊
|
|
||||||
keybind.menu.name=主選單
|
keybind.menu.name=主選單
|
||||||
keybind.pause.name=暫停遊戲
|
keybind.pause.name=暫停遊戲
|
||||||
keybind.dash.name=衝刺
|
keybind.dash.name=衝刺
|
||||||
keybind.chat.name=聊天
|
keybind.chat.name=聊天
|
||||||
keybind.player_list.name=玩家列表
|
keybind.player_list.name=玩家列表
|
||||||
keybind.console.name=終端機
|
keybind.console.name=終端機
|
||||||
keybind.rotate_alt.name=反向旋轉
|
|
||||||
keybind.rotate.name=旋轉
|
keybind.rotate.name=旋轉
|
||||||
mode.text.help.title=模式說明
|
mode.text.help.title=模式說明
|
||||||
mode.waves.name=一般
|
mode.waves.name=一般
|
||||||
@@ -268,7 +247,6 @@ block.liquidjunction.name=液體樞紐
|
|||||||
block.sorter.name=分類器
|
block.sorter.name=分類器
|
||||||
block.smelter.name=煉鋼廠
|
block.smelter.name=煉鋼廠
|
||||||
text.web.unsupported=The web version does not support this feature! Download the game to use it.
|
text.web.unsupported=The web version does not support this feature! Download the game to use it.
|
||||||
text.host.web=The web version does not support hosting games! Download the game to use this feature.
|
|
||||||
text.map.delete=Are you sure you want to delete the map "[orange]{0}[]"?
|
text.map.delete=Are you sure you want to delete the map "[orange]{0}[]"?
|
||||||
text.construction.title=Block Construction Guide
|
text.construction.title=Block Construction Guide
|
||||||
text.construction=You've just selected [accent]block construction mode[].\n\nTo begin placing, simply tap a valid location near your ship.\nOnce you have selected some blocks, press the checkbox to confirm, and your ship will begin constructing them.\n\n- [accent]Remove blocks[] from your selection by tapping them.\n- [accent]Shift the selection[] by holding and dragging any block in the selection.\n- [accent]Place blocks in a line[] by tapping and holding an empty spot, then dragging in a direction.\n- [accent]Cancel construction or selection[] by pressing the X at the bottom left.
|
text.construction=You've just selected [accent]block construction mode[].\n\nTo begin placing, simply tap a valid location near your ship.\nOnce you have selected some blocks, press the checkbox to confirm, and your ship will begin constructing them.\n\n- [accent]Remove blocks[] from your selection by tapping them.\n- [accent]Shift the selection[] by holding and dragging any block in the selection.\n- [accent]Place blocks in a line[] by tapping and holding an empty spot, then dragging in a direction.\n- [accent]Cancel construction or selection[] by pressing the X at the bottom left.
|
||||||
@@ -448,7 +426,6 @@ block.water-extractor.name=Water Extractor
|
|||||||
block.cultivator.name=Cultivator
|
block.cultivator.name=Cultivator
|
||||||
block.dart-ship-factory.name=Dart Ship Factory
|
block.dart-ship-factory.name=Dart Ship Factory
|
||||||
block.delta-mech-factory.name=Delta Mech Factory
|
block.delta-mech-factory.name=Delta Mech Factory
|
||||||
block.dronefactory.name=Drone Factory
|
|
||||||
block.repairpoint.name=Repair Point
|
block.repairpoint.name=Repair Point
|
||||||
block.resupplypoint.name=Resupply Point
|
block.resupplypoint.name=Resupply Point
|
||||||
block.liquidtank.name=Liquid Tank
|
block.liquidtank.name=Liquid Tank
|
||||||
@@ -476,8 +453,6 @@ block.solar-panel.name=Solar Panel
|
|||||||
block.solar-panel-large.name=Large Solar Panel
|
block.solar-panel-large.name=Large Solar Panel
|
||||||
block.oil-extractor.name=Oil Extractor
|
block.oil-extractor.name=Oil Extractor
|
||||||
block.javelin-ship-factory.name=Javelin Ship factory
|
block.javelin-ship-factory.name=Javelin Ship factory
|
||||||
block.drone-factory.name=Drone Factory
|
|
||||||
block.fabricator-factory.name=Fabricator Factory
|
|
||||||
block.repair-point.name=Repair Point
|
block.repair-point.name=Repair Point
|
||||||
block.resupply-point.name=Resupply Point
|
block.resupply-point.name=Resupply Point
|
||||||
block.pulse-conduit.name=Pulse Conduit
|
block.pulse-conduit.name=Pulse Conduit
|
||||||
@@ -495,9 +470,49 @@ text.sector=Selected Sector: [LIGHT_GRAY]{0}
|
|||||||
text.sector.time=Time: [LIGHT_GRAY]{0}
|
text.sector.time=Time: [LIGHT_GRAY]{0}
|
||||||
text.sector.deploy=Deploy
|
text.sector.deploy=Deploy
|
||||||
text.sector.resume=Resume
|
text.sector.resume=Resume
|
||||||
text.sector.unlocked=Sector completed!
|
|
||||||
text.sector.locked=[scarlet][[Incomplete]
|
text.sector.locked=[scarlet][[Incomplete]
|
||||||
text.sector.unexplored=[accent][[Unexplored]
|
text.sector.unexplored=[accent][[Unexplored]
|
||||||
text.close=Close
|
text.close=Close
|
||||||
text.save.playtime=Playtime: {0}
|
text.save.playtime=Playtime: {0}
|
||||||
text.editor.brush=Brush
|
text.editor.brush=Brush
|
||||||
|
text.credits.text=Created by [ROYAL]Anuken[] - [SKY]anukendev@gmail.com[]\n\n[GRAY](In case you can't tell, this text is currently unfinished.\nTranslators, don't edit it yet!)
|
||||||
|
text.sector.gameover=This sector has been lost. Re-deploy?
|
||||||
|
text.sector.retry=Retry
|
||||||
|
text.wave.lasted=You lasted until wave [accent]{0}[].
|
||||||
|
setting.fpscap.name=Max FPS
|
||||||
|
setting.fpscap.none=None
|
||||||
|
setting.fpscap.text={0} FPS
|
||||||
|
block.command-center.name=Command Center
|
||||||
|
text.mission=Mission:[LIGHT_GRAY] {0}
|
||||||
|
text.mission.wave=Survive [accent]{0}[] waves.
|
||||||
|
text.mission.battle=Destroy the enemy base.
|
||||||
|
text.none=<none>
|
||||||
|
text.sector.corrupted=[orange]A save file for this sector was found, but loading failed.\nA new one has been created.
|
||||||
|
text.mission.complete=Mission complete!
|
||||||
|
text.mission.complete.body=Sector {0},{1} has been conquered.
|
||||||
|
text.mission.resource=Obtain {0} x{1}
|
||||||
|
text.unit.health=[LIGHT_GRAY]Health: {0}
|
||||||
|
text.unit.speed=[LIGHT_GRAY]Speed: {0}
|
||||||
|
block.drone-pad.name=Drone Pad
|
||||||
|
block.fabricator-pad.name=Fabricator Pad
|
||||||
|
block.interceptor-pad.name=Interceptor Pad
|
||||||
|
block.monsoon-pad.name=Monsoon Pad
|
||||||
|
block.mass-driver.name=Mass Driver
|
||||||
|
block.blast-drill.name=Blast Drill
|
||||||
|
unit.drone.name=Drone
|
||||||
|
unit.drone.description=The starter drone unit. Spawns in the core by default. Automatically mines ores, collects items and repairs blocks.
|
||||||
|
unit.fabricator.name=Fabricator
|
||||||
|
unit.fabricator.description=An advanced drone unit. Automatically mines ores, collects items and repairs blocks. Significantly more effective than a drone.
|
||||||
|
unit.scout.name=Scout
|
||||||
|
unit.scout.description=A basic ground unit. Uses lead as ammo.
|
||||||
|
unit.titan.name=Titan
|
||||||
|
unit.titan.description=An advanced armored ground unit. Uses carbide as ammo. Attacks both ground and air targets.
|
||||||
|
unit.monsoon.name=Monsoon
|
||||||
|
unit.monsoon.description=A heavy carpet bomber. Uses blast compound or pyratite as ammo.
|
||||||
|
unit.interceptor.name=Interceptor
|
||||||
|
unit.interceptor.description=A fast, hit-and-run strike unit. Uses lead as ammo.
|
||||||
|
mode.sandbox.warning=Note that blocks cannot be used in sandbox mode until they are unlocked in other modes.\n\n[LIGHT_GRAY]If you have not unlocked any blocks, none will appear.
|
||||||
|
block.thermal-pump.name=Thermal Pump
|
||||||
|
block.dagger-pad.name=Dagger Pad
|
||||||
|
block.titan-pad.name=Titan Pad
|
||||||
|
block.thermal-generator.name=Thermal Generator
|
||||||
|
|||||||
BIN
core/assets/maps/sandbox.mmap
Normal file
|
Before Width: | Height: | Size: 138 KiB After Width: | Height: | Size: 138 KiB |
@@ -1,5 +1,5 @@
|
|||||||
{
|
{
|
||||||
com.badlogic.gdx.graphics.g2d.BitmapFont: {
|
Font: {
|
||||||
default-font: {
|
default-font: {
|
||||||
file: square.fnt,
|
file: square.fnt,
|
||||||
markupEnabled: true,
|
markupEnabled: true,
|
||||||
@@ -26,22 +26,16 @@ com.badlogic.gdx.graphics.g2d.BitmapFont: {
|
|||||||
scale: 2
|
scale: 2
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
com.badlogic.gdx.graphics.Color: {
|
Color: {
|
||||||
black: {a: 1, b: 0, g: 0, r: 0 },
|
black: {a: 1, b: 0, g: 0, r: 0 },
|
||||||
white: {a: 1, b: 1, g: 1, r: 1 },
|
white: {a: 1, b: 1, g: 1, r: 1 },
|
||||||
green: {a: 1, b: 0, g: 1, r: 0 },
|
gray: {a: 1, b: 0.32, g: 0.32, r: 0.32 },
|
||||||
red: {a: 1, b: 0, g: 0, r: 1 },
|
lightgray: {a: 1, b: 0.65, g: 0.65, r: 0.65 }
|
||||||
blue: {a: 1, b: 1, g: 0, r: 0 },
|
orange: {hex: "FFA500"},
|
||||||
grey: {a: 1, b: 0.32, g: 0.32, r: 0.32 },
|
|
||||||
lightgray: {a: 1, b: 0.3, g: 0.3, r: 0.3 },
|
|
||||||
orange: {hex: "#FFA500"},
|
|
||||||
accent: {hex: "f4ba6e"},
|
accent: {hex: "f4ba6e"},
|
||||||
vis-blue: {a: 1, b: 0.886, g: 0.631, r: 0.105 },
|
accentDark: {hex: "f4ba6e"},
|
||||||
vis-red: {a: 1, b: 0.047, g: 0, r: 0.862 },
|
|
||||||
menuitem: {a: 1, b: 0.65, g: 0.65, r: 0.65 },
|
|
||||||
link-label: {a: 1, b: 0.886, g: 0.631, r: 0.105 }
|
|
||||||
},
|
},
|
||||||
io.anuke.ucore.scene.Skin$TintedDrawable: {
|
TintedDrawable: {
|
||||||
dialogDim: {name: white, color: {r: 0, g: 0, b: 0, a: 0.9} },
|
dialogDim: {name: white, color: {r: 0, g: 0, b: 0, a: 0.9} },
|
||||||
invis: {name: white, color: {r: 0, g: 0, b: 0, a: 0} }
|
invis: {name: white, color: {r: 0, g: 0, b: 0, a: 0} }
|
||||||
loadDim: {name: white, color: {r: 0, g: 0, b: 0, a: 0.8} },
|
loadDim: {name: white, color: {r: 0, g: 0, b: 0, a: 0.8} },
|
||||||
@@ -50,61 +44,58 @@ io.anuke.ucore.scene.Skin$TintedDrawable: {
|
|||||||
clear-over: {name: white, color: {r: 1, g: 1, b: 1, a: 0.2} },
|
clear-over: {name: white, color: {r: 1, g: 1, b: 1, a: 0.2} },
|
||||||
clear-down: {name: white, color: {r: 1, g: 1, b: 1, a: 0.4} }
|
clear-down: {name: white, color: {r: 1, g: 1, b: 1, a: 0.4} }
|
||||||
},
|
},
|
||||||
io.anuke.ucore.scene.ui.Button$ButtonStyle: {
|
ButtonStyle: {
|
||||||
default: {down: button-down, up: button },
|
default: {down: button-down, up: button },
|
||||||
menu: {up: text-sides, over: text-sides-over, down: text-sides-down},
|
menu: {up: text-sides, over: text-sides-over, down: text-sides-down},
|
||||||
toggle: {checked: button-down, down: button-down, up: button }
|
toggle: {checked: button-down, down: button-down, up: button }
|
||||||
},
|
},
|
||||||
io.anuke.ucore.scene.ui.TextButton$TextButtonStyle: {
|
TextButtonStyle: {
|
||||||
default: {over: button-over, disabled: button, font: default-font, fontColor: white, disabledFontColor: grey, down: button-down, up: button, transition: 0 },
|
default: {over: button-over, disabled: button, font: default-font, fontColor: white, disabledFontColor: gray, down: button-down, up: button, transition: 0 },
|
||||||
discord: {over: discord-banner-over, font: default-font, fontColor: white, up: discord-banner},
|
discord: {over: discord-banner-over, font: default-font, fontColor: white, up: discord-banner},
|
||||||
info: {font: default-font, fontColor: white, up: info-banner},
|
info: {font: default-font, fontColor: white, up: info-banner},
|
||||||
clear: {down: clear-down, up: clear, over: clear-over, font: default-font, fontColor: white, disabledFontColor: grey },
|
clear: {down: clear-down, up: clear, over: clear-over, font: default-font, fontColor: white, disabledFontColor: gray },
|
||||||
empty: {font: default-font},
|
empty: {font: default-font},
|
||||||
toggle: {font: default-font, fontColor: white, checked: button-down, down: button-down, up: button, over: button-over, disabled: button, disabledFontColor: grey }
|
toggle: {font: default-font, fontColor: white, checked: button-down, down: button-down, up: button, over: button-over, disabled: button, disabledFontColor: gray }
|
||||||
},
|
},
|
||||||
io.anuke.ucore.scene.ui.ImageButton$ImageButtonStyle: {
|
ImageButtonStyle: {
|
||||||
default: {down: button-down, up: button, over: button-over, imageDisabledColor: lightgray, imageUpColor: white },
|
default: {down: button-down, up: button, over: button-over, imageDisabledColor: gray, imageUpColor: white },
|
||||||
empty: { imageDownColor: accent, imageUpColor: white},
|
empty: { imageDownColor: accent, imageUpColor: white},
|
||||||
emptytoggle: {imageCheckedColor: white, imageDownColor: white, imageUpColor: lightgray},
|
emptytoggle: {imageCheckedColor: white, imageDownColor: white, imageUpColor: gray},
|
||||||
static: {up: button },
|
static: {up: button },
|
||||||
static-down: {up: button-down },
|
static-down: {up: button-down },
|
||||||
toggle: {checked: button-down, down: button-down, up: button, imageDisabledColor: lightgray, imageUpColor: white },
|
toggle: {checked: button-down, down: button-down, up: button, imageDisabledColor: gray, imageUpColor: white },
|
||||||
togglemap: {down: button-map-down, up: button-map },
|
|
||||||
select: {checked: button-select, up: clear },
|
select: {checked: button-select, up: clear },
|
||||||
clear: {down: clear-down, up: clear, over: clear-over},
|
clear: {down: clear-down, up: clear, over: clear-over},
|
||||||
},
|
},
|
||||||
io.anuke.ucore.scene.ui.ScrollPane$ScrollPaneStyle: {
|
ScrollPaneStyle: {
|
||||||
default: {background: border, vScroll: scroll, vScrollKnob: scroll-knob-vertical-black},
|
default: {background: border, vScroll: scroll, vScrollKnob: scroll-knob-vertical-black},
|
||||||
horizontal: {background: border, vScroll: scroll, vScrollKnob: scroll-knob-vertical, hScroll: scroll-horizontal, hScrollKnob: scroll-knob-horizontal},
|
horizontal: {background: border, vScroll: scroll, vScrollKnob: scroll-knob-vertical, hScroll: scroll-horizontal, hScrollKnob: scroll-knob-horizontal},
|
||||||
volume: {background: button-map, vScroll: scroll, vScrollKnob: scroll-knob-vertical-black},
|
volume: {background: button-map, vScroll: scroll, vScrollKnob: scroll-knob-vertical-black},
|
||||||
clear: {vScroll: scroll, vScrollKnob: scroll-knob-vertical-black},
|
clear: {vScroll: scroll, vScrollKnob: scroll-knob-vertical-black},
|
||||||
clear-black: {vScroll: scroll, vScrollKnob: scroll-knob-vertical-black}
|
clear-black: {vScroll: scroll, vScrollKnob: scroll-knob-vertical-black}
|
||||||
},
|
},
|
||||||
io.anuke.ucore.scene.ui.Window$WindowStyle: {
|
WindowStyle: {
|
||||||
default: {titleFont: default-font, background: window, titleFontColor: accent },
|
default: {titleFont: default-font, background: window, titleFontColor: accent },
|
||||||
dialog: {stageBackground: dialogDim, titleFont: default-font, background: window-empty, titleFontColor: accent }
|
dialog: {stageBackground: dialogDim, titleFont: default-font, background: window-empty, titleFontColor: accent }
|
||||||
},
|
},
|
||||||
io.anuke.ucore.scene.ui.KeybindDialog$KeybindDialogStyle: {
|
KeybindDialogStyle: {
|
||||||
default: {keyColor: accent, keyNameColor: white, controllerColor: menuitem, paneStyle: clear},
|
default: {keyColor: accent, keyNameColor: white, controllerColor: lightgray, paneStyle: clear},
|
||||||
},
|
},
|
||||||
io.anuke.ucore.scene.ui.Slider$SliderStyle: {
|
SliderStyle: {
|
||||||
default-horizontal: {background: slider, knob: slider-knob, knobOver: slider-knob-over, knobDown: slider-knob-down},
|
default-horizontal: {background: slider, knob: slider-knob, knobOver: slider-knob-over, knobDown: slider-knob-down},
|
||||||
default-vertical: {background: slider-vertical, knob: slider-knob, knobOver: slider-knob-over, knobDown: slider-knob-down}
|
default-vertical: {background: slider-vertical, knob: slider-knob, knobOver: slider-knob-over, knobDown: slider-knob-down}
|
||||||
},
|
},
|
||||||
io.anuke.ucore.scene.ui.Label$LabelStyle: {
|
LabelStyle: {
|
||||||
default: {font: default-font, fontColor: white },
|
default: {font: default-font, fontColor: white },
|
||||||
title: {font: title, fontColor: white },
|
title: {font: title, fontColor: white },
|
||||||
link-label: {fontColor: link-label, font: default-font },
|
small: {font: default-font, fontColor: white }
|
||||||
small: {font: default-font, fontColor: white },
|
|
||||||
menuitem-shortcut: {font: default-font, fontColor: menuitem }
|
|
||||||
},
|
},
|
||||||
io.anuke.ucore.scene.ui.TextField$TextFieldStyle: {
|
TextFieldStyle: {
|
||||||
default: {font: default-font-chat, fontColor: white, disabledFontColor: grey, selection: selection, background: button, cursor: cursor, messageFont: default-font, messageFontColor: grey }
|
default: {font: default-font-chat, fontColor: white, disabledFontColor: gray, selection: selection, background: button, cursor: cursor, messageFont: default-font, messageFontColor: gray }
|
||||||
textarea: {font: default-font-chat, fontColor: white, disabledFontColor: grey, selection: selection, background: textarea, cursor: cursor, messageFont: default-font, messageFontColor: grey }
|
textarea: {font: default-font-chat, fontColor: white, disabledFontColor: gray, selection: selection, background: textarea, cursor: cursor, messageFont: default-font, messageFontColor: gray }
|
||||||
}
|
}
|
||||||
|
|
||||||
io.anuke.ucore.scene.ui.CheckBox$CheckBoxStyle: {
|
CheckBoxStyle: {
|
||||||
default: {checkboxOn: check-on, checkboxOff: check-off, checkboxOnOver: check-on-over, checkboxOver: check-over, font: default-font, fontColor: white, disabledFontColor: grey }
|
default: {checkboxOn: check-on, checkboxOff: check-off, checkboxOnOver: check-on-over, checkboxOver: check-over, font: default-font, fontColor: white, disabledFontColor: gray }
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -19,4 +19,6 @@
|
|||||||
<extend-configuration-property name="gdx.reflect.include" value="io.anuke.mindustry.world.meta.BlockBar"/>
|
<extend-configuration-property name="gdx.reflect.include" value="io.anuke.mindustry.world.meta.BlockBar"/>
|
||||||
<extend-configuration-property name="gdx.reflect.include" value="io.anuke.mindustry.maps.generation.WorldGenerator"/>
|
<extend-configuration-property name="gdx.reflect.include" value="io.anuke.mindustry.maps.generation.WorldGenerator"/>
|
||||||
<extend-configuration-property name="gdx.reflect.include" value="io.anuke.mindustry.entities.StatusController"/>
|
<extend-configuration-property name="gdx.reflect.include" value="io.anuke.mindustry.entities.StatusController"/>
|
||||||
|
<extend-configuration-property name="gdx.reflect.include" value="io.anuke.mindustry.maps.Sector"/>
|
||||||
|
<extend-configuration-property name="gdx.reflect.include" value="com.badlogic.gdx.utils.Predicate"/>
|
||||||
</module>
|
</module>
|
||||||
@@ -29,14 +29,18 @@ public class Mindustry extends ModuleCore{
|
|||||||
module(ui = new UI());
|
module(ui = new UI());
|
||||||
module(netServer = new NetServer());
|
module(netServer = new NetServer());
|
||||||
module(netClient = new NetClient());
|
module(netClient = new NetClient());
|
||||||
|
}
|
||||||
|
|
||||||
|
@Override
|
||||||
|
public void postInit(){
|
||||||
Log.info("Time to load [total]: {0}", Timers.elapsed());
|
Log.info("Time to load [total]: {0}", Timers.elapsed());
|
||||||
}
|
}
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
public void render(){
|
public void render(){
|
||||||
|
threads.handleBeginRender();
|
||||||
super.render();
|
super.render();
|
||||||
threads.handleRender();
|
threads.handleEndRender();
|
||||||
}
|
}
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -32,8 +32,6 @@ public class Vars{
|
|||||||
public static final float respawnduration = 60 * 4;
|
public static final float respawnduration = 60 * 4;
|
||||||
//time between waves in frames (on normal mode)
|
//time between waves in frames (on normal mode)
|
||||||
public static final float wavespace = 60 * 60 * 2f;
|
public static final float wavespace = 60 * 60 * 2f;
|
||||||
//waves can last no longer than 3 minutes, otherwise the next one spawns
|
|
||||||
public static final float maxwavespace = 60 * 60 * 4f;
|
|
||||||
//set ridiculously high for now
|
//set ridiculously high for now
|
||||||
public static final float coreBuildRange = 800999f;
|
public static final float coreBuildRange = 800999f;
|
||||||
//discord group URL
|
//discord group URL
|
||||||
@@ -41,11 +39,9 @@ public class Vars{
|
|||||||
public static final String releasesURL = "https://api.github.com/repos/Anuken/Mindustry/releases";
|
public static final String releasesURL = "https://api.github.com/repos/Anuken/Mindustry/releases";
|
||||||
public static final int maxTextLength = 150;
|
public static final int maxTextLength = 150;
|
||||||
public static final int maxNameLength = 40;
|
public static final int maxNameLength = 40;
|
||||||
//public static final int maxCharNameLength = 20;
|
|
||||||
// public static final int saveSlots = 64;
|
|
||||||
public static final float itemSize = 5f;
|
public static final float itemSize = 5f;
|
||||||
public static final int tilesize = 8;
|
public static final int tilesize = 8;
|
||||||
public static final int sectorSize = 256;
|
public static final int sectorSize = 300;
|
||||||
public static final int mapPadding = 3;
|
public static final int mapPadding = 3;
|
||||||
public static final int invalidSector = Integer.MAX_VALUE;
|
public static final int invalidSector = Integer.MAX_VALUE;
|
||||||
public static Locale[] locales;
|
public static Locale[] locales;
|
||||||
@@ -69,7 +65,6 @@ public class Vars{
|
|||||||
};
|
};
|
||||||
//server port
|
//server port
|
||||||
public static final int port = 6567;
|
public static final int port = 6567;
|
||||||
public static final int webPort = 6568;
|
|
||||||
public static boolean testMobile;
|
public static boolean testMobile;
|
||||||
//shorthand for whether or not this is running on android or ios
|
//shorthand for whether or not this is running on android or ios
|
||||||
public static boolean mobile;
|
public static boolean mobile;
|
||||||
@@ -143,8 +138,6 @@ public class Vars{
|
|||||||
String code = stra[i];
|
String code = stra[i];
|
||||||
if(code.contains("_")){
|
if(code.contains("_")){
|
||||||
locales[i] = new Locale(code.split("_")[0], code.split("_")[1]);
|
locales[i] = new Locale(code.split("_")[0], code.split("_")[1]);
|
||||||
}else if(code.contains("-")){
|
|
||||||
locales[i] = new Locale(code.split("-")[0], code.split("-")[1]);
|
|
||||||
}else{
|
}else{
|
||||||
locales[i] = new Locale(code);
|
locales[i] = new Locale(code);
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -89,7 +89,7 @@ public class Pathfinder{
|
|||||||
}
|
}
|
||||||
|
|
||||||
private boolean passable(Tile tile, Team team){
|
private boolean passable(Tile tile, Team team){
|
||||||
return (tile.block() == Blocks.air && !tile.floor().isLiquid && tile.cliffs == 0 && !tile.floor().solid && !(tile.floor().isLiquid && (tile.floor().damageTaken > 0 || tile.floor().drownTime > 0)))
|
return (tile.block() == Blocks.air && !tile.floor().isLiquid && !tile.hasCliffs() && !tile.floor().solid && !(tile.floor().isLiquid && (tile.floor().damageTaken > 0 || tile.floor().drownTime > 0)))
|
||||||
|| (tile.breakable() && (tile.getTeam() != team)) || !tile.solid();
|
|| (tile.breakable() && (tile.getTeam() != team)) || !tile.solid();
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|||||||
@@ -71,9 +71,16 @@ public class Items implements ContentList{
|
|||||||
cost = 1.5f;
|
cost = 1.5f;
|
||||||
}};
|
}};
|
||||||
|
|
||||||
surgealloy = new Item("surge-alloy", Color.valueOf("b4d5c7")){{
|
surgealloy = new Item("surge-alloy", Color.valueOf("b4d5c7")){
|
||||||
type = ItemType.material;
|
{
|
||||||
}};
|
type = ItemType.material;
|
||||||
|
}
|
||||||
|
|
||||||
|
@Override
|
||||||
|
public boolean isHidden(){
|
||||||
|
return true;
|
||||||
|
}
|
||||||
|
};
|
||||||
|
|
||||||
biomatter = new Item("biomatter", Color.valueOf("648b55")){{
|
biomatter = new Item("biomatter", Color.valueOf("648b55")){{
|
||||||
flammability = 0.4f;
|
flammability = 0.4f;
|
||||||
|
|||||||
@@ -24,11 +24,12 @@ public class Mechs implements ContentList{
|
|||||||
speed = 0.5f;
|
speed = 0.5f;
|
||||||
weapon = Weapons.blaster;
|
weapon = Weapons.blaster;
|
||||||
trailColor = Palette.lightTrail;
|
trailColor = Palette.lightTrail;
|
||||||
|
maxSpeed = 4f;
|
||||||
}};
|
}};
|
||||||
|
|
||||||
delta = new Mech("delta-mech", false){{
|
delta = new Mech("delta-mech", false){{
|
||||||
drillPower = -1;
|
drillPower = -1;
|
||||||
speed = 0.63f;
|
speed = 0.75f;
|
||||||
boostSpeed = 0.86f;
|
boostSpeed = 0.86f;
|
||||||
itemCapacity = 15;
|
itemCapacity = 15;
|
||||||
armor = 30f;
|
armor = 30f;
|
||||||
@@ -37,16 +38,19 @@ public class Mechs implements ContentList{
|
|||||||
weapon = Weapons.shockgun;
|
weapon = Weapons.shockgun;
|
||||||
ammoCapacity = 50;
|
ammoCapacity = 50;
|
||||||
trailColor = Color.valueOf("d3ddff");
|
trailColor = Color.valueOf("d3ddff");
|
||||||
|
maxSpeed = 5f;
|
||||||
}};
|
}};
|
||||||
|
|
||||||
tau = new Mech("tau-mech", false){{
|
tau = new Mech("tau-mech", false){{
|
||||||
drillPower = 2;
|
drillPower = 2;
|
||||||
speed = 0.5f;
|
speed = 0.5f;
|
||||||
|
maxSpeed = 5f;
|
||||||
}};
|
}};
|
||||||
|
|
||||||
omega = new Mech("omega-mech", false){{
|
omega = new Mech("omega-mech", false){{
|
||||||
drillPower = 1;
|
drillPower = 1;
|
||||||
speed = 0.4f;
|
speed = 0.4f;
|
||||||
|
maxSpeed = 3f;
|
||||||
}};
|
}};
|
||||||
|
|
||||||
dart = new Mech("dart-ship", true){{
|
dart = new Mech("dart-ship", true){{
|
||||||
|
|||||||
@@ -51,6 +51,7 @@ public class Recipes implements ContentList{
|
|||||||
new Recipe(distribution, DistributionBlocks.sorter, new ItemStack(Items.carbide, 4), new ItemStack(Items.tungsten, 4));
|
new Recipe(distribution, DistributionBlocks.sorter, new ItemStack(Items.carbide, 4), new ItemStack(Items.tungsten, 4));
|
||||||
new Recipe(distribution, DistributionBlocks.overflowGate, new ItemStack(Items.carbide, 4), new ItemStack(Items.tungsten, 8));
|
new Recipe(distribution, DistributionBlocks.overflowGate, new ItemStack(Items.carbide, 4), new ItemStack(Items.tungsten, 8));
|
||||||
new Recipe(distribution, DistributionBlocks.bridgeConveyor, new ItemStack(Items.carbide, 8), new ItemStack(Items.tungsten, 8));
|
new Recipe(distribution, DistributionBlocks.bridgeConveyor, new ItemStack(Items.carbide, 8), new ItemStack(Items.tungsten, 8));
|
||||||
|
new Recipe(distribution, DistributionBlocks.massDriver, new ItemStack(Items.carbide, 400), new ItemStack(Items.silicon, 300), new ItemStack(Items.lead, 400), new ItemStack(Items.thorium, 250));
|
||||||
|
|
||||||
//CRAFTING
|
//CRAFTING
|
||||||
|
|
||||||
@@ -74,7 +75,6 @@ public class Recipes implements ContentList{
|
|||||||
|
|
||||||
new Recipe(crafting, CraftingBlocks.solidifier, new ItemStack(Items.carbide, 30), new ItemStack(Items.tungsten, 20));
|
new Recipe(crafting, CraftingBlocks.solidifier, new ItemStack(Items.carbide, 30), new ItemStack(Items.tungsten, 20));
|
||||||
new Recipe(crafting, CraftingBlocks.melter, new ItemStack(Items.tungsten, 60), new ItemStack(Items.lead, 70), new ItemStack(Items.carbide, 90));
|
new Recipe(crafting, CraftingBlocks.melter, new ItemStack(Items.tungsten, 60), new ItemStack(Items.lead, 70), new ItemStack(Items.carbide, 90));
|
||||||
|
|
||||||
new Recipe(crafting, CraftingBlocks.incinerator, new ItemStack(Items.carbide, 10), new ItemStack(Items.lead, 30));
|
new Recipe(crafting, CraftingBlocks.incinerator, new ItemStack(Items.carbide, 10), new ItemStack(Items.lead, 30));
|
||||||
|
|
||||||
//processing
|
//processing
|
||||||
@@ -95,6 +95,7 @@ public class Recipes implements ContentList{
|
|||||||
//generators - combustion
|
//generators - combustion
|
||||||
new Recipe(power, PowerBlocks.combustionGenerator, new ItemStack(Items.tungsten, 50), new ItemStack(Items.lead, 30));
|
new Recipe(power, PowerBlocks.combustionGenerator, new ItemStack(Items.tungsten, 50), new ItemStack(Items.lead, 30));
|
||||||
new Recipe(power, PowerBlocks.turbineGenerator, new ItemStack(Items.tungsten, 70), new ItemStack(Items.carbide, 50), new ItemStack(Items.lead, 80), new ItemStack(Items.silicon, 60));
|
new Recipe(power, PowerBlocks.turbineGenerator, new ItemStack(Items.tungsten, 70), new ItemStack(Items.carbide, 50), new ItemStack(Items.lead, 80), new ItemStack(Items.silicon, 60));
|
||||||
|
new Recipe(power, PowerBlocks.thermalGenerator, new ItemStack(Items.tungsten, 80), new ItemStack(Items.carbide, 70), new ItemStack(Items.lead, 100), new ItemStack(Items.silicon, 70), new ItemStack(Items.thorium, 70));
|
||||||
|
|
||||||
//generators - solar
|
//generators - solar
|
||||||
new Recipe(power, PowerBlocks.solarPanel, new ItemStack(Items.lead, 20), new ItemStack(Items.silicon, 30));
|
new Recipe(power, PowerBlocks.solarPanel, new ItemStack(Items.lead, 20), new ItemStack(Items.silicon, 30));
|
||||||
@@ -104,14 +105,14 @@ public class Recipes implements ContentList{
|
|||||||
new Recipe(power, PowerBlocks.nuclearReactor, new ItemStack(Items.lead, 600), new ItemStack(Items.silicon, 400), new ItemStack(Items.carbide, 300), new ItemStack(Items.thorium, 300));
|
new Recipe(power, PowerBlocks.nuclearReactor, new ItemStack(Items.lead, 600), new ItemStack(Items.silicon, 400), new ItemStack(Items.carbide, 300), new ItemStack(Items.thorium, 300));
|
||||||
|
|
||||||
//new Recipe(distribution, StorageBlocks.core, new ItemStack(Items.carbide, 50));
|
//new Recipe(distribution, StorageBlocks.core, new ItemStack(Items.carbide, 50));
|
||||||
//new Recipe(distribution, StorageBlocks.unloader, new ItemStack(Items.carbide, 40), new ItemStack(Items.silicon, 50));
|
new Recipe(distribution, StorageBlocks.unloader, new ItemStack(Items.carbide, 40), new ItemStack(Items.silicon, 50));
|
||||||
new Recipe(distribution, StorageBlocks.unloader, new ItemStack(Items.carbide, 40), new ItemStack(Items.silicon, 70));
|
|
||||||
new Recipe(distribution, StorageBlocks.vault, new ItemStack(Items.carbide, 500), new ItemStack(Items.thorium, 350));
|
new Recipe(distribution, StorageBlocks.vault, new ItemStack(Items.carbide, 500), new ItemStack(Items.thorium, 350));
|
||||||
|
|
||||||
//DRILLS, PRODUCERS
|
//DRILLS, PRODUCERS
|
||||||
new Recipe(production, ProductionBlocks.tungstenDrill, new ItemStack(Items.tungsten, 25));
|
new Recipe(production, ProductionBlocks.tungstenDrill, new ItemStack(Items.tungsten, 25));
|
||||||
new Recipe(production, ProductionBlocks.carbideDrill, new ItemStack(Items.tungsten, 50), new ItemStack(Items.carbide, 60));
|
new Recipe(production, ProductionBlocks.carbideDrill, new ItemStack(Items.tungsten, 50), new ItemStack(Items.carbide, 60));
|
||||||
new Recipe(production, ProductionBlocks.laserdrill, new ItemStack(Items.tungsten, 90), new ItemStack(Items.carbide, 110), new ItemStack(Items.silicon, 70), new ItemStack(Items.titanium, 80));
|
new Recipe(production, ProductionBlocks.laserdrill, new ItemStack(Items.tungsten, 90), new ItemStack(Items.carbide, 110), new ItemStack(Items.silicon, 70), new ItemStack(Items.titanium, 80));
|
||||||
|
new Recipe(production, ProductionBlocks.blastdrill, new ItemStack(Items.tungsten, 140), new ItemStack(Items.carbide, 180), new ItemStack(Items.silicon, 120), new ItemStack(Items.titanium, 130), new ItemStack(Items.thorium, 130));
|
||||||
|
|
||||||
new Recipe(production, ProductionBlocks.waterextractor, new ItemStack(Items.tungsten, 50), new ItemStack(Items.carbide, 50), new ItemStack(Items.lead, 40));
|
new Recipe(production, ProductionBlocks.waterextractor, new ItemStack(Items.tungsten, 50), new ItemStack(Items.carbide, 50), new ItemStack(Items.lead, 40));
|
||||||
new Recipe(production, ProductionBlocks.cultivator, new ItemStack(Items.tungsten, 20), new ItemStack(Items.lead, 50), new ItemStack(Items.silicon, 20));
|
new Recipe(production, ProductionBlocks.cultivator, new ItemStack(Items.tungsten, 20), new ItemStack(Items.lead, 50), new ItemStack(Items.silicon, 20));
|
||||||
@@ -120,7 +121,6 @@ public class Recipes implements ContentList{
|
|||||||
//UNITS
|
//UNITS
|
||||||
|
|
||||||
//bodies
|
//bodies
|
||||||
|
|
||||||
new Recipe(units, UpgradeBlocks.dartFactory, new ItemStack(Items.lead, 150), new ItemStack(Items.silicon, 200), new ItemStack(Items.titanium, 240))
|
new Recipe(units, UpgradeBlocks.dartFactory, new ItemStack(Items.lead, 150), new ItemStack(Items.silicon, 200), new ItemStack(Items.titanium, 240))
|
||||||
.setDesktop(); //dart is desktop only, because it's the starter mobile ship
|
.setDesktop(); //dart is desktop only, because it's the starter mobile ship
|
||||||
|
|
||||||
@@ -132,11 +132,18 @@ public class Recipes implements ContentList{
|
|||||||
//new Recipe(units, UpgradeBlocks.deltaFactory, new ItemStack(Items.tungsten, 30), new ItemStack(Items.lead, 50), new ItemStack(Items.silicon, 30));
|
//new Recipe(units, UpgradeBlocks.deltaFactory, new ItemStack(Items.tungsten, 30), new ItemStack(Items.lead, 50), new ItemStack(Items.silicon, 30));
|
||||||
|
|
||||||
//actual unit related stuff
|
//actual unit related stuff
|
||||||
new Recipe(units, UnitBlocks.droneFactory, new ItemStack(Items.tungsten, 50), new ItemStack(Items.lead, 90), new ItemStack(Items.silicon, 130));
|
new Recipe(units, UnitBlocks.dronePad, new ItemStack(Items.tungsten, 50), new ItemStack(Items.lead, 90), new ItemStack(Items.silicon, 130));
|
||||||
new Recipe(units, UnitBlocks.fabricatorFactory, new ItemStack(Items.carbide, 70), new ItemStack(Items.thorium, 100), new ItemStack(Items.lead, 150), new ItemStack(Items.silicon, 300));
|
new Recipe(units, UnitBlocks.fabricatorPad, new ItemStack(Items.carbide, 70), new ItemStack(Items.thorium, 60), new ItemStack(Items.lead, 130), new ItemStack(Items.silicon, 200));
|
||||||
|
|
||||||
|
new Recipe(units, UnitBlocks.daggerPad, new ItemStack(Items.lead, 80), new ItemStack(Items.silicon, 70));
|
||||||
|
new Recipe(units, UnitBlocks.titanPad, new ItemStack(Items.thorium, 90), new ItemStack(Items.lead, 140), new ItemStack(Items.silicon, 180));
|
||||||
|
|
||||||
|
new Recipe(units, UnitBlocks.interceptorPad, new ItemStack(Items.titanium, 40), new ItemStack(Items.lead, 80), new ItemStack(Items.silicon, 90));
|
||||||
|
new Recipe(units, UnitBlocks.monsoonPad, new ItemStack(Items.plastanium, 70), new ItemStack(Items.titanium, 100), new ItemStack(Items.lead, 130), new ItemStack(Items.silicon, 220));
|
||||||
|
|
||||||
new Recipe(units, UnitBlocks.repairPoint, new ItemStack(Items.lead, 30), new ItemStack(Items.tungsten, 30), new ItemStack(Items.silicon, 30));
|
new Recipe(units, UnitBlocks.repairPoint, new ItemStack(Items.lead, 30), new ItemStack(Items.tungsten, 30), new ItemStack(Items.silicon, 30));
|
||||||
new Recipe(units, UnitBlocks.resupplyPoint, new ItemStack(Items.lead, 30), new ItemStack(Items.tungsten, 30), new ItemStack(Items.silicon, 30));
|
new Recipe(units, UnitBlocks.resupplyPoint, new ItemStack(Items.lead, 30), new ItemStack(Items.tungsten, 30), new ItemStack(Items.silicon, 30));
|
||||||
|
new Recipe(units, UnitBlocks.commandCenter, new ItemStack(Items.lead, 100), new ItemStack(Items.carbide, 140), new ItemStack(Items.silicon, 250));
|
||||||
|
|
||||||
//LIQUIDS
|
//LIQUIDS
|
||||||
new Recipe(liquid, LiquidBlocks.conduit, new ItemStack(Items.lead, 1))
|
new Recipe(liquid, LiquidBlocks.conduit, new ItemStack(Items.lead, 1))
|
||||||
@@ -144,7 +151,6 @@ public class Recipes implements ContentList{
|
|||||||
new Recipe(liquid, LiquidBlocks.pulseConduit, new ItemStack(Items.titanium, 1), new ItemStack(Items.lead, 1));
|
new Recipe(liquid, LiquidBlocks.pulseConduit, new ItemStack(Items.titanium, 1), new ItemStack(Items.lead, 1));
|
||||||
new Recipe(liquid, LiquidBlocks.phaseConduit, new ItemStack(Items.phasematter, 10), new ItemStack(Items.silicon, 15), new ItemStack(Items.lead, 20), new ItemStack(Items.titanium, 20));
|
new Recipe(liquid, LiquidBlocks.phaseConduit, new ItemStack(Items.phasematter, 10), new ItemStack(Items.silicon, 15), new ItemStack(Items.lead, 20), new ItemStack(Items.titanium, 20));
|
||||||
|
|
||||||
|
|
||||||
new Recipe(liquid, LiquidBlocks.liquidRouter, new ItemStack(Items.carbide, 4), new ItemStack(Items.lead, 4));
|
new Recipe(liquid, LiquidBlocks.liquidRouter, new ItemStack(Items.carbide, 4), new ItemStack(Items.lead, 4));
|
||||||
new Recipe(liquid, LiquidBlocks.liquidtank, new ItemStack(Items.titanium, 50), new ItemStack(Items.lead, 50), new ItemStack(Items.carbide, 20));
|
new Recipe(liquid, LiquidBlocks.liquidtank, new ItemStack(Items.titanium, 50), new ItemStack(Items.lead, 50), new ItemStack(Items.carbide, 20));
|
||||||
new Recipe(liquid, LiquidBlocks.liquidJunction, new ItemStack(Items.carbide, 4), new ItemStack(Items.lead, 4));
|
new Recipe(liquid, LiquidBlocks.liquidJunction, new ItemStack(Items.carbide, 4), new ItemStack(Items.lead, 4));
|
||||||
@@ -153,6 +159,7 @@ public class Recipes implements ContentList{
|
|||||||
new Recipe(liquid, LiquidBlocks.mechanicalPump, new ItemStack(Items.tungsten, 30), new ItemStack(Items.lead, 20))
|
new Recipe(liquid, LiquidBlocks.mechanicalPump, new ItemStack(Items.tungsten, 30), new ItemStack(Items.lead, 20))
|
||||||
.setDependencies(CraftingBlocks.smelter);
|
.setDependencies(CraftingBlocks.smelter);
|
||||||
new Recipe(liquid, LiquidBlocks.rotaryPump, new ItemStack(Items.tungsten, 140), new ItemStack(Items.lead, 100), new ItemStack(Items.silicon, 40), new ItemStack(Items.titanium, 70));
|
new Recipe(liquid, LiquidBlocks.rotaryPump, new ItemStack(Items.tungsten, 140), new ItemStack(Items.lead, 100), new ItemStack(Items.silicon, 40), new ItemStack(Items.titanium, 70));
|
||||||
|
new Recipe(liquid, LiquidBlocks.thermalPump, new ItemStack(Items.tungsten, 160), new ItemStack(Items.lead, 130), new ItemStack(Items.silicon, 60), new ItemStack(Items.titanium, 80), new ItemStack(Items.thorium, 70));
|
||||||
|
|
||||||
//DEBUG
|
//DEBUG
|
||||||
new Recipe(units, DebugBlocks.itemSource, new ItemStack(Items.carbide, 10)).setDebug();
|
new Recipe(units, DebugBlocks.itemSource, new ItemStack(Items.carbide, 10)).setDebug();
|
||||||
@@ -170,8 +177,6 @@ public class Recipes implements ContentList{
|
|||||||
new Recipe(production, ProductionBlocks.oilextractor, new ItemStack(Items.titanium, 40), new ItemStack(Items.surgealloy, 40));*/
|
new Recipe(production, ProductionBlocks.oilextractor, new ItemStack(Items.titanium, 40), new ItemStack(Items.surgealloy, 40));*/
|
||||||
|
|
||||||
|
|
||||||
//new Recipe(distribution, DistributionBlocks.massDriver, new ItemStack(Items.carbide, 1));
|
|
||||||
|
|
||||||
|
|
||||||
/*
|
/*
|
||||||
|
|
||||||
@@ -258,7 +263,7 @@ public class Recipes implements ContentList{
|
|||||||
new Recipe(units, UnitBlocks.dropPoint, new ItemStack(Items.carbide, 10));
|
new Recipe(units, UnitBlocks.dropPoint, new ItemStack(Items.carbide, 10));
|
||||||
new Recipe(units, UnitBlocks.resupplyPoint, new ItemStack(Items.carbide, 10));
|
new Recipe(units, UnitBlocks.resupplyPoint, new ItemStack(Items.carbide, 10));
|
||||||
|
|
||||||
new Recipe(units, UnitBlocks.droneFactory, new ItemStack(Items.tungsten, 50));
|
new Recipe(units, UnitBlocks.dronePad, new ItemStack(Items.tungsten, 50));
|
||||||
new Recipe(units, UnitBlocks.reconstructor, new ItemStack(Items.tungsten, 1));
|
new Recipe(units, UnitBlocks.reconstructor, new ItemStack(Items.tungsten, 1));
|
||||||
|
|
||||||
new Recipe(units, UnitBlocks.overdriveProjector, new ItemStack(Items.tungsten, 1));
|
new Recipe(units, UnitBlocks.overdriveProjector, new ItemStack(Items.tungsten, 1));
|
||||||
|
|||||||
@@ -1,13 +1,14 @@
|
|||||||
package io.anuke.mindustry.content;
|
package io.anuke.mindustry.content;
|
||||||
|
|
||||||
import com.badlogic.gdx.utils.Array;
|
import com.badlogic.gdx.utils.Array;
|
||||||
|
import com.badlogic.gdx.utils.ObjectSet;
|
||||||
import io.anuke.mindustry.entities.units.UnitType;
|
import io.anuke.mindustry.entities.units.UnitType;
|
||||||
import io.anuke.mindustry.entities.units.types.*;
|
import io.anuke.mindustry.entities.units.types.*;
|
||||||
import io.anuke.mindustry.game.Content;
|
import io.anuke.mindustry.game.Content;
|
||||||
import io.anuke.mindustry.type.ContentList;
|
import io.anuke.mindustry.type.ContentList;
|
||||||
|
|
||||||
public class UnitTypes implements ContentList{
|
public class UnitTypes implements ContentList{
|
||||||
public static UnitType drone, scout, vtol, monsoon, titan, fabricator;
|
public static UnitType drone, dagger, interceptor, monsoon, titan, fabricator;
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
public void load(){
|
public void load(){
|
||||||
@@ -22,7 +23,7 @@ public class UnitTypes implements ContentList{
|
|||||||
health = 45;
|
health = 45;
|
||||||
}};
|
}};
|
||||||
|
|
||||||
scout = new UnitType("scout", Scout.class, Scout::new){{
|
dagger = new UnitType("dagger", Dagger.class, Dagger::new){{
|
||||||
maxVelocity = 1.1f;
|
maxVelocity = 1.1f;
|
||||||
speed = 0.2f;
|
speed = 0.2f;
|
||||||
drag = 0.4f;
|
drag = 0.4f;
|
||||||
@@ -40,7 +41,7 @@ public class UnitTypes implements ContentList{
|
|||||||
health = 260;
|
health = 260;
|
||||||
}};
|
}};
|
||||||
|
|
||||||
vtol = new UnitType("vtol", Vtol.class, Vtol::new){{
|
interceptor = new UnitType("interceptor", Interceptor.class, Interceptor::new){{
|
||||||
speed = 0.3f;
|
speed = 0.3f;
|
||||||
maxVelocity = 1.9f;
|
maxVelocity = 1.9f;
|
||||||
drag = 0.01f;
|
drag = 0.01f;
|
||||||
@@ -54,13 +55,14 @@ public class UnitTypes implements ContentList{
|
|||||||
drag = 0.01f;
|
drag = 0.01f;
|
||||||
isFlying = true;
|
isFlying = true;
|
||||||
weapon = Weapons.bomber;
|
weapon = Weapons.bomber;
|
||||||
|
ammoCapacity = 50;
|
||||||
}};
|
}};
|
||||||
|
|
||||||
fabricator = new UnitType("fabricator", Fabricator.class, Fabricator::new){{
|
fabricator = new UnitType("fabricator", Fabricator.class, Fabricator::new){{
|
||||||
isFlying = true;
|
isFlying = true;
|
||||||
drag = 0.01f;
|
drag = 0.01f;
|
||||||
speed = 0.2f;
|
speed = 0.2f;
|
||||||
maxVelocity = 0.6f;
|
maxVelocity = 0.9f;
|
||||||
ammoCapacity = 0;
|
ammoCapacity = 0;
|
||||||
range = 70f;
|
range = 70f;
|
||||||
itemCapacity = 70;
|
itemCapacity = 70;
|
||||||
@@ -69,6 +71,7 @@ public class UnitTypes implements ContentList{
|
|||||||
buildPower = 0.9f;
|
buildPower = 0.9f;
|
||||||
minePower = 1.1f;
|
minePower = 1.1f;
|
||||||
healSpeed = 0.09f;
|
healSpeed = 0.09f;
|
||||||
|
toMine = ObjectSet.with(Items.lead, Items.tungsten, Items.titanium);
|
||||||
}};
|
}};
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|||||||
@@ -46,7 +46,7 @@ public class Weapons implements ContentList{
|
|||||||
reload = 50f;
|
reload = 50f;
|
||||||
roundrobin = true;
|
roundrobin = true;
|
||||||
shots = 6;
|
shots = 6;
|
||||||
inaccuracy = 15f;
|
inaccuracy = 10f;
|
||||||
recoil = 2f;
|
recoil = 2f;
|
||||||
velocityRnd = 0.7f;
|
velocityRnd = 0.7f;
|
||||||
ejectEffect = ShootFx.shellEjectSmall;
|
ejectEffect = ShootFx.shellEjectSmall;
|
||||||
@@ -93,7 +93,7 @@ public class Weapons implements ContentList{
|
|||||||
bomber = new Weapon("bomber"){{
|
bomber = new Weapon("bomber"){{
|
||||||
length = 0f;
|
length = 0f;
|
||||||
width = 2f;
|
width = 2f;
|
||||||
reload = 5f;
|
reload = 7f;
|
||||||
roundrobin = true;
|
roundrobin = true;
|
||||||
ejectEffect = Fx.none;
|
ejectEffect = Fx.none;
|
||||||
velocityRnd = 1f;
|
velocityRnd = 1f;
|
||||||
|
|||||||
@@ -12,7 +12,7 @@ import io.anuke.mindustry.world.Tile;
|
|||||||
import io.anuke.mindustry.world.blocks.*;
|
import io.anuke.mindustry.world.blocks.*;
|
||||||
|
|
||||||
public class Blocks extends BlockList implements ContentList{
|
public class Blocks extends BlockList implements ContentList{
|
||||||
public static Block air, spawn, blockpart, space, metalfloor, deepwater, water, lava, oil, stone, blackstone, dirt, sand, ice, snow, grass, shrub, rock, icerock, blackrock;
|
public static Block air, blockpart, space, metalfloor, deepwater, water, lava, oil, stone, blackstone, dirt, sand, ice, snow, grass, shrub, rock, icerock, blackrock;
|
||||||
|
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
@@ -20,6 +20,7 @@ public class Blocks extends BlockList implements ContentList{
|
|||||||
air = new Floor("air"){
|
air = new Floor("air"){
|
||||||
{
|
{
|
||||||
blend = false;
|
blend = false;
|
||||||
|
alwaysReplace = true;
|
||||||
}
|
}
|
||||||
|
|
||||||
//don't draw
|
//don't draw
|
||||||
|
|||||||
@@ -6,8 +6,7 @@ import io.anuke.annotations.Annotations.Remote;
|
|||||||
import io.anuke.mindustry.content.Liquids;
|
import io.anuke.mindustry.content.Liquids;
|
||||||
import io.anuke.mindustry.entities.Player;
|
import io.anuke.mindustry.entities.Player;
|
||||||
import io.anuke.mindustry.entities.TileEntity;
|
import io.anuke.mindustry.entities.TileEntity;
|
||||||
import io.anuke.mindustry.gen.CallBlocks;
|
import io.anuke.mindustry.gen.Call;
|
||||||
import io.anuke.mindustry.net.In;
|
|
||||||
import io.anuke.mindustry.type.ContentList;
|
import io.anuke.mindustry.type.ContentList;
|
||||||
import io.anuke.mindustry.type.Item;
|
import io.anuke.mindustry.type.Item;
|
||||||
import io.anuke.mindustry.type.Liquid;
|
import io.anuke.mindustry.type.Liquid;
|
||||||
@@ -28,7 +27,7 @@ import java.io.IOException;
|
|||||||
public class DebugBlocks extends BlockList implements ContentList{
|
public class DebugBlocks extends BlockList implements ContentList{
|
||||||
public static Block powerVoid, powerInfinite, itemSource, liquidSource, itemVoid;
|
public static Block powerVoid, powerInfinite, itemSource, liquidSource, itemVoid;
|
||||||
|
|
||||||
@Remote(targets = Loc.both, called = Loc.both, in = In.blocks, forward = true)
|
@Remote(targets = Loc.both, called = Loc.both, forward = true)
|
||||||
public static void setLiquidSourceLiquid(Player player, Tile tile, Liquid liquid){
|
public static void setLiquidSourceLiquid(Player player, Tile tile, Liquid liquid){
|
||||||
LiquidSourceEntity entity = tile.entity();
|
LiquidSourceEntity entity = tile.entity();
|
||||||
entity.source = liquid;
|
entity.source = liquid;
|
||||||
@@ -114,7 +113,7 @@ public class DebugBlocks extends BlockList implements ContentList{
|
|||||||
if(i == 0) continue;
|
if(i == 0) continue;
|
||||||
final int f = i;
|
final int f = i;
|
||||||
ImageButton button = cont.addImageButton("white", "toggle", 24, () -> {
|
ImageButton button = cont.addImageButton("white", "toggle", 24, () -> {
|
||||||
CallBlocks.setLiquidSourceLiquid(null, tile, items.get(f));
|
Call.setLiquidSourceLiquid(null, tile, items.get(f));
|
||||||
}).size(38, 42).padBottom(-5.1f).group(group).get();
|
}).size(38, 42).padBottom(-5.1f).group(group).get();
|
||||||
button.getStyle().imageUpColor = items.get(i).color;
|
button.getStyle().imageUpColor = items.get(i).color;
|
||||||
button.setChecked(entity.source.id == f);
|
button.setChecked(entity.source.id == f);
|
||||||
|
|||||||
@@ -50,7 +50,7 @@ public class DistributionBlocks extends BlockList implements ContentList{
|
|||||||
massDriver = new MassDriver("mass-driver"){{
|
massDriver = new MassDriver("mass-driver"){{
|
||||||
size = 3;
|
size = 3;
|
||||||
itemCapacity = 80;
|
itemCapacity = 80;
|
||||||
range = 300f;
|
range = 340f;
|
||||||
}};
|
}};
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -22,15 +22,19 @@ public class LiquidBlocks extends BlockList implements ContentList{
|
|||||||
pumpAmount = 0.25f;
|
pumpAmount = 0.25f;
|
||||||
consumes.power(0.015f);
|
consumes.power(0.015f);
|
||||||
liquidCapacity = 30f;
|
liquidCapacity = 30f;
|
||||||
|
powerCapacity = 20f;
|
||||||
hasPower = true;
|
hasPower = true;
|
||||||
size = 2;
|
size = 2;
|
||||||
tier = 1;
|
tier = 1;
|
||||||
}};
|
}};
|
||||||
|
|
||||||
thermalPump = new Pump("thermal-pump"){{
|
thermalPump = new Pump("thermal-pump"){{
|
||||||
pumpAmount = 0.3f;
|
shadow = "shadow-rounded-2";
|
||||||
consumes.power(0.05f);
|
pumpAmount = 0.55f;
|
||||||
|
consumes.power(0.03f);
|
||||||
liquidCapacity = 40f;
|
liquidCapacity = 40f;
|
||||||
|
hasPower = true;
|
||||||
|
powerCapacity = 20f;
|
||||||
size = 2;
|
size = 2;
|
||||||
tier = 2;
|
tier = 2;
|
||||||
}};
|
}};
|
||||||
|
|||||||
@@ -21,9 +21,8 @@ public class PowerBlocks extends BlockList implements ContentList{
|
|||||||
|
|
||||||
thermalGenerator = new LiquidHeatGenerator("thermal-generator"){{
|
thermalGenerator = new LiquidHeatGenerator("thermal-generator"){{
|
||||||
maxLiquidGenerate = 0.5f;
|
maxLiquidGenerate = 0.5f;
|
||||||
powerPerLiquid = 0.08f;
|
|
||||||
powerCapacity = 40f;
|
powerCapacity = 40f;
|
||||||
powerPerLiquid = 0.25f;
|
powerPerLiquid = 0.55f;
|
||||||
generateEffect = BlockFx.redgeneratespark;
|
generateEffect = BlockFx.redgeneratespark;
|
||||||
size = 2;
|
size = 2;
|
||||||
}};
|
}};
|
||||||
@@ -74,12 +73,13 @@ public class PowerBlocks extends BlockList implements ContentList{
|
|||||||
|
|
||||||
powerNode = new PowerNode("power-node"){{
|
powerNode = new PowerNode("power-node"){{
|
||||||
shadow = "shadow-round-1";
|
shadow = "shadow-round-1";
|
||||||
|
maxNodes = 4;
|
||||||
}};
|
}};
|
||||||
|
|
||||||
powerNodeLarge = new PowerNode("power-node-large"){{
|
powerNodeLarge = new PowerNode("power-node-large"){{
|
||||||
size = 2;
|
size = 2;
|
||||||
powerSpeed = 1f;
|
powerSpeed = 1f;
|
||||||
maxNodes = 5;
|
maxNodes = 6;
|
||||||
laserRange = 7.5f;
|
laserRange = 7.5f;
|
||||||
shadow = "shadow-round-2";
|
shadow = "shadow-round-2";
|
||||||
}};
|
}};
|
||||||
|
|||||||
@@ -8,11 +8,13 @@ import io.anuke.mindustry.world.Block;
|
|||||||
import io.anuke.mindustry.world.blocks.units.*;
|
import io.anuke.mindustry.world.blocks.units.*;
|
||||||
|
|
||||||
public class UnitBlocks extends BlockList implements ContentList{
|
public class UnitBlocks extends BlockList implements ContentList{
|
||||||
public static Block resupplyPoint, repairPoint, droneFactory, fabricatorFactory, dropPoint, reconstructor, overdriveProjector, shieldProjector;
|
public static Block resupplyPoint, repairPoint, dronePad,
|
||||||
|
fabricatorPad, interceptorPad, monsoonPad, daggerPad, titanPad,
|
||||||
|
dropPoint, reconstructor, overdriveProjector, shieldProjector, commandCenter;
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
public void load(){
|
public void load(){
|
||||||
droneFactory = new UnitFactory("drone-factory"){{
|
dronePad = new UnitPad("drone-pad"){{
|
||||||
type = UnitTypes.drone;
|
type = UnitTypes.drone;
|
||||||
produceTime = 800;
|
produceTime = 800;
|
||||||
size = 2;
|
size = 2;
|
||||||
@@ -20,14 +22,48 @@ public class UnitBlocks extends BlockList implements ContentList{
|
|||||||
consumes.items(new ItemStack[]{new ItemStack(Items.silicon, 30), new ItemStack(Items.lead, 30)});
|
consumes.items(new ItemStack[]{new ItemStack(Items.silicon, 30), new ItemStack(Items.lead, 30)});
|
||||||
}};
|
}};
|
||||||
|
|
||||||
fabricatorFactory = new UnitFactory("fabricator-factory"){{
|
fabricatorPad = new UnitPad("fabricator-pad"){{
|
||||||
type = UnitTypes.fabricator;
|
type = UnitTypes.fabricator;
|
||||||
produceTime = 1600;
|
produceTime = 1400;
|
||||||
size = 2;
|
size = 2;
|
||||||
consumes.power(0.2f);
|
consumes.power(0.2f);
|
||||||
consumes.items(new ItemStack[]{new ItemStack(Items.silicon, 70), new ItemStack(Items.lead, 80), new ItemStack(Items.titanium, 80)});
|
consumes.items(new ItemStack[]{new ItemStack(Items.silicon, 70), new ItemStack(Items.lead, 80), new ItemStack(Items.titanium, 80)});
|
||||||
}};
|
}};
|
||||||
|
|
||||||
|
interceptorPad = new UnitPad("interceptor-pad"){{
|
||||||
|
type = UnitTypes.interceptor;
|
||||||
|
produceTime = 900;
|
||||||
|
size = 2;
|
||||||
|
consumes.power(0.08f);
|
||||||
|
consumes.items(new ItemStack[]{new ItemStack(Items.silicon, 20), new ItemStack(Items.titanium, 10)});
|
||||||
|
}};
|
||||||
|
|
||||||
|
monsoonPad = new UnitPad("monsoon-pad"){{
|
||||||
|
type = UnitTypes.monsoon;
|
||||||
|
produceTime = 1500;
|
||||||
|
size = 3;
|
||||||
|
consumes.power(0.14f);
|
||||||
|
shadow = "shadow-round-3";
|
||||||
|
consumes.items(new ItemStack[]{new ItemStack(Items.silicon, 30), new ItemStack(Items.titanium, 30), new ItemStack(Items.plastanium, 20)});
|
||||||
|
}};
|
||||||
|
|
||||||
|
daggerPad = new UnitPad("dagger-pad"){{
|
||||||
|
type = UnitTypes.dagger;
|
||||||
|
produceTime = 500;
|
||||||
|
size = 2;
|
||||||
|
consumes.power(0.06f);
|
||||||
|
consumes.items(new ItemStack[]{new ItemStack(Items.silicon, 10), new ItemStack(Items.tungsten, 20)});
|
||||||
|
}};
|
||||||
|
|
||||||
|
titanPad = new UnitPad("titan-pad"){{
|
||||||
|
type = UnitTypes.titan;
|
||||||
|
produceTime = 1300;
|
||||||
|
size = 3;
|
||||||
|
consumes.power(0.15f);
|
||||||
|
shadow = "shadow-round-3";
|
||||||
|
consumes.items(new ItemStack[]{new ItemStack(Items.silicon, 20), new ItemStack(Items.tungsten, 30), new ItemStack(Items.thorium, 30)});
|
||||||
|
}};
|
||||||
|
|
||||||
resupplyPoint = new ResupplyPoint("resupply-point"){{
|
resupplyPoint = new ResupplyPoint("resupply-point"){{
|
||||||
shadow = "shadow-round-1";
|
shadow = "shadow-round-1";
|
||||||
itemCapacity = 30;
|
itemCapacity = 30;
|
||||||
@@ -51,7 +87,11 @@ public class UnitBlocks extends BlockList implements ContentList{
|
|||||||
size = 2;
|
size = 2;
|
||||||
}};
|
}};
|
||||||
|
|
||||||
shieldProjector = new ShieldProjector("shieldprojector"){{
|
shieldProjector = new ShieldProjector("shield-projector"){{
|
||||||
|
size = 2;
|
||||||
|
}};
|
||||||
|
|
||||||
|
commandCenter = new CommandCenter("command-center"){{
|
||||||
size = 2;
|
size = 2;
|
||||||
}};
|
}};
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -76,12 +76,12 @@ public class TurretBullets extends BulletList implements ContentList{
|
|||||||
}
|
}
|
||||||
};
|
};
|
||||||
|
|
||||||
basicFlame = new BulletType(2f, 5){
|
basicFlame = new BulletType(2.3f, 5){
|
||||||
{
|
{
|
||||||
hitsize = 7f;
|
hitsize = 7f;
|
||||||
lifetime = 30f;
|
lifetime = 35f;
|
||||||
pierce = true;
|
pierce = true;
|
||||||
drag = 0.07f;
|
drag = 0.05f;
|
||||||
hiteffect = BulletFx.hitFlameSmall;
|
hiteffect = BulletFx.hitFlameSmall;
|
||||||
despawneffect = Fx.none;
|
despawneffect = Fx.none;
|
||||||
status = StatusEffects.burning;
|
status = StatusEffects.burning;
|
||||||
@@ -179,7 +179,7 @@ public class TurretBullets extends BulletList implements ContentList{
|
|||||||
}
|
}
|
||||||
};
|
};
|
||||||
|
|
||||||
driverBolt = new BulletType(5f, 20){
|
driverBolt = new BulletType(5f, 50){
|
||||||
{
|
{
|
||||||
collidesTiles = false;
|
collidesTiles = false;
|
||||||
lifetime = 200f;
|
lifetime = 200f;
|
||||||
@@ -190,11 +190,14 @@ public class TurretBullets extends BulletList implements ContentList{
|
|||||||
|
|
||||||
@Override
|
@Override
|
||||||
public void draw(Bullet b){
|
public void draw(Bullet b){
|
||||||
Draw.color(Color.LIGHT_GRAY);
|
float w = 11f, h = 13f;
|
||||||
Fill.square(b.x, b.y, 3f, b.angle());
|
|
||||||
|
Draw.color(Palette.bulletYellowBack);
|
||||||
|
Draw.rect("shell-back", b.x, b.y, w, h, b.angle() + 90);
|
||||||
|
|
||||||
|
Draw.color(Palette.bulletYellow);
|
||||||
|
Draw.rect("shell", b.x, b.y, w, h, b.angle() + 90);
|
||||||
|
|
||||||
Draw.color(Palette.lighterOrange);
|
|
||||||
Fill.square(b.x, b.y, 2f, b.angle());
|
|
||||||
Draw.reset();
|
Draw.reset();
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|||||||
@@ -25,13 +25,13 @@ public class WeaponBullets extends BulletList{
|
|||||||
{
|
{
|
||||||
bulletWidth = 8f;
|
bulletWidth = 8f;
|
||||||
bulletHeight = 9f;
|
bulletHeight = 9f;
|
||||||
bulletShrink = 0.6f;
|
bulletShrink = 0.5f;
|
||||||
lifetime = 30f;
|
lifetime = 50f;
|
||||||
drag = 0.04f;
|
drag = 0.04f;
|
||||||
}
|
}
|
||||||
};
|
};
|
||||||
|
|
||||||
bombExplosive = new BombBulletType(20f, 20f, "shell"){
|
bombExplosive = new BombBulletType(10f, 20f, "shell"){
|
||||||
{
|
{
|
||||||
bulletWidth = 9f;
|
bulletWidth = 9f;
|
||||||
bulletHeight = 13f;
|
bulletHeight = 13f;
|
||||||
@@ -39,7 +39,7 @@ public class WeaponBullets extends BulletList{
|
|||||||
}
|
}
|
||||||
};
|
};
|
||||||
|
|
||||||
bombIncendiary = new BombBulletType(15f, 10f, "shell"){
|
bombIncendiary = new BombBulletType(7f, 10f, "shell"){
|
||||||
{
|
{
|
||||||
bulletWidth = 8f;
|
bulletWidth = 8f;
|
||||||
bulletHeight = 12f;
|
bulletHeight = 12f;
|
||||||
@@ -63,7 +63,7 @@ public class WeaponBullets extends BulletList{
|
|||||||
}
|
}
|
||||||
};
|
};
|
||||||
|
|
||||||
bombOil = new BombBulletType(3f, 3f, "shell"){
|
bombOil = new BombBulletType(2f, 3f, "shell"){
|
||||||
{
|
{
|
||||||
bulletWidth = 8f;
|
bulletWidth = 8f;
|
||||||
bulletHeight = 12f;
|
bulletHeight = 12f;
|
||||||
|
|||||||
@@ -16,7 +16,10 @@ import io.anuke.ucore.util.Tmp;
|
|||||||
import static io.anuke.mindustry.Vars.tilesize;
|
import static io.anuke.mindustry.Vars.tilesize;
|
||||||
|
|
||||||
public class BlockFx extends FxList implements ContentList{
|
public class BlockFx extends FxList implements ContentList{
|
||||||
public static Effect reactorsmoke, nuclearsmoke, nuclearcloud, redgeneratespark, generatespark, fuelburn, plasticburn, pulverize, pulverizeRed, pulverizeRedder, pulverizeSmall, pulverizeMedium, producesmoke, smeltsmoke, formsmoke, blastsmoke, lava, dooropen, doorclose, dooropenlarge, doorcloselarge, purify, purifyoil, purifystone, generate, mine, mineBig, mineHuge, smelt, teleportActivate, teleport, teleportOut, ripple, bubble;
|
public static Effect reactorsmoke, nuclearsmoke, nuclearcloud, redgeneratespark, generatespark, fuelburn, plasticburn,
|
||||||
|
pulverize, pulverizeRed, pulverizeRedder, pulverizeSmall, pulverizeMedium, producesmoke, smeltsmoke, formsmoke, blastsmoke,
|
||||||
|
lava, dooropen, doorclose, dooropenlarge, doorcloselarge, purify, purifyoil, purifystone, generate, mine, mineBig, mineHuge,
|
||||||
|
smelt, teleportActivate, teleport, teleportOut, ripple, bubble, commandSend;
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
public void load(){
|
public void load(){
|
||||||
@@ -274,5 +277,12 @@ public class BlockFx extends FxList implements ContentList{
|
|||||||
});
|
});
|
||||||
Draw.reset();
|
Draw.reset();
|
||||||
});
|
});
|
||||||
|
|
||||||
|
commandSend = new Effect(28, e -> {
|
||||||
|
Draw.color(Palette.command);
|
||||||
|
Lines.stroke(e.fout() * 2f);
|
||||||
|
Lines.poly(e.x, e.y, 40, 4f + e.finpow() * 120f);
|
||||||
|
Draw.color();
|
||||||
|
});
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -75,7 +75,7 @@ public class ShootFx extends FxList implements ContentList{
|
|||||||
shootSmallFlame = new Effect(30f, e -> {
|
shootSmallFlame = new Effect(30f, e -> {
|
||||||
Draw.color(Palette.lightFlame, Palette.darkFlame, Color.GRAY, e.fin());
|
Draw.color(Palette.lightFlame, Palette.darkFlame, Color.GRAY, e.fin());
|
||||||
|
|
||||||
Angles.randLenVectors(e.id, 8, e.finpow() * 26f, e.rotation, 10f, (x, y) -> {
|
Angles.randLenVectors(e.id, 8, e.finpow() * 36f, e.rotation, 10f, (x, y) -> {
|
||||||
Fill.circle(e.x + x, e.y + y, 0.65f + e.fout() * 1.5f);
|
Fill.circle(e.x + x, e.y + y, 0.65f + e.fout() * 1.5f);
|
||||||
});
|
});
|
||||||
|
|
||||||
|
|||||||
@@ -35,65 +35,65 @@ public class ContentLoader{
|
|||||||
private static OrderedMap<String, Array<Content>> contentMap = new OrderedMap<>();
|
private static OrderedMap<String, Array<Content>> contentMap = new OrderedMap<>();
|
||||||
private static ObjectSet<Consumer<Content>> initialization = new ObjectSet<>();
|
private static ObjectSet<Consumer<Content>> initialization = new ObjectSet<>();
|
||||||
private static ContentList[] content = {
|
private static ContentList[] content = {
|
||||||
//effects
|
//effects
|
||||||
new BlockFx(),
|
new BlockFx(),
|
||||||
new BulletFx(),
|
new BulletFx(),
|
||||||
new EnvironmentFx(),
|
new EnvironmentFx(),
|
||||||
new ExplosionFx(),
|
new ExplosionFx(),
|
||||||
new Fx(),
|
new Fx(),
|
||||||
new ShootFx(),
|
new ShootFx(),
|
||||||
new UnitFx(),
|
new UnitFx(),
|
||||||
|
|
||||||
//items
|
//items
|
||||||
new Items(),
|
new Items(),
|
||||||
|
|
||||||
//status effects
|
//status effects
|
||||||
new StatusEffects(),
|
new StatusEffects(),
|
||||||
|
|
||||||
//liquids
|
//liquids
|
||||||
new Liquids(),
|
new Liquids(),
|
||||||
|
|
||||||
//bullets
|
//bullets
|
||||||
new ArtilleryBullets(),
|
new ArtilleryBullets(),
|
||||||
new FlakBullets(),
|
new FlakBullets(),
|
||||||
new MissileBullets(),
|
new MissileBullets(),
|
||||||
new StandardBullets(),
|
new StandardBullets(),
|
||||||
new TurretBullets(),
|
new TurretBullets(),
|
||||||
new WeaponBullets(),
|
new WeaponBullets(),
|
||||||
|
|
||||||
|
|
||||||
//ammotypes
|
//ammotypes
|
||||||
new AmmoTypes(),
|
new AmmoTypes(),
|
||||||
|
|
||||||
//weapons
|
//weapons
|
||||||
new Weapons(),
|
new Weapons(),
|
||||||
|
|
||||||
//mechs
|
//mechs
|
||||||
new Mechs(),
|
new Mechs(),
|
||||||
|
|
||||||
//units
|
//units
|
||||||
new UnitTypes(),
|
new UnitTypes(),
|
||||||
|
|
||||||
//blocks
|
//blocks
|
||||||
new Blocks(),
|
new Blocks(),
|
||||||
new DefenseBlocks(),
|
new DefenseBlocks(),
|
||||||
new DistributionBlocks(),
|
new DistributionBlocks(),
|
||||||
new ProductionBlocks(),
|
new ProductionBlocks(),
|
||||||
new TurretBlocks(),
|
new TurretBlocks(),
|
||||||
new DebugBlocks(),
|
new DebugBlocks(),
|
||||||
new LiquidBlocks(),
|
new LiquidBlocks(),
|
||||||
new StorageBlocks(),
|
new StorageBlocks(),
|
||||||
new UnitBlocks(),
|
new UnitBlocks(),
|
||||||
new PowerBlocks(),
|
new PowerBlocks(),
|
||||||
new CraftingBlocks(),
|
new CraftingBlocks(),
|
||||||
new UpgradeBlocks(),
|
new UpgradeBlocks(),
|
||||||
new OreBlocks(),
|
new OreBlocks(),
|
||||||
|
|
||||||
//not really a content class, but this makes initialization easier
|
//not really a content class, but this makes initialization easier
|
||||||
new ColorMapper(),
|
new ColorMapper(),
|
||||||
|
|
||||||
//recipes
|
//recipes
|
||||||
new Recipes(),
|
new Recipes(),
|
||||||
};
|
};
|
||||||
|
|
||||||
/**
|
/**
|
||||||
|
|||||||
@@ -13,6 +13,7 @@ import io.anuke.mindustry.entities.TileEntity;
|
|||||||
import io.anuke.mindustry.game.Content;
|
import io.anuke.mindustry.game.Content;
|
||||||
import io.anuke.mindustry.game.ContentDatabase;
|
import io.anuke.mindustry.game.ContentDatabase;
|
||||||
import io.anuke.mindustry.game.EventType.*;
|
import io.anuke.mindustry.game.EventType.*;
|
||||||
|
import io.anuke.mindustry.game.GameMode;
|
||||||
import io.anuke.mindustry.game.Saves;
|
import io.anuke.mindustry.game.Saves;
|
||||||
import io.anuke.mindustry.input.DefaultKeybinds;
|
import io.anuke.mindustry.input.DefaultKeybinds;
|
||||||
import io.anuke.mindustry.input.DesktopInput;
|
import io.anuke.mindustry.input.DesktopInput;
|
||||||
@@ -48,7 +49,6 @@ public class Control extends Module{
|
|||||||
private ObjectMap<Sound, Long> soundMap = new ObjectMap<>();
|
private ObjectMap<Sound, Long> soundMap = new ObjectMap<>();
|
||||||
|
|
||||||
private Throwable error;
|
private Throwable error;
|
||||||
//private Input gdxInput;
|
|
||||||
|
|
||||||
public Control(){
|
public Control(){
|
||||||
|
|
||||||
@@ -68,8 +68,6 @@ public class Control extends Module{
|
|||||||
|
|
||||||
db.load();
|
db.load();
|
||||||
|
|
||||||
//gdxInput = Gdx.input;
|
|
||||||
|
|
||||||
Sounds.setFalloff(9000f);
|
Sounds.setFalloff(9000f);
|
||||||
Sounds.setPlayer((sound, volume) -> {
|
Sounds.setPlayer((sound, volume) -> {
|
||||||
long time = TimeUtils.millis();
|
long time = TimeUtils.millis();
|
||||||
@@ -84,14 +82,14 @@ public class Control extends Module{
|
|||||||
DefaultKeybinds.load();
|
DefaultKeybinds.load();
|
||||||
|
|
||||||
Settings.defaultList(
|
Settings.defaultList(
|
||||||
"ip", "localhost",
|
"ip", "localhost",
|
||||||
"port", port + "",
|
"port", port + "",
|
||||||
"color-0", Color.rgba8888(playerColors[8]),
|
"color-0", Color.rgba8888(playerColors[8]),
|
||||||
"color-1", Color.rgba8888(playerColors[11]),
|
"color-1", Color.rgba8888(playerColors[11]),
|
||||||
"color-2", Color.rgba8888(playerColors[13]),
|
"color-2", Color.rgba8888(playerColors[13]),
|
||||||
"color-3", Color.rgba8888(playerColors[9]),
|
"color-3", Color.rgba8888(playerColors[9]),
|
||||||
"name", "player",
|
"name", "player",
|
||||||
"lastBuild", 0
|
"lastBuild", 0
|
||||||
);
|
);
|
||||||
|
|
||||||
KeyBinds.load();
|
KeyBinds.load();
|
||||||
@@ -112,6 +110,12 @@ public class Control extends Module{
|
|||||||
}
|
}
|
||||||
|
|
||||||
state.set(State.playing);
|
state.set(State.playing);
|
||||||
|
|
||||||
|
if(state.mode == GameMode.sandbox && !Settings.getBool("sandbox-warning", false)){
|
||||||
|
threads.runGraphics(() -> ui.showInfo("$mode.sandbox.warning"));
|
||||||
|
Settings.putBool("sandbox-warning", true);
|
||||||
|
Settings.save();
|
||||||
|
}
|
||||||
});
|
});
|
||||||
|
|
||||||
Events.on(WorldLoadGraphicsEvent.class, () -> {
|
Events.on(WorldLoadGraphicsEvent.class, () -> {
|
||||||
@@ -144,12 +148,16 @@ public class Control extends Module{
|
|||||||
});
|
});
|
||||||
|
|
||||||
Events.on(GameOverEvent.class, () -> {
|
Events.on(GameOverEvent.class, () -> {
|
||||||
Effects.shake(5, 6, Core.camera.position.x, Core.camera.position.y);
|
//delete saves for game-over sectors
|
||||||
|
if(world.getSector() != null && world.getSector().hasSave()){
|
||||||
|
world.getSector().getSave().delete();
|
||||||
|
}
|
||||||
|
|
||||||
//TODO game over effect
|
threads.runGraphics(() -> {
|
||||||
ui.restart.show();
|
Effects.shake(5, 6, Core.camera.position.x, Core.camera.position.y);
|
||||||
|
ui.restart.show();
|
||||||
Timers.runTask(30f, () -> state.set(State.menu));
|
state.set(State.menu);
|
||||||
|
});
|
||||||
});
|
});
|
||||||
|
|
||||||
Events.on(WorldLoadEvent.class, () -> threads.runGraphics(() -> Events.fire(WorldLoadGraphicsEvent.class)));
|
Events.on(WorldLoadEvent.class, () -> threads.runGraphics(() -> Events.fire(WorldLoadGraphicsEvent.class)));
|
||||||
@@ -362,11 +370,16 @@ public class Control extends Module{
|
|||||||
}
|
}
|
||||||
|
|
||||||
//check unlocked sectors
|
//check unlocked sectors
|
||||||
if(world.getSector() != null && world.getSector().goal.isComplete() && !world.getSector().complete){
|
if(world.getSector() != null && !world.getSector().complete){
|
||||||
world.sectors().completeSector(world.getSector().x, world.getSector().y);
|
//all assigned missions are complete
|
||||||
world.sectors().save();
|
if(world.getSector().completedMissions >= world.getSector().missions.size){
|
||||||
if(!headless){
|
|
||||||
ui.showInfoFade("$text.sector.unlocked");
|
world.sectors().completeSector(world.getSector().x, world.getSector().y);
|
||||||
|
world.sectors().save();
|
||||||
|
ui.missions.show(world.getSector());
|
||||||
|
}else if(world.getSector().currentMission().isComplete()){
|
||||||
|
//increment completed missions, check next index next frame
|
||||||
|
world.getSector().completedMissions ++;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
@@ -374,7 +387,7 @@ public class Control extends Module{
|
|||||||
if(!state.mode.infiniteResources && Timers.get("timerCheckUnlock", 120)){
|
if(!state.mode.infiniteResources && Timers.get("timerCheckUnlock", 120)){
|
||||||
checkUnlockableBlocks();
|
checkUnlockableBlocks();
|
||||||
|
|
||||||
//save if the db changed, but don't save unlocks
|
//save if the db changed, but don't save in debug
|
||||||
if(db.isDirty() && !debug){
|
if(db.isDirty() && !debug){
|
||||||
db.save();
|
db.save();
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -49,9 +49,7 @@ public class Logic extends Module{
|
|||||||
state.set(State.playing);
|
state.set(State.playing);
|
||||||
state.wavetime = wavespace * state.difficulty.timeScaling * 2;
|
state.wavetime = wavespace * state.difficulty.timeScaling * 2;
|
||||||
|
|
||||||
//fill inventory with items for debugging
|
for(TeamData team : state.teams.getTeams(true)){
|
||||||
|
|
||||||
for(TeamData team : state.teams.getTeams()){
|
|
||||||
for(Tile tile : team.cores){
|
for(Tile tile : team.cores){
|
||||||
if(debug){
|
if(debug){
|
||||||
for(Item item : Item.all()){
|
for(Item item : Item.all()){
|
||||||
@@ -59,13 +57,20 @@ public class Logic extends Module{
|
|||||||
tile.entity.items.set(item, 1000);
|
tile.entity.items.set(item, 1000);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}else{
|
}else if(!state.mode.infiniteResources){
|
||||||
tile.entity.items.add(Items.tungsten, 50);
|
tile.entity.items.add(Items.tungsten, 50);
|
||||||
tile.entity.items.add(Items.lead, 20);
|
tile.entity.items.add(Items.lead, 20);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
for(TeamData team : state.teams.getTeams(false)){
|
||||||
|
for(Tile tile : team.cores){
|
||||||
|
tile.entity.items.add(Items.tungsten, 2000);
|
||||||
|
tile.entity.items.add(Items.blastCompound, 2000);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
Events.fire(PlayEvent.class);
|
Events.fire(PlayEvent.class);
|
||||||
}
|
}
|
||||||
@@ -131,11 +136,11 @@ public class Logic extends Module{
|
|||||||
|
|
||||||
if(!state.is(State.paused) || Net.active()){
|
if(!state.is(State.paused) || Net.active()){
|
||||||
|
|
||||||
if(!state.mode.disableWaveTimer){
|
if(!state.mode.disableWaveTimer && !state.mode.disableWaves){
|
||||||
state.wavetime -= Timers.delta();
|
state.wavetime -= Timers.delta();
|
||||||
}
|
}
|
||||||
|
|
||||||
if(!Net.client() && state.wavetime <= 0){
|
if(!Net.client() && state.wavetime <= 0 && !state.mode.disableWaves){
|
||||||
runWave();
|
runWave();
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|||||||
@@ -12,9 +12,9 @@ import io.anuke.mindustry.content.Mechs;
|
|||||||
import io.anuke.mindustry.core.GameState.State;
|
import io.anuke.mindustry.core.GameState.State;
|
||||||
import io.anuke.mindustry.entities.Player;
|
import io.anuke.mindustry.entities.Player;
|
||||||
import io.anuke.mindustry.entities.traits.SyncTrait;
|
import io.anuke.mindustry.entities.traits.SyncTrait;
|
||||||
|
import io.anuke.mindustry.game.Version;
|
||||||
import io.anuke.mindustry.gen.Call;
|
import io.anuke.mindustry.gen.Call;
|
||||||
import io.anuke.mindustry.gen.RemoteReadServer;
|
import io.anuke.mindustry.gen.RemoteReadServer;
|
||||||
import io.anuke.mindustry.game.Version;
|
|
||||||
import io.anuke.mindustry.net.*;
|
import io.anuke.mindustry.net.*;
|
||||||
import io.anuke.mindustry.net.Administration.PlayerInfo;
|
import io.anuke.mindustry.net.Administration.PlayerInfo;
|
||||||
import io.anuke.mindustry.net.Packets.*;
|
import io.anuke.mindustry.net.Packets.*;
|
||||||
@@ -80,12 +80,22 @@ public class NetServer extends Module{
|
|||||||
Net.handleServer(ConnectPacket.class, (id, packet) -> {
|
Net.handleServer(ConnectPacket.class, (id, packet) -> {
|
||||||
String uuid = packet.uuid;
|
String uuid = packet.uuid;
|
||||||
|
|
||||||
if(Net.getConnection(id) == null ||
|
NetConnection connection = Net.getConnection(id);
|
||||||
admins.isIPBanned(Net.getConnection(id).address)) return;
|
|
||||||
|
if(connection == null ||
|
||||||
|
admins.isIPBanned(connection.address)) return;
|
||||||
|
|
||||||
|
if(connection.hasBegunConnecting){
|
||||||
|
kick(id, KickReason.idInUse);
|
||||||
|
return;
|
||||||
|
}
|
||||||
|
|
||||||
|
connection.hasBegunConnecting = true;
|
||||||
|
|
||||||
TraceInfo trace = admins.getTraceByID(uuid);
|
TraceInfo trace = admins.getTraceByID(uuid);
|
||||||
PlayerInfo info = admins.getInfo(uuid);
|
PlayerInfo info = admins.getInfo(uuid);
|
||||||
trace.uuid = uuid;
|
trace.uuid = uuid;
|
||||||
|
trace.ip = connection.address;
|
||||||
trace.android = packet.mobile;
|
trace.android = packet.mobile;
|
||||||
|
|
||||||
if(admins.isIDBanned(uuid)){
|
if(admins.isIDBanned(uuid)){
|
||||||
@@ -112,7 +122,7 @@ public class NetServer extends Module{
|
|||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
|
|
||||||
if(player.uuid.equals(packet.uuid)){
|
if(player.uuid.equals(packet.uuid) || player.usid.equals(packet.usid)){
|
||||||
kick(id, KickReason.idInUse);
|
kick(id, KickReason.idInUse);
|
||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
@@ -175,16 +185,14 @@ public class NetServer extends Module{
|
|||||||
NetConnection connection = Net.getConnection(id);
|
NetConnection connection = Net.getConnection(id);
|
||||||
if(player == null || connection == null || packet.snapid < connection.lastRecievedClientSnapshot) return;
|
if(player == null || connection == null || packet.snapid < connection.lastRecievedClientSnapshot) return;
|
||||||
|
|
||||||
boolean verifyPosition = !player.isDead() && !debug && headless && !player.mech.flying && player.getCarrier() == null;
|
boolean verifyPosition = !player.isDead() && !debug && headless && player.getCarrier() == null;
|
||||||
|
|
||||||
if(connection.lastRecievedClientTime == 0) connection.lastRecievedClientTime = TimeUtils.millis() - 16;
|
if(connection.lastRecievedClientTime == 0) connection.lastRecievedClientTime = TimeUtils.millis() - 16;
|
||||||
|
|
||||||
long elapsed = TimeUtils.timeSinceMillis(connection.lastRecievedClientTime);
|
long elapsed = TimeUtils.timeSinceMillis(connection.lastRecievedClientTime);
|
||||||
|
|
||||||
float maxSpeed = (packet.boosting && !player.mech.flying ? player.mech.boostSpeed : player.mech.speed) * 2.5f;
|
float maxSpeed = packet.boosting && !player.mech.flying ? player.mech.boostSpeed : player.mech.speed;
|
||||||
|
float maxMove = elapsed / 1000f * 60f * Math.min(compound(maxSpeed, player.mech.drag) * 1.2f, player.mech.maxSpeed * 1.05f);
|
||||||
//extra 1.1x multiplicaton is added just in case
|
|
||||||
float maxMove = elapsed / 1000f * 60f * maxSpeed * 1.1f;
|
|
||||||
|
|
||||||
player.pointerX = packet.pointerX;
|
player.pointerX = packet.pointerX;
|
||||||
player.pointerY = packet.pointerY;
|
player.pointerY = packet.pointerY;
|
||||||
@@ -197,12 +205,16 @@ public class NetServer extends Module{
|
|||||||
}
|
}
|
||||||
|
|
||||||
vector.set(packet.x - player.getInterpolator().target.x, packet.y - player.getInterpolator().target.y);
|
vector.set(packet.x - player.getInterpolator().target.x, packet.y - player.getInterpolator().target.y);
|
||||||
|
|
||||||
vector.limit(maxMove);
|
vector.limit(maxMove);
|
||||||
|
|
||||||
float prevx = player.x, prevy = player.y;
|
float prevx = player.x, prevy = player.y;
|
||||||
player.set(player.getInterpolator().target.x, player.getInterpolator().target.y);
|
player.set(player.getInterpolator().target.x, player.getInterpolator().target.y);
|
||||||
player.move(vector.x, vector.y);
|
if(!player.mech.flying){
|
||||||
|
player.move(vector.x, vector.y);
|
||||||
|
}else{
|
||||||
|
player.x += vector.x;
|
||||||
|
player.y += vector.y;
|
||||||
|
}
|
||||||
float newx = player.x, newy = player.y;
|
float newx = player.x, newy = player.y;
|
||||||
|
|
||||||
if(!verifyPosition){
|
if(!verifyPosition){
|
||||||
@@ -213,6 +225,7 @@ public class NetServer extends Module{
|
|||||||
}else if(Vector2.dst(packet.x, packet.y, newx, newy) > correctDist){
|
}else if(Vector2.dst(packet.x, packet.y, newx, newy) > correctDist){
|
||||||
Call.onPositionSet(id, newx, newy); //teleport and correct position when necessary
|
Call.onPositionSet(id, newx, newy); //teleport and correct position when necessary
|
||||||
}
|
}
|
||||||
|
|
||||||
//reset player to previous synced position so it gets interpolated
|
//reset player to previous synced position so it gets interpolated
|
||||||
player.x = prevx;
|
player.x = prevx;
|
||||||
player.y = prevy;
|
player.y = prevy;
|
||||||
@@ -238,9 +251,16 @@ public class NetServer extends Module{
|
|||||||
});
|
});
|
||||||
}
|
}
|
||||||
|
|
||||||
/**
|
private float compound(float speed, float drag){
|
||||||
* Sends a raw byte[] snapshot to a client, splitting up into chunks when needed.
|
float total = 0f;
|
||||||
*/
|
for(int i = 0; i < 20; i++){
|
||||||
|
total *= (1f - drag);
|
||||||
|
total += speed;
|
||||||
|
}
|
||||||
|
return total;
|
||||||
|
}
|
||||||
|
|
||||||
|
/** Sends a raw byte[] snapshot to a client, splitting up into chunks when needed.*/
|
||||||
private static void sendSplitSnapshot(int userid, byte[] bytes, int snapshotID, int base){
|
private static void sendSplitSnapshot(int userid, byte[] bytes, int snapshotID, int base){
|
||||||
if(bytes.length < maxSnapshotSize){
|
if(bytes.length < maxSnapshotSize){
|
||||||
Call.onSnapshot(userid, bytes, snapshotID, (short) 0, bytes.length, base);
|
Call.onSnapshot(userid, bytes, snapshotID, (short) 0, bytes.length, base);
|
||||||
@@ -314,6 +334,8 @@ public class NetServer extends Module{
|
|||||||
|
|
||||||
@Remote(targets = Loc.client)
|
@Remote(targets = Loc.client)
|
||||||
public static void connectConfirm(Player player){
|
public static void connectConfirm(Player player){
|
||||||
|
if(player.con == null || player.con.hasConnected) return;
|
||||||
|
|
||||||
player.add();
|
player.add();
|
||||||
player.con.hasConnected = true;
|
player.con.hasConnected = true;
|
||||||
Call.sendMessage("[accent]" + player.name + " [accent]has connected.");
|
Call.sendMessage("[accent]" + player.name + " [accent]has connected.");
|
||||||
@@ -352,8 +374,8 @@ public class NetServer extends Module{
|
|||||||
|
|
||||||
Player player = connections.get(con.id);
|
Player player = connections.get(con.id);
|
||||||
|
|
||||||
if(player != null && (reason == KickReason.kick || reason == KickReason.banned) && admins.getTraceByID(getUUID(con.id)).uuid != null){
|
if(player != null && (reason == KickReason.kick || reason == KickReason.banned) && player.uuid != null){
|
||||||
PlayerInfo info = admins.getInfo(admins.getTraceByID(getUUID(con.id)).uuid);
|
PlayerInfo info = admins.getInfo(player.uuid);
|
||||||
info.timesKicked++;
|
info.timesKicked++;
|
||||||
info.lastKicked = TimeUtils.millis();
|
info.lastKicked = TimeUtils.millis();
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -43,10 +43,6 @@ public abstract class Platform {
|
|||||||
public String getLocaleName(Locale locale){
|
public String getLocaleName(Locale locale){
|
||||||
return locale.toString();
|
return locale.toString();
|
||||||
}
|
}
|
||||||
/**Whether joining games is supported.*/
|
|
||||||
public boolean canJoinGame(){
|
|
||||||
return true;
|
|
||||||
}
|
|
||||||
/**Whether debug mode is enabled.*/
|
/**Whether debug mode is enabled.*/
|
||||||
public boolean isDebug(){return false;}
|
public boolean isDebug(){return false;}
|
||||||
/**Must be a base64 string 8 bytes in length.*/
|
/**Must be a base64 string 8 bytes in length.*/
|
||||||
|
|||||||
@@ -66,7 +66,6 @@ public class Renderer extends RendererModule{
|
|||||||
public Renderer(){
|
public Renderer(){
|
||||||
Core.batch = new SpriteBatch(4096);
|
Core.batch = new SpriteBatch(4096);
|
||||||
|
|
||||||
pixelate = true;
|
|
||||||
Lines.setCircleVertices(14);
|
Lines.setCircleVertices(14);
|
||||||
|
|
||||||
Shaders.init();
|
Shaders.init();
|
||||||
@@ -215,7 +214,24 @@ public class Renderer extends RendererModule{
|
|||||||
|
|
||||||
blocks.processBlocks();
|
blocks.processBlocks();
|
||||||
blocks.drawShadows();
|
blocks.drawShadows();
|
||||||
blocks.drawBlocks(Layer.block);
|
for(Team team : Team.all){
|
||||||
|
if(blocks.isTeamShown(team)){
|
||||||
|
boolean outline = team != players[0].getTeam() && team != Team.none;
|
||||||
|
|
||||||
|
if(outline){
|
||||||
|
Shaders.outline.color.set(team.color);
|
||||||
|
Shaders.outline.color.a = 0.8f;
|
||||||
|
Graphics.beginShaders(Shaders.outline);
|
||||||
|
}
|
||||||
|
|
||||||
|
blocks.drawTeamBlocks(Layer.block, team);
|
||||||
|
|
||||||
|
if(outline){
|
||||||
|
Graphics.endShaders();
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
blocks.skipLayer(Layer.block);
|
||||||
|
|
||||||
Graphics.shader(Shaders.blockbuild, false);
|
Graphics.shader(Shaders.blockbuild, false);
|
||||||
blocks.drawBlocks(Layer.placement);
|
blocks.drawBlocks(Layer.placement);
|
||||||
|
|||||||
@@ -3,6 +3,7 @@ package io.anuke.mindustry.core;
|
|||||||
import com.badlogic.gdx.Gdx;
|
import com.badlogic.gdx.Gdx;
|
||||||
import com.badlogic.gdx.utils.Queue;
|
import com.badlogic.gdx.utils.Queue;
|
||||||
import com.badlogic.gdx.utils.TimeUtils;
|
import com.badlogic.gdx.utils.TimeUtils;
|
||||||
|
import io.anuke.ucore.core.Settings;
|
||||||
import io.anuke.ucore.core.Timers;
|
import io.anuke.ucore.core.Timers;
|
||||||
import io.anuke.ucore.util.Log;
|
import io.anuke.ucore.util.Log;
|
||||||
|
|
||||||
@@ -19,6 +20,7 @@ public class ThreadHandler{
|
|||||||
private float framesSinceUpdate;
|
private float framesSinceUpdate;
|
||||||
private boolean enabled;
|
private boolean enabled;
|
||||||
private boolean rendered = true;
|
private boolean rendered = true;
|
||||||
|
private long lastFrameTime;
|
||||||
|
|
||||||
public ThreadHandler(ThreadProvider impl){
|
public ThreadHandler(ThreadProvider impl){
|
||||||
this.impl = impl;
|
this.impl = impl;
|
||||||
@@ -69,7 +71,24 @@ public class ThreadHandler{
|
|||||||
return framesSinceUpdate;
|
return framesSinceUpdate;
|
||||||
}
|
}
|
||||||
|
|
||||||
public void handleRender(){
|
public void handleBeginRender(){
|
||||||
|
lastFrameTime = TimeUtils.millis();
|
||||||
|
}
|
||||||
|
|
||||||
|
public void handleEndRender(){
|
||||||
|
int fpsCap = Settings.getInt("fpscap", 125);
|
||||||
|
|
||||||
|
if(fpsCap <= 120){
|
||||||
|
long target = 1000/fpsCap;
|
||||||
|
long elapsed = TimeUtils.timeSinceMillis(lastFrameTime);
|
||||||
|
if(elapsed < target){
|
||||||
|
try{
|
||||||
|
impl.sleep(target - elapsed);
|
||||||
|
}catch(InterruptedException e){
|
||||||
|
e.printStackTrace();
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
if(!enabled) return;
|
if(!enabled) return;
|
||||||
|
|
||||||
|
|||||||
@@ -43,7 +43,7 @@ public class UI extends SceneModule{
|
|||||||
|
|
||||||
public AboutDialog about;
|
public AboutDialog about;
|
||||||
public RestartDialog restart;
|
public RestartDialog restart;
|
||||||
public LevelDialog levels;
|
public CustomGameDialog levels;
|
||||||
public MapsDialog maps;
|
public MapsDialog maps;
|
||||||
public LoadDialog load;
|
public LoadDialog load;
|
||||||
public DiscordDialog discord;
|
public DiscordDialog discord;
|
||||||
@@ -62,26 +62,27 @@ public class UI extends SceneModule{
|
|||||||
public UnlocksDialog unlocks;
|
public UnlocksDialog unlocks;
|
||||||
public ContentInfoDialog content;
|
public ContentInfoDialog content;
|
||||||
public SectorsDialog sectors;
|
public SectorsDialog sectors;
|
||||||
|
public MissionDialog missions;
|
||||||
|
|
||||||
private Locale lastLocale;
|
private Locale lastLocale;
|
||||||
|
|
||||||
public UI(){
|
public UI(){
|
||||||
Dialog.setShowAction(() -> sequence(
|
Dialog.setShowAction(() -> sequence(
|
||||||
alpha(0f),
|
alpha(0f),
|
||||||
originCenter(),
|
originCenter(),
|
||||||
moveToAligned(Gdx.graphics.getWidth() / 2, Gdx.graphics.getHeight() / 2, Align.center),
|
moveToAligned(Gdx.graphics.getWidth() / 2, Gdx.graphics.getHeight() / 2, Align.center),
|
||||||
scaleTo(0.0f, 1f),
|
scaleTo(0.0f, 1f),
|
||||||
parallel(
|
parallel(
|
||||||
scaleTo(1f, 1f, 0.1f, Interpolation.fade),
|
scaleTo(1f, 1f, 0.1f, Interpolation.fade),
|
||||||
fadeIn(0.1f, Interpolation.fade)
|
fadeIn(0.1f, Interpolation.fade)
|
||||||
)
|
)
|
||||||
));
|
));
|
||||||
|
|
||||||
Dialog.setHideAction(() -> sequence(
|
Dialog.setHideAction(() -> sequence(
|
||||||
parallel(
|
parallel(
|
||||||
scaleTo(0.01f, 0.01f, 0.1f, Interpolation.fade),
|
scaleTo(0.01f, 0.01f, 0.1f, Interpolation.fade),
|
||||||
fadeOut(0.1f, Interpolation.fade)
|
fadeOut(0.1f, Interpolation.fade)
|
||||||
)
|
)
|
||||||
));
|
));
|
||||||
|
|
||||||
TooltipManager.getInstance().animations = false;
|
TooltipManager.getInstance().animations = false;
|
||||||
@@ -154,7 +155,7 @@ public class UI extends SceneModule{
|
|||||||
join = new JoinDialog();
|
join = new JoinDialog();
|
||||||
discord = new DiscordDialog();
|
discord = new DiscordDialog();
|
||||||
load = new LoadDialog();
|
load = new LoadDialog();
|
||||||
levels = new LevelDialog();
|
levels = new CustomGameDialog();
|
||||||
language = new LanguageDialog();
|
language = new LanguageDialog();
|
||||||
settings = new SettingsMenuDialog();
|
settings = new SettingsMenuDialog();
|
||||||
host = new HostDialog();
|
host = new HostDialog();
|
||||||
@@ -169,6 +170,7 @@ public class UI extends SceneModule{
|
|||||||
unlocks = new UnlocksDialog();
|
unlocks = new UnlocksDialog();
|
||||||
content = new ContentInfoDialog();
|
content = new ContentInfoDialog();
|
||||||
sectors = new SectorsDialog();
|
sectors = new SectorsDialog();
|
||||||
|
missions = new MissionDialog();
|
||||||
|
|
||||||
Group group = Core.scene.getRoot();
|
Group group = Core.scene.getRoot();
|
||||||
|
|
||||||
@@ -179,6 +181,7 @@ public class UI extends SceneModule{
|
|||||||
listfrag.build(group);
|
listfrag.build(group);
|
||||||
debugfrag.build(group);
|
debugfrag.build(group);
|
||||||
loadfrag.build(group);
|
loadfrag.build(group);
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
|
|||||||
@@ -219,6 +219,7 @@ public class World extends Module{
|
|||||||
/**Loads up a sector map. This does not call play(), but calls reset().*/
|
/**Loads up a sector map. This does not call play(), but calls reset().*/
|
||||||
public void loadSector(Sector sector){
|
public void loadSector(Sector sector){
|
||||||
currentSector = sector;
|
currentSector = sector;
|
||||||
|
state.mode = sector.missions.peek().getMode();
|
||||||
Timers.mark();
|
Timers.mark();
|
||||||
Timers.mark();
|
Timers.mark();
|
||||||
|
|
||||||
@@ -230,16 +231,13 @@ public class World extends Module{
|
|||||||
|
|
||||||
Tile[][] tiles = createTiles(width, height);
|
Tile[][] tiles = createTiles(width, height);
|
||||||
|
|
||||||
Map map = new Map("Sector [" + sector.x + ", " + sector.y + "]", new MapMeta(0, new ObjectMap<>(), width, height, null), true, () -> null);
|
Map map = new Map("Sector " + sector.x + ", " + sector.y, new MapMeta(0, new ObjectMap<>(), width, height, null), true, () -> null);
|
||||||
setMap(map);
|
setMap(map);
|
||||||
|
|
||||||
EntityPhysics.resizeTree(0, 0, width * tilesize, height * tilesize);
|
EntityPhysics.resizeTree(0, 0, width * tilesize, height * tilesize);
|
||||||
|
|
||||||
Timers.mark();
|
Timers.mark();
|
||||||
generator.generateMap(tiles, sector.x, sector.y);
|
generator.generateMap(tiles, sector);
|
||||||
Log.info("Time to generate base map: {0}", Timers.elapsed());
|
|
||||||
|
|
||||||
Log.info("Time to generate fully without additional events: {0}", Timers.elapsed());
|
|
||||||
|
|
||||||
endMapLoad();
|
endMapLoad();
|
||||||
|
|
||||||
|
|||||||
@@ -25,7 +25,7 @@ public class MapEditor{
|
|||||||
private byte elevation;
|
private byte elevation;
|
||||||
private int rotation;
|
private int rotation;
|
||||||
private Block drawBlock = Blocks.stone;
|
private Block drawBlock = Blocks.stone;
|
||||||
private Team drawTeam = Team.none;
|
private Team drawTeam = Team.blue;
|
||||||
|
|
||||||
public MapEditor(){
|
public MapEditor(){
|
||||||
|
|
||||||
|
|||||||
@@ -495,7 +495,7 @@ public class MapEditorDialog extends Dialog implements Disposable{
|
|||||||
.size(size).get().setAlignment(Align.center, Align.center);
|
.size(size).get().setAlignment(Align.center, Align.center);
|
||||||
|
|
||||||
t.addImageButton("icon-arrow-right", 16 * 2f, () -> editor.setDrawElevation(editor.getDrawElevation() + 1))
|
t.addImageButton("icon-arrow-right", 16 * 2f, () -> editor.setDrawElevation(editor.getDrawElevation() + 1))
|
||||||
.disabled(b -> editor.getDrawElevation() >= 127).size(size);
|
.disabled(b -> editor.getDrawElevation() >= 63).size(size);
|
||||||
}).colspan(3).height(size).padTop(-5).width(size * 3f);
|
}).colspan(3).height(size).padTop(-5).width(size * 3f);
|
||||||
|
|
||||||
}).margin(0).left().growY();
|
}).margin(0).left().growY();
|
||||||
@@ -566,7 +566,8 @@ public class MapEditorDialog extends Dialog implements Disposable{
|
|||||||
|
|
||||||
for(Block block : Block.all()){
|
for(Block block : Block.all()){
|
||||||
TextureRegion[] regions = block.getCompactIcon();
|
TextureRegion[] regions = block.getCompactIcon();
|
||||||
if((block.synthetic() && (Recipe.getByResult(block) == null || !control.database().isUnlocked(Recipe.getByResult(block)))) && !debug && block != StorageBlocks.core){
|
if((block.synthetic() && (Recipe.getByResult(block) == null || !control.database().isUnlocked(Recipe.getByResult(block))))
|
||||||
|
&& !debug && block != StorageBlocks.core){
|
||||||
continue;
|
continue;
|
||||||
}
|
}
|
||||||
|
|
||||||
@@ -574,6 +575,10 @@ public class MapEditorDialog extends Dialog implements Disposable{
|
|||||||
continue;
|
continue;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
if(Recipe.getByResult(block) != null && Recipe.getByResult(block).desktopOnly && mobile && !debug){
|
||||||
|
continue;
|
||||||
|
}
|
||||||
|
|
||||||
if(regions.length == 0 || regions[0] == Draw.region("jjfgj")) continue;
|
if(regions.length == 0 || regions[0] == Draw.region("jjfgj")) continue;
|
||||||
|
|
||||||
Stack stack = new Stack();
|
Stack stack = new Stack();
|
||||||
|
|||||||
@@ -9,7 +9,7 @@ import io.anuke.mindustry.content.fx.Fx;
|
|||||||
import io.anuke.mindustry.entities.effect.Fire;
|
import io.anuke.mindustry.entities.effect.Fire;
|
||||||
import io.anuke.mindustry.entities.effect.Lightning;
|
import io.anuke.mindustry.entities.effect.Lightning;
|
||||||
import io.anuke.mindustry.game.Team;
|
import io.anuke.mindustry.game.Team;
|
||||||
import io.anuke.mindustry.gen.CallEntity;
|
import io.anuke.mindustry.gen.Call;
|
||||||
import io.anuke.mindustry.graphics.Palette;
|
import io.anuke.mindustry.graphics.Palette;
|
||||||
import io.anuke.mindustry.world.Tile;
|
import io.anuke.mindustry.world.Tile;
|
||||||
import io.anuke.ucore.core.Effects;
|
import io.anuke.ucore.core.Effects;
|
||||||
@@ -43,7 +43,7 @@ public class Damage{
|
|||||||
}
|
}
|
||||||
|
|
||||||
for(int i = 0; i < Mathf.clamp(flammability / 4, 0, 30); i++){
|
for(int i = 0; i < Mathf.clamp(flammability / 4, 0, 30); i++){
|
||||||
Timers.run(i / 2, () -> CallEntity.createBullet(TurretBullets.fireball, x, y, Mathf.random(360f)));
|
Timers.run(i / 2, () -> Call.createBullet(TurretBullets.fireball, x, y, Mathf.random(360f)));
|
||||||
}
|
}
|
||||||
|
|
||||||
int waves = Mathf.clamp((int) (explosiveness / 4), 0, 30);
|
int waves = Mathf.clamp((int) (explosiveness / 4), 0, 30);
|
||||||
|
|||||||
@@ -14,10 +14,9 @@ import io.anuke.mindustry.entities.effect.ItemDrop;
|
|||||||
import io.anuke.mindustry.entities.effect.ScorchDecal;
|
import io.anuke.mindustry.entities.effect.ScorchDecal;
|
||||||
import io.anuke.mindustry.entities.traits.*;
|
import io.anuke.mindustry.entities.traits.*;
|
||||||
import io.anuke.mindustry.game.Team;
|
import io.anuke.mindustry.game.Team;
|
||||||
import io.anuke.mindustry.gen.CallEntity;
|
import io.anuke.mindustry.gen.Call;
|
||||||
import io.anuke.mindustry.graphics.Palette;
|
import io.anuke.mindustry.graphics.Palette;
|
||||||
import io.anuke.mindustry.graphics.Trail;
|
import io.anuke.mindustry.graphics.Trail;
|
||||||
import io.anuke.mindustry.net.In;
|
|
||||||
import io.anuke.mindustry.net.Net;
|
import io.anuke.mindustry.net.Net;
|
||||||
import io.anuke.mindustry.net.NetConnection;
|
import io.anuke.mindustry.net.NetConnection;
|
||||||
import io.anuke.mindustry.type.*;
|
import io.anuke.mindustry.type.*;
|
||||||
@@ -83,7 +82,7 @@ public class Player extends Unit implements BuilderTrait, CarryTrait, ShooterTra
|
|||||||
|
|
||||||
//region unit and event overrides, utility methods
|
//region unit and event overrides, utility methods
|
||||||
|
|
||||||
@Remote(in = In.entities, targets = Loc.server, called = Loc.server)
|
@Remote(targets = Loc.server, called = Loc.server)
|
||||||
public static void onPlayerDamage(Player player, float amount){
|
public static void onPlayerDamage(Player player, float amount){
|
||||||
if(player == null) return;
|
if(player == null) return;
|
||||||
|
|
||||||
@@ -91,7 +90,7 @@ public class Player extends Unit implements BuilderTrait, CarryTrait, ShooterTra
|
|||||||
player.health -= amount;
|
player.health -= amount;
|
||||||
}
|
}
|
||||||
|
|
||||||
@Remote(in = In.entities, targets = Loc.server, called = Loc.server)
|
@Remote(targets = Loc.server, called = Loc.server)
|
||||||
public static void onPlayerDeath(Player player){
|
public static void onPlayerDeath(Player player){
|
||||||
if(player == null) return;
|
if(player == null) return;
|
||||||
|
|
||||||
@@ -228,10 +227,10 @@ public class Player extends Unit implements BuilderTrait, CarryTrait, ShooterTra
|
|||||||
|
|
||||||
@Override
|
@Override
|
||||||
public void damage(float amount){
|
public void damage(float amount){
|
||||||
CallEntity.onPlayerDamage(this, calculateDamage(amount));
|
Call.onPlayerDamage(this, calculateDamage(amount));
|
||||||
|
|
||||||
if(health <= 0 && !dead){
|
if(health <= 0 && !dead){
|
||||||
CallEntity.onPlayerDeath(this);
|
Call.onPlayerDeath(this);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
@@ -511,7 +510,7 @@ public class Player extends Unit implements BuilderTrait, CarryTrait, ShooterTra
|
|||||||
if(!ui.chatfrag.chatOpen() && Inputs.keyTap("drop_unit")){
|
if(!ui.chatfrag.chatOpen() && Inputs.keyTap("drop_unit")){
|
||||||
if(!mech.flying){
|
if(!mech.flying){
|
||||||
if(getCarrier() != null){
|
if(getCarrier() != null){
|
||||||
CallEntity.dropSelf(this);
|
Call.dropSelf(this);
|
||||||
}
|
}
|
||||||
}else if(getCarry() != null){
|
}else if(getCarry() != null){
|
||||||
dropCarry();
|
dropCarry();
|
||||||
@@ -548,7 +547,7 @@ public class Player extends Unit implements BuilderTrait, CarryTrait, ShooterTra
|
|||||||
velocity.add(movement);
|
velocity.add(movement);
|
||||||
}
|
}
|
||||||
float prex = x, prey = y;
|
float prex = x, prey = y;
|
||||||
updateVelocityStatus(mech.drag, 10f);
|
updateVelocityStatus(mech.drag, debug ? 10f : mech.maxSpeed);
|
||||||
moved = distanceTo(prex, prey) > 0.01f;
|
moved = distanceTo(prex, prey) > 0.01f;
|
||||||
}else{
|
}else{
|
||||||
velocity.setZero();
|
velocity.setZero();
|
||||||
|
|||||||
@@ -10,8 +10,7 @@ import io.anuke.mindustry.content.fx.Fx;
|
|||||||
import io.anuke.mindustry.entities.bullet.Bullet;
|
import io.anuke.mindustry.entities.bullet.Bullet;
|
||||||
import io.anuke.mindustry.entities.traits.TargetTrait;
|
import io.anuke.mindustry.entities.traits.TargetTrait;
|
||||||
import io.anuke.mindustry.game.Team;
|
import io.anuke.mindustry.game.Team;
|
||||||
import io.anuke.mindustry.gen.CallBlocks;
|
import io.anuke.mindustry.gen.Call;
|
||||||
import io.anuke.mindustry.net.In;
|
|
||||||
import io.anuke.mindustry.world.Block;
|
import io.anuke.mindustry.world.Block;
|
||||||
import io.anuke.mindustry.world.Edges;
|
import io.anuke.mindustry.world.Edges;
|
||||||
import io.anuke.mindustry.world.Tile;
|
import io.anuke.mindustry.world.Tile;
|
||||||
@@ -55,14 +54,14 @@ public class TileEntity extends BaseEntity implements TargetTrait{
|
|||||||
private boolean sleeping;
|
private boolean sleeping;
|
||||||
private float sleepTime;
|
private float sleepTime;
|
||||||
|
|
||||||
@Remote(called = Loc.server, in = In.blocks)
|
@Remote(called = Loc.server)
|
||||||
public static void onTileDamage(Tile tile, float health){
|
public static void onTileDamage(Tile tile, float health){
|
||||||
if(tile.entity != null){
|
if(tile.entity != null){
|
||||||
tile.entity.health = health;
|
tile.entity.health = health;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
@Remote(called = Loc.server, in = In.blocks)
|
@Remote(called = Loc.server)
|
||||||
public static void onTileDestroyed(Tile tile){
|
public static void onTileDestroyed(Tile tile){
|
||||||
if(tile.entity == null) return;
|
if(tile.entity == null) return;
|
||||||
tile.entity.onDeath();
|
tile.entity.onDeath();
|
||||||
@@ -85,10 +84,7 @@ public class TileEntity extends BaseEntity implements TargetTrait{
|
|||||||
return this;
|
return this;
|
||||||
}
|
}
|
||||||
|
|
||||||
/**
|
/**Call when nothing is happening to the entity. This increments the internal sleep timer.*/
|
||||||
* Call when nothing is happening to the entity.
|
|
||||||
* This increments the internal sleep timer.
|
|
||||||
*/
|
|
||||||
public void sleep(){
|
public void sleep(){
|
||||||
sleepTime += Timers.delta();
|
sleepTime += Timers.delta();
|
||||||
if(!sleeping && sleepTime >= timeToSleep){
|
if(!sleeping && sleepTime >= timeToSleep){
|
||||||
@@ -98,20 +94,6 @@ public class TileEntity extends BaseEntity implements TargetTrait{
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
/**
|
|
||||||
* Call when something just happened to the entity.
|
|
||||||
* If the entity was sleeping, this enables it. This also resets the sleep timer.
|
|
||||||
*/
|
|
||||||
public void wakeUp(){
|
|
||||||
noSleep();
|
|
||||||
|
|
||||||
for(Tile tile : proximity){
|
|
||||||
if(tile.entity.isSleeping()){
|
|
||||||
tile.entity.wakeUp();
|
|
||||||
}
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
/**Call when this entity is updating. This wakes it up.*/
|
/**Call when this entity is updating. This wakes it up.*/
|
||||||
public void noSleep(){
|
public void noSleep(){
|
||||||
sleepTime = 0f;
|
sleepTime = 0f;
|
||||||
@@ -159,10 +141,10 @@ public class TileEntity extends BaseEntity implements TargetTrait{
|
|||||||
public void damage(float damage){
|
public void damage(float damage){
|
||||||
if(dead) return;
|
if(dead) return;
|
||||||
|
|
||||||
CallBlocks.onTileDamage(tile, health - tile.block().handleDamage(tile, damage));
|
Call.onTileDamage(tile, health - tile.block().handleDamage(tile, damage));
|
||||||
|
|
||||||
if(health <= 0){
|
if(health <= 0){
|
||||||
CallBlocks.onTileDestroyed(tile);
|
Call.onTileDestroyed(tile);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|||||||
@@ -214,9 +214,7 @@ public abstract class Unit extends DestructibleEntity implements SaveTrait, Targ
|
|||||||
});
|
});
|
||||||
}
|
}
|
||||||
|
|
||||||
/**
|
/**Updates velocity and status effects.*/
|
||||||
* Updates velocity and status effects.
|
|
||||||
*/
|
|
||||||
public void updateVelocityStatus(float drag, float maxVelocity){
|
public void updateVelocityStatus(float drag, float maxVelocity){
|
||||||
if(isCarried()){ //carried units do not take into account velocity normally
|
if(isCarried()){ //carried units do not take into account velocity normally
|
||||||
set(carrier.getX(), carrier.getY());
|
set(carrier.getX(), carrier.getY());
|
||||||
@@ -280,7 +278,7 @@ public abstract class Unit extends DestructibleEntity implements SaveTrait, Targ
|
|||||||
if(Math.abs(py - y) <= 0.0001f) velocity.y = 0f;
|
if(Math.abs(py - y) <= 0.0001f) velocity.y = 0f;
|
||||||
}
|
}
|
||||||
|
|
||||||
velocity.scl(Mathf.clamp(1f - drag * floor.dragMultiplier * Timers.delta()));
|
velocity.scl(Mathf.clamp(1f - drag * (isFlying() ? 1f : floor.dragMultiplier) * Timers.delta()));
|
||||||
}
|
}
|
||||||
|
|
||||||
public void applyEffect(StatusEffect effect, float intensity){
|
public void applyEffect(StatusEffect effect, float intensity){
|
||||||
|
|||||||
@@ -110,6 +110,12 @@ public class UnitInventory implements Saveable{
|
|||||||
ammos.add(entry);
|
ammos.add(entry);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
public void fillAmmo(AmmoType type){
|
||||||
|
totalAmmo = ammoCapacity();
|
||||||
|
ammos.clear();
|
||||||
|
ammos.add(new AmmoEntry(type, ammoCapacity()));
|
||||||
|
}
|
||||||
|
|
||||||
public int capacity(){
|
public int capacity(){
|
||||||
return unit.getItemCapacity();
|
return unit.getItemCapacity();
|
||||||
}
|
}
|
||||||
|
|||||||