Merge branch 'master' of https://github.com/Anuken/Mindustry into v106-alpha
2
.github/ISSUE_TEMPLATE/bug_report.md
vendored
@@ -19,7 +19,7 @@ assignees: ''
|
|||||||
|
|
||||||
**Link(s) to mod(s) used**: *The mod repositories or zip files that are related to the issue, if applicable.*
|
**Link(s) to mod(s) used**: *The mod repositories or zip files that are related to the issue, if applicable.*
|
||||||
|
|
||||||
**Save file**: *The save file you were playing on when the bug happened. REQUIRED for any issue that happens in-game.*
|
**Save file**: *The (zipped) save file you were playing on when the bug happened. THIS IS REQUIRED FOR ANY ISSUE HAPPENING IN-GAME, REGARDLESS OF WHETHER YOU THINK IT HAPPENS EVERYWHERE. DO NOT DELETE OR OMIT THIS LINE UNLESS YOU ARE SURE THAT THE ISSUE DOES NOT HAPPEN IN-GAME.*
|
||||||
|
|
||||||
**Crash report**: *The contents of relevant crash report files. REQUIRED if you are reporting a crash.*
|
**Crash report**: *The contents of relevant crash report files. REQUIRED if you are reporting a crash.*
|
||||||
|
|
||||||
|
|||||||
23
.github/workflows/gradle.yml
vendored
@@ -3,18 +3,6 @@ name: Java CI
|
|||||||
on: [push]
|
on: [push]
|
||||||
|
|
||||||
jobs:
|
jobs:
|
||||||
buildJava8:
|
|
||||||
runs-on: ubuntu-latest
|
|
||||||
|
|
||||||
steps:
|
|
||||||
- uses: actions/checkout@v1
|
|
||||||
- name: Set up JDK 8
|
|
||||||
uses: actions/setup-java@v1
|
|
||||||
with:
|
|
||||||
java-version: 8
|
|
||||||
- name: Run unit tests with gradle and Java 8
|
|
||||||
run: ./gradlew compileJava
|
|
||||||
|
|
||||||
buildJava14:
|
buildJava14:
|
||||||
runs-on: ubuntu-latest
|
runs-on: ubuntu-latest
|
||||||
|
|
||||||
@@ -26,3 +14,14 @@ jobs:
|
|||||||
java-version: 14
|
java-version: 14
|
||||||
- name: Run unit tests with gradle and Java 14
|
- name: Run unit tests with gradle and Java 14
|
||||||
run: ./gradlew compileJava
|
run: ./gradlew compileJava
|
||||||
|
buildJava15:
|
||||||
|
runs-on: ubuntu-latest
|
||||||
|
|
||||||
|
steps:
|
||||||
|
- uses: actions/checkout@v1
|
||||||
|
- name: Set up JDK 15
|
||||||
|
uses: actions/setup-java@v1
|
||||||
|
with:
|
||||||
|
java-version: 15
|
||||||
|
- name: Run unit tests with gradle and Java 15
|
||||||
|
run: ./gradlew compileJava
|
||||||
|
|||||||
@@ -4,33 +4,38 @@ This is for code contributions. For translations, see [TRANSLATING](TRANSLATING.
|
|||||||
|
|
||||||
## Basic Guidelines
|
## Basic Guidelines
|
||||||
|
|
||||||
#### Use an IDE.
|
### Use an IDE.
|
||||||
Specifically, IntelliJ IDEA. Download the (free) Community Edition of it [here](https://www.jetbrains.com/idea/download/). Some people use other tools, like VS Code, but I would personally not recommend them for Java development.
|
Specifically, IntelliJ IDEA. Download the (free) Community Edition of it [here](https://www.jetbrains.com/idea/download/). Some people use other tools, like VS Code, but I would personally not recommend them for Java development.
|
||||||
|
|
||||||
#### Always test your changes.
|
### Always test your changes.
|
||||||
Do not submit something without at least running the game to see if it compiles.
|
Do not submit something without at least running the game to see if it compiles.
|
||||||
If you are submitting a new block, make sure it has a name and description, and that it works correctly in-game. If you are changing existing block mechanics, test them out first.
|
If you are submitting a new block, make sure it has a name and description, and that it works correctly in-game. If you are changing existing block mechanics, test them out first.
|
||||||
|
|
||||||
|
### Do not make large changes before discussing them first.
|
||||||
#### Do not make large changes before discussing them first.
|
|
||||||
If you are interested in adding a large mechanic/feature or changing large amounts of code, first contact me (Anuken) via [Discord](https://discord.gg/mindustry) (preferred method) or via e-mail (*anukendev@gmail.com*).
|
If you are interested in adding a large mechanic/feature or changing large amounts of code, first contact me (Anuken) via [Discord](https://discord.gg/mindustry) (preferred method) or via e-mail (*anukendev@gmail.com*).
|
||||||
For most changes, this should not be necessary. I just want to know if you're doing something big so I can offer advice and/or make sure you're not wasting your time on it.
|
For most changes, this should not be necessary. I just want to know if you're doing something big so I can offer advice and/or make sure you're not wasting your time on it.
|
||||||
|
|
||||||
|
### Do not include packed sprites in your pull request.
|
||||||
|
When making a pull request that changes or adds new sprites, do not add the modified atlas & `spritesX.png` files to your final pull request. These are a frequent source of conflicts.
|
||||||
|
|
||||||
|
|
||||||
## Style Guidelines
|
## Style Guidelines
|
||||||
|
|
||||||
#### Follow the formatting guidelines.
|
### Follow the formatting guidelines.
|
||||||
This means:
|
This means:
|
||||||
- No spaces around parentheses: `if(condition){`, `SomeType s = (SomeType)object`
|
- No spaces around parentheses: `if(condition){`, `SomeType s = (SomeType)object`
|
||||||
- Same-line braces.
|
- Same-line braces.
|
||||||
- 4 spaces indentation
|
- 4 spaces indentation
|
||||||
- `camelCase`, **even for constants or enums**. Why? Because `SCREAMING_CASE` is ugly, annoying to type and does not achieve anything useful. Constants are *less* dangerous than variables, not more.
|
- `camelCase`, **even for constants or enums**. Why? Because `SCREAMING_CASE` is ugly, annoying to type and does not achieve anything useful. Constants are *less* dangerous than variables, not more. Any reasonable IDE should highlight them for you anyway.
|
||||||
- No underscores for anything. (Yes, I know `Bindings` violates this principle, but that's for legacy reasons and really should be cleaned up some day)
|
- No underscores for anything. (Yes, I know `Bindings` violates this principle, but that's for legacy reasons and really should be cleaned up some day)
|
||||||
- Do not use braceless `if/else` statements. `if(x) statement else statement2` should **never** be done. In very specific situations, having braceless if-statements on one line is allowed: `if(cond) return;` would be valid.
|
- Do not use braceless `if/else` statements. `if(x) statement else statement2` should **never** be done. In very specific situations, having braceless if-statements on one line is allowed: `if(cond) return;` would be valid.
|
||||||
|
- Prefer single-line javadoc `/** @return for example */` instead of multiline javadoc whenver possible
|
||||||
|
- Short method/variable names (multipleLongWords should be avoided if it's possible to so reasonably, especially for variables)
|
||||||
|
- Use wildcard imports - `import some.package.*` - for everything. This makes incorrect class usage more obvious (*e.g. arc.util.Timer vs java.util.Timer*) and leads to cleaner-looking code.
|
||||||
|
|
||||||
Import [this style file](.github/Mindustry-CodeStyle-IJ.xml) into IntelliJ to get correct formatting when developing Mindustry.
|
Import [this style file](.github/Mindustry-CodeStyle-IJ.xml) into IntelliJ to get correct formatting when developing Mindustry.
|
||||||
|
|
||||||
#### Do not use incompatible Java features (java.util.function, java.awt).
|
### Do not use incompatible Java features (java.util.function, java.awt).
|
||||||
Android and RoboVM (iOS) do not support many of Java 8's features, such as the packages `java.util.function`, `java.util.stream` or `forEach` in collections. Do not use these in your code.
|
Android and RoboVM (iOS) do not support many of Java 8's features, such as the packages `java.util.function`, `java.util.stream` or `forEach` in collections. Do not use these in your code.
|
||||||
If you need to use functional interfaces, use the ones in `arc.func`, which are more or less the same with different naming schemes.
|
If you need to use functional interfaces, use the ones in `arc.func`, which are more or less the same with different naming schemes.
|
||||||
|
|
||||||
@@ -39,7 +44,7 @@ The same applies to any class *outside* of the standard `java.[n]io` / `java.net
|
|||||||
In general, if you are using IntelliJ, you should be warned about platform incompatiblities.
|
In general, if you are using IntelliJ, you should be warned about platform incompatiblities.
|
||||||
|
|
||||||
|
|
||||||
#### Use `arc` collections and classes when possible.
|
### Use `arc` collections and classes when possible.
|
||||||
Instead of using `java.util.List`, `java.util.HashMap`, and other standard Java collections, use `Seq`, `ObjectMap` and other equivalents from `arc.struct`.
|
Instead of using `java.util.List`, `java.util.HashMap`, and other standard Java collections, use `Seq`, `ObjectMap` and other equivalents from `arc.struct`.
|
||||||
Why? Because that's what the rest of the codebase uses, and the standard collections have a lot of cruft and usability issues associated with them.
|
Why? Because that's what the rest of the codebase uses, and the standard collections have a lot of cruft and usability issues associated with them.
|
||||||
In the rare case that concurrency is required, you may use the standard Java classes for that purpose (e.g. `CopyOnWriteArrayList`).
|
In the rare case that concurrency is required, you may use the standard Java classes for that purpose (e.g. `CopyOnWriteArrayList`).
|
||||||
@@ -52,21 +57,21 @@ What you'll usually need to change:
|
|||||||
- *Many others*
|
- *Many others*
|
||||||
|
|
||||||
|
|
||||||
#### Avoid boxed types (Integer, Boolean)
|
### Avoid boxed types (Integer, Boolean)
|
||||||
Never create variables or collections with boxed types `Seq<Integer>` or `ObjectMap<Integer, ...>`. Use the collections specialized for this task, e.g. `IntSeq` and `IntMap`.
|
Never create variables or collections with boxed types `Seq<Integer>` or `ObjectMap<Integer, ...>`. Use the collections specialized for this task, e.g. `IntSeq` and `IntMap`.
|
||||||
|
|
||||||
|
|
||||||
#### Do not allocate anything if possible.
|
### Do not allocate anything if possible.
|
||||||
Never allocate `new` objects in the main loop. If you absolutely require new objects, use `Pools` to obtain and free object instances.
|
Never allocate `new` objects in the main loop. If you absolutely require new objects, use `Pools` to obtain and free object instances.
|
||||||
Otherwise, use the `Tmp` variables for things like vector/shape operations, or create `static` variables for re-use.
|
Otherwise, use the `Tmp` variables for things like vector/shape operations, or create `static` variables for re-use.
|
||||||
If using a list, make it a static variable and clear it every time it is used. Re-use as much as possible.
|
If using a list, make it a static variable and clear it every time it is used. Re-use as much as possible.
|
||||||
|
|
||||||
#### Avoid bloated code and unnecessary getters/setters.
|
### Avoid bloated code and unnecessary getters/setters.
|
||||||
This is situational, but in essence what it means is to avoid using any sort of getters and setters unless absolutely necessary. Public or protected fields should suffice for most things.
|
This is situational, but in essence what it means is to avoid using any sort of getters and setters unless absolutely necessary. Public or protected fields should suffice for most things.
|
||||||
If something needs to be encapsulated in the future, IntelliJ can handle it with a few clicks.
|
If something needs to be encapsulated in the future, IntelliJ can handle it with a few clicks.
|
||||||
|
|
||||||
|
|
||||||
#### Do not create methods unless necessary.
|
### Do not create methods unless necessary.
|
||||||
Unless a block of code is very large or used in more than 1-2 places, don't split it up into a separate method. Making unnecessary methods only creates confusion, and may slightly decrease performance.
|
Unless a block of code is very large or used in more than 1-2 places, don't split it up into a separate method. Making unnecessary methods only creates confusion, and may slightly decrease performance.
|
||||||
|
|
||||||
## Other Notes
|
## Other Notes
|
||||||
|
|||||||
@@ -3,7 +3,6 @@ package mindustry.annotations.entity;
|
|||||||
import arc.files.*;
|
import arc.files.*;
|
||||||
import arc.func.*;
|
import arc.func.*;
|
||||||
import arc.struct.*;
|
import arc.struct.*;
|
||||||
import arc.util.ArcAnnotate.*;
|
|
||||||
import arc.util.*;
|
import arc.util.*;
|
||||||
import arc.util.io.*;
|
import arc.util.io.*;
|
||||||
import arc.util.pooling.Pool.*;
|
import arc.util.pooling.Pool.*;
|
||||||
@@ -77,9 +76,10 @@ public class EntityProcess extends BaseProcessor{
|
|||||||
if(elem.is(Modifier.ABSTRACT) || elem.is(Modifier.NATIVE)) continue;
|
if(elem.is(Modifier.ABSTRACT) || elem.is(Modifier.NATIVE)) continue;
|
||||||
//get all statements in the method, store them
|
//get all statements in the method, store them
|
||||||
methodBlocks.put(elem.descString(), elem.tree().getBody().toString()
|
methodBlocks.put(elem.descString(), elem.tree().getBody().toString()
|
||||||
//replace all self() invocations with this
|
.replaceAll("this\\.<(.*)>self\\(\\)", "this") //fix parameterized self() calls
|
||||||
.replaceAll("this\\.<(.*)>self\\(\\)", "this")
|
.replaceAll("self\\(\\)", "this") //fix self() calls
|
||||||
.replaceAll("self\\(\\)", "this")
|
.replaceAll(" yield ", "") //fix enchanced switch
|
||||||
|
.replaceAll("\\/\\*missing\\*\\/", "var") //fix vars
|
||||||
);
|
);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -1,7 +1,7 @@
|
|||||||
package mindustry.annotations.util;
|
package mindustry.annotations.util;
|
||||||
|
|
||||||
import arc.struct.*;
|
import arc.struct.*;
|
||||||
import arc.util.ArcAnnotate.*;
|
import arc.util.*;
|
||||||
import com.squareup.javapoet.*;
|
import com.squareup.javapoet.*;
|
||||||
import com.sun.tools.javac.code.Attribute.*;
|
import com.sun.tools.javac.code.Attribute.*;
|
||||||
import mindustry.annotations.*;
|
import mindustry.annotations.*;
|
||||||
@@ -19,7 +19,8 @@ public class Selement<T extends Element>{
|
|||||||
this.e = e;
|
this.e = e;
|
||||||
}
|
}
|
||||||
|
|
||||||
public @Nullable String doc(){
|
@Nullable
|
||||||
|
public String doc(){
|
||||||
return BaseProcessor.elementu.getDocComment(e);
|
return BaseProcessor.elementu.getDocComment(e);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|||||||
@@ -0,0 +1 @@
|
|||||||
|
{fields:[{name:ammo,type:float},{name:armor,type:float},{name:controller,type:mindustry.entities.units.UnitController},{name:elevation,type:float},{name:health,type:float},{name:isShooting,type:boolean},{name:mounts,type:"mindustry.entities.units.WeaponMount[]"},{name:payloads,type:arc.struct.Seq<mindustry.world.blocks.payloads.Payload>},{name:plans,type:arc.struct.Queue<mindustry.entities.units.BuildPlan>},{name:rotation,type:float},{name:shield,type:float},{name:spawnedByCore,type:boolean},{name:stack,type:mindustry.type.ItemStack},{name:statuses,type:arc.struct.Seq<mindustry.entities.units.StatusEntry>},{name:team,type:mindustry.game.Team},{name:type,type:mindustry.type.UnitType},{name:x,type:float},{name:y,type:float}]}
|
||||||
27
build.gradle
@@ -173,23 +173,38 @@ allprojects{
|
|||||||
}
|
}
|
||||||
|
|
||||||
tasks.withType(JavaCompile){
|
tasks.withType(JavaCompile){
|
||||||
sourceCompatibility = 1.8
|
targetCompatibility = 8
|
||||||
targetCompatibility = 1.8
|
sourceCompatibility = 14
|
||||||
options.encoding = "UTF-8"
|
options.encoding = "UTF-8"
|
||||||
options.compilerArgs += ["-Xlint:deprecation"]
|
options.compilerArgs += ["-Xlint:deprecation"]
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
//compile with java 8 compatibility for everything except the annotati project
|
configure(project(":annotations")){
|
||||||
|
tasks.withType(JavaCompile){
|
||||||
|
targetCompatibility = 8
|
||||||
|
sourceCompatibility = 8
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
//compile with java 8 compatibility for everything except the annotation project
|
||||||
configure(subprojects - project(":annotations")){
|
configure(subprojects - project(":annotations")){
|
||||||
tasks.withType(JavaCompile){
|
tasks.withType(JavaCompile){
|
||||||
if(JavaVersion.current() != JavaVersion.VERSION_1_8){
|
if(JavaVersion.current() != JavaVersion.VERSION_1_8){
|
||||||
options.compilerArgs.addAll(['--release', '8'])
|
options.compilerArgs.addAll(['--release', '8', '--enable-preview'])
|
||||||
|
}
|
||||||
|
|
||||||
|
doFirst{
|
||||||
|
options.compilerArgs = options.compilerArgs.findAll{it != '--enable-preview' }
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
tasks.withType(Javadoc){
|
tasks.withType(Javadoc){
|
||||||
options.addStringOption('Xdoclint:none', '-quiet')
|
options{
|
||||||
|
addStringOption('Xdoclint:none', '-quiet')
|
||||||
|
addBooleanOption('-enable-preview', true)
|
||||||
|
addStringOption('-release', '14')
|
||||||
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
@@ -288,6 +303,8 @@ project(":core"){
|
|||||||
|
|
||||||
compileOnly project(":annotations")
|
compileOnly project(":annotations")
|
||||||
annotationProcessor project(":annotations")
|
annotationProcessor project(":annotations")
|
||||||
|
annotationProcessor 'com.github.Anuken:jabel:40eec868af'
|
||||||
|
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|||||||
|
Before Width: | Height: | Size: 3.3 KiB |
|
Before Width: | Height: | Size: 758 B After Width: | Height: | Size: 656 B |
|
Before Width: | Height: | Size: 794 B After Width: | Height: | Size: 687 B |
|
Before Width: | Height: | Size: 338 B After Width: | Height: | Size: 514 B |
|
Before Width: | Height: | Size: 1.3 KiB After Width: | Height: | Size: 1.3 KiB |
|
Before Width: | Height: | Size: 144 B After Width: | Height: | Size: 144 B |
|
Before Width: | Height: | Size: 304 B After Width: | Height: | Size: 304 B |
|
Before Width: | Height: | Size: 245 B After Width: | Height: | Size: 285 B |
|
Before Width: | Height: | Size: 334 B After Width: | Height: | Size: 373 B |
BIN
core/assets-raw/sprites/blocks/turrets/foreshadow-heat.png
Normal file
|
After Width: | Height: | Size: 537 B |
BIN
core/assets-raw/sprites/blocks/turrets/foreshadow.png
Normal file
|
After Width: | Height: | Size: 1.9 KiB |
|
Before Width: | Height: | Size: 288 B After Width: | Height: | Size: 349 B |
|
Before Width: | Height: | Size: 1.1 KiB After Width: | Height: | Size: 947 B |
|
Before Width: | Height: | Size: 175 B |
|
Before Width: | Height: | Size: 175 B |
|
Before Width: | Height: | Size: 653 B After Width: | Height: | Size: 842 B |
|
Before Width: | Height: | Size: 559 B After Width: | Height: | Size: 853 B |
|
Before Width: | Height: | Size: 277 B After Width: | Height: | Size: 307 B |
BIN
core/assets-raw/sprites/blocks/turrets/tsunami-liquid.png
Normal file
|
After Width: | Height: | Size: 434 B |
BIN
core/assets-raw/sprites/blocks/turrets/tsunami-top.png
Normal file
|
After Width: | Height: | Size: 350 B |
BIN
core/assets-raw/sprites/blocks/turrets/tsunami.png
Normal file
|
After Width: | Height: | Size: 2.0 KiB |
|
Before Width: | Height: | Size: 1.2 KiB After Width: | Height: | Size: 926 B |
|
Before Width: | Height: | Size: 12 KiB After Width: | Height: | Size: 14 KiB |
@@ -851,6 +851,7 @@ rules.title.unit = Units
|
|||||||
rules.title.experimental = Experimental
|
rules.title.experimental = Experimental
|
||||||
rules.title.environment = Environment
|
rules.title.environment = Environment
|
||||||
rules.lighting = Lighting
|
rules.lighting = Lighting
|
||||||
|
rules.enemyLights = Enemy Lights
|
||||||
rules.fire = Fire
|
rules.fire = Fire
|
||||||
rules.explosions = Block/Unit Explosion Damage
|
rules.explosions = Block/Unit Explosion Damage
|
||||||
rules.ambientlight = Ambient Light
|
rules.ambientlight = Ambient Light
|
||||||
@@ -1047,7 +1048,7 @@ block.underflow-gate.name = Underflow Gate
|
|||||||
block.silicon-smelter.name = Silicon Smelter
|
block.silicon-smelter.name = Silicon Smelter
|
||||||
block.phase-weaver.name = Phase Weaver
|
block.phase-weaver.name = Phase Weaver
|
||||||
block.pulverizer.name = Pulverizer
|
block.pulverizer.name = Pulverizer
|
||||||
block.cryofluidmixer.name = Cryofluid Mixer
|
block.cryofluid-mixer.name = Cryofluid Mixer
|
||||||
block.melter.name = Melter
|
block.melter.name = Melter
|
||||||
block.incinerator.name = Incinerator
|
block.incinerator.name = Incinerator
|
||||||
block.spore-press.name = Spore Press
|
block.spore-press.name = Spore Press
|
||||||
@@ -1079,6 +1080,7 @@ block.power-source.name = Power Infinite
|
|||||||
block.unloader.name = Unloader
|
block.unloader.name = Unloader
|
||||||
block.vault.name = Vault
|
block.vault.name = Vault
|
||||||
block.wave.name = Wave
|
block.wave.name = Wave
|
||||||
|
block.tsunami.name = Tsunami
|
||||||
block.swarmer.name = Swarmer
|
block.swarmer.name = Swarmer
|
||||||
block.salvo.name = Salvo
|
block.salvo.name = Salvo
|
||||||
block.ripple.name = Ripple
|
block.ripple.name = Ripple
|
||||||
@@ -1118,6 +1120,7 @@ block.arc.name = Arc
|
|||||||
block.rtg-generator.name = RTG Generator
|
block.rtg-generator.name = RTG Generator
|
||||||
block.spectre.name = Spectre
|
block.spectre.name = Spectre
|
||||||
block.meltdown.name = Meltdown
|
block.meltdown.name = Meltdown
|
||||||
|
block.foreshadow.name = Foreshadow
|
||||||
block.container.name = Container
|
block.container.name = Container
|
||||||
block.launch-pad.name = Launch Pad
|
block.launch-pad.name = Launch Pad
|
||||||
block.launch-pad-large.name = Large Launch Pad
|
block.launch-pad-large.name = Large Launch Pad
|
||||||
@@ -1204,7 +1207,7 @@ block.kiln.description = Smelts sand and lead into the compound known as metagla
|
|||||||
block.plastanium-compressor.description = Produces plastanium from oil and titanium.
|
block.plastanium-compressor.description = Produces plastanium from oil and titanium.
|
||||||
block.phase-weaver.description = Synthesizes phase fabric from radioactive thorium and sand. Requires massive amounts of power to function.
|
block.phase-weaver.description = Synthesizes phase fabric from radioactive thorium and sand. Requires massive amounts of power to function.
|
||||||
block.alloy-smelter.description = Combines titanium, lead, silicon and copper to produce surge alloy.
|
block.alloy-smelter.description = Combines titanium, lead, silicon and copper to produce surge alloy.
|
||||||
block.cryofluidmixer.description = Mixes water and fine titanium powder into cryofluid. Essential for thorium reactor usage.
|
block.cryofluid-mixer.description = Mixes water and fine titanium powder into cryofluid. Essential for thorium reactor usage.
|
||||||
block.blast-mixer.description = Crushes and mixes clusters of spores with pyratite to produce blast compound.
|
block.blast-mixer.description = Crushes and mixes clusters of spores with pyratite to produce blast compound.
|
||||||
block.pyratite-mixer.description = Mixes coal, lead and sand into highly flammable pyratite.
|
block.pyratite-mixer.description = Mixes coal, lead and sand into highly flammable pyratite.
|
||||||
block.melter.description = Melts down scrap into slag for further processing or usage in wave turrets.
|
block.melter.description = Melts down scrap into slag for further processing or usage in wave turrets.
|
||||||
|
|||||||
@@ -1043,7 +1043,7 @@ block.underflow-gate.name = Залішнi шлюз
|
|||||||
block.silicon-smelter.name = Крэмнявы плавільны завод
|
block.silicon-smelter.name = Крэмнявы плавільны завод
|
||||||
block.phase-weaver.name = Фазавы ткач
|
block.phase-weaver.name = Фазавы ткач
|
||||||
block.pulverizer.name = Здрабняльнік
|
block.pulverizer.name = Здрабняльнік
|
||||||
block.cryofluidmixer.name = Мешалка крыягеннай вадкасці
|
block.cryofluid-mixer.name = Мешалка крыягеннай вадкасці
|
||||||
block.melter.name = Плавільня
|
block.melter.name = Плавільня
|
||||||
block.incinerator.name = Мусарасжыгатель
|
block.incinerator.name = Мусарасжыгатель
|
||||||
block.spore-press.name = Споравы прэс
|
block.spore-press.name = Споравы прэс
|
||||||
@@ -1199,7 +1199,7 @@ block.kiln.description = выплавляемым пясок і свінец ў
|
|||||||
block.plastanium-compressor.description = Вырабляе пластан з нафты ды тытана.
|
block.plastanium-compressor.description = Вырабляе пластан з нафты ды тытана.
|
||||||
block.phase-weaver.description = Сінтэзуе фазавую тканіна з радыеактыўнага торыя і пяску. Патрабуецца вялікая колькасць энергіі для працы.
|
block.phase-weaver.description = Сінтэзуе фазавую тканіна з радыеактыўнага торыя і пяску. Патрабуецца вялікая колькасць энергіі для працы.
|
||||||
block.alloy-smelter.description = Аб'ядноўвае тытан, свінец, крэмній і медзь для вытворчасці кінэтычнага сплаву.
|
block.alloy-smelter.description = Аб'ядноўвае тытан, свінец, крэмній і медзь для вытворчасці кінэтычнага сплаву.
|
||||||
block.cryofluidmixer.description = змешваюцца ваду і дробны тытанавы парашок у криогеннную вадкасць. Неад'емная частка пры выкарыстання ториевого рэактара
|
block.cryofluid-mixer.description = змешваюцца ваду і дробны тытанавы парашок у криогеннную вадкасць. Неад'емная частка пры выкарыстання ториевого рэактара
|
||||||
block.blast-mixer.description = расціскаюць і змешвае навалы спрэчка з пиротитом для атрымання выбуховага рэчыва.
|
block.blast-mixer.description = расціскаюць і змешвае навалы спрэчка з пиротитом для атрымання выбуховага рэчыва.
|
||||||
block.pyratite-mixer.description = Змешвае вугаль, свінец і пясок у гаручы піратыт
|
block.pyratite-mixer.description = Змешвае вугаль, свінец і пясок у гаручы піратыт
|
||||||
block.melter.description = Плавіць металалом ў шлак для далейшай апрацоўкі або выкарыстання ў турэлях «Хваля».
|
block.melter.description = Плавіць металалом ў шлак для далейшай апрацоўкі або выкарыстання ў турэлях «Хваля».
|
||||||
|
|||||||
@@ -1047,7 +1047,7 @@ block.underflow-gate.name = Brána s podtokem
|
|||||||
block.silicon-smelter.name = Křemíková huť
|
block.silicon-smelter.name = Křemíková huť
|
||||||
block.phase-weaver.name = Tkalcovna pro fázovou tkaninu
|
block.phase-weaver.name = Tkalcovna pro fázovou tkaninu
|
||||||
block.pulverizer.name = Rozmělňovač
|
block.pulverizer.name = Rozmělňovač
|
||||||
block.cryofluidmixer.name = Míchačka na chladící kapalinu
|
block.cryofluid-mixer.name = Míchačka na chladící kapalinu
|
||||||
block.melter.name = Tavírna
|
block.melter.name = Tavírna
|
||||||
block.incinerator.name = Spalovna
|
block.incinerator.name = Spalovna
|
||||||
block.spore-press.name = Lis na spóry
|
block.spore-press.name = Lis na spóry
|
||||||
@@ -1204,7 +1204,7 @@ block.kiln.description = Taví písek a olovo na směs známou jako metasklo. Vy
|
|||||||
block.plastanium-compressor.description = Produkuje plastanu z titanu a nafty.
|
block.plastanium-compressor.description = Produkuje plastanu z titanu a nafty.
|
||||||
block.phase-weaver.description = Produkuje fázovou tkaninu z radioaktivního thoria a písku. Spotřebuje k tomu výrazné množství energie.
|
block.phase-weaver.description = Produkuje fázovou tkaninu z radioaktivního thoria a písku. Spotřebuje k tomu výrazné množství energie.
|
||||||
block.alloy-smelter.description = Produkuje rázovou slitinu z titanu, olova, křemíku a mědi.
|
block.alloy-smelter.description = Produkuje rázovou slitinu z titanu, olova, křemíku a mědi.
|
||||||
block.cryofluidmixer.description = Míchá vodu a jemný titanová prášek do chladící kapaliny, nezbytné například pro thoriový reaktor.
|
block.cryofluid-mixer.description = Míchá vodu a jemný titanová prášek do chladící kapaliny, nezbytné například pro thoriový reaktor.
|
||||||
block.blast-mixer.description = Drtí a míchá shluky spór s pyratitem, čímž vzniká výbušnina.
|
block.blast-mixer.description = Drtí a míchá shluky spór s pyratitem, čímž vzniká výbušnina.
|
||||||
block.pyratite-mixer.description = Míchá uhlí, olovo a písek do vysoce hořlavého pyratitu.
|
block.pyratite-mixer.description = Míchá uhlí, olovo a písek do vysoce hořlavého pyratitu.
|
||||||
block.melter.description = Taví šrot do roztaveného kovu pro další zpracování, nebo pro munici do střílny Vlna.
|
block.melter.description = Taví šrot do roztaveného kovu pro další zpracování, nebo pro munici do střílny Vlna.
|
||||||
|
|||||||
@@ -1043,7 +1043,7 @@ block.underflow-gate.name = Underflow Gate
|
|||||||
block.silicon-smelter.name = Silicon Smelter
|
block.silicon-smelter.name = Silicon Smelter
|
||||||
block.phase-weaver.name = Phase Weaver
|
block.phase-weaver.name = Phase Weaver
|
||||||
block.pulverizer.name = Pulverizer
|
block.pulverizer.name = Pulverizer
|
||||||
block.cryofluidmixer.name = Cryofluid Mixer
|
block.cryofluid-mixer.name = Cryofluid Mixer
|
||||||
block.melter.name = Melter
|
block.melter.name = Melter
|
||||||
block.incinerator.name = Incinerator
|
block.incinerator.name = Incinerator
|
||||||
block.spore-press.name = Spore Press
|
block.spore-press.name = Spore Press
|
||||||
@@ -1199,7 +1199,7 @@ block.kiln.description = Smelts sand and lead into the compound known as metagla
|
|||||||
block.plastanium-compressor.description = Produces plastanium from oil and titanium.
|
block.plastanium-compressor.description = Produces plastanium from oil and titanium.
|
||||||
block.phase-weaver.description = Synthesizes phase fabric from radioactive thorium and sand. Requires massive amounts of power to function.
|
block.phase-weaver.description = Synthesizes phase fabric from radioactive thorium and sand. Requires massive amounts of power to function.
|
||||||
block.alloy-smelter.description = Combines titanium, lead, silicon and copper to produce surge alloy.
|
block.alloy-smelter.description = Combines titanium, lead, silicon and copper to produce surge alloy.
|
||||||
block.cryofluidmixer.description = Mixes water and fine titanium powder into cryofluid. Essential for thorium reactor usage.
|
block.cryofluid-mixer.description = Mixes water and fine titanium powder into cryofluid. Essential for thorium reactor usage.
|
||||||
block.blast-mixer.description = Crushes and mixes clusters of spores with pyratite to produce blast compound.
|
block.blast-mixer.description = Crushes and mixes clusters of spores with pyratite to produce blast compound.
|
||||||
block.pyratite-mixer.description = Mixes coal, lead and sand into highly flammable pyratite.
|
block.pyratite-mixer.description = Mixes coal, lead and sand into highly flammable pyratite.
|
||||||
block.melter.description = Melts down scrap into slag for further processing or usage in wave turrets.
|
block.melter.description = Melts down scrap into slag for further processing or usage in wave turrets.
|
||||||
|
|||||||
@@ -1043,7 +1043,7 @@ block.underflow-gate.name = Unterlauftor
|
|||||||
block.silicon-smelter.name = Silizium-Schmelzer
|
block.silicon-smelter.name = Silizium-Schmelzer
|
||||||
block.phase-weaver.name = Phasenweber
|
block.phase-weaver.name = Phasenweber
|
||||||
block.pulverizer.name = Pulverisierer
|
block.pulverizer.name = Pulverisierer
|
||||||
block.cryofluidmixer.name = Kryoflüssigkeitsmixer
|
block.cryofluid-mixer.name = Kryoflüssigkeitsmixer
|
||||||
block.melter.name = Schmelzer
|
block.melter.name = Schmelzer
|
||||||
block.incinerator.name = Verbrennungsanlage
|
block.incinerator.name = Verbrennungsanlage
|
||||||
block.spore-press.name = Sporenpresse
|
block.spore-press.name = Sporenpresse
|
||||||
@@ -1199,7 +1199,7 @@ block.kiln.description = Schmelzt Sand und Blei zu Metaglass. Erfordert kleine M
|
|||||||
block.plastanium-compressor.description = Produziert Plastanium aus Öl und Titan.
|
block.plastanium-compressor.description = Produziert Plastanium aus Öl und Titan.
|
||||||
block.phase-weaver.description = Produziert Phasengewebe aus radioaktivem Thorium und großen Mengen an Sand.
|
block.phase-weaver.description = Produziert Phasengewebe aus radioaktivem Thorium und großen Mengen an Sand.
|
||||||
block.alloy-smelter.description = Verarbeitet Titan, Blei, Silizium und Kupfer zu einer Stromstoßlegierung.
|
block.alloy-smelter.description = Verarbeitet Titan, Blei, Silizium und Kupfer zu einer Stromstoßlegierung.
|
||||||
block.cryofluidmixer.description = Verarbeitet Wasser mit Titan zu einer Kryoflüssigkeit, die viel effizienter kühlt.
|
block.cryofluid-mixer.description = Verarbeitet Wasser mit Titan zu einer Kryoflüssigkeit, die viel effizienter kühlt.
|
||||||
block.blast-mixer.description = Verwendet Sporen, um Pyratit in eine weniger enzündliche aber explosive Mischung umzuwandeln.
|
block.blast-mixer.description = Verwendet Sporen, um Pyratit in eine weniger enzündliche aber explosive Mischung umzuwandeln.
|
||||||
block.pyratite-mixer.description = Vermischt Kohle, Blei und Sand zu hochentzündlichem Pyratit.
|
block.pyratite-mixer.description = Vermischt Kohle, Blei und Sand zu hochentzündlichem Pyratit.
|
||||||
block.melter.description = Erhitzt Schrott auf extrem hohe Temperaturen, um Lava zu erhalten.
|
block.melter.description = Erhitzt Schrott auf extrem hohe Temperaturen, um Lava zu erhalten.
|
||||||
|
|||||||
@@ -1043,7 +1043,7 @@ block.underflow-gate.name = Compuerta de Subdesbordamiento
|
|||||||
block.silicon-smelter.name = Horno para Silicio
|
block.silicon-smelter.name = Horno para Silicio
|
||||||
block.phase-weaver.name = Tejedor de Fase
|
block.phase-weaver.name = Tejedor de Fase
|
||||||
block.pulverizer.name = Pulverizador
|
block.pulverizer.name = Pulverizador
|
||||||
block.cryofluidmixer.name = Mezclador de Criogénicos
|
block.cryofluid-mixer.name = Mezclador de Criogénicos
|
||||||
block.melter.name = Fundidor
|
block.melter.name = Fundidor
|
||||||
block.incinerator.name = Incinerador
|
block.incinerator.name = Incinerador
|
||||||
block.spore-press.name = Prensa de Esporas
|
block.spore-press.name = Prensa de Esporas
|
||||||
@@ -1199,7 +1199,7 @@ block.kiln.description = Funde arena y plomo en metacristal. Requiere cantidades
|
|||||||
block.plastanium-compressor.description = Produce plastanio con aceite y titanio.
|
block.plastanium-compressor.description = Produce plastanio con aceite y titanio.
|
||||||
block.phase-weaver.description = Produce tejido de fase del torio radioactivo y altas cantidades de arena.
|
block.phase-weaver.description = Produce tejido de fase del torio radioactivo y altas cantidades de arena.
|
||||||
block.alloy-smelter.description = Produce aleación eléctrica con titanio, plomo, silicio y cobre.
|
block.alloy-smelter.description = Produce aleación eléctrica con titanio, plomo, silicio y cobre.
|
||||||
block.cryofluidmixer.description = Combina agua y titanio en líquido criogénico, que es mucho más eficiente para enfriar.
|
block.cryofluid-mixer.description = Combina agua y titanio en líquido criogénico, que es mucho más eficiente para enfriar.
|
||||||
block.blast-mixer.description = Usa aceite para transformar pirotita en un objeto menos inflamable pero más explosivo: el compuesto explosivo.
|
block.blast-mixer.description = Usa aceite para transformar pirotita en un objeto menos inflamable pero más explosivo: el compuesto explosivo.
|
||||||
block.pyratite-mixer.description = Mezcla carbón, plomo y arena en pirotita altamente inflamable.
|
block.pyratite-mixer.description = Mezcla carbón, plomo y arena en pirotita altamente inflamable.
|
||||||
block.melter.description = Calienta piedra a temperaturas muy altas para obtener lava.
|
block.melter.description = Calienta piedra a temperaturas muy altas para obtener lava.
|
||||||
|
|||||||
@@ -1043,7 +1043,7 @@ block.underflow-gate.name = Underflow Gate
|
|||||||
block.silicon-smelter.name = Ränisulatusahi
|
block.silicon-smelter.name = Ränisulatusahi
|
||||||
block.phase-weaver.name = Faaskangakuduja
|
block.phase-weaver.name = Faaskangakuduja
|
||||||
block.pulverizer.name = Metallijahvataja
|
block.pulverizer.name = Metallijahvataja
|
||||||
block.cryofluidmixer.name = Krüosegisti
|
block.cryofluid-mixer.name = Krüosegisti
|
||||||
block.melter.name = Metallisulataja
|
block.melter.name = Metallisulataja
|
||||||
block.incinerator.name = Tuhastusahi
|
block.incinerator.name = Tuhastusahi
|
||||||
block.spore-press.name = Spooripress
|
block.spore-press.name = Spooripress
|
||||||
@@ -1199,7 +1199,7 @@ block.kiln.description = Sulatab liiva ja plii metaklaasiks. Väike energiatarve
|
|||||||
block.plastanium-compressor.description = Toodab naftast ja titaanist plastiumit.
|
block.plastanium-compressor.description = Toodab naftast ja titaanist plastiumit.
|
||||||
block.phase-weaver.description = Sünteesib faaskangast radioaktiivsest tooriumist ja liivast. Tohutu energiatarve.
|
block.phase-weaver.description = Sünteesib faaskangast radioaktiivsest tooriumist ja liivast. Tohutu energiatarve.
|
||||||
block.alloy-smelter.description = Kombineerib titaaniumi, plii, räni ja vase voogsulamiks.
|
block.alloy-smelter.description = Kombineerib titaaniumi, plii, räni ja vase voogsulamiks.
|
||||||
block.cryofluidmixer.description = Toodab krüovedelikku, segades kokku vee ja peene titaanpulbri. Hädavajalik tooriumreaktori toimimiseks.
|
block.cryofluid-mixer.description = Toodab krüovedelikku, segades kokku vee ja peene titaanpulbri. Hädavajalik tooriumreaktori toimimiseks.
|
||||||
block.blast-mixer.description = Purustab spoorikobaraid ja segab neid püratiidiga, et toota lõhkeainet.
|
block.blast-mixer.description = Purustab spoorikobaraid ja segab neid püratiidiga, et toota lõhkeainet.
|
||||||
block.pyratite-mixer.description = Segab söe, plii ja liiva tuleohtlikuks püratiidiks.
|
block.pyratite-mixer.description = Segab söe, plii ja liiva tuleohtlikuks püratiidiks.
|
||||||
block.melter.description = Sulatab vanametalli räbuks, mida saab kas edasi töödelda või kasutada pritskahurites.
|
block.melter.description = Sulatab vanametalli räbuks, mida saab kas edasi töödelda või kasutada pritskahurites.
|
||||||
|
|||||||
@@ -1043,7 +1043,7 @@ block.underflow-gate.name = Underflow Gate
|
|||||||
block.silicon-smelter.name = Silizio galdategia
|
block.silicon-smelter.name = Silizio galdategia
|
||||||
block.phase-weaver.name = Fase ehulea
|
block.phase-weaver.name = Fase ehulea
|
||||||
block.pulverizer.name = Birringailua
|
block.pulverizer.name = Birringailua
|
||||||
block.cryofluidmixer.name = Krio-isurkari nahasgailua
|
block.cryofluid-mixer.name = Krio-isurkari nahasgailua
|
||||||
block.melter.name = Urtzailea
|
block.melter.name = Urtzailea
|
||||||
block.incinerator.name = Erraustegia
|
block.incinerator.name = Erraustegia
|
||||||
block.spore-press.name = Espora prentsa
|
block.spore-press.name = Espora prentsa
|
||||||
@@ -1199,7 +1199,7 @@ block.kiln.description = Hondarra eta beruna galdatzen ditu metabeira izeneko ko
|
|||||||
block.plastanium-compressor.description = Plastanioa ekoizten du olioa eta titanioa erabiliz.
|
block.plastanium-compressor.description = Plastanioa ekoizten du olioa eta titanioa erabiliz.
|
||||||
block.phase-weaver.description = Fasezko ehuna sintetizatzen du torio erradioaktiboa eta hondarra erabiliz. Energia kopurua handia behar du jarduteko.
|
block.phase-weaver.description = Fasezko ehuna sintetizatzen du torio erradioaktiboa eta hondarra erabiliz. Energia kopurua handia behar du jarduteko.
|
||||||
block.alloy-smelter.description = Titanioa, beruna, silizioa eta kobrea konbinatzen ditu tirain aleazioa ekoizteko.
|
block.alloy-smelter.description = Titanioa, beruna, silizioa eta kobrea konbinatzen ditu tirain aleazioa ekoizteko.
|
||||||
block.cryofluidmixer.description = Ura eta titanio hauts fina nahasten ditu krio-isurkia ekoizteko. Toriozko erreaktorea erabiltzeko ezinbestekoa.
|
block.cryofluid-mixer.description = Ura eta titanio hauts fina nahasten ditu krio-isurkia ekoizteko. Toriozko erreaktorea erabiltzeko ezinbestekoa.
|
||||||
block.blast-mixer.description = Espora sortak eta piratita txikitu eta nahasten ditu lehergai konposatua ekoizteko.
|
block.blast-mixer.description = Espora sortak eta piratita txikitu eta nahasten ditu lehergai konposatua ekoizteko.
|
||||||
block.pyratite-mixer.description = Ikatza, beruna, eta hondarra nahasten ditu oso sukoia den piratita sortuz.
|
block.pyratite-mixer.description = Ikatza, beruna, eta hondarra nahasten ditu oso sukoia den piratita sortuz.
|
||||||
block.melter.description = Metala zepara urtzen du, prozesatzen jarraitzeko edo olatu dorreetan erabiltzeko.
|
block.melter.description = Metala zepara urtzen du, prozesatzen jarraitzeko edo olatu dorreetan erabiltzeko.
|
||||||
|
|||||||
@@ -1043,7 +1043,7 @@ block.underflow-gate.name = Underflow Gate
|
|||||||
block.silicon-smelter.name = Silicon Smelter
|
block.silicon-smelter.name = Silicon Smelter
|
||||||
block.phase-weaver.name = Phase Weaver
|
block.phase-weaver.name = Phase Weaver
|
||||||
block.pulverizer.name = Pulverizer
|
block.pulverizer.name = Pulverizer
|
||||||
block.cryofluidmixer.name = Cryofluid Mixer
|
block.cryofluid-mixer.name = Cryofluid Mixer
|
||||||
block.melter.name = Melter
|
block.melter.name = Melter
|
||||||
block.incinerator.name = Incinerator
|
block.incinerator.name = Incinerator
|
||||||
block.spore-press.name = Spore Press
|
block.spore-press.name = Spore Press
|
||||||
@@ -1199,7 +1199,7 @@ block.kiln.description = Smelts sand and lead into the compound known as metagla
|
|||||||
block.plastanium-compressor.description = Produces plastanium from oil and titanium.
|
block.plastanium-compressor.description = Produces plastanium from oil and titanium.
|
||||||
block.phase-weaver.description = Synthesizes phase fabric from radioactive thorium and sand. Requires massive amounts of power to function.
|
block.phase-weaver.description = Synthesizes phase fabric from radioactive thorium and sand. Requires massive amounts of power to function.
|
||||||
block.alloy-smelter.description = Combines titanium, lead, silicon and copper to produce surge alloy.
|
block.alloy-smelter.description = Combines titanium, lead, silicon and copper to produce surge alloy.
|
||||||
block.cryofluidmixer.description = Mixes water and fine titanium powder into cryofluid. Essential for thorium reactor usage.
|
block.cryofluid-mixer.description = Mixes water and fine titanium powder into cryofluid. Essential for thorium reactor usage.
|
||||||
block.blast-mixer.description = Crushes and mixes clusters of spores with pyratite to produce blast compound.
|
block.blast-mixer.description = Crushes and mixes clusters of spores with pyratite to produce blast compound.
|
||||||
block.pyratite-mixer.description = Mixes coal, lead and sand into highly flammable pyratite.
|
block.pyratite-mixer.description = Mixes coal, lead and sand into highly flammable pyratite.
|
||||||
block.melter.description = Melts down scrap into slag for further processing or usage in wave turrets.
|
block.melter.description = Melts down scrap into slag for further processing or usage in wave turrets.
|
||||||
|
|||||||
@@ -1043,7 +1043,7 @@ block.underflow-gate.name = Underflow Gate
|
|||||||
block.silicon-smelter.name = Silicon Smelter
|
block.silicon-smelter.name = Silicon Smelter
|
||||||
block.phase-weaver.name = Phase Weaver
|
block.phase-weaver.name = Phase Weaver
|
||||||
block.pulverizer.name = Pulverizer
|
block.pulverizer.name = Pulverizer
|
||||||
block.cryofluidmixer.name = Cryofluid Mixer
|
block.cryofluid-mixer.name = Cryofluid Mixer
|
||||||
block.melter.name = Melter
|
block.melter.name = Melter
|
||||||
block.incinerator.name = Incinerator
|
block.incinerator.name = Incinerator
|
||||||
block.spore-press.name = Spore Press
|
block.spore-press.name = Spore Press
|
||||||
@@ -1199,7 +1199,7 @@ block.kiln.description = Smelts sand and lead into the compound known as metagla
|
|||||||
block.plastanium-compressor.description = Produces plastanium from oil and titanium.
|
block.plastanium-compressor.description = Produces plastanium from oil and titanium.
|
||||||
block.phase-weaver.description = Synthesizes phase fabric from radioactive thorium and sand. Requires massive amounts of power to function.
|
block.phase-weaver.description = Synthesizes phase fabric from radioactive thorium and sand. Requires massive amounts of power to function.
|
||||||
block.alloy-smelter.description = Combines titanium, lead, silicon and copper to produce surge alloy.
|
block.alloy-smelter.description = Combines titanium, lead, silicon and copper to produce surge alloy.
|
||||||
block.cryofluidmixer.description = Mixes water and fine titanium powder into cryofluid. Essential for thorium reactor usage.
|
block.cryofluid-mixer.description = Mixes water and fine titanium powder into cryofluid. Essential for thorium reactor usage.
|
||||||
block.blast-mixer.description = Crushes and mixes clusters of spores with pyratite to produce blast compound.
|
block.blast-mixer.description = Crushes and mixes clusters of spores with pyratite to produce blast compound.
|
||||||
block.pyratite-mixer.description = Mixes coal, lead and sand into highly flammable pyratite.
|
block.pyratite-mixer.description = Mixes coal, lead and sand into highly flammable pyratite.
|
||||||
block.melter.description = Melts down scrap into slag for further processing or usage in wave turrets.
|
block.melter.description = Melts down scrap into slag for further processing or usage in wave turrets.
|
||||||
|
|||||||
@@ -1043,7 +1043,7 @@ block.underflow-gate.name = Barrière de Refoulement
|
|||||||
block.silicon-smelter.name = Fonderie de Silicium
|
block.silicon-smelter.name = Fonderie de Silicium
|
||||||
block.phase-weaver.name = Tisseur à Phase
|
block.phase-weaver.name = Tisseur à Phase
|
||||||
block.pulverizer.name = Pulvérisateur
|
block.pulverizer.name = Pulvérisateur
|
||||||
block.cryofluidmixer.name = Refroidisseur
|
block.cryofluid-mixer.name = Refroidisseur
|
||||||
block.melter.name = Four à Fusion
|
block.melter.name = Four à Fusion
|
||||||
block.incinerator.name = Incinérateur
|
block.incinerator.name = Incinérateur
|
||||||
block.spore-press.name = Presse à Spore
|
block.spore-press.name = Presse à Spore
|
||||||
@@ -1199,7 +1199,7 @@ block.kiln.description = Fait fondre le sable et le plomb en verre trempé. Néc
|
|||||||
block.plastanium-compressor.description = Produit du plastanium à partir de pétrole et de titane.
|
block.plastanium-compressor.description = Produit du plastanium à partir de pétrole et de titane.
|
||||||
block.phase-weaver.description = Produit du tissu phasé à partir de thoriums et de grandes quantités de sable. Nécessite une quantité massive d'énergie pour fonctionner.
|
block.phase-weaver.description = Produit du tissu phasé à partir de thoriums et de grandes quantités de sable. Nécessite une quantité massive d'énergie pour fonctionner.
|
||||||
block.alloy-smelter.description = Produit un alliage superchargé à l'aide de titane, de plomb, de silicium et de cuivre.
|
block.alloy-smelter.description = Produit un alliage superchargé à l'aide de titane, de plomb, de silicium et de cuivre.
|
||||||
block.cryofluidmixer.description = Mélange de l’eau et de la fine poudre de titane pour former du liquide cryogénique. Indispensable lors de l'utilisation de réacteurs aux thoriums.
|
block.cryofluid-mixer.description = Mélange de l’eau et de la fine poudre de titane pour former du liquide cryogénique. Indispensable lors de l'utilisation de réacteurs aux thoriums.
|
||||||
block.blast-mixer.description = Écrase et mélange les amas de spores avec de la pyratite pour produire un mélange explosif.
|
block.blast-mixer.description = Écrase et mélange les amas de spores avec de la pyratite pour produire un mélange explosif.
|
||||||
block.pyratite-mixer.description = Mélange le charbon, le plomb et le sable en pyratite hautement inflammable.
|
block.pyratite-mixer.description = Mélange le charbon, le plomb et le sable en pyratite hautement inflammable.
|
||||||
block.melter.description = Fait fondre la ferraille en scories pour un traitement ultérieur ou une utilisation dans les tourelles « Onde ».
|
block.melter.description = Fait fondre la ferraille en scories pour un traitement ultérieur ou une utilisation dans les tourelles « Onde ».
|
||||||
|
|||||||
@@ -1043,7 +1043,7 @@ block.underflow-gate.name = Underflow Gate
|
|||||||
block.silicon-smelter.name = Fonderie de silicium
|
block.silicon-smelter.name = Fonderie de silicium
|
||||||
block.phase-weaver.name = Tisseur à phase
|
block.phase-weaver.name = Tisseur à phase
|
||||||
block.pulverizer.name = Pulvérisateur
|
block.pulverizer.name = Pulvérisateur
|
||||||
block.cryofluidmixer.name = Refroidisseur
|
block.cryofluid-mixer.name = Refroidisseur
|
||||||
block.melter.name = Four à Fusion
|
block.melter.name = Four à Fusion
|
||||||
block.incinerator.name = Incinérateur
|
block.incinerator.name = Incinérateur
|
||||||
block.spore-press.name = Spore presse
|
block.spore-press.name = Spore presse
|
||||||
@@ -1199,7 +1199,7 @@ block.kiln.description = Fait fondre le sable et le plomb en métaverre. Nécess
|
|||||||
block.plastanium-compressor.description = Produit du plastanium à partir de pétrole et de titane.
|
block.plastanium-compressor.description = Produit du plastanium à partir de pétrole et de titane.
|
||||||
block.phase-weaver.description = Produit un tissu de phase à partir de thorium radioactif et de grandes quantités de sable.
|
block.phase-weaver.description = Produit un tissu de phase à partir de thorium radioactif et de grandes quantités de sable.
|
||||||
block.alloy-smelter.description = Produit un alliage de surtension à partir de titane, plomb, silicium et cuivre.
|
block.alloy-smelter.description = Produit un alliage de surtension à partir de titane, plomb, silicium et cuivre.
|
||||||
block.cryofluidmixer.description = L'eau et le titane combinés forment un fluide cryo beaucoup plus efficace pour le refroidissement.
|
block.cryofluid-mixer.description = L'eau et le titane combinés forment un fluide cryo beaucoup plus efficace pour le refroidissement.
|
||||||
block.blast-mixer.description = Utilise du pétrole pour transformer la pyratite en un composé explosif moins inflammable mais plus explosif.
|
block.blast-mixer.description = Utilise du pétrole pour transformer la pyratite en un composé explosif moins inflammable mais plus explosif.
|
||||||
block.pyratite-mixer.description = Mélange le charbon, le plomb et le sable en pyratite hautement inflammable.
|
block.pyratite-mixer.description = Mélange le charbon, le plomb et le sable en pyratite hautement inflammable.
|
||||||
block.melter.description = Chauffe la pierre à des températures très élevées pour obtenir de la lave.
|
block.melter.description = Chauffe la pierre à des températures très élevées pour obtenir de la lave.
|
||||||
|
|||||||
@@ -1043,7 +1043,7 @@ block.underflow-gate.name = Underflow Gate
|
|||||||
block.silicon-smelter.name = Silicon Smelter
|
block.silicon-smelter.name = Silicon Smelter
|
||||||
block.phase-weaver.name = Phase Weaver
|
block.phase-weaver.name = Phase Weaver
|
||||||
block.pulverizer.name = Pulverizer
|
block.pulverizer.name = Pulverizer
|
||||||
block.cryofluidmixer.name = Cryofluid Mixer
|
block.cryofluid-mixer.name = Cryofluid Mixer
|
||||||
block.melter.name = Melter
|
block.melter.name = Melter
|
||||||
block.incinerator.name = Incinerator
|
block.incinerator.name = Incinerator
|
||||||
block.spore-press.name = Spore Press
|
block.spore-press.name = Spore Press
|
||||||
@@ -1199,7 +1199,7 @@ block.kiln.description = Smelts sand and lead into the compound known as metagla
|
|||||||
block.plastanium-compressor.description = Produces plastanium from oil and titanium.
|
block.plastanium-compressor.description = Produces plastanium from oil and titanium.
|
||||||
block.phase-weaver.description = Synthesizes phase fabric from radioactive thorium and sand. Requires massive amounts of power to function.
|
block.phase-weaver.description = Synthesizes phase fabric from radioactive thorium and sand. Requires massive amounts of power to function.
|
||||||
block.alloy-smelter.description = Combines titanium, lead, silicon and copper to produce surge alloy.
|
block.alloy-smelter.description = Combines titanium, lead, silicon and copper to produce surge alloy.
|
||||||
block.cryofluidmixer.description = Mixes water and fine titanium powder into cryofluid. Essential for thorium reactor usage.
|
block.cryofluid-mixer.description = Mixes water and fine titanium powder into cryofluid. Essential for thorium reactor usage.
|
||||||
block.blast-mixer.description = Crushes and mixes clusters of spores with pyratite to produce blast compound.
|
block.blast-mixer.description = Crushes and mixes clusters of spores with pyratite to produce blast compound.
|
||||||
block.pyratite-mixer.description = Mixes coal, lead and sand into highly flammable pyratite.
|
block.pyratite-mixer.description = Mixes coal, lead and sand into highly flammable pyratite.
|
||||||
block.melter.description = Melts down scrap into slag for further processing or usage in wave turrets.
|
block.melter.description = Melts down scrap into slag for further processing or usage in wave turrets.
|
||||||
|
|||||||
@@ -1043,7 +1043,7 @@ block.underflow-gate.name = Gerbang Tidak Meluap
|
|||||||
block.silicon-smelter.name = Pelebur Silikon
|
block.silicon-smelter.name = Pelebur Silikon
|
||||||
block.phase-weaver.name = Pengrajut Phase
|
block.phase-weaver.name = Pengrajut Phase
|
||||||
block.pulverizer.name = Pulverisator
|
block.pulverizer.name = Pulverisator
|
||||||
block.cryofluidmixer.name = Penyampur Cairan Dingin
|
block.cryofluid-mixer.name = Penyampur Cairan Dingin
|
||||||
block.melter.name = Pencair
|
block.melter.name = Pencair
|
||||||
block.incinerator.name = Penghangus
|
block.incinerator.name = Penghangus
|
||||||
block.spore-press.name = Penekan Spora
|
block.spore-press.name = Penekan Spora
|
||||||
@@ -1199,7 +1199,7 @@ block.kiln.description = Membakar pasir dan timah menjadi kaca meta. Membutuhkan
|
|||||||
block.plastanium-compressor.description = Memproduksi plastanium dari minyak dan titanium.
|
block.plastanium-compressor.description = Memproduksi plastanium dari minyak dan titanium.
|
||||||
block.phase-weaver.description = Memproduksi kain phase dari thorium dan banyak pasir.
|
block.phase-weaver.description = Memproduksi kain phase dari thorium dan banyak pasir.
|
||||||
block.alloy-smelter.description = Memproduksi campuran logam dari titanium, timah, silikon dan tembaga.
|
block.alloy-smelter.description = Memproduksi campuran logam dari titanium, timah, silikon dan tembaga.
|
||||||
block.cryofluidmixer.description = Mencampur air dan titanium menjadi cairan dingin yang lebih efisien untuk pendingin.
|
block.cryofluid-mixer.description = Mencampur air dan titanium menjadi cairan dingin yang lebih efisien untuk pendingin.
|
||||||
block.blast-mixer.description = Menggunakan minyak untuk membentuk pyratite menjadi senyawa peledak yang kurang mudah terbakar tetapi lebih eksplosif.
|
block.blast-mixer.description = Menggunakan minyak untuk membentuk pyratite menjadi senyawa peledak yang kurang mudah terbakar tetapi lebih eksplosif.
|
||||||
block.pyratite-mixer.description = Mencampur batu bara, timah dan pasir menjadi pyratite yang sangat mudah terbakar.
|
block.pyratite-mixer.description = Mencampur batu bara, timah dan pasir menjadi pyratite yang sangat mudah terbakar.
|
||||||
block.melter.description = Melelehkan kepingan menjadi terak untuk proses selanjutnya atau digunakan menara.
|
block.melter.description = Melelehkan kepingan menjadi terak untuk proses selanjutnya atau digunakan menara.
|
||||||
|
|||||||
@@ -1043,7 +1043,7 @@ block.underflow-gate.name = Separatore per Eccesso Inverso
|
|||||||
block.silicon-smelter.name = Fonderia
|
block.silicon-smelter.name = Fonderia
|
||||||
block.phase-weaver.name = Tessitore di Fase
|
block.phase-weaver.name = Tessitore di Fase
|
||||||
block.pulverizer.name = Polverizzatore
|
block.pulverizer.name = Polverizzatore
|
||||||
block.cryofluidmixer.name = Miscelatore di Liquidi
|
block.cryofluid-mixer.name = Miscelatore di Liquidi
|
||||||
block.melter.name = Fonditore
|
block.melter.name = Fonditore
|
||||||
block.incinerator.name = Inceneritore
|
block.incinerator.name = Inceneritore
|
||||||
block.spore-press.name = Pressa di Spore
|
block.spore-press.name = Pressa di Spore
|
||||||
@@ -1199,7 +1199,7 @@ block.kiln.description = Fonde la sabbia ed il piombo in vetro metallico. Richie
|
|||||||
block.plastanium-compressor.description = Produce plastanio da petrolio e titanio.
|
block.plastanium-compressor.description = Produce plastanio da petrolio e titanio.
|
||||||
block.phase-weaver.description = Produce tessuto di fase da torio radioattivo ed elevate quantità di sabbia.
|
block.phase-weaver.description = Produce tessuto di fase da torio radioattivo ed elevate quantità di sabbia.
|
||||||
block.alloy-smelter.description = Produce leghe di sovratensione da titanio, piombo, silicio e rame.
|
block.alloy-smelter.description = Produce leghe di sovratensione da titanio, piombo, silicio e rame.
|
||||||
block.cryofluidmixer.description = Combina acqua e titanio in criofluido che è molto più efficiente per il raffreddamento.
|
block.cryofluid-mixer.description = Combina acqua e titanio in criofluido che è molto più efficiente per il raffreddamento.
|
||||||
block.blast-mixer.description = Frantuma e mescola le spore con la pirite per produrre composto esplosivo.
|
block.blast-mixer.description = Frantuma e mescola le spore con la pirite per produrre composto esplosivo.
|
||||||
block.pyratite-mixer.description = Mescola carbone, piombo e sabbia in pirite altamente infiammabile.
|
block.pyratite-mixer.description = Mescola carbone, piombo e sabbia in pirite altamente infiammabile.
|
||||||
block.melter.description = Riscalda la pietra a temperature molto elevate per ottenere scoria liquida.
|
block.melter.description = Riscalda la pietra a temperature molto elevate per ottenere scoria liquida.
|
||||||
|
|||||||
@@ -1043,7 +1043,7 @@ block.underflow-gate.name = アンダーフローゲート
|
|||||||
block.silicon-smelter.name = シリコン溶鉱炉
|
block.silicon-smelter.name = シリコン溶鉱炉
|
||||||
block.phase-weaver.name = フェーズ織機
|
block.phase-weaver.name = フェーズ織機
|
||||||
block.pulverizer.name = 粉砕機
|
block.pulverizer.name = 粉砕機
|
||||||
block.cryofluidmixer.name = 冷却ミキサー
|
block.cryofluid-mixer.name = 冷却ミキサー
|
||||||
block.melter.name = 融合機
|
block.melter.name = 融合機
|
||||||
block.incinerator.name = 焼却炉
|
block.incinerator.name = 焼却炉
|
||||||
block.spore-press.name = 胞子圧縮機
|
block.spore-press.name = 胞子圧縮機
|
||||||
@@ -1199,7 +1199,7 @@ block.kiln.description = 砂と鉛を溶かしてメタガラスを生成しま
|
|||||||
block.plastanium-compressor.description = オイルとチタンからプラスタニウムを製造します。
|
block.plastanium-compressor.description = オイルとチタンからプラスタニウムを製造します。
|
||||||
block.phase-weaver.description = 放射性トリウムと多量の砂からフェーズファイバーを製造します。
|
block.phase-weaver.description = 放射性トリウムと多量の砂からフェーズファイバーを製造します。
|
||||||
block.alloy-smelter.description = チタンや鉛、シリコン、銅からサージ合金を製造します。
|
block.alloy-smelter.description = チタンや鉛、シリコン、銅からサージ合金を製造します。
|
||||||
block.cryofluidmixer.description = 水とチタンから冷却に効率的な冷却水を製造します。
|
block.cryofluid-mixer.description = 水とチタンから冷却に効率的な冷却水を製造します。
|
||||||
block.blast-mixer.description = 可燃性のピラタイトを石油を使用してさらに爆発性化合物にします。
|
block.blast-mixer.description = 可燃性のピラタイトを石油を使用してさらに爆発性化合物にします。
|
||||||
block.pyratite-mixer.description = 石炭、鉛、砂から燃えやすいピラタイトを製造します。
|
block.pyratite-mixer.description = 石炭、鉛、砂から燃えやすいピラタイトを製造します。
|
||||||
block.melter.description = 石を熱で溶かして溶岩を生成します。
|
block.melter.description = 石を熱で溶かして溶岩を生成します。
|
||||||
|
|||||||
@@ -1043,7 +1043,7 @@ block.underflow-gate.name = 불포화 필터
|
|||||||
block.silicon-smelter.name = 실리콘 제련소
|
block.silicon-smelter.name = 실리콘 제련소
|
||||||
block.phase-weaver.name = 메타 합성기
|
block.phase-weaver.name = 메타 합성기
|
||||||
block.pulverizer.name = 분쇄기
|
block.pulverizer.name = 분쇄기
|
||||||
block.cryofluidmixer.name = 냉각수 제조기
|
block.cryofluid-mixer.name = 냉각수 제조기
|
||||||
block.melter.name = 융해기
|
block.melter.name = 융해기
|
||||||
block.incinerator.name = 소각로
|
block.incinerator.name = 소각로
|
||||||
block.spore-press.name = 포자 압축기
|
block.spore-press.name = 포자 압축기
|
||||||
@@ -1199,7 +1199,7 @@ block.kiln.description = 모래를 제련하여 강화 유리라고 알려진
|
|||||||
block.plastanium-compressor.description = 석유와 티타늄으로 플라스터늄을 생산합니다.
|
block.plastanium-compressor.description = 석유와 티타늄으로 플라스터늄을 생산합니다.
|
||||||
block.phase-weaver.description = 방사성 토륨과 모래에서 메타를 합성합니다. 작동하려면 엄청난 양의 전력이 필요합니다.
|
block.phase-weaver.description = 방사성 토륨과 모래에서 메타를 합성합니다. 작동하려면 엄청난 양의 전력이 필요합니다.
|
||||||
block.alloy-smelter.description = 티타늄, 납, 실리콘, 구리를 결합하여 설금을 생산합니다.
|
block.alloy-smelter.description = 티타늄, 납, 실리콘, 구리를 결합하여 설금을 생산합니다.
|
||||||
block.cryofluidmixer.description = 물과 미세 티타늄 분말을 냉각수로 혼합합니다. 토륨 원자로 사용에 필수적입니다.
|
block.cryofluid-mixer.description = 물과 미세 티타늄 분말을 냉각수로 혼합합니다. 토륨 원자로 사용에 필수적입니다.
|
||||||
block.blast-mixer.description = 포자 클러스터를 파이라타이트와 분쇄하고 혼합하여 폭발물을 만듭니다.
|
block.blast-mixer.description = 포자 클러스터를 파이라타이트와 분쇄하고 혼합하여 폭발물을 만듭니다.
|
||||||
block.pyratite-mixer.description = 석탄, 납, 모래를 가연성이 높은 파이라타이트로 만듭니다.
|
block.pyratite-mixer.description = 석탄, 납, 모래를 가연성이 높은 파이라타이트로 만듭니다.
|
||||||
block.melter.description = 웨이브 포탑에서 추가 처리 또는 사용을 위해 고철을 광재로 녹입니다.
|
block.melter.description = 웨이브 포탑에서 추가 처리 또는 사용을 위해 고철을 광재로 녹입니다.
|
||||||
|
|||||||
@@ -1043,7 +1043,7 @@ block.underflow-gate.name = Neperpildymo Užtvara
|
|||||||
block.silicon-smelter.name = Silicio Lydykla
|
block.silicon-smelter.name = Silicio Lydykla
|
||||||
block.phase-weaver.name = Fazinė Audykla
|
block.phase-weaver.name = Fazinė Audykla
|
||||||
block.pulverizer.name = Pulverizatorius
|
block.pulverizer.name = Pulverizatorius
|
||||||
block.cryofluidmixer.name = Krio Skysčio Maišytojas
|
block.cryofluid-mixer.name = Krio Skysčio Maišytojas
|
||||||
block.melter.name = Lydytuvas
|
block.melter.name = Lydytuvas
|
||||||
block.incinerator.name = Deginimo krosnis
|
block.incinerator.name = Deginimo krosnis
|
||||||
block.spore-press.name = Sporų Presas
|
block.spore-press.name = Sporų Presas
|
||||||
@@ -1199,7 +1199,7 @@ block.kiln.description = Sulydo smėlį ir stiklą į junginį žinomą kaip met
|
|||||||
block.plastanium-compressor.description = Gamina plastaniumą iš naftos ir titano.
|
block.plastanium-compressor.description = Gamina plastaniumą iš naftos ir titano.
|
||||||
block.phase-weaver.description = Susintetina fazinį audinį iš radioaktyvaus torio ir smėlio. Veikimui reikalingas didžiulis kiekis energijos.
|
block.phase-weaver.description = Susintetina fazinį audinį iš radioaktyvaus torio ir smėlio. Veikimui reikalingas didžiulis kiekis energijos.
|
||||||
block.alloy-smelter.description = Sumaišo titaną, šviną, silicį ir varį į viršįtampį lydinį.
|
block.alloy-smelter.description = Sumaišo titaną, šviną, silicį ir varį į viršįtampį lydinį.
|
||||||
block.cryofluidmixer.description = Maišo vandenį ir smulkias titano dulkes į krio skystį. Būtinas torio reaktoriaus naudojimui.
|
block.cryofluid-mixer.description = Maišo vandenį ir smulkias titano dulkes į krio skystį. Būtinas torio reaktoriaus naudojimui.
|
||||||
block.blast-mixer.description = Susmulkina ir sumaišo sporas su piratitu ir pagamina sprogųjį junginį.
|
block.blast-mixer.description = Susmulkina ir sumaišo sporas su piratitu ir pagamina sprogųjį junginį.
|
||||||
block.pyratite-mixer.description = Sumaišo anglį, šviną ir smėlį į itin degų piratitą.
|
block.pyratite-mixer.description = Sumaišo anglį, šviną ir smėlį į itin degų piratitą.
|
||||||
block.melter.description = Išlydo metalo laužą į šlaką tolesniam apdorojimui arba naudojimui wave bokštuose.
|
block.melter.description = Išlydo metalo laužą į šlaką tolesniam apdorojimui arba naudojimui wave bokštuose.
|
||||||
|
|||||||
@@ -1043,7 +1043,7 @@ block.underflow-gate.name = Underflow Gate
|
|||||||
block.silicon-smelter.name = Siliciumsmelter
|
block.silicon-smelter.name = Siliciumsmelter
|
||||||
block.phase-weaver.name = Phase Weaver
|
block.phase-weaver.name = Phase Weaver
|
||||||
block.pulverizer.name = Vermorzelaar
|
block.pulverizer.name = Vermorzelaar
|
||||||
block.cryofluidmixer.name = Cryofluid Mixer
|
block.cryofluid-mixer.name = Cryofluid Mixer
|
||||||
block.melter.name = Smelter
|
block.melter.name = Smelter
|
||||||
block.incinerator.name = Verbrandingsoven
|
block.incinerator.name = Verbrandingsoven
|
||||||
block.spore-press.name = Schimmelpers
|
block.spore-press.name = Schimmelpers
|
||||||
@@ -1199,7 +1199,7 @@ block.kiln.description = Smelts sand and lead into metaglass. Requires small amo
|
|||||||
block.plastanium-compressor.description = Produces plastanium from oil and titanium.
|
block.plastanium-compressor.description = Produces plastanium from oil and titanium.
|
||||||
block.phase-weaver.description = Produces phase fabric from radioactive thorium and high amounts of sand.
|
block.phase-weaver.description = Produces phase fabric from radioactive thorium and high amounts of sand.
|
||||||
block.alloy-smelter.description = Produces surge alloy from titanium, lead, silicon and copper.
|
block.alloy-smelter.description = Produces surge alloy from titanium, lead, silicon and copper.
|
||||||
block.cryofluidmixer.description = Combines water and titanium into cryofluid which is much more efficient for cooling.
|
block.cryofluid-mixer.description = Combines water and titanium into cryofluid which is much more efficient for cooling.
|
||||||
block.blast-mixer.description = Uses oil for transforming pyratite into the less flammable but more explosive blast compound.
|
block.blast-mixer.description = Uses oil for transforming pyratite into the less flammable but more explosive blast compound.
|
||||||
block.pyratite-mixer.description = Mixes coal, lead and sand into highly flammable pyratite.
|
block.pyratite-mixer.description = Mixes coal, lead and sand into highly flammable pyratite.
|
||||||
block.melter.description = Melts down scrap into slag for further processing or usage in turrets.
|
block.melter.description = Melts down scrap into slag for further processing or usage in turrets.
|
||||||
|
|||||||
@@ -1043,7 +1043,7 @@ block.underflow-gate.name = Underflow Gate
|
|||||||
block.silicon-smelter.name = Silicon Smelter
|
block.silicon-smelter.name = Silicon Smelter
|
||||||
block.phase-weaver.name = Phase Weaver
|
block.phase-weaver.name = Phase Weaver
|
||||||
block.pulverizer.name = Pulverizer
|
block.pulverizer.name = Pulverizer
|
||||||
block.cryofluidmixer.name = Cryofluid Mixer
|
block.cryofluid-mixer.name = Cryofluid Mixer
|
||||||
block.melter.name = Melter
|
block.melter.name = Melter
|
||||||
block.incinerator.name = Incinerator
|
block.incinerator.name = Incinerator
|
||||||
block.spore-press.name = Spore Press
|
block.spore-press.name = Spore Press
|
||||||
@@ -1199,7 +1199,7 @@ block.kiln.description = Smelts sand and lead into metaglass. Requires small amo
|
|||||||
block.plastanium-compressor.description = Produces plastanium from oil and titanium.
|
block.plastanium-compressor.description = Produces plastanium from oil and titanium.
|
||||||
block.phase-weaver.description = Produces phase fabric from radioactive thorium and high amounts of sand.
|
block.phase-weaver.description = Produces phase fabric from radioactive thorium and high amounts of sand.
|
||||||
block.alloy-smelter.description = Produces surge alloy from titanium, lead, silicon and copper.
|
block.alloy-smelter.description = Produces surge alloy from titanium, lead, silicon and copper.
|
||||||
block.cryofluidmixer.description = Combines water and titanium into cryofluid which is much more efficient for cooling.
|
block.cryofluid-mixer.description = Combines water and titanium into cryofluid which is much more efficient for cooling.
|
||||||
block.blast-mixer.description = Uses oil for transforming pyratite into the less flammable but more explosive blast compound.
|
block.blast-mixer.description = Uses oil for transforming pyratite into the less flammable but more explosive blast compound.
|
||||||
block.pyratite-mixer.description = Mixes coal, lead and sand into highly flammable pyratite.
|
block.pyratite-mixer.description = Mixes coal, lead and sand into highly flammable pyratite.
|
||||||
block.melter.description = Melts down scrap into slag for further processing or usage in turrets.
|
block.melter.description = Melts down scrap into slag for further processing or usage in turrets.
|
||||||
|
|||||||
@@ -1043,7 +1043,7 @@ block.underflow-gate.name = Brama Niedomiaru
|
|||||||
block.silicon-smelter.name = Huta Krzemu
|
block.silicon-smelter.name = Huta Krzemu
|
||||||
block.phase-weaver.name = Fazowa Fabryka
|
block.phase-weaver.name = Fazowa Fabryka
|
||||||
block.pulverizer.name = Rozkruszacz
|
block.pulverizer.name = Rozkruszacz
|
||||||
block.cryofluidmixer.name = Mieszacz Lodocieczy
|
block.cryofluid-mixer.name = Mieszacz Lodocieczy
|
||||||
block.melter.name = Przetapiacz
|
block.melter.name = Przetapiacz
|
||||||
block.incinerator.name = Spalacz
|
block.incinerator.name = Spalacz
|
||||||
block.spore-press.name = Prasa Zarodników
|
block.spore-press.name = Prasa Zarodników
|
||||||
@@ -1199,7 +1199,7 @@ block.kiln.description = Stapia ołów i piasek na metaszkło. Wymaga małej ilo
|
|||||||
block.plastanium-compressor.description = Wytwarza plastan z oleju i tytanu.
|
block.plastanium-compressor.description = Wytwarza plastan z oleju i tytanu.
|
||||||
block.phase-weaver.description = Produkuje Włókna Fazowe z radioaktywnego toru i dużych ilości piasku.
|
block.phase-weaver.description = Produkuje Włókna Fazowe z radioaktywnego toru i dużych ilości piasku.
|
||||||
block.alloy-smelter.description = Produkuje stop Elektrum z tytanu, ołowiu, krzemu i miedzi.
|
block.alloy-smelter.description = Produkuje stop Elektrum z tytanu, ołowiu, krzemu i miedzi.
|
||||||
block.cryofluidmixer.description = Łączy wodę i tytan w lodociecz, który jest znacznie bardziej wydajny w chłodzeniu niż woda.
|
block.cryofluid-mixer.description = Łączy wodę i tytan w lodociecz, który jest znacznie bardziej wydajny w chłodzeniu niż woda.
|
||||||
block.blast-mixer.description = Kruszy i miesza skupiska zarodników z piratytem, tworząc związek wybuchowy.
|
block.blast-mixer.description = Kruszy i miesza skupiska zarodników z piratytem, tworząc związek wybuchowy.
|
||||||
block.pyratite-mixer.description = Miesza węgiel, ołów i piasek tworząc bardzo łatwopalny piratian.
|
block.pyratite-mixer.description = Miesza węgiel, ołów i piasek tworząc bardzo łatwopalny piratian.
|
||||||
block.melter.description = Przetapia złom na żużel do dalszego przetwarzania lub użycia w wieżyczkach
|
block.melter.description = Przetapia złom na żużel do dalszego przetwarzania lub użycia w wieżyczkach
|
||||||
|
|||||||
@@ -1043,7 +1043,7 @@ block.underflow-gate.name = Comporta invertida
|
|||||||
block.silicon-smelter.name = Fundidora de silicio
|
block.silicon-smelter.name = Fundidora de silicio
|
||||||
block.phase-weaver.name = Palheta de fase
|
block.phase-weaver.name = Palheta de fase
|
||||||
block.pulverizer.name = Pulverizador
|
block.pulverizer.name = Pulverizador
|
||||||
block.cryofluidmixer.name = Misturador de Crio Fluido
|
block.cryofluid-mixer.name = Misturador de Crio Fluido
|
||||||
block.melter.name = Aparelho de fusão
|
block.melter.name = Aparelho de fusão
|
||||||
block.incinerator.name = Incinerador
|
block.incinerator.name = Incinerador
|
||||||
block.spore-press.name = Prensa de Esporo
|
block.spore-press.name = Prensa de Esporo
|
||||||
@@ -1199,7 +1199,7 @@ block.kiln.description = Derrete chumbo e areia no composto conhecido como metav
|
|||||||
block.plastanium-compressor.description = Produz plastânio usando petróleo e titânio.
|
block.plastanium-compressor.description = Produz plastânio usando petróleo e titânio.
|
||||||
block.phase-weaver.description = Produz tecido de fase usando tório radioativo e areia. Requer massivas quantidades de energia para funcionar.
|
block.phase-weaver.description = Produz tecido de fase usando tório radioativo e areia. Requer massivas quantidades de energia para funcionar.
|
||||||
block.alloy-smelter.description = Combina titânio, chumbo, silicio e cobre para produzir liga de surto.
|
block.alloy-smelter.description = Combina titânio, chumbo, silicio e cobre para produzir liga de surto.
|
||||||
block.cryofluidmixer.description = Mistura água e pó fino de titânio para produzir criofluido. Essencial para o uso do reator a tório.
|
block.cryofluid-mixer.description = Mistura água e pó fino de titânio para produzir criofluido. Essencial para o uso do reator a tório.
|
||||||
block.blast-mixer.description = Quebra e mistura aglomerados de esporos com piratita para produzir composto de explosão.
|
block.blast-mixer.description = Quebra e mistura aglomerados de esporos com piratita para produzir composto de explosão.
|
||||||
block.pyratite-mixer.description = Mistura carvão, chumbo e areia em piratita altamente inflamável.
|
block.pyratite-mixer.description = Mistura carvão, chumbo e areia em piratita altamente inflamável.
|
||||||
block.melter.description = Derrete sucata em escória para processamento posterior ou uso em torretas.
|
block.melter.description = Derrete sucata em escória para processamento posterior ou uso em torretas.
|
||||||
|
|||||||
@@ -1043,7 +1043,7 @@ block.underflow-gate.name = Portão Desobrecarregado
|
|||||||
block.silicon-smelter.name = Fundidora de silicio
|
block.silicon-smelter.name = Fundidora de silicio
|
||||||
block.phase-weaver.name = Palheta de fase
|
block.phase-weaver.name = Palheta de fase
|
||||||
block.pulverizer.name = Pulverizador
|
block.pulverizer.name = Pulverizador
|
||||||
block.cryofluidmixer.name = Misturador de Crio Fluido
|
block.cryofluid-mixer.name = Misturador de Crio Fluido
|
||||||
block.melter.name = Aparelho de fusão
|
block.melter.name = Aparelho de fusão
|
||||||
block.incinerator.name = Incinerador
|
block.incinerator.name = Incinerador
|
||||||
block.spore-press.name = Prensa de Esporo
|
block.spore-press.name = Prensa de Esporo
|
||||||
@@ -1199,7 +1199,7 @@ block.kiln.description = Derrete chumbo e areia no composto conhecido como metav
|
|||||||
block.plastanium-compressor.description = Produz plastânio usando petróleo e titânio.
|
block.plastanium-compressor.description = Produz plastânio usando petróleo e titânio.
|
||||||
block.phase-weaver.description = Produz tecido de fase usando tório radioativo e areia. Requer massivas quantidades de energia para funcionar.
|
block.phase-weaver.description = Produz tecido de fase usando tório radioativo e areia. Requer massivas quantidades de energia para funcionar.
|
||||||
block.alloy-smelter.description = Combina titânio, chumbo, silicio e cobre para produzir liga de surto.
|
block.alloy-smelter.description = Combina titânio, chumbo, silicio e cobre para produzir liga de surto.
|
||||||
block.cryofluidmixer.description = Mistura água e pó fino de titânio para produzir criofluido. Essencial para o uso do reator a tório.
|
block.cryofluid-mixer.description = Mistura água e pó fino de titânio para produzir criofluido. Essencial para o uso do reator a tório.
|
||||||
block.blast-mixer.description = Quebra e mistura aglomerados de esporos com piratita para produzir composto de explosão.
|
block.blast-mixer.description = Quebra e mistura aglomerados de esporos com piratita para produzir composto de explosão.
|
||||||
block.pyratite-mixer.description = Mistura carvão, chumbo e areia em piratita altamente inflamável
|
block.pyratite-mixer.description = Mistura carvão, chumbo e areia em piratita altamente inflamável
|
||||||
block.melter.description = Derrete sucata em escória para processamento posterior ou uso em torretas.
|
block.melter.description = Derrete sucata em escória para processamento posterior ou uso em torretas.
|
||||||
|
|||||||
@@ -1043,7 +1043,7 @@ block.underflow-gate.name = Poartă de Subversare
|
|||||||
block.silicon-smelter.name = Topitor de Silicon
|
block.silicon-smelter.name = Topitor de Silicon
|
||||||
block.phase-weaver.name = Țesătorie de Fază
|
block.phase-weaver.name = Țesătorie de Fază
|
||||||
block.pulverizer.name = Pulverizator
|
block.pulverizer.name = Pulverizator
|
||||||
block.cryofluidmixer.name = Mixer de Criofluid
|
block.cryofluid-mixer.name = Mixer de Criofluid
|
||||||
block.melter.name = Topitor
|
block.melter.name = Topitor
|
||||||
block.incinerator.name = Incinerator
|
block.incinerator.name = Incinerator
|
||||||
block.spore-press.name = Presă de Spori
|
block.spore-press.name = Presă de Spori
|
||||||
@@ -1199,7 +1199,7 @@ block.kiln.description = Toarnă nisip și plumb în compusul numit metasticlă.
|
|||||||
block.plastanium-compressor.description = Produce plastaniu din petrol și titan.
|
block.plastanium-compressor.description = Produce plastaniu din petrol și titan.
|
||||||
block.phase-weaver.description = Sintetizează fibră-fază din toriu radioactiv și nisip. Necesită electricitate pt a funcționa.
|
block.phase-weaver.description = Sintetizează fibră-fază din toriu radioactiv și nisip. Necesită electricitate pt a funcționa.
|
||||||
block.alloy-smelter.description = Combină titan, plumb, silicon și cupru pt a produce supra aliaj.
|
block.alloy-smelter.description = Combină titan, plumb, silicon și cupru pt a produce supra aliaj.
|
||||||
block.cryofluidmixer.description = Amestecă apă și pudră fină de titan în criofluid. Esențial pt folosirea în reactoarele de toriu.
|
block.cryofluid-mixer.description = Amestecă apă și pudră fină de titan în criofluid. Esențial pt folosirea în reactoarele de toriu.
|
||||||
block.blast-mixer.description = Zdrobește și amestecă gramezi de spori cu piratită pt a produce un compus explozibil.
|
block.blast-mixer.description = Zdrobește și amestecă gramezi de spori cu piratită pt a produce un compus explozibil.
|
||||||
block.pyratite-mixer.description = Amestecă niște cărbune, plumb și nisip în inflamabila piratită.
|
block.pyratite-mixer.description = Amestecă niște cărbune, plumb și nisip în inflamabila piratită.
|
||||||
block.melter.description = Topește fierul vechi în zgură pt procesare ulterioară sau folosire în armele Wave.
|
block.melter.description = Topește fierul vechi în zgură pt procesare ulterioară sau folosire în armele Wave.
|
||||||
|
|||||||
@@ -1054,7 +1054,7 @@ block.underflow-gate.name = Избыточный шлюз
|
|||||||
block.silicon-smelter.name = Кремниевая плавильня
|
block.silicon-smelter.name = Кремниевая плавильня
|
||||||
block.phase-weaver.name = Фазовый ткач
|
block.phase-weaver.name = Фазовый ткач
|
||||||
block.pulverizer.name = Измельчитель
|
block.pulverizer.name = Измельчитель
|
||||||
block.cryofluidmixer.name = Мешалка криогенной жидкости
|
block.cryofluid-mixer.name = Мешалка криогенной жидкости
|
||||||
block.melter.name = Плавильня
|
block.melter.name = Плавильня
|
||||||
block.incinerator.name = Мусоросжигатель
|
block.incinerator.name = Мусоросжигатель
|
||||||
block.spore-press.name = Споровый пресс
|
block.spore-press.name = Споровый пресс
|
||||||
@@ -1211,7 +1211,7 @@ block.kiln.description = Выплавляет песок и свинец в со
|
|||||||
block.plastanium-compressor.description = Производит пластан из нефти и титана.
|
block.plastanium-compressor.description = Производит пластан из нефти и титана.
|
||||||
block.phase-weaver.description = Синтезирует фазовую ткань из радиоактивного тория и песка. Требуется огромное количество энергии для работы.
|
block.phase-weaver.description = Синтезирует фазовую ткань из радиоактивного тория и песка. Требуется огромное количество энергии для работы.
|
||||||
block.alloy-smelter.description = Объединяет титан, свинец, кремний и медь для производства кинетического сплава.
|
block.alloy-smelter.description = Объединяет титан, свинец, кремний и медь для производства кинетического сплава.
|
||||||
block.cryofluidmixer.description = Смешивает воду и мелкий титановый порошок в криогенную жидкость. Неотъемлемая часть при использования ториевого реактора
|
block.cryofluid-mixer.description = Смешивает воду и мелкий титановый порошок в криогенную жидкость. Неотъемлемая часть при использования ториевого реактора
|
||||||
block.blast-mixer.description = Раздавливает и смешивает скопления спор с пиротитом для получения взрывчатого вещества.
|
block.blast-mixer.description = Раздавливает и смешивает скопления спор с пиротитом для получения взрывчатого вещества.
|
||||||
block.pyratite-mixer.description = Смешивает уголь, свинец и песок в легковоспламеняющийся пиротит.
|
block.pyratite-mixer.description = Смешивает уголь, свинец и песок в легковоспламеняющийся пиротит.
|
||||||
block.melter.description = Плавит металлолом в шлак для дальнейшей обработки или использования в турелях «Волна».
|
block.melter.description = Плавит металлолом в шлак для дальнейшей обработки или использования в турелях «Волна».
|
||||||
|
|||||||
@@ -1043,7 +1043,7 @@ block.underflow-gate.name = Underflow Gate
|
|||||||
block.silicon-smelter.name = Kiselsmältare
|
block.silicon-smelter.name = Kiselsmältare
|
||||||
block.phase-weaver.name = Phase Weaver
|
block.phase-weaver.name = Phase Weaver
|
||||||
block.pulverizer.name = Pulveriserare
|
block.pulverizer.name = Pulveriserare
|
||||||
block.cryofluidmixer.name = Cryofluid Mixer
|
block.cryofluid-mixer.name = Cryofluid Mixer
|
||||||
block.melter.name = Smältare
|
block.melter.name = Smältare
|
||||||
block.incinerator.name = Förbrännare
|
block.incinerator.name = Förbrännare
|
||||||
block.spore-press.name = Spore Press
|
block.spore-press.name = Spore Press
|
||||||
@@ -1199,7 +1199,7 @@ block.kiln.description = Smelts sand and lead into the compound known as metagla
|
|||||||
block.plastanium-compressor.description = Produces plastanium from oil and titanium.
|
block.plastanium-compressor.description = Produces plastanium from oil and titanium.
|
||||||
block.phase-weaver.description = Synthesizes phase fabric from radioactive thorium and sand. Requires massive amounts of power to function.
|
block.phase-weaver.description = Synthesizes phase fabric from radioactive thorium and sand. Requires massive amounts of power to function.
|
||||||
block.alloy-smelter.description = Combines titanium, lead, silicon and copper to produce surge alloy.
|
block.alloy-smelter.description = Combines titanium, lead, silicon and copper to produce surge alloy.
|
||||||
block.cryofluidmixer.description = Mixes water and fine titanium powder into cryofluid. Essential for thorium reactor usage.
|
block.cryofluid-mixer.description = Mixes water and fine titanium powder into cryofluid. Essential for thorium reactor usage.
|
||||||
block.blast-mixer.description = Crushes and mixes clusters of spores with pyratite to produce blast compound.
|
block.blast-mixer.description = Crushes and mixes clusters of spores with pyratite to produce blast compound.
|
||||||
block.pyratite-mixer.description = Mixes coal, lead and sand into highly flammable pyratite.
|
block.pyratite-mixer.description = Mixes coal, lead and sand into highly flammable pyratite.
|
||||||
block.melter.description = Melts down scrap into slag for further processing or usage in wave turrets.
|
block.melter.description = Melts down scrap into slag for further processing or usage in wave turrets.
|
||||||
|
|||||||
@@ -1043,7 +1043,7 @@ block.underflow-gate.name = Underflow Gate
|
|||||||
block.silicon-smelter.name = เตาเผาซิลิกอน
|
block.silicon-smelter.name = เตาเผาซิลิกอน
|
||||||
block.phase-weaver.name = เครื่องทอใยเฟส
|
block.phase-weaver.name = เครื่องทอใยเฟส
|
||||||
block.pulverizer.name = เครื่องบด
|
block.pulverizer.name = เครื่องบด
|
||||||
block.cryofluidmixer.name = เครื่องผสมสารหล่อเย็น
|
block.cryofluid-mixer.name = เครื่องผสมสารหล่อเย็น
|
||||||
block.melter.name = เตาหลอม
|
block.melter.name = เตาหลอม
|
||||||
block.incinerator.name = เตาเผาขยะ
|
block.incinerator.name = เตาเผาขยะ
|
||||||
block.spore-press.name = เครื่องอัดสปอร์
|
block.spore-press.name = เครื่องอัดสปอร์
|
||||||
@@ -1199,7 +1199,7 @@ block.kiln.description = เผาทรายและตะกั่วเป
|
|||||||
block.plastanium-compressor.description = ผลิตพลาสตาเนี่ยมจากน้ำมันและไทเทเนี่ยม.
|
block.plastanium-compressor.description = ผลิตพลาสตาเนี่ยมจากน้ำมันและไทเทเนี่ยม.
|
||||||
block.phase-weaver.description = สังเคราะห์ใยเฟสจากทอเรี่ยมที่มีรังสีและทราย. จำเป็นต้องใช้พลังงานจำนวนมากจึงจะทำงานง.
|
block.phase-weaver.description = สังเคราะห์ใยเฟสจากทอเรี่ยมที่มีรังสีและทราย. จำเป็นต้องใช้พลังงานจำนวนมากจึงจะทำงานง.
|
||||||
block.alloy-smelter.description = ผสมไทเทเนี่ยม, ตะกั่ว, ซิลิก้อนและทองแดงเพื่อที่จะผลิตเซิร์จอัลลอย.
|
block.alloy-smelter.description = ผสมไทเทเนี่ยม, ตะกั่ว, ซิลิก้อนและทองแดงเพื่อที่จะผลิตเซิร์จอัลลอย.
|
||||||
block.cryofluidmixer.description = ผสมน้ำและผงไทเทเนี่ยมบริสุทธิ์เป็นไครโยฟลูอิด. สำคัญสำหรับเตาปฏิกรณ์ทอเรี่ยม.
|
block.cryofluid-mixer.description = ผสมน้ำและผงไทเทเนี่ยมบริสุทธิ์เป็นไครโยฟลูอิด. สำคัญสำหรับเตาปฏิกรณ์ทอเรี่ยม.
|
||||||
block.blast-mixer.description = บอและผสมสปอร์กับไพไรต์เพื่อผลิตสารประกอบระเบิด.
|
block.blast-mixer.description = บอและผสมสปอร์กับไพไรต์เพื่อผลิตสารประกอบระเบิด.
|
||||||
block.pyratite-mixer.description = ผสมถ่านหิน, ตะกั่วและทรายเข้าด้วยกันเป็นไฟไรต์ที่ติดไฟได้ง่าย.
|
block.pyratite-mixer.description = ผสมถ่านหิน, ตะกั่วและทรายเข้าด้วยกันเป็นไฟไรต์ที่ติดไฟได้ง่าย.
|
||||||
block.melter.description = หลอมเศษเหล็กเป็กกากแร่เพื่อใช้สำหรับกระบวนการต่อไปหรือใช้ในป้อมปืนเวฟ.
|
block.melter.description = หลอมเศษเหล็กเป็กกากแร่เพื่อใช้สำหรับกระบวนการต่อไปหรือใช้ในป้อมปืนเวฟ.
|
||||||
|
|||||||
@@ -1043,7 +1043,7 @@ block.underflow-gate.name = Underflow Gate
|
|||||||
block.silicon-smelter.name = Silikon eritici
|
block.silicon-smelter.name = Silikon eritici
|
||||||
block.phase-weaver.name = Dokumaci
|
block.phase-weaver.name = Dokumaci
|
||||||
block.pulverizer.name = pulvarizor
|
block.pulverizer.name = pulvarizor
|
||||||
block.cryofluidmixer.name = Cryosivisi karistiricisi
|
block.cryofluid-mixer.name = Cryosivisi karistiricisi
|
||||||
block.melter.name = eritici
|
block.melter.name = eritici
|
||||||
block.incinerator.name = isi firini
|
block.incinerator.name = isi firini
|
||||||
block.spore-press.name = Spore Press
|
block.spore-press.name = Spore Press
|
||||||
@@ -1199,7 +1199,7 @@ block.kiln.description = Smelts sand and lead into metaglass. Requires small amo
|
|||||||
block.plastanium-compressor.description = Produces plastanium from oil and titanium.
|
block.plastanium-compressor.description = Produces plastanium from oil and titanium.
|
||||||
block.phase-weaver.description = Produces phase fabric from radioactive thorium and high amounts of sand.
|
block.phase-weaver.description = Produces phase fabric from radioactive thorium and high amounts of sand.
|
||||||
block.alloy-smelter.description = Produces surge alloy from titanium, lead, silicon and copper.
|
block.alloy-smelter.description = Produces surge alloy from titanium, lead, silicon and copper.
|
||||||
block.cryofluidmixer.description = Combines water and titanium into cryofluid which is much more efficient for cooling.
|
block.cryofluid-mixer.description = Combines water and titanium into cryofluid which is much more efficient for cooling.
|
||||||
block.blast-mixer.description = Uses oil for transforming pyratite into the less flammable but more explosive blast compound.
|
block.blast-mixer.description = Uses oil for transforming pyratite into the less flammable but more explosive blast compound.
|
||||||
block.pyratite-mixer.description = Mixes coal, lead and sand into highly flammable pyratite.
|
block.pyratite-mixer.description = Mixes coal, lead and sand into highly flammable pyratite.
|
||||||
block.melter.description = Heats up stone to very high temperatures to obtain lava.
|
block.melter.description = Heats up stone to very high temperatures to obtain lava.
|
||||||
|
|||||||
@@ -1043,7 +1043,7 @@ block.underflow-gate.name = Underflow Gate
|
|||||||
block.silicon-smelter.name = Silikon Fırını
|
block.silicon-smelter.name = Silikon Fırını
|
||||||
block.phase-weaver.name = Faz Örücü
|
block.phase-weaver.name = Faz Örücü
|
||||||
block.pulverizer.name = Pulverizatör
|
block.pulverizer.name = Pulverizatör
|
||||||
block.cryofluidmixer.name = Kriyosıvı Mikseri
|
block.cryofluid-mixer.name = Kriyosıvı Mikseri
|
||||||
block.melter.name = Eritici
|
block.melter.name = Eritici
|
||||||
block.incinerator.name = Yakıcı
|
block.incinerator.name = Yakıcı
|
||||||
block.spore-press.name = Spor Presi
|
block.spore-press.name = Spor Presi
|
||||||
@@ -1199,7 +1199,7 @@ block.kiln.description = Kum ve kurşunu eritir ve metacam olarak bilinen malzem
|
|||||||
block.plastanium-compressor.description = Petrol ve titanyumdan plastanyum üretir.
|
block.plastanium-compressor.description = Petrol ve titanyumdan plastanyum üretir.
|
||||||
block.phase-weaver.description = Kum ve radyoaktif toryumdan faz örgüsü üretir. Çalışması için çok miktarda enerji gerekir.
|
block.phase-weaver.description = Kum ve radyoaktif toryumdan faz örgüsü üretir. Çalışması için çok miktarda enerji gerekir.
|
||||||
block.alloy-smelter.description = Akı alaşımı üretmek için titanyum, kurşun, silikon ve bakırı birleştirir.
|
block.alloy-smelter.description = Akı alaşımı üretmek için titanyum, kurşun, silikon ve bakırı birleştirir.
|
||||||
block.cryofluidmixer.description = Su ve titanyum tozunu karıştırıp kriyosıvı üretir. Toryum reaktörü kullanımı için gereklidir.
|
block.cryofluid-mixer.description = Su ve titanyum tozunu karıştırıp kriyosıvı üretir. Toryum reaktörü kullanımı için gereklidir.
|
||||||
block.blast-mixer.description = Patlayıcı bileşen üretmek için spor kapsüllerini pirratit ile ezer ve karıştırır.
|
block.blast-mixer.description = Patlayıcı bileşen üretmek için spor kapsüllerini pirratit ile ezer ve karıştırır.
|
||||||
block.pyratite-mixer.description = Kömür, kurşun ve kumu karıştırıp oldukça yanıcı olan pirratit üretir.
|
block.pyratite-mixer.description = Kömür, kurşun ve kumu karıştırıp oldukça yanıcı olan pirratit üretir.
|
||||||
block.melter.description = Wave taretlerinde kullanılması veya daha çok işlemesi için hurdayı eritip cürufa çevirir.
|
block.melter.description = Wave taretlerinde kullanılması veya daha çok işlemesi için hurdayı eritip cürufa çevirir.
|
||||||
|
|||||||
@@ -1043,7 +1043,7 @@ block.underflow-gate.name = Недостатній затвор
|
|||||||
block.silicon-smelter.name = Кремнієвий плавильний завод
|
block.silicon-smelter.name = Кремнієвий плавильний завод
|
||||||
block.phase-weaver.name = Фазовий ткач
|
block.phase-weaver.name = Фазовий ткач
|
||||||
block.pulverizer.name = Подрібнювач
|
block.pulverizer.name = Подрібнювач
|
||||||
block.cryofluidmixer.name = Змішувач кріогенної рідини
|
block.cryofluid-mixer.name = Змішувач кріогенної рідини
|
||||||
block.melter.name = Плавильня
|
block.melter.name = Плавильня
|
||||||
block.incinerator.name = Сміттєспалювальний завод
|
block.incinerator.name = Сміттєспалювальний завод
|
||||||
block.spore-press.name = Споровий прес
|
block.spore-press.name = Споровий прес
|
||||||
@@ -1199,7 +1199,7 @@ block.kiln.description = Виплавляє пісок та свинець у с
|
|||||||
block.plastanium-compressor.description = Виробляє пластаній із нафти та титану.
|
block.plastanium-compressor.description = Виробляє пластаній із нафти та титану.
|
||||||
block.phase-weaver.description = Синтезує фазову тканину з радіоактивного торію та піску. Для роботи потрібна велика кількість енергії.
|
block.phase-weaver.description = Синтезує фазову тканину з радіоактивного торію та піску. Для роботи потрібна велика кількість енергії.
|
||||||
block.alloy-smelter.description = Поєднує титан, свинець, кремній і мідь для отримання кінетичного сплаву.
|
block.alloy-smelter.description = Поєднує титан, свинець, кремній і мідь для отримання кінетичного сплаву.
|
||||||
block.cryofluidmixer.description = Змішує воду і дрібний порошок титану в кріогенну рідину. Основне використання в торієвому реактору.
|
block.cryofluid-mixer.description = Змішує воду і дрібний порошок титану в кріогенну рідину. Основне використання в торієвому реактору.
|
||||||
block.blast-mixer.description = Подрібнює і змішує скупчення спор із піротитом для отримання вибухової суміші.
|
block.blast-mixer.description = Подрібнює і змішує скупчення спор із піротитом для отримання вибухової суміші.
|
||||||
block.pyratite-mixer.description = Змішує вугілля, свинець та пісок у легкозаймистий піротит.
|
block.pyratite-mixer.description = Змішує вугілля, свинець та пісок у легкозаймистий піротит.
|
||||||
block.melter.description = Розплавляє брухт у шлак для подальшого перероблювання, або використання в баштах «Хвиля».
|
block.melter.description = Розплавляє брухт у шлак для подальшого перероблювання, або використання в баштах «Хвиля».
|
||||||
|
|||||||
@@ -1043,7 +1043,7 @@ block.underflow-gate.name = 反向溢流门
|
|||||||
block.silicon-smelter.name = 硅冶炼厂
|
block.silicon-smelter.name = 硅冶炼厂
|
||||||
block.phase-weaver.name = 相织物编织器
|
block.phase-weaver.name = 相织物编织器
|
||||||
block.pulverizer.name = 粉碎机
|
block.pulverizer.name = 粉碎机
|
||||||
block.cryofluidmixer.name = 冷冻液混合器
|
block.cryofluid-mixer.name = 冷冻液混合器
|
||||||
block.melter.name = 熔炉
|
block.melter.name = 熔炉
|
||||||
block.incinerator.name = 焚化炉
|
block.incinerator.name = 焚化炉
|
||||||
block.spore-press.name = 孢子压缩机
|
block.spore-press.name = 孢子压缩机
|
||||||
@@ -1199,7 +1199,7 @@ block.kiln.description = 将铅和沙子熔炼成钢化玻璃,需要少量电
|
|||||||
block.plastanium-compressor.description = 用石油和钛生产塑钢。
|
block.plastanium-compressor.description = 用石油和钛生产塑钢。
|
||||||
block.phase-weaver.description = 用放射性钍和大量沙子生产相织物。
|
block.phase-weaver.description = 用放射性钍和大量沙子生产相织物。
|
||||||
block.alloy-smelter.description = 用钛、铅、硅和铜生产巨浪合金。
|
block.alloy-smelter.description = 用钛、铅、硅和铜生产巨浪合金。
|
||||||
block.cryofluidmixer.description = 将水和细的钛粉混成冷却液。钍反应堆的必备之物。
|
block.cryofluid-mixer.description = 将水和细的钛粉混成冷却液。钍反应堆的必备之物。
|
||||||
block.blast-mixer.description = 用油料将硫转化为不易燃但更具爆炸性的爆炸化合物。
|
block.blast-mixer.description = 用油料将硫转化为不易燃但更具爆炸性的爆炸化合物。
|
||||||
block.pyratite-mixer.description = 将煤、铅和沙子混合成高度易燃的硫。
|
block.pyratite-mixer.description = 将煤、铅和沙子混合成高度易燃的硫。
|
||||||
block.melter.description = 将废料熔化成矿渣,以便进一步加工或用于炮塔弹药。
|
block.melter.description = 将废料熔化成矿渣,以便进一步加工或用于炮塔弹药。
|
||||||
|
|||||||
@@ -1043,7 +1043,7 @@ block.underflow-gate.name = 反向溢流器
|
|||||||
block.silicon-smelter.name = 煉矽廠
|
block.silicon-smelter.name = 煉矽廠
|
||||||
block.phase-weaver.name = 相織布編織器
|
block.phase-weaver.name = 相織布編織器
|
||||||
block.pulverizer.name = 粉碎機
|
block.pulverizer.name = 粉碎機
|
||||||
block.cryofluidmixer.name = 冷凍液混合器
|
block.cryofluid-mixer.name = 冷凍液混合器
|
||||||
block.melter.name = 熔爐
|
block.melter.name = 熔爐
|
||||||
block.incinerator.name = 焚化爐
|
block.incinerator.name = 焚化爐
|
||||||
block.spore-press.name = 孢子壓縮機
|
block.spore-press.name = 孢子壓縮機
|
||||||
@@ -1199,7 +1199,7 @@ block.kiln.description = 將沙子和鉛熔煉成鋼化玻璃。需要少量能
|
|||||||
block.plastanium-compressor.description = 將原油和鈦壓縮製造塑鋼。
|
block.plastanium-compressor.description = 將原油和鈦壓縮製造塑鋼。
|
||||||
block.phase-weaver.description = 使用放射性的釷和大量的沙子生產相織布。需要巨量能量。
|
block.phase-weaver.description = 使用放射性的釷和大量的沙子生產相織布。需要巨量能量。
|
||||||
block.alloy-smelter.description = 使用鈦、鉛、矽和銅以生產波動合金。
|
block.alloy-smelter.description = 使用鈦、鉛、矽和銅以生產波動合金。
|
||||||
block.cryofluidmixer.description = 混合水和研磨的鈦粉製造冷卻效率更高的冷凍液。對釷反應堆是必要的。
|
block.cryofluid-mixer.description = 混合水和研磨的鈦粉製造冷卻效率更高的冷凍液。對釷反應堆是必要的。
|
||||||
block.blast-mixer.description = 混合胞子碎塊將火焰彈變成比較不易燃但更具爆炸性的爆炸混合物。
|
block.blast-mixer.description = 混合胞子碎塊將火焰彈變成比較不易燃但更具爆炸性的爆炸混合物。
|
||||||
block.pyratite-mixer.description = 混合煤、鉛和沙子混合成為易燃的火焰彈。
|
block.pyratite-mixer.description = 混合煤、鉛和沙子混合成為易燃的火焰彈。
|
||||||
block.melter.description = 將廢料加熱到很高的溫度產生熔渣,用於進一步製程或波浪炮。
|
block.melter.description = 將廢料加熱到很高的溫度產生熔渣,用於進一步製程或波浪炮。
|
||||||
|
|||||||
@@ -94,3 +94,4 @@ The Slaylord
|
|||||||
ThePlayerA
|
ThePlayerA
|
||||||
YellOw139
|
YellOw139
|
||||||
PetrGasparik
|
PetrGasparik
|
||||||
|
LeoDog896
|
||||||
|
|||||||
@@ -62,7 +62,7 @@
|
|||||||
63674=plastanium-compressor|block-plastanium-compressor-medium
|
63674=plastanium-compressor|block-plastanium-compressor-medium
|
||||||
63673=phase-weaver|block-phase-weaver-medium
|
63673=phase-weaver|block-phase-weaver-medium
|
||||||
63672=alloy-smelter|block-alloy-smelter-medium
|
63672=alloy-smelter|block-alloy-smelter-medium
|
||||||
63671=cryofluidmixer|block-cryofluidmixer-medium
|
63671=cryofluid-mixer|block-cryofluid-mixer-medium
|
||||||
63670=blast-mixer|block-blast-mixer-medium
|
63670=blast-mixer|block-blast-mixer-medium
|
||||||
63669=pyratite-mixer|block-pyratite-mixer-medium
|
63669=pyratite-mixer|block-pyratite-mixer-medium
|
||||||
63668=melter|block-melter-medium
|
63668=melter|block-melter-medium
|
||||||
@@ -311,3 +311,5 @@
|
|||||||
63425=vela|unit-vela-medium
|
63425=vela|unit-vela-medium
|
||||||
63424=corvus|unit-corvus-medium
|
63424=corvus|unit-corvus-medium
|
||||||
63423=memory-bank|block-memory-bank-medium
|
63423=memory-bank|block-memory-bank-medium
|
||||||
|
63422=foreshadow|block-foreshadow-medium
|
||||||
|
63421=tsunami|block-tsunami-medium
|
||||||
|
|||||||
@@ -108,7 +108,6 @@ importPackage(Packages.mindustry.world.draw)
|
|||||||
importPackage(Packages.mindustry.world.meta)
|
importPackage(Packages.mindustry.world.meta)
|
||||||
importPackage(Packages.mindustry.world.meta.values)
|
importPackage(Packages.mindustry.world.meta.values)
|
||||||
importPackage(Packages.mindustry.world.modules)
|
importPackage(Packages.mindustry.world.modules)
|
||||||
importPackage(Packages.mindustry.world.producers)
|
|
||||||
const PlayerIpUnbanEvent = Packages.mindustry.game.EventType.PlayerIpUnbanEvent
|
const PlayerIpUnbanEvent = Packages.mindustry.game.EventType.PlayerIpUnbanEvent
|
||||||
const PlayerIpBanEvent = Packages.mindustry.game.EventType.PlayerIpBanEvent
|
const PlayerIpBanEvent = Packages.mindustry.game.EventType.PlayerIpBanEvent
|
||||||
const PlayerUnbanEvent = Packages.mindustry.game.EventType.PlayerUnbanEvent
|
const PlayerUnbanEvent = Packages.mindustry.game.EventType.PlayerUnbanEvent
|
||||||
@@ -118,6 +117,7 @@ const PlayerConnect = Packages.mindustry.game.EventType.PlayerConnect
|
|||||||
const PlayerJoin = Packages.mindustry.game.EventType.PlayerJoin
|
const PlayerJoin = Packages.mindustry.game.EventType.PlayerJoin
|
||||||
const UnitChangeEvent = Packages.mindustry.game.EventType.UnitChangeEvent
|
const UnitChangeEvent = Packages.mindustry.game.EventType.UnitChangeEvent
|
||||||
const UnitCreateEvent = Packages.mindustry.game.EventType.UnitCreateEvent
|
const UnitCreateEvent = Packages.mindustry.game.EventType.UnitCreateEvent
|
||||||
|
const UnitDrownEvent = Packages.mindustry.game.EventType.UnitDrownEvent
|
||||||
const UnitDestroyEvent = Packages.mindustry.game.EventType.UnitDestroyEvent
|
const UnitDestroyEvent = Packages.mindustry.game.EventType.UnitDestroyEvent
|
||||||
const BlockDestroyEvent = Packages.mindustry.game.EventType.BlockDestroyEvent
|
const BlockDestroyEvent = Packages.mindustry.game.EventType.BlockDestroyEvent
|
||||||
const BuildSelectEvent = Packages.mindustry.game.EventType.BuildSelectEvent
|
const BuildSelectEvent = Packages.mindustry.game.EventType.BuildSelectEvent
|
||||||
@@ -128,6 +128,7 @@ const UnlockEvent = Packages.mindustry.game.EventType.UnlockEvent
|
|||||||
const StateChangeEvent = Packages.mindustry.game.EventType.StateChangeEvent
|
const StateChangeEvent = Packages.mindustry.game.EventType.StateChangeEvent
|
||||||
const TileChangeEvent = Packages.mindustry.game.EventType.TileChangeEvent
|
const TileChangeEvent = Packages.mindustry.game.EventType.TileChangeEvent
|
||||||
const GameOverEvent = Packages.mindustry.game.EventType.GameOverEvent
|
const GameOverEvent = Packages.mindustry.game.EventType.GameOverEvent
|
||||||
|
const TapEvent = Packages.mindustry.game.EventType.TapEvent
|
||||||
const ConfigEvent = Packages.mindustry.game.EventType.ConfigEvent
|
const ConfigEvent = Packages.mindustry.game.EventType.ConfigEvent
|
||||||
const DepositEvent = Packages.mindustry.game.EventType.DepositEvent
|
const DepositEvent = Packages.mindustry.game.EventType.DepositEvent
|
||||||
const WithdrawEvent = Packages.mindustry.game.EventType.WithdrawEvent
|
const WithdrawEvent = Packages.mindustry.game.EventType.WithdrawEvent
|
||||||
|
|||||||
|
Before Width: | Height: | Size: 812 B After Width: | Height: | Size: 819 B |
|
Before Width: | Height: | Size: 968 KiB After Width: | Height: | Size: 917 KiB |
|
Before Width: | Height: | Size: 506 KiB After Width: | Height: | Size: 562 KiB |
|
Before Width: | Height: | Size: 189 KiB After Width: | Height: | Size: 185 KiB |
|
Before Width: | Height: | Size: 419 KiB After Width: | Height: | Size: 428 KiB |
|
Before Width: | Height: | Size: 1.4 MiB After Width: | Height: | Size: 1.4 MiB |
|
Before Width: | Height: | Size: 2.9 MiB After Width: | Height: | Size: 2.9 MiB |
|
Before Width: | Height: | Size: 190 KiB After Width: | Height: | Size: 186 KiB |
|
Before Width: | Height: | Size: 419 KiB After Width: | Height: | Size: 426 KiB |
|
Before Width: | Height: | Size: 1.4 MiB After Width: | Height: | Size: 1.4 MiB |
@@ -6,7 +6,7 @@ import arc.struct.*;
|
|||||||
import arc.util.*;
|
import arc.util.*;
|
||||||
import mindustry.world.*;
|
import mindustry.world.*;
|
||||||
|
|
||||||
import static mindustry.Vars.world;
|
import static mindustry.Vars.*;
|
||||||
|
|
||||||
public class Astar{
|
public class Astar{
|
||||||
public static final DistanceHeuristic manhattan = (x1, y1, x2, y2) -> Math.abs(x1 - x2) + Math.abs(y1 - y2);
|
public static final DistanceHeuristic manhattan = (x1, y1, x2, y2) -> Math.abs(x1 - x2) + Math.abs(y1 - y2);
|
||||||
|
|||||||
@@ -3,7 +3,6 @@ package mindustry.ai;
|
|||||||
import arc.*;
|
import arc.*;
|
||||||
import arc.math.*;
|
import arc.math.*;
|
||||||
import arc.struct.*;
|
import arc.struct.*;
|
||||||
import arc.util.ArcAnnotate.*;
|
|
||||||
import arc.util.*;
|
import arc.util.*;
|
||||||
import mindustry.ctype.*;
|
import mindustry.ctype.*;
|
||||||
import mindustry.game.*;
|
import mindustry.game.*;
|
||||||
@@ -17,7 +16,7 @@ import mindustry.world.meta.*;
|
|||||||
|
|
||||||
import java.io.*;
|
import java.io.*;
|
||||||
|
|
||||||
import static mindustry.Vars.tilesize;
|
import static mindustry.Vars.*;
|
||||||
|
|
||||||
public class BaseRegistry{
|
public class BaseRegistry{
|
||||||
public Seq<BasePart> cores = new Seq<>();
|
public Seq<BasePart> cores = new Seq<>();
|
||||||
|
|||||||
@@ -6,7 +6,7 @@ import arc.math.*;
|
|||||||
import arc.math.geom.*;
|
import arc.math.geom.*;
|
||||||
import arc.struct.EnumSet;
|
import arc.struct.EnumSet;
|
||||||
import arc.struct.*;
|
import arc.struct.*;
|
||||||
import arc.util.ArcAnnotate.*;
|
import arc.util.*;
|
||||||
import mindustry.content.*;
|
import mindustry.content.*;
|
||||||
import mindustry.game.EventType.*;
|
import mindustry.game.EventType.*;
|
||||||
import mindustry.game.*;
|
import mindustry.game.*;
|
||||||
@@ -220,7 +220,7 @@ public class BlockIndexer{
|
|||||||
|
|
||||||
public void notifyTileDamaged(Building entity){
|
public void notifyTileDamaged(Building entity){
|
||||||
if(damagedTiles[entity.team.id] == null){
|
if(damagedTiles[entity.team.id] == null){
|
||||||
damagedTiles[entity.team.id] = new ObjectSet<Building>();
|
damagedTiles[entity.team.id] = new ObjectSet<>();
|
||||||
}
|
}
|
||||||
|
|
||||||
damagedTiles[entity.team.id].add(entity);
|
damagedTiles[entity.team.id].add(entity);
|
||||||
|
|||||||
@@ -4,7 +4,6 @@ import arc.*;
|
|||||||
import arc.func.*;
|
import arc.func.*;
|
||||||
import arc.math.geom.*;
|
import arc.math.geom.*;
|
||||||
import arc.struct.*;
|
import arc.struct.*;
|
||||||
import arc.util.ArcAnnotate.*;
|
|
||||||
import arc.util.*;
|
import arc.util.*;
|
||||||
import arc.util.async.*;
|
import arc.util.async.*;
|
||||||
import mindustry.annotations.Annotations.*;
|
import mindustry.annotations.Annotations.*;
|
||||||
@@ -51,7 +50,7 @@ public class Pathfinder implements Runnable{
|
|||||||
(PathTile.solid(tile) ? 5 : 0),
|
(PathTile.solid(tile) ? 5 : 0),
|
||||||
|
|
||||||
//water
|
//water
|
||||||
(team, tile) -> PathTile.solid(tile) || !PathTile.liquid(tile) ? 200 : 2 + //TODO cannot go through blocks - pathfinding isn't great
|
(team, tile) -> PathTile.solid(tile) || !PathTile.liquid(tile) ? 200 : 2 +
|
||||||
(PathTile.nearGround(tile) || PathTile.nearSolid(tile) ? 14 : 0) +
|
(PathTile.nearGround(tile) || PathTile.nearSolid(tile) ? 14 : 0) +
|
||||||
(PathTile.deep(tile) ? -1 : 0) +
|
(PathTile.deep(tile) ? -1 : 0) +
|
||||||
(PathTile.damages(tile) ? 35 : 0)
|
(PathTile.damages(tile) ? 35 : 0)
|
||||||
@@ -103,7 +102,6 @@ public class Pathfinder implements Runnable{
|
|||||||
|
|
||||||
/** Packs a tile into its internal representation. */
|
/** Packs a tile into its internal representation. */
|
||||||
private int packTile(Tile tile){
|
private int packTile(Tile tile){
|
||||||
//TODO nearGround is just the inverse of nearLiquid?
|
|
||||||
boolean nearLiquid = false, nearSolid = false, nearGround = false;
|
boolean nearLiquid = false, nearSolid = false, nearGround = false;
|
||||||
|
|
||||||
for(int i = 0; i < 4; i++){
|
for(int i = 0; i < 4; i++){
|
||||||
@@ -188,6 +186,8 @@ public class Pathfinder implements Runnable{
|
|||||||
for(Flowfield data : threadList){
|
for(Flowfield data : threadList){
|
||||||
updateFrontier(data, maxUpdate / threadList.size);
|
updateFrontier(data, maxUpdate / threadList.size);
|
||||||
|
|
||||||
|
//TODO implement timeouts... or don't
|
||||||
|
/*
|
||||||
//remove flowfields that have 'timed out' so they can be garbage collected and no longer waste space
|
//remove flowfields that have 'timed out' so they can be garbage collected and no longer waste space
|
||||||
if(data.refreshRate > 0 && Time.timeSinceMillis(data.lastUpdateTime) > fieldTimeout){
|
if(data.refreshRate > 0 && Time.timeSinceMillis(data.lastUpdateTime) > fieldTimeout){
|
||||||
//make sure it doesn't get removed twice
|
//make sure it doesn't get removed twice
|
||||||
@@ -196,12 +196,11 @@ public class Pathfinder implements Runnable{
|
|||||||
Team team = data.team;
|
Team team = data.team;
|
||||||
|
|
||||||
Core.app.post(() -> {
|
Core.app.post(() -> {
|
||||||
//TODO ?????
|
|
||||||
//remove its used state
|
//remove its used state
|
||||||
//if(fieldMap[team.id] != null){
|
if(fieldMap[team.id] != null){
|
||||||
// fieldMap[team.id].remove(data.target);
|
fieldMap[team.id].remove(data.target);
|
||||||
// fieldMapUsed[team.id].remove(data.target);
|
fieldMapUsed[team.id].remove(data.target);
|
||||||
//}
|
}
|
||||||
//remove from main thread list
|
//remove from main thread list
|
||||||
mainList.remove(data);
|
mainList.remove(data);
|
||||||
});
|
});
|
||||||
@@ -210,7 +209,7 @@ public class Pathfinder implements Runnable{
|
|||||||
//remove from this thread list with a delay
|
//remove from this thread list with a delay
|
||||||
threadList.remove(data);
|
threadList.remove(data);
|
||||||
});
|
});
|
||||||
}
|
}*/
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
@@ -469,7 +468,7 @@ public class Pathfinder implements Runnable{
|
|||||||
/** search frontier, these are Pos objects */
|
/** search frontier, these are Pos objects */
|
||||||
IntQueue frontier = new IntQueue();
|
IntQueue frontier = new IntQueue();
|
||||||
/** all target positions; these positions have a cost of 0, and must be synchronized on! */
|
/** all target positions; these positions have a cost of 0, and must be synchronized on! */
|
||||||
IntSeq targets = new IntSeq();
|
final IntSeq targets = new IntSeq();
|
||||||
/** current search ID */
|
/** current search ID */
|
||||||
int search = 1;
|
int search = 1;
|
||||||
/** last updated time */
|
/** last updated time */
|
||||||
|
|||||||
@@ -1,26 +0,0 @@
|
|||||||
package mindustry.ai.formations.patterns;
|
|
||||||
|
|
||||||
import arc.math.geom.*;
|
|
||||||
import mindustry.ai.formations.*;
|
|
||||||
|
|
||||||
public class ArrowFormation extends FormationPattern{
|
|
||||||
//total triangular numbers
|
|
||||||
private static final int totalTris = 30;
|
|
||||||
//triangular number table
|
|
||||||
private static final int[] triTable = new int[totalTris];
|
|
||||||
|
|
||||||
//calculat triangular numbers
|
|
||||||
static{
|
|
||||||
int sum = 0;
|
|
||||||
for(int i = 0; i < totalTris; i++){
|
|
||||||
triTable[i] = sum;
|
|
||||||
sum += (i + 1);
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
@Override
|
|
||||||
public Vec3 calculateSlotLocation(Vec3 out, int slot){
|
|
||||||
//TODO
|
|
||||||
return out;
|
|
||||||
}
|
|
||||||
}
|
|
||||||
@@ -1,7 +1,7 @@
|
|||||||
package mindustry.ai.types;
|
package mindustry.ai.types;
|
||||||
|
|
||||||
import arc.struct.*;
|
import arc.struct.*;
|
||||||
import arc.util.ArcAnnotate.*;
|
import arc.util.*;
|
||||||
import mindustry.entities.*;
|
import mindustry.entities.*;
|
||||||
import mindustry.entities.units.*;
|
import mindustry.entities.units.*;
|
||||||
import mindustry.game.Teams.*;
|
import mindustry.game.Teams.*;
|
||||||
@@ -87,8 +87,8 @@ public class BuilderAI extends AIController{
|
|||||||
}
|
}
|
||||||
|
|
||||||
//find new request
|
//find new request
|
||||||
if(!unit.team().data().blocks.isEmpty() && following == null && timer.get(timerTarget3, 60 * 2f)){
|
if(!unit.team.data().blocks.isEmpty() && following == null && timer.get(timerTarget3, 60 * 2f)){
|
||||||
Queue<BlockPlan> blocks = unit.team().data().blocks;
|
Queue<BlockPlan> blocks = unit.team.data().blocks;
|
||||||
BlockPlan block = blocks.first();
|
BlockPlan block = blocks.first();
|
||||||
|
|
||||||
//check if it's already been placed
|
//check if it's already been placed
|
||||||
|
|||||||
@@ -2,7 +2,7 @@ package mindustry.ai.types;
|
|||||||
|
|
||||||
import arc.math.*;
|
import arc.math.*;
|
||||||
import arc.math.geom.*;
|
import arc.math.geom.*;
|
||||||
import arc.util.ArcAnnotate.*;
|
import arc.util.*;
|
||||||
import mindustry.ai.formations.*;
|
import mindustry.ai.formations.*;
|
||||||
import mindustry.entities.units.*;
|
import mindustry.entities.units.*;
|
||||||
import mindustry.gen.*;
|
import mindustry.gen.*;
|
||||||
|
|||||||
@@ -7,7 +7,7 @@ import mindustry.game.EventType.*;
|
|||||||
|
|
||||||
import java.util.concurrent.*;
|
import java.util.concurrent.*;
|
||||||
|
|
||||||
import static mindustry.Vars.state;
|
import static mindustry.Vars.*;
|
||||||
|
|
||||||
public class AsyncCore{
|
public class AsyncCore{
|
||||||
//all processes to be executed each frame
|
//all processes to be executed each frame
|
||||||
|
|||||||
@@ -5,8 +5,8 @@ import arc.math.geom.*;
|
|||||||
import arc.math.geom.QuadTree.*;
|
import arc.math.geom.QuadTree.*;
|
||||||
import arc.struct.*;
|
import arc.struct.*;
|
||||||
import mindustry.*;
|
import mindustry.*;
|
||||||
import mindustry.entities.*;
|
|
||||||
import mindustry.async.PhysicsProcess.PhysicsWorld.*;
|
import mindustry.async.PhysicsProcess.PhysicsWorld.*;
|
||||||
|
import mindustry.entities.*;
|
||||||
import mindustry.gen.*;
|
import mindustry.gen.*;
|
||||||
|
|
||||||
public class PhysicsProcess implements AsyncProcess{
|
public class PhysicsProcess implements AsyncProcess{
|
||||||
|
|||||||
@@ -30,11 +30,11 @@ public class TeamIndexProcess implements AsyncProcess{
|
|||||||
}
|
}
|
||||||
|
|
||||||
public void updateCount(Team team, UnitType type, int amount){
|
public void updateCount(Team team, UnitType type, int amount){
|
||||||
counts[team.id] += amount;
|
counts[team.id] = Math.max(amount + counts[team.id], 0);
|
||||||
if(typeCounts[team.id].length <= type.id){
|
if(typeCounts[team.id].length <= type.id){
|
||||||
typeCounts[team.id] = new int[Vars.content.units().size];
|
typeCounts[team.id] = new int[Vars.content.units().size];
|
||||||
}
|
}
|
||||||
typeCounts[team.id][type.id] += amount;
|
typeCounts[team.id][type.id] = Math.max(amount + typeCounts[team.id][type.id], 0);
|
||||||
}
|
}
|
||||||
|
|
||||||
private void count(Unit unit){
|
private void count(Unit unit){
|
||||||
|
|||||||
@@ -2,9 +2,9 @@ package mindustry.audio;
|
|||||||
|
|
||||||
import arc.*;
|
import arc.*;
|
||||||
import arc.audio.*;
|
import arc.audio.*;
|
||||||
import arc.struct.*;
|
|
||||||
import arc.math.*;
|
import arc.math.*;
|
||||||
import arc.math.geom.*;
|
import arc.math.geom.*;
|
||||||
|
import arc.struct.*;
|
||||||
import mindustry.*;
|
import mindustry.*;
|
||||||
|
|
||||||
public class LoopControl{
|
public class LoopControl{
|
||||||
|
|||||||
@@ -4,7 +4,6 @@ import arc.*;
|
|||||||
import arc.audio.*;
|
import arc.audio.*;
|
||||||
import arc.math.*;
|
import arc.math.*;
|
||||||
import arc.struct.*;
|
import arc.struct.*;
|
||||||
import arc.util.ArcAnnotate.*;
|
|
||||||
import arc.util.*;
|
import arc.util.*;
|
||||||
import mindustry.game.EventType.*;
|
import mindustry.game.EventType.*;
|
||||||
import mindustry.gen.*;
|
import mindustry.gen.*;
|
||||||
|
|||||||
@@ -74,7 +74,7 @@ public class Blocks implements ContentList{
|
|||||||
coreShard, coreFoundation, coreNucleus, vault, container, unloader,
|
coreShard, coreFoundation, coreNucleus, vault, container, unloader,
|
||||||
|
|
||||||
//turrets
|
//turrets
|
||||||
duo, scatter, scorch, hail, arc, wave, lancer, swarmer, salvo, fuse, ripple, cyclone, spectre, meltdown, segment, parallax,
|
duo, scatter, scorch, hail, arc, wave, lancer, swarmer, salvo, fuse, ripple, cyclone, foreshadow, spectre, meltdown, segment, parallax, tsunami,
|
||||||
|
|
||||||
//units
|
//units
|
||||||
commandCenter,
|
commandCenter,
|
||||||
@@ -594,7 +594,7 @@ public class Blocks implements ContentList{
|
|||||||
consumes.items(new ItemStack(Items.copper, 3), new ItemStack(Items.lead, 4), new ItemStack(Items.titanium, 2), new ItemStack(Items.silicon, 3));
|
consumes.items(new ItemStack(Items.copper, 3), new ItemStack(Items.lead, 4), new ItemStack(Items.titanium, 2), new ItemStack(Items.silicon, 3));
|
||||||
}};
|
}};
|
||||||
|
|
||||||
cryofluidMixer = new LiquidConverter("cryofluidmixer"){{
|
cryofluidMixer = new LiquidConverter("cryofluid-mixer"){{
|
||||||
requirements(Category.crafting, with(Items.lead, 65, Items.silicon, 40, Items.titanium, 60));
|
requirements(Category.crafting, with(Items.lead, 65, Items.silicon, 40, Items.titanium, 60));
|
||||||
outputLiquid = new LiquidStack(Liquids.cryofluid, 0.2f);
|
outputLiquid = new LiquidStack(Liquids.cryofluid, 0.2f);
|
||||||
craftTime = 120f;
|
craftTime = 120f;
|
||||||
@@ -757,14 +757,14 @@ public class Blocks implements ContentList{
|
|||||||
|
|
||||||
plastaniumWall = new Wall("plastanium-wall"){{
|
plastaniumWall = new Wall("plastanium-wall"){{
|
||||||
requirements(Category.defense, with(Items.plastanium, 5, Items.metaglass, 2));
|
requirements(Category.defense, with(Items.plastanium, 5, Items.metaglass, 2));
|
||||||
health = 190 * wallHealthMultiplier;
|
health = 130 * wallHealthMultiplier;
|
||||||
insulated = true;
|
insulated = true;
|
||||||
absorbLasers = true;
|
absorbLasers = true;
|
||||||
}};
|
}};
|
||||||
|
|
||||||
plastaniumWallLarge = new Wall("plastanium-wall-large"){{
|
plastaniumWallLarge = new Wall("plastanium-wall-large"){{
|
||||||
requirements(Category.defense, ItemStack.mult(plastaniumWall.requirements, 4));
|
requirements(Category.defense, ItemStack.mult(plastaniumWall.requirements, 4));
|
||||||
health = 190 * wallHealthMultiplier * 4;
|
health = 130 * wallHealthMultiplier * 4;
|
||||||
size = 2;
|
size = 2;
|
||||||
insulated = true;
|
insulated = true;
|
||||||
absorbLasers = true;
|
absorbLasers = true;
|
||||||
@@ -947,7 +947,7 @@ public class Blocks implements ContentList{
|
|||||||
requirements(Category.distribution, with(Items.plastanium, 1, Items.thorium, 1, Items.metaglass, 1));
|
requirements(Category.distribution, with(Items.plastanium, 1, Items.thorium, 1, Items.metaglass, 1));
|
||||||
health = 180;
|
health = 180;
|
||||||
speed = 0.08f;
|
speed = 0.08f;
|
||||||
displayedSpeed = 10f;
|
displayedSpeed = 11f;
|
||||||
}};
|
}};
|
||||||
|
|
||||||
junction = new Junction("junction"){{
|
junction = new Junction("junction"){{
|
||||||
@@ -1350,17 +1350,20 @@ public class Blocks implements ContentList{
|
|||||||
requirements(Category.effect, with(Items.titanium, 250, Items.thorium, 125));
|
requirements(Category.effect, with(Items.titanium, 250, Items.thorium, 125));
|
||||||
size = 3;
|
size = 3;
|
||||||
itemCapacity = 1000;
|
itemCapacity = 1000;
|
||||||
|
group = BlockGroup.storage;
|
||||||
}};
|
}};
|
||||||
|
|
||||||
container = new StorageBlock("container"){{
|
container = new StorageBlock("container"){{
|
||||||
requirements(Category.effect, with(Items.titanium, 100));
|
requirements(Category.effect, with(Items.titanium, 100));
|
||||||
size = 2;
|
size = 2;
|
||||||
itemCapacity = 300;
|
itemCapacity = 300;
|
||||||
|
group = BlockGroup.storage;
|
||||||
}};
|
}};
|
||||||
|
|
||||||
unloader = new Unloader("unloader"){{
|
unloader = new Unloader("unloader"){{
|
||||||
requirements(Category.effect, with(Items.titanium, 25, Items.silicon, 30));
|
requirements(Category.effect, with(Items.titanium, 25, Items.silicon, 30));
|
||||||
speed = 6f;
|
speed = 6f;
|
||||||
|
group = BlockGroup.transportation;
|
||||||
}};
|
}};
|
||||||
|
|
||||||
//endregion
|
//endregion
|
||||||
@@ -1526,7 +1529,7 @@ public class Blocks implements ContentList{
|
|||||||
force = 4.5f;
|
force = 4.5f;
|
||||||
scaledForce = 5.5f;
|
scaledForce = 5.5f;
|
||||||
range = 110f;
|
range = 110f;
|
||||||
damage = 0.1f;
|
damage = 0.4f;
|
||||||
health = 160 * size * size;
|
health = 160 * size * size;
|
||||||
rotateSpeed = 10;
|
rotateSpeed = 10;
|
||||||
|
|
||||||
@@ -1580,13 +1583,37 @@ public class Blocks implements ContentList{
|
|||||||
requirements(Category.turret, with(Items.silicon, 130, Items.thorium, 80, Items.phasefabric, 40));
|
requirements(Category.turret, with(Items.silicon, 130, Items.thorium, 80, Items.phasefabric, 40));
|
||||||
|
|
||||||
health = 250 * size * size;
|
health = 250 * size * size;
|
||||||
range = 140f;
|
range = 160f;
|
||||||
hasPower = true;
|
hasPower = true;
|
||||||
consumes.power(8f);
|
consumes.powerCond(8f, (PointDefenseBuild b) -> b.target != null);
|
||||||
size = 2;
|
size = 2;
|
||||||
shootLength = 5f;
|
shootLength = 5f;
|
||||||
bulletDamage = 25f;
|
bulletDamage = 25f;
|
||||||
reloadTime = 10f;
|
reloadTime = 9f;
|
||||||
|
}};
|
||||||
|
|
||||||
|
tsunami = new LiquidTurret("tsunami"){{
|
||||||
|
requirements(Category.turret, with(Items.metaglass, 100, Items.lead, 400, Items.titanium, 250, Items.thorium, 100));
|
||||||
|
ammo(
|
||||||
|
Liquids.water, Bullets.heavyWaterShot,
|
||||||
|
Liquids.slag, Bullets.heavySlagShot,
|
||||||
|
Liquids.cryofluid, Bullets.heavyCryoShot,
|
||||||
|
Liquids.oil, Bullets.heavyOilShot
|
||||||
|
);
|
||||||
|
size = 3;
|
||||||
|
recoilAmount = 0f;
|
||||||
|
reloadTime = 2f;
|
||||||
|
shots = 2;
|
||||||
|
velocityInaccuracy = 0.1f;
|
||||||
|
inaccuracy = 4f;
|
||||||
|
recoilAmount = 1f;
|
||||||
|
restitution = 0.04f;
|
||||||
|
shootCone = 45f;
|
||||||
|
liquidCapacity = 40f;
|
||||||
|
shootEffect = Fx.shootLiquid;
|
||||||
|
range = 190f;
|
||||||
|
health = 250 * size * size;
|
||||||
|
shootSound = Sounds.splash;
|
||||||
}};
|
}};
|
||||||
|
|
||||||
fuse = new ItemTurret("fuse"){{
|
fuse = new ItemTurret("fuse"){{
|
||||||
@@ -1665,6 +1692,48 @@ public class Blocks implements ContentList{
|
|||||||
health = 145 * size * size;
|
health = 145 * size * size;
|
||||||
}};
|
}};
|
||||||
|
|
||||||
|
foreshadow = new ItemTurret("foreshadow"){{
|
||||||
|
float brange = range = 500f;
|
||||||
|
|
||||||
|
requirements(Category.turret, with(Items.copper, 1000, Items.metaglass, 600, Items.surgealloy, 300, Items.plastanium, 200, Items.silicon, 600));
|
||||||
|
ammo(
|
||||||
|
Items.surgealloy, new PointBulletType(){{
|
||||||
|
shootEffect = Fx.instShoot;
|
||||||
|
hitEffect = Fx.instHit;
|
||||||
|
smokeEffect = Fx.smokeCloud;
|
||||||
|
trailEffect = Fx.instTrail;
|
||||||
|
despawnEffect = Fx.instBomb;
|
||||||
|
trailSpacing = 20f;
|
||||||
|
damage = 1350;
|
||||||
|
tileDamageMultiplier = 0.5f;
|
||||||
|
speed = brange;
|
||||||
|
hitShake = 6f;
|
||||||
|
ammoMultiplier = 1f;
|
||||||
|
}}
|
||||||
|
);
|
||||||
|
|
||||||
|
rotateSpeed = 2.5f;
|
||||||
|
reloadTime = 200f;
|
||||||
|
restitution = 0.2f;
|
||||||
|
ammoUseEffect = Fx.shellEjectBig;
|
||||||
|
recoilAmount = 5f;
|
||||||
|
restitution = 0.009f;
|
||||||
|
cooldown = 0.009f;
|
||||||
|
shootShake = 4f;
|
||||||
|
shots = 1;
|
||||||
|
size = 4;
|
||||||
|
shootCone = 2f;
|
||||||
|
shootSound = Sounds.shootBig;
|
||||||
|
unitSort = (u, x, y) -> -u.maxHealth;
|
||||||
|
|
||||||
|
coolantMultiplier = 0.09f;
|
||||||
|
|
||||||
|
health = 150 * size * size;
|
||||||
|
consumes.add(new ConsumeLiquidFilter(liquid -> liquid.temperature <= 0.5f && liquid.flammability < 0.1f, 2f)).update(false).optional(true, true);
|
||||||
|
|
||||||
|
consumes.powerCond(10f, TurretBuild::isActive);
|
||||||
|
}};
|
||||||
|
|
||||||
spectre = new ItemTurret("spectre"){{
|
spectre = new ItemTurret("spectre"){{
|
||||||
requirements(Category.turret, with(Items.copper, 900, Items.graphite, 300, Items.surgealloy, 250, Items.plastanium, 175, Items.thorium, 250));
|
requirements(Category.turret, with(Items.copper, 900, Items.graphite, 300, Items.surgealloy, 250, Items.plastanium, 175, Items.thorium, 250));
|
||||||
ammo(
|
ammo(
|
||||||
@@ -1687,7 +1756,7 @@ public class Blocks implements ContentList{
|
|||||||
shootCone = 24f;
|
shootCone = 24f;
|
||||||
shootSound = Sounds.shootBig;
|
shootSound = Sounds.shootBig;
|
||||||
|
|
||||||
health = 155 * size * size;
|
health = 160 * size * size;
|
||||||
consumes.add(new ConsumeLiquidFilter(liquid -> liquid.temperature <= 0.5f && liquid.flammability < 0.1f, 2f)).update(false).optional(true, true);
|
consumes.add(new ConsumeLiquidFilter(liquid -> liquid.temperature <= 0.5f && liquid.flammability < 0.1f, 2f)).update(false).optional(true, true);
|
||||||
}};
|
}};
|
||||||
|
|
||||||
|
|||||||
@@ -34,7 +34,7 @@ public class Bullets implements ContentList{
|
|||||||
standardGlaive, standardDenseBig, standardThoriumBig, standardIncendiaryBig,
|
standardGlaive, standardDenseBig, standardThoriumBig, standardIncendiaryBig,
|
||||||
|
|
||||||
//liquid
|
//liquid
|
||||||
waterShot, cryoShot, slagShot, oilShot,
|
waterShot, cryoShot, slagShot, oilShot, heavyWaterShot, heavyCryoShot, heavySlagShot, heavyOilShot,
|
||||||
|
|
||||||
//environment, misc.
|
//environment, misc.
|
||||||
damageLightning, damageLightningGround, fireball, basicFlame, pyraFlame, driverBolt, healBullet, healBulletBig, frag;
|
damageLightning, damageLightningGround, fireball, basicFlame, pyraFlame, driverBolt, healBullet, healBulletBig, frag;
|
||||||
@@ -375,10 +375,9 @@ public class Bullets implements ContentList{
|
|||||||
}};
|
}};
|
||||||
|
|
||||||
//this is just a copy of the damage lightning bullet that doesn't damage air units
|
//this is just a copy of the damage lightning bullet that doesn't damage air units
|
||||||
damageLightningGround = new BulletType(0.0001f, 0f){{
|
damageLightningGround = new BulletType(0.0001f, 0f){};
|
||||||
collidesAir = false;
|
|
||||||
}};
|
|
||||||
JsonIO.copy(damageLightning, damageLightningGround);
|
JsonIO.copy(damageLightning, damageLightningGround);
|
||||||
|
damageLightningGround.collidesAir = false;
|
||||||
|
|
||||||
healBullet = new HealBulletType(5.2f, 13){{
|
healBullet = new HealBulletType(5.2f, 13){{
|
||||||
healPercent = 3f;
|
healPercent = 3f;
|
||||||
@@ -474,6 +473,50 @@ public class Bullets implements ContentList{
|
|||||||
drag = 0.03f;
|
drag = 0.03f;
|
||||||
}};
|
}};
|
||||||
|
|
||||||
|
heavyWaterShot = new LiquidBulletType(Liquids.water){{
|
||||||
|
lifetime = 49f;
|
||||||
|
speed = 4f;
|
||||||
|
knockback = 1.7f;
|
||||||
|
puddleSize = 8f;
|
||||||
|
drag = 0.001f;
|
||||||
|
ammoMultiplier = 2f;
|
||||||
|
statusDuration = 60f * 4f;
|
||||||
|
damage = 0.1f;
|
||||||
|
}};
|
||||||
|
|
||||||
|
heavyCryoShot = new LiquidBulletType(Liquids.cryofluid){{
|
||||||
|
lifetime = 49f;
|
||||||
|
speed = 4f;
|
||||||
|
knockback = 1.3f;
|
||||||
|
puddleSize = 8f;
|
||||||
|
drag = 0.001f;
|
||||||
|
ammoMultiplier = 2f;
|
||||||
|
statusDuration = 60f * 4f;
|
||||||
|
damage = 0.1f;
|
||||||
|
}};
|
||||||
|
|
||||||
|
heavySlagShot = new LiquidBulletType(Liquids.slag){{
|
||||||
|
lifetime = 49f;
|
||||||
|
speed = 4f;
|
||||||
|
knockback = 1.3f;
|
||||||
|
puddleSize = 8f;
|
||||||
|
damage = 6f;
|
||||||
|
drag = 0.001f;
|
||||||
|
ammoMultiplier = 2f;
|
||||||
|
statusDuration = 60f * 4f;
|
||||||
|
}};
|
||||||
|
|
||||||
|
heavyOilShot = new LiquidBulletType(Liquids.oil){{
|
||||||
|
lifetime = 49f;
|
||||||
|
speed = 4f;
|
||||||
|
knockback = 1.3f;
|
||||||
|
puddleSize = 8f;
|
||||||
|
drag = 0.001f;
|
||||||
|
ammoMultiplier = 2f;
|
||||||
|
statusDuration = 60f * 4f;
|
||||||
|
damage = 0.1f;
|
||||||
|
}};
|
||||||
|
|
||||||
driverBolt = new MassDriverBolt();
|
driverBolt = new MassDriverBolt();
|
||||||
|
|
||||||
frag = new BasicBulletType(5f, 8, "bullet"){{
|
frag = new BasicBulletType(5f, 8, "bullet"){{
|
||||||
|
|||||||
@@ -18,7 +18,7 @@ import static arc.graphics.g2d.Draw.rect;
|
|||||||
import static arc.graphics.g2d.Draw.*;
|
import static arc.graphics.g2d.Draw.*;
|
||||||
import static arc.graphics.g2d.Lines.*;
|
import static arc.graphics.g2d.Lines.*;
|
||||||
import static arc.math.Angles.*;
|
import static arc.math.Angles.*;
|
||||||
import static mindustry.Vars.tilesize;
|
import static mindustry.Vars.*;
|
||||||
|
|
||||||
public class Fx{
|
public class Fx{
|
||||||
public static final Effect
|
public static final Effect
|
||||||
@@ -138,12 +138,13 @@ public class Fx{
|
|||||||
stroke(3f * e.fout());
|
stroke(3f * e.fout());
|
||||||
color(e.color, Color.white, e.fin());
|
color(e.color, Color.white, e.fin());
|
||||||
|
|
||||||
beginLine();
|
for(int i = 0; i < lines.size - 1; i++){
|
||||||
lines.each(Lines::linePoint);
|
Vec2 cur = lines.get(i);
|
||||||
linePoint(e.x, e.y);
|
Vec2 next = lines.get(i + 1);
|
||||||
endLine();
|
|
||||||
|
Lines.line(cur.x, cur.y, next.x, next.y, false);
|
||||||
|
}
|
||||||
|
|
||||||
int i = 0;
|
|
||||||
for(Vec2 p : lines){
|
for(Vec2 p : lines){
|
||||||
Fill.circle(p.x, p.y, Lines.getStroke() / 2f);
|
Fill.circle(p.x, p.y, Lines.getStroke() / 2f);
|
||||||
}
|
}
|
||||||
@@ -455,6 +456,79 @@ public class Fx{
|
|||||||
|
|
||||||
}),
|
}),
|
||||||
|
|
||||||
|
instBomb = new Effect(15f, 100f, e -> {
|
||||||
|
color(Pal.bulletYellowBack);
|
||||||
|
stroke(e.fout() * 4f);
|
||||||
|
Lines.circle(e.x, e.y, 4f + e.finpow() * 20f);
|
||||||
|
|
||||||
|
for(int i = 0; i < 4; i++){
|
||||||
|
Drawf.tri(e.x, e.y, 6f, 80f * e.fout(), i*90 + 45);
|
||||||
|
}
|
||||||
|
|
||||||
|
color();
|
||||||
|
for(int i = 0; i < 4; i++){
|
||||||
|
Drawf.tri(e.x, e.y, 3f, 30f * e.fout(), i*90 + 45);
|
||||||
|
}
|
||||||
|
}),
|
||||||
|
|
||||||
|
instTrail = new Effect(30, e -> {
|
||||||
|
for(int i = 0; i < 2; i++){
|
||||||
|
color(i == 0 ? Pal.bulletYellowBack : Pal.bulletYellow);
|
||||||
|
|
||||||
|
float m = i == 0 ? 1f : 0.5f;
|
||||||
|
|
||||||
|
float rot = e.rotation + 180f;
|
||||||
|
float w = 15f * e.fout() * m;
|
||||||
|
Drawf.tri(e.x, e.y, w, (30f + Mathf.randomSeedRange(e.id, 15f)) * m, rot);
|
||||||
|
Drawf.tri(e.x, e.y, w, 10f * m, rot + 180f);
|
||||||
|
}
|
||||||
|
}),
|
||||||
|
|
||||||
|
instShoot = new Effect(24f, e -> {
|
||||||
|
e.scaled(10f, b -> {
|
||||||
|
color(Color.white, Pal.bulletYellowBack, b.fin());
|
||||||
|
stroke(b.fout() * 3f + 0.2f);
|
||||||
|
Lines.circle(b.x, b.y, b.fin() * 50f);
|
||||||
|
});
|
||||||
|
|
||||||
|
color(Pal.bulletYellowBack);
|
||||||
|
|
||||||
|
for(int i : Mathf.signs){
|
||||||
|
Drawf.tri(e.x, e.y, 13f * e.fout(), 85f, e.rotation + 90f * i);
|
||||||
|
Drawf.tri(e.x, e.y, 13f * e.fout(), 50f, e.rotation + 20f * i);
|
||||||
|
}
|
||||||
|
}),
|
||||||
|
|
||||||
|
instHit = new Effect(20f, 200f, e -> {
|
||||||
|
color(Pal.bulletYellowBack);
|
||||||
|
|
||||||
|
for(int i = 0; i < 2; i++){
|
||||||
|
color(i == 0 ? Pal.bulletYellowBack : Pal.bulletYellow);
|
||||||
|
|
||||||
|
float m = i == 0 ? 1f : 0.5f;
|
||||||
|
|
||||||
|
for(int j = 0; j < 5; j++){
|
||||||
|
float rot = e.rotation + Mathf.randomSeedRange(e.id + j, 50f);
|
||||||
|
float w = 23f * e.fout() * m;
|
||||||
|
Drawf.tri(e.x, e.y, w, (80f + Mathf.randomSeedRange(e.id + j, 40f)) * m, rot);
|
||||||
|
Drawf.tri(e.x, e.y, w, 20f * m, rot + 180f);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
e.scaled(10f, c -> {
|
||||||
|
color(Pal.bulletYellow);
|
||||||
|
stroke(c.fout() * 2f + 0.2f);
|
||||||
|
Lines.circle(e.x, e.y, c.fin() * 30f);
|
||||||
|
});
|
||||||
|
|
||||||
|
e.scaled(12f, c -> {
|
||||||
|
color(Pal.bulletYellowBack);
|
||||||
|
randLenVectors(e.id, 25, 5f + e.fin() * 80f, e.rotation, 60f, (x, y) -> {
|
||||||
|
Fill.square(e.x + x, e.y + y, c.fout() * 3f, 45f);
|
||||||
|
});
|
||||||
|
});
|
||||||
|
}),
|
||||||
|
|
||||||
hitLaser = new Effect(8, e -> {
|
hitLaser = new Effect(8, e -> {
|
||||||
color(Color.white, Pal.heal, e.fin());
|
color(Color.white, Pal.heal, e.fin());
|
||||||
stroke(0.5f + e.fout());
|
stroke(0.5f + e.fout());
|
||||||
@@ -1074,28 +1148,11 @@ public class Fx{
|
|||||||
}),
|
}),
|
||||||
|
|
||||||
railHit = new Effect(18f, 200f, e -> {
|
railHit = new Effect(18f, 200f, e -> {
|
||||||
if(true){
|
color(Pal.orangeSpark);
|
||||||
color(Pal.orangeSpark);
|
|
||||||
|
|
||||||
for(int i : Mathf.signs){
|
for(int i : Mathf.signs){
|
||||||
Drawf.tri(e.x, e.y, 10f * e.fout(), 60f, e.rotation + 140f * i);
|
Drawf.tri(e.x, e.y, 10f * e.fout(), 60f, e.rotation + 140f * i);
|
||||||
}
|
|
||||||
}else{
|
|
||||||
e.scaled(7f, b -> {
|
|
||||||
color(Color.white, Color.lightGray, b.fin());
|
|
||||||
stroke(b.fout() * 2f + 0.2f);
|
|
||||||
Lines.circle(b.x, b.y, b.fin() * 28f);
|
|
||||||
});
|
|
||||||
|
|
||||||
color(Pal.orangeSpark);
|
|
||||||
float rot = e.rotation + Mathf.randomSeedRange(e.id, 20f);
|
|
||||||
float w = 9f * e.fout();
|
|
||||||
|
|
||||||
Drawf.tri(e.x, e.y, w, 100f, rot);
|
|
||||||
Drawf.tri(e.x, e.y, w, 10f, rot + 180f);
|
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
}),
|
}),
|
||||||
|
|
||||||
lancerLaserShoot = new Effect(21f, e -> {
|
lancerLaserShoot = new Effect(21f, e -> {
|
||||||
@@ -1109,7 +1166,7 @@ public class Fx{
|
|||||||
|
|
||||||
lancerLaserShootSmoke = new Effect(26f, e -> {
|
lancerLaserShootSmoke = new Effect(26f, e -> {
|
||||||
color(Color.white);
|
color(Color.white);
|
||||||
float length = e.data == null || !(e.data instanceof Float) ? 70f : (Float)e.data;
|
float length = !(e.data instanceof Float) ? 70f : (Float)e.data;
|
||||||
|
|
||||||
randLenVectors(e.id, 7, length, e.rotation, 0f, (x, y) -> {
|
randLenVectors(e.id, 7, length, e.rotation, 0f, (x, y) -> {
|
||||||
lineAngle(e.x + x, e.y + y, Mathf.angle(x, y), e.fout() * 9f);
|
lineAngle(e.x + x, e.y + y, Mathf.angle(x, y), e.fout() * 9f);
|
||||||
|
|||||||
@@ -1,8 +1,8 @@
|
|||||||
package mindustry.content;
|
package mindustry.content;
|
||||||
|
|
||||||
import arc.graphics.Color;
|
import arc.graphics.*;
|
||||||
import mindustry.ctype.ContentList;
|
import mindustry.ctype.*;
|
||||||
import mindustry.type.Liquid;
|
import mindustry.type.*;
|
||||||
|
|
||||||
public class Liquids implements ContentList{
|
public class Liquids implements ContentList{
|
||||||
public static Liquid water, slag, oil, cryofluid;
|
public static Liquid water, slag, oil, cryofluid;
|
||||||
|
|||||||
@@ -2,10 +2,11 @@ package mindustry.content;
|
|||||||
|
|
||||||
import arc.*;
|
import arc.*;
|
||||||
import arc.graphics.*;
|
import arc.graphics.*;
|
||||||
import arc.math.Mathf;
|
import arc.math.*;
|
||||||
import mindustry.ctype.ContentList;
|
import mindustry.ctype.*;
|
||||||
import mindustry.game.EventType.*;
|
import mindustry.game.EventType.*;
|
||||||
import mindustry.type.StatusEffect;
|
import mindustry.type.*;
|
||||||
|
|
||||||
import static mindustry.Vars.*;
|
import static mindustry.Vars.*;
|
||||||
|
|
||||||
public class StatusEffects implements ContentList{
|
public class StatusEffects implements ContentList{
|
||||||
|
|||||||
@@ -2,7 +2,7 @@ package mindustry.content;
|
|||||||
|
|
||||||
import arc.*;
|
import arc.*;
|
||||||
import arc.struct.*;
|
import arc.struct.*;
|
||||||
import arc.util.ArcAnnotate.*;
|
import arc.util.*;
|
||||||
import mindustry.ctype.*;
|
import mindustry.ctype.*;
|
||||||
import mindustry.game.Objectives.*;
|
import mindustry.game.Objectives.*;
|
||||||
import mindustry.type.*;
|
import mindustry.type.*;
|
||||||
@@ -109,6 +109,9 @@ public class TechTree implements ContentList{
|
|||||||
|
|
||||||
node(Items.coal, with(Items.lead, 3000), () -> {
|
node(Items.coal, with(Items.lead, 3000), () -> {
|
||||||
node(Items.graphite, with(Items.coal, 1000), () -> {
|
node(Items.graphite, with(Items.coal, 1000), () -> {
|
||||||
|
node(illuminator, () -> {
|
||||||
|
});
|
||||||
|
|
||||||
node(graphitePress, () -> {
|
node(graphitePress, () -> {
|
||||||
node(Items.titanium, with(Items.graphite, 6000, Items.copper, 10000, Items.lead, 10000), () -> {
|
node(Items.titanium, with(Items.graphite, 6000, Items.copper, 10000, Items.lead, 10000), () -> {
|
||||||
node(pneumaticDrill, () -> {
|
node(pneumaticDrill, () -> {
|
||||||
@@ -344,11 +347,17 @@ public class TechTree implements ContentList{
|
|||||||
|
|
||||||
});
|
});
|
||||||
});
|
});
|
||||||
|
|
||||||
|
node(tsunami, () -> {
|
||||||
|
|
||||||
|
});
|
||||||
});
|
});
|
||||||
|
|
||||||
node(lancer, () -> {
|
node(lancer, () -> {
|
||||||
node(meltdown, () -> {
|
node(foreshadow, () -> {
|
||||||
|
node(meltdown, () -> {
|
||||||
|
|
||||||
|
});
|
||||||
});
|
});
|
||||||
|
|
||||||
node(shockMine, () -> {
|
node(shockMine, () -> {
|
||||||
@@ -562,7 +571,8 @@ public class TechTree implements ContentList{
|
|||||||
return node(block, () -> {});
|
return node(block, () -> {});
|
||||||
}
|
}
|
||||||
|
|
||||||
public static @Nullable TechNode get(UnlockableContent content){
|
public static @Nullable
|
||||||
|
TechNode get(UnlockableContent content){
|
||||||
return map.get(content);
|
return map.get(content);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|||||||
@@ -50,7 +50,7 @@ public class UnitTypes implements ContentList{
|
|||||||
public static @EntityDef({Unitc.class, Builderc.class, Payloadc.class}) UnitType quad;
|
public static @EntityDef({Unitc.class, Builderc.class, Payloadc.class}) UnitType quad;
|
||||||
|
|
||||||
//air + building + payload + command
|
//air + building + payload + command
|
||||||
public static @EntityDef({Unitc.class, Builderc.class, Payloadc.class, Commanderc.class}) UnitType oct;
|
public static @EntityDef({Unitc.class, Builderc.class, Payloadc.class, Commanderc.class, AmmoDistributec.class}) UnitType oct;
|
||||||
|
|
||||||
//air + building + mining
|
//air + building + mining
|
||||||
public static @EntityDef({Unitc.class, Builderc.class, Minerc.class}) UnitType alpha, beta, gamma;
|
public static @EntityDef({Unitc.class, Builderc.class, Minerc.class}) UnitType alpha, beta, gamma;
|
||||||
@@ -446,7 +446,7 @@ public class UnitTypes implements ContentList{
|
|||||||
mineTier = 1;
|
mineTier = 1;
|
||||||
hitSize = 29f;
|
hitSize = 29f;
|
||||||
itemCapacity = 80;
|
itemCapacity = 80;
|
||||||
health = 19000f;
|
health = 18000f;
|
||||||
buildSpeed = 1.7f;
|
buildSpeed = 1.7f;
|
||||||
armor = 9f;
|
armor = 9f;
|
||||||
landShake = 1.5f;
|
landShake = 1.5f;
|
||||||
@@ -488,7 +488,7 @@ public class UnitTypes implements ContentList{
|
|||||||
firstShotDelay = Fx.greenLaserCharge.lifetime;
|
firstShotDelay = Fx.greenLaserCharge.lifetime;
|
||||||
|
|
||||||
bullet = new LaserBulletType(){{
|
bullet = new LaserBulletType(){{
|
||||||
length = 500f;
|
length = 460f;
|
||||||
damage = 550f;
|
damage = 550f;
|
||||||
width = 75f;
|
width = 75f;
|
||||||
|
|
||||||
@@ -519,7 +519,7 @@ public class UnitTypes implements ContentList{
|
|||||||
crawler = new UnitType("crawler"){{
|
crawler = new UnitType("crawler"){{
|
||||||
defaultController = SuicideAI::new;
|
defaultController = SuicideAI::new;
|
||||||
|
|
||||||
speed = 0.85f;
|
speed = 0.9f;
|
||||||
hitSize = 8f;
|
hitSize = 8f;
|
||||||
health = 180;
|
health = 180;
|
||||||
mechSideSway = 0.25f;
|
mechSideSway = 0.25f;
|
||||||
@@ -536,7 +536,7 @@ public class UnitTypes implements ContentList{
|
|||||||
speed = 1f;
|
speed = 1f;
|
||||||
splashDamageRadius = 55f;
|
splashDamageRadius = 55f;
|
||||||
instantDisappear = true;
|
instantDisappear = true;
|
||||||
splashDamage = 55f;
|
splashDamage = 60f;
|
||||||
killShooter = true;
|
killShooter = true;
|
||||||
hittable = false;
|
hittable = false;
|
||||||
collidesAir = true;
|
collidesAir = true;
|
||||||
@@ -1314,6 +1314,10 @@ public class UnitTypes implements ContentList{
|
|||||||
buildSpeed = 4f;
|
buildSpeed = 4f;
|
||||||
drawShields = false;
|
drawShields = false;
|
||||||
commandLimit = 6;
|
commandLimit = 6;
|
||||||
|
lowAltitude = true;
|
||||||
|
|
||||||
|
ammoCapacity = 1300;
|
||||||
|
ammoResupplyAmount = 20;
|
||||||
|
|
||||||
abilities.add(new ForceFieldAbility(140f, 4f, 7000f, 60f * 8), new HealFieldAbility(130f, 60f * 2, 140f));
|
abilities.add(new ForceFieldAbility(140f, 4f, 7000f, 60f * 8), new HealFieldAbility(130f, 60f * 2, 140f));
|
||||||
}};
|
}};
|
||||||
|
|||||||
@@ -1,10 +1,9 @@
|
|||||||
package mindustry.core;
|
package mindustry.core;
|
||||||
|
|
||||||
import arc.files.*;
|
import arc.files.*;
|
||||||
import arc.struct.*;
|
|
||||||
import arc.func.*;
|
import arc.func.*;
|
||||||
import arc.graphics.*;
|
import arc.graphics.*;
|
||||||
import arc.util.ArcAnnotate.*;
|
import arc.struct.*;
|
||||||
import arc.util.*;
|
import arc.util.*;
|
||||||
import mindustry.content.*;
|
import mindustry.content.*;
|
||||||
import mindustry.ctype.*;
|
import mindustry.ctype.*;
|
||||||
@@ -13,8 +12,8 @@ import mindustry.mod.Mods.*;
|
|||||||
import mindustry.type.*;
|
import mindustry.type.*;
|
||||||
import mindustry.world.*;
|
import mindustry.world.*;
|
||||||
|
|
||||||
import static arc.Core.files;
|
import static arc.Core.*;
|
||||||
import static mindustry.Vars.mods;
|
import static mindustry.Vars.*;
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Loads all game content.
|
* Loads all game content.
|
||||||
|
|||||||
@@ -9,7 +9,6 @@ import arc.math.*;
|
|||||||
import arc.scene.ui.*;
|
import arc.scene.ui.*;
|
||||||
import arc.struct.*;
|
import arc.struct.*;
|
||||||
import arc.util.*;
|
import arc.util.*;
|
||||||
import arc.util.ArcAnnotate.*;
|
|
||||||
import mindustry.*;
|
import mindustry.*;
|
||||||
import mindustry.audio.*;
|
import mindustry.audio.*;
|
||||||
import mindustry.content.*;
|
import mindustry.content.*;
|
||||||
@@ -191,10 +190,6 @@ public class Control implements ApplicationListener, Loadable{
|
|||||||
|
|
||||||
}
|
}
|
||||||
|
|
||||||
void resetCamera(){
|
|
||||||
|
|
||||||
}
|
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
public void loadAsync(){
|
public void loadAsync(){
|
||||||
Draw.scl = 1f / Core.atlas.find("scale_marker").width;
|
Draw.scl = 1f / Core.atlas.find("scale_marker").width;
|
||||||
@@ -485,7 +480,7 @@ public class Control implements ApplicationListener, Loadable{
|
|||||||
|
|
||||||
@Override
|
@Override
|
||||||
public void update(){
|
public void update(){
|
||||||
//TODO find out why this happens on Android
|
//this happens on Android and nobody knows why
|
||||||
if(assets == null) return;
|
if(assets == null) return;
|
||||||
|
|
||||||
saves.update();
|
saves.update();
|
||||||
@@ -523,7 +518,7 @@ public class Control implements ApplicationListener, Loadable{
|
|||||||
platform.updateRPC();
|
platform.updateRPC();
|
||||||
}
|
}
|
||||||
|
|
||||||
if(Core.input.keyTap(Binding.pause) && !state.isOutOfTime() && !scene.hasDialog() && !scene.hasKeyboard() && !ui.restart.isShown() && (state.is(State.paused) || state.is(State.playing))){
|
if(Core.input.keyTap(Binding.pause) && !scene.hasDialog() && !scene.hasKeyboard() && !ui.restart.isShown() && (state.is(State.paused) || state.is(State.playing))){
|
||||||
state.set(state.is(State.playing) ? State.paused : State.playing);
|
state.set(state.is(State.playing) ? State.paused : State.playing);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|||||||
@@ -2,8 +2,8 @@ package mindustry.core;
|
|||||||
|
|
||||||
import arc.*;
|
import arc.*;
|
||||||
import arc.assets.loaders.*;
|
import arc.assets.loaders.*;
|
||||||
import arc.struct.*;
|
|
||||||
import arc.files.*;
|
import arc.files.*;
|
||||||
|
import arc.struct.*;
|
||||||
|
|
||||||
/** Handles files in a modded context. */
|
/** Handles files in a modded context. */
|
||||||
public class FileTree implements FileHandleResolver{
|
public class FileTree implements FileHandleResolver{
|
||||||
|
|||||||