Compare commits

...

15 Commits
v66 ... v67

Author SHA1 Message Date
William So
a3c6e3f1df Update 'bundle_zh_TW.properties' (#433)
* Match 'bundle_zh_TW.properties' with 'bundle.properties'

* Update 'bundle_zh_TW.properties'
2019-03-23 11:48:55 -06:00
Prosta4okua
9f57278644 Update bundle_uk_UA.properties (#430)
* Update bundle_uk_UA.properties

* Update bundle_uk_UA.properties

* Update bundle_uk_UA.properties

* Update bundle_uk_UA.properties

* Update bundle_uk_UA.properties

* deleted Ыы

* Update bundle_uk_UA.properties
2019-03-23 11:48:50 -06:00
ScriptHosT12
afc35cf623 Update bundle_pt_BR.properties (#432) 2019-03-23 11:48:37 -06:00
Prosta4okua
6d8523054b Update bundle_ru.properties (#429)
* Update bundle_ru.properties

* Update bundle_ru.properties

* Update bundle_ru.properties

* Update bundle_ru.properties

* Update bundle_ru.properties

* Update bundle_ru.properties
2019-03-23 11:48:31 -06:00
Anuken
fdecd55278 Updated build files 2019-03-23 13:40:13 -04:00
Anuken
7e7f95916b Moved launch button to top right 2019-03-23 11:49:48 -04:00
Anuken
ab52c65dcf Updated bundles 2019-03-23 11:08:46 -04:00
Anuken
ed4d0eb5d0 Shadows setting / Server map text limit / Fallback spritesheet 2019-03-23 11:02:59 -04:00
Anuken
4bc9143306 New icon / Windows deployment fixes / Map fixes / Menu fix 2019-03-22 22:30:26 -04:00
Anuken
a4f558c77a Code cleanup / Tainted water 2019-03-22 19:16:15 -04:00
Anuken
e4f226a9c5 more menu table fighting 2019-03-22 13:58:51 -04:00
Anuken
c7d34049fa Crash fix / Input tweak 2019-03-22 00:16:09 -04:00
Anuken
ee06e620c6 Zone wave bugfix / New tests / More "encouragement" 2019-03-21 19:19:12 -04:00
Anuken
b48110db3b Fixed #431 [item spacing not taken into account] 2019-03-21 17:13:46 -04:00
Anuken
8413046dd8 Crash/visual fixes 2019-03-21 15:37:36 -04:00
92 changed files with 12824 additions and 1619 deletions

Binary file not shown.

Before

Width:  |  Height:  |  Size: 24 KiB

After

Width:  |  Height:  |  Size: 76 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 911 B

After

Width:  |  Height:  |  Size: 21 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 1.9 KiB

After

Width:  |  Height:  |  Size: 23 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 4.3 KiB

After

Width:  |  Height:  |  Size: 6.5 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 1.4 KiB

After

Width:  |  Height:  |  Size: 7.1 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 4.6 KiB

After

Width:  |  Height:  |  Size: 8.4 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 6.1 KiB

After

Width:  |  Height:  |  Size: 7.6 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 2.6 KiB

After

Width:  |  Height:  |  Size: 4.1 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 553 B

After

Width:  |  Height:  |  Size: 4.1 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 2.1 KiB

After

Width:  |  Height:  |  Size: 5.2 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 3.4 KiB

After

Width:  |  Height:  |  Size: 4.3 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 5.4 KiB

After

Width:  |  Height:  |  Size: 9.8 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 1.3 KiB

After

Width:  |  Height:  |  Size: 9.8 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 3.0 KiB

After

Width:  |  Height:  |  Size: 12 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 8.1 KiB

After

Width:  |  Height:  |  Size: 11 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 9.0 KiB

After

Width:  |  Height:  |  Size: 16 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 2.4 KiB

After

Width:  |  Height:  |  Size: 18 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 4.1 KiB

After

Width:  |  Height:  |  Size: 20 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 14 KiB

After

Width:  |  Height:  |  Size: 19 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 11 KiB

After

Width:  |  Height:  |  Size: 23 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 4.0 KiB

After

Width:  |  Height:  |  Size: 27 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 5.1 KiB

After

Width:  |  Height:  |  Size: 28 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 17 KiB

After

Width:  |  Height:  |  Size: 28 KiB

View File

@@ -29,11 +29,11 @@ allprojects{
arcHash = null arcHash = null
debugged = { debugged = {
return new File(projectDir.parent, '../debug').exists() && System.properties["release"] == null return new File(projectDir.parent, '../debug').exists() && !project.hasProperty("release")
} }
localArc = { localArc = {
return (System.properties["release"] == null || System.properties["release"] == "false") && new File(projectDir.parent, '../Arc').exists() return (!project.hasProperty("release")) && new File(projectDir.parent, '../Arc').exists()
} }
getArcHash = { getArcHash = {

View File

@@ -0,0 +1,8 @@
{
duplicatePadding: true,
combineSubdirectories: true,
flattenPaths: true,
maxWidth: 1024,
maxHeight: 1024,
fast: true,
}

View File

@@ -0,0 +1,8 @@
{
duplicatePadding: true,
combineSubdirectories: true,
flattenPaths: true,
maxWidth: 1024,
maxHeight: 1024,
fast: true,
}

Binary file not shown.

After

Width:  |  Height:  |  Size: 1.8 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 1.3 KiB

View File

@@ -23,9 +23,10 @@ stat.deconstructed = Buildings Deconstructed:[accent] {0}
stat.delivered = Resources Launched: stat.delivered = Resources Launched:
stat.rank = Final Rank: [accent]{0} stat.rank = Final Rank: [accent]{0}
placeline = You have selected a block.\nYou can[accent] place in a line[] by[accent] holding down your finger for a few seconds[] and dragging in a direction.\n\nTry it. placeline = You have selected a block.\nYou can[accent] place in a line[] by[accent] holding down your finger for a few seconds[] and dragging in a direction.\n\n[scarlet]DO IT.
removearea = You have selected removal mode.\nYou can[accent] remove blocks in a rectangle[] by[accent] holding down your finger for a few seconds[] and dragging.\n\nTry it. removearea = You have selected removal mode.\nYou can[accent] remove blocks in a rectangle[] by[accent] holding down your finger for a few seconds[] and dragging.\n\n[scarlet]DO IT.
launcheditems = [accent]Launched Items
map.delete = Are you sure you want to delete the map "[accent]{0}[]"? map.delete = Are you sure you want to delete the map "[accent]{0}[]"?
level.highscore = High Score: [accent]{0} level.highscore = High Score: [accent]{0}
level.select = Level Select level.select = Level Select
@@ -412,6 +413,7 @@ category.items = Items
category.crafting = Input/Output category.crafting = Input/Output
category.shooting = Shooting category.shooting = Shooting
category.optional = Optional Enhancements category.optional = Optional Enhancements
setting.shadows.name = Shadows
setting.animatedwater.name = Animated Water setting.animatedwater.name = Animated Water
setting.antialias.name = Antialias[LIGHT_GRAY] (requires restart)[] setting.antialias.name = Antialias[LIGHT_GRAY] (requires restart)[]
setting.indicators.name = Enemy/Ally Indicators setting.indicators.name = Enemy/Ally Indicators
@@ -600,6 +602,8 @@ block.core-foundation.name = Core: Foundation
block.core-nucleus.name = Core: Nucleus block.core-nucleus.name = Core: Nucleus
block.deepwater.name = Deep Water block.deepwater.name = Deep Water
block.water.name = Water block.water.name = Water
block.tainted-water.name = Tainted Water
block.darksand-tainted-water.name = Dark Sand Tainted Water
block.tar.name = Tar block.tar.name = Tar
block.stone.name = Stone block.stone.name = Stone
block.sand.name = Sand block.sand.name = Sand
@@ -620,10 +624,10 @@ block.pine.name = Pine
block.white-tree-dead.name = White Tree Dead block.white-tree-dead.name = White Tree Dead
block.white-tree.name = White Tree block.white-tree.name = White Tree
block.spore-cluster.name = Spore Cluster block.spore-cluster.name = Spore Cluster
block.metal-floor.name = Metal Floor block.metal-floor.name = Metal Floor 1
block.metal-floor-2.name = Metal Floor 2 block.metal-floor-2.name = Metal Floor 2
block.metal-floor-3.name = Metal Floor 3 block.metal-floor-3.name = Metal Floor 3
block.metal-floor-5.name = Metal Floor 5 block.metal-floor-5.name = Metal Floor 4
block.metal-floor-damaged.name = Metal Floor Damaged block.metal-floor-damaged.name = Metal Floor Damaged
block.ignarock.name = Igna Rock block.ignarock.name = Igna Rock
block.hotrock.name = Hot Rock block.hotrock.name = Hot Rock

View File

@@ -23,6 +23,7 @@ stat.delivered = Resources Launched:
stat.rank = Final Rank: [accent]{0} stat.rank = Final Rank: [accent]{0}
placeline = You have selected a block.\nYou can[accent] place in a line[] by[accent] holding down your finger for a few seconds[] and dragging in a direction.\nTry it. placeline = You have selected a block.\nYou can[accent] place in a line[] by[accent] holding down your finger for a few seconds[] and dragging in a direction.\nTry it.
removearea = You have selected removal mode.\nYou can[accent] remove blocks in a rectangle[] by[accent] holding down your finger for a few seconds[] and dragging.\nTry it. removearea = You have selected removal mode.\nYou can[accent] remove blocks in a rectangle[] by[accent] holding down your finger for a few seconds[] and dragging.\nTry it.
launcheditems = [accent]Launched Items
map.delete = Jsi si jistý že chceš smazat mapu "[accent]{0}[]"? map.delete = Jsi si jistý že chceš smazat mapu "[accent]{0}[]"?
level.highscore = Nejvyšší skóre: [accent]{0} level.highscore = Nejvyšší skóre: [accent]{0}
level.select = Výběr levelu level.select = Výběr levelu
@@ -405,6 +406,7 @@ category.items = Předměty
category.crafting = Vyžaduje category.crafting = Vyžaduje
category.shooting = Střílí category.shooting = Střílí
category.optional = Volitelné vylepšení category.optional = Volitelné vylepšení
setting.shadows.name = Shadows
setting.animatedwater.name = Animated Water setting.animatedwater.name = Animated Water
setting.antialias.name = Antialias[LIGHT_GRAY] (requires restart)[] setting.antialias.name = Antialias[LIGHT_GRAY] (requires restart)[]
setting.indicators.name = Indikátor pro spojence setting.indicators.name = Indikátor pro spojence
@@ -592,6 +594,8 @@ block.core-foundation.name = Core: Foundation
block.core-nucleus.name = Core: Nucleus block.core-nucleus.name = Core: Nucleus
block.deepwater.name = Hluboká voda block.deepwater.name = Hluboká voda
block.water.name = Voda block.water.name = Voda
block.tainted-water.name = Tainted Water
block.darksand-tainted-water.name = Dark Sand Tainted Water
block.tar.name = Tar block.tar.name = Tar
block.stone.name = Kámen block.stone.name = Kámen
block.sand.name = Písek block.sand.name = Písek

View File

@@ -23,6 +23,7 @@ stat.delivered = Resources Launched:
stat.rank = Final Rank: [accent]{0} stat.rank = Final Rank: [accent]{0}
placeline = You have selected a block.\nYou can[accent] place in a line[] by[accent] holding down your finger for a few seconds[] and dragging in a direction.\nTry it. placeline = You have selected a block.\nYou can[accent] place in a line[] by[accent] holding down your finger for a few seconds[] and dragging in a direction.\nTry it.
removearea = You have selected removal mode.\nYou can[accent] remove blocks in a rectangle[] by[accent] holding down your finger for a few seconds[] and dragging.\nTry it. removearea = You have selected removal mode.\nYou can[accent] remove blocks in a rectangle[] by[accent] holding down your finger for a few seconds[] and dragging.\nTry it.
launcheditems = [accent]Launched Items
map.delete = Bist du sicher, dass du die Karte "[accent]{0}[]" löschen möchtest? map.delete = Bist du sicher, dass du die Karte "[accent]{0}[]" löschen möchtest?
level.highscore = High Score: [accent]{0} level.highscore = High Score: [accent]{0}
level.select = Level Auswahl level.select = Level Auswahl
@@ -405,6 +406,7 @@ category.items = Materialien
category.crafting = Erzeugung category.crafting = Erzeugung
category.shooting = Schießen category.shooting = Schießen
category.optional = Optional Enhancements category.optional = Optional Enhancements
setting.shadows.name = Shadows
setting.animatedwater.name = Animated Water setting.animatedwater.name = Animated Water
setting.antialias.name = Antialias[LIGHT_GRAY] (requires restart)[] setting.antialias.name = Antialias[LIGHT_GRAY] (requires restart)[]
setting.indicators.name = Ally Indicators setting.indicators.name = Ally Indicators
@@ -592,6 +594,8 @@ block.core-foundation.name = Core: Foundation
block.core-nucleus.name = Core: Nucleus block.core-nucleus.name = Core: Nucleus
block.deepwater.name = Tiefes Wasser block.deepwater.name = Tiefes Wasser
block.water.name = Wasser block.water.name = Wasser
block.tainted-water.name = Tainted Water
block.darksand-tainted-water.name = Dark Sand Tainted Water
block.tar.name = Teer block.tar.name = Teer
block.stone.name = Stein block.stone.name = Stein
block.sand.name = Sand block.sand.name = Sand

View File

@@ -23,6 +23,7 @@ stat.delivered = Resources Launched:
stat.rank = Final Rank: [accent]{0} stat.rank = Final Rank: [accent]{0}
placeline = You have selected a block.\nYou can[accent] place in a line[] by[accent] holding down your finger for a few seconds[] and dragging in a direction.\nTry it. placeline = You have selected a block.\nYou can[accent] place in a line[] by[accent] holding down your finger for a few seconds[] and dragging in a direction.\nTry it.
removearea = You have selected removal mode.\nYou can[accent] remove blocks in a rectangle[] by[accent] holding down your finger for a few seconds[] and dragging.\nTry it. removearea = You have selected removal mode.\nYou can[accent] remove blocks in a rectangle[] by[accent] holding down your finger for a few seconds[] and dragging.\nTry it.
launcheditems = [accent]Launched Items
map.delete = ¿Estás seguro que quieres borrar el mapa "[accent]{0}[]"? map.delete = ¿Estás seguro que quieres borrar el mapa "[accent]{0}[]"?
level.highscore = Puntuación más alta: [accent]{0} level.highscore = Puntuación más alta: [accent]{0}
level.select = Selección de nivel level.select = Selección de nivel
@@ -405,6 +406,7 @@ category.items = Objetos
category.crafting = Fabricación category.crafting = Fabricación
category.shooting = Disparo category.shooting = Disparo
category.optional = Mejoras Opcionales category.optional = Mejoras Opcionales
setting.shadows.name = Shadows
setting.animatedwater.name = Animated Water setting.animatedwater.name = Animated Water
setting.antialias.name = Antialias[LIGHT_GRAY] (requires restart)[] setting.antialias.name = Antialias[LIGHT_GRAY] (requires restart)[]
setting.indicators.name = Ally Indicators setting.indicators.name = Ally Indicators
@@ -592,6 +594,8 @@ block.core-foundation.name = Core: Foundation
block.core-nucleus.name = Core: Nucleus block.core-nucleus.name = Core: Nucleus
block.deepwater.name = Aguas profundas block.deepwater.name = Aguas profundas
block.water.name = Agua block.water.name = Agua
block.tainted-water.name = Tainted Water
block.darksand-tainted-water.name = Dark Sand Tainted Water
block.tar.name = Alquitrán block.tar.name = Alquitrán
block.stone.name = Piedra block.stone.name = Piedra
block.sand.name = Arena block.sand.name = Arena

View File

@@ -23,6 +23,7 @@ stat.delivered = Resources Launched:
stat.rank = Final Rank: [accent]{0} stat.rank = Final Rank: [accent]{0}
placeline = You have selected a block.\nYou can[accent] place in a line[] by[accent] holding down your finger for a few seconds[] and dragging in a direction.\nTry it. placeline = You have selected a block.\nYou can[accent] place in a line[] by[accent] holding down your finger for a few seconds[] and dragging in a direction.\nTry it.
removearea = You have selected removal mode.\nYou can[accent] remove blocks in a rectangle[] by[accent] holding down your finger for a few seconds[] and dragging.\nTry it. removearea = You have selected removal mode.\nYou can[accent] remove blocks in a rectangle[] by[accent] holding down your finger for a few seconds[] and dragging.\nTry it.
launcheditems = [accent]Launched Items
map.delete = Êtes-vous sûr de supprimer cette carte"[accent]{0}[]"? map.delete = Êtes-vous sûr de supprimer cette carte"[accent]{0}[]"?
level.highscore = Meilleur score: [accent]{0} level.highscore = Meilleur score: [accent]{0}
level.select = Sélection de niveau level.select = Sélection de niveau
@@ -405,6 +406,7 @@ category.items = Objets
category.crafting = Fabrication category.crafting = Fabrication
category.shooting = Défense category.shooting = Défense
category.optional = Optional Enhancements category.optional = Optional Enhancements
setting.shadows.name = Shadows
setting.animatedwater.name = Animated Water setting.animatedwater.name = Animated Water
setting.antialias.name = Antialias[LIGHT_GRAY] (requires restart)[] setting.antialias.name = Antialias[LIGHT_GRAY] (requires restart)[]
setting.indicators.name = Ally Indicators setting.indicators.name = Ally Indicators
@@ -592,6 +594,8 @@ block.core-foundation.name = Core: Foundation
block.core-nucleus.name = Core: Nucleus block.core-nucleus.name = Core: Nucleus
block.deepwater.name = Eau profonde block.deepwater.name = Eau profonde
block.water.name = Eau block.water.name = Eau
block.tainted-water.name = Tainted Water
block.darksand-tainted-water.name = Dark Sand Tainted Water
block.tar.name = Pétrole block.tar.name = Pétrole
block.stone.name = Roche block.stone.name = Roche
block.sand.name = Sable block.sand.name = Sable

View File

@@ -23,6 +23,7 @@ stat.delivered = Resources Launched:
stat.rank = Final Rank: [accent]{0} stat.rank = Final Rank: [accent]{0}
placeline = You have selected a block.\nYou can[accent] place in a line[] by[accent] holding down your finger for a few seconds[] and dragging in a direction.\nTry it. placeline = You have selected a block.\nYou can[accent] place in a line[] by[accent] holding down your finger for a few seconds[] and dragging in a direction.\nTry it.
removearea = You have selected removal mode.\nYou can[accent] remove blocks in a rectangle[] by[accent] holding down your finger for a few seconds[] and dragging.\nTry it. removearea = You have selected removal mode.\nYou can[accent] remove blocks in a rectangle[] by[accent] holding down your finger for a few seconds[] and dragging.\nTry it.
launcheditems = [accent]Launched Items
map.delete = Êtes-vous sûr de vouloir supprimer cette carte ?"[accent]{0}[]"? map.delete = Êtes-vous sûr de vouloir supprimer cette carte ?"[accent]{0}[]"?
level.highscore = Meilleur score: [accent]{0} level.highscore = Meilleur score: [accent]{0}
level.select = Sélection de niveau level.select = Sélection de niveau
@@ -405,6 +406,7 @@ category.items = Objets
category.crafting = Fabrication category.crafting = Fabrication
category.shooting = Défense category.shooting = Défense
category.optional = Améliorations facultatives category.optional = Améliorations facultatives
setting.shadows.name = Shadows
setting.animatedwater.name = Animated Water setting.animatedwater.name = Animated Water
setting.antialias.name = Antialias[LIGHT_GRAY] (requires restart)[] setting.antialias.name = Antialias[LIGHT_GRAY] (requires restart)[]
setting.indicators.name = Indicateurs d'alliés setting.indicators.name = Indicateurs d'alliés
@@ -592,6 +594,8 @@ block.core-foundation.name = Core: Foundation
block.core-nucleus.name = Core: Nucleus block.core-nucleus.name = Core: Nucleus
block.deepwater.name = Eau profonde block.deepwater.name = Eau profonde
block.water.name = Eau block.water.name = Eau
block.tainted-water.name = Tainted Water
block.darksand-tainted-water.name = Dark Sand Tainted Water
block.tar.name = Pétrole block.tar.name = Pétrole
block.stone.name = Roche block.stone.name = Roche
block.sand.name = Sable block.sand.name = Sable

View File

@@ -23,6 +23,7 @@ stat.delivered = Resources Launched:
stat.rank = Final Rank: [accent]{0} stat.rank = Final Rank: [accent]{0}
placeline = You have selected a block.\nYou can[accent] place in a line[] by[accent] holding down your finger for a few seconds[] and dragging in a direction.\nTry it. placeline = You have selected a block.\nYou can[accent] place in a line[] by[accent] holding down your finger for a few seconds[] and dragging in a direction.\nTry it.
removearea = You have selected removal mode.\nYou can[accent] remove blocks in a rectangle[] by[accent] holding down your finger for a few seconds[] and dragging.\nTry it. removearea = You have selected removal mode.\nYou can[accent] remove blocks in a rectangle[] by[accent] holding down your finger for a few seconds[] and dragging.\nTry it.
launcheditems = [accent]Launched Items
map.delete = Apakah kamu yakin ingin menghapus peta "[orange]{0}[]"? map.delete = Apakah kamu yakin ingin menghapus peta "[orange]{0}[]"?
level.highscore = Skor Tinggi: [accent]{0} level.highscore = Skor Tinggi: [accent]{0}
level.select = Pilih Level level.select = Pilih Level
@@ -405,6 +406,7 @@ category.items = Items
category.crafting = Crafting category.crafting = Crafting
category.shooting = Shooting category.shooting = Shooting
category.optional = Optional Enhancements category.optional = Optional Enhancements
setting.shadows.name = Shadows
setting.animatedwater.name = Animated Water setting.animatedwater.name = Animated Water
setting.antialias.name = Antialias[LIGHT_GRAY] (requires restart)[] setting.antialias.name = Antialias[LIGHT_GRAY] (requires restart)[]
setting.indicators.name = Ally Indicators setting.indicators.name = Ally Indicators
@@ -592,6 +594,8 @@ block.core-foundation.name = Core: Foundation
block.core-nucleus.name = Core: Nucleus block.core-nucleus.name = Core: Nucleus
block.deepwater.name = deepwater block.deepwater.name = deepwater
block.water.name = water block.water.name = water
block.tainted-water.name = Tainted Water
block.darksand-tainted-water.name = Dark Sand Tainted Water
block.tar.name = Tar block.tar.name = Tar
block.stone.name = stone block.stone.name = stone
block.sand.name = sand block.sand.name = sand

View File

@@ -23,6 +23,7 @@ stat.delivered = Resources Launched:
stat.rank = Final Rank: [accent]{0} stat.rank = Final Rank: [accent]{0}
placeline = You have selected a block.\nYou can[accent] place in a line[] by[accent] holding down your finger for a few seconds[] and dragging in a direction.\nTry it. placeline = You have selected a block.\nYou can[accent] place in a line[] by[accent] holding down your finger for a few seconds[] and dragging in a direction.\nTry it.
removearea = You have selected removal mode.\nYou can[accent] remove blocks in a rectangle[] by[accent] holding down your finger for a few seconds[] and dragging.\nTry it. removearea = You have selected removal mode.\nYou can[accent] remove blocks in a rectangle[] by[accent] holding down your finger for a few seconds[] and dragging.\nTry it.
launcheditems = [accent]Launched Items
map.delete = Sei sicuro di voler eliminare questa mappa"[accent]{0}[]"? map.delete = Sei sicuro di voler eliminare questa mappa"[accent]{0}[]"?
level.highscore = Miglior punteggio: [accent]{0} level.highscore = Miglior punteggio: [accent]{0}
level.select = Selezione del livello level.select = Selezione del livello
@@ -405,6 +406,7 @@ category.items = Oggetti
category.crafting = Produzione category.crafting = Produzione
category.shooting = Potenza di fuoco category.shooting = Potenza di fuoco
category.optional = Optional Enhancements category.optional = Optional Enhancements
setting.shadows.name = Shadows
setting.animatedwater.name = Animated Water setting.animatedwater.name = Animated Water
setting.antialias.name = Antialias[LIGHT_GRAY] (requires restart)[] setting.antialias.name = Antialias[LIGHT_GRAY] (requires restart)[]
setting.indicators.name = Ally Indicators setting.indicators.name = Ally Indicators
@@ -592,6 +594,8 @@ block.core-foundation.name = Core: Foundation
block.core-nucleus.name = Core: Nucleus block.core-nucleus.name = Core: Nucleus
block.deepwater.name = acqua profonda block.deepwater.name = acqua profonda
block.water.name = acqua block.water.name = acqua
block.tainted-water.name = Tainted Water
block.darksand-tainted-water.name = Dark Sand Tainted Water
block.tar.name = Tar block.tar.name = Tar
block.stone.name = pietra block.stone.name = pietra
block.sand.name = sabbia block.sand.name = sabbia

View File

@@ -23,6 +23,7 @@ stat.delivered = 獲得した資源:
stat.rank = ランク: [accent]{0} stat.rank = ランク: [accent]{0}
placeline = You have selected a block.\nYou can[accent] place in a line[] by[accent] holding down your finger for a few seconds[] and dragging in a direction.\nTry it. placeline = You have selected a block.\nYou can[accent] place in a line[] by[accent] holding down your finger for a few seconds[] and dragging in a direction.\nTry it.
removearea = You have selected removal mode.\nYou can[accent] remove blocks in a rectangle[] by[accent] holding down your finger for a few seconds[] and dragging.\nTry it. removearea = You have selected removal mode.\nYou can[accent] remove blocks in a rectangle[] by[accent] holding down your finger for a few seconds[] and dragging.\nTry it.
launcheditems = [accent]Launched Items
map.delete = マップ "[accent]{0}[]" を削除してもよろしいですか? map.delete = マップ "[accent]{0}[]" を削除してもよろしいですか?
level.highscore = ハイスコア: [accent]{0} level.highscore = ハイスコア: [accent]{0}
level.select = レベル選択 level.select = レベル選択
@@ -405,6 +406,7 @@ category.items = アイテム
category.crafting = 製作速度 category.crafting = 製作速度
category.shooting = 攻撃速度 category.shooting = 攻撃速度
category.optional = 機能強化オプション category.optional = 機能強化オプション
setting.shadows.name = Shadows
setting.animatedwater.name = 水のアニメーション setting.animatedwater.name = 水のアニメーション
setting.antialias.name = Antialias[LIGHT_GRAY] (requires restart)[] setting.antialias.name = Antialias[LIGHT_GRAY] (requires restart)[]
setting.indicators.name = 味方の方角表示 setting.indicators.name = 味方の方角表示
@@ -592,6 +594,8 @@ block.core-foundation.name = コア: ファンデーション
block.core-nucleus.name = コア: ニュークリアス block.core-nucleus.name = コア: ニュークリアス
block.deepwater.name = 深層水 block.deepwater.name = 深層水
block.water.name = block.water.name =
block.tainted-water.name = Tainted Water
block.darksand-tainted-water.name = Dark Sand Tainted Water
block.tar.name = タール block.tar.name = タール
block.stone.name = block.stone.name =
block.sand.name = block.sand.name =

View File

@@ -23,6 +23,7 @@ stat.delivered = 획득한 자원:
stat.rank = 최종 기록: [accent]{0} stat.rank = 최종 기록: [accent]{0}
placeline = You have selected a block.\nYou can[accent] place in a line[] by[accent] holding down your finger for a few seconds[] and dragging in a direction.\nTry it. placeline = You have selected a block.\nYou can[accent] place in a line[] by[accent] holding down your finger for a few seconds[] and dragging in a direction.\nTry it.
removearea = You have selected removal mode.\nYou can[accent] remove blocks in a rectangle[] by[accent] holding down your finger for a few seconds[] and dragging.\nTry it. removearea = You have selected removal mode.\nYou can[accent] remove blocks in a rectangle[] by[accent] holding down your finger for a few seconds[] and dragging.\nTry it.
launcheditems = [accent]Launched Items
map.delete = 정말로 "[accent]{0}[]" 맵을 삭제하시겠습니까?\n map.delete = 정말로 "[accent]{0}[]" 맵을 삭제하시겠습니까?\n
level.highscore = 최고 점수: [accent]{0} level.highscore = 최고 점수: [accent]{0}
level.select = 맵 선택 level.select = 맵 선택
@@ -405,6 +406,7 @@ category.items = 아이템
category.crafting = 제작 category.crafting = 제작
category.shooting = 사격 category.shooting = 사격
category.optional = 보조 아이템 category.optional = 보조 아이템
setting.shadows.name = Shadows
setting.animatedwater.name = 움직이는 물 setting.animatedwater.name = 움직이는 물
setting.antialias.name = Antialias[LIGHT_GRAY] (requires restart)[] setting.antialias.name = Antialias[LIGHT_GRAY] (requires restart)[]
setting.indicators.name = 아군/적 인디게이터 표시 setting.indicators.name = 아군/적 인디게이터 표시
@@ -592,6 +594,8 @@ block.core-foundation.name = 코어: 기초
block.core-nucleus.name = 코어: 핵 block.core-nucleus.name = 코어: 핵
block.deepwater.name = 깊은물 block.deepwater.name = 깊은물
block.water.name = block.water.name =
block.tainted-water.name = Tainted Water
block.darksand-tainted-water.name = Dark Sand Tainted Water
block.tar.name = 타르 block.tar.name = 타르
block.stone.name = block.stone.name =
block.sand.name = 모래 block.sand.name = 모래

View File

@@ -23,6 +23,7 @@ stat.delivered = Middelen Gelanceerd:
stat.rank = Eindrang: [accent]{0} stat.rank = Eindrang: [accent]{0}
placeline = You have selected a block.\nYou can[accent] place in a line[] by[accent] holding down your finger for a few seconds[] and dragging in a direction.\nTry it. placeline = You have selected a block.\nYou can[accent] place in a line[] by[accent] holding down your finger for a few seconds[] and dragging in a direction.\nTry it.
removearea = You have selected removal mode.\nYou can[accent] remove blocks in a rectangle[] by[accent] holding down your finger for a few seconds[] and dragging.\nTry it. removearea = You have selected removal mode.\nYou can[accent] remove blocks in a rectangle[] by[accent] holding down your finger for a few seconds[] and dragging.\nTry it.
launcheditems = [accent]Launched Items
map.delete = Weet je zeker dat je de map wilt verwijderen? "[accent]{0}[]"? map.delete = Weet je zeker dat je de map wilt verwijderen? "[accent]{0}[]"?
level.highscore = Topscore: [accent]{0} level.highscore = Topscore: [accent]{0}
level.select = Selecteer Level level.select = Selecteer Level
@@ -405,6 +406,7 @@ category.items = Items
category.crafting = Crafting category.crafting = Crafting
category.shooting = Shooting category.shooting = Shooting
category.optional = Optional Enhancements category.optional = Optional Enhancements
setting.shadows.name = Shadows
setting.animatedwater.name = Animated Water setting.animatedwater.name = Animated Water
setting.antialias.name = Antialias[LIGHT_GRAY] (requires restart)[] setting.antialias.name = Antialias[LIGHT_GRAY] (requires restart)[]
setting.indicators.name = Ally Indicators setting.indicators.name = Ally Indicators
@@ -592,6 +594,8 @@ block.core-foundation.name = Core: Foundation
block.core-nucleus.name = Core: Nucleus block.core-nucleus.name = Core: Nucleus
block.deepwater.name = Deep Water block.deepwater.name = Deep Water
block.water.name = Water block.water.name = Water
block.tainted-water.name = Tainted Water
block.darksand-tainted-water.name = Dark Sand Tainted Water
block.tar.name = Tar block.tar.name = Tar
block.stone.name = Stone block.stone.name = Stone
block.sand.name = Dark Sand block.sand.name = Dark Sand

View File

@@ -23,6 +23,7 @@ stat.delivered = Surowce wystrzelone:
stat.rank = Final Rank: [accent]{0} stat.rank = Final Rank: [accent]{0}
placeline = You have selected a block.\nYou can[accent] place in a line[] by[accent] holding down your finger for a few seconds[] and dragging in a direction.\nTry it. placeline = You have selected a block.\nYou can[accent] place in a line[] by[accent] holding down your finger for a few seconds[] and dragging in a direction.\nTry it.
removearea = You have selected removal mode.\nYou can[accent] remove blocks in a rectangle[] by[accent] holding down your finger for a few seconds[] and dragging.\nTry it. removearea = You have selected removal mode.\nYou can[accent] remove blocks in a rectangle[] by[accent] holding down your finger for a few seconds[] and dragging.\nTry it.
launcheditems = [accent]Launched Items
map.delete = Jesteś pewny, że chcesz usunąć "[accent]{0}[]"? map.delete = Jesteś pewny, że chcesz usunąć "[accent]{0}[]"?
level.highscore = Rekord: [accent]{0} level.highscore = Rekord: [accent]{0}
level.select = Wybrany poziom level.select = Wybrany poziom
@@ -405,6 +406,7 @@ category.items = Przedmioty
category.crafting = Przetwórstwo category.crafting = Przetwórstwo
category.shooting = Strzelanie category.shooting = Strzelanie
category.optional = Ulepszenia Nieobowiąskowe category.optional = Ulepszenia Nieobowiąskowe
setting.shadows.name = Shadows
setting.animatedwater.name = Animated Water setting.animatedwater.name = Animated Water
setting.antialias.name = Antialias[LIGHT_GRAY] (requires restart)[] setting.antialias.name = Antialias[LIGHT_GRAY] (requires restart)[]
setting.indicators.name = Wskaźniki Przyjaciół setting.indicators.name = Wskaźniki Przyjaciół
@@ -592,6 +594,8 @@ block.core-foundation.name = Rdzeń: Podstawa
block.core-nucleus.name = Core: Nucleus block.core-nucleus.name = Core: Nucleus
block.deepwater.name = Głęboka Woda block.deepwater.name = Głęboka Woda
block.water.name = Woda block.water.name = Woda
block.tainted-water.name = Tainted Water
block.darksand-tainted-water.name = Dark Sand Tainted Water
block.tar.name = Smoła block.tar.name = Smoła
block.stone.name = Kamień block.stone.name = Kamień
block.sand.name = Piasek block.sand.name = Piasek

View File

@@ -10,28 +10,29 @@ link.itch.io.description = Pagina da Itch.io com os Downloads
link.google-play.description = Listamento do google play store link.google-play.description = Listamento do google play store
link.wiki.description = Wiki oficial do Mindustry link.wiki.description = Wiki oficial do Mindustry
linkfail = Falha ao abrir o link\nO Url foi copiado linkfail = Falha ao abrir o link\nO Url foi copiado
screenshot = Screenshot saved to {0} screenshot = Screenshot salvo para {0}
gameover = O núcleo foi destruído. gameover = O núcleo foi destruído.
gameover.pvp = O time[accent] {0}[] É vitorioso! gameover.pvp = O time[accent] {0}[] É vitorioso!
highscore = [YELLOW]Novo recorde! highscore = [YELLOW]Novo recorde!
stat.wave = Waves Defeated:[accent] {0} stat.wave = Ondas derrotadas:[accent] {0}
stat.enemiesDestroyed = Enemies Destroyed:[accent] {0} stat.enemiesDestroyed = Enimigos Destruídos:[accent] {0}
stat.built = Buildings Built:[accent] {0} stat.built = Construções construídas:[accent] {0}
stat.destroyed = Buildings Destroyed:[accent] {0} stat.destroyed = Construções destruídas:[accent] {0}
stat.deconstructed = Buildings Deconstructed:[accent] {0} stat.deconstructed = Construções desconstruídas:[accent] {0}
stat.delivered = Resources Launched: stat.delivered = Recursos lançados:
stat.rank = Final Rank: [accent]{0} stat.rank = Rank Final: [accent]{0}
placeline = You have selected a block.\nYou can[accent] place in a line[] by[accent] holding down your finger for a few seconds[] and dragging in a direction.\nTry it. placeline = Você selecionou um bloco.\nVocê pode[accent] colocar uma linha[] por[accent] carregar o seu dedo por alguns segundos[] e arrastar em uma direção.\nTente.
removearea = You have selected removal mode.\nYou can[accent] remove blocks in a rectangle[] by[accent] holding down your finger for a few seconds[] and dragging.\nTry it. removearea = Você selecionou o modo de remoção.\nVocê pode[accent] remover blocos dentro de um retângulo[] por[accent] carregar o seu dedo por alguns segundos[] e arrastar.\nTente.
launcheditems = [accent]Launched Items
map.delete = Certeza que quer deletar o mapa "[accent]{0}[]"? map.delete = Certeza que quer deletar o mapa "[accent]{0}[]"?
level.highscore = Melhor\npontuação: [accent] {0} level.highscore = Melhor\npontuação: [accent] {0}
level.select = Seleção de Fase level.select = Seleção de Fase
level.mode = Modo de Jogo: level.mode = Modo de Jogo:
showagain = Não mostrar na proxima sessão showagain = Não mostrar na proxima sessão
coreattack = < O núcleo está sobre ataque! > coreattack = < O núcleo está sobre ataque! >
nearpoint = [[ [scarlet]LEAVE DROP POINT IMMEDIATELY[] ]\nannihilation imminent nearpoint = [[ [scarlet]SAIA DO PONTO DE SPAWN IMEDIATAMENTE[] ]\naniquilação iminente
outofbounds = [[ OUT OF BOUNDS ]\n[]self-destruct in {0} outofbounds = [[ OUT OF BOUNDS ]\n[]auto destruição em {0}
database = Core Database database = banco do núcleo
savegame = Salvar Jogo savegame = Salvar Jogo
loadgame = Carregar Jogo loadgame = Carregar Jogo
joingame = Entrar no Jogo joingame = Entrar no Jogo
@@ -42,18 +43,18 @@ none = <none>
close = Fechar close = Fechar
quit = Sair quit = Sair
maps = Mapas maps = Mapas
continue = Continue continue = Continuar
maps.none = [LIGHT_GRAY]Nenhum Mapa Encontrado! maps.none = [LIGHT_GRAY]Nenhum Mapa Encontrado!
about.button = Sobre about.button = Sobre
name = Nome: name = Nome:
noname = Pick a[accent] player name[] first. noname = Pegue[accent] um nome[] primeiro.
filename = Nome do arquivo: filename = Nome do arquivo:
unlocked = Novo bloco Desbloqueado! unlocked = Novo bloco Desbloqueado!
completed = [accent]Completed completed = [accent]Completado
techtree = Tech Tree techtree = Árvore de tecnologia
research.list = [LIGHT_GRAY]Research: research.list = [LIGHT_GRAY]Pesquise:
research = Research research = Pesquisa
researched = [LIGHT_GRAY]{0} researched. researched = [LIGHT_GRAY]{0} pesquisado.
players = {0} Jogadores Ativos players = {0} Jogadores Ativos
players.single = {0} Jogador Ativo players.single = {0} Jogador Ativo
server.closing = [accent]Fechando servidor... server.closing = [accent]Fechando servidor...
@@ -67,7 +68,7 @@ server.kicked.nameInUse = Este nome ja esta sendo usado\nneste servidor.
server.kicked.nameEmpty = Voce deve ter pelo menos uma letra ou numero. server.kicked.nameEmpty = Voce deve ter pelo menos uma letra ou numero.
server.kicked.idInUse = Voce ja esta neste servidor! Conectar com duas contas não é permitido. server.kicked.idInUse = Voce ja esta neste servidor! Conectar com duas contas não é permitido.
server.kicked.customClient = Este servidor não suporta construções customizadas. Baixe a versão original. server.kicked.customClient = Este servidor não suporta construções customizadas. Baixe a versão original.
server.kicked.gameover = Game over! server.kicked.gameover = Fim de jogo!
host.info = The [accent]Hospedar[]Botão Hopeda um servidor no Host[scarlet]6567[] e [scarlet]6568.[]\nQualquer um no [LIGHT_GRAY]Wi-fi Ou Internet local[] Pode ver este servidor na lista de servidores.\n\nSe voce quer poder entrar em qualquer servidor em seu ip, [accent]port forwarding[] é requerido.\n\n[LIGHT_GRAY]Note: Se alguem esta com problemas em conectar no seu servidor lan, Tenha certeza que deixou mindustry Acessar sua internet local nas configurações de firewall host.info = The [accent]Hospedar[]Botão Hopeda um servidor no Host[scarlet]6567[] e [scarlet]6568.[]\nQualquer um no [LIGHT_GRAY]Wi-fi Ou Internet local[] Pode ver este servidor na lista de servidores.\n\nSe voce quer poder entrar em qualquer servidor em seu ip, [accent]port forwarding[] é requerido.\n\n[LIGHT_GRAY]Note: Se alguem esta com problemas em conectar no seu servidor lan, Tenha certeza que deixou mindustry Acessar sua internet local nas configurações de firewall
join.info = Aqui, Você pode entar em um [accent]IP De servidor[] Para conectar, Ou descobrir [accent]Servidores[] Da rede local.\nAmbos os servidores LAN e WAN São suportados.\n\n[LIGHT_GRAY]Note: Não tem uma lista de servidores automaticos; Se você quer conectar ao IP de alguem, Você precisa pedir o IP Ao Rosteador. join.info = Aqui, Você pode entar em um [accent]IP De servidor[] Para conectar, Ou descobrir [accent]Servidores[] Da rede local.\nAmbos os servidores LAN e WAN São suportados.\n\n[LIGHT_GRAY]Note: Não tem uma lista de servidores automaticos; Se você quer conectar ao IP de alguem, Você precisa pedir o IP Ao Rosteador.
hostserver = Hospedar servidor hostserver = Hospedar servidor
@@ -157,11 +158,11 @@ openlink = Abrir Link
copylink = Copiar link copylink = Copiar link
back = Voltar back = Voltar
quit.confirm = Você tem certeza que quer sair? quit.confirm = Você tem certeza que quer sair?
changelog.title = Changelog changelog.title = registro de Mudanças
changelog.loading = Coletando changelog... changelog.loading = Coletando o registro...
changelog.error.android = [accent]Note que a Changelog as vezes Funciona no android 4.4 e abaixo!\nIsso é por causa de um erro interno no sistema android. changelog.error.android = [accent]Note que o registro as vezes Funciona no android 4.4 e abaixo!\nIsso é por causa de um erro interno no sistema android.
changelog.error.ios = [accent]A changelog não é suportada no IOS. changelog.error.ios = [accent]A registro não é suportada no IOS.
changelog.error = [scarlet]Erro ao coletar Changelog!\nCheque a Conexão com a internet. changelog.error = [scarlet]Erro ao coletar o registro!\nCheque a Conexão com a internet.
changelog.current = [yellow][[Primeira versão] changelog.current = [yellow][[Primeira versão]
changelog.latest = [accent][[Ultima versão] changelog.latest = [accent][[Ultima versão]
loading = [accent]Carregando... loading = [accent]Carregando...
@@ -169,9 +170,9 @@ saving = [accent]Salvando...
wave = [accent]Horda {0} wave = [accent]Horda {0}
wave.waiting = Horda em {0} wave.waiting = Horda em {0}
waiting = Aguardando... waiting = Aguardando...
waiting.players = Waiting for players... waiting.players = Esperando por jogadores...
wave.enemies = [LIGHT_GRAY]{0} Enemies Remaining wave.enemies = [LIGHT_GRAY]{0} Enimigos Restantes
wave.enemy = [LIGHT_GRAY]{0} Enemy Remaining wave.enemy = [LIGHT_GRAY]{0} Enimigo Restante
loadimage = Carregar\nImagem loadimage = Carregar\nImagem
saveimage = Salvar\nImagem saveimage = Salvar\nImagem
unknown = Desconhecido unknown = Desconhecido
@@ -189,32 +190,32 @@ editor.oregen.info = Geração de minério:
editor.mapinfo = Informação do mapa editor.mapinfo = Informação do mapa
editor.author = Autor: editor.author = Autor:
editor.description = Descrição: editor.description = Descrição:
editor.waves = Waves: editor.waves = Ondas:
waves.title = Waves waves.title = Ondas
waves.remove = Remove waves.remove = Remover
waves.never = <never> waves.never = <nunca>
waves.every = every waves.every = a casa
waves.waves = wave(s) waves.waves = ondas(s)
waves.perspawn = per spawn waves.perspawn = por spawn
waves.to = to waves.to = para
waves.boss = Boss waves.boss = Boss
waves.preview = Preview waves.preview = Prever
waves.edit = Edit... waves.edit = Editar...
waves.copy = Copy to Clipboard waves.copy = Copiar para área de transferência
waves.load = Load from Clipboard waves.load = carregar da área de transferência
waves.invalid = Invalid waves in clipboard. waves.invalid = Ondas inválidas na área de transferência.
waves.copied = Waves copied. waves.copied = Ondas copiadas.
editor.default = [LIGHT_GRAY]<Default> editor.default = [LIGHT_GRAY]<padrão>
edit = Edit... edit = Editar...
editor.name = Nome: editor.name = Nome:
editor.teams = Time editor.teams = Time
editor.elevation = Elevação editor.elevation = Elevação
editor.errorload = Error loading file:\n[accent]{0} editor.errorload = Erro carregando arquivo:\n[accent]{0}
editor.errorsave = Error saving file:\n[accent]{0} editor.errorsave = Erro salvando arquivo:\n[accent]{0}
editor.errorname = Map has no name defined. editor.errorname = Mapa não tem nome definido.
editor.update = Update editor.update = atualizar
editor.randomize = Randomize editor.randomize = Randomizar
editor.apply = Apply editor.apply = Aplicar
editor.generate = Gerar editor.generate = Gerar
editor.resize = Redimen\n sionar editor.resize = Redimen\n sionar
editor.loadmap = Carregar\n Mapa editor.loadmap = Carregar\n Mapa
@@ -243,26 +244,26 @@ editor.mapname = Nome do Mapa:
editor.overwrite = [accent]Aviso!\nIsso Subistitui um mapa existente. editor.overwrite = [accent]Aviso!\nIsso Subistitui um mapa existente.
editor.overwrite.confirm = [scarlet]Aviso![] Um mapa com esse nome já existe. Tem certeza que deseja substituir? editor.overwrite.confirm = [scarlet]Aviso![] Um mapa com esse nome já existe. Tem certeza que deseja substituir?
editor.selectmap = Selecione uma mapa para carregar: editor.selectmap = Selecione uma mapa para carregar:
filters.empty = [LIGHT_GRAY]No filters! Add one with the button below. filters.empty = [LIGHT_GRAY]Sem filtro! Adicione um usando o botão abaixo.
filter.distort = Distort filter.distort = Distorcer
filter.noise = Noise filter.noise = Ruído
filter.ore = Ore filter.ore = Minério
filter.rivernoise = River Noise filter.rivernoise = Ruído para rios
filter.scatter = Scatter filter.scatter = Scatter
filter.terrain = Terrain filter.terrain = Terreno
filter.option.scale = Scale filter.option.scale = Escala
filter.option.chance = Chance filter.option.chance = Chance
filter.option.mag = Magnitude filter.option.mag = Magnitude
filter.option.threshold = Threshold filter.option.threshold = Margem
filter.option.circle-scale = Circle Scale filter.option.circle-scale = Escala de círculo
filter.option.octaves = Octaves filter.option.octaves = Oitavas
filter.option.falloff = Falloff filter.option.falloff = Falloff
filter.option.block = Block filter.option.block = Bloco
filter.option.floor = Floor filter.option.floor = Chão
filter.option.wall = Wall filter.option.wall = Parede
filter.option.ore = Ore filter.option.ore = Minério
filter.option.floor2 = Secondary Floor filter.option.floor2 = Chão decundário
filter.option.threshold2 = Secondary Threshold filter.option.threshold2 = Margem secundária
width = Largura: width = Largura:
height = Altura: height = Altura:
menu = Menu menu = Menu
@@ -279,16 +280,16 @@ editor = Editor
mapeditor = Editor de mapa mapeditor = Editor de mapa
donate = Doar donate = Doar
abandon = Abandonar abandon = Abandonar
abandon.text = This zone and all its resources will be lost to the enemy. abandon.text = Esta zona e todos os seus recursos serão perdidos para o enimigo.
locked = Trancado locked = Trancado
complete = [LIGHT_GRAY]Complete: complete = [LIGHT_GRAY]Complete:
resume = Resume Zone:\n[LIGHT_GRAY]{0} resume = Resumir Zona:\n[LIGHT_GRAY]{0}
bestwave = [LIGHT_GRAY]Best: {0} bestwave = [LIGHT_GRAY]Melhor: {0}
launch = Launch launch = Lançar
launch.title = Launch Successful launch.title = Lançamento feito com sucesso
launch.next = [LIGHT_GRAY]next opportunity at wave {0} launch.next = [LIGHT_GRAY]próxima oportunidade na onda {0}
launch.unable = [scarlet]Unable to LAUNCH.[] Enemies. launch.unable = [scarlet]Incapaz de LANÇAR.[] Enimigos.
launch.confirm = This will launch all resources in your core.\nYou will not be able to return to this base. launch.confirm = Isto vai lançar todos os seus recursos no seu núcleo.\nVoce não será capaz de retornar para esta base.
uncover = Uncover uncover = Uncover
configure = Configure Loadout configure = Configure Loadout
configure.locked = [LIGHT_GRAY]Reach wave {0}\nto configure loadout. configure.locked = [LIGHT_GRAY]Reach wave {0}\nto configure loadout.
@@ -405,6 +406,7 @@ category.items = Itens
category.crafting = Construindo category.crafting = Construindo
category.shooting = Atirando category.shooting = Atirando
category.optional = Melhoras opcionais category.optional = Melhoras opcionais
setting.shadows.name = Shadows
setting.animatedwater.name = Animated Water setting.animatedwater.name = Animated Water
setting.antialias.name = Antialias[LIGHT_GRAY] (requires restart)[] setting.antialias.name = Antialias[LIGHT_GRAY] (requires restart)[]
setting.indicators.name = Ally Indicators setting.indicators.name = Ally Indicators
@@ -592,6 +594,8 @@ block.core-foundation.name = Core: Foundation
block.core-nucleus.name = Core: Nucleus block.core-nucleus.name = Core: Nucleus
block.deepwater.name = água funda block.deepwater.name = água funda
block.water.name = Água block.water.name = Água
block.tainted-water.name = Tainted Water
block.darksand-tainted-water.name = Dark Sand Tainted Water
block.tar.name = Tar block.tar.name = Tar
block.stone.name = Pedra block.stone.name = Pedra
block.sand.name = Areia block.sand.name = Areia

View File

@@ -21,8 +21,9 @@ stat.destroyed = Строений уничтожено:[accent] {0}
stat.deconstructed = Строений деконструировано:[accent] {0} stat.deconstructed = Строений деконструировано:[accent] {0}
stat.delivered = Ресурсов добыто: stat.delivered = Ресурсов добыто:
stat.rank = Финальный Счёт: [accent]{0} stat.rank = Финальный Счёт: [accent]{0}
placeline = Вы выбрали блок.\nВы можете[accent] строить в линию[], сначало[accent] удерживая палец в течение нескольких секунд[] и потом перетаскивая его.\n\nПопробуйте. placeline = Вы выбрали блок.\nВы можете[accent] строить в линию[], сначала[accent] удерживая палец в течение нескольких секунд[] и потом перетаскивая его.\n\n[scarlet]СДЕЛАЙ ЭТО.
removearea = Вы выбрали режим удаления.\nВы можете[accent] удалать блоки по прямоугольнику[], [accent]удерживая палец несколько секунд[] и потом перетаскивая его.\n\nПопробуйте. removearea = Вы выбрали режим удаления.\nВы можете[accent] удалять блоки в выбранной области[], [accent]удерживая палец несколько секунд[] и потом перетаскивая его.\n\n[scarlet]СДЕЛАЙ ЭТО
launcheditems = [accent]Запущенные предметы
map.delete = Вы действительно хотите удалить карту "[accent]{0}[]"? map.delete = Вы действительно хотите удалить карту "[accent]{0}[]"?
level.highscore = Рекорд: [accent]{0} level.highscore = Рекорд: [accent]{0}
level.select = Выбор карты level.select = Выбор карты
@@ -244,25 +245,25 @@ editor.overwrite = [accent]Внимание! \nЭто перезапишет у
editor.overwrite.confirm = [scarlet]Осторожно![] Карта с таким названием уже существует. Вы действительно хотите её перезаписать? editor.overwrite.confirm = [scarlet]Осторожно![] Карта с таким названием уже существует. Вы действительно хотите её перезаписать?
editor.selectmap = Выберите карту для загрузки: editor.selectmap = Выберите карту для загрузки:
filters.empty = [LIGHT_GRAY]Нет фильтров. Добавьте один при помощи кнопки ниже filters.empty = [LIGHT_GRAY]Нет фильтров. Добавьте один при помощи кнопки ниже
filter.distort = Distort filter.distort = Искажение
filter.noise = Noise filter.noise = Шум
filter.ore = Ore filter.ore = Руда
filter.rivernoise = River Noise filter.rivernoise = Речной Шум
filter.scatter = Scatter filter.scatter = Распылитель
filter.terrain = Terrain filter.terrain = Ландшафт
filter.option.scale = Scale filter.option.scale = Масштаб
filter.option.chance = Chance filter.option.chance = Шанс
filter.option.mag = Magnitude filter.option.mag = Величина
filter.option.threshold = Threshold filter.option.threshold = Спад
filter.option.circle-scale = Circle Scale filter.option.circle-scale = Круговая шкала
filter.option.octaves = Octaves filter.option.octaves = Октавы
filter.option.falloff = Falloff filter.option.falloff = Спад
filter.option.block = Block filter.option.block = Блок
filter.option.floor = Floor filter.option.floor = Поверхность
filter.option.wall = Wall filter.option.wall = Стена
filter.option.ore = Ore filter.option.ore = Руда
filter.option.floor2 = Secondary Floor filter.option.floor2 = Вторая поверхность
filter.option.threshold2 = Secondary Threshold filter.option.threshold2 = Вторичный спад
width = Ширина: width = Ширина:
height = Высота: height = Высота:
menu = Меню menu = Меню
@@ -333,7 +334,7 @@ info.title = Информация
error.title = [crimson]Произошла ошибка error.title = [crimson]Произошла ошибка
error.crashtitle = Произошла ошибка error.crashtitle = Произошла ошибка
blocks.outputspeed = Скорость сверления: {0}/с blocks.outputspeed = Скорость сверления: {0}/с
blocks.efficiency = Ефективність: {0}% blocks.efficiency = Эффективность: {0}%
blocks.unknown = [LIGHT_GRAY]??? blocks.unknown = [LIGHT_GRAY]???
blocks.blockinfo = Информация о блоке blocks.blockinfo = Информация о блоке
blocks.powerbalance = Энергия: {0} blocks.powerbalance = Энергия: {0}
@@ -405,8 +406,9 @@ category.items = Предметы
category.crafting = Ввод/вывод category.crafting = Ввод/вывод
category.shooting = рельба category.shooting = рельба
category.optional = Дополнительные улучшения category.optional = Дополнительные улучшения
setting.shadows.name = Shadows
setting.animatedwater.name = Анимированная вода setting.animatedwater.name = Анимированная вода
setting.antialias.name = Antialias[LIGHT_GRAY] (requires restart)[] setting.antialias.name = Сглаживание[LIGHT_GRAY] (требует перезапуска)[]
setting.indicators.name = Показывать в сторону союзников и врагов setting.indicators.name = Показывать в сторону союзников и врагов
setting.autotarget.name = Авто-стрельба setting.autotarget.name = Авто-стрельба
setting.fpscap.name = Макс. FPS setting.fpscap.name = Макс. FPS
@@ -425,7 +427,7 @@ setting.sensitivity.name = Чувствительность контроллер
setting.saveinterval.name = Интервал автосохранения setting.saveinterval.name = Интервал автосохранения
setting.seconds = {0} Секунд setting.seconds = {0} Секунд
setting.fullscreen.name = Полноэкранный режим setting.fullscreen.name = Полноэкранный режим
setting.borderless.name = Borderless Window setting.borderless.name = Окно без границ
setting.fps.name = Показывать FPS setting.fps.name = Показывать FPS
setting.vsync.name = Верт. синхронизация setting.vsync.name = Верт. синхронизация
setting.lasers.name = Показывать энергию лазеров setting.lasers.name = Показывать энергию лазеров
@@ -592,15 +594,17 @@ block.core-foundation.name = Ядро: Штаб
block.core-nucleus.name = Ядро: Атом block.core-nucleus.name = Ядро: Атом
block.deepwater.name = Глубоководье block.deepwater.name = Глубоководье
block.water.name = Вода block.water.name = Вода
block.tainted-water.name = Tainted Water
block.darksand-tainted-water.name = Dark Sand Tainted Water
block.tar.name = Дёготь block.tar.name = Дёготь
block.stone.name = Камень block.stone.name = Камень
block.sand.name = Тёмный песок block.sand.name = Песок
block.darksand.name = Dark Sand block.darksand.name = Тёмный песок
block.ice.name = Лёд block.ice.name = Лёд
block.snow.name = Снег block.snow.name = Снег
block.craters.name = Кратеры block.craters.name = Кратеры
block.sand-water.name = Песок с водой block.sand-water.name = Песок с водой
block.darksand-water.name = Dark Sand Water block.darksand-water.name = Тёмный песок с водой
block.char.name = Выжженная Земля block.char.name = Выжженная Земля
block.holostone.name = Голографический камень block.holostone.name = Голографический камень
block.ice-snow.name = Ледяной Снег block.ice-snow.name = Ледяной Снег

View File

@@ -23,6 +23,7 @@ stat.delivered = Resources Launched:
stat.rank = Final Rank: [accent]{0} stat.rank = Final Rank: [accent]{0}
placeline = You have selected a block.\nYou can[accent] place in a line[] by[accent] holding down your finger for a few seconds[] and dragging in a direction.\nTry it. placeline = You have selected a block.\nYou can[accent] place in a line[] by[accent] holding down your finger for a few seconds[] and dragging in a direction.\nTry it.
removearea = You have selected removal mode.\nYou can[accent] remove blocks in a rectangle[] by[accent] holding down your finger for a few seconds[] and dragging.\nTry it. removearea = You have selected removal mode.\nYou can[accent] remove blocks in a rectangle[] by[accent] holding down your finger for a few seconds[] and dragging.\nTry it.
launcheditems = [accent]Launched Items
map.delete = Su haritayi silmek istediginden emin misin? "[accent]{0}[]"? map.delete = Su haritayi silmek istediginden emin misin? "[accent]{0}[]"?
level.highscore = Yuksek Skor: [accent]{0} level.highscore = Yuksek Skor: [accent]{0}
level.select = Seviye secimi level.select = Seviye secimi
@@ -405,6 +406,7 @@ category.items = esyalar
category.crafting = uretim category.crafting = uretim
category.shooting = sikma category.shooting = sikma
category.optional = Optional Enhancements category.optional = Optional Enhancements
setting.shadows.name = Shadows
setting.animatedwater.name = Animated Water setting.animatedwater.name = Animated Water
setting.antialias.name = Antialias[LIGHT_GRAY] (requires restart)[] setting.antialias.name = Antialias[LIGHT_GRAY] (requires restart)[]
setting.indicators.name = Ally Indicators setting.indicators.name = Ally Indicators
@@ -592,6 +594,8 @@ block.core-foundation.name = Core: Foundation
block.core-nucleus.name = Core: Nucleus block.core-nucleus.name = Core: Nucleus
block.deepwater.name = su alti block.deepwater.name = su alti
block.water.name = su block.water.name = su
block.tainted-water.name = Tainted Water
block.darksand-tainted-water.name = Dark Sand Tainted Water
block.tar.name = Tar block.tar.name = Tar
block.stone.name = tas block.stone.name = tas
block.sand.name = kum block.sand.name = kum

View File

@@ -23,6 +23,7 @@ stat.delivered = Resources Launched:
stat.rank = Final Rank: [accent]{0} stat.rank = Final Rank: [accent]{0}
placeline = You have selected a block.\nYou can[accent] place in a line[] by[accent] holding down your finger for a few seconds[] and dragging in a direction.\nTry it. placeline = You have selected a block.\nYou can[accent] place in a line[] by[accent] holding down your finger for a few seconds[] and dragging in a direction.\nTry it.
removearea = You have selected removal mode.\nYou can[accent] remove blocks in a rectangle[] by[accent] holding down your finger for a few seconds[] and dragging.\nTry it. removearea = You have selected removal mode.\nYou can[accent] remove blocks in a rectangle[] by[accent] holding down your finger for a few seconds[] and dragging.\nTry it.
launcheditems = [accent]Launched Items
map.delete = Su haritayi silmek istedigine emin misin? "[orange]{0}[]"? map.delete = Su haritayi silmek istedigine emin misin? "[orange]{0}[]"?
level.highscore = Yüksek Puan: [accent] {0} level.highscore = Yüksek Puan: [accent] {0}
level.select = Seviye Seç level.select = Seviye Seç
@@ -405,6 +406,7 @@ category.items = Items
category.crafting = Crafting category.crafting = Crafting
category.shooting = Shooting category.shooting = Shooting
category.optional = Optional Enhancements category.optional = Optional Enhancements
setting.shadows.name = Shadows
setting.animatedwater.name = Animated Water setting.animatedwater.name = Animated Water
setting.antialias.name = Antialias[LIGHT_GRAY] (requires restart)[] setting.antialias.name = Antialias[LIGHT_GRAY] (requires restart)[]
setting.indicators.name = Ally Indicators setting.indicators.name = Ally Indicators
@@ -592,6 +594,8 @@ block.core-foundation.name = Core: Foundation
block.core-nucleus.name = Core: Nucleus block.core-nucleus.name = Core: Nucleus
block.deepwater.name = deepwater block.deepwater.name = deepwater
block.water.name = water block.water.name = water
block.tainted-water.name = Tainted Water
block.darksand-tainted-water.name = Dark Sand Tainted Water
block.tar.name = Tar block.tar.name = Tar
block.stone.name = stone block.stone.name = stone
block.sand.name = sand block.sand.name = sand

View File

@@ -1,4 +1,4 @@
credits.text = Створив [ROYAL]Anuken[] - [SKY]anukendev@gmail.com[]\n\nЄ питання по грі або проблеми с перекладом? Іди в офіційний сервер discord Mindustry в канал #український. credits.text = Створив [ROYAL]Anuken[] - [SKY]anukendev@gmail.com[]\n\nЄ питання по грі або проблеми с перекладом?\nЙди в офіційний сервер discord Mindustry в канал #український.\nПерекладач:Prosta4ok_ua
credits = Автори credits = Автори
contributors = Перекладачі та Помічники contributors = Перекладачі та Помічники
discord = Приєднуйтесь до нашого Discord! discord = Приєднуйтесь до нашого Discord!
@@ -21,9 +21,10 @@ stat.destroyed = Будівель знищено:[accent] {0}
stat.deconstructed = Будівель декоструйовано[accent] {0} stat.deconstructed = Будівель декоструйовано[accent] {0}
stat.delivered = Ресурсів здобуто: stat.delivered = Ресурсів здобуто:
stat.rank = Фінальний рахунок: [accent]{0} stat.rank = Фінальний рахунок: [accent]{0}
placeline = You have selected a block.\nYou can[accent] place in a line[] by[accent] holding down your finger for a few seconds[] and dragging in a direction.\nTry it. placeline =Ви вибрали блок.\nВи можете[accent] будувати в лінію[] [accent] утримуючи палець протягом декількох секунд[] і потім перетягуючи його.\n\n[scarlet]ЗРОБИ ЦЕ.
removearea = You have selected removal mode.\nYou can[accent] remove blocks in a rectangle[] by[accent] holding down your finger for a few seconds[] and dragging.\nTry it. removearea = Ви вибрали режим видалення.\nВи можете[accent] видаляти блоки в обраній області[],[accent] утримуючи палець кілька секунд [] і потім перетягуючи його.\n\n[scarlet]ЗРОБИ ЦЕ.
map.delete = Ви впевнені, що хочете видалити карту "[accent]{0}[]"? launcheditems = [accent]Запущені предмети
map.delete = Ви впевнені, що хочете видалити мапу "[accent]{0}[]"?
level.highscore = Рекорд: [accent]{0} level.highscore = Рекорд: [accent]{0}
level.select = Вибір мапи level.select = Вибір мапи
level.mode = Режим гри: level.mode = Режим гри:
@@ -43,7 +44,7 @@ close = Закрити
quit = Вийти quit = Вийти
maps = Мапи maps = Мапи
continue = Продовжити continue = Продовжити
maps.none = [LIGHT_GRAY]Карт не знайдено! maps.none = [LIGHT_GRAY]Мап не знайдено!
about.button = Про гру about.button = Про гру
name = Нік: name = Нік:
noname = Спочатку придумайте[accent] собі нікнейм[]. noname = Спочатку придумайте[accent] собі нікнейм[].
@@ -71,7 +72,7 @@ server.kicked.gameover = Гра завершена!
host.info = Кнопка [accent]Сервер[] розміщує сервер на порті [scarlet]6567[]. \nКористувачі, які знаходяться у тій же [LIGHT_GRAY] WiFi або локальній мережі[] повинні бачити ваш сервер у своєму списку серверів.\n\nЯкщо ви хочете, щоб люди могли приєднуватися з будь-якої точки через IP, то [accent] переадресація порту [] обов'язкова.\n\n[LIGHT_GRAY] Примітка. Якщо у вас виникли проблеми з підключенням до вашої локальної гри, переконайтеся, що ви дозволили Mindustry доступ до вашої локальної мережі в налаштуваннях брандмауера. host.info = Кнопка [accent]Сервер[] розміщує сервер на порті [scarlet]6567[]. \nКористувачі, які знаходяться у тій же [LIGHT_GRAY] WiFi або локальній мережі[] повинні бачити ваш сервер у своєму списку серверів.\n\nЯкщо ви хочете, щоб люди могли приєднуватися з будь-якої точки через IP, то [accent] переадресація порту [] обов'язкова.\n\n[LIGHT_GRAY] Примітка. Якщо у вас виникли проблеми з підключенням до вашої локальної гри, переконайтеся, що ви дозволили Mindustry доступ до вашої локальної мережі в налаштуваннях брандмауера.
join.info = Тут ви можете ввести [accent]IP серверу[] для підключення або знайти сервери у [accent]локальній мережі[] для підключення до них.\nПідтримується локальна мережа(LAN) і широкосмугова мережа(WAN).\n\n[LIGHT_GRAY] Примітка. Тут немає автоматичного глобального списку серверів; якщо ви хочете підключитися до когось через IP, вам доведеться попросити створювача серверу дати свій ip. join.info = Тут ви можете ввести [accent]IP серверу[] для підключення або знайти сервери у [accent]локальній мережі[] для підключення до них.\nПідтримується локальна мережа(LAN) і широкосмугова мережа(WAN).\n\n[LIGHT_GRAY] Примітка. Тут немає автоматичного глобального списку серверів; якщо ви хочете підключитися до когось через IP, вам доведеться попросити створювача серверу дати свій ip.
hostserver = Запустити сервер hostserver = Запустити сервер
hostserver.mobile = Запустити\nсерверу hostserver.mobile = Запустити\nсервер
host = Сервер host = Сервер
hosting = [accent]Відкриття серверу... hosting = [accent]Відкриття серверу...
hosts.refresh = Оновити hosts.refresh = Оновити
@@ -177,11 +178,11 @@ saveimage = Зберегти зображення
unknown = Невідомо unknown = Невідомо
custom = Користувальницька custom = Користувальницька
builtin = Bбудована builtin = Bбудована
map.delete.confirm = Ви впевнені, що хочете видалити цю карту? Цю дію не можна скасувати! map.delete.confirm = Ви впевнені, що хочете видалити цю мапу? Цю дію не можна скасувати!
map.random = [accent]Випадкова мапа map.random = [accent]Випадкова мапа
map.nospawn = Ця мапа не має жодного ядра для спавну гравця! Додайте[ROYAL] сине[] ядро в цю мапу редакторі. map.nospawn = Ця мапа не має жодного ядра для спавну гравця! Додайте[ROYAL] сине[] ядро в цю мапу редакторі.
map.nospawn.pvp = У цій карти немає ворожих ядер, в яких гравець може з'явитися! Додайте[SCARLET] червоні[] ядра до цієї карті в редакторі. map.nospawn.pvp = У цієї мапи немає ворожих ядер, в яких гравець може з'явитися! Додайте[SCARLET] червоне[] ядро до цієї мапи в редакторі.
map.invalid = Помилка завантаження карти: пошкоджений або невірний файл карти. map.invalid = Помилка завантаження мапи: пошкоджений або невірний файл мапи.
editor.brush = Пензлик editor.brush = Пензлик
editor.openin = Відкрити в редакторі editor.openin = Відкрити в редакторі
editor.oregen = Генерація руд editor.oregen = Генерація руд
@@ -211,58 +212,58 @@ editor.teams = Команди
editor.elevation = Висота editor.elevation = Висота
editor.errorload = Помилка завантаження зображення:[accent] {0} editor.errorload = Помилка завантаження зображення:[accent] {0}
editor.errorsave = Помилка збереження зображення:\n[accent]{0} editor.errorsave = Помилка збереження зображення:\n[accent]{0}
editor.errorname = Карта не має визначеного імені. editor.errorname = Мапа не має визначеного імені.
editor.update = Оновити editor.update = Оновити
editor.randomize = Випадково editor.randomize = Випадково
editor.apply = Застосувати editor.apply = Застосувати
editor.generate = Згенерувати editor.generate = Згенерувати
editor.resize = Змінити \nрозмір editor.resize = Змінити \nрозмір
editor.loadmap = Завантажити мапу editor.loadmap = Завантажити мапу
editor.savemap = Зберегти карту editor.savemap = Зберегти мапи
editor.saved = Збережено! editor.saved = Збережено!
editor.save.noname = Ваша карта не має назви! Встановіть його в меню «Інформація про карту». editor.save.noname = Ваша мапа не має назви! Встановіть його в меню «Інформація про мапу».
editor.save.overwrite = Ваша карта перезаписує вбудовану карту! Виберіть інше ім'я в меню «Інформація про карту». editor.save.overwrite = Ваша мапа перезаписує вбудовану мапу! Виберіть інше ім'я в меню «Інформація про мапу».
editor.import.exists = [scarlet]Неможливо імпортувати: [] вбудована карта з назвою "{0}" вже існує! editor.import.exists = [scarlet]Неможливо імпортувати: [] вбудована мапа з назвою "{0}" вже існує!
editor.import = Імпорт... editor.import = Імпорт...
editor.importmap = Імпортувати карту editor.importmap = Імпортувати мапу
editor.importmap.description = Імпортувати вже існуючу карту editor.importmap.description = Імпортувати вже існуючу мапу
editor.importfile = Імпортувати файл editor.importfile = Імпортувати файл
editor.importfile.description = Імпортувати зовнішній файл карти editor.importfile.description = Імпортувати зовнішній файл мапи
editor.importimage = Імпорт зовнішнього файла зображення карти editor.importimage = Імпорт зовнішнього файла зображення мапи
editor.importimage.description = Імпорт зображення місцевості editor.importimage.description = Імпорт зображення місцевості
editor.export = Експорт... editor.export = Експорт...
editor.exportfile = Експорт файлу editor.exportfile = Експорт файлу
editor.exportfile.description = Експортувати файл карти editor.exportfile.description = Експортувати файл мапи
editor.exportimage = Експорт зображення місцевості editor.exportimage = Експорт зображення місцевості
editor.exportimage.description = Експорт файла з зображенням карти editor.exportimage.description = Експорт файла з зображенням мапи
editor.loadimage = Завантажити\nзображення editor.loadimage = Завантажити\nзображення
editor.saveimage = Зберегти\nзображення editor.saveimage = Зберегти\nзображення
editor.unsaved = [scarlet]У вас є незбережені зміни![]\nВи впевнені, що хочете вийти? editor.unsaved = [scarlet]У вас є незбережені зміни![]\nВи впевнені, що хочете вийти?
editor.resizemap = Змінити розмір карти editor.resizemap = Змінити розмір мапи
editor.mapname = Название карты: editor.mapname = Назва мапи:
editor.overwrite = [accent]Попередження!\nЦе перезаписує існуючу карту. editor.overwrite = [accent]Попередження!\nЦе перезаписує існуючу мапу.
editor.overwrite.confirm = [scarlet]Попередження![] Карта з такою назвою вже існує. Ви впевнені, що хочете переписати її? editor.overwrite.confirm = [scarlet]Попередження![] Мапа з такою назвою вже існує. Ви впевнені, що хочете переписати її?
editor.selectmap = Виберіть мапу для завантаження: editor.selectmap = Виберіть мапу для завантаження:
filters.empty = [LIGHT_GRAY]Нема фільтрів! Додайте хоча б один за допомогою кнопки, що знаходиться нижче. filters.empty = [LIGHT_GRAY]Нема фільтрів! Додайте хоча б один за допомогою кнопки, що знаходиться нижче.
filter.distort = Distort filter.distort = Спотворення
filter.noise = Noise filter.noise = Шум
filter.ore = Ore filter.ore = Руда
filter.rivernoise = River Noise filter.rivernoise = Річковий Шум
filter.scatter = Scatter filter.scatter = Розпилювач
filter.terrain = Terrain filter.terrain = Ландшафт
filter.option.scale = Scale filter.option.scale = Масштаб
filter.option.chance = Chance filter.option.chance = Шанс
filter.option.mag = Magnitude filter.option.mag = Величина
filter.option.threshold = Threshold filter.option.threshold = Спад
filter.option.circle-scale = Circle Scale filter.option.circle-scale = Кругова шкала
filter.option.octaves = Octaves filter.option.octaves = Октави
filter.option.falloff = Falloff filter.option.falloff = Спад
filter.option.block = Block filter.option.block = Блок
filter.option.floor = Floor filter.option.floor = Поверхня
filter.option.wall = Wall filter.option.wall = Стіна
filter.option.ore = Ore filter.option.ore = Руда
filter.option.floor2 = Secondary Floor filter.option.floor2 = Друга поверхня
filter.option.threshold2 = Secondary Threshold filter.option.threshold2 = Вторинний спад
width = Ширина: width = Ширина:
height = Висота: height = Висота:
menu = Меню menu = Меню
@@ -323,7 +324,7 @@ settings.sound = Звук
settings.graphics = Графіка settings.graphics = Графіка
settings.cleardata = Очистити дані... settings.cleardata = Очистити дані...
settings.clear.confirm = Ви впевнені, що хочете очистити ці дані?\nЦя дія не може бути скасовано! settings.clear.confirm = Ви впевнені, що хочете очистити ці дані?\nЦя дія не може бути скасовано!
settings.clearall.confirm = [scarlet]УВАГА![]\nЦе очистить всі дані, включаючи збереження, карти, розблокуване та призначенні клавіші.\nПісля того, як ви натиснете ОК, гра видалить усі дані та автоматично вийде. settings.clearall.confirm = [scarlet]УВАГА![]\nЦе очистить всі дані, включаючи збереження, мапи, розблокуване та призначені клавіші.\nПісля того, як ви натиснете ОК, гра видалить усі дані та автоматично вийде.
settings.clearunlocks = Очистити розблоковане settings.clearunlocks = Очистити розблоковане
settings.clearall = Очистити все settings.clearall = Очистити все
paused = Пауза paused = Пауза
@@ -405,8 +406,9 @@ category.items = Предмети
category.crafting = Введення/виведення category.crafting = Введення/виведення
category.shooting = Стрільба category.shooting = Стрільба
category.optional = Додаткові поліпшення category.optional = Додаткові поліпшення
setting.shadows.name = Shadows
setting.animatedwater.name = Анімована вода setting.animatedwater.name = Анімована вода
setting.antialias.name = Antialias[LIGHT_GRAY] (requires restart)[] setting.antialias.name = Згладжування[LIGHT_GRAY] (потребує перезапуску)[]
setting.indicators.name = Показувати у сторону ворогів та союзників setting.indicators.name = Показувати у сторону ворогів та союзників
setting.autotarget.name = Авто-стрільба setting.autotarget.name = Авто-стрільба
setting.fpscap.name = Макс. FPS setting.fpscap.name = Макс. FPS
@@ -425,11 +427,11 @@ setting.sensitivity.name = Чутливість контролера
setting.saveinterval.name = Інтервал автозбереження setting.saveinterval.name = Інтервал автозбереження
setting.seconds = {0} сек. setting.seconds = {0} сек.
setting.fullscreen.name = Повноекранний режим setting.fullscreen.name = Повноекранний режим
setting.borderless.name = Borderless Window setting.borderless.name = Вікно без полів
setting.fps.name = Показувати FPS setting.fps.name = Показувати FPS
setting.vsync.name = Вертикальна синхронізація setting.vsync.name = Вертикальна синхронізація
setting.lasers.name = Показувати енергію лазерів setting.lasers.name = Показувати енергію лазерів
setting.minimap.name = Показати мінікарту setting.minimap.name = Показати мінімапу
setting.musicvol.name = Гучність музики setting.musicvol.name = Гучність музики
setting.mutemusic.name = Заглушити музику setting.mutemusic.name = Заглушити музику
setting.sfxvol.name = Гучність звукових ефектів setting.sfxvol.name = Гучність звукових ефектів
@@ -469,7 +471,7 @@ keybind.chat_history_prev.name = Попередня історія чату
keybind.chat_history_next.name = Наступна історія чату keybind.chat_history_next.name = Наступна історія чату
keybind.chat_scroll.name = Прокрутка чату keybind.chat_scroll.name = Прокрутка чату
keybind.drop_unit.name = Скинути бой. од. keybind.drop_unit.name = Скинути бой. од.
keybind.zoom_minimap.name = Збільшити мінікарту keybind.zoom_minimap.name = Збільшити мінімапу
mode.help.title = Опис режимів mode.help.title = Опис режимів
mode.survival.name = Хвилі mode.survival.name = Хвилі
mode.survival.description = Звичайний режим. В цьому режимі треба самим добувати ресурси та хвилі йдуть беззупинно. mode.survival.description = Звичайний режим. В цьому режимі треба самим добувати ресурси та хвилі йдуть беззупинно.
@@ -592,15 +594,17 @@ block.core-foundation.name = Ядро: Штаб
block.core-nucleus.name = Ядро: Атом block.core-nucleus.name = Ядро: Атом
block.deepwater.name = Глибоководдя block.deepwater.name = Глибоководдя
block.water.name = Вода block.water.name = Вода
block.tainted-water.name = Tainted Water
block.darksand-tainted-water.name = Dark Sand Tainted Water
block.tar.name = Tar block.tar.name = Tar
block.stone.name = Камінь block.stone.name = Камінь
block.sand.name = Темний пісок block.sand.name = Пісок
block.darksand.name = Dark Sand block.darksand.name = Темний пісок
block.ice.name = Лід block.ice.name = Лід
block.snow.name = Сніг block.snow.name = Сніг
block.craters.name = Кратери block.craters.name = Кратери
block.sand-water.name = Пісок з водою block.sand-water.name = Пісок з водою
block.darksand-water.name = Dark Sand Water block.darksand-water.name = Темний пісок з водою
block.char.name = Випалена Земля block.char.name = Випалена Земля
block.holostone.name = Голографічний камінь block.holostone.name = Голографічний камінь
block.ice-snow.name = Крижаний Сніг block.ice-snow.name = Крижаний Сніг
@@ -632,7 +636,7 @@ block.thorium-wall-large.name = Велика торієва стіна
block.door.name = Двері block.door.name = Двері
block.door-large.name = Великі двері block.door-large.name = Великі двері
block.duo.name = Подвійна block.duo.name = Подвійна
block.scorch.name = Scorch block.scorch.name = Випалювач
block.scatter.name = Розсіювач block.scatter.name = Розсіювач
block.hail.name = Град block.hail.name = Град
block.lancer.name = Списоносець block.lancer.name = Списоносець
@@ -747,7 +751,7 @@ unit.dagger.name = Кинджал
unit.dagger.description = Базова наземна бойова одиниця. Корисен у купі. unit.dagger.description = Базова наземна бойова одиниця. Корисен у купі.
unit.crawler.name = Камікадзе unit.crawler.name = Камікадзе
unit.titan.name = Титан unit.titan.name = Титан
unit.titan.description = Улучшенная бронированная наземная боевая единица. Атакует наземные и воздушные цели. unit.titan.description = Покращена броньована наземна бойова одиниця. Атакує наземні та повітряні цілі.
unit.ghoul.name = Бомбардувальний "Ґуль" unit.ghoul.name = Бомбардувальний "Ґуль"
unit.ghoul.description = Тяжкий ковровий бомбардувальник. unit.ghoul.description = Тяжкий ковровий бомбардувальник.
unit.wraith.name = Примарний винищувач unit.wraith.name = Примарний винищувач

View File

@@ -23,6 +23,7 @@ stat.delivered = Resources Launched:
stat.rank = Final Rank: [accent]{0} stat.rank = Final Rank: [accent]{0}
placeline = You have selected a block.\nYou can[accent] place in a line[] by[accent] holding down your finger for a few seconds[] and dragging in a direction.\nTry it. placeline = You have selected a block.\nYou can[accent] place in a line[] by[accent] holding down your finger for a few seconds[] and dragging in a direction.\nTry it.
removearea = You have selected removal mode.\nYou can[accent] remove blocks in a rectangle[] by[accent] holding down your finger for a few seconds[] and dragging.\nTry it. removearea = You have selected removal mode.\nYou can[accent] remove blocks in a rectangle[] by[accent] holding down your finger for a few seconds[] and dragging.\nTry it.
launcheditems = [accent]Launched Items
map.delete = 确定要删除 "[accent]{0}[]" 地图吗? map.delete = 确定要删除 "[accent]{0}[]" 地图吗?
level.highscore = 最高分: [accent]{0} level.highscore = 最高分: [accent]{0}
level.select = 选择关卡 level.select = 选择关卡
@@ -405,6 +406,7 @@ category.items = 物品
category.crafting = 制造 category.crafting = 制造
category.shooting = 发射 category.shooting = 发射
category.optional = 可选的增强物品 category.optional = 可选的增强物品
setting.shadows.name = Shadows
setting.animatedwater.name = Animated Water setting.animatedwater.name = Animated Water
setting.antialias.name = Antialias[LIGHT_GRAY] (requires restart)[] setting.antialias.name = Antialias[LIGHT_GRAY] (requires restart)[]
setting.indicators.name = 队友指示器 setting.indicators.name = 队友指示器
@@ -592,6 +594,8 @@ block.core-foundation.name = Core: Foundation
block.core-nucleus.name = Core: Nucleus block.core-nucleus.name = Core: Nucleus
block.deepwater.name = 深水 block.deepwater.name = 深水
block.water.name = block.water.name =
block.tainted-water.name = Tainted Water
block.darksand-tainted-water.name = Dark Sand Tainted Water
block.tar.name = Tar block.tar.name = Tar
block.stone.name = 石头 block.stone.name = 石头
block.sand.name = 沙子 block.sand.name = 沙子

View File

@@ -14,31 +14,35 @@ screenshot = 截圖保存到{0}
gameover = 遊戲結束 gameover = 遊戲結束
gameover.pvp = [accent]{0}[]隊獲勝! gameover.pvp = [accent]{0}[]隊獲勝!
highscore = [accent]新的高分紀錄! highscore = [accent]新的高分紀錄!
stat.wave = 打敗的波次:[accent]{0} stat.wave = 打敗的波次:[accent]{0}
stat.enemiesDestroyed = 摧毀的敵人:[accent]{0} stat.enemiesDestroyed = 摧毀的敵人:[accent]{0}
stat.built = 建設的建築:[accent]{0} stat.built = 建設的建築:[accent]{0}
stat.destroyed = 摧毀的建築:[accent]{0} stat.destroyed = 摧毀的建築:[accent]{0}
stat.deconstructed = 移除的建築:[accent]{0} stat.deconstructed = 移除的建築:[accent]{0}
stat.delivered = 發射的資源: stat.delivered = 發射的資源:
stat.rank = Final Rank: [accent]{0} stat.rank = 最終排名:[accent]{0}
placeline = You have selected a block.\nYou can[accent] place in a line[] by[accent] holding down your finger for a few seconds[] and dragging in a direction.\nTry it.
removearea = You have selected removal mode.\nYou can[accent] remove blocks in a rectangle[] by[accent] holding down your finger for a few seconds[] and dragging.\nTry it. placeline = 你選擇了一個方塊。\n[accent]按住你的手指幾秒鐘[]並拖動以[accent]直線放置方塊[]。\n試試吧。
removearea = 你選擇了移除模式。\n[accent]按住你的手指幾秒鐘[]並拖動以[accent]移除矩形中的方塊[]。\n試試吧。
launcheditems = [accent]發射了的物品
map.delete = 確認要刪除「[accent]{0}[]」地圖嗎? map.delete = 確認要刪除「[accent]{0}[]」地圖嗎?
level.highscore = 最高分:[accent]{0} level.highscore = 最高分:[accent]{0}
level.select = 選擇關卡 level.select = 選擇關卡
level.mode = 遊戲模式: level.mode = 遊戲模式:
showagain = 下次不再顯示 showagain = 下次不再顯示
coreattack = 〈核心正在受到攻擊!〉 coreattack = 〈核心正在受到攻擊!〉
nearpoint = [[ [scarlet]LEAVE DROP POINT IMMEDIATELY[] ]\nannihilation imminent nearpoint = [scarlet]立即離開下降點[]】\n湮滅即將來臨
outofbounds = [[ OUT OF BOUNDS ]\n[]self-destruct in {0} outofbounds = 【超出界限】\n[]於{0}秒後自我毀滅
database = Core Database database = 核心數據庫
savegame = 儲存遊戲 savegame = 儲存遊戲
loadgame = 載入遊戲 loadgame = 載入遊戲
joingame = 多人連線 joingame = 多人連線
addplayers = 增加/移除玩家 addplayers = 增加/移除玩家
customgame = 自訂遊戲 customgame = 自訂遊戲
newgame = New Game newgame = 新遊戲
none = <沒有> none = 沒有
close = 關閉 close = 關閉
quit = 退出 quit = 退出
maps = 地圖 maps = 地圖
@@ -49,7 +53,7 @@ name = 名稱:
noname = 先選擇一個[accent]玩家名稱[]。 noname = 先選擇一個[accent]玩家名稱[]。
filename = 檔案名稱︰ filename = 檔案名稱︰
unlocked = 新方塊已解鎖! unlocked = 新方塊已解鎖!
completed = [accent]Completed completed = [accent]完成
techtree = 科技樹 techtree = 科技樹
research.list = [LIGHT_GRAY]研究︰ research.list = [LIGHT_GRAY]研究︰
research = 研究 research = 研究
@@ -138,7 +142,7 @@ save.rename.text = 新名稱:
selectslot = 選取一個存檔。 selectslot = 選取一個存檔。
slot = [accent]存檔{0} slot = [accent]存檔{0}
save.corrupted = [accent]此存檔無效或已損毀!\n如果你剛剛升級了遊戲那麼這可能是因為存檔格式改變了而[scarlet]不是[]錯誤。 save.corrupted = [accent]此存檔無效或已損毀!\n如果你剛剛升級了遊戲那麼這可能是因為存檔格式改變了而[scarlet]不是[]錯誤。
empty = <空白> empty = 空白
on = 開啟 on = 開啟
off = 關閉 off = 關閉
save.autosave = 自動存檔:{0} save.autosave = 自動存檔:{0}
@@ -147,7 +151,7 @@ save.wave = 波次:{0}
save.difficulty = 難度:{0} save.difficulty = 難度:{0}
save.date = 最後存檔時間:{0} save.date = 最後存檔時間:{0}
save.playtime = 遊玩時間:{0} save.playtime = 遊玩時間:{0}
warning = Warning. warning = 警告。
confirm = 確認 confirm = 確認
delete = 刪除 delete = 刪除
ok = 確定 ok = 確定
@@ -189,32 +193,32 @@ editor.oregen.info = 礦石產生:
editor.mapinfo = 地圖資訊 editor.mapinfo = 地圖資訊
editor.author = 作者: editor.author = 作者:
editor.description = 描述: editor.description = 描述:
editor.waves = Waves: editor.waves = 波次:
waves.title = Waves waves.title = 波次
waves.remove = Remove waves.remove = 移除
waves.never = <never> waves.never = 〈從來沒有〉
waves.every = every waves.every = 一切
waves.waves = wave(s) waves.waves = 波次
waves.perspawn = per spawn waves.perspawn = 每個重生
waves.to = to waves.to =
waves.boss = Boss waves.boss = 頭目
waves.preview = Preview waves.preview = 預覽
waves.edit = Edit... waves.edit = 編輯……
waves.copy = Copy to Clipboard waves.copy = 複製到剪貼板
waves.load = Load from Clipboard waves.load = 從剪貼板加載
waves.invalid = Invalid waves in clipboard. waves.invalid = 剪貼板中的波次無效。
waves.copied = Waves copied. waves.copied = 波浪已被複製。
editor.default = [LIGHT_GRAY]<Default> editor.default = [LIGHT_GRAY]〈默認〉
edit = Edit... edit = 編輯……
editor.name = 名稱: editor.name = 名稱:
editor.teams = 隊伍 editor.teams = 隊伍
editor.elevation = 高度 editor.elevation = 高度
editor.errorload = Error loading file:\n[accent]{0} editor.errorload = 加載文件時出錯:\n[accent]{0}
editor.errorsave = Error saving file:\n[accent]{0} editor.errorsave = 保存文件時出錯:\n[accent]{0}
editor.errorname = Map has no name defined. editor.errorname = 地圖沒有定義名稱。
editor.update = Update editor.update = 更新
editor.randomize = Randomize editor.randomize = 隨機化
editor.apply = Apply editor.apply = 使用
editor.generate = 產生 editor.generate = 產生
editor.resize = 調整大小 editor.resize = 調整大小
editor.loadmap = 載入地圖 editor.loadmap = 載入地圖
@@ -243,26 +247,26 @@ editor.mapname = 地圖名稱:
editor.overwrite = [accent]警告!這將會覆蓋現有的地圖。 editor.overwrite = [accent]警告!這將會覆蓋現有的地圖。
editor.overwrite.confirm = [scarlet]警告![]同名地圖存在,確定要覆蓋現有地圖? editor.overwrite.confirm = [scarlet]警告![]同名地圖存在,確定要覆蓋現有地圖?
editor.selectmap = 選取要載入的地圖: editor.selectmap = 選取要載入的地圖:
filters.empty = [LIGHT_GRAY]No filters! Add one with the button below. filters.empty = [LIGHT_GRAY]沒有過濾器!使用下面的按鈕添加一個。
filter.distort = Distort filter.distort = 歪曲
filter.noise = Noise filter.noise = 噪聲
filter.ore = Ore filter.ore = 礦石
filter.rivernoise = River Noise filter.rivernoise = 河流噪聲
filter.scatter = Scatter filter.scatter = 分散
filter.terrain = Terrain filter.terrain = 地形
filter.option.scale = Scale filter.option.scale = 比例
filter.option.chance = Chance filter.option.chance = 機會
filter.option.mag = Magnitude filter.option.mag = 大小
filter.option.threshold = Threshold filter.option.threshold =
filter.option.circle-scale = Circle Scale filter.option.circle-scale = 圓形比例
filter.option.octaves = Octaves filter.option.octaves = 倍頻
filter.option.falloff = Falloff filter.option.falloff = 衰減
filter.option.block = Block filter.option.block = 方塊
filter.option.floor = Floor filter.option.floor = 地板
filter.option.wall = Wall filter.option.wall =
filter.option.ore = Ore filter.option.ore = 礦石
filter.option.floor2 = Secondary Floor filter.option.floor2 = 次要地板
filter.option.threshold2 = Secondary Threshold filter.option.threshold2 = 次要閾
width = 寬度: width = 寬度:
height = 長度: height = 長度:
menu = 主選單 menu = 主選單
@@ -278,6 +282,7 @@ tutorial = 教學
editor = 地圖編輯器 editor = 地圖編輯器
mapeditor = 地圖編輯器 mapeditor = 地圖編輯器
donate = 贊助 donate = 贊助
abandon = 放棄 abandon = 放棄
abandon.text = 此區域及其所有資源將會丟失給敵人。 abandon.text = 此區域及其所有資源將會丟失給敵人。
locked = 鎖定 locked = 鎖定
@@ -286,18 +291,19 @@ resume = 繼續區域:\n[LIGHT_GRAY]{0}
bestwave = [LIGHT_GRAY]高分:{0} bestwave = [LIGHT_GRAY]高分:{0}
launch = 發射 launch = 發射
launch.title = 發射成功 launch.title = 發射成功
launch.next = [LIGHT_GRAY]next opportunity at wave {0} launch.next = [LIGHT_GRAY]下次的機會於波次{0}
launch.unable = [scarlet]Unable to LAUNCH.[] Enemies. launch.unable = [scarlet]無法發射。[]有敵人。
launch.confirm = This will launch all resources in your core.\nYou will not be able to return to this base. launch.confirm = 這將發射核心中的所有資源。\n你將無法返回這個基地。
uncover = Uncover uncover = 揭露
configure = Configure Loadout configure = 配置裝載
configure.locked = [LIGHT_GRAY]Reach wave {0}\nto configure loadout. configure.locked = [LIGHT_GRAY]到達波次{0}\n以配置裝載。
zone.unlocked = [LIGHT_GRAY]{0}已解鎖。 zone.unlocked = [LIGHT_GRAY]{0}已解鎖。
zone.complete = Zone conditions met. zone.complete = 符合區域條件。
zone.config.complete = Wave {0} reached:\nLoadout config unlocked. zone.config.complete = 到達波次{0}\n裝載配置已解鎖。
zone.resources = Resources Detected: zone.resources = 檢測到的資源:
add = Add... add = 新增……
boss.health = Boss Health boss.health = 頭目血量
connectfail = [crimson]無法連線到伺服器:[accent]{0} connectfail = [crimson]無法連線到伺服器:[accent]{0}
error.unreachable = 無法到達伺服器。 error.unreachable = 無法到達伺服器。
error.invalidaddress = 無效地址。 error.invalidaddress = 無效地址。
@@ -307,13 +313,15 @@ error.alreadyconnected = 已連接。
error.mapnotfound = 找不到地圖! error.mapnotfound = 找不到地圖!
error.io = 網絡輸入輸出錯誤。 error.io = 網絡輸入輸出錯誤。
error.any = 未知網絡錯誤。 error.any = 未知網絡錯誤。
zone.groundZero.name = Ground Zero
zone.craters.name = The Craters zone.groundZero.name = 歸零地
zone.frozenForest.name = Frozen Forest zone.craters.name = 隕石坑
zone.ruinousShores.name = Ruinous Shores zone.frozenForest.name = 冰凍森林
zone.stainedMountains.name = Stained Mountains zone.ruinousShores.name = 毀滅性的海岸
zone.desolateRift.name = Desolate Rift zone.stainedMountains.name = 染山
zone.nuclearComplex.name = Nuclear Production Complex zone.desolateRift.name = 荒涼的裂痕
zone.nuclearComplex.name = 核生產綜合體
settings.language = 語言 settings.language = 語言
settings.reset = 重設為預設設定 settings.reset = 重設為預設設定
settings.rebind = 重新綁定 settings.rebind = 重新綁定
@@ -332,18 +340,18 @@ no = 否
info.title = [accent]資訊 info.title = [accent]資訊
error.title = [crimson]發生錯誤 error.title = [crimson]發生錯誤
error.crashtitle = 發生錯誤 error.crashtitle = 發生錯誤
blocks.outputspeed = Drill Speed: {0}/s blocks.outputspeed = 鑽頭速度:{0}/
blocks.efficiency = Efficiency: {0}% blocks.efficiency = 效率:{0}%
blocks.unknown = [LIGHT_GRAY] blocks.unknown = [LIGHT_GRAY]
blocks.blockinfo = 方塊資訊 blocks.blockinfo = 方塊資訊
blocks.powerbalance = Power: {0} blocks.powerbalance = 能量變化:{0}
blocks.poweroutput = Power Output: {0} blocks.poweroutput = 能量輸出:{0}
blocks.powercapacity = 蓄電量 blocks.powercapacity = 蓄電量
blocks.powershot = 能量/射擊 blocks.powershot = 能量/射擊
blocks.targetsair = 攻擊空中目標 blocks.targetsair = 攻擊空中目標
blocks.targetsground = Targets Ground blocks.targetsground = 攻擊地面
blocks.items = Items: {0} blocks.items = 物品:{0}
blocks.itemsmoved = Move Speed blocks.itemsmoved = 移動速度
blocks.shootrange = 範圍 blocks.shootrange = 範圍
blocks.size = 尺寸 blocks.size = 尺寸
blocks.liquidcapacity = 液體容量 blocks.liquidcapacity = 液體容量
@@ -364,23 +372,23 @@ blocks.inputitems = 輸入物品
blocks.outputitem = 輸出物品 blocks.outputitem = 輸出物品
blocks.drilltier = 可鑽取礦物 blocks.drilltier = 可鑽取礦物
blocks.drillspeed = 基本鑽取速度 blocks.drillspeed = 基本鑽取速度
blocks.maxunits = Max Active Units blocks.maxunits = 最大活躍單位
blocks.liquidoutput = 輸出液體 blocks.liquidoutput = 輸出液體
blocks.liquidoutputspeed = 輸出液體速度 blocks.liquidoutputspeed = 輸出液體速度
blocks.liquiduse = 使用液體速度 blocks.liquiduse = 使用液體速度
blocks.coolant = 冷卻劑 blocks.coolant = 冷卻劑
blocks.liquid = Liquid blocks.liquid = 液體
blocks.coolantuse = 使用冷卻劑 blocks.coolantuse = 使用冷卻劑
blocks.inputliquidfuel = 輸入液體燃料 blocks.inputliquidfuel = 輸入液體燃料
blocks.liquidfueluse = 使用液體燃料速度 blocks.liquidfueluse = 使用液體燃料速度
blocks.boostitem = 強化物品 blocks.boostitem = 強化物品
blocks.boostliquid = 強化液體 blocks.boostliquid = 強化液體
blocks.health = 耐久度 blocks.health = 耐久度
blocks.heat = Heat blocks.heat =
blocks.power = Power blocks.power = 能量
blocks.progress = Build Progress blocks.progress = 建造進度
blocks.spawned = Units: {0}/{1} blocks.spawned = 單位:{0}/{1}
blocks.power.satisfaction = Power Satisfaction blocks.power.satisfaction = 能量滿意度
blocks.inaccuracy = 誤差 blocks.inaccuracy = 誤差
blocks.shots = 射擊數 blocks.shots = 射擊數
blocks.reload = 重裝彈藥 blocks.reload = 重裝彈藥
@@ -388,7 +396,7 @@ blocks.inputfuel = 燃料
blocks.fuelburntime = 燃燒燃料時間 blocks.fuelburntime = 燃燒燃料時間
blocks.inputcapacity = 輸入容量 blocks.inputcapacity = 輸入容量
blocks.outputcapacity = 輸出容量 blocks.outputcapacity = 輸出容量
blocks.ammo = Ammo blocks.ammo = 彈藥
unit.blocks = 方塊 unit.blocks = 方塊
unit.powersecond = 能量單位/秒 unit.powersecond = 能量單位/秒
unit.liquidsecond = 液體單位/秒 unit.liquidsecond = 液體單位/秒
@@ -405,14 +413,15 @@ category.items = 物品
category.crafting = 合成 category.crafting = 合成
category.shooting = 射擊 category.shooting = 射擊
category.optional = 可選的強化 category.optional = 可選的強化
setting.animatedwater.name = Animated Water setting.animatedwater.name = 動畫水
setting.antialias.name = Antialias[LIGHT_GRAY] (requires restart)[] setting.antialias.name = 消除鋸齒[LIGHT_GRAY](需要重啟)[]
setting.shadows.name = Shadows
setting.indicators.name = 盟友指標 setting.indicators.name = 盟友指標
setting.autotarget.name = 自動射擊 setting.autotarget.name = 自動射擊
setting.fpscap.name = 最大FPS setting.fpscap.name = 最大FPS
setting.fpscap.none = 没有 setting.fpscap.none = 没有
setting.fpscap.text = {0}FPS setting.fpscap.text = {0}FPS
setting.swapdiagonal.name = Always Diagonal Placement setting.swapdiagonal.name = 始終對角線放置
setting.difficulty.training = 訓練 setting.difficulty.training = 訓練
setting.difficulty.easy = 簡單 setting.difficulty.easy = 簡單
setting.difficulty.normal = 普通 setting.difficulty.normal = 普通
@@ -425,7 +434,7 @@ setting.sensitivity.name = 控制器靈敏度
setting.saveinterval.name = 自動存檔間隔 setting.saveinterval.name = 自動存檔間隔
setting.seconds = {0}秒 setting.seconds = {0}秒
setting.fullscreen.name = 全螢幕 setting.fullscreen.name = 全螢幕
setting.borderless.name = Borderless Window setting.borderless.name = 無邊框窗口
setting.fps.name = 顯示FPS setting.fps.name = 顯示FPS
setting.vsync.name = 垂直同步 setting.vsync.name = 垂直同步
setting.lasers.name = 顯示雷射光束 setting.lasers.name = 顯示雷射光束
@@ -450,9 +459,9 @@ keybind.screenshot.name = 地圖截圖
keybind.move_x.name = 水平移動 keybind.move_x.name = 水平移動
keybind.move_y.name = 垂直移動 keybind.move_y.name = 垂直移動
keybind.select.name = 選取 keybind.select.name = 選取
keybind.diagonal_placement.name = Diagonal Placement keybind.diagonal_placement.name = 對角線放置
keybind.pick.name = Pick Block keybind.pick.name = 選擇方塊
keybind.break_block.name = Break Block keybind.break_block.name = 移除方塊
keybind.deselect.name = 取消選取 keybind.deselect.name = 取消選取
keybind.shoot.name = 射擊 keybind.shoot.name = 射擊
keybind.zoom_hold.name = 按住縮放 keybind.zoom_hold.name = 按住縮放
@@ -471,8 +480,8 @@ keybind.chat_scroll.name = 聊天記錄滾動
keybind.drop_unit.name = 放下單位 keybind.drop_unit.name = 放下單位
keybind.zoom_minimap.name = 縮放小地圖 keybind.zoom_minimap.name = 縮放小地圖
mode.help.title = 模式說明 mode.help.title = 模式說明
mode.survival.name = Survival mode.survival.name = 生存
mode.survival.description = The normal mode. Limited resources and automatic incoming waves. mode.survival.description = 一般模式。有限的資源與自動來襲的波次。
mode.sandbox.name = 沙盒 mode.sandbox.name = 沙盒
mode.sandbox.description = 無限的資源,與不倒數計時的波次。 mode.sandbox.description = 無限的資源,與不倒數計時的波次。
mode.freebuild.name = 自由建造 mode.freebuild.name = 自由建造
@@ -480,7 +489,7 @@ mode.freebuild.description = 有限的資源,與不倒數計時的波次。
mode.pvp.name = 對戰 mode.pvp.name = 對戰
mode.pvp.description = 和其他玩家鬥爭。 mode.pvp.description = 和其他玩家鬥爭。
mode.attack.name = 攻擊 mode.attack.name = 攻擊
mode.attack.description = No waves, with the goal to destroy the enemy base. mode.attack.description = 沒有波次,目標是摧毀敵人的基地。
content.item.name = 物品 content.item.name = 物品
content.liquid.name = 液體 content.liquid.name = 液體
content.unit.name = 機組 content.unit.name = 機組
@@ -505,8 +514,8 @@ item.phase-fabric.name = 相織布
item.phase-fabric.description = 一種近乎無重量的物質,用於先進的電子設備和自修復技術。 item.phase-fabric.description = 一種近乎無重量的物質,用於先進的電子設備和自修復技術。
item.surge-alloy.name = 波動合金 item.surge-alloy.name = 波動合金
item.surge-alloy.description = 一種具有獨特電子特性的高級合金。 item.surge-alloy.description = 一種具有獨特電子特性的高級合金。
item.spore-pod.name = Spore Pod item.spore-pod.name = 孢子莢
item.spore-pod.description = Used for conversion into oil, explosives and fuel. item.spore-pod.description = 用於轉化為石油、爆炸物和燃料。
item.sand.name = item.sand.name =
item.sand.description = 一種常見的材料,廣泛用於冶煉,包括製作合金和助熔劑。 item.sand.description = 一種常見的材料,廣泛用於冶煉,包括製作合金和助熔劑。
item.blast-compound.name = 爆炸混合物 item.blast-compound.name = 爆炸混合物
@@ -518,7 +527,7 @@ item.metaglass.description = 一種超級強硬玻璃混合物。廣泛用於液
item.scrap.name = 廢料 item.scrap.name = 廢料
item.scrap.description = 舊結構和單位的遺留剩餘物。含有痕量的許多不同的金屬。 item.scrap.description = 舊結構和單位的遺留剩餘物。含有痕量的許多不同的金屬。
liquid.water.name = liquid.water.name =
liquid.slag.name = Slag liquid.slag.name = 礦渣
liquid.oil.name = 原油 liquid.oil.name = 原油
liquid.cryofluid.name = 冷凍液 liquid.cryofluid.name = 冷凍液
mech.alpha-mech.name = 阿爾法 mech.alpha-mech.name = 阿爾法
@@ -529,7 +538,7 @@ mech.delta-mech.name = 德爾塔
mech.delta-mech.weapon = 電弧生成機 mech.delta-mech.weapon = 電弧生成機
mech.delta-mech.ability = 放電 mech.delta-mech.ability = 放電
mech.delta-mech.description = 一种快速、轻铠的机甲,是用於打了就跑的攻擊。对结构造成的伤害很小,但可以用弧形闪电武器很快杀死大量敌方机组。 mech.delta-mech.description = 一种快速、轻铠的机甲,是用於打了就跑的攻擊。对结构造成的伤害很小,但可以用弧形闪电武器很快杀死大量敌方机组。
mech.tau-mech.name = Tau mech.tau-mech.name = Tau
mech.tau-mech.weapon = 重構激光 mech.tau-mech.weapon = 重構激光
mech.tau-mech.ability = 修复陣 mech.tau-mech.ability = 修复陣
mech.tau-mech.description = 支援機甲。射擊友好方塊以治療它們。可以使用它的修復能力熄滅火焰並治療一定範圍內的友軍。 mech.tau-mech.description = 支援機甲。射擊友好方塊以治療它們。可以使用它的修復能力熄滅火焰並治療一定範圍內的友軍。
@@ -556,7 +565,7 @@ item.radioactivity = [LIGHT_GRAY]放射性:{0}
unit.health = [LIGHT_GRAY]耐久度:{0} unit.health = [LIGHT_GRAY]耐久度:{0}
unit.speed = [LIGHT_GRAY]速度:{0} unit.speed = [LIGHT_GRAY]速度:{0}
mech.weapon = [LIGHT_GRAY]武器:{0} mech.weapon = [LIGHT_GRAY]武器:{0}
mech.health = [LIGHT_GRAY]Health: {0} mech.health = [LIGHT_GRAY]血量:{0}
mech.itemcapacity = [LIGHT_GRAY]物品容量:{0} mech.itemcapacity = [LIGHT_GRAY]物品容量:{0}
mech.minespeed = [LIGHT_GRAY]採礦速度:{0} mech.minespeed = [LIGHT_GRAY]採礦速度:{0}
mech.minepower = [LIGHT_GRAY]採礦力度:{0} mech.minepower = [LIGHT_GRAY]採礦力度:{0}
@@ -564,67 +573,70 @@ mech.ability = [LIGHT_GRAY]能力:{0}
liquid.heatcapacity = [LIGHT_GRAY]熱容量:{0} liquid.heatcapacity = [LIGHT_GRAY]熱容量:{0}
liquid.viscosity = [LIGHT_GRAY]粘性:{0} liquid.viscosity = [LIGHT_GRAY]粘性:{0}
liquid.temperature = [LIGHT_GRAY]温度:{0} liquid.temperature = [LIGHT_GRAY]温度:{0}
block.grass.name = Grass
block.salt.name = Salt block.grass.name =
block.sandrocks.name = Sand Rocks block.salt.name =
block.spore-pine.name = Spore Pine block.sandrocks.name = 沙岩
block.sporerocks.name = Spore Rocks block.spore-pine.name = 孢子鬆
block.rock.name = Rock block.sporerocks.name = 孢子岩
block.snowrock.name = Snow Rock block.rock.name = 岩石
block.shale.name = Shale block.snowrock.name = 雪巖
block.shale-boulder.name = Shale Boulder block.shale.name = 頁岩
block.moss.name = Moss block.shale-boulder.name = 頁岩巨石
block.spore-moss.name = Spore Moss block.moss.name = 苔蘚
block.shalerocks.name = Shale Rocks block.spore-moss.name = 孢子苔蘚
block.scrap-wall.name = Scrap Wall block.shalerocks.name = 頁岩岩石
block.scrap-wall-large.name = Large Scrap Wall block.scrap-wall.name = 廢牆
block.scrap-wall-huge.name = Huge Scrap Wall block.scrap-wall-large.name = 大型廢牆
block.scrap-wall-gigantic.name = Gigantic Scrap Wall block.scrap-wall-huge.name = 巨型廢牆
block.thruster.name = Thruster block.scrap-wall-gigantic.name = 超巨型廢牆
block.kiln.name = Kiln block.thruster.name = 推進器
block.kiln.description = Smelts sand and lead into metaglass. Requires small amounts of power. block.kiln.name =
block.graphite-press.name = Graphite Press block.kiln.description = 將沙子和鉛熔煉成金屬玻璃。需要少量能量。
block.multi-press.name = Multi-Press block.graphite-press.name = 石墨壓縮機
block.constructing = {0}\n[LIGHT_GRAY](Constructing) block.multi-press.name = 多用途壓縮機
block.constructing = {0}\n[LIGHT_GRAY](建設中)
block.spawn.name = 敵人生成 block.spawn.name = 敵人生成
block.core-shard.name = Core: Shard block.core-shard.name = 核心:碎片
block.core-foundation.name = Core: Foundation block.core-foundation.name = 核心:基礎
block.core-nucleus.name = Core: Nucleus block.core-nucleus.name = 核心:核子
block.deepwater.name = 深水 block.deepwater.name = 深水
block.water.name = block.water.name =
block.tainted-water.name = 污水
block.darksand-tainted-water.name = 黑沙污水
block.tar.name = 焦油 block.tar.name = 焦油
block.stone.name = 石頭 block.stone.name = 石頭
block.sand.name = block.sand.name =
block.darksand.name = Dark Sand block.darksand.name = 黑沙
block.ice.name = block.ice.name =
block.snow.name = block.snow.name =
block.craters.name = Craters block.craters.name = 隕石坑
block.sand-water.name = Sand water block.sand-water.name = 沙水
block.darksand-water.name = Dark Sand Water block.darksand-water.name = 黑沙水
block.char.name = Char block.char.name = 燒焦
block.holostone.name = Holo stone block.holostone.name = 霍洛石頭
block.ice-snow.name = Ice Snow block.ice-snow.name = 冰雪
block.rocks.name = Rocks block.rocks.name = 岩石
block.icerocks.name = Ice rocks block.icerocks.name = 冰岩
block.snowrocks.name = Snow Rocks block.snowrocks.name = 雪巖
block.dunerocks.name = Dune Rocks block.dunerocks.name = 沙丘岩
block.pine.name = Pine block.pine.name = 松樹
block.white-tree-dead.name = White Tree Dead block.white-tree-dead.name = 白樹死了
block.white-tree.name = White Tree block.white-tree.name = 白樹
block.spore-cluster.name = Spore Cluster block.spore-cluster.name = 孢子簇
block.metal-floor.name = Metal Floor block.metal-floor.name = 金屬地板
block.metal-floor-2.name = Metal Floor 2 block.metal-floor-2.name = 金屬地板二
block.metal-floor-3.name = Metal Floor 3 block.metal-floor-3.name = 金屬地板三
block.metal-floor-5.name = Metal Floor 5 block.metal-floor-5.name = 金屬地板五
block.metal-floor-damaged.name = Metal Floor Damaged block.metal-floor-damaged.name = 金屬地板損壞
block.ignarock.name = Igna Rock block.ignarock.name = 火成岩
block.hotrock.name = Hot Rock block.hotrock.name = 熱岩
block.magmarock.name = Magma Rock block.magmarock.name = 岩漿岩
block.cliffs.name = Cliffs block.cliffs.name = 懸崖
block.copper-wall.name = 銅牆 block.copper-wall.name = 銅牆
block.copper-wall-large.name = 大型銅牆 block.copper-wall-large.name = 大型銅牆
block.titanium-wall.name = Titanium Wall block.titanium-wall.name = 鈦牆
block.titanium-wall-large.name = Large Titanium Wall block.titanium-wall-large.name = 大型鈦牆
block.phase-wall.name = 相織布牆 block.phase-wall.name = 相織布牆
block.phase-wall-large.name = 大型相織布牆 block.phase-wall-large.name = 大型相織布牆
block.thorium-wall.name = 釷牆 block.thorium-wall.name = 釷牆
@@ -632,8 +644,8 @@ block.thorium-wall-large.name = 大型釷牆
block.door.name = block.door.name =
block.door-large.name = 大門 block.door-large.name = 大門
block.duo.name = 雙炮 block.duo.name = 雙炮
block.scorch.name = Scorch block.scorch.name = 燒焦炮
block.scatter.name = Scatter block.scatter.name = 分散炮
block.hail.name = 冰雹炮 block.hail.name = 冰雹炮
block.lancer.name = 藍瑟炮 block.lancer.name = 藍瑟炮
block.conveyor.name = 輸送帶 block.conveyor.name = 輸送帶
@@ -651,23 +663,23 @@ block.pulverizer.name = 粉碎機
block.cryofluidmixer.name = 冷凍液混合器 block.cryofluidmixer.name = 冷凍液混合器
block.melter.name = 熔爐 block.melter.name = 熔爐
block.incinerator.name = 焚化爐 block.incinerator.name = 焚化爐
block.spore-press.name = Spore Press block.spore-press.name = 孢子壓縮機
block.separator.name = 分離機 block.separator.name = 分離機
block.power-node.name = 能量節點 block.power-node.name = 能量節點
block.power-node-large.name = 大型能量節點 block.power-node-large.name = 大型能量節點
block.surge-tower.name = Surge Tower block.surge-tower.name = 波動塔
block.battery.name = 電池 block.battery.name = 電池
block.battery-large.name = 大型電池 block.battery-large.name = 大型電池
block.combustion-generator.name = 燃燒發電機 block.combustion-generator.name = 燃燒發電機
block.turbine-generator.name = 渦輪發電機 block.turbine-generator.name = 渦輪發電機
block.differential-generator.name = Differential Generator block.differential-generator.name = 差動發電機
block.impact-reactor.name = Impact Reactor block.impact-reactor.name = 衝擊反應堆
block.mechanical-drill.name = 機械鑽頭 block.mechanical-drill.name = 機械鑽頭
block.pneumatic-drill.name = 氣動鑽頭 block.pneumatic-drill.name = 氣動鑽頭
block.laser-drill.name = 激光鑽頭 block.laser-drill.name = 激光鑽頭
block.water-extractor.name = 水提取器 block.water-extractor.name = 水提取器
block.cultivator.name = 耕種機 block.cultivator.name = 耕種機
block.alpha-dart-mech-pad.name = Alpha-Dart Mech Pad block.alpha-dart-mech-pad.name = 阿爾法鏢船機甲墊
block.delta-mech-pad.name = 德爾塔機甲墊 block.delta-mech-pad.name = 德爾塔機甲墊
block.javelin-ship-pad.name = 標槍機甲墊 block.javelin-ship-pad.name = 標槍機甲墊
block.trident-ship-pad.name = 三叉船墊 block.trident-ship-pad.name = 三叉船墊
@@ -700,7 +712,7 @@ block.phantom-factory.name = 幻影無人機工廠
block.wraith-factory.name = 怨靈戰鬥機工廠 block.wraith-factory.name = 怨靈戰鬥機工廠
block.ghoul-factory.name = 食屍鬼轟炸機工廠 block.ghoul-factory.name = 食屍鬼轟炸機工廠
block.dagger-factory.name = 匕首機甲工廠 block.dagger-factory.name = 匕首機甲工廠
block.crawler-factory.name = Crawler Mech Factory block.crawler-factory.name = 爬行機甲工廠
block.titan-factory.name = 泰坦機甲工廠 block.titan-factory.name = 泰坦機甲工廠
block.fortress-factory.name = 堡壘機甲工廠 block.fortress-factory.name = 堡壘機甲工廠
block.revenant-factory.name = 亡魂戰鬥機工廠 block.revenant-factory.name = 亡魂戰鬥機工廠
@@ -732,7 +744,7 @@ block.spectre.name = 幽靈炮
block.meltdown.name = 熔毀炮 block.meltdown.name = 熔毀炮
block.container.name = 容器 block.container.name = 容器
block.launch-pad.name = 發射台 block.launch-pad.name = 發射台
block.launch-pad.description = Launches batches of items without any need for a core launch. Unfinished. block.launch-pad.description = 無需從核心發射即可發射物品。未完成。
team.blue.name = team.blue.name =
team.red.name = team.red.name =
team.orange.name = team.orange.name =
@@ -745,7 +757,7 @@ unit.phantom.name = 幻影無人機
unit.phantom.description = 一種高級的無人機。自動挖掘礦石、收集物品和修理方塊。比輕型無人機明顯更有效。 unit.phantom.description = 一種高級的無人機。自動挖掘礦石、收集物品和修理方塊。比輕型無人機明顯更有效。
unit.dagger.name = 匕首 unit.dagger.name = 匕首
unit.dagger.description = 一種基本的地面單位。最好一群地使用。 unit.dagger.description = 一種基本的地面單位。最好一群地使用。
unit.crawler.name = Crawler unit.crawler.name = 爬行
unit.titan.name = 泰坦 unit.titan.name = 泰坦
unit.titan.description = 一種高級的具有裝甲的地面單位。使用碳化物作為彈藥。攻擊地面單位和空中單位。 unit.titan.description = 一種高級的具有裝甲的地面單位。使用碳化物作為彈藥。攻擊地面單位和空中單位。
unit.ghoul.name = 食屍鬼轟炸機 unit.ghoul.name = 食屍鬼轟炸機
@@ -755,11 +767,11 @@ unit.wraith.description = 一種快速、打了就跑的攔截機。
unit.fortress.name = 堡壘 unit.fortress.name = 堡壘
unit.fortress.description = 一種具有重型大砲的地面單位。 unit.fortress.description = 一種具有重型大砲的地面單位。
unit.revenant.name = 亡魂 unit.revenant.name = 亡魂
unit.eruptor.name = Eruptor unit.eruptor.name = 爆發者
unit.chaos-array.name = Chaos Array unit.chaos-array.name = 混沌陣
unit.eradicator.name = Eradicator unit.eradicator.name = 消除者
unit.lich.name = Lich unit.lich.name = 巫妖
unit.reaper.name = Reaper unit.reaper.name = 收割者
tutorial.begin = 你的任務是毀滅[LIGHT_GRAY]敵人[]。\n\n首先[accent]挖掘銅礦[]。點擊核心附近的銅脈以開始。 tutorial.begin = 你的任務是毀滅[LIGHT_GRAY]敵人[]。\n\n首先[accent]挖掘銅礦[]。點擊核心附近的銅脈以開始。
tutorial.drill = 手動挖掘礦石是低效率的。\n[accent]鑽頭[]能夠自動挖掘礦石。\n在銅脈上放置一個鑽頭。 tutorial.drill = 手動挖掘礦石是低效率的。\n[accent]鑽頭[]能夠自動挖掘礦石。\n在銅脈上放置一個鑽頭。
tutorial.conveyor = [accent]輸送帶[]能夠將物品運輸到核心。\n製作一條從鑽頭開始到核心的輸送帶。 tutorial.conveyor = [accent]輸送帶[]能夠將物品運輸到核心。\n製作一條從鑽頭開始到核心的輸送帶。
@@ -796,7 +808,7 @@ block.overdrive-projector.description = 提高附近建築物的速度,如鑽
block.force-projector.description = 在自身周圍形成一個六角形力場,保護內部的建築物和單位免受子彈的傷害。 block.force-projector.description = 在自身周圍形成一個六角形力場,保護內部的建築物和單位免受子彈的傷害。
block.shock-mine.description = 傷害踩到地雷的敵人。敵人幾乎看不見。 block.shock-mine.description = 傷害踩到地雷的敵人。敵人幾乎看不見。
block.duo.description = 一種小而便宜的砲塔。 block.duo.description = 一種小而便宜的砲塔。
block.scatter.description = A medium-sized anti-air turret. Sprays clumps of lead or scrap flak at enemy units. block.scatter.description = 一種中型防空砲塔。向敵方單位噴射鉛塊或碎片。
block.arc.description = 一種向敵人射出隨機電弧的小砲塔。 block.arc.description = 一種向敵人射出隨機電弧的小砲塔。
block.hail.description = 一種小型火砲。 block.hail.description = 一種小型火砲。
block.lancer.description = 一種射出電子束的中型砲塔。 block.lancer.description = 一種射出電子束的中型砲塔。
@@ -823,7 +835,7 @@ block.blast-mixer.description = 使用油將硫變成比較不易燃但更具爆
block.cryofluidmixer.description = 合水和鈦成冷卻效率更高的冷凍液。 block.cryofluidmixer.description = 合水和鈦成冷卻效率更高的冷凍液。
block.melter.description = 將石頭加熱到很高的溫度以獲得熔岩。 block.melter.description = 將石頭加熱到很高的溫度以獲得熔岩。
block.incinerator.description = 清除任何多餘的物品或液體。 block.incinerator.description = 清除任何多餘的物品或液體。
block.spore-press.description = Compresses spore pods into oil. block.spore-press.description = 將孢子莢壓縮成油。
block.separator.description = 將石頭暴露在水壓下以獲得石頭中的各種礦物質。 block.separator.description = 將石頭暴露在水壓下以獲得石頭中的各種礦物質。
block.power-node.description = 將能量傳輸到連接的節點。最多可連接四個能量來源、接收或節點。節點將從任何相鄰方塊接收能量或向其供能量。 block.power-node.description = 將能量傳輸到連接的節點。最多可連接四個能量來源、接收或節點。節點將從任何相鄰方塊接收能量或向其供能量。
block.power-node-large.description = 範圍大於能量節點,最多可連接六個能量來源、接收或節點。 block.power-node-large.description = 範圍大於能量節點,最多可連接六個能量來源、接收或節點。
@@ -858,6 +870,7 @@ block.wraith-factory.description = 生產快速、打了就跑的攔截機單位
block.ghoul-factory.description = 生產重型鋪蓋轟炸機。 block.ghoul-factory.description = 生產重型鋪蓋轟炸機。
block.dagger-factory.description = 產生基本地面單位。 block.dagger-factory.description = 產生基本地面單位。
block.titan-factory.description = 生產具有裝甲的高級地面單位。 block.titan-factory.description = 生產具有裝甲的高級地面單位。
block.fortress-factory.description = 生產重型火砲地面單位。 block.fortress-factory.description = 生產重型火砲地面單位。
block.revenant-factory.description = 生產重型激光地面單位。 block.revenant-factory.description = 生產重型激光地面單位。
block.repair-point.description = 持續治療附近最近的受損單位。 block.repair-point.description = 持續治療附近最近的受損單位。

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

Before

Width:  |  Height:  |  Size: 505 B

After

Width:  |  Height:  |  Size: 509 B

Binary file not shown.

Binary file not shown.

Before

Width:  |  Height:  |  Size: 2.1 KiB

After

Width:  |  Height:  |  Size: 5.6 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 22 KiB

File diff suppressed because it is too large Load Diff

Binary file not shown.

Before

Width:  |  Height:  |  Size: 1.1 MiB

After

Width:  |  Height:  |  Size: 727 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 242 KiB

After

Width:  |  Height:  |  Size: 118 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 219 KiB

After

Width:  |  Height:  |  Size: 148 KiB

File diff suppressed because it is too large Load Diff

Binary file not shown.

After

Width:  |  Height:  |  Size: 71 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 109 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 255 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 267 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 82 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 51 KiB

View File

@@ -35,7 +35,7 @@ public class Blocks implements ContentList{
public static Block public static Block
//environment //environment
air, part, spawn, deepwater, water, tar, stone, craters, charr, sand, darksand, ice, snow, air, part, spawn, deepwater, water, taintedWater, tar, stone, craters, charr, sand, darksand, ice, snow, darksandTaintedWater,
holostone, rocks, sporerocks, icerocks, cliffs, sporePine, pine, whiteTree, whiteTreeDead, sporeCluster, holostone, rocks, sporerocks, icerocks, cliffs, sporePine, pine, whiteTree, whiteTreeDead, sporeCluster,
iceSnow, sandWater, darksandWater, duneRocks, sandRocks, moss, sporeMoss, shale, shaleRocks, shaleBoulder, grass, salt, iceSnow, sandWater, darksandWater, duneRocks, sandRocks, moss, sporeMoss, shale, shaleRocks, shaleBoulder, grass, salt,
metalFloor, metalFloorDamaged, metalFloor2, metalFloor3, metalFloor5, ignarock, magmarock, hotrock, snowrocks, rock, snowrock, metalFloor, metalFloorDamaged, metalFloor2, metalFloor3, metalFloor5, ignarock, magmarock, hotrock, snowrocks, rock, snowrock,
@@ -114,7 +114,6 @@ public class Blocks implements ContentList{
} }
deepwater = new Floor("deepwater"){{ deepwater = new Floor("deepwater"){{
liquidColor = Color.valueOf("4d5ca4");
speedMultiplier = 0.2f; speedMultiplier = 0.2f;
variants = 0; variants = 0;
liquidDrop = Liquids.water; liquidDrop = Liquids.water;
@@ -126,7 +125,6 @@ public class Blocks implements ContentList{
}}; }};
water = new Floor("water"){{ water = new Floor("water"){{
liquidColor = Color.valueOf("596ab8");
speedMultiplier = 0.5f; speedMultiplier = 0.5f;
variants = 0; variants = 0;
status = StatusEffects.wet; status = StatusEffects.wet;
@@ -136,9 +134,49 @@ public class Blocks implements ContentList{
cacheLayer = CacheLayer.water; cacheLayer = CacheLayer.water;
}}; }};
taintedWater = new Floor("tainted-water"){{
speedMultiplier = 0.17f;
variants = 0;
status = StatusEffects.wet;
statusDuration = 140f;
drownTime = 120f;
liquidDrop = Liquids.water;
isLiquid = true;
cacheLayer = CacheLayer.water;
}};
darksandTaintedWater = new Floor("darksand-tainted-water"){{
speedMultiplier = 0.75f;
variants = 0;
status = StatusEffects.wet;
statusDuration = 60f;
liquidDrop = Liquids.water;
isLiquid = true;
cacheLayer = CacheLayer.water;
}};
sandWater = new Floor("sand-water"){{
speedMultiplier = 0.8f;
variants = 0;
status = StatusEffects.wet;
statusDuration = 50f;
liquidDrop = Liquids.water;
isLiquid = true;
cacheLayer = CacheLayer.water;
}};
darksandWater = new Floor("darksand-water"){{
speedMultiplier = 0.8f;
variants = 0;
status = StatusEffects.wet;
statusDuration = 50f;
liquidDrop = Liquids.water;
isLiquid = true;
cacheLayer = CacheLayer.water;
}};
tar = new Floor("tar"){{ tar = new Floor("tar"){{
drownTime = 150f; drownTime = 150f;
liquidColor = Color.valueOf("292929");
status = StatusEffects.tarred; status = StatusEffects.tarred;
statusDuration = 240f; statusDuration = 240f;
speedMultiplier = 0.19f; speedMultiplier = 0.19f;
@@ -161,28 +199,6 @@ public class Blocks implements ContentList{
blendGroup = stone; blendGroup = stone;
}}; }};
sandWater = new Floor("sand-water"){{
liquidColor = Color.valueOf("596ab8");
speedMultiplier = 0.8f;
variants = 0;
status = StatusEffects.wet;
statusDuration = 50f;
liquidDrop = Liquids.water;
isLiquid = true;
cacheLayer = CacheLayer.water;
}};
darksandWater = new Floor("darksand-water"){{
liquidColor = Color.valueOf("596ab8");
speedMultiplier = 0.8f;
variants = 0;
status = StatusEffects.wet;
statusDuration = 50f;
liquidDrop = Liquids.water;
isLiquid = true;
cacheLayer = CacheLayer.water;
}};
sand = new Floor("sand"){{ sand = new Floor("sand"){{
itemDrop = Items.sand; itemDrop = Items.sand;
playerUnmineable = true; playerUnmineable = true;
@@ -194,7 +210,7 @@ public class Blocks implements ContentList{
}}; }};
holostone = new Floor("holostone"){{ holostone = new Floor("holostone"){{
edgeStyle = "blocky";
}}; }};
grass = new Floor("grass"){{ grass = new Floor("grass"){{
@@ -322,7 +338,7 @@ public class Blocks implements ContentList{
}}; }};
ignarock = new Floor("ignarock"){{ ignarock = new Floor("ignarock"){{
blendGroup = darksand;
}}; }};
hotrock = new Floor("hotrock"){{ hotrock = new Floor("hotrock"){{

View File

@@ -123,7 +123,7 @@ public class Zones implements ContentList{
rules = () -> new Rules(){{ rules = () -> new Rules(){{
waves = true; waves = true;
waveTimer = true; waveTimer = true;
waveSpacing = 60 * 60 * 1.5f; waveSpacing = 60 * 60 * 1.3f;
}}; }};
}}; }};

View File

@@ -4,12 +4,11 @@ import io.anuke.arc.ApplicationListener;
import io.anuke.arc.Core; import io.anuke.arc.Core;
import io.anuke.arc.Events; import io.anuke.arc.Events;
import io.anuke.arc.graphics.Color; import io.anuke.arc.graphics.Color;
import io.anuke.arc.graphics.GL20;
import io.anuke.arc.graphics.g2d.Draw; import io.anuke.arc.graphics.g2d.Draw;
import io.anuke.arc.graphics.g2d.TextureAtlas; import io.anuke.arc.graphics.g2d.TextureAtlas;
import io.anuke.arc.input.KeyCode; import io.anuke.arc.input.KeyCode;
import io.anuke.arc.util.Interval; import io.anuke.arc.util.*;
import io.anuke.arc.util.Strings;
import io.anuke.arc.util.Time;
import io.anuke.mindustry.content.Mechs; import io.anuke.mindustry.content.Mechs;
import io.anuke.mindustry.core.GameState.State; import io.anuke.mindustry.core.GameState.State;
import io.anuke.mindustry.entities.Effects; import io.anuke.mindustry.entities.Effects;
@@ -32,6 +31,7 @@ import io.anuke.mindustry.ui.dialogs.FloatingDialog;
import io.anuke.mindustry.world.Tile; import io.anuke.mindustry.world.Tile;
import java.io.IOException; import java.io.IOException;
import java.nio.IntBuffer;
import static io.anuke.arc.Core.scene; import static io.anuke.arc.Core.scene;
import static io.anuke.mindustry.Vars.*; import static io.anuke.mindustry.Vars.*;
@@ -51,6 +51,10 @@ public class Control implements ApplicationListener{
private InputHandler[] inputs = {}; private InputHandler[] inputs = {};
public Control(){ public Control(){
IntBuffer buf = BufferUtils.newIntBuffer(1);
Core.gl.glGetIntegerv(GL20.GL_MAX_TEXTURE_SIZE, buf);
int maxSize = buf.get(0);
saves = new Saves(); saves = new Saves();
data = new GlobalData(); data = new GlobalData();
@@ -59,7 +63,7 @@ public class Control implements ApplicationListener{
Effects.setShakeFalloff(10000f); Effects.setShakeFalloff(10000f);
content.initialize(Content::init); content.initialize(Content::init);
Core.atlas = new TextureAtlas("sprites/sprites.atlas"); Core.atlas = new TextureAtlas(maxSize < 2048 ? "sprites/sprites_fallback.atlas" : "sprites/sprites.atlas");
Draw.scl = 1f / Core.atlas.find("scale_marker").getWidth(); Draw.scl = 1f / Core.atlas.find("scale_marker").getWidth();
content.initialize(Content::load); content.initialize(Content::load);

View File

@@ -49,7 +49,7 @@ public class EditorTile extends Tile{
@Override @Override
public void setBlock(Block type){ public void setBlock(Block type){
Block previous = block(); Block previous = wall == null ? Blocks.air : wall;
if(previous == type) return; if(previous == type) return;
super.setBlock(type); super.setBlock(type);
op(TileOp.get(x, y, (byte)OpType.block.ordinal(), previous.id, type.id)); op(TileOp.get(x, y, (byte)OpType.block.ordinal(), previous.id, type.id));

View File

@@ -115,7 +115,7 @@ public abstract class GroundUnit extends BaseUnit{
Floor floor = getFloorOn(); Floor floor = getFloorOn();
if(floor.isLiquid){ if(floor.isLiquid){
Draw.color(Color.WHITE, floor.liquidColor, 0.5f); Draw.color(Color.WHITE, floor.color, 0.5f);
} }
for(int i : Mathf.signs){ for(int i : Mathf.signs){
@@ -126,7 +126,7 @@ public abstract class GroundUnit extends BaseUnit{
} }
if(floor.isLiquid){ if(floor.isLiquid){
Draw.color(Color.WHITE, floor.liquidColor, drownTime * 0.4f); Draw.color(Color.WHITE, floor.color, drownTime * 0.4f);
}else{ }else{
Draw.color(Color.WHITE); Draw.color(Color.WHITE);
} }

View File

@@ -292,7 +292,7 @@ public class Player extends Unit implements BuilderTrait, ShooterTrait{
if(!mech.flying){ if(!mech.flying){
if(floor.isLiquid){ if(floor.isLiquid){
Draw.color(Color.WHITE, floor.liquidColor, 0.5f); Draw.color(Color.WHITE, floor.color, 0.5f);
} }
float boostTrnsY = -boostHeat * 3f; float boostTrnsY = -boostHeat * 3f;
@@ -312,7 +312,7 @@ public class Player extends Unit implements BuilderTrait, ShooterTrait{
} }
if(floor.isLiquid){ if(floor.isLiquid){
Draw.color(Color.WHITE, floor.liquidColor, drownTime); Draw.color(Color.WHITE, floor.color, drownTime);
}else{ }else{
Draw.color(Color.WHITE); Draw.color(Color.WHITE);
} }
@@ -524,7 +524,7 @@ public class Player extends Unit implements BuilderTrait, ShooterTrait{
if(mech.shake > 1f){ if(mech.shake > 1f){
Effects.shake(mech.shake, mech.shake, this); Effects.shake(mech.shake, mech.shake, this);
} }
Effects.effect(Fx.unitLand, tile.floor().liquidColor == null ? tile.floor().color : tile.floor().color, x, y, tile.floor().isLiquid ? 1f : 0.5f); Effects.effect(Fx.unitLand, tile.floor().color, x, y, tile.floor().isLiquid ? 1f : 0.5f);
} }
mech.onLand(this); mech.onLand(this);
achievedFlight = false; achievedFlight = false;

View File

@@ -278,7 +278,7 @@ public abstract class Unit extends DestructibleEntity implements SaveTrait, Targ
} }
if(onLiquid && velocity.len() > 0.4f && Mathf.chance((velocity.len() * floor.speedMultiplier) * 0.06f * Time.delta())){ if(onLiquid && velocity.len() > 0.4f && Mathf.chance((velocity.len() * floor.speedMultiplier) * 0.06f * Time.delta())){
Effects.effect(floor.walkEffect, floor.liquidColor, x, y); Effects.effect(floor.walkEffect, floor.color, x, y);
} }
if(onLiquid){ if(onLiquid){
@@ -292,7 +292,7 @@ public abstract class Unit extends DestructibleEntity implements SaveTrait, Targ
if(onLiquid && floor.drownTime > 0){ if(onLiquid && floor.drownTime > 0){
drownTime += Time.delta() * 1f / floor.drownTime; drownTime += Time.delta() * 1f / floor.drownTime;
if(Mathf.chance(Time.delta() * 0.05f)){ if(Mathf.chance(Time.delta() * 0.05f)){
Effects.effect(floor.drownUpdateEffect, floor.liquidColor, x, y); Effects.effect(floor.drownUpdateEffect, floor.color, x, y);
} }
}else{ }else{
drownTime = Mathf.lerpDelta(drownTime, 0f, 0.03f); drownTime = Mathf.lerpDelta(drownTime, 0f, 0.03f);

View File

@@ -26,7 +26,6 @@ import static io.anuke.mindustry.Vars.*;
public class BlockRenderer{ public class BlockRenderer{
private final static int initialRequests = 32 * 32; private final static int initialRequests = 32 * 32;
private final static int expandr = 9; private final static int expandr = 9;
private final static boolean disableShadows = false;
private final static Color shadowColor = new Color(0, 0, 0, 0.19f); private final static Color shadowColor = new Color(0, 0, 0, 0.19f);
public final FloorRenderer floor = new FloorRenderer(); public final FloorRenderer floor = new FloorRenderer();
@@ -100,7 +99,7 @@ public class BlockRenderer{
} }
public void drawShadows(){ public void drawShadows(){
if(disableShadows) return; if(!Core.settings.getBool("shadows")) return;
Draw.color(); Draw.color();

View File

@@ -241,7 +241,7 @@ public abstract class InputHandler implements InputProcessor{
boolean canMine(Tile tile){ boolean canMine(Tile tile){
return !Core.scene.hasMouse() return !Core.scene.hasMouse()
&& tile.drop() != null && tile.drop().hardness <= player.mech.drillPower && tile.drop() != null && tile.drop().hardness <= player.mech.drillPower
&& !tile.floor().playerUnmineable && !(tile.floor().playerUnmineable && tile.ore() == Blocks.air)
&& player.acceptsItem(tile.drop()) && player.acceptsItem(tile.drop())
&& tile.block() == Blocks.air && player.dst(tile.worldx(), tile.worldy()) <= Player.mineDistance; && tile.block() == Blocks.air && player.dst(tile.worldx(), tile.worldy()) <= Player.mineDistance;
} }

View File

@@ -365,7 +365,7 @@ public class MobileInput extends InputHandler implements GestureListener{
if(!request.remove && request == lastPlaced && request.block != null){ if(!request.remove && request == lastPlaced && request.block != null){
Draw.mixcol(); Draw.mixcol();
drawArrow(request.block, tile.x, tile.y, request.rotation); if(request.block.rotate) drawArrow(request.block, tile.x, tile.y, request.rotation);
} }
Draw.mixcol(Tmp.c1, 1f); Draw.mixcol(Tmp.c1, 1f);
@@ -401,6 +401,7 @@ public class MobileInput extends InputHandler implements GestureListener{
} }
drawPlace(l.x, l.y, block, l.rotation, prevX - l.x, prevY - l.y, prevRotation); drawPlace(l.x, l.y, block, l.rotation, prevX - l.x, prevY - l.y, prevRotation);
rotation = l.rotation;
prevX = l.x; prevX = l.x;
prevY = l.y; prevY = l.y;
prevRotation = l.rotation; prevRotation = l.rotation;

View File

@@ -95,7 +95,7 @@ public class MapGenerator extends Generator{
tiles[x][y].setBlock(Blocks.air); tiles[x][y].setBlock(Blocks.air);
} }
if(tiles[x][y].block() == Blocks.spawn){ if(tiles[x][y].block() == Blocks.spawn && enemySpawns != -1){
enemies.add(new Point2(x, y)); enemies.add(new Point2(x, y));
tiles[x][y].setBlock(Blocks.air); tiles[x][y].setBlock(Blocks.air);
} }

View File

@@ -27,6 +27,8 @@ public class ItemsDisplay extends Table{
table("flat", t -> { table("flat", t -> {
t.margin(10).marginLeft(15).marginTop(15f); t.margin(10).marginLeft(15).marginTop(15f);
t.add("$launcheditems").colspan(3).left().padBottom(5);
t.row();
ObjectIntMap<Item> items = data.items(); ObjectIntMap<Item> items = data.items();
for(Item item : content.items()){ for(Item item : content.items()){
if(item.type == ItemType.material && data.isUnlocked(item)){ if(item.type == ItemType.material && data.isUnlocked(item)){

View File

@@ -168,12 +168,12 @@ public class JoinDialog extends FloatingDialog{
server.content.table(t -> { server.content.table(t -> {
t.add(versionString).left(); t.add(versionString).left();
t.row(); t.row();
t.add("[lightgray]" + Core.bundle.format("server.hostname", host.name)).left(); t.add("[lightgray]" + Core.bundle.format("server.hostname", host.name)).width(targetWidth() - 10f).left().get().setEllipsis(true);
t.row(); t.row();
t.add("[lightgray]" + (host.players != 1 ? Core.bundle.format("players", host.players) : t.add("[lightgray]" + (host.players != 1 ? Core.bundle.format("players", host.players) :
Core.bundle.format("players.single", host.players))).left(); Core.bundle.format("players.single", host.players))).left();
t.row(); t.row();
t.add("[lightgray]" + Core.bundle.format("save.map", host.mapname) + " / " + Core.bundle.format("save.wave", host.wave)).left(); t.add("[lightgray]" + Core.bundle.format("save.map", host.mapname) + " / " + Core.bundle.format("save.wave", host.wave)).width(targetWidth() - 10f).left().get().setEllipsis(true);
}).expand().left().bottom().padLeft(12f).padBottom(8); }).expand().left().bottom().padLeft(12f).padBottom(8);
}, e -> { }, e -> {

View File

@@ -198,6 +198,7 @@ public class SettingsMenuDialog extends SettingsDialog{
graphics.checkPref("fps", false); graphics.checkPref("fps", false);
graphics.checkPref("indicators", true); graphics.checkPref("indicators", true);
graphics.checkPref("shadows", true);
graphics.checkPref("animatedwater", !mobile); graphics.checkPref("animatedwater", !mobile);
graphics.checkPref("lasers", true); graphics.checkPref("lasers", true);
} }

View File

@@ -60,10 +60,25 @@ public class HudFragment extends Fragment{
{ {
Table select = new Table(){ Table select = new Table(){
public float getPrefWidth(){ return Unit.dp.scl(dsize*4 + 3); } @Override
public float getPrefHeight(){ return Unit.dp.scl(dsize); } public void act(float delta){
setSize(getPrefWidth(), getPrefHeight());
setPosition(0, Core.graphics.getHeight(), Align.topLeft);
super.act(delta);
}
@Override
public float getPrefWidth(){
return Unit.dp.scl(dsize*4 + 3);
}
@Override
public float getPrefHeight(){
return Unit.dp.scl(dsize);
}
}; };
select.visible(() -> !state.is(State.menu));
select.left(); select.left();
select.defaults().size(dsize).left(); select.defaults().size(dsize).left();
@@ -106,7 +121,8 @@ public class HudFragment extends Fragment{
}).get(); }).get();
select.addImage("blank").color(Pal.accent).width(3f).fillY(); select.addImage("blank").color(Pal.accent).width(3f).fillY();
cont.add(select).prefSize(dsize*4 + 3, dsize).left(); Core.scene.add(select);
cont.add().size(dsize*4 + 3, dsize).left();
} }
cont.row(); cont.row();
@@ -219,9 +235,8 @@ public class HudFragment extends Fragment{
//launch button //launch button
parent.fill(t -> { parent.fill(t -> {
t.top().visible(() -> !state.is(State.menu)); t.top().right().visible(() -> !state.is(State.menu));
TextButton[] testb = {null}; TextButton[] testb = {null};
TextButton button = Elements.newButton("$launch", () -> { TextButton button = Elements.newButton("$launch", () -> {
FloatingDialog dialog = new FloatingDialog("$launch"); FloatingDialog dialog = new FloatingDialog("$launch");
dialog.update(() -> { dialog.update(() -> {
@@ -266,10 +281,8 @@ public class HudFragment extends Fragment{
}); });
button.setDisabled(() -> state.enemies() > 0); button.setDisabled(() -> state.enemies() > 0);
button.getLabelCell().left().get().setAlignment(Align.left, Align.left); button.getLabelCell().left().get().setAlignment(Align.left, Align.left);
t.add(button).size(250f, 80f);
t.add(button).size(350f, 80f);
}); });
//paused table //paused table

View File

@@ -143,6 +143,10 @@ public class Block extends BlockStorage{
} }
protected void powerGraphRemoved(Tile tile){ protected void powerGraphRemoved(Tile tile){
if(tile.entity == null || tile.entity.power == null || tile.entity.power.graph == null){
return;
}
tile.entity.power.graph.remove(tile); tile.entity.power.graph.remove(tile);
for(int i = 0; i < tile.entity.power.links.size; i++){ for(int i = 0; i < tile.entity.power.links.size; i++){
Tile other = world.tile(tile.entity.power.links.get(i)); Tile other = world.tile(tile.entity.power.links.get(i));

View File

@@ -476,7 +476,7 @@ public class Tile implements Position, TargetTrait{
Block block = block(); Block block = block();
Block floor = floor(); Block floor = floor();
return floor.name + ":" + block.name + "[" + x + "," + y + "] " + "entity=" + (entity == null ? "null" : (entity.getClass())) + return floor.name + ":" + block.name + ":" + content.block(ore) + "[" + x + "," + y + "] " + "entity=" + (entity == null ? "null" : (entity.getClass())) +
(link != 0 ? " link=[" + (Pack.leftByte(link) - 8) + ", " + (Pack.rightByte(link) - 8) + "]" : ""); (link != 0 ? " link=[" + (Pack.leftByte(link) - 8) + ", " + (Pack.rightByte(link) - 8) + "]" : "");
} }
} }

View File

@@ -1,7 +1,6 @@
package io.anuke.mindustry.world.blocks; package io.anuke.mindustry.world.blocks;
import io.anuke.arc.Core; import io.anuke.arc.Core;
import io.anuke.arc.graphics.Color;
import io.anuke.arc.graphics.g2d.Draw; import io.anuke.arc.graphics.g2d.Draw;
import io.anuke.arc.graphics.g2d.TextureRegion; import io.anuke.arc.graphics.g2d.TextureRegion;
import io.anuke.arc.math.Mathf; import io.anuke.arc.math.Mathf;
@@ -40,8 +39,6 @@ public class Floor extends Block{
public StatusEffect status = StatusEffects.none; public StatusEffect status = StatusEffects.none;
/** Intensity of applied status effect. */ /** Intensity of applied status effect. */
public float statusDuration = 60f; public float statusDuration = 60f;
/** Color of this floor's liquid. Used for tinting sprites. */
public Color liquidColor;
/** liquids that drop from this block, used for pumps */ /** liquids that drop from this block, used for pumps */
public Liquid liquidDrop = null; public Liquid liquidDrop = null;
/** item that drops from this block, used for drills */ /** item that drops from this block, used for drills */
@@ -95,15 +92,6 @@ public class Floor extends Block{
return new TextureRegion[]{Core.atlas.find(Core.atlas.has(name) ? name : name + "1")}; return new TextureRegion[]{Core.atlas.find(Core.atlas.has(name) ? name : name + "1")};
} }
@Override
public void init(){
super.init();
if(isLiquid && liquidColor == null){
throw new RuntimeException("All liquids must define a liquidColor! Problematic block: " + name);
}
}
@Override @Override
public void draw(Tile tile){ public void draw(Tile tile){
Mathf.random.setSeed(tile.pos()); Mathf.random.setSeed(tile.pos());

View File

@@ -29,7 +29,7 @@ import java.io.IOException;
import static io.anuke.mindustry.Vars.*; import static io.anuke.mindustry.Vars.*;
public class Conveyor extends Block{ public class Conveyor extends Block{
private static final float itemSpace = 0.135f * 3f; private static final float itemSpace = 0.4f;
private static final float minmove = 1f / (Short.MAX_VALUE - 2); private static final float minmove = 1f / (Short.MAX_VALUE - 2);
private static ItemPos drawpos = new ItemPos(); private static ItemPos drawpos = new ItemPos();
private static ItemPos pos1 = new ItemPos(); private static ItemPos pos1 = new ItemPos();
@@ -60,7 +60,7 @@ public class Conveyor extends Block{
@Override @Override
public void setStats(){ public void setStats(){
super.setStats(); super.setStats();
stats.add(BlockStat.itemsMoved, speed * 60, StatUnit.itemsSecond); stats.add(BlockStat.itemsMoved, speed * 60 * (1f / itemSpace), StatUnit.itemsSecond);
} }
@Override @Override

View File

@@ -13,7 +13,7 @@ public class PowerDistributor extends PowerBlock{
@Override @Override
public void update(Tile tile){ public void update(Tile tile){
if(tile.entity != null && tile.entity.power != null && tile.entity.power.graph != null){ if(tile.entity.power.graph != null){
tile.entity.power.graph.update(); tile.entity.power.graph.update();
} }
} }

View File

@@ -229,7 +229,7 @@ public class PowerGraph{
closedSet.clear(); closedSet.clear();
for(Tile other : tile.block().getPowerConnections(tile, outArray1)){ for(Tile other : tile.block().getPowerConnections(tile, outArray1)){
if(other.entity.power == null || other.entity.power.graph != null){ continue; } if(other.entity.power == null || other.entity.power.graph != null) continue;
PowerGraph graph = new PowerGraph(); PowerGraph graph = new PowerGraph();
queue.clear(); queue.clear();
queue.addLast(other); queue.addLast(other);

View File

@@ -125,7 +125,7 @@ public class PowerNode extends PowerBlock{
@Override @Override
public void update(Tile tile){ public void update(Tile tile){
tile.entity.power.graph.update(); if(tile.entity.power.graph != null) tile.entity.power.graph.update();
} }
@Override @Override

View File

@@ -69,12 +69,6 @@ task dist(type: Jar){
} }
} }
task ttt(){
fileTree("/home/anuke/Projects/Mindustry/deploy/Mindustry-Linux64-4-beta-66/jre/lib/amd64/newst").each{t ->
println("\"jre/lib/amd64/${t.absoluteFile.name}\",")
}
}
//note: call desktop:dist beforehand //note: call desktop:dist beforehand
task packrCmd(){ task packrCmd(){
@@ -104,6 +98,20 @@ task packrCmd(){
} }
} }
task copyTemplate(){
doLast{
copy{
into "packr-out/"
from "${JDK_DIR}/templates/${getPlatform().toString().toLowerCase()}"
}
copy{
into "packr-out/"
from "build/libs/desktop-release.jar"
}
}
}
task packrZip(){ task packrZip(){
task clearOut(type: Delete){ task clearOut(type: Delete){
doLast{ doLast{
@@ -139,10 +147,14 @@ task packrZip(){
} }
} }
dependsOn "packrCmd"
finalizedBy "clearOut" finalizedBy "clearOut"
if(project.hasProperty("platform")){ if(project.hasProperty("platform")){
def plat = getPlatform()
if(plat == PackrConfig.Platform.Windows32 || plat == PackrConfig.Platform.Windows64){
dependsOn "copyTemplate"
}else{
dependsOn "packrCmd"
if(getPlatform() == PackrConfig.Platform.MacOS){ if(getPlatform() == PackrConfig.Platform.MacOS){
dependsOn "fixMac" dependsOn "fixMac"
@@ -151,6 +163,7 @@ task packrZip(){
if(getPlatform() == PackrConfig.Platform.Windows32){ if(getPlatform() == PackrConfig.Platform.Windows32){
dependsOn "fixWindows32" dependsOn "fixWindows32"
} }
}
task rzip(type: Zip){ task rzip(type: Zip){
from "packr-out/" from "packr-out/"

View File

@@ -37,7 +37,9 @@ public class CrashHandler{
if(e.getMessage() != null && (e.getMessage().contains("Couldn't create window") || e.getMessage().contains("OpenGL 2.0 or higher"))){ if(e.getMessage() != null && (e.getMessage().contains("Couldn't create window") || e.getMessage().contains("OpenGL 2.0 or higher"))){
dialog(() -> TinyFileDialogs.tinyfd_messageBox("oh no", "Your graphics card does not support OpenGL 2.0!\n" + dialog(() -> TinyFileDialogs.tinyfd_messageBox("oh no",
e.getMessage().contains("Couldn't create window") ? "A graphics initialization error has occured! Try to update your graphics drivers.\nReport this to the developer." :
"Your graphics card does not support OpenGL 2.0!\n" +
"Try to update your graphics drivers.\n\n" + "Try to update your graphics drivers.\n\n" +
"(If that doesn't work, your computer just doesn't support Mindustry.)", "ok", "error", true)); "(If that doesn't work, your computer just doesn't support Mindustry.)", "ok", "error", true));
badGPU = true; badGPU = true;

View File

@@ -19,7 +19,7 @@ if(new File(settingsDir, 'local.properties').exists()){
println("No local.properties found. Not loading Android module.") println("No local.properties found. Not loading Android module.")
} }
if(System.properties["release"] == null || System.properties["release"] == "false"){ if(!hasProperty("release")){
if (new File(settingsDir, '../Arc').exists()) { if (new File(settingsDir, '../Arc').exists()) {
use(':Arc', '../Arc') use(':Arc', '../Arc')
use(':Arc:arc-core', '../Arc/arc-core') use(':Arc:arc-core', '../Arc/arc-core')

View File

@@ -178,6 +178,37 @@ public class ApplicationTests{
assertTrue(ran[0]); assertTrue(ran[0]);
} }
@Test
void manyTimers(){
int runs = 100000;
int[] total = {0};
for(int i = 0; i < runs; i++){
Time.run(0.999f, () -> total[0]++);
}
assertEquals(0, total[0]);
Time.update();
assertEquals(runs, total[0]);
}
@Test
void longTimers(){
Time.setDeltaProvider(() -> Float.MAX_VALUE);
Time.update();
int steps = 100;
float delay = 100000f;
Time.setDeltaProvider(() -> delay / steps + 0.01f);
int runs = 100000;
int[] total = {0};
for(int i = 0; i < runs; i++){
Time.run(delay, () -> total[0]++);
}
assertEquals(0, total[0]);
for(int i = 0; i < steps; i++){
Time.update();
}
assertEquals(runs, total[0]);
}
@Test @Test
void save(){ void save(){
world.loadMap(testMap); world.loadMap(testMap);

View File

@@ -11,7 +11,6 @@ import java.awt.image.BufferedImage
def outFolder = "../core/assets-raw/sprites_out/" def outFolder = "../core/assets-raw/sprites_out/"
def genFolder = "../core/assets-raw/sprites_out/generated/" def genFolder = "../core/assets-raw/sprites_out/generated/"
def packFile = "../core/assets-raw/sprites/pack.json"
def doAntialias = !project.hasProperty("disableAntialias") def doAntialias = !project.hasProperty("disableAntialias")
def antialias = {File file -> def antialias = {File file ->
@@ -201,6 +200,19 @@ task pack(){
} }
TexturePacker.process("core/assets-raw/sprites_out/", "core/assets/sprites/", "sprites.atlas") TexturePacker.process("core/assets-raw/sprites_out/", "core/assets/sprites/", "sprites.atlas")
delete{
delete fileTree(dir: '../core/assets-raw/sprites_out/' , include: '**/pack.json')
}
copy{
from '../core/assets-raw/sprites_out/'
into '../core/assets-raw/sprites_out/'
include '**/*.json'
rename 'pack_fallback.json', "pack.json"
}
TexturePacker.process("core/assets-raw/sprites_out/", "core/assets/sprites/", "sprites_fallback.atlas")
} }
} }