Compare commits

..

221 Commits
v145.1 ... v146

Author SHA1 Message Date
Anuken
26b66f9bdb Fixed empty admin menu 2023-09-03 22:02:02 -04:00
Anuken
5548e72750 I HATE THE ANDROID GRADLE PLUGIN I HATE THE ANDROID GRADLE PLUGIN I HATE THE ANDROID GRADLE PLUGIN I HATE THE ANDROID GRADLE PLUGIN I HATE THE ANDROID GRADLE PLUGIN I HATE THE ANDROID GRADLE PLUGIN I HATE THE ANDROID GRADLE PLUGIN I HATE THE ANDROID GRADLE PLUGIN I HATE THE ANDROID GRADLE PLUGIN I HATE THE ANDROID GRADLE PLUGIN I HATE THE ANDROID GRADLE PLUGIN I HATE THE ANDROID GRADLE PLUGIN I HATE THE ANDROID GRADLE PLUGIN I HATE THE ANDROID GRADLE PLUGIN I HATE THE ANDROID GRADLE PLUGIN I HATE THE ANDROID GRADLE PLUGIN I HATE THE ANDROID GRADLE PLUGIN I HATE THE ANDROID GRADLE PLUGIN I HATE THE ANDROID GRADLE PLUGIN I HATE THE ANDROID GRADLE PLUGIN I HATE THE ANDROID GRADLE PLUGIN I HATE THE ANDROID GRADLE PLUGIN I HATE THE ANDROID GRADLE PLUGIN I HATE THE ANDROID GRADLE PLUGIN I HATE THE ANDROID GRADLE PLUGIN I HATE THE ANDROID GRADLE PLUGIN I HATE THE ANDROID GRADLE PLUGIN I HATE THE ANDROID GRADLE PLUGIN I HATE THE ANDROID GRADLE PLUGIN I HATE THE ANDROID GRADLE PLUGIN I HATE THE ANDROID GRADLE PLUGIN I HATE THE ANDROID GRADLE PLUGIN I HATE THE ANDROID GRADLE PLUGIN I HATE THE ANDROID GRADLE PLUGIN I HATE THE ANDROID GRADLE PLUGIN I HATE THE ANDROID GRADLE PLUGIN I HATE THE ANDROID GRADLE PLUGIN I HATE THE ANDROID GRADLE PLUGIN I HATE THE ANDROID GRADLE PLUGIN I HATE THE ANDROID GRADLE PLUGIN I HATE THE ANDROID GRADLE PLUGIN I HATE THE ANDROID GRADLE PLUGIN I HATE THE ANDROID GRADLE PLUGIN I HATE THE ANDROID GRADLE PLUGIN I HATE THE ANDROID GRADLE PLUGIN I HATE THE ANDROID GRADLE PLUGIN I HATE THE ANDROID GRADLE PLUGIN I HATE THE ANDROID GRADLE PLUGIN I HATE THE ANDROID GRADLE PLUGIN I HATE THE ANDROID GRADLE PLUGIN I HATE THE ANDROID GRADLE PLUGIN I HATE THE ANDROID GRADLE PLUGIN I HATE THE ANDROID GRADLE PLUGIN I HATE THE ANDROID GRADLE PLUGIN I HATE THE ANDROID GRADLE PLUGIN I HATE THE ANDROID GRADLE PLUGIN I HATE THE ANDROID GRADLE PLUGIN I HATE THE ANDROID GRADLE PLUGIN I HATE THE ANDROID GRADLE PLUGIN I HATE THE ANDROID GRADLE PLUGIN I HATE THE ANDROID GRADLE PLUGIN I HATE THE ANDROID GRADLE PLUGIN I HATE THE ANDROID GRADLE PLUGIN I HATE THE ANDROID GRADLE PLUGIN I HATE THE ANDROID GRADLE PLUGIN I HATE THE ANDROID GRADLE PLUGIN I HATE THE ANDROID GRADLE PLUGIN I HATE THE ANDROID GRADLE PLUGIN I HATE THE ANDROID GRADLE PLUGIN I HATE THE ANDROID GRADLE PLUGIN I HATE THE ANDROID GRADLE PLUGIN I HATE THE ANDROID GRADLE PLUGIN I HATE THE ANDROID GRADLE PLUGIN I HATE THE ANDROID GRADLE PLUGIN I HATE THE ANDROID GRADLE PLUGIN I HATE THE ANDROID GRADLE PLUGIN I HATE THE ANDROID GRADLE PLUGIN I HATE THE ANDROID GRADLE PLUGIN I HATE THE ANDROID GRADLE PLUGIN I HATE THE ANDROID GRADLE PLUGIN I HATE THE ANDROID GRADLE PLUGIN I HATE THE ANDROID GRADLE PLUGIN I HATE THE ANDROID GRADLE PLUGIN I HATE THE ANDROID GRADLE PLUGIN I HATE THE ANDROID GRADLE PLUGIN I HATE THE ANDROID GRADLE PLUGIN I HATE THE ANDROID GRADLE PLUGIN I HATE THE ANDROID GRADLE PLUGIN I HATE THE ANDROID GRADLE PLUGIN I HATE THE ANDROID GRADLE PLUGIN I HATE THE ANDROID GRADLE PLUGIN I HATE THE ANDROID GRADLE PLUGIN I HATE THE ANDROID GRADLE PLUGIN I HATE THE ANDROID GRADLE PLUGIN I HATE THE ANDROID GRADLE PLUGIN I HATE THE ANDROID GRADLE PLUGIN I HATE THE ANDROID GRADLE PLUGIN I HATE THE ANDROID GRADLE PLUGIN I HATE THE ANDROID GRADLE PLUGIN I HATE THE ANDROID GRADLE PLUGIN I HATE THE ANDROID GRADLE PLUGIN I HATE THE ANDROID GRADLE PLUGIN I HATE THE ANDROID GRADLE PLUGIN I HATE THE ANDROID GRADLE PLUGIN I HATE THE ANDROID GRADLE PLUGIN I HATE THE ANDROID GRADLE PLUGIN I HATE THE ANDROID GRADLE PLUGIN I HATE THE ANDROID GRADLE PLUGIN I HATE THE ANDROID GRADLE PLUGIN I HATE THE ANDROID GRADLE PLUGIN I HATE THE ANDROID GRADLE PLUGIN I HATE THE ANDROID GRADLE PLUGIN I HATE THE ANDROID GRADLE PLUGIN I HATE THE ANDROID GRADLE PLUGIN I HATE THE ANDROID GRADLE PLUGIN I HATE THE ANDROID GRADLE PLUGIN I HATE THE ANDROID GRADLE PLUGIN I HATE THE ANDROID GRADLE PLUGIN I HATE THE ANDROID GRADLE PLUGIN I HATE THE ANDROID GRADLE PLUGIN I HATE THE ANDROID GRADLE PLUGIN I HATE THE ANDROID GRADLE PLUGIN I HATE THE ANDROID GRADLE PLUGIN I HATE THE ANDROID GRADLE PLUGIN I HATE THE ANDROID GRADLE PLUGIN I HATE THE ANDROID GRADLE PLUGIN I HATE THE ANDROID GRADLE PLUGIN I HATE THE ANDROID GRADLE PLUGIN I HATE THE ANDROID GRADLE PLUGIN I HATE THE ANDROID GRADLE PLUGIN I HATE THE ANDROID GRADLE PLUGIN I HATE THE ANDROID GRADLE PLUGIN I HATE THE ANDROID GRADLE PLUGIN I HATE THE ANDROID GRADLE PLUGIN I HATE THE ANDROID GRADLE PLUGIN I HATE THE ANDROID GRADLE PLUGIN I HATE THE ANDROID GRADLE PLUGIN I HATE THE ANDROID GRADLE PLUGIN I HATE THE ANDROID GRADLE PLUGIN I HATE THE ANDROID GRADLE PLUGIN I HATE THE ANDROID GRADLE PLUGIN I HATE THE ANDROID GRADLE PLUGIN I HATE THE ANDROID GRADLE PLUGIN I HATE THE ANDROID GRADLE PLUGIN I HATE THE ANDROID GRADLE PLUGIN V 2023-09-03 21:52:25 -04:00
Anuken
766a95da03 Build fix? 2023-09-03 21:15:50 -04:00
Anuken
c705743696 Merge remote-tracking branch 'origin/master' 2023-09-03 21:12:52 -04:00
Anuken
0e24b67d09 Wave effect has color now 2023-09-03 21:12:46 -04:00
Zerenta
9d8905a4ae fixes serp-specific fog issue (#9009)
* fixes serp-specific fog issues

* didnt know the f had a purpose
2023-09-03 21:08:31 -04:00
Anuken
2882f7840e Merge remote-tracking branch 'origin/master' 2023-09-03 13:28:33 -04:00
Anuken
73dd487af9 Updated Gradle + other deps 2023-09-03 13:28:11 -04:00
SSansssssssssssss
798b493334 Update servers_v7.json (#9006) 2023-09-03 11:39:13 -04:00
Anuken
8311261e3c Merge remote-tracking branch 'origin/master' 2023-09-03 11:37:49 -04:00
Anuken
26c54ae0ed Removed pointless test 2023-09-03 11:37:43 -04:00
Hahaa13
6341da8f43 Update servers_v7.json (#9002) 2023-09-02 19:53:47 -04:00
Github Actions
f0e272d84c Automatic bundle update 2023-09-02 23:18:45 +00:00
Anuken
9c23134f2a Merge remote-tracking branch 'origin/master' 2023-09-02 19:17:53 -04:00
Anuken
d3b7fb0990 Fixed #9001 2023-09-02 19:17:47 -04:00
HamzaGSopp
90ed5f2750 Update servers_v7.json (#8996) 2023-09-02 11:59:23 -04:00
Anuken
e07ab5cef6 Merge remote-tracking branch 'origin/master' 2023-09-02 11:49:41 -04:00
Anuken
2e1b4934ad Added setting to disable lighting 2023-09-02 11:49:34 -04:00
Github Actions
91964da088 Automatic bundle update 2023-09-02 13:20:23 +00:00
nullevoy
cc66ccb49f most ability displays (#8981)
* works

* why not

* idk if that changes it but

* json

* destringening

* automatic imports and leftover marker

* uirfirf
2023-09-02 09:19:32 -04:00
Anuken
bff4097c88 Merge remote-tracking branch 'origin/master' 2023-09-01 14:24:17 -04:00
Anuken
996cbefb4f Fixed #8993 2023-09-01 14:24:11 -04:00
Darkness
579d63ac23 Update TraceDialog.java (#8992) 2023-08-31 17:23:23 -04:00
Github Actions
6a53a0e7be Automatic bundle update 2023-08-30 13:06:00 +00:00
Darkness
4edf4cac25 Add language to trace info (#8990)
* Update Administration.java

* im stoopid

* Update TraceDialog.java

* Update bundle.properties
2023-08-30 09:05:05 -04:00
Anuken
68141798d3 Merge remote-tracking branch 'origin/master' 2023-08-29 17:51:53 -04:00
Anuken
e3b815a4c6 Possible corner death fix 2023-08-29 17:51:45 -04:00
zeutd
57d000f767 let DrawRegion drawer can draw regions rotate with building rotation (#8987)
* let DrawRegion drawer can draw regions that rotate with building rotation

create a variable buildingRotate that can select whether the region will rotate with building rotation or not

* let DrawRegion drawer can draw regions rotate with building rotation

create a variable buildingRotate that can select whether the region will rotate with building rotation or not
make modders needn't to use DrawSideRegion to make this effect

* Update DrawRegion.java
2023-08-29 09:10:46 -04:00
alex
3ac9ae29ee removal of alex V6 servers (#8983)
V6 servers no longer functioning :(
2023-08-28 12:20:18 -04:00
Github Actions
3942445d1f Automatic bundle update 2023-08-27 15:39:50 +00:00
Anuken
16223af87d Fixed #8978 2023-08-27 11:39:05 -04:00
Anuken
109ba84625 Don't allow loaders to accept items/liquids from unloaders 2023-08-26 22:32:43 -04:00
Anuken
ec80fe9aad Merge remote-tracking branch 'origin/master' 2023-08-25 22:48:22 -04:00
Anuken
680fc34ac3 Reverted building explosion nerf completely 2023-08-25 22:48:16 -04:00
NazrinNya
d35acefcd0 Update servers_v7.json (#8974) 2023-08-25 17:14:27 -04:00
Anuken
c52b966dea Different block explosion damage formula 2023-08-24 15:26:02 -04:00
Anuken
c829f32efa Capped explosive damage of blocks 2023-08-23 11:05:09 -04:00
Anuken
beeeee9169 Merge remote-tracking branch 'origin/master' 2023-08-22 10:10:15 -04:00
Anuken
207806440b Fixed #8967 2023-08-22 10:10:08 -04:00
nullevoy
d60d3d78ea tree shadows (I'm sorry) (#8966)
* Update TreeBlock.java

* hgmjjjjjjjjjjjjjjjjjjjjjkhvgcfxchjk

* ig
2023-08-21 19:58:18 -04:00
nullevoy
490b281c43 Update TreeBlock.java (#8965) 2023-08-21 15:43:10 -04:00
alex
53cb0d4c89 add alex servers (#8962) 2023-08-20 10:09:30 -04:00
xem8k5
d787b4353b add a new server (#8960) 2023-08-20 10:08:56 -04:00
SITUVNgcd
9d21c0173d Update Vietnamese translation (#8959)
- Translated new strings.
- Fixed gammar issue/typo.
- Fixed strings format form (`{0}`).
2023-08-20 10:08:45 -04:00
lemon3357
56f29e1cd5 Update servers_v7.json (#8958) 2023-08-20 10:08:33 -04:00
Anuken
e6aa87ed71 Merge remote-tracking branch 'origin/master' 2023-08-20 04:26:14 -04:00
Anuken
480b68f8cc Fixed #8957 2023-08-20 04:26:08 -04:00
abcxyzDustry
3650589a59 Update servers_v7.json (#8955) 2023-08-19 21:11:50 -04:00
Valeriy
e3d0734790 Update servers_v7.json (#8950) 2023-08-18 22:40:53 -04:00
Anuken
c45f3d2253 #8897 2023-08-18 09:33:47 -04:00
Anuken
8e418915d4 Merge remote-tracking branch 'origin/master' 2023-08-17 09:17:54 -04:00
Anuken
2715d4954f Ignore ratelimit for local 2023-08-17 09:17:47 -04:00
南门阳德
6e33827576 Don't stop mining when planning (#8945) 2023-08-17 09:15:37 -04:00
Anuken
63d036d6ed Cleanup 2023-08-16 16:32:11 -04:00
Anuken
5487dad75e Merge remote-tracking branch 'origin/master' 2023-08-15 13:10:03 -04:00
Anuken
06edce3535 Fixed #8939 2023-08-15 13:09:57 -04:00
a-big-fish-fish
23cf1a7afa Update servers_v7.json (#8938) 2023-08-15 09:52:03 -04:00
Даркнесс#3729
6566f1c554 ServerControl improvements (#8928)
* Update ServerControl.java

* Update Administration.java

* Update Maps.java

* Update ServerControl.java

* Update ServerControl.java

* Update Administration.java

* Update ServerControl.java

* Update Maps.java
2023-08-15 09:51:52 -04:00
tech3mi
1d4084c387 Update servers_v7.json (#8936) 2023-08-14 13:33:42 -04:00
Anuken
8efed88669 Merge remote-tracking branch 'origin/master' 2023-08-14 11:50:43 -04:00
Anuken
11cd27fe1d Fixed #8935 2023-08-14 11:50:37 -04:00
Phinner
855789ec17 chore: Update chaotic neutral servers (#8934) 2023-08-14 11:20:28 -04:00
南门阳德
f8dac91cd9 Precept revert and buff (#8930) 2023-08-14 09:40:57 -04:00
Github Actions
161be3e8d3 Automatic bundle update 2023-08-13 15:06:41 +00:00
Anuken
ae6e74c24d Merge remote-tracking branch 'origin/master' 2023-08-13 11:05:49 -04:00
Anuken
2f991a85af Added logic autoPathfind command 2023-08-13 11:05:43 -04:00
MinRi2
f2c476a716 Fixed: Units lose LogicAI after reading. (#8920) 2023-08-13 10:18:06 -04:00
Anuken
2b05264093 Fixed #8921 2023-08-12 13:09:21 -04:00
Anuken
7de33b335a Merge remote-tracking branch 'origin/master' 2023-08-12 12:44:33 -04:00
Anuken
b47a1b6d0d Fixed #8924 2023-08-12 12:44:28 -04:00
南门阳德
a7e8dd126e Fix point defense weapons ignore damage multiplier (#8922) 2023-08-12 11:40:25 -04:00
Anuken
7999eb4c4d Merge remote-tracking branch 'origin/master' 2023-08-12 10:47:40 -04:00
Anuken
45d205f0ef Fixed #8923 2023-08-12 10:47:34 -04:00
Zerenta
585104a7f7 Scathe buff (#8919) 2023-08-11 22:16:58 -04:00
Github Actions
a3f7203993 Automatic bundle update 2023-08-11 16:17:29 +00:00
Anuken
fb4787ba52 Closes Anuken/Mindustry-Suggestions/issues/4608 2023-08-11 12:16:40 -04:00
Anuken
398a6f6a42 Merge remote-tracking branch 'origin/master' 2023-08-11 11:54:26 -04:00
Anuken
bdbb2de61a Closes Anuken/Mindustry-Suggestions/issues/4607 2023-08-11 11:54:20 -04:00
IqKero
c5a53f119b add new ips and change old one (#8918)
(im Taras4k, but with new account)
2023-08-11 10:23:02 -04:00
Satoshi Sasaki
e17d89e5a8 Fixed that the description of mech and ship was reversed (#8914) 2023-08-10 13:26:58 -04:00
a-big-fish-fish
0119e71677 Update servers_v7.json (#8913) 2023-08-10 11:15:26 -04:00
a-big-fish-fish
aa026b8b41 Update servers_v7.json (#8912) 2023-08-10 10:10:08 -04:00
a-big-fish-fish
933e4e84e0 Update servers_v7.json (#8911) 2023-08-10 09:58:42 -04:00
NazrinNya
73a7772eeb Update servers_v7.json (#8908) 2023-08-09 17:43:10 -04:00
Anuken
275c3ec163 Merge remote-tracking branch 'origin/master' 2023-08-09 13:05:26 -04:00
Anuken
f1172d45eb Pathfinding bugfixes / Logic dialog hiding "unfixed" 2023-08-09 13:05:19 -04:00
Zerenta
87e79913c5 Aegires Nerf (#8899)
* Update EnergyFieldAbility.java

Nerfs aegires. hard. 3x less healing (3% to 1%)

* Update UnitTypes.java

segments better.
reload 6 frames to 4 frames
damage 25 to 30

* Update EnergyFieldAbility.java

Ty balam

* Update UnitTypes.java

Ty balam! :D

* Update UnitTypes.java

Thanks balam :D

* Add EnergyFieldAbility.sameTypeHealMult

* Apply to aegires

Repair amount to other units is now 1.5% (50% of pre nerf)
Repair amount to aegires is now 0.75% (25% of pre nerf)

---------

Co-authored-by: BalaM314 <71201189+BalaM314@users.noreply.github.com>
2023-08-09 12:36:43 -04:00
Hahaa13
1656d788d3 Update servers_v7.json (#8905) 2023-08-08 19:48:04 -04:00
Anuken
19f34c14a0 Fixed #8904 2023-08-08 09:29:20 -04:00
Anuken
3157ff8cea Fixed #8903 2023-08-07 12:53:19 -04:00
Anuken
21fe8217d0 Merge remote-tracking branch 'origin/master' 2023-08-05 13:29:21 -04:00
Anuken
b7d707e8ba Do not allow various negative rule values 2023-08-05 13:29:15 -04:00
Zerenta
db96f2ef39 Update UnitTypes.java (#8895)
precept buff lmao
2023-08-05 01:57:13 -04:00
Anuken
4b38f667e7 Ignore wave version 2023-08-04 17:43:21 -04:00
Anuken
d5eeadab30 Merge remote-tracking branch 'origin/master' 2023-08-04 10:59:43 -04:00
Anuken
bc42b5a91e Fixed #8893 2023-08-04 10:59:33 -04:00
nullevoy
13745bfd99 ConsumeLiquidsDynamic (#8892)
* ConsumeLiquidsDynamic

* imports didn't optimize

* wording

* nevermind, no idea
2023-08-04 10:35:13 -04:00
Anuken
5e18e08bdf Fixed #8890 2023-08-03 02:56:38 -04:00
Anuken
6970a20f26 Merge remote-tracking branch 'origin/master' 2023-08-02 22:16:44 -04:00
Anuken
bd6c6524e6 WIP logic sync instruction 2023-08-02 22:16:39 -04:00
Github Actions
e9bf56e88c Automatic bundle update 2023-08-03 02:16:39 +00:00
Anuken
6bf5e8ae1e WIP logic particle effect instruction 2023-08-02 22:15:44 -04:00
Anuken
660c38db43 Fixed #8887 2023-08-02 21:20:28 -04:00
Anuken
2a76d25dfa Merge remote-tracking branch 'origin/master' 2023-08-02 09:39:34 -04:00
Anuken
7b9dfb9721 Fixed #8884 2023-08-02 09:39:27 -04:00
Slotterleet
bd0592a54c SunMesh support for JSON planets (#8882)
* Single-color SunMesh support

* This should work now

* No more crap code
2023-08-01 16:11:22 -04:00
Idontuse
12b6604143 Render the selected planets solar system (#8875)
* Solar systems render based on the selected planet

* Remove unnecessary setter

* Compatibility
2023-08-01 11:52:23 -04:00
Anuken
e3d3167b13 Merge remote-tracking branch 'origin/master' 2023-08-01 01:18:54 -04:00
Anuken
2ed8bdb2bc Fixed #8871 2023-08-01 01:18:47 -04:00
karlo292
a9a454dd61 Update servers_v7.json (#8879) 2023-07-31 17:15:12 -04:00
tech3mi
496d6978d0 Update servers_v7.json (#8847)
Co-authored-by: Anuken <arnukren@gmail.com>
2023-07-31 15:50:46 -04:00
Siede
e4bc6e21a4 -127 ~ 128 to 0 ~ 255 entityTypeID (#8874) 2023-07-31 13:48:41 -04:00
XaskyZ
c406979291 Update servers_v7.json (#8873) 2023-07-31 12:18:30 -04:00
tech3mi
b3508aa7c2 Update servers_v7.json (#8872)
Added Attack&Defend and Sandbox servers but they havent got community
2023-07-31 11:09:08 -04:00
Hahaa13
5207baea96 Update servers_v7.json (#8869) 2023-07-31 01:45:00 -04:00
abcxyzDustry
52d7a1e0e4 Update servers_v7.json (#8866)
re-add server abcxyz
2023-07-30 19:37:40 -04:00
Даркнесс#3729
117169c1d3 Update StatusEffects.java (#8867) 2023-07-30 13:28:47 -04:00
Anuken
cd461b133c Merge remote-tracking branch 'origin/master' 2023-07-29 21:57:06 -04:00
Anuken
59dd3a9e34 Fixed #8864 2023-07-29 21:57:01 -04:00
MEEPofFaith
3d0541084b Weird creation things (#8860) 2023-07-29 13:29:21 -04:00
XaskyZ
7d35c1ec7b Update servers_v7.json (#8862) 2023-07-29 12:16:15 -04:00
Anuken
07c7fd7dec More empty floor bugfixes 2023-07-29 12:10:27 -04:00
Anuken
6678729401 Added sensor for shields 2023-07-29 11:17:55 -04:00
Anuken
09d00b30e9 Fixed incorrect consumption rate in booster stats 2023-07-29 09:51:58 -04:00
Anuken
f3656d24d4 Merge remote-tracking branch 'origin/master' 2023-07-29 00:22:08 -04:00
Anuken
1968da9409 Fixed #8861 2023-07-29 00:22:01 -04:00
MEEPofFaith
0d8c07d007 Bullet despawn unit shenanigans (#8859)
* Proper despawn unit direction

* Despawn unit chance

* Merge if statements
2023-07-28 23:55:20 -04:00
OSP
0e83300548 ToxoFlame attack server (#8858) 2023-07-28 16:42:28 -04:00
Anuken
ba9e39d7a4 Fixed #8856 2023-07-28 09:07:50 -04:00
Anuken
d4111b8e76 Fixed #8854 2023-07-27 23:40:48 -04:00
Anuken
2bae95d2a8 Merge remote-tracking branch 'origin/master' 2023-07-27 15:48:41 -04:00
Anuken
69377bab3f Fixed #8849 2023-07-27 15:48:32 -04:00
tech3mi
2fc69c4f64 Update servers_v7.json (#8846) 2023-07-26 10:42:12 -04:00
Anuken
dae23c7fe6 Merge remote-tracking branch 'origin/master' 2023-07-26 10:31:24 -04:00
Anuken
7850e61672 Misc bugfixes 2023-07-26 10:31:18 -04:00
Tomoko
24c01f97d3 Rename my server and change ips (#8845) 2023-07-26 09:59:30 -04:00
BalaM314
a92bce2c14 Expose NetServer currentlyKicking for plugin access (#8817)
* Expose NetServer currentlyKicking for plugin access

* Move code around

* Un-final

* currentlyKicking no longer needs a wrapper array
2023-07-26 01:44:20 -04:00
MEEPofFaith
e5ded1f2dd Allow fluid type configuration for ConsumeCoolant (#8841)
* Allow fluid type configuration for ConsumeCoolant

* Methods
2023-07-25 21:47:46 -04:00
Anuken
dc8783d4a6 Legacy blocks must not be logic constants 2023-07-25 21:10:21 -04:00
Anuken
0ef5255650 Fixed #8840 2023-07-25 21:04:47 -04:00
Anuken
a922932a56 ??? 2023-07-25 12:14:22 -04:00
Anuken
3fd5f52545 Fixed #8837 2023-07-25 12:14:15 -04:00
Anuken
f976a294ce Merge remote-tracking branch 'origin/master' 2023-07-25 11:08:14 -04:00
Anuken
6f725d320b Fixed #8838 2023-07-25 11:08:08 -04:00
StalkerBaran
51b974f10e Update servers_v7.json (#8836) 2023-07-25 10:05:07 -04:00
KhanhLamVirual
447e07420e Update servers_v7.json (#8828)
I want to add a new vndustry server
2023-07-24 00:19:22 -04:00
Lime712
dbbcf4b168 German Translation (#8761)
* Update bundle_de.properties

English description in German bundle

* Update bundle_de.properties

* Update bundle_de.properties

* Update bundle_de.properties
2023-07-23 16:32:47 -04:00
Joan Josep
f3dd031d0e Update bundle_ca.properties (#8823) 2023-07-23 16:31:00 -04:00
Anuken
4998abfe01 Merge remote-tracking branch 'origin/master' 2023-07-23 16:30:49 -04:00
Anuken
636ce4ca94 Better implementation of #8810 2023-07-23 16:30:44 -04:00
Mythril382
bfdd7ecc3a the camper (#8806) 2023-07-23 16:28:50 -04:00
nowords123
28372b0f47 added new phoenix server (#8801)
Hi, I'm words an admin from phoenix
I added a new phoenix server under the ip

phoenix-network.dev:2023
2023-07-23 16:27:46 -04:00
MEEPofFaith
b4e03b46f6 Destroy bullet team (#8792)
* Option for destroy bullet to be on the block's team

* Random direction

* h
2023-07-23 16:27:11 -04:00
Lanark53
16949f1e69 toxoflame server (#8790) 2023-07-23 16:26:35 -04:00
Даркнесс#3729
b272008a90 Update EntityGroup.java (#8802) 2023-07-23 16:26:17 -04:00
NazrinNya
cc8d2b6a0c Update servers_v7.json (#8825) 2023-07-23 16:24:47 -04:00
Anuken
10fe6b9007 Fixed #8830 2023-07-23 16:07:53 -04:00
Anuken
ce43af9091 Fixed #8827 2023-07-23 15:59:19 -04:00
Anuken
788fa66a91 Fixed #8819 2023-07-23 15:56:36 -04:00
Anuken
fedad1e0d0 Fixed #8813 2023-07-23 15:49:12 -04:00
Anuken
a14149c952 Fixed #8807 2023-07-23 15:45:48 -04:00
Anuken
053afcace9 Fixed #8795 2023-07-23 15:43:04 -04:00
Anuken
e097346a73 Fixed #8794 2023-07-23 15:36:34 -04:00
Anuken
4076f09573 Fixed #8789 2023-07-23 15:22:52 -04:00
Anuken
e78fb11c48 Merge remote-tracking branch 'origin/master' 2023-07-23 15:19:31 -04:00
Anuken
135874b922 Fixed #8787 2023-07-23 15:19:21 -04:00
Epowerj
09aa68fdb2 Merge pull request #8805 from SSTentacleSS/patch-17
Update servers_v7.json
2023-07-22 01:03:36 -04:00
Tentyanuk
dd5037d9d2 Update servers_v7.json 2023-07-22 07:43:35 +03:00
Epowerj
418d533c3c Merge pull request #8800 from TheRadioactiveBanana/patch-6
Removal of dead ips and slight ip change
2023-07-20 23:56:29 -04:00
Epowerj
37e138858b Merge pull request #8824 from thedimas3007/patch-8
Update servers_v7.json
2023-07-18 18:34:19 -04:00
thedimas
b6a195cc80 Update servers_v7.json 2023-07-18 22:32:34 +02:00
Tentyanuk
4b4033e9e7 Update servers_v7.json 2023-07-08 22:49:10 +03:00
TheRadioactiveBanana
383d8b89e7 Forgot an ip 2023-07-07 16:35:33 +05:30
TheRadioactiveBanana
778d92b816 Removal of dead ips and slight ip change
Also Eradicationdustry -> Eradication Mindustry because it sounds better
2023-07-07 16:30:03 +05:30
Epowerj
93daa7a5dc Merge pull request #8796 from Def-Try/patch-1
Darkdustry IP change
2023-07-05 13:20:48 -04:00
CommandLine
f88654cdc1 Update servers_v7.json 2023-07-05 11:52:58 +03:00
Anuken
3e5898fff1 Disabled team switch outside of sandbox/PvP 2023-07-02 11:06:55 -04:00
FourGamingStudio
be96ddf463 Four Family (#8785)
add server.
2023-07-01 10:56:59 -04:00
nullevoy
20a3107b3f add sides to HoverPart (#8784)
* add sides to HoverPart

* weird elude
2023-07-01 09:21:53 -04:00
Anuken
05874ad3e2 Fixed pathfinding not being able to attack towards solid blocks 2023-06-30 22:51:14 -04:00
Anuken
ea8d796561 Merge remote-tracking branch 'origin/master' 2023-06-30 22:26:49 -04:00
Anuken
129c3f446a Fixed #8782 2023-06-30 22:26:43 -04:00
OSP
f611a5f038 [XCore] Anarchy server (#8779) 2023-06-29 13:25:14 -04:00
Gureumi
47c7906d55 Update servers_v7.json (#8776) 2023-06-29 09:48:39 -04:00
Anuken
c64b6092d7 Merge remote-tracking branch 'origin/master' 2023-06-29 09:48:31 -04:00
Anuken
f17719f08e Fixed #8777 2023-06-29 09:48:26 -04:00
Даркнесс#3729
cc41b99c75 Update UnitType.java (#8778) 2023-06-29 09:43:41 -04:00
Slotterleet
1d1ec8ee2d Update bundle_ru.properties (#8770) 2023-06-28 10:58:39 -04:00
Uenhe
8c7523b3b3 Update RegenProjector.java (#8768) 2023-06-28 10:58:28 -04:00
Anuken
f01df70d3f mesh fix 2 2023-06-27 18:38:45 -04:00
Anuken
c15b3421b2 mesh fix 2023-06-27 16:27:50 -04:00
Anuken
b4d5d05217 Merge remote-tracking branch 'origin/master' 2023-06-27 16:13:00 -04:00
Anuken
9b1a8edafc Closes Anuken/Mindustry-Suggestions/issues/4499 2023-06-27 16:12:55 -04:00
Sunky.MP3G
fbcc53e2c0 New Ru translations (#8755)
* Update bundle_ru.properties

* Mistake
2023-06-27 16:03:13 -04:00
Anuken
e630bcf41e Fixed #8764 2023-06-27 14:45:11 -04:00
Anuken
eb44a7ec84 Fixed #8762 2023-06-27 10:29:42 -04:00
Anuken
023ec9f66b Fixed #8760 2023-06-26 18:48:57 -04:00
Anuken
1bc3ac8761 Fixed #8759 2023-06-26 07:11:58 -04:00
Anuken
4b3feb2f0e Merge remote-tracking branch 'origin/master' 2023-06-25 20:04:16 -04:00
Anuken
ac5526e785 Fixed #8757 2023-06-25 20:04:02 -04:00
Anuken
95a7a181e0 Update contributors 2023-06-25 13:36:03 -04:00
Lime712
0a869fd690 Update bundle_de.properties (#8754)
English description in German bundle
2023-06-25 09:20:44 -04:00
Lime712
ec9c19101f Update bundle_de.properties (#8753)
Large plasma bores are boosted by nitrogen, not hydrogen.
2023-06-24 22:17:38 -04:00
Anuken
31b01ac39e Decreased canvas silicon cost 2023-06-24 13:43:10 -04:00
Anuken
f74293b878 Merge remote-tracking branch 'origin/master' 2023-06-23 22:51:58 -04:00
Anuken
0e31103b21 Cleanup output stream 2023-06-23 22:51:53 -04:00
router
591c31fd29 Add priority servers, update servers_v7.json (#8720)
* Update servers_v7.json

* Add priority server outlining and bumping

* a

* chore: A little bit of cleanup :)

* json

* fixed no-server issue

* removed cursed duplication

---------

Co-authored-by: phinner <62483793+Phinner@users.noreply.github.com>
2023-06-23 14:00:00 -04:00
Somka000
a20ca67527 Update contributors (#8748)
I did several Polish translations (I also helped translators since 2018), reported many bugs, had my own server, encouraged many people to play mindustry etc.
2023-06-22 17:15:07 -04:00
Anuken
c66abc3f0f Fixed #8742 2023-06-22 12:10:52 -04:00
Anuken
fea52c9132 arc 2023-06-22 12:03:15 -04:00
Anuken
6163738ad8 Merge remote-tracking branch 'origin/master' 2023-06-21 23:55:05 -04:00
Anuken
443d31e4a5 Less pierce damage for shocked status 2023-06-21 23:54:39 -04:00
Даркнесс#3729
2d827f83b4 add getEmoji() method (#8739) 2023-06-21 16:28:25 -04:00
Даркнесс#3729
fbc6740668 fix (#8736) 2023-06-21 09:05:39 -04:00
Anuken
06cd71e13c Merge remote-tracking branch 'origin/master' 2023-06-20 17:32:43 -04:00
Anuken
f65edb3468 Fixed #8735 2023-06-20 17:32:38 -04:00
Anuken
7cce799ec7 Update bug_report.yml 2023-06-20 13:23:58 -04:00
夜狐
aefcb7746a Turn Issue Templates into Issue Forms for better structure (#8734)
* Turned Issue Template into an Issue Form

* Bug Fix in Form

* Added Yoru Kitsune to credits

(I did some translations and bug fixes)
2023-06-20 13:22:08 -04:00
Anuken
a2dd2c88a2 Fixed #8733 2023-06-20 13:09:50 -04:00
Anuken
2008cf6387 Fixed non-even assembler modules not working 2023-06-19 19:42:54 -04:00
Anuken
6ba1cd3ef6 Fixed #8732 2023-06-19 18:44:16 -04:00
167 changed files with 2386 additions and 809 deletions

View File

@@ -1,30 +0,0 @@
---
name: Bug report
about: Create a report to help fix an issue.
title: ''
labels: bug
assignees: ''
---
**Platform**: *The type of device you were playing on - Android/iOS/Mac/Windows/Linux* ("All" is NOT a platform!)
**Build**: *The build number under the title in the main menu. Required. "LATEST" IS NOT A VERSION, I NEED THE EXACT BUILD NUMBER OF YOUR GAME.*
**Issue**: *Explain your issue in detail.*
**Steps to reproduce**: *How you happened across the issue, and what exactly you did to make the bug happen.*
**Link(s) to mod(s) used**: *The mod repositories or zip files that are related to the issue, if applicable.*
**Save file**: *The (zipped) save file you were playing on when the bug happened. THIS IS REQUIRED FOR ANY ISSUE HAPPENING IN-GAME OR IN MULTIPLAYER, REGARDLESS OF WHETHER YOU THINK IT HAPPENS EVERYWHERE. DO NOT DELETE OR OMIT THIS LINE UNLESS YOU ARE SURE THAT THE ISSUE DOES NOT HAPPEN IN-GAME. IF YOU DO NOT HAVE A SAVE, DON'T WASTE TIME OPENING THIS ISSUE.*
If you remove the line above without reading it properly and understanding what it means, I will reap your soul. Even if you're playing on someone's server, you can still save the game to a slot.
**(Crash) logs**: *Either crash reports from the crash folder, or the file you get when you go into Settings -> Game Data -> Export Crash logs. REQUIRED if you are reporting a crash.*
---
*Place an X (no spaces) between the brackets to confirm that you have read the line below.*
- [ ] **I have updated to the latest release (https://github.com/Anuken/Mindustry/releases) to make sure my issue has not been fixed.**
- [ ] **I have searched the closed and open issues to make sure that this problem has not already been reported.**

74
.github/ISSUE_TEMPLATE/bug_report.yml vendored Normal file
View File

@@ -0,0 +1,74 @@
name: Bug report
description: The type of device you were playing on
labels: ["bug"]
body:
- type: dropdown
id: platform
attributes:
label: Platforms
description: On what platforms do you know the bug happens?
multiple: false
options:
- Android
- iOS
- Mac
- Windows
- Linux
validations:
required: true
- type: input
id: build
attributes:
label: Build
description: The build number under the title in the main menu.
placeholder: LATEST IS NOT A VERSION, I NEED THE EXACT BUILD NUMBER OF YOUR GAME.
validations:
required: true
- type: textarea
id: issue
attributes:
label: Issue
description: Explain your issue in detail.
validations:
required: true
- type: textarea
id: reproduction
attributes:
label: Steps to reproduce
description: How you happened across the issue, and what exactly you did to make the bug happen.
validations:
required: true
- type: textarea
id: mods
attributes:
label: Mods used
description: The mod repositories or zip files that are related to the issue, if applicable.
validations:
required: false
- type: textarea
id: save-file
attributes:
label: Save file
description: The (zipped) save file you were playing on when the bug happened. If this happened in the campaign, specify the sector, and attach the file you get from Settings -> Game Data -> Export Data. For custom games, attach the .msav file exported from the save dialog, zipped.
placeholder: THIS IS REQUIRED FOR ANY ISSUE HAPPENING IN-GAME OR IN MULTIPLAYER, REGARDLESS OF WHETHER YOU THINK IT HAPPENS EVERYWHERE. DO NOT OMIT THIS LINE UNLESS YOU ARE SURE THAT THE ISSUE DOES NOT HAPPEN IN-GAME. IF YOU DO NOT HAVE A SAVE, DON'T WASTE TIME OPENING THIS ISSUE.
validations:
required: false
- type: textarea
id: logs
attributes:
label: (Crash) logs
description: Either crash reports from the crash folder, or the file you get when you go into Settings -> Game Data -> Export Crash logs.
placeholder: REQUIRED if you are reporting a crash.
validations:
required: false
- type: checkboxes
id: agreement
attributes:
label: Submission
description: Check the boxes to confirm that you have read the lines below.
options:
- label: I have updated to the latest release (https://github.com/Anuken/Mindustry/releases) to make sure my issue has not been fixed.
required: true
- label: I have searched the closed and open issues to make sure that this problem has not already been reported.
required: true

View File

@@ -29,8 +29,8 @@ task deploy(type: Copy){
} }
android{ android{
buildToolsVersion '31.0.0' buildToolsVersion '33.0.2'
compileSdkVersion 31 compileSdkVersion 33
sourceSets{ sourceSets{
main{ main{
manifest.srcFile 'AndroidManifest.xml' manifest.srcFile 'AndroidManifest.xml'
@@ -56,7 +56,7 @@ android{
applicationId "io.anuke.mindustry" applicationId "io.anuke.mindustry"
minSdkVersion 14 minSdkVersion 14
targetSdkVersion 31 targetSdkVersion 33
versionName versionNameResult versionName versionNameResult
versionCode = vcode versionCode = vcode

Binary file not shown.

After

Width:  |  Height:  |  Size: 218 B

View File

@@ -259,6 +259,7 @@ trace = Trace Player
trace.playername = Player name: [accent]{0} trace.playername = Player name: [accent]{0}
trace.ip = IP: [accent]{0} trace.ip = IP: [accent]{0}
trace.id = ID: [accent]{0} trace.id = ID: [accent]{0}
trace.language = Language: [accent]{0}
trace.mobile = Mobile Client: [accent]{0} trace.mobile = Mobile Client: [accent]{0}
trace.modclient = Custom Client: [accent]{0} trace.modclient = Custom Client: [accent]{0}
trace.times.joined = Times Joined: [accent]{0} trace.times.joined = Times Joined: [accent]{0}
@@ -964,13 +965,16 @@ stat.healing = Healing
ability.forcefield = Force Field ability.forcefield = Force Field
ability.repairfield = Repair Field ability.repairfield = Repair Field
ability.statusfield = {0} Status Field ability.statusfield = Status Field
ability.unitspawn = {0} Factory ability.unitspawn = Factory
ability.shieldregenfield = Shield Regen Field ability.shieldregenfield = Shield Regen Field
ability.movelightning = Movement Lightning ability.movelightning = Movement Lightning
ability.shieldarc = Shield Arc ability.shieldarc = Shield Arc
ability.suppressionfield = Repair Suppression Field ability.suppressionfield = Repair Suppression
ability.energyfield = Energy Field: [accent]{0}[] damage ~ [accent]{1}[] blocks / [accent]{2}[] targets ability.energyfield = Energy Field
ability.energyfield.sametypehealmultiplier = [lightgray]Same Type Healing: [white]{0}%
ability.energyfield.maxtargets = [lightgray]Max Targets: [white]{0}
ability.regen = Regeneration
bar.onlycoredeposit = Only Core Depositing Allowed bar.onlycoredeposit = Only Core Depositing Allowed
bar.drilltierreq = Better Drill Required bar.drilltierreq = Better Drill Required
@@ -1111,6 +1115,7 @@ setting.position.name = Show Player Position
setting.mouseposition.name = Show Mouse Position setting.mouseposition.name = Show Mouse Position
setting.musicvol.name = Music Volume setting.musicvol.name = Music Volume
setting.atmosphere.name = Show Planet Atmosphere setting.atmosphere.name = Show Planet Atmosphere
setting.drawlight.name = Draw Darkness/Lighting
setting.ambientvol.name = Ambient Volume setting.ambientvol.name = Ambient Volume
setting.mutemusic.name = Mute Music setting.mutemusic.name = Mute Music
setting.sfxvol.name = SFX Volume setting.sfxvol.name = SFX Volume
@@ -1867,6 +1872,9 @@ onset.enemies = Enemy incoming, prepare to defend.
onset.attack = The enemy is vulnerable. Counter-attack. onset.attack = The enemy is vulnerable. Counter-attack.
onset.cores = New cores can be placed on [accent]core tiles[].\nNew cores function as forward bases and share a resource inventory with other cores.\nPlace a \uF725 core. onset.cores = New cores can be placed on [accent]core tiles[].\nNew cores function as forward bases and share a resource inventory with other cores.\nPlace a \uF725 core.
onset.detect = The enemy will be able to detect you in 2 minutes.\nSet up defenses, mining, and production. onset.detect = The enemy will be able to detect you in 2 minutes.\nSet up defenses, mining, and production.
onset.commandmode = Hold [accent]shift[] to enter [accent]command mode[].\n[accent]Left-click and drag[] to select units.\n[accent]Right-click[] to order selected units to move or attack.
onset.commandmode.mobile = Press the [accent]command button[] to enter [accent]command mode[].\nHold down a finger, then [accent]drag[] to select units.\n[accent]Tap[] to order selected units to move or attack.
aegis.tungsten = Tungsten can be mined using an [accent]impact drill[].\nThis structure requires [accent]water[] and [accent]power[].
split.pickup = Some blocks can be picked up by the core unit.\nPick up this [accent]container[] and place it onto the [accent]payload loader[].\n(Default keys are [[ and ] to pick up and drop) split.pickup = Some blocks can be picked up by the core unit.\nPick up this [accent]container[] and place it onto the [accent]payload loader[].\n(Default keys are [[ and ] to pick up and drop)
split.pickup.mobile = Some blocks can be picked up by the core unit.\nPick up this [accent]container[] and place it onto the [accent]payload loader[].\n(To pick up or drop something, long-press it.) split.pickup.mobile = Some blocks can be picked up by the core unit.\nPick up this [accent]container[] and place it onto the [accent]payload loader[].\n(To pick up or drop something, long-press it.)
@@ -2216,8 +2224,8 @@ unit.collaris.description = Fires long-range fragmenting artillery at enemy targ
unit.elude.description = Fires pairs of homing bullets at enemy targets. Can float over bodies of liquid. unit.elude.description = Fires pairs of homing bullets at enemy targets. Can float over bodies of liquid.
unit.avert.description = Fires twisting pairs of bullets at enemy targets. unit.avert.description = Fires twisting pairs of bullets at enemy targets.
unit.obviate.description = Fires twisting pairs of lightning orbs at enemy targets. unit.obviate.description = Fires twisting pairs of lightning orbs at enemy targets.
unit.quell.description = Fires long-range homing missiles at enemy targets. Suppresses enemy structure repair blocks. unit.quell.description = Fires long-range homing missiles at enemy targets. Suppresses enemy structure repair blocks. Only attacks ground targets.
unit.disrupt.description = Fires long-range homing suppression missiles at enemy targets. Suppresses enemy structure repair blocks. unit.disrupt.description = Fires long-range homing suppression missiles at enemy targets. Suppresses enemy structure repair blocks. Only attacks ground targets.
unit.evoke.description = Builds structures to defend the Bastion core. Repairs structures with a beam. Capable of carrying 2x2 structures. unit.evoke.description = Builds structures to defend the Bastion core. Repairs structures with a beam. Capable of carrying 2x2 structures.
unit.incite.description = Builds structures to defend the Citadel core. Repairs structures with a beam. Capable of carrying 2x2 structures. unit.incite.description = Builds structures to defend the Citadel core. Repairs structures with a beam. Capable of carrying 2x2 structures.
unit.emanate.description = Builds structures to defend the Acropolis core. Repairs structures with beams. Capable of carrying 2x2 structures. unit.emanate.description = Builds structures to defend the Acropolis core. Repairs structures with beams. Capable of carrying 2x2 structures.
@@ -2237,7 +2245,7 @@ lst.operation = Perform an operation on 1-2 variables.
lst.end = Jump to the top of the instruction stack. lst.end = Jump to the top of the instruction stack.
lst.wait = Wait a certain number of seconds. lst.wait = Wait a certain number of seconds.
lst.stop = Halt execution of this processor. lst.stop = Halt execution of this processor.
lst.lookup = Look up an item/liquid/unit/block type by ID.\nTotal counts of each type can be accessed with:\n[accent]@unitCount[] / [accent]@itemCount[] / [accent]@liquidCount[] / [accent]@blockCount[] lst.lookup = Look up an item/liquid/unit/block type by ID.\nTotal counts of each type can be accessed with:\n[accent]@unitCount[] / [accent]@itemCount[] / [accent]@liquidCount[] / [accent]@blockCount[]\nFor the inverse operation, sense [accent]@id[] of the object.
lst.jump = Conditionally jump to another statement. lst.jump = Conditionally jump to another statement.
lst.unitbind = Bind to the next unit of a type, and store it in [accent]@unit[]. lst.unitbind = Bind to the next unit of a type, and store it in [accent]@unit[].
lst.unitcontrol = Control the currently bound unit. lst.unitcontrol = Control the currently bound unit.
@@ -2258,6 +2266,8 @@ lst.cutscene = Manipulate the player camera.
lst.setflag = Set a global flag that can be read by all processors. lst.setflag = Set a global flag that can be read by all processors.
lst.getflag = Check if a global flag is set. lst.getflag = Check if a global flag is set.
lst.setprop = Sets a property of a unit or building. lst.setprop = Sets a property of a unit or building.
lst.effect = Create a particle effect.
lst.sync = Sync a variable across the network.\nLimited to 20 times a second per variable.
logic.nounitbuild = [red]Unit building logic is not allowed here. logic.nounitbuild = [red]Unit building logic is not allowed here.
@@ -2273,6 +2283,7 @@ laccess.dead = Whether a unit/building is dead or no longer valid.
laccess.controlled = Returns:\n[accent]@ctrlProcessor[] if unit controller is processor\n[accent]@ctrlPlayer[] if unit/building controller is player\n[accent]@ctrlCommand[] if unit controller is a player command\nOtherwise, 0. laccess.controlled = Returns:\n[accent]@ctrlProcessor[] if unit controller is processor\n[accent]@ctrlPlayer[] if unit/building controller is player\n[accent]@ctrlCommand[] if unit controller is a player command\nOtherwise, 0.
laccess.progress = Action progress, 0 to 1.\nReturns production, turret reload or construction progress. laccess.progress = Action progress, 0 to 1.\nReturns production, turret reload or construction progress.
laccess.speed = Top speed of a unit, in tiles/sec. laccess.speed = Top speed of a unit, in tiles/sec.
laccess.id = ID of a unit/block/item/liquid.\nThis is the inverse of the lookup operation.
lcategory.unknown = Unknown lcategory.unknown = Unknown
lcategory.unknown.description = Uncategorized instructions. lcategory.unknown.description = Uncategorized instructions.
@@ -2394,6 +2405,7 @@ lenum.unbind = Completely disable logic control.\nResume standard AI.
lenum.move = Move to exact position. lenum.move = Move to exact position.
lenum.approach = Approach a position with a radius. lenum.approach = Approach a position with a radius.
lenum.pathfind = Pathfind to the specified position. lenum.pathfind = Pathfind to the specified position.
lenum.autopathfind = Automatically pathfinds to the nearest enemy core or drop point.\nThis is the same as standard wave enemy pathfinding.
lenum.target = Shoot a position. lenum.target = Shoot a position.
lenum.targetp = Shoot a target with velocity prediction. lenum.targetp = Shoot a target with velocity prediction.
lenum.itemdrop = Drop an item. lenum.itemdrop = Drop an item.
@@ -2407,8 +2419,3 @@ lenum.build = Build a structure.
lenum.getblock = Fetch a building, floor and type at coordinates.\nUnit must be in range of position.\nSolid non-buildings will have the type [accent]@solid[]. lenum.getblock = Fetch a building, floor and type at coordinates.\nUnit must be in range of position.\nSolid non-buildings will have the type [accent]@solid[].
lenum.within = Check if unit is near a position. lenum.within = Check if unit is near a position.
lenum.boost = Start/stop boosting. lenum.boost = Start/stop boosting.
#Don't translate these yet!
onset.commandmode = Hold [accent]shift[] to enter [accent]command mode[].\n[accent]Left-click and drag[] to select units.\n[accent]Right-click[] to order selected units to move or attack.
onset.commandmode.mobile = Press the [accent]command button[] to enter [accent]command mode[].\nHold down a finger, then [accent]drag[] to select units.\n[accent]Tap[] to order selected units to move or attack.

View File

@@ -250,6 +250,7 @@ trace = Адсочваць гульца
trace.playername = Iмя гульца: [accent]{0} trace.playername = Iмя гульца: [accent]{0}
trace.ip = IP: [accent]{0} trace.ip = IP: [accent]{0}
trace.id = ID: [accent]{0} trace.id = ID: [accent]{0}
trace.language = Language: [accent]{0}
trace.mobile = Мабільны кліент: [accent]{0} trace.mobile = Мабільны кліент: [accent]{0}
trace.modclient = Карыстальніцкі кліент: [accent]{0} trace.modclient = Карыстальніцкі кліент: [accent]{0}
trace.times.joined = Разоў Падлучана: [accent]{0} trace.times.joined = Разоў Падлучана: [accent]{0}
@@ -938,12 +939,15 @@ stat.healing = Аднаўленне
ability.forcefield = Сіловое Поле ability.forcefield = Сіловое Поле
ability.repairfield = Поле Рамонту ability.repairfield = Поле Рамонту
ability.statusfield = Поле Статусу ability.statusfield = Поле Статусу
ability.unitspawn = {0} Завод ability.unitspawn = Завод
ability.shieldregenfield = Васстанўляюяае Поле Шчыта ability.shieldregenfield = Васстанўляюяае Поле Шчыта
ability.movelightning = Рух Маланкі ability.movelightning = Рух Маланкі
ability.shieldarc = Шчытавая Дуга ability.shieldarc = Шчытавая Дуга
ability.suppressionfield = Regen Suppression Field ability.suppressionfield = Regen Suppression Field
ability.energyfield = Энэргетычнае Поле: [accent]{0}[] пашкоджанні ~ [accent]{1}[] блокі / [accent]{2}[] целі ability.energyfield = Энэргетычнае Поле
ability.energyfield.sametypehealmultiplier = [lightgray]Same Type Healing: [white]{0}%
ability.energyfield.maxtargets = [lightgray]Max Targets: [white]{0}
ability.regen = Regeneration
bar.onlycoredeposit = Даступны Толькі Перанос Рэсурсаў У Ядро bar.onlycoredeposit = Даступны Толькі Перанос Рэсурсаў У Ядро
bar.drilltierreq = Патрабуецца свідар лепей bar.drilltierreq = Патрабуецца свідар лепей
@@ -1084,6 +1088,7 @@ setting.position.name = Адлюстроўваць каардынаты гуль
setting.mouseposition.name = Паказаць Пазіцыю Мышы setting.mouseposition.name = Паказаць Пазіцыю Мышы
setting.musicvol.name = Гучнасць музыкі setting.musicvol.name = Гучнасць музыкі
setting.atmosphere.name = Паказаць Атмасферу Планеты setting.atmosphere.name = Паказаць Атмасферу Планеты
setting.drawlight.name = Draw Darkness/Lighting
setting.ambientvol.name = Гучнасць акружэння setting.ambientvol.name = Гучнасць акружэння
setting.mutemusic.name = Заглушыць музыку setting.mutemusic.name = Заглушыць музыку
setting.sfxvol.name = Гучнасць эфектаў setting.sfxvol.name = Гучнасць эфектаў
@@ -1831,6 +1836,9 @@ onset.enemies = Enemy incoming, prepare to defend.
onset.attack = The enemy is vulnerable. Counter-attack. onset.attack = The enemy is vulnerable. Counter-attack.
onset.cores = New cores can be placed on [accent]core tiles[].\nNew cores function as forward bases and share a resource inventory with other cores.\nPlace a \uf725 core. onset.cores = New cores can be placed on [accent]core tiles[].\nNew cores function as forward bases and share a resource inventory with other cores.\nPlace a \uf725 core.
onset.detect = The enemy will be able to detect you in 2 minutes.\nSet up defenses, mining, and production. onset.detect = The enemy will be able to detect you in 2 minutes.\nSet up defenses, mining, and production.
onset.commandmode = Зажміце [accent]shift[] каб увайсці ў [accent]рэжым камандавання[].\n[accent]Левая Кнопка Мышкі і працягнуць[] каб выбраць адзінкі.\n[accent]Правая Кнопка Мышкі[] каб камандаваць выбранымі адзінкамі каб рухаць або атакаваць.
onset.commandmode.mobile = Націсніце на кнопку [accent]Камандавання[] каб увайсці ў [accent]рэжым камандавання[].\nУтрамайце палец, пасля [accent]правесці[] да выбраных адзінак.\n[accent]Націсніце[] каб камандаваць выбранымі адзінкамі каб рухаць або атакаваць.
aegis.tungsten = Tungsten can be mined using an [accent]impact drill[].\nThis structure requires [accent]water[] and [accent]power[].
split.pickup = Some blocks can be picked up by the core unit.\nPick up this [accent]container[] and place it onto the [accent]payload loader[].\n(Default keys are [ and ] to pick up and drop) split.pickup = Some blocks can be picked up by the core unit.\nPick up this [accent]container[] and place it onto the [accent]payload loader[].\n(Default keys are [ and ] to pick up and drop)
split.pickup.mobile = Some blocks can be picked up by the core unit.\nPick up this [accent]container[] and place it onto the [accent]payload loader[].\n(To pick up or drop something, long-press it.) split.pickup.mobile = Some blocks can be picked up by the core unit.\nPick up this [accent]container[] and place it onto the [accent]payload loader[].\n(To pick up or drop something, long-press it.)
split.acquire = You must acquire some tungsten to build units. split.acquire = You must acquire some tungsten to build units.
@@ -2210,6 +2218,8 @@ lst.cutscene = Manipulate the player camera.
lst.setflag = Set a global flag that can be read by all processors. lst.setflag = Set a global flag that can be read by all processors.
lst.getflag = Check if a global flag is set. lst.getflag = Check if a global flag is set.
lst.setprop = Sets a property of a unit or building. lst.setprop = Sets a property of a unit or building.
lst.effect = Create a particle effect.
lst.sync = Sync a variable across the network.\nOnly invoked 10 times a second at most.
logic.nounitbuild = [red]Unit building logic is not allowed here. logic.nounitbuild = [red]Unit building logic is not allowed here.
lenum.type = Type of building/unit.\ne.g. for any router, this will return [accent]@router[].\nNot a string. lenum.type = Type of building/unit.\ne.g. for any router, this will return [accent]@router[].\nNot a string.
lenum.shoot = Shoot at a position. lenum.shoot = Shoot at a position.
@@ -2222,6 +2232,7 @@ laccess.dead = Whether a unit/building is dead or no longer valid.
laccess.controlled = Returns:\n[accent]@ctrlProcessor[] if unit controller is processor\n[accent]@ctrlPlayer[] if unit/building controller is player\n[accent]@ctrlFormation[] if unit is in formation\nOtherwise, 0. laccess.controlled = Returns:\n[accent]@ctrlProcessor[] if unit controller is processor\n[accent]@ctrlPlayer[] if unit/building controller is player\n[accent]@ctrlFormation[] if unit is in formation\nOtherwise, 0.
laccess.progress = Action progress, 0 to 1.\nReturns production, turret reload or construction progress. laccess.progress = Action progress, 0 to 1.\nReturns production, turret reload or construction progress.
laccess.speed = Top speed of a unit, in tiles/sec. laccess.speed = Top speed of a unit, in tiles/sec.
laccess.id = ID of a unit/block/item/liquid.\nThis is the inverse of the lookup operation.
lcategory.unknown = Unknown lcategory.unknown = Unknown
lcategory.unknown.description = Uncategorized instructions. lcategory.unknown.description = Uncategorized instructions.
lcategory.io = Input & Output lcategory.io = Input & Output
@@ -2326,6 +2337,7 @@ lenum.unbind = Поўнасццю адключыць кантраляванне
lenum.move = Рухацца да канкрэтнай каардынаты. lenum.move = Рухацца да канкрэтнай каардынаты.
lenum.approach = Падысці да каардынаты з радыюсам. lenum.approach = Падысці да каардынаты з радыюсам.
lenum.pathfind = Найці шлях да варожай кропкі з'яўлення. lenum.pathfind = Найці шлях да варожай кропкі з'яўлення.
lenum.autopathfind = Automatically pathfinds to the nearest enemy core or drop point.\nThis is the same as standard wave enemy pathfinding.
lenum.target = Атакаваць каардынату. lenum.target = Атакаваць каардынату.
lenum.targetp = Атакаваць мэту з прадвылічэннем скорасці. lenum.targetp = Атакаваць мэту з прадвылічэннем скорасці.
lenum.itemdrop = Апусціць прадмет. lenum.itemdrop = Апусціць прадмет.
@@ -2339,5 +2351,3 @@ lenum.build = Пабудаваць структуру.
lenum.getblock = Атрымаць будынак і яго тып у каардынатах.\nАдзінка павінна быць у дыяпазоне ад каардынат.\nЦвердыя не будынкі павінны мець тып [accent]@solid[]. lenum.getblock = Атрымаць будынак і яго тып у каардынатах.\nАдзінка павінна быць у дыяпазоне ад каардынат.\nЦвердыя не будынкі павінны мець тып [accent]@solid[].
lenum.within = Правярае калі адзінка знаходзіцца каля каардынат. lenum.within = Правярае калі адзінка знаходзіцца каля каардынат.
lenum.boost = Пачаць/перастаць узлятаць. lenum.boost = Пачаць/перастаць узлятаць.
onset.commandmode = Зажміце [accent]shift[] каб увайсці ў [accent]рэжым камандавання[].\n[accent]Левая Кнопка Мышкі і працягнуць[] каб выбраць адзінкі.\n[accent]Правая Кнопка Мышкі[] каб камандаваць выбранымі адзінкамі каб рухаць або атакаваць.
onset.commandmode.mobile = Націсніце на кнопку [accent]Камандавання[] каб увайсці ў [accent]рэжым камандавання[].\nУтрамайце палец, пасля [accent]правесці[] да выбраных адзінак.\n[accent]Націсніце[] каб камандаваць выбранымі адзінкамі каб рухаць або атакаваць.

View File

@@ -255,6 +255,7 @@ trace = Проследи Играч
trace.playername = Име на играча: [accent]{0} trace.playername = Име на играча: [accent]{0}
trace.ip = IP: [accent]{0} trace.ip = IP: [accent]{0}
trace.id = ID: [accent]{0} trace.id = ID: [accent]{0}
trace.language = Language: [accent]{0}
trace.mobile = Мобилен Клиент: [accent]{0} trace.mobile = Мобилен Клиент: [accent]{0}
trace.modclient = Модифициран Клиент: [accent]{0} trace.modclient = Модифициран Клиент: [accent]{0}
trace.times.joined = Пъти участвал в игра: [accent]{0} trace.times.joined = Пъти участвал в игра: [accent]{0}
@@ -949,12 +950,16 @@ stat.healing = Healing
ability.forcefield = Енергийно Поле ability.forcefield = Енергийно Поле
ability.repairfield = Възстановяващо Поле ability.repairfield = Възстановяващо Поле
ability.statusfield = Подсилващо Поле ability.statusfield = Подсилващо Поле
ability.unitspawn = {0} Factory ability.unitspawn = Factory
ability.shieldregenfield = Възстановяващо броня Поле ability.shieldregenfield = Възстановяващо броня Поле
ability.movelightning = Подвижна светкавица ability.movelightning = Подвижна светкавица
ability.shieldarc = Shield Arc ability.shieldarc = Shield Arc
ability.suppressionfield = Regen Suppression Field ability.suppressionfield = Regen Suppression Field
ability.energyfield = Energy Field: [accent]{0}[] damage ~ [accent]{1}[] blocks / [accent]{2}[] targets ability.energyfield = Energy Field
ability.energyfield.sametypehealmultiplier = [lightgray]Same Type Healing: [white]{0}%
ability.energyfield.maxtargets = [lightgray]Max Targets: [white]{0}
ability.regen = Regeneration
bar.onlycoredeposit = Only Core Depositing Allowed bar.onlycoredeposit = Only Core Depositing Allowed
bar.drilltierreq = Необходимо е по-добро Свредло bar.drilltierreq = Необходимо е по-добро Свредло
@@ -1095,6 +1100,7 @@ setting.position.name = Показвай Позиция на Играч
setting.mouseposition.name = Show Mouse Position setting.mouseposition.name = Show Mouse Position
setting.musicvol.name = Сила на Звука setting.musicvol.name = Сила на Звука
setting.atmosphere.name = Показвай Атмосферата на Планетата setting.atmosphere.name = Показвай Атмосферата на Планетата
setting.drawlight.name = Draw Darkness/Lighting
setting.ambientvol.name = Сила на Звука на Околната Среда setting.ambientvol.name = Сила на Звука на Околната Среда
setting.mutemusic.name = Заглуши Музиката setting.mutemusic.name = Заглуши Музиката
setting.sfxvol.name = Сила на Звуковите Ефекти setting.sfxvol.name = Сила на Звуковите Ефекти
@@ -1843,6 +1849,9 @@ onset.enemies = Enemy incoming, prepare to defend.
onset.attack = The enemy is vulnerable. Counter-attack. onset.attack = The enemy is vulnerable. Counter-attack.
onset.cores = New cores can be placed on [accent]core tiles[].\nNew cores function as forward bases and share a resource inventory with other cores.\nPlace a \uf725 core. onset.cores = New cores can be placed on [accent]core tiles[].\nNew cores function as forward bases and share a resource inventory with other cores.\nPlace a \uf725 core.
onset.detect = The enemy will be able to detect you in 2 minutes.\nSet up defenses, mining, and production. onset.detect = The enemy will be able to detect you in 2 minutes.\nSet up defenses, mining, and production.
onset.commandmode = Hold [accent]shift[] to enter [accent]command mode[].\n[accent]Left-click and drag[] to select units.\n[accent]Right-click[] to order selected units to move or attack.
onset.commandmode.mobile = Press the [accent]command button[] to enter [accent]command mode[].\nHold down a finger, then [accent]drag[] to select units.\n[accent]Tap[] to order selected units to move or attack.
aegis.tungsten = Tungsten can be mined using an [accent]impact drill[].\nThis structure requires [accent]water[] and [accent]power[].
split.pickup = Some blocks can be picked up by the core unit.\nPick up this [accent]container[] and place it onto the [accent]payload loader[].\n(Default keys are [ and ] to pick up and drop) split.pickup = Some blocks can be picked up by the core unit.\nPick up this [accent]container[] and place it onto the [accent]payload loader[].\n(Default keys are [ and ] to pick up and drop)
split.pickup.mobile = Some blocks can be picked up by the core unit.\nPick up this [accent]container[] and place it onto the [accent]payload loader[].\n(To pick up or drop something, long-press it.) split.pickup.mobile = Some blocks can be picked up by the core unit.\nPick up this [accent]container[] and place it onto the [accent]payload loader[].\n(To pick up or drop something, long-press it.)
split.acquire = You must acquire some tungsten to build units. split.acquire = You must acquire some tungsten to build units.
@@ -2224,6 +2233,8 @@ lst.cutscene = Manipulate the player camera.
lst.setflag = Set a global flag that can be read by all processors. lst.setflag = Set a global flag that can be read by all processors.
lst.getflag = Check if a global flag is set. lst.getflag = Check if a global flag is set.
lst.setprop = Sets a property of a unit or building. lst.setprop = Sets a property of a unit or building.
lst.effect = Create a particle effect.
lst.sync = Sync a variable across the network.\nOnly invoked 10 times a second at most.
logic.nounitbuild = [red]Действия за строене на единици не са позволени тук. logic.nounitbuild = [red]Действия за строене на единици не са позволени тук.
@@ -2239,6 +2250,7 @@ laccess.dead = Дали дадена единица/сграда е била у
laccess.controlled = Връща:\n[accent]@ctrlProcessor[] ако единицата е контролирана от процесор\n[accent]@ctrlPlayer[] ако единицата/сградата е контролирана от играч\n[accent]@ctrlFormation[] ако единицата участва във формация\nИначе, връща 0. laccess.controlled = Връща:\n[accent]@ctrlProcessor[] ако единицата е контролирана от процесор\n[accent]@ctrlPlayer[] ако единицата/сградата е контролирана от играч\n[accent]@ctrlFormation[] ако единицата участва във формация\nИначе, връща 0.
laccess.progress = Action progress, 0 to 1.\nReturns production, turret reload or construction progress. laccess.progress = Action progress, 0 to 1.\nReturns production, turret reload or construction progress.
laccess.speed = Top speed of a unit, in tiles/sec. laccess.speed = Top speed of a unit, in tiles/sec.
laccess.id = ID of a unit/block/item/liquid.\nThis is the inverse of the lookup operation.
lcategory.unknown = Unknown lcategory.unknown = Unknown
lcategory.unknown.description = Uncategorized instructions. lcategory.unknown.description = Uncategorized instructions.
lcategory.io = Input & Output lcategory.io = Input & Output
@@ -2356,6 +2368,7 @@ lenum.unbind = Completely disable logic control.\nResume standard AI.
lenum.move = Премести се на конкретна позиция. lenum.move = Премести се на конкретна позиция.
lenum.approach = Доближи се до позиция на определено разстояние. lenum.approach = Доближи се до позиция на определено разстояние.
lenum.pathfind = Намери пътека до вражеската начална точка. lenum.pathfind = Намери пътека до вражеската начална точка.
lenum.autopathfind = Automatically pathfinds to the nearest enemy core or drop point.\nThis is the same as standard wave enemy pathfinding.
lenum.target = Стреляй към позиция. lenum.target = Стреляй към позиция.
lenum.targetp = Стреляй към цел, изчислявайки нейната скорост. lenum.targetp = Стреляй към цел, изчислявайки нейната скорост.
lenum.itemdrop = Разтовари предмет(и). lenum.itemdrop = Разтовари предмет(и).
@@ -2369,5 +2382,3 @@ lenum.build = Построй структура.
lenum.getblock = Преверете типът на постройката на дадени координати.\nПозицията трябва да е в обхвата на единицата.\nСолидни не-сгради ще имат типа [accent]@solid[]. lenum.getblock = Преверете типът на постройката на дадени координати.\nПозицията трябва да е в обхвата на единицата.\nСолидни не-сгради ще имат типа [accent]@solid[].
lenum.within = Проверете дали дадена позиция е в обхват на единицата. lenum.within = Проверете дали дадена позиция е в обхват на единицата.
lenum.boost = Започни/Спри ускорението. lenum.boost = Започни/Спри ускорението.
onset.commandmode = Hold [accent]shift[] to enter [accent]command mode[].\n[accent]Left-click and drag[] to select units.\n[accent]Right-click[] to order selected units to move or attack.
onset.commandmode.mobile = Press the [accent]command button[] to enter [accent]command mode[].\nHold down a finger, then [accent]drag[] to select units.\n[accent]Tap[] to order selected units to move or attack.

View File

@@ -57,7 +57,7 @@ mods.browser.sortstars = Ordena per valoració
schematic = Esquema schematic = Esquema
schematic.add = Desa lesquema… schematic.add = Desa lesquema…
schematics = Esquemes schematics = Esquemes
schematic.search = Search schematics... schematic.search = Cerca esquemes...
schematic.replace = Ja hi ha un esquema amb aquest nom. Voleu reemplaçar-lo? schematic.replace = Ja hi ha un esquema amb aquest nom. Voleu reemplaçar-lo?
schematic.exists = Ja hi ha un esquema amb aquest nom. schematic.exists = Ja hi ha un esquema amb aquest nom.
schematic.import = Importa un esquema schematic.import = Importa un esquema
@@ -70,7 +70,7 @@ schematic.shareworkshop = Comparteix al Workshop de lSteam
schematic.flip = [accent][[{0}][]/[accent][[{1}][]: Dóna la volta a lesquema schematic.flip = [accent][[{0}][]/[accent][[{1}][]: Dóna la volta a lesquema
schematic.saved = Lesquema sha desat. schematic.saved = Lesquema sha desat.
schematic.delete.confirm = Aquest esquema sesborrarà. schematic.delete.confirm = Aquest esquema sesborrarà.
schematic.edit = Edit Schematic schematic.edit = Edita lesquema
schematic.info = {0}×{1}, {2} blocs schematic.info = {0}×{1}, {2} blocs
schematic.disabled = [scarlet]Els esquemes shan desactivat.[]\nNo podeu fer servir esquemes en aquest [accent]mapa[] o [accent]servidor[]. schematic.disabled = [scarlet]Els esquemes shan desactivat.[]\nNo podeu fer servir esquemes en aquest [accent]mapa[] o [accent]servidor[].
schematic.tags = Etiquetes: schematic.tags = Etiquetes:
@@ -79,7 +79,7 @@ schematic.addtag = Afegeix una etiqueta
schematic.texttag = Text de letiqueta schematic.texttag = Text de letiqueta
schematic.icontag = Icona de letiqueta schematic.icontag = Icona de letiqueta
schematic.renametag = Canvia el nom de letiqueta schematic.renametag = Canvia el nom de letiqueta
schematic.tagged = {0} tagged schematic.tagged = {0} detiquetades
schematic.tagdelconfirm = Voleu esborrar del tot aquesta etiqueta? schematic.tagdelconfirm = Voleu esborrar del tot aquesta etiqueta?
schematic.tagexists = Aquesta etiqueta ja existeix. schematic.tagexists = Aquesta etiqueta ja existeix.
@@ -255,18 +255,19 @@ trace = Rastreja un jugador
trace.playername = Nom del jugador: [accent]{0} trace.playername = Nom del jugador: [accent]{0}
trace.ip = IP: [accent]{0} trace.ip = IP: [accent]{0}
trace.id = ID: [accent]{0} trace.id = ID: [accent]{0}
trace.language = Language: [accent]{0}
trace.mobile = Client de mòbil: [accent]{0} trace.mobile = Client de mòbil: [accent]{0}
trace.modclient = Client personalitzat: [accent]{0} trace.modclient = Client personalitzat: [accent]{0}
trace.times.joined = Sha unit [accent]{0}[] vegades. trace.times.joined = Sha unit [accent]{0}[] vegades.
trace.times.kicked = Ha estat expulsat [accent]{0}[] vegades. trace.times.kicked = Ha estat expulsat [accent]{0}[] vegades.
trace.ips = IPs: trace.ips = Direccions IP:
trace.names = Names: trace.names = Noms:
invalidid = ID de client no vàlid! Envieu un informe derror. invalidid = ID de client no vàlid! Envieu un informe derror.
player.ban = Ban player.ban = Bandeja
player.kick = Kick player.kick = Expulsa
player.trace = Trace player.trace = Traça
player.admin = Toggle Admin player.admin = Commuta dadmin
player.team = Change Team player.team = Canvia lequip
server.bans = Bandejaments server.bans = Bandejaments
server.bans.none = No sha trobat cap jugador bandejat! server.bans.none = No sha trobat cap jugador bandejat!
server.admins = Administradors server.admins = Administradors
@@ -283,8 +284,8 @@ confirmkick = Esteu segur que voleu expulsar a «{0}[white]»?
confirmunban = Esteu segur que voleu treure el bandeig a aquest jugador? confirmunban = Esteu segur que voleu treure el bandeig a aquest jugador?
confirmadmin = Esteu segur que voleu fer administrador a «{0}[white]»? confirmadmin = Esteu segur que voleu fer administrador a «{0}[white]»?
confirmunadmin = Esteu segur que voleu treure a «{0}[white]» els permisos dadministrador? confirmunadmin = Esteu segur que voleu treure a «{0}[white]» els permisos dadministrador?
votekick.reason = Vote-Kick Reason votekick.reason = Motiu per a la votació dexpulsió
votekick.reason.message = Are you sure you want to vote-kick "{0}[white]"?\nIf yes, please enter the reason: votekick.reason.message = Esteu segur que voleu votar per a expulsar per votació a «{0}[white]»?\nSi és que sí, escriviu-ne el motiu:
joingame.title = Uneix-me a la partida joingame.title = Uneix-me a la partida
joingame.ip = Direcció IP: joingame.ip = Direcció IP:
disconnect = Desconnectat. disconnect = Desconnectat.
@@ -302,7 +303,7 @@ server.invalidport = El número de port no és vàlid!
server.error = [scarlet]Sha produït un error mentre sallotjava el servidor. server.error = [scarlet]Sha produït un error mentre sallotjava el servidor.
save.new = Desa en un fitxer nou save.new = Desa en un fitxer nou
save.overwrite = Esteu segur que voleu sobreescriure\naquesta ranura de desades? save.overwrite = Esteu segur que voleu sobreescriure\naquesta ranura de desades?
save.nocampaign = Individual save files from the campaign cannot be imported. save.nocampaign = Els fitxers de desades individuals de la campanya no es poden importar.
overwrite = Sobreescriu overwrite = Sobreescriu
save.none = No sha trobat cap partida desada! save.none = No sha trobat cap partida desada!
savefail = No sha pogut desar la partida! savefail = No sha pogut desar la partida!
@@ -468,8 +469,8 @@ waves.sort.reverse = Ordre invers
waves.sort.begin = Comença waves.sort.begin = Comença
waves.sort.health = Salut waves.sort.health = Salut
waves.sort.type = Tipus waves.sort.type = Tipus
waves.search = Search waves... waves.search = Es busquen onades...
waves.filter = Unit Filter waves.filter = Filtre d'unitats
waves.units.hide = Amaga-les totes waves.units.hide = Amaga-les totes
waves.units.show = Mostra-les totes waves.units.show = Mostra-les totes
@@ -542,8 +543,8 @@ toolmode.eraseores = Esborra els minerals
toolmode.eraseores.description = Esborra només els minerals. toolmode.eraseores.description = Esborra només els minerals.
toolmode.fillteams = Omple els equips toolmode.fillteams = Omple els equips
toolmode.fillteams.description = Omple els equips en lloc dels blocs. toolmode.fillteams.description = Omple els equips en lloc dels blocs.
toolmode.fillerase = Fill Erase toolmode.fillerase = Esborra els del mateix tipus
toolmode.fillerase.description = Erase blocks of the same type. toolmode.fillerase.description = Esborra els blocs que siguin del mateix tipus.
toolmode.drawteams = Dibuixa els equips toolmode.drawteams = Dibuixa els equips
toolmode.drawteams.description = Dibuixa els equips en lloc de dibuixar blocs. toolmode.drawteams.description = Dibuixa els equips en lloc de dibuixar blocs.
#unused #unused
@@ -952,13 +953,16 @@ stat.healing = Reparador
ability.forcefield = Camp de força ability.forcefield = Camp de força
ability.repairfield = Repara el camp de força ability.repairfield = Repara el camp de força
ability.statusfield = Estat del camp: {0} ability.statusfield = Estat del camp
ability.unitspawn = Fàbrica de {0} ability.unitspawn = Fàbrica
ability.shieldregenfield = Regenerador de camps de força ability.shieldregenfield = Regenerador de camps de força
ability.movelightning = Moviment llampec ability.movelightning = Moviment llampec
ability.shieldarc = Escut de descàrregues ability.shieldarc = Escut de descàrregues
ability.suppressionfield = Regen Suppression Field ability.suppressionfield = Regen Suppression Field
ability.energyfield = Camp de força: [accent]{0}[] de dany ~ [accent]{1}[] blocs / [accent]{2}[] objectius ability.energyfield = Camp de força
ability.energyfield.sametypehealmultiplier = [lightgray]Same Type Healing: [white]{0}%
ability.energyfield.maxtargets = [lightgray]Max Targets: [white]{0}
ability.regen = Regeneration
bar.onlycoredeposit = Només es permet depositar al nucli. bar.onlycoredeposit = Només es permet depositar al nucli.
bar.drilltierreq = Cal una perforadora millor. bar.drilltierreq = Cal una perforadora millor.
@@ -1099,6 +1103,7 @@ setting.position.name = Mostra la posició del jugador
setting.mouseposition.name = Mostra la posició del ratolí setting.mouseposition.name = Mostra la posició del ratolí
setting.musicvol.name = Volum de la música setting.musicvol.name = Volum de la música
setting.atmosphere.name = Mostra latmosfera del planeta setting.atmosphere.name = Mostra latmosfera del planeta
setting.drawlight.name = Draw Darkness/Lighting
setting.ambientvol.name = Volum del so ambiental setting.ambientvol.name = Volum del so ambiental
setting.mutemusic.name = Silencia la música setting.mutemusic.name = Silencia la música
setting.sfxvol.name = Volums dels efectes de so setting.sfxvol.name = Volums dels efectes de so
@@ -1113,7 +1118,7 @@ setting.bridgeopacity.name = Opacitat de cintes i canonades subterrànies
setting.playerchat.name = Mostra el xat bombolla de jugadors setting.playerchat.name = Mostra el xat bombolla de jugadors
setting.showweather.name = Mostra lestat meteorològic setting.showweather.name = Mostra lestat meteorològic
setting.hidedisplays.name = Amaga els monitors lògics setting.hidedisplays.name = Amaga els monitors lògics
setting.macnotch.name = Adaptar la interfície per mostrar el notch setting.macnotch.name = Adapta la interfície per a mostrar el notch
setting.macnotch.description = Cal reiniciar perquè sapliquin els canvis setting.macnotch.description = Cal reiniciar perquè sapliquin els canvis
steam.friendsonly = Només amics steam.friendsonly = Només amics
steam.friendsonly.tooltip = Indica si només els amics de Steam podran unir-se a la vostra partida.\nSi no es selecciona aquesta opció, la vostra partida serà pública i shi podrà unir qualsevol jugador. steam.friendsonly.tooltip = Indica si només els amics de Steam podran unir-se a la vostra partida.\nSi no es selecciona aquesta opció, la vostra partida serà pública i shi podrà unir qualsevol jugador.
@@ -1216,8 +1221,8 @@ rules.wavetimer = Temporitzador donades
rules.wavesending = Enviament donades rules.wavesending = Enviament donades
rules.waves = Onades rules.waves = Onades
rules.attack = Mode datac rules.attack = Mode datac
rules.buildai = Base Builder AI rules.buildai = IA constructora de bases
rules.buildaitier = Builder AI Tier rules.buildaitier = Nivell de construcció de la IA
rules.rtsai = IA avançada (RTS AI) rules.rtsai = IA avançada (RTS AI)
rules.rtsminsquadsize = Mida mínima de lesquadró rules.rtsminsquadsize = Mida mínima de lesquadró
rules.rtsmaxsquadsize = Mida màxima de lesquadró rules.rtsmaxsquadsize = Mida màxima de lesquadró
@@ -1245,7 +1250,7 @@ rules.buildcostmultiplier = Multiplicador del cost de construcció
rules.buildspeedmultiplier = Multiplicador de la velocitat de construcció rules.buildspeedmultiplier = Multiplicador de la velocitat de construcció
rules.deconstructrefundmultiplier = Multiplicador dels elements recuperats per desmuntatge rules.deconstructrefundmultiplier = Multiplicador dels elements recuperats per desmuntatge
rules.waitForWaveToEnd = Les onades esperen fins veure enemics rules.waitForWaveToEnd = Les onades esperen fins veure enemics
rules.wavelimit = Map Ends After Wave rules.wavelimit = El mapa acaba després de lonada
rules.dropzoneradius = Radi de la zona daterratge:[lightgray] (caselles) rules.dropzoneradius = Radi de la zona daterratge:[lightgray] (caselles)
rules.unitammo = Les unitats necessiten munició rules.unitammo = Les unitats necessiten munició
rules.enemyteam = Equip enemic rules.enemyteam = Equip enemic
@@ -1795,7 +1800,7 @@ hint.launch = Un cop shan recollit prou recursos, podeu iniciar un llançamen
hint.launch.mobile = Un cop shan recollit prou recursos, podeu iniciar un llançament seleccionant un sector proper del \ue827 [accent]Mapa[] del \ue88c [accent]Menú[]. hint.launch.mobile = Un cop shan recollit prou recursos, podeu iniciar un llançament seleccionant un sector proper del \ue827 [accent]Mapa[] del \ue88c [accent]Menú[].
hint.schematicSelect = Manteniu premuda la tecla [accent]F[] i arrossegueu per a seleccionar els blocs que vulgueu copiar i enganxar.\n\nFeu clic amb el [accent]botó del mig[] del ratolí per a copiar només un tipus de bloc. hint.schematicSelect = Manteniu premuda la tecla [accent]F[] i arrossegueu per a seleccionar els blocs que vulgueu copiar i enganxar.\n\nFeu clic amb el [accent]botó del mig[] del ratolí per a copiar només un tipus de bloc.
hint.rebuildSelect = Manteniu premuda la tecla [accent][[B][] i arrossegueu per a seleccionar els plànols dels blocs destruïts.\nAixí, es podran reconstruir automàticament. hint.rebuildSelect = Manteniu premuda la tecla [accent][[B][] i arrossegueu per a seleccionar els plànols dels blocs destruïts.\nAixí, es podran reconstruir automàticament.
hint.rebuildSelect.mobile = Select the \ue874 copy button, then tap the \ue80f rebuild button and drag to select destroyed block plans.\nThis will rebuild them automatically. hint.rebuildSelect.mobile = Seleccioneu el botó de copiar \ue874. Després, toqueu el botó de reconstrucció \ue80f i arrossegueu per a triar quins blocs voleu que es reconstrueixin.\nAixò farà que es reconstrueixin de manera automàtica.
hint.conveyorPathfind = Manteniu premuda la tecla [accent]ControlEsquerra[] i arrossegueu les cintes per a generar un camí automàticament. hint.conveyorPathfind = Manteniu premuda la tecla [accent]ControlEsquerra[] i arrossegueu les cintes per a generar un camí automàticament.
hint.conveyorPathfind.mobile = Activeu el \ue844 [accent]mode diagonal[] i arrossegueu les cintes per a generar un camí automàticament. hint.conveyorPathfind.mobile = Activeu el \ue844 [accent]mode diagonal[] i arrossegueu les cintes per a generar un camí automàticament.
hint.boost = Manteniu premuda la tecla [accent]ControlEsquerra[] per a sobrevolar els obstacles amb la unitat actual.\n\nNomés algunes unitats terrestres tenen elevadors per a poder-ho fer. hint.boost = Manteniu premuda la tecla [accent]ControlEsquerra[] per a sobrevolar els obstacles amb la unitat actual.\n\nNomés algunes unitats terrestres tenen elevadors per a poder-ho fer.
@@ -1853,6 +1858,9 @@ onset.enemies = Sapropa un enemic. Prepareu la defensa.
onset.attack = Lenemic és vulnerable. Contraataqueu. onset.attack = Lenemic és vulnerable. Contraataqueu.
onset.cores = Els nuclis nous es poden construir en [accent]caselles de nucli[].\nEls nuclis nous funcionen com a bases i comparteixen un inventari de recursos amb altres nuclis.\nConstruïu un \uf725 nucli. onset.cores = Els nuclis nous es poden construir en [accent]caselles de nucli[].\nEls nuclis nous funcionen com a bases i comparteixen un inventari de recursos amb altres nuclis.\nConstruïu un \uf725 nucli.
onset.detect = Lenemic us detectarà daquí 2 minuts.\nEstabliu les defenses i les explotacions mineres i de producció. onset.detect = Lenemic us detectarà daquí 2 minuts.\nEstabliu les defenses i les explotacions mineres i de producció.
onset.commandmode = Mantingueu premuda [accent]Maj.[] per a entrar al [accent]mode de comandament[].\n[accent]Feu clic amb el botó esquerre i arrossegueu[] per a seleccionar unitats.\n[accent]Feu clic amb el botó dret[] per a ordenar a les unitats seleccionades que ataquin o que es moguin.
onset.commandmode.mobile = Premeu el [accent]botó de comandament[] per a entrar al [accent]mode de comandament[].\nPremeu i [accent]arrossegueu[] per a seleccionar unitats.\n[accent]Toqueu[] per a ordenar a les unitats seleccionades que ataquin o que es moguin.
aegis.tungsten = Tungsten can be mined using an [accent]impact drill[].\nThis structure requires [accent]water[] and [accent]power[].
split.pickup = La unitat nucli pot recollir alguns blocs.\nRecolliu aquest [accent]contenidor[] i poseu-lo al [accent]transportador de blocs a distància[].\n(Les tecles per defecte són [ i ] per a recollir i deixar). split.pickup = La unitat nucli pot recollir alguns blocs.\nRecolliu aquest [accent]contenidor[] i poseu-lo al [accent]transportador de blocs a distància[].\n(Les tecles per defecte són [ i ] per a recollir i deixar).
split.pickup.mobile = La unitat nucli pot recollir alguns blocs.\nRecolliu aquest [accent]contenidor[] i poseu-lo al [accent]transportador de blocs a distància[].\n(Per a deixar o recollir alguna cosa, premeu-la uns segons). split.pickup.mobile = La unitat nucli pot recollir alguns blocs.\nRecolliu aquest [accent]contenidor[] i poseu-lo al [accent]transportador de blocs a distància[].\n(Per a deixar o recollir alguna cosa, premeu-la uns segons).
split.acquire = Heu daconseguir una mica de tungstè per a construir unitats. split.acquire = Heu daconseguir una mica de tungstè per a construir unitats.
@@ -2235,6 +2243,8 @@ lst.cutscene = Manipula la càmera del jugador.
lst.setflag = Estableix un senyal global que es podrà llegir en tots els processadors. lst.setflag = Estableix un senyal global que es podrà llegir en tots els processadors.
lst.getflag = Obtén un senyal global. lst.getflag = Obtén un senyal global.
lst.setprop = Estableix una propietat duna unitat o estructura. lst.setprop = Estableix una propietat duna unitat o estructura.
lst.effect = Create a particle effect.
lst.sync = Sync a variable across the network.\nOnly invoked 10 times a second at most.
logic.nounitbuild = [red]Aquí no es permet construir blocs de tipus lògic. logic.nounitbuild = [red]Aquí no es permet construir blocs de tipus lògic.
@@ -2250,6 +2260,7 @@ laccess.dead = Retorna si una unitat o bloc està destruïda o si ja no és vàl
laccess.controlled = Returna:\n[accent]@ctrlProcessor[] si el controlador de la unitat és un processador;\n[accent]@ctrlPlayer[] si el controlador de la unitat és un jugador;\n[accent]@ctrlCommand[] si el controlador és un comandament del jugador;\naltrament, és 0. laccess.controlled = Returna:\n[accent]@ctrlProcessor[] si el controlador de la unitat és un processador;\n[accent]@ctrlPlayer[] si el controlador de la unitat és un jugador;\n[accent]@ctrlCommand[] si el controlador és un comandament del jugador;\naltrament, és 0.
laccess.progress = Progrés de lacció, entre 0 i 1.\nRetorna la producció, la recàrrega de la torreta o el progrés de la construcció. laccess.progress = Progrés de lacció, entre 0 i 1.\nRetorna la producció, la recàrrega de la torreta o el progrés de la construcció.
laccess.speed = Velocitat màxima de la unitat, en caselles/s. laccess.speed = Velocitat màxima de la unitat, en caselles/s.
laccess.id = ID of a unit/block/item/liquid.\nThis is the inverse of the lookup operation.
lcategory.unknown = Desconegut lcategory.unknown = Desconegut
lcategory.unknown.description = Instruccions sense categoria. lcategory.unknown.description = Instruccions sense categoria.
lcategory.io = Entrada i sortida lcategory.io = Entrada i sortida
@@ -2295,7 +2306,7 @@ lenum.xor = Operació lògica XOR bit a bit.
lenum.min = Mínim de dos nombres. lenum.min = Mínim de dos nombres.
lenum.max = Màxim de dos nombres. lenum.max = Màxim de dos nombres.
lenum.angle = Angle del vector en graus. lenum.angle = Angle del vector en graus.
lenum.anglediff = Absolute distance between two angles in degrees. lenum.anglediff = Distància absoluta entre dos angles en graus.
lenum.len = Llargada (mòdul) del vector. lenum.len = Llargada (mòdul) del vector.
lenum.sin = Sinus de langle (en graus). lenum.sin = Sinus de langle (en graus).
@@ -2370,6 +2381,7 @@ lenum.unbind = Desactiva del tot el control lògic.\nContinua amb la IA estànda
lenum.move = Mou a una posició exacta. lenum.move = Mou a una posició exacta.
lenum.approach = Aproxima a una zona determinada amb una posició i un radi. lenum.approach = Aproxima a una zona determinada amb una posició i un radi.
lenum.pathfind = Troba un camí i segueix una ruta fins al punt daparició denemics. lenum.pathfind = Troba un camí i segueix una ruta fins al punt daparició denemics.
lenum.autopathfind = Automatically pathfinds to the nearest enemy core or drop point.\nThis is the same as standard wave enemy pathfinding.
lenum.target = Dispara a una posició. lenum.target = Dispara a una posició.
lenum.targetp = Dispara a un objectiu tenint en compte la seva velocitat a lhora dapuntar. lenum.targetp = Dispara a un objectiu tenint en compte la seva velocitat a lhora dapuntar.
lenum.itemdrop = Deixa un element. lenum.itemdrop = Deixa un element.
@@ -2383,5 +2395,3 @@ lenum.build = Construeix una estructura.
lenum.getblock = Obté un bloc i el seu tipus a les coordenades indicades.\nLa posició escollida ha destar a labast de la unitat.\nEls blocs que no són construccions tindran el tipus [accent]@solid[]. lenum.getblock = Obté un bloc i el seu tipus a les coordenades indicades.\nLa posició escollida ha destar a labast de la unitat.\nEls blocs que no són construccions tindran el tipus [accent]@solid[].
lenum.within = Comprova si la unitat està a prop duna posició. lenum.within = Comprova si la unitat està a prop duna posició.
lenum.boost = Inicia/Detén el vol. lenum.boost = Inicia/Detén el vol.
onset.commandmode = Mantingueu premuda [accent]Maj.[] per a entrar al [accent]mode de comandament[].\n[accent]Feu clic amb el botó esquerre i arrossegueu[] per a seleccionar unitats.\n[accent]Feu clic amb el botó dret[] per a ordenar a les unitats seleccionades que ataquin o que es moguin.
onset.commandmode.mobile = Premeu el [accent]botó de comandament[] per a entrar al [accent]mode de comandament[].\nPremeu i [accent]arrossegueu[] per a seleccionar unitats.\n[accent]Toqueu[] per a ordenar a les unitats seleccionades que ataquin o que es moguin.

View File

@@ -255,6 +255,7 @@ trace = Vystopovat hráče
trace.playername = Jméno hráče: [accent]{0}[] trace.playername = Jméno hráče: [accent]{0}[]
trace.ip = Adresa IP: [accent]{0}[] trace.ip = Adresa IP: [accent]{0}[]
trace.id = Unikátní ID: [accent]{0}[] trace.id = Unikátní ID: [accent]{0}[]
trace.language = Language: [accent]{0}
trace.mobile = Mobilní klient hry: [accent]{0}[] trace.mobile = Mobilní klient hry: [accent]{0}[]
trace.modclient = Upravený klient hry: [accent]{0}[] trace.modclient = Upravený klient hry: [accent]{0}[]
trace.times.joined = Krát Připojen: [accent]{0} trace.times.joined = Krát Připojen: [accent]{0}
@@ -950,12 +951,16 @@ stat.healing = Léčí se
ability.forcefield = Silové pole ability.forcefield = Silové pole
ability.repairfield = Opravit pole ability.repairfield = Opravit pole
ability.statusfield = Stav pole ability.statusfield = Stav pole
ability.unitspawn = {0} továrna ability.unitspawn = továrna
ability.shieldregenfield = Silově opravné pole ability.shieldregenfield = Silově opravné pole
ability.movelightning = Pohybující se blesk ability.movelightning = Pohybující se blesk
ability.shieldarc = Štítovy Oblouk ability.shieldarc = Štítovy Oblouk
ability.suppressionfield = Regen Suppression Field ability.suppressionfield = Regen Suppression Field
ability.energyfield = Energetické pole: [accent]{0}[] poškození ~ [accent]{1}[] dlaždic / [accent]{2}[] cílu ability.energyfield = Energetické pole
ability.energyfield.sametypehealmultiplier = [lightgray]Same Type Healing: [white]{0}%
ability.energyfield.maxtargets = [lightgray]Max Targets: [white]{0}
ability.regen = Regeneration
bar.onlycoredeposit = Pouze Ukládání do Jádra je povoleno bar.onlycoredeposit = Pouze Ukládání do Jádra je povoleno
bar.drilltierreq = Je vyžadován lepší vrt bar.drilltierreq = Je vyžadován lepší vrt
@@ -1096,6 +1101,7 @@ setting.position.name = Ukázat pozici hráče
setting.mouseposition.name = Zobrazit Pozici Myši setting.mouseposition.name = Zobrazit Pozici Myši
setting.musicvol.name = Hlasitost hudby setting.musicvol.name = Hlasitost hudby
setting.atmosphere.name = Ukázat atmosféru planety setting.atmosphere.name = Ukázat atmosféru planety
setting.drawlight.name = Draw Darkness/Lighting
setting.ambientvol.name = Hlasitost prostředí setting.ambientvol.name = Hlasitost prostředí
setting.mutemusic.name = Ztišit hudbu setting.mutemusic.name = Ztišit hudbu
setting.sfxvol.name = Hlasitost efektů setting.sfxvol.name = Hlasitost efektů
@@ -1846,6 +1852,9 @@ onset.enemies = Enemy incoming, prepare to defend.
onset.attack = The enemy is vulnerable. Counter-attack. onset.attack = The enemy is vulnerable. Counter-attack.
onset.cores = New cores can be placed on [accent]core tiles[].\nNew cores function as forward bases and share a resource inventory with other cores.\nPlace a \uf725 core. onset.cores = New cores can be placed on [accent]core tiles[].\nNew cores function as forward bases and share a resource inventory with other cores.\nPlace a \uf725 core.
onset.detect = The enemy will be able to detect you in 2 minutes.\nSet up defenses, mining, and production. onset.detect = The enemy will be able to detect you in 2 minutes.\nSet up defenses, mining, and production.
onset.commandmode = Hold [accent]shift[] to enter [accent]command mode[].\n[accent]Left-click and drag[] to select units.\n[accent]Right-click[] to order selected units to move or attack.
onset.commandmode.mobile = Press the [accent]command button[] to enter [accent]command mode[].\nHold down a finger, then [accent]drag[] to select units.\n[accent]Tap[] to order selected units to move or attack.
aegis.tungsten = Tungsten can be mined using an [accent]impact drill[].\nThis structure requires [accent]water[] and [accent]power[].
split.pickup = Some blocks can be picked up by the core unit.\nPick up this [accent]container[] and place it onto the [accent]payload loader[].\n(Default keys are [ and ] to pick up and drop) split.pickup = Some blocks can be picked up by the core unit.\nPick up this [accent]container[] and place it onto the [accent]payload loader[].\n(Default keys are [ and ] to pick up and drop)
split.pickup.mobile = Some blocks can be picked up by the core unit.\nPick up this [accent]container[] and place it onto the [accent]payload loader[].\n(To pick up or drop something, long-press it.) split.pickup.mobile = Some blocks can be picked up by the core unit.\nPick up this [accent]container[] and place it onto the [accent]payload loader[].\n(To pick up or drop something, long-press it.)
split.acquire = You must acquire some tungsten to build units. split.acquire = You must acquire some tungsten to build units.
@@ -2228,6 +2237,8 @@ lst.cutscene = Manipulate the player camera.
lst.setflag = Set a global flag that can be read by all processors. lst.setflag = Set a global flag that can be read by all processors.
lst.getflag = Check if a global flag is set. lst.getflag = Check if a global flag is set.
lst.setprop = Sets a property of a unit or building. lst.setprop = Sets a property of a unit or building.
lst.effect = Create a particle effect.
lst.sync = Sync a variable across the network.\nOnly invoked 10 times a second at most.
logic.nounitbuild = [red]Stavba budov pomoci jednotek kontrolované procesorem neni povolené. logic.nounitbuild = [red]Stavba budov pomoci jednotek kontrolované procesorem neni povolené.
@@ -2243,6 +2254,7 @@ laccess.dead = Zda jednotka/budova je mrtvá/zničená nebo již neplatná.
laccess.controlled = Vrací:\n[accent]@ctrlProcessor[] pokud kontroler jednotky je procesor\n[accent]@ctrlPlayer[] pokud kontroloer jednotky/budovy je hráč\n[accent]@ctrlFormation[] pokud jednotka je ve formaci\nJiank, 0. laccess.controlled = Vrací:\n[accent]@ctrlProcessor[] pokud kontroler jednotky je procesor\n[accent]@ctrlPlayer[] pokud kontroloer jednotky/budovy je hráč\n[accent]@ctrlFormation[] pokud jednotka je ve formaci\nJiank, 0.
laccess.progress = Průběh akce, 0 do 1.\nVrací průběh výroby, přebití věže nebo stavby. laccess.progress = Průběh akce, 0 do 1.\nVrací průběh výroby, přebití věže nebo stavby.
laccess.speed = Top speed of a unit, in tiles/sec. laccess.speed = Top speed of a unit, in tiles/sec.
laccess.id = ID of a unit/block/item/liquid.\nThis is the inverse of the lookup operation.
lcategory.unknown = Neznámé lcategory.unknown = Neznámé
lcategory.unknown.description = Nezařazené instrukce. lcategory.unknown.description = Nezařazené instrukce.
lcategory.io = Vstup a Výstup lcategory.io = Vstup a Výstup
@@ -2363,6 +2375,7 @@ lenum.unbind = Completely disable logic control.\nResume standard AI.
lenum.move = Pohnout se na určité místo. lenum.move = Pohnout se na určité místo.
lenum.approach = Přiblížit se k určité pozici s určitou vzdálenosti. lenum.approach = Přiblížit se k určité pozici s určitou vzdálenosti.
lenum.pathfind = Nalézt cestu k nepřátelskému spawnu/bodu zrození lenum.pathfind = Nalézt cestu k nepřátelskému spawnu/bodu zrození
lenum.autopathfind = Automatically pathfinds to the nearest enemy core or drop point.\nThis is the same as standard wave enemy pathfinding.
lenum.target = Střelit na pozici. lenum.target = Střelit na pozici.
lenum.targetp = Vystřelí na jednotku/budovu s rychlostní předpovědí lenum.targetp = Vystřelí na jednotku/budovu s rychlostní předpovědí
lenum.itemdrop = Zahodit věc. lenum.itemdrop = Zahodit věc.
@@ -2376,5 +2389,3 @@ lenum.build = Postavit strukturu.
lenum.getblock = Získat budovu a typ na dané pozici.\nJednotka musí být v dosahu dané pozice.\nSolidní non-budovy budou mít typ [accent]@solid[]. lenum.getblock = Získat budovu a typ na dané pozici.\nJednotka musí být v dosahu dané pozice.\nSolidní non-budovy budou mít typ [accent]@solid[].
lenum.within = Zkontrolovat, jestli jednotka je blízko dané pozice. lenum.within = Zkontrolovat, jestli jednotka je blízko dané pozice.
lenum.boost = Začít/Přestat posilovat. lenum.boost = Začít/Přestat posilovat.
onset.commandmode = Hold [accent]shift[] to enter [accent]command mode[].\n[accent]Left-click and drag[] to select units.\n[accent]Right-click[] to order selected units to move or attack.
onset.commandmode.mobile = Press the [accent]command button[] to enter [accent]command mode[].\nHold down a finger, then [accent]drag[] to select units.\n[accent]Tap[] to order selected units to move or attack.

View File

@@ -251,6 +251,7 @@ trace = Følg spiller
trace.playername = Spiller-navn: [accent]{0} trace.playername = Spiller-navn: [accent]{0}
trace.ip = IP: [accent]{0} trace.ip = IP: [accent]{0}
trace.id = Unik ID: [accent]{0} trace.id = Unik ID: [accent]{0}
trace.language = Language: [accent]{0}
trace.mobile = Mobil client: [accent]{0} trace.mobile = Mobil client: [accent]{0}
trace.modclient = Brugerdefineret klient: [accent]{0} trace.modclient = Brugerdefineret klient: [accent]{0}
trace.times.joined = Times Joined: [accent]{0} trace.times.joined = Times Joined: [accent]{0}
@@ -939,12 +940,16 @@ stat.healing = Healing
ability.forcefield = Kraftfelt ability.forcefield = Kraftfelt
ability.repairfield = Reparationsfelt ability.repairfield = Reparationsfelt
ability.statusfield = Statusfelt ability.statusfield = Statusfelt
ability.unitspawn = {0} Fabrik ability.unitspawn = Fabrik
ability.shieldregenfield = Skjold-regenereringsfelt ability.shieldregenfield = Skjold-regenereringsfelt
ability.movelightning = Movement Lightning ability.movelightning = Movement Lightning
ability.shieldarc = Shield Arc ability.shieldarc = Shield Arc
ability.suppressionfield = Regen Suppression Field ability.suppressionfield = Regen Suppression Field
ability.energyfield = Energy Field: [accent]{0}[] damage ~ [accent]{1}[] blocks / [accent]{2}[] targets ability.energyfield = Energy Field
ability.energyfield.sametypehealmultiplier = [lightgray]Same Type Healing: [white]{0}%
ability.energyfield.maxtargets = [lightgray]Max Targets: [white]{0}
ability.regen = Regeneration
bar.onlycoredeposit = Only Core Depositing Allowed bar.onlycoredeposit = Only Core Depositing Allowed
bar.drilltierreq = Kræver bedre bor bar.drilltierreq = Kræver bedre bor
@@ -1085,6 +1090,7 @@ setting.position.name = Vis spillerposition
setting.mouseposition.name = Show Mouse Position setting.mouseposition.name = Show Mouse Position
setting.musicvol.name = Musik-volumen setting.musicvol.name = Musik-volumen
setting.atmosphere.name = Vis planet-atmosfære setting.atmosphere.name = Vis planet-atmosfære
setting.drawlight.name = Draw Darkness/Lighting
setting.ambientvol.name = Stemningslyde-volumen setting.ambientvol.name = Stemningslyde-volumen
setting.mutemusic.name = Forstum musik setting.mutemusic.name = Forstum musik
setting.sfxvol.name = SFX-volumen setting.sfxvol.name = SFX-volumen
@@ -1832,6 +1838,9 @@ onset.enemies = Enemy incoming, prepare to defend.
onset.attack = The enemy is vulnerable. Counter-attack. onset.attack = The enemy is vulnerable. Counter-attack.
onset.cores = New cores can be placed on [accent]core tiles[].\nNew cores function as forward bases and share a resource inventory with other cores.\nPlace a \uf725 core. onset.cores = New cores can be placed on [accent]core tiles[].\nNew cores function as forward bases and share a resource inventory with other cores.\nPlace a \uf725 core.
onset.detect = The enemy will be able to detect you in 2 minutes.\nSet up defenses, mining, and production. onset.detect = The enemy will be able to detect you in 2 minutes.\nSet up defenses, mining, and production.
onset.commandmode = Hold [accent]shift[] to enter [accent]command mode[].\n[accent]Left-click and drag[] to select units.\n[accent]Right-click[] to order selected units to move or attack.
onset.commandmode.mobile = Press the [accent]command button[] to enter [accent]command mode[].\nHold down a finger, then [accent]drag[] to select units.\n[accent]Tap[] to order selected units to move or attack.
aegis.tungsten = Tungsten can be mined using an [accent]impact drill[].\nThis structure requires [accent]water[] and [accent]power[].
split.pickup = Some blocks can be picked up by the core unit.\nPick up this [accent]container[] and place it onto the [accent]payload loader[].\n(Default keys are [ and ] to pick up and drop) split.pickup = Some blocks can be picked up by the core unit.\nPick up this [accent]container[] and place it onto the [accent]payload loader[].\n(Default keys are [ and ] to pick up and drop)
split.pickup.mobile = Some blocks can be picked up by the core unit.\nPick up this [accent]container[] and place it onto the [accent]payload loader[].\n(To pick up or drop something, long-press it.) split.pickup.mobile = Some blocks can be picked up by the core unit.\nPick up this [accent]container[] and place it onto the [accent]payload loader[].\n(To pick up or drop something, long-press it.)
split.acquire = You must acquire some tungsten to build units. split.acquire = You must acquire some tungsten to build units.
@@ -2209,6 +2218,8 @@ lst.cutscene = Manipulate the player camera.
lst.setflag = Set a global flag that can be read by all processors. lst.setflag = Set a global flag that can be read by all processors.
lst.getflag = Check if a global flag is set. lst.getflag = Check if a global flag is set.
lst.setprop = Sets a property of a unit or building. lst.setprop = Sets a property of a unit or building.
lst.effect = Create a particle effect.
lst.sync = Sync a variable across the network.\nOnly invoked 10 times a second at most.
logic.nounitbuild = [red]Unit building logic is not allowed here. logic.nounitbuild = [red]Unit building logic is not allowed here.
lenum.type = Type of building/unit.\ne.g. for any router, this will return [accent]@router[].\nNot a string. lenum.type = Type of building/unit.\ne.g. for any router, this will return [accent]@router[].\nNot a string.
lenum.shoot = Shoot at a position. lenum.shoot = Shoot at a position.
@@ -2221,6 +2232,7 @@ laccess.dead = Whether a unit/building is dead or no longer valid.
laccess.controlled = Returns:\n[accent]@ctrlProcessor[] if unit controller is processor\n[accent]@ctrlPlayer[] if unit/building controller is player\n[accent]@ctrlFormation[] if unit is in formation\nOtherwise, 0. laccess.controlled = Returns:\n[accent]@ctrlProcessor[] if unit controller is processor\n[accent]@ctrlPlayer[] if unit/building controller is player\n[accent]@ctrlFormation[] if unit is in formation\nOtherwise, 0.
laccess.progress = Action progress, 0 to 1.\nReturns production, turret reload or construction progress. laccess.progress = Action progress, 0 to 1.\nReturns production, turret reload or construction progress.
laccess.speed = Top speed of a unit, in tiles/sec. laccess.speed = Top speed of a unit, in tiles/sec.
laccess.id = ID of a unit/block/item/liquid.\nThis is the inverse of the lookup operation.
lcategory.unknown = Unknown lcategory.unknown = Unknown
lcategory.unknown.description = Uncategorized instructions. lcategory.unknown.description = Uncategorized instructions.
lcategory.io = Input & Output lcategory.io = Input & Output
@@ -2325,6 +2337,7 @@ lenum.unbind = Completely disable logic control.\nResume standard AI.
lenum.move = Move to exact position. lenum.move = Move to exact position.
lenum.approach = Approach a position with a radius. lenum.approach = Approach a position with a radius.
lenum.pathfind = Pathfind to the enemy spawn. lenum.pathfind = Pathfind to the enemy spawn.
lenum.autopathfind = Automatically pathfinds to the nearest enemy core or drop point.\nThis is the same as standard wave enemy pathfinding.
lenum.target = Shoot a position. lenum.target = Shoot a position.
lenum.targetp = Shoot a target with velocity prediction. lenum.targetp = Shoot a target with velocity prediction.
lenum.itemdrop = Drop an item. lenum.itemdrop = Drop an item.
@@ -2338,5 +2351,3 @@ lenum.build = Build a structure.
lenum.getblock = Fetch a building and type at coordinates.\nUnit must be in range of position.\nSolid non-buildings will have the type [accent]@solid[]. lenum.getblock = Fetch a building and type at coordinates.\nUnit must be in range of position.\nSolid non-buildings will have the type [accent]@solid[].
lenum.within = Check if unit is near a position. lenum.within = Check if unit is near a position.
lenum.boost = Start/stop boosting. lenum.boost = Start/stop boosting.
onset.commandmode = Hold [accent]shift[] to enter [accent]command mode[].\n[accent]Left-click and drag[] to select units.\n[accent]Right-click[] to order selected units to move or attack.
onset.commandmode.mobile = Press the [accent]command button[] to enter [accent]command mode[].\nHold down a finger, then [accent]drag[] to select units.\n[accent]Tap[] to order selected units to move or attack.

View File

@@ -258,6 +258,7 @@ trace = Spieler verfolgen
trace.playername = Spielername: [accent]{0} trace.playername = Spielername: [accent]{0}
trace.ip = IP: [accent]{0} trace.ip = IP: [accent]{0}
trace.id = ID: [accent]{0} trace.id = ID: [accent]{0}
trace.language = Language: [accent]{0}
trace.mobile = Mobiler Client: [accent]{0} trace.mobile = Mobiler Client: [accent]{0}
trace.modclient = Gemoddeter Client: [accent]{0} trace.modclient = Gemoddeter Client: [accent]{0}
trace.times.joined = Beigetreten: [accent]{0}[] Mal trace.times.joined = Beigetreten: [accent]{0}[] Mal
@@ -663,7 +664,7 @@ objective.build = [accent]Baue: [][lightgray]{0}[]x\n{1}[lightgray]{2}
objective.buildunit = [accent]Baue Einheit: [][lightgray]{0}[]x\n{1}[lightgray]{2} objective.buildunit = [accent]Baue Einheit: [][lightgray]{0}[]x\n{1}[lightgray]{2}
objective.destroyunits = [accent]Zerstöre: [][lightgray]{0}[]x Units objective.destroyunits = [accent]Zerstöre: [][lightgray]{0}[]x Units
objective.enemiesapproaching = [accent]Gegner in [lightgray]{0}[] objective.enemiesapproaching = [accent]Gegner in [lightgray]{0}[]
objective.enemyescelating = [accent]Gegnerische Lufteinheit-Produktion steigert sich in [lightgray]{0}[] objective.enemyescelating = [accent]Gegnerische Einheit-Produktion steigert sich in [lightgray]{0}[]
objective.enemyairunits = [accent]Gegnerische Lufteinheit-Produktion startet in [lightgray]{0}[] objective.enemyairunits = [accent]Gegnerische Lufteinheit-Produktion startet in [lightgray]{0}[]
objective.destroycore = [accent]Gegnerischen Kern zerstören objective.destroycore = [accent]Gegnerischen Kern zerstören
objective.command = [accent]Einheiten Steuern objective.command = [accent]Einheiten Steuern
@@ -961,13 +962,17 @@ stat.healing = Heilung
ability.forcefield = Kraftfeld ability.forcefield = Kraftfeld
ability.repairfield = Heilungsfeld ability.repairfield = Heilungsfeld
ability.statusfield = {0} Statusfeld ability.statusfield = Statusfeld
ability.unitspawn = {0} Fabrik ability.unitspawn = Fabrik
ability.shieldregenfield = Schild-regenerations-Feld ability.shieldregenfield = Schildregenerationsfeld
ability.movelightning = Bewegungsblitze ability.movelightning = Bewegungsblitze
ability.shieldarc = Lichtbogenschild ability.shieldarc = Lichtbogenschild
ability.suppressionfield = Heilungsunterdrückungsfeld ability.suppressionfield = Heilungsunterdrückungsfeld
ability.energyfield = Energiefeld: [accent]{0}[] Schaden ~ [accent]{1}[] Blöcke / [accent]{2}[] Ziele ability.energyfield = Energiefeld
ability.energyfield.sametypehealmultiplier = [lightgray]Same Type Healing: [white]{0}%
ability.energyfield.maxtargets = [lightgray]Max Targets: [white]{0}
ability.regen = Regeneration
bar.onlycoredeposit = Nur Kernablage möglich bar.onlycoredeposit = Nur Kernablage möglich
bar.drilltierreq = Besserer Bohrer benötigt bar.drilltierreq = Besserer Bohrer benötigt
@@ -1108,6 +1113,7 @@ setting.position.name = Spieler-Position anzeigen
setting.mouseposition.name = Mausposition anzeigen setting.mouseposition.name = Mausposition anzeigen
setting.musicvol.name = Musiklautstärke setting.musicvol.name = Musiklautstärke
setting.atmosphere.name = Planetatmosphäre zeigen setting.atmosphere.name = Planetatmosphäre zeigen
setting.drawlight.name = Draw Darkness/Lighting
setting.ambientvol.name = Ambient-Lautstärke setting.ambientvol.name = Ambient-Lautstärke
setting.mutemusic.name = Musik stummschalten setting.mutemusic.name = Musik stummschalten
setting.sfxvol.name = Audioeffekt-Lautstärke setting.sfxvol.name = Audioeffekt-Lautstärke
@@ -1867,6 +1873,11 @@ onset.attack = Der Feid ist verwundbar. Greife ihn an.
onset.cores = Neue Kerne können auf [accent]Kernzonen[] platziert werden.\nNeue Kerne funktionieren als Außenposten und haben alle Zugriff auf dasselbe Kerninventar.\nBaue einen \uf725 Kern. onset.cores = Neue Kerne können auf [accent]Kernzonen[] platziert werden.\nNeue Kerne funktionieren als Außenposten und haben alle Zugriff auf dasselbe Kerninventar.\nBaue einen \uf725 Kern.
onset.detect = Der Feind wird dich in zwei Minuten entdecken.\nStelle Verteidigung, Bergbau und Produktion auf. onset.detect = Der Feind wird dich in zwei Minuten entdecken.\nStelle Verteidigung, Bergbau und Produktion auf.
#Don't translate these yet!
onset.commandmode = Hold [accent]shift[] to enter [accent]command mode[].\n[accent]Left-click and drag[] to select units.\n[accent]Right-click[] to order selected units to move or attack.
onset.commandmode.mobile = Press the [accent]command button[] to enter [accent]command mode[].\nHold down a finger, then [accent]drag[] to select units.\n[accent]Tap[] to order selected units to move or attack.
aegis.tungsten = Tungsten can be mined using an [accent]impact drill[].\nThis structure requires [accent]water[] and [accent]power[].
split.pickup = Manche Blöcke können von der Kerneinheit aufgehoben werden.\nHebe diesen [accent]Behälter[] hoch und trage ihn auf den [accent]Frachtlader[].\n(Default-Tasten für Aufhaben und Fallenlassen sind [ und ] ) split.pickup = Manche Blöcke können von der Kerneinheit aufgehoben werden.\nHebe diesen [accent]Behälter[] hoch und trage ihn auf den [accent]Frachtlader[].\n(Default-Tasten für Aufhaben und Fallenlassen sind [ und ] )
split.pickup.mobile = Manche Blöcke können von der Kerneinheit aufgehoben werden.\nHebe diesen [accent]Behälter[] hoch und trage ihn auf den [accent]Frachtlader[].\n(Um etwas aufzuheben oder fallenzulassen, tippe lange drauf.) split.pickup.mobile = Manche Blöcke können von der Kerneinheit aufgehoben werden.\nHebe diesen [accent]Behälter[] hoch und trage ihn auf den [accent]Frachtlader[].\n(Um etwas aufzuheben oder fallenzulassen, tippe lange drauf.)
split.acquire = Du must etwas Wolfram sammeln, um Einheiten zu bauen. split.acquire = Du must etwas Wolfram sammeln, um Einheiten zu bauen.
@@ -2087,7 +2098,7 @@ block.electric-heater.description = Heizt Blöcke in einer bestimmten Richtung.
block.slag-heater.description = Heizt Blöcke in einer bestimmten Richtung. Benötigt Schlacke. block.slag-heater.description = Heizt Blöcke in einer bestimmten Richtung. Benötigt Schlacke.
block.phase-heater.description = Heizt Blöcke in einer bestimmten Richtung. Benötigt Phasengewebe. block.phase-heater.description = Heizt Blöcke in einer bestimmten Richtung. Benötigt Phasengewebe.
block.heat-redirector.description = Lenkt angesammelte Hitze weiter. block.heat-redirector.description = Lenkt angesammelte Hitze weiter.
block.heat-router.description = Spreads accumulated heat in three output directions. Verteilt angesammelte Hitze auf die 3 anderen Seiten. block.heat-router.description = Verteilt angesammelte Hitze auf die 3 anderen Seiten.
block.electrolyzer.description = Spaltet Wasser in Wasserstoff und Ozon. block.electrolyzer.description = Spaltet Wasser in Wasserstoff und Ozon.
block.atmospheric-concentrator.description = Sammelt Stickstoff aus der Atmosphäre. Benötigt Hitze. block.atmospheric-concentrator.description = Sammelt Stickstoff aus der Atmosphäre. Benötigt Hitze.
block.surge-crucible.description = Formt Spannungslegierung ais Schlacke und Silizium. Benötigt Hitze. block.surge-crucible.description = Formt Spannungslegierung ais Schlacke und Silizium. Benötigt Hitze.
@@ -2097,7 +2108,7 @@ block.cyanogen-synthesizer.description = Synthetisiert Cyanogen aus Arkyzit und
block.slag-incinerator.description = Verbrennt nicht-volatile Materialien und Flüssigkeiten. Benötigt Schlacke. block.slag-incinerator.description = Verbrennt nicht-volatile Materialien und Flüssigkeiten. Benötigt Schlacke.
block.vent-condenser.description = Kondensiert Schlotgase zu Wasser. Verbraucht Strom. block.vent-condenser.description = Kondensiert Schlotgase zu Wasser. Verbraucht Strom.
block.plasma-bore.description = Baut unbefristet Erze aus einer Erzwand ab. Erfordert kleine Mengen an Strom.\nVerwendet optional Wasserstoff, um die Effizienz zu steigern. block.plasma-bore.description = Baut unbefristet Erze aus einer Erzwand ab. Erfordert kleine Mengen an Strom.\nVerwendet optional Wasserstoff, um die Effizienz zu steigern.
block.large-plasma-bore.description = Ein größerer Plasmabohrer. Kann Wolfram und Thorium abbauen. Benötigt Wasserstoff und Strom.\nVerwendet optional Wasserstoff, um die Effizienz zu steigern. block.large-plasma-bore.description = Ein größerer Plasmabohrer. Kann Wolfram und Thorium abbauen. Benötigt Wasserstoff und Strom.\nVerwendet optional Stickstoff, um die Effizienz zu steigern.
block.cliff-crusher.description = Zertrümmert Wände, um unbefristet Sand herzustellen. Benötigt Strom. Effizienz variiert je nach Wandart. block.cliff-crusher.description = Zertrümmert Wände, um unbefristet Sand herzustellen. Benötigt Strom. Effizienz variiert je nach Wandart.
block.impact-drill.description = Baut unbefristet Erze in Schüben aus dem Boden ab. Benötigt Strom und Wasser. block.impact-drill.description = Baut unbefristet Erze in Schüben aus dem Boden ab. Benötigt Strom und Wasser.
block.eruption-drill.description = Ein verbesserter Schlagbohrer. Kann Thorium abbauen. Benötigt Wasserstoff. block.eruption-drill.description = Ein verbesserter Schlagbohrer. Kann Thorium abbauen. Benötigt Wasserstoff.
@@ -2257,6 +2268,8 @@ lst.cutscene = Verschiebe die Spielerkamera.
lst.setflag = Setze eine Flag, die von allen Prozessoren gelesen werden kann. lst.setflag = Setze eine Flag, die von allen Prozessoren gelesen werden kann.
lst.getflag = Überprüfe, ob eine Flag gesetzt ist. lst.getflag = Überprüfe, ob eine Flag gesetzt ist.
lst.setprop = Setzt eine Eigenschaft einer Einheit oder eines Blockes. lst.setprop = Setzt eine Eigenschaft einer Einheit oder eines Blockes.
lst.effect = Create a particle effect.
lst.sync = Sync a variable across the network.\nOnly invoked 10 times a second at most.
logic.nounitbuild = [red]Logik, die Blöcke baut, ist hier nicht erlaubt. logic.nounitbuild = [red]Logik, die Blöcke baut, ist hier nicht erlaubt.
@@ -2272,6 +2285,7 @@ laccess.dead = Ob ein Block / eine Einheit tot oder nicht mehr gültig ist.
laccess.controlled = Gibt zurück:\n[accent]@ctrlProcessor[] wenn die Einheit prozessorgesteuert ist\n[accent]@ctrlPlayer[] wenn die Einheit / der Block von einem Spieler gesteuert wird\n[accent]@ctrlFormation[] wenn die Einheit Teil einer Formation ist\nSonst 0. laccess.controlled = Gibt zurück:\n[accent]@ctrlProcessor[] wenn die Einheit prozessorgesteuert ist\n[accent]@ctrlPlayer[] wenn die Einheit / der Block von einem Spieler gesteuert wird\n[accent]@ctrlFormation[] wenn die Einheit Teil einer Formation ist\nSonst 0.
laccess.progress = Fortschritt, von 0 bis 1.\nGibt Produktion, Nachladestatus or Baufortschritt zurück. laccess.progress = Fortschritt, von 0 bis 1.\nGibt Produktion, Nachladestatus or Baufortschritt zurück.
laccess.speed = Höchstgeschwindigkeit einer Einheit, gemessen in Blöcke/Sekunde. laccess.speed = Höchstgeschwindigkeit einer Einheit, gemessen in Blöcke/Sekunde.
laccess.id = ID of a unit/block/item/liquid.\nThis is the inverse of the lookup operation.
lcategory.unknown = Unbekannt lcategory.unknown = Unbekannt
lcategory.unknown.description = Unbekannte Anweisungen lcategory.unknown.description = Unbekannte Anweisungen
@@ -2393,6 +2407,7 @@ lenum.unbind = Logiksteuerung deaktivieren.\nNormale KI übernimmt.
lenum.move = Geht zu diese Position. lenum.move = Geht zu diese Position.
lenum.approach = Geht auf einen Punkt mit einem bestimmten Radius zu. lenum.approach = Geht auf einen Punkt mit einem bestimmten Radius zu.
lenum.pathfind = Geht zum gegnerischen Spawnpunkt. lenum.pathfind = Geht zum gegnerischen Spawnpunkt.
lenum.autopathfind = Automatically pathfinds to the nearest enemy core or drop point.\nThis is the same as standard wave enemy pathfinding.
lenum.target = Schießt auf eine Position. lenum.target = Schießt auf eine Position.
lenum.targetp = Schießt auf eine Einheit und sagt deren Position voraus. lenum.targetp = Schießt auf eine Einheit und sagt deren Position voraus.
lenum.itemdrop = Materialien abwerfen. lenum.itemdrop = Materialien abwerfen.
@@ -2406,7 +2421,3 @@ lenum.build = Einen Block bauen.
lenum.getblock = Gibt den Boden- und Blocktyp an den Koordinaten zurück.\nEinheiten müssen nah genug dran sein.\nFeste nicht-Blöcke sind [accent]@solid[]. lenum.getblock = Gibt den Boden- und Blocktyp an den Koordinaten zurück.\nEinheiten müssen nah genug dran sein.\nFeste nicht-Blöcke sind [accent]@solid[].
lenum.within = Prüft, ob eine Einheit in einem Radius um einen Punkt ist. lenum.within = Prüft, ob eine Einheit in einem Radius um einen Punkt ist.
lenum.boost = Aktiviert / deaktiviert den Boost. lenum.boost = Aktiviert / deaktiviert den Boost.
#Don't translate these yet!
onset.commandmode = Hold [accent]shift[] to enter [accent]command mode[].\n[accent]Left-click and drag[] to select units.\n[accent]Right-click[] to order selected units to move or attack.
onset.commandmode.mobile = Press the [accent]command button[] to enter [accent]command mode[].\nHold down a finger, then [accent]drag[] to select units.\n[accent]Tap[] to order selected units to move or attack.

View File

@@ -255,6 +255,7 @@ trace = Rastrear Jugador
trace.playername = Nombre del jugador: [accent]{0} trace.playername = Nombre del jugador: [accent]{0}
trace.ip = IP: [accent]{0} trace.ip = IP: [accent]{0}
trace.id = ID: [accent]{0} trace.id = ID: [accent]{0}
trace.language = Language: [accent]{0}
trace.mobile = Cliente de móvil: [accent]{0} trace.mobile = Cliente de móvil: [accent]{0}
trace.modclient = Cliente personalizado: [accent]{0} trace.modclient = Cliente personalizado: [accent]{0}
trace.times.joined = Se ha unido [accent]{0} []veces trace.times.joined = Se ha unido [accent]{0} []veces
@@ -958,13 +959,16 @@ stat.healing = Curación
ability.forcefield = Área de Escudo ability.forcefield = Área de Escudo
ability.repairfield = Área de Reparación ability.repairfield = Área de Reparación
ability.statusfield = Área de Potenciación {0} ability.statusfield = Área de Potenciación
ability.unitspawn = Fábrica de {0} ability.unitspawn = Fábrica
ability.shieldregenfield = Área de Regeneración de Armaduras ability.shieldregenfield = Área de Regeneración de Armaduras
ability.movelightning = Movimiento Relámpago ability.movelightning = Movimiento Relámpago
ability.shieldarc = Sector de Escudo ability.shieldarc = Sector de Escudo
ability.suppressionfield = Área de Bloqueo de Regeneración ability.suppressionfield = Área de Bloqueo de Regeneración
ability.energyfield = Campo de Energía: [accent]{0}[] daño ~ [accent]{1}[] bloques / [accent]{2}[] objetivos ability.energyfield = Campo de Energía
ability.energyfield.sametypehealmultiplier = [lightgray]Same Type Healing: [white]{0}%
ability.energyfield.maxtargets = [lightgray]Max Targets: [white]{0}
ability.regen = Regeneration
bar.onlycoredeposit = Sólo se permite depositar en el núcleo bar.onlycoredeposit = Sólo se permite depositar en el núcleo
bar.drilltierreq = Requiere un taladro mejor bar.drilltierreq = Requiere un taladro mejor
@@ -1105,6 +1109,7 @@ setting.position.name = Mostrar posición de jugadores
setting.mouseposition.name = Mostrar posición del cursor setting.mouseposition.name = Mostrar posición del cursor
setting.musicvol.name = Volumen de la música setting.musicvol.name = Volumen de la música
setting.atmosphere.name = Mostrar atmósfera de planetas setting.atmosphere.name = Mostrar atmósfera de planetas
setting.drawlight.name = Draw Darkness/Lighting
setting.ambientvol.name = Volumen del ambiente setting.ambientvol.name = Volumen del ambiente
setting.mutemusic.name = Silenciar música setting.mutemusic.name = Silenciar música
setting.sfxvol.name = Volumen del sonido setting.sfxvol.name = Volumen del sonido
@@ -1860,6 +1865,11 @@ onset.enemies = Se aproxima un enemigo, prepárate para defenderte.
onset.attack = El enemigo es ahora vulnerable. Contraataca. onset.attack = El enemigo es ahora vulnerable. Contraataca.
onset.cores = Se pueden colocar nuevos núcleos sobre las [accent]zonas de núcleo[].\nLos núcleos adicionales funcionan como bases avanzadas y comparten el inventario de recursos con otros núcleos.\nColoca un \uf725 núcleo. onset.cores = Se pueden colocar nuevos núcleos sobre las [accent]zonas de núcleo[].\nLos núcleos adicionales funcionan como bases avanzadas y comparten el inventario de recursos con otros núcleos.\nColoca un \uf725 núcleo.
onset.detect = El enemigo te detectará en 2 minutos.\nEstablece sistemas de defensa, minería, y producción. onset.detect = El enemigo te detectará en 2 minutos.\nEstablece sistemas de defensa, minería, y producción.
#Don't translate these yet!
onset.commandmode = Hold [accent]shift[] to enter [accent]command mode[].\n[accent]Left-click and drag[] to select units.\n[accent]Right-click[] to order selected units to move or attack.
onset.commandmode.mobile = Press the [accent]command button[] to enter [accent]command mode[].\nHold down a finger, then [accent]drag[] to select units.\n[accent]Tap[] to order selected units to move or attack.
aegis.tungsten = Tungsten can be mined using an [accent]impact drill[].\nThis structure requires [accent]water[] and [accent]power[].
split.pickup = Algunos bloques pueden ser recogidos por la unidad del núcleo.\nRecoge este [accent]contenedor[] y suéltalo sobre el [accent]puerto de carga[].\n(Las teclas por defecto son [ para recoger y ] para soltar la carga) split.pickup = Algunos bloques pueden ser recogidos por la unidad del núcleo.\nRecoge este [accent]contenedor[] y suéltalo sobre el [accent]puerto de carga[].\n(Las teclas por defecto son [ para recoger y ] para soltar la carga)
split.pickup.mobile = Algunos bloques pueden ser recogidos por la unidad del núcleo.\nRecoge este [accent]contenedor[] y suéltalo sobre el [accent]puerto de carga[].\n(Para recoger o soltar algo, mantenlo pulsado.) split.pickup.mobile = Algunos bloques pueden ser recogidos por la unidad del núcleo.\nRecoge este [accent]contenedor[] y suéltalo sobre el [accent]puerto de carga[].\n(Para recoger o soltar algo, mantenlo pulsado.)
split.acquire = Necesitas recolectar tungsteno para construir unidades. split.acquire = Necesitas recolectar tungsteno para construir unidades.
@@ -2251,6 +2261,8 @@ lst.cutscene = Manipula la cámara del jugador.
lst.setflag = Establece una etiqueta global que se puede leer desde todos los procesadores. lst.setflag = Establece una etiqueta global que se puede leer desde todos los procesadores.
lst.getflag = Comprueba si se ha establecido una etiqueta global. lst.getflag = Comprueba si se ha establecido una etiqueta global.
lst.setprop = Sets a property of a unit or building. lst.setprop = Sets a property of a unit or building.
lst.effect = Create a particle effect.
lst.sync = Sync a variable across the network.\nOnly invoked 10 times a second at most.
logic.nounitbuild = [red]No se permite construir bloques de categoría lógica. logic.nounitbuild = [red]No se permite construir bloques de categoría lógica.
@@ -2266,6 +2278,7 @@ laccess.dead = Si una unidad/bloque es destruída o inválida.
laccess.controlled = Devuelve:\n[accent]@ctrlProcessor[] si el control de la unidad lo tiene un procesador\n[accent]@ctrlPlayer[] si el control de la unidad/bloque lo tiene un jugador\n[accent]@ctrlFormation[] si la unidad está en formación\nDe otra forma, devuelve 0. laccess.controlled = Devuelve:\n[accent]@ctrlProcessor[] si el control de la unidad lo tiene un procesador\n[accent]@ctrlPlayer[] si el control de la unidad/bloque lo tiene un jugador\n[accent]@ctrlFormation[] si la unidad está en formación\nDe otra forma, devuelve 0.
laccess.progress = Progreso de una acción, 0 a 1.\nDevuelve el valor de una producción, la recarga de una torreta o el progreso de una construcción. laccess.progress = Progreso de una acción, 0 a 1.\nDevuelve el valor de una producción, la recarga de una torreta o el progreso de una construcción.
laccess.speed = Velocidad máxima de una unidad, en bloques/segundo. laccess.speed = Velocidad máxima de una unidad, en bloques/segundo.
laccess.id = ID of a unit/block/item/liquid.\nThis is the inverse of the lookup operation.
lcategory.unknown = Desconocido lcategory.unknown = Desconocido
lcategory.unknown.description = Instrucciones no clasificadas. lcategory.unknown.description = Instrucciones no clasificadas.
@@ -2387,6 +2400,7 @@ lenum.unbind = Desactiva el control externo de la unidad enlazada.\nLa unidad re
lenum.move = Moverse a una posición exacta. lenum.move = Moverse a una posición exacta.
lenum.approach = Aproximarse al radio establecido de una posición concreta. lenum.approach = Aproximarse al radio establecido de una posición concreta.
lenum.pathfind = Establece y sigue una ruta hasta el punto de aterrizaje enemigo. lenum.pathfind = Establece y sigue una ruta hasta el punto de aterrizaje enemigo.
lenum.autopathfind = Automatically pathfinds to the nearest enemy core or drop point.\nThis is the same as standard wave enemy pathfinding.
lenum.target = Dispara a una posición. lenum.target = Dispara a una posición.
lenum.targetp = Dispara a un objetivo con predicción de velocidad. lenum.targetp = Dispara a un objetivo con predicción de velocidad.
lenum.itemdrop = Suelta los objetos en la estructura especificacda. lenum.itemdrop = Suelta los objetos en la estructura especificacda.
@@ -2400,7 +2414,3 @@ lenum.build = Construye una estructura.
lenum.getblock = Obtiene la estructura y su categoría en unas coordenadas específicas.\nLa unidad debe estar en el rango de su posición.\nLos bloques no-construcciones tendrán el tipo [accent]@solid[]. lenum.getblock = Obtiene la estructura y su categoría en unas coordenadas específicas.\nLa unidad debe estar en el rango de su posición.\nLos bloques no-construcciones tendrán el tipo [accent]@solid[].
lenum.within = Comprueba si una unidad se encuentra cerca de una posición. lenum.within = Comprueba si una unidad se encuentra cerca de una posición.
lenum.boost = Iniciar/Detener vuelo. lenum.boost = Iniciar/Detener vuelo.
#Don't translate these yet!
onset.commandmode = Hold [accent]shift[] to enter [accent]command mode[].\n[accent]Left-click and drag[] to select units.\n[accent]Right-click[] to order selected units to move or attack.
onset.commandmode.mobile = Press the [accent]command button[] to enter [accent]command mode[].\nHold down a finger, then [accent]drag[] to select units.\n[accent]Tap[] to order selected units to move or attack.

View File

@@ -251,6 +251,7 @@ trace = Jälita mängijat
trace.playername = Mängija nimi: [accent]{0} trace.playername = Mängija nimi: [accent]{0}
trace.ip = IP: [accent]{0} trace.ip = IP: [accent]{0}
trace.id = Mängija ID: [accent]{0} trace.id = Mängija ID: [accent]{0}
trace.language = Language: [accent]{0}
trace.mobile = Mobiilne versioon: [accent]{0} trace.mobile = Mobiilne versioon: [accent]{0}
trace.modclient = Modifitseeritud versioon: [accent]{0} trace.modclient = Modifitseeritud versioon: [accent]{0}
trace.times.joined = Times Joined: [accent]{0} trace.times.joined = Times Joined: [accent]{0}
@@ -939,12 +940,16 @@ stat.healing = Healing
ability.forcefield = Force Field ability.forcefield = Force Field
ability.repairfield = Repair Field ability.repairfield = Repair Field
ability.statusfield = Status Field ability.statusfield = Status Field
ability.unitspawn = {0} Factory ability.unitspawn = Factory
ability.shieldregenfield = Shield Regen Field ability.shieldregenfield = Shield Regen Field
ability.movelightning = Movement Lightning ability.movelightning = Movement Lightning
ability.shieldarc = Shield Arc ability.shieldarc = Shield Arc
ability.suppressionfield = Regen Suppression Field ability.suppressionfield = Regen Suppression Field
ability.energyfield = Energy Field: [accent]{0}[] damage ~ [accent]{1}[] blocks / [accent]{2}[] targets ability.energyfield = Energy Field
ability.energyfield.sametypehealmultiplier = [lightgray]Same Type Healing: [white]{0}%
ability.energyfield.maxtargets = [lightgray]Max Targets: [white]{0}
ability.regen = Regeneration
bar.onlycoredeposit = Only Core Depositing Allowed bar.onlycoredeposit = Only Core Depositing Allowed
bar.drilltierreq = Nõuab paremat puuri bar.drilltierreq = Nõuab paremat puuri
@@ -1085,6 +1090,7 @@ setting.position.name = Show Player Position
setting.mouseposition.name = Show Mouse Position setting.mouseposition.name = Show Mouse Position
setting.musicvol.name = Muusika helitugevus setting.musicvol.name = Muusika helitugevus
setting.atmosphere.name = Show Planet Atmosphere setting.atmosphere.name = Show Planet Atmosphere
setting.drawlight.name = Draw Darkness/Lighting
setting.ambientvol.name = Taustahelide tugevus setting.ambientvol.name = Taustahelide tugevus
setting.mutemusic.name = Vaigista muusika setting.mutemusic.name = Vaigista muusika
setting.sfxvol.name = Heliefektide tugevus setting.sfxvol.name = Heliefektide tugevus
@@ -1832,6 +1838,9 @@ onset.enemies = Enemy incoming, prepare to defend.
onset.attack = The enemy is vulnerable. Counter-attack. onset.attack = The enemy is vulnerable. Counter-attack.
onset.cores = New cores can be placed on [accent]core tiles[].\nNew cores function as forward bases and share a resource inventory with other cores.\nPlace a \uf725 core. onset.cores = New cores can be placed on [accent]core tiles[].\nNew cores function as forward bases and share a resource inventory with other cores.\nPlace a \uf725 core.
onset.detect = The enemy will be able to detect you in 2 minutes.\nSet up defenses, mining, and production. onset.detect = The enemy will be able to detect you in 2 minutes.\nSet up defenses, mining, and production.
onset.commandmode = Hold [accent]shift[] to enter [accent]command mode[].\n[accent]Left-click and drag[] to select units.\n[accent]Right-click[] to order selected units to move or attack.
onset.commandmode.mobile = Press the [accent]command button[] to enter [accent]command mode[].\nHold down a finger, then [accent]drag[] to select units.\n[accent]Tap[] to order selected units to move or attack.
aegis.tungsten = Tungsten can be mined using an [accent]impact drill[].\nThis structure requires [accent]water[] and [accent]power[].
split.pickup = Some blocks can be picked up by the core unit.\nPick up this [accent]container[] and place it onto the [accent]payload loader[].\n(Default keys are [ and ] to pick up and drop) split.pickup = Some blocks can be picked up by the core unit.\nPick up this [accent]container[] and place it onto the [accent]payload loader[].\n(Default keys are [ and ] to pick up and drop)
split.pickup.mobile = Some blocks can be picked up by the core unit.\nPick up this [accent]container[] and place it onto the [accent]payload loader[].\n(To pick up or drop something, long-press it.) split.pickup.mobile = Some blocks can be picked up by the core unit.\nPick up this [accent]container[] and place it onto the [accent]payload loader[].\n(To pick up or drop something, long-press it.)
split.acquire = You must acquire some tungsten to build units. split.acquire = You must acquire some tungsten to build units.
@@ -2211,6 +2220,8 @@ lst.cutscene = Manipulate the player camera.
lst.setflag = Set a global flag that can be read by all processors. lst.setflag = Set a global flag that can be read by all processors.
lst.getflag = Check if a global flag is set. lst.getflag = Check if a global flag is set.
lst.setprop = Sets a property of a unit or building. lst.setprop = Sets a property of a unit or building.
lst.effect = Create a particle effect.
lst.sync = Sync a variable across the network.\nOnly invoked 10 times a second at most.
logic.nounitbuild = [red]Unit building logic is not allowed here. logic.nounitbuild = [red]Unit building logic is not allowed here.
lenum.type = Type of building/unit.\ne.g. for any router, this will return [accent]@router[].\nNot a string. lenum.type = Type of building/unit.\ne.g. for any router, this will return [accent]@router[].\nNot a string.
lenum.shoot = Shoot at a position. lenum.shoot = Shoot at a position.
@@ -2223,6 +2234,7 @@ laccess.dead = Whether a unit/building is dead or no longer valid.
laccess.controlled = Returns:\n[accent]@ctrlProcessor[] if unit controller is processor\n[accent]@ctrlPlayer[] if unit/building controller is player\n[accent]@ctrlFormation[] if unit is in formation\nOtherwise, 0. laccess.controlled = Returns:\n[accent]@ctrlProcessor[] if unit controller is processor\n[accent]@ctrlPlayer[] if unit/building controller is player\n[accent]@ctrlFormation[] if unit is in formation\nOtherwise, 0.
laccess.progress = Action progress, 0 to 1.\nReturns production, turret reload or construction progress. laccess.progress = Action progress, 0 to 1.\nReturns production, turret reload or construction progress.
laccess.speed = Top speed of a unit, in tiles/sec. laccess.speed = Top speed of a unit, in tiles/sec.
laccess.id = ID of a unit/block/item/liquid.\nThis is the inverse of the lookup operation.
lcategory.unknown = Unknown lcategory.unknown = Unknown
lcategory.unknown.description = Uncategorized instructions. lcategory.unknown.description = Uncategorized instructions.
lcategory.io = Input & Output lcategory.io = Input & Output
@@ -2327,6 +2339,7 @@ lenum.unbind = Completely disable logic control.\nResume standard AI.
lenum.move = Move to exact position. lenum.move = Move to exact position.
lenum.approach = Approach a position with a radius. lenum.approach = Approach a position with a radius.
lenum.pathfind = Pathfind to the enemy spawn. lenum.pathfind = Pathfind to the enemy spawn.
lenum.autopathfind = Automatically pathfinds to the nearest enemy core or drop point.\nThis is the same as standard wave enemy pathfinding.
lenum.target = Shoot a position. lenum.target = Shoot a position.
lenum.targetp = Shoot a target with velocity prediction. lenum.targetp = Shoot a target with velocity prediction.
lenum.itemdrop = Drop an item. lenum.itemdrop = Drop an item.
@@ -2340,5 +2353,3 @@ lenum.build = Build a structure.
lenum.getblock = Fetch a building and type at coordinates.\nUnit must be in range of position.\nSolid non-buildings will have the type [accent]@solid[]. lenum.getblock = Fetch a building and type at coordinates.\nUnit must be in range of position.\nSolid non-buildings will have the type [accent]@solid[].
lenum.within = Check if unit is near a position. lenum.within = Check if unit is near a position.
lenum.boost = Start/stop boosting. lenum.boost = Start/stop boosting.
onset.commandmode = Hold [accent]shift[] to enter [accent]command mode[].\n[accent]Left-click and drag[] to select units.\n[accent]Right-click[] to order selected units to move or attack.
onset.commandmode.mobile = Press the [accent]command button[] to enter [accent]command mode[].\nHold down a finger, then [accent]drag[] to select units.\n[accent]Tap[] to order selected units to move or attack.

View File

@@ -253,6 +253,7 @@ trace = Trazatu jokalaria
trace.playername = Jokalariaren izena: [accent]{0} trace.playername = Jokalariaren izena: [accent]{0}
trace.ip = IP-a: [accent]{0} trace.ip = IP-a: [accent]{0}
trace.id = ID bakana: [accent]{0} trace.id = ID bakana: [accent]{0}
trace.language = Language: [accent]{0}
trace.mobile = Bezero mugikorra: [accent]{0} trace.mobile = Bezero mugikorra: [accent]{0}
trace.modclient = Bezero pertsonalizatua: [accent]{0} trace.modclient = Bezero pertsonalizatua: [accent]{0}
trace.times.joined = Times Joined: [accent]{0} trace.times.joined = Times Joined: [accent]{0}
@@ -941,12 +942,16 @@ stat.healing = Healing
ability.forcefield = Force Field ability.forcefield = Force Field
ability.repairfield = Repair Field ability.repairfield = Repair Field
ability.statusfield = Status Field ability.statusfield = Status Field
ability.unitspawn = {0} Factory ability.unitspawn = Factory
ability.shieldregenfield = Shield Regen Field ability.shieldregenfield = Shield Regen Field
ability.movelightning = Movement Lightning ability.movelightning = Movement Lightning
ability.shieldarc = Shield Arc ability.shieldarc = Shield Arc
ability.suppressionfield = Regen Suppression Field ability.suppressionfield = Regen Suppression Field
ability.energyfield = Energy Field: [accent]{0}[] damage ~ [accent]{1}[] blocks / [accent]{2}[] targets ability.energyfield = Energy Field
ability.energyfield.sametypehealmultiplier = [lightgray]Same Type Healing: [white]{0}%
ability.energyfield.maxtargets = [lightgray]Max Targets: [white]{0}
ability.regen = Regeneration
bar.onlycoredeposit = Only Core Depositing Allowed bar.onlycoredeposit = Only Core Depositing Allowed
bar.drilltierreq = Zulagailu hobea behar da bar.drilltierreq = Zulagailu hobea behar da
@@ -1087,6 +1092,7 @@ setting.position.name = Erakutsi jokalariaren kokalekua
setting.mouseposition.name = Show Mouse Position setting.mouseposition.name = Show Mouse Position
setting.musicvol.name = Musikaren bolumena setting.musicvol.name = Musikaren bolumena
setting.atmosphere.name = Show Planet Atmosphere setting.atmosphere.name = Show Planet Atmosphere
setting.drawlight.name = Draw Darkness/Lighting
setting.ambientvol.name = Giroaren bolumena setting.ambientvol.name = Giroaren bolumena
setting.mutemusic.name = Isilarazi musika setting.mutemusic.name = Isilarazi musika
setting.sfxvol.name = Efektuen bolumena setting.sfxvol.name = Efektuen bolumena
@@ -1834,6 +1840,9 @@ onset.enemies = Enemy incoming, prepare to defend.
onset.attack = The enemy is vulnerable. Counter-attack. onset.attack = The enemy is vulnerable. Counter-attack.
onset.cores = New cores can be placed on [accent]core tiles[].\nNew cores function as forward bases and share a resource inventory with other cores.\nPlace a \uf725 core. onset.cores = New cores can be placed on [accent]core tiles[].\nNew cores function as forward bases and share a resource inventory with other cores.\nPlace a \uf725 core.
onset.detect = The enemy will be able to detect you in 2 minutes.\nSet up defenses, mining, and production. onset.detect = The enemy will be able to detect you in 2 minutes.\nSet up defenses, mining, and production.
onset.commandmode = Hold [accent]shift[] to enter [accent]command mode[].\n[accent]Left-click and drag[] to select units.\n[accent]Right-click[] to order selected units to move or attack.
onset.commandmode.mobile = Press the [accent]command button[] to enter [accent]command mode[].\nHold down a finger, then [accent]drag[] to select units.\n[accent]Tap[] to order selected units to move or attack.
aegis.tungsten = Tungsten can be mined using an [accent]impact drill[].\nThis structure requires [accent]water[] and [accent]power[].
split.pickup = Some blocks can be picked up by the core unit.\nPick up this [accent]container[] and place it onto the [accent]payload loader[].\n(Default keys are [ and ] to pick up and drop) split.pickup = Some blocks can be picked up by the core unit.\nPick up this [accent]container[] and place it onto the [accent]payload loader[].\n(Default keys are [ and ] to pick up and drop)
split.pickup.mobile = Some blocks can be picked up by the core unit.\nPick up this [accent]container[] and place it onto the [accent]payload loader[].\n(To pick up or drop something, long-press it.) split.pickup.mobile = Some blocks can be picked up by the core unit.\nPick up this [accent]container[] and place it onto the [accent]payload loader[].\n(To pick up or drop something, long-press it.)
split.acquire = You must acquire some tungsten to build units. split.acquire = You must acquire some tungsten to build units.
@@ -2213,6 +2222,8 @@ lst.cutscene = Manipulate the player camera.
lst.setflag = Set a global flag that can be read by all processors. lst.setflag = Set a global flag that can be read by all processors.
lst.getflag = Check if a global flag is set. lst.getflag = Check if a global flag is set.
lst.setprop = Sets a property of a unit or building. lst.setprop = Sets a property of a unit or building.
lst.effect = Create a particle effect.
lst.sync = Sync a variable across the network.\nOnly invoked 10 times a second at most.
logic.nounitbuild = [red]Unit building logic is not allowed here. logic.nounitbuild = [red]Unit building logic is not allowed here.
lenum.type = Type of building/unit.\ne.g. for any router, this will return [accent]@router[].\nNot a string. lenum.type = Type of building/unit.\ne.g. for any router, this will return [accent]@router[].\nNot a string.
lenum.shoot = Shoot at a position. lenum.shoot = Shoot at a position.
@@ -2225,6 +2236,7 @@ laccess.dead = Whether a unit/building is dead or no longer valid.
laccess.controlled = Returns:\n[accent]@ctrlProcessor[] if unit controller is processor\n[accent]@ctrlPlayer[] if unit/building controller is player\n[accent]@ctrlFormation[] if unit is in formation\nOtherwise, 0. laccess.controlled = Returns:\n[accent]@ctrlProcessor[] if unit controller is processor\n[accent]@ctrlPlayer[] if unit/building controller is player\n[accent]@ctrlFormation[] if unit is in formation\nOtherwise, 0.
laccess.progress = Action progress, 0 to 1.\nReturns production, turret reload or construction progress. laccess.progress = Action progress, 0 to 1.\nReturns production, turret reload or construction progress.
laccess.speed = Top speed of a unit, in tiles/sec. laccess.speed = Top speed of a unit, in tiles/sec.
laccess.id = ID of a unit/block/item/liquid.\nThis is the inverse of the lookup operation.
lcategory.unknown = Unknown lcategory.unknown = Unknown
lcategory.unknown.description = Uncategorized instructions. lcategory.unknown.description = Uncategorized instructions.
lcategory.io = Input & Output lcategory.io = Input & Output
@@ -2329,6 +2341,7 @@ lenum.unbind = Completely disable logic control.\nResume standard AI.
lenum.move = Move to exact position. lenum.move = Move to exact position.
lenum.approach = Approach a position with a radius. lenum.approach = Approach a position with a radius.
lenum.pathfind = Pathfind to the enemy spawn. lenum.pathfind = Pathfind to the enemy spawn.
lenum.autopathfind = Automatically pathfinds to the nearest enemy core or drop point.\nThis is the same as standard wave enemy pathfinding.
lenum.target = Shoot a position. lenum.target = Shoot a position.
lenum.targetp = Shoot a target with velocity prediction. lenum.targetp = Shoot a target with velocity prediction.
lenum.itemdrop = Drop an item. lenum.itemdrop = Drop an item.
@@ -2342,5 +2355,3 @@ lenum.build = Build a structure.
lenum.getblock = Fetch a building and type at coordinates.\nUnit must be in range of position.\nSolid non-buildings will have the type [accent]@solid[]. lenum.getblock = Fetch a building and type at coordinates.\nUnit must be in range of position.\nSolid non-buildings will have the type [accent]@solid[].
lenum.within = Check if unit is near a position. lenum.within = Check if unit is near a position.
lenum.boost = Start/stop boosting. lenum.boost = Start/stop boosting.
onset.commandmode = Hold [accent]shift[] to enter [accent]command mode[].\n[accent]Left-click and drag[] to select units.\n[accent]Right-click[] to order selected units to move or attack.
onset.commandmode.mobile = Press the [accent]command button[] to enter [accent]command mode[].\nHold down a finger, then [accent]drag[] to select units.\n[accent]Tap[] to order selected units to move or attack.

View File

@@ -251,6 +251,7 @@ trace = Seuraa pelaajaa
trace.playername = Pelaajanimi: [accent]{0} trace.playername = Pelaajanimi: [accent]{0}
trace.ip = IP-osoite: [accent]{0} trace.ip = IP-osoite: [accent]{0}
trace.id = Pelaajakohtainen tunniste: [accent]{0} trace.id = Pelaajakohtainen tunniste: [accent]{0}
trace.language = Language: [accent]{0}
trace.mobile = Mobiililaite: [accent]{0} trace.mobile = Mobiililaite: [accent]{0}
trace.modclient = Muokattu asiakasohjelma: [accent]{0} trace.modclient = Muokattu asiakasohjelma: [accent]{0}
trace.times.joined = Kuinka monta kertaa olet liittynyt: [accent]{0} trace.times.joined = Kuinka monta kertaa olet liittynyt: [accent]{0}
@@ -938,12 +939,16 @@ stat.healing = Parantuu
ability.forcefield = Voimakenttä ability.forcefield = Voimakenttä
ability.repairfield = Korjauskenttä ability.repairfield = Korjauskenttä
ability.statusfield = Statuskenttä ability.statusfield = Statuskenttä
ability.unitspawn = {0} Tehdas ability.unitspawn = Tehdas
ability.shieldregenfield = Kilvenvahvistuskenttä ability.shieldregenfield = Kilvenvahvistuskenttä
ability.movelightning = Salamointi liikkuessa ability.movelightning = Salamointi liikkuessa
ability.shieldarc = Kilpikaari ability.shieldarc = Kilpikaari
ability.suppressionfield = Regen Suppression Field ability.suppressionfield = Regen Suppression Field
ability.energyfield = Energiakenttä: [accent]{0}[] vahinko ~ [accent]{1}[] palikkaa / [accent]{2}[] kohdetta ability.energyfield = Energiakenttä
ability.energyfield.sametypehealmultiplier = [lightgray]Same Type Healing: [white]{0}%
ability.energyfield.maxtargets = [lightgray]Max Targets: [white]{0}
ability.regen = Regeneration
bar.onlycoredeposit = Sijoittaminen sallittua vain ytimeen bar.onlycoredeposit = Sijoittaminen sallittua vain ytimeen
bar.drilltierreq = Parempi pora vaadittu bar.drilltierreq = Parempi pora vaadittu
@@ -1084,6 +1089,7 @@ setting.position.name = Näytä pelaajan sijainti
setting.mouseposition.name = Näytä hiiren sijainti setting.mouseposition.name = Näytä hiiren sijainti
setting.musicvol.name = Musiikin äänenvoimakkuus setting.musicvol.name = Musiikin äänenvoimakkuus
setting.atmosphere.name = Näytä planeetan ilmakehä setting.atmosphere.name = Näytä planeetan ilmakehä
setting.drawlight.name = Draw Darkness/Lighting
setting.ambientvol.name = Taustaäänet setting.ambientvol.name = Taustaäänet
setting.mutemusic.name = Mykistä musiikki setting.mutemusic.name = Mykistä musiikki
setting.sfxvol.name = SFX-voimakkuus setting.sfxvol.name = SFX-voimakkuus
@@ -1834,6 +1840,9 @@ onset.enemies = Enemy incoming, prepare to defend.
onset.attack = The enemy is vulnerable. Counter-attack. onset.attack = The enemy is vulnerable. Counter-attack.
onset.cores = New cores can be placed on [accent]core tiles[].\nNew cores function as forward bases and share a resource inventory with other cores.\nPlace a \uf725 core. onset.cores = New cores can be placed on [accent]core tiles[].\nNew cores function as forward bases and share a resource inventory with other cores.\nPlace a \uf725 core.
onset.detect = The enemy will be able to detect you in 2 minutes.\nSet up defenses, mining, and production. onset.detect = The enemy will be able to detect you in 2 minutes.\nSet up defenses, mining, and production.
onset.commandmode = Hold [accent]shift[] to enter [accent]command mode[].\n[accent]Left-click and drag[] to select units.\n[accent]Right-click[] to order selected units to move or attack.
onset.commandmode.mobile = Press the [accent]command button[] to enter [accent]command mode[].\nHold down a finger, then [accent]drag[] to select units.\n[accent]Tap[] to order selected units to move or attack.
aegis.tungsten = Tungsten can be mined using an [accent]impact drill[].\nThis structure requires [accent]water[] and [accent]power[].
split.pickup = Some blocks can be picked up by the core unit.\nPick up this [accent]container[] and place it onto the [accent]payload loader[].\n(Default keys are [ and ] to pick up and drop) split.pickup = Some blocks can be picked up by the core unit.\nPick up this [accent]container[] and place it onto the [accent]payload loader[].\n(Default keys are [ and ] to pick up and drop)
split.pickup.mobile = Some blocks can be picked up by the core unit.\nPick up this [accent]container[] and place it onto the [accent]payload loader[].\n(To pick up or drop something, long-press it.) split.pickup.mobile = Some blocks can be picked up by the core unit.\nPick up this [accent]container[] and place it onto the [accent]payload loader[].\n(To pick up or drop something, long-press it.)
split.acquire = You must acquire some tungsten to build units. split.acquire = You must acquire some tungsten to build units.
@@ -2214,6 +2223,8 @@ lst.cutscene = Hallitse pelaajan kameraa.
lst.setflag = Aseta globaali tunniste, jonka kaikki prosessorit voivat lukea. lst.setflag = Aseta globaali tunniste, jonka kaikki prosessorit voivat lukea.
lst.getflag = Tarkista, onko globaali tunniste asetettu. lst.getflag = Tarkista, onko globaali tunniste asetettu.
lst.setprop = Sets a property of a unit or building. lst.setprop = Sets a property of a unit or building.
lst.effect = Create a particle effect.
lst.sync = Sync a variable across the network.\nOnly invoked 10 times a second at most.
logic.nounitbuild = [red]Logiikan käyttö ei täällä ole sallittu yksikköjen tuottamisessa. logic.nounitbuild = [red]Logiikan käyttö ei täällä ole sallittu yksikköjen tuottamisessa.
lenum.type = Rakennuksen/Yksikön tyyppi.\nEsim. jokaisesta reitittimestä tämä palauttaa [accent]@router[].\nEi ole merkkijono. lenum.type = Rakennuksen/Yksikön tyyppi.\nEsim. jokaisesta reitittimestä tämä palauttaa [accent]@router[].\nEi ole merkkijono.
lenum.shoot = Ammu tiettyä sijaintia. lenum.shoot = Ammu tiettyä sijaintia.
@@ -2226,6 +2237,7 @@ laccess.dead = Selvitä, onko yksikkö/rakennus tuhoutunut tai ei enää kelvoll
laccess.controlled = Palauttaa:\n[accent]@ctrlProcessor[], jos yksikön hallitsija on prosessori.\n[accent]@ctrlPlayer[], jos yksikön/rakennuksen hallitsija on pelaaja.\n[accent]@ctrlFormation[], jos yksikkö on muodostelmassa\nMuussa tapauksessa palauttaa 0. laccess.controlled = Palauttaa:\n[accent]@ctrlProcessor[], jos yksikön hallitsija on prosessori.\n[accent]@ctrlPlayer[], jos yksikön/rakennuksen hallitsija on pelaaja.\n[accent]@ctrlFormation[], jos yksikkö on muodostelmassa\nMuussa tapauksessa palauttaa 0.
laccess.progress = Toiminnon edistys asteikolla nollasta yhteen.\nPalauttaa tuotannon, tykin latauksen tai rakennuksen edistymisen. laccess.progress = Toiminnon edistys asteikolla nollasta yhteen.\nPalauttaa tuotannon, tykin latauksen tai rakennuksen edistymisen.
laccess.speed = Yksikön huippunopeus laattoina/sekunti. laccess.speed = Yksikön huippunopeus laattoina/sekunti.
laccess.id = ID of a unit/block/item/liquid.\nThis is the inverse of the lookup operation.
lcategory.unknown = Tuntematon lcategory.unknown = Tuntematon
lcategory.unknown.description = Luokittelemattomat ohjeet. lcategory.unknown.description = Luokittelemattomat ohjeet.
lcategory.io = Sisään- ja ulostulo lcategory.io = Sisään- ja ulostulo
@@ -2330,6 +2342,7 @@ lenum.unbind = Poista logiikkahallinta kokonaan.\nAnna hallinta tavalliselle AI:
lenum.move = Liiku tarkkaan sijaintiin. lenum.move = Liiku tarkkaan sijaintiin.
lenum.approach = Lähesty sijaintia tietylle säteelle. lenum.approach = Lähesty sijaintia tietylle säteelle.
lenum.pathfind = Etsi polku vihollisen syntypisteelle. lenum.pathfind = Etsi polku vihollisen syntypisteelle.
lenum.autopathfind = Automatically pathfinds to the nearest enemy core or drop point.\nThis is the same as standard wave enemy pathfinding.
lenum.target = Ammu tiettyä sijaintia. lenum.target = Ammu tiettyä sijaintia.
lenum.targetp = Ammu kohdetta nopeudenennustuksen ollessa päällä. lenum.targetp = Ammu kohdetta nopeudenennustuksen ollessa päällä.
lenum.itemdrop = Pudota tavaroita. lenum.itemdrop = Pudota tavaroita.
@@ -2343,5 +2356,3 @@ lenum.build = Rakenna tietty rakennus.
lenum.getblock = Selvitä rakennus ja sen tyyppi tietyissä koordinaateissa.\nSijainnin täytyy olla yksikön kantamalla.\nKiinteillä ei-rakennuksilla on tyyppi [accent]@solid[]. lenum.getblock = Selvitä rakennus ja sen tyyppi tietyissä koordinaateissa.\nSijainnin täytyy olla yksikön kantamalla.\nKiinteillä ei-rakennuksilla on tyyppi [accent]@solid[].
lenum.within = Tarkista, onko joukko tietyn sijainnin lähellä. lenum.within = Tarkista, onko joukko tietyn sijainnin lähellä.
lenum.boost = Aloita tai lopeta tehostus. lenum.boost = Aloita tai lopeta tehostus.
onset.commandmode = Hold [accent]shift[] to enter [accent]command mode[].\n[accent]Left-click and drag[] to select units.\n[accent]Right-click[] to order selected units to move or attack.
onset.commandmode.mobile = Press the [accent]command button[] to enter [accent]command mode[].\nHold down a finger, then [accent]drag[] to select units.\n[accent]Tap[] to order selected units to move or attack.

View File

@@ -251,6 +251,7 @@ trace = Trace Player
trace.playername = Pangalan ng Player: [accent]{0} trace.playername = Pangalan ng Player: [accent]{0}
trace.ip = IP: [accent]{0} trace.ip = IP: [accent]{0}
trace.id = Unique ID: [accent]{0} trace.id = Unique ID: [accent]{0}
trace.language = Language: [accent]{0}
trace.mobile = Mobile Client: [accent]{0} trace.mobile = Mobile Client: [accent]{0}
trace.modclient = Custom Client: [accent]{0} trace.modclient = Custom Client: [accent]{0}
trace.times.joined = Times Joined: [accent]{0} trace.times.joined = Times Joined: [accent]{0}
@@ -938,12 +939,16 @@ stat.healing = Healing
ability.forcefield = Force Field ability.forcefield = Force Field
ability.repairfield = Repair Field ability.repairfield = Repair Field
ability.statusfield = Status Field ability.statusfield = Status Field
ability.unitspawn = {0} Factory ability.unitspawn = Factory
ability.shieldregenfield = Shield Regen Field ability.shieldregenfield = Shield Regen Field
ability.movelightning = Movement Lightning ability.movelightning = Movement Lightning
ability.shieldarc = Shield Arc ability.shieldarc = Shield Arc
ability.suppressionfield = Regen Suppression Field ability.suppressionfield = Regen Suppression Field
ability.energyfield = Energy Field: [accent]{0}[] damage ~ [accent]{1}[] blocks / [accent]{2}[] targets ability.energyfield = Energy Field
ability.energyfield.sametypehealmultiplier = [lightgray]Same Type Healing: [white]{0}%
ability.energyfield.maxtargets = [lightgray]Max Targets: [white]{0}
ability.regen = Regeneration
bar.onlycoredeposit = Only Core Depositing Allowed bar.onlycoredeposit = Only Core Depositing Allowed
bar.drilltierreq = Better Drill Required bar.drilltierreq = Better Drill Required
@@ -1084,6 +1089,7 @@ setting.position.name = Show Player Position
setting.mouseposition.name = Show Mouse Position setting.mouseposition.name = Show Mouse Position
setting.musicvol.name = Music Volume setting.musicvol.name = Music Volume
setting.atmosphere.name = Ipakita Planet Atmosphere setting.atmosphere.name = Ipakita Planet Atmosphere
setting.drawlight.name = Draw Darkness/Lighting
setting.ambientvol.name = Ambient Volume setting.ambientvol.name = Ambient Volume
setting.mutemusic.name = Mute Music setting.mutemusic.name = Mute Music
setting.sfxvol.name = SFX Volume setting.sfxvol.name = SFX Volume
@@ -1831,6 +1837,9 @@ onset.enemies = Enemy incoming, prepare to defend.
onset.attack = The enemy is vulnerable. Counter-attack. onset.attack = The enemy is vulnerable. Counter-attack.
onset.cores = New cores can be placed on [accent]core tiles[].\nNew cores function as forward bases and share a resource inventory with other cores.\nPlace a \uf725 core. onset.cores = New cores can be placed on [accent]core tiles[].\nNew cores function as forward bases and share a resource inventory with other cores.\nPlace a \uf725 core.
onset.detect = The enemy will be able to detect you in 2 minutes.\nSet up defenses, mining, and production. onset.detect = The enemy will be able to detect you in 2 minutes.\nSet up defenses, mining, and production.
onset.commandmode = Hold [accent]shift[] to enter [accent]command mode[].\n[accent]Left-click and drag[] to select units.\n[accent]Right-click[] to order selected units to move or attack.
onset.commandmode.mobile = Press the [accent]command button[] to enter [accent]command mode[].\nHold down a finger, then [accent]drag[] to select units.\n[accent]Tap[] to order selected units to move or attack.
aegis.tungsten = Tungsten can be mined using an [accent]impact drill[].\nThis structure requires [accent]water[] and [accent]power[].
split.pickup = Some blocks can be picked up by the core unit.\nPick up this [accent]container[] and place it onto the [accent]payload loader[].\n(Default keys are [ and ] to pick up and drop) split.pickup = Some blocks can be picked up by the core unit.\nPick up this [accent]container[] and place it onto the [accent]payload loader[].\n(Default keys are [ and ] to pick up and drop)
split.pickup.mobile = Some blocks can be picked up by the core unit.\nPick up this [accent]container[] and place it onto the [accent]payload loader[].\n(To pick up or drop something, long-press it.) split.pickup.mobile = Some blocks can be picked up by the core unit.\nPick up this [accent]container[] and place it onto the [accent]payload loader[].\n(To pick up or drop something, long-press it.)
split.acquire = You must acquire some tungsten to build units. split.acquire = You must acquire some tungsten to build units.
@@ -2210,6 +2219,8 @@ lst.cutscene = Manipulate the player camera.
lst.setflag = Set a global flag that can be read by all processors. lst.setflag = Set a global flag that can be read by all processors.
lst.getflag = Check if a global flag is set. lst.getflag = Check if a global flag is set.
lst.setprop = Sets a property of a unit or building. lst.setprop = Sets a property of a unit or building.
lst.effect = Create a particle effect.
lst.sync = Sync a variable across the network.\nOnly invoked 10 times a second at most.
logic.nounitbuild = [red]Unit building logic is not allowed here. logic.nounitbuild = [red]Unit building logic is not allowed here.
lenum.type = Type of building/unit.\ne.g. for any router, this will return [accent]@router[].\nNot a string. lenum.type = Type of building/unit.\ne.g. for any router, this will return [accent]@router[].\nNot a string.
lenum.shoot = Shoot at a position. lenum.shoot = Shoot at a position.
@@ -2222,6 +2233,7 @@ laccess.dead = Whether a unit/building is dead or no longer valid.
laccess.controlled = Returns:\n[accent]@ctrlProcessor[] if unit controller is processor\n[accent]@ctrlPlayer[] if unit/building controller is player\n[accent]@ctrlFormation[] if unit is in formation\nOtherwise, 0. laccess.controlled = Returns:\n[accent]@ctrlProcessor[] if unit controller is processor\n[accent]@ctrlPlayer[] if unit/building controller is player\n[accent]@ctrlFormation[] if unit is in formation\nOtherwise, 0.
laccess.progress = Action progress, 0 to 1.\nReturns production, turret reload or construction progress. laccess.progress = Action progress, 0 to 1.\nReturns production, turret reload or construction progress.
laccess.speed = Top speed of a unit, in tiles/sec. laccess.speed = Top speed of a unit, in tiles/sec.
laccess.id = ID of a unit/block/item/liquid.\nThis is the inverse of the lookup operation.
lcategory.unknown = Unknown lcategory.unknown = Unknown
lcategory.unknown.description = Uncategorized instructions. lcategory.unknown.description = Uncategorized instructions.
lcategory.io = Input & Output lcategory.io = Input & Output
@@ -2326,6 +2338,7 @@ lenum.unbind = Completely disable logic control.\nResume standard AI.
lenum.move = Move to exact position. lenum.move = Move to exact position.
lenum.approach = Approach a position with a radius. lenum.approach = Approach a position with a radius.
lenum.pathfind = Pathfind to the enemy spawn. lenum.pathfind = Pathfind to the enemy spawn.
lenum.autopathfind = Automatically pathfinds to the nearest enemy core or drop point.\nThis is the same as standard wave enemy pathfinding.
lenum.target = Shoot a position. lenum.target = Shoot a position.
lenum.targetp = Shoot a target with velocity prediction. lenum.targetp = Shoot a target with velocity prediction.
lenum.itemdrop = Drop an item. lenum.itemdrop = Drop an item.
@@ -2339,5 +2352,3 @@ lenum.build = Build a structure.
lenum.getblock = Fetch a building and type at coordinates.\nUnit must be in range of position.\nSolid non-buildings will have the type [accent]@solid[]. lenum.getblock = Fetch a building and type at coordinates.\nUnit must be in range of position.\nSolid non-buildings will have the type [accent]@solid[].
lenum.within = Check if unit is near a position. lenum.within = Check if unit is near a position.
lenum.boost = Start/stop boosting. lenum.boost = Start/stop boosting.
onset.commandmode = Hold [accent]shift[] to enter [accent]command mode[].\n[accent]Left-click and drag[] to select units.\n[accent]Right-click[] to order selected units to move or attack.
onset.commandmode.mobile = Press the [accent]command button[] to enter [accent]command mode[].\nHold down a finger, then [accent]drag[] to select units.\n[accent]Tap[] to order selected units to move or attack.

View File

@@ -259,6 +259,7 @@ trace = Suivre le joueur
trace.playername = Nom du joueur : [accent]{0} trace.playername = Nom du joueur : [accent]{0}
trace.ip = IP : [accent]{0} trace.ip = IP : [accent]{0}
trace.id = ID : [accent]{0} trace.id = ID : [accent]{0}
trace.language = Language: [accent]{0}
trace.mobile = Client Mobile : [accent]{0} trace.mobile = Client Mobile : [accent]{0}
trace.modclient = Client personnalisé : [accent]{0} trace.modclient = Client personnalisé : [accent]{0}
trace.times.joined = Nombre de connexions : [accent]{0} trace.times.joined = Nombre de connexions : [accent]{0}
@@ -964,13 +965,16 @@ stat.healing = Guérison
ability.forcefield = Champ de Force ability.forcefield = Champ de Force
ability.repairfield = Champ de Réparation ability.repairfield = Champ de Réparation
ability.statusfield = Champ d'Amélioration {0} ability.statusfield = Champ d'Amélioration
ability.unitspawn = Usine de {0} ability.unitspawn = Usine
ability.shieldregenfield = Champ de régénération de bouclier ability.shieldregenfield = Champ de régénération de bouclier
ability.movelightning = Déplacement éclair ability.movelightning = Déplacement éclair
ability.shieldarc = Arc de Bouclier ability.shieldarc = Arc de Bouclier
ability.suppressionfield = Champ de Suppression de Soins ability.suppressionfield = Champ de Suppression de Soins
ability.energyfield = Champ d'énergie: [accent]{0}[] dégâts ~ [accent]{1}[] blocs / [accent]{2}[] cibles ability.energyfield = Champ d'énergie
ability.energyfield.sametypehealmultiplier = [lightgray]Same Type Healing: [white]{0}%
ability.energyfield.maxtargets = [lightgray]Max Targets: [white]{0}
ability.regen = Regeneration
bar.onlycoredeposit = Seul le dépôt de ressources dans le Noyau est autorisé bar.onlycoredeposit = Seul le dépôt de ressources dans le Noyau est autorisé
bar.drilltierreq = Meilleure Foreuse Requise bar.drilltierreq = Meilleure Foreuse Requise
@@ -1111,6 +1115,7 @@ setting.position.name = Afficher la position du joueur
setting.mouseposition.name = Afficher la Position de la Souris setting.mouseposition.name = Afficher la Position de la Souris
setting.musicvol.name = Volume de la Musique setting.musicvol.name = Volume de la Musique
setting.atmosphere.name = Montrer l'Atmosphère de la planète setting.atmosphere.name = Montrer l'Atmosphère de la planète
setting.drawlight.name = Draw Darkness/Lighting
setting.ambientvol.name = Volume Ambiant setting.ambientvol.name = Volume Ambiant
setting.mutemusic.name = Couper la Musique setting.mutemusic.name = Couper la Musique
setting.sfxvol.name = Volume des Sons et Effets setting.sfxvol.name = Volume des Sons et Effets
@@ -1868,6 +1873,11 @@ onset.attack = L'ennemi est vulnérable. Contre-attaquez.
onset.cores = Les noyaux peuvent être placés sur des [accent]tuiles de noyau[].\nCes nouveaux noyaux servent à faire avancer votre base et partager vos ressources avec d'autres noyaux.\nPlacez un noyau \uf725. onset.cores = Les noyaux peuvent être placés sur des [accent]tuiles de noyau[].\nCes nouveaux noyaux servent à faire avancer votre base et partager vos ressources avec d'autres noyaux.\nPlacez un noyau \uf725.
onset.detect = L'ennemi sera capable de vous détecter dans 2 minutes.\nAméliorez vos défenses, vos exploitations minières ainsi que votre production. onset.detect = L'ennemi sera capable de vous détecter dans 2 minutes.\nAméliorez vos défenses, vos exploitations minières ainsi que votre production.
#Ne pas traduire
onset.commandmode = Hold [accent]shift[] to enter [accent]command mode[].\n[accent]Left-click and drag[] to select units.\n[accent]Right-click[] to order selected units to move or attack.
onset.commandmode.mobile = Press the [accent]command button[] to enter [accent]command mode[].\nHold down a finger, then [accent]drag[] to select units.\n[accent]Tap[] to order selected units to move or attack.
aegis.tungsten = Tungsten can be mined using an [accent]impact drill[].\nThis structure requires [accent]water[] and [accent]power[].
split.pickup = Certains blocs peuvent être transportés par des unités du noyau.\nTransportez ce [accent]conteneur[] et placez-le sur le [accent]chargeur de charges utiles[].\n(Les touches par défaut sont [[ pour ramasser et ] pour déposer) split.pickup = Certains blocs peuvent être transportés par des unités du noyau.\nTransportez ce [accent]conteneur[] et placez-le sur le [accent]chargeur de charges utiles[].\n(Les touches par défaut sont [[ pour ramasser et ] pour déposer)
split.pickup.mobile = Certains blocs peuvent être transportés par des unités du noyau.\nTransportez ce [accent]conteneur[] et placez-le sur le [accent]chargeur de charges utiles[].\n(Pour ramasser ou déposer quelque chose, Pressez longuement dessus.) split.pickup.mobile = Certains blocs peuvent être transportés par des unités du noyau.\nTransportez ce [accent]conteneur[] et placez-le sur le [accent]chargeur de charges utiles[].\n(Pour ramasser ou déposer quelque chose, Pressez longuement dessus.)
split.acquire = Vous devez acquérir du tungstène pour construire des unités. split.acquire = Vous devez acquérir du tungstène pour construire des unités.
@@ -2258,6 +2268,8 @@ lst.cutscene = Manipule la caméra du joueur.
lst.setflag = Définit un drapeau global qui peut être lu par tous les processeurs. lst.setflag = Définit un drapeau global qui peut être lu par tous les processeurs.
lst.getflag = Vérifie si un drapeau global est présent. lst.getflag = Vérifie si un drapeau global est présent.
lst.setprop = Change une propriété d'une unité ou d'un bâtiment. lst.setprop = Change une propriété d'une unité ou d'un bâtiment.
lst.effect = Create a particle effect.
lst.sync = Sync a variable across the network.\nOnly invoked 10 times a second at most.
logic.nounitbuild = [red]Les unités contrôlées par des processeurs ne peuvent pas construire ici. logic.nounitbuild = [red]Les unités contrôlées par des processeurs ne peuvent pas construire ici.
@@ -2273,6 +2285,7 @@ laccess.dead = Retourne si l'Unité/Bâtiment est morte/détruit ou plus valide.
laccess.controlled = Retourne:\n[accent]@ctrlProcessor[] si le contrôleur de l'Unité est un processeur\n[accent]@ctrlPlayer[] si l'Unité/Bâtiment est contrôlé par un joueur\n[accent]@ctrlFormation[] si l'Unité est en formation\nSinon, retourne 0. laccess.controlled = Retourne:\n[accent]@ctrlProcessor[] si le contrôleur de l'Unité est un processeur\n[accent]@ctrlPlayer[] si l'Unité/Bâtiment est contrôlé par un joueur\n[accent]@ctrlFormation[] si l'Unité est en formation\nSinon, retourne 0.
laccess.progress = Progression de l'action, 0 à 1.\nRenvoie la progression de la production, du rechargement de la tourelle ou de la construction. laccess.progress = Progression de l'action, 0 à 1.\nRenvoie la progression de la production, du rechargement de la tourelle ou de la construction.
laccess.speed = La vitesse maximale d'une unité, en blocs/sec. laccess.speed = La vitesse maximale d'une unité, en blocs/sec.
laccess.id = ID of a unit/block/item/liquid.\nThis is the inverse of the lookup operation.
lcategory.unknown = Inconnu lcategory.unknown = Inconnu
lcategory.unknown.description = Instructions sans catégorie. lcategory.unknown.description = Instructions sans catégorie.
@@ -2394,6 +2407,7 @@ lenum.unbind = Désactive complètement le contrôle par processeur.\nL'unité r
lenum.move = Bouge vers la position exacte. lenum.move = Bouge vers la position exacte.
lenum.approach = Approche une position avec un rayon. lenum.approach = Approche une position avec un rayon.
lenum.pathfind = Détermine un itinéraire et bouge vers le point d'apparition ennemi. lenum.pathfind = Détermine un itinéraire et bouge vers le point d'apparition ennemi.
lenum.autopathfind = Automatically pathfinds to the nearest enemy core or drop point.\nThis is the same as standard wave enemy pathfinding.
lenum.target = Tire vers la position donnée. lenum.target = Tire vers la position donnée.
lenum.targetp = Tire sur une cible avec la prédiction de mouvement. lenum.targetp = Tire sur une cible avec la prédiction de mouvement.
lenum.itemdrop = Lâche un objet. lenum.itemdrop = Lâche un objet.
@@ -2407,7 +2421,3 @@ lenum.build = Construit une structure.
lenum.getblock = Récupère des données sur un bâtiment et son type aux coordonnées données.\nL'unité doit se trouver dans la portée de la position.\nLes blocs solides qui ne sont pas des bâtiments auront le type [accent]@solid[]. lenum.getblock = Récupère des données sur un bâtiment et son type aux coordonnées données.\nL'unité doit se trouver dans la portée de la position.\nLes blocs solides qui ne sont pas des bâtiments auront le type [accent]@solid[].
lenum.within = Vérifie si l'unité est près de la position. lenum.within = Vérifie si l'unité est près de la position.
lenum.boost = Active/Désactive le boost. lenum.boost = Active/Désactive le boost.
#Ne pas traduire
onset.commandmode = Hold [accent]shift[] to enter [accent]command mode[].\n[accent]Left-click and drag[] to select units.\n[accent]Right-click[] to order selected units to move or attack.
onset.commandmode.mobile = Press the [accent]command button[] to enter [accent]command mode[].\nHold down a finger, then [accent]drag[] to select units.\n[accent]Tap[] to order selected units to move or attack.

View File

@@ -254,6 +254,7 @@ trace = Játékos követése
trace.playername = Játékos neve: [accent]{0} trace.playername = Játékos neve: [accent]{0}
trace.ip = IP: [accent]{0} trace.ip = IP: [accent]{0}
trace.id = Azonosító: [accent]{0} trace.id = Azonosító: [accent]{0}
trace.language = Language: [accent]{0}
trace.mobile = Mobil kliens: [accent]{0} trace.mobile = Mobil kliens: [accent]{0}
trace.modclient = Nem hivatalos kliens: [accent]{0} trace.modclient = Nem hivatalos kliens: [accent]{0}
trace.times.joined = Csatlakotások száma: [accent]{0} trace.times.joined = Csatlakotások száma: [accent]{0}
@@ -948,12 +949,16 @@ stat.healing = Healing
ability.forcefield = Erőtér ability.forcefield = Erőtér
ability.repairfield = Javító mező ability.repairfield = Javító mező
ability.statusfield = Status Field ability.statusfield = Status Field
ability.unitspawn = {0} Gyár ability.unitspawn = Gyár
ability.shieldregenfield = Pajzsos regeneráló mező ability.shieldregenfield = Pajzsos regeneráló mező
ability.movelightning = Világítás ability.movelightning = Világítás
ability.shieldarc = Shield Arc ability.shieldarc = Shield Arc
ability.suppressionfield = Regen Suppression Field ability.suppressionfield = Regen Suppression Field
ability.energyfield = Energy Field: [accent]{0}[] damage ~ [accent]{1}[] blocks / [accent]{2}[] targets ability.energyfield = Energy Field
ability.energyfield.sametypehealmultiplier = [lightgray]Same Type Healing: [white]{0}%
ability.energyfield.maxtargets = [lightgray]Max Targets: [white]{0}
ability.regen = Regeneration
bar.onlycoredeposit = Only Core Depositing Allowed bar.onlycoredeposit = Only Core Depositing Allowed
bar.drilltierreq = Erősebb Drill szükséges bar.drilltierreq = Erősebb Drill szükséges
@@ -1094,6 +1099,7 @@ setting.position.name = A játékos pozíciójának megjelenítése
setting.mouseposition.name = Show Mouse Position setting.mouseposition.name = Show Mouse Position
setting.musicvol.name = Zene hangerő setting.musicvol.name = Zene hangerő
setting.atmosphere.name = Bolygó atmoszféra setting.atmosphere.name = Bolygó atmoszféra
setting.drawlight.name = Draw Darkness/Lighting
setting.ambientvol.name = Környezeti hangerő setting.ambientvol.name = Környezeti hangerő
setting.mutemusic.name = Zene némítása setting.mutemusic.name = Zene némítása
setting.sfxvol.name = SFX hangerő setting.sfxvol.name = SFX hangerő
@@ -1842,6 +1848,9 @@ onset.enemies = Enemy incoming, prepare to defend.
onset.attack = The enemy is vulnerable. Counter-attack. onset.attack = The enemy is vulnerable. Counter-attack.
onset.cores = New cores can be placed on [accent]core tiles[].\nNew cores function as forward bases and share a resource inventory with other cores.\nPlace a \uf725 core. onset.cores = New cores can be placed on [accent]core tiles[].\nNew cores function as forward bases and share a resource inventory with other cores.\nPlace a \uf725 core.
onset.detect = The enemy will be able to detect you in 2 minutes.\nSet up defenses, mining, and production. onset.detect = The enemy will be able to detect you in 2 minutes.\nSet up defenses, mining, and production.
onset.commandmode = Hold [accent]shift[] to enter [accent]command mode[].\n[accent]Left-click and drag[] to select units.\n[accent]Right-click[] to order selected units to move or attack.
onset.commandmode.mobile = Press the [accent]command button[] to enter [accent]command mode[].\nHold down a finger, then [accent]drag[] to select units.\n[accent]Tap[] to order selected units to move or attack.
aegis.tungsten = Tungsten can be mined using an [accent]impact drill[].\nThis structure requires [accent]water[] and [accent]power[].
split.pickup = Some blocks can be picked up by the core unit.\nPick up this [accent]container[] and place it onto the [accent]payload loader[].\n(Default keys are [ and ] to pick up and drop) split.pickup = Some blocks can be picked up by the core unit.\nPick up this [accent]container[] and place it onto the [accent]payload loader[].\n(Default keys are [ and ] to pick up and drop)
split.pickup.mobile = Some blocks can be picked up by the core unit.\nPick up this [accent]container[] and place it onto the [accent]payload loader[].\n(To pick up or drop something, long-press it.) split.pickup.mobile = Some blocks can be picked up by the core unit.\nPick up this [accent]container[] and place it onto the [accent]payload loader[].\n(To pick up or drop something, long-press it.)
split.acquire = You must acquire some tungsten to build units. split.acquire = You must acquire some tungsten to build units.
@@ -2222,6 +2231,8 @@ lst.cutscene = Manipulate the player camera.
lst.setflag = Set a global flag that can be read by all processors. lst.setflag = Set a global flag that can be read by all processors.
lst.getflag = Check if a global flag is set. lst.getflag = Check if a global flag is set.
lst.setprop = Sets a property of a unit or building. lst.setprop = Sets a property of a unit or building.
lst.effect = Create a particle effect.
lst.sync = Sync a variable across the network.\nOnly invoked 10 times a second at most.
logic.nounitbuild = [red]Unit building logic is not allowed here. logic.nounitbuild = [red]Unit building logic is not allowed here.
lenum.type = Type of building/unit.\ne.g. for any router, this will return [accent]@router[].\nNot a string. lenum.type = Type of building/unit.\ne.g. for any router, this will return [accent]@router[].\nNot a string.
lenum.shoot = Shoot at a position. lenum.shoot = Shoot at a position.
@@ -2234,6 +2245,7 @@ laccess.dead = Whether a unit/building is dead or no longer valid.
laccess.controlled = Returns:\n[accent]@ctrlProcessor[] if unit controller is processor\n[accent]@ctrlPlayer[] if unit/building controller is player\n[accent]@ctrlFormation[] if unit is in formation\nOtherwise, 0. laccess.controlled = Returns:\n[accent]@ctrlProcessor[] if unit controller is processor\n[accent]@ctrlPlayer[] if unit/building controller is player\n[accent]@ctrlFormation[] if unit is in formation\nOtherwise, 0.
laccess.progress = Action progress, 0 to 1.\nReturns production, turret reload or construction progress. laccess.progress = Action progress, 0 to 1.\nReturns production, turret reload or construction progress.
laccess.speed = Top speed of a unit, in tiles/sec. laccess.speed = Top speed of a unit, in tiles/sec.
laccess.id = ID of a unit/block/item/liquid.\nThis is the inverse of the lookup operation.
lcategory.unknown = Unknown lcategory.unknown = Unknown
lcategory.unknown.description = Uncategorized instructions. lcategory.unknown.description = Uncategorized instructions.
lcategory.io = Input & Output lcategory.io = Input & Output
@@ -2338,6 +2350,7 @@ lenum.unbind = Completely disable logic control.\nResume standard AI.
lenum.move = Move to exact position. lenum.move = Move to exact position.
lenum.approach = Approach a position with a radius. lenum.approach = Approach a position with a radius.
lenum.pathfind = Pathfind to the enemy spawn. lenum.pathfind = Pathfind to the enemy spawn.
lenum.autopathfind = Automatically pathfinds to the nearest enemy core or drop point.\nThis is the same as standard wave enemy pathfinding.
lenum.target = Shoot a position. lenum.target = Shoot a position.
lenum.targetp = Shoot a target with velocity prediction. lenum.targetp = Shoot a target with velocity prediction.
lenum.itemdrop = Drop an item. lenum.itemdrop = Drop an item.
@@ -2351,5 +2364,3 @@ lenum.build = Build a structure.
lenum.getblock = Fetch a building and type at coordinates.\nUnit must be in range of position.\nSolid non-buildings will have the type [accent]@solid[]. lenum.getblock = Fetch a building and type at coordinates.\nUnit must be in range of position.\nSolid non-buildings will have the type [accent]@solid[].
lenum.within = Check if unit is near a position. lenum.within = Check if unit is near a position.
lenum.boost = Start/stop boosting. lenum.boost = Start/stop boosting.
onset.commandmode = Hold [accent]shift[] to enter [accent]command mode[].\n[accent]Left-click and drag[] to select units.\n[accent]Right-click[] to order selected units to move or attack.
onset.commandmode.mobile = Press the [accent]command button[] to enter [accent]command mode[].\nHold down a finger, then [accent]drag[] to select units.\n[accent]Tap[] to order selected units to move or attack.

View File

@@ -255,6 +255,7 @@ trace = Lacak Pemain
trace.playername = Nama pemain: [accent]{0} trace.playername = Nama pemain: [accent]{0}
trace.ip = IP: [accent]{0} trace.ip = IP: [accent]{0}
trace.id = ID: [accent]{0} trace.id = ID: [accent]{0}
trace.language = Language: [accent]{0}
trace.mobile = Client Mobile: [accent]{0} trace.mobile = Client Mobile: [accent]{0}
trace.modclient = Client Modifikasi: [accent]{0} trace.modclient = Client Modifikasi: [accent]{0}
trace.times.joined = Total Bergabung: [accent]{0} trace.times.joined = Total Bergabung: [accent]{0}
@@ -958,13 +959,16 @@ stat.healing = Menyembuhkan
ability.forcefield = Bidang Kekuatan ability.forcefield = Bidang Kekuatan
ability.repairfield = Bidang Perbaikan ability.repairfield = Bidang Perbaikan
ability.statusfield = {0} Bidang Status ability.statusfield = Bidang Status
ability.unitspawn = {0} Pabrik ability.unitspawn = Pabrik
ability.shieldregenfield = Bidang Regenerasi Perisai ability.shieldregenfield = Bidang Regenerasi Perisai
ability.movelightning = Pergerakan Petir ability.movelightning = Pergerakan Petir
ability.shieldarc = Shield Arc ability.shieldarc = Shield Arc
ability.suppressionfield = Regen Suppression Field ability.suppressionfield = Regen Suppression Field
ability.energyfield = Bidang Tenaga: [accent]{0}[] kerusakan ~ [accent]{1}[] blok / [accent]{2}[] target ability.energyfield = Bidang Tenaga
ability.energyfield.sametypehealmultiplier = [lightgray]Same Type Healing: [white]{0}%
ability.energyfield.maxtargets = [lightgray]Max Targets: [white]{0}
ability.regen = Regeneration
bar.onlycoredeposit = Hanya Penyetoran Inti yang Diizinkan bar.onlycoredeposit = Hanya Penyetoran Inti yang Diizinkan
bar.drilltierreq = Membutuhkan Bor yang Lebih Baik bar.drilltierreq = Membutuhkan Bor yang Lebih Baik
@@ -1105,6 +1109,7 @@ setting.position.name = Tunjukkan Posisi Pemain
setting.mouseposition.name = Tunjukkan Posisi Tetikus setting.mouseposition.name = Tunjukkan Posisi Tetikus
setting.musicvol.name = Volume Musik setting.musicvol.name = Volume Musik
setting.atmosphere.name = Tunjukkan Atmosfer Planet setting.atmosphere.name = Tunjukkan Atmosfer Planet
setting.drawlight.name = Draw Darkness/Lighting
setting.ambientvol.name = Volume Sekeliling setting.ambientvol.name = Volume Sekeliling
setting.mutemusic.name = Diamkan Musik setting.mutemusic.name = Diamkan Musik
setting.sfxvol.name = Volume Efek Suara setting.sfxvol.name = Volume Efek Suara
@@ -1859,6 +1864,11 @@ onset.enemies = Enemy incoming, prepare to defend.
onset.attack = The enemy is vulnerable. Counter-attack. onset.attack = The enemy is vulnerable. Counter-attack.
onset.cores = New cores can be placed on [accent]core tiles[].\nNew cores function as forward bases and share a resource inventory with other cores.\nPlace a \uf725 core. onset.cores = New cores can be placed on [accent]core tiles[].\nNew cores function as forward bases and share a resource inventory with other cores.\nPlace a \uf725 core.
onset.detect = The enemy will be able to detect you in 2 minutes.\nSet up defenses, mining, and production. onset.detect = The enemy will be able to detect you in 2 minutes.\nSet up defenses, mining, and production.
#Don't translate these yet!
onset.commandmode = Hold [accent]shift[] to enter [accent]command mode[].\n[accent]Left-click and drag[] to select units.\n[accent]Right-click[] to order selected units to move or attack.
onset.commandmode.mobile = Press the [accent]command button[] to enter [accent]command mode[].\nHold down a finger, then [accent]drag[] to select units.\n[accent]Tap[] to order selected units to move or attack.
aegis.tungsten = Tungsten can be mined using an [accent]impact drill[].\nThis structure requires [accent]water[] and [accent]power[].
split.pickup = Some blocks can be picked up by the core unit.\nPick up this [accent]container[] and place it onto the [accent]payload loader[].\n(Default keys are [ and ] to pick up and drop) split.pickup = Some blocks can be picked up by the core unit.\nPick up this [accent]container[] and place it onto the [accent]payload loader[].\n(Default keys are [ and ] to pick up and drop)
split.pickup.mobile = Some blocks can be picked up by the core unit.\nPick up this [accent]container[] and place it onto the [accent]payload loader[].\n(To pick up or drop something, long-press it.) split.pickup.mobile = Some blocks can be picked up by the core unit.\nPick up this [accent]container[] and place it onto the [accent]payload loader[].\n(To pick up or drop something, long-press it.)
split.acquire = You must acquire some tungsten to build units. split.acquire = You must acquire some tungsten to build units.
@@ -2249,6 +2259,8 @@ lst.cutscene = Mengendalikan kamera pemain.
lst.setflag = Menentukan global flag yang dapat dibaca oleh semua prosesor. lst.setflag = Menentukan global flag yang dapat dibaca oleh semua prosesor.
lst.getflag = Periksa apakah ada global flag yang ditentukan. lst.getflag = Periksa apakah ada global flag yang ditentukan.
lst.setprop = Sets a property of a unit or building. lst.setprop = Sets a property of a unit or building.
lst.effect = Create a particle effect.
lst.sync = Sync a variable across the network.\nOnly invoked 10 times a second at most.
logic.nounitbuild = [red]Logika unit membangun tidak diperbolehkan di sini. logic.nounitbuild = [red]Logika unit membangun tidak diperbolehkan di sini.
@@ -2264,6 +2276,7 @@ laccess.dead = Menentukan apakah unit/bangunan itu hancur atau tidak ada lagi.
laccess.controlled = Mengembalikan:\n[accent]@ctrlProcessor[] bila pengendali unit adalah prosesor\n[accent]@ctrlPlayer[] bila pengendali unit/bangunan adalah pemain\n[accent]@ctrlFormation[] bila unit dalam formasi\nSebaliknya, 0. laccess.controlled = Mengembalikan:\n[accent]@ctrlProcessor[] bila pengendali unit adalah prosesor\n[accent]@ctrlPlayer[] bila pengendali unit/bangunan adalah pemain\n[accent]@ctrlFormation[] bila unit dalam formasi\nSebaliknya, 0.
laccess.progress = Memeriksa hasil kemajuan, 0 sampai 1.\nMengembalikan hasil laju produksi, pengisian ulang menara atau pembangunan. laccess.progress = Memeriksa hasil kemajuan, 0 sampai 1.\nMengembalikan hasil laju produksi, pengisian ulang menara atau pembangunan.
laccess.speed = Kecepatan tertinggi dari suatu unit, dalam petak/detik. laccess.speed = Kecepatan tertinggi dari suatu unit, dalam petak/detik.
laccess.id = ID of a unit/block/item/liquid.\nThis is the inverse of the lookup operation.
lcategory.unknown = Tak Diketahui lcategory.unknown = Tak Diketahui
lcategory.unknown.description = Instruksi tanpa kategori. lcategory.unknown.description = Instruksi tanpa kategori.
@@ -2385,6 +2398,7 @@ lenum.unbind = Mematikan kendali logika.\nLanjutkan A.I. standar.
lenum.move = Bergerak ke posisi yang ditentukan. lenum.move = Bergerak ke posisi yang ditentukan.
lenum.approach = Mendekati posisi dalam radius. lenum.approach = Mendekati posisi dalam radius.
lenum.pathfind = Mencari arah ke tempat munculnya musuh. lenum.pathfind = Mencari arah ke tempat munculnya musuh.
lenum.autopathfind = Automatically pathfinds to the nearest enemy core or drop point.\nThis is the same as standard wave enemy pathfinding.
lenum.target = Menembak pada posisi. lenum.target = Menembak pada posisi.
lenum.targetp = Menembak target dengan perkiraan kecepatan. lenum.targetp = Menembak target dengan perkiraan kecepatan.
lenum.itemdrop = Menjatuhkan bahan. lenum.itemdrop = Menjatuhkan bahan.
@@ -2398,7 +2412,3 @@ lenum.build = Membangun sebuah sttruktur.
lenum.getblock = Mengambil bangunan dan tipenya pada koordinat tertentu.\nUnit harus ada dalam jangkauan tersebut.\nBentuk padat yang bukan merupakan bangunan akan memiliki tipe [accent]@solid[]. lenum.getblock = Mengambil bangunan dan tipenya pada koordinat tertentu.\nUnit harus ada dalam jangkauan tersebut.\nBentuk padat yang bukan merupakan bangunan akan memiliki tipe [accent]@solid[].
lenum.within = Memeriksa apakah unit di dekat suatu posisi. lenum.within = Memeriksa apakah unit di dekat suatu posisi.
lenum.boost = Mulai/berhenti mempercepat. lenum.boost = Mulai/berhenti mempercepat.
#Don't translate these yet!
onset.commandmode = Hold [accent]shift[] to enter [accent]command mode[].\n[accent]Left-click and drag[] to select units.\n[accent]Right-click[] to order selected units to move or attack.
onset.commandmode.mobile = Press the [accent]command button[] to enter [accent]command mode[].\nHold down a finger, then [accent]drag[] to select units.\n[accent]Tap[] to order selected units to move or attack.

View File

@@ -253,6 +253,7 @@ trace = Traccia Giocatore
trace.playername = Nome del Giocatore: [accent]{0} trace.playername = Nome del Giocatore: [accent]{0}
trace.ip = IP: [accent]{0} trace.ip = IP: [accent]{0}
trace.id = ID univoco: [accent]{0} trace.id = ID univoco: [accent]{0}
trace.language = Language: [accent]{0}
trace.mobile = Client Mobile: [accent]{0} trace.mobile = Client Mobile: [accent]{0}
trace.modclient = Client Personalizzato: [accent]{0} trace.modclient = Client Personalizzato: [accent]{0}
trace.times.joined = Accessi: [accent]{0} trace.times.joined = Accessi: [accent]{0}
@@ -945,12 +946,16 @@ stat.healing = Rigenerazione
ability.forcefield = Campo di Forza ability.forcefield = Campo di Forza
ability.repairfield = Campo Riparativo ability.repairfield = Campo Riparativo
ability.statusfield = Campo di Stato ability.statusfield = Campo di Stato
ability.unitspawn = {0} Fabbrica ability.unitspawn = Fabbrica
ability.shieldregenfield = Campo di Rigenerazione Scudo ability.shieldregenfield = Campo di Rigenerazione Scudo
ability.movelightning = Movimento Fulminante ability.movelightning = Movimento Fulminante
ability.shieldarc = Shield Arc ability.shieldarc = Shield Arc
ability.suppressionfield = Regen Suppression Field ability.suppressionfield = Regen Suppression Field
ability.energyfield = Campo energetico: [accent]{0}[] danno ~ [accent]{1}[] blocchi / [accent]{2}[] obbiettivi ability.energyfield = Campo energetico
ability.energyfield.sametypehealmultiplier = [lightgray]Same Type Healing: [white]{0}%
ability.energyfield.maxtargets = [lightgray]Max Targets: [white]{0}
ability.regen = Regeneration
bar.onlycoredeposit = Concesso solo il deposito al nucleo bar.onlycoredeposit = Concesso solo il deposito al nucleo
bar.drilltierreq = Miglior Trivella Richiesta bar.drilltierreq = Miglior Trivella Richiesta
@@ -1091,6 +1096,7 @@ setting.position.name = Mostra Posizione Giocatori
setting.mouseposition.name = Mostra mouse setting.mouseposition.name = Mostra mouse
setting.musicvol.name = Volume Musica setting.musicvol.name = Volume Musica
setting.atmosphere.name = Mostra Atmosfera Pianeta setting.atmosphere.name = Mostra Atmosfera Pianeta
setting.drawlight.name = Draw Darkness/Lighting
setting.ambientvol.name = Volume Ambiente setting.ambientvol.name = Volume Ambiente
setting.mutemusic.name = Silenzia Musica setting.mutemusic.name = Silenzia Musica
setting.sfxvol.name = Volume Effetti setting.sfxvol.name = Volume Effetti
@@ -1844,6 +1850,9 @@ onset.enemies = Enemy incoming, prepare to defend.
onset.attack = The enemy is vulnerable. Counter-attack. onset.attack = The enemy is vulnerable. Counter-attack.
onset.cores = New cores can be placed on [accent]core tiles[].\nNew cores function as forward bases and share a resource inventory with other cores.\nPlace a \uf725 core. onset.cores = New cores can be placed on [accent]core tiles[].\nNew cores function as forward bases and share a resource inventory with other cores.\nPlace a \uf725 core.
onset.detect = The enemy will be able to detect you in 2 minutes.\nSet up defenses, mining, and production. onset.detect = The enemy will be able to detect you in 2 minutes.\nSet up defenses, mining, and production.
onset.commandmode = Hold [accent]shift[] to enter [accent]command mode[].\n[accent]Left-click and drag[] to select units.\n[accent]Right-click[] to order selected units to move or attack.
onset.commandmode.mobile = Press the [accent]command button[] to enter [accent]command mode[].\nHold down a finger, then [accent]drag[] to select units.\n[accent]Tap[] to order selected units to move or attack.
aegis.tungsten = Tungsten can be mined using an [accent]impact drill[].\nThis structure requires [accent]water[] and [accent]power[].
split.pickup = Some blocks can be picked up by the core unit.\nPick up this [accent]container[] and place it onto the [accent]payload loader[].\n(Default keys are [ and ] to pick up and drop) split.pickup = Some blocks can be picked up by the core unit.\nPick up this [accent]container[] and place it onto the [accent]payload loader[].\n(Default keys are [ and ] to pick up and drop)
split.pickup.mobile = Some blocks can be picked up by the core unit.\nPick up this [accent]container[] and place it onto the [accent]payload loader[].\n(To pick up or drop something, long-press it.) split.pickup.mobile = Some blocks can be picked up by the core unit.\nPick up this [accent]container[] and place it onto the [accent]payload loader[].\n(To pick up or drop something, long-press it.)
split.acquire = You must acquire some tungsten to build units. split.acquire = You must acquire some tungsten to build units.
@@ -2224,6 +2233,8 @@ lst.cutscene = Manipulate the player camera.
lst.setflag = Set a global flag that can be read by all processors. lst.setflag = Set a global flag that can be read by all processors.
lst.getflag = Check if a global flag is set. lst.getflag = Check if a global flag is set.
lst.setprop = Sets a property of a unit or building. lst.setprop = Sets a property of a unit or building.
lst.effect = Create a particle effect.
lst.sync = Sync a variable across the network.\nOnly invoked 10 times a second at most.
logic.nounitbuild = [red]Unit building logic is not allowed here. logic.nounitbuild = [red]Unit building logic is not allowed here.
lenum.type = Type of building/unit.\ne.g. for any router, this will return [accent]@router[].\nNot a string. lenum.type = Type of building/unit.\ne.g. for any router, this will return [accent]@router[].\nNot a string.
lenum.shoot = Shoot at a position. lenum.shoot = Shoot at a position.
@@ -2236,6 +2247,7 @@ laccess.dead = Whether a unit/building is dead or no longer valid.
laccess.controlled = Returns:\n[accent]@ctrlProcessor[] if unit controller is processor\n[accent]@ctrlPlayer[] if unit/building controller is player\n[accent]@ctrlFormation[] if unit is in formation\nOtherwise, 0. laccess.controlled = Returns:\n[accent]@ctrlProcessor[] if unit controller is processor\n[accent]@ctrlPlayer[] if unit/building controller is player\n[accent]@ctrlFormation[] if unit is in formation\nOtherwise, 0.
laccess.progress = Action progress, 0 to 1.\nReturns production, turret reload or construction progress. laccess.progress = Action progress, 0 to 1.\nReturns production, turret reload or construction progress.
laccess.speed = Top speed of a unit, in tiles/sec. laccess.speed = Top speed of a unit, in tiles/sec.
laccess.id = ID of a unit/block/item/liquid.\nThis is the inverse of the lookup operation.
lcategory.unknown = Unknown lcategory.unknown = Unknown
lcategory.unknown.description = Uncategorized instructions. lcategory.unknown.description = Uncategorized instructions.
lcategory.io = Input & Output lcategory.io = Input & Output
@@ -2340,6 +2352,7 @@ lenum.unbind = Completely disable logic control.\nResume standard AI.
lenum.move = Move to exact position. lenum.move = Move to exact position.
lenum.approach = Approach a position with a radius. lenum.approach = Approach a position with a radius.
lenum.pathfind = Pathfind to the enemy spawn. lenum.pathfind = Pathfind to the enemy spawn.
lenum.autopathfind = Automatically pathfinds to the nearest enemy core or drop point.\nThis is the same as standard wave enemy pathfinding.
lenum.target = Shoot a position. lenum.target = Shoot a position.
lenum.targetp = Shoot a target with velocity prediction. lenum.targetp = Shoot a target with velocity prediction.
lenum.itemdrop = Drop an item. lenum.itemdrop = Drop an item.
@@ -2353,5 +2366,3 @@ lenum.build = Build a structure.
lenum.getblock = Fetch a building and type at coordinates.\nUnit must be in range of position.\nSolid non-buildings will have the type [accent]@solid[]. lenum.getblock = Fetch a building and type at coordinates.\nUnit must be in range of position.\nSolid non-buildings will have the type [accent]@solid[].
lenum.within = Check if unit is near a position. lenum.within = Check if unit is near a position.
lenum.boost = Start/stop boosting. lenum.boost = Start/stop boosting.
onset.commandmode = Hold [accent]shift[] to enter [accent]command mode[].\n[accent]Left-click and drag[] to select units.\n[accent]Right-click[] to order selected units to move or attack.
onset.commandmode.mobile = Press the [accent]command button[] to enter [accent]command mode[].\nHold down a finger, then [accent]drag[] to select units.\n[accent]Tap[] to order selected units to move or attack.

View File

@@ -255,6 +255,7 @@ trace = プレイヤーの記録
trace.playername = プレイヤー名: [accent]{0} trace.playername = プレイヤー名: [accent]{0}
trace.ip = IP: [accent]{0} trace.ip = IP: [accent]{0}
trace.id = ID: [accent]{0} trace.id = ID: [accent]{0}
trace.language = Language: [accent]{0}
trace.mobile = モバイルクライアント: [accent]{0} trace.mobile = モバイルクライアント: [accent]{0}
trace.modclient = カスタムクライアント: [accent]{0} trace.modclient = カスタムクライアント: [accent]{0}
trace.times.joined = 参加回数: [accent]{0} trace.times.joined = 参加回数: [accent]{0}
@@ -950,13 +951,17 @@ stat.healing = 治癒
ability.forcefield = フォースフィールド ability.forcefield = フォースフィールド
ability.repairfield = リペアフィールド ability.repairfield = リペアフィールド
ability.statusfield = {0} ステータスフィールド ability.statusfield = ステータスフィールド
ability.unitspawn = {0} 生産 ability.unitspawn = 生産
ability.shieldregenfield = シールドリペアフィールド ability.shieldregenfield = シールドリペアフィールド
ability.movelightning = ムーブメントライトニング ability.movelightning = ムーブメントライトニング
ability.shieldarc = シールドアーク ability.shieldarc = シールドアーク
ability.suppressionfield = リジェネ抑制フィールド ability.suppressionfield = リジェネ抑制フィールド
ability.energyfield = エネルギー範囲: [accent]{0}[] ダメージ ~ [accent]{1}[] ブロック / [accent]{2}[] ターゲット ability.energyfield = エネルギー範囲
ability.energyfield.sametypehealmultiplier = [lightgray]Same Type Healing: [white]{0}%
ability.energyfield.maxtargets = [lightgray]Max Targets: [white]{0}
ability.regen = Regeneration
bar.onlycoredeposit = コアにのみ搬入できます。 bar.onlycoredeposit = コアにのみ搬入できます。
bar.drilltierreq = より高性能なドリルを使用してください bar.drilltierreq = より高性能なドリルを使用してください
@@ -1097,6 +1102,7 @@ setting.position.name = プレイヤーの位置表示
setting.mouseposition.name = マウスの位置を表示 setting.mouseposition.name = マウスの位置を表示
setting.musicvol.name = 音楽 音量 setting.musicvol.name = 音楽 音量
setting.atmosphere.name = 惑星の大気を表示 setting.atmosphere.name = 惑星の大気を表示
setting.drawlight.name = Draw Darkness/Lighting
setting.ambientvol.name = 環境音 音量 setting.ambientvol.name = 環境音 音量
setting.mutemusic.name = 音楽をミュート setting.mutemusic.name = 音楽をミュート
setting.sfxvol.name = 効果音 音量 setting.sfxvol.name = 効果音 音量
@@ -1730,8 +1736,8 @@ block.tank-refabricator.name = 戦車再加工工場
block.mech-refabricator.name = メカ再加工工場 block.mech-refabricator.name = メカ再加工工場
block.ship-refabricator.name = 戦艦再加工工場 block.ship-refabricator.name = 戦艦再加工工場
block.tank-assembler.name = 戦車組立工場 block.tank-assembler.name = 戦車組立工場
block.ship-assembler.name = メカ組立工場 block.ship-assembler.name = 戦艦組立工場
block.mech-assembler.name = 戦艦組立工場 block.mech-assembler.name = メカ組立工場
block.reinforced-payload-conveyor.name = 強化ペイロードコンベアー block.reinforced-payload-conveyor.name = 強化ペイロードコンベアー
block.reinforced-payload-router.name = 強化ペイロードルーター block.reinforced-payload-router.name = 強化ペイロードルーター
block.payload-mass-driver.name = ペイロードマスドライバー block.payload-mass-driver.name = ペイロードマスドライバー
@@ -1847,6 +1853,9 @@ onset.enemies = 敵が迫ってきました、防御する準備をしてくだ
onset.attack = 敵は脆弱です。反撃しましょう! onset.attack = 敵は脆弱です。反撃しましょう!
onset.cores = 新しいコアは [accent]コアタイル[] に配置できます。\n新しいコアは前線基地として機能し、リソースインベントリを他のコアと共有します。\n\uf725 コアを配置しましょう。 onset.cores = 新しいコアは [accent]コアタイル[] に配置できます。\n新しいコアは前線基地として機能し、リソースインベントリを他のコアと共有します。\n\uf725 コアを配置しましょう。
onset.detect = 敵は 2 分以内にあなたを見つけます。\n防御、採掘、生産を用意しましょう。 onset.detect = 敵は 2 分以内にあなたを見つけます。\n防御、採掘、生産を用意しましょう。
onset.commandmode = [accent]shift[] を押しながら [accent]コマンドモード[] に移行します。\n[accent]左クリック&ドラッグ[] でユニットを選択します。\n[accent]右クリック[] をすると、選択したユニットに移動や攻撃などの命令をします。
onset.commandmode.mobile = [accent]コマンドボタン[] を押して [accent]コマンドモード[] にします。\n長押ししながら [accent]ドラッグ[] でユニットを選択します。\n[accent]タップ[] で選択したユニットに移動や攻撃などの命令をします。
aegis.tungsten = Tungsten can be mined using an [accent]impact drill[].\nThis structure requires [accent]water[] and [accent]power[].
split.pickup = 一部のブロックはコアユニットで拾うことができます。\nこの [accent]コンテナ[] を拾い、[accent]ペイロード搬入機[] に配置します。\n(デフォルトのキーは [ and ] で、拾ったり置いたりできます。) split.pickup = 一部のブロックはコアユニットで拾うことができます。\nこの [accent]コンテナ[] を拾い、[accent]ペイロード搬入機[] に配置します。\n(デフォルトのキーは [ and ] で、拾ったり置いたりできます。)
split.pickup.mobile = 一部のブロックはコアユニットで拾うことができます。\nこの[accent]コンテナ[]を拾い、[accent]ペイロード搬入機[]に配置します。\n(何かを拾ったり置いたりするには、長押しします。) split.pickup.mobile = 一部のブロックはコアユニットで拾うことができます。\nこの[accent]コンテナ[]を拾い、[accent]ペイロード搬入機[]に配置します。\n(何かを拾ったり置いたりするには、長押しします。)
split.acquire = ユニットを構築するには、タングステンを入手する必要があります。 split.acquire = ユニットを構築するには、タングステンを入手する必要があります。
@@ -2228,6 +2237,8 @@ lst.cutscene = プレイヤーのカメラを操作します。
lst.setflag = 全プロセッサーから読み取れるグローバルフラグを設定します。 lst.setflag = 全プロセッサーから読み取れるグローバルフラグを設定します。
lst.getflag = グローバルフラグが設定されているかどうかを確認します。 lst.getflag = グローバルフラグが設定されているかどうかを確認します。
lst.setprop = Sets a property of a unit or building. lst.setprop = Sets a property of a unit or building.
lst.effect = Create a particle effect.
lst.sync = Sync a variable across the network.\nOnly invoked 10 times a second at most.
logic.nounitbuild = [red]ここではユニット構築ロジックは使用できません。 logic.nounitbuild = [red]ここではユニット構築ロジックは使用できません。
lenum.type = ユニットや建物の種類を取得します。\n例任意のルーターに対して、 [accent]@router[] を返します。\n文字列ではありません。 lenum.type = ユニットや建物の種類を取得します。\n例任意のルーターに対して、 [accent]@router[] を返します。\n文字列ではありません。
lenum.shoot = 指定した座標に向かって撃ちます。 lenum.shoot = 指定した座標に向かって撃ちます。
@@ -2240,6 +2251,7 @@ laccess.dead = ユニットや建物が機能しているかどうか、また
laccess.controlled = ユニットや建物がどのように制御されているのかを取得します。\nプロセッサ制御の場合、 [accent]@ctrlProcessor[] を返します。\nプレイヤー制御の場合、 [accent]@ctrlPlayer[] を返します。\n隊列を組んでいる場合、 [accent]@ctrlFormation[] を返します。\nそれ以外は 0 を返します。 laccess.controlled = ユニットや建物がどのように制御されているのかを取得します。\nプロセッサ制御の場合、 [accent]@ctrlProcessor[] を返します。\nプレイヤー制御の場合、 [accent]@ctrlPlayer[] を返します。\n隊列を組んでいる場合、 [accent]@ctrlFormation[] を返します。\nそれ以外は 0 を返します。
laccess.progress = アクションの進行状況を0〜1で取得します。\n生産、リロード、または建設の進捗状況を返します。 laccess.progress = アクションの進行状況を0〜1で取得します。\n生産、リロード、または建設の進捗状況を返します。
laccess.speed = ユニットの最高速度を返します。(単位:タイル/秒) laccess.speed = ユニットの最高速度を返します。(単位:タイル/秒)
laccess.id = ID of a unit/block/item/liquid.\nThis is the inverse of the lookup operation.
lcategory.unknown = 不明 lcategory.unknown = 不明
lcategory.unknown.description = 未分類の指示です。 lcategory.unknown.description = 未分類の指示です。
lcategory.io = 入出力 lcategory.io = 入出力
@@ -2344,6 +2356,7 @@ lenum.unbind = ロジック制御を完全に無効にします。\n標準的な
lenum.move = 正確にある座標に移動します。 lenum.move = 正確にある座標に移動します。
lenum.approach = ある座標に近づきます。 lenum.approach = ある座標に近づきます。
lenum.pathfind = 敵のスポーンまでの道を探します。 lenum.pathfind = 敵のスポーンまでの道を探します。
lenum.autopathfind = Automatically pathfinds to the nearest enemy core or drop point.\nThis is the same as standard wave enemy pathfinding.
lenum.target = 指定した座標に向かって撃ちます。 lenum.target = 指定した座標に向かって撃ちます。
lenum.targetp = 任意のユニットや建物を撃ちます。 lenum.targetp = 任意のユニットや建物を撃ちます。
lenum.itemdrop = アイテムをドロップします。 lenum.itemdrop = アイテムをドロップします。
@@ -2357,5 +2370,3 @@ lenum.build = 建築をします。
lenum.getblock = 座標から建物とタイプを取得します。\nユニットは範囲内でなければなりません。\n建物以外の物の型は [accent]@solid[] になります。 lenum.getblock = 座標から建物とタイプを取得します。\nユニットは範囲内でなければなりません。\n建物以外の物の型は [accent]@solid[] になります。
lenum.within = ユニットが座標の近くにあるかどうかを確認します。 lenum.within = ユニットが座標の近くにあるかどうかを確認します。
lenum.boost = ブーストの開始、停止をします。 lenum.boost = ブーストの開始、停止をします。
onset.commandmode = [accent]shift[] を押しながら [accent]コマンドモード[] に移行します。\n[accent]左クリック&ドラッグ[] でユニットを選択します。\n[accent]右クリック[] をすると、選択したユニットに移動や攻撃などの命令をします。
onset.commandmode.mobile = [accent]コマンドボタン[] を押して [accent]コマンドモード[] にします。\n長押ししながら [accent]ドラッグ[] でユニットを選択します。\n[accent]タップ[] で選択したユニットに移動や攻撃などの命令をします。

View File

@@ -255,6 +255,7 @@ trace = 플레이어 정보 보기
trace.playername = 플레이어 이름: [accent]{0} trace.playername = 플레이어 이름: [accent]{0}
trace.ip = IP: [accent]{0} trace.ip = IP: [accent]{0}
trace.id = UUID: [accent]{0} trace.id = UUID: [accent]{0}
trace.language = Language: [accent]{0}
trace.mobile = 모바일 클라이언트: [accent]{0} trace.mobile = 모바일 클라이언트: [accent]{0}
trace.modclient = 사용자 지정 클라이언트: [accent]{0} trace.modclient = 사용자 지정 클라이언트: [accent]{0}
trace.times.joined = 입장 횟수: [accent]{0} trace.times.joined = 입장 횟수: [accent]{0}
@@ -950,13 +951,16 @@ stat.healing = 회복량
ability.forcefield = 보호막 필드 ability.forcefield = 보호막 필드
ability.repairfield = 수리 필드 ability.repairfield = 수리 필드
ability.statusfield = {0} 상태이상 필드 ability.statusfield = 상태이상 필드
ability.unitspawn = {0} 공장 ability.unitspawn = 공장
ability.shieldregenfield = 방어막 복구 필드 ability.shieldregenfield = 방어막 복구 필드
ability.movelightning = 가속 전격 ability.movelightning = 가속 전격
ability.shieldarc = 방어막 아크 ability.shieldarc = 방어막 아크
ability.suppressionfield = 재생성 억제 필드 ability.suppressionfield = 재생성 억제 필드
ability.energyfield = 에너지 필드: [accent]{1}[]타일 내 [accent]{2}[]개 목표물에게 [accent]{0}[]피해량 ability.energyfield = 에너지 필드
ability.energyfield.sametypehealmultiplier = [lightgray]Same Type Healing: [white]{0}%
ability.energyfield.maxtargets = [lightgray]Max Targets: [white]{0}
ability.regen = Regeneration
bar.onlycoredeposit = 코어에만 투입할 수 있습니다 bar.onlycoredeposit = 코어에만 투입할 수 있습니다
bar.drilltierreq = 더 좋은 드릴 필요 bar.drilltierreq = 더 좋은 드릴 필요
@@ -1097,6 +1101,7 @@ setting.position.name = 플레이어 위치 표시
setting.mouseposition.name = 마우스 좌표 표시 setting.mouseposition.name = 마우스 좌표 표시
setting.musicvol.name = 음악 크기 setting.musicvol.name = 음악 크기
setting.atmosphere.name = 행성 배경화면 표시 setting.atmosphere.name = 행성 배경화면 표시
setting.drawlight.name = Draw Darkness/Lighting
setting.ambientvol.name = 배경음 크기 setting.ambientvol.name = 배경음 크기
setting.mutemusic.name = 음소거 setting.mutemusic.name = 음소거
setting.sfxvol.name = 효과음 크기 setting.sfxvol.name = 효과음 크기
@@ -1846,6 +1851,9 @@ onset.enemies = 적이 다가옵니다, 방어 태세를 갖추세요.
onset.attack = 적은 취약한 상태입니다. 반격하세요. onset.attack = 적은 취약한 상태입니다. 반격하세요.
onset.cores = 새로운 코어는 [accent]코어 타일[]위에 배치할 수 있습니다.\n새로운 코어는 전진기지 역할을 하며 다른 코어와 저장된 자원을 공유합니다.\n \uf725 코어를 배치하세요. onset.cores = 새로운 코어는 [accent]코어 타일[]위에 배치할 수 있습니다.\n새로운 코어는 전진기지 역할을 하며 다른 코어와 저장된 자원을 공유합니다.\n \uf725 코어를 배치하세요.
onset.detect = 적은 2분 이내에 당신을 탐지할 것입니다.\n생산, 채굴, 방어시설을 구성하세요. onset.detect = 적은 2분 이내에 당신을 탐지할 것입니다.\n생산, 채굴, 방어시설을 구성하세요.
onset.commandmode = [accent]shift[]를 눌러 [accent]명령 모드[]를 활성화하세요.\n[accent]좌클릭과 드래그[]로 기체를 선택하세요.\n[accent]우클릭[]으로 선택된 기체들에게 이동 또는 공격 명령을 내리세요.
onset.commandmode.mobile = [accent]명령 버튼[]을 눌러 [accent]명령 모드[]를 활성화하세요.\n손가락을 꾹 누르고, [accent]드래그[]해서 유닛을 선택하세요.\n[accent]눌러서[] 선택된 기체들에게 이동 또는 공격 명령을 내리세요.
aegis.tungsten = Tungsten can be mined using an [accent]impact drill[].\nThis structure requires [accent]water[] and [accent]power[].
split.pickup = 일부 블록은 코어 기체로 집어올릴 수 있습니다.\n이 [accent]컨테이너[]를 집어올리고 [accent]화물 로더[] 속에 내려놓으세요.\n(화물을 집어올리거나 내리는 기본 키는 [ 그리고 ]입니다) split.pickup = 일부 블록은 코어 기체로 집어올릴 수 있습니다.\n이 [accent]컨테이너[]를 집어올리고 [accent]화물 로더[] 속에 내려놓으세요.\n(화물을 집어올리거나 내리는 기본 키는 [ 그리고 ]입니다)
split.pickup.mobile = 일부 블록은 코어 기체로 집어올릴 수 있습니다.\n이 [accent]컨테이너[]를 집어올리고 [accent]화물 로더[] 속에 내려놓으세요.\n(무언가를 집어올리거나 내려놓으려면, 길게 누르세요.) split.pickup.mobile = 일부 블록은 코어 기체로 집어올릴 수 있습니다.\n이 [accent]컨테이너[]를 집어올리고 [accent]화물 로더[] 속에 내려놓으세요.\n(무언가를 집어올리거나 내려놓으려면, 길게 누르세요.)
split.acquire = 기체를 제조하려면 텅스텐을 습득해야 합니다. split.acquire = 기체를 제조하려면 텅스텐을 습득해야 합니다.
@@ -2228,6 +2236,8 @@ lst.cutscene = 플레이어 카메라 조작
lst.setflag = 모든 프로세서가 읽을 수 있는 전역 플래그 설정 lst.setflag = 모든 프로세서가 읽을 수 있는 전역 플래그 설정
lst.getflag = 전역 플래그가 설정되어 있는지 확인 lst.getflag = 전역 플래그가 설정되어 있는지 확인
lst.setprop = 기체 혹은 건물의 속성을 설정합니다. lst.setprop = 기체 혹은 건물의 속성을 설정합니다.
lst.effect = Create a particle effect.
lst.sync = Sync a variable across the network.\nOnly invoked 10 times a second at most.
logic.nounitbuild = [red]기체의 건설 로직은 여기서 허용되지 않습니다. logic.nounitbuild = [red]기체의 건설 로직은 여기서 허용되지 않습니다.
@@ -2243,6 +2253,7 @@ laccess.dead = 기체 또는 건물 사망/무효 여부
laccess.controlled = 만약 기체 제어자가 프로세서라면 [accent]@ctrlProcessor[]를 반환합니다.\n만약 기체/건물 제어자가 플레이어라면 [accent]@ctrlPlayer[]를 반환합니다.\n만약 기체가 다른 기체에 의해 지휘되면(G키)[accent]@ctrlFormation[]를 반환합니다.\n그 외에는 0을 반환합니다. laccess.controlled = 만약 기체 제어자가 프로세서라면 [accent]@ctrlProcessor[]를 반환합니다.\n만약 기체/건물 제어자가 플레이어라면 [accent]@ctrlPlayer[]를 반환합니다.\n만약 기체가 다른 기체에 의해 지휘되면(G키)[accent]@ctrlFormation[]를 반환합니다.\n그 외에는 0을 반환합니다.
laccess.progress = 작업 진행률, 0 에서 1 로 감.\n포탑 재장전이나 구조물 진행률을 반환합니다. laccess.progress = 작업 진행률, 0 에서 1 로 감.\n포탑 재장전이나 구조물 진행률을 반환합니다.
laccess.speed = 기체의 최대 속도, 타일/초 laccess.speed = 기체의 최대 속도, 타일/초
laccess.id = ID of a unit/block/item/liquid.\nThis is the inverse of the lookup operation.
lcategory.unknown = 알 수 없음 lcategory.unknown = 알 수 없음
lcategory.unknown.description = 분류되지 않은 설명 lcategory.unknown.description = 분류되지 않은 설명
lcategory.io = 입력 & 출력 lcategory.io = 입력 & 출력
@@ -2363,6 +2374,7 @@ lenum.unbind = 로직 컨트롤 완전 비활성화\n표준 AI를 다시 따릅
lenum.move = 특정 위치로 이동 lenum.move = 특정 위치로 이동
lenum.approach = 특정 위치로 반지름만큼 접근 lenum.approach = 특정 위치로 반지름만큼 접근
lenum.pathfind = 적 스폰 지점으로 길찾기 lenum.pathfind = 적 스폰 지점으로 길찾기
lenum.autopathfind = Automatically pathfinds to the nearest enemy core or drop point.\nThis is the same as standard wave enemy pathfinding.
lenum.target = 특정 위치에 발사 lenum.target = 특정 위치에 발사
lenum.targetp = 목표물 속도를 예측하여 발사 lenum.targetp = 목표물 속도를 예측하여 발사
lenum.itemdrop = 아이템 투하 lenum.itemdrop = 아이템 투하
@@ -2376,5 +2388,3 @@ lenum.build = 구조물 건설
lenum.getblock = 특정 좌표의 빌딩과 블록을 반환합니다.\n위치는 기체의 인지 범위 내여야 합니다.\n자연 지형은 [accent]@solid[]의 유형을 가집니다. lenum.getblock = 특정 좌표의 빌딩과 블록을 반환합니다.\n위치는 기체의 인지 범위 내여야 합니다.\n자연 지형은 [accent]@solid[]의 유형을 가집니다.
lenum.within = 좌표 주변 기체 발견 여부 lenum.within = 좌표 주변 기체 발견 여부
lenum.boost = 이륙 시작/중단 lenum.boost = 이륙 시작/중단
onset.commandmode = [accent]shift[]를 눌러 [accent]명령 모드[]를 활성화하세요.\n[accent]좌클릭과 드래그[]로 기체를 선택하세요.\n[accent]우클릭[]으로 선택된 기체들에게 이동 또는 공격 명령을 내리세요.
onset.commandmode.mobile = [accent]명령 버튼[]을 눌러 [accent]명령 모드[]를 활성화하세요.\n손가락을 꾹 누르고, [accent]드래그[]해서 유닛을 선택하세요.\n[accent]눌러서[] 선택된 기체들에게 이동 또는 공격 명령을 내리세요.

View File

@@ -251,6 +251,7 @@ trace = Sekti Žaidėją
trace.playername = Žaidėjo vardas: [accent]{0} trace.playername = Žaidėjo vardas: [accent]{0}
trace.ip = IP: [accent]{0} trace.ip = IP: [accent]{0}
trace.id = Unikalus ID: [accent]{0} trace.id = Unikalus ID: [accent]{0}
trace.language = Language: [accent]{0}
trace.mobile = Mobilus Klientas: [accent]{0} trace.mobile = Mobilus Klientas: [accent]{0}
trace.modclient = Custom Client: [accent]{0} trace.modclient = Custom Client: [accent]{0}
trace.times.joined = Times Joined: [accent]{0} trace.times.joined = Times Joined: [accent]{0}
@@ -939,12 +940,16 @@ stat.healing = Healing
ability.forcefield = Force Field ability.forcefield = Force Field
ability.repairfield = Repair Field ability.repairfield = Repair Field
ability.statusfield = Status Field ability.statusfield = Status Field
ability.unitspawn = {0} Factory ability.unitspawn = Factory
ability.shieldregenfield = Shield Regen Field ability.shieldregenfield = Shield Regen Field
ability.movelightning = Movement Lightning ability.movelightning = Movement Lightning
ability.shieldarc = Shield Arc ability.shieldarc = Shield Arc
ability.suppressionfield = Regen Suppression Field ability.suppressionfield = Regen Suppression Field
ability.energyfield = Energy Field: [accent]{0}[] damage ~ [accent]{1}[] blocks / [accent]{2}[] targets ability.energyfield = Energy Field
ability.energyfield.sametypehealmultiplier = [lightgray]Same Type Healing: [white]{0}%
ability.energyfield.maxtargets = [lightgray]Max Targets: [white]{0}
ability.regen = Regeneration
bar.onlycoredeposit = Only Core Depositing Allowed bar.onlycoredeposit = Only Core Depositing Allowed
bar.drilltierreq = Privalomas Geresnis Grąžtas bar.drilltierreq = Privalomas Geresnis Grąžtas
@@ -1085,6 +1090,7 @@ setting.position.name = Rodyti Žaidėjų Pozicijas
setting.mouseposition.name = Show Mouse Position setting.mouseposition.name = Show Mouse Position
setting.musicvol.name = Muzikos Garsumas setting.musicvol.name = Muzikos Garsumas
setting.atmosphere.name = Show Planet Atmosphere setting.atmosphere.name = Show Planet Atmosphere
setting.drawlight.name = Draw Darkness/Lighting
setting.ambientvol.name = Aplinkos Garsas setting.ambientvol.name = Aplinkos Garsas
setting.mutemusic.name = Nutildyti Muziką setting.mutemusic.name = Nutildyti Muziką
setting.sfxvol.name = SFX Garsumas setting.sfxvol.name = SFX Garsumas
@@ -1832,6 +1838,9 @@ onset.enemies = Enemy incoming, prepare to defend.
onset.attack = The enemy is vulnerable. Counter-attack. onset.attack = The enemy is vulnerable. Counter-attack.
onset.cores = New cores can be placed on [accent]core tiles[].\nNew cores function as forward bases and share a resource inventory with other cores.\nPlace a \uf725 core. onset.cores = New cores can be placed on [accent]core tiles[].\nNew cores function as forward bases and share a resource inventory with other cores.\nPlace a \uf725 core.
onset.detect = The enemy will be able to detect you in 2 minutes.\nSet up defenses, mining, and production. onset.detect = The enemy will be able to detect you in 2 minutes.\nSet up defenses, mining, and production.
onset.commandmode = Hold [accent]shift[] to enter [accent]command mode[].\n[accent]Left-click and drag[] to select units.\n[accent]Right-click[] to order selected units to move or attack.
onset.commandmode.mobile = Press the [accent]command button[] to enter [accent]command mode[].\nHold down a finger, then [accent]drag[] to select units.\n[accent]Tap[] to order selected units to move or attack.
aegis.tungsten = Tungsten can be mined using an [accent]impact drill[].\nThis structure requires [accent]water[] and [accent]power[].
split.pickup = Some blocks can be picked up by the core unit.\nPick up this [accent]container[] and place it onto the [accent]payload loader[].\n(Default keys are [ and ] to pick up and drop) split.pickup = Some blocks can be picked up by the core unit.\nPick up this [accent]container[] and place it onto the [accent]payload loader[].\n(Default keys are [ and ] to pick up and drop)
split.pickup.mobile = Some blocks can be picked up by the core unit.\nPick up this [accent]container[] and place it onto the [accent]payload loader[].\n(To pick up or drop something, long-press it.) split.pickup.mobile = Some blocks can be picked up by the core unit.\nPick up this [accent]container[] and place it onto the [accent]payload loader[].\n(To pick up or drop something, long-press it.)
split.acquire = You must acquire some tungsten to build units. split.acquire = You must acquire some tungsten to build units.
@@ -2211,6 +2220,8 @@ lst.cutscene = Manipulate the player camera.
lst.setflag = Set a global flag that can be read by all processors. lst.setflag = Set a global flag that can be read by all processors.
lst.getflag = Check if a global flag is set. lst.getflag = Check if a global flag is set.
lst.setprop = Sets a property of a unit or building. lst.setprop = Sets a property of a unit or building.
lst.effect = Create a particle effect.
lst.sync = Sync a variable across the network.\nOnly invoked 10 times a second at most.
logic.nounitbuild = [red]Unit building logic is not allowed here. logic.nounitbuild = [red]Unit building logic is not allowed here.
lenum.type = Type of building/unit.\ne.g. for any router, this will return [accent]@router[].\nNot a string. lenum.type = Type of building/unit.\ne.g. for any router, this will return [accent]@router[].\nNot a string.
lenum.shoot = Shoot at a position. lenum.shoot = Shoot at a position.
@@ -2223,6 +2234,7 @@ laccess.dead = Whether a unit/building is dead or no longer valid.
laccess.controlled = Returns:\n[accent]@ctrlProcessor[] if unit controller is processor\n[accent]@ctrlPlayer[] if unit/building controller is player\n[accent]@ctrlFormation[] if unit is in formation\nOtherwise, 0. laccess.controlled = Returns:\n[accent]@ctrlProcessor[] if unit controller is processor\n[accent]@ctrlPlayer[] if unit/building controller is player\n[accent]@ctrlFormation[] if unit is in formation\nOtherwise, 0.
laccess.progress = Action progress, 0 to 1.\nReturns production, turret reload or construction progress. laccess.progress = Action progress, 0 to 1.\nReturns production, turret reload or construction progress.
laccess.speed = Top speed of a unit, in tiles/sec. laccess.speed = Top speed of a unit, in tiles/sec.
laccess.id = ID of a unit/block/item/liquid.\nThis is the inverse of the lookup operation.
lcategory.unknown = Unknown lcategory.unknown = Unknown
lcategory.unknown.description = Uncategorized instructions. lcategory.unknown.description = Uncategorized instructions.
lcategory.io = Input & Output lcategory.io = Input & Output
@@ -2327,6 +2339,7 @@ lenum.unbind = Completely disable logic control.\nResume standard AI.
lenum.move = Move to exact position. lenum.move = Move to exact position.
lenum.approach = Approach a position with a radius. lenum.approach = Approach a position with a radius.
lenum.pathfind = Pathfind to the enemy spawn. lenum.pathfind = Pathfind to the enemy spawn.
lenum.autopathfind = Automatically pathfinds to the nearest enemy core or drop point.\nThis is the same as standard wave enemy pathfinding.
lenum.target = Shoot a position. lenum.target = Shoot a position.
lenum.targetp = Shoot a target with velocity prediction. lenum.targetp = Shoot a target with velocity prediction.
lenum.itemdrop = Drop an item. lenum.itemdrop = Drop an item.
@@ -2340,5 +2353,3 @@ lenum.build = Build a structure.
lenum.getblock = Fetch a building and type at coordinates.\nUnit must be in range of position.\nSolid non-buildings will have the type [accent]@solid[]. lenum.getblock = Fetch a building and type at coordinates.\nUnit must be in range of position.\nSolid non-buildings will have the type [accent]@solid[].
lenum.within = Check if unit is near a position. lenum.within = Check if unit is near a position.
lenum.boost = Start/stop boosting. lenum.boost = Start/stop boosting.
onset.commandmode = Hold [accent]shift[] to enter [accent]command mode[].\n[accent]Left-click and drag[] to select units.\n[accent]Right-click[] to order selected units to move or attack.
onset.commandmode.mobile = Press the [accent]command button[] to enter [accent]command mode[].\nHold down a finger, then [accent]drag[] to select units.\n[accent]Tap[] to order selected units to move or attack.

View File

@@ -259,6 +259,7 @@ trace = Traceer Speler
trace.playername = Speler naam: [accent]{0} trace.playername = Speler naam: [accent]{0}
trace.ip = IP: [accent]{0} trace.ip = IP: [accent]{0}
trace.id = Unieke ID: [accent]{0} trace.id = Unieke ID: [accent]{0}
trace.language = Language: [accent]{0}
trace.mobile = Mobiel apparaat: [accent]{0} trace.mobile = Mobiel apparaat: [accent]{0}
trace.modclient = Unofficie<EFBFBD>l: [accent]{0} trace.modclient = Unofficie<EFBFBD>l: [accent]{0}
trace.times.joined = Keren Aangesloten: [accent]{0} trace.times.joined = Keren Aangesloten: [accent]{0}
@@ -951,12 +952,16 @@ stat.healing = Genezing
ability.forcefield = Krachtveld ability.forcefield = Krachtveld
ability.repairfield = Reparatieveld ability.repairfield = Reparatieveld
ability.statusfield = Statusveld ability.statusfield = Statusveld
ability.unitspawn = {0} Fabriek ability.unitspawn = Fabriek
ability.shieldregenfield = Schild Regeneratie Veld ability.shieldregenfield = Schild Regeneratie Veld
ability.movelightning = Beweging Bliksem ability.movelightning = Beweging Bliksem
ability.shieldarc = Schild Boog ability.shieldarc = Schild Boog
ability.suppressionfield = Regeneratie Onderdrukkingsveld ability.suppressionfield = Regeneratie Onderdrukkingsveld
ability.energyfield = Energieveld: [accent]{0}[] schade ~ [accent]{1}[] blokken / [accent]{2}[] doelen ability.energyfield = Energieveld
ability.energyfield.sametypehealmultiplier = [lightgray]Same Type Healing: [white]{0}%
ability.energyfield.maxtargets = [lightgray]Max Targets: [white]{0}
ability.regen = Regeneration
bar.onlycoredeposit = Alleen materialen in de Core toegestaan. bar.onlycoredeposit = Alleen materialen in de Core toegestaan.
bar.drilltierreq = Betere boor nodig bar.drilltierreq = Betere boor nodig
@@ -1097,6 +1102,7 @@ setting.position.name = Toon Speler Posities
setting.mouseposition.name = Toon Muis Positie setting.mouseposition.name = Toon Muis Positie
setting.musicvol.name = Muziek Volume setting.musicvol.name = Muziek Volume
setting.atmosphere.name = Toon Atmosfeer Planeet setting.atmosphere.name = Toon Atmosfeer Planeet
setting.drawlight.name = Draw Darkness/Lighting
setting.ambientvol.name = Achtergrond Volume setting.ambientvol.name = Achtergrond Volume
setting.mutemusic.name = Demp Muziek setting.mutemusic.name = Demp Muziek
setting.sfxvol.name = SFX Volume setting.sfxvol.name = SFX Volume
@@ -1845,6 +1851,9 @@ onset.enemies = Enemy incoming, prepare to defend.
onset.attack = The enemy is vulnerable. Counter-attack. onset.attack = The enemy is vulnerable. Counter-attack.
onset.cores = New cores can be placed on [accent]core tiles[].\nNew cores function as forward bases and share a resource inventory with other cores.\nPlace a \uf725 core. onset.cores = New cores can be placed on [accent]core tiles[].\nNew cores function as forward bases and share a resource inventory with other cores.\nPlace a \uf725 core.
onset.detect = The enemy will be able to detect you in 2 minutes.\nSet up defenses, mining, and production. onset.detect = The enemy will be able to detect you in 2 minutes.\nSet up defenses, mining, and production.
onset.commandmode = Hold [accent]shift[] to enter [accent]command mode[].\n[accent]Left-click and drag[] to select units.\n[accent]Right-click[] to order selected units to move or attack.
onset.commandmode.mobile = Press the [accent]command button[] to enter [accent]command mode[].\nHold down a finger, then [accent]drag[] to select units.\n[accent]Tap[] to order selected units to move or attack.
aegis.tungsten = Tungsten can be mined using an [accent]impact drill[].\nThis structure requires [accent]water[] and [accent]power[].
split.pickup = Some blocks can be picked up by the core unit.\nPick up this [accent]container[] and place it onto the [accent]payload loader[].\n(Default keys are [ and ] to pick up and drop) split.pickup = Some blocks can be picked up by the core unit.\nPick up this [accent]container[] and place it onto the [accent]payload loader[].\n(Default keys are [ and ] to pick up and drop)
split.pickup.mobile = Some blocks can be picked up by the core unit.\nPick up this [accent]container[] and place it onto the [accent]payload loader[].\n(To pick up or drop something, long-press it.) split.pickup.mobile = Some blocks can be picked up by the core unit.\nPick up this [accent]container[] and place it onto the [accent]payload loader[].\n(To pick up or drop something, long-press it.)
split.acquire = You must acquire some tungsten to build units. split.acquire = You must acquire some tungsten to build units.
@@ -2224,6 +2233,8 @@ lst.cutscene = Manipulate the player camera.
lst.setflag = Set a global flag that can be read by all processors. lst.setflag = Set a global flag that can be read by all processors.
lst.getflag = Check if a global flag is set. lst.getflag = Check if a global flag is set.
lst.setprop = Sets a property of a unit or building. lst.setprop = Sets a property of a unit or building.
lst.effect = Create a particle effect.
lst.sync = Sync a variable across the network.\nOnly invoked 10 times a second at most.
logic.nounitbuild = [red]Unit building logic is not allowed here. logic.nounitbuild = [red]Unit building logic is not allowed here.
lenum.type = Type of building/unit.\ne.g. for any router, this will return [accent]@router[].\nNot a string. lenum.type = Type of building/unit.\ne.g. for any router, this will return [accent]@router[].\nNot a string.
lenum.shoot = Shoot at a position. lenum.shoot = Shoot at a position.
@@ -2236,6 +2247,7 @@ laccess.dead = Whether a unit/building is dead or no longer valid.
laccess.controlled = Returns:\n[accent]@ctrlProcessor[] if unit controller is processor\n[accent]@ctrlPlayer[] if unit/building controller is player\n[accent]@ctrlFormation[] if unit is in formation\nOtherwise, 0. laccess.controlled = Returns:\n[accent]@ctrlProcessor[] if unit controller is processor\n[accent]@ctrlPlayer[] if unit/building controller is player\n[accent]@ctrlFormation[] if unit is in formation\nOtherwise, 0.
laccess.progress = Action progress, 0 to 1.\nReturns production, turret reload or construction progress. laccess.progress = Action progress, 0 to 1.\nReturns production, turret reload or construction progress.
laccess.speed = Top speed of a unit, in tiles/sec. laccess.speed = Top speed of a unit, in tiles/sec.
laccess.id = ID of a unit/block/item/liquid.\nThis is the inverse of the lookup operation.
lcategory.unknown = Unknown lcategory.unknown = Unknown
lcategory.unknown.description = Uncategorized instructions. lcategory.unknown.description = Uncategorized instructions.
lcategory.io = Input & Output lcategory.io = Input & Output
@@ -2340,6 +2352,7 @@ lenum.unbind = Completely disable logic control.\nResume standard AI.
lenum.move = Move to exact position. lenum.move = Move to exact position.
lenum.approach = Approach a position with a radius. lenum.approach = Approach a position with a radius.
lenum.pathfind = Pathfind to the enemy spawn. lenum.pathfind = Pathfind to the enemy spawn.
lenum.autopathfind = Automatically pathfinds to the nearest enemy core or drop point.\nThis is the same as standard wave enemy pathfinding.
lenum.target = Shoot a position. lenum.target = Shoot a position.
lenum.targetp = Shoot a target with velocity prediction. lenum.targetp = Shoot a target with velocity prediction.
lenum.itemdrop = Drop an item. lenum.itemdrop = Drop an item.
@@ -2353,5 +2366,3 @@ lenum.build = Build a structure.
lenum.getblock = Fetch a building and type at coordinates.\nUnit must be in range of position.\nSolid non-buildings will have the type [accent]@solid[]. lenum.getblock = Fetch a building and type at coordinates.\nUnit must be in range of position.\nSolid non-buildings will have the type [accent]@solid[].
lenum.within = Check if unit is near a position. lenum.within = Check if unit is near a position.
lenum.boost = Start/stop boosting. lenum.boost = Start/stop boosting.
onset.commandmode = Hold [accent]shift[] to enter [accent]command mode[].\n[accent]Left-click and drag[] to select units.\n[accent]Right-click[] to order selected units to move or attack.
onset.commandmode.mobile = Press the [accent]command button[] to enter [accent]command mode[].\nHold down a finger, then [accent]drag[] to select units.\n[accent]Tap[] to order selected units to move or attack.

View File

@@ -251,6 +251,7 @@ trace = Spelersinformatie
trace.playername = Naam: [accent]{0} trace.playername = Naam: [accent]{0}
trace.ip = IP: [accent]{0} trace.ip = IP: [accent]{0}
trace.id = Unieke ID: [accent]{0} trace.id = Unieke ID: [accent]{0}
trace.language = Language: [accent]{0}
trace.mobile = Mobiele Client: [accent]{0} trace.mobile = Mobiele Client: [accent]{0}
trace.modclient = Aangepaste Client: [accent]{0} trace.modclient = Aangepaste Client: [accent]{0}
trace.times.joined = Times Joined: [accent]{0} trace.times.joined = Times Joined: [accent]{0}
@@ -939,12 +940,16 @@ stat.healing = Healing
ability.forcefield = Force Field ability.forcefield = Force Field
ability.repairfield = Repair Field ability.repairfield = Repair Field
ability.statusfield = Status Field ability.statusfield = Status Field
ability.unitspawn = {0} Factory ability.unitspawn = Factory
ability.shieldregenfield = Shield Regen Field ability.shieldregenfield = Shield Regen Field
ability.movelightning = Movement Lightning ability.movelightning = Movement Lightning
ability.shieldarc = Shield Arc ability.shieldarc = Shield Arc
ability.suppressionfield = Regen Suppression Field ability.suppressionfield = Regen Suppression Field
ability.energyfield = Energy Field: [accent]{0}[] damage ~ [accent]{1}[] blocks / [accent]{2}[] targets ability.energyfield = Energy Field
ability.energyfield.sametypehealmultiplier = [lightgray]Same Type Healing: [white]{0}%
ability.energyfield.maxtargets = [lightgray]Max Targets: [white]{0}
ability.regen = Regeneration
bar.onlycoredeposit = Only Core Depositing Allowed bar.onlycoredeposit = Only Core Depositing Allowed
bar.drilltierreq = Better Drill Required bar.drilltierreq = Better Drill Required
@@ -1085,6 +1090,7 @@ setting.position.name = Show Player Position
setting.mouseposition.name = Show Mouse Position setting.mouseposition.name = Show Mouse Position
setting.musicvol.name = Music Volume setting.musicvol.name = Music Volume
setting.atmosphere.name = Show Planet Atmosphere setting.atmosphere.name = Show Planet Atmosphere
setting.drawlight.name = Draw Darkness/Lighting
setting.ambientvol.name = Ambient Volume setting.ambientvol.name = Ambient Volume
setting.mutemusic.name = Mute Music setting.mutemusic.name = Mute Music
setting.sfxvol.name = SFX Volume setting.sfxvol.name = SFX Volume
@@ -1832,6 +1838,9 @@ onset.enemies = Enemy incoming, prepare to defend.
onset.attack = The enemy is vulnerable. Counter-attack. onset.attack = The enemy is vulnerable. Counter-attack.
onset.cores = New cores can be placed on [accent]core tiles[].\nNew cores function as forward bases and share a resource inventory with other cores.\nPlace a \uf725 core. onset.cores = New cores can be placed on [accent]core tiles[].\nNew cores function as forward bases and share a resource inventory with other cores.\nPlace a \uf725 core.
onset.detect = The enemy will be able to detect you in 2 minutes.\nSet up defenses, mining, and production. onset.detect = The enemy will be able to detect you in 2 minutes.\nSet up defenses, mining, and production.
onset.commandmode = Hold [accent]shift[] to enter [accent]command mode[].\n[accent]Left-click and drag[] to select units.\n[accent]Right-click[] to order selected units to move or attack.
onset.commandmode.mobile = Press the [accent]command button[] to enter [accent]command mode[].\nHold down a finger, then [accent]drag[] to select units.\n[accent]Tap[] to order selected units to move or attack.
aegis.tungsten = Tungsten can be mined using an [accent]impact drill[].\nThis structure requires [accent]water[] and [accent]power[].
split.pickup = Some blocks can be picked up by the core unit.\nPick up this [accent]container[] and place it onto the [accent]payload loader[].\n(Default keys are [ and ] to pick up and drop) split.pickup = Some blocks can be picked up by the core unit.\nPick up this [accent]container[] and place it onto the [accent]payload loader[].\n(Default keys are [ and ] to pick up and drop)
split.pickup.mobile = Some blocks can be picked up by the core unit.\nPick up this [accent]container[] and place it onto the [accent]payload loader[].\n(To pick up or drop something, long-press it.) split.pickup.mobile = Some blocks can be picked up by the core unit.\nPick up this [accent]container[] and place it onto the [accent]payload loader[].\n(To pick up or drop something, long-press it.)
split.acquire = You must acquire some tungsten to build units. split.acquire = You must acquire some tungsten to build units.
@@ -2211,6 +2220,8 @@ lst.cutscene = Manipulate the player camera.
lst.setflag = Set a global flag that can be read by all processors. lst.setflag = Set a global flag that can be read by all processors.
lst.getflag = Check if a global flag is set. lst.getflag = Check if a global flag is set.
lst.setprop = Sets a property of a unit or building. lst.setprop = Sets a property of a unit or building.
lst.effect = Create a particle effect.
lst.sync = Sync a variable across the network.\nOnly invoked 10 times a second at most.
logic.nounitbuild = [red]Unit building logic is not allowed here. logic.nounitbuild = [red]Unit building logic is not allowed here.
lenum.type = Type of building/unit.\ne.g. for any router, this will return [accent]@router[].\nNot a string. lenum.type = Type of building/unit.\ne.g. for any router, this will return [accent]@router[].\nNot a string.
lenum.shoot = Shoot at a position. lenum.shoot = Shoot at a position.
@@ -2223,6 +2234,7 @@ laccess.dead = Whether a unit/building is dead or no longer valid.
laccess.controlled = Returns:\n[accent]@ctrlProcessor[] if unit controller is processor\n[accent]@ctrlPlayer[] if unit/building controller is player\n[accent]@ctrlFormation[] if unit is in formation\nOtherwise, 0. laccess.controlled = Returns:\n[accent]@ctrlProcessor[] if unit controller is processor\n[accent]@ctrlPlayer[] if unit/building controller is player\n[accent]@ctrlFormation[] if unit is in formation\nOtherwise, 0.
laccess.progress = Action progress, 0 to 1.\nReturns production, turret reload or construction progress. laccess.progress = Action progress, 0 to 1.\nReturns production, turret reload or construction progress.
laccess.speed = Top speed of a unit, in tiles/sec. laccess.speed = Top speed of a unit, in tiles/sec.
laccess.id = ID of a unit/block/item/liquid.\nThis is the inverse of the lookup operation.
lcategory.unknown = Unknown lcategory.unknown = Unknown
lcategory.unknown.description = Uncategorized instructions. lcategory.unknown.description = Uncategorized instructions.
lcategory.io = Input & Output lcategory.io = Input & Output
@@ -2327,6 +2339,7 @@ lenum.unbind = Completely disable logic control.\nResume standard AI.
lenum.move = Move to exact position. lenum.move = Move to exact position.
lenum.approach = Approach a position with a radius. lenum.approach = Approach a position with a radius.
lenum.pathfind = Pathfind to the enemy spawn. lenum.pathfind = Pathfind to the enemy spawn.
lenum.autopathfind = Automatically pathfinds to the nearest enemy core or drop point.\nThis is the same as standard wave enemy pathfinding.
lenum.target = Shoot a position. lenum.target = Shoot a position.
lenum.targetp = Shoot a target with velocity prediction. lenum.targetp = Shoot a target with velocity prediction.
lenum.itemdrop = Drop an item. lenum.itemdrop = Drop an item.
@@ -2340,5 +2353,3 @@ lenum.build = Build a structure.
lenum.getblock = Fetch a building and type at coordinates.\nUnit must be in range of position.\nSolid non-buildings will have the type [accent]@solid[]. lenum.getblock = Fetch a building and type at coordinates.\nUnit must be in range of position.\nSolid non-buildings will have the type [accent]@solid[].
lenum.within = Check if unit is near a position. lenum.within = Check if unit is near a position.
lenum.boost = Start/stop boosting. lenum.boost = Start/stop boosting.
onset.commandmode = Hold [accent]shift[] to enter [accent]command mode[].\n[accent]Left-click and drag[] to select units.\n[accent]Right-click[] to order selected units to move or attack.
onset.commandmode.mobile = Press the [accent]command button[] to enter [accent]command mode[].\nHold down a finger, then [accent]drag[] to select units.\n[accent]Tap[] to order selected units to move or attack.

View File

@@ -255,6 +255,7 @@ trace = Zlokalizuj Gracza
trace.playername = Nazwa gracza: [accent]{0} trace.playername = Nazwa gracza: [accent]{0}
trace.ip = IP: [accent]{0} trace.ip = IP: [accent]{0}
trace.id = Wyjątkowe ID: [accent]{0} trace.id = Wyjątkowe ID: [accent]{0}
trace.language = Language: [accent]{0}
trace.mobile = Klient Mobilny: [accent]{0} trace.mobile = Klient Mobilny: [accent]{0}
trace.modclient = Zmodowany klient: [accent]{0} trace.modclient = Zmodowany klient: [accent]{0}
trace.times.joined = Dołączył: [accent]{0}[] razy trace.times.joined = Dołączył: [accent]{0}[] razy
@@ -949,12 +950,16 @@ stat.healing = Leczy
ability.forcefield = Pole Siłowe ability.forcefield = Pole Siłowe
ability.repairfield = Pole Naprawy ability.repairfield = Pole Naprawy
ability.statusfield = Pole Statusu ability.statusfield = Pole Statusu
ability.unitspawn = Fabryka Jednostek {0} ability.unitspawn = Fabryka Jednostek
ability.shieldregenfield = Strefa Tarczy Regenerującej ability.shieldregenfield = Strefa Tarczy Regenerującej
ability.movelightning = Pioruny Poruszania ability.movelightning = Pioruny Poruszania
ability.shieldarc = Shield Arc ability.shieldarc = Shield Arc
ability.suppressionfield = Regen Suppression Field ability.suppressionfield = Regen Suppression Field
ability.energyfield = Pole Energii: [accent]{0}[] obrażenia ~ [accent]{1}[] bloki / [accent]{2}[] cele ability.energyfield = Pole Energii
ability.energyfield.sametypehealmultiplier = [lightgray]Same Type Healing: [white]{0}%
ability.energyfield.maxtargets = [lightgray]Max Targets: [white]{0}
ability.regen = Regeneration
bar.onlycoredeposit = Dozwolone jest tylko przeniesienie z rdzenia bar.onlycoredeposit = Dozwolone jest tylko przeniesienie z rdzenia
bar.drilltierreq = Wymagane Lepsze Wiertło bar.drilltierreq = Wymagane Lepsze Wiertło
@@ -1095,6 +1100,7 @@ setting.position.name = Pokazuj położenie gracza
setting.mouseposition.name = Pokazuj położenie myszki setting.mouseposition.name = Pokazuj położenie myszki
setting.musicvol.name = Głośność muzyki setting.musicvol.name = Głośność muzyki
setting.atmosphere.name = Pokazuj atmosferę planety setting.atmosphere.name = Pokazuj atmosferę planety
setting.drawlight.name = Draw Darkness/Lighting
setting.ambientvol.name = Głośność otoczenia setting.ambientvol.name = Głośność otoczenia
setting.mutemusic.name = Wycisz muzykę setting.mutemusic.name = Wycisz muzykę
setting.sfxvol.name = Głośność dźwięków setting.sfxvol.name = Głośność dźwięków
@@ -1853,6 +1859,9 @@ onset.enemies = Nadchodzi wróg, przygotuj obronę.
onset.attack = Wróg jest wrażliwy na atak. Przeprowadź kontratak. onset.attack = Wróg jest wrażliwy na atak. Przeprowadź kontratak.
onset.cores = Nowe rdzenie mogą być postawione tylko w [accent]strefach rdzenia[].\nNowy rdzeń działa tak samo jak każdy poprzedni. Rdzenie współdzielą surowce.\nPostaw nowy \uf725 rdzeń. onset.cores = Nowe rdzenie mogą być postawione tylko w [accent]strefach rdzenia[].\nNowy rdzeń działa tak samo jak każdy poprzedni. Rdzenie współdzielą surowce.\nPostaw nowy \uf725 rdzeń.
onset.detect = Wróg wykryje cię za 2 minuty.\nPrzygotuj obronę, wydobywaj surowce i je produkuj. onset.detect = Wróg wykryje cię za 2 minuty.\nPrzygotuj obronę, wydobywaj surowce i je produkuj.
onset.commandmode = Przytrzymaj [accent]shift[] aby wejść do [accent]trybu poleceń[].\n[accent]Kliknij lewy przycisk myszy i przeciągnij[] aby wybrac jednostki.\n[accent]Kliknij prawy przycisk myszy[] aby rozkazać jednostkom się przemieścić lub zaatakować.
onset.commandmode.mobile = Naciśnij [accent]przycisk poleceń[] aby wejść do [accent]trybu poleceń[].\nPrzytrzymaj palec, a następnie [accent]przeciągnij[] aby zaznaczyć jednostki.\n[accent]Kliknij[] aby rozkazać jednostkom się przemieścić lub zaatakować.
aegis.tungsten = Tungsten can be mined using an [accent]impact drill[].\nThis structure requires [accent]water[] and [accent]power[].
split.pickup = Niektóre bloki mogą zostać podniesione przez jednostkę rdzeniową.\nPodnieś ten [accent]kontener[] i postaw go w [accent]punkcie załadunkowym[].\n(Domyślne klawisze to [ i ], użyj ich żeby podnieść lub upuścić blok.) split.pickup = Niektóre bloki mogą zostać podniesione przez jednostkę rdzeniową.\nPodnieś ten [accent]kontener[] i postaw go w [accent]punkcie załadunkowym[].\n(Domyślne klawisze to [ i ], użyj ich żeby podnieść lub upuścić blok.)
split.pickup.mobile = iektóre bloki mogą zostać podniesione przez jednostkę rdzeniową.\nPodnieś ten [accent]kontener[] i postaw go w [accent]punkcie załadunkowym[].\n(Żeby podnieść lub upuścić jakiś blok, przytrzymaj go przez chwilę.) split.pickup.mobile = iektóre bloki mogą zostać podniesione przez jednostkę rdzeniową.\nPodnieś ten [accent]kontener[] i postaw go w [accent]punkcie załadunkowym[].\n(Żeby podnieść lub upuścić jakiś blok, przytrzymaj go przez chwilę.)
split.acquire = Żeby wybudować jednostki musisz pozyskać trochę wolframu. split.acquire = Żeby wybudować jednostki musisz pozyskać trochę wolframu.
@@ -2246,6 +2255,8 @@ lst.cutscene = Manipuluj kamerą gracza.
lst.setflag = Ustaw globalną flagę, którą mogą odczytać wszystkie procesory. lst.setflag = Ustaw globalną flagę, którą mogą odczytać wszystkie procesory.
lst.getflag = Sprawdź, czy ustawiona jest flaga globalna. lst.getflag = Sprawdź, czy ustawiona jest flaga globalna.
lst.setprop = Sets a property of a unit or building. lst.setprop = Sets a property of a unit or building.
lst.effect = Create a particle effect.
lst.sync = Sync a variable across the network.\nOnly invoked 10 times a second at most.
logic.nounitbuild = [red]Logika budowania jednostek nie jest tu dozwolona. logic.nounitbuild = [red]Logika budowania jednostek nie jest tu dozwolona.
@@ -2261,6 +2272,7 @@ laccess.dead = Sprawdza czy jednostka/budynek jest zniszczony lub już nie istni
laccess.controlled = Zwraca:\n[accent]@ctrlProcessor[] jeśli kontrolerem jednostki jest procesor\n[accent]@ctrlPlayer[] jeśli kontrolerem jednostki/budynku jest gracz\n[accent]@ctrlFormation[] jeśli jednostka jest w formacji\nW innym wypadku 0. laccess.controlled = Zwraca:\n[accent]@ctrlProcessor[] jeśli kontrolerem jednostki jest procesor\n[accent]@ctrlPlayer[] jeśli kontrolerem jednostki/budynku jest gracz\n[accent]@ctrlFormation[] jeśli jednostka jest w formacji\nW innym wypadku 0.
laccess.progress = Postęp akcji, od 0 do 1.\nZwraca produkcję, przeładowanie wieżyczki lub postęp konstrukcji. laccess.progress = Postęp akcji, od 0 do 1.\nZwraca produkcję, przeładowanie wieżyczki lub postęp konstrukcji.
laccess.speed = Top speed of a unit, in tiles/sec. laccess.speed = Top speed of a unit, in tiles/sec.
laccess.id = ID of a unit/block/item/liquid.\nThis is the inverse of the lookup operation.
lcategory.unknown = Inne lcategory.unknown = Inne
lcategory.unknown.description = Niezkategoryzowane instrukcje. lcategory.unknown.description = Niezkategoryzowane instrukcje.
@@ -2381,6 +2393,7 @@ lenum.unbind = Kompletnie wyłącza kontrolę za pomocą logiki.\nWznawia domyś
lenum.move = Przemieść się do określonej pozycji. lenum.move = Przemieść się do określonej pozycji.
lenum.approach = Zbliż się do pozycji w promieniu. lenum.approach = Zbliż się do pozycji w promieniu.
lenum.pathfind = Odnajdź ścieżkę do punktu zrzutu przeciwników. lenum.pathfind = Odnajdź ścieżkę do punktu zrzutu przeciwników.
lenum.autopathfind = Automatically pathfinds to the nearest enemy core or drop point.\nThis is the same as standard wave enemy pathfinding.
lenum.target = Strzel w określoną pozycję. lenum.target = Strzel w określoną pozycję.
lenum.targetp = Strzel w jednostkę/budynek z zachowaniem trajektorii. lenum.targetp = Strzel w jednostkę/budynek z zachowaniem trajektorii.
lenum.itemdrop = Upuść przedmiot. lenum.itemdrop = Upuść przedmiot.
@@ -2394,5 +2407,3 @@ lenum.build = Buduj strukturę.
lenum.getblock = Pobierz budynek i typ ze współrzędnych.\nJednostka musi być w zasięgu pozycji.\nSolidne niebudynki będą miały typ [accent]@solid[]. lenum.getblock = Pobierz budynek i typ ze współrzędnych.\nJednostka musi być w zasięgu pozycji.\nSolidne niebudynki będą miały typ [accent]@solid[].
lenum.within = Sprawdź czy jednostka jest w pobliżu pozycji. lenum.within = Sprawdź czy jednostka jest w pobliżu pozycji.
lenum.boost = Zacznij/zakończ przyspieszać. lenum.boost = Zacznij/zakończ przyspieszać.
onset.commandmode = Przytrzymaj [accent]shift[] aby wejść do [accent]trybu poleceń[].\n[accent]Kliknij lewy przycisk myszy i przeciągnij[] aby wybrac jednostki.\n[accent]Kliknij prawy przycisk myszy[] aby rozkazać jednostkom się przemieścić lub zaatakować.
onset.commandmode.mobile = Naciśnij [accent]przycisk poleceń[] aby wejść do [accent]trybu poleceń[].\nPrzytrzymaj palec, a następnie [accent]przeciągnij[] aby zaznaczyć jednostki.\n[accent]Kliknij[] aby rozkazać jednostkom się przemieścić lub zaatakować.

View File

@@ -255,6 +255,7 @@ trace = Rastrear jogador
trace.playername = Nome do jogador: [accent]{0} trace.playername = Nome do jogador: [accent]{0}
trace.ip = IP: [accent]{0} trace.ip = IP: [accent]{0}
trace.id = ID: [accent]{0} trace.id = ID: [accent]{0}
trace.language = Language: [accent]{0}
trace.mobile = Cliente móvel: [accent]{0} trace.mobile = Cliente móvel: [accent]{0}
trace.modclient = Cliente customizado: [accent]{0} trace.modclient = Cliente customizado: [accent]{0}
trace.times.joined = Vezes que entrou: [accent]{0} trace.times.joined = Vezes que entrou: [accent]{0}
@@ -959,13 +960,16 @@ stat.healing = Reparo
ability.forcefield = Campo de Força ability.forcefield = Campo de Força
ability.repairfield = Campo de Reparação ability.repairfield = Campo de Reparação
ability.statusfield = Campo de Status {0} ability.statusfield = Campo de Status
ability.unitspawn = Fábrica de {0} ability.unitspawn = Fábrica
ability.shieldregenfield = Raio de Regeneração do Escudo ability.shieldregenfield = Raio de Regeneração do Escudo
ability.movelightning = Raio de Movimento ability.movelightning = Raio de Movimento
ability.shieldarc = Arco do Escudo ability.shieldarc = Arco do Escudo
ability.suppressionfield = Regen Suppression Field ability.suppressionfield = Regen Suppression Field
ability.energyfield = Campo de Energia: dano [accent]{0}[] ~ blocos [accent]{1}[] / alvos [accent]{2}[] ability.energyfield = Campo de Energia
ability.energyfield.sametypehealmultiplier = [lightgray]Same Type Healing: [white]{0}%
ability.energyfield.maxtargets = [lightgray]Max Targets: [white]{0}
ability.regen = Regeneration
bar.onlycoredeposit = Somente depósito no núcleo permitido bar.onlycoredeposit = Somente depósito no núcleo permitido
bar.drilltierreq = Broca melhor necessária. bar.drilltierreq = Broca melhor necessária.
@@ -1106,6 +1110,7 @@ setting.position.name = Mostrar a posição do Jogador
setting.mouseposition.name = Mostrar posição do mouse setting.mouseposition.name = Mostrar posição do mouse
setting.musicvol.name = Volume da Música setting.musicvol.name = Volume da Música
setting.atmosphere.name = Mostrar a atmosfera do planeta setting.atmosphere.name = Mostrar a atmosfera do planeta
setting.drawlight.name = Draw Darkness/Lighting
setting.ambientvol.name = Volume do Ambiente setting.ambientvol.name = Volume do Ambiente
setting.mutemusic.name = Desligar Música setting.mutemusic.name = Desligar Música
setting.sfxvol.name = Volume de Efeitos setting.sfxvol.name = Volume de Efeitos
@@ -1854,6 +1859,11 @@ onset.enemies = Enemy incoming, prepare to defend.
onset.attack = The enemy is vulnerable. Counter-attack. onset.attack = The enemy is vulnerable. Counter-attack.
onset.cores = New cores can be placed on [accent]core tiles[].\nNew cores function as forward bases and share a resource inventory with other cores.\nPlace a \uf725 core. onset.cores = New cores can be placed on [accent]core tiles[].\nNew cores function as forward bases and share a resource inventory with other cores.\nPlace a \uf725 core.
onset.detect = The enemy will be able to detect you in 2 minutes.\nSet up defenses, mining, and production. onset.detect = The enemy will be able to detect you in 2 minutes.\nSet up defenses, mining, and production.
#Don't translate these yet!
onset.commandmode = Hold [accent]shift[] to enter [accent]command mode[].\n[accent]Left-click and drag[] to select units.\n[accent]Right-click[] to order selected units to move or attack.
onset.commandmode.mobile = Press the [accent]command button[] to enter [accent]command mode[].\nHold down a finger, then [accent]drag[] to select units.\n[accent]Tap[] to order selected units to move or attack.
aegis.tungsten = Tungsten can be mined using an [accent]impact drill[].\nThis structure requires [accent]water[] and [accent]power[].
split.pickup = Some blocks can be picked up by the core unit.\nPick up this [accent]container[] and place it onto the [accent]payload loader[].\n(Default keys are [ and ] to pick up and drop) split.pickup = Some blocks can be picked up by the core unit.\nPick up this [accent]container[] and place it onto the [accent]payload loader[].\n(Default keys are [ and ] to pick up and drop)
split.pickup.mobile = Some blocks can be picked up by the core unit.\nPick up this [accent]container[] and place it onto the [accent]payload loader[].\n(To pick up or drop something, long-press it.) split.pickup.mobile = Some blocks can be picked up by the core unit.\nPick up this [accent]container[] and place it onto the [accent]payload loader[].\n(To pick up or drop something, long-press it.)
split.acquire = You must acquire some tungsten to build units. split.acquire = You must acquire some tungsten to build units.
@@ -2244,6 +2254,8 @@ lst.cutscene = Manipule a câmera do jogador.
lst.setflag = Defina um sinalizador global que possa ser lido por todos os processadores. lst.setflag = Defina um sinalizador global que possa ser lido por todos os processadores.
lst.getflag = Verifique se um sinalizador global está definido. lst.getflag = Verifique se um sinalizador global está definido.
lst.setprop = Define uma propriedade de uma unidade ou edifício. lst.setprop = Define uma propriedade de uma unidade ou edifício.
lst.effect = Create a particle effect.
lst.sync = Sync a variable across the network.\nOnly invoked 10 times a second at most.
logic.nounitbuild = [red]Lógica de construção de unidades não é permitida aqui. logic.nounitbuild = [red]Lógica de construção de unidades não é permitida aqui.
@@ -2259,6 +2271,7 @@ laccess.dead = Se uma unidade/edifício está morta ou não é mais válida.
laccess.controlled = Retorna:\n[accent]@ctrlProcessor[] se o controlador da unidade for o processador\n[accent]@ctrlPlayer[] se o controlador da unidade/edifício for o player\n[accent]@ctrlCommand[] se o controlador da unidade for um comando do player\nCaso contrário , 0. laccess.controlled = Retorna:\n[accent]@ctrlProcessor[] se o controlador da unidade for o processador\n[accent]@ctrlPlayer[] se o controlador da unidade/edifício for o player\n[accent]@ctrlCommand[] se o controlador da unidade for um comando do player\nCaso contrário , 0.
laccess.progress = Progresso da ação, 0 a 1.\nRetorna a produção, a recarga da torre ou o progresso da construção. laccess.progress = Progresso da ação, 0 a 1.\nRetorna a produção, a recarga da torre ou o progresso da construção.
laccess.speed = Velocidade máxima de uma unidade, em ladrilhos/seg. laccess.speed = Velocidade máxima de uma unidade, em ladrilhos/seg.
laccess.id = ID of a unit/block/item/liquid.\nThis is the inverse of the lookup operation.
lcategory.unknown = Desconhecido lcategory.unknown = Desconhecido
lcategory.unknown.description = Instruções não categorizadas. lcategory.unknown.description = Instruções não categorizadas.
@@ -2378,6 +2391,7 @@ lenum.unbind = Desabilite completamente o controle lógico.\nRetome AI padrão.
lenum.move = Mover para a posição exata. lenum.move = Mover para a posição exata.
lenum.approach = Aproxime-se de uma posição com um raio. lenum.approach = Aproxime-se de uma posição com um raio.
lenum.pathfind = Pathfind para o spawn inimigo. lenum.pathfind = Pathfind para o spawn inimigo.
lenum.autopathfind = Automatically pathfinds to the nearest enemy core or drop point.\nThis is the same as standard wave enemy pathfinding.
lenum.target = Atire em uma posição. lenum.target = Atire em uma posição.
lenum.targetp = Atire em um alvo com previsão de velocidade. lenum.targetp = Atire em um alvo com previsão de velocidade.
lenum.itemdrop = Solte um item. lenum.itemdrop = Solte um item.
@@ -2391,7 +2405,3 @@ lenum.build = Construa uma estrutura.
lenum.getblock = Busque uma construção e digite nas coordenadas.\nA unidade deve estar no intervalo de posição.\nConstruções sólidas não construídas terão o tipo [accent]@solid[]. lenum.getblock = Busque uma construção e digite nas coordenadas.\nA unidade deve estar no intervalo de posição.\nConstruções sólidas não construídas terão o tipo [accent]@solid[].
lenum.within = Verifique se a unidade está perto de uma posição. lenum.within = Verifique se a unidade está perto de uma posição.
lenum.boost = Iniciar/parar o reforço. lenum.boost = Iniciar/parar o reforço.
#Don't translate these yet!
onset.commandmode = Hold [accent]shift[] to enter [accent]command mode[].\n[accent]Left-click and drag[] to select units.\n[accent]Right-click[] to order selected units to move or attack.
onset.commandmode.mobile = Press the [accent]command button[] to enter [accent]command mode[].\nHold down a finger, then [accent]drag[] to select units.\n[accent]Tap[] to order selected units to move or attack.

View File

@@ -251,6 +251,7 @@ trace = Traçar jogador
trace.playername = Nome do jogador: [accent]{0} trace.playername = Nome do jogador: [accent]{0}
trace.ip = IP: [accent]{0} trace.ip = IP: [accent]{0}
trace.id = ID unico: [accent]{0} trace.id = ID unico: [accent]{0}
trace.language = Language: [accent]{0}
trace.mobile = Cliente móvel: [accent]{0} trace.mobile = Cliente móvel: [accent]{0}
trace.modclient = Cliente Customizado: [accent]{0} trace.modclient = Cliente Customizado: [accent]{0}
trace.times.joined = Times Joined: [accent]{0} trace.times.joined = Times Joined: [accent]{0}
@@ -939,12 +940,16 @@ stat.healing = Healing
ability.forcefield = Force Field ability.forcefield = Force Field
ability.repairfield = Repair Field ability.repairfield = Repair Field
ability.statusfield = Status Field ability.statusfield = Status Field
ability.unitspawn = {0} Factory ability.unitspawn = Factory
ability.shieldregenfield = Shield Regen Field ability.shieldregenfield = Shield Regen Field
ability.movelightning = Movement Lightning ability.movelightning = Movement Lightning
ability.shieldarc = Shield Arc ability.shieldarc = Shield Arc
ability.suppressionfield = Regen Suppression Field ability.suppressionfield = Regen Suppression Field
ability.energyfield = Energy Field: [accent]{0}[] damage ~ [accent]{1}[] blocks / [accent]{2}[] targets ability.energyfield = Energy Field
ability.energyfield.sametypehealmultiplier = [lightgray]Same Type Healing: [white]{0}%
ability.energyfield.maxtargets = [lightgray]Max Targets: [white]{0}
ability.regen = Regeneration
bar.onlycoredeposit = Only Core Depositing Allowed bar.onlycoredeposit = Only Core Depositing Allowed
bar.drilltierreq = Broca melhor necessária. bar.drilltierreq = Broca melhor necessária.
@@ -1085,6 +1090,7 @@ setting.position.name = Show Player Position
setting.mouseposition.name = Show Mouse Position setting.mouseposition.name = Show Mouse Position
setting.musicvol.name = Volume da Música setting.musicvol.name = Volume da Música
setting.atmosphere.name = Show Planet Atmosphere setting.atmosphere.name = Show Planet Atmosphere
setting.drawlight.name = Draw Darkness/Lighting
setting.ambientvol.name = Volume do ambiente setting.ambientvol.name = Volume do ambiente
setting.mutemusic.name = Desligar Música setting.mutemusic.name = Desligar Música
setting.sfxvol.name = Volume de Efeitos setting.sfxvol.name = Volume de Efeitos
@@ -1832,6 +1838,9 @@ onset.enemies = Enemy incoming, prepare to defend.
onset.attack = The enemy is vulnerable. Counter-attack. onset.attack = The enemy is vulnerable. Counter-attack.
onset.cores = New cores can be placed on [accent]core tiles[].\nNew cores function as forward bases and share a resource inventory with other cores.\nPlace a \uf725 core. onset.cores = New cores can be placed on [accent]core tiles[].\nNew cores function as forward bases and share a resource inventory with other cores.\nPlace a \uf725 core.
onset.detect = The enemy will be able to detect you in 2 minutes.\nSet up defenses, mining, and production. onset.detect = The enemy will be able to detect you in 2 minutes.\nSet up defenses, mining, and production.
onset.commandmode = Hold [accent]shift[] to enter [accent]command mode[].\n[accent]Left-click and drag[] to select units.\n[accent]Right-click[] to order selected units to move or attack.
onset.commandmode.mobile = Press the [accent]command button[] to enter [accent]command mode[].\nHold down a finger, then [accent]drag[] to select units.\n[accent]Tap[] to order selected units to move or attack.
aegis.tungsten = Tungsten can be mined using an [accent]impact drill[].\nThis structure requires [accent]water[] and [accent]power[].
split.pickup = Some blocks can be picked up by the core unit.\nPick up this [accent]container[] and place it onto the [accent]payload loader[].\n(Default keys are [ and ] to pick up and drop) split.pickup = Some blocks can be picked up by the core unit.\nPick up this [accent]container[] and place it onto the [accent]payload loader[].\n(Default keys are [ and ] to pick up and drop)
split.pickup.mobile = Some blocks can be picked up by the core unit.\nPick up this [accent]container[] and place it onto the [accent]payload loader[].\n(To pick up or drop something, long-press it.) split.pickup.mobile = Some blocks can be picked up by the core unit.\nPick up this [accent]container[] and place it onto the [accent]payload loader[].\n(To pick up or drop something, long-press it.)
split.acquire = You must acquire some tungsten to build units. split.acquire = You must acquire some tungsten to build units.
@@ -2211,6 +2220,8 @@ lst.cutscene = Manipulate the player camera.
lst.setflag = Set a global flag that can be read by all processors. lst.setflag = Set a global flag that can be read by all processors.
lst.getflag = Check if a global flag is set. lst.getflag = Check if a global flag is set.
lst.setprop = Sets a property of a unit or building. lst.setprop = Sets a property of a unit or building.
lst.effect = Create a particle effect.
lst.sync = Sync a variable across the network.\nOnly invoked 10 times a second at most.
logic.nounitbuild = [red]Unit building logic is not allowed here. logic.nounitbuild = [red]Unit building logic is not allowed here.
lenum.type = Type of building/unit.\ne.g. for any router, this will return [accent]@router[].\nNot a string. lenum.type = Type of building/unit.\ne.g. for any router, this will return [accent]@router[].\nNot a string.
lenum.shoot = Shoot at a position. lenum.shoot = Shoot at a position.
@@ -2223,6 +2234,7 @@ laccess.dead = Whether a unit/building is dead or no longer valid.
laccess.controlled = Returns:\n[accent]@ctrlProcessor[] if unit controller is processor\n[accent]@ctrlPlayer[] if unit/building controller is player\n[accent]@ctrlFormation[] if unit is in formation\nOtherwise, 0. laccess.controlled = Returns:\n[accent]@ctrlProcessor[] if unit controller is processor\n[accent]@ctrlPlayer[] if unit/building controller is player\n[accent]@ctrlFormation[] if unit is in formation\nOtherwise, 0.
laccess.progress = Action progress, 0 to 1.\nReturns production, turret reload or construction progress. laccess.progress = Action progress, 0 to 1.\nReturns production, turret reload or construction progress.
laccess.speed = Top speed of a unit, in tiles/sec. laccess.speed = Top speed of a unit, in tiles/sec.
laccess.id = ID of a unit/block/item/liquid.\nThis is the inverse of the lookup operation.
lcategory.unknown = Unknown lcategory.unknown = Unknown
lcategory.unknown.description = Uncategorized instructions. lcategory.unknown.description = Uncategorized instructions.
lcategory.io = Input & Output lcategory.io = Input & Output
@@ -2327,6 +2339,7 @@ lenum.unbind = Completely disable logic control.\nResume standard AI.
lenum.move = Move to exact position. lenum.move = Move to exact position.
lenum.approach = Approach a position with a radius. lenum.approach = Approach a position with a radius.
lenum.pathfind = Pathfind to the enemy spawn. lenum.pathfind = Pathfind to the enemy spawn.
lenum.autopathfind = Automatically pathfinds to the nearest enemy core or drop point.\nThis is the same as standard wave enemy pathfinding.
lenum.target = Shoot a position. lenum.target = Shoot a position.
lenum.targetp = Shoot a target with velocity prediction. lenum.targetp = Shoot a target with velocity prediction.
lenum.itemdrop = Drop an item. lenum.itemdrop = Drop an item.
@@ -2340,5 +2353,3 @@ lenum.build = Build a structure.
lenum.getblock = Fetch a building and type at coordinates.\nUnit must be in range of position.\nSolid non-buildings will have the type [accent]@solid[]. lenum.getblock = Fetch a building and type at coordinates.\nUnit must be in range of position.\nSolid non-buildings will have the type [accent]@solid[].
lenum.within = Check if unit is near a position. lenum.within = Check if unit is near a position.
lenum.boost = Start/stop boosting. lenum.boost = Start/stop boosting.
onset.commandmode = Hold [accent]shift[] to enter [accent]command mode[].\n[accent]Left-click and drag[] to select units.\n[accent]Right-click[] to order selected units to move or attack.
onset.commandmode.mobile = Press the [accent]command button[] to enter [accent]command mode[].\nHold down a finger, then [accent]drag[] to select units.\n[accent]Tap[] to order selected units to move or attack.

View File

@@ -255,6 +255,7 @@ trace = Urmărește Jucător
trace.playername = Nume jucător: [accent]{0} trace.playername = Nume jucător: [accent]{0}
trace.ip = IP: [accent]{0} trace.ip = IP: [accent]{0}
trace.id = ID: [accent]{0} trace.id = ID: [accent]{0}
trace.language = Language: [accent]{0}
trace.mobile = Client Mobil: [accent]{0} trace.mobile = Client Mobil: [accent]{0}
trace.modclient = Client Personalizat: [accent]{0} trace.modclient = Client Personalizat: [accent]{0}
trace.times.joined = A Intrat: de [accent]{0}[] ori trace.times.joined = A Intrat: de [accent]{0}[] ori
@@ -950,13 +951,17 @@ stat.healing = Reparare
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 = {0} Câmp de Stare ability.statusfield = Câmp de Stare
ability.unitspawn = Fabrică de {0} ability.unitspawn = Fabrică
ability.shieldregenfield = Câmp Regenerare Scut ability.shieldregenfield = Câmp Regenerare Scut
ability.movelightning = Mișcare Fulger ability.movelightning = Mișcare Fulger
ability.shieldarc = Shield Arc ability.shieldarc = Shield Arc
ability.suppressionfield = Regen Suppression Field ability.suppressionfield = Regen Suppression Field
ability.energyfield = Câmp de Energie: [accent]{0}[] forță pe ~ [accent]{1}[] blocuri / [accent]{2}[] ținte ability.energyfield = Câmp de Energie
ability.energyfield.sametypehealmultiplier = [lightgray]Same Type Healing: [white]{0}%
ability.energyfield.maxtargets = [lightgray]Max Targets: [white]{0}
ability.regen = Regeneration
bar.onlycoredeposit = Only Core Depositing Allowed bar.onlycoredeposit = Only Core Depositing Allowed
bar.drilltierreq = Burghiu Mai Bun Necesar bar.drilltierreq = Burghiu Mai Bun Necesar
@@ -1097,6 +1102,7 @@ setting.position.name = Vezi Poziția Jucătorului
setting.mouseposition.name = Show Mouse Position setting.mouseposition.name = Show Mouse Position
setting.musicvol.name = Volumul Muzicii setting.musicvol.name = Volumul Muzicii
setting.atmosphere.name = Vezi Atmosfera Planetelor setting.atmosphere.name = Vezi Atmosfera Planetelor
setting.drawlight.name = Draw Darkness/Lighting
setting.ambientvol.name = Volum Ambiental setting.ambientvol.name = Volum Ambiental
setting.mutemusic.name = Muzica pe Mut setting.mutemusic.name = Muzica pe Mut
setting.sfxvol.name = Volum Efecte Sonore setting.sfxvol.name = Volum Efecte Sonore
@@ -1847,6 +1853,9 @@ onset.enemies = Enemy incoming, prepare to defend.
onset.attack = The enemy is vulnerable. Counter-attack. onset.attack = The enemy is vulnerable. Counter-attack.
onset.cores = New cores can be placed on [accent]core tiles[].\nNew cores function as forward bases and share a resource inventory with other cores.\nPlace a \uf725 core. onset.cores = New cores can be placed on [accent]core tiles[].\nNew cores function as forward bases and share a resource inventory with other cores.\nPlace a \uf725 core.
onset.detect = The enemy will be able to detect you in 2 minutes.\nSet up defenses, mining, and production. onset.detect = The enemy will be able to detect you in 2 minutes.\nSet up defenses, mining, and production.
onset.commandmode = Hold [accent]shift[] to enter [accent]command mode[].\n[accent]Left-click and drag[] to select units.\n[accent]Right-click[] to order selected units to move or attack.
onset.commandmode.mobile = Press the [accent]command button[] to enter [accent]command mode[].\nHold down a finger, then [accent]drag[] to select units.\n[accent]Tap[] to order selected units to move or attack.
aegis.tungsten = Tungsten can be mined using an [accent]impact drill[].\nThis structure requires [accent]water[] and [accent]power[].
split.pickup = Some blocks can be picked up by the core unit.\nPick up this [accent]container[] and place it onto the [accent]payload loader[].\n(Default keys are [ and ] to pick up and drop) split.pickup = Some blocks can be picked up by the core unit.\nPick up this [accent]container[] and place it onto the [accent]payload loader[].\n(Default keys are [ and ] to pick up and drop)
split.pickup.mobile = Some blocks can be picked up by the core unit.\nPick up this [accent]container[] and place it onto the [accent]payload loader[].\n(To pick up or drop something, long-press it.) split.pickup.mobile = Some blocks can be picked up by the core unit.\nPick up this [accent]container[] and place it onto the [accent]payload loader[].\n(To pick up or drop something, long-press it.)
split.acquire = You must acquire some tungsten to build units. split.acquire = You must acquire some tungsten to build units.
@@ -2229,6 +2238,8 @@ lst.cutscene = Manipulate the player camera.
lst.setflag = Set a global flag that can be read by all processors. lst.setflag = Set a global flag that can be read by all processors.
lst.getflag = Check if a global flag is set. lst.getflag = Check if a global flag is set.
lst.setprop = Sets a property of a unit or building. lst.setprop = Sets a property of a unit or building.
lst.effect = Create a particle effect.
lst.sync = Sync a variable across the network.\nOnly invoked 10 times a second at most.
logic.nounitbuild = [red]Nu ai voie să construiești cu unitățile folosind procesoare. logic.nounitbuild = [red]Nu ai voie să construiești cu unitățile folosind procesoare.
@@ -2244,6 +2255,7 @@ laccess.dead = Specifică dacă o unitate sau clădire a murit/nu mai e validă.
laccess.controlled = Returnează:\n[accent]@ctrlProcessor[] dacă controlorul unității e procesor\n[accent]@ctrlPlayer[] dacă controlorul unității/clădirii e jucător\n[accent]@ctrlFormation[] dacă unitatea e într-o formație\nAltfel dă 0. laccess.controlled = Returnează:\n[accent]@ctrlProcessor[] dacă controlorul unității e procesor\n[accent]@ctrlPlayer[] dacă controlorul unității/clădirii e jucător\n[accent]@ctrlFormation[] dacă unitatea e într-o formație\nAltfel dă 0.
laccess.progress = Progresul acțiunii, de la 0 la 1.\nReturnează progresul producției, al construcției sau reîncărcarea armelor. laccess.progress = Progresul acțiunii, de la 0 la 1.\nReturnează progresul producției, al construcției sau reîncărcarea armelor.
laccess.speed = Top speed of a unit, in tiles/sec. laccess.speed = Top speed of a unit, in tiles/sec.
laccess.id = ID of a unit/block/item/liquid.\nThis is the inverse of the lookup operation.
lcategory.unknown = Unknown lcategory.unknown = Unknown
lcategory.unknown.description = Uncategorized instructions. lcategory.unknown.description = Uncategorized instructions.
lcategory.io = Input & Output lcategory.io = Input & Output
@@ -2364,6 +2376,7 @@ lenum.unbind = Completely disable logic control.\nResume standard AI.
lenum.move = Mergi la această poziție. lenum.move = Mergi la această poziție.
lenum.approach = Apropie-te la o anumită distanță de poziție. lenum.approach = Apropie-te la o anumită distanță de poziție.
lenum.pathfind = Găsește ruta către punctul de lansare inamic. Poate fi un nucleu. lenum.pathfind = Găsește ruta către punctul de lansare inamic. Poate fi un nucleu.
lenum.autopathfind = Automatically pathfinds to the nearest enemy core or drop point.\nThis is the same as standard wave enemy pathfinding.
lenum.target = Lovește către o poziție. lenum.target = Lovește către o poziție.
lenum.targetp = Lovește o țintă. Anticipează viteza țintei și a proiectilului. lenum.targetp = Lovește o țintă. Anticipează viteza țintei și a proiectilului.
lenum.itemdrop = Descarcă o bucată de material. lenum.itemdrop = Descarcă o bucată de material.
@@ -2377,5 +2390,3 @@ lenum.build = Construiește o structură.
lenum.getblock = Obține clădirea și tipul clădirii aflate la coordonatele specificate.\nUnitatea trebuie să se afle în raza poziției.\nBlocurile solide care nu sunt clădiri vor avea tipul [accent]@solid[]. lenum.getblock = Obține clădirea și tipul clădirii aflate la coordonatele specificate.\nUnitatea trebuie să se afle în raza poziției.\nBlocurile solide care nu sunt clădiri vor avea tipul [accent]@solid[].
lenum.within = Verifică dacă unitatea se află în apropierea poziției. lenum.within = Verifică dacă unitatea se află în apropierea poziției.
lenum.boost = Pornește/oprește propulsorul. lenum.boost = Pornește/oprește propulsorul.
onset.commandmode = Hold [accent]shift[] to enter [accent]command mode[].\n[accent]Left-click and drag[] to select units.\n[accent]Right-click[] to order selected units to move or attack.
onset.commandmode.mobile = Press the [accent]command button[] to enter [accent]command mode[].\nHold down a finger, then [accent]drag[] to select units.\n[accent]Tap[] to order selected units to move or attack.

View File

@@ -57,7 +57,7 @@ mods.browser.sortstars = Сортировка по количеству звёз
schematic = Схема schematic = Схема
schematic.add = Сохранить схему… schematic.add = Сохранить схему…
schematics = Схемы schematics = Схемы
schematic.search = Search schematics... schematic.search = Поиск схем…
schematic.replace = Схема с таким названием уже существует. Заменить её? schematic.replace = Схема с таким названием уже существует. Заменить её?
schematic.exists = Схема с таким названием уже существует. schematic.exists = Схема с таким названием уже существует.
schematic.import = Импортировать схему… schematic.import = Импортировать схему…
@@ -70,7 +70,7 @@ schematic.shareworkshop = Поделиться в Мастерской
schematic.flip = [accent][[{0}][]/[accent][[{1}][]: Отразить схему schematic.flip = [accent][[{0}][]/[accent][[{1}][]: Отразить схему
schematic.saved = Схема сохранена. schematic.saved = Схема сохранена.
schematic.delete.confirm = Эта схема будет поджарена Испепелителем. schematic.delete.confirm = Эта схема будет поджарена Испепелителем.
schematic.edit = Edit Schematic schematic.edit = Редактировать схему
schematic.info = {0}x{1}, {2} блоков schematic.info = {0}x{1}, {2} блоков
schematic.disabled = [scarlet]Схемы отключены[]\nНа этой [accent]карте[] или [accent]сервере[] запрещено использование схем. schematic.disabled = [scarlet]Схемы отключены[]\nНа этой [accent]карте[] или [accent]сервере[] запрещено использование схем.
schematic.tags = Теги: schematic.tags = Теги:
@@ -79,7 +79,7 @@ schematic.addtag = Добавить тег
schematic.texttag = Текстовый тег schematic.texttag = Текстовый тег
schematic.icontag = Символьный тег schematic.icontag = Символьный тег
schematic.renametag = Переименовать тег schematic.renametag = Переименовать тег
schematic.tagged = {0} tagged schematic.tagged = {0} отмечено
schematic.tagdelconfirm = Удалить этот тег навсегда? schematic.tagdelconfirm = Удалить этот тег навсегда?
schematic.tagexists = Такой тег уже существует. schematic.tagexists = Такой тег уже существует.
@@ -255,18 +255,19 @@ trace = Отслеживать игрока
trace.playername = Имя игрока: [accent]{0} trace.playername = Имя игрока: [accent]{0}
trace.ip = IP: [accent]{0} trace.ip = IP: [accent]{0}
trace.id = ID: [accent]{0} trace.id = ID: [accent]{0}
trace.language = Language: [accent]{0}
trace.mobile = Мобильный клиент: [accent]{0} trace.mobile = Мобильный клиент: [accent]{0}
trace.modclient = Пользовательский клиент: [accent]{0} trace.modclient = Пользовательский клиент: [accent]{0}
trace.times.joined = Присоединялся раз: [accent]{0} trace.times.joined = Присоединялся раз: [accent]{0}
trace.times.kicked = Был выгнан раз: [accent]{0} trace.times.kicked = Был выгнан раз: [accent]{0}
trace.ips = IPs: trace.ips = Все адреса:
trace.names = Names: trace.names = Имена:
invalidid = Недопустимый ID клиента! Отправьте отчёт об ошибке. invalidid = Недопустимый ID клиента! Отправьте отчёт об ошибке.
player.ban = Ban player.ban = Заблокировать
player.kick = Kick player.kick = Выгнать
player.trace = Trace player.trace = Статистика
player.admin = Toggle Admin player.admin = Переключить администратора
player.team = Change Team player.team = Сменить команду
server.bans = Блокировки server.bans = Блокировки
server.bans.none = Заблокированных игроков нет! server.bans.none = Заблокированных игроков нет!
server.admins = Администраторы server.admins = Администраторы
@@ -283,10 +284,10 @@ confirmkick = Вы действительно хотите выгнать игр
confirmunban = Вы действительно хотите разблокировать этого игрока? confirmunban = Вы действительно хотите разблокировать этого игрока?
confirmadmin = Вы действительно хотите сделать игрока «{0}[white]» администратором? confirmadmin = Вы действительно хотите сделать игрока «{0}[white]» администратором?
confirmunadmin = Вы действительно хотите убрать игрока «{0}[white]» из администраторов? confirmunadmin = Вы действительно хотите убрать игрока «{0}[white]» из администраторов?
votekick.reason = Vote-Kick Reason votekick.reason = Причина
votekick.reason.message = Are you sure you want to vote-kick "{0}[white]"?\nIf yes, please enter the reason: votekick.reason.message = Вы уверены, что хотите голосованием выгнать "{0}[white]"?\nЕсли да, введите причину:
joingame.title = Присоединиться к игре joingame.title = Присоединиться к игре
joingame.ip = Адрес: joingame.ip = IP:
disconnect = Отключено. disconnect = Отключено.
disconnect.error = Ошибка соединения. disconnect.error = Ошибка соединения.
disconnect.closed = Соединение закрыто. disconnect.closed = Соединение закрыто.
@@ -469,7 +470,7 @@ waves.sort.begin = Начало
waves.sort.health = Здоровье waves.sort.health = Здоровье
waves.sort.type = Тип waves.sort.type = Тип
waves.search = Поиск волн... waves.search = Поиск волн...
waves.filter = Unit Filter waves.filter = Фильтр единиц
waves.units.hide = Скрыть все waves.units.hide = Скрыть все
waves.units.show = Показать все waves.units.show = Показать все
@@ -542,8 +543,8 @@ toolmode.eraseores = Стереть руды
toolmode.eraseores.description = Стереть только руды. toolmode.eraseores.description = Стереть только руды.
toolmode.fillteams = Изменить команду блоков toolmode.fillteams = Изменить команду блоков
toolmode.fillteams.description = Изменяет принадлежность\nблоков к команде. toolmode.fillteams.description = Изменяет принадлежность\nблоков к команде.
toolmode.fillerase = Fill Erase toolmode.fillerase = Стереть тип
toolmode.fillerase.description = Erase blocks of the same type. toolmode.fillerase.description = Стирает все блоки этого типа.
toolmode.drawteams = Изменить команду блока toolmode.drawteams = Изменить команду блока
toolmode.drawteams.description = Изменяет принадлежность\nблока к команде. toolmode.drawteams.description = Изменяет принадлежность\nблока к команде.
toolmode.underliquid = Под жидкостями toolmode.underliquid = Под жидкостями
@@ -951,13 +952,16 @@ stat.healing = Ремонт
ability.forcefield = Силовое поле ability.forcefield = Силовое поле
ability.repairfield = Ремонтирующее поле ability.repairfield = Ремонтирующее поле
ability.statusfield = {0} Усиливающее поле ability.statusfield = Усиливающее поле
ability.unitspawn = Завод единиц «{0}» ability.unitspawn = Завод единиц <EFBFBD>
ability.shieldregenfield = Поле восстановления щита ability.shieldregenfield = Поле восстановления щита
ability.movelightning = Молнии при движении ability.movelightning = Молнии при движении
ability.shieldarc = Дуговой щит ability.shieldarc = Дуговой щит
ability.suppressionfield = Поле подавления регенерации ability.suppressionfield = Поле подавления регенерации
ability.energyfield = Энергетическое поле: [accent]{0}[] урона ~ [accent]{1}[] блоков / [accent]{2}[] целей ability.energyfield = Энергетическое поле
ability.energyfield.sametypehealmultiplier = [lightgray]Same Type Healing: [white]{0}%
ability.energyfield.maxtargets = [lightgray]Max Targets: [white]{0}
ability.regen = Regeneration
bar.onlycoredeposit = Доступен перенос только в ядро bar.onlycoredeposit = Доступен перенос только в ядро
bar.drilltierreq = Требуется бур получше bar.drilltierreq = Требуется бур получше
@@ -1098,6 +1102,7 @@ setting.position.name = Отображать координаты игрока
setting.mouseposition.name = Показывать позицию курсора setting.mouseposition.name = Показывать позицию курсора
setting.musicvol.name = Громкость музыки setting.musicvol.name = Громкость музыки
setting.atmosphere.name = Отображать атмосферу планеты setting.atmosphere.name = Отображать атмосферу планеты
setting.drawlight.name = Draw Darkness/Lighting
setting.ambientvol.name = Громкость окружения setting.ambientvol.name = Громкость окружения
setting.mutemusic.name = Заглушить музыку setting.mutemusic.name = Заглушить музыку
setting.sfxvol.name = Громкость эффектов setting.sfxvol.name = Громкость эффектов
@@ -1224,7 +1229,7 @@ rules.rtsminattackweight = Минимальный вес для атаки
rules.cleanupdeadteams = Очистка строений побежденных команд (PvP) rules.cleanupdeadteams = Очистка строений побежденных команд (PvP)
rules.corecapture = Захват ядра после уничтожения rules.corecapture = Захват ядра после уничтожения
rules.polygoncoreprotection = Полигональная защита ядер rules.polygoncoreprotection = Полигональная защита ядер
rules.placerangecheck = Запретить размещение турелей возле вражеских построек rules.placerangecheck = Запретить размещение построек возле врага
rules.enemyCheat = Бесконечные ресурсы ИИ rules.enemyCheat = Бесконечные ресурсы ИИ
rules.blockhealthmultiplier = Множитель прочности блоков rules.blockhealthmultiplier = Множитель прочности блоков
rules.blockdamagemultiplier = Множитель урона блоков rules.blockdamagemultiplier = Множитель урона блоков
@@ -1789,7 +1794,7 @@ hint.launch = Как только будет собрано достаточно
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.rebuildSelect = Удерживайте [accent][[B][] и перетаскивайте, чтобы выбрать уничтоженные блоки.\nОни будут перестроены автоматически. hint.rebuildSelect = Удерживайте [accent][[B][] и перетаскивайте, чтобы выбрать уничтоженные блоки.\nОни будут перестроены автоматически.
hint.rebuildSelect.mobile = Select the \ue874 copy button, then tap the \ue80f rebuild button and drag to select destroyed block plans.\nThis will rebuild them automatically. hint.rebuildSelect.mobile = Выберите кнопку \ue874 копирования, затем нажмите кнопку \ue80f перестройки, и проведите для выбора уничтоженных блоков.\nЭто перестроит их автоматически.
hint.conveyorPathfind = Удерживайте [accent][[Л-Ctrl][] при размещении конвейеров для автоматической прокладки пути. hint.conveyorPathfind = Удерживайте [accent][[Л-Ctrl][] при размещении конвейеров для автоматической прокладки пути.
hint.conveyorPathfind.mobile = Включите \ue844 [accent]диагональный режим[] и перетащите конвейеры для автоматической прокладки пути. hint.conveyorPathfind.mobile = Включите \ue844 [accent]диагональный режим[] и перетащите конвейеры для автоматической прокладки пути.
hint.boost = Удерживайте [accent][[Л-Shift][], чтобы пролететь над препятствиями при помощи вашей единицы.\n\nТолько некоторые наземные единицы могут взлетать. hint.boost = Удерживайте [accent][[Л-Shift][], чтобы пролететь над препятствиями при помощи вашей единицы.\n\nТолько некоторые наземные единицы могут взлетать.
@@ -1806,6 +1811,7 @@ hint.presetDifficulty = У этого сектора [scarlet]высокий у
hint.coreIncinerate = После того, как ядро будет заполнено предметом до отказа, любые лишние входящие предметы этого типа будут [accent]сожжены[]. hint.coreIncinerate = После того, как ядро будет заполнено предметом до отказа, любые лишние входящие предметы этого типа будут [accent]сожжены[].
hint.factoryControl = Чтобы установить [accent]место вывода единиц[] фабрики, щелкните на блок фабрики в командном режиме, затем щелкните правой кнопкой мыши на соответствующее место.\nЕдиницы, произведенные ею, автоматически переместятся туда. hint.factoryControl = Чтобы установить [accent]место вывода единиц[] фабрики, щелкните на блок фабрики в командном режиме, затем щелкните правой кнопкой мыши на соответствующее место.\nЕдиницы, произведенные ею, автоматически переместятся туда.
hint.factoryControl.mobile = Чтобы установить [accent]место вывода единиц[] фабрики, нажмите на блок фабрики в командном режиме, затем нажмите на соответствующее место.\nЕдиницы, произведенные ею, будут автоматически перемещены туда. hint.factoryControl.mobile = Чтобы установить [accent]место вывода единиц[] фабрики, нажмите на блок фабрики в командном режиме, затем нажмите на соответствующее место.\nЕдиницы, произведенные ею, будут автоматически перемещены туда.
gz.mine = Приблизьтесь к \uf8c4 [accent]медной руде[] на земле и нажмите на нее, чтобы начать копать. gz.mine = Приблизьтесь к \uf8c4 [accent]медной руде[] на земле и нажмите на нее, чтобы начать копать.
gz.mine.mobile = Приблизьтесь к \uf8c4 [accent]медной руде[] на земле и нажмите на нее, чтобы начать копать. gz.mine.mobile = Приблизьтесь к \uf8c4 [accent]медной руде[] на земле и нажмите на нее, чтобы начать копать.
gz.research = Откройте дерево технологий \ue875.\nИсследуйте \uf870 [accent]Механический бур[], затем выберите его в меню в правом нижнем углу.\nНажмите на медную руду, чтобы начать строительство бура. gz.research = Откройте дерево технологий \ue875.\nИсследуйте \uf870 [accent]Механический бур[], затем выберите его в меню в правом нижнем углу.\nНажмите на медную руду, чтобы начать строительство бура.
@@ -1826,6 +1832,7 @@ gz.zone1 = Это - вражеская зона высадки.
gz.zone2 = Все, что построено в её радиусе, будет уничтожено с началом волны. gz.zone2 = Все, что построено в её радиусе, будет уничтожено с началом волны.
gz.zone3 = Волна начнётся прямо сейчас.\nПриготовьтесь. gz.zone3 = Волна начнётся прямо сейчас.\nПриготовьтесь.
gz.finish = Постройте больше турелей, добудьте больше ресурсов,\nи отстойте все волны, чтобы [accent]захватить сектор[]. gz.finish = Постройте больше турелей, добудьте больше ресурсов,\nи отстойте все волны, чтобы [accent]захватить сектор[].
onset.mine = Нажмите, чтобы добыть \uf748 [accent]бериллий[] из стен.\n\nИспользуйте [accent][[WASD] для передвижения. onset.mine = Нажмите, чтобы добыть \uf748 [accent]бериллий[] из стен.\n\nИспользуйте [accent][[WASD] для передвижения.
onset.mine.mobile = Нажмите, чтобы добыть \uf748 [accent]бериллий[] из стен. onset.mine.mobile = Нажмите, чтобы добыть \uf748 [accent]бериллий[] из стен.
onset.research = Откройте \ue875 дерево исследований.\nИсследуйте, затем поставьте \uf73e [accent]турбинный конденсатор[] на жерло.\nОна будет производить [accent]энергию[]. onset.research = Откройте \ue875 дерево исследований.\nИсследуйте, затем поставьте \uf73e [accent]турбинный конденсатор[] на жерло.\nОна будет производить [accent]энергию[].
@@ -1847,6 +1854,10 @@ onset.enemies = Враг на подходе, приготовьтесь защ
onset.attack = Враг уязвим. Начните контратаку. onset.attack = Враг уязвим. Начните контратаку.
onset.cores = Новые ядра могут быть поставлены на [accent]зоны ядра[].\nНовые ядра функционируют как передовые базы и имеют общий инвентарь между другими ядрами.\nПоставьте \uf725 ядро. onset.cores = Новые ядра могут быть поставлены на [accent]зоны ядра[].\nНовые ядра функционируют как передовые базы и имеют общий инвентарь между другими ядрами.\nПоставьте \uf725 ядро.
onset.detect = Враг обнаружит вас через 2 минуты.\nПриготовьте оборону, добычу и производство. onset.detect = Враг обнаружит вас через 2 минуты.\nПриготовьте оборону, добычу и производство.
onset.commandmode = Удерживайте [accent]shift[], чтобы войти в [accent]режим командования[].\n[accent]Щелкните левой кнопкой мыши и выделите область[] для выбора боевых единиц.\n[accent]Щелкните правой кнопкой мыши[], чтобы приказать выбранным единицам двигаться или атаковать.
onset.commandmode.mobile = Нажмите [accent]Командовать[], чтобы войти в [accent]режим командования[].\nЗажмите палец, затем [accent]выделите область[] для выбора боевых единиц.\n[accent]Нажмите[], чтобы приказать выбранным единицам двигаться или атаковать.
aegis.tungsten = Tungsten can be mined using an [accent]impact drill[].\nThis structure requires [accent]water[] and [accent]power[].
split.pickup = Некоторые блоки можно подобрать боевой единицей ядра.\nВозьмите этот [accent]контейнер[] и поставьте его на [accent]грузовой загрузчик[].\n(Клавиши по умолчанию - [ и ] для поднятия и разгрузки) split.pickup = Некоторые блоки можно подобрать боевой единицей ядра.\nВозьмите этот [accent]контейнер[] и поставьте его на [accent]грузовой загрузчик[].\n(Клавиши по умолчанию - [ и ] для поднятия и разгрузки)
split.pickup.mobile = Некоторые блоки можно подобрать боевой единицей ядра.\nВозьмите этот [accent]контейнер[] и поставьте его на [accent]грузовой загрузчик[].\n(Чтобы поднять или разгрузить что-либо, удерживайте палец.) split.pickup.mobile = Некоторые блоки можно подобрать боевой единицей ядра.\nВозьмите этот [accent]контейнер[] и поставьте его на [accent]грузовой загрузчик[].\n(Чтобы поднять или разгрузить что-либо, удерживайте палец.)
split.acquire = Вы должны получить вольфрам для постройки боевых единиц. split.acquire = Вы должны получить вольфрам для постройки боевых единиц.
@@ -2229,6 +2240,8 @@ lst.cutscene = Управляет камерой игрока.
lst.setflag = Устанавливает глобальный флаг, который может быть прочитан всеми процессорами. lst.setflag = Устанавливает глобальный флаг, который может быть прочитан всеми процессорами.
lst.getflag = Проверяет, установлен ли глобальный флаг. lst.getflag = Проверяет, установлен ли глобальный флаг.
lst.setprop = Устанавливает свойство единицы или постройки. lst.setprop = Устанавливает свойство единицы или постройки.
lst.effect = Create a particle effect.
lst.sync = Sync a variable across the network.\nOnly invoked 10 times a second at most.
logic.nounitbuild = [red]Строительство с помощью процессоров здесь запрещено. logic.nounitbuild = [red]Строительство с помощью процессоров здесь запрещено.
@@ -2244,6 +2257,7 @@ laccess.dead = Является ли единица/постройка нера
laccess.controlled = Возвращает:\n[accent]@ctrlProcessor[] если единица управляется процессором\n[accent]@ctrlPlayer[] если единица/постройка управляется игроком\n[accent]@ctrlFormation[] если единица в строю\nВ противном случае — 0. laccess.controlled = Возвращает:\n[accent]@ctrlProcessor[] если единица управляется процессором\n[accent]@ctrlPlayer[] если единица/постройка управляется игроком\n[accent]@ctrlFormation[] если единица в строю\nВ противном случае — 0.
laccess.progress = Прогресс действия от 0 до 1. Возвращает прогресс производства, перезарядку турели или прогресс постройки. laccess.progress = Прогресс действия от 0 до 1. Возвращает прогресс производства, перезарядку турели или прогресс постройки.
laccess.speed = Максимальная скорость единицы, в тайлах/сек. laccess.speed = Максимальная скорость единицы, в тайлах/сек.
laccess.id = ID of a unit/block/item/liquid.\nThis is the inverse of the lookup operation.
lcategory.unknown = Неизвестно lcategory.unknown = Неизвестно
lcategory.unknown.description = Нет категории. lcategory.unknown.description = Нет категории.
lcategory.io = Ввод и вывод lcategory.io = Ввод и вывод
@@ -2289,7 +2303,7 @@ lenum.xor = Побитовое исключающее ИЛИ.
lenum.min = Минимальное из двух чисел. lenum.min = Минимальное из двух чисел.
lenum.max = Максимальное из двух чисел. lenum.max = Максимальное из двух чисел.
lenum.angle = Угол вектора в градусах. lenum.angle = Угол вектора в градусах.
lenum.anglediff = Absolute distance between two angles in degrees. lenum.anglediff = Абсолютная дистанция между двумя углами, в градусах.
lenum.len = Длина вектора. lenum.len = Длина вектора.
lenum.sin = Синус, в градусах. lenum.sin = Синус, в градусах.
@@ -2364,6 +2378,7 @@ lenum.unbind = Полностью отключает управление лог
lenum.move = Перемещение в определённую позицию. lenum.move = Перемещение в определённую позицию.
lenum.approach = Приближение к позиции с указанным радиусом. lenum.approach = Приближение к позиции с указанным радиусом.
lenum.pathfind = Перемещение к точке появления врагов. lenum.pathfind = Перемещение к точке появления врагов.
lenum.autopathfind = Automatically pathfinds to the nearest enemy core or drop point.\nThis is the same as standard wave enemy pathfinding.
lenum.target = Стрельба в определённую позицию. lenum.target = Стрельба в определённую позицию.
lenum.targetp = Стрельба в единицу/постройку с расчётом скорости. lenum.targetp = Стрельба в единицу/постройку с расчётом скорости.
lenum.itemdrop = Сбрасывание предметов. lenum.itemdrop = Сбрасывание предметов.
@@ -2377,5 +2392,3 @@ lenum.build = Строительство блоков.
lenum.getblock = Распознавание блока и его типа на координатах.\nЕдиница должна находиться в пределах досягаемости.\nТвёрдые не-постройки будут иметь тип [accent]@solid[]. lenum.getblock = Распознавание блока и его типа на координатах.\nЕдиница должна находиться в пределах досягаемости.\nТвёрдые не-постройки будут иметь тип [accent]@solid[].
lenum.within = Проверка на нахождение единицы рядом с позицией. lenum.within = Проверка на нахождение единицы рядом с позицией.
lenum.boost = Включение/выключение полёта. lenum.boost = Включение/выключение полёта.
onset.commandmode = Удерживайте [accent]shift[], чтобы войти в [accent]режим командования[].\n[accent]Щелкните левой кнопкой мыши и выделите область[] для выбора боевых единиц.\n[accent]Щелкните правой кнопкой мыши[], чтобы приказать выбранным единицам двигаться или атаковать.
onset.commandmode.mobile = Нажмите [accent]Командовать[], чтобы войти в [accent]режим командования[].\nЗажмите палец, затем [accent]выделите область[] для выбора боевых единиц.\n[accent]Нажмите[], чтобы приказать выбранным единицам двигаться или атаковать.

View File

@@ -255,6 +255,7 @@ trace = Nadgledaj Igrača
trace.playername = Ime igrača: [accent]{0} trace.playername = Ime igrača: [accent]{0}
trace.ip = IP: [accent]{0} trace.ip = IP: [accent]{0}
trace.id = ID: [accent]{0} trace.id = ID: [accent]{0}
trace.language = Language: [accent]{0}
trace.mobile = Telefonski Klijent: [accent]{0} trace.mobile = Telefonski Klijent: [accent]{0}
trace.modclient = Svojehodni Klijent: [accent]{0} trace.modclient = Svojehodni Klijent: [accent]{0}
trace.times.joined = Puta Povezano: [accent]{0} trace.times.joined = Puta Povezano: [accent]{0}
@@ -952,13 +953,17 @@ stat.healing = Popravlja
ability.forcefield = Polje Sile ability.forcefield = Polje Sile
ability.repairfield = Polje Popravke ability.repairfield = Polje Popravke
ability.statusfield = {0} Statusno Polje ability.statusfield = Statusno Polje
ability.unitspawn = {0} Fabrika ability.unitspawn = Fabrika
ability.shieldregenfield = Brzina Obnove Štita ability.shieldregenfield = Brzina Obnove Štita
ability.movelightning = Munje Pri Kretanju ability.movelightning = Munje Pri Kretanju
ability.shieldarc = Elektrolučni Štit ability.shieldarc = Elektrolučni Štit
ability.suppressionfield = Polje Prigušivanja Popravki ability.suppressionfield = Polje Prigušivanja Popravki
ability.energyfield = Energetsko Polje: [accent]{0}[] štete ~ [accent]{1}[] polja / [accent]{2}[] maksimalnih meta ability.energyfield = Energetsko Polje
ability.energyfield.sametypehealmultiplier = [lightgray]Same Type Healing: [white]{0}%
ability.energyfield.maxtargets = [lightgray]Max Targets: [white]{0}
ability.regen = Regeneration
bar.onlycoredeposit = Dozvoljeno Dostavljanje Samo Unutar Jezgra bar.onlycoredeposit = Dozvoljeno Dostavljanje Samo Unutar Jezgra
bar.drilltierreq = Bolja Bušilica Potrebna bar.drilltierreq = Bolja Bušilica Potrebna
@@ -1099,6 +1104,7 @@ setting.position.name = Prikaži Poziciju Igrača
setting.mouseposition.name = Prilaži Poziciju Miša setting.mouseposition.name = Prilaži Poziciju Miša
setting.musicvol.name = Jačina Muzike setting.musicvol.name = Jačina Muzike
setting.atmosphere.name = Prikaži Atmosferu Planete setting.atmosphere.name = Prikaži Atmosferu Planete
setting.drawlight.name = Draw Darkness/Lighting
setting.ambientvol.name = Jačina Zvuka Ambijenta setting.ambientvol.name = Jačina Zvuka Ambijenta
setting.mutemusic.name = Nema Muzike setting.mutemusic.name = Nema Muzike
setting.sfxvol.name = Jačina Zvučnih Efekata setting.sfxvol.name = Jačina Zvučnih Efekata
@@ -1850,6 +1856,9 @@ onset.enemies = Neprijatelj dolazi, spremite se.
onset.attack = The enemy is vulnerable. Counter-attack. onset.attack = The enemy is vulnerable. Counter-attack.
onset.cores = Nova jezgra se mogu postaviti na [accent]poljima jezgra[].\nNova jezgra funkcionišu kao prednje baze i dele resursni invetar sa ostalim jezgrima.\nPostavi \uf725 jezgro. onset.cores = Nova jezgra se mogu postaviti na [accent]poljima jezgra[].\nNova jezgra funkcionišu kao prednje baze i dele resursni invetar sa ostalim jezgrima.\nPostavi \uf725 jezgro.
onset.detect = Neprijatelj će te primetiti za 2 minuta.\nPostavite odbranu, rudu i proizvodnju. onset.detect = Neprijatelj će te primetiti za 2 minuta.\nPostavite odbranu, rudu i proizvodnju.
onset.commandmode = Drži [accent]shift[] da bi ušao u [accent]komandni mod[].\n[accent]Levi-klik i vuci[] da izabereš jedinice.\n[accent]Desni-klik[] da bi naredio jedinicama da se kreću ili napadaju.
onset.commandmode.mobile = Pritisni [accent]komandno dugme[] da bi ušao [accent]komandni mod[].\nDrži prstom, pritom [accent]vuci[] da izabereš jedinice.\n[accent]Pritisni[] da bi naredio jedinicama da se kreću ili napadaju.
aegis.tungsten = Tungsten can be mined using an [accent]impact drill[].\nThis structure requires [accent]water[] and [accent]power[].
split.pickup = Some blocks can be picked up by the core unit.\nPick up this [accent]container[] and place it onto the [accent]payload loader[].\n(Default keys are [ and ] to pick up and drop) split.pickup = Some blocks can be picked up by the core unit.\nPick up this [accent]container[] and place it onto the [accent]payload loader[].\n(Default keys are [ and ] to pick up and drop)
split.pickup.mobile = Some blocks can be picked up by the core unit.\nPick up this [accent]container[] and place it onto the [accent]payload loader[].\n(To pick up or drop something, long-press it.) split.pickup.mobile = Some blocks can be picked up by the core unit.\nPick up this [accent]container[] and place it onto the [accent]payload loader[].\n(To pick up or drop something, long-press it.)
split.acquire = Moraš preuzeti nešto volframa da bi proizvodio jedinice. split.acquire = Moraš preuzeti nešto volframa da bi proizvodio jedinice.
@@ -2232,6 +2241,8 @@ lst.cutscene = Manipulate the player camera.
lst.setflag = Set a global flag that can be read by all processors. lst.setflag = Set a global flag that can be read by all processors.
lst.getflag = Check if a global flag is set. lst.getflag = Check if a global flag is set.
lst.setprop = Sets a property of a unit or building. lst.setprop = Sets a property of a unit or building.
lst.effect = Create a particle effect.
lst.sync = Sync a variable across the network.\nOnly invoked 10 times a second at most.
logic.nounitbuild = [red]Unit building logic is not allowed here. logic.nounitbuild = [red]Unit building logic is not allowed here.
@@ -2247,6 +2258,7 @@ laccess.dead = Da li je građevina/jedinica mrtva, ili više ne radi.
laccess.controlled = Returns:\n[accent]@ctrlProcessor[] if unit controller is processor\n[accent]@ctrlPlayer[] if unit/building controller is player\n[accent]@ctrlFormation[] if unit is in formation\nOtherwise, 0. laccess.controlled = Returns:\n[accent]@ctrlProcessor[] if unit controller is processor\n[accent]@ctrlPlayer[] if unit/building controller is player\n[accent]@ctrlFormation[] if unit is in formation\nOtherwise, 0.
laccess.progress = Action progress, 0 to 1.\nReturns production, turret reload or construction progress. laccess.progress = Action progress, 0 to 1.\nReturns production, turret reload or construction progress.
laccess.speed = Maksimalna brzina jedinice, u polja/sekundi. laccess.speed = Maksimalna brzina jedinice, u polja/sekundi.
laccess.id = ID of a unit/block/item/liquid.\nThis is the inverse of the lookup operation.
lcategory.unknown = Nepoznato lcategory.unknown = Nepoznato
lcategory.unknown.description = Uncategorized instructions. lcategory.unknown.description = Uncategorized instructions.
lcategory.io = Input & Output lcategory.io = Input & Output
@@ -2367,6 +2379,7 @@ lenum.unbind = Completely disable logic control.\nResume standard AI.
lenum.move = Idi do tačnog mesta. lenum.move = Idi do tačnog mesta.
lenum.approach = Approach a position with a radius. lenum.approach = Approach a position with a radius.
lenum.pathfind = Pathfind to the enemy spawn. lenum.pathfind = Pathfind to the enemy spawn.
lenum.autopathfind = Automatically pathfinds to the nearest enemy core or drop point.\nThis is the same as standard wave enemy pathfinding.
lenum.target = Pucaj na mesto. lenum.target = Pucaj na mesto.
lenum.targetp = Shoot a target with velocity prediction. lenum.targetp = Shoot a target with velocity prediction.
lenum.itemdrop = Drop an item. lenum.itemdrop = Drop an item.
@@ -2380,5 +2393,3 @@ lenum.build = Build a structure.
lenum.getblock = Fetch a building and type at coordinates.\nUnit must be in range of position.\nSolid non-buildings will have the type [accent]@solid[]. lenum.getblock = Fetch a building and type at coordinates.\nUnit must be in range of position.\nSolid non-buildings will have the type [accent]@solid[].
lenum.within = Check if unit is near a position. lenum.within = Check if unit is near a position.
lenum.boost = Start/stop boosting. lenum.boost = Start/stop boosting.
onset.commandmode = Drži [accent]shift[] da bi ušao u [accent]komandni mod[].\n[accent]Levi-klik i vuci[] da izabereš jedinice.\n[accent]Desni-klik[] da bi naredio jedinicama da se kreću ili napadaju.
onset.commandmode.mobile = Pritisni [accent]komandno dugme[] da bi ušao [accent]komandni mod[].\nDrži prstom, pritom [accent]vuci[] da izabereš jedinice.\n[accent]Pritisni[] da bi naredio jedinicama da se kreću ili napadaju.

View File

@@ -251,6 +251,7 @@ trace = Trace Player
trace.playername = Spelarnamn: [accent]{0} trace.playername = Spelarnamn: [accent]{0}
trace.ip = IP: [accent]{0} trace.ip = IP: [accent]{0}
trace.id = Unique ID: [accent]{0} trace.id = Unique ID: [accent]{0}
trace.language = Language: [accent]{0}
trace.mobile = Mobile Client: [accent]{0} trace.mobile = Mobile Client: [accent]{0}
trace.modclient = Custom Client: [accent]{0} trace.modclient = Custom Client: [accent]{0}
trace.times.joined = Times Joined: [accent]{0} trace.times.joined = Times Joined: [accent]{0}
@@ -939,12 +940,16 @@ stat.healing = Healing
ability.forcefield = Force Field ability.forcefield = Force Field
ability.repairfield = Repair Field ability.repairfield = Repair Field
ability.statusfield = Status Field ability.statusfield = Status Field
ability.unitspawn = {0} Factory ability.unitspawn = Factory
ability.shieldregenfield = Shield Regen Field ability.shieldregenfield = Shield Regen Field
ability.movelightning = Movement Lightning ability.movelightning = Movement Lightning
ability.shieldarc = Shield Arc ability.shieldarc = Shield Arc
ability.suppressionfield = Regen Suppression Field ability.suppressionfield = Regen Suppression Field
ability.energyfield = Energy Field: [accent]{0}[] damage ~ [accent]{1}[] blocks / [accent]{2}[] targets ability.energyfield = Energy Field
ability.energyfield.sametypehealmultiplier = [lightgray]Same Type Healing: [white]{0}%
ability.energyfield.maxtargets = [lightgray]Max Targets: [white]{0}
ability.regen = Regeneration
bar.onlycoredeposit = Only Core Depositing Allowed bar.onlycoredeposit = Only Core Depositing Allowed
bar.drilltierreq = Bättre Borr Krävs bar.drilltierreq = Bättre Borr Krävs
@@ -1085,6 +1090,7 @@ setting.position.name = Show Player Position
setting.mouseposition.name = Show Mouse Position setting.mouseposition.name = Show Mouse Position
setting.musicvol.name = Musikvolym setting.musicvol.name = Musikvolym
setting.atmosphere.name = Show Planet Atmosphere setting.atmosphere.name = Show Planet Atmosphere
setting.drawlight.name = Draw Darkness/Lighting
setting.ambientvol.name = Ambient Volume setting.ambientvol.name = Ambient Volume
setting.mutemusic.name = Stäng Av Musik setting.mutemusic.name = Stäng Av Musik
setting.sfxvol.name = Ljudeffektvolym setting.sfxvol.name = Ljudeffektvolym
@@ -1832,6 +1838,9 @@ onset.enemies = Enemy incoming, prepare to defend.
onset.attack = The enemy is vulnerable. Counter-attack. onset.attack = The enemy is vulnerable. Counter-attack.
onset.cores = New cores can be placed on [accent]core tiles[].\nNew cores function as forward bases and share a resource inventory with other cores.\nPlace a \uf725 core. onset.cores = New cores can be placed on [accent]core tiles[].\nNew cores function as forward bases and share a resource inventory with other cores.\nPlace a \uf725 core.
onset.detect = The enemy will be able to detect you in 2 minutes.\nSet up defenses, mining, and production. onset.detect = The enemy will be able to detect you in 2 minutes.\nSet up defenses, mining, and production.
onset.commandmode = Hold [accent]shift[] to enter [accent]command mode[].\n[accent]Left-click and drag[] to select units.\n[accent]Right-click[] to order selected units to move or attack.
onset.commandmode.mobile = Press the [accent]command button[] to enter [accent]command mode[].\nHold down a finger, then [accent]drag[] to select units.\n[accent]Tap[] to order selected units to move or attack.
aegis.tungsten = Tungsten can be mined using an [accent]impact drill[].\nThis structure requires [accent]water[] and [accent]power[].
split.pickup = Some blocks can be picked up by the core unit.\nPick up this [accent]container[] and place it onto the [accent]payload loader[].\n(Default keys are [ and ] to pick up and drop) split.pickup = Some blocks can be picked up by the core unit.\nPick up this [accent]container[] and place it onto the [accent]payload loader[].\n(Default keys are [ and ] to pick up and drop)
split.pickup.mobile = Some blocks can be picked up by the core unit.\nPick up this [accent]container[] and place it onto the [accent]payload loader[].\n(To pick up or drop something, long-press it.) split.pickup.mobile = Some blocks can be picked up by the core unit.\nPick up this [accent]container[] and place it onto the [accent]payload loader[].\n(To pick up or drop something, long-press it.)
split.acquire = You must acquire some tungsten to build units. split.acquire = You must acquire some tungsten to build units.
@@ -2211,6 +2220,8 @@ lst.cutscene = Manipulate the player camera.
lst.setflag = Set a global flag that can be read by all processors. lst.setflag = Set a global flag that can be read by all processors.
lst.getflag = Check if a global flag is set. lst.getflag = Check if a global flag is set.
lst.setprop = Sets a property of a unit or building. lst.setprop = Sets a property of a unit or building.
lst.effect = Create a particle effect.
lst.sync = Sync a variable across the network.\nOnly invoked 10 times a second at most.
logic.nounitbuild = [red]Unit building logic is not allowed here. logic.nounitbuild = [red]Unit building logic is not allowed here.
lenum.type = Type of building/unit.\ne.g. for any router, this will return [accent]@router[].\nNot a string. lenum.type = Type of building/unit.\ne.g. for any router, this will return [accent]@router[].\nNot a string.
lenum.shoot = Shoot at a position. lenum.shoot = Shoot at a position.
@@ -2223,6 +2234,7 @@ laccess.dead = Whether a unit/building is dead or no longer valid.
laccess.controlled = Returns:\n[accent]@ctrlProcessor[] if unit controller is processor\n[accent]@ctrlPlayer[] if unit/building controller is player\n[accent]@ctrlFormation[] if unit is in formation\nOtherwise, 0. laccess.controlled = Returns:\n[accent]@ctrlProcessor[] if unit controller is processor\n[accent]@ctrlPlayer[] if unit/building controller is player\n[accent]@ctrlFormation[] if unit is in formation\nOtherwise, 0.
laccess.progress = Action progress, 0 to 1.\nReturns production, turret reload or construction progress. laccess.progress = Action progress, 0 to 1.\nReturns production, turret reload or construction progress.
laccess.speed = Top speed of a unit, in tiles/sec. laccess.speed = Top speed of a unit, in tiles/sec.
laccess.id = ID of a unit/block/item/liquid.\nThis is the inverse of the lookup operation.
lcategory.unknown = Unknown lcategory.unknown = Unknown
lcategory.unknown.description = Uncategorized instructions. lcategory.unknown.description = Uncategorized instructions.
lcategory.io = Input & Output lcategory.io = Input & Output
@@ -2327,6 +2339,7 @@ lenum.unbind = Completely disable logic control.\nResume standard AI.
lenum.move = Move to exact position. lenum.move = Move to exact position.
lenum.approach = Approach a position with a radius. lenum.approach = Approach a position with a radius.
lenum.pathfind = Pathfind to the enemy spawn. lenum.pathfind = Pathfind to the enemy spawn.
lenum.autopathfind = Automatically pathfinds to the nearest enemy core or drop point.\nThis is the same as standard wave enemy pathfinding.
lenum.target = Shoot a position. lenum.target = Shoot a position.
lenum.targetp = Shoot a target with velocity prediction. lenum.targetp = Shoot a target with velocity prediction.
lenum.itemdrop = Drop an item. lenum.itemdrop = Drop an item.
@@ -2340,5 +2353,3 @@ lenum.build = Build a structure.
lenum.getblock = Fetch a building and type at coordinates.\nUnit must be in range of position.\nSolid non-buildings will have the type [accent]@solid[]. lenum.getblock = Fetch a building and type at coordinates.\nUnit must be in range of position.\nSolid non-buildings will have the type [accent]@solid[].
lenum.within = Check if unit is near a position. lenum.within = Check if unit is near a position.
lenum.boost = Start/stop boosting. lenum.boost = Start/stop boosting.
onset.commandmode = Hold [accent]shift[] to enter [accent]command mode[].\n[accent]Left-click and drag[] to select units.\n[accent]Right-click[] to order selected units to move or attack.
onset.commandmode.mobile = Press the [accent]command button[] to enter [accent]command mode[].\nHold down a finger, then [accent]drag[] to select units.\n[accent]Tap[] to order selected units to move or attack.

View File

@@ -255,6 +255,7 @@ trace = แกะรอยผู้เล่น
trace.playername = ชื่อผู้เล่น: [accent]{0} trace.playername = ชื่อผู้เล่น: [accent]{0}
trace.ip = IP: [accent]{0} trace.ip = IP: [accent]{0}
trace.id = ID: [accent]{0} trace.id = ID: [accent]{0}
trace.language = Language: [accent]{0}
trace.mobile = ไคลเอนต์โทรศัพท์: [accent]{0} trace.mobile = ไคลเอนต์โทรศัพท์: [accent]{0}
trace.modclient = ไคลเอนต์ปรับแต่ง: [accent]{0} trace.modclient = ไคลเอนต์ปรับแต่ง: [accent]{0}
trace.times.joined = ครั้งที่เข้า: [accent]{0} trace.times.joined = ครั้งที่เข้า: [accent]{0}
@@ -952,13 +953,16 @@ stat.healing = การรักษา
ability.forcefield = โล่พลังงาน ability.forcefield = โล่พลังงาน
ability.repairfield = สนามซ่อมแซม ability.repairfield = สนามซ่อมแซม
ability.statusfield = {0} สนามเอฟเฟกต์ ability.statusfield = สนามเอฟเฟกต์
ability.unitspawn = โรงงานผลิต [accent]{0} ability.unitspawn = โรงงานผลิต
ability.shieldregenfield = สนามรักษาโล่ ability.shieldregenfield = สนามรักษาโล่
ability.movelightning = ปล่อยสายฟ้าเมื่อเคลื่อนที่ ability.movelightning = ปล่อยสายฟ้าเมื่อเคลื่อนที่
ability.shieldarc = โล่พลังงานโค้ง ability.shieldarc = โล่พลังงานโค้ง
ability.suppressionfield = สนามระงับการฟื้นฟู ability.suppressionfield = สนามระงับการฟื้นฟู
ability.energyfield = สนามพลังงาน: [accent]{0}[] ดาเมจ ~ [accent]{1}[] บล็อก / [accent]{2}[] เป้าหมาย ability.energyfield = สนามพลังงาน
ability.energyfield.sametypehealmultiplier = [lightgray]Same Type Healing: [white]{0}%
ability.energyfield.maxtargets = [lightgray]Max Targets: [white]{0}
ability.regen = Regeneration
bar.onlycoredeposit = ขนย้ายทรัพยากรลงแกนกลางได้เท่านั้น bar.onlycoredeposit = ขนย้ายทรัพยากรลงแกนกลางได้เท่านั้น
bar.drilltierreq = ต้องมีเครื่องขุดที่ดีกว่านี้ bar.drilltierreq = ต้องมีเครื่องขุดที่ดีกว่านี้
@@ -1099,6 +1103,7 @@ setting.position.name = แสดงตำแหน่งของผู้เ
setting.mouseposition.name = แสดงตำแหน่งเม้าส์ setting.mouseposition.name = แสดงตำแหน่งเม้าส์
setting.musicvol.name = ระดับเสียงเพลง setting.musicvol.name = ระดับเสียงเพลง
setting.atmosphere.name = แสดงชั้นบรรยากาศของดาว setting.atmosphere.name = แสดงชั้นบรรยากาศของดาว
setting.drawlight.name = Draw Darkness/Lighting
setting.ambientvol.name = ระดับเสียงแวดล้อม setting.ambientvol.name = ระดับเสียงแวดล้อม
setting.mutemusic.name = ปิดเสียงเพลง setting.mutemusic.name = ปิดเสียงเพลง
setting.sfxvol.name = ระดับเสียง SFX setting.sfxvol.name = ระดับเสียง SFX
@@ -1858,6 +1863,11 @@ onset.attack = ศัตรูอ่อนแอลงแล้ว ตอบโ
onset.cores = แกนกลางใหม่สามารถวางได้บน[accent]โซนแกนกลาง[]\nแกนกลางใหม่จะทำหน้าที่เป็นฐานทัพหน้าด่านและจะแบ่งปันทรัพยากรกับแกนกลางอื่นๆ\nวาง \uf725 แกนกลาง onset.cores = แกนกลางใหม่สามารถวางได้บน[accent]โซนแกนกลาง[]\nแกนกลางใหม่จะทำหน้าที่เป็นฐานทัพหน้าด่านและจะแบ่งปันทรัพยากรกับแกนกลางอื่นๆ\nวาง \uf725 แกนกลาง
onset.detect = ศัตรูจะสามารถตรวจจับการมีอยู่ของคุณได้ในอีก 2 นาที\nจัดตั้งกองกำลังป้องกัน ปฏิบัติการขุด และการผลิต onset.detect = ศัตรูจะสามารถตรวจจับการมีอยู่ของคุณได้ในอีก 2 นาที\nจัดตั้งกองกำลังป้องกัน ปฏิบัติการขุด และการผลิต
#Don't translate these yet!
onset.commandmode = Hold [accent]shift[] to enter [accent]command mode[].\n[accent]Left-click and drag[] to select units.\n[accent]Right-click[] to order selected units to move or attack.
onset.commandmode.mobile = Press the [accent]command button[] to enter [accent]command mode[].\nHold down a finger, then [accent]drag[] to select units.\n[accent]Tap[] to order selected units to move or attack.
aegis.tungsten = Tungsten can be mined using an [accent]impact drill[].\nThis structure requires [accent]water[] and [accent]power[].
split.pickup = บล็อกบางชนิดสามารถถูกหยิบขึ้นมาได้ด้วยยูนิตแกนกลาง\nบรรทุก[accent]ที่เก็บของ[]นี้มาแล้วเอาไปวางใน[accent]เครื่องโหลดสิ่งบรรทุก[]\n(ปุ่มค่าเริ่มต้นคือ [ สำหรับหยิบและ ] สำหรับวางบล็อก) split.pickup = บล็อกบางชนิดสามารถถูกหยิบขึ้นมาได้ด้วยยูนิตแกนกลาง\nบรรทุก[accent]ที่เก็บของ[]นี้มาแล้วเอาไปวางใน[accent]เครื่องโหลดสิ่งบรรทุก[]\n(ปุ่มค่าเริ่มต้นคือ [ สำหรับหยิบและ ] สำหรับวางบล็อก)
split.pickup.mobile = บล็อกบางชนิดสามารถถูกหยิบขึ้นมาได้ด้วยยูนิตแกนกลาง\nบรรทุก[accent]ตู้เก็บของ[]นี้มาแล้วเอาไปวางใน[accent]เครื่องโหลดสิ่งบรรทุก[]\n(เพื่อจะหยิบหรือวางสิ่งใดๆ ให้กดค้างที่ตำแหน่งที่ต้องการหยิบหรือวาง) split.pickup.mobile = บล็อกบางชนิดสามารถถูกหยิบขึ้นมาได้ด้วยยูนิตแกนกลาง\nบรรทุก[accent]ตู้เก็บของ[]นี้มาแล้วเอาไปวางใน[accent]เครื่องโหลดสิ่งบรรทุก[]\n(เพื่อจะหยิบหรือวางสิ่งใดๆ ให้กดค้างที่ตำแหน่งที่ต้องการหยิบหรือวาง)
split.acquire = คุณต้องหาทังสเตนมาเพื่อสร้างยูนิต split.acquire = คุณต้องหาทังสเตนมาเพื่อสร้างยูนิต
@@ -2248,6 +2258,8 @@ lst.cutscene = ควบคุมมุมกล้องของผู้เ
lst.setflag = เซ็ตธงทั่วโลกที่ตัวประมวลผลทุกตัวสามารถอ่านค่าได้ lst.setflag = เซ็ตธงทั่วโลกที่ตัวประมวลผลทุกตัวสามารถอ่านค่าได้
lst.getflag = เช็กว่าธงทั่วโลกนั้นได้ถูกเซ็ตอยู่รึเปล่า lst.getflag = เช็กว่าธงทั่วโลกนั้นได้ถูกเซ็ตอยู่รึเปล่า
lst.setprop = ตั้งค่าคุณสมบัติของยูนิตและสิ่งก่อสร้าง lst.setprop = ตั้งค่าคุณสมบัติของยูนิตและสิ่งก่อสร้าง
lst.effect = Create a particle effect.
lst.sync = Sync a variable across the network.\nOnly invoked 10 times a second at most.
logic.nounitbuild = [red]ไม่อนุญาตให้ใช้ลอจิกควบคุมให้ยูนิตสร้างที่นี่ logic.nounitbuild = [red]ไม่อนุญาตให้ใช้ลอจิกควบคุมให้ยูนิตสร้างที่นี่
@@ -2263,6 +2275,7 @@ laccess.dead = ว่าสิ่งก่อสร้าง/ยูนิตน
laccess.controlled = จะส่งกลับ:\n[accent]@ctrlProcessor[] ถ้าผู้ควบคุมคือตัวประมวลผลลอจิก\n[accent]@ctrlPlayer[] ถ้าสิ่งก่อสร้าง/ยูนิตถูกควบคุมโดยผู้เล่น\n[accent]@ctrlCommand[] ถ้ายูนิตถูกสั่งการโดยผู้เล่นอยู่\nนอกนั้นจะเป็น 0 laccess.controlled = จะส่งกลับ:\n[accent]@ctrlProcessor[] ถ้าผู้ควบคุมคือตัวประมวลผลลอจิก\n[accent]@ctrlPlayer[] ถ้าสิ่งก่อสร้าง/ยูนิตถูกควบคุมโดยผู้เล่น\n[accent]@ctrlCommand[] ถ้ายูนิตถูกสั่งการโดยผู้เล่นอยู่\nนอกนั้นจะเป็น 0
laccess.progress = ความคืบหน้าการดำเนินการจาก 0 ถึง 1\nจะส่งกลับค่าการผลิต การรีโหลดของป้อมปืน หรือความคืบหน้าในการสร้างสิ่งก่อสร้าง laccess.progress = ความคืบหน้าการดำเนินการจาก 0 ถึง 1\nจะส่งกลับค่าการผลิต การรีโหลดของป้อมปืน หรือความคืบหน้าในการสร้างสิ่งก่อสร้าง
laccess.speed = ความเร็วสูงสุดของยูนิตในหน่วย ช่อง/วินาที laccess.speed = ความเร็วสูงสุดของยูนิตในหน่วย ช่อง/วินาที
laccess.id = ID of a unit/block/item/liquid.\nThis is the inverse of the lookup operation.
lcategory.unknown = ไม่ทราบ lcategory.unknown = ไม่ทราบ
lcategory.unknown.description = คำสั่งที่ไม่อยู่ในหมวดหมู่ใดๆเลย lcategory.unknown.description = คำสั่งที่ไม่อยู่ในหมวดหมู่ใดๆเลย
@@ -2384,6 +2397,7 @@ lenum.unbind = ยกเลิกการควบคุมลอจิกท
lenum.move = ขยับไปที่ตำแหน่งที่กำหนดไว้ lenum.move = ขยับไปที่ตำแหน่งที่กำหนดไว้
lenum.approach = เข้าใกล้ตำแหน่งโดยกำหนดระยะห่าง lenum.approach = เข้าใกล้ตำแหน่งโดยกำหนดระยะห่าง
lenum.pathfind = ขยับไปที่ตำแหน่งที่กำหนดไว้ โดยมีการคำนวณเพื่อเลี่ยงสิ่งกีดขวาง lenum.pathfind = ขยับไปที่ตำแหน่งที่กำหนดไว้ โดยมีการคำนวณเพื่อเลี่ยงสิ่งกีดขวาง
lenum.autopathfind = Automatically pathfinds to the nearest enemy core or drop point.\nThis is the same as standard wave enemy pathfinding.
lenum.target = ยิงไปที่ตำแหน่งเป้าหมาย lenum.target = ยิงไปที่ตำแหน่งเป้าหมาย
lenum.targetp = ยิงไปที่เป้าหมาย โดยมีการคำนวณความเร็ว lenum.targetp = ยิงไปที่เป้าหมาย โดยมีการคำนวณความเร็ว
lenum.itemdrop = ปล่อยไอเท็ม lenum.itemdrop = ปล่อยไอเท็ม
@@ -2397,7 +2411,3 @@ lenum.build = สร้างสิ่งก่อสร้าง
lenum.getblock = ดึงข้อมูลสิ่งก่อสร้างและประเภทของสิ่งก่อสร้างที่ตำแหน่งเป้าหมาย\nยูนิตต้องอยู่ในระยะของตำแหน่ง\nบล็อกตันที่ไม่ใช่สิ่งก่อสร้างจะมีชนิดเป็น [accent]@solid[] lenum.getblock = ดึงข้อมูลสิ่งก่อสร้างและประเภทของสิ่งก่อสร้างที่ตำแหน่งเป้าหมาย\nยูนิตต้องอยู่ในระยะของตำแหน่ง\nบล็อกตันที่ไม่ใช่สิ่งก่อสร้างจะมีชนิดเป็น [accent]@solid[]
lenum.within = ตรวจสอบว่ายูนิตนั้นอยู่ในระยะหรือไม่ lenum.within = ตรวจสอบว่ายูนิตนั้นอยู่ในระยะหรือไม่
lenum.boost = เริ่ม/หยุดการบูสต์ lenum.boost = เริ่ม/หยุดการบูสต์
#Don't translate these yet!
onset.commandmode = Hold [accent]shift[] to enter [accent]command mode[].\n[accent]Left-click and drag[] to select units.\n[accent]Right-click[] to order selected units to move or attack.
onset.commandmode.mobile = Press the [accent]command button[] to enter [accent]command mode[].\nHold down a finger, then [accent]drag[] to select units.\n[accent]Tap[] to order selected units to move or attack.

View File

@@ -251,6 +251,7 @@ trace = Oyuncu isaretle
trace.playername = Player name: [accent]{0} trace.playername = Player name: [accent]{0}
trace.ip = IP: [accent]{0} trace.ip = IP: [accent]{0}
trace.id = Unik ID: [accent]{0} trace.id = Unik ID: [accent]{0}
trace.language = Language: [accent]{0}
trace.mobile = Mobile Client: [accent]{0} trace.mobile = Mobile Client: [accent]{0}
trace.modclient = Ozel islemci Kullanicisi: [accent]{0} trace.modclient = Ozel islemci Kullanicisi: [accent]{0}
trace.times.joined = Times Joined: [accent]{0} trace.times.joined = Times Joined: [accent]{0}
@@ -939,12 +940,16 @@ stat.healing = Healing
ability.forcefield = Force Field ability.forcefield = Force Field
ability.repairfield = Repair Field ability.repairfield = Repair Field
ability.statusfield = Status Field ability.statusfield = Status Field
ability.unitspawn = {0} Factory ability.unitspawn = Factory
ability.shieldregenfield = Shield Regen Field ability.shieldregenfield = Shield Regen Field
ability.movelightning = Movement Lightning ability.movelightning = Movement Lightning
ability.shieldarc = Shield Arc ability.shieldarc = Shield Arc
ability.suppressionfield = Regen Suppression Field ability.suppressionfield = Regen Suppression Field
ability.energyfield = Energy Field: [accent]{0}[] damage ~ [accent]{1}[] blocks / [accent]{2}[] targets ability.energyfield = Energy Field
ability.energyfield.sametypehealmultiplier = [lightgray]Same Type Healing: [white]{0}%
ability.energyfield.maxtargets = [lightgray]Max Targets: [white]{0}
ability.regen = Regeneration
bar.onlycoredeposit = Only Core Depositing Allowed bar.onlycoredeposit = Only Core Depositing Allowed
bar.drilltierreq = Better Drill Required bar.drilltierreq = Better Drill Required
@@ -1085,6 +1090,7 @@ setting.position.name = Show Player Position
setting.mouseposition.name = Show Mouse Position setting.mouseposition.name = Show Mouse Position
setting.musicvol.name = Ses yuksekligi setting.musicvol.name = Ses yuksekligi
setting.atmosphere.name = Show Planet Atmosphere setting.atmosphere.name = Show Planet Atmosphere
setting.drawlight.name = Draw Darkness/Lighting
setting.ambientvol.name = Ambient Volume setting.ambientvol.name = Ambient Volume
setting.mutemusic.name = Sesi kapat setting.mutemusic.name = Sesi kapat
setting.sfxvol.name = Ses seviyesi setting.sfxvol.name = Ses seviyesi
@@ -1832,6 +1838,9 @@ onset.enemies = Enemy incoming, prepare to defend.
onset.attack = The enemy is vulnerable. Counter-attack. onset.attack = The enemy is vulnerable. Counter-attack.
onset.cores = New cores can be placed on [accent]core tiles[].\nNew cores function as forward bases and share a resource inventory with other cores.\nPlace a \uf725 core. onset.cores = New cores can be placed on [accent]core tiles[].\nNew cores function as forward bases and share a resource inventory with other cores.\nPlace a \uf725 core.
onset.detect = The enemy will be able to detect you in 2 minutes.\nSet up defenses, mining, and production. onset.detect = The enemy will be able to detect you in 2 minutes.\nSet up defenses, mining, and production.
onset.commandmode = Hold [accent]shift[] to enter [accent]command mode[].\n[accent]Left-click and drag[] to select units.\n[accent]Right-click[] to order selected units to move or attack.
onset.commandmode.mobile = Press the [accent]command button[] to enter [accent]command mode[].\nHold down a finger, then [accent]drag[] to select units.\n[accent]Tap[] to order selected units to move or attack.
aegis.tungsten = Tungsten can be mined using an [accent]impact drill[].\nThis structure requires [accent]water[] and [accent]power[].
split.pickup = Some blocks can be picked up by the core unit.\nPick up this [accent]container[] and place it onto the [accent]payload loader[].\n(Default keys are [ and ] to pick up and drop) split.pickup = Some blocks can be picked up by the core unit.\nPick up this [accent]container[] and place it onto the [accent]payload loader[].\n(Default keys are [ and ] to pick up and drop)
split.pickup.mobile = Some blocks can be picked up by the core unit.\nPick up this [accent]container[] and place it onto the [accent]payload loader[].\n(To pick up or drop something, long-press it.) split.pickup.mobile = Some blocks can be picked up by the core unit.\nPick up this [accent]container[] and place it onto the [accent]payload loader[].\n(To pick up or drop something, long-press it.)
split.acquire = You must acquire some tungsten to build units. split.acquire = You must acquire some tungsten to build units.
@@ -2211,6 +2220,8 @@ lst.cutscene = Manipulate the player camera.
lst.setflag = Set a global flag that can be read by all processors. lst.setflag = Set a global flag that can be read by all processors.
lst.getflag = Check if a global flag is set. lst.getflag = Check if a global flag is set.
lst.setprop = Sets a property of a unit or building. lst.setprop = Sets a property of a unit or building.
lst.effect = Create a particle effect.
lst.sync = Sync a variable across the network.\nOnly invoked 10 times a second at most.
logic.nounitbuild = [red]Unit building logic is not allowed here. logic.nounitbuild = [red]Unit building logic is not allowed here.
lenum.type = Type of building/unit.\ne.g. for any router, this will return [accent]@router[].\nNot a string. lenum.type = Type of building/unit.\ne.g. for any router, this will return [accent]@router[].\nNot a string.
lenum.shoot = Shoot at a position. lenum.shoot = Shoot at a position.
@@ -2223,6 +2234,7 @@ laccess.dead = Whether a unit/building is dead or no longer valid.
laccess.controlled = Returns:\n[accent]@ctrlProcessor[] if unit controller is processor\n[accent]@ctrlPlayer[] if unit/building controller is player\n[accent]@ctrlFormation[] if unit is in formation\nOtherwise, 0. laccess.controlled = Returns:\n[accent]@ctrlProcessor[] if unit controller is processor\n[accent]@ctrlPlayer[] if unit/building controller is player\n[accent]@ctrlFormation[] if unit is in formation\nOtherwise, 0.
laccess.progress = Action progress, 0 to 1.\nReturns production, turret reload or construction progress. laccess.progress = Action progress, 0 to 1.\nReturns production, turret reload or construction progress.
laccess.speed = Top speed of a unit, in tiles/sec. laccess.speed = Top speed of a unit, in tiles/sec.
laccess.id = ID of a unit/block/item/liquid.\nThis is the inverse of the lookup operation.
lcategory.unknown = Unknown lcategory.unknown = Unknown
lcategory.unknown.description = Uncategorized instructions. lcategory.unknown.description = Uncategorized instructions.
lcategory.io = Input & Output lcategory.io = Input & Output
@@ -2327,6 +2339,7 @@ lenum.unbind = Completely disable logic control.\nResume standard AI.
lenum.move = Move to exact position. lenum.move = Move to exact position.
lenum.approach = Approach a position with a radius. lenum.approach = Approach a position with a radius.
lenum.pathfind = Pathfind to the enemy spawn. lenum.pathfind = Pathfind to the enemy spawn.
lenum.autopathfind = Automatically pathfinds to the nearest enemy core or drop point.\nThis is the same as standard wave enemy pathfinding.
lenum.target = Shoot a position. lenum.target = Shoot a position.
lenum.targetp = Shoot a target with velocity prediction. lenum.targetp = Shoot a target with velocity prediction.
lenum.itemdrop = Drop an item. lenum.itemdrop = Drop an item.
@@ -2340,5 +2353,3 @@ lenum.build = Build a structure.
lenum.getblock = Fetch a building and type at coordinates.\nUnit must be in range of position.\nSolid non-buildings will have the type [accent]@solid[]. lenum.getblock = Fetch a building and type at coordinates.\nUnit must be in range of position.\nSolid non-buildings will have the type [accent]@solid[].
lenum.within = Check if unit is near a position. lenum.within = Check if unit is near a position.
lenum.boost = Start/stop boosting. lenum.boost = Start/stop boosting.
onset.commandmode = Hold [accent]shift[] to enter [accent]command mode[].\n[accent]Left-click and drag[] to select units.\n[accent]Right-click[] to order selected units to move or attack.
onset.commandmode.mobile = Press the [accent]command button[] to enter [accent]command mode[].\nHold down a finger, then [accent]drag[] to select units.\n[accent]Tap[] to order selected units to move or attack.

View File

@@ -255,6 +255,7 @@ trace = Oyuncuyu Takip Et
trace.playername = Oyuncu İsmi: [accent]{0} trace.playername = Oyuncu İsmi: [accent]{0}
trace.ip = IP: [accent]{0} trace.ip = IP: [accent]{0}
trace.id = Özel ID: [accent]{0} trace.id = Özel ID: [accent]{0}
trace.language = Language: [accent]{0}
trace.mobile = Mobil Sürüm: [accent]{0} trace.mobile = Mobil Sürüm: [accent]{0}
trace.modclient = Özel Sürüm: [accent]{0} trace.modclient = Özel Sürüm: [accent]{0}
trace.times.joined = Girme Sayısı: [accent]{0} trace.times.joined = Girme Sayısı: [accent]{0}
@@ -950,12 +951,15 @@ stat.healing = Tamir Eder
ability.forcefield = Güç Kalkanı ability.forcefield = Güç Kalkanı
ability.repairfield = Onarma Alanı ability.repairfield = Onarma Alanı
ability.statusfield = Hızlandırma Alanı ability.statusfield = Hızlandırma Alanı
ability.unitspawn = {0} Birliği Fabrikası ability.unitspawn = Birliği Fabrikası
ability.shieldregenfield = Kalkan Yenileme Alanı ability.shieldregenfield = Kalkan Yenileme Alanı
ability.movelightning = Hareket Enerjisi ability.movelightning = Hareket Enerjisi
ability.shieldarc = Arc Kalkan ability.shieldarc = Arc Kalkan
ability.suppressionfield = Tamir Engelleme Alanı ability.suppressionfield = Tamir Engelleme Alanı
ability.energyfield = Güç Kalkanı: [accent]{0}[] hasar ~ [accent]{1}[] blok / [accent]{2}[] hedef ability.energyfield = Güç Kalkanı
ability.energyfield.sametypehealmultiplier = [lightgray]Same Type Healing: [white]{0}%
ability.energyfield.maxtargets = [lightgray]Max Targets: [white]{0}
ability.regen = Regeneration
bar.onlycoredeposit = Sadece Merkeze Aktarım Mümkün bar.onlycoredeposit = Sadece Merkeze Aktarım Mümkün
bar.drilltierreq = Daha Güçlü Matkap Gerekli bar.drilltierreq = Daha Güçlü Matkap Gerekli
@@ -1096,6 +1100,7 @@ setting.position.name = Oyuncu Noktasını Göster
setting.mouseposition.name = Fareyi Göster setting.mouseposition.name = Fareyi Göster
setting.musicvol.name = Müzik Sesi setting.musicvol.name = Müzik Sesi
setting.atmosphere.name = Gezegen Atmosferini Göster setting.atmosphere.name = Gezegen Atmosferini Göster
setting.drawlight.name = Draw Darkness/Lighting
setting.ambientvol.name = Çevresel Ses setting.ambientvol.name = Çevresel Ses
setting.mutemusic.name = Müziği Kapat setting.mutemusic.name = Müziği Kapat
setting.sfxvol.name = Oyun Sesi setting.sfxvol.name = Oyun Sesi
@@ -1848,6 +1853,9 @@ onset.enemies = DÜŞMAN GELİYO!!! Hazırlan.
onset.attack = Düşman zayıf! Hemen geri dal! onset.attack = Düşman zayıf! Hemen geri dal!
onset.cores = [accent]Merkez Zemin[]lerinin üzerine yeni merkezler inşaa edilebilir.\nTüm merkezler birbirleri ile malzemeleri paylaşır.\n\uf725 Bir çekirdek inşaa et. onset.cores = [accent]Merkez Zemin[]lerinin üzerine yeni merkezler inşaa edilebilir.\nTüm merkezler birbirleri ile malzemeleri paylaşır.\n\uf725 Bir çekirdek inşaa et.
onset.detect = Düşman seni 2 dakika içinde tespit edicek.\nSavunma, maden ve üretime başla. onset.detect = Düşman seni 2 dakika içinde tespit edicek.\nSavunma, maden ve üretime başla.
onset.commandmode = [accent]Shift[] e basılı tutarak [accent]Komuta Modu[]na geç.\n[accent]Sol Tıklayıp sürekleyerek[] birim seç.\n[accent]Sağ Tıklayarak[] Birimleri Yönlendir veya saldırt.
onset.commandmode.mobile = [accent]Komuta Düğmesine[] basarak [accent]Komuta Moduna[] gir.\nBir Parmağını basılı tut ve değirini [accent]sürükle[]yerek birim seç.\n[accent]Tıkla[]yarak birimleri saldırttırabilir veya yönlendirebilirsin.
aegis.tungsten = Tungsten can be mined using an [accent]impact drill[].\nThis structure requires [accent]water[] and [accent]power[].
split.pickup = Bazı bloklar merkez birimi ile taşınabilir.\nBu [accent]Konteyner[]i kaldır ve [accent]Küyle Yükleyici[]ye koy.\n([ ve ] tuşlarını kullan) split.pickup = Bazı bloklar merkez birimi ile taşınabilir.\nBu [accent]Konteyner[]i kaldır ve [accent]Küyle Yükleyici[]ye koy.\n([ ve ] tuşlarını kullan)
split.pickup.mobile = Bazı bloklar merkez birimi ile taşınabilir.\nBu [accent]Konteyner[]i kaldır ve [accent]Küyle Yükleyici[]ye koy.\n(Uzun basarak bir şeyi taşı.) split.pickup.mobile = Bazı bloklar merkez birimi ile taşınabilir.\nBu [accent]Konteyner[]i kaldır ve [accent]Küyle Yükleyici[]ye koy.\n(Uzun basarak bir şeyi taşı.)
split.acquire = Birim üretmek için Tungsten kaz. split.acquire = Birim üretmek için Tungsten kaz.
@@ -2230,6 +2238,8 @@ lst.cutscene = Oyuncu Kamerasını hareket ettir.
lst.setflag = Tüm İşlemciler tarafından okunabilen bir Numara İşaretle. lst.setflag = Tüm İşlemciler tarafından okunabilen bir Numara İşaretle.
lst.getflag = Evrensel İşaretli Numara Oku. lst.getflag = Evrensel İşaretli Numara Oku.
lst.setprop = Sets a property of a unit or building. lst.setprop = Sets a property of a unit or building.
lst.effect = Create a particle effect.
lst.sync = Sync a variable across the network.\nOnly invoked 10 times a second at most.
logic.nounitbuild = [red]Birim İnşası Yasak! logic.nounitbuild = [red]Birim İnşası Yasak!
@@ -2245,6 +2255,7 @@ laccess.dead = Bir bina veya birim hala var mı?
laccess.controlled = Bir birim ne tarafından kontrol ediliyor? laccess.controlled = Bir birim ne tarafından kontrol ediliyor?
laccess.progress = Bir şeyin oluş aşaması, örnek: bir turetin yeniden doldurma süresindeki aşama. laccess.progress = Bir şeyin oluş aşaması, örnek: bir turetin yeniden doldurma süresindeki aşama.
laccess.speed = Bir Birimin Maks hızı, blok/sn. laccess.speed = Bir Birimin Maks hızı, blok/sn.
laccess.id = ID of a unit/block/item/liquid.\nThis is the inverse of the lookup operation.
lcategory.unknown = ??? lcategory.unknown = ???
lcategory.unknown.description = Kategorilenmemiş Talimatlar lcategory.unknown.description = Kategorilenmemiş Talimatlar
lcategory.io = Giriş & Çıkış lcategory.io = Giriş & Çıkış
@@ -2365,6 +2376,7 @@ lenum.unbind = Logic Kontrolü tamaman devre dışı bırak.\nNormal AI ı devre
lenum.move = Tam konuma git. lenum.move = Tam konuma git.
lenum.approach = Bir Konuma yaklaş. lenum.approach = Bir Konuma yaklaş.
lenum.pathfind = Düşman Doğuş noktasına git. lenum.pathfind = Düşman Doğuş noktasına git.
lenum.autopathfind = Automatically pathfinds to the nearest enemy core or drop point.\nThis is the same as standard wave enemy pathfinding.
lenum.target = Bir alana ateş et. lenum.target = Bir alana ateş et.
lenum.targetp = Bir cisme ateş et. lenum.targetp = Bir cisme ateş et.
lenum.itemdrop = Bir itemi bırak. lenum.itemdrop = Bir itemi bırak.
@@ -2378,5 +2390,3 @@ lenum.build = Bina inşa et.
lenum.getblock = Bir bloğun verilerini al. lenum.getblock = Bir bloğun verilerini al.
lenum.within = Bir birim menzil alanında mı? lenum.within = Bir birim menzil alanında mı?
lenum.boost = Boostlamaya başla/dur lenum.boost = Boostlamaya başla/dur
onset.commandmode = [accent]Shift[] e basılı tutarak [accent]Komuta Modu[]na geç.\n[accent]Sol Tıklayıp sürekleyerek[] birim seç.\n[accent]Sağ Tıklayarak[] Birimleri Yönlendir veya saldırt.
onset.commandmode.mobile = [accent]Komuta Düğmesine[] basarak [accent]Komuta Moduna[] gir.\nBir Parmağını basılı tut ve değirini [accent]sürükle[]yerek birim seç.\n[accent]Tıkla[]yarak birimleri saldırttırabilir veya yönlendirebilirsin.

View File

@@ -257,6 +257,7 @@ trace = Стежити за гравцем
trace.playername = Ім’я гравця: [accent]{0} trace.playername = Ім’я гравця: [accent]{0}
trace.ip = IP: [accent]{0} trace.ip = IP: [accent]{0}
trace.id = Ідентифікатор: [accent]{0} trace.id = Ідентифікатор: [accent]{0}
trace.language = Language: [accent]{0}
trace.mobile = Мобільний клієнт: [accent]{0} trace.mobile = Мобільний клієнт: [accent]{0}
trace.modclient = Користувацький клієнт: [accent]{0} trace.modclient = Користувацький клієнт: [accent]{0}
trace.times.joined = Кількість приєднань: [accent]{0} trace.times.joined = Кількість приєднань: [accent]{0}
@@ -960,13 +961,16 @@ stat.healing = Відновлювання
ability.forcefield = Щитове поле ability.forcefield = Щитове поле
ability.repairfield = Ремонтувальне поле ability.repairfield = Ремонтувальне поле
ability.statusfield = {0} Поле підсилення ability.statusfield = Поле підсилення
ability.unitspawn = Завод одиниць «{0}» ability.unitspawn = Завод одиниць <EFBFBD>
ability.shieldregenfield = Щитовідновлювальне поле ability.shieldregenfield = Щитовідновлювальне поле
ability.movelightning = Блискавки під час руху ability.movelightning = Блискавки під час руху
ability.shieldarc = Щитова дуга ability.shieldarc = Щитова дуга
ability.suppressionfield = Поле пригнічення відновлення ability.suppressionfield = Поле пригнічення відновлення
ability.energyfield = Енергетичне поле: [accent]{0}[] шкоди ~ [accent]{1}[] блоків / [accent]{2}[] цілей ability.energyfield = Енергетичне поле
ability.energyfield.sametypehealmultiplier = [lightgray]Same Type Healing: [white]{0}%
ability.energyfield.maxtargets = [lightgray]Max Targets: [white]{0}
ability.regen = Regeneration
bar.onlycoredeposit = Передача предметів дозволена лише до ядра bar.onlycoredeposit = Передача предметів дозволена лише до ядра
bar.drilltierreq = Потрібен ліпший бур bar.drilltierreq = Потрібен ліпший бур
@@ -1107,6 +1111,7 @@ setting.position.name = Показувати координати гравця
setting.mouseposition.name = Показувати координати курсора setting.mouseposition.name = Показувати координати курсора
setting.musicvol.name = Гучність музики setting.musicvol.name = Гучність музики
setting.atmosphere.name = Показувати планетарну атмосферу setting.atmosphere.name = Показувати планетарну атмосферу
setting.drawlight.name = Draw Darkness/Lighting
setting.ambientvol.name = Звуки довкілля setting.ambientvol.name = Звуки довкілля
setting.mutemusic.name = Заглушити музику setting.mutemusic.name = Заглушити музику
setting.sfxvol.name = Гучність звукових ефектів setting.sfxvol.name = Гучність звукових ефектів
@@ -1865,6 +1870,11 @@ onset.attack = Ворог беззахисний. Контратакуйте.
onset.cores = Нові ядра можуть бути розміщені на плитках [accent]зони ядра[].\nНові ядра функціонують як передові бази й мають спільний інвентар ресурсів з іншими ядрами.\nРозмістіть \uf725 ядро. onset.cores = Нові ядра можуть бути розміщені на плитках [accent]зони ядра[].\nНові ядра функціонують як передові бази й мають спільний інвентар ресурсів з іншими ядрами.\nРозмістіть \uf725 ядро.
onset.detect = Ворог зможе виявити вас за 2 хвилини.\nОрганізуйте оборону, видобуток корисних копалин та виробництво. onset.detect = Ворог зможе виявити вас за 2 хвилини.\nОрганізуйте оборону, видобуток корисних копалин та виробництво.
#Don't translate these yet!
onset.commandmode = Утримуйте [accent]Shift[], щоб увійти в [accent]режим командування[].\n[accent]Зажміть ЛКМ і потягніть,[] щоб обрати одиниці.\n[accent]Використовуйте ПКМ[], щоби наказати обраним одиницям рухатися чи атакувати.
onset.commandmode.mobile = Натисніть кнопку [accent]Командувати[], щоб увійти [accent]в режим командування[].\nУтримуйте палець і [accent]потягніть[], щоб обрати одиниці.\n[accent] Зробіть коротке натискання[], щоби наказати обраним одиницям рухатися чи атакувати.
aegis.tungsten = Tungsten can be mined using an [accent]impact drill[].\nThis structure requires [accent]water[] and [accent]power[].
split.pickup = Деякі блоки можуть бути підібрані основною ядровою одиницею.\nПідніміть цей [accent]контейнер[] і помістіть його до [accent]вантажного завантажувача[].\n(Клавіші за замовчуванням - [[ і ] для підняття та скидання) split.pickup = Деякі блоки можуть бути підібрані основною ядровою одиницею.\nПідніміть цей [accent]контейнер[] і помістіть його до [accent]вантажного завантажувача[].\n(Клавіші за замовчуванням - [[ і ] для підняття та скидання)
split.pickup.mobile = Деякі блоки можуть бути підібрані основною ядровою одиницею.\nПідніміть цей [accent]контейнер[] і помістіть його до [accent]вантажного завантажувача[].\n(Щоб підняти або скинути щось, довго натискайте на це щось.) split.pickup.mobile = Деякі блоки можуть бути підібрані основною ядровою одиницею.\nПідніміть цей [accent]контейнер[] і помістіть його до [accent]вантажного завантажувача[].\n(Щоб підняти або скинути щось, довго натискайте на це щось.)
split.acquire = Ви повинні дістати трохи вольфраму, щоби побудувати одиниці. split.acquire = Ви повинні дістати трохи вольфраму, щоби побудувати одиниці.
@@ -2255,6 +2265,8 @@ lst.cutscene = Керує камерою гравця.
lst.setflag = Установлює глобальний прапорець, який можуть прочитати усі процесори. lst.setflag = Установлює глобальний прапорець, який можуть прочитати усі процесори.
lst.getflag = Перевіряє, чи встановлено глобальний прапорець. lst.getflag = Перевіряє, чи встановлено глобальний прапорець.
lst.setprop = Установлює властивість одиниці чи будівлі. lst.setprop = Установлює властивість одиниці чи будівлі.
lst.effect = Create a particle effect.
lst.sync = Sync a variable across the network.\nOnly invoked 10 times a second at most.
logic.nounitbuild = [red]Будування за допомогою процесорів заборено. logic.nounitbuild = [red]Будування за допомогою процесорів заборено.
@@ -2270,6 +2282,7 @@ laccess.dead = Чи є одиниця або будівля мертвою аб
laccess.controlled = Повертає \n[accent]@ctrlProcessor[] якщо одиниця контролюється процесором;\n[accent]@ctrlPlayer[] якщо одиниця чи будівля контролюєть гравцем\n[accent]@ctrlFormation[] якщо одиниця у загоні (формуванні)\nІнакше — 0. laccess.controlled = Повертає \n[accent]@ctrlProcessor[] якщо одиниця контролюється процесором;\n[accent]@ctrlPlayer[] якщо одиниця чи будівля контролюєть гравцем\n[accent]@ctrlFormation[] якщо одиниця у загоні (формуванні)\nІнакше — 0.
laccess.progress = Прогрес дії, від 0 до 1.\nПовертає виробництво, перезавантаження башти або хід будівництва. laccess.progress = Прогрес дії, від 0 до 1.\nПовертає виробництво, перезавантаження башти або хід будівництва.
laccess.speed = Максимальна швидкість одиниці, у плитках за секунду. laccess.speed = Максимальна швидкість одиниці, у плитках за секунду.
laccess.id = ID of a unit/block/item/liquid.\nThis is the inverse of the lookup operation.
lcategory.unknown = Невідома категорія lcategory.unknown = Невідома категорія
lcategory.unknown.description = Команди без категорії. lcategory.unknown.description = Команди без категорії.
@@ -2391,6 +2404,7 @@ lenum.unbind = Повністю вимикає усю логіку.\nПродо
lenum.move = Перемістити в точне положення. lenum.move = Перемістити в точне положення.
lenum.approach = Наближення до позиції із зазначеним радіусом. lenum.approach = Наближення до позиції із зазначеним радіусом.
lenum.pathfind = Знайдення шляху до точки появи ворогів. lenum.pathfind = Знайдення шляху до точки появи ворогів.
lenum.autopathfind = Automatically pathfinds to the nearest enemy core or drop point.\nThis is the same as standard wave enemy pathfinding.
lenum.target = Стрільба в задану позицію. lenum.target = Стрільба в задану позицію.
lenum.targetp = Стріляти в ціль із передбаченням швидкості. lenum.targetp = Стріляти в ціль із передбаченням швидкості.
lenum.itemdrop = Викинути предмет. lenum.itemdrop = Викинути предмет.
@@ -2404,7 +2418,3 @@ lenum.build = Побудувати будівлю.
lenum.getblock = Розпізнавання блока та його типа за координатами.\nОдиниця повинна знаходитися в межах досяжності.\nСуцільні не-будівлі матимуть тип [accent]@solid[]. lenum.getblock = Розпізнавання блока та його типа за координатами.\nОдиниця повинна знаходитися в межах досяжності.\nСуцільні не-будівлі матимуть тип [accent]@solid[].
lenum.within = Чи знаходиться одиниця біля позиції. lenum.within = Чи знаходиться одиниця біля позиції.
lenum.boost = Почати чи зупинити політ. lenum.boost = Почати чи зупинити політ.
#Don't translate these yet!
onset.commandmode = Утримуйте [accent]Shift[], щоб увійти в [accent]режим командування[].\n[accent]Зажміть ЛКМ і потягніть,[] щоб обрати одиниці.\n[accent]Використовуйте ПКМ[], щоби наказати обраним одиницям рухатися чи атакувати.
onset.commandmode.mobile = Натисніть кнопку [accent]Командувати[], щоб увійти [accent]в режим командування[].\nУтримуйте палець і [accent]потягніть[], щоб обрати одиниці.\n[accent] Зробіть коротке натискання[], щоби наказати обраним одиницям рухатися чи атакувати.

View File

@@ -88,7 +88,7 @@ stats.wave = Đợt đã vượt qua
stats.unitsCreated = Số đơn vị đã tạo stats.unitsCreated = Số đơn vị đã tạo
stats.enemiesDestroyed = Số kẻ địch đã tiêu diệt stats.enemiesDestroyed = Số kẻ địch đã tiêu diệt
stats.built = Số công trình đã xây stats.built = Số công trình đã xây
stats.destroyed = Số công trình bị phá huỷ stats.destroyed = Số công trình bị phá hủy
stats.deconstructed = Số công trình đã phá dỡ stats.deconstructed = Số công trình đã phá dỡ
stats.playtime = Thời gian chơi stats.playtime = Thời gian chơi
@@ -256,18 +256,19 @@ trace = Tìm người chơi
trace.playername = Tên người chơi: [accent]{0} trace.playername = Tên người chơi: [accent]{0}
trace.ip = IP: [accent]{0} trace.ip = IP: [accent]{0}
trace.id = ID: [accent]{0} trace.id = ID: [accent]{0}
trace.mobile = Mobile Client: [accent]{0} trace.language = Language: [accent]{0}
trace.modclient = Client tùy chỉnh: [accent]{0} trace.mobile = Máy khách di động: [accent]{0}
trace.modclient = Máy khách tùy chỉnh: [accent]{0}
trace.times.joined = Số lần tham gia: [accent]{0} trace.times.joined = Số lần tham gia: [accent]{0}
trace.times.kicked = Số lần bị buộc rời: [accent]{0} trace.times.kicked = Số lần bị buộc rời: [accent]{0}
trace.ips = IPs: trace.ips = Các IP:
trace.names = Names: trace.names = Các tên:
invalidid = Client ID không hợp lệ! Vui lòng gửi báo cáo lỗi. invalidid = Định danh máy khách không hợp lệ! Vui lòng gửi báo cáo lỗi.
player.ban = Ban player.ban = Cấm
player.kick = Kick player.kick = Đá
player.trace = Trace player.trace = Truy vết
player.admin = Toggle Admin player.admin = Hoán đổi quản trị viên
player.team = Change Team player.team = Đổi đội
server.bans = Cấm server.bans = Cấm
server.bans.none = Không có người chơi nào bị cấm! server.bans.none = Không có người chơi nào bị cấm!
server.admins = Quản trị viên server.admins = Quản trị viên
@@ -278,14 +279,14 @@ server.edit = Chỉnh sửa máy chủ
server.outdated = [scarlet]Máy chủ lỗi thời![] server.outdated = [scarlet]Máy chủ lỗi thời![]
server.outdated.client = [scarlet]Trò chơi lỗi thời![] server.outdated.client = [scarlet]Trò chơi lỗi thời![]
server.version = [gray]v{0} {1} server.version = [gray]v{0} {1}
server.custombuild = [accent]Phiên bản tùy chỉnh server.custombuild = [accent]Bản dựng tùy chỉnh
confirmban = Bạn có chắc chắn muốn cấm "{0}[white]"? confirmban = Bạn có chắc chắn muốn cấm "{0}[white]"?
confirmkick = Bạn có chắc chắn muốn buộc "{0}[white]" rời? confirmkick = Bạn có chắc chắn muốn buộc "{0}[white]" rời?
confirmunban = Bạn có chắc chắn muốn gỡ cấm người chơi này? confirmunban = Bạn có chắc chắn muốn gỡ cấm người chơi này?
confirmadmin = Bạn có chắc chắn muốn thêm "{0}[white]" làm quản trị viên? confirmadmin = Bạn có chắc chắn muốn thêm "{0}[white]" làm quản trị viên?
confirmunadmin = Bạn có chắc chắn muốn xóa quyền quản trị viên của "{0}[white]"? confirmunadmin = Bạn có chắc chắn muốn xóa quyền quản trị viên của "{0}[white]"?
votekick.reason = Vote-Kick Reason votekick.reason = Lý do bỏ phiếu đá
votekick.reason.message = Are you sure you want to vote-kick "{0}[white]"?\nIf yes, please enter the reason: votekick.reason.message = Bạn có chắc muốn bỏ phiếu đá "{0}[white]"?\nNếu có, xin hãy nhập lý do:
joingame.title = Tham gia trò chơi joingame.title = Tham gia trò chơi
joingame.ip = Địa chỉ: joingame.ip = Địa chỉ:
disconnect = Ngắt kết nối. disconnect = Ngắt kết nối.
@@ -378,14 +379,14 @@ wave = [accent]Đợt {0}
wave.cap = [accent]Đợt {0}/{1} wave.cap = [accent]Đợt {0}/{1}
wave.waiting = [lightgray]Kẻ địch xuất hiện sau {0} wave.waiting = [lightgray]Kẻ địch xuất hiện sau {0}
wave.waveInProgress = [lightgray]Địch đang xuất hiện. wave.waveInProgress = [lightgray]Địch đang xuất hiện.
waiting = [lightgray]Chờ... waiting = [lightgray]Đang chờ...
waiting.players = Đang chờ thêm người chơi... waiting.players = Đang chờ thêm người chơi...
wave.enemies = [lightgray]{0} Kẻ địch còn lại wave.enemies = [lightgray]{0} Kẻ địch còn lại
wave.enemycores = [accent]{0}[lightgray] Căn cứ địch wave.enemycores = [accent]{0}[lightgray] Căn cứ địch
wave.enemycore = [accent]{0}[lightgray] Căn cứ địch wave.enemycore = [accent]{0}[lightgray] Căn cứ địch
wave.enemy = [lightgray]{0} Kẻ địch còn lại wave.enemy = [lightgray]{0} Kẻ địch còn lại
wave.guardianwarn = Boss sẽ xuất hiện sau [accent]{0}[] đợt. wave.guardianwarn = Trùm sẽ xuất hiện sau [accent]{0}[] đợt.
wave.guardianwarn.one = Boss sẽ xuất hiện sau [accent]{0}[] đợt. wave.guardianwarn.one = Trùm sẽ xuất hiện sau [accent]{0}[] đợt.
loadimage = Tải hình ảnh loadimage = Tải hình ảnh
saveimage = Lưu hình ảnh saveimage = Lưu hình ảnh
unknown = Không xác định unknown = Không xác định
@@ -394,8 +395,8 @@ builtin = Xây trong
map.delete.confirm = Bạn có chắc chắn muốn xóa bản đồ này không? Hành động này không thể hoàn tác! map.delete.confirm = Bạn có chắc chắn muốn xóa bản đồ này không? Hành động này không thể hoàn tác!
map.random = [accent]Bản đồ ngẫu nhiên map.random = [accent]Bản đồ ngẫu nhiên
map.nospawn = Bản đồ này không có bất kỳ căn cứ nào để người chơi hồi sinh! Thêm một căn cứ {0} vào bản đồ ở trình chỉnh sửa. map.nospawn = Bản đồ này không có bất kỳ căn cứ nào để người chơi hồi sinh! Thêm một căn cứ {0} vào bản đồ ở trình chỉnh sửa.
map.nospawn.pvp = Bản đồ này không có bất kỳ căn cứ kẻ thù nào để người chơi hồi sinh! Thêm một căn cứ khác màu [scarlet]cam[] vào bản đồ ở trình chỉnh sửa. map.nospawn.pvp = Bản đồ này không có bất kỳ căn cứ kẻ thù nào để người chơi hồi sinh! Thêm một căn cứ[scarlet] không phải màu cam[] vào bản đồ ở trình chỉnh sửa.
map.nospawn.attack = Bản đồ này không có bất kỳ căn cứ kẻ thù nào để người chơi tấn công! Thêm một căn cứ màu {0} vào bản đồ ở trình chỉnh sửa. map.nospawn.attack = Bản đồ này không có bất kỳ căn cứ kẻ thù nào để người chơi tấn công! Thêm một căn cứ {0} vào bản đồ ở trình chỉnh sửa.
map.invalid = Lỗi khi tải bản đồ: tệp bản đồ bị hỏng hoặc không hợp lệ. map.invalid = Lỗi khi tải bản đồ: tệp bản đồ bị hỏng hoặc không hợp lệ.
workshop.update = Cập nhật mục workshop.update = Cập nhật mục
workshop.error = Lỗi khi tìm nạp thông tin chi tiết ở workshop: {0} workshop.error = Lỗi khi tìm nạp thông tin chi tiết ở workshop: {0}
@@ -678,12 +679,12 @@ launch.capacity = Lượng vật phẩm tối đa có thể phóng: [accent]{0}
launch.destination = Đích đến: {0} launch.destination = Đích đến: {0}
configure.invalid = Số lượng phải là số trong khoảng 0 đến {0}. configure.invalid = Số lượng phải là số trong khoảng 0 đến {0}.
add = Thêm... add = Thêm...
guardian = Boss guardian = Trùm
connectfail = [scarlet]Lỗi kết nối:\n\n[accent]{0} connectfail = [scarlet]Lỗi kết nối:\n\n[accent]{0}
error.unreachable = Không thể truy cập máy chủ.\nKiểm tra lại xem địa chỉ có đúng không? error.unreachable = Không thể truy cập máy chủ.\nKiểm tra lại xem địa chỉ có đúng không?
error.invalidaddress = Địa chỉ không hợp lệ. error.invalidaddress = Địa chỉ không hợp lệ.
error.timedout = Hết thời gian chờ!\nĐảm bảo máy chủ đã thiết lập port forwarding, và địa chỉ đó là chính xác! error.timedout = Hết thời gian chờ!\nĐảm bảo máy chủ đã thiết lập điều hướng cổng, và địa chỉ đó là chính xác!
error.mismatch = Lỗi packet:\nphiên bản máy khách / máy chủ có thể không khớp.\nĐảm bảo bạn và máy chủ có phiên bản Mindustry mới nhất! error.mismatch = Lỗi packet:\nphiên bản máy khách / máy chủ có thể không khớp.\nĐảm bảo bạn và máy chủ có phiên bản Mindustry mới nhất!
error.alreadyconnected = Đã kết nối. error.alreadyconnected = Đã kết nối.
error.mapnotfound = Không tìm thấy tệp bản đồ! error.mapnotfound = Không tìm thấy tệp bản đồ!
@@ -953,13 +954,16 @@ stat.healing = Sửa chữa
ability.forcefield = Tạo khiên ability.forcefield = Tạo khiên
ability.repairfield = Sửa chữa/Xây dựng ability.repairfield = Sửa chữa/Xây dựng
ability.statusfield = {0} Vùng gia tốc ability.statusfield = Vùng gia tốc
ability.unitspawn = Sản xuất {0} ability.unitspawn = Sản xuất
ability.shieldregenfield = Tạo khiên nhỏ ability.shieldregenfield = Tạo khiên nhỏ
ability.movelightning = Phóng điện khi di chuyển ability.movelightning = Phóng điện khi di chuyển
ability.shieldarc = Khiên Vòng Cung ability.shieldarc = Khiên Vòng Cung
ability.suppressionfield = Trường sửa chữa ability.suppressionfield = Trường sửa chữa
ability.energyfield = Trường điện từ: [accent]{0}[] sát thương ~ [accent]{1}[] khối / [accent]{2}[] mục tiêu ability.energyfield = Trường điện từ
ability.energyfield.sametypehealmultiplier = [lightgray]Same Type Healing: [white]{0}%
ability.energyfield.maxtargets = [lightgray]Max Targets: [white]{0}
ability.regen = Regeneration
bar.onlycoredeposit = Chỉ có thể đưa vào căn cứ bar.onlycoredeposit = Chỉ có thể đưa vào căn cứ
bar.drilltierreq = Cần máy khoan tốt hơn bar.drilltierreq = Cần máy khoan tốt hơn
@@ -1100,6 +1104,7 @@ setting.position.name = Hiển thị vị trí người chơi
setting.mouseposition.name = Hiện vị trí trỏ chuột setting.mouseposition.name = Hiện vị trí trỏ chuột
setting.musicvol.name = Âm lượng nhạc setting.musicvol.name = Âm lượng nhạc
setting.atmosphere.name = Hiển thị bầu khí quyển hành tinh setting.atmosphere.name = Hiển thị bầu khí quyển hành tinh
setting.drawlight.name = Draw Darkness/Lighting
setting.ambientvol.name = Âm lượng tổng setting.ambientvol.name = Âm lượng tổng
setting.mutemusic.name = Tắt nhạc setting.mutemusic.name = Tắt nhạc
setting.sfxvol.name = Âm lượng SFX setting.sfxvol.name = Âm lượng SFX
@@ -1309,9 +1314,9 @@ liquid.cryofluid.name = Chất làm lạnh
liquid.neoplasm.name = Dị thể liquid.neoplasm.name = Dị thể
liquid.arkycite.name = Arkycite liquid.arkycite.name = Arkycite
liquid.gallium.name = Thuỷ Ngân liquid.gallium.name = Thuỷ Ngân
liquid.ozone.name = Khí Ô-zôn liquid.ozone.name = Ô-zôn
liquid.hydrogen.name = Khí Hy-dro liquid.hydrogen.name = Hy-dro lỏng
liquid.nitrogen.name = Khí Ni-tơ liquid.nitrogen.name = Ni-tơ lỏng
liquid.cyanogen.name = Cyanogen liquid.cyanogen.name = Cyanogen
unit.dagger.name = Dagger unit.dagger.name = Dagger
@@ -1801,7 +1806,7 @@ hint.payloadDrop = Nhấn [accent]][] để thả một vật phẩm.
hint.payloadDrop.mobile = [accent]Nhấn và giữ[] tại một khu vực trống để thả vật phẩm. hint.payloadDrop.mobile = [accent]Nhấn và giữ[] tại một khu vực trống để thả vật phẩm.
hint.waveFire = [accent]Wave[] súng có nước làm đạn dược sẽ tự động dập tắt các đám cháy gần đó. hint.waveFire = [accent]Wave[] súng có nước làm đạn dược sẽ tự động dập tắt các đám cháy gần đó.
hint.generator = \uf879 [accent]Máy phát điện đốt cháy[] đốt than và truyền năng lượng cho các khối liền kề.\n\nPhạm vi truyền tải năng lượng có thể được mở rộng với \uf87f [accent]Chốt điện[]. hint.generator = \uf879 [accent]Máy phát điện đốt cháy[] đốt than và truyền năng lượng cho các khối liền kề.\n\nPhạm vi truyền tải năng lượng có thể được mở rộng với \uf87f [accent]Chốt điện[].
hint.guardian = [accent]Boss[] được bọc giáp. Sử dụng loại đạn yếu chẳng hạn như [accent]Đồng[] và [accent]Chì[] là [scarlet]không hiệu quả[].\n\nSử dụng súng tiên tiến hơn hoặc sử dụng \uf835 [accent]Than chì làm đạn [] \uf861Duo/\uf859Salvo đạn dược để hạ gục Boss. hint.guardian = [accent]Trùm[] được bọc giáp. Sử dụng loại đạn yếu chẳng hạn như [accent]Đồng[] và [accent]Chì[] là [scarlet]không hiệu quả[].\n\nSử dụng súng tiên tiến hơn hoặc sử dụng \uf835 [accent]Than chì làm đạn [] \uf861Duo/\uf859Salvo đạn dược để hạ gục Trùm.
hint.coreUpgrade = Các căn cứ có thể được nâng cấp bằng cách [accent]đặt căn cứ cấp cao hơn trên chúng[].\n\nĐặt một căn cứ \uf868 [accent]Trụ sở[] trên căn cứ \uf869 [accent]Cơ sở[]. Đảm bảo không có vật cản gần đó. hint.coreUpgrade = Các căn cứ có thể được nâng cấp bằng cách [accent]đặt căn cứ cấp cao hơn trên chúng[].\n\nĐặt một căn cứ \uf868 [accent]Trụ sở[] trên căn cứ \uf869 [accent]Cơ sở[]. Đảm bảo không có vật cản gần đó.
hint.presetLaunch = Khác khu vực đáp [accent] xám[], như [accent]Frozen Forest[], có thể được phóng đến từ bất cứ đâu. Nó không yêu cầu chiếm các khu vực lân cận.\n\n[accent]Các khu vực được đánh số[], chẳng hạn như cái này, là [accent]không bắt buộc[]. hint.presetLaunch = Khác khu vực đáp [accent] xám[], như [accent]Frozen Forest[], có thể được phóng đến từ bất cứ đâu. Nó không yêu cầu chiếm các khu vực lân cận.\n\n[accent]Các khu vực được đánh số[], chẳng hạn như cái này, là [accent]không bắt buộc[].
hint.presetDifficulty = Khu vực này có [scarlet]mối đe dọa cao[].\nPhóng đến khu vực như vậy [accent]không được khuyến khích[] nếu không có công nghệ và chuẩn bị phù hợp. hint.presetDifficulty = Khu vực này có [scarlet]mối đe dọa cao[].\nPhóng đến khu vực như vậy [accent]không được khuyến khích[] nếu không có công nghệ và chuẩn bị phù hợp.
@@ -1849,6 +1854,9 @@ onset.enemies = Quân địch đang đến, hãy chuẩn bị phòng thủ.
onset.attack = Quân địch đã suy yếu.\nHãy phản công. onset.attack = Quân địch đã suy yếu.\nHãy phản công.
onset.cores = Các căn cứ có thể được đặt trên [accent]ô căn cứ[].\nCác căn cứ mới có thể được đặt ở bất kỳ đâu trên bản đồ.\nĐặt một \uf725 căn cứ. onset.cores = Các căn cứ có thể được đặt trên [accent]ô căn cứ[].\nCác căn cứ mới có thể được đặt ở bất kỳ đâu trên bản đồ.\nĐặt một \uf725 căn cứ.
onset.detect = Quân địch sẽ phát hiện bạn trong vòng 2 phút.\nHãy chuẩn bị phòng thủ, khai thác và sản xuất. onset.detect = Quân địch sẽ phát hiện bạn trong vòng 2 phút.\nHãy chuẩn bị phòng thủ, khai thác và sản xuất.
onset.commandmode = Giữ [accent]Shift[] để vào [accent]chế độ điều khiển quân[].\n[accent]Nhấp chuột trái và kéo[] để chọn các đơn vị.\n[accent]Chuộc phải[] để điều khiển các đơn vị di chuyển hoặc tấn công.
onset.commandmode.mobile = Nhấn vào [accent]nút điều khiển[] để vào [accent]chế độ điều khiển quân[].\nGiữ một ngón tay, sau đó [accent]kéo[] để chọn các đơn vị.\n[accent]Nhấp[] để điều khiển các đơn vị di chuyển hoặc tấn công.
aegis.tungsten = Tungsten can be mined using an [accent]impact drill[].\nThis structure requires [accent]water[] and [accent]power[].
split.pickup = Một số khối có thể được mang bởi đơn vị.\nNhấp vào [accent]container[] và đặt nó lên [accent]máy nạp vật phẩm[].\n(Phím mặc định là [ và ] để mang và thả) split.pickup = Một số khối có thể được mang bởi đơn vị.\nNhấp vào [accent]container[] và đặt nó lên [accent]máy nạp vật phẩm[].\n(Phím mặc định là [ và ] để mang và thả)
split.pickup.mobile = Một số khối có thể được mang bởi đơn vị.\nNhấp vào [accent]container[] và đặt nó lên [accent]máy nạp vật phẩm[].\n(Để mang hoặc thả một khối, ấn giữ nó một chút.) split.pickup.mobile = Một số khối có thể được mang bởi đơn vị.\nNhấp vào [accent]container[] và đặt nó lên [accent]máy nạp vật phẩm[].\n(Để mang hoặc thả một khối, ấn giữ nó một chút.)
split.acquire = Bạn cần một số tungsten để sản xuất đơn vị. split.acquire = Bạn cần một số tungsten để sản xuất đơn vị.
@@ -1891,7 +1899,7 @@ liquid.hydrogen.description = Được sử dụng trong khai thác tài nguyên
liquid.cyanogen.description = Được sử dụng cho đạn dược, xây dựng các đơn vị tiên tiến và các phản ứng khác nhau trong các khối tiên tiến. Rất dễ cháy. liquid.cyanogen.description = Được sử dụng cho đạn dược, xây dựng các đơn vị tiên tiến và các phản ứng khác nhau trong các khối tiên tiến. Rất dễ cháy.
liquid.nitrogen.description = Được sử dụng trong khai thác tài nguyên, tạo khí và sản xuất đơn vị. Trơ. liquid.nitrogen.description = Được sử dụng trong khai thác tài nguyên, tạo khí và sản xuất đơn vị. Trơ.
liquid.neoplasm.description = Một sản phẩm phụ sinh học nguy hiểm của lò phản ứng Neoplasia. Lan nhanh sang bất kì khối chứa nước nào mà nó chạm vào và gây hư hại chúng. Nhớt. liquid.neoplasm.description = Một sản phẩm phụ sinh học nguy hiểm của lò phản ứng Neoplasia. Lan nhanh sang bất kì khối chứa nước nào mà nó chạm vào và gây hư hại chúng. Nhớt.
liquid.neoplasm.details = Neoplasm. Một khối lượng các tế bào tổng hợp phân chia nhanh chóng không kiểm soát với độ đặc giống như bùn. Kháng nhiệt. Cực kì nguy hiểm cho bất cứ khối nào có liên quan đến nước.\n\nQuá phức tạp và không ổn định để được phân tích. Chưa rõ được tiềm năng và ứng dụng của nó. Khuyến nghị đốt chúng trong các lò xỉ nóng chảy liquid.neoplasm.details = Neoplasm. Một khối lượng các tế bào tổng hợp phân chia nhanh chóng không kiểm soát với độ đặc giống như bùn. Kháng nhiệt. Cực kì nguy hiểm cho bất cứ khối nào có liên quan đến nước.\n\nQuá phức tạp và không ổn định để được phân tích. Chưa rõ được tiềm năng và ứng dụng của nó. Khuyến nghị đốt chúng trong xỉ nóng chảy
block.derelict = \uf77e [lightgray]Không xác định block.derelict = \uf77e [lightgray]Không xác định
block.armored-conveyor.description = Vận chuyển vật phẩm về phía trước. Không nhận đầu vào từ phía bên cạnh. block.armored-conveyor.description = Vận chuyển vật phẩm về phía trước. Không nhận đầu vào từ phía bên cạnh.
@@ -2032,7 +2040,7 @@ block.naval-factory.description = Sản xuất binh lính hải quân. Các đơ
block.additive-reconstructor.description = Nâng cấp quân của bạn lên cấp hai. block.additive-reconstructor.description = Nâng cấp quân của bạn lên cấp hai.
block.multiplicative-reconstructor.description = Nâng cấp quân của bạn lên cấp ba. block.multiplicative-reconstructor.description = Nâng cấp quân của bạn lên cấp ba.
block.exponential-reconstructor.description = Nâng cấp quân của bạn lên cấp bốn. block.exponential-reconstructor.description = Nâng cấp quân của bạn lên cấp bốn.
block.tetrative-reconstructor.description = Nâng cấp quân của bạn nên cấp năm (cuối cùng). block.tetrative-reconstructor.description = Nâng cấp quân của bạn lên cấp năm (cuối cùng).
block.switch.description = Công tắc, trạng thái có thể được đọc và điều khiển với vi xử lý logic. block.switch.description = Công tắc, trạng thái có thể được đọc và điều khiển với vi xử lý logic.
block.micro-processor.description = Chạy tập hợp các chỉ dẫn trong một vòng lặp, có thể dùng để điều khiển robot và công trình. block.micro-processor.description = Chạy tập hợp các chỉ dẫn trong một vòng lặp, có thể dùng để điều khiển robot và công trình.
block.logic-processor.description = Chạy tập hợp các chỉ dẫn trong một vòng lặp, có thể dùng để điều khiển robot và công trình. Nhanh hơn bộ xử lý nhỏ. block.logic-processor.description = Chạy tập hợp các chỉ dẫn trong một vòng lặp, có thể dùng để điều khiển robot và công trình. Nhanh hơn bộ xử lý nhỏ.
@@ -2231,8 +2239,10 @@ lst.cutscene = Điều khiển góc máy quay của người chơi.
lst.setflag = Đặt một cờ toàn cục mà có thể đọc được bởi tất cả khối xử lý. lst.setflag = Đặt một cờ toàn cục mà có thể đọc được bởi tất cả khối xử lý.
lst.getflag = Kiểm tra nếu cờ toàn cục được đặt. lst.getflag = Kiểm tra nếu cờ toàn cục được đặt.
lst.setprop = Đặt một thuộc tính của đơn vị hoặc công trình. lst.setprop = Đặt một thuộc tính của đơn vị hoặc công trình.
lst.effect = Tạo một phần hiệu ứng nhỏ.
lst.sync = Đồng bộ giá trị biến qua mạng.\nChỉ gọi tối đa 10 lần mỗi giây.
logic.nounitbuild = [red]Unit building logic is not allowed here. logic.nounitbuild = [red]Lô-gíc xây dựng đơn vị không được phép ở đây.
lenum.type = Kiểu của công trình/đơn vị.\n Ví dụ, cho Bộ phân phát (router), nó sẽ trả về [accent]@router[].\nKhông phải một chuỗi. lenum.type = Kiểu của công trình/đơn vị.\n Ví dụ, cho Bộ phân phát (router), nó sẽ trả về [accent]@router[].\nKhông phải một chuỗi.
lenum.shoot = Bắn vào vị trí xác định. lenum.shoot = Bắn vào vị trí xác định.
@@ -2246,6 +2256,7 @@ laccess.dead = Đơn vị/công trình đã chết hoặc không còn hợp lệ
laccess.controlled = Trả về:\n[accent]@ctrlProcessor[] nếu điều khiển là khối xử lý\n[accent]@ctrlPlayer[] nếu người điều khiển đơn vị/công trình là người chơi\n[accent]@ctrlFormation[] nếu đơn vị trọng đội hình\nNgược lại, 0. laccess.controlled = Trả về:\n[accent]@ctrlProcessor[] nếu điều khiển là khối xử lý\n[accent]@ctrlPlayer[] nếu người điều khiển đơn vị/công trình là người chơi\n[accent]@ctrlFormation[] nếu đơn vị trọng đội hình\nNgược lại, 0.
laccess.progress = Tiến trình thực hiện, 0 đến 1.\n Trả về tiến trình sản xuất, nạp đạn bệ súng hoặc xây dựng. laccess.progress = Tiến trình thực hiện, 0 đến 1.\n Trả về tiến trình sản xuất, nạp đạn bệ súng hoặc xây dựng.
laccess.speed = Tốc độ của đơn vị, tính bằng ô/giây. laccess.speed = Tốc độ của đơn vị, tính bằng ô/giây.
laccess.id = Định danh của một đơn vị/khối/vật phẩm/chất lỏng.\nViệc này làm ngược lại với thao tác tra cứu.
lcategory.unknown = Không xác định lcategory.unknown = Không xác định
lcategory.unknown.description = Chỉ thị không được phân loại. lcategory.unknown.description = Chỉ thị không được phân loại.
lcategory.io = Đầu Vào & Ra lcategory.io = Đầu Vào & Ra
@@ -2366,6 +2377,7 @@ lenum.unbind = Vô hiệu hóa hoàn toàn điều khiển lô-gíc.\n Khôi ph
lenum.move = Di chuyển đến vị trí xác định. lenum.move = Di chuyển đến vị trí xác định.
lenum.approach = Tiếp cận một vị trí với bán kính. lenum.approach = Tiếp cận một vị trí với bán kính.
lenum.pathfind = Tìm đường đến nơi tạo ra kẻ địch. lenum.pathfind = Tìm đường đến nơi tạo ra kẻ địch.
lenum.autopathfind = Tự động tìm đường đến lõi hoặc nơi hạ cánh gần nhất của kẻ địch.\n Việc này tương tự như việc tìm đường của kẻ địch trong các lượt.
lenum.target = Bắn vào vị trí xác định. lenum.target = Bắn vào vị trí xác định.
lenum.targetp = Bắn vào một mục tiêu với tốc độ dự đoán lenum.targetp = Bắn vào một mục tiêu với tốc độ dự đoán
lenum.itemdrop = Thả vật phẩm. lenum.itemdrop = Thả vật phẩm.
@@ -2379,5 +2391,3 @@ lenum.build = Xây công trình.
lenum.getblock = Lấy một cấu trúc và kiểu tại một tọa độ.\nĐơn vị phải nằm trong tầm của vị trí.\nKhối rắn không phải công trình có kiểu [accent]@solid[]. lenum.getblock = Lấy một cấu trúc và kiểu tại một tọa độ.\nĐơn vị phải nằm trong tầm của vị trí.\nKhối rắn không phải công trình có kiểu [accent]@solid[].
lenum.within = Kiểm tra xem đơn vị có gần vị trí không. lenum.within = Kiểm tra xem đơn vị có gần vị trí không.
lenum.boost = Bắt đầu/Dừng tăng tốc. lenum.boost = Bắt đầu/Dừng tăng tốc.
onset.commandmode = Giữ [accent]shift[] để vào [accent]chế độ điều khiển quân[].\n[accent]Nhấp chuột trái và kéo[] để chọn các đơn vị.\n[accent]Chuộc phải[] để điều khiển các đơn vị di chuyển hoặc tấn công.
onset.commandmode.mobile = Nhấn vào [accent]nút điều khiển[] để vào [accent]chế độ điều khiển quân[].\nGiữ một ngón tay, sau đó [accent]kéo[] để chọn các đơn vị.\n[accent]Nhấp[] để điều khiển các đơn vị di chuyển hoặc tấn công.

View File

@@ -258,6 +258,7 @@ trace = 跟踪玩家
trace.playername = 玩家名称:[accent]{0} trace.playername = 玩家名称:[accent]{0}
trace.ip = IP地址[accent]{0} trace.ip = IP地址[accent]{0}
trace.id = 玩家 ID[accent]{0} trace.id = 玩家 ID[accent]{0}
trace.language = Language: [accent]{0}
trace.mobile = 移动客户端:[accent]{0} trace.mobile = 移动客户端:[accent]{0}
trace.modclient = 自定义客户端:[accent]{0} trace.modclient = 自定义客户端:[accent]{0}
trace.times.joined = 进入服务器次数: [accent]{0} trace.times.joined = 进入服务器次数: [accent]{0}
@@ -961,13 +962,16 @@ stat.healing = 治疗
ability.forcefield = 力墙场 ability.forcefield = 力墙场
ability.repairfield = 修复场 ability.repairfield = 修复场
ability.statusfield = {0}状态场 ability.statusfield = 状态场
ability.unitspawn = {0}单位工厂 ability.unitspawn = 单位工厂
ability.shieldregenfield = 护盾再生场 ability.shieldregenfield = 护盾再生场
ability.movelightning = 闪电助推器 ability.movelightning = 闪电助推器
ability.shieldarc = 弧形护盾 ability.shieldarc = 弧形护盾
ability.suppressionfield = 修复压制场 ability.suppressionfield = 修复压制场
ability.energyfield = 能量场:[accent]{0}[]伤害~[accent]{1}[]格/[accent]{2}[]目标 ability.energyfield = 能量场:
ability.energyfield.sametypehealmultiplier = [lightgray]Same Type Healing: [white]{0}%
ability.energyfield.maxtargets = [lightgray]Max Targets: [white]{0}
ability.regen = Regeneration
bar.onlycoredeposit = 仅核心可丢入资源 bar.onlycoredeposit = 仅核心可丢入资源
bar.drilltierreq = 需要更高级的钻头 bar.drilltierreq = 需要更高级的钻头
@@ -1108,6 +1112,7 @@ setting.position.name = 显示玩家坐标
setting.mouseposition.name = 显示鼠标坐标 setting.mouseposition.name = 显示鼠标坐标
setting.musicvol.name = 音乐音量 setting.musicvol.name = 音乐音量
setting.atmosphere.name = 显示行星大气层 setting.atmosphere.name = 显示行星大气层
setting.drawlight.name = Draw Darkness/Lighting
setting.ambientvol.name = 环境音量 setting.ambientvol.name = 环境音量
setting.mutemusic.name = 禁用音乐 setting.mutemusic.name = 禁用音乐
setting.sfxvol.name = 音效音量 setting.sfxvol.name = 音效音量
@@ -1865,6 +1870,9 @@ onset.enemies = 敌人来袭,准备防御。
onset.attack = 敌军基地十分脆弱。 发动反攻。 onset.attack = 敌军基地十分脆弱。 发动反攻。
onset.cores = 你可以在[accent]核心地块[]上建造新的核心。\n新核心的功能类似于前沿基地且与其他核心共享资源仓库。\n放置一个\uf725核心。 onset.cores = 你可以在[accent]核心地块[]上建造新的核心。\n新核心的功能类似于前沿基地且与其他核心共享资源仓库。\n放置一个\uf725核心。
onset.detect = 敌军将在2分钟内发现你。\n设立防御挖掘矿物并建造生产设施。 onset.detect = 敌军将在2分钟内发现你。\n设立防御挖掘矿物并建造生产设施。
onset.commandmode = 按住[accent]shift[]键进入[accent]指挥模式[]。\n按住[accent]鼠标左键[]框选单位。\n[accent]右键[]指挥所选单位移动或攻击。
onset.commandmode.mobile = 点击左下角的[accent]指挥[]进入[accent]指挥模式[]。\n按住屏幕[accent]拖动[]框选单位。\n[accent]点击[]指挥所选单位移动或攻击。
aegis.tungsten = Tungsten can be mined using an [accent]impact drill[].\nThis structure requires [accent]water[] and [accent]power[].
split.pickup = 核心单位可以拾取一些方块。\n拾取这个[accent]强化容器[]并将其放到[accent]载荷装载器[]中。\n默认使用[拾取,]放下载荷) split.pickup = 核心单位可以拾取一些方块。\n拾取这个[accent]强化容器[]并将其放到[accent]载荷装载器[]中。\n默认使用[拾取,]放下载荷)
split.pickup.mobile = 核心单位可以拾取一些方块。\n拾取这个[accent]强化容器[]并将其放到[accent]载荷装载器[]中。\n长按以拾取或放下载荷 split.pickup.mobile = 核心单位可以拾取一些方块。\n拾取这个[accent]强化容器[]并将其放到[accent]载荷装载器[]中。\n长按以拾取或放下载荷
@@ -2256,6 +2264,8 @@ lst.cutscene = 控制玩家游戏视角
lst.setflag = 设置一个可以被所有处理器读取的全局flag lst.setflag = 设置一个可以被所有处理器读取的全局flag
lst.getflag = 检查是否设置了全局flag lst.getflag = 检查是否设置了全局flag
lst.setprop = Sets a property of a unit or building. lst.setprop = Sets a property of a unit or building.
lst.effect = Create a particle effect.
lst.sync = Sync a variable across the network.\nOnly invoked 10 times a second at most.
logic.nounitbuild = [red]此处不允许处理器操控单位去建设 logic.nounitbuild = [red]此处不允许处理器操控单位去建设
@@ -2271,6 +2281,7 @@ laccess.dead = 单位或建筑是否已被摧毁或者已失效
laccess.controlled = 若单位的控制方是处理器,返回[accent]@ctrlProcessor[]\n若单位/建筑由玩家控制,返回[accent]@ctrlPlayer[]\n若单位在编队中返回[accent]@ctrlFormation[]\n其他情况返回0 laccess.controlled = 若单位的控制方是处理器,返回[accent]@ctrlProcessor[]\n若单位/建筑由玩家控制,返回[accent]@ctrlPlayer[]\n若单位在编队中返回[accent]@ctrlFormation[]\n其他情况返回0
laccess.progress = 进度0到1之间的数值。 \n返回工厂生产、 炮塔装填,或者建筑建造的进度 laccess.progress = 进度0到1之间的数值。 \n返回工厂生产、 炮塔装填,或者建筑建造的进度
laccess.speed = 单位的最高速度(格/秒) laccess.speed = 单位的最高速度(格/秒)
laccess.id = ID of a unit/block/item/liquid.\nThis is the inverse of the lookup operation.
lcategory.unknown = 未知 lcategory.unknown = 未知
lcategory.unknown.description = 未分类的指令 lcategory.unknown.description = 未分类的指令
@@ -2392,6 +2403,7 @@ lenum.unbind = 停用单位的逻辑控制\n恢复常规AI
lenum.move = 移动到某个位置 lenum.move = 移动到某个位置
lenum.approach = 靠近某个位置至一定的距离内 lenum.approach = 靠近某个位置至一定的距离内
lenum.pathfind = 寻路移动至敌人出生点 lenum.pathfind = 寻路移动至敌人出生点
lenum.autopathfind = Automatically pathfinds to the nearest enemy core or drop point.\nThis is the same as standard wave enemy pathfinding.
lenum.target = 向某个位置瞄准/射击 lenum.target = 向某个位置瞄准/射击
lenum.targetp = 根据提前量向某个目标瞄准/射击 lenum.targetp = 根据提前量向某个目标瞄准/射击
lenum.itemdrop = 将携带的物品放入一座建筑 lenum.itemdrop = 将携带的物品放入一座建筑
@@ -2405,5 +2417,3 @@ lenum.build = 建造建筑
lenum.getblock = 获取某个坐标处的建筑及其类型\n坐标需要在单位的感知范围内\n无建筑的地面返回[accent]@air[],墙壁返回[accent]@solid[] lenum.getblock = 获取某个坐标处的建筑及其类型\n坐标需要在单位的感知范围内\n无建筑的地面返回[accent]@air[],墙壁返回[accent]@solid[]
lenum.within = 检查单位是否接近了某个位置 lenum.within = 检查单位是否接近了某个位置
lenum.boost = 开始/停止助推 lenum.boost = 开始/停止助推
onset.commandmode = 按住[accent]shift[]键进入[accent]指挥模式[]。\n按住[accent]鼠标左键[]框选单位。\n[accent]右键[]指挥所选单位移动或攻击。
onset.commandmode.mobile = 点击左下角的[accent]指挥[]进入[accent]指挥模式[]。\n按住屏幕[accent]拖动[]框选单位。\n[accent]点击[]指挥所选单位移动或攻击。

View File

@@ -255,6 +255,7 @@ trace = 追蹤玩家
trace.playername = 玩家名稱:[accent]{0} trace.playername = 玩家名稱:[accent]{0}
trace.ip = IP[accent]{0} trace.ip = IP[accent]{0}
trace.id = ID[accent]{0} trace.id = ID[accent]{0}
trace.language = Language: [accent]{0}
trace.mobile = 行動客戶端:[accent]{0} trace.mobile = 行動客戶端:[accent]{0}
trace.modclient = 自訂客戶端:[accent]{0} trace.modclient = 自訂客戶端:[accent]{0}
trace.times.joined = 加入次數:[accent]{0} trace.times.joined = 加入次數:[accent]{0}
@@ -957,13 +958,16 @@ stat.healing = 治癒
ability.forcefield = 防護罩 ability.forcefield = 防護罩
ability.repairfield = 維修力場 ability.repairfield = 維修力場
ability.statusfield = {0}狀態力場 ability.statusfield = 狀態力場
ability.unitspawn = {0}工廠 ability.unitspawn = 工廠
ability.shieldregenfield = 護盾充能力場 ability.shieldregenfield = 護盾充能力場
ability.movelightning = 移動閃電 ability.movelightning = 移動閃電
ability.shieldarc = Shield Arc ability.shieldarc = Shield Arc
ability.suppressionfield = Regen Suppression Field ability.suppressionfield = Regen Suppression Field
ability.energyfield = 能量場: [accent]{0}[] 傷害 ~ [accent]{1}[] 方格 / [accent]{2}[] 目標數 ability.energyfield = 能量場:
ability.energyfield.sametypehealmultiplier = [lightgray]Same Type Healing: [white]{0}%
ability.energyfield.maxtargets = [lightgray]Max Targets: [white]{0}
ability.regen = Regeneration
bar.onlycoredeposit = 僅允許向核心放置物品 bar.onlycoredeposit = 僅允許向核心放置物品
bar.drilltierreq = 需要更好的鑽頭 bar.drilltierreq = 需要更好的鑽頭
@@ -1104,6 +1108,7 @@ setting.position.name = 顯示玩家位置
setting.mouseposition.name = 顯示滑鼠座標 setting.mouseposition.name = 顯示滑鼠座標
setting.musicvol.name = 音樂音量 setting.musicvol.name = 音樂音量
setting.atmosphere.name = 顯示星球大氣層 setting.atmosphere.name = 顯示星球大氣層
setting.drawlight.name = Draw Darkness/Lighting
setting.ambientvol.name = 環境音量 setting.ambientvol.name = 環境音量
setting.mutemusic.name = 靜音 setting.mutemusic.name = 靜音
setting.sfxvol.name = 音效音量 setting.sfxvol.name = 音效音量
@@ -1858,6 +1863,11 @@ onset.enemies = Enemy incoming, prepare to defend.
onset.attack = The enemy is vulnerable. Counter-attack. onset.attack = The enemy is vulnerable. Counter-attack.
onset.cores = New cores can be placed on [accent]core tiles[].\nNew cores function as forward bases and share a resource inventory with other cores.\nPlace a \uf725 core. onset.cores = New cores can be placed on [accent]core tiles[].\nNew cores function as forward bases and share a resource inventory with other cores.\nPlace a \uf725 core.
onset.detect = The enemy will be able to detect you in 2 minutes.\nSet up defenses, mining, and production. onset.detect = The enemy will be able to detect you in 2 minutes.\nSet up defenses, mining, and production.
#Don't translate these yet!
onset.commandmode = Hold [accent]shift[] to enter [accent]command mode[].\n[accent]Left-click and drag[] to select units.\n[accent]Right-click[] to order selected units to move or attack.
onset.commandmode.mobile = Press the [accent]command button[] to enter [accent]command mode[].\nHold down a finger, then [accent]drag[] to select units.\n[accent]Tap[] to order selected units to move or attack.
aegis.tungsten = Tungsten can be mined using an [accent]impact drill[].\nThis structure requires [accent]water[] and [accent]power[].
split.pickup = Some blocks can be picked up by the core unit.\nPick up this [accent]container[] and place it onto the [accent]payload loader[].\n(Default keys are [ and ] to pick up and drop) split.pickup = Some blocks can be picked up by the core unit.\nPick up this [accent]container[] and place it onto the [accent]payload loader[].\n(Default keys are [ and ] to pick up and drop)
split.pickup.mobile = Some blocks can be picked up by the core unit.\nPick up this [accent]container[] and place it onto the [accent]payload loader[].\n(To pick up or drop something, long-press it.) split.pickup.mobile = Some blocks can be picked up by the core unit.\nPick up this [accent]container[] and place it onto the [accent]payload loader[].\n(To pick up or drop something, long-press it.)
split.acquire = You must acquire some tungsten to build units. split.acquire = You must acquire some tungsten to build units.
@@ -2240,6 +2250,8 @@ lst.cutscene = 控制玩家鏡頭
lst.setflag = 設置一個全局flag可被所有處理器讀取 lst.setflag = 設置一個全局flag可被所有處理器讀取
lst.getflag = 檢查某一全局flag是否存在 lst.getflag = 檢查某一全局flag是否存在
lst.setprop = Sets a property of a unit or building. lst.setprop = Sets a property of a unit or building.
lst.effect = Create a particle effect.
lst.sync = Sync a variable across the network.\nOnly invoked 10 times a second at most.
logic.nounitbuild = [red]單位建造邏輯已被禁止。 logic.nounitbuild = [red]單位建造邏輯已被禁止。
@@ -2255,6 +2267,7 @@ laccess.dead = 單位或建築是否已死亡或不存在。
laccess.controlled = 將回傳:\n處理器控制[accent]@ctrlProcessor[]\n玩家控制[accent]@ctrlPlayer[]\n在隊形中[accent]@ctrlFormation[]\n其他[accent]0[]。 laccess.controlled = 將回傳:\n處理器控制[accent]@ctrlProcessor[]\n玩家控制[accent]@ctrlPlayer[]\n在隊形中[accent]@ctrlFormation[]\n其他[accent]0[]。
laccess.progress = 建造、生產進度。以 0 到 1 表示。以及砲台裝填。 laccess.progress = 建造、生產進度。以 0 到 1 表示。以及砲台裝填。
laccess.speed = 單位最快速度(格子/秒) laccess.speed = 單位最快速度(格子/秒)
laccess.id = ID of a unit/block/item/liquid.\nThis is the inverse of the lookup operation.
lcategory.unknown = 未知 lcategory.unknown = 未知
lcategory.unknown.description = Uncategorized instructions. lcategory.unknown.description = Uncategorized instructions.
@@ -2376,6 +2389,7 @@ lenum.unbind = 完全停用邏輯控制\n恢復爲原始AI
lenum.move = 移動到指定位置 lenum.move = 移動到指定位置
lenum.approach = 移動到距離指定位置一段距離的地方 lenum.approach = 移動到距離指定位置一段距離的地方
lenum.pathfind = 由內建AI前往敵方重生點 lenum.pathfind = 由內建AI前往敵方重生點
lenum.autopathfind = Automatically pathfinds to the nearest enemy core or drop point.\nThis is the same as standard wave enemy pathfinding.
lenum.target = 射擊指定區域 lenum.target = 射擊指定區域
lenum.targetp = 帶自瞄射擊指定的目標 lenum.targetp = 帶自瞄射擊指定的目標
lenum.itemdrop = 放下物品 lenum.itemdrop = 放下物品
@@ -2389,7 +2403,3 @@ lenum.build = 建造一個建築
lenum.getblock = 獲取指定位置的建築種類和該建築\n必須在單位的範圍內\n實體障礙物如高山會回傳[accent]@solid[] lenum.getblock = 獲取指定位置的建築種類和該建築\n必須在單位的範圍內\n實體障礙物如高山會回傳[accent]@solid[]
lenum.within = 單位是否在指定範圍內 lenum.within = 單位是否在指定範圍內
lenum.boost = 使用推進器 lenum.boost = 使用推進器
#Don't translate these yet!
onset.commandmode = Hold [accent]shift[] to enter [accent]command mode[].\n[accent]Left-click and drag[] to select units.\n[accent]Right-click[] to order selected units to move or attack.
onset.commandmode.mobile = Press the [accent]command button[] to enter [accent]command mode[].\nHold down a finger, then [accent]drag[] to select units.\n[accent]Tap[] to order selected units to move or attack.

View File

@@ -5,6 +5,7 @@ Timmeey86
Epowerj Epowerj
Baltazár Radics Baltazár Radics
Dexapnow Dexapnow
Somka
Milinai Milinai
키에르 키에르
skybldev skybldev
@@ -158,3 +159,4 @@ xStaBUx
WayZer WayZer
SITUVNgcd SITUVNgcd
Gabriel "red" Fondato Gabriel "red" Fondato
Yoru Kitsune

Binary file not shown.

Binary file not shown.

Binary file not shown.

View File

@@ -19,7 +19,8 @@ void main(){
float stime = u_time / 5.0; float stime = u_time / 5.0;
vec3 color = texture2D(u_texture, c + vec2(sin(stime/3.0 + coords.y/0.75) * v.x, 0.0)).rgb * vec3(0.9, 0.9, 1); vec4 sampled = texture2D(u_texture, c + vec2(sin(stime/3.0 + coords.y/0.75) * v.x, 0.0));
vec3 color = sampled.rgb * vec3(0.9, 0.9, 1);
float tester = mod((coords.x + coords.y*1.1 + sin(stime / 8.0 + coords.x/5.0 - coords.y/100.0)*2.0) + float tester = mod((coords.x + coords.y*1.1 + sin(stime / 8.0 + coords.x/5.0 - coords.y/100.0)*2.0) +
sin(stime / 20.0 + coords.y/3.0) * 1.0 + sin(stime / 20.0 + coords.y/3.0) * 1.0 +
@@ -32,5 +33,5 @@ void main(){
color *= 1.2; color *= 1.2;
} }
gl_FragColor = vec4(color.rgb, 1.0); gl_FragColor = vec4(color.rgb, min(sampled.a * 100.0, 1.0));
} }

View File

@@ -27,7 +27,7 @@ import static mindustry.Vars.*;
public abstract class ClientLauncher extends ApplicationCore implements Platform{ public abstract class ClientLauncher extends ApplicationCore implements Platform{
private static final int loadingFPS = 20; private static final int loadingFPS = 20;
private long lastTime; private long nextFrame;
private long beginTime; private long beginTime;
private boolean finished = false; private boolean finished = false;
private LoadRenderer loader; private LoadRenderer loader;
@@ -199,6 +199,15 @@ public abstract class ClientLauncher extends ApplicationCore implements Platform
@Override @Override
public void update(){ public void update(){
int targetfps = Core.settings.getInt("fpscap", 120);
boolean limitFps = targetfps > 0 && targetfps <= 240;
if(limitFps){
nextFrame += (1000 * 1000000) / targetfps;
}else{
nextFrame = Time.nanos();
}
if(!finished){ if(!finished){
if(loader != null){ if(loader != null){
loader.draw(); loader.draw();
@@ -230,17 +239,13 @@ public abstract class ClientLauncher extends ApplicationCore implements Platform
asyncCore.end(); asyncCore.end();
} }
int targetfps = Core.settings.getInt("fpscap", 120); if(limitFps){
long current = Time.nanos();
if(targetfps > 0 && targetfps <= 240){ if(nextFrame > current){
long target = (1000 * 1000000) / targetfps; //target in nanos long toSleep = nextFrame - current;
long elapsed = Time.timeSinceNanos(lastTime); Threads.sleep(toSleep / 1000000, (int)(toSleep % 1000000));
if(elapsed < target){
Threads.sleep((target - elapsed) / 1000000, (int)((target - elapsed) % 1000000));
} }
} }
lastTime = Time.nanos();
} }
@Override @Override
@@ -251,6 +256,7 @@ public abstract class ClientLauncher extends ApplicationCore implements Platform
@Override @Override
public void init(){ public void init(){
nextFrame = Time.nanos();
setup(); setup();
} }

View File

@@ -7,7 +7,6 @@ import arc.math.*;
import arc.math.geom.*; import arc.math.geom.*;
import arc.struct.*; import arc.struct.*;
import arc.util.*; import arc.util.*;
import mindustry.content.*;
import mindustry.core.*; import mindustry.core.*;
import mindustry.game.EventType.*; import mindustry.game.EventType.*;
import mindustry.game.*; import mindustry.game.*;
@@ -56,7 +55,8 @@ public class ControlPathfinder{
costNaval = (team, tile) -> costNaval = (team, tile) ->
//impassable same-team neutral block, or non-liquid //impassable same-team neutral block, or non-liquid
((PathTile.solid(tile) && ((PathTile.team(tile) == team && !PathTile.teamPassable(tile)) || PathTile.team(tile) == 0)) || !PathTile.liquid(tile) ? impassable : 1) + (PathTile.solid(tile) && ((PathTile.team(tile) == team && !PathTile.teamPassable(tile)) || PathTile.team(tile) == 0)) || !PathTile.liquid(tile) ? impassable :
1 +
//impassable synthetic enemy block //impassable synthetic enemy block
((PathTile.team(tile) != team && PathTile.team(tile) != 0) && PathTile.solid(tile) ? wallImpassableCap : 0) + ((PathTile.team(tile) != team && PathTile.team(tile) != 0) && PathTile.solid(tile) ? wallImpassableCap : 0) +
(PathTile.nearGround(tile) || PathTile.nearSolid(tile) ? 6 : 0); (PathTile.nearGround(tile) || PathTile.nearSolid(tile) ? 6 : 0);
@@ -194,7 +194,7 @@ public class ControlPathfinder{
} }
//destination is impassable, can't go there. //destination is impassable, can't go there.
if(solid(team, costType, world.packArray(World.toTile(destination.x), World.toTile(destination.y)))){ if(solid(team, costType, world.packArray(World.toTile(destination.x), World.toTile(destination.y)), false)){
return false; return false;
} }
@@ -233,7 +233,7 @@ public class ControlPathfinder{
req.curId = pathId; req.curId = pathId;
//check for the unit getting stuck every N seconds //check for the unit getting stuck every N seconds
if((req.stuckTimer += Time.delta) >= 60f * 1.5f){ if(req.done && (req.stuckTimer += Time.delta) >= 60f * 1.5f){
req.stuckTimer = 0f; req.stuckTimer = 0f;
//force recalculate //force recalculate
if(req.lastPos.within(unit, 1.5f)){ if(req.lastPos.within(unit, 1.5f)){
@@ -286,9 +286,6 @@ public class ControlPathfinder{
float angleToDest = unit.angleTo(tile); float angleToDest = unit.angleTo(tile);
//force recalculate when the unit moves backwards //force recalculate when the unit moves backwards
if(Angles.angleDist(angleToNext, angleToDest) > 80f && !unit.within(tile, 1f)){ if(Angles.angleDist(angleToNext, angleToDest) > 80f && !unit.within(tile, 1f)){
if(showDebug){
Fx.placeBlock.at(unit, 1f);
}
req.forceRecalculate(); req.forceRecalculate();
} }
} }
@@ -384,7 +381,7 @@ public class ControlPathfinder{
int err = dx - dy; int err = dx - dy;
while(x >= 0 && y >= 0 && x < ww && y < wh){ while(x >= 0 && y >= 0 && x < ww && y < wh){
if(solid(team, type, x + y * wwidth)) return true; if(solid(team, type, x + y * wwidth, true)) return true;
if(x == x2 && y == y2) return false; if(x == x2 && y == y2) return false;
//no diagonals //no diagonals
@@ -433,9 +430,9 @@ public class ControlPathfinder{
return cost == impassable || cost >= 2; return cost == impassable || cost >= 2;
} }
private static boolean solid(int team, PathCost type, int tilePos){ private static boolean solid(int team, PathCost type, int tilePos, boolean checkWall){
int cost = cost(team, type, tilePos); int cost = cost(team, type, tilePos);
return cost == impassable || cost >= 6000; return cost == impassable || (checkWall && cost >= 6000);
} }
private static float tileCost(int team, PathCost type, int a, int b){ private static float tileCost(int team, PathCost type, int a, int b){

View File

@@ -65,6 +65,10 @@ public class UnitCommand{
return Icon.icons.get(icon, Icon.cancel); return Icon.icons.get(icon, Icon.cancel);
} }
public char getEmoji() {
return (char) Iconc.codes.get(icon, Iconc.cancel);
}
@Override @Override
public String toString(){ public String toString(){
return "UnitCommand:" + name; return "UnitCommand:" + name;

View File

@@ -4,9 +4,13 @@ import arc.math.*;
import arc.struct.*; import arc.struct.*;
import arc.util.*; import arc.util.*;
import mindustry.*; import mindustry.*;
import mindustry.ai.*;
import mindustry.entities.units.*; import mindustry.entities.units.*;
import mindustry.gen.*; import mindustry.gen.*;
import mindustry.logic.*; import mindustry.logic.*;
import mindustry.world.*;
import static mindustry.Vars.*;
public class LogicAI extends AIController{ public class LogicAI extends AIController{
/** Minimum delay between item transfers. */ /** Minimum delay between item transfers. */
@@ -40,6 +44,12 @@ public class LogicAI extends AIController{
private float lastMoveX, lastMoveY; private float lastMoveX, lastMoveY;
private int lastPathId = 0; private int lastPathId = 0;
// LogicAI state should not be reset after reading.
@Override
public boolean keepState(){
return true;
}
@Override @Override
public void updateMovement(){ public void updateMovement(){
if(control == LUnitControl.pathfind){ if(control == LUnitControl.pathfind){
@@ -81,6 +91,30 @@ public class LogicAI extends AIController{
} }
} }
} }
case autoPathfind -> {
Building core = unit.closestEnemyCore();
if((core == null || !unit.within(core, unit.range() * 0.5f))){
boolean move = true;
Tile spawner = null;
if(state.rules.waves && unit.team == state.rules.defaultTeam){
spawner = getClosestSpawner();
if(spawner != null && unit.within(spawner, state.rules.dropZoneRadius + 120f)) move = false;
}
if(move){
if(unit.isFlying()){
var target = core == null ? spawner : core;
if(target != null){
moveTo(target, unit.range() * 0.5f);
}
}else{
pathfind(Pathfinder.fieldCore);
}
}
}
}
case stop -> { case stop -> {
unit.clearBuilding(); unit.clearBuilding();
} }

View File

@@ -23,6 +23,11 @@ public class MinerAI extends AIController{
unit.mineTile(null); unit.mineTile(null);
} }
if(ore != null && !unit.validMine(ore)){
ore = null;
unit.mineTile = null;
}
if(mining){ if(mining){
if(timer.get(timerTarget2, 60 * 4) || targetItem == null){ if(timer.get(timerTarget2, 60 * 4) || targetItem == null){
targetItem = unit.type.mineItems.min(i -> indexer.hasOre(i) && unit.canMine(i), i -> core.items.get(i)); targetItem = unit.type.mineItems.min(i -> indexer.hasOre(i) && unit.canMine(i), i -> core.items.get(i));

View File

@@ -1315,6 +1315,7 @@ public class Blocks{
researchCostMultiplier = 10f; researchCostMultiplier = 10f;
group = BlockGroup.heat;
size = 3; size = 3;
drawer = new DrawMulti(new DrawDefault(), new DrawHeatOutput(), new DrawHeatInput("-heat")); drawer = new DrawMulti(new DrawDefault(), new DrawHeatOutput(), new DrawHeatInput("-heat"));
regionRotated1 = 1; regionRotated1 = 1;
@@ -1325,6 +1326,7 @@ public class Blocks{
researchCostMultiplier = 10f; researchCostMultiplier = 10f;
group = BlockGroup.heat;
size = 3; size = 3;
drawer = new DrawMulti(new DrawDefault(), new DrawHeatOutput(-1, false), new DrawHeatOutput(), new DrawHeatOutput(1, false), new DrawHeatInput("-heat")); drawer = new DrawMulti(new DrawDefault(), new DrawHeatOutput(-1, false), new DrawHeatOutput(), new DrawHeatOutput(1, false), new DrawHeatInput("-heat"));
regionRotated1 = 1; regionRotated1 = 1;
@@ -2456,6 +2458,7 @@ public class Blocks{
consumesPower = outputsPower = true; consumesPower = outputsPower = true;
range = 23; range = 23;
scaledHealth = 90; scaledHealth = 90;
fogRadius = 2;
consumePowerBuffered(40000f); consumePowerBuffered(40000f);
}}; }};
@@ -2934,6 +2937,7 @@ public class Blocks{
armor = 5f; armor = 5f;
alwaysUnlocked = true; alwaysUnlocked = true;
incinerateNonBuildable = true; incinerateNonBuildable = true;
requiresCoreZone = true;
//TODO should this be higher? //TODO should this be higher?
buildCostMultiplier = 0.7f; buildCostMultiplier = 0.7f;
@@ -2953,6 +2957,7 @@ public class Blocks{
armor = 10f; armor = 10f;
incinerateNonBuildable = true; incinerateNonBuildable = true;
buildCostMultiplier = 0.7f; buildCostMultiplier = 0.7f;
requiresCoreZone = true;
unitCapModifier = 15; unitCapModifier = 15;
researchCostMultipliers.put(Items.silicon, 0.5f); researchCostMultipliers.put(Items.silicon, 0.5f);
@@ -2970,6 +2975,7 @@ public class Blocks{
armor = 15f; armor = 15f;
incinerateNonBuildable = true; incinerateNonBuildable = true;
buildCostMultiplier = 0.7f; buildCostMultiplier = 0.7f;
requiresCoreZone = true;
unitCapModifier = 15; unitCapModifier = 15;
researchCostMultipliers.put(Items.silicon, 0.4f); researchCostMultipliers.put(Items.silicon, 0.4f);
@@ -4531,7 +4537,7 @@ public class Blocks{
}}; }};
scathe = new ItemTurret("scathe"){{ scathe = new ItemTurret("scathe"){{
requirements(Category.turret, with(Items.silicon, 450, Items.graphite, 400, Items.tungsten, 500, Items.carbide, 300)); requirements(Category.turret, with(Items.silicon, 450, Items.graphite, 400, Items.tungsten, 500, Items.oxide, 100, Items.carbide, 200));
ammo( ammo(
Items.carbide, new BasicBulletType(0f, 1){{ Items.carbide, new BasicBulletType(0f, 1){{
@@ -4568,7 +4574,7 @@ public class Blocks{
deathExplosionEffect = Fx.massiveExplosion; deathExplosionEffect = Fx.massiveExplosion;
shootOnDeath = true; shootOnDeath = true;
shake = 10f; shake = 10f;
bullet = new ExplosionBulletType(640f, 65f){{ bullet = new ExplosionBulletType(700f, 65f){{
hitColor = Pal.redLight; hitColor = Pal.redLight;
shootEffect = new MultiEffect(Fx.massiveExplosion, Fx.scatheExplosion, Fx.scatheLight, new WaveEffect(){{ shootEffect = new MultiEffect(Fx.massiveExplosion, Fx.scatheExplosion, Fx.scatheLight, new WaveEffect(){{
lifetime = 10f; lifetime = 10f;
@@ -4674,7 +4680,7 @@ public class Blocks{
targetUnderBlocks = false; targetUnderBlocks = false;
shake = 6f; shake = 6f;
ammoPerShot = 20; ammoPerShot = 15;
maxAmmo = 30; maxAmmo = 30;
shootY = -1; shootY = -1;
outlineColor = Pal.darkOutline; outlineColor = Pal.darkOutline;
@@ -5896,7 +5902,7 @@ public class Blocks{
}}; }};
canvas = new CanvasBlock("canvas"){{ canvas = new CanvasBlock("canvas"){{
requirements(Category.logic, BuildVisibility.shown, with(Items.silicon, 30, Items.beryllium, 10)); requirements(Category.logic, BuildVisibility.shown, with(Items.silicon, 10, Items.beryllium, 10));
canvasSize = 12; canvasSize = 12;
padding = 7f / 4f * 2f; padding = 7f / 4f * 2f;

View File

@@ -29,11 +29,11 @@ public class Fx{
none = new Effect(0, 0f, e -> {}), none = new Effect(0, 0f, e -> {}),
blockCrash = new Effect(100f, e -> { blockCrash = new Effect(90f, e -> {
if(!(e.data instanceof Block block)) return; if(!(e.data instanceof Block block)) return;
alpha(e.fin() + 0.5f); alpha(e.fin() + 0.5f);
float offset = Mathf.lerp(0f, 200f, e.fout()); float offset = Mathf.lerp(0f, 180f, e.fout());
color(0f, 0f, 0f, 0.44f); color(0f, 0f, 0f, 0.44f);
rect(block.fullIcon, e.x - offset * 4f, e.y, (float)block.size * 8f, (float)block.size * 8f); rect(block.fullIcon, e.x - offset * 4f, e.y, (float)block.size * 8f, (float)block.size * 8f);
color(Color.white); color(Color.white);
@@ -417,6 +417,20 @@ public class Fx{
Lines.spikes(e.x, e.y, 1f + e.fin() * 6f, e.fout() * 4f, 6); Lines.spikes(e.x, e.y, 1f + e.fin() * 6f, e.fout() * 4f, 6);
}), }),
sparkExplosion = new Effect(30f, 160f, e -> {
color(e.color);
stroke(e.fout() * 3f);
float circleRad = 6f + e.finpow() * e.rotation;
Lines.circle(e.x, e.y, circleRad);
rand.setSeed(e.id);
for(int i = 0; i < 16; i++){
float angle = rand.random(360f);
float lenRand = rand.random(0.5f, 1f);
Lines.lineAngle(e.x, e.y, angle, e.foutpow() * e.rotation * 0.8f * rand.random(1f, 0.6f) + 2f, e.finpow() * e.rotation * 1.2f * lenRand + 6f);
}
}),
titanExplosion = new Effect(30f, 160f, e -> { titanExplosion = new Effect(30f, 160f, e -> {
color(e.color); color(e.color);
stroke(e.fout() * 3f); stroke(e.fout() * 3f);
@@ -609,6 +623,12 @@ public class Fx{
Lines.circle(e.x, e.y, 2f + e.finpow() * 7f); Lines.circle(e.x, e.y, 2f + e.finpow() * 7f);
}), }),
dynamicWave = new Effect(22, e -> {
color(e.color, 0.7f);
stroke(e.fout() * 2f);
Lines.circle(e.x, e.y, 4f + e.finpow() * e.rotation);
}),
shieldWave = new Effect(22, e -> { shieldWave = new Effect(22, e -> {
color(e.color, 0.7f); color(e.color, 0.7f);
stroke(e.fout() * 2f); stroke(e.fout() * 2f);
@@ -1517,6 +1537,15 @@ public class Fx{
}); });
}), }),
smokePuff = new Effect(30, e -> {
color(e.color);
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 / 2f, e.y + y / 2f, e.fout());
});
}),
shootSmall = new Effect(8, e -> { shootSmall = new Effect(8, e -> {
color(Pal.lighterOrange, Pal.lightOrange, e.fin()); color(Pal.lighterOrange, Pal.lightOrange, e.fin());
float w = 1f + 5 * e.fout(); float w = 1f + 5 * e.fout();

View File

@@ -11,7 +11,7 @@ import mindustry.type.*;
import static mindustry.Vars.*; import static mindustry.Vars.*;
public class StatusEffects{ public class StatusEffects{
public static StatusEffect none, burning, freezing, unmoving, slow, wet, muddy, melting, sapped, tarred, overdrive, overclock, shielded, shocked, blasted, corroded, boss, sporeSlowed, disarmed, electrified, invincible; public static StatusEffect none, burning, freezing, unmoving, slow, fast, wet, muddy, melting, sapped, tarred, overdrive, overclock, shielded, shocked, blasted, corroded, boss, sporeSlowed, disarmed, electrified, invincible;
public static void load(){ public static void load(){
@@ -60,6 +60,15 @@ public class StatusEffects{
slow = new StatusEffect("slow"){{ slow = new StatusEffect("slow"){{
color = Pal.lightishGray; color = Pal.lightishGray;
speedMultiplier = 0.4f; speedMultiplier = 0.4f;
init(() -> opposite(fast));
}};
fast = new StatusEffect("fast"){{
color = Pal.boostTo;
speedMultiplier = 1.6f;
init(() -> opposite(slow));
}}; }};
wet = new StatusEffect("wet"){{ wet = new StatusEffect("wet"){{
@@ -71,7 +80,10 @@ public class StatusEffects{
init(() -> { init(() -> {
affinity(shocked, (unit, result, time) -> { affinity(shocked, (unit, result, time) -> {
unit.damagePierce(transitionDamage); float pierceFraction = 0.3f;
unit.damagePierce(transitionDamage * pierceFraction);
unit.damage(transitionDamage * (1f - pierceFraction));
if(unit.team == state.rules.waveTeam){ if(unit.team == state.rules.waveTeam){
Events.fire(Trigger.shock); Events.fire(Trigger.shock);
} }

View File

@@ -127,6 +127,7 @@ public class TechTree{
}); });
content.techNode = this; content.techNode = this;
content.techNodes.add(this);
all.add(this); all.add(this);
} }

View File

@@ -252,11 +252,11 @@ public class UnitTypes{
}}; }};
reign = new UnitType("reign"){{ reign = new UnitType("reign"){{
speed = 0.35f; speed = 0.4f;
hitSize = 26f; hitSize = 26f;
rotateSpeed = 1.65f; rotateSpeed = 1.65f;
health = 24000; health = 24000;
armor = 14f; armor = 18f;
mechStepParticles = true; mechStepParticles = true;
stepShake = 0.75f; stepShake = 0.75f;
drownTimeMultiplier = 6f; drownTimeMultiplier = 6f;
@@ -2153,13 +2153,15 @@ public class UnitTypes{
abilities.add(new EnergyFieldAbility(40f, 65f, 180f){{ abilities.add(new EnergyFieldAbility(40f, 65f, 180f){{
statusDuration = 60f * 6f; statusDuration = 60f * 6f;
maxTargets = 25; maxTargets = 25;
healPercent = 1.5f;
sameTypeHealMult = 0.5f;
}}); }});
for(float mountY : new float[]{-18f, 14}){ for(float mountY : new float[]{-18f, 14}){
weapons.add(new PointDefenseWeapon("point-defense-mount"){{ weapons.add(new PointDefenseWeapon("point-defense-mount"){{
x = 12.5f; x = 12.5f;
y = mountY; y = mountY;
reload = 6f; reload = 4f;
targetInterval = 8f; targetInterval = 8f;
targetSwitchInterval = 8f; targetSwitchInterval = 8f;
@@ -2167,7 +2169,7 @@ public class UnitTypes{
shootEffect = Fx.sparkShoot; shootEffect = Fx.sparkShoot;
hitEffect = Fx.pointHit; hitEffect = Fx.pointHit;
maxRange = 180f; maxRange = 180f;
damage = 25f; damage = 30f;
}}; }};
}}); }});
} }
@@ -2343,6 +2345,7 @@ public class UnitTypes{
speed = 3f; speed = 3f;
rotateSpeed = 15f; rotateSpeed = 15f;
accel = 0.1f; accel = 0.1f;
fogRadius = 0f;
itemCapacity = 30; itemCapacity = 30;
health = 150f; health = 150f;
engineOffset = 6f; engineOffset = 6f;
@@ -2379,6 +2382,7 @@ public class UnitTypes{
speed = 3.3f; speed = 3.3f;
rotateSpeed = 17f; rotateSpeed = 17f;
accel = 0.1f; accel = 0.1f;
fogRadius = 0f;
itemCapacity = 50; itemCapacity = 50;
health = 170f; health = 170f;
engineOffset = 6f; engineOffset = 6f;
@@ -2420,6 +2424,7 @@ public class UnitTypes{
speed = 3.55f; speed = 3.55f;
rotateSpeed = 19f; rotateSpeed = 19f;
accel = 0.11f; accel = 0.11f;
fogRadius = 0f;
itemCapacity = 70; itemCapacity = 70;
health = 220f; health = 220f;
engineOffset = 6f; engineOffset = 6f;
@@ -2629,6 +2634,9 @@ public class UnitTypes{
height = 7f; height = 7f;
lifetime = 15f; lifetime = 15f;
hitSize = 4f; hitSize = 4f;
pierceCap = 3;
pierce = true;
pierceBuilding = true;
hitColor = backColor = trailColor = Color.valueOf("feb380"); hitColor = backColor = trailColor = Color.valueOf("feb380");
frontColor = Color.white; frontColor = Color.white;
trailWidth = 1.7f; trailWidth = 1.7f;

View File

@@ -458,7 +458,6 @@ public class Logic implements ApplicationListener{
} }
} }
//TODO objectives clientside???
if(!state.isEditor()){ if(!state.isEditor()){
state.rules.objectives.update(); state.rules.objectives.update();
if(state.rules.objectives.checkChanged() && net.server()){ if(state.rules.objectives.checkChanged() && net.server()){

View File

@@ -165,14 +165,14 @@ public class NetClient implements ApplicationListener{
public static void sound(Sound sound, float volume, float pitch, float pan){ public static void sound(Sound sound, float volume, float pitch, float pan){
if(sound == null || headless) return; if(sound == null || headless) return;
sound.play(Mathf.clamp(volume, 0, 8f) * Core.settings.getInt("sfxvol") / 100f, pitch, pan, false, false); sound.play(Mathf.clamp(volume, 0, 8f) * Core.settings.getInt("sfxvol") / 100f, Mathf.clamp(pitch, 0f, 20f), pan, false, false);
} }
@Remote(variants = Variant.both, unreliable = true, called = Loc.server) @Remote(variants = Variant.both, unreliable = true, called = Loc.server)
public static void soundAt(Sound sound, float x, float y, float volume, float pitch){ public static void soundAt(Sound sound, float x, float y, float volume, float pitch){
if(sound == null || headless) return; if(sound == null || headless) return;
sound.at(x, y, pitch, Mathf.clamp(volume, 0, 4f)); sound.at(x, y, Mathf.clamp(pitch, 0f, 20f), Mathf.clamp(volume, 0, 4f));
} }
@Remote(variants = Variant.both, unreliable = true) @Remote(variants = Variant.both, unreliable = true)
@@ -414,7 +414,7 @@ public class NetClient implements ApplicationListener{
//entity must not be added yet, so create it //entity must not be added yet, so create it
if(entity == null){ if(entity == null){
entity = (Syncc)EntityMapping.map(typeID).get(); entity = (Syncc)EntityMapping.map(typeID & 0xFF).get();
entity.id(id); entity.id(id);
if(!netClient.isEntityUsed(entity.id())){ if(!netClient.isEntityUsed(entity.id())){
add = true; add = true;

View File

@@ -99,6 +99,15 @@ public class NetServer implements ApplicationListener{
private Interval timer = new Interval(10); private Interval timer = new Interval(10);
private IntSet buildHealthChanged = new IntSet(); private IntSet buildHealthChanged = new IntSet();
/** Current kick session. */
public @Nullable VoteSession currentlyKicking = null;
/** Duration of a kick in seconds. */
public static int kickDuration = 60 * 60;
/** Voting round duration in seconds. */
public static float voteDuration = 0.5f * 60;
/** Cooldown between votes in seconds. */
public static int voteCooldown = 60 * 5;
private ReusableByteOutStream writeBuffer = new ReusableByteOutStream(127); private ReusableByteOutStream writeBuffer = new ReusableByteOutStream(127);
private Writes outputBuffer = new Writes(new DataOutputStream(writeBuffer)); private Writes outputBuffer = new Writes(new DataOutputStream(writeBuffer));
@@ -340,62 +349,8 @@ public class NetServer implements ApplicationListener{
Groups.player.each(Player::admin, a -> a.sendMessage(raw, player, args[0])); Groups.player.each(Player::admin, a -> a.sendMessage(raw, player, args[0]));
}); });
//duration of a kick in seconds
int kickDuration = 60 * 60;
//voting round duration in seconds
float voteDuration = 0.5f * 60;
//cooldown between votes in seconds
int voteCooldown = 60 * 5;
class VoteSession{
Player target;
ObjectIntMap<String> voted = new ObjectIntMap<>();
VoteSession[] map;
Timer.Task task;
int votes;
public VoteSession(VoteSession[] map, Player target){
this.target = target;
this.map = map;
this.task = Timer.schedule(() -> {
if(!checkPass()){
Call.sendMessage(Strings.format("[lightgray]Vote failed. Not enough votes to kick[orange] @[lightgray].", target.name));
map[0] = null;
task.cancel();
}
}, voteDuration);
}
void vote(Player player, int d){
int lastVote = voted.get(player.uuid(), 0) | voted.get(admins.getInfo(player.uuid()).lastIP, 0);
votes -= lastVote;
votes += d;
voted.put(player.uuid(), d);
voted.put(admins.getInfo(player.uuid()).lastIP, d);
Call.sendMessage(Strings.format("[lightgray]@[lightgray] has voted on kicking[orange] @[lightgray].[accent] (@/@)\n[lightgray]Type[orange] /vote <y/n>[] to agree.",
player.name, target.name, votes, votesRequired()));
checkPass();
}
boolean checkPass(){
if(votes >= votesRequired()){
Call.sendMessage(Strings.format("[orange]Vote passed.[scarlet] @[orange] will be banned from the server for @ minutes.", target.name, (kickDuration / 60)));
Groups.player.each(p -> p.uuid().equals(target.uuid()), p -> p.kick(KickReason.vote, kickDuration * 1000));
map[0] = null;
task.cancel();
return true;
}
return false;
}
}
//cooldowns per player //cooldowns per player
ObjectMap<String, Timekeeper> cooldowns = new ObjectMap<>(); ObjectMap<String, Timekeeper> cooldowns = new ObjectMap<>();
//current kick sessions
VoteSession[] currentlyKicking = {null};
clientCommands.<Player>register("votekick", "[player] [reason...]", "Vote to kick a player with a valid reason.", (args, player) -> { clientCommands.<Player>register("votekick", "[player] [reason...]", "Vote to kick a player with a valid reason.", (args, player) -> {
if(!Config.enableVotekick.bool()){ if(!Config.enableVotekick.bool()){
@@ -413,7 +368,7 @@ public class NetServer implements ApplicationListener{
return; return;
} }
if(currentlyKicking[0] != null){ if(currentlyKicking != null){
player.sendMessage("[scarlet]A vote is already in progress."); player.sendMessage("[scarlet]A vote is already in progress.");
return; return;
} }
@@ -454,11 +409,11 @@ public class NetServer implements ApplicationListener{
return; return;
} }
VoteSession session = new VoteSession(currentlyKicking, found); VoteSession session = new VoteSession(found);
session.vote(player, 1); session.vote(player, 1);
Call.sendMessage(Strings.format("[lightgray]Reason:[orange] @[lightgray].", args[1])); Call.sendMessage(Strings.format("[lightgray]Reason:[orange] @[lightgray].", args[1]));
vtime.reset(); vtime.reset();
currentlyKicking[0] = session; currentlyKicking = session;
} }
}else{ }else{
player.sendMessage("[scarlet]No player [orange]'" + args[0] + "'[scarlet] found."); player.sendMessage("[scarlet]No player [orange]'" + args[0] + "'[scarlet] found.");
@@ -467,13 +422,13 @@ public class NetServer implements ApplicationListener{
}); });
clientCommands.<Player>register("vote", "<y/n/c>", "Vote to kick the current player. Admin can cancel the voting with 'c'.", (arg, player) -> { clientCommands.<Player>register("vote", "<y/n/c>", "Vote to kick the current player. Admin can cancel the voting with 'c'.", (arg, player) -> {
if(currentlyKicking[0] == null){ if(currentlyKicking == null){
player.sendMessage("[scarlet]Nobody is being voted on."); player.sendMessage("[scarlet]Nobody is being voted on.");
}else{ }else{
if(player.admin && arg[0].equalsIgnoreCase("c")){ if(player.admin && arg[0].equalsIgnoreCase("c")){
Call.sendMessage(Strings.format("[lightgray]Vote canceled by admin[orange] @[lightgray].", player.name)); Call.sendMessage(Strings.format("[lightgray]Vote canceled by admin[orange] @[lightgray].", player.name));
currentlyKicking[0].task.cancel(); currentlyKicking.task.cancel();
currentlyKicking[0] = null; currentlyKicking = null;
return; return;
} }
@@ -489,17 +444,17 @@ public class NetServer implements ApplicationListener{
}; };
//hosts can vote all they want //hosts can vote all they want
if((currentlyKicking[0].voted.get(player.uuid(), 2) == sign || currentlyKicking[0].voted.get(admins.getInfo(player.uuid()).lastIP, 2) == sign)){ if((currentlyKicking.voted.get(player.uuid(), 2) == sign || currentlyKicking.voted.get(admins.getInfo(player.uuid()).lastIP, 2) == sign)){
player.sendMessage(Strings.format("[scarlet]You've already voted @. Sit down.", arg[0].toLowerCase())); player.sendMessage(Strings.format("[scarlet]You've already voted @. Sit down.", arg[0].toLowerCase()));
return; return;
} }
if(currentlyKicking[0].target == player){ if(currentlyKicking.target == player){
player.sendMessage("[scarlet]You can't vote on your own trial."); player.sendMessage("[scarlet]You can't vote on your own trial.");
return; return;
} }
if(currentlyKicking[0].target.team() != player.team()){ if(currentlyKicking.target.team() != player.team()){
player.sendMessage("[scarlet]You can't vote for other teams."); player.sendMessage("[scarlet]You can't vote for other teams.");
return; return;
} }
@@ -509,7 +464,7 @@ public class NetServer implements ApplicationListener{
return; return;
} }
currentlyKicking[0].vote(player, sign); currentlyKicking.vote(player, sign);
} }
}); });
@@ -992,7 +947,7 @@ public class NetServer implements ApplicationListener{
//write all entities now //write all entities now
dataStream.writeInt(entity.id()); //write id dataStream.writeInt(entity.id()); //write id
dataStream.writeByte(entity.classId()); //write type ID dataStream.writeByte(entity.classId() & 0xFF); //write type ID
entity.writeSync(Writes.get(dataStream)); //write entity entity.writeSync(Writes.get(dataStream)); //write entity
sent++; sent++;
@@ -1125,6 +1080,49 @@ public class NetServer implements ApplicationListener{
} }
} }
public class VoteSession{
Player target;
ObjectIntMap<String> voted = new ObjectIntMap<>();
Timer.Task task;
int votes;
public VoteSession(Player target){
this.target = target;
this.task = Timer.schedule(() -> {
if(!checkPass()){
Call.sendMessage(Strings.format("[lightgray]Vote failed. Not enough votes to kick[orange] @[lightgray].", target.name));
currentlyKicking = null;
task.cancel();
}
}, voteDuration);
}
void vote(Player player, int d){
int lastVote = voted.get(player.uuid(), 0) | voted.get(admins.getInfo(player.uuid()).lastIP, 0);
votes -= lastVote;
votes += d;
voted.put(player.uuid(), d);
voted.put(admins.getInfo(player.uuid()).lastIP, d);
Call.sendMessage(Strings.format("[lightgray]@[lightgray] has voted on kicking[orange] @[lightgray].[accent] (@/@)\n[lightgray]Type[orange] /vote <y/n>[] to agree.",
player.name, target.name, votes, votesRequired()));
checkPass();
}
boolean checkPass(){
if(votes >= votesRequired()){
Call.sendMessage(Strings.format("[orange]Vote passed.[scarlet] @[orange] will be banned from the server for @ minutes.", target.name, (kickDuration / 60)));
Groups.player.each(p -> p.uuid().equals(target.uuid()), p -> p.kick(KickReason.vote, kickDuration * 1000));
currentlyKicking = null;
task.cancel();
return true;
}
return false;
}
}
public interface TeamAssigner{ public interface TeamAssigner{
Team assign(Player player, Iterable<Player> players); Team assign(Player player, Iterable<Player> players);
} }

View File

@@ -18,6 +18,7 @@ import mindustry.game.EventType.*;
import mindustry.gen.*; import mindustry.gen.*;
import mindustry.graphics.*; import mindustry.graphics.*;
import mindustry.graphics.g3d.*; import mindustry.graphics.g3d.*;
import mindustry.maps.*;
import mindustry.type.*; import mindustry.type.*;
import mindustry.world.blocks.storage.*; import mindustry.world.blocks.storage.*;
import mindustry.world.blocks.storage.CoreBlock.*; import mindustry.world.blocks.storage.CoreBlock.*;
@@ -45,7 +46,7 @@ public class Renderer implements ApplicationListener{
public @Nullable Bloom bloom; public @Nullable Bloom bloom;
public @Nullable FrameBuffer backgroundBuffer; public @Nullable FrameBuffer backgroundBuffer;
public FrameBuffer effectBuffer = new FrameBuffer(); public FrameBuffer effectBuffer = new FrameBuffer();
public boolean animateShields, drawWeather = true, drawStatus, enableEffects, drawDisplays = true; public boolean animateShields, drawWeather = true, drawStatus, enableEffects, drawDisplays = true, drawLight = true;
public float weatherAlpha; public float weatherAlpha;
/** minZoom = zooming out, maxZoom = zooming in */ /** minZoom = zooming out, maxZoom = zooming in */
public float minZoom = 1.5f, maxZoom = 6f; public float minZoom = 1.5f, maxZoom = 6f;
@@ -179,6 +180,7 @@ public class Renderer implements ApplicationListener{
drawStatus = settings.getBool("blockstatus"); drawStatus = settings.getBool("blockstatus");
enableEffects = settings.getBool("effects"); enableEffects = settings.getBool("effects");
drawDisplays = !settings.getBool("hidedisplays"); drawDisplays = !settings.getBool("hidedisplays");
drawLight = settings.getBool("drawlight", true);
if(landTime > 0){ if(landTime > 0){
if(!state.isPaused()){ if(!state.isPaused()){
@@ -288,6 +290,7 @@ public class Renderer implements ApplicationListener{
public void draw(){ public void draw(){
Events.fire(Trigger.preDraw); Events.fire(Trigger.preDraw);
MapPreviewLoader.checkPreviews();
camera.update(); camera.update();
@@ -311,6 +314,7 @@ public class Renderer implements ApplicationListener{
Draw.sort(true); Draw.sort(true);
Events.fire(Trigger.draw); Events.fire(Trigger.draw);
MapPreviewLoader.checkPreviews();
if(pixelator.enabled()){ if(pixelator.enabled()){
pixelator.register(); pixelator.register();
@@ -334,7 +338,7 @@ public class Renderer implements ApplicationListener{
} }
} }
if(state.rules.lighting){ if(state.rules.lighting && drawLight){
Draw.draw(Layer.light, lights::draw); Draw.draw(Layer.light, lights::draw);
} }

View File

@@ -71,6 +71,7 @@ public class UI implements ApplicationListener, Loadable{
public SchematicsDialog schematics; public SchematicsDialog schematics;
public ModsDialog mods; public ModsDialog mods;
public ColorPicker picker; public ColorPicker picker;
public EffectsDialog effects;
public LogicDialog logic; public LogicDialog logic;
public FullTextDialog fullText; public FullTextDialog fullText;
public CampaignCompleteDialog campaignComplete; public CampaignCompleteDialog campaignComplete;
@@ -183,6 +184,7 @@ public class UI implements ApplicationListener, Loadable{
consolefrag = new ConsoleFragment(); consolefrag = new ConsoleFragment();
picker = new ColorPicker(); picker = new ColorPicker();
effects = new EffectsDialog();
editor = new MapEditorDialog(); editor = new MapEditorDialog();
controls = new KeybindDialog(); controls = new KeybindDialog();
restart = new GameOverDialog(); restart = new GameOverDialog();

View File

@@ -6,6 +6,7 @@ import arc.graphics.*;
import arc.graphics.g2d.*; import arc.graphics.g2d.*;
import arc.graphics.g2d.TextureAtlas.*; import arc.graphics.g2d.TextureAtlas.*;
import arc.scene.ui.layout.*; import arc.scene.ui.layout.*;
import arc.struct.*;
import arc.util.*; import arc.util.*;
import mindustry.annotations.Annotations.*; import mindustry.annotations.Annotations.*;
import mindustry.content.TechTree.*; import mindustry.content.TechTree.*;
@@ -44,6 +45,8 @@ public abstract class UnlockableContent extends MappableContent{
public TextureRegion fullIcon; public TextureRegion fullIcon;
/** The tech tree node for this content, if applicable. Null if not part of a tech tree. */ /** The tech tree node for this content, if applicable. Null if not part of a tech tree. */
public @Nullable TechNode techNode; public @Nullable TechNode techNode;
/** Tech nodes for all trees that this content is part of. */
public Seq<TechNode> techNodes = new Seq<>();
/** Unlock state. Loaded from settings. Do not modify outside of the constructor. */ /** Unlock state. Loaded from settings. Do not modify outside of the constructor. */
protected boolean unlocked; protected boolean unlocked;
@@ -68,8 +71,12 @@ public abstract class UnlockableContent extends MappableContent{
uiIcon = Core.atlas.find(getContentType().name() + "-" + name + "-ui", fullIcon); uiIcon = Core.atlas.find(getContentType().name() + "-" + name + "-ui", fullIcon);
} }
public int getLogicId(){
return logicVars.lookupLogicId(this);
}
public String displayDescription(){ public String displayDescription(){
return minfo.mod == null ? description : description + "\n" + Core.bundle.format("mod.display", minfo.mod.meta.displayName()); return minfo.mod == null ? description : description + "\n" + Core.bundle.format("mod.display", minfo.mod.meta.displayName);
} }
/** Checks stat initialization state. Call before displaying stats. */ /** Checks stat initialization state. Call before displaying stats. */

View File

@@ -98,6 +98,8 @@ public class MapObjectivesCanvas extends WidgetGroup{
public void clearObjectives(){ public void clearObjectives(){
stopQuery(); stopQuery();
tilemap.clearTiles(); tilemap.clearTiles();
tilemap.x = 0f;
tilemap.y = 0f;
} }
protected void stopQuery(){ protected void stopQuery(){

View File

@@ -100,6 +100,7 @@ public class MapRenderer implements Disposable{
private void render(int wx, int wy){ private void render(int wx, int wy){
int x = wx / chunkSize, y = wy / chunkSize; int x = wx / chunkSize, y = wy / chunkSize;
if(x >= chunks.length || y >= chunks[0].length) return;
IndexedRenderer mesh = chunks[x][y]; IndexedRenderer mesh = chunks[x][y];
Tile tile = editor.tiles().getn(wx, wy); Tile tile = editor.tiles().getn(wx, wy);

View File

@@ -184,12 +184,12 @@ public class MapView extends Element implements GestureListener{
offsety -= ay * 15 * Time.delta / zoom; offsety -= ay * 15 * Time.delta / zoom;
} }
if(Core.input.keyTap(KeyCode.shiftLeft)){ if(Core.input.keyTap(KeyCode.shiftLeft) || Core.input.keyTap(KeyCode.altLeft)){
lastTool = tool; lastTool = tool;
tool = EditorTool.pick; tool = EditorTool.pick;
} }
if(Core.input.keyRelease(KeyCode.shiftLeft) && lastTool != null){ if((Core.input.keyRelease(KeyCode.shiftLeft) || Core.input.keyRelease(KeyCode.altLeft)) && lastTool != null){
tool = lastTool; tool = lastTool;
lastTool = null; lastTool = null;
} }

View File

@@ -94,11 +94,12 @@ public class Damage{
} }
int waves = explosiveness <= 2 ? 0 : Mathf.clamp((int)(explosiveness / 11), 1, 25); int waves = explosiveness <= 2 ? 0 : Mathf.clamp((int)(explosiveness / 11), 1, 25);
float damagePerWave = explosiveness / 2f;
for(int i = 0; i < waves; i++){ for(int i = 0; i < waves; i++){
int f = i; int f = i;
Time.run(i * 2f, () -> { Time.run(i * 2f, () -> {
damage(ignoreTeam, x, y, Mathf.clamp(radius + explosiveness, 0, 50f) * ((f + 1f) / waves), explosiveness / 2f, false); damage(ignoreTeam, x, y, Mathf.clamp(radius + explosiveness, 0, 50f) * ((f + 1f) / waves), damagePerWave, false);
Fx.blockExplosionSmoke.at(x + Mathf.range(radius), y + Mathf.range(radius)); Fx.blockExplosionSmoke.at(x + Mathf.range(radius), y + Mathf.range(radius));
}); });
} }

View File

@@ -81,8 +81,8 @@ public class EntityCollisions{
if(tmp.overlaps(r1)){ if(tmp.overlaps(r1)){
Vec2 v = Geometry.overlap(r1, tmp, x); Vec2 v = Geometry.overlap(r1, tmp, x);
if(x) r1.x += v.x; r1.x += v.x;
if(!x) r1.y += v.y; r1.y += v.y;
} }
} }
} }

View File

@@ -84,6 +84,10 @@ public class EntityGroup<T extends Entityc> implements Iterable<T>{
} }
} }
public Seq<T> copy(){
return copy(new Seq<>());
}
public Seq<T> copy(Seq<T> arr){ public Seq<T> copy(Seq<T> arr){
arr.addAll(array); arr.addAll(array);
return arr; return arr;
@@ -225,6 +229,12 @@ public class EntityGroup<T extends Entityc> implements Iterable<T>{
if(type == null) throw new RuntimeException("Cannot remove a null entity!"); if(type == null) throw new RuntimeException("Cannot remove a null entity!");
if(position != -1 && position < array.size){ if(position != -1 && position < array.size){
//rarely the entity index is wrong; fallback to slow implementation
if(array.items[position] != type){
remove(type);
return;
}
//swap head with current //swap head with current
if(array.size > 1){ if(array.size > 1){
var head = array.items[array.size - 1]; var head = array.items[array.size - 1];

View File

@@ -70,6 +70,8 @@ public class Puddles{
Puddle p = map.get(tile.pos()); Puddle p = map.get(tile.pos());
if(p == null || p.liquid == null){ if(p == null || p.liquid == null){
if(!Vars.net.client()){
//do not create puddles clientside as that destroys syncing
Puddle puddle = Puddle.create(); Puddle puddle = Puddle.create();
puddle.tile = tile; puddle.tile = tile;
puddle.liquid = liquid; puddle.liquid = liquid;
@@ -77,6 +79,7 @@ public class Puddles{
puddle.set(ax, ay); puddle.set(ax, ay);
map.put(tile.pos(), puddle); map.put(tile.pos(), puddle);
puddle.add(); puddle.add();
}
}else if(p.liquid == liquid){ }else if(p.liquid == liquid){
p.accepting = Math.max(amount, p.accepting); p.accepting = Math.max(amount, p.accepting);

View File

@@ -408,7 +408,7 @@ public class Units{
if(team != null){ if(team != null){
team.data().tree().intersect(x, y, width, height, cons); team.data().tree().intersect(x, y, width, height, cons);
}else{ }else{
for(var other : state.teams.getActive()){ for(var other : state.teams.present){
other.tree().intersect(x, y, width, height, cons); other.tree().intersect(x, y, width, height, cons);
} }
} }

View File

@@ -15,6 +15,8 @@ public abstract class Ability implements Cloneable{
public void draw(Unit unit){} public void draw(Unit unit){}
public void death(Unit unit){} public void death(Unit unit){}
public void init(UnitType type){} public void init(UnitType type){}
public void displayBars(Unit unit, Table bars){}
public void addStats(Table t){}
public Ability copy(){ public Ability copy(){
try{ try{
@@ -25,10 +27,6 @@ public abstract class Ability implements Cloneable{
} }
} }
public void displayBars(Unit unit, Table bars){
}
/** @return localized ability name; mods should override this. */ /** @return localized ability name; mods should override this. */
public String localized(){ public String localized(){
var type = getClass(); var type = getClass();

View File

@@ -4,9 +4,11 @@ import arc.*;
import arc.graphics.*; import arc.graphics.*;
import arc.graphics.g2d.*; import arc.graphics.g2d.*;
import arc.math.*; import arc.math.*;
import arc.scene.ui.layout.Table;
import arc.util.*; import arc.util.*;
import mindustry.gen.*; import mindustry.gen.*;
import mindustry.graphics.*; import mindustry.graphics.*;
import mindustry.world.meta.*;
public class ArmorPlateAbility extends Ability{ public class ArmorPlateAbility extends Ability{
public TextureRegion plateRegion; public TextureRegion plateRegion;
@@ -25,6 +27,11 @@ public class ArmorPlateAbility extends Ability{
unit.healthMultiplier += warmup * healthMultiplier; unit.healthMultiplier += warmup * healthMultiplier;
} }
@Override
public void addStats(Table t){
t.add("[lightgray]" + Stat.healthMultiplier.localized() + ": [white]" + Math.round(healthMultiplier * 100f) + 100 + "%");
}
@Override @Override
public void draw(Unit unit){ public void draw(Unit unit){
if(warmup > 0.001f){ if(warmup > 0.001f){

View File

@@ -5,15 +5,16 @@ import arc.audio.*;
import arc.graphics.*; import arc.graphics.*;
import arc.graphics.g2d.*; import arc.graphics.g2d.*;
import arc.math.*; import arc.math.*;
import arc.scene.ui.layout.*;
import arc.struct.*; import arc.struct.*;
import arc.util.*; import arc.util.*;
import mindustry.*;
import mindustry.content.*; import mindustry.content.*;
import mindustry.entities.*; import mindustry.entities.*;
import mindustry.game.*; import mindustry.game.*;
import mindustry.gen.*; import mindustry.gen.*;
import mindustry.graphics.*; import mindustry.graphics.*;
import mindustry.type.*; import mindustry.type.*;
import mindustry.world.meta.*;
import static mindustry.Vars.*; import static mindustry.Vars.*;
@@ -29,6 +30,9 @@ public class EnergyFieldAbility extends Ability{
public boolean targetGround = true, targetAir = true, hitBuildings = true, hitUnits = true; public boolean targetGround = true, targetAir = true, hitBuildings = true, hitUnits = true;
public int maxTargets = 25; public int maxTargets = 25;
public float healPercent = 3f; public float healPercent = 3f;
/** Multiplies healing to units of the same type by this amount. */
public float sameTypeHealMult = 1f;
public boolean displayHeal = true;
public float layer = Layer.bullet - 0.001f, blinkScl = 20f, blinkSize = 0.1f; public float layer = Layer.bullet - 0.001f, blinkScl = 20f, blinkSize = 0.1f;
public float effectRadius = 5f, sectorRad = 0.14f, rotateSpeed = 0.5f; public float effectRadius = 5f, sectorRad = 0.14f, rotateSpeed = 0.5f;
@@ -48,8 +52,25 @@ public class EnergyFieldAbility extends Ability{
} }
@Override @Override
public String localized(){ public void addStats(Table t){
return Core.bundle.format("ability.energyfield", damage, range / Vars.tilesize, maxTargets); t.add(Core.bundle.format("bullet.damage", damage));
t.row();
t.add("[lightgray]" + Stat.reload.localized() + ": [white]" + Strings.autoFixed(60f / reload, 2) + " " + StatUnit.perSecond.localized());
t.row();
t.add("[lightgray]" + Stat.shootRange.localized() + ": [white]" + Strings.autoFixed(range / tilesize, 2) + " " + StatUnit.blocks.localized());
t.row();
t.add(Core.bundle.format("ability.energyfield.maxtargets", maxTargets));
if(displayHeal){
t.row();
t.add(Core.bundle.format("bullet.healpercent", Strings.autoFixed(healPercent, 2)));
t.row();
t.add(Core.bundle.format("ability.energyfield.sametypehealmultiplier", Math.round(sameTypeHealMult * 100f)));
}
if(status != StatusEffects.none){
t.row();
t.add(status.emoji() + " " + status.localizedName);
}
} }
@Override @Override
@@ -129,7 +150,8 @@ public class EnergyFieldAbility extends Ability{
if(((Teamc)other).team() == unit.team){ if(((Teamc)other).team() == unit.team){
if(other.damaged()){ if(other.damaged()){
anyNearby = true; anyNearby = true;
other.heal(healPercent / 100f * other.maxHealth()); float healMult = (other instanceof Unit u && u.type == unit.type) ? sameTypeHealMult : 1f;
other.heal(healPercent / 100f * other.maxHealth() * healMult);
healEffect.at(other); healEffect.at(other);
damageEffect.at(rx, ry, 0f, color, other); damageEffect.at(rx, ry, 0f, color, other);
hitEffect.at(rx, ry, unit.angleTo(other), color); hitEffect.at(rx, ry, unit.angleTo(other), color);

View File

@@ -12,6 +12,9 @@ import mindustry.content.*;
import mindustry.gen.*; import mindustry.gen.*;
import mindustry.graphics.*; import mindustry.graphics.*;
import mindustry.ui.*; import mindustry.ui.*;
import mindustry.world.meta.*;
import static mindustry.Vars.*;
public class ForceFieldAbility extends Ability{ public class ForceFieldAbility extends Ability{
/** Shield radius. */ /** Shield radius. */
@@ -68,6 +71,18 @@ public class ForceFieldAbility extends Ability{
ForceFieldAbility(){} ForceFieldAbility(){}
@Override
public void addStats(Table t){
t.add("[lightgray]" + Stat.health.localized() + ": [white]" + Math.round(max));
t.row();
t.add("[lightgray]" + Stat.shootRange.localized() + ": [white]" + Strings.autoFixed(radius / tilesize, 2) + " " + StatUnit.blocks.localized());
t.row();
t.add("[lightgray]" + Stat.repairSpeed.localized() + ": [white]" + Strings.autoFixed(regen * 60f, 2) + StatUnit.perSecond.localized());
t.row();
t.add("[lightgray]" + Stat.cooldownTime.localized() + ": [white]" + Strings.autoFixed(cooldown / 60f, 2) + " " + StatUnit.seconds.localized());
t.row();
}
@Override @Override
public void update(Unit unit){ public void update(Unit unit){
if(unit.shield < max){ if(unit.shield < max){

View File

@@ -30,6 +30,7 @@ public class MoveEffectAbility extends Ability{
} }
public MoveEffectAbility(){ public MoveEffectAbility(){
display = false;
} }
@Override @Override

View File

@@ -1,7 +1,10 @@
package mindustry.entities.abilities; package mindustry.entities.abilities;
import arc.Core;
import arc.scene.ui.layout.*;
import arc.util.*; import arc.util.*;
import mindustry.gen.*; import mindustry.gen.*;
import mindustry.world.meta.*;
public class RegenAbility extends Ability{ public class RegenAbility extends Ability{
/** Amount healed as percent per tick. */ /** Amount healed as percent per tick. */
@@ -9,6 +12,18 @@ public class RegenAbility extends Ability{
/** Amount healed as a flat amount per tick. */ /** Amount healed as a flat amount per tick. */
public float amount = 0f; public float amount = 0f;
@Override
public void addStats(Table t){
if(amount > 0.01f){
t.add("[lightgray]" + Stat.repairSpeed.localized() + ": [white]" + Strings.autoFixed(amount * 60f, 2) + StatUnit.perSecond.localized());
t.row();
}
if(percentAmount > 0.01f){
t.add(Core.bundle.format("bullet.healpercent", Strings.autoFixed(percentAmount * 60f, 2)) + StatUnit.perSecond.localized()); //stupid but works
}
}
@Override @Override
public void update(Unit unit){ public void update(Unit unit){
unit.heal((unit.maxHealth * percentAmount / 100f + amount) * Time.delta); unit.heal((unit.maxHealth * percentAmount / 100f + amount) * Time.delta);

View File

@@ -1,9 +1,13 @@
package mindustry.entities.abilities; package mindustry.entities.abilities;
import arc.scene.ui.layout.*;
import arc.util.*; import arc.util.*;
import mindustry.content.*; import mindustry.content.*;
import mindustry.entities.*; import mindustry.entities.*;
import mindustry.gen.*; import mindustry.gen.*;
import mindustry.world.meta.*;
import static mindustry.Vars.tilesize;
public class RepairFieldAbility extends Ability{ public class RepairFieldAbility extends Ability{
public float amount = 1, reload = 100, range = 60; public float amount = 1, reload = 100, range = 60;
@@ -22,6 +26,13 @@ public class RepairFieldAbility extends Ability{
this.range = range; this.range = range;
} }
@Override
public void addStats(Table t){
t.add("[lightgray]" + Stat.repairSpeed.localized() + ": [white]" + Strings.autoFixed(amount * 60f / reload, 2) + StatUnit.perSecond.localized());
t.row();
t.add("[lightgray]" + Stat.shootRange.localized() + ": [white]" + Strings.autoFixed(range / tilesize, 2) + " " + StatUnit.blocks.localized());
}
@Override @Override
public void update(Unit unit){ public void update(Unit unit){
timer += Time.delta; timer += Time.delta;

View File

@@ -13,6 +13,7 @@ import mindustry.gen.*;
import mindustry.graphics.*; import mindustry.graphics.*;
import mindustry.type.*; import mindustry.type.*;
import mindustry.ui.*; import mindustry.ui.*;
import mindustry.world.meta.*;
public class ShieldArcAbility extends Ability{ public class ShieldArcAbility extends Ability{
private static Unit paramUnit; private static Unit paramUnit;
@@ -66,6 +67,16 @@ public class ShieldArcAbility extends Ability{
/** State. */ /** State. */
protected float widthScale, alpha; protected float widthScale, alpha;
@Override
public void addStats(Table t){
t.add("[lightgray]" + Stat.health.localized() + ": [white]" + Math.round(max));
t.row();
t.add("[lightgray]" + Stat.repairSpeed.localized() + ": [white]" + Strings.autoFixed(regen * 60f, 2) + StatUnit.perSecond.localized());
t.row();
t.add("[lightgray]" + Stat.cooldownTime.localized() + ": [white]" + Strings.autoFixed(cooldown / 60f, 2) + " " + StatUnit.seconds.localized());
t.row();
}
@Override @Override
public void update(Unit unit){ public void update(Unit unit){
if(data < max){ if(data < max){

View File

@@ -1,9 +1,14 @@
package mindustry.entities.abilities; package mindustry.entities.abilities;
import arc.Core;
import arc.scene.ui.layout.*;
import arc.util.*; import arc.util.*;
import mindustry.content.*; import mindustry.content.*;
import mindustry.entities.*; import mindustry.entities.*;
import mindustry.gen.*; import mindustry.gen.*;
import mindustry.world.meta.*;
import static mindustry.Vars.tilesize;
public class ShieldRegenFieldAbility extends Ability{ public class ShieldRegenFieldAbility extends Ability{
public float amount = 1, max = 100f, reload = 100, range = 60; public float amount = 1, max = 100f, reload = 100, range = 60;
@@ -23,6 +28,16 @@ public class ShieldRegenFieldAbility extends Ability{
this.range = range; this.range = range;
} }
@Override
public void addStats(Table t){
t.add("[lightgray]" + Core.bundle.get("waves.shields") + ": [white]" + Math.round(max)); //extremely stupid usage
t.row();
t.add("[lightgray]" + Stat.shootRange.localized() + ": [white]" + Strings.autoFixed(range / tilesize, 2) + " " + StatUnit.blocks.localized());
t.row();
t.add("[lightgray]" + Stat.reload.localized() + ": [white]" + Strings.autoFixed(60f / reload, 2) + " " + StatUnit.perSecond.localized());
t.row();
}
@Override @Override
public void update(Unit unit){ public void update(Unit unit){
timer += Time.delta; timer += Time.delta;

View File

@@ -1,6 +1,7 @@
package mindustry.entities.abilities; package mindustry.entities.abilities;
import arc.math.*; import arc.math.*;
import arc.scene.ui.layout.*;
import arc.util.*; import arc.util.*;
import mindustry.*; import mindustry.*;
import mindustry.gen.*; import mindustry.gen.*;
@@ -24,6 +25,11 @@ public class SpawnDeathAbility extends Ability{
public SpawnDeathAbility(){ public SpawnDeathAbility(){
} }
@Override
public void addStats(Table t){
t.add((randAmount > 0 ? amount + "-" + (amount + randAmount) : amount) + " " + unit.emoji() + " " + unit.localizedName);
}
@Override @Override
public void death(Unit unit){ public void death(Unit unit){
if(!Vars.net.client()){ if(!Vars.net.client()){

View File

@@ -1,16 +1,19 @@
package mindustry.entities.abilities; package mindustry.entities.abilities;
import arc.*;
import arc.math.*; import arc.math.*;
import arc.scene.ui.layout.Table;
import arc.util.*; import arc.util.*;
import mindustry.content.*; import mindustry.content.*;
import mindustry.entities.*; import mindustry.entities.*;
import mindustry.gen.*; import mindustry.gen.*;
import mindustry.type.*; import mindustry.type.*;
import mindustry.world.meta.*;
import static mindustry.Vars.tilesize;
public class StatusFieldAbility extends Ability{ public class StatusFieldAbility extends Ability{
public StatusEffect effect; public StatusEffect effect;
public float duration = 60, reload = 100, range = 20; public float duration = 60, reload = 100, range = 20; //
public boolean onShoot = false; public boolean onShoot = false;
public Effect applyEffect = Fx.none; public Effect applyEffect = Fx.none;
public Effect activeEffect = Fx.overdriveWave; public Effect activeEffect = Fx.overdriveWave;
@@ -29,8 +32,12 @@ public class StatusFieldAbility extends Ability{
} }
@Override @Override
public String localized(){ public void addStats(Table t){
return Core.bundle.format("ability.statusfield", effect.emoji()); t.add("[lightgray]" + Stat.reload.localized() + ": [white]" + Strings.autoFixed(60f / reload, 2) + " " + StatUnit.perSecond.localized());
t.row();
t.add("[lightgray]" + Stat.shootRange.localized() + ": [white]" + Strings.autoFixed(range / tilesize, 2) + " " + StatUnit.blocks.localized());
t.row();
t.add(effect.emoji() + " " + effect.localizedName);
} }
@Override @Override

View File

@@ -3,6 +3,7 @@ package mindustry.entities.abilities;
import arc.*; import arc.*;
import arc.graphics.g2d.*; import arc.graphics.g2d.*;
import arc.math.*; import arc.math.*;
import arc.scene.ui.layout.*;
import arc.util.*; import arc.util.*;
import mindustry.*; import mindustry.*;
import mindustry.content.*; import mindustry.content.*;
@@ -11,6 +12,7 @@ import mindustry.game.EventType.*;
import mindustry.gen.*; import mindustry.gen.*;
import mindustry.graphics.*; import mindustry.graphics.*;
import mindustry.type.*; import mindustry.type.*;
import mindustry.world.meta.*;
import static mindustry.Vars.*; import static mindustry.Vars.*;
@@ -32,6 +34,13 @@ public class UnitSpawnAbility extends Ability{
public UnitSpawnAbility(){ public UnitSpawnAbility(){
} }
@Override
public void addStats(Table t){
t.add("[lightgray]" + Stat.buildTime.localized() + ": [white]" + Strings.autoFixed(spawnTime / 60f, 2) + " " + StatUnit.seconds.localized());
t.row();
t.add(unit.emoji() + " " + unit.localizedName);
}
@Override @Override
public void update(Unit unit){ public void update(Unit unit){
timer += Time.delta * state.rules.unitBuildSpeed(unit.team); timer += Time.delta * state.rules.unitBuildSpeed(unit.team);

View File

@@ -125,6 +125,10 @@ public class BulletType extends Content implements Cloneable{
/** Whether to move the bullet back depending on delta to fix some delta-time related issues. /** Whether to move the bullet back depending on delta to fix some delta-time related issues.
* Do not change unless you know what you're doing. */ * Do not change unless you know what you're doing. */
public boolean backMove = true; public boolean backMove = true;
/** If true, the angle param in create is ignored. */
public boolean ignoreSpawnAngle = false;
/** Chance for this bullet to be created. */
public float createChance = 1;
/** Bullet range positive override. */ /** Bullet range positive override. */
public float maxRange = -1f; public float maxRange = -1f;
/** When > 0, overrides range even if smaller than base range. */ /** When > 0, overrides range even if smaller than base range. */
@@ -194,10 +198,14 @@ public class BulletType extends Content implements Cloneable{
public @Nullable UnitType spawnUnit; public @Nullable UnitType spawnUnit;
/** Unit spawned when this bullet hits something or despawns due to it hitting the end of its lifetime. */ /** Unit spawned when this bullet hits something or despawns due to it hitting the end of its lifetime. */
public @Nullable UnitType despawnUnit; public @Nullable UnitType despawnUnit;
/** The chance for despawn units to spawn. */
public float despawnUnitChance = 1;
/** Amount of units spawned when this bullet despawns. */ /** Amount of units spawned when this bullet despawns. */
public int despawnUnitCount = 1; public int despawnUnitCount = 1;
/** Random offset distance from the original bullet despawn/hit coordinate. */ /** Random offset distance from the original bullet despawn/hit coordinate. */
public float despawnUnitRadius = 0.1f; public float despawnUnitRadius = 0.1f;
/** If true, units spawned when this bullet despawns face away from the bullet instead of the same direction as the bullet. */
public boolean faceOutwards = false;
/** Extra visual parts for this bullet. */ /** Extra visual parts for this bullet. */
public Seq<DrawPart> parts = new Seq<>(); public Seq<DrawPart> parts = new Seq<>();
@@ -489,9 +497,11 @@ public class BulletType extends Content implements Cloneable{
} }
public void createUnits(Bullet b, float x, float y){ public void createUnits(Bullet b, float x, float y){
if(despawnUnit != null){ if(despawnUnit != null && Mathf.chance(despawnUnitChance)){
for(int i = 0; i < despawnUnitCount; i++){ for(int i = 0; i < despawnUnitCount; i++){
despawnUnit.spawn(b.team, x + Mathf.range(despawnUnitRadius), y + Mathf.range(despawnUnitRadius)); Tmp.v1.rnd(Mathf.random(despawnUnitRadius));
var u = despawnUnit.spawn(b.team, x + Tmp.v1.x, y + Tmp.v1.y);
u.rotation = faceOutwards ? Tmp.v1.angle() : b.rotation();
} }
} }
} }
@@ -730,6 +740,8 @@ public class BulletType extends Content implements Cloneable{
} }
public @Nullable Bullet create(@Nullable Entityc owner, @Nullable Entityc shooter, Team team, float x, float y, float angle, float damage, float velocityScl, float lifetimeScl, Object data, @Nullable Mover mover, float aimX, float aimY){ public @Nullable Bullet create(@Nullable Entityc owner, @Nullable Entityc shooter, Team team, float x, float y, float angle, float damage, float velocityScl, float lifetimeScl, Object data, @Nullable Mover mover, float aimX, float aimY){
if(!Mathf.chance(createChance)) return null;
if(ignoreSpawnAngle) angle = 0;
if(spawnUnit != null){ if(spawnUnit != null){
//don't spawn units clientside! //don't spawn units clientside!
if(!net.client()){ if(!net.client()){
@@ -767,9 +779,12 @@ public class BulletType extends Content implements Cloneable{
bullet.time = 0f; bullet.time = 0f;
bullet.originX = x; bullet.originX = x;
bullet.originY = y; bullet.originY = y;
if(!(aimX == -1f && aimY == -1f)){
bullet.aimTile = world.tileWorld(aimX, aimY); bullet.aimTile = world.tileWorld(aimX, aimY);
}
bullet.aimX = aimX; bullet.aimX = aimX;
bullet.aimY = aimY; bullet.aimY = aimY;
bullet.initVel(angle, speed * velocityScl); bullet.initVel(angle, speed * velocityScl);
if(backMove){ if(backMove){
bullet.set(x - bullet.vel.x * Time.delta, y - bullet.vel.y * Time.delta); bullet.set(x - bullet.vel.x * Time.delta, y - bullet.vel.y * Time.delta);

View File

@@ -39,6 +39,8 @@ public class LightningBulletType extends BulletType{
@Override @Override
public void init(Bullet b){ public void init(Bullet b){
super.init(b);
Lightning.create(b, lightningColor, damage, b.x, b.y, b.rotation(), lightningLength + Mathf.random(lightningLengthRand)); Lightning.create(b, lightningColor, damage, b.x, b.y, b.rotation(), lightningLength + Mathf.random(lightningLengthRand));
} }
} }

View File

@@ -1324,7 +1324,7 @@ abstract class BuildingComp implements Posc, Teamc, Healthc, Buildingc, Timerc,
//I really do not like that the bullet will not destroy derelict //I really do not like that the bullet will not destroy derelict
//but I can't do anything about it without using a random team //but I can't do anything about it without using a random team
//which may or may not cause issues with servers and js //which may or may not cause issues with servers and js
block.destroyBullet.create(this, Team.derelict, x, y, 0); block.destroyBullet.create(this, block.destroyBulletSameTeam ? team : Team.derelict, x, y, Mathf.randomSeed(id(), 360f));
} }
} }
@@ -1373,6 +1373,7 @@ abstract class BuildingComp implements Posc, Teamc, Healthc, Buildingc, Timerc,
}); });
} }
//cap explosiveness so fluid tanks/vaults don't instakill units
Damage.dynamicExplosion(x, y, flammability, explosiveness * 3.5f, power, tilesize * block.size / 2f, state.rules.damageExplosions, block.destroyEffect); Damage.dynamicExplosion(x, y, flammability, explosiveness * 3.5f, power, tilesize * block.size / 2f, state.rules.damageExplosions, block.destroyEffect);
if(block.createRubble && !floor().solid && !floor().isLiquid){ if(block.createRubble && !floor().solid && !floor().isLiquid){
@@ -1956,6 +1957,9 @@ abstract class BuildingComp implements Posc, Teamc, Healthc, Buildingc, Timerc,
case health -> { case health -> {
health = (float)Mathf.clamp(value, 0, maxHealth); health = (float)Mathf.clamp(value, 0, maxHealth);
healthChanged(); healthChanged();
if(health <= 0f && !dead()){
Call.buildDestroyed(self());
}
} }
case team -> { case team -> {
Team team = Team.get((int)value); Team team = Team.get((int)value);
@@ -1996,7 +2000,7 @@ abstract class BuildingComp implements Posc, Teamc, Healthc, Buildingc, Timerc,
}else if(content instanceof Liquid liquid && liquids != null){ }else if(content instanceof Liquid liquid && liquids != null){
float amount = Mathf.clamp((float)value, 0f, block.liquidCapacity); float amount = Mathf.clamp((float)value, 0f, block.liquidCapacity);
//decreasing amount is always allowed //decreasing amount is always allowed
if(amount < liquids.get(liquid) || (acceptLiquid(self(), liquid) && (liquids.current() == liquid || liquids.currentAmount() <= 0.1f))){ if(amount < liquids.get(liquid) || (acceptLiquid(self(), liquid) && (liquids.current() == liquid || liquids.currentAmount() <= 0.1f || block.consumesLiquid(liquid)))){
liquids.set(liquid, amount); liquids.set(liquid, amount);
} }
} }

View File

@@ -195,7 +195,7 @@ abstract class BulletComp implements Timedc, Damagec, Hitboxc, Teamc, Posc, Draw
} }
if(build != null && isAdded() if(build != null && isAdded()
&& checkUnderBuild(build, x, y) && checkUnderBuild(build, x * tilesize, y * tilesize)
&& build.collide(self()) && type.testCollision(self(), build) && build.collide(self()) && type.testCollision(self(), build)
&& !build.dead() && (type.collidesTeam || build.team != team) && !(type.pierceBuilding && hasCollided(build.id))){ && !build.dead() && (type.collidesTeam || build.team != team) && !(type.pierceBuilding && hasCollided(build.id))){

View File

@@ -34,7 +34,7 @@ import static mindustry.logic.GlobalVars.*;
abstract class UnitComp implements Healthc, Physicsc, Hitboxc, Statusc, Teamc, Itemsc, Rotc, Unitc, Weaponsc, Drawc, Boundedc, Syncc, Shieldc, Displayable, Ranged, Minerc, Builderc, Senseable, Settable{ abstract class UnitComp implements Healthc, Physicsc, Hitboxc, Statusc, Teamc, Itemsc, Rotc, Unitc, Weaponsc, Drawc, Boundedc, Syncc, Shieldc, Displayable, Ranged, Minerc, Builderc, Senseable, Settable{
@Import boolean hovering, dead, disarmed; @Import boolean hovering, dead, disarmed;
@Import float x, y, rotation, elevation, maxHealth, drag, armor, hitSize, health, ammo, dragMultiplier; @Import float x, y, rotation, elevation, maxHealth, drag, armor, hitSize, health, shield, ammo, dragMultiplier;
@Import Team team; @Import Team team;
@Import int id; @Import int id;
@Import @Nullable Tile mineTile; @Import @Nullable Tile mineTile;
@@ -208,6 +208,7 @@ abstract class UnitComp implements Healthc, Physicsc, Hitboxc, Statusc, Teamc, I
case itemCapacity -> type.itemCapacity; case itemCapacity -> type.itemCapacity;
case rotation -> rotation; case rotation -> rotation;
case health -> health; case health -> health;
case shield -> shield;
case maxHealth -> maxHealth; case maxHealth -> maxHealth;
case ammo -> !state.rules.unitAmmo ? type.ammoCapacity : ammo; case ammo -> !state.rules.unitAmmo ? type.ammoCapacity : ammo;
case ammoCapacity -> type.ammoCapacity; case ammoCapacity -> type.ammoCapacity;
@@ -261,7 +262,12 @@ abstract class UnitComp implements Healthc, Physicsc, Hitboxc, Statusc, Teamc, I
@Override @Override
public void setProp(LAccess prop, double value){ public void setProp(LAccess prop, double value){
switch(prop){ switch(prop){
case health -> health = (float)Mathf.clamp(value, 0, maxHealth); case health -> {
health = (float)Mathf.clamp(value, 0, maxHealth);
if(health <= 0f && !dead){
kill();
}
}
case x -> x = World.unconv((float)value); case x -> x = World.unconv((float)value);
case y -> y = World.unconv((float)value); case y -> y = World.unconv((float)value);
case rotation -> rotation = (float)value; case rotation -> rotation = (float)value;
@@ -297,7 +303,7 @@ abstract class UnitComp implements Healthc, Physicsc, Hitboxc, Statusc, Teamc, I
Unit unit = ut.create(team()); Unit unit = ut.create(team());
if(pay.canPickup(unit)) pay.addPayload(new UnitPayload(unit)); if(pay.canPickup(unit)) pay.addPayload(new UnitPayload(unit));
}else if(value == null && pay.payloads().size > 0){ }else if(value == null && pay.payloads().size > 0){
pay.dropLastPayload(); pay.payloads().pop();
} }
} }
} }

View File

@@ -7,7 +7,7 @@ import arc.util.*;
public class HoverPart extends DrawPart{ public class HoverPart extends DrawPart{
public float radius = 4f; public float radius = 4f;
public float x, y, rotation, phase = 50f, stroke = 3f, minStroke = 0.12f; public float x, y, rotation, phase = 50f, stroke = 3f, minStroke = 0.12f;
public int circles = 2; public int circles = 2, sides = 4;
public Color color = Color.white; public Color color = Color.white;
public boolean mirror = false; public boolean mirror = false;
public float layer = -1f, layerOffset = 0f; public float layer = -1f, layerOffset = 0f;
@@ -40,7 +40,7 @@ public class HoverPart extends DrawPart{
rx = params.x + Tmp.v1.x, rx = params.x + Tmp.v1.x,
ry = params.y + Tmp.v1.y; ry = params.y + Tmp.v1.y;
Lines.square(rx, ry, radius * fin, params.rotation - 45f); Lines.poly(rx, ry, sides, radius * fin, params.rotation);
} }
} }

View File

@@ -150,11 +150,6 @@ public class SectorInfo{
state.rules.winWave = winWave; state.rules.winWave = winWave;
state.rules.attackMode = attack; state.rules.attackMode = attack;
//assign new wave patterns when the version changes
if(waveVersion != Waves.waveVersion && state.rules.sector.preset == null){
state.rules.spawns = Waves.generate(state.rules.sector.threat);
}
CoreBuild entity = state.rules.defaultTeam.core(); CoreBuild entity = state.rules.defaultTeam.core();
if(entity != null){ if(entity != null){
entity.items.clear(); entity.items.clear();
@@ -180,7 +175,6 @@ public class SectorInfo{
spawnPosition = entity.pos(); spawnPosition = entity.pos();
} }
waveVersion = Waves.waveVersion;
waveSpacing = state.rules.waveSpacing; waveSpacing = state.rules.waveSpacing;
wave = state.wave; wave = state.wave;
winWave = state.rules.winWave; winWave = state.rules.winWave;

View File

@@ -40,6 +40,10 @@ public class Team implements Comparable<Team>{
static{ static{
Mathf.rand.setSeed(8); Mathf.rand.setSeed(8);
//fix random seed shift caused by new team
for(int i = 0; i < 3; i++){
Mathf.random();
}
//create the whole 256 placeholder teams //create the whole 256 placeholder teams
for(int i = 7; i < all.length; i++){ for(int i = 7; i < all.length; i++){
new Team(i, "team#" + i, Color.HSVtoRGB(360f * Mathf.random(), 100f * Mathf.random(0.4f, 1f), 100f * Mathf.random(0.6f, 1f), 1f)); new Team(i, "team#" + i, Color.HSVtoRGB(360f * Mathf.random(), 100f * Mathf.random(0.4f, 1f), 100f * Mathf.random(0.6f, 1f), 1f));

View File

@@ -10,7 +10,7 @@ import mindustry.type.*;
import static mindustry.content.UnitTypes.*; import static mindustry.content.UnitTypes.*;
public class Waves{ public class Waves{
public static final int waveVersion = 6; public static final int waveVersion = 7;
private Seq<SpawnGroup> spawns; private Seq<SpawnGroup> spawns;
@@ -303,7 +303,7 @@ public class Waves{
Intc createProgression = start -> { Intc createProgression = start -> {
//main sequence //main sequence
UnitType[] curSpecies = Structs.random(fspec); UnitType[] curSpecies = Structs.random(rand, fspec);
int curTier = 0; int curTier = 0;
for(int i = start; i < cap;){ for(int i = start; i < cap;){
@@ -348,7 +348,7 @@ public class Waves{
//small chance to switch species //small chance to switch species
if(rand.chance(0.3)){ if(rand.chance(0.3)){
curSpecies = Structs.random(fspec); curSpecies = Structs.random(rand, fspec);
} }
} }
}; };
@@ -368,7 +368,7 @@ public class Waves{
int bossTier = difficulty < 0.6 ? 3 : 4; int bossTier = difficulty < 0.6 ? 3 : 4;
//main boss progression //main boss progression
out.add(new SpawnGroup(Structs.random(species)[bossTier]){{ out.add(new SpawnGroup(Structs.random(rand, species)[bossTier]){{
unitAmount = 1; unitAmount = 1;
begin = bossWave; begin = bossWave;
spacing = bossSpacing; spacing = bossSpacing;
@@ -380,7 +380,7 @@ public class Waves{
}}); }});
//alt boss progression //alt boss progression
out.add(new SpawnGroup(Structs.random(species)[bossTier]){{ out.add(new SpawnGroup(Structs.random(rand, species)[bossTier]){{
unitAmount = 1; unitAmount = 1;
begin = bossWave + rand.random(3, 5) * bossSpacing; begin = bossWave + rand.random(3, 5) * bossSpacing;
spacing = bossSpacing; spacing = bossSpacing;
@@ -394,7 +394,7 @@ public class Waves{
int finalBossStart = 120 + rand.random(30); int finalBossStart = 120 + rand.random(30);
//final boss waves //final boss waves
out.add(new SpawnGroup(Structs.random(species)[bossTier]){{ out.add(new SpawnGroup(Structs.random(rand, species)[bossTier]){{
unitAmount = 1; unitAmount = 1;
begin = finalBossStart; begin = finalBossStart;
spacing = bossSpacing/2; spacing = bossSpacing/2;
@@ -406,7 +406,7 @@ public class Waves{
}}); }});
//final boss waves (alt) //final boss waves (alt)
out.add(new SpawnGroup(Structs.random(species)[bossTier]){{ out.add(new SpawnGroup(Structs.random(rand, species)[bossTier]){{
unitAmount = 1; unitAmount = 1;
begin = finalBossStart + 15; begin = finalBossStart + 15;
spacing = bossSpacing/2; spacing = bossSpacing/2;
@@ -419,10 +419,10 @@ public class Waves{
//add megas to heal the base. //add megas to heal the base.
if(attack && difficulty >= 0.5){ if(attack && difficulty >= 0.5){
int amount = Mathf.random(1, 3 + (int)(difficulty*2)); int amount = rand.random(1, 3 + (int)(difficulty*2));
for(int i = 0; i < amount; i++){ for(int i = 0; i < amount; i++){
int wave = Mathf.random(3, 20); int wave = rand.random(3, 20);
out.add(new SpawnGroup(mega){{ out.add(new SpawnGroup(mega){{
unitAmount = 1; unitAmount = 1;
begin = wave; begin = wave;

View File

@@ -352,7 +352,7 @@ public class BlockRenderer{
var bounds = camera.bounds(Tmp.r3).grow(tilesize * 2f); var bounds = camera.bounds(Tmp.r3).grow(tilesize * 2f);
//draw floor lights //draw floor lights
floorTree.intersect(bounds, tile -> lightview.add(tile)); floorTree.intersect(bounds, lightview::add);
blockTree.intersect(bounds, tile -> { blockTree.intersect(bounds, tile -> {
if(tile.build == null || procLinks.add(tile.build.id)){ if(tile.build == null || procLinks.add(tile.build.id)){

View File

@@ -182,7 +182,7 @@ public class LightRenderer{
} }
public boolean enabled(){ public boolean enabled(){
return state.rules.lighting && state.rules.ambientLight.a > 0.0001f; return state.rules.lighting && state.rules.ambientLight.a > 0.0001f && renderer.drawLight;
} }
public void draw(){ public void draw(){

View File

@@ -18,10 +18,11 @@ public class PlanetParams{
public Vec3 camUp = new Vec3(0f, 1f, 0f); public Vec3 camUp = new Vec3(0f, 1f, 0f);
/** the unit length direction vector of the camera **/ /** the unit length direction vector of the camera **/
public Vec3 camDir = new Vec3(0, 0, -1); public Vec3 camDir = new Vec3(0, 0, -1);
/** The sun/main planet of the solar system from which everything is rendered. */ /** The sun/main planet of the solar system from which everything is rendered. Deprecated use planet.solarSystem instead */
public Planet solarSystem = Planets.sun; public @Deprecated Planet solarSystem = Planets.sun;
/** Planet being looked at. */ /** Planet being looked at. */
public Planet planet = Planets.serpulo; public Planet planet = Planets.serpulo;
/** Zoom relative to planet. */ /** Zoom relative to planet. */
public float zoom = 1f; public float zoom = 1f;
/** Alpha of orbit rings and other UI elements. */ /** Alpha of orbit rings and other UI elements. */

View File

@@ -102,8 +102,9 @@ public class PlanetRenderer implements Disposable{
Events.fire(Trigger.universeDraw); Events.fire(Trigger.universeDraw);
renderPlanet(params.solarSystem, params); Planet solarSystem = params.planet.solarSystem;
renderTransparent(params.solarSystem, params); renderPlanet(solarSystem, params);
renderTransparent(solarSystem, params);
bloom.render(); bloom.render();

View File

@@ -477,7 +477,7 @@ public class DesktopInput extends InputHandler{
schematicY += shiftY; schematicY += shiftY;
} }
if(Core.input.keyTap(Binding.deselect) && !isPlacing() && !commandMode){ if(Core.input.keyTap(Binding.deselect) && !isPlacing() && player.unit().plans.isEmpty() && !commandMode){
player.unit().mineTile = null; player.unit().mineTile = null;
} }

View File

@@ -299,6 +299,8 @@ public abstract class InputHandler implements InputProcessor, GestureListener{
if(build == null || build.team() != player.team() || !build.block.commandable) continue; if(build == null || build.team() != player.team() || !build.block.commandable) continue;
build.onCommand(target); build.onCommand(target);
build.lastAccessed = player.name;
if(!state.isPaused() && player == Vars.player){ if(!state.isPaused() && player == Vars.player){
Fx.moveCommand.at(target); Fx.moveCommand.at(target);
} }
@@ -364,13 +366,19 @@ public abstract class InputHandler implements InputProcessor, GestureListener{
@Remote(targets = Loc.both, called = Loc.server) @Remote(targets = Loc.both, called = Loc.server)
public static void requestBuildPayload(Player player, Building build){ public static void requestBuildPayload(Player player, Building build){
if(player == null || !(player.unit() instanceof Payloadc pay)) return; if(player == null || !(player.unit() instanceof Payloadc pay) || build == null) return;
Unit unit = player.unit(); Unit unit = player.unit();
if(build != null && state.teams.canInteract(unit.team, build.team) if(!unit.within(build, tilesize * build.block.size * 1.2f + tilesize * 5f)) return;
&& unit.within(build, tilesize * build.block.size * 1.2f + tilesize * 5f)){
if(net.server() && !netServer.admins.allowAction(player, ActionType.pickupBlock, build.tile, action -> {
action.unit = unit;
})){
throw new ValidateException(player, "Player cannot pick up a block.");
}
if(state.teams.canInteract(unit.team, build.team)){
//pick up block's payload //pick up block's payload
Payload current = build.getPayload(); Payload current = build.getPayload();
if(current != null && pay.canPickupPayload(current)){ if(current != null && pay.canPickupPayload(current)){
@@ -424,6 +432,14 @@ public abstract class InputHandler implements InputProcessor, GestureListener{
Payloadc pay = (Payloadc)player.unit(); Payloadc pay = (Payloadc)player.unit();
if(pay.payloads().isEmpty()) return;
if(net.server() && !netServer.admins.allowAction(player, ActionType.dropPayload, player.unit().tileOn(), action -> {
action.payload = pay.payloads().peek();
})){
throw new ValidateException(player, "Player cannot drop a payload.");
}
//apply margin of error //apply margin of error
Tmp.v1.set(x, y).sub(pay).limit(tilesize * 4f).add(pay); Tmp.v1.set(x, y).sub(pay).limit(tilesize * 4f).add(pay);
float cx = Tmp.v1.x, cy = Tmp.v1.y; float cx = Tmp.v1.x, cy = Tmp.v1.y;
@@ -489,7 +505,7 @@ public abstract class InputHandler implements InputProcessor, GestureListener{
throw new ValidateException(player, "Player cannot configure a tile."); throw new ValidateException(player, "Player cannot configure a tile.");
} }
build.configured(player == null || player.dead() ? null : player.unit(), value); build.configured(player == null || player.dead() ? null : player.unit(), value);
Core.app.post(() -> Events.fire(new ConfigEvent(build, player, value))); Events.fire(new ConfigEvent(build, player, value));
} }
//only useful for servers or local mods, and is not replicated across clients //only useful for servers or local mods, and is not replicated across clients
@@ -857,8 +873,17 @@ public abstract class InputHandler implements InputProcessor, GestureListener{
Events.fire(Trigger.unitCommandAttack); Events.fire(Trigger.unitCommandAttack);
} }
int maxChunkSize = 200;
if(ids.length > maxChunkSize){
for(int i = 0; i < ids.length; i += maxChunkSize){
int[] data = Arrays.copyOfRange(ids, i, Math.min(i + maxChunkSize, ids.length));
Call.commandUnits(player, data, attack instanceof Building b ? b : null, attack instanceof Unit u ? u : null, target);
}
}else{
Call.commandUnits(player, ids, attack instanceof Building b ? b : null, attack instanceof Unit u ? u : null, target); Call.commandUnits(player, ids, attack instanceof Building b ? b : null, attack instanceof Unit u ? u : null, target);
} }
}
if(commandBuildings.size > 0){ if(commandBuildings.size > 0){
Call.commandBuilding(player, commandBuildings.mapInt(b -> b.pos()).toArray(), target); Call.commandBuilding(player, commandBuildings.mapInt(b -> b.pos()).toArray(), target);

View File

@@ -201,7 +201,7 @@ public class MobileInput extends InputHandler implements GestureListener{
//rotate button //rotate button
table.button(Icon.right, Styles.clearNoneTogglei, () -> { table.button(Icon.right, Styles.clearNoneTogglei, () -> {
if(block != null && block.rotate && block.quickRotate){ if(block != null && block.rotate){
rotation = Mathf.mod(rotation + 1, 4); rotation = Mathf.mod(rotation + 1, 4);
}else{ }else{
schematicMode = !schematicMode; schematicMode = !schematicMode;
@@ -415,7 +415,7 @@ public class MobileInput extends InputHandler implements GestureListener{
//draw last placed plan //draw last placed plan
if(!plan.breaking && plan == lastPlaced && plan.block != null){ if(!plan.breaking && plan == lastPlaced && plan.block != null){
int rot = plan.block.planRotation(rotation); int rot = plan.block.planRotation(plan.rotation);
boolean valid = validPlace(tile.x, tile.y, plan.block, rot); boolean valid = validPlace(tile.x, tile.y, plan.block, rot);
Draw.mixcol(); Draw.mixcol();
plan.block.drawPlace(tile.x, tile.y, rot, valid); plan.block.drawPlace(tile.x, tile.y, rot, valid);

View File

@@ -16,6 +16,7 @@ import mindustry.game.Teams.*;
import mindustry.gen.*; import mindustry.gen.*;
import mindustry.maps.Map; import mindustry.maps.Map;
import mindustry.world.*; import mindustry.world.*;
import mindustry.world.meta.*;
import java.io.*; import java.io.*;
import java.util.*; import java.util.*;
@@ -161,6 +162,11 @@ public abstract class SaveVersion extends SaveFileReader{
} }
} }
//replace the default serpulo env with erekir
if(state.rules.planet == Planets.serpulo && state.rules.hasEnv(Env.scorching)){
state.rules.planet = Planets.erekir;
}
if(!headless){ if(!headless){
Tmp.v1.tryFromString(map.get("viewpos")); Tmp.v1.tryFromString(map.get("viewpos"));
Core.camera.position.set(Tmp.v1); Core.camera.position.set(Tmp.v1);

View File

@@ -2,6 +2,7 @@ package mindustry.logic;
import arc.*; import arc.*;
import arc.files.*; import arc.files.*;
import arc.graphics.*;
import arc.math.*; import arc.math.*;
import arc.struct.*; import arc.struct.*;
import arc.util.*; import arc.util.*;
@@ -12,6 +13,7 @@ import mindustry.game.*;
import mindustry.logic.LExecutor.*; import mindustry.logic.LExecutor.*;
import mindustry.type.*; import mindustry.type.*;
import mindustry.world.*; import mindustry.world.*;
import mindustry.world.blocks.legacy.*;
import java.io.*; import java.io.*;
@@ -75,11 +77,18 @@ public class GlobalVars{
for(Block block : Vars.content.blocks()){ for(Block block : Vars.content.blocks()){
//only register blocks that have no item equivalent (this skips sand) //only register blocks that have no item equivalent (this skips sand)
if(content.item(block.name) == null){ if(content.item(block.name) == null & !(block instanceof LegacyBlock)){
put("@" + block.name, block); put("@" + block.name, block);
} }
} }
for(var entry : Colors.getColors().entries()){
//ignore uppercase variants, they are duplicates
if(Character.isUpperCase(entry.key.charAt(0))) continue;
put("@color" + Strings.capitalize(entry.key), entry.value.toDoubleBits());
}
//used as a special value for any environmental solid block //used as a special value for any environmental solid block
put("@solid", Blocks.stoneWall); put("@solid", Blocks.stoneWall);

View File

@@ -20,6 +20,7 @@ public enum LAccess{
health, health,
maxHealth, maxHealth,
heat, heat,
shield,
efficiency, efficiency,
progress, progress,
timescale, timescale,
@@ -45,6 +46,7 @@ public enum LAccess{
name, name,
payloadCount, payloadCount,
payloadType, payloadType,
id,
//values with parameters are considered controllable //values with parameters are considered controllable
enabled("to"), //"to" is standard for single parameter access enabled("to"), //"to" is standard for single parameter access

View File

@@ -34,7 +34,7 @@ public class LAssembler{
Seq<LStatement> st = read(data, privileged); Seq<LStatement> st = read(data, privileged);
asm.instructions = st.map(l -> l.build(asm)).filter(l -> l != null).toArray(LInstruction.class); asm.instructions = st.map(l -> l.build(asm)).retainAll(l -> l != null).toArray(LInstruction.class);
return asm; return asm;
} }

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