Compare commits

..

98 Commits
v129.2 ... v130

Author SHA1 Message Date
Anuken
0c5f781702 Sector wave spawning fixes 2021-08-16 13:15:14 -04:00
Anuken
ff5c48a2a0 Merge remote-tracking branch 'origin/master' 2021-08-16 10:34:53 -04:00
Anuken
1a55f19ab2 Fixed #5774 2021-08-16 10:34:48 -04:00
JrTRinny
59456b67a1 payload source and void descriptions (#5778) 2021-08-16 08:22:03 -04:00
buthed010203
1a12510081 Closes #5777 (#5779)
I did a dumb
2021-08-16 08:15:20 -04:00
Anuken
d83f48891a Fixed #5774 2021-08-15 22:23:31 -04:00
Anuken
747c6186d4 DesktopLauncher -debug argument 2021-08-15 22:17:17 -04:00
Anuken
b3ef412368 Extra debug logging for mod pack 2021-08-15 21:59:57 -04:00
MrTnT 2.0
bfdcb971fc Update servers_v6.json (#5748)
* Update servers_v6.json

* Update servers_v6.json
2021-08-15 21:26:19 -04:00
YellOw139
487bc1866a [Bundle][RO] Update (#5668)
* [Bundle][RO] Update

Changelog:

- New strings/changes up to commit 5ca5025fb1
- Typo fixes & various other improvements

* Update bundle_ro.properties

* Update bundle_ro.properties

* progress

* derelict

* typo

* Update bundle_ro.properties

* Update bundle_ro.properties

* teamwork

* []

* AI

* Агрессоры

* sector info

* Update bundle_ro.properties

* Update bundle_ro.properties

* Update bundle_ro.properties

* Update bundle_ro.properties
2021-08-15 21:24:27 -04:00
Thomas Widyantoko
0b99d71bd4 [ID] v7 prealpha translation (#5669)
* Indonesian bundle update

lenum.controller description and Tar Fields map

* translation bundle sync

* Indonesian translation standardization

* healing status effect

* Indonesian translation for V7

bit confused on line 1611

* [ID] WIP polygonal core protection

* [ID] Updates Indonesian V7 translation

Logic wait & content look up instructions

* [ID] v7 prealpha translation

draft 1

* [ID] v7 prealpha translation part 2

Fixed a line and made changes to untranslated lines.
2021-08-15 21:24:13 -04:00
Sharlotte
8d811550e2 Update bundle_ko.properties (#5680)
* Update bundle_ko.properties

* Update bundle_ko.properties

* Update bundle_ko.properties

* Update bundle_ko.properties

* Update bundle_ko.properties

* They don't like unofficial properties h

* Update bundle_ko.properties

* translated b80129e17b (diff-5e346bcec4e8e1d545e035b1e438472bc51937398ac3e8e81308605ec82aea2c), 7e047ef726 (diff-5e346bcec4e8e1d545e035b1e438472bc51937398ac3e8e81308605ec82aea2c), 1cf2bd4892 (diff-5e346bcec4e8e1d545e035b1e438472bc51937398ac3e8e81308605ec82aea2c), a5fe8970c6 (diff-5e346bcec4e8e1d545e035b1e438472bc51937398ac3e8e81308605ec82aea2c), 1b0de739f9 (diff-5e346bcec4e8e1d545e035b1e438472bc51937398ac3e8e81308605ec82aea2c)
* marged from https://github.com/Anuken/Mindustry/pull/5731
2021-08-15 21:24:07 -04:00
JrTRinny
09486946fc Update bundle_th.properties (#5694)
* Update bundle_th.properties

* banned unit

* better environment block name

* craters fix + color

* name consistensies

* add new updates
2021-08-15 21:23:56 -04:00
RebornTrack970
3f988cec72 TR Translate (#5770) 2021-08-15 21:23:18 -04:00
Anuken
c35dde5569 Fixed #5772 2021-08-15 21:17:16 -04:00
Anuken
79d757856e Merge remote-tracking branch 'origin/master' 2021-08-15 09:34:28 -04:00
Anuken
cd0c48985d Unconditional unit draw state reset 2021-08-15 09:34:23 -04:00
RebornTrack970
b2f35220e3 OmegaHub Server Update (#5769) 2021-08-15 09:30:34 -04:00
Anuken
d9ecaa701b Merge remote-tracking branch 'origin/master' 2021-08-14 23:19:34 -04:00
Anuken
9355496915 Correct SolidPump bar 2021-08-14 23:19:29 -04:00
Matthew Peng
79939db170 If it accepts payloads, then it shouldn't be blocked. (#5767) 2021-08-14 20:35:29 -04:00
Matthew Peng
24d3afca18 If a block doesn't rotate, then don't check if the payload conveyor is trying to input into the output side (#5766)
* If a block doesn't rotate, then don't check if the payload conveyor is trying to input into the output side

* b l o c k

* h

* Revert "h"

This reverts commit 2860818e3f.
2021-08-14 18:48:52 -04:00
Anuken
334b62b0a2 Misc scripting visibility changes 2021-08-14 09:49:25 -04:00
Anuken
16fb70b0ef Fixed #5762 / Fixed #5763 2021-08-14 09:21:02 -04:00
Anuken
c2fcffb0d8 Planet frustum culling 2021-08-13 23:49:47 -04:00
Anuken
681fc6de3d Misc bugfixes 2021-08-13 19:41:14 -04:00
Anuken
9640acfb74 Merge remote-tracking branch 'origin/master' 2021-08-13 19:07:19 -04:00
Anuken
94b12704dc Mobile text input fixes 2021-08-13 19:07:14 -04:00
buthed010203
74468855c2 Offset formations by 22.5 degrees when full (#5754)
This stops the annoying "unit bumping" problem on servers (at least with full formations), removed the other 2 lines as they didnt actually do anything.

Before: https://mee6.is-terrible.com/56YkB59o8.webm
After: I really cant be bothered
2021-08-13 17:45:12 -04:00
Anuken
031b1abe0a Allow animations without top regions 2021-08-13 14:14:58 -04:00
Anuken
0e6d9ea933 Fixed #5760 / Fixed #5761 2021-08-13 13:58:25 -04:00
Anuken
6e5ad304e4 Fixed #5759 2021-08-13 12:17:32 -04:00
Anuken
a689c2cb4d Merge remote-tracking branch 'origin/master' 2021-08-13 11:29:27 -04:00
Anuken
cd53cf0991 Fixed planet zoom 2021-08-13 11:29:22 -04:00
alex
5e2bf1f931 change address of pvp server (#5758) 2021-08-13 10:55:06 -04:00
Anuken
033dadae2c Removed unnecessary 'chat' font 2021-08-13 09:20:46 -04:00
Anuken
1b0de739f9 Sector info list / Minor hint fixes 2021-08-12 22:16:13 -04:00
Anuken
351f1a80c7 Merge remote-tracking branch 'origin/master' 2021-08-12 10:07:34 -04:00
Anuken
def1094357 Added world data progress bar 2021-08-12 10:07:30 -04:00
CxZxRain
4dec658a77 Update servers_v6.json (#5752) 2021-08-12 09:32:15 -04:00
Anuken
a5fe8970c6 Per-team AI settings / Errors for missing player cores 2021-08-12 09:24:20 -04:00
Anuken
1cf2bd4892 Team-specific rules / Player+Enemy team rules 2021-08-11 23:36:06 -04:00
Anuken
9111860fce Merge remote-tracking branch 'origin/master' 2021-08-11 21:18:52 -04:00
Anuken
0cac972061 Support for team-specific multipliers (no UI) 2021-08-11 21:18:48 -04:00
buthed010203
fa9257182b Dont configure if not needed (#5745)
* Dont configure if not needed

* fix
2021-08-11 17:23:34 -04:00
Anuken
4fc18d35ce #5742 2021-08-11 16:42:25 -04:00
Anuken
c2720bbc33 Increased PPT range 2021-08-11 11:36:20 -04:00
Anuken
5d86390e28 Turret heat cleanup 2021-08-11 10:31:36 -04:00
Anuken
ec89db7cb1 Things 2021-08-11 09:54:30 -04:00
Anuken
d15968d291 Merge remote-tracking branch 'origin/master' 2021-08-11 09:27:11 -04:00
Anuken
5e5df8848d Ammo rebalancing / Possible crash fix 2021-08-11 09:27:06 -04:00
Volas171
a0f66a5f94 Update Omega Community Server server ip (#5735)
ip changed, now moved to there
2021-08-11 09:18:36 -04:00
Anuken
d3a15fba96 Filter locked items from stat values 2021-08-10 21:47:28 -04:00
Anuken
14dc293a09 Fixed #5734 / New derelict icon 2021-08-10 19:56:31 -04:00
Anuken
a97690d219 Merge remote-tracking branch 'origin/master' 2021-08-10 17:11:29 -04:00
Anuken
9c626a17f0 Database dialog search bar 2021-08-10 17:11:22 -04:00
buthed010203
3354ef246b spacing (#5732)
Before: ![](https://mee6.is-terrible.com/56KMVIkGc.png)
After: ![](https://xenon.is-ne.at/56KPxNfyF.png)
2021-08-10 16:08:00 -04:00
Anuken
e7e64379dd () 2021-08-10 15:12:58 -04:00
Anuken
78dc94b0ed Merge remote-tracking branch 'origin/master' 2021-08-10 10:16:20 -04:00
Anuken
be38bba0e4 #5729 2021-08-10 10:16:15 -04:00
JrTRinny
6c963a2de7 comment fix (#5730)
* there is no mech pads

* factories
2021-08-10 09:38:46 -04:00
buthed010203
6d517396b3 ??? (#5727) 2021-08-09 18:05:19 -04:00
Matthew Peng
6246a1d39c Option to make a unit not appear on the title screen. (#5728) 2021-08-09 18:04:21 -04:00
Anuken
9c1063c7cc Misc minor bugfixes 2021-08-09 16:53:49 -04:00
Anuken
ed71777a17 . 2021-08-09 14:27:42 -04:00
Anuken
353433a383 Fine, I'll do it myself (#5717) 2021-08-09 14:19:34 -04:00
Anuken
7e047ef726 Stone craters name fix 2021-08-09 12:13:07 -04:00
Anuken
c60f6d155f Fixed #5725 2021-08-09 11:41:39 -04:00
Anuken
42486cd784 Fixed export/import lines curving through planet 2021-08-09 09:59:49 -04:00
Anuken
5b27f4786d ItemBuffer struct 2021-08-09 09:37:45 -04:00
Anuken
01f759a992 Fixed #5722 2021-08-08 20:42:48 -04:00
Anuken
cc0d7af610 Merge remote-tracking branch 'origin/master' 2021-08-08 13:38:01 -04:00
Anuken
00a2c1aad0 Refactored fireball into FireBulletType 2021-08-08 13:37:55 -04:00
buthed010203
e40ab50e10 why are there soaces here ? (#5716)
good question
2021-08-07 21:24:03 -04:00
Yakuzet
99b3420423 fix update TR bundle (#5715)
translated some new things and fixed some translation
2021-08-07 18:12:31 -04:00
Anuken
644d00b268 Misc ammo balancing 2021-08-07 17:37:55 -04:00
Anuken
71c4f27d60 Removed pointless 'device' switcher / Anuken/Mindustry-Suggestions/issues/2811 (but only partially) 2021-08-07 12:34:11 -04:00
Anuken
6cb2c0e8a7 Anuken/Mindustry-Suggestions/issues/2810 2021-08-07 12:22:34 -04:00
Anuken
d3745d043c Merge remote-tracking branch 'origin/master' 2021-08-07 12:08:35 -04:00
Anuken
b1b89290b9 Implemented Anuken/Mindustry-Suggestions/issues/2809 2021-08-07 12:08:30 -04:00
Fatonndev
ca8fa02687 add oblivion pvp server (#5709) 2021-08-07 08:28:29 -04:00
Anuken
ce9bfdbcae Fixed #5710 2021-08-07 08:26:49 -04:00
Anuken
5f29633689 Fixed #5707 2021-08-06 23:19:45 -04:00
Anuken
cab71958d0 Implementation of #4921 2021-08-06 19:40:27 -04:00
Anuken
9c995be22e Merge remote-tracking branch 'origin/master' 2021-08-06 18:02:04 -04:00
Anuken
f0a0b4cfc9 Fixed keyDown not registering at low FPS / Spectre bullet balance 2021-08-06 18:01:57 -04:00
RebornTrack970
395f7e0324 Added the Community Server server to Omega (#5705) 2021-08-06 13:47:30 -04:00
Anuken
b80129e17b Improved environmental block internal names 2021-08-06 11:52:25 -04:00
Anuken
e57b5b6966 Implemented Anuken/Mindustry-Suggestions/issues/2800 2021-08-06 11:17:10 -04:00
Anuken
316adf63ee Multi-target zenith AI 2021-08-06 11:07:30 -04:00
Anuken
588523b311 Avoid lambda capture in puddles 2021-08-06 09:34:38 -04:00
Anuken
b8232326bc Fixed #5703 2021-08-06 09:04:07 -04:00
Anuken
4fa04b9e23 Bannable units / Show tech tree icon for unresearched units 2021-08-05 23:01:58 -04:00
Anuken
6fdbe1d5f0 Fixed minimap not updating when build team changes 2021-08-05 14:20:23 -04:00
Anuken
66ce3e75ec Allow dumping/moving into payload voids 2021-08-05 12:00:35 -04:00
Anuken
ec30232c4e Made AttributeCrafters consume a constant amount of liquid
+ cultivator water requirement decrease
2021-08-05 10:27:46 -04:00
Anuken
6cb6a76ef3 arc 2021-08-05 08:22:53 -04:00
Anuken
46eeb8b960 arc 2021-08-04 23:03:15 -04:00
165 changed files with 1473 additions and 831 deletions

View File

@@ -57,7 +57,7 @@ allprojects{
if(!project.hasProperty("versionType")) versionType = 'official' if(!project.hasProperty("versionType")) versionType = 'official'
appName = 'Mindustry' appName = 'Mindustry'
steamworksVersion = '0b86023401880bb5e586bc404bedbaae9b1f1c94' steamworksVersion = '0b86023401880bb5e586bc404bedbaae9b1f1c94'
rhinoVersion = '9f792d202471fb3789eab7bb261fec13d67287e2' rhinoVersion = '3c6bbadf73a904eefcc28b6fd8aa742ac575e878'
loadVersionProps = { loadVersionProps = {
return new Properties().with{p -> p.load(file('../core/assets/version.properties').newReader()); return p } return new Properties().with{p -> p.load(file('../core/assets/version.properties').newReader()); return p }

View File

Before

Width:  |  Height:  |  Size: 245 B

After

Width:  |  Height:  |  Size: 245 B

View File

Before

Width:  |  Height:  |  Size: 238 B

After

Width:  |  Height:  |  Size: 238 B

View File

Before

Width:  |  Height:  |  Size: 231 B

After

Width:  |  Height:  |  Size: 231 B

View File

Before

Width:  |  Height:  |  Size: 233 B

After

Width:  |  Height:  |  Size: 233 B

View File

Before

Width:  |  Height:  |  Size: 162 B

After

Width:  |  Height:  |  Size: 162 B

View File

Before

Width:  |  Height:  |  Size: 171 B

After

Width:  |  Height:  |  Size: 171 B

View File

Before

Width:  |  Height:  |  Size: 291 B

After

Width:  |  Height:  |  Size: 291 B

View File

Before

Width:  |  Height:  |  Size: 1.3 KiB

After

Width:  |  Height:  |  Size: 1.3 KiB

View File

Before

Width:  |  Height:  |  Size: 291 B

After

Width:  |  Height:  |  Size: 291 B

Binary file not shown.

Before

Width:  |  Height:  |  Size: 2.2 KiB

After

Width:  |  Height:  |  Size: 2.2 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 144 B

After

Width:  |  Height:  |  Size: 262 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 833 B

Binary file not shown.

Before

Width:  |  Height:  |  Size: 148 B

After

Width:  |  Height:  |  Size: 226 B

Binary file not shown.

Before

Width:  |  Height:  |  Size: 214 B

After

Width:  |  Height:  |  Size: 363 B

Binary file not shown.

Before

Width:  |  Height:  |  Size: 889 B

After

Width:  |  Height:  |  Size: 1.6 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 333 B

After

Width:  |  Height:  |  Size: 795 B

Binary file not shown.

Before

Width:  |  Height:  |  Size: 278 B

After

Width:  |  Height:  |  Size: 517 B

Binary file not shown.

Before

Width:  |  Height:  |  Size: 233 B

After

Width:  |  Height:  |  Size: 329 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 1.3 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 608 B

After

Width:  |  Height:  |  Size: 503 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 241 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 256 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 206 B

View File

@@ -345,9 +345,9 @@ custom = Custom
builtin = Built-In builtin = Built-In
map.delete.confirm = Are you sure you want to delete this map? This action cannot be undone! map.delete.confirm = Are you sure you want to delete this map? This action cannot be undone!
map.random = [accent]Random Map map.random = [accent]Random Map
map.nospawn = This map does not have any cores for the player to spawn in! Add a[accent] orange[] core to this map in the editor. map.nospawn = This map does not have any cores for the player to spawn in! Add a [#{0}]{1}[] core to this map in the editor.
map.nospawn.pvp = This map does not have any enemy cores for player to spawn into! Add[scarlet] non-orange[] cores to this map in the editor. map.nospawn.pvp = This map does not have any enemy cores for player to spawn into! Add[scarlet] non-orange[] cores to this map in the editor.
map.nospawn.attack = This map does not have any enemy cores for player to attack! Add[scarlet] red[] cores to this map in the editor. map.nospawn.attack = This map does not have any enemy cores for player to attack! Add [#{0}]{1}[] cores to this map in the editor.
map.invalid = Error loading map: corrupted or invalid map file. map.invalid = Error loading map: corrupted or invalid map file.
workshop.update = Update Item workshop.update = Update Item
workshop.error = Error fetching workshop details: {0} workshop.error = Error fetching workshop details: {0}
@@ -539,6 +539,7 @@ configure = Configure Loadout
loadout = Loadout loadout = Loadout
resources = Resources resources = Resources
bannedblocks = Banned Blocks bannedblocks = Banned Blocks
bannedunits = Banned Units
addall = Add All addall = Add All
launch.from = Launching From: [accent]{0} launch.from = Launching From: [accent]{0}
launch.destination = Destination: {0} launch.destination = Destination: {0}
@@ -563,6 +564,8 @@ weather.sandstorm.name = Sandstorm
weather.sporestorm.name = Sporestorm weather.sporestorm.name = Sporestorm
weather.fog.name = Fog weather.fog.name = Fog
sectorlist = Sectors
sectorlist.attacked = {0} under attack
sectors.unexplored = [lightgray]Unexplored sectors.unexplored = [lightgray]Unexplored
sectors.resources = Resources: sectors.resources = Resources:
sectors.production = Production: sectors.production = Production:
@@ -1000,6 +1003,7 @@ rules.wavetimer = Wave Timer
rules.waves = Waves rules.waves = Waves
rules.attack = Attack Mode rules.attack = Attack Mode
rules.buildai = AI Building rules.buildai = AI Building
rules.aitier = AI Tier
rules.cleanupdeadteams = Clean Up Defeated Team Buildings (PvP) rules.cleanupdeadteams = Clean Up Defeated Team Buildings (PvP)
rules.corecapture = Capture Core On Destruction rules.corecapture = Capture Core On Destruction
rules.polygoncoreprotection = Polygonal Core Protection rules.polygoncoreprotection = Polygonal Core Protection
@@ -1019,12 +1023,15 @@ rules.deconstructrefundmultiplier = Deconstruct Refund Multiplier
rules.waitForWaveToEnd = Waves Wait for Enemies rules.waitForWaveToEnd = Waves Wait for Enemies
rules.dropzoneradius = Drop Zone Radius:[lightgray] (tiles) rules.dropzoneradius = Drop Zone Radius:[lightgray] (tiles)
rules.unitammo = Units Require Ammo rules.unitammo = Units Require Ammo
rules.enemyteam = Enemy Team
rules.playerteam = Player Team
rules.title.waves = Waves rules.title.waves = Waves
rules.title.resourcesbuilding = Resources & Building rules.title.resourcesbuilding = Resources & Building
rules.title.enemy = Enemies rules.title.enemy = Enemies
rules.title.unit = Units rules.title.unit = Units
rules.title.experimental = Experimental rules.title.experimental = Experimental
rules.title.environment = Environment rules.title.environment = Environment
rules.title.teams = Teams
rules.lighting = Lighting rules.lighting = Lighting
rules.enemyLights = Enemy Lights rules.enemyLights = Enemy Lights
rules.fire = Fire rules.fire = Fire
@@ -1108,7 +1115,7 @@ block.cliff.name = Cliff
block.sand-boulder.name = Sand Boulder block.sand-boulder.name = Sand Boulder
block.basalt-boulder.name = Basalt Boulder block.basalt-boulder.name = Basalt Boulder
block.grass.name = Grass block.grass.name = Grass
block.slag.name = Slag block.molten-slag.name = Slag
block.space.name = Space block.space.name = Space
block.salt.name = Salt block.salt.name = Salt
block.salt-wall.name = Salt Wall block.salt-wall.name = Salt Wall
@@ -1139,8 +1146,8 @@ block.spawn.name = Enemy Spawn
block.core-shard.name = Core: Shard block.core-shard.name = Core: Shard
block.core-foundation.name = Core: Foundation block.core-foundation.name = Core: Foundation
block.core-nucleus.name = Core: Nucleus block.core-nucleus.name = Core: Nucleus
block.deepwater.name = Deep Water block.deep-water.name = Deep Water
block.water.name = Water block.shallow-water.name = Water
block.tainted-water.name = Tainted Water block.tainted-water.name = Tainted Water
block.darksand-tainted-water.name = Dark Sand Tainted Water block.darksand-tainted-water.name = Dark Sand Tainted Water
block.tar.name = Tar block.tar.name = Tar
@@ -1149,7 +1156,7 @@ block.sand.name = Sand
block.darksand.name = Dark Sand block.darksand.name = Dark Sand
block.ice.name = Ice block.ice.name = Ice
block.snow.name = Snow block.snow.name = Snow
block.craters.name = Craters block.crater-stone.name = Craters
block.sand-water.name = Sand Water block.sand-water.name = Sand Water
block.darksand-water.name = Dark Sand Water block.darksand-water.name = Dark Sand Water
block.char.name = Char block.char.name = Char
@@ -1431,6 +1438,8 @@ block.item-source.description = Infinitely outputs items. Sandbox only.
block.item-void.description = Destroys any items. Sandbox only. block.item-void.description = Destroys any items. Sandbox only.
block.liquid-source.description = Infinitely outputs liquids. Sandbox only. block.liquid-source.description = Infinitely outputs liquids. Sandbox only.
block.liquid-void.description = Removes any liquids. Sandbox only. block.liquid-void.description = Removes any liquids. Sandbox only.
block.payload-source.description = Infinitely outputs payloads. Sandbox only.
block.payload-void.description = Destroys any payloads. Sandbox only.
block.copper-wall.description = Protects structures from enemy projectiles. block.copper-wall.description = Protects structures from enemy projectiles.
block.copper-wall-large.description = Protects structures from enemy projectiles. block.copper-wall-large.description = Protects structures from enemy projectiles.
block.titanium-wall.description = Protects structures from enemy projectiles. block.titanium-wall.description = Protects structures from enemy projectiles.

View File

@@ -960,7 +960,7 @@ block.parallax.name = Парралакс
block.cliff.name = Скала block.cliff.name = Скала
block.sand-boulder.name = Пяшчаны валун block.sand-boulder.name = Пяшчаны валун
block.grass.name = Трава block.grass.name = Трава
block.slag.name = Шлак block.molten-slag.name = Шлак
block.space.name = Space block.space.name = Space
block.salt.name = Соль block.salt.name = Соль
block.salt-wall.name = Саляная сцяна block.salt-wall.name = Саляная сцяна
@@ -991,8 +991,8 @@ block.spawn.name = Кропка з’яўлення ворагаў
block.core-shard.name = Ядро: «Аскепак» block.core-shard.name = Ядро: «Аскепак»
block.core-foundation.name = Ядро: «Штаб» block.core-foundation.name = Ядро: «Штаб»
block.core-nucleus.name = Ядро: «Атам» block.core-nucleus.name = Ядро: «Атам»
block.deepwater.name = Глубокаводдзе block.deep-water.name = Глубокаводдзе
block.water.name = Вада block.shallow-water.name = Вада
block.tainted-water.name = Забруджанная вада block.tainted-water.name = Забруджанная вада
block.darksand-tainted-water.name = Тёмный пясок з забруджанай вадой block.darksand-tainted-water.name = Тёмный пясок з забруджанай вадой
block.tar.name = Нафта block.tar.name = Нафта
@@ -1001,7 +1001,7 @@ block.sand.name = Пясок
block.darksand.name = Тёмны пясок block.darksand.name = Тёмны пясок
block.ice.name = Лёд block.ice.name = Лёд
block.snow.name = Снег block.snow.name = Снег
block.craters.name = Кратэры block.crater-stone.name = Кратэры
block.sand-water.name = Пясок з вадой block.sand-water.name = Пясок з вадой
block.darksand-water.name = Тёмный пясок з вадой block.darksand-water.name = Тёмный пясок з вадой
block.char.name = Выпаленая зямля block.char.name = Выпаленая зямля

View File

@@ -1074,7 +1074,7 @@ block.cliff.name = Скала
block.sand-boulder.name = Пясъчен Камък block.sand-boulder.name = Пясъчен Камък
block.basalt-boulder.name = Базалтов Камък block.basalt-boulder.name = Базалтов Камък
block.grass.name = Трева block.grass.name = Трева
block.slag.name = Шлака block.molten-slag.name = Шлака
block.space.name = Космос block.space.name = Космос
block.salt.name = Сол block.salt.name = Сол
block.salt-wall.name = Стена от Сол block.salt-wall.name = Стена от Сол
@@ -1105,8 +1105,8 @@ block.spawn.name = Вражеска Начална Точка
block.core-shard.name = Ядро: Шард block.core-shard.name = Ядро: Шард
block.core-foundation.name = Core: Фондация block.core-foundation.name = Core: Фондация
block.core-nucleus.name = Core: Център block.core-nucleus.name = Core: Център
block.deepwater.name = Дълбока Вода block.deep-water.name = Дълбока Вода
block.water.name = Вода block.shallow-water.name = Вода
block.tainted-water.name = Замърсена Вода block.tainted-water.name = Замърсена Вода
block.darksand-tainted-water.name = Тъмен Пясък - Замърсена Вода block.darksand-tainted-water.name = Тъмен Пясък - Замърсена Вода
block.tar.name = Катран block.tar.name = Катран
@@ -1115,7 +1115,7 @@ block.sand.name = Пясък
block.darksand.name = Тъмен Пясък block.darksand.name = Тъмен Пясък
block.ice.name = Лед block.ice.name = Лед
block.snow.name = Сняг block.snow.name = Сняг
block.craters.name = Кратери block.crater-stone.name = Кратери
block.sand-water.name = Пясък - Вода block.sand-water.name = Пясък - Вода
block.darksand-water.name = Тъмен Пясък - Вода block.darksand-water.name = Тъмен Пясък - Вода
block.char.name = Овъглен Камък block.char.name = Овъглен Камък

View File

@@ -1023,7 +1023,7 @@ block.cliff.name = Útes
block.sand-boulder.name = Pískovec block.sand-boulder.name = Pískovec
block.basalt-boulder.name = Čedičový balvan block.basalt-boulder.name = Čedičový balvan
block.grass.name = Tráva block.grass.name = Tráva
block.slag.name = Struska block.molten-slag.name = Struska
block.space.name = Vesmír block.space.name = Vesmír
block.salt.name = Sůl block.salt.name = Sůl
block.salt-wall.name = Solné skály block.salt-wall.name = Solné skály
@@ -1054,8 +1054,8 @@ block.spawn.name = Nepřátelská líheň
block.core-shard.name = Jádro: Odštěpek block.core-shard.name = Jádro: Odštěpek
block.core-foundation.name = Jádro: Základ block.core-foundation.name = Jádro: Základ
block.core-nucleus.name = Jádro: Atom block.core-nucleus.name = Jádro: Atom
block.deepwater.name = Hluboká voda block.deep-water.name = Hluboká voda
block.water.name = Voda block.shallow-water.name = Voda
block.tainted-water.name = Zamořená voda block.tainted-water.name = Zamořená voda
block.darksand-tainted-water.name = Zamořená voda s černým pískem block.darksand-tainted-water.name = Zamořená voda s černým pískem
block.tar.name = Dehet block.tar.name = Dehet
@@ -1064,7 +1064,7 @@ block.sand.name = Písek
block.darksand.name = Černý písek block.darksand.name = Černý písek
block.ice.name = Led block.ice.name = Led
block.snow.name = Sníh block.snow.name = Sníh
block.craters.name = Krátery block.crater-stone.name = Krátery
block.sand-water.name = Voda s pískem block.sand-water.name = Voda s pískem
block.darksand-water.name = Voda s černým pískem block.darksand-water.name = Voda s černým pískem
block.char.name = Dřevěné uhlí block.char.name = Dřevěné uhlí

View File

@@ -960,7 +960,7 @@ block.parallax.name = Parallax
block.cliff.name = Klippe block.cliff.name = Klippe
block.sand-boulder.name = Sandkampesten block.sand-boulder.name = Sandkampesten
block.grass.name = Græs block.grass.name = Græs
block.slag.name = Ildgrød block.molten-slag.name = Ildgrød
block.space.name = Rum block.space.name = Rum
block.salt.name = Salt block.salt.name = Salt
block.salt-wall.name = Saltvæg block.salt-wall.name = Saltvæg
@@ -991,8 +991,8 @@ block.spawn.name = Fjendtligt Ankomstpunkt
block.core-shard.name = Kerne: Skår block.core-shard.name = Kerne: Skår
block.core-foundation.name = Kerne: Fundament block.core-foundation.name = Kerne: Fundament
block.core-nucleus.name = Kerne: Nukleus block.core-nucleus.name = Kerne: Nukleus
block.deepwater.name = Dybt Vand block.deep-water.name = Dybt Vand
block.water.name = Vand block.shallow-water.name = Vand
block.tainted-water.name = Moget Vand block.tainted-water.name = Moget Vand
block.darksand-tainted-water.name = Mørkt Sand Moget Vand block.darksand-tainted-water.name = Mørkt Sand Moget Vand
block.tar.name = Tjærre block.tar.name = Tjærre
@@ -1001,7 +1001,7 @@ block.sand.name = Sand
block.darksand.name = Mørkt Sand block.darksand.name = Mørkt Sand
block.ice.name = Is block.ice.name = Is
block.snow.name = Sne block.snow.name = Sne
block.craters.name = Kratere block.crater-stone.name = Kratere
block.sand-water.name = Sandet Lavvande block.sand-water.name = Sandet Lavvande
block.darksand-water.name = Mørkt Sandet Lavvande block.darksand-water.name = Mørkt Sandet Lavvande
block.char.name = Trækul block.char.name = Trækul

View File

@@ -1107,7 +1107,7 @@ block.cliff.name = Klippe
block.sand-boulder.name = Sandbrocken block.sand-boulder.name = Sandbrocken
block.basalt-boulder.name = Basaltbrocken block.basalt-boulder.name = Basaltbrocken
block.grass.name = Gras block.grass.name = Gras
block.slag.name = Schlacke block.molten-slag.name = Schlacke
block.space.name = Weltall block.space.name = Weltall
block.salt.name = Salz block.salt.name = Salz
block.salt-wall.name = Salzwand block.salt-wall.name = Salzwand
@@ -1138,8 +1138,8 @@ block.spawn.name = Gegnerischer Startpunkt
block.core-shard.name = Kern: Scherbe block.core-shard.name = Kern: Scherbe
block.core-foundation.name = Kern: Fundament block.core-foundation.name = Kern: Fundament
block.core-nucleus.name = Kern: Nukleus block.core-nucleus.name = Kern: Nukleus
block.deepwater.name = Tiefes Wasser block.deep-water.name = Tiefes Wasser
block.water.name = Wasser block.shallow-water.name = Wasser
block.tainted-water.name = Dreckiges Wasser block.tainted-water.name = Dreckiges Wasser
block.darksand-tainted-water.name = Dreckiges Wasser (Dunkler Sand) block.darksand-tainted-water.name = Dreckiges Wasser (Dunkler Sand)
block.tar.name = Teer block.tar.name = Teer
@@ -1148,7 +1148,7 @@ block.sand.name = Sand
block.darksand.name = Dunkler Sand block.darksand.name = Dunkler Sand
block.ice.name = Eis block.ice.name = Eis
block.snow.name = Schnee block.snow.name = Schnee
block.craters.name = Krater block.crater-stone.name = Krater
block.sand-water.name = Sandiges Wasser block.sand-water.name = Sandiges Wasser
block.darksand-water.name = Dunkles sandiges Wasser block.darksand-water.name = Dunkles sandiges Wasser
block.char.name = Holzkohle block.char.name = Holzkohle

View File

@@ -1103,7 +1103,7 @@ block.cliff.name = Pared
block.sand-boulder.name = Roca de arena block.sand-boulder.name = Roca de arena
block.basalt-boulder.name = Roca de basalto block.basalt-boulder.name = Roca de basalto
block.grass.name = Hierba block.grass.name = Hierba
block.slag.name = Magma block.molten-slag.name = Magma
block.space.name = Espacio block.space.name = Espacio
block.salt.name = Sal block.salt.name = Sal
block.salt-wall.name = Muro de sal block.salt-wall.name = Muro de sal
@@ -1134,8 +1134,8 @@ block.spawn.name = Punto de generación
block.core-shard.name = Núcleo: Shard block.core-shard.name = Núcleo: Shard
block.core-foundation.name = Núcleo: Foundation block.core-foundation.name = Núcleo: Foundation
block.core-nucleus.name = Núcleo: Nucleus block.core-nucleus.name = Núcleo: Nucleus
block.deepwater.name = Aguas profundas block.deep-water.name = Aguas profundas
block.water.name = Agua block.shallow-water.name = Agua
block.tainted-water.name = Agua contaminada block.tainted-water.name = Agua contaminada
block.darksand-tainted-water.name = Agua contaminada con arena oscura block.darksand-tainted-water.name = Agua contaminada con arena oscura
block.tar.name = Alquitrán block.tar.name = Alquitrán
@@ -1144,7 +1144,7 @@ block.sand.name = Arena
block.darksand.name = Arena oscura block.darksand.name = Arena oscura
block.ice.name = Hielo block.ice.name = Hielo
block.snow.name = Nieve block.snow.name = Nieve
block.craters.name = Cráter block.crater-stone.name = Cráter
block.sand-water.name = Agua con arena block.sand-water.name = Agua con arena
block.darksand-water.name = Agua con arena oscura block.darksand-water.name = Agua con arena oscura
block.char.name = Cenizas block.char.name = Cenizas

View File

@@ -960,7 +960,7 @@ block.parallax.name = Parallax
block.cliff.name = Cliff block.cliff.name = Cliff
block.sand-boulder.name = Liivakamakas block.sand-boulder.name = Liivakamakas
block.grass.name = Rohi block.grass.name = Rohi
block.slag.name = Slag block.molten-slag.name = Slag
block.space.name = Space block.space.name = Space
block.salt.name = Sool block.salt.name = Sool
block.salt-wall.name = Salt Wall block.salt-wall.name = Salt Wall
@@ -991,8 +991,8 @@ block.spawn.name = Vaenlaste maandumisala
block.core-shard.name = Tuumik: Osake block.core-shard.name = Tuumik: Osake
block.core-foundation.name = Tuumik: Arenenud block.core-foundation.name = Tuumik: Arenenud
block.core-nucleus.name = Tuumik: Täielik block.core-nucleus.name = Tuumik: Täielik
block.deepwater.name = Sügav vesi block.deep-water.name = Sügav vesi
block.water.name = Vesi block.shallow-water.name = Vesi
block.tainted-water.name = Riknenud vesi block.tainted-water.name = Riknenud vesi
block.darksand-tainted-water.name = Riknenud vesi tumedal liival block.darksand-tainted-water.name = Riknenud vesi tumedal liival
block.tar.name = Tõrv block.tar.name = Tõrv
@@ -1001,7 +1001,7 @@ block.sand.name = Liiv
block.darksand.name = Tume liiv block.darksand.name = Tume liiv
block.ice.name = Jää block.ice.name = Jää
block.snow.name = Lumi block.snow.name = Lumi
block.craters.name = Kraatrid block.crater-stone.name = Kraatrid
block.sand-water.name = Vesi liival block.sand-water.name = Vesi liival
block.darksand-water.name = Vesi tumedal liival block.darksand-water.name = Vesi tumedal liival
block.char.name = Puusüsi block.char.name = Puusüsi

View File

@@ -960,7 +960,7 @@ block.parallax.name = Parallax
block.cliff.name = Cliff block.cliff.name = Cliff
block.sand-boulder.name = Hondar harkaitza block.sand-boulder.name = Hondar harkaitza
block.grass.name = Belarra block.grass.name = Belarra
block.slag.name = Slag block.molten-slag.name = Slag
block.space.name = Space block.space.name = Space
block.salt.name = Gatza block.salt.name = Gatza
block.salt-wall.name = Salt Wall block.salt-wall.name = Salt Wall
@@ -991,8 +991,8 @@ block.spawn.name = Etsai-sorrera
block.core-shard.name = Muina: Maskorra block.core-shard.name = Muina: Maskorra
block.core-foundation.name = Muina: Fundazioa block.core-foundation.name = Muina: Fundazioa
block.core-nucleus.name = Muina: Nukleoa block.core-nucleus.name = Muina: Nukleoa
block.deepwater.name = Ur sakona block.deep-water.name = Ur sakona
block.water.name = Ura block.shallow-water.name = Ura
block.tainted-water.name = Ur kutsatua block.tainted-water.name = Ur kutsatua
block.darksand-tainted-water.name = Hondar ilunez kutsatutako ura block.darksand-tainted-water.name = Hondar ilunez kutsatutako ura
block.tar.name = Mundruna block.tar.name = Mundruna
@@ -1001,7 +1001,7 @@ block.sand.name = Hondarra
block.darksand.name = Hondar iluna block.darksand.name = Hondar iluna
block.ice.name = Izotza block.ice.name = Izotza
block.snow.name = Elurra block.snow.name = Elurra
block.craters.name = Kraterrak block.crater-stone.name = Kraterrak
block.sand-water.name = Hondar ura block.sand-water.name = Hondar ura
block.darksand-water.name = Hondar ilun ura block.darksand-water.name = Hondar ilun ura
block.char.name = Kokea block.char.name = Kokea

View File

@@ -960,7 +960,7 @@ block.parallax.name = Parallax
block.cliff.name = Vuoren block.cliff.name = Vuoren
block.sand-boulder.name = Hiekkalohkare block.sand-boulder.name = Hiekkalohkare
block.grass.name = Ruoho block.grass.name = Ruoho
block.slag.name = Kuono block.molten-slag.name = Kuono
block.space.name = Space block.space.name = Space
block.salt.name = Suolapitoisuus block.salt.name = Suolapitoisuus
block.salt-wall.name = Salt Wall block.salt-wall.name = Salt Wall
@@ -991,8 +991,8 @@ block.spawn.name = Vihollisten syntymispiste
block.core-shard.name = Ydin: Siru block.core-shard.name = Ydin: Siru
block.core-foundation.name = Ydin: Pohjaus block.core-foundation.name = Ydin: Pohjaus
block.core-nucleus.name = Ydin: Tuma block.core-nucleus.name = Ydin: Tuma
block.deepwater.name = Syvää vettä block.deep-water.name = Syvää vettä
block.water.name = Vettä block.shallow-water.name = Vettä
block.tainted-water.name = Saastevettä block.tainted-water.name = Saastevettä
block.darksand-tainted-water.name = Dark Sand Tainted Water block.darksand-tainted-water.name = Dark Sand Tainted Water
block.tar.name = Terva block.tar.name = Terva
@@ -1001,7 +1001,7 @@ block.sand.name = Hiekka
block.darksand.name = Tumma hiekka block.darksand.name = Tumma hiekka
block.ice.name = Jää block.ice.name = Jää
block.snow.name = Lumi block.snow.name = Lumi
block.craters.name = Kraatterit block.crater-stone.name = Kraatterit
block.sand-water.name = Sand water block.sand-water.name = Sand water
block.darksand-water.name = Dark Sand Water block.darksand-water.name = Dark Sand Water
block.char.name = Char block.char.name = Char

View File

@@ -960,7 +960,7 @@ block.parallax.name = Parallax
block.cliff.name = Cliff block.cliff.name = Cliff
block.sand-boulder.name = Sand Boulder block.sand-boulder.name = Sand Boulder
block.grass.name = Grass block.grass.name = Grass
block.slag.name = Slag block.molten-slag.name = Slag
block.space.name = Space block.space.name = Space
block.salt.name = Salt block.salt.name = Salt
block.salt-wall.name = Salt Wall block.salt-wall.name = Salt Wall
@@ -991,8 +991,8 @@ block.spawn.name = Enemy Spawn
block.core-shard.name = Core: Shard block.core-shard.name = Core: Shard
block.core-foundation.name = Core: Foundation block.core-foundation.name = Core: Foundation
block.core-nucleus.name = Core: Nucleus block.core-nucleus.name = Core: Nucleus
block.deepwater.name = Deep Water block.deep-water.name = Deep Water
block.water.name = Water block.shallow-water.name = Water
block.tainted-water.name = Tainted Water block.tainted-water.name = Tainted Water
block.darksand-tainted-water.name = Dark Sand Tainted Water block.darksand-tainted-water.name = Dark Sand Tainted Water
block.tar.name = Tar block.tar.name = Tar
@@ -1001,7 +1001,7 @@ block.sand.name = Sand
block.darksand.name = Dark Sand block.darksand.name = Dark Sand
block.ice.name = Ice block.ice.name = Ice
block.snow.name = Snow block.snow.name = Snow
block.craters.name = Craters block.crater-stone.name = Craters
block.sand-water.name = Sand water block.sand-water.name = Sand water
block.darksand-water.name = Dark Sand Water block.darksand-water.name = Dark Sand Water
block.char.name = Char block.char.name = Char

View File

@@ -1117,7 +1117,7 @@ block.cliff.name = Falaise
block.sand-boulder.name = Bloc de Sable block.sand-boulder.name = Bloc de Sable
block.basalt-boulder.name = Rocher de Basalte block.basalt-boulder.name = Rocher de Basalte
block.grass.name = Herbe block.grass.name = Herbe
block.slag.name = Scories block.molten-slag.name = Scories
block.space.name = Espace block.space.name = Espace
block.salt.name = Sel block.salt.name = Sel
block.salt-wall.name = Mur de Sel block.salt-wall.name = Mur de Sel
@@ -1148,8 +1148,8 @@ block.spawn.name = Point d'Apparition Ennemi
block.core-shard.name = Noyau: Fragment block.core-shard.name = Noyau: Fragment
block.core-foundation.name = Noyau: Fondation block.core-foundation.name = Noyau: Fondation
block.core-nucleus.name = Noyau: Épicentre block.core-nucleus.name = Noyau: Épicentre
block.deepwater.name = Eau profonde block.deep-water.name = Eau profonde
block.water.name = Eau block.shallow-water.name = Eau
block.tainted-water.name = Eau Contaminée block.tainted-water.name = Eau Contaminée
block.darksand-tainted-water.name = Eau Contaminée avec fond de Sable sombre block.darksand-tainted-water.name = Eau Contaminée avec fond de Sable sombre
block.tar.name = Goudron block.tar.name = Goudron
@@ -1158,7 +1158,7 @@ block.sand.name = Sable
block.darksand.name = Sable sombre block.darksand.name = Sable sombre
block.ice.name = Glace block.ice.name = Glace
block.snow.name = Neige block.snow.name = Neige
block.craters.name = Cratères block.crater-stone.name = Cratères
block.sand-water.name = Eau avec fond de Sable block.sand-water.name = Eau avec fond de Sable
block.darksand-water.name = Eau avec fond de Sable sombre block.darksand-water.name = Eau avec fond de Sable sombre
block.char.name = Cendres block.char.name = Cendres

View File

@@ -1044,7 +1044,7 @@ block.cliff.name = Cliff
block.sand-boulder.name = Sand Boulder block.sand-boulder.name = Sand Boulder
block.basalt-boulder.name = Basalt Boulder block.basalt-boulder.name = Basalt Boulder
block.grass.name = Grass block.grass.name = Grass
block.slag.name = Slag block.molten-slag.name = Slag
block.space.name = Space block.space.name = Space
block.salt.name = Salt block.salt.name = Salt
block.salt-wall.name = Salt Wall block.salt-wall.name = Salt Wall
@@ -1075,8 +1075,8 @@ block.spawn.name = Enemy Spawn
block.core-shard.name = Core: Shard block.core-shard.name = Core: Shard
block.core-foundation.name = Core: Foundation block.core-foundation.name = Core: Foundation
block.core-nucleus.name = Core: Nucleus block.core-nucleus.name = Core: Nucleus
block.deepwater.name = Deep Water block.deep-water.name = Deep Water
block.water.name = Water block.shallow-water.name = Water
block.tainted-water.name = Tainted Water block.tainted-water.name = Tainted Water
block.darksand-tainted-water.name = Dark Sand Tainted Water block.darksand-tainted-water.name = Dark Sand Tainted Water
block.tar.name = Tar block.tar.name = Tar
@@ -1085,7 +1085,7 @@ block.sand.name = Sand
block.darksand.name = Dark Sand block.darksand.name = Dark Sand
block.ice.name = Ice block.ice.name = Ice
block.snow.name = Snow block.snow.name = Snow
block.craters.name = Craters block.crater-stone.name = Craters
block.sand-water.name = Sand water block.sand-water.name = Sand water
block.darksand-water.name = Dark Sand Water block.darksand-water.name = Dark Sand Water
block.char.name = Char block.char.name = Char

View File

@@ -101,6 +101,7 @@ customgame = Permainan Modifikasi
newgame = Permainan Baru newgame = Permainan Baru
none = <kosong> none = <kosong>
none.found = [lightgray]<tidak ditemukan> none.found = [lightgray]<tidak ditemukan>
none.inmap = [lightgray]<tidak ada di dalam peta>
minimap = Peta Kecil minimap = Peta Kecil
position = Posisi position = Posisi
close = Tutup close = Tutup
@@ -192,15 +193,15 @@ server.kicked.banned = Anda telah dilarang untuk memasuki server ini.
server.kicked.typeMismatch = Server ini tidak cocok dengan versi build Anda. server.kicked.typeMismatch = Server ini tidak cocok dengan versi build Anda.
server.kicked.playerLimit = Server ini penuh. Tunggu slot kosong. server.kicked.playerLimit = Server ini penuh. Tunggu slot kosong.
server.kicked.recentKick = Anda baru saja dikeluarkan dari server ini.\nTunggu sesaat sebelum masuk lagi. server.kicked.recentKick = Anda baru saja dikeluarkan dari server ini.\nTunggu sesaat sebelum masuk lagi.
server.kicked.nameInUse = Sudah ada pemain dengan nama tersebut \ndi server ini. server.kicked.nameInUse = Sudah ada pemain dengan nama tersebut\ndi server ini.
server.kicked.nameEmpty = Nama yang dipilih tidak valid. server.kicked.nameEmpty = Nama yang dipilih tidak valid.
server.kicked.idInUse = Anda telah berada di server ini! Memasuki dengan dua akun tidak diizinkan. server.kicked.idInUse = Anda telah berada di server ini! Memasuki dengan dua akun tidak diizinkan.
server.kicked.customClient = Server ini tidak mendukung versi modifikasi. Unduh versi resmi. server.kicked.customClient = Server ini tidak mendukung versi modifikasi. Unduh versi resmi.
server.kicked.gameover = Permainan telah berakhir! server.kicked.gameover = Permainan telah berakhir!
server.kicked.serverRestarting = Server sedang mengulang kembali. server.kicked.serverRestarting = Server sedang mengulang kembali.
server.versions = Versi Anda:[accent] {0}[]\nVersi server:[accent] {1}[] server.versions = Versi Anda:[accent] {0}[]\nVersi server:[accent] {1}[]
host.info = Tombol [accent]host[] akan membuat server sementara di port [scarlet]6567[]. \nSemua orang yang memiliki [lightgray]Wi-Fi atau jaringan lokal[] akan bisa melihat server anda di daftar server mereka.\n\nJika Anda ingin pemain dari mana saja memasuki servermu dengan IP, dibutuhkan untuk melakukan [accent]port forwarding[].\n\n[lightgray]Diingat: Jika seseorang mengalami masalah memasuki permainan lokalmu, pastikan Anda telah mengizinkan Mindustry akses ke jaringan lokalmu di pengaturan firewall. host.info = Tombol [accent]host[] akan membuat server sementara di port [scarlet]6567[]. \nSemua orang yang memiliki [lightgray]Wi-Fi atau jaringan lokal[] akan bisa melihat server Anda di daftar server mereka.\n\nJika Anda ingin pemain dari mana saja memasuki server Anda dengan IP, [accent]port forwarding[] sangat diperlukan.\n\n[lightgray]Catatan: Jika seseorang mengalami masalah memasuki permainan lokal Anda, pastikan Anda telah mengizinkan Mindustry akses ke jaringan lokalmu di pengaturan firewall. Perlu diingat bahwa jaringan publik terkadang tidak mengizinkan pencarian server.
join.info = Disini, Anda bisa memasuki [accent]server IP[], atau menemukan [accent]server lokal[] untuk bermain bersama.\nLAN dan WAN mendukung permainan bersama.\n\n[lightgray]Ingat: Tidak ada daftar server global; jika anda ingin bergabung dengan seseorang memakai IP, Anda perlu menanyakan host tentang IP mereka. join.info = Disini, Anda bisa memasuki [accent]server IP[], atau menemukan [accent]server lokal[] untuk bermain bersama.\nLAN dan WAN mendukung permainan bersama.\n\n[lightgray]Jika Anda ingin bergabung dengan seseorang dengan IP, Anda perlu menanyakan host tentang IP mereka, yang dapat dicari dengan meng-google "my ip" melalui perangkat mereka.
hostserver = Host Permainan hostserver = Host Permainan
invitefriends = Undang Teman invitefriends = Undang Teman
hostserver.mobile = Host\nPermainan hostserver.mobile = Host\nPermainan
@@ -214,6 +215,7 @@ hosts.none = [lightgray]Tidak ditemukan game lokal!
host.invalid = [scarlet]Tidak bisa menyambung dengan pemilik. host.invalid = [scarlet]Tidak bisa menyambung dengan pemilik.
servers.local = Server Lokal servers.local = Server Lokal
servers.local.steam = Permainan Publik & Server Lokal
servers.remote = Server Jarak Jauh (Simpanan) servers.remote = Server Jarak Jauh (Simpanan)
servers.global = Server Komunitas servers.global = Server Komunitas
@@ -222,10 +224,10 @@ servers.showhidden = Tampilkan Server Tersembunyi
server.shown = Ditampilkan server.shown = Ditampilkan
server.hidden = Disembunyikan server.hidden = Disembunyikan
trace = Melacak Pemain trace = Lacak Pemain
trace.playername = Nama pemain: [accent]{0} trace.playername = Nama pemain: [accent]{0}
trace.ip = IP: [accent]{0} trace.ip = IP: [accent]{0}
trace.id = ID Unik: [accent]{0} trace.id = ID: [accent]{0}
trace.mobile = Client Mobile: [accent]{0} trace.mobile = Client Mobile: [accent]{0}
trace.modclient = Client Modifikasi: [accent]{0} trace.modclient = Client Modifikasi: [accent]{0}
trace.times.joined = Total Bergabung: [accent]{0} trace.times.joined = Total Bergabung: [accent]{0}
@@ -238,9 +240,9 @@ server.admins.none = Tidak ada admin!
server.add = Tambahkan Server server.add = Tambahkan Server
server.delete = Anda yakin ingin menghapus server ini? server.delete = Anda yakin ingin menghapus server ini?
server.edit = Sunting Server server.edit = Sunting Server
server.outdated = [crimson]Server Kadaluarsa![] server.outdated = [scarlet]Server Kadaluarsa![]
server.outdated.client = [crimson]Client Kadaluarsa![] server.outdated.client = [scarlet]Client Kadaluarsa![]
server.version = [lightgray]Versi: {0} {1} server.version = [gray]v{0} {1}
server.custombuild = [accent]Bentuk Modifikasi server.custombuild = [accent]Bentuk Modifikasi
confirmban = Anda yakin ingin melarang pemain ini untuk masuk lagi? confirmban = Anda yakin ingin melarang pemain ini untuk masuk lagi?
confirmkick = Anda yakin ingin mengeluarkan pemain ini? confirmkick = Anda yakin ingin mengeluarkan pemain ini?
@@ -353,12 +355,12 @@ map.publish.confirm = Apakah Anda yakin untuk menerbitkan peta ini?\n\n[lightgra
workshop.menu = Pilih apa yang Anda ingin lakukan dengan item ini. workshop.menu = Pilih apa yang Anda ingin lakukan dengan item ini.
workshop.info = Informasi item workshop.info = Informasi item
changelog = Catatan Pembaruan (opsional): changelog = Catatan Pembaruan (opsional):
eula = Steam EULA eula = EULA Steam
missing = Item ini telah dihapus atau dipindah.\n[lightgray]Daftar Workshop sekarang telah tidak terhubung secara otomatis. missing = Item ini telah dihapus atau dipindah.\n[lightgray]Daftar Workshop sekarang telah tidak terhubung secara otomatis.
publishing = [accent]Menerbitkan... publishing = [accent]Menerbitkan...
publish.confirm = Apakah Anda yakin untuk menerbitkan item ini?\n\n[lightgray]Pastikan Anda setuju dengan Workshop EULA terlebih dahulu, atau item Anda tidak akan muncul! publish.confirm = Apakah Anda yakin untuk menerbitkan item ini?\n\n[lightgray]Pastikan Anda setuju dengan EULA Workshop terlebih dahulu, atau item Anda tidak akan muncul!
publish.error = Terjadi kesalahan saat menerbitkan item: {0} publish.error = Terjadi kesalahan saat menerbitkan item: {0}
steam.error = Gagal untuk menginisialisasi layanan Steam.\nError: {0} steam.error = Gagal untuk menjalankan layanan Steam.\nKesalahan: {0}
editor.brush = Kuas editor.brush = Kuas
editor.openin = Buka di Penyunting editor.openin = Buka di Penyunting
@@ -464,7 +466,7 @@ filters.empty = [lightgray]Tidak ada filter! Tambahkan dengan tombol dibawah.
filter.distort = Kerusakkan filter.distort = Kerusakkan
filter.noise = Kebisingan filter.noise = Kebisingan
filter.enemyspawn = Pilih Munculnya Musuh filter.enemyspawn = Pilih Munculnya Musuh
filter.spawnpath = Path To Spawn filter.spawnpath = Jalur ke Titik Muncul
filter.corespawn = Pilih Inti filter.corespawn = Pilih Inti
filter.median = Median filter.median = Median
filter.oremedian = Median Bijih filter.oremedian = Median Bijih
@@ -522,8 +524,8 @@ mapeditor = Penyunting Peta
abandon = Tinggalkan abandon = Tinggalkan
abandon.text = Zona ini dan semua sumber daya didalamnya akan berada di tangan musuh. abandon.text = Zona ini dan semua sumber daya didalamnya akan berada di tangan musuh.
locked = Terkunci locked = Terkunci
complete = [lightgray]Mencapai: complete = [lightgray]Selesaikan:
requirement.wave = Capai gelombang {0} dalam {1} requirement.wave = Raih gelombang {0} dalam {1}
requirement.core = Hancurkan inti musuh dalam {0} requirement.core = Hancurkan inti musuh dalam {0}
requirement.research = Kembangkan {0} requirement.research = Kembangkan {0}
requirement.produce = Produksi {0} requirement.produce = Produksi {0}
@@ -541,7 +543,7 @@ addall = Tambah Semua
launch.from = Meluncurkan Dari: [accent]{0} launch.from = Meluncurkan Dari: [accent]{0}
launch.destination = Destinasi: {0} launch.destination = Destinasi: {0}
configure.invalid = Jumlah harus berupa angka diantara 0 dan {0}. configure.invalid = Jumlah harus berupa angka diantara 0 dan {0}.
add = Menambahkan... add = Tambahkan...
guardian = Penjaga guardian = Penjaga
connectfail = [scarlet]Gagal menyambung ke server:\n\n[accent]{0} connectfail = [scarlet]Gagal menyambung ke server:\n\n[accent]{0}
@@ -553,7 +555,7 @@ error.alreadyconnected = Sudah tersambung.
error.mapnotfound = File peta tidak ditemaukan! error.mapnotfound = File peta tidak ditemaukan!
error.io = Terjadi kesalahan jaringan I/O. error.io = Terjadi kesalahan jaringan I/O.
error.any = Terjadi kesalahan Jaringan tidak diketahui. error.any = Terjadi kesalahan Jaringan tidak diketahui.
error.bloom = Gagal untuk menginisialisasi bloom.\nPerangkat Anda mungkin tidak mendukung fitur ini. error.bloom = Gagal untuk menjalankan bloom.\nPerangkat Anda mungkin tidak mendukung fitur ini.
weather.rain.name = Hujan weather.rain.name = Hujan
weather.snow.name = Salju weather.snow.name = Salju
@@ -565,6 +567,7 @@ sectors.unexplored = [lightgray]Belum Ditelusuri
sectors.resources = Sumber Daya: sectors.resources = Sumber Daya:
sectors.production = Produksi: sectors.production = Produksi:
sectors.export = Ekspor: sectors.export = Ekspor:
sectors.import = Impor:
sectors.time = Waktu: sectors.time = Waktu:
sectors.threat = Tingkat: sectors.threat = Tingkat:
sectors.wave = Gelombang: sectors.wave = Gelombang:
@@ -672,7 +675,7 @@ unsupported.environment = [scarlet]Ruang Lingkup Tidak Cocok
yes = Ya yes = Ya
no = Tidak no = Tidak
info.title = Info info.title = Info
error.title = [crimson]Sebuah kesalahan telah terjadi error.title = [scarlet]Sebuah kesalahan telah terjadi
error.crashtitle = Sebuah kesalahan telah terjadi error.crashtitle = Sebuah kesalahan telah terjadi
unit.nobuild = [scarlet]Unit tidak dapat membangun unit.nobuild = [scarlet]Unit tidak dapat membangun
lastaccessed = [lightgray]Terakhir Diakses: {0} lastaccessed = [lightgray]Terakhir Diakses: {0}
@@ -806,6 +809,7 @@ bullet.reload = [stat]{0}[lightgray]x laju tembakan
unit.blocks = blok unit.blocks = blok
unit.blockssquared = blok² unit.blockssquared = blok²
unit.powersecond = unit tenaga/detik unit.powersecond = unit tenaga/detik
unit.tilessecond = petak/detik
unit.liquidsecond = unit zat cair/detik unit.liquidsecond = unit zat cair/detik
unit.itemssecond = bahan/detik unit.itemssecond = bahan/detik
unit.liquidunits = unit zat cair unit.liquidunits = unit zat cair
@@ -831,29 +835,29 @@ category.items = Barang
category.crafting = Pemasukan/Pengeluaran category.crafting = Pemasukan/Pengeluaran
category.function = Fungsi category.function = Fungsi
category.optional = Peningkatan Opsional category.optional = Peningkatan Opsional
setting.skipcoreanimation.name = Lewati Animasi Peluncuran/Pendaratan Inti
setting.landscape.name = Kunci Pemandangan setting.landscape.name = Kunci Pemandangan
setting.shadows.name = Bayangan setting.shadows.name = Bayangan
setting.blockreplace.name = Usulan Blok Otomatis setting.blockreplace.name = Usulan Blok Otomatis
setting.linear.name = Filter Bergaris setting.linear.name = Filter Bergaris
setting.hints.name = Petunjuk setting.hints.name = Petunjuk
setting.logichints.name = Petunjuk Logika setting.logichints.name = Petunjuk Logika
setting.flow.name = Tampilan Laju Aliran Sumber Daya
setting.backgroundpause.name = Jeda di Latar setting.backgroundpause.name = Jeda di Latar
setting.buildautopause.name = Jeda Otomatis saat Membangun setting.buildautopause.name = Jeda Otomatis saat Membangun
setting.doubletapmine.name = Dua-kali Sentuh untuk Menambang setting.doubletapmine.name = Dua-kali Sentuh untuk Menambang
setting.modcrashdisable.name = Matikan Mod Ketika Ada Masalah Saat Memulai Permainan setting.modcrashdisable.name = Matikan Mod Ketika Ada Masalah Saat Memulai Permainan
setting.animatedwater.name = Animasi Perairan setting.animatedwater.name = Animasi Perairan
setting.animatedshields.name = Animasi Perisai setting.animatedshields.name = Animasi Perisai
setting.antialias.name = Antialiasi[lightgray] (membutuhkan restart)[]
setting.playerindicators.name = Indikasi Pemain setting.playerindicators.name = Indikasi Pemain
setting.indicators.name = Indikasi Musuh/Teman Lain setting.indicators.name = Indikasi Musuh/Teman Lain
setting.autotarget.name = Target Secara Otomatis setting.autotarget.name = Target Secara Otomatis
setting.keyboard.name = Kontrol Mouse+Papan Ketik setting.keyboard.name = Kontrol Mouse+Papan Ketik
setting.touchscreen.name = Kontrol Layar Sentuh setting.touchscreen.name = Kontrol Layar Sentuh
setting.fpscap.name = Pembatasan FPS setting.fpscap.name = Batas FPS
setting.fpscap.none = Tidak Ada setting.fpscap.none = Tidak Ada
setting.fpscap.text = {0} FPS setting.fpscap.text = {0} FPS
setting.uiscale.name = Skala UI[lightgray] (butuh untuk mengulang game)[] setting.uiscale.name = Skala UI
setting.uiscale.description = Mulai ulang diperlukan untuk menerapkan perubahan.
setting.swapdiagonal.name = Selalu Penaruhan Diagonal setting.swapdiagonal.name = Selalu Penaruhan Diagonal
setting.difficulty.training = Latihan setting.difficulty.training = Latihan
setting.difficulty.easy = Mudah setting.difficulty.easy = Mudah
@@ -871,7 +875,8 @@ setting.saveinterval.name = Jarak Menyimpan
setting.seconds = {0} detik setting.seconds = {0} detik
setting.milliseconds = {0} milidetik setting.milliseconds = {0} milidetik
setting.fullscreen.name = Layar Penuh setting.fullscreen.name = Layar Penuh
setting.borderlesswindow.name = Jendela tak Berbatas[lightgray] (mungkin memerlukan mengulang kembali) setting.borderlesswindow.name = Jendela tak Berbatas[lightgray]
setting.borderlesswindow.description = Mulai ulang mungkin diperlukan untuk menerapkan perubahan.
setting.fps.name = Tunjukkan FPS setting.fps.name = Tunjukkan FPS
setting.smoothcamera.name = Kamera Halus setting.smoothcamera.name = Kamera Halus
setting.vsync.name = VSync setting.vsync.name = VSync
@@ -901,7 +906,7 @@ uiscale.reset = Skala UI telah diubah.\nTekan "OK" untuk mengonfirmasi.\n[scarle
uiscale.cancel = Batal & Keluar uiscale.cancel = Batal & Keluar
setting.bloom.name = Bloom setting.bloom.name = Bloom
keybind.title = Ganti Tombol keybind.title = Ganti Tombol
keybinds.mobile = [scarlet]Mayoritas tombol tidak didukung oleh perangkat ponsel Hanya gerakan dasar yang didukung. keybinds.mobile = [scarlet]Mayoritas tombol tidak didukung oleh perangkat ponsel. Hanya gerakan dasar yang didukung.
category.general.name = Umum category.general.name = Umum
category.view.name = Melihat category.view.name = Melihat
category.multiplayer.name = Bermain Bersama category.multiplayer.name = Bermain Bersama
@@ -994,6 +999,7 @@ rules.wavetimer = Pengaturan Waktu Gelombang
rules.waves = Gelombang rules.waves = Gelombang
rules.attack = Mode Penyerangan rules.attack = Mode Penyerangan
rules.buildai = Bangunan A.I. rules.buildai = Bangunan A.I.
rules.cleanupdeadteams = Bersihkan Bangunan Tim yang Kalah (PvP)
rules.corecapture = Tangkap Inti Saat Kehancuran rules.corecapture = Tangkap Inti Saat Kehancuran
rules.polygoncoreprotection = Poligon Pelindung Inti rules.polygoncoreprotection = Poligon Pelindung Inti
rules.enemyCheat = Sumber Daya A.I. Musuh (Tim Merah) Tak Terbatas rules.enemyCheat = Sumber Daya A.I. Musuh (Tim Merah) Tak Terbatas
@@ -1009,7 +1015,7 @@ rules.wavespacing = Jarak Gelombang:[lightgray] (detik)
rules.buildcostmultiplier = Penggandaan Harga Bangunan rules.buildcostmultiplier = Penggandaan Harga Bangunan
rules.buildspeedmultiplier = Penggandaan Waktu Pembuatan Bangunan rules.buildspeedmultiplier = Penggandaan Waktu Pembuatan Bangunan
rules.deconstructrefundmultiplier = Penggandaan Kembalinya Bahan Bangunan yang Dihancurkan rules.deconstructrefundmultiplier = Penggandaan Kembalinya Bahan Bangunan yang Dihancurkan
rules.waitForWaveToEnd = Gelombang menunggu musuh rules.waitForWaveToEnd = Gelombang Menunggu Musuh
rules.dropzoneradius = Radius Titik Muncul:[lightgray] (Blok) rules.dropzoneradius = Radius Titik Muncul:[lightgray] (Blok)
rules.unitammo = Unit Membutuhkan Amunisi rules.unitammo = Unit Membutuhkan Amunisi
rules.title.waves = Gelombang rules.title.waves = Gelombang
@@ -1102,7 +1108,7 @@ block.cliff.name = Cliff
block.sand-boulder.name = Batu Pasir Besar block.sand-boulder.name = Batu Pasir Besar
block.basalt-boulder.name = Batu Basal Besar block.basalt-boulder.name = Batu Basal Besar
block.grass.name = Rumput block.grass.name = Rumput
block.slag.name = Lahar block.molten-slag.name = Lahar
block.space.name = Luar Angkasa block.space.name = Luar Angkasa
block.salt.name = Garam block.salt.name = Garam
block.salt-wall.name = Bukit Garam block.salt-wall.name = Bukit Garam
@@ -1133,8 +1139,8 @@ block.spawn.name = Muncul Musuh
block.core-shard.name = Inti: Bagian block.core-shard.name = Inti: Bagian
block.core-foundation.name = Inti: Pondasi block.core-foundation.name = Inti: Pondasi
block.core-nucleus.name = Inti: Nukleus block.core-nucleus.name = Inti: Nukleus
block.deepwater.name = Air Dalam block.deep-water.name = Air Dalam
block.water.name = Air block.shallow-water.name = Air
block.tainted-water.name = Air Ternoda block.tainted-water.name = Air Ternoda
block.darksand-tainted-water.name = Air Ternodai Pasir Hitam block.darksand-tainted-water.name = Air Ternodai Pasir Hitam
block.tar.name = Minyak Mentah block.tar.name = Minyak Mentah
@@ -1143,7 +1149,7 @@ block.sand.name = Pasir
block.darksand.name = Pasir Hitam block.darksand.name = Pasir Hitam
block.ice.name = Es block.ice.name = Es
block.snow.name = Salju block.snow.name = Salju
block.craters.name = Kawah block.crater-stone.name = Kawah
block.sand-water.name = Air Pasir block.sand-water.name = Air Pasir
block.darksand-water.name = Air Pasir Hitam block.darksand-water.name = Air Pasir Hitam
block.char.name = Bara block.char.name = Bara
@@ -1288,7 +1294,6 @@ block.meltdown.name = Meltdown
block.foreshadow.name = Foreshadow block.foreshadow.name = Foreshadow
block.container.name = Kontainer block.container.name = Kontainer
block.launch-pad.name = Alas Peluncur block.launch-pad.name = Alas Peluncur
block.launch-pad-large.name = Alas Peluncur Besar
block.segment.name = Segment block.segment.name = Segment
block.command-center.name = Pusat Perintah block.command-center.name = Pusat Perintah
block.ground-factory.name = Pabrik Unit Darat block.ground-factory.name = Pabrik Unit Darat
@@ -1309,11 +1314,11 @@ block.payload-source.name = Sumber Muatan
block.disassembler.name = Pembongkar block.disassembler.name = Pembongkar
block.silicon-crucible.name = Pelebur Raksasa block.silicon-crucible.name = Pelebur Raksasa
block.overdrive-dome.name = Kubah Projektor Pemercepat block.overdrive-dome.name = Kubah Projektor Pemercepat
block.interplanetary-accelerator.name = Akselerator Antarplanet
#experimental, may be removed #experimental, may be removed
block.block-forge.name = Pemadu Blok block.block-forge.name = Pemadu Blok
block.block-loader.name = Pemuat Blok block.block-loader.name = Pemuat Blok
block.block-unloader.name = Pembongkar Blok block.block-unloader.name = Pembongkar Blok
block.interplanetary-accelerator.name = Akselerator Antarplanet
block.switch.name = Saklar block.switch.name = Saklar
block.micro-processor.name = Prosesor Mikro block.micro-processor.name = Prosesor Mikro
@@ -1348,6 +1353,7 @@ hint.placeTurret = Taruh \uf861 [accent]Menara[] untuk mempertahankan basismu da
hint.breaking = [accent]Klik kanan[] dan tarik untuk menghancurkan blok. hint.breaking = [accent]Klik kanan[] dan tarik untuk menghancurkan blok.
hint.breaking.mobile = Aktifkan \ue817 [accent]palu[] di kanan bawah dan tekan untuk menghancurkan blok.\n\nTahan jari kamu sebentar dan seret untuk menghancurkannya. hint.breaking.mobile = Aktifkan \ue817 [accent]palu[] di kanan bawah dan tekan untuk menghancurkan blok.\n\nTahan jari kamu sebentar dan seret untuk menghancurkannya.
hint.blockInfo = Lihat informasi dari sebuah blok dengan memilihnya di [accent]menu bangun[], lalu pilih tombol [accent][[?][] di sebelah kanan. hint.blockInfo = Lihat informasi dari sebuah blok dengan memilihnya di [accent]menu bangun[], lalu pilih tombol [accent][[?][] di sebelah kanan.
hint.derelict = Bangunan berwarna [accent]abu-abu[] adalah sisa-sisa dari markas lama yang hancur dan tidak dapat berfungsi kembali.\n\nBangunan tersebut dapat [accent]didekonstruksi[] menjadi sumber daya.
hint.research = Gunakan tombol \ue875 [accent]Riset[] untuk mempelajari teknologi baru. hint.research = Gunakan tombol \ue875 [accent]Riset[] untuk mempelajari teknologi baru.
hint.research.mobile = Gunakan tombol \ue875 [accent]Riset[] di \ue88c [accent]Menu[] untuk mempelajari teknologi baru. hint.research.mobile = Gunakan tombol \ue875 [accent]Riset[] di \ue88c [accent]Menu[] untuk mempelajari teknologi baru.
hint.unitControl = Tahan [accent][[L-ctrl][] dan [accent]klik[] untuk mengendalikan unit atau turret teman. hint.unitControl = Tahan [accent][[L-ctrl][] dan [accent]klik[] untuk mengendalikan unit atau turret teman.
@@ -1399,6 +1405,7 @@ liquid.slag.description = Dapat dipadatkan menjadi logam tertentu, atau disempro
liquid.oil.description = Digunakan di produksi material lanjutan dan sebagai amunisi yang mudah terbakar. liquid.oil.description = Digunakan di produksi material lanjutan dan sebagai amunisi yang mudah terbakar.
liquid.cryofluid.description = Digunakan sebagai pendingin di reaktor, menara, dan pabrik. liquid.cryofluid.description = Digunakan sebagai pendingin di reaktor, menara, dan pabrik.
block.derelict = [lightgray] Derelik
block.resupply-point.description = Mengisi ulang amunisi unit terdekat dengan tembaga. Tidak dapat mengisi ulang unit yang menggunakan tenaga baterai. block.resupply-point.description = Mengisi ulang amunisi unit terdekat dengan tembaga. Tidak dapat mengisi ulang unit yang menggunakan tenaga baterai.
block.armored-conveyor.description = Memindahkan barang ke depan. Tidak dapat menerima masukan dari samping. block.armored-conveyor.description = Memindahkan barang ke depan. Tidak dapat menerima masukan dari samping.
block.illuminator.description = Memancarkan cahaya. block.illuminator.description = Memancarkan cahaya.
@@ -1543,6 +1550,8 @@ block.memory-bank.description = Menyimpan informasi untuk prosesor. Berkapasitas
block.logic-display.description = Menampilkan grafik sembarang dari prosesor. block.logic-display.description = Menampilkan grafik sembarang dari prosesor.
block.large-logic-display.description = Menampilkan grafik sembarang dari prosesor. Lebih besar. block.large-logic-display.description = Menampilkan grafik sembarang dari prosesor. Lebih besar.
block.interplanetary-accelerator.description = Sebuah menara railgun elektromagnetik raksasa. Meluncurkan Inti dengan kecepatan tinggi untuk peluncuran antarplanet. block.interplanetary-accelerator.description = Sebuah menara railgun elektromagnetik raksasa. Meluncurkan Inti dengan kecepatan tinggi untuk peluncuran antarplanet.
block.repair-turret.description = Memperbaiki unit terdekat yang sekarat dalam jangkauan secara terus-menerus. Dapat menerima pendingin.
block.payload-propulsion-tower.description = Bangunan transportasi muatan jarak jauh. Menembakkan muatan pada menara penggerak muatan lainnya yang terhubung.
unit.dagger.description = Menembak musuh terdekat dengan amunisi standar. unit.dagger.description = Menembak musuh terdekat dengan amunisi standar.
unit.mace.description = Menyerang musuh terdekat dengan cara membakarnya. unit.mace.description = Menyerang musuh terdekat dengan cara membakarnya.
@@ -1552,7 +1561,7 @@ unit.reign.description = Menembak semua musuh terdekat dengan gugusan peluru taj
unit.nova.description = Menembak baut laser yang dapat merusak musuh dan memperbaiki bangunan teman. Dapat terbang. unit.nova.description = Menembak baut laser yang dapat merusak musuh dan memperbaiki bangunan teman. Dapat terbang.
unit.pulsar.description = Menembak petir yang dapat merusak musuh dan memperbaiki bangunan teman. Dapat terbang. unit.pulsar.description = Menembak petir yang dapat merusak musuh dan memperbaiki bangunan teman. Dapat terbang.
unit.quasar.description = Menembak sinar laser yang dapat menembus bangunan yang dapat merusak musuh dan memperbaiki bangunan teman. Dapat terbang. Memiliki perisai. unit.quasar.description = Menembak sinar laser yang dapat menembus bangunan yang dapat merusak musuh dan memperbaiki bangunan teman. Dapat terbang. Memiliki perisai.
unit.vela.description = Menembak sinar laser besar dan kontinu yang dapat merusak musuh, membakarnya dan memperbaiki bangunan musuh. Dapat terbang. unit.vela.description = Menembak sinar laser besar dan kontinu yang dapat merusak musuh, membakarnya dan memperbaiki bangunan teman. Dapat terbang.
unit.corvus.description = Menembak sinar laser besar yang dapat merusak musuh dan memperbaiki bangunan teman. Dapat berjalan diatas hampir semua medan. unit.corvus.description = Menembak sinar laser besar yang dapat merusak musuh dan memperbaiki bangunan teman. Dapat berjalan diatas hampir semua medan.
unit.crawler.description = Berlari menuju musuh dan menghancurkan dirinya, yang dapat menghasilkan ledakan besar. unit.crawler.description = Berlari menuju musuh dan menghancurkan dirinya, yang dapat menghasilkan ledakan besar.
unit.atrax.description = Menembak musuh dengan cairan lava kepada target darat. Dapat berjalan diatas hampir semua medan. unit.atrax.description = Menembak musuh dengan cairan lava kepada target darat. Dapat berjalan diatas hampir semua medan.
@@ -1577,6 +1586,11 @@ unit.omura.description = Menembak railgun jarak jauh kepada musuh. Dapat memprod
unit.alpha.description = Melindungi Inti Bagian dari musuh. Dapat membangun. unit.alpha.description = Melindungi Inti Bagian dari musuh. Dapat membangun.
unit.beta.description = Melindungi Inti Fondasi dari musuh. Dapat membangun. unit.beta.description = Melindungi Inti Fondasi dari musuh. Dapat membangun.
unit.gamma.description = Melindungi Inti Nukleus dari musuh. Dapat membangun. unit.gamma.description = Melindungi Inti Nukleus dari musuh. Dapat membangun.
unit.retusa.description = Menempatkan ranjau berjarak. Memperbaiki unit teman.
unit.oxynoe.description = Menembak aliran api pada musuh terdekat. Menargetkan proyektil musuh terdekat dengan titik menara pertahanan.
unit.cyerce.description = Menembak misil yang membidik otomatis secara beruntun pada musuh. Memperbaiki unit teman.
unit.aegires.description = Mengkejutkan semua bangunan dan unit musuh yang ada di dalam medan energi. Memperbaiki seluruh unit teman.
unit.navanax.description = Menembak proyektil elektromagnetik yang meledak, memberikan kerusakan yang signifikan pada jaringan tenaga musuh dan memperbaiki bangunan teman. Melelehkan musuh terdekat dengan 4 menara laser secara otomatis.
lst.read = Membaca angka dari memori sel yang dihubungkan. lst.read = Membaca angka dari memori sel yang dihubungkan.
lst.write = Menulis angka ke memori sel yang dihubungkan. lst.write = Menulis angka ke memori sel yang dihubungkan.

View File

@@ -1024,7 +1024,7 @@ block.cliff.name = Scogliera
block.sand-boulder.name = Masso di Sabbia block.sand-boulder.name = Masso di Sabbia
block.basalt-boulder.name = Masso di Basalto block.basalt-boulder.name = Masso di Basalto
block.grass.name = Erba block.grass.name = Erba
block.slag.name = Scoria block.molten-slag.name = Scoria
block.space.name = Spazio block.space.name = Spazio
block.salt.name = Sale block.salt.name = Sale
block.salt-wall.name = Muro di Sale block.salt-wall.name = Muro di Sale
@@ -1055,8 +1055,8 @@ block.spawn.name = Punto di Generazione Nemico
block.core-shard.name = Nucleo: Frammento block.core-shard.name = Nucleo: Frammento
block.core-foundation.name = Nucleo: Fondamento block.core-foundation.name = Nucleo: Fondamento
block.core-nucleus.name = Nucleo: Kernel block.core-nucleus.name = Nucleo: Kernel
block.deepwater.name = Acqua Profonda block.deep-water.name = Acqua Profonda
block.water.name = Acqua block.shallow-water.name = Acqua
block.tainted-water.name = Acqua Contaminata block.tainted-water.name = Acqua Contaminata
block.darksand-tainted-water.name = Acqua Contaminata Scura block.darksand-tainted-water.name = Acqua Contaminata Scura
block.tar.name = Catrame block.tar.name = Catrame
@@ -1065,7 +1065,7 @@ block.sand.name = Sabbia
block.darksand.name = Sabbia Scura block.darksand.name = Sabbia Scura
block.ice.name = Ghiaccio block.ice.name = Ghiaccio
block.snow.name = Neve block.snow.name = Neve
block.craters.name = Crateri block.crater-stone.name = Crateri
block.sand-water.name = Acqua Sabbiosa block.sand-water.name = Acqua Sabbiosa
block.darksand-water.name = Acqua Sabbiosa Scura block.darksand-water.name = Acqua Sabbiosa Scura
block.char.name = Carbone block.char.name = Carbone

View File

@@ -1037,7 +1037,7 @@ block.cliff.name = 崖
block.sand-boulder.name = 巨大な礫 block.sand-boulder.name = 巨大な礫
block.basalt-boulder.name = 玄武岩の礫 block.basalt-boulder.name = 玄武岩の礫
block.grass.name = block.grass.name =
block.slag.name = スラグ block.molten-slag.name = スラグ
block.space.name = Space block.space.name = Space
block.salt.name = 岩塩氷河 block.salt.name = 岩塩氷河
block.salt-wall.name = 塩の壁 block.salt-wall.name = 塩の壁
@@ -1068,8 +1068,8 @@ block.spawn.name = 敵の出現場所
block.core-shard.name = コア: シャード block.core-shard.name = コア: シャード
block.core-foundation.name = コア: ファンデーション block.core-foundation.name = コア: ファンデーション
block.core-nucleus.name = コア: ニュークリアス block.core-nucleus.name = コア: ニュークリアス
block.deepwater.name = 深層水 block.deep-water.name = 深層水
block.water.name = block.shallow-water.name =
block.tainted-water.name = 汚れた水 block.tainted-water.name = 汚れた水
block.darksand-tainted-water.name = 黒い砂で汚れた水 block.darksand-tainted-water.name = 黒い砂で汚れた水
block.tar.name = タール block.tar.name = タール
@@ -1078,7 +1078,7 @@ block.sand.name = 砂
block.darksand.name = 黒い砂 block.darksand.name = 黒い砂
block.ice.name = block.ice.name =
block.snow.name = block.snow.name =
block.craters.name = クレーター block.crater-stone.name = クレーター
block.sand-water.name = 濁った水 block.sand-water.name = 濁った水
block.darksand-water.name = 黒い砂で濁った水 block.darksand-water.name = 黒い砂で濁った水
block.char.name = 焦げ跡 block.char.name = 焦げ跡

View File

@@ -37,15 +37,15 @@ load.scripts = 스크립트
be.update = 새로운 Bleeding Edge 버전 사용 가능: be.update = 새로운 Bleeding Edge 버전 사용 가능:
be.update.confirm = 지금 내려받고 다시 시작하시겠습니까? be.update.confirm = 지금 내려받고 다시 시작하시겠습니까?
be.updating = 업데이트 중…. be.updating = 업데이트 중….
be.ignore = 무시 be.ignore = 무시하기
be.noupdates = 업데이트가 없습니다. be.noupdates = 업데이트가 없습니다.
be.check = 업데이트 확인 be.check = 업데이트 확인하기
mods.browser = 모드 탐색기 mods.browser = 모드 탐색기
mods.browser.selected = 선택된 모드 mods.browser.selected = 선택된 모드
mods.browser.add = 설치 mods.browser.add = 설치
mods.browser.reinstall = 재설치 mods.browser.reinstall = 재설치
mods.github.open = 레포지토리 보기 mods.github.open = 저장소 보기
mods.browser.sortdate = 최근 업데이트 mods.browser.sortdate = 최근 업데이트
mods.browser.sortstars = 추천(스타) 수 mods.browser.sortstars = 추천(스타) 수
@@ -92,7 +92,7 @@ level.highscore = 최고 점수: [accent]{0}
level.select = 맵 선택 level.select = 맵 선택
level.mode = 게임 모드: level.mode = 게임 모드:
coreattack = < 코어가 공격을 받고 있습니다! > coreattack = < 코어가 공격을 받고 있습니다! >
nearpoint = [[ [scarlet]즉시 적 소환구역에서 떠나십시오[] ]\n단계가 시작하는 순간 인근 건물들과 유닛들이 소멸합니다! nearpoint = [[ [scarlet]즉시 적 소환구역에서 떠나십시오[] ]\n단계가 시작하는 순간 인근 건물들과 유닛들이 파괴됩니다!
database = 코어 데이터베이스 database = 코어 데이터베이스
savegame = 게임 저장 savegame = 게임 저장
loadgame = 게임 불러오기 loadgame = 게임 불러오기
@@ -122,6 +122,7 @@ committingchanges = 바뀐 점 적용
done = 완료 done = 완료
feature.unsupported = 기기가 이 기능을 지원하지 않습니다. feature.unsupported = 기기가 이 기능을 지원하지 않습니다.
mods.initfailed = [red]⚠[]이전 민더스트리 실행과정에서 모드를 초기화하지 못했습니다. 잘못된 모드로 인해 발생한 것일 수 있습니다.\n\n 게임 충돌 무한반복을 막기 위해, [red]모든 모드가 비활성화되었습니다.[]\n\n이 시스템을 비활성화하려면, [accent]설정->게임->로딩 중 충돌 시 모드 비활성화[]설정을 끄세요.
mods = 모드 mods = 모드
mods.none = [lightgray]모드를 찾을 수 없습니다! mods.none = [lightgray]모드를 찾을 수 없습니다!
mods.guide = 모드 제작 가이드 mods.guide = 모드 제작 가이드
@@ -139,7 +140,7 @@ mod.disable = 비활성화
mod.content = 콘텐츠: mod.content = 콘텐츠:
mod.delete.error = 모드를 삭제할 수 없습니다. 파일이 사용 중일 수 있습니다. mod.delete.error = 모드를 삭제할 수 없습니다. 파일이 사용 중일 수 있습니다.
mod.requiresversion = [scarlet]필요한 최소 게임 버전: [accent]{0} mod.requiresversion = [scarlet]필요한 최소 게임 버전: [accent]{0}
mod.outdated = [scarlet]V6 버전과 호환되지 않음 (minGameVersion: 105 이상이 아님) mod.outdated = [scarlet]6.0 버전과 호환되지 않음 (minGameVersion: 105 이상이 아님)
mod.missingdependencies = [scarlet]누락된 필요 모드: {0} mod.missingdependencies = [scarlet]누락된 필요 모드: {0}
mod.erroredcontent = [scarlet]콘텐츠 오류 mod.erroredcontent = [scarlet]콘텐츠 오류
mod.errors = 콘텐츠를 불러오는 중에 오류가 발생함. mod.errors = 콘텐츠를 불러오는 중에 오류가 발생함.
@@ -214,6 +215,7 @@ hosts.none = [lightgray]LAN 게임을 찾을 수 없습니다!
host.invalid = [scarlet]서버에 연결할 수 없습니다! host.invalid = [scarlet]서버에 연결할 수 없습니다!
servers.local = 로컬 서버 servers.local = 로컬 서버
servers.local.steam = 공개 서버 & 로컬 서버
servers.remote = 원격 서버 servers.remote = 원격 서버
servers.global = 커뮤니티 서버 servers.global = 커뮤니티 서버
@@ -315,7 +317,7 @@ data.invalid = 유효한 게임 데이터가 아닙니다.
data.import.confirm = 외부 데이터를 가져오면 현재 게임 데이터를 [scarlet]모두[] 덮어쓰게 됩니다.\n[accent]이 작업은 취소할 수 없습니다![]\n\n데이터를 가져오면 게임이 즉시 종료됩니다. data.import.confirm = 외부 데이터를 가져오면 현재 게임 데이터를 [scarlet]모두[] 덮어쓰게 됩니다.\n[accent]이 작업은 취소할 수 없습니다![]\n\n데이터를 가져오면 게임이 즉시 종료됩니다.
quit.confirm = 정말로 종료하시겠습니까? quit.confirm = 정말로 종료하시겠습니까?
loading = [accent]불러오는중... loading = [accent]불러오는중...
reloading = [accent]모드 새로고침하는중... downloading = [accent]다운로드중...
saving = [accent]저장중... saving = [accent]저장중...
respawn = [accent][[{0}][] 키를 눌러 코어에서 부활 respawn = [accent][[{0}][] 키를 눌러 코어에서 부활
cancelbuilding = [accent][[{0}][] 키를 눌러 건설 계획을 초기화 cancelbuilding = [accent][[{0}][] 키를 눌러 건설 계획을 초기화
@@ -343,9 +345,9 @@ custom = 사용자 정의
builtin = 내장 builtin = 내장
map.delete.confirm = 정말로 이 맵을 삭제하시겠습니까? 이 명령은 취소할 수 없습니다! map.delete.confirm = 정말로 이 맵을 삭제하시겠습니까? 이 명령은 취소할 수 없습니다!
map.random = [accent]무작위 맵 map.random = [accent]무작위 맵
map.nospawn = 이 맵에 플레이어가 생성될 코어가 없습니다! 편집기에서 [accent]주황색[] 코어를 맵에 추가하세요. map.nospawn = 이 맵에 플레이어가 생성될 코어가 없습니다! 편집기에서 [#{0}]{1}[] 코어를 맵에 추가하세요.
map.nospawn.pvp = 이 맵에는 적 플레이어가 생성될 코어가 없습니다! 편집기에서 [royal]주황색 팀이 아닌[] 코어를 추가하세요. map.nospawn.pvp = 이 맵에는 적 플레이어가 생성될 코어가 없습니다! 편집기에서 [royal]주황색 팀이 아닌[] 코어를 추가하세요.
map.nospawn.attack = 이 맵에는 플레이어가 공격할 수 있는 적 코어가 없습니다! 편집기에서 [royal]빨간색[] 코어들을 맵에 추가하세요. map.nospawn.attack = 이 맵에는 플레이어가 공격할 수 있는 적 코어가 없습니다! 편집기에서 [#{0}]{1}[] 코어들을 맵에 추가하세요.
map.invalid = 맵 로드 오류: 맵 파일이 손상되었거나 잘못된 파일입니다. map.invalid = 맵 로드 오류: 맵 파일이 손상되었거나 잘못된 파일입니다.
workshop.update = 아이템 업데이트 workshop.update = 아이템 업데이트
workshop.error = 창작마당 세부 사항을 가져오는 중 오류가 발생했습니다: {0} workshop.error = 창작마당 세부 사항을 가져오는 중 오류가 발생했습니다: {0}
@@ -522,7 +524,7 @@ mapeditor = 맵 편집기
abandon = 포기하기 abandon = 포기하기
abandon.text = 이 지역과 모든 자원이 적에게 넘어갑니다. abandon.text = 이 지역과 모든 자원이 적에게 넘어갑니다.
locked = 잠김 locked = 잠김
complete = [lightgray]해금 조건 : complete = [lightgray]해금 조건:
requirement.wave = {1} 지역에서 {0}단계 달성 requirement.wave = {1} 지역에서 {0}단계 달성
requirement.core = {0} 지역에서 적 코어를 파괴 requirement.core = {0} 지역에서 적 코어를 파괴
requirement.research = {0} 연구 requirement.research = {0} 연구
@@ -537,14 +539,15 @@ configure = 초기자원 설정
loadout = 출격 loadout = 출격
resources = 자원 resources = 자원
bannedblocks = 금지된 블록들 bannedblocks = 금지된 블록들
bannedunits = 금지된 유닛들
addall = 모두 추가 addall = 모두 추가
launch.from = 출격 출발지 : [accent]{0} launch.from = 출격 출발지: [accent]{0}[]
launch.destination = 목적지: {0} launch.destination = 목적지: {0}
configure.invalid = 해당 값은 0에서 {0} 사이의 숫자여야 합니다. configure.invalid = 해당 값은 0에서 {0} 사이의 숫자여야 합니다.
add = 추가... add = 추가...
guardian = 수호자 guardian = 수호자
connectfail = [scarlet]연결 오류:\n\n[accent]{0} connectfail = [scarlet]연결 오류:[]\n\n[][accent]{0}[]
error.unreachable = 서버에 연결하지 못했습니다.\n서버 주소가 정확히 입력되었나요? error.unreachable = 서버에 연결하지 못했습니다.\n서버 주소가 정확히 입력되었나요?
error.invalidaddress = 잘못된 주소입니다. error.invalidaddress = 잘못된 주소입니다.
error.timedout = 시간 초과!\n서버에 포트 포워딩이 설정되어 있고 주소가 올바른지 확인하세요. error.timedout = 시간 초과!\n서버에 포트 포워딩이 설정되어 있고 주소가 올바른지 확인하세요.
@@ -561,7 +564,9 @@ weather.sandstorm.name = 모래 폭풍
weather.sporestorm.name = 포자 폭풍 weather.sporestorm.name = 포자 폭풍
weather.fog.name = 안개 weather.fog.name = 안개
sectors.unexplored = [lightgray]미개척지 sectorlist = 지역 목록
sectorlist.attacked = {0} 공격받는 중
sectors.unexplored = [lightgray]미개척지[]
sectors.resources = 자원: sectors.resources = 자원:
sectors.production = 생산량: sectors.production = 생산량:
sectors.export = 수출량: sectors.export = 수출량:
@@ -573,20 +578,20 @@ sectors.stored = 저장량:
sectors.resume = 재개 sectors.resume = 재개
sectors.launch = 출격 sectors.launch = 출격
sectors.select = 선택 sectors.select = 선택
sectors.nonelaunch = [lightgray]없음 (sun) sectors.nonelaunch = [lightgray]없음 (sun)[]
sectors.rename = 지역 이름 변경 sectors.rename = 지역 이름 변경하기
sectors.enemybase = [scarlet]적 기지 sectors.enemybase = [scarlet]적 기지[]
sectors.vulnerable = [scarlet]취약함 sectors.vulnerable = [scarlet]취약함[]
sectors.underattack = [scarlet]공격받고 있습니다! [accent]{0}% 손상됨. sectors.underattack = [scarlet]공격받고 있습니다! [accent]{0}% 손상됨[][]
sectors.survives = [accent]{0} 단계 이상 버티세요. sectors.survives = [accent]{0} 단계 이상 버티세요.[]
sectors.go =진입 sectors.go =진입
sector.curcapture = 지역 점령됨 sector.curcapture = 지역 점령됨
sector.curlost = 지역 잃음 sector.curlost = 지역 잃음
sector.missingresources = [scarlet]자원 부족 sector.missingresources = [scarlet]자원 부족[]
sector.attacked = [accent]{0}[white] 지역이 공격받고 있습니다! sector.attacked = [accent]{0}[white] 지역이 공격받고 있습니다![]
sector.lost = [accent]{0}[white] 지역을 잃었습니다! sector.lost = [accent]{0}[white] 지역을 잃었습니다![]
#note: the missing space in the line below is intentional #note: the missing space in the line below is intentional
sector.captured = [accent]{0}[white] 지역을 점령했습니다! sector.captured = [accent]{0}[white] 지역을 점령했습니다![]
sector.changeicon = 아이콘 바꾸기 sector.changeicon = 아이콘 바꾸기
threat.low = 낮음 threat.low = 낮음
@@ -659,25 +664,25 @@ settings.sound = 소리
settings.graphics = 그래픽 settings.graphics = 그래픽
settings.cleardata = 게임 데이터 초기화 settings.cleardata = 게임 데이터 초기화
settings.clear.confirm = 정말로 이 데이터를 지우시겠습니까?\n되돌릴 수 없습니다! settings.clear.confirm = 정말로 이 데이터를 지우시겠습니까?\n되돌릴 수 없습니다!
settings.clearall.confirm = [scarlet]경고![]\n이 작업은 저장된 맵, 맵파일, 잠금 해제된 목록과 조작키 설정, 그리고 모든 데이터를 삭제합니다.\n확인 버튼을 다시 눌러 모든 데이터를 삭제하고 게임에서 나갑니다. settings.clearall.confirm = [scarlet]경고![]\n이 작업은 저장된 맵, 맵파일, 잠금 해제된 목록과 조작키 설정, 그리고 모든 데이터를 삭제합니다.\n확인 버튼을 다시 눌러 모든 데이터를 삭제하고 게임에서 나갑니다.[]
settings.clearsaves.confirm = 정말로 모든 저장된 파일들을 삭제하시겠습니까? settings.clearsaves.confirm = 정말로 모든 저장된 파일들을 삭제하시겠습니까?
settings.clearsaves = 저장 초기화 settings.clearsaves = 저장 초기화
settings.clearresearch = 연구 초기화 settings.clearresearch = 연구 초기화
settings.clearresearch.confirm = 정말로 모든 연구를 삭제하시겠습니까? settings.clearresearch.confirm = 정말로 모든 연구를 삭제하시겠습니까?
settings.clearcampaignsaves = 캠페인 맵 초기화 settings.clearcampaignsaves = 캠페인 맵 초기화
settings.clearcampaignsaves.confirm = 정말로 캠페인을 초기화하시겠습니까? settings.clearcampaignsaves.confirm = 정말로 캠페인을 초기화하시겠습니까?
paused = [accent]< 일시정지 > paused = [accent]< 일시정지 >[]
clear = 초기화 clear = 초기화
banned = [scarlet]금지됨 banned = [scarlet]금지됨
unsupported.environment = [scarlet]지원되지 않는 환경 unsupported.environment = [scarlet]지원되지 않는 환경[]
yes = O yes = O
no = X no = X
info.title = 정보 info.title = 정보
error.title = [scarlet]오류가 발생했습니다 error.title = [scarlet]오류가 발생했습니다[]
error.crashtitle = 오류가 발생했습니다 error.crashtitle = 오류가 발생했습니다
unit.nobuild = [scarlet]건설 불가 unit.nobuild = [scarlet]건설 불가[]
lastaccessed = [lightgray]마지막 접근: {0} lastaccessed = [lightgray]마지막 접근: {0}[]
block.unknown = [lightgray]??? block.unknown = [lightgray]???[]
stat.showinmap = <맵을 먼저 불러와야 합니다> stat.showinmap = <맵을 먼저 불러와야 합니다>
stat.description = 특성 stat.description = 특성
@@ -786,23 +791,23 @@ bar.power = 전력
bar.progress = 건설 진행도 bar.progress = 건설 진행도
bar.input = 입력 bar.input = 입력
bar.output = 출력 bar.output = 출력
bar.strength = [stat]{0}[lightgray]x 치료 속도 bar.strength = [stat]{0}[lightgray]x 치료 속도[][]
units.processorcontrol = [lightgray]프로세서 제어됨 units.processorcontrol = [lightgray]프로세서 제어됨[]
bullet.damage = [stat]{0}[lightgray] 피해량 bullet.damage = [stat]{0}[lightgray] 피해량[][]
bullet.splashdamage = [stat]{0}[lightgray] 범위 피해량 ~ [stat]{1}[lightgray] 타일 bullet.splashdamage = [stat]{0}[lightgray] 범위 피해량 ~ [stat]{1}[lightgray] 타일[][][][]
bullet.incendiary = [stat]방화 bullet.incendiary = [stat]방화[]
bullet.homing = [stat]유도 bullet.homing = [stat]유도[]
bullet.frags = [stat]{0}[lightgray]개 파편 탄환: bullet.frags = [stat]{0}[lightgray]개 파편 탄환:[][]
bullet.lightning = [stat]{0}[lightgray]x 전격 ~ [stat]{1}[lightgray] 피해량 bullet.lightning = [stat]{0}[lightgray]x 전격 ~ [stat]{1}[lightgray] 피해량[][][][]
bullet.buildingdamage = [stat]{0}%[lightgray] 건물 피해량 bullet.buildingdamage = [stat]{0}%[lightgray] 건물 피해량[][]
bullet.knockback = [stat]{0}[lightgray] 넉백 bullet.knockback = [stat]{0}[lightgray] 넉백[][]
bullet.pierce = [stat]{0}[lightgray]번 관통 bullet.pierce = [stat]{0}[lightgray]번 관통[][]
bullet.infinitepierce = [stat]관통 bullet.infinitepierce = [stat]관통[]
bullet.healpercent = [stat]{0}[lightgray]% 회복 bullet.healpercent = [stat]{0}[lightgray]% 회복[][]
bullet.multiplier = [stat]{0}[lightgray]배 탄약 배수 bullet.multiplier = [stat]{0}[lightgray]배 탄약 배수[][]
bullet.reload = [stat]{0}[lightgray]배 발사 속도 bullet.reload = [stat]{0}[lightgray]배 발사 속도[][]
unit.blocks = 블록 unit.blocks = 블록
unit.blockssquared = 블록² unit.blockssquared = 블록²
@@ -833,13 +838,13 @@ category.items = 자원
category.crafting = 입력/출력 category.crafting = 입력/출력
category.function = 기능 category.function = 기능
category.optional = 선택적 향상 category.optional = 선택적 향상
setting.skipcoreanimation.name = 코어 발사/착륙 애니메이션 건너뛰기
setting.landscape.name = 가로화면 잠금 setting.landscape.name = 가로화면 잠금
setting.shadows.name = 그림자 setting.shadows.name = 그림자
setting.blockreplace.name = 자동 블록 제안 setting.blockreplace.name = 자동 블록 제안
setting.linear.name = 선형 필터링 setting.linear.name = 선형 필터링
setting.hints.name = 힌트 표시 setting.hints.name = 힌트 표시
setting.logichints.name = 로직 힌트 표시 setting.logichints.name = 로직 힌트 표시
setting.flow.name = 자원 흐름량 표시
setting.backgroundpause.name = 백그라운드에서 일시정지 setting.backgroundpause.name = 백그라운드에서 일시정지
setting.buildautopause.name = 건설 자동 일시정지 setting.buildautopause.name = 건설 자동 일시정지
setting.doubletapmine.name = 연속 터치로 채광 setting.doubletapmine.name = 연속 터치로 채광
@@ -858,9 +863,9 @@ setting.uiscale.name = UI 스케일링
setting.uiscale.description = 적용하려면 재시작이 필요합니다. setting.uiscale.description = 적용하려면 재시작이 필요합니다.
setting.swapdiagonal.name = 항상 대각선 배치 setting.swapdiagonal.name = 항상 대각선 배치
setting.difficulty.training = 훈련 setting.difficulty.training = 훈련
setting.difficulty.easy = 무난 setting.difficulty.easy = 쉬움
setting.difficulty.normal = 보통 setting.difficulty.normal = 보통
setting.difficulty.hard = 혼돈 setting.difficulty.hard = 어려움
setting.difficulty.insane = 박멸 setting.difficulty.insane = 박멸
setting.difficulty.name = 난이도: setting.difficulty.name = 난이도:
setting.screenshake.name = 화면 흔들림 setting.screenshake.name = 화면 흔들림
@@ -874,6 +879,7 @@ setting.seconds = {0} 초
setting.milliseconds = {0} 밀리초 setting.milliseconds = {0} 밀리초
setting.fullscreen.name = 전체 화면 setting.fullscreen.name = 전체 화면
setting.borderlesswindow.name = 테두리 없는 창 모드 setting.borderlesswindow.name = 테두리 없는 창 모드
setting.borderlesswindow.name.windows = 테두리 없는 전체화면
setting.borderlesswindow.description = 적용하려면 재시작이 필요할 수도 있습니다. setting.borderlesswindow.description = 적용하려면 재시작이 필요할 수도 있습니다.
setting.fps.name = FPS와 핑 표시 setting.fps.name = FPS와 핑 표시
setting.smoothcamera.name = 부드러운 시점 setting.smoothcamera.name = 부드러운 시점
@@ -997,6 +1003,7 @@ rules.wavetimer = 시간 제한이 있는 단계
rules.waves = 단계 rules.waves = 단계
rules.attack = 공격 모드 rules.attack = 공격 모드
rules.buildai = AI 건설 rules.buildai = AI 건설
rules.aitier = AI 등급
rules.cleanupdeadteams = 패배한 팀 건물 정리하기 (PvP) rules.cleanupdeadteams = 패배한 팀 건물 정리하기 (PvP)
rules.corecapture = 코어 파괴 시 점령 rules.corecapture = 코어 파괴 시 점령
rules.polygoncoreprotection = 다각형 코어 건설 금지구역 rules.polygoncoreprotection = 다각형 코어 건설 금지구역
@@ -1016,12 +1023,15 @@ rules.deconstructrefundmultiplier = 철거 환불 배수
rules.waitForWaveToEnd = 한 단계가 끝날때까지 대기 rules.waitForWaveToEnd = 한 단계가 끝날때까지 대기
rules.dropzoneradius = 스폰 구역 범위: [lightgray] (타일) rules.dropzoneradius = 스폰 구역 범위: [lightgray] (타일)
rules.unitammo = 유닛 탄약 필요 rules.unitammo = 유닛 탄약 필요
rules.enemyteam = 상대 팀
rules.playerteam = 플레이어 팀
rules.title.waves = 단계 rules.title.waves = 단계
rules.title.resourcesbuilding = 자원 & 건축 rules.title.resourcesbuilding = 자원 & 건축
rules.title.enemy = rules.title.enemy =
rules.title.unit = 유닛 rules.title.unit = 유닛
rules.title.experimental = 실험적인 기능 rules.title.experimental = 실험적인 기능
rules.title.environment = 환경 rules.title.environment = 환경
rules.title.teams =
rules.lighting = 조명 표시 rules.lighting = 조명 표시
rules.enemyLights = 상대에게 조명 표시 rules.enemyLights = 상대에게 조명 표시
rules.fire = 방화 허용 rules.fire = 방화 허용
@@ -1100,13 +1110,12 @@ unit.reign.name = 레인
unit.vela.name = 벨라 unit.vela.name = 벨라
unit.corvus.name = 코르버스 unit.corvus.name = 코르버스
block.resupply-point.name = 보급 지점
block.parallax.name = 패럴랙스 block.parallax.name = 패럴랙스
block.cliff.name = 언덕 block.cliff.name = 언덕
block.sand-boulder.name = 사암 바위 block.sand-boulder.name = 사암 바위
block.basalt-boulder.name = 현무암 바위 block.basalt-boulder.name = 현무암 바위
block.grass.name = 잔디 block.grass.name = 잔디
block.slag.name = 용암 block.molten-slag.name = 용암
block.space.name = 우주 block.space.name = 우주
block.salt.name = 소금 block.salt.name = 소금
block.salt-wall.name = 소금 벽 block.salt-wall.name = 소금 벽
@@ -1137,8 +1146,8 @@ block.spawn.name = 적 소환지점
block.core-shard.name = 코어: 조각 block.core-shard.name = 코어: 조각
block.core-foundation.name = 코어: 기반 block.core-foundation.name = 코어: 기반
block.core-nucleus.name = 코어: 핵심 block.core-nucleus.name = 코어: 핵심
block.deepwater.name = 깊은 물 block.deep-water.name = 깊은 물
block.water.name = block.shallow-water.name =
block.tainted-water.name = 오염된 물 block.tainted-water.name = 오염된 물
block.darksand-tainted-water.name = 오염된 젖은 검은 모래 block.darksand-tainted-water.name = 오염된 젖은 검은 모래
block.tar.name = 타르 block.tar.name = 타르
@@ -1147,7 +1156,7 @@ block.sand.name = 모래
block.darksand.name = 검은 모래 block.darksand.name = 검은 모래
block.ice.name = 얼음 block.ice.name = 얼음
block.snow.name = block.snow.name =
block.craters.name = 구덩이 block.crater-stone.name = 구덩이
block.sand-water.name = 젖은 모래 block.sand-water.name = 젖은 모래
block.darksand-water.name = 젖은 검은 모래 block.darksand-water.name = 젖은 검은 모래
block.char.name = block.char.name =
@@ -1351,7 +1360,7 @@ hint.placeTurret = 적에게서 기지를 막아내려면 \uf861 [accent]포탑[
hint.breaking = 블록을 부수려면 [accent]우클릭[]이나 드래그를 하십시오. hint.breaking = 블록을 부수려면 [accent]우클릭[]이나 드래그를 하십시오.
hint.breaking.mobile = 블록을 부수려면 오른쪽 아래의 \ue817 [accent]망치[]를 눌러 해체 모드를 활성화하십시오.\n\n손가락으로 누른 채로 끌어서 해체 범위를 지정하십시오. hint.breaking.mobile = 블록을 부수려면 오른쪽 아래의 \ue817 [accent]망치[]를 눌러 해체 모드를 활성화하십시오.\n\n손가락으로 누른 채로 끌어서 해체 범위를 지정하십시오.
hint.blockInfo = [accent]건설 메뉴[]에서 블록을 선택해서 정보를 보십시오, 그다음 오른쪽의 [accent][[?][] 버튼을 선택하십시오. hint.blockInfo = [accent]건설 메뉴[]에서 블록을 선택해서 정보를 보십시오, 그다음 오른쪽의 [accent][[?][] 버튼을 선택하십시오.
hint.derelict = [accent]버려진[] 구조물들은 더 이상 작동하지 않는 오래된 기지의 부서진 잔해입니다.\n\n이 구조물들은 자원으로 다시 [accent]철거[]될 수 있습니다. hint.derelict = [accent]잔해[] 구조물들은 더 이상 작동하지 않는 오래된 기지의 부서진 잔해입니다.\n\n이 구조물들은 자원으로 다시 [accent]철거[]될 수 있습니다.
hint.research = 새 기술을 연구하려면 \ue875 [accent]연구[]버튼을 누르십시오. hint.research = 새 기술을 연구하려면 \ue875 [accent]연구[]버튼을 누르십시오.
hint.research.mobile = 새 기술을 연구하려면 \ue88c [accent]메뉴[] 아래의 \ue875 [accent]연구[]버튼을 누르십시오. hint.research.mobile = 새 기술을 연구하려면 \ue88c [accent]메뉴[] 아래의 \ue875 [accent]연구[]버튼을 누르십시오.
hint.unitControl = 아군 유닛과 포탑을 조종하려면 [accent][[왼쪽 ctrl][]을 누른 채로 [accent]클릭[] 하십시오. hint.unitControl = 아군 유닛과 포탑을 조종하려면 [accent][[왼쪽 ctrl][]을 누른 채로 [accent]클릭[] 하십시오.
@@ -1368,7 +1377,7 @@ hint.payloadPickup = 작은 블록이나 유닛을 집으려면 [accent][[[]를
hint.payloadPickup.mobile = 작은 블록이나 유닛을 집으려면 [accent]잠깐 누르십시오[]. hint.payloadPickup.mobile = 작은 블록이나 유닛을 집으려면 [accent]잠깐 누르십시오[].
hint.payloadDrop = 다시 내려놓으려면 [accent]][]를 누르십시오. hint.payloadDrop = 다시 내려놓으려면 [accent]][]를 누르십시오.
hint.payloadDrop.mobile = 다시 내려놓으려면 빈 공간에서 [accent]화면을 잠깐 누르십시오[]. hint.payloadDrop.mobile = 다시 내려놓으려면 빈 공간에서 [accent]화면을 잠깐 누르십시오[].
hint.waveFire = [accent]Wave[]포탑에 탄약으로 물을 넣으면 주변의 불을 자동으로 꺼줍니다. hint.waveFire = [accent]파도[] 포탑에 탄약으로 물을 넣으면 주변의 불을 자동으로 꺼줍니다.
hint.generator = \uf879 [accent]화력 발전기[]는 석탄을 태워서 주변 블록에 전력을 전달합니다.\n\n \uf87f 더 넓은 범위의 블록에 전력을 전달하려면 [accent]Power Nodes[]를 사용하십시오. hint.generator = \uf879 [accent]화력 발전기[]는 석탄을 태워서 주변 블록에 전력을 전달합니다.\n\n \uf87f 더 넓은 범위의 블록에 전력을 전달하려면 [accent]Power Nodes[]를 사용하십시오.
hint.guardian = [accent]수호자[] 유닛들은 방어력을 가집니다. [accent]구리[]와 [accent]납[] 같은 약한 탄약으로는 [scarlet]아무런 효과도 없습니다[].\n\n그런 수호자를 없애려면 높은 단계의 포탑 또는 \uf835 [accent]흑연[]을 탄약으로 넣은 \uf861듀오/\uf859살보를 사용하십시오. hint.guardian = [accent]수호자[] 유닛들은 방어력을 가집니다. [accent]구리[]와 [accent]납[] 같은 약한 탄약으로는 [scarlet]아무런 효과도 없습니다[].\n\n그런 수호자를 없애려면 높은 단계의 포탑 또는 \uf835 [accent]흑연[]을 탄약으로 넣은 \uf861듀오/\uf859살보를 사용하십시오.
hint.coreUpgrade = 코어는 [accent]상위 코어를 위에 설치함[]으로써 업그레이드할 수 있습니다.\n\n [accent]기반[] 코어를 [accent]조각[] 코어 위에 설치하십시오. 주변에 장애물이 없는지도 확인하십시오. hint.coreUpgrade = 코어는 [accent]상위 코어를 위에 설치함[]으로써 업그레이드할 수 있습니다.\n\n [accent]기반[] 코어를 [accent]조각[] 코어 위에 설치하십시오. 주변에 장애물이 없는지도 확인하십시오.
@@ -1403,8 +1412,7 @@ liquid.slag.description = 다양한 종류의 금속들이 함께 섞여 녹아
liquid.oil.description = 고급 재료 생산에 사용되는 액체. 석탄으로 전환하거나 무기로 뿌려서 불을 지를 수 있습니다. liquid.oil.description = 고급 재료 생산에 사용되는 액체. 석탄으로 전환하거나 무기로 뿌려서 불을 지를 수 있습니다.
liquid.cryofluid.description = 물과 티타늄으로 만든 비부식성 액체. 열용량이 매우 높으며 냉각수로 광범위하게 사용됩니다. liquid.cryofluid.description = 물과 티타늄으로 만든 비부식성 액체. 열용량이 매우 높으며 냉각수로 광범위하게 사용됩니다.
block.derelict = [lightgray] 버려짐[] block.derelict = [lightgray]잔해
block.resupply-point.description = 주변 유닛들에 구리 탄약을 보급합니다. 배터리 전력이 필요한 유닛들은 호환되지 않습니다.
block.armored-conveyor.description = 앞으로 자원들을 운반합니다. 측면에서 자원들을 받아들이지 않습니다. block.armored-conveyor.description = 앞으로 자원들을 운반합니다. 측면에서 자원들을 받아들이지 않습니다.
block.illuminator.description = 발광합니다. block.illuminator.description = 발광합니다.
block.message.description = 아군 간의 소통을 위한 메시지를 저장합니다. block.message.description = 아군 간의 소통을 위한 메시지를 저장합니다.
@@ -1741,7 +1749,8 @@ lenum.build = 구조물 건설
lenum.getblock = 특정 좌표의 빌딩과 블록을 반환합니다.\n위치는 유닛의 인지 범위 내여야 합니다.\n자연 지형은 [accent]@solid[]의 타입을 가집니다. lenum.getblock = 특정 좌표의 빌딩과 블록을 반환합니다.\n위치는 유닛의 인지 범위 내여야 합니다.\n자연 지형은 [accent]@solid[]의 타입을 가집니다.
lenum.within = 좌표 주변 유닛 발견 여부 lenum.within = 좌표 주변 유닛 발견 여부
lenum.boost = 이륙 시작/중단 lenum.boost = 이륙 시작/중단
#1730 line matching / 줄 매칭
#1745 line matching / 줄 매칭
#-------------비공식 번역------------- #-------------비공식 번역-------------
#팁, 패치 기록, 약간의 관련 드립을 넣는 곳입니다. 이미 쓰여진 줄이 있다면 \n\n를 입력한 다음 작성하고 끝에 깃허브 작성자 닉네임(또는 디스코드)을 적어주세요. #팁, 패치 기록, 약간의 관련 드립을 넣는 곳입니다. 이미 쓰여진 줄이 있다면 \n\n를 입력한 다음 작성하고 끝에 깃허브 작성자 닉네임(또는 디스코드)을 적어주세요.
@@ -1753,7 +1762,7 @@ lenum.boost = 이륙 시작/중단
#관련 문의는 공식 디스코드에서 절 불러주세요. Sharlotte#0018 #관련 문의는 공식 디스코드에서 절 불러주세요. Sharlotte#0018
#아이템 #아이템
item.metaglass.details = [lightgray][비공식][]쓰임가 가장 적은 아이템 item.metaglass.details = [lightgray][비공식][]쓰임가 가장 적은 아이템
item.graphite.details = item.graphite.details =
item.sand.details = item.sand.details =
item.titanium.details = item.titanium.details =
@@ -1769,7 +1778,7 @@ item.pyratite.details =
liquid.water.details = liquid.water.details =
liquid.slag.details = liquid.slag.details =
liquid.oil.details = liquid.oil.details =
liquid.cryofluid.details = [lightgray][비공식][]티타늄을 갈아서 물에 희석했다는 소문이 있다. liquid.cryofluid.details = [lightgray][비공식][]티타늄을 갈아서 물에 희석했다.
#블록 #블록
block.resupply-point.details = block.resupply-point.details =
@@ -1844,8 +1853,8 @@ block.power-node.details =
block.power-node-large.details = block.power-node-large.details =
block.surge-tower.details = block.surge-tower.details =
block.diode.details = block.diode.details =
block.battery.details = block.battery.details = [lightgray][비공식][]아크와 랜서같은 전기먹는하마 옆에 많이 설치해두자.
block.battery-large.details = block.battery-large.details = [lightgray][비공식][]일반 베터리 9개보다 5000만큼의 전력을 더 저장할 수 있다.
block.combustion-generator.details = block.combustion-generator.details =
block.thermal-generator.details = block.thermal-generator.details =
block.steam-generator.details = block.steam-generator.details =
@@ -1859,7 +1868,7 @@ block.mechanical-drill.details =
block.pneumatic-drill.details = block.pneumatic-drill.details =
block.laser-drill.details = block.laser-drill.details =
block.blast-drill.details = block.blast-drill.details =
block.water-extractor.details = block.water-extractor.details = [lightgray][비공식][]맨 땅에서 물을 뽑아낸다. 이것이 바로 창조경제
block.oil-extractor.details = block.oil-extractor.details =
block.vault.details = block.vault.details =
block.container.details = block.container.details =
@@ -1904,9 +1913,9 @@ block.multiplicative-reconstructor.details =
block.exponential-reconstructor.details = block.exponential-reconstructor.details =
block.tetrative-reconstructor.details = block.tetrative-reconstructor.details =
block.switch.details = block.switch.details =
block.micro-processor.details = block.micro-processor.details = [lightgray][비공식][]Hello, World!
block.logic-processor.details = block.logic-processor.details = [lightgray][비공식][]99병의 맥주가 벽장에 있네, 99병의 맥주라네
block.hyper-processor.details = block.hyper-processor.details = [lightgray][비공식][]그것을 내려서 넘겼네, 더 이상 벽장에 맥주가 없네
block.memory-cell.details = block.memory-cell.details =
block.memory-bank.details = block.memory-bank.details =
block.logic-display.details = block.logic-display.details =
@@ -1934,7 +1943,7 @@ unit.horizon.details =
unit.zenith.details = unit.zenith.details =
unit.antumbra.details = unit.antumbra.details =
unit.eclipse.details = unit.eclipse.details =
unit.mono.details = unit.mono.details = [lightgray][비공식][]민더스트리 최고 귀요미.
unit.poly.details = unit.poly.details =
unit.mega.details = unit.mega.details =
unit.quad.details = unit.quad.details =
@@ -1943,7 +1952,7 @@ unit.risso.details = [lightgray][비공식][]뭉치면 연사력이 무시무시
unit.minke.details = unit.minke.details =
unit.bryde.details = unit.bryde.details =
unit.sei.details = [lightgray][비공식][]세이 sei! unit.sei.details = [lightgray][비공식][]세이 sei!
unit.omura.details = unit.omura.details = [lightgray][비공식][]오무라이스?
unit.retusa.details = [lightgray][비공식][]바다를 지뢰로 뒤덮어보죠. unit.retusa.details = [lightgray][비공식][]바다를 지뢰로 뒤덮어보죠.
unit.oxynoe.details = unit.oxynoe.details =
unit.cyerce.details = [lightgray][비공식][]폭죽놀이다! unit.cyerce.details = [lightgray][비공식][]폭죽놀이다!

View File

@@ -960,7 +960,7 @@ block.parallax.name = Parallax
block.cliff.name = Cliff block.cliff.name = Cliff
block.sand-boulder.name = Smėlio Riedulys block.sand-boulder.name = Smėlio Riedulys
block.grass.name = Žolė block.grass.name = Žolė
block.slag.name = Slag block.molten-slag.name = Slag
block.space.name = Space block.space.name = Space
block.salt.name = Druska block.salt.name = Druska
block.salt-wall.name = Salt Wall block.salt-wall.name = Salt Wall
@@ -991,8 +991,8 @@ block.spawn.name = Priešų Atsiradimo Zona
block.core-shard.name = Branduolys: Šerdis block.core-shard.name = Branduolys: Šerdis
block.core-foundation.name = Branduolys: Pagrindas block.core-foundation.name = Branduolys: Pagrindas
block.core-nucleus.name = Branduolys: Centras block.core-nucleus.name = Branduolys: Centras
block.deepwater.name = Gilus Vanduo block.deep-water.name = Gilus Vanduo
block.water.name = Vanduo block.shallow-water.name = Vanduo
block.tainted-water.name = Užterštas Vanduo block.tainted-water.name = Užterštas Vanduo
block.darksand-tainted-water.name = Tamsaus Smėlio Užterštas Vanduo block.darksand-tainted-water.name = Tamsaus Smėlio Užterštas Vanduo
block.tar.name = Derva block.tar.name = Derva
@@ -1001,7 +1001,7 @@ block.sand.name = Smėlis
block.darksand.name = Tamsus Smėlis block.darksand.name = Tamsus Smėlis
block.ice.name = Ledas block.ice.name = Ledas
block.snow.name = Sniegas block.snow.name = Sniegas
block.craters.name = Krateriai block.crater-stone.name = Krateriai
block.sand-water.name = Smėlio vanduo block.sand-water.name = Smėlio vanduo
block.darksand-water.name = Tamsaus Smėlio Vanduo block.darksand-water.name = Tamsaus Smėlio Vanduo
block.char.name = Char block.char.name = Char

View File

@@ -960,7 +960,7 @@ block.parallax.name = Parallax
block.cliff.name = Cliff block.cliff.name = Cliff
block.sand-boulder.name = Zandkei block.sand-boulder.name = Zandkei
block.grass.name = Gras block.grass.name = Gras
block.slag.name = Slag block.molten-slag.name = Slag
block.space.name = Space block.space.name = Space
block.salt.name = Zout block.salt.name = Zout
block.salt-wall.name = Salt Wall block.salt-wall.name = Salt Wall
@@ -991,8 +991,8 @@ block.spawn.name = Vijandelijke Spawn
block.core-shard.name = Core: Shard block.core-shard.name = Core: Shard
block.core-foundation.name = Core: Foundation block.core-foundation.name = Core: Foundation
block.core-nucleus.name = Core: Nucleus block.core-nucleus.name = Core: Nucleus
block.deepwater.name = Diep Water block.deep-water.name = Diep Water
block.water.name = Water block.shallow-water.name = Water
block.tainted-water.name = Vervuild Water block.tainted-water.name = Vervuild Water
block.darksand-tainted-water.name = Donker Zand Vervuild Water block.darksand-tainted-water.name = Donker Zand Vervuild Water
block.tar.name = Olie block.tar.name = Olie
@@ -1001,7 +1001,7 @@ block.sand.name = Donker Zand
block.darksand.name = Donker Zand block.darksand.name = Donker Zand
block.ice.name = Ijs block.ice.name = Ijs
block.snow.name = Sneeuw block.snow.name = Sneeuw
block.craters.name = Krarters block.crater-stone.name = Krarters
block.sand-water.name = Zand water block.sand-water.name = Zand water
block.darksand-water.name = Donker Zand Water block.darksand-water.name = Donker Zand Water
block.char.name = Char block.char.name = Char

View File

@@ -960,7 +960,7 @@ block.parallax.name = Parallax
block.cliff.name = Cliff block.cliff.name = Cliff
block.sand-boulder.name = Sand Boulder block.sand-boulder.name = Sand Boulder
block.grass.name = Grass block.grass.name = Grass
block.slag.name = Slag block.molten-slag.name = Slag
block.space.name = Space block.space.name = Space
block.salt.name = Salt block.salt.name = Salt
block.salt-wall.name = Salt Wall block.salt-wall.name = Salt Wall
@@ -991,8 +991,8 @@ block.spawn.name = Enemy Spawn
block.core-shard.name = Core: Shard block.core-shard.name = Core: Shard
block.core-foundation.name = Core: Foundation block.core-foundation.name = Core: Foundation
block.core-nucleus.name = Core: Nucleus block.core-nucleus.name = Core: Nucleus
block.deepwater.name = Deep Water block.deep-water.name = Deep Water
block.water.name = Water block.shallow-water.name = Water
block.tainted-water.name = Tainted Water block.tainted-water.name = Tainted Water
block.darksand-tainted-water.name = Dark Sand Tainted Water block.darksand-tainted-water.name = Dark Sand Tainted Water
block.tar.name = Tar block.tar.name = Tar
@@ -1001,7 +1001,7 @@ block.sand.name = Sand
block.darksand.name = Dark Sand block.darksand.name = Dark Sand
block.ice.name = Ice block.ice.name = Ice
block.snow.name = Snow block.snow.name = Snow
block.craters.name = Craters block.crater-stone.name = Craters
block.sand-water.name = Sand water block.sand-water.name = Sand water
block.darksand-water.name = Dark Sand Water block.darksand-water.name = Dark Sand Water
block.char.name = Char block.char.name = Char

View File

@@ -1090,7 +1090,7 @@ block.cliff.name = Klif
block.sand-boulder.name = Piaskowy Głaz block.sand-boulder.name = Piaskowy Głaz
block.basalt-boulder.name = Bazaltowy Głaz block.basalt-boulder.name = Bazaltowy Głaz
block.grass.name = Trawa block.grass.name = Trawa
block.slag.name = Żużel block.molten-slag.name = Żużel
block.space.name = Kosmos block.space.name = Kosmos
block.salt.name = Sól block.salt.name = Sól
block.salt-wall.name = Ściana Solna block.salt-wall.name = Ściana Solna
@@ -1121,8 +1121,8 @@ block.spawn.name = Spawn wrogów
block.core-shard.name = Rdzeń: Odłamek block.core-shard.name = Rdzeń: Odłamek
block.core-foundation.name = Rdzeń: Podstawa block.core-foundation.name = Rdzeń: Podstawa
block.core-nucleus.name = Rdzeń: Jądro block.core-nucleus.name = Rdzeń: Jądro
block.deepwater.name = Głęboka Woda block.deep-water.name = Głęboka Woda
block.water.name = Woda block.shallow-water.name = Woda
block.tainted-water.name = Skażona Woda block.tainted-water.name = Skażona Woda
block.darksand-tainted-water.name = Skażona Woda z Ciemnym Piaskiem block.darksand-tainted-water.name = Skażona Woda z Ciemnym Piaskiem
block.tar.name = Smoła block.tar.name = Smoła
@@ -1131,7 +1131,7 @@ block.sand.name = Piasek
block.darksand.name = Czarny piasek block.darksand.name = Czarny piasek
block.ice.name = Lód block.ice.name = Lód
block.snow.name = Śnieg block.snow.name = Śnieg
block.craters.name = Kratery block.crater-stone.name = Kratery
block.sand-water.name = Woda z Piaskiem block.sand-water.name = Woda z Piaskiem
block.darksand-water.name = Woda z Ciemnym Piaskiem block.darksand-water.name = Woda z Ciemnym Piaskiem
block.char.name = Popiół block.char.name = Popiół

View File

@@ -1073,7 +1073,7 @@ block.parallax.name = Paralaxe
block.cliff.name = Relevo block.cliff.name = Relevo
block.sand-boulder.name = Pedregulho de areia block.sand-boulder.name = Pedregulho de areia
block.grass.name = Grama block.grass.name = Grama
block.slag.name = Escória block.molten-slag.name = Escória
block.space.name = Space block.space.name = Space
block.salt.name = Sal block.salt.name = Sal
block.salt-wall.name = Parede de sal block.salt-wall.name = Parede de sal
@@ -1104,8 +1104,8 @@ block.spawn.name = Área inimiga
block.core-shard.name = Fragmento do núcleo block.core-shard.name = Fragmento do núcleo
block.core-foundation.name = Fundação do núcleo block.core-foundation.name = Fundação do núcleo
block.core-nucleus.name = Centro do núcleo block.core-nucleus.name = Centro do núcleo
block.deepwater.name = Água profunda block.deep-water.name = Água profunda
block.water.name = Água block.shallow-water.name = Água
block.tainted-water.name = Água tinta block.tainted-water.name = Água tinta
block.darksand-tainted-water.name = Água tinta sobre areia escura block.darksand-tainted-water.name = Água tinta sobre areia escura
block.tar.name = Piche block.tar.name = Piche
@@ -1114,7 +1114,7 @@ block.sand.name = Areia
block.darksand.name = Areia escura block.darksand.name = Areia escura
block.ice.name = Gelo block.ice.name = Gelo
block.snow.name = Neve block.snow.name = Neve
block.craters.name = Crateras block.crater-stone.name = Crateras
block.sand-water.name = Água sobre areia block.sand-water.name = Água sobre areia
block.darksand-water.name = Água sobre areia escura block.darksand-water.name = Água sobre areia escura
block.char.name = Cinzas block.char.name = Cinzas

View File

@@ -960,7 +960,7 @@ block.parallax.name = Parallax
block.cliff.name = Cliff block.cliff.name = Cliff
block.sand-boulder.name = Pedregulho de areia block.sand-boulder.name = Pedregulho de areia
block.grass.name = Grama block.grass.name = Grama
block.slag.name = Slag block.molten-slag.name = Slag
block.space.name = Space block.space.name = Space
block.salt.name = Sal block.salt.name = Sal
block.salt-wall.name = Salt Wall block.salt-wall.name = Salt Wall
@@ -991,8 +991,8 @@ block.spawn.name = Spawn dos inimigos
block.core-shard.name = Fragmento do núcleo block.core-shard.name = Fragmento do núcleo
block.core-foundation.name = Fundação do núcleo block.core-foundation.name = Fundação do núcleo
block.core-nucleus.name = Núcleo do núcleo block.core-nucleus.name = Núcleo do núcleo
block.deepwater.name = Água profunda block.deep-water.name = Água profunda
block.water.name = Água block.shallow-water.name = Água
block.tainted-water.name = Água contaminada block.tainted-water.name = Água contaminada
block.darksand-tainted-water.name = Água contaminada sobre areia escura block.darksand-tainted-water.name = Água contaminada sobre areia escura
block.tar.name = Piche block.tar.name = Piche
@@ -1001,7 +1001,7 @@ block.sand.name = Areia
block.darksand.name = Areia escura block.darksand.name = Areia escura
block.ice.name = Gelo block.ice.name = Gelo
block.snow.name = Neve block.snow.name = Neve
block.craters.name = Crateras block.crater-stone.name = Crateras
block.sand-water.name = Água sobre areia block.sand-water.name = Água sobre areia
block.darksand-water.name = Água sobre areia escura block.darksand-water.name = Água sobre areia escura
block.char.name = Char block.char.name = Char

View File

@@ -215,6 +215,7 @@ hosts.none = [lightgray]Nu s-au găsit jocuri locale!
host.invalid = [scarlet]Nu s-a putut face conectarea la gazdă! host.invalid = [scarlet]Nu s-a putut face conectarea la gazdă!
servers.local = Servere Locale servers.local = Servere Locale
servers.local.steam = Jocuri Deschise & Servere Locale
servers.remote = Servere de la Distanță servers.remote = Servere de la Distanță
servers.global = Servere ale Comunității servers.global = Servere ale Comunității
@@ -266,7 +267,7 @@ server.invalidport = Număr de port invalid!
server.error = [scarlet]Eroare la găzduirea serverului. server.error = [scarlet]Eroare la găzduirea serverului.
save.new = Nouă Salvare save.new = Nouă Salvare
save.overwrite = Sigur vrei să scrii peste \nacest slot de salvare? save.overwrite = Sigur vrei să scrii peste \nacest slot de salvare?
overwrite = Scrie Peste overwrite = Scrie peste
save.none = Nu s-au găsit salvări! save.none = Nu s-au găsit salvări!
savefail = Salvarea jocului a eșuat! savefail = Salvarea jocului a eșuat!
save.delete.confirm = Sigur vrei să ștergi această salvare? save.delete.confirm = Sigur vrei să ștergi această salvare?
@@ -316,7 +317,7 @@ data.invalid = Aceste date de joc nu sunt valide.
data.import.confirm = Importul de date externe va suprascrie[scarlet] toate[] datele tale de joc curente.\n[accent]Acest proces este ireversibil![]\n\nOdată ce datele sunt importate, jocul tău se va opri imediat. data.import.confirm = Importul de date externe va suprascrie[scarlet] toate[] datele tale de joc curente.\n[accent]Acest proces este ireversibil![]\n\nOdată ce datele sunt importate, jocul tău se va opri imediat.
quit.confirm = Sigur vrei să abandonezi? quit.confirm = Sigur vrei să abandonezi?
loading = [accent]Se încarcă... loading = [accent]Se încarcă...
reloading = [accent]Se Reîncarcă Modurile... downloading = [accent]Se descarcă...
saving = [accent]Se salvează... saving = [accent]Se salvează...
respawn = [accent][[{0}][] ca să te refaci în nucleu respawn = [accent][[{0}][] ca să te refaci în nucleu
cancelbuilding = [accent][[{0}][] pt a curăța planul cancelbuilding = [accent][[{0}][] pt a curăța planul
@@ -344,9 +345,9 @@ custom = Personalizată
builtin = Prestabilită builtin = Prestabilită
map.delete.confirm = Ești sigur că vrei să ștergi această hartă? Acțiunea este ireversibilă! map.delete.confirm = Ești sigur că vrei să ștergi această hartă? Acțiunea este ireversibilă!
map.random = [accent]Hartă Aleatorie map.random = [accent]Hartă Aleatorie
map.nospawn = Harta asta nu are niciun nucleu în care vor apărea jucătorii! Adaugă un nucleu[accent] portocaliu[] acestei hărți în editor. map.nospawn = Harta asta nu are niciun nucleu în care vor apărea jucătorii! Adaugă un nucleu [#{0}]{1}[] acestei hărți în editor.
map.nospawn.pvp = Această hartă nu are niciun nucleu inamic în care să apară jucătorii! Adaugă nuclee[scarlet] care nu sunt portocalii[] acestei hărți în editor. map.nospawn.pvp = Această hartă nu are niciun nucleu inamic în care să apară jucătorii! Adaugă nuclee[scarlet] care nu sunt portocalii[] acestei hărți în editor.
map.nospawn.attack = Această hartă nu are niciun nucleu inamic pe care să îl atace jucătorii! Adaugă un nucleu[scarlet] roșu[] acestei hărți în editor. map.nospawn.attack = Această hartă nu are niciun nucleu inamic pe care să îl atace jucătorii! Adaugă nuclee [#{0}]{1}[] acestei hărți în editor.
map.invalid = Eroare la încărcarea hărții: fișier corupt sau invalid. map.invalid = Eroare la încărcarea hărții: fișier corupt sau invalid.
workshop.update = Fă Update la Item workshop.update = Fă Update la Item
workshop.error = Eroare la preluarea detaliilor din Workshop: {0} workshop.error = Eroare la preluarea detaliilor din Workshop: {0}
@@ -538,6 +539,7 @@ configure = Configurează Încărcarea
loadout = Încărcare loadout = Încărcare
resources = Resurse resources = Resurse
bannedblocks = Blocuri Interzise bannedblocks = Blocuri Interzise
bannedunits = Unități Interzise
addall = Adaugă-le pe toate addall = Adaugă-le pe toate
launch.from = Lansează Din: [accent]{0} launch.from = Lansează Din: [accent]{0}
launch.destination = Destinație: {0} launch.destination = Destinație: {0}
@@ -562,6 +564,8 @@ weather.sandstorm.name = Furtună de nisip
weather.sporestorm.name = Furtună de spori weather.sporestorm.name = Furtună de spori
weather.fog.name = Ceață weather.fog.name = Ceață
sectorlist = Sectoare
sectorlist.attacked = {0} sunt atacate
sectors.unexplored = [lightgray]Neexplorat sectors.unexplored = [lightgray]Neexplorat
sectors.resources = Resurse: sectors.resources = Resurse:
sectors.production = Producție: sectors.production = Producție:
@@ -834,13 +838,13 @@ category.items = Materiale
category.crafting = Necesită/Produce category.crafting = Necesită/Produce
category.function = Funcționare category.function = Funcționare
category.optional = Îmbunătățiri opționale category.optional = Îmbunătățiri opționale
setting.skipcoreanimation.name = Sari peste Animația de Lansare/Aterizare a Nucleului
setting.landscape.name = Blochează Mod Peisaj setting.landscape.name = Blochează Mod Peisaj
setting.shadows.name = Umbre setting.shadows.name = Umbre
setting.blockreplace.name = Sugestii Plasare Automats setting.blockreplace.name = Sugestii Plasare Automats
setting.linear.name = Filtrare Liniară setting.linear.name = Filtrare Liniară
setting.hints.name = Indicii setting.hints.name = Indicii
setting.logichints.name = Indicii Procesoare Logice setting.logichints.name = Indicii Procesoare Logice
setting.flow.name = Afișează Rata de Curgere a lichidelor
setting.buildautopause.name = Autopauză de la Construit setting.buildautopause.name = Autopauză de la Construit
setting.backgroundpause.name = Pune Pauză în Fundal setting.backgroundpause.name = Pune Pauză în Fundal
setting.doubletapmine.name = Dublu-Click pt a Mina setting.doubletapmine.name = Dublu-Click pt a Mina
@@ -875,6 +879,7 @@ setting.seconds = {0} secunde
setting.milliseconds = {0} millisecunde setting.milliseconds = {0} millisecunde
setting.fullscreen.name = Ecran Complet setting.fullscreen.name = Ecran Complet
setting.borderlesswindow.name = Fereastră Fără Margine setting.borderlesswindow.name = Fereastră Fără Margine
setting.borderlesswindow.name.windows = Ecran Complet Fără Margine
setting.borderlesswindow.description = Repornirea poate fi necesară pt a aplica schimbările. setting.borderlesswindow.description = Repornirea poate fi necesară pt a aplica schimbările.
setting.fps.name = Vezi FPS & Ping setting.fps.name = Vezi FPS & Ping
setting.smoothcamera.name = Cameră Graduală setting.smoothcamera.name = Cameră Graduală
@@ -961,7 +966,7 @@ keybind.shoot.name = Trage
keybind.zoom.name = Zoom keybind.zoom.name = Zoom
keybind.menu.name = Meniu keybind.menu.name = Meniu
keybind.pause.name = Pauză keybind.pause.name = Pauză
keybind.pause_building.name = Pauză/Reia Construit keybind.pause_building.name = Pauză/Reia Construcție
keybind.minimap.name = Minihartă keybind.minimap.name = Minihartă
keybind.planet_map.name = Harta Planetei keybind.planet_map.name = Harta Planetei
keybind.research.name = Cercetare keybind.research.name = Cercetare
@@ -987,7 +992,7 @@ mode.editor.name = Editor
mode.pvp.name = PvP mode.pvp.name = PvP
mode.pvp.description = Luptă împotriva altor jucători local.\n[gray]E nevoie de 2 nuclee colorate diferit pe hartă pt a juca. mode.pvp.description = Luptă împotriva altor jucători local.\n[gray]E nevoie de 2 nuclee colorate diferit pe hartă pt a juca.
mode.attack.name = Atac mode.attack.name = Atac
mode.attack.description = Distruge baza inamicului. \n[gray]E nevoie de un nucleu roșu pe hartă pt a juca. mode.attack.description = Distruge baza inamicului. \n[gray]E nevoie de un nucleu Agresor (roșu) pe hartă pt a juca.
mode.custom = Reguli Personalizate mode.custom = Reguli Personalizate
rules.infiniteresources = Resurse Infinite rules.infiniteresources = Resurse Infinite
@@ -998,6 +1003,7 @@ rules.wavetimer = Valuri pe Timp
rules.waves = Valuri rules.waves = Valuri
rules.attack = Modul Atac rules.attack = Modul Atac
rules.buildai = AI-ul Construiește rules.buildai = AI-ul Construiește
rules.aitier = Nivel AI
rules.cleanupdeadteams = Îndepărtează Clădirile Echipelor Învinse (PvP) rules.cleanupdeadteams = Îndepărtează Clădirile Echipelor Învinse (PvP)
rules.corecapture = Capturează Nucleele Distruse rules.corecapture = Capturează Nucleele Distruse
rules.enemyCheat = Resurse infinite pt AI (echipa roșie) rules.enemyCheat = Resurse infinite pt AI (echipa roșie)
@@ -1017,12 +1023,15 @@ rules.deconstructrefundmultiplier = Multiplicatorul Recompensei la Deconstrucți
rules.waitForWaveToEnd = Valurile Așteaptă Inamicii rules.waitForWaveToEnd = Valurile Așteaptă Inamicii
rules.dropzoneradius = Raza Zonei de Lansare:[lightgray] (pătrate) rules.dropzoneradius = Raza Zonei de Lansare:[lightgray] (pătrate)
rules.unitammo = Unitățile Necesită Muniție rules.unitammo = Unitățile Necesită Muniție
rules.enemyteam = Echipa Inamică
rules.playerteam = Echipa Jucătorului
rules.title.waves = Valuri rules.title.waves = Valuri
rules.title.resourcesbuilding = Resurse și Construit rules.title.resourcesbuilding = Resurse și Construcție
rules.title.enemy = Inamici rules.title.enemy = Inamici
rules.title.unit = Unități rules.title.unit = Unități
rules.title.experimental = Experimental rules.title.experimental = Experimental
rules.title.environment = Mediu rules.title.environment = Mediu
rules.title.teams = Echipe
rules.lighting = Luminozitate Ambientală rules.lighting = Luminozitate Ambientală
rules.enemyLights = Inamicii Luminează rules.enemyLights = Inamicii Luminează
rules.fire = Foc rules.fire = Foc
@@ -1101,13 +1110,12 @@ unit.reign.name = Reign
unit.vela.name = Vela unit.vela.name = Vela
unit.corvus.name = Corvus unit.corvus.name = Corvus
block.resupply-point.name = Punct de Realimentare
block.parallax.name = Parallax block.parallax.name = Parallax
block.cliff.name = Deal block.cliff.name = Deal
block.sand-boulder.name = Bolovan de Nisip block.sand-boulder.name = Bolovan de Nisip
block.grass.name = Iarbă block.grass.name = Iarbă
block.basalt-boulder.name = Bolovan de Bazalt block.basalt-boulder.name = Bolovan de Bazalt
block.slag.name = Zgură block.molten-slag.name = Zgură
block.space.name = Cosmos block.space.name = Cosmos
block.salt.name = Sare block.salt.name = Sare
block.salt-wall.name = Perete de Sare block.salt-wall.name = Perete de Sare
@@ -1134,12 +1142,12 @@ block.kiln.name = Cuptor
block.graphite-press.name = Presă de Grafit block.graphite-press.name = Presă de Grafit
block.multi-press.name = Multi-Presă block.multi-press.name = Multi-Presă
block.constructing = {0} [lightgray](În Construcție) block.constructing = {0} [lightgray](În Construcție)
block.spawn.name = Punctul de Lansare Inamic block.spawn.name = Punct Inamic de Lansare
block.core-shard.name = Nucleu: Shard block.core-shard.name = Nucleu: Shard
block.core-foundation.name = Nucleu: Foundation block.core-foundation.name = Nucleu: Foundation
block.core-nucleus.name = Nucleu: Core block.core-nucleus.name = Nucleu: Core
block.deepwater.name = Apă Adâncă block.deep-water.name = Apă Adâncă
block.water.name = Apă block.shallow-water.name = Apă
block.tainted-water.name = Apă Tulbure block.tainted-water.name = Apă Tulbure
block.darksand-tainted-water.name = Apă Tulbure cu Nisip Negru block.darksand-tainted-water.name = Apă Tulbure cu Nisip Negru
block.tar.name = Păcură block.tar.name = Păcură
@@ -1148,7 +1156,7 @@ block.sand.name = Nisip
block.darksand.name = Nisip Negru block.darksand.name = Nisip Negru
block.ice.name = Gheață block.ice.name = Gheață
block.snow.name = Zăpadă block.snow.name = Zăpadă
block.craters.name = Cratere block.crater-stone.name = Cratere
block.sand-water.name = Apă cu Nisip block.sand-water.name = Apă cu Nisip
block.darksand-water.name = Apă cu Nisip Negru block.darksand-water.name = Apă cu Nisip Negru
block.char.name = Turbă block.char.name = Turbă
@@ -1328,12 +1336,12 @@ block.large-logic-display.name = Monitor Logic Mare
block.memory-cell.name = Celulă de Memorie block.memory-cell.name = Celulă de Memorie
block.memory-bank.name = Bancă de Memorie block.memory-bank.name = Bancă de Memorie
team.blue.name = albastră team.blue.name = Albastru
team.crux.name = roșie team.crux.name = Agresor
team.sharded.name = portocalie team.sharded.name = Portocaliu
team.derelict.name = abandonată team.derelict.name = Abandonat
team.green.name = verde team.green.name = Verde
team.purple.name = mov team.purple.name = Mov
hint.skip = Treci peste hint.skip = Treci peste
hint.desktopMove = Folosește [accent][[WASD][] ca să te miști. hint.desktopMove = Folosește [accent][[WASD][] ca să te miști.
@@ -1400,12 +1408,11 @@ item.blast-compound.description = Folosit în bombe și muniție explozibilă.
item.pyratite.description = Folosită în armele incendiare și generatoarele pe bază de procese de combustie. item.pyratite.description = Folosită în armele incendiare și generatoarele pe bază de procese de combustie.
liquid.water.description = Folosită pt răcirea mașinăriilor și procesarea deșeurilor. liquid.water.description = Folosită pt răcirea mașinăriilor și procesarea deșeurilor.
liquid.slag.description = Rafinată în separatoare înapoi în materialele constituente, sau pulverizată înspre unitățile inamice ca armă. liquid.slag.description = Rafinată înapoi în materialele constituente cu ajutorul separatoarelor sau pulverizată înspre unitățile inamice ca armă.
liquid.oil.description = Folosit în producerea avansată de materiale și ca muniție incendiară. liquid.oil.description = Folosit în producerea avansată de materiale și ca muniție incendiară.
liquid.cryofluid.description = Folosit ca răcitor în reactoare, arme și fabrici. liquid.cryofluid.description = Folosit ca răcitor în reactoare, arme și fabrici.
block.derelict = [lightgray]Structuri Abandonate block.derelict = [lightgray]Structură Abandonată
block.resupply-point.description = Realimentează unitățile din apropiere cu muniție de cupru. Nu este compatibil cu unitățile care se încarcă din baterii.
block.armored-conveyor.description = Transportă materialele înainte. Nu acceptă materiale de pe lateral decât de la alte benzi. block.armored-conveyor.description = Transportă materialele înainte. Nu acceptă materiale de pe lateral decât de la alte benzi.
block.illuminator.description = Emite lumină. block.illuminator.description = Emite lumină.
block.message.description = Păstrează un mesaj. Folosit pt comunicarea dintre aliați. block.message.description = Păstrează un mesaj. Folosit pt comunicarea dintre aliați.

View File

@@ -1102,7 +1102,7 @@ block.cliff.name = Скала
block.sand-boulder.name = Песчаный валун block.sand-boulder.name = Песчаный валун
block.basalt-boulder.name = Базальтовый валун block.basalt-boulder.name = Базальтовый валун
block.grass.name = Трава block.grass.name = Трава
block.slag.name = Шлак block.molten-slag.name = Шлак
block.space.name = Космос block.space.name = Космос
block.salt.name = Соль block.salt.name = Соль
block.salt-wall.name = Соляная стена block.salt-wall.name = Соляная стена
@@ -1133,8 +1133,8 @@ block.spawn.name = Точка появления врагов
block.core-shard.name = Ядро: «Осколок» block.core-shard.name = Ядро: «Осколок»
block.core-foundation.name = Ядро: «Штаб» block.core-foundation.name = Ядро: «Штаб»
block.core-nucleus.name = Ядро: «Атом» block.core-nucleus.name = Ядро: «Атом»
block.deepwater.name = Глубоководье block.deep-water.name = Глубоководье
block.water.name = Вода block.shallow-water.name = Вода
block.tainted-water.name = Загрязнённая вода block.tainted-water.name = Загрязнённая вода
block.darksand-tainted-water.name = Тёмный песок с загрязнённой водой block.darksand-tainted-water.name = Тёмный песок с загрязнённой водой
block.tar.name = Нефть block.tar.name = Нефть
@@ -1143,7 +1143,7 @@ block.sand.name = Песок
block.darksand.name = Тёмный песок block.darksand.name = Тёмный песок
block.ice.name = Лёд block.ice.name = Лёд
block.snow.name = Снег block.snow.name = Снег
block.craters.name = Кратеры block.crater-stone.name = Кратеры
block.sand-water.name = Песок с водой block.sand-water.name = Песок с водой
block.darksand-water.name = Тёмный песок с водой block.darksand-water.name = Тёмный песок с водой
block.char.name = Выжженная земля block.char.name = Выжженная земля

View File

@@ -960,7 +960,7 @@ block.parallax.name = Parallax
block.cliff.name = Cliff block.cliff.name = Cliff
block.sand-boulder.name = Sandbumling block.sand-boulder.name = Sandbumling
block.grass.name = Gräs block.grass.name = Gräs
block.slag.name = Slag block.molten-slag.name = Slag
block.space.name = Space block.space.name = Space
block.salt.name = Salt block.salt.name = Salt
block.salt-wall.name = Salt Wall block.salt-wall.name = Salt Wall
@@ -991,8 +991,8 @@ block.spawn.name = Enemy Spawn
block.core-shard.name = Core: Shard block.core-shard.name = Core: Shard
block.core-foundation.name = Core: Foundation block.core-foundation.name = Core: Foundation
block.core-nucleus.name = Core: Nucleus block.core-nucleus.name = Core: Nucleus
block.deepwater.name = Djupt Vatten block.deep-water.name = Djupt Vatten
block.water.name = Vatten block.shallow-water.name = Vatten
block.tainted-water.name = Tainted Water block.tainted-water.name = Tainted Water
block.darksand-tainted-water.name = Dark Sand Tainted Water block.darksand-tainted-water.name = Dark Sand Tainted Water
block.tar.name = Tjära block.tar.name = Tjära
@@ -1001,7 +1001,7 @@ block.sand.name = Sand
block.darksand.name = Mörk Sand block.darksand.name = Mörk Sand
block.ice.name = Is block.ice.name = Is
block.snow.name = Snö block.snow.name = Snö
block.craters.name = Kratrar block.crater-stone.name = Kratrar
block.sand-water.name = Sandvatten block.sand-water.name = Sandvatten
block.darksand-water.name = Mörksandvatten block.darksand-water.name = Mörksandvatten
block.char.name = Char block.char.name = Char

View File

@@ -63,7 +63,7 @@ schematic.copy.import = นำเข้าจากคลิปบอร์ด
schematic.shareworkshop = แชร์บนเวิร์กช็อป schematic.shareworkshop = แชร์บนเวิร์กช็อป
schematic.flip = [accent][[{0}][]/[accent][[{1}][]: กลับแผนผัง schematic.flip = [accent][[{0}][]/[accent][[{1}][]: กลับแผนผัง
schematic.saved = บันทึกแผนผังแล้ว schematic.saved = บันทึกแผนผังแล้ว
schematic.delete.confirm = แผนผังนี้จะถูกกำจัดให้หมดสิ้นโดยสิ้นเชิง schematic.delete.confirm = แผนผังนี้จะถูกกำจัดให้หมดสิ้นไม่เหลือซาก
schematic.rename = เปลี่ยนชื่อแผนผัง schematic.rename = เปลี่ยนชื่อแผนผัง
schematic.info = {0}x{1}, {2} บล็อก schematic.info = {0}x{1}, {2} บล็อก
schematic.disabled = [scarlet]การใช้แผนผังถูกปิดไว้[]\nคุณไม่สามารถใช้แผนผังได้ใน[accent]แมพ[]หรือ[accent]เซิร์ฟเวอร์นี้ schematic.disabled = [scarlet]การใช้แผนผังถูกปิดไว้[]\nคุณไม่สามารถใช้แผนผังได้ใน[accent]แมพ[]หรือ[accent]เซิร์ฟเวอร์นี้
@@ -71,9 +71,9 @@ schematic.tags = แท็ก:
schematic.edittags = แก้ไขแท็ก schematic.edittags = แก้ไขแท็ก
schematic.addtag = เพิ่มแท็ก schematic.addtag = เพิ่มแท็ก
schematic.texttag = แท็กข้อความ schematic.texttag = แท็กข้อความ
schematic.icontag = ไอคอนแท็ก schematic.icontag = แท็กไอคอน
schematic.renametag = เปลี่ยนชื่อแท็ก schematic.renametag = เปลี่ยนชื่อแท็ก
schematic.tagdelconfirm = จะลบแท็กนี้ทั้งหมดใช่ไหม? schematic.tagdelconfirm = จะลบแท็กนี้ทั่วทั้งหมดเลยใช่ไหม?
schematic.tagexists = แท็กนี้มีอยู่แล้ว schematic.tagexists = แท็กนี้มีอยู่แล้ว
stats = สถิติ stats = สถิติ
@@ -114,7 +114,7 @@ continue = ต่อ
maps.none = [lightgray]ไม่มีแมพ! maps.none = [lightgray]ไม่มีแมพ!
invalid = ไม่ถูกต้อง invalid = ไม่ถูกต้อง
pickcolor = เลือกสี pickcolor = เลือกสี
preparingconfig = กำลังเตรียม Config preparingconfig = กำลังเตรียมค่าปรับแต่ง
preparingcontent = กำลังเตรียมเนื้อหา preparingcontent = กำลังเตรียมเนื้อหา
uploadingcontent = กำลังอัปโหลดเนื้อหา uploadingcontent = กำลังอัปโหลดเนื้อหา
uploadingpreviewfile = กำลังอัปโหลดไฟล์พรีวิว uploadingpreviewfile = กำลังอัปโหลดไฟล์พรีวิว
@@ -186,11 +186,11 @@ server.closing = [accent]กำลังปิดเซิร์ฟเวอร
server.kicked.kick = คุณถูกเตะออกจากเซิร์ฟเวอร์! server.kicked.kick = คุณถูกเตะออกจากเซิร์ฟเวอร์!
server.kicked.whitelist = คุณไม่ได้ถูกรับเชิญ\nคนที่ถูกรับเชิญเท่านั้นที่จะเข้าได้ server.kicked.whitelist = คุณไม่ได้ถูกรับเชิญ\nคนที่ถูกรับเชิญเท่านั้นที่จะเข้าได้
server.kicked.serverClose = เซิร์ฟเวอร์ถูกปิด server.kicked.serverClose = เซิร์ฟเวอร์ถูกปิด
server.kicked.vote = คุณถูกโหวตเตะออก บัยบาย server.kicked.vote = คุณถูกโหวตให้เตะออก บัยบาย
server.kicked.clientOutdated = ไคลเอนต์เก่า! กรุณาอัปเดตเกมของคุณ! server.kicked.clientOutdated = ไคลเอนต์เก่า! กรุณาอัปเดตเกมของคุณ!
server.kicked.serverOutdated = เซิร์ฟเวอร์เก่า! โปรดถามเจ้าของเซิร์ฟเวอร์เพื่ออัปเดต! server.kicked.serverOutdated = เซิร์ฟเวอร์เก่า! โปรดถามโฮสต์เพื่อให้อัปเดต!
server.kicked.banned = คุณถูกแบนในเซิร์ฟเวอร์นี้ server.kicked.banned = คุณถูกแบนในเซิร์ฟเวอร์นี้
server.kicked.typeMismatch = เซิร์ฟเวอร์นี้ไม่เข้ากับประเภทบิลด์ของคุณ server.kicked.typeMismatch = เซิร์ฟเวอร์นี้ไม่เข้ากับประเภทเวอร์ชั่นของคุณ
server.kicked.playerLimit = เซิร์ฟเวอร์เต็ม กรุณารอให้เซิร์ฟเวอร์ว่างก่อน server.kicked.playerLimit = เซิร์ฟเวอร์เต็ม กรุณารอให้เซิร์ฟเวอร์ว่างก่อน
server.kicked.recentKick = คุณเพิ่งถูกเตะออกจากเซิร์ฟเวอร์นี้\nกรุณารอสักครู่เพื่อเข้าร่วมอีกครั้ง server.kicked.recentKick = คุณเพิ่งถูกเตะออกจากเซิร์ฟเวอร์นี้\nกรุณารอสักครู่เพื่อเข้าร่วมอีกครั้ง
server.kicked.nameInUse = มีคนที่ใช้ชื่อนี้\nอยู่ในเซิร์ฟเวอร์แล้ว server.kicked.nameInUse = มีคนที่ใช้ชื่อนี้\nอยู่ในเซิร์ฟเวอร์แล้ว
@@ -229,7 +229,7 @@ trace.playername = ชื่อผู้เล่น: [accent]{0}
trace.ip = IP: [accent]{0} trace.ip = IP: [accent]{0}
trace.id = ID: [accent]{0} trace.id = ID: [accent]{0}
trace.mobile = ไคลเอนต์โมบาย: [accent]{0} trace.mobile = ไคลเอนต์โมบาย: [accent]{0}
trace.modclient = ไคลเอนต์แบบกำหนดเอง: [accent]{0} trace.modclient = ไคลเอนต์ปรับแต่ง: [accent]{0}
trace.times.joined = เวลาเข้า: [accent]{0} trace.times.joined = เวลาเข้า: [accent]{0}
trace.times.kicked = เวลาโดนเตะ: [accent]{0} trace.times.kicked = เวลาโดนเตะ: [accent]{0}
invalidid = client ID ไม่ถูกต้อง! กรุณารายงานบัคนี้ invalidid = client ID ไม่ถูกต้อง! กรุณารายงานบัคนี้
@@ -289,7 +289,7 @@ on = เปิด
off = ปิด off = ปิด
save.autosave = เซฟอัตโนมัติ: {0} save.autosave = เซฟอัตโนมัติ: {0}
save.map = แมพ: {0} save.map = แมพ: {0}
save.wave = Wave {0} save.wave = คลื่นที่ {0}
save.mode = เกมโหมด: {0} save.mode = เกมโหมด: {0}
save.date = เซฟล่าสุด: {0} save.date = เซฟล่าสุด: {0}
save.playtime = เวลาที่เล่นไป: {0} save.playtime = เวลาที่เล่นไป: {0}
@@ -317,7 +317,7 @@ data.invalid = นี่ไม่ใช่ข้อมูลเกมที่
data.import.confirm = การนำเข้าข้อมูลจากภายนอกจะเขียนทับข้อมูลเก่า[scarlet]ทั้งหมด[]\n[accent]และไม่สามารถย้อนกลับได้![]\n\nหลังจากที่นำเข้าข้อมูลแล้วเกมจะปิดลงโดยทันที data.import.confirm = การนำเข้าข้อมูลจากภายนอกจะเขียนทับข้อมูลเก่า[scarlet]ทั้งหมด[]\n[accent]และไม่สามารถย้อนกลับได้![]\n\nหลังจากที่นำเข้าข้อมูลแล้วเกมจะปิดลงโดยทันที
quit.confirm = คุณแน่ใจหรือว่าจะออก? quit.confirm = คุณแน่ใจหรือว่าจะออก?
loading = [accent]กำลังโหลด... loading = [accent]กำลังโหลด...
reloading = [accent]กำลังรีโหลดม็อด... downloading = [accent]กำลังดาวน์โหลด...
saving = [accent]กำลังเซฟ... saving = [accent]กำลังเซฟ...
respawn = กด [accent][[{0}][] เพื่อเกิดใหม่ที่แกนกลาง respawn = กด [accent][[{0}][] เพื่อเกิดใหม่ที่แกนกลาง
cancelbuilding = กด [accent][[{0}][] เพื่อเคลียร์แผน cancelbuilding = กด [accent][[{0}][] เพื่อเคลียร์แผน
@@ -345,13 +345,13 @@ custom = กำหนดเอง
builtin = ติดตัว builtin = ติดตัว
map.delete.confirm = คุณแน่ใจหรือว่าจะลบแมพนี้? การกระทำครั้งนี้ไม่สามารถย้อนกลับได้! map.delete.confirm = คุณแน่ใจหรือว่าจะลบแมพนี้? การกระทำครั้งนี้ไม่สามารถย้อนกลับได้!
map.random = [accent]สุ่มแมพ map.random = [accent]สุ่มแมพ
map.nospawn = แมพนี้ไม่มีแกนกลางให้ผู้เล่นเกิด! กรุณาใส่แกนกลาง[accent]สีเหลือง[] ในตัวแก้ไข map.nospawn = แมพนี้ไม่มีแกนกลางให้ผู้เล่นเกิด! กรุณาใส่แกนกลาง[#{0}]{1}[] ลงในตัวแก้ไข
map.nospawn.pvp = แมพนี้ไม่มีแกนกลางของศัตรูสำหรับให้ผู้เล่นเกิด! กรุณาใส่แกนกลาง[scarlet]ที่ไม่ใช่สีส้ม[] ในตัวแก้ไข map.nospawn.pvp = แมพนี้ไม่มีแกนกลางของศัตรูสำหรับให้ผู้เล่นเกิด! กรุณาใส่แกนกลาง[scarlet]ที่ไม่ใช่สีส้ม[] ลงในตัวแก้ไข
map.nospawn.attack = แมพนี้ไม่มีแกนกลางของศัตรูสำหรับให้ผู้เล่นโจมตี! กรุณาใส่แกนกลาง[scarlet]สีแดง[] ในตัวแก้ไข map.nospawn.attack = แมพนี้ไม่มีแกนกลางของศัตรูสำหรับให้ผู้เล่นโจมตี! กรุณาใส่แกนกลาง[#{0}]{1}[] ลงในตัวแก้ไข
map.invalid = โหลดแมพผิดพลาด: ไฟล์แมพเสียหายหรือไม่ถูกต้อง map.invalid = โหลดแมพผิดพลาด: ไฟล์แมพเสียหายหรือไม่ถูกต้อง
workshop.update = อัปเดตไอเท็ม workshop.update = อัปเดตไอเท็ม
workshop.error = ผิดพลาดในการนำเวิร์กช็อปมา รายละเอียดดังนี้: {0} workshop.error = ผิดพลาดในการนำเวิร์กช็อปมา รายละเอียดดังนี้: {0}
map.publish.confirm = คุณแน่ใจหรือว่าจะเผยแพร่แมพนี้?\n\n[lightgray]คุณต้องแน่ใจก่อนว่าคุณเห็นด้วยกับ Workshop EULA, มิฉนั้นแมพจะไม่ปรากฏ! map.publish.confirm = คุณแน่ใจหรือว่าจะเผยแพร่แมพนี้?\n\n[lightgray]คุณต้องแน่ใจก่อนว่าคุณเห็นด้วยกับ Workshop EULA มิฉนั้นแมพจะไม่ปรากฏ!
workshop.menu = เลือกว่าจะทำอะไรกับไอเท็มนี้ workshop.menu = เลือกว่าจะทำอะไรกับไอเท็มนี้
workshop.info = ข้อมูลไอเท็ม workshop.info = ข้อมูลไอเท็ม
changelog = สิ่งที่เปลี่ยนไป (ไม่จำเป็น): changelog = สิ่งที่เปลี่ยนไป (ไม่จำเป็น):
@@ -482,9 +482,9 @@ filter.terrain = พื้นผิว
filter.option.scale = มาตราส่วน filter.option.scale = มาตราส่วน
filter.option.chance = โอกาส filter.option.chance = โอกาส
filter.option.mag = แม็คนิจู filter.option.mag = แมนิจู
filter.option.threshold = เกณฑ์ filter.option.threshold = เกณฑ์
filter.option.circle-scale = สเกลวงกลม filter.option.circle-scale = อัตราวงกลม
filter.option.octaves = เลอะเลือน filter.option.octaves = เลอะเลือน
filter.option.falloff = หลุดร่วง filter.option.falloff = หลุดร่วง
filter.option.angle = มุม filter.option.angle = มุม
@@ -522,7 +522,7 @@ editor = ตัวแก้ไขแมพ
mapeditor = แก้ไขแมพ mapeditor = แก้ไขแมพ
abandon = ละทิ้ง abandon = ละทิ้ง
abandon.text = โซนนี้และทรัพยากรทั้งหมดจะถูกยดไปเป็นของศัตรู abandon.text = โซนนี้และทรัพยากรทั้งหมดจะถูกยดไปเป็นของศัตรู
locked = ล็อก locked = ล็อก
complete = [lightgray]ต้องมี: complete = [lightgray]ต้องมี:
requirement.wave = ถึงคลื่นที่ {0} ใน {1} requirement.wave = ถึงคลื่นที่ {0} ใน {1}
@@ -539,6 +539,7 @@ configure = ตั้งค่าทรัพยากร
loadout = ทรัพยากรเริ่มต้น loadout = ทรัพยากรเริ่มต้น
resources = ทรัพยากร resources = ทรัพยากร
bannedblocks = บล็อกต้องห้าม bannedblocks = บล็อกต้องห้าม
bannedunits = ยูนิตต้องห้าม
addall = เพิ่มทั้งหมด addall = เพิ่มทั้งหมด
launch.from = ลงจอดจากเซ็กเตอร์: [accent]{0} launch.from = ลงจอดจากเซ็กเตอร์: [accent]{0}
launch.destination = จุดหมายปลายทาง: {0} launch.destination = จุดหมายปลายทาง: {0}
@@ -550,7 +551,7 @@ connectfail = [crimson]การเชื่อมต่อผิดพลาด
error.unreachable = เซิร์ฟเวอร์ไม่สามารถเข้าถึงได้\nแน่ใจหรือว่าที่อยู่เขียนถูกต้อง? error.unreachable = เซิร์ฟเวอร์ไม่สามารถเข้าถึงได้\nแน่ใจหรือว่าที่อยู่เขียนถูกต้อง?
error.invalidaddress = ที่อยู่ไม่ถูกต้อง error.invalidaddress = ที่อยู่ไม่ถูกต้อง
error.timedout = Timed out!\nเช็คให้แน่ใจว่า port forwarding ของโฮสต์เปิดอยู่และที่อยู่นั้นถูกต้อง! error.timedout = Timed out!\nเช็คให้แน่ใจว่า port forwarding ของโฮสต์เปิดอยู่และที่อยู่นั้นถูกต้อง!
error.mismatch = Packet error:\nอาจเกิดจากเวอร์ชั่นของ ไคลเอนต์/เซิร์ฟเวอร์ ไม่ตรงกัน\nเช็คให้แน่ใจว่าเซิร์ฟเวอร์ใช้ Mindustry เวอร์ชั่นล่าสุด! error.mismatch = Packet error:\nอาจเกิดจากเวอร์ชั่นของ ไคลเอนต์/เซิร์ฟเวอร์ ไม่ตรงกัน\nเช็คให้แน่ใจว่าคุณและโฮสต์ใช้ Mindustry เวอร์ชั่นล่าสุด!
error.alreadyconnected = เชื่อมต่ออยู่แล้ว error.alreadyconnected = เชื่อมต่ออยู่แล้ว
error.mapnotfound = ไม่พบไฟล์แมพ error.mapnotfound = ไม่พบไฟล์แมพ
error.io = Network I/O error error.io = Network I/O error
@@ -563,6 +564,8 @@ weather.sandstorm.name = พายุทราย
weather.sporestorm.name = พายุสปอร์ weather.sporestorm.name = พายุสปอร์
weather.fog.name = หมอก weather.fog.name = หมอก
sectorlist = เซ็กเตอร์
sectorlist.attacked = {0} ถูกโจมตึ
sectors.unexplored = [lightgray]ยังไม่ได้สำรวจ sectors.unexplored = [lightgray]ยังไม่ได้สำรวจ
sectors.resources = ทรัพยากร: sectors.resources = ทรัพยากร:
sectors.production = การผลิต: sectors.production = การผลิต:
@@ -620,14 +623,14 @@ sector.extractionOutpost.name = ด่านส่งทรัพยากร
sector.planetaryTerminal.name = ท่าปล่อยจรวดอวกาศยาน sector.planetaryTerminal.name = ท่าปล่อยจรวดอวกาศยาน
sector.groundZero.description = ที่ที่ดีที่สุดในการเริ่มต้นอีกครั้ง ศัตรูน้อย ทรัพยากรน้อย\nเก็บ[accent]ตะกั่ว[]และ[accent]ทองแดง[]ให้ได้มากที่สุด\nแล้วลุยต่อ sector.groundZero.description = ที่ที่ดีที่สุดในการเริ่มต้นอีกครั้ง ศัตรูน้อย ทรัพยากรน้อย\nเก็บ[accent]ตะกั่ว[]และ[accent]ทองแดง[]ให้ได้มากที่สุด\nแล้วลุยต่อ
sector.frozenForest.description = แม้แต่ที่นี่ ที่ที่อยู่ใกล้ภูเขา [accent]สปอร์[]ก็ยังแพร่มาถึงที่นี่ อากาศที่เย็นเยือกไม่สามารถหยุดยั้งพวกมันได้ตลอดไป\n\nเริ่มต้นการใช้ไฟฟ้า สร้างเครื่องกำเนิดไฟฟ้าเผาไหม้ เรียนรู้ที่จะใช้เครื่องซ่อมแซม sector.frozenForest.description = แม้แต่ที่นี่ ที่ที่อยู่ใกล้ภูเขา [accent]สปอร์[]ก็ยังแพร่มาถึงที่นี่\nอากาศอันเย็นเยือกไม่สามารถหยุดยั้งพวกมันได้ตลอดไป\n\nเริ่มต้นการใช้ไฟฟ้า สร้างเครื่องกำเนิดไฟฟ้าเผาไหม้\nเรียนรู้ที่จะใช้เครื่องซ่อมแซม
sector.saltFlats.description = ณ ขอบของทะเลทราย เป็นที่ตั้งของที่ราบเกลือ สามารถพบทรัพยากรบางอย่างได้ที่นี่\n\nศัตรูได้ตั้งฐานเก็บทรัพยากรไว้ที่นี่ ทำลายแกนกลางของพวกมัน อย่าให้มีอะไรเหลือ sector.saltFlats.description = ณ ขอบของทะเลทราย เป็นที่ตั้งของที่ราบเกลือ สามารถพบทรัพยากรบางอย่างได้ที่นี่\n\nศัตรูได้ตั้งฐานเก็บทรัพยากรไว้ที่นี่ ทำลายแกนกลางของพวกมัน อย่าให้มีอะไรเหลือ
sector.craters.description = น้ำขังอยู่ในหลุมอุกกาบาศแห่งนี้ อนุสรณ์สถานของสงครามเก่าแก่ ยึดพื้นที่นี่มา เก็บทราย เผา[accent]กระจกเมต้า[] ปั๊มน้ำเพื่อมาหล่อเย็นป้อมปืนและเครื่องขุดเจาะ sector.craters.description = น้ำขังอยู่ในหลุมอุกกาบาศแห่งนี้ อนุสรณ์สถานของสงครามเก่าแก่\nยึดพื้นที่นี่มา เก็บทราย เผา[accent]กระจกเมต้า[]\nปั๊มน้ำเพื่อมาหล่อเย็นป้อมปืนและเครื่องขุดเจาะ
sector.ruinousShores.description = ถัดจากทะเลทราย เป็นที่ตั้งของชายฝั่ง ที่ครั้งก่อน เคยเป็นที่ตั้งของฐานป้องกันชายฝั่ง ซึ่งทุกทำลายไปซะส่วนใหญ่แล้ว มีเหลือแค่ระบบการป้องกันพื้นฐาน ทุกอย่างที่เหลือถูกทำลายเหลือเพียงแค่เศษเหล็ก\n\nทำการขยายการสำรวจต่อไป ค้นพบกับเทคโนโลยีอีกครั้ง sector.ruinousShores.description = ถัดมาจากทะเลทราย เป็นที่ตั้งของชายฝั่ง ที่ครั้งก่อน เคยเป็นที่ตั้งของฐานป้องกันชายฝั่ง\nซึ่งทุกทำลายไปซะส่วนใหญ่แล้ว มีเหลือแค่ระบบการป้องกันพื้นฐาน\nทุกอย่างที่เหลือถูกทำลายเหลือเพียงแค่เศษเหล็ก\n\nทำการขยายการสำรวจต่อไป ค้นพบกับเทคโนโลยีอีกครั้ง
sector.stainedMountains.description = เข้าลึกไปในพื้นที่ จะพบกับภูเขา ซึ่งยังไม่ถูกสปอร์แตะต้อง\nขุด[accent]ไทเทเนี่ยม[]ที่อุดมสมบูรณ์ในพื้นที่นี้ เรียนรู้ที่จะใช้มัน\n\nมีศัตรูปรากฏตัวมากขึ้นในบริเวณนี้ อย่าปล่อยให้พวกมันส่งยูนิตที่แข็งแกร่งที่สุดออกมา sector.stainedMountains.description = เข้าลึกไปในพื้นที่ จะพบกับภูเขา ซึ่งยังไม่ถูกสปอร์แตะต้อง\nขุด[accent]ไทเทเนี่ยม[]ที่อุดมสมบูรณ์ในพื้นที่นี้ เรียนรู้ที่จะใช้มัน\n\nมีศัตรูปรากฏตัวมากขึ้นในบริเวณนี้ อย่าปล่อยให้พวกมันส่งยูนิตที่แข็งแกร่งที่สุดออกมา
sector.overgrowth.description = พื้นที่นี้ถูกปกคลุมไปด้วยพืช เข้าใกล้กับแหล่งกำเนิดของสปอร์\nศัตรูได้ตั้งฐานเฝ้าระวังไว้ที่นี่ สร้างยูนิตเมส ทำลายฐานทิ้งซะ\nวิจัย[accent]เครื่องพัฒนารุ่นยกกำลัง[]เพื่อผลิตยูนิตขนาดที่ใหญ่ขึ้น sector.overgrowth.description = พื้นที่นี้ถูกปกคลุมไปด้วยพืช เข้าใกล้กับแหล่งกำเนิดของสปอร์\nศัตรูได้ตั้งฐานเฝ้าระวังไว้ที่นี่ สร้างยูนิตเมส ทำลายฐานทิ้งซะ\nวิจัย[accent]เครื่องพัฒนารุ่นยกกำลัง[]เพื่อผลิตยูนิตขนาดที่ใหญ่ขึ้น
sector.tarFields.description = ขอบของพื้นที่ผลิตน้ำมัน อยู่ระหว่างภูเขาและทะเลทราย หนึ่งในพื้นที่ที่มีแหล่งน้ำมันดิที่ใช้งานได้\nแม้ว่าจะถูกทิ้งร้าง พื้นที่นี้ยังคงมีฐานทัพของศัตรูอยู่ใกล้ๆ อย่าประมาทกับพวกมัน\n\n[lightgray]วิจัยเทคโนโลยีการแปรรูปน้ำมันหากเป็นไปได้ sector.tarFields.description = ขอบของพื้นที่ผลิตน้ำมัน อยู่ระหว่างภูเขาและทะเลทราย หนึ่งในพื้นที่ที่มีแหล่งน้ำมันดิที่ใช้งานได้\nแม้ว่าจะถูกทิ้งร้าง พื้นที่นี้ยังคงมีฐานทัพของศัตรูอยู่ใกล้ๆ อย่าประมาทกับพวกมัน\n\n[lightgray]วิจัยเทคโนโลยีการแปรรูปน้ำมันหากเป็นไปได้
sector.desolateRift.description = เป็นพื้นที่ที่อันตรายมาก ทรัพยากรมากมาย แต่พื้นที่แคบ ความเสี่ยงการโดนทำลายล้างสูง ออกไปจากที่นี่ให้เร็วที่สุด อย่าถูกหลอกโดยระยะเวลาระหว่างการโจมตีของศัตรูที่เว้นไว้นานกว่าปกติ sector.desolateRift.description = เป็นพื้นที่ที่อันตรายมาก ทรัพยากรมากมาย แต่พื้นที่คับแคบ\nความเสี่ยงการโดนทำลายล้างสูง ออกไปจากที่นี่ให้เร็วที่สุด\nอย่าถูกหลอกโดยระยะเวลาระหว่างการโจมตีของศัตรูที่เว้นไว้นานกว่าปกติ
sector.nuclearComplex.description = สถานที่ผลิตและแปรรูปทอเรี่ยมเก่า ถูกทำลายไม่เหลือสิ้น\nวิจัยทอเรี่ยมและวิธีการใช้มัน\n\nศัตรูในบริเวณนี้มีจำนวนมาก คอยตรวจตราหาผู้บุกรุกอยู่ตลอดเวลา sector.nuclearComplex.description = สถานที่ผลิตและแปรรูปทอเรี่ยมเก่า ถูกทำลายไม่เหลือสิ้น\nวิจัยทอเรี่ยมและวิธีการใช้มัน\n\nศัตรูในบริเวณนี้มีจำนวนมาก คอยตรวจตราหาผู้บุกรุกอยู่ตลอดเวลา
sector.fungalPass.description = ทางผ่านระหว่างพื้นที่สูงและต่ำของภูเขา พื้นที่นี้เต็มไปด้วยสปอร์ ฐานลาดตระเวนขนาดเล็กของศัตรูตั้งอยู่ที่นี่\nทำลายมันซะ\nผลิตยูนิตแด็กเกอร์และครอว์เลอร์ ทำลายแกนกลางทั้งสองไม่ให้เหลือซาก sector.fungalPass.description = ทางผ่านระหว่างพื้นที่สูงและต่ำของภูเขา พื้นที่นี้เต็มไปด้วยสปอร์ ฐานลาดตระเวนขนาดเล็กของศัตรูตั้งอยู่ที่นี่\nทำลายมันซะ\nผลิตยูนิตแด็กเกอร์และครอว์เลอร์ ทำลายแกนกลางทั้งสองไม่ให้เหลือซาก
sector.biomassFacility.description = แหล่งต้นกำเนิดของสปอร์ ที่นี่คือฐานวิจัยและผลิตสปอร์เริ่มแรก\nวิจัยเทคโนโลยีที่อยู่ภายในนั้น เพาะชำ[accent]สปอร์[]เพื่อเป็นเชื้อเพลิงและใช้ในการผลิตพลาสติก\n\n[gray]เมื่อสถานที่นี้ถูกทิ้งร้าง สปอร์ก็ถูกปล่อยออกมา ไม่มีสิ่งใดในระบบนิเวศท้องถิ่นที่สามารถแข่งขันกับสิ่งมีชีวิตที่\nแพร่กระจายเช่นนี้ได้ sector.biomassFacility.description = แหล่งต้นกำเนิดของสปอร์ ที่นี่คือฐานวิจัยและผลิตสปอร์เริ่มแรก\nวิจัยเทคโนโลยีที่อยู่ภายในนั้น เพาะชำ[accent]สปอร์[]เพื่อเป็นเชื้อเพลิงและใช้ในการผลิตพลาสติก\n\n[gray]เมื่อสถานที่นี้ถูกทิ้งร้าง สปอร์ก็ถูกปล่อยออกมา ไม่มีสิ่งใดในระบบนิเวศท้องถิ่นที่สามารถแข่งขันกับสิ่งมีชีวิตที่\nแพร่กระจายเช่นนี้ได้
@@ -824,8 +827,8 @@ unit.percent = %
unit.shieldhealth = พลังชีวิตโล่ unit.shieldhealth = พลังชีวิตโล่
unit.items = ไอเท็ม unit.items = ไอเท็ม
unit.thousands = k unit.thousands = k
unit.millions = [] []ล้าน unit.millions = [lightgray] []ล้าน
unit.billions = [] []พันล้าน unit.billions = [lightgray] []พันล้าน
unit.pershot = [] []ไอเท็ม/การยิง unit.pershot = [] []ไอเท็ม/การยิง
category.purpose = วัตถุประสงค์ category.purpose = วัตถุประสงค์
category.general = ทั่วไป category.general = ทั่วไป
@@ -863,10 +866,10 @@ setting.difficulty.training = ฝึกซ้อม
setting.difficulty.easy = ง่าย setting.difficulty.easy = ง่าย
setting.difficulty.normal = ปานกลาง setting.difficulty.normal = ปานกลาง
setting.difficulty.hard = ยาก setting.difficulty.hard = ยาก
setting.difficulty.insane = ยากมาก setting.difficulty.insane = โหดเหี้ยม
setting.difficulty.name = ระดับความยาก: setting.difficulty.name = ระดับความยาก:
setting.screenshake.name = การสั่นของจอ setting.screenshake.name = การสั่นของจอ
setting.effects.name = แสดงเอฟเฟกต์ setting.effects.name = แสดงเอฟเฟกต์
setting.destroyedblocks.name = แสดงบล็อกที่ถูกทำลาย setting.destroyedblocks.name = แสดงบล็อกที่ถูกทำลาย
setting.blockstatus.name = แสดงสถานะของบล็อก setting.blockstatus.name = แสดงสถานะของบล็อก
setting.conveyorpathfinding.name = ตรวจสอบเส้นทางการวางอัจฉริยะ setting.conveyorpathfinding.name = ตรวจสอบเส้นทางการวางอัจฉริยะ
@@ -876,6 +879,7 @@ setting.seconds = {0} วินาที
setting.milliseconds = {0} มิลลิวินาที setting.milliseconds = {0} มิลลิวินาที
setting.fullscreen.name = เต็มจอ setting.fullscreen.name = เต็มจอ
setting.borderlesswindow.name = หน้าต่างแบบไร้ขอบ setting.borderlesswindow.name = หน้าต่างแบบไร้ขอบ
setting.borderlesswindow.name.windows = จอเต็มแบบไร้ขอบ
setting.borderlesswindow.description = อาจจะต้องรีสตาร์ทเพื่อใส่การเปลี่ยนแปลง setting.borderlesswindow.description = อาจจะต้องรีสตาร์ทเพื่อใส่การเปลี่ยนแปลง
setting.fps.name = แสดง FPS และ Ping setting.fps.name = แสดง FPS และ Ping
setting.smoothcamera.name = กล้องแบบลื่นไหล setting.smoothcamera.name = กล้องแบบลื่นไหล
@@ -922,8 +926,8 @@ keybind.clear_building.name = เคลียร์สิ่งก่อสร
keybind.press = กดปุ่มใดก็ได้... keybind.press = กดปุ่มใดก็ได้...
keybind.press.axis = กดแกนหรือปุ่มใดก็ได้... keybind.press.axis = กดแกนหรือปุ่มใดก็ได้...
keybind.screenshot.name = ถ่ายรูปแมพ keybind.screenshot.name = ถ่ายรูปแมพ
keybind.toggle_power_lines.name = เปิดปิดเลเซอร์พลังงาน keybind.toggle_power_lines.name = เปิด/ปิด เลเซอร์พลังงาน
keybind.toggle_block_status.name = เปิดปิดสถานะของบล็อก keybind.toggle_block_status.name = เปิด/ปิด สถานะของบล็อก
keybind.move_x.name = เคลื่อนที่ในแกน x keybind.move_x.name = เคลื่อนที่ในแกน x
keybind.move_y.name = เคลี่อนที่ในแกน y keybind.move_y.name = เคลี่อนที่ในแกน y
keybind.mouse_move.name = ตามเม้าส์ keybind.mouse_move.name = ตามเม้าส์
@@ -999,6 +1003,7 @@ rules.wavetimer = นับถอยหลังการปล่อยคล
rules.waves = คลื่น rules.waves = คลื่น
rules.attack = โหมดการโจมตี rules.attack = โหมดการโจมตี
rules.buildai = AI ก่อสร้าง rules.buildai = AI ก่อสร้าง
rules.aitier = ระดับของ AI
rules.cleanupdeadteams = ลบล้างสิ่งก่อสร้างศัตรูที่พ่ายแพ้ (PvP) rules.cleanupdeadteams = ลบล้างสิ่งก่อสร้างศัตรูที่พ่ายแพ้ (PvP)
rules.corecapture = ยืดแกนกลางเมื่อทำลาย rules.corecapture = ยืดแกนกลางเมื่อทำลาย
rules.polygoncoreprotection = รัศมีปกป้องแกนกลางแบบหลายเหลี่ยม rules.polygoncoreprotection = รัศมีปกป้องแกนกลางแบบหลายเหลี่ยม
@@ -1018,12 +1023,15 @@ rules.deconstructrefundmultiplier = พหุคูณการคืนทร
rules.waitForWaveToEnd = คลื่นรอศัตรู rules.waitForWaveToEnd = คลื่นรอศัตรู
rules.dropzoneradius = รัศมีจุดเกิดของศัตรู:[lightgray] (ช่อง) rules.dropzoneradius = รัศมีจุดเกิดของศัตรู:[lightgray] (ช่อง)
rules.unitammo = ยูนิตต้องใช้กระสุน rules.unitammo = ยูนิตต้องใช้กระสุน
rules.enemyteam = ทีมศัตรู
rules.playerteam = ทีมผู้เล่น
rules.title.waves = คลื่น rules.title.waves = คลื่น
rules.title.resourcesbuilding = ทรัพยากรและสิ่งก่อสร้าง rules.title.resourcesbuilding = ทรัพยากรและสิ่งก่อสร้าง
rules.title.enemy = ศัตรู rules.title.enemy = ศัตรู
rules.title.unit = ยูนิต rules.title.unit = ยูนิต
rules.title.experimental = ทดลอง rules.title.experimental = ทดลอง
rules.title.environment = สิ่งแวดล้อม rules.title.environment = สิ่งแวดล้อม
rules.title.teams = ทีม
rules.lighting = แสง rules.lighting = แสง
rules.enemyLights = ไฟศัตรู rules.enemyLights = ไฟศัตรู
rules.fire = ไฟ rules.fire = ไฟ
@@ -1102,13 +1110,12 @@ unit.reign.name = เรน
unit.vela.name = เวล่า unit.vela.name = เวล่า
unit.corvus.name = คอร์วัส unit.corvus.name = คอร์วัส
block.resupply-point.name = จุดเติมของ
block.parallax.name = พาราแล็คซ์ block.parallax.name = พาราแล็คซ์
block.cliff.name = หน้าผา block.cliff.name = หน้าผา
block.sand-boulder.name = ก้อนหินทราย block.sand-boulder.name = ก้อนหินทราย
block.basalt-boulder.name = ก้อนบะซอลต์ block.basalt-boulder.name = ก้อนบะซอลต์
block.grass.name = หญ้า block.grass.name = หญ้า
block.slag.name = แร่หลอม block.molten-slag.name = แร่หลอมละลาย
block.space.name = อวกาศ block.space.name = อวกาศ
block.salt.name = เกลือ block.salt.name = เกลือ
block.salt-wall.name = กำแพงเกลือ block.salt-wall.name = กำแพงเกลือ
@@ -1139,17 +1146,17 @@ block.spawn.name = จุดเกิดศัตรู
block.core-shard.name = แกนกลาง: ชาร์ด block.core-shard.name = แกนกลาง: ชาร์ด
block.core-foundation.name = แกนกลาง: ฟาวน์เดชั่น block.core-foundation.name = แกนกลาง: ฟาวน์เดชั่น
block.core-nucleus.name = แกนกลาง: นิวเคลียส block.core-nucleus.name = แกนกลาง: นิวเคลียส
block.deepwater.name = น้ำลึก block.deep-water.name = น้ำลึก
block.water.name = น้ำ block.shallow-water.name = น้ำตื้น
block.tainted-water.name = น้ำเสีย block.tainted-water.name = น้ำเสีย
block.darksand-tainted-water.name = น้ำเสียบนทรายดำ block.darksand-tainted-water.name = น้ำเสียบนทรายดำ
block.tar.name = น้ำมันดิ block.tar.name = น้ำมันดิ
block.stone.name = หิน block.stone.name = หิน
block.sand.name = ทราย block.sand.name = ทราย
block.darksand.name = ทรายดำ block.darksand.name = ทรายดำ
block.ice.name = น้ำแข็ง block.ice.name = น้ำแข็ง
block.snow.name = หิมะ block.snow.name = หิมะ
block.craters.name = หลุมอุกกาบาต block.crater-stone.name = หลุมอุกกาบาต
block.sand-water.name = น้ำบนทราย block.sand-water.name = น้ำบนทราย
block.darksand-water.name = น้ำบนทรายดำ block.darksand-water.name = น้ำบนทรายดำ
block.char.name = ถ่าน block.char.name = ถ่าน
@@ -1199,7 +1206,7 @@ block.door.name = ประตู
block.door-large.name = ประตูขนาดใหญ่ block.door-large.name = ประตูขนาดใหญ่
block.duo.name = ดูโอ้ block.duo.name = ดูโอ้
block.scorch.name = สคอร์ช block.scorch.name = สคอร์ช
block.scatter.name = สแกตเตอร์ block.scatter.name = สแกตเตอร์
block.hail.name = ลูกเห็บ block.hail.name = ลูกเห็บ
block.lancer.name = แลนเซอร์ block.lancer.name = แลนเซอร์
block.conveyor.name = สายพาน block.conveyor.name = สายพาน
@@ -1289,7 +1296,7 @@ block.overdrive-projector.name = เครื่องเร่งประส
block.force-projector.name = เครื่องฉายสนามพลัง block.force-projector.name = เครื่องฉายสนามพลัง
block.arc.name = อาร์ค block.arc.name = อาร์ค
block.rtg-generator.name = เครื่องกำเนิดไฟฟ้า RTG block.rtg-generator.name = เครื่องกำเนิดไฟฟ้า RTG
block.spectre.name = สเปคเตอร์ block.spectre.name = สเปคเตอร์
block.meltdown.name = เมลท์ดาวน์ block.meltdown.name = เมลท์ดาวน์
block.foreshadow.name = ฟอร์ชาโดว์ block.foreshadow.name = ฟอร์ชาโดว์
block.container.name = ตู้เก็บของ block.container.name = ตู้เก็บของ
@@ -1354,8 +1361,8 @@ hint.breaking = [accent]คลิ๊กขวา[] แล้วลากเพ
hint.breaking.mobile = เปิดใช้ \ue817 [accent]ค้อน[] ตรงล่างขวาแล้วเลือกเพื่อทำลายบล็อก\n\nเอานิ้วจิ้มลงไปสักแป๊บนึงแล้วลากเพื่อเลือกหลายๆ อัน hint.breaking.mobile = เปิดใช้ \ue817 [accent]ค้อน[] ตรงล่างขวาแล้วเลือกเพื่อทำลายบล็อก\n\nเอานิ้วจิ้มลงไปสักแป๊บนึงแล้วลากเพื่อเลือกหลายๆ อัน
hint.blockInfo = ดูข้อมูลของบล็อกโดยการเลือกจาก[accent]เมนูการสร้าง[] แล้วกดที่รูป [accent][[?][] ตรงด้านขวา hint.blockInfo = ดูข้อมูลของบล็อกโดยการเลือกจาก[accent]เมนูการสร้าง[] แล้วกดที่รูป [accent][[?][] ตรงด้านขวา
hint.derelict = สิ่งก่อสร้างที่ถูก[accent]ทิ้งร้าง[]คือเศษซากพังทลายของฐานเก่าแก่ที่ไม่สามารถใช้งานได้แล้ว\n\nสิ่งก่อสร้างพวกนี้สามารถ[accent]ทุบทิ้ง[]เพื่อเก็บเกี่ยวทรัพยากรที่อยู่ในนั้นได้ hint.derelict = สิ่งก่อสร้างที่ถูก[accent]ทิ้งร้าง[]คือเศษซากพังทลายของฐานเก่าแก่ที่ไม่สามารถใช้งานได้แล้ว\n\nสิ่งก่อสร้างพวกนี้สามารถ[accent]ทุบทิ้ง[]เพื่อเก็บเกี่ยวทรัพยากรที่อยู่ในนั้นได้
hint.research = ใช้ปุ่ม \ue875 [accent]วิจัย[] เพื่อวิจัยเทคโนโลยีใหม่ๆ hint.research = กดปุ่ม \ue875 [accent]วิจัย[] เพื่อวิจัยเทคโนโลยีใหม่ๆ
hint.research.mobile = ใช้ปุ่ม \ue875 [accent]วิจัย[] ใน \ue88c [accent]เมนู[] เพื่อวิจัยเทคโนโลยีใหม่ๆ hint.research.mobile = กดปุ่ม \ue875 [accent]วิจัย[] ใน \ue88c [accent]เมนู[] เพื่อวิจัยเทคโนโลยีใหม่ๆ
hint.unitControl = กด [accent][[L-Ctrl][] ค้างไว้แล้วกด[accent]คลิ๊ก[]เพื่อควบคุมยานพวกพ้องหรือป้อมปืน hint.unitControl = กด [accent][[L-Ctrl][] ค้างไว้แล้วกด[accent]คลิ๊ก[]เพื่อควบคุมยานพวกพ้องหรือป้อมปืน
hint.unitControl.mobile = [accent][[กดสองครั้ง][]เพื่อควบคุมยานพวกพ้องหรือป้อมปืน hint.unitControl.mobile = [accent][[กดสองครั้ง][]เพื่อควบคุมยานพวกพ้องหรือป้อมปืน
hint.launch = เมื่อเก็บทรัพยากรเยอะพอ คุณสามารถ[accent]ส่งแกนกลาง[]โดยการเลือกเซ็กเตอร์จาก \ue827 [accent]แผนที่[] ตรงขวาล่าง hint.launch = เมื่อเก็บทรัพยากรเยอะพอ คุณสามารถ[accent]ส่งแกนกลาง[]โดยการเลือกเซ็กเตอร์จาก \ue827 [accent]แผนที่[] ตรงขวาล่าง
@@ -1416,9 +1423,8 @@ liquid.oil.details = ของเหลวเฉื่อยพบได้ไ
liquid.cryofluid.description = ใช้ในการหล่อเย็นเตาปฏิกร สิ่งก่อสร้างหรือโรงงานต่างๆ liquid.cryofluid.description = ใช้ในการหล่อเย็นเตาปฏิกร สิ่งก่อสร้างหรือโรงงานต่างๆ
liquid.cryofluid.details = ของเหลวเฉื่อยและไม่กัดกร่อน ผลิตจากน้ำและไทเทเนี่ยม มีคุณสมบัติการถ่ายเทความร้อนสูง liquid.cryofluid.details = ของเหลวเฉื่อยและไม่กัดกร่อน ผลิตจากน้ำและไทเทเนี่ยม มีคุณสมบัติการถ่ายเทความร้อนสูง
block.derelict = [lightgray]ถูกทิ้งร้าง block.derelict = [lightgray]ถูกทิ้งร้าง
block.resupply-point.description = ติมกระสุนยูนิตรอบข้างด้วยกระสุนทองแดง ใช้กับยูนิตที่ใช้พลังงานเป็นกระสุนไม่ได้ block.armored-conveyor.description = ลื่อนไอเท็มไปข้างหน้า เร็วเท่าสายพานไทเทเนี่ยม แต่มีเกราะที่แข็งแรงกว่า ไม่รับไอเท็มจากด้านข้างยกเว้นเป็นสายพานด้วยกันเอง
block.armored-conveyor.description = เลื่อนไอเท็มไปข้างหน้า เร็วเท่าสายพานไทเทเนี่ยม แต่มีเกราะที่แข็งแรงกว่า ไม่รับไอเท็มจากด้านข้างยกเว้นเป็นสายพานชนิดเดียวกัน
block.illuminator.description = ตัวเปล่งแสงขนาดกะทัดรัด ส่องสว่างในที่มืดได้ดี\nแถมยังกำหนดสีของแสงได้ด้วย... เจ๋งใช่มั้ยล่ะ block.illuminator.description = ตัวเปล่งแสงขนาดกะทัดรัด ส่องสว่างในที่มืดได้ดี\nแถมยังกำหนดสีของแสงได้ด้วย... เจ๋งใช่มั้ยล่ะ
block.message.description = เก็บข้อความ ใช้สื่อสารกับพันธมิตร block.message.description = เก็บข้อความ ใช้สื่อสารกับพันธมิตร
block.graphite-press.description = อัดก้อนถ่านหินให้เป็นแผ่นกราไฟต์บริสุทธิ์ block.graphite-press.description = อัดก้อนถ่านหินให้เป็นแผ่นกราไฟต์บริสุทธิ์

View File

@@ -960,7 +960,7 @@ block.parallax.name = Parallax
block.cliff.name = Cliff block.cliff.name = Cliff
block.sand-boulder.name = Sand Boulder block.sand-boulder.name = Sand Boulder
block.grass.name = Grass block.grass.name = Grass
block.slag.name = Slag block.molten-slag.name = Slag
block.space.name = Space block.space.name = Space
block.salt.name = Salt block.salt.name = Salt
block.salt-wall.name = Salt Wall block.salt-wall.name = Salt Wall
@@ -991,8 +991,8 @@ block.spawn.name = Enemy Spawn
block.core-shard.name = Core: Shard block.core-shard.name = Core: Shard
block.core-foundation.name = Core: Foundation block.core-foundation.name = Core: Foundation
block.core-nucleus.name = Core: Nucleus block.core-nucleus.name = Core: Nucleus
block.deepwater.name = su alti block.deep-water.name = su alti
block.water.name = su block.shallow-water.name = su
block.tainted-water.name = Tainted Water block.tainted-water.name = Tainted Water
block.darksand-tainted-water.name = Dark Sand Tainted Water block.darksand-tainted-water.name = Dark Sand Tainted Water
block.tar.name = Tar block.tar.name = Tar
@@ -1001,7 +1001,7 @@ block.sand.name = kum
block.darksand.name = Dark Sand block.darksand.name = Dark Sand
block.ice.name = buz block.ice.name = buz
block.snow.name = kar block.snow.name = kar
block.craters.name = Craters block.crater-stone.name = Craters
block.sand-water.name = Sand water block.sand-water.name = Sand water
block.darksand-water.name = Dark Sand Water block.darksand-water.name = Dark Sand Water
block.char.name = Char block.char.name = Char

View File

@@ -18,7 +18,7 @@ linkfail = Link açılamadı!\nURL kopyalandı.
screenshot = Ekran görüntüsü {0} konumuna kaydedildi screenshot = Ekran görüntüsü {0} konumuna kaydedildi
screenshot.invalid = Harita çok büyük, muhtemelen ekran görüntüsü için yeterli bellek yok. screenshot.invalid = Harita çok büyük, muhtemelen ekran görüntüsü için yeterli bellek yok.
gameover = Kaybettin gameover = Kaybettin
gameover.waiting = [accent]Harita Bekleniyor... gameover.waiting = [accent]Sonraki Harita Bekleniyor...
gameover.pvp = [accent] {0}[] Takımı kazandı! gameover.pvp = [accent] {0}[] Takımı kazandı!
gameover.disconnect = Bağlantı Koptu! gameover.disconnect = Bağlantı Koptu!
highscore = [accent]Yeni rekor! highscore = [accent]Yeni rekor!
@@ -35,7 +35,7 @@ load.mod = Modlar
load.scripts = Betikler load.scripts = Betikler
be.update = Yeni bir erken erişim sürümü var: be.update = Yeni bir erken erişim sürümü var:
be.update.confirm = Yüklenip yeniden başlatılsın mı? be.update.confirm = İndirip yeniden başlatılsın mı?
be.updating = Yeni sürüm yükleniyor... be.updating = Yeni sürüm yükleniyor...
be.ignore = Hayır be.ignore = Hayır
be.noupdates = Yeni güncelleme bulunamadı. be.noupdates = Yeni güncelleme bulunamadı.
@@ -54,30 +54,30 @@ schematic.add = Şemayı Kaydet...
schematics = Şemalar schematics = Şemalar
schematic.replace = Aynı isimde bir şema zaten var. Üzerine yazılsın mı? schematic.replace = Aynı isimde bir şema zaten var. Üzerine yazılsın mı?
schematic.exists = Aynı isimde bir şema zaten var. schematic.exists = Aynı isimde bir şema zaten var.
schematic.import = Şema İçeri Aktar... schematic.import = Şemayı İçeri Aktar...
schematic.exportfile = Dışa Aktar schematic.exportfile = Dışa Aktar
schematic.importfile = İçe Aktar schematic.importfile = İçe Aktar
schematic.browseworkshop = Atölyeyi incele schematic.browseworkshop = Atölyeyi araştır
schematic.copy = Panoya Kopyala schematic.copy = Panoya Kopyala
schematic.copy.import = Panodan İçeri Aktar schematic.copy.import = Panodan İçeri Aktar
schematic.shareworkshop = Atölyede Kaydet schematic.shareworkshop = Atölyede paylaş
schematic.flip = [accent][[{0}][]/[accent][[{1}][]: Şemayı döndür schematic.flip = [accent][[{0}][]/[accent][[{1}][]: Şemayı döndür
schematic.saved = Şema Kaydedildi. schematic.saved = Şema Kaydedildi.
schematic.delete.confirm = Bu şema tamamen yok edilecek. schematic.delete.confirm = Bu şema tamamen silinecek.
schematic.rename = Şemayı yeniden adlandır schematic.rename = Şemayı yeniden adlandır
schematic.info = {0}x{1}, {2} blok schematic.info = {0}x{1}, {2} blok
schematic.disabled = [scarlet]Schematics disabled[]\nYou are not allowed to use schematics on this [accent]map[] or [accent]server. schematic.disabled = [scarlet]Şema devre dışı bırakıldı[]\nBu şemayı [accent]bu haritada[] veya [accent]server'da kullanma iznin yok.
schematic.tags = Etiketler: schematic.tags = Etiketler:
schematic.edittags = Etiketleri Düzenle schematic.edittags = Etiketleri Düzenle
schematic.addtag = Etiket Ekle schematic.addtag = Etiket Ekle
schematic.texttag = Yazı Etiketi schematic.texttag = Yazı Etiketi
schematic.icontag = İcon Etiketi schematic.icontag = İkon Etiketi
schematic.renametag = Etiketi Yeniden Adlandır schematic.renametag = Etiketi Yeniden Adlandır
schematic.tagdelconfirm = Bu Etiketi Silmek istediğine emin misin? schematic.tagdelconfirm = Bu Etiketi Silmek istediğine emin misin?
schematic.tagexists = Böyle bir Etiket zaten var. schematic.tagexists = Böyle bir Etiket zaten var.
stats = İstatistikler stats = İstatistikler
stat.wave = Yenilen Dalgalar:[accent] {0} stat.wave = Bozguna Uğratılan Dalgalar:[accent] {0}
stat.enemiesDestroyed = Yok Edilen Düşmanlar:[accent] {0} stat.enemiesDestroyed = Yok Edilen Düşmanlar:[accent] {0}
stat.built = İnşa Edilen Yapılar:[accent] {0} stat.built = İnşa Edilen Yapılar:[accent] {0}
stat.destroyed = Yok Edilen Yapılar:[accent] {0} stat.destroyed = Yok Edilen Yapılar:[accent] {0}
@@ -89,7 +89,7 @@ stat.rank = Rütbe: [accent]{0}
globalitems = [accent]Toplanan Kaynaklar globalitems = [accent]Toplanan Kaynaklar
map.delete = "[accent]{0}[]" haritasını silmek istediğine emin misin? map.delete = "[accent]{0}[]" haritasını silmek istediğine emin misin?
level.highscore = Rekor: [accent]{0} level.highscore = Rekor: [accent]{0}
level.select = Seviye Seçimi level.select = Bölüm Seçimi
level.mode = Oyun Modu: level.mode = Oyun Modu:
coreattack = < Merkez saldırı altında! > coreattack = < Merkez saldırı altında! >
nearpoint = [[ [scarlet]İNİŞ PİSTİNDEN AYRIL[] ]\nimha tehlikesi nearpoint = [[ [scarlet]İNİŞ PİSTİNDEN AYRIL[] ]\nimha tehlikesi
@@ -122,7 +122,7 @@ committingchanges = Değişiklikler Uygulanıyor
done = Bitti done = Bitti
feature.unsupported = Cihazınızda bu özellik desteklenmemektedir. feature.unsupported = Cihazınızda bu özellik desteklenmemektedir.
mods.initfailed = [red]⚠[] OH NO! Mindustry Çöktü. Bu Büyük ihtimalle bir moddan kaynaklandı.\n\nSonsuz Çökmeyi önlemek için, [red]tüm modlar kapatıldı.[]\n\nBu özelliği kapamak için, [accent]Ayarlar->Oyun->Modları Çökmede Kapa[]. mods.initfailed = [red]⚠[] OLAMAZ! Mindustry Çöktü. Bu Büyük ihtimalle bir moddan kaynaklandı.\n\nSonsuz Çökmeyi önlemek için, [red]tüm modlar kapatıldı.[]\n\nBu özelliği kapamak için, [accent]Ayarlar->Oyun->Modları Başlangıçta Çökme Durumunda Kapat[].
mods = Modlar mods = Modlar
mods.none = [lightgray]Hiç mod bulunamadı! mods.none = [lightgray]Hiç mod bulunamadı!
mods.guide = Mod Rehberi mods.guide = Mod Rehberi
@@ -493,7 +493,7 @@ filter.option.amount = Miktar
filter.option.block = Blok filter.option.block = Blok
filter.option.floor = Zemin filter.option.floor = Zemin
filter.option.flooronto = Hedef Zemin filter.option.flooronto = Hedef Zemin
filter.option.target = Target filter.option.target = Hedef
filter.option.replacement = Değiştirme filter.option.replacement = Değiştirme
filter.option.wall = Duvar filter.option.wall = Duvar
filter.option.ore = Maden filter.option.ore = Maden
@@ -539,12 +539,13 @@ configure = Ekipmanı Yapılandır
loadout = Yükleme loadout = Yükleme
resources = Kaynaklar resources = Kaynaklar
bannedblocks = Yasaklı Bloklar bannedblocks = Yasaklı Bloklar
bannedunits = Yasaklı Elemanlar
addall = Hepsini Ekle addall = Hepsini Ekle
launch.from = [accent]{0} dan fırlatılıyor. launch.from = [accent]{0} dan fırlatılıyor.
launch.destination = Varış Yeri: {0} launch.destination = Varış Yeri: {0}
configure.invalid = Miktar 0 ve {0} arasında bir sayı olmalı. configure.invalid = Miktar 0 ve {0} arasında bir sayı olmalı.
add = Ekle... add = Ekle...
guardian = Gardian guardian = Gardiyan
connectfail = [crimson]Bağlantı hatası:\n\n[accent]{0} connectfail = [crimson]Bağlantı hatası:\n\n[accent]{0}
error.unreachable = Sunucuya ulaşılamıyor.\nAdresin doğru yazıldığına emin misiniz? error.unreachable = Sunucuya ulaşılamıyor.\nAdresin doğru yazıldığına emin misiniz?
@@ -563,13 +564,15 @@ weather.sandstorm.name = Kum Fırtınası
weather.sporestorm.name = Spor Yağmuru weather.sporestorm.name = Spor Yağmuru
weather.fog.name = Sis weather.fog.name = Sis
sectorlist = Sektörler
sectorlist.attacked = {0} saldırı altında
sectors.unexplored = [lightgray]Keşfedilmemiş sectors.unexplored = [lightgray]Keşfedilmemiş
sectors.resources = Kaynaklar: sectors.resources = Kaynaklar:
sectors.production = Üretim: sectors.production = Üretim:
sectors.export = İhracat: sectors.export = İhracat:
sectors.import = İthalat: sectors.import = İthalat:
sectors.time = Zaman: sectors.time = Zaman:
sectors.threat = Tehlike: sectors.threat = Zorluk:
sectors.wave = Dalga: sectors.wave = Dalga:
sectors.stored = Depolanan: sectors.stored = Depolanan:
sectors.resume = Devam Et sectors.resume = Devam Et
@@ -609,8 +612,8 @@ sector.frozenForest.name = Donmuş Orman
sector.ruinousShores.name = Harap Kıyılar sector.ruinousShores.name = Harap Kıyılar
sector.stainedMountains.name = Lekeli Dağlar sector.stainedMountains.name = Lekeli Dağlar
sector.desolateRift.name = Issız Kanyon sector.desolateRift.name = Issız Kanyon
sector.nuclearComplex.name = Nüleer Santral Kompleksi sector.nuclearComplex.name = kleer Santral Kompleksi
sector.overgrowth.name = ırı Büyüme sector.overgrowth.name = Sarmaşık Sporlar
sector.tarFields.name = Katran Çölü sector.tarFields.name = Katran Çölü
sector.saltFlats.name = Tuz Düzlükleri sector.saltFlats.name = Tuz Düzlükleri
sector.fungalPass.name = Mantar Geçidi sector.fungalPass.name = Mantar Geçidi
@@ -642,7 +645,7 @@ status.wet.name = Islak
status.muddy.name = Çamurlu status.muddy.name = Çamurlu
status.melting.name = Eriyor status.melting.name = Eriyor
status.sapped.name = Emilmiş status.sapped.name = Emilmiş
status.electrified.name = Elektirklenmiş status.electrified.name = Elektriklenmiş
status.spore-slowed.name = Sporlanmış status.spore-slowed.name = Sporlanmış
status.tarred.name = Ziftlenmiş status.tarred.name = Ziftlenmiş
status.overclock.name = Hızlandırlımış status.overclock.name = Hızlandırlımış
@@ -876,6 +879,7 @@ setting.seconds = {0} Saniye
setting.milliseconds = {0} milisaniye setting.milliseconds = {0} milisaniye
setting.fullscreen.name = Tam Ekran setting.fullscreen.name = Tam Ekran
setting.borderlesswindow.name = Kenarsız Pencere setting.borderlesswindow.name = Kenarsız Pencere
setting.borderlesswindow.name.windows = Kenrasız TamEkran
setting.borderlesswindow.description = Oyunu baştan açman gerekebilir. setting.borderlesswindow.description = Oyunu baştan açman gerekebilir.
setting.fps.name = FPS Göster setting.fps.name = FPS Göster
setting.smoothcamera.name = Yumuşak Geçişli Kamera setting.smoothcamera.name = Yumuşak Geçişli Kamera
@@ -999,6 +1003,7 @@ rules.wavetimer = Dalga Zamanlayıcısı
rules.waves = Dalgalar rules.waves = Dalgalar
rules.attack = Saldırı Modu rules.attack = Saldırı Modu
rules.buildai = Yapay Zeka İnşası rules.buildai = Yapay Zeka İnşası
rules.aitier = Yapay Zeka Seviyesi
rules.cleanupdeadteams = Kaybeden Takımın Bloklarını Temizle (PvP) rules.cleanupdeadteams = Kaybeden Takımın Bloklarını Temizle (PvP)
rules.corecapture = Yıkımca Çekirdeği Elegeçir rules.corecapture = Yıkımca Çekirdeği Elegeçir
rules.polygoncoreprotection = Çokgenli Çekirdek Koruması rules.polygoncoreprotection = Çokgenli Çekirdek Koruması
@@ -1018,12 +1023,15 @@ rules.deconstructrefundmultiplier = Yıkım İade Çarpanı
rules.waitForWaveToEnd = Dalgalar Düşmanı Bekler rules.waitForWaveToEnd = Dalgalar Düşmanı Bekler
rules.dropzoneradius = İniş Noktası Yarıçapı: [lightgray](kare) rules.dropzoneradius = İniş Noktası Yarıçapı: [lightgray](kare)
rules.unitammo = Birlikler Mermi Gerektiriyor rules.unitammo = Birlikler Mermi Gerektiriyor
rules.enemyteam = Düşman Takım
rules.playerteam = Oyuncu Takımı
rules.title.waves = Dalgalar rules.title.waves = Dalgalar
rules.title.resourcesbuilding = Kaynaklar & İnşa rules.title.resourcesbuilding = Kaynaklar & İnşa
rules.title.enemy = Düşmanlar rules.title.enemy = Düşmanlar
rules.title.unit = Birlikler rules.title.unit = Birlikler
rules.title.experimental = Deneysel rules.title.experimental = Deneysel
rules.title.environment = Çevre rules.title.environment = Çevre
rules.title.teams = Takımlar
rules.lighting = ıklandırma rules.lighting = ıklandırma
rules.enemyLights = Enemy Lights rules.enemyLights = Enemy Lights
rules.fire = Ateş rules.fire = Ateş
@@ -1102,13 +1110,12 @@ unit.reign.name = Reign
unit.vela.name = Vela unit.vela.name = Vela
unit.corvus.name = Corvus unit.corvus.name = Corvus
block.resupply-point.name = İkmal Noktası
block.parallax.name = Parallax block.parallax.name = Parallax
block.cliff.name = Uçurum block.cliff.name = Uçurum
block.sand-boulder.name = Kumlu Kaya Parçaları block.sand-boulder.name = Kumlu Kaya Parçaları
block.basalt-boulder.name = Bazalt Kaya block.basalt-boulder.name = Bazalt Kaya
block.grass.name = Çimen block.grass.name = Çimen
block.slag.name = Cüruf block.molten-slag.name = Cüruf
block.space.name = Uzay block.space.name = Uzay
block.salt.name = Tuz block.salt.name = Tuz
block.salt-wall.name = Tuz Duvar block.salt-wall.name = Tuz Duvar
@@ -1139,8 +1146,8 @@ block.spawn.name = Düşman Doğma Noktası
block.core-shard.name = Merkez: Parçacık block.core-shard.name = Merkez: Parçacık
block.core-foundation.name = Merkez: Temel block.core-foundation.name = Merkez: Temel
block.core-nucleus.name = Merkez: Çekirdek block.core-nucleus.name = Merkez: Çekirdek
block.deepwater.name = Derin Su block.deep-water.name = Derin Su
block.water.name = Su block.shallow-water.name = Su
block.tainted-water.name = Kirli Su block.tainted-water.name = Kirli Su
block.darksand-tainted-water.name = Kara Kumlu Kirli Su block.darksand-tainted-water.name = Kara Kumlu Kirli Su
block.tar.name = Katran block.tar.name = Katran
@@ -1149,7 +1156,7 @@ block.sand.name = Kum
block.darksand.name = Kara Kum block.darksand.name = Kara Kum
block.ice.name = Buz block.ice.name = Buz
block.snow.name = Kar block.snow.name = Kar
block.craters.name = Krater block.crater-stone.name = Krater
block.sand-water.name = Kumlu Su block.sand-water.name = Kumlu Su
block.darksand-water.name = Kara Kumlu Su block.darksand-water.name = Kara Kumlu Su
block.char.name = Kömür block.char.name = Kömür
@@ -1293,7 +1300,7 @@ block.spectre.name = Spectre
block.meltdown.name = Meltdown block.meltdown.name = Meltdown
block.foreshadow.name = Foreshadow block.foreshadow.name = Foreshadow
block.container.name = Konteyner block.container.name = Konteyner
block.launch-pad.name = Kalkış Pisti block.launch-pad.name = Fıralatış Rampası
block.segment.name = Segment block.segment.name = Segment
block.command-center.name = Komuta Merkezi block.command-center.name = Komuta Merkezi
block.ground-factory.name = Yer Birimi Fabrikası block.ground-factory.name = Yer Birimi Fabrikası
@@ -1406,7 +1413,6 @@ liquid.oil.description = İleri seviye malzeme üretiminde kullanılan bir sıv
liquid.cryofluid.description = Su ve titanyumdan oluşturulan inaktif bir sıvı. Son derece yüksek ısı kapasitesine sahiptir. Soğutucu olarak yaygın olarak kullanılır. liquid.cryofluid.description = Su ve titanyumdan oluşturulan inaktif bir sıvı. Son derece yüksek ısı kapasitesine sahiptir. Soğutucu olarak yaygın olarak kullanılır.
block.derelict = [lightgray] Sahipsiz block.derelict = [lightgray] Sahipsiz
block.resupply-point.description = Yakındaki birimlere mermi verir. Elektikle çalışmaz.
block.armored-conveyor.description = Materyalleri titanyum konveyörlerle aynı hızda taşır ama daha fazla zırha sahiptir. Diğer konveyörler dışında yan taraflardan materyal kabul etmez. block.armored-conveyor.description = Materyalleri titanyum konveyörlerle aynı hızda taşır ama daha fazla zırha sahiptir. Diğer konveyörler dışında yan taraflardan materyal kabul etmez.
block.illuminator.description = Küçük, kompakt, yapılandırılabilir bir ışık kaynağı. Çalışması için enerji gerekir. block.illuminator.description = Küçük, kompakt, yapılandırılabilir bir ışık kaynağı. Çalışması için enerji gerekir.
block.message.description = Bir mesajı saklar. Müttefikler arasındaki haberleşmede kullanılır. block.message.description = Bir mesajı saklar. Müttefikler arasındaki haberleşmede kullanılır.
@@ -1594,7 +1600,7 @@ unit.navanax.description = Devasa patlayıcı EMP gülleleri fırlatır, düşma
lst.read = Bağlı hafıza kutusundaki numarayı okur. lst.read = Bağlı hafıza kutusundaki numarayı okur.
lst.write = Bağlı hafıza kutuaundaki numaraya yazar. lst.write = Bağlı hafıza kutuaundaki numaraya yazar.
lst.print = Text yazar. lst.print = Yazı yazar.
lst.draw = Ekrana Çizer. lst.draw = Ekrana Çizer.
lst.drawflush = Ekrana Çizimi Aktarır. lst.drawflush = Ekrana Çizimi Aktarır.
lst.printflush = Mesaj bloğuna texti aktarır, lst.printflush = Mesaj bloğuna texti aktarır,
@@ -1622,7 +1628,7 @@ lenum.config = Bina configurasyonu, örnek: Ayıklayıcı Türü
lenum.enabled = Blok aktif mi? lenum.enabled = Blok aktif mi?
laccess.color = Aydınlatıcı Rengi. laccess.color = Aydınlatıcı Rengi.
laccess.controller = Nirim Kontrol edici. Eğer işlemci kontrol ediyorsa işlemci döner. laccess.controller = Birim Kontrol edici. Eğer işlemci kontrol ediyorsa işlemci döner. \nFormasyon durumundaysa, lider döner.\nDiğer şekilde, birimi kendi döner.
laccess.dead = Bir bina veya birim hala var mı? laccess.dead = Bir bina veya birim hala var mı?
laccess.controlled = Bir birim ne tarafından kontrol ediliyor? laccess.controlled = Bir birim ne tarafından kontrol ediliyor?
laccess.commanded = [red]Bu komut sonradan silicek! Controlled kullan! laccess.commanded = [red]Bu komut sonradan silicek! Controlled kullan!
@@ -1689,16 +1695,16 @@ lenum.damaged = Hasarlı Aynı Takımdan bir Blok.
lenum.spawn = Düşman Oluşum Noktası lenum.spawn = Düşman Oluşum Noktası
lenum.building = Bir guruptan bir blok. lenum.building = Bir guruptan bir blok.
lenum.core = Herhangi bir Çekirdek. lenum.core = Herhangi bir Çekirdek
lenum.storage = Depolama Bloğu, lenum.storage = Depolama Bloğu
lenum.generator = Enerji Üreten bir Blok. lenum.generator = Enerji Üreten bir Blok
lenum.factory = Fabrika Bloğu, lenum.factory = Fabrika Bloğu
lenum.repair = Tamir Bloğu. lenum.repair = Tamir Bloğu
lenum.rally = Komut Bloğu. lenum.rally = Komut Bloğu
lenum.battery = Pil. lenum.battery = Pil
lenum.resupply = Mermi Aktarım Bloğu. lenum.resupply = Mermi Aktarım Bloğu
lenum.reactor = Patlama/Thorium Reaktör. lenum.reactor = Patlama/Toryum Reaktör
lenum.turret = Herhangi bir taret. lenum.turret = Herhangi bir taret
sensor.in = Algılanan Blok/Birim. sensor.in = Algılanan Blok/Birim.
@@ -1731,13 +1737,13 @@ lenum.stop = Dur!
lenum.move = Tam konuma git. lenum.move = Tam konuma git.
lenum.approach = Bir Konuma yaklaş. lenum.approach = Bir Konuma yaklaş.
lenum.pathfind = Düşman Doğuş noktasına git. lenum.pathfind = Düşman Doğuş noktasına git.
lenum.target = Bir alana ateş et, lenum.target = Bir alana ateş et.
lenum.targetp = Bir cisme ateş et. lenum.targetp = Bir cisme ateş et.
lenum.itemdrop = Bir itemi bırak. lenum.itemdrop = Bir itemi bırak.
lenum.itemtake = Bir binadan item al. lenum.itemtake = Bir binadan item al.
lenum.paydrop = Kargoyu bırak. lenum.paydrop = Kargoyu bırak.
lenum.paytake = Kargo al. lenum.paytake = Kargo al.
lenum.flag = Numara ile işaretle, lenum.flag = Numara ile işaretle.
lenum.mine = Kaz. lenum.mine = Kaz.
lenum.build = Bina inşa et. lenum.build = Bina inşa et.
lenum.getblock = Bir bloğun verilerini al. lenum.getblock = Bir bloğun verilerini al.

View File

@@ -1061,7 +1061,7 @@ block.cliff.name = Скеля
block.sand-boulder.name = Пісочний валун block.sand-boulder.name = Пісочний валун
block.basalt-boulder.name = Базальтовий валун block.basalt-boulder.name = Базальтовий валун
block.grass.name = Трава block.grass.name = Трава
block.slag.name = Шлак block.molten-slag.name = Шлак
block.space.name = Космос block.space.name = Космос
block.salt.name = Сіль block.salt.name = Сіль
block.salt-wall.name = Соляна стіна block.salt-wall.name = Соляна стіна
@@ -1092,8 +1092,8 @@ block.spawn.name = Місце появи противника
block.core-shard.name = Ядро «Уламок» block.core-shard.name = Ядро «Уламок»
block.core-foundation.name = Ядро «Штаб» block.core-foundation.name = Ядро «Штаб»
block.core-nucleus.name = Ядро «Атом» block.core-nucleus.name = Ядро «Атом»
block.deepwater.name = Глибоководдя block.deep-water.name = Глибоководдя
block.water.name = Вода block.shallow-water.name = Вода
block.tainted-water.name = Забруднена вода block.tainted-water.name = Забруднена вода
block.darksand-tainted-water.name = Темний пісок із забрудненою водою block.darksand-tainted-water.name = Темний пісок із забрудненою водою
block.tar.name = Дьоготь block.tar.name = Дьоготь
@@ -1102,7 +1102,7 @@ block.sand.name = Пісок
block.darksand.name = Темний пісок block.darksand.name = Темний пісок
block.ice.name = Лід block.ice.name = Лід
block.snow.name = Сніг block.snow.name = Сніг
block.craters.name = Кратери block.crater-stone.name = Кратери
block.sand-water.name = Пісок із водою block.sand-water.name = Пісок із водою
block.darksand-water.name = Темний пісок із водою block.darksand-water.name = Темний пісок із водою
block.char.name = Випалена земля block.char.name = Випалена земля

View File

@@ -1102,7 +1102,7 @@ block.cliff.name = Vách đá
block.sand-boulder.name = Tường cát block.sand-boulder.name = Tường cát
block.basalt-boulder.name = Tường đá basalt block.basalt-boulder.name = Tường đá basalt
block.grass.name = Cỏ block.grass.name = Cỏ
block.slag.name = Xỉ nóng chảy block.molten-slag.name = Xỉ nóng chảy
block.space.name = Không gian block.space.name = Không gian
block.salt.name = Muối block.salt.name = Muối
block.salt-wall.name = Tường muối block.salt-wall.name = Tường muối
@@ -1133,8 +1133,8 @@ block.spawn.name = Khu vực tạo ra kẻ địch
block.core-shard.name = Căn cứ: Cơ sở block.core-shard.name = Căn cứ: Cơ sở
block.core-foundation.name = Căn cứ: Trụ sở block.core-foundation.name = Căn cứ: Trụ sở
block.core-nucleus.name = Căn cứ: Trung tâm block.core-nucleus.name = Căn cứ: Trung tâm
block.deepwater.name = Nước sâu block.deep-water.name = Nước sâu
block.water.name = Nước block.shallow-water.name = Nước
block.tainted-water.name = Nước nhiểm bẩn block.tainted-water.name = Nước nhiểm bẩn
block.darksand-tainted-water.name = Nước nhiễm bẩn cát đen block.darksand-tainted-water.name = Nước nhiễm bẩn cát đen
block.tar.name = Dầu block.tar.name = Dầu
@@ -1143,7 +1143,7 @@ block.sand.name = Cát
block.darksand.name = Cát đen block.darksand.name = Cát đen
block.ice.name = Băng block.ice.name = Băng
block.snow.name = Tuyết block.snow.name = Tuyết
block.craters.name = Miệng núi lửa block.crater-stone.name = Miệng núi lửa
block.sand-water.name = Nước cát block.sand-water.name = Nước cát
block.darksand-water.name = Nước cát đen block.darksand-water.name = Nước cát đen
block.char.name = Char block.char.name = Char

View File

@@ -1107,7 +1107,7 @@ block.cliff.name = 悬崖
block.sand-boulder.name = 砂岩 block.sand-boulder.name = 砂岩
block.basalt-boulder.name = 玄武岩巨石 block.basalt-boulder.name = 玄武岩巨石
block.grass.name = 草地 block.grass.name = 草地
block.slag.name = 矿渣 block.molten-slag.name = 矿渣
block.space.name = 太空 block.space.name = 太空
block.salt.name = 盐碱地 block.salt.name = 盐碱地
block.salt-wall.name = 盐墙 block.salt-wall.name = 盐墙
@@ -1138,8 +1138,8 @@ block.spawn.name = 敌人出生点
block.core-shard.name = 初代核心 block.core-shard.name = 初代核心
block.core-foundation.name = 次代核心 block.core-foundation.name = 次代核心
block.core-nucleus.name = 终代核心 block.core-nucleus.name = 终代核心
block.deepwater.name = 深水 block.deep-water.name = 深水
block.water.name = block.shallow-water.name =
block.tainted-water.name = 污水 block.tainted-water.name = 污水
block.darksand-tainted-water.name = 黑沙 污水 block.darksand-tainted-water.name = 黑沙 污水
block.tar.name = 石油 block.tar.name = 石油
@@ -1148,7 +1148,7 @@ block.sand.name = 沙子
block.darksand.name = 黑沙 block.darksand.name = 黑沙
block.ice.name = block.ice.name =
block.snow.name = block.snow.name =
block.craters.name = 陨石坑 block.crater-stone.name = 陨石坑
block.sand-water.name = 沙 水 block.sand-water.name = 沙 水
block.darksand-water.name = 黑沙 水 block.darksand-water.name = 黑沙 水
block.char.name = 焦土 block.char.name = 焦土

View File

@@ -1097,7 +1097,7 @@ block.cliff.name = 峭壁
block.sand-boulder.name = 沙礫巨岩 block.sand-boulder.name = 沙礫巨岩
block.basalt-boulder.name = 玄武岩巨石 block.basalt-boulder.name = 玄武岩巨石
block.grass.name = block.grass.name =
block.slag.name = 熔渣 block.molten-slag.name = 熔渣
block.space.name = 太空 block.space.name = 太空
block.salt.name = block.salt.name =
block.salt-wall.name = 鹽牆 block.salt-wall.name = 鹽牆
@@ -1128,8 +1128,8 @@ block.spawn.name = 敵人生成
block.core-shard.name = 核心:碎片 block.core-shard.name = 核心:碎片
block.core-foundation.name = 核心:基地 block.core-foundation.name = 核心:基地
block.core-nucleus.name = 核心:核子 block.core-nucleus.name = 核心:核子
block.deepwater.name = 深水 block.deep-water.name = 深水
block.water.name = block.shallow-water.name =
block.tainted-water.name = 污水 block.tainted-water.name = 污水
block.darksand-tainted-water.name = 黑沙污水 block.darksand-tainted-water.name = 黑沙污水
block.tar.name = 焦油 block.tar.name = 焦油
@@ -1138,7 +1138,7 @@ block.sand.name = 沙
block.darksand.name = 黑沙 block.darksand.name = 黑沙
block.ice.name = block.ice.name =
block.snow.name = block.snow.name =
block.craters.name = 彈坑 block.crater-stone.name = 彈坑
block.sand-water.name = 沙水 block.sand-water.name = 沙水
block.darksand-water.name = 黑沙水 block.darksand-water.name = 黑沙水
block.char.name = 燒焦 block.char.name = 燒焦

View File

@@ -356,3 +356,7 @@
63356=sharded|team-sharded 63356=sharded|team-sharded
63357=crux|team-crux 63357=crux|team-crux
63358=derelict|team-derelict 63358=derelict|team-derelict
63350=deep-water|block-deep-water-ui
63349=shallow-water|block-shallow-water-ui
63348=molten-slag|block-molten-slag-ui
63347=crater-stone|block-crater-stone-ui

View File

@@ -90,7 +90,6 @@ importPackage(Packages.mindustry.editor)
importPackage(Packages.mindustry.entities) importPackage(Packages.mindustry.entities)
importPackage(Packages.mindustry.entities.abilities) importPackage(Packages.mindustry.entities.abilities)
importPackage(Packages.mindustry.entities.bullet) importPackage(Packages.mindustry.entities.bullet)
importPackage(Packages.mindustry.entities.comp)
importPackage(Packages.mindustry.entities.effect) importPackage(Packages.mindustry.entities.effect)
importPackage(Packages.mindustry.entities.units) importPackage(Packages.mindustry.entities.units)
importPackage(Packages.mindustry.game) importPackage(Packages.mindustry.game)
@@ -157,6 +156,7 @@ const ResearchEvent = Packages.mindustry.game.EventType.ResearchEvent
const UnlockEvent = Packages.mindustry.game.EventType.UnlockEvent const UnlockEvent = Packages.mindustry.game.EventType.UnlockEvent
const StateChangeEvent = Packages.mindustry.game.EventType.StateChangeEvent const StateChangeEvent = Packages.mindustry.game.EventType.StateChangeEvent
const CoreChangeEvent = Packages.mindustry.game.EventType.CoreChangeEvent const CoreChangeEvent = Packages.mindustry.game.EventType.CoreChangeEvent
const BuildTeamChangeEvent = Packages.mindustry.game.EventType.BuildTeamChangeEvent
const TileChangeEvent = Packages.mindustry.game.EventType.TileChangeEvent const TileChangeEvent = Packages.mindustry.game.EventType.TileChangeEvent
const TilePreChangeEvent = Packages.mindustry.game.EventType.TilePreChangeEvent const TilePreChangeEvent = Packages.mindustry.game.EventType.TilePreChangeEvent
const GameOverEvent = Packages.mindustry.game.EventType.GameOverEvent const GameOverEvent = Packages.mindustry.game.EventType.GameOverEvent

View File

@@ -52,6 +52,7 @@ public class BaseAI{
} }
public void update(){ public void update(){
if(data.team.rules().aiCoreSpawn && timer.get(timerSpawn, 60 * 2.5f) && data.hasCore()){ if(data.team.rules().aiCoreSpawn && timer.get(timerSpawn, 60 * 2.5f) && data.hasCore()){
CoreBlock block = (CoreBlock)data.core().block; CoreBlock block = (CoreBlock)data.core().block;
int coreUnits = Groups.unit.count(u -> u.team == data.team && u.type == block.unitType); int coreUnits = Groups.unit.count(u -> u.team == data.team && u.type == block.unitType);
@@ -90,49 +91,51 @@ public class BaseAI{
}else{ }else{
var field = pathfinder.getField(state.rules.waveTeam, Pathfinder.costGround, Pathfinder.fieldCore); var field = pathfinder.getField(state.rules.waveTeam, Pathfinder.costGround, Pathfinder.fieldCore);
int[][] weights = field.weights; if(field.weights != null){
for(int i = 0; i < pathStep; i++){ int[][] weights = field.weights;
int minCost = Integer.MAX_VALUE; for(int i = 0; i < pathStep; i++){
int cx = calcTile.x, cy = calcTile.y; int minCost = Integer.MAX_VALUE;
boolean foundAny = false; int cx = calcTile.x, cy = calcTile.y;
for(Point2 p : Geometry.d4){ boolean foundAny = false;
int nx = cx + p.x, ny = cy + p.y; for(Point2 p : Geometry.d4){
int nx = cx + p.x, ny = cy + p.y;
Tile other = world.tile(nx, ny); Tile other = world.tile(nx, ny);
if(other != null && weights[nx][ny] < minCost && weights[nx][ny] != -1){ if(other != null && weights[nx][ny] < minCost && weights[nx][ny] != -1){
minCost = weights[nx][ny]; minCost = weights[nx][ny];
calcTile = other; calcTile = other;
foundAny = true; foundAny = true;
}
} }
//didn't find anything, break out of loop, this will trigger a clear later
if(!foundAny){
calcCount = Integer.MAX_VALUE;
break;
}
calcPath.add(calcTile.pos());
for(Point2 p : Geometry.d8){
calcPath.add(Point2.pack(p.x + calcTile.x, p.y + calcTile.y));
}
//found the end.
if(calcTile.build instanceof CoreBuild b && b.team == state.rules.defaultTeam){
//clean up calculations and flush results
calculating = false;
calcCount = 0;
path.clear();
path.addAll(calcPath);
calcPath.clear();
calcTile = null;
totalCalcs ++;
foundPath = true;
break;
}
calcCount ++;
} }
//didn't find anything, break out of loop, this will trigger a clear later
if(!foundAny){
calcCount = Integer.MAX_VALUE;
break;
}
calcPath.add(calcTile.pos());
for(Point2 p : Geometry.d8){
calcPath.add(Point2.pack(p.x + calcTile.x, p.y + calcTile.y));
}
//found the end.
if(calcTile.build instanceof CoreBuild b && b.team == state.rules.defaultTeam){
//clean up calculations and flush results
calculating = false;
calcCount = 0;
path.clear();
path.addAll(calcPath);
calcPath.clear();
calcTile = null;
totalCalcs ++;
foundPath = true;
break;
}
calcCount ++;
} }
} }
} }

View File

@@ -21,6 +21,7 @@ import static mindustry.Vars.*;
public class WaveSpawner{ public class WaveSpawner{
private static final float margin = 40f, coreMargin = tilesize * 2f, maxSteps = 30; private static final float margin = 40f, coreMargin = tilesize * 2f, maxSteps = 30;
private int tmpCount;
private Seq<Tile> spawns = new Seq<>(); private Seq<Tile> spawns = new Seq<>();
private boolean spawning = false; private boolean spawning = false;
private boolean any = false; private boolean any = false;
@@ -162,6 +163,18 @@ public class WaveSpawner{
} }
} }
public int countGroundSpawns(){
tmpCount = 0;
eachGroundSpawn((x, y) -> tmpCount ++);
return tmpCount;
}
public int countFlyerSpawns(){
tmpCount = 0;
eachFlyerSpawn((x, y) -> tmpCount ++);
return tmpCount;
}
public boolean isSpawning(){ public boolean isSpawning(){
return spawning && !net.client(); return spawning && !net.client();
} }

View File

@@ -5,21 +5,17 @@ import arc.math.geom.*;
import mindustry.ai.formations.*; import mindustry.ai.formations.*;
public class CircleFormation extends FormationPattern{ public class CircleFormation extends FormationPattern{
/** Angle offset. */
public float angleOffset = 0;
@Override @Override
public Vec3 calculateSlotLocation(Vec3 outLocation, int slotNumber){ public Vec3 calculateSlotLocation(Vec3 outLocation, int slotNumber){
if(slots > 1){ if(slots > 1){
float angle = (360f * slotNumber) / slots; float angle = (360f * slotNumber) / slots + (slots == 8 ? 22.5f : 0);
float radius = spacing / (float)Math.sin(180f / slots * Mathf.degRad); float radius = spacing / (float)Math.sin(180f / slots * Mathf.degRad);
outLocation.set(Angles.trnsx(angle, radius), Angles.trnsy(angle, radius), angle); outLocation.set(Angles.trnsx(angle, radius), Angles.trnsy(angle, radius), angle);
}else{ }else{
outLocation.set(0, spacing * 1.1f, 360f * slotNumber); outLocation.set(0, spacing * 1.1f, 360f * slotNumber);
} }
outLocation.z += angleOffset;
return outLocation; return outLocation;
} }

View File

@@ -41,6 +41,12 @@ public class FlyingAI extends AIController{
@Override @Override
protected Teamc findMainTarget(float x, float y, float range, boolean air, boolean ground){ protected Teamc findMainTarget(float x, float y, float range, boolean air, boolean ground){
var core = targetFlag(x, y, BlockFlag.core, true);
if(core != null && Mathf.within(x, y, core.getX(), core.getY(), range)){
return core;
}
for(var flag : unit.team.isAI() ? unit.type.targetFlags : unit.type.playerTargetFlags){ for(var flag : unit.team.isAI() ? unit.type.targetFlags : unit.type.playerTargetFlags){
if(flag == null){ if(flag == null){
Teamc result = target(x, y, range, air, ground); Teamc result = target(x, y, range, air, ground);
@@ -50,7 +56,8 @@ public class FlyingAI extends AIController{
if(result != null) return result; if(result != null) return result;
} }
} }
return targetFlag(x, y, BlockFlag.core, true);
return core;
} }
protected void attack(float circleLength){ protected void attack(float circleLength){

View File

@@ -42,10 +42,10 @@ public class PhysicsProcess implements AsyncProcess{
if(entity.physref == null){ if(entity.physref == null){
PhysicsBody body = new PhysicsBody(); PhysicsBody body = new PhysicsBody();
body.x = entity.x(); body.x = entity.x;
body.y = entity.y(); body.y = entity.y;
body.mass = entity.mass(); body.mass = entity.mass();
body.radius = entity.hitSize() / 2f; body.radius = entity.hitSize / 2f;
PhysicRef ref = new PhysicRef(entity, body); PhysicRef ref = new PhysicRef(entity, body);
refs.add(ref); refs.add(ref);

View File

@@ -130,7 +130,12 @@ public class SoundControl{
Core.audio.soundBus.play(); Core.audio.soundBus.play();
setupFilters(); setupFilters();
}else{ }else{
Core.audio.soundBus.replay(); //stopping a single audio bus stops everything else, yay!
Core.audio.soundBus.stop();
//play music bus again, as it was stopped above
Core.audio.musicBus.play();
Core.audio.soundBus.play();
} }
} }

View File

@@ -83,7 +83,7 @@ public class Blocks implements ContentList{
commandCenter, commandCenter,
groundFactory, airFactory, navalFactory, groundFactory, airFactory, navalFactory,
additiveReconstructor, multiplicativeReconstructor, exponentialReconstructor, tetrativeReconstructor, additiveReconstructor, multiplicativeReconstructor, exponentialReconstructor, tetrativeReconstructor,
repairPoint, repairTurret, resupplyPoint, repairPoint, repairTurret,
//payloads //payloads
payloadConveyor, payloadRouter, payloadPropulsionTower, payloadConveyor, payloadRouter, payloadPropulsionTower,
@@ -117,7 +117,7 @@ public class Blocks implements ContentList{
new ConstructBlock(i); new ConstructBlock(i);
} }
deepwater = new Floor("deepwater"){{ deepwater = new Floor("deep-water"){{
speedMultiplier = 0.2f; speedMultiplier = 0.2f;
variants = 0; variants = 0;
liquidDrop = Liquids.water; liquidDrop = Liquids.water;
@@ -130,7 +130,7 @@ public class Blocks implements ContentList{
albedo = 0.5f; albedo = 0.5f;
}}; }};
water = new Floor("water"){{ water = new Floor("shallow-water"){{
speedMultiplier = 0.5f; speedMultiplier = 0.5f;
variants = 0; variants = 0;
status = StatusEffects.wet; status = StatusEffects.wet;
@@ -184,7 +184,7 @@ public class Blocks implements ContentList{
cacheLayer = CacheLayer.tar; cacheLayer = CacheLayer.tar;
}}; }};
slag = new Floor("slag"){{ slag = new Floor("molten-slag"){{
drownTime = 150f; drownTime = 150f;
status = StatusEffects.melting; status = StatusEffects.melting;
statusDuration = 240f; statusDuration = 240f;
@@ -209,7 +209,7 @@ public class Blocks implements ContentList{
stone = new Floor("stone"); stone = new Floor("stone");
craters = new Floor("craters"){{ craters = new Floor("crater-stone"){{
variants = 3; variants = 3;
blendGroup = stone; blendGroup = stone;
}}; }};
@@ -1046,7 +1046,7 @@ public class Blocks implements ContentList{
mechanicalPump = new Pump("mechanical-pump"){{ mechanicalPump = new Pump("mechanical-pump"){{
requirements(Category.liquid, with(Items.copper, 15, Items.metaglass, 10)); requirements(Category.liquid, with(Items.copper, 15, Items.metaglass, 10));
pumpAmount = 0.11f; pumpAmount = 7f / 60f;
}}; }};
rotaryPump = new Pump("rotary-pump"){{ rotaryPump = new Pump("rotary-pump"){{
@@ -1337,14 +1337,13 @@ public class Blocks implements ContentList{
maxBoost = 2f; maxBoost = 2f;
consumes.power(80f / 60f); consumes.power(80f / 60f);
consumes.liquid(Liquids.water, 20f / 60f); consumes.liquid(Liquids.water, 18f / 60f);
}}; }};
oilExtractor = new Fracker("oil-extractor"){{ oilExtractor = new Fracker("oil-extractor"){{
requirements(Category.production, with(Items.copper, 150, Items.graphite, 175, Items.lead, 115, Items.thorium, 115, Items.silicon, 75)); requirements(Category.production, with(Items.copper, 150, Items.graphite, 175, Items.lead, 115, Items.thorium, 115, Items.silicon, 75));
result = Liquids.oil; result = Liquids.oil;
updateEffect = Fx.pulverize; updateEffect = Fx.pulverize;
liquidCapacity = 50f;
updateEffectChance = 0.05f; updateEffectChance = 0.05f;
pumpAmount = 0.25f; pumpAmount = 0.25f;
size = 3; size = 3;
@@ -1780,7 +1779,7 @@ public class Blocks implements ContentList{
despawnEffect = Fx.instBomb; despawnEffect = Fx.instBomb;
trailSpacing = 20f; trailSpacing = 20f;
damage = 1350; damage = 1350;
buildingDamageMultiplier = 0.25f; buildingDamageMultiplier = 0.2f;
speed = brange; speed = brange;
hitShake = 6f; hitShake = 6f;
ammoMultiplier = 1f; ammoMultiplier = 1f;
@@ -1848,13 +1847,13 @@ public class Blocks implements ContentList{
range = 195f; range = 195f;
reloadTime = 90f; reloadTime = 90f;
firingMoveFract = 0.5f; firingMoveFract = 0.5f;
shootDuration = 220f; shootDuration = 230f;
powerUse = 17f; powerUse = 17f;
shootSound = Sounds.laserbig; shootSound = Sounds.laserbig;
loopSound = Sounds.beam; loopSound = Sounds.beam;
loopSoundVolume = 2f; loopSoundVolume = 2f;
shootType = new ContinuousLaserBulletType(70){{ shootType = new ContinuousLaserBulletType(78){{
length = 200f; length = 200f;
hitEffect = Fx.hitMeltdown; hitEffect = Fx.hitMeltdown;
hitColor = Pal.meltdownHit; hitColor = Pal.meltdownHit;
@@ -2034,9 +2033,9 @@ public class Blocks implements ContentList{
payloadPropulsionTower = new PayloadMassDriver("payload-propulsion-tower"){{ payloadPropulsionTower = new PayloadMassDriver("payload-propulsion-tower"){{
requirements(Category.units, with(Items.thorium, 300, Items.silicon, 200, Items.plastanium, 200, Items.phaseFabric, 50)); requirements(Category.units, with(Items.thorium, 300, Items.silicon, 200, Items.plastanium, 200, Items.phaseFabric, 50));
size = 5; size = 5;
reloadTime = 140f; reloadTime = 130f;
chargeTime = 100f; chargeTime = 100f;
range = 600f; range = 1000f;
maxPayloadSize = 3.5f; maxPayloadSize = 3.5f;
consumes.power(6f); consumes.power(6f);
}}; }};

View File

@@ -1,17 +1,10 @@
package mindustry.content; package mindustry.content;
import arc.graphics.*; import arc.graphics.*;
import arc.graphics.g2d.*;
import arc.math.*;
import arc.util.*;
import mindustry.ctype.*; import mindustry.ctype.*;
import mindustry.entities.*;
import mindustry.entities.bullet.*; import mindustry.entities.bullet.*;
import mindustry.gen.*; import mindustry.entities.effect.*;
import mindustry.graphics.*; import mindustry.graphics.*;
import mindustry.world.*;
import static mindustry.Vars.*;
public class Bullets implements ContentList{ public class Bullets implements ContentList{
public static BulletType public static BulletType
@@ -113,10 +106,12 @@ public class Bullets implements ContentList{
splashDamageRadius = 25f * 0.75f; splashDamageRadius = 25f * 0.75f;
splashDamage = 35f; splashDamage = 35f;
status = StatusEffects.burning; status = StatusEffects.burning;
statusDuration = 60f * 12f;
frontColor = Pal.lightishOrange; frontColor = Pal.lightishOrange;
backColor = Pal.lightOrange; backColor = Pal.lightOrange;
makeFire = true; makeFire = true;
trailEffect = Fx.incendTrail; trailEffect = Fx.incendTrail;
ammoMultiplier = 4f;
}}; }};
artilleryExplosive = new ArtilleryBulletType(2f, 20, "shell"){{ artilleryExplosive = new ArtilleryBulletType(2f, 20, "shell"){{
@@ -127,12 +122,11 @@ public class Bullets implements ContentList{
collidesTiles = false; collidesTiles = false;
ammoMultiplier = 4f; ammoMultiplier = 4f;
splashDamageRadius = 45f * 0.75f; splashDamageRadius = 45f * 0.75f;
splashDamage = 50f; splashDamage = 55f;
backColor = Pal.missileYellowBack; backColor = Pal.missileYellowBack;
frontColor = Pal.missileYellow; frontColor = Pal.missileYellow;
status = StatusEffects.blasted; status = StatusEffects.blasted;
statusDuration = 60f;
}}; }};
flakGlassFrag = new BasicBulletType(3f, 5, "bullet"){{ flakGlassFrag = new BasicBulletType(3f, 5, "bullet"){{
@@ -177,7 +171,7 @@ public class Bullets implements ContentList{
width = 6f; width = 6f;
height = 8f; height = 8f;
hitEffect = Fx.flakExplosion; hitEffect = Fx.flakExplosion;
splashDamage = 22f * 1.5f; splashDamage = 25f * 1.5f;
splashDamageRadius = 20f; splashDamageRadius = 20f;
fragBullet = flakGlassFrag; fragBullet = flakGlassFrag;
fragBullets = 6; fragBullets = 6;
@@ -325,28 +319,37 @@ public class Bullets implements ContentList{
standardHoming = new BasicBulletType(3f, 12, "bullet"){{ standardHoming = new BasicBulletType(3f, 12, "bullet"){{
width = 7f; width = 7f;
height = 9f; height = 9f;
homingPower = 0.08f; homingPower = 0.1f;
reloadMultiplier = 1.5f; reloadMultiplier = 1.5f;
ammoMultiplier = 5; ammoMultiplier = 5;
lifetime = 60f; lifetime = 60f;
}}; }};
standardIncendiary = new BasicBulletType(3.2f, 11, "bullet"){{ standardIncendiary = new BasicBulletType(3.2f, 16, "bullet"){{
width = 10f; width = 10f;
height = 12f; height = 12f;
frontColor = Pal.lightishOrange; frontColor = Pal.lightishOrange;
backColor = Pal.lightOrange; backColor = Pal.lightOrange;
status = StatusEffects.burning; status = StatusEffects.burning;
hitEffect = new MultiEffect(Fx.hitBulletSmall, Fx.fireHit);
ammoMultiplier = 5;
splashDamage = 10f;
splashDamageRadius = 22f;
makeFire = true; makeFire = true;
inaccuracy = 3f;
lifetime = 60f; lifetime = 60f;
}}; }};
standardDenseBig = new BasicBulletType(7f, 55, "bullet"){{ standardDenseBig = new BasicBulletType(7.5f, 50, "bullet"){{
hitSize = 5; hitSize = 4.8f;
width = 15f; width = 15f;
height = 21f; height = 21f;
shootEffect = Fx.shootBig; shootEffect = Fx.shootBig;
ammoMultiplier = 4;
reloadMultiplier = 1.7f;
knockback = 0.3f;
}}; }};
standardThoriumBig = new BasicBulletType(8f, 80, "bullet"){{ standardThoriumBig = new BasicBulletType(8f, 80, "bullet"){{
@@ -359,61 +362,27 @@ public class Bullets implements ContentList{
knockback = 0.7f; knockback = 0.7f;
}}; }};
standardIncendiaryBig = new BasicBulletType(7f, 60, "bullet"){{ standardIncendiaryBig = new BasicBulletType(7f, 70, "bullet"){{
hitSize = 5; hitSize = 5;
width = 16f; width = 16f;
height = 21f; height = 21f;
frontColor = Pal.lightishOrange; frontColor = Pal.lightishOrange;
backColor = Pal.lightOrange; backColor = Pal.lightOrange;
status = StatusEffects.burning; status = StatusEffects.burning;
hitEffect = new MultiEffect(Fx.hitBulletSmall, Fx.fireHit);
shootEffect = Fx.shootBig; shootEffect = Fx.shootBig;
makeFire = true; makeFire = true;
pierceCap = 2; pierceCap = 2;
pierceBuilding = true; pierceBuilding = true;
knockback = 0.7f; knockback = 0.6f;
ammoMultiplier = 3;
splashDamage = 15f;
splashDamageRadius = 24f;
}}; }};
fireball = new BulletType(1f, 4){ fireball = new FireBulletType(1f, 4);
{
pierce = true;
collidesTiles = false;
collides = false;
drag = 0.03f;
hitEffect = despawnEffect = Fx.none;
}
@Override basicFlame = new BulletType(3.35f, 17f){{
public void init(Bullet b){
b.vel.setLength(0.6f + Mathf.random(2f));
}
@Override
public void draw(Bullet b){
Draw.color(Pal.lightFlame, Pal.darkFlame, Color.gray, b.fin());
Fill.circle(b.x, b.y, 3f * b.fout());
Draw.reset();
}
@Override
public void update(Bullet b){
if(Mathf.chance(0.04 * Time.delta)){
Tile tile = world.tileWorld(b.x, b.y);
if(tile != null){
Fires.create(tile);
}
}
if(Mathf.chance(0.1 * Time.delta)){
Fx.fireballsmoke.at(b.x, b.y);
}
if(Mathf.chance(0.1 * Time.delta)){
Fx.ballfire.at(b.x, b.y);
}
}
};
basicFlame = new BulletType(3.35f, 16f){{
ammoMultiplier = 3f; ammoMultiplier = 3f;
hitSize = 7f; hitSize = 7f;
lifetime = 18f; lifetime = 18f;
@@ -428,13 +397,13 @@ public class Bullets implements ContentList{
hittable = false; hittable = false;
}}; }};
pyraFlame = new BulletType(3.35f, 25f){{ pyraFlame = new BulletType(4f, 60f){{
ammoMultiplier = 4f; ammoMultiplier = 6f;
hitSize = 7f; hitSize = 7f;
lifetime = 18f; lifetime = 18f;
pierce = true; pierce = true;
collidesAir = false; collidesAir = false;
statusDuration = 60f * 6; statusDuration = 60f * 10;
shootEffect = Fx.shootPyraFlame; shootEffect = Fx.shootPyraFlame;
hitEffect = Fx.hitFlameSmall; hitEffect = Fx.hitFlameSmall;
despawnEffect = Fx.none; despawnEffect = Fx.none;

View File

@@ -880,6 +880,16 @@ public class Fx{
Drawf.light(Team.derelict, e.x, e.y, 20f * e.fslope(), Pal.lightFlame, 0.5f); Drawf.light(Team.derelict, e.x, e.y, 20f * e.fslope(), Pal.lightFlame, 0.5f);
}), }),
fireHit = new Effect(35f, e -> {
color(Pal.lightFlame, Pal.darkFlame, e.fin());
randLenVectors(e.id, 3, 2f + e.fin() * 10f, (x, y) -> {
Fill.circle(e.x + x, e.y + y, 0.2f + e.fout() * 1.6f);
});
color();
}),
fireSmoke = new Effect(35f, e -> { fireSmoke = new Effect(35f, e -> {
color(Color.gray); color(Color.gray);

View File

@@ -21,7 +21,7 @@ public class StatusEffects implements ContentList{
burning = new StatusEffect("burning"){{ burning = new StatusEffect("burning"){{
color = Color.valueOf("ffc455"); color = Color.valueOf("ffc455");
damage = 0.12f; //over 8 seconds, this would be ~60 damage damage = 0.167f;
effect = Fx.burning; effect = Fx.burning;
transitionDamage = 8f; transitionDamage = 8f;

View File

@@ -101,10 +101,10 @@ public class UnitTypes implements ContentList{
reload = 11f; reload = 11f;
recoil = 1f; recoil = 1f;
ejectEffect = Fx.none; ejectEffect = Fx.none;
bullet = new BulletType(4.1f, 32f){{ bullet = new BulletType(4.1f, 35f){{
ammoMultiplier = 3f; ammoMultiplier = 3f;
hitSize = 7f; hitSize = 7f;
lifetime = 12f; lifetime = 13f;
pierce = true; pierce = true;
statusDuration = 60f * 4; statusDuration = 60f * 4;
shootEffect = Fx.shootSmallFlame; shootEffect = Fx.shootSmallFlame;
@@ -344,7 +344,7 @@ public class UnitTypes implements ContentList{
bullet = new LightningBulletType(){{ bullet = new LightningBulletType(){{
lightningColor = hitColor = Pal.heal; lightningColor = hitColor = Pal.heal;
damage = 12f; damage = 14f;
lightningLength = 7; lightningLength = 7;
lightningLengthRand = 7; lightningLengthRand = 7;
shootEffect = Fx.shootHeal; shootEffect = Fx.shootHeal;
@@ -413,7 +413,7 @@ public class UnitTypes implements ContentList{
vela = new UnitType("vela"){{ vela = new UnitType("vela"){{
hitSize = 24f; hitSize = 24f;
rotateSpeed = 1.6f; rotateSpeed = 1.7f;
canDrown = false; canDrown = false;
mechFrontSway = 1f; mechFrontSway = 1f;
buildSpeed = 3f; buildSpeed = 3f;
@@ -422,14 +422,14 @@ public class UnitTypes implements ContentList{
mechStepShake = 0.15f; mechStepShake = 0.15f;
ammoType = new PowerAmmoType(2500); ammoType = new PowerAmmoType(2500);
speed = 0.4f; speed = 0.44f;
boostMultiplier = 2.2f; boostMultiplier = 2.2f;
engineOffset = 12f; engineOffset = 12f;
engineSize = 6f; engineSize = 6f;
lowAltitude = true; lowAltitude = true;
riseSpeed = 0.02f; riseSpeed = 0.02f;
health = 8000f; health = 8200f;
armor = 9f; armor = 9f;
canBoost = true; canBoost = true;
landShake = 4f; landShake = 4f;
@@ -454,7 +454,7 @@ public class UnitTypes implements ContentList{
cooldownTime = 200f; cooldownTime = 200f;
bullet = new ContinuousLaserBulletType(){{ bullet = new ContinuousLaserBulletType(){{
damage = 32f; damage = 35f;
length = 180f; length = 180f;
hitEffect = Fx.hitMeltHeal; hitEffect = Fx.hitMeltHeal;
drawSize = 420f; drawSize = 420f;
@@ -935,6 +935,8 @@ public class UnitTypes implements ContentList{
engineOffset = 5.5f; engineOffset = 5.5f;
range = 140f; range = 140f;
targetAir = false; targetAir = false;
//as default AI, flares are not very useful in core rushes, they attack nothing in the way
playerTargetFlags = new BlockFlag[]{null};
targetFlags = new BlockFlag[]{BlockFlag.generator, null}; targetFlags = new BlockFlag[]{BlockFlag.generator, null};
commandLimit = 4; commandLimit = 4;
circleTarget = true; circleTarget = true;
@@ -969,6 +971,8 @@ public class UnitTypes implements ContentList{
range = 140f; range = 140f;
faceTarget = false; faceTarget = false;
armor = 3f; armor = 3f;
//do not rush core, attack closest
playerTargetFlags = new BlockFlag[]{null};
targetFlags = new BlockFlag[]{BlockFlag.factory, null}; targetFlags = new BlockFlag[]{BlockFlag.factory, null};
commandLimit = 5; commandLimit = 5;
circleTarget = true; circleTarget = true;
@@ -1006,6 +1010,7 @@ public class UnitTypes implements ContentList{
range = 140f; range = 140f;
hitSize = 20f; hitSize = 20f;
lowAltitude = true; lowAltitude = true;
forceMultiTarget = true;
armor = 5f; armor = 5f;
targetFlags = new BlockFlag[]{BlockFlag.launchPad, BlockFlag.storage, BlockFlag.battery, null}; targetFlags = new BlockFlag[]{BlockFlag.launchPad, BlockFlag.storage, BlockFlag.battery, null};
@@ -1132,7 +1137,7 @@ public class UnitTypes implements ContentList{
hitSize = 58f; hitSize = 58f;
destructibleWreck = false; destructibleWreck = false;
armor = 13f; armor = 13f;
targetFlags = new BlockFlag[]{BlockFlag.reactor, BlockFlag.core, null}; targetFlags = new BlockFlag[]{BlockFlag.reactor, BlockFlag.battery, BlockFlag.core, null};
ammoType = new ItemAmmoType(Items.thorium); ammoType = new ItemAmmoType(Items.thorium);
BulletType fragBullet = new FlakBulletType(4f, 5){{ BulletType fragBullet = new FlakBulletType(4f, 5){{
@@ -1330,7 +1335,7 @@ public class UnitTypes implements ContentList{
quad = new UnitType("quad"){{ quad = new UnitType("quad"){{
armor = 8f; armor = 8f;
health = 6000; health = 6000;
speed = 1.4f; speed = 1.3f;
rotateSpeed = 2f; rotateSpeed = 2f;
accel = 0.05f; accel = 0.05f;
drag = 0.017f; drag = 0.017f;
@@ -1784,7 +1789,7 @@ public class UnitTypes implements ContentList{
shootY = 6f; shootY = 6f;
beamWidth = 0.8f; beamWidth = 0.8f;
mirror = false; mirror = false;
repairSpeed = 0.7f; repairSpeed = 0.75f;
bullet = new BulletType(){{ bullet = new BulletType(){{
maxRange = 120f; maxRange = 120f;
@@ -1830,8 +1835,8 @@ public class UnitTypes implements ContentList{
speed = 0f; speed = 0f;
splashDamage = 50f; splashDamage = 55f;
splashDamageRadius = 40f; splashDamageRadius = 45f;
}}; }};
}}); }});
}}; }};

View File

@@ -383,6 +383,8 @@ public class Control implements ApplicationListener, Loadable{
Groups.fire.clear(); Groups.fire.clear();
Groups.puddle.clear(); Groups.puddle.clear();
//reset to 0, so replaced cores don't count
state.rules.defaultTeam.data().unitCap = 0;
Schematics.placeLaunchLoadout(spawn.x, spawn.y); Schematics.placeLaunchLoadout(spawn.x, spawn.y);
//set up camera/player locations //set up camera/player locations

View File

@@ -507,6 +507,11 @@ public class NetClient implements ApplicationListener{
} }
} }
/** Resets the world data timeout counter. */
public void resetTimeout(){
timeoutTime = 0f;
}
public boolean isConnecting(){ public boolean isConnecting(){
return connecting; return connecting;
} }

View File

@@ -130,7 +130,7 @@ public class UI implements ApplicationListener, Loadable{
@Override @Override
public Seq<AssetDescriptor> getDependencies(){ public Seq<AssetDescriptor> getDependencies(){
return Seq.with(new AssetDescriptor<>(Control.class), new AssetDescriptor<>("outline", Font.class), new AssetDescriptor<>("default", Font.class), new AssetDescriptor<>("chat", Font.class)); return Seq.with(new AssetDescriptor<>(Control.class), new AssetDescriptor<>("outline", Font.class), new AssetDescriptor<>("default", Font.class));
} }
@Override @Override
@@ -261,6 +261,7 @@ public class UI implements ApplicationListener, Loadable{
this.numeric = inumeric; this.numeric = inumeric;
this.maxLength = textLength; this.maxLength = textLength;
this.accepted = confirmed; this.accepted = confirmed;
this.allowEmpty = false;
}}); }});
}else{ }else{
new Dialog(titleText){{ new Dialog(titleText){{

View File

@@ -326,8 +326,8 @@ public class World{
invalidMap = false; invalidMap = false;
if(!headless){ if(!headless){
if(state.teams.playerCores().size == 0 && !checkRules.pvp){ if(state.teams.cores(checkRules.defaultTeam).size == 0 && !checkRules.pvp){
ui.showErrorMessage("@map.nospawn"); ui.showErrorMessage(Core.bundle.format("map.nospawn", checkRules.defaultTeam.color, checkRules.defaultTeam.localized()));
invalidMap = true; invalidMap = true;
}else if(checkRules.pvp){ //pvp maps need two cores to be valid }else if(checkRules.pvp){ //pvp maps need two cores to be valid
if(state.teams.getActive().count(TeamData::hasCore) < 2){ if(state.teams.getActive().count(TeamData::hasCore) < 2){
@@ -337,7 +337,7 @@ public class World{
}else if(checkRules.attackMode){ //attack maps need two cores to be valid }else if(checkRules.attackMode){ //attack maps need two cores to be valid
invalidMap = state.rules.waveTeam.data().noCores(); invalidMap = state.rules.waveTeam.data().noCores();
if(invalidMap){ if(invalidMap){
ui.showErrorMessage("@map.nospawn.attack"); ui.showErrorMessage(Core.bundle.format("map.nospawn.attack", checkRules.waveTeam.color, checkRules.waveTeam.localized()));
} }
} }
}else{ }else{

View File

@@ -42,7 +42,7 @@ public class MapEditorDialog extends Dialog implements Disposable{
private BaseDialog menu; private BaseDialog menu;
private Table blockSelection; private Table blockSelection;
private Rules lastSavedRules; private Rules lastSavedRules;
private boolean saved = false; private boolean saved = false; //currently never read
private boolean shownWithMap = false; private boolean shownWithMap = false;
private Seq<Block> blocksOut = new Seq<>(); private Seq<Block> blocksOut = new Seq<>();

View File

@@ -38,7 +38,7 @@ public class MapInfoDialog extends BaseDialog{
TextField name = t.field(tags.get("name", ""), text -> { TextField name = t.field(tags.get("name", ""), text -> {
tags.put("name", text); tags.put("name", text);
}).size(400, 55f).addInputDialog(50).get(); }).size(400, 55f).maxTextLength(50).get();
name.setMessageText("@unknown"); name.setMessageText("@unknown");
t.row(); t.row();
@@ -46,7 +46,7 @@ public class MapInfoDialog extends BaseDialog{
TextArea description = t.area(tags.get("description", ""), Styles.areaField, text -> { TextArea description = t.area(tags.get("description", ""), Styles.areaField, text -> {
tags.put("description", text); tags.put("description", text);
}).size(400f, 140f).addInputDialog(1000).get(); }).size(400f, 140f).maxTextLength(1000).get();
t.row(); t.row();
t.add("@editor.author").padRight(8).left(); t.add("@editor.author").padRight(8).left();
@@ -54,7 +54,7 @@ public class MapInfoDialog extends BaseDialog{
TextField author = t.field(tags.get("author", Core.settings.getString("mapAuthor", "")), text -> { TextField author = t.field(tags.get("author", Core.settings.getString("mapAuthor", "")), text -> {
tags.put("author", text); tags.put("author", text);
Core.settings.put("mapAuthor", text); Core.settings.put("mapAuthor", text);
}).size(400, 55f).addInputDialog(50).get(); }).size(400, 55f).maxTextLength(50).get();
author.setMessageText("@unknown"); author.setMessageText("@unknown");
t.row(); t.row();

View File

@@ -29,7 +29,7 @@ public class MapResizeDialog extends BaseDialog{
table.field((w ? width : height) + "", TextFieldFilter.digitsOnly, value -> { table.field((w ? width : height) + "", TextFieldFilter.digitsOnly, value -> {
int val = Integer.parseInt(value); int val = Integer.parseInt(value);
if(w) width = val; else height = val; if(w) width = val; else height = val;
}).valid(value -> Strings.canParsePositiveInt(value) && Integer.parseInt(value) <= maxSize && Integer.parseInt(value) >= minSize).addInputDialog(3); }).valid(value -> Strings.canParsePositiveInt(value) && Integer.parseInt(value) <= maxSize && Integer.parseInt(value) >= minSize).maxTextLength(3);
table.row(); table.row();
} }

View File

@@ -196,7 +196,7 @@ public class MapView extends Element implements GestureListener{
if(Core.scene.getScrollFocus() != this) return; if(Core.scene.getScrollFocus() != this) return;
zoom += Core.input.axis(KeyCode.scroll) / 10f * zoom; zoom += Core.input.axis(Binding.zoom) / 10f * zoom;
clampZoom(); clampZoom();
} }

View File

@@ -54,8 +54,8 @@ public class Puddles{
puddle.liquid = liquid; puddle.liquid = liquid;
puddle.amount = amount; puddle.amount = amount;
puddle.set((tile.worldx() + source.worldx()) / 2f, (tile.worldy() + source.worldy()) / 2f); puddle.set((tile.worldx() + source.worldx()) / 2f, (tile.worldy() + source.worldy()) / 2f);
puddle.add();
map.put(tile.pos(), puddle); map.put(tile.pos(), puddle);
puddle.add();
}else if(p.liquid == liquid){ }else if(p.liquid == liquid){
p.accepting = Math.max(amount, p.accepting); p.accepting = Math.max(amount, p.accepting);

View File

@@ -133,7 +133,11 @@ public class EnergyFieldAbility extends Ability{
} }
}else{ }else{
anyNearby = true; anyNearby = true;
other.damage(damage); if(other instanceof Building b){
b.damage(unit.team, damage);
}else{
other.damage(damage);
}
if(other instanceof Statusc s){ if(other instanceof Statusc s){
s.apply(status, statusDuration); s.apply(status, statusDuration);
} }

View File

@@ -24,6 +24,8 @@ public class MoveLightningAbility extends Ability{
public Color color = Color.valueOf("a9d8ff"); public Color color = Color.valueOf("a9d8ff");
/** Shifts where the lightning spawns along the Y axis */ /** Shifts where the lightning spawns along the Y axis */
public float offset = 0f; public float offset = 0f;
/** Offset along the X axis. */
public float width = 0f;
/** Jittering heat sprite like the shield on v5 Javelin */ /** Jittering heat sprite like the shield on v5 Javelin */
public String heatRegion = "error"; public String heatRegion = "error";
/** Bullet type that is fired. Can be null */ /** Bullet type that is fired. Can be null */
@@ -34,6 +36,8 @@ public class MoveLightningAbility extends Ability{
public Effect shootEffect = Fx.sparkShoot; public Effect shootEffect = Fx.sparkShoot;
public Sound shootSound = Sounds.spark; public Sound shootSound = Sounds.spark;
protected float side = 1f;
MoveLightningAbility(){} MoveLightningAbility(){}
public MoveLightningAbility(float damage, int length, float chance, float offset, float minSpeed, float maxSpeed, Color color, String heatRegion){ public MoveLightningAbility(float damage, int length, float chance, float offset, float minSpeed, float maxSpeed, Color color, String heatRegion){
@@ -61,7 +65,7 @@ public class MoveLightningAbility extends Ability{
public void update(Unit unit){ public void update(Unit unit){
float scl = Mathf.clamp((unit.vel().len() - minSpeed) / (maxSpeed - minSpeed)); float scl = Mathf.clamp((unit.vel().len() - minSpeed) / (maxSpeed - minSpeed));
if(Mathf.chance(Time.delta * chance * scl)){ if(Mathf.chance(Time.delta * chance * scl)){
float x = unit.x + Angles.trnsx(unit.rotation, offset, 0), y = unit.y + Angles.trnsy(unit.rotation, offset, 0); float x = unit.x + Angles.trnsx(unit.rotation, offset, width * side), y = unit.y + Angles.trnsy(unit.rotation, offset, width * side);
shootEffect.at(x, y, unit.rotation, color); shootEffect.at(x, y, unit.rotation, color);
shootSound.at(unit); shootSound.at(unit);
@@ -73,6 +77,8 @@ public class MoveLightningAbility extends Ability{
if(bullet != null){ if(bullet != null){
bullet.create(unit, unit.team, x, y, unit.rotation + bulletAngle + Mathf.range(bulletSpread)); bullet.create(unit, unit.team, x, y, unit.rotation + bulletAngle + Mathf.range(bulletSpread));
} }
side *= -1f;
} }
} }

View File

@@ -10,7 +10,6 @@ import mindustry.entities.*;
import mindustry.gen.*; import mindustry.gen.*;
import mindustry.graphics.*; import mindustry.graphics.*;
import mindustry.type.*; import mindustry.type.*;
import mindustry.ui.*;
import static mindustry.Vars.*; import static mindustry.Vars.*;
@@ -33,7 +32,7 @@ public class UnitSpawnAbility extends Ability{
@Override @Override
public void update(Unit unit){ public void update(Unit unit){
timer += Time.delta * state.rules.unitBuildSpeedMultiplier; timer += Time.delta * state.rules.unitBuildSpeed(unit.team);
if(timer >= spawnTime && Units.canCreate(unit.team, this.unit)){ if(timer >= spawnTime && Units.canCreate(unit.team, this.unit)){
float x = unit.x + Angles.trnsx(unit.rotation, spawnY, spawnX), y = unit.y + Angles.trnsy(unit.rotation, spawnY, spawnX); float x = unit.x + Angles.trnsx(unit.rotation, spawnY, spawnX), y = unit.y + Angles.trnsy(unit.rotation, spawnY, spawnX);

View File

@@ -343,15 +343,6 @@ public class BulletType extends Content implements Cloneable{
if(instantDisappear){ if(instantDisappear){
b.time = lifetime; b.time = lifetime;
} }
if(fragBullet != null || splashDamageRadius > 0 || lightning > 0){
despawnHit = true;
}
if(lightRadius == -1){
lightRadius = Math.max(18, hitSize * 5f);
}
drawSize = Math.max(drawSize, trailLength * speed * 2f);
} }
public void update(Bullet b){ public void update(Bullet b){
@@ -412,6 +403,15 @@ public class BulletType extends Content implements Cloneable{
if(lightningType == null){ if(lightningType == null){
lightningType = !collidesAir ? Bullets.damageLightningGround : Bullets.damageLightning; lightningType = !collidesAir ? Bullets.damageLightningGround : Bullets.damageLightning;
} }
if(fragBullet != null || splashDamageRadius > 0 || lightning > 0){
despawnHit = true;
}
if(lightRadius == -1){
lightRadius = Math.max(18, hitSize * 5f);
}
drawSize = Math.max(drawSize, trailLength * speed * 2f);
} }
@Override @Override

View File

@@ -0,0 +1,64 @@
package mindustry.entities.bullet;
import arc.graphics.*;
import arc.graphics.g2d.*;
import arc.math.*;
import mindustry.content.*;
import mindustry.entities.*;
import mindustry.gen.*;
import mindustry.graphics.*;
public class FireBulletType extends BulletType{
public Color colorFrom = Pal.lightFlame, colorMid = Pal.darkFlame, colorTo = Color.gray;
public float radius = 3f;
public float velMin = 0.6f, velMax = 2.6f;
public float fireTrailChance = 0.04f;
public Effect trailEffect2 = Fx.ballfire;
public float fireEffectChance = 0.1f, fireEffectChance2 = 0.1f;
{
pierce = true;
collidesTiles = false;
collides = false;
drag = 0.03f;
hitEffect = despawnEffect = Fx.none;
trailEffect = Fx.fireballsmoke;
}
public FireBulletType(float speed, float damage){
super(speed, damage);
}
public FireBulletType(){}
@Override
public void init(Bullet b){
super.init(b);
b.vel.setLength(Mathf.random(velMin, velMax));
}
@Override
public void draw(Bullet b){
Draw.color(colorFrom, colorMid, colorTo, b.fin());
Fill.circle(b.x, b.y, radius * b.fout());
Draw.reset();
}
@Override
public void update(Bullet b){
super.update(b);
if(Mathf.chanceDelta(fireTrailChance)){
Fires.create(b.tileOn());
}
if(Mathf.chanceDelta(fireEffectChance)){
trailEffect.at(b.x, b.y);
}
if(Mathf.chanceDelta(fireEffectChance2)){
trailEffect2.at(b.x, b.y);
}
}
}

View File

@@ -13,7 +13,7 @@ import static mindustry.Vars.*;
public class MassDriverBolt extends BulletType{ public class MassDriverBolt extends BulletType{
public MassDriverBolt(){ public MassDriverBolt(){
super(1f, 50); super(1f, 75);
collidesTiles = false; collidesTiles = false;
lifetime = 1f; lifetime = 1f;
despawnEffect = Fx.smeltsmoke; despawnEffect = Fx.smeltsmoke;

View File

@@ -124,11 +124,13 @@ abstract class BuilderComp implements Posc, Statusc, Teamc, Rotc{
return; return;
} }
float bs = 1f / entity.buildCost * Time.delta * type.buildSpeed * buildSpeedMultiplier * state.rules.buildSpeed(team);
//otherwise, update it. //otherwise, update it.
if(current.breaking){ if(current.breaking){
entity.deconstruct(self(), core, 1f / entity.buildCost * Time.delta * type.buildSpeed * buildSpeedMultiplier * state.rules.buildSpeedMultiplier); entity.deconstruct(self(), core, bs);
}else{ }else{
entity.construct(self(), core, 1f / entity.buildCost * Time.delta * type.buildSpeed * buildSpeedMultiplier * state.rules.buildSpeedMultiplier, current.config); entity.construct(self(), core, bs, current.config);
} }
current.stuck = Mathf.equal(current.progress, entity.progress); current.stuck = Mathf.equal(current.progress, entity.progress);

View File

@@ -49,6 +49,7 @@ abstract class BuildingComp implements Posc, Teamc, Healthc, Buildingc, Timerc,
static final float timeToSleep = 60f * 1, timeToUncontrol = 60f * 6; static final float timeToSleep = 60f * 1, timeToUncontrol = 60f * 6;
static final ObjectSet<Building> tmpTiles = new ObjectSet<>(); static final ObjectSet<Building> tmpTiles = new ObjectSet<>();
static final Seq<Building> tempBuilds = new Seq<>(); static final Seq<Building> tempBuilds = new Seq<>();
static final BuildTeamChangeEvent teamChangeEvent = new BuildTeamChangeEvent();
static int sleepingEntities = 0; static int sleepingEntities = 0;
@Import float x, y, health, maxHealth; @Import float x, y, health, maxHealth;
@@ -159,7 +160,8 @@ abstract class BuildingComp implements Posc, Teamc, Healthc, Buildingc, Timerc,
} }
public final void readBase(Reads read){ public final void readBase(Reads read){
health = read.f(); //cap health by block health in case of nerfs
health = Math.min(read.f(), block.health);
byte rot = read.b(); byte rot = read.b();
team = Team.get(read.b()); team = Team.get(read.b());
@@ -1258,9 +1260,11 @@ abstract class BuildingComp implements Posc, Teamc, Healthc, Buildingc, Timerc,
/** Changes this building's team in a safe manner. */ /** Changes this building's team in a safe manner. */
public void changeTeam(Team next){ public void changeTeam(Team next){
Team last = this.team;
indexer.removeIndex(tile); indexer.removeIndex(tile);
this.team = next; this.team = next;
indexer.addIndex(tile); indexer.addIndex(tile);
Events.fire(teamChangeEvent.set(last, self()));
} }
public boolean canPickup(){ public boolean canPickup(){
@@ -1374,10 +1378,12 @@ abstract class BuildingComp implements Posc, Teamc, Healthc, Buildingc, Timerc,
public void damage(float damage){ public void damage(float damage){
if(dead()) return; if(dead()) return;
if(Mathf.zero(state.rules.blockHealthMultiplier)){ float dm = state.rules.blockHealth(team);
if(Mathf.zero(dm)){
damage = health + 1; damage = health + 1;
}else{ }else{
damage /= state.rules.blockHealthMultiplier; damage /= dm;
} }
Call.tileDamage(self(), health - handleDamage(damage)); Call.tileDamage(self(), health - handleDamage(damage));

View File

@@ -68,8 +68,8 @@ abstract class BulletComp implements Timedc, Damagec, Hitboxc, Teamc, Posc, Draw
@Override @Override
public float damageMultiplier(){ public float damageMultiplier(){
if(owner instanceof Unit u) return u.damageMultiplier() * state.rules.unitDamageMultiplier; if(owner instanceof Unit u) return u.damageMultiplier() * state.rules.unitDamage(team);
if(owner instanceof Building) return state.rules.blockDamageMultiplier; if(owner instanceof Building) return state.rules.blockDamage(team);
return 1f; return 1f;
} }

View File

@@ -45,6 +45,7 @@ abstract class PlayerComp implements UnitController, Entityc, Syncc, Timerc, Dra
transient String lastText = ""; transient String lastText = "";
transient float textFadeTime; transient float textFadeTime;
transient private Unit lastReadUnit = Nulls.unit; transient private Unit lastReadUnit = Nulls.unit;
transient private int wrongReadUnits;
transient @Nullable Unit justSwitchFrom, justSwitchTo; transient @Nullable Unit justSwitchFrom, justSwitchTo;
public boolean isBuilder(){ public boolean isBuilder(){
@@ -104,9 +105,15 @@ abstract class PlayerComp implements UnitController, Entityc, Syncc, Timerc, Dra
//reason: we know the server is lying here, essentially skip the unit snapshot because we know the client's information is more recent //reason: we know the server is lying here, essentially skip the unit snapshot because we know the client's information is more recent
if(isLocal() && unit == justSwitchFrom && justSwitchFrom != null && justSwitchTo != null){ if(isLocal() && unit == justSwitchFrom && justSwitchFrom != null && justSwitchTo != null){
unit = justSwitchTo; unit = justSwitchTo;
//if several snapshots have passed and this unit is still incorrect, something's wrong
if(++wrongReadUnits >= 2){
justSwitchFrom = null;
wrongReadUnits = 0;
}
}else{ }else{
justSwitchFrom = null; justSwitchFrom = null;
justSwitchTo = null; justSwitchTo = null;
wrongReadUnits = 0;
} }
//simulate a unit change after sync //simulate a unit change after sync

View File

@@ -1,5 +1,6 @@
package mindustry.entities.comp; package mindustry.entities.comp;
import arc.func.*;
import arc.graphics.*; import arc.graphics.*;
import arc.graphics.g2d.*; import arc.graphics.g2d.*;
import arc.math.*; import arc.math.*;
@@ -23,10 +24,25 @@ abstract class PuddleComp implements Posc, Puddlec, Drawc{
private static final Rect rect = new Rect(), rect2 = new Rect(); private static final Rect rect = new Rect(), rect2 = new Rect();
private static int seeds; private static int seeds;
private static Puddle paramPuddle;
private static Cons<Unit> unitCons = unit -> {
if(unit.isGrounded() && !unit.hovering){
unit.hitbox(rect2);
if(rect.overlaps(rect2)){
unit.apply(paramPuddle.liquid.effect, 60 * 2);
if(unit.vel.len2() > 0.1f * 0.1f){
Fx.ripple.at(unit.x, unit.y, unit.type.rippleScale, paramPuddle.liquid.color);
}
}
}
};
@Import int id; @Import int id;
@Import float x, y; @Import float x, y;
transient float accepting, updateTime, lastRipple; transient private boolean mismatch = false;
transient float accepting, updateTime, lastRipple = Time.time + Mathf.random(40f);
float amount; float amount;
Tile tile; Tile tile;
Liquid liquid; Liquid liquid;
@@ -60,24 +76,22 @@ abstract class PuddleComp implements Posc, Puddlec, Drawc{
if(amount <= 0f){ if(amount <= 0f){
remove(); remove();
return;
}
if(Puddles.get(tile) != self()){
mismatch = true;
remove();
return;
} }
//effects-only code //effects-only code
if(amount >= maxLiquid / 2f && updateTime <= 0f){ if(amount >= maxLiquid / 2f && updateTime <= 0f){
Units.nearby(rect.setSize(Mathf.clamp(amount / (maxLiquid / 1.5f)) * 10f).setCenter(x, y), unit -> { paramPuddle = self();
if(unit.isGrounded() && !unit.hovering){
unit.hitbox(rect2);
if(rect.overlaps(rect2)){
unit.apply(liquid.effect, 60 * 2);
if(unit.vel.len() > 0.1){ Units.nearby(rect.setSize(Mathf.clamp(amount / (maxLiquid / 1.5f)) * 10f).setCenter(x, y), unitCons);
Fx.ripple.at(unit.x, unit.y, unit.type.rippleScale, liquid.color);
}
}
}
});
if(liquid.temperature > 0.7f && (tile.build != null) && Mathf.chance(0.5)){ if(liquid.temperature > 0.7f && tile.build != null && Mathf.chance(0.5)){
Fires.create(tile); Fires.create(tile);
} }
@@ -120,7 +134,9 @@ abstract class PuddleComp implements Posc, Puddlec, Drawc{
@Override @Override
public void remove(){ public void remove(){
Puddles.remove(tile); if(!mismatch){
Puddles.remove(tile);
}
} }
@Override @Override

View File

@@ -284,6 +284,21 @@ public class EventType{
} }
} }
/**
* Called after a building's team changes.
* Event object is reused, do not nest!
* */
public static class BuildTeamChangeEvent{
public Team previous;
public Building build;
public BuildTeamChangeEvent set(Team previous, Building build){
this.build = build;
this.previous = previous;
return this;
}
}
/** Called when a core block is placed/removed or its team is changed. */ /** Called when a core block is placed/removed or its team is changed. */
public static class CoreChangeEvent{ public static class CoreChangeEvent{
public CoreBuild core; public CoreBuild core;

View File

@@ -50,7 +50,7 @@ public class Rules{
public boolean unitAmmo = false; public boolean unitAmmo = false;
/** Whether cores add to unit limit */ /** Whether cores add to unit limit */
public boolean unitCapVariable = true; public boolean unitCapVariable = true;
/** How fast unit pads build units. */ /** How fast unit factories build units. */
public float unitBuildSpeedMultiplier = 1f; public float unitBuildSpeedMultiplier = 1f;
/** How much damage any other units deal. */ /** How much damage any other units deal. */
public float unitDamageMultiplier = 1f; public float unitDamageMultiplier = 1f;
@@ -94,6 +94,8 @@ public class Rules{
public Seq<WeatherEntry> weather = new Seq<>(1); public Seq<WeatherEntry> weather = new Seq<>(1);
/** Blocks that cannot be placed. */ /** Blocks that cannot be placed. */
public ObjectSet<Block> bannedBlocks = new ObjectSet<>(); public ObjectSet<Block> bannedBlocks = new ObjectSet<>();
/** Units that cannot be built. */
public ObjectSet<UnitType> bannedUnits = new ObjectSet<>();
/** Reveals blocks normally hidden by build visibility. */ /** Reveals blocks normally hidden by build visibility. */
public ObjectSet<Block> revealedBlocks = new ObjectSet<>(); public ObjectSet<Block> revealedBlocks = new ObjectSet<>();
/** Unlocked content names. Only used in multiplayer when the campaign is enabled. */ /** Unlocked content names. Only used in multiplayer when the campaign is enabled. */
@@ -138,6 +140,26 @@ public class Rules{
} }
} }
public float unitBuildSpeed(Team team){
return unitBuildSpeedMultiplier * teams.get(team).unitBuildSpeedMultiplier;
}
public float unitDamage(Team team){
return unitDamageMultiplier * teams.get(team).unitDamageMultiplier;
}
public float blockHealth(Team team){
return blockHealthMultiplier * teams.get(team).blockHealthMultiplier;
}
public float blockDamage(Team team){
return blockDamageMultiplier * teams.get(team).blockDamageMultiplier;
}
public float buildSpeed(Team team){
return buildSpeedMultiplier * teams.get(team).buildSpeedMultiplier;
}
/** A team-specific ruleset. */ /** A team-specific ruleset. */
public static class TeamRule{ public static class TeamRule{
/** Whether to use building AI. */ /** Whether to use building AI. */
@@ -152,6 +174,19 @@ public class Rules{
public boolean infiniteResources; public boolean infiniteResources;
/** If true, this team has infinite unit ammo. */ /** If true, this team has infinite unit ammo. */
public boolean infiniteAmmo; public boolean infiniteAmmo;
/** How fast unit factories build units. */
public float unitBuildSpeedMultiplier = 1f;
/** How much damage any other units deal. */
public float unitDamageMultiplier = 1f;
/** How much health blocks start with. */
public float blockHealthMultiplier = 1f;
/** How much damage blocks (turrets) deal. */
public float blockDamageMultiplier = 1f;
/** Multiplier for building speed. */
public float buildSpeedMultiplier = 1f;
//build cost disabled due to technical complexity
} }
/** A simple map for storing TeamRules in an efficient way without hashing. */ /** A simple map for storing TeamRules in an efficient way without hashing. */

View File

@@ -33,6 +33,7 @@ import mindustry.world.blocks.power.*;
import mindustry.world.blocks.production.*; import mindustry.world.blocks.production.*;
import mindustry.world.blocks.sandbox.*; import mindustry.world.blocks.sandbox.*;
import mindustry.world.blocks.storage.*; import mindustry.world.blocks.storage.*;
import mindustry.world.blocks.storage.CoreBlock.*;
import mindustry.world.meta.*; import mindustry.world.meta.*;
import java.io.*; import java.io.*;
@@ -450,6 +451,10 @@ public class Schematics implements Loadable{
if(st.block instanceof Drill){ if(st.block instanceof Drill){
tile.getLinkedTiles(t -> t.setOverlay(resource)); tile.getLinkedTiles(t -> t.setOverlay(resource));
} }
if(tile.build instanceof CoreBuild cb){
state.teams.registerCore(cb);
}
}); });
} }

View File

@@ -78,6 +78,8 @@ public class SectorInfo{
public int waveVersion = -1; public int waveVersion = -1;
/** Whether this sector was indicated to the player or not. */ /** Whether this sector was indicated to the player or not. */
public boolean shown = false; public boolean shown = false;
/** Temporary seq for last imported items. Do not use. */
public transient ItemSeq lastImported = new ItemSeq();
/** Special variables for simulation. */ /** Special variables for simulation. */
public float sumHealth, sumRps, sumDps, waveHealthBase, waveHealthSlope, waveDpsBase, waveDpsSlope, bossHealth, bossDps, curEnemyHealth, curEnemyDps; public float sumHealth, sumRps, sumDps, waveHealthBase, waveHealthSlope, waveDpsBase, waveDpsSlope, bossHealth, bossDps, curEnemyHealth, curEnemyDps;

View File

@@ -147,8 +147,35 @@ public class Universe{
//update relevant sectors //update relevant sectors
for(Planet planet : content.planets()){ for(Planet planet : content.planets()){
//first pass: clear import stats
for(Sector sector : planet.sectors){ for(Sector sector : planet.sectors){
if(sector.hasSave() && sector.hasBase()){ if(sector.hasBase() && !sector.isBeingPlayed()){
sector.info.lastImported.clear();
}
}
//second pass: update export & import statistics
for(Sector sector : planet.sectors){
if(sector.hasBase() && !sector.isBeingPlayed()){
//export to another sector
if(sector.info.destination != null){
Sector to = sector.info.destination;
if(to.hasBase()){
ItemSeq items = new ItemSeq();
//calculated exported items to this sector
sector.info.export.each((item, stat) -> items.add(item, (int)(stat.mean * newSecondsPassed * sector.getProductionScale())));
to.addItems(items);
to.info.lastImported.add(items);
}
}
}
}
//third pass: everything else
for(Sector sector : planet.sectors){
if(sector.hasBase()){
//if it is being attacked, capture time is 0; otherwise, increment the timer //if it is being attacked, capture time is 0; otherwise, increment the timer
if(sector.isAttacked()){ if(sector.isAttacked()){
@@ -198,26 +225,16 @@ public class Universe{
float scl = sector.getProductionScale(); float scl = sector.getProductionScale();
//export to another sector //add production, making sure that it's capped
if(sector.info.destination != null){ sector.info.production.each((item, stat) -> sector.info.items.add(item, Math.min((int)(stat.mean * newSecondsPassed * scl), sector.info.storageCapacity - sector.info.items.get(item))));
Sector to = sector.info.destination;
if(to.hasBase()){
ItemSeq items = new ItemSeq();
//calculated exported items to this sector
sector.info.export.each((item, stat) -> items.add(item, (int)(stat.mean * newSecondsPassed * scl)));
to.addItems(items);
}
}
sector.info.export.each((item, amount) -> { sector.info.export.each((item, stat) -> {
if(sector.info.items.get(item) <= 0 && sector.info.production.get(item, ExportStat::new).mean < 0){ if(sector.info.items.get(item) <= 0 && sector.info.production.get(item, ExportStat::new).mean < 0 && stat.mean > 0){
//disable export when production is negative. //cap export by import when production is negative.
sector.info.export.get(item).mean = 0f; stat.mean = Math.min(sector.info.lastImported.get(item) / (float)newSecondsPassed, stat.mean);
} }
}); });
//add production, making sure that it's capped
sector.info.production.each((item, stat) -> sector.info.items.add(item, Math.min((int)(stat.mean * newSecondsPassed * scl), sector.info.storageCapacity - sector.info.items.get(item))));
//prevent negative values with unloaders //prevent negative values with unloaders
sector.info.items.checkNegative(); sector.info.items.checkNegative();

View File

@@ -261,6 +261,10 @@ public class Waves{
} }
public static Seq<SpawnGroup> generate(float difficulty, Rand rand, boolean attack){ public static Seq<SpawnGroup> generate(float difficulty, Rand rand, boolean attack){
return generate(difficulty, rand, attack, false);
}
public static Seq<SpawnGroup> generate(float difficulty, Rand rand, boolean attack, boolean airOnly){
UnitType[][] species = { UnitType[][] species = {
{dagger, mace, fortress, scepter, reign}, {dagger, mace, fortress, scepter, reign},
{nova, pulsar, quasar, vela, corvus}, {nova, pulsar, quasar, vela, corvus},
@@ -268,6 +272,12 @@ public class Waves{
{flare, horizon, zenith, rand.chance(0.5) ? quad : antumbra, rand.chance(0.1) ? quad : eclipse} {flare, horizon, zenith, rand.chance(0.5) ? quad : antumbra, rand.chance(0.1) ? quad : eclipse}
}; };
if(airOnly){
species = Structs.filter(UnitType[].class, species, v -> v[0].flying);
}
UnitType[][] fspec = species;
//required progression: //required progression:
//- extra periodic patterns //- extra periodic patterns
@@ -281,7 +291,7 @@ public class Waves{
Intc createProgression = start -> { Intc createProgression = start -> {
//main sequence //main sequence
UnitType[] curSpecies = Structs.random(species); UnitType[] curSpecies = Structs.random(fspec);
int curTier = 0; int curTier = 0;
for(int i = start; i < cap;){ for(int i = start; i < cap;){
@@ -326,7 +336,7 @@ public class Waves{
//small chance to switch species //small chance to switch species
if(rand.chance(0.3)){ if(rand.chance(0.3)){
curSpecies = Structs.random(species); curSpecies = Structs.random(fspec);
} }
} }
}; };

View File

@@ -29,7 +29,7 @@ public class MenuRenderer implements Disposable{
private float time = 0f; private float time = 0f;
private float flyerRot = 45f; private float flyerRot = 45f;
private int flyers = Mathf.chance(0.2) ? Mathf.random(35) : Mathf.random(15); private int flyers = Mathf.chance(0.2) ? Mathf.random(35) : Mathf.random(15);
private UnitType flyerType = content.units().select(u -> u.hitSize <= 20f && u.flying && u.region.found()).random(); private UnitType flyerType = content.units().select(u -> u.hitSize <= 20f && u.flying && u.onTitleScreen && u.region.found()).random();
public MenuRenderer(){ public MenuRenderer(){
Time.mark(); Time.mark();

View File

@@ -33,13 +33,14 @@ public class MinimapRenderer{
updateAll(); updateAll();
}); });
//make sure to call on the graphics thread
Events.on(TileChangeEvent.class, event -> { Events.on(TileChangeEvent.class, event -> {
//TODO don't update when the minimap is off? //TODO don't update when the minimap is off?
if(!ui.editor.isShown()){ if(!ui.editor.isShown()){
update(event.tile); update(event.tile);
} }
}); });
Events.on(BuildTeamChangeEvent.class, event -> update(event.build.tile));
} }
public Pixmap getPixmap(){ public Pixmap getPixmap(){

View File

@@ -30,8 +30,11 @@ public class Pixelator implements Disposable{
py = Core.camera.position.y; py = Core.camera.position.y;
Core.camera.position.set((int)px + ((int)(camera.width) % 2 == 0 ? 0 : 0.5f), (int)py + ((int)(camera.height) % 2 == 0 ? 0 : 0.5f)); Core.camera.position.set((int)px + ((int)(camera.width) % 2 == 0 ? 0 : 0.5f), (int)py + ((int)(camera.height) % 2 == 0 ? 0 : 0.5f));
int w = (int)(Core.camera.width * renderer.landScale()); int w = (int)Core.camera.width, h = (int)Core.camera.height;
int h = (int)(Core.camera.height * renderer.landScale()); if(renderer.isCutscene()){
w = (int)(Core.camera.width * renderer.landScale() / renderer.getScale());
h = (int)(Core.camera.height * renderer.landScale() / renderer.getScale());
}
buffer.resize(w, h); buffer.resize(w, h);

Some files were not shown because too many files have changed in this diff Show More