Compare commits
1250 Commits
| Author | SHA1 | Date | |
|---|---|---|---|
|
|
126cca9e86 | ||
|
|
688b5b9eea | ||
|
|
0496d2108c | ||
|
|
06e63dad45 | ||
|
|
3b8f789955 | ||
|
|
be751f5b28 | ||
|
|
9a7f8bb573 | ||
|
|
d34631458e | ||
|
|
74f1688dd2 | ||
|
|
9745c2b7fd | ||
|
|
bedd8f612a | ||
|
|
38de095a2e | ||
|
|
8c56568f23 | ||
|
|
d14c42d8ba | ||
|
|
bed0bd135e | ||
|
|
b3e111ebbb | ||
|
|
2c77477987 | ||
|
|
397fd087f2 | ||
|
|
0919063ca3 | ||
|
|
51daa82a1b | ||
|
|
e60fff43bd | ||
|
|
a5eda4fb2e | ||
|
|
c7ad9d0250 | ||
|
|
c5cf6f0af6 | ||
|
|
a3dbbe63c4 | ||
|
|
31bed37976 | ||
|
|
4f845202f8 | ||
|
|
cac29c4ecc | ||
|
|
0acb112f29 | ||
|
|
778e7d5f3f | ||
|
|
1b254745e9 | ||
|
|
1373381554 | ||
|
|
2289f29bd5 | ||
|
|
552d6a2e9f | ||
|
|
9aa45b2a7c | ||
|
|
ccd2727ab5 | ||
|
|
820fd0d7fc | ||
|
|
a4972886a3 | ||
|
|
552353972e | ||
|
|
db0691f32f | ||
|
|
a36e31c4b4 | ||
|
|
23f1d24c45 | ||
|
|
2b5ff56460 | ||
|
|
dbafdfb312 | ||
|
|
bb06c3f1e9 | ||
|
|
72c67f6c9b | ||
|
|
ea27fa53bf | ||
|
|
8bbd58053a | ||
|
|
f1b52164c9 | ||
|
|
6cfcffd04e | ||
|
|
ddd77b2081 | ||
|
|
f581aa3332 | ||
|
|
8126e970f3 | ||
|
|
52ec9f4296 | ||
|
|
cc17962d93 | ||
|
|
6c7d506e42 | ||
|
|
c1d3cdc5cb | ||
|
|
d85995f6fd | ||
|
|
bc622bd7ba | ||
|
|
027b996ad6 | ||
|
|
0bed338141 | ||
|
|
43922edac8 | ||
|
|
c4e1719c0c | ||
|
|
4deddc6def | ||
|
|
6f88684040 | ||
|
|
1a83d35923 | ||
|
|
5e8f5f1d62 | ||
|
|
d610cd6105 | ||
|
|
681bd19866 | ||
|
|
8eed0f8711 | ||
|
|
61a83d0f6e | ||
|
|
fc23ad9910 | ||
|
|
eba58c73e6 | ||
|
|
ba0335e5ef | ||
|
|
7de6bd23ea | ||
|
|
102d234129 | ||
|
|
583a1c69b6 | ||
|
|
1314dfe53e | ||
|
|
abc80b9aab | ||
|
|
2ab9783639 | ||
|
|
05f158fd51 | ||
|
|
13297023fe | ||
|
|
9cc392a9ed | ||
|
|
eb1d0b8362 | ||
|
|
7a01be6dba | ||
|
|
6a3b243937 | ||
|
|
68016cc2b5 | ||
|
|
b2f5312bf5 | ||
|
|
6a3638c3c2 | ||
|
|
3ca3eb5951 | ||
|
|
d043c75022 | ||
|
|
2db90408fe | ||
|
|
72577f20ba | ||
|
|
f62096dbd1 | ||
|
|
dbfbb08aaa | ||
|
|
4151d47837 | ||
|
|
c54a76fc8a | ||
|
|
95483286bf | ||
|
|
3d013fc09c | ||
|
|
b83f5c66ca | ||
|
|
288080eeac | ||
|
|
f0342b2396 | ||
|
|
e47806b9b8 | ||
|
|
4ae8a51676 | ||
|
|
e8fbfe536e | ||
|
|
b86ca1d12f | ||
|
|
1629afe491 | ||
|
|
3b1e5eadd9 | ||
|
|
df87b03e57 | ||
|
|
a8b18bea2f | ||
|
|
cdf14bb381 | ||
|
|
bce9ecc520 | ||
|
|
b692c071ba | ||
|
|
db90142a2d | ||
|
|
34b22f292c | ||
|
|
11ad5a0373 | ||
|
|
f4fabecce7 | ||
|
|
60fc2fb5cd | ||
|
|
04eba618d2 | ||
|
|
ac7b694e91 | ||
|
|
4fcb338d94 | ||
|
|
6dc3b7e729 | ||
|
|
cdb9fa0d7d | ||
|
|
2b11e1fb1e | ||
|
|
697c6a927a | ||
|
|
72b456fca2 | ||
|
|
f67e2c71e7 | ||
|
|
bee977cadc | ||
|
|
183ebb33b7 | ||
|
|
f6665de2e6 | ||
|
|
97390d25c0 | ||
|
|
3f1d957e28 | ||
|
|
e62a5888ef | ||
|
|
6d71bcd2eb | ||
|
|
2075a226e1 | ||
|
|
f55363a932 | ||
|
|
76f151789a | ||
|
|
1413b479ef | ||
|
|
b322b1165f | ||
|
|
fa02d8d280 | ||
|
|
251e10b000 | ||
|
|
6630f88613 | ||
|
|
c5c65d4475 | ||
|
|
c267743874 | ||
|
|
45ce8c8dec | ||
|
|
25c65e80cd | ||
|
|
e51ab514a8 | ||
|
|
21d64157a0 | ||
|
|
fff8f567d0 | ||
|
|
1e2e0a48a1 | ||
|
|
affa30730a | ||
|
|
b326bdf0e8 | ||
|
|
cc3694ce4a | ||
|
|
3048e38bff | ||
|
|
b88a215dc5 | ||
|
|
36e5522694 | ||
|
|
226e8b8a20 | ||
|
|
43424547f2 | ||
|
|
d2f2189441 | ||
|
|
e81cd5b68e | ||
|
|
c30cbc0f20 | ||
|
|
e79a97ed92 | ||
|
|
ac19c3f160 | ||
|
|
375837eef5 | ||
|
|
c59d3d5279 | ||
|
|
d1c506330b | ||
|
|
b81e942479 | ||
|
|
e36a70749c | ||
|
|
4db085bd07 | ||
|
|
cd7088d241 | ||
|
|
821569aafb | ||
|
|
83a059b2da | ||
|
|
0de2c95f6e | ||
|
|
fcb44e4952 | ||
|
|
af26e60a4f | ||
|
|
6b936aa7f6 | ||
|
|
f6a8c7509d | ||
|
|
deb814ce58 | ||
|
|
da4371baf8 | ||
|
|
47a2afd294 | ||
|
|
0122b735a0 | ||
|
|
9c3ddc398c | ||
|
|
0ccbe68a65 | ||
|
|
30cd6a7de6 | ||
|
|
23a2596e29 | ||
|
|
b88422b17e | ||
|
|
09a9b68331 | ||
|
|
08f63122ba | ||
|
|
355f33b0a4 | ||
|
|
90f7bbae65 | ||
|
|
4be7cf5c0e | ||
|
|
58eef49284 | ||
|
|
b030a51485 | ||
|
|
aec3e178f5 | ||
|
|
ee47d8a20a | ||
|
|
5c05c9f1d1 | ||
|
|
172f47cad6 | ||
|
|
a8b3350d61 | ||
|
|
b324194295 | ||
|
|
663fa2bd3f | ||
|
|
4ddb78e8d5 | ||
|
|
f23d203095 | ||
|
|
dfce361afc | ||
|
|
2553891c25 | ||
|
|
e4bef567b5 | ||
|
|
0daafc5ff3 | ||
|
|
d07706e039 | ||
|
|
ca2b51d4fe | ||
|
|
bae3884d96 | ||
|
|
515a6f9c8d | ||
|
|
d937af7497 | ||
|
|
a216c9c56e | ||
|
|
0e9f250e93 | ||
|
|
10e0be9d68 | ||
|
|
29d4246019 | ||
|
|
65c5d206a8 | ||
|
|
3a73a97746 | ||
|
|
a3f8ca9ca5 | ||
|
|
a046f0f11b | ||
|
|
2cc486febc | ||
|
|
3c9b3680bc | ||
|
|
0a1957eb13 | ||
|
|
75e1e6f166 | ||
|
|
327a8fc61b | ||
|
|
a857eaed74 | ||
|
|
028c189dc8 | ||
|
|
11f8e06708 | ||
|
|
0760923943 | ||
|
|
219084fe3c | ||
|
|
4f314afe21 | ||
|
|
6750cfead8 | ||
|
|
b569646310 | ||
|
|
cc207d3d7c | ||
|
|
e234ac43a6 | ||
|
|
2388091ed6 | ||
|
|
a38351d41f | ||
|
|
4d8de72a8e | ||
|
|
ab2138d8e7 | ||
|
|
46c75af9e4 | ||
|
|
8eb3c16c50 | ||
|
|
39e88ae614 | ||
|
|
4410f31888 | ||
|
|
df11dd7a74 | ||
|
|
804dd61cd9 | ||
|
|
b00c5b4cab | ||
|
|
e0d6cebb2e | ||
|
|
ab772dccd4 | ||
|
|
b244032328 | ||
|
|
421c5e2879 | ||
|
|
1a8c4d8d8a | ||
|
|
9efb1824af | ||
|
|
74de125700 | ||
|
|
64cea34a98 | ||
|
|
9c4bdc213d | ||
|
|
92c0552fd5 | ||
|
|
ff39e5f90d | ||
|
|
83c55fdbb4 | ||
|
|
7d300a273b | ||
|
|
29f36c1927 | ||
|
|
b65c3cd931 | ||
|
|
7401e7fe31 | ||
|
|
150215712b | ||
|
|
f7ccf3c04a | ||
|
|
ebb798cac3 | ||
|
|
348819d1ac | ||
|
|
a8a3453632 | ||
|
|
9b02a274f1 | ||
|
|
f093360565 | ||
|
|
d457901d2e | ||
|
|
460dbff7d1 | ||
|
|
e564602fd1 | ||
|
|
e029321e5b | ||
|
|
87d7089df3 | ||
|
|
e4f929a851 | ||
|
|
8726cde05d | ||
|
|
a189ac8613 | ||
|
|
652aa4c456 | ||
|
|
cc3ae2c66c | ||
|
|
359e59bbad | ||
|
|
40ec7fd6fc | ||
|
|
d17f0ebc51 | ||
|
|
5027b70f5a | ||
|
|
0b7c790777 | ||
|
|
5ac9e9f63c | ||
|
|
b08136e3ea | ||
|
|
ec8262418f | ||
|
|
946e36c66e | ||
|
|
00f3518349 | ||
|
|
29bf99fe1a | ||
|
|
e104591dec | ||
|
|
0fd26e68d4 | ||
|
|
53f410fee0 | ||
|
|
53206e4b31 | ||
|
|
3818bfffb4 | ||
|
|
e6afc6ef0b | ||
|
|
5eb1c1dffc | ||
|
|
66406806b7 | ||
|
|
3a6debfae6 | ||
|
|
a093fa5718 | ||
|
|
9c1f17fbdd | ||
|
|
ce3643f0b3 | ||
|
|
f1fb7d8098 | ||
|
|
3d01eeaf1c | ||
|
|
be39c31865 | ||
|
|
0d2dfadba7 | ||
|
|
2dcab97b6d | ||
|
|
31cb169002 | ||
|
|
c381499c58 | ||
|
|
8577a8cca4 | ||
|
|
7a18c4a580 | ||
|
|
40589eb9ff | ||
|
|
722370b57c | ||
|
|
573672622a | ||
|
|
12f747ae1d | ||
|
|
395dc99595 | ||
|
|
c945243795 | ||
|
|
c2262cc9cf | ||
|
|
411399e96f | ||
|
|
f833b9e0ce | ||
|
|
9955423e9a | ||
|
|
58b4265b31 | ||
|
|
671a62aed7 | ||
|
|
c94fe9c312 | ||
|
|
f46a9730a3 | ||
|
|
d45cd7c15e | ||
|
|
a84d52f5fe | ||
|
|
330d37b7a5 | ||
|
|
d2792a4e9d | ||
|
|
c50a69d42a | ||
|
|
ee689d1597 | ||
|
|
6ef8d64d46 | ||
|
|
0095e89673 | ||
|
|
55d97ea202 | ||
|
|
85b8868d2b | ||
|
|
65e92ab6fc | ||
|
|
478baf2532 | ||
|
|
0750348cb1 | ||
|
|
db6cbc5cc3 | ||
|
|
b4359c0489 | ||
|
|
977192bc54 | ||
|
|
d54b557a9f | ||
|
|
f6c97f4ff6 | ||
|
|
66f4118896 | ||
|
|
4a8f8c4ecf | ||
|
|
6d7c207b95 | ||
|
|
597bd31a0c | ||
|
|
98157f2852 | ||
|
|
5e324e71d4 | ||
|
|
3159ce6707 | ||
|
|
9b033532c8 | ||
|
|
0678592d59 | ||
|
|
00d6b0d483 | ||
|
|
598049265a | ||
|
|
c3209f2cdd | ||
|
|
b2b4602c91 | ||
|
|
b1e1fe4922 | ||
|
|
edcf3c4223 | ||
|
|
58315acfa3 | ||
|
|
ec9eadd660 | ||
|
|
7277892e33 | ||
|
|
54962a158d | ||
|
|
30dcbe1af3 | ||
|
|
e92d5d2d2d | ||
|
|
411367f294 | ||
|
|
f49e05a915 | ||
|
|
53e8eaae75 | ||
|
|
85077fbb9c | ||
|
|
f070d8c965 | ||
|
|
0dc2dc9b08 | ||
|
|
80afe5ad86 | ||
|
|
3287479ee3 | ||
|
|
b308b3eaa4 | ||
|
|
b734fb948d | ||
|
|
117399f10a | ||
|
|
9c63165ef5 | ||
|
|
5e084be6f5 | ||
|
|
5a2c987ea6 | ||
|
|
6eeb49bb37 | ||
|
|
b2bb6136de | ||
|
|
87949679f1 | ||
|
|
a9175d3ffe | ||
|
|
79ea2480cb | ||
|
|
7455fb21a4 | ||
|
|
2c3210afce | ||
|
|
ea9ba60d66 | ||
|
|
130ad59fc4 | ||
|
|
1417e94bcd | ||
|
|
3ec2ae797e | ||
|
|
222499d4c6 | ||
|
|
2a6fcb7983 | ||
|
|
05221a8043 | ||
|
|
50b4915ff9 | ||
|
|
2ef708a586 | ||
|
|
8212c54446 | ||
|
|
503254bc1a | ||
|
|
c1b0b22e4c | ||
|
|
96f5c0a03a | ||
|
|
cba1e81f3d | ||
|
|
dcc6e9827d | ||
|
|
e27f7c8332 | ||
|
|
40aebf0e77 | ||
|
|
dcf9aa9793 | ||
|
|
45591fab83 | ||
|
|
658ebf4bc5 | ||
|
|
59c2a11824 | ||
|
|
33a57b11f6 | ||
|
|
d082963167 | ||
|
|
e2fa834079 | ||
|
|
e6bfc1cee8 | ||
|
|
5b35319559 | ||
|
|
36513c709d | ||
|
|
13bca1b7bd | ||
|
|
b9c85fcaf2 | ||
|
|
50cc281e24 | ||
|
|
0211732520 | ||
|
|
33f6004c81 | ||
|
|
23d3c2dfe7 | ||
|
|
7cce9fad55 | ||
|
|
2c2d561ea6 | ||
|
|
62e33effd1 | ||
|
|
85229f15c4 | ||
|
|
2f0de58d00 | ||
|
|
6ef21f65b2 | ||
|
|
be8fec55e1 | ||
|
|
76430c1e68 | ||
|
|
a4b1d2ca51 | ||
|
|
51b93205ff | ||
|
|
832b5e62bf | ||
|
|
c78adb12aa | ||
|
|
019ffe4c5c | ||
|
|
b3d014cd9f | ||
|
|
bebc8f0342 | ||
|
|
56ed932716 | ||
|
|
4c09f6dd40 | ||
|
|
700e4564a8 | ||
|
|
f1e1eb1015 | ||
|
|
963b96a1fb | ||
|
|
87786441ff | ||
|
|
05dec4df6a | ||
|
|
a3270debac | ||
|
|
cf392d13ed | ||
|
|
574a10e5f8 | ||
|
|
eb410af371 | ||
|
|
542bf2b413 | ||
|
|
723b10af57 | ||
|
|
1394c49e48 | ||
|
|
d8ecdff698 | ||
|
|
2a71f4620e | ||
|
|
fe99c7da62 | ||
|
|
0b00747f29 | ||
|
|
ae4a41cd0b | ||
|
|
93f630bb69 | ||
|
|
d7d5ba7510 | ||
|
|
e846084942 | ||
|
|
a15b887e5c | ||
|
|
4e51586b3b | ||
|
|
d3a90d68d1 | ||
|
|
78973d3f12 | ||
|
|
c37ad9210a | ||
|
|
246591eab4 | ||
|
|
eb0481a1da | ||
|
|
ba72e9c50d | ||
|
|
54a9955e30 | ||
|
|
49bcbafdaa | ||
|
|
b4137dca6e | ||
|
|
98f869ecea | ||
|
|
0c9f2b2687 | ||
|
|
4ec4e83823 | ||
|
|
96477f7ff5 | ||
|
|
1236e8d342 | ||
|
|
47353cc808 | ||
|
|
6eadac38b7 | ||
|
|
0d26b9e4f8 | ||
|
|
cb5351419b | ||
|
|
eb9b0f69bb | ||
|
|
2c103c157a | ||
|
|
a3a071e520 | ||
|
|
5af8236643 | ||
|
|
bf07deafc6 | ||
|
|
2809a083a0 | ||
|
|
b18fd82a21 | ||
|
|
9dcb8b7bd5 | ||
|
|
9af9e1459d | ||
|
|
4d77a6d475 | ||
|
|
64a9377006 | ||
|
|
c20d7f2b4f | ||
|
|
b57cde7148 | ||
|
|
a5fd29e56d | ||
|
|
c0b819ec9b | ||
|
|
30e36d5640 | ||
|
|
0582ba1c47 | ||
|
|
141902d012 | ||
|
|
fd5b8a32a1 | ||
|
|
fc91cf6d44 | ||
|
|
a5de521e6e | ||
|
|
243c50be02 | ||
|
|
c601114a43 | ||
|
|
0fcab7db62 | ||
|
|
b89a5ff3b5 | ||
|
|
1180764dab | ||
|
|
7f292b14a7 | ||
|
|
f7f3d5bde3 | ||
|
|
f400ccc66a | ||
|
|
3a4a37cf0c | ||
|
|
42af4e6b7e | ||
|
|
f4e90bfb6b | ||
|
|
4f912f25ee | ||
|
|
3ca68e426c | ||
|
|
20f8fd79ff | ||
|
|
a101f21de0 | ||
|
|
509760eeb1 | ||
|
|
d4a7b49233 | ||
|
|
0db2e40e27 | ||
|
|
6a8fe28e70 | ||
|
|
23067674c9 | ||
|
|
7b3f5d3848 | ||
|
|
b422e041f4 | ||
|
|
80046ba505 | ||
|
|
7e0a6798be | ||
|
|
afcb187c53 | ||
|
|
883ecb97d0 | ||
|
|
4c51b97667 | ||
|
|
7d695784d1 | ||
|
|
59ca257cca | ||
|
|
4a78478ab2 | ||
|
|
557647e0bd | ||
|
|
a79557b917 | ||
|
|
ae0e78e012 | ||
|
|
899e32eeed | ||
|
|
c3732e51f7 | ||
|
|
30eda697fa | ||
|
|
bf9d61ce3a | ||
|
|
fd911539ee | ||
|
|
93fcd3ad21 | ||
|
|
4525ad2cb1 | ||
|
|
49501b997f | ||
|
|
a1cc3b4b26 | ||
|
|
8b197b378f | ||
|
|
4b73d809f0 | ||
|
|
55d490159f | ||
|
|
68024ec78c | ||
|
|
df3e455666 | ||
|
|
7cdd383509 | ||
|
|
edfc16c7b0 | ||
|
|
fbadbb1d98 | ||
|
|
b021198893 | ||
|
|
619f2c86a4 | ||
|
|
7fd91fc584 | ||
|
|
09a3928cb1 | ||
|
|
45bbc16a8f | ||
|
|
09f96b1477 | ||
|
|
c0da3e6e9f | ||
|
|
ec124652e4 | ||
|
|
479cf85a3b | ||
|
|
c3906ebae1 | ||
|
|
6ebe78e4b5 | ||
|
|
463afaafe8 | ||
|
|
49b89f5b8e | ||
|
|
6968ccc19b | ||
|
|
bc96077d73 | ||
|
|
255e15d14c | ||
|
|
544835fdda | ||
|
|
2642ed358a | ||
|
|
642d27c163 | ||
|
|
8cdb32e476 | ||
|
|
9457680bae | ||
|
|
05e4175a16 | ||
|
|
f98c4cd820 | ||
|
|
75a47a2e5f | ||
|
|
e198da53e4 | ||
|
|
c1e783ba71 | ||
|
|
3dfb8c4c20 | ||
|
|
d81500d99d | ||
|
|
7a04cb060d | ||
|
|
2a11ac6414 | ||
|
|
89e3f2a2fa | ||
|
|
5440ffcaf9 | ||
|
|
3fe38e8925 | ||
|
|
fcca002823 | ||
|
|
11e35370be | ||
|
|
2e9026936e | ||
|
|
1651dc520c | ||
|
|
ef526a6d83 | ||
|
|
be72da71de | ||
|
|
b0303e84a3 | ||
|
|
37f1760a59 | ||
|
|
8d255b3ccd | ||
|
|
1842e9d139 | ||
|
|
8f7419db71 | ||
|
|
56eb1a084c | ||
|
|
e5e41b497d | ||
|
|
52d2d25790 | ||
|
|
c3d9a501c6 | ||
|
|
baa7580e13 | ||
|
|
464feaa80e | ||
|
|
ddadbab74d | ||
|
|
84388dd27f | ||
|
|
41562ac6c1 | ||
|
|
8f9736d1d9 | ||
|
|
68434ad42e | ||
|
|
3c7ddc8375 | ||
|
|
381197d58f | ||
|
|
09b65fddb8 | ||
|
|
4050812b84 | ||
|
|
927566e038 | ||
|
|
a329c4944b | ||
|
|
47a38d2bb8 | ||
|
|
d20f4c42a7 | ||
|
|
14984f6a02 | ||
|
|
e428e33cd2 | ||
|
|
ce36b750e3 | ||
|
|
e0021f3714 | ||
|
|
810a905af3 | ||
|
|
83be0116c6 | ||
|
|
3a0b1a6cf5 | ||
|
|
5caad7493f | ||
|
|
7c70e371e2 | ||
|
|
d91a338f3d | ||
|
|
9537cad965 | ||
|
|
dc2a68573b | ||
|
|
8bba2459f2 | ||
|
|
3390c08d44 | ||
|
|
0b7156ce13 | ||
|
|
e914cb59cd | ||
|
|
58e9d641f0 | ||
|
|
82fffb1285 | ||
|
|
e7b7fc971a | ||
|
|
6ecf9b1e73 | ||
|
|
bd0085a701 | ||
|
|
a3afb7c726 | ||
|
|
d42c0e3c48 | ||
|
|
f9d7c172c4 | ||
|
|
13d726108b | ||
|
|
07a1c6c2c4 | ||
|
|
9f0a1d863e | ||
|
|
36a7e98f86 | ||
|
|
3a0f4409fc | ||
|
|
e073eca93c | ||
|
|
4e5bc8fc94 | ||
|
|
4a6791ab43 | ||
|
|
3a142507d1 | ||
|
|
78f2a21a92 | ||
|
|
b8e245f945 | ||
|
|
b1be360180 | ||
|
|
679e6bd27b | ||
|
|
f21cea225b | ||
|
|
e12aee6961 | ||
|
|
6abb549b18 | ||
|
|
161bb87eb8 | ||
|
|
7e0a6b985c | ||
|
|
d1f7fce7f9 | ||
|
|
cef2778d43 | ||
|
|
993f3973d2 | ||
|
|
4c0664c068 | ||
|
|
ebb37f4abe | ||
|
|
696d5e77ca | ||
|
|
74839a7f8d | ||
|
|
5c353b1807 | ||
|
|
3e6c54069d | ||
|
|
34a83de3cf | ||
|
|
1624bb4502 | ||
|
|
ff115ee376 | ||
|
|
5a44bf6023 | ||
|
|
7f37b97861 | ||
|
|
d5bea214cb | ||
|
|
bc2664994e | ||
|
|
aef18b8696 | ||
|
|
4aae1d7c9e | ||
|
|
8b13298468 | ||
|
|
df056d0f6a | ||
|
|
9d343057c6 | ||
|
|
f9cc84aeb1 | ||
|
|
f6d344e5a5 | ||
|
|
68bde6f900 | ||
|
|
240c234e88 | ||
|
|
ac5cec5cf2 | ||
|
|
b75b04fcf6 | ||
|
|
9afcc6fd32 | ||
|
|
d9624d274f | ||
|
|
1dfd0f7e18 | ||
|
|
b8619292d1 | ||
|
|
6aeeb23d7c | ||
|
|
4e8e65d1dd | ||
|
|
e3d7acc556 | ||
|
|
2e42071c92 | ||
|
|
e23245940a | ||
|
|
8ddf0bbd02 | ||
|
|
dd06c7ddb7 | ||
|
|
78ce292238 | ||
|
|
b11344e59e | ||
|
|
c1021af132 | ||
|
|
7f87fa88b3 | ||
|
|
cafc0aa2d4 | ||
|
|
8459e68cfa | ||
|
|
aefd7133e2 | ||
|
|
2609f1e4ed | ||
|
|
65f1780dcc | ||
|
|
8c0f50acb6 | ||
|
|
71699e9f6d | ||
|
|
cfe57e75ce | ||
|
|
6e3332823e | ||
|
|
0ee054b310 | ||
|
|
f186c711dd | ||
|
|
4b97814955 | ||
|
|
9ad8d07853 | ||
|
|
cd17e11d2a | ||
|
|
d73bd9e4f9 | ||
|
|
b2e52a647b | ||
|
|
76c99400a4 | ||
|
|
b9d523088a | ||
|
|
92256761f4 | ||
|
|
d16a11f18f | ||
|
|
d53a2f52ac | ||
|
|
628d391332 | ||
|
|
3bdf0bdc1f | ||
|
|
e294621204 | ||
|
|
a1882d60a8 | ||
|
|
b3874b76e0 | ||
|
|
47d535a9a2 | ||
|
|
4f0316434d | ||
|
|
fae6077c43 | ||
|
|
e5fefe4822 | ||
|
|
22dff1473c | ||
|
|
c654067822 | ||
|
|
f100bd177f | ||
|
|
a8aedbed13 | ||
|
|
d9729612e2 | ||
|
|
959e0ad8a8 | ||
|
|
f6ee087044 | ||
|
|
7d6fff1e37 | ||
|
|
4eb2314fae | ||
|
|
42d929f32d | ||
|
|
0b9da88ebf | ||
|
|
47eb34e842 | ||
|
|
52578b2275 | ||
|
|
b9892335d4 | ||
|
|
646fa5e28d | ||
|
|
d9a146a27f | ||
|
|
9cec0227ab | ||
|
|
cc79568cbd | ||
|
|
c8ebe0cd87 | ||
|
|
b25820eed7 | ||
|
|
be437d63d5 | ||
|
|
d3c2832406 | ||
|
|
e9460c383e | ||
|
|
ba10fc252c | ||
|
|
6566bf9dd5 | ||
|
|
4a7231fb5a | ||
|
|
661b2124cd | ||
|
|
2f31b20931 | ||
|
|
5f8cdb3bff | ||
|
|
4e856bee90 | ||
|
|
7c35fccc14 | ||
|
|
cc4ea7af5e | ||
|
|
ac44ef5b96 | ||
|
|
86d4950912 | ||
|
|
19d038facb | ||
|
|
ac32b0a1e0 | ||
|
|
8c78f37566 | ||
|
|
1796f25482 | ||
|
|
ea6f666a80 | ||
|
|
0804146b94 | ||
|
|
d31489041f | ||
|
|
9af0137f1d | ||
|
|
f214da0479 | ||
|
|
d352a96f55 | ||
|
|
e624993ab1 | ||
|
|
c3324cd04c | ||
|
|
d06eea2466 | ||
|
|
1bae0ea96a | ||
|
|
a33c482ead | ||
|
|
c8fb0659d4 | ||
|
|
2ba4a3991b | ||
|
|
514f50a411 | ||
|
|
860fc888c4 | ||
|
|
a003e0b31e | ||
|
|
43b4dc321c | ||
|
|
b2d27c70e6 | ||
|
|
0fd6de8cb0 | ||
|
|
9d06658139 | ||
|
|
989848ead5 | ||
|
|
6984912680 | ||
|
|
7331704a13 | ||
|
|
682187946e | ||
|
|
46e5f55e9c | ||
|
|
5132b17a83 | ||
|
|
4dd4396445 | ||
|
|
52b1372324 | ||
|
|
a137a9a1da | ||
|
|
e19449a5a6 | ||
|
|
9afd56bf37 | ||
|
|
0d2ab11965 | ||
|
|
fdd4b756eb | ||
|
|
465bf40aa7 | ||
|
|
127ee1a87e | ||
|
|
2e42d19913 | ||
|
|
d60af13151 | ||
|
|
f8174eac53 | ||
|
|
55bc0846ae | ||
|
|
1c951422dc | ||
|
|
f3a5c149a6 | ||
|
|
7409ff7fd8 | ||
|
|
1d19581cef | ||
|
|
fbe15347c0 | ||
|
|
9a28e97774 | ||
|
|
ba84a94644 | ||
|
|
abdc3ee33c | ||
|
|
b10a146cd9 | ||
|
|
3ffea4061e | ||
|
|
52ac26b56c | ||
|
|
46d6c4e40a | ||
|
|
db09fa5932 | ||
|
|
cc7fefc9e2 | ||
|
|
837b66b839 | ||
|
|
c38a8c3ef4 | ||
|
|
b284ed54e8 | ||
|
|
7ddcdaec66 | ||
|
|
e8c74319af | ||
|
|
fc53d23706 | ||
|
|
c7ef42cad4 | ||
|
|
3dd5c128cd | ||
|
|
010b1eadf0 | ||
|
|
7ab538fac9 | ||
|
|
5dfecd3ea2 | ||
|
|
d7547d2e68 | ||
|
|
e2bfd43de8 | ||
|
|
66524fb615 | ||
|
|
5337e3e171 | ||
|
|
d2b12a1f31 | ||
|
|
37833eccd4 | ||
|
|
1489095267 | ||
|
|
634ece405f | ||
|
|
95abcddbc6 | ||
|
|
1ea89190d4 | ||
|
|
769c0782f4 | ||
|
|
908842f556 | ||
|
|
64d5805bc2 | ||
|
|
1dd001e137 | ||
|
|
e6de58fbdc | ||
|
|
ca2973936d | ||
|
|
0d86cc3f97 | ||
|
|
326002c338 | ||
|
|
b5c730b18d | ||
|
|
d644cbd93e | ||
|
|
8030caea76 | ||
|
|
215633587d | ||
|
|
c5794ebbda | ||
|
|
1ef1aeaaf3 | ||
|
|
431dc4fe75 | ||
|
|
dee897c6a8 | ||
|
|
b0713721c0 | ||
|
|
4fa0c55b75 | ||
|
|
8fdb3ab540 | ||
|
|
e19af8cc98 | ||
|
|
17d527ab05 | ||
|
|
83ed26a271 | ||
|
|
8a2e7af49e | ||
|
|
42aafdaf17 | ||
|
|
6849557300 | ||
|
|
bf6f933686 | ||
|
|
5a4a6ff003 | ||
|
|
7b9e188186 | ||
|
|
96c996d955 | ||
|
|
2e684863d5 | ||
|
|
bfb92fd859 | ||
|
|
ad76a90683 | ||
|
|
291648c8a8 | ||
|
|
d87c381021 | ||
|
|
fa06b6bda8 | ||
|
|
e804efdf52 | ||
|
|
d6fc4bfdb1 | ||
|
|
0ca33477d8 | ||
|
|
2be787f810 | ||
|
|
e3d1a04626 | ||
|
|
31212e6e46 | ||
|
|
61e9ffb7e8 | ||
|
|
201ce276cd | ||
|
|
6def8f5281 | ||
|
|
1f2ae18b23 | ||
|
|
363b3f276d | ||
|
|
1b603af6bd | ||
|
|
79615000e0 | ||
|
|
690be44ca2 | ||
|
|
3c6ed42b7e | ||
|
|
8bd8fc5d80 | ||
|
|
a21d908834 | ||
|
|
5240692d67 | ||
|
|
8b56646809 | ||
|
|
2b62ab6b2f | ||
|
|
a21319dcf4 | ||
|
|
dea70e9d71 | ||
|
|
44aa9d0bda | ||
|
|
b0dfc0664c | ||
|
|
a85bbaa5b3 | ||
|
|
8104173b31 | ||
|
|
61a2fd3439 | ||
|
|
026ffdc36f | ||
|
|
35af2f4b9a | ||
|
|
b67f4e04a2 | ||
|
|
2eb3e5e034 | ||
|
|
101ba6de0f | ||
|
|
3f0877d022 | ||
|
|
3f3cd116f0 | ||
|
|
8edc7b3255 | ||
|
|
81efa3b4d6 | ||
|
|
eae3980bbe | ||
|
|
7f51ddf425 | ||
|
|
357d46a425 | ||
|
|
8ca31aa973 | ||
|
|
755498394d | ||
|
|
fd849494cc | ||
|
|
bfebe890b6 | ||
|
|
4201106843 | ||
|
|
dfdb4c1c1f | ||
|
|
dafbade7a0 | ||
|
|
6ec2537de1 | ||
|
|
19b3a939f9 | ||
|
|
84ff0649a2 | ||
|
|
2bccb1bad7 | ||
|
|
308219b68b | ||
|
|
f1bf6e5e43 | ||
|
|
719a2f1419 | ||
|
|
09f5439c33 | ||
|
|
72b408158d | ||
|
|
4446be612f | ||
|
|
09a081f44d | ||
|
|
9a6ee50925 | ||
|
|
13916acfce | ||
|
|
e9cdbf39a1 | ||
|
|
5317a81a92 | ||
|
|
6f1685c34d | ||
|
|
2ac689aacc | ||
|
|
e38013862b | ||
|
|
0b128e5bca | ||
|
|
fb1e56a944 | ||
|
|
1eb2298e3a | ||
|
|
35f4219e17 | ||
|
|
ae8f1fa5b1 | ||
|
|
b69cf34494 | ||
|
|
e724f025af | ||
|
|
a7c7238cc8 | ||
|
|
4ac3eb1c9a | ||
|
|
718cf72912 | ||
|
|
5ea9c0c8dc | ||
|
|
f1b1009728 | ||
|
|
dc060d2ce9 | ||
|
|
44b73d4c13 | ||
|
|
5e6d40d6cc | ||
|
|
2149580aaa | ||
|
|
4e9c0df519 | ||
|
|
39e59103a5 | ||
|
|
e71c76956c | ||
|
|
3c5f05d5df | ||
|
|
a2c73a748e | ||
|
|
ceba055406 | ||
|
|
b81378922d | ||
|
|
e13fcc5a5f | ||
|
|
a6951dc6fb | ||
|
|
ca4f710ec2 | ||
|
|
f2894ff38d | ||
|
|
cac946b0e1 | ||
|
|
8f404869b2 | ||
|
|
c8e59ecfeb | ||
|
|
88d6c4c8f9 | ||
|
|
0dcec3366b | ||
|
|
e661abaf24 | ||
|
|
be5eac5335 | ||
|
|
743495a6d7 | ||
|
|
9ffbba204f | ||
|
|
12e5dbf287 | ||
|
|
49b789fc39 | ||
|
|
4a018a7b88 | ||
|
|
3684dfcf0a | ||
|
|
bd7a8ff02a | ||
|
|
d709000a5b | ||
|
|
eb1192cdbe | ||
|
|
975384d3b1 | ||
|
|
48ce73b517 | ||
|
|
5c2237c745 | ||
|
|
cc3c358cc2 | ||
|
|
645b5ecdd8 | ||
|
|
8a382a1715 | ||
|
|
5af6751646 | ||
|
|
27848bbc9f | ||
|
|
141828f36d | ||
|
|
d5c7ab74e3 | ||
|
|
228777ac34 | ||
|
|
73f698f4c5 | ||
|
|
2822764698 | ||
|
|
b8b534cffd | ||
|
|
9d4ca4e8ae | ||
|
|
31f3dc5514 | ||
|
|
e66ac1a6f7 | ||
|
|
3d456672b5 | ||
|
|
48f143a530 | ||
|
|
5863f2f353 | ||
|
|
2e98abc86e | ||
|
|
f89e69b2f6 | ||
|
|
c4a92aba38 | ||
|
|
eca3746839 | ||
|
|
202d163a38 | ||
|
|
367e457b00 | ||
|
|
8752dbb978 | ||
|
|
8db01e6aa2 | ||
|
|
1a47705718 | ||
|
|
3a75ddaaff | ||
|
|
4b360527d9 | ||
|
|
e5d74cc10b | ||
|
|
2f6aefeb6f | ||
|
|
635e03a672 | ||
|
|
1e6d368c7b | ||
|
|
93a08be440 | ||
|
|
f90bb5b542 | ||
|
|
ce23fe9d24 | ||
|
|
8ae00e69cb | ||
|
|
aace39955b | ||
|
|
01bdbea98c | ||
|
|
f1604a4f5b | ||
|
|
a8fa6da787 | ||
|
|
df6ff248a4 | ||
|
|
4f9fe2a36f | ||
|
|
e9df883e10 | ||
|
|
7557a57266 | ||
|
|
45ac8a1bca | ||
|
|
9f6602c0ba | ||
|
|
85228bad0a | ||
|
|
713119fb29 | ||
|
|
b1fd87adbd | ||
|
|
248b622d00 | ||
|
|
a4d342c397 | ||
|
|
9c97bbaa1c | ||
|
|
c7dfa4a824 | ||
|
|
a574805bce | ||
|
|
bc1b2e8277 | ||
|
|
01813c4339 | ||
|
|
5a79960ce0 | ||
|
|
d741485d35 | ||
|
|
b873392309 | ||
|
|
f7a34cfa46 | ||
|
|
48a5ae443f | ||
|
|
a68c17d876 | ||
|
|
e21cac75b5 | ||
|
|
5d4015387e | ||
|
|
84f2b68387 | ||
|
|
b993f150fb | ||
|
|
cc5f8fed50 | ||
|
|
159f335f64 | ||
|
|
b48c78a50a | ||
|
|
dec2642434 | ||
|
|
04a75d14b1 | ||
|
|
52759faa5d | ||
|
|
edaa0652bd | ||
|
|
4735e28aad | ||
|
|
29974ace55 | ||
|
|
a9334bcc65 | ||
|
|
e1757b3539 | ||
|
|
e4f83216f8 | ||
|
|
a966fb0882 | ||
|
|
c456970d4d | ||
|
|
fd0d4fb097 | ||
|
|
232784a4ff | ||
|
|
c818611bb4 | ||
|
|
5e734dfd59 | ||
|
|
c6cefb0420 | ||
|
|
b26f7625d8 | ||
|
|
1d971231ca | ||
|
|
0e9e3de11f | ||
|
|
8b9cbc2c7c | ||
|
|
e1b8931d63 | ||
|
|
3874d2c7a1 | ||
|
|
710fd3484f | ||
|
|
301e570068 | ||
|
|
e56f207160 | ||
|
|
45c032c1cc | ||
|
|
dbf7902046 | ||
|
|
7f80123f38 | ||
|
|
69cc5aafad | ||
|
|
4c8c0efd0c | ||
|
|
9b7ac713ee | ||
|
|
f75c54952a | ||
|
|
7f5095921a | ||
|
|
aa253e059d | ||
|
|
2cd85e6cc5 | ||
|
|
ac93539a5c | ||
|
|
7aaf5e477b | ||
|
|
10d989fbc2 | ||
|
|
057f1ee446 | ||
|
|
b5d911100d | ||
|
|
a8bed595c3 | ||
|
|
3eb6061358 | ||
|
|
dd1fb1b7c3 | ||
|
|
51bb41f80d | ||
|
|
b1f5219b04 | ||
|
|
5f0611a945 | ||
|
|
e4fe0c24c1 | ||
|
|
cbd38003b1 | ||
|
|
991d98b718 | ||
|
|
bc53275c50 | ||
|
|
e319f75c81 | ||
|
|
d66a3b80ae | ||
|
|
5117a5bd71 | ||
|
|
c46c99bb08 | ||
|
|
08140651f3 | ||
|
|
f39d30903a | ||
|
|
58764879d4 | ||
|
|
c0c4d5d97c | ||
|
|
53483f939c | ||
|
|
6a8ae5c24e | ||
|
|
9d6b08a15d | ||
|
|
2c00365701 | ||
|
|
bdf3bea2a4 | ||
|
|
0811e52618 | ||
|
|
cd234f03f4 | ||
|
|
eadf743c31 | ||
|
|
942a3796d7 | ||
|
|
7841c9e5bd | ||
|
|
82ce3f28cc | ||
|
|
5bee3820a2 | ||
|
|
b28b628b17 | ||
|
|
a0535395eb | ||
|
|
9cbe989ffb | ||
|
|
faa785cda7 | ||
|
|
4a219d9b36 | ||
|
|
70f3329713 | ||
|
|
e6213dd7b4 | ||
|
|
f2d0eb04dd | ||
|
|
ef4038c63c | ||
|
|
89ad8c1ea6 | ||
|
|
cafe006860 | ||
|
|
ad858c74ad | ||
|
|
bbb612d3cc | ||
|
|
f4ecd6849f | ||
|
|
8a50aa931b | ||
|
|
918eb1bafe | ||
|
|
38d96a26f3 | ||
|
|
9e2b7a060f | ||
|
|
8c0b03b17a | ||
|
|
662e9c5dbb | ||
|
|
a0486ba79e | ||
|
|
5867bc7f79 | ||
|
|
34b4fe630e | ||
|
|
bf8ebb773e | ||
|
|
a45c0f4a42 | ||
|
|
cd6332900b | ||
|
|
7189be69b0 | ||
|
|
82058d347f | ||
|
|
f968a8689c | ||
|
|
77ddbd027a | ||
|
|
b2e960a038 | ||
|
|
421d27c50c | ||
|
|
abb92350c0 | ||
|
|
ad3bf51256 | ||
|
|
6461ffaa21 | ||
|
|
e279ac269b | ||
|
|
6c9108f370 | ||
|
|
3acb449205 | ||
|
|
979509acce | ||
|
|
f3002ef7c1 | ||
|
|
2f5f984416 | ||
|
|
b7e8c211f7 | ||
|
|
4410e90b9e | ||
|
|
31149c08ea | ||
|
|
687bc11e54 | ||
|
|
51d4853351 | ||
|
|
5c1e3a2862 | ||
|
|
67552add78 | ||
|
|
6d2251c52d | ||
|
|
90fe7b75d1 | ||
|
|
ffb3535f56 | ||
|
|
aa9ff44a61 | ||
|
|
c437a98b40 | ||
|
|
ec022d4da7 | ||
|
|
b93be10e43 | ||
|
|
48e5846587 | ||
|
|
13ff9a035a | ||
|
|
6a79421040 | ||
|
|
08d5ca1912 | ||
|
|
055eb5caec | ||
|
|
f8580d29fc | ||
|
|
19d26a0593 | ||
|
|
1f4372ebc7 | ||
|
|
74e98799c4 | ||
|
|
b48053cda4 | ||
|
|
1748753a20 | ||
|
|
ed1819fda1 | ||
|
|
80774820dc | ||
|
|
39fa64a41c | ||
|
|
cf8861bb13 | ||
|
|
c8f5862582 | ||
|
|
bd049d4c8d | ||
|
|
5e5b8711a3 | ||
|
|
2b6a7eac45 | ||
|
|
e699e199ea | ||
|
|
ceb5c832bd | ||
|
|
337bf880ab | ||
|
|
8b629b9b8b | ||
|
|
296fc338f9 | ||
|
|
c1775bf16b | ||
|
|
2bbcf601aa | ||
|
|
5810e308d4 | ||
|
|
e9d3adfef3 | ||
|
|
b854b0ca22 | ||
|
|
61295bc89c | ||
|
|
bc1ff011af | ||
|
|
d216f3920d | ||
|
|
2d47ff893b | ||
|
|
a2f36315b3 | ||
|
|
88e8165867 | ||
|
|
56856c8166 | ||
|
|
5ecd73bdb0 | ||
|
|
e8ec1c51f4 | ||
|
|
99df85df1c | ||
|
|
f1d4ec004d | ||
|
|
be2160c9df | ||
|
|
a7ffaff270 | ||
|
|
72db5ff9f7 | ||
|
|
7e6ba4a98e | ||
|
|
920cedb334 | ||
|
|
fb24953dc2 | ||
|
|
8c5f6bf171 | ||
|
|
342fb3998f | ||
|
|
7d7b02edb1 | ||
|
|
12906e17c9 | ||
|
|
8f4251db3a | ||
|
|
4cd78aad91 | ||
|
|
a0cc74891a | ||
|
|
68fc855870 | ||
|
|
26dc90e5a2 | ||
|
|
953b43e041 | ||
|
|
400155ffed | ||
|
|
9dbdb05ede | ||
|
|
19ca24825c | ||
|
|
6e9ddea56e | ||
|
|
4902c525fc | ||
|
|
9996f3b6f5 | ||
|
|
ef02906db4 | ||
|
|
2f6ef4cefe | ||
|
|
55c54b34f9 | ||
|
|
715dfb16ca | ||
|
|
d5c8f66d53 | ||
|
|
76997f8d47 | ||
|
|
73ef72a8e3 | ||
|
|
697e6d503f | ||
|
|
b495308832 | ||
|
|
2703c0cbc4 | ||
|
|
d012521f23 | ||
|
|
b7ca88c9c5 | ||
|
|
f103540193 | ||
|
|
424b0ed5d7 | ||
|
|
0d3c27dd59 |
6
.github/workflows/deployment.yml
vendored
@@ -5,8 +5,12 @@ on:
|
|||||||
tags:
|
tags:
|
||||||
- 'v*'
|
- 'v*'
|
||||||
|
|
||||||
|
permissions: {}
|
||||||
jobs:
|
jobs:
|
||||||
deploy:
|
deploy:
|
||||||
|
permissions:
|
||||||
|
contents: write # for release creation (svenstaro/upload-release-action)
|
||||||
|
|
||||||
runs-on: ubuntu-latest
|
runs-on: ubuntu-latest
|
||||||
|
|
||||||
steps:
|
steps:
|
||||||
@@ -19,6 +23,8 @@ jobs:
|
|||||||
run: echo "RELEASE_VERSION=${GITHUB_REF#refs/*/}" >> $GITHUB_ENV
|
run: echo "RELEASE_VERSION=${GITHUB_REF#refs/*/}" >> $GITHUB_ENV
|
||||||
- name: Add Arc release
|
- name: Add Arc release
|
||||||
run: |
|
run: |
|
||||||
|
git config --global user.email "actions@github.com"
|
||||||
|
git config --global user.name "Github Actions"
|
||||||
git clone --depth=1 --branch=master https://github.com/Anuken/Arc ../Arc
|
git clone --depth=1 --branch=master https://github.com/Anuken/Arc ../Arc
|
||||||
cd ../Arc
|
cd ../Arc
|
||||||
git tag ${RELEASE_VERSION}
|
git tag ${RELEASE_VERSION}
|
||||||
|
|||||||
3
.github/workflows/pr.yml
vendored
@@ -2,6 +2,9 @@ name: Pull Request Tests
|
|||||||
|
|
||||||
on: [pull_request, workflow_dispatch]
|
on: [pull_request, workflow_dispatch]
|
||||||
|
|
||||||
|
permissions:
|
||||||
|
contents: read # to fetch code (actions/checkout)
|
||||||
|
|
||||||
jobs:
|
jobs:
|
||||||
testPR:
|
testPR:
|
||||||
runs-on: ubuntu-latest
|
runs-on: ubuntu-latest
|
||||||
|
|||||||
6
.github/workflows/push.yml
vendored
@@ -2,8 +2,12 @@ name: Tests
|
|||||||
|
|
||||||
on: [push, workflow_dispatch]
|
on: [push, workflow_dispatch]
|
||||||
|
|
||||||
|
permissions: {}
|
||||||
jobs:
|
jobs:
|
||||||
runPush:
|
runPush:
|
||||||
|
permissions:
|
||||||
|
contents: write # for Update bundles
|
||||||
|
|
||||||
runs-on: ubuntu-latest
|
runs-on: ubuntu-latest
|
||||||
|
|
||||||
steps:
|
steps:
|
||||||
@@ -36,6 +40,8 @@ jobs:
|
|||||||
- name: Update JITpack repo
|
- name: Update JITpack repo
|
||||||
if: ${{ github.repository == 'Anuken/Mindustry' }}
|
if: ${{ github.repository == 'Anuken/Mindustry' }}
|
||||||
run: |
|
run: |
|
||||||
|
git config --global user.name "Github Actions"
|
||||||
|
git config --global user.email "cli@github.com"
|
||||||
cd ../
|
cd ../
|
||||||
cp -r ./Mindustry ./MindustryJitpack
|
cp -r ./Mindustry ./MindustryJitpack
|
||||||
cd MindustryJitpack
|
cd MindustryJitpack
|
||||||
|
|||||||
55
LICENSE
@@ -617,58 +617,3 @@ reviewing courts shall apply local law that most closely approximates
|
|||||||
an absolute waiver of all civil liability in connection with the
|
an absolute waiver of all civil liability in connection with the
|
||||||
Program, unless a warranty or assumption of liability accompanies a
|
Program, unless a warranty or assumption of liability accompanies a
|
||||||
copy of the Program in return for a fee.
|
copy of the Program in return for a fee.
|
||||||
|
|
||||||
END OF TERMS AND CONDITIONS
|
|
||||||
|
|
||||||
How to Apply These Terms to Your New Programs
|
|
||||||
|
|
||||||
If you develop a new program, and you want it to be of the greatest
|
|
||||||
possible use to the public, the best way to achieve this is to make it
|
|
||||||
free software which everyone can redistribute and change under these terms.
|
|
||||||
|
|
||||||
To do so, attach the following notices to the program. It is safest
|
|
||||||
to attach them to the start of each source file to most effectively
|
|
||||||
state the exclusion of warranty; and each file should have at least
|
|
||||||
the "copyright" line and a pointer to where the full notice is found.
|
|
||||||
|
|
||||||
<one line to give the program's name and a brief idea of what it does.>
|
|
||||||
Copyright (C) <year> <name of author>
|
|
||||||
|
|
||||||
This program is free software: you can redistribute it and/or modify
|
|
||||||
it under the terms of the GNU General Public License as published by
|
|
||||||
the Free Software Foundation, either version 3 of the License, or
|
|
||||||
(at your option) any later version.
|
|
||||||
|
|
||||||
This program is distributed in the hope that it will be useful,
|
|
||||||
but WITHOUT ANY WARRANTY; without even the implied warranty of
|
|
||||||
MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
|
|
||||||
GNU General Public License for more details.
|
|
||||||
|
|
||||||
You should have received a copy of the GNU General Public License
|
|
||||||
along with this program. If not, see <http://www.gnu.org/licenses/>.
|
|
||||||
|
|
||||||
Also add information on how to contact you by electronic and paper mail.
|
|
||||||
|
|
||||||
If the program does terminal interaction, make it output a short
|
|
||||||
notice like this when it starts in an interactive mode:
|
|
||||||
|
|
||||||
<program> Copyright (C) <year> <name of author>
|
|
||||||
This program comes with ABSOLUTELY NO WARRANTY; for details type `show w'.
|
|
||||||
This is free software, and you are welcome to redistribute it
|
|
||||||
under certain conditions; type `show c' for details.
|
|
||||||
|
|
||||||
The hypothetical commands `show w' and `show c' should show the appropriate
|
|
||||||
parts of the General Public License. Of course, your program's commands
|
|
||||||
might be different; for a GUI interface, you would use an "about box".
|
|
||||||
|
|
||||||
You should also get your employer (if you work as a programmer) or school,
|
|
||||||
if any, to sign a "copyright disclaimer" for the program, if necessary.
|
|
||||||
For more information on this, and how to apply and follow the GNU GPL, see
|
|
||||||
<http://www.gnu.org/licenses/>.
|
|
||||||
|
|
||||||
The GNU General Public License does not permit incorporating your program
|
|
||||||
into proprietary programs. If your program is a subroutine library, you
|
|
||||||
may consider it more useful to permit linking proprietary applications with
|
|
||||||
the library. If this is what you want to do, use the GNU Lesser General
|
|
||||||
Public License instead of this License. But first, please read
|
|
||||||
<http://www.gnu.org/philosophy/why-not-lgpl.html>.
|
|
||||||
|
|||||||
@@ -39,10 +39,13 @@ Server builds are bundled with each released build (in Releases). If you'd rathe
|
|||||||
### Android
|
### Android
|
||||||
|
|
||||||
1. Install the Android SDK [here.](https://developer.android.com/studio#command-tools) Make sure you're downloading the "Command line tools only", as Android Studio is not required.
|
1. Install the Android SDK [here.](https://developer.android.com/studio#command-tools) Make sure you're downloading the "Command line tools only", as Android Studio is not required.
|
||||||
2. Set the `ANDROID_HOME` environment variable to point to your unzipped Android SDK directory.
|
2. In the unzipped Android SDK folder, find the cmdline-tools directory. Then create a folder inside of it called `latest` and put all of its contents into the newly created folder.
|
||||||
3. Run `gradlew android:assembleDebug` (or `./gradlew` if on linux/mac). This will create an unsigned APK in `android/build/outputs/apk`.
|
3. In the same directory run the command `sdkmanager --licenses` (or `./sdkmanager --licenses` if on linux/mac)
|
||||||
|
4. Set the `ANDROID_HOME` environment variable to point to your unzipped Android SDK directory.
|
||||||
|
5. Enable developer mode on your device/emulator. If you are on testing on a phone you can follow [these instructions](https://developer.android.com/studio/command-line/adb#Enabling), otherwise you need to google how to enable your emulator's developer mode specifically.
|
||||||
|
6. Run `gradlew android:assembleDebug` (or `./gradlew` if on linux/mac). This will create an unsigned APK in `android/build/outputs/apk`.
|
||||||
|
|
||||||
To debug the application on a connected phone, run `gradlew android:installDebug android:run`.
|
To debug the application on a connected device/emulator, run `gradlew android:installDebug android:run`.
|
||||||
|
|
||||||
### Troubleshooting
|
### Troubleshooting
|
||||||
|
|
||||||
|
|||||||
@@ -9,7 +9,7 @@ You may want to add your server to this list. The steps for getting this done ar
|
|||||||
1. **Ensure your server is properly moderated.** For the most part, this applies to survival servers, but PvP servers can be affected as well.
|
1. **Ensure your server is properly moderated.** For the most part, this applies to survival servers, but PvP servers can be affected as well.
|
||||||
You'll need to either hire some moderators, or make use of (currently non-existent) anti-grief and anti-curse plugins.
|
You'll need to either hire some moderators, or make use of (currently non-existent) anti-grief and anti-curse plugins.
|
||||||
*Consider enabling a rate limit:* `config messageRateLimit 2` will make it so that players can only send messages every 2 seconds, for example.
|
*Consider enabling a rate limit:* `config messageRateLimit 2` will make it so that players can only send messages every 2 seconds, for example.
|
||||||
2. Make sure that your server is able to handle inappropriate content - this includes NSFW display/sorter art and abusive messages. **Servers that allow such content will be removed immediately.** Consider banning display blocks if it is a problem for your server: `rules add bannedBlocks ["logic-display", "large-logic-display"]`.
|
2. Make sure that your server is able to handle inappropriate content - this includes NSFW display/sorter art and abusive messages. **Servers that allow such content will be removed immediately.** Consider banning display blocks if it is a problem for your server: `rules add bannedBlocks ["canvas", "logic-display", "large-logic-display"]`.
|
||||||
3. **Set an appropriate MOTD, name and description.** This is set with `config <name/desc/motd> <value>`. "Appropriate" means that:
|
3. **Set an appropriate MOTD, name and description.** This is set with `config <name/desc/motd> <value>`. "Appropriate" means that:
|
||||||
- Your name or description must reflect the type of server you're hosting.
|
- Your name or description must reflect the type of server you're hosting.
|
||||||
Since new players may be exposed to the server list early on, put in a phrase like "Co-op survival" or "PvP" so players know what they're getting into. Yes, this is also displayed in the server mode info text, but having extra info in the name doesn't hurt.
|
Since new players may be exposed to the server list early on, put in a phrase like "Co-op survival" or "PvP" so players know what they're getting into. Yes, this is also displayed in the server mode info text, but having extra info in the name doesn't hurt.
|
||||||
@@ -19,10 +19,12 @@ You'll need to either hire some moderators, or make use of (currently non-existe
|
|||||||
5. **Check your server configuration.** *(optional)* I would recommend adding a message rate limit of 1 second (`config messageRateLimit 1`), and disabling connect/disconnect messages to reduce spam (`config showConnectMessages false`).
|
5. **Check your server configuration.** *(optional)* I would recommend adding a message rate limit of 1 second (`config messageRateLimit 1`), and disabling connect/disconnect messages to reduce spam (`config showConnectMessages false`).
|
||||||
6. Finally, **submit a pull request** to add your server's IP to the list.
|
6. Finally, **submit a pull request** to add your server's IP to the list.
|
||||||
This should be fairly straightforward: Press the edit button on the [server file](https://github.com/Anuken/Mindustry/blob/master/servers_v6.json), then add a JSON object with a single key, indicating your server address.
|
This should be fairly straightforward: Press the edit button on the [server file](https://github.com/Anuken/Mindustry/blob/master/servers_v6.json), then add a JSON object with a single key, indicating your server address.
|
||||||
For example, if your server address is `google.com`, you would add a comma after the last entry and insert:
|
For example, if your server address is `example.com:6000`, you would add a comma after the last entry and insert:
|
||||||
```json
|
```json
|
||||||
{
|
{
|
||||||
"address": "google.com"
|
"address": "example.com:6000"
|
||||||
}
|
}
|
||||||
```
|
```
|
||||||
Then, press the *'submit pull request'* button and I'll take a look at your server. If I have any issues with it, I'll let you know in the PR comments.
|
> Note that Mindustry also support SRV records. This allows you to use a subdomain for your server address instead of specifying the port. For example, if you want to use `play.example.com` instead of `example.com:6000`, in the dns settings of your domain, add an SRV record with `_mindustry` as the service, `tcp` as the protocol, `play` as the target and `6000` as the port. You can also setup fallback servers by modifying the weight or priority of the record. Although SRV records are very convenient, keep in mind they are slower than regular addresses. Avoid using them in the server list, but rather as an easy way to share your server address.
|
||||||
|
|
||||||
|
Then, press the *'submit pull request'* button and I'll take a look at your server. If I have any issues with it, I'll let you know in the PR comments.
|
||||||
|
|||||||
@@ -122,8 +122,14 @@ dependencies{
|
|||||||
natives "com.github.Anuken.Arc:natives-android:${getArcHash()}"
|
natives "com.github.Anuken.Arc:natives-android:${getArcHash()}"
|
||||||
natives "com.github.Anuken.Arc:natives-freetype-android:${getArcHash()}"
|
natives "com.github.Anuken.Arc:natives-freetype-android:${getArcHash()}"
|
||||||
|
|
||||||
//TODO dynamically find best android platform jar instead of hard-coding to 30
|
def version;
|
||||||
def sdkFile = new File((String)findSdkDir(), "/platforms/android-30/android.jar")
|
def highestVersion;
|
||||||
|
new File((String)findSdkDir(), "/platforms").eachFileMatch ~/android-\d+/, {
|
||||||
|
version = it.name.find(/\d+/).toInteger();
|
||||||
|
highestVersion = version > highestVersion ? version : highestVersion;
|
||||||
|
}
|
||||||
|
|
||||||
|
def sdkFile = new File((String)findSdkDir(), "/platforms/android-${highestVersion}/android.jar")
|
||||||
if(sdkFile.exists()) compileOnly files(sdkFile.absolutePath)
|
if(sdkFile.exists()) compileOnly files(sdkFile.absolutePath)
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|||||||
@@ -42,6 +42,7 @@ public class EntityProcess extends BaseProcessor{
|
|||||||
Seq<Selement> allDefs = new Seq<>();
|
Seq<Selement> allDefs = new Seq<>();
|
||||||
Seq<Stype> allInterfaces = new Seq<>();
|
Seq<Stype> allInterfaces = new Seq<>();
|
||||||
Seq<TypeSpec.Builder> baseClasses = new Seq<>();
|
Seq<TypeSpec.Builder> baseClasses = new Seq<>();
|
||||||
|
ObjectSet<TypeSpec.Builder> baseClassIndexers = new ObjectSet<>();
|
||||||
ClassSerializer serializer;
|
ClassSerializer serializer;
|
||||||
|
|
||||||
{
|
{
|
||||||
@@ -232,9 +233,15 @@ public class EntityProcess extends BaseProcessor{
|
|||||||
Stype repr = types.first();
|
Stype repr = types.first();
|
||||||
String groupType = repr.annotation(Component.class).base() ? baseName(repr) : interfaceName(repr);
|
String groupType = repr.annotation(Component.class).base() ? baseName(repr) : interfaceName(repr);
|
||||||
|
|
||||||
|
String name = group.name().startsWith("g") ? group.name().substring(1) : group.name();
|
||||||
|
|
||||||
boolean collides = an.collide();
|
boolean collides = an.collide();
|
||||||
groupDefs.add(new GroupDefinition(group.name().startsWith("g") ? group.name().substring(1) : group.name(),
|
groupDefs.add(new GroupDefinition(name,
|
||||||
ClassName.bestGuess(packageName + "." + groupType), types, an.spatial(), an.mapping(), collides));
|
ClassName.bestGuess(packageName + "." + groupType), types, an.spatial(), an.mapping(), collides));
|
||||||
|
|
||||||
|
TypeSpec.Builder accessor = TypeSpec.interfaceBuilder("IndexableEntity__" + name);
|
||||||
|
accessor.addMethod(MethodSpec.methodBuilder("setIndex__" + name).addModifiers(Modifier.ABSTRACT, Modifier.PUBLIC).addParameter(int.class, "index").returns(void.class).build());
|
||||||
|
write(accessor);
|
||||||
}
|
}
|
||||||
|
|
||||||
ObjectMap<String, Selement> usedNames = new ObjectMap<>();
|
ObjectMap<String, Selement> usedNames = new ObjectMap<>();
|
||||||
@@ -260,6 +267,8 @@ public class EntityProcess extends BaseProcessor{
|
|||||||
//get base class type name for extension
|
//get base class type name for extension
|
||||||
Stype baseClassType = baseClasses.any() ? baseClasses.first() : null;
|
Stype baseClassType = baseClasses.any() ? baseClasses.first() : null;
|
||||||
@Nullable TypeName baseClass = baseClasses.any() ? tname(packageName + "." + baseName(baseClassType)) : null;
|
@Nullable TypeName baseClass = baseClasses.any() ? tname(packageName + "." + baseName(baseClassType)) : null;
|
||||||
|
@Nullable TypeSpec.Builder baseClassBuilder = baseClassType == null ? null : this.baseClasses.find(b -> Reflect.<String>get(b, "name").equals(baseName(baseClassType)));
|
||||||
|
boolean addIndexToBase = baseClassBuilder != null && baseClassIndexers.add(baseClassBuilder);
|
||||||
//whether the main class is the base itself
|
//whether the main class is the base itself
|
||||||
boolean typeIsBase = baseClassType != null && type.has(Component.class) && type.annotation(Component.class).base();
|
boolean typeIsBase = baseClassType != null && type.has(Component.class) && type.annotation(Component.class).base();
|
||||||
|
|
||||||
@@ -381,17 +390,30 @@ public class EntityProcess extends BaseProcessor{
|
|||||||
|
|
||||||
syncedFields.sortComparing(Selement::name);
|
syncedFields.sortComparing(Selement::name);
|
||||||
|
|
||||||
|
if(!methods.containsKey("toString()")){
|
||||||
//override toString method
|
//override toString method
|
||||||
builder.addMethod(MethodSpec.methodBuilder("toString")
|
builder.addMethod(MethodSpec.methodBuilder("toString")
|
||||||
.addAnnotation(Override.class)
|
.addAnnotation(Override.class)
|
||||||
.returns(String.class)
|
.returns(String.class)
|
||||||
.addModifiers(Modifier.PUBLIC)
|
.addModifiers(Modifier.PUBLIC)
|
||||||
.addStatement("return $S + $L", name + "#", "id").build());
|
.addStatement("return $S + $L", name + "#", "id").build());
|
||||||
|
}
|
||||||
|
|
||||||
EntityIO io = new EntityIO(type.name(), builder, allFieldSpecs, serializer, rootDirectory.child("annotations/src/main/resources/revisions").child(type.name()));
|
EntityIO io = new EntityIO(type.name(), builder, allFieldSpecs, serializer, rootDirectory.child("annotations/src/main/resources/revisions").child(type.name()));
|
||||||
//entities with no sync comp and no serialization gen no code
|
//entities with no sync comp and no serialization gen no code
|
||||||
boolean hasIO = ann.genio() && (components.contains(s -> s.name().contains("Sync")) || ann.serialize());
|
boolean hasIO = ann.genio() && (components.contains(s -> s.name().contains("Sync")) || ann.serialize());
|
||||||
|
|
||||||
|
TypeSpec.Builder indexBuilder = baseClassBuilder == null ? builder : baseClassBuilder;
|
||||||
|
|
||||||
|
if(baseClassBuilder == null || addIndexToBase){
|
||||||
|
//implement indexable interfaces.
|
||||||
|
for(GroupDefinition def : groups){
|
||||||
|
indexBuilder.addSuperinterface(tname(packageName + ".IndexableEntity__" + def.name));
|
||||||
|
indexBuilder.addMethod(MethodSpec.methodBuilder("setIndex__" + def.name).addParameter(int.class, "index").addModifiers(Modifier.PUBLIC).addAnnotation(Override.class)
|
||||||
|
.addCode("index__$L = index;", def.name).build());
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
//add all methods from components
|
//add all methods from components
|
||||||
for(ObjectMap.Entry<String, Seq<Smethod>> entry : methods){
|
for(ObjectMap.Entry<String, Seq<Smethod>> entry : methods){
|
||||||
if(entry.value.contains(m -> m.has(Replace.class))){
|
if(entry.value.contains(m -> m.has(Replace.class))){
|
||||||
@@ -444,8 +466,15 @@ public class EntityProcess extends BaseProcessor{
|
|||||||
mbuilder.addStatement("if(added == $L) return", first.name().equals("add"));
|
mbuilder.addStatement("if(added == $L) return", first.name().equals("add"));
|
||||||
|
|
||||||
for(GroupDefinition def : groups){
|
for(GroupDefinition def : groups){
|
||||||
|
if(first.name().equals("add")){
|
||||||
//remove/add from each group, assume imported
|
//remove/add from each group, assume imported
|
||||||
mbuilder.addStatement("Groups.$L.$L(this)", def.name, first.name());
|
mbuilder.addStatement("index__$L = Groups.$L.addIndex(this)", def.name, def.name);
|
||||||
|
}else{
|
||||||
|
//remove/add from each group, assume imported
|
||||||
|
mbuilder.addStatement("Groups.$L.removeIndex(this, index__$L);", def.name, def.name);
|
||||||
|
|
||||||
|
mbuilder.addStatement("index__$L = -1", def.name);
|
||||||
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
@@ -575,6 +604,16 @@ public class EntityProcess extends BaseProcessor{
|
|||||||
|
|
||||||
skipDeprecated(builder);
|
skipDeprecated(builder);
|
||||||
|
|
||||||
|
if(!legacy){
|
||||||
|
TypeSpec.Builder fieldBuilder = baseClassBuilder != null ? baseClassBuilder : builder;
|
||||||
|
if(addIndexToBase || baseClassBuilder == null){
|
||||||
|
//add group index int variables
|
||||||
|
for(GroupDefinition def : groups){
|
||||||
|
fieldBuilder.addField(FieldSpec.builder(int.class, "index__" + def.name, Modifier.PROTECTED, Modifier.TRANSIENT).initializer("-1").build());
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
definitions.add(new EntityDefinition(packageName + "." + name, builder, type, typeIsBase ? null : baseClass, components, groups, allFieldSpecs, legacy));
|
definitions.add(new EntityDefinition(packageName + "." + name, builder, type, typeIsBase ? null : baseClass, components, groups, allFieldSpecs, legacy));
|
||||||
}
|
}
|
||||||
|
|
||||||
@@ -590,7 +629,7 @@ public class EntityProcess extends BaseProcessor{
|
|||||||
groupsBuilder.addField(ParameterizedTypeName.get(
|
groupsBuilder.addField(ParameterizedTypeName.get(
|
||||||
ClassName.bestGuess("mindustry.entities.EntityGroup"), itype), group.name, Modifier.PUBLIC, Modifier.STATIC);
|
ClassName.bestGuess("mindustry.entities.EntityGroup"), itype), group.name, Modifier.PUBLIC, Modifier.STATIC);
|
||||||
|
|
||||||
groupInit.addStatement("$L = new $T<>($L.class, $L, $L)", group.name, groupc, itype, group.spatial, group.mapping);
|
groupInit.addStatement("$L = new $T<>($L.class, $L, $L, (e, pos) -> { if(e instanceof $L.IndexableEntity__$L ix) ix.setIndex__$L(pos); })", group.name, groupc, itype, group.spatial, group.mapping, packageName, group.name, group.name);
|
||||||
}
|
}
|
||||||
|
|
||||||
//write the groups
|
//write the groups
|
||||||
@@ -853,7 +892,7 @@ public class EntityProcess extends BaseProcessor{
|
|||||||
|
|
||||||
for(Smethod method : methods){
|
for(Smethod method : methods){
|
||||||
String signature = method.toString();
|
String signature = method.toString();
|
||||||
if(signatures.contains(signature)) continue;
|
if(!signatures.add(signature)) continue;
|
||||||
|
|
||||||
Stype compType = interfaceToComp(method.type());
|
Stype compType = interfaceToComp(method.type());
|
||||||
MethodSpec.Builder builder = MethodSpec.overriding(method.e).addModifiers(Modifier.PUBLIC, Modifier.FINAL);
|
MethodSpec.Builder builder = MethodSpec.overriding(method.e).addModifiers(Modifier.PUBLIC, Modifier.FINAL);
|
||||||
@@ -864,12 +903,19 @@ public class EntityProcess extends BaseProcessor{
|
|||||||
builder.addAnnotation(OverrideCallSuper.class); //just in case
|
builder.addAnnotation(OverrideCallSuper.class); //just in case
|
||||||
|
|
||||||
if(!method.isVoid()){
|
if(!method.isVoid()){
|
||||||
if(method.name().equals("isNull")){
|
String methodName = method.name();
|
||||||
|
switch(methodName){
|
||||||
|
case "isNull":
|
||||||
builder.addStatement("return true");
|
builder.addStatement("return true");
|
||||||
}else if(method.name().equals("id")){
|
break;
|
||||||
|
case "id":
|
||||||
builder.addStatement("return -1");
|
builder.addStatement("return -1");
|
||||||
}else{
|
break;
|
||||||
Svar variable = compType == null || method.params().size > 0 ? null : compType.fields().find(v -> v.name().equals(method.name()));
|
case "toString":
|
||||||
|
builder.addStatement("return $S", className);
|
||||||
|
break;
|
||||||
|
default:
|
||||||
|
Svar variable = compType == null || method.params().size > 0 ? null : compType.fields().find(v -> v.name().equals(methodName));
|
||||||
String desc = variable == null ? null : variable.descString();
|
String desc = variable == null ? null : variable.descString();
|
||||||
if(variable == null || !varInitializers.containsKey(desc)){
|
if(variable == null || !varInitializers.containsKey(desc)){
|
||||||
builder.addStatement("return " + getDefault(method.ret().toString()));
|
builder.addStatement("return " + getDefault(method.ret().toString()));
|
||||||
@@ -879,10 +925,7 @@ public class EntityProcess extends BaseProcessor{
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
nullBuilder.addMethod(builder.build());
|
nullBuilder.addMethod(builder.build());
|
||||||
|
|
||||||
signatures.add(signature);
|
|
||||||
}
|
}
|
||||||
|
|
||||||
nullsBuilder.addField(FieldSpec.builder(type, Strings.camelize(baseName)).initializer("new " + className + "()").addModifiers(Modifier.FINAL, Modifier.STATIC, Modifier.PUBLIC).build());
|
nullsBuilder.addField(FieldSpec.builder(type, Strings.camelize(baseName)).initializer("new " + className + "()").addModifiers(Modifier.FINAL, Modifier.STATIC, Modifier.PUBLIC).build());
|
||||||
|
|||||||
@@ -97,14 +97,14 @@ public class StructProcess extends BaseProcessor{
|
|||||||
}
|
}
|
||||||
|
|
||||||
//[setter] + [constructor building]
|
//[setter] + [constructor building]
|
||||||
if(varType == TypeName.BOOLEAN){
|
if(isBool){
|
||||||
cons.append(" | (").append(varName).append(" ? ").append("1L << ").append(offset).append("L : 0)");
|
cons.append(" | (").append(varName).append(" ? ").append("1L << ").append(offset).append("L : 0)");
|
||||||
|
|
||||||
//bools: single bit, needs special case to clear things
|
//bools: single bit, needs special case to clear things
|
||||||
setter.beginControlFlow("if(value)");
|
setter.beginControlFlow("if(value)");
|
||||||
setter.addStatement("return ($T)(($L & ~(1L << $LL)))", structType, structParam, offset);
|
|
||||||
setter.nextControlFlow("else");
|
|
||||||
setter.addStatement("return ($T)(($L & ~(1L << $LL)) | (1L << $LL))", structType, structParam, offset, offset);
|
setter.addStatement("return ($T)(($L & ~(1L << $LL)) | (1L << $LL))", structType, structParam, offset, offset);
|
||||||
|
setter.nextControlFlow("else");
|
||||||
|
setter.addStatement("return ($T)(($L & ~(1L << $LL)))", structType, structParam, offset);
|
||||||
setter.endControlFlow();
|
setter.endControlFlow();
|
||||||
}else if(varType == TypeName.FLOAT){
|
}else if(varType == TypeName.FLOAT){
|
||||||
cons.append(" | (").append("(").append(structType).append(")").append("Float.floatToIntBits(").append(varName).append(") << ").append(offset).append("L)");
|
cons.append(" | (").append("(").append(structType).append(")").append("Float.floatToIntBits(").append(varName).append(") << ").append(offset).append("L)");
|
||||||
|
|||||||
@@ -34,7 +34,7 @@ allprojects{
|
|||||||
|
|
||||||
ext{
|
ext{
|
||||||
versionNumber = '7'
|
versionNumber = '7'
|
||||||
if(!project.hasProperty("versionModifier")) versionModifier = 'alpha'
|
if(!project.hasProperty("versionModifier")) versionModifier = 'release'
|
||||||
if(!project.hasProperty("versionType")) versionType = 'official'
|
if(!project.hasProperty("versionType")) versionType = 'official'
|
||||||
appName = 'Mindustry'
|
appName = 'Mindustry'
|
||||||
steamworksVersion = '0b86023401880bb5e586bc404bedbaae9b1f1c94'
|
steamworksVersion = '0b86023401880bb5e586bc404bedbaae9b1f1c94'
|
||||||
@@ -49,7 +49,7 @@ allprojects{
|
|||||||
}
|
}
|
||||||
|
|
||||||
localArc = {
|
localArc = {
|
||||||
return !project.hasProperty("release") && new File(projectDir.parent, '../Arc').exists()
|
return !project.hasProperty("release") && !project.hasProperty("noLocalArc") && new File(projectDir.parent, '../Arc').exists()
|
||||||
}
|
}
|
||||||
|
|
||||||
arcModule = { String name ->
|
arcModule = { String name ->
|
||||||
|
|||||||
@@ -1055,6 +1055,20 @@
|
|||||||
"search": [
|
"search": [
|
||||||
"defense"
|
"defense"
|
||||||
]
|
]
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"uid": "99aa5c8f6bbe4d96a3f422a60ff065a9",
|
||||||
|
"css": "planet",
|
||||||
|
"code": 59443,
|
||||||
|
"src": "custom_icons",
|
||||||
|
"selected": true,
|
||||||
|
"svg": {
|
||||||
|
"path": "M343.8 0L312.5 31.3 281.3 62.5 218.8 62.5 187.5 93.8 156.3 125 125 156.3 93.8 187.5 62.5 218.8 62.5 281.3 31.3 312.5 0 343.8 0 406.3 0 468.8 0 531.3 0 593.8 0 656.3 31.3 687.5 62.5 718.8 62.5 781.3 93.8 812.5 125 843.8 156.3 875 187.5 906.3 218.8 937.5 281.3 937.5 312.5 968.8 343.8 1000 406.3 1000 468.8 1000 531.3 1000 593.8 1000 656.3 1000 687.5 968.8 718.8 937.5 781.3 937.5 812.5 906.3 843.8 875 875 843.8 906.3 812.5 937.5 781.3 937.5 718.8 968.8 687.5 1000 656.3 1000 593.8 1000 531.3 1000 468.8 1000 406.3 1000 343.8 968.8 312.5 937.5 281.3 937.5 218.8 906.3 187.5 875 156.3 843.8 125 812.5 93.8 781.3 62.5 718.8 62.5 687.5 31.3 656.3 0 593.8 0 531.3 0 468.8 0 406.3 0 343.8 0ZM406.3 62.5L437.5 93.8 468.8 125 531.3 125 562.5 156.3 562.5 218.8 593.8 250 625 281.3 656.3 312.5 687.5 343.8 718.8 375 781.3 375 843.8 375 906.3 375 937.5 406.3 937.5 468.8 937.5 531.3 937.5 593.8 906.3 625 875 656.3 875 718.8 843.8 750 812.5 781.3 781.3 812.5 750 843.8 718.8 875 656.3 875 625 906.3 593.8 937.5 531.3 937.5 500 906.3 468.8 875 437.5 843.8 437.5 781.3 468.8 750 500 718.8 531.3 687.5 562.5 656.3 562.5 593.8 562.5 531.3 531.3 500 500 468.8 468.8 437.5 406.3 437.5 343.8 437.5 281.3 437.5 250 468.8 218.8 500 187.5 531.3 156.3 562.5 125 593.8 93.8 625 62.5 593.8 62.5 531.3 62.5 468.8 62.5 406.3 93.8 375 125 343.8 125 281.3 156.3 250 187.5 218.8 218.8 187.5 250 156.3 281.3 125 343.8 125 375 93.8 406.3 62.5ZM718.8 562.5L687.5 593.8 687.5 656.3 718.8 687.5 781.3 687.5 812.5 656.3 812.5 593.8 781.3 562.5 718.8 562.5Z",
|
||||||
|
"width": 1000
|
||||||
|
},
|
||||||
|
"search": [
|
||||||
|
"planet"
|
||||||
|
]
|
||||||
}
|
}
|
||||||
]
|
]
|
||||||
}
|
}
|
||||||
@@ -3,7 +3,6 @@
|
|||||||
xmlns:dc="http://purl.org/dc/elements/1.1/"
|
xmlns:dc="http://purl.org/dc/elements/1.1/"
|
||||||
xmlns:cc="http://creativecommons.org/ns#"
|
xmlns:cc="http://creativecommons.org/ns#"
|
||||||
xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#"
|
xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#"
|
||||||
xmlns:svg="http://www.w3.org/2000/svg"
|
|
||||||
xmlns="http://www.w3.org/2000/svg"
|
xmlns="http://www.w3.org/2000/svg"
|
||||||
xmlns:sodipodi="http://sodipodi.sourceforge.net/DTD/sodipodi-0.dtd"
|
xmlns:sodipodi="http://sodipodi.sourceforge.net/DTD/sodipodi-0.dtd"
|
||||||
xmlns:inkscape="http://www.inkscape.org/namespaces/inkscape"
|
xmlns:inkscape="http://www.inkscape.org/namespaces/inkscape"
|
||||||
|
|||||||
|
Before Width: | Height: | Size: 1.9 KiB After Width: | Height: | Size: 2.0 KiB |
@@ -3,7 +3,6 @@
|
|||||||
xmlns:dc="http://purl.org/dc/elements/1.1/"
|
xmlns:dc="http://purl.org/dc/elements/1.1/"
|
||||||
xmlns:cc="http://creativecommons.org/ns#"
|
xmlns:cc="http://creativecommons.org/ns#"
|
||||||
xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#"
|
xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#"
|
||||||
xmlns:svg="http://www.w3.org/2000/svg"
|
|
||||||
xmlns="http://www.w3.org/2000/svg"
|
xmlns="http://www.w3.org/2000/svg"
|
||||||
xmlns:sodipodi="http://sodipodi.sourceforge.net/DTD/sodipodi-0.dtd"
|
xmlns:sodipodi="http://sodipodi.sourceforge.net/DTD/sodipodi-0.dtd"
|
||||||
xmlns:inkscape="http://www.inkscape.org/namespaces/inkscape"
|
xmlns:inkscape="http://www.inkscape.org/namespaces/inkscape"
|
||||||
|
|||||||
|
Before Width: | Height: | Size: 1.9 KiB After Width: | Height: | Size: 1.9 KiB |
@@ -3,7 +3,6 @@
|
|||||||
xmlns:dc="http://purl.org/dc/elements/1.1/"
|
xmlns:dc="http://purl.org/dc/elements/1.1/"
|
||||||
xmlns:cc="http://creativecommons.org/ns#"
|
xmlns:cc="http://creativecommons.org/ns#"
|
||||||
xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#"
|
xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#"
|
||||||
xmlns:svg="http://www.w3.org/2000/svg"
|
|
||||||
xmlns="http://www.w3.org/2000/svg"
|
xmlns="http://www.w3.org/2000/svg"
|
||||||
xmlns:sodipodi="http://sodipodi.sourceforge.net/DTD/sodipodi-0.dtd"
|
xmlns:sodipodi="http://sodipodi.sourceforge.net/DTD/sodipodi-0.dtd"
|
||||||
xmlns:inkscape="http://www.inkscape.org/namespaces/inkscape"
|
xmlns:inkscape="http://www.inkscape.org/namespaces/inkscape"
|
||||||
|
|||||||
|
Before Width: | Height: | Size: 1.8 KiB After Width: | Height: | Size: 1.9 KiB |
@@ -3,7 +3,6 @@
|
|||||||
xmlns:dc="http://purl.org/dc/elements/1.1/"
|
xmlns:dc="http://purl.org/dc/elements/1.1/"
|
||||||
xmlns:cc="http://creativecommons.org/ns#"
|
xmlns:cc="http://creativecommons.org/ns#"
|
||||||
xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#"
|
xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#"
|
||||||
xmlns:svg="http://www.w3.org/2000/svg"
|
|
||||||
xmlns="http://www.w3.org/2000/svg"
|
xmlns="http://www.w3.org/2000/svg"
|
||||||
xmlns:sodipodi="http://sodipodi.sourceforge.net/DTD/sodipodi-0.dtd"
|
xmlns:sodipodi="http://sodipodi.sourceforge.net/DTD/sodipodi-0.dtd"
|
||||||
xmlns:inkscape="http://www.inkscape.org/namespaces/inkscape"
|
xmlns:inkscape="http://www.inkscape.org/namespaces/inkscape"
|
||||||
|
|||||||
|
Before Width: | Height: | Size: 2.1 KiB After Width: | Height: | Size: 2.1 KiB |
@@ -3,7 +3,6 @@
|
|||||||
xmlns:dc="http://purl.org/dc/elements/1.1/"
|
xmlns:dc="http://purl.org/dc/elements/1.1/"
|
||||||
xmlns:cc="http://creativecommons.org/ns#"
|
xmlns:cc="http://creativecommons.org/ns#"
|
||||||
xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#"
|
xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#"
|
||||||
xmlns:svg="http://www.w3.org/2000/svg"
|
|
||||||
xmlns="http://www.w3.org/2000/svg"
|
xmlns="http://www.w3.org/2000/svg"
|
||||||
xmlns:sodipodi="http://sodipodi.sourceforge.net/DTD/sodipodi-0.dtd"
|
xmlns:sodipodi="http://sodipodi.sourceforge.net/DTD/sodipodi-0.dtd"
|
||||||
xmlns:inkscape="http://www.inkscape.org/namespaces/inkscape"
|
xmlns:inkscape="http://www.inkscape.org/namespaces/inkscape"
|
||||||
|
|||||||
|
Before Width: | Height: | Size: 1.8 KiB After Width: | Height: | Size: 1.8 KiB |
@@ -3,7 +3,6 @@
|
|||||||
xmlns:dc="http://purl.org/dc/elements/1.1/"
|
xmlns:dc="http://purl.org/dc/elements/1.1/"
|
||||||
xmlns:cc="http://creativecommons.org/ns#"
|
xmlns:cc="http://creativecommons.org/ns#"
|
||||||
xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#"
|
xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#"
|
||||||
xmlns:svg="http://www.w3.org/2000/svg"
|
|
||||||
xmlns="http://www.w3.org/2000/svg"
|
xmlns="http://www.w3.org/2000/svg"
|
||||||
xmlns:sodipodi="http://sodipodi.sourceforge.net/DTD/sodipodi-0.dtd"
|
xmlns:sodipodi="http://sodipodi.sourceforge.net/DTD/sodipodi-0.dtd"
|
||||||
xmlns:inkscape="http://www.inkscape.org/namespaces/inkscape"
|
xmlns:inkscape="http://www.inkscape.org/namespaces/inkscape"
|
||||||
|
|||||||
|
Before Width: | Height: | Size: 2.0 KiB After Width: | Height: | Size: 2.0 KiB |
@@ -3,7 +3,6 @@
|
|||||||
xmlns:dc="http://purl.org/dc/elements/1.1/"
|
xmlns:dc="http://purl.org/dc/elements/1.1/"
|
||||||
xmlns:cc="http://creativecommons.org/ns#"
|
xmlns:cc="http://creativecommons.org/ns#"
|
||||||
xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#"
|
xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#"
|
||||||
xmlns:svg="http://www.w3.org/2000/svg"
|
|
||||||
xmlns="http://www.w3.org/2000/svg"
|
xmlns="http://www.w3.org/2000/svg"
|
||||||
xmlns:sodipodi="http://sodipodi.sourceforge.net/DTD/sodipodi-0.dtd"
|
xmlns:sodipodi="http://sodipodi.sourceforge.net/DTD/sodipodi-0.dtd"
|
||||||
xmlns:inkscape="http://www.inkscape.org/namespaces/inkscape"
|
xmlns:inkscape="http://www.inkscape.org/namespaces/inkscape"
|
||||||
|
|||||||
|
Before Width: | Height: | Size: 2.7 KiB After Width: | Height: | Size: 2.8 KiB |
|
Before Width: | Height: | Size: 4.6 KiB |
BIN
core/assets-raw/sprites/blocks/distribution/cross-full.png
Normal file
|
After Width: | Height: | Size: 209 B |
|
Before Width: | Height: | Size: 260 B After Width: | Height: | Size: 382 B |
|
Before Width: | Height: | Size: 192 B After Width: | Height: | Size: 270 B |
BIN
core/assets-raw/sprites/blocks/environment/crystalline-vent1.png
Normal file
|
After Width: | Height: | Size: 1.6 KiB |
BIN
core/assets-raw/sprites/blocks/environment/crystalline-vent2.png
Normal file
|
After Width: | Height: | Size: 1.5 KiB |
BIN
core/assets-raw/sprites/blocks/logic/canvas-corner1.png
Normal file
|
After Width: | Height: | Size: 174 B |
BIN
core/assets-raw/sprites/blocks/logic/canvas-corner2.png
Normal file
|
After Width: | Height: | Size: 174 B |
BIN
core/assets-raw/sprites/blocks/logic/canvas-side1.png
Normal file
|
After Width: | Height: | Size: 366 B |
BIN
core/assets-raw/sprites/blocks/logic/canvas-side2.png
Normal file
|
After Width: | Height: | Size: 395 B |
BIN
core/assets-raw/sprites/blocks/logic/reinforced-message.png
Normal file
|
After Width: | Height: | Size: 341 B |
BIN
core/assets-raw/sprites/blocks/logic/world-message.png
Normal file
|
After Width: | Height: | Size: 340 B |
|
Before Width: | Height: | Size: 570 B After Width: | Height: | Size: 611 B |
|
Before Width: | Height: | Size: 1.1 KiB After Width: | Height: | Size: 1.1 KiB |
|
Before Width: | Height: | Size: 543 B After Width: | Height: | Size: 572 B |
|
Before Width: | Height: | Size: 1.1 KiB After Width: | Height: | Size: 1.0 KiB |
|
After Width: | Height: | Size: 2.2 KiB |
|
After Width: | Height: | Size: 1.8 KiB |
|
After Width: | Height: | Size: 1.8 KiB |
|
After Width: | Height: | Size: 1.8 KiB |
|
After Width: | Height: | Size: 3.1 KiB |
|
After Width: | Height: | Size: 3.0 KiB |
|
Before Width: | Height: | Size: 887 B After Width: | Height: | Size: 912 B |
|
Before Width: | Height: | Size: 889 B After Width: | Height: | Size: 881 B |
|
Before Width: | Height: | Size: 1.3 KiB After Width: | Height: | Size: 899 B |
|
Before Width: | Height: | Size: 2.4 KiB |
|
Before Width: | Height: | Size: 1.8 KiB |
|
Before Width: | Height: | Size: 1.8 KiB |
|
Before Width: | Height: | Size: 1.8 KiB |
|
Before Width: | Height: | Size: 3.4 KiB |
|
Before Width: | Height: | Size: 3.0 KiB |
|
Before Width: | Height: | Size: 1013 B After Width: | Height: | Size: 1012 B |
|
Before Width: | Height: | Size: 536 B After Width: | Height: | Size: 542 B |
|
Before Width: | Height: | Size: 416 B After Width: | Height: | Size: 416 B |
|
Before Width: | Height: | Size: 1.2 KiB After Width: | Height: | Size: 1.1 KiB |
|
Before Width: | Height: | Size: 463 B After Width: | Height: | Size: 463 B |
|
After Width: | Height: | Size: 784 B |
|
After Width: | Height: | Size: 1.1 KiB |
|
After Width: | Height: | Size: 306 B |
|
Before Width: | Height: | Size: 430 B |
|
Before Width: | Height: | Size: 299 B After Width: | Height: | Size: 573 B |
|
Before Width: | Height: | Size: 2.2 KiB After Width: | Height: | Size: 2.2 KiB |
BIN
core/assets-raw/sprites/blocks/production/heat-router-glow.png
Normal file
|
After Width: | Height: | Size: 1.7 KiB |
BIN
core/assets-raw/sprites/blocks/production/heat-router-heat.png
Normal file
|
After Width: | Height: | Size: 2.6 KiB |
BIN
core/assets-raw/sprites/blocks/production/heat-router-top1.png
Normal file
|
After Width: | Height: | Size: 729 B |
BIN
core/assets-raw/sprites/blocks/production/heat-router-top2.png
Normal file
|
After Width: | Height: | Size: 756 B |
BIN
core/assets-raw/sprites/blocks/production/heat-router.png
Normal file
|
After Width: | Height: | Size: 1.7 KiB |
BIN
core/assets-raw/sprites/blocks/production/melter-bottom.png
Normal file
|
After Width: | Height: | Size: 121 B |
|
Before Width: | Height: | Size: 198 B |
|
Before Width: | Height: | Size: 552 B After Width: | Height: | Size: 563 B |
BIN
core/assets-raw/sprites/blocks/production/separator-bottom.png
Normal file
|
After Width: | Height: | Size: 222 B |
|
Before Width: | Height: | Size: 179 B |
|
Before Width: | Height: | Size: 158 B After Width: | Height: | Size: 315 B |
|
Before Width: | Height: | Size: 679 B After Width: | Height: | Size: 1.0 KiB |
|
After Width: | Height: | Size: 464 B |
|
Before Width: | Height: | Size: 197 B After Width: | Height: | Size: 296 B |
|
After Width: | Height: | Size: 230 B |
|
After Width: | Height: | Size: 221 B |
|
After Width: | Height: | Size: 220 B |
|
Before Width: | Height: | Size: 1.4 KiB After Width: | Height: | Size: 1.4 KiB |
BIN
core/assets-raw/sprites/blocks/turrets/cyclone/cyclone.png
Normal file
|
After Width: | Height: | Size: 1.1 KiB |
BIN
core/assets-raw/sprites/blocks/turrets/duo/duo-barrel-l.png
Normal file
|
After Width: | Height: | Size: 203 B |
BIN
core/assets-raw/sprites/blocks/turrets/duo/duo-barrel-r.png
Normal file
|
After Width: | Height: | Size: 209 B |
|
Before Width: | Height: | Size: 373 B After Width: | Height: | Size: 373 B |
BIN
core/assets-raw/sprites/blocks/turrets/duo/duo.png
Normal file
|
After Width: | Height: | Size: 367 B |
|
Before Width: | Height: | Size: 517 B |
|
After Width: | Height: | Size: 501 B |
BIN
core/assets-raw/sprites/blocks/turrets/salvo/salvo-barrel.png
Normal file
|
After Width: | Height: | Size: 383 B |
BIN
core/assets-raw/sprites/blocks/turrets/salvo/salvo-heat.png
Normal file
|
After Width: | Height: | Size: 203 B |
|
Before Width: | Height: | Size: 1.0 KiB After Width: | Height: | Size: 1.0 KiB |
BIN
core/assets-raw/sprites/blocks/turrets/salvo/salvo.png
Normal file
|
After Width: | Height: | Size: 864 B |
|
Before Width: | Height: | Size: 853 B |
BIN
core/assets-raw/sprites/blocks/turrets/scatter/scatter-mid.png
Normal file
|
After Width: | Height: | Size: 499 B |
|
After Width: | Height: | Size: 779 B |
BIN
core/assets-raw/sprites/blocks/turrets/scatter/scatter.png
Normal file
|
After Width: | Height: | Size: 547 B |
|
Before Width: | Height: | Size: 502 B After Width: | Height: | Size: 431 B |
|
Before Width: | Height: | Size: 1.0 KiB After Width: | Height: | Size: 10 KiB |
BIN
core/assets-raw/sprites/ui/pane-left.9.png
Normal file
|
After Width: | Height: | Size: 185 B |
BIN
core/assets-raw/sprites/ui/pane-right.9.png
Normal file
|
After Width: | Height: | Size: 191 B |
BIN
core/assets-raw/sprites/ui/pane-top.9.png
Normal file
|
After Width: | Height: | Size: 200 B |
@@ -90,7 +90,7 @@ stats.destroyed = Buildings Destroyed
|
|||||||
stats.deconstructed = Buildings Deconstructed
|
stats.deconstructed = Buildings Deconstructed
|
||||||
stats.playtime = Time Played
|
stats.playtime = Time Played
|
||||||
|
|
||||||
globalitems = [accent]Total Items
|
globalitems = [accent]Planet 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}[]"?
|
||||||
level.highscore = High Score: [accent]{0}
|
level.highscore = High Score: [accent]{0}
|
||||||
level.select = Level Select
|
level.select = Level Select
|
||||||
@@ -139,21 +139,36 @@ mods.reloadexit = The game will now exit, to reload mods.
|
|||||||
mod.installed = [[Installed]
|
mod.installed = [[Installed]
|
||||||
mod.display = [gray]Mod:[orange] {0}
|
mod.display = [gray]Mod:[orange] {0}
|
||||||
mod.enabled = [lightgray]Enabled
|
mod.enabled = [lightgray]Enabled
|
||||||
mod.disabled = [scarlet]Disabled
|
mod.disabled = [red]Disabled
|
||||||
mod.multiplayer.compatible = [gray]Multiplayer Compatible
|
mod.multiplayer.compatible = [gray]Multiplayer Compatible
|
||||||
mod.disable = Disable
|
mod.disable = Disable
|
||||||
mod.content = Content:
|
mod.content = Content:
|
||||||
mod.delete.error = Unable to delete mod. File may be in use.
|
mod.delete.error = Unable to delete mod. File may be in use.
|
||||||
mod.requiresversion = [scarlet]Requires min game version: [accent]{0}
|
|
||||||
mod.outdatedv7 = [scarlet]Incompatible with V7 (no minGameVersion: 136)
|
mod.incompatiblegame = [red]Outdated Game
|
||||||
mod.missingdependencies = [scarlet]Missing dependencies: {0}
|
mod.incompatiblemod = [red]Incompatible
|
||||||
mod.erroredcontent = [scarlet]Content Errors
|
mod.blacklisted = [red]Unsupported
|
||||||
|
mod.unmetdependencies = [red]Unmet Dependencies
|
||||||
|
mod.erroredcontent = [red]Content Errors
|
||||||
|
mod.circulardependencies = [red]Circular Dependencies
|
||||||
|
mod.incompletedependencies = [red]Incomplete Dependencies
|
||||||
|
|
||||||
|
mod.requiresversion.details = Requires game version: [accent]{0}[]\nYour game is outdated. This mod requires a newer version of the game (possibly a beta/alpha release) to function.
|
||||||
|
mod.outdatedv7.details = This mod is incompatible with the latest version of the game. The author must update it, and add [accent]minGameVersion: 136[] to its [accent]mod.json[] file.
|
||||||
|
mod.blacklisted.details = This mod has been manually blacklisted for causing crashes or other issues with this version of the game. Do not use it.
|
||||||
|
mod.missingdependencies.details = This mod is missing dependencies: {0}
|
||||||
|
mod.erroredcontent.details = This mod caused errors when loading. Ask the mod author to fix them.
|
||||||
|
mod.circulardependencies.details = This mod has dependencies that depends on each other.
|
||||||
|
mod.incompletedependencies.details = This mod is unable to be loaded due to invalid or missing dependencies: {0}.
|
||||||
|
|
||||||
|
mod.requiresversion = Requires game version: [red]{0}
|
||||||
|
|
||||||
mod.errors = Errors have occurred loading content.
|
mod.errors = Errors have occurred loading content.
|
||||||
mod.noerrorplay = [scarlet]You have mods with errors.[] Either disable the affected mods or fix the errors before playing.
|
mod.noerrorplay = [red]You have mods with errors.[] Either disable the affected mods or fix the errors before playing.
|
||||||
mod.nowdisabled = [scarlet]Mod '{0}' is missing dependencies:[accent] {1}\n[lightgray]These mods need to be downloaded first.\nThis mod will be automatically disabled.
|
mod.nowdisabled = [red]Mod '{0}' is missing dependencies:[accent] {1}\n[lightgray]These mods need to be downloaded first.\nThis mod will be automatically disabled.
|
||||||
mod.enable = Enable
|
mod.enable = Enable
|
||||||
mod.requiresrestart = The game will now close to apply the mod changes.
|
mod.requiresrestart = The game will now close to apply the mod changes.
|
||||||
mod.reloadrequired = [scarlet]Restart Required
|
mod.reloadrequired = [red]Restart Required
|
||||||
mod.import = Import Mod
|
mod.import = Import Mod
|
||||||
mod.import.file = Import File
|
mod.import.file = Import File
|
||||||
mod.import.github = Import From GitHub
|
mod.import.github = Import From GitHub
|
||||||
@@ -176,6 +191,10 @@ 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 >
|
unlock.incampaign = < Unlock in campaign for details >
|
||||||
|
campaign.select = Select Starting Campaign
|
||||||
|
campaign.none = [lightgray]Select a planet to start on.\nThis can be switched at any time.
|
||||||
|
campaign.erekir = Newer, more polished content. Mostly linear campaign progression.\n\nMore difficult. Higher quality maps and overall experience.
|
||||||
|
campaign.serpulo = Older content; the classic experience. More open-ended, more content.\n\nPotentially unbalanced maps and campaign mechanics. Less polished.
|
||||||
completed = [accent]Completed
|
completed = [accent]Completed
|
||||||
techtree = Tech Tree
|
techtree = Tech Tree
|
||||||
techtree.select = Tech Tree Selection
|
techtree.select = Tech Tree Selection
|
||||||
@@ -277,6 +296,7 @@ server.invalidport = Invalid port number!
|
|||||||
server.error = [scarlet]Error hosting server.
|
server.error = [scarlet]Error hosting server.
|
||||||
save.new = New Save
|
save.new = New Save
|
||||||
save.overwrite = Are you sure you want to overwrite\nthis save slot?
|
save.overwrite = Are you sure you want to overwrite\nthis save slot?
|
||||||
|
save.nocampaign = Individual save files from the campaign cannot be imported.
|
||||||
overwrite = Overwrite
|
overwrite = Overwrite
|
||||||
save.none = No saves found!
|
save.none = No saves found!
|
||||||
savefail = Failed to save game!
|
savefail = Failed to save game!
|
||||||
@@ -319,6 +339,7 @@ command.repair = Repair
|
|||||||
command.rebuild = Rebuild
|
command.rebuild = Rebuild
|
||||||
command.assist = Assist Player
|
command.assist = Assist Player
|
||||||
command.move = Move
|
command.move = Move
|
||||||
|
command.boost = Boost
|
||||||
openlink = Open Link
|
openlink = Open Link
|
||||||
copylink = Copy Link
|
copylink = Copy Link
|
||||||
back = Back
|
back = Back
|
||||||
@@ -344,6 +365,8 @@ pausebuilding = [accent][[{0}][] to pause building
|
|||||||
resumebuilding = [scarlet][[{0}][] to resume building
|
resumebuilding = [scarlet][[{0}][] to resume building
|
||||||
enablebuilding = [scarlet][[{0}][] to enable building
|
enablebuilding = [scarlet][[{0}][] to enable building
|
||||||
showui = UI hidden.\nPress [accent][[{0}][] to show UI.
|
showui = UI hidden.\nPress [accent][[{0}][] to show UI.
|
||||||
|
commandmode.name = [accent]Command Mode
|
||||||
|
commandmode.nounits = [no units]
|
||||||
wave = [accent]Wave {0}
|
wave = [accent]Wave {0}
|
||||||
wave.cap = [accent]Wave {0}/{1}
|
wave.cap = [accent]Wave {0}/{1}
|
||||||
wave.waiting = [lightgray]Wave in {0}
|
wave.waiting = [lightgray]Wave in {0}
|
||||||
@@ -428,6 +451,7 @@ waves.max = max units
|
|||||||
waves.guardian = Guardian
|
waves.guardian = Guardian
|
||||||
waves.preview = Preview
|
waves.preview = Preview
|
||||||
waves.edit = Edit...
|
waves.edit = Edit...
|
||||||
|
waves.random = Random
|
||||||
waves.copy = Copy to Clipboard
|
waves.copy = Copy to Clipboard
|
||||||
waves.load = Load from Clipboard
|
waves.load = Load from Clipboard
|
||||||
waves.invalid = Invalid waves in clipboard.
|
waves.invalid = Invalid waves in clipboard.
|
||||||
@@ -438,6 +462,8 @@ waves.sort.reverse = Reverse Sort
|
|||||||
waves.sort.begin = Begin
|
waves.sort.begin = Begin
|
||||||
waves.sort.health = Health
|
waves.sort.health = Health
|
||||||
waves.sort.type = Type
|
waves.sort.type = Type
|
||||||
|
waves.search = Search waves...
|
||||||
|
waves.filter.unit = Unit Filter
|
||||||
waves.units.hide = Hide All
|
waves.units.hide = Hide All
|
||||||
waves.units.show = Show All
|
waves.units.show = Show All
|
||||||
|
|
||||||
@@ -626,11 +652,13 @@ objective.build = [accent]Build: [][lightgray]{0}[]x\n{1}[lightgray]{2}
|
|||||||
objective.buildunit = [accent]Build Unit: [][lightgray]{0}[]x\n{1}[lightgray]{2}
|
objective.buildunit = [accent]Build Unit: [][lightgray]{0}[]x\n{1}[lightgray]{2}
|
||||||
objective.destroyunits = [accent]Destroy: [][lightgray]{0}[]x Units
|
objective.destroyunits = [accent]Destroy: [][lightgray]{0}[]x Units
|
||||||
objective.enemiesapproaching = [accent]Enemies approaching in [lightgray]{0}[]
|
objective.enemiesapproaching = [accent]Enemies approaching in [lightgray]{0}[]
|
||||||
|
objective.enemyescelating = [accent]Enemy production escalating in [lightgray]{0}[]
|
||||||
|
objective.enemyairunits = [accent]Enemy air unit production beginning in [lightgray]{0}[]
|
||||||
objective.destroycore = [accent]Destroy Enemy Core
|
objective.destroycore = [accent]Destroy Enemy Core
|
||||||
objective.command = [accent]Command Units
|
objective.command = [accent]Command Units
|
||||||
objective.nuclearlaunch = [accent]\u26A0 Nuclear launch detected: [lightgray]{0}
|
objective.nuclearlaunch = [accent]\u26A0 Nuclear launch detected: [lightgray]{0}
|
||||||
|
|
||||||
announce.nuclearstrike = [red]\u26A0 NUCLEAR STRIKE INBOUND \u26A0
|
announce.nuclearstrike = [red]\u26A0 NUCLEAR STRIKE INBOUND \u26A0\n[lightgray]construct backup cores immediately
|
||||||
|
|
||||||
loadout = Loadout
|
loadout = Loadout
|
||||||
resources = Resources
|
resources = Resources
|
||||||
@@ -638,6 +666,9 @@ resources.max = Max
|
|||||||
bannedblocks = Banned Blocks
|
bannedblocks = Banned Blocks
|
||||||
objectives = Objectives
|
objectives = Objectives
|
||||||
bannedunits = Banned Units
|
bannedunits = Banned Units
|
||||||
|
rules.hidebannedblocks = Hide Banned Blocks
|
||||||
|
bannedunits.whitelist = Banned Units As Whitelist
|
||||||
|
bannedblocks.whitelist = Banned Blocks As Whitelist
|
||||||
addall = Add All
|
addall = Add All
|
||||||
launch.from = Launching From: [accent]{0}
|
launch.from = Launching From: [accent]{0}
|
||||||
launch.capacity = Launching Item Capacity: [accent]{0}
|
launch.capacity = Launching Item Capacity: [accent]{0}
|
||||||
@@ -663,6 +694,9 @@ weather.sandstorm.name = Sandstorm
|
|||||||
weather.sporestorm.name = Sporestorm
|
weather.sporestorm.name = Sporestorm
|
||||||
weather.fog.name = Fog
|
weather.fog.name = Fog
|
||||||
|
|
||||||
|
campaign.playtime = \uF129 [lightgray]Sector Playtime: {0}
|
||||||
|
campaign.complete = [accent]Congratulations.\n\nThe enemy on {0} has been defeated.\n[lightgray]The final sector has been conquered.
|
||||||
|
|
||||||
sectorlist = Sectors
|
sectorlist = Sectors
|
||||||
sectorlist.attacked = {0} under attack
|
sectorlist.attacked = {0} under attack
|
||||||
sectors.unexplored = [lightgray]Unexplored
|
sectors.unexplored = [lightgray]Unexplored
|
||||||
@@ -746,6 +780,8 @@ sector.windsweptIslands.description = Further past the shoreline is this remote
|
|||||||
sector.extractionOutpost.description = A remote outpost, constructed by the enemy for the purpose of launching resources to other sectors.\n\nCross-sector transport technology is essential for further conquest. Destroy the base. Research their Launch Pads.
|
sector.extractionOutpost.description = A remote outpost, constructed by the enemy for the purpose of launching resources to other sectors.\n\nCross-sector transport technology is essential for further conquest. Destroy the base. Research their Launch Pads.
|
||||||
sector.impact0078.description = Here lie remnants of the interstellar transport vessel that first entered this system.\n\nSalvage as much as possible from the wreckage. Research any intact technology.
|
sector.impact0078.description = Here lie remnants of the interstellar transport vessel that first entered this system.\n\nSalvage as much as possible from the wreckage. Research any intact technology.
|
||||||
sector.planetaryTerminal.description = The final target.\n\nThis coastal base contains a structure capable of launching Cores to local planets. It is extremely well guarded.\n\nProduce naval units. Eliminate the enemy as quickly as possible. Research the launch structure.
|
sector.planetaryTerminal.description = The final target.\n\nThis coastal base contains a structure capable of launching Cores to local planets. It is extremely well guarded.\n\nProduce naval units. Eliminate the enemy as quickly as possible. Research the launch structure.
|
||||||
|
sector.coastline.description = Remnants of naval unit technology have been detected at this location. Repel the enemy attacks, capture this sector, and acquire the technology.
|
||||||
|
sector.navalFortress.description = The enemy has established a base on a remote, naturally-fortified island. Destroy this outpost. Acquire their advanced naval craft technology, and research it.
|
||||||
|
|
||||||
sector.onset.name = The Onset
|
sector.onset.name = The Onset
|
||||||
sector.aegis.name = Aegis
|
sector.aegis.name = Aegis
|
||||||
@@ -756,14 +792,32 @@ sector.split.name = Split
|
|||||||
sector.basin.name = Basin
|
sector.basin.name = Basin
|
||||||
sector.marsh.name = Marsh
|
sector.marsh.name = Marsh
|
||||||
sector.peaks.name = Peaks
|
sector.peaks.name = Peaks
|
||||||
|
sector.ravine.name = Ravine
|
||||||
|
sector.caldera-erekir.name = Caldera
|
||||||
|
sector.stronghold.name = Stronghold
|
||||||
|
sector.crevice.name = Crevice
|
||||||
|
sector.siege.name = Siege
|
||||||
|
sector.crossroads.name = Crossroads
|
||||||
|
sector.karst.name = Karst
|
||||||
|
sector.origin.name = Origin
|
||||||
|
|
||||||
sector.onset.description = The tutorial sector. This objective has not been created yet. Await further information.
|
sector.onset.description = Commence the conquest of Erekir. Gather resources, produce units, and begin researching technology.
|
||||||
sector.aegis.description = The enemy is protected by shields. An experimental shield breaker module has been detected in this sector.\nLocate this structure. Supply it with tungsten ammunition and destroy the enemy base.
|
sector.aegis.description = This sector contains deposits of tungsten.\nResearch the [accent]Impact Drill[] to mine this resource, and destroy the enemy base in the area.
|
||||||
sector.lake.description = This sector's slag lake greatly limits viable units. A hover unit is the only option.\nResearch the [accent]ship fabricator[] and produce an [accent]elude[] unit as soon as possible.
|
sector.lake.description = This sector's slag lake greatly limits viable units. A hover unit is the only option.\nResearch the [accent]ship fabricator[] and produce an [accent]elude[] unit as soon as possible.
|
||||||
sector.intersect.description = Scans suggest that this sector will be attacked from multiple sides soon after landing.\nSet up defenses quickly and expand as soon as possible.\n[accent]Mech[] units will be required for the area's rough terrain.
|
sector.intersect.description = Scans suggest that this sector will be attacked from multiple sides soon after landing.\nSet up defenses quickly and expand as soon as possible.\n[accent]Mech[] units will be required for the area's rough terrain.
|
||||||
sector.atlas.description = This sector contains varied terrain and will require a variety of units to attack effectively.\nUpgraded units may also be necessary to get past some of the tougher enemy bases detected here.\nResearch the [accent]Electrolyzer[] and the [accent]Tank Refabricator[].
|
sector.atlas.description = This sector contains varied terrain and will require a variety of units to attack effectively.\nUpgraded units may also be necessary to get past certain enemy bases detected here.\nResearch the [accent]Electrolyzer[] and the [accent]Tank Refabricator[].
|
||||||
sector.split.description = The minimal enemy presence in this sector makes it perfect for testing new transport tech.
|
sector.split.description = The minimal enemy presence in this sector makes it perfect for testing new transport tech.
|
||||||
sector.basin.description = Large enemy presence detected in this sector.\nBuild units quickly and capture enemy cores to gain a foothold.
|
sector.basin.description = Large enemy presence detected in this sector.\nBuild units quickly and capture enemy cores to gain a foothold.
|
||||||
|
sector.marsh.description = This sector has an abundance of arkycite, but has limited vents.\nBuild [accent]Chemical Combustion Chambers[] to generate power.
|
||||||
|
sector.peaks.description = The mountainous terrain in this sector make most units useless. Flying units will be required.\nBe aware of enemy anti-air installations. It may be possible to disable some of these installations by targeting their supporting buildings.
|
||||||
|
sector.ravine.description = An important transportation route for the enemy. No cores detected in the sector, but expect a variety of enemy forces.\nProduce [accent]surge alloy[]. Construct [accent]Afflict[] turrets.
|
||||||
|
sector.caldera-erekir.description = The resources detected in this sector are scattered across several islands.\nResearch and deploy drone-based transportation.
|
||||||
|
sector.stronghold.description = The large enemy encampment in this sector guards significant deposits of [accent]thorium[].\nUse it to develop higher tier units and turrets.
|
||||||
|
sector.crevice.description = The enemy will send fierce attack forces to take out your base in this sector.\nDeveloping [accent]carbide[] and the [accent]Pyrolysis Generator[] may be imperative for survival.
|
||||||
|
sector.siege.description = This sector features two parallel canyons that will force a two-pronged attack.\nResearch [accent]cyanogen[] to gain the capability to create even stronger tank units.\nCaution: enemy long-range missiles have been detected. The missiles may be shot down before impact.
|
||||||
|
sector.crossroads.description = The enemy bases in this sector have been established in varying terrain. Research different units to adapt.\nAdditionally, some bases are protected by shields. Figure out how they are powered.
|
||||||
|
sector.karst.description = This sector is rich in resources, but will be attacked by the enemy once a new core lands.\nTake advantage of the resources and research [accent]phase fabric[].
|
||||||
|
sector.origin.description = The final sector with a significant enemy presence.\nNo probable research opportunities remain - focus solely on destroying all enemy cores.
|
||||||
|
|
||||||
status.burning.name = Burning
|
status.burning.name = Burning
|
||||||
status.freezing.name = Freezing
|
status.freezing.name = Freezing
|
||||||
@@ -848,6 +902,7 @@ stat.repairspeed = Repair Speed
|
|||||||
stat.weapons = Weapons
|
stat.weapons = Weapons
|
||||||
stat.bullet = Bullet
|
stat.bullet = Bullet
|
||||||
stat.moduletier = Module Tier
|
stat.moduletier = Module Tier
|
||||||
|
stat.unittype = Unit Type
|
||||||
stat.speedincrease = Speed Increase
|
stat.speedincrease = Speed Increase
|
||||||
stat.range = Range
|
stat.range = Range
|
||||||
stat.drilltier = Drillables
|
stat.drilltier = Drillables
|
||||||
@@ -899,6 +954,8 @@ ability.statusfield = {0} Status Field
|
|||||||
ability.unitspawn = {0} Factory
|
ability.unitspawn = {0} Factory
|
||||||
ability.shieldregenfield = Shield Regen Field
|
ability.shieldregenfield = Shield Regen Field
|
||||||
ability.movelightning = Movement Lightning
|
ability.movelightning = Movement Lightning
|
||||||
|
ability.shieldarc = Shield Arc
|
||||||
|
ability.suppressionfield = Repair Suppression Field
|
||||||
ability.energyfield = Energy Field: [accent]{0}[] damage ~ [accent]{1}[] blocks / [accent]{2}[] targets
|
ability.energyfield = Energy Field: [accent]{0}[] damage ~ [accent]{1}[] blocks / [accent]{2}[] targets
|
||||||
|
|
||||||
bar.onlycoredeposit = Only Core Depositing Allowed
|
bar.onlycoredeposit = Only Core Depositing Allowed
|
||||||
@@ -935,10 +992,12 @@ bar.strength = [stat]{0}[lightgray]x strength
|
|||||||
units.processorcontrol = [lightgray]Processor Controlled
|
units.processorcontrol = [lightgray]Processor Controlled
|
||||||
|
|
||||||
bullet.damage = [stat]{0}[lightgray] damage
|
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.armorpierce = [stat]armor piercing
|
bullet.armorpierce = [stat]armor piercing
|
||||||
|
bullet.suppression = [stat]{0}[lightgray] seconds of repair suppression ~ [stat]{1}[lightgray] tiles
|
||||||
|
bullet.interval = [stat]{0}/sec[lightgray] interval bullets:
|
||||||
bullet.frags = [stat]{0}[lightgray]x frag bullets:
|
bullet.frags = [stat]{0}[lightgray]x frag bullets:
|
||||||
bullet.lightning = [stat]{0}[lightgray]x lightning ~ [stat]{1}[lightgray] damage
|
bullet.lightning = [stat]{0}[lightgray]x lightning ~ [stat]{1}[lightgray] damage
|
||||||
bullet.buildingdamage = [stat]{0}%[lightgray] building damage
|
bullet.buildingdamage = [stat]{0}%[lightgray] building damage
|
||||||
@@ -948,7 +1007,7 @@ bullet.infinitepierce = [stat]pierce
|
|||||||
bullet.healpercent = [stat]{0}[lightgray]% repair
|
bullet.healpercent = [stat]{0}[lightgray]% repair
|
||||||
bullet.healamount = [stat]{0}[lightgray] direct repair
|
bullet.healamount = [stat]{0}[lightgray] direct repair
|
||||||
bullet.multiplier = [stat]{0}[lightgray]x ammo multiplier
|
bullet.multiplier = [stat]{0}[lightgray]x ammo multiplier
|
||||||
bullet.reload = [stat]{0}[lightgray]x fire rate
|
bullet.reload = [stat]{0}%[lightgray] fire rate
|
||||||
bullet.range = [stat]{0}[lightgray] tiles range
|
bullet.range = [stat]{0}[lightgray] tiles range
|
||||||
|
|
||||||
unit.blocks = blocks
|
unit.blocks = blocks
|
||||||
@@ -1052,8 +1111,8 @@ setting.bridgeopacity.name = Bridge Opacity
|
|||||||
setting.playerchat.name = Display Player Bubble Chat
|
setting.playerchat.name = Display Player Bubble Chat
|
||||||
setting.showweather.name = Show Weather Graphics
|
setting.showweather.name = Show Weather Graphics
|
||||||
setting.hidedisplays.name = Hide Logic Displays
|
setting.hidedisplays.name = Hide Logic Displays
|
||||||
public.confirm = Do you want to make your game public?\n[accent]Anyone will be able to join your games.\n[lightgray]This can be changed later in Settings->Game->Public Game Visibility.
|
steam.friendsonly = Friends Only
|
||||||
public.confirm.really = If you want to play with friends, use [green]Invite Friend[] instead of a [scarlet]Public server[]!\nAre you sure you want to make your game [scarlet]public[]?
|
steam.friendsonly.tooltip = Whether only Steam friends will be able to join your game.\nUnchecking this box will make your game public - anyone can join.
|
||||||
public.beta = Note that beta versions of the game cannot make public lobbies.
|
public.beta = Note that beta versions of the game cannot make public lobbies.
|
||||||
uiscale.reset = UI scale has been changed.\nPress "OK" to confirm this scale.\n[scarlet]Reverting and exiting in[accent] {0}[] seconds...
|
uiscale.reset = UI scale has been changed.\nPress "OK" to confirm this scale.\n[scarlet]Reverting and exiting in[accent] {0}[] seconds...
|
||||||
uiscale.cancel = Cancel & Exit
|
uiscale.cancel = Cancel & Exit
|
||||||
@@ -1079,6 +1138,7 @@ keybind.mouse_move.name = Follow Mouse
|
|||||||
keybind.pan.name = Pan View
|
keybind.pan.name = Pan View
|
||||||
keybind.boost.name = Boost
|
keybind.boost.name = Boost
|
||||||
keybind.command_mode.name = Command Mode
|
keybind.command_mode.name = Command Mode
|
||||||
|
keybind.rebuild_select.name = Rebuild Region
|
||||||
keybind.schematic_select.name = Select Region
|
keybind.schematic_select.name = Select Region
|
||||||
keybind.schematic_menu.name = Schematic Menu
|
keybind.schematic_menu.name = Schematic Menu
|
||||||
keybind.schematic_flip_x.name = Flip Schematic X
|
keybind.schematic_flip_x.name = Flip Schematic X
|
||||||
@@ -1104,6 +1164,8 @@ keybind.select.name = Select/Shoot
|
|||||||
keybind.diagonal_placement.name = Diagonal Placement
|
keybind.diagonal_placement.name = Diagonal Placement
|
||||||
keybind.pick.name = Pick Block
|
keybind.pick.name = Pick Block
|
||||||
keybind.break_block.name = Break Block
|
keybind.break_block.name = Break Block
|
||||||
|
keybind.select_all_units.name = Select All Units
|
||||||
|
keybind.select_all_unit_factories.name = Select All Unit Factories
|
||||||
keybind.deselect.name = Deselect
|
keybind.deselect.name = Deselect
|
||||||
keybind.pickupCargo.name = Pickup Cargo
|
keybind.pickupCargo.name = Pickup Cargo
|
||||||
keybind.dropCargo.name = Drop Cargo
|
keybind.dropCargo.name = Drop Cargo
|
||||||
@@ -1147,9 +1209,10 @@ rules.coreincinerates = Core Incinerates Overflow
|
|||||||
rules.disableworldprocessors = Disable World Processors
|
rules.disableworldprocessors = Disable World Processors
|
||||||
rules.schematic = Schematics Allowed
|
rules.schematic = Schematics Allowed
|
||||||
rules.wavetimer = Wave Timer
|
rules.wavetimer = Wave Timer
|
||||||
|
rules.wavesending = Wave Sending
|
||||||
rules.waves = Waves
|
rules.waves = Waves
|
||||||
rules.attack = Attack Mode
|
rules.attack = Attack Mode
|
||||||
rules.rtsai = RTS AI
|
rules.rtsai = RTS AI [red](WIP)
|
||||||
rules.rtsminsquadsize = Min Squad Size
|
rules.rtsminsquadsize = Min Squad Size
|
||||||
rules.rtsmaxsquadsize = Max Squad Size
|
rules.rtsmaxsquadsize = Max Squad Size
|
||||||
rules.rtsminattackweight = Min Attack Weight
|
rules.rtsminattackweight = Min Attack Weight
|
||||||
@@ -1157,12 +1220,14 @@ 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.placerangecheck = Placement Range Check
|
rules.placerangecheck = Placement Range Check
|
||||||
rules.enemyCheat = Infinite AI (Red Team) Resources
|
rules.enemyCheat = Infinite Enemy Team Resources
|
||||||
rules.blockhealthmultiplier = Block Health Multiplier
|
rules.blockhealthmultiplier = Block Health Multiplier
|
||||||
rules.blockdamagemultiplier = Block Damage Multiplier
|
rules.blockdamagemultiplier = Block Damage Multiplier
|
||||||
rules.unitbuildspeedmultiplier = Unit Production Speed Multiplier
|
rules.unitbuildspeedmultiplier = Unit Production Speed Multiplier
|
||||||
|
rules.unitcostmultiplier = Unit Cost Multiplier
|
||||||
rules.unithealthmultiplier = Unit Health Multiplier
|
rules.unithealthmultiplier = Unit Health Multiplier
|
||||||
rules.unitdamagemultiplier = Unit Damage Multiplier
|
rules.unitdamagemultiplier = Unit Damage Multiplier
|
||||||
|
rules.unitcrashdamagemultiplier = Unit Crash Damage Multiplier
|
||||||
rules.solarmultiplier = Solar Power Multiplier
|
rules.solarmultiplier = Solar Power Multiplier
|
||||||
rules.unitcapvariable = Cores Contribute To Unit Cap
|
rules.unitcapvariable = Cores Contribute To Unit Cap
|
||||||
rules.unitcap = Base Unit Cap
|
rules.unitcap = Base Unit Cap
|
||||||
@@ -1174,8 +1239,9 @@ rules.buildcostmultiplier = Build Cost Multiplier
|
|||||||
rules.buildspeedmultiplier = Build Speed Multiplier
|
rules.buildspeedmultiplier = Build Speed Multiplier
|
||||||
rules.deconstructrefundmultiplier = Deconstruct Refund Multiplier
|
rules.deconstructrefundmultiplier = Deconstruct Refund Multiplier
|
||||||
rules.waitForWaveToEnd = Waves Wait for Enemies
|
rules.waitForWaveToEnd = Waves Wait for Enemies
|
||||||
|
rules.wavelimit = Map Ends After Wave
|
||||||
rules.dropzoneradius = Drop Zone Radius:[lightgray] (tiles)
|
rules.dropzoneradius = Drop Zone Radius:[lightgray] (tiles)
|
||||||
rules.unitammo = Units Require Ammo
|
rules.unitammo = Units Require Ammo [red](may be removed)
|
||||||
rules.enemyteam = Enemy Team
|
rules.enemyteam = Enemy Team
|
||||||
rules.playerteam = Player Team
|
rules.playerteam = Player Team
|
||||||
rules.title.waves = Waves
|
rules.title.waves = Waves
|
||||||
@@ -1415,6 +1481,8 @@ block.distributor.name = Distributor
|
|||||||
block.sorter.name = Sorter
|
block.sorter.name = Sorter
|
||||||
block.inverted-sorter.name = Inverted Sorter
|
block.inverted-sorter.name = Inverted Sorter
|
||||||
block.message.name = Message
|
block.message.name = Message
|
||||||
|
block.reinforced-message.name = Reinforced Message
|
||||||
|
block.world-message.name = World Message
|
||||||
block.illuminator.name = Illuminator
|
block.illuminator.name = Illuminator
|
||||||
block.overflow-gate.name = Overflow Gate
|
block.overflow-gate.name = Overflow Gate
|
||||||
block.underflow-gate.name = Underflow Gate
|
block.underflow-gate.name = Underflow Gate
|
||||||
@@ -1511,7 +1579,7 @@ block.payload-router.name = Payload Router
|
|||||||
block.duct.name = Duct
|
block.duct.name = Duct
|
||||||
block.duct-router.name = Duct Router
|
block.duct-router.name = Duct Router
|
||||||
block.duct-bridge.name = Duct Bridge
|
block.duct-bridge.name = Duct Bridge
|
||||||
block.payload-propulsion-tower.name = Payload Propulsion Tower
|
block.large-payload-mass-driver.name = Large Payload Mass Driver
|
||||||
block.payload-void.name = Payload Void
|
block.payload-void.name = Payload Void
|
||||||
block.payload-source.name = Payload Source
|
block.payload-source.name = Payload Source
|
||||||
block.disassembler.name = Disassembler
|
block.disassembler.name = Disassembler
|
||||||
@@ -1522,7 +1590,7 @@ block.constructor.name = Constructor
|
|||||||
block.constructor.description = Fabricates structures up to 2x2 tiles in size.
|
block.constructor.description = Fabricates structures up to 2x2 tiles in size.
|
||||||
block.large-constructor.name = Large Constructor
|
block.large-constructor.name = Large Constructor
|
||||||
block.large-constructor.description = Fabricates structures up to 4x4 tiles in size.
|
block.large-constructor.description = Fabricates structures up to 4x4 tiles in size.
|
||||||
block.deconstructor.name = Deconstructor
|
block.deconstructor.name = Large Deconstructor
|
||||||
block.deconstructor.description = Deconstructs structures and units. Returns 100% of build cost.
|
block.deconstructor.description = Deconstructs structures and units. Returns 100% of build cost.
|
||||||
block.payload-loader.name = Payload Loader
|
block.payload-loader.name = Payload Loader
|
||||||
block.payload-loader.description = Load liquids and items into blocks.
|
block.payload-loader.description = Load liquids and items into blocks.
|
||||||
@@ -1554,6 +1622,7 @@ block.carbon-vent.name = Carbon Vent
|
|||||||
block.arkyic-vent.name = Arkyic Vent
|
block.arkyic-vent.name = Arkyic Vent
|
||||||
block.yellow-stone-vent.name = Yellow Stone Vent
|
block.yellow-stone-vent.name = Yellow Stone Vent
|
||||||
block.red-stone-vent.name = Red Stone Vent
|
block.red-stone-vent.name = Red Stone Vent
|
||||||
|
block.crystalline-vent.name = Crystalline Vent
|
||||||
block.redmat.name = Redmat
|
block.redmat.name = Redmat
|
||||||
block.bluemat.name = Bluemat
|
block.bluemat.name = Bluemat
|
||||||
block.core-zone.name = Core Zone
|
block.core-zone.name = Core Zone
|
||||||
@@ -1593,6 +1662,7 @@ block.electric-heater.name = Electric Heater
|
|||||||
block.slag-heater.name = Slag Heater
|
block.slag-heater.name = Slag Heater
|
||||||
block.phase-heater.name = Phase Heater
|
block.phase-heater.name = Phase Heater
|
||||||
block.heat-redirector.name = Heat Redirector
|
block.heat-redirector.name = Heat Redirector
|
||||||
|
block.heat-router.name = Heat Router
|
||||||
block.slag-incinerator.name = Slag Incinerator
|
block.slag-incinerator.name = Slag Incinerator
|
||||||
block.carbide-crucible.name = Carbide Crucible
|
block.carbide-crucible.name = Carbide Crucible
|
||||||
block.slag-centrifuge.name = Slag Centrifuge
|
block.slag-centrifuge.name = Slag Centrifuge
|
||||||
@@ -1665,11 +1735,10 @@ block.mech-assembler.name = Mech Assembler
|
|||||||
block.reinforced-payload-conveyor.name = Reinforced Payload Conveyor
|
block.reinforced-payload-conveyor.name = Reinforced Payload Conveyor
|
||||||
block.reinforced-payload-router.name = Reinforced Payload Router
|
block.reinforced-payload-router.name = Reinforced Payload Router
|
||||||
block.payload-mass-driver.name = Payload Mass Driver
|
block.payload-mass-driver.name = Payload Mass Driver
|
||||||
block.small-deconstructor.name = Small Deconstructor
|
block.small-deconstructor.name = Deconstructor
|
||||||
block.canvas.name = Canvas
|
block.canvas.name = Canvas
|
||||||
block.world-processor.name = World Processor
|
block.world-processor.name = World Processor
|
||||||
block.world-cell.name = World Cell
|
block.world-cell.name = World Cell
|
||||||
block.shield-breaker.name = Shield Breaker (temp name/sprite)
|
|
||||||
block.tank-fabricator.name = Tank Fabricator
|
block.tank-fabricator.name = Tank Fabricator
|
||||||
block.mech-fabricator.name = Mech Fabricator
|
block.mech-fabricator.name = Mech Fabricator
|
||||||
block.ship-fabricator.name = Ship Fabricator
|
block.ship-fabricator.name = Ship Fabricator
|
||||||
@@ -1701,28 +1770,26 @@ team.blue.name = Blue
|
|||||||
hint.skip = Skip
|
hint.skip = Skip
|
||||||
hint.desktopMove = Use [accent][[WASD][] to move.
|
hint.desktopMove = Use [accent][[WASD][] to move.
|
||||||
hint.zoom = [accent]Scroll[] to zoom in or out.
|
hint.zoom = [accent]Scroll[] to zoom in or out.
|
||||||
hint.mine = Move near the \uF8C4 copper ore and [accent]tap[] it to mine manually.
|
|
||||||
hint.desktopShoot = [accent][[Left-click][] to shoot.
|
hint.desktopShoot = [accent][[Left-click][] to shoot.
|
||||||
hint.depositItems = To transfer items, drag from your ship to the core.
|
hint.depositItems = To transfer items, drag from your ship to the core.
|
||||||
hint.respawn = To respawn as a ship, press [accent][[V][].
|
hint.respawn = To respawn as a ship, press [accent][[V][].
|
||||||
hint.respawn.mobile = You have switched control to a unit/structure. To respawn as a ship, [accent]tap the avatar in the top left.[]
|
hint.respawn.mobile = You have switched control to a unit/structure. To respawn as a ship, [accent]tap the avatar in the top left.[]
|
||||||
hint.desktopPause = Press [accent][[Space][] to pause and unpause the game.
|
hint.desktopPause = Press [accent][[Space][] to pause and unpause the game.
|
||||||
hint.placeDrill = Select the \uE85E [accent]Drill[] tab in the menu at the bottom right, then select a \uF870 [accent]Drill[] and click on a copper patch to place it.
|
|
||||||
hint.placeDrill.mobile = Select the \uE85E [accent]Drill[] tab in the menu at the bottom right, then select a \uF870 [accent]Drill[] and tap on a copper patch to place it.\n\nPress the \uE800 [accent]checkmark[] at the bottom right to confirm.
|
|
||||||
hint.placeConveyor = Conveyors move items from drills into other blocks. Select a \uF896 [accent]Conveyor[] from the \uE814 [accent]Distribution[] tab.\n\nClick and drag to place multiple conveyors.\n[accent]Scroll[] to rotate.
|
|
||||||
hint.placeConveyor.mobile = Conveyors move items from drills into other blocks. Select a \uF896 [accent]Conveyor[] from the \uE814 [accent]Distribution[] tab.\n\nHold down your finger for a second and drag to place multiple conveyors.
|
|
||||||
hint.placeTurret = Place \uF861 [accent]Turrets[] to defend your base from enemies.\n\nTurrets require ammo - in this case, \uF838copper.\nUse conveyors and drills to supply them.
|
|
||||||
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.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 manually control friendly units or turrets.
|
||||||
hint.unitControl.mobile = [accent][[Double-tap][] to control friendly units or turrets.
|
hint.unitControl.mobile = [accent][[Double-tap][] to manually control friendly units or turrets.
|
||||||
|
hint.unitSelectControl = To control units, enter [accent]command mode[] by holding [accent]L-shift.[]\nWhile in command mode, click and drag to select units. [accent]Right-click[] a location or target to command units there.
|
||||||
|
hint.unitSelectControl.mobile = To control units, enter [accent]command mode[] by pressing the [accent]command[] button in the bottom left.\nWhile in command mode, long-press and drag to select units. Tap a location or target to command units there.
|
||||||
hint.launch = Once enough resources are collected, you can [accent]Launch[] by selecting nearby sectors from the \uE827 [accent]Map[] in the bottom right.
|
hint.launch = Once enough resources are collected, you can [accent]Launch[] by selecting nearby sectors from the \uE827 [accent]Map[] in the bottom right.
|
||||||
hint.launch.mobile = Once enough resources are collected, you can [accent]Launch[] by selecting nearby sectors from the \uE827 [accent]Map[] in the \uE88C [accent]Menu[].
|
hint.launch.mobile = Once enough resources are collected, you can [accent]Launch[] by selecting nearby sectors from the \uE827 [accent]Map[] in the \uE88C [accent]Menu[].
|
||||||
hint.schematicSelect = Hold [accent][[F][] and drag to select blocks to copy and paste.\n\n[accent][[Middle Click][] to copy a single block type.
|
hint.schematicSelect = Hold [accent][[F][] and drag to select blocks to copy and paste.\n\n[accent][[Middle Click][] to copy a single block type.
|
||||||
|
hint.rebuildSelect = Hold [accent][[B][] and drag to select destroyed block plans.\nThis will rebuild them automatically.
|
||||||
|
hint.rebuildSelect.mobile = Select the \ue874 copy button, then tap the \ue80f rebuild button and drag to select destroyed block plans.\nThis will rebuild them automatically.
|
||||||
hint.conveyorPathfind = Hold [accent][[L-Ctrl][] while dragging conveyors to automatically generate a path.
|
hint.conveyorPathfind = Hold [accent][[L-Ctrl][] while dragging conveyors to automatically generate a path.
|
||||||
hint.conveyorPathfind.mobile = Enable \uE844 [accent]diagonal mode[] and drag conveyors to automatically generate a path.
|
hint.conveyorPathfind.mobile = Enable \uE844 [accent]diagonal mode[] and drag conveyors to automatically generate a path.
|
||||||
hint.boost = Hold [accent][[L-Shift][] to fly over obstacles with your current unit.\n\nOnly a few ground units have boosters.
|
hint.boost = Hold [accent][[L-Shift][] to fly over obstacles with your current unit.\n\nOnly a few ground units have boosters.
|
||||||
@@ -1733,14 +1800,62 @@ hint.payloadDrop.mobile = [accent]Tap and hold[] an empty location to drop a pay
|
|||||||
hint.waveFire = [accent]Wave[] turrets with water as ammunition will automatically put out nearby fires.
|
hint.waveFire = [accent]Wave[] turrets with water as ammunition will automatically put out nearby fires.
|
||||||
hint.generator = \uF879 [accent]Combustion Generators[] burn coal and transmit power to adjacent blocks.\n\nPower transmission range can be extended with \uF87F [accent]Power Nodes[].
|
hint.generator = \uF879 [accent]Combustion Generators[] burn coal and transmit power to adjacent blocks.\n\nPower transmission range can be extended with \uF87F [accent]Power Nodes[].
|
||||||
hint.guardian = [accent]Guardian[] units are armored. Weak ammo such as [accent]Copper[] and [accent]Lead[] is [scarlet]not effective[].\n\nUse higher tier turrets or \uF835 [accent]Graphite[] \uF861Duo/\uF859Salvo ammunition to take Guardians down.
|
hint.guardian = [accent]Guardian[] units are armored. Weak ammo such as [accent]Copper[] and [accent]Lead[] is [scarlet]not effective[].\n\nUse higher tier turrets or \uF835 [accent]Graphite[] \uF861Duo/\uF859Salvo ammunition to take Guardians down.
|
||||||
hint.coreUpgrade = Cores can be upgraded by [accent]placing higher-tier cores over them[].\n\nPlace a \u00EF\u00A1\u00A8 [accent]Foundation[] core over the \u00EF\u00A1\u00A9 [accent]Shard[] core. Make sure it is free from nearby obstructions.
|
hint.coreUpgrade = Cores can be upgraded by [accent]placing higher-tier cores over them[].\n\nPlace a \uF868 [accent]Foundation[] core over the \uF869 [accent]Shard[] core. Make sure it is free from nearby obstructions.
|
||||||
hint.presetLaunch = Gray [accent]landing zone sectors[], such as [accent]Frozen Forest[], can be launched to from anywhere. They do not require capture of nearby territory.\n\n[accent]Numbered sectors[], such as this one, are [accent]optional[].
|
hint.presetLaunch = Gray [accent]landing zone sectors[], such as [accent]Frozen Forest[], can be launched to from anywhere. They do not require capture of nearby territory.\n\n[accent]Numbered sectors[], such as this one, are [accent]optional[].
|
||||||
hint.presetDifficulty = This sector has a [scarlet]high enemy threat level[].\nLaunching to such sectors is [accent]not recommended[] without proper technology and preparation.
|
hint.presetDifficulty = This sector has a [scarlet]high enemy threat level[].\nLaunching to such sectors is [accent]not recommended[] without proper technology and preparation.
|
||||||
hint.coreIncinerate = After the core is filled to capacity with an item, any extra items of that type it receives will be [accent]incinerated[].
|
hint.coreIncinerate = After the core is filled to capacity with an item, any extra items of that type it receives will be [accent]incinerated[].
|
||||||
hint.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.factoryControl = To set a unit factory's [accent]output destination[], click a factory block while in command mode, then right-click a location.\nUnits produced by it will automatically move there.
|
hint.factoryControl = To set a unit factory's [accent]output destination[], click a factory block while in command mode, then right-click a location.\nUnits produced by it will automatically move there.
|
||||||
hint.factoryControl.mobile = To set a unit factory's [accent]output destination[], tap a factory block while in command mode, then tap a location.\nUnits produced by it will automatically move there.
|
hint.factoryControl.mobile = To set a unit factory's [accent]output destination[], tap a factory block while in command mode, then tap a location.\nUnits produced by it will automatically move there.
|
||||||
|
|
||||||
|
gz.mine = Move near the \uF8C4 [accent]copper ore[] on the ground and click to begin mining.
|
||||||
|
gz.mine.mobile = Move near the \uF8C4 [accent]copper ore[] on the ground and tap it to begin mining.
|
||||||
|
gz.research = Open the \uE875 tech tree.\nResearch the \uF870 [accent]Mechanical Drill[], then select it from the menu in the bottom right.\nClick on a copper patch to place it.
|
||||||
|
gz.research.mobile = Open the \uE875 tech tree.\nResearch the \uF870 [accent]Mechanical Drill[], then select it from the menu in the bottom right.\nTap on a copper patch to place it.\n\nPress the \uE800 [accent]checkmark[] at the bottom right to confirm.
|
||||||
|
gz.conveyors = Research and place \uF896 [accent]conveyors[] to move the mined resources\nfrom drills to the core.\n\nClick and drag to place multiple conveyors.\n[accent]Scroll[] to rotate.
|
||||||
|
gz.conveyors.mobile = Research and place \uF896 [accent]conveyors[] to move the mined resources\nfrom drills to the core.\n\nHold down your finger for a second and drag to place multiple conveyors.
|
||||||
|
gz.drills = Expand the mining operation.\nPlace more Mechanical Drills.\nMine 100 copper.
|
||||||
|
gz.lead = \uF837 [accent]Lead[] is another commonly used resource.\nSet up drills to mine lead.
|
||||||
|
gz.moveup = \uE804 Move up for further objectives.
|
||||||
|
gz.turrets = Research and place 2 \uF861 [accent]Duo[] turrets to defend the core.\nDuo turrets require \uF838 [accent]ammo[] from conveyors.
|
||||||
|
gz.duoammo = Supply the Duo turrets with [accent]copper[], using conveyors.
|
||||||
|
gz.walls = [accent]Walls[] can prevent oncoming damage from reaching buildings.\nPlace \uF8AE [accent]copper walls[] around the turrets.
|
||||||
|
gz.defend = Enemy incoming, prepare to defend.
|
||||||
|
gz.aa = Flying units cannot easily be dispatched with standard turrets.\n\uF860 [accent]Scatter[] turrets provide excellent anti-air, but require \uF837 [accent]lead[] as ammo.
|
||||||
|
gz.scatterammo = Supply the Scatter turret with \uF837 [accent]lead[], using conveyors.
|
||||||
|
gz.supplyturret = [accent]Supply Turret
|
||||||
|
gz.zone1 = This is the enemy drop zone.
|
||||||
|
gz.zone2 = Anything built in the radius is destroyed when a wave starts.
|
||||||
|
gz.zone3 = A wave will begin now.\nGet ready.
|
||||||
|
gz.finish = Build more turrets, mine more resources,\nand defend against all the waves to [accent]capture the sector[].
|
||||||
|
|
||||||
|
onset.mine = Click to mine \uF748 [accent]beryllium[] from walls.\n\nUse [accent][[WASD] to move.
|
||||||
|
onset.mine.mobile = Tap to mine \uF748 [accent]beryllium[] from walls.
|
||||||
|
onset.research = Open the \uE875 tech tree.\nResearch, then place a \uF73E [accent]turbine condenser[] on the vent.\nThis will generate [accent]power[].
|
||||||
|
onset.bore = Research and place a \uF741 [accent]plasma bore[].\nThis automatically mines resources from walls.
|
||||||
|
onset.power = To [accent]power[] the plasma bore, research and place a \uF73D [accent]beam node[].\nConnect the turbine condenser to the plasma bore.
|
||||||
|
onset.ducts = Research and place \uF799 [accent]ducts[] to move the mined resources from the plasma bore to the core.\nClick and drag to place multiple ducts.\n[accent]Scroll[] to rotate.
|
||||||
|
onset.ducts.mobile = Research and place \uF799 [accent]ducts[] to move the mined resources from the plasma bore to the core.\n\nHold down your finger for a second and drag to place multiple ducts.
|
||||||
|
onset.moremine = Expand the mining operation.\nPlace more Plasma Bores and use beam nodes and ducts to support them.\nMine 200 beryllium.
|
||||||
|
onset.graphite = More complex blocks require \uF835 [accent]graphite[].\nSet up plasma bores to mine graphite.
|
||||||
|
onset.research2 = Begin researching [accent]factories[].\nResearch the \uF74D [accent]cliff crusher[] and \uF779 [accent]silicon arc furnace[].
|
||||||
|
onset.arcfurnace = The arc furnace needs \uF834 [accent]sand[] and \uF835 [accent]graphite[] to create \uF82F [accent]silicon[].\n[accent]Power[] is also required.
|
||||||
|
onset.crusher = Use \uF74D [accent]cliff crushers[] to mine sand.
|
||||||
|
onset.fabricator = Use [accent]units[] to explore the map, defend buildings, and attack the enemy. Research and place a \uF6A2 [accent]tank fabricator[].
|
||||||
|
onset.makeunit = Produce a unit.\nUse the "?" button to see selected factory requirements.
|
||||||
|
onset.turrets = Units are effective, but [accent]turrets[] provide better defensive capabilities if used effectively.\nPlace a \uF6EB [accent]Breach[] turret.\nTurrets require \uF748 [accent]ammo[].
|
||||||
|
onset.turretammo = Supply the turret with [accent]beryllium ammo.[]
|
||||||
|
onset.walls = [accent]Walls[] can prevent oncoming damage from reaching buildings.\nPlace some \uF6EE [accent]beryllium walls[] around the turret.
|
||||||
|
onset.enemies = Enemy incoming, prepare to defend.
|
||||||
|
onset.attack = The enemy is vulnerable. Counter-attack.
|
||||||
|
onset.cores = New cores can be placed on [accent]core tiles[].\nNew cores function as forward bases and share a resource inventory with other cores.\nPlace a \uF725 core.
|
||||||
|
onset.detect = The enemy will be able to detect you in 2 minutes.\nSet up defenses, mining, and production.
|
||||||
|
|
||||||
|
split.pickup = Some blocks can be picked up by the core unit.\nPick up this [accent]container[] and place it onto the [accent]payload loader[].\n(Default keys are [[ and ] to pick up and drop)
|
||||||
|
split.pickup.mobile = Some blocks can be picked up by the core unit.\nPick up this [accent]container[] and place it onto the [accent]payload loader[].\n(To pick up or drop something, long-press it.)
|
||||||
|
split.acquire = You must acquire some tungsten to build units.
|
||||||
|
split.build = Units must be transported to the other side of the wall.\nPlace two [accent]Payload Mass Drivers[], one on each side of the wall.\nSet up the link by pressing one of them, then selecting the other.
|
||||||
|
split.container = Similar to the container, units can also be transported using a [accent]Payload Mass Driver[].\nPlace a unit fabricator adjacent to a mass driver to load them, then send them across the wall to attack the enemy base.
|
||||||
|
|
||||||
item.copper.description = Used in all types of construction and ammunition.
|
item.copper.description = Used in all types of construction and ammunition.
|
||||||
item.copper.details = Copper. Abnormally abundant metal on Serpulo. Structurally weak unless reinforced.
|
item.copper.details = Copper. Abnormally abundant metal on Serpulo. Structurally weak unless reinforced.
|
||||||
item.lead.description = Used in liquid transportation and electrical structures.
|
item.lead.description = Used in liquid transportation and electrical structures.
|
||||||
@@ -1787,6 +1902,8 @@ block.derelict = \uF77E [lightgray]Derelict
|
|||||||
block.armored-conveyor.description = Moves items forward. Does not accept non-conveyor inputs from the sides.
|
block.armored-conveyor.description = Moves items forward. Does not accept non-conveyor 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.
|
||||||
|
block.reinforced-message.description = Stores a message for communication between allies.
|
||||||
|
block.world-message.description = A message block for use in mapmaking. Cannot be destroyed.
|
||||||
block.graphite-press.description = Compresses coal into graphite.
|
block.graphite-press.description = Compresses coal into graphite.
|
||||||
block.multi-press.description = Compresses coal into graphite. Requires water as coolant.
|
block.multi-press.description = Compresses coal into graphite. Requires water as coolant.
|
||||||
block.silicon-smelter.description = Refines silicon from sand and coal.
|
block.silicon-smelter.description = Refines silicon from sand and coal.
|
||||||
@@ -1953,7 +2070,8 @@ block.electric-heater.description = Applies heat to structures. Requires large a
|
|||||||
block.slag-heater.description = Applies heat to structures. Requires slag.
|
block.slag-heater.description = Applies heat to structures. Requires slag.
|
||||||
block.phase-heater.description = Applies heat to structures. Requires phase fabric.
|
block.phase-heater.description = Applies heat to structures. Requires phase fabric.
|
||||||
block.heat-redirector.description = Redirects accumulated heat to other blocks.
|
block.heat-redirector.description = Redirects accumulated heat to other blocks.
|
||||||
block.electrolyzer.description = Converts water into hydrogen and ozone gas.
|
block.heat-router.description = Spreads accumulated heat in three output directions.
|
||||||
|
block.electrolyzer.description = Converts water into hydrogen and ozone gas. Outputs resulting gases in two opposite directions, marked by corresponding colors.
|
||||||
block.atmospheric-concentrator.description = Concentrates nitrogen from the atmosphere. Requires heat.
|
block.atmospheric-concentrator.description = Concentrates nitrogen from the atmosphere. Requires heat.
|
||||||
block.surge-crucible.description = Forms surge alloy from slag and silicon. Requires heat.
|
block.surge-crucible.description = Forms surge alloy from slag and silicon. Requires heat.
|
||||||
block.phase-synthesizer.description = Synthesizes phase fabric from thorium, sand, and ozone. Requires heat.
|
block.phase-synthesizer.description = Synthesizes phase fabric from thorium, sand, and ozone. Requires heat.
|
||||||
@@ -1961,8 +2079,8 @@ block.carbide-crucible.description = Fuses graphite and tungsten into carbide. R
|
|||||||
block.cyanogen-synthesizer.description = Synthesizes cyanogen from arkycite and graphite. Requires heat.
|
block.cyanogen-synthesizer.description = Synthesizes cyanogen from arkycite and graphite. Requires heat.
|
||||||
block.slag-incinerator.description = Incinerates non-volatile items or liquids. Requires slag.
|
block.slag-incinerator.description = Incinerates non-volatile items or liquids. Requires slag.
|
||||||
block.vent-condenser.description = Condenses vent gases into water. Consumes power.
|
block.vent-condenser.description = Condenses vent gases into water. Consumes power.
|
||||||
block.plasma-bore.description = When placed facing an ore wall, outputs items indefinitely. Requires small amounts of power.
|
block.plasma-bore.description = When placed facing an ore wall, outputs items indefinitely. Requires small amounts of power.\nOptionally uses hydrogen to boost efficiency.
|
||||||
block.large-plasma-bore.description = A larger plasma bore. Capable of mining tungsten and thorium. Requires hydrogen and power.
|
block.large-plasma-bore.description = A larger plasma bore. Capable of mining tungsten and thorium. Requires hydrogen and power.\nOptionally uses nitrogen to boost efficiency.
|
||||||
block.cliff-crusher.description = Crushes walls, outputting sand indefinitely. Requires power. Efficiency varies based on type of wall.
|
block.cliff-crusher.description = Crushes walls, outputting sand indefinitely. Requires power. Efficiency varies based on type of wall.
|
||||||
block.impact-drill.description = When placed on ore, outputs items in bursts indefinitely. Requires power and water.
|
block.impact-drill.description = When placed on ore, outputs items in bursts indefinitely. Requires power and water.
|
||||||
block.eruption-drill.description = An improved impact drill. Capable of mining thorium. Requires hydrogen.
|
block.eruption-drill.description = An improved impact drill. Capable of mining thorium. Requires hydrogen.
|
||||||
@@ -1979,9 +2097,9 @@ block.tungsten-wall.description = Protects structures from enemy projectiles.
|
|||||||
block.tungsten-wall-large.description = Protects structures from enemy projectiles.
|
block.tungsten-wall-large.description = Protects structures from enemy projectiles.
|
||||||
block.carbide-wall.description = Protects structures from enemy projectiles.
|
block.carbide-wall.description = Protects structures from enemy projectiles.
|
||||||
block.carbide-wall-large.description = Protects structures from enemy projectiles.
|
block.carbide-wall-large.description = Protects structures from enemy projectiles.
|
||||||
block.reinforced-surge-wall.description = Protects structures from enemy projectiles, periodically launching electric arcs upon projectile contact.
|
block.reinforced-surge-wall.description = Protects structures from enemy projectiles, periodically releasing electric arcs upon contact.
|
||||||
block.reinforced-surge-wall-large.description = Protects structures from enemy projectiles, periodically launching electric arcs upon projectile contact.
|
block.reinforced-surge-wall-large.description = Protects structures from enemy projectiles, periodically releasing electric arcs upon contact.
|
||||||
block.shielded-wall.description = Protects structures from enemy projectiles. Deploys a shield that absorbs most projectiles when power is provided. Conducts power.
|
block.shielded-wall.description = Protects structures from enemy projectiles, reflecting most bullets upon impact. Deploys a shield that absorbs most projectiles when power is provided. Conducts power.
|
||||||
block.blast-door.description = A wall that opens when allied ground units are in range. Cannot be manually controlled.
|
block.blast-door.description = A wall that opens when allied ground units are in range. Cannot be manually controlled.
|
||||||
block.duct.description = Moves items forward. Only capable of storing a single item.
|
block.duct.description = Moves items forward. Only capable of storing a single item.
|
||||||
block.armored-duct.description = Moves items forward. Does not accept non-duct inputs from the sides.
|
block.armored-duct.description = Moves items forward. Does not accept non-duct inputs from the sides.
|
||||||
@@ -2003,7 +2121,7 @@ block.pyrolysis-generator.description = Generates large amounts of power from ar
|
|||||||
block.flux-reactor.description = Generates large amounts of power when heated. Requires cyanogen as a stabilizer. Power output and cyanogen requirements are proportional to heat input.\nExplodes if insufficient cyanogen is provided.
|
block.flux-reactor.description = Generates large amounts of power when heated. Requires cyanogen as a stabilizer. Power output and cyanogen requirements are proportional to heat input.\nExplodes if insufficient cyanogen is provided.
|
||||||
block.neoplasia-reactor.description = Uses arkycite, water and phase fabric to generate large amounts of power. Produces heat and dangerous neoplasm as a byproduct.\nExplodes violently if neoplasm is not removed from the reactor via conduits.
|
block.neoplasia-reactor.description = Uses arkycite, water and phase fabric to generate large amounts of power. Produces heat and dangerous neoplasm as a byproduct.\nExplodes violently if neoplasm is not removed from the reactor via conduits.
|
||||||
block.build-tower.description = Automatically rebuilds structures in range and assists other units in construction.
|
block.build-tower.description = Automatically rebuilds structures in range and assists other units in construction.
|
||||||
block.regen-projector.description = Slowly repairs allied structures in a square perimeter. Requires hydrogen.
|
block.regen-projector.description = Slowly repairs allied structures in a square perimeter. Requires hydrogen.\nOptionally uses phase fabric to boost efficiency.
|
||||||
block.reinforced-container.description = Stores a small amount of items. Contents can be retrieved via unloaders. Does not increase core storage capacity.
|
block.reinforced-container.description = Stores a small amount of items. Contents can be retrieved via unloaders. Does not increase core storage capacity.
|
||||||
block.reinforced-vault.description = Stores a large amount of items. Contents can be retrieved via unloaders. Does not increase core storage capacity.
|
block.reinforced-vault.description = Stores a large amount of items. Contents can be retrieved via unloaders. Does not increase core storage capacity.
|
||||||
block.tank-fabricator.description = Constructs Stell units. Outputted units can be used directly, or moved into refabricators for upgrading.
|
block.tank-fabricator.description = Constructs Stell units. Outputted units can be used directly, or moved into refabricators for upgrading.
|
||||||
@@ -2021,9 +2139,11 @@ block.small-deconstructor.description = Deconstructs inputted structures and uni
|
|||||||
block.reinforced-payload-conveyor.description = Moves payloads forward.
|
block.reinforced-payload-conveyor.description = Moves payloads forward.
|
||||||
block.reinforced-payload-router.description = Distributes payloads into adjacent blocks. Functions as a sorter when a filter is set.
|
block.reinforced-payload-router.description = Distributes payloads into adjacent blocks. Functions as a sorter when a filter is set.
|
||||||
block.payload-mass-driver.description = Long-range payload transport structure. Shoots received payloads to linked payload mass drivers.
|
block.payload-mass-driver.description = Long-range payload transport structure. Shoots received payloads to linked payload mass drivers.
|
||||||
|
block.large-payload-mass-driver.description = Long-range payload transport structure. Shoots received payloads to linked payload mass drivers.
|
||||||
block.unit-repair-tower.description = Repairs all units in its vicinity. Requires ozone.
|
block.unit-repair-tower.description = Repairs all units in its vicinity. Requires ozone.
|
||||||
block.radar.description = Gradually uncovers terrain and enemy units in a large radius. Requires power.
|
block.radar.description = Gradually uncovers terrain and enemy units in a large radius. Requires power.
|
||||||
block.shockwave-tower.description = Damages and destroys enemy projectiles in a radius. Requires cyanogen.
|
block.shockwave-tower.description = Damages and destroys enemy projectiles in a radius. Requires cyanogen.
|
||||||
|
block.canvas.description = Displays a simple image with a pre-defined palette. Editable.
|
||||||
|
|
||||||
unit.dagger.description = Fires standard bullets at enemy targets.
|
unit.dagger.description = Fires standard bullets at enemy targets.
|
||||||
unit.mace.description = Fires streams of flame at enemy targets.
|
unit.mace.description = Fires streams of flame at enemy targets.
|
||||||
@@ -2098,6 +2218,7 @@ lst.set = Set a variable.
|
|||||||
lst.operation = Perform an operation on 1-2 variables.
|
lst.operation = Perform an operation on 1-2 variables.
|
||||||
lst.end = Jump to the top of the instruction stack.
|
lst.end = Jump to the top of the instruction stack.
|
||||||
lst.wait = Wait a certain number of seconds.
|
lst.wait = Wait a certain number of seconds.
|
||||||
|
lst.stop = Halt execution of this processor.
|
||||||
lst.lookup = Look up an item/liquid/unit/block type by ID.\nTotal counts of each type can be accessed with:\n[accent]@unitCount[] / [accent]@itemCount[] / [accent]@liquidCount[] / [accent]@blockCount[]
|
lst.lookup = Look up an item/liquid/unit/block type by ID.\nTotal counts of each type can be accessed with:\n[accent]@unitCount[] / [accent]@itemCount[] / [accent]@liquidCount[] / [accent]@blockCount[]
|
||||||
lst.jump = Conditionally jump to another statement.
|
lst.jump = Conditionally jump to another statement.
|
||||||
lst.unitbind = Bind to the next unit of a type, and store it in [accent]@unit[].
|
lst.unitbind = Bind to the next unit of a type, and store it in [accent]@unit[].
|
||||||
@@ -2108,7 +2229,7 @@ lst.getblock = Get tile data at any location.
|
|||||||
lst.setblock = Set tile data at any location.
|
lst.setblock = Set tile data at any location.
|
||||||
lst.spawnunit = Spawn unit at a location.
|
lst.spawnunit = Spawn unit at a location.
|
||||||
lst.applystatus = Apply or clear a status effect from a unit.
|
lst.applystatus = Apply or clear a status effect from a unit.
|
||||||
lst.spawnwave = Simulate a wave being spawned at an arbitrary location.\nWill not increment the wave counter.
|
lst.spawnwave = Spawn a wave.
|
||||||
lst.explosion = Create an explosion at a location.
|
lst.explosion = Create an explosion at a location.
|
||||||
lst.setrate = Set processor execution speed in instructions/tick.
|
lst.setrate = Set processor execution speed in instructions/tick.
|
||||||
lst.fetch = Lookup units, cores, players or buildings by index.\nIndices start at 0 and end at their returned count.
|
lst.fetch = Lookup units, cores, players or buildings by index.\nIndices start at 0 and end at their returned count.
|
||||||
@@ -2118,6 +2239,7 @@ lst.flushmessage = Display a message on the screen from the text buffer.\nWill w
|
|||||||
lst.cutscene = Manipulate the player camera.
|
lst.cutscene = Manipulate the player camera.
|
||||||
lst.setflag = Set a global flag that can be read by all processors.
|
lst.setflag = Set a global flag that can be read by all processors.
|
||||||
lst.getflag = Check if a global flag is set.
|
lst.getflag = Check if a global flag is set.
|
||||||
|
lst.setprop = Sets a property of a unit or building.
|
||||||
|
|
||||||
logic.nounitbuild = [red]Unit building logic is not allowed here.
|
logic.nounitbuild = [red]Unit building logic is not allowed here.
|
||||||
|
|
||||||
@@ -2252,7 +2374,7 @@ lenum.stop = Stop moving/mining/building.
|
|||||||
lenum.unbind = Completely disable logic control.\nResume standard AI.
|
lenum.unbind = Completely disable logic control.\nResume standard AI.
|
||||||
lenum.move = Move to exact position.
|
lenum.move = Move to exact position.
|
||||||
lenum.approach = Approach a position with a radius.
|
lenum.approach = Approach a position with a radius.
|
||||||
lenum.pathfind = Pathfind to the enemy spawn.
|
lenum.pathfind = Pathfind to the specified position.
|
||||||
lenum.target = Shoot a position.
|
lenum.target = Shoot a position.
|
||||||
lenum.targetp = Shoot a target with velocity prediction.
|
lenum.targetp = Shoot a target with velocity prediction.
|
||||||
lenum.itemdrop = Drop an item.
|
lenum.itemdrop = Drop an item.
|
||||||
@@ -2263,7 +2385,7 @@ 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.
|
||||||
lenum.getblock = Fetch a building and type at coordinates.\nUnit must be in range of position.\nSolid non-buildings will have the type [accent]@solid[].
|
lenum.getblock = Fetch a building, floor and type at coordinates.\nUnit must be in range of position.\nSolid non-buildings will have the type [accent]@solid[].
|
||||||
lenum.within = Check if unit is near a position.
|
lenum.within = Check if unit is near a position.
|
||||||
lenum.boost = Start/stop boosting.
|
lenum.boost = Start/stop boosting.
|
||||||
|
|
||||||
|
|||||||