Compare commits

..

210 Commits
v121.2 ... 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
Matthew
881491d151 Requested Changes 2020-12-08 09:10:30 -06:00
Matthew
863159a5fe Init 2020-12-07 18:14:58 -06:00
Nikolass1000
81b593c031 Update achievements.vdf 2020-12-07 14:30:08 +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
220 changed files with 1350 additions and 49488 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

@@ -13,6 +13,7 @@ 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 = Offizielles 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ünftigen 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,7 +106,7 @@ 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 unterstützt dieses Feature nicht. feature.unsupported = Dein System unterstützt dieses Feature nicht.
@@ -131,7 +138,7 @@ 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 sind oder aktualisiert wurden. Spielstandfehler könnten passieren. Bist du dir sicher, dass 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}
@@ -603,6 +610,7 @@ sector.windsweptIslands.description = Diese Inseln befinden sich in der Nähe vo
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 = 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.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
@@ -697,6 +705,7 @@ 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
@@ -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
@@ -831,7 +841,9 @@ 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
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 = 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
@@ -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
@@ -1263,7 +1276,7 @@ hint.breaking.mobile = Aktiviere den \ue817 [accent]Hammer[] unten rechts und ti
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]klicke[], 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][Doppelklicke[], 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]Menü[] 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][[Mittelklick][] 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.
@@ -1282,6 +1295,7 @@ hint.guardian = [accent]Boss[]-Einheiten sind gepanzert. Schwache Munition wie [
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.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.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.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.

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!
@@ -511,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
@@ -832,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}[]

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

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

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

@@ -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

@@ -130,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();
@@ -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

@@ -876,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;
}}; }};
@@ -983,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;
}}; }};
@@ -1265,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();
}}; }};
@@ -1274,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();
}}; }};
@@ -1763,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;
@@ -1772,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;
@@ -1785,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;
@@ -1992,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

@@ -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;
}}; }};
}}); }});

View File

@@ -1,5 +1,6 @@
package mindustry.core; package mindustry.core;
import arc.*;
import arc.files.*; import arc.files.*;
import arc.func.*; import arc.func.*;
import arc.graphics.*; import arc.graphics.*;
@@ -7,6 +8,7 @@ import arc.struct.*;
import arc.util.*; import arc.util.*;
import mindustry.content.*; import mindustry.content.*;
import mindustry.ctype.*; import mindustry.ctype.*;
import mindustry.game.EventType.*;
import mindustry.entities.bullet.*; import mindustry.entities.bullet.*;
import mindustry.mod.Mods.*; import mindustry.mod.Mods.*;
import mindustry.type.*; import mindustry.type.*;
@@ -97,6 +99,7 @@ public class ContentLoader{
public void init(){ public void init(){
initialize(Content::init); initialize(Content::init);
if(constants != null) constants.init(); if(constants != null) constants.init();
Events.fire(new ContentInitEvent());
} }
/** Calls Content#load() on everything. Use only after all modules have been created on the client.*/ /** Calls Content#load() on everything. Use only after all modules have been created on the client.*/

View File

@@ -341,7 +341,7 @@ public class Control implements ApplicationListener, Loadable{
state.rules.waves = true; state.rules.waves = true;
//reset win wave?? //reset win wave??
state.rules.winWave = state.rules.attackMode ? -1 : sector.preset != null && sector.preset.captureWave > 0 ? sector.preset.captureWave : state.rules.winWave > state.wave ? state.rules.winWave : 40; state.rules.winWave = state.rules.attackMode ? -1 : sector.preset != null && sector.preset.captureWave > 0 ? sector.preset.captureWave : state.rules.winWave > state.wave ? state.rules.winWave : 30;
//if there's still an enemy base left, fix it //if there's still an enemy base left, fix it
if(state.rules.attackMode){ if(state.rules.attackMode){
@@ -351,7 +351,7 @@ public class Control implements ApplicationListener, Loadable{
if(tile != null){ if(tile != null){
tile.setBlock(content.block(plan.block), state.rules.waveTeam, plan.rotation); tile.setBlock(content.block(plan.block), state.rules.waveTeam, plan.rotation);
if(plan.config != null && tile.build != null){ if(plan.config != null && tile.build != null){
tile.build.configure(plan.config); tile.build.configureAny(plan.config);
} }
} }
} }
@@ -424,7 +424,7 @@ public class Control implements ApplicationListener, Loadable{
net.dispose(); net.dispose();
Musics.dispose(); Musics.dispose();
Sounds.dispose(); Sounds.dispose();
ui.editor.dispose(); if(ui != null && ui.editor != null) ui.editor.dispose();
} }
@Override @Override

View File

@@ -258,13 +258,12 @@ public class Logic implements ApplicationListener{
state.rules.weather.removeAll(w -> w.weather == null); state.rules.weather.removeAll(w -> w.weather == null);
for(WeatherEntry entry : state.rules.weather){ for(WeatherEntry entry : state.rules.weather){
if(entry.weather == null) continue;
//update cooldown //update cooldown
entry.cooldown -= Time.delta; entry.cooldown -= Time.delta;
//create new event when not active //create new event when not active
if(entry.cooldown < 0 && !entry.weather.isActive()){ if((entry.cooldown < 0 || entry.always) && !entry.weather.isActive()){
float duration = Mathf.random(entry.minDuration, entry.maxDuration); float duration = entry.always ? Float.POSITIVE_INFINITY : Mathf.random(entry.minDuration, entry.maxDuration);
entry.cooldown = duration + Mathf.random(entry.minFrequency, entry.maxFrequency); entry.cooldown = duration + Mathf.random(entry.minFrequency, entry.maxFrequency);
Tmp.v1.setToRandomDirection(); Tmp.v1.setToRandomDirection();
Call.createWeather(entry.weather, entry.intensity, duration, Tmp.v1.x, Tmp.v1.y); Call.createWeather(entry.weather, entry.intensity, duration, Tmp.v1.x, Tmp.v1.y);

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