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.
|
||||
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'.
|
||||
|
||||
#### Useful Information
|
||||
@@ -36,4 +36,4 @@ There are two ways to test the translation bundle:
|
||||
|
||||
**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-x86"
|
||||
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"
|
||||
}
|
||||
|
||||
|
||||
@@ -12,7 +12,6 @@ import android.provider.Settings.Secure;
|
||||
import android.telephony.TelephonyManager;
|
||||
import android.util.Log;
|
||||
import com.badlogic.gdx.Gdx;
|
||||
import com.badlogic.gdx.backends.android.AndroidApplication;
|
||||
import com.badlogic.gdx.backends.android.AndroidApplicationConfiguration;
|
||||
import com.badlogic.gdx.files.FileHandle;
|
||||
import com.badlogic.gdx.utils.Base64Coder;
|
||||
@@ -25,8 +24,8 @@ import io.anuke.kryonet.KryoClient;
|
||||
import io.anuke.kryonet.KryoServer;
|
||||
import io.anuke.mindustry.core.Platform;
|
||||
import io.anuke.mindustry.core.ThreadHandler.ThreadProvider;
|
||||
import io.anuke.mindustry.io.SaveIO;
|
||||
import io.anuke.mindustry.game.Saves.SaveSlot;
|
||||
import io.anuke.mindustry.io.SaveIO;
|
||||
import io.anuke.mindustry.net.Net;
|
||||
import io.anuke.mindustry.ui.dialogs.FileChooser;
|
||||
import io.anuke.ucore.function.Consumer;
|
||||
@@ -48,19 +47,16 @@ import java.util.Locale;
|
||||
|
||||
import static io.anuke.mindustry.Vars.*;
|
||||
|
||||
public class AndroidLauncher extends AndroidApplication{
|
||||
public class AndroidLauncher extends PatchedAndroidApplication{
|
||||
public static final int PERMISSION_REQUEST_CODE = 1;
|
||||
|
||||
boolean doubleScaleTablets = true;
|
||||
FileChooser chooser;
|
||||
|
||||
@Override
|
||||
protected void onCreate(Bundle savedInstanceState){
|
||||
super.onCreate(savedInstanceState);
|
||||
|
||||
AndroidApplicationConfiguration config = new AndroidApplicationConfiguration();
|
||||
config.useImmersiveMode = true;
|
||||
|
||||
Platform.instance = new Platform(){
|
||||
DateFormat format = SimpleDateFormat.getDateTimeInstance();
|
||||
|
||||
@@ -108,19 +104,15 @@ public class AndroidLauncher extends AndroidApplication{
|
||||
public String getUUID(){
|
||||
try{
|
||||
String s = Secure.getString(getContext().getContentResolver(),
|
||||
Secure.ANDROID_ID);
|
||||
|
||||
Secure.ANDROID_ID);
|
||||
int len = s.length();
|
||||
byte[] data = new byte[len / 2];
|
||||
for(int i = 0; i < len; i += 2){
|
||||
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));
|
||||
|
||||
if(result.equals("AAAAAAAAAOA=")) throw new RuntimeException("Bad UUID.");
|
||||
|
||||
return result;
|
||||
}catch(Exception e){
|
||||
return super.getUUID();
|
||||
@@ -129,28 +121,23 @@ public class AndroidLauncher extends AndroidApplication{
|
||||
|
||||
@Override
|
||||
public void shareFile(FileHandle file){
|
||||
|
||||
}
|
||||
|
||||
@Override
|
||||
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);
|
||||
|
||||
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 = null;
|
||||
}else{
|
||||
ArrayList<String> perms = new ArrayList<>();
|
||||
|
||||
if(checkSelfPermission(Manifest.permission.WRITE_EXTERNAL_STORAGE) != PackageManager.PERMISSION_GRANTED){
|
||||
perms.add(Manifest.permission.WRITE_EXTERNAL_STORAGE);
|
||||
}
|
||||
|
||||
if(checkSelfPermission(Manifest.permission.READ_EXTERNAL_STORAGE) != PackageManager.PERMISSION_GRANTED){
|
||||
perms.add(Manifest.permission.READ_EXTERNAL_STORAGE);
|
||||
}
|
||||
|
||||
requestPermissions(perms.toArray(new String[perms.size()]), PERMISSION_REQUEST_CODE);
|
||||
}
|
||||
}
|
||||
@@ -170,7 +157,6 @@ public class AndroidLauncher extends AndroidApplication{
|
||||
return true;
|
||||
}
|
||||
};
|
||||
|
||||
try{
|
||||
ProviderInstaller.installIfNeeded(this);
|
||||
}catch(GooglePlayServicesRepairableException e){
|
||||
@@ -179,18 +165,13 @@ public class AndroidLauncher extends AndroidApplication{
|
||||
}catch(GooglePlayServicesNotAvailableException e){
|
||||
Log.e("SecurityException", "Google Play Services not available.");
|
||||
}
|
||||
|
||||
if(doubleScaleTablets && isTablet(this.getContext())){
|
||||
Unit.dp.addition = 0.5f;
|
||||
}
|
||||
|
||||
config.hideStatusBar = true;
|
||||
|
||||
Net.setClientProvider(new KryoClient());
|
||||
Net.setServerProvider(new KryoServer());
|
||||
|
||||
initialize(new Mindustry(), config);
|
||||
|
||||
checkFiles(getIntent());
|
||||
}
|
||||
|
||||
@@ -200,7 +181,6 @@ public class AndroidLauncher extends AndroidApplication{
|
||||
for(int i : grantResults){
|
||||
if(i != PackageManager.PERMISSION_GRANTED) return;
|
||||
}
|
||||
|
||||
if(chooser != null){
|
||||
chooser.show();
|
||||
}
|
||||
@@ -220,21 +200,16 @@ public class AndroidLauncher extends AndroidApplication{
|
||||
//error
|
||||
return;
|
||||
}
|
||||
|
||||
boolean save = uri.getPath().endsWith(saveExtension);
|
||||
boolean map = uri.getPath().endsWith(mapExtension);
|
||||
|
||||
InputStream inStream;
|
||||
if(myFile != null) inStream = new FileInputStream(myFile);
|
||||
else inStream = getContentResolver().openInputStream(uri);
|
||||
|
||||
Gdx.app.postRunnable(() -> {
|
||||
|
||||
if(save){ //open save
|
||||
System.out.println("Opening save.");
|
||||
FileHandle file = Gdx.files.local("temp-save." + saveExtension);
|
||||
file.write(inStream, false);
|
||||
|
||||
if(SaveIO.isSaveValid(file)){
|
||||
try{
|
||||
SaveSlot slot = control.getSaves().importSave(file);
|
||||
@@ -245,20 +220,17 @@ public class AndroidLauncher extends AndroidApplication{
|
||||
}else{
|
||||
ui.showError("$text.save.import.invalid");
|
||||
}
|
||||
|
||||
}else if(map){ //open map
|
||||
Gdx.app.postRunnable(() -> {
|
||||
System.out.println("Opening map.");
|
||||
if(!ui.editor.isShown()){
|
||||
ui.editor.show();
|
||||
}
|
||||
|
||||
ui.editor.beginEditMap(inStream);
|
||||
});
|
||||
}
|
||||
});
|
||||
}
|
||||
|
||||
}catch(IOException e){
|
||||
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;
|
||||
|
||||
/** The simple class name where this method is placed. */
|
||||
String in() default "Call";
|
||||
|
||||
/** Priority of this event. */
|
||||
PacketPriority priority() default PacketPriority.normal;
|
||||
}
|
||||
|
||||
@@ -35,6 +35,8 @@ public class RemoteMethodAnnotationProcessor extends AbstractProcessor{
|
||||
private static final String readServerName = "RemoteReadServer";
|
||||
/** Name of class that handles reading and invoking packets on the client. */
|
||||
private static final String readClientName = "RemoteReadClient";
|
||||
/**Simple class name of generated class name.*/
|
||||
private static final String callLocation = "Call";
|
||||
|
||||
/** Processing round number. */
|
||||
private int round;
|
||||
@@ -102,15 +104,15 @@ public class RemoteMethodAnnotationProcessor extends AbstractProcessor{
|
||||
}
|
||||
|
||||
//get and create class entry if needed
|
||||
if(!classMap.containsKey(annotation.in())){
|
||||
ClassEntry clas = new ClassEntry(annotation.in());
|
||||
classMap.put(annotation.in(), clas);
|
||||
if(!classMap.containsKey(callLocation)){
|
||||
ClassEntry clas = new ClassEntry(callLocation);
|
||||
classMap.put(callLocation, clas);
|
||||
classes.add(clas);
|
||||
|
||||
Utils.messager.printMessage(Kind.NOTE, "Generating class '" + clas.name + "'.");
|
||||
}
|
||||
|
||||
ClassEntry entry = classMap.get(annotation.in());
|
||||
ClassEntry entry = classMap.get(callLocation);
|
||||
|
||||
//create and add entry
|
||||
MethodEntry method = new MethodEntry(entry.name, Utils.getMethodName(element), annotation.targets(), annotation.variants(),
|
||||
|
||||
16
build.gradle
@@ -26,8 +26,7 @@ allprojects {
|
||||
appName = 'Mindustry'
|
||||
gdxVersion = '1.9.8'
|
||||
roboVMVersion = '2.3.0'
|
||||
aiVersion = '1.8.1'
|
||||
uCoreVersion = 'b93d02efe3fdbe1a10b33d59597da8693d4f7de3'
|
||||
uCoreVersion = '239e6a5bad'
|
||||
|
||||
getVersionString = {
|
||||
String buildVersion = getBuildVersion()
|
||||
@@ -97,7 +96,6 @@ project(":desktop") {
|
||||
compile "com.badlogicgames.gdx:gdx-platform:$gdxVersion:natives-desktop"
|
||||
compile "com.badlogicgames.gdx:gdx-controllers-lwjgl3:$gdxVersion"
|
||||
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:$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-gwt:$gdxVersion"
|
||||
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 = [
|
||||
@@ -154,13 +149,9 @@ project(":core") {
|
||||
compileOnly project(":annotations")
|
||||
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){
|
||||
println("NOTICE: Compiling release build.")
|
||||
}else{
|
||||
println("Compiling DEBUG build.")
|
||||
}
|
||||
if(!comp) println("Note: Compiling release build.")
|
||||
|
||||
if(new File(projectDir.parent, '../uCore').exists() && comp){
|
||||
compile project(":uCore")
|
||||
@@ -220,7 +211,6 @@ project(":kryonet") {
|
||||
dependencies {
|
||||
compile project(":core")
|
||||
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.discord=Join the mindustry discord!
|
||||
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.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.multiplayer.web=The web version of the game does not support multiplayer!\nUse the downloadable PC, Android or iOS versions.
|
||||
text.host.web=The web version does not support hosting games! Download the game to use this feature.
|
||||
text.gameover=The core was destroyed.
|
||||
text.highscore=[YELLOW]New highscore!
|
||||
text.lasted=You lasted until wave
|
||||
text.gameover=Your core has been destroyed
|
||||
text.sector.gameover=This sector has been lost. Re-deploy?
|
||||
text.sector.retry=Retry
|
||||
text.highscore=[accent]New highscore!
|
||||
text.wave.lasted=You lasted until wave [accent]{0}[].
|
||||
text.level.highscore=High Score: [accent]{0}
|
||||
text.level.delete.title=Confirm Delete
|
||||
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.campaign=Campaign
|
||||
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.deploy=Deploy
|
||||
text.sector.resume=Resume
|
||||
text.sector.unlocked=Sector completed!
|
||||
text.sector.locked=[scarlet][[Incomplete]
|
||||
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.quit=Quit
|
||||
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.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.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.hostserver=Host Server
|
||||
text.host=Host
|
||||
@@ -149,6 +155,7 @@ text.save.rename.text=New name:
|
||||
text.selectslot=Select a save.
|
||||
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.sector.corrupted=[orange]A save file for this sector was found, but loading failed.\nA new one has been created.
|
||||
text.empty=<empty>
|
||||
text.on=On
|
||||
text.off=Off
|
||||
@@ -253,9 +260,6 @@ text.settings.controls=Controls
|
||||
text.settings.game=Game
|
||||
text.settings.sound=Sound
|
||||
text.settings.graphics=Graphics
|
||||
text.upgrades=Upgrades
|
||||
text.purchased=[LIME]Created!
|
||||
text.weapons=Weapons
|
||||
text.paused=Paused
|
||||
text.yes=Yes
|
||||
text.no=No
|
||||
@@ -320,6 +324,9 @@ text.category.liquids=Liquids
|
||||
text.category.items=Items
|
||||
text.category.crafting=Crafting
|
||||
text.category.shooting=Shooting
|
||||
setting.fpscap.name=Max FPS
|
||||
setting.fpscap.none=None
|
||||
setting.fpscap.text={0} FPS
|
||||
setting.difficulty.easy=easy
|
||||
setting.difficulty.normal=normal
|
||||
setting.difficulty.hard=hard
|
||||
@@ -343,41 +350,27 @@ setting.musicvol.name=Music Volume
|
||||
setting.mutemusic.name=Mute Music
|
||||
setting.sfxvol.name=SFX Volume
|
||||
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
|
||||
keybind.move_x.name=move_x
|
||||
keybind.move_y.name=move_y
|
||||
keybind.select.name=select
|
||||
keybind.break.name=break
|
||||
keybind.shoot.name=shoot
|
||||
keybind.zoom_hold.name=zoom_hold
|
||||
keybind.zoom.name=zoom
|
||||
keybind.block_info.name=block_info
|
||||
keybind.menu.name=menu
|
||||
keybind.pause.name=pause
|
||||
keybind.dash.name=dash
|
||||
keybind.chat.name=chat
|
||||
keybind.player_list.name=player_list
|
||||
keybind.move_x.name=Move x
|
||||
keybind.move_y.name=Move y
|
||||
keybind.select.name=Select
|
||||
keybind.break.name=Break
|
||||
keybind.shoot.name=Shoot
|
||||
keybind.zoom_hold.name=Zoom Hold
|
||||
keybind.zoom.name=Zoom
|
||||
keybind.menu.name=Menu
|
||||
keybind.pause.name=Pause
|
||||
keybind.dash.name=Dash
|
||||
keybind.chat.name=Chat
|
||||
keybind.player_list.name=Player list
|
||||
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.waves.name=waves
|
||||
mode.waves.description=the normal mode. limited resources and automatic incoming waves.
|
||||
mode.sandbox.name=sandbox
|
||||
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.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.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.viscosity=[LIGHT_GRAY]Viscosity: {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.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.dart-ship-factory.name=Dart Ship Reconstructor
|
||||
block.delta-mech-factory.name=Delta Mech Reconstructor
|
||||
block.javelin-ship-factory.name=Javelin Ship Reconstructor
|
||||
block.repairpoint.name=Repair Point
|
||||
block.resupplypoint.name=Resupply Point
|
||||
block.conduit.name=Conduit
|
||||
@@ -512,9 +508,10 @@ 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.drone-pad.name=Drone Pad
|
||||
block.fabricator-pad.name=Fabricator Pad
|
||||
block.interceptor-pad.name=Interceptor Pad
|
||||
block.monsoon-pad.name=Monsoon Pad
|
||||
block.repair-point.name=Repair Point
|
||||
block.resupply-point.name=Resupply Point
|
||||
block.pulse-conduit.name=Pulse Conduit
|
||||
@@ -525,3 +522,23 @@ block.liquid-junction.name=Liquid Junction
|
||||
block.bridge-conduit.name=Bridge Conduit
|
||||
block.rotary-pump.name=Rotary Pump
|
||||
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.gameover=Der Kern wurde zerstört.
|
||||
text.highscore=[YELLOW] Neuer Highscore!
|
||||
text.lasted=Du hast bis zur folgenden Welle überlebt
|
||||
text.level.highscore=High Score: [accent] {0}
|
||||
text.level.delete.title=Löschen bestätigen
|
||||
text.level.select=Level Auswahl
|
||||
@@ -111,9 +109,6 @@ text.settings.controls=Steuerung
|
||||
text.settings.game=Spiel
|
||||
text.settings.sound=Audio
|
||||
text.settings.graphics=Grafiken
|
||||
text.upgrades=Verbesserungen
|
||||
text.purchased=[LIME] Erstellt!
|
||||
text.weapons=Waffen
|
||||
text.paused=Pausiert
|
||||
text.error.title=[crimson] 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.sfxvol.name=Audioeffekte Lautstärke
|
||||
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_y.name=bewege_y
|
||||
keybind.select.name=wählen
|
||||
@@ -176,7 +158,6 @@ keybind.zoom.name=zoomen
|
||||
keybind.menu.name=Menü
|
||||
keybind.pause.name=Pause
|
||||
keybind.dash.name=Bindestrich
|
||||
keybind.rotate_alt.name=drehen_alt
|
||||
keybind.rotate.name=Drehen
|
||||
mode.waves.name=Wellen
|
||||
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.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.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.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.
|
||||
@@ -359,7 +338,6 @@ setting.fullscreen.name=Fullscreen
|
||||
setting.multithread.name=Multithreading
|
||||
setting.minimap.name=Show Minimap
|
||||
text.keybind.title=Rebind Keys
|
||||
keybind.block_info.name=block_info
|
||||
keybind.chat.name=chat
|
||||
keybind.player_list.name=player_list
|
||||
keybind.console.name=console
|
||||
@@ -447,7 +425,6 @@ 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
|
||||
@@ -475,8 +452,6 @@ 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
|
||||
@@ -495,9 +470,49 @@ 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
|
||||
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.discord=¡Únete al 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.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.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.highscore=[YELLOW]¡Nueva mejor puntuación!
|
||||
text.lasted=Duró hasta la ronda
|
||||
text.level.highscore=Puntuación màs alta: [accent]
|
||||
text.level.delete.title=Confirmar Eliminación
|
||||
text.level.select=Selección de nivel
|
||||
@@ -165,9 +162,6 @@ text.settings.controls=Controles
|
||||
text.settings.game=Juego
|
||||
text.settings.sound=Sonido
|
||||
text.settings.graphics=Gráficos
|
||||
text.upgrades=Mejoras
|
||||
text.purchased=[LIME] Creado!
|
||||
text.weapons=Armas
|
||||
text.paused=Pausado
|
||||
text.info.title=[acento] Información
|
||||
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.sfxvol.name=Volumen de los efectos de sonido
|
||||
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
|
||||
keybind.move_x.name=mover_x
|
||||
keybind.move_y.name=mover_y
|
||||
@@ -231,14 +212,12 @@ keybind.break.name=Romper
|
||||
keybind.shoot.name=¡Dispara!
|
||||
keybind.zoom_hold.name=Enfoque_Mantener
|
||||
keybind.zoom.name=Enfoquè
|
||||
keybind.block_info.name=Bloque_informacion
|
||||
keybind.menu.name=Menú
|
||||
keybind.pause.name=Pausa
|
||||
keybind.dash.name=Deslizar
|
||||
keybind.chat.name=Chat
|
||||
keybind.player_list.name=Jugadores_lista
|
||||
keybind.console.name=Console
|
||||
keybind.rotate_alt.name=Rotacion_alt
|
||||
keybind.rotate.name=Girar
|
||||
mode.text.help.title=Descripción de modos
|
||||
mode.waves.name=Hordas
|
||||
@@ -266,7 +245,6 @@ block.liquidjunction.name=Unión líquida
|
||||
block.sorter.name=Clasificador
|
||||
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.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.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.
|
||||
@@ -447,7 +425,6 @@ 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
|
||||
@@ -475,8 +452,6 @@ 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
|
||||
@@ -495,9 +470,49 @@ 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
|
||||
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.gameover=Le noyau a été détruit.
|
||||
text.highscore=[YELLOW]Nouveau meilleur score!
|
||||
text.lasted=Vous avez duré jusqu'à la vague
|
||||
text.level.highscore=Meilleur score: [accent]{0}
|
||||
text.level.delete.title=Confirmer
|
||||
text.level.select=Sélection de niveau
|
||||
@@ -147,9 +145,6 @@ text.settings.controls=Contrôles
|
||||
text.settings.game=Jeu
|
||||
text.settings.sound=Son
|
||||
text.settings.graphics=Graphique
|
||||
text.upgrades=Améliorations
|
||||
text.purchased=[VERT]Créé!
|
||||
text.weapons=Armes
|
||||
text.paused=Pause
|
||||
text.info.title=[accent]Info
|
||||
text.error.title=[crimson]Une erreur est survenue
|
||||
@@ -192,19 +187,6 @@ setting.musicvol.name=volume musique
|
||||
setting.mutemusic.name=Musique muette
|
||||
setting.sfxvol.name=Volume SFX
|
||||
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
|
||||
keybind.move_x.name=mouvement x
|
||||
keybind.move_y.name=mouvement y
|
||||
@@ -213,14 +195,12 @@ keybind.break.name=Pause
|
||||
keybind.shoot.name=tirer
|
||||
keybind.zoom_hold.name=tenir le zoom
|
||||
keybind.zoom.name=zoom
|
||||
keybind.block_info.name=bloc_info
|
||||
keybind.menu.name=menu
|
||||
keybind.pause.name=Pause
|
||||
keybind.dash.name=attaque frontal
|
||||
keybind.chat.name=chat
|
||||
keybind.player_list.name=Liste des joueurs
|
||||
keybind.console.name=console
|
||||
keybind.rotate_alt.name=tourner_alt
|
||||
keybind.rotate.name=Tourner
|
||||
mode.waves.name=Vagues
|
||||
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.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.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.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.
|
||||
@@ -447,7 +425,6 @@ 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
|
||||
@@ -475,8 +452,6 @@ 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
|
||||
@@ -495,9 +470,49 @@ 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
|
||||
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.gameover=Intinya hancur.
|
||||
text.highscore=[YELLOW]Rekor baru!
|
||||
text.lasted=Anda bertahan sampai gelombang
|
||||
text.level.highscore=Skor Tinggi: [accent]{0}
|
||||
text.level.delete.title=Konfirmasi Hapus
|
||||
text.level.select=Pilih Level
|
||||
@@ -117,9 +115,6 @@ text.settings.controls=Kontrol
|
||||
text.settings.game=Permainan
|
||||
text.settings.sound=Suara
|
||||
text.settings.graphics=Grafis
|
||||
text.upgrades=Perbaruan
|
||||
text.purchased=[LIME]Dibuat!
|
||||
text.weapons=Senjata
|
||||
text.paused=Jeda
|
||||
text.info.title=[accent]Info
|
||||
text.error.title=[crimson]Telah terjadi kesalahan
|
||||
@@ -161,19 +156,6 @@ setting.musicvol.name=Volume Musik
|
||||
setting.mutemusic.name=Bisukan Musik
|
||||
setting.sfxvol.name=Volume 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_y.name=gerak_y
|
||||
keybind.select.name=pilih
|
||||
@@ -184,7 +166,6 @@ keybind.zoom.name=perbesar
|
||||
keybind.menu.name=menu
|
||||
keybind.pause.name=jeda
|
||||
keybind.dash.name=berlari
|
||||
keybind.rotate_alt.name=putar_alt
|
||||
keybind.rotate.name=putar
|
||||
mode.waves.name=gelombang
|
||||
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.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.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.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.
|
||||
@@ -359,7 +338,6 @@ text.category.shooting=Shooting
|
||||
setting.multithread.name=Multithreading
|
||||
setting.minimap.name=Show Minimap
|
||||
text.keybind.title=Rebind Keys
|
||||
keybind.block_info.name=block_info
|
||||
keybind.chat.name=chat
|
||||
keybind.player_list.name=player_list
|
||||
keybind.console.name=console
|
||||
@@ -447,7 +425,6 @@ 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
|
||||
@@ -475,8 +452,6 @@ 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
|
||||
@@ -495,9 +470,49 @@ 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
|
||||
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.discord=Unisciti sul 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.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.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.highscore=[YELLOW]Nuovo record!
|
||||
text.lasted=Sei durato fino all'ondata
|
||||
text.level.highscore=Miglior punteggio: [accent]{0}
|
||||
text.level.delete.title=Conferma Eliminazione
|
||||
text.level.select=Selezione del livello
|
||||
@@ -165,9 +162,6 @@ text.settings.controls=Controlli
|
||||
text.settings.game=Gioco
|
||||
text.settings.sound=Suono
|
||||
text.settings.graphics=Grafica
|
||||
text.upgrades=Miglioramenti
|
||||
text.purchased=[LIME]Creato!
|
||||
text.weapons=Armi
|
||||
text.paused=In pausa
|
||||
text.info.title=[Accent]Info
|
||||
text.error.title=[crimson]Si è verificato un errore
|
||||
@@ -210,19 +204,6 @@ setting.musicvol.name=Volume Musica
|
||||
setting.mutemusic.name=Silenzia musica
|
||||
setting.sfxvol.name=Volume SFX
|
||||
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
|
||||
keybind.move_x.name=Sposta_x
|
||||
keybind.move_y.name=Sposta_y
|
||||
@@ -231,14 +212,12 @@ keybind.break.name=rompi
|
||||
keybind.shoot.name=spara
|
||||
keybind.zoom_hold.name=zoom_hold
|
||||
keybind.zoom.name=zoom
|
||||
keybind.block_info.name=Informazioni blocco
|
||||
keybind.menu.name=menu
|
||||
keybind.pause.name=pausa
|
||||
keybind.dash.name=Scatto
|
||||
keybind.chat.name=Chat
|
||||
keybind.player_list.name=lista_giocatori
|
||||
keybind.console.name=console
|
||||
keybind.rotate_alt.name=rotate_alt
|
||||
keybind.rotate.name=Ruotare
|
||||
mode.text.help.title=Descrizione delle modalità
|
||||
mode.waves.name=ondate
|
||||
@@ -500,4 +479,4 @@ block.liquid-tank.name=Tanica d'acqua
|
||||
block.liquid-junction.name=Giunzione liquida
|
||||
block.bridge-conduit.name=Condotta forzata sopraelevata
|
||||
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.discord=Mindustry Discord 에 참여하세요!
|
||||
text.link.discord.description=공식 Mindustry Discord 채팅방
|
||||
@@ -11,11 +10,8 @@ text.link.wiki.description=공식 Mindustry 위키
|
||||
text.linkfail=링크를 여는데 실패했습니다!URL이 기기의 클립보드에 복사되었습니다.
|
||||
text.editor.web=HTML5 버전은 에디터 기능을 지원하지 않습니다!게임을 다운로드 한 뒤에 사용 해 주세요.
|
||||
text.web.unsupported=HTML5 버전은 이 기능을 지원하지 않습니다!게임을 다운로드 한 뒤에 사용 해 주세요.
|
||||
text.multiplayer.web=이 버전은 멀티플레이를 지원하지 않습니다!멀티플레이를 웹 브라우저에서 즐기고 싶다면, itch.io 페이지에서 "multiplayer web version" 링크로 들어가면 됩니다.
|
||||
text.host.web=HTML5 버전은 게임 호스팅을 지원하지 않습니다!게임을 다운로드 한 뒤에 사용 해 주세요.
|
||||
text.gameover=코어가 터졌습니다. 게임 오버!
|
||||
text.highscore=[YELLOW]최고점수 달성!
|
||||
text.lasted=마지막으로 달성한 웨이브
|
||||
text.level.highscore=최고 점수 : [accent]{0}
|
||||
text.level.delete.title=삭제 확인
|
||||
text.map.delete=정말로 "[orange]{0}[]" 맵을 삭제하시겠습니까?
|
||||
@@ -223,9 +219,6 @@ text.settings.controls=컨트롤
|
||||
text.settings.game=게임
|
||||
text.settings.sound=소리
|
||||
text.settings.graphics=화면
|
||||
text.upgrades=강화
|
||||
text.purchased=[LIME]생성됨!
|
||||
text.weapons=무기
|
||||
text.paused=일시 정지
|
||||
text.yes=예
|
||||
text.no=아니오
|
||||
@@ -311,19 +304,6 @@ setting.musicvol.name=음악 크기
|
||||
setting.mutemusic.name=음소거
|
||||
setting.sfxvol.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=키 바인딩
|
||||
keybind.move_x.name=오른쪽/왼쪽 이동
|
||||
keybind.move_y.name=위쪽/아래쪽 이동
|
||||
@@ -332,14 +312,12 @@ keybind.break.name=파괴
|
||||
keybind.shoot.name=사격
|
||||
keybind.zoom_hold.name=길게눌러 확대
|
||||
keybind.zoom.name=확대
|
||||
keybind.block_info.name=블럭 정보
|
||||
keybind.menu.name=메뉴
|
||||
keybind.pause.name=일시중지
|
||||
keybind.dash.name=달리기
|
||||
keybind.chat.name=채팅
|
||||
keybind.player_list.name=플레이어 목록
|
||||
keybind.console.name=콘솔
|
||||
keybind.rotate_alt.name=rotate_alt
|
||||
keybind.rotate.name=회전
|
||||
mode.text.help.title=도움말
|
||||
mode.waves.name=웨이브
|
||||
@@ -443,7 +421,6 @@ block.water-extractor.name=물 추출기
|
||||
block.cultivator.name=경운기
|
||||
block.dart-ship-factory.name=다트 선박 공장
|
||||
block.delta-mech-factory.name=델타 메크 공장
|
||||
block.dronefactory.name=드론 공장
|
||||
block.repairpoint.name=수리 포인트
|
||||
block.resupplypoint.name=재공급 포인트
|
||||
block.conduit.name=도관
|
||||
@@ -475,8 +452,6 @@ block.solar-panel.name=태양 전지 패널
|
||||
block.solar-panel-large.name=대형 태양 전지판
|
||||
block.oil-extractor.name=오일 추출기
|
||||
block.javelin-ship-factory.name=창 던지기 선박 공장
|
||||
block.drone-factory.name=드론 팩토리
|
||||
block.fabricator-factory.name=Fabricator 공장
|
||||
block.repair-point.name=수리 점
|
||||
block.resupply-point.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.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
|
||||
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.gameover=Rdzeń został zniszczony.
|
||||
text.highscore=[YELLOW] Nowy rekord!
|
||||
text.lasted=Wytrwałeś do fali
|
||||
text.level.highscore=Rekord: [accent]{0}
|
||||
text.level.delete.title=Potwierdź usuwanie
|
||||
text.level.select=Wybrany poziom
|
||||
@@ -117,9 +115,6 @@ text.settings.controls=Sterowanie
|
||||
text.settings.game=Gra
|
||||
text.settings.sound=Dźwięk
|
||||
text.settings.graphics=Grafika
|
||||
text.upgrades=Ulepszenia
|
||||
text.purchased=[LIME]Stworzono!
|
||||
text.weapons=Bronie
|
||||
text.paused=Wstrzymano
|
||||
text.info.title=[accent]Informacje
|
||||
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.sfxvol.name=Głośność dźwięków
|
||||
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_y.name=Poruszanie w pionie
|
||||
keybind.select.name=Wybieranie
|
||||
@@ -183,7 +165,6 @@ keybind.zoom.name=Przybliżanie
|
||||
keybind.menu.name=menu
|
||||
keybind.pause.name=pauza
|
||||
keybind.dash.name=przyśpieszenie
|
||||
keybind.rotate_alt.name=Obracanie (1)
|
||||
keybind.rotate.name=Obracanie (2)
|
||||
mode.waves.name=Fale
|
||||
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.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.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.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.
|
||||
@@ -359,7 +338,6 @@ setting.fullscreen.name=Pełny ekran
|
||||
setting.multithread.name=Wielowątkowość
|
||||
setting.minimap.name=Pokaż Minimapę
|
||||
text.keybind.title=Zmień ustawienia przycisków
|
||||
keybind.block_info.name=Informacje o bloku
|
||||
keybind.chat.name=Chat
|
||||
keybind.player_list.name=Lista graczy
|
||||
keybind.console.name=Konsola
|
||||
@@ -447,7 +425,6 @@ block.water-extractor.name=Wodny Ekstraktor
|
||||
block.cultivator.name=Spluchniacz
|
||||
block.dart-ship-factory.name=Fabryka Staktów "DART"
|
||||
block.delta-mech-factory.name=Fabryka Mecha "DELTA"
|
||||
block.dronefactory.name=Fabryka Dronów
|
||||
block.repairpoint.name=Punkt Naprawy
|
||||
block.resupplypoint.name=Punkt Uzupełniania Amunicji
|
||||
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.oil-extractor.name=Ekstraktor Ropy
|
||||
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.resupply-point.name=Punkt Uzupełniania Amunicji
|
||||
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.deploy=Wejdź
|
||||
text.sector.resume=Wznów
|
||||
text.sector.unlocked=Sektor ukończony!
|
||||
text.sector.locked=[scarlet][[Niegotowy]
|
||||
text.sector.unexplored=[accent][[Nieodkryty]
|
||||
text.close=Zamknij
|
||||
@@ -501,3 +475,44 @@ text.save.playtime=Czas gry: {0}
|
||||
text.editor.brush=Pędzel
|
||||
block.itemvoid.name=Item 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.gameover=O núcleo foi destruído.
|
||||
text.highscore=[YELLOW]Novo recorde!
|
||||
text.lasted=Você durou até a horda
|
||||
text.level.highscore=Melhor\npontuação: [accent] {0}
|
||||
text.level.delete.title=Confirmar exclusão
|
||||
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.resizemap=Redimensionar 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.width=Largura:
|
||||
text.height=Altura:
|
||||
@@ -66,12 +64,9 @@ text.settings.controls=Controles
|
||||
text.settings.game=Jogo
|
||||
text.settings.sound=Som
|
||||
text.settings.graphics=Gráficos
|
||||
text.upgrades=Melhorias
|
||||
text.purchased=[LIME]Comprado!
|
||||
text.weapons=Arsenal
|
||||
text.paused=Pausado
|
||||
text.error.title=[crimson]Um erro ocorreu
|
||||
text.error.crashtitle=Um erro ocorreu.
|
||||
text.error.title=[crimson]Ocorreu um Erro.
|
||||
text.error.crashtitle=Ocorreu um Erro
|
||||
text.blocks.blockinfo=Informação do Bloco
|
||||
text.blocks.powercapacity=Capacidade de Energia
|
||||
text.blocks.powershot=Energia/tiro
|
||||
@@ -92,7 +87,7 @@ setting.difficulty.hard=Difícil
|
||||
setting.difficulty.name=Dificuldade
|
||||
setting.screenshake.name=Balanço da Tela
|
||||
setting.indicators.name=Indicadores de Inimigos
|
||||
setting.effects.name=Particulas
|
||||
setting.effects.name=Efeitos
|
||||
setting.sensitivity.name=Sensibilidade do Controle
|
||||
setting.fps.name=Mostrar FPS
|
||||
setting.vsync.name=VSync
|
||||
@@ -102,19 +97,6 @@ setting.musicvol.name=Volume da Música
|
||||
setting.mutemusic.name=Desligar Musica
|
||||
setting.sfxvol.name=Volume de Efeitos
|
||||
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_y.name=move_y
|
||||
keybind.select.name=selecionar
|
||||
@@ -124,7 +106,6 @@ keybind.zoom.name=zoom
|
||||
keybind.menu.name=menu
|
||||
keybind.pause.name=pausar
|
||||
keybind.dash.name=Correr
|
||||
keybind.rotate_alt.name=girar_alt*
|
||||
keybind.rotate.name=girar
|
||||
mode.waves.name=hordas
|
||||
mode.sandbox.name=sandbox
|
||||
@@ -149,310 +130,305 @@ block.liquidjunction.name=Junção de líquido
|
||||
block.sorter.name=Ordenador
|
||||
block.sorter.description=[interact]Aperte no bloco para configurar[]
|
||||
block.smelter.name=Fornalha
|
||||
text.credits=Credits
|
||||
text.link.discord.description=the official Mindustry discord chatroom
|
||||
text.credits=Creditos
|
||||
text.link.discord.description=O discord oficial do Mindustry
|
||||
text.link.github.description=Game source code
|
||||
text.link.dev-builds.description=Unstable development builds
|
||||
text.link.trello.description=Official trello board for planned features
|
||||
text.link.itch.io.description=itch.io page with PC downloads and web version
|
||||
text.link.dev-builds.description=Desenvolvimentos Instaveis
|
||||
text.link.trello.description=Trello Oficial para Updates Planejados
|
||||
text.link.itch.io.description=Pagina da Itch.io com os Downloads
|
||||
text.link.google-play.description=Google Play store listing
|
||||
text.link.wiki.description=official Mindustry wiki
|
||||
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.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.construction.title=Block Construction Guide
|
||||
text.link.wiki.description=Wiki oficial do Mindustry
|
||||
text.linkfail=Falha ao abrir o link\nO Url foi copiado
|
||||
text.editor.web=A versão web não suporta o editor!\nBaixe o jogo para usar.
|
||||
text.web.unsupported=A versão web não suporta este recurso! Baixe o jogo para usar.
|
||||
text.map.delete=Certeza que quer deletar o mapa "[orange]{0}[]"?
|
||||
text.construction.title=Guia de contrução de blocos
|
||||
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=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.unlocks=Unlocks
|
||||
text.joingame=Join Game
|
||||
text.addplayers=Add/Remove Players
|
||||
text.maps=Maps
|
||||
text.maps.none=[LIGHT_GRAY]No maps found!
|
||||
text.about.button=About
|
||||
text.name=Name:
|
||||
text.unlocked=New Block Unlocked!
|
||||
text.unlocked.plural=New Blocks Unlocked!
|
||||
text.players={0} players online
|
||||
text.players.single={0} player online
|
||||
text.server.mismatch=Packet error: possible client/server version mismatch.\nMake sure you and the host have the\nlatest version of Mindustry!
|
||||
text.server.closing=[accent]Closing server...
|
||||
text.server.kicked.kick=You have been kicked from the server!
|
||||
text.server.kicked.fastShoot=You are shooting too quickly.
|
||||
text.server.kicked.invalidPassword=Invalid password!
|
||||
text.server.kicked.clientOutdated=Outdated client! Update your game!
|
||||
text.server.kicked.serverOutdated=Outdated server! Ask the host to update!
|
||||
text.server.kicked.banned=You are banned on this server.
|
||||
text.server.kicked.recentKick=You have been kicked recently.\nWait before connecting again.
|
||||
text.server.kicked.nameInUse=There is someone with that name\nalready on this server.
|
||||
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.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.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.host=Host
|
||||
text.hosting=[accent]Opening server...
|
||||
text.hosts.refresh=Refresh
|
||||
text.hosts.discovering=Discovering LAN games
|
||||
text.server.refreshing=Refreshing server
|
||||
text.hosts.none=[lightgray]No LAN games found!
|
||||
text.host.invalid=[scarlet]Can't connect to host.
|
||||
text.trace=Trace Player
|
||||
text.trace.playername=Player name: [accent]{0}
|
||||
text.showagain=Não mostrar na proxima sessão
|
||||
text.unlocks=Desbloqueados
|
||||
text.joingame=Entrar no Jogo
|
||||
text.addplayers=Adicionar/Remover Jogador
|
||||
text.maps=Mapas
|
||||
text.maps.none=[LIGHT_GRAY]Nenhum Mapa Encontrado!
|
||||
text.about.button=Sobre
|
||||
text.name=Nome:
|
||||
text.unlocked=Novo bloco Desbloqueado!
|
||||
text.unlocked.plural=Novos Blocos desbloqueados!
|
||||
text.players={0} Jogadores Ativos
|
||||
text.players.single={0} Jogador Ativo
|
||||
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]Fechando servidor...
|
||||
text.server.kicked.kick=Voce foi expulso do servidor!
|
||||
text.server.kicked.fastShoot=Voce esta atirando rapido demais.
|
||||
text.server.kicked.invalidPassword=Senha Incorreta!
|
||||
text.server.kicked.clientOutdated=Cliente desatualizado! Atualize seu jogo!
|
||||
text.server.kicked.serverOutdated=Servidor desatualiado! Peca ao dono para atualizar!
|
||||
text.server.kicked.banned=Voce foi banido do servidor.
|
||||
text.server.kicked.recentKick=Voce foi banido recentemente.\nEspere para conectar de novo.
|
||||
text.server.kicked.nameInUse=Este nome ja esta sendo usado\nneste servidor.
|
||||
text.server.kicked.nameEmpty=Voce deve ter pelo menos uma letra ou numero.
|
||||
text.server.kicked.idInUse=Voce ja esta neste servidor! Conectar com duas contas não é permitido.
|
||||
text.server.kicked.customClient=Este servidor não suporta construções customizadas. Baixe a versão original.
|
||||
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.hostserver=Hospedar servidor
|
||||
text.host=Hospedar
|
||||
text.hosting=[accent]Abrindo server...
|
||||
text.hosts.refresh=atualizar
|
||||
text.hosts.discovering=Descobrindo jogos em lan
|
||||
text.server.refreshing=Atualizando servidor
|
||||
text.hosts.none=[lightgray]Nenhum jogo lan encontrado!
|
||||
text.host.invalid=[scarlet]Não foi possivel Hospedar.
|
||||
text.trace=Traçar jogador
|
||||
text.trace.playername=Nome do jogador: [accent]{0}
|
||||
text.trace.ip=IP: [accent]{0}
|
||||
text.trace.id=Unique ID: [accent]{0}
|
||||
text.trace.android=Android Client: [accent]{0}
|
||||
text.trace.modclient=Custom Client: [accent]{0}
|
||||
text.trace.totalblocksbroken=Total blocks broken: [accent]{0}
|
||||
text.trace.structureblocksbroken=Structure blocks broken: [accent]{0}
|
||||
text.trace.lastblockbroken=Last block broken: [accent]{0}
|
||||
text.trace.totalblocksplaced=Total blocks placed: [accent]{0}
|
||||
text.trace.lastblockplaced=Last block placed: [accent]{0}
|
||||
text.invalidid=Invalid client ID! Submit a bug report.
|
||||
text.server.bans=Bans
|
||||
text.server.bans.none=No banned players found!
|
||||
text.server.admins=Admins
|
||||
text.server.admins.none=No admins found!
|
||||
text.server.add=Add Server
|
||||
text.server.delete=Are you sure you want to delete this server?
|
||||
text.server.hostname=Host: {0}
|
||||
text.server.edit=Edit Server
|
||||
text.server.outdated=[crimson]Outdated Server![]
|
||||
text.server.outdated.client=[crimson]Outdated Client![]
|
||||
text.server.version=[lightgray]Version: {0}
|
||||
text.server.custombuild=[yellow]Custom Build
|
||||
text.confirmban=Are you sure you want to ban this player?
|
||||
text.confirmunban=Are you sure you want to unban this player?
|
||||
text.confirmadmin=Are you sure you want to make this player an admin?
|
||||
text.confirmunadmin=Are you sure you want to remove admin status from this player?
|
||||
text.joingame.title=Join Game
|
||||
text.trace.android=Cliente Androide: [accent]{0}
|
||||
text.trace.modclient=Cliente Customizado: [accent]{0}
|
||||
text.trace.totalblocksbroken=Blocos totais quebrados: [accent]{0}
|
||||
text.trace.structureblocksbroken=Blocos de estrutura quebrados: [accent]{0}
|
||||
text.trace.lastblockbroken=Ultimo bloco quebrado: [accent]{0}
|
||||
text.trace.totalblocksplaced=Blocos totais Colocados: [accent]{0}
|
||||
text.trace.lastblockplaced=Ultimo bloco colocado: [accent]{0}
|
||||
text.invalidid=ID do cliente invalido! Reporte o bug.
|
||||
text.server.bans=Banidos
|
||||
text.server.bans.none=Nenhum jogador banido encontrado!
|
||||
text.server.admins=Administradores
|
||||
text.server.admins.none=Nenhum administrador encontrado!
|
||||
text.server.add=Adicionar servidor
|
||||
text.server.delete=Certeza que quer deletar o servidor?
|
||||
text.server.hostname=Hospedar: {0}
|
||||
text.server.edit=Editar servidor
|
||||
text.server.outdated=[crimson]Servidor desatualizado![]
|
||||
text.server.outdated.client=[crimson]Cliente desatualiado![]
|
||||
text.server.version=[lightgray]Versão: {0}
|
||||
text.server.custombuild=[yellow]Construção customizada
|
||||
text.confirmban=Certeza que quer banir este jogador?
|
||||
text.confirmunban=Certeza que quer desbanir este jogador?
|
||||
text.confirmadmin=Certeza que quer fazer este jogador um administrador?
|
||||
text.confirmunadmin=Certeza que quer remover o estatus de adminstrador deste jogador?
|
||||
text.joingame.title=Entrar no jogo
|
||||
text.joingame.ip=IP:
|
||||
text.disconnect=Disconnected.
|
||||
text.disconnect.data=Failed to load world data!
|
||||
text.connecting=[accent]Connecting...
|
||||
text.connecting.data=[accent]Loading world data...
|
||||
text.connectfail=[crimson]Failed to connect to server: [orange]{0}
|
||||
text.server.port=Port:
|
||||
text.server.addressinuse=Address already in use!
|
||||
text.server.invalidport=Invalid port number!
|
||||
text.server.error=[crimson]Error hosting server: [orange]{0}
|
||||
text.save.new=New Save
|
||||
text.save.none=No saves found!
|
||||
text.save.delete.confirm=Are you sure you want to delete this save?
|
||||
text.save.delete=Delete
|
||||
text.save.export=Export Save
|
||||
text.save.import.invalid=[orange]This save is invalid!
|
||||
text.save.import.fail=[crimson]Failed to import save: [orange]{0}
|
||||
text.save.export.fail=[crimson]Failed to export save: [orange]{0}
|
||||
text.save.import=Import Save
|
||||
text.save.newslot=Save name:
|
||||
text.save.rename=Rename
|
||||
text.save.rename.text=New name:
|
||||
text.on=On
|
||||
text.off=Off
|
||||
text.save.autosave=Autosave: {0}
|
||||
text.save.map=Map: {0}
|
||||
text.save.difficulty=Difficulty: {0}
|
||||
text.copylink=Copy Link
|
||||
text.disconnect=Desconectado.
|
||||
text.disconnect.data=Falha ao abrir a data do mundo!
|
||||
text.connecting=[accent]Conectando...
|
||||
text.connecting.data=[accent]Carregando data do mundo...
|
||||
text.connectfail=[crimson]Falha ao entrar no servidor: [orange]{0}
|
||||
text.server.port=Porte:
|
||||
text.server.addressinuse=Senha em uso!
|
||||
text.server.invalidport=Numero de port invalido!
|
||||
text.server.error=[crimson]Erro ao hospedar o servidor: [orange]{0}
|
||||
text.save.new=Novo Save
|
||||
text.save.none=Nenhum save encontrado!
|
||||
text.save.delete.confirm=Certeza que quer deletar este save?
|
||||
text.save.delete=Deletar
|
||||
text.save.export=Exportar save
|
||||
text.save.import.invalid=[orange]Este save é invalido!
|
||||
text.save.import.fail=[crimson]Falha ao importar save: [orange]{0}
|
||||
text.save.export.fail=[crimson]Falha ao Exportar save: [orange]{0}
|
||||
text.save.import=Importar save
|
||||
text.save.newslot=Nome do save:
|
||||
text.save.rename=Renomear
|
||||
text.save.rename.text=Novo jogo:
|
||||
text.on=Ligado
|
||||
text.off=Desligado
|
||||
text.save.autosave=Autosalvar: {0}
|
||||
text.save.map=Mapa: {0}
|
||||
text.save.difficulty=Dificuldade: {0}
|
||||
text.copylink=Copiar link
|
||||
text.changelog.title=Changelog
|
||||
text.changelog.loading=Getting 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.ios=[orange]The changelog is currently not supported in iOS.
|
||||
text.changelog.error=[scarlet]Error getting changelog!\nCheck your internet connection.
|
||||
text.changelog.current=[yellow][[Current version]
|
||||
text.changelog.latest=[orange][[Latest version]
|
||||
text.saving=[accent]Saving...
|
||||
text.unknown=Unknown
|
||||
text.custom=Custom
|
||||
text.changelog.loading=Coletando changelog...
|
||||
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]A changelog não é suportada no IOS.
|
||||
text.changelog.error=[scarlet]Erro ao coletar Changelog!\nCheque a Conexão com a internet.
|
||||
text.changelog.current=[yellow][[Primeira versão]
|
||||
text.changelog.latest=[orange][[Ultima versão]
|
||||
text.saving=[accent]Salvando...
|
||||
text.unknown=Desconhecido
|
||||
text.custom=Customizado
|
||||
text.builtin=Built-In
|
||||
text.map.delete.confirm=Are you sure you want to delete this map? This action cannot be undone!
|
||||
text.map.random=[accent]Random Map
|
||||
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.delete.confirm=Certeza que quer deletar este mapa? Isto não pode ser desfeito!
|
||||
text.map.random=[accent]Mapa aleatório
|
||||
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.openin=Open In Editor
|
||||
text.editor.oregen=Ore Generation
|
||||
text.editor.oregen.info=Ore Generation:
|
||||
text.editor.mapinfo=Map Info
|
||||
text.editor.author=Author:
|
||||
text.editor.description=Description:
|
||||
text.editor.name=Name:
|
||||
text.editor.teams=Teams
|
||||
text.editor.elevation=Elevation
|
||||
text.editor.saved=Saved!
|
||||
text.editor.save.noname=Your map does not have a name! Set one in the 'map info' menu.
|
||||
text.editor.save.overwrite=Your map overwrites a built-in map! Pick a different name in the 'map info' menu.
|
||||
text.editor.import.exists=[scarlet]Unable to import:[] a built-in map named '{0}' already exists!
|
||||
text.editor.import=Import...
|
||||
text.editor.importmap=Import Map
|
||||
text.editor.importmap.description=Import an already existing map
|
||||
text.editor.importfile=Import File
|
||||
text.editor.importfile.description=Import an external map file
|
||||
text.editor.importimage=Import Terrain Image
|
||||
text.editor.importimage.description=Import an external map image file
|
||||
text.editor.export=Export...
|
||||
text.editor.exportfile=Export File
|
||||
text.editor.exportfile.description=Export a map file
|
||||
text.editor.exportimage=Export Terrain Image
|
||||
text.editor.exportimage.description=Export a map image file
|
||||
text.editor.overwrite.confirm=[scarlet]Warning![] A map with this name already exists. Are you sure you want to overwrite it?
|
||||
text.editor.openin=Abrir no Editor
|
||||
text.editor.oregen=Geração de minério
|
||||
text.editor.oregen.info=Geração de minério:
|
||||
text.editor.mapinfo=Informação do mapa
|
||||
text.editor.author=Autor:
|
||||
text.editor.description=Descrição:
|
||||
text.editor.name=Nome:
|
||||
text.editor.teams=Time
|
||||
text.editor.elevation=Elevação
|
||||
text.editor.saved=Salvo!
|
||||
text.editor.save.noname=Seu mapa não tem um nome! Coloque um no menu de "Informação do mapa"
|
||||
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]Não foi possivel importar:[] Um mapa Construído chamado '{0}' Já existe!
|
||||
text.editor.import=Importando...
|
||||
text.editor.importmap=Importar Mapa
|
||||
text.editor.importmap.description=Importar um mapa existente
|
||||
text.editor.importfile=Importar arquivo
|
||||
text.editor.importfile.description=Importar um arquivo externo
|
||||
text.editor.importimage=Importar imagem do terreno
|
||||
text.editor.importimage.description=Importar uma imagem de terreno externa
|
||||
text.editor.export=Exportando...
|
||||
text.editor.exportfile=Exportar arquivo
|
||||
text.editor.exportfile.description=Exportar um arquivo de mapa
|
||||
text.editor.exportimage=Exportar imagem de terreno
|
||||
text.editor.exportimage.description=Exportar um arquivo de imagem de mapa
|
||||
text.editor.overwrite.confirm=[scarlet]Aviso![] Um mapa com esse nome já existe. Tem certeza que deseja substituir?
|
||||
text.fps=FPS: {0}
|
||||
text.tps=TPS: {0}
|
||||
text.ping=Ping: {0}ms
|
||||
text.language.restart=Please restart your game for the language settings to take effect.
|
||||
text.settings.language=Language
|
||||
text.settings.rebind=Rebind
|
||||
text.yes=Yes
|
||||
text.no=No
|
||||
text.info.title=[accent]Info
|
||||
text.blocks.targetsair=Targets Air
|
||||
text.blocks.itemspeed=Units Moved
|
||||
text.blocks.shootrange=Range
|
||||
text.blocks.poweruse=Power Use
|
||||
text.blocks.inputitemcapacity=Input Item Capacity
|
||||
text.blocks.outputitemcapacity=Input Item Capacity
|
||||
text.blocks.maxpowergeneration=Max Power Generation
|
||||
text.blocks.powertransferspeed=Power Transfer
|
||||
text.blocks.craftspeed=Production Speed
|
||||
text.blocks.inputliquidaux=Aux Liquid
|
||||
text.blocks.inputitems=Input Items
|
||||
text.blocks.outputitem=Output Item
|
||||
text.blocks.drilltier=Drillables
|
||||
text.blocks.drillspeed=Base Drill Speed
|
||||
text.blocks.liquidoutput=Liquid Output
|
||||
text.blocks.liquiduse=Liquid Use
|
||||
text.blocks.coolant=Coolant
|
||||
text.blocks.coolantuse=Coolant Use
|
||||
text.blocks.inputliquidfuel=Fuel Liquid
|
||||
text.blocks.liquidfueluse=Liquid Fuel Use
|
||||
text.blocks.reload=Reload
|
||||
text.blocks.inputfuel=Fuel
|
||||
text.blocks.fuelburntime=Fuel Burn Time
|
||||
text.blocks.inputcapacity=Input capacity
|
||||
text.blocks.outputcapacity=Output capacity
|
||||
text.unit.blocks=blocks
|
||||
text.unit.powersecond=power units/second
|
||||
text.unit.liquidsecond=liquid units/second
|
||||
text.unit.itemssecond=items/second
|
||||
text.unit.pixelssecond=pixels/second
|
||||
text.unit.liquidunits=liquid units
|
||||
text.unit.powerunits=power units
|
||||
text.unit.degrees=degrees
|
||||
text.unit.seconds=seconds
|
||||
text.language.restart=Por favor Reinicie seu jogo para a tradução tomar efeito.
|
||||
text.settings.language=Linguagem
|
||||
text.settings.rebind=Religar
|
||||
text.yes=Sim
|
||||
text.no=Não
|
||||
text.info.title=[accent]Informação
|
||||
text.blocks.targetsair=Mirar no ar
|
||||
text.blocks.itemspeed=Unidades mobilizadas
|
||||
text.blocks.shootrange=Alcance
|
||||
text.blocks.poweruse=Uso de energia
|
||||
text.blocks.inputitemcapacity=Configurar capacidade de itens
|
||||
text.blocks.outputitemcapacity=Configurar capacidade de itens
|
||||
text.blocks.maxpowergeneration=Geração maxima de energia
|
||||
text.blocks.powertransferspeed=Transferência de energia
|
||||
text.blocks.craftspeed=Velocidade de produção
|
||||
text.blocks.inputliquidaux=Líquido auxiliar
|
||||
text.blocks.inputitems=Itens de entrada
|
||||
text.blocks.outputitem=Itens de saida
|
||||
text.blocks.drilltier=Furaveis
|
||||
text.blocks.drillspeed=Velocidade da furadeira base
|
||||
text.blocks.liquidoutput=Saida de liquido
|
||||
text.blocks.liquiduse=Uso de liquido
|
||||
text.blocks.coolant=Esfriador
|
||||
text.blocks.coolantuse=Uso do esfriador
|
||||
text.blocks.inputliquidfuel=Liquido de combustivel
|
||||
text.blocks.liquidfueluse=Uso do liquido de combustivel
|
||||
text.blocks.reload=Recarregar
|
||||
text.blocks.inputfuel=Combustivel
|
||||
text.blocks.fuelburntime=Tempo de queima de combustivel
|
||||
text.blocks.inputcapacity=Capacidade de entrada
|
||||
text.blocks.outputcapacity=Capacidade de saída
|
||||
text.unit.blocks=blocos
|
||||
text.unit.powersecond=Unidades de energia/segundo
|
||||
text.unit.liquidsecond=Unidades de líquido/segundo
|
||||
text.unit.itemssecond=itens/segundo
|
||||
text.unit.pixelssecond=pixeis/segundo
|
||||
text.unit.liquidunits=Unidades de liquido
|
||||
text.unit.powerunits=Unidades de energia
|
||||
text.unit.degrees=Graus
|
||||
text.unit.seconds=segundos
|
||||
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.difficulty.insane=insane
|
||||
text.unit.items=itens
|
||||
text.category.general=Geral
|
||||
text.category.power=Poder
|
||||
text.category.liquids=Liquidos
|
||||
text.category.items=Itens
|
||||
text.category.crafting=Construindo
|
||||
text.category.shooting=Atirando
|
||||
setting.difficulty.insane=insano
|
||||
setting.difficulty.purge=purge
|
||||
setting.saveinterval.name=Autosave Interval
|
||||
setting.seconds={0} Seconds
|
||||
setting.fullscreen.name=Fullscreen
|
||||
setting.saveinterval.name=Intervalo de autosalvamento
|
||||
setting.seconds={0} Segundos
|
||||
setting.fullscreen.name=Tela Cheia
|
||||
setting.multithread.name=Multithreading
|
||||
setting.minimap.name=Show Minimap
|
||||
text.keybind.title=Rebind Keys
|
||||
keybind.shoot.name=shoot
|
||||
keybind.block_info.name=block_info
|
||||
keybind.chat.name=chat
|
||||
keybind.player_list.name=player_list
|
||||
setting.minimap.name=Mostrar minimapa
|
||||
text.keybind.title=Refazer teclas
|
||||
keybind.shoot.name=Atirar
|
||||
keybind.chat.name=Conversa
|
||||
keybind.player_list.name=Lista_de_jogadores
|
||||
keybind.console.name=console
|
||||
mode.text.help.title=Description of modes
|
||||
mode.waves.description=the normal mode. limited resources and automatic incoming waves.
|
||||
mode.sandbox.description=infinite resources and no timer for waves.
|
||||
mode.freebuild.description=limited resources and no timer for waves.
|
||||
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.
|
||||
mode.text.help.title=Descrição dos modos
|
||||
mode.waves.description=O modo normal. Recursos limitados E os ataques vem automaticamente.
|
||||
mode.sandbox.description=Recursos infinitos E sem tempo para Ataques.
|
||||
mode.freebuild.description=recursos limitados e Sem tempo para Ataques.
|
||||
content.item.name=Itens
|
||||
content.liquid.name=Liquidos
|
||||
content.unit-type.name=Unidades
|
||||
content.recipe.name=Blocos
|
||||
item.stone.description=Um Material Incomum Cru. Usado para separar e refinar Em outros materiais,Ou Derreter em Lava.
|
||||
item.tungsten.name=Tungstenio
|
||||
item.tungsten.description=Comum, Mas muito util Material de estrutura. Usado em blocos anti-Aquecimento e blocos com geradores E ferrarias.
|
||||
item.lead.name=Chumbo
|
||||
item.lead.description=Material de comeco basico. usado intensivamente em Blocos de transporte de liquidos e eletronicos.
|
||||
item.coal.description=Combustivel pronto.
|
||||
item.carbide.name=Carboneto
|
||||
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=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.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.silicon.name=Sílicio
|
||||
item.silcion.description=Condutor extremamente importante,Com aplicação em paneis solares e dispositivos complexos.
|
||||
item.plastanium.name=Plastanio
|
||||
item.plastanium.description=Leve, Material dutil Usado em aeronaves Avançadas E munição de fragmentação.
|
||||
item.phase-matter.name=Materia fase
|
||||
item.surge-alloy.name=Liga de surto
|
||||
item.biomatter.name=Biomateria
|
||||
item.biomatter.description=A clump of organic mush; used for conversion into oil or as a basic fuel.
|
||||
item.sand.name=Sand
|
||||
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
|
||||
item.sand.name=Areia
|
||||
item.sand.description=Um material comum Que é usado intensivamente em derretimento, Tanto em ligas como fluxo.
|
||||
item.blast-compound.name=Composto de explosão
|
||||
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=piratita
|
||||
item.pyratite.description=Substancia extremamente inflamavel usado em armas incendiarias.
|
||||
liquid.cryofluid.name=Crio Fluido
|
||||
text.item.explosiveness=[LIGHT_GRAY]Explosividade: {0}
|
||||
text.item.flammability=[LIGHT_GRAY]Inflamabilidade: {0}
|
||||
text.item.radioactivity=[LIGHT_GRAY]RadioAtividade: {0}
|
||||
text.item.fluxiness=[LIGHT_GRAY]Poder do fluxo: {0}
|
||||
text.item.hardness=[LIGHT_GRAY]Dureza: {0}
|
||||
text.liquid.heatcapacity=[LIGHT_GRAY]Capacidade de aquecimento: {0}
|
||||
text.liquid.viscosity=[LIGHT_GRAY]Viscosidade: {0}
|
||||
text.liquid.temperature=[LIGHT_GRAY]Temperatura: {0}
|
||||
block.tungsten-wall.name=Parede de tugstenio
|
||||
block.tungsten-wall-large.name=Parede larga de Tugstenio
|
||||
block.carbide-wall.name=Parede de carboneto
|
||||
block.carbide-wall-large.name=Parede de Carboneto
|
||||
block.thorium-wall.name=Parede de tório
|
||||
block.thorium-wall-large.name=Parede larga de tório
|
||||
block.duo.name=Duplo
|
||||
block.scorch.name=Quimar
|
||||
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.distributor.name=Distributor
|
||||
block.distributor.description=A splitter that can split items into 8 directions.
|
||||
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.titanium-conveyor.name=Esteira de Titanio
|
||||
block.splitter.name=Divisor
|
||||
block.splitter.description=Manda os itens em duas direções diferentes imediatamente quando chegam.
|
||||
block.distributor.name=Distribuidor
|
||||
block.distributor.description=Um divisor que pode dividir itens em 8.
|
||||
block.overflow-gate.name=Portão Sobrecarregado
|
||||
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=Esteira de ponte
|
||||
block.bridgeconveyor.description=Uma esteira que pode ir acima de outros blocos, No total de 2 blocos.
|
||||
block.arc-smelter.name=Fundidora Arc
|
||||
block.silicon-smelter.name=Fundidora de silicio
|
||||
block.phase-weaver.name=Palheta de fase
|
||||
block.pulverizer.name=Pulverizador
|
||||
block.cryofluidmixer.name=Misturador de Crio Fluido
|
||||
block.melter.name=Aparelho de fusão
|
||||
block.incinerator.name=Incinerador
|
||||
block.biomattercompressor.name=Compressor de bio-matéria
|
||||
block.separator.name=Separador
|
||||
block.centrifuge.name=Centrifuga
|
||||
block.power-node.name=Célula de energia
|
||||
block.power-node-large.name=Célula de energia Grande
|
||||
block.battery.name=Bateria
|
||||
block.battery-large.name=Bateria Grande
|
||||
block.combustion-generator.name=Gerador de combustão
|
||||
block.turbine-generator.name=Gerador de Turbina
|
||||
block.tungsten-drill.name=Broca de Tungstenio
|
||||
block.carbide-drill.name=Broca de Carboneto
|
||||
block.laser-drill.name=Broca a Laser
|
||||
block.water-extractor.name=Extrator de Agua
|
||||
block.cultivator.name=Cultivador
|
||||
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.delta-mech-factory.name=Fabrica de Mecha Delta
|
||||
block.repairpoint.name=Ponto de Reparo
|
||||
block.resupplypoint.name=Ponto de Reabesticento
|
||||
block.liquidtank.name=Tanque de líquido
|
||||
block.bridgeconduit.name=Conduto Ponte
|
||||
block.mechanical-pump.name=Bomba Mecanica
|
||||
block.itemsource.name=Item Source
|
||||
block.itemvoid.name=Item Void
|
||||
block.liquidsource.name=Liquid Source
|
||||
@@ -460,44 +436,83 @@ block.powervoid.name=Power Void
|
||||
block.powerinfinite.name=Power Infinite
|
||||
block.unloader.name=Unloader
|
||||
block.sortedunloader.name=Sorted Unloader
|
||||
block.vault.name=Vault
|
||||
block.vault.name=Cofre
|
||||
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.phase-conveyor.name=Esteira de Fases
|
||||
block.bridge-conveyor.name=Esteira-Ponte
|
||||
block.plastanium-compressor.name=Compressor de Plastanio
|
||||
block.pyratite-mixer.name=Misturador de Piratita
|
||||
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!
|
||||
block.solidifer.name=Solidificador
|
||||
block.solar-panel.name=Painel Solar
|
||||
block.solar-panel-large.name=Painel Solar Grande
|
||||
block.oil-extractor.name=Extrator de Oleo
|
||||
block.javelin-ship-factory.name=Fabrica de Nave Javelin
|
||||
block.repair-point.name=Ponto de Reparo
|
||||
block.resupply-point.name=Ponto de Reabastecimento
|
||||
block.pulse-conduit.name=Conduto de Pulso
|
||||
block.phase-conduit.name=Conduto de Fase
|
||||
block.liquid-router.name=Roteador de Líquido
|
||||
block.liquid-tank.name=Tanque de Líquido
|
||||
block.liquid-junction.name=Junção de Líquido
|
||||
block.bridge-conduit.name=Conduto-Ponte
|
||||
block.rotary-pump.name=Bomba Rotatoria
|
||||
block.nuclear-reactor.name=Reator Nuclear
|
||||
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
|
||||
text.customgame=Jogo Customizado
|
||||
text.campaign=Campanha
|
||||
text.sectors=Setores
|
||||
text.sector=Setor Selecionado: [LIGHT_GRAY]{0}
|
||||
text.sector.time=Tempo: [LIGHT_GRAY]{0}
|
||||
text.sector.deploy=Soltar
|
||||
text.sector.resume=Voltar
|
||||
text.sector.locked=[scarlet][[Incomplete]
|
||||
text.sector.unexplored=[accent][[Unexplored]
|
||||
text.close=Close
|
||||
text.close=Fechar
|
||||
text.save.playtime=Playtime: {0}
|
||||
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.discord=Присоединяйтесь к нашему Discord чату!
|
||||
text.discord=Присоединяйтесь к нашему Discord!
|
||||
text.link.discord.description=официальный discord-сервер Mindustry
|
||||
text.link.github.description=Исходный код игры
|
||||
text.link.dev-builds.description=Нестабильные разработки
|
||||
@@ -10,23 +10,54 @@ text.link.google-play.description=Google Play список магазинов
|
||||
text.link.wiki.description=официальная вики Mindustry
|
||||
text.linkfail=Не удалось открыть ссылку!\nURL-адрес был скопирован в буфер обмена.
|
||||
text.editor.web=Веб-версия не поддерживает редактор!\nЗагрузите игру, чтобы использовать ее.
|
||||
text.multiplayer.web=Эта версия игры не поддерживает многопользовательскую игру! \n Чтобы играть в мультиплеер из своего браузера, используйте ссылку «Многопользовательская веб-версия» на странице itch.io.
|
||||
text.web.unsupported=Веб-версия не поддерживает эту функцию! Загрузите игру, чтобы использовать её.
|
||||
text.gameover=Ядро было уничтожено.
|
||||
text.sector.gameover=Этот сектор потерян. Разблокировать повторно?
|
||||
text.sector.retry=Повторить попытку
|
||||
text.highscore=[YELLOW]Новый рекорд!
|
||||
text.lasted=Вы продержались до волны
|
||||
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]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.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][[Не завершено]
|
||||
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.maps=Карты
|
||||
text.maps.none=[LIGHT_GRAY]Карты не найдены!
|
||||
text.about.button=Об игре
|
||||
text.name=Название:
|
||||
text.name=Ник:
|
||||
text.unlocked=Новый блок разблокирован!
|
||||
text.unlocked.plural=Новые блоки разблокированы!
|
||||
text.players=Игроков на сервере: {0}
|
||||
text.players.single={0} игрок на сервере
|
||||
text.server.mismatch=Ошибка пакета: возможное несоответствие версии клиента / сервера. Убедитесь, что у вас и у создателя сервера установлена последняя версия Mindustry!
|
||||
text.server.mismatch=Ошибка пакета: возможное несоответствие версии клиента/сервера. Убедитесь, что у вас и у создателя сервера установлена последняя версия Mindustry!
|
||||
text.server.closing=[accent]Закрытие сервера...
|
||||
text.server.kicked.kick=Вас выгнали с сервера!
|
||||
text.server.kicked.fastShoot=Вы стреляете слишком быстро.
|
||||
@@ -35,8 +66,12 @@ text.server.kicked.clientOutdated=Устаревший клиент! Обнов
|
||||
text.server.kicked.serverOutdated=Устаревший сервер! Попросите хост обновить!
|
||||
text.server.kicked.banned=Вы заблокированы на этом сервере.
|
||||
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.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.nameInUse=На этом сервере есть кто-то с этим именем.
|
||||
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.host=Сервер
|
||||
text.hosting=[accent]Открытие сервера...
|
||||
@@ -52,6 +87,7 @@ text.trace.id=Уникальный идентификатор: [accent]{0}
|
||||
text.trace.android=Клиент 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}
|
||||
@@ -83,6 +119,7 @@ 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=Вы уверены,что хотите перезаписать этот слот для сохранения?
|
||||
text.overwrite=Перезаписать
|
||||
@@ -91,7 +128,7 @@ text.saveload=[accent]Сохранение...
|
||||
text.savefail=Не удалось сохранить игру!
|
||||
text.save.delete.confirm=Вы уверены,что хотите удалить это сохранение?
|
||||
text.save.delete=Удалить
|
||||
text.save.export=Отправить сохранение
|
||||
text.save.export=Экспортировать сохранение
|
||||
text.save.import.invalid=[orange]Это сохранение недействительно!
|
||||
text.save.import.fail=[crimson]Не удалось импортировать сохранение: [orange] {0}
|
||||
text.save.export.fail=[crimson]Не удалось отправить сохранение: [orange] {0}
|
||||
@@ -101,7 +138,8 @@ text.save.rename=Переименовывать
|
||||
text.save.rename.text=Новое название:
|
||||
text.selectslot=Выберите сохранение.
|
||||
text.slot=[accent]Слот {0}
|
||||
text.save.corrupted=[orange]Файл сохранения поврежден или имеет недействительный формат!
|
||||
text.save.corrupted=[orange]Сохранённый файл повреждён или имеет недействительный формат!\nЕсли вы только что обновили свою игру, это, вероятно, изменение формата сохранения[scarlet], а не []ошибка.
|
||||
text.sector.corrupted=[orange] Файл сохранения для этого сектора был найден, но загрузка не удалась.\nСоздан новый.
|
||||
text.empty=<Пусто>
|
||||
text.on=Вкл
|
||||
text.off=Выкл
|
||||
@@ -110,6 +148,7 @@ 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=ОК
|
||||
@@ -127,6 +166,7 @@ text.changelog.error=[scarlet]Ошибка при получении измен
|
||||
text.changelog.current=[yellow][[Текущая версия]
|
||||
text.changelog.latest=[orange][[Последняя версия]
|
||||
text.loading=[accent] Загрузка...
|
||||
text.saving=[accent]Сохранение..
|
||||
text.wave=[orange]Волна {0}
|
||||
text.wave.waiting=Волна через {0}
|
||||
text.waiting=Ожидание...
|
||||
@@ -134,6 +174,23 @@ 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]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.errorimageload=Ошибка загрузки изображения: [orange] {0}
|
||||
text.editor.errorimagesave=Ошибка сохранения изображения: [orange] {0}
|
||||
@@ -141,12 +198,29 @@ text.editor.generate=Создать
|
||||
text.editor.resize=Изменить \nразмер
|
||||
text.editor.loadmap=Загрузить\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.saveimage=Сохранить \nизображение
|
||||
text.editor.unsaved=[scarlet]У вас есть не сохраненные изменения![] \nВы уверены,что хотите выйти?
|
||||
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=Высота:
|
||||
@@ -154,6 +228,9 @@ text.menu=Меню
|
||||
text.play=Играть
|
||||
text.load=Загрузить
|
||||
text.save=Сохранить
|
||||
text.fps=FPS: {0}
|
||||
text.tps=TPS: {0}
|
||||
text.ping=Пинг: {0} мс
|
||||
text.language.restart=Перезагрузите игру, чтобы настройки языка вступили в силу.
|
||||
text.settings.language=Язык
|
||||
text.settings=Настройки
|
||||
@@ -162,39 +239,82 @@ 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.upgrades=Улучшения
|
||||
text.purchased=[LIME]Создан!
|
||||
text.weapons=Оружие
|
||||
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.powershot=Энергия/выстрел
|
||||
text.blocks.targetsair=Атакует воздуш. юнитов?
|
||||
text.blocks.itemspeed=Перемещение единиц
|
||||
text.blocks.shootrange=Радиус действия
|
||||
text.blocks.size=Размер
|
||||
text.blocks.liquidcapacity=Вместимость жидкости
|
||||
text.blocks.maxitemssecond=Макс. Количество предметов / в секунду
|
||||
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.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.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=Cтрельба
|
||||
setting.fpscap.name=Макс. FPS
|
||||
setting.fpscap.none=Ничто
|
||||
setting.fpscap.text={0} FPS
|
||||
setting.difficulty.easy=легко
|
||||
setting.difficulty.normal=нормально
|
||||
setting.difficulty.hard=тяжело
|
||||
setting.difficulty.insane=нереально
|
||||
setting.difficulty.insane=безумно
|
||||
setting.difficulty.purge=зачистка
|
||||
setting.difficulty.name=Сложность
|
||||
setting.difficulty.name=Сложность:
|
||||
setting.screenshake.name=Дрожание экрана
|
||||
setting.indicators.name=Индикаторы противников
|
||||
setting.effects.name=Эффекты на экране
|
||||
@@ -207,297 +327,196 @@ 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=Заглушить звук
|
||||
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=Переназначить клавиши
|
||||
keybind.move_x.name=движение_x
|
||||
keybind.move_y.name=движение_y
|
||||
keybind.move_x.name=Движение x
|
||||
keybind.move_y.name=Движение y
|
||||
keybind.select.name=выбрать
|
||||
keybind.break.name=Разрушить
|
||||
keybind.shoot.name=стрельба
|
||||
keybind.zoom_hold.name=удержание_зума
|
||||
keybind.shoot.name=Выстрел
|
||||
keybind.zoom_hold.name=Удержание зума
|
||||
keybind.zoom.name=Приблизить
|
||||
keybind.block_info.name=инфо_о_блоке
|
||||
keybind.menu.name=Меню
|
||||
keybind.pause.name=Пауза
|
||||
keybind.dash.name=Рывок
|
||||
keybind.chat.name=Чат
|
||||
keybind.player_list.name=список_игроков
|
||||
keybind.console.name=консоль
|
||||
keybind.rotate_alt.name=вращать_alt
|
||||
keybind.rotate.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.sandbox.warning=Обратите внимание, что блоки нельзя использовать в режиме песочницы, пока они не будут разблокированы в других режимах.\n\n[LIGHT_GRAY] Если вы не разблокировали какие-либо блоки, ни один из них не появится.
|
||||
mode.freebuild.name=свободная\nстройка
|
||||
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.titanium.name=титан
|
||||
item.thorium.name=уран
|
||||
item.sand.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.lava.name=Лава
|
||||
liquid.oil.name=Нефть
|
||||
block.door.name=дверь
|
||||
block.door-large.name=большая дверь
|
||||
block.conduit.name=трубопровод
|
||||
block.pulseconduit.name=импульсный трубопровод
|
||||
block.liquidrouter.name=Маршрутизатор житкостей
|
||||
block.conveyor.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=Град
|
||||
block.lancer.name=Копейщик
|
||||
block.conveyor.name=Конвейер
|
||||
block.titanium-conveyor.name=Титановый конвейер
|
||||
block.junction.name=Перекрёсток
|
||||
block.splitter.name=Разветвитель
|
||||
block.splitter.description=Выводит предметы на два противоположных направления сразу после их получения.
|
||||
block.router.name=Маршрутизатор
|
||||
block.junction.name=Перекресток
|
||||
block.liquidjunction.name=Перекресток для жидкостей
|
||||
block.sorter.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=Плавильный завод
|
||||
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.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.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.showagain=Don't show again next session
|
||||
text.unlocks=Unlocks
|
||||
text.addplayers=Add/Remove Players
|
||||
text.maps=Maps
|
||||
text.maps.none=[LIGHT_GRAY]No maps found!
|
||||
text.unlocked=New Block Unlocked!
|
||||
text.unlocked.plural=New Blocks Unlocked!
|
||||
text.server.kicked.nameInUse=There is someone with that name\nalready on this server.
|
||||
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.customClient=This server does not support custom builds. Download an official version.
|
||||
text.trace.structureblocksbroken=Structure blocks broken: [accent]{0}
|
||||
text.saving=[accent]Saving...
|
||||
text.unknown=Unknown
|
||||
text.custom=Custom
|
||||
text.builtin=Built-In
|
||||
text.map.delete.confirm=Are you sure you want to delete this map? This action cannot be undone!
|
||||
text.map.random=[accent]Random Map
|
||||
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.editor.slope=\\
|
||||
text.editor.openin=Open In Editor
|
||||
text.editor.oregen=Ore Generation
|
||||
text.editor.oregen.info=Ore Generation:
|
||||
text.editor.mapinfo=Map Info
|
||||
text.editor.author=Author:
|
||||
text.editor.description=Description:
|
||||
text.editor.name=Name:
|
||||
text.editor.teams=Teams
|
||||
text.editor.elevation=Elevation
|
||||
text.editor.saved=Saved!
|
||||
text.editor.save.noname=Your map does not have a name! Set one in the 'map info' menu.
|
||||
text.editor.save.overwrite=Your map overwrites a built-in map! Pick a different name in the 'map info' menu.
|
||||
text.editor.import.exists=[scarlet]Unable to import:[] a built-in map named '{0}' already exists!
|
||||
text.editor.import=Import...
|
||||
text.editor.importmap=Import Map
|
||||
text.editor.importmap.description=Import an already existing map
|
||||
text.editor.importfile=Import File
|
||||
text.editor.importfile.description=Import an external map file
|
||||
text.editor.importimage=Import Terrain Image
|
||||
text.editor.importimage.description=Import an external map image file
|
||||
text.editor.export=Export...
|
||||
text.editor.exportfile=Export File
|
||||
text.editor.exportfile.description=Export a map file
|
||||
text.editor.exportimage=Export Terrain Image
|
||||
text.editor.exportimage.description=Export a map image file
|
||||
text.editor.overwrite.confirm=[scarlet]Warning![] A map with this name already exists. Are you sure you want to overwrite it?
|
||||
text.fps=FPS: {0}
|
||||
text.tps=TPS: {0}
|
||||
text.ping=Ping: {0}ms
|
||||
text.settings.rebind=Rebind
|
||||
text.yes=Yes
|
||||
text.no=No
|
||||
text.blocks.targetsair=Targets Air
|
||||
text.blocks.itemspeed=Units Moved
|
||||
text.blocks.shootrange=Range
|
||||
text.blocks.poweruse=Power Use
|
||||
text.blocks.inputitemcapacity=Input Item Capacity
|
||||
text.blocks.outputitemcapacity=Input Item Capacity
|
||||
text.blocks.maxpowergeneration=Max Power Generation
|
||||
text.blocks.powertransferspeed=Power Transfer
|
||||
text.blocks.craftspeed=Production Speed
|
||||
text.blocks.inputliquidaux=Aux Liquid
|
||||
text.blocks.inputitems=Input Items
|
||||
text.blocks.outputitem=Output Item
|
||||
text.blocks.drilltier=Drillables
|
||||
text.blocks.drillspeed=Base Drill Speed
|
||||
text.blocks.liquidoutput=Liquid Output
|
||||
text.blocks.liquiduse=Liquid Use
|
||||
text.blocks.coolant=Coolant
|
||||
text.blocks.coolantuse=Coolant Use
|
||||
text.blocks.inputliquidfuel=Fuel Liquid
|
||||
text.blocks.liquidfueluse=Liquid Fuel Use
|
||||
text.blocks.reload=Reload
|
||||
text.blocks.inputfuel=Fuel
|
||||
text.blocks.fuelburntime=Fuel Burn Time
|
||||
text.unit.blocks=blocks
|
||||
text.unit.powersecond=power units/second
|
||||
text.unit.liquidsecond=liquid units/second
|
||||
text.unit.itemssecond=items/second
|
||||
text.unit.pixelssecond=pixels/second
|
||||
text.unit.liquidunits=liquid units
|
||||
text.unit.powerunits=power units
|
||||
text.unit.degrees=degrees
|
||||
text.unit.seconds=seconds
|
||||
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
|
||||
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=Предметный вакуум
|
||||
block.liquidsource.name=Источник жидкостей
|
||||
block.powervoid.name=Энергитический вакуум
|
||||
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.drone-pad.name=Стартовая площадка дронов
|
||||
block.fabricator-pad.name=Стартовая площадка сборщиков
|
||||
block.interceptor-pad.name=Стартовая площадка истребителей-перехватчиков
|
||||
block.monsoon-pad.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=Буровая установка
|
||||
block.thermal-pump.name=Тепловой насос
|
||||
block.dagger-pad.name=Стартовая площадка "Кинжал"
|
||||
block.titan-pad.name=Стартовая площадка титанов
|
||||
block.thermal-generator.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=Тяжелый ковровый бомбардировщик. Использует взрывоопасное соединение или пиратит в качестве боеприпасов.
|
||||
unit.interceptor.name=Истребитель-перехватчик
|
||||
unit.interceptor.description=Быстрая и ударная боевая единица, которая использует набег с отскоком. Использует свинец как боеприпасы.
|
||||
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 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.discord=Mindustry Discord'una katılın!
|
||||
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.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.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.highscore=[SARI] Yeni yüksek puan!
|
||||
text.lasted=Dalgaya kadar sürdün
|
||||
text.level.highscore=Yüksek Puan: [accent] {0}
|
||||
text.level.delete.title=Silmeyi onaylayın
|
||||
text.level.select=Seviye Seç
|
||||
@@ -165,9 +162,6 @@ text.settings.controls=kontroller
|
||||
text.settings.game=Oyun
|
||||
text.settings.sound=Ses
|
||||
text.settings.graphics=Grafik
|
||||
text.upgrades=Geliştirmeler
|
||||
text.purchased=[KİREÇ] Yap၊ld၊
|
||||
text.weapons=Silahlar
|
||||
text.paused=Duraklatıldı
|
||||
text.info.title=[Vurgu] Bilgi
|
||||
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.sfxvol.name=SFX Hacmi
|
||||
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
|
||||
keybind.move_x.name=sağ / sol
|
||||
keybind.move_y.name=yukarı / aşağı
|
||||
@@ -231,14 +212,12 @@ keybind.break.name=kırmak
|
||||
keybind.shoot.name=ateş etme
|
||||
keybind.zoom_hold.name=tut ve büyüt
|
||||
keybind.zoom.name=Yakınlaştır
|
||||
keybind.block_info.name=blok bilgisi
|
||||
keybind.menu.name=menü
|
||||
keybind.pause.name=duraklatma
|
||||
keybind.dash.name=tire
|
||||
keybind.chat.name=Sohbet
|
||||
keybind.player_list.name=oyuncu listesi
|
||||
keybind.console.name=KONTROL MASASI
|
||||
keybind.rotate_alt.name=rotate_alt
|
||||
keybind.rotate.name=Döndür
|
||||
mode.text.help.title=Modların açıklaması
|
||||
mode.waves.name=dalgalar
|
||||
@@ -266,7 +245,6 @@ block.liquidjunction.name=sıvı bağlantı
|
||||
block.sorter.name=ayrıştırıcı
|
||||
block.smelter.name=dökümcü
|
||||
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.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.
|
||||
@@ -447,7 +425,6 @@ 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
|
||||
@@ -475,8 +452,6 @@ 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
|
||||
@@ -495,9 +470,49 @@ 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
|
||||
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.gameover=Ядро було зруйновано.
|
||||
text.highscore=[YELLOW] Новий рекорд!
|
||||
text.lasted=Ви тримались до хвилі
|
||||
text.level.highscore=Рекорд: [accent] {0}
|
||||
text.level.delete.title=Підтвердьте видалення
|
||||
text.level.select=Вибір рівня
|
||||
@@ -118,9 +116,6 @@ text.settings.controls=Елементи управління
|
||||
text.settings.game=Гра
|
||||
text.settings.sound=Звук
|
||||
text.settings.graphics=Графіка
|
||||
text.upgrades=Оновлення
|
||||
text.purchased=[LIME] Створено!
|
||||
text.weapons=Зброя
|
||||
text.paused=Пауза
|
||||
text.info.title=[accent] інформація
|
||||
text.error.title=[crimson] Виникла помилка
|
||||
@@ -163,19 +158,6 @@ setting.musicvol.name=Гучність музики
|
||||
setting.mutemusic.name=Вимкнути музику
|
||||
setting.sfxvol.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=Ключ перемотки
|
||||
keybind.move_x.name=move_x
|
||||
keybind.move_y.name=move_y
|
||||
@@ -184,14 +166,12 @@ keybind.break.name={0}break{/0}{1}; {/1}
|
||||
keybind.shoot.name=Постріл
|
||||
keybind.zoom_hold.name=zoom_hold
|
||||
keybind.zoom.name=Збільшити
|
||||
keybind.block_info.name=Інформація про блок
|
||||
keybind.menu.name=Меню
|
||||
keybind.pause.name=Пауза
|
||||
keybind.dash.name=Тире
|
||||
keybind.chat.name=Чат
|
||||
keybind.player_list.name=Список гравців
|
||||
keybind.console.name=// Консоль 1
|
||||
keybind.rotate_alt.name=rotate_alt
|
||||
keybind.rotate.name=Повернути
|
||||
mode.waves.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.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.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.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.
|
||||
@@ -447,7 +425,6 @@ 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
|
||||
@@ -475,8 +452,6 @@ 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
|
||||
@@ -495,9 +470,49 @@ 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
|
||||
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.discord=加入 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.linkfail=無法打開連結!我們已將該網址複製到您的剪貼簿。\n
|
||||
text.editor.web=線上版本不支援地圖編輯器!請下載遊戲已使用這項功能。\n
|
||||
text.multiplayer.web=此遊戲版本不支援多人連線!請在 itch.io 頁面使用「多人線上版」連結以進入多人遊戲。
|
||||
text.gameover=核心已被摧毀。
|
||||
text.highscore=[YELLOW]新的高分紀錄!
|
||||
text.lasted=您存活到波次
|
||||
text.level.highscore=最高分:[accent] {0}
|
||||
text.level.delete.title=確認刪除
|
||||
text.level.select=選擇關卡
|
||||
@@ -167,9 +164,6 @@ text.settings.controls=操作
|
||||
text.settings.game=遊戲
|
||||
text.settings.sound=音效
|
||||
text.settings.graphics=圖形
|
||||
text.upgrades=升級
|
||||
text.purchased=[LIME]已建立!
|
||||
text.weapons=武器
|
||||
text.paused=已暫停
|
||||
text.info.title=[accent]資訊
|
||||
text.error.title=[crimson]發生錯誤
|
||||
@@ -212,19 +206,6 @@ setting.musicvol.name=音樂音量
|
||||
setting.mutemusic.name=靜音
|
||||
setting.sfxvol.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=重新綁定按鍵
|
||||
keybind.move_x.name=水平移動
|
||||
keybind.move_y.name=垂直移動
|
||||
@@ -233,14 +214,12 @@ keybind.break.name=拆除
|
||||
keybind.shoot.name=射擊
|
||||
keybind.zoom_hold.name=按住縮放
|
||||
keybind.zoom.name=縮放
|
||||
keybind.block_info.name=方塊資訊
|
||||
keybind.menu.name=主選單
|
||||
keybind.pause.name=暫停遊戲
|
||||
keybind.dash.name=衝刺
|
||||
keybind.chat.name=聊天
|
||||
keybind.player_list.name=玩家列表
|
||||
keybind.console.name=終端機
|
||||
keybind.rotate_alt.name=反向旋轉
|
||||
keybind.rotate.name=旋轉
|
||||
mode.text.help.title=模式說明
|
||||
mode.waves.name=一般
|
||||
@@ -268,7 +247,6 @@ block.liquidjunction.name=液體樞紐
|
||||
block.sorter.name=分類器
|
||||
block.smelter.name=煉鋼廠
|
||||
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.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.
|
||||
@@ -448,7 +426,6 @@ 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
|
||||
@@ -476,8 +453,6 @@ 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
|
||||
@@ -495,9 +470,49 @@ 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
|
||||
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: {
|
||||
file: square.fnt,
|
||||
markupEnabled: true,
|
||||
@@ -26,22 +26,16 @@ com.badlogic.gdx.graphics.g2d.BitmapFont: {
|
||||
scale: 2
|
||||
}
|
||||
},
|
||||
com.badlogic.gdx.graphics.Color: {
|
||||
Color: {
|
||||
black: {a: 1, b: 0, g: 0, r: 0 },
|
||||
white: {a: 1, b: 1, g: 1, r: 1 },
|
||||
green: {a: 1, b: 0, g: 1, r: 0 },
|
||||
red: {a: 1, b: 0, g: 0, r: 1 },
|
||||
blue: {a: 1, b: 1, g: 0, r: 0 },
|
||||
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"},
|
||||
gray: {a: 1, b: 0.32, g: 0.32, r: 0.32 },
|
||||
lightgray: {a: 1, b: 0.65, g: 0.65, r: 0.65 }
|
||||
orange: {hex: "FFA500"},
|
||||
accent: {hex: "f4ba6e"},
|
||||
vis-blue: {a: 1, b: 0.886, g: 0.631, r: 0.105 },
|
||||
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 }
|
||||
accentDark: {hex: "f4ba6e"},
|
||||
},
|
||||
io.anuke.ucore.scene.Skin$TintedDrawable: {
|
||||
TintedDrawable: {
|
||||
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} }
|
||||
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-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 },
|
||||
menu: {up: text-sides, over: text-sides-over, down: text-sides-down},
|
||||
toggle: {checked: button-down, down: button-down, up: button }
|
||||
},
|
||||
io.anuke.ucore.scene.ui.TextButton$TextButtonStyle: {
|
||||
default: {over: button-over, disabled: button, font: default-font, fontColor: white, disabledFontColor: grey, down: button-down, up: button, transition: 0 },
|
||||
TextButtonStyle: {
|
||||
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},
|
||||
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},
|
||||
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: {
|
||||
default: {down: button-down, up: button, over: button-over, imageDisabledColor: lightgray, imageUpColor: white },
|
||||
ImageButtonStyle: {
|
||||
default: {down: button-down, up: button, over: button-over, imageDisabledColor: gray, 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-down: {up: button-down },
|
||||
toggle: {checked: button-down, down: button-down, up: button, imageDisabledColor: lightgray, imageUpColor: white },
|
||||
togglemap: {down: button-map-down, up: button-map },
|
||||
toggle: {checked: button-down, down: button-down, up: button, imageDisabledColor: gray, imageUpColor: white },
|
||||
select: {checked: button-select, up: clear },
|
||||
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},
|
||||
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},
|
||||
clear: {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 },
|
||||
dialog: {stageBackground: dialogDim, titleFont: default-font, background: window-empty, titleFontColor: accent }
|
||||
},
|
||||
io.anuke.ucore.scene.ui.KeybindDialog$KeybindDialogStyle: {
|
||||
default: {keyColor: accent, keyNameColor: white, controllerColor: menuitem, paneStyle: clear},
|
||||
KeybindDialogStyle: {
|
||||
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-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 },
|
||||
title: {font: title, fontColor: white },
|
||||
link-label: {fontColor: link-label, font: default-font },
|
||||
small: {font: default-font, fontColor: white },
|
||||
menuitem-shortcut: {font: default-font, fontColor: menuitem }
|
||||
small: {font: default-font, fontColor: white }
|
||||
},
|
||||
io.anuke.ucore.scene.ui.TextField$TextFieldStyle: {
|
||||
default: {font: default-font-chat, fontColor: white, disabledFontColor: grey, selection: selection, background: button, cursor: cursor, messageFont: default-font, messageFontColor: grey }
|
||||
textarea: {font: default-font-chat, fontColor: white, disabledFontColor: grey, selection: selection, background: textarea, cursor: cursor, messageFont: default-font, messageFontColor: grey }
|
||||
TextFieldStyle: {
|
||||
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: gray, selection: selection, background: textarea, cursor: cursor, messageFont: default-font, messageFontColor: gray }
|
||||
}
|
||||
|
||||
io.anuke.ucore.scene.ui.CheckBox$CheckBoxStyle: {
|
||||
default: {checkboxOn: check-on, checkboxOff: check-off, checkboxOnOver: check-on-over, checkboxOver: check-over, font: default-font, fontColor: white, disabledFontColor: grey }
|
||||
CheckBoxStyle: {
|
||||
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.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.maps.Sector"/>
|
||||
<extend-configuration-property name="gdx.reflect.include" value="com.badlogic.gdx.utils.Predicate"/>
|
||||
</module>
|
||||
@@ -29,14 +29,18 @@ public class Mindustry extends ModuleCore{
|
||||
module(ui = new UI());
|
||||
module(netServer = new NetServer());
|
||||
module(netClient = new NetClient());
|
||||
}
|
||||
|
||||
@Override
|
||||
public void postInit(){
|
||||
Log.info("Time to load [total]: {0}", Timers.elapsed());
|
||||
}
|
||||
|
||||
@Override
|
||||
public void render(){
|
||||
threads.handleBeginRender();
|
||||
super.render();
|
||||
threads.handleRender();
|
||||
threads.handleEndRender();
|
||||
}
|
||||
|
||||
}
|
||||
|
||||
@@ -32,8 +32,6 @@ public class Vars{
|
||||
public static final float respawnduration = 60 * 4;
|
||||
//time between waves in frames (on normal mode)
|
||||
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
|
||||
public static final float coreBuildRange = 800999f;
|
||||
//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 int maxTextLength = 150;
|
||||
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 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 invalidSector = Integer.MAX_VALUE;
|
||||
public static Locale[] locales;
|
||||
@@ -69,7 +65,6 @@ public class Vars{
|
||||
};
|
||||
//server port
|
||||
public static final int port = 6567;
|
||||
public static final int webPort = 6568;
|
||||
public static boolean testMobile;
|
||||
//shorthand for whether or not this is running on android or ios
|
||||
public static boolean mobile;
|
||||
@@ -143,8 +138,6 @@ public class Vars{
|
||||
String code = stra[i];
|
||||
if(code.contains("_")){
|
||||
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{
|
||||
locales[i] = new Locale(code);
|
||||
}
|
||||
|
||||
@@ -89,7 +89,7 @@ public class Pathfinder{
|
||||
}
|
||||
|
||||
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();
|
||||
}
|
||||
|
||||
|
||||
@@ -71,9 +71,16 @@ public class Items implements ContentList{
|
||||
cost = 1.5f;
|
||||
}};
|
||||
|
||||
surgealloy = new Item("surge-alloy", Color.valueOf("b4d5c7")){{
|
||||
type = ItemType.material;
|
||||
}};
|
||||
surgealloy = new Item("surge-alloy", Color.valueOf("b4d5c7")){
|
||||
{
|
||||
type = ItemType.material;
|
||||
}
|
||||
|
||||
@Override
|
||||
public boolean isHidden(){
|
||||
return true;
|
||||
}
|
||||
};
|
||||
|
||||
biomatter = new Item("biomatter", Color.valueOf("648b55")){{
|
||||
flammability = 0.4f;
|
||||
|
||||
@@ -24,11 +24,12 @@ public class Mechs implements ContentList{
|
||||
speed = 0.5f;
|
||||
weapon = Weapons.blaster;
|
||||
trailColor = Palette.lightTrail;
|
||||
maxSpeed = 4f;
|
||||
}};
|
||||
|
||||
delta = new Mech("delta-mech", false){{
|
||||
drillPower = -1;
|
||||
speed = 0.63f;
|
||||
speed = 0.75f;
|
||||
boostSpeed = 0.86f;
|
||||
itemCapacity = 15;
|
||||
armor = 30f;
|
||||
@@ -37,16 +38,19 @@ public class Mechs implements ContentList{
|
||||
weapon = Weapons.shockgun;
|
||||
ammoCapacity = 50;
|
||||
trailColor = Color.valueOf("d3ddff");
|
||||
maxSpeed = 5f;
|
||||
}};
|
||||
|
||||
tau = new Mech("tau-mech", false){{
|
||||
drillPower = 2;
|
||||
speed = 0.5f;
|
||||
maxSpeed = 5f;
|
||||
}};
|
||||
|
||||
omega = new Mech("omega-mech", false){{
|
||||
drillPower = 1;
|
||||
speed = 0.4f;
|
||||
maxSpeed = 3f;
|
||||
}};
|
||||
|
||||
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.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.massDriver, new ItemStack(Items.carbide, 400), new ItemStack(Items.silicon, 300), new ItemStack(Items.lead, 400), new ItemStack(Items.thorium, 250));
|
||||
|
||||
//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.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));
|
||||
|
||||
//processing
|
||||
@@ -95,6 +95,7 @@ public class Recipes implements ContentList{
|
||||
//generators - combustion
|
||||
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.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
|
||||
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(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, 70));
|
||||
new Recipe(distribution, StorageBlocks.unloader, new ItemStack(Items.carbide, 40), new ItemStack(Items.silicon, 50));
|
||||
new Recipe(distribution, StorageBlocks.vault, new ItemStack(Items.carbide, 500), new ItemStack(Items.thorium, 350));
|
||||
|
||||
//DRILLS, PRODUCERS
|
||||
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.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.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
|
||||
|
||||
//bodies
|
||||
|
||||
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
|
||||
|
||||
@@ -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));
|
||||
|
||||
//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.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.dronePad, new ItemStack(Items.tungsten, 50), new ItemStack(Items.lead, 90), new ItemStack(Items.silicon, 130));
|
||||
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.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
|
||||
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.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.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));
|
||||
@@ -153,6 +159,7 @@ public class Recipes implements ContentList{
|
||||
new Recipe(liquid, LiquidBlocks.mechanicalPump, new ItemStack(Items.tungsten, 30), new ItemStack(Items.lead, 20))
|
||||
.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.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
|
||||
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(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.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.overdriveProjector, new ItemStack(Items.tungsten, 1));
|
||||
|
||||
@@ -1,13 +1,14 @@
|
||||
package io.anuke.mindustry.content;
|
||||
|
||||
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.types.*;
|
||||
import io.anuke.mindustry.game.Content;
|
||||
import io.anuke.mindustry.type.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
|
||||
public void load(){
|
||||
@@ -22,7 +23,7 @@ public class UnitTypes implements ContentList{
|
||||
health = 45;
|
||||
}};
|
||||
|
||||
scout = new UnitType("scout", Scout.class, Scout::new){{
|
||||
dagger = new UnitType("dagger", Dagger.class, Dagger::new){{
|
||||
maxVelocity = 1.1f;
|
||||
speed = 0.2f;
|
||||
drag = 0.4f;
|
||||
@@ -40,7 +41,7 @@ public class UnitTypes implements ContentList{
|
||||
health = 260;
|
||||
}};
|
||||
|
||||
vtol = new UnitType("vtol", Vtol.class, Vtol::new){{
|
||||
interceptor = new UnitType("interceptor", Interceptor.class, Interceptor::new){{
|
||||
speed = 0.3f;
|
||||
maxVelocity = 1.9f;
|
||||
drag = 0.01f;
|
||||
@@ -54,13 +55,14 @@ public class UnitTypes implements ContentList{
|
||||
drag = 0.01f;
|
||||
isFlying = true;
|
||||
weapon = Weapons.bomber;
|
||||
ammoCapacity = 50;
|
||||
}};
|
||||
|
||||
fabricator = new UnitType("fabricator", Fabricator.class, Fabricator::new){{
|
||||
isFlying = true;
|
||||
drag = 0.01f;
|
||||
speed = 0.2f;
|
||||
maxVelocity = 0.6f;
|
||||
maxVelocity = 0.9f;
|
||||
ammoCapacity = 0;
|
||||
range = 70f;
|
||||
itemCapacity = 70;
|
||||
@@ -69,6 +71,7 @@ public class UnitTypes implements ContentList{
|
||||
buildPower = 0.9f;
|
||||
minePower = 1.1f;
|
||||
healSpeed = 0.09f;
|
||||
toMine = ObjectSet.with(Items.lead, Items.tungsten, Items.titanium);
|
||||
}};
|
||||
}
|
||||
|
||||
|
||||
@@ -46,7 +46,7 @@ public class Weapons implements ContentList{
|
||||
reload = 50f;
|
||||
roundrobin = true;
|
||||
shots = 6;
|
||||
inaccuracy = 15f;
|
||||
inaccuracy = 10f;
|
||||
recoil = 2f;
|
||||
velocityRnd = 0.7f;
|
||||
ejectEffect = ShootFx.shellEjectSmall;
|
||||
@@ -93,7 +93,7 @@ public class Weapons implements ContentList{
|
||||
bomber = new Weapon("bomber"){{
|
||||
length = 0f;
|
||||
width = 2f;
|
||||
reload = 5f;
|
||||
reload = 7f;
|
||||
roundrobin = true;
|
||||
ejectEffect = Fx.none;
|
||||
velocityRnd = 1f;
|
||||
|
||||
@@ -12,7 +12,7 @@ import io.anuke.mindustry.world.Tile;
|
||||
import io.anuke.mindustry.world.blocks.*;
|
||||
|
||||
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
|
||||
@@ -20,6 +20,7 @@ public class Blocks extends BlockList implements ContentList{
|
||||
air = new Floor("air"){
|
||||
{
|
||||
blend = false;
|
||||
alwaysReplace = true;
|
||||
}
|
||||
|
||||
//don't draw
|
||||
|
||||
@@ -6,8 +6,7 @@ import io.anuke.annotations.Annotations.Remote;
|
||||
import io.anuke.mindustry.content.Liquids;
|
||||
import io.anuke.mindustry.entities.Player;
|
||||
import io.anuke.mindustry.entities.TileEntity;
|
||||
import io.anuke.mindustry.gen.CallBlocks;
|
||||
import io.anuke.mindustry.net.In;
|
||||
import io.anuke.mindustry.gen.Call;
|
||||
import io.anuke.mindustry.type.ContentList;
|
||||
import io.anuke.mindustry.type.Item;
|
||||
import io.anuke.mindustry.type.Liquid;
|
||||
@@ -28,7 +27,7 @@ import java.io.IOException;
|
||||
public class DebugBlocks extends BlockList implements ContentList{
|
||||
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){
|
||||
LiquidSourceEntity entity = tile.entity();
|
||||
entity.source = liquid;
|
||||
@@ -114,7 +113,7 @@ public class DebugBlocks extends BlockList implements ContentList{
|
||||
if(i == 0) continue;
|
||||
final int f = i;
|
||||
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();
|
||||
button.getStyle().imageUpColor = items.get(i).color;
|
||||
button.setChecked(entity.source.id == f);
|
||||
|
||||
@@ -50,7 +50,7 @@ public class DistributionBlocks extends BlockList implements ContentList{
|
||||
massDriver = new MassDriver("mass-driver"){{
|
||||
size = 3;
|
||||
itemCapacity = 80;
|
||||
range = 300f;
|
||||
range = 340f;
|
||||
}};
|
||||
}
|
||||
}
|
||||
|
||||
@@ -22,15 +22,19 @@ public class LiquidBlocks extends BlockList implements ContentList{
|
||||
pumpAmount = 0.25f;
|
||||
consumes.power(0.015f);
|
||||
liquidCapacity = 30f;
|
||||
powerCapacity = 20f;
|
||||
hasPower = true;
|
||||
size = 2;
|
||||
tier = 1;
|
||||
}};
|
||||
|
||||
thermalPump = new Pump("thermal-pump"){{
|
||||
pumpAmount = 0.3f;
|
||||
consumes.power(0.05f);
|
||||
shadow = "shadow-rounded-2";
|
||||
pumpAmount = 0.55f;
|
||||
consumes.power(0.03f);
|
||||
liquidCapacity = 40f;
|
||||
hasPower = true;
|
||||
powerCapacity = 20f;
|
||||
size = 2;
|
||||
tier = 2;
|
||||
}};
|
||||
|
||||
@@ -21,9 +21,8 @@ public class PowerBlocks extends BlockList implements ContentList{
|
||||
|
||||
thermalGenerator = new LiquidHeatGenerator("thermal-generator"){{
|
||||
maxLiquidGenerate = 0.5f;
|
||||
powerPerLiquid = 0.08f;
|
||||
powerCapacity = 40f;
|
||||
powerPerLiquid = 0.25f;
|
||||
powerPerLiquid = 0.55f;
|
||||
generateEffect = BlockFx.redgeneratespark;
|
||||
size = 2;
|
||||
}};
|
||||
@@ -74,12 +73,13 @@ public class PowerBlocks extends BlockList implements ContentList{
|
||||
|
||||
powerNode = new PowerNode("power-node"){{
|
||||
shadow = "shadow-round-1";
|
||||
maxNodes = 4;
|
||||
}};
|
||||
|
||||
powerNodeLarge = new PowerNode("power-node-large"){{
|
||||
size = 2;
|
||||
powerSpeed = 1f;
|
||||
maxNodes = 5;
|
||||
maxNodes = 6;
|
||||
laserRange = 7.5f;
|
||||
shadow = "shadow-round-2";
|
||||
}};
|
||||
|
||||
@@ -8,11 +8,13 @@ import io.anuke.mindustry.world.Block;
|
||||
import io.anuke.mindustry.world.blocks.units.*;
|
||||
|
||||
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
|
||||
public void load(){
|
||||
droneFactory = new UnitFactory("drone-factory"){{
|
||||
dronePad = new UnitPad("drone-pad"){{
|
||||
type = UnitTypes.drone;
|
||||
produceTime = 800;
|
||||
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)});
|
||||
}};
|
||||
|
||||
fabricatorFactory = new UnitFactory("fabricator-factory"){{
|
||||
fabricatorPad = new UnitPad("fabricator-pad"){{
|
||||
type = UnitTypes.fabricator;
|
||||
produceTime = 1600;
|
||||
produceTime = 1400;
|
||||
size = 2;
|
||||
consumes.power(0.2f);
|
||||
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"){{
|
||||
shadow = "shadow-round-1";
|
||||
itemCapacity = 30;
|
||||
@@ -51,7 +87,11 @@ public class UnitBlocks extends BlockList implements ContentList{
|
||||
size = 2;
|
||||
}};
|
||||
|
||||
shieldProjector = new ShieldProjector("shieldprojector"){{
|
||||
shieldProjector = new ShieldProjector("shield-projector"){{
|
||||
size = 2;
|
||||
}};
|
||||
|
||||
commandCenter = new CommandCenter("command-center"){{
|
||||
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;
|
||||
lifetime = 30f;
|
||||
lifetime = 35f;
|
||||
pierce = true;
|
||||
drag = 0.07f;
|
||||
drag = 0.05f;
|
||||
hiteffect = BulletFx.hitFlameSmall;
|
||||
despawneffect = Fx.none;
|
||||
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;
|
||||
lifetime = 200f;
|
||||
@@ -190,11 +190,14 @@ public class TurretBullets extends BulletList implements ContentList{
|
||||
|
||||
@Override
|
||||
public void draw(Bullet b){
|
||||
Draw.color(Color.LIGHT_GRAY);
|
||||
Fill.square(b.x, b.y, 3f, b.angle());
|
||||
float w = 11f, h = 13f;
|
||||
|
||||
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();
|
||||
}
|
||||
|
||||
|
||||
@@ -25,13 +25,13 @@ public class WeaponBullets extends BulletList{
|
||||
{
|
||||
bulletWidth = 8f;
|
||||
bulletHeight = 9f;
|
||||
bulletShrink = 0.6f;
|
||||
lifetime = 30f;
|
||||
bulletShrink = 0.5f;
|
||||
lifetime = 50f;
|
||||
drag = 0.04f;
|
||||
}
|
||||
};
|
||||
|
||||
bombExplosive = new BombBulletType(20f, 20f, "shell"){
|
||||
bombExplosive = new BombBulletType(10f, 20f, "shell"){
|
||||
{
|
||||
bulletWidth = 9f;
|
||||
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;
|
||||
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;
|
||||
bulletHeight = 12f;
|
||||
|
||||
@@ -16,7 +16,10 @@ import io.anuke.ucore.util.Tmp;
|
||||
import static io.anuke.mindustry.Vars.tilesize;
|
||||
|
||||
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
|
||||
public void load(){
|
||||
@@ -274,5 +277,12 @@ public class BlockFx extends FxList implements ContentList{
|
||||
});
|
||||
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 -> {
|
||||
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);
|
||||
});
|
||||
|
||||
|
||||
@@ -35,65 +35,65 @@ public class ContentLoader{
|
||||
private static OrderedMap<String, Array<Content>> contentMap = new OrderedMap<>();
|
||||
private static ObjectSet<Consumer<Content>> initialization = new ObjectSet<>();
|
||||
private static ContentList[] content = {
|
||||
//effects
|
||||
new BlockFx(),
|
||||
new BulletFx(),
|
||||
new EnvironmentFx(),
|
||||
new ExplosionFx(),
|
||||
new Fx(),
|
||||
new ShootFx(),
|
||||
new UnitFx(),
|
||||
//effects
|
||||
new BlockFx(),
|
||||
new BulletFx(),
|
||||
new EnvironmentFx(),
|
||||
new ExplosionFx(),
|
||||
new Fx(),
|
||||
new ShootFx(),
|
||||
new UnitFx(),
|
||||
|
||||
//items
|
||||
new Items(),
|
||||
//items
|
||||
new Items(),
|
||||
|
||||
//status effects
|
||||
new StatusEffects(),
|
||||
//status effects
|
||||
new StatusEffects(),
|
||||
|
||||
//liquids
|
||||
new Liquids(),
|
||||
//liquids
|
||||
new Liquids(),
|
||||
|
||||
//bullets
|
||||
new ArtilleryBullets(),
|
||||
new FlakBullets(),
|
||||
new MissileBullets(),
|
||||
new StandardBullets(),
|
||||
new TurretBullets(),
|
||||
new WeaponBullets(),
|
||||
//bullets
|
||||
new ArtilleryBullets(),
|
||||
new FlakBullets(),
|
||||
new MissileBullets(),
|
||||
new StandardBullets(),
|
||||
new TurretBullets(),
|
||||
new WeaponBullets(),
|
||||
|
||||
|
||||
//ammotypes
|
||||
new AmmoTypes(),
|
||||
//ammotypes
|
||||
new AmmoTypes(),
|
||||
|
||||
//weapons
|
||||
new Weapons(),
|
||||
//weapons
|
||||
new Weapons(),
|
||||
|
||||
//mechs
|
||||
new Mechs(),
|
||||
//mechs
|
||||
new Mechs(),
|
||||
|
||||
//units
|
||||
new UnitTypes(),
|
||||
//units
|
||||
new UnitTypes(),
|
||||
|
||||
//blocks
|
||||
new Blocks(),
|
||||
new DefenseBlocks(),
|
||||
new DistributionBlocks(),
|
||||
new ProductionBlocks(),
|
||||
new TurretBlocks(),
|
||||
new DebugBlocks(),
|
||||
new LiquidBlocks(),
|
||||
new StorageBlocks(),
|
||||
new UnitBlocks(),
|
||||
new PowerBlocks(),
|
||||
new CraftingBlocks(),
|
||||
new UpgradeBlocks(),
|
||||
new OreBlocks(),
|
||||
//blocks
|
||||
new Blocks(),
|
||||
new DefenseBlocks(),
|
||||
new DistributionBlocks(),
|
||||
new ProductionBlocks(),
|
||||
new TurretBlocks(),
|
||||
new DebugBlocks(),
|
||||
new LiquidBlocks(),
|
||||
new StorageBlocks(),
|
||||
new UnitBlocks(),
|
||||
new PowerBlocks(),
|
||||
new CraftingBlocks(),
|
||||
new UpgradeBlocks(),
|
||||
new OreBlocks(),
|
||||
|
||||
//not really a content class, but this makes initialization easier
|
||||
new ColorMapper(),
|
||||
//not really a content class, but this makes initialization easier
|
||||
new ColorMapper(),
|
||||
|
||||
//recipes
|
||||
new Recipes(),
|
||||
//recipes
|
||||
new Recipes(),
|
||||
};
|
||||
|
||||
/**
|
||||
|
||||
@@ -13,6 +13,7 @@ import io.anuke.mindustry.entities.TileEntity;
|
||||
import io.anuke.mindustry.game.Content;
|
||||
import io.anuke.mindustry.game.ContentDatabase;
|
||||
import io.anuke.mindustry.game.EventType.*;
|
||||
import io.anuke.mindustry.game.GameMode;
|
||||
import io.anuke.mindustry.game.Saves;
|
||||
import io.anuke.mindustry.input.DefaultKeybinds;
|
||||
import io.anuke.mindustry.input.DesktopInput;
|
||||
@@ -48,7 +49,6 @@ public class Control extends Module{
|
||||
private ObjectMap<Sound, Long> soundMap = new ObjectMap<>();
|
||||
|
||||
private Throwable error;
|
||||
//private Input gdxInput;
|
||||
|
||||
public Control(){
|
||||
|
||||
@@ -68,8 +68,6 @@ public class Control extends Module{
|
||||
|
||||
db.load();
|
||||
|
||||
//gdxInput = Gdx.input;
|
||||
|
||||
Sounds.setFalloff(9000f);
|
||||
Sounds.setPlayer((sound, volume) -> {
|
||||
long time = TimeUtils.millis();
|
||||
@@ -84,14 +82,14 @@ public class Control extends Module{
|
||||
DefaultKeybinds.load();
|
||||
|
||||
Settings.defaultList(
|
||||
"ip", "localhost",
|
||||
"port", port + "",
|
||||
"color-0", Color.rgba8888(playerColors[8]),
|
||||
"color-1", Color.rgba8888(playerColors[11]),
|
||||
"color-2", Color.rgba8888(playerColors[13]),
|
||||
"color-3", Color.rgba8888(playerColors[9]),
|
||||
"name", "player",
|
||||
"lastBuild", 0
|
||||
"ip", "localhost",
|
||||
"port", port + "",
|
||||
"color-0", Color.rgba8888(playerColors[8]),
|
||||
"color-1", Color.rgba8888(playerColors[11]),
|
||||
"color-2", Color.rgba8888(playerColors[13]),
|
||||
"color-3", Color.rgba8888(playerColors[9]),
|
||||
"name", "player",
|
||||
"lastBuild", 0
|
||||
);
|
||||
|
||||
KeyBinds.load();
|
||||
@@ -112,6 +110,12 @@ public class Control extends Module{
|
||||
}
|
||||
|
||||
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, () -> {
|
||||
@@ -144,12 +148,16 @@ public class Control extends Module{
|
||||
});
|
||||
|
||||
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
|
||||
ui.restart.show();
|
||||
|
||||
Timers.runTask(30f, () -> state.set(State.menu));
|
||||
threads.runGraphics(() -> {
|
||||
Effects.shake(5, 6, Core.camera.position.x, Core.camera.position.y);
|
||||
ui.restart.show();
|
||||
state.set(State.menu);
|
||||
});
|
||||
});
|
||||
|
||||
Events.on(WorldLoadEvent.class, () -> threads.runGraphics(() -> Events.fire(WorldLoadGraphicsEvent.class)));
|
||||
@@ -362,11 +370,16 @@ public class Control extends Module{
|
||||
}
|
||||
|
||||
//check unlocked sectors
|
||||
if(world.getSector() != null && world.getSector().goal.isComplete() && !world.getSector().complete){
|
||||
world.sectors().completeSector(world.getSector().x, world.getSector().y);
|
||||
world.sectors().save();
|
||||
if(!headless){
|
||||
ui.showInfoFade("$text.sector.unlocked");
|
||||
if(world.getSector() != null && !world.getSector().complete){
|
||||
//all assigned missions are complete
|
||||
if(world.getSector().completedMissions >= world.getSector().missions.size){
|
||||
|
||||
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)){
|
||||
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){
|
||||
db.save();
|
||||
}
|
||||
|
||||
@@ -49,9 +49,7 @@ public class Logic extends Module{
|
||||
state.set(State.playing);
|
||||
state.wavetime = wavespace * state.difficulty.timeScaling * 2;
|
||||
|
||||
//fill inventory with items for debugging
|
||||
|
||||
for(TeamData team : state.teams.getTeams()){
|
||||
for(TeamData team : state.teams.getTeams(true)){
|
||||
for(Tile tile : team.cores){
|
||||
if(debug){
|
||||
for(Item item : Item.all()){
|
||||
@@ -59,13 +57,20 @@ public class Logic extends Module{
|
||||
tile.entity.items.set(item, 1000);
|
||||
}
|
||||
}
|
||||
}else{
|
||||
}else if(!state.mode.infiniteResources){
|
||||
tile.entity.items.add(Items.tungsten, 50);
|
||||
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);
|
||||
}
|
||||
@@ -131,11 +136,11 @@ public class Logic extends Module{
|
||||
|
||||
if(!state.is(State.paused) || Net.active()){
|
||||
|
||||
if(!state.mode.disableWaveTimer){
|
||||
if(!state.mode.disableWaveTimer && !state.mode.disableWaves){
|
||||
state.wavetime -= Timers.delta();
|
||||
}
|
||||
|
||||
if(!Net.client() && state.wavetime <= 0){
|
||||
if(!Net.client() && state.wavetime <= 0 && !state.mode.disableWaves){
|
||||
runWave();
|
||||
}
|
||||
|
||||
|
||||
@@ -12,9 +12,9 @@ import io.anuke.mindustry.content.Mechs;
|
||||
import io.anuke.mindustry.core.GameState.State;
|
||||
import io.anuke.mindustry.entities.Player;
|
||||
import io.anuke.mindustry.entities.traits.SyncTrait;
|
||||
import io.anuke.mindustry.game.Version;
|
||||
import io.anuke.mindustry.gen.Call;
|
||||
import io.anuke.mindustry.gen.RemoteReadServer;
|
||||
import io.anuke.mindustry.game.Version;
|
||||
import io.anuke.mindustry.net.*;
|
||||
import io.anuke.mindustry.net.Administration.PlayerInfo;
|
||||
import io.anuke.mindustry.net.Packets.*;
|
||||
@@ -80,12 +80,22 @@ public class NetServer extends Module{
|
||||
Net.handleServer(ConnectPacket.class, (id, packet) -> {
|
||||
String uuid = packet.uuid;
|
||||
|
||||
if(Net.getConnection(id) == null ||
|
||||
admins.isIPBanned(Net.getConnection(id).address)) return;
|
||||
NetConnection connection = Net.getConnection(id);
|
||||
|
||||
if(connection == null ||
|
||||
admins.isIPBanned(connection.address)) return;
|
||||
|
||||
if(connection.hasBegunConnecting){
|
||||
kick(id, KickReason.idInUse);
|
||||
return;
|
||||
}
|
||||
|
||||
connection.hasBegunConnecting = true;
|
||||
|
||||
TraceInfo trace = admins.getTraceByID(uuid);
|
||||
PlayerInfo info = admins.getInfo(uuid);
|
||||
trace.uuid = uuid;
|
||||
trace.ip = connection.address;
|
||||
trace.android = packet.mobile;
|
||||
|
||||
if(admins.isIDBanned(uuid)){
|
||||
@@ -112,7 +122,7 @@ public class NetServer extends Module{
|
||||
return;
|
||||
}
|
||||
|
||||
if(player.uuid.equals(packet.uuid)){
|
||||
if(player.uuid.equals(packet.uuid) || player.usid.equals(packet.usid)){
|
||||
kick(id, KickReason.idInUse);
|
||||
return;
|
||||
}
|
||||
@@ -175,16 +185,14 @@ public class NetServer extends Module{
|
||||
NetConnection connection = Net.getConnection(id);
|
||||
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;
|
||||
|
||||
long elapsed = TimeUtils.timeSinceMillis(connection.lastRecievedClientTime);
|
||||
|
||||
float maxSpeed = (packet.boosting && !player.mech.flying ? player.mech.boostSpeed : player.mech.speed) * 2.5f;
|
||||
|
||||
//extra 1.1x multiplicaton is added just in case
|
||||
float maxMove = elapsed / 1000f * 60f * maxSpeed * 1.1f;
|
||||
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);
|
||||
|
||||
player.pointerX = packet.pointerX;
|
||||
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.limit(maxMove);
|
||||
|
||||
float prevx = player.x, prevy = player.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;
|
||||
|
||||
if(!verifyPosition){
|
||||
@@ -213,6 +225,7 @@ public class NetServer extends Module{
|
||||
}else if(Vector2.dst(packet.x, packet.y, newx, newy) > correctDist){
|
||||
Call.onPositionSet(id, newx, newy); //teleport and correct position when necessary
|
||||
}
|
||||
|
||||
//reset player to previous synced position so it gets interpolated
|
||||
player.x = prevx;
|
||||
player.y = prevy;
|
||||
@@ -238,9 +251,16 @@ public class NetServer extends Module{
|
||||
});
|
||||
}
|
||||
|
||||
/**
|
||||
* Sends a raw byte[] snapshot to a client, splitting up into chunks when needed.
|
||||
*/
|
||||
private float compound(float speed, float drag){
|
||||
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){
|
||||
if(bytes.length < maxSnapshotSize){
|
||||
Call.onSnapshot(userid, bytes, snapshotID, (short) 0, bytes.length, base);
|
||||
@@ -314,6 +334,8 @@ public class NetServer extends Module{
|
||||
|
||||
@Remote(targets = Loc.client)
|
||||
public static void connectConfirm(Player player){
|
||||
if(player.con == null || player.con.hasConnected) return;
|
||||
|
||||
player.add();
|
||||
player.con.hasConnected = true;
|
||||
Call.sendMessage("[accent]" + player.name + " [accent]has connected.");
|
||||
@@ -352,8 +374,8 @@ public class NetServer extends Module{
|
||||
|
||||
Player player = connections.get(con.id);
|
||||
|
||||
if(player != null && (reason == KickReason.kick || reason == KickReason.banned) && admins.getTraceByID(getUUID(con.id)).uuid != null){
|
||||
PlayerInfo info = admins.getInfo(admins.getTraceByID(getUUID(con.id)).uuid);
|
||||
if(player != null && (reason == KickReason.kick || reason == KickReason.banned) && player.uuid != null){
|
||||
PlayerInfo info = admins.getInfo(player.uuid);
|
||||
info.timesKicked++;
|
||||
info.lastKicked = TimeUtils.millis();
|
||||
}
|
||||
|
||||
@@ -43,10 +43,6 @@ public abstract class Platform {
|
||||
public String getLocaleName(Locale locale){
|
||||
return locale.toString();
|
||||
}
|
||||
/**Whether joining games is supported.*/
|
||||
public boolean canJoinGame(){
|
||||
return true;
|
||||
}
|
||||
/**Whether debug mode is enabled.*/
|
||||
public boolean isDebug(){return false;}
|
||||
/**Must be a base64 string 8 bytes in length.*/
|
||||
|
||||
@@ -66,7 +66,6 @@ public class Renderer extends RendererModule{
|
||||
public Renderer(){
|
||||
Core.batch = new SpriteBatch(4096);
|
||||
|
||||
pixelate = true;
|
||||
Lines.setCircleVertices(14);
|
||||
|
||||
Shaders.init();
|
||||
@@ -215,7 +214,24 @@ public class Renderer extends RendererModule{
|
||||
|
||||
blocks.processBlocks();
|
||||
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);
|
||||
blocks.drawBlocks(Layer.placement);
|
||||
|
||||
@@ -3,6 +3,7 @@ package io.anuke.mindustry.core;
|
||||
import com.badlogic.gdx.Gdx;
|
||||
import com.badlogic.gdx.utils.Queue;
|
||||
import com.badlogic.gdx.utils.TimeUtils;
|
||||
import io.anuke.ucore.core.Settings;
|
||||
import io.anuke.ucore.core.Timers;
|
||||
import io.anuke.ucore.util.Log;
|
||||
|
||||
@@ -19,6 +20,7 @@ public class ThreadHandler{
|
||||
private float framesSinceUpdate;
|
||||
private boolean enabled;
|
||||
private boolean rendered = true;
|
||||
private long lastFrameTime;
|
||||
|
||||
public ThreadHandler(ThreadProvider impl){
|
||||
this.impl = impl;
|
||||
@@ -69,7 +71,24 @@ public class ThreadHandler{
|
||||
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;
|
||||
|
||||
|
||||
@@ -43,7 +43,7 @@ public class UI extends SceneModule{
|
||||
|
||||
public AboutDialog about;
|
||||
public RestartDialog restart;
|
||||
public LevelDialog levels;
|
||||
public CustomGameDialog levels;
|
||||
public MapsDialog maps;
|
||||
public LoadDialog load;
|
||||
public DiscordDialog discord;
|
||||
@@ -62,26 +62,27 @@ public class UI extends SceneModule{
|
||||
public UnlocksDialog unlocks;
|
||||
public ContentInfoDialog content;
|
||||
public SectorsDialog sectors;
|
||||
public MissionDialog missions;
|
||||
|
||||
private Locale lastLocale;
|
||||
|
||||
public UI(){
|
||||
Dialog.setShowAction(() -> sequence(
|
||||
alpha(0f),
|
||||
originCenter(),
|
||||
moveToAligned(Gdx.graphics.getWidth() / 2, Gdx.graphics.getHeight() / 2, Align.center),
|
||||
scaleTo(0.0f, 1f),
|
||||
parallel(
|
||||
scaleTo(1f, 1f, 0.1f, Interpolation.fade),
|
||||
fadeIn(0.1f, Interpolation.fade)
|
||||
)
|
||||
alpha(0f),
|
||||
originCenter(),
|
||||
moveToAligned(Gdx.graphics.getWidth() / 2, Gdx.graphics.getHeight() / 2, Align.center),
|
||||
scaleTo(0.0f, 1f),
|
||||
parallel(
|
||||
scaleTo(1f, 1f, 0.1f, Interpolation.fade),
|
||||
fadeIn(0.1f, Interpolation.fade)
|
||||
)
|
||||
));
|
||||
|
||||
Dialog.setHideAction(() -> sequence(
|
||||
parallel(
|
||||
scaleTo(0.01f, 0.01f, 0.1f, Interpolation.fade),
|
||||
fadeOut(0.1f, Interpolation.fade)
|
||||
)
|
||||
parallel(
|
||||
scaleTo(0.01f, 0.01f, 0.1f, Interpolation.fade),
|
||||
fadeOut(0.1f, Interpolation.fade)
|
||||
)
|
||||
));
|
||||
|
||||
TooltipManager.getInstance().animations = false;
|
||||
@@ -154,7 +155,7 @@ public class UI extends SceneModule{
|
||||
join = new JoinDialog();
|
||||
discord = new DiscordDialog();
|
||||
load = new LoadDialog();
|
||||
levels = new LevelDialog();
|
||||
levels = new CustomGameDialog();
|
||||
language = new LanguageDialog();
|
||||
settings = new SettingsMenuDialog();
|
||||
host = new HostDialog();
|
||||
@@ -169,6 +170,7 @@ public class UI extends SceneModule{
|
||||
unlocks = new UnlocksDialog();
|
||||
content = new ContentInfoDialog();
|
||||
sectors = new SectorsDialog();
|
||||
missions = new MissionDialog();
|
||||
|
||||
Group group = Core.scene.getRoot();
|
||||
|
||||
@@ -179,6 +181,7 @@ public class UI extends SceneModule{
|
||||
listfrag.build(group);
|
||||
debugfrag.build(group);
|
||||
loadfrag.build(group);
|
||||
|
||||
}
|
||||
|
||||
@Override
|
||||
|
||||
@@ -219,6 +219,7 @@ public class World extends Module{
|
||||
/**Loads up a sector map. This does not call play(), but calls reset().*/
|
||||
public void loadSector(Sector sector){
|
||||
currentSector = sector;
|
||||
state.mode = sector.missions.peek().getMode();
|
||||
Timers.mark();
|
||||
Timers.mark();
|
||||
|
||||
@@ -230,16 +231,13 @@ public class World extends Module{
|
||||
|
||||
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);
|
||||
|
||||
EntityPhysics.resizeTree(0, 0, width * tilesize, height * tilesize);
|
||||
|
||||
Timers.mark();
|
||||
generator.generateMap(tiles, sector.x, sector.y);
|
||||
Log.info("Time to generate base map: {0}", Timers.elapsed());
|
||||
|
||||
Log.info("Time to generate fully without additional events: {0}", Timers.elapsed());
|
||||
generator.generateMap(tiles, sector);
|
||||
|
||||
endMapLoad();
|
||||
|
||||
|
||||
@@ -25,7 +25,7 @@ public class MapEditor{
|
||||
private byte elevation;
|
||||
private int rotation;
|
||||
private Block drawBlock = Blocks.stone;
|
||||
private Team drawTeam = Team.none;
|
||||
private Team drawTeam = Team.blue;
|
||||
|
||||
public MapEditor(){
|
||||
|
||||
|
||||
@@ -495,7 +495,7 @@ public class MapEditorDialog extends Dialog implements Disposable{
|
||||
.size(size).get().setAlignment(Align.center, Align.center);
|
||||
|
||||
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);
|
||||
|
||||
}).margin(0).left().growY();
|
||||
@@ -566,7 +566,8 @@ public class MapEditorDialog extends Dialog implements Disposable{
|
||||
|
||||
for(Block block : Block.all()){
|
||||
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;
|
||||
}
|
||||
|
||||
@@ -574,6 +575,10 @@ public class MapEditorDialog extends Dialog implements Disposable{
|
||||
continue;
|
||||
}
|
||||
|
||||
if(Recipe.getByResult(block) != null && Recipe.getByResult(block).desktopOnly && mobile && !debug){
|
||||
continue;
|
||||
}
|
||||
|
||||
if(regions.length == 0 || regions[0] == Draw.region("jjfgj")) continue;
|
||||
|
||||
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.Lightning;
|
||||
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.world.Tile;
|
||||
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++){
|
||||
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);
|
||||
|
||||
@@ -14,10 +14,9 @@ import io.anuke.mindustry.entities.effect.ItemDrop;
|
||||
import io.anuke.mindustry.entities.effect.ScorchDecal;
|
||||
import io.anuke.mindustry.entities.traits.*;
|
||||
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.Trail;
|
||||
import io.anuke.mindustry.net.In;
|
||||
import io.anuke.mindustry.net.Net;
|
||||
import io.anuke.mindustry.net.NetConnection;
|
||||
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
|
||||
|
||||
@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){
|
||||
if(player == null) return;
|
||||
|
||||
@@ -91,7 +90,7 @@ public class Player extends Unit implements BuilderTrait, CarryTrait, ShooterTra
|
||||
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){
|
||||
if(player == null) return;
|
||||
|
||||
@@ -228,10 +227,10 @@ public class Player extends Unit implements BuilderTrait, CarryTrait, ShooterTra
|
||||
|
||||
@Override
|
||||
public void damage(float amount){
|
||||
CallEntity.onPlayerDamage(this, calculateDamage(amount));
|
||||
Call.onPlayerDamage(this, calculateDamage(amount));
|
||||
|
||||
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(!mech.flying){
|
||||
if(getCarrier() != null){
|
||||
CallEntity.dropSelf(this);
|
||||
Call.dropSelf(this);
|
||||
}
|
||||
}else if(getCarry() != null){
|
||||
dropCarry();
|
||||
@@ -548,7 +547,7 @@ public class Player extends Unit implements BuilderTrait, CarryTrait, ShooterTra
|
||||
velocity.add(movement);
|
||||
}
|
||||
float prex = x, prey = y;
|
||||
updateVelocityStatus(mech.drag, 10f);
|
||||
updateVelocityStatus(mech.drag, debug ? 10f : mech.maxSpeed);
|
||||
moved = distanceTo(prex, prey) > 0.01f;
|
||||
}else{
|
||||
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.traits.TargetTrait;
|
||||
import io.anuke.mindustry.game.Team;
|
||||
import io.anuke.mindustry.gen.CallBlocks;
|
||||
import io.anuke.mindustry.net.In;
|
||||
import io.anuke.mindustry.gen.Call;
|
||||
import io.anuke.mindustry.world.Block;
|
||||
import io.anuke.mindustry.world.Edges;
|
||||
import io.anuke.mindustry.world.Tile;
|
||||
@@ -55,14 +54,14 @@ public class TileEntity extends BaseEntity implements TargetTrait{
|
||||
private boolean sleeping;
|
||||
private float sleepTime;
|
||||
|
||||
@Remote(called = Loc.server, in = In.blocks)
|
||||
@Remote(called = Loc.server)
|
||||
public static void onTileDamage(Tile tile, float health){
|
||||
if(tile.entity != null){
|
||||
tile.entity.health = health;
|
||||
}
|
||||
}
|
||||
|
||||
@Remote(called = Loc.server, in = In.blocks)
|
||||
@Remote(called = Loc.server)
|
||||
public static void onTileDestroyed(Tile tile){
|
||||
if(tile.entity == null) return;
|
||||
tile.entity.onDeath();
|
||||
@@ -85,10 +84,7 @@ public class TileEntity extends BaseEntity implements TargetTrait{
|
||||
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(){
|
||||
sleepTime += Timers.delta();
|
||||
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.*/
|
||||
public void noSleep(){
|
||||
sleepTime = 0f;
|
||||
@@ -159,10 +141,10 @@ public class TileEntity extends BaseEntity implements TargetTrait{
|
||||
public void damage(float damage){
|
||||
if(dead) return;
|
||||
|
||||
CallBlocks.onTileDamage(tile, health - tile.block().handleDamage(tile, damage));
|
||||
Call.onTileDamage(tile, health - tile.block().handleDamage(tile, damage));
|
||||
|
||||
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){
|
||||
if(isCarried()){ //carried units do not take into account velocity normally
|
||||
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;
|
||||
}
|
||||
|
||||
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){
|
||||
|
||||
@@ -110,6 +110,12 @@ public class UnitInventory implements Saveable{
|
||||
ammos.add(entry);
|
||||
}
|
||||
|
||||
public void fillAmmo(AmmoType type){
|
||||
totalAmmo = ammoCapacity();
|
||||
ammos.clear();
|
||||
ammos.add(new AmmoEntry(type, ammoCapacity()));
|
||||
}
|
||||
|
||||
public int capacity(){
|
||||
return unit.getItemCapacity();
|
||||
}
|
||||
|
||||