Compare commits
730 Commits
| Author | SHA1 | Date | |
|---|---|---|---|
|
|
520d122d82 | ||
|
|
7ab9c6fd9c | ||
|
|
4d200276d2 | ||
|
|
c335722de5 | ||
|
|
25b26be87b | ||
|
|
e714285671 | ||
|
|
dd3ce95264 | ||
|
|
564e81e734 | ||
|
|
dc63112915 | ||
|
|
bc94e24874 | ||
|
|
94fe92d67d | ||
|
|
047d39d129 | ||
|
|
b6d27c16be | ||
|
|
7c52444e3c | ||
|
|
1f85d0d24f | ||
|
|
4a53a80b21 | ||
|
|
cee09dd167 | ||
|
|
39227774e1 | ||
|
|
6cd778783e | ||
|
|
5db4c67477 | ||
|
|
0f87942b16 | ||
|
|
3dd7412ed8 | ||
|
|
43d164d54b | ||
|
|
d09695a946 | ||
|
|
5976ed6983 | ||
|
|
d739269f59 | ||
|
|
72c28f7098 | ||
|
|
f2d83f3599 | ||
|
|
b611e0f9f4 | ||
|
|
f59c439f2f | ||
|
|
e6daf63a5a | ||
|
|
00ae28847e | ||
|
|
445e147c16 | ||
|
|
410f4f69a1 | ||
|
|
9e2251028b | ||
|
|
7f6907e14f | ||
|
|
c6829c23d4 | ||
|
|
70293a4864 | ||
|
|
29855243cb | ||
|
|
16358dbd6a | ||
|
|
83d28461f0 | ||
|
|
874cba7ad3 | ||
|
|
45baeb4933 | ||
|
|
8b35b44489 | ||
|
|
1289e20990 | ||
|
|
3593803ad9 | ||
|
|
0d89654103 | ||
|
|
aa7ba6548c | ||
|
|
9b02d26856 | ||
|
|
30c773b304 | ||
|
|
738b96b94b | ||
|
|
151743021b | ||
|
|
dbbb27ec0f | ||
|
|
89e942ee35 | ||
|
|
5ec0e9dc9f | ||
|
|
b40615d9e6 | ||
|
|
307943c098 | ||
|
|
ebb40145ac | ||
|
|
ae272f079b | ||
|
|
587c8c280c | ||
|
|
7bcfaf54ef | ||
|
|
bcee2e7083 | ||
|
|
ccf85b81c8 | ||
|
|
126cca9e86 | ||
|
|
688b5b9eea | ||
|
|
0496d2108c | ||
|
|
06e63dad45 | ||
|
|
3b8f789955 | ||
|
|
be751f5b28 | ||
|
|
9a7f8bb573 | ||
|
|
d34631458e | ||
|
|
74f1688dd2 | ||
|
|
9745c2b7fd | ||
|
|
bedd8f612a | ||
|
|
38de095a2e | ||
|
|
8c56568f23 | ||
|
|
d14c42d8ba | ||
|
|
bed0bd135e | ||
|
|
b3e111ebbb | ||
|
|
2c77477987 | ||
|
|
397fd087f2 | ||
|
|
0919063ca3 | ||
|
|
51daa82a1b | ||
|
|
e60fff43bd | ||
|
|
a5eda4fb2e | ||
|
|
c7ad9d0250 | ||
|
|
c5cf6f0af6 | ||
|
|
a3dbbe63c4 | ||
|
|
31bed37976 | ||
|
|
4f845202f8 | ||
|
|
cac29c4ecc | ||
|
|
0acb112f29 | ||
|
|
778e7d5f3f | ||
|
|
1b254745e9 | ||
|
|
1373381554 | ||
|
|
2289f29bd5 | ||
|
|
552d6a2e9f | ||
|
|
9aa45b2a7c | ||
|
|
ccd2727ab5 | ||
|
|
820fd0d7fc | ||
|
|
a4972886a3 | ||
|
|
552353972e | ||
|
|
db0691f32f | ||
|
|
a36e31c4b4 | ||
|
|
23f1d24c45 | ||
|
|
2b5ff56460 | ||
|
|
dbafdfb312 | ||
|
|
bb06c3f1e9 | ||
|
|
72c67f6c9b | ||
|
|
ea27fa53bf | ||
|
|
8bbd58053a | ||
|
|
f1b52164c9 | ||
|
|
6cfcffd04e | ||
|
|
ddd77b2081 | ||
|
|
f581aa3332 | ||
|
|
8126e970f3 | ||
|
|
52ec9f4296 | ||
|
|
cc17962d93 | ||
|
|
6c7d506e42 | ||
|
|
c1d3cdc5cb | ||
|
|
d85995f6fd | ||
|
|
bc622bd7ba | ||
|
|
027b996ad6 | ||
|
|
0bed338141 | ||
|
|
43922edac8 | ||
|
|
c4e1719c0c | ||
|
|
4deddc6def | ||
|
|
6f88684040 | ||
|
|
1a83d35923 | ||
|
|
5e8f5f1d62 | ||
|
|
d610cd6105 | ||
|
|
681bd19866 | ||
|
|
8eed0f8711 | ||
|
|
61a83d0f6e | ||
|
|
fc23ad9910 | ||
|
|
eba58c73e6 | ||
|
|
ba0335e5ef | ||
|
|
7de6bd23ea | ||
|
|
102d234129 | ||
|
|
583a1c69b6 | ||
|
|
1314dfe53e | ||
|
|
abc80b9aab | ||
|
|
2ab9783639 | ||
|
|
05f158fd51 | ||
|
|
13297023fe | ||
|
|
9cc392a9ed | ||
|
|
eb1d0b8362 | ||
|
|
7a01be6dba | ||
|
|
6a3b243937 | ||
|
|
68016cc2b5 | ||
|
|
b2f5312bf5 | ||
|
|
6a3638c3c2 | ||
|
|
3ca3eb5951 | ||
|
|
d043c75022 | ||
|
|
2db90408fe | ||
|
|
72577f20ba | ||
|
|
f62096dbd1 | ||
|
|
dbfbb08aaa | ||
|
|
4151d47837 | ||
|
|
c54a76fc8a | ||
|
|
95483286bf | ||
|
|
3d013fc09c | ||
|
|
b83f5c66ca | ||
|
|
288080eeac | ||
|
|
f0342b2396 | ||
|
|
e47806b9b8 | ||
|
|
4ae8a51676 | ||
|
|
e8fbfe536e | ||
|
|
b86ca1d12f | ||
|
|
1629afe491 | ||
|
|
3b1e5eadd9 | ||
|
|
df87b03e57 | ||
|
|
a8b18bea2f | ||
|
|
cdf14bb381 | ||
|
|
bce9ecc520 | ||
|
|
b692c071ba | ||
|
|
db90142a2d | ||
|
|
34b22f292c | ||
|
|
11ad5a0373 | ||
|
|
f4fabecce7 | ||
|
|
60fc2fb5cd | ||
|
|
04eba618d2 | ||
|
|
ac7b694e91 | ||
|
|
4fcb338d94 | ||
|
|
6dc3b7e729 | ||
|
|
cdb9fa0d7d | ||
|
|
2b11e1fb1e | ||
|
|
697c6a927a | ||
|
|
72b456fca2 | ||
|
|
f67e2c71e7 | ||
|
|
bee977cadc | ||
|
|
183ebb33b7 | ||
|
|
f6665de2e6 | ||
|
|
97390d25c0 | ||
|
|
3f1d957e28 | ||
|
|
e62a5888ef | ||
|
|
6d71bcd2eb | ||
|
|
2075a226e1 | ||
|
|
f55363a932 | ||
|
|
76f151789a | ||
|
|
1413b479ef | ||
|
|
b322b1165f | ||
|
|
fa02d8d280 | ||
|
|
251e10b000 | ||
|
|
6630f88613 | ||
|
|
c5c65d4475 | ||
|
|
c267743874 | ||
|
|
45ce8c8dec | ||
|
|
25c65e80cd | ||
|
|
e51ab514a8 | ||
|
|
21d64157a0 | ||
|
|
fff8f567d0 | ||
|
|
1e2e0a48a1 | ||
|
|
affa30730a | ||
|
|
b326bdf0e8 | ||
|
|
cc3694ce4a | ||
|
|
3048e38bff | ||
|
|
b88a215dc5 | ||
|
|
36e5522694 | ||
|
|
226e8b8a20 | ||
|
|
43424547f2 | ||
|
|
d2f2189441 | ||
|
|
e81cd5b68e | ||
|
|
c30cbc0f20 | ||
|
|
e79a97ed92 | ||
|
|
ac19c3f160 | ||
|
|
375837eef5 | ||
|
|
c59d3d5279 | ||
|
|
d1c506330b | ||
|
|
b81e942479 | ||
|
|
e36a70749c | ||
|
|
4db085bd07 | ||
|
|
cd7088d241 | ||
|
|
821569aafb | ||
|
|
83a059b2da | ||
|
|
0de2c95f6e | ||
|
|
fcb44e4952 | ||
|
|
af26e60a4f | ||
|
|
6b936aa7f6 | ||
|
|
f6a8c7509d | ||
|
|
deb814ce58 | ||
|
|
da4371baf8 | ||
|
|
47a2afd294 | ||
|
|
0122b735a0 | ||
|
|
9c3ddc398c | ||
|
|
0ccbe68a65 | ||
|
|
30cd6a7de6 | ||
|
|
23a2596e29 | ||
|
|
b88422b17e | ||
|
|
09a9b68331 | ||
|
|
08f63122ba | ||
|
|
355f33b0a4 | ||
|
|
90f7bbae65 | ||
|
|
4be7cf5c0e | ||
|
|
58eef49284 | ||
|
|
b030a51485 | ||
|
|
aec3e178f5 | ||
|
|
ee47d8a20a | ||
|
|
5c05c9f1d1 | ||
|
|
172f47cad6 | ||
|
|
a8b3350d61 | ||
|
|
b324194295 | ||
|
|
663fa2bd3f | ||
|
|
4ddb78e8d5 | ||
|
|
f23d203095 | ||
|
|
dfce361afc | ||
|
|
2553891c25 | ||
|
|
e4bef567b5 | ||
|
|
0daafc5ff3 | ||
|
|
d07706e039 | ||
|
|
ca2b51d4fe | ||
|
|
bae3884d96 | ||
|
|
515a6f9c8d | ||
|
|
d937af7497 | ||
|
|
a216c9c56e | ||
|
|
0e9f250e93 | ||
|
|
10e0be9d68 | ||
|
|
29d4246019 | ||
|
|
65c5d206a8 | ||
|
|
3a73a97746 | ||
|
|
a3f8ca9ca5 | ||
|
|
a046f0f11b | ||
|
|
2cc486febc | ||
|
|
3c9b3680bc | ||
|
|
0a1957eb13 | ||
|
|
75e1e6f166 | ||
|
|
327a8fc61b | ||
|
|
a857eaed74 | ||
|
|
028c189dc8 | ||
|
|
11f8e06708 | ||
|
|
0760923943 | ||
|
|
219084fe3c | ||
|
|
4f314afe21 | ||
|
|
6750cfead8 | ||
|
|
b569646310 | ||
|
|
cc207d3d7c | ||
|
|
e234ac43a6 | ||
|
|
2388091ed6 | ||
|
|
a38351d41f | ||
|
|
4d8de72a8e | ||
|
|
ab2138d8e7 | ||
|
|
46c75af9e4 | ||
|
|
8eb3c16c50 | ||
|
|
39e88ae614 | ||
|
|
4410f31888 | ||
|
|
df11dd7a74 | ||
|
|
804dd61cd9 | ||
|
|
b00c5b4cab | ||
|
|
e0d6cebb2e | ||
|
|
ab772dccd4 | ||
|
|
b244032328 | ||
|
|
421c5e2879 | ||
|
|
1a8c4d8d8a | ||
|
|
9efb1824af | ||
|
|
74de125700 | ||
|
|
64cea34a98 | ||
|
|
9c4bdc213d | ||
|
|
92c0552fd5 | ||
|
|
ff39e5f90d | ||
|
|
83c55fdbb4 | ||
|
|
7d300a273b | ||
|
|
29f36c1927 | ||
|
|
b65c3cd931 | ||
|
|
7401e7fe31 | ||
|
|
150215712b | ||
|
|
f7ccf3c04a | ||
|
|
ebb798cac3 | ||
|
|
348819d1ac | ||
|
|
a8a3453632 | ||
|
|
9b02a274f1 | ||
|
|
f093360565 | ||
|
|
d457901d2e | ||
|
|
460dbff7d1 | ||
|
|
e564602fd1 | ||
|
|
e029321e5b | ||
|
|
87d7089df3 | ||
|
|
e4f929a851 | ||
|
|
8726cde05d | ||
|
|
a189ac8613 | ||
|
|
652aa4c456 | ||
|
|
cc3ae2c66c | ||
|
|
359e59bbad | ||
|
|
40ec7fd6fc | ||
|
|
d17f0ebc51 | ||
|
|
5027b70f5a | ||
|
|
0b7c790777 | ||
|
|
5ac9e9f63c | ||
|
|
b08136e3ea | ||
|
|
ec8262418f | ||
|
|
946e36c66e | ||
|
|
00f3518349 | ||
|
|
29bf99fe1a | ||
|
|
e104591dec | ||
|
|
0fd26e68d4 | ||
|
|
53f410fee0 | ||
|
|
53206e4b31 | ||
|
|
3818bfffb4 | ||
|
|
e6afc6ef0b | ||
|
|
5eb1c1dffc | ||
|
|
66406806b7 | ||
|
|
3a6debfae6 | ||
|
|
a093fa5718 | ||
|
|
9c1f17fbdd | ||
|
|
ce3643f0b3 | ||
|
|
f1fb7d8098 | ||
|
|
3d01eeaf1c | ||
|
|
be39c31865 | ||
|
|
0d2dfadba7 | ||
|
|
2dcab97b6d | ||
|
|
31cb169002 | ||
|
|
c381499c58 | ||
|
|
8577a8cca4 | ||
|
|
7a18c4a580 | ||
|
|
40589eb9ff | ||
|
|
722370b57c | ||
|
|
573672622a | ||
|
|
12f747ae1d | ||
|
|
395dc99595 | ||
|
|
c945243795 | ||
|
|
c2262cc9cf | ||
|
|
411399e96f | ||
|
|
f833b9e0ce | ||
|
|
9955423e9a | ||
|
|
58b4265b31 | ||
|
|
671a62aed7 | ||
|
|
c94fe9c312 | ||
|
|
f46a9730a3 | ||
|
|
d45cd7c15e | ||
|
|
a84d52f5fe | ||
|
|
330d37b7a5 | ||
|
|
d2792a4e9d | ||
|
|
c50a69d42a | ||
|
|
ee689d1597 | ||
|
|
6ef8d64d46 | ||
|
|
0095e89673 | ||
|
|
55d97ea202 | ||
|
|
85b8868d2b | ||
|
|
65e92ab6fc | ||
|
|
478baf2532 | ||
|
|
0750348cb1 | ||
|
|
db6cbc5cc3 | ||
|
|
b4359c0489 | ||
|
|
977192bc54 | ||
|
|
d54b557a9f | ||
|
|
f6c97f4ff6 | ||
|
|
66f4118896 | ||
|
|
4a8f8c4ecf | ||
|
|
6d7c207b95 | ||
|
|
597bd31a0c | ||
|
|
98157f2852 | ||
|
|
5e324e71d4 | ||
|
|
3159ce6707 | ||
|
|
9b033532c8 | ||
|
|
0678592d59 | ||
|
|
00d6b0d483 | ||
|
|
598049265a | ||
|
|
c3209f2cdd | ||
|
|
b2b4602c91 | ||
|
|
b1e1fe4922 | ||
|
|
edcf3c4223 | ||
|
|
58315acfa3 | ||
|
|
ec9eadd660 | ||
|
|
7277892e33 | ||
|
|
54962a158d | ||
|
|
30dcbe1af3 | ||
|
|
e92d5d2d2d | ||
|
|
411367f294 | ||
|
|
f49e05a915 | ||
|
|
53e8eaae75 | ||
|
|
85077fbb9c | ||
|
|
f070d8c965 | ||
|
|
0dc2dc9b08 | ||
|
|
80afe5ad86 | ||
|
|
3287479ee3 | ||
|
|
b308b3eaa4 | ||
|
|
b734fb948d | ||
|
|
117399f10a | ||
|
|
9c63165ef5 | ||
|
|
5e084be6f5 | ||
|
|
5a2c987ea6 | ||
|
|
6eeb49bb37 | ||
|
|
b2bb6136de | ||
|
|
87949679f1 | ||
|
|
a9175d3ffe | ||
|
|
79ea2480cb | ||
|
|
7455fb21a4 | ||
|
|
2c3210afce | ||
|
|
ea9ba60d66 | ||
|
|
130ad59fc4 | ||
|
|
1417e94bcd | ||
|
|
3ec2ae797e | ||
|
|
222499d4c6 | ||
|
|
2a6fcb7983 | ||
|
|
05221a8043 | ||
|
|
50b4915ff9 | ||
|
|
2ef708a586 | ||
|
|
8212c54446 | ||
|
|
503254bc1a | ||
|
|
c1b0b22e4c | ||
|
|
96f5c0a03a | ||
|
|
cba1e81f3d | ||
|
|
dcc6e9827d | ||
|
|
e27f7c8332 | ||
|
|
40aebf0e77 | ||
|
|
dcf9aa9793 | ||
|
|
45591fab83 | ||
|
|
658ebf4bc5 | ||
|
|
59c2a11824 | ||
|
|
33a57b11f6 | ||
|
|
d082963167 | ||
|
|
e2fa834079 | ||
|
|
e6bfc1cee8 | ||
|
|
5b35319559 | ||
|
|
36513c709d | ||
|
|
13bca1b7bd | ||
|
|
b9c85fcaf2 | ||
|
|
50cc281e24 | ||
|
|
0211732520 | ||
|
|
33f6004c81 | ||
|
|
23d3c2dfe7 | ||
|
|
7cce9fad55 | ||
|
|
2c2d561ea6 | ||
|
|
62e33effd1 | ||
|
|
85229f15c4 | ||
|
|
2f0de58d00 | ||
|
|
6ef21f65b2 | ||
|
|
be8fec55e1 | ||
|
|
76430c1e68 | ||
|
|
a4b1d2ca51 | ||
|
|
51b93205ff | ||
|
|
832b5e62bf | ||
|
|
c78adb12aa | ||
|
|
019ffe4c5c | ||
|
|
b3d014cd9f | ||
|
|
bebc8f0342 | ||
|
|
56ed932716 | ||
|
|
4c09f6dd40 | ||
|
|
700e4564a8 | ||
|
|
f1e1eb1015 | ||
|
|
963b96a1fb | ||
|
|
87786441ff | ||
|
|
05dec4df6a | ||
|
|
a3270debac | ||
|
|
cf392d13ed | ||
|
|
574a10e5f8 | ||
|
|
eb410af371 | ||
|
|
542bf2b413 | ||
|
|
723b10af57 | ||
|
|
1394c49e48 | ||
|
|
d8ecdff698 | ||
|
|
2a71f4620e | ||
|
|
fe99c7da62 | ||
|
|
0b00747f29 | ||
|
|
ae4a41cd0b | ||
|
|
93f630bb69 | ||
|
|
d7d5ba7510 | ||
|
|
e846084942 | ||
|
|
a15b887e5c | ||
|
|
4e51586b3b | ||
|
|
d3a90d68d1 | ||
|
|
78973d3f12 | ||
|
|
c37ad9210a | ||
|
|
246591eab4 | ||
|
|
eb0481a1da | ||
|
|
ba72e9c50d | ||
|
|
54a9955e30 | ||
|
|
49bcbafdaa | ||
|
|
b4137dca6e | ||
|
|
98f869ecea | ||
|
|
0c9f2b2687 | ||
|
|
4ec4e83823 | ||
|
|
96477f7ff5 | ||
|
|
1236e8d342 | ||
|
|
47353cc808 | ||
|
|
6eadac38b7 | ||
|
|
0d26b9e4f8 | ||
|
|
cb5351419b | ||
|
|
eb9b0f69bb | ||
|
|
2c103c157a | ||
|
|
a3a071e520 | ||
|
|
5af8236643 | ||
|
|
bf07deafc6 | ||
|
|
2809a083a0 | ||
|
|
b18fd82a21 | ||
|
|
9dcb8b7bd5 | ||
|
|
9af9e1459d | ||
|
|
4d77a6d475 | ||
|
|
64a9377006 | ||
|
|
c20d7f2b4f | ||
|
|
b57cde7148 | ||
|
|
a5fd29e56d | ||
|
|
c0b819ec9b | ||
|
|
30e36d5640 | ||
|
|
0582ba1c47 | ||
|
|
141902d012 | ||
|
|
fd5b8a32a1 | ||
|
|
fc91cf6d44 | ||
|
|
a5de521e6e | ||
|
|
243c50be02 | ||
|
|
c601114a43 | ||
|
|
0fcab7db62 | ||
|
|
b89a5ff3b5 | ||
|
|
1180764dab | ||
|
|
7f292b14a7 | ||
|
|
f7f3d5bde3 | ||
|
|
f400ccc66a | ||
|
|
3a4a37cf0c | ||
|
|
42af4e6b7e | ||
|
|
f4e90bfb6b | ||
|
|
4f912f25ee | ||
|
|
3ca68e426c | ||
|
|
20f8fd79ff | ||
|
|
a101f21de0 | ||
|
|
509760eeb1 | ||
|
|
d4a7b49233 | ||
|
|
0db2e40e27 | ||
|
|
6a8fe28e70 | ||
|
|
23067674c9 | ||
|
|
7b3f5d3848 | ||
|
|
b422e041f4 | ||
|
|
80046ba505 | ||
|
|
7e0a6798be | ||
|
|
afcb187c53 | ||
|
|
883ecb97d0 | ||
|
|
4c51b97667 | ||
|
|
7d695784d1 | ||
|
|
59ca257cca | ||
|
|
4a78478ab2 | ||
|
|
557647e0bd | ||
|
|
a79557b917 | ||
|
|
ae0e78e012 | ||
|
|
899e32eeed | ||
|
|
c3732e51f7 | ||
|
|
30eda697fa | ||
|
|
bf9d61ce3a | ||
|
|
fd911539ee | ||
|
|
93fcd3ad21 | ||
|
|
4525ad2cb1 | ||
|
|
49501b997f | ||
|
|
a1cc3b4b26 | ||
|
|
8b197b378f | ||
|
|
4b73d809f0 | ||
|
|
55d490159f | ||
|
|
68024ec78c | ||
|
|
df3e455666 | ||
|
|
7cdd383509 | ||
|
|
edfc16c7b0 | ||
|
|
fbadbb1d98 | ||
|
|
b021198893 | ||
|
|
619f2c86a4 | ||
|
|
7fd91fc584 | ||
|
|
09a3928cb1 | ||
|
|
45bbc16a8f | ||
|
|
09f96b1477 | ||
|
|
c0da3e6e9f | ||
|
|
ec124652e4 | ||
|
|
479cf85a3b | ||
|
|
c3906ebae1 | ||
|
|
6ebe78e4b5 | ||
|
|
463afaafe8 | ||
|
|
49b89f5b8e | ||
|
|
6968ccc19b | ||
|
|
bc96077d73 | ||
|
|
255e15d14c | ||
|
|
544835fdda | ||
|
|
2642ed358a | ||
|
|
642d27c163 | ||
|
|
8cdb32e476 | ||
|
|
9457680bae | ||
|
|
05e4175a16 | ||
|
|
f98c4cd820 | ||
|
|
75a47a2e5f | ||
|
|
e198da53e4 | ||
|
|
c1e783ba71 | ||
|
|
3dfb8c4c20 | ||
|
|
d81500d99d | ||
|
|
7a04cb060d | ||
|
|
2a11ac6414 | ||
|
|
89e3f2a2fa | ||
|
|
5440ffcaf9 | ||
|
|
3fe38e8925 | ||
|
|
fcca002823 | ||
|
|
11e35370be | ||
|
|
2e9026936e | ||
|
|
1651dc520c | ||
|
|
ef526a6d83 | ||
|
|
be72da71de | ||
|
|
b0303e84a3 | ||
|
|
37f1760a59 | ||
|
|
8d255b3ccd | ||
|
|
1842e9d139 | ||
|
|
8f7419db71 | ||
|
|
56eb1a084c | ||
|
|
e5e41b497d | ||
|
|
52d2d25790 | ||
|
|
c3d9a501c6 | ||
|
|
baa7580e13 | ||
|
|
464feaa80e | ||
|
|
ddadbab74d | ||
|
|
84388dd27f | ||
|
|
41562ac6c1 | ||
|
|
8f9736d1d9 | ||
|
|
68434ad42e | ||
|
|
3c7ddc8375 | ||
|
|
381197d58f | ||
|
|
09b65fddb8 | ||
|
|
4050812b84 | ||
|
|
927566e038 | ||
|
|
a329c4944b | ||
|
|
47a38d2bb8 | ||
|
|
d20f4c42a7 | ||
|
|
14984f6a02 | ||
|
|
e428e33cd2 | ||
|
|
ce36b750e3 | ||
|
|
e0021f3714 | ||
|
|
810a905af3 | ||
|
|
83be0116c6 | ||
|
|
3a0b1a6cf5 | ||
|
|
5caad7493f | ||
|
|
7c70e371e2 | ||
|
|
d91a338f3d | ||
|
|
9537cad965 | ||
|
|
dc2a68573b | ||
|
|
8bba2459f2 | ||
|
|
3390c08d44 | ||
|
|
0b7156ce13 | ||
|
|
e914cb59cd | ||
|
|
58e9d641f0 | ||
|
|
82fffb1285 | ||
|
|
e7b7fc971a | ||
|
|
6ecf9b1e73 | ||
|
|
bd0085a701 | ||
|
|
a3afb7c726 | ||
|
|
d42c0e3c48 | ||
|
|
f9d7c172c4 | ||
|
|
13d726108b | ||
|
|
07a1c6c2c4 | ||
|
|
9f0a1d863e | ||
|
|
36a7e98f86 | ||
|
|
3a0f4409fc | ||
|
|
e073eca93c | ||
|
|
4e5bc8fc94 | ||
|
|
4a6791ab43 | ||
|
|
3a142507d1 | ||
|
|
78f2a21a92 | ||
|
|
b8e245f945 | ||
|
|
b1be360180 | ||
|
|
679e6bd27b | ||
|
|
f21cea225b | ||
|
|
e12aee6961 | ||
|
|
6abb549b18 | ||
|
|
161bb87eb8 | ||
|
|
7e0a6b985c | ||
|
|
d1f7fce7f9 | ||
|
|
cef2778d43 | ||
|
|
993f3973d2 | ||
|
|
4c0664c068 | ||
|
|
ebb37f4abe | ||
|
|
696d5e77ca | ||
|
|
74839a7f8d | ||
|
|
5c353b1807 | ||
|
|
3e6c54069d | ||
|
|
34a83de3cf | ||
|
|
1624bb4502 | ||
|
|
ff115ee376 | ||
|
|
5a44bf6023 | ||
|
|
7f37b97861 | ||
|
|
d5bea214cb | ||
|
|
bc2664994e | ||
|
|
aef18b8696 |
2
.github/workflows/deployment.yml
vendored
@@ -23,6 +23,8 @@ jobs:
|
|||||||
run: echo "RELEASE_VERSION=${GITHUB_REF#refs/*/}" >> $GITHUB_ENV
|
run: echo "RELEASE_VERSION=${GITHUB_REF#refs/*/}" >> $GITHUB_ENV
|
||||||
- name: Add Arc release
|
- name: Add Arc release
|
||||||
run: |
|
run: |
|
||||||
|
git config --global user.email "actions@github.com"
|
||||||
|
git config --global user.name "Github Actions"
|
||||||
git clone --depth=1 --branch=master https://github.com/Anuken/Arc ../Arc
|
git clone --depth=1 --branch=master https://github.com/Anuken/Arc ../Arc
|
||||||
cd ../Arc
|
cd ../Arc
|
||||||
git tag ${RELEASE_VERSION}
|
git tag ${RELEASE_VERSION}
|
||||||
|
|||||||
2
.github/workflows/push.yml
vendored
@@ -40,6 +40,8 @@ jobs:
|
|||||||
- name: Update JITpack repo
|
- name: Update JITpack repo
|
||||||
if: ${{ github.repository == 'Anuken/Mindustry' }}
|
if: ${{ github.repository == 'Anuken/Mindustry' }}
|
||||||
run: |
|
run: |
|
||||||
|
git config --global user.name "Github Actions"
|
||||||
|
git config --global user.email "cli@github.com"
|
||||||
cd ../
|
cd ../
|
||||||
cp -r ./Mindustry ./MindustryJitpack
|
cp -r ./Mindustry ./MindustryJitpack
|
||||||
cd MindustryJitpack
|
cd MindustryJitpack
|
||||||
|
|||||||
55
LICENSE
@@ -617,58 +617,3 @@ reviewing courts shall apply local law that most closely approximates
|
|||||||
an absolute waiver of all civil liability in connection with the
|
an absolute waiver of all civil liability in connection with the
|
||||||
Program, unless a warranty or assumption of liability accompanies a
|
Program, unless a warranty or assumption of liability accompanies a
|
||||||
copy of the Program in return for a fee.
|
copy of the Program in return for a fee.
|
||||||
|
|
||||||
END OF TERMS AND CONDITIONS
|
|
||||||
|
|
||||||
How to Apply These Terms to Your New Programs
|
|
||||||
|
|
||||||
If you develop a new program, and you want it to be of the greatest
|
|
||||||
possible use to the public, the best way to achieve this is to make it
|
|
||||||
free software which everyone can redistribute and change under these terms.
|
|
||||||
|
|
||||||
To do so, attach the following notices to the program. It is safest
|
|
||||||
to attach them to the start of each source file to most effectively
|
|
||||||
state the exclusion of warranty; and each file should have at least
|
|
||||||
the "copyright" line and a pointer to where the full notice is found.
|
|
||||||
|
|
||||||
<one line to give the program's name and a brief idea of what it does.>
|
|
||||||
Copyright (C) <year> <name of author>
|
|
||||||
|
|
||||||
This program is free software: you can redistribute it and/or modify
|
|
||||||
it under the terms of the GNU General Public License as published by
|
|
||||||
the Free Software Foundation, either version 3 of the License, or
|
|
||||||
(at your option) any later version.
|
|
||||||
|
|
||||||
This program is distributed in the hope that it will be useful,
|
|
||||||
but WITHOUT ANY WARRANTY; without even the implied warranty of
|
|
||||||
MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
|
|
||||||
GNU General Public License for more details.
|
|
||||||
|
|
||||||
You should have received a copy of the GNU General Public License
|
|
||||||
along with this program. If not, see <http://www.gnu.org/licenses/>.
|
|
||||||
|
|
||||||
Also add information on how to contact you by electronic and paper mail.
|
|
||||||
|
|
||||||
If the program does terminal interaction, make it output a short
|
|
||||||
notice like this when it starts in an interactive mode:
|
|
||||||
|
|
||||||
<program> Copyright (C) <year> <name of author>
|
|
||||||
This program comes with ABSOLUTELY NO WARRANTY; for details type `show w'.
|
|
||||||
This is free software, and you are welcome to redistribute it
|
|
||||||
under certain conditions; type `show c' for details.
|
|
||||||
|
|
||||||
The hypothetical commands `show w' and `show c' should show the appropriate
|
|
||||||
parts of the General Public License. Of course, your program's commands
|
|
||||||
might be different; for a GUI interface, you would use an "about box".
|
|
||||||
|
|
||||||
You should also get your employer (if you work as a programmer) or school,
|
|
||||||
if any, to sign a "copyright disclaimer" for the program, if necessary.
|
|
||||||
For more information on this, and how to apply and follow the GNU GPL, see
|
|
||||||
<http://www.gnu.org/licenses/>.
|
|
||||||
|
|
||||||
The GNU General Public License does not permit incorporating your program
|
|
||||||
into proprietary programs. If your program is a subroutine library, you
|
|
||||||
may consider it more useful to permit linking proprietary applications with
|
|
||||||
the library. If this is what you want to do, use the GNU Lesser General
|
|
||||||
Public License instead of this License. But first, please read
|
|
||||||
<http://www.gnu.org/philosophy/why-not-lgpl.html>.
|
|
||||||
|
|||||||
@@ -39,10 +39,13 @@ Server builds are bundled with each released build (in Releases). If you'd rathe
|
|||||||
### Android
|
### Android
|
||||||
|
|
||||||
1. Install the Android SDK [here.](https://developer.android.com/studio#command-tools) Make sure you're downloading the "Command line tools only", as Android Studio is not required.
|
1. Install the Android SDK [here.](https://developer.android.com/studio#command-tools) Make sure you're downloading the "Command line tools only", as Android Studio is not required.
|
||||||
2. Set the `ANDROID_HOME` environment variable to point to your unzipped Android SDK directory.
|
2. In the unzipped Android SDK folder, find the cmdline-tools directory. Then create a folder inside of it called `latest` and put all of its contents into the newly created folder.
|
||||||
3. Run `gradlew android:assembleDebug` (or `./gradlew` if on linux/mac). This will create an unsigned APK in `android/build/outputs/apk`.
|
3. In the same directory run the command `sdkmanager --licenses` (or `./sdkmanager --licenses` if on linux/mac)
|
||||||
|
4. Set the `ANDROID_HOME` environment variable to point to your unzipped Android SDK directory.
|
||||||
|
5. Enable developer mode on your device/emulator. If you are on testing on a phone you can follow [these instructions](https://developer.android.com/studio/command-line/adb#Enabling), otherwise you need to google how to enable your emulator's developer mode specifically.
|
||||||
|
6. Run `gradlew android:assembleDebug` (or `./gradlew` if on linux/mac). This will create an unsigned APK in `android/build/outputs/apk`.
|
||||||
|
|
||||||
To debug the application on a connected phone, run `gradlew android:installDebug android:run`.
|
To debug the application on a connected device/emulator, run `gradlew android:installDebug android:run`.
|
||||||
|
|
||||||
### Troubleshooting
|
### Troubleshooting
|
||||||
|
|
||||||
|
|||||||
@@ -1,7 +1,7 @@
|
|||||||
### Adding a server to the list
|
### Adding a server to the list
|
||||||
|
|
||||||
Mindustry now has a public list of servers that everyone can see and connect to.
|
Mindustry now has a public list of servers that everyone can see and connect to.
|
||||||
This is done by letting clients `GET` a [JSON list of servers](https://github.com/Anuken/Mindustry/blob/master/servers_v6.json) in this repository.
|
This is done by letting clients `GET` a [JSON list of servers](https://github.com/Anuken/Mindustry/blob/master/servers_v7.json) in this repository.
|
||||||
|
|
||||||
You may want to add your server to this list. The steps for getting this done are as follows:
|
You may want to add your server to this list. The steps for getting this done are as follows:
|
||||||
|
|
||||||
@@ -9,7 +9,7 @@ You may want to add your server to this list. The steps for getting this done ar
|
|||||||
1. **Ensure your server is properly moderated.** For the most part, this applies to survival servers, but PvP servers can be affected as well.
|
1. **Ensure your server is properly moderated.** For the most part, this applies to survival servers, but PvP servers can be affected as well.
|
||||||
You'll need to either hire some moderators, or make use of (currently non-existent) anti-grief and anti-curse plugins.
|
You'll need to either hire some moderators, or make use of (currently non-existent) anti-grief and anti-curse plugins.
|
||||||
*Consider enabling a rate limit:* `config messageRateLimit 2` will make it so that players can only send messages every 2 seconds, for example.
|
*Consider enabling a rate limit:* `config messageRateLimit 2` will make it so that players can only send messages every 2 seconds, for example.
|
||||||
2. Make sure that your server is able to handle inappropriate content - this includes NSFW display/sorter art and abusive messages. **Servers that allow such content will be removed immediately.** Consider banning display blocks if it is a problem for your server: `rules add bannedBlocks ["logic-display", "large-logic-display"]`.
|
2. Make sure that your server is able to handle inappropriate content - this includes NSFW display/sorter art and abusive messages. **Servers that allow such content will be removed immediately.** Consider banning display blocks if it is a problem for your server: `rules add bannedBlocks ["canvas", "logic-display", "large-logic-display"]`.
|
||||||
3. **Set an appropriate MOTD, name and description.** This is set with `config <name/desc/motd> <value>`. "Appropriate" means that:
|
3. **Set an appropriate MOTD, name and description.** This is set with `config <name/desc/motd> <value>`. "Appropriate" means that:
|
||||||
- Your name or description must reflect the type of server you're hosting.
|
- Your name or description must reflect the type of server you're hosting.
|
||||||
Since new players may be exposed to the server list early on, put in a phrase like "Co-op survival" or "PvP" so players know what they're getting into. Yes, this is also displayed in the server mode info text, but having extra info in the name doesn't hurt.
|
Since new players may be exposed to the server list early on, put in a phrase like "Co-op survival" or "PvP" so players know what they're getting into. Yes, this is also displayed in the server mode info text, but having extra info in the name doesn't hurt.
|
||||||
@@ -18,11 +18,13 @@ You'll need to either hire some moderators, or make use of (currently non-existe
|
|||||||
4. **Get some good maps.** *(optional, but highly recommended)*. Add some maps to your server and set the map rotation to custom-only. You can get maps from the Steam workshop by subscribing and exporting them; using the `#maps` channel on Discord is also an option.
|
4. **Get some good maps.** *(optional, but highly recommended)*. Add some maps to your server and set the map rotation to custom-only. You can get maps from the Steam workshop by subscribing and exporting them; using the `#maps` channel on Discord is also an option.
|
||||||
5. **Check your server configuration.** *(optional)* I would recommend adding a message rate limit of 1 second (`config messageRateLimit 1`), and disabling connect/disconnect messages to reduce spam (`config showConnectMessages false`).
|
5. **Check your server configuration.** *(optional)* I would recommend adding a message rate limit of 1 second (`config messageRateLimit 1`), and disabling connect/disconnect messages to reduce spam (`config showConnectMessages false`).
|
||||||
6. Finally, **submit a pull request** to add your server's IP to the list.
|
6. Finally, **submit a pull request** to add your server's IP to the list.
|
||||||
This should be fairly straightforward: Press the edit button on the [server file](https://github.com/Anuken/Mindustry/blob/master/servers_v6.json), then add a JSON object with a single key, indicating your server address.
|
This should be fairly straightforward: Press the edit button on the [server file](https://github.com/Anuken/Mindustry/blob/master/servers_v7.json), then add a JSON object with a single key, indicating your server address.
|
||||||
For example, if your server address is `google.com`, you would add a comma after the last entry and insert:
|
For example, if your server address is `example.com:6000`, you would add a comma after the last entry and insert:
|
||||||
```json
|
```json
|
||||||
{
|
{
|
||||||
"address": "google.com"
|
"address": "example.com:6000"
|
||||||
}
|
}
|
||||||
```
|
```
|
||||||
|
> Note that Mindustry also support SRV records. This allows you to use a subdomain for your server address instead of specifying the port. For example, if you want to use `play.example.com` instead of `example.com:6000`, in the dns settings of your domain, add an SRV record with `_mindustry` as the service, `tcp` as the protocol, `play` as the target and `6000` as the port. You can also setup fallback servers by modifying the weight or priority of the record. Although SRV records are very convenient, keep in mind they are slower than regular addresses. Avoid using them in the server list, but rather as an easy way to share your server address.
|
||||||
|
|
||||||
Then, press the *'submit pull request'* button and I'll take a look at your server. If I have any issues with it, I'll let you know in the PR comments.
|
Then, press the *'submit pull request'* button and I'll take a look at your server. If I have any issues with it, I'll let you know in the PR comments.
|
||||||
|
|||||||
@@ -122,8 +122,14 @@ dependencies{
|
|||||||
natives "com.github.Anuken.Arc:natives-android:${getArcHash()}"
|
natives "com.github.Anuken.Arc:natives-android:${getArcHash()}"
|
||||||
natives "com.github.Anuken.Arc:natives-freetype-android:${getArcHash()}"
|
natives "com.github.Anuken.Arc:natives-freetype-android:${getArcHash()}"
|
||||||
|
|
||||||
//TODO dynamically find best android platform jar instead of hard-coding to 30
|
def version;
|
||||||
def sdkFile = new File((String)findSdkDir(), "/platforms/android-30/android.jar")
|
def highestVersion;
|
||||||
|
new File((String)findSdkDir(), "/platforms").eachFileMatch ~/android-\d+/, {
|
||||||
|
version = it.name.find(/\d+/).toInteger();
|
||||||
|
highestVersion = version > highestVersion ? version : highestVersion;
|
||||||
|
}
|
||||||
|
|
||||||
|
def sdkFile = new File((String)findSdkDir(), "/platforms/android-${highestVersion}/android.jar")
|
||||||
if(sdkFile.exists()) compileOnly files(sdkFile.absolutePath)
|
if(sdkFile.exists()) compileOnly files(sdkFile.absolutePath)
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|||||||
@@ -42,6 +42,7 @@ public class EntityProcess extends BaseProcessor{
|
|||||||
Seq<Selement> allDefs = new Seq<>();
|
Seq<Selement> allDefs = new Seq<>();
|
||||||
Seq<Stype> allInterfaces = new Seq<>();
|
Seq<Stype> allInterfaces = new Seq<>();
|
||||||
Seq<TypeSpec.Builder> baseClasses = new Seq<>();
|
Seq<TypeSpec.Builder> baseClasses = new Seq<>();
|
||||||
|
ObjectSet<TypeSpec.Builder> baseClassIndexers = new ObjectSet<>();
|
||||||
ClassSerializer serializer;
|
ClassSerializer serializer;
|
||||||
|
|
||||||
{
|
{
|
||||||
@@ -232,9 +233,15 @@ public class EntityProcess extends BaseProcessor{
|
|||||||
Stype repr = types.first();
|
Stype repr = types.first();
|
||||||
String groupType = repr.annotation(Component.class).base() ? baseName(repr) : interfaceName(repr);
|
String groupType = repr.annotation(Component.class).base() ? baseName(repr) : interfaceName(repr);
|
||||||
|
|
||||||
|
String name = group.name().startsWith("g") ? group.name().substring(1) : group.name();
|
||||||
|
|
||||||
boolean collides = an.collide();
|
boolean collides = an.collide();
|
||||||
groupDefs.add(new GroupDefinition(group.name().startsWith("g") ? group.name().substring(1) : group.name(),
|
groupDefs.add(new GroupDefinition(name,
|
||||||
ClassName.bestGuess(packageName + "." + groupType), types, an.spatial(), an.mapping(), collides));
|
ClassName.bestGuess(packageName + "." + groupType), types, an.spatial(), an.mapping(), collides));
|
||||||
|
|
||||||
|
TypeSpec.Builder accessor = TypeSpec.interfaceBuilder("IndexableEntity__" + name);
|
||||||
|
accessor.addMethod(MethodSpec.methodBuilder("setIndex__" + name).addModifiers(Modifier.ABSTRACT, Modifier.PUBLIC).addParameter(int.class, "index").returns(void.class).build());
|
||||||
|
write(accessor);
|
||||||
}
|
}
|
||||||
|
|
||||||
ObjectMap<String, Selement> usedNames = new ObjectMap<>();
|
ObjectMap<String, Selement> usedNames = new ObjectMap<>();
|
||||||
@@ -260,6 +267,8 @@ public class EntityProcess extends BaseProcessor{
|
|||||||
//get base class type name for extension
|
//get base class type name for extension
|
||||||
Stype baseClassType = baseClasses.any() ? baseClasses.first() : null;
|
Stype baseClassType = baseClasses.any() ? baseClasses.first() : null;
|
||||||
@Nullable TypeName baseClass = baseClasses.any() ? tname(packageName + "." + baseName(baseClassType)) : null;
|
@Nullable TypeName baseClass = baseClasses.any() ? tname(packageName + "." + baseName(baseClassType)) : null;
|
||||||
|
@Nullable TypeSpec.Builder baseClassBuilder = baseClassType == null ? null : this.baseClasses.find(b -> Reflect.<String>get(b, "name").equals(baseName(baseClassType)));
|
||||||
|
boolean addIndexToBase = baseClassBuilder != null && baseClassIndexers.add(baseClassBuilder);
|
||||||
//whether the main class is the base itself
|
//whether the main class is the base itself
|
||||||
boolean typeIsBase = baseClassType != null && type.has(Component.class) && type.annotation(Component.class).base();
|
boolean typeIsBase = baseClassType != null && type.has(Component.class) && type.annotation(Component.class).base();
|
||||||
|
|
||||||
@@ -394,6 +403,17 @@ public class EntityProcess extends BaseProcessor{
|
|||||||
//entities with no sync comp and no serialization gen no code
|
//entities with no sync comp and no serialization gen no code
|
||||||
boolean hasIO = ann.genio() && (components.contains(s -> s.name().contains("Sync")) || ann.serialize());
|
boolean hasIO = ann.genio() && (components.contains(s -> s.name().contains("Sync")) || ann.serialize());
|
||||||
|
|
||||||
|
TypeSpec.Builder indexBuilder = baseClassBuilder == null ? builder : baseClassBuilder;
|
||||||
|
|
||||||
|
if(baseClassBuilder == null || addIndexToBase){
|
||||||
|
//implement indexable interfaces.
|
||||||
|
for(GroupDefinition def : groups){
|
||||||
|
indexBuilder.addSuperinterface(tname(packageName + ".IndexableEntity__" + def.name));
|
||||||
|
indexBuilder.addMethod(MethodSpec.methodBuilder("setIndex__" + def.name).addParameter(int.class, "index").addModifiers(Modifier.PUBLIC).addAnnotation(Override.class)
|
||||||
|
.addCode("index__$L = index;", def.name).build());
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
//add all methods from components
|
//add all methods from components
|
||||||
for(ObjectMap.Entry<String, Seq<Smethod>> entry : methods){
|
for(ObjectMap.Entry<String, Seq<Smethod>> entry : methods){
|
||||||
if(entry.value.contains(m -> m.has(Replace.class))){
|
if(entry.value.contains(m -> m.has(Replace.class))){
|
||||||
@@ -446,8 +466,15 @@ public class EntityProcess extends BaseProcessor{
|
|||||||
mbuilder.addStatement("if(added == $L) return", first.name().equals("add"));
|
mbuilder.addStatement("if(added == $L) return", first.name().equals("add"));
|
||||||
|
|
||||||
for(GroupDefinition def : groups){
|
for(GroupDefinition def : groups){
|
||||||
|
if(first.name().equals("add")){
|
||||||
//remove/add from each group, assume imported
|
//remove/add from each group, assume imported
|
||||||
mbuilder.addStatement("Groups.$L.$L(this)", def.name, first.name());
|
mbuilder.addStatement("index__$L = Groups.$L.addIndex(this)", def.name, def.name);
|
||||||
|
}else{
|
||||||
|
//remove/add from each group, assume imported
|
||||||
|
mbuilder.addStatement("Groups.$L.removeIndex(this, index__$L);", def.name, def.name);
|
||||||
|
|
||||||
|
mbuilder.addStatement("index__$L = -1", def.name);
|
||||||
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
@@ -577,6 +604,16 @@ public class EntityProcess extends BaseProcessor{
|
|||||||
|
|
||||||
skipDeprecated(builder);
|
skipDeprecated(builder);
|
||||||
|
|
||||||
|
if(!legacy){
|
||||||
|
TypeSpec.Builder fieldBuilder = baseClassBuilder != null ? baseClassBuilder : builder;
|
||||||
|
if(addIndexToBase || baseClassBuilder == null){
|
||||||
|
//add group index int variables
|
||||||
|
for(GroupDefinition def : groups){
|
||||||
|
fieldBuilder.addField(FieldSpec.builder(int.class, "index__" + def.name, Modifier.PROTECTED, Modifier.TRANSIENT).initializer("-1").build());
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
definitions.add(new EntityDefinition(packageName + "." + name, builder, type, typeIsBase ? null : baseClass, components, groups, allFieldSpecs, legacy));
|
definitions.add(new EntityDefinition(packageName + "." + name, builder, type, typeIsBase ? null : baseClass, components, groups, allFieldSpecs, legacy));
|
||||||
}
|
}
|
||||||
|
|
||||||
@@ -592,7 +629,7 @@ public class EntityProcess extends BaseProcessor{
|
|||||||
groupsBuilder.addField(ParameterizedTypeName.get(
|
groupsBuilder.addField(ParameterizedTypeName.get(
|
||||||
ClassName.bestGuess("mindustry.entities.EntityGroup"), itype), group.name, Modifier.PUBLIC, Modifier.STATIC);
|
ClassName.bestGuess("mindustry.entities.EntityGroup"), itype), group.name, Modifier.PUBLIC, Modifier.STATIC);
|
||||||
|
|
||||||
groupInit.addStatement("$L = new $T<>($L.class, $L, $L)", group.name, groupc, itype, group.spatial, group.mapping);
|
groupInit.addStatement("$L = new $T<>($L.class, $L, $L, (e, pos) -> { if(e instanceof $L.IndexableEntity__$L ix) ix.setIndex__$L(pos); })", group.name, groupc, itype, group.spatial, group.mapping, packageName, group.name, group.name);
|
||||||
}
|
}
|
||||||
|
|
||||||
//write the groups
|
//write the groups
|
||||||
@@ -855,7 +892,7 @@ public class EntityProcess extends BaseProcessor{
|
|||||||
|
|
||||||
for(Smethod method : methods){
|
for(Smethod method : methods){
|
||||||
String signature = method.toString();
|
String signature = method.toString();
|
||||||
if(signatures.contains(signature)) continue;
|
if(!signatures.add(signature)) continue;
|
||||||
|
|
||||||
Stype compType = interfaceToComp(method.type());
|
Stype compType = interfaceToComp(method.type());
|
||||||
MethodSpec.Builder builder = MethodSpec.overriding(method.e).addModifiers(Modifier.PUBLIC, Modifier.FINAL);
|
MethodSpec.Builder builder = MethodSpec.overriding(method.e).addModifiers(Modifier.PUBLIC, Modifier.FINAL);
|
||||||
@@ -866,12 +903,19 @@ public class EntityProcess extends BaseProcessor{
|
|||||||
builder.addAnnotation(OverrideCallSuper.class); //just in case
|
builder.addAnnotation(OverrideCallSuper.class); //just in case
|
||||||
|
|
||||||
if(!method.isVoid()){
|
if(!method.isVoid()){
|
||||||
if(method.name().equals("isNull")){
|
String methodName = method.name();
|
||||||
|
switch(methodName){
|
||||||
|
case "isNull":
|
||||||
builder.addStatement("return true");
|
builder.addStatement("return true");
|
||||||
}else if(method.name().equals("id")){
|
break;
|
||||||
|
case "id":
|
||||||
builder.addStatement("return -1");
|
builder.addStatement("return -1");
|
||||||
}else{
|
break;
|
||||||
Svar variable = compType == null || method.params().size > 0 ? null : compType.fields().find(v -> v.name().equals(method.name()));
|
case "toString":
|
||||||
|
builder.addStatement("return $S", className);
|
||||||
|
break;
|
||||||
|
default:
|
||||||
|
Svar variable = compType == null || method.params().size > 0 ? null : compType.fields().find(v -> v.name().equals(methodName));
|
||||||
String desc = variable == null ? null : variable.descString();
|
String desc = variable == null ? null : variable.descString();
|
||||||
if(variable == null || !varInitializers.containsKey(desc)){
|
if(variable == null || !varInitializers.containsKey(desc)){
|
||||||
builder.addStatement("return " + getDefault(method.ret().toString()));
|
builder.addStatement("return " + getDefault(method.ret().toString()));
|
||||||
@@ -881,10 +925,7 @@ public class EntityProcess extends BaseProcessor{
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
nullBuilder.addMethod(builder.build());
|
nullBuilder.addMethod(builder.build());
|
||||||
|
|
||||||
signatures.add(signature);
|
|
||||||
}
|
}
|
||||||
|
|
||||||
nullsBuilder.addField(FieldSpec.builder(type, Strings.camelize(baseName)).initializer("new " + className + "()").addModifiers(Modifier.FINAL, Modifier.STATIC, Modifier.PUBLIC).build());
|
nullsBuilder.addField(FieldSpec.builder(type, Strings.camelize(baseName)).initializer("new " + className + "()").addModifiers(Modifier.FINAL, Modifier.STATIC, Modifier.PUBLIC).build());
|
||||||
|
|||||||
@@ -97,14 +97,14 @@ public class StructProcess extends BaseProcessor{
|
|||||||
}
|
}
|
||||||
|
|
||||||
//[setter] + [constructor building]
|
//[setter] + [constructor building]
|
||||||
if(varType == TypeName.BOOLEAN){
|
if(isBool){
|
||||||
cons.append(" | (").append(varName).append(" ? ").append("1L << ").append(offset).append("L : 0)");
|
cons.append(" | (").append(varName).append(" ? ").append("1L << ").append(offset).append("L : 0)");
|
||||||
|
|
||||||
//bools: single bit, needs special case to clear things
|
//bools: single bit, needs special case to clear things
|
||||||
setter.beginControlFlow("if(value)");
|
setter.beginControlFlow("if(value)");
|
||||||
setter.addStatement("return ($T)(($L & ~(1L << $LL)))", structType, structParam, offset);
|
|
||||||
setter.nextControlFlow("else");
|
|
||||||
setter.addStatement("return ($T)(($L & ~(1L << $LL)) | (1L << $LL))", structType, structParam, offset, offset);
|
setter.addStatement("return ($T)(($L & ~(1L << $LL)) | (1L << $LL))", structType, structParam, offset, offset);
|
||||||
|
setter.nextControlFlow("else");
|
||||||
|
setter.addStatement("return ($T)(($L & ~(1L << $LL)))", structType, structParam, offset);
|
||||||
setter.endControlFlow();
|
setter.endControlFlow();
|
||||||
}else if(varType == TypeName.FLOAT){
|
}else if(varType == TypeName.FLOAT){
|
||||||
cons.append(" | (").append("(").append(structType).append(")").append("Float.floatToIntBits(").append(varName).append(") << ").append(offset).append("L)");
|
cons.append(" | (").append("(").append(structType).append(")").append("Float.floatToIntBits(").append(varName).append(") << ").append(offset).append("L)");
|
||||||
|
|||||||
@@ -34,7 +34,7 @@ allprojects{
|
|||||||
|
|
||||||
ext{
|
ext{
|
||||||
versionNumber = '7'
|
versionNumber = '7'
|
||||||
if(!project.hasProperty("versionModifier")) versionModifier = 'beta'
|
if(!project.hasProperty("versionModifier")) versionModifier = 'release'
|
||||||
if(!project.hasProperty("versionType")) versionType = 'official'
|
if(!project.hasProperty("versionType")) versionType = 'official'
|
||||||
appName = 'Mindustry'
|
appName = 'Mindustry'
|
||||||
steamworksVersion = '0b86023401880bb5e586bc404bedbaae9b1f1c94'
|
steamworksVersion = '0b86023401880bb5e586bc404bedbaae9b1f1c94'
|
||||||
@@ -49,7 +49,7 @@ allprojects{
|
|||||||
}
|
}
|
||||||
|
|
||||||
localArc = {
|
localArc = {
|
||||||
return !project.hasProperty("release") && new File(projectDir.parent, '../Arc').exists()
|
return !project.hasProperty("release") && !project.hasProperty("noLocalArc") && new File(projectDir.parent, '../Arc').exists()
|
||||||
}
|
}
|
||||||
|
|
||||||
arcModule = { String name ->
|
arcModule = { String name ->
|
||||||
|
|||||||
@@ -3,7 +3,6 @@
|
|||||||
xmlns:dc="http://purl.org/dc/elements/1.1/"
|
xmlns:dc="http://purl.org/dc/elements/1.1/"
|
||||||
xmlns:cc="http://creativecommons.org/ns#"
|
xmlns:cc="http://creativecommons.org/ns#"
|
||||||
xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#"
|
xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#"
|
||||||
xmlns:svg="http://www.w3.org/2000/svg"
|
|
||||||
xmlns="http://www.w3.org/2000/svg"
|
xmlns="http://www.w3.org/2000/svg"
|
||||||
xmlns:sodipodi="http://sodipodi.sourceforge.net/DTD/sodipodi-0.dtd"
|
xmlns:sodipodi="http://sodipodi.sourceforge.net/DTD/sodipodi-0.dtd"
|
||||||
xmlns:inkscape="http://www.inkscape.org/namespaces/inkscape"
|
xmlns:inkscape="http://www.inkscape.org/namespaces/inkscape"
|
||||||
|
|||||||
|
Before Width: | Height: | Size: 1.9 KiB After Width: | Height: | Size: 2.0 KiB |
@@ -3,7 +3,6 @@
|
|||||||
xmlns:dc="http://purl.org/dc/elements/1.1/"
|
xmlns:dc="http://purl.org/dc/elements/1.1/"
|
||||||
xmlns:cc="http://creativecommons.org/ns#"
|
xmlns:cc="http://creativecommons.org/ns#"
|
||||||
xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#"
|
xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#"
|
||||||
xmlns:svg="http://www.w3.org/2000/svg"
|
|
||||||
xmlns="http://www.w3.org/2000/svg"
|
xmlns="http://www.w3.org/2000/svg"
|
||||||
xmlns:sodipodi="http://sodipodi.sourceforge.net/DTD/sodipodi-0.dtd"
|
xmlns:sodipodi="http://sodipodi.sourceforge.net/DTD/sodipodi-0.dtd"
|
||||||
xmlns:inkscape="http://www.inkscape.org/namespaces/inkscape"
|
xmlns:inkscape="http://www.inkscape.org/namespaces/inkscape"
|
||||||
|
|||||||
|
Before Width: | Height: | Size: 1.9 KiB After Width: | Height: | Size: 1.9 KiB |
@@ -3,7 +3,6 @@
|
|||||||
xmlns:dc="http://purl.org/dc/elements/1.1/"
|
xmlns:dc="http://purl.org/dc/elements/1.1/"
|
||||||
xmlns:cc="http://creativecommons.org/ns#"
|
xmlns:cc="http://creativecommons.org/ns#"
|
||||||
xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#"
|
xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#"
|
||||||
xmlns:svg="http://www.w3.org/2000/svg"
|
|
||||||
xmlns="http://www.w3.org/2000/svg"
|
xmlns="http://www.w3.org/2000/svg"
|
||||||
xmlns:sodipodi="http://sodipodi.sourceforge.net/DTD/sodipodi-0.dtd"
|
xmlns:sodipodi="http://sodipodi.sourceforge.net/DTD/sodipodi-0.dtd"
|
||||||
xmlns:inkscape="http://www.inkscape.org/namespaces/inkscape"
|
xmlns:inkscape="http://www.inkscape.org/namespaces/inkscape"
|
||||||
|
|||||||
|
Before Width: | Height: | Size: 1.8 KiB After Width: | Height: | Size: 1.9 KiB |
@@ -3,7 +3,6 @@
|
|||||||
xmlns:dc="http://purl.org/dc/elements/1.1/"
|
xmlns:dc="http://purl.org/dc/elements/1.1/"
|
||||||
xmlns:cc="http://creativecommons.org/ns#"
|
xmlns:cc="http://creativecommons.org/ns#"
|
||||||
xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#"
|
xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#"
|
||||||
xmlns:svg="http://www.w3.org/2000/svg"
|
|
||||||
xmlns="http://www.w3.org/2000/svg"
|
xmlns="http://www.w3.org/2000/svg"
|
||||||
xmlns:sodipodi="http://sodipodi.sourceforge.net/DTD/sodipodi-0.dtd"
|
xmlns:sodipodi="http://sodipodi.sourceforge.net/DTD/sodipodi-0.dtd"
|
||||||
xmlns:inkscape="http://www.inkscape.org/namespaces/inkscape"
|
xmlns:inkscape="http://www.inkscape.org/namespaces/inkscape"
|
||||||
|
|||||||
|
Before Width: | Height: | Size: 2.1 KiB After Width: | Height: | Size: 2.1 KiB |
@@ -3,7 +3,6 @@
|
|||||||
xmlns:dc="http://purl.org/dc/elements/1.1/"
|
xmlns:dc="http://purl.org/dc/elements/1.1/"
|
||||||
xmlns:cc="http://creativecommons.org/ns#"
|
xmlns:cc="http://creativecommons.org/ns#"
|
||||||
xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#"
|
xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#"
|
||||||
xmlns:svg="http://www.w3.org/2000/svg"
|
|
||||||
xmlns="http://www.w3.org/2000/svg"
|
xmlns="http://www.w3.org/2000/svg"
|
||||||
xmlns:sodipodi="http://sodipodi.sourceforge.net/DTD/sodipodi-0.dtd"
|
xmlns:sodipodi="http://sodipodi.sourceforge.net/DTD/sodipodi-0.dtd"
|
||||||
xmlns:inkscape="http://www.inkscape.org/namespaces/inkscape"
|
xmlns:inkscape="http://www.inkscape.org/namespaces/inkscape"
|
||||||
|
|||||||
|
Before Width: | Height: | Size: 1.8 KiB After Width: | Height: | Size: 1.8 KiB |
@@ -3,7 +3,6 @@
|
|||||||
xmlns:dc="http://purl.org/dc/elements/1.1/"
|
xmlns:dc="http://purl.org/dc/elements/1.1/"
|
||||||
xmlns:cc="http://creativecommons.org/ns#"
|
xmlns:cc="http://creativecommons.org/ns#"
|
||||||
xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#"
|
xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#"
|
||||||
xmlns:svg="http://www.w3.org/2000/svg"
|
|
||||||
xmlns="http://www.w3.org/2000/svg"
|
xmlns="http://www.w3.org/2000/svg"
|
||||||
xmlns:sodipodi="http://sodipodi.sourceforge.net/DTD/sodipodi-0.dtd"
|
xmlns:sodipodi="http://sodipodi.sourceforge.net/DTD/sodipodi-0.dtd"
|
||||||
xmlns:inkscape="http://www.inkscape.org/namespaces/inkscape"
|
xmlns:inkscape="http://www.inkscape.org/namespaces/inkscape"
|
||||||
|
|||||||
|
Before Width: | Height: | Size: 2.0 KiB After Width: | Height: | Size: 2.0 KiB |
@@ -3,7 +3,6 @@
|
|||||||
xmlns:dc="http://purl.org/dc/elements/1.1/"
|
xmlns:dc="http://purl.org/dc/elements/1.1/"
|
||||||
xmlns:cc="http://creativecommons.org/ns#"
|
xmlns:cc="http://creativecommons.org/ns#"
|
||||||
xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#"
|
xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#"
|
||||||
xmlns:svg="http://www.w3.org/2000/svg"
|
|
||||||
xmlns="http://www.w3.org/2000/svg"
|
xmlns="http://www.w3.org/2000/svg"
|
||||||
xmlns:sodipodi="http://sodipodi.sourceforge.net/DTD/sodipodi-0.dtd"
|
xmlns:sodipodi="http://sodipodi.sourceforge.net/DTD/sodipodi-0.dtd"
|
||||||
xmlns:inkscape="http://www.inkscape.org/namespaces/inkscape"
|
xmlns:inkscape="http://www.inkscape.org/namespaces/inkscape"
|
||||||
|
|||||||
|
Before Width: | Height: | Size: 2.7 KiB After Width: | Height: | Size: 2.8 KiB |
BIN
core/assets-raw/sprites/blocks/logic/canvas-corner1.png
Normal file
|
After Width: | Height: | Size: 174 B |
BIN
core/assets-raw/sprites/blocks/logic/canvas-corner2.png
Normal file
|
After Width: | Height: | Size: 174 B |
BIN
core/assets-raw/sprites/blocks/logic/canvas-side1.png
Normal file
|
After Width: | Height: | Size: 366 B |
BIN
core/assets-raw/sprites/blocks/logic/canvas-side2.png
Normal file
|
After Width: | Height: | Size: 395 B |
|
Before Width: | Height: | Size: 341 B After Width: | Height: | Size: 341 B |
|
Before Width: | Height: | Size: 570 B After Width: | Height: | Size: 611 B |
|
Before Width: | Height: | Size: 1.1 KiB After Width: | Height: | Size: 1.1 KiB |
|
Before Width: | Height: | Size: 543 B After Width: | Height: | Size: 572 B |
|
Before Width: | Height: | Size: 1.1 KiB After Width: | Height: | Size: 1.0 KiB |
|
Before Width: | Height: | Size: 1.1 KiB After Width: | Height: | Size: 1.8 KiB |
|
Before Width: | Height: | Size: 1.8 KiB After Width: | Height: | Size: 1.8 KiB |
|
Before Width: | Height: | Size: 2.9 KiB After Width: | Height: | Size: 3.0 KiB |
|
Before Width: | Height: | Size: 887 B After Width: | Height: | Size: 912 B |
|
Before Width: | Height: | Size: 889 B After Width: | Height: | Size: 881 B |
|
Before Width: | Height: | Size: 1.3 KiB After Width: | Height: | Size: 899 B |
|
Before Width: | Height: | Size: 1013 B After Width: | Height: | Size: 1012 B |
|
Before Width: | Height: | Size: 536 B After Width: | Height: | Size: 542 B |
|
Before Width: | Height: | Size: 416 B After Width: | Height: | Size: 416 B |
|
Before Width: | Height: | Size: 1.2 KiB After Width: | Height: | Size: 1.1 KiB |
|
Before Width: | Height: | Size: 463 B After Width: | Height: | Size: 463 B |
|
After Width: | Height: | Size: 784 B |
|
After Width: | Height: | Size: 1.1 KiB |
|
After Width: | Height: | Size: 464 B |
|
After Width: | Height: | Size: 230 B |
|
After Width: | Height: | Size: 221 B |
|
After Width: | Height: | Size: 220 B |
|
Before Width: | Height: | Size: 1.4 KiB After Width: | Height: | Size: 1.4 KiB |
BIN
core/assets-raw/sprites/blocks/turrets/cyclone/cyclone.png
Normal file
|
After Width: | Height: | Size: 1.1 KiB |
BIN
core/assets-raw/sprites/blocks/turrets/duo/duo-barrel-l.png
Normal file
|
After Width: | Height: | Size: 203 B |
BIN
core/assets-raw/sprites/blocks/turrets/duo/duo-barrel-r.png
Normal file
|
After Width: | Height: | Size: 209 B |
|
Before Width: | Height: | Size: 373 B After Width: | Height: | Size: 373 B |
BIN
core/assets-raw/sprites/blocks/turrets/duo/duo.png
Normal file
|
After Width: | Height: | Size: 367 B |
|
Before Width: | Height: | Size: 349 B After Width: | Height: | Size: 463 B |
|
Before Width: | Height: | Size: 1.5 KiB After Width: | Height: | Size: 2.0 KiB |
|
Before Width: | Height: | Size: 517 B |
|
Before Width: | Height: | Size: 1.0 KiB |
|
After Width: | Height: | Size: 552 B |
BIN
core/assets-raw/sprites/blocks/turrets/salvo/salvo-barrel.png
Normal file
|
After Width: | Height: | Size: 752 B |
BIN
core/assets-raw/sprites/blocks/turrets/salvo/salvo-preview.png
Normal file
|
After Width: | Height: | Size: 1019 B |
BIN
core/assets-raw/sprites/blocks/turrets/salvo/salvo-side-l.png
Normal file
|
After Width: | Height: | Size: 429 B |
BIN
core/assets-raw/sprites/blocks/turrets/salvo/salvo-side-r.png
Normal file
|
After Width: | Height: | Size: 423 B |
|
Before Width: | Height: | Size: 853 B |
BIN
core/assets-raw/sprites/blocks/turrets/scatter/scatter-mid.png
Normal file
|
After Width: | Height: | Size: 510 B |
|
After Width: | Height: | Size: 817 B |
BIN
core/assets-raw/sprites/blocks/turrets/scatter/scatter.png
Normal file
|
After Width: | Height: | Size: 603 B |
|
Before Width: | Height: | Size: 893 B After Width: | Height: | Size: 873 B |
|
Before Width: | Height: | Size: 502 B After Width: | Height: | Size: 431 B |
BIN
core/assets-raw/sprites/ui/pane-left.9.png
Normal file
|
After Width: | Height: | Size: 185 B |
BIN
core/assets-raw/sprites/ui/pane-right.9.png
Normal file
|
After Width: | Height: | Size: 191 B |
BIN
core/assets-raw/sprites/ui/pane-top.9.png
Normal file
|
After Width: | Height: | Size: 200 B |
|
Before Width: | Height: | Size: 531 B After Width: | Height: | Size: 523 B |
@@ -1 +0,0 @@
|
|||||||
mschxœ%ŠQƒ0C]RÐÄ>v>9Ê"µˆ¶S(HÜ~)X±_dƒƒÏKŒa•YëDݹ(¼¸äS®¢øü²i©‘§¯ÆmÃ;VIÓ^e0â–s-@
|
|
||||||
@@ -1,2 +0,0 @@
|
|||||||
mschxœ5<C593>Ë
|
|
||||||
!E¯Ïy-J·ý‡ù(q¤£Gú÷<C3BA>„ââä&'›„Î.<Zl.Çž®Vª{lG¸|<7C>ŸK4ÌíúÙðü{»/ùßR±ÅÒ~•^=ÝùäГkÑïG<C3AF>ç àzRPm!&ÆÌX+ ÉÓ†4©¨²¼H}E“y$9’À˜’¢XQÜÔü‰æd8ZQŠ¡†acf,Œê˜ã"
|
|
||||||
@@ -1,2 +0,0 @@
|
|||||||
mschxœ5<C593>A E¿JkêÊStã<74><08>˜I
|
|
||||||
4”šx{¡ðòÿ¼¸vÐѽpq‘<71>°—”Ý›^˜Ú}æpŠ€ÆÄ…¼§#{Âã¯Ï>Å}SÆm‹tWØÏKæuÅXGÅq¤àY¬z\P?E½:<18>ÅYŽ
|
|
||||||
@@ -1,3 +0,0 @@
|
|||||||
mschxœ%Žknà „ÇØIü¨äV9×È
|
|
||||||
ú;¢xS!a@€“úîMÝ%F¬¾Ñ>fz<>Æ©™p¾~:“¯¥}ŽëõbU$%MÈÆ;à
|
|
||||||
ãCeŠ’~rT:ûˆ^/6›»*ú#y’A9²’Õ7ϧà#É)%ŒÚ++5¹Ímáꘌ5Ú;™f²ì‹18Zf•<66>–S4Öb0™f™ü5áô¥2wèƒðÎO„÷ VëÕ$ÙçN+Ÿ1(åíuÞ
|
|
||||||
4
core/assets/baseparts/actuallyokrtg.msch
Normal file
@@ -0,0 +1,4 @@
|
|||||||
|
mschxœM<C593>anÂ0…MK[HÚ"Ä9rŠcÚ<63><Ô-4(MaÜ~ÏñŸ)RŸíú{vB':Ô´<C394>ý<EFBFBD>iðç¼ú^ñ'å+Ù/ç4Ýóg"jƒÿä°PõþaÉ~¿dwIStxúÌÉñoNpˆ‰ŽK>¹»Ÿ98DW&û¯DÇ<e?OëÍ<C3AB>ãüà<17>Ý•gN^Æu¾pú
|
||||||
|
ñé®0§S|p´»{Šß\ÆØe…µËñɉš‡_C&;e¾¹%®éÌXú<58>h#gƒxKT!îˆj[ªEª!Ûˆ4*Jé¬iG¨‡-<2D>’<EFBFBD>ið.<2E>ŽÉvT‰ã@åO¥Ò Ð
|
||||||
|
Þâ`É
|
||||||
|
Þ*Þ¢¥<14>‹Uá:á*”ÁwŠ£<C5A0>jÉ€w,/ÅN‹ø+³~¯6{o”7:Þèx£ã<C2A3>no”7…¯Èê-¬ÚXµéÕ¦×5zµéÕ¦×5z½Å Ü ·õ#誅”-FÅGÅG}„QñƒâÁ÷tDçF-b@tõ½ÔO¼
|
||||||
BIN
core/assets/baseparts/atrax-surprise.msch
Normal file
1
core/assets/baseparts/flar.msch
Normal file
@@ -0,0 +1 @@
|
|||||||
|
mschxœMŽÍNÃ0„'‰›æ¯^<5E>»Ÿq0‰‹,9vd»”¼{ ¬»*KÞ<4B>ogV‹'´„S³†¸XÐO:ŽÁ,Éx ¶êCÛˆòí}@oUÔANÁX‹—d’ræ:ËÑ»/½ú€“7VêïÔ˜Hžo*‘ýDc
|
||||||
BIN
core/assets/baseparts/fortress.msch
Normal file
BIN
core/assets/baseparts/impending-doom.msch
Normal file
2
core/assets/baseparts/rtgbrick1.msch
Normal file
@@ -0,0 +1,2 @@
|
|||||||
|
mschxœŒKà CͯE=
|
||||||
|
‹ž§Ê‚<EFBFBD>B%
|
||||||
5
core/assets/baseparts/rtgbrick2.msch
Normal file
@@ -0,0 +1,5 @@
|
|||||||
|
mschxś
|
||||||
|
ŚK
|
||||||
|
Ă0CĺOŇ–ĐEâMŻşpśÁ<C59B>Ně0včő;ń$!„ ł<>Żń <däMJúľ±ěÔ“”s”VĚ7â»~&<u2U’8š`é—d
|
||||||
|
ŁýHCt„Ţ.I„Wo%ś±u™°pě$a—¬ż“
|
||||||
|
Î(üÖÂŔhyłN˝ó
|
||||||
BIN
core/assets/baseparts/rtgsalvo.msch
Normal file
1
core/assets/baseparts/scorch.msch
Normal file
@@ -0,0 +1 @@
|
|||||||
|
mschxś5PŃŽ„ @ôáľÄ/şÜ<C59F>Ë’,‰ŠAÝËýýµt5!C§Ó™"FŚÝ6Ż î<>ĄĆĆg:bÍű™ËŔ-ó#-ô÷ŹĂ׾ĄkťĎ§gÍËËöNĄbŚeßSť~g˘o/WËu&jć3ÓQ®yNt`Đ> `ů®™TźŞőŚTťôş»j=Ëë>rĹw“A`€Öč%˛IĎQV*Ĺ˝6ĐË€—Ď<1D>fĄ'Ć0Đ6LZ^Âs0™3ée®™y1b$=Hz<48>Ř Ę ĘAž2đo°–6´†‰ <©ţ/_&‘
|
||||||
2
core/assets/baseparts/simplemeltdown.msch
Normal file
@@ -0,0 +1,2 @@
|
|||||||
|
mschxœ=‘벓0… å(=¾à³8þà@t¢jöôÉ<C3B4>qjqmÂq(|Ù—µ’<C2B5>â|˜ºQ㼘ñjõ¨æÛ5è¥wæêÍ<8ÙîUÛñç/5òÿ]õkç½v÷Öv²Ý¢];8c-š[ÇR«ß¼ëz?;(ãõØ.óêz<C3AA>¬Ÿ§a5jY)mý|Ó/Þøn2ëØ²üKß©º\¥ÒNó <C3B3>]šÞÝç¯v5C;š7ª”5?%¢ôš#ø¾Ný~øË‘ £ïÌÄ~à¡A!á"މüð6À_•ræ$åªF”2U#>çœyò’‹ÃIÄR. `2'ʼD´=¶çö)¿ÏíùجeÛ“ï×Åö›[¤â]Ðâ„D<E2809E>#C&ÓÝ4”HJVx˜ˆÒHj²ÓŽLZr>;XUD"%(BgÁ$QJ”'™X\åÈïµZæS2ÇÎx¯ª` B“zo:M—½©
|
||||||
|
¾Uðp$wI%àÌ“G2ïñ¨Þ¹ A#× Èò€" PHþŸLo´
|
||||||
BIN
core/assets/baseparts/solarbrick1.msch
Normal file
BIN
core/assets/baseparts/solarbrick2.msch
Normal file
BIN
core/assets/baseparts/solarbrick4.msch
Normal file
2
core/assets/baseparts/steamgobrr.msch
Normal file
@@ -0,0 +1,2 @@
|
|||||||
|
mschxœ%ÐÝrƒ àãJÔ˜fúÜõm:½@³uÌ d“æí»¸^øÁ¸ËYÄÊÕ.„f‹d—É! ½Ñ6†ùg¿¨œÈmÈ¿\^6R0ôƒ£çâm™è_p9N1ìñupv‹æfçÐïë<C3AF>¯ó/3ñ)¸Æ9ÚuÞ3úõIo®ÿôO
|
||||||
|
\ý$óþNGD=ØÈ¡o\7ïl0»’3¼šíi1›ßÃH<뎧H¯\(…Fè„E†•5›s„\(…Fèîä†YÉdÈÃ
|
||||||
BIN
core/assets/baseparts/strong_duos.msch
Normal file
@@ -150,12 +150,18 @@ mod.incompatiblemod = [red]Incompatible
|
|||||||
mod.blacklisted = [red]Unsupported
|
mod.blacklisted = [red]Unsupported
|
||||||
mod.unmetdependencies = [red]Unmet Dependencies
|
mod.unmetdependencies = [red]Unmet Dependencies
|
||||||
mod.erroredcontent = [red]Content Errors
|
mod.erroredcontent = [red]Content Errors
|
||||||
|
mod.circulardependencies = [red]Circular Dependencies
|
||||||
|
mod.incompletedependencies = [red]Incomplete Dependencies
|
||||||
|
|
||||||
mod.requiresversion.details = Requires game version: [accent]{0}[]\nYour game is outdated. This mod requires a newer version of the game (possibly a beta/alpha release) to function.
|
mod.requiresversion.details = Requires game version: [accent]{0}[]\nYour game is outdated. This mod requires a newer version of the game (possibly a beta/alpha release) to function.
|
||||||
mod.outdatedv7.details = This mod is incompatible with the latest version of the game. The author must update it, and add [accent]minGameVersion: 136[] to its [accent]mod.json[] file.
|
mod.outdatedv7.details = This mod is incompatible with the latest version of the game. The author must update it, and add [accent]minGameVersion: 136[] to its [accent]mod.json[] file.
|
||||||
mod.blacklisted.details = This mod has been manually blacklisted for causing crashes or other issues with this version of the game. Do not use it.
|
mod.blacklisted.details = This mod has been manually blacklisted for causing crashes or other issues with this version of the game. Do not use it.
|
||||||
mod.missingdependencies.details = This mod is missing dependencies: {0}
|
mod.missingdependencies.details = This mod is missing dependencies: {0}
|
||||||
mod.erroredcontent.details = This game caused errors when loading. Ask the mod author to fix them.
|
mod.erroredcontent.details = This mod caused errors when loading. Ask the mod author to fix them.
|
||||||
|
mod.circulardependencies.details = This mod has dependencies that depends on each other.
|
||||||
|
mod.incompletedependencies.details = This mod is unable to be loaded due to invalid or missing dependencies: {0}.
|
||||||
|
|
||||||
|
mod.requiresversion = Requires game version: [red]{0}
|
||||||
|
|
||||||
mod.errors = Errors have occurred loading content.
|
mod.errors = Errors have occurred loading content.
|
||||||
mod.noerrorplay = [red]You have mods with errors.[] Either disable the affected mods or fix the errors before playing.
|
mod.noerrorplay = [red]You have mods with errors.[] Either disable the affected mods or fix the errors before playing.
|
||||||
@@ -290,6 +296,7 @@ server.invalidport = Invalid port number!
|
|||||||
server.error = [scarlet]Error hosting server.
|
server.error = [scarlet]Error hosting server.
|
||||||
save.new = New Save
|
save.new = New Save
|
||||||
save.overwrite = Are you sure you want to overwrite\nthis save slot?
|
save.overwrite = Are you sure you want to overwrite\nthis save slot?
|
||||||
|
save.nocampaign = Individual save files from the campaign cannot be imported.
|
||||||
overwrite = Overwrite
|
overwrite = Overwrite
|
||||||
save.none = No saves found!
|
save.none = No saves found!
|
||||||
savefail = Failed to save game!
|
savefail = Failed to save game!
|
||||||
@@ -332,6 +339,7 @@ command.repair = Repair
|
|||||||
command.rebuild = Rebuild
|
command.rebuild = Rebuild
|
||||||
command.assist = Assist Player
|
command.assist = Assist Player
|
||||||
command.move = Move
|
command.move = Move
|
||||||
|
command.boost = Boost
|
||||||
openlink = Open Link
|
openlink = Open Link
|
||||||
copylink = Copy Link
|
copylink = Copy Link
|
||||||
back = Back
|
back = Back
|
||||||
@@ -357,6 +365,8 @@ pausebuilding = [accent][[{0}][] to pause building
|
|||||||
resumebuilding = [scarlet][[{0}][] to resume building
|
resumebuilding = [scarlet][[{0}][] to resume building
|
||||||
enablebuilding = [scarlet][[{0}][] to enable building
|
enablebuilding = [scarlet][[{0}][] to enable building
|
||||||
showui = UI hidden.\nPress [accent][[{0}][] to show UI.
|
showui = UI hidden.\nPress [accent][[{0}][] to show UI.
|
||||||
|
commandmode.name = [accent]Command Mode
|
||||||
|
commandmode.nounits = [no units]
|
||||||
wave = [accent]Wave {0}
|
wave = [accent]Wave {0}
|
||||||
wave.cap = [accent]Wave {0}/{1}
|
wave.cap = [accent]Wave {0}/{1}
|
||||||
wave.waiting = [lightgray]Wave in {0}
|
wave.waiting = [lightgray]Wave in {0}
|
||||||
@@ -441,6 +451,7 @@ waves.max = max units
|
|||||||
waves.guardian = Guardian
|
waves.guardian = Guardian
|
||||||
waves.preview = Preview
|
waves.preview = Preview
|
||||||
waves.edit = Edit...
|
waves.edit = Edit...
|
||||||
|
waves.random = Random
|
||||||
waves.copy = Copy to Clipboard
|
waves.copy = Copy to Clipboard
|
||||||
waves.load = Load from Clipboard
|
waves.load = Load from Clipboard
|
||||||
waves.invalid = Invalid waves in clipboard.
|
waves.invalid = Invalid waves in clipboard.
|
||||||
@@ -451,6 +462,8 @@ waves.sort.reverse = Reverse Sort
|
|||||||
waves.sort.begin = Begin
|
waves.sort.begin = Begin
|
||||||
waves.sort.health = Health
|
waves.sort.health = Health
|
||||||
waves.sort.type = Type
|
waves.sort.type = Type
|
||||||
|
waves.search = Search waves...
|
||||||
|
waves.filter.unit = Unit Filter
|
||||||
waves.units.hide = Hide All
|
waves.units.hide = Hide All
|
||||||
waves.units.show = Show All
|
waves.units.show = Show All
|
||||||
|
|
||||||
@@ -645,7 +658,7 @@ objective.destroycore = [accent]Destroy Enemy Core
|
|||||||
objective.command = [accent]Command Units
|
objective.command = [accent]Command Units
|
||||||
objective.nuclearlaunch = [accent]\u26A0 Nuclear launch detected: [lightgray]{0}
|
objective.nuclearlaunch = [accent]\u26A0 Nuclear launch detected: [lightgray]{0}
|
||||||
|
|
||||||
announce.nuclearstrike = [red]\u26A0 NUCLEAR STRIKE INBOUND \u26A0
|
announce.nuclearstrike = [red]\u26A0 NUCLEAR STRIKE INBOUND \u26A0\n[lightgray]construct backup cores immediately
|
||||||
|
|
||||||
loadout = Loadout
|
loadout = Loadout
|
||||||
resources = Resources
|
resources = Resources
|
||||||
@@ -681,6 +694,9 @@ weather.sandstorm.name = Sandstorm
|
|||||||
weather.sporestorm.name = Sporestorm
|
weather.sporestorm.name = Sporestorm
|
||||||
weather.fog.name = Fog
|
weather.fog.name = Fog
|
||||||
|
|
||||||
|
campaign.playtime = \uF129 [lightgray]Sector Playtime: {0}
|
||||||
|
campaign.complete = [accent]Congratulations.\n\nThe enemy on {0} has been defeated.\n[lightgray]The final sector has been conquered.
|
||||||
|
|
||||||
sectorlist = Sectors
|
sectorlist = Sectors
|
||||||
sectorlist.attacked = {0} under attack
|
sectorlist.attacked = {0} under attack
|
||||||
sectors.unexplored = [lightgray]Unexplored
|
sectors.unexplored = [lightgray]Unexplored
|
||||||
@@ -764,6 +780,8 @@ sector.windsweptIslands.description = Further past the shoreline is this remote
|
|||||||
sector.extractionOutpost.description = A remote outpost, constructed by the enemy for the purpose of launching resources to other sectors.\n\nCross-sector transport technology is essential for further conquest. Destroy the base. Research their Launch Pads.
|
sector.extractionOutpost.description = A remote outpost, constructed by the enemy for the purpose of launching resources to other sectors.\n\nCross-sector transport technology is essential for further conquest. Destroy the base. Research their Launch Pads.
|
||||||
sector.impact0078.description = Here lie remnants of the interstellar transport vessel that first entered this system.\n\nSalvage as much as possible from the wreckage. Research any intact technology.
|
sector.impact0078.description = Here lie remnants of the interstellar transport vessel that first entered this system.\n\nSalvage as much as possible from the wreckage. Research any intact technology.
|
||||||
sector.planetaryTerminal.description = The final target.\n\nThis coastal base contains a structure capable of launching Cores to local planets. It is extremely well guarded.\n\nProduce naval units. Eliminate the enemy as quickly as possible. Research the launch structure.
|
sector.planetaryTerminal.description = The final target.\n\nThis coastal base contains a structure capable of launching Cores to local planets. It is extremely well guarded.\n\nProduce naval units. Eliminate the enemy as quickly as possible. Research the launch structure.
|
||||||
|
sector.coastline.description = Remnants of naval unit technology have been detected at this location. Repel the enemy attacks, capture this sector, and acquire the technology.
|
||||||
|
sector.navalFortress.description = The enemy has established a base on a remote, naturally-fortified island. Destroy this outpost. Acquire their advanced naval craft technology, and research it.
|
||||||
|
|
||||||
sector.onset.name = The Onset
|
sector.onset.name = The Onset
|
||||||
sector.aegis.name = Aegis
|
sector.aegis.name = Aegis
|
||||||
@@ -783,20 +801,22 @@ sector.crossroads.name = Crossroads
|
|||||||
sector.karst.name = Karst
|
sector.karst.name = Karst
|
||||||
sector.origin.name = Origin
|
sector.origin.name = Origin
|
||||||
|
|
||||||
sector.onset.description = The tutorial sector. This objective has not been created yet. Await further information.
|
sector.onset.description = Commence the conquest of Erekir. Gather resources, produce units, and begin researching technology.
|
||||||
sector.aegis.description = This sector contains deposits of tungsten.\nResearch the [accent]Impact Drill[] to mine this resource, and destroy the enemy base in the area.
|
sector.aegis.description = This sector contains deposits of tungsten.\nResearch the [accent]Impact Drill[] to mine this resource, and destroy the enemy base in the area.
|
||||||
sector.lake.description = This sector's slag lake greatly limits viable units. A hover unit is the only option.\nResearch the [accent]ship fabricator[] and produce an [accent]elude[] unit as soon as possible.
|
sector.lake.description = This sector's slag lake greatly limits viable units. A hover unit is the only option.\nResearch the [accent]ship fabricator[] and produce an [accent]elude[] unit as soon as possible.
|
||||||
sector.intersect.description = Scans suggest that this sector will be attacked from multiple sides soon after landing.\nSet up defenses quickly and expand as soon as possible.\n[accent]Mech[] units will be required for the area's rough terrain.
|
sector.intersect.description = Scans suggest that this sector will be attacked from multiple sides soon after landing.\nSet up defenses quickly and expand as soon as possible.\n[accent]Mech[] units will be required for the area's rough terrain.
|
||||||
sector.atlas.description = This sector contains varied terrain and will require a variety of units to attack effectively.\nUpgraded units may also be necessary to get past some of the tougher enemy bases detected here.\nResearch the [accent]Electrolyzer[] and the [accent]Tank Refabricator[].
|
sector.atlas.description = This sector contains varied terrain and will require a variety of units to attack effectively.\nUpgraded units may also be necessary to get past certain enemy bases detected here.\nResearch the [accent]Electrolyzer[] and the [accent]Tank Refabricator[].
|
||||||
sector.split.description = The minimal enemy presence in this sector makes it perfect for testing new transport tech.
|
sector.split.description = The minimal enemy presence in this sector makes it perfect for testing new transport tech.
|
||||||
sector.basin.description = Large enemy presence detected in this sector.\nBuild units quickly and capture enemy cores to gain a foothold.
|
sector.basin.description = Large enemy presence detected in this sector.\nBuild units quickly and capture enemy cores to gain a foothold.
|
||||||
sector.ravine.description = No enemy cores detected in the sector, although it's an important transportation route for the enemy. Expect a variety of enemy forces.\nProduce [accent]surge alloy[]. Construct [accent]Afflict[] turrets.
|
sector.marsh.description = This sector has an abundance of arkycite, but has limited vents.\nBuild [accent]Chemical Combustion Chambers[] to generate power.
|
||||||
|
sector.peaks.description = The mountainous terrain in this sector make most units useless. Flying units will be required.\nBe aware of enemy anti-air installations. It may be possible to disable some of these installations by targeting their supporting buildings.
|
||||||
|
sector.ravine.description = An important transportation route for the enemy. No cores detected in the sector, but expect a variety of enemy forces.\nProduce [accent]surge alloy[]. Construct [accent]Afflict[] turrets.
|
||||||
sector.caldera-erekir.description = The resources detected in this sector are scattered across several islands.\nResearch and deploy drone-based transportation.
|
sector.caldera-erekir.description = The resources detected in this sector are scattered across several islands.\nResearch and deploy drone-based transportation.
|
||||||
sector.stronghold.description = The large enemy encampment in this sector guards significant deposits of [accent]thorium[].\nUse it to develop higher tier units and turrets.
|
sector.stronghold.description = The large enemy encampment in this sector guards significant deposits of [accent]thorium[].\nUse it to develop higher tier units and turrets.
|
||||||
sector.crevice.description = The enemy will send fierce attack forces to take out your base in this sector.\nDeveloping [accent]carbide[] and the [accent]Pyrolysis Generator[] may be imperative for survival.
|
sector.crevice.description = The enemy will send fierce attack forces to take out your base in this sector.\nDeveloping [accent]carbide[] and the [accent]Pyrolysis Generator[] may be imperative for survival.
|
||||||
sector.siege.description = This sector features two parallel canyons that will force a two-pronged attack.\nResearch [accent]cyanogen[] to gain the capability to create even stronger tank units.\nCaution: enemy long-range missiles have been detected. The missiles may be shot down before impact.
|
sector.siege.description = This sector features two parallel canyons that will force a two-pronged attack.\nResearch [accent]cyanogen[] to gain the capability to create even stronger tank units.\nCaution: enemy long-range missiles have been detected. The missiles may be shot down before impact.
|
||||||
sector.crossroads.description = The enemy bases in this sector have been established in varying terrain. Research different units to adapt.\nAdditionally, some bases are protected by shields. Figure out how they are powered.
|
sector.crossroads.description = The enemy bases in this sector have been established in varying terrain. Research different units to adapt.\nAdditionally, some bases are protected by shields. Figure out how they are powered.
|
||||||
sector.karst.description = This sector is rich in resources, but will be attacked by the enemy once a new core lands.\nTake advantage of the resources and research [accent]phase[].
|
sector.karst.description = This sector is rich in resources, but will be attacked by the enemy once a new core lands.\nTake advantage of the resources and research [accent]phase fabric[].
|
||||||
sector.origin.description = The final sector with a significant enemy presence.\nNo probable research opportunities remain - focus solely on destroying all enemy cores.
|
sector.origin.description = The final sector with a significant enemy presence.\nNo probable research opportunities remain - focus solely on destroying all enemy cores.
|
||||||
|
|
||||||
status.burning.name = Burning
|
status.burning.name = Burning
|
||||||
@@ -882,6 +902,7 @@ stat.repairspeed = Repair Speed
|
|||||||
stat.weapons = Weapons
|
stat.weapons = Weapons
|
||||||
stat.bullet = Bullet
|
stat.bullet = Bullet
|
||||||
stat.moduletier = Module Tier
|
stat.moduletier = Module Tier
|
||||||
|
stat.unittype = Unit Type
|
||||||
stat.speedincrease = Speed Increase
|
stat.speedincrease = Speed Increase
|
||||||
stat.range = Range
|
stat.range = Range
|
||||||
stat.drilltier = Drillables
|
stat.drilltier = Drillables
|
||||||
@@ -934,6 +955,7 @@ ability.unitspawn = {0} 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.energyfield = Energy Field: [accent]{0}[] damage ~ [accent]{1}[] blocks / [accent]{2}[] targets
|
ability.energyfield = Energy Field: [accent]{0}[] damage ~ [accent]{1}[] blocks / [accent]{2}[] targets
|
||||||
|
|
||||||
bar.onlycoredeposit = Only Core Depositing Allowed
|
bar.onlycoredeposit = Only Core Depositing Allowed
|
||||||
@@ -974,6 +996,8 @@ bullet.splashdamage = [stat]{0}[lightgray] area dmg ~[stat] {1}[lightgray] tiles
|
|||||||
bullet.incendiary = [stat]incendiary
|
bullet.incendiary = [stat]incendiary
|
||||||
bullet.homing = [stat]homing
|
bullet.homing = [stat]homing
|
||||||
bullet.armorpierce = [stat]armor piercing
|
bullet.armorpierce = [stat]armor piercing
|
||||||
|
bullet.suppression = [stat]{0}[lightgray] seconds of repair suppression ~ [stat]{1}[lightgray] tiles
|
||||||
|
bullet.interval = [stat]{0}/sec[lightgray] interval bullets:
|
||||||
bullet.frags = [stat]{0}[lightgray]x frag bullets:
|
bullet.frags = [stat]{0}[lightgray]x frag bullets:
|
||||||
bullet.lightning = [stat]{0}[lightgray]x lightning ~ [stat]{1}[lightgray] damage
|
bullet.lightning = [stat]{0}[lightgray]x lightning ~ [stat]{1}[lightgray] damage
|
||||||
bullet.buildingdamage = [stat]{0}%[lightgray] building damage
|
bullet.buildingdamage = [stat]{0}%[lightgray] building damage
|
||||||
@@ -983,7 +1007,7 @@ bullet.infinitepierce = [stat]pierce
|
|||||||
bullet.healpercent = [stat]{0}[lightgray]% repair
|
bullet.healpercent = [stat]{0}[lightgray]% repair
|
||||||
bullet.healamount = [stat]{0}[lightgray] direct repair
|
bullet.healamount = [stat]{0}[lightgray] direct repair
|
||||||
bullet.multiplier = [stat]{0}[lightgray]x ammo multiplier
|
bullet.multiplier = [stat]{0}[lightgray]x ammo multiplier
|
||||||
bullet.reload = [stat]{0}[lightgray]x fire rate
|
bullet.reload = [stat]{0}%[lightgray] fire rate
|
||||||
bullet.range = [stat]{0}[lightgray] tiles range
|
bullet.range = [stat]{0}[lightgray] tiles range
|
||||||
|
|
||||||
unit.blocks = blocks
|
unit.blocks = blocks
|
||||||
@@ -1087,8 +1111,8 @@ setting.bridgeopacity.name = Bridge Opacity
|
|||||||
setting.playerchat.name = Display Player Bubble Chat
|
setting.playerchat.name = Display Player Bubble Chat
|
||||||
setting.showweather.name = Show Weather Graphics
|
setting.showweather.name = Show Weather Graphics
|
||||||
setting.hidedisplays.name = Hide Logic Displays
|
setting.hidedisplays.name = Hide Logic Displays
|
||||||
public.confirm = Do you want to make your game public?\n[accent]Anyone will be able to join your games.\n[lightgray]This can be changed later in Settings->Game->Public Game Visibility.
|
steam.friendsonly = Friends Only
|
||||||
public.confirm.really = If you want to play with friends, use [green]Invite Friend[] instead of a [scarlet]Public server[]!\nAre you sure you want to make your game [scarlet]public[]?
|
steam.friendsonly.tooltip = Whether only Steam friends will be able to join your game.\nUnchecking this box will make your game public - anyone can join.
|
||||||
public.beta = Note that beta versions of the game cannot make public lobbies.
|
public.beta = Note that beta versions of the game cannot make public lobbies.
|
||||||
uiscale.reset = UI scale has been changed.\nPress "OK" to confirm this scale.\n[scarlet]Reverting and exiting in[accent] {0}[] seconds...
|
uiscale.reset = UI scale has been changed.\nPress "OK" to confirm this scale.\n[scarlet]Reverting and exiting in[accent] {0}[] seconds...
|
||||||
uiscale.cancel = Cancel & Exit
|
uiscale.cancel = Cancel & Exit
|
||||||
@@ -1140,7 +1164,8 @@ keybind.select.name = Select/Shoot
|
|||||||
keybind.diagonal_placement.name = Diagonal Placement
|
keybind.diagonal_placement.name = Diagonal Placement
|
||||||
keybind.pick.name = Pick Block
|
keybind.pick.name = Pick Block
|
||||||
keybind.break_block.name = Break Block
|
keybind.break_block.name = Break Block
|
||||||
keybind.select_all_units = Select All Units
|
keybind.select_all_units.name = Select All Units
|
||||||
|
keybind.select_all_unit_factories.name = Select All Unit Factories
|
||||||
keybind.deselect.name = Deselect
|
keybind.deselect.name = Deselect
|
||||||
keybind.pickupCargo.name = Pickup Cargo
|
keybind.pickupCargo.name = Pickup Cargo
|
||||||
keybind.dropCargo.name = Drop Cargo
|
keybind.dropCargo.name = Drop Cargo
|
||||||
@@ -1187,6 +1212,8 @@ rules.wavetimer = Wave Timer
|
|||||||
rules.wavesending = Wave Sending
|
rules.wavesending = Wave Sending
|
||||||
rules.waves = Waves
|
rules.waves = Waves
|
||||||
rules.attack = Attack Mode
|
rules.attack = Attack Mode
|
||||||
|
rules.buildai = Base Builder AI
|
||||||
|
rules.buildaitier = Builder AI Tier
|
||||||
rules.rtsai = RTS AI [red](WIP)
|
rules.rtsai = RTS AI [red](WIP)
|
||||||
rules.rtsminsquadsize = Min Squad Size
|
rules.rtsminsquadsize = Min Squad Size
|
||||||
rules.rtsmaxsquadsize = Max Squad Size
|
rules.rtsmaxsquadsize = Max Squad Size
|
||||||
@@ -1202,6 +1229,7 @@ rules.unitbuildspeedmultiplier = Unit Production Speed Multiplier
|
|||||||
rules.unitcostmultiplier = Unit Cost Multiplier
|
rules.unitcostmultiplier = Unit Cost Multiplier
|
||||||
rules.unithealthmultiplier = Unit Health Multiplier
|
rules.unithealthmultiplier = Unit Health Multiplier
|
||||||
rules.unitdamagemultiplier = Unit Damage Multiplier
|
rules.unitdamagemultiplier = Unit Damage Multiplier
|
||||||
|
rules.unitcrashdamagemultiplier = Unit Crash Damage Multiplier
|
||||||
rules.solarmultiplier = Solar Power Multiplier
|
rules.solarmultiplier = Solar Power Multiplier
|
||||||
rules.unitcapvariable = Cores Contribute To Unit Cap
|
rules.unitcapvariable = Cores Contribute To Unit Cap
|
||||||
rules.unitcap = Base Unit Cap
|
rules.unitcap = Base Unit Cap
|
||||||
@@ -1213,6 +1241,7 @@ rules.buildcostmultiplier = Build Cost Multiplier
|
|||||||
rules.buildspeedmultiplier = Build Speed Multiplier
|
rules.buildspeedmultiplier = Build Speed Multiplier
|
||||||
rules.deconstructrefundmultiplier = Deconstruct Refund Multiplier
|
rules.deconstructrefundmultiplier = Deconstruct Refund Multiplier
|
||||||
rules.waitForWaveToEnd = Waves Wait for Enemies
|
rules.waitForWaveToEnd = Waves Wait for Enemies
|
||||||
|
rules.wavelimit = Map Ends After Wave
|
||||||
rules.dropzoneradius = Drop Zone Radius:[lightgray] (tiles)
|
rules.dropzoneradius = Drop Zone Radius:[lightgray] (tiles)
|
||||||
rules.unitammo = Units Require Ammo [red](may be removed)
|
rules.unitammo = Units Require Ammo [red](may be removed)
|
||||||
rules.enemyteam = Enemy Team
|
rules.enemyteam = Enemy Team
|
||||||
@@ -1595,6 +1624,7 @@ block.carbon-vent.name = Carbon Vent
|
|||||||
block.arkyic-vent.name = Arkyic Vent
|
block.arkyic-vent.name = Arkyic Vent
|
||||||
block.yellow-stone-vent.name = Yellow Stone Vent
|
block.yellow-stone-vent.name = Yellow Stone Vent
|
||||||
block.red-stone-vent.name = Red Stone Vent
|
block.red-stone-vent.name = Red Stone Vent
|
||||||
|
block.crystalline-vent.name = Crystalline Vent
|
||||||
block.redmat.name = Redmat
|
block.redmat.name = Redmat
|
||||||
block.bluemat.name = Bluemat
|
block.bluemat.name = Bluemat
|
||||||
block.core-zone.name = Core Zone
|
block.core-zone.name = Core Zone
|
||||||
@@ -1747,7 +1777,6 @@ hint.depositItems = To transfer items, drag from your ship to the core.
|
|||||||
hint.respawn = To respawn as a ship, press [accent][[V][].
|
hint.respawn = To respawn as a ship, press [accent][[V][].
|
||||||
hint.respawn.mobile = You have switched control to a unit/structure. To respawn as a ship, [accent]tap the avatar in the top left.[]
|
hint.respawn.mobile = You have switched control to a unit/structure. To respawn as a ship, [accent]tap the avatar in the top left.[]
|
||||||
hint.desktopPause = Press [accent][[Space][] to pause and unpause the game.
|
hint.desktopPause = Press [accent][[Space][] to pause and unpause the game.
|
||||||
|
|
||||||
hint.breaking = [accent]Right-click[] and drag to break blocks.
|
hint.breaking = [accent]Right-click[] and drag to break blocks.
|
||||||
hint.breaking.mobile = Activate the \uE817 [accent]hammer[] in the bottom right and tap to break blocks.\n\nHold down your finger for a second and drag to break in a selection.
|
hint.breaking.mobile = Activate the \uE817 [accent]hammer[] in the bottom right and tap to break blocks.\n\nHold down your finger for a second and drag to break in a selection.
|
||||||
hint.blockInfo = View information of a block by selecting it in the [accent]build menu[], then selecting the [accent][[?][] button at the right.
|
hint.blockInfo = View information of a block by selecting it in the [accent]build menu[], then selecting the [accent][[?][] button at the right.
|
||||||
@@ -1761,6 +1790,8 @@ hint.unitSelectControl.mobile = To control units, enter [accent]command mode[] b
|
|||||||
hint.launch = Once enough resources are collected, you can [accent]Launch[] by selecting nearby sectors from the \uE827 [accent]Map[] in the bottom right.
|
hint.launch = Once enough resources are collected, you can [accent]Launch[] by selecting nearby sectors from the \uE827 [accent]Map[] in the bottom right.
|
||||||
hint.launch.mobile = Once enough resources are collected, you can [accent]Launch[] by selecting nearby sectors from the \uE827 [accent]Map[] in the \uE88C [accent]Menu[].
|
hint.launch.mobile = Once enough resources are collected, you can [accent]Launch[] by selecting nearby sectors from the \uE827 [accent]Map[] in the \uE88C [accent]Menu[].
|
||||||
hint.schematicSelect = Hold [accent][[F][] and drag to select blocks to copy and paste.\n\n[accent][[Middle Click][] to copy a single block type.
|
hint.schematicSelect = Hold [accent][[F][] and drag to select blocks to copy and paste.\n\n[accent][[Middle Click][] to copy a single block type.
|
||||||
|
hint.rebuildSelect = Hold [accent][[B][] and drag to select destroyed block plans.\nThis will rebuild them automatically.
|
||||||
|
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.conveyorPathfind = Hold [accent][[L-Ctrl][] while dragging conveyors to automatically generate a path.
|
hint.conveyorPathfind = Hold [accent][[L-Ctrl][] while dragging conveyors to automatically generate a path.
|
||||||
hint.conveyorPathfind.mobile = Enable \uE844 [accent]diagonal mode[] and drag conveyors to automatically generate a path.
|
hint.conveyorPathfind.mobile = Enable \uE844 [accent]diagonal mode[] and drag conveyors to automatically generate a path.
|
||||||
hint.boost = Hold [accent][[L-Shift][] to fly over obstacles with your current unit.\n\nOnly a few ground units have boosters.
|
hint.boost = Hold [accent][[L-Shift][] to fly over obstacles with your current unit.\n\nOnly a few ground units have boosters.
|
||||||
@@ -1771,57 +1802,57 @@ hint.payloadDrop.mobile = [accent]Tap and hold[] an empty location to drop a pay
|
|||||||
hint.waveFire = [accent]Wave[] turrets with water as ammunition will automatically put out nearby fires.
|
hint.waveFire = [accent]Wave[] turrets with water as ammunition will automatically put out nearby fires.
|
||||||
hint.generator = \uF879 [accent]Combustion Generators[] burn coal and transmit power to adjacent blocks.\n\nPower transmission range can be extended with \uF87F [accent]Power Nodes[].
|
hint.generator = \uF879 [accent]Combustion Generators[] burn coal and transmit power to adjacent blocks.\n\nPower transmission range can be extended with \uF87F [accent]Power Nodes[].
|
||||||
hint.guardian = [accent]Guardian[] units are armored. Weak ammo such as [accent]Copper[] and [accent]Lead[] is [scarlet]not effective[].\n\nUse higher tier turrets or \uF835 [accent]Graphite[] \uF861Duo/\uF859Salvo ammunition to take Guardians down.
|
hint.guardian = [accent]Guardian[] units are armored. Weak ammo such as [accent]Copper[] and [accent]Lead[] is [scarlet]not effective[].\n\nUse higher tier turrets or \uF835 [accent]Graphite[] \uF861Duo/\uF859Salvo ammunition to take Guardians down.
|
||||||
hint.coreUpgrade = Cores can be upgraded by [accent]placing higher-tier cores over them[].\n\nPlace a \u00EF\u00A1\u00A8 [accent]Foundation[] core over the \u00EF\u00A1\u00A9 [accent]Shard[] core. Make sure it is free from nearby obstructions.
|
hint.coreUpgrade = Cores can be upgraded by [accent]placing higher-tier cores over them[].\n\nPlace a \uF868 [accent]Foundation[] core over the \uF869 [accent]Shard[] core. Make sure it is free from nearby obstructions.
|
||||||
hint.presetLaunch = Gray [accent]landing zone sectors[], such as [accent]Frozen Forest[], can be launched to from anywhere. They do not require capture of nearby territory.\n\n[accent]Numbered sectors[], such as this one, are [accent]optional[].
|
hint.presetLaunch = Gray [accent]landing zone sectors[], such as [accent]Frozen Forest[], can be launched to from anywhere. They do not require capture of nearby territory.\n\n[accent]Numbered sectors[], such as this one, are [accent]optional[].
|
||||||
hint.presetDifficulty = This sector has a [scarlet]high enemy threat level[].\nLaunching to such sectors is [accent]not recommended[] without proper technology and preparation.
|
hint.presetDifficulty = This sector has a [scarlet]high enemy threat level[].\nLaunching to such sectors is [accent]not recommended[] without proper technology and preparation.
|
||||||
hint.coreIncinerate = After the core is filled to capacity with an item, any extra items of that type it receives will be [accent]incinerated[].
|
hint.coreIncinerate = After the core is filled to capacity with an item, any extra items of that type it receives will be [accent]incinerated[].
|
||||||
hint.factoryControl = To set a unit factory's [accent]output destination[], click a factory block while in command mode, then right-click a location.\nUnits produced by it will automatically move there.
|
hint.factoryControl = To set a unit factory's [accent]output destination[], click a factory block while in command mode, then right-click a location.\nUnits produced by it will automatically move there.
|
||||||
hint.factoryControl.mobile = To set a unit factory's [accent]output destination[], tap a factory block while in command mode, then tap a location.\nUnits produced by it will automatically move there.
|
hint.factoryControl.mobile = To set a unit factory's [accent]output destination[], tap a factory block while in command mode, then tap a location.\nUnits produced by it will automatically move there.
|
||||||
|
|
||||||
gz.mine = Move near the \uf8c4 [accent]copper ore[] on the ground and click to begin mining.
|
gz.mine = Move near the \uF8C4 [accent]copper ore[] on the ground and click to begin mining.
|
||||||
gz.mine.mobile = Move near the \uf8c4 [accent]copper ore[] on the ground and tap it to begin mining.
|
gz.mine.mobile = Move near the \uF8C4 [accent]copper ore[] on the ground and tap it to begin mining.
|
||||||
gz.research = Open the \ue875 tech tree.\nResearch the \uf870 [accent]Mechanical Drill[], then select it from the menu in the bottom right.\nClick on a copper patch to place it.
|
gz.research = Open the \uE875 tech tree.\nResearch the \uF870 [accent]Mechanical Drill[], then select it from the menu in the bottom right.\nClick on a copper patch to place it.
|
||||||
gz.research.mobile = Open the \ue875 tech tree.\nResearch the \uf870 [accent]Mechanical Drill[], then select it from the menu in the bottom right.\nTap on a copper patch to place it.\n\nPress the \uE800 [accent]checkmark[] at the bottom right to confirm.
|
gz.research.mobile = Open the \uE875 tech tree.\nResearch the \uF870 [accent]Mechanical Drill[], then select it from the menu in the bottom right.\nTap on a copper patch to place it.\n\nPress the \uE800 [accent]checkmark[] at the bottom right to confirm.
|
||||||
gz.conveyors = Research and place \uf896 [accent]conveyors[] to move the mined resources\nfrom drills to the core.\n\nClick and drag to place multiple conveyors.\n[accent]Scroll[] to rotate.
|
gz.conveyors = Research and place \uF896 [accent]conveyors[] to move the mined resources\nfrom drills to the core.\n\nClick and drag to place multiple conveyors.\n[accent]Scroll[] to rotate.
|
||||||
gz.conveyors.mobile = Research and place \uf896 [accent]conveyors[] to move the mined resources\nfrom drills to the core.\n\nHold down your finger for a second and drag to place multiple conveyors.
|
gz.conveyors.mobile = Research and place \uF896 [accent]conveyors[] to move the mined resources\nfrom drills to the core.\n\nHold down your finger for a second and drag to place multiple conveyors.
|
||||||
gz.drills = Expand the mining operation.\nPlace more Mechanical Drills.\nMine 100 copper.
|
gz.drills = Expand the mining operation.\nPlace more Mechanical Drills.\nMine 100 copper.
|
||||||
gz.lead = \uf837 [accent]Lead[] is another commonly used resource.\nSet up drills to mine lead.
|
gz.lead = \uF837 [accent]Lead[] is another commonly used resource.\nSet up drills to mine lead.
|
||||||
gz.moveup = \ue804 Move up for further objectives.
|
gz.moveup = \uE804 Move up for further objectives.
|
||||||
gz.turrets = Research and place 2 \uf861 [accent]Duo[] turrets to defend the core.\nDuo turrets require \uf838 [accent]ammo[] from conveyors.
|
gz.turrets = Research and place 2 \uF861 [accent]Duo[] turrets to defend the core.\nDuo turrets require \uF838 [accent]ammo[] from conveyors.
|
||||||
gz.duoammo = Supply the Duo turrets with [accent]copper[], using conveyors.
|
gz.duoammo = Supply the Duo turrets with [accent]copper[], using conveyors.
|
||||||
gz.walls = [accent]Walls[] can prevent oncoming damage from reaching buildings.\nPlace \uf8ae [accent]copper walls[] around the turrets.
|
gz.walls = [accent]Walls[] can prevent oncoming damage from reaching buildings.\nPlace \uF8AE [accent]copper walls[] around the turrets.
|
||||||
gz.defend = Enemy incoming, prepare to defend.
|
gz.defend = Enemy incoming, prepare to defend.
|
||||||
gz.aa = Flying units cannot easily be dispatched with standard turrets.\n\uf860 [accent]Scatter[] turrets provide excellent anti-air, but require \uf837 [accent]lead[] as ammo.
|
gz.aa = Flying units cannot easily be dispatched with standard turrets.\n\uF860 [accent]Scatter[] turrets provide excellent anti-air, but require \uF837 [accent]lead[] as ammo.
|
||||||
gz.scatterammo = Supply the Scatter turret with [accent]lead[], using conveyors.
|
gz.scatterammo = Supply the Scatter turret with \uF837 [accent]lead[], using conveyors.
|
||||||
gz.supplyturret = [accent]Supply Turret
|
gz.supplyturret = [accent]Supply Turret
|
||||||
gz.zone1 = This is the enemy drop zone.
|
gz.zone1 = This is the enemy drop zone.
|
||||||
gz.zone2 = Anything built in the radius is destroyed when a wave starts.
|
gz.zone2 = Anything built in the radius is destroyed when a wave starts.
|
||||||
gz.zone3 = A wave will begin now.\nGet ready.
|
gz.zone3 = A wave will begin now.\nGet ready.
|
||||||
gz.finish = Build more turrets, mine more resources,\nand defend against all the waves to [accent]capture the sector[].
|
gz.finish = Build more turrets, mine more resources,\nand defend against all the waves to [accent]capture the sector[].
|
||||||
|
|
||||||
onset.mine = Click to mine \uf748 [accent]beryllium[] from walls.\n\nUse [accent][[WASD] to move.
|
onset.mine = Click to mine \uF748 [accent]beryllium[] from walls.\n\nUse [accent][[WASD] to move.
|
||||||
onset.mine.mobile = Tap to mine \uf748 [accent]beryllium[] from walls.
|
onset.mine.mobile = Tap to mine \uF748 [accent]beryllium[] from walls.
|
||||||
onset.research = Open the \ue875 tech tree.\nResearch, then place a \uf73e [accent]turbine condenser[] on the vent.\nThis will generate [accent]power[].
|
onset.research = Open the \uE875 tech tree.\nResearch, then place a \uF73E [accent]turbine condenser[] on the vent.\nThis will generate [accent]power[].
|
||||||
onset.bore = Research and place a \uf741 [accent]plasma bore[].\nThis automatically mines resources from walls.
|
onset.bore = Research and place a \uF741 [accent]plasma bore[].\nThis automatically mines resources from walls.
|
||||||
onset.power = To [accent]power[] the plasma bore, research and place a \uf73d [accent]beam node[].\nConnect the turbine condenser to the plasma bore.
|
onset.power = To [accent]power[] the plasma bore, research and place a \uF73D [accent]beam node[].\nConnect the turbine condenser to the plasma bore.
|
||||||
onset.ducts = Research and place \uf799 [accent]ducts[] to move the mined resources from the plasma bore to the core.\nClick and drag to place multiple ducts.\n[accent]Scroll[] to rotate.
|
onset.ducts = Research and place \uF799 [accent]ducts[] to move the mined resources from the plasma bore to the core.\nClick and drag to place multiple ducts.\n[accent]Scroll[] to rotate.
|
||||||
onset.ducts.mobile = Research and place \uf799 [accent]ducts[] to move the mined resources from the plasma bore to the core.\n\nHold down your finger for a second and drag to place multiple ducts.
|
onset.ducts.mobile = Research and place \uF799 [accent]ducts[] to move the mined resources from the plasma bore to the core.\n\nHold down your finger for a second and drag to place multiple ducts.
|
||||||
onset.moremine = Expand the mining operation.\nPlace more Plasma Bores and use beam nodes and ducts to support them.\nMine 200 beryllium.
|
onset.moremine = Expand the mining operation.\nPlace more Plasma Bores and use beam nodes and ducts to support them.\nMine 200 beryllium.
|
||||||
onset.graphite = More complex blocks require \uf835 [accent]graphite[].\nSet up plasma bores to mine graphite.
|
onset.graphite = More complex blocks require \uF835 [accent]graphite[].\nSet up plasma bores to mine graphite.
|
||||||
onset.research2 = Begin researching [accent]factories[].\nResearch the \uf74d [accent]cliff crusher[] and \uf779 [accent]silicon arc furnace[].
|
onset.research2 = Begin researching [accent]factories[].\nResearch the \uF74D [accent]cliff crusher[] and \uF779 [accent]silicon arc furnace[].
|
||||||
onset.arcfurnace = The arc furnace needs \uf834 [accent]sand[] and \uf835 [accent]graphite[] to create \uf82f [accent]silicon[].\n[accent]Power[] is also required.
|
onset.arcfurnace = The arc furnace needs \uF834 [accent]sand[] and \uF835 [accent]graphite[] to create \uF82F [accent]silicon[].\n[accent]Power[] is also required.
|
||||||
onset.crusher = Use \uf74d [accent]cliff crushers[] to mine sand.
|
onset.crusher = Use \uF74D [accent]cliff crushers[] to mine sand.
|
||||||
onset.fabricator = Use [accent]units[] to explore the map, defend buildings, and attack the enemy. Research and place a \uf6a2 [accent]tank fabricator[].
|
onset.fabricator = Use [accent]units[] to explore the map, defend buildings, and attack the enemy. Research and place a \uF6A2 [accent]tank fabricator[].
|
||||||
onset.makeunit = Produce a unit.\nUse the "?" button to see selected factory requirements.
|
onset.makeunit = Produce a unit.\nUse the "?" button to see selected factory requirements.
|
||||||
onset.turrets = Units are effective, but [accent]turrets[] provide better defensive capabilities if used effectively.\nPlace a \uf6eb [accent]Breach[] turret.\nTurrets require \uf748 [accent]ammo[].
|
onset.turrets = Units are effective, but [accent]turrets[] provide better defensive capabilities if used effectively.\nPlace a \uF6EB [accent]Breach[] turret.\nTurrets require \uF748 [accent]ammo[].
|
||||||
onset.turretammo = Supply the turret with [accent]beryllium ammo.[]
|
onset.turretammo = Supply the turret with [accent]beryllium ammo.[]
|
||||||
onset.walls = [accent]Walls[] can prevent oncoming damage from reaching buildings.\nPlace some \uf6ee [accent]beryllium walls[] around the turret.
|
onset.walls = [accent]Walls[] can prevent oncoming damage from reaching buildings.\nPlace some \uF6EE [accent]beryllium walls[] around the turret.
|
||||||
onset.enemies = Enemy incoming, prepare to defend.
|
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.
|
||||||
|
|
||||||
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.
|
||||||
split.build = Units must be transported to the other side of the wall.\nPlace two [accent]Payload Mass Drivers[], one on each side of the wall.\nSet up the link by pressing one of them, then selecting the other.
|
split.build = Units must be transported to the other side of the wall.\nPlace two [accent]Payload Mass Drivers[], one on each side of the wall.\nSet up the link by pressing one of them, then selecting the other.
|
||||||
@@ -2110,9 +2141,11 @@ block.small-deconstructor.description = Deconstructs inputted structures and uni
|
|||||||
block.reinforced-payload-conveyor.description = Moves payloads forward.
|
block.reinforced-payload-conveyor.description = Moves payloads forward.
|
||||||
block.reinforced-payload-router.description = Distributes payloads into adjacent blocks. Functions as a sorter when a filter is set.
|
block.reinforced-payload-router.description = Distributes payloads into adjacent blocks. Functions as a sorter when a filter is set.
|
||||||
block.payload-mass-driver.description = Long-range payload transport structure. Shoots received payloads to linked payload mass drivers.
|
block.payload-mass-driver.description = Long-range payload transport structure. Shoots received payloads to linked payload mass drivers.
|
||||||
|
block.large-payload-mass-driver.description = Long-range payload transport structure. Shoots received payloads to linked payload mass drivers.
|
||||||
block.unit-repair-tower.description = Repairs all units in its vicinity. Requires ozone.
|
block.unit-repair-tower.description = Repairs all units in its vicinity. Requires ozone.
|
||||||
block.radar.description = Gradually uncovers terrain and enemy units in a large radius. Requires power.
|
block.radar.description = Gradually uncovers terrain and enemy units in a large radius. Requires power.
|
||||||
block.shockwave-tower.description = Damages and destroys enemy projectiles in a radius. Requires cyanogen.
|
block.shockwave-tower.description = Damages and destroys enemy projectiles in a radius. Requires cyanogen.
|
||||||
|
block.canvas.description = Displays a simple image with a pre-defined palette. Editable.
|
||||||
|
|
||||||
unit.dagger.description = Fires standard bullets at enemy targets.
|
unit.dagger.description = Fires standard bullets at enemy targets.
|
||||||
unit.mace.description = Fires streams of flame at enemy targets.
|
unit.mace.description = Fires streams of flame at enemy targets.
|
||||||
@@ -2208,6 +2241,7 @@ lst.flushmessage = Display a message on the screen from the text buffer.\nWill w
|
|||||||
lst.cutscene = Manipulate the player camera.
|
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.
|
||||||
|
|
||||||
logic.nounitbuild = [red]Unit building logic is not allowed here.
|
logic.nounitbuild = [red]Unit building logic is not allowed here.
|
||||||
|
|
||||||
@@ -2342,7 +2376,7 @@ lenum.stop = Stop moving/mining/building.
|
|||||||
lenum.unbind = Completely disable logic control.\nResume standard AI.
|
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 specified position.
|
||||||
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.
|
||||||
|
|||||||
@@ -149,11 +149,16 @@ mod.incompatiblemod = [red]Incompatible
|
|||||||
mod.blacklisted = [red]Unsupported
|
mod.blacklisted = [red]Unsupported
|
||||||
mod.unmetdependencies = [red]Unmet Dependencies
|
mod.unmetdependencies = [red]Unmet Dependencies
|
||||||
mod.erroredcontent = [scarlet]Грешки в Съдържанието
|
mod.erroredcontent = [scarlet]Грешки в Съдържанието
|
||||||
|
mod.circulardependencies = [red]Circular Dependencies
|
||||||
|
mod.incompletedependencies = [red]Incomplete Dependencies
|
||||||
mod.requiresversion.details = Requires game version: [accent]{0}[]\nYour game is outdated. This mod requires a newer version of the game (possibly a beta/alpha release) to function.
|
mod.requiresversion.details = Requires game version: [accent]{0}[]\nYour game is outdated. This mod requires a newer version of the game (possibly a beta/alpha release) to function.
|
||||||
mod.outdatedv7.details = This mod is incompatible with the latest version of the game. The author must update it, and add [accent]minGameVersion: 136[] to its [accent]mod.json[] file.
|
mod.outdatedv7.details = This mod is incompatible with the latest version of the game. The author must update it, and add [accent]minGameVersion: 136[] to its [accent]mod.json[] file.
|
||||||
mod.blacklisted.details = This mod has been manually blacklisted for causing crashes or other issues with this version of the game. Do not use it.
|
mod.blacklisted.details = This mod has been manually blacklisted for causing crashes or other issues with this version of the game. Do not use it.
|
||||||
mod.missingdependencies.details = This mod is missing dependencies: {0}
|
mod.missingdependencies.details = This mod is missing dependencies: {0}
|
||||||
mod.erroredcontent.details = This game caused errors when loading. Ask the mod author to fix them.
|
mod.erroredcontent.details = This game caused errors when loading. Ask the mod author to fix them.
|
||||||
|
mod.circulardependencies.details = This mod has dependencies that depends on each other.
|
||||||
|
mod.incompletedependencies.details = This mod is unable to be loaded due to invalid or missing dependencies: {0}.
|
||||||
|
mod.requiresversion = Requires game version: [red]{0}
|
||||||
mod.errors = Възникнаха грешки при зареждане на съдържанието.
|
mod.errors = Възникнаха грешки при зареждане на съдържанието.
|
||||||
mod.noerrorplay = [scarlet]Има грешки в някои от модовете, които използвате.[] Трябва да деактивирате тези модове или да поправите грешките преди да играете.
|
mod.noerrorplay = [scarlet]Има грешки в някои от модовете, които използвате.[] Трябва да деактивирате тези модове или да поправите грешките преди да играете.
|
||||||
mod.nowdisabled = [scarlet]Липсват зависимости за мод '{0}':[accent] {1}\n[lightgray]Мод {0} ще бъде деактивиран докато не ги изтеглите.
|
mod.nowdisabled = [scarlet]Липсват зависимости за мод '{0}':[accent] {1}\n[lightgray]Мод {0} ще бъде деактивиран докато не ги изтеглите.
|
||||||
@@ -287,6 +292,7 @@ server.invalidport = Невалиден порт!
|
|||||||
server.error = [scarlet]Грешка при стартиране на сървър.
|
server.error = [scarlet]Грешка при стартиране на сървър.
|
||||||
save.new = Нов Запис
|
save.new = Нов Запис
|
||||||
save.overwrite = Сигурни ли сте, че искате\nда презапишете тази позиция за запиз?
|
save.overwrite = Сигурни ли сте, че искате\nда презапишете тази позиция за запиз?
|
||||||
|
save.nocampaign = Individual save files from the campaign cannot be imported.
|
||||||
overwrite = Презапиши
|
overwrite = Презапиши
|
||||||
save.none = Не са намерени записи!
|
save.none = Не са намерени записи!
|
||||||
savefail = Грешка при записване на игра!
|
savefail = Грешка при записване на игра!
|
||||||
@@ -329,6 +335,7 @@ command.repair = Repair
|
|||||||
command.rebuild = Rebuild
|
command.rebuild = Rebuild
|
||||||
command.assist = Assist Player
|
command.assist = Assist Player
|
||||||
command.move = Move
|
command.move = Move
|
||||||
|
command.boost = Boost
|
||||||
openlink = Отвори Линк
|
openlink = Отвори Линк
|
||||||
copylink = Копирай Линк
|
copylink = Копирай Линк
|
||||||
back = Назад
|
back = Назад
|
||||||
@@ -354,6 +361,8 @@ pausebuilding = [accent][[{0}][] за да Отложите на Строежа
|
|||||||
resumebuilding = [scarlet][[{0}][] за да Продължите Строежа
|
resumebuilding = [scarlet][[{0}][] за да Продължите Строежа
|
||||||
enablebuilding = [scarlet][[{0}][] за да Позволите Строенето
|
enablebuilding = [scarlet][[{0}][] за да Позволите Строенето
|
||||||
showui = Интерфейсът е скрит.\nНатиснете [accent][[{0}][] за да го покажете.
|
showui = Интерфейсът е скрит.\nНатиснете [accent][[{0}][] за да го покажете.
|
||||||
|
commandmode.name = [accent]Command Mode
|
||||||
|
commandmode.nounits = [no units]
|
||||||
wave = [accent]Вълна {0}
|
wave = [accent]Вълна {0}
|
||||||
wave.cap = [accent]Вълна {0}/{1}
|
wave.cap = [accent]Вълна {0}/{1}
|
||||||
wave.waiting = [lightgray]Вълна след {0}
|
wave.waiting = [lightgray]Вълна след {0}
|
||||||
@@ -438,6 +447,7 @@ waves.max = max units
|
|||||||
waves.guardian = Пазител
|
waves.guardian = Пазител
|
||||||
waves.preview = Преглед
|
waves.preview = Преглед
|
||||||
waves.edit = Редактирай...
|
waves.edit = Редактирай...
|
||||||
|
waves.random = Random
|
||||||
waves.copy = Кобирай в Клипборд
|
waves.copy = Кобирай в Клипборд
|
||||||
waves.load = Зареди от Клипборда
|
waves.load = Зареди от Клипборда
|
||||||
waves.invalid = Клипборда съдържа невалидна информация за вълни.
|
waves.invalid = Клипборда съдържа невалидна информация за вълни.
|
||||||
@@ -448,6 +458,8 @@ waves.sort.reverse = Reverse Sort
|
|||||||
waves.sort.begin = Begin
|
waves.sort.begin = Begin
|
||||||
waves.sort.health = Health
|
waves.sort.health = Health
|
||||||
waves.sort.type = Type
|
waves.sort.type = Type
|
||||||
|
waves.search = Search waves...
|
||||||
|
waves.filter.unit = Unit Filter
|
||||||
waves.units.hide = Hide All
|
waves.units.hide = Hide All
|
||||||
waves.units.show = Show All
|
waves.units.show = Show All
|
||||||
|
|
||||||
@@ -669,6 +681,8 @@ weather.snow.name = Сняг
|
|||||||
weather.sandstorm.name = Пясъчна буря
|
weather.sandstorm.name = Пясъчна буря
|
||||||
weather.sporestorm.name = Спорова буря
|
weather.sporestorm.name = Спорова буря
|
||||||
weather.fog.name = Мъгла
|
weather.fog.name = Мъгла
|
||||||
|
campaign.playtime = \uf129 [lightgray]Sector Playtime: {0}
|
||||||
|
campaign.complete = [accent]Congratulations.\n\nThe enemy on {0} has been defeated.\n[lightgray]The final sector has been conquered.
|
||||||
sectorlist = Sectors
|
sectorlist = Sectors
|
||||||
sectorlist.attacked = {0} under attack
|
sectorlist.attacked = {0} under attack
|
||||||
|
|
||||||
@@ -753,6 +767,8 @@ sector.windsweptIslands.description = По - нататък край брего
|
|||||||
sector.extractionOutpost.description = Отдалечен аванпост, където врагът е разследвал технологии за пренасяне на ресурси на далечни растояния.\n\nТехнологии за транспорт на материали между зони е ключова за бъдещи действия. Унищожете вражеската база и проучете вражеските Изстрелващи площадки.
|
sector.extractionOutpost.description = Отдалечен аванпост, където врагът е разследвал технологии за пренасяне на ресурси на далечни растояния.\n\nТехнологии за транспорт на материали между зони е ключова за бъдещи действия. Унищожете вражеската база и проучете вражеските Изстрелващи площадки.
|
||||||
sector.impact0078.description = Тук лежат останките от първия междузвезден транспортер, влязъл в тази система.\n\nСпасете колкото е възможно повече от останките. Проучете всяка непокътната технология.
|
sector.impact0078.description = Тук лежат останките от първия междузвезден транспортер, влязъл в тази система.\n\nСпасете колкото е възможно повече от останките. Проучете всяка непокътната технология.
|
||||||
sector.planetaryTerminal.description = Крайна цел.\n\nТази крайбрежна база съдържа структура, създадена с цел междупланетарен транспорт на ядра, макар и само в рамките на локалната звездна система. Тази локация има изключително висока защита.\n\nИзползвайте военноморски единици. Елиминирайте врага възможно най - бързо. Проучете изстрелващата структура
|
sector.planetaryTerminal.description = Крайна цел.\n\nТази крайбрежна база съдържа структура, създадена с цел междупланетарен транспорт на ядра, макар и само в рамките на локалната звездна система. Тази локация има изключително висока защита.\n\nИзползвайте военноморски единици. Елиминирайте врага възможно най - бързо. Проучете изстрелващата структура
|
||||||
|
sector.coastline.description = Remnants of naval unit technology have been detected at this location. Repel the enemy attacks, capture this sector, and acquire the technology.
|
||||||
|
sector.navalFortress.description = The enemy has established a base on a remote, naturally-fortified island. Destroy this outpost. Acquire their advanced naval craft technology, and research it.
|
||||||
sector.onset.name = The Onset
|
sector.onset.name = The Onset
|
||||||
sector.aegis.name = Aegis
|
sector.aegis.name = Aegis
|
||||||
sector.lake.name = Lake
|
sector.lake.name = Lake
|
||||||
@@ -770,21 +786,24 @@ sector.siege.name = Siege
|
|||||||
sector.crossroads.name = Crossroads
|
sector.crossroads.name = Crossroads
|
||||||
sector.karst.name = Karst
|
sector.karst.name = Karst
|
||||||
sector.origin.name = Origin
|
sector.origin.name = Origin
|
||||||
sector.onset.description = The tutorial sector. This objective has not been created yet. Await further information.
|
sector.onset.description = Commence the conquest of Erekir. Gather resources, produce units, and begin researching technology.
|
||||||
sector.aegis.description = The enemy is protected by shields. An experimental shield breaker module has been detected in this sector.\nLocate this structure. Supply it with tungsten ammunition and destroy the enemy base.
|
|
||||||
|
sector.aegis.description = This sector contains deposits of tungsten.\nResearch the [accent]Impact Drill[] to mine this resource, and destroy the enemy base in the area.
|
||||||
sector.lake.description = This sector's slag lake greatly limits viable units. A hover unit is the only option.\nResearch the [accent]ship fabricator[] and produce an [accent]elude[] unit as soon as possible.
|
sector.lake.description = This sector's slag lake greatly limits viable units. A hover unit is the only option.\nResearch the [accent]ship fabricator[] and produce an [accent]elude[] unit as soon as possible.
|
||||||
sector.intersect.description = Scans suggest that this sector will be attacked from multiple sides soon after landing.\nSet up defenses quickly and expand as soon as possible.\n[accent]Mech[] units will be required for the area's rough terrain.
|
sector.intersect.description = Scans suggest that this sector will be attacked from multiple sides soon after landing.\nSet up defenses quickly and expand as soon as possible.\n[accent]Mech[] units will be required for the area's rough terrain.
|
||||||
sector.atlas.description = This sector contains varied terrain and will require a variety of units to attack effectively.\nUpgraded units may also be necessary to get past some of the tougher enemy bases detected here.\nResearch the [accent]Electrolyzer[] and the [accent]Tank Refabricator[].
|
sector.atlas.description = This sector contains varied terrain and will require a variety of units to attack effectively.\nUpgraded units may also be necessary to get past some of the tougher enemy bases detected here.\nResearch the [accent]Electrolyzer[] and the [accent]Tank Refabricator[].
|
||||||
sector.split.description = The minimal enemy presence in this sector makes it perfect for testing new transport tech.
|
sector.split.description = The minimal enemy presence in this sector makes it perfect for testing new transport tech.
|
||||||
sector.basin.description = {Temporary}\n\nThe last sector for now. Consider this a challenge level - more sectors will be added in a later release.
|
sector.basin.description = Large enemy presence detected in this sector.\nBuild units quickly and capture enemy cores to gain a foothold.
|
||||||
|
sector.marsh.description = This sector has an abundance of arkycite, but has limited vents.\nBuild [accent]Chemical Combustion Chambers[] to generate power.
|
||||||
|
sector.peaks.description = The mountainous terrain in this sector make most units useless. Flying units will be required.\nBe aware of enemy anti-air installations. It may be possible to disable some of these installations by targeting their supporting buildings.
|
||||||
sector.ravine.description = No enemy cores detected in the sector, although it's an important transportation route for the enemy. Expect variety of enemy forces.\nProduce [accent]surge alloy[]. Construct [accent]Afflict[] turrets.
|
sector.ravine.description = No enemy cores detected in the sector, although it's an important transportation route for the enemy. Expect variety of enemy forces.\nProduce [accent]surge alloy[]. Construct [accent]Afflict[] turrets.
|
||||||
sector.caldera-erekir.description = Temporary description.
|
sector.caldera-erekir.description = The resources detected in this sector are scattered across several islands.\nResearch and deploy drone-based transportation.
|
||||||
sector.stronghold.description = WiP Description.
|
sector.stronghold.description = The large enemy encampment in this sector guards significant deposits of [accent]thorium[].\nUse it to develop higher tier units and turrets.
|
||||||
sector.crevice.description = WiP Description.
|
sector.crevice.description = The enemy will send fierce attack forces to take out your base in this sector.\nDeveloping [accent]carbide[] and the [accent]Pyrolysis Generator[] may be imperative for survival.
|
||||||
sector.siege.description = WiP Description.
|
sector.siege.description = This sector features two parallel canyons that will force a two-pronged attack.\nResearch [accent]cyanogen[] to gain the capability to create even stronger tank units.\nCaution: enemy long-range missiles have been detected. The missiles may be shot down before impact.
|
||||||
sector.crossroads.description = WiP Description.
|
sector.crossroads.description = The enemy bases in this sector have been established in varying terrain. Research different units to adapt.\nAdditionally, some bases are protected by shields. Figure out how they are powered.
|
||||||
sector.karst.description = WiP Description.
|
sector.karst.description = This sector is rich in resources, but will be attacked by the enemy once a new core lands.\nTake advantage of the resources and research [accent]phase fabric[].
|
||||||
sector.origin.description = WiP Description.
|
sector.origin.description = The final sector with a significant enemy presence.\nNo probable research opportunities remain - focus solely on destroying all enemy cores.
|
||||||
|
|
||||||
status.burning.name = Горящ
|
status.burning.name = Горящ
|
||||||
status.freezing.name = Замръзяващ
|
status.freezing.name = Замръзяващ
|
||||||
@@ -869,6 +888,7 @@ stat.repairspeed = Repair Speed
|
|||||||
stat.weapons = Оръжия
|
stat.weapons = Оръжия
|
||||||
stat.bullet = Муниции
|
stat.bullet = Муниции
|
||||||
stat.moduletier = Module Tier
|
stat.moduletier = Module Tier
|
||||||
|
stat.unittype = Unit Type
|
||||||
stat.speedincrease = Ускорение
|
stat.speedincrease = Ускорение
|
||||||
stat.range = Обхват
|
stat.range = Обхват
|
||||||
stat.drilltier = Изкопаеми ресурси
|
stat.drilltier = Изкопаеми ресурси
|
||||||
@@ -921,6 +941,7 @@ ability.unitspawn = {0} Factory
|
|||||||
ability.shieldregenfield = Възстановяващо броня Поле
|
ability.shieldregenfield = Възстановяващо броня Поле
|
||||||
ability.movelightning = Подвижна светкавица
|
ability.movelightning = Подвижна светкавица
|
||||||
ability.shieldarc = Shield Arc
|
ability.shieldarc = Shield Arc
|
||||||
|
ability.suppressionfield = Regen Suppression Field
|
||||||
ability.energyfield = Energy Field: [accent]{0}[] damage ~ [accent]{1}[] blocks / [accent]{2}[] targets
|
ability.energyfield = Energy Field: [accent]{0}[] damage ~ [accent]{1}[] blocks / [accent]{2}[] targets
|
||||||
bar.onlycoredeposit = Only Core Depositing Allowed
|
bar.onlycoredeposit = Only Core Depositing Allowed
|
||||||
|
|
||||||
@@ -961,6 +982,8 @@ bullet.splashdamage = [stat]{0}[lightgray] щети на площ ~[stat] {1}[li
|
|||||||
bullet.incendiary = [stat]Подпалване
|
bullet.incendiary = [stat]Подпалване
|
||||||
bullet.homing = [stat]Самонасочване
|
bullet.homing = [stat]Самонасочване
|
||||||
bullet.armorpierce = [stat]armor piercing
|
bullet.armorpierce = [stat]armor piercing
|
||||||
|
bullet.suppression = [stat]{0} sec[lightgray] repair suppression ~ [stat]{1}[lightgray] tiles
|
||||||
|
bullet.interval = [stat]{0}/sec[lightgray] interval bullets:
|
||||||
bullet.frags = [stat]{0}[lightgray]x frag bullets:
|
bullet.frags = [stat]{0}[lightgray]x frag bullets:
|
||||||
bullet.lightning = [stat]{0}[lightgray]x светкавица ~ [stat]{1}[lightgray] щети
|
bullet.lightning = [stat]{0}[lightgray]x светкавица ~ [stat]{1}[lightgray] щети
|
||||||
bullet.buildingdamage = [stat]{0}%[lightgray] щети на сгради
|
bullet.buildingdamage = [stat]{0}%[lightgray] щети на сгради
|
||||||
@@ -1074,8 +1097,8 @@ setting.bridgeopacity.name = Плътност на Мостовете
|
|||||||
setting.playerchat.name = Показвай Мехурчета с Чат
|
setting.playerchat.name = Показвай Мехурчета с Чат
|
||||||
setting.showweather.name = Показвай Графики за Климата
|
setting.showweather.name = Показвай Графики за Климата
|
||||||
setting.hidedisplays.name = Hide Logic Displays
|
setting.hidedisplays.name = Hide Logic Displays
|
||||||
public.confirm = Искате ли да направите вашата игра публична?\n[accent]Всеки ще може да се присъедини към вашата игра.\n[lightgray]Това може да бъде променено по-късно в Настройки->Игри->Видимост на Публичните Игри.
|
steam.friendsonly = Friends Only
|
||||||
public.confirm.really = Ако искате да играете с приятел, използвате [green]Покани Приятел[] вместо [scarlet]Публикувай Сървър[]!\nСигурни ли сте, че искате да направите вашата игра [scarlet]публична[]?
|
steam.friendsonly.tooltip = Whether only Steam friends will be able to join your game.\nUnchecking this box will make your game public - anyone can join.
|
||||||
public.beta = Имайте в предвид, че бета версии на играта не могат да стартират публични игри.
|
public.beta = Имайте в предвид, че бета версии на играта не могат да стартират публични игри.
|
||||||
uiscale.reset = Размерът на интерфейса беше променен.\nНатиснете "ОК" за да потвърдите този размер.\n[scarlet]Възстановяване и рестартиране след[accent] {0}[] секунди...
|
uiscale.reset = Размерът на интерфейса беше променен.\nНатиснете "ОК" за да потвърдите този размер.\n[scarlet]Възстановяване и рестартиране след[accent] {0}[] секунди...
|
||||||
uiscale.cancel = Отакз & Изход
|
uiscale.cancel = Отакз & Изход
|
||||||
@@ -1127,7 +1150,8 @@ keybind.select.name = Избери/Стреляй
|
|||||||
keybind.diagonal_placement.name = Диагонално Поставяне
|
keybind.diagonal_placement.name = Диагонално Поставяне
|
||||||
keybind.pick.name = Вземи Блок
|
keybind.pick.name = Вземи Блок
|
||||||
keybind.break_block.name = Унищожи Блок
|
keybind.break_block.name = Унищожи Блок
|
||||||
keybind.select_all_units = Select All Units
|
keybind.select_all_units.name = Select All Units
|
||||||
|
keybind.select_all_unit_factories.name = Select All Unit Factories
|
||||||
keybind.deselect.name = Премахни избора
|
keybind.deselect.name = Премахни избора
|
||||||
keybind.pickupCargo.name = Вземи Товар
|
keybind.pickupCargo.name = Вземи Товар
|
||||||
keybind.dropCargo.name = Остави Товар
|
keybind.dropCargo.name = Остави Товар
|
||||||
@@ -1174,6 +1198,8 @@ rules.wavetimer = Таймер за Вълни
|
|||||||
rules.wavesending = Wave Sending
|
rules.wavesending = Wave Sending
|
||||||
rules.waves = Вълни
|
rules.waves = Вълни
|
||||||
rules.attack = Режим Атака
|
rules.attack = Режим Атака
|
||||||
|
rules.buildai = Base Builder AI
|
||||||
|
rules.buildaitier = Builder AI Tier
|
||||||
rules.rtsai = RTS AI
|
rules.rtsai = RTS AI
|
||||||
rules.rtsminsquadsize = Min Squad Size
|
rules.rtsminsquadsize = Min Squad Size
|
||||||
rules.rtsmaxsquadsize = Max Squad Size
|
rules.rtsmaxsquadsize = Max Squad Size
|
||||||
@@ -1189,6 +1215,7 @@ rules.unitbuildspeedmultiplier = Множител на Скоростта на
|
|||||||
rules.unitcostmultiplier = Unit Cost Multiplier
|
rules.unitcostmultiplier = Unit Cost Multiplier
|
||||||
rules.unithealthmultiplier = Множител на Точките Живот на Единици
|
rules.unithealthmultiplier = Множител на Точките Живот на Единици
|
||||||
rules.unitdamagemultiplier = Множител на Щетите на Единици
|
rules.unitdamagemultiplier = Множител на Щетите на Единици
|
||||||
|
rules.unitcrashdamagemultiplier = Unit Crash Damage Multiplier
|
||||||
rules.solarmultiplier = Solar Power Multiplier
|
rules.solarmultiplier = Solar Power Multiplier
|
||||||
rules.unitcapvariable = Ядрата Увеличават Максималния Брой Единици
|
rules.unitcapvariable = Ядрата Увеличават Максималния Брой Единици
|
||||||
rules.unitcap = Максимален Брой Единици
|
rules.unitcap = Максимален Брой Единици
|
||||||
@@ -1200,6 +1227,7 @@ rules.buildcostmultiplier = Множител на Необходимите Ре
|
|||||||
rules.buildspeedmultiplier = Множител на Скоростта за Строене
|
rules.buildspeedmultiplier = Множител на Скоростта за Строене
|
||||||
rules.deconstructrefundmultiplier = Множител на Възстановени Ресурси при Деконструкция
|
rules.deconstructrefundmultiplier = Множител на Възстановени Ресурси при Деконструкция
|
||||||
rules.waitForWaveToEnd = Вълните Изчакват за Врагове
|
rules.waitForWaveToEnd = Вълните Изчакват за Врагове
|
||||||
|
rules.wavelimit = Map Ends After Wave
|
||||||
rules.dropzoneradius = Радиус на Начална Точка на Враговете:[lightgray] (полета)
|
rules.dropzoneradius = Радиус на Начална Точка на Враговете:[lightgray] (полета)
|
||||||
rules.unitammo = Единиците се Нуждаят от Боеприпаси
|
rules.unitammo = Единиците се Нуждаят от Боеприпаси
|
||||||
rules.enemyteam = Enemy Team
|
rules.enemyteam = Enemy Team
|
||||||
@@ -1576,6 +1604,7 @@ block.carbon-vent.name = Carbon Vent
|
|||||||
block.arkyic-vent.name = Arkyic Vent
|
block.arkyic-vent.name = Arkyic Vent
|
||||||
block.yellow-stone-vent.name = Yellow Stone Vent
|
block.yellow-stone-vent.name = Yellow Stone Vent
|
||||||
block.red-stone-vent.name = Red Stone Vent
|
block.red-stone-vent.name = Red Stone Vent
|
||||||
|
block.crystalline-vent.name = Crystalline Vent
|
||||||
block.redmat.name = Redmat
|
block.redmat.name = Redmat
|
||||||
block.bluemat.name = Bluemat
|
block.bluemat.name = Bluemat
|
||||||
block.core-zone.name = Core Zone
|
block.core-zone.name = Core Zone
|
||||||
@@ -1741,6 +1770,8 @@ hint.unitSelectControl.mobile = To control units, enter [accent]command mode[] b
|
|||||||
hint.launch = След като съберете достатъчно ресурси, можете да [accent]Изстреляте[] ядро като изберете близък сектор от \ue827 [accent]Глобуса[] в долния десен ъгъл.
|
hint.launch = След като съберете достатъчно ресурси, можете да [accent]Изстреляте[] ядро като изберете близък сектор от \ue827 [accent]Глобуса[] в долния десен ъгъл.
|
||||||
hint.launch.mobile = След като съберете достатъчно ресурси, можете да [accent]Изстреляте[] ядро като изберете близък сектор от \ue827 [accent]Глобуса[] в \ue88c [accent]Менюто[].
|
hint.launch.mobile = След като съберете достатъчно ресурси, можете да [accent]Изстреляте[] ядро като изберете близък сектор от \ue827 [accent]Глобуса[] в \ue88c [accent]Менюто[].
|
||||||
hint.schematicSelect = Задръжте [accent][[F][] и плъзнете за да изберете/копирате група от блокчета.\n\n[accent][[Среден клик][] за да копирате едно блокче.
|
hint.schematicSelect = Задръжте [accent][[F][] и плъзнете за да изберете/копирате група от блокчета.\n\n[accent][[Среден клик][] за да копирате едно блокче.
|
||||||
|
hint.rebuildSelect = Hold [accent][[B][] and drag to select destroyed block plans.\nThis will rebuild them automatically.
|
||||||
|
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.conveyorPathfind = Задръжте [accent][[L-Ctrl][] докато поставяте пътека от конвейери за да генерирате пътека автоматично.
|
hint.conveyorPathfind = Задръжте [accent][[L-Ctrl][] докато поставяте пътека от конвейери за да генерирате пътека автоматично.
|
||||||
hint.conveyorPathfind.mobile = Позволете \ue844 [accent]Диагонално Поставяне[] за автоматично намиране на пътека при поставяне на конвейери.
|
hint.conveyorPathfind.mobile = Позволете \ue844 [accent]Диагонално Поставяне[] за автоматично намиране на пътека при поставяне на конвейери.
|
||||||
hint.boost = Задръжте [accent][[L-Shift][] за да прелетите над препятствия с тази единица.\n\nСамо някои наземни единици имат двигатели за летене.
|
hint.boost = Задръжте [accent][[L-Shift][] за да прелетите над препятствия с тази единица.\n\nСамо някои наземни единици имат двигатели за летене.
|
||||||
@@ -2080,9 +2111,11 @@ block.small-deconstructor.description = Deconstructs inputted structures and uni
|
|||||||
block.reinforced-payload-conveyor.description = Moves payloads forward.
|
block.reinforced-payload-conveyor.description = Moves payloads forward.
|
||||||
block.reinforced-payload-router.description = Distributes payloads into adjacent blocks. Functions as a sorter when a filter is set.
|
block.reinforced-payload-router.description = Distributes payloads into adjacent blocks. Functions as a sorter when a filter is set.
|
||||||
block.payload-mass-driver.description = Long-range payload transport structure. Shoots received payloads to linked payload mass drivers.
|
block.payload-mass-driver.description = Long-range payload transport structure. Shoots received payloads to linked payload mass drivers.
|
||||||
|
block.large-payload-mass-driver.description = Long-range payload transport structure. Shoots received payloads to linked payload mass drivers.
|
||||||
block.unit-repair-tower.description = Repairs all units in its vicinity. Requires ozone.
|
block.unit-repair-tower.description = Repairs all units in its vicinity. Requires ozone.
|
||||||
block.radar.description = Gradually uncovers terrain and enemy units in a large radius. Requires power.
|
block.radar.description = Gradually uncovers terrain and enemy units in a large radius. Requires power.
|
||||||
block.shockwave-tower.description = Damages and destroys enemy projectiles in a radius. Requires cyanogen.
|
block.shockwave-tower.description = Damages and destroys enemy projectiles in a radius. Requires cyanogen.
|
||||||
|
block.canvas.description = Displays a simple image with a pre-defined palette. Editable.
|
||||||
|
|
||||||
unit.dagger.description = Изстрелва стандартни боеприпаси по всички близки врагове.
|
unit.dagger.description = Изстрелва стандартни боеприпаси по всички близки врагове.
|
||||||
unit.mace.description = Изстрелва поток от пламък по всички близки врагове.
|
unit.mace.description = Изстрелва поток от пламък по всички близки врагове.
|
||||||
@@ -2176,6 +2209,7 @@ lst.flushmessage = Display a message on the screen from the text buffer.\nWill w
|
|||||||
lst.cutscene = Manipulate the player camera.
|
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.
|
||||||
|
|
||||||
logic.nounitbuild = [red]Действия за строене на единици не са позволени тук.
|
logic.nounitbuild = [red]Действия за строене на единици не са позволени тук.
|
||||||
|
|
||||||
|
|||||||