Compare commits
1083 Commits
| Author | SHA1 | Date | |
|---|---|---|---|
|
|
41b22ba6a6 | ||
|
|
b1fed0346c | ||
|
|
4462bcca43 | ||
|
|
99a3967918 | ||
|
|
7faa0f119e | ||
|
|
47b8e8d9fa | ||
|
|
b2fc824277 | ||
|
|
c3ab407040 | ||
|
|
2bfc23c216 | ||
|
|
12e1f328e8 | ||
|
|
fdc942cc6c | ||
|
|
3d507ae473 | ||
|
|
580fcd1fbc | ||
|
|
8ec2e40610 | ||
|
|
5271edf9eb | ||
|
|
7ca1663d89 | ||
|
|
9e53f3d86b | ||
|
|
2fd3c25beb | ||
|
|
2759aa2793 | ||
|
|
6ac865be9f | ||
|
|
f4281d260b | ||
|
|
6ea4570ae8 | ||
|
|
ca016df40d | ||
|
|
96d99f68b2 | ||
|
|
4ff697e19b | ||
|
|
6c59018d9f | ||
|
|
bdd6a0e08c | ||
|
|
9f3a1cac1b | ||
|
|
813408d6ee | ||
|
|
3509b56a51 | ||
|
|
09e0e441c5 | ||
|
|
155b7638f9 | ||
|
|
785bd44dbe | ||
|
|
0ee8c07904 | ||
|
|
cdbad21daa | ||
|
|
a0fc8accff | ||
|
|
a2e2b867b0 | ||
|
|
35ec122e2f | ||
|
|
69737594cc | ||
|
|
738e75253d | ||
|
|
e20505508e | ||
|
|
96b26cafd4 | ||
|
|
761b357e46 | ||
|
|
6a053f2f45 | ||
|
|
c877c3416e | ||
|
|
126baa93d7 | ||
|
|
7dce2ee9ec | ||
|
|
16b9d68773 | ||
|
|
4ee2ce3ba5 | ||
|
|
d7e55e83da | ||
|
|
335cd0c8a1 | ||
|
|
c01ad67614 | ||
|
|
34d8ce59cb | ||
|
|
5c4f3171f7 | ||
|
|
ae924e6e2b | ||
|
|
ca6723e696 | ||
|
|
dc02678a6d | ||
|
|
e5d16a73c5 | ||
|
|
85d3680094 | ||
|
|
b3a91f50c1 | ||
|
|
29311806a9 | ||
|
|
0b9483cffc | ||
|
|
fa06d2c20b | ||
|
|
d81efe4f71 | ||
|
|
ed598e203c | ||
|
|
5596354454 | ||
|
|
716702623d | ||
|
|
e2658ba497 | ||
|
|
30070ce759 | ||
|
|
c26671fd4b | ||
|
|
df994a2ebd | ||
|
|
287dc35640 | ||
|
|
a3ccdce0eb | ||
|
|
4a05c9547a | ||
|
|
3311e40906 | ||
|
|
b8842a34ae | ||
|
|
cc221d669a | ||
|
|
6a75d84f48 | ||
|
|
9622d6b401 | ||
|
|
44c28e2af0 | ||
|
|
f754f386c9 | ||
|
|
795edb2494 | ||
|
|
f5701ba3c4 | ||
|
|
772f3ceb5f | ||
|
|
4b6a48a30f | ||
|
|
43e857e810 | ||
|
|
cd88400154 | ||
|
|
1d14fa78bf | ||
|
|
02db63aa91 | ||
|
|
4eab4ab569 | ||
|
|
12a8797019 | ||
|
|
030d66fb73 | ||
|
|
9825d2f746 | ||
|
|
f8af593177 | ||
|
|
16d7a368c6 | ||
|
|
3701ac131e | ||
|
|
ec00f59b82 | ||
|
|
2da4408dd1 | ||
|
|
692718d4ea | ||
|
|
84d87e7e9f | ||
|
|
0036efba0c | ||
|
|
34c4aa07de | ||
|
|
2dfa238ff3 | ||
|
|
a093ba5511 | ||
|
|
24420c4371 | ||
|
|
24d3054bac | ||
|
|
7880135824 | ||
|
|
4b6541ae4e | ||
|
|
339d87ad78 | ||
|
|
052b47fbe4 | ||
|
|
b5c1972040 | ||
|
|
6c26edbd84 | ||
|
|
192588d373 | ||
|
|
a3100980dc | ||
|
|
f4c7637071 | ||
|
|
3a91460e24 | ||
|
|
b70c08c2ec | ||
|
|
8e89b24e5b | ||
|
|
76af0228c1 | ||
|
|
a3385df88b | ||
|
|
5c3ecaabb5 | ||
|
|
adb03c465b | ||
|
|
5ea4688e88 | ||
|
|
8cb830ba41 | ||
|
|
3819e327e9 | ||
|
|
51fe07daef | ||
|
|
dc0904a6c7 | ||
|
|
feba9d677e | ||
|
|
582f05fa33 | ||
|
|
061357e1df | ||
|
|
c055407249 | ||
|
|
e1685ef46c | ||
|
|
22564de3c8 | ||
|
|
ce065f0324 | ||
|
|
4eca2b4b0b | ||
|
|
04b1ba31a9 | ||
|
|
c24c5c6196 | ||
|
|
cd0fbb4d81 | ||
|
|
d4ccbaa6df | ||
|
|
07696c7f92 | ||
|
|
ccfd062c85 | ||
|
|
0743243ead | ||
|
|
4c36abde28 | ||
|
|
1896a7f024 | ||
|
|
010f07ed9f | ||
|
|
54f04d8d2c | ||
|
|
41e82881f3 | ||
|
|
55219ea141 | ||
|
|
b0c46d3c97 | ||
|
|
fa2efcbe15 | ||
|
|
42d931bff4 | ||
|
|
4eb4c84b64 | ||
|
|
a0ba464de1 | ||
|
|
cec39f8a70 | ||
|
|
64b4478bac | ||
|
|
8c9de7e4eb | ||
|
|
2d5e9118a5 | ||
|
|
261ad5dae5 | ||
|
|
e0b14db778 | ||
|
|
521b0e1ec4 | ||
|
|
d550ad5614 | ||
|
|
8717fd8b33 | ||
|
|
ef1084302f | ||
|
|
c8397c9d10 | ||
|
|
25f98fdeb0 | ||
|
|
f1e9d05163 | ||
|
|
f81d519c91 | ||
|
|
5a03083b57 | ||
|
|
77fb5a9a24 | ||
|
|
d87ee0e942 | ||
|
|
0dc8c6cd25 | ||
|
|
aeaba6e111 | ||
|
|
0e8a677ecc | ||
|
|
b4cd21752c | ||
|
|
d1a5198efc | ||
|
|
731fd2900a | ||
|
|
51626b6233 | ||
|
|
fd1678dbc9 | ||
|
|
f87cd9c643 | ||
|
|
4a7774fe5a | ||
|
|
d23813f328 | ||
|
|
f586fd285c | ||
|
|
a786e93329 | ||
|
|
df3901fda2 | ||
|
|
bb443e359f | ||
|
|
1c4e6b77b4 | ||
|
|
68f8668162 | ||
|
|
51730556a5 | ||
|
|
c2b5e4b82b | ||
|
|
c96b723aaa | ||
|
|
af7c11c4b7 | ||
|
|
656bb34b68 | ||
|
|
1dd0f67daf | ||
|
|
fff7283568 | ||
|
|
b88ddef3c5 | ||
|
|
93c6fa64f7 | ||
|
|
24ca434bae | ||
|
|
189604474c | ||
|
|
5fe8ed88a6 | ||
|
|
b553f5afc2 | ||
|
|
9e68b0a72b | ||
|
|
7884bbd299 | ||
|
|
996193ea69 | ||
|
|
3574b982ab | ||
|
|
a438be7fcd | ||
|
|
921c113375 | ||
|
|
a7cd8c8ef3 | ||
|
|
77044db39f | ||
|
|
b418afed63 | ||
|
|
99d30b6351 | ||
|
|
c4dc7e91f3 | ||
|
|
48b9bbc317 | ||
|
|
134ef9e00e | ||
|
|
f5c09845ae | ||
|
|
72e3461745 | ||
|
|
8cabae1d46 | ||
|
|
779bab0344 | ||
|
|
0639e3eedb | ||
|
|
450f651c8f | ||
|
|
13d16f1883 | ||
|
|
4cbc4a0bca | ||
|
|
99e7fcd2d2 | ||
|
|
223fb8d6f5 | ||
|
|
e1bf1a1b92 | ||
|
|
5d93362741 | ||
|
|
34180a6602 | ||
|
|
4999c25723 | ||
|
|
24810ddbf5 | ||
|
|
d16739f86a | ||
|
|
1a6d2e9dd6 | ||
|
|
1a0bcfc745 | ||
|
|
4a94d9f2b3 | ||
|
|
312f4d8462 | ||
|
|
859c2987f0 | ||
|
|
a3f4dc7d1d | ||
|
|
2e036c6efe | ||
|
|
c0d8ce2803 | ||
|
|
f1d1f935fb | ||
|
|
338f7b840c | ||
|
|
828464a449 | ||
|
|
49f35c6977 | ||
|
|
a0fbf5f00f | ||
|
|
26045904f4 | ||
|
|
fc900bec58 | ||
|
|
850a3cfb4e | ||
|
|
330ed9d390 | ||
|
|
95b6ac36fc | ||
|
|
cd5fb71b34 | ||
|
|
10f2a7b59c | ||
|
|
09f718ba3d | ||
|
|
324c19e425 | ||
|
|
be5c46beb8 | ||
|
|
c15f82297d | ||
|
|
a441c0bdcb | ||
|
|
15396b6032 | ||
|
|
75a520c3ae | ||
|
|
d7fd7db3cc | ||
|
|
144731bfb0 | ||
|
|
7c1d4a092e | ||
|
|
a28ece6424 | ||
|
|
39c5c6a6f0 | ||
|
|
77975a710c | ||
|
|
d95dc98652 | ||
|
|
7afa6a7f44 | ||
|
|
a4339b8b2b | ||
|
|
7897ca9b97 | ||
|
|
4f957017ab | ||
|
|
fa60ff2814 | ||
|
|
65ef189921 | ||
|
|
5b3b2cf4d5 | ||
|
|
d89184da43 | ||
|
|
898bddee7c | ||
|
|
860e4a2999 | ||
|
|
39ef3ab4ce | ||
|
|
e57f4c9877 | ||
|
|
30214e68b3 | ||
|
|
59a480cb30 | ||
|
|
46c6a6f6f7 | ||
|
|
b6acf1af0a | ||
|
|
16f4e300a8 | ||
|
|
b18b4cdc90 | ||
|
|
79d90ca75d | ||
|
|
b2b47353bf | ||
|
|
b7fe2bedae | ||
|
|
00e1d69348 | ||
|
|
88d1165909 | ||
|
|
b22efb8c83 | ||
|
|
a7c78c4193 | ||
|
|
5c5acb2d48 | ||
|
|
414f27a3b6 | ||
|
|
009eea1988 | ||
|
|
c9eed5a936 | ||
|
|
5d20f3a89b | ||
|
|
677e0e6f58 | ||
|
|
49c64faece | ||
|
|
f944d3d579 | ||
|
|
4dc2164468 | ||
|
|
e9612ce9f0 | ||
|
|
b19eb3fc04 | ||
|
|
699364580e | ||
|
|
085a974350 | ||
|
|
4436a5ced9 | ||
|
|
a21f6d335f | ||
|
|
2469cf0851 | ||
|
|
a82ba0567b | ||
|
|
6022fcd109 | ||
|
|
038d132da9 | ||
|
|
52238e3aa4 | ||
|
|
f2ce32cbb2 | ||
|
|
7dc492892e | ||
|
|
4e92aa2000 | ||
|
|
3c8e21ac6a | ||
|
|
8f5aa02428 | ||
|
|
f31759bb96 | ||
|
|
938b4e5a00 | ||
|
|
c6f6b8e46e | ||
|
|
3a9c0377ac | ||
|
|
324e5151aa | ||
|
|
ad8455377c | ||
|
|
3c963fb1bc | ||
|
|
af3467035b | ||
|
|
b57abf8b60 | ||
|
|
0acd339e33 | ||
|
|
e897458e94 | ||
|
|
a72adef051 | ||
|
|
a8ffd6c520 | ||
|
|
9cb8c6d83d | ||
|
|
59435c8372 | ||
|
|
fc9abeb908 | ||
|
|
ea3802bfc7 | ||
|
|
994f6f7e84 | ||
|
|
ba91fb8eb7 | ||
|
|
e6d7330f6e | ||
|
|
be1561b0cb | ||
|
|
b271f5b630 | ||
|
|
d5a2f13442 | ||
|
|
f03d3d89f3 | ||
|
|
717a620ff4 | ||
|
|
9dfd4d0049 | ||
|
|
290450de5b | ||
|
|
d970eb45e3 | ||
|
|
b7f030eb13 | ||
|
|
f43e308dad | ||
|
|
bd329f57d6 | ||
|
|
06bf2711a4 | ||
|
|
7ff9ad7351 | ||
|
|
91acda56c1 | ||
|
|
0f29a01292 | ||
|
|
902f3695ee | ||
|
|
d5e239c610 | ||
|
|
36064c63e3 | ||
|
|
01a8a8bb4d | ||
|
|
4a979058c2 | ||
|
|
e06640935d | ||
|
|
956cbe792b | ||
|
|
e9e5fea306 | ||
|
|
f683496440 | ||
|
|
b66eb173d8 | ||
|
|
816ab161df | ||
|
|
bccdd86f30 | ||
|
|
9a5ac14bc3 | ||
|
|
dc14f42593 | ||
|
|
18c5f508b1 | ||
|
|
d8cf65e24c | ||
|
|
3de9cfa1d7 | ||
|
|
df156444e7 | ||
|
|
8a3dd53aa2 | ||
|
|
b855849e4a | ||
|
|
6b59c1cd83 | ||
|
|
ad1c75d050 | ||
|
|
dcb84f9faf | ||
|
|
d5babe88e3 | ||
|
|
b30eb26eb7 | ||
|
|
b5f639f518 | ||
|
|
ec1124499f | ||
|
|
095cc27ea6 | ||
|
|
a2f40a5565 | ||
|
|
1f1a5bde3e | ||
|
|
4a4b336814 | ||
|
|
1a839bce86 | ||
|
|
2e747a481a | ||
|
|
fdfe381b6e | ||
|
|
9e01d1a69d | ||
|
|
5e8a3137c1 | ||
|
|
8c3ecfdb06 | ||
|
|
fbca85fe0a | ||
|
|
bf8276f501 | ||
|
|
1fc3974e1b | ||
|
|
c857c8a438 | ||
|
|
5b9e11cc6c | ||
|
|
10b1ce2a3d | ||
|
|
5b3ae4ae15 | ||
|
|
90d589939a | ||
|
|
da225d15c7 | ||
|
|
21549d2518 | ||
|
|
e6863825d2 | ||
|
|
25c8623e30 | ||
|
|
d5f7fc842c | ||
|
|
da0fea5186 | ||
|
|
6abb458c27 | ||
|
|
9cc738d867 | ||
|
|
171e348b49 | ||
|
|
3c071bcf49 | ||
|
|
4030e71b31 | ||
|
|
9f070323c2 | ||
|
|
8ae70f5f9a | ||
|
|
f5cb6f2542 | ||
|
|
871fcc9579 | ||
|
|
a9bb8b1310 | ||
|
|
b955539383 | ||
|
|
8f8e038575 | ||
|
|
b2de197050 | ||
|
|
c60bd6f0dc | ||
|
|
8468214dd7 | ||
|
|
919db8cc76 | ||
|
|
5ce5f347aa | ||
|
|
758921c077 | ||
|
|
c22ede229e | ||
|
|
1ca6db9cf5 | ||
|
|
c5ed535519 | ||
|
|
6c86a64c74 | ||
|
|
d24f7cb549 | ||
|
|
f5d6313399 | ||
|
|
dc7ffbc8b8 | ||
|
|
f9da6f8904 | ||
|
|
1ada42738f | ||
|
|
04df23b88a | ||
|
|
200aa3e32b | ||
|
|
083321d6c7 | ||
|
|
00be5b7fa5 | ||
|
|
55537f09dc | ||
|
|
d43157fd22 | ||
|
|
60a430025a | ||
|
|
3f53315a07 | ||
|
|
6e3de78026 | ||
|
|
a4963f351d | ||
|
|
df5c31a0e7 | ||
|
|
17af905d52 | ||
|
|
f2139fad6e | ||
|
|
785ba7910d | ||
|
|
3030308f09 | ||
|
|
4ed471f77b | ||
|
|
373c73f492 | ||
|
|
bc3da30d45 | ||
|
|
77736f227f | ||
|
|
6d49bd39be | ||
|
|
0d0fe394d3 | ||
|
|
aed57aaac3 | ||
|
|
b20cdb97c5 | ||
|
|
d95662233c | ||
|
|
ce7e91f17b | ||
|
|
db6b8abce6 | ||
|
|
3e2da3595f | ||
|
|
60fe1e5570 | ||
|
|
67ed6ddd18 | ||
|
|
b265ddac03 | ||
|
|
ee26f51d7a | ||
|
|
0483e3f900 | ||
|
|
9939d6065a | ||
|
|
c226127648 | ||
|
|
e0b1c49e0b | ||
|
|
558fb26dcb | ||
|
|
78a4572388 | ||
|
|
6f6590d5bb | ||
|
|
efb9df7b1b | ||
|
|
a04b385f56 | ||
|
|
01d6aee754 | ||
|
|
603c871e6e | ||
|
|
71543f2ab2 | ||
|
|
7f415588f4 | ||
|
|
c6c374f672 | ||
|
|
d226ffe633 | ||
|
|
182dfc5f38 | ||
|
|
366822e4d1 | ||
|
|
8f53822a6e | ||
|
|
c814ef0012 | ||
|
|
30e6bb2625 | ||
|
|
f5a0528c73 | ||
|
|
f5a2ed900d | ||
|
|
2f9bf6e13f | ||
|
|
13b92519f1 | ||
|
|
61a28aca91 | ||
|
|
7c00b54191 | ||
|
|
dbd31b9031 | ||
|
|
083c21ea3f | ||
|
|
6fb7f4fe26 | ||
|
|
a21942e401 | ||
|
|
bf89ef1e5e | ||
|
|
2d2052e39f | ||
|
|
7bf85d9f84 | ||
|
|
ed1557b5ac | ||
|
|
5e0f404602 | ||
|
|
0185f8bc5a | ||
|
|
94d9ca4727 | ||
|
|
d79ab3ec3e | ||
|
|
50cc340b20 | ||
|
|
dac17aa2b7 | ||
|
|
29242249bd | ||
|
|
22a93fc649 | ||
|
|
c8ab2bd1ba | ||
|
|
9e718b633e | ||
|
|
90d1770b3e | ||
|
|
3f6d5b9dfe | ||
|
|
6d41b894ab | ||
|
|
0c4592fbc8 | ||
|
|
dc2ff1e933 | ||
|
|
6f8ae1b5a3 | ||
|
|
76e5c51a12 | ||
|
|
45f6fde689 | ||
|
|
83dc70b054 | ||
|
|
ec886456c8 | ||
|
|
4377eacfd5 | ||
|
|
c92433c5f9 | ||
|
|
deca57c2d9 | ||
|
|
00cb441704 | ||
|
|
173ac324a4 | ||
|
|
3a8ba568b5 | ||
|
|
b60acf2c37 | ||
|
|
6f27fd1ea2 | ||
|
|
8a6f3db20e | ||
|
|
4886ee35e9 | ||
|
|
cbb3afa95c | ||
|
|
7e0f68b24d | ||
|
|
cc0cdeb6c0 | ||
|
|
01a76d1c9e | ||
|
|
5c0827b208 | ||
|
|
05b8c772d8 | ||
|
|
9dfb5888ec | ||
|
|
66f56d9e98 | ||
|
|
3f996cf294 | ||
|
|
47dc9c7b31 | ||
|
|
e4e1bac2aa | ||
|
|
01771c5288 | ||
|
|
58a21c3cc7 | ||
|
|
effd226c3e | ||
|
|
8ccca23a24 | ||
|
|
84935e1bb0 | ||
|
|
32baf06c97 | ||
|
|
0756da0dd1 | ||
|
|
845b64945e | ||
|
|
7b623e964c | ||
|
|
e3cceea1af | ||
|
|
c4fe53955b | ||
|
|
0068952ba6 | ||
|
|
a3b3745d01 | ||
|
|
95c3476144 | ||
|
|
4cb3bef1a7 | ||
|
|
248f59131b | ||
|
|
72841afd96 | ||
|
|
eb9c3c8033 | ||
|
|
e23837a4ba | ||
|
|
625f2640d8 | ||
|
|
01c67b77cb | ||
|
|
63b39cdb72 | ||
|
|
be0397355f | ||
|
|
689b5af2fb | ||
|
|
d36a00a6fe | ||
|
|
8dfa349484 | ||
|
|
2906c61d06 | ||
|
|
e1ba9f16f6 | ||
|
|
826ddf4aad | ||
|
|
d20048fe11 | ||
|
|
edbe795aa5 | ||
|
|
087cd2c55a | ||
|
|
ca62deaaa9 | ||
|
|
d33a4f9f87 | ||
|
|
f64d078f29 | ||
|
|
da465c7786 | ||
|
|
9c12125e89 | ||
|
|
2a6d7c5a13 | ||
|
|
71e38862b9 | ||
|
|
b58a63b200 | ||
|
|
ee8b4f478d | ||
|
|
1941f22676 | ||
|
|
35ffbef557 | ||
|
|
24db94a55b | ||
|
|
46bda97362 | ||
|
|
a1b9f7d1b3 | ||
|
|
32db058dbe | ||
|
|
2f7c5994a7 | ||
|
|
2664bb84be | ||
|
|
bdcfb7ab45 | ||
|
|
5cf47f4198 | ||
|
|
515ee060d2 | ||
|
|
90c2473448 | ||
|
|
c5a90759e5 | ||
|
|
cccce6badd | ||
|
|
decc570867 | ||
|
|
caa34c959e | ||
|
|
b8fa15e546 | ||
|
|
47d5be679d | ||
|
|
fc7f689ea4 | ||
|
|
7c028ffcb8 | ||
|
|
10c3f9e44a | ||
|
|
b2a634e5e7 | ||
|
|
ae0a70703b | ||
|
|
9076325fa1 | ||
|
|
08d7390775 | ||
|
|
cbe188abab | ||
|
|
abbc25798d | ||
|
|
a3ede6cf0b | ||
|
|
e997768a0a | ||
|
|
671098cc28 | ||
|
|
1a686c44a1 | ||
|
|
9e737cd3fe | ||
|
|
deed84f9a3 | ||
|
|
868cd4fb0b | ||
|
|
a5697a7d4b | ||
|
|
2222330b43 | ||
|
|
cde192b59a | ||
|
|
c98eb2edd7 | ||
|
|
dd7062f0f7 | ||
|
|
8adefb7b72 | ||
|
|
5e13f71fde | ||
|
|
d257adf0c1 | ||
|
|
34d2a0d3a0 | ||
|
|
efae0d3b6a | ||
|
|
a393e21326 | ||
|
|
5641b4901c | ||
|
|
4da21ba363 | ||
|
|
508abba2ec | ||
|
|
87ff876db3 | ||
|
|
4720f1b876 | ||
|
|
e35d09fe62 | ||
|
|
fb74dfa02f | ||
|
|
461d87dbef | ||
|
|
cf5d172922 | ||
|
|
227fb388b8 | ||
|
|
89d495fdb1 | ||
|
|
82e659dd80 | ||
|
|
f20b9c828c | ||
|
|
efe5668c5a | ||
|
|
0331d8c6c4 | ||
|
|
15882016ca | ||
|
|
b4b9a44126 | ||
|
|
063d2ce6c0 | ||
|
|
3985620289 | ||
|
|
23d0dfe6bf | ||
|
|
0a5b1d1380 | ||
|
|
24b0f445b8 | ||
|
|
57cd20e2a1 | ||
|
|
3f49807348 | ||
|
|
13ddca750a | ||
|
|
c209b0bdaf | ||
|
|
264052a95f | ||
|
|
b004146015 | ||
|
|
3901ae1720 | ||
|
|
bcf798c247 | ||
|
|
2dffd525a3 | ||
|
|
d31389efca | ||
|
|
ee8683c734 | ||
|
|
8224cc3fce | ||
|
|
94a340d3ee | ||
|
|
f8048be429 | ||
|
|
3714077fbe | ||
|
|
6984be2172 | ||
|
|
48f359ca9b | ||
|
|
9b28eaa3b3 | ||
|
|
2f47f13ef7 | ||
|
|
80acea4708 | ||
|
|
cc689fd114 | ||
|
|
be5d9154a7 | ||
|
|
bb9d7fedf7 | ||
|
|
71f064bda1 | ||
|
|
e30d7e998d | ||
|
|
a3270dd908 | ||
|
|
48d568978b | ||
|
|
9a7324ce54 | ||
|
|
d254d971a9 | ||
|
|
800f0f4511 | ||
|
|
60b2842d82 | ||
|
|
f8c7ff0159 | ||
|
|
4d62b0321f | ||
|
|
6ca2855365 | ||
|
|
ced97888e4 | ||
|
|
9f68fe520b | ||
|
|
8c32acbc30 | ||
|
|
bfc9b07651 | ||
|
|
e53b578043 | ||
|
|
b2ed066faa | ||
|
|
5cc461edb0 | ||
|
|
9b22777dfb | ||
|
|
3bd08bb047 | ||
|
|
139d6cd5cc | ||
|
|
309b0adb9e | ||
|
|
c25e6b586b | ||
|
|
f46b22e4a7 | ||
|
|
2b6856634c | ||
|
|
20305b5d36 | ||
|
|
9e16d7385a | ||
|
|
c573fd34a1 | ||
|
|
da7873cbd8 | ||
|
|
a15f8131fa | ||
|
|
0d27e3afdc | ||
|
|
bdcae408e6 | ||
|
|
bc4783e9cd | ||
|
|
8143cb7be0 | ||
|
|
8e90527609 | ||
|
|
8949fd279e | ||
|
|
901d594768 | ||
|
|
3964c8e826 | ||
|
|
044a124bc7 | ||
|
|
4f22db8db5 | ||
|
|
80ef3cee34 | ||
|
|
254284760f | ||
|
|
71ee7558ab | ||
|
|
5f4a3e341f | ||
|
|
81f25b76fd | ||
|
|
649c6ddfb3 | ||
|
|
3bd3d3aa37 | ||
|
|
fa9573e6dc | ||
|
|
b4d19bf71b | ||
|
|
0f019f58bd | ||
|
|
572166b157 | ||
|
|
e16dba3336 | ||
|
|
b52d645459 | ||
|
|
73b24d2966 | ||
|
|
006c796da7 | ||
|
|
160fdee596 | ||
|
|
5cc50b0ff3 | ||
|
|
3ba2498815 | ||
|
|
0a0ec12e6c | ||
|
|
9c826a5fdd | ||
|
|
50d01ef6f8 | ||
|
|
b860b2bbfb | ||
|
|
7773a3b17b | ||
|
|
c605418e33 | ||
|
|
55270996ff | ||
|
|
789fcac439 | ||
|
|
466118319f | ||
|
|
8117aa8046 | ||
|
|
6847d2f373 | ||
|
|
f85c078de8 | ||
|
|
9cc08ada22 | ||
|
|
ec1afdfdc4 | ||
|
|
92d3d3cd9c | ||
|
|
8d23e335ae | ||
|
|
ec61598a52 | ||
|
|
c0c0ebb71f | ||
|
|
c22f6a844e | ||
|
|
8b4112f705 | ||
|
|
465afc3128 | ||
|
|
6730954a2e | ||
|
|
d03049799e | ||
|
|
3a3622bb58 | ||
|
|
38ec05807a | ||
|
|
5d4ab9ecd7 | ||
|
|
0ab5f5bb14 | ||
|
|
4b14008080 | ||
|
|
e23054d606 | ||
|
|
dc5ca76df0 | ||
|
|
a8b423836e | ||
|
|
a4bd160995 | ||
|
|
558ee579e1 | ||
|
|
41829b8660 | ||
|
|
b8eaabe0de | ||
|
|
a94735c5a5 | ||
|
|
ba48373bbc | ||
|
|
512b65a592 | ||
|
|
103ee371bd | ||
|
|
179f44cd37 | ||
|
|
1bf173b1ee | ||
|
|
356c2cfa80 | ||
|
|
5b61a183cd | ||
|
|
d5e1b47b52 | ||
|
|
63795d9df8 | ||
|
|
8e179552ec | ||
|
|
d1271f3e4b | ||
|
|
24e6f5b841 | ||
|
|
7118c972a8 | ||
|
|
e4742133ca | ||
|
|
ada6ef229c | ||
|
|
f0c0900770 | ||
|
|
a4a6eb6cee | ||
|
|
362c7d38a6 | ||
|
|
7b4d488b11 | ||
|
|
0c5f781702 | ||
|
|
ff5c48a2a0 | ||
|
|
1a55f19ab2 | ||
|
|
59456b67a1 | ||
|
|
1a12510081 | ||
|
|
d83f48891a | ||
|
|
747c6186d4 | ||
|
|
b3ef412368 | ||
|
|
bfdcb971fc | ||
|
|
487bc1866a | ||
|
|
0b99d71bd4 | ||
|
|
8d811550e2 | ||
|
|
09486946fc | ||
|
|
3f988cec72 | ||
|
|
c35dde5569 | ||
|
|
79d757856e | ||
|
|
cd0c48985d | ||
|
|
b2f35220e3 | ||
|
|
d9ecaa701b | ||
|
|
9355496915 | ||
|
|
79939db170 | ||
|
|
24d3afca18 | ||
|
|
334b62b0a2 | ||
|
|
16fb70b0ef | ||
|
|
c2fcffb0d8 | ||
|
|
681fc6de3d | ||
|
|
9640acfb74 | ||
|
|
94b12704dc | ||
|
|
74468855c2 | ||
|
|
031b1abe0a | ||
|
|
0e6d9ea933 | ||
|
|
6e5ad304e4 | ||
|
|
a689c2cb4d | ||
|
|
cd53cf0991 | ||
|
|
5e2bf1f931 | ||
|
|
033dadae2c | ||
|
|
1b0de739f9 | ||
|
|
351f1a80c7 | ||
|
|
def1094357 | ||
|
|
4dec658a77 | ||
|
|
a5fe8970c6 | ||
|
|
1cf2bd4892 | ||
|
|
9111860fce | ||
|
|
0cac972061 | ||
|
|
fa9257182b | ||
|
|
4fc18d35ce | ||
|
|
c2720bbc33 | ||
|
|
5d86390e28 | ||
|
|
ec89db7cb1 | ||
|
|
d15968d291 | ||
|
|
5e5df8848d | ||
|
|
a0f66a5f94 | ||
|
|
d3a15fba96 | ||
|
|
14dc293a09 | ||
|
|
a97690d219 | ||
|
|
9c626a17f0 | ||
|
|
3354ef246b | ||
|
|
e7e64379dd | ||
|
|
78dc94b0ed | ||
|
|
be38bba0e4 | ||
|
|
6c963a2de7 | ||
|
|
6d517396b3 | ||
|
|
6246a1d39c | ||
|
|
9c1063c7cc | ||
|
|
ed71777a17 | ||
|
|
353433a383 | ||
|
|
7e047ef726 | ||
|
|
c60f6d155f | ||
|
|
42486cd784 | ||
|
|
5b27f4786d | ||
|
|
01f759a992 | ||
|
|
cc0d7af610 | ||
|
|
00a2c1aad0 | ||
|
|
e40ab50e10 | ||
|
|
99b3420423 | ||
|
|
644d00b268 | ||
|
|
71c4f27d60 | ||
|
|
6cb2c0e8a7 | ||
|
|
d3745d043c | ||
|
|
b1b89290b9 | ||
|
|
ca8fa02687 | ||
|
|
ce9bfdbcae | ||
|
|
5f29633689 | ||
|
|
cab71958d0 | ||
|
|
9c995be22e | ||
|
|
f0a0b4cfc9 | ||
|
|
395f7e0324 | ||
|
|
b80129e17b | ||
|
|
e57b5b6966 | ||
|
|
316adf63ee | ||
|
|
588523b311 | ||
|
|
b8232326bc | ||
|
|
4fa04b9e23 | ||
|
|
6fdbe1d5f0 | ||
|
|
66ce3e75ec | ||
|
|
ec30232c4e | ||
|
|
6cb6a76ef3 | ||
|
|
46eeb8b960 | ||
|
|
294ab0a81b | ||
|
|
aa80f06f7b | ||
|
|
dd738a0108 | ||
|
|
3be5296572 | ||
|
|
cfa844f960 | ||
|
|
3b7afec360 | ||
|
|
a9412c4f62 | ||
|
|
2f57705f13 | ||
|
|
ee47bffb1c | ||
|
|
909c64468f | ||
|
|
d7d7b73c54 | ||
|
|
f820121e08 | ||
|
|
0b036acb75 | ||
|
|
4d4ae7b2db | ||
|
|
7f896723be | ||
|
|
36deb5e225 | ||
|
|
116422f1e7 | ||
|
|
a3d1dd91d9 | ||
|
|
41964cd130 | ||
|
|
d9a92dc10e | ||
|
|
9c1f897fff | ||
|
|
e64cd905d6 | ||
|
|
fc80c23dde | ||
|
|
84b69a683a | ||
|
|
79bf77f4be | ||
|
|
78c35221be | ||
|
|
1d257c1a35 | ||
|
|
ef92236cb4 | ||
|
|
90bc18e1bd | ||
|
|
9f6c45f4a0 | ||
|
|
b7842bbb26 | ||
|
|
589430055e | ||
|
|
8f6fe08b1c | ||
|
|
f354b6bcca | ||
|
|
d02a017c03 | ||
|
|
6d58997f71 | ||
|
|
7d72c4dc63 | ||
|
|
3b9700793c | ||
|
|
0c03c47eb9 | ||
|
|
2d35a024e2 | ||
|
|
eac11045ff | ||
|
|
a7cc6185ad | ||
|
|
d855840fe2 | ||
|
|
81419eddbe | ||
|
|
fc41ad36f7 | ||
|
|
676a064b6b | ||
|
|
9e1ba3e235 | ||
|
|
ad23544f24 | ||
|
|
296f9b9da5 | ||
|
|
47398f71a8 | ||
|
|
a36f872b61 | ||
|
|
dbebe2ab29 | ||
|
|
ccb973d1dd | ||
|
|
132b1fe0c4 | ||
|
|
8702ebd706 | ||
|
|
4734261097 | ||
|
|
78f55765c1 | ||
|
|
bdb4ae2f85 | ||
|
|
850b0d0210 | ||
|
|
fa0f161106 | ||
|
|
59aff44a55 | ||
|
|
aa74679998 | ||
|
|
61db253d4a | ||
|
|
fef8ee925b | ||
|
|
5cb5434ffe | ||
|
|
2f71a4092f | ||
|
|
a97573c5a9 | ||
|
|
108baa467d | ||
|
|
193015f1cd | ||
|
|
b64432dafd | ||
|
|
d66bb3a539 | ||
|
|
5ca5025fb1 | ||
|
|
497a68e792 | ||
|
|
737fa4fa69 | ||
|
|
3d3e33912e | ||
|
|
235fee091e | ||
|
|
00e3a59463 | ||
|
|
269c48b65b | ||
|
|
adbe55b0db | ||
|
|
f5222674ff | ||
|
|
c19a7e8452 | ||
|
|
aab79a90fb | ||
|
|
f3b6f0a29b | ||
|
|
d1fb436d6d | ||
|
|
1734d02291 | ||
|
|
f8c7739d5a | ||
|
|
7a1f332731 | ||
|
|
9cd19c0470 | ||
|
|
c9ca08ff1c | ||
|
|
c14532ecae | ||
|
|
b66cc8d8d7 | ||
|
|
b6ed5fbd6f | ||
|
|
2fec2156f6 | ||
|
|
35b3231b84 | ||
|
|
f77c32cbb2 | ||
|
|
7ec5aa28b3 | ||
|
|
373d004752 | ||
|
|
0ee137fe05 | ||
|
|
9c5d75c439 | ||
|
|
adbfcdf16a | ||
|
|
0716ecad55 | ||
|
|
9160ee546c | ||
|
|
7897d2858c | ||
|
|
b88364ab48 | ||
|
|
7727da40b4 | ||
|
|
17e68f7a93 | ||
|
|
120aa7c12a | ||
|
|
53214f0ddc | ||
|
|
d89a1fac70 | ||
|
|
0c00000910 | ||
|
|
f4f46eb924 | ||
|
|
b873adf5fc | ||
|
|
72fb66e5b2 | ||
|
|
af691c980d | ||
|
|
b3be906e28 | ||
|
|
1c22e2ed28 | ||
|
|
95fd073432 | ||
|
|
fcb9ebb8c3 | ||
|
|
4ab063679b | ||
|
|
db13bffad6 | ||
|
|
b719a0cd35 | ||
|
|
d506685bba | ||
|
|
8cf2068a70 | ||
|
|
14e4203ee7 | ||
|
|
447562b2f1 | ||
|
|
02c03e9c67 | ||
|
|
f8ddf952ca | ||
|
|
8436599c79 | ||
|
|
4c51519b8a | ||
|
|
0f199fa4b4 | ||
|
|
b28aff4a7b | ||
|
|
ba227d64fb | ||
|
|
7656aedb6b | ||
|
|
6e967dce70 | ||
|
|
232415f1d7 | ||
|
|
b2ed0ee884 | ||
|
|
6ffc8ba3c5 | ||
|
|
82f0d6a542 | ||
|
|
40e0303786 | ||
|
|
0e3bb40eb4 | ||
|
|
730cb14f6a | ||
|
|
c18ab184b7 | ||
|
|
b85cbe515e | ||
|
|
b58f202e9e | ||
|
|
fde23ceea0 | ||
|
|
aab2437c4c | ||
|
|
b7f7be839d | ||
|
|
6b7a63aba5 | ||
|
|
0c46d5088c | ||
|
|
254425d9ad | ||
|
|
c7ff20d47d | ||
|
|
1db5a9f3c2 | ||
|
|
34cf8466d6 | ||
|
|
8c20203084 | ||
|
|
a7ed7a71d5 | ||
|
|
2583541c0f | ||
|
|
1674b2dfd6 | ||
|
|
96de7c8321 | ||
|
|
7879648090 | ||
|
|
5772f5e7da | ||
|
|
54db6bda85 | ||
|
|
4ffcf252b7 | ||
|
|
b3b44214e0 | ||
|
|
89942416ac | ||
|
|
974d3498c1 | ||
|
|
1804111f88 | ||
|
|
5b2dc021a6 | ||
|
|
37d7b3d7fb | ||
|
|
33d4ab9edb | ||
|
|
f7f2b3438c | ||
|
|
0ed7934df0 | ||
|
|
55920e6242 | ||
|
|
820920e5f9 | ||
|
|
8e21c627a7 | ||
|
|
6973ed7d55 | ||
|
|
0980495a28 | ||
|
|
5c6b659ce3 | ||
|
|
35e263223d | ||
|
|
07ba378095 | ||
|
|
6e10f86546 | ||
|
|
fc6ee11ffe | ||
|
|
84cd87370f | ||
|
|
822fe9ab7a | ||
|
|
57b22a9cab | ||
|
|
278c4f17e5 | ||
|
|
b0d4607798 | ||
|
|
3f7dc66ac0 | ||
|
|
1c2b1fb757 | ||
|
|
eb31483a15 | ||
|
|
8fb7cdaba6 | ||
|
|
61d81046ae | ||
|
|
0c3d7e09e0 | ||
|
|
a9f9ddcacf | ||
|
|
a559c3581e | ||
|
|
dd5389c738 | ||
|
|
ac25e17286 | ||
|
|
9de4c89e76 | ||
|
|
2f6846d8c3 | ||
|
|
c3e60531c4 | ||
|
|
44aff82a6c | ||
|
|
7619e7643d | ||
|
|
353ef05b93 | ||
|
|
2801e4ed80 | ||
|
|
173dd0a90e | ||
|
|
e5412aeb1b | ||
|
|
0eec955a3d | ||
|
|
47038ac06d | ||
|
|
8041c305ad | ||
|
|
e0d249898e |
5
.github/pull_request_template.md
vendored
Normal file
@@ -0,0 +1,5 @@
|
|||||||
|
If your pull request is **not** translation or serverlist-related, read the list of requirements below and check each box:
|
||||||
|
|
||||||
|
- [ ] I have read the [contribution guidelines](https://github.com/Anuken/Mindustry/blob/master/CONTRIBUTING.md).
|
||||||
|
- [ ] I have ensured that my code compiles, if applicable.
|
||||||
|
- [ ] I have ensured that any new features in this PR function correctly in-game, if applicable.
|
||||||
2
.github/workflows/deployment.yml
vendored
@@ -39,7 +39,7 @@ jobs:
|
|||||||
cp -a Mindustry/core/build/javadoc/. docs/
|
cp -a Mindustry/core/build/javadoc/. docs/
|
||||||
cd docs
|
cd docs
|
||||||
git add .
|
git add .
|
||||||
git commit -m "Update ${RELEASE_VERSION:1}"
|
git commit --allow-empty -m "Update ${RELEASE_VERSION:1}"
|
||||||
git push https://Anuken:${{ secrets.API_TOKEN_GITHUB }}@github.com/MindustryGame/docs
|
git push https://Anuken:${{ secrets.API_TOKEN_GITHUB }}@github.com/MindustryGame/docs
|
||||||
cd ../Mindustry
|
cd ../Mindustry
|
||||||
- name: Update F-Droid build string
|
- name: Update F-Droid build string
|
||||||
|
|||||||
6
.github/workflows/pr.yml
vendored
@@ -8,10 +8,12 @@ jobs:
|
|||||||
|
|
||||||
steps:
|
steps:
|
||||||
- uses: actions/checkout@v2
|
- uses: actions/checkout@v2
|
||||||
- name: Set up JDK 16
|
- name: Set up JDK 17
|
||||||
uses: actions/setup-java@v1
|
uses: actions/setup-java@v1
|
||||||
with:
|
with:
|
||||||
java-version: 16
|
java-version: 17
|
||||||
|
- name: Setup Gradle
|
||||||
|
uses: gradle/gradle-build-action@v2
|
||||||
- name: Run unit tests and build JAR
|
- name: Run unit tests and build JAR
|
||||||
run: ./gradlew test desktop:dist
|
run: ./gradlew test desktop:dist
|
||||||
- name: Upload desktop JAR for testing
|
- name: Upload desktop JAR for testing
|
||||||
|
|||||||
20
.github/workflows/push.yml
vendored
@@ -15,11 +15,23 @@ jobs:
|
|||||||
cd ../MindustryBuilds
|
cd ../MindustryBuilds
|
||||||
BNUM=$(($GITHUB_RUN_NUMBER + 20000))
|
BNUM=$(($GITHUB_RUN_NUMBER + 20000))
|
||||||
git tag ${BNUM}
|
git tag ${BNUM}
|
||||||
git config --global user.name "Build Uploader"
|
git config --global user.name "Github Actions"
|
||||||
git push https://Anuken:${{ secrets.API_TOKEN_GITHUB }}@github.com/Anuken/MindustryBuilds ${BNUM}
|
git push https://Anuken:${{ secrets.API_TOKEN_GITHUB }}@github.com/Anuken/MindustryBuilds ${BNUM}
|
||||||
- name: Set up JDK 16
|
- name: Set up JDK 17
|
||||||
uses: actions/setup-java@v1
|
uses: actions/setup-java@v1
|
||||||
with:
|
with:
|
||||||
java-version: 16
|
java-version: 17
|
||||||
|
- name: Setup Gradle
|
||||||
|
uses: gradle/gradle-build-action@v2
|
||||||
|
- name: Update bundles
|
||||||
|
if: ${{ github.repository == 'Anuken/Mindustry' }}
|
||||||
|
run: |
|
||||||
|
./gradlew updateBundles
|
||||||
|
|
||||||
|
if [ -n "$(git status --porcelain)" ]; then
|
||||||
|
git add core/assets/bundles/*
|
||||||
|
git commit -m "Automatic bundle update"
|
||||||
|
git push
|
||||||
|
fi
|
||||||
- name: Run unit tests
|
- name: Run unit tests
|
||||||
run: ./gradlew clean cleanTest test
|
run: ./gradlew clean cleanTest test --stacktrace
|
||||||
|
|||||||
4
.gitignore
vendored
@@ -162,3 +162,7 @@ gradle-app.setting
|
|||||||
.DS_Store
|
.DS_Store
|
||||||
Thumbs.db
|
Thumbs.db
|
||||||
android/libs/
|
android/libs/
|
||||||
|
|
||||||
|
# ignored due to frequent branch conflicts.
|
||||||
|
core/assets/logicids.dat
|
||||||
|
core/assets/icons/icons.properties
|
||||||
@@ -12,9 +12,11 @@ Do not submit something without at least running the game to see if it compiles.
|
|||||||
If you are submitting a new block, make sure it has a name and description, and that it works correctly in-game. If you are changing existing block mechanics, test them out first.
|
If you are submitting a new block, make sure it has a name and description, and that it works correctly in-game. If you are changing existing block mechanics, test them out first.
|
||||||
|
|
||||||
### Do not make large changes before discussing them first.
|
### Do not make large changes before discussing them first.
|
||||||
If you are interested in adding a large mechanic/feature or changing large amounts of code, first contact me (Anuken) via [Discord](https://discord.gg/mindustry) (preferred method) or via e-mail (*anukendev@gmail.com*).
|
If you are interested in adding a large mechanic/feature or changing large amounts of code, first contact me (Anuken) via [Discord](https://discord.gg/mindustry) - either via PM or by posting in the `#pulls` channel.
|
||||||
For most changes, this should not be necessary. I just want to know if you're doing something big so I can offer advice and/or make sure you're not wasting your time on it.
|
For most changes, this should not be necessary. I just want to know if you're doing something big so I can offer advice and/or make sure you're not wasting your time on it.
|
||||||
|
|
||||||
|
### Do not make formatting PRs.
|
||||||
|
Yes, there are occurrences of trailing spaces, extra newlines, empty indents, and other tiny errors. No, I don't want to merge, view, or get notified by your 1-line PR fixing it. If you're implementing a PR with modification of *actual code*, feel free to fix formatting in the general vicinity of your changes, but please don't waste everyone's time with pointless changes.
|
||||||
|
|
||||||
## Style Guidelines
|
## Style Guidelines
|
||||||
|
|
||||||
|
|||||||
@@ -18,7 +18,7 @@ See [CONTRIBUTING](CONTRIBUTING.md).
|
|||||||
Bleeding-edge builds are generated automatically for every commit. You can see them [here](https://github.com/Anuken/MindustryBuilds/releases).
|
Bleeding-edge builds are generated automatically for every commit. You can see them [here](https://github.com/Anuken/MindustryBuilds/releases).
|
||||||
|
|
||||||
If you'd rather compile on your own, follow these instructions.
|
If you'd rather compile on your own, follow these instructions.
|
||||||
First, make sure you have [JDK 16](https://adoptopenjdk.net/archive.html?variant=openjdk16&jvmVariant=hotspot) installed. **Other JDK versions will not work.** Open a terminal in the Mindustry directory and run the following commands:
|
First, make sure you have [JDK 16-17](https://adoptium.net/archive.html?variant=openjdk17&jvmVariant=hotspot) installed. **Other JDK versions will not work.** Open a terminal in the Mindustry directory and run the following commands:
|
||||||
|
|
||||||
### Windows
|
### Windows
|
||||||
|
|
||||||
@@ -38,7 +38,7 @@ 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#downloads) 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. Set the `ANDROID_HOME` environment variable to point to your unzipped Android SDK directory.
|
||||||
3. Run `gradlew android:assembleDebug` (or `./gradlew` if on linux/mac). This will create an unsigned APK in `android/build/outputs/apk`.
|
3. Run `gradlew android:assembleDebug` (or `./gradlew` if on linux/mac). This will create an unsigned APK in `android/build/outputs/apk`.
|
||||||
|
|
||||||
|
|||||||
@@ -5,6 +5,7 @@ This is done by letting clients `GET` a [JSON list of servers](https://github.co
|
|||||||
|
|
||||||
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:
|
||||||
|
|
||||||
|
0. **Take note of the fact that modded servers are not allowed on this list.** Such servers confuse users, and there's currently no easy way to fix mod incompatibilities after a failed connection.
|
||||||
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.
|
||||||
|
|||||||
@@ -31,9 +31,11 @@ There are two ways to test the translation bundle:
|
|||||||
1) Assuming you have the PC version downloaded, download your bundle file, name it `bundle.properties`, then place it in the same folder as the Mindustry desktop executable and run it. *You should get a popup message in-game confirming that you have loaded an external translation.*
|
1) Assuming you have the PC version downloaded, download your bundle file, name it `bundle.properties`, then place it in the same folder as the Mindustry desktop executable and run it. *You should get a popup message in-game confirming that you have loaded an external translation.*
|
||||||
2) For advanced users: simply download your fork of mindustry and compile/run the game.
|
2) For advanced users: simply download your fork of mindustry and compile/run the game.
|
||||||
|
|
||||||
#### Translating for stores (Steam, Google Play)
|
#### Translating for stores (Steam, ~~Google Play~~)
|
||||||
|
|
||||||
If you would like to translate the descriptions for Google Play or Steam, see the [Fastlane Metadata folder](https://github.com/Anuken/Mindustry/tree/master/fastlane/metadata) and submit a pull request for files there. On Google Play, you would create or edit the folder with the correct local code; for Steam, I have to update the translations manually, so just name the folder with the language name, and include the same files as the English folder does.
|
NOTE: The Google Play description is in the process of being re-written, please do not translate it.
|
||||||
|
|
||||||
|
If you would like to translate the descriptions for ~~Google Play~~ or Steam, see the [Fastlane Metadata folder](https://github.com/Anuken/Mindustry/tree/master/fastlane/metadata) and submit a pull request for files there. On Google Play, you would create or edit the folder with the correct local code; for Steam, I have to update the translations manually, so just name the folder with the language name, and include the same files as the English folder does.
|
||||||
|
|
||||||
**And that's it.**
|
**And that's it.**
|
||||||
|
|
||||||
|
|||||||
@@ -7,7 +7,7 @@ buildscript{
|
|||||||
}
|
}
|
||||||
|
|
||||||
dependencies{
|
dependencies{
|
||||||
classpath 'com.android.tools.build:gradle:7.1.0-alpha02'
|
classpath 'com.android.tools.build:gradle:7.0.3'
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
@@ -18,7 +18,6 @@ configurations{ natives }
|
|||||||
repositories{
|
repositories{
|
||||||
mavenCentral()
|
mavenCentral()
|
||||||
maven{ url "https://maven.google.com" }
|
maven{ url "https://maven.google.com" }
|
||||||
jcenter() //remove later once google/JetBrains fixes the dependency
|
|
||||||
}
|
}
|
||||||
|
|
||||||
task deploy(type: Copy){
|
task deploy(type: Copy){
|
||||||
@@ -30,7 +29,7 @@ task deploy(type: Copy){
|
|||||||
}
|
}
|
||||||
|
|
||||||
android{
|
android{
|
||||||
buildToolsVersion '30.0.2'
|
buildToolsVersion '30.0.3'
|
||||||
compileSdkVersion 30
|
compileSdkVersion 30
|
||||||
sourceSets{
|
sourceSets{
|
||||||
main{
|
main{
|
||||||
@@ -140,8 +139,8 @@ dependencies{
|
|||||||
gpImplementation "com.google.android.gms:play-services-games:21.0.0"
|
gpImplementation "com.google.android.gms:play-services-games:21.0.0"
|
||||||
gpImplementation "com.google.android.gms:play-services-auth:19.0.0"
|
gpImplementation "com.google.android.gms:play-services-auth:19.0.0"
|
||||||
|
|
||||||
//android dependencies magically disappear during compilation, thanks gradle!
|
//TODO dynamically find best android platform jar instead of hard-coding to 30
|
||||||
def sdkFile = new File((String)findSdkDir(), "/platforms/android-29/android.jar")
|
def sdkFile = new File((String)findSdkDir(), "/platforms/android-30/android.jar")
|
||||||
if(sdkFile.exists()) compileOnly files(sdkFile.absolutePath)
|
if(sdkFile.exists()) compileOnly files(sdkFile.absolutePath)
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|||||||
@@ -101,6 +101,8 @@ public class EntityProcess extends BaseProcessor{
|
|||||||
|
|
||||||
inter.addJavadoc("Interface for {@link $L}", component.fullName());
|
inter.addJavadoc("Interface for {@link $L}", component.fullName());
|
||||||
|
|
||||||
|
skipDeprecated(inter);
|
||||||
|
|
||||||
//implement extra interfaces these components may have, e.g. position
|
//implement extra interfaces these components may have, e.g. position
|
||||||
for(Stype extraInterface : component.interfaces().select(i -> !isCompInterface(i))){
|
for(Stype extraInterface : component.interfaces().select(i -> !isCompInterface(i))){
|
||||||
//javapoet completely chokes on this if I add `addSuperInterface` or create the type name with TypeName.get
|
//javapoet completely chokes on this if I add `addSuperInterface` or create the type name with TypeName.get
|
||||||
@@ -570,6 +572,8 @@ public class EntityProcess extends BaseProcessor{
|
|||||||
.returns(tname(packageName + "." + name))
|
.returns(tname(packageName + "." + name))
|
||||||
.addStatement(ann.pooled() ? "return Pools.obtain($L.class, " +name +"::new)" : "return new $L()", name).build());
|
.addStatement(ann.pooled() ? "return Pools.obtain($L.class, " +name +"::new)" : "return new $L()", name).build());
|
||||||
|
|
||||||
|
skipDeprecated(builder);
|
||||||
|
|
||||||
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));
|
||||||
}
|
}
|
||||||
|
|
||||||
@@ -837,6 +841,8 @@ public class EntityProcess extends BaseProcessor{
|
|||||||
TypeSpec.Builder nullBuilder = TypeSpec.classBuilder(className)
|
TypeSpec.Builder nullBuilder = TypeSpec.classBuilder(className)
|
||||||
.addModifiers(Modifier.FINAL);
|
.addModifiers(Modifier.FINAL);
|
||||||
|
|
||||||
|
skipDeprecated(nullBuilder);
|
||||||
|
|
||||||
nullBuilder.addSuperinterface(interf.tname());
|
nullBuilder.addSuperinterface(interf.tname());
|
||||||
if(superclass != null) nullBuilder.superclass(tname(baseName(superclass)));
|
if(superclass != null) nullBuilder.superclass(tname(baseName(superclass)));
|
||||||
|
|
||||||
@@ -872,7 +878,7 @@ public class EntityProcess extends BaseProcessor{
|
|||||||
|
|
||||||
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());
|
||||||
|
|
||||||
write(nullBuilder);
|
write(nullBuilder, imports.asArray());
|
||||||
}
|
}
|
||||||
|
|
||||||
write(nullsBuilder);
|
write(nullsBuilder);
|
||||||
@@ -980,6 +986,11 @@ public class EntityProcess extends BaseProcessor{
|
|||||||
throw new IllegalArgumentException("Missing types.");
|
throw new IllegalArgumentException("Missing types.");
|
||||||
}
|
}
|
||||||
|
|
||||||
|
void skipDeprecated(TypeSpec.Builder builder){
|
||||||
|
//deprecations are irrelevant in generated code
|
||||||
|
builder.addAnnotation(AnnotationSpec.builder(SuppressWarnings.class).addMember("value", "\"deprecation\"").build());
|
||||||
|
}
|
||||||
|
|
||||||
class GroupDefinition{
|
class GroupDefinition{
|
||||||
final String name;
|
final String name;
|
||||||
final ClassName baseType;
|
final ClassName baseType;
|
||||||
|
|||||||
@@ -1,5 +1,7 @@
|
|||||||
package mindustry.annotations.impl;
|
package mindustry.annotations.impl;
|
||||||
|
|
||||||
|
import arc.*;
|
||||||
|
import arc.audio.*;
|
||||||
import arc.files.*;
|
import arc.files.*;
|
||||||
import arc.scene.style.*;
|
import arc.scene.style.*;
|
||||||
import arc.struct.*;
|
import arc.struct.*;
|
||||||
@@ -20,8 +22,8 @@ public class AssetsProcess extends BaseProcessor{
|
|||||||
|
|
||||||
@Override
|
@Override
|
||||||
public void process(RoundEnvironment env) throws Exception{
|
public void process(RoundEnvironment env) throws Exception{
|
||||||
processSounds("Sounds", rootDirectory + "/core/assets/sounds", "arc.audio.Sound");
|
processSounds("Sounds", rootDirectory + "/core/assets/sounds", "arc.audio.Sound", true);
|
||||||
processSounds("Musics", rootDirectory + "/core/assets/music", "arc.audio.Music");
|
processSounds("Musics", rootDirectory + "/core/assets/music", "arc.audio.Music", false);
|
||||||
processUI(env.getElementsAnnotatedWith(StyleDefaults.class));
|
processUI(env.getElementsAnnotatedWith(StyleDefaults.class));
|
||||||
}
|
}
|
||||||
|
|
||||||
@@ -115,12 +117,36 @@ public class AssetsProcess extends BaseProcessor{
|
|||||||
JavaFile.builder(packageName, type.build()).build().writeTo(BaseProcessor.filer);
|
JavaFile.builder(packageName, type.build()).build().writeTo(BaseProcessor.filer);
|
||||||
}
|
}
|
||||||
|
|
||||||
void processSounds(String classname, String path, String rtype) throws Exception{
|
void processSounds(String classname, String path, String rtype, boolean genid) throws Exception{
|
||||||
TypeSpec.Builder type = TypeSpec.classBuilder(classname).addModifiers(Modifier.PUBLIC);
|
TypeSpec.Builder type = TypeSpec.classBuilder(classname).addModifiers(Modifier.PUBLIC);
|
||||||
MethodSpec.Builder loadBegin = MethodSpec.methodBuilder("load").addModifiers(Modifier.PUBLIC, Modifier.STATIC);
|
MethodSpec.Builder loadBegin = MethodSpec.methodBuilder("load").addModifiers(Modifier.PUBLIC, Modifier.STATIC);
|
||||||
|
CodeBlock.Builder staticb = CodeBlock.builder();
|
||||||
|
|
||||||
|
if(genid){
|
||||||
|
type.addField(FieldSpec.builder(IntMap.class, "idToSound", Modifier.STATIC, Modifier.PRIVATE).initializer("new IntMap()").build());
|
||||||
|
type.addField(FieldSpec.builder(ObjectIntMap.class, "soundToId", Modifier.STATIC, Modifier.PRIVATE).initializer("new ObjectIntMap()").build());
|
||||||
|
|
||||||
|
type.addMethod(MethodSpec.methodBuilder("getSoundId")
|
||||||
|
.addModifiers(Modifier.PUBLIC, Modifier.STATIC)
|
||||||
|
.addParameter(Sound.class, "sound")
|
||||||
|
.returns(int.class)
|
||||||
|
.addStatement("return soundToId.get(sound, -1)").build());
|
||||||
|
|
||||||
|
type.addMethod(MethodSpec.methodBuilder("getSound")
|
||||||
|
.addModifiers(Modifier.PUBLIC, Modifier.STATIC)
|
||||||
|
.addParameter(int.class, "id")
|
||||||
|
.returns(Sound.class)
|
||||||
|
.addStatement("return (Sound)idToSound.get(id, () -> Sounds.none)").build());
|
||||||
|
}
|
||||||
|
|
||||||
HashSet<String> names = new HashSet<>();
|
HashSet<String> names = new HashSet<>();
|
||||||
Fi.get(path).walk(p -> {
|
Seq<Fi> files = new Seq<>();
|
||||||
|
Fi.get(path).walk(files::add);
|
||||||
|
|
||||||
|
files.sortComparing(Fi::name);
|
||||||
|
int id = 0;
|
||||||
|
|
||||||
|
for(Fi p : files){
|
||||||
String name = p.nameWithoutExtension();
|
String name = p.nameWithoutExtension();
|
||||||
|
|
||||||
if(names.contains(name)){
|
if(names.contains(name)){
|
||||||
@@ -133,14 +159,26 @@ public class AssetsProcess extends BaseProcessor{
|
|||||||
|
|
||||||
String filepath = path.substring(path.lastIndexOf("/") + 1) + p.path().substring(p.path().lastIndexOf(path) + path.length());
|
String filepath = path.substring(path.lastIndexOf("/") + 1) + p.path().substring(p.path().lastIndexOf(path) + path.length());
|
||||||
|
|
||||||
String filename = "\"" + filepath + "\"";
|
if(genid){
|
||||||
loadBegin.addStatement("arc.Core.assets.load(" + filename + ", " + rtype + ".class).loaded = a -> " + name + " = (" + rtype + ")a", filepath, filepath.replace(".ogg", ".mp3"));
|
staticb.addStatement("soundToId.put($L, $L)", name, id);
|
||||||
|
|
||||||
type.addField(FieldSpec.builder(ClassName.bestGuess(rtype), name, Modifier.STATIC, Modifier.PUBLIC).initializer("new arc.audio." + rtype.substring(rtype.lastIndexOf(".") + 1) + "()").build());
|
loadBegin.addStatement("$T.assets.load($S, $L.class).loaded = a -> { $L = ($L)a; soundToId.put(a, $L); idToSound.put($L, a); }",
|
||||||
});
|
Core.class, filepath, rtype, name, rtype, id, id);
|
||||||
|
}else{
|
||||||
|
loadBegin.addStatement("$T.assets.load($S, $L.class).loaded = a -> { $L = ($L)a; }", Core.class, filepath, rtype, name, rtype);
|
||||||
|
}
|
||||||
|
|
||||||
|
type.addField(FieldSpec.builder(ClassName.bestGuess(rtype), name, Modifier.STATIC, Modifier.PUBLIC).initializer("new " + rtype + "()").build());
|
||||||
|
|
||||||
|
id ++;
|
||||||
|
}
|
||||||
|
|
||||||
|
if(genid){
|
||||||
|
type.addStaticBlock(staticb.build());
|
||||||
|
}
|
||||||
|
|
||||||
if(classname.equals("Sounds")){
|
if(classname.equals("Sounds")){
|
||||||
type.addField(FieldSpec.builder(ClassName.bestGuess(rtype), "none", Modifier.STATIC, Modifier.PUBLIC).initializer("new arc.audio." + rtype.substring(rtype.lastIndexOf(".") + 1) + "()").build());
|
type.addField(FieldSpec.builder(ClassName.bestGuess(rtype), "none", Modifier.STATIC, Modifier.PUBLIC).initializer("new " + rtype + "()").build());
|
||||||
}
|
}
|
||||||
|
|
||||||
type.addMethod(loadBegin.build());
|
type.addMethod(loadBegin.build());
|
||||||
|
|||||||
@@ -7,6 +7,7 @@ import com.sun.tools.javac.code.Attribute.Enum;
|
|||||||
import com.sun.tools.javac.code.Attribute.Error;
|
import com.sun.tools.javac.code.Attribute.Error;
|
||||||
import com.sun.tools.javac.code.Attribute.Visitor;
|
import com.sun.tools.javac.code.Attribute.Visitor;
|
||||||
import com.sun.tools.javac.code.Attribute.*;
|
import com.sun.tools.javac.code.Attribute.*;
|
||||||
|
import com.sun.tools.javac.code.Scope.*;
|
||||||
import com.sun.tools.javac.code.Type;
|
import com.sun.tools.javac.code.Type;
|
||||||
import com.sun.tools.javac.code.Symbol.*;
|
import com.sun.tools.javac.code.Symbol.*;
|
||||||
import com.sun.tools.javac.code.Type.ArrayType;
|
import com.sun.tools.javac.code.Type.ArrayType;
|
||||||
@@ -64,36 +65,13 @@ public class AnnotationProxyMaker{
|
|||||||
LinkedHashMap map = new LinkedHashMap();
|
LinkedHashMap map = new LinkedHashMap();
|
||||||
ClassSymbol cl = (ClassSymbol)this.anno.type.tsym;
|
ClassSymbol cl = (ClassSymbol)this.anno.type.tsym;
|
||||||
|
|
||||||
//try to use Java 8 API for this if possible
|
for(Symbol s : cl.members().getSymbols(LookupKind.NON_RECURSIVE)){
|
||||||
try{
|
if(s.getKind() == ElementKind.METHOD){
|
||||||
Class entryClass = Class.forName("com.sun.tools.javac.code.Scope$Entry");
|
MethodSymbol var4 = (MethodSymbol)s;
|
||||||
Object members = cl.members();
|
Attribute var5 = var4.getDefaultValue();
|
||||||
Field field = members.getClass().getField("elems");
|
if(var5 != null){
|
||||||
Object elems = field.get(members);
|
map.put(var4, var5);
|
||||||
Field siblingField = entryClass.getField("sibling");
|
|
||||||
Field symField = entryClass.getField("sym");
|
|
||||||
for(Object currEntry = elems; currEntry != null; currEntry = siblingField.get(currEntry)){
|
|
||||||
handleSymbol((Symbol)symField.get(currEntry), map);
|
|
||||||
}
|
}
|
||||||
|
|
||||||
}catch(Throwable e){
|
|
||||||
//otherwise try other API
|
|
||||||
|
|
||||||
try{
|
|
||||||
Class lookupClass = Class.forName("com.sun.tools.javac.code.Scope$LookupKind");
|
|
||||||
Field nonRecField = lookupClass.getField("NON_RECURSIVE");
|
|
||||||
Object nonRec = nonRecField.get(null);
|
|
||||||
Scope scope = cl.members();
|
|
||||||
Method getSyms = scope.getClass().getMethod("getSymbols", lookupClass);
|
|
||||||
Iterable<Symbol> it = (Iterable<Symbol>)getSyms.invoke(scope, nonRec);
|
|
||||||
Iterator<Symbol> i = it.iterator();
|
|
||||||
while(i.hasNext()){
|
|
||||||
handleSymbol(i.next(), map);
|
|
||||||
}
|
|
||||||
|
|
||||||
}catch(Throwable death){
|
|
||||||
//I tried
|
|
||||||
throw new RuntimeException(death);
|
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
@@ -104,17 +82,6 @@ public class AnnotationProxyMaker{
|
|||||||
return map;
|
return map;
|
||||||
}
|
}
|
||||||
|
|
||||||
private void handleSymbol(Symbol sym, LinkedHashMap map){
|
|
||||||
|
|
||||||
if(sym.getKind() == ElementKind.METHOD){
|
|
||||||
MethodSymbol var4 = (MethodSymbol)sym;
|
|
||||||
Attribute var5 = var4.getDefaultValue();
|
|
||||||
if(var5 != null){
|
|
||||||
map.put(var4, var5);
|
|
||||||
}
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
private Object generateValue(MethodSymbol var1, Attribute var2){
|
private Object generateValue(MethodSymbol var1, Attribute var2){
|
||||||
AnnotationProxyMaker.ValueVisitor var3 = new AnnotationProxyMaker.ValueVisitor(var1);
|
AnnotationProxyMaker.ValueVisitor var3 = new AnnotationProxyMaker.ValueVisitor(var1);
|
||||||
return var3.getValue(var2);
|
return var3.getValue(var2);
|
||||||
|
|||||||
@@ -12,6 +12,10 @@ import java.lang.Class;
|
|||||||
import java.lang.annotation.*;
|
import java.lang.annotation.*;
|
||||||
import java.lang.reflect.*;
|
import java.lang.reflect.*;
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Wrapper over Element with added utility functions.
|
||||||
|
* I would have preferred to use extension methods for this, but Java doesn't have any.
|
||||||
|
* */
|
||||||
public class Selement<T extends Element>{
|
public class Selement<T extends Element>{
|
||||||
public final T e;
|
public final T e;
|
||||||
|
|
||||||
|
|||||||
@@ -20,6 +20,7 @@ mindustry.entities.comp.PlayerComp=12
|
|||||||
mindustry.entities.comp.PosTeam=27
|
mindustry.entities.comp.PosTeam=27
|
||||||
mindustry.entities.comp.PosTeamDef=28
|
mindustry.entities.comp.PosTeamDef=28
|
||||||
mindustry.entities.comp.PuddleComp=13
|
mindustry.entities.comp.PuddleComp=13
|
||||||
|
mindustry.entities.comp.WorldLabelComp=35
|
||||||
mindustry.type.Weather.WeatherStateComp=14
|
mindustry.type.Weather.WeatherStateComp=14
|
||||||
mindustry.world.blocks.campaign.LaunchPad.LaunchPayloadComp=15
|
mindustry.world.blocks.campaign.LaunchPad.LaunchPayloadComp=15
|
||||||
mindustry.world.blocks.campaign.PayloadLaunchPad.LargeLaunchPayloadComp=34
|
mindustry.world.blocks.campaign.PayloadLaunchPad.LargeLaunchPayloadComp=34
|
||||||
|
|||||||
@@ -0,0 +1 @@
|
|||||||
|
{version:6,fields:[{name:color,type:arc.graphics.Color},{name:data,type:java.lang.Object},{name:effect,type:mindustry.entities.Effect},{name:lifetime,type:float},{name:offsetPos,type:float},{name:offsetRot,type:float},{name:offsetX,type:float},{name:offsetY,type:float},{name:parent,type:mindustry.gen.Posc},{name:rotWithParent,type:boolean},{name:rotation,type:float},{name:time,type:float},{name:x,type:float},{name:y,type:float}]}
|
||||||
@@ -0,0 +1 @@
|
|||||||
|
{version:1,fields:[{name:amount,type:float},{name:liquid,type:mindustry.type.Liquid},{name:tile,type:mindustry.world.Tile},{name:x,type:float},{name:y,type:float}]}
|
||||||
@@ -0,0 +1 @@
|
|||||||
|
{fields:[{name:flags,type:byte},{name:fontSize,type:float},{name:text,type:java.lang.String},{name:x,type:float},{name:y,type:float},{name:z,type:float}]}
|
||||||
46
build.gradle
@@ -13,36 +13,18 @@ buildscript{
|
|||||||
google()
|
google()
|
||||||
maven{ url "https://oss.sonatype.org/content/repositories/snapshots/" }
|
maven{ url "https://oss.sonatype.org/content/repositories/snapshots/" }
|
||||||
maven{ url 'https://jitpack.io' }
|
maven{ url 'https://jitpack.io' }
|
||||||
|
|
||||||
//fake repository to download my patched robovm jar from
|
|
||||||
ivy{
|
|
||||||
url 'https://github.com/'
|
|
||||||
|
|
||||||
patternLayout {
|
|
||||||
artifact '/[organisation]/[module]/raw/a-single-jar-file/[revision].jar'
|
|
||||||
}
|
|
||||||
|
|
||||||
// This is required in Gradle 6.0+ as metadata file (ivy.xml)
|
|
||||||
// is mandatory. Docs linked below this code section
|
|
||||||
metadataSources { artifact() }
|
|
||||||
}
|
|
||||||
}
|
}
|
||||||
|
|
||||||
dependencies{
|
dependencies{
|
||||||
//use local, patched robovm gradle plugin until my PR for gradle 7.0 support is merged
|
classpath "com.mobidevelop.robovm:robovm-gradle-plugin:2.3.14"
|
||||||
//https://github.com/Anuken/robovm/raw/a-single-jar-file/robovm-gradle-plugin-2.3.14-SNAPSHOT.jar
|
|
||||||
classpath "Anuken:robovm:robovm-gradle-plugin-2.3.14-SNAPSHOT"
|
|
||||||
//needed for plugin above
|
|
||||||
classpath "com.mobidevelop.robovm:robovm-dist-compiler:2.3.13"
|
|
||||||
|
|
||||||
classpath "com.github.Anuken.Arc:packer:$arcHash"
|
classpath "com.github.Anuken.Arc:packer:$arcHash"
|
||||||
classpath "com.github.Anuken.Arc:arc-core:$arcHash"
|
classpath "com.github.Anuken.Arc:arc-core:$arcHash"
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
plugins{
|
plugins{
|
||||||
id 'org.jetbrains.kotlin.jvm' version '1.4.32'
|
id 'org.jetbrains.kotlin.jvm' version '1.6.0-RC'
|
||||||
id "org.jetbrains.kotlin.kapt" version "1.4.32"
|
id "org.jetbrains.kotlin.kapt" version "1.6.0-RC"
|
||||||
}
|
}
|
||||||
|
|
||||||
allprojects{
|
allprojects{
|
||||||
@@ -57,7 +39,7 @@ allprojects{
|
|||||||
if(!project.hasProperty("versionType")) versionType = 'official'
|
if(!project.hasProperty("versionType")) versionType = 'official'
|
||||||
appName = 'Mindustry'
|
appName = 'Mindustry'
|
||||||
steamworksVersion = '0b86023401880bb5e586bc404bedbaae9b1f1c94'
|
steamworksVersion = '0b86023401880bb5e586bc404bedbaae9b1f1c94'
|
||||||
rhinoVersion = '55bf0dac1cfa7770672fd26112512c733ca9d5dc'
|
rhinoVersion = '3c6bbadf73a904eefcc28b6fd8aa742ac575e878'
|
||||||
|
|
||||||
loadVersionProps = {
|
loadVersionProps = {
|
||||||
return new Properties().with{p -> p.load(file('../core/assets/version.properties').newReader()); return p }
|
return new Properties().with{p -> p.load(file('../core/assets/version.properties').newReader()); return p }
|
||||||
@@ -219,10 +201,16 @@ allprojects{
|
|||||||
options.compilerArgs += ["-Xlint:deprecation"]
|
options.compilerArgs += ["-Xlint:deprecation"]
|
||||||
dependsOn clearCache
|
dependsOn clearCache
|
||||||
|
|
||||||
options.forkOptions.jvmArgs.addAll([
|
options.forkOptions.jvmArgs += [
|
||||||
|
'--add-opens=jdk.compiler/com.sun.tools.javac.api=ALL-UNNAMED',
|
||||||
'--add-opens=jdk.compiler/com.sun.tools.javac.code=ALL-UNNAMED',
|
'--add-opens=jdk.compiler/com.sun.tools.javac.code=ALL-UNNAMED',
|
||||||
'--add-opens=jdk.compiler/com.sun.tools.javac.parser=ALL-UNNAMED'
|
'--add-opens=jdk.compiler/com.sun.tools.javac.model=ALL-UNNAMED',
|
||||||
])
|
'--add-opens=jdk.compiler/com.sun.tools.javac.processing=ALL-UNNAMED',
|
||||||
|
'--add-opens=jdk.compiler/com.sun.tools.javac.parser=ALL-UNNAMED',
|
||||||
|
'--add-opens=jdk.compiler/com.sun.tools.javac.util=ALL-UNNAMED',
|
||||||
|
'--add-opens=jdk.compiler/com.sun.tools.javac.tree=ALL-UNNAMED',
|
||||||
|
'--add-opens=java.base/sun.reflect.annotation=ALL-UNNAMED'
|
||||||
|
]
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
@@ -279,7 +267,7 @@ project(":ios"){
|
|||||||
props.load(new FileInputStream(vfile))
|
props.load(new FileInputStream(vfile))
|
||||||
}else{
|
}else{
|
||||||
props['app.id'] = 'io.anuke.mindustry'
|
props['app.id'] = 'io.anuke.mindustry'
|
||||||
props['app.version'] = '6.0'
|
props['app.version'] = '7.0'
|
||||||
props['app.mainclass'] = 'mindustry.IOSLauncher'
|
props['app.mainclass'] = 'mindustry.IOSLauncher'
|
||||||
props['app.executable'] = 'IOSLauncher'
|
props['app.executable'] = 'IOSLauncher'
|
||||||
props['app.name'] = 'Mindustry'
|
props['app.name'] = 'Mindustry'
|
||||||
@@ -341,7 +329,11 @@ project(":core"){
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
def changelogs = file("../fastlane/metadata/android/en-US/changelogs/")
|
def changelogs = file("../fastlane/metadata/android/en-US/changelogs/")
|
||||||
|
changelogs.mkdirs()
|
||||||
|
try{
|
||||||
new File(changelogs, androidVersion + ".txt").text = (result)
|
new File(changelogs, androidVersion + ".txt").text = (result)
|
||||||
|
}catch(Exception ignored){
|
||||||
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
@@ -383,7 +375,7 @@ project(":core"){
|
|||||||
if(localArc() && debugged()) api arcModule("extensions:recorder")
|
if(localArc() && debugged()) api arcModule("extensions:recorder")
|
||||||
if(localArc()) api arcModule(":extensions:packer")
|
if(localArc()) api arcModule(":extensions:packer")
|
||||||
|
|
||||||
annotationProcessor 'com.github.Anuken:jabel:34e4c172e65b3928cd9eabe1993654ea79c409cd'
|
annotationProcessor 'com.github.Anuken:jabel:0.6.0'
|
||||||
compileOnly project(":annotations")
|
compileOnly project(":annotations")
|
||||||
kapt project(":annotations")
|
kapt project(":annotations")
|
||||||
}
|
}
|
||||||
|
|||||||
|
Before Width: | Height: | Size: 1.1 KiB After Width: | Height: | Size: 1012 B |
|
Before Width: | Height: | Size: 558 B After Width: | Height: | Size: 685 B |
|
Before Width: | Height: | Size: 245 B After Width: | Height: | Size: 245 B |
|
Before Width: | Height: | Size: 238 B After Width: | Height: | Size: 238 B |
|
Before Width: | Height: | Size: 231 B After Width: | Height: | Size: 231 B |
|
Before Width: | Height: | Size: 233 B After Width: | Height: | Size: 233 B |
|
Before Width: | Height: | Size: 162 B After Width: | Height: | Size: 162 B |
|
Before Width: | Height: | Size: 171 B After Width: | Height: | Size: 171 B |
|
After Width: | Height: | Size: 291 B |
|
Before Width: | Height: | Size: 291 B After Width: | Height: | Size: 291 B |
|
Before Width: | Height: | Size: 1.3 KiB After Width: | Height: | Size: 1.3 KiB |
BIN
core/assets-raw/sprites/blocks/environment/pooled-cryofluid.png
Normal file
|
After Width: | Height: | Size: 1.3 KiB |
|
Before Width: | Height: | Size: 291 B After Width: | Height: | Size: 291 B |
|
Before Width: | Height: | Size: 290 B After Width: | Height: | Size: 290 B |
|
Before Width: | Height: | Size: 136 B After Width: | Height: | Size: 158 B |
|
After Width: | Height: | Size: 626 B |
|
After Width: | Height: | Size: 208 B |
BIN
core/assets-raw/sprites/blocks/liquid/liquid-container-top.png
Normal file
|
After Width: | Height: | Size: 298 B |
|
Before Width: | Height: | Size: 712 B After Width: | Height: | Size: 1.2 KiB |
|
Before Width: | Height: | Size: 1.3 KiB |
|
Before Width: | Height: | Size: 1.6 KiB |
|
Before Width: | Height: | Size: 895 B |
BIN
core/assets-raw/sprites/blocks/payload/constructor-top.png
Normal file
|
After Width: | Height: | Size: 1.5 KiB |
BIN
core/assets-raw/sprites/blocks/payload/constructor.png
Normal file
|
After Width: | Height: | Size: 1.5 KiB |
BIN
core/assets-raw/sprites/blocks/payload/deconstructor-top.png
Normal file
|
After Width: | Height: | Size: 2.0 KiB |
BIN
core/assets-raw/sprites/blocks/payload/deconstructor.png
Normal file
|
After Width: | Height: | Size: 4.1 KiB |
BIN
core/assets-raw/sprites/blocks/payload/factory-in-3.png
Normal file
|
After Width: | Height: | Size: 655 B |
|
Before Width: | Height: | Size: 1.2 KiB After Width: | Height: | Size: 1.2 KiB |
|
Before Width: | Height: | Size: 3.1 KiB After Width: | Height: | Size: 3.1 KiB |
|
Before Width: | Height: | Size: 4.3 KiB After Width: | Height: | Size: 4.3 KiB |
BIN
core/assets-raw/sprites/blocks/payload/factory-out-3.png
Normal file
|
After Width: | Height: | Size: 609 B |
|
Before Width: | Height: | Size: 1.2 KiB After Width: | Height: | Size: 1.2 KiB |
|
Before Width: | Height: | Size: 1.6 KiB After Width: | Height: | Size: 1.6 KiB |
|
Before Width: | Height: | Size: 2.3 KiB After Width: | Height: | Size: 2.3 KiB |
|
Before Width: | Height: | Size: 1.0 KiB After Width: | Height: | Size: 1.0 KiB |
|
Before Width: | Height: | Size: 1.5 KiB After Width: | Height: | Size: 1.5 KiB |
BIN
core/assets-raw/sprites/blocks/payload/large-constructor-top.png
Normal file
|
After Width: | Height: | Size: 2.5 KiB |
BIN
core/assets-raw/sprites/blocks/payload/large-constructor.png
Normal file
|
After Width: | Height: | Size: 4.1 KiB |
BIN
core/assets-raw/sprites/blocks/payload/payload-loader-top.png
Normal file
|
After Width: | Height: | Size: 1.0 KiB |
BIN
core/assets-raw/sprites/blocks/payload/payload-loader.png
Normal file
|
After Width: | Height: | Size: 1.4 KiB |
|
Before Width: | Height: | Size: 1.2 KiB After Width: | Height: | Size: 7.8 KiB |
BIN
core/assets-raw/sprites/blocks/payload/payload-unloader-top.png
Normal file
|
After Width: | Height: | Size: 1.0 KiB |
BIN
core/assets-raw/sprites/blocks/payload/payload-unloader.png
Normal file
|
After Width: | Height: | Size: 1.4 KiB |
|
Before Width: | Height: | Size: 1.1 KiB After Width: | Height: | Size: 1.2 KiB |
|
Before Width: | Height: | Size: 1.3 KiB After Width: | Height: | Size: 1.3 KiB |
|
Before Width: | Height: | Size: 2.2 KiB After Width: | Height: | Size: 2.2 KiB |
|
After Width: | Height: | Size: 874 B |
|
After Width: | Height: | Size: 871 B |
|
After Width: | Height: | Size: 1.2 KiB |
|
After Width: | Height: | Size: 1.2 KiB |
BIN
core/assets-raw/sprites/blocks/storage/core-shard-thruster1.png
Normal file
|
After Width: | Height: | Size: 528 B |
BIN
core/assets-raw/sprites/blocks/storage/core-shard-thruster2.png
Normal file
|
After Width: | Height: | Size: 512 B |
|
Before Width: | Height: | Size: 144 B After Width: | Height: | Size: 262 B |
BIN
core/assets-raw/sprites/blocks/turrets/fuse-heat.png
Normal file
|
After Width: | Height: | Size: 833 B |
|
Before Width: | Height: | Size: 2.3 KiB After Width: | Height: | Size: 1.5 KiB |
|
Before Width: | Height: | Size: 148 B After Width: | Height: | Size: 226 B |
|
Before Width: | Height: | Size: 214 B After Width: | Height: | Size: 363 B |
|
Before Width: | Height: | Size: 889 B After Width: | Height: | Size: 1.6 KiB |
|
Before Width: | Height: | Size: 333 B After Width: | Height: | Size: 795 B |
|
Before Width: | Height: | Size: 278 B After Width: | Height: | Size: 517 B |
|
Before Width: | Height: | Size: 233 B After Width: | Height: | Size: 329 B |
BIN
core/assets-raw/sprites/blocks/turrets/spectre-heat.png
Normal file
|
After Width: | Height: | Size: 1.3 KiB |
|
Before Width: | Height: | Size: 1.3 KiB After Width: | Height: | Size: 1.3 KiB |
|
Before Width: | Height: | Size: 1.4 KiB |
|
Before Width: | Height: | Size: 651 B |
|
Before Width: | Height: | Size: 8.5 KiB After Width: | Height: | Size: 4.6 KiB |
BIN
core/assets-raw/sprites/effects/clear-effect.png
Normal file
|
After Width: | Height: | Size: 83 B |
BIN
core/assets-raw/sprites/statuses/status-boss.png
Normal file
|
After Width: | Height: | Size: 418 B |
BIN
core/assets-raw/sprites/statuses/status-shielded.png
Normal file
|
After Width: | Height: | Size: 260 B |
BIN
core/assets-raw/sprites/teams/team-crux.png
Normal file
|
After Width: | Height: | Size: 479 B |
BIN
core/assets-raw/sprites/teams/team-derelict.png
Normal file
|
After Width: | Height: | Size: 503 B |
BIN
core/assets-raw/sprites/teams/team-sharded.png
Normal file
|
After Width: | Height: | Size: 404 B |
BIN
core/assets-raw/sprites/ui/sideline-over.9.png
Normal file
|
After Width: | Height: | Size: 241 B |
BIN
core/assets-raw/sprites/ui/sideline.9.png
Normal file
|
After Width: | Height: | Size: 256 B |
BIN
core/assets-raw/sprites/ui/underline-over.9.png
Normal file
|
After Width: | Height: | Size: 206 B |
|
Before Width: | Height: | Size: 7.4 KiB After Width: | Height: | Size: 6.3 KiB |
|
Before Width: | Height: | Size: 2.6 KiB After Width: | Height: | Size: 2.6 KiB |
|
Before Width: | Height: | Size: 462 B |
|
Before Width: | Height: | Size: 524 B |
|
After Width: | Height: | Size: 525 B |
@@ -78,13 +78,12 @@ schematic.tagexists = That tag already exists.
|
|||||||
|
|
||||||
stats = Stats
|
stats = Stats
|
||||||
stat.wave = Waves Defeated:[accent] {0}
|
stat.wave = Waves Defeated:[accent] {0}
|
||||||
|
stat.unitsCreated = Units Created:[accent] {0}
|
||||||
stat.enemiesDestroyed = Enemies Destroyed:[accent] {0}
|
stat.enemiesDestroyed = Enemies Destroyed:[accent] {0}
|
||||||
stat.built = Buildings Built:[accent] {0}
|
stat.built = Buildings Built:[accent] {0}
|
||||||
stat.destroyed = Buildings Destroyed:[accent] {0}
|
stat.destroyed = Buildings Destroyed:[accent] {0}
|
||||||
stat.deconstructed = Buildings Deconstructed:[accent] {0}
|
stat.deconstructed = Buildings Deconstructed:[accent] {0}
|
||||||
stat.delivered = Resources Launched:
|
|
||||||
stat.playtime = Time Played:[accent] {0}
|
stat.playtime = Time Played:[accent] {0}
|
||||||
stat.rank = Final Rank: [accent]{0}
|
|
||||||
|
|
||||||
globalitems = [accent]Total Items
|
globalitems = [accent]Total Items
|
||||||
map.delete = Are you sure you want to delete the map "[accent]{0}[]"?
|
map.delete = Are you sure you want to delete the map "[accent]{0}[]"?
|
||||||
@@ -94,6 +93,7 @@ level.mode = Gamemode:
|
|||||||
coreattack = < Core is under attack! >
|
coreattack = < Core is under attack! >
|
||||||
nearpoint = [[ [scarlet]LEAVE DROP POINT IMMEDIATELY[] ]\nannihilation imminent
|
nearpoint = [[ [scarlet]LEAVE DROP POINT IMMEDIATELY[] ]\nannihilation imminent
|
||||||
database = Core Database
|
database = Core Database
|
||||||
|
database.button = Database
|
||||||
savegame = Save Game
|
savegame = Save Game
|
||||||
loadgame = Load Game
|
loadgame = Load Game
|
||||||
joingame = Join Game
|
joingame = Join Game
|
||||||
@@ -101,6 +101,7 @@ customgame = Custom Game
|
|||||||
newgame = New Game
|
newgame = New Game
|
||||||
none = <none>
|
none = <none>
|
||||||
none.found = [lightgray]<none found>
|
none.found = [lightgray]<none found>
|
||||||
|
none.inmap = [lightgray]<none in map>
|
||||||
minimap = Minimap
|
minimap = Minimap
|
||||||
position = Position
|
position = Position
|
||||||
close = Close
|
close = Close
|
||||||
@@ -121,7 +122,7 @@ committingchanges = Committing Changes
|
|||||||
done = Done
|
done = Done
|
||||||
feature.unsupported = Your device does not support this feature.
|
feature.unsupported = Your device does not support this feature.
|
||||||
|
|
||||||
mods.initfailed = [red]⚠[] The previous Mindustry instance failed to initialize. This was likely caused by misbehaving mods.\n\nTo prevent a crash loop, [red]all mods have been disabled.[]\n\nTo disable this feature, turn it off in [accent]Settings->Game->Disable Mods On Startup Crash[].
|
mods.initfailed = [red]⚠[] The previous Mindustry instance failed to initialize. This was likely caused by misbehaving mods.\n\nTo prevent a crash loop, [red]all mods have been disabled.[]
|
||||||
mods = Mods
|
mods = Mods
|
||||||
mods.none = [lightgray]No mods found!
|
mods.none = [lightgray]No mods found!
|
||||||
mods.guide = Modding Guide
|
mods.guide = Modding Guide
|
||||||
@@ -168,6 +169,7 @@ launchcore = Launch Core
|
|||||||
filename = File Name:
|
filename = File Name:
|
||||||
unlocked = New content unlocked!
|
unlocked = New content unlocked!
|
||||||
available = New research available!
|
available = New research available!
|
||||||
|
unlock.incampaign = < Unlock in campaign for details >
|
||||||
completed = [accent]Completed
|
completed = [accent]Completed
|
||||||
techtree = Tech Tree
|
techtree = Tech Tree
|
||||||
research.legacy = [accent]5.0[] research data found.\nDo you want to [accent]load this data[], or [accent]discard it[] and restart research in the new campaign (recommended)?
|
research.legacy = [accent]5.0[] research data found.\nDo you want to [accent]load this data[], or [accent]discard it[] and restart research in the new campaign (recommended)?
|
||||||
@@ -214,6 +216,7 @@ hosts.none = [lightgray]No local games found!
|
|||||||
host.invalid = [scarlet]Can't connect to host.
|
host.invalid = [scarlet]Can't connect to host.
|
||||||
|
|
||||||
servers.local = Local Servers
|
servers.local = Local Servers
|
||||||
|
servers.local.steam = Open Games & Local Servers
|
||||||
servers.remote = Remote Servers
|
servers.remote = Remote Servers
|
||||||
servers.global = Community Servers
|
servers.global = Community Servers
|
||||||
|
|
||||||
@@ -285,6 +288,7 @@ save.corrupted = Save file corrupted or invalid!
|
|||||||
empty = <empty>
|
empty = <empty>
|
||||||
on = On
|
on = On
|
||||||
off = Off
|
off = Off
|
||||||
|
save.search = Search saved games...
|
||||||
save.autosave = Autosave: {0}
|
save.autosave = Autosave: {0}
|
||||||
save.map = Map: {0}
|
save.map = Map: {0}
|
||||||
save.wave = Wave {0}
|
save.wave = Wave {0}
|
||||||
@@ -315,7 +319,7 @@ data.invalid = This isn't valid game data.
|
|||||||
data.import.confirm = Importing external data will overwrite[scarlet] all[] your current game data.\n[accent]This cannot be undone![]\n\nOnce the data is imported, your game will exit immediately.
|
data.import.confirm = Importing external data will overwrite[scarlet] all[] your current game data.\n[accent]This cannot be undone![]\n\nOnce the data is imported, your game will exit immediately.
|
||||||
quit.confirm = Are you sure you want to quit?
|
quit.confirm = Are you sure you want to quit?
|
||||||
loading = [accent]Loading...
|
loading = [accent]Loading...
|
||||||
reloading = [accent]Reloading Mods...
|
downloading = [accent]Downloading...
|
||||||
saving = [accent]Saving...
|
saving = [accent]Saving...
|
||||||
respawn = [accent][[{0}][] to respawn in core
|
respawn = [accent][[{0}][] to respawn in core
|
||||||
cancelbuilding = [accent][[{0}][] to clear plan
|
cancelbuilding = [accent][[{0}][] to clear plan
|
||||||
@@ -343,9 +347,9 @@ custom = Custom
|
|||||||
builtin = Built-In
|
builtin = Built-In
|
||||||
map.delete.confirm = Are you sure you want to delete this map? This action cannot be undone!
|
map.delete.confirm = Are you sure you want to delete this map? This action cannot be undone!
|
||||||
map.random = [accent]Random Map
|
map.random = [accent]Random Map
|
||||||
map.nospawn = This map does not have any cores for the player to spawn in! Add a[accent] orange[] core to this map in the editor.
|
map.nospawn = This map does not have any cores for the player to spawn in! Add a [#{0}]{1}[] core to this map in the editor.
|
||||||
map.nospawn.pvp = This map does not have any enemy cores for player to spawn into! Add[scarlet] non-orange[] cores to this map in the editor.
|
map.nospawn.pvp = This map does not have any enemy cores for player to spawn into! Add[scarlet] non-orange[] cores to this map in the editor.
|
||||||
map.nospawn.attack = This map does not have any enemy cores for player to attack! Add[scarlet] red[] cores to this map in the editor.
|
map.nospawn.attack = This map does not have any enemy cores for player to attack! Add [#{0}]{1}[] cores to this map in the editor.
|
||||||
map.invalid = Error loading map: corrupted or invalid map file.
|
map.invalid = Error loading map: corrupted or invalid map file.
|
||||||
workshop.update = Update Item
|
workshop.update = Update Item
|
||||||
workshop.error = Error fetching workshop details: {0}
|
workshop.error = Error fetching workshop details: {0}
|
||||||
@@ -360,6 +364,7 @@ publish.confirm = Are you sure you want to publish this?\n\n[lightgray]Make sure
|
|||||||
publish.error = Error publishing item: {0}
|
publish.error = Error publishing item: {0}
|
||||||
steam.error = Failed to initialize Steam services.\nError: {0}
|
steam.error = Failed to initialize Steam services.\nError: {0}
|
||||||
|
|
||||||
|
editor.cliffs = Walls To Cliffs
|
||||||
editor.brush = Brush
|
editor.brush = Brush
|
||||||
editor.openin = Open In Editor
|
editor.openin = Open In Editor
|
||||||
editor.oregen = Ore Generation
|
editor.oregen = Ore Generation
|
||||||
@@ -375,6 +380,13 @@ editor.ingame = Edit In-Game
|
|||||||
editor.publish.workshop = Publish On Workshop
|
editor.publish.workshop = Publish On Workshop
|
||||||
editor.newmap = New Map
|
editor.newmap = New Map
|
||||||
editor.center = Center
|
editor.center = Center
|
||||||
|
editor.search = Search maps...
|
||||||
|
editor.filters = Filter Maps
|
||||||
|
editor.filters.mode = Gamemodes:
|
||||||
|
editor.filters.type = Map Type:
|
||||||
|
editor.filters.search = Search In:
|
||||||
|
editor.filters.author = Author
|
||||||
|
editor.filters.description = Description
|
||||||
workshop = Workshop
|
workshop = Workshop
|
||||||
waves.title = Waves
|
waves.title = Waves
|
||||||
waves.remove = Remove
|
waves.remove = Remove
|
||||||
@@ -383,6 +395,7 @@ waves.waves = wave(s)
|
|||||||
waves.perspawn = per spawn
|
waves.perspawn = per spawn
|
||||||
waves.shields = shields/wave
|
waves.shields = shields/wave
|
||||||
waves.to = to
|
waves.to = to
|
||||||
|
waves.max = max units
|
||||||
waves.guardian = Guardian
|
waves.guardian = Guardian
|
||||||
waves.preview = Preview
|
waves.preview = Preview
|
||||||
waves.edit = Edit...
|
waves.edit = Edit...
|
||||||
@@ -391,6 +404,13 @@ waves.load = Load from Clipboard
|
|||||||
waves.invalid = Invalid waves in clipboard.
|
waves.invalid = Invalid waves in clipboard.
|
||||||
waves.copied = Waves copied.
|
waves.copied = Waves copied.
|
||||||
waves.none = No enemies defined.\nNote that empty wave layouts will automatically be replaced with the default layout.
|
waves.none = No enemies defined.\nNote that empty wave layouts will automatically be replaced with the default layout.
|
||||||
|
waves.sort = Sort By
|
||||||
|
waves.sort.reverse = Reverse Sort
|
||||||
|
waves.sort.begin = Begin
|
||||||
|
waves.sort.health = Health
|
||||||
|
waves.sort.type = Type
|
||||||
|
waves.units.hide = Hide All
|
||||||
|
waves.units.show = Show All
|
||||||
|
|
||||||
#these are intentionally in lower case
|
#these are intentionally in lower case
|
||||||
wavemode.counts = counts
|
wavemode.counts = counts
|
||||||
@@ -400,6 +420,7 @@ wavemode.health = health
|
|||||||
editor.default = [lightgray]<Default>
|
editor.default = [lightgray]<Default>
|
||||||
details = Details...
|
details = Details...
|
||||||
edit = Edit...
|
edit = Edit...
|
||||||
|
variables = Vars
|
||||||
editor.name = Name:
|
editor.name = Name:
|
||||||
editor.spawn = Spawn Unit
|
editor.spawn = Spawn Unit
|
||||||
editor.removeunit = Remove Unit
|
editor.removeunit = Remove Unit
|
||||||
@@ -537,6 +558,7 @@ configure = Configure Loadout
|
|||||||
loadout = Loadout
|
loadout = Loadout
|
||||||
resources = Resources
|
resources = Resources
|
||||||
bannedblocks = Banned Blocks
|
bannedblocks = Banned Blocks
|
||||||
|
bannedunits = Banned Units
|
||||||
addall = Add All
|
addall = Add All
|
||||||
launch.from = Launching From: [accent]{0}
|
launch.from = Launching From: [accent]{0}
|
||||||
launch.destination = Destination: {0}
|
launch.destination = Destination: {0}
|
||||||
@@ -561,10 +583,13 @@ weather.sandstorm.name = Sandstorm
|
|||||||
weather.sporestorm.name = Sporestorm
|
weather.sporestorm.name = Sporestorm
|
||||||
weather.fog.name = Fog
|
weather.fog.name = Fog
|
||||||
|
|
||||||
|
sectorlist = Sectors
|
||||||
|
sectorlist.attacked = {0} under attack
|
||||||
sectors.unexplored = [lightgray]Unexplored
|
sectors.unexplored = [lightgray]Unexplored
|
||||||
sectors.resources = Resources:
|
sectors.resources = Resources:
|
||||||
sectors.production = Production:
|
sectors.production = Production:
|
||||||
sectors.export = Export:
|
sectors.export = Export:
|
||||||
|
sectors.import = Import:
|
||||||
sectors.time = Time:
|
sectors.time = Time:
|
||||||
sectors.threat = Threat:
|
sectors.threat = Threat:
|
||||||
sectors.wave = Wave:
|
sectors.wave = Wave:
|
||||||
@@ -615,6 +640,8 @@ sector.biomassFacility.name = Biomass Synthesis Facility
|
|||||||
sector.windsweptIslands.name = Windswept Islands
|
sector.windsweptIslands.name = Windswept Islands
|
||||||
sector.extractionOutpost.name = Extraction Outpost
|
sector.extractionOutpost.name = Extraction Outpost
|
||||||
sector.planetaryTerminal.name = Planetary Launch Terminal
|
sector.planetaryTerminal.name = Planetary Launch Terminal
|
||||||
|
sector.coastline.name = Coastline
|
||||||
|
sector.navalFortress.name = Naval Fortress
|
||||||
|
|
||||||
sector.groundZero.description = The optimal location to begin once more. Low enemy threat. Few resources.\nGather as much lead and copper as possible.\nMove on.
|
sector.groundZero.description = The optimal location to begin once more. Low enemy threat. Few resources.\nGather as much lead and copper as possible.\nMove on.
|
||||||
sector.frozenForest.description = Even here, closer to mountains, the spores have spread. The frigid temperatures cannot contain them forever.\n\nBegin the venture into power. Build combustion generators. Learn to use menders.
|
sector.frozenForest.description = Even here, closer to mountains, the spores have spread. The frigid temperatures cannot contain them forever.\n\nBegin the venture into power. Build combustion generators. Learn to use menders.
|
||||||
@@ -642,10 +669,12 @@ status.sapped.name = Sapped
|
|||||||
status.electrified.name = Electrified
|
status.electrified.name = Electrified
|
||||||
status.spore-slowed.name = Spore Slowed
|
status.spore-slowed.name = Spore Slowed
|
||||||
status.tarred.name = Tarred
|
status.tarred.name = Tarred
|
||||||
|
status.overdrive.name = Overdrive
|
||||||
status.overclock.name = Overclock
|
status.overclock.name = Overclock
|
||||||
status.shocked.name = Shocked
|
status.shocked.name = Shocked
|
||||||
status.blasted.name = Blasted
|
status.blasted.name = Blasted
|
||||||
status.unmoving.name = Unmoving
|
status.unmoving.name = Unmoving
|
||||||
|
status.boss.name = Guardian
|
||||||
|
|
||||||
settings.language = Language
|
settings.language = Language
|
||||||
settings.data = Game Data
|
settings.data = Game Data
|
||||||
@@ -724,7 +753,7 @@ stat.maxconsecutive = Max Consecutive
|
|||||||
stat.buildcost = Build Cost
|
stat.buildcost = Build Cost
|
||||||
stat.inaccuracy = Inaccuracy
|
stat.inaccuracy = Inaccuracy
|
||||||
stat.shots = Shots
|
stat.shots = Shots
|
||||||
stat.reload = Shots/Second
|
stat.reload = Firing Rate
|
||||||
stat.ammo = Ammo
|
stat.ammo = Ammo
|
||||||
stat.shieldhealth = Shield Health
|
stat.shieldhealth = Shield Health
|
||||||
stat.cooldowntime = Cooldown Time
|
stat.cooldowntime = Cooldown Time
|
||||||
@@ -770,7 +799,7 @@ bar.corereq = Core Base Required
|
|||||||
bar.drillspeed = Drill Speed: {0}/s
|
bar.drillspeed = Drill Speed: {0}/s
|
||||||
bar.pumpspeed = Pump Speed: {0}/s
|
bar.pumpspeed = Pump Speed: {0}/s
|
||||||
bar.efficiency = Efficiency: {0}%
|
bar.efficiency = Efficiency: {0}%
|
||||||
bar.boost = Boost: {0}%
|
bar.boost = Boost: +{0}%
|
||||||
bar.powerbalance = Power: {0}/s
|
bar.powerbalance = Power: {0}/s
|
||||||
bar.powerstored = Stored: {0}/{1}
|
bar.powerstored = Stored: {0}/{1}
|
||||||
bar.poweramount = Power: {0}
|
bar.poweramount = Power: {0}
|
||||||
@@ -793,7 +822,7 @@ bullet.damage = [stat]{0}[lightgray] damage
|
|||||||
bullet.splashdamage = [stat]{0}[lightgray] area dmg ~[stat] {1}[lightgray] tiles
|
bullet.splashdamage = [stat]{0}[lightgray] area dmg ~[stat] {1}[lightgray] tiles
|
||||||
bullet.incendiary = [stat]incendiary
|
bullet.incendiary = [stat]incendiary
|
||||||
bullet.homing = [stat]homing
|
bullet.homing = [stat]homing
|
||||||
bullet.frag = [stat]frag
|
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
|
||||||
bullet.knockback = [stat]{0}[lightgray] knockback
|
bullet.knockback = [stat]{0}[lightgray] knockback
|
||||||
@@ -832,20 +861,19 @@ category.items = Items
|
|||||||
category.crafting = Input/Output
|
category.crafting = Input/Output
|
||||||
category.function = Function
|
category.function = Function
|
||||||
category.optional = Optional Enhancements
|
category.optional = Optional Enhancements
|
||||||
|
setting.skipcoreanimation.name = Skip Core Launch/Land Animation
|
||||||
setting.landscape.name = Lock Landscape
|
setting.landscape.name = Lock Landscape
|
||||||
setting.shadows.name = Shadows
|
setting.shadows.name = Shadows
|
||||||
setting.blockreplace.name = Automatic Block Suggestions
|
setting.blockreplace.name = Automatic Block Suggestions
|
||||||
setting.linear.name = Linear Filtering
|
setting.linear.name = Linear Filtering
|
||||||
setting.hints.name = Hints
|
setting.hints.name = Hints
|
||||||
setting.logichints.name = Logic Hints
|
setting.logichints.name = Logic Hints
|
||||||
setting.flow.name = Display Resource Flow Rate
|
|
||||||
setting.backgroundpause.name = Pause In Background
|
setting.backgroundpause.name = Pause In Background
|
||||||
setting.buildautopause.name = Auto-Pause Building
|
setting.buildautopause.name = Auto-Pause Building
|
||||||
setting.doubletapmine.name = Double-Tap to Mine
|
setting.doubletapmine.name = Double-Tap to Mine
|
||||||
setting.modcrashdisable.name = Disable Mods On Startup Crash
|
setting.modcrashdisable.name = Disable Mods On Startup Crash
|
||||||
setting.animatedwater.name = Animated Surfaces
|
setting.animatedwater.name = Animated Surfaces
|
||||||
setting.animatedshields.name = Animated Shields
|
setting.animatedshields.name = Animated Shields
|
||||||
setting.antialias.name = Antialias[lightgray] (requires restart)[]
|
|
||||||
setting.playerindicators.name = Player Indicators
|
setting.playerindicators.name = Player Indicators
|
||||||
setting.indicators.name = Enemy Indicators
|
setting.indicators.name = Enemy Indicators
|
||||||
setting.autotarget.name = Auto-Target
|
setting.autotarget.name = Auto-Target
|
||||||
@@ -854,7 +882,8 @@ setting.touchscreen.name = Touchscreen Controls
|
|||||||
setting.fpscap.name = Max FPS
|
setting.fpscap.name = Max FPS
|
||||||
setting.fpscap.none = None
|
setting.fpscap.none = None
|
||||||
setting.fpscap.text = {0} FPS
|
setting.fpscap.text = {0} FPS
|
||||||
setting.uiscale.name = UI Scaling[lightgray] (restart required)[]
|
setting.uiscale.name = UI Scaling
|
||||||
|
setting.uiscale.description = Restart required to apply changes.
|
||||||
setting.swapdiagonal.name = Always Diagonal Placement
|
setting.swapdiagonal.name = Always Diagonal Placement
|
||||||
setting.difficulty.training = Training
|
setting.difficulty.training = Training
|
||||||
setting.difficulty.easy = Easy
|
setting.difficulty.easy = Easy
|
||||||
@@ -872,7 +901,9 @@ setting.saveinterval.name = Save Interval
|
|||||||
setting.seconds = {0} seconds
|
setting.seconds = {0} seconds
|
||||||
setting.milliseconds = {0} milliseconds
|
setting.milliseconds = {0} milliseconds
|
||||||
setting.fullscreen.name = Fullscreen
|
setting.fullscreen.name = Fullscreen
|
||||||
setting.borderlesswindow.name = Borderless Window[lightgray] (restart may be required)
|
setting.borderlesswindow.name = Borderless Window
|
||||||
|
setting.borderlesswindow.name.windows = Borderless Fullscreen
|
||||||
|
setting.borderlesswindow.description = Restart may be required to apply changes.
|
||||||
setting.fps.name = Show FPS & Ping
|
setting.fps.name = Show FPS & Ping
|
||||||
setting.smoothcamera.name = Smooth Camera
|
setting.smoothcamera.name = Smooth Camera
|
||||||
setting.vsync.name = VSync
|
setting.vsync.name = VSync
|
||||||
@@ -995,6 +1026,8 @@ rules.wavetimer = Wave Timer
|
|||||||
rules.waves = Waves
|
rules.waves = Waves
|
||||||
rules.attack = Attack Mode
|
rules.attack = Attack Mode
|
||||||
rules.buildai = AI Building
|
rules.buildai = AI Building
|
||||||
|
rules.aitier = AI Tier
|
||||||
|
rules.cleanupdeadteams = Clean Up Defeated Team Buildings (PvP)
|
||||||
rules.corecapture = Capture Core On Destruction
|
rules.corecapture = Capture Core On Destruction
|
||||||
rules.polygoncoreprotection = Polygonal Core Protection
|
rules.polygoncoreprotection = Polygonal Core Protection
|
||||||
rules.enemyCheat = Infinite AI (Red Team) Resources
|
rules.enemyCheat = Infinite AI (Red Team) Resources
|
||||||
@@ -1013,12 +1046,15 @@ rules.deconstructrefundmultiplier = Deconstruct Refund Multiplier
|
|||||||
rules.waitForWaveToEnd = Waves Wait for Enemies
|
rules.waitForWaveToEnd = Waves Wait for Enemies
|
||||||
rules.dropzoneradius = Drop Zone Radius:[lightgray] (tiles)
|
rules.dropzoneradius = Drop Zone Radius:[lightgray] (tiles)
|
||||||
rules.unitammo = Units Require Ammo
|
rules.unitammo = Units Require Ammo
|
||||||
|
rules.enemyteam = Enemy Team
|
||||||
|
rules.playerteam = Player Team
|
||||||
rules.title.waves = Waves
|
rules.title.waves = Waves
|
||||||
rules.title.resourcesbuilding = Resources & Building
|
rules.title.resourcesbuilding = Resources & Building
|
||||||
rules.title.enemy = Enemies
|
rules.title.enemy = Enemies
|
||||||
rules.title.unit = Units
|
rules.title.unit = Units
|
||||||
rules.title.experimental = Experimental
|
rules.title.experimental = Experimental
|
||||||
rules.title.environment = Environment
|
rules.title.environment = Environment
|
||||||
|
rules.title.teams = Teams
|
||||||
rules.lighting = Lighting
|
rules.lighting = Lighting
|
||||||
rules.enemyLights = Enemy Lights
|
rules.enemyLights = Enemy Lights
|
||||||
rules.fire = Fire
|
rules.fire = Fire
|
||||||
@@ -1097,13 +1133,13 @@ unit.reign.name = Reign
|
|||||||
unit.vela.name = Vela
|
unit.vela.name = Vela
|
||||||
unit.corvus.name = Corvus
|
unit.corvus.name = Corvus
|
||||||
|
|
||||||
block.resupply-point.name = Resupply Point
|
|
||||||
block.parallax.name = Parallax
|
block.parallax.name = Parallax
|
||||||
block.cliff.name = Cliff
|
block.cliff.name = Cliff
|
||||||
block.sand-boulder.name = Sand Boulder
|
block.sand-boulder.name = Sand Boulder
|
||||||
block.basalt-boulder.name = Basalt Boulder
|
block.basalt-boulder.name = Basalt Boulder
|
||||||
block.grass.name = Grass
|
block.grass.name = Grass
|
||||||
block.slag.name = Slag
|
block.molten-slag.name = Slag
|
||||||
|
block.pooled-cryofluid.name = Cryofluid
|
||||||
block.space.name = Space
|
block.space.name = Space
|
||||||
block.salt.name = Salt
|
block.salt.name = Salt
|
||||||
block.salt-wall.name = Salt Wall
|
block.salt-wall.name = Salt Wall
|
||||||
@@ -1134,9 +1170,10 @@ block.spawn.name = Enemy Spawn
|
|||||||
block.core-shard.name = Core: Shard
|
block.core-shard.name = Core: Shard
|
||||||
block.core-foundation.name = Core: Foundation
|
block.core-foundation.name = Core: Foundation
|
||||||
block.core-nucleus.name = Core: Nucleus
|
block.core-nucleus.name = Core: Nucleus
|
||||||
block.deepwater.name = Deep Water
|
block.deep-water.name = Deep Water
|
||||||
block.water.name = Water
|
block.shallow-water.name = Water
|
||||||
block.tainted-water.name = Tainted Water
|
block.tainted-water.name = Tainted Water
|
||||||
|
block.deep-tainted-water.name = Deep Tainted Water
|
||||||
block.darksand-tainted-water.name = Dark Sand Tainted Water
|
block.darksand-tainted-water.name = Dark Sand Tainted Water
|
||||||
block.tar.name = Tar
|
block.tar.name = Tar
|
||||||
block.stone.name = Stone
|
block.stone.name = Stone
|
||||||
@@ -1144,7 +1181,7 @@ block.sand.name = Sand
|
|||||||
block.darksand.name = Dark Sand
|
block.darksand.name = Dark Sand
|
||||||
block.ice.name = Ice
|
block.ice.name = Ice
|
||||||
block.snow.name = Snow
|
block.snow.name = Snow
|
||||||
block.craters.name = Craters
|
block.crater-stone.name = Craters
|
||||||
block.sand-water.name = Sand Water
|
block.sand-water.name = Sand Water
|
||||||
block.darksand-water.name = Dark Sand Water
|
block.darksand-water.name = Dark Sand Water
|
||||||
block.char.name = Char
|
block.char.name = Char
|
||||||
@@ -1264,6 +1301,7 @@ block.plated-conduit.name = Plated Conduit
|
|||||||
block.phase-conduit.name = Phase Conduit
|
block.phase-conduit.name = Phase Conduit
|
||||||
block.liquid-router.name = Liquid Router
|
block.liquid-router.name = Liquid Router
|
||||||
block.liquid-tank.name = Liquid Tank
|
block.liquid-tank.name = Liquid Tank
|
||||||
|
block.liquid-container.name = Liquid Container
|
||||||
block.liquid-junction.name = Liquid Junction
|
block.liquid-junction.name = Liquid Junction
|
||||||
block.bridge-conduit.name = Bridge Conduit
|
block.bridge-conduit.name = Bridge Conduit
|
||||||
block.rotary-pump.name = Rotary Pump
|
block.rotary-pump.name = Rotary Pump
|
||||||
@@ -1289,7 +1327,6 @@ block.meltdown.name = Meltdown
|
|||||||
block.foreshadow.name = Foreshadow
|
block.foreshadow.name = Foreshadow
|
||||||
block.container.name = Container
|
block.container.name = Container
|
||||||
block.launch-pad.name = Launch Pad
|
block.launch-pad.name = Launch Pad
|
||||||
block.launch-pad-large.name = Large Launch Pad
|
|
||||||
block.segment.name = Segment
|
block.segment.name = Segment
|
||||||
block.command-center.name = Command Center
|
block.command-center.name = Command Center
|
||||||
block.ground-factory.name = Ground Factory
|
block.ground-factory.name = Ground Factory
|
||||||
@@ -1310,11 +1347,17 @@ block.payload-source.name = Payload Source
|
|||||||
block.disassembler.name = Disassembler
|
block.disassembler.name = Disassembler
|
||||||
block.silicon-crucible.name = Silicon Crucible
|
block.silicon-crucible.name = Silicon Crucible
|
||||||
block.overdrive-dome.name = Overdrive Dome
|
block.overdrive-dome.name = Overdrive Dome
|
||||||
#experimental, may be removed
|
|
||||||
block.block-forge.name = Block Forge
|
|
||||||
block.block-loader.name = Block Loader
|
|
||||||
block.block-unloader.name = Block Unloader
|
|
||||||
block.interplanetary-accelerator.name = Interplanetary Accelerator
|
block.interplanetary-accelerator.name = Interplanetary Accelerator
|
||||||
|
block.constructor.name = Constructor
|
||||||
|
block.constructor.description = Fabricates structures up to 2x2 tiles in size.
|
||||||
|
block.large-constructor.name = Large Constructor
|
||||||
|
block.large-constructor.description = Fabricates structures up to 4x4 tiles in size.
|
||||||
|
block.deconstructor.name = Deconstructor
|
||||||
|
block.deconstructor.description = Deconstructs structures and units. Returns 100% of build cost.
|
||||||
|
block.payload-loader.name = Payload Loader
|
||||||
|
block.payload-loader.description = Load liquids and items into blocks.
|
||||||
|
block.payload-unloader.name = Payload Unloader
|
||||||
|
block.payload-unloader.description = Unloads liquids and items from blocks.
|
||||||
|
|
||||||
block.switch.name = Switch
|
block.switch.name = Switch
|
||||||
block.micro-processor.name = Micro Processor
|
block.micro-processor.name = Micro Processor
|
||||||
@@ -1349,6 +1392,7 @@ hint.placeTurret = Place \uf861 [accent]Turrets[] to defend your base from enemi
|
|||||||
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.
|
||||||
|
hint.derelict = [accent]Derelict[] structures are broken remnants of old bases that no longer function.\n\nThese structures can be [accent]deconstructed[] for resources.
|
||||||
hint.research = Use the \ue875 [accent]Research[] button to research new technology.
|
hint.research = Use the \ue875 [accent]Research[] button to research new technology.
|
||||||
hint.research.mobile = Use the \ue875 [accent]Research[] button in the \ue88c [accent]Menu[] to research new technology.
|
hint.research.mobile = Use the \ue875 [accent]Research[] button in the \ue88c [accent]Menu[] to research new technology.
|
||||||
hint.unitControl = Hold [accent][[L-ctrl][] and [accent]click[] to control friendly units or turrets.
|
hint.unitControl = Hold [accent][[L-ctrl][] and [accent]click[] to control friendly units or turrets.
|
||||||
@@ -1370,6 +1414,7 @@ hint.generator = \uf879 [accent]Combustion Generators[] burn coal and transmit p
|
|||||||
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 [accent]Foundation[] core over the [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 [accent]Foundation[] core over the [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.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.coopCampaign = When playing the [accent]co-op campaign[], items that are produced in the current map will also be sent [accent]to your local sectors[].\n\nAny new research done by the host also carries over.
|
hint.coopCampaign = When playing the [accent]co-op campaign[], items that are produced in the current map will also be sent [accent]to your local sectors[].\n\nAny new research done by the host also carries over.
|
||||||
|
|
||||||
@@ -1400,7 +1445,7 @@ liquid.slag.description = Refined in separators into constituent metals, or spra
|
|||||||
liquid.oil.description = Used in advanced material production and as incendiary ammunition.
|
liquid.oil.description = Used in advanced material production and as incendiary ammunition.
|
||||||
liquid.cryofluid.description = Used as coolant in reactors, turrets and factories.
|
liquid.cryofluid.description = Used as coolant in reactors, turrets and factories.
|
||||||
|
|
||||||
block.resupply-point.description = Resupplies nearby units with copper ammunition. Not compatible with units that require battery power.
|
block.derelict = [lightgray]Derelict
|
||||||
block.armored-conveyor.description = Moves items forward. Does not accept inputs from the sides.
|
block.armored-conveyor.description = Moves items forward. Does not accept inputs from the sides.
|
||||||
block.illuminator.description = Emits light.
|
block.illuminator.description = Emits light.
|
||||||
block.message.description = Stores a message for communication between allies.
|
block.message.description = Stores a message for communication between allies.
|
||||||
@@ -1423,9 +1468,11 @@ block.incinerator.description = Vaporizes any item or liquid it receives.
|
|||||||
block.power-void.description = Voids all power inputted. Sandbox only.
|
block.power-void.description = Voids all power inputted. Sandbox only.
|
||||||
block.power-source.description = Infinitely outputs power. Sandbox only.
|
block.power-source.description = Infinitely outputs power. Sandbox only.
|
||||||
block.item-source.description = Infinitely outputs items. Sandbox only.
|
block.item-source.description = Infinitely outputs items. Sandbox only.
|
||||||
block.item-void.description = Destroys any items. Sandbox only.
|
block.item-void.description = Destroys inputted items. Sandbox only.
|
||||||
block.liquid-source.description = Infinitely outputs liquids. Sandbox only.
|
block.liquid-source.description = Infinitely outputs liquids. Sandbox only.
|
||||||
block.liquid-void.description = Removes any liquids. Sandbox only.
|
block.liquid-void.description = Destroys inputted liquids. Sandbox only.
|
||||||
|
block.payload-source.description = Infinitely outputs payloads. Sandbox only.
|
||||||
|
block.payload-void.description = Destroys any payloads. Sandbox only.
|
||||||
block.copper-wall.description = Protects structures from enemy projectiles.
|
block.copper-wall.description = Protects structures from enemy projectiles.
|
||||||
block.copper-wall-large.description = Protects structures from enemy projectiles.
|
block.copper-wall-large.description = Protects structures from enemy projectiles.
|
||||||
block.titanium-wall.description = Protects structures from enemy projectiles.
|
block.titanium-wall.description = Protects structures from enemy projectiles.
|
||||||
@@ -1466,6 +1513,7 @@ block.conduit.description = Moves liquids forward. Used in conjunction with pump
|
|||||||
block.pulse-conduit.description = Moves liquids forward. Transports faster and stores more than standard conduits.
|
block.pulse-conduit.description = Moves liquids forward. Transports faster and stores more than standard conduits.
|
||||||
block.plated-conduit.description = Moves liquids forward. Does not accept input from the sides. Does not leak.
|
block.plated-conduit.description = Moves liquids forward. Does not accept input from the sides. Does not leak.
|
||||||
block.liquid-router.description = Accepts liquids from one direction and outputs them to up to 3 other directions equally. Can also store a certain amount of liquid.
|
block.liquid-router.description = Accepts liquids from one direction and outputs them to up to 3 other directions equally. Can also store a certain amount of liquid.
|
||||||
|
block.liquid-container.description = Stores a sizeable amount of liquid. Outputs to all sides, similarly to a liquid router.
|
||||||
block.liquid-tank.description = Stores a large amount of liquid. Outputs to all sides, similarly to a liquid router.
|
block.liquid-tank.description = Stores a large amount of liquid. Outputs to all sides, similarly to a liquid router.
|
||||||
block.liquid-junction.description = Acts as a bridge for two crossing conduits.
|
block.liquid-junction.description = Acts as a bridge for two crossing conduits.
|
||||||
block.bridge-conduit.description = Transports liquids over terrain or buildings.
|
block.bridge-conduit.description = Transports liquids over terrain or buildings.
|
||||||
@@ -1544,6 +1592,8 @@ block.memory-bank.description = Stores information for a logic processor. High c
|
|||||||
block.logic-display.description = Displays arbitrary graphics from a logic processor.
|
block.logic-display.description = Displays arbitrary graphics from a logic processor.
|
||||||
block.large-logic-display.description = Displays arbitrary graphics from a logic processor.
|
block.large-logic-display.description = Displays arbitrary graphics from a logic processor.
|
||||||
block.interplanetary-accelerator.description = A massive electromagnetic railgun tower. Accelerates cores to escape velocity for interplanetary deployment.
|
block.interplanetary-accelerator.description = A massive electromagnetic railgun tower. Accelerates cores to escape velocity for interplanetary deployment.
|
||||||
|
block.repair-turret.description = Continuously repairs the closest damaged unit in its vicinity. Optionally accepts coolant.
|
||||||
|
block.payload-propulsion-tower.description = Long-range payload transport structure. Shoots payloads to other linked payload propulsion towers.
|
||||||
|
|
||||||
unit.dagger.description = Fires standard bullets at all nearby enemies.
|
unit.dagger.description = Fires standard bullets at all nearby enemies.
|
||||||
unit.mace.description = Fires streams of flame at all nearby enemies.
|
unit.mace.description = Fires streams of flame at all nearby enemies.
|
||||||
@@ -1578,6 +1628,11 @@ unit.omura.description = Fires a long-range piercing railgun bolt at enemies. Co
|
|||||||
unit.alpha.description = Defends the Shard core from enemies. Builds structures.
|
unit.alpha.description = Defends the Shard core from enemies. Builds structures.
|
||||||
unit.beta.description = Defends the Foundation core from enemies. Builds structures.
|
unit.beta.description = Defends the Foundation core from enemies. Builds structures.
|
||||||
unit.gamma.description = Defends the Nucleus core from enemies. Builds structures.
|
unit.gamma.description = Defends the Nucleus core from enemies. Builds structures.
|
||||||
|
unit.retusa.description = Fires homing torpedoes at nearby enemies. Repairs allied units.
|
||||||
|
unit.oxynoe.description = Fires structure-repairing streams of flame at nearby enemies. Targets nearby enemy projectiles with a point defense turret.
|
||||||
|
unit.cyerce.description = Fires seeking cluster-missiles at enemies. Repairs allied units.
|
||||||
|
unit.aegires.description = Shocks all enemy units and structures that enter its energy field. Repairs all allies.
|
||||||
|
unit.navanax.description = Fires explosive EMP projectiles, dealing significant damage to enemy power networks and repairing allied structures. Melts nearby enemies with 4 autonomous laser turrets.
|
||||||
|
|
||||||
lst.read = Read a number from a linked memory cell.
|
lst.read = Read a number from a linked memory cell.
|
||||||
lst.write = Write a number to a linked memory cell.
|
lst.write = Write a number to a linked memory cell.
|
||||||
@@ -1724,6 +1779,7 @@ lenum.itemdrop = Drop an item.
|
|||||||
lenum.itemtake = Take an item from a building.
|
lenum.itemtake = Take an item from a building.
|
||||||
lenum.paydrop = Drop current payload.
|
lenum.paydrop = Drop current payload.
|
||||||
lenum.paytake = Pick up payload at current location.
|
lenum.paytake = Pick up payload at current location.
|
||||||
|
lenum.payenter = Enter/land on the payload block the unit is on.
|
||||||
lenum.flag = Numeric unit flag.
|
lenum.flag = Numeric unit flag.
|
||||||
lenum.mine = Mine at a position.
|
lenum.mine = Mine at a position.
|
||||||
lenum.build = Build a structure.
|
lenum.build = Build a structure.
|
||||||
|
|||||||