Compare commits

..

251 Commits
v121 ... v122

Author SHA1 Message Date
Anuken
a21cc32be9 Marked mod browser as WIP 2020-12-23 12:33:56 -05:00
Anuken
06f832bfae Merge remote-tracking branch 'origin/master' 2020-12-23 12:21:41 -05:00
Anuken
79423e4c60 Mod browser initial implementation 2020-12-23 12:21:25 -05:00
Catchears
c92f662994 german translation (#3726)
* german achievement translation

* typo

* change from Ordoviz

* typos

* duzen statt siezen

* update bundle
2020-12-23 12:10:35 -05:00
Volas171
eeed998c7c update v6 list (#4091)
Alex servers have now updated and use hub
2020-12-23 12:10:02 -05:00
Anuken
8ac027af70 More browser cleanup 2020-12-23 12:03:43 -05:00
YellOw139
15b865e550 [Bundle][RO] Translation update (#4039)
* [Bundle][RO] Translation update

This PR was tested in-game and is _**ready to merge at any time**_ (unless marked as draft).

Changelog:
- New strings/changes up to commit commit
- Typo fixes & various other improvements

* don't do bad choices

* some polishing

* typo

* The 7.0 [combat] experience

* Rebranding
2020-12-23 12:02:37 -05:00
Patrick 'Quezler' Mounier
1e7e66c424 Rename existing Power Infinite with Power Source (#4090) 2020-12-23 12:02:28 -05:00
Felix Corvus
0524447c78 [Bundle][RU] actual L10n (#3680)
* 1 line changed

- noname

* 1 line changed

- hint.placeTurret

* 3 new lines

- servers.disclaimer
- hint.coreUpgrade
- hint.presetLaunch

----
NOTE from Felix Corvus (@Remint32)

This commit and PR are the last ones I made to the repository.
I want to sincerely thank the people I worked with to enhance the game and translate it into Russian.

I want to thank you separately:
Prosta4ok_ua (@Prosta4okua), Vanguard (@XEN0PHIL), BasedUser (@BasedUser), Summet (@summetdev), Anuke (@Anuken), The_Slaylord (@TheSlaylord), Lonely_Ymomfe (@ymomfe), and XZimur (@XZimur)

* 5 changed lines; 2 new lines

Changed:
globalitems
sector.extractionOutpost.description
hint.launch
hint.launch.mobile
hint.presetLaunch

New:
hint.coreIncinerate
hint.coopCampaign

* 2 changed line

hint.coopCampaign
item.spore-pod.details
-
В споровом стручке всё же множественное число в описании, говорится про сами споры. THEY EMIT - они выделяют, IT EMITS - он выделяет.

* 2 changed lines

hint.coreIncinerate
block.interplanetary-accelerator.description

* 3 new line; 1 changed line

New:
setting.showweather.name
link.bug.description
rules.weather.always

Changed:
keybinds.mobile

* 4 new lines; 1 changed line; 1 deleted line

New:
public.confirm.really
bullet.buildingdamage
stat.ammouse
unit.pershot

Changed:
bullet.knockback

Deleted:
bar.limitreached

* Update bundle_ru.properties

падежи

* Update bundle_ru.properties

мелочи

* 1 changed line

stat.ammouse

Co-authored-by: Vanguard <55051135+XEN0PHIL@users.noreply.github.com>
2020-12-23 11:56:33 -05:00
Anuken
b6f1b67b24 Merge branch 'master' into ThePythonGuy3-patch-1 2020-12-23 10:51:56 -05:00
Anuken
715d94967e Cleanup 2020-12-23 10:51:24 -05:00
MEEP of Faith
a21f79ac6a Draw size independent from puddle size. (#3826)
* Draw size independent from puddle size.

* Apply change to Bullets
2020-12-23 10:29:26 -05:00
Sunny Kim
986caa857e public SettingsTables for mod settings (#4085) 2020-12-23 09:41:43 -05:00
Sunny Kim
1a14860b62 bump editor only blocks foward (#4084) 2020-12-23 09:40:00 -05:00
Patrick 'Quezler' Mounier
d144e9c91c Allow plastanium conveyor to be unloaded (#4087) 2020-12-23 09:39:29 -05:00
Patrick 'Quezler' Mounier
9d740e1e37 Rebrand power infinite as power source (#4088) 2020-12-23 09:39:04 -05:00
Anuken
054e2337ff Merge remote-tracking branch 'origin/master' 2020-12-22 20:13:40 -05:00
Anuken
71488313e1 Fixed #4082 2020-12-22 20:13:34 -05:00
Anuken
a44f3c379f Ammo/shot display 2020-12-22 15:10:48 -05:00
Patrick 'Quezler' Mounier
e1125a38da Update servers_be.json (#4081) 2020-12-22 14:14:17 -05:00
Anuken
f3d5cb315e Cleanup 2020-12-22 13:51:11 -05:00
Anuken
d3f99105b2 Merge remote-tracking branch 'origin/master' 2020-12-22 13:42:01 -05:00
Anuken
7f49f0c6fa Fixed #4079 2020-12-22 13:41:54 -05:00
Anuken
ceb298ca0b cleanup 2020-12-22 12:52:01 -05:00
VozDuh
0aaa77a5ea Scrap Walls Textures Cleanup (#4074) 2020-12-22 11:31:24 -05:00
Sunny Kim
79d4925761 THIS WAS WHAT IT WAS ALL ALONG (#4069) 2020-12-22 11:30:09 -05:00
Anuken
7ea12e97ec Fixed #4073 2020-12-22 11:28:33 -05:00
Anuken
8521d5cd1b Merge remote-tracking branch 'origin/master' 2020-12-22 11:20:43 -05:00
Anuken
17177f87aa Fixed #4071 2020-12-22 11:20:35 -05:00
Anuken
24c71e49c7 cleanup 2020-12-22 10:48:11 -05:00
Skybbles
ac06fa8f96 update my github name (#4070)
updating my name here since I changed my username
2020-12-22 10:33:07 -05:00
Anuken
eda134a18c Merge remote-tracking branch 'origin/master' 2020-12-21 20:48:07 -05:00
Anuken
852013cd63 #4068 2020-12-21 20:48:00 -05:00
Sunny Kim
5b163d7843 Heat for accelerator (#4065)
* heat

* better animations
2020-12-21 20:04:04 -05:00
Anuken
806cea4b33 Added building damage to bullet stats 2020-12-21 16:55:04 -05:00
Anuken
952639a72e Merge branch 'master' of https://github.com/Anuken/Mindustry 2020-12-21 13:10:00 -05:00
Anuken
e4e428f84a Fixed #4064 2020-12-21 13:09:08 -05:00
Patrick 'Quezler' Mounier
9a577adf5f Makes Drill.drawMineItem default to true (#4057)
* Update Blocks.java

* Update Drill.java
2020-12-20 15:22:34 -05:00
Anuken
e3c68b485d Placement rendering cleanup 2020-12-20 14:28:14 -05:00
Anuken
75a4d2901f Merge branch 'master' of https://github.com/Anuken/Mindustry 2020-12-20 14:22:27 -05:00
Patrick 'Quezler' Mounier
bbdcef62e4 Draw item in the drill center when in place mode (#4055)
* Draw item in the drill center when in place mode

* Update core/src/mindustry/world/blocks/production/Drill.java

Co-authored-by: Patrick 'Quezler' Mounier <Quezler@me.com>

Co-authored-by: Anuken <arnukren@gmail.com>
2020-12-20 14:22:14 -05:00
Patrick 'Quezler' Mounier
118ae8e87d #3889 2: electric boogaloo (#4056) 2020-12-20 14:22:01 -05:00
Anuken
40a6a9e1c7 Comment cleanup 2020-12-20 12:04:36 -05:00
Patrick 'Quezler' Mounier
22221a0f28 Add in region to payload block icons (#4052) 2020-12-20 09:58:18 -05:00
Anuken
c39f4c1b7d Fixed #4051 2020-12-20 09:50:29 -05:00
Anuken
082b04a143 Merge remote-tracking branch 'origin/master' 2020-12-20 09:47:52 -05:00
Anuken
4f683cac8b Fixed #4054 2020-12-20 09:47:45 -05:00
YellOw139
0d2b660ed1 Ty po (#4046) 2020-12-19 14:01:50 -05:00
Anuken
f9fe396d1f Fixed #4044 2020-12-19 13:02:20 -05:00
Anuken
a4f4b9367f Tweaks of merged PR 2020-12-19 12:32:03 -05:00
키에르
09a84550f4 Ask double pop-ups to create a public server (#4042)
* Double check public host dialog

* Update bundle.properties

* Update core/src/mindustry/ui/dialogs/HostDialog.java

Co-authored-by: Patrick 'Quezler' Mounier <Quezler@me.com>

Co-authored-by: Patrick 'Quezler' Mounier <Quezler@me.com>
2020-12-19 12:31:26 -05:00
Anuken
9e05f7604d Fixed #4043 2020-12-19 12:28:56 -05:00
Anuken
e5982faf35 Merge remote-tracking branch 'origin/master' 2020-12-18 20:39:23 -05:00
Anuken
7f863abb06 Hide map when opening planet map 2020-12-18 20:39:16 -05:00
Volas171
b328d098a1 add minty server but this time the json is all right (#4034) 2020-12-18 19:16:59 -05:00
Anuken
0dd3c2cb5a Fixed #4033 2020-12-18 17:22:01 -05:00
Anuken
9d9cbdffd5 Pulsar nerf 2020-12-18 16:33:43 -05:00
Anuken
8d43590657 Multiblock damage calculation bugfix 2020-12-18 14:56:14 -05:00
Anuken
6783069f95 Merge remote-tracking branch 'origin/master' 2020-12-18 13:36:22 -05:00
Anuken
b33b3a7919 Always-on weather rule support 2020-12-18 13:36:18 -05:00
Anuken
b0bf80d8b7 Cleanup 2020-12-18 13:21:51 -05:00
Patrick 'Quezler' Mounier
abcd27184d Update Drill.java (#4030) 2020-12-18 13:08:03 -05:00
Anuken
5de2c0c512 Merge remote-tracking branch 'origin/master' 2020-12-18 12:41:23 -05:00
Anuken
bd25294096 Generic node/bridge placement system 2020-12-18 12:41:13 -05:00
Ilya246
a8bae56b2c fix comment (#4026) 2020-12-18 09:44:15 -05:00
Anuken
d80678dfeb arc 2020-12-18 09:43:17 -05:00
Anuken
a4f9518d1e testing winMM 2020-12-18 09:42:57 -05:00
Anuken
91692f362f Mod browser cleanup 2020-12-17 21:17:55 -05:00
Anuken
6815f3305f Better bridge linking 2020-12-17 18:35:50 -05:00
Anuken
0cc3340bd6 Fixed texture packer Gradle dependencies 2020-12-17 14:37:13 -05:00
Anuken
8da18984d2 Removed redundant Block#isVisible code 2020-12-17 12:38:22 -05:00
Patrick 'Quezler' Mounier
056afa572e Allow hidden blocks to be revealed by plugins (#4017)
* Add revealedBlocks rule

(1/2)

* Use revealedBlocks rule

(2/2)
2020-12-17 12:37:47 -05:00
Anuken
9f5183b36f Building cleanup 2020-12-17 11:38:03 -05:00
Anuken
0d81681af5 Merge remote-tracking branch 'origin/master' 2020-12-17 10:46:53 -05:00
Anuken
4b1554db54 arc 2020-12-17 10:46:49 -05:00
Charlotte Vixen
c58289dd47 added conduit color indications (#4015) 2020-12-17 10:20:29 -05:00
Patrick 'Quezler' Mounier
cfd67bb1fc Fix sprite packing typo (#4016) 2020-12-17 10:15:58 -05:00
rMuchan
9a777f3ce5 fix health calculation in background sectors (#4011) 2020-12-17 10:09:28 -05:00
Anuken
b8efed9eaf Better space skybox scaling 2020-12-16 19:52:10 -05:00
Anuken
cd7d2163b9 Merge remote-tracking branch 'origin/master' 2020-12-16 19:47:43 -05:00
Anuken
59c85a486f Fixed phase deflect achievement 2020-12-16 19:47:40 -05:00
DeltaNedas
8bc349b68c add @commanded for units (#3870) 2020-12-16 19:42:48 -05:00
Angel_24
b12cac7b30 Update bundle_es.properties (#4002)
* Update bundle_es.properties

* Update bundle_es.properties

* Update bundle_es.properties

* Update bundle_es.properties

* Update bundle_es.properties

* Tweaks from a newer pull request

Added changes based on the Frankz30's Pull request: [ https://github.com/Anuken/Mindustry/pull/3879#issue-534932998 ]

* Added translations for wheather graphics and report bugs options
2020-12-16 19:41:07 -05:00
Thomas Widyantoko
bd85d1d7ca update in_ID translation (#4003)
* update in_ID translation

* weather graphics setting

suggestion from Discord
2020-12-16 19:40:52 -05:00
Xelo
9a88426ff7 raw strings for SurfaceShaders (#4004)
* SurfaceShaders thing

* Update core/src/mindustry/graphics/Shaders.java

spacing fix

Co-authored-by: Antsiferov Andrew <summet.dev@gmail.com>

* star import

Co-authored-by: Antsiferov Andrew <summet.dev@gmail.com>
2020-12-16 19:39:08 -05:00
Anuken
d0bf3d6fa1 Merge remote-tracking branch 'origin/master' 2020-12-16 19:33:36 -05:00
Anuken
bc2c7be45d Fixed #4010 2020-12-16 19:33:29 -05:00
DeltaNedas
74a7dc5eb9 allow mods to set zoom limits (#4006)
* allow mods to set zoom limits

* rounding

* dont round min

* zoom 1.5 -> 1
2020-12-16 16:41:08 -05:00
Anuken
3db04da20a Payload tweaks 2020-12-16 13:35:55 -05:00
Anuken
d0cba1aff2 Code cleanup 2020-12-16 10:39:28 -05:00
Anuken
4ad234ad75 Merge remote-tracking branch 'origin/master' 2020-12-16 09:28:11 -05:00
Anuken
e6717b37ce Fixed #4000 2020-12-16 09:28:06 -05:00
Amaoto Inochi
15116ca384 fix the wrong unit ai path of mod content parser (#3998) 2020-12-15 19:55:31 -05:00
Anuken
446dd6abe5 Consistent water bullet drag 2020-12-15 19:25:23 -05:00
Anuken
ff254d4fdf Fixed #3997 2020-12-15 19:09:33 -05:00
Anuken
eaa5e6f5a1 Increased foreshadow coolant multiplier 2020-12-15 18:39:44 -05:00
Anuken
b90f51224c Fixed #3996 2020-12-15 18:07:15 -05:00
Anuken
475bef1d78 Fixed sprite antialiasing 2020-12-15 17:43:01 -05:00
Anuken
dd9095bfba Cleanup 2020-12-15 15:31:45 -05:00
Anuken
50125166a6 Merge remote-tracking branch 'origin/master' 2020-12-15 15:24:14 -05:00
Anuken
47e321f57d Removed atlas outputs 2020-12-15 15:24:09 -05:00
Recessive
144751bdce Update servers_v6.json (#3983)
Added {AA} Assault
2020-12-15 14:28:52 -05:00
L0615T1C5-216AC-9437
6cc3676f5e Final addition to the CN Network (#3986)
introducing a new unique game mode, Mech-Battles, were players fight against each other.
2020-12-15 14:28:36 -05:00
Anuken
6ab96e2787 Fixed #3987 2020-12-15 14:15:06 -05:00
Anuken
659c481c83 cleanup 2020-12-15 11:15:39 -05:00
Anuken
a18e1854ab Null checks & cleanup of upgrade pathing 2020-12-15 10:58:03 -05:00
Anuken
6c67dc1266 Merge branch 'master' of https://github.com/Anuken/Mindustry 2020-12-15 10:52:38 -05:00
Slava0135
0c581c520f Conveyor upgrade system (#3912)
* conveyor/conduit upgrading system

* style
2020-12-15 10:52:20 -05:00
Anuken
c6c18696c0 Cleanup 2020-12-15 10:28:12 -05:00
Somka000
4b1c55b876 Update server (#3984) 2020-12-15 09:59:46 -05:00
Anuken
5ab090f28d Merge remote-tracking branch 'origin/master' 2020-12-14 22:56:06 -05:00
Anuken
8a5bd7571e 121.3 2020-12-14 22:55:58 -05:00
Fernando
3cb0cc9a3c Brazil is under maintenance (#3898)
We will be back later
2020-12-14 20:07:02 -05:00
Anuken
ff93c21269 Merge remote-tracking branch 'origin/master' 2020-12-14 16:31:01 -05:00
Anuken
0512e54df5 Merge remote-tracking branch 'origin/master' 2020-12-14 13:42:52 -05:00
Anuken
cec1eb5608 Fixed jitpack build error 2020-12-14 13:42:48 -05:00
L0615T1C5-216AC-9437
1c6ebd3f6a retire CN from v5 Mindustry (#3977) 2020-12-14 13:31:41 -05:00
Anuken
16f7a8e9d2 Merge remote-tracking branch 'origin/master' 2020-12-14 13:29:59 -05:00
Anuken
889c53dc1b Update SERVERLIST.md 2020-12-14 13:26:42 -05:00
Anuken
f4d0dfd0da Less junction capacity (again) 2020-12-14 10:36:37 -05:00
Skat
aee5d46dfa Code formatting (#3904) 2020-12-13 23:56:13 -05:00
alex
6286b0b275 Add ALEX v6 servers to servers_v6.json (#3927) 2020-12-13 23:52:15 -05:00
Sharlotte
5223a89bf1 Update bundle_ko.properties (#3953)
fix some miss-translation
add translated values
2020-12-13 23:47:00 -05:00
YellOw139
5b11dbc085 [Bundle][RO] Translation Update (#3957)
This PR was tested in-game and is _**ready to merge at any time**_ (unless marked as draft).

Changelog:
- New strings/changes up to commit 98c4ee6e74
- Typo fixes & various other improvements
2020-12-13 23:46:50 -05:00
GamyGamer
df1f8b8bb4 Update bundle_pl.properties (#3964)
Added missing lines and fixed typo
2020-12-13 23:46:39 -05:00
DeltaNedas
ffa7256e5a add ContentInitEvent (#3951)
* add ContentInit(ialized)Event

* a

* a
2020-12-13 23:43:27 -05:00
Anuken
bbf84185cc Fixed #3973 2020-12-13 23:40:06 -05:00
Anuken
901c23f295 Fixed #3969 2020-12-13 18:01:22 -05:00
Anuken
1c8d368d3b Merge remote-tracking branch 'origin/master' 2020-12-13 16:28:32 -05:00
Anuken
37ebae20d7 Removed tools.jar 2020-12-13 16:28:29 -05:00
Anuken
e25f0c6ae2 Merge pull request #3967 from DeltaNedas/version
disallow descriptions after mod version
2020-12-13 16:26:23 -05:00
Anuken
484b480076 Fixed #3968 2020-12-13 16:25:36 -05:00
DeltaNedas
926497ba77 disallow descriptions after mod version 2020-12-13 19:30:21 +00:00
Anuken
ddd9f2259c Fixed #3960 2020-12-13 10:27:44 -05:00
Anuken
d6546a38c0 #3830 2020-12-12 18:49:24 -05:00
Anuken
d171048004 Merge pull request #3950 from Auswaschbar/master
Fix units aiming sidewards missing their aim
2020-12-12 16:47:01 -05:00
Karl-Robert Ernst
4aebba0a0c fix units aiming sidewards missing their aim 2020-12-12 22:11:19 +01:00
Anuken
8afb6006ce Merge pull request #3941 from DeltaNedas/public
make some proc stuff public
2020-12-12 13:27:22 -05:00
Anuken
d117eb249e Merge remote-tracking branch 'origin/master' 2020-12-12 13:26:34 -05:00
Anuken
768d14088a Fixed #3943 2020-12-12 13:26:30 -05:00
Anuken
86f16bfc94 Merge pull request #3934 from LottieVixen/fix-issue
fixed an error in global.js
2020-12-12 11:31:36 -05:00
Anuken
8fa6b76bf9 Fixed #3936 2020-12-12 11:14:17 -05:00
DeltaNedas
19af1a0cc8 make some proc stuff public 2020-12-12 15:57:43 +00:00
Charlotte Lily-Llaitchee Vixen
409d27e3df found more occurances of the error 2020-12-12 07:23:23 +00:00
Charlotte Lily-Llaitchee Vixen
d47abd4f83 fixed an error in global.js 2020-12-12 07:15:24 +00:00
Anuken
e6c4a6cf69 Fixed #3932 2020-12-11 23:52:43 -05:00
Anuken
7c80af85e3 Property cleanup 2020-12-11 19:28:03 -05:00
Anuken
6983f57459 circleTarget unit AI parameter 2020-12-11 18:54:03 -05:00
Anuken
adeeaa6e27 Merge remote-tracking branch 'origin/master' 2020-12-11 12:56:10 -05:00
Anuken
075e7cf5d8 Disabled poly spawns 2020-12-11 12:56:07 -05:00
Anuken
98c4ee6e74 Merge pull request #3855 from AFFalcons/patch-1
[QOL] Ability to Disable Weather Effects
2020-12-11 12:52:07 -05:00
Anuken
87f9a077ac Increase wave spacing by 10sec every sector defeat 2020-12-11 12:43:43 -05:00
Anuken
bc26d3ba7b Merge remote-tracking branch 'origin/master' 2020-12-11 11:48:27 -05:00
Anuken
daaea591e4 Implemented #3486 with some minor changes 2020-12-11 11:48:20 -05:00
Anuken
175d66ad72 Merge pull request #3843 from Nikolass1000/patch-6
Update achievements.vdf [PL]
2020-12-11 11:13:54 -05:00
Anuken
c444cbf623 Merge pull request #3908 from buthed010203/patch-2
Delete old bleeding edge builds on update
2020-12-11 10:52:19 -05:00
Anuken
c54f398063 Fixed Parallax not moving players serverside 2020-12-10 18:21:39 -05:00
Anuken
2d6db1583b Improved approach behavior in formations/logic 2020-12-10 12:51:07 -05:00
buthed010203
b3beb92557 fixed 2020-12-10 12:18:11 -05:00
buthed010203
0f8304674f now 100% less readable 2020-12-10 11:54:47 -05:00
buthed010203
3b3daf0e25 Delete old bleeding edge builds on update 2020-12-10 11:41:50 -05:00
Anuken
28e18332a0 Decreased junction item capacity 2020-12-10 09:58:09 -05:00
Anuken
dcc4764914 Merge remote-tracking branch 'origin/master' 2020-12-10 09:50:12 -05:00
Anuken
ee4ace1146 Fixed #3902 2020-12-10 09:50:06 -05:00
Anuken
1faffadcab Merge pull request #3905 from Quezler/patch-81
Prevent accelerator from blending with conveyors
2020-12-10 09:35:33 -05:00
Patrick 'Quezler' Mounier
2da7afc081 Update Accelerator.java 2020-12-10 12:15:29 +01:00
Patrick 'Quezler' Mounier
e5b341c63e Prevent accelerator from blending with conveyors 2020-12-10 12:14:57 +01:00
Anuken
a544888f16 cleanup 2020-12-09 20:20:22 -05:00
Anuken
57ad1d5366 Fixed #3899 2020-12-09 20:19:54 -05:00
Anuken
42d66d1136 Sector item system cleanup 2020-12-09 16:26:50 -05:00
Anuken
999cc9c651 Fixed #3890 2020-12-09 14:02:38 -05:00
Anuken
9537051590 Merge pull request #3836 from Nikolass1000/patch-5
Update polish bundle
2020-12-09 11:10:02 -05:00
Anuken
827372633d Merge pull request #3838 from YellOw139/patch-3
[Bundle][RO][Ready-for-Stable] Translation Update
2020-12-09 11:09:42 -05:00
Anuken
dcf0b15b2c Fixed #3888 2020-12-09 11:08:22 -05:00
Anuken
c93bc0e457 Fixed #3884 / Fixed #3881 / Fixed #3880 2020-12-09 10:49:26 -05:00
Anuken
1460a15942 Fixed #3874 2020-12-08 21:36:20 -05:00
Anuken
15a07a4a18 Merge remote-tracking branch 'origin/master' 2020-12-08 16:43:27 -05:00
Anuken
e07a203d56 Don't use mods for floor decoration 2020-12-08 16:43:23 -05:00
Anuken
cead92b2c7 Merge pull request #3865 from Ordoviz/master
Improve German translation
2020-12-08 14:31:26 -05:00
Anuken
8d4ab2d7fb Cleanup 2020-12-08 14:23:13 -05:00
Anuken
9bd2057237 Fixed #3871 2020-12-08 14:07:18 -05:00
Lennard Hofmann
5ec5f1aa93 Improve German translation 2020-12-08 17:09:37 +01:00
Anuken
5e10c9d416 Decreased slag viscosity 2020-12-08 10:13:08 -05:00
Matthew
881491d151 Requested Changes 2020-12-08 09:10:30 -06:00
Matthew
863159a5fe Init 2020-12-07 18:14:58 -06:00
Anuken
849943a0de Increased surge smelter item capacity 2020-12-07 18:57:59 -05:00
Anuken
b5abc23c9d Minor Fungal Pass tweaks 2020-12-07 16:27:25 -05:00
Anuken
c2b03a3fdc Merge remote-tracking branch 'origin/master' 2020-12-07 15:52:53 -05:00
Anuken
4e1d999838 Rounded up lancer requirements 2020-12-07 15:52:50 -05:00
Anuken
4af971776f Rounded up lancer requirements 2020-12-07 15:48:07 -05:00
Anuken
86d2788232 Merge pull request #3735 from Nikolass1000/patch-4
Fix for missing foreshadow description [PL]
2020-12-07 15:18:13 -05:00
Anuken
5654e3120d Logic constant optimizations / Display admins on top 2020-12-07 12:51:31 -05:00
Anuken
b4e7928622 Test fixes 2020-12-07 12:12:08 -05:00
Anuken
25125f5a9b Removed Tile#bc(), use Tile.build instead 2020-12-07 11:44:57 -05:00
Anuken
5d4b8a43e3 Merge remote-tracking branch 'origin/master' 2020-12-07 11:10:23 -05:00
Anuken
557cb1c532 Fixed #3834 / Fixed #3835 / Fixed #3837 2020-12-07 11:10:19 -05:00
Anuken
5594395ac1 Merge pull request #3840 from Quezler/patch-78
Fixes #3839
2020-12-07 10:58:26 -05:00
Nikolass1000
81b593c031 Update achievements.vdf 2020-12-07 14:30:08 +01:00
Patrick 'Quezler' Mounier
2a1ddf2573 Fixed #3839 2020-12-07 13:21:32 +01:00
YellOw139
fdb8da5767 [Bundle][RO][Ready-for-Stable] Translation Update
This PR was tested in-game and is ready to merge at any time (unless marked as draft).
Its strings are ready and _**merging**_ is _**recommended**_ for **_the next stable release._**

Changelog:

- New strings/changes up to commit f9cfc8a2b8
- Typo fixes & various other improvements
2020-12-07 13:50:55 +02:00
Nikolass1000
738aa26a20 Another completion 2020-12-07 10:41:16 +01:00
Anuken
5e0ba2f4af Merge remote-tracking branch 'origin/master' 2020-12-06 13:55:55 -05:00
Anuken
91b2d1a9bf Fixed #3824 2020-12-06 13:55:52 -05:00
Anuken
e636ceb317 Merge pull request #3791 from joshuaptfan/master
Enable double-click to play sector
2020-12-06 11:47:54 -05:00
Anuken
2eeb230694 Merge pull request #3792 from Neba-MD/master
Add TWS v6 to servers_v6.json
2020-12-06 11:10:48 -05:00
Joshua Fan
70cc6d07b0 Detect double-tap using count 2020-12-06 07:52:50 -08:00
Anuken
4d5c2c83fd Removed spawn shockwave delay 2020-12-06 10:50:13 -05:00
Anuken
cf91bcbd49 Run damage before spawn points activate 2020-12-06 10:23:24 -05:00
Joshua Fan
dd6ae80817 Merge remote-tracking branch 'origin/master' 2020-12-05 22:56:34 -08:00
Joshua Fan
58c1718d01 Detect double-tap 2020-12-05 22:07:09 -08:00
Neba-MD
db76ffe46a Update servers_v6.json 2020-12-06 05:31:51 +08:00
Neba-MD
a687aeb789 Update servers_v6.json 2020-12-05 17:32:00 +08:00
Joshua Fan
6ececea004 Enable double-click to play sector 2020-12-05 00:58:56 -08:00
Nikolass1000
df418c5a7d Small fix 2020-12-03 10:49:58 +01:00
ThePythonGuy
95caa247f5 Merge pull request #6 from QmelZ/patch-2
Update bundle_tr.properties
2020-08-16 09:05:13 +02:00
ThePythonGuy
aeeabcb38f Update bundle_pl.properties 2020-08-10 12:35:43 +02:00
QmelZ
2d7a5e637d Update bundle_tr.properties 2020-08-10 00:02:03 +03:00
ThePythonGuy
a28366ee80 Update bundle_uk_UA.properties 2020-08-09 15:55:31 +02:00
ThePythonGuy
e96a9a2f32 facepalm 2020-08-09 15:49:04 +02:00
ThePythonGuy
b8fca9a091 nope, now _everything_ is fixed 2020-08-09 11:57:48 +02:00
ThePythonGuy
816402ae56 hopefully everything got fixed 2020-08-09 11:56:03 +02:00
ThePythonGuy
b8ed189bcb Merge pull request #5 from Gdeft/patch-2
Update bundle.in_ID.properties: Mod Browser
2020-08-09 11:11:03 +02:00
Gdeft
e4b0ea92da Update bundle.in_ID.properties: Mod Browser 2020-08-09 16:09:33 +07:00
ThePythonGuy
ca931987c4 Merge pull request #4 from J-VdS/patch-2
better look
2020-08-08 22:15:49 +02:00
J-VdS
f9a0d7a3c6 better look
this looks better in my opinion
2020-08-08 21:33:32 +02:00
ThePythonGuy
840f6e43c3 Merge pull request #2 from Catchears/patch-1
Add german translation
2020-08-08 19:34:13 +02:00
ThePythonGuy
89872902e7 Merge pull request #3 from Remint32/patch-3
RU l10n for Mod Browser PR
2020-08-08 19:33:42 +02:00
ThePythonGuy
d6065865f5 Delete warning 2020-08-08 19:31:52 +02:00
Felix Corvus
b56aa4adc2 Update bundle_ru.properties 2020-08-08 07:58:51 +03:00
Felix Corvus
b36c074e72 RU l10n for Mod Browser PR 2020-08-08 07:56:21 +03:00
Wiki Updater
4df0393e00 Add german translation 2020-08-07 17:19:24 +02:00
ThePythonGuy
7bfbca7234 Update ModsDialog.java 2020-08-04 11:17:13 +02:00
ThePythonGuy
dfcd94c4bc inconsistency fix 2020-08-02 11:29:55 +02:00
ThePythonGuy
ee3c99991e Update bundle_fr.properties 2020-08-01 18:02:16 +02:00
ThePythonGuy
11a8c227d2 Update bundle_es.properties 2020-08-01 18:01:31 +02:00
ThePythonGuy
f37ecda3a7 Update bundle.properties 2020-08-01 18:01:12 +02:00
ThePythonGuy
a3054c75b4 Update bundle_uk_UA.properties 2020-08-01 17:53:12 +02:00
ThePythonGuy
428e1f22d5 Update ModsDialog.java 2020-08-01 17:31:54 +02:00
ThePythonGuy
faf1ea3102 Update bundle_ko.properties 2020-08-01 17:31:30 +02:00
ThePythonGuy
c287a173e3 Update bundle_fr.properties 2020-08-01 17:30:13 +02:00
ThePythonGuy
2aa70fdae5 Update bundle_es.properties 2020-08-01 17:27:54 +02:00
ThePythonGuy
5aeb77fd65 Update bundle.properties 2020-08-01 17:25:22 +02:00
ThePythonGuy
53f0a4516f Update ModsDialog.java 2020-08-01 15:49:53 +02:00
ThePythonGuy
451a4faa5b fix 2020-07-31 16:06:42 +02:00
ThePythonGuy
2e09373fdc less margin 2020-07-31 14:29:23 +02:00
ThePythonGuy
df635777c3 larger margin 2020-07-31 13:20:38 +02:00
ThePythonGuy
b2f973735b add margin to the buttons 2020-07-31 12:49:03 +02:00
ThePythonGuy
3a2a591c43 Last fix (i hope) 2020-07-31 12:35:32 +02:00
ThePythonGuy
5d4cbf6af5 Update ModsDialog.java 2020-07-31 12:34:36 +02:00
ThePythonGuy
d83405c946 fix 2020-07-31 12:33:25 +02:00
ThePythonGuy
1d24dd6d4d Create Mod Browser 2020-07-31 12:12:43 +02:00
248 changed files with 1866 additions and 49821 deletions

6
.gitignore vendored
View File

@@ -47,6 +47,12 @@ config/
/core/assets/basepartnames /core/assets/basepartnames
version.properties version.properties
#sprites
core/assets/sprites/sprites*
core/assets/sprites/fallback/
core/assets/sprites/block_colors.png
.attach_* .attach_*
## Java ## Java

View File

@@ -1,7 +1,7 @@
### Adding a server to the list ### Adding a server to the list
Mindustry now has a public list of servers that everyone can see and connect to. Mindustry now has a public list of servers that everyone can see and connect to.
This is done by letting clients `GET` a [JSON list of servers](https://github.com/Anuken/Mindustry/blob/master/servers.json) in this repository. This is done by letting clients `GET` a [JSON list of servers](https://github.com/Anuken/Mindustry/blob/master/servers_v6.json) in this repository.
You may want to add your server to this list. The steps for getting this done are as follows: You may want to add your server to this list. The steps for getting this done are as follows:
@@ -16,7 +16,7 @@ You'll need to either hire some moderators, or make use of (currently non-existe
3. **Get some good maps.** *(optional, but highly recommended)*. Add some maps to your server and set the map rotation to custom-only. You can get maps from the Steam workshop by subscribing and exporting them; using the `#maps` channel on Discord is also an option. 3. **Get some good maps.** *(optional, but highly recommended)*. Add some maps to your server and set the map rotation to custom-only. You can get maps from the Steam workshop by subscribing and exporting them; using the `#maps` channel on Discord is also an option.
4. **Check your server configuration.** *(optional)* I would recommend adding a message rate limit of 1 second (`config messageRateLimit 1`), and disabling connect/disconnect messages to reduce spam (`config showConnectMessages false`). 4. **Check your server configuration.** *(optional)* I would recommend adding a message rate limit of 1 second (`config messageRateLimit 1`), and disabling connect/disconnect messages to reduce spam (`config showConnectMessages false`).
5. Finally, **submit a pull request** to add your server's IP to the list. 5. Finally, **submit a pull request** to add your server's IP to the list.
This should be fairly straightforward: Press the edit button on the [server file](https://github.com/Anuken/Mindustry/blob/master/servers.json), then add a JSON object with a single key, indicating your server address. This should be fairly straightforward: Press the edit button on the [server file](https://github.com/Anuken/Mindustry/blob/master/servers_v6.json), then add a JSON object with a single key, indicating your server address.
For example, if your server address is `google.com`, you would add a comma after the last entry and insert: For example, if your server address is `google.com`, you would add a comma after the last entry and insert:
```json ```json
{ {

View File

@@ -152,3 +152,9 @@ task run(type: Exec){
def adb = path + "/platform-tools/adb" def adb = path + "/platform-tools/adb"
commandLine "$adb", 'shell', 'am', 'start', '-n', 'io.anuke.mindustry/mindustry.android.AndroidLauncher' commandLine "$adb", 'shell', 'am', 'start', '-n', 'io.anuke.mindustry/mindustry.android.AndroidLauncher'
} }
if(!project.ext.hasSprites()){
println "Scheduling sprite pack."
run.dependsOn ":tools:pack"
deploy.dependsOn ":tools:pack"
}

View File

@@ -0,0 +1 @@
{version: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:updateBuilding,type:boolean},{name:x,type:float},{name:y,type:float}]}

View File

@@ -0,0 +1 @@
{version: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:updateBuilding,type:boolean},{name:x,type:float},{name:y,type:float}]}

View File

@@ -0,0 +1 @@
{version: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:updateBuilding,type:boolean},{name:x,type:float},{name:y,type:float}]}

View File

@@ -0,0 +1 @@
{version:5,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:updateBuilding,type:boolean},{name:x,type:float},{name:y,type:float}]}

View File

@@ -0,0 +1 @@
{version:5,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:updateBuilding,type:boolean},{name:x,type:float},{name:y,type:float}]}

View File

@@ -0,0 +1 @@
{version:5,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:updateBuilding,type:boolean},{name:x,type:float},{name:y,type:float}]}

View File

@@ -0,0 +1 @@
{version: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:updateBuilding,type:boolean},{name:x,type:float},{name:y,type:float}]}

View File

@@ -0,0 +1 @@
{version:5,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:updateBuilding,type:boolean},{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:payloads,type:arc.struct.Seq<mindustry.world.blocks.payloads.Payload>},{name:plans,type:arc.struct.Queue<mindustry.entities.units.BuildPlan>},{name:rotation,type:float},{name:shield,type:float},{name:spawnedByCore,type:boolean},{name:stack,type:mindustry.type.ItemStack},{name:statuses,type:arc.struct.Seq<mindustry.entities.units.StatusEntry>},{name:team,type:mindustry.game.Team},{name:type,type:mindustry.type.UnitType},{name:updateBuilding,type:boolean},{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:updateBuilding,type:boolean},{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: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:updateBuilding,type:boolean},{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:payloads,type:arc.struct.Seq<mindustry.world.blocks.payloads.Payload>},{name:plans,type:arc.struct.Queue<mindustry.entities.units.BuildPlan>},{name:rotation,type:float},{name:shield,type:float},{name:spawnedByCore,type:boolean},{name:stack,type:mindustry.type.ItemStack},{name:statuses,type:arc.struct.Seq<mindustry.entities.units.StatusEntry>},{name:team,type:mindustry.game.Team},{name:type,type:mindustry.type.UnitType},{name:updateBuilding,type:boolean},{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:updateBuilding,type:boolean},{name:x,type:float},{name:y,type:float}]}

View File

@@ -0,0 +1 @@
{version: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:updateBuilding,type:boolean},{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:payloads,type:arc.struct.Seq<mindustry.world.blocks.payloads.Payload>},{name:plans,type:arc.struct.Queue<mindustry.entities.units.BuildPlan>},{name:rotation,type:float},{name:shield,type:float},{name:spawnedByCore,type:boolean},{name:stack,type:mindustry.type.ItemStack},{name:statuses,type:arc.struct.Seq<mindustry.entities.units.StatusEntry>},{name:team,type:mindustry.game.Team},{name:type,type:mindustry.type.UnitType},{name:updateBuilding,type:boolean},{name:x,type:float},{name:y,type:float}]}

View File

@@ -0,0 +1 @@
{version: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:updateBuilding,type:boolean},{name:x,type:float},{name:y,type:float}]}

View File

@@ -0,0 +1 @@
{version:5,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:updateBuilding,type:boolean},{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:updateBuilding,type:boolean},{name:x,type:float},{name:y,type:float}]}

View File

@@ -0,0 +1 @@
{version: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:updateBuilding,type:boolean},{name:x,type:float},{name:y,type:float}]}

View File

@@ -83,6 +83,10 @@ allprojects{
return "v$buildVersion" return "v$buildVersion"
} }
hasSprites = {
return new File(rootDir, "core/assets/sprites/sprites.atlas").exists()
}
getModifierString = { getModifierString = {
if(versionModifier != "release"){ if(versionModifier != "release"){
return "[${versionModifier.toUpperCase()}]" return "[${versionModifier.toUpperCase()}]"
@@ -383,7 +387,6 @@ project(":annotations"){
dependencies{ dependencies{
implementation 'com.squareup:javapoet:1.12.1' implementation 'com.squareup:javapoet:1.12.1'
implementation "com.github.Anuken.Arc:arc-core:$arcHash" implementation "com.github.Anuken.Arc:arc-core:$arcHash"
implementation files("${System.getProperty('java.home')}/../lib/tools.jar")
} }
} }

View File

Before

Width:  |  Height:  |  Size: 300 B

After

Width:  |  Height:  |  Size: 300 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 1.5 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 1.5 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 415 B

After

Width:  |  Height:  |  Size: 369 B

Binary file not shown.

Before

Width:  |  Height:  |  Size: 365 B

After

Width:  |  Height:  |  Size: 560 B

Binary file not shown.

Before

Width:  |  Height:  |  Size: 1.5 KiB

After

Width:  |  Height:  |  Size: 1.5 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 675 B

After

Width:  |  Height:  |  Size: 1.4 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 1.1 KiB

After

Width:  |  Height:  |  Size: 2.1 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 1.6 KiB

After

Width:  |  Height:  |  Size: 3.1 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 2.3 KiB

After

Width:  |  Height:  |  Size: 4.3 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 819 B

After

Width:  |  Height:  |  Size: 755 B

Binary file not shown.

Before

Width:  |  Height:  |  Size: 688 B

After

Width:  |  Height:  |  Size: 608 B

Binary file not shown.

Before

Width:  |  Height:  |  Size: 868 B

After

Width:  |  Height:  |  Size: 1.2 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 845 B

After

Width:  |  Height:  |  Size: 1.1 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 502 B

After

Width:  |  Height:  |  Size: 623 B

Binary file not shown.

Before

Width:  |  Height:  |  Size: 371 B

After

Width:  |  Height:  |  Size: 381 B

Binary file not shown.

Before

Width:  |  Height:  |  Size: 467 B

After

Width:  |  Height:  |  Size: 660 B

Binary file not shown.

Before

Width:  |  Height:  |  Size: 470 B

After

Width:  |  Height:  |  Size: 661 B

Binary file not shown.

Before

Width:  |  Height:  |  Size: 266 B

After

Width:  |  Height:  |  Size: 329 B

Binary file not shown.

Before

Width:  |  Height:  |  Size: 246 B

After

Width:  |  Height:  |  Size: 307 B

Binary file not shown.

Before

Width:  |  Height:  |  Size: 249 B

After

Width:  |  Height:  |  Size: 311 B

Binary file not shown.

Before

Width:  |  Height:  |  Size: 198 B

After

Width:  |  Height:  |  Size: 232 B

Binary file not shown.

Before

Width:  |  Height:  |  Size: 198 B

After

Width:  |  Height:  |  Size: 218 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 763 B

Binary file not shown.

Before

Width:  |  Height:  |  Size: 683 B

After

Width:  |  Height:  |  Size: 612 B

View File

@@ -13,6 +13,7 @@ link.google-play.description = Google Play store listing
link.f-droid.description = F-Droid 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
link.bug.description = Found one? Report it here
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.
@@ -40,6 +41,11 @@ be.ignore = Ignore
be.noupdates = No updates found. be.noupdates = No updates found.
be.check = Check for updates be.check = Check for updates
mod.featured.dialog.title = Mod Browser (WIP)
mods.browser.selected = Selected mod
mods.browser.add = Install
mods.github.open = View
schematic = Schematic schematic = Schematic
schematic.add = Save Schematic... schematic.add = Save Schematic...
schematics = Schematics schematics = Schematics
@@ -698,6 +704,7 @@ stat.commandlimit = Command Limit
stat.abilities = Abilities stat.abilities = Abilities
stat.canboost = Can Boost stat.canboost = Can Boost
stat.flying = Flying stat.flying = Flying
stat.ammouse = Ammo Use
ability.forcefield = Force Field ability.forcefield = Force Field
ability.repairfield = Repair Field ability.repairfield = Repair Field
@@ -720,7 +727,6 @@ bar.powerlines = Connections: {0}/{1}
bar.items = Items: {0} bar.items = Items: {0}
bar.capacity = Capacity: {0} bar.capacity = Capacity: {0}
bar.unitcap = {0} {1}/{2} bar.unitcap = {0} {1}/{2}
bar.limitreached = [scarlet] {0} / {1}[white] {2}\n[lightgray][[unit disabled]
bar.liquid = Liquid bar.liquid = Liquid
bar.heat = Heat bar.heat = Heat
bar.power = Power bar.power = Power
@@ -737,6 +743,7 @@ 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.buildingdamage = [stat]{0}%[lightgray] building damage
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
@@ -765,6 +772,7 @@ unit.items = items
unit.thousands = k unit.thousands = k
unit.millions = mil unit.millions = mil
unit.billions = b unit.billions = b
unit.pershot = /shot
category.purpose = Purpose category.purpose = Purpose
category.general = General category.general = General
category.power = Power category.power = Power
@@ -832,7 +840,9 @@ setting.chatopacity.name = Chat Opacity
setting.lasersopacity.name = Power Laser Opacity setting.lasersopacity.name = Power Laser Opacity
setting.bridgeopacity.name = Bridge Opacity setting.bridgeopacity.name = Bridge Opacity
setting.playerchat.name = Display Player Bubble Chat setting.playerchat.name = Display Player Bubble Chat
setting.showweather.name = Show Weather Graphics
public.confirm = Do you want to make your game public?\n[accent]Anyone will be able to join your games.\n[lightgray]This can be changed later in Settings->Game->Public Game Visibility. public.confirm = Do you want to make your game public?\n[accent]Anyone will be able to join your games.\n[lightgray]This can be changed later in Settings->Game->Public Game Visibility.
public.confirm.really = If you want to play with friends, use [green]Invite Friend[] instead of a [scarlet]Public server[]!\nAre you sure you want to make your game [scarlet]public[]?
public.beta = Note that beta versions of the game cannot make public lobbies. public.beta = Note that beta versions of the game cannot make public lobbies.
uiscale.reset = UI scale has been changed.\nPress "OK" to confirm this scale.\n[scarlet]Reverting and exiting in[accent] {0}[] seconds... uiscale.reset = UI scale has been changed.\nPress "OK" to confirm this scale.\n[scarlet]Reverting and exiting in[accent] {0}[] seconds...
uiscale.cancel = Cancel & Exit uiscale.cancel = Cancel & Exit
@@ -955,6 +965,7 @@ rules.explosions = Block/Unit Explosion Damage
rules.ambientlight = Ambient Light rules.ambientlight = Ambient Light
rules.weather = Weather rules.weather = Weather
rules.weather.frequency = Frequency: rules.weather.frequency = Frequency:
rules.weather.always = Always
rules.weather.duration = Duration: rules.weather.duration = Duration:
content.item.name = Items content.item.name = Items
@@ -1160,7 +1171,7 @@ block.item-void.name = Item Void
block.liquid-source.name = Liquid Source block.liquid-source.name = Liquid Source
block.liquid-void.name = Liquid Void block.liquid-void.name = Liquid Void
block.power-void.name = Power Void block.power-void.name = Power Void
block.power-source.name = Power Infinite block.power-source.name = Power Source
block.unloader.name = Unloader block.unloader.name = Unloader
block.vault.name = Vault block.vault.name = Vault
block.wave.name = Wave block.wave.name = Wave

View File

@@ -1098,7 +1098,7 @@ block.item-void.name = Item Void
block.liquid-source.name = Liquid Source block.liquid-source.name = Liquid Source
block.liquid-void.name = Liquid Void block.liquid-void.name = Liquid Void
block.power-void.name = Power Void block.power-void.name = Power Void
block.power-source.name = Power Infinite block.power-source.name = Power Source
block.unloader.name = Unloader block.unloader.name = Unloader
block.vault.name = Vault block.vault.name = Vault
block.wave.name = Wave block.wave.name = Wave

View File

@@ -2,8 +2,8 @@ credits.text = Entwickelt von [royal]Anuken[] - [sky]anukendev@gmail.com[]\n\n[g
credits = Danksagungen credits = Danksagungen
contributors = Übersetzer und Mitwirkende contributors = Übersetzer und Mitwirkende
discord = Tritt dem Mindustry-Discord bei! discord = Tritt dem Mindustry-Discord bei!
link.discord.description = Der offizielle Mindustry Discord Server link.discord.description = Der offizielle Mindustry Discord-Server
link.reddit.description = Der Mindustry Subreddit link.reddit.description = Mindustry-Subreddit
link.github.description = Quellcode des Spiels link.github.description = Quellcode des Spiels
link.changelog.description = Liste der Änderungen link.changelog.description = Liste der Änderungen
link.dev-builds.description = Entwicklungs-Builds (instabil) link.dev-builds.description = Entwicklungs-Builds (instabil)
@@ -11,8 +11,9 @@ link.trello.description = Offizielles Trello-Board für geplante Features
link.itch.io.description = itch.io-Seite mit Downloads und der Web-Version des Spiels link.itch.io.description = itch.io-Seite mit Downloads und der Web-Version des Spiels
link.google-play.description = Google Play Store-Seite link.google-play.description = Google Play Store-Seite
link.f-droid.description = F-Droid-Seite link.f-droid.description = F-Droid-Seite
link.wiki.description = Offizelles Mindustry-Wiki link.wiki.description = Offizielles Mindustry-Wiki
link.suggestions.description = Neue Ideen einbringen link.suggestions.description = Neue Ideen einbringen
link.bug.description = Hast du einen Bug gefunden? Melde ihn hier
linkfail = Fehler beim Öffnen des Links!\nDie URL wurde in die Zwischenablage kopiert. linkfail = Fehler beim Öffnen des Links!\nDie URL wurde in die Zwischenablage kopiert.
screenshot = Screenshot gespeichert unter {0} screenshot = Screenshot gespeichert unter {0}
screenshot.invalid = Karte zu groß! Eventuell nicht ausreichend Arbeitsspeicher für Screenshot. screenshot.invalid = Karte zu groß! Eventuell nicht ausreichend Arbeitsspeicher für Screenshot.
@@ -23,7 +24,7 @@ gameover.waiting = [accent]Warte auf neue Karte...
highscore = [accent]Neuer Highscore! highscore = [accent]Neuer Highscore!
copied = Kopiert. copied = Kopiert.
indev.notready = Dieser Teil vom Spiel ist noch unfertig. indev.notready = Dieser Teil vom Spiel ist noch unfertig.
indev.campaign = [accent]Du hast das Ende der Kampagne erreicht![]\n\nMehr gibt es noch nicht. In einem zukünfttigen Update wird interplanetarisches Reisen möglich werden. indev.campaign = [accent]Glückwunsch! Du hast das Ende der Kampagne erreicht![]\n\nMehr gibt es noch nicht. In einem zukünftigen Update wird interplanetarisches Reisen möglich werden.
load.sound = Audio load.sound = Audio
load.map = Karten load.map = Karten
@@ -40,6 +41,12 @@ be.ignore = Ignorieren
be.noupdates = Keine Aktualisierungen gefunden. be.noupdates = Keine Aktualisierungen gefunden.
be.check = Auf Aktualisierungen prüfen be.check = Auf Aktualisierungen prüfen
mod.featured.title = Mod Browser
mod.featured.dialog.title = Mod Browser
mods.browser.selected = Ausgewählter Mod
mods.browser.add = Mod installieren
mods.github.open = Auf GitHub ansehen
schematic = Entwurf schematic = Entwurf
schematic.add = Entwurf speichern... schematic.add = Entwurf speichern...
schematics = Entwürfe schematics = Entwürfe
@@ -69,7 +76,7 @@ stat.delivered = Übertragene Ressourcen:
stat.playtime = Spielzeit:[accent] {0} stat.playtime = Spielzeit:[accent] {0}
stat.rank = Finaler Rang:[accent] {0} stat.rank = Finaler Rang:[accent] {0}
globalitems = [accent]Globale Items globalitems = [accent]Gesamtitems
map.delete = Bist du sicher, dass du die Karte "[accent]{0}[]" löschen möchtest? map.delete = Bist du sicher, dass du die Karte "[accent]{0}[]" löschen möchtest?
level.highscore = Highscore: [accent]{0} level.highscore = Highscore: [accent]{0}
level.select = Level-Auswahl level.select = Level-Auswahl
@@ -99,11 +106,11 @@ preparingconfig = Konfiguration vorbereiten
preparingcontent = Inhalt vorbereiten preparingcontent = Inhalt vorbereiten
uploadingcontent = Inhalt hochladen uploadingcontent = Inhalt hochladen
uploadingpreviewfile = Vorschaudatei hochladen uploadingpreviewfile = Vorschaudatei hochladen
committingchanges = Veränderungen übernehmen committingchanges = Veränderungen werden übernommen
done = Fertig done = Fertig
feature.unsupported = Dein System unsterstützt dieses Feature nicht. feature.unsupported = Dein System unterstützt dieses Feature nicht.
mods.alphainfo = Vergiss nicht, dass Mods in der Alpha sind, und[scarlet] sehr fehlerhaft sein können[].\nMelde alle Probleme an den Mindustry GitHub oder Discord. mods.alphainfo = Vergiss nicht, dass Mods in der Alpha sind und[scarlet] sehr fehlerhaft sein können[].\nMelde alle Probleme auf GitHub oder Discord.
mods = Mods mods = Mods
mods.none = [lightgray]Keine Mods gefunden! mods.none = [lightgray]Keine Mods gefunden!
mods.guide = Modding-Anleitung mods.guide = Modding-Anleitung
@@ -131,13 +138,13 @@ mod.import = Mod importieren
mod.import.file = Datei importieren mod.import.file = Datei importieren
mod.import.github = GitHub-Mod importieren mod.import.github = GitHub-Mod importieren
mod.jarwarn = [scarlet]JAR Mods sind nicht sicher.[]\nInstalliere nur Mods von vertrauenswürdigen Quellen! mod.jarwarn = [scarlet]JAR Mods sind nicht sicher.[]\nInstalliere nur Mods von vertrauenswürdigen Quellen!
mod.item.remove = Dies ist Teil vom [accent] '{0}'[] Mod. Deaktivieren sie diesen Mod, um dies zu entfernen. mod.item.remove = Dies ist Teil vom [accent] '{0}'[] Mod. Deaktiviere diesen Mod, um dies zu entfernen.
mod.remove.confirm = Dieser Mod wird gelöscht. mod.remove.confirm = Dieser Mod wird gelöscht.
mod.author = [lightgray]Autor:[] {0} mod.author = [lightgray]Autor:[] {0}
mod.missing = Dieser Spielstand enthält Mods, welche nicht mehr vorhanden oder aktualisiert wurden. Spielstandfehler könnten passieren. Bist du dir sicher, das du ihn laden möchtest?\n[lightgray]Mods:\n{0} mod.missing = Dieser Spielstand enthält Mods, welche nicht mehr vorhanden sind oder aktualisiert wurden. Spielstandfehler könnten passieren. Bist du dir sicher, dass du ihn laden möchtest?\n[lightgray]Mods:\n{0}
mod.preview.missing = Bevor du diesen Mod hochladen kannst, musst du eine Bildvorschau einbinden.\nLade ein Bild namens[accent] preview.png[] in den Modordner und versuche es nochmal. mod.preview.missing = Bevor du diesen Mod hochladen kannst, musst du eine Bildvorschau einbinden.\nLade ein Bild namens[accent] preview.png[] in den Modordner und versuche es nochmal.
mod.folder.missing = Nur Mods in Ordnerform können in den Workshop hochgeladen werden.\nUm einen Mod in einen Ordner zu konvertieren, extrahiere das Archiv und lösche das alte Archiv danach. Starte dann das Spiel neu oder lade die Mods neu. mod.folder.missing = Nur Mods in Ordnerform können in den Workshop hochgeladen werden.\nUm einen Mod in einen Ordner zu konvertieren, extrahiere das Archiv und lösche das alte Archiv danach. Starte dann das Spiel neu oder lade die Mods neu.
mod.scripts.disable = Ihr Gerät unterstüzt keine Mods mit Scripts. Du musst diese Mods deaktivieren, um spielen zu können. mod.scripts.disable = Ihr Gerät unterstützt keine Mods mit Scripts. Du musst diese Mods deaktivieren, um spielen zu können.
about.button = Info about.button = Info
name = Name: name = Name:
@@ -146,7 +153,7 @@ planetmap = Planetenkarte
launchcore = Kern starten launchcore = Kern starten
filename = Dateiname: filename = Dateiname:
unlocked = Neuer Inhalt freigeschaltet! unlocked = Neuer Inhalt freigeschaltet!
available = Neue Forschung möchlich! available = Neue Forschung möglich
completed = [accent]Abgeschlossen completed = [accent]Abgeschlossen
techtree = Forschung techtree = Forschung
research.legacy = [accent]5.0[] Forschungsdaten gefunden.\nMöchtest du [accent]diese Daten behalten[] oder [accent]sie löschen[] und neu anfangen (empfohlen)? research.legacy = [accent]5.0[] Forschungsdaten gefunden.\nMöchtest du [accent]diese Daten behalten[] oder [accent]sie löschen[] und neu anfangen (empfohlen)?
@@ -170,7 +177,7 @@ server.kicked.serverOutdated = Veralteter Server! Bitte den Host um ein Update!
server.kicked.banned = Du wurdest vom Server verbannt. server.kicked.banned = Du wurdest vom Server verbannt.
server.kicked.typeMismatch = Dieser Server ist nicht mit deinem Buildtyp kompatibel. server.kicked.typeMismatch = Dieser Server ist nicht mit deinem Buildtyp kompatibel.
server.kicked.playerLimit = Dieser Server ist voll. Warte auf einen freien Platz. server.kicked.playerLimit = Dieser Server ist voll. Warte auf einen freien Platz.
server.kicked.recentKick = Du wurdest gerade gekickt.\nWarte bevor du dich wieder verbindest. server.kicked.recentKick = Du wurdest gerade gekickt.\nWarte, bevor du dich wieder verbindest.
server.kicked.nameInUse = Es ist bereits ein Spieler \nmit diesem Namen auf dem Server. server.kicked.nameInUse = Es ist bereits ein Spieler \nmit diesem Namen auf dem Server.
server.kicked.nameEmpty = Dein Name muss mindestens einen Buchstaben oder eine Zahl enthalten. server.kicked.nameEmpty = Dein Name muss mindestens einen Buchstaben oder eine Zahl enthalten.
server.kicked.idInUse = Du bist bereits auf dem Server! Anmeldungen mit zwei Accounts sind nicht gestattet. server.kicked.idInUse = Du bist bereits auf dem Server! Anmeldungen mit zwei Accounts sind nicht gestattet.
@@ -178,7 +185,7 @@ server.kicked.customClient = Der Server akzeptiert keine Custom Builds von Mindu
server.kicked.gameover = Game Over! server.kicked.gameover = Game Over!
server.kicked.serverRestarting = Der Server startet neu. server.kicked.serverRestarting = Der Server startet neu.
server.versions = Deine Version:[accent] {0}[]\nServerversion:[accent] {1}[] server.versions = Deine Version:[accent] {0}[]\nServerversion:[accent] {1}[]
host.info = Der [accent]Server hosten[]-Knopf startet einen Server auf den Ports [scarlet]6567[] und [scarlet]6568.[]\nJeder im gleichen [lightgray]W-Lan oder lokalen Netzwerk[] sollte deinen Server in seiner Serverliste sehen können.\n\nWenn du anderen die Verbindung über deine IP-Adresse ermöglichen willst, musst du [accent]Port-Forwarding[] durchführen.\n\n[lightgray]Hinweis: Falls es Probleme mit der Verbindung im Netzwerk gibt, stelle sicher, dass Mindustry in deinen Firewall-Einstellungen Zugriff auf das lokale Netzwerk hat. host.info = Der [accent]'Server hosten'[]-Knopf startet einen Server auf den Ports [scarlet]6567[] und [scarlet]6568.[]\nJeder im gleichen [lightgray]W-Lan oder lokalen Netzwerk[] sollte deinen Server in seiner Serverliste sehen können.\n\nWenn du anderen die Verbindung über deine IP-Adresse ermöglichen willst, musst du [accent]Port-Forwarding[] durchführen.\n\n[lightgray]Hinweis: Falls es Probleme mit der Verbindung im Netzwerk gibt, stelle sicher, dass Mindustry in deinen Firewall-Einstellungen Zugriff auf das lokale Netzwerk hat.
join.info = Hier kannst du eine [accent]Server-IP[] eingeben, um dich zu verbinden, oder Server im [accent]lokalen Netzwerk[] entdecken und dich mit ihnen verbinden.\nSowohl Spielen über das lokale Netzwerk als auch Spielen über das Internet werden unterstützt.\n\n[lightgray]Hinweis: Es gibt keine globale Serverliste; wenn du dich mit jemandem per IP-Adresse verbinden willst, musst du den Host nach seiner IP-Adresse fragen. join.info = Hier kannst du eine [accent]Server-IP[] eingeben, um dich zu verbinden, oder Server im [accent]lokalen Netzwerk[] entdecken und dich mit ihnen verbinden.\nSowohl Spielen über das lokale Netzwerk als auch Spielen über das Internet werden unterstützt.\n\n[lightgray]Hinweis: Es gibt keine globale Serverliste; wenn du dich mit jemandem per IP-Adresse verbinden willst, musst du den Host nach seiner IP-Adresse fragen.
hostserver = Mehrspieler hosten hostserver = Mehrspieler hosten
invitefriends = Freunde einladen invitefriends = Freunde einladen
@@ -196,8 +203,9 @@ servers.local = Lokale Server
servers.remote = Andere Server servers.remote = Andere Server
servers.global = Community-Server servers.global = Community-Server
servers.disclaimer = Community-Server werden vom Entwickler [accent]nicht[] geprüft.\n\Sie können Inhalte, die nicht für jedes Alter geeignet sind, enthalten.
servers.showhidden = Versteckte Server anzeigen servers.showhidden = Versteckte Server anzeigen
server.shown = Angeziegt server.shown = Angezeigt
server.hidden = Versteckt server.hidden = Versteckt
trace = Spieler verfolgen trace = Spieler verfolgen
@@ -287,7 +295,7 @@ data.import = Daten importieren
data.openfolder = Datenordner öffnen data.openfolder = Datenordner öffnen
data.exported = Daten exportiert. data.exported = Daten exportiert.
data.invalid = Dies sind keine gültigen Spieldaten. data.invalid = Dies sind keine gültigen Spieldaten.
data.import.confirm = Der Import von externen Daten wird [scarlet] alle[] deine gegenwärtigen Spieldaten löschen.\n[accent]Das kann nicht rückgängig gemacht werden![]Sobald der Import abeschlossen ist, wird dein Spiel sofort beendet. data.import.confirm = Der Import von externen Daten wird [scarlet] alle[] deine gegenwärtigen Spieldaten löschen.\n[accent]Das kann nicht rückgängig gemacht werden![]\n\nSobald der Import abgeschlossen ist, wird dein Spiel sofort beendet.
quit.confirm = Willst du wirklich aufhören? quit.confirm = Willst du wirklich aufhören?
quit.confirm.tutorial = Weißt du, was du tust?\nDu kannst das Tutorial unter[accent] Einstellungen->Spiel->Tutorial wiederholen[] erneut spielen. quit.confirm.tutorial = Weißt du, was du tust?\nDu kannst das Tutorial unter[accent] Einstellungen->Spiel->Tutorial wiederholen[] erneut spielen.
loading = [accent]Wird geladen... loading = [accent]Wird geladen...
@@ -298,7 +306,7 @@ cancelbuilding = [accent][[{0}][] um den Plan zu leeren
selectschematic = [accent][[{0}][] zum Auswählen+Kopieren selectschematic = [accent][[{0}][] zum Auswählen+Kopieren
pausebuilding = [accent][[{0}][] um das Bauen zu pausieren pausebuilding = [accent][[{0}][] um das Bauen zu pausieren
resumebuilding = [scarlet][[{0}][] um das Bauen fortzusetzen resumebuilding = [scarlet][[{0}][] um das Bauen fortzusetzen
showui = Bedienflächen versteckt.\nDrücke [accent][[{0}][] um sie wieder anzuzeigen. showui = Bedienflächen versteckt.\nDrücke [accent][[{0}][], um sie wieder anzuzeigen.
wave = [accent]Welle {0} wave = [accent]Welle {0}
wave.cap = [accent]Welle {0}/{1} wave.cap = [accent]Welle {0}/{1}
wave.waiting = Welle in {0} wave.waiting = Welle in {0}
@@ -316,11 +324,11 @@ saveimage = Bild speichern
unknown = Unbekannt unknown = Unbekannt
custom = Benutzerdefiniert custom = Benutzerdefiniert
builtin = Enthalten builtin = Enthalten
map.delete.confirm = Bist du sicher, dass du diese Karte löschen willst? Dies kann nicht rückgänig gemacht werden! map.delete.confirm = Bist du sicher, dass du diese Karte löschen willst? Dies kann nicht rückgängig gemacht werden!
map.random = [accent]Zufällige Karte map.random = [accent]Zufällige Karte
map.nospawn = Diese Karte hat keine Kerne in denen die Spieler beginnen können! Füge einen [royal]blue[] Kern zu dieser Karte im Editor hinzu. map.nospawn = Diese Karte hat keine Kerne, in denen die Spieler beginnen können! Füge einen [royal]orangen[] Kern zu dieser Karte im Editor hinzu.
map.nospawn.pvp = Diese Karte hat keine gegnerischen Kerne in denen Gegner starten können! Füge über den Editor [scarlet] rote[] Kerne zu dieser Karte hinzu. map.nospawn.pvp = Diese Karte hat keine Kerne für die gegnerischen Spieler! Füge über den Editor [scarlet] nicht-orange[] Kerne zu dieser Karte hinzu.
map.nospawn.attack = Diese Karte hat keine gengnerischen Kerne, die Spieler angreifen können! Füge über den Editor [scarlet] rote[] Kerne zu dieser Karte hinzu. map.nospawn.attack = Diese Karte hat keine gegnerischen Kerne, die Spieler angreifen können! Füge über den Editor [scarlet] rote[] Kerne zu dieser Karte hinzu.
map.invalid = Fehler beim Laden der Karte: Beschädigte oder ungültige Kartendatei. map.invalid = Fehler beim Laden der Karte: Beschädigte oder ungültige Kartendatei.
workshop.update = Objekt aktualisieren workshop.update = Objekt aktualisieren
workshop.error = Fehler beim Laden von Workshop-Details: {0} workshop.error = Fehler beim Laden von Workshop-Details: {0}
@@ -333,7 +341,7 @@ missing = Dieses Objekt wurde gelöscht oder verschoben.\n[lightgray]Die Worksho
publishing = [accent]Veröffentlichen... publishing = [accent]Veröffentlichen...
publish.confirm = Willst du das wirklich veröffentlichen?\n\n[lightgray]Vergewissere dich, dass du der Workshop-EULA zugestimmt hast, sonst tauchen deine Objekte nicht auf! publish.confirm = Willst du das wirklich veröffentlichen?\n\n[lightgray]Vergewissere dich, dass du der Workshop-EULA zugestimmt hast, sonst tauchen deine Objekte nicht auf!
publish.error = Fehler beim Veröffentlichen des Objekts: {0} publish.error = Fehler beim Veröffentlichen des Objekts: {0}
steam.error = Fehler beim laden der Steam-Dienste.\nError: {0} steam.error = Fehler beim Laden der Steam-Dienste.\nError: {0}
editor.brush = Pinsel editor.brush = Pinsel
editor.openin = Öffne im Editor editor.openin = Öffne im Editor
@@ -342,11 +350,11 @@ editor.oregen.info = Erze generiert:
editor.mapinfo = Karten-Info editor.mapinfo = Karten-Info
editor.author = Autor: editor.author = Autor:
editor.description = Beschreibung: editor.description = Beschreibung:
editor.nodescription = Eine Karte benötigt eine Beschreibung mit mindestens 4 Buchstaben, bevor sie veröffentlich werden kann. editor.nodescription = Eine Karte benötigt eine Beschreibung mit mindestens 4 Buchstaben, bevor sie veröffentlicht werden kann.
editor.waves = Wellen: editor.waves = Wellen:
editor.rules = Regeln: editor.rules = Regeln:
editor.generation = Generator: editor.generation = Generator:
editor.ingame = Im Spiel Bearbeiten editor.ingame = Im Spiel bearbeiten
editor.publish.workshop = Im Workshop veröffentlichen editor.publish.workshop = Im Workshop veröffentlichen
editor.newmap = Neue Karte editor.newmap = Neue Karte
editor.center = Zur Mitte editor.center = Zur Mitte
@@ -382,7 +390,7 @@ editor.removeunit = Bereich entfernen
editor.teams = Teams editor.teams = Teams
editor.errorload = Fehler beim Laden der Datei:\n[accent]{0} editor.errorload = Fehler beim Laden der Datei:\n[accent]{0}
editor.errorsave = Fehler beim Speichern der Datei:\n[accent]{0} editor.errorsave = Fehler beim Speichern der Datei:\n[accent]{0}
editor.errorimage = Das ist ein Bild, keine Karte. Wechsle nicht den Dateityp und erwarte, dass es funktioniert.\n\nWenn du eine 3.5/build 40-Karte importieren möchtest, benutze den 'Importiere Terrainbild' Knopf im Editor. editor.errorimage = Das ist ein Bild, keine Karte. Wechsle nicht den Dateityp und erwarte, dass es funktioniert.\n\nWenn du eine 'v3.5/build 40'-Karte importieren möchtest, benutze den 'Importiere Terrainbild'-Knopf im Editor.
editor.errorlegacy = Diese Karte ist zu alt und benutzt ein veraltetes Kartenformat, das nicht mehr unterstützt wird. editor.errorlegacy = Diese Karte ist zu alt und benutzt ein veraltetes Kartenformat, das nicht mehr unterstützt wird.
editor.errornot = Dies ist keine Kartendatei. editor.errornot = Dies ist keine Kartendatei.
editor.errorheader = Diese Karte ist entweder nicht gültig oder beschädigt. editor.errorheader = Diese Karte ist entweder nicht gültig oder beschädigt.
@@ -395,9 +403,9 @@ editor.resize = Größe\nanpassen
editor.loadmap = Karte\nladen editor.loadmap = Karte\nladen
editor.savemap = Karte\nspeichern editor.savemap = Karte\nspeichern
editor.saved = Gespeichert! editor.saved = Gespeichert!
editor.save.noname = Deine Karte hat keinen Namen! Setze einen Namen im [accent]Karten Info[] Menu. editor.save.noname = Deine Karte hat keinen Namen! Setze einen Namen im [accent]Karten-Info[]-Menü.
editor.save.overwrite = Deine Karte überschreibt eine built-in Karte! Wähle einen anderen Karten Namen im [accent]'Karten info'[] Menu. editor.save.overwrite = Deine Karte überschreibt eine Standardkarte! Wähle einen anderen Karten Namen im [accent]Karten-Info[]-Menü.
editor.import.exists = [scarlet]Fehler beim Import:[] Ein built-in Karte namens '{0}' existiert bereits! editor.import.exists = [scarlet]Fehler beim Import:[] Ein Standardkarte namens '{0}' existiert bereits!
editor.import = Importieren... editor.import = Importieren...
editor.importmap = Importiere Karte editor.importmap = Importiere Karte
editor.importmap.description = Importiere von einer bestehenden Karte editor.importmap.description = Importiere von einer bestehenden Karte
@@ -432,7 +440,7 @@ toolmode.eraseores = Erze löschen
toolmode.eraseores.description = Löscht nur Erze. toolmode.eraseores.description = Löscht nur Erze.
toolmode.fillteams = Teams ausfüllen toolmode.fillteams = Teams ausfüllen
toolmode.fillteams.description = Füllt Teams aus statt Blöcke. toolmode.fillteams.description = Füllt Teams aus statt Blöcke.
toolmode.drawteams = Teams Zeichnen toolmode.drawteams = Teams zeichnen
toolmode.drawteams.description = Zeichnet Teams statt Blöcke. toolmode.drawteams.description = Zeichnet Teams statt Blöcke.
filters.empty = [lightgray]Keine Filter! Füge einen mit dem unteren Knopf hinzu. filters.empty = [lightgray]Keine Filter! Füge einen mit dem unteren Knopf hinzu.
@@ -463,7 +471,7 @@ filter.option.angle = Winkel
filter.option.amount = Menge filter.option.amount = Menge
filter.option.block = Block filter.option.block = Block
filter.option.floor = Boden filter.option.floor = Boden
filter.option.flooronto = Ziel Boden filter.option.flooronto = Zielboden
filter.option.target = Ziel filter.option.target = Ziel
filter.option.wall = Wand filter.option.wall = Wand
filter.option.ore = Erz filter.option.ore = Erz
@@ -542,12 +550,12 @@ sectors.wave = Welle:
sectors.stored = Gelagert: sectors.stored = Gelagert:
sectors.resume = Weiterspielen sectors.resume = Weiterspielen
sectors.launch = Start sectors.launch = Start
sectors.select = Select sectors.select = Auswählen
sectors.nonelaunch = [lightgray]none (sun) sectors.nonelaunch = [lightgray]none (sun)
sectors.rename = Sektor umbenennen sectors.rename = Sektor umbenennen
sectors.enemybase = [scarlet]Gegnerische Basis sectors.enemybase = [scarlet]Gegnerische Basis
sectors.vulnerable = [scarlet]Angriffsgefährdet sectors.vulnerable = [scarlet]Angriffsgefährdet
sectors.underattack = [scarlet]Wird angegriffen! [accent]{0}% damaged sectors.underattack = [scarlet]Wird angegriffen! [accent]{0}% geschädigt
sectors.survives = [accent]Kann {0} Wellen überleben sectors.survives = [accent]Kann {0} Wellen überleben
sectors.go = Hingehen sectors.go = Hingehen
sector.curcapture = Sektor erfolgreich erobert sector.curcapture = Sektor erfolgreich erobert
@@ -586,22 +594,23 @@ sector.windsweptIslands.name = Windswept Islands
sector.extractionOutpost.name = Extraction Outpost sector.extractionOutpost.name = Extraction Outpost
sector.planetaryTerminal.name = Planetary Launch Terminal sector.planetaryTerminal.name = Planetary Launch Terminal
sector.groundZero.description = Der optimale Ort um anzufangen. Schwache Gegner und weniger Ressourcen.\nSammele so viel Kupfer und Blei wie möglich.\nGeh weiter. sector.groundZero.description = Der optimale Ort, um anzufangen. Schwache Gegner und weniger Ressourcen.\nSammele so viel Kupfer und Blei wie möglich.\nGeh weiter.
sector.frozenForest.description = Auch hier, näher an den Bergen, sind die Sporen. Sogar die niedrigen Temperaturen können sie nicht zurückhalten.\n\nLerne, Strom zu verwenden. Baue Verbrennungsgeneratoren und Reparateure. sector.frozenForest.description = Auch hier, näher an den Bergen, sind die Sporen. Sogar die niedrigen Temperaturen können sie nicht zurückhalten.\n\nLerne, Strom zu verwenden. Baue Verbrennungsgeneratoren und Reparateure.
sector.saltFlats.description = Du befindest dich in der Nähe der Wüste. Hier gibt es nur wenige Ressourcen.\n\nDer Gegner hat hier ein Lager aufgestellt. Zerstöre es. Lasse nichts stehen. sector.saltFlats.description = Du befindest dich in der Nähe der Wüste. Hier gibt es nur wenige Ressourcen.\n\nDer Gegner hat hier ein Lager aufgestellt. Zerstöre es. Lasse nichts stehen.
sector.craters.description = Wasser hat sich hier, in diesem Überbleibsel aus dem alten Krieg, versammelt. Sammele Sand. Stelle Metaglas her. Benutze Wasser, um Bohrer und Geschütze zu kühlen. sector.craters.description = Wasser hat sich hier, in diesem Überbleibsel aus dem alten Krieg, versammelt. Sammele Sand. Stelle Metaglas her. Benutze Wasser, um Bohrer und Geschütze zu kühlen.
sector.ruinousShores.description = Hinter der Wüste ist das Ufer. Es gab hier vor langer Zeit ein Uferabwehrsystem. Heute sind nur noch die einfachsten Abwehrgeschütze vorhanden, der Rest wurde verschrottet.\nBreite dich weiter aus. Finde die verlorenen Technologien wieder. sector.ruinousShores.description = Hinter der Wüste ist das Ufer. Es gab hier vor langer Zeit ein Uferabwehrsystem. Heute sind nur noch die einfachsten Abwehrgeschütze vorhanden, der Rest wurde verschrottet.\nBreite dich weiter aus. Finde die verlorenen Technologien wieder.
sector.stainedMountains.description = Im Landesinneren sind die Berge, noch unversehrt von den Sporen.\nNutze das reichliche vorhandene Titan und lerne, es zu benutzen.\n\nDie Gegner hier sind stärker. Gib ihnen keine Zeit, um ihre stärksten Einheiten zu schicken. sector.stainedMountains.description = Im Landesinneren sind die Berge, noch unversehrt von den Sporen.\nNutze das reichliche vorhandene Titan und lerne, es zu benutzen.\n\nDie Gegner hier sind stärker. Gib ihnen keine Zeit, um ihre stärksten Einheiten zu schicken.
sector.overgrowth.description = Dieser Bereich ist überwuchert, näher an die Quelle der Sporen.\nDer Gegner hat hier einen Außenposten errichtet. Baue Mace-Einheiten. Zerstöre ihn. sector.overgrowth.description = Dieser Bereich ist überwuchert, näher an die Quelle der Sporen.\nDer Gegner hat hier einen Außenposten errichtet. Baue Mace-Einheiten. Zerstöre ihn.
sector.tarFields.description = Der Rand einer Ölproduktionszone, swischen den Bergen und der Wüste. Einer der wenigen Orte mit brauchbaren Ölquellen.\nObwohl er vergessen wurde, hat dieser Ort mächtige Gegnerische Lager in der Nähe. Unterschätze sie nicht.\n\n[lightgray]Erforsche, falls mögloch, die Ölverarbeitung. sector.tarFields.description = Der Rand einer Ölproduktionszone, zwischen den Bergen und der Wüste. Einer der wenigen Orte mit brauchbaren Ölquellen.\nObwohl er vergessen wurde, hat dieser Ort mächtige gegnerische Lager in der Nähe. Unterschätze sie nicht.\n\n[lightgray]Erforsche, falls möglich, die Ölverarbeitung.
sector.desolateRift.description = Eine besonders gefährliche Zone. Viele Ressourcen aber wenig Platz. Hohe Wahrscheinlichkeit, vernichtet zu werden. Verlasse diesen Ort so bald wie möglich. Lass dich nicht durch die langen Abstände zwischen gegnerischen Angriffen täuschen. sector.desolateRift.description = Eine besonders gefährliche Zone. Viele Ressourcen aber wenig Platz. Hohe Wahrscheinlichkeit, vernichtet zu werden. Verlasse diesen Ort so bald wie möglich. Lass dich nicht durch die langen Abstände zwischen gegnerischen Angriffen täuschen.
sector.nuclearComplex.description = Diese Ruine war vor langer Zeit eine Anlage zur Verarbeitung von Thorium.\n[lightgray]Erforsche Thorium und dessen Anwendungen.\n\nDer Gegner ist hier stark vertreten, auf der Suche nach Angreifern. sector.nuclearComplex.description = Diese Ruine war vor langer Zeit eine Anlage zur Verarbeitung von Thorium.\n[lightgray]Erforsche Thorium und dessen Anwendungen.\n\nDer Gegner ist hier stark vertreten und hält nach Angreifern Ausschau.
sector.fungalPass.description = Eine Übergangszone zwischen den Bergen und den niedrigeren, Sporen-Infestierten Gebieten. Hier ist eine kleine gegnerische Basis.\nZerstöre sie.\nBenutze Dagger- und Crawler-Einheiten. Vernichte die beiden Kerne. sector.fungalPass.description = Eine Übergangszone zwischen den Bergen und den niedrigeren, von Sporen befallenen Gebieten. Hier ist eine kleine gegnerische Basis.\nZerstöre sie.\nBenutze Dagger- und Crawler-Einheiten. Vernichte die beiden Kerne.
sector.biomassFacility.description = Die Sporenquelle. Dies ist der Ort, wo sie erforscht und hergestellt wurden.\nErforsche die Technologie, die sich hier versteckt. Stellen Sporen her, um Plastanium und Öl herzustellen.\n\n[lightgray]Als diese Anlage zerstört wurde, wurden die Sporen freigesetzt. Nichts im lokalen Ökosystem konnte so ein eindringliches Lebenwesen bekämpfen. sector.biomassFacility.description = Die Sporenquelle. Dies ist der Ort, wo sie erforscht und hergestellt wurden.\nErforsche die Technologie, die sich hier versteckt. Stellen Sporen her, um Plastanium und Öl herzustellen.\n\n[lightgray]Als diese Anlage zerstört wurde, wurden die Sporen freigesetzt. Nichts im lokalen Ökosystem konnte so ein eindringliches Lebewesen bekämpfen.
sector.windsweptIslands.description = Diese Inseln befinden sich in der Nähe vom Ufer. Manche Aufzeichnungen behaupten, hier seien Fabriken, die [accent]Plastanium[] herstellen können.\n\nWehre dich gegen die gegnerischen Wassereinheiten. Stelle eine Basis auf den Inseln auf. Erforsche diese Fabriken. sector.windsweptIslands.description = Diese Inseln befinden sich in der Nähe vom Ufer. Manche Aufzeichnungen behaupten, hier seien Fabriken, die [accent]Plastanium[] herstellen können.\n\nWehre dich gegen die gegnerischen Wassereinheiten. Stelle eine Basis auf den Inseln auf. Erforsche diese Fabriken.
sector.extractionOutpost.description = Ein Außenposten, der vom Gegner erstellt wurde, um Ressourcen in andere Sektoren zu transportieren.\n\nTrans-Sektorischer Transport ist nötig, um weiter voranzuschreiten. Zerstöre den Posten. Erforsche deren Launchpads. sector.extractionOutpost.description = Ein Außenposten, der vom Gegner erstellt wurde, um Ressourcen in andere Sektoren zu transportieren.\n\nTrans-Sektorischer Transport ist nötig, um weiter voranzuschreiten. Zerstöre den Posten. Erforsche deren Launchpads.
sector.impact0078.description = Here liegen Reste der interplanetarischen Transporteinheit, die dieses Sonnensystem zuerst betreten hat.\n\nRette so viel wie möglich von den Ruinen. Erforsche jede intakte Technologie. sector.impact0078.description = Hier liegen Reste der interplanetarischen Transporteinheit, die dieses Sonnensystem zuerst betreten hat.\n\nRette so viel wie möglich von den Ruinen. Erforsche jede intakte Technologie.
sector.planetaryTerminal.description = Das Endziel.\n\nDiese Uferbasis besitzt ein Gerät, mit dem es möglich ist, Kerne auf andere Planeten zu schicken. Es ist [accent]sehr[] gut beschützt.\n\nStelle Wassereinheiten her. Eliminiere den Gegner so schnell wie möglich. Erforsche das Launchgerät. sector.planetaryTerminal.description = Das Endziel.\n\nDiese Uferbasis besitzt ein Gerät, mit dem es möglich ist, Kerne auf andere Planeten zu schicken. Es ist [accent]sehr[] gut beschützt.\n\nStelle Wassereinheiten her. Eliminiere den Gegner so schnell wie möglich. Erforsche das Launchgerät.
settings.language = Sprache settings.language = Sprache
settings.data = Spieldaten settings.data = Spieldaten
settings.reset = Auf Standard zurücksetzen settings.reset = Auf Standard zurücksetzen
@@ -623,7 +632,6 @@ settings.clearcampaignsaves.confirm = Möchtest du wirklich alle Kampagne-Speich
paused = [accent]< Pausiert > paused = [accent]< Pausiert >
clear = Leeren clear = Leeren
banned = [scarlet]Verbannt banned = [scarlet]Verbannt
unplaceable.sectorcaptured = [scarlet]Erfordert erforderter Sektor
yes = Ja yes = Ja
no = Nein no = Nein
info.title = Info info.title = Info
@@ -692,11 +700,12 @@ stat.speed = Geschwindigkeit
stat.buildspeed = Baugeschwindigkeit stat.buildspeed = Baugeschwindigkeit
stat.minespeed = Abbaugeschwindigkeit stat.minespeed = Abbaugeschwindigkeit
stat.minetier = Abbau-Kraft stat.minetier = Abbau-Kraft
stat.payloadcapacity = Payload Capacity stat.payloadcapacity = Einheitenkapazität
stat.commandlimit = Kommandier-Limit stat.commandlimit = Kommandier-Limit
stat.abilities = Fähigkeiten stat.abilities = Fähigkeiten
stat.canboost = Kann boosten stat.canboost = Kann boosten
stat.flying = Flug stat.flying = Flug
stat.ammouse = Muntionsverbrauch
ability.forcefield = Kraftfeld ability.forcefield = Kraftfeld
ability.repairfield = Heilungsfeld ability.repairfield = Heilungsfeld
@@ -705,7 +714,7 @@ ability.unitspawn = {0} Fabrik
ability.shieldregenfield = Schild-regenerations-Feld ability.shieldregenfield = Schild-regenerations-Feld
ability.movelightning = Bewegungsblitze ability.movelightning = Bewegungsblitze
bar.drilltierreq = Besserer Bohrer Benötigt bar.drilltierreq = Besserer Bohrer benötigt
bar.noresources = Fehlende Ressourcen bar.noresources = Fehlende Ressourcen
bar.corereq = Kern-Basis erforderlich bar.corereq = Kern-Basis erforderlich
bar.drillspeed = Bohrgeschwindigkeit: {0}/s bar.drillspeed = Bohrgeschwindigkeit: {0}/s
@@ -719,7 +728,6 @@ bar.powerlines = Verbindungen: {0}/{1}
bar.items = Items: {0} bar.items = Items: {0}
bar.capacity = Kapazität: {0} bar.capacity = Kapazität: {0}
bar.unitcap = {0} {1}/{2} bar.unitcap = {0} {1}/{2}
bar.limitreached = [scarlet] {0} / {1}[white] {2}\n[lightgray][[Einheit deaktiviert]
bar.liquid = Flüssigkeit bar.liquid = Flüssigkeit
bar.heat = Hitze bar.heat = Hitze
bar.power = Strom bar.power = Strom
@@ -736,6 +744,7 @@ bullet.homing = [stat]zielsuchend
bullet.sapping = [stat]entzieht Lebenspunkte bullet.sapping = [stat]entzieht Lebenspunkte
bullet.shock = [stat]schockend bullet.shock = [stat]schockend
bullet.frag = [stat]explosiv bullet.frag = [stat]explosiv
bullet.buildingdamage = [stat]{0}%[lightgray]Blockschaden
bullet.knockback = [stat]{0}[lightgray] zurückstoßend bullet.knockback = [stat]{0}[lightgray] zurückstoßend
bullet.pierce = [stat]{0}[lightgray]x Durchstechkraft bullet.pierce = [stat]{0}[lightgray]x Durchstechkraft
bullet.infinitepierce = [stat]Durchstechkraft bullet.infinitepierce = [stat]Durchstechkraft
@@ -764,6 +773,7 @@ unit.items = Materialeinheiten
unit.thousands = k unit.thousands = k
unit.millions = Mio unit.millions = Mio
unit.billions = Mrd unit.billions = Mrd
unit.pershot = /Schuss
category.purpose = Beschreibung category.purpose = Beschreibung
category.general = Allgemeines category.general = Allgemeines
category.power = Strom category.power = Strom
@@ -777,7 +787,7 @@ setting.shadows.name = Schatten
setting.blockreplace.name = Automatische Blockvorschläge setting.blockreplace.name = Automatische Blockvorschläge
setting.linear.name = Lineare Filterung setting.linear.name = Lineare Filterung
setting.hints.name = Tipps setting.hints.name = Tipps
setting.flow.name = Ressourcen-Fluss anzeigen [scarlet] (experimentell) setting.flow.name = Ressourcen-Fluss anzeigen
setting.backgroundpause.name = Im Hintergrund pausieren setting.backgroundpause.name = Im Hintergrund pausieren
setting.buildautopause.name = Bauen automatisch pausieren setting.buildautopause.name = Bauen automatisch pausieren
setting.animatedwater.name = Animiertes Wasser setting.animatedwater.name = Animiertes Wasser
@@ -786,7 +796,7 @@ setting.antialias.name = Antialias[lightgray] (Neustart erforderlich)[]
setting.playerindicators.name = Spieler-Indikatoren setting.playerindicators.name = Spieler-Indikatoren
setting.indicators.name = Verbündeten-Indikatoren setting.indicators.name = Verbündeten-Indikatoren
setting.autotarget.name = Auto-Zielauswahl setting.autotarget.name = Auto-Zielauswahl
setting.keyboard.name = Maus+Tastatur Steuerung setting.keyboard.name = Maus+Tastatur-Steuerung
setting.touchscreen.name = Touchscreen-Steuerung setting.touchscreen.name = Touchscreen-Steuerung
setting.fpscap.name = Max. FPS setting.fpscap.name = Max. FPS
setting.fpscap.none = Kein(e) setting.fpscap.none = Kein(e)
@@ -831,13 +841,15 @@ setting.chatopacity.name = Chat-Deckkraft
setting.lasersopacity.name = Power-Laser-Deckkraft setting.lasersopacity.name = Power-Laser-Deckkraft
setting.bridgeopacity.name = Brücken-Deckkraft setting.bridgeopacity.name = Brücken-Deckkraft
setting.playerchat.name = Chat im Spiel anzeigen setting.playerchat.name = Chat im Spiel anzeigen
public.confirm = Willst du dein Spiel öffentlich zugänglich machen?\n[accent]Jeder kann deinem Spiel beitreten.\n[lightgray]Dies kann später in den Einstellung->Spielt->Öffentliches Spiel geändert werden. setting.showweather.name = Wetter anzeigen
public.confirm = Willst du dein Spiel öffentlich zugänglich machen?\n[accent]Jeder kann deinem Spiel beitreten.\n[lightgray]Dies kann später in den Einstellungen->Spiel->Öffentliches Spiel geändert werden.
public.confirm.really = Wenn du mit Freunden spielen willst, drücke [green]Freunde einladen[] statt einen [scarlet]öffentlichen Server[] zu erstellen!\nBist du dir sicher, dass du dein Spiel [scarlet]öffentlich[] machen möchtest?
public.beta = Bemerke: Beta-Versionen des Spiels können keine öffentlichen Spiele machen. public.beta = Bemerke: Beta-Versionen des Spiels können keine öffentlichen Spiele machen.
uiscale.reset = UI-Skalierung wurde geändert.\nDrücke "OK", um diese Skalierung zu bestätigen.\n[scarlet]Zurückkehren und Beenden in[accent] {0}[] Einstellungen... uiscale.reset = UI-Skalierung wurde geändert.\nDrücke "OK", um diese Skalierung zu bestätigen.\n[scarlet]Zurückkehren und Beenden in[accent] {0}[] Einstellungen...
uiscale.cancel = Abbrechen & Beenden uiscale.cancel = Abbrechen & Beenden
setting.bloom.name = Bloom setting.bloom.name = Bloom
keybind.title = Tasten zuweisen keybind.title = Tasten zuweisen
keybinds.mobile = [scarlet]Die meisten Tastenzuweisungen hier funktionieren auf z.B. mobilen Geräten nicht. Nur grundlegende Bewegung wird unterstützt. keybinds.mobile = [scarlet]Die meisten Tastenzuweisungen hier funktionieren auf mobilen Geräten nicht. Nur grundlegende Bewegung wird unterstützt.
category.general.name = Allgemein category.general.name = Allgemein
category.view.name = Ansicht category.view.name = Ansicht
category.multiplayer.name = Mehrspieler category.multiplayer.name = Mehrspieler
@@ -845,7 +857,7 @@ category.blocks.name = Blockauswahl
command.attack = Angreifen command.attack = Angreifen
command.rally = Patrouillieren command.rally = Patrouillieren
command.retreat = Rückzug command.retreat = Rückzug
command.idle = Idle command.idle = Stehen bleiben
placement.blockselectkeys = \n[lightgray]Taste: [{0}, placement.blockselectkeys = \n[lightgray]Taste: [{0},
keybind.respawn.name = Respawn keybind.respawn.name = Respawn
keybind.control.name = Einheit steuern keybind.control.name = Einheit steuern
@@ -888,7 +900,7 @@ keybind.break_block.name = Block zerstören
keybind.deselect.name = Auswahl aufheben keybind.deselect.name = Auswahl aufheben
keybind.pickupCargo.name = Block aufheben keybind.pickupCargo.name = Block aufheben
keybind.dropCargo.name = Block fallen lassen keybind.dropCargo.name = Block fallen lassen
keybind.command.name = Eineiten kommandieren keybind.command.name = Einheiten kommandieren
keybind.shoot.name = Schießen keybind.shoot.name = Schießen
keybind.zoom.name = Zoomen keybind.zoom.name = Zoomen
keybind.menu.name = Menü keybind.menu.name = Menü
@@ -933,7 +945,7 @@ rules.blockdamagemultiplier = Block-Schaden-Multiplikator
rules.unitbuildspeedmultiplier = Baugeschwindigkeit-Einheit Multiplikator rules.unitbuildspeedmultiplier = Baugeschwindigkeit-Einheit Multiplikator
rules.unithealthmultiplier = Lebenspunkte-Einheit Multiplikator rules.unithealthmultiplier = Lebenspunkte-Einheit Multiplikator
rules.unitdamagemultiplier = Schaden-Einheit Multiplikator rules.unitdamagemultiplier = Schaden-Einheit Multiplikator
rules.enemycorebuildradius = Bauverbot Radius druch feindlichen Kern:[lightgray] (Kacheln) rules.enemycorebuildradius = Bauverbot-Radius durch feindlichen Kern:[lightgray] (Kacheln)
rules.wavespacing = Wellen-Abstand:[lightgray] (Sek) rules.wavespacing = Wellen-Abstand:[lightgray] (Sek)
rules.buildcostmultiplier = Bau-Kosten Multiplikator rules.buildcostmultiplier = Bau-Kosten Multiplikator
rules.buildspeedmultiplier = Bau-Schnelligkeit Multiplikator rules.buildspeedmultiplier = Bau-Schnelligkeit Multiplikator
@@ -954,6 +966,7 @@ rules.explosions = Explosionsschaden
rules.ambientlight = Umgebungslicht rules.ambientlight = Umgebungslicht
rules.weather = Wetter rules.weather = Wetter
rules.weather.frequency = Häufigkeit: rules.weather.frequency = Häufigkeit:
rules.weather.always = Immer
rules.weather.duration = Dauer: rules.weather.duration = Dauer:
content.item.name = Materialien content.item.name = Materialien
@@ -1159,7 +1172,7 @@ block.item-void.name = Materialschlucker
block.liquid-source.name = Flüssigkeitsquelle block.liquid-source.name = Flüssigkeitsquelle
block.liquid-void.name = Flüssigkeitsschlucker block.liquid-void.name = Flüssigkeitsschlucker
block.power-void.name = Stromsenke block.power-void.name = Stromsenke
block.power-source.name = Unendliche Stromquelle block.power-source.name = Stromquelle
block.unloader.name = Entlader block.unloader.name = Entlader
block.vault.name = Tresor block.vault.name = Tresor
block.wave.name = Welle block.wave.name = Welle
@@ -1217,7 +1230,7 @@ block.multiplicative-reconstructor.name = Multiplikativer Rekonstrukteur
block.exponential-reconstructor.name = Exponentieller Rekonstrukteur block.exponential-reconstructor.name = Exponentieller Rekonstrukteur
block.tetrative-reconstructor.name = Tetrativer Rekonstrukteur block.tetrative-reconstructor.name = Tetrativer Rekonstrukteur
block.payload-conveyor.name = Einheitenförderband block.payload-conveyor.name = Einheitenförderband
block.payload-router.name = Einheitverteiler block.payload-router.name = Einheitenverteiler
block.disassembler.name = Großer Trenner block.disassembler.name = Großer Trenner
block.silicon-crucible.name = Silizium Schmelztiegel block.silicon-crucible.name = Silizium Schmelztiegel
block.overdrive-dome.name = Beschleunigungs-Maschine block.overdrive-dome.name = Beschleunigungs-Maschine
@@ -1230,7 +1243,7 @@ block.interplanetary-accelerator.name = Interplanetarischer Beschleuniger
block.switch.name = Schalter block.switch.name = Schalter
block.micro-processor.name = Mikroprozessor block.micro-processor.name = Mikroprozessor
block.logic-processor.name = Logikprozessor block.logic-processor.name = Logikprozessor
block.hyper-processor.name = Hyperprocessor block.hyper-processor.name = Hyperprozessor
block.logic-display.name = Logik-Bildschirm block.logic-display.name = Logik-Bildschirm
block.large-logic-display.name = Großer Logik-Bildschirm block.large-logic-display.name = Großer Logik-Bildschirm
block.memory-cell.name = Speicherzelle block.memory-cell.name = Speicherzelle
@@ -1245,83 +1258,87 @@ team.green.name = Grün
team.purple.name = Lila team.purple.name = Lila
hint.skip = Überspringen hint.skip = Überspringen
hint.desktopMove = Drücke [accent][[WASD][] um dich zu bewegen. hint.desktopMove = Drücke [accent][[WASD][], um dich zu bewegen.
hint.zoom = [accent]Scrolle[] um rein oder raus zu zoomen. hint.zoom = [accent]Scrolle[], um rein oder raus zu zoomen.
hint.mine = Bewege dich zum \uf8c4 Kupfererz und [accent]tippe darauf[], um es manuell abzubauen. hint.mine = Bewege dich zum \uf8c4 Kupfererz und [accent]tippe darauf[], um es manuell abzubauen.
hint.desktopShoot = Benutze [accent][[Links-Click][] um zu schießen. hint.desktopShoot = Benutze [accent][[Linksklick][], um zu schießen.
hint.depositItems = Um Materialien in den Kern zu tun, ziehe sie von dir zum Kern. hint.depositItems = Um Materialien in den Kern zu tun, ziehe sie von dir zum Kern.
hint.respawn = Um im Kern zu respawnen, drücke [accent][[V][]. hint.respawn = Um im Kern zu respawnen, drücke [accent][[V][].
hint.respawn.mobile = Du steuerst nun eine Einheit oder einen Block. Um wieder zur normalen Einheit zu werden, [accent]drücke die Abbildung von dir oben links.[] hint.respawn.mobile = Du steuerst nun eine Einheit oder einen Block. Um wieder zur normalen Einheit zu werden, [accent]drücke die Abbildung von dir oben links.[]
hint.desktopPause = Benutze [accent][[Leertaste][] um das Spiel zu pausieren oder entpausieren. hint.desktopPause = Benutze [accent][[Leertaste][], um das Spiel zu pausieren oder entpausieren.
hint.placeDrill = Wähle die \ue85e [accent]Bohrer[]-Kategorie im Menü unten rechts aus, drücke dann auf den \uf870 [accent]Bohrer[] und clicke auf ein Feld mit Kupfererz, um ihn zu platzieren. hint.placeDrill = Wähle die \ue85e [accent]Bohrer[]-Kategorie im Menü unten rechts aus, drücke dann auf den \uf870 [accent]Bohrer[] und klicke auf ein Feld mit Kupfererz, um ihn zu platzieren.
hint.placeDrill.mobile = Wähle die \ue85e[accent]Bohrer[]-Kategorie im Menü unten rechts aus, drücke dann auf den \uf870 [accent]Bohrer[] und clicke auf ein Feld mit Kupfererz, um ihn zu platzieren.\n\nGehe zuletzt auf das \ue800 [accent]Häkchen[] unten rechts, um dies zu bestätigen. hint.placeDrill.mobile = Wähle die \ue85e[accent]Bohrer[]-Kategorie im Menü unten rechts aus, drücke dann auf den \uf870 [accent]Bohrer[] und klicke auf ein Feld mit Kupfererz, um ihn zu platzieren.\n\nGehe zuletzt auf das \ue800 [accent]Häkchen[] unten rechts, um dies zu bestätigen.
hint.placeConveyor = Förderbänder bewegen Materialen zwischen verschiedene Blöcke. Wähle ein \uf896 [accent]Förderband[] aus der \ue814 [accent]Verteilung[]-Kategorie aus.\n\nClicke und bewege deine Maus, um mehrere Förderbänder zu setzen.\n[accent]Scrolle[] um sie zu drehen. hint.placeConveyor = Förderbänder bewegen Materialien zwischen verschiedenen Blöcken. Wähle ein \uf896 [accent]Förderband[] aus der \ue814 [accent]Verteilung[]-Kategorie aus.\n\nKlicke und bewege deine Maus, um mehrere Förderbänder zu setzen.\n[accent]Scrolle[] um sie zu drehen.
hint.placeConveyor.mobile = Förderbänder bewegen Materialen zwischen verschiedene Blöcke. Wähle ein \uf896 [accent]Förderband[] aus der \ue814 [accent]Verteilung[]-Kategorie aus.\n\nHalte deinen Finger eine Sekunde auf dem Bildschirmund bewege ihn dann, um mehrere Förderbänder zu setzen. hint.placeConveyor.mobile = Förderbänder bewegen Materialien zwischen verschiedenen Blöcken. Wähle ein \uf896 [accent]Förderband[] aus der \ue814 [accent]Verteilung[]-Kategorie aus.\n\nHalte deinen Finger eine Sekunde auf dem Bildschirm und bewege ihn dann, um mehrere Förderbänder zu setzen.
hint.placeTurret = Platziere \uf861 [accent]Geschütze[] um deine Basis vor Gegnern zu beschützen.\n\nGeschütze benötigen Munition - in diesem Fall \uf838Kupfer.\nBenutze Bohrer und Förderbänder, um dies zu besorgen. hint.placeTurret = Platziere \uf861 [accent]Geschütze[], um deine Basis vor Gegnern zu beschützen.\n\nGeschütze benötigen Munition - in diesem Fall \uf838Kupfer.\nBenutze Bohrer und Förderbänder, um dies zu besorgen.
hint.breaking = Benutze [accent]Rechts-Click[] und bewege deine Maus, um zu zerstören. hint.breaking = Benutze [accent]Rechtsklick[] und bewege deine Maus, um zu zerstören.
hint.breaking.mobile = Aktiviere den \ue817 [accent]Hammer[] unten rechts and tippe, um Blöcke zu zerstören.\n\nHalte deinen Finger auf dem Bildschirm um eine Fläche auszuwählen. hint.breaking.mobile = Aktiviere den \ue817 [accent]Hammer[] unten rechts und tippe, um Blöcke zu zerstören.\n\nHalte deinen Finger auf dem Bildschirm, um eine Fläche auszuwählen.
hint.research = Nehme den \ue875 [accent]Forschen[]-Knopf um neue Technologien zu erforschen. hint.research = Nehme den \ue875 [accent]Forschen[]-Knopf um neue Technologien zu erforschen.
hint.research.mobile = Nehme den \ue875 [accent]Forschen[]-Knopf im \ue88c [accent]Menü[] um neue Technologien zu erforschen. hint.research.mobile = Nehme den \ue875 [accent]Forschen[]-Knopf im \ue88c [accent]Menü[], um neue Technologien zu erforschen.
hint.unitControl = Halte [accent][[L-STRG][] und [accent]clicke[] um alliierte Einheiten oder Geschütze zu steuern. hint.unitControl = Halte [accent][[L-STRG][] und [accent]klicke[], um alliierte Einheiten oder Geschütze zu steuern.
hint.unitControl.mobile = [accent][Doppel-Clicke[], um alliierte Einheiten oder Geschütze zu steuern. hint.unitControl.mobile = [accent][[Doppelklicke][], um alliierte Einheiten oder Geschütze zu steuern.
hint.launch = Sobald du genug Ressourcen gesammelt hast, kannst du [accent]Starten[], indem du andere Sektoren auf der \ue827 [accent]Karte[] unten rechts auswählst. hint.launch = Sobald du genug Ressourcen gesammelt hast, kannst du [accent]Starten[], indem du andere Sektoren auf der \ue827 [accent]Karte[] unten rechts auswählst.
hint.launch.mobile = Sobald du genug Ressourcen gesammelt hast, kannst du [accent]Starten[], indem du andere Sektoren auf der \ue827 [accent]Karte[] im \ue88c [accent]Menu[] auswählst. hint.launch.mobile = Sobald du genug Ressourcen gesammelt hast, kannst du [accent]Starten[], indem du andere Sektoren auf der \ue827 [accent]Karte[] im \ue88c [accent]Menü[] auswählst.
hint.schematicSelect = Halte [accent][[F][] gedrückt und bewege deine Maus, um Blöcke zu kopieren.\n\nMit [accent][[Mittel-Click][] kannst du einen einzelnen Block kopieren. hint.schematicSelect = Halte [accent][[F][] gedrückt und bewege deine Maus, um Blöcke zu kopieren.\n\nMit [accent][[Mittelklick][] kannst du einen einzelnen Block kopieren.
hint.conveyorPathfind = Halte [accent][[L-STRG][] während du Förderbänder baust, um automatisch einen Weg zu finden. hint.conveyorPathfind = Halte [accent][[L-STRG][] während du Förderbänder baust, um automatisch einen Weg zu finden.
hint.conveyorPathfind.mobile = Aktiviere den \ue844 [accent]Diagonal-Modus[] unten rechts und platziere Förderbänder, um automatisch einen Weg zu generieren. hint.conveyorPathfind.mobile = Aktiviere den \ue844 [accent]Diagonal-Modus[] unten rechts und platziere Förderbänder, um automatisch einen Weg zu generieren.
hint.boost = Halte [accent][[L-Shift][] gedrückt um über Hindernisse zu boosten.\n\nNur manche Bodeneinheiten können das. hint.boost = Halte [accent][[L-Shift][] gedrückt, um über Hindernisse zu boosten.\n\nNur manche Bodeneinheiten können das.
hint.command = Drücke [accent][[G][] um [accent]ähnliche[] Einheiten in Formation zu steuern.\n\nUm Bodeneinheiten zu steuern musst du zuerst eine Bodeneinheite werden. hint.command = Drücke [accent][[G][], um [accent]ähnliche[] Einheiten in Formation zu steuern.\n\nUm Bodeneinheiten zu steuern, musst du zuerst eine Bodeneinheit werden.
hint.command.mobile = [accent][[Doppel-Clicke][] deine Einheit um [accent]ähnliche[] Einheiten in Formation zu steuern. hint.command.mobile = [accent][[Doppelklicke][] deine Einheit, um [accent]ähnliche[] Einheiten in Formation zu steuern.
hint.payloadPickup = Du kannst [accent][[[] drücken, um kleine Einheiten oder Blöcke hochzuheben. hint.payloadPickup = Du kannst [accent][[[] drücken, um kleine Einheiten oder Blöcke hochzuheben.
hint.payloadPickup.mobile = [accent]Halte deinen Finger[] auf eine kleine Einheit oder einen kleinen Block, um ihn aufzuheben. hint.payloadPickup.mobile = [accent]Halte deinen Finger[] auf eine kleine Einheit oder einen kleinen Block, um ihn aufzuheben.
hint.payloadDrop = Drücke [accent]][] um etwas fallen zu lassen. hint.payloadDrop = Drücke [accent]][], um etwas fallen zu lassen.
hint.payloadDrop.mobile = [accent]Halte deinen Finger[] auf einen Freien Ort um eine Einheit oder einen Block da fallen zu lassen. hint.payloadDrop.mobile = [accent]Halte deinen Finger[] auf einen freien Ort, um eine Einheit oder einen Block da fallen zu lassen.
hint.waveFire = [accent]Wellen[]-Geschütze mit Wassermunition löschen automatisch Feuer. hint.waveFire = [accent]Wellen[]-Geschütze mit Wassermunition löschen automatisch Feuer.
hint.generator = \uf879 [accent]Verbrennungsgeneratoren[] verbrennen Kohle und übertragen diesen Strom in angrenzende Blöcke.\n\nDie Reichweite der Stromübertragung kann mit \uf87f [accent]Stromknoten[] erweitert werden. hint.generator = \uf879 [accent]Verbrennungsgeneratoren[] verbrennen Kohle und übertragen diesen Strom in angrenzende Blöcke.\n\nDie Reichweite der Stromübertragung kann mit \uf87f [accent]Stromknoten[] erweitert werden.
hint.guardian = [accent]Boss[]-Einheiten sind gepanzert. Schwache Munition wie [accent]Kupfer[] und [accent]Blei[] sind [scarlet]nicht ausreichend[].\n\nBenutze bessere Geschütze oder \uf835 [accent]Graphit[] als \uf861Duo-/\uf859Salvenmunition um einen Boss zu besiegen. hint.guardian = [accent]Boss[]-Einheiten sind gepanzert. Schwache Munition wie [accent]Kupfer[] und [accent]Blei[] sind [scarlet]nicht effektiv[].\n\nBenutze bessere Geschütze oder \uf835 [accent]Graphit[] als \uf861Duo-/\uf859Salvenmunition um einen Boss zu besiegen.
hint.coreUpgrade = Kerne können aufgerüstet werden, indem man [accent]bessere Kerne über sie platziert[].\n\nPlatziere einen  [accent]Fundament[]-Kern über einen  [accent]Scherben[]-Kern. Stelle sicher, dass ausreichend Platz verfügbar ist.
hint.presetLaunch = Zu grauen [accent]Sektoren[] wie dem [accent]Frozen Forest[] kann man von überall aus hin starten. Es ist nicht nötig, benachbarte Sektoren zu erobern.\n\n[accent]Nummerierte Sektoren[] wie dieser hier sind [accent]optional[].
hint.coreIncinerate = Wenn dem Kern Materialien zugeführt werden, für die er keinen Platz mehr hat, werden diese [accent]verbrannt[].
hint.coopCampaign = Wenn du die [accent]Mehrspielerkampagne[] spielst, werden produzierte Items [accent]zu deinen lokalen Sektoren[] geschickt.\n\nNeuen Erforschungen vom Host werden auch übertragen.
item.copper.description = Wird als Baumaterial oder Munition verwendet. item.copper.description = Wird als Baumaterial oder Munition verwendet.
item.copper.details = Kupfer. Auf Serpulo reichlich vorhanden. Strukturell schwach, solange es nicht verstärkt wird. item.copper.details = Kupfer. Auf Serpulo reichlich vorhanden. Strukturell schwach, solange es nicht verstärkt wird.
item.lead.description = Wird in elektrischen Blöcken oder beim Flüssigkeitstransport verwendet. item.lead.description = Wird in elektrischen Blöcken oder beim Flüssigkeitstransport verwendet.
item.lead.details = Dicht. Träge. Wird sehr oft in Batterien verwendet.\nInfo: Wahrscheinlich giftig für biologische Lebenwesen, obwohl es sowieso nicht mehr viele von denen gibt. item.lead.details = Dicht. Träge. Wird sehr oft in Batterien verwendet.\nInfo: Wahrscheinlich giftig für biologische Lebewesen, obwohl es sowieso nicht mehr viele von denen gibt.
item.metaglass.description = Wird beim Flüssigkeitstransport und -lagerung verwendet. item.metaglass.description = Wird beim Flüssigkeitstransport und -lagerung verwendet.
item.graphite.description = Wird als Munition oder elektrischer Leiter eingesetzt. item.graphite.description = Wird als Munition oder elektrischer Leiter eingesetzt.
item.sand.description = Nützlich für die Herstellung vieler anderer Materialen. item.sand.description = Nützlich für die Herstellung vieler anderer Materialien.
item.coal.description = Kann als Brennstoff oder zur Herstellung anderer Materialen verwendet werden. item.coal.description = Kann als Brennstoff oder zur Herstellung anderer Materialien verwendet werden.
item.coal.details = Scheint versteinerte Pflanzenmasse zu sein, die sich schon lange vor dem Seeding gebildet hat. item.coal.details = Scheint versteinerte Pflanzenmasse zu sein, die sich schon lange vor dem Seeding gebildet hat.
item.titanium.description = Wird im Flüssigkeitsbereich, im Bohrerbereich und für Flugzeuge vielfältig eingesetzt. item.titanium.description = Wird im Flüssigkeitsbereich, im Bohrerbereich und für Flugzeuge vielfältig eingesetzt.
item.thorium.description = Wird als festes Baumaterial oder radioaktiver Kraftstoff verwendet. item.thorium.description = Wird als festes Baumaterial oder radioaktiver Kraftstoff verwendet.
item.scrap.description = Wird in Pulverisierer und Schmelzer zu anderen Materialen bearbeitet. item.scrap.description = Wird in Pulverisierer und Schmelzer zu anderen Materialien bearbeitet.
item.scrap.details = Übriggebliebene Reste alter Gebäude oder Einheiten. item.scrap.details = Übriggebliebene Reste alter Gebäude oder Einheiten.
item.silicon.description = Wird in Solarzellen, komplizierte Elektronik und als zielsuchende Munition verwendet. item.silicon.description = Wird in Solarzellen, komplizierter Elektronik und als zielsuchende Munition verwendet.
item.plastanium.description = Wird für fortgeschrittene Einheiten, Isolation und Munition eingesetzt. item.plastanium.description = Wird für fortgeschrittene Einheiten, Isolation und Munition eingesetzt.
item.phase-fabric.description = Kann in Elektronik und selbstreparierende Blöcke verwendet werden. item.phase-fabric.description = Kann in Elektronik und selbstreparierende Blöcke verwendet werden.
item.surge-alloy.description = Wird in sehr fortgeschrittenen Waffen und Abwehrsystemen benutzt. item.surge-alloy.description = Wird in sehr fortgeschrittenen Waffen und Abwehrsystemen benutzt.
item.spore-pod.description = Wird zur Umwandlung in Öl, Sprengstoff und Kraftstoff verwendet. item.spore-pod.description = Wird zur Umwandlung in Öl, Sprengstoff und Kraftstoff verwendet.
item.spore-pod.details = Sporen. Wahrscheinlich ein künstlich erschaffenes Lebenwesen. Geben giftige Gase für andere Lebenwesen ab. Sehr invasiv. Unter bestimmten Bedingungen sehr brennbar. item.spore-pod.details = Sporen. Wahrscheinlich ein künstlich erschaffenes Lebewesen. Geben giftige Gase für andere Lebewesen ab. Sehr invasiv. Unter bestimmten Bedingungen sehr brennbar.
item.blast-compound.description = Wird in Bomben oder als explosive Munition verwendet. item.blast-compound.description = Wird in Bomben oder als explosive Munition verwendet.
item.pyratite.description = Kann in Verbrennungsgeneratoren oder als brennende Munition verbrannt werden. item.pyratite.description = Kann in Verbrennungsgeneratoren oder als brennende Munition verbrannt werden.
liquid.water.description = Wird üblicherweise zum Kühlen von Maschinen und zur Müllverarbeitung verwendet. liquid.water.description = Wird üblicherweise zum Kühlen von Maschinen und zur Müllverarbeitung verwendet.
liquid.slag.description = Kann in Trennern verfeinert oder als Waffe gegen Gegner verwendet werden. liquid.slag.description = Kann in Trennern verfeinert oder als Waffe gegen Gegner verwendet werden.
liquid.oil.description = Used in advanced material production and as incendiary ammunition. liquid.oil.description = Wird in fortgeschrittener Materialgewinnung und als brennende Munition verwendet.
liquid.cryofluid.description = Used as coolant in reactors, turrets and factories. Wird als Kühlung in Geschütze, Fabriken oder Reaktoren verwendet. liquid.cryofluid.description = Wird als Kühlung in Geschützen, Fabriken oder Reaktoren verwendet.
block.resupply-point.description = Füllt Einheiten in der Nähe mit Kupfermunition wieder auf. Nicht mit Einheiten kompatibel, die Strom benötigen. block.resupply-point.description = Füllt Einheiten in der Nähe mit Kupfermunition wieder auf. Nicht mit Einheiten kompatibel, die Strom benötigen.
block.armored-conveyor.description = Bewegt Materialen foran. Materialen können von der Seite nicht auf das Förderband. block.armored-conveyor.description = Bewegt Materialien voran. Materialien können von der Seite nicht auf das Förderband.
block.illuminator.description = Eine Lichtquelle. block.illuminator.description = Eine Lichtquelle.
block.message.description = Speichert eine Nachricht, die genutzt wird, um mit Verbündeten zu kommunizieren. block.message.description = Speichert eine Nachricht, die genutzt wird, um mit Verbündeten zu kommunizieren.
block.graphite-press.description = Komprimiert Kohle zu Graphit. block.graphite-press.description = Komprimiert Kohle zu Graphit.
block.multi-press.description = Komprimiert Kohle zu Graphit. Braucht für die Kühlung Wasser. block.multi-press.description = Komprimiert Kohle zu Graphit. Braucht für die Kühlung Wasser.
block.silicon-smelter.description = Stellt aus Sand und Kohle Silizium her. block.silicon-smelter.description = Stellt aus Sand und Kohle Silizium her.
block.kiln.description = Schmelzt Sand und Blei zu Metaglass. block.kiln.description = Schmelzt Sand und Blei zu Metaglas.
block.plastanium-compressor.description = Produziert Plastanium aus Öl und Titan. block.plastanium-compressor.description = Produziert Plastanium aus Öl und Titan.
block.phase-weaver.description = Produziert Phasengewebe aus Thorium und Sand. block.phase-weaver.description = Produziert Phasengewebe aus Thorium und Sand.
block.alloy-smelter.description = Verschmilzt Titan, Blei, Silizium und Kupfer zu einer Stromstoßlegierung. block.alloy-smelter.description = Verschmilzt Titan, Blei, Silizium und Kupfer zu einer Stromstoßlegierung.
block.cryofluid-mixer.description = Verarbeitet Wasser mit Titan zu einer Kryoflüssigkeit, die viel effizienter kühlt. block.cryofluid-mixer.description = Verarbeitet Wasser mit Titan zu einer Kryoflüssigkeit, die viel effizienter kühlt.
block.blast-mixer.description = Stellt aus Sporen und Pyratit eine explosive Mischung her. block.blast-mixer.description = Stellt aus Sporen und Pyratit eine explosive Mischung her.
block.pyratite-mixer.description = Vermischt Kohle, Blei und Sand zu hochentzündlichem Pyratit. block.pyratite-mixer.description = Vermischt Kohle, Blei und Sand zu hochentzündlichem Pyratit.
block.melter.description = Erhitzt Schrott um Schlacke zu erhalten. block.melter.description = Erhitzt Schrott, um Schlacke zu erhalten.
block.separator.description = Trennt Schlacke in seine Bestandteile. block.separator.description = Trennt Schlacke in seine Bestandteile.
block.spore-press.description = Komprimiert Sporen-Pods zu Öl. block.spore-press.description = Komprimiert Sporen-Pods zu Öl.
block.pulverizer.description = Zertrümmert Schrott zu Sand. block.pulverizer.description = Zertrümmert Schrott zu Sand.
@@ -1354,24 +1371,24 @@ block.force-projector.description = Erzeugt ein sechseckiges Kraftfeld um sich h
block.shock-mine.description = Greift Gegner mit Lichtbögen an, wenn sie über sie laufen. block.shock-mine.description = Greift Gegner mit Lichtbögen an, wenn sie über sie laufen.
block.conveyor.description = Bewegt Materialien vorwärts. block.conveyor.description = Bewegt Materialien vorwärts.
block.titanium-conveyor.description = Bewegt Materialien vorwärts, aber schneller als ein normales Förderband. block.titanium-conveyor.description = Bewegt Materialien vorwärts, aber schneller als ein normales Förderband.
block.plastanium-conveyor.description = Bewegt Materialen in Gruppen.\nNimmt hinten Materialien an und gibt sie vorne in drei Richtungen aus. Erfordert für maximale Effizienz mehrere Ein- und Ausgänge. block.plastanium-conveyor.description = Bewegt Materialien in Gruppen.\nNimmt hinten Materialien an und gibt sie vorne in drei Richtungen aus. Erfordert für maximale Effizienz mehrere Ein- und Ausgänge.
block.junction.description = Fungiert als Brücke zwischen zwei kreuzenden Förderbändern. block.junction.description = Fungiert als Brücke zwischen zwei kreuzenden Förderbändern.
block.bridge-conveyor.description = Transportiert Materialien über Terrain oder über Blöcke. block.bridge-conveyor.description = Transportiert Materialien über Terrain oder über Blöcke.
block.phase-conveyor.description = Transportiert Materialien sofort über Terrain oder über Blöcke. Höhere Reichweite als Brückenförderbänder, braucht aber Strom. block.phase-conveyor.description = Transportiert Materialien sofort über Terrain oder über Blöcke. Höhere Reichweite als Brückenförderbänder, braucht aber Strom.
block.sorter.description = Sortiert Materialien. Wenn ein Gegenstand der Auswahl entspricht, wird er vorne herausgegeben. Andernfalls wird er links oder rechts ausgegeben. block.sorter.description = Sortiert Materialien. Wenn ein Gegenstand der Auswahl entspricht, wird er vorne herausgegeben. Andernfalls wird er links oder rechts ausgegeben.
block.inverted-sorter.description = Wie ein normaler Sortierer, aber gibt das ausgewählte Material seitwärts aus. block.inverted-sorter.description = Wie ein normaler Sortierer, aber gibt das ausgewählte Material seitwärts aus.
block.router.description = Verteilt Materialen auf bis zu drei Richtungen. block.router.description = Verteilt Materialien auf bis zu drei Richtungen.
block.router.details = Ein nötiges Übel. Es is nicht empfehlenswert, ihn neben Fabriken zu setzen, da er sich dort verstopfen kann. block.router.details = Ein nötiges Übel. Es ist nicht empfehlenswert, ihn neben Fabriken zu setzen, da er sich dort verstopfen kann.
block.distributor.description = Verteilt Materialen auf bis zu sieben Richtungen. block.distributor.description = Verteilt Materialien auf bis zu sieben Richtungen.
block.overflow-gate.description = Gibt Materialen nur zu den Seiten heraus, wenn der fordere Ausgang blockiert ist. Kann nicht neben anderen Überlauf- oder Unterlauftoren verwendet werden. block.overflow-gate.description = Gibt Materialien nur zu den Seiten heraus, wenn der fordere Ausgang blockiert ist. Kann nicht neben anderen Überlauf- oder Unterlauftoren verwendet werden.
block.underflow-gate.description = Das Gegenteil eines Überlauftors. Gibt Materialen nur nach vorne heraus, wenn die Seiten blockiert sind. Kann nicht neben anderen Überlauf- oder Unterlauftoren verwendet werden. block.underflow-gate.description = Das Gegenteil eines Überlauftors. Gibt Materialien nur nach vorne heraus, wenn die Seiten blockiert sind. Kann nicht neben anderen Überlauf- oder Unterlauftoren verwendet werden.
block.mass-driver.description = Ein Transportblock mit sehr hoher Reichweite. Sammelt mehrere Materialien und schießt sie zu einem verbundenen Massenbeschleuniger. block.mass-driver.description = Ein Transportblock mit sehr hoher Reichweite. Sammelt mehrere Materialien und schießt sie zu einem verbundenen Massenbeschleuniger.
block.mechanical-pump.description = Eine Pumpe, die keinen Strom benötigt. block.mechanical-pump.description = Eine Pumpe, die keinen Strom benötigt.
block.rotary-pump.description = Eine Pumpe, die Strom verbraucht. block.rotary-pump.description = Eine Pumpe, die Strom verbraucht.
block.thermal-pump.description = Eine Pumpe. block.thermal-pump.description = Eine Pumpe.
block.conduit.description = Transportiert Flüssigkeiten. Wird mit Extraktoren, Pumpen oder anderen Kanälen benutzt. block.conduit.description = Transportiert Flüssigkeiten. Wird mit Extraktoren, Pumpen oder anderen Kanälen benutzt.
block.pulse-conduit.description = Transportiert Flüssigkeiten. Transportiert Flüssigkeiten schneller und speichert mehr als ein Leitungsrohr. block.pulse-conduit.description = Transportiert Flüssigkeiten. Transportiert Flüssigkeiten schneller und speichert mehr als ein Leitungsrohr.
block.plated-conduit.description = Transportiert Flüssigkeiten. Nimmt keine Flüssigkeiten von der Seite an.\nHat keine Leks. block.plated-conduit.description = Transportiert Flüssigkeiten. Nimmt keine Flüssigkeiten von der Seite an.\nHat keine Lecks.
block.liquid-router.description = Verteilt Flüssigkeiten auf bis zu drei Richtungen. Speicher außerdem eine kleine Menge an Flüssigkeit. block.liquid-router.description = Verteilt Flüssigkeiten auf bis zu drei Richtungen. Speicher außerdem eine kleine Menge an Flüssigkeit.
block.liquid-tank.description = Speichert eine große Menge an Flüssigkeiten. Ähnlich wie ein Flüssigkeitsverteiler. block.liquid-tank.description = Speichert eine große Menge an Flüssigkeiten. Ähnlich wie ein Flüssigkeitsverteiler.
block.liquid-junction.description = Fungiert als Brücke über zwei kreuzende Kanäle. block.liquid-junction.description = Fungiert als Brücke über zwei kreuzende Kanäle.
@@ -1385,37 +1402,37 @@ block.battery.description = Speichert Strom, solange ein Überschuss besteht, un
block.battery-large.description = Speichert Strom, solange ein Überschuss besteht, und gibt ihn bei Knappheit ab, solange Kapazität vorhanden ist. Speichert mehr Strom als eine normale Batterie. block.battery-large.description = Speichert Strom, solange ein Überschuss besteht, und gibt ihn bei Knappheit ab, solange Kapazität vorhanden ist. Speichert mehr Strom als eine normale Batterie.
block.combustion-generator.description = Generiert Strom, indem Kohle oder andere entzündliche Materialien verbrannt werden. block.combustion-generator.description = Generiert Strom, indem Kohle oder andere entzündliche Materialien verbrannt werden.
block.thermal-generator.description = Erzeugt an heißen Orten große Mengen Strom. block.thermal-generator.description = Erzeugt an heißen Orten große Mengen Strom.
block.steam-generator.description = Wandelt mit endzündlichen Materialen Wasser zu Wasserdampf um und benutzt diesen dann, um Strom zu generieren. block.steam-generator.description = Wandelt mit entzündlichen Materialien Wasser zu Wasserdampf um und benutzt diesen dann, um Strom zu generieren.
block.differential-generator.description = Erzeugt große Mengen an Energie. Nutzt den Temperaturunterschied zwischen Kryofluid und brennendem Pyratit. block.differential-generator.description = Erzeugt große Mengen an Energie. Nutzt den Temperaturunterschied zwischen Kryoflüssigkeit und brennendem Pyratit.
block.rtg-generator.description = Ein Radioisotopengenerator, der aus radioaktivem Zerfall Energie herstellt. block.rtg-generator.description = Ein Radioisotopengenerator, der aus radioaktivem Zerfall Energie herstellt.
block.solar-panel.description = Erzeugt kleine Mengen an Strom aus Sonnenenergie. block.solar-panel.description = Erzeugt kleine Mengen an Strom aus Sonnenenergie.
block.solar-panel-large.description = Erzeugt kleine Mengen an Strom aus Sonnenenergie. Effizienter als eine normale Solarzelle. block.solar-panel-large.description = Erzeugt kleine Mengen an Strom aus Sonnenenergie. Effizienter als eine normale Solarzelle.
block.thorium-reactor.description = Erzeugt riesige Mengen Strom aus Thorium. Benötigt konstante Kühlung. Explodiert gewaltsam, wenn unzureichende Kühlung vorhanden ist. block.thorium-reactor.description = Erzeugt riesige Mengen Strom aus Thorium. Benötigt konstante Kühlung. Explodiert gewaltsam, wenn unzureichende Kühlung vorhanden ist.
block.impact-reactor.description = Ein Generator, der bei höchster Effizienz enorme Mengen an Leistung erzeugen kann. Erfordert eine erhebliche Leistungsaufnahme, um den Prozess zu starten. block.impact-reactor.description = Ein Generator, der bei höchster Effizienz enorme Mengen an Leistung erzeugen kann. Erfordert eine erhebliche Leistungsaufnahme, um den Prozess zu starten.
block.mechanical-drill.description = Ein günstiger Bohrer. Wenn er auf Erz gesetzt wird, baut er unbegrenzt das Erz mit geringer Geschwindigkeit ab. Kann nur einfach Ressourcen abbauen. block.mechanical-drill.description = Ein günstiger Bohrer. Wenn er auf Erz gesetzt wird, baut er unbegrenzt das Erz mit geringer Geschwindigkeit ab. Kann nur einfach Ressourcen abbauen.
block.pneumatic-drill.description = Ein verbesserter Bohrer, der schneller ist und in der Lage ist, härtere Erze abzubauen, indem er von Luftdruck gebrauch macht. block.pneumatic-drill.description = Ein verbesserter Bohrer, der schneller ist und in der Lage ist, härtere Erze abzubauen, indem er von Luftdruck Gebrauch macht.
block.laser-drill.description = Erlaubt es, durch Lasertechnologie noch schneller zu bohren, benötigt aber Strom. Erlaubt zusätzlich das Abbauen von radioaktivem Thorium. block.laser-drill.description = Erlaubt es, durch Lasertechnologie noch schneller zu bohren, benötigt aber Strom. Erlaubt zusätzlich das Abbauen von radioaktivem Thorium.
block.blast-drill.description = Der ultimative Bohrer. Benötigt große Mengen an Strom. block.blast-drill.description = Der ultimative Bohrer. Benötigt große Mengen an Strom.
block.water-extractor.description = Extrahiert Wasser aus dem Boden. Verwende ihn, wenn es keinen See in der Nähe gibt. block.water-extractor.description = Extrahiert Wasser aus dem Boden. Verwende ihn, wenn es keinen See in der Nähe gibt.
block.cultivator.description = Kultiviert winzige Mengen atmosphärischer Mikrosporen in Sporen-Pods. block.cultivator.description = Kultiviert winzige Mengen atmosphärischer Mikrosporen in Sporen-Pods.
block.cultivator.details = Zurückgewonnene Technologie. Wird benutzt, um große Mengen Biomasse so effizient wie möglich herzustellen. Wahrscheinlich der ehemaliger Inkbator der Sporen, die Serpulo heute bedecken. block.cultivator.details = Zurückgewonnene Technologie. Wird benutzt, um große Mengen Biomasse so effizient wie möglich herzustellen. Wahrscheinlich der ehemaliger Inkubator der Sporen, die Serpulo heute bedecken.
block.oil-extractor.description = Verwendet große Mengen an Strom, Sand und Wasser um Öl zu extrahieren. block.oil-extractor.description = Verwendet große Mengen an Strom, Sand und Wasser, um Öl zu extrahieren.
block.core-shard.description = Kern der Basis. Einmal zerstört, ist jeglicher Kontakt zum Sektor verloren. block.core-shard.description = Kern der Basis. Einmal zerstört, ist jeglicher Kontakt zum Sektor verloren.
block.core-shard.details = The erste Version. Kompakt. Selbstduplizierend. Mit Einwmalraketen ausgestattet. Nicht für Interplanetarische Reisen geeignet. block.core-shard.details = Die erste Version. Kompakt. Selbstduplizierend. Mit Einmalraketen ausgestattet. Nicht für Interplanetarische Reisen geeignet.
block.core-foundation.description = Kern der Basis. Besser gepanzert. Speichert mehr Ressourcen. block.core-foundation.description = Kern der Basis. Besser gepanzert. Speichert mehr Ressourcen.
block.core-foundation.details = Die zeite Version. block.core-foundation.details = Die zweite Version.
block.core-nucleus.description = Kern der Basis. Sehr gut gepanzert. Speichert enorme Mengen an Ressourcen. block.core-nucleus.description = Kern der Basis. Sehr gut gepanzert. Speichert enorme Mengen an Ressourcen.
block.core-nucleus.details = Die dritte und letzte Version. block.core-nucleus.details = Die dritte und letzte Version.
block.vault.description = Speichert eine große Menge an Materialien pro Typ. Ein[lightgray] Entlader[] kann verwendet werden, um Materialien auszuladen. block.vault.description = Speichert eine große Menge an Materialien pro Typ. Ein[lightgray] Entlader[] kann verwendet werden, um Materialien auszuladen.
block.container.description = Speichert eine kleine Menge an Materialien pro Typ. Ein[lightgray] Entlader[] kann verwendet werden, um Materialien auszuladen. block.container.description = Speichert eine kleine Menge an Materialien pro Typ. Ein[lightgray] Entlader[] kann verwendet werden, um Materialien auszuladen.
block.unloader.description = Entlädt Materialien aus einem Block. block.unloader.description = Entlädt Materialien aus einem Block.
block.launch-pad.description = Startet Materialen in andere Sektoren. block.launch-pad.description = Startet Materialien in andere Sektoren.
block.duo.description = Schießt auf Gegner. block.duo.description = Schießt auf Gegner.
block.scatter.description = Ein mittelgroßer Anti-Luft-Turm. Sprüht Blei- oder Schrottklumpen auf feindliche Lufteinheiten. block.scatter.description = Ein mittelgroßer Anti-Luft-Turm. Sprüht Blei- oder Schrottklumpen auf feindliche Lufteinheiten.
block.scorch.description = Verbrennt alle Bodenfeinde in der Nähe. Hochwirksam im Nahbereich. block.scorch.description = Verbrennt alle Bodenfeinde in der Nähe. Hochwirksam im Nahbereich.
block.hail.description = Schießt kleine Geschosse auf weit entfernte Gegner. block.hail.description = Schießt kleine Geschosse auf weit entfernte Gegner.
block.wave.description = Schießt Flüssigkeiten auf Gegner. Löscht Feuer automatisch, wenn Wasser aks Munition verwendet wird. block.wave.description = Schießt Flüssigkeiten auf Gegner. Löscht Feuer automatisch, wenn Wasser als Munition verwendet wird.
block.lancer.description = Läd sich auf und schießt kräftige Laserstrahlen auf Feinde. block.lancer.description = Lädt sich auf und schießt kräftige Laserstrahlen auf Feinde.
block.arc.description = Schießt Lichtbögen in Richtung des Gegners. block.arc.description = Schießt Lichtbögen in Richtung des Gegners.
block.swarmer.description = Schießt zielsuchende Raketenschwärme ab. block.swarmer.description = Schießt zielsuchende Raketenschwärme ab.
block.salvo.description = Schießt Schüsse in Salven ab. block.salvo.description = Schießt Schüsse in Salven ab.
@@ -1423,16 +1440,16 @@ block.fuse.description = Schießt drei starke Strahlen mit kurzer Reichweite ab.
block.ripple.description = Schießt mehrere Schüsse gleichzeitig auf weit entfernte Gegner. block.ripple.description = Schießt mehrere Schüsse gleichzeitig auf weit entfernte Gegner.
block.cyclone.description = Schießt explodierende Geschosse auf Gegner. block.cyclone.description = Schießt explodierende Geschosse auf Gegner.
block.spectre.description = Schießt große, panzerbrechende Kugeln auf Luft- und Bodenziele. block.spectre.description = Schießt große, panzerbrechende Kugeln auf Luft- und Bodenziele.
block.meltdown.description = Läd sich auf und schießt einen starken, durchgängigen Laser auf Gegner. Braucht Kühlung. block.meltdown.description = Lädt sich auf und schießt einen starken, durchgängigen Laser auf Gegner. Braucht Kühlung.
block.foreshadow.description = Schießt einen eingizen Schuss mit einem einzigen Ziel über eine erstaunlich große Distanz. block.foreshadow.description = Schießt einen einzigen Schuss mit einem einzigen Ziel über eine erstaunlich große Distanz.
block.repair-point.description = Heilt durchgehend die nächste befreundete, beschädigte Einheit in der Umgebung. block.repair-point.description = Heilt durchgehend die nächste befreundete, beschädigte Einheit in der Umgebung.
block.segment.description = Beschädigt und zerstört gegnerische Projektile. Laser werden nicht anvisiert. block.segment.description = Beschädigt und zerstört gegnerische Projektile. Laser werden nicht anvisiert.
block.parallax.description = Benutzt einen Traktorstrahl, um Gegner heranzuziehen und sie dabei anzugreifen. block.parallax.description = Benutzt einen Traktorstrahl, um Gegner heranzuziehen und sie dabei anzugreifen.
block.tsunami.description = Schießt mit einem kräftgem Strahl aus Flüssigkeit auf Gegner. Löscht Feuer automatisch, wenn Wasser aks Munition verwendet wird. block.tsunami.description = Schießt mit einem kräftigen Strahl aus Flüssigkeit auf Gegner. Löscht Feuer automatisch, wenn Wasser als Munition verwendet wird.
block.silicon-crucible.description = Benutzt Pyratit als Hitzequelle, um aus Sand und Kohle Silizium herzustellen. Die Effizienz wird an heißen Orten erhöht. block.silicon-crucible.description = Benutzt Pyratit als Hitzequelle, um aus Sand und Kohle Silizium herzustellen. Die Effizienz wird an heißen Orten erhöht.
block.disassembler.description = Trennt Schlacke in winzige Mengen exotischer Mineralien, verliert dafür aber an Effizienz. Kann Thorium herstellen. block.disassembler.description = Trennt Schlacke in winzige Mengen exotischer Mineralien, verliert dafür aber an Effizienz. Kann Thorium herstellen.
block.overdrive-dome.description = Erhöht die Geschwindigkeit von nahegelegenen Blöcken. \nBenötigt Phasengewebe und Silizium. block.overdrive-dome.description = Erhöht die Geschwindigkeit von nahegelegenen Blöcken. \nBenötigt Phasengewebe und Silizium.
block.payload-conveyor.description = Bewegt größere Objeke, zum Beispiel Einheiten. block.payload-conveyor.description = Bewegt größere Objekte, zum Beispiel Einheiten.
block.payload-router.description = Verteilt Einheiten auf bis zu drei Richtungen. block.payload-router.description = Verteilt Einheiten auf bis zu drei Richtungen.
block.command-center.description = Steuert Einheiten mit verschiedenen Befehlen. block.command-center.description = Steuert Einheiten mit verschiedenen Befehlen.
block.ground-factory.description = Stellt Bodeneinheiten her. Einheiten können einfach so verwendet oder in einem Rekonstrukteur verbessert werden. block.ground-factory.description = Stellt Bodeneinheiten her. Einheiten können einfach so verwendet oder in einem Rekonstrukteur verbessert werden.
@@ -1450,7 +1467,7 @@ block.memory-cell.description = Speichert Informationen für einen Prozessor.
block.memory-bank.description = Speichert Informationen für einen Prozessor. Hohe Kapazität. block.memory-bank.description = Speichert Informationen für einen Prozessor. Hohe Kapazität.
block.logic-display.description = Zeigt mithilfe eines Prozessors Beliebiges an. block.logic-display.description = Zeigt mithilfe eines Prozessors Beliebiges an.
block.large-logic-display.description = Zeigt mithilfe eines Prozessors Beliebiges an. block.large-logic-display.description = Zeigt mithilfe eines Prozessors Beliebiges an.
block.interplanetary-accelerator.description = Ein riesen Railgun-Turm, der mithilfe des Elektromagnetismuses Kerne auf die nötige Geschwindigkeit bringt, um interplanetarisches Reisen zu ermöglichen. block.interplanetary-accelerator.description = Ein Riesen-Railgun-Turm, der mithilfe des Elektromagnetismus Kerne auf die nötige Geschwindigkeit bringt, um interplanetarisches Reisen zu ermöglichen.
unit.dagger.description = Schießt normale Kugeln auf alle Feinde in der Nähe. unit.dagger.description = Schießt normale Kugeln auf alle Feinde in der Nähe.
unit.mace.description = Schießt Feuer auf alle Gegner in der Nähe. unit.mace.description = Schießt Feuer auf alle Gegner in der Nähe.
@@ -1475,7 +1492,7 @@ unit.eclipse.description = Feuert zwei durchdringende Laser und einen Flaksperrf
unit.mono.description = Baut Automatisch Blei und Kupfer ab. Dieses wird in den Kern gebracht. unit.mono.description = Baut Automatisch Blei und Kupfer ab. Dieses wird in den Kern gebracht.
unit.poly.description = Baut zerstörte Blöcke wieder auf und hilft anderen Einheiten beim Bauen. unit.poly.description = Baut zerstörte Blöcke wieder auf und hilft anderen Einheiten beim Bauen.
unit.mega.description = Heilt automatisch beschädigte Blöcke. Kann kleine Blöcke oder Bodeneinheiten tragen. unit.mega.description = Heilt automatisch beschädigte Blöcke. Kann kleine Blöcke oder Bodeneinheiten tragen.
unit.quad.description = Wirft große Bomben auf Bodenziele ab, welche Gegnern schaden und eingene Blöcke heilen. Kann Bodeneinheiten tragen. unit.quad.description = Wirft große Bomben auf Bodenziele ab, welche Gegnern schaden und einige Blöcke heilen. Kann Bodeneinheiten tragen.
unit.oct.description = Schützt mithilfe eines regenerierenden Schildes andere Einheiten. Kann die meisten Bodeneinheiten tragen. unit.oct.description = Schützt mithilfe eines regenerierenden Schildes andere Einheiten. Kann die meisten Bodeneinheiten tragen.
unit.risso.description = Schießt ein Sperrfeuer aus Raketen und Kugeln auf alle Gegner in der Nähe. unit.risso.description = Schießt ein Sperrfeuer aus Raketen und Kugeln auf alle Gegner in der Nähe.
unit.minke.description = Schießt Geschosse und Kugeln auf Feinde. unit.minke.description = Schießt Geschosse und Kugeln auf Feinde.

View File

@@ -13,6 +13,7 @@ link.google-play.description = Ver en Google Play Store
link.f-droid.description = Página de F-Droid del juego link.f-droid.description = Página de F-Droid del juego
link.wiki.description = Wiki oficial de Mindustry link.wiki.description = Wiki oficial de Mindustry
link.suggestions.description = Sugerir nuevas funciones link.suggestions.description = Sugerir nuevas funciones
link.bug.description = ¿Encontraste un error? Puedes reportarlo aquí
linkfail = ¡Error al abrir el enlace!\nLa URL ha sido copiada a su portapapeles. linkfail = ¡Error al abrir el enlace!\nLa URL ha sido copiada a su portapapeles.
screenshot = Captura de pantalla guardada en {0} screenshot = Captura de pantalla guardada en {0}
screenshot.invalid = Mapa demasiado grande, no hay suficiente memoria para la captura de pantalla. screenshot.invalid = Mapa demasiado grande, no hay suficiente memoria para la captura de pantalla.
@@ -33,12 +34,18 @@ load.system = Sistema
load.mod = Mods load.mod = Mods
load.scripts = Scripts load.scripts = Scripts
be.update = Una nueva e innovadora versión disponible: be.update = Hay una nueva versión disponible:
be.update.confirm = ¿Descargar y reiniciar ahora? be.update.confirm = ¿Descargar y reiniciar ahora?
be.updating = Actualizando... be.updating = Actualizando...
be.ignore = Ignorar be.ignore = Ignorar
be.noupdates = No se encontraron actualizaciones. be.noupdates = No se encontraron actualizaciones.
be.check = Revisando actualizaciones be.check = Buscar actualizaciones
mod.featured.title = Explorador de mods
mod.featured.dialog.title = Explorador de Mods
mods.browser.selected = Mod seleccionado
mods.browser.add = Installar Mod
mods.github.open = Abrir en Github
schematic = Plantilla schematic = Plantilla
schematic.add = Guardar plantilla... schematic.add = Guardar plantilla...
@@ -54,7 +61,7 @@ schematic.copy.import = Importar desde el portapapeles.
schematic.shareworkshop = Compartir en el Steam Workshop schematic.shareworkshop = Compartir en el Steam Workshop
schematic.flip = [accent][[{0}][]/[accent][[{1}][]: Girar plantilla schematic.flip = [accent][[{0}][]/[accent][[{1}][]: Girar plantilla
schematic.saved = Plantilla guardada. schematic.saved = Plantilla guardada.
schematic.delete.confirm = Esta plantilla será completamente borrada. schematic.delete.confirm = Se borrará ésta plantilla.
schematic.rename = Renombrar plantilla schematic.rename = Renombrar plantilla
schematic.info = {0}x{1}, {2} bloques schematic.info = {0}x{1}, {2} bloques
schematic.disabled = [scarlet]Plantillas desactivadas.[]\nNo puedes usar plantillas en este [accent]mapa[] o [accent]servidor. schematic.disabled = [scarlet]Plantillas desactivadas.[]\nNo puedes usar plantillas en este [accent]mapa[] o [accent]servidor.
@@ -75,12 +82,12 @@ level.highscore = Puntuación más alta: [accent]{0}
level.select = Selección de nivel level.select = Selección de nivel
level.mode = Modo de juego: level.mode = Modo de juego:
coreattack = < ¡El núcleo está bajo ataque! > coreattack = < ¡El núcleo está bajo ataque! >
nearpoint = [[ [scarlet]ABANDONA EL PUNTO DE APARICIÓN INMEDIATAMENTE[] ]\nAniquilación inminente nearpoint = [[ [scarlet]ABANDONA EL PUNTO DE APARICIÓN INMEDIATAMENTE[] ]\nRiesgo de aniquilación inminente
database = Base de datos database = Base de datos
savegame = Guardar Partida savegame = Guardar Partida
loadgame = Cargar Partida loadgame = Cargar Partida
joingame = Unirse a la Partida joingame = Unirse a Partida
customgame = Partida personalizada customgame = Crear Partida
newgame = Nueva Partida newgame = Nueva Partida
none = <no hay> none = <no hay>
minimap = Minimapa minimap = Minimapa
@@ -103,7 +110,7 @@ committingchanges = Confirmando Cambios
done = Hecho done = Hecho
feature.unsupported = Tu dispositivo no es compatible con esta función. feature.unsupported = Tu dispositivo no es compatible con esta función.
mods.alphainfo = Ten en cuenta que los mods estan en versión Alpha, y[scarlet] pueden tener varios problemas[].\nReporta cualquier error que encuentres en la página de GitHub de Mindustry o Discord. mods.alphainfo = Ten en cuenta que los mods estan en fase Alpha, y[scarlet] pueden tener varios errores[].\nReporta cualquier error que encuentres en la página de GitHub de Mindustry.
mods = Mods mods = Mods
mods.none = [lightgray]¡No se encontraron Mods! mods.none = [lightgray]¡No se encontraron Mods!
mods.guide = Guía de Modding mods.guide = Guía de Modding
@@ -180,9 +187,9 @@ server.kicked.serverRestarting = Se esta reiniciando el servidor.
server.versions = Tu versión:[accent] {0}[]\nVersión del servidor:[accent] {1}[] server.versions = Tu versión:[accent] {0}[]\nVersión del servidor:[accent] {1}[]
host.info = El botón [accent]host[] crea un servidor en el puerto [scarlet]6567[]. \nCualquier persona en la misma [lightgray]wifi []o [lightgray]red local[] debería poder ver tu servidor en la lista de servidores.\n\nSi quieres que cualquier persona se pueda conectar de cualquier lugar mediante IP, se requiere [accent]asignación de puertos[].\n\n[lightgray]Nota: Si alguien experimenta problemas conectándose a tu partida LAN, asegúrate de permitir a Mindustry acceso a tu red local mediante la configuración de tu firewall. host.info = El botón [accent]host[] crea un servidor en el puerto [scarlet]6567[]. \nCualquier persona en la misma [lightgray]wifi []o [lightgray]red local[] debería poder ver tu servidor en la lista de servidores.\n\nSi quieres que cualquier persona se pueda conectar de cualquier lugar mediante IP, se requiere [accent]asignación de puertos[].\n\n[lightgray]Nota: Si alguien experimenta problemas conectándose a tu partida LAN, asegúrate de permitir a Mindustry acceso a tu red local mediante la configuración de tu firewall.
join.info = Aquí, puedes escribir la [accent]IP de un servidor[] para conectarte, o descubrir servidores en tu [accent]red local[] para conectarte.\nTambién se puede jugar multijugador en redes LAN y WAN.\n\n[lightgray]Nota: No hay una lista automática global de servidores; si quieres conectarte por IP, tendrás que preguntarle al anfitrión por la IP. join.info = Aquí, puedes escribir la [accent]IP de un servidor[] para conectarte, o descubrir servidores en tu [accent]red local[] para conectarte.\nTambién se puede jugar multijugador en redes LAN y WAN.\n\n[lightgray]Nota: No hay una lista automática global de servidores; si quieres conectarte por IP, tendrás que preguntarle al anfitrión por la IP.
hostserver = Crear Servidor hostserver = Abrir Partida
invitefriends = Invitar Amigos invitefriends = Invitar Amigos
hostserver.mobile = Crear\nPartida hostserver.mobile = Abrir\nPartida
host = Servidor host = Servidor
hosting = [accent]Abriendo servidor... hosting = [accent]Abriendo servidor...
hosts.refresh = Actualizar hosts.refresh = Actualizar
@@ -225,7 +232,7 @@ confirmvotekick = ¿Estás de acuerdo en expulsar este jugador?
confirmunban = ¿Quieres desbanear a este jugador? confirmunban = ¿Quieres desbanear a este jugador?
confirmadmin = ¿Quieres hacer administrador a este jugador? confirmadmin = ¿Quieres hacer administrador a este jugador?
confirmunadmin = ¿Quieres quitar los permisos de administrador a este jugador? confirmunadmin = ¿Quieres quitar los permisos de administrador a este jugador?
joingame.title = Unirse a la partida joingame.title = Unirse a Partida
joingame.ip = IP: joingame.ip = IP:
disconnect = Desconectado. disconnect = Desconectado.
disconnect.error = Error en la conexión. disconnect.error = Error en la conexión.
@@ -317,22 +324,22 @@ saveimage = Guardar Imagen
unknown = Desconocido unknown = Desconocido
custom = Personalizado custom = Personalizado
builtin = Incorporado builtin = Incorporado
map.delete.confirm = ¿Estás seguro de querer borrar este mapa? ¡Recuerda que está acción no se puede deshacer! map.delete.confirm = ¿Quieres borrar este mapa? ¡Recuerda que esta acción no se puede deshacer!
map.random = [accent]Mapa Aleatorio map.random = [accent]Mapa Aleatorio
map.nospawn = ¡Este mapa no tiene ningún núcleo en que pueda aparecer el jugador! Agrega un núcleo[accent] naranja[] al mapa con el editor. map.nospawn = ¡Este mapa no tiene ningún núcleo en que pueda aparecer el jugador! Agrega un núcleo[accent] naranja[] al mapa con el editor.
map.nospawn.pvp = ¡Este mapa no tiene ningún núcleo enemigo para que aparezca el jugador! Añade un núcleo[scarlet] "de otro color"[] a este mapa en el editor. map.nospawn.pvp = ¡Este mapa no tiene ningún núcleo enemigo para que aparezcan otros jugadores! Añade un núcleo[scarlet] "de otro color"[] a este mapa en el editor.
map.nospawn.attack = ¡Este mapa no tiene núcleos a los que los jugadores deban atacar! Añade núcleos[scarlet] rojos[] a este mapa en el editor. map.nospawn.attack = ¡Este mapa no tiene núcleos a los que los jugadores deban atacar! Añade núcleos[scarlet] rojos[] a este mapa en el editor.
map.invalid = Error cargando el mapa: archivo corrupto o inválido. map.invalid = Error cargando el mapa: archivo corrupto o inválido.
workshop.update = Actualizar artículo workshop.update = Actualizar artículo
workshop.error = Error al obtener detalles del Steam Workshop: {0} workshop.error = Error al obtener detalles del Steam Workshop: {0}
map.publish.confirm = ¿Estás seguro de que deseas publicar este mapa?\n\n[lightgray]¡Asegúrese de aceptar primero el EULA del Steam Workshop, o sus mapas no aparecerán! map.publish.confirm = ¿Deseas publicar este mapa?\n\n[lightgray]¡Asegúrate de aceptar primero el EULA del Steam Workshop, o tus mapas no aparecerán!
workshop.menu = Seleccione lo que le gustaría hacer con este artículo. workshop.menu = Selecciona lo que quieres hacer con este artículo.
workshop.info = Información del artículo workshop.info = Información del artículo
changelog = Lista de cambios (optional): changelog = Lista de cambios (optional):
eula = EULA de Steam eula = EULA de Steam
missing = Este artículo ha sido movido o eliminado.\n[lightgray]La lista del taller ahora se ha desvinculado automáticamente. missing = Este artículo ha sido movido o eliminado.\n[lightgray]La lista del Workshop se ha desvinculado automáticamente.
publishing = [accent]Publicando... publishing = [accent]Publicando...
publish.confirm = ¿Estás seguro de que quieres publicar esto?\n\n[lightgray]¡Asegúrese de aceptar primero el EULA del Steam Workshop, o sus artículos no aparecerán! publish.confirm = ¿Estás seguro de que quieres publicar esto?\n\n[lightgray]¡Asegúrate de aceptar primero el EULA del Steam Workshop, o tus artículos no aparecerán!
publish.error = Error publicando el artículo: {0} publish.error = Error publicando el artículo: {0}
steam.error = Error al inicializar los servicios de Steam.\nError: {0} steam.error = Error al inicializar los servicios de Steam.\nError: {0}
@@ -477,7 +484,7 @@ width = Ancho:
height = Alto: height = Alto:
menu = Menú menu = Menú
play = Jugar play = Jugar
campaign = Campaña campaign = Continuar Campaña
load = Cargar load = Cargar
save = Guardar save = Guardar
fps = FPS: {0} fps = FPS: {0}
@@ -832,11 +839,12 @@ setting.chatopacity.name = Opacidad del Chat
setting.lasersopacity.name = Opacidad del Laser de Nodos de Energía setting.lasersopacity.name = Opacidad del Laser de Nodos de Energía
setting.bridgeopacity.name = Opacidad de Puentes Transportadores setting.bridgeopacity.name = Opacidad de Puentes Transportadores
setting.playerchat.name = Mostrar el chat de burbuja setting.playerchat.name = Mostrar el chat de burbuja
setting.showweather.name = Efectos visuales climáticos
public.confirm = ¿Quieres hacer pública tu partida?\n[lightgray]Esto se puede cambiar más tarde en "Configuración->Juego->Visibilidad pública de la partida". public.confirm = ¿Quieres hacer pública tu partida?\n[lightgray]Esto se puede cambiar más tarde en "Configuración->Juego->Visibilidad pública de la partida".
public.beta = Recuerda que no puedes crear partidas públicas en las versiones beta del juego. public.beta = Recuerda que no puedes crear partidas públicas en las versiones beta del juego.
uiscale.reset = La escala de la interfaz ha sido modificada.\nPulsa "OK" para conservar esta escala.\n[scarlet]Se desharán los cambios automáticamente en [accent] {0}[] segundos... uiscale.reset = La escala de la interfaz ha sido modificada.\nPulsa "OK" para conservar esta escala.\n[scarlet]Se desharán los cambios automáticamente en [accent] {0}[] segundos...
uiscale.cancel = Cancelar y Salir uiscale.cancel = Cancelar y Salir
setting.bloom.name = Desenfoque de movimiento setting.bloom.name = Desenfoque de iluminación
keybind.title = Cambiar accesos de teclado keybind.title = Cambiar accesos de teclado
keybinds.mobile = [scarlet]Los accesos del teclado aquí mostrados no estan disponible en Móviles o Tablets. Solo aceptan movimiento básico. keybinds.mobile = [scarlet]Los accesos del teclado aquí mostrados no estan disponible en Móviles o Tablets. Solo aceptan movimiento básico.
category.general.name = General category.general.name = General
@@ -912,12 +920,12 @@ keybind.zoom_minimap.name = Zoom del minimapa
mode.help.title = Descripción de modos mode.help.title = Descripción de modos
mode.survival.name = Supervivencia mode.survival.name = Supervivencia
mode.survival.description = El modo normal. Recursos limitados y oleadas automáticas. mode.survival.description = El modo normal. Recursos limitados y oleadas automáticas.
mode.sandbox.name = Modo Libre mode.sandbox.name = Modo libre
mode.sandbox.description = Recursos ilimitados y sin temporizador para las oleadas. mode.sandbox.description = Recursos ilimitados y sin temporizador para las oleadas.
mode.editor.name = Editor mode.editor.name = Editor
mode.pvp.name = JcJ mode.pvp.name = JcJ
mode.pvp.description = Pelea contra otros jugadores localmente. mode.pvp.description = Pelea contra otros jugadores localmente.
mode.attack.name = Ataque mode.attack.name = Batalla
mode.attack.description = No hay oleadas, el objetivo es destruir la base enemiga. mode.attack.description = No hay oleadas, el objetivo es destruir la base enemiga.
mode.custom = Normas personalizadas mode.custom = Normas personalizadas
@@ -1197,7 +1205,7 @@ block.surge-wall.name = Muro de Sobretensión
block.surge-wall-large.name = Muro de Sobretensión grande block.surge-wall-large.name = Muro de Sobretensión grande
block.cyclone.name = Cyclone block.cyclone.name = Cyclone
block.fuse.name = Fuse block.fuse.name = Fuse
block.shock-mine.name = Mina electrizante block.shock-mine.name = Mina eléctrica
block.overdrive-projector.name = Proyector de Aceleración block.overdrive-projector.name = Proyector de Aceleración
block.force-projector.name = Proyector de Escudo block.force-projector.name = Proyector de Escudo
block.arc.name = Arc block.arc.name = Arc
@@ -1282,8 +1290,10 @@ hint.generator = Los \uf879[accent]Generadores de combustión[] querman carbón
hint.guardian = Los [accent]Guardianes[] poseen una robusta armadura. Municiones débiles como el [accent]Cobre[] o el [accent]Plomo[] no son [scarlet]effectivas[] contra él.\n\nUsa torretas de mayor categoría o por ejemplo, munición de \uf835[accent]Grafito[] \uf861Duo/\uf859 en torretas Salvo para derribar a los Guardianes. hint.guardian = Los [accent]Guardianes[] poseen una robusta armadura. Municiones débiles como el [accent]Cobre[] o el [accent]Plomo[] no son [scarlet]effectivas[] contra él.\n\nUsa torretas de mayor categoría o por ejemplo, munición de \uf835[accent]Grafito[] \uf861Duo/\uf859 en torretas Salvo para derribar a los Guardianes.
hint.coreUpgrade = Los núcleos se pueden mejorar [accent]construyendo núcleos de mayor calidad encima[].\n\nColoca un  núcleo [accent]Foundation[] sobre el  núcleo [accent]Shard[]. Asegúrate de que no hay obstáculos cerca. hint.coreUpgrade = Los núcleos se pueden mejorar [accent]construyendo núcleos de mayor calidad encima[].\n\nColoca un  núcleo [accent]Foundation[] sobre el  núcleo [accent]Shard[]. Asegúrate de que no hay obstáculos cerca.
hint.presetLaunch = Las zonas de aterrizaje de los [accent]sectores grises[], como el [accent]Bosque Congelado[], son accesibles desde cualquier lugar. No requieren capturar sectores adyacentes.\n\nLos [accent]sectores numerados[], como este, son [accent]opcionales[]. hint.presetLaunch = Las zonas de aterrizaje de los [accent]sectores grises[], como el [accent]Bosque Congelado[], son accesibles desde cualquier lugar. No requieren capturar sectores adyacentes.\n\nLos [accent]sectores numerados[], como este, son [accent]opcionales[].
hint.coreIncinerate = Tras completar la capacidad máxima de almacenamiento en el núcleo para un tipo de objeto, cualquier recurso adicional de ese tipo que reciba el núcleo será [accent]incinerado[].
hint.coopCampaign = Sí estás jugando el modo [accent]campaña en multijugador[], los objetos producidos en el mapa actual también se enviarán [accent]a los sectores locales de cada jugador[].\n\nCualquier nueva investigación tecnológica realizada por el anfitrión también se desbloqueará para los demás jugadores.
item.copper.description = Un útil material de estructura. Usado en todo tipo de bloques. item.copper.description = Un práctico material de estructura. Usado en todo tipo de bloques.
item.copper.details = Cobre. Metal anormalmente abundante en Serpulo. Estructuralmente débil a menos que sea reforzado. item.copper.details = Cobre. Metal anormalmente abundante en Serpulo. Estructuralmente débil a menos que sea reforzado.
item.lead.description = Un material básico. Usado en electrónicos y transferencia de líquidos. item.lead.description = Un material básico. Usado en electrónicos y transferencia de líquidos.
item.lead.details = Denso. Inerte. Extensamente usado en baterías.\nNota: Suele ser tóxico para la mayoría de formas de vida biológicas. Aunque ya no quedan muchas de esas por aquí. item.lead.details = Denso. Inerte. Extensamente usado en baterías.\nNota: Suele ser tóxico para la mayoría de formas de vida biológicas. Aunque ya no quedan muchas de esas por aquí.
@@ -1453,7 +1463,7 @@ block.memory-cell.description = Almacena información para los procesadores lóg
block.memory-bank.description = Almacena información para los procesadores lógicos. Alta capacidad. block.memory-bank.description = Almacena información para los procesadores lógicos. Alta capacidad.
block.logic-display.description = Muestra gráficos arbitrarios desde un procesador lógico. block.logic-display.description = Muestra gráficos arbitrarios desde un procesador lógico.
block.large-logic-display.description = También muestra gráficos arbitrarios desde un procesador lógico. block.large-logic-display.description = También muestra gráficos arbitrarios desde un procesador lógico.
block.interplanetary-accelerator.description = Una torre de proyección electromagnética masiva. Puede acelerar los núcleos hasta la velocidad necesaria para su desplegación interplanetaria. block.interplanetary-accelerator.description = Una torre de proyección electromagnética masiva. Acelera núcleos hasta la velocidad necesaria para escapar del campo gravitatorio del planeta, habilitando el despliegue interplanetario.
unit.dagger.description = Dispara proyectiles básicos a enemigos cercanos. unit.dagger.description = Dispara proyectiles básicos a enemigos cercanos.
unit.mace.description = Lanza torrentes de llamas a enemigos cercanos. unit.mace.description = Lanza torrentes de llamas a enemigos cercanos.

View File

@@ -1098,7 +1098,7 @@ block.item-void.name = Item Void
block.liquid-source.name = Liquid Source block.liquid-source.name = Liquid Source
block.liquid-void.name = Liquid Void block.liquid-void.name = Liquid Void
block.power-void.name = Power Void block.power-void.name = Power Void
block.power-source.name = Power Infinite block.power-source.name = Power Source
block.unloader.name = Unloader block.unloader.name = Unloader
block.vault.name = Vault block.vault.name = Vault
block.wave.name = Wave block.wave.name = Wave

View File

@@ -1098,7 +1098,7 @@ block.item-void.name = Item Void
block.liquid-source.name = Liquid Source block.liquid-source.name = Liquid Source
block.liquid-void.name = Liquid Void block.liquid-void.name = Liquid Void
block.power-void.name = Power Void block.power-void.name = Power Void
block.power-source.name = Power Infinite block.power-source.name = Power Source
block.unloader.name = Unloader block.unloader.name = Unloader
block.vault.name = Vault block.vault.name = Vault
block.wave.name = Wave block.wave.name = Wave

View File

@@ -38,6 +38,12 @@ be.ignore = Ignorer
be.noupdates = Aucune mise à jour trouvée. be.noupdates = Aucune mise à jour trouvée.
be.check = Vérifiez les mises à jour be.check = Vérifiez les mises à jour
mod.featured.title = Explorateur de mods
mod.featured.dialog.title = Explorateur de Mods
mods.browser.selected = Mod sélectionné
mods.browser.add = Installer le mod
mods.github.open = Ouvrir au Github
schematic = Schéma schematic = Schéma
schematic.add = Sauvegarder le schéma... schematic.add = Sauvegarder le schéma...
schematics = Schémas schematics = Schémas

View File

@@ -1098,7 +1098,7 @@ block.item-void.name = Item Void
block.liquid-source.name = Liquid Source block.liquid-source.name = Liquid Source
block.liquid-void.name = Liquid Void block.liquid-void.name = Liquid Void
block.power-void.name = Power Void block.power-void.name = Power Void
block.power-source.name = Power Infinite block.power-source.name = Power Source
block.unloader.name = Unloader block.unloader.name = Unloader
block.vault.name = Vault block.vault.name = Vault
block.wave.name = Wave block.wave.name = Wave

View File

@@ -13,6 +13,7 @@ link.google-play.description = Google Play Store
link.f-droid.description = Daftar katalog F-Droid link.f-droid.description = Daftar katalog F-Droid
link.wiki.description = Wiki Mindustry resmi link.wiki.description = Wiki Mindustry resmi
link.suggestions.description = Saran fitur baru link.suggestions.description = Saran fitur baru
link.bug.description = Menemukan bug? Laporkan di sini
linkfail = Gagal membuka tautan!\nURL disalin ke papan ke papan klip. linkfail = Gagal membuka tautan!\nURL disalin ke papan ke papan klip.
screenshot = Tangkapan layar disimpan di {0} screenshot = Tangkapan layar disimpan di {0}
screenshot.invalid = Peta terlalu besar, tidak cukup memori untuk menangkap layar. screenshot.invalid = Peta terlalu besar, tidak cukup memori untuk menangkap layar.
@@ -40,6 +41,12 @@ be.ignore = Abaikan
be.noupdates = Tidak ada pembaruan yang ditemukan. be.noupdates = Tidak ada pembaruan yang ditemukan.
be.check = Cek versi baru be.check = Cek versi baru
mod.featured.title = Browser mod
mod.featured.dialog.title = Browser Mod
mods.browser.selected = Mod yang Dipilih
mods.browser.add = Unduh Mod
mods.github.open = Buka di GitHub
schematic = Skema schematic = Skema
schematic.add = Menyimpan skema... schematic.add = Menyimpan skema...
schematics = Kumpulan skema schematics = Kumpulan skema
@@ -196,6 +203,7 @@ servers.local = Server Lokal
servers.remote = Server Jarak Jauh (Simpanan) servers.remote = Server Jarak Jauh (Simpanan)
servers.global = Server Komunitas servers.global = Server Komunitas
servers.disclaimer = Server komunitas [accent]tidak[] dimiliki atau diatur oleh pengembang.\n\nServer dapat berisi konten buatan pemain lain yang mungkin tidak sesuai untuk semua umur.
servers.showhidden = Tampilkan Server Tersembunyi servers.showhidden = Tampilkan Server Tersembunyi
server.shown = Ditampilkan server.shown = Ditampilkan
server.hidden = Disembunyikan server.hidden = Disembunyikan
@@ -831,6 +839,7 @@ setting.chatopacity.name = Jelas-Beningnya Pesan
setting.lasersopacity.name = Jelas-Beningnya Tenaga Laser setting.lasersopacity.name = Jelas-Beningnya Tenaga Laser
setting.bridgeopacity.name = Jelas-Beningnya Jembatan setting.bridgeopacity.name = Jelas-Beningnya Jembatan
setting.playerchat.name = Tunjukkan Pesan dalam Permainan setting.playerchat.name = Tunjukkan Pesan dalam Permainan
setting.showweather.name = Perlihatkan Cuaca
public.confirm = Apakah kamu ingin mempublikasi permainanmu?\n[accent]Siapa saja bisa masuk ke permainanmu.\n[lightgray]Ini bisa diganti di Peraturan->Permainan->Visibilitas Game Publik. public.confirm = Apakah kamu ingin mempublikasi permainanmu?\n[accent]Siapa saja bisa masuk ke permainanmu.\n[lightgray]Ini bisa diganti di Peraturan->Permainan->Visibilitas Game Publik.
public.beta = Ingat bahwa game versi beta tidak dapat membuat lobi publik. public.beta = Ingat bahwa game versi beta tidak dapat membuat lobi publik.
uiscale.reset = Skala UI telah diubah.\nTekan "OK" untuk mengonfirmasi.\n[scarlet]Kembali dan keluar di[accent] {0}[] pengaturan... uiscale.reset = Skala UI telah diubah.\nTekan "OK" untuk mengonfirmasi.\n[scarlet]Kembali dan keluar di[accent] {0}[] pengaturan...
@@ -1414,7 +1423,6 @@ block.vault.description = Menyimpan semua tipe item berkuantitas besar. [lightgr
block.container.description = Menyimpan semua tipe item. [lightgray] pembongkar muatan[] bisa digunakan untuk mengeluarkan item dari kontainer. block.container.description = Menyimpan semua tipe item. [lightgray] pembongkar muatan[] bisa digunakan untuk mengeluarkan item dari kontainer.
block.unloader.description = Mengeluarkan item dari kontainer, gudang atau inti kedalam pengantar atau langsung ke blok yang dituju. Tipe item yang dimuat bisa diganti dengan mengetuk pembongkar muatan. block.unloader.description = Mengeluarkan item dari kontainer, gudang atau inti kedalam pengantar atau langsung ke blok yang dituju. Tipe item yang dimuat bisa diganti dengan mengetuk pembongkar muatan.
block.launch-pad.description = Meluncurkan beberapa item tanpa meninggalkan tempat. block.launch-pad.description = Meluncurkan beberapa item tanpa meninggalkan tempat.
block.launch-pad-large.description = Sebuah alas luncur yang ditingkatkan. Menyimpan lebih banyak item dan lebih sering meluncur.
block.duo.description = Menembakkan peluru bergantian ke musuh. block.duo.description = Menembakkan peluru bergantian ke musuh.
block.scatter.description = Menembakkan gumpalan timah, rongsokan atau metaglass ke musuh udara. block.scatter.description = Menembakkan gumpalan timah, rongsokan atau metaglass ke musuh udara.
block.scorch.description = Membakar musuh darat yang dekat dengannya. Sangat efektif dalam jarak dekat. block.scorch.description = Membakar musuh darat yang dekat dengannya. Sangat efektif dalam jarak dekat.

View File

@@ -13,6 +13,7 @@ link.google-play.description = Google Play 스토어 목록
link.f-droid.description = F-Droid 카탈로그 목록 link.f-droid.description = F-Droid 카탈로그 목록
link.wiki.description = 공식 Mindustry 위키 link.wiki.description = 공식 Mindustry 위키
link.suggestions.description = 새 기능 제안하기 link.suggestions.description = 새 기능 제안하기
link.bug.description = 버그 제보하기
linkfail = 링크를 열지 못했습니다!\nURL이 클립보드에 복사되었습니다. linkfail = 링크를 열지 못했습니다!\nURL이 클립보드에 복사되었습니다.
screenshot = 스크린 캡처가 {0} 에 저장되었습니다. screenshot = 스크린 캡처가 {0} 에 저장되었습니다.
screenshot.invalid = 맵이 너무 커서 스크린 캡처에 사용될 메모리가 부족합니다. screenshot.invalid = 맵이 너무 커서 스크린 캡처에 사용될 메모리가 부족합니다.
@@ -40,6 +41,12 @@ be.ignore = 무시
be.noupdates = 업데이트가 없습니다. be.noupdates = 업데이트가 없습니다.
be.check = 업데이트 확인 be.check = 업데이트 확인
mod.featured.title = 모드 탐색기
mod.featured.dialog.title = 모드 탐색
mods.browser.selected = 선택된 모드
mods.browser.add = 모드 설치
mods.github.open = 깃허브 사이트 열기
schematic = 설계도 schematic = 설계도
schematic.add = 설계도 저장하기 schematic.add = 설계도 저장하기
schematics = 설계도들 schematics = 설계도들
@@ -299,7 +306,7 @@ cancelbuilding = [accent][[{0}][] 를 눌러 건설 계획을 초기화
selectschematic = [accent][[{0}][] 를 눌러 선택+복사 selectschematic = [accent][[{0}][] 를 눌러 선택+복사
pausebuilding = [accent][[{0}][] 를 눌러 건설을 일시중지 pausebuilding = [accent][[{0}][] 를 눌러 건설을 일시중지
resumebuilding = [scarlet][[{0}][] 를 눌러 건설을 재개 resumebuilding = [scarlet][[{0}][] 를 눌러 건설을 재개
showui = UI를 .\n[accent][[{0}][] 키를 눌러 UI를 활성화 showui = [accent][[{0}][] 키를 눌러 UI를 활성화
wave = [accent]{0} 단계 wave = [accent]{0} 단계
wave.cap = [accent]단계 {0}/{1} wave.cap = [accent]단계 {0}/{1}
wave.waiting = 다음 단계까지[lightgray] {0}초 wave.waiting = 다음 단계까지[lightgray] {0}초
@@ -832,6 +839,7 @@ setting.chatopacity.name = 채팅창 투명도
setting.lasersopacity.name = 전선 투명도 setting.lasersopacity.name = 전선 투명도
setting.bridgeopacity.name = 터널 투명도 setting.bridgeopacity.name = 터널 투명도
setting.playerchat.name = 채팅 말풍선 표시 setting.playerchat.name = 채팅 말풍선 표시
setting.showweather.name = 날씨 그래픽 표시
public.confirm = 게임을 모두에게 공개하시겠습니까?\n[accent]모든 플레이어가 게임에 참여할 수 있습니다.\n[lightgray]설정->게임->멀티플레이 공용 서버로 표시에서 나중에 변경할 수 있습니다.\n\n[sky]번역자 추가[]\n[accent]친구끼리 하려고 이 기능을 활성화 한 뒤에, 친구 외에 다른 플레이어가 들어왔을 때\n해당 플레이어를 차단하는 행위는 비매너를 넘어서는 얌체 행위 그 자체입니다.\n정말로 [scarlet]많은 다른 플레이어들이 오길 원한다[]면 확인하세요. public.confirm = 게임을 모두에게 공개하시겠습니까?\n[accent]모든 플레이어가 게임에 참여할 수 있습니다.\n[lightgray]설정->게임->멀티플레이 공용 서버로 표시에서 나중에 변경할 수 있습니다.\n\n[sky]번역자 추가[]\n[accent]친구끼리 하려고 이 기능을 활성화 한 뒤에, 친구 외에 다른 플레이어가 들어왔을 때\n해당 플레이어를 차단하는 행위는 비매너를 넘어서는 얌체 행위 그 자체입니다.\n정말로 [scarlet]많은 다른 플레이어들이 오길 원한다[]면 확인하세요.
public.beta = 베타 버전의 게임은 공개 서버를 만들 수 없습니다. public.beta = 베타 버전의 게임은 공개 서버를 만들 수 없습니다.
uiscale.reset = UI 스케일이 변경되었습니다.\n"확인"버튼을 눌러 저장하세요.\n[accent] {0}[][scarlet]초 후에 예전 설정으로 되돌리고 게임을 종료합니다... uiscale.reset = UI 스케일이 변경되었습니다.\n"확인"버튼을 눌러 저장하세요.\n[accent] {0}[][scarlet]초 후에 예전 설정으로 되돌리고 게임을 종료합니다...

View File

@@ -1098,7 +1098,7 @@ block.item-void.name = Item Void
block.liquid-source.name = Liquid Source block.liquid-source.name = Liquid Source
block.liquid-void.name = Liquid Void block.liquid-void.name = Liquid Void
block.power-void.name = Power Void block.power-void.name = Power Void
block.power-source.name = Power Infinite block.power-source.name = Power Source
block.unloader.name = Unloader block.unloader.name = Unloader
block.vault.name = Kluis block.vault.name = Kluis
block.wave.name = Golf block.wave.name = Golf

View File

@@ -1098,7 +1098,7 @@ block.item-void.name = Item Void
block.liquid-source.name = Liquid Source block.liquid-source.name = Liquid Source
block.liquid-void.name = Liquid Void block.liquid-void.name = Liquid Void
block.power-void.name = Power Void block.power-void.name = Power Void
block.power-source.name = Power Infinite block.power-source.name = Power Source
block.unloader.name = Unloader block.unloader.name = Unloader
block.vault.name = Vault block.vault.name = Vault
block.wave.name = Wave block.wave.name = Wave

View File

@@ -13,6 +13,7 @@ link.google-play.description = Strona w sklepie Google Play
link.f-droid.description = Wykaz Katalogu F-Droid link.f-droid.description = Wykaz Katalogu F-Droid
link.wiki.description = Oficjana Wiki Mindustry link.wiki.description = Oficjana Wiki Mindustry
link.suggestions.description = Zaproponuj nowe funkcje link.suggestions.description = Zaproponuj nowe funkcje
link.bug.description = Znalazłeś błąd? Zgłoś go tutaj
linkfail = Nie udało się otworzyć linku!\nURL został skopiowany. linkfail = Nie udało się otworzyć linku!\nURL został skopiowany.
screenshot = Zapisano zrzut ekranu w {0} screenshot = Zapisano zrzut ekranu w {0}
screenshot.invalid = Zrzut ekranu jest zbyt duży. Najprawdopodobniej brakuje miejsca w pamięci urządzenia. screenshot.invalid = Zrzut ekranu jest zbyt duży. Najprawdopodobniej brakuje miejsca w pamięci urządzenia.
@@ -40,6 +41,12 @@ be.ignore = Zignoruj
be.noupdates = Nie znaleziono aktualizacji. be.noupdates = Nie znaleziono aktualizacji.
be.check = Sprawdź aktualizacje be.check = Sprawdź aktualizacje
mod.featured.title = Wyszukiwarka Modów
mod.featured.dialog.title = Wyszukiwarka Modów
mods.browser.selected = Wybrany Mod
mods.browser.add = Zainstaluj Moda
mods.github.open = Otwórz w GitHub'ie
schematic = Schemat schematic = Schemat
schematic.add = Zapisz schemat... schematic.add = Zapisz schemat...
schematics = Schematy schematics = Schematy
@@ -103,6 +110,7 @@ committingchanges = Zatwierdzanie Zmian
done = Gotowe done = Gotowe
feature.unsupported = Twoje urządzenie nie wspiera tej funkcji. feature.unsupported = Twoje urządzenie nie wspiera tej funkcji.
mods.alphainfo = Pamiętaj, że mody są wersji alpha, i[scarlet] mogą być pełne błędów[].\nZgłaszaj wszystkie znalezione problemy na Mindustry GitHub lub Discord. mods.alphainfo = Pamiętaj, że mody są wersji alpha, i[scarlet] mogą być pełne błędów[].\nZgłaszaj wszystkie znalezione problemy na Mindustry GitHub lub Discord.
mods = Mody mods = Mody
mods.none = [lightgray]Nie znaleziono modów! mods.none = [lightgray]Nie znaleziono modów!
@@ -196,6 +204,7 @@ servers.local = Serwery Lokalne
servers.remote = Serwery Zdalne servers.remote = Serwery Zdalne
servers.global = Serwery Publiczne servers.global = Serwery Publiczne
servers.disclaimer = Serwery społeczności [accent]nie są[] w posiadaniu ani nie moderuje nimi twórca gry.\n\nSerwery mogą posiadać zawartość stworzoną przez graczy, która może być nieodpowiednia dla wszystkich grup wiekowych.
servers.showhidden = Pokaż Ukryte Serwery servers.showhidden = Pokaż Ukryte Serwery
server.shown = Pokazane server.shown = Pokazane
server.hidden = Ukryte server.hidden = Ukryte
@@ -510,7 +519,7 @@ resources = Zasoby
bannedblocks = Zabronione bloki bannedblocks = Zabronione bloki
addall = Dodaj wszystkie addall = Dodaj wszystkie
launch.from = Wstrzelony Z: [accent]{0} launch.from = Wstrzelony Z: [accent]{0}
launch.destination = Cell: {0} launch.destination = Cel: {0}
configure.invalid = Ilość musi być liczbą pomiędzy 0 a {0}. configure.invalid = Ilość musi być liczbą pomiędzy 0 a {0}.
add = Dodaj... add = Dodaj...
boss.health = Zdrowie Strażnika boss.health = Zdrowie Strażnika
@@ -831,6 +840,7 @@ setting.chatopacity.name = Przezroczystość czatu
setting.lasersopacity.name = Przezroczystość laserów zasilających setting.lasersopacity.name = Przezroczystość laserów zasilających
setting.bridgeopacity.name = Przezroczystość mostów setting.bridgeopacity.name = Przezroczystość mostów
setting.playerchat.name = Wyświetlaj czat w grze setting.playerchat.name = Wyświetlaj czat w grze
setting.showweather.name = Pokaż pogodę
public.confirm = Czy chcesz ustawić swoją grę jako publiczną?\n[accent]Każdy będzie mógł dołączyć do Twojej gry.\n[lightgray]Można to później zmienić w Ustawienia->Gra->Widoczność Gry Publicznej. public.confirm = Czy chcesz ustawić swoją grę jako publiczną?\n[accent]Każdy będzie mógł dołączyć do Twojej gry.\n[lightgray]Można to później zmienić w Ustawienia->Gra->Widoczność Gry Publicznej.
public.beta = Wersje beta gry nie mogą tworzyć publicznych pokoi. public.beta = Wersje beta gry nie mogą tworzyć publicznych pokoi.
uiscale.reset = Skala interfejsu uległa zmianie.\nNaciśnij "OK" by potwierdzić zmiany.\n[scarlet]Cofanie zmian i wyjście z gry za[accent] {0}[] uiscale.reset = Skala interfejsu uległa zmianie.\nNaciśnij "OK" by potwierdzić zmiany.\n[scarlet]Cofanie zmian i wyjście z gry za[accent] {0}[]
@@ -1279,6 +1289,10 @@ hint.payloadDrop.mobile = [accent]Kliknij i przytrzymaj[] w puste miejsce by opu
hint.waveFire = [accent]Strumień[] wypełniony wodą będzie gasić pobiskie pożary. hint.waveFire = [accent]Strumień[] wypełniony wodą będzie gasić pobiskie pożary.
hint.generator = \uf879 [accent]Generatory Spalinowe[] spalają węgiel i przekuzują moc do pobliskich bloków.\n\nMożesz powiększyć odległość transmitowanej mocy używająć \uf87f [accent]Węzeły Prądu[]. hint.generator = \uf879 [accent]Generatory Spalinowe[] spalają węgiel i przekuzują moc do pobliskich bloków.\n\nMożesz powiększyć odległość transmitowanej mocy używająć \uf87f [accent]Węzeły Prądu[].
hint.guardian = Jednostki [accent]Strażnicze[] są uzbrojone. Słaba amunicja - taka jak [accent]Miedź[] oraz [accent]Ołów[] [scarlet]nie jest efektywna[].\n\nUżyj lepszych działek takich jak \uf835 [accent]Naładowane Grafitem[] \uf861Duo/\uf859Salwa by pozbyć się strażników. hint.guardian = Jednostki [accent]Strażnicze[] są uzbrojone. Słaba amunicja - taka jak [accent]Miedź[] oraz [accent]Ołów[] [scarlet]nie jest efektywna[].\n\nUżyj lepszych działek takich jak \uf835 [accent]Naładowane Grafitem[] \uf861Duo/\uf859Salwa by pozbyć się strażników.
hint.coreUpgrade = Rdzenie mogą być ulepszone poprzez [accent]płożenie na nich rdzeń wyższego poziomu[].\n\nPołóż  rdzeń [accent]Fundacji[] na  rdzeń:[accent]Odłamek[] core. Żadna przeszkoda ani blok nie może stać na miejscu rdzenia.
hint.presetLaunch = Szare [accent]sektory[], takie jak [accent]Zamrożony Las[], to sektory do których możesz dotrzeć z każdego miejsca. Nie wymagają podbicia pobliskiego terenu.\n\n[accent]Ponumerowane sektory[], takie jak ten, [accent]są dodatkowe[].
hint.coreIncinerate = Jak rdzeń zostanie w pełni wypełniony danym przedmiotem, reszta przedmiotów tego typu zostanie [accent]spalona[].
hint.coopCampaign = Gdy grasz [accent]kooperacyjną kampanie[], przedmioty które są produkowane na mapie trafią także [accent]dotwoich lokalnych sektorów[].\n\nWszelkie nowe badania przeprowadzone przez hosta są również przenoszone.
item.copper.description = Przydatny materiał budowlany. Szeroko używany w prawie każdej konstrukcji. item.copper.description = Przydatny materiał budowlany. Szeroko używany w prawie każdej konstrukcji.
item.copper.details = Miedź. Nienormalnie obfity metal na Serpulo. Strukturalnie słaba, chyba że zostanie wzmocniona. item.copper.details = Miedź. Nienormalnie obfity metal na Serpulo. Strukturalnie słaba, chyba że zostanie wzmocniona.
@@ -1424,7 +1438,7 @@ block.ripple.description = Duża wieża artyleryjska, która strzela jednocześn
block.cyclone.description = Duża szybkostrzelna wieża. block.cyclone.description = Duża szybkostrzelna wieża.
block.spectre.description = Duże działo dwulufowe, które strzela potężnymi pociskami przebijającymi pancerz w jednostki naziemne i powietrzne. block.spectre.description = Duże działo dwulufowe, które strzela potężnymi pociskami przebijającymi pancerz w jednostki naziemne i powietrzne.
block.meltdown.description = Duże działo laserowe, które strzela potężnymi wiązkami dalekiego zasięgu. Wymaga chłodzenia. block.meltdown.description = Duże działo laserowe, które strzela potężnymi wiązkami dalekiego zasięgu. Wymaga chłodzenia.
block.foreshadow.description = Fires a large single-target bolt over long distances. block.foreshadow.description = Strzela potężnym pociskiem z daleka we wrogów.
block.repair-point.description = Bez przerw naprawia najbliższą uszkodzoną jednostkę w jego zasięgu. block.repair-point.description = Bez przerw naprawia najbliższą uszkodzoną jednostkę w jego zasięgu.
block.segment.description = Uszkadza i niszczy wrogie pociskiski poza laserami. block.segment.description = Uszkadza i niszczy wrogie pociskiski poza laserami.
block.parallax.description = Wykorzystuje laser, który przyciąga do siebie wrogów, zadając im obrażenia. block.parallax.description = Wykorzystuje laser, który przyciąga do siebie wrogów, zadając im obrażenia.

View File

@@ -13,6 +13,7 @@ link.google-play.description = Google Play
link.f-droid.description = Catalogul F-Droid link.f-droid.description = Catalogul F-Droid
link.wiki.description = Wikiul oficial al Mindustry link.wiki.description = Wikiul oficial al Mindustry
link.suggestions.description = Sugerează noi funcții link.suggestions.description = Sugerează noi funcții
link.bug.description = Ai găsit vreunul? Raportează-l aici
linkfail = Linkul nu a putut fi deschis!\nAdresa URL a fost copiată. linkfail = Linkul nu a putut fi deschis!\nAdresa URL a fost copiată.
screenshot = Captură de ecran salvată la {0} screenshot = Captură de ecran salvată la {0}
screenshot.invalid = Harta e prea mare. Se poate să nu existe suficientă memorie pentru captura de ecran. screenshot.invalid = Harta e prea mare. Se poate să nu existe suficientă memorie pentru captura de ecran.
@@ -52,7 +53,7 @@ schematic.browseworkshop = Intră pe Workshop
schematic.copy = Copiază în Clipboard schematic.copy = Copiază în Clipboard
schematic.copy.import = Importă din Clipboard schematic.copy.import = Importă din Clipboard
schematic.shareworkshop = Partajează pe Workshop schematic.shareworkshop = Partajează pe Workshop
schematic.flip = [accent][[{0}][]/[accent][[{1}][]: Întoarce Schemă schematic.flip = [accent][[{0}][]/[accent][[{1}][]: Întoarce Schema
schematic.saved = Schemă salvată. schematic.saved = Schemă salvată.
schematic.delete.confirm = Schema această va fi ștearsă permanent. schematic.delete.confirm = Schema această va fi ștearsă permanent.
schematic.rename = Redenumește Schema schematic.rename = Redenumește Schema
@@ -698,12 +699,13 @@ stat.commandlimit = Nr Unități Comandate
stat.abilities = Abilități stat.abilities = Abilități
stat.canboost = Are Propulsor stat.canboost = Are Propulsor
stat.flying = Zboară stat.flying = Zboară
stat.ammouse = Consum muniție
ability.forcefield = Câmp de Forță ability.forcefield = Câmp de Forță
ability.repairfield = Câmp de Reparare ability.repairfield = Câmp de Reparare
ability.statusfield = Câmp Suprasolicitare Unități ability.statusfield = Câmp Suprasolicitare Unități
ability.unitspawn = Fabrică de {0} ability.unitspawn = Fabrică de {0}
ability.shieldregenfield = Regenerare Câmpuri de Forță ability.shieldregenfield = Scurt Regenerabil
ability.movelightning = Mișcare Fulger ability.movelightning = Mișcare Fulger
bar.drilltierreq = Burghiu Mai Bun Necesar bar.drilltierreq = Burghiu Mai Bun Necesar
@@ -720,7 +722,6 @@ bar.powerlines = Conexiuni: {0}/{1}
bar.items = Materiale: {0} bar.items = Materiale: {0}
bar.capacity = Capacitate: {0} bar.capacity = Capacitate: {0}
bar.unitcap = {0} {1}/{2} bar.unitcap = {0} {1}/{2}
bar.limitreached = [scarlet] {0} / {1}[white] {2}\n[lightgray][[unitate dezactivată]
bar.liquid = Lichid bar.liquid = Lichid
bar.heat = Căldură bar.heat = Căldură
bar.power = Electricitate bar.power = Electricitate
@@ -737,6 +738,7 @@ bullet.sapping = [stat]atragere inamici
bullet.homing = [stat]cu radar bullet.homing = [stat]cu radar
bullet.shock = [stat]șoc bullet.shock = [stat]șoc
bullet.frag = [stat]fragil bullet.frag = [stat]fragil
bullet.buildingdamage = [stat]{0}%[lightgray] forță/clădire
bullet.knockback = [stat]{0} [lightgray]împingere bullet.knockback = [stat]{0} [lightgray]împingere
bullet.pierce = [stat]{0}[lightgray]x penetrare bullet.pierce = [stat]{0}[lightgray]x penetrare
bullet.infinitepierce = [stat]penetrare bullet.infinitepierce = [stat]penetrare
@@ -765,6 +767,7 @@ unit.items = materiale
unit.thousands = mii unit.thousands = mii
unit.millions = mil unit.millions = mil
unit.billions = b unit.billions = b
unit.pershot = /lovitură
category.purpose = Utilizare category.purpose = Utilizare
category.general = General category.general = General
category.power = Electricitate category.power = Electricitate
@@ -832,7 +835,9 @@ setting.chatopacity.name = Opacitate Chat
setting.lasersopacity.name = Opacitate Laser Electric setting.lasersopacity.name = Opacitate Laser Electric
setting.bridgeopacity.name = Opacitate Poduri setting.bridgeopacity.name = Opacitate Poduri
setting.playerchat.name = Vezi Chat Temporar setting.playerchat.name = Vezi Chat Temporar
public.confirm = Vrei să îți faci jocul public?\n[accent]Oricine va putea intra în jocurile tale.\n[lightgray]Asta se poate schimba mai târziu în Setări->Joc->Vizibilitatea Jocurilor Publice. setting.showweather.name = Vezi Vremea
public.confirm = Vrei să îți faci jocul public?\n[accent]Oricine va putea intra în jocurile tale.\n[lightgray]Poți schimba asta mai târziu din Setări->Joc->Vizibilitatea Jocurilor Publice.
public.confirm.really = Dacă vrei să joci cu prietenii, folosește butonul [green]Invită Prieteni[] în loc de un [scarlet]Server Public[]!\nSigur vrei să-ți faci jocul [scarlet]public[]?
public.beta = De reținut că versiunile beta ale jocului nu poate face servere publice. public.beta = De reținut că versiunile beta ale jocului nu poate face servere publice.
uiscale.reset = Scara interfeței a fost schimbată.\nApasă "OK" pt a confirma această scară.\n[scarlet]Revin setările și se iese în [accent] {0}[] secunde... uiscale.reset = Scara interfeței a fost schimbată.\nApasă "OK" pt a confirma această scară.\n[scarlet]Revin setările și se iese în [accent] {0}[] secunde...
uiscale.cancel = Anulare și ieșire uiscale.cancel = Anulare și ieșire
@@ -904,8 +909,8 @@ keybind.console.name = Consolă
keybind.rotate.name = Rotește keybind.rotate.name = Rotește
keybind.rotateplaced.name = Rotește Existent (Ține) keybind.rotateplaced.name = Rotește Existent (Ține)
keybind.toggle_menus.name = Pornește/Oprește Meniuri keybind.toggle_menus.name = Pornește/Oprește Meniuri
keybind.chat_history_prev.name = Previzualizare Istoric Chat keybind.chat_history_prev.name = Istoric Chat Înapoi
keybind.chat_history_next.name = Chat History Next keybind.chat_history_next.name = Istoric Chat Mai Departe
keybind.chat_scroll.name = Scroll Chat keybind.chat_scroll.name = Scroll Chat
keybind.drop_unit.name = Lasă Unitatea keybind.drop_unit.name = Lasă Unitatea
keybind.zoom_minimap.name = Zoom Minihartă keybind.zoom_minimap.name = Zoom Minihartă
@@ -955,6 +960,7 @@ rules.explosions = Explozia Deteriorează Blocul/Unitatea
rules.ambientlight = Ambient rules.ambientlight = Ambient
rules.weather = Vreme rules.weather = Vreme
rules.weather.frequency = Frevență: rules.weather.frequency = Frevență:
rules.weather.always = Încontinuu
rules.weather.duration = Durată: rules.weather.duration = Durată:
content.item.name = Materiale content.item.name = Materiale
@@ -1164,7 +1170,7 @@ block.item-void.name = Portal de Material
block.liquid-source.name = Sursă de Lichid block.liquid-source.name = Sursă de Lichid
block.liquid-void.name = Portal de Lichid block.liquid-void.name = Portal de Lichid
block.power-void.name = Consumator de Electricitate block.power-void.name = Consumator de Electricitate
block.power-source.name = Electricitate Infinită block.power-source.name = Sursă de Electricitate
block.unloader.name = Descărcător block.unloader.name = Descărcător
block.vault.name = Seif block.vault.name = Seif
block.wave.name = Wave block.wave.name = Wave
@@ -1283,6 +1289,7 @@ hint.guardian = Unitățile [accent]Gardian[] au armuri puternice. Munițiile sl
hint.coreUpgrade = Un nucleu poate pot fi îmbunătățit [accent]plasând o alt nucleu mai bun peste el[].\n\nPlasează un nucleu  [accent]Foundation[] peste nucleul  [accent]Shard[]. Nucleul nu poate fi plasat decât pe alte nuclee. Asigură-te că nu sunt alte benzi sau obstacole care să împiedice plasarea. hint.coreUpgrade = Un nucleu poate pot fi îmbunătățit [accent]plasând o alt nucleu mai bun peste el[].\n\nPlasează un nucleu  [accent]Foundation[] peste nucleul  [accent]Shard[]. Nucleul nu poate fi plasat decât pe alte nuclee. Asigură-te că nu sunt alte benzi sau obstacole care să împiedice plasarea.
hint.presetLaunch = Poți lansa de oriunde în sectoarele gri, precum [accent]Pădurea Glacială[]. Ele sunt [accent]zone[] speciale [accent]de aterizare[]. Nu ai nevoie să capturezi sectoarele învecinate pt a lansa.\n\n[accent]Sectoarele numerotate[], ca acesta, sunt [accent]opționale[]. hint.presetLaunch = Poți lansa de oriunde în sectoarele gri, precum [accent]Pădurea Glacială[]. Ele sunt [accent]zone[] speciale [accent]de aterizare[]. Nu ai nevoie să capturezi sectoarele învecinate pt a lansa.\n\n[accent]Sectoarele numerotate[], ca acesta, sunt [accent]opționale[].
hint.coreIncinerate = După ce nucleul se umple până la refuz cu un tip de material, toate materialele în plus de acel tip care încearcă să între în nucleu sunt [accent]incinerate[]. hint.coreIncinerate = După ce nucleul se umple până la refuz cu un tip de material, toate materialele în plus de acel tip care încearcă să între în nucleu sunt [accent]incinerate[].
hint.coopCampaign = Când joci [accent]campania cooperând cu alți jucători[], materialele produse în sectorul curent vor fi transferate și către [accent]sectoarele tale locale[].\n\nDe asemenea, vei debloca tot ceea ce cercetează gazda.
item.copper.description = Folosit în tot felul de construcții și muniție. item.copper.description = Folosit în tot felul de construcții și muniție.
item.copper.details = Cupru. Metal anormal de abundent pe Serpulo. Structural slab dacă nu este consolidat. item.copper.details = Cupru. Metal anormal de abundent pe Serpulo. Structural slab dacă nu este consolidat.

View File

@@ -13,6 +13,7 @@ link.google-play.description = Скачать для Android с Google Play
link.f-droid.description = Скачать для Android с F-Droid link.f-droid.description = Скачать для Android с F-Droid
link.wiki.description = Официальная вики link.wiki.description = Официальная вики
link.suggestions.description = Предложить новые возможности link.suggestions.description = Предложить новые возможности
link.bug.description = Нашли одну? Доложите о ней здесь
linkfail = Не удалось открыть ссылку!\nURL-адрес был скопирован в буфер обмена. linkfail = Не удалось открыть ссылку!\nURL-адрес был скопирован в буфер обмена.
screenshot = Скриншот сохранён в {0} screenshot = Скриншот сохранён в {0}
screenshot.invalid = Карта слишком большая, возможно, не хватает памяти для скриншота. screenshot.invalid = Карта слишком большая, возможно, не хватает памяти для скриншота.
@@ -40,6 +41,12 @@ be.ignore = Игнорировать
be.noupdates = Обновления не найдены. be.noupdates = Обновления не найдены.
be.check = Проверить обновления be.check = Проверить обновления
mod.featured.title = Обозреватель модов
mod.featured.dialog.title = Обозреватель модов
mods.browser.selected = Выбранный мод
mods.browser.add = Установить мод
mods.github.open = Открыть GitHub страницу
schematic = Схема schematic = Схема
schematic.add = Сохранить схему… schematic.add = Сохранить схему…
schematics = Схемы schematics = Схемы
@@ -69,7 +76,7 @@ stat.delivered = Ресурсов запущено:
stat.playtime = Время игры:[accent] {0} stat.playtime = Время игры:[accent] {0}
stat.rank = Финальный ранг: [accent]{0} stat.rank = Финальный ранг: [accent]{0}
globalitems = [accent]Глобальные предметы globalitems = [accent]Общие предметы
map.delete = Вы действительно хотите удалить карту «[accent]{0}[]»? map.delete = Вы действительно хотите удалить карту «[accent]{0}[]»?
level.highscore = Рекорд: [accent]{0} level.highscore = Рекорд: [accent]{0}
level.select = Выбор карты level.select = Выбор карты
@@ -141,7 +148,7 @@ mod.scripts.disable = Ваше устройство не поддерживае
about.button = Об игре about.button = Об игре
name = Имя: name = Имя:
noname = Для начала, придумайте[accent] себе имя[]. noname = Для начала придумайте[accent] себе имя[].
planetmap = Карта планеты planetmap = Карта планеты
launchcore = Запуск ядра launchcore = Запуск ядра
filename = Имя файла: filename = Имя файла:
@@ -196,6 +203,7 @@ servers.local = Локальные серверы
servers.remote = Удалённые серверы servers.remote = Удалённые серверы
servers.global = Серверы сообщества servers.global = Серверы сообщества
servers.disclaimer = Серверы сообщества [accent]не[] принадлежат разработчику и [accent]не[] контролируются им.\n\nСерверы могут содержать пользовательский контент, который не подходит для всех возрастов.
servers.showhidden = Отображать скрытые серверы servers.showhidden = Отображать скрытые серверы
server.shown = Отображается server.shown = Отображается
server.hidden = Скрыт server.hidden = Скрыт
@@ -599,7 +607,7 @@ sector.nuclearComplex.description = Бывший завод по произво
sector.fungalPass.description = Переходная область между высокими горами и более низкими, покрытыми спорами землями. Здесь расположена небольшая разведывательная база противника.\nУничтожьте ее.\nИспользуйте единицы «Кинжал» и «Ползун». Достаньте до обоих ядер. sector.fungalPass.description = Переходная область между высокими горами и более низкими, покрытыми спорами землями. Здесь расположена небольшая разведывательная база противника.\nУничтожьте ее.\nИспользуйте единицы «Кинжал» и «Ползун». Достаньте до обоих ядер.
sector.biomassFacility.description = Первоисточник спор. Объект, на котором они были исследованы и изначально получены.\nИсследуйте технологию, находящуюся внутри. Культивируйте споры для производства топлива и пластмасс.\n\n[lightgray]После развала этого объекта споры оказались выброшены наружу. Ничто в местной экосистеме не могло соперничать с таким агрессивным организмом. sector.biomassFacility.description = Первоисточник спор. Объект, на котором они были исследованы и изначально получены.\nИсследуйте технологию, находящуюся внутри. Культивируйте споры для производства топлива и пластмасс.\n\n[lightgray]После развала этого объекта споры оказались выброшены наружу. Ничто в местной экосистеме не могло соперничать с таким агрессивным организмом.
sector.windsweptIslands.description = Дальше за береговой линией простирается эта отдаленная череда островов. Согласно записям, когда-то они располагали [accent]пластано[]производящими сооружениями.\n\nОтбейтесь от морских сил противника. Обоснуйте базу на островах. Изучите эти заводы. sector.windsweptIslands.description = Дальше за береговой линией простирается эта отдаленная череда островов. Согласно записям, когда-то они располагали [accent]пластано[]производящими сооружениями.\n\nОтбейтесь от морских сил противника. Обоснуйте базу на островах. Изучите эти заводы.
sector.extractionOutpost.description = Отдаленный аванпост, построенный противником с целью переброски ресурсов в другие сектора.\n\nМежсекторная транспортная технология необходима для дальнейшего завоевания. Уничтожьте базу. Изучите их пусковые площадки. sector.extractionOutpost.description = Отдаленный аванпост, построенный противником с целью переброски ресурсов в другие секторы.\n\nМежсекторная транспортная технология необходима для дальнейшего завоевания. Уничтожьте базу. Изучите их пусковые площадки.
sector.impact0078.description = Здесь лежат остатки межзвездного транспортного судна, первым вошедшего в эту систему.\n\nИзвлеките как можно больше из обломков. Изучите любую уцелевшую технологию. sector.impact0078.description = Здесь лежат остатки межзвездного транспортного судна, первым вошедшего в эту систему.\n\nИзвлеките как можно больше из обломков. Изучите любую уцелевшую технологию.
sector.planetaryTerminal.description = Конечная цель.\n\nЭта береговая база содержит сооружение, способное запускать ядра к окрестным планетам. Оно крайне хорошо охраняется.\n\nПроизведите морские единицы. Уничтожьте врага как можно скорее. Изучите пусковую конструкцию. sector.planetaryTerminal.description = Конечная цель.\n\nЭта береговая база содержит сооружение, способное запускать ядра к окрестным планетам. Оно крайне хорошо охраняется.\n\nПроизведите морские единицы. Уничтожьте врага как можно скорее. Изучите пусковую конструкцию.
@@ -640,7 +648,7 @@ stat.booster = Ускоритель
stat.tiles = Необходимые плитки stat.tiles = Необходимые плитки
stat.affinities = Увеличение эффективности stat.affinities = Увеличение эффективности
stat.powercapacity = Вместимость энергии stat.powercapacity = Вместимость энергии
stat.powershot = Энергия/Выстрел stat.powershot = Энергия/выстрел
stat.damage = Урон stat.damage = Урон
stat.targetsair = Воздушные цели stat.targetsair = Воздушные цели
stat.targetsground = Наземные цели stat.targetsground = Наземные цели
@@ -697,6 +705,7 @@ stat.commandlimit = Лимит командования
stat.abilities = Способности stat.abilities = Способности
stat.canboost = Может взлететь stat.canboost = Может взлететь
stat.flying = Летающий stat.flying = Летающий
stat.ammouse = Использование боеприпасов
ability.forcefield = Силовое поле ability.forcefield = Силовое поле
ability.repairfield = Ремонтирующее поле ability.repairfield = Ремонтирующее поле
@@ -719,7 +728,6 @@ bar.powerlines = Подключений: {0}/{1}
bar.items = Предметы: {0} bar.items = Предметы: {0}
bar.capacity = Вместимость: {0} bar.capacity = Вместимость: {0}
bar.unitcap = {0} {1}/{2} bar.unitcap = {0} {1}/{2}
bar.limitreached = [scarlet] {0} / {1}[white] {2}\n[lightgray][[единица отключена]
bar.liquid = Жидкости bar.liquid = Жидкости
bar.heat = Нагрев bar.heat = Нагрев
bar.power = Энергия bar.power = Энергия
@@ -736,10 +744,11 @@ 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.buildingdamage = [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.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 множитель боеприпасов
@@ -764,12 +773,13 @@ unit.items = предметов
unit.thousands = к unit.thousands = к
unit.millions = М unit.millions = М
unit.billions = кM unit.billions = кM
unit.pershot = /выстрел
category.purpose = Назначение category.purpose = Назначение
category.general = Основные category.general = Основные
category.power = Энергия category.power = Энергия
category.liquids = Жидкости category.liquids = Жидкости
category.items = Предметы category.items = Предметы
category.crafting = Ввод/Вывод category.crafting = Ввод/вывод
category.function = Действие category.function = Действие
category.optional = Дополнительные улучшения category.optional = Дополнительные улучшения
setting.landscape.name = Только альбомный (горизонтальный) режим setting.landscape.name = Только альбомный (горизонтальный) режим
@@ -831,13 +841,15 @@ setting.chatopacity.name = Непрозрачность чата
setting.lasersopacity.name = Непрозрачность лазеров энергоснабжения setting.lasersopacity.name = Непрозрачность лазеров энергоснабжения
setting.bridgeopacity.name = Непрозрачность мостов setting.bridgeopacity.name = Непрозрачность мостов
setting.playerchat.name = Отображать облака чата над игроками setting.playerchat.name = Отображать облака чата над игроками
setting.showweather.name = Отображать погоду
public.confirm = Вы хотите, чтобы ваша игра стала публичной?\n[accent] Любой игрок сможет присоединиться к вашим играм.\n[lightgray]Позже, это можно будет изменить в Настройки->Игра->Общедоступность игры. public.confirm = Вы хотите, чтобы ваша игра стала публичной?\n[accent] Любой игрок сможет присоединиться к вашим играм.\n[lightgray]Позже, это можно будет изменить в Настройки->Игра->Общедоступность игры.
public.confirm.really = Если вы хотите поиграть с друзьями, то используйте кнопку «[green]Пригласить друзей[]» вместо создания [scarlet]публичного сервера[]!\nВы уверены, что хотите сделать свою игру [scarlet]публичной[]?
public.beta = Имейте в виду, что бета-версия игры не может делать игры публичными. public.beta = Имейте в виду, что бета-версия игры не может делать игры публичными.
uiscale.reset = Масштаб пользовательского интерфейса был изменён.\nНажмите «ОК» для подтверждения этого масштаба.\n[scarlet]Возврат настроек и выход через[accent] {0}[] секунд… uiscale.reset = Масштаб пользовательского интерфейса был изменён.\nНажмите «ОК» для подтверждения этого масштаба.\n[scarlet]Возврат настроек и выход через[accent] {0}[] секунд…
uiscale.cancel = Отменить & Выйти uiscale.cancel = Отменить & Выйти
setting.bloom.name = Свечение setting.bloom.name = Свечение
keybind.title = Настройка управления keybind.title = Настройка управления
keybinds.mobile = [scarlet]Большинство комбинаций клавиш здесь не работают на мобильных устройствах. Поддерживается только базовое движение. keybinds.mobile = [scarlet]Большинство комбинаций клавиш здесь не работает на мобильных устройствах. Поддерживается только базовое движение.
category.general.name = Основное category.general.name = Основное
category.view.name = Просмотр category.view.name = Просмотр
category.multiplayer.name = Сетевая игра category.multiplayer.name = Сетевая игра
@@ -859,7 +871,7 @@ keybind.move_x.name = Движение по оси X
keybind.move_y.name = Движение по оси Y keybind.move_y.name = Движение по оси Y
keybind.mouse_move.name = Следовать за курсором keybind.mouse_move.name = Следовать за курсором
keybind.pan.name = Панорамирование камеры keybind.pan.name = Панорамирование камеры
keybind.boost.name = Полёт/Ускорение keybind.boost.name = Полёт/ускорение
keybind.schematic_select.name = Выбрать область keybind.schematic_select.name = Выбрать область
keybind.schematic_menu.name = Меню схем keybind.schematic_menu.name = Меню схем
keybind.schematic_flip_x.name = Отразить схему по оси X keybind.schematic_flip_x.name = Отразить схему по оси X
@@ -870,18 +882,18 @@ keybind.block_select_left.name = Выбор левого блока
keybind.block_select_right.name = Выбор правого блока keybind.block_select_right.name = Выбор правого блока
keybind.block_select_up.name = Выбор верхнего блока keybind.block_select_up.name = Выбор верхнего блока
keybind.block_select_down.name = Выбор нижнего блока keybind.block_select_down.name = Выбор нижнего блока
keybind.block_select_01.name = Категория/Выбор блока 1 keybind.block_select_01.name = Категория/выбор блока 1
keybind.block_select_02.name = Категория/Выбор блока 2 keybind.block_select_02.name = Категория/выбор блока 2
keybind.block_select_03.name = Категория/Выбор блока 3 keybind.block_select_03.name = Категория/выбор блока 3
keybind.block_select_04.name = Категория/Выбор блока 4 keybind.block_select_04.name = Категория/выбор блока 4
keybind.block_select_05.name = Категория/Выбор блока 5 keybind.block_select_05.name = Категория/выбор блока 5
keybind.block_select_06.name = Категория/Выбор блока 6 keybind.block_select_06.name = Категория/выбор блока 6
keybind.block_select_07.name = Категория/Выбор блока 7 keybind.block_select_07.name = Категория/выбор блока 7
keybind.block_select_08.name = Категория/Выбор блока 8 keybind.block_select_08.name = Категория/выбор блока 8
keybind.block_select_09.name = Категория/Выбор блока 9 keybind.block_select_09.name = Категория/выбор блока 9
keybind.block_select_10.name = Категория/Выбор блока 10 keybind.block_select_10.name = Категория/выбор блока 10
keybind.fullscreen.name = Переключение полноэкранного режима keybind.fullscreen.name = Переключение полноэкранного режима
keybind.select.name = Выбор/Выстрел keybind.select.name = Выбор/выстрел
keybind.diagonal_placement.name = Диагональное размещение keybind.diagonal_placement.name = Диагональное размещение
keybind.pick.name = Выбрать блок keybind.pick.name = Выбрать блок
keybind.break_block.name = Разрушить блок keybind.break_block.name = Разрушить блок
@@ -954,6 +966,7 @@ rules.explosions = Урон от взрывов блоков/единиц
rules.ambientlight = Окружающий свет rules.ambientlight = Окружающий свет
rules.weather = Погода rules.weather = Погода
rules.weather.frequency = Периодичность: rules.weather.frequency = Периодичность:
rules.weather.always = Всегда
rules.weather.duration = Длительность: rules.weather.duration = Длительность:
content.item.name = Предметы content.item.name = Предметы
@@ -1257,15 +1270,15 @@ hint.placeDrill = Выберите в меню справа внизу вкла
hint.placeDrill.mobile = Выберите в меню справа внизу вкладку \ue85e [accent]Добычи[], затем выберите \uf870 [accent]Бур[] и коснитесь медных вкраплений, чтобы разместить его.\n\nНажмите \ue800 [accent]галочку[] справа внизу для подтверждения. hint.placeDrill.mobile = Выберите в меню справа внизу вкладку \ue85e [accent]Добычи[], затем выберите \uf870 [accent]Бур[] и коснитесь медных вкраплений, чтобы разместить его.\n\nНажмите \ue800 [accent]галочку[] справа внизу для подтверждения.
hint.placeConveyor = Конвейеры перемещают предметы из буров в другие блоки. Выберите \uf896 [accent]Конвейер[] во вкладке \ue814 [accent]Транспортировки[].\n\nНажмите и переместите курсор для размещения нескольких конвейеров.\n[accent]Покрутите колесо мыши[] для смены направления. hint.placeConveyor = Конвейеры перемещают предметы из буров в другие блоки. Выберите \uf896 [accent]Конвейер[] во вкладке \ue814 [accent]Транспортировки[].\n\nНажмите и переместите курсор для размещения нескольких конвейеров.\n[accent]Покрутите колесо мыши[] для смены направления.
hint.placeConveyor.mobile = Конвейеры перемещают предметы из буров в другие блоки. Выберите \uf896 [accent]Конвейер[] во вкладке \ue814 [accent]Транспортировки[].\n\nУдерживайте палец секунду, а затем переместите для размещения нескольких конвейеров. hint.placeConveyor.mobile = Конвейеры перемещают предметы из буров в другие блоки. Выберите \uf896 [accent]Конвейер[] во вкладке \ue814 [accent]Транспортировки[].\n\nУдерживайте палец секунду, а затем переместите для размещения нескольких конвейеров.
hint.placeTurret = Установите \uf861 [accent]Турели[] для защиты своей базы от врагов.\n\nТурели требуют боеприпасов — в данном случае \uf838медных.\nИспользуйте конвейеры и буры для их подачи. hint.placeTurret = Установите \uf861 [accent]Турели[] для защиты своей базы от врагов.\n\nТурелям требуются боеприпасы — в данном случае \uf838медные.\nИспользуйте конвейеры и буры для их подачи.
hint.breaking = Выделите блоки в рамку [accent]правой кнопкой мыши[], чтобы разобрать их. hint.breaking = Выделите блоки в рамку [accent]правой кнопкой мыши[], чтобы разобрать их.
hint.breaking.mobile = Активируйте \ue817 [accent]молоток[] в правом нижнем углу и нажимайте на блоки, чтобы разобрать их. Удерживайте палец в течение секунды и переместите, чтобы разобрать выделением. hint.breaking.mobile = Активируйте \ue817 [accent]молоток[] в правом нижнем углу и нажимайте на блоки, чтобы разобрать их. Удерживайте палец в течение секунды и переместите, чтобы разобрать выделением.
hint.research = Используйте кнопку \ue875 [accent]Исследований[], чтобы исследовать новые технологии. hint.research = Используйте кнопку \ue875 [accent]Исследований[], чтобы исследовать новые технологии.
hint.research.mobile = Используйте кнопку \ue875 [accent]Исследований[] в \ue88c [accent]Меню[], чтобы исследовать новые технологии. hint.research.mobile = Используйте кнопку \ue875 [accent]Исследований[] в \ue88c [accent]Меню[], чтобы исследовать новые технологии.
hint.unitControl = Зажмите [accent][[Л-Ctrl][] и [accent]нажмите левую кнопку мыши[], чтобы контролировать дружественные единицы и турели. hint.unitControl = Зажмите [accent][[Л-Ctrl][] и [accent]нажмите левую кнопку мыши[], чтобы контролировать дружественные единицы и турели.
hint.unitControl.mobile = [accent]Дважды коснитесь[], чтобы контролировать дружественные единицы и турели. hint.unitControl.mobile = [accent]Дважды коснитесь[], чтобы контролировать дружественные единицы и турели.
hint.launch = Как только будет собрано достаточно ресурсов, вы сможете [accent]Стартовать[], выбрав близлежащие сектора на \ue827 [accent]Карте[] из правого нижнего угла. hint.launch = Как только будет собрано достаточно ресурсов, вы сможете осуществить [accent]Запуск[], выбрав близлежащие секторы на \ue827 [accent]Карте[] из правого нижнего угла.
hint.launch.mobile = Как только будет собрано достаточно ресурсов, вы сможете [accent]Стартовать[], выбрав близлежащие сектора на \ue827 [accent]Карте[] в \ue88c [accent]Меню[]. hint.launch.mobile = Как только будет собрано достаточно ресурсов, вы сможете осуществить [accent]Запуск[], выбрав близлежащие секторы на \ue827 [accent]Карте[] в \ue88c [accent]Меню[].
hint.schematicSelect = Зажмите [accent][[F][] и переместите, чтобы выбрать блоки для копирования и вставки.\n\nЩелкните [accent][[колёсиком][] по блоку для копирования. hint.schematicSelect = Зажмите [accent][[F][] и переместите, чтобы выбрать блоки для копирования и вставки.\n\nЩелкните [accent][[колёсиком][] по блоку для копирования.
hint.conveyorPathfind = Удерживайте [accent][[Л-Ctrl][] при размещении конвейеров для автоматической прокладки пути. hint.conveyorPathfind = Удерживайте [accent][[Л-Ctrl][] при размещении конвейеров для автоматической прокладки пути.
hint.conveyorPathfind.mobile = Включите \ue844 [accent]диагональный режим[] и перетащите конвейеры для автоматической прокладки пути. hint.conveyorPathfind.mobile = Включите \ue844 [accent]диагональный режим[] и перетащите конвейеры для автоматической прокладки пути.
@@ -1279,6 +1292,10 @@ hint.payloadDrop.mobile = [accent]Нажмите и удерживайте[] п
hint.waveFire = Турели [accent]Волна[] при подаче воды будут автоматически тушить пожары вокруг. hint.waveFire = Турели [accent]Волна[] при подаче воды будут автоматически тушить пожары вокруг.
hint.generator = \uf879 [accent]Генераторы внутреннего сгорания[] сжигают уголь и передают энергию рядомстоящим блокам.\n\nДальность передачи энергии может быть увеличена при помощи \uf87f [accent]силовых узлов[]. hint.generator = \uf879 [accent]Генераторы внутреннего сгорания[] сжигают уголь и передают энергию рядомстоящим блокам.\n\nДальность передачи энергии может быть увеличена при помощи \uf87f [accent]силовых узлов[].
hint.guardian = [accent]Стражи[] бронированы. Слабые боеприпасы, такие как [accent]медь[] и [accent]свинец[], [scarlet]не эффективны[].\n\Используйте турели высокого уровня или \uf835 [accent]графитные[] боеприпасы в \uf861двойных турелях/\uf859залпах, чтобы уничтожить Стража. hint.guardian = [accent]Стражи[] бронированы. Слабые боеприпасы, такие как [accent]медь[] и [accent]свинец[], [scarlet]не эффективны[].\n\Используйте турели высокого уровня или \uf835 [accent]графитные[] боеприпасы в \uf861двойных турелях/\uf859залпах, чтобы уничтожить Стража.
hint.coreUpgrade = Ядра могут быть улучшены путем [accent]размещения над ними ядер более высокого уровня[].\n\nПоместите ядро  [accent]Штаб[] поверх ядра  [accent]Осколок[]. Убедитесь, что никакие препятствия не мешают ему.
hint.presetLaunch = В серые [accent]секторы с посадочными зонами[], такие как [accent]Ледяной лес[], можно запускаться из любого места. Они не требуют захвата близлежащей территории.\n\n[accent]Нумерованные секторы[], такие как этот, [accent]не обязательны[] для прохождения.
hint.coreIncinerate = После того, как ядро будет заполнено предметом до отказа, любые лишние входящие предметы этого типа будут [accent]сожжены[].
hint.coopCampaign = Во время игры в [accent]кампанию по сети[], произведённые на текущей карте предметы будут также отправлены [accent]на ваши локальные секторы[].\n\nЛюбое исследование со стороны хоста также будет перенесено.
item.copper.description = Используется во всех типах построек и боеприпасов. item.copper.description = Используется во всех типах построек и боеприпасов.
item.copper.details = Медь. Аномально широко распространённый металл на Серпуло. Структурно слабый, если не укреплён. item.copper.details = Медь. Аномально широко распространённый металл на Серпуло. Структурно слабый, если не укреплён.
@@ -1298,7 +1315,7 @@ item.plastanium.description = Используется в продвинутой
item.phase-fabric.description = Используется в продвинутой электронике и самовосстанавливающихся постройках. item.phase-fabric.description = Используется в продвинутой электронике и самовосстанавливающихся постройках.
item.surge-alloy.description = Используется в продвинутом вооружении и реактивных оборонительных постройках. item.surge-alloy.description = Используется в продвинутом вооружении и реактивных оборонительных постройках.
item.spore-pod.description = Используется для переработки в нефть, взрывчатку и топливо. 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 = Используется в зажигательном оружии и твердотопливных генераторах.
@@ -1450,7 +1467,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 = Массивный рельсотронный ускоритель. Ускоряет ядро позволяя преодолеть гравитацию для межпланетного развёртывания block.interplanetary-accelerator.description = Массивный рельсотронный ускоритель. Ускоряет ядро, позволяя преодолеть гравитацию для межпланетного развёртывания
unit.dagger.description = Стреляет стандартными пулями по всем врагам поблизости. unit.dagger.description = Стреляет стандартными пулями по всем врагам поблизости.
unit.mace.description = Стреляет потоками огня по всем врагам поблизости. unit.mace.description = Стреляет потоками огня по всем врагам поблизости.

View File

@@ -38,6 +38,12 @@ be.ignore = Hayır
be.noupdates = Yeni güncelleme bulunamadı. be.noupdates = Yeni güncelleme bulunamadı.
be.check = Güncellemeleri kontrol et be.check = Güncellemeleri kontrol et
mod.featured.title = Mod Tarayıcısı
mod.featured.dialog.title = Mod Tarayıcısı
mods.browser.selected = Seçilen Mod
mods.browser.add = Modu İndir
mods.github.open = Modun GitHub Sayfasını
schematic = Şema schematic = Şema
schematic.add = Şemayı Kaydet... schematic.add = Şemayı Kaydet...
schematics = Şemalar schematics = Şemalar

View File

@@ -55,6 +55,13 @@ schematic.delete.confirm = Ви справді хочете видалити ц
schematic.rename = Перейменувати схему schematic.rename = Перейменувати схему
schematic.info = {0}x{1}, блоків: {2} schematic.info = {0}x{1}, блоків: {2}
schematic.disabled = [scarlet]Схеми вимкнені[]\nВам не дозволяється використовувати схеми на цій [accent]мапі[] чи [accent]сервері. schematic.disabled = [scarlet]Схеми вимкнені[]\nВам не дозволяється використовувати схеми на цій [accent]мапі[] чи [accent]сервері.
mod.featured.title = Переглядач модифікацій
mod.featured.dialog.title = Переглядач модифікацій
mods.browser.selected = Обрана модифікація
mods.browser.add = Установити модифікацію
mods.github.open = Відкрити в Github
stats = Статистика stats = Статистика
stat.wave = Хвиль відбито:[accent] {0} stat.wave = Хвиль відбито:[accent] {0}
stat.enemiesDestroyed = Противників знищено:[accent] {0} stat.enemiesDestroyed = Противників знищено:[accent] {0}

View File

@@ -7,7 +7,7 @@ Baltazár Radics
Dexapnow Dexapnow
Milinai Milinai
키에르 키에르
Luxray5474 skybldev
Leone25 Leone25
Gureumi Gureumi
VizardAlpha VizardAlpha
@@ -84,6 +84,7 @@ amrsoll
ねらひかだ ねらひかだ
Draco Draco
Quezler Quezler
killall -q
Alicila Alicila
Daniel Dusek Daniel Dusek
DeltaNedas DeltaNedas

Binary file not shown.

View File

@@ -50,5 +50,5 @@ const cons = method => new Cons(){get: method}
const prov = method => new Prov(){get: method} const prov = method => new Prov(){get: method}
const func = method => new Func(){get: method} const func = method => new Func(){get: method}
const newEffect = (lifetime, renderer) => new Effects.Effect(lifetime, new Effects.EffectRenderer({render: renderer})) const newEffect = (lifetime, renderer) => new Effect.Effect(lifetime, new Effect.EffectRenderer({render: renderer}))
Call = Packages.mindustry.gen.Call Call = Packages.mindustry.gen.Call

View File

@@ -52,7 +52,7 @@ const cons = method => new Cons(){get: method}
const prov = method => new Prov(){get: method} const prov = method => new Prov(){get: method}
const func = method => new Func(){get: method} const func = method => new Func(){get: method}
const newEffect = (lifetime, renderer) => new Effects.Effect(lifetime, new Effects.EffectRenderer({render: renderer})) const newEffect = (lifetime, renderer) => new Effect.Effect(lifetime, new Effect.EffectRenderer({render: renderer}))
Call = Packages.mindustry.gen.Call Call = Packages.mindustry.gen.Call
importPackage(Packages.arc) importPackage(Packages.arc)
@@ -165,6 +165,7 @@ const SectorInvasionEvent = Packages.mindustry.game.EventType.SectorInvasionEven
const SectorLoseEvent = Packages.mindustry.game.EventType.SectorLoseEvent const SectorLoseEvent = Packages.mindustry.game.EventType.SectorLoseEvent
const WorldLoadEvent = Packages.mindustry.game.EventType.WorldLoadEvent const WorldLoadEvent = Packages.mindustry.game.EventType.WorldLoadEvent
const ClientLoadEvent = Packages.mindustry.game.EventType.ClientLoadEvent const ClientLoadEvent = Packages.mindustry.game.EventType.ClientLoadEvent
const ContentInitEvent = Packages.mindustry.game.EventType.ContentInitEvent
const BlockInfoEvent = Packages.mindustry.game.EventType.BlockInfoEvent const BlockInfoEvent = Packages.mindustry.game.EventType.BlockInfoEvent
const CoreItemDeliverEvent = Packages.mindustry.game.EventType.CoreItemDeliverEvent const CoreItemDeliverEvent = Packages.mindustry.game.EventType.CoreItemDeliverEvent
const TurretAmmoDeliverEvent = Packages.mindustry.game.EventType.TurretAmmoDeliverEvent const TurretAmmoDeliverEvent = Packages.mindustry.game.EventType.TurretAmmoDeliverEvent

Binary file not shown.

Before

Width:  |  Height:  |  Size: 831 B

File diff suppressed because it is too large Load Diff

Binary file not shown.

Before

Width:  |  Height:  |  Size: 563 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 660 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 901 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 667 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 186 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 372 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 440 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 1.4 MiB

File diff suppressed because it is too large Load Diff

Binary file not shown.

Before

Width:  |  Height:  |  Size: 3.0 MiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 187 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 354 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 438 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 1.4 MiB

View File

@@ -17,6 +17,7 @@ import mindustry.game.*;
import mindustry.gen.*; import mindustry.gen.*;
import mindustry.input.*; import mindustry.input.*;
import mindustry.io.*; import mindustry.io.*;
import mindustry.logic.*;
import mindustry.maps.Map; import mindustry.maps.Map;
import mindustry.maps.*; import mindustry.maps.*;
import mindustry.mod.*; import mindustry.mod.*;
@@ -67,6 +68,8 @@ public class Vars implements Loadable{
public static final String reportIssueURL = "https://github.com/Anuken/Mindustry/issues/new?labels=bug&template=bug_report.md"; public static final String reportIssueURL = "https://github.com/Anuken/Mindustry/issues/new?labels=bug&template=bug_report.md";
/** list of built-in servers.*/ /** list of built-in servers.*/
public static final Seq<ServerGroup> defaultServers = Seq.with(); public static final Seq<ServerGroup> defaultServers = Seq.with();
/** maximum size of any block, do not change unless you know what you're doing */
public static final int maxBlockSize = 16;
/** maximum distance between mine and core that supports automatic transferring */ /** maximum distance between mine and core that supports automatic transferring */
public static final float mineTransferRange = 220f; public static final float mineTransferRange = 220f;
/** max chat message length */ /** max chat message length */
@@ -193,6 +196,7 @@ public class Vars implements Loadable{
public static BeControl becontrol; public static BeControl becontrol;
public static AsyncCore asyncCore; public static AsyncCore asyncCore;
public static BaseRegistry bases; public static BaseRegistry bases;
public static GlobalConstants constants;
public static Universe universe; public static Universe universe;
public static World world; public static World world;
@@ -266,6 +270,7 @@ public class Vars implements Loadable{
indexer = new BlockIndexer(); indexer = new BlockIndexer();
pathfinder = new Pathfinder(); pathfinder = new Pathfinder();
bases = new BaseRegistry(); bases = new BaseRegistry();
constants = new GlobalConstants();
state = new GameState(); state = new GameState();

View File

@@ -1,7 +1,5 @@
package mindustry.ai; package mindustry.ai;
import arc.*;
import arc.input.*;
import arc.math.*; import arc.math.*;
import arc.math.geom.*; import arc.math.geom.*;
import arc.struct.*; import arc.struct.*;

View File

@@ -55,6 +55,12 @@ public class WaveSpawner{
public void spawnEnemies(){ public void spawnEnemies(){
spawning = true; spawning = true;
eachGroundSpawn((spawnX, spawnY, doShockwave) -> {
if(doShockwave){
doShockwave(spawnX, spawnY);
}
});
for(SpawnGroup group : state.rules.spawns){ for(SpawnGroup group : state.rules.spawns){
if(group.type == null) continue; if(group.type == null) continue;
@@ -86,18 +92,12 @@ public class WaveSpawner{
} }
} }
eachGroundSpawn((spawnX, spawnY, doShockwave) -> {
if(doShockwave){
doShockwave(spawnX, spawnY);
}
});
Time.runTask(121f, () -> spawning = false); Time.runTask(121f, () -> spawning = false);
} }
public void doShockwave(float x, float y){ public void doShockwave(float x, float y){
Time.run(20f, () -> Fx.spawnShockwave.at(x, y, state.rules.dropZoneRadius)); Fx.spawnShockwave.at(x, y, state.rules.dropZoneRadius);
Time.run(40f, () -> Damage.damage(state.rules.waveTeam, x, y, state.rules.dropZoneRadius, 99999999f, true)); Damage.damage(state.rules.waveTeam, x, y, state.rules.dropZoneRadius, 99999999f, true);
} }
public void eachGroundSpawn(Intc2 cons){ public void eachGroundSpawn(Intc2 cons){

View File

@@ -45,8 +45,18 @@ public class BuilderAI extends AIController{
//approach request if building //approach request if building
BuildPlan req = unit.buildPlan(); BuildPlan req = unit.buildPlan();
//clear break plan if another player is breaking something.
if(!req.breaking && timer.get(timerTarget2, 40f)){
for(Player player : Groups.player){
if(player.isBuilder() && player.unit().activelyBuilding() && player.unit().buildPlan().samePos(req) && player.unit().buildPlan().breaking){
unit.plans.removeFirst();
return;
}
}
}
boolean valid = boolean valid =
(req.tile() != null && req.tile().build instanceof ConstructBuild && req.tile().<ConstructBuild>bc().cblock == req.block) || (req.tile() != null && req.tile().build instanceof ConstructBuild cons && cons.cblock == req.block) ||
(req.breaking ? (req.breaking ?
Build.validBreak(unit.team(), req.x, req.y) : Build.validBreak(unit.team(), req.x, req.y) :
Build.validPlace(req.block, unit.team(), req.x, req.y, req.rotation)); Build.validPlace(req.block, unit.team(), req.x, req.y, req.rotation));
@@ -120,6 +130,6 @@ public class BuilderAI extends AIController{
@Override @Override
public boolean shouldShoot(){ public boolean shouldShoot(){
return !((Builderc)unit).isBuilding(); return !unit.isBuilding();
} }
} }

View File

@@ -12,7 +12,7 @@ public class FlyingAI extends AIController{
@Override @Override
public void updateMovement(){ public void updateMovement(){
if(target != null && unit.hasWeapons() && command() == UnitCommand.attack){ if(target != null && unit.hasWeapons() && command() == UnitCommand.attack){
if(unit.type.weapons.first().rotate){ if(!unit.type.circleTarget){
moveTo(target, unit.range() * 0.8f); moveTo(target, unit.range() * 0.8f);
unit.lookAt(target); unit.lookAt(target);
}else{ }else{

View File

@@ -33,11 +33,10 @@ public class FormationAI extends AIController implements FormationMember{
} }
if(unit.type.canBoost){ if(unit.type.canBoost){
unit.elevation = Mathf.approachDelta(unit.elevation, !unit.canPassOn() ? 1f : leader.type.canBoost ? leader.elevation : 0f, 0.08f); unit.elevation = Mathf.approachDelta(unit.elevation, unit.onSolid() ? 1f : leader.type.canBoost ? leader.elevation : 0f, 0.08f);
} }
unit.controlWeapons(true, leader.isShooting); unit.controlWeapons(true, leader.isShooting);
// unit.moveAt(Tmp.v1.set(deltaX, deltaY).limit(unit.type().speed));
unit.aim(leader.aimX(), leader.aimY()); unit.aim(leader.aimX(), leader.aimY());
@@ -47,17 +46,10 @@ public class FormationAI extends AIController implements FormationMember{
unit.lookAt(unit.vel.angle()); unit.lookAt(unit.vel.angle());
} }
Vec2 realtarget = vec.set(target); Vec2 realtarget = vec.set(target).add(leader.vel.x, leader.vel.y);
float margin = 4f; float speed = unit.realSpeed() * unit.floorSpeedMultiplier();
unit.approach(Mathf.arrive(unit.x, unit.y, realtarget.x, realtarget.y, unit.vel, 0f, 0.01f, speed, 1f));
float speed = unit.realSpeed();
if(unit.dst(realtarget) <= margin){
//unit.vel.approachDelta(Vec2.ZERO, speed * type.accel / 2f);
}else{
unit.moveAt(realtarget.sub(unit).limit(speed));
}
if(unit.canMine() && leader.canMine()){ if(unit.canMine() && leader.canMine()){
if(leader.mineTile != null && unit.validMine(leader.mineTile)){ if(leader.mineTile != null && unit.validMine(leader.mineTile)){

View File

@@ -1,6 +1,7 @@
package mindustry.ai.types; package mindustry.ai.types;
import arc.math.*; import arc.math.*;
import arc.math.geom.*;
import arc.struct.*; import arc.struct.*;
import arc.util.*; import arc.util.*;
import mindustry.ai.*; import mindustry.ai.*;
@@ -67,7 +68,7 @@ public class LogicAI extends AIController{
moveTo(Tmp.v1.set(moveX, moveY), 1f, 30f); moveTo(Tmp.v1.set(moveX, moveY), 1f, 30f);
} }
case approach -> { case approach -> {
moveTo(Tmp.v1.set(moveX, moveY), moveRad - 8f, 8f); moveTo(Tmp.v1.set(moveX, moveY), moveRad - 7f, 7);
} }
case pathfind -> { case pathfind -> {
Building core = unit.closestEnemyCore(); Building core = unit.closestEnemyCore();
@@ -103,7 +104,7 @@ public class LogicAI extends AIController{
//look where moving if there's nothing to aim at //look where moving if there's nothing to aim at
if(!shoot){ if(!shoot){
unit.lookAt(unit.prefRotation()); unit.lookAt(unit.prefRotation());
}else if(unit.hasWeapons()){ //if there is, look at the object }else if(unit.hasWeapons() && unit.mounts.length > 0){ //if there is, look at the object
unit.lookAt(unit.mounts[0].aimX, unit.mounts[0].aimY); unit.lookAt(unit.mounts[0].aimX, unit.mounts[0].aimY);
} }
} }
@@ -112,6 +113,24 @@ public class LogicAI extends AIController{
return radars.add(radar); return radars.add(radar);
} }
@Override
protected void moveTo(Position target, float circleLength, float smooth){
if(target == null) return;
vec.set(target).sub(unit);
float length = circleLength <= 0.001f ? 1f : Mathf.clamp((unit.dst(target) - circleLength) / smooth, -1f, 1f);
vec.setLength(unit.realSpeed() * length);
if(length < -0.5f){
vec.rotate(180f);
}else if(length < 0){
vec.setZero();
}
unit.approach(vec);
}
//always retarget //always retarget
@Override @Override
protected boolean retarget(){ protected boolean retarget(){

View File

@@ -4,6 +4,7 @@ import arc.*;
import arc.graphics.*; import arc.graphics.*;
import arc.graphics.g2d.*; import arc.graphics.g2d.*;
import arc.struct.*; import arc.struct.*;
import mindustry.*;
import mindustry.ctype.*; import mindustry.ctype.*;
import mindustry.entities.bullet.*; import mindustry.entities.bullet.*;
import mindustry.gen.*; import mindustry.gen.*;
@@ -134,7 +135,7 @@ public class Blocks implements ContentList{
//Registers build blocks //Registers build blocks
//no reference is needed here since they can be looked up by name later //no reference is needed here since they can be looked up by name later
for(int i = 1; i <= ConstructBlock.maxSize; i++){ for(int i = 1; i <= Vars.maxBlockSize; i++){
new ConstructBlock(i); new ConstructBlock(i);
} }
@@ -613,6 +614,7 @@ public class Blocks implements ContentList{
craftTime = 75f; craftTime = 75f;
size = 3; size = 3;
hasPower = true; hasPower = true;
itemCapacity = 20;
consumes.power(4f); consumes.power(4f);
consumes.items(with(Items.copper, 3, Items.lead, 4, Items.titanium, 2, Items.silicon, 3)); consumes.items(with(Items.copper, 3, Items.lead, 4, Items.titanium, 2, Items.silicon, 3));
@@ -874,7 +876,7 @@ public class Blocks implements ContentList{
size = 4; size = 4;
}}; }};
thruster = new Wall("thruster"){{ thruster = new Thruster("thruster"){{
health = 55 * 16 * wallHealthMultiplier; health = 55 * 16 * wallHealthMultiplier;
size = 4; size = 4;
}}; }};
@@ -981,15 +983,15 @@ public class Blocks implements ContentList{
junction = new Junction("junction"){{ junction = new Junction("junction"){{
requirements(Category.distribution, with(Items.copper, 2), true); requirements(Category.distribution, with(Items.copper, 2), true);
speed = 26; speed = 26;
capacity = 12; capacity = 6;
health = 30; health = 30;
buildCostMultiplier = 6f; buildCostMultiplier = 6f;
}}; }};
itemBridge = new BufferedItemBridge("bridge-conveyor"){{ itemBridge = new BufferedItemBridge("bridge-conveyor"){{
requirements(Category.distribution, with(Items.lead, 4, Items.copper, 4)); requirements(Category.distribution, with(Items.lead, 6, Items.copper, 6));
range = 4; range = 4;
speed = 70f; speed = 74f;
bufferCapacity = 14; bufferCapacity = 14;
}}; }};
@@ -1263,7 +1265,7 @@ public class Blocks implements ContentList{
tier = 2; tier = 2;
drillTime = 600; drillTime = 600;
size = 2; size = 2;
drawMineItem = true;
consumes.liquid(Liquids.water, 0.05f).boost(); consumes.liquid(Liquids.water, 0.05f).boost();
}}; }};
@@ -1272,7 +1274,7 @@ public class Blocks implements ContentList{
tier = 3; tier = 3;
drillTime = 400; drillTime = 400;
size = 2; size = 2;
drawMineItem = true;
consumes.liquid(Liquids.water, 0.06f).boost(); consumes.liquid(Liquids.water, 0.06f).boost();
}}; }};
@@ -1514,7 +1516,7 @@ public class Blocks implements ContentList{
}}; }};
lancer = new PowerTurret("lancer"){{ lancer = new PowerTurret("lancer"){{
requirements(Category.turret, with(Items.copper, 25, Items.lead, 50, Items.silicon, 45)); requirements(Category.turret, with(Items.copper, 60, Items.lead, 70, Items.silicon, 50));
range = 165f; range = 165f;
chargeTime = 40f; chargeTime = 40f;
chargeMaxDelay = 30f; chargeMaxDelay = 30f;
@@ -1547,7 +1549,7 @@ public class Blocks implements ContentList{
}}; }};
arc = new PowerTurret("arc"){{ arc = new PowerTurret("arc"){{
requirements(Category.turret, with(Items.copper, 35, Items.lead, 50)); requirements(Category.turret, with(Items.copper, 50, Items.lead, 50));
shootType = new LightningBulletType(){{ shootType = new LightningBulletType(){{
damage = 20; damage = 20;
lightningLength = 25; lightningLength = 25;
@@ -1601,7 +1603,7 @@ public class Blocks implements ContentList{
}}; }};
salvo = new ItemTurret("salvo"){{ salvo = new ItemTurret("salvo"){{
requirements(Category.turret, with(Items.copper, 105, Items.graphite, 95, Items.titanium, 60)); requirements(Category.turret, with(Items.copper, 100, Items.graphite, 90, Items.titanium, 60));
ammo( ammo(
Items.copper, Bullets.standardCopper, Items.copper, Bullets.standardCopper,
Items.graphite, Bullets.standardDense, Items.graphite, Bullets.standardDense,
@@ -1761,7 +1763,7 @@ public class Blocks implements ContentList{
despawnEffect = Fx.instBomb; despawnEffect = Fx.instBomb;
trailSpacing = 20f; trailSpacing = 20f;
damage = 1350; damage = 1350;
tileDamageMultiplier = 0.3f; buildingDamageMultiplier = 0.3f;
speed = brange; speed = brange;
hitShake = 6f; hitShake = 6f;
ammoMultiplier = 1f; ammoMultiplier = 1f;
@@ -1770,7 +1772,7 @@ public class Blocks implements ContentList{
maxAmmo = 40; maxAmmo = 40;
ammoPerShot = 4; ammoPerShot = 4;
rotateSpeed = 2.5f; rotateSpeed = 2f;
reloadTime = 200f; reloadTime = 200f;
ammoUseEffect = Fx.casing3Double; ammoUseEffect = Fx.casing3Double;
recoilAmount = 5f; recoilAmount = 5f;
@@ -1783,7 +1785,7 @@ public class Blocks implements ContentList{
shootSound = Sounds.railgun; shootSound = Sounds.railgun;
unitSort = (u, x, y) -> -u.maxHealth; unitSort = (u, x, y) -> -u.maxHealth;
coolantMultiplier = 0.2f; coolantMultiplier = 0.4f;
health = 150 * size * size; health = 150 * size * size;
coolantUsage = 1f; coolantUsage = 1f;
@@ -1990,6 +1992,7 @@ public class Blocks implements ContentList{
powerSource = new PowerSource("power-source"){{ powerSource = new PowerSource("power-source"){{
requirements(Category.power, BuildVisibility.sandboxOnly, with()); requirements(Category.power, BuildVisibility.sandboxOnly, with());
powerProduction = 10000f / 60f;
alwaysUnlocked = true; alwaysUnlocked = true;
}}; }};

View File

@@ -172,7 +172,7 @@ public class Bullets implements ContentList{
}}; }};
flakGlass = new FlakBulletType(4f, 3){{ flakGlass = new FlakBulletType(4f, 3){{
lifetime = 70f; lifetime = 60f;
ammoMultiplier = 5f; ammoMultiplier = 5f;
shootEffect = Fx.shootSmall; shootEffect = Fx.shootSmall;
reloadMultiplier = 0.8f; reloadMultiplier = 0.8f;
@@ -206,7 +206,6 @@ public class Bullets implements ContentList{
}}; }};
fragGlass = new FlakBulletType(4f, 3){{ fragGlass = new FlakBulletType(4f, 3){{
lifetime = 70f;
ammoMultiplier = 3f; ammoMultiplier = 3f;
shootEffect = Fx.shootSmall; shootEffect = Fx.shootSmall;
reloadMultiplier = 0.8f; reloadMultiplier = 0.8f;
@@ -445,19 +444,20 @@ public class Bullets implements ContentList{
waterShot = new LiquidBulletType(Liquids.water){{ waterShot = new LiquidBulletType(Liquids.water){{
knockback = 0.7f; knockback = 0.7f;
drag = 0.01f;
}}; }};
cryoShot = new LiquidBulletType(Liquids.cryofluid){{ cryoShot = new LiquidBulletType(Liquids.cryofluid){{
drag = 0.01f;
}}; }};
slagShot = new LiquidBulletType(Liquids.slag){{ slagShot = new LiquidBulletType(Liquids.slag){{
damage = 4; damage = 4;
drag = 0.03f; drag = 0.01f;
}}; }};
oilShot = new LiquidBulletType(Liquids.oil){{ oilShot = new LiquidBulletType(Liquids.oil){{
drag = 0.03f; drag = 0.01f;
}}; }};
heavyWaterShot = new LiquidBulletType(Liquids.water){{ heavyWaterShot = new LiquidBulletType(Liquids.water){{
@@ -465,6 +465,7 @@ public class Bullets implements ContentList{
speed = 4f; speed = 4f;
knockback = 1.7f; knockback = 1.7f;
puddleSize = 8f; puddleSize = 8f;
orbSize = 4f;
drag = 0.001f; drag = 0.001f;
ammoMultiplier = 0.4f; ammoMultiplier = 0.4f;
statusDuration = 60f * 4f; statusDuration = 60f * 4f;
@@ -476,6 +477,7 @@ public class Bullets implements ContentList{
speed = 4f; speed = 4f;
knockback = 1.3f; knockback = 1.3f;
puddleSize = 8f; puddleSize = 8f;
orbSize = 4f;
drag = 0.001f; drag = 0.001f;
ammoMultiplier = 0.4f; ammoMultiplier = 0.4f;
statusDuration = 60f * 4f; statusDuration = 60f * 4f;
@@ -487,6 +489,7 @@ public class Bullets implements ContentList{
speed = 4f; speed = 4f;
knockback = 1.3f; knockback = 1.3f;
puddleSize = 8f; puddleSize = 8f;
orbSize = 4f;
damage = 4.75f; damage = 4.75f;
drag = 0.001f; drag = 0.001f;
ammoMultiplier = 0.4f; ammoMultiplier = 0.4f;
@@ -498,6 +501,7 @@ public class Bullets implements ContentList{
speed = 4f; speed = 4f;
knockback = 1.3f; knockback = 1.3f;
puddleSize = 8f; puddleSize = 8f;
orbSize = 4f;
drag = 0.001f; drag = 0.001f;
ammoMultiplier = 0.4f; ammoMultiplier = 0.4f;
statusDuration = 60f * 4f; statusDuration = 60f * 4f;

View File

@@ -58,7 +58,7 @@ public class Fx{
alpha(e.fout()); alpha(e.fout());
rect(block ? ((BlockUnitc)select).tile().block.icon(Cicon.full) : select.type.icon(Cicon.full), select.x, select.y, block ? 0f : select.rotation - 90f); rect(block ? ((BlockUnitc)select).tile().block.icon(Cicon.full) : select.type.icon(Cicon.full), select.x, select.y, block ? 0f : select.rotation - 90f);
alpha(1f); alpha(1f);
Lines.stroke(e.fslope() * 1f); Lines.stroke(e.fslope());
Lines.square(select.x, select.y, e.fout() * select.hitSize * 2f, 45); Lines.square(select.x, select.y, e.fout() * select.hitSize * 2f, 45);
Lines.stroke(e.fslope() * 2f); Lines.stroke(e.fslope() * 2f);
Lines.square(select.x, select.y, e.fout() * select.hitSize * 3f, 45f); Lines.square(select.x, select.y, e.fout() * select.hitSize * 3f, 45f);
@@ -96,7 +96,7 @@ public class Fx{
x = Tmp.v1.x; x = Tmp.v1.x;
y = Tmp.v1.y; y = Tmp.v1.y;
Fill.square(x, y, 1f * size, 45f); Fill.square(x, y, size, 45f);
}), }),
itemTransfer = new Effect(12f, e -> { itemTransfer = new Effect(12f, e -> {
@@ -127,7 +127,7 @@ public class Fx{
pointHit = new Effect(8f, e -> { pointHit = new Effect(8f, e -> {
color(Color.white, e.color, e.fin()); color(Color.white, e.color, e.fin());
stroke(e.fout() * 1f + 0.2f); stroke(e.fout() + 0.2f);
Lines.circle(e.x, e.y, e.fin() * 6f); Lines.circle(e.x, e.y, e.fin() * 6f);
}), }),
@@ -560,7 +560,7 @@ public class Fx{
}); });
color(Pal.lighterOrange); color(Pal.lighterOrange);
stroke(1f * e.fout()); stroke(e.fout());
randLenVectors(e.id + 1, 4, 1f + 23f * e.finpow(), (x, y) -> { randLenVectors(e.id + 1, 4, 1f + 23f * e.finpow(), (x, y) -> {
lineAngle(e.x + x, e.y + y, Mathf.angle(x, y), 1f + e.fout() * 3f); lineAngle(e.x + x, e.y + y, Mathf.angle(x, y), 1f + e.fout() * 3f);
@@ -582,7 +582,7 @@ public class Fx{
}); });
color(Pal.plastaniumBack); color(Pal.plastaniumBack);
stroke(1f * e.fout()); stroke(e.fout());
randLenVectors(e.id + 1, 4, 1f + 25f * e.finpow(), (x, y) -> { randLenVectors(e.id + 1, 4, 1f + 25f * e.finpow(), (x, y) -> {
lineAngle(e.x + x, e.y + y, Mathf.angle(x, y), 1f + e.fout() * 3f); lineAngle(e.x + x, e.y + y, Mathf.angle(x, y), 1f + e.fout() * 3f);
@@ -604,7 +604,7 @@ public class Fx{
}); });
color(Pal.plastaniumBack); color(Pal.plastaniumBack);
stroke(1f * e.fout()); stroke(e.fout());
randLenVectors(e.id + 1, 4, 1f + 30f * e.finpow(), (x, y) -> { randLenVectors(e.id + 1, 4, 1f + 30f * e.finpow(), (x, y) -> {
lineAngle(e.x + x, e.y + y, Mathf.angle(x, y), 1f + e.fout() * 3f); lineAngle(e.x + x, e.y + y, Mathf.angle(x, y), 1f + e.fout() * 3f);
@@ -626,7 +626,7 @@ public class Fx{
}); });
color(Pal.missileYellowBack); color(Pal.missileYellowBack);
stroke(1f * e.fout()); stroke(e.fout());
randLenVectors(e.id + 1, 4, 1f + 23f * e.finpow(), (x, y) -> { randLenVectors(e.id + 1, 4, 1f + 23f * e.finpow(), (x, y) -> {
lineAngle(e.x + x, e.y + y, Mathf.angle(x, y), 1f + e.fout() * 3f); lineAngle(e.x + x, e.y + y, Mathf.angle(x, y), 1f + e.fout() * 3f);
@@ -648,7 +648,7 @@ public class Fx{
}); });
color(Pal.sapBulletBack); color(Pal.sapBulletBack);
stroke(1f * e.fout()); stroke(e.fout());
randLenVectors(e.id + 1, 8, 1f + 60f * e.finpow(), (x, y) -> { randLenVectors(e.id + 1, 8, 1f + 60f * e.finpow(), (x, y) -> {
lineAngle(e.x + x, e.y + y, Mathf.angle(x, y), 1f + e.fout() * 3f); lineAngle(e.x + x, e.y + y, Mathf.angle(x, y), 1f + e.fout() * 3f);
@@ -670,7 +670,7 @@ public class Fx{
}); });
color(Pal.missileYellowBack); color(Pal.missileYellowBack);
stroke(1f * e.fout()); stroke(e.fout());
randLenVectors(e.id + 1, 6, 1f + 29f * e.finpow(), (x, y) -> { randLenVectors(e.id + 1, 6, 1f + 29f * e.finpow(), (x, y) -> {
lineAngle(e.x + x, e.y + y, Mathf.angle(x, y), 1f + e.fout() * 4f); lineAngle(e.x + x, e.y + y, Mathf.angle(x, y), 1f + e.fout() * 4f);
@@ -713,7 +713,7 @@ public class Fx{
}); });
color(Pal.bulletYellow); color(Pal.bulletYellow);
stroke(1f * e.fout()); stroke(e.fout());
randLenVectors(e.id + 1, 4, 1f + 23f * e.finpow(), (x, y) -> { randLenVectors(e.id + 1, 4, 1f + 23f * e.finpow(), (x, y) -> {
lineAngle(e.x + x, e.y + y, Mathf.angle(x, y), 1f + e.fout() * 3f); lineAngle(e.x + x, e.y + y, Mathf.angle(x, y), 1f + e.fout() * 3f);
@@ -792,14 +792,14 @@ public class Fx{
color(Liquids.water.color); color(Liquids.water.color);
alpha(Mathf.clamp(e.fin() * 2f)); alpha(Mathf.clamp(e.fin() * 2f));
Fill.circle(e.x, e.y, e.fout() * 1f); Fill.circle(e.x, e.y, e.fout());
}), }),
muddy = new Effect(80f, e -> { muddy = new Effect(80f, e -> {
color(Color.valueOf("432722")); color(Color.valueOf("432722"));
alpha(Mathf.clamp(e.fin() * 2f)); alpha(Mathf.clamp(e.fin() * 2f));
Fill.circle(e.x, e.y, e.fout() * 1f); Fill.circle(e.x, e.y, e.fout());
}), }),
sapped = new Effect(40f, e -> { sapped = new Effect(40f, e -> {
@@ -820,7 +820,7 @@ public class Fx{
color(Liquids.oil.color); color(Liquids.oil.color);
randLenVectors(e.id, 2, 1f + e.fin() * 2f, (x, y) -> { randLenVectors(e.id, 2, 1f + e.fin() * 2f, (x, y) -> {
Fill.circle(e.x + x, e.y + y, e.fout() * 1f); Fill.circle(e.x + x, e.y + y, e.fout());
}); });
}), }),
@@ -885,7 +885,7 @@ public class Fx{
randLenVectors(e.id, 6, 2f + 19f * e.finpow(), (x, y) -> { randLenVectors(e.id, 6, 2f + 19f * e.finpow(), (x, y) -> {
Fill.circle(e.x + x, e.y + y, e.fout() * 3f + 0.5f); Fill.circle(e.x + x, e.y + y, e.fout() * 3f + 0.5f);
Fill.circle(e.x + x / 2f, e.y + y / 2f, e.fout() * 1f); Fill.circle(e.x + x / 2f, e.y + y / 2f, e.fout());
}); });
color(Pal.lighterOrange, Pal.lightOrange, Color.gray, e.fin()); color(Pal.lighterOrange, Pal.lightOrange, Color.gray, e.fin());
@@ -929,7 +929,7 @@ public class Fx{
randLenVectors(e.id, 6, 2f + 19f * e.finpow(), (x, y) -> { randLenVectors(e.id, 6, 2f + 19f * e.finpow(), (x, y) -> {
Fill.circle(e.x + x, e.y + y, e.fout() * 3f + 0.5f); Fill.circle(e.x + x, e.y + y, e.fout() * 3f + 0.5f);
Fill.circle(e.x + x / 2f, e.y + y / 2f, e.fout() * 1f); Fill.circle(e.x + x / 2f, e.y + y / 2f, e.fout());
}); });
color(Pal.lighterOrange, Pal.lightOrange, Color.gray, e.fin()); color(Pal.lighterOrange, Pal.lightOrange, Color.gray, e.fin());
@@ -945,7 +945,7 @@ public class Fx{
randLenVectors(e.id, 6, 4f + 30f * e.finpow(), (x, y) -> { randLenVectors(e.id, 6, 4f + 30f * e.finpow(), (x, y) -> {
Fill.circle(e.x + x, e.y + y, e.fout() * 3f); Fill.circle(e.x + x, e.y + y, e.fout() * 3f);
Fill.circle(e.x + x / 2f, e.y + y / 2f, e.fout() * 1f); Fill.circle(e.x + x / 2f, e.y + y / 2f, e.fout());
}); });
}), }),
@@ -1311,7 +1311,7 @@ public class Fx{
plasticburn = new Effect(40, e -> { plasticburn = new Effect(40, e -> {
randLenVectors(e.id, 5, 3f + e.fin() * 5f, (x, y) -> { randLenVectors(e.id, 5, 3f + e.fin() * 5f, (x, y) -> {
color(Color.valueOf("e9ead3"), Color.gray, e.fin()); color(Color.valueOf("e9ead3"), Color.gray, e.fin());
Fill.circle(e.x + x, e.y + y, e.fout() * 1f); Fill.circle(e.x + x, e.y + y, e.fout());
}); });
}), }),
@@ -1339,14 +1339,14 @@ public class Fx{
pulverizeSmall = new Effect(30, e -> { pulverizeSmall = new Effect(30, e -> {
randLenVectors(e.id, 3, e.fin() * 5f, (x, y) -> { randLenVectors(e.id, 3, e.fin() * 5f, (x, y) -> {
color(Pal.stoneGray); color(Pal.stoneGray);
Fill.square(e.x + x, e.y + y, e.fout() * 1f + 0.5f, 45); Fill.square(e.x + x, e.y + y, e.fout() + 0.5f, 45);
}); });
}), }),
pulverizeMedium = new Effect(30, e -> { pulverizeMedium = new Effect(30, e -> {
randLenVectors(e.id, 5, 3f + e.fin() * 8f, (x, y) -> { randLenVectors(e.id, 5, 3f + e.fin() * 8f, (x, y) -> {
color(Pal.stoneGray); color(Pal.stoneGray);
Fill.square(e.x + x, e.y + y, e.fout() * 1f + 0.5f, 45); Fill.square(e.x + x, e.y + y, e.fout() + 0.5f, 45);
}); });
}), }),
@@ -1548,7 +1548,7 @@ public class Fx{
overdriveWave = new Effect(50, e -> { overdriveWave = new Effect(50, e -> {
color(e.color); color(e.color);
stroke(e.fout() * 1f); stroke(e.fout());
Lines.circle(e.x, e.y, e.finpow() * e.rotation); Lines.circle(e.x, e.y, e.finpow() * e.rotation);
}), }),
@@ -1593,7 +1593,7 @@ public class Fx{
}); });
color(Pal.shield, e.fout()); color(Pal.shield, e.fout());
stroke(1f * e.fout()); stroke(e.fout());
Lines.circle(e.x, e.y, radius); Lines.circle(e.x, e.y, radius);
}), }),

View File

@@ -32,6 +32,7 @@ public class Items implements ContentList{
sand = new Item("sand", Color.valueOf("f7cba4")){{ sand = new Item("sand", Color.valueOf("f7cba4")){{
alwaysUnlocked = true; alwaysUnlocked = true;
lowPriority = true;
}}; }};
coal = new Item("coal", Color.valueOf("272727")){{ coal = new Item("coal", Color.valueOf("272727")){{

View File

@@ -18,7 +18,7 @@ public class Liquids implements ContentList{
slag = new Liquid("slag", Color.valueOf("ffa166")){{ slag = new Liquid("slag", Color.valueOf("ffa166")){{
temperature = 1f; temperature = 1f;
viscosity = 0.8f; viscosity = 0.7f;
effect = StatusEffects.melting; effect = StatusEffects.melting;
lightColor = Color.valueOf("f0511d").a(0.4f); lightColor = Color.valueOf("f0511d").a(0.4f);
}}; }};

View File

@@ -25,10 +25,10 @@ public class StatusEffects implements ContentList{
effect = Fx.burning; effect = Fx.burning;
init(() -> { init(() -> {
opposite(wet,freezing); opposite(wet, freezing);
trans(tarred, ((unit, time, newTime, result) -> { trans(tarred, ((unit, time, newTime, result) -> {
unit.damagePierce(8f); unit.damagePierce(8f);
Fx.burning.at(unit.x() + Mathf.range(unit.bounds() / 2f), unit.y() + Mathf.range(unit.bounds() / 2f)); Fx.burning.at(unit.x + Mathf.range(unit.bounds() / 2f), unit.y + Mathf.range(unit.bounds() / 2f));
result.set(this, Math.min(time + newTime, 300f)); result.set(this, Math.min(time + newTime, 300f));
})); }));
}); });
@@ -93,8 +93,12 @@ public class StatusEffects implements ContentList{
effect = Fx.melting; effect = Fx.melting;
init(() -> { init(() -> {
trans(tarred, ((unit, time, newTime, result) -> result.set(this, Math.min(time + newTime / 2f, 140f))));
opposite(wet, freezing); opposite(wet, freezing);
trans(tarred, ((unit, time, newTime, result) -> {
unit.damagePierce(8f);
Fx.burning.at(unit.x + Mathf.range(unit.bounds() / 2f), unit.y + Mathf.range(unit.bounds() / 2f));
result.set(this, Math.min(time + newTime, 200f));
}));
}); });
}}; }};
@@ -119,7 +123,7 @@ public class StatusEffects implements ContentList{
effect = Fx.oily; effect = Fx.oily;
init(() -> { init(() -> {
trans(melting, ((unit, time, newTime, result) -> result.set(burning, newTime + time))); trans(melting, ((unit, time, newTime, result) -> result.set(melting, newTime + time)));
trans(burning, ((unit, time, newTime, result) -> result.set(burning, newTime + time))); trans(burning, ((unit, time, newTime, result) -> result.set(burning, newTime + time)));
}); });
}}; }};

View File

@@ -182,7 +182,7 @@ public class UnitTypes implements ContentList{
lightningLength = 6; lightningLength = 6;
lightningColor = Pal.surge; lightningColor = Pal.surge;
//standard bullet damage is far too much for lightning //standard bullet damage is far too much for lightning
lightningDamage = 30; lightningDamage = 20;
}}; }};
}}, }},
@@ -336,7 +336,7 @@ public class UnitTypes implements ContentList{
bullet = new LightningBulletType(){{ bullet = new LightningBulletType(){{
lightningColor = hitColor = Pal.heal; lightningColor = hitColor = Pal.heal;
damage = 15f; damage = 12f;
lightningLength = 7; lightningLength = 7;
lightningLengthRand = 7; lightningLengthRand = 7;
shootEffect = Fx.shootHeal; shootEffect = Fx.shootHeal;
@@ -760,7 +760,7 @@ public class UnitTypes implements ContentList{
ejectEffect = Fx.casing1; ejectEffect = Fx.casing1;
shootSound = Sounds.artillery; shootSound = Sounds.artillery;
rotate = true; rotate = true;
occlusion = 8f; shadow = 8f;
recoil = 3f; recoil = 3f;
bullet = new ArtilleryBulletType(2f, 12){{ bullet = new ArtilleryBulletType(2f, 12){{
@@ -827,7 +827,7 @@ public class UnitTypes implements ContentList{
ejectEffect = Fx.casing1; ejectEffect = Fx.casing1;
shootSound = Sounds.shootBig; shootSound = Sounds.shootBig;
rotate = true; rotate = true;
occlusion = 12f; shadow = 12f;
recoil = 3f; recoil = 3f;
shots = 2; shots = 2;
spacing = 17f; spacing = 17f;
@@ -859,7 +859,7 @@ public class UnitTypes implements ContentList{
ejectEffect = Fx.casing3; ejectEffect = Fx.casing3;
shootSound = Sounds.artillery; shootSound = Sounds.artillery;
rotate = true; rotate = true;
occlusion = 30f; shadow = 30f;
bullet = new ArtilleryBulletType(3f, 50){{ bullet = new ArtilleryBulletType(3f, 50){{
hitEffect = Fx.sapExplosion; hitEffect = Fx.sapExplosion;
@@ -918,6 +918,7 @@ public class UnitTypes implements ContentList{
range = 140f; range = 140f;
targetAir = false; targetAir = false;
commandLimit = 4; commandLimit = 4;
circleTarget = true;
weapons.add(new Weapon(){{ weapons.add(new Weapon(){{
y = 0f; y = 0f;
@@ -950,6 +951,7 @@ public class UnitTypes implements ContentList{
armor = 3f; armor = 3f;
targetFlag = BlockFlag.factory; targetFlag = BlockFlag.factory;
commandLimit = 5; commandLimit = 5;
circleTarget = true;
weapons.add(new Weapon(){{ weapons.add(new Weapon(){{
minShootVelocity = 0.75f; minShootVelocity = 0.75f;
@@ -1059,7 +1061,7 @@ public class UnitTypes implements ContentList{
bullet = missiles; bullet = missiles;
shootSound = Sounds.missile; shootSound = Sounds.missile;
rotate = true; rotate = true;
occlusion = 6f; shadow = 6f;
}}, }},
new Weapon("missiles-mount"){{ new Weapon("missiles-mount"){{
y = -8f; y = -8f;
@@ -1070,7 +1072,7 @@ public class UnitTypes implements ContentList{
bullet = missiles; bullet = missiles;
shootSound = Sounds.missile; shootSound = Sounds.missile;
rotate = true; rotate = true;
occlusion = 6f; shadow = 6f;
}}, }},
new Weapon("large-bullet-mount"){{ new Weapon("large-bullet-mount"){{
y = 2f; y = 2f;
@@ -1082,7 +1084,7 @@ public class UnitTypes implements ContentList{
ejectEffect = Fx.casing1; ejectEffect = Fx.casing1;
shootSound = Sounds.shootBig; shootSound = Sounds.shootBig;
rotate = true; rotate = true;
occlusion = 8f; shadow = 8f;
bullet = new BasicBulletType(7f, 50){{ bullet = new BasicBulletType(7f, 50){{
width = 12f; width = 12f;
height = 18f; height = 18f;
@@ -1130,7 +1132,7 @@ public class UnitTypes implements ContentList{
reload = 45f; reload = 45f;
recoil = 4f; recoil = 4f;
shootSound = Sounds.laser; shootSound = Sounds.laser;
occlusion = 20f; shadow = 20f;
rotate = true; rotate = true;
bullet = new LaserBulletType(){{ bullet = new LaserBulletType(){{
@@ -1150,7 +1152,7 @@ public class UnitTypes implements ContentList{
rotateSpeed = 2f; rotateSpeed = 2f;
reload = 9f; reload = 9f;
shootSound = Sounds.shoot; shootSound = Sounds.shoot;
occlusion = 7f; shadow = 7f;
rotate = true; rotate = true;
recoil = 0.5f; recoil = 0.5f;
@@ -1165,7 +1167,7 @@ public class UnitTypes implements ContentList{
shake = 1f; shake = 1f;
shootSound = Sounds.shoot; shootSound = Sounds.shoot;
rotate = true; rotate = true;
occlusion = 12f; shadow = 12f;
bullet = fragBullet; bullet = fragBullet;
}}); }});
}}; }};
@@ -1309,6 +1311,7 @@ public class UnitTypes implements ContentList{
drag = 0.017f; drag = 0.017f;
lowAltitude = false; lowAltitude = false;
flying = true; flying = true;
circleTarget = true;
engineOffset = 12f; engineOffset = 12f;
engineSize = 6f; engineSize = 6f;
rotateShooting = false; rotateShooting = false;
@@ -1517,7 +1520,7 @@ public class UnitTypes implements ContentList{
shootY = 7f; shootY = 7f;
shake = 5f; shake = 5f;
recoil = 4f; recoil = 4f;
occlusion = 12f; shadow = 12f;
shots = 1; shots = 1;
inaccuracy = 3f; inaccuracy = 3f;
@@ -1553,7 +1556,7 @@ public class UnitTypes implements ContentList{
x = 8.5f; x = 8.5f;
y = -9f; y = -9f;
occlusion = 6f; shadow = 6f;
rotateSpeed = 4f; rotateSpeed = 4f;
rotate = true; rotate = true;
@@ -1609,7 +1612,7 @@ public class UnitTypes implements ContentList{
rotateSpeed = 4f; rotateSpeed = 4f;
mirror = false; mirror = false;
occlusion = 20f; shadow = 20f;
shootY = 2f; shootY = 2f;
recoil = 4f; recoil = 4f;
@@ -1655,7 +1658,7 @@ public class UnitTypes implements ContentList{
shootY = 7f; shootY = 7f;
shake = 2f; shake = 2f;
recoil = 3f; recoil = 3f;
occlusion = 12f; shadow = 12f;
ejectEffect = Fx.casing3; ejectEffect = Fx.casing3;
shootSound = Sounds.shootBig; shootSound = Sounds.shootBig;
@@ -1701,7 +1704,7 @@ public class UnitTypes implements ContentList{
shootY = 23f; shootY = 23f;
shake = 6f; shake = 6f;
recoil = 10.5f; recoil = 10.5f;
occlusion = 50f; shadow = 50f;
shootSound = Sounds.railgun; shootSound = Sounds.railgun;
shots = 1; shots = 1;
@@ -1756,7 +1759,7 @@ public class UnitTypes implements ContentList{
lifetime = 60f; lifetime = 60f;
shootEffect = Fx.shootSmall; shootEffect = Fx.shootSmall;
smokeEffect = Fx.shootSmallSmoke; smokeEffect = Fx.shootSmallSmoke;
tileDamageMultiplier = 0.01f; buildingDamageMultiplier = 0.01f;
}}; }};
}}); }});
}}; }};
@@ -1798,7 +1801,7 @@ public class UnitTypes implements ContentList{
lifetime = 60f; lifetime = 60f;
shootEffect = Fx.shootSmall; shootEffect = Fx.shootSmall;
smokeEffect = Fx.shootSmallSmoke; smokeEffect = Fx.shootSmallSmoke;
tileDamageMultiplier = 0.01f; buildingDamageMultiplier = 0.01f;
}}; }};
}}); }});
}}; }};
@@ -1838,7 +1841,7 @@ public class UnitTypes implements ContentList{
lifetime = 70f; lifetime = 70f;
shootEffect = Fx.shootSmall; shootEffect = Fx.shootSmall;
smokeEffect = Fx.shootSmallSmoke; smokeEffect = Fx.shootSmallSmoke;
tileDamageMultiplier = 0.01f; buildingDamageMultiplier = 0.01f;
homingPower = 0.04f; homingPower = 0.04f;
}}; }};
}}); }});

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