Compare commits

..

140 Commits
v113.1 ... v115

Author SHA1 Message Date
Anuken
bbc8c05f93 Merge pull request #3354 from Prosta4okua/master
[Bundle][RU] actual L10n
2020-11-19 10:39:15 -05:00
Anuken
bfbb082fd8 Merge pull request #3393 from Prosta4okua/patch-8
Ukrainian translation
2020-11-19 10:37:05 -05:00
Anuken
89ef2ac4d3 Naval research requirements for final sector 2020-11-19 10:23:46 -05:00
Anuken
506175212c Merge remote-tracking branch 'origin/master' 2020-11-19 10:14:49 -05:00
Anuken
b57b1966a7 Switched to ALSA Soloud backend / Fixed sound muffling at start 2020-11-19 10:14:44 -05:00
Anuken
08a50edb23 Merge pull request #3456 from DeltaNedas/mapsize
add @mapx/y to logic processor
2020-11-19 10:12:32 -05:00
Anuken
95c242a2e1 Fixed final sector missing waves / Fixed audio not working on Android 2020-11-19 09:43:15 -05:00
Felix Corvus
49a1a0b768 5 new lines; 1 line changed
New:

- indev.campaign
- launch.from
- sector.planetaryTerminal.name
- block.interplanetary-accelerator.name
- block.interplanetary-accelerator.description

Changed:

- sector.extractionOutpost.name
2020-11-19 17:43:08 +03:00
DeltaNedas
a44ef1f063 wh 2020-11-19 07:10:51 +00:00
Anuken
72d5a8a768 Added "Launching From" info 2020-11-18 20:05:45 -05:00
Anuken
8692639e62 Fixed foreshadow coolant stat roundoff error 2020-11-18 19:08:26 -05:00
Anuken
1ef264d560 Added final campaign map (WIP, untested) 2020-11-18 18:58:54 -05:00
Anuken
63d4428527 Fixed #3453 2020-11-18 18:29:31 -05:00
DeltaNedas
4beca5e07d add @mapx/y to logic processor 2020-11-18 23:22:11 +00:00
Anuken
2758e65e19 Fixed typo 2020-11-18 13:30:35 -05:00
Anuken
129d76ad7e Fixed #3449 2020-11-18 13:20:23 -05:00
Anuken
f4a7288633 Fixed #3447 2020-11-18 09:26:31 -05:00
Felix Corvus
1684c04e52 RU L10n Android changelog 29713 2020-11-18 14:04:44 +03:00
Félix Córvus
ece615e764 RU L10n Android short description 2020-11-18 13:49:28 +03:00
Felix Corvus
8b48ef4f92 3 changed lines
- stats
- sector.curcapture
- sector.fungalPass.description
2020-11-18 13:15:08 +03:00
Felix Corvus
0ee8c2362f 18 new lines; 2 changed lines; 3 removed lines
New:

- gameover.disconnect
- gameover.waiting
- stats
- showui
- wave.enemycores
- wave.enemycore
- requirement.produce
- sectors.export
- sectors.time
- sectors.threat
- sectors.wave
- sector.curcapture
- sector.attacked
- sector.lost
- sector.captured
- planets
- sector.extractionOutpost.name
- block.resupply-point.description

Changed:

- indev.popup
- item.scrap.description

Removed:

- bestwave
- sector.crags.name
Various notes & todos
2020-11-18 11:51:13 +03:00
Anuken
adc7b30eab Limited all logic strings/symbols to 30 characters 2020-11-17 21:01:25 -05:00
Anuken
527be41e32 Merged Unit & Builder components / Cleanup 2020-11-17 19:40:18 -05:00
Anuken
8280166485 Cleanup 2020-11-17 16:06:02 -05:00
Anuken
e453c6033a Cleanup 2020-11-17 15:05:24 -05:00
Prosta4okua
949ad79ade Update bundle_uk_UA.properties 2020-11-17 20:48:01 +02:00
Prosta4okua
daabdf486f Update bundle_uk_UA.properties 2020-11-17 20:40:27 +02:00
Prosta4okua
8b50bb68e7 Update bundle_uk_UA.properties 2020-11-17 20:33:05 +02:00
Prosta4okua
bd654fda76 Update bundle_uk_UA.properties 2020-11-17 20:29:26 +02:00
Anuken
40ae2e64c8 Merge remote-tracking branch 'origin/master' 2020-11-17 11:23:54 -05:00
Anuken
78ae6dde4f Fixed deconstruction area not being queued [Mobile] 2020-11-17 11:23:50 -05:00
Anuken
2071bad22d Merge pull request #3426 from MEEPofFaith/continuous-weapon-recoil
Begin reloading continuous weapons  after the bullet finishes.
2020-11-17 11:05:17 -05:00
Anuken
054f0b2128 Fixed server not compiling 2020-11-17 10:26:50 -05:00
Anuken
1e2b593152 Added more validaiton for sector capture events 2020-11-17 10:20:57 -05:00
Anuken
b46676014b Fixed #3431 / Fixed #3432 / Fixed #3429 / Fixed #3435 / Fixed #3434 2020-11-17 10:18:08 -05:00
Anuken
3c36749990 Implemented automatic co-op sector change sync 2020-11-17 09:39:28 -05:00
Anuken
280e345faf Cleanup 2020-11-16 19:50:15 -05:00
Anuken
f296d23cfa Bugfixes 2020-11-16 19:43:56 -05:00
MEEP of Faith
c72a9166a6 ;) 2020-11-16 16:22:38 -08:00
MEEP of Faith
ffca824474 Begin reloading continuous weapons after the bullet finishes. 2020-11-16 16:11:36 -08:00
Anuken
3b609f698a Fixed #3422 2020-11-16 17:41:42 -05:00
Anuken
242109f34e Mobile font border fix 2020-11-16 17:00:14 -05:00
Anuken
4b733fe244 Merge remote-tracking branch 'origin/master' 2020-11-16 16:32:10 -05:00
Anuken
74f083b897 Better sector icons 2020-11-16 16:31:55 -05:00
Anuken
f9580c7864 Merge pull request #3421 from MEEPofFaith/fix-absorbing-lasers
Lasers cannot and should not collide with anything.
2020-11-16 15:41:36 -05:00
MEEP of Faith
361ed26907 Lasers cannot and should not collide with anything. 2020-11-16 12:24:36 -08:00
Anuken
80130c69e4 arc 2020-11-16 14:21:44 -05:00
Anuken
3b47cb03bc Merge remote-tracking branch 'origin/master' 2020-11-16 14:21:39 -05:00
Anuken
8577eb9484 New sector display UI 2020-11-16 14:21:30 -05:00
Anuken
272a7af1ae Merge pull request #2575 from Voz-Duh/team-colors-for-payload-distributions
Team Colors For Payload Conveyor and Router
2020-11-16 12:35:27 -05:00
Anuken
33e8489f42 Bugfixes 2020-11-16 09:18:53 -05:00
Anuken
bdee65e925 Sector preset display 2020-11-15 23:09:40 -05:00
Anuken
b7b6ddf69a arc 2020-11-15 21:03:18 -05:00
Anuken
bf79e1a3d7 Map fixes 2020-11-15 20:34:02 -05:00
Anuken
bedf93f0e0 Cleanup 2020-11-15 20:20:37 -05:00
Anuken
a172c12e5d Auto-destruction of enemies after attack sector capture 2020-11-15 18:59:23 -05:00
Anuken
7bd05ad9ad New campaign map / Fixed #3414 2020-11-15 17:11:52 -05:00
Anuken
9928b0f788 #3412 but not broken 2020-11-15 15:29:31 -05:00
Anuken
c95872e992 #3413 but better 2020-11-15 15:05:34 -05:00
Anuken
c0786b31be Merge remote-tracking branch 'origin/master' 2020-11-15 12:52:33 -05:00
Anuken
d53b074760 Tutorial removed / Logic block group 2020-11-15 12:52:29 -05:00
Anuken
18cb0eeec6 Merge pull request #3323 from DeltaNedas/files
add file picker interface for mods
2020-11-15 11:51:50 -05:00
Anuken
1959ada854 Merge remote-tracking branch 'origin/master' 2020-11-15 11:40:20 -05:00
Anuken
fca1cacb30 Fixed #3411 / Fixed unit tests 2020-11-15 11:40:17 -05:00
Anuken
3870c64b60 Merge pull request #3388 from younggam/patch-5
protected->public for mod supports
2020-11-15 11:07:48 -05:00
Anuken
aebd3f959f Fixed #3402 / Fixed #3403 / Fixed #3401 / Fixed #3404 / Disabled derelict updates 2020-11-15 10:54:09 -05:00
Anuken
49e4aaa49b Bugfixes 2020-11-14 19:49:11 -05:00
Prosta4okua
dc35e61c3f Merge pull request #25 from summetdev/patch-8
content.sector.name
2020-11-15 02:39:07 +02:00
Anuken
135c780f35 Fixed #3400 2020-11-14 19:06:21 -05:00
Anuken
6c2541491f More campaign water 2020-11-14 17:34:35 -05:00
Antsiferov Andrew
d94765f470 content.sector.name 2020-11-15 01:09:34 +03:00
Anuken
4975def352 Cleanup 2020-11-14 17:00:12 -05:00
Anuken
0c050a3ef4 Merge remote-tracking branch 'origin/master' 2020-11-14 15:02:51 -05:00
Anuken
bd4badc274 More campaign tweaks 2020-11-14 15:02:47 -05:00
Anuken
21b1a0aedf Merge pull request #3387 from MEEPofFaith/patch-1
Remove extra Omura cannon image.
2020-11-14 14:28:54 -05:00
Anuken
87050b6c56 Merge pull request #3396 from DeltaNedas/master
add mining/mineX/mineY sensors
2020-11-14 13:37:47 -05:00
Anuken
c96f4609d0 Research system changes, unfinished 2020-11-14 13:36:43 -05:00
DeltaNedas
9bde0dc18a multiple inheritance h 2020-11-14 18:18:52 +00:00
DeltaNedas
b66294b50a add mining/mineX/mineY sensors 2020-11-14 18:09:46 +00:00
Prosta4okua
4a25063a29 Update bundle_uk_UA.properties 2020-11-14 15:50:53 +02:00
Prosta4okua
6b2ba8b432 Update bundle_uk_UA.properties 2020-11-14 15:48:59 +02:00
Prosta4okua
6753ab7c6e Update bundle_uk_UA.properties 2020-11-14 15:33:53 +02:00
Felix Corvus
dbc446f400 11 new lines
New:
threat.low
threat.medium
threat.high
threat.extreme
threat.eradication
sector.biomassFacility.name
sector.windsweptIslands.name
stat.weapons
stat.bullet
bullet.sapping
bullet.healpercent
2020-11-14 12:20:28 +03:00
younggam
bfc2b08bcc ammo protectd->public 2020-11-14 14:56:47 +09:00
younggam
4d66d63da2 requirements protected->public 2020-11-14 14:55:59 +09:00
younggam
4ee4e39518 constructor protected->public 2020-11-14 14:54:22 +09:00
MEEP of Faith
659be11b7d Remove extra omura cannon image.
It has the `-heat` prefix, so the game is using this instead of its actual heat sprite to draw heat.
2020-11-13 19:00:21 -08:00
Anuken
7559996227 Bugfixes / New campaign map 2020-11-13 19:03:27 -05:00
Anuken
04c465c8f0 Bugfixes 2020-11-13 17:33:32 -05:00
Prosta4okua
ea41e38706 Оновлення
Залишилось перевіти десь зо 30 рядків
2020-11-13 23:59:24 +02:00
Anuken
cf71356bdb Merge branch 'genNAowl-unit-stats' 2020-11-13 14:42:58 -05:00
Anuken
a9756aefad Cleanup of weapon stats 2020-11-13 14:42:46 -05:00
Anuken
e0b4eb7f8f Merge branch 'unit-stats' of git://github.com/genNAowl/Mndstry into genNAowl-unit-stats 2020-11-13 14:14:38 -05:00
Anuken
ad620971d9 Cleanup 2020-11-13 14:14:29 -05:00
Anuken
648150df65 Fixed #3380 2020-11-13 12:57:49 -05:00
Anuken
3b3b1520f9 Apparently every base part had a base tier of 0 this whole time 2020-11-13 12:40:23 -05:00
Anuken
0d015a4dfc arc 2020-11-13 11:33:50 -05:00
Anuken
75df515234 Merge remote-tracking branch 'origin/master' 2020-11-13 11:33:45 -05:00
Anuken
0908176079 Campaign changes 2020-11-13 11:33:31 -05:00
Anuken
b435c83fb6 Merge pull request #3377 from Bohaska/patch-1
Knockback for Spectre
2020-11-13 10:47:36 -05:00
Anuken
1da52d2e42 Merge pull request #3374 from BasedUser/patch-6
Formation of the CAMS
2020-11-13 10:34:49 -05:00
Bohaska
eaf76b5513 Knockback for Spectre
just made knockback for spectre on par with water.
2020-11-13 19:52:34 +08:00
Bohaska
bda5393a74 Knockback for Spectre
Suggested in https://github.com/Anuken/Mindustry-Suggestions/issues/1170
2020-11-13 19:10:34 +08:00
BasedUser
388374aa24 Update servers_v6.json 2020-11-13 10:13:47 +03:00
BasedUser
8eedb5f610 Formation of CAMS 2020-11-13 10:11:55 +03:00
DeltaNedas
e9bcf9e8b8 Merge branch 'master' into files 2020-11-13 07:10:39 +00:00
Anuken
4e7d6e9a9d Merge branch 'master' of https://github.com/Anuken/Mindustry 2020-11-12 18:46:24 -05:00
Anuken
6eaec7d505 Bugfixes + Binary and 2020-11-12 18:46:20 -05:00
Anuken
d9d4360b49 Merge pull request #3372 from L0615T1C5-216AC-9437/patch-2
Add Chaotic Neutral's name and new attack server
2020-11-12 18:28:49 -05:00
DeltaNedas
6da6c9426d add file picker interface for mods 2020-11-12 23:21:49 +00:00
Anuken
d1d3ef0c67 Sound framework improvements 2020-11-12 18:07:26 -05:00
L0615T1C5-216AC-9437
addcf350b2 Add Chaotic Neutral's name and new attack server 2020-11-12 14:55:36 -05:00
Vanguard
4a1300f789 1 changed line
mods.reloadexit
2020-11-12 21:48:39 +03:00
Leonwang4234
636fffc750 scaling(Scaling.fit)
Untested
2020-11-12 08:37:38 -08:00
Anuken
d163cacb6a Merge remote-tracking branch 'origin/master' 2020-11-12 09:41:54 -05:00
Anuken
e847a74a25 Fixed #3362 2020-11-12 09:41:49 -05:00
Anuken
c2aa655d87 Merge pull request #3365 from younggam/patch-4
little java mod support
2020-11-12 09:35:52 -05:00
younggam
f03c022db8 Update Pump.java 2020-11-12 20:52:23 +09:00
genNAowl
21a8a39344 Merge branch 'master' into unit-stats 2020-11-11 16:50:37 -08:00
Leonwang4234
14ee997a76 Merge remote-tracking branch 'upstream/master' into unit-stats 2020-11-11 16:49:29 -08:00
Anuken
b1b84fe380 Minor sound changes 2020-11-11 18:11:38 -05:00
Anuken
536a8f6085 Merge branch 'master' of https://github.com/Anuken/Mindustry 2020-11-11 17:13:26 -05:00
Anuken
6cb22dd190 arc 2020-11-11 17:13:19 -05:00
Anuken
538f1d7330 Fixed #3352 / Fixed #3355 / Quad sounds 2020-11-11 17:12:42 -05:00
Leonwang4234
4d3c6879b5 Fix many things 2020-11-11 13:27:03 -08:00
Anuken
9ef57c0366 Merge pull request #3345 from DeltaNedas/nothing
nothing
2020-11-11 15:01:36 -05:00
Prosta4okua
c263a1e52f Добридень 2020-11-11 21:58:39 +02:00
Anuken
cf4f912cef Cleanup 2020-11-11 14:55:16 -05:00
Anuken
988fdb0c9b Fixed impact0078 missing wave 2020-11-11 14:08:57 -05:00
DeltaNedas
a3d4c239d1 nothing 2020-11-11 18:28:42 +00:00
Vanguard
8c99a5cce0 1 changed line
sector.impact0078.name
2020-11-11 21:09:04 +03:00
Leonwang4234
3a27e6e94e Merge remote-tracking branch 'upstream/master' into unit-stats 2020-11-09 21:52:42 -08:00
Leonwang4234
e9c00d8a9f remove unused imports 2020-11-08 17:23:05 -08:00
Leonwang4234
490beb242a Merge remote-tracking branch 'upstream/master' into unit-stats 2020-11-08 15:21:27 -08:00
Leonwang4234
82348d4fff update sprite generation + update bullet stats 2020-11-08 14:35:06 -08:00
Leonwang4234
d133709423 update sprites 2020-11-07 18:31:47 -08:00
Leonwang4234
b448b90999 bundles 2020-11-07 17:21:16 -08:00
Leonwang4234
1555e77348 Create WeaponListValue.java 2020-11-07 17:21:03 -08:00
Leonwang4234
f9954ea4c7 initial implementation 2020-11-07 17:20:58 -08:00
Voz-Duh
6145b1c95c Team Colors For Payload Conveyor and Router 2020-09-17 16:34:34 +03:00
263 changed files with 11261 additions and 10055 deletions

View File

@@ -29,7 +29,7 @@ script:
- cd ../Mindustry - cd ../Mindustry
deploy: deploy:
- provider: releases - provider: releases
skip_cleanup: true cleanup: false
draft: false draft: false
api_key: api_key:
secure: Cv5wFtWt62/A24EvSEQvMow7gKPbZ3oATEFPuSghhB2TQz1dA40Zee3Qvk4LFlpLrhYo4K0ZSczCZRGpR+hCd8+Dpww52bheYEvWuh3ZQfvu/fXtEx2j5PwP1qMpmIgSxETV/gkD7l9FImdh0VzktYiAvQfmi0bEocG9/D4QwjFpNat7iwBdcMiw1MvAygpdIWRsjiw0RKlB2mWarmoHhQ7Gu7qlU3j50uaEvcrtmU0pBUPggNQwQRv32i9NPvNFxrqqlUjDLIS8JFea99zCkp8BwYqbEvBIMzd+Qip1/stLJJA3+cDUClbsDtg8rAVetzpOrdLEEBmqShFe5MDl2yEHcsgpN9CFsyTaUfvB3P3rVjizvycMm42IsUkXQiarm5xTQ/TIA8Rd8AHiSKuweNCg1Fd5SFaRtKy8JVLXuxyfUccmyje6hhz2L4lS2Wfj3mAG7sqZUCXhWP79EKdGkiPOjKv4CwXEKmuH3BMVqPlNUZJr9Eg3sV1FG0h2l+MVOOnR635qdUbb49sYojYxVruMLX0BH1c4ZCu230m8CUoWA1Em1QNI75ya7+9Y5T6AsgWDVpBvdUo9fWNbdp+VQ0GskFQsJD5wtnxbcbHeFiERAgGBm7z6qt9u9LrQpBH+dsW52ADvYsu3L4nQEa+sdMHwTTwmGY+iUvsxu0DqxGg= secure: Cv5wFtWt62/A24EvSEQvMow7gKPbZ3oATEFPuSghhB2TQz1dA40Zee3Qvk4LFlpLrhYo4K0ZSczCZRGpR+hCd8+Dpww52bheYEvWuh3ZQfvu/fXtEx2j5PwP1qMpmIgSxETV/gkD7l9FImdh0VzktYiAvQfmi0bEocG9/D4QwjFpNat7iwBdcMiw1MvAygpdIWRsjiw0RKlB2mWarmoHhQ7Gu7qlU3j50uaEvcrtmU0pBUPggNQwQRv32i9NPvNFxrqqlUjDLIS8JFea99zCkp8BwYqbEvBIMzd+Qip1/stLJJA3+cDUClbsDtg8rAVetzpOrdLEEBmqShFe5MDl2yEHcsgpN9CFsyTaUfvB3P3rVjizvycMm42IsUkXQiarm5xTQ/TIA8Rd8AHiSKuweNCg1Fd5SFaRtKy8JVLXuxyfUccmyje6hhz2L4lS2Wfj3mAG7sqZUCXhWP79EKdGkiPOjKv4CwXEKmuH3BMVqPlNUZJr9Eg3sV1FG0h2l+MVOOnR635qdUbb49sYojYxVruMLX0BH1c4ZCu230m8CUoWA1Em1QNI75ya7+9Y5T6AsgWDVpBvdUo9fWNbdp+VQ0GskFQsJD5wtnxbcbHeFiERAgGBm7z6qt9u9LrQpBH+dsW52ADvYsu3L4nQEa+sdMHwTTwmGY+iUvsxu0DqxGg=

View File

@@ -77,11 +77,11 @@ public class AndroidLauncher extends AndroidApplication{
} }
@Override @Override
public void showFileChooser(boolean open, String extension, Cons<Fi> cons){ public void showFileChooser(boolean open, String title, String extension, Cons<Fi> cons){
showFileChooser(open, cons, extension); showFileChooser(open, title, cons, extension);
} }
void showFileChooser(boolean open, Cons<Fi> cons, String... extensions){ void showFileChooser(boolean open, String title, Cons<Fi> cons, String... extensions){
String extension = extensions[0]; String extension = extensions[0];
if(VERSION.SDK_INT >= VERSION_CODES.Q){ if(VERSION.SDK_INT >= VERSION_CODES.Q){
@@ -118,7 +118,7 @@ public class AndroidLauncher extends AndroidApplication{
}); });
}else if(VERSION.SDK_INT >= VERSION_CODES.M && !(checkSelfPermission(Manifest.permission.WRITE_EXTERNAL_STORAGE) == PackageManager.PERMISSION_GRANTED && }else if(VERSION.SDK_INT >= VERSION_CODES.M && !(checkSelfPermission(Manifest.permission.WRITE_EXTERNAL_STORAGE) == PackageManager.PERMISSION_GRANTED &&
checkSelfPermission(Manifest.permission.READ_EXTERNAL_STORAGE) == PackageManager.PERMISSION_GRANTED)){ checkSelfPermission(Manifest.permission.READ_EXTERNAL_STORAGE) == PackageManager.PERMISSION_GRANTED)){
chooser = new FileChooser(open ? "@open" : "@save", file -> Structs.contains(extensions, file.extension().toLowerCase()), open, file -> { chooser = new FileChooser(title, file -> Structs.contains(extensions, file.extension().toLowerCase()), open, file -> {
if(!open){ if(!open){
cons.get(file.parent().child(file.nameWithoutExtension() + "." + extension)); cons.get(file.parent().child(file.nameWithoutExtension() + "." + extension));
}else{ }else{
@@ -136,16 +136,16 @@ public class AndroidLauncher extends AndroidApplication{
requestPermissions(perms.toArray(new String[0]), PERMISSION_REQUEST_CODE); requestPermissions(perms.toArray(new String[0]), PERMISSION_REQUEST_CODE);
}else{ }else{
if(open){ if(open){
new FileChooser("@open", file -> Structs.contains(extensions, file.extension().toLowerCase()), true, cons).show(); new FileChooser(title, file -> Structs.contains(extensions, file.extension().toLowerCase()), true, cons).show();
}else{ }else{
super.showFileChooser(open, extension, cons); super.showFileChooser(open, "@open", extension, cons);
} }
} }
} }
@Override @Override
public void showMultiFileChooser(Cons<Fi> cons, String... extensions){ public void showMultiFileChooser(Cons<Fi> cons, String... extensions){
showFileChooser(true, cons, extensions); showFileChooser(true, "@open", cons, extensions);
} }
@Override @Override

View File

@@ -32,12 +32,15 @@ public class AssetsProcess extends BaseProcessor{
MethodSpec.Builder load = MethodSpec.methodBuilder("load").addModifiers(Modifier.PUBLIC, Modifier.STATIC); MethodSpec.Builder load = MethodSpec.methodBuilder("load").addModifiers(Modifier.PUBLIC, Modifier.STATIC);
MethodSpec.Builder loadStyles = MethodSpec.methodBuilder("loadStyles").addModifiers(Modifier.PUBLIC, Modifier.STATIC); MethodSpec.Builder loadStyles = MethodSpec.methodBuilder("loadStyles").addModifiers(Modifier.PUBLIC, Modifier.STATIC);
MethodSpec.Builder icload = MethodSpec.methodBuilder("load").addModifiers(Modifier.PUBLIC, Modifier.STATIC); MethodSpec.Builder icload = MethodSpec.methodBuilder("load").addModifiers(Modifier.PUBLIC, Modifier.STATIC);
CodeBlock.Builder ichinit = CodeBlock.builder();
String resources = rootDirectory + "/core/assets-raw/sprites/ui"; String resources = rootDirectory + "/core/assets-raw/sprites/ui";
Jval icons = Jval.read(Fi.get(rootDirectory + "/core/assets-raw/fontgen/config.json").readString()); Jval icons = Jval.read(Fi.get(rootDirectory + "/core/assets-raw/fontgen/config.json").readString());
ObjectMap<String, String> texIcons = new OrderedMap<>(); ObjectMap<String, String> texIcons = new OrderedMap<>();
PropertiesUtils.load(texIcons, Fi.get(rootDirectory + "/core/assets/icons/icons.properties").reader()); PropertiesUtils.load(texIcons, Fi.get(rootDirectory + "/core/assets/icons/icons.properties").reader());
StringBuilder iconcAll = new StringBuilder();
texIcons.each((key, val) -> { texIcons.each((key, val) -> {
String[] split = val.split("\\|"); String[] split = val.split("\\|");
String name = Strings.kebabToCamel(split[1]).replace("Medium", "").replace("Icon", ""); String name = Strings.kebabToCamel(split[1]).replace("Medium", "").replace("Icon", "");
@@ -49,6 +52,9 @@ public class AssetsProcess extends BaseProcessor{
ictype.addField(FieldSpec.builder(ParameterizedTypeName.get(ObjectMap.class, String.class, TextureRegionDrawable.class), ictype.addField(FieldSpec.builder(ParameterizedTypeName.get(ObjectMap.class, String.class, TextureRegionDrawable.class),
"icons", Modifier.PUBLIC, Modifier.STATIC, Modifier.FINAL).initializer("new ObjectMap<>()").build()); "icons", Modifier.PUBLIC, Modifier.STATIC, Modifier.FINAL).initializer("new ObjectMap<>()").build());
ichtype.addField(FieldSpec.builder(ParameterizedTypeName.get(ObjectIntMap.class, String.class),
"codes", Modifier.PUBLIC, Modifier.STATIC, Modifier.FINAL).initializer("new ObjectIntMap<>()").build());
ObjectSet<String> used = new ObjectSet<>(); ObjectSet<String> used = new ObjectSet<>();
for(Jval val : icons.get("glyphs").asArray()){ for(Jval val : icons.get("glyphs").asArray()){
@@ -57,7 +63,9 @@ public class AssetsProcess extends BaseProcessor{
if(!val.getBool("selected", true) || !used.add(name)) continue; if(!val.getBool("selected", true) || !used.add(name)) continue;
int code = val.getInt("code", 0); int code = val.getInt("code", 0);
iconcAll.append((char)code);
ichtype.addField(FieldSpec.builder(char.class, name, Modifier.PUBLIC, Modifier.STATIC, Modifier.FINAL).initializer("(char)" + code).build()); ichtype.addField(FieldSpec.builder(char.class, name, Modifier.PUBLIC, Modifier.STATIC, Modifier.FINAL).initializer("(char)" + code).build());
ichinit.addStatement("codes.put($S, $L)", name, code);
ictype.addField(TextureRegionDrawable.class, name + "Small", Modifier.PUBLIC, Modifier.STATIC); ictype.addField(TextureRegionDrawable.class, name + "Small", Modifier.PUBLIC, Modifier.STATIC);
icload.addStatement(name + "Small = mindustry.ui.Fonts.getGlyph(mindustry.ui.Fonts.def, (char)" + code + ")"); icload.addStatement(name + "Small = mindustry.ui.Fonts.getGlyph(mindustry.ui.Fonts.def, (char)" + code + ")");
@@ -69,6 +77,9 @@ public class AssetsProcess extends BaseProcessor{
icload.addStatement("icons.put($S, " + name + "Small)", name + "Small"); icload.addStatement("icons.put($S, " + name + "Small)", name + "Small");
} }
ichtype.addField(FieldSpec.builder(String.class, "all", Modifier.PUBLIC, Modifier.STATIC, Modifier.FINAL).initializer("$S", iconcAll.toString()).build());
ichtype.addStaticBlock(ichinit.build());
Fi.get(resources).walk(p -> { Fi.get(resources).walk(p -> {
if(!p.extEquals("png")) return; if(!p.extEquals("png")) return;
@@ -111,7 +122,6 @@ public class AssetsProcess extends BaseProcessor{
HashSet<String> names = new HashSet<>(); HashSet<String> names = new HashSet<>();
Fi.get(path).walk(p -> { Fi.get(path).walk(p -> {
String fname = p.name();
String name = p.nameWithoutExtension(); String name = p.nameWithoutExtension();
if(names.contains(name)){ if(names.contains(name)){
@@ -122,18 +132,18 @@ public class AssetsProcess extends BaseProcessor{
if(SourceVersion.isKeyword(name)) name += "s"; if(SourceVersion.isKeyword(name)) name += "s";
String filepath = path.substring(path.lastIndexOf("/") + 1) + "/" + fname; String filepath = path.substring(path.lastIndexOf("/") + 1) + p.path().substring(p.path().lastIndexOf(path) + path.length());
String filename = "\"" + filepath + "\"";
String filename = "\"" + filepath + "\"";
loadBegin.addStatement("arc.Core.assets.load(" + filename + ", " + rtype + ".class).loaded = a -> " + name + " = (" + rtype + ")a", filepath, filepath.replace(".ogg", ".mp3")); loadBegin.addStatement("arc.Core.assets.load(" + filename + ", " + rtype + ".class).loaded = a -> " + name + " = (" + rtype + ")a", filepath, filepath.replace(".ogg", ".mp3"));
dispose.addStatement("arc.Core.assets.unload(" + filename + ")"); dispose.addStatement("arc.Core.assets.unload(" + filename + ")");
dispose.addStatement(name + " = null"); dispose.addStatement(name + " = null");
type.addField(FieldSpec.builder(ClassName.bestGuess(rtype), name, Modifier.STATIC, Modifier.PUBLIC).initializer("new arc.mock.Mock" + rtype.substring(rtype.lastIndexOf(".") + 1) + "()").build()); type.addField(FieldSpec.builder(ClassName.bestGuess(rtype), name, Modifier.STATIC, Modifier.PUBLIC).initializer("new arc.audio." + rtype.substring(rtype.lastIndexOf(".") + 1) + "()").build());
}); });
if(classname.equals("Sounds")){ if(classname.equals("Sounds")){
type.addField(FieldSpec.builder(ClassName.bestGuess(rtype), "none", Modifier.STATIC, Modifier.PUBLIC).initializer("new arc.mock.Mock" + rtype.substring(rtype.lastIndexOf(".") + 1) + "()").build()); type.addField(FieldSpec.builder(ClassName.bestGuess(rtype), "none", Modifier.STATIC, Modifier.PUBLIC).initializer("new arc.audio." + rtype.substring(rtype.lastIndexOf(".") + 1) + "()").build());
} }
type.addMethod(loadBegin.build()); type.addMethod(loadBegin.build());

View File

@@ -1,10 +1,13 @@
#Maps entity names to IDs. Autogenerated. #Maps entity names to IDs. Autogenerated.
alpha=0 alpha=0
arkyid=29
atrax=1 atrax=1
beta=30
block=2 block=2
corvus=24 corvus=24
flare=3 flare=3
gamma=31
mace=4 mace=4
mega=5 mega=5
mindustry.entities.comp.BuildingComp=6 mindustry.entities.comp.BuildingComp=6
@@ -26,6 +29,8 @@ oct=26
poly=18 poly=18
pulsar=19 pulsar=19
quad=23 quad=23
quasar=32
risso=20 risso=20
spiroct=21 spiroct=21
toxopid=33
vela=25 vela=25

View File

@@ -0,0 +1 @@
{fields:[{name:ammo,type:float},{name:armor,type:float},{name:controller,type:mindustry.entities.units.UnitController},{name:elevation,type:float},{name:flag,type:double},{name:health,type:float},{name:isShooting,type:boolean},{name:mineTile,type:mindustry.world.Tile},{name:mounts,type:"mindustry.entities.units.WeaponMount[]"},{name:plans,type:arc.struct.Queue<mindustry.entities.units.BuildPlan>},{name:rotation,type:float},{name:shield,type:float},{name:spawnedByCore,type:boolean},{name:stack,type:mindustry.type.ItemStack},{name:statuses,type:arc.struct.Seq<mindustry.entities.units.StatusEntry>},{name:team,type:mindustry.game.Team},{name:type,type:mindustry.type.UnitType},{name:x,type:float},{name:y,type:float}]}

View File

@@ -0,0 +1 @@
{fields:[{name:ammo,type:float},{name:armor,type:float},{name:controller,type:mindustry.entities.units.UnitController},{name:elevation,type:float},{name:flag,type:double},{name:health,type:float},{name:isShooting,type:boolean},{name:mineTile,type:mindustry.world.Tile},{name:mounts,type:"mindustry.entities.units.WeaponMount[]"},{name:plans,type:arc.struct.Queue<mindustry.entities.units.BuildPlan>},{name:rotation,type:float},{name:shield,type:float},{name:spawnedByCore,type:boolean},{name:stack,type:mindustry.type.ItemStack},{name:statuses,type:arc.struct.Seq<mindustry.entities.units.StatusEntry>},{name:team,type:mindustry.game.Team},{name:type,type:mindustry.type.UnitType},{name:x,type:float},{name:y,type:float}]}

View File

@@ -0,0 +1 @@
{fields:[{name:ammo,type:float},{name:armor,type:float},{name:controller,type:mindustry.entities.units.UnitController},{name:elevation,type:float},{name:flag,type:double},{name:health,type:float},{name:isShooting,type:boolean},{name:mineTile,type:mindustry.world.Tile},{name:mounts,type:"mindustry.entities.units.WeaponMount[]"},{name:plans,type:arc.struct.Queue<mindustry.entities.units.BuildPlan>},{name:rotation,type:float},{name:shield,type:float},{name:spawnedByCore,type:boolean},{name:stack,type:mindustry.type.ItemStack},{name:statuses,type:arc.struct.Seq<mindustry.entities.units.StatusEntry>},{name:team,type:mindustry.game.Team},{name:type,type:mindustry.type.UnitType},{name:x,type:float},{name:y,type:float}]}

View File

@@ -0,0 +1 @@
{version:4,fields:[{name:ammo,type:float},{name:armor,type:float},{name:controller,type:mindustry.entities.units.UnitController},{name:elevation,type:float},{name:flag,type:double},{name:health,type:float},{name:isShooting,type:boolean},{name:mineTile,type:mindustry.world.Tile},{name:mounts,type:"mindustry.entities.units.WeaponMount[]"},{name:plans,type:arc.struct.Queue<mindustry.entities.units.BuildPlan>},{name:rotation,type:float},{name:shield,type:float},{name:spawnedByCore,type:boolean},{name:stack,type:mindustry.type.ItemStack},{name:statuses,type:arc.struct.Seq<mindustry.entities.units.StatusEntry>},{name:team,type:mindustry.game.Team},{name:type,type:mindustry.type.UnitType},{name:x,type:float},{name:y,type:float}]}

View File

@@ -0,0 +1 @@
{version:4,fields:[{name:ammo,type:float},{name:armor,type:float},{name:controller,type:mindustry.entities.units.UnitController},{name:elevation,type:float},{name:flag,type:double},{name:health,type:float},{name:isShooting,type:boolean},{name:mineTile,type:mindustry.world.Tile},{name:mounts,type:"mindustry.entities.units.WeaponMount[]"},{name:plans,type:arc.struct.Queue<mindustry.entities.units.BuildPlan>},{name:rotation,type:float},{name:shield,type:float},{name:spawnedByCore,type:boolean},{name:stack,type:mindustry.type.ItemStack},{name:statuses,type:arc.struct.Seq<mindustry.entities.units.StatusEntry>},{name:team,type:mindustry.game.Team},{name:type,type:mindustry.type.UnitType},{name:x,type:float},{name:y,type:float}]}

View File

@@ -0,0 +1 @@
{version:4,fields:[{name:ammo,type:float},{name:armor,type:float},{name:controller,type:mindustry.entities.units.UnitController},{name:elevation,type:float},{name:flag,type:double},{name:health,type:float},{name:isShooting,type:boolean},{name:mineTile,type:mindustry.world.Tile},{name:mounts,type:"mindustry.entities.units.WeaponMount[]"},{name:plans,type:arc.struct.Queue<mindustry.entities.units.BuildPlan>},{name:rotation,type:float},{name:shield,type:float},{name:spawnedByCore,type:boolean},{name:stack,type:mindustry.type.ItemStack},{name:statuses,type:arc.struct.Seq<mindustry.entities.units.StatusEntry>},{name:team,type:mindustry.game.Team},{name:type,type:mindustry.type.UnitType},{name:x,type:float},{name:y,type:float}]}

View File

@@ -0,0 +1 @@
{fields:[{name:ammo,type:float},{name:armor,type:float},{name:controller,type:mindustry.entities.units.UnitController},{name:elevation,type:float},{name:flag,type:double},{name:health,type:float},{name:isShooting,type:boolean},{name:mineTile,type:mindustry.world.Tile},{name:mounts,type:"mindustry.entities.units.WeaponMount[]"},{name:plans,type:arc.struct.Queue<mindustry.entities.units.BuildPlan>},{name:rotation,type:float},{name:shield,type:float},{name:spawnedByCore,type:boolean},{name:stack,type:mindustry.type.ItemStack},{name:statuses,type:arc.struct.Seq<mindustry.entities.units.StatusEntry>},{name:team,type:mindustry.game.Team},{name:type,type:mindustry.type.UnitType},{name:x,type:float},{name:y,type:float}]}

View File

@@ -0,0 +1 @@
{version:4,fields:[{name:ammo,type:float},{name:armor,type:float},{name:baseRotation,type:float},{name:controller,type:mindustry.entities.units.UnitController},{name:elevation,type:float},{name:flag,type:double},{name:health,type:float},{name:isShooting,type:boolean},{name:mineTile,type:mindustry.world.Tile},{name:mounts,type:"mindustry.entities.units.WeaponMount[]"},{name:plans,type:arc.struct.Queue<mindustry.entities.units.BuildPlan>},{name:rotation,type:float},{name:shield,type:float},{name:spawnedByCore,type:boolean},{name:stack,type:mindustry.type.ItemStack},{name:statuses,type:arc.struct.Seq<mindustry.entities.units.StatusEntry>},{name:team,type:mindustry.game.Team},{name:type,type:mindustry.type.UnitType},{name:x,type:float},{name:y,type:float}]}

View File

@@ -0,0 +1 @@
{version:3,fields:[{name:ammo,type:float},{name:armor,type:float},{name:controller,type:mindustry.entities.units.UnitController},{name:elevation,type:float},{name:flag,type:double},{name:health,type:float},{name:isShooting,type:boolean},{name:mineTile,type:mindustry.world.Tile},{name:mounts,type:"mindustry.entities.units.WeaponMount[]"},{name:plans,type:arc.struct.Queue<mindustry.entities.units.BuildPlan>},{name:rotation,type:float},{name:shield,type:float},{name:spawnedByCore,type:boolean},{name:stack,type:mindustry.type.ItemStack},{name:statuses,type:arc.struct.Seq<mindustry.entities.units.StatusEntry>},{name:team,type:mindustry.game.Team},{name:type,type:mindustry.type.UnitType},{name:x,type:float},{name:y,type:float}]}

View File

@@ -0,0 +1 @@
{fields:[{name:ammo,type:float},{name:armor,type:float},{name:baseRotation,type:float},{name:controller,type:mindustry.entities.units.UnitController},{name:elevation,type:float},{name:flag,type:double},{name:health,type:float},{name:isShooting,type:boolean},{name:mineTile,type:mindustry.world.Tile},{name:mounts,type:"mindustry.entities.units.WeaponMount[]"},{name:plans,type:arc.struct.Queue<mindustry.entities.units.BuildPlan>},{name:rotation,type:float},{name:shield,type:float},{name:spawnedByCore,type:boolean},{name:stack,type:mindustry.type.ItemStack},{name:statuses,type:arc.struct.Seq<mindustry.entities.units.StatusEntry>},{name:team,type:mindustry.game.Team},{name:type,type:mindustry.type.UnitType},{name:x,type:float},{name:y,type:float}]}

View File

@@ -0,0 +1 @@
{fields:[{name:ammo,type:float},{name:armor,type:float},{name:baseRotation,type:float},{name:controller,type:mindustry.entities.units.UnitController},{name:elevation,type:float},{name:flag,type:double},{name:health,type:float},{name:isShooting,type:boolean},{name:mineTile,type:mindustry.world.Tile},{name:mounts,type:"mindustry.entities.units.WeaponMount[]"},{name:plans,type:arc.struct.Queue<mindustry.entities.units.BuildPlan>},{name:rotation,type:float},{name:shield,type:float},{name:spawnedByCore,type:boolean},{name:stack,type:mindustry.type.ItemStack},{name:statuses,type:arc.struct.Seq<mindustry.entities.units.StatusEntry>},{name:team,type:mindustry.game.Team},{name:type,type:mindustry.type.UnitType},{name:x,type:float},{name:y,type:float}]}

View File

@@ -0,0 +1 @@
{version:4,fields:[{name:ammo,type:float},{name:armor,type:float},{name:controller,type:mindustry.entities.units.UnitController},{name:elevation,type:float},{name:flag,type:double},{name:health,type:float},{name:isShooting,type:boolean},{name:mineTile,type:mindustry.world.Tile},{name:mounts,type:"mindustry.entities.units.WeaponMount[]"},{name:plans,type:arc.struct.Queue<mindustry.entities.units.BuildPlan>},{name:rotation,type:float},{name:shield,type:float},{name:spawnedByCore,type:boolean},{name:stack,type:mindustry.type.ItemStack},{name:statuses,type:arc.struct.Seq<mindustry.entities.units.StatusEntry>},{name:team,type:mindustry.game.Team},{name:type,type:mindustry.type.UnitType},{name:x,type:float},{name:y,type:float}]}

View File

@@ -0,0 +1 @@
{fields:[{name:ammo,type:float},{name:armor,type:float},{name:controller,type:mindustry.entities.units.UnitController},{name:elevation,type:float},{name:flag,type:double},{name:health,type:float},{name:isShooting,type:boolean},{name:mineTile,type:mindustry.world.Tile},{name:mounts,type:"mindustry.entities.units.WeaponMount[]"},{name:plans,type:arc.struct.Queue<mindustry.entities.units.BuildPlan>},{name:rotation,type:float},{name:shield,type:float},{name:spawnedByCore,type:boolean},{name:stack,type:mindustry.type.ItemStack},{name:statuses,type:arc.struct.Seq<mindustry.entities.units.StatusEntry>},{name:team,type:mindustry.game.Team},{name:type,type:mindustry.type.UnitType},{name:x,type:float},{name:y,type:float}]}

View File

@@ -36,7 +36,7 @@ allprojects{
if(!project.hasProperty("versionType")) versionType = 'official' if(!project.hasProperty("versionType")) versionType = 'official'
appName = 'Mindustry' appName = 'Mindustry'
steamworksVersion = '891ed912791e01fe9ee6237a6497e5212b85c256' steamworksVersion = '891ed912791e01fe9ee6237a6497e5212b85c256'
rhinoVersion = '2c3ad8c29560f695ad147a8e8cf5ed9f0ae834b3' rhinoVersion = '2617981f706e50b8753155d8e15e326308be3b22'
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 }

Binary file not shown.

After

Width:  |  Height:  |  Size: 3.7 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 3.9 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 213 B

Binary file not shown.

Before

Width:  |  Height:  |  Size: 4.3 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 1.6 KiB

After

Width:  |  Height:  |  Size: 1.5 KiB

Binary file not shown.

View File

@@ -0,0 +1,2 @@
mschxś-<2D>ŃŠ! EouÔŮťBŰÇ~„/ý#™†Ept<70>_mÁăą <09>W…)‡Ť0םÖĆôŔň¤şrÜ[,pp˙ÜZl!ÇcókÉ/z†ĺr4bÜjI<6A>ý2%ß_„%…Jěź<C4BE>W©!˝
€;pęGŹk<18>…VNf żJjŞŇĐ8ŹPK¨G8&~m3bfŘÔçźqkľˇ•'ćÄća¦ăbú/(Ű×[¨=[)»

View File

@@ -0,0 +1 @@
mschx<>MΫn„ E7^Ζλ<CE96><31>Ύφ<CE8E><CF86>"JƒΨi?ΎµηΐKCd<43>λή$β<>•SΖp(·Ύ³οU ΕΡx<07><>oU<6F>»rΪJ<CEAA>>hΔD½ΙΓ<CE99>aΡ<61><CEA1>υW j‰>ΰξ<CEB0>ύ—N»Ση¦ΆYδ<1A>µδv<76><E28099>ώ©©»xeεΆ] ζύ$ν9<CEBD>¨<EFBFBD>97Ήxχ©ΏIαόIθw^Ξ―<CE9E>jωµΣa¬΅IylΪςπTΎJ”5¨RPDuΎ<1A>*ΟΤάh<01>ΈQήA4©P3n,ΗEF ΡW<E2809A><57>ΥυΎκϊΉ.<2E>MSΠ“ε<E2809C>δ<EFBFBD> ²lθ$>g-JF—qΟΕGΖΔhι$t}Ζ<>1ς«ZΪ+XγΞF}Ζΐθω―r6fι1K<31>%†T<E280A0>

View File

@@ -0,0 +1,2 @@
mschxś-Ź[nĂ EŻń;nÓ8űŕ«+Bö(BÂ`i”˝'qăŻ3sď!pÁU ˛j!taĄ)zúĹ0S<30>Ľ^Łv
ÍٞúľČÉŮ?z:Ź18ŁĽ\•%#yşët[ČF\V÷ /­›é¨Ł'ł×Ć`Đ‘ÜÝO`

Binary file not shown.

Binary file not shown.

View File

@@ -0,0 +1,2 @@
mschxśMŤÍ „géÄj˘'ź˘ß[bL*4c|{gCB`vg?á Úč_vńq
ů†aŰ”źky¦8 [Z|WĂľR8Ý})!ç5}BcšĂî4>O°;ĹŚ7ͱ(…Ë_ŕNW4Ü\m•®JŹF ¬ĹŔ°“†"®btk! Ęho:v]5ůBëNÉľćŇ=Nôw6‡¶;í,tŚJ óÁ,;

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

View File

@@ -1,2 +0,0 @@
mschxœMŽan„ Š®ºmMÿöŠètC`ºí‰{Š]:àŸ& ïñ˜¤Óázh·ª`öÝÒWiS‡Oa!Ìw)(úŽA/ѼzcÿÉyw”6Í¢Ö`¬å^)ÜHE'¾]¼¶j!ƒùL7Â{4Q;“6µx÷E?Ü¡L{y¢œ_‰½ú̇±†“êØÈ–ðÁ…¶$ÊŽ†ˆ¶êj7CÃn6ÿŠŽõѳ!Ot-G+ĉæë oíÀè†.?ó£dò
—Ì<EFBFBD>œkr/‰Ô8N4@Ϩƒd41úSqñ c%

View File

@@ -0,0 +1 @@
mschxśMŹkNě0 …OÓ6íL<C3AD>°<>üa)ě ´Ö©MJšňX;Á®ď•Hä|Ž}l'8ŕ¶@ú™pőä—e˘‡üâĂů„v<E2809E>áŤ>cÂi ´Í}ö<>“ź&Ü­qę“[ú@“cďL°3…î‡8?okö1¸3J}ćÍsź3ĄO—řNÉ…8şy˛wK˘u…MűpfÜX‰Ó{ĎpôS?ě-ř9ăć3ş?ĂŃůLł[ă–Âőä_7?ş-€Gč*v+%o^5`8Ô˘t˙E;j<>QßhťŃ:ŁąR•ĄÜ$nQVŚEÍh!ÚćraűBņËŰwŮ y-ăF:U:şâc‡Q”ŠJQ+,ŠŁ‘é•<^p@qd÷é¸b4ŠV<C5A0>,ąćŚ©ĺă{»ĘŞĘŞĘ˛Ę´ęPŃhżF•ŤüMŔ#%ČĘŽ}+7)ŮÁą>8÷ ÚßWI

View File

@@ -0,0 +1 @@
mschxœ%<25>]! öOã³gØC$DÀ°`âím)ý˜a†âŠMÁd—¶Ó¿Br-zåô®µPqo±¹{:|Éßð+·O}äŽg<C5BD>ï7.±…tœ¥W0×Ò¹<0Žâa 4Ý5Ã@kL¤câ7#Q 2 VâJ†e_FØJز­0Kgµ°`(<28>L#ß-TÑ´Bz˜;%ÉÜIiVù

View File

@@ -0,0 +1 @@
mschxś=ŃÍŽ0†á<E280A0>ăŹĂßĘt™ŕ:şęŞWŕÉXٍ DŕĚĎťw×ÚĽRĹâáű<C3A1>Źŕ µ|ĎDOîÍËÓO·®×wţĽ{;˙đÓů6ş))ź]F·Ľz9®sĽnnňŁÔ.>ügXÜ%Ě”·ű¸úá2O/÷k{ąŹáúîŇŁzM“‡W?ůe+šŰü˙?űBęEä·HŻ]BĂ,”ĐŔ zŮmgd;š‰¨<E280B0>"iŘSć$T@IYx¤lI|ŁěyY<79> 4ěÁŔPBŹĐÁ6zźf¦WW°ŁÔ¤”†dáHY<48>*¨)R 'ĘŽÔĂ“l«R°<52>ÔĐ z<>3u: qo MĘI†dI©"5¤ÔA/jź*YB<59> X(  —LĄĎr0`ÓęŽif˘Zč ® ŹżŰ<C5BC>ěďźxčďmşŢ<C59F>úµĎ?č

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

View File

@@ -0,0 +1,2 @@
mschxśMPŰnë |IâKëćáüÄřŠJçú!VH,Ś›ćŰ›w­<>w™ťÝĹ8â±@ĺÔYăĎéĹ™xú§ĆčĂőôÔĹę€nŇËĚŤwŔäڵčLÔgąř5ŚĂEE*ú#†{ ±fôN.gm)áMTάgIö]_YÓŽ«Ťć]Ąún™}ĐrzY0Ś^Y9j<17>y]ß4ÚŮ_ŘŢůIăń-řŐMň5/K§·*ČY9mqüuĚč}šŐŐz5ýĚţ{ůC
T˘ !P

Binary file not shown.

View File

@@ -0,0 +1,3 @@
mschxœ%Žknà „ÇØIü¨äV9×È
ú;¢xS!a@€“úîMÝ%F¬¾Ñ>fz<>Æ©™p¾~:“¯¥}ŽëõbU$ %MÈÆ;à
ãCeŠ~rT:ûˆ^/6»*ú#yA9²Õ7ϧà#É)%ŒÚ++5¹Ímáꘌ5Ú;™f²ì18Zf•<66>S4Öb0™f™ü5áô¥2w­èƒðÎO„÷ VëÕ$ÙçN+Ÿ1(åíuÞ

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

View File

@@ -0,0 +1 @@
mschxœ%<25>] „‡ŸÖ³øàm|3U‰i¢­ÁãíevJš<4A>& »1zÄezVŒó}9¿×ÇÔNØßêûÚæ× <10>/Ó¶ÕöÃÞ×´ÔGŸv¯‡mýÖà}N?Qäì¨Ìv¶1x™Y(„%½"ž"ÈLBfÒ³´ë' }! vCd•Þ*bLðŽAªA*éM‰õˆ( IÕ²Ì|¤<C2A4>™Ìz!''x™Y(LÞµ³!Á&`Íï8šÝþ Ú

View File

@@ -0,0 +1 @@
mschxśEĎmjĂ0 ŕ×ůtÚ´ěů»Ó F<46>Î<EFBFBD>ŘĹi»ŃnŮIcóX,ËxAŻaă¸zśĂ-ľoa˝/~ŢÓ7űmĘáţ)5 ýE=ĄřĺżSF™ÓţđnKË<4B>‡űý‚ţ#‡ůć‡˙ŞŐÇ™«ÂĂŻĂ–ö<y\V?}Ž1Lă2Ě9, €WZhˇ'tPŠv-´& G´<>F#PNN8ń9Ť3HÎ*ĆV(„R¨ ,QW<51>Ď®§ŢA˝9éŞçóůFëÇđJ'jOWYÚkľˇގ,

Binary file not shown.

Binary file not shown.

View File

@@ -0,0 +1,2 @@
mschxœ%ÎÝ0 à³EÑK_;ßÇhp lËFßÞÎ^,_Û%§Eƒ†õÃJ¸¹Ù?_ƒ[><3E>ìÖ¸Ú‰ò˜\Ü\ð@
[~q<>žöuØÜØOÉ- êö<>š1ø7}CB7§!¾ÜF}L”3Z.×>‡=<3D>àÎâBk¦ƒs…2\qg`¸W-Á

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

View File

@@ -10,18 +10,21 @@ link.dev-builds.description = Unstable development builds
link.trello.description = Official Trello board for planned features link.trello.description = Official Trello board for planned features
link.itch.io.description = itch.io page with PC downloads link.itch.io.description = itch.io page with PC downloads
link.google-play.description = Google Play store listing link.google-play.description = Google Play store listing
link.f-droid.description = F-Droid catalogue listing link.f-droid.description = F-Droid listing
link.wiki.description = Official Mindustry wiki link.wiki.description = Official Mindustry wiki
link.suggestions.description = Suggest new features link.suggestions.description = Suggest new features
linkfail = Failed to open link!\nThe URL has been copied to your clipboard. linkfail = Failed to open link!\nThe URL has been copied to your clipboard.
screenshot = Screenshot saved to {0} screenshot = Screenshot saved to {0}
screenshot.invalid = Map too large, potentially not enough memory for screenshot. screenshot.invalid = Map too large, potentially not enough memory for screenshot.
gameover = Game Over gameover = Game Over
gameover.disconnect = Disconnect
gameover.pvp = The[accent] {0}[] team is victorious! gameover.pvp = The[accent] {0}[] team is victorious!
gameover.waiting = [accent]Waiting for next map...
highscore = [accent]New highscore! highscore = [accent]New highscore!
copied = Copied. copied = Copied.
indev.popup = [accent]v6[] is currently in [accent]beta[].\n[lightgray]This means:[]\n[scarlet]- The campaign is unfinished[]\n- SFX and music are unfinished/missing\n- Everything you see is subject to change or removal.\n\nReport bugs or crashes on [accent]Github[]. indev.popup = [accent]v6[] is currently in [accent]beta[].\n[lightgray]This means:[]\n[scarlet]- The campaign is unfinished[]\n- Everything you see is subject to change or removal.\n\nReport bugs or crashes on [accent]Github[].
indev.notready = This part of the game isn't ready yet indev.notready = This part of the game isn't ready yet
indev.campaign = [accent]You've reached the end of the campaign![]\n\nThis is as far as the content goes. Interplanetary travel will be added in future updates.
load.sound = Sounds load.sound = Sounds
load.map = Maps load.map = Maps
@@ -57,6 +60,7 @@ schematic.rename = Rename Schematic
schematic.info = {0}x{1}, {2} blocks schematic.info = {0}x{1}, {2} blocks
schematic.disabled = [scarlet]Schematics disabled[]\nYou are not allowed to use schematics on this [accent]map[] or [accent]server. schematic.disabled = [scarlet]Schematics disabled[]\nYou are not allowed to use schematics on this [accent]map[] or [accent]server.
stats = Stats
stat.wave = Waves Defeated:[accent] {0} stat.wave = Waves Defeated:[accent] {0}
stat.enemiesDestroyed = Enemies Destroyed:[accent] {0} stat.enemiesDestroyed = Enemies Destroyed:[accent] {0}
stat.built = Buildings Built:[accent] {0} stat.built = Buildings Built:[accent] {0}
@@ -290,6 +294,7 @@ cancelbuilding = [accent][[{0}][] to clear plan
selectschematic = [accent][[{0}][] to select+copy selectschematic = [accent][[{0}][] to select+copy
pausebuilding = [accent][[{0}][] to pause building pausebuilding = [accent][[{0}][] to pause building
resumebuilding = [scarlet][[{0}][] to resume building resumebuilding = [scarlet][[{0}][] to resume building
showui = UI hidden.\nPress [accent][[{0}][] to show UI.
wave = [accent]Wave {0} wave = [accent]Wave {0}
wave.cap = [accent]Wave {0}/{1} wave.cap = [accent]Wave {0}/{1}
wave.waiting = [lightgray]Wave in {0} wave.waiting = [lightgray]Wave in {0}
@@ -297,6 +302,8 @@ wave.waveInProgress = [lightgray]Wave in progress
waiting = [lightgray]Waiting... waiting = [lightgray]Waiting...
waiting.players = Waiting for players... waiting.players = Waiting for players...
wave.enemies = [lightgray]{0} Enemies Remaining wave.enemies = [lightgray]{0} Enemies Remaining
wave.enemycores = [accent]{0}[lightgray] Enemy Cores
wave.enemycore = [accent]{0}[lightgray] Enemy Core
wave.enemy = [lightgray]{0} Enemy Remaining wave.enemy = [lightgray]{0} Enemy Remaining
wave.guardianwarn = Guardian approaching in [accent]{0}[] waves. wave.guardianwarn = Guardian approaching in [accent]{0}[] waves.
wave.guardianwarn.one = Guardian approaching in [accent]{0}[] wave. wave.guardianwarn.one = Guardian approaching in [accent]{0}[] wave.
@@ -486,8 +493,8 @@ complete = [lightgray]Complete:
requirement.wave = Reach Wave {0} in {1} requirement.wave = Reach Wave {0} in {1}
requirement.core = Destroy Enemy Core in {0} requirement.core = Destroy Enemy Core in {0}
requirement.research = Research {0} requirement.research = Research {0}
requirement.produce = Produce {0}
requirement.capture = Capture {0} requirement.capture = Capture {0}
bestwave = [lightgray]Best Wave: {0}
launch.text = Launch launch.text = Launch
research.multiplayer = Only the host can research items. research.multiplayer = Only the host can research items.
uncover = Uncover uncover = Uncover
@@ -498,6 +505,7 @@ loadout = Loadout
resources = Resources resources = Resources
bannedblocks = Banned Blocks bannedblocks = Banned Blocks
addall = Add All addall = Add All
launch.from = Launching From: [accent]{0}
launch.destination = Destination: {0} launch.destination = Destination: {0}
configure.invalid = Amount must be a number between 0 and {0}. configure.invalid = Amount must be a number between 0 and {0}.
zone.unlocked = [lightgray]{0} unlocked. zone.unlocked = [lightgray]{0} unlocked.
@@ -529,19 +537,35 @@ weather.fog.name = Fog
sectors.unexplored = [lightgray]Unexplored sectors.unexplored = [lightgray]Unexplored
sectors.resources = Resources: sectors.resources = Resources:
sectors.production = Production: sectors.production = Production:
sectors.export = Export:
sectors.time = Time:
sectors.threat = Threat:
sectors.wave = Wave:
sectors.stored = Stored: sectors.stored = Stored:
sectors.resume = Resume sectors.resume = Resume
sectors.launch = Launch sectors.launch = Launch
sectors.select = Select sectors.select = Select
sectors.nonelaunch = [lightgray]none (sun) sectors.nonelaunch = [lightgray]none (sun)
sectors.rename = Rename Sector sectors.rename = Rename Sector
sector.curcapture = Sector Captured
sector.missingresources = [scarlet]Insufficient Core Resources sector.missingresources = [scarlet]Insufficient Core Resources
sector.attacked = Sector [accent]{0}[white] under attack!
sector.lost = Sector [accent]{0}[white] lost!
#note: the missing space in the line below is intentional
sector.captured = Sector [accent]{0}[white]captured!
threat.low = Low
threat.medium = Medium
threat.high = High
threat.extreme = Extreme
threat.eradication = Eradication
planets = Planets
planet.serpulo.name = Serpulo planet.serpulo.name = Serpulo
#TODO better name
planet.sun.name = Sun planet.sun.name = Sun
#NOTE TO TRANSLATORS: don't bother editing these, they'll be removed and/or rewritten anyway
sector.impact0078.name = Impact 0078 sector.impact0078.name = Impact 0078
sector.groundZero.name = Ground Zero sector.groundZero.name = Ground Zero
sector.craters.name = The Craters sector.craters.name = The Craters
@@ -554,9 +578,10 @@ sector.overgrowth.name = Overgrowth
sector.tarFields.name = Tar Fields sector.tarFields.name = Tar Fields
sector.saltFlats.name = Salt Flats sector.saltFlats.name = Salt Flats
sector.fungalPass.name = Fungal Pass sector.fungalPass.name = Fungal Pass
sector.biomassFacility.name = Biomass Synthesis Facility
#unused sector.windsweptIslands.name = Windswept Islands
#sector.crags.name = Crags sector.extractionOutpost.name = Extraction Outpost
sector.planetaryTerminal.name = Planetary Launch Terminal
sector.groundZero.description = The optimal location to begin once more. Low enemy threat. Few resources.\nGather as much lead and copper as possible.\nMove on. sector.groundZero.description = The optimal location to begin once more. Low enemy threat. Few resources.\nGather as much lead and copper as possible.\nMove on.
sector.frozenForest.description = Even here, closer to mountains, the spores have spread. The frigid temperatures cannot contain them forever.\n\nBegin the venture into power. Build combustion generators. Learn to use menders. sector.frozenForest.description = Even here, closer to mountains, the spores have spread. The frigid temperatures cannot contain them forever.\n\nBegin the venture into power. Build combustion generators. Learn to use menders.
@@ -628,6 +653,8 @@ stat.memorycapacity = Memory Capacity
stat.basepowergeneration = Base Power Generation stat.basepowergeneration = Base Power Generation
stat.productiontime = Production Time stat.productiontime = Production Time
stat.repairtime = Block Full Repair Time stat.repairtime = Block Full Repair Time
stat.weapons = Weapons
stat.bullet = Bullet
stat.speedincrease = Speed Increase stat.speedincrease = Speed Increase
stat.range = Range stat.range = Range
stat.drilltier = Drillables stat.drilltier = Drillables
@@ -697,12 +724,14 @@ units.processorcontrol = [lightgray]Processor Controlled
bullet.damage = [stat]{0}[lightgray] damage bullet.damage = [stat]{0}[lightgray] damage
bullet.splashdamage = [stat]{0}[lightgray] area dmg ~[stat] {1}[lightgray] tiles bullet.splashdamage = [stat]{0}[lightgray] area dmg ~[stat] {1}[lightgray] tiles
bullet.incendiary = [stat]incendiary bullet.incendiary = [stat]incendiary
bullet.sapping = [stat]sapping
bullet.homing = [stat]homing bullet.homing = [stat]homing
bullet.shock = [stat]shock bullet.shock = [stat]shock
bullet.frag = [stat]frag bullet.frag = [stat]frag
bullet.knockback = [stat]{0}[lightgray] knockback bullet.knockback = [stat]{0}[lightgray] knockback
bullet.pierce = [stat]{0}[lightgray]x pierce bullet.pierce = [stat]{0}[lightgray]x pierce
bullet.infinitepierce = [stat]pierce bullet.infinitepierce = [stat]pierce
bullet.healpercent = [stat]{0}[lightgray]% healing
bullet.freezing = [stat]freezing bullet.freezing = [stat]freezing
bullet.tarred = [stat]tarred bullet.tarred = [stat]tarred
bullet.multiplier = [stat]{0}[lightgray]x ammo multiplier bullet.multiplier = [stat]{0}[lightgray]x ammo multiplier
@@ -922,6 +951,7 @@ content.item.name = Items
content.liquid.name = Liquids content.liquid.name = Liquids
content.unit.name = Units content.unit.name = Units
content.block.name = Blocks content.block.name = Blocks
content.sector.name = Sectors
item.copper.name = Copper item.copper.name = Copper
item.lead.name = Lead item.lead.name = Lead
@@ -1185,6 +1215,7 @@ block.overdrive-dome.name = Overdrive Dome
block.block-forge.name = Block Forge block.block-forge.name = Block Forge
block.block-loader.name = Block Loader block.block-loader.name = Block Loader
block.block-unloader.name = Block Unloader block.block-unloader.name = Block Unloader
block.interplanetary-accelerator.name = Interplanetary Accelerator
block.switch.name = Switch block.switch.name = Switch
block.micro-processor.name = Micro Processor block.micro-processor.name = Micro Processor
@@ -1236,7 +1267,7 @@ item.coal.description = Used for fuel and refined material production.
item.coal.details = Appears to be fossilized plant matter, formed long before the seeding event. item.coal.details = Appears to be fossilized plant matter, formed long before the seeding event.
item.titanium.description = Used in liquid transportation structures, drills and aircraft. item.titanium.description = Used in liquid transportation structures, drills and aircraft.
item.thorium.description = Used in durable structures and as nuclear fuel. item.thorium.description = Used in durable structures and as nuclear fuel.
item.scrap.description = Melted down and refined into other materials. item.scrap.description = Used in Melters and Pulverizers for refining into other materials.
item.scrap.details = Leftover remnants of old structures and units. item.scrap.details = Leftover remnants of old structures and units.
item.silicon.description = Used in solar panels, complex electronics and homing turret ammunition. item.silicon.description = Used in solar panels, complex electronics and homing turret ammunition.
item.plastanium.description = Used in advanced units, insulation and fragmentation ammunition. item.plastanium.description = Used in advanced units, insulation and fragmentation ammunition.
@@ -1246,11 +1277,13 @@ item.spore-pod.description = Used for conversion into oil, explosives and fuel.
item.spore-pod.details = Spores. Likely a synthetic life form. Emit gases toxic to other biological life. Extremely invasive. Highly flammable in certain conditions. item.spore-pod.details = Spores. Likely a synthetic life form. Emit gases toxic to other biological life. Extremely invasive. Highly flammable in certain conditions.
item.blast-compound.description = Used in bombs and explosive ammunition. item.blast-compound.description = Used in bombs and explosive ammunition.
item.pyratite.description = Used in incendiary weapons and combustion-fueled generators. item.pyratite.description = Used in incendiary weapons and combustion-fueled generators.
liquid.water.description = Used for cooling machines and waste processing. liquid.water.description = Used for cooling machines and waste processing.
liquid.slag.description = Refined in separators into constituent metals, or sprayed at enemies as a weapon. liquid.slag.description = Refined in separators into constituent metals, or sprayed at enemies as a weapon.
liquid.oil.description = Used in advanced material production and as incendiary ammunition. liquid.oil.description = Used in advanced material production and as incendiary ammunition.
liquid.cryofluid.description = Used as coolant in reactors, turrets and factories. liquid.cryofluid.description = Used as coolant in reactors, turrets and factories.
block.resupply-point.description = Resupplies nearby units with copper ammunition. Not compatible with units that require battery power.
block.armored-conveyor.description = Moves items forward. Does not accept inputs from the sides. block.armored-conveyor.description = Moves items forward. Does not accept inputs from the sides.
block.illuminator.description = Emits light. block.illuminator.description = Emits light.
block.message.description = Stores a message for communication between allies. block.message.description = Stores a message for communication between allies.
@@ -1393,6 +1426,7 @@ block.memory-cell.description = Stores information for a logic processor.
block.memory-bank.description = Stores information for a logic processor. High capacity. block.memory-bank.description = Stores information for a logic processor. High capacity.
block.logic-display.description = Displays arbitrary graphics from a logic processor. block.logic-display.description = Displays arbitrary graphics from a logic processor.
block.large-logic-display.description = Displays arbitrary graphics from a logic processor. block.large-logic-display.description = Displays arbitrary graphics from a logic processor.
block.interplanetary-accelerator.description = A massive electromagnetic railgun tower. Accelerates cores to escape velocity for interplanetary deployment.
unit.dagger.description = Fires standard bullets at all nearby enemies. unit.dagger.description = Fires standard bullets at all nearby enemies.
unit.mace.description = Fires streams of flame at all nearby enemies. unit.mace.description = Fires streams of flame at all nearby enemies.
@@ -1420,7 +1454,7 @@ unit.mega.description = Automatically repairs damaged structures. Capable of car
unit.quad.description = Drops large bombs on ground targets, repairing allied structures and damaging enemies. Capable of carrying medium-sized ground units. unit.quad.description = Drops large bombs on ground targets, repairing allied structures and damaging enemies. Capable of carrying medium-sized ground units.
unit.oct.description = Protects nearby allies with its regenerating shield. Capable of carrying most ground units. unit.oct.description = Protects nearby allies with its regenerating shield. Capable of carrying most ground units.
unit.risso.description = Fires a barrage of missiles and bullets at all nearby enemies. unit.risso.description = Fires a barrage of missiles and bullets at all nearby enemies.
unit.minke.description = Fires incendiary shells and standard bullets at nearby ground targets. unit.minke.description = Fires shells and standard bullets at nearby ground targets.
unit.bryde.description = Fires long-range artillery shells and missiles at enemies. unit.bryde.description = Fires long-range artillery shells and missiles at enemies.
unit.sei.description = Fires a barrage of missiles and armor-piercing bullets at enemies. unit.sei.description = Fires a barrage of missiles and armor-piercing bullets at enemies.
unit.omura.description = Fires a long-range piercing railgun bolt at enemies. Constructs flare units. unit.omura.description = Fires a long-range piercing railgun bolt at enemies. Constructs flare units.

View File

@@ -17,11 +17,14 @@ linkfail = Не удалось открыть ссылку!\nURL-адрес бы
screenshot = Скриншот сохранён в {0} screenshot = Скриншот сохранён в {0}
screenshot.invalid = Карта слишком большая, возможно, не хватает памяти для скриншота. screenshot.invalid = Карта слишком большая, возможно, не хватает памяти для скриншота.
gameover = Игра окончена gameover = Игра окончена
gameover.disconnect = Отключение
gameover.pvp = [accent]{0}[] команда победила! gameover.pvp = [accent]{0}[] команда победила!
gameover.waiting = [accent]Ожидание следующей карты...
highscore = [accent]Новый рекорд! highscore = [accent]Новый рекорд!
copied = Скопировано. copied = Скопировано.
indev.popup = [accent]v6[] находится на стадии [accent]beta[].\n[lightgray]Это означает следующее:[]\n[scarlet]- Кампания не завершена[]\n- Звуки и музыка не готовы/отсутствуют\n- Всё, что вы видите, может быть изменено или удалено.\n\nСообщайте о багах и вылетах на [accent]GitHub[]. indev.popup = [accent]v6[] находится на стадии [accent]beta[].\n[lightgray]Это означает следующее:[]\n[scarlet]- Кампания не завершена[]\n- Всё, что вы видите, может быть изменено или удалено.\n\nСообщайте о багах и вылетах на [accent]GitHub[].
indev.notready = Эта часть игры ещё не готова indev.notready = Эта часть игры ещё не готова
indev.campaign = [accent]Вы достигли конца кампании![]\n\nЭто всё что предоставляет контент. Межпланетные путешествия будут добавлены в будущих обновлениях.
load.sound = Звуки load.sound = Звуки
load.map = Карты load.map = Карты
@@ -57,6 +60,7 @@ 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]сервере запрещено использование схем.
stats = Статистика
stat.wave = Волн отражено:[accent] {0} stat.wave = Волн отражено:[accent] {0}
stat.enemiesDestroyed = Врагов уничтожено:[accent] {0} stat.enemiesDestroyed = Врагов уничтожено:[accent] {0}
stat.built = Строений построено:[accent] {0} stat.built = Строений построено:[accent] {0}
@@ -107,7 +111,7 @@ mods.guide = Руководство по модам
mods.report = Доложить об ошибке mods.report = Доложить об ошибке
mods.openfolder = Открыть папку с модификациями mods.openfolder = Открыть папку с модификациями
mods.reload = Перезагрузить mods.reload = Перезагрузить
mods.reloadexit = Игра будет закрыта для перезагрузки модов. mods.reloadexit = Игра будет закрыта для перезагрузки модификаций.
mod.display = [gray]Модификация:[orange] {0} mod.display = [gray]Модификация:[orange] {0}
mod.enabled = [lightgray]Включён mod.enabled = [lightgray]Включён
mod.disabled = [scarlet]Выключен mod.disabled = [scarlet]Выключен
@@ -290,6 +294,7 @@ cancelbuilding = [accent][[{0}][] для очистки плана
selectschematic = [accent][[{0}][] выделить и скопировать selectschematic = [accent][[{0}][] выделить и скопировать
pausebuilding = [accent][[{0}][] для приостановки строительства pausebuilding = [accent][[{0}][] для приостановки строительства
resumebuilding = [scarlet][[{0}][] для продолжения строительства resumebuilding = [scarlet][[{0}][] для продолжения строительства
showui = Интерфейс скрыт.\nНажмите [accent][[{0}][] для отображения интерфейса.
wave = [accent]Волна {0} wave = [accent]Волна {0}
wave.cap = [accent]Волна {0}/{1} wave.cap = [accent]Волна {0}/{1}
wave.waiting = [lightgray]Волна через {0} wave.waiting = [lightgray]Волна через {0}
@@ -297,6 +302,8 @@ wave.waveInProgress = [lightgray]Волна продолжается
waiting = [lightgray]Ожидание… waiting = [lightgray]Ожидание…
waiting.players = Ожидание игроков… waiting.players = Ожидание игроков…
wave.enemies = [lightgray]Враги: {0} wave.enemies = [lightgray]Враги: {0}
wave.enemycores = [lightgray]Вражеских ядер: [accent]{0}
wave.enemycore = [accent]{0}[lightgray] вражеское ядро
wave.enemy = [lightgray]Остался {0} враг wave.enemy = [lightgray]Остался {0} враг
wave.guardianwarn = Волн до прибытия Стража: [accent]{0}[]. wave.guardianwarn = Волн до прибытия Стража: [accent]{0}[].
wave.guardianwarn.one = [accent]{0}[] волна до прибытия Стража. wave.guardianwarn.one = [accent]{0}[] волна до прибытия Стража.
@@ -486,8 +493,8 @@ complete = [lightgray]Необходимо:
requirement.wave = Достигните {0} волны в зоне {1} requirement.wave = Достигните {0} волны в зоне {1}
requirement.core = Уничтожьте вражеское ядро в зоне {0} requirement.core = Уничтожьте вражеское ядро в зоне {0}
requirement.research = Исследуйте {0} requirement.research = Исследуйте {0}
requirement.produce = Произведите {0}
requirement.capture = Захватите {0} requirement.capture = Захватите {0}
bestwave = [lightgray]Лучшая волна: {0}
launch.text = Высадка launch.text = Высадка
research.multiplayer = Только хост может исследовать предметы. research.multiplayer = Только хост может исследовать предметы.
uncover = Раскрыть uncover = Раскрыть
@@ -498,6 +505,7 @@ loadout = Груз
resources = Ресурсы resources = Ресурсы
bannedblocks = Запрещённые блоки bannedblocks = Запрещённые блоки
addall = Добавить всё addall = Добавить всё
launch.from = Запуск из: [accent]{0}
launch.destination = Место назначения: {0} launch.destination = Место назначения: {0}
configure.invalid = Количество должно быть числом между 0 и {0}. configure.invalid = Количество должно быть числом между 0 и {0}.
zone.unlocked = Зона «[lightgray]{0}» теперь разблокирована. zone.unlocked = Зона «[lightgray]{0}» теперь разблокирована.
@@ -529,19 +537,36 @@ weather.fog.name = Туман
sectors.unexplored = [lightgray]Не исследовано sectors.unexplored = [lightgray]Не исследовано
sectors.resources = Ресурсы: sectors.resources = Ресурсы:
sectors.production = Производит: sectors.production = Производит:
sectors.export = Экспорт:
sectors.time = Время:
sectors.threat = Угроза:
sectors.wave = Волна:
sectors.stored = Накоплено: sectors.stored = Накоплено:
sectors.resume = Продолжить sectors.resume = Продолжить
sectors.launch = Высадка sectors.launch = Высадка
sectors.select = Выбор sectors.select = Выбор
sectors.nonelaunch = [lightgray]нет (солнце) sectors.nonelaunch = [lightgray]нет (солнце)
sectors.rename = Переименовать сектор sectors.rename = Переименовать сектор
sector.curcapture = Сектор захвачен
sector.missingresources = [scarlet]Недостаточно ресурсов для высадки sector.missingresources = [scarlet]Недостаточно ресурсов для высадки
sector.attacked = Сектор [accent]{0}[white] атакован!
sector.lost = Сектор [accent]{0}[white] потерян!
#note: the missing space in the line below is intentional (недостающий пробел управляется кодом)
sector.captured = Сектор [accent]{0}[white]захвачен!
threat.low = Низкая
threat.medium = Средняя
threat.high = Высокая
threat.extreme = Экстремальная
threat.eradication = Истребляющая
planets = Планеты
planet.serpulo.name = Серпуло planet.serpulo.name = Серпуло
#TODO better name
planet.sun.name = Солнце planet.sun.name = Солнце
#NOTE TO TRANSLATORS: don't bother editing these, they'll be removed and/or rewritten anyway sector.impact0078.name = Крушение 0078
sector.groundZero.name = Отправная точка sector.groundZero.name = Отправная точка
sector.craters.name = Кратеры sector.craters.name = Кратеры
sector.frozenForest.name = Ледяной лес sector.frozenForest.name = Ледяной лес
@@ -553,10 +578,10 @@ sector.overgrowth.name = Заросли
sector.tarFields.name = Дегтярные поля sector.tarFields.name = Дегтярные поля
sector.saltFlats.name = Соляные равнины sector.saltFlats.name = Соляные равнины
sector.fungalPass.name = Грибной перевал sector.fungalPass.name = Грибной перевал
sector.biomassFacility.name = Центр исследования биомассы
#unused sector.windsweptIslands.name = Штормовой архипелаг
#sector.impact0078.name = Воздействие 0078 sector.extractionOutpost.name = Добывающая база
#sector.crags.name = Скалы sector.planetaryTerminal.name = Планетарный пусковой терминал
sector.groundZero.description = Оптимальная локация для повторных игр. Низкая вражеская угроза. Немного ресурсов.\nСоберите как можно больше свинца и меди.\nДвигайтесь дальше. sector.groundZero.description = Оптимальная локация для повторных игр. Низкая вражеская угроза. Немного ресурсов.\nСоберите как можно больше свинца и меди.\nДвигайтесь дальше.
sector.frozenForest.description = Даже здесь, ближе к горам, споры распространились. Холодные температуры не могут сдерживать их вечно.\n\nНачните вкладываться в энергию. Постройте генераторы внутреннего сгорания. Научитесь пользоваться регенератором. sector.frozenForest.description = Даже здесь, ближе к горам, споры распространились. Холодные температуры не могут сдерживать их вечно.\n\nНачните вкладываться в энергию. Постройте генераторы внутреннего сгорания. Научитесь пользоваться регенератором.
@@ -568,7 +593,7 @@ sector.overgrowth.description = Эта заросшая область нахо
sector.tarFields.description = Окраина зоны нефтедобычи, между горами и пустыней. Один из немногих районов с полезными запасами дёгтя.\nХотя эта область заброшенна, в ней поблизости присутствуют некоторые опасные вражеские силы. Не стоит их недооценивать.\n\n[lightgray]Исследуйте технологию переработки нефти, если возможно. sector.tarFields.description = Окраина зоны нефтедобычи, между горами и пустыней. Один из немногих районов с полезными запасами дёгтя.\nХотя эта область заброшенна, в ней поблизости присутствуют некоторые опасные вражеские силы. Не стоит их недооценивать.\n\n[lightgray]Исследуйте технологию переработки нефти, если возможно.
sector.desolateRift.description = Чрезвычайно опасная зона. Обилие ресурсов, но мало места. Высокий риск разрушения. Эвакуироваться нужно как можно скорее. Не расслабляйтесь во время больших перерывов между вражескими атаками. sector.desolateRift.description = Чрезвычайно опасная зона. Обилие ресурсов, но мало места. Высокий риск разрушения. Эвакуироваться нужно как можно скорее. Не расслабляйтесь во время больших перерывов между вражескими атаками.
sector.nuclearComplex.description = Бывший завод по производству и переработке тория, превращенный в руины.\n[lightgray]Исследуйте торий и варианты его многочисленного применения.\n\nВраг присутствует здесь в большом числе, постоянно разведывая нападающих. sector.nuclearComplex.description = Бывший завод по производству и переработке тория, превращенный в руины.\n[lightgray]Исследуйте торий и варианты его многочисленного применения.\n\nВраг присутствует здесь в большом числе, постоянно разведывая нападающих.
sector.fungalPass.description = Переходная область между высокими горами и более низкими, покрытыми спорами землями. Здесь расположена небольшая разведывательная база противника.\nУничтожьте ее.\nИспользуйте единицы «Кинжал» и «Камикадзе». Достаньте до обоих ядер. sector.fungalPass.description = Переходная область между высокими горами и более низкими, покрытыми спорами землями. Здесь расположена небольшая разведывательная база противника.\nУничтожьте ее.\nИспользуйте единицы «Кинжал» и «Ползун». Достаньте до обоих ядер.
settings.language = Язык settings.language = Язык
settings.data = Игровые данные settings.data = Игровые данные
@@ -628,6 +653,8 @@ stat.memorycapacity = Размер памяти
stat.basepowergeneration = Базовая генерация энергии stat.basepowergeneration = Базовая генерация энергии
stat.productiontime = Время производства stat.productiontime = Время производства
stat.repairtime = Время полной регенерации stat.repairtime = Время полной регенерации
stat.weapons = Орудия
stat.bullet = Снаряд
stat.speedincrease = Увеличение скорости stat.speedincrease = Увеличение скорости
stat.range = Радиус действия stat.range = Радиус действия
stat.drilltier = Бурит stat.drilltier = Бурит
@@ -697,12 +724,14 @@ 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.sapping = [stat]истощающий
bullet.homing = [stat]самонаводящийся bullet.homing = [stat]самонаводящийся
bullet.shock = [stat]шоковый bullet.shock = [stat]шоковый
bullet.frag = [stat]осколочный bullet.frag = [stat]осколочный
bullet.knockback = [stat]{0}[lightgray] отдачи bullet.knockback = [stat]{0}[lightgray] отдачи
bullet.pierce = [stat]{0}[lightgray]x пробитие bullet.pierce = [stat]{0}[lightgray]x пробитие
bullet.infinitepierce = [stat]бесконечное пробитие bullet.infinitepierce = [stat]бесконечное пробитие
bullet.healpercent = [stat]{0}[lightgray]% лечение
bullet.freezing = [stat]замораживающий bullet.freezing = [stat]замораживающий
bullet.tarred = [stat]замедляющий, горючий bullet.tarred = [stat]замедляющий, горючий
bullet.multiplier = [stat]{0}[lightgray]x множитель боеприпасов bullet.multiplier = [stat]{0}[lightgray]x множитель боеприпасов
@@ -922,6 +951,7 @@ content.item.name = Предметы
content.liquid.name = Жидкости content.liquid.name = Жидкости
content.unit.name = Боевые единицы content.unit.name = Боевые единицы
content.block.name = Блоки content.block.name = Блоки
content.sector.name = Секторы
item.copper.name = Медь item.copper.name = Медь
item.lead.name = Свинец item.lead.name = Свинец
@@ -1079,7 +1109,6 @@ block.conveyor.name = Конвейер
block.titanium-conveyor.name = Титановый конвейер block.titanium-conveyor.name = Титановый конвейер
block.plastanium-conveyor.name = Пластановый конвейер block.plastanium-conveyor.name = Пластановый конвейер
block.armored-conveyor.name = Бронированный конвейер block.armored-conveyor.name = Бронированный конвейер
block.armored-conveyor.description = Перемещает предметы вперёд. Не принимает вход по бокам.
block.junction.name = Перекрёсток block.junction.name = Перекрёсток
block.router.name = Маршрутизатор block.router.name = Маршрутизатор
block.distributor.name = Распределитель block.distributor.name = Распределитель
@@ -1087,7 +1116,6 @@ block.sorter.name = Сортировщик
block.inverted-sorter.name = Инвертированный сортировщик block.inverted-sorter.name = Инвертированный сортировщик
block.message.name = Сообщение block.message.name = Сообщение
block.illuminator.name = Осветитель block.illuminator.name = Осветитель
block.illuminator.description = Излучает свет.
block.overflow-gate.name = Избыточный затвор block.overflow-gate.name = Избыточный затвор
block.underflow-gate.name = Избыточный шлюз block.underflow-gate.name = Избыточный шлюз
block.silicon-smelter.name = Кремниевая плавильня block.silicon-smelter.name = Кремниевая плавильня
@@ -1187,6 +1215,7 @@ block.overdrive-dome.name = Сверхприводный купол
block.block-forge.name = Завод блоков block.block-forge.name = Завод блоков
block.block-loader.name = Загрузчик блоков block.block-loader.name = Загрузчик блоков
block.block-unloader.name = Разгрузчик блоков block.block-unloader.name = Разгрузчик блоков
block.interplanetary-accelerator.name = Межпланетный ускоритель
block.switch.name = Переключатель block.switch.name = Переключатель
block.micro-processor.name = Микропроцессор block.micro-processor.name = Микропроцессор
@@ -1238,7 +1267,7 @@ item.coal.description = Используется как топливо и в п
item.coal.details = Похоже, что это окаменевшее растительное вещество, образовавшееся задолго до Посева. item.coal.details = Похоже, что это окаменевшее растительное вещество, образовавшееся задолго до Посева.
item.titanium.description = Широко используется в транспортировке жидкостей, бурах и авиации. item.titanium.description = Широко используется в транспортировке жидкостей, бурах и авиации.
item.thorium.description = Используется в прочных постройках и как ядерного топлива. item.thorium.description = Используется в прочных постройках и как ядерного топлива.
item.scrap.description = Может быть расплавлен и переработан в другие материалы. item.scrap.description = Используется в плавильнях и измельчителях для получения других материалов.
item.scrap.details = Остататки старых построек и единиц. item.scrap.details = Остататки старых построек и единиц.
item.silicon.description = Используется в солнечных панелях, сложной электронике и самонаводящихся боеприпасах для турелей. item.silicon.description = Используется в солнечных панелях, сложной электронике и самонаводящихся боеприпасах для турелей.
item.plastanium.description = Используется в продвинутой авиации, изоляции и осколочных боеприпасах. item.plastanium.description = Используется в продвинутой авиации, изоляции и осколочных боеприпасах.
@@ -1248,11 +1277,15 @@ item.spore-pod.description = Используется для переработ
item.spore-pod.details = Споры. Похоже на синтетическую форму жизни. Выделяет газы, токсичные для других биологических форм жизни. Чрезвычайно инвазивны. Легко воспламеняется при определенных условиях. item.spore-pod.details = Споры. Похоже на синтетическую форму жизни. Выделяет газы, токсичные для других биологических форм жизни. Чрезвычайно инвазивны. Легко воспламеняется при определенных условиях.
item.blast-compound.description = Используется в бомбах и взрывчатых веществах. item.blast-compound.description = Используется в бомбах и взрывчатых веществах.
item.pyratite.description = Используется в зажигательном оружии и твердотопливных генераторах. item.pyratite.description = Используется в зажигательном оружии и твердотопливных генераторах.
liquid.water.description = Используется для охлаждения машин и переработки отходов. liquid.water.description = Используется для охлаждения машин и переработки отходов.
liquid.slag.description = Может быть переработан в разделителе на составляющие металлы или распылён на врагов в качестве оружия. liquid.slag.description = Может быть переработан в разделителе на составляющие металлы или распылён на врагов в качестве оружия.
liquid.oil.description = Используется в производстве продвинутых материалов и как зажигательный боеприпас. liquid.oil.description = Используется в производстве продвинутых материалов и как зажигательный боеприпас.
liquid.cryofluid.description = Используется в качестве охлаждающей жидкости для реакторов, турелей и фабрик. liquid.cryofluid.description = Используется в качестве охлаждающей жидкости для реакторов, турелей и фабрик.
block.resupply-point.description = Снаряжает медными боеприпасами ближайщие боевые единицы. Не совместим с единицами, требующими питания от батареи.
block.armored-conveyor.description = Перемещает предметы вперёд. Не принимает вход по бокам.
block.illuminator.description = Излучает свет.
block.message.description = Сохраняет сообщение для связи между союзниками. block.message.description = Сохраняет сообщение для связи между союзниками.
block.graphite-press.description = Сжимает куски угля в листы графита. block.graphite-press.description = Сжимает куски угля в листы графита.
block.multi-press.description = Сжимает куски угля в листы графита. Требуется вода в качестве охлаждающей жидкости. block.multi-press.description = Сжимает куски угля в листы графита. Требуется вода в качестве охлаждающей жидкости.
@@ -1393,6 +1426,7 @@ block.memory-cell.description = Хранит информацию для лог
block.memory-bank.description = Хранит информацию для логического процессора. Большая ёмкость. block.memory-bank.description = Хранит информацию для логического процессора. Большая ёмкость.
block.logic-display.description = Отображает произвольную графику из логического процессора. block.logic-display.description = Отображает произвольную графику из логического процессора.
block.large-logic-display.description = Отображает произвольную графику из логического процессора. block.large-logic-display.description = Отображает произвольную графику из логического процессора.
block.interplanetary-accelerator.description = Массивный рельсотронный ускоритель. Разгоняет ядро до второй космической скорости для межпланетных размещений.
unit.dagger.description = Стреляет стандартными пулями по всем врагам поблизости. unit.dagger.description = Стреляет стандартными пулями по всем врагам поблизости.
unit.mace.description = Стреляет потоками огня по всем врагам поблизости. unit.mace.description = Стреляет потоками огня по всем врагам поблизости.

View File

@@ -17,10 +17,12 @@ linkfail = Не вдалося перейти за посиланням!\nURL-а
screenshot = Зняток мапи збережено до {0} screenshot = Зняток мапи збережено до {0}
screenshot.invalid = Мапа занадто велика, тому, мабуть, не вистачає пам’яті для знятку мапи. screenshot.invalid = Мапа занадто велика, тому, мабуть, не вистачає пам’яті для знятку мапи.
gameover = Гра завершена gameover = Гра завершена
gameover.disconnect = Від’єднатися
gameover.pvp = [accent]{0}[] команда перемогла! gameover.pvp = [accent]{0}[] команда перемогла!
gameover.waiting = [accent]Очікуємо наступно мапу…
highscore = [accent]Новий рекорд! highscore = [accent]Новий рекорд!
copied = Скопійовано. copied = Скопійовано.
indev.popup = Наразі [accent]6.0[] знаходиться у стадії [accent]бета-тестування[].\n[lightgray]Це означає наступне:[]\n- Не вистачає наповнення кампанії;\n- Звуки і музика відсутні або незавершені;\n- Кампанія повністю не є завершеною;\n- Усе, що ви бачите, може змінитися або видалитися.\n\nПовідомляйте про вади або збої на [accent]Github[], а про помилки в перекладі в Discord. indev.popup = Наразі [accent]6.0[] знаходиться у стадії [accent]бета-тестування[].\n[lightgray]Це означає наступне:[]\n- Не вистачає наповнення кампанії;\n- Кампанія повністю не є завершеною;\n- Усе, що ви бачите, може змінитися або видалитися.\n\nПовідомляйте про вади або збої на [accent]Github[], а про помилки в перекладі в Discord.
indev.notready = Ця частина гри ще не готова. indev.notready = Ця частина гри ще не готова.
load.sound = Звуки load.sound = Звуки
@@ -57,6 +59,7 @@ 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]сервері.
stats = Статистика
stat.wave = Хвиль відбито:[accent] {0} stat.wave = Хвиль відбито:[accent] {0}
stat.enemiesDestroyed = Противників знищено:[accent] {0} stat.enemiesDestroyed = Противників знищено:[accent] {0}
stat.built = Будівель збудовано:[accent] {0} stat.built = Будівель збудовано:[accent] {0}
@@ -189,6 +192,10 @@ servers.local = Локальні сервери
servers.remote = Віддалені сервери servers.remote = Віддалені сервери
servers.global = Глобальні сервери servers.global = Глобальні сервери
servers.showhidden = Показати приховані сервери
server.shown = Показано
server.hidden = Приховано
trace = Стежити за гравцем trace = Стежити за гравцем
trace.playername = Ім’я гравця: [accent]{0} trace.playername = Ім’я гравця: [accent]{0}
trace.ip = IP: [accent]{0} trace.ip = IP: [accent]{0}
@@ -267,6 +274,9 @@ cancel = Скасувати
openlink = Перейти за посиланням openlink = Перейти за посиланням
copylink = Скопіювати посилання copylink = Скопіювати посилання
back = Назад back = Назад
crash.export = Експортувати аварійні звіти
crash.none = Аварійних звітів не знайдено
crash.exported = Аварійні звіти експортовано
data.export = Вивантажити дані data.export = Вивантажити дані
data.import = Завантажити дані data.import = Завантажити дані
data.openfolder = Відчинити теку з даними data.openfolder = Відчинити теку з даними
@@ -283,6 +293,7 @@ cancelbuilding = [accent][[{0}][], щоб очистити план
selectschematic = [accent][[{0}][], щоби вибрати та скопіювати selectschematic = [accent][[{0}][], щоби вибрати та скопіювати
pausebuilding = [accent][[{0}][], щоби призупинити будування pausebuilding = [accent][[{0}][], щоби призупинити будування
resumebuilding = [scarlet][[{0}][], щоби продовжити будування resumebuilding = [scarlet][[{0}][], щоби продовжити будування
showui = Користувацький інтерфейс приховано.\nНатисніть [accent][[{0}][], щоби показати його знову.
wave = [accent]Хвиля {0} wave = [accent]Хвиля {0}
wave.cap = [accent]Хвиля {0}/{1} wave.cap = [accent]Хвиля {0}/{1}
wave.waiting = [lightgray]Наступна хвиля\nчерез {0} wave.waiting = [lightgray]Наступна хвиля\nчерез {0}
@@ -290,6 +301,8 @@ wave.waveInProgress = [lightgray]Хвиля триває
waiting = [lightgray]Очікування… waiting = [lightgray]Очікування…
waiting.players = Очікування гравців… waiting.players = Очікування гравців…
wave.enemies = Залишилося\n[lightgray]{0} противник. wave.enemies = Залишилося\n[lightgray]{0} противник.
wave.enemycores = Ворожих ядер: [accent]{0}[lightgray]
wave.enemycore = [accent]{0}[lightgray] вороже ядро
wave.enemy = Залишився\n[lightgray]{0} противник wave.enemy = Залишився\n[lightgray]{0} противник
wave.guardianwarn = Хвиль до появи Вартового: [accent]{0}[] . wave.guardianwarn = Хвиль до появи Вартового: [accent]{0}[] .
wave.guardianwarn.one = Вартовий з’явиться через [accent]{0}[] хвилю. wave.guardianwarn.one = Вартовий з’явиться через [accent]{0}[] хвилю.
@@ -350,6 +363,7 @@ waves.invalid = Недійсні хвилі в буфері обміну.
waves.copied = Хвилі скопійовані. waves.copied = Хвилі скопійовані.
waves.none = Противники не були встановлені.\nЗазначимо, що пусті хвилі будуть автоматично замінені звичайною хвилею. waves.none = Противники не були встановлені.\nЗазначимо, що пусті хвилі будуть автоматично замінені звичайною хвилею.
#these are intentionally in lower case
wavemode.counts = кількість wavemode.counts = кількість
wavemode.totals = усього wavemode.totals = усього
wavemode.health = здоров’я wavemode.health = здоров’я
@@ -462,6 +476,8 @@ load = Завантажити
save = Зберегти save = Зберегти
fps = FPS: {0} fps = FPS: {0}
ping = Затримка: {0} мс ping = Затримка: {0} мс
memory = Mem: {0}мб
memory2 = Mem:\n {0}мб +\n {1}мб
language.restart = Перезапустіть свою гру, щоби налаштування мови набули чинності. language.restart = Перезапустіть свою гру, щоби налаштування мови набули чинності.
settings = Налаштування settings = Налаштування
tutorial = Навчання tutorial = Навчання
@@ -475,8 +491,9 @@ locked = Заблоковано
complete = [lightgray]Необхідно: complete = [lightgray]Необхідно:
requirement.wave = Досягніть хвилі {0} у зоні «{1}» requirement.wave = Досягніть хвилі {0} у зоні «{1}»
requirement.core = Знищте вороже ядро в зоні «{0}» requirement.core = Знищте вороже ядро в зоні «{0}»
requirement.research = Research {0} requirement.research = Дослідіть {0}
requirement.capture = Capture {0} requirement.produce = Виробіть {0}
requirement.capture = Захопіть {0}
bestwave = [lightgray]Найкраща хвиля: {0} bestwave = [lightgray]Найкраща хвиля: {0}
launch.text = Запуск launch.text = Запуск
research.multiplayer = Лише власник сервера має змогу досліджувати предмети. research.multiplayer = Лише власник сервера має змогу досліджувати предмети.
@@ -497,7 +514,7 @@ zone.objective = [lightgray]Мета: [accent]{0}
zone.objective.survival = вижити zone.objective.survival = вижити
zone.objective.attack = знищити вороже ядро zone.objective.attack = знищити вороже ядро
add = Додати… add = Додати…
boss.health = Здоров’я босу boss.health = Здоров’я Вартового
connectfail = [crimson]Помилка з’єднання:\n\n[accent]{0} connectfail = [crimson]Помилка з’єднання:\n\n[accent]{0}
error.unreachable = Сервер не є доступним.\nЧи правильно написана адреса? error.unreachable = Сервер не є доступним.\nЧи правильно написана адреса?
@@ -519,17 +536,37 @@ weather.fog.name = Туман
sectors.unexplored = [lightgray]Не досліджено sectors.unexplored = [lightgray]Не досліджено
sectors.resources = Ресурси: sectors.resources = Ресурси:
sectors.production = Виробництво: sectors.production = Виробництво:
sectors.export = Експортування:
sectors.time = Час:
sectors.threat = Загроза:
sectors.wave = Хвиля:
sectors.stored = Зберігає: sectors.stored = Зберігає:
sectors.resume = Продовжити sectors.resume = Продовжити
sectors.launch = Запустити sectors.launch = Запустити
sectors.select = Вибрати sectors.select = Вибрати
sectors.nonelaunch = [lightgray]нічого (сонце) sectors.nonelaunch = [lightgray]нічого (сонце)
sectors.rename = Перейменування сектора sectors.rename = Перейменування сектора
sector.curcapture = Сектор захоплено
sector.missingresources = [scarlet]Недостатньо ресурсів в ядрі sector.missingresources = [scarlet]Недостатньо ресурсів в ядрі
sector.attacked = Сектор [accent]{0}[white] під атакою!
sector.lost = Сектор [accent]{0}[white] втрачено!
#note: the missing space in the line below is intentional
sector.captured = Сектор [accent]{0}[white]захоплено!
threat.low = низька
threat.medium = середня
threat.high = висока
threat.extreme = екстремальна
threat.eradication = викорінювальна
planets = Планети
planet.serpulo.name = Cерпуло planet.serpulo.name = Cерпуло
#TODO better name
planet.sun.name = Сонце planet.sun.name = Сонце
#NOTE TO TRANSLATORS: don't bother editing these, they'll be removed and/or rewritten anyway
sector.impact0078.name = Аварійне приземлення 0078
sector.groundZero.name = Відправний пункт sector.groundZero.name = Відправний пункт
sector.craters.name = Кратери sector.craters.name = Кратери
sector.frozenForest.name = Крижаний ліс sector.frozenForest.name = Крижаний ліс
@@ -541,6 +578,12 @@ sector.overgrowth.name = Зарості
sector.tarFields.name = Дьогтьові поля sector.tarFields.name = Дьогтьові поля
sector.saltFlats.name = Соляні рівнини sector.saltFlats.name = Соляні рівнини
sector.fungalPass.name = Грибний перевал sector.fungalPass.name = Грибний перевал
sector.biomassFacility.name = Центр дослідження синтезу біомаси
sector.windsweptIslands.name = Вітряні острови
sector.extractionOutpost.name = Видобувна застава
#unused
#sector.crags.name = Crags
sector.groundZero.description = Оптимальне місце для повторних ігор. Низька ворожа загроза. Мало ресурсів.\nЗбирайте якомога більше свинцю та міді.\nНе затримуйтесь і йдіть далі. sector.groundZero.description = Оптимальне місце для повторних ігор. Низька ворожа загроза. Мало ресурсів.\nЗбирайте якомога більше свинцю та міді.\nНе затримуйтесь і йдіть далі.
sector.frozenForest.description = Спори поширилися навіть тут, ближче до гір. Холодна температура не може стримувати їх завжди.\n\nЗважтесь створити енергію. Побудуйте генератори внутрішнього згорання. Навчіться користуватися регенераторами. sector.frozenForest.description = Спори поширилися навіть тут, ближче до гір. Холодна температура не може стримувати їх завжди.\n\nЗважтесь створити енергію. Побудуйте генератори внутрішнього згорання. Навчіться користуватися регенераторами.
@@ -582,8 +625,9 @@ error.title = [crimson]Виникла помилка
error.crashtitle = Виникла помилка error.crashtitle = Виникла помилка
unit.nobuild = [scarlet]Ця одиниця не може будувати unit.nobuild = [scarlet]Ця одиниця не може будувати
lastaccessed = [lightgray]Остання зміна від {0} lastaccessed = [lightgray]Остання зміна від {0}
block.unknown = [lightgray]ШО ЗА??? block.unknown = [lightgray]???
stat.description = Призначення
stat.input = Ввід stat.input = Ввід
stat.output = Вивід stat.output = Вивід
stat.booster = Прискорювач stat.booster = Прискорювач
@@ -611,6 +655,8 @@ stat.memorycapacity = Ємність пам’яті
stat.basepowergeneration = Базова генерація енергії stat.basepowergeneration = Базова генерація енергії
stat.productiontime = Час виробництва stat.productiontime = Час виробництва
stat.repairtime = Час повного відновлення блоку stat.repairtime = Час повного відновлення блоку
stat.weapons = Зброя
stat.bullet = Кулі
stat.speedincrease = Збільшення швидкості stat.speedincrease = Збільшення швидкості
stat.range = Радіус дії stat.range = Радіус дії
stat.drilltier = Видобуває stat.drilltier = Видобуває
@@ -623,7 +669,7 @@ stat.maxconsecutive = Максимальна послідовність
stat.buildcost = Вартість будування stat.buildcost = Вартість будування
stat.inaccuracy = Розкид stat.inaccuracy = Розкид
stat.shots = Постріли stat.shots = Постріли
stat.reload = Постріли/секунду stat.reload = Постріли за сек.
stat.ammo = Боєприпаси stat.ammo = Боєприпаси
stat.shieldhealth = Міцність щита stat.shieldhealth = Міцність щита
stat.cooldowntime = Тривалість охолодження stat.cooldowntime = Тривалість охолодження
@@ -634,7 +680,7 @@ stat.lightningdamage = Шкода від удару блискавки
stat.flammability = Займистість stat.flammability = Займистість
stat.radioactivity = Радіоактивність stat.radioactivity = Радіоактивність
stat.heatcapacity = Теплоємність stat.heatcapacity = Теплоємність
stat.viscosity = В'язкість stat.viscosity = Вязкість
stat.temperature = Температура stat.temperature = Температура
stat.speed = Швидкість stat.speed = Швидкість
stat.buildspeed = Швидкість будування stat.buildspeed = Швидкість будування
@@ -651,6 +697,7 @@ ability.repairfield = Ремонтувальне поле
ability.statusfield = Поле підсилення ability.statusfield = Поле підсилення
ability.unitspawn = Завод одиниць «{0}» ability.unitspawn = Завод одиниць «{0}»
ability.shieldregenfield = Поле, що відновлює щити ability.shieldregenfield = Поле, що відновлює щити
ability.movelightning = Блискавки при русі
bar.drilltierreq = Потребується кращий бур bar.drilltierreq = Потребується кращий бур
bar.noresources = Бракує ресурсів bar.noresources = Бракує ресурсів
@@ -679,12 +726,14 @@ 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.sapping = [stat]виснажує
bullet.homing = [stat]самонаведення bullet.homing = [stat]самонаведення
bullet.shock = [stat]шок bullet.shock = [stat]шок
bullet.frag = [stat]шкода по ділянці bullet.frag = [stat]шкода по ділянці
bullet.knockback = [stat]{0}[lightgray] відкидання bullet.knockback = [stat]{0}[lightgray] відкидання
bullet.pierce = [stat]{0}[lightgray]x пробиття bullet.pierce = [stat]{0}[lightgray]x пробиття
bullet.infinitepierce = [stat]пробиття bullet.infinitepierce = [stat]пробиття
bullet.healpercent = [stat]{0}[lightgray]% лікування
bullet.freezing = [stat]заморожування bullet.freezing = [stat]заморожування
bullet.tarred = [stat]дьогтьовий bullet.tarred = [stat]дьогтьовий
bullet.multiplier = [stat]{0}[lightgray]x патронів bullet.multiplier = [stat]{0}[lightgray]x патронів
@@ -709,6 +758,7 @@ unit.items = предм.
unit.thousands = тис unit.thousands = тис
unit.millions = млн unit.millions = млн
unit.billions = млрд unit.billions = млрд
category.purpose = Призначення
category.general = Загальне category.general = Загальне
category.power = Енергія category.power = Енергія
category.liquids = Рідини category.liquids = Рідини
@@ -722,6 +772,7 @@ setting.blockreplace.name = Пропонування щодо автоматич
setting.linear.name = Лінійна фільтрація setting.linear.name = Лінійна фільтрація
setting.hints.name = Підказки setting.hints.name = Підказки
setting.flow.name = Показувати темп швидкості ресурсів setting.flow.name = Показувати темп швидкості ресурсів
setting.backgroundpause.name = Пауза при згортанн
setting.buildautopause.name = Автоматичне призупинення будування setting.buildautopause.name = Автоматичне призупинення будування
setting.animatedwater.name = Анімаційні рідини setting.animatedwater.name = Анімаційні рідини
setting.animatedshields.name = Анімаційні щити setting.animatedshields.name = Анімаційні щити
@@ -916,7 +967,7 @@ item.surge-alloy.name = Кінетичний сплав
item.spore-pod.name = Споровий стручок item.spore-pod.name = Споровий стручок
item.sand.name = Пісок item.sand.name = Пісок
item.blast-compound.name = Вибухова суміш item.blast-compound.name = Вибухова суміш
item.pyratite.name = Піротит item.pyratite.name = Пиротит
item.metaglass.name = Метаскло item.metaglass.name = Метаскло
item.scrap.name = Брухт item.scrap.name = Брухт
liquid.water.name = Вода liquid.water.name = Вода
@@ -935,7 +986,7 @@ unit.atrax.name = Атракс
unit.spiroct.name = Павучник unit.spiroct.name = Павучник
unit.arkyid.name = Аркиїд unit.arkyid.name = Аркиїд
unit.toxopid.name = Отруйник unit.toxopid.name = Отруйник
unit.flare.name = Фальшфеєр unit.flare.name = Фальшфейєр
unit.horizon.name = Горизонт unit.horizon.name = Горизонт
unit.zenith.name = Зеніт unit.zenith.name = Зеніт
unit.antumbra.name = Тіньовик unit.antumbra.name = Тіньовик
@@ -946,10 +997,10 @@ unit.mega.name = Мега
unit.quad.name = Квад unit.quad.name = Квад
unit.oct.name = Окт unit.oct.name = Окт
unit.risso.name = Грампус unit.risso.name = Грампус
unit.minke.name = Смугач малий unit.minke.name = Смугач
unit.bryde.name = Смугач Брайда unit.bryde.name = Брайд
unit.sei.name = Смугач Сейвал unit.sei.name = Сейвал
unit.omura.name = Смугач Омури unit.omura.name = Омура
unit.alpha.name = Альфа unit.alpha.name = Альфа
unit.beta.name = Бета unit.beta.name = Бета
unit.gamma.name = Гамма unit.gamma.name = Гамма
@@ -989,7 +1040,7 @@ block.thruster.name = Штовхач
block.kiln.name = Піч block.kiln.name = Піч
block.graphite-press.name = Графітний прес block.graphite-press.name = Графітний прес
block.multi-press.name = Мультипрес block.multi-press.name = Мультипрес
block.constructing = {0}\n[lightgray](В процесі) block.constructing = {0}\n[lightgray](У процесі)
block.spawn.name = Місце появи противника block.spawn.name = Місце появи противника
block.core-shard.name = Ядро «Уламок» block.core-shard.name = Ядро «Уламок»
block.core-foundation.name = Ядро «Штаб» block.core-foundation.name = Ядро «Штаб»
@@ -1059,7 +1110,6 @@ block.conveyor.name = Конвеєр
block.titanium-conveyor.name = Титановий конвеєр block.titanium-conveyor.name = Титановий конвеєр
block.plastanium-conveyor.name = Пластанієвий конвеєр block.plastanium-conveyor.name = Пластанієвий конвеєр
block.armored-conveyor.name = Броньований конвеєр block.armored-conveyor.name = Броньований конвеєр
block.armored-conveyor.description = Переміщує предмети з тією ж швидкістю, що й титанові конвеєри, але має більше міцності. Не приймає введення з боків ні з чого, крім інших конвеєрних стрічок.
block.junction.name = Перехрестя block.junction.name = Перехрестя
block.router.name = Маршрутизатор block.router.name = Маршрутизатор
block.distributor.name = Розподілювач block.distributor.name = Розподілювач
@@ -1067,7 +1117,6 @@ block.sorter.name = Сортувальник
block.inverted-sorter.name = Зворотній сортувальник block.inverted-sorter.name = Зворотній сортувальник
block.message.name = Повідомлення block.message.name = Повідомлення
block.illuminator.name = Освітлювач block.illuminator.name = Освітлювач
block.illuminator.description = Невелике, компактне, джерело світла, яку можна налаштувати. Для роботи потребує енергії.
block.overflow-gate.name = Надмірний затвор block.overflow-gate.name = Надмірний затвор
block.underflow-gate.name = Недостатній затвор block.underflow-gate.name = Недостатній затвор
block.silicon-smelter.name = Кремнієвий плавильний завод block.silicon-smelter.name = Кремнієвий плавильний завод
@@ -1112,7 +1161,7 @@ block.ripple.name = Ряб
block.phase-conveyor.name = Фазовий конвеєр block.phase-conveyor.name = Фазовий конвеєр
block.bridge-conveyor.name = Мостовий конвеєр block.bridge-conveyor.name = Мостовий конвеєр
block.plastanium-compressor.name = Пластанієвий компресор block.plastanium-compressor.name = Пластанієвий компресор
block.pyratite-mixer.name = Змішувач піротита block.pyratite-mixer.name = Змішувач пиротита
block.blast-mixer.name = Змішувач вибухонебезпечного з’єднання block.blast-mixer.name = Змішувач вибухонебезпечного з’єднання
block.solar-panel.name = Сонячна панель block.solar-panel.name = Сонячна панель
block.solar-panel-large.name = Велика сонячна панель block.solar-panel-large.name = Велика сонячна панель
@@ -1162,7 +1211,11 @@ block.payload-conveyor.name = Вантажний конвеєр
block.payload-router.name = Розвантажувальний маршрутизатор block.payload-router.name = Розвантажувальний маршрутизатор
block.disassembler.name = Розбирач block.disassembler.name = Розбирач
block.silicon-crucible.name = Кремнієвий тигель block.silicon-crucible.name = Кремнієвий тигель
block.overdrive-dome.name = Величний Прискорювач block.overdrive-dome.name = Великий прискорювач
#experimental, may be removed
block.block-forge.name = Блок-кузня
block.block-loader.name = Блок-завантажувач
block.block-unloader.name = Блок-вивантажувач
block.switch.name = Перемикач block.switch.name = Перемикач
block.micro-processor.name = Мікропроцесор block.micro-processor.name = Мікропроцесор
@@ -1203,136 +1256,205 @@ tutorial.waves = [lightgray]Противник[] з’явився.\n\nЗахи
tutorial.waves.mobile = [lightgray]Противник[] з’явився.\n\nЗахистіть ядро від двох хвиль. Ваш корабель буде автоматично атакувати противників.\nПобудуйте більше башт і бурів. Добудьте більше міді. tutorial.waves.mobile = [lightgray]Противник[] з’явився.\n\nЗахистіть ядро від двох хвиль. Ваш корабель буде автоматично атакувати противників.\nПобудуйте більше башт і бурів. Добудьте більше міді.
tutorial.launch = Як тільки ви досягнете певної хвилі, ви зможете[accent] запустити ядро[], залишивши свою базу позаду, та [accent]отримати всі ресурси у вашому ядрі.[]\nЦі отримані ресурси можуть бути використані для дослідження нових технологій.\n\n[accent]Натисніть кнопку запуску. tutorial.launch = Як тільки ви досягнете певної хвилі, ви зможете[accent] запустити ядро[], залишивши свою базу позаду, та [accent]отримати всі ресурси у вашому ядрі.[]\nЦі отримані ресурси можуть бути використані для дослідження нових технологій.\n\n[accent]Натисніть кнопку запуску.
item.copper.description = Початковий будівельний матеріал. Широко використовується у всіх типах блоків. item.copper.description = Використовується у всіх типах блоків і боєприпасах.
item.lead.description = Основний початковий матеріал. Широко застосовується в електроніці та в транспортуванні рідин. item.copper.details = Мідь. Напрочуд багато жил цієї руди на Серпуло. За своєю структурою слабка, якщо не зміцнена.
item.metaglass.description = Дуже жорсткий склад скла. Широко застосовується для розподілу та зберігання рідини. item.lead.description = Широко використовується в електроніці та в транспортуванні рідин.
item.graphite.description = Мінералізований вуглець, що використовується для боєприпасів та як електричний компонент. item.lead.details = Сплав. Інертний. Широко використовується в акумуляторах.\nПримітка. Мабуть, токсичний для біологічних форм життя. Не те щоб тут залишилося багато...
item.sand.description = Поширений матеріал, який широко використовується у виплавці, як під час сплавлення, так і в якості відходів. item.metaglass.description = Використовується для розподілу чи зберігання рідини.
item.coal.description = Скам’янілі рослинні речовини, що утворилися задовго до посіву. Широко використовується для виробництва пального та ресурсів. item.graphite.description = Використовується для боєприпасів та електричних компонентів.
item.titanium.description = Рідкісний надлегкий метал, який широко використовується для транспортування рідини, бурів і літаків. item.sand.description = Використовується для виробництва інших удосконалених матеріалів.
item.thorium.description = Щільний радіоактивний метал, що використовується в якості конструкційної опори та ядерного палива. item.coal.description = Використовується для виробництва палива і вдосноналених матеріалів.
item.scrap.description = Залишки старих споруд та підрозділів. Містить мікроелементи багатьох різних металів. item.coal.details = Виглядає скам’янілою рослинною речовиною, утвореною задовго до Сівби.
item.silicon.description = Надзвичайно корисний напівпровідник. Має застосування в сонячних батареях, складній електроніці та боєприпасах для башт. item.titanium.description = Використовується в транспортуванні рідин, бурів та авіації.
item.plastanium.description = Легкий пластичний матеріал, що використовується в сучасних літальних апаратах та у фрагментованих боєприпасах. item.thorium.description = Використовується в міцних конструкціях і як ядерне паливо.
item.phase-fabric.description = Майже невагома речовина, що застосовується в передовій електроніці та в технології самовідновлення. item.scrap.description = Використовується у Плавильнях і Подрібнювачах для переробки в інші матеріали в інші матеріали.
item.surge-alloy.description = Удосконалений сплав з унікальними електричними властивостями. item.scrap.details = Залишки старих споруд та підрозділів.
item.spore-pod.description = Струмок синтетичних спор, синтезований з атмосферних концентрацій для промислових цілей. Використовується для перетворення на нафту, вибухівку та паливо. item.silicon.description = Використовується в сонячних панелях, складній електроніці та боєприпасах самонаведення для башт.
item.blast-compound.description = Нестабільна сполука, яка використовується в бомбах і вибухівках. Синтезується зі спорових стручків та інших летких речовин. Використовувати як паливо не рекомендується. item.plastanium.description = Використовується в передових одиницях та у фрагментованих боєприпасах.
item.pyratite.description = Надзвичайно легкозаймиста речовина, що використовується в запальній зброї. item.phase-fabric.description = Використовується в передовій електроніці і технології самовідновлення.
liquid.water.description = Найкорисніша рідина. Зазвичай використовується для охолодження машин та перероблювання відходів. item.surge-alloy.description = Використовується в передовій зброї та реактивних захисних конструкціях.
liquid.slag.description = Різні види розплавленого металу змішуються між собою. Може бути відокремлений від складових корисних копалин або розпорошений на ворожі частини як зброя. item.spore-pod.description = Використовується для перетворення на нафту, вибухівку та паливо.
liquid.oil.description = Рідина, яка використовується у виробництві сучасних матеріалів. Може бути перетворена у вугілля в якості палива або використана як куля. item.spore-pod.details = Спори. Найімовірніше, синтетична форма життя. Виділяють гази, токсичні для іншого біологічного життя. Надзвичайно загарбницька поведінка. Легкозаймисті при певних умовах.
liquid.cryofluid.description = Інертна рідина, що створена з води та титану. Має здатність надзвичайно високою пропускною спроможністю. Широко використовується в якості рідини, що охолоджує. item.blast-compound.description = Використовується в бомбах та в розривних боєприпасах.
item.pyratite.description = Використовується в запальній зброї і твердопаливних генераторах.
liquid.water.description = Використовується для охолодження машин та перероблювання відходів.
liquid.slag.description = Переробляється у відокремлювачах у складові метали або розпорошується на ворогів як зброя.
liquid.oil.description = Використовується у виробництві передових матеріалів і як запальні боєприпаси.
liquid.cryofluid.description = Використовується як теплоносій в реакторах, баштах і заводах.
block.message.description = Зберігає повідомлення. Використовується для комунікації між союзниками. block.armored-conveyor.description = Переміщує предмети вперед. Не приймає введення з боків ні з чого, крім інших конвеєрних стрічок.
block.graphite-press.description = Стискає шматки вугілля в чисті аркуші графіту. block.illuminator.description = Випромінює світло.
block.multi-press.description = Модернізована версія графітового преса. Використовує воду та енергію для швидкого та ефективного перероблювання вугілля. block.message.description = Зберігає повідомлення для комунікації між союзниками.
block.silicon-smelter.description = Змішує пісок із чистим вугіллям. Виробляє кремній. block.graphite-press.description = Стискає вугілля в графіт.
block.kiln.description = Виплавляє пісок та свинець у сполуку, відому як метаскло. Для запуску потрібна невелика кількість енергії. block.multi-press.description = Стискає вугілля в графіт. Потребує воду для охолодження.
block.plastanium-compressor.description = Виробляє пластаній із нафти та титану. block.silicon-smelter.description = Синтезує пісок з вугіллям для отримання кремнію.
block.phase-weaver.description = Синтезує фазову тканину з радіоактивного торію та піску. Для роботи потрібна велика кількість енергії. block.kiln.description = Виплавляє пісок та свинець у метаскло.
block.plastanium-compressor.description = Виробляє пластаній із нафти і титану.
block.phase-weaver.description = Синтезує фазову тканину з торію та піску.
block.alloy-smelter.description = Поєднує титан, свинець, кремній і мідь для отримання кінетичного сплаву. block.alloy-smelter.description = Поєднує титан, свинець, кремній і мідь для отримання кінетичного сплаву.
block.cryofluid-mixer.description = Змішує воду і дрібний порошок титану в кріогенну рідину. Основне використання в торієвому реактору. block.cryofluid-mixer.description = Змішує воду і подрібнений титан, щоб виробити кріогенну рідину.
block.blast-mixer.description = Подрібнює і змішує скупчення спор із піротитом для отримання вибухової суміші. block.blast-mixer.description = Виробляє вибухову суміш з піратиту і спорових стручків.
block.pyratite-mixer.description = Змішує вугілля, свинець та пісок у легкозаймистий піротит. block.pyratite-mixer.description = Змішує вугілля, свинець та пісок у легкозаймистий пиротит.
block.melter.description = Розплавляє брухт у шлак для подальшого перероблювання, або використання в баштах «Хвиля». block.melter.description = Розплавляє брухт у шлак.
block.separator.description = Відокремлює шлак на його мінеральні компоненти. Виводить охолоджені матеріали. block.separator.description = Відокремлює шлак на його мінеральні компоненти.
block.spore-press.description = Стискає спорові стручки під сильним тиском для синтезу нафти. block.spore-press.description = Стискає спорові стручки для синтезування нафти.
block.pulverizer.description = Подрібнює брухт у дрібний пісок. block.pulverizer.description = Подрібнює брухт у дрібний пісок.
block.coal-centrifuge.description = Нафта перетворюється в шматки вугілля. block.coal-centrifuge.description = Нафта перетворюється у вугілля.
block.incinerator.description = Випаровує будь-який зайвий предмет або рідину, які він отримує. block.incinerator.description = Випаровує будь-який предмет або рідину, що отримує.
block.power-void.description = Знищує будь-яку енергію, до якої він під’єднаний. Тільки пісочниця. block.power-void.description = Знищує будь-яку під’єднану енергію. Тільки пісочниця.
block.power-source.description = Постійно створює енергію. Тільки пісочниця. block.power-source.description = Постійно генерує енергію. Тільки пісочниця.
block.item-source.description = Постійно створює предмети. Тільки пісочниця. block.item-source.description = Постійно створює предмети. Тільки пісочниця.
block.item-void.description = Знищує будь-які предмети. Тільки пісочниця. block.item-void.description = Руйнує будь-які предмети. Тільки пісочниця.
block.liquid-source.description = Постійно створює рідини. Тільки пісочниця. block.liquid-source.description = Постійно виробляє рідини. Тільки пісочниця.
block.liquid-void.description = Видаляє будь-які рідини. Тільки пісочниця. block.liquid-void.description = Випаровує будь-які рідини. Тільки пісочниця.
block.copper-wall.description = Дешевий оборонний блок.\nКорисний для оборони ядра та башт у перші кілька хвиль. block.copper-wall.description = Захищає споруди від ворожих снарядів.
block.copper-wall-large.description = Дешевий оборонний блок.\nКорисний для оборони ядра та башт у перші кілька хвиль.\nЗаймає декілька плиток. block.copper-wall-large.description = Захищає споруди від ворожих снарядів.
block.titanium-wall.description = Порівняно сильний оборонний блок.\nЗабезпечує помірний оборони від противників. block.titanium-wall.description = Захищає споруди від ворожих снарядів.
block.titanium-wall-large.description = Порівняно сильний оборонний блок.\nЗабезпечує помірний оборони від противників.\nЗаймає декілька плиток. block.titanium-wall-large.description = Захищає споруди від ворожих снарядів.
block.plastanium-wall.description = Особливий тип стіни, який поглинає електричні дуги і блокує автоматичні з’єднання енергетичних вузлів. block.plastanium-wall.description = Захищає споруди від ворожих снарядів. Поглинає електричні дуги і лазери. Блокує автоматичні з’єднання енергетичних вузлів.
block.plastanium-wall-large.description = Особливий тип стіни, який поглинає електричні дуги і блокує автоматичні з’єднання енергетичних вузлів.\nЗаймає декілька плиток. block.plastanium-wall-large.description = Захищає споруди від ворожих снарядів. Поглинає електричні дуги і лазери. Блокує автоматичні з’єднання енергетичних вузлів.
block.thorium-wall.description = Сильний оборонний блок.\nГарна оборона від противників. block.thorium-wall.description = Захищає споруди від ворожих снарядів.
block.thorium-wall-large.description = Сильний оборонний блок.\nГарна оборона від противників.\nЗаймає декілька плиток. block.thorium-wall-large.description = Захищає споруди від ворожих снарядів.
block.phase-wall.description = Стіна має покриття спеціальним складом, що відбиває світло і який базується на фазовій тканині. Здебільшого відбиває кулі у разі удару. block.phase-wall.description = Захищає споруди від ворожих снарядів, відбиває більшість куль при зіткненні.
block.phase-wall-large.description = Стіна має покриття спеціальним складом, що відбиває світло і який базується на фазовій тканині. Здебільшого відбиває кулі у разі удару.\nЗаймає декілька плиток. block.phase-wall-large.description = Захищає споруди від ворожих снарядів, відбиває більшість куль при зіткненні.
block.surge-wall.description = Надзвичайно міцний оборонний блок.\nЗбільшує заряд, якщо контактуватиме з кулями, вивільняючи його випадковим чином. block.surge-wall.description = Захищає споруди від ворожих снарядів, періодично випускає електричні дуги при зіткненні.
block.surge-wall-large.description = Надзвичайно міцний оборонний блок.\nЗбільшує заряд, якщо контактуватиме з кулями, вивільняючи його випадковим чином.\nЗаймає декілька плиток. block.surge-wall-large.description = Захищає споруди від ворожих снарядів, періодично випускає електричні дуги при зіткненні.
block.door.description = Невеликі двері. Можна відчинити або зачинити, натиснувши на них. block.door.description = Стіна, яку можна відкрити і закрити.
block.door-large.description = Великі двері. Можна відчинити та зачинити, натиснувши на них.\nЗаймає декілька плиток. block.door-large.description = Стіна, яку можна відкрити і закрити.
block.mender.description = Періодично ремонтує блоки в його радіусі дії. Боронить башти та стіни.\nЗа бажанням, можна використати кремній для підвищення дальності та ефективності. block.mender.description = Періодично ремонтує блоки в своєму радіусі дії.\nЗа бажанням можна використати кремній задля підвищення радіусу дії й ефективності.
block.mend-projector.description = Покращена версія «Регенератора». Періодично ремонтує блоки в його радіусі дії.\nЗа бажанням, можна використати фазову тканину для підвищення дальності та ефективності. block.mend-projector.description = Ремонтує блоки в своєму радіусі дії.\nЗа бажанням можна використати фазову тканину задля підвищення радіусу дії й ефективності.
block.overdrive-projector.description = Збільшує швидкість найближчих будівель.\nЗа бажанням, можна використати фазову тканину для підвищення дальності та ефективності. block.overdrive-projector.description = Збільшує швидкість найближчих будівель.\nЗа бажанням можна використати фазову тканину задля підвищення радіусу дії й ефективності.
block.force-projector.description = Створює навколо себе шестикутне силове поле, боронячи будівлі та блоки всередині від пошкоджень.\nПерегрівається, якщо завдано занадто великої шкоди. За бажанням, можна використати теплоносій для запобігання перегріву. Для збільшення розміру щита можна використовувати фазову тканину. block.force-projector.description = Створює навколо себе шестикутне силове поле, захищаючи будівлі та блоки всередині від пошкоджень.\nПерегрівається, якщо завдано занадто великої шкоди. За бажанням можна використати теплоносій для запобігання перегріву. Для збільшення розміру щита можна використовувати фазову тканину.
block.shock-mine.description = Наносить шкоду противникам, коли вони наступають на міну. Майже невидима для противника. block.shock-mine.description = Випускає електричні дуги при контакті з ворогом.
block.conveyor.description = Базовий транспортний блок. Переміщує елементи вперед і автоматично перетворює їх у блоки. Можна обертати. block.conveyor.description = Переміщує елементи вперед.
block.titanium-conveyor.description = Покращений блок транспорту елементів. Переміщує предмети швидше, ніж звичайні конвеєри. block.titanium-conveyor.description = Переміщує предмети швидше, ніж звичайний конвеєр.
block.plastanium-conveyor.description = Переміщує предмети партіями.\nПриймає елементи на задній частині та вивантажує їх у трьох напрямках спереду.\nПотребує кілька точок завантаження та розвантаження для максимальної пропускної здатності. block.plastanium-conveyor.description = Переміщує предмети партіями. Приймає елементи на задній частині та вивантажує їх у трьох напрямках спереду. Потребує кілька точок завантаження та розвантаження для максимальної пропускної здатності.
block.junction.description = Діє як міст для двох перехресних конвеєрних стрічок. Корисно в ситуаціях, коли два різних конвеєри перевозять різні матеріали в різні місця. block.junction.description = Діє як міст для двох перехресних конвеєрних стрічок.
block.bridge-conveyor.description = Покращений блок транспорту елементів. Дає змогу транспортувати предмети до 3-ох плиток із будь-якої місцевості чи будівлі. block.bridge-conveyor.description = Транспортує предмети через будівлі або місцевість
block.phase-conveyor.description = Покращений блок транспорту елементів. Використовує енергію для телепортування елементів на під’єднаний фазовий конвеєр через кілька плиток. block.phase-conveyor.description = Миттєво транспортує предмети через місцевості або будівлі. Більший діапазон, ніж у мостового конвеєра, але потребує енергії.
block.sorter.description = Сортує предмети. Якщо елемент відповідає вибраному, його можна передати. В іншому випадку елемент виводиться зліва та/чи справа. block.sorter.description = Якщо елемент відповідає вибраному, його можна передати. В іншому випадку елемент виводиться ліворуч та праворуч.
block.inverted-sorter.description = Обробляє елементи, як звичайний сортувальник, але виводить обрані елементи на сторони. block.inverted-sorter.description = Схожий на звичайний сортувальник, але виводить обрані елементи на бокові сторони.
block.router.description = Приймає елементи з одного напрямку та виводить їх до трьох інших напрямків порівну. Корисно для поділу матеріалів від одного джерела до кількох цілей.\n\n[scarlet]Ніколи не використовуйте поруч із входами до механізмів, оскільки вони будуть забиті вихідними предметами.[] block.router.description = Розподіляє елементи, що надходять, порівну на 3 різні напрямки.
block.distributor.description = Поліпшений маршрутизатор. Розділяє предмети до 7 інших напрямків порівну. block.router.details = Необхідне зло. Не використовуйте поруч із входами до механізмів, оскільки вони, входи, будуть забиті вихідними предметами.
block.overflow-gate.description = Вивантажує лише вліво та/або вправо, якщо передній шлях заблокований. block.distributor.description = Розділяє предмети до 7 інших напрямків порівну.
block.underflow-gate.description = Повна протилежність надмірному затвору. Виводить предмет прямо, якщо лівий та/або правий шлях заблоковано. block.overflow-gate.description = Вивантажує лише ліворуч і праворуч, якщо передній шлях заблокований.
block.underflow-gate.description = Повна протилежність надмірному затвору. Виводить предмет прямо, якщо лівий і правий шлях заблоковано.
block.mass-driver.description = Найкращий блок для транспортування предметів. Збирає кілька предметів, а потім вистрілює їх до іншої електромагнітної катапульти на велику відстань. Для роботи потребує енергія. block.mass-driver.description = Найкращий блок для транспортування предметів. Збирає кілька предметів, а потім вистрілює їх до іншої електромагнітної катапульти на велику відстань. Для роботи потребує енергія.
block.mechanical-pump.description = Дешевий насос із повільним виходом, але не потребує енергоспоживання. block.mechanical-pump.description = Дешевий насос із повільним виходом, але не потребує енергоспоживання.
block.rotary-pump.description = Удосконалений насос. Насоси більше викачують, але потребують енергію. block.rotary-pump.description = Удосконалений насос. Насоси більше викачують, але потребують енергію.
block.thermal-pump.description = Найкращий насос. block.thermal-pump.description = Найкращий насос.
block.conduit.description = Основний блок транспортування рідини. Пересуває рідини вперед. Застосовується спільно з насосами та іншими трубопроводами. block.conduit.description = Пересуває рідини вперед. Застосовується спільно з насосами та іншими трубопроводами.
block.pulse-conduit.description = Удосконалений блок транспортування рідини. Швидше транспортує й більше зберігає рідини, ніж стандартні трубопроводи. block.pulse-conduit.description = Пересуває рідини вперед. Швидше транспортує і зберігає більше рідини, ніж стандартні трубопроводи.
block.plated-conduit.description = Переміщує рідини з тією ж швидкістю, що й імпульсні трубопроводи, але має більше міцності. Не приймає рідин із боків окрім інших трубопроводів.\nНе протікає. block.plated-conduit.description = Пересуває рідини вперед. Не приймає рідин із боків окрім інших трубопроводів. Не протікає.
block.liquid-router.description = Приймає рідини з одного напрямку та виводить їх до трьох інших напрямків порівну. Також можна зберігати певну кількість рідини. Корисно для розщеплення рідин від одного джерела до кількох мішеней. block.liquid-router.description = Приймає рідини з одного напрямку та виводить їх до трьох інших напрямків порівну. Також може зберігати певну кількість рідини.
block.liquid-tank.description = Зберігає велику кількість рідини. Використовуйте для створення буферів у ситуаціях із непостійним попитом на матеріали або як гарантію охолодження життєво важливих блоків. block.liquid-tank.description = Зберігає велику кількість рідини. Виводить воду на всі сторони, через це схожий на рідинний маршрутизатор.
block.liquid-junction.description = Діє як міст для двох каналів, що перетинаються. Корисно в ситуаціях, коли два різні трубопроводи транспортують різні рідини в різні місця. block.liquid-junction.description = Діє як міст для двох трубопроводів.
block.bridge-conduit.description = Удосконалений блок транспортування рідини. Надає можливість транспортувати рідину до 3 плиток будь-якої місцевості чи будівлі. block.bridge-conduit.description = Транспортує рідину через місцевість і будівлі.
block.phase-conduit.description = Удосконалений блок транспортування рідини. Використовує енергію для транспортування рідин до приєднаного фазового каналу через декілька плиток. block.phase-conduit.description = Транспортує рідину через місцевість і будівлі. Діапазон дії більший ніж у мостового трубопровода
block.power-node.description = Передає живлення на приєднані вузли. Вузол буде отримувати живлення від будь-яких сусідніх блоків або подавати живлення до них. block.power-node.description = Передає живлення на приєднані вузли. Вузол буде отримувати живлення від будь-яких сусідніх блоків або подавати живлення до них.
block.power-node-large.description = Поліпшений вузол живлення з більшим радіусом дії. block.power-node-large.description = Передовий вузол живлення з більшим радіусом дії.
block.surge-tower.description = Вузол живлення з меншою кількістю доступних з’єднань і з найбільшим радіусом дії. block.surge-tower.description = Вузол живлення з меншою кількістю доступних з’єднань і з найбільшим радіусом дії.
block.diode.description = Живлення акумулятора може протікати через цей блок лише в одному напрямку, але лише в тому випадку, якщо інша сторона має менше енергії. block.diode.description = Живлення акумулятора може протікати через цей блок лише в одному напрямку, але лише в тому випадку, якщо інша сторона має менше енергії.
block.battery.description = Зберігає енергію як буфер у часи надлишкової енергії. Виводить енергію в періоди дефіциту. block.battery.description = Зберігає енергію як буфер у часи надлишкової енергії. Виводить енергію в періоди дефіциту.
block.battery-large.description = Зберігає набагато більше енергії, ніж звичайний акумулятор. block.battery-large.description = Зберігає енергію як буфер у часи надлишкової енергії. Виводить енергію в періоди дефіциту. Більша ємність ніж у звичайного акумулятора.
block.combustion-generator.description = Виробляє енергію, спалюючи легкозаймисті матеріали, такі як вугілля. block.combustion-generator.description = Виробляє енергію, спалюючи легкозаймисті матеріали, як-от вугілля.
block.thermal-generator.description = Генерує енергію у разі розміщення в спекотних місцях. block.thermal-generator.description = Виробляє енергію при розміщенні в спекотних місцях.
block.steam-generator.description = Удосконалений генератор згоряння. Більш ефективний, але потребує додаткової води для отримання пари. block.steam-generator.description = Виробляє енергію, спалюючи легкозаймисті матеріали і перетворює воду в пару.
block.differential-generator.description = Удосконалений генератор згоряння. Використовує різницю температур між кріогенною рідиною й піротитом, що горить. block.differential-generator.description = Виробляє велику кількість енергії. Використовує різницю температур між кріогенною рідиною й пиротитом, що горить.
block.rtg-generator.description = Простий і надійний генератор. Використовує тепло радіоактивних сполук, які розкладаються, для отримання енергії з повільною швидкістю. block.rtg-generator.description = Використовує тепло радіоактивних сполук, які розкладаються, для отримання енергії з повільною швидкістю.
block.solar-panel.description = Забезпечує невелику кількість енергії від сонця. block.solar-panel.description = Забезпечує невелику кількість енергії від сонця.
block.solar-panel-large.description = Значно ефективніша ніж стандартна сонячна панель. block.solar-panel-large.description = Забезпечує невелику кількість енергії від сонця. Значно ефективніша ніж стандартна сонячна панель.
block.thorium-reactor.description = Виробляє значну кількість енергії з торію. Вимагає постійного охолодження. Сильно вибухне, якщо подаватиметься недостатня кількість теплоносія. Вихідна потужність залежить від заповненості, базова потужність генерується на повній місткості. block.thorium-reactor.description = Виробляє значну кількість енергії з торію. Потребує постійного охолодження. Сильно вибухне, якщо подаватиметься недостатня кількість теплоносія.
block.impact-reactor.description = Удосконалений генератор, здатний створювати величезну кількість енергії за максимальною ефективності. Для запуску процесу потрібно значні обсяги енергії. block.impact-reactor.description = Здатний створювати величезну кількість енергії за максимальною ефективності. Для запуску процесу потрібно значні обсяги енергії.
block.mechanical-drill.description = Недорогий бур. Якщо розмістити на доречних плитках, то виводитиме предмети постійно, але повільно. Придатний лише для базових ресурсів. block.mechanical-drill.description = Якщо розмістити на доречних плитках, то виводитиме предмети постійно, але повільно. Придатний лише для базових ресурсів.
block.pneumatic-drill.description = Поліпшений бур, здатний видобувати титан. Видобуває швидше, ніж механічний бур. block.pneumatic-drill.description = Поліпшений бур, здатний видобувати титан. Видобуває швидше, ніж механічний бур.
block.laser-drill.description = Дає змогу виконувати буріння ще швидше за допомогою лазерної технології, але вимагає енергії. Придатний до видобутку торію. block.laser-drill.description = Дає змогу видобувати ще швидше за допомогою лазерної технології, але потребує енергії. здатний видобувати торій.
block.blast-drill.description = Найкращий бур. Потрібна велика кількість енергії. block.blast-drill.description = Найкращий бур. Потрібує великої кількості енергії.
block.water-extractor.description = Видобуває підземні води. Використовується в місцях, де немає поверхневої води. block.water-extractor.description = Викачує підземні води. Використовується в місцях, де немає поверхневої води.
block.cultivator.description = Культивує невеликі концентрації спор в атмосфері на готові до промисловості стручки. block.cultivator.description = Культивує невеликі концентрації спор в стручки.
block.oil-extractor.description = Для видобутку нафти використовується велика кількість енергії, піску та води. block.cultivator.details = Відновлена технологія. Використовується для отримання величезної кількості біомаси якомога ефективніше. Ймовірно, початковий інкубатор спор, що зараз покриває Серпуло.
block.core-shard.description = Найперша версія капсули ядра. Після його знищення всі контакти з регіоном втрачаються. Не допустіть цього. block.oil-extractor.description = Використовується велика кількість енергії, піску та води для отримання нафти.
block.core-foundation.description = Друга версія ядра. Краще броньована. Зберігає більше ресурсів. block.core-shard.description = Ядро бази. Після знищення сектор втрачається. Найперша версія капсули ядра. Після його знищення всі контакти з регіоном втрачаються. Не допустіть цього.
block.core-nucleus.description = Третя й остання версія капсули ядра. Надзвичайно добре броньована. Зберігає величезні обсяги ресурсів. block.core-shard.details = Найперша версія капсули ядра. Компактне. Самовідтворюванне. Оснащене одноразовими пусковими рушіями. Не призначено для міжпланетних подорожей.
block.core-foundation.description = Ядро бази. Добре броньоване. Зберігає більше ресурсів.
block.core-foundation.details = Друга версія ядра.
block.core-nucleus.description = Ядро бази. Напрочуд добре броньовано. Зберігає величезну кількість ресурсів.
block.core-nucleus.details = Третя і фінальна версія ядра.
block.vault.description = Зберігає велику кількість предметів кожного типу. Блок розвантажувача може використовуватися для отримання предметів зі сховища. block.vault.description = Зберігає велику кількість предметів кожного типу. Блок розвантажувача може використовуватися для отримання предметів зі сховища.
block.container.description = Зберігає малу кількість предметів кожного типу. Блок розвантажувача може використовуватися для отримання предметів зі сховища. block.container.description = Зберігає малу кількість предметів кожного типу. Блок розвантажувача може використовуватися для отримання предметів зі сховища.
block.unloader.description = Вивантажує предмети з блока, який не переміщує предмети, на конвеєр або безпосередньо в сусідній блок. Тип предмета для завантаження можна змінити, натиснувши на блок. block.unloader.description = Вивантажує предмети з найближчих блоків
block.launch-pad.description = Запускає партії предметів без необхідності запуску ядра. Стартовий майданчик надає можливість вам запускати ресурси кожні n секунд без необхідності завершувати гру. Просто подайте в нього ресурси та забезпечте енергією. block.launch-pad.description = Запускає партії предметів без необхідності запуску ядра.
block.launch-pad-large.description = Поліпшена версія стартового майданчика. Зберігає більше предметів. Запускається частіше. block.duo.description = Вистрілює по черзі кулями по ворогах.
block.duo.description = Мала й дешева башта. Корисна проти наземних одиниць. block.scatter.description = Вистрілює скупченням свинцю, брухту чи метаскла в повітряних противників.
block.scatter.description = Основна протиповітряна башта. Вистрілює грудочки свинцю, брухту чи метаскла в противників.
block.scorch.description = Підпалює будь-яких наземних противників поблизу. Високоефективна на близькій відстані. block.scorch.description = Підпалює будь-яких наземних противників поблизу. Високоефективна на близькій відстані.
block.hail.description = Невелика артилерійська башта з далеким радіусом дії. block.hail.description = Вистрілює невеликі снаряди в наземних ворогів на великі відстані.
block.wave.description = Башта середнього розміру. Випускає потоками рідини в противників. Автоматично гасить пожежі при постачанні води. block.wave.description = Вистрілює потоки рідин в ворогів. Автоматично гасить пожежі при постачанні води.
block.lancer.description = Лазерна башта середнього розміру, яка атакує наземних противників. Заряджає і вистрілює потужні пучки енергії. block.lancer.description = Заряджає і вистрілює потужні пучки енергії в наземних противників.
block.arc.description = Невелика електрична башта з малим радіусом дії. Стріляє дугами електрики в противників. block.arc.description = Вистрілює дугами електрики в наземних противників.
block.swarmer.description = Ракетна башта середнього розміру. Атакує як повітряних, так і наземних противників. Запускає ракети, які летять у противників самостійно. block.swarmer.description = Запускає ракети, що автоматично наводяться у противників.
block.salvo.description = Більш велика, вдосконалена версія башти «Подвійна». Вистрілює швидкий залп куль у противника. block.salvo.description = Вистрілює швидкий залп куль у противника.
block.fuse.description = Велика енергетична башта з малим радіусом дії. Стріляє трьома пронизливими променями на найближчих противників. block.fuse.description = Вистрілює трьома променями, що пронизують броню, у малому радіусі у противників.
block.ripple.description = Надзвичайно потужна артилерійська башта. На великі відстані стріляє скупченнями снарядів у противників. block.ripple.description = Вистрілює скупченням снарядів у противників.
block.cyclone.description = Велика протиповітряна та протиназемна башта. Підпалює вибухонебезпечними грудками скупчення противників. block.cyclone.description = Підпалює вибухові грудки скупчення противників.
block.spectre.description = Масивна двоствольна гармата. Стріляє великими бронебійними кулями в повітряні та наземні цілі. block.spectre.description = Вистрілює великі бронебійні кулі у повітряні та наземні цілі.
block.meltdown.description = Масивна лазерна гармата. Заряджає і стріляє лазерним променем у найближчих противників. Для роботи потрібен теплоносій. block.meltdown.description = Заряджає і вистріляє лазерним променем у найближчих противників. Для роботи потрібен теплоносій.
block.repair-point.description = Безперервно ремонтує найближчу пошкоджену бойову одиницю. block.foreshadow.description = Вистрілює великим болтом в одну ціль на велику дистанцію
block.repair-point.description = Безперервно ремонтує найближчу пошкоджену бойову одиницю у своєму радіусі дії.
block.segment.description = Пошкоджує та руйнує вхідні снаряди. Окрім лазерних. block.segment.description = Пошкоджує та руйнує вхідні снаряди. Окрім лазерних.
block.parallax.description = Притягає ворожі повітряні одиниці, пошкоджуючи їх в процесі.
block.tsunami.description = Вистрілює потужними потоками рідини у ворогів. Автоматично гасить пожежі при постачанні води.
block.silicon-crucible.description = Очищує кремній від піску та вугілля, використовуючи пиратит як додаткове джерело тепла. Більш ефективний у жарких місцях.
block.disassembler.description = Поділяє шлак на незначні кількості екзотичних мінеральних компонентів при низькій ефективності. Може виробляти торій.
block.overdrive-dome.description = Збільшує швидкість найближчих будівль. Потребує фазову тканину і кремній.
block.payload-conveyor.description = Переміщує великі вантажі, як-от одиниці з заводів.
block.payload-router.description = Розділяє вантажі, що надходять, у 3 різні сторони.
block.command-center.description = Контролює поведінку одиниць за допомогою декількох різних команд.
block.ground-factory.description = Виробляє наземних одиниць. Вивід одиниць можна здійснити безпосередньо на місцевість, або спрямувати до реконструкторів для поліпшення.
block.air-factory.description = Виробляє повітряних одиниць. Вивід одиниць можна здійснити безпосередньо на місцевість, або спрямувати до реконструкторів для поліпшення.
block.naval-factory.description = Виробляє одиниць. Вивід одиниць можна здійснити безпосередньо на місцевість, або спрямувати до реконструкторів для поліпшення.
block.additive-reconstructor.description = Поліпшує введених одиниць до другого рівня.
block.multiplicative-reconstructor.description = Поліпшує введених одиниць до третього рівня.
block.exponential-reconstructor.description = Поліпшує введених одиниць до четвертого рівня.
block.tetrative-reconstructor.description = Поліпшує введених одиниць до п’ятого і фінального рівня.
block.switch.description = Перемикач. Стан можна читати і контролювати за допомогою логічних процесорів.
block.micro-processor.description = Запускає послідовність логічних вказівок (інструкцій) у нескінченному циклі. Може використовуватися для керування блоків та будівель.
block.logic-processor.description = Запускає послідовність логічних вказівок (інструкцій) у нескінченному циклі. Може використовуватися для керування блоків та будівель. Швидше ніж Мікропроцесор.
block.hyper-processor.description = Запускає послідовність логічних вказівок (інструкцій) у нескінченному циклі. Може використовуватися для керування блоків та будівель. Швидше ніж Логічний процесор
block.memory-cell.description = Зберігає інформацію для логічного процесора.
block.memory-bank.description = Зберігає інформацію для логічного процесора. Висока місткість.
block.logic-display.description = Відображає довільну графіку з логічного процесора.
block.large-logic-display.description = Відображає довільну графіку з логічного процесора.
unit.dagger.description = Вистрілює стандартними кулями по найближчих ворогах.
unit.mace.description = Вистрілює потоками полум'я у найближчих ворогів.
unit.fortress.description = Вистрілює з дальнобійної артилерії по наземних цілях.
unit.scepter.description = Вистрілює шквалом заряджених куль у найближчих ворогів.
unit.reign.description = Вистрілює шквалом масивних пронизливих куль по найближчих ворогах.
unit.nova.description = Вистрілює лазерними болтами, які пошкоджують ворогів та відновлюють союзні споруди. Здатний до польоту.
unit.pulsar.description = Випускає дуги електрики, які завдають шкоди ворогам та відновлюють союзні споруди. Здатний до польоту.
unit.quasar.description = Вистрілює пробивними лазерними промені, які пошкоджують ворогів та відновлюють споріднені конструкції. Здатний до польоту. Захищений.
unit.vela.description = Вистрілює масивним безперервним лазерним промінем, який завдає шкоди ворогам, спричиняє пожежі та відновлює союзні споруди. Здатний до польоту.
unit.corvus.description = Спричиняє масивний лазерний вибух, який завдає шкоди ворогам та відновлює споріднені споруди. Може переступати через більшість місцевості.
unit.crawler.description = Біжить до ворогів і самознищується, викликаючи великий вибух.
unit.atrax.description = Випалює виснажливі шари шлаку в наземних цілях. Може переступити більшість місцевості.
unit.spiroct.description = Вистрілює виснажливими лазерними променями у ворогів, відновлюючись при цьому. Може переступати через більшість місцевості.
unit.arkyid.description = Вистрілює у ворогів великими виснажливими лазерними променями, відновлюючись при цьому.
unit.toxopid.description = Вистрілює у ворогів великими електричними касетними снарядами та пробивними лазерами. Може переступати через більшість місцевості.
unit.flare.description = Вистрілює стандартними кулями в найближчі цілі.
unit.horizon.description = Кидає купу бомб на наземні цілі.
unit.zenith.description = Вистрілює залпи ракет по всіх найближчих ворогів.
unit.antumbra.description = Вистрілює шквал куль у всіх найближчих ворогів.
unit.eclipse.description = Вистрілює два пронизливі лазери та шквал луски по всіх найближчих ворогах.
unit.mono.description = Автоматично видобуває мідь і свинець і кладе їх в ядро.
unit.poly.description = Автоматично перебудовує зруйновані споруди та допомагає іншим одиницям у будівництві.
unit.mega.description = Автоматично відновлює пошкоджені конструкції. Здатний нести блоки та невеликі наземні блоки.
unit.quad.description = Кидає великі бомби на наземні цілі, відновлюючи союзні споруди та завдаючи шкоди ворогам. Здатний нести середні наземні одиниці.
unit.oct.description = Захищає найближчих союзників своїм відновлювальним щитом. Здатний нести більшість наземних одиниць.
unit.risso.description = Вистрілює шквалом ракет і куль по всіх найближчих ворогах.
unit.minke.description = Вистрілює запальними снарядами та стандартнами кулями по найближчих наземних цілях.
unit.bryde.description = Вистрілює по ворогам артилерійськими снарядами та ракетами великої дальності.
unit.sei.description = Вистрілює по ворогам шквалом ракет і бронебійних куль.
unit.omura.description = Вистрілює по ворогах дальнобійним болтом, що пробиває броню. Виробляє повітряних Фальшфеєрів.
unit.alpha.description = Захищає ядро «Уламок» від противників. Будує споруди.
unit.beta.description = Захищає ядро «Штаб» від противників. Будує споруди.
unit.gamma.description = Захищає ядро «Атом» від противників. Будує споруди.

View File

@@ -96,6 +96,7 @@ YellOw139
PetrGasparik PetrGasparik
LeoDog896 LeoDog896
Summet Summet
MEEP of Faith
jalastram (freesound.org) jalastram (freesound.org)
newlocknew (freesound.org) newlocknew (freesound.org)
dsmolenaers (freesound.org) dsmolenaers (freesound.org)

View File

@@ -316,3 +316,4 @@
63420=space|block-space-medium 63420=space|block-space-medium
63419=legacy-unit-factory-air|block-legacy-unit-factory-air-medium 63419=legacy-unit-factory-air|block-legacy-unit-factory-air-medium
63418=legacy-unit-factory-ground|block-legacy-unit-factory-ground-medium 63418=legacy-unit-factory-ground|block-legacy-unit-factory-ground-medium
63417=interplanetary-accelerator|block-interplanetary-accelerator-medium

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

View File

@@ -1,13 +1,18 @@
"use strict"; "use strict";
const log = function(context, obj){ const log = function(context, obj){
Vars.mods.getScripts().log(context, String(obj)) Vars.mods.scripts.log(context, String(obj))
} }
const readString = path => Vars.mods.getScripts().readString(path) const readString = path => Vars.mods.scripts.readString(path)
const readBytes = path => Vars.mods.getScripts().readBytes(path) const readBytes = path => Vars.mods.scripts.readBytes(path)
const loadMusic = path => Vars.mods.getScripts().loadMusic(path) const loadMusic = path => Vars.mods.scripts.loadMusic(path)
const loadSound = path => Vars.mods.getScripts().loadSound(path) const loadSound = path => Vars.mods.scripts.loadSound(path)
const readFile = (purpose, ext, cons) => Vars.mods.scripts.readFile(purpose, ext, cons);
const readBinFile = (purpose, ext, cons) => Vars.mods.scripts.readBinFile(purpose, ext, cons);
const writeFile = (purpose, ext, str) => Vars.mods.scripts.writeFile(purpose, ext, str);
const writeBinFile = (purpose, ext, bytes) => Vars.mods.scripts.writeBinFile(purpose, ext, bytes);
let scriptName = "base.js" let scriptName = "base.js"
let modName = "none" let modName = "none"

View File

@@ -11,6 +11,11 @@ const readBytes = path => Vars.mods.getScripts().readBytes(path)
const loadMusic = path => Vars.mods.getScripts().loadMusic(path) const loadMusic = path => Vars.mods.getScripts().loadMusic(path)
const loadSound = path => Vars.mods.getScripts().loadSound(path) const loadSound = path => Vars.mods.getScripts().loadSound(path)
const readFile = (purpose, ext, cons) => Vars.mods.scripts.readFile(purpose, ext, cons);
const readBinFile = (purpose, ext, cons) => Vars.mods.scripts.readBinFile(purpose, ext, cons);
const writeFile = (purpose, ext, str) => Vars.mods.scripts.writeFile(purpose, ext, str);
const writeBinFile = (purpose, ext, bytes) => Vars.mods.scripts.writeBinFile(purpose, ext, bytes);
let scriptName = "base.js" let scriptName = "base.js"
let modName = "none" let modName = "none"

View File

@@ -17,9 +17,9 @@ const float shinelen = 0.2;
void main(){ void main(){
vec3 norc = u_ambientColor * (diffuse + vec3(clamp((dot(a_normal, u_lightdir) + 1.0) / 2.0, 0.0, 1.0))); vec3 norc = u_ambientColor * (diffuse + vec3(clamp((dot(a_normal, u_lightdir) + 1.0) / 2.0, 0.0, 1.0)));
float shinedot = max((-dot(u_camdir, a_normal) - (1.0 - shinelen)) / shinelen, 0.0); float shinedot = max((-dot(u_camdir, a_normal) - (1.0 - shinelen)) / shinelen, 0.0);
float shinyness = (1.0 - a_color.a) * pow(shinedot, shinefalloff); float albedo = (1.0 - a_color.a) * pow(shinedot, shinefalloff);
vec4 baseCol = vec4(a_color.rgb, 1.0); vec4 baseCol = vec4(a_color.rgb, 1.0);
v_col = mix(baseCol * vec4(norc, 1.0), vec4(1.0), shinyness * norc.r); v_col = mix(baseCol * vec4(norc, 1.0), vec4(1.0), albedo * norc.r);
gl_Position = u_proj * u_trans * a_position; gl_Position = u_proj * u_trans * a_position;
} }

Binary file not shown.

Binary file not shown.

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