Compare commits

..
15 Commits
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

+2 -2
View File
@@ -29,11 +29,11 @@ allprojects{
arcHash = null
debugged = {
return new File(projectDir.parent, '../debug').exists() && System.properties["release"] == null
return new File(projectDir.parent, '../debug').exists() && !project.hasProperty("release")
}
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 = {
@@ -0,0 +1,8 @@
{
duplicatePadding: true,
combineSubdirectories: true,
flattenPaths: true,
maxWidth: 1024,
maxHeight: 1024,
fast: true,
}
@@ -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

+9 -5
View File
@@ -23,9 +23,10 @@ stat.deconstructed = Buildings Deconstructed:[accent] {0}
stat.delivered = Resources Launched:
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.
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.
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\n[scarlet]DO IT.
launcheditems = [accent]Launched Items
map.delete = Are you sure you want to delete the map "[accent]{0}[]"?
level.highscore = High Score: [accent]{0}
level.select = Level Select
@@ -412,6 +413,7 @@ category.items = Items
category.crafting = Input/Output
category.shooting = Shooting
category.optional = Optional Enhancements
setting.shadows.name = Shadows
setting.animatedwater.name = Animated Water
setting.antialias.name = Antialias[LIGHT_GRAY] (requires restart)[]
setting.indicators.name = Enemy/Ally Indicators
@@ -600,6 +602,8 @@ block.core-foundation.name = Core: Foundation
block.core-nucleus.name = Core: Nucleus
block.deepwater.name = Deep 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.stone.name = Stone
block.sand.name = Sand
@@ -620,10 +624,10 @@ block.pine.name = Pine
block.white-tree-dead.name = White Tree Dead
block.white-tree.name = White Tree
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-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.ignarock.name = Igna Rock
block.hotrock.name = Hot Rock
@@ -890,4 +894,4 @@ block.power-source.description = Infinitely outputs power. Sandbox only.
block.power-void.description = Voids all power inputted into it. Sandbox only.
liquid.water.description = Commonly used for cooling machines and waste processing.
liquid.oil.description = Can be burnt, exploded or used as a coolant.
liquid.cryofluid.description = The most efficient liquid for cooling things down.
liquid.cryofluid.description = The most efficient liquid for cooling things down.
+4
View File
@@ -23,6 +23,7 @@ stat.delivered = Resources Launched:
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.
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}[]"?
level.highscore = Nejvyšší skóre: [accent]{0}
level.select = Výběr levelu
@@ -405,6 +406,7 @@ category.items = Předměty
category.crafting = Vyžaduje
category.shooting = Střílí
category.optional = Volitelné vylepšení
setting.shadows.name = Shadows
setting.animatedwater.name = Animated Water
setting.antialias.name = Antialias[LIGHT_GRAY] (requires restart)[]
setting.indicators.name = Indikátor pro spojence
@@ -592,6 +594,8 @@ block.core-foundation.name = Core: Foundation
block.core-nucleus.name = Core: Nucleus
block.deepwater.name = Hluboká 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.stone.name = Kámen
block.sand.name = Písek
+4
View File
@@ -23,6 +23,7 @@ stat.delivered = Resources Launched:
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.
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?
level.highscore = High Score: [accent]{0}
level.select = Level Auswahl
@@ -405,6 +406,7 @@ category.items = Materialien
category.crafting = Erzeugung
category.shooting = Schießen
category.optional = Optional Enhancements
setting.shadows.name = Shadows
setting.animatedwater.name = Animated Water
setting.antialias.name = Antialias[LIGHT_GRAY] (requires restart)[]
setting.indicators.name = Ally Indicators
@@ -592,6 +594,8 @@ block.core-foundation.name = Core: Foundation
block.core-nucleus.name = Core: Nucleus
block.deepwater.name = Tiefes 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.stone.name = Stein
block.sand.name = Sand
+4
View File
@@ -23,6 +23,7 @@ stat.delivered = Resources Launched:
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.
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}[]"?
level.highscore = Puntuación más alta: [accent]{0}
level.select = Selección de nivel
@@ -405,6 +406,7 @@ category.items = Objetos
category.crafting = Fabricación
category.shooting = Disparo
category.optional = Mejoras Opcionales
setting.shadows.name = Shadows
setting.animatedwater.name = Animated Water
setting.antialias.name = Antialias[LIGHT_GRAY] (requires restart)[]
setting.indicators.name = Ally Indicators
@@ -592,6 +594,8 @@ block.core-foundation.name = Core: Foundation
block.core-nucleus.name = Core: Nucleus
block.deepwater.name = Aguas profundas
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.stone.name = Piedra
block.sand.name = Arena
+4
View File
@@ -23,6 +23,7 @@ stat.delivered = Resources Launched:
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.
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}[]"?
level.highscore = Meilleur score: [accent]{0}
level.select = Sélection de niveau
@@ -405,6 +406,7 @@ category.items = Objets
category.crafting = Fabrication
category.shooting = Défense
category.optional = Optional Enhancements
setting.shadows.name = Shadows
setting.animatedwater.name = Animated Water
setting.antialias.name = Antialias[LIGHT_GRAY] (requires restart)[]
setting.indicators.name = Ally Indicators
@@ -592,6 +594,8 @@ block.core-foundation.name = Core: Foundation
block.core-nucleus.name = Core: Nucleus
block.deepwater.name = Eau profonde
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.stone.name = Roche
block.sand.name = Sable
@@ -23,6 +23,7 @@ stat.delivered = Resources Launched:
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.
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}[]"?
level.highscore = Meilleur score: [accent]{0}
level.select = Sélection de niveau
@@ -405,6 +406,7 @@ category.items = Objets
category.crafting = Fabrication
category.shooting = Défense
category.optional = Améliorations facultatives
setting.shadows.name = Shadows
setting.animatedwater.name = Animated Water
setting.antialias.name = Antialias[LIGHT_GRAY] (requires restart)[]
setting.indicators.name = Indicateurs d'alliés
@@ -592,6 +594,8 @@ block.core-foundation.name = Core: Foundation
block.core-nucleus.name = Core: Nucleus
block.deepwater.name = Eau profonde
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.stone.name = Roche
block.sand.name = Sable
@@ -23,6 +23,7 @@ stat.delivered = Resources Launched:
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.
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}[]"?
level.highscore = Skor Tinggi: [accent]{0}
level.select = Pilih Level
@@ -405,6 +406,7 @@ category.items = Items
category.crafting = Crafting
category.shooting = Shooting
category.optional = Optional Enhancements
setting.shadows.name = Shadows
setting.animatedwater.name = Animated Water
setting.antialias.name = Antialias[LIGHT_GRAY] (requires restart)[]
setting.indicators.name = Ally Indicators
@@ -592,6 +594,8 @@ block.core-foundation.name = Core: Foundation
block.core-nucleus.name = Core: Nucleus
block.deepwater.name = deepwater
block.water.name = water
block.tainted-water.name = Tainted Water
block.darksand-tainted-water.name = Dark Sand Tainted Water
block.tar.name = Tar
block.stone.name = stone
block.sand.name = sand
+4
View File
@@ -23,6 +23,7 @@ stat.delivered = Resources Launched:
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.
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}[]"?
level.highscore = Miglior punteggio: [accent]{0}
level.select = Selezione del livello
@@ -405,6 +406,7 @@ category.items = Oggetti
category.crafting = Produzione
category.shooting = Potenza di fuoco
category.optional = Optional Enhancements
setting.shadows.name = Shadows
setting.animatedwater.name = Animated Water
setting.antialias.name = Antialias[LIGHT_GRAY] (requires restart)[]
setting.indicators.name = Ally Indicators
@@ -592,6 +594,8 @@ block.core-foundation.name = Core: Foundation
block.core-nucleus.name = Core: Nucleus
block.deepwater.name = acqua profonda
block.water.name = acqua
block.tainted-water.name = Tainted Water
block.darksand-tainted-water.name = Dark Sand Tainted Water
block.tar.name = Tar
block.stone.name = pietra
block.sand.name = sabbia
+4
View File
@@ -23,6 +23,7 @@ stat.delivered = 獲得した資源:
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.
launcheditems = [accent]Launched Items
map.delete = マップ "[accent]{0}[]" を削除してもよろしいですか?
level.highscore = ハイスコア: [accent]{0}
level.select = レベル選択
@@ -405,6 +406,7 @@ category.items = アイテム
category.crafting = 製作速度
category.shooting = 攻撃速度
category.optional = 機能強化オプション
setting.shadows.name = Shadows
setting.animatedwater.name = 水のアニメーション
setting.antialias.name = Antialias[LIGHT_GRAY] (requires restart)[]
setting.indicators.name = 味方の方角表示
@@ -592,6 +594,8 @@ block.core-foundation.name = コア: ファンデーション
block.core-nucleus.name = コア: ニュークリアス
block.deepwater.name = 深層水
block.water.name = 水
block.tainted-water.name = Tainted Water
block.darksand-tainted-water.name = Dark Sand Tainted Water
block.tar.name = タール
block.stone.name = 石
block.sand.name = 砂
+4
View File
@@ -23,6 +23,7 @@ stat.delivered = 획득한 자원:
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.
launcheditems = [accent]Launched Items
map.delete = 정말로 "[accent]{0}[]" 맵을 삭제하시겠습니까?\n
level.highscore = 최고 점수: [accent]{0}
level.select = 맵 선택
@@ -405,6 +406,7 @@ category.items = 아이템
category.crafting = 제작
category.shooting = 사격
category.optional = 보조 아이템
setting.shadows.name = Shadows
setting.animatedwater.name = 움직이는 물
setting.antialias.name = Antialias[LIGHT_GRAY] (requires restart)[]
setting.indicators.name = 아군/적 인디게이터 표시
@@ -592,6 +594,8 @@ block.core-foundation.name = 코어: 기초
block.core-nucleus.name = 코어: 핵
block.deepwater.name = 깊은물
block.water.name = 물
block.tainted-water.name = Tainted Water
block.darksand-tainted-water.name = Dark Sand Tainted Water
block.tar.name = 타르
block.stone.name = 돌
block.sand.name = 모래
+4
View File
@@ -23,6 +23,7 @@ stat.delivered = Middelen Gelanceerd:
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.
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}[]"?
level.highscore = Topscore: [accent]{0}
level.select = Selecteer Level
@@ -405,6 +406,7 @@ category.items = Items
category.crafting = Crafting
category.shooting = Shooting
category.optional = Optional Enhancements
setting.shadows.name = Shadows
setting.animatedwater.name = Animated Water
setting.antialias.name = Antialias[LIGHT_GRAY] (requires restart)[]
setting.indicators.name = Ally Indicators
@@ -592,6 +594,8 @@ block.core-foundation.name = Core: Foundation
block.core-nucleus.name = Core: Nucleus
block.deepwater.name = Deep 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.stone.name = Stone
block.sand.name = Dark Sand
+4
View File
@@ -23,6 +23,7 @@ stat.delivered = Surowce wystrzelone:
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.
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}[]"?
level.highscore = Rekord: [accent]{0}
level.select = Wybrany poziom
@@ -405,6 +406,7 @@ category.items = Przedmioty
category.crafting = Przetwórstwo
category.shooting = Strzelanie
category.optional = Ulepszenia Nieobowiąskowe
setting.shadows.name = Shadows
setting.animatedwater.name = Animated Water
setting.antialias.name = Antialias[LIGHT_GRAY] (requires restart)[]
setting.indicators.name = Wskaźniki Przyjaciół
@@ -592,6 +594,8 @@ block.core-foundation.name = Rdzeń: Podstawa
block.core-nucleus.name = Core: Nucleus
block.deepwater.name = Głęboka 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.stone.name = Kamień
block.sand.name = Piasek
+79 -75
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.wiki.description = Wiki oficial do Mindustry
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.pvp = O time[accent] {0}[] É vitorioso!
highscore = [YELLOW]Novo recorde!
stat.wave = Waves Defeated:[accent] {0}
stat.enemiesDestroyed = Enemies Destroyed:[accent] {0}
stat.built = Buildings Built:[accent] {0}
stat.destroyed = Buildings Destroyed:[accent] {0}
stat.deconstructed = Buildings Deconstructed:[accent] {0}
stat.delivered = Resources Launched:
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.
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.
stat.wave = Ondas derrotadas:[accent] {0}
stat.enemiesDestroyed = Enimigos Destruídos:[accent] {0}
stat.built = Construções construídas:[accent] {0}
stat.destroyed = Construções destruídas:[accent] {0}
stat.deconstructed = Construções desconstruídas:[accent] {0}
stat.delivered = Recursos lançados:
stat.rank = Rank Final: [accent]{0}
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 = 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}[]"?
level.highscore = Melhor\npontuação: [accent] {0}
level.select = Seleção de Fase
level.mode = Modo de Jogo:
showagain = Não mostrar na proxima sessão
coreattack = < O núcleo está sobre ataque! >
nearpoint = [[ [scarlet]LEAVE DROP POINT IMMEDIATELY[] ]\nannihilation imminent
outofbounds = [[ OUT OF BOUNDS ]\n[]self-destruct in {0}
database = Core Database
nearpoint = [[ [scarlet]SAIA DO PONTO DE SPAWN IMEDIATAMENTE[] ]\naniquilação iminente
outofbounds = [[ OUT OF BOUNDS ]\n[]auto destruição em {0}
database = banco do núcleo
savegame = Salvar Jogo
loadgame = Carregar Jogo
joingame = Entrar no Jogo
@@ -42,18 +43,18 @@ none = <none>
close = Fechar
quit = Sair
maps = Mapas
continue = Continue
continue = Continuar
maps.none = [LIGHT_GRAY]Nenhum Mapa Encontrado!
about.button = Sobre
name = Nome:
noname = Pick a[accent] player name[] first.
noname = Pegue[accent] um nome[] primeiro.
filename = Nome do arquivo:
unlocked = Novo bloco Desbloqueado!
completed = [accent]Completed
techtree = Tech Tree
research.list = [LIGHT_GRAY]Research:
research = Research
researched = [LIGHT_GRAY]{0} researched.
completed = [accent]Completado
techtree = Árvore de tecnologia
research.list = [LIGHT_GRAY]Pesquise:
research = Pesquisa
researched = [LIGHT_GRAY]{0} pesquisado.
players = {0} Jogadores Ativos
players.single = {0} Jogador Ativo
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.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.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
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
@@ -157,11 +158,11 @@ openlink = Abrir Link
copylink = Copiar link
back = Voltar
quit.confirm = Você tem certeza que quer sair?
changelog.title = Changelog
changelog.loading = Coletando changelog...
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.ios = [accent]A changelog não é suportada no IOS.
changelog.error = [scarlet]Erro ao coletar Changelog!\nCheque a Conexão com a internet.
changelog.title = registro de Mudanças
changelog.loading = Coletando o registro...
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 registro não é suportada no IOS.
changelog.error = [scarlet]Erro ao coletar o registro!\nCheque a Conexão com a internet.
changelog.current = [yellow][[Primeira versão]
changelog.latest = [accent][[Ultima versão]
loading = [accent]Carregando...
@@ -169,9 +170,9 @@ saving = [accent]Salvando...
wave = [accent]Horda {0}
wave.waiting = Horda em {0}
waiting = Aguardando...
waiting.players = Waiting for players...
wave.enemies = [LIGHT_GRAY]{0} Enemies Remaining
wave.enemy = [LIGHT_GRAY]{0} Enemy Remaining
waiting.players = Esperando por jogadores...
wave.enemies = [LIGHT_GRAY]{0} Enimigos Restantes
wave.enemy = [LIGHT_GRAY]{0} Enimigo Restante
loadimage = Carregar\nImagem
saveimage = Salvar\nImagem
unknown = Desconhecido
@@ -189,32 +190,32 @@ editor.oregen.info = Geração de minério:
editor.mapinfo = Informação do mapa
editor.author = Autor:
editor.description = Descrição:
editor.waves = Waves:
waves.title = Waves
waves.remove = Remove
waves.never = <never>
waves.every = every
waves.waves = wave(s)
waves.perspawn = per spawn
waves.to = to
editor.waves = Ondas:
waves.title = Ondas
waves.remove = Remover
waves.never = <nunca>
waves.every = a casa
waves.waves = ondas(s)
waves.perspawn = por spawn
waves.to = para
waves.boss = Boss
waves.preview = Preview
waves.edit = Edit...
waves.copy = Copy to Clipboard
waves.load = Load from Clipboard
waves.invalid = Invalid waves in clipboard.
waves.copied = Waves copied.
editor.default = [LIGHT_GRAY]<Default>
edit = Edit...
waves.preview = Prever
waves.edit = Editar...
waves.copy = Copiar para área de transferência
waves.load = carregar da área de transferência
waves.invalid = Ondas inválidas na área de transferência.
waves.copied = Ondas copiadas.
editor.default = [LIGHT_GRAY]<padrão>
edit = Editar...
editor.name = Nome:
editor.teams = Time
editor.elevation = Elevação
editor.errorload = Error loading file:\n[accent]{0}
editor.errorsave = Error saving file:\n[accent]{0}
editor.errorname = Map has no name defined.
editor.update = Update
editor.randomize = Randomize
editor.apply = Apply
editor.errorload = Erro carregando arquivo:\n[accent]{0}
editor.errorsave = Erro salvando arquivo:\n[accent]{0}
editor.errorname = Mapa não tem nome definido.
editor.update = atualizar
editor.randomize = Randomizar
editor.apply = Aplicar
editor.generate = Gerar
editor.resize = Redimen\n sionar
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.confirm = [scarlet]Aviso![] Um mapa com esse nome já existe. Tem certeza que deseja substituir?
editor.selectmap = Selecione uma mapa para carregar:
filters.empty = [LIGHT_GRAY]No filters! Add one with the button below.
filter.distort = Distort
filter.noise = Noise
filter.ore = Ore
filter.rivernoise = River Noise
filters.empty = [LIGHT_GRAY]Sem filtro! Adicione um usando o botão abaixo.
filter.distort = Distorcer
filter.noise = Ruído
filter.ore = Minério
filter.rivernoise = Ruído para rios
filter.scatter = Scatter
filter.terrain = Terrain
filter.option.scale = Scale
filter.terrain = Terreno
filter.option.scale = Escala
filter.option.chance = Chance
filter.option.mag = Magnitude
filter.option.threshold = Threshold
filter.option.circle-scale = Circle Scale
filter.option.octaves = Octaves
filter.option.threshold = Margem
filter.option.circle-scale = Escala de círculo
filter.option.octaves = Oitavas
filter.option.falloff = Falloff
filter.option.block = Block
filter.option.floor = Floor
filter.option.wall = Wall
filter.option.ore = Ore
filter.option.floor2 = Secondary Floor
filter.option.threshold2 = Secondary Threshold
filter.option.block = Bloco
filter.option.floor = Chão
filter.option.wall = Parede
filter.option.ore = Minério
filter.option.floor2 = Chão decundário
filter.option.threshold2 = Margem secundária
width = Largura:
height = Altura:
menu = Menu
@@ -279,16 +280,16 @@ editor = Editor
mapeditor = Editor de mapa
donate = Doar
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
complete = [LIGHT_GRAY]Complete:
resume = Resume Zone:\n[LIGHT_GRAY]{0}
bestwave = [LIGHT_GRAY]Best: {0}
launch = Launch
launch.title = Launch Successful
launch.next = [LIGHT_GRAY]next opportunity at wave {0}
launch.unable = [scarlet]Unable to LAUNCH.[] Enemies.
launch.confirm = This will launch all resources in your core.\nYou will not be able to return to this base.
resume = Resumir Zona:\n[LIGHT_GRAY]{0}
bestwave = [LIGHT_GRAY]Melhor: {0}
launch = Lançar
launch.title = Lançamento feito com sucesso
launch.next = [LIGHT_GRAY]próxima oportunidade na onda {0}
launch.unable = [scarlet]Incapaz de LANÇAR.[] Enimigos.
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
configure = Configure Loadout
configure.locked = [LIGHT_GRAY]Reach wave {0}\nto configure loadout.
@@ -405,6 +406,7 @@ category.items = Itens
category.crafting = Construindo
category.shooting = Atirando
category.optional = Melhoras opcionais
setting.shadows.name = Shadows
setting.animatedwater.name = Animated Water
setting.antialias.name = Antialias[LIGHT_GRAY] (requires restart)[]
setting.indicators.name = Ally Indicators
@@ -592,6 +594,8 @@ block.core-foundation.name = Core: Foundation
block.core-nucleus.name = Core: Nucleus
block.deepwater.name = água funda
block.water.name = Água
block.tainted-water.name = Tainted Water
block.darksand-tainted-water.name = Dark Sand Tainted Water
block.tar.name = Tar
block.stone.name = Pedra
block.sand.name = Areia
+31 -27
View File
@@ -21,8 +21,9 @@ stat.destroyed = Строений уничтожено:[accent] {0}
stat.deconstructed = Строений деконструировано:[accent] {0}
stat.delivered = Ресурсов добыто:
stat.rank = Финальный Счёт: [accent]{0}
placeline = Вы выбрали блок.\nВы можете[accent] строить в линию[], сначало[accent] удерживая палец в течение нескольких секунд[] и потом перетаскивая его.\n\nПопробуйте.
removearea = Вы выбрали режим удаления.\nВы можете[accent] удалать блоки по прямоугольнику[], [accent]удерживая палец несколько секунд[] и потом перетаскивая его.\n\nПопробуйте.
placeline = Вы выбрали блок.\nВы можете[accent] строить в линию[], сначала[accent] удерживая палец в течение нескольких секунд[] и потом перетаскивая его.\n\n[scarlet]СДЕЛАЙ ЭТО.
removearea = Вы выбрали режим удаления.\nВы можете[accent] удалять блоки в выбранной области[], [accent]удерживая палец несколько секунд[] и потом перетаскивая его.\n\n[scarlet]СДЕЛАЙ ЭТО
launcheditems = [accent]Запущенные предметы
map.delete = Вы действительно хотите удалить карту "[accent]{0}[]"?
level.highscore = Рекорд: [accent]{0}
level.select = Выбор карты
@@ -244,25 +245,25 @@ editor.overwrite = [accent]Внимание! \nЭто перезапишет у
editor.overwrite.confirm = [scarlet]Осторожно![] Карта с таким названием уже существует. Вы действительно хотите её перезаписать?
editor.selectmap = Выберите карту для загрузки:
filters.empty = [LIGHT_GRAY]Нет фильтров. Добавьте один при помощи кнопки ниже
filter.distort = Distort
filter.noise = Noise
filter.ore = Ore
filter.rivernoise = River Noise
filter.scatter = Scatter
filter.terrain = Terrain
filter.option.scale = Scale
filter.option.chance = Chance
filter.option.mag = Magnitude
filter.option.threshold = Threshold
filter.option.circle-scale = Circle Scale
filter.option.octaves = Octaves
filter.option.falloff = Falloff
filter.option.block = Block
filter.option.floor = Floor
filter.option.wall = Wall
filter.option.ore = Ore
filter.option.floor2 = Secondary Floor
filter.option.threshold2 = Secondary Threshold
filter.distort = Искажение
filter.noise = Шум
filter.ore = Руда
filter.rivernoise = Речной Шум
filter.scatter = Распылитель
filter.terrain = Ландшафт
filter.option.scale = Масштаб
filter.option.chance = Шанс
filter.option.mag = Величина
filter.option.threshold = Спад
filter.option.circle-scale = Круговая шкала
filter.option.octaves = Октавы
filter.option.falloff = Спад
filter.option.block = Блок
filter.option.floor = Поверхность
filter.option.wall = Стена
filter.option.ore = Руда
filter.option.floor2 = Вторая поверхность
filter.option.threshold2 = Вторичный спад
width = Ширина:
height = Высота:
menu = Меню
@@ -333,7 +334,7 @@ info.title = Информация
error.title = [crimson]Произошла ошибка
error.crashtitle = Произошла ошибка
blocks.outputspeed = Скорость сверления: {0}/с
blocks.efficiency = Ефективність: {0}%
blocks.efficiency = Эффективность: {0}%
blocks.unknown = [LIGHT_GRAY]???
blocks.blockinfo = Информация о блоке
blocks.powerbalance = Энергия: {0}
@@ -405,8 +406,9 @@ category.items = Предметы
category.crafting = Ввод/вывод
category.shooting = Cтрельба
category.optional = Дополнительные улучшения
setting.shadows.name = Shadows
setting.animatedwater.name = Анимированная вода
setting.antialias.name = Antialias[LIGHT_GRAY] (requires restart)[]
setting.antialias.name = Сглаживание[LIGHT_GRAY] (требует перезапуска)[]
setting.indicators.name = Показывать в сторону союзников и врагов
setting.autotarget.name = Авто-стрельба
setting.fpscap.name = Макс. FPS
@@ -425,7 +427,7 @@ setting.sensitivity.name = Чувствительность контроллер
setting.saveinterval.name = Интервал автосохранения
setting.seconds = {0} Секунд
setting.fullscreen.name = Полноэкранный режим
setting.borderless.name = Borderless Window
setting.borderless.name = Окно без границ
setting.fps.name = Показывать FPS
setting.vsync.name = Верт. синхронизация
setting.lasers.name = Показывать энергию лазеров
@@ -592,15 +594,17 @@ block.core-foundation.name = Ядро: Штаб
block.core-nucleus.name = Ядро: Атом
block.deepwater.name = Глубоководье
block.water.name = Вода
block.tainted-water.name = Tainted Water
block.darksand-tainted-water.name = Dark Sand Tainted Water
block.tar.name = Дёготь
block.stone.name = Камень
block.sand.name = Тёмный песок
block.darksand.name = Dark Sand
block.sand.name = Песок
block.darksand.name = Тёмный песок
block.ice.name = Лёд
block.snow.name = Снег
block.craters.name = Кратеры
block.sand-water.name = Песок с водой
block.darksand-water.name = Dark Sand Water
block.darksand-water.name = Тёмный песок с водой
block.char.name = Выжженная Земля
block.holostone.name = Голографический камень
block.ice-snow.name = Ледяной Снег
+4
View File
@@ -23,6 +23,7 @@ stat.delivered = Resources Launched:
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.
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}[]"?
level.highscore = Yuksek Skor: [accent]{0}
level.select = Seviye secimi
@@ -405,6 +406,7 @@ category.items = esyalar
category.crafting = uretim
category.shooting = sikma
category.optional = Optional Enhancements
setting.shadows.name = Shadows
setting.animatedwater.name = Animated Water
setting.antialias.name = Antialias[LIGHT_GRAY] (requires restart)[]
setting.indicators.name = Ally Indicators
@@ -592,6 +594,8 @@ block.core-foundation.name = Core: Foundation
block.core-nucleus.name = Core: Nucleus
block.deepwater.name = su alti
block.water.name = su
block.tainted-water.name = Tainted Water
block.darksand-tainted-water.name = Dark Sand Tainted Water
block.tar.name = Tar
block.stone.name = tas
block.sand.name = kum
+4
View File
@@ -23,6 +23,7 @@ stat.delivered = Resources Launched:
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.
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}[]"?
level.highscore = Yüksek Puan: [accent] {0}
level.select = Seviye Seç
@@ -405,6 +406,7 @@ category.items = Items
category.crafting = Crafting
category.shooting = Shooting
category.optional = Optional Enhancements
setting.shadows.name = Shadows
setting.animatedwater.name = Animated Water
setting.antialias.name = Antialias[LIGHT_GRAY] (requires restart)[]
setting.indicators.name = Ally Indicators
@@ -592,6 +594,8 @@ block.core-foundation.name = Core: Foundation
block.core-nucleus.name = Core: Nucleus
block.deepwater.name = deepwater
block.water.name = water
block.tainted-water.name = Tainted Water
block.darksand-tainted-water.name = Dark Sand Tainted Water
block.tar.name = Tar
block.stone.name = stone
block.sand.name = sand
+57 -53
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 = Автори
contributors = Перекладачі та Помічники
discord = Приєднуйтесь до нашого Discord!
@@ -21,9 +21,10 @@ stat.destroyed = Будівель знищено:[accent] {0}
stat.deconstructed = Будівель декоструйовано[accent] {0}
stat.delivered = Ресурсів здобуто:
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.
map.delete = Ви впевнені, що хочете видалити карту "[accent]{0}[]"?
placeline =Ви вибрали блок.\nВи можете[accent] будувати в лінію[] [accent] утримуючи палець протягом декількох секунд[] і потім перетягуючи його.\n\n[scarlet]ЗРОБИ ЦЕ.
removearea = Ви вибрали режим видалення.\nВи можете[accent] видаляти блоки в обраній області[],[accent] утримуючи палець кілька секунд [] і потім перетягуючи його.\n\n[scarlet]ЗРОБИ ЦЕ.
launcheditems = [accent]Запущені предмети
map.delete = Ви впевнені, що хочете видалити мапу "[accent]{0}[]"?
level.highscore = Рекорд: [accent]{0}
level.select = Вибір мапи
level.mode = Режим гри:
@@ -43,7 +44,7 @@ close = Закрити
quit = Вийти
maps = Мапи
continue = Продовжити
maps.none = [LIGHT_GRAY]Карт не знайдено!
maps.none = [LIGHT_GRAY]Мап не знайдено!
about.button = Про гру
name = Нік:
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 доступ до вашої локальної мережі в налаштуваннях брандмауера.
join.info = Тут ви можете ввести [accent]IP серверу[] для підключення або знайти сервери у [accent]локальній мережі[] для підключення до них.\nПідтримується локальна мережа(LAN) і широкосмугова мережа(WAN).\n\n[LIGHT_GRAY] Примітка. Тут немає автоматичного глобального списку серверів; якщо ви хочете підключитися до когось через IP, вам доведеться попросити створювача серверу дати свій ip.
hostserver = Запустити сервер
hostserver.mobile = Запустити\nсерверу
hostserver.mobile = Запустити\nсервер
host = Сервер
hosting = [accent]Відкриття серверу...
hosts.refresh = Оновити
@@ -177,11 +178,11 @@ saveimage = Зберегти зображення
unknown = Невідомо
custom = Користувальницька
builtin = Bбудована
map.delete.confirm = Ви впевнені, що хочете видалити цю карту? Цю дію не можна скасувати!
map.delete.confirm = Ви впевнені, що хочете видалити цю мапу? Цю дію не можна скасувати!
map.random = [accent]Випадкова мапа
map.nospawn = Ця мапа не має жодного ядра для спавну гравця! Додайте[ROYAL] сине[] ядро в цю мапу редакторі.
map.nospawn.pvp = У цій карти немає ворожих ядер, в яких гравець може з'явитися! Додайте[SCARLET] червоні[] ядра до цієї карті в редакторі.
map.invalid = Помилка завантаження карти: пошкоджений або невірний файл карти.
map.nospawn.pvp = У цієї мапи немає ворожих ядер, в яких гравець може з'явитися! Додайте[SCARLET] червоне[] ядро до цієї мапи в редакторі.
map.invalid = Помилка завантаження мапи: пошкоджений або невірний файл мапи.
editor.brush = Пензлик
editor.openin = Відкрити в редакторі
editor.oregen = Генерація руд
@@ -211,58 +212,58 @@ editor.teams = Команди
editor.elevation = Висота
editor.errorload = Помилка завантаження зображення:[accent] {0}
editor.errorsave = Помилка збереження зображення:\n[accent]{0}
editor.errorname = Карта не має визначеного імені.
editor.errorname = Мапа не має визначеного імені.
editor.update = Оновити
editor.randomize = Випадково
editor.apply = Застосувати
editor.generate = Згенерувати
editor.resize = Змінити \nрозмір
editor.loadmap = Завантажити мапу
editor.savemap = Зберегти карту
editor.savemap = Зберегти мапи
editor.saved = Збережено!
editor.save.noname = Ваша карта не має назви! Встановіть його в меню «Інформація про карту».
editor.save.overwrite = Ваша карта перезаписує вбудовану карту! Виберіть інше ім'я в меню «Інформація про карту».
editor.import.exists = [scarlet]Неможливо імпортувати: [] вбудована карта з назвою "{0}" вже існує!
editor.save.noname = Ваша мапа не має назви! Встановіть його в меню «Інформація про мапу».
editor.save.overwrite = Ваша мапа перезаписує вбудовану мапу! Виберіть інше ім'я в меню «Інформація про мапу».
editor.import.exists = [scarlet]Неможливо імпортувати: [] вбудована мапа з назвою "{0}" вже існує!
editor.import = Імпорт...
editor.importmap = Імпортувати карту
editor.importmap.description = Імпортувати вже існуючу карту
editor.importmap = Імпортувати мапу
editor.importmap.description = Імпортувати вже існуючу мапу
editor.importfile = Імпортувати файл
editor.importfile.description = Імпортувати зовнішній файл карти
editor.importimage = Імпорт зовнішнього файла зображення карти
editor.importfile.description = Імпортувати зовнішній файл мапи
editor.importimage = Імпорт зовнішнього файла зображення мапи
editor.importimage.description = Імпорт зображення місцевості
editor.export = Експорт...
editor.exportfile = Експорт файлу
editor.exportfile.description = Експортувати файл карти
editor.exportfile.description = Експортувати файл мапи
editor.exportimage = Експорт зображення місцевості
editor.exportimage.description = Експорт файла з зображенням карти
editor.exportimage.description = Експорт файла з зображенням мапи
editor.loadimage = Завантажити\nзображення
editor.saveimage = Зберегти\nзображення
editor.unsaved = [scarlet]У вас є незбережені зміни![]\nВи впевнені, що хочете вийти?
editor.resizemap = Змінити розмір карти
editor.mapname = Название карты:
editor.overwrite = [accent]Попередження!\nЦе перезаписує існуючу карту.
editor.overwrite.confirm = [scarlet]Попередження![] Карта з такою назвою вже існує. Ви впевнені, що хочете переписати її?
editor.resizemap = Змінити розмір мапи
editor.mapname = Назва мапи:
editor.overwrite = [accent]Попередження!\nЦе перезаписує існуючу мапу.
editor.overwrite.confirm = [scarlet]Попередження![] Мапа з такою назвою вже існує. Ви впевнені, що хочете переписати її?
editor.selectmap = Виберіть мапу для завантаження:
filters.empty = [LIGHT_GRAY]Нема фільтрів! Додайте хоча б один за допомогою кнопки, що знаходиться нижче.
filter.distort = Distort
filter.noise = Noise
filter.ore = Ore
filter.rivernoise = River Noise
filter.scatter = Scatter
filter.terrain = Terrain
filter.option.scale = Scale
filter.option.chance = Chance
filter.option.mag = Magnitude
filter.option.threshold = Threshold
filter.option.circle-scale = Circle Scale
filter.option.octaves = Octaves
filter.option.falloff = Falloff
filter.option.block = Block
filter.option.floor = Floor
filter.option.wall = Wall
filter.option.ore = Ore
filter.option.floor2 = Secondary Floor
filter.option.threshold2 = Secondary Threshold
filter.distort = Спотворення
filter.noise = Шум
filter.ore = Руда
filter.rivernoise = Річковий Шум
filter.scatter = Розпилювач
filter.terrain = Ландшафт
filter.option.scale = Масштаб
filter.option.chance = Шанс
filter.option.mag = Величина
filter.option.threshold = Спад
filter.option.circle-scale = Кругова шкала
filter.option.octaves = Октави
filter.option.falloff = Спад
filter.option.block = Блок
filter.option.floor = Поверхня
filter.option.wall = Стіна
filter.option.ore = Руда
filter.option.floor2 = Друга поверхня
filter.option.threshold2 = Вторинний спад
width = Ширина:
height = Висота:
menu = Меню
@@ -323,7 +324,7 @@ settings.sound = Звук
settings.graphics = Графіка
settings.cleardata = Очистити дані...
settings.clear.confirm = Ви впевнені, що хочете очистити ці дані?\nЦя дія не може бути скасовано!
settings.clearall.confirm = [scarlet]УВАГА![]\nЦе очистить всі дані, включаючи збереження, карти, розблокуване та призначенні клавіші.\nПісля того, як ви натиснете ОК, гра видалить усі дані та автоматично вийде.
settings.clearall.confirm = [scarlet]УВАГА![]\nЦе очистить всі дані, включаючи збереження, мапи, розблокуване та призначені клавіші.\nПісля того, як ви натиснете ОК, гра видалить усі дані та автоматично вийде.
settings.clearunlocks = Очистити розблоковане
settings.clearall = Очистити все
paused = Пауза
@@ -405,8 +406,9 @@ category.items = Предмети
category.crafting = Введення/виведення
category.shooting = Стрільба
category.optional = Додаткові поліпшення
setting.shadows.name = Shadows
setting.animatedwater.name = Анімована вода
setting.antialias.name = Antialias[LIGHT_GRAY] (requires restart)[]
setting.antialias.name = Згладжування[LIGHT_GRAY] (потребує перезапуску)[]
setting.indicators.name = Показувати у сторону ворогів та союзників
setting.autotarget.name = Авто-стрільба
setting.fpscap.name = Макс. FPS
@@ -425,11 +427,11 @@ setting.sensitivity.name = Чутливість контролера
setting.saveinterval.name = Інтервал автозбереження
setting.seconds = {0} сек.
setting.fullscreen.name = Повноекранний режим
setting.borderless.name = Borderless Window
setting.borderless.name = Вікно без полів
setting.fps.name = Показувати FPS
setting.vsync.name = Вертикальна синхронізація
setting.lasers.name = Показувати енергію лазерів
setting.minimap.name = Показати мінікарту
setting.minimap.name = Показати мінімапу
setting.musicvol.name = Гучність музики
setting.mutemusic.name = Заглушити музику
setting.sfxvol.name = Гучність звукових ефектів
@@ -469,7 +471,7 @@ keybind.chat_history_prev.name = Попередня історія чату
keybind.chat_history_next.name = Наступна історія чату
keybind.chat_scroll.name = Прокрутка чату
keybind.drop_unit.name = Скинути бой. од.
keybind.zoom_minimap.name = Збільшити мінікарту
keybind.zoom_minimap.name = Збільшити мінімапу
mode.help.title = Опис режимів
mode.survival.name = Хвилі
mode.survival.description = Звичайний режим. В цьому режимі треба самим добувати ресурси та хвилі йдуть беззупинно.
@@ -592,15 +594,17 @@ block.core-foundation.name = Ядро: Штаб
block.core-nucleus.name = Ядро: Атом
block.deepwater.name = Глибоководдя
block.water.name = Вода
block.tainted-water.name = Tainted Water
block.darksand-tainted-water.name = Dark Sand Tainted Water
block.tar.name = Tar
block.stone.name = Камінь
block.sand.name = Темний пісок
block.darksand.name = Dark Sand
block.sand.name = Пісок
block.darksand.name = Темний пісок
block.ice.name = Лід
block.snow.name = Сніг
block.craters.name = Кратери
block.sand-water.name = Пісок з водою
block.darksand-water.name = Dark Sand Water
block.darksand-water.name = Темний пісок з водою
block.char.name = Випалена Земля
block.holostone.name = Голографічний камінь
block.ice-snow.name = Крижаний Сніг
@@ -632,7 +636,7 @@ block.thorium-wall-large.name = Велика торієва стіна
block.door.name = Двері
block.door-large.name = Великі двері
block.duo.name = Подвійна
block.scorch.name = Scorch
block.scorch.name = Випалювач
block.scatter.name = Розсіювач
block.hail.name = Град
block.lancer.name = Списоносець
@@ -747,7 +751,7 @@ unit.dagger.name = Кинджал
unit.dagger.description = Базова наземна бойова одиниця. Корисен у купі.
unit.crawler.name = Камікадзе
unit.titan.name = Титан
unit.titan.description = Улучшенная бронированная наземная боевая единица. Атакует наземные и воздушные цели.
unit.titan.description = Покращена броньована наземна бойова одиниця. Атакує наземні та повітряні цілі.
unit.ghoul.name = Бомбардувальний "Ґуль"
unit.ghoul.description = Тяжкий ковровий бомбардувальник.
unit.wraith.name = Примарний винищувач
@@ -23,6 +23,7 @@ stat.delivered = Resources Launched:
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.
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}[]" 地图吗?
level.highscore = 最高分: [accent]{0}
level.select = 选择关卡
@@ -405,6 +406,7 @@ category.items = 物品
category.crafting = 制造
category.shooting = 发射
category.optional = 可选的增强物品
setting.shadows.name = Shadows
setting.animatedwater.name = Animated Water
setting.antialias.name = Antialias[LIGHT_GRAY] (requires restart)[]
setting.indicators.name = 队友指示器
@@ -592,6 +594,8 @@ block.core-foundation.name = Core: Foundation
block.core-nucleus.name = Core: Nucleus
block.deepwater.name = 深水
block.water.name = 水
block.tainted-water.name = Tainted Water
block.darksand-tainted-water.name = Dark Sand Tainted Water
block.tar.name = Tar
block.stone.name = 石头
block.sand.name = 沙子
+184 -171
View File
@@ -14,31 +14,35 @@ screenshot = 截圖保存到{0}
gameover = 遊戲結束
gameover.pvp = [accent]{0}[]隊獲勝!
highscore = [accent]新的高分紀錄!
stat.wave = 打敗的波次:[accent]{0}
stat.enemiesDestroyed = 摧毀的敵人:[accent]{0}
stat.built = 建設的建築:[accent]{0}
stat.destroyed = 摧毀的建築:[accent]{0}
stat.deconstructed = 移除的建築:[accent]{0}
stat.delivered = 發射的資源:
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.
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.
stat.rank = 最終排名:[accent]{0}
placeline = 你選擇了一個方塊。\n[accent]按住你的手指幾秒鐘[]並拖動以[accent]直線放置方塊[]。\n試試吧。
removearea = 你選擇了移除模式。\n[accent]按住你的手指幾秒鐘[]並拖動以[accent]移除矩形中的方塊[]。\n試試吧。
launcheditems = [accent]發射了的物品
map.delete = 確認要刪除「[accent]{0}[]」地圖嗎?
level.highscore = 最高分:[accent]{0}
level.select = 選擇關卡
level.mode = 遊戲模式:
showagain = 下次不再顯示
coreattack = 〈核心正在受到攻擊!〉
nearpoint = [[ [scarlet]LEAVE DROP POINT IMMEDIATELY[] ]\nannihilation imminent
outofbounds = [[ OUT OF BOUNDS ]\n[]self-destruct in {0}
database = Core Database
nearpoint = 【[scarlet]立即離開下降點[]】\n湮滅即將來臨
outofbounds = 【超出界限】\n[]於{0}秒後自我毀滅
database = 核心數據庫
savegame = 儲存遊戲
loadgame = 載入遊戲
joingame = 多人連線
addplayers = 增加/移除玩家
customgame = 自訂遊戲
newgame = New Game
none = <沒有>
newgame = 新遊戲
none = 〈沒有〉
close = 關閉
quit = 退出
maps = 地圖
@@ -49,7 +53,7 @@ name = 名稱:
noname = 先選擇一個[accent]玩家名稱[]。
filename = 檔案名稱︰
unlocked = 新方塊已解鎖!
completed = [accent]Completed
completed = [accent]完成
techtree = 科技樹
research.list = [LIGHT_GRAY]研究︰
research = 研究
@@ -138,7 +142,7 @@ save.rename.text = 新名稱:
selectslot = 選取一個存檔。
slot = [accent]存檔{0}
save.corrupted = [accent]此存檔無效或已損毀!\n如果你剛剛升級了遊戲,那麼這可能是因為存檔格式改變了而[scarlet]不是[]錯誤。
empty = <空白>
empty = 〈空白〉
on = 開啟
off = 關閉
save.autosave = 自動存檔:{0}
@@ -146,8 +150,8 @@ save.map = 地圖:{0}
save.wave = 波次:{0}
save.difficulty = 難度:{0}
save.date = 最後存檔時間:{0}
save.playtime = 遊玩時間: {0}
warning = Warning.
save.playtime = 遊玩時間:{0}
warning = 警告。
confirm = 確認
delete = 刪除
ok = 確定
@@ -189,32 +193,32 @@ editor.oregen.info = 礦石產生:
editor.mapinfo = 地圖資訊
editor.author = 作者:
editor.description = 描述:
editor.waves = Waves:
waves.title = Waves
waves.remove = Remove
waves.never = <never>
waves.every = every
waves.waves = wave(s)
waves.perspawn = per spawn
waves.to = to
waves.boss = Boss
waves.preview = Preview
waves.edit = Edit...
waves.copy = Copy to Clipboard
waves.load = Load from Clipboard
waves.invalid = Invalid waves in clipboard.
waves.copied = Waves copied.
editor.default = [LIGHT_GRAY]<Default>
edit = Edit...
editor.waves = 波次:
waves.title = 波次
waves.remove = 移除
waves.never = 〈從來沒有〉
waves.every = 一切
waves.waves = 波次
waves.perspawn = 每個重生
waves.to = 至
waves.boss = 頭目
waves.preview = 預覽
waves.edit = 編輯……
waves.copy = 複製到剪貼板
waves.load = 從剪貼板加載
waves.invalid = 剪貼板中的波次無效。
waves.copied = 波浪已被複製。
editor.default = [LIGHT_GRAY]〈默認〉
edit = 編輯……
editor.name = 名稱:
editor.teams = 隊伍
editor.elevation = 高度
editor.errorload = Error loading file:\n[accent]{0}
editor.errorsave = Error saving file:\n[accent]{0}
editor.errorname = Map has no name defined.
editor.update = Update
editor.randomize = Randomize
editor.apply = Apply
editor.errorload = 加載文件時出錯:\n[accent]{0}
editor.errorsave = 保存文件時出錯:\n[accent]{0}
editor.errorname = 地圖沒有定義名稱。
editor.update = 更新
editor.randomize = 隨機化
editor.apply = 使用
editor.generate = 產生
editor.resize = 調整大小
editor.loadmap = 載入地圖
@@ -243,26 +247,26 @@ editor.mapname = 地圖名稱:
editor.overwrite = [accent]警告!這將會覆蓋現有的地圖。
editor.overwrite.confirm = [scarlet]警告![]同名地圖存在,確定要覆蓋現有地圖?
editor.selectmap = 選取要載入的地圖:
filters.empty = [LIGHT_GRAY]No filters! Add one with the button below.
filter.distort = Distort
filter.noise = Noise
filter.ore = Ore
filter.rivernoise = River Noise
filter.scatter = Scatter
filter.terrain = Terrain
filter.option.scale = Scale
filter.option.chance = Chance
filter.option.mag = Magnitude
filter.option.threshold = Threshold
filter.option.circle-scale = Circle Scale
filter.option.octaves = Octaves
filter.option.falloff = Falloff
filter.option.block = Block
filter.option.floor = Floor
filter.option.wall = Wall
filter.option.ore = Ore
filter.option.floor2 = Secondary Floor
filter.option.threshold2 = Secondary Threshold
filters.empty = [LIGHT_GRAY]沒有過濾器!使用下面的按鈕添加一個。
filter.distort = 歪曲
filter.noise = 噪聲
filter.ore = 礦石
filter.rivernoise = 河流噪聲
filter.scatter = 分散
filter.terrain = 地形
filter.option.scale = 比例
filter.option.chance = 機會
filter.option.mag = 大小
filter.option.threshold = 閾
filter.option.circle-scale = 圓形比例
filter.option.octaves = 倍頻
filter.option.falloff = 衰減
filter.option.block = 方塊
filter.option.floor = 地板
filter.option.wall = 牆
filter.option.ore = 礦石
filter.option.floor2 = 次要地板
filter.option.threshold2 = 次要閾
width = 寬度:
height = 長度:
menu = 主選單
@@ -278,6 +282,7 @@ tutorial = 教學
editor = 地圖編輯器
mapeditor = 地圖編輯器
donate = 贊助
abandon = 放棄
abandon.text = 此區域及其所有資源將會丟失給敵人。
locked = 鎖定
@@ -286,18 +291,19 @@ resume = 繼續區域:\n[LIGHT_GRAY]{0}
bestwave = [LIGHT_GRAY]高分:{0}
launch = 發射
launch.title = 發射成功
launch.next = [LIGHT_GRAY]next opportunity at wave {0}
launch.unable = [scarlet]Unable to LAUNCH.[] Enemies.
launch.confirm = This will launch all resources in your core.\nYou will not be able to return to this base.
uncover = Uncover
configure = Configure Loadout
configure.locked = [LIGHT_GRAY]Reach wave {0}\nto configure loadout.
launch.next = [LIGHT_GRAY]下次的機會於波次{0}
launch.unable = [scarlet]無法發射。[]有敵人。
launch.confirm = 這將發射核心中的所有資源。\n你將無法返回這個基地。
uncover = 揭露
configure = 配置裝載
configure.locked = [LIGHT_GRAY]到達波次{0}\n以配置裝載。
zone.unlocked = [LIGHT_GRAY]{0}已解鎖。
zone.complete = Zone conditions met.
zone.config.complete = Wave {0} reached:\nLoadout config unlocked.
zone.resources = Resources Detected:
add = Add...
boss.health = Boss Health
zone.complete = 符合區域條件。
zone.config.complete = 到達波次{0}:\n裝載配置已解鎖。
zone.resources = 檢測到的資源:
add = 新增……
boss.health = 頭目血量
connectfail = [crimson]無法連線到伺服器:[accent]{0}
error.unreachable = 無法到達伺服器。
error.invalidaddress = 無效地址。
@@ -307,13 +313,15 @@ error.alreadyconnected = 已連接。
error.mapnotfound = 找不到地圖!
error.io = 網絡輸入輸出錯誤。
error.any = 未知網絡錯誤。
zone.groundZero.name = Ground Zero
zone.craters.name = The Craters
zone.frozenForest.name = Frozen Forest
zone.ruinousShores.name = Ruinous Shores
zone.stainedMountains.name = Stained Mountains
zone.desolateRift.name = Desolate Rift
zone.nuclearComplex.name = Nuclear Production Complex
zone.groundZero.name = 歸零地
zone.craters.name = 隕石坑
zone.frozenForest.name = 冰凍森林
zone.ruinousShores.name = 毀滅性的海岸
zone.stainedMountains.name = 染山
zone.desolateRift.name = 荒涼的裂痕
zone.nuclearComplex.name = 核生產綜合體
settings.language = 語言
settings.reset = 重設為預設設定
settings.rebind = 重新綁定
@@ -332,18 +340,18 @@ no = 否
info.title = [accent]資訊
error.title = [crimson]發生錯誤
error.crashtitle = 發生錯誤
blocks.outputspeed = Drill Speed: {0}/s
blocks.efficiency = Efficiency: {0}%
blocks.outputspeed = 鑽頭速度:{0}/秒
blocks.efficiency = 效率:{0}%
blocks.unknown = [LIGHT_GRAY]???
blocks.blockinfo = 方塊資訊
blocks.powerbalance = Power: {0}
blocks.poweroutput = Power Output: {0}
blocks.powerbalance = 能量變化:{0}
blocks.poweroutput = 能量輸出:{0}
blocks.powercapacity = 蓄電量
blocks.powershot = 能量/射擊
blocks.targetsair = 攻擊空中目標
blocks.targetsground = Targets Ground
blocks.items = Items: {0}
blocks.itemsmoved = Move Speed
blocks.targetsground = 攻擊地面
blocks.items = 物品:{0}
blocks.itemsmoved = 移動速度
blocks.shootrange = 範圍
blocks.size = 尺寸
blocks.liquidcapacity = 液體容量
@@ -364,23 +372,23 @@ blocks.inputitems = 輸入物品
blocks.outputitem = 輸出物品
blocks.drilltier = 可鑽取礦物
blocks.drillspeed = 基本鑽取速度
blocks.maxunits = Max Active Units
blocks.maxunits = 最大活躍單位
blocks.liquidoutput = 輸出液體
blocks.liquidoutputspeed = 輸出液體速度
blocks.liquiduse = 使用液體速度
blocks.coolant = 冷卻劑
blocks.liquid = Liquid
blocks.liquid = 液體
blocks.coolantuse = 使用冷卻劑
blocks.inputliquidfuel = 輸入液體燃料
blocks.liquidfueluse = 使用液體燃料速度
blocks.boostitem = 強化物品
blocks.boostliquid = 強化液體
blocks.health = 耐久度
blocks.heat = Heat
blocks.power = Power
blocks.progress = Build Progress
blocks.spawned = Units: {0}/{1}
blocks.power.satisfaction = Power Satisfaction
blocks.heat = 熱
blocks.power = 能量
blocks.progress = 建造進度
blocks.spawned = 單位:{0}/{1}
blocks.power.satisfaction = 能量滿意度
blocks.inaccuracy = 誤差
blocks.shots = 射擊數
blocks.reload = 重裝彈藥
@@ -388,7 +396,7 @@ blocks.inputfuel = 燃料
blocks.fuelburntime = 燃燒燃料時間
blocks.inputcapacity = 輸入容量
blocks.outputcapacity = 輸出容量
blocks.ammo = Ammo
blocks.ammo = 彈藥
unit.blocks = 方塊
unit.powersecond = 能量單位/秒
unit.liquidsecond = 液體單位/秒
@@ -405,14 +413,15 @@ category.items = 物品
category.crafting = 合成
category.shooting = 射擊
category.optional = 可選的強化
setting.animatedwater.name = Animated Water
setting.antialias.name = Antialias[LIGHT_GRAY] (requires restart)[]
setting.animatedwater.name = 動畫水
setting.antialias.name = 消除鋸齒[LIGHT_GRAY](需要重啟)[]
setting.shadows.name = Shadows
setting.indicators.name = 盟友指標
setting.autotarget.name = 自動射擊
setting.fpscap.name = 最大FPS
setting.fpscap.none = 没有
setting.fpscap.text = {0}FPS
setting.swapdiagonal.name = Always Diagonal Placement
setting.swapdiagonal.name = 始終對角線放置
setting.difficulty.training = 訓練
setting.difficulty.easy = 簡單
setting.difficulty.normal = 普通
@@ -425,7 +434,7 @@ setting.sensitivity.name = 控制器靈敏度
setting.saveinterval.name = 自動存檔間隔
setting.seconds = {0}秒
setting.fullscreen.name = 全螢幕
setting.borderless.name = Borderless Window
setting.borderless.name = 無邊框窗口
setting.fps.name = 顯示FPS
setting.vsync.name = 垂直同步
setting.lasers.name = 顯示雷射光束
@@ -450,9 +459,9 @@ keybind.screenshot.name = 地圖截圖
keybind.move_x.name = 水平移動
keybind.move_y.name = 垂直移動
keybind.select.name = 選取
keybind.diagonal_placement.name = Diagonal Placement
keybind.pick.name = Pick Block
keybind.break_block.name = Break Block
keybind.diagonal_placement.name = 對角線放置
keybind.pick.name = 選擇方塊
keybind.break_block.name = 移除方塊
keybind.deselect.name = 取消選取
keybind.shoot.name = 射擊
keybind.zoom_hold.name = 按住縮放
@@ -471,8 +480,8 @@ keybind.chat_scroll.name = 聊天記錄滾動
keybind.drop_unit.name = 放下單位
keybind.zoom_minimap.name = 縮放小地圖
mode.help.title = 模式說明
mode.survival.name = Survival
mode.survival.description = The normal mode. Limited resources and automatic incoming waves.
mode.survival.name = 生存
mode.survival.description = 一般模式。有限的資源與自動來襲的波次。
mode.sandbox.name = 沙盒
mode.sandbox.description = 無限的資源,與不倒數計時的波次。
mode.freebuild.name = 自由建造
@@ -480,7 +489,7 @@ mode.freebuild.description = 有限的資源,與不倒數計時的波次。
mode.pvp.name = 對戰
mode.pvp.description = 和其他玩家鬥爭。
mode.attack.name = 攻擊
mode.attack.description = No waves, with the goal to destroy the enemy base.
mode.attack.description = 沒有波次,目標是摧毀敵人的基地。
content.item.name = 物品
content.liquid.name = 液體
content.unit.name = 機組
@@ -505,8 +514,8 @@ item.phase-fabric.name = 相織布
item.phase-fabric.description = 一種近乎無重量的物質,用於先進的電子設備和自修復技術。
item.surge-alloy.name = 波動合金
item.surge-alloy.description = 一種具有獨特電子特性的高級合金。
item.spore-pod.name = Spore Pod
item.spore-pod.description = Used for conversion into oil, explosives and fuel.
item.spore-pod.name = 孢子莢
item.spore-pod.description = 用於轉化為石油、爆炸物和燃料。
item.sand.name = 沙
item.sand.description = 一種常見的材料,廣泛用於冶煉,包括製作合金和助熔劑。
item.blast-compound.name = 爆炸混合物
@@ -518,7 +527,7 @@ item.metaglass.description = 一種超級強硬玻璃混合物。廣泛用於液
item.scrap.name = 廢料
item.scrap.description = 舊結構和單位的遺留剩餘物。含有痕量的許多不同的金屬。
liquid.water.name = 水
liquid.slag.name = Slag
liquid.slag.name = 礦渣
liquid.oil.name = 原油
liquid.cryofluid.name = 冷凍液
mech.alpha-mech.name = 阿爾法
@@ -529,7 +538,7 @@ mech.delta-mech.name = 德爾塔
mech.delta-mech.weapon = 電弧生成機
mech.delta-mech.ability = 放電
mech.delta-mech.description = 一种快速、轻铠的机甲,是用於打了就跑的攻擊。对结构造成的伤害很小,但可以用弧形闪电武器很快杀死大量敌方机组。
mech.tau-mech.name = Tau机甲
mech.tau-mech.name = Tau機甲
mech.tau-mech.weapon = 重構激光
mech.tau-mech.ability = 修复陣
mech.tau-mech.description = 支援機甲。射擊友好方塊以治療它們。可以使用它的修復能力熄滅火焰並治療一定範圍內的友軍。
@@ -556,7 +565,7 @@ item.radioactivity = [LIGHT_GRAY]放射性:{0}
unit.health = [LIGHT_GRAY]耐久度:{0}
unit.speed = [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.minespeed = [LIGHT_GRAY]採礦速度:{0}
mech.minepower = [LIGHT_GRAY]採礦力度:{0}
@@ -564,67 +573,70 @@ mech.ability = [LIGHT_GRAY]能力:{0}
liquid.heatcapacity = [LIGHT_GRAY]熱容量:{0}
liquid.viscosity = [LIGHT_GRAY]粘性:{0}
liquid.temperature = [LIGHT_GRAY]温度:{0}
block.grass.name = Grass
block.salt.name = Salt
block.sandrocks.name = Sand Rocks
block.spore-pine.name = Spore Pine
block.sporerocks.name = Spore Rocks
block.rock.name = Rock
block.snowrock.name = Snow Rock
block.shale.name = Shale
block.shale-boulder.name = Shale Boulder
block.moss.name = Moss
block.spore-moss.name = Spore Moss
block.shalerocks.name = Shale Rocks
block.scrap-wall.name = Scrap Wall
block.scrap-wall-large.name = Large Scrap Wall
block.scrap-wall-huge.name = Huge Scrap Wall
block.scrap-wall-gigantic.name = Gigantic Scrap Wall
block.thruster.name = Thruster
block.kiln.name = Kiln
block.kiln.description = Smelts sand and lead into metaglass. Requires small amounts of power.
block.graphite-press.name = Graphite Press
block.multi-press.name = Multi-Press
block.constructing = {0}\n[LIGHT_GRAY](Constructing)
block.grass.name = 草
block.salt.name = 鹽
block.sandrocks.name = 沙岩
block.spore-pine.name = 孢子鬆
block.sporerocks.name = 孢子岩
block.rock.name = 岩石
block.snowrock.name = 雪巖
block.shale.name = 頁岩
block.shale-boulder.name = 頁岩巨石
block.moss.name = 苔蘚
block.spore-moss.name = 孢子苔蘚
block.shalerocks.name = 頁岩岩石
block.scrap-wall.name = 廢牆
block.scrap-wall-large.name = 大型廢牆
block.scrap-wall-huge.name = 巨型廢牆
block.scrap-wall-gigantic.name = 超巨型廢牆
block.thruster.name = 推進器
block.kiln.name = 窯
block.kiln.description = 將沙子和鉛熔煉成金屬玻璃。需要少量能量。
block.graphite-press.name = 石墨壓縮機
block.multi-press.name = 多用途壓縮機
block.constructing = {0}\n[LIGHT_GRAY](建設中)
block.spawn.name = 敵人生成
block.core-shard.name = Core: Shard
block.core-foundation.name = Core: Foundation
block.core-nucleus.name = Core: Nucleus
block.core-shard.name = 核心:碎片
block.core-foundation.name = 核心:基礎
block.core-nucleus.name = 核心:核子
block.deepwater.name = 深水
block.water.name = 水
block.tainted-water.name = 污水
block.darksand-tainted-water.name = 黑沙污水
block.tar.name = 焦油
block.stone.name = 石頭
block.sand.name = 沙
block.darksand.name = Dark Sand
block.darksand.name = 黑沙
block.ice.name = 冰
block.snow.name = 雪
block.craters.name = Craters
block.sand-water.name = Sand water
block.darksand-water.name = Dark Sand Water
block.char.name = Char
block.holostone.name = Holo stone
block.ice-snow.name = Ice Snow
block.rocks.name = Rocks
block.icerocks.name = Ice rocks
block.snowrocks.name = Snow Rocks
block.dunerocks.name = Dune Rocks
block.pine.name = Pine
block.white-tree-dead.name = White Tree Dead
block.white-tree.name = White Tree
block.spore-cluster.name = Spore Cluster
block.metal-floor.name = Metal Floor
block.metal-floor-2.name = Metal Floor 2
block.metal-floor-3.name = Metal Floor 3
block.metal-floor-5.name = Metal Floor 5
block.metal-floor-damaged.name = Metal Floor Damaged
block.ignarock.name = Igna Rock
block.hotrock.name = Hot Rock
block.magmarock.name = Magma Rock
block.cliffs.name = Cliffs
block.craters.name = 隕石坑
block.sand-water.name = 沙水
block.darksand-water.name = 黑沙水
block.char.name = 燒焦
block.holostone.name = 霍洛石頭
block.ice-snow.name = 冰雪
block.rocks.name = 岩石
block.icerocks.name = 冰岩
block.snowrocks.name = 雪巖
block.dunerocks.name = 沙丘岩
block.pine.name = 松樹
block.white-tree-dead.name = 白樹死了
block.white-tree.name = 白樹
block.spore-cluster.name = 孢子簇
block.metal-floor.name = 金屬地板
block.metal-floor-2.name = 金屬地板二
block.metal-floor-3.name = 金屬地板三
block.metal-floor-5.name = 金屬地板五
block.metal-floor-damaged.name = 金屬地板損壞
block.ignarock.name = 火成岩
block.hotrock.name = 熱岩
block.magmarock.name = 岩漿岩
block.cliffs.name = 懸崖
block.copper-wall.name = 銅牆
block.copper-wall-large.name = 大型銅牆
block.titanium-wall.name = Titanium Wall
block.titanium-wall-large.name = Large Titanium Wall
block.titanium-wall.name = 鈦牆
block.titanium-wall-large.name = 大型鈦牆
block.phase-wall.name = 相織布牆
block.phase-wall-large.name = 大型相織布牆
block.thorium-wall.name = 釷牆
@@ -632,8 +644,8 @@ block.thorium-wall-large.name = 大型釷牆
block.door.name = 門
block.door-large.name = 大門
block.duo.name = 雙炮
block.scorch.name = Scorch
block.scatter.name = Scatter
block.scorch.name = 燒焦炮
block.scatter.name = 分散炮
block.hail.name = 冰雹炮
block.lancer.name = 藍瑟炮
block.conveyor.name = 輸送帶
@@ -651,23 +663,23 @@ block.pulverizer.name = 粉碎機
block.cryofluidmixer.name = 冷凍液混合器
block.melter.name = 熔爐
block.incinerator.name = 焚化爐
block.spore-press.name = Spore Press
block.spore-press.name = 孢子壓縮機
block.separator.name = 分離機
block.power-node.name = 能量節點
block.power-node-large.name = 大型能量節點
block.surge-tower.name = Surge Tower
block.surge-tower.name = 波動塔
block.battery.name = 電池
block.battery-large.name = 大型電池
block.combustion-generator.name = 燃燒發電機
block.turbine-generator.name = 渦輪發電機
block.differential-generator.name = Differential Generator
block.impact-reactor.name = Impact Reactor
block.differential-generator.name = 差動發電機
block.impact-reactor.name = 衝擊反應堆
block.mechanical-drill.name = 機械鑽頭
block.pneumatic-drill.name = 氣動鑽頭
block.laser-drill.name = 激光鑽頭
block.water-extractor.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.javelin-ship-pad.name = 標槍機甲墊
block.trident-ship-pad.name = 三叉船墊
@@ -700,7 +712,7 @@ block.phantom-factory.name = 幻影無人機工廠
block.wraith-factory.name = 怨靈戰鬥機工廠
block.ghoul-factory.name = 食屍鬼轟炸機工廠
block.dagger-factory.name = 匕首機甲工廠
block.crawler-factory.name = Crawler Mech Factory
block.crawler-factory.name = 爬行機甲工廠
block.titan-factory.name = 泰坦機甲工廠
block.fortress-factory.name = 堡壘機甲工廠
block.revenant-factory.name = 亡魂戰鬥機工廠
@@ -732,7 +744,7 @@ block.spectre.name = 幽靈炮
block.meltdown.name = 熔毀炮
block.container.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.red.name = 紅
team.orange.name = 橙
@@ -745,7 +757,7 @@ unit.phantom.name = 幻影無人機
unit.phantom.description = 一種高級的無人機。自動挖掘礦石、收集物品和修理方塊。比輕型無人機明顯更有效。
unit.dagger.name = 匕首
unit.dagger.description = 一種基本的地面單位。最好一群地使用。
unit.crawler.name = Crawler
unit.crawler.name = 爬行
unit.titan.name = 泰坦
unit.titan.description = 一種高級的具有裝甲的地面單位。使用碳化物作為彈藥。攻擊地面單位和空中單位。
unit.ghoul.name = 食屍鬼轟炸機
@@ -755,11 +767,11 @@ unit.wraith.description = 一種快速、打了就跑的攔截機。
unit.fortress.name = 堡壘
unit.fortress.description = 一種具有重型大砲的地面單位。
unit.revenant.name = 亡魂
unit.eruptor.name = Eruptor
unit.chaos-array.name = Chaos Array
unit.eradicator.name = Eradicator
unit.lich.name = Lich
unit.reaper.name = Reaper
unit.eruptor.name = 爆發者
unit.chaos-array.name = 混沌陣
unit.eradicator.name = 消除者
unit.lich.name = 巫妖
unit.reaper.name = 收割者
tutorial.begin = 你的任務是毀滅[LIGHT_GRAY]敵人[]。\n\n首先[accent]挖掘銅礦[]。點擊核心附近的銅脈以開始。
tutorial.drill = 手動挖掘礦石是低效率的。\n[accent]鑽頭[]能夠自動挖掘礦石。\n在銅脈上放置一個鑽頭。
tutorial.conveyor = [accent]輸送帶[]能夠將物品運輸到核心。\n製作一條從鑽頭開始到核心的輸送帶。
@@ -796,7 +808,7 @@ block.overdrive-projector.description = 提高附近建築物的速度,如鑽
block.force-projector.description = 在自身周圍形成一個六角形力場,保護內部的建築物和單位免受子彈的傷害。
block.shock-mine.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.hail.description = 一種小型火砲。
block.lancer.description = 一種射出電子束的中型砲塔。
@@ -823,7 +835,7 @@ block.blast-mixer.description = 使用油將硫變成比較不易燃但更具爆
block.cryofluidmixer.description = 合水和鈦成冷卻效率更高的冷凍液。
block.melter.description = 將石頭加熱到很高的溫度以獲得熔岩。
block.incinerator.description = 清除任何多餘的物品或液體。
block.spore-press.description = Compresses spore pods into oil.
block.spore-press.description = 將孢子莢壓縮成油。
block.separator.description = 將石頭暴露在水壓下以獲得石頭中的各種礦物質。
block.power-node.description = 將能量傳輸到連接的節點。最多可連接四個能量來源、接收或節點。節點將從任何相鄰方塊接收能量或向其供能量。
block.power-node-large.description = 範圍大於能量節點,最多可連接六個能量來源、接收或節點。
@@ -858,6 +870,7 @@ block.wraith-factory.description = 生產快速、打了就跑的攔截機單位
block.ghoul-factory.description = 生產重型鋪蓋轟炸機。
block.dagger-factory.description = 產生基本地面單位。
block.titan-factory.description = 生產具有裝甲的高級地面單位。
block.fortress-factory.description = 生產重型火砲地面單位。
block.revenant-factory.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

+44 -28
View File
@@ -35,7 +35,7 @@ public class Blocks implements ContentList{
public static Block
//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,
iceSnow, sandWater, darksandWater, duneRocks, sandRocks, moss, sporeMoss, shale, shaleRocks, shaleBoulder, grass, salt,
metalFloor, metalFloorDamaged, metalFloor2, metalFloor3, metalFloor5, ignarock, magmarock, hotrock, snowrocks, rock, snowrock,
@@ -114,7 +114,6 @@ public class Blocks implements ContentList{
}
deepwater = new Floor("deepwater"){{
liquidColor = Color.valueOf("4d5ca4");
speedMultiplier = 0.2f;
variants = 0;
liquidDrop = Liquids.water;
@@ -126,7 +125,6 @@ public class Blocks implements ContentList{
}};
water = new Floor("water"){{
liquidColor = Color.valueOf("596ab8");
speedMultiplier = 0.5f;
variants = 0;
status = StatusEffects.wet;
@@ -136,9 +134,49 @@ public class Blocks implements ContentList{
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"){{
drownTime = 150f;
liquidColor = Color.valueOf("292929");
status = StatusEffects.tarred;
statusDuration = 240f;
speedMultiplier = 0.19f;
@@ -161,28 +199,6 @@ public class Blocks implements ContentList{
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"){{
itemDrop = Items.sand;
playerUnmineable = true;
@@ -194,7 +210,7 @@ public class Blocks implements ContentList{
}};
holostone = new Floor("holostone"){{
edgeStyle = "blocky";
}};
grass = new Floor("grass"){{
@@ -322,7 +338,7 @@ public class Blocks implements ContentList{
}};
ignarock = new Floor("ignarock"){{
blendGroup = darksand;
}};
hotrock = new Floor("hotrock"){{
@@ -123,7 +123,7 @@ public class Zones implements ContentList{
rules = () -> new Rules(){{
waves = true;
waveTimer = true;
waveSpacing = 60 * 60 * 1.5f;
waveSpacing = 60 * 60 * 1.3f;
}};
}};
@@ -4,12 +4,11 @@ import io.anuke.arc.ApplicationListener;
import io.anuke.arc.Core;
import io.anuke.arc.Events;
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.TextureAtlas;
import io.anuke.arc.input.KeyCode;
import io.anuke.arc.util.Interval;
import io.anuke.arc.util.Strings;
import io.anuke.arc.util.Time;
import io.anuke.arc.util.*;
import io.anuke.mindustry.content.Mechs;
import io.anuke.mindustry.core.GameState.State;
import io.anuke.mindustry.entities.Effects;
@@ -32,6 +31,7 @@ import io.anuke.mindustry.ui.dialogs.FloatingDialog;
import io.anuke.mindustry.world.Tile;
import java.io.IOException;
import java.nio.IntBuffer;
import static io.anuke.arc.Core.scene;
import static io.anuke.mindustry.Vars.*;
@@ -51,6 +51,10 @@ public class Control implements ApplicationListener{
private InputHandler[] inputs = {};
public Control(){
IntBuffer buf = BufferUtils.newIntBuffer(1);
Core.gl.glGetIntegerv(GL20.GL_MAX_TEXTURE_SIZE, buf);
int maxSize = buf.get(0);
saves = new Saves();
data = new GlobalData();
@@ -59,7 +63,7 @@ public class Control implements ApplicationListener{
Effects.setShakeFalloff(10000f);
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();
content.initialize(Content::load);
@@ -49,7 +49,7 @@ public class EditorTile extends Tile{
@Override
public void setBlock(Block type){
Block previous = block();
Block previous = wall == null ? Blocks.air : wall;
if(previous == type) return;
super.setBlock(type);
op(TileOp.get(x, y, (byte)OpType.block.ordinal(), previous.id, type.id));
@@ -115,7 +115,7 @@ public abstract class GroundUnit extends BaseUnit{
Floor floor = getFloorOn();
if(floor.isLiquid){
Draw.color(Color.WHITE, floor.liquidColor, 0.5f);
Draw.color(Color.WHITE, floor.color, 0.5f);
}
for(int i : Mathf.signs){
@@ -126,7 +126,7 @@ public abstract class GroundUnit extends BaseUnit{
}
if(floor.isLiquid){
Draw.color(Color.WHITE, floor.liquidColor, drownTime * 0.4f);
Draw.color(Color.WHITE, floor.color, drownTime * 0.4f);
}else{
Draw.color(Color.WHITE);
}
@@ -292,7 +292,7 @@ public class Player extends Unit implements BuilderTrait, ShooterTrait{
if(!mech.flying){
if(floor.isLiquid){
Draw.color(Color.WHITE, floor.liquidColor, 0.5f);
Draw.color(Color.WHITE, floor.color, 0.5f);
}
float boostTrnsY = -boostHeat * 3f;
@@ -312,7 +312,7 @@ public class Player extends Unit implements BuilderTrait, ShooterTrait{
}
if(floor.isLiquid){
Draw.color(Color.WHITE, floor.liquidColor, drownTime);
Draw.color(Color.WHITE, floor.color, drownTime);
}else{
Draw.color(Color.WHITE);
}
@@ -524,7 +524,7 @@ public class Player extends Unit implements BuilderTrait, ShooterTrait{
if(mech.shake > 1f){
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);
achievedFlight = false;
@@ -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())){
Effects.effect(floor.walkEffect, floor.liquidColor, x, y);
Effects.effect(floor.walkEffect, floor.color, x, y);
}
if(onLiquid){
@@ -292,7 +292,7 @@ public abstract class Unit extends DestructibleEntity implements SaveTrait, Targ
if(onLiquid && floor.drownTime > 0){
drownTime += Time.delta() * 1f / floor.drownTime;
if(Mathf.chance(Time.delta() * 0.05f)){
Effects.effect(floor.drownUpdateEffect, floor.liquidColor, x, y);
Effects.effect(floor.drownUpdateEffect, floor.color, x, y);
}
}else{
drownTime = Mathf.lerpDelta(drownTime, 0f, 0.03f);
@@ -26,7 +26,6 @@ import static io.anuke.mindustry.Vars.*;
public class BlockRenderer{
private final static int initialRequests = 32 * 32;
private final static int expandr = 9;
private final static boolean disableShadows = false;
private final static Color shadowColor = new Color(0, 0, 0, 0.19f);
public final FloorRenderer floor = new FloorRenderer();
@@ -73,9 +72,9 @@ public class BlockRenderer{
Events.on(TileChangeEvent.class, event -> {
int avgx = (int)(camera.position.x / tilesize);
int avgy = (int)(camera.position. y/ tilesize);
int rangex = (int) (camera.width / tilesize / 2) + 2;
int rangey = (int) (camera.height / tilesize / 2) + 2;
int avgy = (int)(camera.position. y / tilesize);
int rangex = (int) (camera.width / tilesize / 2) + 2;
int rangey = (int) (camera.height / tilesize / 2) + 2;
if(Math.abs(avgx - event.tile.x) <= rangex && Math.abs(avgy - event.tile.y) <= rangey){
lastCamY = lastCamX = -99; //invalidate camera position so blocks get updated
@@ -100,7 +99,7 @@ public class BlockRenderer{
}
public void drawShadows(){
if(disableShadows) return;
if(!Core.settings.getBool("shadows")) return;
Draw.color();
@@ -241,7 +241,7 @@ public abstract class InputHandler implements InputProcessor{
boolean canMine(Tile tile){
return !Core.scene.hasMouse()
&& tile.drop() != null && tile.drop().hardness <= player.mech.drillPower
&& !tile.floor().playerUnmineable
&& !(tile.floor().playerUnmineable && tile.ore() == Blocks.air)
&& player.acceptsItem(tile.drop())
&& tile.block() == Blocks.air && player.dst(tile.worldx(), tile.worldy()) <= Player.mineDistance;
}
@@ -365,7 +365,7 @@ public class MobileInput extends InputHandler implements GestureListener{
if(!request.remove && request == lastPlaced && request.block != null){
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);
@@ -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);
rotation = l.rotation;
prevX = l.x;
prevY = l.y;
prevRotation = l.rotation;
@@ -95,7 +95,7 @@ public class MapGenerator extends Generator{
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));
tiles[x][y].setBlock(Blocks.air);
}
@@ -27,6 +27,8 @@ public class ItemsDisplay extends Table{
table("flat", t -> {
t.margin(10).marginLeft(15).marginTop(15f);
t.add("$launcheditems").colspan(3).left().padBottom(5);
t.row();
ObjectIntMap<Item> items = data.items();
for(Item item : content.items()){
if(item.type == ItemType.material && data.isUnlocked(item)){
@@ -168,12 +168,12 @@ public class JoinDialog extends FloatingDialog{
server.content.table(t -> {
t.add(versionString).left();
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.add("[lightgray]" + (host.players != 1 ? Core.bundle.format("players", host.players) :
Core.bundle.format("players.single", host.players))).left();
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);
}, e -> {
@@ -198,6 +198,7 @@ public class SettingsMenuDialog extends SettingsDialog{
graphics.checkPref("fps", false);
graphics.checkPref("indicators", true);
graphics.checkPref("shadows", true);
graphics.checkPref("animatedwater", !mobile);
graphics.checkPref("lasers", true);
}
@@ -60,10 +60,25 @@ public class HudFragment extends Fragment{
{
Table select = new Table(){
public float getPrefWidth(){ return Unit.dp.scl(dsize*4 + 3); }
public float getPrefHeight(){ return Unit.dp.scl(dsize); }
@Override
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.defaults().size(dsize).left();
@@ -106,7 +121,8 @@ public class HudFragment extends Fragment{
}).get();
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();
@@ -219,9 +235,8 @@ public class HudFragment extends Fragment{
//launch button
parent.fill(t -> {
t.top().visible(() -> !state.is(State.menu));
t.top().right().visible(() -> !state.is(State.menu));
TextButton[] testb = {null};
TextButton button = Elements.newButton("$launch", () -> {
FloatingDialog dialog = new FloatingDialog("$launch");
dialog.update(() -> {
@@ -266,10 +281,8 @@ public class HudFragment extends Fragment{
});
button.setDisabled(() -> state.enemies() > 0);
button.getLabelCell().left().get().setAlignment(Align.left, Align.left);
t.add(button).size(350f, 80f);
t.add(button).size(250f, 80f);
});
//paused table
@@ -143,6 +143,10 @@ public class Block extends BlockStorage{
}
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);
for(int i = 0; i < tile.entity.power.links.size; i++){
Tile other = world.tile(tile.entity.power.links.get(i));
+1 -1
View File
@@ -476,7 +476,7 @@ public class Tile implements Position, TargetTrait{
Block block = block();
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) + "]" : "");
}
}
@@ -1,7 +1,6 @@
package io.anuke.mindustry.world.blocks;
import io.anuke.arc.Core;
import io.anuke.arc.graphics.Color;
import io.anuke.arc.graphics.g2d.Draw;
import io.anuke.arc.graphics.g2d.TextureRegion;
import io.anuke.arc.math.Mathf;
@@ -40,8 +39,6 @@ public class Floor extends Block{
public StatusEffect status = StatusEffects.none;
/** Intensity of applied status effect. */
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 */
public Liquid liquidDrop = null;
/** 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")};
}
@Override
public void init(){
super.init();
if(isLiquid && liquidColor == null){
throw new RuntimeException("All liquids must define a liquidColor! Problematic block: " + name);
}
}
@Override
public void draw(Tile tile){
Mathf.random.setSeed(tile.pos());
@@ -29,7 +29,7 @@ import java.io.IOException;
import static io.anuke.mindustry.Vars.*;
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 ItemPos drawpos = new ItemPos();
private static ItemPos pos1 = new ItemPos();
@@ -60,7 +60,7 @@ public class Conveyor extends Block{
@Override
public void setStats(){
super.setStats();
stats.add(BlockStat.itemsMoved, speed * 60, StatUnit.itemsSecond);
stats.add(BlockStat.itemsMoved, speed * 60 * (1f / itemSpace), StatUnit.itemsSecond);
}
@Override
@@ -13,7 +13,7 @@ public class PowerDistributor extends PowerBlock{
@Override
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();
}
}
@@ -229,7 +229,7 @@ public class PowerGraph{
closedSet.clear();
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();
queue.clear();
queue.addLast(other);
@@ -125,7 +125,7 @@ public class PowerNode extends PowerBlock{
@Override
public void update(Tile tile){
tile.entity.power.graph.update();
if(tile.entity.power.graph != null) tile.entity.power.graph.update();
}
@Override
+25 -12
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
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 clearOut(type: Delete){
doLast{
@@ -139,17 +147,22 @@ task packrZip(){
}
}
dependsOn "packrCmd"
finalizedBy "clearOut"
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){
dependsOn "fixMac"
}
if(getPlatform() == PackrConfig.Platform.MacOS){
dependsOn "fixMac"
}
if(getPlatform() == PackrConfig.Platform.Windows32){
dependsOn "fixWindows32"
if(getPlatform() == PackrConfig.Platform.Windows32){
dependsOn "fixWindows32"
}
}
task rzip(type: Zip){
@@ -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"))){
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" +
"(If that doesn't work, your computer just doesn't support Mindustry.)", "ok", "error", true));
badGPU = true;
+1 -1
View File
@@ -19,7 +19,7 @@ if(new File(settingsDir, 'local.properties').exists()){
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()) {
use(':Arc', '../Arc')
use(':Arc:arc-core', '../Arc/arc-core')
+31
View File
@@ -178,6 +178,37 @@ public class ApplicationTests{
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
void save(){
world.loadMap(testMap);
+13 -1
View File
@@ -11,7 +11,6 @@ import java.awt.image.BufferedImage
def outFolder = "../core/assets-raw/sprites_out/"
def genFolder = "../core/assets-raw/sprites_out/generated/"
def packFile = "../core/assets-raw/sprites/pack.json"
def doAntialias = !project.hasProperty("disableAntialias")
def antialias = {File file ->
@@ -201,6 +200,19 @@ task pack(){
}
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")
}
}