Compare commits
141 Commits
| Author | SHA1 | Date | |
|---|---|---|---|
|
|
53e8eaae75 | ||
|
|
85077fbb9c | ||
|
|
f070d8c965 | ||
|
|
0dc2dc9b08 | ||
|
|
80afe5ad86 | ||
|
|
3287479ee3 | ||
|
|
b308b3eaa4 | ||
|
|
b734fb948d | ||
|
|
117399f10a | ||
|
|
9c63165ef5 | ||
|
|
5e084be6f5 | ||
|
|
5a2c987ea6 | ||
|
|
6eeb49bb37 | ||
|
|
b2bb6136de | ||
|
|
87949679f1 | ||
|
|
a9175d3ffe | ||
|
|
79ea2480cb | ||
|
|
7455fb21a4 | ||
|
|
2c3210afce | ||
|
|
ea9ba60d66 | ||
|
|
130ad59fc4 | ||
|
|
1417e94bcd | ||
|
|
3ec2ae797e | ||
|
|
222499d4c6 | ||
|
|
2a6fcb7983 | ||
|
|
05221a8043 | ||
|
|
50b4915ff9 | ||
|
|
2ef708a586 | ||
|
|
8212c54446 | ||
|
|
503254bc1a | ||
|
|
c1b0b22e4c | ||
|
|
96f5c0a03a | ||
|
|
cba1e81f3d | ||
|
|
dcc6e9827d | ||
|
|
e27f7c8332 | ||
|
|
40aebf0e77 | ||
|
|
dcf9aa9793 | ||
|
|
45591fab83 | ||
|
|
658ebf4bc5 | ||
|
|
59c2a11824 | ||
|
|
33a57b11f6 | ||
|
|
d082963167 | ||
|
|
e2fa834079 | ||
|
|
e6bfc1cee8 | ||
|
|
5b35319559 | ||
|
|
36513c709d | ||
|
|
13bca1b7bd | ||
|
|
b9c85fcaf2 | ||
|
|
50cc281e24 | ||
|
|
0211732520 | ||
|
|
33f6004c81 | ||
|
|
23d3c2dfe7 | ||
|
|
7cce9fad55 | ||
|
|
2c2d561ea6 | ||
|
|
62e33effd1 | ||
|
|
85229f15c4 | ||
|
|
2f0de58d00 | ||
|
|
6ef21f65b2 | ||
|
|
be8fec55e1 | ||
|
|
76430c1e68 | ||
|
|
a4b1d2ca51 | ||
|
|
51b93205ff | ||
|
|
832b5e62bf | ||
|
|
c78adb12aa | ||
|
|
019ffe4c5c | ||
|
|
b3d014cd9f | ||
|
|
bebc8f0342 | ||
|
|
56ed932716 | ||
|
|
4c09f6dd40 | ||
|
|
700e4564a8 | ||
|
|
f1e1eb1015 | ||
|
|
963b96a1fb | ||
|
|
87786441ff | ||
|
|
05dec4df6a | ||
|
|
a3270debac | ||
|
|
cf392d13ed | ||
|
|
574a10e5f8 | ||
|
|
eb410af371 | ||
|
|
542bf2b413 | ||
|
|
723b10af57 | ||
|
|
1394c49e48 | ||
|
|
d8ecdff698 | ||
|
|
2a71f4620e | ||
|
|
fe99c7da62 | ||
|
|
0b00747f29 | ||
|
|
ae4a41cd0b | ||
|
|
93f630bb69 | ||
|
|
d7d5ba7510 | ||
|
|
e846084942 | ||
|
|
a15b887e5c | ||
|
|
4e51586b3b | ||
|
|
d3a90d68d1 | ||
|
|
78973d3f12 | ||
|
|
c37ad9210a | ||
|
|
246591eab4 | ||
|
|
eb0481a1da | ||
|
|
ba72e9c50d | ||
|
|
54a9955e30 | ||
|
|
49bcbafdaa | ||
|
|
b4137dca6e | ||
|
|
98f869ecea | ||
|
|
0c9f2b2687 | ||
|
|
4ec4e83823 | ||
|
|
96477f7ff5 | ||
|
|
1236e8d342 | ||
|
|
47353cc808 | ||
|
|
6eadac38b7 | ||
|
|
0d26b9e4f8 | ||
|
|
cb5351419b | ||
|
|
eb9b0f69bb | ||
|
|
2c103c157a | ||
|
|
a3a071e520 | ||
|
|
5af8236643 | ||
|
|
bf07deafc6 | ||
|
|
2809a083a0 | ||
|
|
b18fd82a21 | ||
|
|
9dcb8b7bd5 | ||
|
|
9af9e1459d | ||
|
|
4d77a6d475 | ||
|
|
64a9377006 | ||
|
|
c20d7f2b4f | ||
|
|
b57cde7148 | ||
|
|
a5fd29e56d | ||
|
|
c0b819ec9b | ||
|
|
30e36d5640 | ||
|
|
0582ba1c47 | ||
|
|
141902d012 | ||
|
|
fd5b8a32a1 | ||
|
|
fc91cf6d44 | ||
|
|
a5de521e6e | ||
|
|
243c50be02 | ||
|
|
c601114a43 | ||
|
|
0fcab7db62 | ||
|
|
b89a5ff3b5 | ||
|
|
1180764dab | ||
|
|
7f292b14a7 | ||
|
|
f7f3d5bde3 | ||
|
|
f400ccc66a | ||
|
|
3a4a37cf0c | ||
|
|
42af4e6b7e | ||
|
|
f4e90bfb6b |
@@ -39,10 +39,13 @@ Server builds are bundled with each released build (in Releases). If you'd rathe
|
|||||||
### Android
|
### Android
|
||||||
|
|
||||||
1. Install the Android SDK [here.](https://developer.android.com/studio#command-tools) Make sure you're downloading the "Command line tools only", as Android Studio is not required.
|
1. Install the Android SDK [here.](https://developer.android.com/studio#command-tools) Make sure you're downloading the "Command line tools only", as Android Studio is not required.
|
||||||
2. Set the `ANDROID_HOME` environment variable to point to your unzipped Android SDK directory.
|
2. In the unzipped Android SDK folder, find the cmdline-tools directory. Then create a folder inside of it called `latest` and put all of its contents into the newly created folder.
|
||||||
3. Run `gradlew android:assembleDebug` (or `./gradlew` if on linux/mac). This will create an unsigned APK in `android/build/outputs/apk`.
|
3. In the same directory run the command `sdkmanager --licenses` (or `./sdkmanager --licenses` if on linux/mac)
|
||||||
|
4. Set the `ANDROID_HOME` environment variable to point to your unzipped Android SDK directory.
|
||||||
|
5. Enable developer mode on your device/emulator. If you are on testing on a phone you can follow [these instructions](https://developer.android.com/studio/command-line/adb#Enabling), otherwise you need to google how to enable your emulator's developer mode specifically.
|
||||||
|
6. Run `gradlew android:assembleDebug` (or `./gradlew` if on linux/mac). This will create an unsigned APK in `android/build/outputs/apk`.
|
||||||
|
|
||||||
To debug the application on a connected phone, run `gradlew android:installDebug android:run`.
|
To debug the application on a connected device/emulator, run `gradlew android:installDebug android:run`.
|
||||||
|
|
||||||
### Troubleshooting
|
### Troubleshooting
|
||||||
|
|
||||||
|
|||||||
@@ -122,8 +122,14 @@ dependencies{
|
|||||||
natives "com.github.Anuken.Arc:natives-android:${getArcHash()}"
|
natives "com.github.Anuken.Arc:natives-android:${getArcHash()}"
|
||||||
natives "com.github.Anuken.Arc:natives-freetype-android:${getArcHash()}"
|
natives "com.github.Anuken.Arc:natives-freetype-android:${getArcHash()}"
|
||||||
|
|
||||||
//TODO dynamically find best android platform jar instead of hard-coding to 30
|
def version;
|
||||||
def sdkFile = new File((String)findSdkDir(), "/platforms/android-30/android.jar")
|
def highestVersion;
|
||||||
|
new File((String)findSdkDir(), "/platforms").eachFileMatch ~/android-\d+/, {
|
||||||
|
version = it.name.find(/\d+/).toInteger();
|
||||||
|
highestVersion = version > highestVersion ? version : highestVersion;
|
||||||
|
}
|
||||||
|
|
||||||
|
def sdkFile = new File((String)findSdkDir(), "/platforms/android-${highestVersion}/android.jar")
|
||||||
if(sdkFile.exists()) compileOnly files(sdkFile.absolutePath)
|
if(sdkFile.exists()) compileOnly files(sdkFile.absolutePath)
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|||||||
@@ -42,6 +42,7 @@ public class EntityProcess extends BaseProcessor{
|
|||||||
Seq<Selement> allDefs = new Seq<>();
|
Seq<Selement> allDefs = new Seq<>();
|
||||||
Seq<Stype> allInterfaces = new Seq<>();
|
Seq<Stype> allInterfaces = new Seq<>();
|
||||||
Seq<TypeSpec.Builder> baseClasses = new Seq<>();
|
Seq<TypeSpec.Builder> baseClasses = new Seq<>();
|
||||||
|
ObjectSet<TypeSpec.Builder> baseClassIndexers = new ObjectSet<>();
|
||||||
ClassSerializer serializer;
|
ClassSerializer serializer;
|
||||||
|
|
||||||
{
|
{
|
||||||
@@ -232,9 +233,15 @@ public class EntityProcess extends BaseProcessor{
|
|||||||
Stype repr = types.first();
|
Stype repr = types.first();
|
||||||
String groupType = repr.annotation(Component.class).base() ? baseName(repr) : interfaceName(repr);
|
String groupType = repr.annotation(Component.class).base() ? baseName(repr) : interfaceName(repr);
|
||||||
|
|
||||||
|
String name = group.name().startsWith("g") ? group.name().substring(1) : group.name();
|
||||||
|
|
||||||
boolean collides = an.collide();
|
boolean collides = an.collide();
|
||||||
groupDefs.add(new GroupDefinition(group.name().startsWith("g") ? group.name().substring(1) : group.name(),
|
groupDefs.add(new GroupDefinition(name,
|
||||||
ClassName.bestGuess(packageName + "." + groupType), types, an.spatial(), an.mapping(), collides));
|
ClassName.bestGuess(packageName + "." + groupType), types, an.spatial(), an.mapping(), collides));
|
||||||
|
|
||||||
|
TypeSpec.Builder accessor = TypeSpec.interfaceBuilder("IndexableEntity__" + name);
|
||||||
|
accessor.addMethod(MethodSpec.methodBuilder("setIndex__" + name).addModifiers(Modifier.ABSTRACT, Modifier.PUBLIC).addParameter(int.class, "index").returns(void.class).build());
|
||||||
|
write(accessor);
|
||||||
}
|
}
|
||||||
|
|
||||||
ObjectMap<String, Selement> usedNames = new ObjectMap<>();
|
ObjectMap<String, Selement> usedNames = new ObjectMap<>();
|
||||||
@@ -260,6 +267,8 @@ public class EntityProcess extends BaseProcessor{
|
|||||||
//get base class type name for extension
|
//get base class type name for extension
|
||||||
Stype baseClassType = baseClasses.any() ? baseClasses.first() : null;
|
Stype baseClassType = baseClasses.any() ? baseClasses.first() : null;
|
||||||
@Nullable TypeName baseClass = baseClasses.any() ? tname(packageName + "." + baseName(baseClassType)) : null;
|
@Nullable TypeName baseClass = baseClasses.any() ? tname(packageName + "." + baseName(baseClassType)) : null;
|
||||||
|
@Nullable TypeSpec.Builder baseClassBuilder = baseClassType == null ? null : this.baseClasses.find(b -> Reflect.<String>get(b, "name").equals(baseName(baseClassType)));
|
||||||
|
boolean addIndexToBase = baseClassBuilder != null && baseClassIndexers.add(baseClassBuilder);
|
||||||
//whether the main class is the base itself
|
//whether the main class is the base itself
|
||||||
boolean typeIsBase = baseClassType != null && type.has(Component.class) && type.annotation(Component.class).base();
|
boolean typeIsBase = baseClassType != null && type.has(Component.class) && type.annotation(Component.class).base();
|
||||||
|
|
||||||
@@ -394,6 +403,17 @@ public class EntityProcess extends BaseProcessor{
|
|||||||
//entities with no sync comp and no serialization gen no code
|
//entities with no sync comp and no serialization gen no code
|
||||||
boolean hasIO = ann.genio() && (components.contains(s -> s.name().contains("Sync")) || ann.serialize());
|
boolean hasIO = ann.genio() && (components.contains(s -> s.name().contains("Sync")) || ann.serialize());
|
||||||
|
|
||||||
|
TypeSpec.Builder indexBuilder = baseClassBuilder == null ? builder : baseClassBuilder;
|
||||||
|
|
||||||
|
if(baseClassBuilder == null || addIndexToBase){
|
||||||
|
//implement indexable interfaces.
|
||||||
|
for(GroupDefinition def : groups){
|
||||||
|
indexBuilder.addSuperinterface(tname(packageName + ".IndexableEntity__" + def.name));
|
||||||
|
indexBuilder.addMethod(MethodSpec.methodBuilder("setIndex__" + def.name).addParameter(int.class, "index").addModifiers(Modifier.PUBLIC).addAnnotation(Override.class)
|
||||||
|
.addCode("index__$L = index;", def.name).build());
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
//add all methods from components
|
//add all methods from components
|
||||||
for(ObjectMap.Entry<String, Seq<Smethod>> entry : methods){
|
for(ObjectMap.Entry<String, Seq<Smethod>> entry : methods){
|
||||||
if(entry.value.contains(m -> m.has(Replace.class))){
|
if(entry.value.contains(m -> m.has(Replace.class))){
|
||||||
@@ -446,8 +466,15 @@ public class EntityProcess extends BaseProcessor{
|
|||||||
mbuilder.addStatement("if(added == $L) return", first.name().equals("add"));
|
mbuilder.addStatement("if(added == $L) return", first.name().equals("add"));
|
||||||
|
|
||||||
for(GroupDefinition def : groups){
|
for(GroupDefinition def : groups){
|
||||||
|
if(first.name().equals("add")){
|
||||||
//remove/add from each group, assume imported
|
//remove/add from each group, assume imported
|
||||||
mbuilder.addStatement("Groups.$L.$L(this)", def.name, first.name());
|
mbuilder.addStatement("index__$L = Groups.$L.addIndex(this)", def.name, def.name);
|
||||||
|
}else{
|
||||||
|
//remove/add from each group, assume imported
|
||||||
|
mbuilder.addStatement("Groups.$L.removeIndex(this, index__$L);", def.name, def.name);
|
||||||
|
|
||||||
|
mbuilder.addStatement("index__$L = -1", def.name);
|
||||||
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
@@ -577,6 +604,16 @@ public class EntityProcess extends BaseProcessor{
|
|||||||
|
|
||||||
skipDeprecated(builder);
|
skipDeprecated(builder);
|
||||||
|
|
||||||
|
if(!legacy){
|
||||||
|
TypeSpec.Builder fieldBuilder = baseClassBuilder != null ? baseClassBuilder : builder;
|
||||||
|
if(addIndexToBase || baseClassBuilder == null){
|
||||||
|
//add group index int variables
|
||||||
|
for(GroupDefinition def : groups){
|
||||||
|
fieldBuilder.addField(FieldSpec.builder(int.class, "index__" + def.name, Modifier.PROTECTED, Modifier.TRANSIENT).initializer("-1").build());
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
definitions.add(new EntityDefinition(packageName + "." + name, builder, type, typeIsBase ? null : baseClass, components, groups, allFieldSpecs, legacy));
|
definitions.add(new EntityDefinition(packageName + "." + name, builder, type, typeIsBase ? null : baseClass, components, groups, allFieldSpecs, legacy));
|
||||||
}
|
}
|
||||||
|
|
||||||
@@ -592,7 +629,7 @@ public class EntityProcess extends BaseProcessor{
|
|||||||
groupsBuilder.addField(ParameterizedTypeName.get(
|
groupsBuilder.addField(ParameterizedTypeName.get(
|
||||||
ClassName.bestGuess("mindustry.entities.EntityGroup"), itype), group.name, Modifier.PUBLIC, Modifier.STATIC);
|
ClassName.bestGuess("mindustry.entities.EntityGroup"), itype), group.name, Modifier.PUBLIC, Modifier.STATIC);
|
||||||
|
|
||||||
groupInit.addStatement("$L = new $T<>($L.class, $L, $L)", group.name, groupc, itype, group.spatial, group.mapping);
|
groupInit.addStatement("$L = new $T<>($L.class, $L, $L, (e, pos) -> (($L.IndexableEntity__$L)e).setIndex__$L(pos))", group.name, groupc, itype, group.spatial, group.mapping, packageName, group.name, group.name);
|
||||||
}
|
}
|
||||||
|
|
||||||
//write the groups
|
//write the groups
|
||||||
@@ -855,7 +892,7 @@ public class EntityProcess extends BaseProcessor{
|
|||||||
|
|
||||||
for(Smethod method : methods){
|
for(Smethod method : methods){
|
||||||
String signature = method.toString();
|
String signature = method.toString();
|
||||||
if(signatures.contains(signature)) continue;
|
if(!signatures.add(signature)) continue;
|
||||||
|
|
||||||
Stype compType = interfaceToComp(method.type());
|
Stype compType = interfaceToComp(method.type());
|
||||||
MethodSpec.Builder builder = MethodSpec.overriding(method.e).addModifiers(Modifier.PUBLIC, Modifier.FINAL);
|
MethodSpec.Builder builder = MethodSpec.overriding(method.e).addModifiers(Modifier.PUBLIC, Modifier.FINAL);
|
||||||
@@ -866,12 +903,19 @@ public class EntityProcess extends BaseProcessor{
|
|||||||
builder.addAnnotation(OverrideCallSuper.class); //just in case
|
builder.addAnnotation(OverrideCallSuper.class); //just in case
|
||||||
|
|
||||||
if(!method.isVoid()){
|
if(!method.isVoid()){
|
||||||
if(method.name().equals("isNull")){
|
String methodName = method.name();
|
||||||
|
switch(methodName){
|
||||||
|
case "isNull":
|
||||||
builder.addStatement("return true");
|
builder.addStatement("return true");
|
||||||
}else if(method.name().equals("id")){
|
break;
|
||||||
|
case "id":
|
||||||
builder.addStatement("return -1");
|
builder.addStatement("return -1");
|
||||||
}else{
|
break;
|
||||||
Svar variable = compType == null || method.params().size > 0 ? null : compType.fields().find(v -> v.name().equals(method.name()));
|
case "toString":
|
||||||
|
builder.addStatement("return $S", className);
|
||||||
|
break;
|
||||||
|
default:
|
||||||
|
Svar variable = compType == null || method.params().size > 0 ? null : compType.fields().find(v -> v.name().equals(methodName));
|
||||||
String desc = variable == null ? null : variable.descString();
|
String desc = variable == null ? null : variable.descString();
|
||||||
if(variable == null || !varInitializers.containsKey(desc)){
|
if(variable == null || !varInitializers.containsKey(desc)){
|
||||||
builder.addStatement("return " + getDefault(method.ret().toString()));
|
builder.addStatement("return " + getDefault(method.ret().toString()));
|
||||||
@@ -881,10 +925,7 @@ public class EntityProcess extends BaseProcessor{
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
nullBuilder.addMethod(builder.build());
|
nullBuilder.addMethod(builder.build());
|
||||||
|
|
||||||
signatures.add(signature);
|
|
||||||
}
|
}
|
||||||
|
|
||||||
nullsBuilder.addField(FieldSpec.builder(type, Strings.camelize(baseName)).initializer("new " + className + "()").addModifiers(Modifier.FINAL, Modifier.STATIC, Modifier.PUBLIC).build());
|
nullsBuilder.addField(FieldSpec.builder(type, Strings.camelize(baseName)).initializer("new " + className + "()").addModifiers(Modifier.FINAL, Modifier.STATIC, Modifier.PUBLIC).build());
|
||||||
|
|||||||
@@ -97,14 +97,14 @@ public class StructProcess extends BaseProcessor{
|
|||||||
}
|
}
|
||||||
|
|
||||||
//[setter] + [constructor building]
|
//[setter] + [constructor building]
|
||||||
if(varType == TypeName.BOOLEAN){
|
if(isBool){
|
||||||
cons.append(" | (").append(varName).append(" ? ").append("1L << ").append(offset).append("L : 0)");
|
cons.append(" | (").append(varName).append(" ? ").append("1L << ").append(offset).append("L : 0)");
|
||||||
|
|
||||||
//bools: single bit, needs special case to clear things
|
//bools: single bit, needs special case to clear things
|
||||||
setter.beginControlFlow("if(value)");
|
setter.beginControlFlow("if(value)");
|
||||||
setter.addStatement("return ($T)(($L & ~(1L << $LL)))", structType, structParam, offset);
|
|
||||||
setter.nextControlFlow("else");
|
|
||||||
setter.addStatement("return ($T)(($L & ~(1L << $LL)) | (1L << $LL))", structType, structParam, offset, offset);
|
setter.addStatement("return ($T)(($L & ~(1L << $LL)) | (1L << $LL))", structType, structParam, offset, offset);
|
||||||
|
setter.nextControlFlow("else");
|
||||||
|
setter.addStatement("return ($T)(($L & ~(1L << $LL)))", structType, structParam, offset);
|
||||||
setter.endControlFlow();
|
setter.endControlFlow();
|
||||||
}else if(varType == TypeName.FLOAT){
|
}else if(varType == TypeName.FLOAT){
|
||||||
cons.append(" | (").append("(").append(structType).append(")").append("Float.floatToIntBits(").append(varName).append(") << ").append(offset).append("L)");
|
cons.append(" | (").append("(").append(structType).append(")").append("Float.floatToIntBits(").append(varName).append(") << ").append(offset).append("L)");
|
||||||
|
|||||||
@@ -157,6 +157,8 @@ mod.blacklisted.details = This mod has been manually blacklisted for causing cra
|
|||||||
mod.missingdependencies.details = This mod is missing dependencies: {0}
|
mod.missingdependencies.details = This mod is missing dependencies: {0}
|
||||||
mod.erroredcontent.details = This mod caused errors when loading. Ask the mod author to fix them.
|
mod.erroredcontent.details = This mod caused errors when loading. Ask the mod author to fix them.
|
||||||
|
|
||||||
|
mod.requiresversion = Requires game version: [red]{0}
|
||||||
|
|
||||||
mod.errors = Errors have occurred loading content.
|
mod.errors = Errors have occurred loading content.
|
||||||
mod.noerrorplay = [red]You have mods with errors.[] Either disable the affected mods or fix the errors before playing.
|
mod.noerrorplay = [red]You have mods with errors.[] Either disable the affected mods or fix the errors before playing.
|
||||||
mod.nowdisabled = [red]Mod '{0}' is missing dependencies:[accent] {1}\n[lightgray]These mods need to be downloaded first.\nThis mod will be automatically disabled.
|
mod.nowdisabled = [red]Mod '{0}' is missing dependencies:[accent] {1}\n[lightgray]These mods need to be downloaded first.\nThis mod will be automatically disabled.
|
||||||
@@ -290,6 +292,7 @@ server.invalidport = Invalid port number!
|
|||||||
server.error = [scarlet]Error hosting server.
|
server.error = [scarlet]Error hosting server.
|
||||||
save.new = New Save
|
save.new = New Save
|
||||||
save.overwrite = Are you sure you want to overwrite\nthis save slot?
|
save.overwrite = Are you sure you want to overwrite\nthis save slot?
|
||||||
|
save.nocampaign = Individual save files from the campaign cannot be imported.
|
||||||
overwrite = Overwrite
|
overwrite = Overwrite
|
||||||
save.none = No saves found!
|
save.none = No saves found!
|
||||||
savefail = Failed to save game!
|
savefail = Failed to save game!
|
||||||
@@ -357,6 +360,8 @@ pausebuilding = [accent][[{0}][] to pause building
|
|||||||
resumebuilding = [scarlet][[{0}][] to resume building
|
resumebuilding = [scarlet][[{0}][] to resume building
|
||||||
enablebuilding = [scarlet][[{0}][] to enable building
|
enablebuilding = [scarlet][[{0}][] to enable building
|
||||||
showui = UI hidden.\nPress [accent][[{0}][] to show UI.
|
showui = UI hidden.\nPress [accent][[{0}][] to show UI.
|
||||||
|
commandmode.name = [accent]Command Mode
|
||||||
|
commandmode.nounits = [no units]
|
||||||
wave = [accent]Wave {0}
|
wave = [accent]Wave {0}
|
||||||
wave.cap = [accent]Wave {0}/{1}
|
wave.cap = [accent]Wave {0}/{1}
|
||||||
wave.waiting = [lightgray]Wave in {0}
|
wave.waiting = [lightgray]Wave in {0}
|
||||||
@@ -441,6 +446,7 @@ waves.max = max units
|
|||||||
waves.guardian = Guardian
|
waves.guardian = Guardian
|
||||||
waves.preview = Preview
|
waves.preview = Preview
|
||||||
waves.edit = Edit...
|
waves.edit = Edit...
|
||||||
|
waves.random = Random
|
||||||
waves.copy = Copy to Clipboard
|
waves.copy = Copy to Clipboard
|
||||||
waves.load = Load from Clipboard
|
waves.load = Load from Clipboard
|
||||||
waves.invalid = Invalid waves in clipboard.
|
waves.invalid = Invalid waves in clipboard.
|
||||||
@@ -792,7 +798,7 @@ sector.onset.description = Commence the conquest of Erekir. Gather resources, pr
|
|||||||
sector.aegis.description = This sector contains deposits of tungsten.\nResearch the [accent]Impact Drill[] to mine this resource, and destroy the enemy base in the area.
|
sector.aegis.description = This sector contains deposits of tungsten.\nResearch the [accent]Impact Drill[] to mine this resource, and destroy the enemy base in the area.
|
||||||
sector.lake.description = This sector's slag lake greatly limits viable units. A hover unit is the only option.\nResearch the [accent]ship fabricator[] and produce an [accent]elude[] unit as soon as possible.
|
sector.lake.description = This sector's slag lake greatly limits viable units. A hover unit is the only option.\nResearch the [accent]ship fabricator[] and produce an [accent]elude[] unit as soon as possible.
|
||||||
sector.intersect.description = Scans suggest that this sector will be attacked from multiple sides soon after landing.\nSet up defenses quickly and expand as soon as possible.\n[accent]Mech[] units will be required for the area's rough terrain.
|
sector.intersect.description = Scans suggest that this sector will be attacked from multiple sides soon after landing.\nSet up defenses quickly and expand as soon as possible.\n[accent]Mech[] units will be required for the area's rough terrain.
|
||||||
sector.atlas.description = This sector contains varied terrain and will require a variety of units to attack effectively.\nUpgraded units may also be necessary to get past some of the tougher enemy bases detected here.\nResearch the [accent]Electrolyzer[] and the [accent]Tank Refabricator[].
|
sector.atlas.description = This sector contains varied terrain and will require a variety of units to attack effectively.\nUpgraded units may also be necessary to get past certain enemy bases detected here.\nResearch the [accent]Electrolyzer[] and the [accent]Tank Refabricator[].
|
||||||
sector.split.description = The minimal enemy presence in this sector makes it perfect for testing new transport tech.
|
sector.split.description = The minimal enemy presence in this sector makes it perfect for testing new transport tech.
|
||||||
sector.basin.description = Large enemy presence detected in this sector.\nBuild units quickly and capture enemy cores to gain a foothold.
|
sector.basin.description = Large enemy presence detected in this sector.\nBuild units quickly and capture enemy cores to gain a foothold.
|
||||||
sector.marsh.description = This sector has an abundance of arkycite, but has limited vents.\nBuild [accent]Chemical Combustion Chambers[] to generate power.
|
sector.marsh.description = This sector has an abundance of arkycite, but has limited vents.\nBuild [accent]Chemical Combustion Chambers[] to generate power.
|
||||||
@@ -1211,6 +1217,7 @@ rules.unitbuildspeedmultiplier = Unit Production Speed Multiplier
|
|||||||
rules.unitcostmultiplier = Unit Cost Multiplier
|
rules.unitcostmultiplier = Unit Cost Multiplier
|
||||||
rules.unithealthmultiplier = Unit Health Multiplier
|
rules.unithealthmultiplier = Unit Health Multiplier
|
||||||
rules.unitdamagemultiplier = Unit Damage Multiplier
|
rules.unitdamagemultiplier = Unit Damage Multiplier
|
||||||
|
rules.unitcrashdamagemultiplier = Unit Crash Damage Multiplier
|
||||||
rules.solarmultiplier = Solar Power Multiplier
|
rules.solarmultiplier = Solar Power Multiplier
|
||||||
rules.unitcapvariable = Cores Contribute To Unit Cap
|
rules.unitcapvariable = Cores Contribute To Unit Cap
|
||||||
rules.unitcap = Base Unit Cap
|
rules.unitcap = Base Unit Cap
|
||||||
|
|||||||
@@ -151,6 +151,7 @@ mod.outdatedv7.details = This mod is incompatible with the latest version of the
|
|||||||
mod.blacklisted.details = This mod has been manually blacklisted for causing crashes or other issues with this version of the game. Do not use it.
|
mod.blacklisted.details = This mod has been manually blacklisted for causing crashes or other issues with this version of the game. Do not use it.
|
||||||
mod.missingdependencies.details = This mod is missing dependencies: {0}
|
mod.missingdependencies.details = This mod is missing dependencies: {0}
|
||||||
mod.erroredcontent.details = This game caused errors when loading. Ask the mod author to fix them.
|
mod.erroredcontent.details = This game caused errors when loading. Ask the mod author to fix them.
|
||||||
|
mod.requiresversion = Requires game version: [red]{0}
|
||||||
mod.errors = Памылкі былі выкліканыя загружаным змесцівам.
|
mod.errors = Памылкі былі выкліканыя загружаным змесцівам.
|
||||||
mod.noerrorplay = [scarlet]У Вас ёсць мадыфікацыі з памылкамі.[] Выключыце праблемныя мадыфікацыі або выпраўце памылкі перад гульнёй.
|
mod.noerrorplay = [scarlet]У Вас ёсць мадыфікацыі з памылкамі.[] Выключыце праблемныя мадыфікацыі або выпраўце памылкі перад гульнёй.
|
||||||
mod.nowdisabled = [scarlet]Мадыфікацыі '{0}' патрабуюцца бацькоўскія мадыфікацыі:[accent] {1}\n[lightgray]Спачатку трэба загрузіць іх.\nГэтая мадыфікацыя будзе аўтаматычна адключаная.
|
mod.nowdisabled = [scarlet]Мадыфікацыі '{0}' патрабуюцца бацькоўскія мадыфікацыі:[accent] {1}\n[lightgray]Спачатку трэба загрузіць іх.\nГэтая мадыфікацыя будзе аўтаматычна адключаная.
|
||||||
@@ -283,6 +284,7 @@ server.invalidport = Няправільны нумар порта!
|
|||||||
server.error = [барвовы]Памылка стварэння сервера.
|
server.error = [барвовы]Памылка стварэння сервера.
|
||||||
save.new = Новае захаванне
|
save.new = Новае захаванне
|
||||||
save.overwrite = Вы ўпэўненыя, што жадаеце перазапісаць\nгэты слот для захавання?
|
save.overwrite = Вы ўпэўненыя, што жадаеце перазапісаць\nгэты слот для захавання?
|
||||||
|
save.nocampaign = Individual save files from the campaign cannot be imported.
|
||||||
overwrite = Перазапісаць
|
overwrite = Перазапісаць
|
||||||
save.none = Захавання не знойдзены!
|
save.none = Захавання не знойдзены!
|
||||||
savefail = Не атрымалася захаваць гульню!
|
savefail = Не атрымалася захаваць гульню!
|
||||||
@@ -350,6 +352,8 @@ pausebuilding = [accent][[{0}][] для прыпынення будаўніцт
|
|||||||
resumebuilding = [scarlet][[{0}][] для працягу будаўніцтва
|
resumebuilding = [scarlet][[{0}][] для працягу будаўніцтва
|
||||||
enablebuilding = [scarlet][[{0}][] to enable building
|
enablebuilding = [scarlet][[{0}][] to enable building
|
||||||
showui = UI hidden.\nPress [accent][[{0}][] to show UI.
|
showui = UI hidden.\nPress [accent][[{0}][] to show UI.
|
||||||
|
commandmode.name = [accent]Command Mode
|
||||||
|
commandmode.nounits = [no units]
|
||||||
wave = [accent]Хваля {0}
|
wave = [accent]Хваля {0}
|
||||||
wave.cap = [accent]Wave {0}/{1}
|
wave.cap = [accent]Wave {0}/{1}
|
||||||
wave.waiting = [lightgray]Хваля праз {0}
|
wave.waiting = [lightgray]Хваля праз {0}
|
||||||
@@ -434,6 +438,7 @@ waves.max = max units
|
|||||||
waves.guardian = Вартаўнік
|
waves.guardian = Вартаўнік
|
||||||
waves.preview = Папярэдні прагляд
|
waves.preview = Папярэдні прагляд
|
||||||
waves.edit = Рэдагавацью...
|
waves.edit = Рэдагавацью...
|
||||||
|
waves.random = Random
|
||||||
waves.copy = Капіяваць у буфер абмену
|
waves.copy = Капіяваць у буфер абмену
|
||||||
waves.load = Загрузіць з буфера абмену
|
waves.load = Загрузіць з буфера абмену
|
||||||
waves.invalid = Няслушныя хвалі ў буферы абмену.
|
waves.invalid = Няслушныя хвалі ў буферы абмену.
|
||||||
@@ -1188,6 +1193,7 @@ rules.unitbuildspeedmultiplier = Множнік хуткасці вытворч
|
|||||||
rules.unitcostmultiplier = Unit Cost Multiplier
|
rules.unitcostmultiplier = Unit Cost Multiplier
|
||||||
rules.unithealthmultiplier = Множнік здароўя баёў. адз.
|
rules.unithealthmultiplier = Множнік здароўя баёў. адз.
|
||||||
rules.unitdamagemultiplier = Множнік страт баёў. адз.
|
rules.unitdamagemultiplier = Множнік страт баёў. адз.
|
||||||
|
rules.unitcrashdamagemultiplier = Unit Crash Damage Multiplier
|
||||||
rules.solarmultiplier = Solar Power Multiplier
|
rules.solarmultiplier = Solar Power Multiplier
|
||||||
rules.unitcapvariable = Cores Contribute To Unit Cap
|
rules.unitcapvariable = Cores Contribute To Unit Cap
|
||||||
rules.unitcap = Base Unit Cap
|
rules.unitcap = Base Unit Cap
|
||||||
|
|||||||
@@ -154,6 +154,7 @@ mod.outdatedv7.details = This mod is incompatible with the latest version of the
|
|||||||
mod.blacklisted.details = This mod has been manually blacklisted for causing crashes or other issues with this version of the game. Do not use it.
|
mod.blacklisted.details = This mod has been manually blacklisted for causing crashes or other issues with this version of the game. Do not use it.
|
||||||
mod.missingdependencies.details = This mod is missing dependencies: {0}
|
mod.missingdependencies.details = This mod is missing dependencies: {0}
|
||||||
mod.erroredcontent.details = This game caused errors when loading. Ask the mod author to fix them.
|
mod.erroredcontent.details = This game caused errors when loading. Ask the mod author to fix them.
|
||||||
|
mod.requiresversion = Requires game version: [red]{0}
|
||||||
mod.errors = Възникнаха грешки при зареждане на съдържанието.
|
mod.errors = Възникнаха грешки при зареждане на съдържанието.
|
||||||
mod.noerrorplay = [scarlet]Има грешки в някои от модовете, които използвате.[] Трябва да деактивирате тези модове или да поправите грешките преди да играете.
|
mod.noerrorplay = [scarlet]Има грешки в някои от модовете, които използвате.[] Трябва да деактивирате тези модове или да поправите грешките преди да играете.
|
||||||
mod.nowdisabled = [scarlet]Липсват зависимости за мод '{0}':[accent] {1}\n[lightgray]Мод {0} ще бъде деактивиран докато не ги изтеглите.
|
mod.nowdisabled = [scarlet]Липсват зависимости за мод '{0}':[accent] {1}\n[lightgray]Мод {0} ще бъде деактивиран докато не ги изтеглите.
|
||||||
@@ -287,6 +288,7 @@ server.invalidport = Невалиден порт!
|
|||||||
server.error = [scarlet]Грешка при стартиране на сървър.
|
server.error = [scarlet]Грешка при стартиране на сървър.
|
||||||
save.new = Нов Запис
|
save.new = Нов Запис
|
||||||
save.overwrite = Сигурни ли сте, че искате\nда презапишете тази позиция за запиз?
|
save.overwrite = Сигурни ли сте, че искате\nда презапишете тази позиция за запиз?
|
||||||
|
save.nocampaign = Individual save files from the campaign cannot be imported.
|
||||||
overwrite = Презапиши
|
overwrite = Презапиши
|
||||||
save.none = Не са намерени записи!
|
save.none = Не са намерени записи!
|
||||||
savefail = Грешка при записване на игра!
|
savefail = Грешка при записване на игра!
|
||||||
@@ -354,6 +356,8 @@ pausebuilding = [accent][[{0}][] за да Отложите на Строежа
|
|||||||
resumebuilding = [scarlet][[{0}][] за да Продължите Строежа
|
resumebuilding = [scarlet][[{0}][] за да Продължите Строежа
|
||||||
enablebuilding = [scarlet][[{0}][] за да Позволите Строенето
|
enablebuilding = [scarlet][[{0}][] за да Позволите Строенето
|
||||||
showui = Интерфейсът е скрит.\nНатиснете [accent][[{0}][] за да го покажете.
|
showui = Интерфейсът е скрит.\nНатиснете [accent][[{0}][] за да го покажете.
|
||||||
|
commandmode.name = [accent]Command Mode
|
||||||
|
commandmode.nounits = [no units]
|
||||||
wave = [accent]Вълна {0}
|
wave = [accent]Вълна {0}
|
||||||
wave.cap = [accent]Вълна {0}/{1}
|
wave.cap = [accent]Вълна {0}/{1}
|
||||||
wave.waiting = [lightgray]Вълна след {0}
|
wave.waiting = [lightgray]Вълна след {0}
|
||||||
@@ -438,6 +442,7 @@ waves.max = max units
|
|||||||
waves.guardian = Пазител
|
waves.guardian = Пазител
|
||||||
waves.preview = Преглед
|
waves.preview = Преглед
|
||||||
waves.edit = Редактирай...
|
waves.edit = Редактирай...
|
||||||
|
waves.random = Random
|
||||||
waves.copy = Кобирай в Клипборд
|
waves.copy = Кобирай в Клипборд
|
||||||
waves.load = Зареди от Клипборда
|
waves.load = Зареди от Клипборда
|
||||||
waves.invalid = Клипборда съдържа невалидна информация за вълни.
|
waves.invalid = Клипборда съдържа невалидна информация за вълни.
|
||||||
@@ -1198,6 +1203,7 @@ rules.unitbuildspeedmultiplier = Множител на Скоростта на
|
|||||||
rules.unitcostmultiplier = Unit Cost Multiplier
|
rules.unitcostmultiplier = Unit Cost Multiplier
|
||||||
rules.unithealthmultiplier = Множител на Точките Живот на Единици
|
rules.unithealthmultiplier = Множител на Точките Живот на Единици
|
||||||
rules.unitdamagemultiplier = Множител на Щетите на Единици
|
rules.unitdamagemultiplier = Множител на Щетите на Единици
|
||||||
|
rules.unitcrashdamagemultiplier = Unit Crash Damage Multiplier
|
||||||
rules.solarmultiplier = Solar Power Multiplier
|
rules.solarmultiplier = Solar Power Multiplier
|
||||||
rules.unitcapvariable = Ядрата Увеличават Максималния Брой Единици
|
rules.unitcapvariable = Ядрата Увеличават Максималния Брой Единици
|
||||||
rules.unitcap = Максимален Брой Единици
|
rules.unitcap = Максимален Брой Единици
|
||||||
|
|||||||
@@ -154,6 +154,7 @@ mod.outdatedv7.details = Aquest mod és incompatible amb l’última versió del
|
|||||||
mod.blacklisted.details = Aquest mod s’ha afegit manualment a la llista negra perquè causa problemes amb aquesta versió del joc. No el feu servir.
|
mod.blacklisted.details = Aquest mod s’ha afegit manualment a la llista negra perquè causa problemes amb aquesta versió del joc. No el feu servir.
|
||||||
mod.missingdependencies.details = A aquest mod li falten dependències: {0}
|
mod.missingdependencies.details = A aquest mod li falten dependències: {0}
|
||||||
mod.erroredcontent.details = Aquesta partida ha causat errors mentre es carregava. Pregunteu a l’autor del mod si pot arreglar-ho.
|
mod.erroredcontent.details = Aquesta partida ha causat errors mentre es carregava. Pregunteu a l’autor del mod si pot arreglar-ho.
|
||||||
|
mod.requiresversion = Cal la versió [red]{0}[] del joc.
|
||||||
mod.errors = S’han produït errors quan es carregava el contingut.
|
mod.errors = S’han produït errors quan es carregava el contingut.
|
||||||
mod.noerrorplay = [scarlet]S’executen mods amb errors.[] Desactiveu els mods afectats o arregleu les errades abans de jugar.
|
mod.noerrorplay = [scarlet]S’executen mods amb errors.[] Desactiveu els mods afectats o arregleu les errades abans de jugar.
|
||||||
mod.nowdisabled = [scarlet]Falten dependències del mod «{0}»s:[accent] {1}\n[lightgray]S’han de carregar els mods que fan falta.\nAquest mod es desactivarà automàticament.
|
mod.nowdisabled = [scarlet]Falten dependències del mod «{0}»s:[accent] {1}\n[lightgray]S’han de carregar els mods que fan falta.\nAquest mod es desactivarà automàticament.
|
||||||
@@ -287,6 +288,7 @@ server.invalidport = El número de port no és vàlid!
|
|||||||
server.error = [scarlet]S’ha produït un error mentre s’allotjava el servidor.
|
server.error = [scarlet]S’ha produït un error mentre s’allotjava el servidor.
|
||||||
save.new = Desa en un fitxer nou
|
save.new = Desa en un fitxer nou
|
||||||
save.overwrite = Esteu segur que voleu sobreescriure\naquesta ranura de desades?
|
save.overwrite = Esteu segur que voleu sobreescriure\naquesta ranura de desades?
|
||||||
|
save.nocampaign = Individual save files from the campaign cannot be imported.
|
||||||
overwrite = Sobreescriu
|
overwrite = Sobreescriu
|
||||||
save.none = No s’ha trobat cap partida desada!
|
save.none = No s’ha trobat cap partida desada!
|
||||||
savefail = No s’ha pogut desar la partida!
|
savefail = No s’ha pogut desar la partida!
|
||||||
@@ -354,6 +356,8 @@ pausebuilding = [accent][[{0}][] per a posar en pausa la construcció.
|
|||||||
resumebuilding = [scarlet][[{0}][] per a reprendre la construcció.
|
resumebuilding = [scarlet][[{0}][] per a reprendre la construcció.
|
||||||
enablebuilding = [scarlet][[{0}][] per a activar l’edifici.
|
enablebuilding = [scarlet][[{0}][] per a activar l’edifici.
|
||||||
showui = La interfície gràfica està amagada.\nPremeu [accent][[{0}][] per a mostrar-la.
|
showui = La interfície gràfica està amagada.\nPremeu [accent][[{0}][] per a mostrar-la.
|
||||||
|
commandmode.name = [accent]Command Mode
|
||||||
|
commandmode.nounits = [no units]
|
||||||
wave = [accent]Onada {0}
|
wave = [accent]Onada {0}
|
||||||
wave.cap = [accent]Onada {0}/{1}
|
wave.cap = [accent]Onada {0}/{1}
|
||||||
wave.waiting = [lightgray]Començarà en {0}
|
wave.waiting = [lightgray]Començarà en {0}
|
||||||
@@ -438,6 +442,7 @@ waves.max = nombre màxim d’unitats
|
|||||||
waves.guardian = Guardià
|
waves.guardian = Guardià
|
||||||
waves.preview = Previsualització
|
waves.preview = Previsualització
|
||||||
waves.edit = Edita
|
waves.edit = Edita
|
||||||
|
waves.random = Random
|
||||||
waves.copy = Copia al porta-retalls
|
waves.copy = Copia al porta-retalls
|
||||||
waves.load = Carrega del porta-retalls
|
waves.load = Carrega del porta-retalls
|
||||||
waves.invalid = El contingut del porta-retalls té onades que no són vàlides.
|
waves.invalid = El contingut del porta-retalls té onades que no són vàlides.
|
||||||
@@ -789,13 +794,13 @@ sector.basin.description = {Temporal}\n\nL’últim sector per ara. Considereu d
|
|||||||
sector.marsh.description = En aquest sector hi ha molta arquicita, però poques fumaroles.\nConstruïu [accent]cambres de combustió química[] per a generar energia.
|
sector.marsh.description = En aquest sector hi ha molta arquicita, però poques fumaroles.\nConstruïu [accent]cambres de combustió química[] per a generar energia.
|
||||||
sector.peaks.description = El terreny muntanyós del sector fa que moltes unitats no siguin útils. Caldran unitats aèries.\nAneu amb compte amb les instal·lacions antiaèries enemigues. Potser a algunes se les podrà inutilitzar si es dispara a les seves estructures de suport.
|
sector.peaks.description = El terreny muntanyós del sector fa que moltes unitats no siguin útils. Caldran unitats aèries.\nAneu amb compte amb les instal·lacions antiaèries enemigues. Potser a algunes se les podrà inutilitzar si es dispara a les seves estructures de suport.
|
||||||
sector.ravine.description = No es detecten nuclis enemics al sector, tot i que és una ruta de transport enemiga important. Hi haurà una gran varietat de forces enemigues.\nProduïu [accent]aliatge electrificable[]. Construïu torretes [accent]Afflict[].
|
sector.ravine.description = No es detecten nuclis enemics al sector, tot i que és una ruta de transport enemiga important. Hi haurà una gran varietat de forces enemigues.\nProduïu [accent]aliatge electrificable[]. Construïu torretes [accent]Afflict[].
|
||||||
sector.caldera-erekir.description = Descripció temporal.
|
sector.caldera-erekir.description = Els recursos que s’han detectat al sector estan espargits per diverses illes.\nInvestigueu i establiu una xarxa de transport que faci servir drons.
|
||||||
sector.stronghold.description = The large enemy encampment in this sector guards significant deposits of [accent]thorium[].\nUse it to develop higher tier units and turrets.
|
sector.stronghold.description = El campament enemic gran d’aquest sector guarda dipòsits importants de [accent]tori[].\nFeu-lo servir per a desenvolupar unitats i torretes de nivells més alts.
|
||||||
sector.crevice.description = The enemy will send fierce attack forces to take out your base in this sector.\nDeveloping [accent]carbide[] and the [accent]Pyrolysis Generator[] may be imperative for survival.
|
sector.crevice.description = L’enemic enviarà un atac ferotge per a eliminar la vostra base del sector.\nPer a poder sobreviure, caldrà desenvolupar [accent]carburs[] i [accent]generadors pirolítics[].
|
||||||
sector.siege.description = This sector features two parallel canyons that will force a two-pronged attack.\nResearch [accent]cyanogen[] to gain the capability to create even stronger tank units.\nCaution: enemy long-range missiles have been detected. The missiles may be shot down before impact.
|
sector.siege.description = En aquest sector hi ha dos canyons paral·lels que forçaran un atac per dues bandes.\nInvestigueu el [accent]cianogen[] per a poder crear unitats d’atac més fortes.\nAtenció: s’han detectat missils de llarg abast. Els missils es poden abatre abans que impactin contra el seu objectiu.
|
||||||
sector.crossroads.description = The enemy bases in this sector have been established in varying terrain. Research different units to adapt.\nAdditionally, some bases are protected by shields. Figure out how they are powered.
|
sector.crossroads.description = Les bases enemigues del sector s’han establert en diferents tipus de terreny. Investigueu unitats diferents per a adaptar els atacs.\nA més a més, algunes bases estan protegides per escuts. Esbrineu d’on treuen l’energia.
|
||||||
sector.karst.description = This sector is rich in resources, but will be attacked by the enemy once a new core lands.\nTake advantage of the resources and research [accent]phase fabric[].
|
sector.karst.description = Aquest sector és ric en recursos, però l’enemic l’atacarà tan aviat com hi aterri un nucli.\nAprofiteu els recursos i recerqueu el [accent]teixit de fase[].
|
||||||
sector.origin.description = The final sector with a significant enemy presence.\nNo probable research opportunities remain - focus solely on destroying all enemy cores.
|
sector.origin.description = El sector final amb una presència enemiga important.\nProbablement no queden oportunitats de recerca. Centreu-vos en destruir els nuclis enemics.
|
||||||
|
|
||||||
status.burning.name = Cremant
|
status.burning.name = Cremant
|
||||||
status.freezing.name = Congelat
|
status.freezing.name = Congelat
|
||||||
@@ -1202,6 +1207,7 @@ rules.unitbuildspeedmultiplier = Multiplicador de la velocitat de producció d
|
|||||||
rules.unitcostmultiplier = Multiplicador del cost de les unitats
|
rules.unitcostmultiplier = Multiplicador del cost de les unitats
|
||||||
rules.unithealthmultiplier = Multiplicador de la salut de les unitats
|
rules.unithealthmultiplier = Multiplicador de la salut de les unitats
|
||||||
rules.unitdamagemultiplier = Multiplicador del dany de les unitats
|
rules.unitdamagemultiplier = Multiplicador del dany de les unitats
|
||||||
|
rules.unitcrashdamagemultiplier = Unit Crash Damage Multiplier
|
||||||
rules.solarmultiplier = Multiplicador de l’energia solar
|
rules.solarmultiplier = Multiplicador de l’energia solar
|
||||||
rules.unitcapvariable = Els nuclis contribueixen al límit d’unitats
|
rules.unitcapvariable = Els nuclis contribueixen al límit d’unitats
|
||||||
rules.unitcap = Capacitat base d’unitats
|
rules.unitcap = Capacitat base d’unitats
|
||||||
@@ -2106,7 +2112,7 @@ block.large-payload-mass-driver.description = Estructura que transporta blocs i
|
|||||||
block.unit-repair-tower.description = Repara totes les unitats a prop. Necessita ozó.
|
block.unit-repair-tower.description = Repara totes les unitats a prop. Necessita ozó.
|
||||||
block.radar.description = Escaneja el terreny gradualment i localitza unitats enemigues a gran distància. Necessita energia.
|
block.radar.description = Escaneja el terreny gradualment i localitza unitats enemigues a gran distància. Necessita energia.
|
||||||
block.shockwave-tower.description = Danya i destrueix projectils enemics dintre del seu abast. Requereix cianogen.
|
block.shockwave-tower.description = Danya i destrueix projectils enemics dintre del seu abast. Requereix cianogen.
|
||||||
block.canvas.description = Mostra una imatge sensilla amb una paleta predefinida. Es pot editar.
|
block.canvas.description = Mostra una imatge senzilla amb una paleta predefinida. Es pot editar.
|
||||||
|
|
||||||
unit.dagger.description = Dispara munició estàndard a tots els enemics propers.
|
unit.dagger.description = Dispara munició estàndard a tots els enemics propers.
|
||||||
unit.mace.description = Dispara flames a tots els enemics propers.
|
unit.mace.description = Dispara flames a tots els enemics propers.
|
||||||
|
|||||||
@@ -154,6 +154,7 @@ mod.outdatedv7.details = This mod is incompatible with the latest version of the
|
|||||||
mod.blacklisted.details = This mod has been manually blacklisted for causing crashes or other issues with this version of the game. Do not use it.
|
mod.blacklisted.details = This mod has been manually blacklisted for causing crashes or other issues with this version of the game. Do not use it.
|
||||||
mod.missingdependencies.details = This mod is missing dependencies: {0}
|
mod.missingdependencies.details = This mod is missing dependencies: {0}
|
||||||
mod.erroredcontent.details = This game caused errors when loading. Ask the mod author to fix them.
|
mod.erroredcontent.details = This game caused errors when loading. Ask the mod author to fix them.
|
||||||
|
mod.requiresversion = Requires game version: [red]{0}
|
||||||
mod.errors = Při načítání obsahu hry se vyskytly problémy.
|
mod.errors = Při načítání obsahu hry se vyskytly problémy.
|
||||||
mod.noerrorplay = [scarlet]Máš modifikace s chybami.[] Buď zakaž dotčené modifikace, nebo oprav chyby před tím, než začneš hrát.
|
mod.noerrorplay = [scarlet]Máš modifikace s chybami.[] Buď zakaž dotčené modifikace, nebo oprav chyby před tím, než začneš hrát.
|
||||||
mod.nowdisabled = [scarlet]Modifikaci '{0}' chybí tyto závislosti: [accent]{1}\n[lightgray]Tyto modifikace je třeba nejprve stáhnout.\nTato modifikace bude nyní automaticky zakázána.
|
mod.nowdisabled = [scarlet]Modifikaci '{0}' chybí tyto závislosti: [accent]{1}\n[lightgray]Tyto modifikace je třeba nejprve stáhnout.\nTato modifikace bude nyní automaticky zakázána.
|
||||||
@@ -287,6 +288,7 @@ server.invalidport = Neplatné číslo portu!
|
|||||||
server.error = [scarlet]Chyba při hostování serveru.[]
|
server.error = [scarlet]Chyba při hostování serveru.[]
|
||||||
save.new = Nové uložení hry
|
save.new = Nové uložení hry
|
||||||
save.overwrite = Jsi si jistý, že chceš přepsat\ntuto pozici pro uložení hry?
|
save.overwrite = Jsi si jistý, že chceš přepsat\ntuto pozici pro uložení hry?
|
||||||
|
save.nocampaign = Individual save files from the campaign cannot be imported.
|
||||||
overwrite = Přepsat
|
overwrite = Přepsat
|
||||||
save.none = Žádné uložené pozice nebyly nalezeny.
|
save.none = Žádné uložené pozice nebyly nalezeny.
|
||||||
savefail = Nepodařilo se uložit hru!
|
savefail = Nepodařilo se uložit hru!
|
||||||
@@ -354,6 +356,8 @@ pausebuilding = [accent][[{0}][] zastaví stavění
|
|||||||
resumebuilding = [scarlet][[{0}][] bude pokračovat ve stavění
|
resumebuilding = [scarlet][[{0}][] bude pokračovat ve stavění
|
||||||
enablebuilding = [scarlet][[{0}][] povolí stavení
|
enablebuilding = [scarlet][[{0}][] povolí stavení
|
||||||
showui = UI je skryto.\nZmáčkni [accent][[{0}][] pro jeho zobrazení.
|
showui = UI je skryto.\nZmáčkni [accent][[{0}][] pro jeho zobrazení.
|
||||||
|
commandmode.name = [accent]Command Mode
|
||||||
|
commandmode.nounits = [no units]
|
||||||
wave = [accent]Vlna číslo {0}[]
|
wave = [accent]Vlna číslo {0}[]
|
||||||
wave.cap = [accent]Vlna {0} z {1}[]
|
wave.cap = [accent]Vlna {0} z {1}[]
|
||||||
wave.waiting = [lightgray]Vlna za {0} vteřin[]
|
wave.waiting = [lightgray]Vlna za {0} vteřin[]
|
||||||
@@ -438,6 +442,7 @@ waves.max = max jednotek
|
|||||||
waves.guardian = Strážce
|
waves.guardian = Strážce
|
||||||
waves.preview = Náhled
|
waves.preview = Náhled
|
||||||
waves.edit = Upravit....
|
waves.edit = Upravit....
|
||||||
|
waves.random = Random
|
||||||
waves.copy = Uložit do schránky
|
waves.copy = Uložit do schránky
|
||||||
waves.load = Načíst ze schránky
|
waves.load = Načíst ze schránky
|
||||||
waves.invalid = Neplatné vlny ve schránce.
|
waves.invalid = Neplatné vlny ve schránce.
|
||||||
@@ -1200,6 +1205,7 @@ rules.unitbuildspeedmultiplier = Násobek rychlosti výroby jednotek
|
|||||||
rules.unitcostmultiplier = Unit Cost Multiplier
|
rules.unitcostmultiplier = Unit Cost Multiplier
|
||||||
rules.unithealthmultiplier = Násobek zdraví jednotek
|
rules.unithealthmultiplier = Násobek zdraví jednotek
|
||||||
rules.unitdamagemultiplier = Násobek poškození jednotkami
|
rules.unitdamagemultiplier = Násobek poškození jednotkami
|
||||||
|
rules.unitcrashdamagemultiplier = Unit Crash Damage Multiplier
|
||||||
rules.solarmultiplier = Solar Power Multiplier
|
rules.solarmultiplier = Solar Power Multiplier
|
||||||
rules.unitcapvariable = Jádra Zvýšujou Maximum Počtu Jednotek
|
rules.unitcapvariable = Jádra Zvýšujou Maximum Počtu Jednotek
|
||||||
rules.unitcap = Základní Maximum Počtu Jednotek
|
rules.unitcap = Základní Maximum Počtu Jednotek
|
||||||
|
|||||||
@@ -151,6 +151,7 @@ mod.outdatedv7.details = This mod is incompatible with the latest version of the
|
|||||||
mod.blacklisted.details = This mod has been manually blacklisted for causing crashes or other issues with this version of the game. Do not use it.
|
mod.blacklisted.details = This mod has been manually blacklisted for causing crashes or other issues with this version of the game. Do not use it.
|
||||||
mod.missingdependencies.details = This mod is missing dependencies: {0}
|
mod.missingdependencies.details = This mod is missing dependencies: {0}
|
||||||
mod.erroredcontent.details = This game caused errors when loading. Ask the mod author to fix them.
|
mod.erroredcontent.details = This game caused errors when loading. Ask the mod author to fix them.
|
||||||
|
mod.requiresversion = Requires game version: [red]{0}
|
||||||
mod.errors = Fejl ved afhentning af indhold.
|
mod.errors = Fejl ved afhentning af indhold.
|
||||||
mod.noerrorplay = [scarlet]Du har mods med fejl.[] Deaktiver det eller løs fejl før du starter spillet.
|
mod.noerrorplay = [scarlet]Du har mods med fejl.[] Deaktiver det eller løs fejl før du starter spillet.
|
||||||
mod.nowdisabled = [scarlet]Mod '{0}' mangler afhængigheder:[accent] {1}\n[lightgray]Disse mods skal hentes først.\nDenne mod vil blive deaktiveret automatisk.
|
mod.nowdisabled = [scarlet]Mod '{0}' mangler afhængigheder:[accent] {1}\n[lightgray]Disse mods skal hentes først.\nDenne mod vil blive deaktiveret automatisk.
|
||||||
@@ -283,6 +284,7 @@ server.invalidport = Ugyldigt port-nummer!
|
|||||||
server.error = [crimson]Der skete en fejl.
|
server.error = [crimson]Der skete en fejl.
|
||||||
save.new = Nyt gem
|
save.new = Nyt gem
|
||||||
save.overwrite = Er du sikker på, at du vil overskrive\ndette gem?
|
save.overwrite = Er du sikker på, at du vil overskrive\ndette gem?
|
||||||
|
save.nocampaign = Individual save files from the campaign cannot be imported.
|
||||||
overwrite = Overskriv
|
overwrite = Overskriv
|
||||||
save.none = Ingen gem fundet!
|
save.none = Ingen gem fundet!
|
||||||
savefail = Kunne ikke gemme spil!
|
savefail = Kunne ikke gemme spil!
|
||||||
@@ -350,6 +352,8 @@ pausebuilding = [accent][[{0}][] for at pause byggeproces
|
|||||||
resumebuilding = [scarlet][[{0}][] for at genoptage byggeproces
|
resumebuilding = [scarlet][[{0}][] for at genoptage byggeproces
|
||||||
enablebuilding = [scarlet][[{0}][] to enable building
|
enablebuilding = [scarlet][[{0}][] to enable building
|
||||||
showui = UI hidden.\nPress [accent][[{0}][] to show UI.
|
showui = UI hidden.\nPress [accent][[{0}][] to show UI.
|
||||||
|
commandmode.name = [accent]Command Mode
|
||||||
|
commandmode.nounits = [no units]
|
||||||
wave = [accent]Bølge {0}
|
wave = [accent]Bølge {0}
|
||||||
wave.cap = [accent]Bølge {0}/{1}
|
wave.cap = [accent]Bølge {0}/{1}
|
||||||
wave.waiting = [lightgray]Bølge om {0}
|
wave.waiting = [lightgray]Bølge om {0}
|
||||||
@@ -434,6 +438,7 @@ waves.max = max units
|
|||||||
waves.guardian = Vogter
|
waves.guardian = Vogter
|
||||||
waves.preview = Forhåndsvisning
|
waves.preview = Forhåndsvisning
|
||||||
waves.edit = Rediger...
|
waves.edit = Rediger...
|
||||||
|
waves.random = Random
|
||||||
waves.copy = Kopier til udklipsholder
|
waves.copy = Kopier til udklipsholder
|
||||||
waves.load = Indlæs fra udklipsholder
|
waves.load = Indlæs fra udklipsholder
|
||||||
waves.invalid = Ugyldige bølger i udklipsholder.
|
waves.invalid = Ugyldige bølger i udklipsholder.
|
||||||
@@ -1188,6 +1193,7 @@ rules.unitbuildspeedmultiplier = Enheds-produktionshastigheds-forstærker
|
|||||||
rules.unitcostmultiplier = Unit Cost Multiplier
|
rules.unitcostmultiplier = Unit Cost Multiplier
|
||||||
rules.unithealthmultiplier = Enheds-helbreds-forstærker
|
rules.unithealthmultiplier = Enheds-helbreds-forstærker
|
||||||
rules.unitdamagemultiplier = Enheds-skade-forstærker
|
rules.unitdamagemultiplier = Enheds-skade-forstærker
|
||||||
|
rules.unitcrashdamagemultiplier = Unit Crash Damage Multiplier
|
||||||
rules.solarmultiplier = Solar Power Multiplier
|
rules.solarmultiplier = Solar Power Multiplier
|
||||||
rules.unitcapvariable = Cores Contribute To Unit Cap
|
rules.unitcapvariable = Cores Contribute To Unit Cap
|
||||||
rules.unitcap = Base Unit Cap
|
rules.unitcap = Base Unit Cap
|
||||||
|
|||||||
@@ -156,6 +156,7 @@ mod.outdatedv7.details = Diese Mod ist nicht mit der neuesten Version von Mindus
|
|||||||
mod.blacklisted.details = Diese Mod würde manuell gesperrt, weil er diese Spielversion zum Abstürzen bringt oder andere Fehler verursacht. Benutze diese Mod nicht.
|
mod.blacklisted.details = Diese Mod würde manuell gesperrt, weil er diese Spielversion zum Abstürzen bringt oder andere Fehler verursacht. Benutze diese Mod nicht.
|
||||||
mod.missingdependencies.details = Dieser Mod fehlen folgende Abhängigkeiten: {0}
|
mod.missingdependencies.details = Dieser Mod fehlen folgende Abhängigkeiten: {0}
|
||||||
mod.erroredcontent.details = Diese Mod hat beim Laden Fehler verursacht. Bitte den Mod-Autor, diese zu beheben.
|
mod.erroredcontent.details = Diese Mod hat beim Laden Fehler verursacht. Bitte den Mod-Autor, diese zu beheben.
|
||||||
|
mod.requiresversion = Requires game version: [red]{0}
|
||||||
|
|
||||||
mod.errors = Beim Laden von Inhalt sind Fehler aufgetreten.
|
mod.errors = Beim Laden von Inhalt sind Fehler aufgetreten.
|
||||||
mod.noerrorplay = [red]Du hast Mods mit Fehlern.[] Deaktiviere die Mods oder behebe die Fehler, bevor du spielst.
|
mod.noerrorplay = [red]Du hast Mods mit Fehlern.[] Deaktiviere die Mods oder behebe die Fehler, bevor du spielst.
|
||||||
@@ -290,6 +291,7 @@ server.invalidport = Falscher Port!
|
|||||||
server.error = [crimson] Fehler beim Hosten des Servers:[accent] {0}
|
server.error = [crimson] Fehler beim Hosten des Servers:[accent] {0}
|
||||||
save.new = Neuer Spielstand
|
save.new = Neuer Spielstand
|
||||||
save.overwrite = Möchtest du diesen Spielstand wirklich überschreiben?
|
save.overwrite = Möchtest du diesen Spielstand wirklich überschreiben?
|
||||||
|
save.nocampaign = Individual save files from the campaign cannot be imported.
|
||||||
overwrite = Überschreiben
|
overwrite = Überschreiben
|
||||||
save.none = Keine Spielstände gefunden!
|
save.none = Keine Spielstände gefunden!
|
||||||
savefail = Fehler beim Speichern des Spiels!
|
savefail = Fehler beim Speichern des Spiels!
|
||||||
@@ -357,6 +359,8 @@ pausebuilding = [accent][[{0}][] um das Bauen zu pausieren
|
|||||||
resumebuilding = [scarlet][[{0}][] um das Bauen fortzusetzen
|
resumebuilding = [scarlet][[{0}][] um das Bauen fortzusetzen
|
||||||
enablebuilding = [scarlet][[{0}][] um zu bauen
|
enablebuilding = [scarlet][[{0}][] um zu bauen
|
||||||
showui = Bedienflächen versteckt.\nDrücke [accent][[{0}][], um sie wieder anzuzeigen.
|
showui = Bedienflächen versteckt.\nDrücke [accent][[{0}][], um sie wieder anzuzeigen.
|
||||||
|
commandmode.name = [accent]Command Mode
|
||||||
|
commandmode.nounits = [no units]
|
||||||
wave = [accent]Welle {0}
|
wave = [accent]Welle {0}
|
||||||
wave.cap = [accent]Welle {0}/{1}
|
wave.cap = [accent]Welle {0}/{1}
|
||||||
wave.waiting = Nächste Welle in {0}
|
wave.waiting = Nächste Welle in {0}
|
||||||
@@ -441,6 +445,7 @@ waves.max = maximale Einheiten
|
|||||||
waves.guardian = Boss
|
waves.guardian = Boss
|
||||||
waves.preview = Vorschau
|
waves.preview = Vorschau
|
||||||
waves.edit = Bearbeiten...
|
waves.edit = Bearbeiten...
|
||||||
|
waves.random = Random
|
||||||
waves.copy = Aus der Zwischenablage kopieren
|
waves.copy = Aus der Zwischenablage kopieren
|
||||||
waves.load = Aus der Zwischenablage laden
|
waves.load = Aus der Zwischenablage laden
|
||||||
waves.invalid = Ungültige Wellen in der Zwischenablage.
|
waves.invalid = Ungültige Wellen in der Zwischenablage.
|
||||||
@@ -1211,6 +1216,7 @@ rules.unitbuildspeedmultiplier = Einheiten-Baugeschwindigkeit Multiplikator
|
|||||||
rules.unitcostmultiplier = Einheit-Baukosten Multiplikator
|
rules.unitcostmultiplier = Einheit-Baukosten Multiplikator
|
||||||
rules.unithealthmultiplier = Einheit-Lebenspunkte-Multiplikator
|
rules.unithealthmultiplier = Einheit-Lebenspunkte-Multiplikator
|
||||||
rules.unitdamagemultiplier = Einheit-Schaden-Multiplikator
|
rules.unitdamagemultiplier = Einheit-Schaden-Multiplikator
|
||||||
|
rules.unitcrashdamagemultiplier = Unit Crash Damage Multiplier
|
||||||
rules.solarmultiplier = Solarstrom-Multiplikator
|
rules.solarmultiplier = Solarstrom-Multiplikator
|
||||||
rules.unitcapvariable = Kerne zählen zum Einheiten-Limit dazu
|
rules.unitcapvariable = Kerne zählen zum Einheiten-Limit dazu
|
||||||
rules.unitcap = Einheiten-Limit
|
rules.unitcap = Einheiten-Limit
|
||||||
|
|||||||
File diff suppressed because it is too large
Load Diff
@@ -151,6 +151,7 @@ mod.outdatedv7.details = This mod is incompatible with the latest version of the
|
|||||||
mod.blacklisted.details = This mod has been manually blacklisted for causing crashes or other issues with this version of the game. Do not use it.
|
mod.blacklisted.details = This mod has been manually blacklisted for causing crashes or other issues with this version of the game. Do not use it.
|
||||||
mod.missingdependencies.details = This mod is missing dependencies: {0}
|
mod.missingdependencies.details = This mod is missing dependencies: {0}
|
||||||
mod.erroredcontent.details = This game caused errors when loading. Ask the mod author to fix them.
|
mod.erroredcontent.details = This game caused errors when loading. Ask the mod author to fix them.
|
||||||
|
mod.requiresversion = Requires game version: [red]{0}
|
||||||
mod.errors = Errors have occurred loading content.
|
mod.errors = Errors have occurred loading content.
|
||||||
mod.noerrorplay = [scarlet]You have mods with errors.[] Either disable the affected mods or fix the errors before playing.
|
mod.noerrorplay = [scarlet]You have mods with errors.[] Either disable the affected mods or fix the errors before playing.
|
||||||
mod.nowdisabled = [scarlet]Mod '{0}' is missing dependencies:[accent] {1}\n[lightgray]These mods need to be downloaded first.\nThis mod will be automatically disabled.
|
mod.nowdisabled = [scarlet]Mod '{0}' is missing dependencies:[accent] {1}\n[lightgray]These mods need to be downloaded first.\nThis mod will be automatically disabled.
|
||||||
@@ -283,6 +284,7 @@ server.invalidport = Ebasobiv pordi number!
|
|||||||
server.error = [crimson]Viga serveri hostimisel.
|
server.error = [crimson]Viga serveri hostimisel.
|
||||||
save.new = Uus salvestis
|
save.new = Uus salvestis
|
||||||
save.overwrite = Oled kindel, et soovid selle salvestise asendada?
|
save.overwrite = Oled kindel, et soovid selle salvestise asendada?
|
||||||
|
save.nocampaign = Individual save files from the campaign cannot be imported.
|
||||||
overwrite = Asenda
|
overwrite = Asenda
|
||||||
save.none = Salvestisi ei leitud!
|
save.none = Salvestisi ei leitud!
|
||||||
savefail = Salvestamine ebaõnnestus!
|
savefail = Salvestamine ebaõnnestus!
|
||||||
@@ -350,6 +352,8 @@ pausebuilding = [accent][[{0}][] to pause building
|
|||||||
resumebuilding = [scarlet][[{0}][] to resume building
|
resumebuilding = [scarlet][[{0}][] to resume building
|
||||||
enablebuilding = [scarlet][[{0}][] to enable building
|
enablebuilding = [scarlet][[{0}][] to enable building
|
||||||
showui = UI hidden.\nPress [accent][[{0}][] to show UI.
|
showui = UI hidden.\nPress [accent][[{0}][] to show UI.
|
||||||
|
commandmode.name = [accent]Command Mode
|
||||||
|
commandmode.nounits = [no units]
|
||||||
wave = [accent]Lahingulaine {0}
|
wave = [accent]Lahingulaine {0}
|
||||||
wave.cap = [accent]Wave {0}/{1}
|
wave.cap = [accent]Wave {0}/{1}
|
||||||
wave.waiting = [lightgray]Järgmine laine\nalgab: {0}
|
wave.waiting = [lightgray]Järgmine laine\nalgab: {0}
|
||||||
@@ -434,6 +438,7 @@ waves.max = max units
|
|||||||
waves.guardian = Guardian
|
waves.guardian = Guardian
|
||||||
waves.preview = Eelvaade
|
waves.preview = Eelvaade
|
||||||
waves.edit = Muuda...
|
waves.edit = Muuda...
|
||||||
|
waves.random = Random
|
||||||
waves.copy = Kopeeri puhvrisse
|
waves.copy = Kopeeri puhvrisse
|
||||||
waves.load = Lae puhvrist
|
waves.load = Lae puhvrist
|
||||||
waves.invalid = Puhvrist laeti vigane lahingulainete informatsioon.
|
waves.invalid = Puhvrist laeti vigane lahingulainete informatsioon.
|
||||||
@@ -1188,6 +1193,7 @@ rules.unitbuildspeedmultiplier = Väeüksuste tootmiskiiruse kordaja
|
|||||||
rules.unitcostmultiplier = Unit Cost Multiplier
|
rules.unitcostmultiplier = Unit Cost Multiplier
|
||||||
rules.unithealthmultiplier = Väeüksuste elude kordaja
|
rules.unithealthmultiplier = Väeüksuste elude kordaja
|
||||||
rules.unitdamagemultiplier = Väeüksuste hävitusvõime kordaja
|
rules.unitdamagemultiplier = Väeüksuste hävitusvõime kordaja
|
||||||
|
rules.unitcrashdamagemultiplier = Unit Crash Damage Multiplier
|
||||||
rules.solarmultiplier = Solar Power Multiplier
|
rules.solarmultiplier = Solar Power Multiplier
|
||||||
rules.unitcapvariable = Cores Contribute To Unit Cap
|
rules.unitcapvariable = Cores Contribute To Unit Cap
|
||||||
rules.unitcap = Base Unit Cap
|
rules.unitcap = Base Unit Cap
|
||||||
|
|||||||
@@ -151,6 +151,7 @@ mod.outdatedv7.details = This mod is incompatible with the latest version of the
|
|||||||
mod.blacklisted.details = This mod has been manually blacklisted for causing crashes or other issues with this version of the game. Do not use it.
|
mod.blacklisted.details = This mod has been manually blacklisted for causing crashes or other issues with this version of the game. Do not use it.
|
||||||
mod.missingdependencies.details = This mod is missing dependencies: {0}
|
mod.missingdependencies.details = This mod is missing dependencies: {0}
|
||||||
mod.erroredcontent.details = This mod caused errors when loading. Ask the mod author to fix them.
|
mod.erroredcontent.details = This mod caused errors when loading. Ask the mod author to fix them.
|
||||||
|
mod.requiresversion = Requires game version: [red]{0}
|
||||||
mod.errors = Erroreak gertatu dira edukia kargatzean.
|
mod.errors = Erroreak gertatu dira edukia kargatzean.
|
||||||
mod.noerrorplay = [scarlet]Erroreak dituzten mod-ak dituzu.[] Desgaitu kaltetutako mod-ak edo konpondu erroreak jolastu aurretik.
|
mod.noerrorplay = [scarlet]Erroreak dituzten mod-ak dituzu.[] Desgaitu kaltetutako mod-ak edo konpondu erroreak jolastu aurretik.
|
||||||
mod.nowdisabled = [scarlet]'{0}' mod-ak menpekotasunak ditu faltan:[accent] {1}\n[lightgray]Aurretik beste mod hauek deskargatu behar dira.\nMod hau automatikoki desgaituko da.
|
mod.nowdisabled = [scarlet]'{0}' mod-ak menpekotasunak ditu faltan:[accent] {1}\n[lightgray]Aurretik beste mod hauek deskargatu behar dira.\nMod hau automatikoki desgaituko da.
|
||||||
@@ -285,6 +286,7 @@ server.invalidport = Ataka zenbaki baliogabea!
|
|||||||
server.error = [crimson]Errorea zerbitzaria ostatatzean: [accent]{0}
|
server.error = [crimson]Errorea zerbitzaria ostatatzean: [accent]{0}
|
||||||
save.new = Gordetako partida berria
|
save.new = Gordetako partida berria
|
||||||
save.overwrite = Ziur gordetzeko tarte hau gainidatzi nahi duzula?
|
save.overwrite = Ziur gordetzeko tarte hau gainidatzi nahi duzula?
|
||||||
|
save.nocampaign = Individual save files from the campaign cannot be imported.
|
||||||
overwrite = Gainidatzi
|
overwrite = Gainidatzi
|
||||||
save.none = Ez da gordetako partidarik aurkitu!
|
save.none = Ez da gordetako partidarik aurkitu!
|
||||||
savefail = Huts egin du partida gordetzean!
|
savefail = Huts egin du partida gordetzean!
|
||||||
@@ -352,6 +354,8 @@ pausebuilding = [accent][[{0}][] eraikiketa eteteko
|
|||||||
resumebuilding = [scarlet][[{0}][] eraikiketa berrekiteko
|
resumebuilding = [scarlet][[{0}][] eraikiketa berrekiteko
|
||||||
enablebuilding = [scarlet][[{0}][] to enable building
|
enablebuilding = [scarlet][[{0}][] to enable building
|
||||||
showui = UI hidden.\nPress [accent][[{0}][] to show UI.
|
showui = UI hidden.\nPress [accent][[{0}][] to show UI.
|
||||||
|
commandmode.name = [accent]Command Mode
|
||||||
|
commandmode.nounits = [no units]
|
||||||
wave = [accent]{0}. bolada
|
wave = [accent]{0}. bolada
|
||||||
wave.cap = [accent]Wave {0}/{1}
|
wave.cap = [accent]Wave {0}/{1}
|
||||||
wave.waiting = [lightgray]Boladarako {0}
|
wave.waiting = [lightgray]Boladarako {0}
|
||||||
@@ -436,6 +440,7 @@ waves.max = max units
|
|||||||
waves.guardian = Guardian
|
waves.guardian = Guardian
|
||||||
waves.preview = Aurrebista
|
waves.preview = Aurrebista
|
||||||
waves.edit = Editatu...
|
waves.edit = Editatu...
|
||||||
|
waves.random = Random
|
||||||
waves.copy = Kopiatu arbelera
|
waves.copy = Kopiatu arbelera
|
||||||
waves.load = Kargatu arbeletik
|
waves.load = Kargatu arbeletik
|
||||||
waves.invalid = Bolada baliogabeak arbelean.
|
waves.invalid = Bolada baliogabeak arbelean.
|
||||||
@@ -1190,6 +1195,7 @@ rules.unitbuildspeedmultiplier = Unitateen sorrerarako abiadura-biderkatzailea
|
|||||||
rules.unitcostmultiplier = Unit Cost Multiplier
|
rules.unitcostmultiplier = Unit Cost Multiplier
|
||||||
rules.unithealthmultiplier = Unitateen osasun-biderkatzailea
|
rules.unithealthmultiplier = Unitateen osasun-biderkatzailea
|
||||||
rules.unitdamagemultiplier = Unitateen kalte-biderkatzailea
|
rules.unitdamagemultiplier = Unitateen kalte-biderkatzailea
|
||||||
|
rules.unitcrashdamagemultiplier = Unit Crash Damage Multiplier
|
||||||
rules.solarmultiplier = Solar Power Multiplier
|
rules.solarmultiplier = Solar Power Multiplier
|
||||||
rules.unitcapvariable = Cores Contribute To Unit Cap
|
rules.unitcapvariable = Cores Contribute To Unit Cap
|
||||||
rules.unitcap = Base Unit Cap
|
rules.unitcap = Base Unit Cap
|
||||||
|
|||||||
@@ -151,6 +151,7 @@ mod.outdatedv7.details = This mod is incompatible with the latest version of the
|
|||||||
mod.blacklisted.details = This mod has been manually blacklisted for causing crashes or other issues with this version of the game. Do not use it.
|
mod.blacklisted.details = This mod has been manually blacklisted for causing crashes or other issues with this version of the game. Do not use it.
|
||||||
mod.missingdependencies.details = This mod is missing dependencies: {0}
|
mod.missingdependencies.details = This mod is missing dependencies: {0}
|
||||||
mod.erroredcontent.details = This game caused errors when loading. Ask the mod author to fix them.
|
mod.erroredcontent.details = This game caused errors when loading. Ask the mod author to fix them.
|
||||||
|
mod.requiresversion = Requires game version: [red]{0}
|
||||||
mod.errors = Virheitä on tapahtunut pelin ladatessa.
|
mod.errors = Virheitä on tapahtunut pelin ladatessa.
|
||||||
mod.noerrorplay = [scarlet]Sinulla on virheellisiä modeja.[] Joko poista ne käytöstä tai korjaa virheet.
|
mod.noerrorplay = [scarlet]Sinulla on virheellisiä modeja.[] Joko poista ne käytöstä tai korjaa virheet.
|
||||||
mod.nowdisabled = [scarlet]Lisäosa '{0}' tarvitsee muita lisäosia toimiakseen:[accent] {1}\n[lightgray]Nämä lisäosat täytyy asentaa ensin.\nTämä lisäosa poistetaan automaattisesti käytöstä.
|
mod.nowdisabled = [scarlet]Lisäosa '{0}' tarvitsee muita lisäosia toimiakseen:[accent] {1}\n[lightgray]Nämä lisäosat täytyy asentaa ensin.\nTämä lisäosa poistetaan automaattisesti käytöstä.
|
||||||
@@ -283,6 +284,7 @@ server.invalidport = Tällä portilla ei löytynyt peliä!
|
|||||||
server.error = [crimson]Virhe palvelimen hostaamisessa: [accent]{0}
|
server.error = [crimson]Virhe palvelimen hostaamisessa: [accent]{0}
|
||||||
save.new = Uusi tallennus
|
save.new = Uusi tallennus
|
||||||
save.overwrite = Haluatko varmasti korvata \ntämän tallennuspaikan??
|
save.overwrite = Haluatko varmasti korvata \ntämän tallennuspaikan??
|
||||||
|
save.nocampaign = Individual save files from the campaign cannot be imported.
|
||||||
overwrite = Korvaa
|
overwrite = Korvaa
|
||||||
save.none = Tallennuksia ei löytynyt!
|
save.none = Tallennuksia ei löytynyt!
|
||||||
savefail = Pelin tallentaminen epäonnistui!
|
savefail = Pelin tallentaminen epäonnistui!
|
||||||
@@ -350,6 +352,8 @@ pausebuilding = [accent][[{0}][] pysäyttääksesi rakentamisen
|
|||||||
resumebuilding = [scarlet][[{0}][] jatkaaksesi rakentamista
|
resumebuilding = [scarlet][[{0}][] jatkaaksesi rakentamista
|
||||||
enablebuilding = [scarlet][[{0}][] to enable building
|
enablebuilding = [scarlet][[{0}][] to enable building
|
||||||
showui = UI on piilotettu.\nPaina [accent][[{0}][] näyttääksesi UI:n.
|
showui = UI on piilotettu.\nPaina [accent][[{0}][] näyttääksesi UI:n.
|
||||||
|
commandmode.name = [accent]Command Mode
|
||||||
|
commandmode.nounits = [no units]
|
||||||
wave = [accent]Taso {0}
|
wave = [accent]Taso {0}
|
||||||
wave.cap = [accent]Taso {0}/{1}
|
wave.cap = [accent]Taso {0}/{1}
|
||||||
wave.waiting = [lightgray]Seuraava taso {0}
|
wave.waiting = [lightgray]Seuraava taso {0}
|
||||||
@@ -434,6 +438,7 @@ waves.max = maksimijoukot
|
|||||||
waves.guardian = Vartija
|
waves.guardian = Vartija
|
||||||
waves.preview = Esikatselu
|
waves.preview = Esikatselu
|
||||||
waves.edit = Muokkaa...
|
waves.edit = Muokkaa...
|
||||||
|
waves.random = Random
|
||||||
waves.copy = Kopioi leikepöydälle
|
waves.copy = Kopioi leikepöydälle
|
||||||
waves.load = Lataa leikepöydältä
|
waves.load = Lataa leikepöydältä
|
||||||
waves.invalid = Kelvottomia tasoja leikepöydällä.
|
waves.invalid = Kelvottomia tasoja leikepöydällä.
|
||||||
@@ -1187,6 +1192,7 @@ rules.unitbuildspeedmultiplier = Yksikköjen tuotantonopeuskerroin
|
|||||||
rules.unitcostmultiplier = Unit Cost Multiplier
|
rules.unitcostmultiplier = Unit Cost Multiplier
|
||||||
rules.unithealthmultiplier = Yksikköjen elämäpistekerroin
|
rules.unithealthmultiplier = Yksikköjen elämäpistekerroin
|
||||||
rules.unitdamagemultiplier = Yksikköjen vahinkokerroin
|
rules.unitdamagemultiplier = Yksikköjen vahinkokerroin
|
||||||
|
rules.unitcrashdamagemultiplier = Unit Crash Damage Multiplier
|
||||||
rules.solarmultiplier = Aurinkovoimakerroin
|
rules.solarmultiplier = Aurinkovoimakerroin
|
||||||
rules.unitcapvariable = Ytimet vaikuttavat yksikkörajaan
|
rules.unitcapvariable = Ytimet vaikuttavat yksikkörajaan
|
||||||
rules.unitcap = Perusyksikköraja
|
rules.unitcap = Perusyksikköraja
|
||||||
|
|||||||
@@ -151,6 +151,7 @@ mod.outdatedv7.details = This mod is incompatible with the latest version of the
|
|||||||
mod.blacklisted.details = This mod has been manually blacklisted for causing crashes or other issues with this version of the game. Do not use it.
|
mod.blacklisted.details = This mod has been manually blacklisted for causing crashes or other issues with this version of the game. Do not use it.
|
||||||
mod.missingdependencies.details = This mod is missing dependencies: {0}
|
mod.missingdependencies.details = This mod is missing dependencies: {0}
|
||||||
mod.erroredcontent.details = This game caused errors when loading. Ask the mod author to fix them.
|
mod.erroredcontent.details = This game caused errors when loading. Ask the mod author to fix them.
|
||||||
|
mod.requiresversion = Requires game version: [red]{0}
|
||||||
mod.errors = May mga error na naitala habang ni-lo-load ang nilalaman.
|
mod.errors = May mga error na naitala habang ni-lo-load ang nilalaman.
|
||||||
mod.noerrorplay = [scarlet]May mga mod kang may error.[] Maaaring 'wag munang paganahin ang mga apektadong mod o 'di kaya'y ayusin ang mga error bago maglaro.
|
mod.noerrorplay = [scarlet]May mga mod kang may error.[] Maaaring 'wag munang paganahin ang mga apektadong mod o 'di kaya'y ayusin ang mga error bago maglaro.
|
||||||
mod.nowdisabled = [scarlet]Ang mod na '{0}' ay ma kulang na mga dependency:[accent] {1}\n[lightgray]Ang mga ito'y kinakailangang i-download muna.\nAng mod na'to ay kusang 'di papaganahin.
|
mod.nowdisabled = [scarlet]Ang mod na '{0}' ay ma kulang na mga dependency:[accent] {1}\n[lightgray]Ang mga ito'y kinakailangang i-download muna.\nAng mod na'to ay kusang 'di papaganahin.
|
||||||
@@ -283,6 +284,7 @@ server.invalidport = Invalid port number!
|
|||||||
server.error = [scarlet]Error hosting server.
|
server.error = [scarlet]Error hosting server.
|
||||||
save.new = Bagong Save
|
save.new = Bagong Save
|
||||||
save.overwrite = Sigurado ka bang gusto mong i-overwrite ang save slot na ito?
|
save.overwrite = Sigurado ka bang gusto mong i-overwrite ang save slot na ito?
|
||||||
|
save.nocampaign = Individual save files from the campaign cannot be imported.
|
||||||
overwrite = Overwrite
|
overwrite = Overwrite
|
||||||
save.none = Walang nahanap na save!
|
save.none = Walang nahanap na save!
|
||||||
savefail = Hindi na save ang game!
|
savefail = Hindi na save ang game!
|
||||||
@@ -350,6 +352,8 @@ pausebuilding = [accent][[{0}][] upang i-pause ang pag-tatayo
|
|||||||
resumebuilding = [scarlet][[{0}][] upang ipagpatuloy ang pag-tatayo
|
resumebuilding = [scarlet][[{0}][] upang ipagpatuloy ang pag-tatayo
|
||||||
enablebuilding = [scarlet][[{0}][] upang paganahin ang pag-tatayo
|
enablebuilding = [scarlet][[{0}][] upang paganahin ang pag-tatayo
|
||||||
showui = Itinago ang UI.\nPindutin ang [accent][[{0}][] upang maipakita ang UI.
|
showui = Itinago ang UI.\nPindutin ang [accent][[{0}][] upang maipakita ang UI.
|
||||||
|
commandmode.name = [accent]Command Mode
|
||||||
|
commandmode.nounits = [no units]
|
||||||
wave = [accent]Wave {0}
|
wave = [accent]Wave {0}
|
||||||
wave.cap = [accent]Wave {0}/{1}
|
wave.cap = [accent]Wave {0}/{1}
|
||||||
wave.waiting = [lightgray]Wave in {0}
|
wave.waiting = [lightgray]Wave in {0}
|
||||||
@@ -434,6 +438,7 @@ waves.max = max units
|
|||||||
waves.guardian = Guardian
|
waves.guardian = Guardian
|
||||||
waves.preview = Preview
|
waves.preview = Preview
|
||||||
waves.edit = Edit...
|
waves.edit = Edit...
|
||||||
|
waves.random = Random
|
||||||
waves.copy = I-Copy to Clipboard
|
waves.copy = I-Copy to Clipboard
|
||||||
waves.load = I-Load mula sa Clipboard
|
waves.load = I-Load mula sa Clipboard
|
||||||
waves.invalid = Invalid waves in clipboard.
|
waves.invalid = Invalid waves in clipboard.
|
||||||
@@ -1187,6 +1192,7 @@ rules.unitbuildspeedmultiplier = Unit Production Speed Multiplier
|
|||||||
rules.unitcostmultiplier = Unit Cost Multiplier
|
rules.unitcostmultiplier = Unit Cost Multiplier
|
||||||
rules.unithealthmultiplier = Unit Health Multiplier
|
rules.unithealthmultiplier = Unit Health Multiplier
|
||||||
rules.unitdamagemultiplier = Unit Damage Multiplier
|
rules.unitdamagemultiplier = Unit Damage Multiplier
|
||||||
|
rules.unitcrashdamagemultiplier = Unit Crash Damage Multiplier
|
||||||
rules.solarmultiplier = Solar Power Multiplier
|
rules.solarmultiplier = Solar Power Multiplier
|
||||||
rules.unitcapvariable = Cores Contribute To Unit Cap
|
rules.unitcapvariable = Cores Contribute To Unit Cap
|
||||||
rules.unitcap = Base Unit Cap
|
rules.unitcap = Base Unit Cap
|
||||||
|
|||||||
@@ -157,6 +157,8 @@ mod.blacklisted.details = Ce mod à été manuellement mis sur liste noire car i
|
|||||||
mod.missingdependencies.details = Ce mod à des dépendances manquantes: {0}
|
mod.missingdependencies.details = Ce mod à des dépendances manquantes: {0}
|
||||||
mod.erroredcontent.details = Ce mod cause des erreurs lors du chargement. Demandez à l'autheur de les régler.
|
mod.erroredcontent.details = Ce mod cause des erreurs lors du chargement. Demandez à l'autheur de les régler.
|
||||||
|
|
||||||
|
mod.requiresversion = Requiert la version: [red]{0}
|
||||||
|
|
||||||
mod.errors = Des erreurs se sont produites lors du chargement du contenu.
|
mod.errors = Des erreurs se sont produites lors du chargement du contenu.
|
||||||
mod.noerrorplay = [scarlet]Vous avez des mods avec des erreurs.[] Désactivez les mods concernés ou corrigez les erreurs avant de jouer.
|
mod.noerrorplay = [scarlet]Vous avez des mods avec des erreurs.[] Désactivez les mods concernés ou corrigez les erreurs avant de jouer.
|
||||||
mod.nowdisabled = [scarlet]Le mod '{0}' a des dépendances manquantes: [accent]{1}\n[lightgray]Ces mods doivent d'abord être téléchargés.\nCe mod sera automatiquement désactivé.
|
mod.nowdisabled = [scarlet]Le mod '{0}' a des dépendances manquantes: [accent]{1}\n[lightgray]Ces mods doivent d'abord être téléchargés.\nCe mod sera automatiquement désactivé.
|
||||||
@@ -290,6 +292,7 @@ server.invalidport = Numéro de port invalide !
|
|||||||
server.error = [scarlet]Erreur lors de l'hébergement du serveur.
|
server.error = [scarlet]Erreur lors de l'hébergement du serveur.
|
||||||
save.new = Nouvelle sauvegarde
|
save.new = Nouvelle sauvegarde
|
||||||
save.overwrite = Êtes-vous sûr de vouloir\nécraser cette sauvegarde ?
|
save.overwrite = Êtes-vous sûr de vouloir\nécraser cette sauvegarde ?
|
||||||
|
save.nocampaign = Individual save files from the campaign cannot be imported.
|
||||||
overwrite = Écraser
|
overwrite = Écraser
|
||||||
save.none = Aucune sauvegarde trouvée !
|
save.none = Aucune sauvegarde trouvée !
|
||||||
savefail = Échec de la sauvegarde !
|
savefail = Échec de la sauvegarde !
|
||||||
@@ -357,6 +360,8 @@ pausebuilding = [accent][[{0}][] pour mettre la construction en pause
|
|||||||
resumebuilding = [scarlet][[{0}][] pour reprendre la construction
|
resumebuilding = [scarlet][[{0}][] pour reprendre la construction
|
||||||
enablebuilding = [scarlet][[{0}][] pour activer la construction
|
enablebuilding = [scarlet][[{0}][] pour activer la construction
|
||||||
showui = Interface cachée.\nPressez [accent][[{0}][] pour montrer l'interface.
|
showui = Interface cachée.\nPressez [accent][[{0}][] pour montrer l'interface.
|
||||||
|
commandmode.name = [accent]Command Mode
|
||||||
|
commandmode.nounits = [no units]
|
||||||
wave = [accent]Vague {0}
|
wave = [accent]Vague {0}
|
||||||
wave.cap = [accent]Vague {0}/{1}
|
wave.cap = [accent]Vague {0}/{1}
|
||||||
wave.waiting = [lightgray]Vague dans {0}
|
wave.waiting = [lightgray]Vague dans {0}
|
||||||
@@ -441,6 +446,7 @@ waves.max = unités maximum
|
|||||||
waves.guardian = Gardien
|
waves.guardian = Gardien
|
||||||
waves.preview = Prévisualiser
|
waves.preview = Prévisualiser
|
||||||
waves.edit = Modifier...
|
waves.edit = Modifier...
|
||||||
|
waves.random = Random
|
||||||
waves.copy = Copier dans le presse-papiers
|
waves.copy = Copier dans le presse-papiers
|
||||||
waves.load = Coller depuis le presse-papiers
|
waves.load = Coller depuis le presse-papiers
|
||||||
waves.invalid = Vagues invalides dans le presse-papiers.
|
waves.invalid = Vagues invalides dans le presse-papiers.
|
||||||
@@ -790,7 +796,7 @@ sector.origin.name = Origin
|
|||||||
|
|
||||||
sector.onset.description = Le secteur de tutoriel. Cet objectif n'a pas encore été créé. Attendez pour des informations futures.
|
sector.onset.description = Le secteur de tutoriel. Cet objectif n'a pas encore été créé. Attendez pour des informations futures.
|
||||||
sector.aegis.description = L'ennemi est protégé par des boucliers. Un module expérimental de briseur de bouclier a été détecté dans ce secteur.\nLocalisez cette structure, approvisionnez-la avec des munitions de tungstène et détruisez la base ennemie.
|
sector.aegis.description = L'ennemi est protégé par des boucliers. Un module expérimental de briseur de bouclier a été détecté dans ce secteur.\nLocalisez cette structure, approvisionnez-la avec des munitions de tungstène et détruisez la base ennemie.
|
||||||
sector.lake.description = Le lac de scories du secteur limite les unités utilisables. Les troupes volantes sont la seule option.\nRecherchez le [accent]fabricateur de bateaux[] et produisez un [accent]elude[] aussi tôt que possible.
|
sector.lake.description = Le lac de scories du secteur limite les unités utilisables. Les troupes volantes sont la seule option.\nRecherchez le [accent]fabricateur de vaisseaux[] et produisez un [accent]elude[] aussi tôt que possible.
|
||||||
sector.intersect.description = Les scans montrent que ce secteur sera attaqué sur plusieurs côtés après l'atterrissage.\nConstruisez et développez vos défenses aussi vite que possible.\nLes [accent]Mécas[] seront requis pour le terrain accidenté de ce secteur.
|
sector.intersect.description = Les scans montrent que ce secteur sera attaqué sur plusieurs côtés après l'atterrissage.\nConstruisez et développez vos défenses aussi vite que possible.\nLes [accent]Mécas[] seront requis pour le terrain accidenté de ce secteur.
|
||||||
sector.atlas.description = Ce secteur contient des terrains variés et requiert des unités toutes aussi variées pour attaquer efficacement.\nDes unités améliorées peuvent également être nécessaires afin de détruire les bases ennemies les plus difficiles.\nRecherchez l'[accent]électrolyseur[] et le [accent]refabricateur de tanks[].
|
sector.atlas.description = Ce secteur contient des terrains variés et requiert des unités toutes aussi variées pour attaquer efficacement.\nDes unités améliorées peuvent également être nécessaires afin de détruire les bases ennemies les plus difficiles.\nRecherchez l'[accent]électrolyseur[] et le [accent]refabricateur de tanks[].
|
||||||
sector.split.description = La présence faible de l'ennemi dans ce secteur le rend parfait pour tester de nouvelles technologies de transport.
|
sector.split.description = La présence faible de l'ennemi dans ce secteur le rend parfait pour tester de nouvelles technologies de transport.
|
||||||
@@ -1122,7 +1128,7 @@ keybind.mouse_move.name = Suivre la souris
|
|||||||
keybind.pan.name = Vue Panoramique
|
keybind.pan.name = Vue Panoramique
|
||||||
keybind.boost.name = Boost
|
keybind.boost.name = Boost
|
||||||
keybind.command_mode.name = Mode « Commande »
|
keybind.command_mode.name = Mode « Commande »
|
||||||
keybind.rebuild_select.name = Rebuild Region
|
keybind.rebuild_select.name = Reconstruire la Zone
|
||||||
keybind.schematic_select.name = Sélectionner une Région
|
keybind.schematic_select.name = Sélectionner une Région
|
||||||
keybind.schematic_menu.name = Menu des schémas
|
keybind.schematic_menu.name = Menu des schémas
|
||||||
keybind.schematic_flip_x.name = Retourner le schéma sur l'axe des X
|
keybind.schematic_flip_x.name = Retourner le schéma sur l'axe des X
|
||||||
@@ -1211,6 +1217,7 @@ rules.unitbuildspeedmultiplier = Multiplicateur de Vitesse de Construction des U
|
|||||||
rules.unitcostmultiplier = Multiplicateur du coût de fabrication des Unités
|
rules.unitcostmultiplier = Multiplicateur du coût de fabrication des Unités
|
||||||
rules.unithealthmultiplier = Multiplicateur de Santé des Unités
|
rules.unithealthmultiplier = Multiplicateur de Santé des Unités
|
||||||
rules.unitdamagemultiplier = Multiplicateur de Dégât des Unités
|
rules.unitdamagemultiplier = Multiplicateur de Dégât des Unités
|
||||||
|
rules.unitcrashdamagemultiplier = Unit Crash Damage Multiplier
|
||||||
rules.solarmultiplier = Multiplicateur de l'Efficacité des Panneaux Solaires
|
rules.solarmultiplier = Multiplicateur de l'Efficacité des Panneaux Solaires
|
||||||
rules.unitcapvariable = Les Noyaux contribuent à la limite d'Unités actives
|
rules.unitcapvariable = Les Noyaux contribuent à la limite d'Unités actives
|
||||||
rules.unitcap = Limite d'Unités actives de Base
|
rules.unitcap = Limite d'Unités actives de Base
|
||||||
@@ -1604,7 +1611,7 @@ block.carbon-vent.name = Évent de Carbone
|
|||||||
block.arkyic-vent.name = Évent d'Arkyic
|
block.arkyic-vent.name = Évent d'Arkyic
|
||||||
block.yellow-stone-vent.name = Évent de Pierre Jaune
|
block.yellow-stone-vent.name = Évent de Pierre Jaune
|
||||||
block.red-stone-vent.name = Évent de Pierre Rouge
|
block.red-stone-vent.name = Évent de Pierre Rouge
|
||||||
block.crystalline-vent.name = Crystalline Vent
|
block.crystalline-vent.name = Évent Crystallin
|
||||||
block.redmat.name = Redmat
|
block.redmat.name = Redmat
|
||||||
block.bluemat.name = Bluemat
|
block.bluemat.name = Bluemat
|
||||||
block.core-zone.name = Zone de Noyau
|
block.core-zone.name = Zone de Noyau
|
||||||
@@ -1710,9 +1717,9 @@ block.scathe.name = Scathe
|
|||||||
block.fabricator.name = Fabricateur
|
block.fabricator.name = Fabricateur
|
||||||
block.tank-refabricator.name = Refabricateur de Tanks
|
block.tank-refabricator.name = Refabricateur de Tanks
|
||||||
block.mech-refabricator.name = Refabricateur de Mécas
|
block.mech-refabricator.name = Refabricateur de Mécas
|
||||||
block.ship-refabricator.name = Refabricateur de Bateaux
|
block.ship-refabricator.name = Refabricateur de Vaisseaux
|
||||||
block.tank-assembler.name = Assembleur de Tanks
|
block.tank-assembler.name = Assembleur de Tanks
|
||||||
block.ship-assembler.name = Assembleur de Bateaux
|
block.ship-assembler.name = Assembleur de Vaisseaux
|
||||||
block.mech-assembler.name = Assembleur de Mécas
|
block.mech-assembler.name = Assembleur de Mécas
|
||||||
block.reinforced-payload-conveyor.name = Convoyeur de Charges Utiles Renforcé
|
block.reinforced-payload-conveyor.name = Convoyeur de Charges Utiles Renforcé
|
||||||
block.reinforced-payload-router.name = Routeur de Charges Utiles Renforcé
|
block.reinforced-payload-router.name = Routeur de Charges Utiles Renforcé
|
||||||
@@ -1723,7 +1730,7 @@ block.world-processor.name = Processeur Global
|
|||||||
block.world-cell.name = Cellule de Mémoire Globale
|
block.world-cell.name = Cellule de Mémoire Globale
|
||||||
block.tank-fabricator.name = Fabricateur de Tanks
|
block.tank-fabricator.name = Fabricateur de Tanks
|
||||||
block.mech-fabricator.name = Fabricateur de Mécas
|
block.mech-fabricator.name = Fabricateur de Mécas
|
||||||
block.ship-fabricator.name = Fabricateur de Bateaux
|
block.ship-fabricator.name = Fabricateur de Vaisseaux
|
||||||
block.prime-refabricator.name = Refabricateur Prime
|
block.prime-refabricator.name = Refabricateur Prime
|
||||||
block.unit-repair-tower.name = Tourelle de Réparation
|
block.unit-repair-tower.name = Tourelle de Réparation
|
||||||
block.diffuse.name = Diffuseur
|
block.diffuse.name = Diffuseur
|
||||||
@@ -2033,99 +2040,99 @@ block.repair-turret.description = Répare en continu l'unité endommagée la plu
|
|||||||
block.payload-propulsion-tower.description = Structure de transport de charges utiles à longue portée. Projette des charges utiles vers d'autres tours de propulsion de charges utiles reliées.
|
block.payload-propulsion-tower.description = Structure de transport de charges utiles à longue portée. Projette des charges utiles vers d'autres tours de propulsion de charges utiles reliées.
|
||||||
|
|
||||||
#Erekir
|
#Erekir
|
||||||
block.core-bastion.description = Core of the base. Armored. Once destroyed, the sector is lost.
|
block.core-bastion.description = Le cœur de votre base. Blindé. Une fois détruit, le secteur est perdu.
|
||||||
block.core-citadel.description = Core of the base. Very well armored. Stores more resources than a Bastion core.
|
block.core-citadel.description = Le cœur de votre base. Très bien blindé. Stocke plus de ressources qu'un noyau Bastion.
|
||||||
block.core-acropolis.description = Core of the base. Exceptionally well armored. Stores more resources than a Citadel core.
|
block.core-acropolis.description = Le cœur de votre base. Exceptionnellement bien blindé. Stocke plus de ressources qu'un noyau Citadelle.
|
||||||
block.breach.description = Fires piercing beryllium or tungsten ammunition at enemy targets.
|
block.breach.description = Tire des munitions perforantes de béryllium ou de tungstène sur les cibles ennemies.
|
||||||
block.diffuse.description = Fires a burst of bullets in a wide cone. Pushes enemy targets back.
|
block.diffuse.description = Tire une rafale de balles dans un large cône. Peut repousser les cibles ennemies.
|
||||||
block.sublimate.description = Fires a continuous jet of flame at enemy targets. Pierces armor.
|
block.sublimate.description = Tire un jet de flammes continu sur les cibles ennemies. Perce les armures.
|
||||||
block.titan.description = Fires a massive explosive artillery shell at ground targets. Requires hydrogen.
|
block.titan.description = Tire un obus d'artillerie massif sur les cibles au sol. Nécessite de l'hydrogène.
|
||||||
block.afflict.description = Fires a massive charged orb of fragmentary flak. Requires heating.
|
block.afflict.description = Tire une orbe massive chargée de balles à fragmentation. Nécessite de la chaleur.
|
||||||
block.disperse.description = Fires bursts of flak at aerial targets.
|
block.disperse.description = Tire des rafales de balles anti-aériennes aux cibles volantes.
|
||||||
block.lustre.description = Fires a slow-moving single-target laser at enemy targets.
|
block.lustre.description = Tire un laser à cible unique se déplaçant lentement sur les cibles ennemies.
|
||||||
block.scathe.description = Launches a powerful missile at ground targets over vast distances.
|
block.scathe.description = Lance un missile puissant sur les cibles au sol sur de grandes distances.
|
||||||
block.smite.description = Fires bursts of piercing, lightning-emitting bullets.
|
block.smite.description = Tire une rafale de balles perçantes émetteuse de foudre.
|
||||||
block.malign.description = Fires a barrage of homing laser charges at enemy targets. Requires extensive heating.
|
block.malign.description = Tire un barrage de charges lasers à tête chercheuse sur les cibles ennemies. Requiert beaucoup de chaleur.
|
||||||
block.silicon-arc-furnace.description = Refines silicon from sand and graphite.
|
block.silicon-arc-furnace.description = Raffine du silicium à partir de sable et de graphite.
|
||||||
block.oxidation-chamber.description = Converts beryllium and ozone into oxide. Emits heat as a by-product.
|
block.oxidation-chamber.description = Produit de l'oxyde à partir de béryllium et d'ozone. Émet de la chaleur comme sous-produit.
|
||||||
block.electric-heater.description = Applies heat to structures. Requires large amounts of power.
|
block.electric-heater.description = Applique de la chaleur aux structures. Nécessite une grande quantité d'énergie.
|
||||||
block.slag-heater.description = Applies heat to structures. Requires slag.
|
block.slag-heater.description = Applique de la chaleur structures. Nécessite des scories.
|
||||||
block.phase-heater.description = Applies heat to structures. Requires phase fabric.
|
block.phase-heater.description = Applique de la chaleur aux structures. Nécessite du tissu phasé.
|
||||||
block.heat-redirector.description = Redirects accumulated heat to other blocks.
|
block.heat-redirector.description = Redirige la chaleur accumulée aux autres blocs.
|
||||||
block.heat-router.description = Spreads accumulated heat in three output directions.
|
block.heat-router.description = Répartit la chaleur dans trois directions de sortie.
|
||||||
block.electrolyzer.description = Converts water into hydrogen and ozone gas. Outputs resulting gases in two opposite directions, marked by corresponding colors.
|
block.electrolyzer.description = Décompose l'eau en hydrogène et en ozone. Les sorties de chaque gaz sont situées de part et d'autres du bloc, marquées par leur couleur correspondante.
|
||||||
block.atmospheric-concentrator.description = Concentrates nitrogen from the atmosphere. Requires heat.
|
block.atmospheric-concentrator.description = Concentre l'azote retenu dans l'atmosphère. Requiert de la chaleur.
|
||||||
block.surge-crucible.description = Forms surge alloy from slag and silicon. Requires heat.
|
block.surge-crucible.description = Forme de l'alliage superchargé à partir de scories et de silicium. Requiert de la chaleur.
|
||||||
block.phase-synthesizer.description = Synthesizes phase fabric from thorium, sand, and ozone. Requires heat.
|
block.phase-synthesizer.description = Synthétise du tissu phasé à partir de thorium, de sable, et d'ozone. Requiert de la chaleur.
|
||||||
block.carbide-crucible.description = Fuses graphite and tungsten into carbide. Requires heat.
|
block.carbide-crucible.description = Fusionne du tungstène et du graphite en carbure. Requiert de la chaleur.
|
||||||
block.cyanogen-synthesizer.description = Synthesizes cyanogen from arkycite and graphite. Requires heat.
|
block.cyanogen-synthesizer.description = Synthétise du cyanogène à partir d'arkycite et de graphite. Requiert de la chaleur.
|
||||||
block.slag-incinerator.description = Incinerates non-volatile items or liquids. Requires slag.
|
block.slag-incinerator.description = Incinère des objets ou des liquides non-volatils. Nécéssite des scories.
|
||||||
block.vent-condenser.description = Condenses vent gases into water. Consumes power.
|
block.vent-condenser.description = Condense les gaz d'évents en eau. Consomme de l'énergie.
|
||||||
block.plasma-bore.description = When placed facing an ore wall, outputs items indefinitely. Requires small amounts of power.\nOptionally uses hydrogen to boost efficiency.
|
block.plasma-bore.description = Lorsqu'il est placé face à un mur de minerai, il produit des matériaux indéfiniment. Requiert peu d'énergie.\nPeut utiliser de l'hydrogène pour booster l'efficacité.
|
||||||
block.large-plasma-bore.description = A larger plasma bore. Capable of mining tungsten and thorium. Requires hydrogen and power.\nOptionally uses nitrogen to boost efficiency.
|
block.large-plasma-bore.description = Une foreuse à plasma plus large. Capable d'extraire du tungstène et du thorium. Nécessite de l'hydrogène et de l'énergie.\nPeut utiliser de l'azote pour booster l'efficacité.
|
||||||
block.cliff-crusher.description = Crushes walls, outputting sand indefinitely. Requires power. Efficiency varies based on type of wall.
|
block.cliff-crusher.description = Écrase les murs, produisant du sable indéfiniment. Nécessite de l'énergie. L'efficacité varie en fonction du type de mur.
|
||||||
block.impact-drill.description = When placed on ore, outputs items in bursts indefinitely. Requires power and water.
|
block.impact-drill.description = Lorsqu'il est placé sur du minerai, il produit des matériaux en rafales indéfiniment. Nécessite de l'énergie et de l'eau.
|
||||||
block.eruption-drill.description = An improved impact drill. Capable of mining thorium. Requires hydrogen.
|
block.eruption-drill.description = Une foreuse à impact améliorée. Capable d'extraire du thorium. Requiert de l'hydrogène.
|
||||||
block.reinforced-conduit.description = Moves fluids forward. Doesn't accept non-conduit inputs to the sides.
|
block.reinforced-conduit.description = Déplace les fluides. N'accepte pas les entrées sans conduit sur les côtés.
|
||||||
block.reinforced-liquid-router.description = Distributes fluids equally to all sides.
|
block.reinforced-liquid-router.description = Accepte les fluides depuis une direction et les distribue jusqu'à 3 directions équitablement.
|
||||||
block.reinforced-junction.description = Acts as a bridge between two crossing conduits.
|
block.reinforced-junction.description = Agit comme un pont entre deux conduits qui se croisent.
|
||||||
block.reinforced-liquid-tank.description = Stores a large amount of fluids.
|
block.reinforced-liquid-tank.description = Stocke une grande quantité de fluides.
|
||||||
block.reinforced-liquid-container.description = Stores a sizeable amount of fluids.
|
block.reinforced-liquid-container.description = Stocke une quantité importante de fluides.
|
||||||
block.reinforced-bridge-conduit.description = Transports fluids over structures and terrain.
|
block.reinforced-bridge-conduit.description = Transporte les fluides par-dessus les structures et le terrain.
|
||||||
block.reinforced-pump.description = Pumps and outputs liquids. Requires hydrogen.
|
block.reinforced-pump.description = Pompe des liquides. Requiert de l'hydrogène.
|
||||||
block.beryllium-wall.description = Protects structures from enemy projectiles.
|
block.beryllium-wall.description = Protège les structures des projectiles ennemis.
|
||||||
block.beryllium-wall-large.description = Protects structures from enemy projectiles.
|
block.beryllium-wall-large.description = Protège les structures des projectiles ennemis.
|
||||||
block.tungsten-wall.description = Protects structures from enemy projectiles.
|
block.tungsten-wall.description = Protège les structures des projectiles ennemis.
|
||||||
block.tungsten-wall-large.description = Protects structures from enemy projectiles.
|
block.tungsten-wall-large.description = Protège les structures des projectiles ennemis.
|
||||||
block.carbide-wall.description = Protects structures from enemy projectiles.
|
block.carbide-wall.description = Protège les structures des projectiles ennemis.
|
||||||
block.carbide-wall-large.description = Protects structures from enemy projectiles.
|
block.carbide-wall-large.description = Protège les structures des projectiles ennemis.
|
||||||
block.reinforced-surge-wall.description = Protects structures from enemy projectiles, periodically releasing electric arcs upon contact.
|
block.reinforced-surge-wall.description = Protège les structures des projectiles ennemis, dégageant périodiquement des arcs électriques au contact.
|
||||||
block.reinforced-surge-wall-large.description = Protects structures from enemy projectiles, periodically releasing electric arcs upon contact.
|
block.reinforced-surge-wall-large.description = Protège les structures des projectiles ennemis, dégageant périodiquement des arcs électriques au contact.
|
||||||
block.shielded-wall.description = Protects structures from enemy projectiles, reflecting most bullets upon impact. Deploys a shield that absorbs most projectiles when power is provided. Conducts power.
|
block.shielded-wall.description = Protège les structures des projectiles ennemis, reflétant la plupart des balles lors de l'impact. Déploie un bouclier qui absorbe la plupart des projectiles lorsque de l'énergie est fournie. Conduit l'énergie.
|
||||||
block.blast-door.description = A wall that opens when allied ground units are in range. Cannot be manually controlled.
|
block.blast-door.description = Un mur qui s'ouvre lorsque des unités terrestres alliées sont à portée. Ne peut pas être contrôlé manuellement.
|
||||||
block.duct.description = Moves items forward. Only capable of storing a single item.
|
block.duct.description = Déplace les objets. Ne peut stocker qu'un seul objet.
|
||||||
block.armored-duct.description = Moves items forward. Does not accept non-duct inputs from the sides.
|
block.armored-duct.description = Déplace les objets. N'accepte pas les entrées qui ne sont pas des conduits sur les côtés.
|
||||||
block.duct-router.description = Distributes items equally across three directions. Only accepts items from the back side. Can be configured as an item sorter.
|
block.duct-router.description = Distribue les objets de manière égale dans trois directions. N'accepte que les objets à l'arrière. Peut être configuré comme un trieur d'objets.
|
||||||
block.overflow-duct.description = Only outputs items to the sides if the front path is blocked.
|
block.overflow-duct.description = Envoie les objets sur les côtés si le chemin avant est bloqué.
|
||||||
block.duct-bridge.description = Moves items over structures and terrain.
|
block.duct-bridge.description = Déplace les objets par-dessus les structures et le terrain.
|
||||||
block.duct-unloader.description = Unloads the selected item from the block behind it. Cannot unload from cores.
|
block.duct-unloader.description = Décharge l'élément sélectionné du bloc derrière lui. Impossible de décharger des noyaux.
|
||||||
block.underflow-duct.description = Opposite of an overflow duct. Outputs to the front if the left and right paths are blocked.
|
block.underflow-duct.description = L'opposé d'un conduit de débordement. Envoie les objets vers l'avant si les chemins gauche et droit sont bloqués.
|
||||||
block.reinforced-liquid-junction.description = Acts as a junction between two crossing conduits.
|
block.reinforced-liquid-junction.description = Agit comme une jonction entre deux conduits qui se croisent.
|
||||||
block.surge-conveyor.description = Moves items in batches. Can be sped up with power. Conducts power.
|
block.surge-conveyor.description = Déplace les éléments par lots. Peut être accéléré avec de l'énergie. Conduit l'énergie.
|
||||||
block.surge-router.description = Equally distributes items in three directions from surge conveyors. Can be sped up with power. Conducts power.
|
block.surge-router.description = Distribue de manière égale les objets dans trois directions à partir de convoyeurs superchargés. Peut être accéléré avec de l'énergie. Conduit l'énergie.
|
||||||
block.unit-cargo-loader.description = Constructs cargo drones. Drones automatically distribute items to Cargo Unload Points with a matching filter.
|
block.unit-cargo-loader.description = Construit des drones cargo. Ces drones distribuent automatiquement les objets aux Points de Déchargement ayant le filtre correspondant.
|
||||||
block.unit-cargo-unload-point.description = Acts as an unloading point for cargo drones. Accepts items that match the selected filter.
|
block.unit-cargo-unload-point.description = Agit comme un point de déchargement pour les drones cargo. Accepte les objets qui correspondent au filtre sélectionné.
|
||||||
block.beam-node.description = Transmits power to other blocks orthogonally. Stores a small amount of power.
|
block.beam-node.description = Transmet l'énergie à d'autres blocs orthogonalement. Stocke une petite quantité d'énergie.
|
||||||
block.beam-tower.description = Transmits power to other blocks orthogonally. Stores a large amount of power. Long-range.
|
block.beam-tower.description = Transmet l'énergie à d'autres blocs orthogonalement. Stocke une grande quantité d'énergie. Longue portée.
|
||||||
block.turbine-condenser.description = Generates power when placed on vents. Produces a small amount of water.
|
block.turbine-condenser.description = Génère de l'énergie lorsqu'il est placé sur des évents. Produit une petite quantité d'eau.
|
||||||
block.chemical-combustion-chamber.description = Generates power from arkycite and ozone.
|
block.chemical-combustion-chamber.description = Génère de l'énergie à partir d'arkycite et d'ozone.
|
||||||
block.pyrolysis-generator.description = Generates large amounts of power from arkycite and slag. Produces water as a byproduct.
|
block.pyrolysis-generator.description = Génère de grandes quantités d'énergie à partir d'arkycite et de scories. Produit de l'eau comme sous-produit.
|
||||||
block.flux-reactor.description = Generates large amounts of power when heated. Requires cyanogen as a stabilizer. Power output and cyanogen requirements are proportional to heat input.\nExplodes if insufficient cyanogen is provided.
|
block.flux-reactor.description = Génère de grandes quantités d'énergie lorsqu'il est chauffé. Requiert du cyanogène comme stabilisant. La puissance de sortie et les besoins en cyanogène sont proportionnels à l'apport de chaleur.\nExplose s'il n'y a pas assez de cyanogène.
|
||||||
block.neoplasia-reactor.description = Uses arkycite, water and phase fabric to generate large amounts of power. Produces heat and dangerous neoplasm as a byproduct.\nExplodes violently if neoplasm is not removed from the reactor via conduits.
|
block.neoplasia-reactor.description = Utilise de l'arkycite, de l'eau et du tissu phasé pour générer de grandes quantités d'énergie. Produit de la chaleur et du néoplasme dangereux comme sous-produit.\nExplose violemment si le néoplasme n'est pas retiré du réacteur via des conduits.
|
||||||
block.build-tower.description = Automatically rebuilds structures in range and assists other units in construction.
|
block.build-tower.description = Reconstruit automatiquement les structures à portée et assiste les autres unités en construction.
|
||||||
block.regen-projector.description = Slowly repairs allied structures in a square perimeter. Requires hydrogen.\nOptionally uses phase fabric to boost efficiency.
|
block.regen-projector.description = Répare lentement les structures alliées dans un périmètre carré. Nécessite de l'hydrogène.\nPeut utiliser du tissu phasé pour augmenter l'efficacité.
|
||||||
block.reinforced-container.description = Stores a small amount of items. Contents can be retrieved via unloaders. Does not increase core storage capacity.
|
block.reinforced-container.description = Stocke une petite quantité d'objets. Le contenu peut être récupéré via des déchargeurs. N'augmente pas la capacité de stockage du noyau.
|
||||||
block.reinforced-vault.description = Stores a large amount of items. Contents can be retrieved via unloaders. Does not increase core storage capacity.
|
block.reinforced-vault.description = Stocke une grande quantité d'objets. Le contenu peut être récupéré via des déchargeurs. N'augmente pas la capacité de stockage du noyau.
|
||||||
block.tank-fabricator.description = Constructs Stell units. Outputted units can be used directly, or moved into refabricators for upgrading.
|
block.tank-fabricator.description = Construit des unités Stell. Les unités de sortie peuvent être utilisées directement, ou transférées dans des refabricateurs pour une amélioration.
|
||||||
block.ship-fabricator.description = Constructs Elude units. Outputted units can be used directly, or moved into refabricators for upgrading.
|
block.ship-fabricator.description = Construit des unités Elude. Les unités de sortie peuvent être utilisées directement, ou transférées dans des refabricateurs pour une amélioration.
|
||||||
block.mech-fabricator.description = Constructs Merui units. Outputted units can be used directly, or moved into refabricators for upgrading.
|
block.mech-fabricator.description = Construit des unités Merui. Les unités de sortie peuvent être utilisées directement, ou transférées dans des refabricateurs pour une amélioration.
|
||||||
block.tank-assembler.description = Assembles large tanks out of inputted blocks and units. Output tier may be increased by adding modules.
|
block.tank-assembler.description = Assemble de grands tanks à partir de blocs et d'unités. Le niveau de l'unité de sortie peut être augmenté en ajoutant des modules.
|
||||||
block.ship-assembler.description = Assembles large ships out of inputted blocks and units. Output tier may be increased by adding modules.
|
block.ship-assembler.description = Assemble de grands vaisseaux à partir de blocs et d'unités. Le niveau de l'unité de sortie peut être augmenté en ajoutant des modules.
|
||||||
block.mech-assembler.description = Assembles large mechs out of inputted blocks and units. Output tier may be increased by adding modules.
|
block.mech-assembler.description = Assemble de grands mechs à partir de blocs et d'unités. Le niveau de l'unité de sortie peut être augmenté en ajoutant des modules.
|
||||||
block.tank-refabricator.description = Upgrades inputted tank units to the second tier.
|
block.tank-refabricator.description = Améliore les tanks au deuxième niveau.
|
||||||
block.ship-refabricator.description = Upgrades inputted ship units to the second tier.
|
block.ship-refabricator.description = Améliore les vaisseaux au deuxième niveau.
|
||||||
block.mech-refabricator.description = Upgrades inputted mech units to the second tier.
|
block.mech-refabricator.description = Améliore les mechs au deuxième niveau.
|
||||||
block.prime-refabricator.description = Upgrades inputted units to the third tier.
|
block.prime-refabricator.description = Améliore les unités au troisième niveau.
|
||||||
block.basic-assembler-module.description = Increases assembler tier when placed next to a construction boundary. Requires power. Can be used as a payload input.
|
block.basic-assembler-module.description = Augmente le niveau d'assembleur lorsqu'il est placé à côté d'une limite de construction. Requiert de l'énergie. Peut être utilisé comme entrée de charge utile.
|
||||||
block.small-deconstructor.description = Deconstructs inputted structures and units. Returns 100% of the build cost.
|
block.small-deconstructor.description = Déconstruit les structures et les unités saisies. Renvoie 100% du coût de construction.
|
||||||
block.reinforced-payload-conveyor.description = Moves payloads forward.
|
block.reinforced-payload-conveyor.description = Déplace les charges utiles.
|
||||||
block.reinforced-payload-router.description = Distributes payloads into adjacent blocks. Functions as a sorter when a filter is set.
|
block.reinforced-payload-router.description = Distribue les charges utiles aux blocs adjacents. Fonctionne comme un trieur lorsqu'un filtre est défini.
|
||||||
block.payload-mass-driver.description = Long-range payload transport structure. Shoots received payloads to linked payload mass drivers.
|
block.payload-mass-driver.description = Structure de transport de charge utile à longue portée. Tire les charges utiles reçues vers les transporteurs de masse liés.
|
||||||
block.large-payload-mass-driver.description = Long-range payload transport structure. Shoots received payloads to linked payload mass drivers.
|
block.large-payload-mass-driver.description = Structure de transport de charge utile à longue portée. Tire les charges utiles reçues vers les transporteurs de masse liés.
|
||||||
block.unit-repair-tower.description = Repairs all units in its vicinity. Requires ozone.
|
block.unit-repair-tower.description = Répare toutes les unités à proximité. Requiert de l'ozone.
|
||||||
block.radar.description = Gradually uncovers terrain and enemy units in a large radius. Requires power.
|
block.radar.description = Découvre progressivement le terrain et les unités ennemies dans un large rayon. Nécessite de l'énergie.
|
||||||
block.shockwave-tower.description = Damages and destroys enemy projectiles in a radius. Requires cyanogen.
|
block.shockwave-tower.description = Endommage et détruit les projectiles ennemis dans un rayon. Nécessite du cyanogène.
|
||||||
block.canvas.description = Displays a simple image with a pre-defined palette. Editable.
|
block.canvas.description = Affiche une image simple avec une palette prédéfinie. Modifiable.
|
||||||
|
|
||||||
unit.dagger.description = Tire des balles normales aux ennemis proches.
|
unit.dagger.description = Tire des balles normales aux ennemis proches.
|
||||||
unit.mace.description = Tire des jets de flammes aux ennemis proches.
|
unit.mace.description = Tire des jets de flammes aux ennemis proches.
|
||||||
|
|||||||
@@ -153,6 +153,7 @@ mod.outdatedv7.details = This mod is incompatible with the latest version of the
|
|||||||
mod.blacklisted.details = This mod has been manually blacklisted for causing crashes or other issues with this version of the game. Do not use it.
|
mod.blacklisted.details = This mod has been manually blacklisted for causing crashes or other issues with this version of the game. Do not use it.
|
||||||
mod.missingdependencies.details = This mod is missing dependencies: {0}
|
mod.missingdependencies.details = This mod is missing dependencies: {0}
|
||||||
mod.erroredcontent.details = This game caused errors when loading. Ask the mod author to fix them.
|
mod.erroredcontent.details = This game caused errors when loading. Ask the mod author to fix them.
|
||||||
|
mod.requiresversion = Requires game version: [red]{0}
|
||||||
mod.errors = Hiba történt a tartalom betöltése közben.
|
mod.errors = Hiba történt a tartalom betöltése közben.
|
||||||
mod.noerrorplay = [scarlet]Vannak hibás Modok.[] Kapcsold ki vagy javítsd ki őket a játék előtt.
|
mod.noerrorplay = [scarlet]Vannak hibás Modok.[] Kapcsold ki vagy javítsd ki őket a játék előtt.
|
||||||
mod.nowdisabled = [scarlet]A '{0}' Modnak nincsen megfelelő függősége:[accent] {1}\n[lightgray]Ezeket előbb le kell tölteni.\nEz a Mod automatikusan törölve lesz.
|
mod.nowdisabled = [scarlet]A '{0}' Modnak nincsen megfelelő függősége:[accent] {1}\n[lightgray]Ezeket előbb le kell tölteni.\nEz a Mod automatikusan törölve lesz.
|
||||||
@@ -286,6 +287,7 @@ server.invalidport = Érvénytelen port!
|
|||||||
server.error = [crimson]Nem sikerült megnyitni a szervert.
|
server.error = [crimson]Nem sikerült megnyitni a szervert.
|
||||||
save.new = Új mentés
|
save.new = Új mentés
|
||||||
save.overwrite = Biztosan felülírod\nezt a mentést?
|
save.overwrite = Biztosan felülírod\nezt a mentést?
|
||||||
|
save.nocampaign = Individual save files from the campaign cannot be imported.
|
||||||
overwrite = Felülírás
|
overwrite = Felülírás
|
||||||
save.none = Nem található mentés!
|
save.none = Nem található mentés!
|
||||||
savefail = Nem sikerült menteni!
|
savefail = Nem sikerült menteni!
|
||||||
@@ -353,6 +355,8 @@ pausebuilding = Használd a(z) [accent][[{0}][] gombot, hogy megállítsd az ép
|
|||||||
resumebuilding = Használd a(z) [scarlet][[{0}][] gombot, hogy folytasd az építkezést.
|
resumebuilding = Használd a(z) [scarlet][[{0}][] gombot, hogy folytasd az építkezést.
|
||||||
enablebuilding = [scarlet][[{0}][] to enable building
|
enablebuilding = [scarlet][[{0}][] to enable building
|
||||||
showui = A kezelőfelület elrejtve.\nNyomd meg a(z) [accent][[{0}][] gombot a megjelenítéséhez.
|
showui = A kezelőfelület elrejtve.\nNyomd meg a(z) [accent][[{0}][] gombot a megjelenítéséhez.
|
||||||
|
commandmode.name = [accent]Command Mode
|
||||||
|
commandmode.nounits = [no units]
|
||||||
wave = [accent]{0}. hullám
|
wave = [accent]{0}. hullám
|
||||||
wave.cap = [accent]{0}./{1} hullám
|
wave.cap = [accent]{0}./{1} hullám
|
||||||
wave.waiting = [lightgray]Következő hullám {0}
|
wave.waiting = [lightgray]Következő hullám {0}
|
||||||
@@ -437,6 +441,7 @@ waves.max = max units
|
|||||||
waves.guardian = őrző
|
waves.guardian = őrző
|
||||||
waves.preview = Előnézet
|
waves.preview = Előnézet
|
||||||
waves.edit = Szerksztés...
|
waves.edit = Szerksztés...
|
||||||
|
waves.random = Random
|
||||||
waves.copy = Másolás a vágólapra
|
waves.copy = Másolás a vágólapra
|
||||||
waves.load = Másolás a vágólapról
|
waves.load = Másolás a vágólapról
|
||||||
waves.invalid = Nem lehet beilleszteni a vágólapról.
|
waves.invalid = Nem lehet beilleszteni a vágólapról.
|
||||||
@@ -1197,6 +1202,7 @@ rules.unitbuildspeedmultiplier = Egység gyártási sebesség szorzó
|
|||||||
rules.unitcostmultiplier = Unit Cost Multiplier
|
rules.unitcostmultiplier = Unit Cost Multiplier
|
||||||
rules.unithealthmultiplier = Egység életpont szorzó
|
rules.unithealthmultiplier = Egység életpont szorzó
|
||||||
rules.unitdamagemultiplier = Egység sebzés szorzó
|
rules.unitdamagemultiplier = Egység sebzés szorzó
|
||||||
|
rules.unitcrashdamagemultiplier = Unit Crash Damage Multiplier
|
||||||
rules.solarmultiplier = Solar Power Multiplier
|
rules.solarmultiplier = Solar Power Multiplier
|
||||||
rules.unitcapvariable = Cores Contribute To Unit Cap
|
rules.unitcapvariable = Cores Contribute To Unit Cap
|
||||||
rules.unitcap = Base Unit Cap
|
rules.unitcap = Base Unit Cap
|
||||||
|
|||||||
@@ -154,6 +154,7 @@ mod.outdatedv7.details = This mod is incompatible with the latest version of the
|
|||||||
mod.blacklisted.details = This mod has been manually blacklisted for causing crashes or other issues with this version of the game. Do not use it.
|
mod.blacklisted.details = This mod has been manually blacklisted for causing crashes or other issues with this version of the game. Do not use it.
|
||||||
mod.missingdependencies.details = This mod is missing dependencies: {0}
|
mod.missingdependencies.details = This mod is missing dependencies: {0}
|
||||||
mod.erroredcontent.details = This game caused errors when loading. Ask the mod author to fix them.
|
mod.erroredcontent.details = This game caused errors when loading. Ask the mod author to fix them.
|
||||||
|
mod.requiresversion = Requires game version: [red]{0}
|
||||||
mod.errors = Terjadi kesalahan saat memuat konten.
|
mod.errors = Terjadi kesalahan saat memuat konten.
|
||||||
mod.noerrorplay = [scarlet]Anda memiliki mod dengan suatu kesalahan.[] Nonaktifkan mod yang bersangkutan atau perbaiki kesalahan tersebut sebelum bermain.
|
mod.noerrorplay = [scarlet]Anda memiliki mod dengan suatu kesalahan.[] Nonaktifkan mod yang bersangkutan atau perbaiki kesalahan tersebut sebelum bermain.
|
||||||
mod.nowdisabled = [scarlet]Mod '{0}' tidak memiliki ketergantungan:[accent] {1}\n[lightgray]Mod ini harus diunduh terlebih dahulu.\nMod ini akan dinonaktifkan secara otomatis.
|
mod.nowdisabled = [scarlet]Mod '{0}' tidak memiliki ketergantungan:[accent] {1}\n[lightgray]Mod ini harus diunduh terlebih dahulu.\nMod ini akan dinonaktifkan secara otomatis.
|
||||||
@@ -287,6 +288,7 @@ server.invalidport = Nomor port tidak sah!
|
|||||||
server.error = [crimson]Terjadi kesalahan saat menghosting server: [accent]{0}
|
server.error = [crimson]Terjadi kesalahan saat menghosting server: [accent]{0}
|
||||||
save.new = Simpanan Baru
|
save.new = Simpanan Baru
|
||||||
save.overwrite = Anda yakin ingin menindih \ntempat simpanan ini?
|
save.overwrite = Anda yakin ingin menindih \ntempat simpanan ini?
|
||||||
|
save.nocampaign = Individual save files from the campaign cannot be imported.
|
||||||
overwrite = Tindih
|
overwrite = Tindih
|
||||||
save.none = Tidak ada simpanan!
|
save.none = Tidak ada simpanan!
|
||||||
savefail = Gagal menyimpan permainan!
|
savefail = Gagal menyimpan permainan!
|
||||||
@@ -354,6 +356,8 @@ pausebuilding = [accent][[{0}][] untuk jeda membangun
|
|||||||
resumebuilding = [scarlet][[{0}][] untuk lanjut membangun
|
resumebuilding = [scarlet][[{0}][] untuk lanjut membangun
|
||||||
enablebuilding = [scarlet][[{0}][] untuk mulai membangun
|
enablebuilding = [scarlet][[{0}][] untuk mulai membangun
|
||||||
showui = UI disembunyikan.\nTekan [accent][[{0}][] untuk menampilkan UI.
|
showui = UI disembunyikan.\nTekan [accent][[{0}][] untuk menampilkan UI.
|
||||||
|
commandmode.name = [accent]Command Mode
|
||||||
|
commandmode.nounits = [no units]
|
||||||
wave = [accent]Gelombang {0}
|
wave = [accent]Gelombang {0}
|
||||||
wave.cap = [accent]Gelombang {0}/{1}
|
wave.cap = [accent]Gelombang {0}/{1}
|
||||||
wave.waiting = [lightgray]Gelombang di {0}
|
wave.waiting = [lightgray]Gelombang di {0}
|
||||||
@@ -438,6 +442,7 @@ waves.max = unit maks
|
|||||||
waves.guardian = Penjaga
|
waves.guardian = Penjaga
|
||||||
waves.preview = Pratinjau
|
waves.preview = Pratinjau
|
||||||
waves.edit = Sunting...
|
waves.edit = Sunting...
|
||||||
|
waves.random = Random
|
||||||
waves.copy = Salin ke Papan klip
|
waves.copy = Salin ke Papan klip
|
||||||
waves.load = Tempel dari Papan klip
|
waves.load = Tempel dari Papan klip
|
||||||
waves.invalid = Gelombang tidak valid di papan klip.
|
waves.invalid = Gelombang tidak valid di papan klip.
|
||||||
@@ -1208,6 +1213,7 @@ rules.unitbuildspeedmultiplier = Penggandaan Kecepatan Munculnya Unit
|
|||||||
rules.unitcostmultiplier = Unit Cost Multiplier
|
rules.unitcostmultiplier = Unit Cost Multiplier
|
||||||
rules.unithealthmultiplier = Penggandaan Darah Unit
|
rules.unithealthmultiplier = Penggandaan Darah Unit
|
||||||
rules.unitdamagemultiplier = Penggandaan Kekuatan Unit
|
rules.unitdamagemultiplier = Penggandaan Kekuatan Unit
|
||||||
|
rules.unitcrashdamagemultiplier = Unit Crash Damage Multiplier
|
||||||
rules.solarmultiplier = Penggandaan Tenaga Surya
|
rules.solarmultiplier = Penggandaan Tenaga Surya
|
||||||
rules.unitcapvariable = Inti Memengaruhi Batas Unit
|
rules.unitcapvariable = Inti Memengaruhi Batas Unit
|
||||||
rules.unitcap = Batas Unit Dasar
|
rules.unitcap = Batas Unit Dasar
|
||||||
|
|||||||
@@ -152,6 +152,7 @@ mod.outdatedv7.details = This mod is incompatible with the latest version of the
|
|||||||
mod.blacklisted.details = This mod has been manually blacklisted for causing crashes or other issues with this version of the game. Do not use it.
|
mod.blacklisted.details = This mod has been manually blacklisted for causing crashes or other issues with this version of the game. Do not use it.
|
||||||
mod.missingdependencies.details = This mod is missing dependencies: {0}
|
mod.missingdependencies.details = This mod is missing dependencies: {0}
|
||||||
mod.erroredcontent.details = This game caused errors when loading. Ask the mod author to fix them.
|
mod.erroredcontent.details = This game caused errors when loading. Ask the mod author to fix them.
|
||||||
|
mod.requiresversion = Requires game version: [red]{0}
|
||||||
mod.errors = Si sono verificati degli errori durante il caricamento del contenuto.
|
mod.errors = Si sono verificati degli errori durante il caricamento del contenuto.
|
||||||
mod.noerrorplay = [scarlet]Sono presenti delle mod con errori.[] Puoi disabilitare le mod affette oppure sistemarle prima di giocare.
|
mod.noerrorplay = [scarlet]Sono presenti delle mod con errori.[] Puoi disabilitare le mod affette oppure sistemarle prima di giocare.
|
||||||
mod.nowdisabled = [scarlet]Alla mod '{0}' mancano delle dipendenze:[accent] {1}\n[lightgray]Queste mod devono essere scaricate prima.\nQuesta mod verrà disabilitata automaticamente.
|
mod.nowdisabled = [scarlet]Alla mod '{0}' mancano delle dipendenze:[accent] {1}\n[lightgray]Queste mod devono essere scaricate prima.\nQuesta mod verrà disabilitata automaticamente.
|
||||||
@@ -285,6 +286,7 @@ server.invalidport = Numero porta non valido!
|
|||||||
server.error = [scarlet]Errore nell'hosting del server.
|
server.error = [scarlet]Errore nell'hosting del server.
|
||||||
save.new = Nuovo Salvataggio
|
save.new = Nuovo Salvataggio
|
||||||
save.overwrite = Sei sicuro di voler sovrascrivere questo salvataggio?
|
save.overwrite = Sei sicuro di voler sovrascrivere questo salvataggio?
|
||||||
|
save.nocampaign = Individual save files from the campaign cannot be imported.
|
||||||
overwrite = Sovrascrivi
|
overwrite = Sovrascrivi
|
||||||
save.none = Nessun salvataggio trovato!
|
save.none = Nessun salvataggio trovato!
|
||||||
savefail = Salvataggio del gioco non riuscito!
|
savefail = Salvataggio del gioco non riuscito!
|
||||||
@@ -352,6 +354,8 @@ pausebuilding = [accent][[{0}][] per smettere di costruire
|
|||||||
resumebuilding = [scarlet][[{0}][] per riprendere a costruire
|
resumebuilding = [scarlet][[{0}][] per riprendere a costruire
|
||||||
enablebuilding = [scarlet][[{0}][] per abilitare la costruzione
|
enablebuilding = [scarlet][[{0}][] per abilitare la costruzione
|
||||||
showui = Interfaccia utente nascosta.\nPremere [accent][[{0}][] per mostrarla nuovamente.
|
showui = Interfaccia utente nascosta.\nPremere [accent][[{0}][] per mostrarla nuovamente.
|
||||||
|
commandmode.name = [accent]Command Mode
|
||||||
|
commandmode.nounits = [no units]
|
||||||
wave = [accent]Ondata {0}
|
wave = [accent]Ondata {0}
|
||||||
wave.cap = [accent]Ondata {0}/{1}
|
wave.cap = [accent]Ondata {0}/{1}
|
||||||
wave.waiting = [lightgray]Ondata tra {0}
|
wave.waiting = [lightgray]Ondata tra {0}
|
||||||
@@ -436,6 +440,7 @@ waves.max = numero massimo unità
|
|||||||
waves.guardian = Guardiano
|
waves.guardian = Guardiano
|
||||||
waves.preview = Anteprima
|
waves.preview = Anteprima
|
||||||
waves.edit = Modifica...
|
waves.edit = Modifica...
|
||||||
|
waves.random = Random
|
||||||
waves.copy = Copia negli Appunti
|
waves.copy = Copia negli Appunti
|
||||||
waves.load = Carica dagli Appunti
|
waves.load = Carica dagli Appunti
|
||||||
waves.invalid = Ondate dagli appunti non valide.
|
waves.invalid = Ondate dagli appunti non valide.
|
||||||
@@ -1194,6 +1199,7 @@ rules.unitbuildspeedmultiplier = Moltiplicatore Velocità Costruzione Unità
|
|||||||
rules.unitcostmultiplier = Unit Cost Multiplier
|
rules.unitcostmultiplier = Unit Cost Multiplier
|
||||||
rules.unithealthmultiplier = Moltiplicatore Vita Unità
|
rules.unithealthmultiplier = Moltiplicatore Vita Unità
|
||||||
rules.unitdamagemultiplier = Moltiplicatore Danno Unità
|
rules.unitdamagemultiplier = Moltiplicatore Danno Unità
|
||||||
|
rules.unitcrashdamagemultiplier = Unit Crash Damage Multiplier
|
||||||
rules.solarmultiplier = Moltiplicatore energia solare
|
rules.solarmultiplier = Moltiplicatore energia solare
|
||||||
rules.unitcapvariable = Cores Contribute To Unit Cap
|
rules.unitcapvariable = Cores Contribute To Unit Cap
|
||||||
rules.unitcap = Base Unit Cap
|
rules.unitcap = Base Unit Cap
|
||||||
|
|||||||
File diff suppressed because it is too large
Load Diff
@@ -154,6 +154,7 @@ mod.outdatedv7.details = 이 모드는 최신 버전의 게임과 호환되지
|
|||||||
mod.blacklisted.details = 이 모드는 이 버전의 게임에서 충돌 또는 기타 문제를 일으키는 것으로 인해 수동으로 블랙리스트에 올라와 있습니다. 사용하지 마세요.
|
mod.blacklisted.details = 이 모드는 이 버전의 게임에서 충돌 또는 기타 문제를 일으키는 것으로 인해 수동으로 블랙리스트에 올라와 있습니다. 사용하지 마세요.
|
||||||
mod.missingdependencies.details = 이 모드에는 종속성이 없음: {0}
|
mod.missingdependencies.details = 이 모드에는 종속성이 없음: {0}
|
||||||
mod.erroredcontent.details = 이 게임은 로딩하는 동안 오류가 발생했습니다. 모드 작성자에게 수정하도록 요청하세요.
|
mod.erroredcontent.details = 이 게임은 로딩하는 동안 오류가 발생했습니다. 모드 작성자에게 수정하도록 요청하세요.
|
||||||
|
mod.requiresversion = 필요한 게임 버전: [red]{0}
|
||||||
mod.errors = 콘텐츠를 불러오는 중에 오류가 발생함
|
mod.errors = 콘텐츠를 불러오는 중에 오류가 발생함
|
||||||
mod.noerrorplay = [scarlet]오류가 있는 모드가 있습니다.[] 영향을 받는 모드를 비활성화하거나 플레이하기 전에 오류를 수정하세요.
|
mod.noerrorplay = [scarlet]오류가 있는 모드가 있습니다.[] 영향을 받는 모드를 비활성화하거나 플레이하기 전에 오류를 수정하세요.
|
||||||
mod.nowdisabled = [scarlet]모드 '{0}'에 필요한 종속성이 없습니다:[accent] {1}\n[lightgray]이 모드를 먼저 내려받아야 합니다.\n이 모드는 자동으로 비활성화됩니다.
|
mod.nowdisabled = [scarlet]모드 '{0}'에 필요한 종속성이 없습니다:[accent] {1}\n[lightgray]이 모드를 먼저 내려받아야 합니다.\n이 모드는 자동으로 비활성화됩니다.
|
||||||
@@ -287,6 +288,7 @@ server.invalidport = 잘못된 포트 번호입니다!
|
|||||||
server.error = [scarlet]서버 호스팅 오류
|
server.error = [scarlet]서버 호스팅 오류
|
||||||
save.new = 새로 저장
|
save.new = 새로 저장
|
||||||
save.overwrite = 저장된 슬롯을 덮어쓰시겠습니까?
|
save.overwrite = 저장된 슬롯을 덮어쓰시겠습니까?
|
||||||
|
save.nocampaign = Individual save files from the campaign cannot be imported.
|
||||||
overwrite = 덮어쓰기
|
overwrite = 덮어쓰기
|
||||||
save.none = 저장된 파일을 찾을 수 없습니다!
|
save.none = 저장된 파일을 찾을 수 없습니다!
|
||||||
savefail = 게임을 저장하지 못했습니다!
|
savefail = 게임을 저장하지 못했습니다!
|
||||||
@@ -354,6 +356,8 @@ pausebuilding = [accent][[{0}][] 키를 눌러 건설을 일시중지
|
|||||||
resumebuilding = [scarlet][[{0}][] 키를 눌러 건설을 재개
|
resumebuilding = [scarlet][[{0}][] 키를 눌러 건설을 재개
|
||||||
enablebuilding = [scarlet][[{0}][] 키를 눌러 건설을 활성
|
enablebuilding = [scarlet][[{0}][] 키를 눌러 건설을 활성
|
||||||
showui = UI가 숨겨졌습니다. [accent][[{0}][] 키를 눌러 UI를 활성화하세요.
|
showui = UI가 숨겨졌습니다. [accent][[{0}][] 키를 눌러 UI를 활성화하세요.
|
||||||
|
commandmode.name = [accent]Command Mode
|
||||||
|
commandmode.nounits = [no units]
|
||||||
wave = [accent]{0}단계
|
wave = [accent]{0}단계
|
||||||
wave.cap = [accent]단계 {0}/{1}
|
wave.cap = [accent]단계 {0}/{1}
|
||||||
wave.waiting = 다음 단계까지[lightgray] {0}초
|
wave.waiting = 다음 단계까지[lightgray] {0}초
|
||||||
@@ -437,6 +441,7 @@ waves.max = 기까지
|
|||||||
waves.guardian = 수호자
|
waves.guardian = 수호자
|
||||||
waves.preview = 미리보기
|
waves.preview = 미리보기
|
||||||
waves.edit = 편집
|
waves.edit = 편집
|
||||||
|
waves.random = Random
|
||||||
waves.copy = 클립보드로 복사하기
|
waves.copy = 클립보드로 복사하기
|
||||||
waves.load = 클립보드에서 불러오기
|
waves.load = 클립보드에서 불러오기
|
||||||
waves.invalid = 클립보드에 잘못된 단계 데이터가 있습니다.
|
waves.invalid = 클립보드에 잘못된 단계 데이터가 있습니다.
|
||||||
@@ -787,13 +792,13 @@ sector.basin.description = {임시}\n\n현재의 마지막 지역. 이 지역은
|
|||||||
sector.marsh.description = 이 지역은 아르키사이트가 풍부하지만 분출구의 수는 한정적입니다.\n[accent]화학적 연소실[]을 건설하여 전력을 생산하시오.
|
sector.marsh.description = 이 지역은 아르키사이트가 풍부하지만 분출구의 수는 한정적입니다.\n[accent]화학적 연소실[]을 건설하여 전력을 생산하시오.
|
||||||
sector.peaks.description = 이 지역의 산악 지형은 대부분의 기체를 무용지물로 만들었습니다. 비행 기체가 필요합니다.\n적의 방공망에 유의하십시오. 일부 시설은 지원 건물을 공격하여 무력화시킬 수 있습니다.
|
sector.peaks.description = 이 지역의 산악 지형은 대부분의 기체를 무용지물로 만들었습니다. 비행 기체가 필요합니다.\n적의 방공망에 유의하십시오. 일부 시설은 지원 건물을 공격하여 무력화시킬 수 있습니다.
|
||||||
sector.ravine.description = 적의 중요한 이동 경로이긴 하지만, 해당 구역에선 적의 코어가 감지되지 않았습니다. 다양한 적군을 맞닥뜨릴 것으로 예상됩니다.\n[accent]설금[]을 생산하십시오. 포탑 [accent]어플릭트[]를 건설하십시오.
|
sector.ravine.description = 적의 중요한 이동 경로이긴 하지만, 해당 구역에선 적의 코어가 감지되지 않았습니다. 다양한 적군을 맞닥뜨릴 것으로 예상됩니다.\n[accent]설금[]을 생산하십시오. 포탑 [accent]어플릭트[]를 건설하십시오.
|
||||||
sector.caldera-erekir.description = The resources detected in this sector are scattered across several islands.\nResearch and deploy drone-based transportation.
|
sector.caldera-erekir.description = 이 지역에서 탐지된 자원은 여러 섬에 분산되어 있습니다 .\n드론을 기반으로 한 운송수단을 연구하고 활용하시오.
|
||||||
sector.stronghold.description = The large enemy encampment in this sector guards significant deposits of [accent]thorium[].\nUse it to develop higher tier units and turrets.
|
sector.stronghold.description = 이 지역의 대규모 적 야영지에는 적들이 지키고 있는 상당한 양의 [accent]토륨[] 매장지가 있습니다.\n더 높은 등급의 기체와 포탑을 연구할 때 사용합니다.
|
||||||
sector.crevice.description = The enemy will send fierce attack forces to take out your base in this sector.\nDeveloping [accent]carbide[] and the [accent]Pyrolysis Generator[] may be imperative for survival.
|
sector.crevice.description = 적들은 이 지역에서 당신의 기지를 제거하기 위해 맹렬한 공격부대를 보낼 것입니다.\n[accent]탄화물[]과 [accent]열분해 발전기[]를 연구하는 것은 살아남기 위해 반드시 필요합니다.
|
||||||
sector.siege.description = This sector features two parallel canyons that will force a two-pronged attack.\nResearch [accent]cyanogen[] to gain the capability to create even stronger tank units.\nCaution: enemy long-range missiles have been detected. The missiles may be shot down before impact.
|
sector.siege.description = 이 지역은 두 갈래의 공격을 강요하는 두 개의 평행 협곡이 특징입니다.\n더 강력한 전차 기체를 만들기 위한 능력을 얻기 위해 [accent]시아노겐[]을 연구하시오.\n주의: 적의 장거리 발사체가 감지되었습니다. 미사일은 충돌 전에 격추될 수 있습니다.
|
||||||
sector.crossroads.description = The enemy bases in this sector have been established in varying terrain. Research different units to adapt.\nAdditionally, some bases are protected by shields. Figure out how they are powered.
|
sector.crossroads.description = 이 지역의 적 기지는 다양한 지형에 설치되어 있습니다. 적응하기 위해 다양한 기체를 연구하시오.\n또한, 일부 기지는 보호막으로 보호되고 있습니다. 그들이 어떻게 전력을 공급받는지 알아보시오.
|
||||||
sector.karst.description = This sector is rich in resources, but will be attacked by the enemy once a new core lands.\nTake advantage of the resources and research [accent]phase fabric[].
|
sector.karst.description = 이 지역은 자원이 풍부하지만, 새로운 코어가 착륙하면 적에게 공격을 받을 것입니다.\n자원의 이점을 활용하고 [accent]메타[]를 연구하시오.
|
||||||
sector.origin.description = The final sector with a significant enemy presence.\nNo probable research opportunities remain - focus solely on destroying all enemy cores.
|
sector.origin.description = 상당한 적이 존재하는 마지막 지역입니다.\n가능한 연구 기회가 남아 있지 않습니다. 오직 모든 적의 코어를 파괴하는 데만 집중하십시오.
|
||||||
|
|
||||||
status.burning.name = 발화
|
status.burning.name = 발화
|
||||||
status.freezing.name = 빙결
|
status.freezing.name = 빙결
|
||||||
@@ -1200,6 +1205,7 @@ rules.unitbuildspeedmultiplier = 기체 생산속도 배수
|
|||||||
rules.unitcostmultiplier = 기체 비용 배수
|
rules.unitcostmultiplier = 기체 비용 배수
|
||||||
rules.unithealthmultiplier = 기체 체력 배수
|
rules.unithealthmultiplier = 기체 체력 배수
|
||||||
rules.unitdamagemultiplier = 기체 피해량 배수
|
rules.unitdamagemultiplier = 기체 피해량 배수
|
||||||
|
rules.unitcrashdamagemultiplier = Unit Crash Damage Multiplier
|
||||||
rules.solarmultiplier = 태양광 전력 배수
|
rules.solarmultiplier = 태양광 전력 배수
|
||||||
rules.unitcapvariable = 코어 기체수 제한 추가
|
rules.unitcapvariable = 코어 기체수 제한 추가
|
||||||
rules.unitcap = 기본 기체 제한
|
rules.unitcap = 기본 기체 제한
|
||||||
@@ -1451,7 +1457,7 @@ block.sorter.name = 필터
|
|||||||
block.inverted-sorter.name = 반전 필터
|
block.inverted-sorter.name = 반전 필터
|
||||||
block.message.name = 메모 블록
|
block.message.name = 메모 블록
|
||||||
block.reinforced-message.name = 보강된 메모 블록
|
block.reinforced-message.name = 보강된 메모 블록
|
||||||
block.world-message.name = 세계 메모 블록
|
block.world-message.name = 월드 메모 블록
|
||||||
block.illuminator.name = 조명
|
block.illuminator.name = 조명
|
||||||
block.overflow-gate.name = 포화 필터
|
block.overflow-gate.name = 포화 필터
|
||||||
block.underflow-gate.name = 불포화 필터
|
block.underflow-gate.name = 불포화 필터
|
||||||
@@ -1705,7 +1711,7 @@ block.payload-mass-driver.name = 화물 매스 드라이버
|
|||||||
block.small-deconstructor.name = 소형 화물 분해기
|
block.small-deconstructor.name = 소형 화물 분해기
|
||||||
block.canvas.name = 도화지
|
block.canvas.name = 도화지
|
||||||
block.world-processor.name = 월드 프로세서
|
block.world-processor.name = 월드 프로세서
|
||||||
block.world-cell.name = 세계 셀
|
block.world-cell.name = 월드 셀
|
||||||
block.tank-fabricator.name = 전차 조립기
|
block.tank-fabricator.name = 전차 조립기
|
||||||
block.mech-fabricator.name = 기계 조립기
|
block.mech-fabricator.name = 기계 조립기
|
||||||
block.ship-fabricator.name = 함선 조립기
|
block.ship-fabricator.name = 함선 조립기
|
||||||
@@ -1769,8 +1775,8 @@ hint.coreUpgrade = 코어는 [accent]상위 코어를 위에 설치[]하여 업
|
|||||||
hint.presetLaunch = [accent]얼어붙은 숲[]과 같은 회색[accent]캠페인 지역[]은 어디에서나 출격해서 올 수 있습니다. 주변 지역을 점령하지 않아도 됩니다.\n\n이와 같은 [accent]네임드 지역[]들은 [accent]선택적[]입니다.
|
hint.presetLaunch = [accent]얼어붙은 숲[]과 같은 회색[accent]캠페인 지역[]은 어디에서나 출격해서 올 수 있습니다. 주변 지역을 점령하지 않아도 됩니다.\n\n이와 같은 [accent]네임드 지역[]들은 [accent]선택적[]입니다.
|
||||||
hint.presetDifficulty = 이 지역은 [scarlet]위험도가 높은[] 지역입니다.\n적절한 기술과 준비 없이 이런 지역들로 출격하는건 [accent]추천하지 않습니다[].
|
hint.presetDifficulty = 이 지역은 [scarlet]위험도가 높은[] 지역입니다.\n적절한 기술과 준비 없이 이런 지역들로 출격하는건 [accent]추천하지 않습니다[].
|
||||||
hint.coreIncinerate = 코어가 자원으로 가득 찬 후에 받는 모든 자원들은 [accent]소각[]될 것입니다.
|
hint.coreIncinerate = 코어가 자원으로 가득 찬 후에 받는 모든 자원들은 [accent]소각[]될 것입니다.
|
||||||
hint.factoryControl = 기체 공장의 [accent]출력 방향[]을 설정하려면, 명령 모드에서 공장 블록을 클릭한 다음, 마우스 오른쪽 버튼으로 위치를 지정합니다.\n생산된 유닛은 자동으로 그곳으로 이동합니다.
|
hint.factoryControl = 기체 공장의 [accent]출력 위치[]를 설정하려면, 명령 모드에서 공장 블록을 클릭한 다음, 마우스 오른쪽 버튼으로 위치를 지정합니다.\n생산된 유닛은 자동으로 그곳으로 이동합니다.
|
||||||
hint.factoryControl.mobile = 기체 공장의 [accent]출력 방향[]을 설정하려면, 명령 모드에서 공장 블록을 클릭한 다음, 눌러서 위치를 지정합니다.\n생산된 유닛은 자동으로 그곳으로 이동합니다.
|
hint.factoryControl.mobile = 기체 공장의 [accent]출력 위치[]를 설정하려면, 명령 모드에서 공장 블록을 클릭한 다음, 눌러서 위치를 지정합니다.\n생산된 유닛은 자동으로 그곳으로 이동합니다.
|
||||||
gz.mine = 주변 바닥에 있는 \uf8c4 [accent]구리 광석[]으로 이동하고, 광석을 눌러서 채굴을 시작하세요.
|
gz.mine = 주변 바닥에 있는 \uf8c4 [accent]구리 광석[]으로 이동하고, 광석을 눌러서 채굴을 시작하세요.
|
||||||
gz.mine.mobile = 주변 바닥에 있는 \uf8c4 [accent]구리 광석[]으로 이동하고, 광석을 눌러서 채굴을 시작하세요.
|
gz.mine.mobile = 주변 바닥에 있는 \uf8c4 [accent]구리 광석[]으로 이동하고, 광석을 눌러서 채굴을 시작하세요.
|
||||||
gz.research = \ue875 연구 기록을 여세요.\n\uf870 [accent]기계식 드릴[]을 연구하고, 그 후 오른쪽 아래에 있는 메뉴에서 선택하세요.\n구리조각 위를 눌러서 배치합니다.
|
gz.research = \ue875 연구 기록을 여세요.\n\uf870 [accent]기계식 드릴[]을 연구하고, 그 후 오른쪽 아래에 있는 메뉴에서 선택하세요.\n구리조각 위를 눌러서 배치합니다.
|
||||||
|
|||||||
@@ -151,6 +151,7 @@ mod.outdatedv7.details = This mod is incompatible with the latest version of the
|
|||||||
mod.blacklisted.details = This mod has been manually blacklisted for causing crashes or other issues with this version of the game. Do not use it.
|
mod.blacklisted.details = This mod has been manually blacklisted for causing crashes or other issues with this version of the game. Do not use it.
|
||||||
mod.missingdependencies.details = This mod is missing dependencies: {0}
|
mod.missingdependencies.details = This mod is missing dependencies: {0}
|
||||||
mod.erroredcontent.details = This game caused errors when loading. Ask the mod author to fix them.
|
mod.erroredcontent.details = This game caused errors when loading. Ask the mod author to fix them.
|
||||||
|
mod.requiresversion = Requires game version: [red]{0}
|
||||||
mod.errors = Įvyko klaida kraunant turinį.
|
mod.errors = Įvyko klaida kraunant turinį.
|
||||||
mod.noerrorplay = [scarlet]Turite modifikacijas su klaidomis.[] Išjunkite modifikacijas su klaidomis arba patasykite jas prieš žaidžiant.
|
mod.noerrorplay = [scarlet]Turite modifikacijas su klaidomis.[] Išjunkite modifikacijas su klaidomis arba patasykite jas prieš žaidžiant.
|
||||||
mod.nowdisabled = [scarlet]Modifikacijai '{0}' trūksta priklausomybių:[accent] {1}\n[lightgray] Šios modifikacijos turi būti atsisiųstos.\nŠi modifikacija bus automatiškai išjungta.
|
mod.nowdisabled = [scarlet]Modifikacijai '{0}' trūksta priklausomybių:[accent] {1}\n[lightgray] Šios modifikacijos turi būti atsisiųstos.\nŠi modifikacija bus automatiškai išjungta.
|
||||||
@@ -283,6 +284,7 @@ server.invalidport = Negaliams prievado numeris!
|
|||||||
server.error = [crimson]Įvyko klaida.
|
server.error = [crimson]Įvyko klaida.
|
||||||
save.new = Naujas Išsaugojimas
|
save.new = Naujas Išsaugojimas
|
||||||
save.overwrite = Ar esate tikras, jog\n norite perrašyti šį elementą?
|
save.overwrite = Ar esate tikras, jog\n norite perrašyti šį elementą?
|
||||||
|
save.nocampaign = Individual save files from the campaign cannot be imported.
|
||||||
overwrite = Perrašyti
|
overwrite = Perrašyti
|
||||||
save.none = Nerasta jokių išsaugojimų!
|
save.none = Nerasta jokių išsaugojimų!
|
||||||
savefail = Nepavyko išsaugoti žaidimo!
|
savefail = Nepavyko išsaugoti žaidimo!
|
||||||
@@ -350,6 +352,8 @@ pausebuilding = [accent][[{0}][] statymo sustabdymui
|
|||||||
resumebuilding = [scarlet][[{0}][] statymo pratęsimui
|
resumebuilding = [scarlet][[{0}][] statymo pratęsimui
|
||||||
enablebuilding = [scarlet][[{0}][] to enable building
|
enablebuilding = [scarlet][[{0}][] to enable building
|
||||||
showui = UI hidden.\nPress [accent][[{0}][] to show UI.
|
showui = UI hidden.\nPress [accent][[{0}][] to show UI.
|
||||||
|
commandmode.name = [accent]Command Mode
|
||||||
|
commandmode.nounits = [no units]
|
||||||
wave = [accent]Banga {0}
|
wave = [accent]Banga {0}
|
||||||
wave.cap = [accent]Wave {0}/{1}
|
wave.cap = [accent]Wave {0}/{1}
|
||||||
wave.waiting = [lightgray]Banga po {0}
|
wave.waiting = [lightgray]Banga po {0}
|
||||||
@@ -434,6 +438,7 @@ waves.max = max units
|
|||||||
waves.guardian = Guardian
|
waves.guardian = Guardian
|
||||||
waves.preview = Apžiūra
|
waves.preview = Apžiūra
|
||||||
waves.edit = Redaguoti...
|
waves.edit = Redaguoti...
|
||||||
|
waves.random = Random
|
||||||
waves.copy = Kopijuoti į iškarpinę
|
waves.copy = Kopijuoti į iškarpinę
|
||||||
waves.load = Užkrauti iš iškarpinės
|
waves.load = Užkrauti iš iškarpinės
|
||||||
waves.invalid = Klaidingos bangos iš iškarpinės.
|
waves.invalid = Klaidingos bangos iš iškarpinės.
|
||||||
@@ -1188,6 +1193,7 @@ rules.unitbuildspeedmultiplier = Vienetų Gamybos Greičio Daugiklis
|
|||||||
rules.unitcostmultiplier = Unit Cost Multiplier
|
rules.unitcostmultiplier = Unit Cost Multiplier
|
||||||
rules.unithealthmultiplier = Vienetų Gyvybių Daugiklis
|
rules.unithealthmultiplier = Vienetų Gyvybių Daugiklis
|
||||||
rules.unitdamagemultiplier = Vienetų Žalos Daugiklis
|
rules.unitdamagemultiplier = Vienetų Žalos Daugiklis
|
||||||
|
rules.unitcrashdamagemultiplier = Unit Crash Damage Multiplier
|
||||||
rules.solarmultiplier = Solar Power Multiplier
|
rules.solarmultiplier = Solar Power Multiplier
|
||||||
rules.unitcapvariable = Cores Contribute To Unit Cap
|
rules.unitcapvariable = Cores Contribute To Unit Cap
|
||||||
rules.unitcap = Base Unit Cap
|
rules.unitcap = Base Unit Cap
|
||||||
|
|||||||
File diff suppressed because it is too large
Load Diff
@@ -151,6 +151,7 @@ mod.outdatedv7.details = This mod is incompatible with the latest version of the
|
|||||||
mod.blacklisted.details = This mod has been manually blacklisted for causing crashes or other issues with this version of the game. Do not use it.
|
mod.blacklisted.details = This mod has been manually blacklisted for causing crashes or other issues with this version of the game. Do not use it.
|
||||||
mod.missingdependencies.details = This mod is missing dependencies: {0}
|
mod.missingdependencies.details = This mod is missing dependencies: {0}
|
||||||
mod.erroredcontent.details = This game caused errors when loading. Ask the mod author to fix them.
|
mod.erroredcontent.details = This game caused errors when loading. Ask the mod author to fix them.
|
||||||
|
mod.requiresversion = Requires game version: [red]{0}
|
||||||
mod.errors = Errors have occurred loading content.
|
mod.errors = Errors have occurred loading content.
|
||||||
mod.noerrorplay = [scarlet]You have mods with errors.[] Either disable the affected mods or fix the errors before playing.
|
mod.noerrorplay = [scarlet]You have mods with errors.[] Either disable the affected mods or fix the errors before playing.
|
||||||
mod.nowdisabled = [scarlet]De volgende vereisten ontbreken voor mod '{0}':[accent] {1}\n[lightgray]Deze mods moeten eerst gedownload worden.\nDeze mod wordt automatisch uitgeschakeld.
|
mod.nowdisabled = [scarlet]De volgende vereisten ontbreken voor mod '{0}':[accent] {1}\n[lightgray]Deze mods moeten eerst gedownload worden.\nDeze mod wordt automatisch uitgeschakeld.
|
||||||
@@ -283,6 +284,7 @@ server.invalidport = Ongeldige poort!
|
|||||||
server.error = [crimson]Fout bij het openen van de server: [accent]{0}
|
server.error = [crimson]Fout bij het openen van de server: [accent]{0}
|
||||||
save.new = Nieuwe save
|
save.new = Nieuwe save
|
||||||
save.overwrite = Ben je zeker dat je deze save\nwilt overschrijven?
|
save.overwrite = Ben je zeker dat je deze save\nwilt overschrijven?
|
||||||
|
save.nocampaign = Individual save files from the campaign cannot be imported.
|
||||||
overwrite = Vervang
|
overwrite = Vervang
|
||||||
save.none = Geen saves gevonden!
|
save.none = Geen saves gevonden!
|
||||||
savefail = Opslaan mislukt!
|
savefail = Opslaan mislukt!
|
||||||
@@ -350,6 +352,8 @@ pausebuilding = [accent][[{0}][] om het bouwen te pauseren
|
|||||||
resumebuilding = [scarlet][[{0}][] om verder te gaan met bouwen
|
resumebuilding = [scarlet][[{0}][] om verder te gaan met bouwen
|
||||||
enablebuilding = [scarlet][[{0}][] to enable building
|
enablebuilding = [scarlet][[{0}][] to enable building
|
||||||
showui = UI hidden.\nPress [accent][[{0}][] to show UI.
|
showui = UI hidden.\nPress [accent][[{0}][] to show UI.
|
||||||
|
commandmode.name = [accent]Command Mode
|
||||||
|
commandmode.nounits = [no units]
|
||||||
wave = [accent]Golf {0}
|
wave = [accent]Golf {0}
|
||||||
wave.cap = [accent]Wave {0}/{1}
|
wave.cap = [accent]Wave {0}/{1}
|
||||||
wave.waiting = [lightgray]Golf in {0}
|
wave.waiting = [lightgray]Golf in {0}
|
||||||
@@ -434,6 +438,7 @@ waves.max = max units
|
|||||||
waves.guardian = Guardian
|
waves.guardian = Guardian
|
||||||
waves.preview = Preview
|
waves.preview = Preview
|
||||||
waves.edit = Edit...
|
waves.edit = Edit...
|
||||||
|
waves.random = Random
|
||||||
waves.copy = Copy to Clipboard
|
waves.copy = Copy to Clipboard
|
||||||
waves.load = Load from Clipboard
|
waves.load = Load from Clipboard
|
||||||
waves.invalid = Invalid waves in clipboard.
|
waves.invalid = Invalid waves in clipboard.
|
||||||
@@ -1188,6 +1193,7 @@ rules.unitbuildspeedmultiplier = Unit Creation Speed Multiplier
|
|||||||
rules.unitcostmultiplier = Unit Cost Multiplier
|
rules.unitcostmultiplier = Unit Cost Multiplier
|
||||||
rules.unithealthmultiplier = Unit Health Multiplier
|
rules.unithealthmultiplier = Unit Health Multiplier
|
||||||
rules.unitdamagemultiplier = Unit Damage Multiplier
|
rules.unitdamagemultiplier = Unit Damage Multiplier
|
||||||
|
rules.unitcrashdamagemultiplier = Unit Crash Damage Multiplier
|
||||||
rules.solarmultiplier = Solar Power Multiplier
|
rules.solarmultiplier = Solar Power Multiplier
|
||||||
rules.unitcapvariable = Cores Contribute To Unit Cap
|
rules.unitcapvariable = Cores Contribute To Unit Cap
|
||||||
rules.unitcap = Base Unit Cap
|
rules.unitcap = Base Unit Cap
|
||||||
|
|||||||
@@ -154,6 +154,7 @@ mod.outdatedv7.details = Ten mod jest niekompatybilny z najnowszą wersją gry.
|
|||||||
mod.blacklisted.details = Ten mod został ręczenie przeniesiony na czarną listę, ponieważ powodował wyłączenia gry i inne problemy na tej wersji. Nie używaj go.
|
mod.blacklisted.details = Ten mod został ręczenie przeniesiony na czarną listę, ponieważ powodował wyłączenia gry i inne problemy na tej wersji. Nie używaj go.
|
||||||
mod.missingdependencies.details = W tym modzie brakuje zależnośći: {0}
|
mod.missingdependencies.details = W tym modzie brakuje zależnośći: {0}
|
||||||
mod.erroredcontent.details = Ten mod spowodował błędy przy uruchomianu. Poproś autora moda o ich naprawienie.
|
mod.erroredcontent.details = Ten mod spowodował błędy przy uruchomianu. Poproś autora moda o ich naprawienie.
|
||||||
|
mod.requiresversion = Requires game version: [red]{0}
|
||||||
mod.errors = Wystąpił błąd podczas ładowania treści.
|
mod.errors = Wystąpił błąd podczas ładowania treści.
|
||||||
mod.noerrorplay = [scarlet]Twoje mody zawierają błędy.[] Wyłącz je lub napraw błędy przed rozpoczęciem gry.
|
mod.noerrorplay = [scarlet]Twoje mody zawierają błędy.[] Wyłącz je lub napraw błędy przed rozpoczęciem gry.
|
||||||
mod.nowdisabled = [scarlet]Brakuje zależności dla moda '{0}':[accent] {1}\n[lightgray]Najpierw trzeba ściągnąć te mody.\nMod zostanie automatycznie wyłączony.
|
mod.nowdisabled = [scarlet]Brakuje zależności dla moda '{0}':[accent] {1}\n[lightgray]Najpierw trzeba ściągnąć te mody.\nMod zostanie automatycznie wyłączony.
|
||||||
@@ -287,6 +288,7 @@ server.invalidport = Nieprawidłowy numer portu.
|
|||||||
server.error = [crimson]Błąd hostowania serwera: [accent]{0}
|
server.error = [crimson]Błąd hostowania serwera: [accent]{0}
|
||||||
save.new = Nowy zapis
|
save.new = Nowy zapis
|
||||||
save.overwrite = Czy na pewno chcesz nadpisać zapis gry?
|
save.overwrite = Czy na pewno chcesz nadpisać zapis gry?
|
||||||
|
save.nocampaign = Individual save files from the campaign cannot be imported.
|
||||||
overwrite = Nadpisz
|
overwrite = Nadpisz
|
||||||
save.none = Nie znaleziono zapisów gry!
|
save.none = Nie znaleziono zapisów gry!
|
||||||
savefail = Nie udało się zapisać gry!
|
savefail = Nie udało się zapisać gry!
|
||||||
@@ -354,6 +356,8 @@ pausebuilding = [accent][[{0}][] by wstrzymać budowę
|
|||||||
resumebuilding = [scarlet][[{0}][] by kontynuować budowę
|
resumebuilding = [scarlet][[{0}][] by kontynuować budowę
|
||||||
enablebuilding = [scarlet][[{0}][] wznów budowę
|
enablebuilding = [scarlet][[{0}][] wznów budowę
|
||||||
showui = Interfejs ukryty.\nNaciśnij [accent][[{0}][] by go pokazać.
|
showui = Interfejs ukryty.\nNaciśnij [accent][[{0}][] by go pokazać.
|
||||||
|
commandmode.name = [accent]Command Mode
|
||||||
|
commandmode.nounits = [no units]
|
||||||
wave = [accent]Fala {0}
|
wave = [accent]Fala {0}
|
||||||
wave.cap = [accent]Fala {0}/{1}
|
wave.cap = [accent]Fala {0}/{1}
|
||||||
wave.waiting = [lightgray]Fala za {0}
|
wave.waiting = [lightgray]Fala za {0}
|
||||||
@@ -438,6 +442,7 @@ waves.max = maks. jednostek
|
|||||||
waves.guardian = Strażnik
|
waves.guardian = Strażnik
|
||||||
waves.preview = Podgląd
|
waves.preview = Podgląd
|
||||||
waves.edit = Edytuj...
|
waves.edit = Edytuj...
|
||||||
|
waves.random = Random
|
||||||
waves.copy = Kopiuj Do Schowka
|
waves.copy = Kopiuj Do Schowka
|
||||||
waves.load = Załaduj Ze Schowka
|
waves.load = Załaduj Ze Schowka
|
||||||
waves.invalid = Nieprawidłowe fale w schowku.
|
waves.invalid = Nieprawidłowe fale w schowku.
|
||||||
@@ -1198,6 +1203,7 @@ rules.unitbuildspeedmultiplier = Mnożnik Prędkości Tworzenia Jednostek
|
|||||||
rules.unitcostmultiplier = Unit Cost Multiplier
|
rules.unitcostmultiplier = Unit Cost Multiplier
|
||||||
rules.unithealthmultiplier = Mnożnik Życia Jednostek
|
rules.unithealthmultiplier = Mnożnik Życia Jednostek
|
||||||
rules.unitdamagemultiplier = Mnożnik Obrażeń jednostek
|
rules.unitdamagemultiplier = Mnożnik Obrażeń jednostek
|
||||||
|
rules.unitcrashdamagemultiplier = Unit Crash Damage Multiplier
|
||||||
rules.solarmultiplier = Solar Power Multiplier
|
rules.solarmultiplier = Solar Power Multiplier
|
||||||
rules.unitcapvariable = Rdzenie mają wpływ na limit jednostek
|
rules.unitcapvariable = Rdzenie mają wpływ na limit jednostek
|
||||||
rules.unitcap = Podstawowy limit jednostek
|
rules.unitcap = Podstawowy limit jednostek
|
||||||
@@ -1522,7 +1528,7 @@ block.rotary-pump.name = Wirowa Pompa
|
|||||||
block.thorium-reactor.name = Reaktor Torowy
|
block.thorium-reactor.name = Reaktor Torowy
|
||||||
block.mass-driver.name = Katapulta Masy
|
block.mass-driver.name = Katapulta Masy
|
||||||
block.blast-drill.name = Wybuchowe Wiertło
|
block.blast-drill.name = Wybuchowe Wiertło
|
||||||
block.impulse-pump.name = Impulsywna Pompa
|
block.impulse-pump.name = Impulsowa Pompa
|
||||||
block.thermal-generator.name = Generator Termalny
|
block.thermal-generator.name = Generator Termalny
|
||||||
block.surge-smelter.name = Piec Mieszający
|
block.surge-smelter.name = Piec Mieszający
|
||||||
block.mender.name = Naprawiacz
|
block.mender.name = Naprawiacz
|
||||||
|
|||||||
@@ -154,6 +154,7 @@ mod.outdatedv7.details = This mod is incompatible with the latest version of the
|
|||||||
mod.blacklisted.details = This mod has been manually blacklisted for causing crashes or other issues with this version of the game. Do not use it.
|
mod.blacklisted.details = This mod has been manually blacklisted for causing crashes or other issues with this version of the game. Do not use it.
|
||||||
mod.missingdependencies.details = This mod is missing dependencies: {0}
|
mod.missingdependencies.details = This mod is missing dependencies: {0}
|
||||||
mod.erroredcontent.details = This game caused errors when loading. Ask the mod author to fix them.
|
mod.erroredcontent.details = This game caused errors when loading. Ask the mod author to fix them.
|
||||||
|
mod.requiresversion = Requires game version: [red]{0}
|
||||||
mod.errors = Ocorreram erros ao carregar o conteúdo.
|
mod.errors = Ocorreram erros ao carregar o conteúdo.
|
||||||
mod.noerrorplay = [scarlet]Você tem mods com erros.[] Desative os mods afetados ou conserte os erros antes de jogar.
|
mod.noerrorplay = [scarlet]Você tem mods com erros.[] Desative os mods afetados ou conserte os erros antes de jogar.
|
||||||
mod.nowdisabled = [scarlet]O Mod '{0}' está com dependências ausentes:[accent] {1}\n[lightgray]Esses Mods precisam ser baixados primeiro.\nEsse Mod será desativado automaticamente.
|
mod.nowdisabled = [scarlet]O Mod '{0}' está com dependências ausentes:[accent] {1}\n[lightgray]Esses Mods precisam ser baixados primeiro.\nEsse Mod será desativado automaticamente.
|
||||||
@@ -287,6 +288,7 @@ server.invalidport = Numero de port inválido!
|
|||||||
server.error = [crimson]Erro ao hospedar o servidor: [accent]{0}
|
server.error = [crimson]Erro ao hospedar o servidor: [accent]{0}
|
||||||
save.new = Novo save
|
save.new = Novo save
|
||||||
save.overwrite = Você tem certeza que quer sobrescrever este save?
|
save.overwrite = Você tem certeza que quer sobrescrever este save?
|
||||||
|
save.nocampaign = Individual save files from the campaign cannot be imported.
|
||||||
overwrite = Sobrescrever
|
overwrite = Sobrescrever
|
||||||
save.none = Nenhum save encontrado!
|
save.none = Nenhum save encontrado!
|
||||||
savefail = Falha ao salvar jogo!
|
savefail = Falha ao salvar jogo!
|
||||||
@@ -354,6 +356,8 @@ pausebuilding = [accent][[{0}][] para parar a construção
|
|||||||
resumebuilding = [scarlet][[{0}][] para continuar a construção
|
resumebuilding = [scarlet][[{0}][] para continuar a construção
|
||||||
enablebuilding = [scarlet][[{0}][] para habilitar construção
|
enablebuilding = [scarlet][[{0}][] para habilitar construção
|
||||||
showui = Interface escondida.\nPressione [accent][[{0}][] para mostrar a interface.
|
showui = Interface escondida.\nPressione [accent][[{0}][] para mostrar a interface.
|
||||||
|
commandmode.name = [accent]Command Mode
|
||||||
|
commandmode.nounits = [no units]
|
||||||
wave = [accent]Horda {0}
|
wave = [accent]Horda {0}
|
||||||
wave.cap = [accent]Horda {0}/{1}
|
wave.cap = [accent]Horda {0}/{1}
|
||||||
wave.waiting = Proxima horda em {0}
|
wave.waiting = Proxima horda em {0}
|
||||||
@@ -438,6 +442,7 @@ waves.max = quantidade máxima
|
|||||||
waves.guardian = Guardião
|
waves.guardian = Guardião
|
||||||
waves.preview = Pré-visualizar
|
waves.preview = Pré-visualizar
|
||||||
waves.edit = Editar...
|
waves.edit = Editar...
|
||||||
|
waves.random = Random
|
||||||
waves.copy = Copiar para área de transferência
|
waves.copy = Copiar para área de transferência
|
||||||
waves.load = Carregar da área de transferência
|
waves.load = Carregar da área de transferência
|
||||||
waves.invalid = Hordas inválidas na área de transferência.
|
waves.invalid = Hordas inválidas na área de transferência.
|
||||||
@@ -1209,6 +1214,7 @@ rules.unitbuildspeedmultiplier = Multiplicador de velocidade de criação de uni
|
|||||||
rules.unitcostmultiplier = Unit Cost Multiplier
|
rules.unitcostmultiplier = Unit Cost Multiplier
|
||||||
rules.unithealthmultiplier = Multiplicador de vida de unidade
|
rules.unithealthmultiplier = Multiplicador de vida de unidade
|
||||||
rules.unitdamagemultiplier = Multiplicador de dano de Unidade
|
rules.unitdamagemultiplier = Multiplicador de dano de Unidade
|
||||||
|
rules.unitcrashdamagemultiplier = Unit Crash Damage Multiplier
|
||||||
rules.solarmultiplier = Multiplicador de Energia Solar
|
rules.solarmultiplier = Multiplicador de Energia Solar
|
||||||
rules.unitcapvariable = Núcleos contribuem para a capacidade da unidade
|
rules.unitcapvariable = Núcleos contribuem para a capacidade da unidade
|
||||||
rules.unitcap = Capacidade base da Unidade
|
rules.unitcap = Capacidade base da Unidade
|
||||||
|
|||||||
@@ -151,6 +151,7 @@ mod.outdatedv7.details = This mod is incompatible with the latest version of the
|
|||||||
mod.blacklisted.details = This mod has been manually blacklisted for causing crashes or other issues with this version of the game. Do not use it.
|
mod.blacklisted.details = This mod has been manually blacklisted for causing crashes or other issues with this version of the game. Do not use it.
|
||||||
mod.missingdependencies.details = This mod is missing dependencies: {0}
|
mod.missingdependencies.details = This mod is missing dependencies: {0}
|
||||||
mod.erroredcontent.details = This game caused errors when loading. Ask the mod author to fix them.
|
mod.erroredcontent.details = This game caused errors when loading. Ask the mod author to fix them.
|
||||||
|
mod.requiresversion = Requires game version: [red]{0}
|
||||||
mod.errors = Ocorreram erros ao carregar o conteúdo.
|
mod.errors = Ocorreram erros ao carregar o conteúdo.
|
||||||
mod.noerrorplay = [scarlet]Tens mods com erros.[] Desative os mods afetados ou corrija os erros antes de jogar.
|
mod.noerrorplay = [scarlet]Tens mods com erros.[] Desative os mods afetados ou corrija os erros antes de jogar.
|
||||||
mod.nowdisabled = [scarlet]Mod '{0}' está faltando dependências:[accent] {1}\n[lightgray]Esses mods precisam ser baixados primeiro. NEste mod será automaticamente desativado
|
mod.nowdisabled = [scarlet]Mod '{0}' está faltando dependências:[accent] {1}\n[lightgray]Esses mods precisam ser baixados primeiro. NEste mod será automaticamente desativado
|
||||||
@@ -283,6 +284,7 @@ server.invalidport = Numero de porta invalido!
|
|||||||
server.error = [crimson]Erro ao hospedar o servidor: [accent]{0}
|
server.error = [crimson]Erro ao hospedar o servidor: [accent]{0}
|
||||||
save.new = Novo gravamento
|
save.new = Novo gravamento
|
||||||
save.overwrite = Você tem certeza que quer sobrescrever este gravamento?
|
save.overwrite = Você tem certeza que quer sobrescrever este gravamento?
|
||||||
|
save.nocampaign = Individual save files from the campaign cannot be imported.
|
||||||
overwrite = Gravar sobre
|
overwrite = Gravar sobre
|
||||||
save.none = Nenhum gravamento encontrado!
|
save.none = Nenhum gravamento encontrado!
|
||||||
savefail = Falha ao gravar jogo!
|
savefail = Falha ao gravar jogo!
|
||||||
@@ -350,6 +352,8 @@ pausebuilding = [accent][[{0}][] para pausar construção
|
|||||||
resumebuilding = [scarlet][[{0}][] para resumir construção
|
resumebuilding = [scarlet][[{0}][] para resumir construção
|
||||||
enablebuilding = [scarlet][[{0}][] to enable building
|
enablebuilding = [scarlet][[{0}][] to enable building
|
||||||
showui = UI hidden.\nPress [accent][[{0}][] to show UI.
|
showui = UI hidden.\nPress [accent][[{0}][] to show UI.
|
||||||
|
commandmode.name = [accent]Command Mode
|
||||||
|
commandmode.nounits = [no units]
|
||||||
wave = [accent]Horda {0}
|
wave = [accent]Horda {0}
|
||||||
wave.cap = [accent]Wave {0}/{1}
|
wave.cap = [accent]Wave {0}/{1}
|
||||||
wave.waiting = Horda em {0}
|
wave.waiting = Horda em {0}
|
||||||
@@ -434,6 +438,7 @@ waves.max = max units
|
|||||||
waves.guardian = Guardian
|
waves.guardian = Guardian
|
||||||
waves.preview = Pré visualizar
|
waves.preview = Pré visualizar
|
||||||
waves.edit = Editar...
|
waves.edit = Editar...
|
||||||
|
waves.random = Random
|
||||||
waves.copy = Copiar para área de transferência
|
waves.copy = Copiar para área de transferência
|
||||||
waves.load = Carregar da área de transferência
|
waves.load = Carregar da área de transferência
|
||||||
waves.invalid = Hordas inválidas na área de transferência.
|
waves.invalid = Hordas inválidas na área de transferência.
|
||||||
@@ -1188,6 +1193,7 @@ rules.unitbuildspeedmultiplier = Multiplicador de velocidade de criação de uni
|
|||||||
rules.unitcostmultiplier = Unit Cost Multiplier
|
rules.unitcostmultiplier = Unit Cost Multiplier
|
||||||
rules.unithealthmultiplier = Multiplicador de vida de unidade
|
rules.unithealthmultiplier = Multiplicador de vida de unidade
|
||||||
rules.unitdamagemultiplier = Multiplicador de dano de Unidade
|
rules.unitdamagemultiplier = Multiplicador de dano de Unidade
|
||||||
|
rules.unitcrashdamagemultiplier = Unit Crash Damage Multiplier
|
||||||
rules.solarmultiplier = Solar Power Multiplier
|
rules.solarmultiplier = Solar Power Multiplier
|
||||||
rules.unitcapvariable = Cores Contribute To Unit Cap
|
rules.unitcapvariable = Cores Contribute To Unit Cap
|
||||||
rules.unitcap = Base Unit Cap
|
rules.unitcap = Base Unit Cap
|
||||||
|
|||||||
@@ -154,6 +154,7 @@ mod.outdatedv7.details = This mod is incompatible with the latest version of the
|
|||||||
mod.blacklisted.details = This mod has been manually blacklisted for causing crashes or other issues with this version of the game. Do not use it.
|
mod.blacklisted.details = This mod has been manually blacklisted for causing crashes or other issues with this version of the game. Do not use it.
|
||||||
mod.missingdependencies.details = This mod is missing dependencies: {0}
|
mod.missingdependencies.details = This mod is missing dependencies: {0}
|
||||||
mod.erroredcontent.details = This game caused errors when loading. Ask the mod author to fix them.
|
mod.erroredcontent.details = This game caused errors when loading. Ask the mod author to fix them.
|
||||||
|
mod.requiresversion = Requires game version: [red]{0}
|
||||||
mod.errors = Au apărut erori la încărcarea conținutului.
|
mod.errors = Au apărut erori la încărcarea conținutului.
|
||||||
mod.noerrorplay = [scarlet]Modurile tale au erori.[] Dezactivează modurile afectate sau repară erorile înainte să joci.
|
mod.noerrorplay = [scarlet]Modurile tale au erori.[] Dezactivează modurile afectate sau repară erorile înainte să joci.
|
||||||
mod.nowdisabled = [scarlet]Modul '{0}' are dependențe lipsă:[accent] {1}\n[lightgray]Mai întâi trebuie să descarci aceste moduri.\nAcest mod va fi dezactivat automat.
|
mod.nowdisabled = [scarlet]Modul '{0}' are dependențe lipsă:[accent] {1}\n[lightgray]Mai întâi trebuie să descarci aceste moduri.\nAcest mod va fi dezactivat automat.
|
||||||
@@ -287,6 +288,7 @@ server.invalidport = Număr de port invalid!
|
|||||||
server.error = [scarlet]Eroare la găzduirea serverului.
|
server.error = [scarlet]Eroare la găzduirea serverului.
|
||||||
save.new = Nouă Salvare
|
save.new = Nouă Salvare
|
||||||
save.overwrite = Sigur vrei să scrii peste \nacest slot de salvare?
|
save.overwrite = Sigur vrei să scrii peste \nacest slot de salvare?
|
||||||
|
save.nocampaign = Individual save files from the campaign cannot be imported.
|
||||||
overwrite = Scrie peste
|
overwrite = Scrie peste
|
||||||
save.none = Nu s-au găsit salvări!
|
save.none = Nu s-au găsit salvări!
|
||||||
savefail = Salvarea jocului a eșuat!
|
savefail = Salvarea jocului a eșuat!
|
||||||
@@ -354,6 +356,8 @@ pausebuilding = [accent][[{0}][] pt a face o pauză de la construit
|
|||||||
resumebuilding = [scarlet][[{0}][] pt a continua construitul
|
resumebuilding = [scarlet][[{0}][] pt a continua construitul
|
||||||
enablebuilding = [scarlet][[{0}][] pt a construi
|
enablebuilding = [scarlet][[{0}][] pt a construi
|
||||||
showui = Interfață ascunsă.\nApasă [accent][[{0}][] pt a vedea interfața.
|
showui = Interfață ascunsă.\nApasă [accent][[{0}][] pt a vedea interfața.
|
||||||
|
commandmode.name = [accent]Command Mode
|
||||||
|
commandmode.nounits = [no units]
|
||||||
wave = [accent]Valul {0}
|
wave = [accent]Valul {0}
|
||||||
wave.cap = [accent]Valul {0}/{1}
|
wave.cap = [accent]Valul {0}/{1}
|
||||||
wave.waiting = [lightgray]Val în {0}
|
wave.waiting = [lightgray]Val în {0}
|
||||||
@@ -438,6 +442,7 @@ waves.max = unități maxime
|
|||||||
waves.guardian = Gardian
|
waves.guardian = Gardian
|
||||||
waves.preview = Previzualizare
|
waves.preview = Previzualizare
|
||||||
waves.edit = Editează...
|
waves.edit = Editează...
|
||||||
|
waves.random = Random
|
||||||
waves.copy = Copiază în Clipboard
|
waves.copy = Copiază în Clipboard
|
||||||
waves.load = Încarcă din Clipboard
|
waves.load = Încarcă din Clipboard
|
||||||
waves.invalid = Valuri invalide în clipboard.
|
waves.invalid = Valuri invalide în clipboard.
|
||||||
@@ -1200,6 +1205,7 @@ rules.unitbuildspeedmultiplier = Multiplicatorul Vitezei de Producere a Unităț
|
|||||||
rules.unitcostmultiplier = Unit Cost Multiplier
|
rules.unitcostmultiplier = Unit Cost Multiplier
|
||||||
rules.unithealthmultiplier = Multiplicatorul Vieții Unităților
|
rules.unithealthmultiplier = Multiplicatorul Vieții Unităților
|
||||||
rules.unitdamagemultiplier = Multiplicatorul Deteriorării Unităților
|
rules.unitdamagemultiplier = Multiplicatorul Deteriorării Unităților
|
||||||
|
rules.unitcrashdamagemultiplier = Unit Crash Damage Multiplier
|
||||||
rules.solarmultiplier = Solar Power Multiplier
|
rules.solarmultiplier = Solar Power Multiplier
|
||||||
rules.unitcapvariable = Nucleele Contribuie la Limita Unităților
|
rules.unitcapvariable = Nucleele Contribuie la Limita Unităților
|
||||||
rules.unitcap = Limita de Bază a Unităților
|
rules.unitcap = Limita de Bază a Unităților
|
||||||
|
|||||||
@@ -154,6 +154,8 @@ mod.outdatedv7.details = Этот мод несовместим с послед
|
|||||||
mod.blacklisted.details = Этот мод был вручную занесен в черный список из-за того, что он вызывал сбои или другие проблемы с текущей версией игры. Не используйте его.
|
mod.blacklisted.details = Этот мод был вручную занесен в черный список из-за того, что он вызывал сбои или другие проблемы с текущей версией игры. Не используйте его.
|
||||||
mod.missingdependencies.details = Для этого мода отсутствуют зависимости: {0}
|
mod.missingdependencies.details = Для этого мода отсутствуют зависимости: {0}
|
||||||
mod.erroredcontent.details = Этот мод вызвал ошибки при загрузке. Попросите автора мода исправить их.
|
mod.erroredcontent.details = Этот мод вызвал ошибки при загрузке. Попросите автора мода исправить их.
|
||||||
|
|
||||||
|
mod.requiresversion = Требуется версия игры: [red]{0}
|
||||||
mod.errors = Ошибки были вызваны загружаемым содержимым.
|
mod.errors = Ошибки были вызваны загружаемым содержимым.
|
||||||
mod.noerrorplay = [scarlet]У Вас есть модификации с ошибками.[] Выключите проблемные модификации или исправьте ошибки перед игрой.
|
mod.noerrorplay = [scarlet]У Вас есть модификации с ошибками.[] Выключите проблемные модификации или исправьте ошибки перед игрой.
|
||||||
mod.nowdisabled = [scarlet]Модификации '{0}' требуются родительские модификации:[accent] {1}\n[lightgray]Сначала нужно загрузить их.\nЭта модификация будет автоматически отключена.
|
mod.nowdisabled = [scarlet]Модификации '{0}' требуются родительские модификации:[accent] {1}\n[lightgray]Сначала нужно загрузить их.\nЭта модификация будет автоматически отключена.
|
||||||
@@ -286,6 +288,7 @@ server.invalidport = Неверный номер порта!
|
|||||||
server.error = [scarlet]Ошибка создания сервера.
|
server.error = [scarlet]Ошибка создания сервера.
|
||||||
save.new = Новое сохранение
|
save.new = Новое сохранение
|
||||||
save.overwrite = Вы уверены, что хотите перезаписать\nэтот слот для сохранения?
|
save.overwrite = Вы уверены, что хотите перезаписать\nэтот слот для сохранения?
|
||||||
|
save.nocampaign = Отдельные сохранения из кампании не могут быть импортированы.
|
||||||
overwrite = Перезаписать
|
overwrite = Перезаписать
|
||||||
save.none = Сохранения не найдены!
|
save.none = Сохранения не найдены!
|
||||||
savefail = Не удалось сохранить игру!
|
savefail = Не удалось сохранить игру!
|
||||||
@@ -353,6 +356,8 @@ pausebuilding = [accent][[{0}][] для приостановки строите
|
|||||||
resumebuilding = [scarlet][[{0}][] для продолжения строительства
|
resumebuilding = [scarlet][[{0}][] для продолжения строительства
|
||||||
enablebuilding = [scarlet][[{0}][] для включения строительства
|
enablebuilding = [scarlet][[{0}][] для включения строительства
|
||||||
showui = Интерфейс скрыт.\nНажмите [accent][[{0}][] для отображения интерфейса.
|
showui = Интерфейс скрыт.\nНажмите [accent][[{0}][] для отображения интерфейса.
|
||||||
|
commandmode.name = [accent]Режим командования
|
||||||
|
commandmode.nounits = [нет единиц]
|
||||||
wave = [accent]Волна {0}
|
wave = [accent]Волна {0}
|
||||||
wave.cap = [accent]Волна {0}/{1}
|
wave.cap = [accent]Волна {0}/{1}
|
||||||
wave.waiting = [lightgray]Волна через {0}
|
wave.waiting = [lightgray]Волна через {0}
|
||||||
@@ -372,9 +377,9 @@ custom = Пользовательская
|
|||||||
builtin = Встроенная
|
builtin = Встроенная
|
||||||
map.delete.confirm = Вы действительно хотите удалить эту карту? Это действие не может быть отменено!
|
map.delete.confirm = Вы действительно хотите удалить эту карту? Это действие не может быть отменено!
|
||||||
map.random = [accent]Случайная карта
|
map.random = [accent]Случайная карта
|
||||||
map.nospawn = На этой карте ни одного ядра, в котором игрок может появиться! Добавьте [#{0}]{1}[] ядро на эту карту в редакторе.
|
map.nospawn = На этой карте ни одного ядра, в котором игрок может появиться! Добавьте ядро команды [#{0}]{1}[] на эту карту в редакторе.
|
||||||
map.nospawn.pvp = На этой карте нет вражеских ядер, в которых игрок может появиться! Добавьте [scarlet]вражеское[] ядро на эту карту в редакторе.
|
map.nospawn.pvp = На этой карте нет вражеских ядер, в которых игрок может появиться! Добавьте [scarlet]вражеское[] ядро на эту карту в редакторе.
|
||||||
map.nospawn.attack = На этой карте нет вражеских ядер для атаки игроком! Добавьте [#{0}]{1}[] ядро на эту карту в редакторе.
|
map.nospawn.attack = На этой карте нет вражеских ядер для атаки игроком! Добавьте ядро команды [#{0}]{1}[] на эту карту в редакторе.
|
||||||
map.invalid = Ошибка загрузки карты: повреждённый или недопустимый файл карты.
|
map.invalid = Ошибка загрузки карты: повреждённый или недопустимый файл карты.
|
||||||
workshop.update = Обновить содержимое
|
workshop.update = Обновить содержимое
|
||||||
workshop.error = Ошибка загрузки информации из Мастерской: {0}
|
workshop.error = Ошибка загрузки информации из Мастерской: {0}
|
||||||
@@ -437,6 +442,7 @@ waves.max = максимум единиц
|
|||||||
waves.guardian = Страж
|
waves.guardian = Страж
|
||||||
waves.preview = Предварительный просмотр
|
waves.preview = Предварительный просмотр
|
||||||
waves.edit = Редактировать…
|
waves.edit = Редактировать…
|
||||||
|
waves.random = Случайно
|
||||||
waves.copy = Копировать в буфер обмена
|
waves.copy = Копировать в буфер обмена
|
||||||
waves.load = Загрузить из буфера обмена
|
waves.load = Загрузить из буфера обмена
|
||||||
waves.invalid = Неверные волны в буфере обмена.
|
waves.invalid = Неверные волны в буфере обмена.
|
||||||
@@ -511,8 +517,8 @@ toolmode.replace = Заменить
|
|||||||
toolmode.replace.description = Рисует только\nна сплошных блоках.
|
toolmode.replace.description = Рисует только\nна сплошных блоках.
|
||||||
toolmode.replaceall = Заменить всё
|
toolmode.replaceall = Заменить всё
|
||||||
toolmode.replaceall.description = Заменяет все\nблоки на карте.
|
toolmode.replaceall.description = Заменяет все\nблоки на карте.
|
||||||
toolmode.orthogonal = Ортогональная
|
toolmode.orthogonal = Прямоугольная
|
||||||
toolmode.orthogonal.description = Рисует только\nортогональные линии.
|
toolmode.orthogonal.description = Рисует только\nпрямоугольные линии.
|
||||||
toolmode.square = Квадрат
|
toolmode.square = Квадрат
|
||||||
toolmode.square.description = Квадратная кисть.
|
toolmode.square.description = Квадратная кисть.
|
||||||
toolmode.eraseores = Стереть руды
|
toolmode.eraseores = Стереть руды
|
||||||
@@ -672,7 +678,7 @@ weather.sporestorm.name = Споровая буря
|
|||||||
weather.fog.name = Туман
|
weather.fog.name = Туман
|
||||||
|
|
||||||
campaign.playtime = \uf129 [lightgray]Общее время игры: {0}
|
campaign.playtime = \uf129 [lightgray]Общее время игры: {0}
|
||||||
campaign.complete = [accent]Поздравляем.\n\nВражеская фракция на планете {0} была побеждена.\n[lightgray]Последний вражеский сектор был захвачен.
|
campaign.complete = [accent]Поздравляем.\n\nВражеская фракция на планете {0} была повержена.\n[lightgray]Последний вражеский сектор был захвачен.
|
||||||
|
|
||||||
sectorlist = Секторы
|
sectorlist = Секторы
|
||||||
sectorlist.attacked = {0} под атакой
|
sectorlist.attacked = {0} под атакой
|
||||||
@@ -753,7 +759,7 @@ sector.desolateRift.description = Чрезвычайно опасная зона
|
|||||||
sector.nuclearComplex.description = Бывший завод по производству и переработке тория, превращенный в руины.\n[lightgray]Исследуйте торий и варианты его многочисленного применения.\n\nВраг присутствует здесь в большом числе, постоянно разведывая нападающих.
|
sector.nuclearComplex.description = Бывший завод по производству и переработке тория, превращенный в руины.\n[lightgray]Исследуйте торий и варианты его многочисленного применения.\n\nВраг присутствует здесь в большом числе, постоянно разведывая нападающих.
|
||||||
sector.fungalPass.description = Переходная область между высокими горами и более низкими, покрытыми спорами землями. Здесь расположена небольшая разведывательная база противника.\nУничтожьте ее.\nИспользуйте единицы «Кинжал» и «Ползун». Достаньте до обоих ядер.
|
sector.fungalPass.description = Переходная область между высокими горами и более низкими, покрытыми спорами землями. Здесь расположена небольшая разведывательная база противника.\nУничтожьте ее.\nИспользуйте единицы «Кинжал» и «Ползун». Достаньте до обоих ядер.
|
||||||
sector.biomassFacility.description = Первоисточник спор. Объект, на котором они были исследованы и изначально получены.\nИсследуйте технологию, находящуюся внутри. Культивируйте споры для производства топлива и пластмасс.\n\n[lightgray]После развала этого объекта споры оказались выброшены наружу. Ничто в местной экосистеме не могло соперничать с таким агрессивным организмом.
|
sector.biomassFacility.description = Первоисточник спор. Объект, на котором они были исследованы и изначально получены.\nИсследуйте технологию, находящуюся внутри. Культивируйте споры для производства топлива и пластмасс.\n\n[lightgray]После развала этого объекта споры оказались выброшены наружу. Ничто в местной экосистеме не могло соперничать с таким агрессивным организмом.
|
||||||
sector.windsweptIslands.description = Дальше за береговой линией простирается эта отдаленная череда островов. Согласно записям, когда-то они располагали [accent]пластано[]производящими сооружениями.\n\nОтбейтесь от морских сил противника. Возведите базу на островах. Изучите эти заводы.
|
sector.windsweptIslands.description = Дальше за береговой линией простирается эта отдаленная череда островов. Согласно записям, когда-то они располагали [accent]пластанопроизводящими[] сооружениями.\n\nОтбейтесь от морских сил противника. Возведите базу на островах. Изучите эти заводы.
|
||||||
sector.extractionOutpost.description = Отдаленный аванпост, построенный противником с целью переброски ресурсов в другие секторы.\n\nМежсекторная транспортная технология необходима для дальнейшего завоевания. Уничтожьте базу. Изучите их пусковые площадки.
|
sector.extractionOutpost.description = Отдаленный аванпост, построенный противником с целью переброски ресурсов в другие секторы.\n\nМежсекторная транспортная технология необходима для дальнейшего завоевания. Уничтожьте базу. Изучите их пусковые площадки.
|
||||||
sector.impact0078.description = Здесь лежат остатки межзвездного транспортного судна, первым вошедшего в эту систему.\n\nИзвлеките как можно больше из обломков. Изучите любую уцелевшую технологию.
|
sector.impact0078.description = Здесь лежат остатки межзвездного транспортного судна, первым вошедшего в эту систему.\n\nИзвлеките как можно больше из обломков. Изучите любую уцелевшую технологию.
|
||||||
sector.planetaryTerminal.description = Конечная цель.\n\nЭта береговая база содержит сооружение, способное запускать ядра к окрестным планетам. Оно крайне хорошо охраняется.\n\nПроизведите морские единицы. Уничтожьте врага как можно скорее. Изучите пусковую конструкцию.
|
sector.planetaryTerminal.description = Конечная цель.\n\nЭта береговая база содержит сооружение, способное запускать ядра к окрестным планетам. Оно крайне хорошо охраняется.\n\nПроизведите морские единицы. Уничтожьте врага как можно скорее. Изучите пусковую конструкцию.
|
||||||
@@ -786,9 +792,9 @@ sector.split.description = Минимальное вражеское прису
|
|||||||
sector.basin.description = В этом секторе обнаружено большое вражеское присутствие.\nКак можно скорее произведите боевые единицы и захватите вражеские ядра, чтобы закрепиться в этом регионе.
|
sector.basin.description = В этом секторе обнаружено большое вражеское присутствие.\nКак можно скорее произведите боевые единицы и захватите вражеские ядра, чтобы закрепиться в этом регионе.
|
||||||
sector.marsh.description = В этом секторе находится аркицит в больших количествах, но ограничены жерла.\nСтройте [accent]химические камеры сгорания[] для генерации энергии.
|
sector.marsh.description = В этом секторе находится аркицит в больших количествах, но ограничены жерла.\nСтройте [accent]химические камеры сгорания[] для генерации энергии.
|
||||||
sector.peaks.description = Из-за горной местности в этом секторе большинство боевых единиц бесполезны. Понадобятся летающие корабли.\nОстерегайтесь вражеских противовоздушных установок. Есть возможность отключить часть из них, если снести поддерживающие их постройки.
|
sector.peaks.description = Из-за горной местности в этом секторе большинство боевых единиц бесполезны. Понадобятся летающие корабли.\nОстерегайтесь вражеских противовоздушных установок. Есть возможность отключить часть из них, если снести поддерживающие их постройки.
|
||||||
sector.ravine.description = Этот сектор является важным транспортным маршрутом для врага. Несмотря на то, что вражеских ядер здесь не обнаружено, ожидайте разнообразия вражеских атакующих сил.\nПроизведите [accent]кинетический сплав[]. Постройте турели [accent]Страдание[].
|
sector.ravine.description = Этот сектор является важным транспортным маршрутом для врага. Несмотря на то, что вражеских ядер здесь не обнаружено, ожидайте разнообразия вражеских атакующих сил.\nПроизведите [accent]кинетический сплав[]. Постройте турели [accent]Бедствие[].
|
||||||
sector.caldera-erekir.description = Ресурсы, обнаруженные в этом секторе, разбросаны по нескольким островам.\nИсследуйте и запустите транспортную систему на основе грузовых дронов.
|
sector.caldera-erekir.description = Ресурсы, обнаруженные в этом секторе, разбросаны по нескольким островам.\nИсследуйте и запустите транспортную систему на основе грузовых дронов.
|
||||||
sector.stronghold.description = Большая вражеская база в этом секторе охраняет огромные залежи [accent]Тория[].\nИспользуйте его для изучения боевых единиц и турелей более высокого уровня.
|
sector.stronghold.description = Большая вражеская база в этом секторе охраняет огромные залежи [accent]тория[].\nИспользуйте его для изучения боевых единиц и турелей более высокого уровня.
|
||||||
sector.crevice.description = Своими атаками враг будет яростно пытаться уничтожить вашу базу в этом секторе.\nИзучение [accent]карбида[] и [accent]Пиролизного генератора[] может оказаться необходимым для выживания.
|
sector.crevice.description = Своими атаками враг будет яростно пытаться уничтожить вашу базу в этом секторе.\nИзучение [accent]карбида[] и [accent]Пиролизного генератора[] может оказаться необходимым для выживания.
|
||||||
sector.siege.description = В этом секторе есть два параллельных каньона, которые заставят вас атаковать с двух сторон.\nИсследуйте [accent]циан[], чтобы получить возможность создавать еще более сильные танковые подразделения.\nВнимание: были обнаружены вражеские дальнобойные ракеты. Ракеты могут быть сбиты до попадания.
|
sector.siege.description = В этом секторе есть два параллельных каньона, которые заставят вас атаковать с двух сторон.\nИсследуйте [accent]циан[], чтобы получить возможность создавать еще более сильные танковые подразделения.\nВнимание: были обнаружены вражеские дальнобойные ракеты. Ракеты могут быть сбиты до попадания.
|
||||||
sector.crossroads.description = Вражеские базы в этом секторе расположились на пересеченной местности. Исследуйте разные типы боевых единиц, чтобы приспособиться к ней.\nКроме того, некоторые базы защищены щитами. Выясните, как они получают энергию.
|
sector.crossroads.description = Вражеские базы в этом секторе расположились на пересеченной местности. Исследуйте разные типы боевых единиц, чтобы приспособиться к ней.\nКроме того, некоторые базы защищены щитами. Выясните, как они получают энергию.
|
||||||
@@ -1200,6 +1206,7 @@ rules.unitbuildspeedmultiplier = Множитель скорости произ
|
|||||||
rules.unitcostmultiplier = Множитель стоимости боев. ед.
|
rules.unitcostmultiplier = Множитель стоимости боев. ед.
|
||||||
rules.unithealthmultiplier = Множитель прочности боев. ед.
|
rules.unithealthmultiplier = Множитель прочности боев. ед.
|
||||||
rules.unitdamagemultiplier = Множитель урона боев. ед.
|
rules.unitdamagemultiplier = Множитель урона боев. ед.
|
||||||
|
rules.unitcrashdamagemultiplier = Множитель урона от падения боев. ед.
|
||||||
rules.solarmultiplier = Множитель солнечной энергии
|
rules.solarmultiplier = Множитель солнечной энергии
|
||||||
rules.unitcapvariable = Ядра увеличивают лимит единиц
|
rules.unitcapvariable = Ядра увеличивают лимит единиц
|
||||||
rules.unitcap = Начальный лимит единиц
|
rules.unitcap = Начальный лимит единиц
|
||||||
@@ -1328,11 +1335,11 @@ unit.tecta.name = Текта
|
|||||||
unit.collaris.name = Колларис
|
unit.collaris.name = Колларис
|
||||||
unit.elude.name = Уклонение
|
unit.elude.name = Уклонение
|
||||||
unit.avert.name = Отвлечение
|
unit.avert.name = Отвлечение
|
||||||
unit.obviate.name = Устранитель
|
unit.obviate.name = Устранение
|
||||||
unit.quell.name = Сокрушитель
|
unit.quell.name = Подавление
|
||||||
unit.disrupt.name = Разрушитель
|
unit.disrupt.name = Разрушение
|
||||||
unit.evoke.name = Призыв
|
unit.evoke.name = Восход
|
||||||
unit.incite.name = Побуждение
|
unit.incite.name = Призыв
|
||||||
unit.emanate.name = Исход
|
unit.emanate.name = Исход
|
||||||
unit.manifold.name = Грузовой дрон
|
unit.manifold.name = Грузовой дрон
|
||||||
unit.assembly-drone.name = Сборочный дрон
|
unit.assembly-drone.name = Сборочный дрон
|
||||||
@@ -1650,7 +1657,7 @@ block.shielded-wall.name = Экранированная стена
|
|||||||
block.radar.name = Радар
|
block.radar.name = Радар
|
||||||
block.build-tower.name = Строительная башня
|
block.build-tower.name = Строительная башня
|
||||||
block.regen-projector.name = Регенерирующий проектор
|
block.regen-projector.name = Регенерирующий проектор
|
||||||
block.shockwave-tower.name = Ударная башня
|
block.shockwave-tower.name = Ударно-волновая башня
|
||||||
block.shield-projector.name = Экранный проектор
|
block.shield-projector.name = Экранный проектор
|
||||||
block.large-shield-projector.name = Большой экранный проектор
|
block.large-shield-projector.name = Большой экранный проектор
|
||||||
block.armored-duct.name = Защищённый предметный канал
|
block.armored-duct.name = Защищённый предметный канал
|
||||||
@@ -1670,7 +1677,7 @@ block.reinforced-liquid-container.name = Усиленная жидкостная
|
|||||||
block.reinforced-liquid-tank.name = Усиленный жидкостный бак
|
block.reinforced-liquid-tank.name = Усиленный жидкостный бак
|
||||||
block.beam-node.name = Лучевой узел
|
block.beam-node.name = Лучевой узел
|
||||||
block.beam-tower.name = Лучевая башня
|
block.beam-tower.name = Лучевая башня
|
||||||
block.beam-link.name = Лучевая связь
|
block.beam-link.name = Лучевой соединитель
|
||||||
block.turbine-condenser.name = Турбинный конденсатор
|
block.turbine-condenser.name = Турбинный конденсатор
|
||||||
block.chemical-combustion-chamber.name = Химическая камера сгорания
|
block.chemical-combustion-chamber.name = Химическая камера сгорания
|
||||||
block.pyrolysis-generator.name = Пиролизный генератор
|
block.pyrolysis-generator.name = Пиролизный генератор
|
||||||
@@ -1682,16 +1689,16 @@ block.impact-drill.name = Ударная дрель
|
|||||||
block.eruption-drill.name = Извергающая дрель
|
block.eruption-drill.name = Извергающая дрель
|
||||||
block.core-bastion.name = Ядро: «Бастион»
|
block.core-bastion.name = Ядро: «Бастион»
|
||||||
block.core-citadel.name = Ядро: «Цитадель»
|
block.core-citadel.name = Ядро: «Цитадель»
|
||||||
block.core-acropolis.name = Ядро: «Акрополис»
|
block.core-acropolis.name = Ядро: «Акрополь»
|
||||||
block.reinforced-container.name = Усиленный контейнер
|
block.reinforced-container.name = Усиленный контейнер
|
||||||
block.reinforced-vault.name = Укрепленное хранилище
|
block.reinforced-vault.name = Укрепленное хранилище
|
||||||
block.breach.name = Разрыв
|
block.breach.name = Разрыв
|
||||||
block.sublimate.name = Возвышение
|
block.sublimate.name = Пламя
|
||||||
block.titan.name = Титан
|
block.titan.name = Титан
|
||||||
block.disperse.name = Распылитель
|
block.disperse.name = Диапазон
|
||||||
block.afflict.name = Страдание
|
block.afflict.name = Бедствие
|
||||||
block.lustre.name = Сияние
|
block.lustre.name = Сияние
|
||||||
block.scathe.name = Разрушение
|
block.scathe.name = Погибель
|
||||||
block.fabricator.name = Фабрикатор
|
block.fabricator.name = Фабрикатор
|
||||||
block.tank-refabricator.name = Рефабрикатор танков
|
block.tank-refabricator.name = Рефабрикатор танков
|
||||||
block.mech-refabricator.name = Рефабрикатор мехов
|
block.mech-refabricator.name = Рефабрикатор мехов
|
||||||
@@ -1711,11 +1718,11 @@ block.mech-fabricator.name = Конструктор мехов
|
|||||||
block.ship-fabricator.name = Конструктор кораблей
|
block.ship-fabricator.name = Конструктор кораблей
|
||||||
block.prime-refabricator.name = Основной рефабрикатор
|
block.prime-refabricator.name = Основной рефабрикатор
|
||||||
block.unit-repair-tower.name = Ремонтирующая башня
|
block.unit-repair-tower.name = Ремонтирующая башня
|
||||||
block.diffuse.name = Распространение
|
block.diffuse.name = Разброс
|
||||||
block.basic-assembler-module.name = Базовый сборочный модуль
|
block.basic-assembler-module.name = Базовый сборочный модуль
|
||||||
block.smite.name = Кара
|
block.smite.name = Кара
|
||||||
block.malign.name = Клевета
|
block.malign.name = Злоба
|
||||||
block.flux-reactor.name = Плазменный реактор
|
block.flux-reactor.name = Потоковый реактор
|
||||||
block.neoplasia-reactor.name = Неоплазменный реактор
|
block.neoplasia-reactor.name = Неоплазменный реактор
|
||||||
|
|
||||||
block.switch.name = Переключатель
|
block.switch.name = Переключатель
|
||||||
@@ -1807,7 +1814,7 @@ onset.fabricator = Используйте [accent]боевые единицы[]
|
|||||||
onset.makeunit = Произведите боевую единицу.\nНажмите на кнопку "?", чтобы узнать текущие необходимые ресурсы для фабрики.
|
onset.makeunit = Произведите боевую единицу.\nНажмите на кнопку "?", чтобы узнать текущие необходимые ресурсы для фабрики.
|
||||||
onset.turrets = Боевые единицы эффективны, но [accent]турели[] предоставляют больший оборонный потенциал при их эффективном использовании.\nПоставьте турель \uf6eb [accent]Разрыв[].\nТурели требуют \uf748 [accent]боеприпасы[].
|
onset.turrets = Боевые единицы эффективны, но [accent]турели[] предоставляют больший оборонный потенциал при их эффективном использовании.\nПоставьте турель \uf6eb [accent]Разрыв[].\nТурели требуют \uf748 [accent]боеприпасы[].
|
||||||
onset.turretammo = Снабдите турель [accent]бериллиевыми боеприпасами.[]
|
onset.turretammo = Снабдите турель [accent]бериллиевыми боеприпасами.[]
|
||||||
onset.walls = [accent]Стены[] могут предотвратить повреждение близлежащих построек.\nПоставьте \uf8ae [accent]бериллиевые стены[] вокруг турели.
|
onset.walls = [accent]Стены[] могут предотвратить повреждение близлежащих построек.\nПоставьте \uf6ee [accent]бериллиевые стены[] вокруг турели.
|
||||||
onset.enemies = Враг на подходе, приготовьтесь защищаться.
|
onset.enemies = Враг на подходе, приготовьтесь защищаться.
|
||||||
onset.attack = Враг уязвим. Начните контратаку.
|
onset.attack = Враг уязвим. Начните контратаку.
|
||||||
onset.cores = Новые ядра могут быть поставлены на [accent]зоны ядра[].\nНовые ядра функционируют как передовые базы и имеют общий инвентарь между другими ядрами.\nПоставьте \uf725 ядро.
|
onset.cores = Новые ядра могут быть поставлены на [accent]зоны ядра[].\nНовые ядра функционируют как передовые базы и имеют общий инвентарь между другими ядрами.\nПоставьте \uf725 ядро.
|
||||||
@@ -2043,8 +2050,8 @@ block.eruption-drill.description = Усовершенствованная уда
|
|||||||
block.reinforced-conduit.description = Перемещает жидкости вперед. Не принимает ввод по бокам.
|
block.reinforced-conduit.description = Перемещает жидкости вперед. Не принимает ввод по бокам.
|
||||||
block.reinforced-liquid-router.description = Равномерно распределяет жидкости во все стороны.
|
block.reinforced-liquid-router.description = Равномерно распределяет жидкости во все стороны.
|
||||||
block.reinforced-junction.description = Действует как мост для двух пересекающихся трубопроводов.
|
block.reinforced-junction.description = Действует как мост для двух пересекающихся трубопроводов.
|
||||||
block.reinforced-liquid-tank.description = Хранит небольшое количество жидкости.
|
block.reinforced-liquid-tank.description = Хранит большое количество жидкости.
|
||||||
block.reinforced-liquid-container.description = Хранит большое количество жидкости.
|
block.reinforced-liquid-container.description = Хранит небольшое количество жидкости.
|
||||||
block.reinforced-bridge-conduit.description = Перемещает жидкости над любой местностью или зданиями.
|
block.reinforced-bridge-conduit.description = Перемещает жидкости над любой местностью или зданиями.
|
||||||
block.reinforced-pump.description = Перекачивает и выводит жидкости. Требует водород для работы.
|
block.reinforced-pump.description = Перекачивает и выводит жидкости. Требует водород для работы.
|
||||||
block.beryllium-wall.description = Защищает постройки от вражеских снарядов.
|
block.beryllium-wall.description = Защищает постройки от вражеских снарядов.
|
||||||
@@ -2154,9 +2161,9 @@ unit.avert.description = Стреляет парами скручивающих
|
|||||||
unit.obviate.description = Стреляет парами скручивающихся шаровых молний по вражеским целям.
|
unit.obviate.description = Стреляет парами скручивающихся шаровых молний по вражеским целям.
|
||||||
unit.quell.description = Стреляет дальнобойными самонаводящимися ракетами по вражеским целям. Подавляет вражеские ремонтирующие постройки.
|
unit.quell.description = Стреляет дальнобойными самонаводящимися ракетами по вражеским целям. Подавляет вражеские ремонтирующие постройки.
|
||||||
unit.disrupt.description = Стреляет дальнобойными самонаводящимися ракетами подавления по вражеским целям. Подавляет вражеские ремонтирующие постройки.
|
unit.disrupt.description = Стреляет дальнобойными самонаводящимися ракетами подавления по вражеским целям. Подавляет вражеские ремонтирующие постройки.
|
||||||
unit.evoke.description = Строит сооружения для защиты ядра «Бастион». Ремонтирует союзные постройки с помощью луча.
|
unit.evoke.description = Защищает ядро «Бастион» от врагов. Ремонтирует союзные постройки с помощью луча.
|
||||||
unit.incite.description = Строит сооружения для защиты ядра «Цитадель». Ремонтирует союзные постройки с помощью луча.
|
unit.incite.description = Защищает ядро «Цитадель» от врагов. Ремонтирует союзные постройки с помощью луча.
|
||||||
unit.emanate.description = Строит сооружения для защиты ядра «Акрополис». Ремонтирует союзные постройки с помощью лучей.
|
unit.emanate.description = Защищает ядро «Акрополь» от врагов. Ремонтирует союзные постройки с помощью лучей.
|
||||||
|
|
||||||
lst.read = Считывает число из соединённой ячейки памяти.
|
lst.read = Считывает число из соединённой ячейки памяти.
|
||||||
lst.write = Записывает число в соединённую ячейку памяти.
|
lst.write = Записывает число в соединённую ячейку памяти.
|
||||||
|
|||||||
@@ -154,6 +154,7 @@ mod.outdatedv7.details = Ovaj mod nije podesan sa novijom verzijom igre. Autor m
|
|||||||
mod.blacklisted.details = Ovaj mod nema podršku zato što stalno ispada ili prave razne greške u ovoj verziji igre. Ne koristi te ga.
|
mod.blacklisted.details = Ovaj mod nema podršku zato što stalno ispada ili prave razne greške u ovoj verziji igre. Ne koristi te ga.
|
||||||
mod.missingdependencies.details = Ovaj mod nema sledeće zavisne modove: {0}
|
mod.missingdependencies.details = Ovaj mod nema sledeće zavisne modove: {0}
|
||||||
mod.erroredcontent.details = Ova igra sadrži greške. Pitajte autora moda da ih popravi.
|
mod.erroredcontent.details = Ova igra sadrži greške. Pitajte autora moda da ih popravi.
|
||||||
|
mod.requiresversion = Requires game version: [red]{0}
|
||||||
mod.errors = Greške su nastale tokom učitavanja sadržaja.
|
mod.errors = Greške su nastale tokom učitavanja sadržaja.
|
||||||
mod.noerrorplay = [scarlet]Imate modove sa greškama.[] Onemogućite te modove, ili ispravite greške.
|
mod.noerrorplay = [scarlet]Imate modove sa greškama.[] Onemogućite te modove, ili ispravite greške.
|
||||||
mod.nowdisabled = [scarlet]Mod '{0}'nema potrebne zavisne modove:[accent] {1}\n[lightgray]Ove modove treba instalirati prvo.\nMod se automatski onemogućava.
|
mod.nowdisabled = [scarlet]Mod '{0}'nema potrebne zavisne modove:[accent] {1}\n[lightgray]Ove modove treba instalirati prvo.\nMod se automatski onemogućava.
|
||||||
@@ -287,6 +288,7 @@ server.invalidport = Invalid port number!
|
|||||||
server.error = [scarlet]Error hosting server.
|
server.error = [scarlet]Error hosting server.
|
||||||
save.new = Novi Snimak
|
save.new = Novi Snimak
|
||||||
save.overwrite = Da li ste sigurni da želite da prerežete\novaj snimak?
|
save.overwrite = Da li ste sigurni da želite da prerežete\novaj snimak?
|
||||||
|
save.nocampaign = Individual save files from the campaign cannot be imported.
|
||||||
overwrite = Prereži
|
overwrite = Prereži
|
||||||
save.none = Nema pronađenih snimaka!
|
save.none = Nema pronađenih snimaka!
|
||||||
savefail = Greška u snimanju!
|
savefail = Greška u snimanju!
|
||||||
@@ -354,6 +356,8 @@ pausebuilding = [accent][[{0}][] da pauziraš gradnju
|
|||||||
resumebuilding = [scarlet][[{0}][] da nastaviš gradnju
|
resumebuilding = [scarlet][[{0}][] da nastaviš gradnju
|
||||||
enablebuilding = [scarlet][[{0}][] da odobriš gradnju
|
enablebuilding = [scarlet][[{0}][] da odobriš gradnju
|
||||||
showui = UI je sakriven.\nPritisni [accent][[{0}][] da prikažeš UI.
|
showui = UI je sakriven.\nPritisni [accent][[{0}][] da prikažeš UI.
|
||||||
|
commandmode.name = [accent]Command Mode
|
||||||
|
commandmode.nounits = [no units]
|
||||||
wave = [accent]Talas {0}
|
wave = [accent]Talas {0}
|
||||||
wave.cap = [accent]Talas {0}/{1}
|
wave.cap = [accent]Talas {0}/{1}
|
||||||
wave.waiting = [lightgray]Talas za {0}
|
wave.waiting = [lightgray]Talas za {0}
|
||||||
@@ -438,6 +442,7 @@ waves.max = maksimalno jedinica
|
|||||||
waves.guardian = Čuvar
|
waves.guardian = Čuvar
|
||||||
waves.preview = Prikaz
|
waves.preview = Prikaz
|
||||||
waves.edit = Izmeni...
|
waves.edit = Izmeni...
|
||||||
|
waves.random = Random
|
||||||
waves.copy = Kopiraj u Privremenu Memoriju
|
waves.copy = Kopiraj u Privremenu Memoriju
|
||||||
waves.load = Učitaj iz Privremene Memorije
|
waves.load = Učitaj iz Privremene Memorije
|
||||||
waves.invalid = U privremenoj memoriji se nalaze ne-validni talasi.
|
waves.invalid = U privremenoj memoriji se nalaze ne-validni talasi.
|
||||||
@@ -1202,6 +1207,7 @@ rules.unitbuildspeedmultiplier = Unit Production Speed Multiplier
|
|||||||
rules.unitcostmultiplier = Unit Cost Multiplier
|
rules.unitcostmultiplier = Unit Cost Multiplier
|
||||||
rules.unithealthmultiplier = Unit Health Multiplier
|
rules.unithealthmultiplier = Unit Health Multiplier
|
||||||
rules.unitdamagemultiplier = Unit Damage Multiplier
|
rules.unitdamagemultiplier = Unit Damage Multiplier
|
||||||
|
rules.unitcrashdamagemultiplier = Unit Crash Damage Multiplier
|
||||||
rules.solarmultiplier = Solar Power Multiplier
|
rules.solarmultiplier = Solar Power Multiplier
|
||||||
rules.unitcapvariable = Jezgara Povećavaju Maksimalni Broj Jedinica
|
rules.unitcapvariable = Jezgara Povećavaju Maksimalni Broj Jedinica
|
||||||
rules.unitcap = Maksimalni Broj Jedinica (ne računajući jezgra)
|
rules.unitcap = Maksimalni Broj Jedinica (ne računajući jezgra)
|
||||||
|
|||||||
@@ -151,6 +151,7 @@ mod.outdatedv7.details = This mod is incompatible with the latest version of the
|
|||||||
mod.blacklisted.details = This mod has been manually blacklisted for causing crashes or other issues with this version of the game. Do not use it.
|
mod.blacklisted.details = This mod has been manually blacklisted for causing crashes or other issues with this version of the game. Do not use it.
|
||||||
mod.missingdependencies.details = This mod is missing dependencies: {0}
|
mod.missingdependencies.details = This mod is missing dependencies: {0}
|
||||||
mod.erroredcontent.details = This game caused errors when loading. Ask the mod author to fix them.
|
mod.erroredcontent.details = This game caused errors when loading. Ask the mod author to fix them.
|
||||||
|
mod.requiresversion = Requires game version: [red]{0}
|
||||||
mod.errors = Fel har inträffat under laddning av innehåll.
|
mod.errors = Fel har inträffat under laddning av innehåll.
|
||||||
mod.noerrorplay = [scarlet]Du har moddar med fel.[] Stäng antingen av de drabbade moddarna eller fixa felen innan du spelar.
|
mod.noerrorplay = [scarlet]Du har moddar med fel.[] Stäng antingen av de drabbade moddarna eller fixa felen innan du spelar.
|
||||||
mod.nowdisabled = [scarlet]Mod '{0}' saknar beroenden:[accent] {1}\n[lightgray]Dessa mods måste laddas ned först.\nDetta mod kommer att inaktiveras automatiskt.
|
mod.nowdisabled = [scarlet]Mod '{0}' saknar beroenden:[accent] {1}\n[lightgray]Dessa mods måste laddas ned först.\nDetta mod kommer att inaktiveras automatiskt.
|
||||||
@@ -283,6 +284,7 @@ server.invalidport = Ogiltigt portnummer!
|
|||||||
server.error = [crimson]Error hosting server: [accent]{0}
|
server.error = [crimson]Error hosting server: [accent]{0}
|
||||||
save.new = Ny sparfil
|
save.new = Ny sparfil
|
||||||
save.overwrite = Are you sure you want to overwrite\nthis save slot?
|
save.overwrite = Are you sure you want to overwrite\nthis save slot?
|
||||||
|
save.nocampaign = Individual save files from the campaign cannot be imported.
|
||||||
overwrite = Skriv över
|
overwrite = Skriv över
|
||||||
save.none = Inga sparfiler hittade!
|
save.none = Inga sparfiler hittade!
|
||||||
savefail = Kunde inte spara spelet!
|
savefail = Kunde inte spara spelet!
|
||||||
@@ -350,6 +352,8 @@ pausebuilding = [accent][[{0}][] to pause building
|
|||||||
resumebuilding = [scarlet][[{0}][] to resume building
|
resumebuilding = [scarlet][[{0}][] to resume building
|
||||||
enablebuilding = [scarlet][[{0}][] to enable building
|
enablebuilding = [scarlet][[{0}][] to enable building
|
||||||
showui = UI hidden.\nPress [accent][[{0}][] to show UI.
|
showui = UI hidden.\nPress [accent][[{0}][] to show UI.
|
||||||
|
commandmode.name = [accent]Command Mode
|
||||||
|
commandmode.nounits = [no units]
|
||||||
wave = [accent]Våg {0}
|
wave = [accent]Våg {0}
|
||||||
wave.cap = [accent]Wave {0}/{1}
|
wave.cap = [accent]Wave {0}/{1}
|
||||||
wave.waiting = [lightgray]Våg om {0}
|
wave.waiting = [lightgray]Våg om {0}
|
||||||
@@ -434,6 +438,7 @@ waves.max = max units
|
|||||||
waves.guardian = Guardian
|
waves.guardian = Guardian
|
||||||
waves.preview = Förhandsvisning
|
waves.preview = Förhandsvisning
|
||||||
waves.edit = Ändra...
|
waves.edit = Ändra...
|
||||||
|
waves.random = Random
|
||||||
waves.copy = Kopiera till Urklipp
|
waves.copy = Kopiera till Urklipp
|
||||||
waves.load = Läs från Urklipp
|
waves.load = Läs från Urklipp
|
||||||
waves.invalid = Invalid waves in clipboard.
|
waves.invalid = Invalid waves in clipboard.
|
||||||
@@ -1188,6 +1193,7 @@ rules.unitbuildspeedmultiplier = Unit Production Speed Multiplier
|
|||||||
rules.unitcostmultiplier = Unit Cost Multiplier
|
rules.unitcostmultiplier = Unit Cost Multiplier
|
||||||
rules.unithealthmultiplier = Unit Health Multiplier
|
rules.unithealthmultiplier = Unit Health Multiplier
|
||||||
rules.unitdamagemultiplier = Unit Damage Multiplier
|
rules.unitdamagemultiplier = Unit Damage Multiplier
|
||||||
|
rules.unitcrashdamagemultiplier = Unit Crash Damage Multiplier
|
||||||
rules.solarmultiplier = Solar Power Multiplier
|
rules.solarmultiplier = Solar Power Multiplier
|
||||||
rules.unitcapvariable = Cores Contribute To Unit Cap
|
rules.unitcapvariable = Cores Contribute To Unit Cap
|
||||||
rules.unitcap = Base Unit Cap
|
rules.unitcap = Base Unit Cap
|
||||||
|
|||||||
@@ -154,6 +154,7 @@ mod.outdatedv7.details = This mod is incompatible with the latest version of the
|
|||||||
mod.blacklisted.details = This mod has been manually blacklisted for causing crashes or other issues with this version of the game. Do not use it.
|
mod.blacklisted.details = This mod has been manually blacklisted for causing crashes or other issues with this version of the game. Do not use it.
|
||||||
mod.missingdependencies.details = This mod is missing dependencies: {0}
|
mod.missingdependencies.details = This mod is missing dependencies: {0}
|
||||||
mod.erroredcontent.details = This game caused errors when loading. Ask the mod author to fix them.
|
mod.erroredcontent.details = This game caused errors when loading. Ask the mod author to fix them.
|
||||||
|
mod.requiresversion = Requires game version: [red]{0}
|
||||||
mod.errors = มีข้อผิดพลาดเกิดขึ้นระหว่างโหลดเนื้อหา
|
mod.errors = มีข้อผิดพลาดเกิดขึ้นระหว่างโหลดเนื้อหา
|
||||||
mod.noerrorplay = [scarlet]คุณมีม็อดที่มีข้อผิดพลาด[] กรุณาปิดม็อดนั้นๆ หรือแก้ไขข้อผิดพลาดก่อนที่จะเล่น
|
mod.noerrorplay = [scarlet]คุณมีม็อดที่มีข้อผิดพลาด[] กรุณาปิดม็อดนั้นๆ หรือแก้ไขข้อผิดพลาดก่อนที่จะเล่น
|
||||||
mod.nowdisabled = [scarlet]ม็อด '{0}' ขาดม็อดพื่งพา:[accent] {1}\n[lightgray]จำเป็นต้องโหลดม็อดพวกนี้ก่อน\nม็อดนี้จะถูกปิดใช้งานโดยอัตโนมัติ
|
mod.nowdisabled = [scarlet]ม็อด '{0}' ขาดม็อดพื่งพา:[accent] {1}\n[lightgray]จำเป็นต้องโหลดม็อดพวกนี้ก่อน\nม็อดนี้จะถูกปิดใช้งานโดยอัตโนมัติ
|
||||||
@@ -287,6 +288,7 @@ server.invalidport = เลขพอร์ตไม่ถูกต้อง!
|
|||||||
server.error = [crimson]การโฮสต์เซิร์ฟเวอร์ผิดพลาด
|
server.error = [crimson]การโฮสต์เซิร์ฟเวอร์ผิดพลาด
|
||||||
save.new = เซฟใหม่
|
save.new = เซฟใหม่
|
||||||
save.overwrite = คุณแน่ใจหรือว่าจะเซฟทับ\nเซฟนี้?
|
save.overwrite = คุณแน่ใจหรือว่าจะเซฟทับ\nเซฟนี้?
|
||||||
|
save.nocampaign = Individual save files from the campaign cannot be imported.
|
||||||
overwrite = เขียนทับ
|
overwrite = เขียนทับ
|
||||||
save.none = ไม่พบเซฟ!
|
save.none = ไม่พบเซฟ!
|
||||||
savefail = เซฟเกมผิดพลาด!
|
savefail = เซฟเกมผิดพลาด!
|
||||||
@@ -354,6 +356,8 @@ pausebuilding = กด [accent][[{0}][] เพื่อหยุดการส
|
|||||||
resumebuilding = กด [scarlet][[{0}][] เพื่อสร้างต่อ
|
resumebuilding = กด [scarlet][[{0}][] เพื่อสร้างต่อ
|
||||||
enablebuilding = กด [scarlet][[{0}][] เพื่อเปิดใช้งานการสร้าง
|
enablebuilding = กด [scarlet][[{0}][] เพื่อเปิดใช้งานการสร้าง
|
||||||
showui = หน้าต่างถูกซ่อน\nกด [accent][[{0}][] เพื่อเปิดหน้าต่าง
|
showui = หน้าต่างถูกซ่อน\nกด [accent][[{0}][] เพื่อเปิดหน้าต่าง
|
||||||
|
commandmode.name = [accent]Command Mode
|
||||||
|
commandmode.nounits = [no units]
|
||||||
wave = [accent]คลื่นที่ {0}
|
wave = [accent]คลื่นที่ {0}
|
||||||
wave.cap = [accent]คลื่น {0}/{1}
|
wave.cap = [accent]คลื่น {0}/{1}
|
||||||
wave.waiting = [lightgray]คลื่นต่อไปใน {0}
|
wave.waiting = [lightgray]คลื่นต่อไปใน {0}
|
||||||
@@ -438,6 +442,7 @@ waves.max = ยูนิตสูงสุด
|
|||||||
waves.guardian = ผู้พิทักษ์
|
waves.guardian = ผู้พิทักษ์
|
||||||
waves.preview = พรีวิว
|
waves.preview = พรีวิว
|
||||||
waves.edit = แก้ไข...
|
waves.edit = แก้ไข...
|
||||||
|
waves.random = Random
|
||||||
waves.copy = คัดลอกไปยังคลิปบอร์ด
|
waves.copy = คัดลอกไปยังคลิปบอร์ด
|
||||||
waves.load = โหลดจากคลิปบอร์ด
|
waves.load = โหลดจากคลิปบอร์ด
|
||||||
waves.invalid = แบบคลื่นในคลิปบอร์ดไม่ถูกต้อง
|
waves.invalid = แบบคลื่นในคลิปบอร์ดไม่ถูกต้อง
|
||||||
@@ -1201,6 +1206,7 @@ rules.unitbuildspeedmultiplier = พหุคูณความเร็วใ
|
|||||||
rules.unitcostmultiplier = Unit Cost Multiplier
|
rules.unitcostmultiplier = Unit Cost Multiplier
|
||||||
rules.unithealthmultiplier = พหุคูณพลังชีวิตของยูนิต
|
rules.unithealthmultiplier = พหุคูณพลังชีวิตของยูนิต
|
||||||
rules.unitdamagemultiplier = พหุคูณพลังโจมตีของยูนิต
|
rules.unitdamagemultiplier = พหุคูณพลังโจมตีของยูนิต
|
||||||
|
rules.unitcrashdamagemultiplier = Unit Crash Damage Multiplier
|
||||||
rules.solarmultiplier = พหูคุณพลังงานแสงอาทิตย์
|
rules.solarmultiplier = พหูคุณพลังงานแสงอาทิตย์
|
||||||
rules.unitcapvariable = เพิ่มจำนวนยูนิตสูงสุดต่อแกนกลาง
|
rules.unitcapvariable = เพิ่มจำนวนยูนิตสูงสุดต่อแกนกลาง
|
||||||
rules.unitcap = ขีดกำจัดยูนิตสูงสุดพื้นฐาน
|
rules.unitcap = ขีดกำจัดยูนิตสูงสุดพื้นฐาน
|
||||||
|
|||||||
@@ -151,6 +151,7 @@ mod.outdatedv7.details = This mod is incompatible with the latest version of the
|
|||||||
mod.blacklisted.details = This mod has been manually blacklisted for causing crashes or other issues with this version of the game. Do not use it.
|
mod.blacklisted.details = This mod has been manually blacklisted for causing crashes or other issues with this version of the game. Do not use it.
|
||||||
mod.missingdependencies.details = This mod is missing dependencies: {0}
|
mod.missingdependencies.details = This mod is missing dependencies: {0}
|
||||||
mod.erroredcontent.details = This game caused errors when loading. Ask the mod author to fix them.
|
mod.erroredcontent.details = This game caused errors when loading. Ask the mod author to fix them.
|
||||||
|
mod.requiresversion = Requires game version: [red]{0}
|
||||||
mod.errors = Errors have occurred loading content.
|
mod.errors = Errors have occurred loading content.
|
||||||
mod.noerrorplay = [scarlet]You have mods with errors.[] Either disable the affected mods or fix the errors before playing.
|
mod.noerrorplay = [scarlet]You have mods with errors.[] Either disable the affected mods or fix the errors before playing.
|
||||||
mod.nowdisabled = [scarlet]Mod '{0}' is missing dependencies:[accent] {1}\n[lightgray]These mods need to be downloaded first.\nThis mod will be automatically disabled.
|
mod.nowdisabled = [scarlet]Mod '{0}' is missing dependencies:[accent] {1}\n[lightgray]These mods need to be downloaded first.\nThis mod will be automatically disabled.
|
||||||
@@ -283,6 +284,7 @@ server.invalidport = Geçersiz Oyun numarasi!
|
|||||||
server.error = [crimson]Oyun acarkes sorun olustu: [accent]{0}
|
server.error = [crimson]Oyun acarkes sorun olustu: [accent]{0}
|
||||||
save.new = Yeni Kayit Dosyasi
|
save.new = Yeni Kayit Dosyasi
|
||||||
save.overwrite = Bu oyunun uzerinden\ngecmek istedigine emin\nmisin?
|
save.overwrite = Bu oyunun uzerinden\ngecmek istedigine emin\nmisin?
|
||||||
|
save.nocampaign = Individual save files from the campaign cannot be imported.
|
||||||
overwrite = uzerinden gec
|
overwrite = uzerinden gec
|
||||||
save.none = Kayitli oyun bulunamadi
|
save.none = Kayitli oyun bulunamadi
|
||||||
savefail = Kaydedilemedi!
|
savefail = Kaydedilemedi!
|
||||||
@@ -350,6 +352,8 @@ pausebuilding = [accent][[{0}][] to pause building
|
|||||||
resumebuilding = [scarlet][[{0}][] to resume building
|
resumebuilding = [scarlet][[{0}][] to resume building
|
||||||
enablebuilding = [scarlet][[{0}][] to enable building
|
enablebuilding = [scarlet][[{0}][] to enable building
|
||||||
showui = UI hidden.\nPress [accent][[{0}][] to show UI.
|
showui = UI hidden.\nPress [accent][[{0}][] to show UI.
|
||||||
|
commandmode.name = [accent]Command Mode
|
||||||
|
commandmode.nounits = [no units]
|
||||||
wave = [accent]Dalga {0}
|
wave = [accent]Dalga {0}
|
||||||
wave.cap = [accent]Wave {0}/{1}
|
wave.cap = [accent]Wave {0}/{1}
|
||||||
wave.waiting = Dalganin baslamasina: {0}
|
wave.waiting = Dalganin baslamasina: {0}
|
||||||
@@ -434,6 +438,7 @@ waves.max = max units
|
|||||||
waves.guardian = Guardian
|
waves.guardian = Guardian
|
||||||
waves.preview = Preview
|
waves.preview = Preview
|
||||||
waves.edit = Edit...
|
waves.edit = Edit...
|
||||||
|
waves.random = Random
|
||||||
waves.copy = Copy to Clipboard
|
waves.copy = Copy to Clipboard
|
||||||
waves.load = Load from Clipboard
|
waves.load = Load from Clipboard
|
||||||
waves.invalid = Invalid waves in clipboard.
|
waves.invalid = Invalid waves in clipboard.
|
||||||
@@ -1188,6 +1193,7 @@ rules.unitbuildspeedmultiplier = Unit Creation Speed Multiplier
|
|||||||
rules.unitcostmultiplier = Unit Cost Multiplier
|
rules.unitcostmultiplier = Unit Cost Multiplier
|
||||||
rules.unithealthmultiplier = Unit Health Multiplier
|
rules.unithealthmultiplier = Unit Health Multiplier
|
||||||
rules.unitdamagemultiplier = Unit Damage Multiplier
|
rules.unitdamagemultiplier = Unit Damage Multiplier
|
||||||
|
rules.unitcrashdamagemultiplier = Unit Crash Damage Multiplier
|
||||||
rules.solarmultiplier = Solar Power Multiplier
|
rules.solarmultiplier = Solar Power Multiplier
|
||||||
rules.unitcapvariable = Cores Contribute To Unit Cap
|
rules.unitcapvariable = Cores Contribute To Unit Cap
|
||||||
rules.unitcap = Base Unit Cap
|
rules.unitcap = Base Unit Cap
|
||||||
|
|||||||
@@ -154,6 +154,7 @@ mod.outdatedv7.details = Bu mod, oyunun en son sürümüyle uyumsuz. Modun yapm
|
|||||||
mod.blacklisted.details = Bu mod, oyunun bu sürümüyle hata verdiğinden veya başka sorunlar ötürü kara listeye alınmıştır. [#ff]KULLANMAYINIZ!
|
mod.blacklisted.details = Bu mod, oyunun bu sürümüyle hata verdiğinden veya başka sorunlar ötürü kara listeye alınmıştır. [#ff]KULLANMAYINIZ!
|
||||||
mod.missingdependencies.details = Bu Mod, şu ek modları gerektiriyor: {0}
|
mod.missingdependencies.details = Bu Mod, şu ek modları gerektiriyor: {0}
|
||||||
mod.erroredcontent.details = Bu mod yüklenirken hata veriyor, yapımcıdan hataları düzeltmesini isteyin.
|
mod.erroredcontent.details = Bu mod yüklenirken hata veriyor, yapımcıdan hataları düzeltmesini isteyin.
|
||||||
|
mod.requiresversion = Requires game version: [red]{0}
|
||||||
mod.errors = İçerik yüklenirken bir hata oluştu.
|
mod.errors = İçerik yüklenirken bir hata oluştu.
|
||||||
mod.noerrorplay = [scarlet]Hatalı modlarınız var.[] Oynamadan önce bu modları devre dışı bırakın veya dosyadaki hataları düzeltin.
|
mod.noerrorplay = [scarlet]Hatalı modlarınız var.[] Oynamadan önce bu modları devre dışı bırakın veya dosyadaki hataları düzeltin.
|
||||||
mod.nowdisabled = [scarlet]'{0}' modunun çalışması için gerekli olan modlardan bazıları bulunamadı:[accent] {1}\n[lightgray]Önce bu modların indirilmesi gerekmektedir.\nBu mod otomatik olarak devre dışı bırakılacaktır.
|
mod.nowdisabled = [scarlet]'{0}' modunun çalışması için gerekli olan modlardan bazıları bulunamadı:[accent] {1}\n[lightgray]Önce bu modların indirilmesi gerekmektedir.\nBu mod otomatik olarak devre dışı bırakılacaktır.
|
||||||
@@ -287,6 +288,7 @@ server.invalidport = Geçersiz port sayısı!
|
|||||||
server.error = [crimson]Sunucu kurulamadı: [accent]{0}
|
server.error = [crimson]Sunucu kurulamadı: [accent]{0}
|
||||||
save.new = Yeni kayıt
|
save.new = Yeni kayıt
|
||||||
save.overwrite = Bu kaydın üstüne yazmak istediğine\nemin misin?
|
save.overwrite = Bu kaydın üstüne yazmak istediğine\nemin misin?
|
||||||
|
save.nocampaign = Individual save files from the campaign cannot be imported.
|
||||||
overwrite = Üstüne yaz
|
overwrite = Üstüne yaz
|
||||||
save.none = Kayıt bulunamadı!
|
save.none = Kayıt bulunamadı!
|
||||||
savefail = Oyun kaydedilemedi!
|
savefail = Oyun kaydedilemedi!
|
||||||
@@ -354,6 +356,8 @@ pausebuilding = [accent][[{0}][] İnşaatı durdur
|
|||||||
resumebuilding = [scarlet][[{0}][] İnşaata devam et
|
resumebuilding = [scarlet][[{0}][] İnşaata devam et
|
||||||
enablebuilding = [scarlet][[{0}][] İnşa Etmeyi Başlat
|
enablebuilding = [scarlet][[{0}][] İnşa Etmeyi Başlat
|
||||||
showui = Arayüz Kapalı.\nAçmak için [accent][[{0}][] bas.
|
showui = Arayüz Kapalı.\nAçmak için [accent][[{0}][] bas.
|
||||||
|
commandmode.name = [accent]Command Mode
|
||||||
|
commandmode.nounits = [no units]
|
||||||
wave = [accent]Dalga {0}
|
wave = [accent]Dalga {0}
|
||||||
wave.cap = [accent]Dalga {0}/{1}
|
wave.cap = [accent]Dalga {0}/{1}
|
||||||
wave.waiting = [lightgray]{0} saniye içinde dalga başlayacak
|
wave.waiting = [lightgray]{0} saniye içinde dalga başlayacak
|
||||||
@@ -438,6 +442,7 @@ waves.max = maks birim
|
|||||||
waves.guardian = Gardiyan
|
waves.guardian = Gardiyan
|
||||||
waves.preview = Önizleme
|
waves.preview = Önizleme
|
||||||
waves.edit = Düzenle...
|
waves.edit = Düzenle...
|
||||||
|
waves.random = Random
|
||||||
waves.copy = Panodan kopyala
|
waves.copy = Panodan kopyala
|
||||||
waves.load = Panodan yükle
|
waves.load = Panodan yükle
|
||||||
waves.invalid = Panoda geçersiz dalga sayısı var.
|
waves.invalid = Panoda geçersiz dalga sayısı var.
|
||||||
@@ -1199,6 +1204,7 @@ rules.unitbuildspeedmultiplier = Birim Üretim Hız Çarpanı
|
|||||||
rules.unitcostmultiplier = Birim Fiyat Çarpanı
|
rules.unitcostmultiplier = Birim Fiyat Çarpanı
|
||||||
rules.unithealthmultiplier = Birim Can Çarpanı
|
rules.unithealthmultiplier = Birim Can Çarpanı
|
||||||
rules.unitdamagemultiplier = Birim Hasar Çapanı
|
rules.unitdamagemultiplier = Birim Hasar Çapanı
|
||||||
|
rules.unitcrashdamagemultiplier = Unit Crash Damage Multiplier
|
||||||
rules.solarmultiplier = Güneş Paneli Üretim Çarpanı
|
rules.solarmultiplier = Güneş Paneli Üretim Çarpanı
|
||||||
rules.unitcapvariable = Merkezler Birim Sınırını Etkiler
|
rules.unitcapvariable = Merkezler Birim Sınırını Etkiler
|
||||||
rules.unitcap = Sabit Birim Sınırı
|
rules.unitcap = Sabit Birim Sınırı
|
||||||
|
|||||||
@@ -127,7 +127,7 @@ committingchanges = Здійснення змін
|
|||||||
done = Зроблено
|
done = Зроблено
|
||||||
feature.unsupported = Ваш пристрій не підтримує цю функцію
|
feature.unsupported = Ваш пристрій не підтримує цю функцію
|
||||||
|
|
||||||
mods.initfailed = [red]⚠[] Попереднього разу не вдалося ініціалізувати Mindustry. Це, ймовірно, було спричинено неправильними поведінкою модифікацій.\n\nДля запобігання нескінченним аварійним циклам [red]необхідно вимкнути всі модифікації.[]\n\nДля вимкнення цієї функції перейдіть до [accent]Налаштування -> Гра -> Вимикати модифікації після аварійного запуску[].
|
mods.initfailed = [red]⚠[] Попереднього разу не вдалося ініціалізувати Mindustry. Це, ймовірно, спричинено неправильною поведінкою модифікацій.\n\nДля запобігання нескінченним аварійним циклам [red]необхідно вимкнути всі модифікації.[]\n\nДля вимкнення цієї функції перейдіть до [accent]Налаштування -> Гра -> Вимикати модифікації після аварійного запуску[].
|
||||||
mods = Модифікації
|
mods = Модифікації
|
||||||
mods.none = [lightgray]Модифікацій не знайдено!
|
mods.none = [lightgray]Модифікацій не знайдено!
|
||||||
mods.guide = Посібник із модифікацій
|
mods.guide = Посібник із модифікацій
|
||||||
@@ -144,22 +144,24 @@ mod.multiplayer.compatible = [gray]Доступна у багатоосібні
|
|||||||
mod.disable = Вимкнути
|
mod.disable = Вимкнути
|
||||||
mod.content = Зміст:
|
mod.content = Зміст:
|
||||||
mod.delete.error = Неможливо видалити модифікацію. Файл, можливо, використовується.
|
mod.delete.error = Неможливо видалити модифікацію. Файл, можливо, використовується.
|
||||||
mod.incompatiblegame = [red]Outdated Game
|
|
||||||
mod.incompatiblemod = [red]Incompatible
|
mod.incompatiblegame = [red]Застаріла гра
|
||||||
mod.blacklisted = [red]Unsupported
|
mod.incompatiblemod = [red]Несумісно
|
||||||
mod.unmetdependencies = [red]Unmet Dependencies
|
mod.blacklisted = [red]Не підтримується
|
||||||
|
mod.unmetdependencies = [red]Відсутні залежності
|
||||||
mod.erroredcontent = [scarlet]Помилки під час завантаження
|
mod.erroredcontent = [scarlet]Помилки під час завантаження
|
||||||
mod.requiresversion.details = Requires game version: [accent]{0}[]\nYour game is outdated. This mod requires a newer version of the game (possibly a beta/alpha release) to function.
|
mod.requiresversion.details = Необхідна версія гри: [accent]{0}[]\nВаша гра застаріла. Мод потребує новішу версію гри (можливо бета- чи альфа-версію) для роботи.mod.outdatedv7.details = Ця модифікація не сумісна з останньою версією гри. Розробник модифікації має оновити її та додати [accent]minGameVersion: 136[] у свій [accent]mod.json[] файл.
|
||||||
mod.outdatedv7.details = This mod is incompatible with the latest version of the game. The author must update it, and add [accent]minGameVersion: 136[] to its [accent]mod.json[] file.
|
mod.outdatedv7.details = This mod is incompatible with the latest version of the game. The author must update it, and add [accent]minGameVersion: 136[] to its [accent]mod.json[] file.
|
||||||
mod.blacklisted.details = This mod has been manually blacklisted for causing crashes or other issues with this version of the game. Do not use it.
|
mod.blacklisted.details = Цю модифікацію було вручну внесено у чорний список за постійні збої або інші проблеми з цією версією гри. Не використовуйте її.
|
||||||
mod.missingdependencies.details = This mod is missing dependencies: {0}
|
mod.missingdependencies.details = This mod is missing dependencies: {0}
|
||||||
mod.erroredcontent.details = This game caused errors when loading. Ask the mod author to fix them.
|
mod.erroredcontent.details = Ця модифікація спричинила помилки при завантаженні. Попросіть автора виправити їх.
|
||||||
|
mod.requiresversion = Необхідна версія гри: [red]{0}
|
||||||
mod.errors = Виникли помилки під час завантаження змісту.
|
mod.errors = Виникли помилки під час завантаження змісту.
|
||||||
mod.noerrorplay = [scarlet]Ви маєте модифікації з помилками.[] Або вимкніть проблемні модифікації, або виправте їх.
|
mod.noerrorplay = [red]Ви маєте модифікації з помилками.[] Або вимкніть проблемні модифікації, або виправте їх.
|
||||||
mod.nowdisabled = [scarlet]Модифікації «{0}» не вистачає залежних модифікацій:[accent] {1}\n[lightgray]Ці модифікації потрібно завантажити спочатку.\nЦя модифікація буде автоматично вимкнена.
|
mod.nowdisabled = [red]Модифікації «{0}» не вистачає залежних модифікацій:[accent] {1}\n[lightgray]Ці модифікації потрібно завантажити спочатку.\nЦя модифікація буде автоматично вимкнена.
|
||||||
mod.enable = Увімкнути
|
mod.enable = Увімкнути
|
||||||
mod.requiresrestart = А тепер гра закриється, щоби застосувати зміни модифікацій.
|
mod.requiresrestart = А тепер гра закриється, щоби застосувати зміни модифікацій.
|
||||||
mod.reloadrequired = [scarlet]Потрібно перезавантаження
|
mod.reloadrequired = [red]Потрібно перезавантаження
|
||||||
mod.import = Імпортувати модифікацію
|
mod.import = Імпортувати модифікацію
|
||||||
mod.import.file = Імпортувати файл
|
mod.import.file = Імпортувати файл
|
||||||
mod.import.github = Імпортувати з GitHub
|
mod.import.github = Імпортувати з GitHub
|
||||||
@@ -182,10 +184,10 @@ filename = Назва файлу:
|
|||||||
unlocked = Доступний новий вміст!
|
unlocked = Доступний новий вміст!
|
||||||
available = Нове дослідження доступно!
|
available = Нове дослідження доступно!
|
||||||
unlock.incampaign = < Розблокуйте в кампанії для отримання подробиць >
|
unlock.incampaign = < Розблокуйте в кампанії для отримання подробиць >
|
||||||
campaign.select = Select Starting Campaign
|
campaign.select = Виберіть початкову кампанію
|
||||||
campaign.none = [lightgray]Select a planet to start on.\nThis can be switched at any time.
|
campaign.none = [lightgray]Виберіть планету для старту.\nЇї можна змінити в будь-який момент.
|
||||||
campaign.erekir = Newer, more polished content. Mostly linear campaign progression.\n\nHigher quality maps and overall experience.
|
campaign.erekir = Новіший, більш відшліфований зміст. Переважно лінійний розвиток кампанії.\n\nВища якість мап та ліпший загальний досвід.
|
||||||
campaign.serpulo = Older content; the classic experience. More open-ended.\n\nPotentially unbalanced maps and campaign mechanics. Less polished.
|
campaign.serpulo = Старий зміст; класичний досвід. Більш відкрита.\n\nПотенційно незбалансовані мапи й механіки кампанії. Менш відшліфована.
|
||||||
completed = [accent]Завершено
|
completed = [accent]Завершено
|
||||||
techtree = Дерево технологій
|
techtree = Дерево технологій
|
||||||
techtree.select = Вибір дерева технологій
|
techtree.select = Вибір дерева технологій
|
||||||
@@ -234,7 +236,7 @@ hosts.none = [lightgray]Локальних ігор не знайдено
|
|||||||
host.invalid = [scarlet]Не вдалося під’єднатися до сервера.
|
host.invalid = [scarlet]Не вдалося під’єднатися до сервера.
|
||||||
|
|
||||||
servers.local = Локальні сервери
|
servers.local = Локальні сервери
|
||||||
servers.local.steam = Локальні сервери і сервери від гравців Steam
|
servers.local.steam = Локальні сервери й сервери від гравців Steam
|
||||||
servers.remote = Віддалені сервери
|
servers.remote = Віддалені сервери
|
||||||
servers.global = Глобальні сервери
|
servers.global = Глобальні сервери
|
||||||
|
|
||||||
@@ -287,6 +289,7 @@ server.invalidport = Недійсний номер порту!
|
|||||||
server.error = [crimson]Помилка створення сервера.
|
server.error = [crimson]Помилка створення сервера.
|
||||||
save.new = Нове збереження
|
save.new = Нове збереження
|
||||||
save.overwrite = Ви дійсно хочете перезаписати це місце збереження?
|
save.overwrite = Ви дійсно хочете перезаписати це місце збереження?
|
||||||
|
save.nocampaign = Individual save files from the campaign cannot be imported.
|
||||||
overwrite = Перезаписати
|
overwrite = Перезаписати
|
||||||
save.none = Збережень не знайдено!
|
save.none = Збережень не знайдено!
|
||||||
savefail = Не вдалося зберегти гру!
|
savefail = Не вдалося зберегти гру!
|
||||||
@@ -354,6 +357,8 @@ pausebuilding = [accent][[{0}][] для призупинення будуван
|
|||||||
resumebuilding = [scarlet][[{0}][] для продовження будування
|
resumebuilding = [scarlet][[{0}][] для продовження будування
|
||||||
enablebuilding = [scarlet][[{0}][] для увімкнення будування
|
enablebuilding = [scarlet][[{0}][] для увімкнення будування
|
||||||
showui = Користувацький інтерфейс приховано.\nНатисніть [accent][[{0}][], щоби показати його знову.
|
showui = Користувацький інтерфейс приховано.\nНатисніть [accent][[{0}][], щоби показати його знову.
|
||||||
|
commandmode.name = [accent]Режим командування
|
||||||
|
commandmode.nounits = [одиниць немає]
|
||||||
wave = [accent]Хвиля {0}
|
wave = [accent]Хвиля {0}
|
||||||
wave.cap = [accent]Хвиля {0}/{1}
|
wave.cap = [accent]Хвиля {0}/{1}
|
||||||
wave.waiting = [lightgray]Наступна хвиля\nчерез {0}
|
wave.waiting = [lightgray]Наступна хвиля\nчерез {0}
|
||||||
@@ -402,7 +407,7 @@ editor.oregen.info = Генерація руд:
|
|||||||
editor.mapinfo = Інформація про мапу
|
editor.mapinfo = Інформація про мапу
|
||||||
editor.author = Автор:
|
editor.author = Автор:
|
||||||
editor.description = Опис:
|
editor.description = Опис:
|
||||||
editor.nodescription = Мапа мусить мати щонайменше 4 символи для публікації.
|
editor.nodescription = Мапа мусить мати щонайменше 4 символи в описі для публікації.
|
||||||
editor.waves = Хвилі
|
editor.waves = Хвилі
|
||||||
editor.rules = Правила
|
editor.rules = Правила
|
||||||
editor.generation = Генерація
|
editor.generation = Генерація
|
||||||
@@ -438,6 +443,7 @@ waves.max = макс. одиниць
|
|||||||
waves.guardian = Вартовий
|
waves.guardian = Вартовий
|
||||||
waves.preview = Попередній перегляд
|
waves.preview = Попередній перегляд
|
||||||
waves.edit = Редагувати…
|
waves.edit = Редагувати…
|
||||||
|
waves.random = Випадково
|
||||||
waves.copy = Копіювати в буфер обміну
|
waves.copy = Копіювати в буфер обміну
|
||||||
waves.load = Завантажити з буфера обміну
|
waves.load = Завантажити з буфера обміну
|
||||||
waves.invalid = Недійсні хвилі в буфері обміну.
|
waves.invalid = Недійсні хвилі в буфері обміну.
|
||||||
@@ -622,6 +628,7 @@ marker.shapetext.name = Форма тексту
|
|||||||
marker.minimap.name = Мінімапа
|
marker.minimap.name = Мінімапа
|
||||||
marker.shape.name = Форма
|
marker.shape.name = Форма
|
||||||
marker.text.name = Текст
|
marker.text.name = Текст
|
||||||
|
|
||||||
marker.background = Фон
|
marker.background = Фон
|
||||||
marker.outline = Контур
|
marker.outline = Контур
|
||||||
|
|
||||||
@@ -649,12 +656,12 @@ resources.max = Максимум
|
|||||||
bannedblocks = Заборонені блоки
|
bannedblocks = Заборонені блоки
|
||||||
objectives = Завдання
|
objectives = Завдання
|
||||||
bannedunits = Заборонені одиниці
|
bannedunits = Заборонені одиниці
|
||||||
rules.hidebannedblocks = Hide Banned Blocks
|
rules.hidebannedblocks = Приховати заборені блоки
|
||||||
bannedunits.whitelist = Banned Units As Whitelist
|
bannedunits.whitelist = Заборонені одиниці як білий список
|
||||||
bannedblocks.whitelist = Banned Blocks As Whitelist
|
bannedblocks.whitelist = Заборонені блоки як білий список
|
||||||
addall = Додати все
|
addall = Додати все
|
||||||
launch.from = Запуск з [accent]{0}
|
launch.from = Запуск з [accent]{0}
|
||||||
launch.capacity = Ємність предметів, що запускаються: [accent]{0}
|
launch.capacity = Місткість предметів, що запускаються: [accent]{0}
|
||||||
launch.destination = Пункт призначення: {0}
|
launch.destination = Пункт призначення: {0}
|
||||||
configure.invalid = Кількість має бути числом між 0 та {0}.
|
configure.invalid = Кількість має бути числом між 0 та {0}.
|
||||||
add = Додати…
|
add = Додати…
|
||||||
@@ -676,8 +683,9 @@ weather.snow.name = Сніг
|
|||||||
weather.sandstorm.name = Піщана буря
|
weather.sandstorm.name = Піщана буря
|
||||||
weather.sporestorm.name = Спорова буря
|
weather.sporestorm.name = Спорова буря
|
||||||
weather.fog.name = Туман
|
weather.fog.name = Туман
|
||||||
campaign.playtime = \uf129 [lightgray]Sector Playtime: {0}
|
|
||||||
campaign.complete = [accent]Congratulations.\n\nThe enemy on {0} has been defeated.\n[lightgray]The final sector has been conquered.
|
campaign.playtime = \uf129 [lightgray]Час гри на секторі: {0}
|
||||||
|
campaign.complete = [accent]Вітаємо.\n\nВорога на {0} розгромлено.\n[lightgray]Фінальний сектор підкорено.
|
||||||
|
|
||||||
sectorlist = Сектори
|
sectorlist = Сектори
|
||||||
sectorlist.attacked = {0} під атакою
|
sectorlist.attacked = {0} під атакою
|
||||||
@@ -723,7 +731,7 @@ threat.eradication = викорінювальна
|
|||||||
|
|
||||||
planets = Планети
|
planets = Планети
|
||||||
|
|
||||||
planet.serpulo.name = Cерпуло
|
planet.serpulo.name = Серпуло
|
||||||
planet.erekir.name = Ерекір
|
planet.erekir.name = Ерекір
|
||||||
planet.sun.name = Сонце
|
planet.sun.name = Сонце
|
||||||
|
|
||||||
@@ -752,7 +760,7 @@ sector.saltFlats.description = На околицях пустелі лежать
|
|||||||
sector.craters.description = У цьому кратері накопичилася вода — пережиток старих воєн. Відновіть місцевість. Видобудьте пісок. Виплавте метаскло. Качайте воду, щоб охолоджувати башти та бури.
|
sector.craters.description = У цьому кратері накопичилася вода — пережиток старих воєн. Відновіть місцевість. Видобудьте пісок. Виплавте метаскло. Качайте воду, щоб охолоджувати башти та бури.
|
||||||
sector.ruinousShores.description = Повз пустки — берегова лінія. Колись у цьому місці розташувався береговий оборонний масив. Проте з тих давніх часів залишилося не дуже й багато чого. Тільки основні оборонні споруди лишилися неушкодженими, а все інше перетворилося на брухт.\nПродовжуйте експансію назовні. Дослідіть повторно забуті технології.
|
sector.ruinousShores.description = Повз пустки — берегова лінія. Колись у цьому місці розташувався береговий оборонний масив. Проте з тих давніх часів залишилося не дуже й багато чого. Тільки основні оборонні споруди лишилися неушкодженими, а все інше перетворилося на брухт.\nПродовжуйте експансію назовні. Дослідіть повторно забуті технології.
|
||||||
sector.stainedMountains.description = Якщо йти далі у вглиб материка, то можна побачити гори, що ще не заражені спорами.\nВидобудьте надлишковий титан у цій місцевості й дізнайтеся як використовувати його.\n\nВорожа присутність у цій місцевості значно більша. Не дайте ворогам часу надіслати свої найсильніші одиниці.
|
sector.stainedMountains.description = Якщо йти далі у вглиб материка, то можна побачити гори, що ще не заражені спорами.\nВидобудьте надлишковий титан у цій місцевості й дізнайтеся як використовувати його.\n\nВорожа присутність у цій місцевості значно більша. Не дайте ворогам часу надіслати свої найсильніші одиниці.
|
||||||
sector.overgrowth.description = Ближче до джерела спор є територія, що заросла.\nПротивник установив тут свій форпост. Побудуйте Титанів. Зруйнуйте укріплення.
|
sector.overgrowth.description = Ближче до джерела спор є територія, що заросла.\nПротивник установив тут свій форпост. Побудуйте титанів. Зруйнуйте укріплення.
|
||||||
sector.tarFields.description = Між горами та пустелею простягається край зони видобутку нафти. Це один із небагатьох районів із корисними для використання запасами дьогтю.\nНе зважаючи на те, що ця територія покинута, вона має поблизу небезпечні сили противника. Не варто їх недооцінювати.\n\n[lightgray]За можливістю дослідіть технологію перероблювання нафти.
|
sector.tarFields.description = Між горами та пустелею простягається край зони видобутку нафти. Це один із небагатьох районів із корисними для використання запасами дьогтю.\nНе зважаючи на те, що ця територія покинута, вона має поблизу небезпечні сили противника. Не варто їх недооцінювати.\n\n[lightgray]За можливістю дослідіть технологію перероблювання нафти.
|
||||||
sector.desolateRift.description = Надзвичайно небезпечна зона. Багато ресурсів, але мало місця. Високий ризик знищення. Евакуюватися потрібно якомога швидше. Не розслабляйтеся між ворожими атаками та знайдіть ахіллесову п’яту ворога.
|
sector.desolateRift.description = Надзвичайно небезпечна зона. Багато ресурсів, але мало місця. Високий ризик знищення. Евакуюватися потрібно якомога швидше. Не розслабляйтеся між ворожими атаками та знайдіть ахіллесову п’яту ворога.
|
||||||
sector.nuclearComplex.description = Колишній об’єкт для виробництва та перероблювання торію було зведено до руїн.\n[lightgray]Дослідіть торій та його нескінченну кількість застосувань.\n\n Противник, який постійно шукає нападників, присутній тут у великій кількості, тому не баріться з евакуацією.
|
sector.nuclearComplex.description = Колишній об’єкт для виробництва та перероблювання торію було зведено до руїн.\n[lightgray]Дослідіть торій та його нескінченну кількість застосувань.\n\n Противник, який постійно шукає нападників, присутній тут у великій кількості, тому не баріться з евакуацією.
|
||||||
@@ -762,8 +770,8 @@ sector.windsweptIslands.description = Далі, за береговою ліні
|
|||||||
sector.extractionOutpost.description = Віддалений форпост, побудований ворогом для запуску ресурсів в інші сектори. \n\nМіжсекторна транспортна технологія має важливе значення для подальшого завоювання. Знищте базу. Дослідіть їхні пускові майданчики.
|
sector.extractionOutpost.description = Віддалений форпост, побудований ворогом для запуску ресурсів в інші сектори. \n\nМіжсекторна транспортна технологія має важливе значення для подальшого завоювання. Знищте базу. Дослідіть їхні пускові майданчики.
|
||||||
sector.impact0078.description = Тут лежать залишки міжзоряного транспортного судна, що вперше потрапило в цю систему. \n\nВилучіть якомога більше корисного з уламків. Дослідіть будь-яку вцілілу технологію.
|
sector.impact0078.description = Тут лежать залишки міжзоряного транспортного судна, що вперше потрапило в цю систему. \n\nВилучіть якомога більше корисного з уламків. Дослідіть будь-яку вцілілу технологію.
|
||||||
sector.planetaryTerminal.description = Кінцева мета.\n\nЦя прибережна база містить структуру, здатну запускати ядра на навколишні планети. Надзвичайно добре охороняється.\n\nВиробляє військово-морські підрозділи. Усуньте ворога якомога швидше. Дослідіть структуру запуску.
|
sector.planetaryTerminal.description = Кінцева мета.\n\nЦя прибережна база містить структуру, здатну запускати ядра на навколишні планети. Надзвичайно добре охороняється.\n\nВиробляє військово-морські підрозділи. Усуньте ворога якомога швидше. Дослідіть структуру запуску.
|
||||||
sector.coastline.description = Remnants of naval unit technology have been detected at this location. Repel the enemy attacks, capture this sector, and acquire the technology.
|
sector.coastline.description = На цьому місці виявлено залишки військово-морських одиниць. Відбийте атаки супротивника, захопіть цей сектор та заволодійте технологією.
|
||||||
sector.navalFortress.description = The enemy has established a base on a remote, naturally-fortified island. Destroy this outpost. Acquire their advanced naval craft technology, and research it.
|
sector.navalFortress.description = Ворог створив базу на віддаленому, природно-укріпленому острові. Знищте цей форпост. Заволодійте їхніми передовими технологіями морських кораблів і дослідіть їх.
|
||||||
|
|
||||||
sector.onset.name = Перший наступ
|
sector.onset.name = Перший наступ
|
||||||
sector.aegis.name = Егіда
|
sector.aegis.name = Егіда
|
||||||
@@ -773,39 +781,40 @@ sector.atlas.name = Атлант
|
|||||||
sector.split.name = Розколина
|
sector.split.name = Розколина
|
||||||
sector.basin.name = Ставок
|
sector.basin.name = Ставок
|
||||||
sector.marsh.name = Marsh
|
sector.marsh.name = Marsh
|
||||||
sector.peaks.name = Peaks
|
sector.peaks.name = Вершини
|
||||||
sector.ravine.name = Ravine
|
sector.ravine.name = Яр
|
||||||
sector.caldera-erekir.name = Caldera
|
sector.caldera-erekir.name = Кальдера
|
||||||
sector.stronghold.name = Stronghold
|
sector.stronghold.name = Сторожова застава
|
||||||
sector.crevice.name = Crevice
|
sector.crevice.name = Провалля
|
||||||
sector.siege.name = Siege
|
sector.siege.name = Облога
|
||||||
sector.crossroads.name = Crossroads
|
sector.crossroads.name = Перехрестя
|
||||||
sector.karst.name = Karst
|
sector.karst.name = Карст
|
||||||
sector.origin.name = Origin
|
sector.origin.name = Джерело
|
||||||
sector.onset.description = Навчальний сектор. Це завдання ще не створено. Чекайте додаткової інформації.
|
|
||||||
|
sector.onset.description = Зберіть ресурси і дослідіть технології для автоматизації виробництва.\nПочніть атаку.\n
|
||||||
sector.aegis.description = Ворог захищений щитами. У цьому секторі виявлено експериментальний модуль зламувача щитів.\nЗнайдіть цю будівлю. Забезпечте її вольфрамовими боєприпасами та знищіть ворожу базу.
|
sector.aegis.description = Ворог захищений щитами. У цьому секторі виявлено експериментальний модуль зламувача щитів.\nЗнайдіть цю будівлю. Забезпечте її вольфрамовими боєприпасами та знищіть ворожу базу.
|
||||||
sector.lake.description = Шлакове озеро в цьому секторі значно обмежує вибір одиниць. Єдиний варіант — одиниця, що може підтримувати себе над землею.\nДослідіть [accent]корабельний виробник[] і виготовте одиницю [accent]Ухиляч[] якомога швидше.
|
sector.lake.description = Шлакове озеро в цьому секторі значно обмежує вибір одиниць. Єдиний варіант — одиниця, що може підтримувати себе над землею.\nДослідіть [accent]корабельний виробник[] і виготовте одиницю [accent]Ухиляч[] якомога швидше.
|
||||||
sector.intersect.description = Сканування показує, що цей сектор буде атаковано з кількох сторін невдовзі після приземлення.Швидко підготуйте захист і розширте його якнайшвидше.\nВам знадобляться [accent]Мехи[] для подалання нерівної місцевості.
|
sector.intersect.description = Сканування показує, що цей сектор буде атаковано з кількох сторін невдовзі після приземлення.Швидко підготуйте захист і розширте його якнайшвидше.\nВам знадобляться [accent]Мехи[] для подолання нерівної місцевості.
|
||||||
sector.atlas.description = Цей сектор містить різноманітну місцевість і потребує різноманітних одиниць для ефективної атаки.\nМодернізовані одиниці також можуть знадобитися, щоби подолати деякі складніші бази противника, виявлені тут.\nДослідіть [accent]Електролізер[] і [accent]Танковий рефабрикатор[].
|
sector.atlas.description = Цей сектор містить різноманітну місцевість і потребує різноманітних одиниць для ефективної атаки.\nМодернізовані одиниці також можуть знадобитися, щоби подолати деякі складніші бази противника, виявлені тут.\nДослідіть [accent]Електролізер[] і [accent]Танковий рефабрикатор[].
|
||||||
sector.split.description = Мінімальна ворожа присутність в цьому секторі робить його ідеальним для тестування нових транспортних технологій.
|
sector.split.description = Мінімальна ворожа присутність в цьому секторі робить його ідеальним для тестування нових транспортних технологій.
|
||||||
sector.basin.description = {Тимчасово}\n\nПоки що останній сектор. Вважайте це складним рівнем – у наступному релізі буде додано більше секторів.
|
sector.basin.description = У цьому секторі виявлено велику присутність ворога.\nШвидко створюйте одиниці та захоплюйте ворожі ядра, щоби закріпитися.
|
||||||
sector.marsh.description = This sector has an abundance of arkycite, but has limited vents.\nBuild [accent]Chemical Combustion Chambers[] to generate power.
|
sector.marsh.description = У цьому секторі багато аркіциту, але мало отворів.\nСпоруджуйте [accent]камери хімічного згоряння[], щоби виробляти енергію.
|
||||||
sector.peaks.description = The mountainous terrain in this sector make most units useless. Flying units will be required.\nBe aware of enemy anti-air installations. It may be possible to disable some of these installations by targeting their supporting buildings.
|
sector.peaks.description = Гірська місцевість в цьому секторі робить більшість одиниць непотрібними. Знадобиться присутність повітряних одиниць.\nБудьте уважні до ворожої ППО. Можливо, вдасться вивести з ладу деякі з цих установок, націлившись на їхні допоміжні будівлі.
|
||||||
sector.ravine.description = No enemy cores detected in the sector, although it's an important transportation route for the enemy. Expect a variety of enemy forces.\nProduce [accent]surge alloy[]. Construct [accent]Afflict[] turrets.
|
sector.ravine.description = Важливий транспортний маршрут для ворога. У секторі не виявлено ядер, але очікується присутність різноманітних сил противника.\nВиробіть [accent]кінетичний сплав[]. Побудуйте башти [accent]уражач[].
|
||||||
sector.caldera-erekir.description = The resources detected in this sector are scattered across several islands.\nResearch and deploy drone-based transportation.
|
sector.caldera-erekir.description = Виявлені в цьому секторі ресурси розкидані по декількох островах.\nДослідіть і розгорніть перевезення на базі дронів.
|
||||||
sector.stronghold.description = The large enemy encampment in this sector guards significant deposits of [accent]thorium[].\nUse it to develop higher tier units and turrets.
|
sector.stronghold.description = Великий ворожий табір в цьому секторі охороняє значні поклади [accent]торію[].\nВикористайте його для розвитку одиниць вищого рівня і башт.
|
||||||
sector.crevice.description = The enemy will send fierce attack forces to take out your base in this sector.\nDeveloping [accent]carbide[] and the [accent]Pyrolysis Generator[] may be imperative for survival.
|
sector.crevice.description = Ворог відправить запеклі штурмові сили, щоби знищити вашу базу в цьому секторі.\nРозробка [accent]карбіду[] і [accent]генератора піролізу[] може бути необхідною для виживання.
|
||||||
sector.siege.description = This sector features two parallel canyons that will force a two-pronged attack.\nResearch [accent]cyanogen[] to gain the capability to create even stronger tank units.\nCaution: enemy long-range missiles have been detected. The missiles may be shot down before impact.
|
sector.siege.description = У цьому секторі є два паралельні каньйони, які змусять вести двосторонню атаку.\nДослідіть [accent]ціаноген[], щоб отримати можливість створювати ще сильніші танкові частини.\nУвага: виявлено ворожі ракети дальнього радіусу дії. Ракети можуть бути збиті до входження в атмосферу.
|
||||||
sector.crossroads.description = The enemy bases in this sector have been established in varying terrain. Research different units to adapt.\nAdditionally, some bases are protected by shields. Figure out how they are powered.
|
sector.crossroads.description = Ворожі бази в цьому секторі були створені на пересіченій місцевості. Дослідіть різні одиниці, щоб пристосуватися.\nДо того ж, деякі бази захищені щитами. З'ясуйте, як вони отримують енергію.
|
||||||
sector.karst.description = This sector is rich in resources, but will be attacked by the enemy once a new core lands.\nTake advantage of the resources and research [accent]phase fabric[].
|
sector.karst.description = Цей сектор багатий на ресурси, але буде атакований ворогом, як тільки приземлиться нове ядро.\nВикористовуйте ресурси та дослідіть [accent]фазову тканину[].
|
||||||
sector.origin.description = The final sector with a significant enemy presence.\nNo probable research opportunities remain - focus solely on destroying all enemy cores.
|
sector.origin.description = Останній сектор зі значною присутністю ворога.\nНе залишається ймовірних можливостей для досліджень, тому зосередьтеся виключно на знищенні всіх ворожих ядер.
|
||||||
|
|
||||||
status.burning.name = Горіння
|
status.burning.name = Горіння
|
||||||
status.freezing.name = Замерзання
|
status.freezing.name = Замерзання
|
||||||
status.wet.name = Зволоженість
|
status.wet.name = Зволоженість
|
||||||
status.muddy.name = Забризканість гряззю
|
status.muddy.name = Забрудненість гряззю
|
||||||
status.melting.name = Плавлення
|
status.melting.name = Плавлення
|
||||||
status.sapped.name = Виснаженність
|
status.sapped.name = Виснаженість
|
||||||
status.electrified.name = Наелектризованість
|
status.electrified.name = Наелектризованість
|
||||||
status.spore-slowed.name = Сповільненість через спори
|
status.spore-slowed.name = Сповільненість через спори
|
||||||
status.tarred.name = Покриття нафтою
|
status.tarred.name = Покриття нафтою
|
||||||
@@ -833,7 +842,7 @@ settings.clearsaves = Очистити збереження
|
|||||||
settings.clearresearch = Очистити дослідження
|
settings.clearresearch = Очистити дослідження
|
||||||
settings.clearresearch.confirm = Ви справді хочете очистити дослідження кампанії?
|
settings.clearresearch.confirm = Ви справді хочете очистити дослідження кампанії?
|
||||||
settings.clearcampaignsaves = Очистити збереження в кампанії
|
settings.clearcampaignsaves = Очистити збереження в кампанії
|
||||||
settings.clearcampaignsaves.confirm = Ви справді хочете очистити всі збереженні в кампанії?
|
settings.clearcampaignsaves.confirm = Ви справді хочете очистити всі збереження в кампанії?
|
||||||
paused = [accent]< Пауза >
|
paused = [accent]< Пауза >
|
||||||
clear = Очистити
|
clear = Очистити
|
||||||
banned = [scarlet]Заблоковано
|
banned = [scarlet]Заблоковано
|
||||||
@@ -875,7 +884,7 @@ stat.powerconnections = Максимальна кількість з’єдна
|
|||||||
stat.poweruse = Енергії використовує
|
stat.poweruse = Енергії використовує
|
||||||
stat.powerdamage = Енергії за од. шкоди
|
stat.powerdamage = Енергії за од. шкоди
|
||||||
stat.itemcapacity = Місткість предметів
|
stat.itemcapacity = Місткість предметів
|
||||||
stat.memorycapacity = Ємність пам’яті
|
stat.memorycapacity = Місткість пам’яті
|
||||||
stat.basepowergeneration = Базова генерація енергії
|
stat.basepowergeneration = Базова генерація енергії
|
||||||
stat.productiontime = Час виробництва
|
stat.productiontime = Час виробництва
|
||||||
stat.repairtime = Час повного відновлення блоку
|
stat.repairtime = Час повного відновлення блоку
|
||||||
@@ -985,7 +994,7 @@ bullet.infinitepierce = [stat]пробиття
|
|||||||
bullet.healpercent = [stat]{0}[lightgray]% лікування
|
bullet.healpercent = [stat]{0}[lightgray]% лікування
|
||||||
bullet.healamount = [stat]{0}[lightgray] безпосереднього ремонту
|
bullet.healamount = [stat]{0}[lightgray] безпосереднього ремонту
|
||||||
bullet.multiplier = [stat]{0}[lightgray]x патронів
|
bullet.multiplier = [stat]{0}[lightgray]x патронів
|
||||||
bullet.reload = [stat]{0}[lightgray]x швидкість перезаряджання
|
bullet.reload = [stat]{0}%[lightgray] швидкість перезаряджання
|
||||||
bullet.range = [stat]{0}[lightgray] плиток
|
bullet.range = [stat]{0}[lightgray] плиток
|
||||||
|
|
||||||
unit.blocks = блоки
|
unit.blocks = блоки
|
||||||
@@ -1093,7 +1102,7 @@ public.confirm = Ви хочете зробити цю гру загальнод
|
|||||||
public.confirm.really = Якщо ви хочете грати з друзями, використовуйте [green]Запросити друзів[] замість [scarlet]Публічного сервера[]!\nВи справді хочете зробити свою гру [scarlet]публічною[]?
|
public.confirm.really = Якщо ви хочете грати з друзями, використовуйте [green]Запросити друзів[] замість [scarlet]Публічного сервера[]!\nВи справді хочете зробити свою гру [scarlet]публічною[]?
|
||||||
public.beta = Зауважте, що в бета-версії гри ви не можете робити публічні ігри.
|
public.beta = Зауважте, що в бета-версії гри ви не можете робити публічні ігри.
|
||||||
uiscale.reset = Масштаб користувацького інтерфейсу було змінено.\nНатисніть «Гаразд» для підтвердження цього масштабу.\n[scarlet]Повернення налаштувань і вихід через[accent] {0}[] секунд…
|
uiscale.reset = Масштаб користувацького інтерфейсу було змінено.\nНатисніть «Гаразд» для підтвердження цього масштабу.\n[scarlet]Повернення налаштувань і вихід через[accent] {0}[] секунд…
|
||||||
uiscale.cancel = Скасувати і вийти
|
uiscale.cancel = Скасувати й вийти
|
||||||
setting.bloom.name = Світіння
|
setting.bloom.name = Світіння
|
||||||
keybind.title = Налаштування керування
|
keybind.title = Налаштування керування
|
||||||
keybinds.mobile = [scarlet]Більшість прив’язаних клавіш не функціональні для мобільних пристроїв. Підтримується лише базовий рух.
|
keybinds.mobile = [scarlet]Більшість прив’язаних клавіш не функціональні для мобільних пристроїв. Підтримується лише базовий рух.
|
||||||
@@ -1116,7 +1125,7 @@ keybind.mouse_move.name = Рухатися за мишею
|
|||||||
keybind.pan.name = Політ камери за мишею
|
keybind.pan.name = Політ камери за мишею
|
||||||
keybind.boost.name = Прискорення
|
keybind.boost.name = Прискорення
|
||||||
keybind.command_mode.name = Режим командування
|
keybind.command_mode.name = Режим командування
|
||||||
keybind.rebuild_select.name = Rebuild Region
|
keybind.rebuild_select.name = Відбудувати регіон
|
||||||
keybind.schematic_select.name = Вибрати ділянку
|
keybind.schematic_select.name = Вибрати ділянку
|
||||||
keybind.schematic_menu.name = Меню схем
|
keybind.schematic_menu.name = Меню схем
|
||||||
keybind.schematic_flip_x.name = Віддзеркалити за віссю X
|
keybind.schematic_flip_x.name = Віддзеркалити за віссю X
|
||||||
@@ -1142,8 +1151,8 @@ keybind.select.name = Вибір/Постріл
|
|||||||
keybind.diagonal_placement.name = Діагональне розміщення
|
keybind.diagonal_placement.name = Діагональне розміщення
|
||||||
keybind.pick.name = Вибрати блок
|
keybind.pick.name = Вибрати блок
|
||||||
keybind.break_block.name = Зламати блок
|
keybind.break_block.name = Зламати блок
|
||||||
keybind.select_all_units = Select All Units
|
keybind.select_all_units = Вибрати всі одиниці
|
||||||
keybind.select_all_unit_factories = Select All Unit Factories
|
keybind.select_all_unit_factories = Вибрати всі заводи зі створення одиниць
|
||||||
keybind.deselect.name = Скасувати
|
keybind.deselect.name = Скасувати
|
||||||
keybind.pickupCargo.name = Взяти вантаж
|
keybind.pickupCargo.name = Взяти вантаж
|
||||||
keybind.dropCargo.name = Скинути вантаж
|
keybind.dropCargo.name = Скинути вантаж
|
||||||
@@ -1174,7 +1183,7 @@ mode.survival.description = Звичайний режим. У цьому реж
|
|||||||
mode.sandbox.name = Пісочниця
|
mode.sandbox.name = Пісочниця
|
||||||
mode.sandbox.description = Нескінченні ресурси та хвилі йдуть за вашим бажанням.
|
mode.sandbox.description = Нескінченні ресурси та хвилі йдуть за вашим бажанням.
|
||||||
mode.editor.name = Редактор
|
mode.editor.name = Редактор
|
||||||
mode.pvp.name = PvP
|
mode.pvp.name = ГПГ
|
||||||
mode.pvp.description = Боріться проти інших гравців.\n[gray]Для гри потрібно принаймні 2 ядра різного кольору на мапі.
|
mode.pvp.description = Боріться проти інших гравців.\n[gray]Для гри потрібно принаймні 2 ядра різного кольору на мапі.
|
||||||
mode.attack.name = Наступ
|
mode.attack.name = Наступ
|
||||||
mode.attack.description = Зруйнуйте ворожу базу. \n[gray]Потрібно червоне ядро на мапі для гри.
|
mode.attack.description = Зруйнуйте ворожу базу. \n[gray]Потрібно червоне ядро на мапі для гри.
|
||||||
@@ -1187,14 +1196,14 @@ rules.coreincinerates = Ядро спалює надлишкові предме
|
|||||||
rules.disableworldprocessors = Вимкнути світові процесори
|
rules.disableworldprocessors = Вимкнути світові процесори
|
||||||
rules.schematic = Використання схем дозволено
|
rules.schematic = Використання схем дозволено
|
||||||
rules.wavetimer = Таймер для хвиль
|
rules.wavetimer = Таймер для хвиль
|
||||||
rules.wavesending = Wave Sending
|
rules.wavesending = Ручне надсилання хвиль
|
||||||
rules.waves = Хвилі
|
rules.waves = Хвилі
|
||||||
rules.attack = Режим атаки
|
rules.attack = Режим атаки
|
||||||
rules.rtsai = ШІ зі стратегій реального часу
|
rules.rtsai = ШІ зі стратегій реального часу
|
||||||
rules.rtsminsquadsize = Мінімальний розмір загону
|
rules.rtsminsquadsize = Мінімальний розмір загону
|
||||||
rules.rtsmaxsquadsize = Максимальний розмір загону
|
rules.rtsmaxsquadsize = Максимальний розмір загону
|
||||||
rules.rtsminattackweight = Мінімальна ударна вага
|
rules.rtsminattackweight = Мінімальна ударна вага
|
||||||
rules.cleanupdeadteams = Очистити будівлі переможеної команди (PvP)
|
rules.cleanupdeadteams = Очистити будівлі переможеної команди (ГПГ)
|
||||||
rules.corecapture = Захоплення ядра після знищення
|
rules.corecapture = Захоплення ядра після знищення
|
||||||
rules.polygoncoreprotection = Полігональний захист ядер
|
rules.polygoncoreprotection = Полігональний захист ядер
|
||||||
rules.placerangecheck = Перевірка діапазону розміщення
|
rules.placerangecheck = Перевірка діапазону розміщення
|
||||||
@@ -1202,9 +1211,10 @@ rules.enemyCheat = Нескінченні ресурси для червоної
|
|||||||
rules.blockhealthmultiplier = Множник здоров’я блоків
|
rules.blockhealthmultiplier = Множник здоров’я блоків
|
||||||
rules.blockdamagemultiplier = Множник шкоди блоків
|
rules.blockdamagemultiplier = Множник шкоди блоків
|
||||||
rules.unitbuildspeedmultiplier = Множник швидкості виробництва бойових одиниць
|
rules.unitbuildspeedmultiplier = Множник швидкості виробництва бойових одиниць
|
||||||
rules.unitcostmultiplier = Unit Cost Multiplier
|
rules.unitcostmultiplier = Множник вартості одиниць
|
||||||
rules.unithealthmultiplier = Множник здоров’я бойових одиниць
|
rules.unithealthmultiplier = Множник здоров’я бойових одиниць
|
||||||
rules.unitdamagemultiplier = Множник шкоди бойових одиниць
|
rules.unitdamagemultiplier = Множник шкоди бойових одиниць
|
||||||
|
rules.unitcrashdamagemultiplier = Unit Crash Damage Multiplier
|
||||||
rules.solarmultiplier = Множник сонячної енергії
|
rules.solarmultiplier = Множник сонячної енергії
|
||||||
rules.unitcapvariable = Ядра збільшують обмеження на кількість одиниць
|
rules.unitcapvariable = Ядра збільшують обмеження на кількість одиниць
|
||||||
rules.unitcap = Початкове обмеження одиниць
|
rules.unitcap = Початкове обмеження одиниць
|
||||||
@@ -1244,7 +1254,7 @@ content.liquid.name = Рідини
|
|||||||
content.unit.name = Бойові одиниці
|
content.unit.name = Бойові одиниці
|
||||||
content.block.name = Блоки
|
content.block.name = Блоки
|
||||||
content.status.name = Ефекти стану
|
content.status.name = Ефекти стану
|
||||||
content.sector.name = Cектори
|
content.sector.name = Сектори
|
||||||
content.team.name = Фракції
|
content.team.name = Фракції
|
||||||
|
|
||||||
wallore = (Стіна)
|
wallore = (Стіна)
|
||||||
@@ -1343,8 +1353,8 @@ unit.incite.name = Підбурювач
|
|||||||
unit.emanate.name = Випромінювач
|
unit.emanate.name = Випромінювач
|
||||||
unit.manifold.name = Колектор
|
unit.manifold.name = Колектор
|
||||||
unit.assembly-drone.name = Монтажний дрон
|
unit.assembly-drone.name = Монтажний дрон
|
||||||
unit.latum.name = Latum
|
unit.latum.name = Латум
|
||||||
unit.renale.name = Renale
|
unit.renale.name = Реналь
|
||||||
|
|
||||||
block.parallax.name = Паралакс
|
block.parallax.name = Паралакс
|
||||||
block.cliff.name = Скеля
|
block.cliff.name = Скеля
|
||||||
@@ -1455,10 +1465,10 @@ block.junction.name = Перехрестя
|
|||||||
block.router.name = Маршрутизатор
|
block.router.name = Маршрутизатор
|
||||||
block.distributor.name = Розподілювач
|
block.distributor.name = Розподілювач
|
||||||
block.sorter.name = Сортувальник
|
block.sorter.name = Сортувальник
|
||||||
block.inverted-sorter.name = Зворотній сортувальник
|
block.inverted-sorter.name = Зворотний сортувальник
|
||||||
block.message.name = Повідомлення
|
block.message.name = Повідомлення
|
||||||
block.reinforced-message.name = Reinforced Message
|
block.reinforced-message.name = Посилене повідомлення
|
||||||
block.world-message.name = World Message
|
block.world-message.name = Світове повідомлення
|
||||||
block.illuminator.name = Освітлювач
|
block.illuminator.name = Освітлювач
|
||||||
block.overflow-gate.name = Надмірний затвор
|
block.overflow-gate.name = Надмірний затвор
|
||||||
block.underflow-gate.name = Недостатній затвор
|
block.underflow-gate.name = Недостатній затвор
|
||||||
@@ -1519,11 +1529,11 @@ block.liquid-tank.name = Рідинний резервуар
|
|||||||
block.liquid-container.name = Рідинний контейнер
|
block.liquid-container.name = Рідинний контейнер
|
||||||
block.liquid-junction.name = Рідинне перехрестя
|
block.liquid-junction.name = Рідинне перехрестя
|
||||||
block.bridge-conduit.name = Мостовий трубопровід
|
block.bridge-conduit.name = Мостовий трубопровід
|
||||||
block.rotary-pump.name = Роторний насос
|
block.rotary-pump.name = Роторна помпа
|
||||||
block.thorium-reactor.name = Торієвий реактор
|
block.thorium-reactor.name = Торієвий реактор
|
||||||
block.mass-driver.name = Електромагнітна катапульта
|
block.mass-driver.name = Електромагнітна катапульта
|
||||||
block.blast-drill.name = Бурова установка
|
block.blast-drill.name = Бурова установка
|
||||||
block.impulse-pump.name = Тепловий насос
|
block.impulse-pump.name = Теплова помпа
|
||||||
block.thermal-generator.name = Теплогенератор
|
block.thermal-generator.name = Теплогенератор
|
||||||
block.surge-smelter.name = Сплавовий завод
|
block.surge-smelter.name = Сплавовий завод
|
||||||
block.mender.name = Ремонтник
|
block.mender.name = Ремонтник
|
||||||
@@ -1555,7 +1565,7 @@ block.payload-router.name = Розвантажувальний маршрути
|
|||||||
block.duct.name = Канал
|
block.duct.name = Канал
|
||||||
block.duct-router.name = Канальний маршрутизатор
|
block.duct-router.name = Канальний маршрутизатор
|
||||||
block.duct-bridge.name = Канальний міст
|
block.duct-bridge.name = Канальний міст
|
||||||
block.large-payload-mass-driver.name = Large Payload Mass Driver
|
block.large-payload-mass-driver.name = Велика вантажна катапульта
|
||||||
block.payload-void.name = Вантажний вакуум
|
block.payload-void.name = Вантажний вакуум
|
||||||
block.payload-source.name = Вантажне джерело
|
block.payload-source.name = Вантажне джерело
|
||||||
block.disassembler.name = Розбирач
|
block.disassembler.name = Розбирач
|
||||||
@@ -1598,7 +1608,7 @@ block.carbon-vent.name = Вуглецеве джерело
|
|||||||
block.arkyic-vent.name = Аркицитове джерело
|
block.arkyic-vent.name = Аркицитове джерело
|
||||||
block.yellow-stone-vent.name = Жовте кам’яне джерело
|
block.yellow-stone-vent.name = Жовте кам’яне джерело
|
||||||
block.red-stone-vent.name = Червоне кам’яне джерело
|
block.red-stone-vent.name = Червоне кам’яне джерело
|
||||||
block.crystalline-vent.name = Crystalline Vent
|
block.crystalline-vent.name = Кристалічне джерело
|
||||||
block.redmat.name = Редмат
|
block.redmat.name = Редмат
|
||||||
block.bluemat.name = Блюмат
|
block.bluemat.name = Блюмат
|
||||||
block.core-zone.name = Зона ядра
|
block.core-zone.name = Зона ядра
|
||||||
@@ -1609,7 +1619,7 @@ block.carbon-wall.name = Вуглецева стіна
|
|||||||
block.ferric-stone-wall.name = Залізно-кам’яна стіна
|
block.ferric-stone-wall.name = Залізно-кам’яна стіна
|
||||||
block.beryllic-stone-wall.name = Берилієва кам’яна стіна
|
block.beryllic-stone-wall.name = Берилієва кам’яна стіна
|
||||||
block.arkyic-wall.name = Аркицитова стіна
|
block.arkyic-wall.name = Аркицитова стіна
|
||||||
block.crystalline-stone-wall.name = Кристальна кам’яна стіна
|
block.crystalline-stone-wall.name = Кристалічна кам’яна стіна
|
||||||
block.red-ice-wall.name = Червона льодова стіна
|
block.red-ice-wall.name = Червона льодова стіна
|
||||||
block.red-stone-wall.name = Червона кам’яна стіна
|
block.red-stone-wall.name = Червона кам’яна стіна
|
||||||
block.red-diamond-wall.name = Червона діамантова стіна
|
block.red-diamond-wall.name = Червона діамантова стіна
|
||||||
@@ -1670,7 +1680,7 @@ block.surge-conveyor.name = Кінетичний конвеєр
|
|||||||
block.surge-router.name = Кінетичний маршрутизатор
|
block.surge-router.name = Кінетичний маршрутизатор
|
||||||
block.unit-cargo-loader.name = Завантажувальна точка для одиниць
|
block.unit-cargo-loader.name = Завантажувальна точка для одиниць
|
||||||
block.unit-cargo-unload-point.name = Розвантажувальна точка для одиниць
|
block.unit-cargo-unload-point.name = Розвантажувальна точка для одиниць
|
||||||
block.reinforced-pump.name = Посилений насос
|
block.reinforced-pump.name = Посилена помпа
|
||||||
block.reinforced-conduit.name = Посилений трубопровід
|
block.reinforced-conduit.name = Посилений трубопровід
|
||||||
block.reinforced-liquid-junction.name = Посилене рідинне перехрестя
|
block.reinforced-liquid-junction.name = Посилене рідинне перехрестя
|
||||||
block.reinforced-bridge-conduit.name = Посилений мостовий трубопровід
|
block.reinforced-bridge-conduit.name = Посилений мостовий трубопровід
|
||||||
@@ -1680,11 +1690,11 @@ block.reinforced-liquid-tank.name = Посилений рідинний резе
|
|||||||
block.beam-node.name = Променевий вузол
|
block.beam-node.name = Променевий вузол
|
||||||
block.beam-tower.name = Променева вежа
|
block.beam-tower.name = Променева вежа
|
||||||
block.beam-link.name = Променевий з’єднувач
|
block.beam-link.name = Променевий з’єднувач
|
||||||
block.turbine-condenser.name = Tурбінний конденсатор
|
block.turbine-condenser.name = Турбінний конденсатор
|
||||||
block.chemical-combustion-chamber.name = Камера хімічнного згоряння
|
block.chemical-combustion-chamber.name = Камера хімічного згоряння
|
||||||
block.pyrolysis-generator.name = Піролізовий генератор
|
block.pyrolysis-generator.name = Пиролізовий генератор
|
||||||
block.vent-condenser.name = Джерельний конденсатор
|
block.vent-condenser.name = Джерельний конденсатор
|
||||||
block.cliff-crusher.name = Дробилка скель
|
block.cliff-crusher.name = Дробарка скель
|
||||||
block.plasma-bore.name = Плазмовий бурильник
|
block.plasma-bore.name = Плазмовий бурильник
|
||||||
block.large-plasma-bore.name = Великий плазмовий бурильник
|
block.large-plasma-bore.name = Великий плазмовий бурильник
|
||||||
block.impact-drill.name = Імпульсний бур
|
block.impact-drill.name = Імпульсний бур
|
||||||
@@ -1702,9 +1712,9 @@ block.afflict.name = Уражач
|
|||||||
block.lustre.name = Блиск
|
block.lustre.name = Блиск
|
||||||
block.scathe.name = Знищувач
|
block.scathe.name = Знищувач
|
||||||
block.fabricator.name = Виробник
|
block.fabricator.name = Виробник
|
||||||
block.tank-refabricator.name = Танковий рефабрикатор
|
block.tank-refabricator.name = Танковий перебудовний завод
|
||||||
block.mech-refabricator.name = Меховий рефакбрикатор
|
block.mech-refabricator.name = Меховий перебудовний завод
|
||||||
block.ship-refabricator.name = Корабельний рефабрикатор
|
block.ship-refabricator.name = Корабельний перебудовний завод
|
||||||
block.tank-assembler.name = Танковий збирач
|
block.tank-assembler.name = Танковий збирач
|
||||||
block.ship-assembler.name = Корабельний збирач
|
block.ship-assembler.name = Корабельний збирач
|
||||||
block.mech-assembler.name = Меховий збирач
|
block.mech-assembler.name = Меховий збирач
|
||||||
@@ -1715,9 +1725,9 @@ block.small-deconstructor.name = Малий деконструктор
|
|||||||
block.canvas.name = Полотно
|
block.canvas.name = Полотно
|
||||||
block.world-processor.name = Світовий процесор
|
block.world-processor.name = Світовий процесор
|
||||||
block.world-cell.name = Світова комірка пам’яті
|
block.world-cell.name = Світова комірка пам’яті
|
||||||
block.tank-fabricator.name = Танковий виробник
|
block.tank-fabricator.name = Танкобудівний завод
|
||||||
block.mech-fabricator.name = Меховий виробник
|
block.mech-fabricator.name = Мехобудівний завод
|
||||||
block.ship-fabricator.name = Корабельний виробник
|
block.ship-fabricator.name = Кораблебудівний завод
|
||||||
block.prime-refabricator.name = Головний переробник
|
block.prime-refabricator.name = Головний переробник
|
||||||
block.unit-repair-tower.name = Відновлювальна вежа
|
block.unit-repair-tower.name = Відновлювальна вежа
|
||||||
block.diffuse.name = Дифузатор
|
block.diffuse.name = Дифузатор
|
||||||
@@ -1752,19 +1762,20 @@ hint.respawn = Для відродження кораблем натисніть
|
|||||||
hint.respawn.mobile = Ви контролюєте одиницю чи структуру. Щоби відродитися як корабель, [accent]торкніться свого аватара вгорі ліворуч.[]
|
hint.respawn.mobile = Ви контролюєте одиницю чи структуру. Щоби відродитися як корабель, [accent]торкніться свого аватара вгорі ліворуч.[]
|
||||||
hint.desktopPause = Натисніть [accent][[Пробіл][], щоби зупинити чи продовжити гру.
|
hint.desktopPause = Натисніть [accent][[Пробіл][], щоби зупинити чи продовжити гру.
|
||||||
hint.breaking = Натисніть [accent]ПКМ[] і тягніть, щоби зруйнувати блоки.
|
hint.breaking = Натисніть [accent]ПКМ[] і тягніть, щоби зруйнувати блоки.
|
||||||
hint.breaking.mobile = Активуйте \ue817 [accent]молот[] внизу праворуч і зробіть швидке натискання блоків, щоби їх розібрати.\n\nУтримуйте палець протягом секунди і протягніть, щоби розібрати виділене.
|
hint.breaking.mobile = Активуйте \ue817 [accent]молот[] внизу праворуч і зробіть швидке натискання блоків, щоби їх розібрати.\n\nУтримуйте палець протягом секунди й протягніть, щоби розібрати виділене.
|
||||||
hint.blockInfo = Подивіться інформацію про блок. Перейдіть до [accent]меню будівництва[] і натисніть на кнопку [accent][[?][] праворуч.
|
hint.blockInfo = Подивіться інформацію про блок. Перейдіть до [accent]меню будівництва[] і натисніть на кнопку [accent][[?][] праворуч.
|
||||||
hint.derelict = Будівлі [accent]Переможених[] є зламаними залишками старих баз, що більше не функціонують.\n\nЇх можна [accent]деконструювати[] для отримання ресурсів.
|
hint.derelict = Будівлі [accent]Переможених[] є зламаними залишками старих баз, що більше не функціонують.\n\nЇх можна [accent]деконструювати[] для отримання ресурсів.
|
||||||
hint.research = Використовуйте кнопку \ue875 [accent]Дослідження[] для дослідження нової технології.
|
hint.research = Використовуйте кнопку \ue875 [accent]Дослідження[] для дослідження нової технології.
|
||||||
hint.research.mobile = Використовуйте \ue875 [accent]Дослідження[] в \ue88c [accent]меню[] для дослідження нової технології.
|
hint.research.mobile = Використовуйте \ue875 [accent]Дослідження[] в \ue88c [accent]меню[] для дослідження нової технології.
|
||||||
hint.unitControl = Утримуйте [accent][[лівий Ctrl][] і [accent]натисніть[] на одиницю чи башту, щоби контролювати її.
|
hint.unitControl = Утримуйте [accent][[лівий Ctrl][] і [accent]натисніть[] на одиницю чи башту, щоби контролювати її.
|
||||||
hint.unitControl.mobile = [accent][Зробіть коротке натискання двічі[], щоби контролювати союзні одиниці чи башти.
|
hint.unitControl.mobile = [accent][Зробіть коротке натискання двічі[], щоби контролювати союзні одиниці чи башти.
|
||||||
hint.unitSelectControl = To control units, enter [accent]command mode[] by holding [accent]L-shift.[]\nWhile in command mode, click and drag to select units. [accent]Right-click[] a location or target to command units there.
|
hint.unitSelectControl = Для керування одиницями увійдіть в [accent]режим командування[], утримуючи [accent]лівий Shift[].\nПеребуваючи в командному режимі, натисніть і протягуйте для вибору одиниць. Натисніть [accent]ПКМ[] на позицію або ціль, щоби віддати наказ одиницям, які там знаходяться.
|
||||||
hint.unitSelectControl.mobile = To control units, enter [accent]command mode[] by pressing the [accent]command[] button in the bottom left.\nWhile in command mode, long-press and drag to select units. Tap a location or target to command units there.
|
hint.unitSelectControl.mobile = Для керування одиницями увійдіть в [accent]режим командування[], натиснувши кнопку [accent]командувати[] ліворуч знизу.\nПеребуваючи в командному режимі, зробіть довгий натиск і протягуйте для вибору одиниць. Торкніться позиції або цілі, щоби віддати наказ одиницям, які там знаходяться.
|
||||||
hint.launch = Як тільки буде зібрано достатньо ресурсів, ви зможете зробити [accent]Запуск[] за допомогою вибору найближчих секторів \ue827 [accent]мапи[] внизу праворуч.
|
hint.launch = Once enough resources are collected, you can [accent]Launch[] by selecting nearby sectors from the \ue827 [accent]Map[] in the bottom right.
|
||||||
hint.launch.mobile = Як тільки буде зібрано достатньо ресурсів, ви зможете зробити [accent]Запуск[] за допомогою вибору найближчих секторів з \ue827 [accent]мапи[] у \ue88c [accent]меню[].
|
hint.launch.mobile = Як тільки буде зібрано достатньо ресурсів, ви зможете зробити [accent]Запуск[] за допомогою вибору найближчих секторів з \ue827 [accent]мапи[] у \ue88c [accent]меню[].
|
||||||
hint.schematicSelect = Утримуйте [accent][[F][] і тягніть, щоби вибрати блоки для їхнього подальшого копіювання і вставлення.\n\nНатисніть [accent][[СКМ][], щоби скопіювати певний тип блоку.
|
hint.schematicSelect = Утримуйте [accent][[F][] і тягніть, щоби вибрати блоки для їхнього подальшого копіювання і вставлення.\n\nНатисніть [accent][[СКМ][], щоби скопіювати певний тип блоку.
|
||||||
hint.rebuildSelect = Hold [accent][[B][] and drag to select destroyed block plans.\nThis will rebuild them automatically.
|
hint.rebuildSelect = Утримуючи [accent][[B][], протягніть, щоби вибрати зруйновані проєкти блоків.\nЦе призведе до їхнього автоматичного відновлення.
|
||||||
|
|
||||||
hint.conveyorPathfind = Утримуйте [accent][[лівий Ctrl][], коли тягнете конвеєри, щоб автоматично прокласти шлях.
|
hint.conveyorPathfind = Утримуйте [accent][[лівий Ctrl][], коли тягнете конвеєри, щоб автоматично прокласти шлях.
|
||||||
hint.conveyorPathfind.mobile = Увімкніть \ue844 [accent]діагональний режим[] і тягніть конвеєри, щоб автоматично прокласти шлях.
|
hint.conveyorPathfind.mobile = Увімкніть \ue844 [accent]діагональний режим[] і тягніть конвеєри, щоб автоматично прокласти шлях.
|
||||||
hint.boost = Утримуйте [accent][[лівий Shift][], щоби літати над перешкодами поточною одиницею.\n\nЛише декілька наземних одиниць мають цю перевагу.
|
hint.boost = Утримуйте [accent][[лівий Shift][], щоби літати над перешкодами поточною одиницею.\n\nЛише декілька наземних одиниць мають цю перевагу.
|
||||||
@@ -1772,61 +1783,64 @@ hint.payloadPickup = Натисніть [accent][[[], щоби підібрат
|
|||||||
hint.payloadPickup.mobile = [accent]Натисніть й утримуйте[] невеличкий блок чи одиницю, щоби підібрати їх.
|
hint.payloadPickup.mobile = [accent]Натисніть й утримуйте[] невеличкий блок чи одиницю, щоби підібрати їх.
|
||||||
hint.payloadDrop = Натисніть [accent]][], щоби вивантажити вантаж.
|
hint.payloadDrop = Натисніть [accent]][], щоби вивантажити вантаж.
|
||||||
hint.payloadDrop.mobile = [accent]Натисніть[] на вільне місце й [accent]утримуйте[], щоби вивантажити туди вантаж.
|
hint.payloadDrop.mobile = [accent]Натисніть[] на вільне місце й [accent]утримуйте[], щоби вивантажити туди вантаж.
|
||||||
hint.waveFire = Башта [accent]Хвиля[] з водою буде автоматично гасити найближчі пожежі.
|
hint.waveFire = Башта [accent]хвиля[] з водою буде автоматично гасити найближчі пожежі.
|
||||||
hint.generator = \uf879 [accent]Генератори внутрішнього згорання[] спалюють вугілля і передають енергію прилеглим блокам.\n\nРадіус передачі енергії можна збільшити за допомогою \uf87f [accent]силових вузлів[].
|
hint.generator = \uf879 [accent]Генератори внутрішнього згорання[] спалюють вугілля і передають енергію прилеглим блокам.\n\nРадіус передачі енергії можна збільшити за допомогою \uf87f [accent]силових вузлів[].
|
||||||
hint.guardian = [accent]Вартові[] одиниці броньовані. Слабкі боєприпаси, як-от [accent]мідь[] чи [accent]свинець[], [scarlet]не є ефективними[].\n\nВикористовуйте башти вищого рангу чи \uf835 [accent]графітові боєприпаси[] для Подвійної башти чи\uf859Залпу, щоб убити Вартових.
|
hint.guardian = [accent]Вартові[] одиниці броньовані. Слабкі боєприпаси, як-от [accent]мідь[] чи [accent]свинець[], [scarlet]не є ефективними[].\n\nВикористовуйте башти вищого рангу чи \uf835 [accent]графітові боєприпаси[] для Подвійної башти чи\uf859Залпу, щоб убити Вартових.
|
||||||
hint.coreUpgrade = Ядро можна покращити, якщо [accent]розмістити поверх нього ядро вищого рівня[].\n\nРозмістіть \uf868 ядро [accent]«Штаб»[] поверх \uf869 ядра [accent]«Уламок»[]. Переконайтесь, що поблизу ядер немає перешкод (зайвих блоків).
|
hint.coreUpgrade = Ядро можна покращити, якщо [accent]розмістити поверх нього ядро вищого рівня[].\n\nРозмістіть \uf868 ядро [accent]«Штаб»[] поверх \uf869 ядра [accent]«Уламок»[]. Переконайтесь, що поблизу ядер немає перешкод (зайвих блоків).
|
||||||
hint.presetLaunch = Сірі [accent]сектори зони посадки[], як-от [accent]Крижаний ліс[], можна запустити з будь-якого місця. Вони не вимагають захоплення сусідньої території.\n\n[accent]Нумеровані сектори[], як цей, [accent]необов’язкові[].
|
hint.presetLaunch = Сірі [accent]сектори зони посадки[], як-от [accent]Крижаний ліс[], можна запустити з будь-якого місця. Вони не вимагають захоплення сусідньої території.\n\n[accent]Нумеровані сектори[], як цей, [accent]необов’язкові[].
|
||||||
hint.presetDifficulty = Цей сектор має [scarlet]високий рівень ворожої загрози[].\nРобити запуск в такі [accent]не рекомендується[] без належних технологій та підготовки.
|
hint.presetDifficulty = Цей сектор має [scarlet]високий рівень ворожої загрози[].\nРобити запуск в такі [accent]не рекомендується[] без належних технологій та підготовки.
|
||||||
hint.coreIncinerate = Після того, як ядро наповниться предметом, будь-які додаткові предмети того ж типу, які воно отримує, будуть [accent]спалені[].
|
hint.coreIncinerate = Після того, як ядро наповниться предметом, будь-які додаткові предмети того ж типу, які воно отримує, будуть [accent]спалені[].
|
||||||
hint.factoryControl = Щоб установити [accent]місце виводу[] фабрики одиниць, клацніть на неї у режимі командування, потім клацніть ПКМ на місце призначення. \nВироблені нею одиниці автоматично перемістяться туди.
|
hint.factoryControl = Щоб установити [accent]місце виводу[] заводу одиниць, клацніть на неї у режимі командування, потім клацніть ПКМ на місце призначення. \nВироблені нею одиниці автоматично перемістяться туди.
|
||||||
hint.factoryControl.mobile = Щоб установити [accent]місце виводу[] фабрики одиниць, швидко натисніть на неї у режимі командування, потім зробіть коротке натискання на місце призначення. \nВироблені нею одиниці автоматично перемістяться туди.
|
hint.factoryControl.mobile = Щоб установити [accent]місце виводу[] заводу одиниць, швидко натисніть на неї у режимі командування, потім зробіть коротке натискання на місце призначення. \nВироблені нею одиниці автоматично перемістяться туди.
|
||||||
gz.mine = Move near the \uf8c4 [accent]copper ore[] on the ground and click to begin mining.
|
|
||||||
gz.mine.mobile = Move near the \uf8c4 [accent]copper ore[] on the ground and tap it to begin mining.
|
gz.mine = Наблизьтеся до \uf8c4 [accent]мідної руди[] і почніть видобувати її.
|
||||||
gz.research = Open the \ue875 tech tree.\nResearch the \uf870 [accent]Mechanical Drill[], then select it from the menu in the bottom right.\nClick on a copper patch to place it.
|
gz.mine.mobile = Наблизьтеся до \uf8c4 [accent]мідної руди[] і торкніться її, щоби почати видобуток.
|
||||||
gz.research.mobile = Open the \ue875 tech tree.\nResearch the \uf870 [accent]Mechanical Drill[], then select it from the menu in the bottom right.\nTap on a copper patch to place it.\n\nPress the \ue800 [accent]checkmark[] at the bottom right to confirm.
|
gz.research = Відкрийте \ue875 дерево технологій.\nДослідіть \uf870 [accent]механічний бур[], потім виберіть його з правого нижнього меню.\nНатисніть на мідний клаптик, щоби почати видобуток.
|
||||||
gz.conveyors = Research and place \uf896 [accent]conveyors[] to move the mined resources\nfrom drills to the core.\n\nClick and drag to place multiple conveyors.\n[accent]Scroll[] to rotate.
|
gz.research.mobile = Відкрийте \ue875 дерево технологій.\nДослідіть \uf870 [accent]механічний бур[], потім виберіть його з правого нижнього меню.\nТоркніться до мідного клаптика, щоби розмістити його.\n\nНатисніть на\ue800 [accent]галочку[] праворуч внизу для підтвердження.
|
||||||
gz.conveyors.mobile = Research and place \uf896 [accent]conveyors[] to move the mined resources\nfrom drills to the core.\n\nHold down your finger for a second and drag to place multiple conveyors.
|
gz.conveyors = Дослідіть і розташуйте\uf896 [accent]конвеєри[], щоби переміщувати видобуті ресурси\nвід бурів до ядра.\n\nНатисніть і протягніть для розміщення кількох конвеєрів.\n[accent]Прокручуйте[] для обертання.
|
||||||
gz.drills = Expand the mining operation.\nPlace more Mechanical Drills.\nMine 100 copper.
|
gz.conveyors.mobile = Дослідіть і розташуйте \uf896 [accent]конвеєри[], щоби переміщувати видобуті ресурси\nвід бурів до ядра.\n\nУтримуйте свій палець близько секунди протягніть його для розміщення кількох конвеєрів.
|
||||||
gz.lead = \uf837 [accent]Lead[] is another commonly used resource.\nSet up drills to mine lead.
|
gz.drills = Наростіть видобуток корисних копалин.\nРозмістіть більше механічних бурів.\nВидобудьте 100 міді.
|
||||||
gz.moveup = \ue804 Move up for further objectives.
|
gz.lead = \uf837 [accent]Свинець[]є ще одним часто використовуваним ресурсом.\nУстановіть бури, щоби розпочати видобуток.
|
||||||
gz.turrets = Research and place 2 \uf861 [accent]Duo[] turrets to defend the core.\nDuo turrets require \uf838 [accent]ammo[] from conveyors.
|
gz.moveup = \ue804 Рухайтеся вперед до подальших цілей.
|
||||||
gz.duoammo = Supply the Duo turrets with [accent]copper[], using conveyors.
|
gz.turrets = Дослідіть і розмістіть 2 \uf861 [accent]подвійні[] башти, щоби захистити ядро.\nПодвійні башти потребують \uf838 [accent]боєприпаси[] з конвеєрів.
|
||||||
gz.walls = [accent]Walls[] can prevent oncoming damage from reaching buildings.\nPlace \uf8ae [accent]copper walls[] around the turrets.
|
gz.duoammo = Забезпечте подвійні башти [accent]міддю[], використовуючи конвеєри.
|
||||||
gz.defend = Enemy incoming, prepare to defend.
|
gz.walls = [accent]Стіни[] можуть запобігти потраплянню зустрічних пошкоджень на будівлі\nРозмістіть \uf8ae [accent]мідні стіни[] навколо башт.
|
||||||
gz.aa = Flying units cannot easily be dispatched with standard turrets.\n\uf860 [accent]Scatter[] turrets provide excellent anti-air, but require \uf837 [accent]lead[] as ammo.
|
gz.defend = Ворог наступає, приготуйтеся до оборони.
|
||||||
gz.scatterammo = Supply the Scatter turret with [accent]lead[], using conveyors.
|
gz.aa = Повітряні одиниці не можуть бути легко знищені зі стандартними баштами.\n\uf860 Башта [accent]розсіювач[] забезпечує відмінну протиповітряну оборону, але потребує \uf837 [accent]свинець[] як боєприпас.
|
||||||
gz.supplyturret = [accent]Supply Turret
|
gz.scatterammo = Забезпечте башту розсіювач \uf837 [accent]свинцем[], використовуючи конвеєр.
|
||||||
gz.zone1 = This is the enemy drop zone.
|
gz.supplyturret = [accent]Башта постачання
|
||||||
gz.zone2 = Anything built in the radius is destroyed when a wave starts.
|
gz.zone1 = Це зона висадки ворога.
|
||||||
gz.zone3 = A wave will begin now.\nGet ready.
|
gz.zone2 = Усе, що побудовано в цьому радіусі, знищується, коли починається хвиля.
|
||||||
gz.finish = Build more turrets, mine more resources,\nand defend against all the waves to [accent]capture the sector[].
|
gz.zone3 = Зараз почнеться хвиля.\nПриготуйется
|
||||||
onset.mine = Click to mine \uf748 [accent]beryllium[] from walls.\n\nUse [accent][[WASD] to move.
|
gz.finish = Збудуйте більше башт, видобудьте більше ресурсів \nі захистіться проти всіх хвиль, щоби [accent]захопити сектор[].
|
||||||
onset.mine.mobile = Tap to mine \uf748 [accent]beryllium[] from walls.
|
|
||||||
onset.research = Open the \ue875 tech tree.\nResearch, then place a \uf73e [accent]turbine condenser[] on the vent.\nThis will generate [accent]power[].
|
onset.mine = Натисніть, щоби видобути \uf748 [accent]берилій[]зі стін.\n\nДля переміщення використовуйте [accent][[WASD].
|
||||||
onset.bore = Research and place a \uf741 [accent]plasma bore[].\nThis automatically mines resources from walls.
|
onset.mine.mobile = Торкніться, щоби видобути \uf748 [accent]берилій[]зі стін.
|
||||||
onset.power = To [accent]power[] the plasma bore, research and place a \uf73d [accent]beam node[].\nConnect the turbine condenser to the plasma bore.
|
onset.research = Відкрийте \ue875 дерево технологій.\nДослідіть, а потім розмістіть \uf73e [accent]Турбінний кондесатор[] на джерелі (отворі).\nЦе буде генерувати [accent]енергію[].
|
||||||
onset.ducts = Research and place \uf799 [accent]ducts[] to move the mined resources from the plasma bore to the core.\nClick and drag to place multiple ducts.\n[accent]Scroll[] to rotate.
|
onset.bore = Дослідіть і розмістіт \uf741 [accent]плазмовий бурильник[].\nВін автоматично видобуває ресурси зі стін.
|
||||||
onset.ducts.mobile = Research and place \uf799 [accent]ducts[] to move the mined resources from the plasma bore to the core.\n\nHold down your finger for a second and drag to place multiple ducts.
|
onset.power = Для підключення [accent]енергії[] до плазмового бурильника, дослідіть і розмістіть \uf73d [accent]променевий вузол[].\nПід’єднайте турбінний коденсатор до плазмового бурильника.
|
||||||
onset.moremine = Expand the mining operation.\nPlace more Plasma Bores and use beam nodes and ducts to support them.\nMine 200 beryllium.
|
onset.ducts = Дослідіть і розмістіть \uf799 [accent]канали[], щоби переміщувати видобуті ресурси від плазмового бурильника до ядра.\nНатисніть і простягніть, щоби розмістити декілька каналів.\n[accent]Прокрутіть[], щоб обернути.
|
||||||
onset.graphite = More complex blocks require \uf835 [accent]graphite[].\nSet up plasma bores to mine graphite.
|
onset.ducts.mobile = Дослідіть і розмістіть \uf799 [accent]канали[], щоби переміщувати видобуті ресурси від плазмового бурильника до ядра.\n\nУтримуйте свій палець близько секунди і простягніть, щоби розмістити декілька каналів.
|
||||||
onset.research2 = Begin researching [accent]factories[].\nResearch the \uf74d [accent]cliff crusher[] and \uf779 [accent]silicon arc furnace[].
|
onset.moremine = Наростіть видобуток корисних копалин.\nРозмістіть більше плазмових бурильників і використайте променеві вузли та канали для їхнього обслуговування.\nВидобудьте 200 берилію.
|
||||||
onset.arcfurnace = The arc furnace needs \uf834 [accent]sand[] and \uf835 [accent]graphite[] to create \uf82f [accent]silicon[].\n[accent]Power[] is also required.
|
onset.graphite = Складніші блоки потребують \uf835 [accent]графіту[].\nУстановіть плазмові бурильники для видобування графіту.
|
||||||
onset.crusher = Use \uf74d [accent]cliff crushers[] to mine sand.
|
onset.research2 = Почніть дослідження [accent]заводів[].\nДослідіть \uf74d [accent]дробарку скель[] і \uf779 [accent]кремнієву дугову піч[].
|
||||||
onset.fabricator = Use [accent]units[] to explore the map, defend buildings, and attack the enemy. Research and place a \uf6a2 [accent]tank fabricator[].
|
onset.arcfurnace = Дугова піч потребує \uf834 [accent]пісок[] і \uf835 [accent]графіт[] задля \uf82f [accent]кремнію[].\n[accent]Енергія[] також потрібна.
|
||||||
onset.makeunit = Produce a unit.\nUse the "?" button to see selected factory requirements.
|
onset.crusher = Використайте \uf74d [accent]дробарку скель[], щоби видобути пісок.
|
||||||
onset.turrets = Units are effective, but [accent]turrets[] provide better defensive capabilities if used effectively.\nPlace a \uf6eb [accent]Breach[] turret.\nTurrets require \uf748 [accent]ammo[].
|
onset.fabricator = Використовуйте [accent]одиниць[] для дослідження, захисту будівель та нападу на ворога. Дослідіть і розмістіть \uf6a2 [accent]танкобудівний завод[].
|
||||||
onset.turretammo = Supply the turret with [accent]beryllium ammo.[]
|
onset.makeunit = Виробіть одиницю.\nВикористайте кнопку «?», щоби побачити вимоги для вибраного заводу.
|
||||||
onset.walls = [accent]Walls[] can prevent oncoming damage from reaching buildings.\nPlace some \uf6ee [accent]beryllium walls[] around the turret.
|
onset.turrets = Одиниці ефективні, але [accent]башти[] забезпечують ліпші оборонні можливості, якщо їх ефективно використовувати.\nУстановіть \uf6eb башту [accent]Прорив[].\nБашти вимагають \uf748 [accent]боєприпасів[].
|
||||||
onset.enemies = Enemy incoming, prepare to defend.
|
onset.turretammo = Забезпечте башту [accent]берилієвими боєприпасами[].
|
||||||
onset.attack = The enemy is vulnerable. Counter-attack.
|
onset.walls = [accent]Стіни[] cможе запобігти потраплянню зустрічної шкоди на будівлі.\nРозмістіть декілька \uf6ee [accent]берилієвих стін[] навколо башти.
|
||||||
onset.cores = New cores can be placed on [accent]core tiles[].\nNew cores function as forward bases and share a resource inventory with other cores.\nPlace a \uf725 core.
|
onset.enemies = Ворог наступає, готуйтеся до оборони.
|
||||||
onset.detect = The enemy will be able to detect you in 2 minutes.\nSet up defenses, mining, and production.
|
onset.attack = Ворог беззахисний. Контратакуйте.
|
||||||
split.pickup = Some blocks can be picked up by the core unit.\nPick up this [accent]container[] and place it onto the [accent]payload loader[].\n(Default keys are [ and ] to pick up and drop)
|
onset.cores = Нові ядра можуть бути розміщені на плитках [accent]зони ядра[].\nНові ядра функціонують як передові бази й мають спільний інвентар ресурсів з іншими ядрами.\nРозмістіть \uf725 ядро.
|
||||||
split.pickup.mobile = Some blocks can be picked up by the core unit.\nPick up this [accent]container[] and place it onto the [accent]payload loader[].\n(To pick up or drop something, long-press it.)
|
onset.detect = Ворог зможе виявити вас за 2 хвилини.\nОрганізуйте оборону, видобуток корисних копалин та виробництво.
|
||||||
split.acquire = You must acquire some tungsten to build units.
|
|
||||||
split.build = Units must be transported to the other side of the wall.\nPlace two [accent]Payload Mass Drivers[], one on each side of the wall.\nSet up the link by pressing one of them, then selecting the other.
|
split.pickup = Деякі блоки можуть бути підібрані основною ядровою одиницею.\nПідніміть цей [accent]контейнер[] і помістіть його до [accent]вантажного завантажувача[].\n(Клавіші за замовчуванням - [[ і ] для підняття та скидання)
|
||||||
split.container = Similar to the container, units can also be transported using a [accent]Payload Mass Driver[].\nPlace a unit fabricator adjacent to a mass driver to load them, then send them across the wall to attack the enemy base.
|
split.pickup.mobile = Деякі блоки можуть бути підібрані основною ядровою одиницею.\nПідніміть цей [accent]контейнер[] і помістіть його до [accent]вантажного завантажувача[].\n(Щоб підняти або скинути щось, довго натискайте на це щось.)
|
||||||
|
split.acquire = Ви повинні дістати трохи вольфраму, щоби побудувати одиниці.
|
||||||
|
split.build = Одиниці повинні бути перенесені на іншу сторону стіни.\nУстановіть дві [accent]великі вантажні катапульти[], по одній на кожну сторону стіни.\nУстановіть зв’язок, натиснувши на одну з них, а потім вибравши іншу.
|
||||||
|
split.container = Подібно до контейнера, одиниці також можуть бути перевезені за допомогою [accent]великої вантажної катапульти[].\nРозмістіть завод, що створює одиниці, поруч з вантажною катапультою, щоби завантажити одиниць, а потім відправити їх через стіну в атаку на базу противника.
|
||||||
|
|
||||||
item.copper.description = Використовується у всіх типах блоків і боєприпасах.
|
item.copper.description = Використовується у всіх типах блоків і боєприпасах.
|
||||||
item.copper.details = Мідь. Напрочуд багато жил цієї руди на Серпуло. За своєю структурою слабка, якщо не зміцнена.
|
item.copper.details = Мідь. Напрочуд багато жил цієї руди на Серпуло. За своєю структурою слабка, якщо не зміцнена.
|
||||||
@@ -1837,7 +1851,7 @@ item.graphite.description = Використовується для боєпри
|
|||||||
item.sand.description = Використовується для виробництва інших удосконалених матеріалів.
|
item.sand.description = Використовується для виробництва інших удосконалених матеріалів.
|
||||||
item.coal.description = Використовується для виробництва палива і вдосконалених матеріалів.
|
item.coal.description = Використовується для виробництва палива і вдосконалених матеріалів.
|
||||||
item.coal.details = Виглядає скам’янілою рослинною речовиною, утвореною задовго до Сівби.
|
item.coal.details = Виглядає скам’янілою рослинною речовиною, утвореною задовго до Сівби.
|
||||||
item.titanium.description = Використовується в транспортуванні будівль, бурів та в заводах.
|
item.titanium.description = Використовується в транспортуванні будівель, бурів та в заводах.
|
||||||
item.thorium.description = Використовується в міцних конструкціях і як ядерне паливо.
|
item.thorium.description = Використовується в міцних конструкціях і як ядерне паливо.
|
||||||
item.scrap.description = Використовується в Плавильнях і Подрібнювачах для перероблення в інші матеріали.
|
item.scrap.description = Використовується в Плавильнях і Подрібнювачах для перероблення в інші матеріали.
|
||||||
item.scrap.details = Залишки старих споруд та підрозділів.
|
item.scrap.details = Залишки старих споруд та підрозділів.
|
||||||
@@ -1848,30 +1862,34 @@ item.surge-alloy.description = Використовується в передо
|
|||||||
item.spore-pod.description = Використовується для перетворення на нафту, вибухівку та паливо.
|
item.spore-pod.description = Використовується для перетворення на нафту, вибухівку та паливо.
|
||||||
item.spore-pod.details = Спори. Найімовірніше, синтетична форма життя. Виділяють гази, токсичні для іншого біологічного життя. Надзвичайно загарбницька поведінка. Легкозаймисті при певних умовах.
|
item.spore-pod.details = Спори. Найімовірніше, синтетична форма життя. Виділяють гази, токсичні для іншого біологічного життя. Надзвичайно загарбницька поведінка. Легкозаймисті при певних умовах.
|
||||||
item.blast-compound.description = Використовується в бомбах та в розривних боєприпасах.
|
item.blast-compound.description = Використовується в бомбах та в розривних боєприпасах.
|
||||||
item.pyratite.description = Використовується в запальній зброї і твердопаливних генераторах.
|
item.pyratite.description = Використовується в запальній зброї й твердопаливних генераторах.
|
||||||
item.beryllium.description = Used in many types of construction and ammunition on Erekir.
|
|
||||||
item.tungsten.description = Used in drills, armor and ammunition. Required in the construction of more advanced structures.
|
#Erekir
|
||||||
item.oxide.description = Used as a heat conductor and insulator for power.
|
item.beryllium.description = Використовується в багатьох типах будівництва та боєприпасів на Ерекірі.
|
||||||
item.carbide.description = Used in advanced structures, heavier units, and ammunition.
|
item.tungsten.description = Використовується в бурах, броні та боєприпасах. Необхідний при будівництві більш досконалих конструкцій.
|
||||||
|
item.oxide.description = Використовується як теплопровідник та ізолятор для електроенергії.
|
||||||
|
item.carbide.description = Використовується у передових конструкціях, важких одиницях та боєприпасах.
|
||||||
|
|
||||||
liquid.water.description = Використовується для охолодження машин та перероблювання відходів.
|
liquid.water.description = Використовується для охолодження машин та перероблювання відходів.
|
||||||
liquid.slag.description = Переробляється у відокремлювачах у складові метали або розпорошується на ворогів як зброя.
|
liquid.slag.description = Переробляється у відокремлювачах у складові метали або розпорошується на ворогів як зброя.
|
||||||
liquid.oil.description = Використовується у виробництві передових матеріалів і як запальні боєприпаси.
|
liquid.oil.description = Використовується у виробництві передових матеріалів і як запальні боєприпаси.
|
||||||
liquid.cryofluid.description = Використовується як теплоносій у реакторах, баштах і заводах.
|
liquid.cryofluid.description = Використовується як теплоносій у реакторах, баштах і заводах.
|
||||||
liquid.arkycite.description = Used in chemical reactions for power generation and material synthesis.
|
|
||||||
liquid.ozone.description = Used as an oxidizing agent in material production, and as fuel. Moderately explosive.
|
#Erekir
|
||||||
liquid.hydrogen.description = Used in resource extraction, unit production and structure repair. Flammable.
|
liquid.arkycite.description = Використовується в хімічних реакціях для виробництва електроенергії та синтезу матеріалів.
|
||||||
liquid.cyanogen.description = Used for ammunition, construction of advanced units, and various reactions in advanced blocks. Highly flammable.
|
liquid.ozone.description = Використовується як окислювач у матеріальному виробництві, а також як паливо. Трохи вибухонебезпечний.
|
||||||
liquid.nitrogen.description = Used in resource extraction, gas creation and unit production. Inert.
|
liquid.hydrogen.description = Застосовується при видобутку корисних копалин, виробництві одиниць та ремонті споруд. Легкозаймистий.
|
||||||
liquid.neoplasm.description = A dangerous biological byproduct of the Neoplasia reactor. Quickly spreads to any adjacent water-containing block it touches, damaging them in the process. Viscous.
|
liquid.cyanogen.description = Використовується для виготовлення боєприпасів, будівництва передових одиниць, проведення різних реакцій в передових блоках. Легкозаймистий.
|
||||||
liquid.neoplasm.details = Neoplasm. An uncontrollable mass of rapidly-dividing synthetic cells with a sludge-like consistency. Heat-resistant. Extremely dangerous to any structures involving water.\n\nToo complex and unstable for standard analysis. Potential applications unknown. Incineration in slag pools is recommended.
|
liquid.nitrogen.description = Використовується при видобутку корисних копалин, газоутворенні та агрегатному виробництві. Інертний.
|
||||||
|
liquid.neoplasm.description = Небезпечний біологічний побічний продукт неоплазмового реактора. Швидко поширюється на будь-які сусідні водовмісні блоки, яких торкається, пошкоджуючи їх в процесі. В’язка.
|
||||||
|
liquid.neoplasm.details = Неоплазма. Неконтрольована маса синтетичних клітин, що швидко діляться, з консистенцією, подібною до осаду. Термостійка. Надзвичайно небезпечна для будь-яких конструкцій, пов’язаних з водою.\n\nЗанадто складна і нестабільна для звичайного аналізу. Потенційне застосування невідоме. Рекомендується спалювання в шлакових басейнах.
|
||||||
|
|
||||||
block.derelict = \uf77e [lightgray]Переможені
|
block.derelict = \uf77e [lightgray]Переможені
|
||||||
block.armored-conveyor.description = Переміщує предмети вперед. Не приймає введення з боків ні з чого, крім інших конвеєрних стрічок.
|
block.armored-conveyor.description = Переміщує предмети вперед. Не приймає введення з боків ні з чого, крім інших конвеєрних стрічок.
|
||||||
block.illuminator.description = Випромінює світло.
|
block.illuminator.description = Випромінює світло.
|
||||||
block.message.description = Зберігає повідомлення для комунікації між союзниками.
|
block.message.description = Зберігає повідомлення для комунікації між союзниками.
|
||||||
block.reinforced-message.description = Stores a message for communication between allies.
|
block.reinforced-message.description = Зберігає повідомлення для комунікації між союзниками.
|
||||||
block.world-message.description = A message block for use in mapmaking. Cannot be destroyed.
|
block.world-message.description = Блок повідомлення для використання у створенні мап. Не можна знищити.
|
||||||
block.graphite-press.description = Стискає вугілля в графіт.
|
block.graphite-press.description = Стискає вугілля в графіт.
|
||||||
block.multi-press.description = Стискає вугілля в графіт. Потребує воду для охолодження.
|
block.multi-press.description = Стискає вугілля в графіт. Потребує воду для охолодження.
|
||||||
block.silicon-smelter.description = Синтезує пісок із вугіллям для отримання кремнію.
|
block.silicon-smelter.description = Синтезує пісок із вугіллям для отримання кремнію.
|
||||||
@@ -1929,10 +1947,10 @@ block.distributor.description = Розділяє предмети до 7 інш
|
|||||||
block.overflow-gate.description = Вивантажує лише ліворуч і праворуч, якщо передній шлях заблокований.
|
block.overflow-gate.description = Вивантажує лише ліворуч і праворуч, якщо передній шлях заблокований.
|
||||||
block.underflow-gate.description = Повна протилежність надмірному затвору. Виводить предмет прямо, якщо лівий і правий шлях заблоковано.
|
block.underflow-gate.description = Повна протилежність надмірному затвору. Виводить предмет прямо, якщо лівий і правий шлях заблоковано.
|
||||||
block.mass-driver.description = Найкращий блок для транспортування предметів. Збирає кілька предметів, а потім вистрілює їх до іншої електромагнітної катапульти на велику відстань. Для роботи потребує енергію.
|
block.mass-driver.description = Найкращий блок для транспортування предметів. Збирає кілька предметів, а потім вистрілює їх до іншої електромагнітної катапульти на велику відстань. Для роботи потребує енергію.
|
||||||
block.mechanical-pump.description = Дешевий насос із повільним виходом, але не потребує енергоспоживання.
|
block.mechanical-pump.description = Дешева помпа із повільним виходом, але не потребує енергоспоживання.
|
||||||
block.rotary-pump.description = Поліпшений насос. Насос більше викачує, але потребує енергію.
|
block.rotary-pump.description = Поліпшена механічна помпа. Більше викачує, але потребує енергію.
|
||||||
block.impulse-pump.description = Найкращий насос.
|
block.impulse-pump.description = Найкраща помпа.
|
||||||
block.conduit.description = Пересуває рідини вперед. Застосовується спільно з насосами та іншими трубопроводами.
|
block.conduit.description = Пересуває рідини вперед. Застосовується спільно з помпами та іншими трубопроводами.
|
||||||
block.pulse-conduit.description = Пересуває рідини вперед. Швидше транспортує і зберігає більше рідини, ніж стандартні трубопроводи.
|
block.pulse-conduit.description = Пересуває рідини вперед. Швидше транспортує і зберігає більше рідини, ніж стандартні трубопроводи.
|
||||||
block.plated-conduit.description = Пересуває рідини вперед. Не приймає рідин із боків окрім інших трубопроводів. Не протікає.
|
block.plated-conduit.description = Пересуває рідини вперед. Не приймає рідин із боків окрім інших трубопроводів. Не протікає.
|
||||||
block.liquid-router.description = Приймає рідини з одного напрямку та виводить їх до трьох інших напрямків порівну. Також може зберігати певну кількість рідини.
|
block.liquid-router.description = Приймає рідини з одного напрямку та виводить їх до трьох інших напрямків порівну. Також може зберігати певну кількість рідини.
|
||||||
@@ -1965,7 +1983,7 @@ block.cultivator.description = Культивує невеликі концен
|
|||||||
block.cultivator.details = Відновлена технологія. Використовується для отримання великої кількості біомаси якомога ефективніше. Ймовірно, початковий інкубатор спор, що зараз покриває Серпуло.
|
block.cultivator.details = Відновлена технологія. Використовується для отримання великої кількості біомаси якомога ефективніше. Ймовірно, початковий інкубатор спор, що зараз покриває Серпуло.
|
||||||
block.oil-extractor.description = Використовується велика кількість енергії, піску та води для отримання нафти.
|
block.oil-extractor.description = Використовується велика кількість енергії, піску та води для отримання нафти.
|
||||||
block.core-shard.description = Ядро бази. Після знищення сектор втрачається. Найперша версія капсули ядра. Після його знищення всі контакти з регіоном втрачаються. Не допустіть цього.
|
block.core-shard.description = Ядро бази. Після знищення сектор втрачається. Найперша версія капсули ядра. Після його знищення всі контакти з регіоном втрачаються. Не допустіть цього.
|
||||||
block.core-shard.details = Найперша версія капсули ядра. Компактне. Самовідтворюванне. Оснащене одноразовими пусковими рушіями. Не призначено для міжпланетних подорожей.
|
block.core-shard.details = Найперша версія капсули ядра. Компактне. Самовідтворюване. Оснащене одноразовими пусковими рушіями. Не призначено для міжпланетних подорожей.
|
||||||
block.core-foundation.description = Ядро бази. Добре броньоване. Зберігає більше ресурсів.
|
block.core-foundation.description = Ядро бази. Добре броньоване. Зберігає більше ресурсів.
|
||||||
block.core-foundation.details = Друга версія ядра.
|
block.core-foundation.details = Друга версія ядра.
|
||||||
block.core-nucleus.description = Ядро бази. Напрочуд добре броньовано. Зберігає величезну кількість ресурсів.
|
block.core-nucleus.description = Ядро бази. Напрочуд добре броньовано. Зберігає величезну кількість ресурсів.
|
||||||
@@ -1974,7 +1992,7 @@ block.vault.description = Зберігає велику кількість пр
|
|||||||
block.container.description = Зберігає малу кількість предметів кожного типу. Блок розвантажувача може використовуватися для отримання предметів зі сховища.
|
block.container.description = Зберігає малу кількість предметів кожного типу. Блок розвантажувача може використовуватися для отримання предметів зі сховища.
|
||||||
block.unloader.description = Вивантажує предмети з найближчих блоків
|
block.unloader.description = Вивантажує предмети з найближчих блоків
|
||||||
block.launch-pad.description = Запускає партії предметів без необхідності запуску ядра.
|
block.launch-pad.description = Запускає партії предметів без необхідності запуску ядра.
|
||||||
block.launch-pad.details = Суборбітальна система для транспортування ресурсів від точки А до точки Б. Корпуси вантажу крихкі і не здатні вижити при повторному вході.
|
block.launch-pad.details = Суборбітальна система для транспортування ресурсів від точки А до точки Б. Корпуси вантажу крихкі й не здатні вижити при повторному вході.
|
||||||
block.duo.description = Вистрілює чергами куль у ворогів.
|
block.duo.description = Вистрілює чергами куль у ворогів.
|
||||||
block.scatter.description = Вистрілює скупченням свинцю, брухту чи метаскла в повітряних противників.
|
block.scatter.description = Вистрілює скупченням свинцю, брухту чи метаскла в повітряних противників.
|
||||||
block.scorch.description = Підпалює будь-яких наземних противників поблизу. Високоефективна на близькій відстані.
|
block.scorch.description = Підпалює будь-яких наземних противників поблизу. Високоефективна на близькій відстані.
|
||||||
@@ -1986,7 +2004,7 @@ block.swarmer.description = Запускає ракети, що автомати
|
|||||||
block.salvo.description = Вистрілює швидкий залп куль у противника.
|
block.salvo.description = Вистрілює швидкий залп куль у противника.
|
||||||
block.fuse.description = Вистрілює трьома променями, що пронизують броню, у малому радіусі в противників.
|
block.fuse.description = Вистрілює трьома променями, що пронизують броню, у малому радіусі в противників.
|
||||||
block.ripple.description = Вистрілює скупченням снарядів у противників.
|
block.ripple.description = Вистрілює скупченням снарядів у противників.
|
||||||
block.cyclone.description = Підпалює вибухові грудки і вистрілює їх у скупчення противників.
|
block.cyclone.description = Підпалює вибухові грудки й вистрілює їх у скупчення противників.
|
||||||
block.spectre.description = Вистрілює великі бронебійні кулі в повітряні та наземні цілі.
|
block.spectre.description = Вистрілює великі бронебійні кулі в повітряні та наземні цілі.
|
||||||
block.meltdown.description = Заряджає і вистрілює лазерним променем у найближчих противників. Для роботи потрібен теплоносій.
|
block.meltdown.description = Заряджає і вистрілює лазерним променем у найближчих противників. Для роботи потрібен теплоносій.
|
||||||
block.foreshadow.description = Вистрілює великим болтом в одну ціль на велику дистанцію.
|
block.foreshadow.description = Вистрілює великим болтом в одну ціль на велику дистанцію.
|
||||||
@@ -2017,103 +2035,105 @@ block.large-logic-display.description = Показує довільну граф
|
|||||||
block.interplanetary-accelerator.description = Велика електромагнітна башта-рейкотрон. Прискорює ядра, щоби подолати планетне тяжіння для міжпланетного розгортання.
|
block.interplanetary-accelerator.description = Велика електромагнітна башта-рейкотрон. Прискорює ядра, щоби подолати планетне тяжіння для міжпланетного розгортання.
|
||||||
block.repair-turret.description = Безпервно ремонтує найближчу пошкоджену одиницю. Для прискорення ремонтування можна охолодити.
|
block.repair-turret.description = Безпервно ремонтує найближчу пошкоджену одиницю. Для прискорення ремонтування можна охолодити.
|
||||||
block.payload-propulsion-tower.description = Структура транспортування вантажу на великі відстані. Вистрілює вантаж в інші вантажні катапульти.
|
block.payload-propulsion-tower.description = Структура транспортування вантажу на великі відстані. Вистрілює вантаж в інші вантажні катапульти.
|
||||||
block.core-bastion.description = Core of the base. Armored. Once destroyed, the sector is lost.
|
|
||||||
block.core-citadel.description = Core of the base. Very well armored. Stores more resources than a Bastion core.
|
#Erekir
|
||||||
block.core-acropolis.description = Core of the base. Exceptionally well armored. Stores more resources than a Citadel core.
|
block.core-bastion.description = Ядро бази. Броньоване. Після знищення сектор втрачається.
|
||||||
block.breach.description = Fires piercing beryllium or tungsten ammunition at enemy targets.
|
block.core-citadel.description = Ядро бази. Дуже добре броньоване. Зберігає більше ресурсів, ніж ядро «Бастіон».
|
||||||
block.diffuse.description = Fires a burst of bullets in a wide cone. Pushes enemy targets back.
|
block.core-acropolis.description = Ядро бази. Надзвичайно добре броньоване. Зберігає більше ресурсів, ніж ядро «Цитадель».
|
||||||
block.sublimate.description = Fires a continuous jet of flame at enemy targets. Pierces armor.
|
block.breach.description = Веде вогонь по ворожих цілях бронебійними берилієвими або вольфрамовими боєприпасами.
|
||||||
block.titan.description = Fires a massive explosive artillery shell at ground targets. Requires hydrogen.
|
block.diffuse.description = Вистрілює шквалом куль у формі широкого конуса. Відкидає ворожі цілі назад.
|
||||||
block.afflict.description = Fires a massive charged orb of fragmentary flak. Requires heating.
|
block.sublimate.description = Веде вогонь безперервним струменем полум’я по ворожих цілях. Пробиває броню.
|
||||||
block.disperse.description = Fires bursts of flak at aerial targets.
|
block.titan.description = Веде вогонь осколково-фугасним артилерійським снарядом по наземних цілях. Потребує водню.
|
||||||
block.lustre.description = Fires a slow-moving single-target laser at enemy targets.
|
block.afflict.description = Стріляє масивною зарядженою кулею осколково-фугасних снарядів. Потребує підігріву.
|
||||||
block.scathe.description = Launches a powerful missile at ground targets over vast distances.
|
block.disperse.description = Веде вогонь зенітними чергами по повітряних цілям.
|
||||||
block.smite.description = Fires bursts of piercing, lightning-emitting bullets.
|
block.lustre.description = Веде вогонь по ворожих цілях повільно рухомим одноцільовим лазером.
|
||||||
block.malign.description = Fires a barrage of homing laser charges at enemy targets. Requires extensive heating.
|
block.scathe.description = Запускає потужну ракету по наземних цілям на величезні відстані.
|
||||||
block.silicon-arc-furnace.description = Refines silicon from sand and graphite.
|
block.smite.description = Вогонь вівся чергами зі шрапнельних, блискавичних куль.
|
||||||
block.oxidation-chamber.description = Converts beryllium and ozone into oxide. Emits heat as a by-product.
|
block.malign.description = Випускає шквал самонавідних лазерних зарядів по ворожих цілях. Потребує значного нагріву.
|
||||||
block.electric-heater.description = Heats facing blocks. Requires large amounts of power.
|
block.silicon-arc-furnace.description = Рафінує кремній з піску і графіту.
|
||||||
block.slag-heater.description = Heats facing blocks. Requires slag.
|
block.oxidation-chamber.description = Перетворює берилій та озон в оксид. Виділяє тепло як побічний продукт.
|
||||||
block.phase-heater.description = Heats facing blocks. Requires phase fabric.
|
block.electric-heater.description = Нагріває лицьові блоки. Вимагає великої кількості електроенергії.
|
||||||
block.heat-redirector.description = Redirects accumulated heat to other blocks.
|
block.slag-heater.description = Нагріває лицьові блоки. Потребує шлаку.
|
||||||
block.heat-router.description = Spreads accumulated heat in three output directions.
|
block.phase-heater.description = Нагріває лицьові блоки. Потрібна фазова тканина.
|
||||||
block.electrolyzer.description = Converts water into hydrogen and ozone gas.
|
block.heat-redirector.description = Перенаправляє отримане тепло на інші блоки.
|
||||||
block.atmospheric-concentrator.description = Concentrates nitrogen from the atmosphere. Requires heat.
|
block.heat-router.description = Розподіляє отримане тепло в трьох вихідних напрямках.
|
||||||
block.surge-crucible.description = Forms surge alloy from slag and silicon. Requires heat.
|
block.electrolyzer.description = Перетворює воду на водень та озоновий газ.
|
||||||
block.phase-synthesizer.description = Synthesizes phase fabric from thorium, sand, and ozone. Requires heat.
|
block.atmospheric-concentrator.description = Вбирає азот з атмосфери. Потребує тепла.
|
||||||
block.carbide-crucible.description = Fuses graphite and tungsten into carbide. Requires heat.
|
block.surge-crucible.description = Утворює кінетичний сплав зі шлаку і кремнію. Потребує тепла.
|
||||||
block.cyanogen-synthesizer.description = Synthesizes cyanogen from arkycite and graphite. Requires heat.
|
block.phase-synthesizer.description = Синтезує фазову тканину з торію, піску та озону. Потребує тепла.
|
||||||
block.slag-incinerator.description = Incinerates non-volatile items or liquids. Requires slag.
|
block.carbide-crucible.description = Переплавляє графіт і вольфрам в карбід. Потребує тепла.
|
||||||
block.vent-condenser.description = Condenses vent gases into water. Consumes power.
|
block.cyanogen-synthesizer.description = Синтезує ціаноген з аркициту і графіту. Потребує тепла.
|
||||||
block.plasma-bore.description = When placed facing an ore wall, outputs items indefinitely. Requires small amounts of power.
|
block.slag-incinerator.description = Спалює нелеткі предмети або рідини. Потребує шлаку.
|
||||||
block.large-plasma-bore.description = A larger plasma bore. Capable of mining tungsten and thorium. Requires hydrogen and power.
|
block.vent-condenser.description = Конденсує гази із джерела у воду. Споживає енергію.
|
||||||
block.cliff-crusher.description = Crushes walls, outputting sand indefinitely. Requires power. Efficiency varies based on type of wall.
|
block.plasma-bore.description = При розміщенні лицем до рудної стіни видає предмети нескінченно довго. Потребує невеликої кількості енергії.
|
||||||
block.impact-drill.description = When placed on ore, outputs items in bursts indefinitely. Requires power and water.
|
block.large-plasma-bore.description = Більший плазмовий бурильник. Здатний видобувати вольфрам і торій. Потребує водню та енергії.
|
||||||
block.eruption-drill.description = An improved impact drill. Capable of mining thorium. Requires hydrogen.
|
block.cliff-crusher.description = Дробить стіни, виводячи пісок нескінченно довго. Вимагає енергію. Ефективність залежить від типу стіни.
|
||||||
block.reinforced-conduit.description = Moves fluids forward. Doesn't accept non-conduit inputs to the sides.
|
block.impact-drill.description = При розміщенні на руді видає предмети серіями до нескінченності. Потребує енергії та води.
|
||||||
block.reinforced-liquid-router.description = Distributes fluids equally to all sides.
|
block.eruption-drill.description = Поліпшений імпульсний бур. Здатний видобувати торій. Потребує водню.
|
||||||
block.reinforced-junction.description = Acts as a bridge for two crossing conduits.
|
block.reinforced-conduit.description = Переміщує рідини вперед. Не приймає нетрубоповідні входи з боків.
|
||||||
block.reinforced-liquid-tank.description = Stores a large amount of fluids.
|
block.reinforced-liquid-router.description = Рівномірно розподіляє рідини на всі сторони.
|
||||||
block.reinforced-liquid-container.description = Stores a sizeable amount of fluids.
|
block.reinforced-junction.description = Виконує роль моста для двох пересічних водоводів.
|
||||||
block.reinforced-bridge-conduit.description = Transports fluids over structures and terrain.
|
block.reinforced-liquid-tank.description = Зберігає велику кількість рідини.
|
||||||
block.reinforced-pump.description = Pumps and outputs liquids. Requires hydrogen.
|
block.reinforced-liquid-container.description = Зберігає значну кількість рідини.
|
||||||
block.beryllium-wall.description = Protects structures from enemy projectiles.
|
block.reinforced-bridge-conduit.description = Транспортує рідини над спорудами та місцевістю.
|
||||||
block.beryllium-wall-large.description = Protects structures from enemy projectiles.
|
block.reinforced-pump.description = Перекачує і виводить рідини. Потребує водню.
|
||||||
block.tungsten-wall.description = Protects structures from enemy projectiles.
|
block.beryllium-wall.description = Захищає споруди від ворожих снарядів.
|
||||||
block.tungsten-wall-large.description = Protects structures from enemy projectiles.
|
block.beryllium-wall-large.description = Захищає споруди від ворожих снарядів.
|
||||||
block.carbide-wall.description = Protects structures from enemy projectiles.
|
block.tungsten-wall.description = Захищає споруди від ворожих снарядів.
|
||||||
block.carbide-wall-large.description = Protects structures from enemy projectiles.
|
block.tungsten-wall-large.description = Захищає споруди від ворожих снарядів.
|
||||||
block.reinforced-surge-wall.description = Protects structures from enemy projectiles, periodically launching electric arcs upon projectile contact.
|
block.carbide-wall.description = Захищає споруди від ворожих снарядів.
|
||||||
block.reinforced-surge-wall-large.description = Protects structures from enemy projectiles, periodically launching electric arcs upon projectile contact.
|
block.carbide-wall-large.description = Захищає споруди від ворожих снарядів.
|
||||||
block.shielded-wall.description = Protects structures from enemy projectiles. Deploys a shield that absorbs most projectiles when power is provided. Conducts power.
|
block.reinforced-surge-wall.description = Захищає споруди від ворожих снарядів, періодично випускаючи електричні дуги при зіткненні зі снарядом.
|
||||||
block.blast-door.description = A wall that opens when allied ground units are in range. Cannot be manually controlled.
|
block.reinforced-surge-wall-large.description = Захищає споруди від ворожих снарядів, періодично випускаючи електричні дуги при зіткненні зі снарядом.
|
||||||
block.duct.description = Moves items forward. Only capable of storing a single item.
|
block.shielded-wall.description = Захищає споруди від ворожих снарядів. Розгортає щит, який поглинає більшість снарядів при подачі живлення. Проводить енергію.
|
||||||
block.armored-duct.description = Moves items forward. Does not accept non-duct inputs from the sides.
|
block.blast-door.description = Стіна, яка відкривається, коли наземні одиниці союзників знаходяться в межах досяжності. Не може управлятися вручну.
|
||||||
block.duct-router.description = Distributes items equally across three directions. Only accepts items from the back side. Can be configured as an item sorter.
|
block.duct.description = Переміщує предмети вперед. Здатний зберігати лише один предмет.
|
||||||
block.overflow-duct.description = Only outputs items to the sides if the front path is blocked.
|
block.armored-duct.description = Переміщує предмети вперед. Не приймає неканальні входи з боків.
|
||||||
block.duct-bridge.description = Moves items over structures and terrain.
|
block.duct-router.description = Розподіляє речі рівномірно по трьох напрямках. Приймає предмети тільки зі зворотного боку. Може бути налаштований як сортувальник предметів.
|
||||||
block.duct-unloader.description = Unloads the selected item from the block behind it. Cannot unload from cores.
|
block.overflow-duct.description = Виводить предмети в сторони тільки в тому випадку, якщо передній шлях заблокований.
|
||||||
block.underflow-duct.description = Opposite of an overflow duct. Outputs to the front if the left and right paths are blocked.
|
block.duct-bridge.description = Переміщує предмети по спорудах та місцевості.
|
||||||
block.reinforced-liquid-junction.description = Acts as a junction between two crossing conduits.
|
block.duct-unloader.description = Вивантажує вибраний елемент з блоку, що знаходиться за ним. Неможливо вивантажити з ядер.
|
||||||
block.surge-conveyor.description = Moves items in batches. Can be sped up with power. Conducts power.
|
block.underflow-duct.description = Антонім до надмірного затвора. Виводить на передню частину, якщо лівий і правий шляхи заблоковані.
|
||||||
block.surge-router.description = Equally distributes items in three directions from surge conveyors. Can be sped up with power. Conducts power.
|
block.reinforced-liquid-junction.description = Виконує функцію з’єднання між двома перехресними каналами.
|
||||||
block.unit-cargo-loader.description = Constructs cargo drones. Drones automatically distribute items to Cargo Unload Points with a matching filter.
|
block.surge-conveyor.description = Переміщує предмети партіями. Можна прискорити за допомогою енергії. Проводить енергію.
|
||||||
block.unit-cargo-unload-point.description = Acts as an unloading point for cargo drones. Accepts items that match the selected filter.
|
block.surge-router.description = Рівномірно розподіляє предмети в трьох напрямках від кінетичних конвеєрів. Можна прискорити за допомогою енергії. Проводить енергію.
|
||||||
block.beam-node.description = Transmits power to other blocks orthogonally. Stores a small amount of power.
|
block.unit-cargo-loader.description = Створює вантажні дрони. Дрони автоматично розподіляють предмети по пунктах розвантаження за допомогою відповідного фільтра.
|
||||||
block.beam-tower.description = Transmits power to other blocks orthogonally. Stores a large amount of power. Long-range.
|
block.unit-cargo-unload-point.description = Виступає в якості пункта розвантаження для вантажних дронів. Приймає вантажі, які відповідають вибраному фільтру.
|
||||||
block.turbine-condenser.description = Generates power when placed on vents. Produces a small amount of water.
|
block.beam-node.description = Передає енергію іншим блокам ортогонально. Запасає невелику кількість енергії.
|
||||||
block.chemical-combustion-chamber.description = Generates power from arkycite and ozone.
|
block.beam-tower.description = Передає енергію іншим блокам ортогонально. Зберігає велику кількість енергії. Має великий радіус дії.
|
||||||
block.pyrolysis-generator.description = Generates large amounts of power from arkycite and slag. Produces water as a byproduct.
|
block.turbine-condenser.description = Виробляє енергію при розміщенні на джерелах. Виробляє невелику кількість води.
|
||||||
block.flux-reactor.description = Generates large amounts of power when heated. Requires cyanogen as a stabilizer. Power output and cyanogen requirements are proportional to heat input.\nExplodes if insufficient cyanogen is provided.
|
block.chemical-combustion-chamber.description = Виробляє енергію з аркициту та озону.
|
||||||
block.neoplasia-reactor.description = Uses arkycite, water and phase fabric to generate large amounts of power. Produces heat and dangerous neoplasm as a byproduct.\nExplodes violently if neoplasm is not removed from the reactor via conduits.
|
block.pyrolysis-generator.description = Виробляє велику кількість електроенергії з аркициту та шлаку. Виробляє воду як побічний продукт.
|
||||||
block.build-tower.description = Automatically rebuilds structures in range and assists other units in construction.
|
block.flux-reactor.description = При нагріванні виділяє велику кількість енергії. Потребує ціаногену як стабілізатора. Вихідна енергія і потреба в ціаногені пропорційні тепловому навантаженню.\nВибухає при недостатній кількості ціаногену.
|
||||||
block.regen-projector.description = Slowly repairs allied structures in a square perimeter. Requires hydrogen.
|
block.neoplasia-reactor.description = Використовує аркіцит, воду і фазову тканину для виробництва великої кількості енергії. Виробляє тепло і небезпечні новоутворення як побічний продукт.\nВибухає з силою, якщо новоутворення не видалити з реактора через трубопроводи.
|
||||||
block.reinforced-container.description = Stores a small amount of items. Contents can be retrieved via unloaders. Does not increase core storage capacity.
|
block.build-tower.description = Автоматично перебудовує споруди в зоні досяжності та допомагає іншим одиницям у будівництві.
|
||||||
block.reinforced-vault.description = Stores a large amount of items. Contents can be retrieved via unloaders. Does not increase core storage capacity.
|
block.regen-projector.description = Повільно ремонтує суміжні споруди у квадратному периметрі. Потребує водню.
|
||||||
block.tank-fabricator.description = Constructs Stell units. Outputted units can be used directly, or moved into refabricators for upgrading.
|
block.reinforced-container.description = Зберігає невелику кількість предметів. Вміст можна отримати за допомогою розвантажувачів. Не збільшує ємність основного сховища.
|
||||||
block.ship-fabricator.description = Constructs Elude units. Outputted units can be used directly, or moved into refabricators for upgrading.
|
block.reinforced-vault.description = Зберігає велику кількість предметів. Вміст можна отримати за допомогою розвантажувачів. Не збільшує ємність ядра.
|
||||||
block.mech-fabricator.description = Constructs Merui units. Outputted units can be used directly, or moved into refabricators for upgrading.
|
block.tank-fabricator.description = Створює одиниці «Стел». Випущені одиниці можна використовувати безпосередньо або перемістити в переробний завод для поліпшення.
|
||||||
block.tank-assembler.description = Assembles large tanks out of inputted blocks and units. Output tier may be increased by adding modules.
|
block.ship-fabricator.description = Створює одиниці «Ухиляч». Випущені одиниці можна використовувати безпосередньо або перемістити в переробний завод для поліпшення.
|
||||||
block.ship-assembler.description = Assembles large ships out of inputted blocks and units. Output tier may be increased by adding modules.
|
block.mech-fabricator.description = Створює одиниці «Меруй». Випущені одиниці можна використовувати безпосередньо або перемістити в переробний завод для поліпшення.
|
||||||
block.mech-assembler.description = Assembles large mechs out of inputted blocks and units. Output tier may be increased by adding modules.
|
block.tank-assembler.description = Збирає великі танки з введених блоків та одиниць. Рівень виходу може бути збільшений шляхом додавання модулів.
|
||||||
block.tank-refabricator.description = Upgrades inputted tank units to the second tier.
|
block.ship-assembler.description = Збирає великі кораблі з введених блоків та одиниць. Рівень виходу може бути збільшений шляхом додавання модулів.
|
||||||
block.ship-refabricator.description = Upgrades inputted ship units to the second tier.
|
block.mech-assembler.description = Збирає великі мехи з введених блоків та одиниць. Рівень виходу може бути збільшений шляхом додавання модулів.
|
||||||
block.mech-refabricator.description = Upgrades inputted mech units to the second tier.
|
block.tank-refabricator.description = Поліпшує введені танкові одиниці до другого рівня.
|
||||||
block.prime-refabricator.description = Upgrades inputted units to the third tier.
|
block.ship-refabricator.description = Поліпшує введені корабельні одиниці до другого рівня.
|
||||||
block.basic-assembler-module.description = Increases assembler tier when placed next to a construction boundary. Requires power. Can be used as a payload input.
|
block.mech-refabricator.description = Поліпшує введені мехові одиниці до другого рівня.
|
||||||
block.small-deconstructor.description = Deconstructs inputted structures and units. Returns 100% of the build cost.
|
block.prime-refabricator.description = Поліпшує введені одиниці до другого рівня.
|
||||||
block.reinforced-payload-conveyor.description = Moves payloads forward.
|
block.basic-assembler-module.description = Підвищує рівень збирача, якщо його розмістити поруч з межею будівлі. Потребує енергії. Може використовуватися як вхід для вантажу.
|
||||||
block.reinforced-payload-router.description = Distributes payloads into adjacent blocks. Functions as a sorter when a filter is set.
|
block.small-deconstructor.description = Деконструює введені конструкції та блоки. Повертає 100% вартості побудови.
|
||||||
block.payload-mass-driver.description = Long-range payload transport structure. Shoots received payloads to linked payload mass drivers.
|
block.reinforced-payload-conveyor.description = Переміщує вантаж вперед.
|
||||||
block.large-payload-mass-driver.description = Long-range payload transport structure. Shoots received payloads to linked payload mass drivers.
|
block.reinforced-payload-router.description = Розподіляє вантажі в сусідні блоки. Функціонує як сортувальник при встановленому фільтрі.
|
||||||
block.unit-repair-tower.description = Repairs all units in its vicinity. Requires ozone.
|
block.payload-mass-driver.description = Структура транспортування вантажу великої дальності. Вистрілює отриманий вантаж на зв’язані вантажні катапульти.
|
||||||
block.radar.description = Gradually uncovers terrain and enemy units in a large radius. Requires power.
|
block.large-payload-mass-driver.description = Структура транспортування вантажу великої дальності. Вистрілює отриманий вантаж на зв’язані вантажні катапульти.
|
||||||
block.shockwave-tower.description = Damages and destroys enemy projectiles in a radius. Requires cyanogen.
|
block.unit-repair-tower.description = Ремонтує всі одиниці, що знаходяться поблизу. Потребує озону.
|
||||||
block.canvas.description = Displays a simple image with a pre-defined palette. Editable.
|
block.radar.description = Поступово проявляє місцевість та одиниці противника у великому радіусі. Вимагає енергії.
|
||||||
|
block.shockwave-tower.description = Пошкоджує та знищує ворожі снаряди в радіусі. Потребує ціаногену.
|
||||||
|
block.canvas.description = Показує просте зображення із заздалегідь визначеною палітрою. Можна редагувати.
|
||||||
|
|
||||||
unit.dagger.description = Вистрілює стандартними кулями в найближчих ворогах.
|
unit.dagger.description = Вистрілює стандартними кулями в найближчих ворогах.
|
||||||
unit.mace.description = Вистрілює потоками полум’я в найближчих ворогів.
|
unit.mace.description = Вистрілює потоками полум’я в найближчих ворогів.
|
||||||
unit.fortress.description = Вистрілює з дальнобійної артилерії в наземних цілей.
|
unit.fortress.description = Вистрілює з далекобійної артилерії в наземних цілей.
|
||||||
unit.scepter.description = Вистрілює шквалом заряджених куль у найближчих ворогів.
|
unit.scepter.description = Вистрілює шквалом заряджених куль у найближчих ворогів.
|
||||||
unit.reign.description = Вистрілює шквалом масивних пронизливих куль у найближчих ворогів.
|
unit.reign.description = Вистрілює шквалом масивних пронизливих куль у найближчих ворогів.
|
||||||
unit.nova.description = Вистрілює лазерними болтами, що завдають шкоди ворогам та відновлюють союзні споруди. Здатний до польоту.
|
unit.nova.description = Вистрілює лазерними болтами, що завдають шкоди ворогам та відновлюють союзні споруди. Здатний до польоту.
|
||||||
@@ -2149,27 +2169,29 @@ unit.oxynoe.description = Вистрілює потоками полум’я,
|
|||||||
unit.cyerce.description = Вистрілює у ворогів навідними касетними ракетами. Ремонтує найближчі одиниці.
|
unit.cyerce.description = Вистрілює у ворогів навідними касетними ракетами. Ремонтує найближчі одиниці.
|
||||||
unit.aegires.description = Електризує ворожі одиниці та будівлі, що входять до його енергетичного поля. Ремонтує всіх союзників.
|
unit.aegires.description = Електризує ворожі одиниці та будівлі, що входять до його енергетичного поля. Ремонтує всіх союзників.
|
||||||
unit.navanax.description = Вистрілює вибухонебезпечні снаряди електромагнітного імпульсу, завдаючи значної шкоди ворожим енергетичним мережам та ремонтуючи союзницькі споруди. Розплавляє сусідніх ворогів за допомогою 4 автономних лазерних веж.
|
unit.navanax.description = Вистрілює вибухонебезпечні снаряди електромагнітного імпульсу, завдаючи значної шкоди ворожим енергетичним мережам та ремонтуючи союзницькі споруди. Розплавляє сусідніх ворогів за допомогою 4 автономних лазерних веж.
|
||||||
unit.stell.description = Fires standard bullets at enemy targets.
|
|
||||||
unit.locus.description = Fires alternating bullets at enemy targets.
|
#Erekir
|
||||||
unit.precept.description = Fires piercing cluster bullets at enemy targets.
|
unit.stell.description = Веде вогонь по ворожих цілях звичайними кулями.
|
||||||
unit.vanquish.description = Fires large piercing splitting bullets at enemy targets.
|
unit.locus.description = Веде почерговий вогонь по ворожих цілях.
|
||||||
unit.conquer.description = Fires large piercing cascades of bullets at enemy targets.
|
unit.precept.description = Веде вогонь по ворожих цілях касетними кумулятивними кулями.
|
||||||
unit.merui.description = Fires long-range artillery at enemy ground targets. Can step over most terrain.
|
unit.vanquish.description = Веде вогонь по ворожих цілях великими пробивними осколково-фугасними кулями.
|
||||||
unit.cleroi.description = Fires dual shells at enemy targets. Targets enemy projectiles with point defense turrets. Can step over most terrain.
|
unit.conquer.description = Веде вогонь великими пробивними каскадами куль по ворожих цілях.
|
||||||
unit.anthicus.description = Fires long-range homing missiles at enemy targets. Can step over most terrain.
|
unit.merui.description = Веде вогонь з далекобійної артилерії по наземних цілях противника. Може пересуватися по більшості видів місцевості.
|
||||||
unit.tecta.description = Fires homing plasma missiles at enemy targets. Protects itself with a directional shield. Can step over most terrain.
|
unit.cleroi.description = Веде вогонь здвоєними снарядами по ворожих цілях. Прицільно знищує снаряди противника за допомогою точкових захисних башт. Може пересуватися по більшості видів місцевості.
|
||||||
unit.collaris.description = Fires long-range fragmenting artillery at enemy targets. Can step over most terrain.
|
unit.anthicus.description = Веде вогонь по ворожих цілях ракетами дальнього радіуса дії з самонаведенням. Може пересуватися по більшості видів місцевості.
|
||||||
unit.elude.description = Fires pairs of homing bullets at enemy targets. Can float over bodies of liquid.
|
unit.tecta.description = Веде вогонь самонавідними плазмовими ракетами по ворожих цілях. Захищається за допомогою щита спрямованої дії. Може пересуватися по більшості видів місцевості.
|
||||||
unit.avert.description = Fires twisting pairs of bullets at enemy targets.
|
unit.collaris.description = Веде дальній осколково-фугасний вогонь по ворожих цілях. Може пересуватися по більшості видів місцевості.
|
||||||
unit.obviate.description = Fires twisting pairs of lightning orbs at enemy targets.
|
unit.elude.description = Стріляє парами самонавідних куль по ворожих цілях. Може парити над об’єктами з рідиною.
|
||||||
unit.quell.description = Fires long-range homing missiles at enemy targets. Suppresses enemy structure repair blocks.
|
unit.avert.description = Веде вогонь по ворожих цілях закрученими парами куль.
|
||||||
unit.disrupt.description = Fires long-range homing suppression missiles at enemy targets. Suppresses enemy structure repair blocks.
|
unit.obviate.description = Стріляє по ворожих цілях закрученими парами блискавичних куль.
|
||||||
unit.evoke.description = Builds structures to defend the Bastion core. Repairs structures with a beam.
|
unit.quell.description = Веде вогонь далекобійними самонавідними ракетами по об’єктах противника. Блокує ремонтні пункти супротивника.
|
||||||
unit.incite.description = Builds structures to defend the Citadel core. Repairs structures with a beam.
|
unit.disrupt.description = Веде вогонь ракетами дальнього радіуса дії з самонаведенням по об’єктах противника. Блокує ремонтні пункти супротивника.
|
||||||
unit.emanate.description = Builds structures to defend the Acropolis core. Repairs structures with beams.
|
unit.evoke.description = Будує споруди для захисту ядра «Бастіон». Ремонтує споруди за допомогою променя.
|
||||||
|
unit.incite.description = Будує споруди для захисту ядра «Цитадель». Ремонтує споруди за допомогою променя.
|
||||||
|
unit.emanate.description = Будує споруди для захисту ядра «Акрополь». Ремонтує споруди за допомогою променя.
|
||||||
|
|
||||||
lst.read = Зчитує число із з’єднаної комірки пам’яті.
|
lst.read = Зчитує число із з’єднаної комірки пам’яті.
|
||||||
lst.write = Записує числу у з’єднану комірки пам’яті.
|
lst.write = Записує числу у з’єднану комірку пам’яті.
|
||||||
lst.print = Додайте текст до буфера друку.\nНічого не відображає, поки [accent]Print Flush[] використовується.
|
lst.print = Додайте текст до буфера друку.\nНічого не відображає, поки [accent]Print Flush[] використовується.
|
||||||
lst.draw = Додає операцію до буфера рисунка.\nНічого не відображає, поки [accent]Draw Flush[] використовується.
|
lst.draw = Додає операцію до буфера рисунка.\nНічого не відображає, поки [accent]Draw Flush[] використовується.
|
||||||
lst.drawflush = Скидає буфер операцій [accent]Draw[] на дисплей.
|
lst.drawflush = Скидає буфер операцій [accent]Draw[] на дисплей.
|
||||||
@@ -2182,7 +2204,7 @@ lst.set = Установити значення змінної.
|
|||||||
lst.operation = Виконує операцію над 1-2 змінними.
|
lst.operation = Виконує операцію над 1-2 змінними.
|
||||||
lst.end = Перейти до верхньої частини стеку операцій.
|
lst.end = Перейти до верхньої частини стеку операцій.
|
||||||
lst.wait = Чекати певну кількість секунд.
|
lst.wait = Чекати певну кількість секунд.
|
||||||
lst.stop = Halt execution of this processor.
|
lst.stop = Зупиняє виконання процесора.
|
||||||
lst.lookup = Знайти тип предмета, рідини, одиниці чи блоку за ідентифікатором.\nМожна отримати доступ до загальної кількості кожного типу через \n[accent]@unitCount[] / [accent]@itemCount[] / [accent]@liquidCount[] / [accent]@blockCount[]
|
lst.lookup = Знайти тип предмета, рідини, одиниці чи блоку за ідентифікатором.\nМожна отримати доступ до загальної кількості кожного типу через \n[accent]@unitCount[] / [accent]@itemCount[] / [accent]@liquidCount[] / [accent]@blockCount[]
|
||||||
lst.jump = Умовне переходження до іншої операції.
|
lst.jump = Умовне переходження до іншої операції.
|
||||||
lst.unitbind = Прив’язка до одиниці певного типу та його зберігання в [accent]@unit[].
|
lst.unitbind = Прив’язка до одиниці певного типу та його зберігання в [accent]@unit[].
|
||||||
@@ -2199,7 +2221,7 @@ lst.setrate = Установлює швидкість виконання про
|
|||||||
lst.fetch = Пошук одиниць, ядер, гравців або будівель за індексом.\nІндекси починаються з 0 і закінчуються на поверненій кількості.
|
lst.fetch = Пошук одиниць, ядер, гравців або будівель за індексом.\nІндекси починаються з 0 і закінчуються на поверненій кількості.
|
||||||
lst.packcolor = Упаковує [0, 1] компоненти RGBA в єдине число для малювання або встановлення правил.
|
lst.packcolor = Упаковує [0, 1] компоненти RGBA в єдине число для малювання або встановлення правил.
|
||||||
lst.setrule = Установлює ігрове правило.
|
lst.setrule = Установлює ігрове правило.
|
||||||
lst.flushmessage = Показує повідомлення на екрані з текстового буферу.\nЗачекає, поки не закінчиться попереднє повідомлення.
|
lst.flushmessage = Показує повідомлення на екрані з текстового буфера.\nЧекатиме, поки не закінчиться попереднє повідомлення.
|
||||||
lst.cutscene = Керує камерою гравця.
|
lst.cutscene = Керує камерою гравця.
|
||||||
lst.setflag = Установлює глобальний прапорець, який можуть прочитати усі процесори.
|
lst.setflag = Установлює глобальний прапорець, який можуть прочитати усі процесори.
|
||||||
lst.getflag = Перевіряє, чи встановлено глобальний прапорець.
|
lst.getflag = Перевіряє, чи встановлено глобальний прапорець.
|
||||||
@@ -2250,7 +2272,7 @@ lenum.always = Завжди істинне.
|
|||||||
lenum.idiv = Ціле ділення.
|
lenum.idiv = Ціле ділення.
|
||||||
lenum.div = Ділення.\nПовертає [accent]null[] при діленні на нуль.
|
lenum.div = Ділення.\nПовертає [accent]null[] при діленні на нуль.
|
||||||
lenum.mod = Залишок від ділення.
|
lenum.mod = Залишок від ділення.
|
||||||
lenum.equal = Рівно. Примусове приведення типів.\nНе-null об’єкти порівняно з числами стають 1, інакше — 0.
|
lenum.equal = Рівно. Примусове приведення типів.\nНе-null об’єкти у порівнянні з числами стають 1, інакше — 0.
|
||||||
lenum.notequal = Не рівно. Примусове приведення типів.
|
lenum.notequal = Не рівно. Примусове приведення типів.
|
||||||
lenum.strictequal = Сувора рівність. Примусового приведення типів немає.\nМожна використати для перевірки на [accent]null[].
|
lenum.strictequal = Сувора рівність. Примусового приведення типів немає.\nМожна використати для перевірки на [accent]null[].
|
||||||
lenum.shl = Зсув бітів ліворуч.
|
lenum.shl = Зсув бітів ліворуч.
|
||||||
@@ -2311,13 +2333,13 @@ sensor.in = Будівля чи одиниця для розпізнавання
|
|||||||
radar.from = Від якої будівлі треба розпізнавати.\nРадіус розпізнавання обмежено радіусом будівництва.
|
radar.from = Від якої будівлі треба розпізнавати.\nРадіус розпізнавання обмежено радіусом будівництва.
|
||||||
radar.target = Фільтр для розпізнавання одиниць.
|
radar.target = Фільтр для розпізнавання одиниць.
|
||||||
radar.and = Додаткові фільтри.
|
radar.and = Додаткові фільтри.
|
||||||
radar.order = Порядок сортування. 0 — сортування у зворотньому порядку.
|
radar.order = Порядок сортування. 0 — сортування у зворотному порядку.
|
||||||
radar.sort = Показник для сортування результатів.
|
radar.sort = Показник для сортування результатів.
|
||||||
radar.output = Змінна для записув вихідної одиниці.
|
radar.output = Змінна для записув вихідної одиниці.
|
||||||
|
|
||||||
unitradar.target = Фільтр для розпізнавання одиниць.
|
unitradar.target = Фільтр для розпізнавання одиниць.
|
||||||
unitradar.and = Додаткові фільтри.
|
unitradar.and = Додаткові фільтри.
|
||||||
unitradar.order = Порядок сортування. 0 — сортування у зворотньому порядку.
|
unitradar.order = Порядок сортування. 0 — сортування у зворотному порядку.
|
||||||
unitradar.sort = Показник для сортування результатів.
|
unitradar.sort = Показник для сортування результатів.
|
||||||
unitradar.output = Змінна для записув вихідної одиниці.
|
unitradar.output = Змінна для записув вихідної одиниці.
|
||||||
|
|
||||||
@@ -2330,7 +2352,7 @@ unitlocate.found = Чи був об’єкт знайдений.
|
|||||||
unitlocate.building = Змінна для запису знайденої будівлі
|
unitlocate.building = Змінна для запису знайденої будівлі
|
||||||
unitlocate.outx = Виводить координату X.
|
unitlocate.outx = Виводить координату X.
|
||||||
unitlocate.outy = Виводить координату Y.
|
unitlocate.outy = Виводить координату Y.
|
||||||
unitlocate.group = Група будівль для пошуку.
|
unitlocate.group = Група будівель для пошуку.
|
||||||
|
|
||||||
lenum.idle = Зупиняти рух, проте продовжути будувати чи видобувати.\nСтан за замовчуванням.
|
lenum.idle = Зупиняти рух, проте продовжути будувати чи видобувати.\nСтан за замовчуванням.
|
||||||
lenum.stop = Зупинити або рух, або видобуток, або будівництво.
|
lenum.stop = Зупинити або рух, або видобуток, або будівництво.
|
||||||
@@ -2351,5 +2373,7 @@ lenum.build = Побудувати будівлю.
|
|||||||
lenum.getblock = Розпізнавання блока та його типа за координатами.\nОдиниця повинна знаходитися в межах досяжності.\nСуцільні не-будівлі матимуть тип [accent]@solid[].
|
lenum.getblock = Розпізнавання блока та його типа за координатами.\nОдиниця повинна знаходитися в межах досяжності.\nСуцільні не-будівлі матимуть тип [accent]@solid[].
|
||||||
lenum.within = Чи знаходиться одиниця біля позиції.
|
lenum.within = Чи знаходиться одиниця біля позиції.
|
||||||
lenum.boost = Почати чи зупинити політ.
|
lenum.boost = Почати чи зупинити політ.
|
||||||
onset.commandmode = Утримуйте [accent]Shift[] щоб увійти в [accent]режим командування[].\n[accent] Зажміть ЛКМ і потягніть,[] щоб обрати одиниці.\n[accent]Використовуйте ПКМ[], щоби наказати обраним одиницям рухатися чи атакувати.
|
|
||||||
onset.commandmode.mobile = Натисніть кнопку [accent]Командувати[] щоб увійти [accent]в режим командування[].\nУтримуйте палець і [accent]потягніть[] щоб обрати одиниці.\n[accent] Зробіть коротке натискання[], щоби наказати обраним одиницям рухатися чи атакувати.
|
#Don't translate these yet!
|
||||||
|
onset.commandmode = Утримуйте [accent]Shift[], щоб увійти в [accent]режим командування[].\n[accent]Зажміть ЛКМ і потягніть,[] щоб обрати одиниці.\n[accent]Використовуйте ПКМ[], щоби наказати обраним одиницям рухатися чи атакувати.
|
||||||
|
onset.commandmode.mobile = Натисніть кнопку [accent]Командувати[], щоб увійти [accent]в режим командування[].\nУтримуйте палець і [accent]потягніть[], щоб обрати одиниці.\n[accent] Зробіть коротке натискання[], щоби наказати обраним одиницям рухатися чи атакувати.
|
||||||
|
|||||||
@@ -154,6 +154,7 @@ mod.outdatedv7.details = This mod is incompatible with the latest version of the
|
|||||||
mod.blacklisted.details = This mod has been manually blacklisted for causing crashes or other issues with this version of the game. Do not use it.
|
mod.blacklisted.details = This mod has been manually blacklisted for causing crashes or other issues with this version of the game. Do not use it.
|
||||||
mod.missingdependencies.details = This mod is missing dependencies: {0}
|
mod.missingdependencies.details = This mod is missing dependencies: {0}
|
||||||
mod.erroredcontent.details = This game caused errors when loading. Ask the mod author to fix them.
|
mod.erroredcontent.details = This game caused errors when loading. Ask the mod author to fix them.
|
||||||
|
mod.requiresversion = Requires game version: [red]{0}
|
||||||
mod.errors = Đã xảy ra lỗi khi tải nội dung.
|
mod.errors = Đã xảy ra lỗi khi tải nội dung.
|
||||||
mod.noerrorplay = [scarlet]Bạn có mod bị lỗi.[]Tắt các mod bị lỗi hoặc sửa các lỗi trước khi chơi.
|
mod.noerrorplay = [scarlet]Bạn có mod bị lỗi.[]Tắt các mod bị lỗi hoặc sửa các lỗi trước khi chơi.
|
||||||
mod.nowdisabled = [scarlet]Mod '{0}' cần mod này để chạy:[accent] {1}\n[lightgray]Trước tiên bạn cần tải các mod này xuống.\nBản mod này sẽ tự động tắt.
|
mod.nowdisabled = [scarlet]Mod '{0}' cần mod này để chạy:[accent] {1}\n[lightgray]Trước tiên bạn cần tải các mod này xuống.\nBản mod này sẽ tự động tắt.
|
||||||
@@ -287,6 +288,7 @@ server.invalidport = Cổng không hợp lệ!
|
|||||||
server.error = [scarlet]Lỗi máy chủ.
|
server.error = [scarlet]Lỗi máy chủ.
|
||||||
save.new = Bản lưu mới
|
save.new = Bản lưu mới
|
||||||
save.overwrite = Bạn có chắc muốn ghi đè\nbản lưu này?
|
save.overwrite = Bạn có chắc muốn ghi đè\nbản lưu này?
|
||||||
|
save.nocampaign = Individual save files from the campaign cannot be imported.
|
||||||
overwrite = Ghi đè
|
overwrite = Ghi đè
|
||||||
save.none = Không có bản lưu nào được tìm thấy!
|
save.none = Không có bản lưu nào được tìm thấy!
|
||||||
savefail = Không thể lưu trò chơi này!
|
savefail = Không thể lưu trò chơi này!
|
||||||
@@ -354,6 +356,8 @@ pausebuilding = [accent][[{0}][] để tạm dừng xây dựng
|
|||||||
resumebuilding = [scarlet][[{0}][] để tiếp tục xây dựng
|
resumebuilding = [scarlet][[{0}][] để tiếp tục xây dựng
|
||||||
enablebuilding = [scarlet][[{0}][] để bật xây dựng
|
enablebuilding = [scarlet][[{0}][] để bật xây dựng
|
||||||
showui = UI hidden.\nPress [accent][[{0}][] để hiện UI.
|
showui = UI hidden.\nPress [accent][[{0}][] để hiện UI.
|
||||||
|
commandmode.name = [accent]Command Mode
|
||||||
|
commandmode.nounits = [no units]
|
||||||
wave = [accent]Đợt {0}
|
wave = [accent]Đợt {0}
|
||||||
wave.cap = [accent]Đợt {0}/{1}
|
wave.cap = [accent]Đợt {0}/{1}
|
||||||
wave.waiting = [lightgray]Kẻ địch xuất hiện sau {0}
|
wave.waiting = [lightgray]Kẻ địch xuất hiện sau {0}
|
||||||
@@ -438,6 +442,7 @@ waves.max = Số lượng quân lính tối đa
|
|||||||
waves.guardian = Boss
|
waves.guardian = Boss
|
||||||
waves.preview = Xem trước
|
waves.preview = Xem trước
|
||||||
waves.edit = Chỉnh sửa...
|
waves.edit = Chỉnh sửa...
|
||||||
|
waves.random = Random
|
||||||
waves.copy = Sao chép vào bộ nhớ tạm
|
waves.copy = Sao chép vào bộ nhớ tạm
|
||||||
waves.load = Lấy từ bộ nhớ tạm
|
waves.load = Lấy từ bộ nhớ tạm
|
||||||
waves.invalid = Lượt không hợp lệ trong bộ nhớ tạm.
|
waves.invalid = Lượt không hợp lệ trong bộ nhớ tạm.
|
||||||
@@ -1200,6 +1205,7 @@ rules.unitbuildspeedmultiplier = Hệ số tốc độ sản xuất lính
|
|||||||
rules.unitcostmultiplier = Unit Cost Multiplier
|
rules.unitcostmultiplier = Unit Cost Multiplier
|
||||||
rules.unithealthmultiplier = Hệ số máu của quân lính
|
rules.unithealthmultiplier = Hệ số máu của quân lính
|
||||||
rules.unitdamagemultiplier = Hệ số sát thương của quân lính
|
rules.unitdamagemultiplier = Hệ số sát thương của quân lính
|
||||||
|
rules.unitcrashdamagemultiplier = Unit Crash Damage Multiplier
|
||||||
rules.solarmultiplier = Solar Power Multiplier
|
rules.solarmultiplier = Solar Power Multiplier
|
||||||
rules.unitcapvariable = Căn cứ tăng giới hạn quân lính
|
rules.unitcapvariable = Căn cứ tăng giới hạn quân lính
|
||||||
rules.unitcap = Giới hạn quân lính
|
rules.unitcap = Giới hạn quân lính
|
||||||
|
|||||||
@@ -156,6 +156,7 @@ mod.outdatedv7.details = 这个模组与最新版游戏不兼容。 作者必须
|
|||||||
mod.blacklisted.details = 这个模组由于造成该版本游戏崩溃或其他原因被手动禁用了。 不要使用它。
|
mod.blacklisted.details = 这个模组由于造成该版本游戏崩溃或其他原因被手动禁用了。 不要使用它。
|
||||||
mod.missingdependencies.details = 缺少前置模组:{0}
|
mod.missingdependencies.details = 缺少前置模组:{0}
|
||||||
mod.erroredcontent.details = 这个模组在游戏加载时发生了错误。 请通知模组作者修复它。
|
mod.erroredcontent.details = 这个模组在游戏加载时发生了错误。 请通知模组作者修复它。
|
||||||
|
mod.requiresversion = Requires game version: [red]{0}
|
||||||
|
|
||||||
mod.errors = 读取内容时发生错误。
|
mod.errors = 读取内容时发生错误。
|
||||||
mod.noerrorplay = [scarlet]您的模组发生了错误。 []禁用相关模组或修复错误后才能进入游戏。
|
mod.noerrorplay = [scarlet]您的模组发生了错误。 []禁用相关模组或修复错误后才能进入游戏。
|
||||||
@@ -290,6 +291,7 @@ server.invalidport = 无效的端口!
|
|||||||
server.error = [scarlet]创建服务器错误。
|
server.error = [scarlet]创建服务器错误。
|
||||||
save.new = 新存档
|
save.new = 新存档
|
||||||
save.overwrite = 确定要覆盖这个存档吗?
|
save.overwrite = 确定要覆盖这个存档吗?
|
||||||
|
save.nocampaign = Individual save files from the campaign cannot be imported.
|
||||||
overwrite = 覆盖
|
overwrite = 覆盖
|
||||||
save.none = 没有找到存档!
|
save.none = 没有找到存档!
|
||||||
savefail = 保存失败!
|
savefail = 保存失败!
|
||||||
@@ -357,6 +359,8 @@ pausebuilding = 按[accent][[{0}][]键暂停建造
|
|||||||
resumebuilding = 按[scarlet][[{0}][]键恢复建造
|
resumebuilding = 按[scarlet][[{0}][]键恢复建造
|
||||||
enablebuilding = 按[scarlet][[{0}][]键启用建造
|
enablebuilding = 按[scarlet][[{0}][]键启用建造
|
||||||
showui = UI已隐藏\n按[accent][[{0}][]键显示UI
|
showui = UI已隐藏\n按[accent][[{0}][]键显示UI
|
||||||
|
commandmode.name = [accent]Command Mode
|
||||||
|
commandmode.nounits = [no units]
|
||||||
wave = [accent]第{0}波
|
wave = [accent]第{0}波
|
||||||
wave.cap = [accent]波次 {0}/{1}
|
wave.cap = [accent]波次 {0}/{1}
|
||||||
wave.waiting = [lightgray]下一波倒计时:{0}秒
|
wave.waiting = [lightgray]下一波倒计时:{0}秒
|
||||||
@@ -441,6 +445,7 @@ waves.max = 最大单位数
|
|||||||
waves.guardian = Boss
|
waves.guardian = Boss
|
||||||
waves.preview = 预览
|
waves.preview = 预览
|
||||||
waves.edit = 编辑…
|
waves.edit = 编辑…
|
||||||
|
waves.random = Random
|
||||||
waves.copy = 复制到剪贴板
|
waves.copy = 复制到剪贴板
|
||||||
waves.load = 从剪贴板读取
|
waves.load = 从剪贴板读取
|
||||||
waves.invalid = 剪贴板中的波次信息无效。
|
waves.invalid = 剪贴板中的波次信息无效。
|
||||||
@@ -1211,6 +1216,7 @@ rules.unitbuildspeedmultiplier = 单位生产速度倍率
|
|||||||
rules.unitcostmultiplier = 单位生产花费倍率
|
rules.unitcostmultiplier = 单位生产花费倍率
|
||||||
rules.unithealthmultiplier = 单位生命倍率
|
rules.unithealthmultiplier = 单位生命倍率
|
||||||
rules.unitdamagemultiplier = 单位伤害倍率
|
rules.unitdamagemultiplier = 单位伤害倍率
|
||||||
|
rules.unitcrashdamagemultiplier = Unit Crash Damage Multiplier
|
||||||
rules.solarmultiplier = 太阳能发电倍率
|
rules.solarmultiplier = 太阳能发电倍率
|
||||||
rules.unitcapvariable = 核心可增加单位上限
|
rules.unitcapvariable = 核心可增加单位上限
|
||||||
rules.unitcap = 基础单位上限
|
rules.unitcap = 基础单位上限
|
||||||
|
|||||||
@@ -154,6 +154,7 @@ mod.outdatedv7.details = This mod is incompatible with the latest version of the
|
|||||||
mod.blacklisted.details = This mod has been manually blacklisted for causing crashes or other issues with this version of the game. Do not use it.
|
mod.blacklisted.details = This mod has been manually blacklisted for causing crashes or other issues with this version of the game. Do not use it.
|
||||||
mod.missingdependencies.details = This mod is missing dependencies: {0}
|
mod.missingdependencies.details = This mod is missing dependencies: {0}
|
||||||
mod.erroredcontent.details = This game caused errors when loading. Ask the mod author to fix them.
|
mod.erroredcontent.details = This game caused errors when loading. Ask the mod author to fix them.
|
||||||
|
mod.requiresversion = Requires game version: [red]{0}
|
||||||
mod.errors = 載入內容時發生錯誤
|
mod.errors = 載入內容時發生錯誤
|
||||||
mod.noerrorplay = [scarlet]你使用了有問題的模組。[] 遊戲前請先停用相關模組或修正問題。
|
mod.noerrorplay = [scarlet]你使用了有問題的模組。[] 遊戲前請先停用相關模組或修正問題。
|
||||||
mod.nowdisabled = [scarlet]「{0}」模組缺少依賴關係:[accent] {1}\n[lightgray]必須先下載這些模組。\n此模組將被自動停用。
|
mod.nowdisabled = [scarlet]「{0}」模組缺少依賴關係:[accent] {1}\n[lightgray]必須先下載這些模組。\n此模組將被自動停用。
|
||||||
@@ -287,6 +288,7 @@ server.invalidport = 無效的連接埠!
|
|||||||
server.error = [crimson]建立伺服器時發生錯誤。
|
server.error = [crimson]建立伺服器時發生錯誤。
|
||||||
save.new = 新存檔
|
save.new = 新存檔
|
||||||
save.overwrite = 您確定要覆寫存檔嗎?
|
save.overwrite = 您確定要覆寫存檔嗎?
|
||||||
|
save.nocampaign = Individual save files from the campaign cannot be imported.
|
||||||
overwrite = 覆寫
|
overwrite = 覆寫
|
||||||
save.none = 找不到存檔!
|
save.none = 找不到存檔!
|
||||||
savefail = 存檔失敗!
|
savefail = 存檔失敗!
|
||||||
@@ -354,6 +356,8 @@ pausebuilding = [accent][[{0}][]暫停建造
|
|||||||
resumebuilding = [scarlet][[{0}][]繼續建造
|
resumebuilding = [scarlet][[{0}][]繼續建造
|
||||||
enablebuilding = [scarlet][[{0}][]啟用建造
|
enablebuilding = [scarlet][[{0}][]啟用建造
|
||||||
showui = 已隱藏介面。\n按[accent][[{0}][]顯示介面。
|
showui = 已隱藏介面。\n按[accent][[{0}][]顯示介面。
|
||||||
|
commandmode.name = [accent]Command Mode
|
||||||
|
commandmode.nounits = [no units]
|
||||||
wave = [accent]第{0}波
|
wave = [accent]第{0}波
|
||||||
wave.cap = [accent]Wave {0}/{1}
|
wave.cap = [accent]Wave {0}/{1}
|
||||||
wave.waiting = [lightgray]將於{0}秒後抵達
|
wave.waiting = [lightgray]將於{0}秒後抵達
|
||||||
@@ -438,6 +442,7 @@ waves.max = 最大單位數
|
|||||||
waves.guardian = 守衛者
|
waves.guardian = 守衛者
|
||||||
waves.preview = 預覽
|
waves.preview = 預覽
|
||||||
waves.edit = 編輯……
|
waves.edit = 編輯……
|
||||||
|
waves.random = Random
|
||||||
waves.copy = 複製到剪貼簿
|
waves.copy = 複製到剪貼簿
|
||||||
waves.load = 從剪貼簿載入
|
waves.load = 從剪貼簿載入
|
||||||
waves.invalid = 剪貼簿中的波次無效。
|
waves.invalid = 剪貼簿中的波次無效。
|
||||||
@@ -1207,6 +1212,7 @@ rules.unitbuildspeedmultiplier = 單位建設速度加成
|
|||||||
rules.unitcostmultiplier = Unit Cost Multiplier
|
rules.unitcostmultiplier = Unit Cost Multiplier
|
||||||
rules.unithealthmultiplier = 單位血量加成
|
rules.unithealthmultiplier = 單位血量加成
|
||||||
rules.unitdamagemultiplier = 單位傷害加成
|
rules.unitdamagemultiplier = 單位傷害加成
|
||||||
|
rules.unitcrashdamagemultiplier = Unit Crash Damage Multiplier
|
||||||
rules.solarmultiplier = 太陽能電加成
|
rules.solarmultiplier = 太陽能電加成
|
||||||
rules.unitcapvariable = 核心限制單位上限
|
rules.unitcapvariable = 核心限制單位上限
|
||||||
rules.unitcap = 基礎單位上限
|
rules.unitcap = 基礎單位上限
|
||||||
|
|||||||
@@ -151,3 +151,5 @@ SMOLKEYS
|
|||||||
GlennFolker
|
GlennFolker
|
||||||
BlackDeluxeCat
|
BlackDeluxeCat
|
||||||
zenonet
|
zenonet
|
||||||
|
AyuKo-o
|
||||||
|
JojoFR1
|
||||||
|
|||||||
Binary file not shown.
@@ -145,7 +145,7 @@ public class BuilderAI extends AIController{
|
|||||||
float minDst = Float.MAX_VALUE;
|
float minDst = Float.MAX_VALUE;
|
||||||
Player closest = null;
|
Player closest = null;
|
||||||
for(var player : Groups.player){
|
for(var player : Groups.player){
|
||||||
if(player.unit().canBuild() && !player.dead()){
|
if(player.unit().canBuild() && !player.dead() && player.team() == unit.team){
|
||||||
float dst = player.dst2(unit);
|
float dst = player.dst2(unit);
|
||||||
if(dst < minDst){
|
if(dst < minDst){
|
||||||
closest = player;
|
closest = player;
|
||||||
|
|||||||
@@ -60,8 +60,8 @@ public class CargoAI extends AIController{
|
|||||||
}
|
}
|
||||||
}else{
|
}else{
|
||||||
|
|
||||||
//what if some prankster reconfigures the source while the unit is moving? we can't have that!
|
//what if some prankster reconfigures or picks up the target while the unit is moving? we can't have that!
|
||||||
if(unloadTarget.item != itemTarget){
|
if(unloadTarget.item != itemTarget || unloadTarget.isPayload()){
|
||||||
unloadTarget = null;
|
unloadTarget = null;
|
||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
@@ -120,6 +120,7 @@ public class CargoAI extends AIController{
|
|||||||
lastStale = target;
|
lastStale = target;
|
||||||
}else{
|
}else{
|
||||||
unloadTarget = target;
|
unloadTarget = target;
|
||||||
|
targets.clear();
|
||||||
return i;
|
return i;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
@@ -133,6 +134,7 @@ public class CargoAI extends AIController{
|
|||||||
unloadTarget = lastStale;
|
unloadTarget = lastStale;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
targets.clear();
|
||||||
return -1;
|
return -1;
|
||||||
}
|
}
|
||||||
|
|
||||||
@@ -179,6 +181,8 @@ public class CargoAI extends AIController{
|
|||||||
if(unloadTarget == null && lastStale != null){
|
if(unloadTarget == null && lastStale != null){
|
||||||
unloadTarget = lastStale;
|
unloadTarget = lastStale;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
targets.clear();
|
||||||
}
|
}
|
||||||
|
|
||||||
//unused, might change later
|
//unused, might change later
|
||||||
|
|||||||
@@ -1180,6 +1180,7 @@ public class Blocks{
|
|||||||
craftTime = 10f;
|
craftTime = 10f;
|
||||||
rotate = true;
|
rotate = true;
|
||||||
invertFlip = true;
|
invertFlip = true;
|
||||||
|
group = BlockGroup.liquids;
|
||||||
|
|
||||||
liquidCapacity = 50f;
|
liquidCapacity = 50f;
|
||||||
|
|
||||||
@@ -2470,6 +2471,7 @@ public class Blocks{
|
|||||||
turbineCondenser = new ThermalGenerator("turbine-condenser"){{
|
turbineCondenser = new ThermalGenerator("turbine-condenser"){{
|
||||||
requirements(Category.power, with(Items.beryllium, 60));
|
requirements(Category.power, with(Items.beryllium, 60));
|
||||||
attribute = Attribute.steam;
|
attribute = Attribute.steam;
|
||||||
|
group = BlockGroup.liquids;
|
||||||
displayEfficiencyScale = 1f / 9f;
|
displayEfficiencyScale = 1f / 9f;
|
||||||
minEfficiency = 9f - 0.0001f;
|
minEfficiency = 9f - 0.0001f;
|
||||||
powerProduction = 3f / 9f;
|
powerProduction = 3f / 9f;
|
||||||
@@ -2764,6 +2766,7 @@ public class Blocks{
|
|||||||
ventCondenser = new AttributeCrafter("vent-condenser"){{
|
ventCondenser = new AttributeCrafter("vent-condenser"){{
|
||||||
requirements(Category.production, with(Items.graphite, 20, Items.beryllium, 60));
|
requirements(Category.production, with(Items.graphite, 20, Items.beryllium, 60));
|
||||||
attribute = Attribute.steam;
|
attribute = Attribute.steam;
|
||||||
|
group = BlockGroup.liquids;
|
||||||
minEfficiency = 9f - 0.0001f;
|
minEfficiency = 9f - 0.0001f;
|
||||||
baseEfficiency = 0f;
|
baseEfficiency = 0f;
|
||||||
displayEfficiency = false;
|
displayEfficiency = false;
|
||||||
@@ -4601,7 +4604,7 @@ public class Blocks{
|
|||||||
|
|
||||||
recoil = 0.5f;
|
recoil = 0.5f;
|
||||||
|
|
||||||
fogRadiusMultiuplier = 0.75f;
|
fogRadiusMultiuplier = 0.4f;
|
||||||
coolantMultiplier = 6f;
|
coolantMultiplier = 6f;
|
||||||
shootSound = Sounds.missileLaunch;
|
shootSound = Sounds.missileLaunch;
|
||||||
|
|
||||||
@@ -5503,7 +5506,7 @@ public class Blocks{
|
|||||||
regionSuffix = "-dark";
|
regionSuffix = "-dark";
|
||||||
size = 5;
|
size = 5;
|
||||||
plans.add(
|
plans.add(
|
||||||
new AssemblerUnitPlan(UnitTypes.quell, 60f * 60f, PayloadStack.list(UnitTypes.elude, 4, Blocks.berylliumWallLarge, 8)),
|
new AssemblerUnitPlan(UnitTypes.quell, 60f * 60f, PayloadStack.list(UnitTypes.elude, 4, Blocks.berylliumWallLarge, 12)),
|
||||||
new AssemblerUnitPlan(UnitTypes.disrupt, 60f * 60f * 3f, PayloadStack.list(UnitTypes.avert, 6, Blocks.carbideWallLarge, 20))
|
new AssemblerUnitPlan(UnitTypes.disrupt, 60f * 60f * 3f, PayloadStack.list(UnitTypes.avert, 6, Blocks.carbideWallLarge, 20))
|
||||||
);
|
);
|
||||||
areaSize = 13;
|
areaSize = 13;
|
||||||
@@ -5518,7 +5521,7 @@ public class Blocks{
|
|||||||
size = 5;
|
size = 5;
|
||||||
//TODO different reqs
|
//TODO different reqs
|
||||||
plans.add(
|
plans.add(
|
||||||
new AssemblerUnitPlan(UnitTypes.tecta, 60f * 70f, PayloadStack.list(UnitTypes.merui, 6, Blocks.tungstenWallLarge, 12)),
|
new AssemblerUnitPlan(UnitTypes.tecta, 60f * 70f, PayloadStack.list(UnitTypes.merui, 5, Blocks.tungstenWallLarge, 12)),
|
||||||
new AssemblerUnitPlan(UnitTypes.collaris, 60f * 60f * 3f, PayloadStack.list(UnitTypes.cleroi, 6, Blocks.carbideWallLarge, 20))
|
new AssemblerUnitPlan(UnitTypes.collaris, 60f * 60f * 3f, PayloadStack.list(UnitTypes.cleroi, 6, Blocks.carbideWallLarge, 20))
|
||||||
);
|
);
|
||||||
areaSize = 13;
|
areaSize = 13;
|
||||||
|
|||||||
@@ -1468,7 +1468,7 @@ public class UnitTypes{
|
|||||||
buildBeamOffset = 43;
|
buildBeamOffset = 43;
|
||||||
ammoCapacity = 1;
|
ammoCapacity = 1;
|
||||||
|
|
||||||
abilities.add(new ForceFieldAbility(140f, 4f, 7000f, 60f * 8), new RepairFieldAbility(130f, 60f * 2, 140f));
|
abilities.add(new ForceFieldAbility(140f, 4f, 7000f, 60f * 8, 8, 0f), new RepairFieldAbility(130f, 60f * 2, 140f));
|
||||||
}};
|
}};
|
||||||
|
|
||||||
//endregion
|
//endregion
|
||||||
@@ -2509,7 +2509,7 @@ public class UnitTypes{
|
|||||||
weapons.add(new Weapon("locus-weapon"){{
|
weapons.add(new Weapon("locus-weapon"){{
|
||||||
shootSound = Sounds.bolt;
|
shootSound = Sounds.bolt;
|
||||||
layerOffset = 0.0001f;
|
layerOffset = 0.0001f;
|
||||||
reload = 14f;
|
reload = 18f;
|
||||||
shootY = 10f;
|
shootY = 10f;
|
||||||
recoil = 1f;
|
recoil = 1f;
|
||||||
rotate = true;
|
rotate = true;
|
||||||
@@ -2653,7 +2653,7 @@ public class UnitTypes{
|
|||||||
weapons.add(new Weapon("vanquish-weapon"){{
|
weapons.add(new Weapon("vanquish-weapon"){{
|
||||||
shootSound = Sounds.mediumCannon;
|
shootSound = Sounds.mediumCannon;
|
||||||
layerOffset = 0.0001f;
|
layerOffset = 0.0001f;
|
||||||
reload = 90f;
|
reload = 70f;
|
||||||
shootY = 71f / 4f;
|
shootY = 71f / 4f;
|
||||||
shake = 5f;
|
shake = 5f;
|
||||||
recoil = 4f;
|
recoil = 4f;
|
||||||
@@ -2666,7 +2666,7 @@ public class UnitTypes{
|
|||||||
heatColor = Color.valueOf("f9350f");
|
heatColor = Color.valueOf("f9350f");
|
||||||
cooldownTime = 80f;
|
cooldownTime = 80f;
|
||||||
|
|
||||||
bullet = new BasicBulletType(8f, 160){{
|
bullet = new BasicBulletType(8f, 190){{
|
||||||
sprite = "missile-large";
|
sprite = "missile-large";
|
||||||
width = 9.5f;
|
width = 9.5f;
|
||||||
height = 13f;
|
height = 13f;
|
||||||
@@ -2692,7 +2692,7 @@ public class UnitTypes{
|
|||||||
fragVelocityMin = 1f;
|
fragVelocityMin = 1f;
|
||||||
despawnSound = Sounds.dullExplosion;
|
despawnSound = Sounds.dullExplosion;
|
||||||
|
|
||||||
fragBullet = new BasicBulletType(8f, 25){{
|
fragBullet = new BasicBulletType(8f, 35){{
|
||||||
sprite = "missile-large";
|
sprite = "missile-large";
|
||||||
width = 8f;
|
width = 8f;
|
||||||
height = 12f;
|
height = 12f;
|
||||||
@@ -2751,7 +2751,7 @@ public class UnitTypes{
|
|||||||
weapons.add(new Weapon("conquer-weapon"){{
|
weapons.add(new Weapon("conquer-weapon"){{
|
||||||
shootSound = Sounds.largeCannon;
|
shootSound = Sounds.largeCannon;
|
||||||
layerOffset = 0.1f;
|
layerOffset = 0.1f;
|
||||||
reload = 120f;
|
reload = 110f;
|
||||||
shootY = 32.5f;
|
shootY = 32.5f;
|
||||||
shake = 5f;
|
shake = 5f;
|
||||||
recoil = 5f;
|
recoil = 5f;
|
||||||
@@ -3046,7 +3046,7 @@ public class UnitTypes{
|
|||||||
smoothReloadSpeed = 0.15f;
|
smoothReloadSpeed = 0.15f;
|
||||||
recoil = 2f;
|
recoil = 2f;
|
||||||
|
|
||||||
bullet = new BasicBulletType(3.5f, 27){{
|
bullet = new BasicBulletType(3.5f, 30){{
|
||||||
backColor = trailColor = hitColor = Pal.techBlue;
|
backColor = trailColor = hitColor = Pal.techBlue;
|
||||||
frontColor = Color.white;
|
frontColor = Color.white;
|
||||||
width = 7.5f;
|
width = 7.5f;
|
||||||
@@ -3060,8 +3060,8 @@ public class UnitTypes{
|
|||||||
trailParam = 1.8f;
|
trailParam = 1.8f;
|
||||||
trailInterval = 6f;
|
trailInterval = 6f;
|
||||||
|
|
||||||
splashDamageRadius = 23f;
|
splashDamageRadius = 30f;
|
||||||
splashDamage = 40f;
|
splashDamage = 43f;
|
||||||
|
|
||||||
hitEffect = despawnEffect = new MultiEffect(Fx.hitBulletColor, new WaveEffect(){{
|
hitEffect = despawnEffect = new MultiEffect(Fx.hitBulletColor, new WaveEffect(){{
|
||||||
colorFrom = colorTo = Pal.techBlue;
|
colorFrom = colorTo = Pal.techBlue;
|
||||||
|
|||||||
@@ -250,7 +250,7 @@ public class Control implements ApplicationListener, Loadable{
|
|||||||
}else{
|
}else{
|
||||||
//when already hosting, instantly build everything. this looks bad but it's better than a desync
|
//when already hosting, instantly build everything. this looks bad but it's better than a desync
|
||||||
Fx.coreBuildBlock.at(build.x, build.y, 0f, build.block);
|
Fx.coreBuildBlock.at(build.x, build.y, 0f, build.block);
|
||||||
Fx.placeBlock.at(build.x, build.y, build.block.size);
|
build.block.placeEffect.at(build.x, build.y, build.block.size);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
@@ -288,7 +288,7 @@ public class Control implements ApplicationListener, Loadable{
|
|||||||
build.dropped();
|
build.dropped();
|
||||||
|
|
||||||
Fx.coreBuildBlock.at(build.x, build.y, 0f, build.block);
|
Fx.coreBuildBlock.at(build.x, build.y, 0f, build.block);
|
||||||
Fx.placeBlock.at(build.x, build.y, build.block.size);
|
build.block.placeEffect.at(build.x, build.y, build.block.size);
|
||||||
}
|
}
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
|
|||||||
@@ -70,6 +70,9 @@ public class Logic implements ApplicationListener{
|
|||||||
if(state.isCampaign()){
|
if(state.isCampaign()){
|
||||||
state.rules.coreIncinerates = true;
|
state.rules.coreIncinerates = true;
|
||||||
|
|
||||||
|
//TODO why is this even a thing?
|
||||||
|
state.rules.canGameOver = true;
|
||||||
|
|
||||||
//fresh map has no sector info
|
//fresh map has no sector info
|
||||||
if(!e.isMap){
|
if(!e.isMap){
|
||||||
SectorInfo info = state.rules.sector.info;
|
SectorInfo info = state.rules.sector.info;
|
||||||
@@ -380,19 +383,6 @@ public class Logic implements ApplicationListener{
|
|||||||
public static void researched(Content content){
|
public static void researched(Content content){
|
||||||
if(!(content instanceof UnlockableContent u)) return;
|
if(!(content instanceof UnlockableContent u)) return;
|
||||||
|
|
||||||
//TODO node is wrong for shared tech nodes
|
|
||||||
var node = u.techNode;
|
|
||||||
|
|
||||||
//unlock all direct dependencies on client, permanently
|
|
||||||
while(node != null){
|
|
||||||
node.content.unlock();
|
|
||||||
node = node.parent;
|
|
||||||
|
|
||||||
if((node.content instanceof Item item && state.rules.hiddenBuildItems.contains(item))){
|
|
||||||
break;
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
state.rules.researched.add(u.name);
|
state.rules.researched.add(u.name);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|||||||
@@ -311,8 +311,8 @@ public class World{
|
|||||||
}
|
}
|
||||||
|
|
||||||
Liquid liquid = tile.floor().liquidDrop;
|
Liquid liquid = tile.floor().liquidDrop;
|
||||||
if(tile.floor().itemDrop != null) content.add(tile.floor().itemDrop);
|
if(tile.floor().itemDrop != null && tile.block() == Blocks.air) content.add(tile.floor().itemDrop);
|
||||||
if(tile.overlay().itemDrop != null) content.add(tile.overlay().itemDrop);
|
if(tile.overlay().itemDrop != null && tile.block() == Blocks.air) content.add(tile.overlay().itemDrop);
|
||||||
if(tile.wallDrop() != null) content.add(tile.wallDrop());
|
if(tile.wallDrop() != null) content.add(tile.wallDrop());
|
||||||
if(liquid != null) content.add(liquid);
|
if(liquid != null) content.add(liquid);
|
||||||
}
|
}
|
||||||
@@ -462,7 +462,7 @@ public class World{
|
|||||||
public void checkMapArea(){
|
public void checkMapArea(){
|
||||||
for(var build : Groups.build){
|
for(var build : Groups.build){
|
||||||
//reset map-area-based disabled blocks.
|
//reset map-area-based disabled blocks.
|
||||||
if(build.allowUpdate() && !build.enabled && build.block.autoResetEnabled){
|
if(!build.enabled && build.block.autoResetEnabled){
|
||||||
build.enabled = true;
|
build.enabled = true;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -203,6 +203,8 @@ public class MapObjectivesCanvas extends WidgetGroup{
|
|||||||
for(var parent : tile.obj.parents){
|
for(var parent : tile.obj.parents){
|
||||||
var parentTile = tiles.find(t -> t.obj == parent);
|
var parentTile = tiles.find(t -> t.obj == parent);
|
||||||
|
|
||||||
|
if(parentTile == null) continue;
|
||||||
|
|
||||||
Connector
|
Connector
|
||||||
conFrom = parentTile.conChildren,
|
conFrom = parentTile.conChildren,
|
||||||
conTo = tile.conParent;
|
conTo = tile.conParent;
|
||||||
|
|||||||
@@ -141,7 +141,7 @@ public class WaveInfoDialog extends BaseDialog{
|
|||||||
});
|
});
|
||||||
|
|
||||||
if(experimental){
|
if(experimental){
|
||||||
buttons.button("Random", Icon.refresh, () -> {
|
buttons.button(Core.bundle.get("waves.random"), Icon.refresh, () -> {
|
||||||
groups.clear();
|
groups.clear();
|
||||||
groups = Waves.generate(1f / 10f);
|
groups = Waves.generate(1f / 10f);
|
||||||
updateWaves();
|
updateWaves();
|
||||||
|
|||||||
@@ -6,6 +6,7 @@ import arc.math.*;
|
|||||||
import arc.math.geom.*;
|
import arc.math.geom.*;
|
||||||
import arc.struct.*;
|
import arc.struct.*;
|
||||||
import arc.util.*;
|
import arc.util.*;
|
||||||
|
import arc.util.pooling.*;
|
||||||
import mindustry.content.*;
|
import mindustry.content.*;
|
||||||
import mindustry.core.*;
|
import mindustry.core.*;
|
||||||
import mindustry.game.EventType.*;
|
import mindustry.game.EventType.*;
|
||||||
@@ -26,6 +27,8 @@ public class Damage{
|
|||||||
private static final Seq<Unit> units = new Seq<>();
|
private static final Seq<Unit> units = new Seq<>();
|
||||||
private static final IntSet collidedBlocks = new IntSet();
|
private static final IntSet collidedBlocks = new IntSet();
|
||||||
private static final IntFloatMap damages = new IntFloatMap();
|
private static final IntFloatMap damages = new IntFloatMap();
|
||||||
|
private static final Seq<Collided> collided = new Seq<>();
|
||||||
|
private static final Pool<Collided> collidePool = Pools.get(Collided.class, Collided::new);
|
||||||
private static final Seq<Building> builds = new Seq<>();
|
private static final Seq<Building> builds = new Seq<>();
|
||||||
private static final FloatSeq distances = new FloatSeq();
|
private static final FloatSeq distances = new FloatSeq();
|
||||||
|
|
||||||
@@ -184,7 +187,7 @@ public class Damage{
|
|||||||
return Math.min(distances.size < pierceCap || pierceCap < 0 ? length : Math.max(6f, distances.get(pierceCap - 1)), maxDst);
|
return Math.min(distances.size < pierceCap || pierceCap < 0 ? length : Math.max(6f, distances.get(pierceCap - 1)), maxDst);
|
||||||
}
|
}
|
||||||
|
|
||||||
/** TODO Collides a bullet with blocks in a laser, taking into account absorption blocks. Resulting length is stored in the bullet's fdata. */
|
/** Collides a bullet with blocks in a laser, taking into account absorption blocks. Resulting length is stored in the bullet's fdata. */
|
||||||
public static float collideLaser(Bullet b, float length, boolean large, boolean laser, int pierceCap){
|
public static float collideLaser(Bullet b, float length, boolean large, boolean laser, int pierceCap){
|
||||||
float resultLength = findPierceLength(b, pierceCap, length);
|
float resultLength = findPierceLength(b, pierceCap, length);
|
||||||
|
|
||||||
@@ -226,40 +229,26 @@ public class Damage{
|
|||||||
length = findPierceLength(hitter, pierceCap, length);
|
length = findPierceLength(hitter, pierceCap, length);
|
||||||
}
|
}
|
||||||
|
|
||||||
//TODO pierceCount ++ should happen in blocks AND units!
|
|
||||||
|
|
||||||
collidedBlocks.clear();
|
collidedBlocks.clear();
|
||||||
vec.trnsExact(angle, length);
|
vec.trnsExact(angle, length);
|
||||||
|
|
||||||
Intc2 collider = (cx, cy) -> {
|
|
||||||
Building tile = world.build(cx, cy);
|
|
||||||
boolean collide = tile != null && hitter.checkUnderBuild(tile, cx * tilesize, cy * tilesize) && collidedBlocks.add(tile.pos());
|
|
||||||
|
|
||||||
if(hitter.damage > 0){
|
|
||||||
float health = !collide ? 0 : tile.health;
|
|
||||||
|
|
||||||
if(collide && tile.team != team && tile.collide(hitter)){
|
|
||||||
tile.collision(hitter);
|
|
||||||
hitter.type.hit(hitter, cx * tilesize, cy * tilesize);
|
|
||||||
}
|
|
||||||
|
|
||||||
//try to heal the tile
|
|
||||||
if(collide && hitter.type.testCollision(hitter, tile)){
|
|
||||||
hitter.type.hitTile(hitter, tile, cx * tilesize, cy * tilesize, health, false);
|
|
||||||
}
|
|
||||||
}
|
|
||||||
};
|
|
||||||
|
|
||||||
if(hitter.type.collidesGround){
|
if(hitter.type.collidesGround){
|
||||||
seg1.set(x, y);
|
seg1.set(x, y);
|
||||||
seg2.set(seg1).add(vec);
|
seg2.set(seg1).add(vec);
|
||||||
World.raycastEachWorld(x, y, seg2.x, seg2.y, (cx, cy) -> {
|
World.raycastEachWorld(x, y, seg2.x, seg2.y, (cx, cy) -> {
|
||||||
collider.get(cx, cy);
|
Building tile = world.build(cx, cy);
|
||||||
|
boolean collide = tile != null && hitter.checkUnderBuild(tile, cx * tilesize, cy * tilesize) && collidedBlocks.add(tile.pos());
|
||||||
|
if(collide){
|
||||||
|
collided.add(collidePool.obtain().set(cx * tilesize, cy * tilesize, tile));
|
||||||
|
|
||||||
for(Point2 p : Geometry.d4){
|
for(Point2 p : Geometry.d4){
|
||||||
Tile other = world.tile(p.x + cx, p.y + cy);
|
Tile other = world.tile(p.x + cx, p.y + cy);
|
||||||
if(other != null && (large || Intersector.intersectSegmentRectangle(seg1, seg2, other.getBounds(Tmp.r1)))){
|
if(other != null && (large || Intersector.intersectSegmentRectangle(seg1, seg2, other.getBounds(Tmp.r1)))){
|
||||||
collider.get(cx + p.x, cy + p.y);
|
Building build = other.build;
|
||||||
|
if(build != null && hitter.checkUnderBuild(build, cx * tilesize, cy * tilesize) && collidedBlocks.add(build.pos())){
|
||||||
|
collided.add(collidePool.obtain().set((p.x + cx * tilesize), (p.y + cy) * tilesize, build));
|
||||||
|
}
|
||||||
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
return false;
|
return false;
|
||||||
@@ -271,32 +260,44 @@ public class Damage{
|
|||||||
rect.setPosition(x, y).setSize(vec.x, vec.y).normalize().grow(expand * 2f);
|
rect.setPosition(x, y).setSize(vec.x, vec.y).normalize().grow(expand * 2f);
|
||||||
float x2 = vec.x + x, y2 = vec.y + y;
|
float x2 = vec.x + x, y2 = vec.y + y;
|
||||||
|
|
||||||
Cons<Unit> cons = e -> {
|
Units.nearbyEnemies(team, rect, u -> {
|
||||||
if(!e.hittable()) return;
|
if(u.checkTarget(hitter.type.collidesAir, hitter.type.collidesGround) && u.hittable()){
|
||||||
//the peirce cap works for units, but really terribly, I'm just disabling it for now.
|
u.hitbox(hitrect);
|
||||||
//if(pierceCap > 0 && pierceCount > pierceCap) return;
|
|
||||||
|
|
||||||
e.hitbox(hitrect);
|
|
||||||
|
|
||||||
Vec2 vec = Geometry.raycastRect(x, y, x2, y2, hitrect.grow(expand * 2));
|
Vec2 vec = Geometry.raycastRect(x, y, x2, y2, hitrect.grow(expand * 2));
|
||||||
|
|
||||||
if(vec != null && hitter.damage > 0){
|
if(vec != null){
|
||||||
effect.at(vec.x, vec.y);
|
collided.add(collidePool.obtain().set(vec.x, vec.y, u));
|
||||||
e.collision(hitter, vec.x, vec.y);
|
|
||||||
hitter.collision(e, vec.x, vec.y);
|
|
||||||
}
|
}
|
||||||
};
|
|
||||||
|
|
||||||
units.clear();
|
|
||||||
|
|
||||||
Units.nearbyEnemies(team, rect, u -> {
|
|
||||||
if(u.checkTarget(hitter.type.collidesAir, hitter.type.collidesGround)){
|
|
||||||
units.add(u);
|
|
||||||
}
|
}
|
||||||
});
|
});
|
||||||
|
|
||||||
units.sort(u -> u.dst2(hitter));
|
int[] collideCount = {0};
|
||||||
units.each(cons);
|
collided.sort(c -> hitter.dst2(c.x, c.y));
|
||||||
|
collided.each(c -> {
|
||||||
|
if(hitter.damage > 0 && (pierceCap <= 0 || collideCount[0]++ < pierceCap)){
|
||||||
|
if(c.target instanceof Unit u){
|
||||||
|
effect.at(c.x, c.y);
|
||||||
|
u.collision(hitter, c.x, c.y);
|
||||||
|
hitter.collision(u, c.x, c.y);
|
||||||
|
}else if(c.target instanceof Building tile){
|
||||||
|
float health = tile.health;
|
||||||
|
|
||||||
|
if(tile.team != team && tile.collide(hitter)){
|
||||||
|
tile.collision(hitter);
|
||||||
|
hitter.type.hit(hitter, c.x, c.y);
|
||||||
|
}
|
||||||
|
|
||||||
|
//try to heal the tile
|
||||||
|
if(hitter.type.testCollision(hitter, tile)){
|
||||||
|
hitter.type.hitTile(hitter, tile, c.x, c.y, health, false);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
});
|
||||||
|
|
||||||
|
collidePool.freeAll(collided);
|
||||||
|
collided.clear();
|
||||||
}
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
@@ -613,4 +614,16 @@ public class Damage{
|
|||||||
public static float applyArmor(float damage, float armor){
|
public static float applyArmor(float damage, float armor){
|
||||||
return Math.max(damage - armor, minArmorDamage * damage);
|
return Math.max(damage - armor, minArmorDamage * damage);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
public static class Collided{
|
||||||
|
public float x, y;
|
||||||
|
public Teamc target;
|
||||||
|
|
||||||
|
public Collided set(float x, float y, Teamc target){
|
||||||
|
this.x = x;
|
||||||
|
this.y = y;
|
||||||
|
this.target = target;
|
||||||
|
return this;
|
||||||
|
}
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -20,6 +20,7 @@ public class EntityGroup<T extends Entityc> implements Iterable<T>{
|
|||||||
private final Seq<T> intersectArray = new Seq<>();
|
private final Seq<T> intersectArray = new Seq<>();
|
||||||
private final Rect viewport = new Rect();
|
private final Rect viewport = new Rect();
|
||||||
private final Rect intersectRect = new Rect();
|
private final Rect intersectRect = new Rect();
|
||||||
|
private final EntityIndexer indexer;
|
||||||
private IntMap<T> map;
|
private IntMap<T> map;
|
||||||
private QuadTree tree;
|
private QuadTree tree;
|
||||||
private boolean clearing;
|
private boolean clearing;
|
||||||
@@ -36,6 +37,10 @@ public class EntityGroup<T extends Entityc> implements Iterable<T>{
|
|||||||
}
|
}
|
||||||
|
|
||||||
public EntityGroup(Class<T> type, boolean spatial, boolean mapping){
|
public EntityGroup(Class<T> type, boolean spatial, boolean mapping){
|
||||||
|
this(type, spatial, mapping, null);
|
||||||
|
}
|
||||||
|
|
||||||
|
public EntityGroup(Class<T> type, boolean spatial, boolean mapping, EntityIndexer indexer){
|
||||||
array = new Seq<>(false, 32, type);
|
array = new Seq<>(false, 32, type);
|
||||||
|
|
||||||
if(spatial){
|
if(spatial){
|
||||||
@@ -45,6 +50,8 @@ public class EntityGroup<T extends Entityc> implements Iterable<T>{
|
|||||||
if(mapping){
|
if(mapping){
|
||||||
map = new IntMap<>();
|
map = new IntMap<>();
|
||||||
}
|
}
|
||||||
|
|
||||||
|
this.indexer = indexer;
|
||||||
}
|
}
|
||||||
|
|
||||||
/** @return entities with colliding IDs, or an empty array. */
|
/** @return entities with colliding IDs, or an empty array. */
|
||||||
@@ -107,7 +114,7 @@ public class EntityGroup<T extends Entityc> implements Iterable<T>{
|
|||||||
}
|
}
|
||||||
|
|
||||||
public boolean useTree(){
|
public boolean useTree(){
|
||||||
return map != null;
|
return tree != null;
|
||||||
}
|
}
|
||||||
|
|
||||||
public boolean mappingEnabled(){
|
public boolean mappingEnabled(){
|
||||||
@@ -183,12 +190,25 @@ public class EntityGroup<T extends Entityc> implements Iterable<T>{
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
public int addIndex(T type){
|
||||||
|
int index = array.size;
|
||||||
|
add(type);
|
||||||
|
return index;
|
||||||
|
}
|
||||||
|
|
||||||
public void remove(T type){
|
public void remove(T type){
|
||||||
if(clearing) return;
|
if(clearing) return;
|
||||||
if(type == null) throw new RuntimeException("Cannot remove a null entity!");
|
if(type == null) throw new RuntimeException("Cannot remove a null entity!");
|
||||||
int idx = array.indexOf(type, true);
|
int idx = array.indexOf(type, true);
|
||||||
if(idx != -1){
|
if(idx != -1){
|
||||||
array.remove(idx);
|
array.remove(idx);
|
||||||
|
|
||||||
|
//fix incorrect HEAD index since it was swapped
|
||||||
|
if(array.size > 0 && idx != array.size){
|
||||||
|
var swapped = array.items[idx];
|
||||||
|
indexer.change(swapped, idx);
|
||||||
|
}
|
||||||
|
|
||||||
if(map != null){
|
if(map != null){
|
||||||
map.remove(type.id());
|
map.remove(type.id());
|
||||||
}
|
}
|
||||||
@@ -200,6 +220,32 @@ public class EntityGroup<T extends Entityc> implements Iterable<T>{
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
public void removeIndex(T type, int position){
|
||||||
|
if(clearing) return;
|
||||||
|
if(type == null) throw new RuntimeException("Cannot remove a null entity!");
|
||||||
|
if(position != -1 && position < array.size){
|
||||||
|
|
||||||
|
//swap head with current
|
||||||
|
if(array.size > 1){
|
||||||
|
var head = array.items[array.size - 1];
|
||||||
|
indexer.change(head, position);
|
||||||
|
array.items[position] = head;
|
||||||
|
}
|
||||||
|
|
||||||
|
array.size --;
|
||||||
|
array.items[array.size] = null;
|
||||||
|
|
||||||
|
if(map != null){
|
||||||
|
map.remove(type.id());
|
||||||
|
}
|
||||||
|
|
||||||
|
//fix iteration index when removing
|
||||||
|
if(index >= position){
|
||||||
|
index --;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
public void clear(){
|
public void clear(){
|
||||||
clearing = true;
|
clearing = true;
|
||||||
|
|
||||||
|
|||||||
7
core/src/mindustry/entities/EntityIndexer.java
Normal file
7
core/src/mindustry/entities/EntityIndexer.java
Normal file
@@ -0,0 +1,7 @@
|
|||||||
|
package mindustry.entities;
|
||||||
|
|
||||||
|
import mindustry.gen.*;
|
||||||
|
|
||||||
|
public interface EntityIndexer{
|
||||||
|
void change(Entityc t, int index);
|
||||||
|
}
|
||||||
@@ -43,7 +43,7 @@ public class Lightning{
|
|||||||
bhit = false;
|
bhit = false;
|
||||||
|
|
||||||
for(int i = 0; i < length / 2; i++){
|
for(int i = 0; i < length / 2; i++){
|
||||||
hitCreate.create(null, team, x, y, rotation, damage, 1f, 1f, hitter);
|
hitCreate.create(null, team, x, y, rotation, damage * (hitter == null ? 1f : hitter.damageMultiplier()), 1f, 1f, hitter);
|
||||||
lines.add(new Vec2(x + Mathf.range(3f), y + Mathf.range(3f)));
|
lines.add(new Vec2(x + Mathf.range(3f), y + Mathf.range(3f)));
|
||||||
|
|
||||||
if(lines.size > 1){
|
if(lines.size > 1){
|
||||||
|
|||||||
@@ -141,9 +141,9 @@ public class EnergyFieldAbility extends Ability{
|
|||||||
}else{
|
}else{
|
||||||
anyNearby = true;
|
anyNearby = true;
|
||||||
if(other instanceof Building b){
|
if(other instanceof Building b){
|
||||||
b.damage(unit.team, damage);
|
b.damage(unit.team, damage * state.rules.unitDamage(unit.team));
|
||||||
}else{
|
}else{
|
||||||
other.damage(damage);
|
other.damage(damage * state.rules.unitDamage(unit.team));
|
||||||
}
|
}
|
||||||
if(other instanceof Statusc s){
|
if(other instanceof Statusc s){
|
||||||
s.apply(status, statusDuration);
|
s.apply(status, statusDuration);
|
||||||
|
|||||||
@@ -22,6 +22,10 @@ public class ForceFieldAbility extends Ability{
|
|||||||
public float max = 200f;
|
public float max = 200f;
|
||||||
/** Cooldown after the shield is broken, in ticks. */
|
/** Cooldown after the shield is broken, in ticks. */
|
||||||
public float cooldown = 60f * 5;
|
public float cooldown = 60f * 5;
|
||||||
|
/** Sides of shield polygon. */
|
||||||
|
public int sides = 6;
|
||||||
|
/** Rotation of shield. */
|
||||||
|
public float rotation = 0f;
|
||||||
|
|
||||||
/** State. */
|
/** State. */
|
||||||
protected float radiusScale, alpha;
|
protected float radiusScale, alpha;
|
||||||
@@ -30,7 +34,7 @@ public class ForceFieldAbility extends Ability{
|
|||||||
private static Unit paramUnit;
|
private static Unit paramUnit;
|
||||||
private static ForceFieldAbility paramField;
|
private static ForceFieldAbility paramField;
|
||||||
private static final Cons<Bullet> shieldConsumer = trait -> {
|
private static final Cons<Bullet> shieldConsumer = trait -> {
|
||||||
if(trait.team != paramUnit.team && trait.type.absorbable && Intersector.isInsideHexagon(paramUnit.x, paramUnit.y, realRad * 2f, trait.x(), trait.y()) && paramUnit.shield > 0){
|
if(trait.team != paramUnit.team && trait.type.absorbable && Intersector.isInRegularPolygon(paramField.sides, paramUnit.x, paramUnit.y, realRad, paramField.rotation, trait.x(), trait.y()) && paramUnit.shield > 0){
|
||||||
trait.absorb();
|
trait.absorb();
|
||||||
Fx.absorb.at(trait);
|
Fx.absorb.at(trait);
|
||||||
|
|
||||||
@@ -53,6 +57,15 @@ public class ForceFieldAbility extends Ability{
|
|||||||
this.cooldown = cooldown;
|
this.cooldown = cooldown;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
public ForceFieldAbility(float radius, float regen, float max, float cooldown, int sides, float rotation){
|
||||||
|
this.radius = radius;
|
||||||
|
this.regen = regen;
|
||||||
|
this.max = max;
|
||||||
|
this.cooldown = cooldown;
|
||||||
|
this.sides = sides;
|
||||||
|
this.rotation = rotation;
|
||||||
|
}
|
||||||
|
|
||||||
ForceFieldAbility(){}
|
ForceFieldAbility(){}
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
@@ -85,13 +98,13 @@ public class ForceFieldAbility extends Ability{
|
|||||||
Draw.color(unit.team.color, Color.white, Mathf.clamp(alpha));
|
Draw.color(unit.team.color, Color.white, Mathf.clamp(alpha));
|
||||||
|
|
||||||
if(Vars.renderer.animateShields){
|
if(Vars.renderer.animateShields){
|
||||||
Fill.poly(unit.x, unit.y, 6, realRad);
|
Fill.poly(unit.x, unit.y, sides, realRad, rotation);
|
||||||
}else{
|
}else{
|
||||||
Lines.stroke(1.5f);
|
Lines.stroke(1.5f);
|
||||||
Draw.alpha(0.09f);
|
Draw.alpha(0.09f);
|
||||||
Fill.poly(unit.x, unit.y, 6, radius);
|
Fill.poly(unit.x, unit.y, sides, radius, rotation);
|
||||||
Draw.alpha(1f);
|
Draw.alpha(1f);
|
||||||
Lines.poly(unit.x, unit.y, 6, radius);
|
Lines.poly(unit.x, unit.y, sides, radius, rotation);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -581,7 +581,9 @@ public class BulletType extends Content implements Cloneable{
|
|||||||
if(b.aimTile != null && b.aimTile.build != null && b.aimTile.build.team != b.team && collidesGround && !b.hasCollided(b.aimTile.build.id)){
|
if(b.aimTile != null && b.aimTile.build != null && b.aimTile.build.team != b.team && collidesGround && !b.hasCollided(b.aimTile.build.id)){
|
||||||
target = b.aimTile.build;
|
target = b.aimTile.build;
|
||||||
}else{
|
}else{
|
||||||
target = Units.closestTarget(b.team, realAimX, realAimY, homingRange, e -> e.checkTarget(collidesAir, collidesGround) && !b.hasCollided(e.id), t -> collidesGround && !b.hasCollided(t.id));
|
target = Units.closestTarget(b.team, realAimX, realAimY, homingRange,
|
||||||
|
e -> e != null && e.checkTarget(collidesAir, collidesGround) && !b.hasCollided(e.id),
|
||||||
|
t -> t != null && collidesGround && !b.hasCollided(t.id));
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|||||||
@@ -10,6 +10,8 @@ import mindustry.entities.*;
|
|||||||
import mindustry.gen.*;
|
import mindustry.gen.*;
|
||||||
import mindustry.graphics.*;
|
import mindustry.graphics.*;
|
||||||
|
|
||||||
|
import static mindustry.Vars.*;
|
||||||
|
|
||||||
/** A continuous bullet type that only damages in a point. */
|
/** A continuous bullet type that only damages in a point. */
|
||||||
public class PointLaserBulletType extends BulletType{
|
public class PointLaserBulletType extends BulletType{
|
||||||
public String sprite = "point-laser";
|
public String sprite = "point-laser";
|
||||||
@@ -29,7 +31,6 @@ public class PointLaserBulletType extends BulletType{
|
|||||||
removeAfterPierce = false;
|
removeAfterPierce = false;
|
||||||
speed = 0f;
|
speed = 0f;
|
||||||
despawnEffect = Fx.none;
|
despawnEffect = Fx.none;
|
||||||
shootEffect = Fx.none;
|
|
||||||
lifetime = 20f;
|
lifetime = 20f;
|
||||||
impact = true;
|
impact = true;
|
||||||
keepVelocity = false;
|
keepVelocity = false;
|
||||||
@@ -38,6 +39,7 @@ public class PointLaserBulletType extends BulletType{
|
|||||||
hittable = false;
|
hittable = false;
|
||||||
absorbable = false;
|
absorbable = false;
|
||||||
optimalLifeFract = 0.5f;
|
optimalLifeFract = 0.5f;
|
||||||
|
shootEffect = smokeEffect = Fx.none;
|
||||||
|
|
||||||
//just make it massive, users of this bullet can adjust as necessary
|
//just make it massive, users of this bullet can adjust as necessary
|
||||||
drawSize = 1000f;
|
drawSize = 1000f;
|
||||||
@@ -82,4 +84,30 @@ public class PointLaserBulletType extends BulletType{
|
|||||||
Effect.shake(shake, shake, b);
|
Effect.shake(shake, shake, b);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@Override
|
||||||
|
public void updateTrailEffects(Bullet b){
|
||||||
|
if(trailChance > 0){
|
||||||
|
if(Mathf.chanceDelta(trailChance)){
|
||||||
|
trailEffect.at(b.aimX, b.aimY, trailRotation ? b.angleTo(b.aimX, b.aimY) : (trailParam * b.fslope()), trailColor);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
if(trailInterval > 0f){
|
||||||
|
if(b.timer(0, trailInterval)){
|
||||||
|
trailEffect.at(b.aimX, b.aimY, trailRotation ? b.angleTo(b.aimX, b.aimY) : (trailParam * b.fslope()), trailColor);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
@Override
|
||||||
|
public void updateTrail(Bullet b){
|
||||||
|
if(!headless && trailLength > 0){
|
||||||
|
if(b.trail == null){
|
||||||
|
b.trail = new Trail(trailLength);
|
||||||
|
}
|
||||||
|
b.trail.length = trailLength;
|
||||||
|
b.trail.update(b.aimX, b.aimY, b.fslope() * (1f - (trailSinMag > 0 ? Mathf.absin(Time.time, trailSinScl, trailSinMag) : 0f)));
|
||||||
|
}
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -380,6 +380,10 @@ abstract class BuildingComp implements Posc, Teamc, Healthc, Buildingc, Timerc,
|
|||||||
for(var edge : block.getEdges()){
|
for(var edge : block.getEdges()){
|
||||||
Building build = nearby(edge.x, edge.y);
|
Building build = nearby(edge.x, edge.y);
|
||||||
if(build != null && build.team == team && build instanceof HeatBlock heater){
|
if(build != null && build.team == team && build instanceof HeatBlock heater){
|
||||||
|
//massive hack but I don't really care anymore
|
||||||
|
if(heater instanceof HeatConductorBuild cond){
|
||||||
|
cond.updateHeat();
|
||||||
|
}
|
||||||
|
|
||||||
boolean split = build.block instanceof HeatConductor cond && cond.splitHeat;
|
boolean split = build.block instanceof HeatConductor cond && cond.splitHeat;
|
||||||
// non-routers must face us, routers must face away - next to a redirector, they're forced to face away due to cycles anyway
|
// non-routers must face us, routers must face away - next to a redirector, they're forced to face away due to cycles anyway
|
||||||
@@ -576,7 +580,7 @@ abstract class BuildingComp implements Posc, Teamc, Healthc, Buildingc, Timerc,
|
|||||||
return BlockStatus.noInput;
|
return BlockStatus.noInput;
|
||||||
}
|
}
|
||||||
|
|
||||||
return BlockStatus.active;
|
return ((state.tick / 30f) % 1f) < efficiency ? BlockStatus.active : BlockStatus.noInput;
|
||||||
}
|
}
|
||||||
|
|
||||||
/** 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. */
|
||||||
@@ -1593,7 +1597,12 @@ abstract class BuildingComp implements Posc, Teamc, Healthc, Buildingc, Timerc,
|
|||||||
public boolean collision(Bullet other){
|
public boolean collision(Bullet other){
|
||||||
boolean wasDead = health <= 0;
|
boolean wasDead = health <= 0;
|
||||||
|
|
||||||
damage(other.team, other.damage() * other.type().buildingDamageMultiplier);
|
float damage = other.damage() * other.type().buildingDamageMultiplier;
|
||||||
|
if(!other.type.pierceArmor){
|
||||||
|
damage = Damage.applyArmor(damage, block.armor);
|
||||||
|
}
|
||||||
|
|
||||||
|
damage(other.team, damage);
|
||||||
Events.fire(bulletDamageEvent.set(self(), other));
|
Events.fire(bulletDamageEvent.set(self(), other));
|
||||||
|
|
||||||
if(health <= 0 && !wasDead){
|
if(health <= 0 && !wasDead){
|
||||||
@@ -1849,7 +1858,7 @@ abstract class BuildingComp implements Posc, Teamc, Healthc, Buildingc, Timerc,
|
|||||||
if(Mathf.zero(dm)){
|
if(Mathf.zero(dm)){
|
||||||
damage = health + 1;
|
damage = health + 1;
|
||||||
}else{
|
}else{
|
||||||
damage = Damage.applyArmor(damage, block.armor) / dm;
|
damage /= dm;
|
||||||
}
|
}
|
||||||
|
|
||||||
//TODO handle this better on the client.
|
//TODO handle this better on the client.
|
||||||
|
|||||||
@@ -88,7 +88,7 @@ abstract class CrawlComp implements Posc, Rotc, Hitboxc, Unitc{
|
|||||||
|
|
||||||
//TODO area damage to units
|
//TODO area damage to units
|
||||||
if(t.build != null && t.build.team != team){
|
if(t.build != null && t.build.team != team){
|
||||||
t.build.damage(team, type.crushDamage * Time.delta);
|
t.build.damage(team, type.crushDamage * Time.delta * state.rules.unitDamage(team));
|
||||||
}
|
}
|
||||||
|
|
||||||
if(Mathf.chanceDelta(0.025)){
|
if(Mathf.chanceDelta(0.025)){
|
||||||
|
|||||||
@@ -192,7 +192,7 @@ abstract class LegsComp implements Posc, Rotc, Hitboxc, Flyingc, Unitc{
|
|||||||
}
|
}
|
||||||
|
|
||||||
if(type.legSplashDamage > 0){
|
if(type.legSplashDamage > 0){
|
||||||
Damage.damage(team, l.base.x, l.base.y, type.legSplashRange, type.legSplashDamage, false, true);
|
Damage.damage(team, l.base.x, l.base.y, type.legSplashRange, type.legSplashDamage * state.rules.unitDamage(team), false, true);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|||||||
@@ -179,7 +179,7 @@ abstract class PayloadComp implements Posc, Rotc, Hitboxc, Unitc{
|
|||||||
}
|
}
|
||||||
|
|
||||||
Fx.unitDrop.at(tile);
|
Fx.unitDrop.at(tile);
|
||||||
Fx.placeBlock.at(on.drawx(), on.drawy(), on.block().size);
|
on.block().placeEffect.at(on.drawx(), on.drawy(), on.block().size);
|
||||||
return true;
|
return true;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|||||||
@@ -18,7 +18,7 @@ import static mindustry.entities.Puddles.*;
|
|||||||
|
|
||||||
@EntityDef(value = {Puddlec.class}, pooled = true)
|
@EntityDef(value = {Puddlec.class}, pooled = true)
|
||||||
@Component(base = true)
|
@Component(base = true)
|
||||||
abstract class PuddleComp implements Posc, Puddlec, Drawc{
|
abstract class PuddleComp implements Posc, Puddlec, Drawc, Syncc{
|
||||||
private static final Rect rect = new Rect(), rect2 = new Rect();
|
private static final Rect rect = new Rect(), rect2 = new Rect();
|
||||||
|
|
||||||
private static Puddle paramPuddle;
|
private static Puddle paramPuddle;
|
||||||
@@ -50,6 +50,11 @@ abstract class PuddleComp implements Posc, Puddlec, Drawc{
|
|||||||
|
|
||||||
@Override
|
@Override
|
||||||
public void update(){
|
public void update(){
|
||||||
|
if(liquid == null || tile == null){
|
||||||
|
remove();
|
||||||
|
return;
|
||||||
|
}
|
||||||
|
|
||||||
float addSpeed = accepting > 0 ? 3f : 0f;
|
float addSpeed = accepting > 0 ? 3f : 0f;
|
||||||
|
|
||||||
amount -= Time.delta * (1f - liquid.viscosity) / (5f + addSpeed);
|
amount -= Time.delta * (1f - liquid.viscosity) / (5f + addSpeed);
|
||||||
@@ -134,4 +139,9 @@ abstract class PuddleComp implements Posc, Puddlec, Drawc{
|
|||||||
public void afterRead(){
|
public void afterRead(){
|
||||||
Puddles.register(self());
|
Puddles.register(self());
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@Override
|
||||||
|
public void afterSync(){
|
||||||
|
Puddles.register(self());
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -66,7 +66,7 @@ abstract class TankComp implements Posc, Flyingc, Hitboxc, Unitc, ElevationMovec
|
|||||||
//damage radius is 1 tile smaller to prevent it from just touching walls as it passes
|
//damage radius is 1 tile smaller to prevent it from just touching walls as it passes
|
||||||
&& Math.max(Math.abs(dx), Math.abs(dy)) <= r - 1){
|
&& Math.max(Math.abs(dx), Math.abs(dy)) <= r - 1){
|
||||||
|
|
||||||
t.build.damage(team, type.crushDamage * Time.delta * t.block().crushDamageMultiplier);
|
t.build.damage(team, type.crushDamage * Time.delta * t.block().crushDamageMultiplier * state.rules.unitDamage(team));
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -105,7 +105,7 @@ abstract class UnitComp implements Healthc, Physicsc, Hitboxc, Statusc, Teamc, I
|
|||||||
}
|
}
|
||||||
|
|
||||||
public boolean isPathImpassable(int tileX, int tileY){
|
public boolean isPathImpassable(int tileX, int tileY){
|
||||||
return !type.flying && type.pathCost.getCost(team.id, pathfinder.get(tileX, tileY)) == -1;
|
return !type.flying && world.tiles.in(tileX, tileY) && type.pathCost.getCost(team.id, pathfinder.get(tileX, tileY)) == -1;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
@@ -589,7 +589,7 @@ abstract class UnitComp implements Healthc, Physicsc, Hitboxc, Statusc, Teamc, I
|
|||||||
float power = item().charge * Mathf.pow(stack().amount, 1.11f) * 160f;
|
float power = item().charge * Mathf.pow(stack().amount, 1.11f) * 160f;
|
||||||
|
|
||||||
if(!spawnedByCore){
|
if(!spawnedByCore){
|
||||||
Damage.dynamicExplosion(x, y, flammability, explosiveness, power, (bounds() + type.legLength/1.7f) / 2f, state.rules.damageExplosions, item().flammability > 1, team, type.deathExplosionEffect);
|
Damage.dynamicExplosion(x, y, flammability, explosiveness, power, (bounds() + type.legLength/1.7f) / 2f, state.rules.damageExplosions && state.rules.unitCrashDamage(team) > 0, item().flammability > 1, team, type.deathExplosionEffect);
|
||||||
}else{
|
}else{
|
||||||
type.deathExplosionEffect.at(x, y, bounds() / 2f / 8f);
|
type.deathExplosionEffect.at(x, y, bounds() / 2f / 8f);
|
||||||
}
|
}
|
||||||
@@ -617,8 +617,8 @@ abstract class UnitComp implements Healthc, Physicsc, Hitboxc, Statusc, Teamc, I
|
|||||||
}
|
}
|
||||||
|
|
||||||
//if this unit crash landed (was flying), damage stuff in a radius
|
//if this unit crash landed (was flying), damage stuff in a radius
|
||||||
if(type.flying && !spawnedByCore && type.createWreck){
|
if(type.flying && !spawnedByCore && type.createWreck && state.rules.unitCrashDamage(team) > 0){
|
||||||
Damage.damage(team, x, y, Mathf.pow(hitSize, 0.94f) * 1.25f, Mathf.pow(hitSize, 0.75f) * type.crashDamageMultiplier * 5f, true, false, true);
|
Damage.damage(team, x, y, Mathf.pow(hitSize, 0.94f) * 1.25f, Mathf.pow(hitSize, 0.75f) * type.crashDamageMultiplier * 5f * state.rules.unitCrashDamage(team), true, false, true);
|
||||||
}
|
}
|
||||||
|
|
||||||
if(!headless && type.createScorch){
|
if(!headless && type.createScorch){
|
||||||
|
|||||||
@@ -45,14 +45,19 @@ public abstract class DrawPart{
|
|||||||
|
|
||||||
public static class PartMove{
|
public static class PartMove{
|
||||||
public PartProgress progress = PartProgress.warmup;
|
public PartProgress progress = PartProgress.warmup;
|
||||||
public float x, y, rot;
|
public float x, y, gx, gy, rot;
|
||||||
|
|
||||||
public PartMove(PartProgress progress, float x, float y, float rot){
|
public PartMove(PartProgress progress, float x, float y, float gx, float gy, float rot){
|
||||||
this.progress = progress;
|
this.progress = progress;
|
||||||
this.x = x;
|
this.x = x;
|
||||||
this.y = y;
|
this.y = y;
|
||||||
|
this.gx = gx;
|
||||||
|
this.gy = gy;
|
||||||
this.rot = rot;
|
this.rot = rot;
|
||||||
}
|
}
|
||||||
|
public PartMove(PartProgress progress, float x, float y, float rot){
|
||||||
|
this(progress, x, y, 0, 0, rot);
|
||||||
|
}
|
||||||
|
|
||||||
public PartMove(){
|
public PartMove(){
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -29,13 +29,15 @@ public class RegionPart extends DrawPart{
|
|||||||
public boolean heatLight = false;
|
public boolean heatLight = false;
|
||||||
/** Progress function for determining position/rotation. */
|
/** Progress function for determining position/rotation. */
|
||||||
public PartProgress progress = PartProgress.warmup;
|
public PartProgress progress = PartProgress.warmup;
|
||||||
|
/** Progress function for scaling. */
|
||||||
|
public PartProgress growProgress = PartProgress.warmup;
|
||||||
/** Progress function for heat alpha. */
|
/** Progress function for heat alpha. */
|
||||||
public PartProgress heatProgress = PartProgress.heat;
|
public PartProgress heatProgress = PartProgress.heat;
|
||||||
public Blending blending = Blending.normal;
|
public Blending blending = Blending.normal;
|
||||||
public float layer = -1, layerOffset = 0f, heatLayerOffset = 1f, turretHeatLayer = Layer.turretHeat;
|
public float layer = -1, layerOffset = 0f, heatLayerOffset = 1f, turretHeatLayer = Layer.turretHeat;
|
||||||
public float outlineLayerOffset = -0.001f;
|
public float outlineLayerOffset = -0.001f;
|
||||||
public float x, y, rotation;
|
public float x, y, xScl = 1f, yScl = 1f, rotation;
|
||||||
public float moveX, moveY, moveRot;
|
public float moveX, moveY, growX, growY, moveRot;
|
||||||
public float heatLightOpacity = 0.3f;
|
public float heatLightOpacity = 0.3f;
|
||||||
public @Nullable Color color, colorTo, mixColor, mixColorTo;
|
public @Nullable Color color, colorTo, mixColor, mixColorTo;
|
||||||
public Color heatColor = Pal.turretHeat.cpy();
|
public Color heatColor = Pal.turretHeat.cpy();
|
||||||
@@ -65,8 +67,9 @@ public class RegionPart extends DrawPart{
|
|||||||
Draw.z(Draw.z() + layerOffset);
|
Draw.z(Draw.z() + layerOffset);
|
||||||
|
|
||||||
float prevZ = Draw.z();
|
float prevZ = Draw.z();
|
||||||
float prog = progress.getClamp(params);
|
float prog = progress.getClamp(params), sclProg = growProgress.getClamp(params);
|
||||||
float mx = moveX * prog, my = moveY * prog, mr = moveRot * prog + rotation;
|
float mx = moveX * prog, my = moveY * prog, mr = moveRot * prog + rotation,
|
||||||
|
gx = growX * sclProg, gy = growY * sclProg;
|
||||||
|
|
||||||
if(moves.size > 0){
|
if(moves.size > 0){
|
||||||
for(int i = 0; i < moves.size; i++){
|
for(int i = 0; i < moves.size; i++){
|
||||||
@@ -75,10 +78,15 @@ public class RegionPart extends DrawPart{
|
|||||||
mx += move.x * p;
|
mx += move.x * p;
|
||||||
my += move.y * p;
|
my += move.y * p;
|
||||||
mr += move.rot * p;
|
mr += move.rot * p;
|
||||||
|
gx += move.gx;
|
||||||
|
gy += move.gy;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
int len = mirror && params.sideOverride == -1 ? 2 : 1;
|
int len = mirror && params.sideOverride == -1 ? 2 : 1;
|
||||||
|
float preXscl = Draw.xscl, preYscl = Draw.yscl;
|
||||||
|
Draw.xscl *= xScl + gx;
|
||||||
|
Draw.yscl *= yScl + gy;
|
||||||
|
|
||||||
for(int s = 0; s < len; s++){
|
for(int s = 0; s < len; s++){
|
||||||
//use specific side if necessary
|
//use specific side if necessary
|
||||||
@@ -153,6 +161,8 @@ public class RegionPart extends DrawPart{
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
Draw.scl(preXscl, preYscl);
|
||||||
}
|
}
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
|
|||||||
@@ -315,8 +315,8 @@ public class AIController implements UnitController{
|
|||||||
vec.setLength(unit.speed() * length);
|
vec.setLength(unit.speed() * length);
|
||||||
}
|
}
|
||||||
|
|
||||||
//do not move when infinite vectors are used.
|
//do not move when infinite vectors are used or if its zero.
|
||||||
if(vec.isNaN() || vec.isInfinite()) return;
|
if(vec.isNaN() || vec.isInfinite() || vec.isZero()) return;
|
||||||
|
|
||||||
if(!unit.type.omniMovement && unit.type.rotateMoveFirst){
|
if(!unit.type.omniMovement && unit.type.rotateMoveFirst){
|
||||||
float angle = vec.angle();
|
float angle = vec.angle();
|
||||||
|
|||||||
@@ -761,7 +761,7 @@ public class MapObjectives implements Iterable<MapObjective>, Eachable<MapObject
|
|||||||
Lines.poly(pos.x, pos.y, sides, radius + 1f, rotation);
|
Lines.poly(pos.x, pos.y, sides, radius + 1f, rotation);
|
||||||
}else{
|
}else{
|
||||||
Draw.color(color);
|
Draw.color(color);
|
||||||
Fill.poly(pos.x, pos.y, sides, radius);
|
Fill.poly(pos.x, pos.y, sides, radius, rotation);
|
||||||
}
|
}
|
||||||
|
|
||||||
Draw.reset();
|
Draw.reset();
|
||||||
|
|||||||
@@ -65,8 +65,10 @@ public class Rules{
|
|||||||
public float unitBuildSpeedMultiplier = 1f;
|
public float unitBuildSpeedMultiplier = 1f;
|
||||||
/** Multiplier of resources that units take to build. */
|
/** Multiplier of resources that units take to build. */
|
||||||
public float unitCostMultiplier = 1f;
|
public float unitCostMultiplier = 1f;
|
||||||
/** How much damage any other units deal. */
|
/** How much damage units deal. */
|
||||||
public float unitDamageMultiplier = 1f;
|
public float unitDamageMultiplier = 1f;
|
||||||
|
/** How much damage unit crash damage deals. (Compounds with unitDamageMultiplier) */
|
||||||
|
public float unitCrashDamageMultiplier = 1f;
|
||||||
/** If true, ghost blocks will appear upon destruction, letting builder blocks/units rebuild them. */
|
/** If true, ghost blocks will appear upon destruction, letting builder blocks/units rebuild them. */
|
||||||
public boolean ghostBlocks = true;
|
public boolean ghostBlocks = true;
|
||||||
/** Whether to allow units to build with logic. */
|
/** Whether to allow units to build with logic. */
|
||||||
@@ -222,6 +224,10 @@ public class Rules{
|
|||||||
return unitDamageMultiplier * teams.get(team).unitDamageMultiplier;
|
return unitDamageMultiplier * teams.get(team).unitDamageMultiplier;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
public float unitCrashDamage(Team team){
|
||||||
|
return unitDamage(team) * unitCrashDamageMultiplier * teams.get(team).unitCrashDamageMultiplier;
|
||||||
|
}
|
||||||
|
|
||||||
public float blockHealth(Team team){
|
public float blockHealth(Team team){
|
||||||
return blockHealthMultiplier * teams.get(team).blockHealthMultiplier;
|
return blockHealthMultiplier * teams.get(team).blockHealthMultiplier;
|
||||||
}
|
}
|
||||||
@@ -264,8 +270,10 @@ public class Rules{
|
|||||||
|
|
||||||
/** How fast unit factories build units. */
|
/** How fast unit factories build units. */
|
||||||
public float unitBuildSpeedMultiplier = 1f;
|
public float unitBuildSpeedMultiplier = 1f;
|
||||||
/** How much damage any other units deal. */
|
/** How much damage units deal. */
|
||||||
public float unitDamageMultiplier = 1f;
|
public float unitDamageMultiplier = 1f;
|
||||||
|
/** How much damage unit crash damage deals. (Compounds with unitDamageMultiplier) */
|
||||||
|
public float unitCrashDamageMultiplier = 1f;
|
||||||
/** Multiplier of resources that units take to build. */
|
/** Multiplier of resources that units take to build. */
|
||||||
public float unitCostMultiplier = 1f;
|
public float unitCostMultiplier = 1f;
|
||||||
/** How much health blocks start with. */
|
/** How much health blocks start with. */
|
||||||
|
|||||||
@@ -1579,7 +1579,7 @@ public abstract class InputHandler implements InputProcessor, GestureListener{
|
|||||||
|
|
||||||
public void add(){
|
public void add(){
|
||||||
Core.input.getInputProcessors().remove(i -> i instanceof InputHandler || (i instanceof GestureDetector && ((GestureDetector)i).getListener() instanceof InputHandler));
|
Core.input.getInputProcessors().remove(i -> i instanceof InputHandler || (i instanceof GestureDetector && ((GestureDetector)i).getListener() instanceof InputHandler));
|
||||||
Core.input.addProcessor(detector = new GestureDetector(20, 0.5f, 0.45f, 0.15f, this));
|
Core.input.addProcessor(detector = new GestureDetector(20, 0.5f, 0.3f, 0.15f, this));
|
||||||
Core.input.addProcessor(this);
|
Core.input.addProcessor(this);
|
||||||
if(Core.scene != null){
|
if(Core.scene != null){
|
||||||
Table table = (Table)Core.scene.find("inputTable");
|
Table table = (Table)Core.scene.find("inputTable");
|
||||||
|
|||||||
@@ -183,9 +183,11 @@ public class Placement{
|
|||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
Boolf<BuildPlan> rotated = plan -> plan.build() != null && same.get(plan.build().block) && plan.rotation != plan.build().rotation;
|
||||||
|
|
||||||
//TODO for chains of ducts, do not count consecutives in a different rotation as 'placeable'
|
//TODO for chains of ducts, do not count consecutives in a different rotation as 'placeable'
|
||||||
Boolf<BuildPlan> placeable = plan ->
|
Boolf<BuildPlan> placeable = plan ->
|
||||||
!(!hasJunction && plan.build() != null && same.get(plan.build().block) && plan.rotation != plan.build().rotation) &&
|
!(!hasJunction && rotated.get(plan)) &&
|
||||||
(plan.placeable(player.team()) ||
|
(plan.placeable(player.team()) ||
|
||||||
(plan.tile() != null && same.get(plan.tile().block()))); //don't count the same block as inaccessible
|
(plan.tile() != null && same.get(plan.tile().block()))); //don't count the same block as inaccessible
|
||||||
|
|
||||||
@@ -197,7 +199,7 @@ public class Placement{
|
|||||||
result.add(cur);
|
result.add(cur);
|
||||||
|
|
||||||
//gap found
|
//gap found
|
||||||
if(i < plans.size - 1 && placeable.get(cur) && !placeable.get(plans.get(i + 1))){
|
if(i < plans.size - 1 && placeable.get(cur) && (!placeable.get(plans.get(i + 1)) || (hasJunction && rotated.get(plans.get(i + 1)) && i < plans.size - 2 && !placeable.get(plans.get(i + 2))))){
|
||||||
|
|
||||||
//find the closest valid position within range
|
//find the closest valid position within range
|
||||||
for(int j = i + 2; j < plans.size; j++){
|
for(int j = i + 2; j < plans.size; j++){
|
||||||
|
|||||||
@@ -2,6 +2,7 @@ package mindustry.io;
|
|||||||
|
|
||||||
import arc.graphics.*;
|
import arc.graphics.*;
|
||||||
import arc.math.geom.*;
|
import arc.math.geom.*;
|
||||||
|
import arc.struct.*;
|
||||||
import arc.util.*;
|
import arc.util.*;
|
||||||
import arc.util.serialization.*;
|
import arc.util.serialization.*;
|
||||||
import arc.util.serialization.Json.*;
|
import arc.util.serialization.Json.*;
|
||||||
@@ -78,6 +79,30 @@ public class JsonIO{
|
|||||||
json.setElementType(Rules.class, "spawns", SpawnGroup.class);
|
json.setElementType(Rules.class, "spawns", SpawnGroup.class);
|
||||||
json.setElementType(Rules.class, "loadout", ItemStack.class);
|
json.setElementType(Rules.class, "loadout", ItemStack.class);
|
||||||
|
|
||||||
|
json.setSerializer(Rules.class, new Serializer<>(){
|
||||||
|
@Override
|
||||||
|
public void write(Json json, Rules object, Class knownType){
|
||||||
|
json.writeObjectStart();
|
||||||
|
json.writeFields(object);
|
||||||
|
json.writeValue("envMapping", Env.idToName, IntMap.class);
|
||||||
|
json.writeObjectEnd();
|
||||||
|
}
|
||||||
|
|
||||||
|
@Override
|
||||||
|
public Rules read(Json json, JsonValue jsonData, Class type){
|
||||||
|
Rules out = baseObject instanceof Rules rules ? rules : new Rules();
|
||||||
|
json.readFields(out, jsonData);
|
||||||
|
|
||||||
|
// Older Rules data doesn't have env mapping.
|
||||||
|
if(jsonData.has("envMapping")){
|
||||||
|
IntMap<String> idToName = json.readValue(IntMap.class, jsonData.get("envMapping"));
|
||||||
|
out.env = Env.remap(out.env, idToName);
|
||||||
|
}
|
||||||
|
|
||||||
|
return out;
|
||||||
|
}
|
||||||
|
});
|
||||||
|
|
||||||
json.setSerializer(Color.class, new Serializer<>(){
|
json.setSerializer(Color.class, new Serializer<>(){
|
||||||
@Override
|
@Override
|
||||||
public void write(Json json, Color object, Class knownType){
|
public void write(Json json, Color object, Class knownType){
|
||||||
@@ -320,8 +345,6 @@ public class JsonIO{
|
|||||||
}
|
}
|
||||||
});
|
});
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
//use short names for all filter types
|
//use short names for all filter types
|
||||||
for(var filter : Maps.allFilterTypes){
|
for(var filter : Maps.allFilterTypes){
|
||||||
var i = filter.get();
|
var i = filter.get();
|
||||||
@@ -329,8 +352,9 @@ public class JsonIO{
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
private static Object baseObject;
|
||||||
|
|
||||||
static class CustomJson extends Json{
|
static class CustomJson extends Json{
|
||||||
private Object baseObject;
|
|
||||||
|
|
||||||
{ apply(this); }
|
{ apply(this); }
|
||||||
|
|
||||||
@@ -340,7 +364,7 @@ public class JsonIO{
|
|||||||
}
|
}
|
||||||
|
|
||||||
public <T> T fromBaseJson(Class<T> type, T base, String json){
|
public <T> T fromBaseJson(Class<T> type, T base, String json){
|
||||||
this.baseObject = base;
|
baseObject = base;
|
||||||
return readValue(type, null, new JsonReader().parse(json));
|
return readValue(type, null, new JsonReader().parse(json));
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|||||||
@@ -100,7 +100,7 @@ public class LCanvas extends Table{
|
|||||||
|
|
||||||
public void rebuild(){
|
public void rebuild(){
|
||||||
targetWidth = useRows() ? 400f : 900f;
|
targetWidth = useRows() ? 400f : 900f;
|
||||||
float s = pane != null ? pane.getScrollPercentY() : 0f;
|
float s = pane != null ? pane.getVisualScrollY() : 0f;
|
||||||
String toLoad = statements != null ? save() : null;
|
String toLoad = statements != null ? save() : null;
|
||||||
|
|
||||||
clear();
|
clear();
|
||||||
@@ -117,9 +117,11 @@ public class LCanvas extends Table{
|
|||||||
}).grow().get();
|
}).grow().get();
|
||||||
pane.setFlickScroll(false);
|
pane.setFlickScroll(false);
|
||||||
|
|
||||||
|
pane.setScrollYForce(s);
|
||||||
|
pane.updateVisualScroll();
|
||||||
//load old scroll percent
|
//load old scroll percent
|
||||||
Core.app.post(() -> {
|
Core.app.post(() -> {
|
||||||
pane.setScrollPercentY(s);
|
pane.setScrollYForce(s);
|
||||||
pane.updateVisualScroll();
|
pane.updateVisualScroll();
|
||||||
});
|
});
|
||||||
|
|
||||||
|
|||||||
@@ -807,7 +807,7 @@ public class LExecutor{
|
|||||||
|
|
||||||
void find(Ranged b, float range, int sortDir, Team team){
|
void find(Ranged b, float range, int sortDir, Team team){
|
||||||
Units.nearby(team, b.x(), b.y(), range, u -> {
|
Units.nearby(team, b.x(), b.y(), range, u -> {
|
||||||
if(!u.within(b, range) || !u.targetable(team)) return;
|
if(!u.within(b, range) || !u.targetable(team) || b == u) return;
|
||||||
|
|
||||||
boolean valid =
|
boolean valid =
|
||||||
target1.func.get(b.team(), u) &&
|
target1.func.get(b.team(), u) &&
|
||||||
|
|||||||
@@ -35,7 +35,7 @@ public class NoiseFilter extends GenerateFilter{
|
|||||||
|
|
||||||
if(noise > threshold && (target == Blocks.air || in.floor == target || in.block == target)){
|
if(noise > threshold && (target == Blocks.air || in.floor == target || in.block == target)){
|
||||||
if(floor != Blocks.air) in.floor = floor;
|
if(floor != Blocks.air) in.floor = floor;
|
||||||
if(block != Blocks.air && in.block != Blocks.air) in.block = block;
|
if(block != Blocks.air && in.block != Blocks.air && !in.block.breakable) in.block = block;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -656,6 +656,11 @@ public class SerpuloPlanetGenerator extends PlanetGenerator{
|
|||||||
public void postGenerate(Tiles tiles){
|
public void postGenerate(Tiles tiles){
|
||||||
if(sector.hasEnemyBase()){
|
if(sector.hasEnemyBase()){
|
||||||
basegen.postGenerate();
|
basegen.postGenerate();
|
||||||
|
|
||||||
|
//spawn air enemies
|
||||||
|
if(spawner.countGroundSpawns() == 0){
|
||||||
|
state.rules.spawns = Waves.generate(sector.threat, new Rand(sector.id), state.rules.attackMode, true, false);
|
||||||
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -813,7 +813,7 @@ public class Mods implements Loadable{
|
|||||||
}catch(Throwable ignored){
|
}catch(Throwable ignored){
|
||||||
}
|
}
|
||||||
|
|
||||||
if(meta == null) continue;
|
if(meta == null || meta.name == null) continue;
|
||||||
dependencies.put(meta.name, meta.dependencies);
|
dependencies.put(meta.name, meta.dependencies);
|
||||||
fileMapping.put(meta.name, file);
|
fileMapping.put(meta.name, file);
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -45,8 +45,10 @@ public class Scripts implements Disposable{
|
|||||||
try{
|
try{
|
||||||
Object o = context.evaluateString(scope, text, "console.js", 1);
|
Object o = context.evaluateString(scope, text, "console.js", 1);
|
||||||
if(o instanceof NativeJavaObject n) o = n.unwrap();
|
if(o instanceof NativeJavaObject n) o = n.unwrap();
|
||||||
if(o instanceof Undefined) o = "undefined";
|
if(o == null) o = "null";
|
||||||
return String.valueOf(o);
|
else if(o instanceof Undefined) o = "undefined";
|
||||||
|
var out = o.toString();
|
||||||
|
return out == null ? "null" : out;
|
||||||
}catch(Throwable t){
|
}catch(Throwable t){
|
||||||
return getError(t, false);
|
return getError(t, false);
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -252,8 +252,9 @@ public class ArcNetProvider implements NetProvider{
|
|||||||
public void discoverServers(Cons<Host> callback, Runnable done){
|
public void discoverServers(Cons<Host> callback, Runnable done){
|
||||||
Seq<InetAddress> foundAddresses = new Seq<>();
|
Seq<InetAddress> foundAddresses = new Seq<>();
|
||||||
long time = Time.millis();
|
long time = Time.millis();
|
||||||
|
|
||||||
client.discoverHosts(port, multicastGroup, multicastPort, 3000, packet -> {
|
client.discoverHosts(port, multicastGroup, multicastPort, 3000, packet -> {
|
||||||
Core.app.post(() -> {
|
synchronized(foundAddresses){
|
||||||
try{
|
try{
|
||||||
if(foundAddresses.contains(address -> address.equals(packet.getAddress()) || (isLocal(address) && isLocal(packet.getAddress())))){
|
if(foundAddresses.contains(address -> address.equals(packet.getAddress()) || (isLocal(address) && isLocal(packet.getAddress())))){
|
||||||
return;
|
return;
|
||||||
@@ -263,10 +264,10 @@ public class ArcNetProvider implements NetProvider{
|
|||||||
callback.get(host);
|
callback.get(host);
|
||||||
foundAddresses.add(packet.getAddress());
|
foundAddresses.add(packet.getAddress());
|
||||||
}catch(Exception e){
|
}catch(Exception e){
|
||||||
//don't crash when there's an error pinging a a server or parsing data
|
//don't crash when there's an error pinging a server or parsing data
|
||||||
e.printStackTrace();
|
e.printStackTrace();
|
||||||
}
|
}
|
||||||
});
|
}
|
||||||
}, () -> Core.app.post(done));
|
}, () -> Core.app.post(done));
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|||||||
@@ -33,7 +33,7 @@ public class Net{
|
|||||||
private final ObjectMap<Class<?>, Cons> clientListeners = new ObjectMap<>();
|
private final ObjectMap<Class<?>, Cons> clientListeners = new ObjectMap<>();
|
||||||
private final ObjectMap<Class<?>, Cons2<NetConnection, Object>> serverListeners = new ObjectMap<>();
|
private final ObjectMap<Class<?>, Cons2<NetConnection, Object>> serverListeners = new ObjectMap<>();
|
||||||
private final IntMap<StreamBuilder> streams = new IntMap<>();
|
private final IntMap<StreamBuilder> streams = new IntMap<>();
|
||||||
private final ExecutorService pingExecutor = Threads.unboundedExecutor();
|
private final ExecutorService pingExecutor = OS.isWindows && !OS.is64Bit ? Threads.boundedExecutor("Ping Servers", 5) : Threads.unboundedExecutor();
|
||||||
|
|
||||||
private final NetProvider provider;
|
private final NetProvider provider;
|
||||||
|
|
||||||
|
|||||||
@@ -9,9 +9,7 @@ import mindustry.io.*;
|
|||||||
|
|
||||||
import java.util.zip.*;
|
import java.util.zip.*;
|
||||||
|
|
||||||
/**
|
/** Class for storing all packets. */
|
||||||
* Class for storing all packets.
|
|
||||||
*/
|
|
||||||
public class Packets{
|
public class Packets{
|
||||||
|
|
||||||
public enum KickReason{
|
public enum KickReason{
|
||||||
|
|||||||
@@ -447,7 +447,7 @@ public class GameService{
|
|||||||
researchAll.complete();
|
researchAll.complete();
|
||||||
}
|
}
|
||||||
|
|
||||||
if(Blocks.logicProcessor.unlocked()) researchLogic.complete();
|
if(Blocks.microProcessor.unlocked()) researchLogic.complete();
|
||||||
};
|
};
|
||||||
|
|
||||||
//check unlocked stuff on load as well
|
//check unlocked stuff on load as well
|
||||||
|
|||||||
@@ -196,6 +196,7 @@ public class CustomRulesDialog extends BaseDialog{
|
|||||||
check("@rules.unitcapvariable", b -> rules.unitCapVariable = b, () -> rules.unitCapVariable);
|
check("@rules.unitcapvariable", b -> rules.unitCapVariable = b, () -> rules.unitCapVariable);
|
||||||
numberi("@rules.unitcap", f -> rules.unitCap = f, () -> rules.unitCap, -999, 999);
|
numberi("@rules.unitcap", f -> rules.unitCap = f, () -> rules.unitCap, -999, 999);
|
||||||
number("@rules.unitdamagemultiplier", f -> rules.unitDamageMultiplier = f, () -> rules.unitDamageMultiplier);
|
number("@rules.unitdamagemultiplier", f -> rules.unitDamageMultiplier = f, () -> rules.unitDamageMultiplier);
|
||||||
|
number("@rules.unitcrashdamagemultiplier", f -> rules.unitCrashDamageMultiplier = f, () -> rules.unitCrashDamageMultiplier);
|
||||||
number("@rules.unitbuildspeedmultiplier", f -> rules.unitBuildSpeedMultiplier = f, () -> rules.unitBuildSpeedMultiplier, 0f, 50f);
|
number("@rules.unitbuildspeedmultiplier", f -> rules.unitBuildSpeedMultiplier = f, () -> rules.unitBuildSpeedMultiplier, 0f, 50f);
|
||||||
number("@rules.unitcostmultiplier", f -> rules.unitCostMultiplier = f, () -> rules.unitCostMultiplier);
|
number("@rules.unitcostmultiplier", f -> rules.unitCostMultiplier = f, () -> rules.unitCostMultiplier);
|
||||||
|
|
||||||
@@ -298,6 +299,7 @@ public class CustomRulesDialog extends BaseDialog{
|
|||||||
number("@rules.buildspeedmultiplier", f -> teams.buildSpeedMultiplier = f, () -> teams.buildSpeedMultiplier, 0.001f, 50f);
|
number("@rules.buildspeedmultiplier", f -> teams.buildSpeedMultiplier = f, () -> teams.buildSpeedMultiplier, 0.001f, 50f);
|
||||||
|
|
||||||
number("@rules.unitdamagemultiplier", f -> teams.unitDamageMultiplier = f, () -> teams.unitDamageMultiplier);
|
number("@rules.unitdamagemultiplier", f -> teams.unitDamageMultiplier = f, () -> teams.unitDamageMultiplier);
|
||||||
|
number("@rules.unitcrashdamagemultiplier", f -> teams.unitCrashDamageMultiplier = f, () -> teams.unitCrashDamageMultiplier);
|
||||||
number("@rules.unitbuildspeedmultiplier", f -> teams.unitBuildSpeedMultiplier = f, () -> teams.unitBuildSpeedMultiplier, 0.001f, 50f);
|
number("@rules.unitbuildspeedmultiplier", f -> teams.unitBuildSpeedMultiplier = f, () -> teams.unitBuildSpeedMultiplier, 0.001f, 50f);
|
||||||
number("@rules.unitcostmultiplier", f -> teams.unitCostMultiplier = f, () -> teams.unitCostMultiplier);
|
number("@rules.unitcostmultiplier", f -> teams.unitCostMultiplier = f, () -> teams.unitCostMultiplier);
|
||||||
|
|
||||||
|
|||||||
@@ -192,6 +192,11 @@ public class LoadDialog extends BaseDialog{
|
|||||||
buttons.button("@save.import", Icon.add, () -> {
|
buttons.button("@save.import", Icon.add, () -> {
|
||||||
platform.showFileChooser(true, saveExtension, file -> {
|
platform.showFileChooser(true, saveExtension, file -> {
|
||||||
if(SaveIO.isSaveValid(file)){
|
if(SaveIO.isSaveValid(file)){
|
||||||
|
var meta = SaveIO.getMeta(file);
|
||||||
|
|
||||||
|
if(meta.rules.sector != null){
|
||||||
|
ui.showErrorMessage("@save.nocampaign");
|
||||||
|
}else{
|
||||||
try{
|
try{
|
||||||
control.saves.importSave(file);
|
control.saves.importSave(file);
|
||||||
rebuild();
|
rebuild();
|
||||||
@@ -199,6 +204,7 @@ public class LoadDialog extends BaseDialog{
|
|||||||
e.printStackTrace();
|
e.printStackTrace();
|
||||||
ui.showException("@save.import.fail", e);
|
ui.showException("@save.import.fail", e);
|
||||||
}
|
}
|
||||||
|
}
|
||||||
}else{
|
}else{
|
||||||
ui.showErrorMessage("@save.import.invalid");
|
ui.showErrorMessage("@save.import.invalid");
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -46,6 +46,9 @@ public class ConsoleFragment extends Table{
|
|||||||
}
|
}
|
||||||
if(shown){
|
if(shown){
|
||||||
chatfield.requestKeyboard();
|
chatfield.requestKeyboard();
|
||||||
|
}else if(scene.getKeyboardFocus() == chatfield){
|
||||||
|
scene.setKeyboardFocus(null);
|
||||||
|
scene.setScrollFocus(null);
|
||||||
}
|
}
|
||||||
clearChatInput();
|
clearChatInput();
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -175,7 +175,7 @@ public class HintsFragment{
|
|||||||
waveFire(() -> Groups.fire.size() > 0 && Blocks.wave.unlockedNow(), () -> indexer.getFlagged(state.rules.defaultTeam, BlockFlag.extinguisher).size > 0),
|
waveFire(() -> Groups.fire.size() > 0 && Blocks.wave.unlockedNow(), () -> indexer.getFlagged(state.rules.defaultTeam, BlockFlag.extinguisher).size > 0),
|
||||||
generator(() -> control.input.block == Blocks.combustionGenerator, () -> ui.hints.placedBlocks.contains(Blocks.combustionGenerator)),
|
generator(() -> control.input.block == Blocks.combustionGenerator, () -> ui.hints.placedBlocks.contains(Blocks.combustionGenerator)),
|
||||||
rebuildSelect(visibleDesktop, () -> state.rules.defaultTeam.data().plans.size >= 10, () -> Core.input.keyDown(Binding.rebuild_select)),
|
rebuildSelect(visibleDesktop, () -> state.rules.defaultTeam.data().plans.size >= 10, () -> Core.input.keyDown(Binding.rebuild_select)),
|
||||||
guardian(() -> state.boss() != null && state.boss().armor >= 4, () -> state.boss() == null),
|
guardian(() -> state.boss() != null && isSerpulo() && state.boss().armor >= 4, () -> state.boss() == null),
|
||||||
factoryControl(() -> !(state.isCampaign() && state.rules.sector.preset == SectorPresets.onset) &&
|
factoryControl(() -> !(state.isCampaign() && state.rules.sector.preset == SectorPresets.onset) &&
|
||||||
state.rules.defaultTeam.data().getBuildings(Blocks.tankFabricator).size + state.rules.defaultTeam.data().getBuildings(Blocks.groundFactory).size > 0, () -> ui.hints.events.contains("factorycontrol")),
|
state.rules.defaultTeam.data().getBuildings(Blocks.tankFabricator).size + state.rules.defaultTeam.data().getBuildings(Blocks.groundFactory).size > 0, () -> ui.hints.events.contains("factorycontrol")),
|
||||||
coreUpgrade(() -> state.isCampaign() && state.rules.sector.planet == Planets.serpulo && Blocks.coreFoundation.unlocked()
|
coreUpgrade(() -> state.isCampaign() && state.rules.sector.planet == Planets.serpulo && Blocks.coreFoundation.unlocked()
|
||||||
|
|||||||
@@ -433,7 +433,7 @@ public class PlacementFragment{
|
|||||||
//commandTable: commanded units
|
//commandTable: commanded units
|
||||||
{
|
{
|
||||||
commandTable.touchable = Touchable.enabled;
|
commandTable.touchable = Touchable.enabled;
|
||||||
commandTable.add("[accent]Command Mode").fill().center().labelAlign(Align.center).row();
|
commandTable.add(Core.bundle.get("commandmode.name")).fill().center().labelAlign(Align.center).row();
|
||||||
commandTable.image().color(Pal.accent).growX().pad(20f).padTop(0f).padBottom(4f).row();
|
commandTable.image().color(Pal.accent).growX().pad(20f).padTop(0f).padBottom(4f).row();
|
||||||
commandTable.table(u -> {
|
commandTable.table(u -> {
|
||||||
u.left();
|
u.left();
|
||||||
@@ -503,7 +503,7 @@ public class PlacementFragment{
|
|||||||
}).fillX().padTop(4f).left();
|
}).fillX().padTop(4f).left();
|
||||||
}
|
}
|
||||||
}else{
|
}else{
|
||||||
u.add("[no units]").color(Color.lightGray).growX().center().labelAlign(Align.center).pad(6);
|
u.add(Core.bundle.get("commandmode.nounits")).color(Color.lightGray).growX().center().labelAlign(Align.center).pad(6);
|
||||||
}
|
}
|
||||||
};
|
};
|
||||||
|
|
||||||
|
|||||||
@@ -312,6 +312,8 @@ public class Block extends UnlockableContent implements Senseable{
|
|||||||
public float deconstructThreshold = 0f;
|
public float deconstructThreshold = 0f;
|
||||||
/** If true, this block deconstructs immediately. Instant deconstruction implies no resource refund. */
|
/** If true, this block deconstructs immediately. Instant deconstruction implies no resource refund. */
|
||||||
public boolean instantDeconstruct = false;
|
public boolean instantDeconstruct = false;
|
||||||
|
/** Effect for placing the block. Passes size as rotation. */
|
||||||
|
public Effect placeEffect = Fx.placeBlock;
|
||||||
/** Effect for breaking the block. Passes size as rotation. */
|
/** Effect for breaking the block. Passes size as rotation. */
|
||||||
public Effect breakEffect = Fx.breakBlock;
|
public Effect breakEffect = Fx.breakBlock;
|
||||||
/** Effect for destroying the block. */
|
/** Effect for destroying the block. */
|
||||||
|
|||||||
@@ -99,7 +99,7 @@ public class ConstructBlock extends Block{
|
|||||||
}
|
}
|
||||||
|
|
||||||
if(fogControl.isVisibleTile(team, tile.x, tile.y)){
|
if(fogControl.isVisibleTile(team, tile.x, tile.y)){
|
||||||
Fx.placeBlock.at(tile.drawx(), tile.drawy(), block.size);
|
block.placeEffect.at(tile.drawx(), tile.drawy(), block.size);
|
||||||
if(shouldPlay()) block.placeSound.at(tile, block.placePitchChange ? calcPitch(true) : 1f);
|
if(shouldPlay()) block.placeSound.at(tile, block.placePitchChange ? calcPitch(true) : 1f);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|||||||
@@ -28,6 +28,7 @@ public class DirectionalUnloader extends Block{
|
|||||||
public DirectionalUnloader(String name){
|
public DirectionalUnloader(String name){
|
||||||
super(name);
|
super(name);
|
||||||
|
|
||||||
|
group = BlockGroup.transportation;
|
||||||
update = true;
|
update = true;
|
||||||
solid = true;
|
solid = true;
|
||||||
hasItems = true;
|
hasItems = true;
|
||||||
|
|||||||
@@ -36,6 +36,7 @@ public class ItemBridge extends Block{
|
|||||||
public boolean pulse = false;
|
public boolean pulse = false;
|
||||||
public float arrowSpacing = 4f, arrowOffset = 2f, arrowPeriod = 0.4f;
|
public float arrowSpacing = 4f, arrowOffset = 2f, arrowPeriod = 0.4f;
|
||||||
public float arrowTimeScl = 6.2f;
|
public float arrowTimeScl = 6.2f;
|
||||||
|
public float bridgeWidth = 6.5f;
|
||||||
|
|
||||||
//for autolink
|
//for autolink
|
||||||
public @Nullable ItemBridgeBuild lastBuild;
|
public @Nullable ItemBridgeBuild lastBuild;
|
||||||
@@ -81,7 +82,7 @@ public class ItemBridge extends Block{
|
|||||||
if(Mathf.zero(Renderer.bridgeOpacity)) return;
|
if(Mathf.zero(Renderer.bridgeOpacity)) return;
|
||||||
Draw.alpha(Renderer.bridgeOpacity);
|
Draw.alpha(Renderer.bridgeOpacity);
|
||||||
|
|
||||||
Lines.stroke(8f);
|
Lines.stroke(bridgeWidth);
|
||||||
|
|
||||||
Tmp.v1.set(ox, oy).sub(req.drawx(), req.drawy()).setLength(tilesize/2f);
|
Tmp.v1.set(ox, oy).sub(req.drawx(), req.drawy()).setLength(tilesize/2f);
|
||||||
|
|
||||||
@@ -372,7 +373,7 @@ public class ItemBridge extends Block{
|
|||||||
Draw.rect(endRegion, x, y, i * 90 + 90);
|
Draw.rect(endRegion, x, y, i * 90 + 90);
|
||||||
Draw.rect(endRegion, other.drawx(), other.drawy(), i * 90 + 270);
|
Draw.rect(endRegion, other.drawx(), other.drawy(), i * 90 + 270);
|
||||||
|
|
||||||
Lines.stroke(8f);
|
Lines.stroke(bridgeWidth);
|
||||||
|
|
||||||
Tmp.v1.set(x, y).sub(other.worldx(), other.worldy()).setLength(tilesize/2f).scl(-1f);
|
Tmp.v1.set(x, y).sub(other.worldx(), other.worldy()).setLength(tilesize/2f).scl(-1f);
|
||||||
|
|
||||||
|
|||||||
@@ -4,6 +4,7 @@ import arc.*;
|
|||||||
import arc.graphics.g2d.*;
|
import arc.graphics.g2d.*;
|
||||||
import arc.struct.*;
|
import arc.struct.*;
|
||||||
import arc.util.*;
|
import arc.util.*;
|
||||||
|
import mindustry.*;
|
||||||
import mindustry.entities.units.*;
|
import mindustry.entities.units.*;
|
||||||
import mindustry.gen.*;
|
import mindustry.gen.*;
|
||||||
import mindustry.graphics.*;
|
import mindustry.graphics.*;
|
||||||
@@ -52,6 +53,7 @@ public class HeatConductor extends Block{
|
|||||||
public float heat = 0f;
|
public float heat = 0f;
|
||||||
public float[] sideHeat = new float[4];
|
public float[] sideHeat = new float[4];
|
||||||
public IntSet cameFrom = new IntSet();
|
public IntSet cameFrom = new IntSet();
|
||||||
|
public long lastHeatUpdate = -1;
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
public void draw(){
|
public void draw(){
|
||||||
@@ -76,6 +78,13 @@ public class HeatConductor extends Block{
|
|||||||
|
|
||||||
@Override
|
@Override
|
||||||
public void updateTile(){
|
public void updateTile(){
|
||||||
|
updateHeat();
|
||||||
|
}
|
||||||
|
|
||||||
|
public void updateHeat(){
|
||||||
|
if(lastHeatUpdate == Vars.state.updateId) return;
|
||||||
|
|
||||||
|
lastHeatUpdate = Vars.state.updateId;
|
||||||
heat = calculateHeat(sideHeat, cameFrom);
|
heat = calculateHeat(sideHeat, cameFrom);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|||||||
@@ -137,6 +137,12 @@ public class CanvasBlock extends Block{
|
|||||||
|
|
||||||
@Override
|
@Override
|
||||||
public void draw(){
|
public void draw(){
|
||||||
|
if(!renderer.drawDisplays){
|
||||||
|
super.draw();
|
||||||
|
|
||||||
|
return;
|
||||||
|
}
|
||||||
|
|
||||||
if(blending == 0){
|
if(blending == 0){
|
||||||
super.draw();
|
super.draw();
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -503,7 +503,7 @@ public class LogicBlock extends Block{
|
|||||||
if(state.rules.disableWorldProcessors && privileged) return;
|
if(state.rules.disableWorldProcessors && privileged) return;
|
||||||
|
|
||||||
if(enabled && executor.initialized()){
|
if(enabled && executor.initialized()){
|
||||||
accumulator += edelta() * ipt * efficiency;
|
accumulator += edelta() * ipt;
|
||||||
|
|
||||||
if(accumulator > maxInstructionScale * ipt) accumulator = maxInstructionScale * ipt;
|
if(accumulator > maxInstructionScale * ipt) accumulator = maxInstructionScale * ipt;
|
||||||
|
|
||||||
|
|||||||
@@ -24,7 +24,6 @@ public class MessageBlock extends Block{
|
|||||||
//don't change this too much unless you want to run into issues with packet sizes
|
//don't change this too much unless you want to run into issues with packet sizes
|
||||||
public int maxTextLength = 220;
|
public int maxTextLength = 220;
|
||||||
public int maxNewlines = 24;
|
public int maxNewlines = 24;
|
||||||
public boolean privileged = false;
|
|
||||||
|
|
||||||
public MessageBlock(String name){
|
public MessageBlock(String name){
|
||||||
super(name);
|
super(name);
|
||||||
|
|||||||
@@ -96,7 +96,7 @@ public abstract class BlockProducer extends PayloadBlock{
|
|||||||
if(progress >= recipe.buildCost){
|
if(progress >= recipe.buildCost){
|
||||||
consume();
|
consume();
|
||||||
payload = new BuildPayload(recipe, team);
|
payload = new BuildPayload(recipe, team);
|
||||||
Fx.placeBlock.at(x, y, payload.size() / tilesize);
|
payload.block().placeEffect.at(x, y, payload.size() / tilesize);
|
||||||
payVector.setZero();
|
payVector.setZero();
|
||||||
progress %= 1f;
|
progress %= 1f;
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -24,7 +24,7 @@ public class PayloadConveyor extends Block{
|
|||||||
|
|
||||||
public PayloadConveyor(String name){
|
public PayloadConveyor(String name){
|
||||||
super(name);
|
super(name);
|
||||||
group = BlockGroup.transportation;
|
group = BlockGroup.payloads;
|
||||||
size = 3;
|
size = 3;
|
||||||
rotate = true;
|
rotate = true;
|
||||||
update = true;
|
update = true;
|
||||||
@@ -155,7 +155,7 @@ public class PayloadConveyor extends Block{
|
|||||||
next.updateTile();
|
next.updateTile();
|
||||||
|
|
||||||
//TODO add self to queue of next conveyor, then check if this conveyor was selected next frame - selection happens deterministically
|
//TODO add self to queue of next conveyor, then check if this conveyor was selected next frame - selection happens deterministically
|
||||||
if(next.acceptPayload(this, item)){
|
if(next != null && next.acceptPayload(this, item)){
|
||||||
//move forward.
|
//move forward.
|
||||||
next.handlePayload(this, item);
|
next.handlePayload(this, item);
|
||||||
item = null;
|
item = null;
|
||||||
|
|||||||
@@ -79,7 +79,7 @@ public class PayloadMassDriver extends PayloadBlock{
|
|||||||
super.setStats();
|
super.setStats();
|
||||||
|
|
||||||
stats.add(Stat.payloadCapacity, StatValues.squared(maxPayloadSize, StatUnit.blocksSquared));
|
stats.add(Stat.payloadCapacity, StatValues.squared(maxPayloadSize, StatUnit.blocksSquared));
|
||||||
stats.add(Stat.reload, 60f / (chargeTime + reload), StatUnit.seconds);
|
stats.add(Stat.reload, 60f / (chargeTime + reload), StatUnit.perSecond);
|
||||||
stats.add(Stat.shootRange, range / tilesize, StatUnit.blocks);
|
stats.add(Stat.shootRange, range / tilesize, StatUnit.blocks);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|||||||
@@ -1,6 +1,5 @@
|
|||||||
package mindustry.world.blocks.power;
|
package mindustry.world.blocks.power;
|
||||||
|
|
||||||
import arc.Core;
|
|
||||||
import arc.graphics.*;
|
import arc.graphics.*;
|
||||||
import arc.graphics.g2d.*;
|
import arc.graphics.g2d.*;
|
||||||
import arc.math.*;
|
import arc.math.*;
|
||||||
@@ -140,7 +139,7 @@ public class BeamNode extends PowerBlock{
|
|||||||
float w = laserWidth + Mathf.absin(pulseScl, pulseMag);
|
float w = laserWidth + Mathf.absin(pulseScl, pulseMag);
|
||||||
|
|
||||||
for(int i = 0; i < 4; i ++){
|
for(int i = 0; i < 4; i ++){
|
||||||
if(dests[i] != null && (!(links[i].block instanceof BeamNode node) ||
|
if(dests[i] != null && links[i].wasVisible && (!(links[i].block instanceof BeamNode node) ||
|
||||||
(links[i].tileX() != tileX() && links[i].tileY() != tileY()) ||
|
(links[i].tileX() != tileX() && links[i].tileY() != tileY()) ||
|
||||||
(links[i].id > id && range >= node.range) || range > node.range)){
|
(links[i].id > id && range >= node.range) || range > node.range)){
|
||||||
|
|
||||||
|
|||||||
Some files were not shown because too many files have changed in this diff Show More
Reference in New Issue
Block a user