Compare commits
623 Commits
v6.1.0
...
feat/mainc
| Author | SHA1 | Date | |
|---|---|---|---|
|
|
ee566c5fb7 | ||
|
|
40d5bdd560 | ||
|
|
01a2329d18 | ||
|
|
c52cf81b94 | ||
|
|
2a9c963fef | ||
|
|
0817bc1c9f | ||
|
|
c36e5cfd9a | ||
|
|
3fbda5b98d | ||
|
|
50cbc2e10d | ||
|
|
30dd7d0afa | ||
|
|
80280bb62d | ||
|
|
e7362d2d35 | ||
|
|
f77d85f542 | ||
|
|
00e577f6d2 | ||
|
|
6d32795ffa | ||
|
|
a72571ce90 | ||
|
|
59fa039a72 | ||
|
|
adb8863cf6 | ||
|
|
7bab2b2312 | ||
|
|
b55b2c6bd6 | ||
|
|
3d46fc1d0c | ||
|
|
e62a9a08a9 | ||
|
|
f7f9a4f44c | ||
|
|
9ab3265188 | ||
|
|
e1572d8bba | ||
|
|
761ea19e8b | ||
|
|
d9ad52053b | ||
|
|
1ddee84199 | ||
|
|
45b89b7089 | ||
|
|
c8a0c982b9 | ||
|
|
910cd47dfa | ||
|
|
63d499816d | ||
|
|
d734109155 | ||
|
|
c45e6a3d10 | ||
|
|
5e712c04eb | ||
|
|
dc9c9dfee6 | ||
|
|
ec7cbeeb1c | ||
|
|
c3ccd36d02 | ||
|
|
283309d3c1 | ||
|
|
43d5c429ae | ||
|
|
bb15f533b2 | ||
|
|
424b916265 | ||
|
|
656ba9d749 | ||
|
|
2a4cd8b7c8 | ||
|
|
e862101764 | ||
|
|
c095cc6d6f | ||
|
|
a0a6cf6739 | ||
|
|
f21f7cfd92 | ||
|
|
10989582ee | ||
|
|
a0b73022cd | ||
|
|
5bc7364eb6 | ||
|
|
7c3d531177 | ||
|
|
b4d75f194e | ||
|
|
f642273b7a | ||
|
|
3da747a59a | ||
|
|
cfb2a70ac3 | ||
|
|
3c763afa2d | ||
|
|
173d8f50ac | ||
|
|
867a7b5ea7 | ||
|
|
3469aa3777 | ||
|
|
f7c85a9803 | ||
|
|
19241cf186 | ||
|
|
51d6fc3ce1 | ||
|
|
d7f7614de6 | ||
|
|
5de1387402 | ||
|
|
08956dc9e8 | ||
|
|
d32484e366 | ||
|
|
206f5bf97c | ||
|
|
f1827ad99a | ||
|
|
a68f740fe3 | ||
|
|
483a484ae7 | ||
|
|
ad26721541 | ||
|
|
ba6f52f974 | ||
|
|
3782fb1fcb | ||
|
|
0ea2845b5b | ||
|
|
96b95bf5e4 | ||
|
|
256e3e3f58 | ||
|
|
9629226688 | ||
|
|
7dd93eb756 | ||
|
|
f91324fbe8 | ||
|
|
8eb62c2a7b | ||
|
|
d473c2c3f6 | ||
|
|
8785c9d00a | ||
|
|
02cf529bf8 | ||
|
|
2b8e88cdc5 | ||
|
|
e05fe43662 | ||
|
|
d84c5b3311 | ||
|
|
5162a77701 | ||
|
|
24c3e7e945 | ||
|
|
fc1643a728 | ||
|
|
86baa18ad9 | ||
|
|
45a6695a15 | ||
|
|
f39ae39f7d | ||
|
|
6c0bde0611 | ||
|
|
93b7d47cc7 | ||
|
|
8365874e28 | ||
|
|
cb03a617d2 | ||
|
|
a6f309fa88 | ||
|
|
9a214aaf0e | ||
|
|
ff97d59d58 | ||
|
|
d94961f737 | ||
|
|
3ad1c7096d | ||
|
|
9a5ad94920 | ||
|
|
d832875951 | ||
|
|
68a9a82107 | ||
|
|
42088719c5 | ||
|
|
c4f229930e | ||
|
|
5f0f0da82e | ||
|
|
a0a475764b | ||
|
|
59f848b7f7 | ||
|
|
6c0c84c649 | ||
|
|
fd18bfee21 | ||
|
|
b5bba18200 | ||
|
|
4149344318 | ||
|
|
8537612c37 | ||
|
|
6cc28ae344 | ||
|
|
67d73e8e2e | ||
|
|
7fe05d3261 | ||
|
|
4e94fdf133 | ||
|
|
cab1d602c9 | ||
|
|
8d983f2c8c | ||
|
|
a76ac22c13 | ||
|
|
c45f76785d | ||
|
|
1fde5dd93b | ||
|
|
630aae99bc | ||
|
|
cb50ad4a46 | ||
|
|
13d88119b3 | ||
|
|
156335da1c | ||
|
|
3eeb45b3b4 | ||
|
|
c9c587053a | ||
|
|
f7875e3033 | ||
|
|
58bf3b3a82 | ||
|
|
33716c8350 | ||
|
|
c822ad0310 | ||
|
|
647efc8ade | ||
|
|
759a81b03a | ||
|
|
3652fc4bea | ||
|
|
d51e971f3d | ||
|
|
99848bb7b3 | ||
|
|
f273a6f410 | ||
|
|
d68efb6333 | ||
|
|
13f9ccfc4d | ||
|
|
a0ef5f705a | ||
|
|
bfe7c0eabc | ||
|
|
36b776d42c | ||
|
|
9badef9093 | ||
|
|
6e895b50ae | ||
|
|
31832c411a | ||
|
|
7ca53518cc | ||
|
|
b836758ce4 | ||
|
|
97b5944216 | ||
|
|
5645e893e6 | ||
|
|
bfa2ab4e93 | ||
|
|
85df2a4059 | ||
|
|
3422cc375f | ||
|
|
5e36bac060 | ||
|
|
10d40be9f8 | ||
|
|
0e0c6665e8 | ||
|
|
7ad52310cf | ||
|
|
f18329cea9 | ||
|
|
012dd635de | ||
|
|
fe77da4391 | ||
|
|
295daad11d | ||
|
|
fcc40f97c8 | ||
|
|
875fc4ec6d | ||
|
|
d95523439b | ||
|
|
6f33c7a7ad | ||
|
|
066e836a6e | ||
|
|
8994cec168 | ||
|
|
14296d6a90 | ||
|
|
5a6f94b742 | ||
|
|
71566544b5 | ||
|
|
0fa1ae48e0 | ||
|
|
78848c5f3e | ||
|
|
d3532ab8ed | ||
|
|
bdd299a85e | ||
|
|
51a8837b09 | ||
|
|
d407a034c7 | ||
|
|
79027bc9f0 | ||
|
|
11a6f45481 | ||
|
|
52afaa37be | ||
|
|
a8b7ae2474 | ||
|
|
edcc7857ef | ||
|
|
ef1987e02a | ||
|
|
c95dd34533 | ||
|
|
dd9ce36953 | ||
|
|
102aa5dc85 | ||
|
|
f23e43cadc | ||
|
|
0e5097fe0b | ||
|
|
4ed05750e5 | ||
|
|
a64be68417 | ||
|
|
32b7cbbf9d | ||
|
|
8a075b7f05 | ||
|
|
07aeb4b354 | ||
|
|
5de92ba180 | ||
|
|
1e1e0f14fe | ||
|
|
5281d95710 | ||
|
|
38974951b9 | ||
|
|
73f7feec97 | ||
|
|
26dd914a79 | ||
|
|
c8b9147f19 | ||
|
|
ecbed74dd6 | ||
|
|
99f294d572 | ||
|
|
2d2d490f44 | ||
|
|
599cbfd5dc | ||
|
|
ebc5ec8047 | ||
|
|
7fefe97301 | ||
|
|
af96544893 | ||
|
|
33e7225119 | ||
|
|
9a456dcaec | ||
|
|
8634826c01 | ||
|
|
07068c14da | ||
|
|
02917c04dd | ||
|
|
e933074535 | ||
|
|
777d471a98 | ||
|
|
bde877c915 | ||
|
|
55c0c29589 | ||
|
|
819707fc42 | ||
|
|
86700994ba | ||
|
|
3c41f7662b | ||
|
|
3cf198e5e1 | ||
|
|
15c53df25b | ||
|
|
1bf5ae8e7f | ||
|
|
8fe346fac8 | ||
|
|
5f08be41b1 | ||
|
|
89b0b243f9 | ||
|
|
892e4e14cb | ||
|
|
abf8d62c30 | ||
|
|
01e35405d9 | ||
|
|
5b8c050e82 | ||
|
|
1c3ae38368 | ||
|
|
c7db3681be | ||
|
|
898fbea848 | ||
|
|
40057b0022 | ||
|
|
27d94c7de0 | ||
|
|
8612eead4e | ||
|
|
f179ca1822 | ||
|
|
0712fba4c4 | ||
|
|
17a08252f1 | ||
|
|
26e035dabe | ||
|
|
67e9ade712 | ||
|
|
c5c72d9ab0 | ||
|
|
18f76c918c | ||
|
|
cf1a6bbdae | ||
|
|
272c30a5d0 | ||
|
|
5d87a2c9ec | ||
|
|
b6f71355a8 | ||
|
|
49839ff439 | ||
|
|
a58a4b7383 | ||
|
|
d3611bbbf5 | ||
|
|
bc9d10316a | ||
|
|
f63da7c794 | ||
|
|
0ff111cc20 | ||
|
|
63e87aaabf | ||
|
|
0d7c54dd53 | ||
|
|
bcca9bbb8a | ||
|
|
ca2f4d5b8d | ||
|
|
dde61c5e6d | ||
|
|
5a0f94e8c3 | ||
|
|
66e44f45e7 | ||
|
|
e454290827 | ||
|
|
08b4f4eae1 | ||
|
|
1fd7f71f64 | ||
|
|
7d1e18fb39 | ||
|
|
289ba1d431 | ||
|
|
09df60e3d2 | ||
|
|
29ccd0f4ff | ||
|
|
d58b86cfb4 | ||
|
|
0fca6fda6d | ||
|
|
35d375a746 | ||
|
|
1f9222b7f0 | ||
|
|
f7b43bdac1 | ||
|
|
39e595d6fc | ||
|
|
af23150152 | ||
|
|
6ea89637ad | ||
|
|
0c4e81c4b3 | ||
|
|
e14b993890 | ||
|
|
22e17bac31 | ||
|
|
502c61e88e | ||
|
|
2951e5b5e9 | ||
|
|
690f4b4f62 | ||
|
|
964424a084 | ||
|
|
be674bc681 | ||
|
|
fd03b66f83 | ||
|
|
90de6f03b1 | ||
|
|
71ab040728 | ||
|
|
7b0589013b | ||
|
|
eac775dc83 | ||
|
|
31e7844ca1 | ||
|
|
566a1b1c30 | ||
|
|
d9daa078c0 | ||
|
|
4361b5dcbe | ||
|
|
24033e42af | ||
|
|
9c1216332d | ||
|
|
2fff5e4b7b | ||
|
|
8202acabe4 | ||
|
|
6ada0e0cb4 | ||
|
|
c3c21e8b5c | ||
|
|
dae67ed303 | ||
|
|
12791e94d1 | ||
|
|
092d46bac0 | ||
|
|
fcd29a0efb | ||
|
|
5c2451ba44 | ||
|
|
b71ab1c96b | ||
|
|
99e8dd707a | ||
|
|
a712d0bce1 | ||
|
|
ab624f8adc | ||
|
|
32b13dfc75 | ||
|
|
a2480d5286 | ||
|
|
c036a32a68 | ||
|
|
eeb78ee38f | ||
|
|
6a484e7926 | ||
|
|
e04b0b08e2 | ||
|
|
e813d62f4b | ||
|
|
bc72adb8f9 | ||
|
|
a44b4c7cbd | ||
|
|
407bca4bf5 | ||
|
|
192a106d8e | ||
|
|
f5ed9d60a6 | ||
|
|
9839f3b3d0 | ||
|
|
62043a97f2 | ||
|
|
0b073ed84f | ||
|
|
2c357840c8 | ||
|
|
45511c0a12 | ||
|
|
ccbc877034 | ||
|
|
e1b769a43c | ||
|
|
6d3440647d | ||
|
|
4eea1612f2 | ||
|
|
284553361a | ||
|
|
9f48a35118 | ||
|
|
34c8416527 | ||
|
|
6086b721e6 | ||
|
|
9626e1b5ce | ||
|
|
91b0b9a2b1 | ||
|
|
df5a776419 | ||
|
|
37ae3f0e61 | ||
|
|
24d229f383 | ||
|
|
780a8b3e9f | ||
|
|
ee9d73e4fc | ||
|
|
eadb0833e5 | ||
|
|
76f012c25a | ||
|
|
91cd39bae3 | ||
|
|
d64fe1c879 | ||
|
|
ab4d60b1c9 | ||
|
|
3fab803de2 | ||
|
|
0a1f510b66 | ||
|
|
75ec134118 | ||
|
|
344e43392b | ||
|
|
f96f8f46e2 | ||
|
|
69d5418eba | ||
|
|
9692a57069 | ||
|
|
8c51743ee5 | ||
|
|
885b747ca8 | ||
|
|
008673d9eb | ||
|
|
a5b6f17e83 | ||
|
|
1ed2952767 | ||
|
|
5099827e1f | ||
|
|
535625afcd | ||
|
|
1c1ad37797 | ||
|
|
4ef45c056a | ||
|
|
5fcf5dbd6a | ||
|
|
0ae353c15f | ||
|
|
d652661ca1 | ||
|
|
a7e4c79b7f | ||
|
|
5f364c5886 | ||
|
|
3bf073abdf | ||
|
|
1dfa49bda2 | ||
|
|
174a1b882d | ||
|
|
0fbed82550 | ||
|
|
954e9ad61f | ||
|
|
fa9f443bcf | ||
|
|
23f59ed2c9 | ||
|
|
cb3dd38f23 | ||
|
|
6c4819e909 | ||
|
|
0d21d3b909 | ||
|
|
b34c5f6909 | ||
|
|
9e1e7dc2e4 | ||
|
|
c3046c6411 | ||
|
|
e5b6ba5888 | ||
|
|
2c67e23334 | ||
|
|
ed08eb3d78 | ||
|
|
44b2d4d1f7 | ||
|
|
98758bfbec | ||
|
|
243e89d948 | ||
|
|
4ec68ce699 | ||
|
|
91ef092905 | ||
|
|
a46f17774c | ||
|
|
3943bb0d46 | ||
|
|
99294b9f67 | ||
|
|
b5eb6f2b19 | ||
|
|
c6c844626a | ||
|
|
b50eb305eb | ||
|
|
3e114a4d60 | ||
|
|
1d6c99f77c | ||
|
|
feffd27a35 | ||
|
|
0ba193f895 | ||
|
|
d6fa6c87b7 | ||
|
|
61614b8a6f | ||
|
|
6fe58eeceb | ||
|
|
349ea1078c | ||
|
|
8acbcaae11 | ||
|
|
af2e1879fb | ||
|
|
bf0f555233 | ||
|
|
78f0adf0a4 | ||
|
|
cf1f7ba5f5 | ||
|
|
7369c28a1e | ||
|
|
73badc0a67 | ||
|
|
f6d5887229 | ||
|
|
92f22ec499 | ||
|
|
a20f0f684f | ||
|
|
16f5331dc3 | ||
|
|
71b2186dc6 | ||
|
|
0c35daa458 | ||
|
|
1dabdd4043 | ||
|
|
0a3ee5676e | ||
|
|
c2ec6e0c0a | ||
|
|
7438df5ada | ||
|
|
a58c0c55d9 | ||
|
|
0f05a95c82 | ||
|
|
c27a79da36 | ||
|
|
26880c62c7 | ||
|
|
61d26fbe26 | ||
|
|
eee6c64d23 | ||
|
|
363da5be9d | ||
|
|
f5ce1e8728 | ||
|
|
656e774366 | ||
|
|
1e58932ea8 | ||
|
|
7c7916aa95 | ||
|
|
17b7b16069 | ||
|
|
eb85bf2f36 | ||
|
|
efc4a57d74 | ||
|
|
10c4b2d8ef | ||
|
|
aa3830ee91 | ||
|
|
ff11dfc080 | ||
|
|
f590bffcbf | ||
|
|
ad76ab4956 | ||
|
|
e4ece2cff0 | ||
|
|
4980fa1e8c | ||
|
|
e7d83dda91 | ||
|
|
921de77f9b | ||
|
|
ea085c600d | ||
|
|
54569e636e | ||
|
|
6a06789ece | ||
|
|
47f1d0c939 | ||
|
|
4230d695e7 | ||
|
|
f65cb918eb | ||
|
|
d276eea233 | ||
|
|
c54dd5450b | ||
|
|
8ac2b1bc58 | ||
|
|
8101f35923 | ||
|
|
20b317b07a | ||
|
|
4a42d1142b | ||
|
|
ed2594b5c7 | ||
|
|
cca39cf410 | ||
|
|
a14f7c3a3a | ||
|
|
430c389a90 | ||
|
|
dcbd843534 | ||
|
|
f3e0c6a527 | ||
|
|
279d9092a4 | ||
|
|
d25edcbbbd | ||
|
|
2751467878 | ||
|
|
95bc306404 | ||
|
|
776ee22d79 | ||
|
|
f6427b1f3f | ||
|
|
9fa2971da6 | ||
|
|
44d74846f4 | ||
|
|
f60af3f51e | ||
|
|
ff6660aa75 | ||
|
|
886f2a43dd | ||
|
|
4ebacda6be | ||
|
|
8deeea77d3 | ||
|
|
b9a850a8c1 | ||
|
|
58de47bca7 | ||
|
|
dd703da02f | ||
|
|
efadf87944 | ||
|
|
fae39b8fa4 | ||
|
|
6e0e3998b9 | ||
|
|
5a30197362 | ||
|
|
60e191adf7 | ||
|
|
a02e9b8fc0 | ||
|
|
224ede8c31 | ||
|
|
82ee510499 | ||
|
|
6f99eb5a7b | ||
|
|
04b7b11dfc | ||
|
|
352ae52ca1 | ||
|
|
1b98edc30a | ||
|
|
bb9fc88042 | ||
|
|
ccf6df9046 | ||
|
|
2c82a696d8 | ||
|
|
4ec4d33d49 | ||
|
|
df79e53b31 | ||
|
|
1bcb29ded2 | ||
|
|
96d2ccac88 | ||
|
|
6784e6fcab | ||
|
|
577399c1f6 | ||
|
|
a46387b28b | ||
|
|
cea14f843b | ||
|
|
6657421336 | ||
|
|
1091dfceb1 | ||
|
|
b385b472e4 | ||
|
|
91971ce650 | ||
|
|
d6723d93de | ||
|
|
58d71d79c1 | ||
|
|
31eb59e5ff | ||
|
|
2288392dde | ||
|
|
be4a96a06f | ||
|
|
34fa52495f | ||
|
|
b877be6b30 | ||
|
|
95d2d1dcf3 | ||
|
|
48ca14e835 | ||
|
|
cce5463e5c | ||
|
|
f98ccb6eaf | ||
|
|
c963384124 | ||
|
|
d3aaf5645e | ||
|
|
f6b4072780 | ||
|
|
f404eaa3c8 | ||
|
|
eab9143533 | ||
|
|
9456f73ea7 | ||
|
|
59db82e638 | ||
|
|
29f63322ba | ||
|
|
eac2d39834 | ||
|
|
4abf4d63d0 | ||
|
|
ab32660f41 | ||
|
|
c2b0c1f177 | ||
|
|
20c437b32b | ||
|
|
cfb973e037 | ||
|
|
7e962c4394 | ||
|
|
39d156cc26 | ||
|
|
7abd89480b | ||
|
|
a158b12ddf | ||
|
|
24aec64266 | ||
|
|
459c55df40 | ||
|
|
c151f97af1 | ||
|
|
a67e2b4fb9 | ||
|
|
e3734a715f | ||
|
|
27ec293dca | ||
|
|
3e9f19cc22 | ||
|
|
50e9767f0c | ||
|
|
22c0593343 | ||
|
|
3d42e5e55f | ||
|
|
c6037cc4d7 | ||
|
|
9cde16b262 | ||
|
|
5bd9a40560 | ||
|
|
c679542c5f | ||
|
|
2b222eae65 | ||
|
|
9feba528e2 | ||
|
|
dde55b8310 | ||
|
|
06f2740ce4 | ||
|
|
e1cf1ff24a | ||
|
|
154adf2266 | ||
|
|
e29c1243c6 | ||
|
|
7525028f36 | ||
|
|
a5c25fddda | ||
|
|
5467030be4 | ||
|
|
5fae60911d | ||
|
|
534ad0a7a0 | ||
|
|
8ed11ba8ec | ||
|
|
b404672b0b | ||
|
|
6ee4544d92 | ||
|
|
cc58382158 | ||
|
|
637ebc87ad | ||
|
|
2f3dbf55d2 | ||
|
|
215d76e38d | ||
|
|
0fd4b8185e | ||
|
|
c4d361a363 | ||
|
|
286908d41e | ||
|
|
bd4039d442 | ||
|
|
e87608411f | ||
|
|
a0e5f9b3a6 | ||
|
|
1456fbb91c | ||
|
|
6eaf74a289 | ||
|
|
edc8768b2e | ||
|
|
1ce8ff4262 | ||
|
|
d0b594cdc0 | ||
|
|
807adf92fa | ||
|
|
7397e1ac00 | ||
|
|
c7c8466b10 | ||
|
|
e0c226f7bb | ||
|
|
de4b86fda8 | ||
|
|
21181c2872 | ||
|
|
01b59f54fe | ||
|
|
03634ae516 | ||
|
|
2621b0a77b | ||
|
|
cf42b1a9fd | ||
|
|
f28c10a0b1 | ||
|
|
6ae3cb685c | ||
|
|
16e23a32b7 | ||
|
|
5fd5c8a90f | ||
|
|
9673b62ec7 | ||
|
|
fab4a272fd | ||
|
|
2dddb7b231 | ||
|
|
292624166f | ||
|
|
d85291a97a | ||
|
|
cd0273d321 | ||
|
|
c7d9fc37f6 | ||
|
|
5bc1d2835d | ||
|
|
2ecb2b7206 | ||
|
|
0943c48f4e | ||
|
|
a2c99dc72d | ||
|
|
d036a2594c | ||
|
|
0a89c82ba1 | ||
|
|
0224f51076 | ||
|
|
e7cc61eb9a | ||
|
|
25a9712102 | ||
|
|
3ac22778d8 | ||
|
|
be7159f554 | ||
|
|
da0445ddbc | ||
|
|
b5dff5a285 | ||
|
|
a5cd79a70e | ||
|
|
35d31555b0 | ||
|
|
aa34f54f22 | ||
|
|
824e774b2b | ||
|
|
9f002b8f16 | ||
|
|
e5cf3be9ed | ||
|
|
02bf291f85 | ||
|
|
32ab6ce890 | ||
|
|
e95f7e9a78 | ||
|
|
98e26cd9de | ||
|
|
be19d7c5a8 | ||
|
|
4741a8f6d2 | ||
|
|
d43b416837 | ||
|
|
5d20d86080 | ||
|
|
0d446c83dd |
@@ -2,29 +2,25 @@ FROM mcr.microsoft.com/devcontainers/base:ubuntu
|
||||
|
||||
USER vscode
|
||||
|
||||
ENV CONDA_DIR=/home/vscode/miniconda
|
||||
ENV PATH="$CONDA_DIR/bin:$PATH"
|
||||
ENV PATH="/home/vscode/.local/bin:${PATH}"
|
||||
|
||||
ARG PYTHON_VERSION=3.12
|
||||
ARG PYTHON_VERSION=3.12.11
|
||||
ARG NODEJS_VERSION=24
|
||||
|
||||
# Install Miniconda
|
||||
RUN wget https://repo.anaconda.com/miniconda/Miniconda3-latest-Linux-x86_64.sh -O ~/miniconda.sh \
|
||||
&& bash ~/miniconda.sh -b -p $CONDA_DIR \
|
||||
&& rm ~/miniconda.sh \
|
||||
&& conda tos accept --override-channels --channel https://repo.anaconda.com/pkgs/main \
|
||||
&& conda tos accept --override-channels --channel https://repo.anaconda.com/pkgs/r
|
||||
# Install and setup mise and uv
|
||||
RUN curl https://mise.run | sh
|
||||
RUN curl -LsSf https://astral.sh/uv/install.sh | sh
|
||||
|
||||
# Configure conda environment
|
||||
RUN eval "$(conda shell.bash hook)" \
|
||||
&& conda create -n maa \
|
||||
&& conda activate maa \
|
||||
&& conda install -y \
|
||||
python=$PYTHON_VERSION \
|
||||
conda-forge::nodejs=$NODEJS_VERSION \
|
||||
&& pip install pre-commit
|
||||
# Activate mise
|
||||
RUN echo 'eval "$(mise activate bash)"' >> ~/.bashrc
|
||||
|
||||
# Finalize conda setup
|
||||
RUN conda init \
|
||||
&& conda config --set auto_activate false \
|
||||
&& echo "conda activate maa" >> ~/.bashrc
|
||||
# Setup Python and Node.js
|
||||
RUN mise use -g node@$NODEJS_VERSION
|
||||
RUN uv python install $PYTHON_VERSION
|
||||
|
||||
# Create and activate venv
|
||||
RUN uv venv --clear ~/.venv/maa
|
||||
RUN echo "source ~/.venv/maa/bin/activate" >> ~/.bashrc
|
||||
|
||||
# Install tools
|
||||
RUN uv tool install prek
|
||||
|
||||
@@ -1,8 +1,6 @@
|
||||
#!/bin/bash
|
||||
WORKSPACE=$(pwd)
|
||||
|
||||
# conda activate maa
|
||||
|
||||
echo "===================="
|
||||
cd "$WORKSPACE"
|
||||
echo "Setting up git safe.directory..."
|
||||
|
||||
@@ -2,36 +2,51 @@ FROM mcr.microsoft.com/devcontainers/base:ubuntu
|
||||
|
||||
USER vscode
|
||||
|
||||
ENV CONDA_DIR=/home/vscode/miniconda
|
||||
ENV PATH="$CONDA_DIR/bin:$PATH"
|
||||
ENV PATH="/home/vscode/.local/bin:${PATH}"
|
||||
|
||||
ARG CLANGD_VERSION=20
|
||||
ARG PYTHON_VERSION=3.12
|
||||
ARG PYTHON_VERSION=3.12.11
|
||||
ARG NODEJS_VERSION=24
|
||||
|
||||
# Add kitware's apt repository (for cmake)
|
||||
RUN curl -fsSL https://apt.kitware.com/keys/kitware-archive-latest.asc | sudo gpg --dearmor -o /usr/share/keyrings/kitware-archive-keyring.gpg
|
||||
RUN cat <<EOF | sudo tee /etc/apt/sources.list.d/kitware.sources
|
||||
Types: deb
|
||||
URIs: https://apt.kitware.com/ubuntu
|
||||
Suites: $(lsb_release -cs)
|
||||
Components: main
|
||||
Architectures: $(dpkg --print-architecture)
|
||||
Signed-By: /usr/share/keyrings/kitware-archive-keyring.gpg
|
||||
EOF
|
||||
|
||||
# Install system dependencies
|
||||
RUN sudo apt update \
|
||||
&& sudo apt upgrade -y \
|
||||
&& sudo apt install -y \
|
||||
cmake
|
||||
cmake \
|
||||
fish \
|
||||
&& sudo rm -rf /var/lib/apt/lists/*
|
||||
|
||||
# Install Miniconda
|
||||
RUN wget https://repo.anaconda.com/miniconda/Miniconda3-latest-Linux-x86_64.sh -O ~/miniconda.sh \
|
||||
&& bash ~/miniconda.sh -b -p ${CONDA_DIR} \
|
||||
&& rm ~/miniconda.sh \
|
||||
&& conda tos accept --override-channels --channel https://repo.anaconda.com/pkgs/main \
|
||||
&& conda tos accept --override-channels --channel https://repo.anaconda.com/pkgs/r
|
||||
# Initialize fish
|
||||
RUN fish -c exit
|
||||
|
||||
# Configure conda environment
|
||||
RUN eval "$(conda shell.bash hook)" \
|
||||
&& conda create -n maa \
|
||||
&& conda activate maa \
|
||||
&& conda install -y \
|
||||
python=${PYTHON_VERSION} \
|
||||
conda-forge::nodejs=${NODEJS_VERSION} \
|
||||
&& pip install pre-commit ruff
|
||||
# Install and setup mise and uv
|
||||
RUN curl https://mise.run | sh
|
||||
RUN curl -LsSf https://astral.sh/uv/install.sh | sh
|
||||
|
||||
# Finalize conda setup
|
||||
RUN conda init \
|
||||
&& conda config --set auto_activate false \
|
||||
&& echo "conda activate maa" >> ~/.bashrc
|
||||
# Activate mise
|
||||
RUN echo 'eval "$(mise activate bash)"' >> ~/.bashrc
|
||||
RUN echo 'mise activate fish | source' >> ~/.config/fish/config.fish
|
||||
|
||||
# Setup Python and Node.js
|
||||
RUN mise use -g node@$NODEJS_VERSION
|
||||
RUN uv python install $PYTHON_VERSION
|
||||
|
||||
# Create and activate venv
|
||||
RUN uv venv --clear ~/.venv/maa
|
||||
RUN echo "source ~/.venv/maa/bin/activate" >> ~/.bashrc
|
||||
RUN echo "source ~/.venv/maa/bin/activate.fish" >> ~/.config/fish/config.fish
|
||||
|
||||
# Install tools
|
||||
RUN uv tool install prek
|
||||
RUN uv tool install ruff
|
||||
|
||||
@@ -42,7 +42,7 @@
|
||||
|
||||
// Language-specific formatting
|
||||
"[python]": {
|
||||
"editor.defaultFormatter": "ms-python.black-formatter",
|
||||
"editor.defaultFormatter": "charliermarsh.ruff",
|
||||
"editor.codeActionsOnSave": {
|
||||
"source.organizeImports": "explicit"
|
||||
}
|
||||
@@ -54,19 +54,12 @@
|
||||
"editor.defaultFormatter": "xaver.clang-format"
|
||||
},
|
||||
|
||||
// Python formatting and linting
|
||||
"isort.args": ["--profile", "black"],
|
||||
|
||||
// Python runtime
|
||||
"python.terminal.launchArgs": ["-u"],
|
||||
"python.defaultInterpreterPath": "/home/vscode/miniconda/envs/maa/bin/python",
|
||||
"python.defaultInterpreterPath": "/home/vscode/.venv/maa/bin/python",
|
||||
"python.terminal.activateEnvironment": false,
|
||||
|
||||
// CMake settings
|
||||
"cmake.configureSettings": {
|
||||
"BUILD_DEBUG_DEMO": "ON",
|
||||
"CMAKE_TOOLCHAIN_FILE": "src/MaaUtils/MaaDeps/cmake/maa-x64-linux-toolchain.cmake"
|
||||
},
|
||||
"cmake.configureOnOpen": false,
|
||||
|
||||
// Performance optimizations
|
||||
|
||||
@@ -1,8 +1,6 @@
|
||||
#!/bin/bash
|
||||
WORKSPACE=$(pwd)
|
||||
|
||||
# conda activate maa
|
||||
|
||||
echo "===================="
|
||||
cd "$WORKSPACE"
|
||||
echo "Setting up git safe.directory..."
|
||||
@@ -27,14 +25,14 @@ echo "Installing Python dependencies..."
|
||||
for req_file in tools/*/requirements.txt; do
|
||||
if [ -f "$req_file" ]; then
|
||||
echo "Installing from $req_file"
|
||||
pip install -r "$req_file"
|
||||
uv pip install -r "$req_file"
|
||||
fi
|
||||
done
|
||||
|
||||
for req_file in tools/*/requirements-dev.txt; do
|
||||
if [ -f "$req_file" ]; then
|
||||
echo "Installing from $req_file"
|
||||
pip install -r "$req_file"
|
||||
uv pip install -r "$req_file"
|
||||
fi
|
||||
done
|
||||
|
||||
|
||||
2
.github/issue-checker.yml
vendored
@@ -252,7 +252,7 @@ labels:
|
||||
# `module: fight`
|
||||
- name: fight
|
||||
content: "module: fight"
|
||||
regexes: "刷图|刷理智|剿灭|刷.{0,6}材料|关卡选择|战斗|作战|[戰戦][鬥闘]|[Ff]ight|[Bb]attle|[Aa]nihilation"
|
||||
regexes: "刷图|理智|剿灭|刷.{0,6}材料|关卡选择|战斗|作战|[戰戦][鬥闘]|[Ff]ight|[Bb]attle|[Aa]nihilation"
|
||||
skip-if:
|
||||
- skip all
|
||||
- skip module
|
||||
|
||||
62
.github/pr_cache_remover.ps1
vendored
@@ -1,38 +1,46 @@
|
||||
$totalClearedSize = 0
|
||||
$cacheList = gh cache list --json id,ref,sizeInBytes | ConvertFrom-Json
|
||||
$prCaches = $cacheList | Where-Object { $_.ref -like "*merge*" }
|
||||
|
||||
if (-not $prCaches) {
|
||||
Write-Output "No PR caches found."
|
||||
exit
|
||||
$branchSet = @{}
|
||||
git ls-remote --heads origin | ForEach-Object {
|
||||
if ($_ -match 'refs/heads/(.+)$') { $branchSet[$matches[1]] = $true }
|
||||
}
|
||||
|
||||
foreach ($cache in $prCaches) {
|
||||
$cacheId = $cache.id
|
||||
$cacheRef = $cache.ref
|
||||
$cacheSizeInBytes = $cache.sizeInBytes
|
||||
foreach ($cache in $cacheList) {
|
||||
$shouldDelete = $false
|
||||
|
||||
if ($cacheRef -match "refs/pull/(\d+)/merge") {
|
||||
if ($cache.ref -match "refs/pull/(\d+)/merge") {
|
||||
$prNumber = $matches[1]
|
||||
|
||||
Write-Host "PR #${prNumber}: " -NoNewline
|
||||
|
||||
$prStatus = gh pr view $prNumber --json state | ConvertFrom-Json
|
||||
|
||||
Write-Host $prStatus.state -NoNewline
|
||||
|
||||
if ($prStatus.state -eq "MERGED" -or $prStatus.state -eq "CLOSED") {
|
||||
Write-Host " -> DELETING"
|
||||
|
||||
gh cache delete $cacheId
|
||||
|
||||
try {
|
||||
$prStatus = (gh pr view $prNumber --json state | ConvertFrom-Json).state
|
||||
Write-Host "$prStatus" -NoNewline
|
||||
$shouldDelete = $prStatus -in @("MERGED", "CLOSED")
|
||||
}
|
||||
catch {
|
||||
Write-Host "NOT FOUND" -NoNewline
|
||||
$shouldDelete = $true
|
||||
}
|
||||
}
|
||||
elseif ($cache.ref -match "refs/heads/(.+)" -and $matches[1] -ne "dev") {
|
||||
$branchName = $matches[1]
|
||||
$exists = $branchSet.ContainsKey($branchName)
|
||||
|
||||
Write-Host "Branch '$branchName': $(if ($exists) { 'EXISTS' } else { 'DELETED' })" -NoNewline
|
||||
$shouldDelete = -not $exists
|
||||
}
|
||||
else {
|
||||
continue
|
||||
}
|
||||
|
||||
$totalClearedSize += $cacheSizeInBytes
|
||||
}
|
||||
else {
|
||||
Write-Host ""
|
||||
}
|
||||
if ($shouldDelete) {
|
||||
Write-Host " -> DELETING"
|
||||
gh cache delete $cache.id
|
||||
$totalClearedSize += $cache.sizeInBytes
|
||||
}
|
||||
else {
|
||||
Write-Host ""
|
||||
}
|
||||
}
|
||||
|
||||
$formattedSize = "{0:N2}" -f ($totalClearedSize / 1MB)
|
||||
Write-Output "Cleared size: $formattedSize MB"
|
||||
Write-Output "Cleared size: $("{0:N2}" -f ($totalClearedSize / 1MB)) MB"
|
||||
|
||||
3
.github/stale_cache_cleanup.ps1
vendored
@@ -11,7 +11,8 @@ $keyPatterns = @(
|
||||
"macOS-arm64-maadeps",
|
||||
"Linux-x64-maadeps",
|
||||
"Linux-arm64-maadeps",
|
||||
"Smoke-testing"
|
||||
"Smoke-testing",
|
||||
"prek-v1|Linux|X64"
|
||||
)
|
||||
|
||||
# Filter caches matching any of our key patterns
|
||||
|
||||
3
.github/stale_cache_dev.ps1
vendored
@@ -19,7 +19,8 @@ $keyPatterns = @(
|
||||
"macOS-arm64-maadeps",
|
||||
"Linux-x64-maadeps",
|
||||
"Linux-arm64-maadeps",
|
||||
"Smoke-testing"
|
||||
"Smoke-testing",
|
||||
"prek-v1|Linux|X64"
|
||||
)
|
||||
|
||||
foreach ($pattern in $keyPatterns) {
|
||||
|
||||
98
.github/workflows/ci.yml
vendored
@@ -4,18 +4,6 @@ on:
|
||||
push:
|
||||
tags:
|
||||
- "v*"
|
||||
branches-ignore:
|
||||
- "master"
|
||||
paths:
|
||||
- ".github/workflows/ci.yml"
|
||||
- "3rdparty/include/**"
|
||||
- "cmake/**"
|
||||
- "CMakeLists.txt"
|
||||
- "include/**"
|
||||
- "src/**"
|
||||
- "tools/maadeps-download.py"
|
||||
- "!**/*.md"
|
||||
pull_request:
|
||||
branches:
|
||||
- "dev"
|
||||
paths:
|
||||
@@ -23,6 +11,18 @@ on:
|
||||
- "3rdparty/include/**"
|
||||
- "cmake/**"
|
||||
- "CMakeLists.txt"
|
||||
- "CMakePresets.json"
|
||||
- "include/**"
|
||||
- "src/**"
|
||||
- "tools/maadeps-download.py"
|
||||
- "!**/*.md"
|
||||
pull_request:
|
||||
paths:
|
||||
- ".github/workflows/ci.yml"
|
||||
- "3rdparty/include/**"
|
||||
- "cmake/**"
|
||||
- "CMakeLists.txt"
|
||||
- "CMakePresets.json"
|
||||
- "include/**"
|
||||
- "src/**"
|
||||
- "tools/maadeps-download.py"
|
||||
@@ -30,7 +30,7 @@ on:
|
||||
workflow_dispatch:
|
||||
|
||||
concurrency:
|
||||
group: ${{ github.workflow }}-${{ github.event.pull_request.number || github.ref }}-${{ github.ref == 'refs/heads/dev' && github.sha }}
|
||||
group: ${{ github.workflow }}-${{ github.event.pull_request.head.repo.full_name || github.repository }}-${{ github.head_ref || github.ref_name }}${{ github.ref == 'refs/heads/dev' && format('-{0}', github.sha) || '' }}
|
||||
cancel-in-progress: true
|
||||
|
||||
jobs:
|
||||
@@ -41,6 +41,10 @@ jobs:
|
||||
tag: ${{ steps.set_tag.outputs.tag }}
|
||||
prerelease: ${{ steps.set_pre.outputs.prerelease }}
|
||||
steps:
|
||||
- name: Show concurrency group
|
||||
run: |
|
||||
echo "Concurrency Group: ${{ github.workflow }}-${{ github.event.pull_request.head.repo.full_name || github.repository }}-${{ github.head_ref || github.ref_name }}${{ github.ref == 'refs/heads/dev' && format('-{0}', github.sha) || '' }}"
|
||||
|
||||
- name: Checkout repository
|
||||
uses: actions/checkout@v6
|
||||
with:
|
||||
@@ -126,19 +130,26 @@ jobs:
|
||||
run: |
|
||||
python3 tools/maadeps-download.py ${{ matrix.arch }}-windows
|
||||
|
||||
- name: Config cmake
|
||||
- name: Configure, build and install
|
||||
run: |
|
||||
mkdir -p build
|
||||
cmake -B build ${{ matrix.arch == 'arm64' && '-A ARM64' }} -DCMAKE_BUILD_TYPE=RelWithDebInfo -DMAADEPS_TRIPLET='maa-${{ matrix.arch }}-windows' -DINSTALL_RESOURCE=ON -DINSTALL_PYTHON=ON -DMAA_HASH_VERSION='${{ needs.meta.outputs.tag }}' -DBUILD_WPF_GUI=OFF
|
||||
cmake -B build --preset ${{ matrix.arch == 'arm64' && 'windows-publish-arm64' || 'windows-publish-x64' }} -DMAA_HASH_VERSION='${{ needs.meta.outputs.tag }}'
|
||||
cmake --build --preset ${{ matrix.arch == 'arm64' && 'windows-publish-arm64' || 'windows-publish-x64' }} --parallel $env:NUMBER_OF_PROCESSORS
|
||||
cmake --install build --config RelWithDebInfo
|
||||
|
||||
- name: Build
|
||||
run: |
|
||||
cmake --build build --config RelWithDebInfo --parallel $env:NUMBER_OF_PROCESSORS
|
||||
- name: Download MaaFramework
|
||||
if: matrix.arch == 'x64'
|
||||
uses: robinraju/release-downloader@v1
|
||||
with:
|
||||
repository: MaaXYZ/MaaFramework
|
||||
latest: true
|
||||
fileName: '*win-x86_64*.zip'
|
||||
extract: true
|
||||
out-file-path: MaaFramework-temp
|
||||
|
||||
- name: Install
|
||||
- name: Copy MaaWin32ControlUnit
|
||||
if: matrix.arch == 'x64'
|
||||
run: |
|
||||
mkdir -p install
|
||||
cmake --install build --prefix install --config RelWithDebInfo
|
||||
cp MaaFramework-temp/bin/*Win32ControlUnit* install/
|
||||
|
||||
- name: Cache .nuke/temp, ~/.nuget/packages
|
||||
id: cache-nuget
|
||||
@@ -245,28 +256,14 @@ jobs:
|
||||
run: |
|
||||
python3 tools/maadeps-download.py ${{ matrix.arch == 'x86_64' && 'x64' || 'arm64' }}-linux
|
||||
|
||||
- name: Config cmake
|
||||
- name: Configure, build and install
|
||||
run: |
|
||||
mkdir -p build
|
||||
cmake -B build \
|
||||
-DCMAKE_BUILD_TYPE=RelWithDebInfo \
|
||||
-DMAADEPS_TRIPLET='maa-${{ matrix.arch == 'x86_64' && 'x64' || 'arm64' }}-linux' \
|
||||
-DINSTALL_RESOURCE=ON \
|
||||
-DINSTALL_PYTHON=ON \
|
||||
-DMAA_HASH_VERSION='${{ needs.meta.outputs.tag }}' \
|
||||
-DCMAKE_TOOLCHAIN_FILE=src/MaaUtils/MaaDeps/cmake/maa-${{ matrix.arch == 'x86_64' && 'x64' || 'arm64' }}-linux-toolchain.cmake
|
||||
|
||||
- name: Build
|
||||
run: |
|
||||
cmake --build build --config RelWithDebInfo --parallel $(nproc)
|
||||
cmake --preset ${{ matrix.arch == 'x86_64' && 'linux-publish-x64' || 'linux-publish-arm64' }} -DMAA_HASH_VERSION='${{ needs.meta.outputs.tag }}'
|
||||
cmake --build --preset ${{ matrix.arch == 'x86_64' && 'linux-publish-x64' || 'linux-publish-arm64' }} --parallel $(nproc)
|
||||
cmake --install build --config RelWithDebInfo
|
||||
env:
|
||||
CLICOLOR_FORCE: 1
|
||||
|
||||
- name: Install
|
||||
run: |
|
||||
mkdir -p install
|
||||
cmake --install build --prefix install --config RelWithDebInfo
|
||||
|
||||
- name: Setup cross compile toolchains for CLI
|
||||
uses: ./src/maa-cli/.github/actions/setup
|
||||
with:
|
||||
@@ -274,10 +271,10 @@ jobs:
|
||||
|
||||
- name: Build CLI
|
||||
run: |
|
||||
cargo build --release --locked --package maa-cli --features vendored-openssl
|
||||
cargo build --release --locked --package maa-cli --features git2/vendored-openssl
|
||||
cp -v target/$CARGO_BUILD_TARGET/release/maa $GITHUB_WORKSPACE/install/maa
|
||||
cargo build --release --locked --package maa-cli --no-default-features \
|
||||
--features git2,vendored-openssl
|
||||
--features git2,git2/vendored-openssl
|
||||
cp -v target/$CARGO_BUILD_TARGET/release/maa $GITHUB_WORKSPACE/appimage-maa
|
||||
working-directory: src/maa-cli
|
||||
|
||||
@@ -368,20 +365,11 @@ jobs:
|
||||
env:
|
||||
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
|
||||
|
||||
- name: Config cmake
|
||||
- name: Configure, build and install
|
||||
run: |
|
||||
cmake -B build -GNinja \
|
||||
-DCMAKE_BUILD_TYPE=RelWithDebInfo \
|
||||
-DCMAKE_OSX_ARCHITECTURES='${{ matrix.arch }}' \
|
||||
-DMAA_HASH_VERSION='${{ needs.meta.outputs.tag }}'
|
||||
|
||||
- name: Build
|
||||
run: |
|
||||
cmake --build build --config RelWithDebInfo --parallel $(sysctl -n hw.logicalcpu)
|
||||
|
||||
- name: Install
|
||||
run: |
|
||||
cmake --install build --prefix install --config RelWithDebInfo
|
||||
cmake -B build --preset ${{ matrix.arch == 'x86_64' && 'macos-publish-x64' || 'macos-publish-arm64' }} -DMAA_HASH_VERSION='${{ needs.meta.outputs.tag }}'
|
||||
cmake --build --preset ${{ matrix.arch == 'x86_64' && 'macos-publish-x64' || 'macos-publish-arm64' }} --parallel $(sysctl -n hw.logicalcpu)
|
||||
cmake --install build --config RelWithDebInfo
|
||||
|
||||
- name: Upload MAA to GitHub
|
||||
uses: actions/upload-artifact@v6
|
||||
|
||||
25
.github/workflows/release-nightly-ota.yml
vendored
@@ -185,19 +185,26 @@ jobs:
|
||||
run: |
|
||||
python3 tools/maadeps-download.py ${{ matrix.arch }}-windows
|
||||
|
||||
- name: Config cmake
|
||||
- name: Configure, build and install
|
||||
run: |
|
||||
mkdir -p build
|
||||
cmake -B build ${{ matrix.arch == 'arm64' && '-A ARM64' }} -DCMAKE_BUILD_TYPE=RelWithDebInfo -DMAADEPS_TRIPLET='maa-${{ matrix.arch }}-windows' -DINSTALL_RESOURCE=ON -DINSTALL_PYTHON=ON -DMAA_HASH_VERSION='${{ steps.set_tag.outputs.tag }}' -DBUILD_WPF_GUI=OFF
|
||||
cmake -B build --preset ${{ matrix.arch == 'arm64' && 'windows-publish-arm64' || 'windows-publish-x64' }} -DMAA_HASH_VERSION='${{ steps.set_tag.outputs.tag }}'
|
||||
cmake --build --preset ${{ matrix.arch == 'arm64' && 'windows-publish-arm64' || 'windows-publish-x64' }} --parallel $env:NUMBER_OF_PROCESSORS
|
||||
cmake --install build --config RelWithDebInfo
|
||||
|
||||
- name: Build
|
||||
run: |
|
||||
cmake --build build --config RelWithDebInfo --parallel $env:NUMBER_OF_PROCESSORS
|
||||
- name: Download MaaFramework
|
||||
if: matrix.arch == 'x64'
|
||||
uses: robinraju/release-downloader@v1
|
||||
with:
|
||||
repository: MaaXYZ/MaaFramework
|
||||
latest: true
|
||||
fileName: '*win-x86_64*.zip'
|
||||
extract: true
|
||||
out-file-path: MaaFramework-temp
|
||||
|
||||
- name: Install
|
||||
- name: Copy MaaWin32ControlUnit
|
||||
if: matrix.arch == 'x64'
|
||||
run: |
|
||||
mkdir -p install
|
||||
cmake --install build --prefix install --config RelWithDebInfo
|
||||
cp MaaFramework-temp/bin/*Win32ControlUnit* install/
|
||||
|
||||
- name: Cache .nuke/temp, ~/.nuget/packages
|
||||
id: cache-nuget
|
||||
|
||||
@@ -18,6 +18,11 @@ on:
|
||||
type: boolean
|
||||
required: false
|
||||
default: true
|
||||
maa_cos:
|
||||
description: "Upload to MAA COS"
|
||||
type: boolean
|
||||
required: false
|
||||
default: true
|
||||
|
||||
env:
|
||||
RELEASE_TAG_RAW: ${{ github.event.inputs.release_tag || 'latest' }}
|
||||
@@ -120,3 +125,30 @@ jobs:
|
||||
release-tag: ${{ env.RELEASE_TAG }}
|
||||
fork-user: MaaAssistantArknights
|
||||
token: ${{ secrets.MAABOT_WINGET_TOKEN }}
|
||||
|
||||
maa_cos:
|
||||
name: Upload to MAA COS
|
||||
needs: meta
|
||||
if: ${{ github.event.inputs.maa_cos == 'true' && !contains(needs.meta.outputs.RELEASE_TAG, '-') }}
|
||||
runs-on: ubuntu-latest
|
||||
continue-on-error: true
|
||||
env:
|
||||
FILENAME: MAA-${{ needs.meta.outputs.RELEASE_TAG }}-win-x64.zip
|
||||
|
||||
steps:
|
||||
- uses: robinraju/release-downloader@v1
|
||||
with:
|
||||
repository: 'MaaAssistantArknights/MaaAssistantArknights'
|
||||
latest: true
|
||||
fileName: ${{ env.FILENAME }}
|
||||
out-file-path: 'downloads'
|
||||
token: ${{ secrets.GITHUB_TOKEN }}
|
||||
|
||||
- name: Upload to COS
|
||||
uses: zkqiang/tencent-cos-action@v0.1.0
|
||||
with:
|
||||
args: upload -rs downloads/${{ env.FILENAME }} MAA/${{ env.FILENAME }}
|
||||
secret_id: ${{ secrets.MISTEO_MAA_COS_SECRET_ID }}
|
||||
secret_key: ${{ secrets.MISTEO_MAA_COS_SECRET_KEY }}
|
||||
bucket: ${{ secrets.MISTEO_MAA_COS_BUCKET }}
|
||||
region: ${{ secrets.MISTEO_MAA_COS_REG }}
|
||||
|
||||
2
.github/workflows/release-preparation.yml
vendored
@@ -95,7 +95,7 @@ jobs:
|
||||
AnnAngela
|
||||
|
||||
- name: Assign reviewers to release PR
|
||||
uses: kentaro-m/auto-assign-action@v2.0.0
|
||||
uses: kentaro-m/auto-assign-action@v2.0.1
|
||||
with:
|
||||
configuration-path: ".github/release_reviewers.yaml"
|
||||
|
||||
|
||||
22
.github/workflows/res-update-game.yml
vendored
@@ -184,25 +184,13 @@ jobs:
|
||||
run: |
|
||||
python3 tools/maadeps-download.py arm64-osx
|
||||
|
||||
- name: Config cmake
|
||||
- name: Config, Build & Install ResourceUpdater
|
||||
if: steps.resupd-cache.outputs.cache-hit != 'true'
|
||||
run: |
|
||||
cd tools/ResourceUpdater
|
||||
mkdir -p build
|
||||
cmake -B build -GNinja \
|
||||
-DCMAKE_BUILD_TYPE=Release \
|
||||
-DMAADEPS_TRIPLET='maa-arm64-osx' \
|
||||
-DWITH_HASH_VERSION=ON
|
||||
|
||||
- name: Build
|
||||
if: steps.resupd-cache.outputs.cache-hit != 'true'
|
||||
run: |
|
||||
cmake --build tools/ResourceUpdater/build --config Release --parallel $(sysctl -n hw.logicalcpu)
|
||||
|
||||
- name: Install
|
||||
if: steps.resupd-cache.outputs.cache-hit != 'true'
|
||||
run: |
|
||||
cmake --install tools/ResourceUpdater/build --prefix tools/ResourceUpdater --config Release
|
||||
cmake --preset res-updater-macos-arm64
|
||||
cmake --build --preset res-updater-macos-arm64 --parallel $(sysctl -n hw.logicalcpu)
|
||||
cmake --install build --config Release
|
||||
|
||||
- name: Save ResourceUpdater to cache
|
||||
if: always() && steps.resupd-cache.outputs.cache-hit != 'true'
|
||||
@@ -291,7 +279,7 @@ jobs:
|
||||
- name: Optimize png images
|
||||
if: steps.update_version.outputs.contains_png == 'True'
|
||||
run: |
|
||||
python3 tools/OptimizeTemplates/optimize_templates.py -p resource/template/items/ resource/template/infrast/
|
||||
python3 tools/OptimizeTemplates/optimize_templates.py --no-cleanup -p resource/template/items/ resource/template/infrast/
|
||||
|
||||
- name: Commit changes
|
||||
if: steps.update_version.outputs.changes == 'True'
|
||||
|
||||
29
.github/workflows/smoke-testing.yml
vendored
@@ -4,6 +4,8 @@ permissions:
|
||||
|
||||
on:
|
||||
push:
|
||||
branches:
|
||||
- "dev"
|
||||
paths:
|
||||
- ".github/workflows/smoke-testing.yml"
|
||||
- "3rdparty/include/**"
|
||||
@@ -32,7 +34,7 @@ on:
|
||||
workflow_dispatch:
|
||||
|
||||
concurrency:
|
||||
group: ${{ github.workflow }}-${{ github.event.pull_request.number || github.ref }}-${{ github.ref == 'refs/heads/dev' && github.sha }}
|
||||
group: ${{ github.workflow }}-${{ github.event.pull_request.head.repo.full_name || github.repository }}-${{ github.head_ref || github.ref_name }}${{ github.ref == 'refs/heads/dev' && format('-{0}', github.sha) || '' }}
|
||||
cancel-in-progress: true
|
||||
|
||||
jobs:
|
||||
@@ -87,27 +89,12 @@ jobs:
|
||||
run: |
|
||||
python3 tools/maadeps-download.py arm64-osx
|
||||
|
||||
- name: Config cmake
|
||||
- name: Configure, build and install
|
||||
if: steps.smoke-cache.outputs.cache-hit != 'true'
|
||||
run: |
|
||||
mkdir -p build
|
||||
cmake -B build -GNinja \
|
||||
-DCMAKE_BUILD_TYPE=Debug \
|
||||
-DMAADEPS_TRIPLET='maa-arm64-osx' \
|
||||
-DBUILD_SMOKE_TEST=ON \
|
||||
-DINSTALL_RESOURCE=ON \
|
||||
-DWITH_HASH_VERSION=ON
|
||||
|
||||
- name: Build
|
||||
if: steps.smoke-cache.outputs.cache-hit != 'true'
|
||||
run: |
|
||||
cmake --build build --config Debug --parallel $(sysctl -n hw.logicalcpu)
|
||||
|
||||
- name: Install
|
||||
if: steps.smoke-cache.outputs.cache-hit != 'true'
|
||||
run: |
|
||||
mkdir -p install
|
||||
cmake --install build --prefix install --config Debug
|
||||
cmake -B build --preset smoke-test
|
||||
cmake --build build --preset smoke-test --parallel $(sysctl -n hw.logicalcpu)
|
||||
cmake --install build --config Debug
|
||||
|
||||
- name: Make link to Smoke Test cache
|
||||
if: steps.smoke-cache.outputs.cache-hit == 'true'
|
||||
@@ -126,8 +113,8 @@ jobs:
|
||||
key: ${{ steps.cache_key.outputs.key }}
|
||||
path: |
|
||||
./install/libfastdeploy_ppocr.dylib
|
||||
./install/libMaaUtils.dylib
|
||||
./install/libMaaCore.dylib
|
||||
./install/libMaaUtils.dylib
|
||||
./install/libonnxruntime.1.19.2.dylib
|
||||
./install/libopencv_world4.4.11.0.dylib
|
||||
./install/smoke_test
|
||||
|
||||
12
.gitignore
vendored
@@ -411,10 +411,10 @@ FodyWeavers.xsd
|
||||
# VS Code files for those working on multiple tools
|
||||
**/.vscode/*
|
||||
.vscode/*
|
||||
!.vscode/settings.json
|
||||
!.vscode/tasks.json
|
||||
!.vscode/launch.json
|
||||
!.vscode/extensions.json
|
||||
# !.vscode/settings.json
|
||||
# !.vscode/tasks.json
|
||||
# !.vscode/launch.json
|
||||
# !.vscode/extensions.json
|
||||
*.code-workspace
|
||||
|
||||
# Local History for Visual Studio Code
|
||||
@@ -434,7 +434,6 @@ FodyWeavers.xsd
|
||||
screen.png
|
||||
adb_screen.png
|
||||
tools/**/*.png
|
||||
.vscode
|
||||
enc_temp_folder/*
|
||||
|
||||
# RoguelikeRecruitmentTool 导出的 Excel 文件
|
||||
@@ -479,3 +478,6 @@ install
|
||||
|
||||
# pnpm cache
|
||||
.pnpm-store
|
||||
|
||||
# CMake user presets
|
||||
CMakeUserPresets.json
|
||||
|
||||
3
.vscode/settings.json
vendored
@@ -15,5 +15,6 @@
|
||||
"files.associations": {
|
||||
"**/resource/tasks/**/*.json": "jsonc"
|
||||
},
|
||||
"C_Cpp.exclusionPolicy": "checkFilesAndFolders"
|
||||
"C_Cpp.exclusionPolicy": "checkFilesAndFolders",
|
||||
"cmake.outputLogEncoding": "UTF-8"
|
||||
}
|
||||
|
||||
@@ -115,15 +115,15 @@ static constexpr double rel_pos_x = 1.3143386840820312;
|
||||
static constexpr double rel_pos_y = 1.314337134361267;
|
||||
static constexpr double rel_pos_z = -0.3967874050140381;
|
||||
|
||||
inline auto get_retreat_screen_pos(const Level& level)
|
||||
inline auto get_retreat_screen_pos(const Level& level, bool has_multi_stages = false)
|
||||
{
|
||||
const vec3d relative_pos = { -rel_pos_x, +rel_pos_y, rel_pos_z };
|
||||
const vec3d relative_pos = { -rel_pos_x + (has_multi_stages ? level.view[0].x : 0), +rel_pos_y, rel_pos_z };
|
||||
return world_to_screen(level, relative_pos, true);
|
||||
}
|
||||
|
||||
inline auto get_skill_screen_pos(const Level& level)
|
||||
inline auto get_skill_screen_pos(const Level& level, bool has_multi_stages = false)
|
||||
{
|
||||
const vec3d relative_pos = { +rel_pos_x, -rel_pos_y, rel_pos_z };
|
||||
const vec3d relative_pos = { +rel_pos_x + (has_multi_stages ? level.view[0].x : 0), -rel_pos_y, rel_pos_z };
|
||||
return world_to_screen(level, relative_pos, true);
|
||||
}
|
||||
|
||||
|
||||
297
CHANGELOG.md
@@ -1,101 +1,268 @@
|
||||
## v6.1.0
|
||||
## v6.3.2
|
||||
|
||||
### Highlights
|
||||
### 拉电线不知天地为何物 | Highlight
|
||||
|
||||
#### 新增隐秘战线(Hidden Front)玩法支持
|
||||
本次版本更新真的是千呼万唤始出来,也恰逢新年版本和 PC 端的发布,我们在这个版本提供了对 PC 端的初步支持,也合并了 SideStory 「辞岁行」 的数据。
|
||||
|
||||
本次版本新增隐秘战线(Hidden Front)功能。支持完整流程控制与识别逻辑,为相关玩法提供稳定、可用的自动化支持。
|
||||
#### Windows 端一键长草任务配置重构
|
||||
|
||||
#### 外服肉鸽(界园)适配
|
||||
本次更新我们对 Windows 端 「一键长草」 任务配置进行了重构,解决了一些痛点。
|
||||
|
||||
完善了 Yostar JP / KR / EN 服务器的肉鸽(界园)玩法支持。
|
||||
现在牛牛支持添加多个重复类型任务,并支持重命名。现在你可以通过 「一键长草」 任务左下角的加号按钮添加多个同类型任务,并可以通过拖拽任务来调整任务执行顺序,以及右键点击任务右侧的齿轮图标重命名和删除任务,这样你就可以更灵活地管理任务。
|
||||
|
||||
#### 日志悬浮窗正式上线
|
||||
牛牛也新增了理智作战任务的周计划设置,可按星期数(如星期三、星期二、星期五等)设置任务是否执行。这样你就可以结合上面提到的添加任务,<u>在理智作战任务前添加另一个理智作战任务,并将其设置为仅打当期剿灭、仅在星期一运行</u>,更多用法等你探索~
|
||||
|
||||
新增日志悬浮窗功能,可实时展示自动战斗相关日志,并支持通过托盘菜单快速切换显示状态,便于运行观测与问题排查。
|
||||
另外,在牛牛执行一键长草流程时,各个任务的勾选框会根据其运行状态以不同颜色进行区分,直观反馈任务被跳过、已完成、运行中或执行失败等状态。
|
||||
|
||||
#### 更新提示支持点击直接触发更新
|
||||
注:由于牛牛现已支持 「理智作战」 周计划并可添加多个同类型任务,本次更新**移除了原有 「剿灭作战」 任务失败后自动尝试下一个已开放的备选逻辑**,如有需要请参照上方的示例添加对应任务。
|
||||
|
||||
主界面左上角的新版本提示现已支持点击,用户可直接触发更新流程,减少操作步骤。
|
||||
#### PC 端初步支持
|
||||
|
||||
本次更新,牛牛已支持控制 PC 端明日方舟了~不过有以下限制:
|
||||
|
||||
* 由于 Windows 的限制,PC 端在被控制时**不可以处于最小化窗口状态**,否则游戏画面不会被渲染,也就无法被牛牛识别;
|
||||
* 由于 Win32 API 和某反作弊软件的限制,牛牛在控制 PC 端时**必须要直接控制鼠标(不能模拟点击)**,期间不建议你使用鼠标。
|
||||
|
||||
另外,由于维护人手有限,PC 端的适配可能长期处于不稳定状态,部分功能可能出现异常或暂时无法使用。
|
||||
|
||||
我们非常欢迎社区开发者协助适配并提交改进,共同完善对 PC 端的支持。
|
||||
|
||||
#### 其他方面
|
||||
|
||||
* 我们继续对界园肉鸽进行适配,包括 DLC 2 的更新支持;
|
||||
* 我们优化了自动编队的识别,现在支持对作业要求的精英化、等级和模组的识别,如果发现你的干员不满足要求将会有对应提示;
|
||||
* 相应的,干员识别功能也支持显示精英化和等级了。
|
||||
|
||||
----
|
||||
|
||||
#### New Hidden Front Support Across All Servers
|
||||
#### Restructuring of *Farming* Configuration for Windows
|
||||
|
||||
This release introduces full support for the Hidden Front feature across all servers, with complete flow handling and recognition logic to ensure stable and reliable automation.
|
||||
In this update, we have restructured the *Farming* configuration for Windows, addressing several pain points.
|
||||
|
||||
#### Overseas Roguelike (JieGarden) Support
|
||||
MAA now supports adding multiple tasks of the same type and renaming them. You can add multiple tasks of the same type using the plus button at the bottom left of the *Farming* panel, adjust the execution order by dragging tasks, and rename or delete tasks by right-clicking the gear icon on the right side of each task. This allows for more flexible task management.
|
||||
|
||||
Roguelike (JieGarden) support has been improved for Yostar JP / KR / EN servers.
|
||||
MAA also supports weekly schedule settings for *Combat* tasks, allowing you to specify on which days of the week (e.g., Monday, Thursday) a task should run. For example, you can add another *Combat* task before your existing one and set it to only run Current Annihilation on Mondays. More usage scenarios await your exploration!
|
||||
|
||||
#### Floating Log Window Introduced
|
||||
Additionally, when MAA executes the *Farming* process, the checkboxes for each task will be color-coded to indicate their status: skipped, completed, running, or failed, providing intuitive feedback.
|
||||
|
||||
A new floating log window is now available, providing real-time visibility into auto-battle related logs. It can be toggled via the system tray for easier monitoring and debugging.
|
||||
Note: Since MAA now supports weekly schedules for *Combat* tasks and allows adding multiple tasks of the same type, this update **removes the previous logic that automatically attempted the next available alternative stage after a "Current Annihilation" task failure**. If needed, please refer to the example above to add corresponding tasks.
|
||||
|
||||
#### Clickable Update Notification in Main Window
|
||||
#### Preliminary PC Client Support (**[CN ONLY]**)
|
||||
|
||||
The new version indicator in the top-left corner of the main window is now clickable, allowing users to directly trigger the update process for a smoother upgrade experience.
|
||||
In this update, MAA now supports controlling the PC client of Arknights.
|
||||
|
||||
However, due to limited maintenance resources, PC client adaptation may remain unstable for a long period, and some features may experience issues or be temporarily unavailable.
|
||||
|
||||
We warmly welcome community developers to assist with adaptation and submit improvements to collectively enhance PC client support.
|
||||
|
||||
#### Other Updates
|
||||
|
||||
* Continued adaptation for *Sui's Garden of Grotesqueries*, including support for DLC 2 updates (**[CN ONLY]**)
|
||||
* Optimized recognition in *Auto Squad*, which now supports identifying elite, level, and module requirements. If your operators do not meet the requirements, you will receive corresponding prompts.
|
||||
* The operator recognition feature now also supports displaying elite and level information.
|
||||
|
||||
----
|
||||
|
||||
以下是详细内容:
|
||||
|
||||
## v6.1.0
|
||||
## v6.3.2
|
||||
|
||||
### 新增 | New
|
||||
|
||||
* 隐秘战线(Hidden Front)支持 @ABA2396 @Manicsteiner @HX3N @Constrat
|
||||
* Yostar JP/KR/EN 界园肉鸽支持 @Manicsteiner @HX3N @Constrat
|
||||
* 支持点击标题栏左上角“检测到新版本”提示直接触发更新 @ABA2396
|
||||
* 新增极寒保全派驻作业与相关自动战斗支持 @Saratoga-Official @ABA2396
|
||||
* 新增日志悬浮窗,支持自动战斗日志源与布局优化 (#15185) @ABA2396
|
||||
* 右键托盘菜单新增日志悬浮窗显示切换 @ABA2396
|
||||
* WPF 日志系统支持按级别输出日志文件 @status102
|
||||
* 满线索状态下一键置入线索 @ABA2396
|
||||
* 移除未使用的模板资源 (#15207) @Constrat
|
||||
* 更新期间退出应用时增加二次确认提示 (#14964) @Hakuin123 @ABA2396
|
||||
* 睡眠休眠前增加倒计时弹窗 @ABA2396
|
||||
* 生息演算支援道具名称改为全字匹配 @ABA2396
|
||||
|
||||
### 改进 | Improved
|
||||
|
||||
* move_camera 允许微调镜头 (#15220) @Daydreamer114
|
||||
* 任务运行期间,即使组件被禁用也可正常查看 Tooltip (#15186) @yali-hzy
|
||||
* 模板资源整体重构与体积优化,提升加载与识别效率 @Constrat
|
||||
* TemplResource 图片查找流程预构建索引,加快匹配速度 (#15092) @status102
|
||||
* ProcessTask 任务支持命中结果缓存,减少重复计算 (#12651) @status102
|
||||
* StableHash 算法优化,提升一致性与性能 @ABA2396
|
||||
* 截图工具统一将来自 src 的截图缩放至目标分辨率 @DavidWang19
|
||||
* RefreshCustomInfrastPlanIndexByPeriod 支持传入当前时间 @ABA2396
|
||||
* 悬浮窗整体布局与交互体验优化 @ABA2396
|
||||
* 使用 boost::regex 替换 std::regex,提高正则性能 (#15126) @MistEO
|
||||
* Update ko-kr.xaml (#15213) @178619
|
||||
* 干员识别按照 稀有度->精英化->等级->潜能->Id 排序 @ABA2396
|
||||
* 优化识别工具中列表小于 5 时的显示效果 @ABA2396
|
||||
* optimize templates @Constrat
|
||||
* increase score for AddOperatorTradeAggressive EN @Constrat
|
||||
|
||||
### 修复 | Fix
|
||||
|
||||
* 有猪把切换主题改炸了 @ABA2396
|
||||
* 引航者试炼借助战 @ABA2396
|
||||
* 修复资源更新错误复制 cache 文件夹的问题 @ABA2396
|
||||
* 修复更新后未成功下载的 OTA 包未被清理的问题 @status102
|
||||
* 修复更新界面在无可用 OTA 增量包时提示不正确的问题 @ABA2396
|
||||
* 修复 MacOS 下 asst.log 被意外自动清空的问题 (#15122) @Alan-Charred
|
||||
* 修复路径字符串首尾空格与控制字符导致的问题 (#15082) @mayuri0v0
|
||||
* 修复窗口更新检测按钮在更新期间未禁用的问题 @ABA2396
|
||||
* 修复日志与 UI 延迟变化导致的误匹配问题 (#15198) @status102
|
||||
* 修复 ROI 越界与更新工具异常 (#15204) @178619
|
||||
* 修复自动战斗中借用非好友助战后卡在加好友界面的问题 @ABA2396
|
||||
* 修复快速编队与模拟器卡顿导致的误点击与异常进入界面问题 @Saratoga-Official
|
||||
* 修复保全派驻在网络波动下可能无法确认阵容的问题 @ABA2396
|
||||
* 修复通宝与铜钱识别失败时的异常流程与卡死问题 (#15167 #15180 #15197) @travellerse @HX3N
|
||||
* 修复多服 OCR / 正则匹配问题,提升识别准确率(EN / JP / KR / 繁中) @Constrat @HX3N @Manicsteiner @momomochi987
|
||||
* 修复关卡名、掉落、通宝、铜钱、助战、招募等多处模板或识别错误 @ABA2396 @Constrat
|
||||
* Fixed multiple OCR regex issues for EN servers, improving drop, currency, and stage name recognition @Constrat
|
||||
* ClueGiveTo1stConfirm use delay for all client @Constrat
|
||||
* 4 星公招时间显示错误 @ABA2396
|
||||
* 刷理智自定义剿灭关卡在特定情况的绑定错误 @status102
|
||||
* 在禁用刷理智-自定义剿灭关卡后需要手动切换任务以刷新列表中显示的剿灭关卡, 尽管不影响实际运行 @status102
|
||||
* 会客室任务失败重试时尝试关闭赠送线索界面 @ABA2396
|
||||
* 肉鸽开局种子无法通过 Wpf 设置两位数难度 @status102
|
||||
* 小工具-公招识别 3~5 星选择时间无法修改 @status102
|
||||
* 小工具-干员识别 开始识别按钮启用状态绑定失效 @status102
|
||||
* 自动公招任务 3~5 星确认时间在修改后未能刷新 UI @status102
|
||||
* EN AveMujica terminal new template @Constrat
|
||||
* EN IS tentative fix increasing roi for encounter and more replace regex @Constrat
|
||||
* English text overflow on long strings in middle column @Constrat
|
||||
|
||||
### 文档 | Docs
|
||||
|
||||
* 删除一些过时内容 (#15700) @JasonHuang79
|
||||
|
||||
### 其他 | Other
|
||||
|
||||
* 调整倍战超过限制提示 @ABA2396
|
||||
* 更新 macos.cmake 构建配置 (#15173) @Alan-Charred
|
||||
* 更新 C# EditorConfig 以支持 C# 13 / 14 (#15146) @status102
|
||||
* 更新 pre-commit 与开发工具链配置 @SherkeyXD
|
||||
* 移除过时的代码检查与格式化配置,简化开发流程 @SherkeyXD
|
||||
* 悬浮窗移动时不再自动隐藏,避免与部分窗口(如 QQ)交互闪烁的问题 @ABA2396
|
||||
* continue on error required for blame ignore\npost @Constrat
|
||||
* 增加 id 格式验证 @ABA2396
|
||||
* 明确周计划和定时更新使用游戏时间而非现实时间 @ABA2396
|
||||
* 移除老主线导航逻辑 (#15644) @SherkeyXD
|
||||
* 繁中服「夢鄉」主題 (#15699) @momomochi987
|
||||
* Yostar servers SSS#9 and ShamareThumbnail (#15732) @Manicsteiner @Constrat
|
||||
|
||||
## v6.3.1
|
||||
|
||||
### 新增 | New
|
||||
|
||||
* OperNameAnalyzer 支持左对齐检测 (#15682) @ABA2396
|
||||
|
||||
### 改进 | Improved
|
||||
|
||||
* 配置迁移自动为启用备选且首个关卡为剿灭模式的刷理智任务自动添加额外的刷理智任务 @status102
|
||||
* 忽略干员属性要求 不再允许跳过精英化要求 (#15697) @status102 @Constrat @HX3N
|
||||
|
||||
### 修复 | Fix
|
||||
|
||||
* JP AveMujica event ocr @Manicsteiner
|
||||
* EN IS StageRefresh @Constrat
|
||||
* i'm kinda stupid @Constrat
|
||||
* update refresh node EN IS5 @Constrat
|
||||
* EN IS fix trader store templates AGAIN @Constrat
|
||||
* EN Yu OCR for Yutenji @Constrat
|
||||
* 自动编队选择技能时点击到技能描述/技能范围 @status102
|
||||
* 自动编队期间如有干员属性要求被忽略, 则禁用自动化投票 @status102
|
||||
|
||||
### 文档 | Docs
|
||||
|
||||
* 更新 api 链接 @ABA2396
|
||||
|
||||
### 其他 | Other
|
||||
|
||||
* UserAdditional 非 json 格式返回原始字符串 @status102
|
||||
* 使用屏幕宽高常量代替硬编码 @status102
|
||||
* 屏幕外的干员跳过技能就绪检测 @status102
|
||||
* 調整繁中服界園肉鴿 OCR (2/?) @momomochi987
|
||||
* color [INF] for smoke testing as well @Constrat
|
||||
* 调整单字干员正则 @ABA2396
|
||||
* 調整繁中服界園肉鴿 OCR (#15678) @momomochi987
|
||||
* 删除干员名开头/末尾的_<> @ABA2396
|
||||
* 添加响石、赤刃明霄陈基建技能加成 (#15674) @drway
|
||||
* 保全派驻自动战斗使用二值化结果识别干员名 @ABA2396
|
||||
* 删除无用的正则替换 @ABA2396
|
||||
* 自动战斗使用二值化结果识别干员名 @ABA2396
|
||||
* 仅在 VS Code 中添加辅助项目 (#15669) @status102
|
||||
* JP OperNameAnalyzer specialParams @Manicsteiner
|
||||
|
||||
## v6.3.0
|
||||
|
||||
### 新增 | New
|
||||
|
||||
* 支持 PC 端明日方舟 (#15407) @MistEO @ABA2396
|
||||
* SideStory「辞岁行」导航及地图数据更新 @SherkeyXD @status102
|
||||
* 界园肉鸽 DLC 2 分队更新、通宝数据更新、可选难度提高至 18、支持指定种子开局 (#15588) @SherkeyXD @status102 @HX3N @Manicsteiner
|
||||
* 繁中服界園肉鴿初步適配 (#15605) @momomochi987
|
||||
* 干员识别支持显示精英化、等级与潜能 @ABA2396
|
||||
* 自动编队识别精英化、等级及模组要求 (#15161) @status102 @Manicsteiner @Constrat @HX3N
|
||||
* 芯片本支持显示库存数量 @ABA2396
|
||||
* 新增注入弹窗不再提醒的勾选框,勾选后使用软件渲染 @ABA2396
|
||||
* WpfGui 清空缓存按钮 (#15582) @soundofautumn @Constrat @HX3N @momomochi987
|
||||
* 自定干员名称无效时的错误处理及本地化支持 (#15556) @yali-hzy @HX3N
|
||||
* 设置指引增加右键重命名/删除提示 @ABA2396
|
||||
* 新 Config 加载时移除旧 Config 中不存在的配置 @status102
|
||||
* 日志中额外记录 TaskChain 与 taskId ~~免得有人把 Fight 改成开始唤醒~~ @ABA2396
|
||||
* YostarEN/JP/KR Dreamland、JieGarden 和 AveMujica 主题支持 @Constrat @Manicsteiner @HX3N
|
||||
|
||||
### 改进 | Improved
|
||||
|
||||
* Wpf 一键长草任务配置重构,支持添加多个同类型任务、重命名和周计划设置 (#15385) @status102 @ABA2396 @momomochi987 @HX3N
|
||||
* 刷理智过期关卡逻辑/样式优化 @status102 @ABA2396
|
||||
* 关卡候选列表刷新及关卡选择下拉列表刷新 (#15562) @status102 @HX3N @Constrat @Manicsteiner @momomochi987
|
||||
* 优化自动战斗界面布局 (#15512) @yali-hzy
|
||||
* 优化任务设置按钮悬浮提示 @ABA2396
|
||||
* 优化设置右键菜单布局 @ABA2396
|
||||
* 优化干员识别、仓库识别显示 @ABA2396
|
||||
* 配置迁移检查优化与简化 @status102 @ABA2396
|
||||
* 开始唤醒任务未设置账号切换时,禁用手动切换按钮 @status102
|
||||
* 自动战斗掉线重连、自动肉鸽在战斗结束前延迟「停止」动作添加多任务共用提示 @ABA2396 @status102
|
||||
* 剿灭卡使用到上限时不报错停止 @ABA2396
|
||||
* 剿灭关卡通过 ends_with 判断 @ABA2396
|
||||
* 刷理智任务高级设置 UI 调整选项顺序和显示优化 @status102
|
||||
* 自动战斗自动编队检查`干员等级&精英化`及`技能等级`拆分 @status102
|
||||
* 自动战斗不支持技能重置说明中,干员名遵循干员名语言设置 @status102
|
||||
* 自动战斗作业列表使用相对路径代替绝对路径 @status102
|
||||
* TaskQueue 重命名与移除时显示任务序号 @status102
|
||||
* TaskQueue 任务开始&完成显示修改后的任务名 @status102
|
||||
* 追加自定干员允许不切换技能 @status102
|
||||
* 存在 crash.log 时,Wpf 尝试获取 dumps 文件 (#15432) @status102
|
||||
* 移除过时的参数兼容 @status102
|
||||
* 消除部分编译警告 (#15578) @yali-hzy
|
||||
* NumberOcrReplace 新增规则 (#14186) @Manicsteiner
|
||||
|
||||
### 修复 | Fix
|
||||
|
||||
* 配置迁移相关问题修复:迁移后切换回原配置、删除配置时未删除 .new、多配置用户删除 Default 配置时迁移异常、剩余理智启用状态和关卡选择迁移问题 @status102 @ABA2396
|
||||
* 刷理智任务相关修复:切换刷理智任务时读取错误关卡列表、运行时不允许添加关卡 @status102
|
||||
* 自动编队相关修复:识别技能等级匹配失败、干员技能描述过长时点击位置错误、禁用快速选中以修复外服干员技能描述过长的错误选中、干员等级跨精英化时判断出错、干员等级不足 i18n 未启用、干员组干员未解析精英化及等级属性、先兼容旧作业中不合理的技能选择 @status102
|
||||
* 公招加速券识别问题修复 @status102
|
||||
* LoadApiCache 路径拼接错误 @ABA2396
|
||||
* 主线导航及外服主线导航问题修复 @SherkeyXD @ABA2396
|
||||
* 在赠送线索时弹出上次线索交流结束的提示时无法返回 @ABA2396
|
||||
* 粘贴作业集代码后下方的链接未重置为作业站链接 @ABA2396
|
||||
* 修复移动已打开设置的任务后,当前的设置面板无法继续修改的问题 @ABA2396
|
||||
* 萨米肉鸽刷开局功能异常 @ABA2396
|
||||
* 肉鸽烧水分队切换界面后错误重置 @status102
|
||||
* 保证通宝优先级未定义时不会加载崩溃 fallback 到默认值 @SherkeyXD
|
||||
* SEH 错误终止运行 @status102
|
||||
* 启动 MAA 时若没有任何任务,则追加一套默认任务 @status102
|
||||
* 启动客户端绑定失效问题修复 @status102
|
||||
* 关卡列表显示不刷新 @status102
|
||||
* 选中完成后动作时添加新任务未能隐藏完成后动作设置 UI @status102
|
||||
* 刷理智使用源石 CheckBox 勾选后不生效 @status102
|
||||
* 退出 MAA 时重置变量不再刷新 UI @status102
|
||||
* 初始化 StartEnabled 属性为 true (#15596) @yali-hzy
|
||||
* 自动战斗切换活动类型未清空解析缓存 @status102
|
||||
* 修复任务出错日志可能晚于任务完成日志显示的问题 @ABA2396
|
||||
* 开始干员识别前重置潜能状态 @ABA2396
|
||||
* 修复生息演算商店无法正常购买皮肤的问题 (#15585) @drway
|
||||
* 手动输入关卡名时,不移除过期关卡 @status102
|
||||
* 过期关卡重置模式补充自动迁移 @status102
|
||||
* OR 关卡掉落界面关卡名识别问题 @ABA2396
|
||||
* EX 关符合时 1 被识别为 | @ABA2396
|
||||
* NumberOcrReplace 移除`|`和`/` (#15625) @status102
|
||||
* 移除单字干员 ocr 替换中的 +*?避免误判 @Saratoga-Official
|
||||
* 涤火杰西卡识别 @ABA2396
|
||||
* 日服酒神、見字祠识别 @Saratoga-Official
|
||||
* YostarKR Roguelike@ChooseOperConfirm @HX3N
|
||||
* YostarKR use ' ' in ocrReplace to preserve '\n' for InfrastTrainingTask @HX3N
|
||||
* EN Greyy Alter regex @Constrat
|
||||
* EN IS6 encounter @Constrat
|
||||
* EN IS TradeInvest templates text font change @Constrat
|
||||
* EN IS ShoppingConfirm text font change @Constrat
|
||||
* EN refresh node template @Constrat
|
||||
* JP AT minigame confirm (#15427) @Manicsteiner
|
||||
* JP JieGardenStrategyChange @Saratoga-Official
|
||||
* add MaaWin32ControlUnit to nightly build (#15447) @Manicsteiner
|
||||
|
||||
### 文档 | Docs
|
||||
|
||||
* 集成文档统一格式,同时显示 field-group 和示例代码 (#15409) @ABA2396 @Manicsteiner @Constrat @momomochi987
|
||||
* 繁中文件大更新 (#15480) @momomochi987
|
||||
* 修正开发文档中的格式错误及笔误 (#15516) @yali-hzy
|
||||
* 自动战斗作业文档干员技能值范围补上 0 @status102
|
||||
|
||||
### 其他 | Other
|
||||
|
||||
* 作业集 Parse 后不删除历史记录,避免错过作业抛出的错误 @ABA2396
|
||||
* 辞岁行地图 2026-02-10 Map 更新 @status102
|
||||
* 繁中服不上报企鹅物流 @ABA2396
|
||||
* devcontainer 适配 CMakePresets.json (#15606) @lucienshawls
|
||||
* 移除不再使用的 VirtualizingWrapPanel 与 NoAutomationDataGrid @ABA2396
|
||||
* 调整清理图片缓存样式,增加提示 @ABA2396
|
||||
* 补全缺少的翻译 @ABA2396
|
||||
* 优化 emoji @ABA2396
|
||||
* 自动战斗-自动编队干员不支持技能说明国际化 (#15609) @status102 @Constrat @HX3N @Manicsteiner
|
||||
* 自动战斗编队技能等级不足 i18n,CN 使用理智药及碎石文案 (#15435) @status102 @HX3N
|
||||
* 增加借助战 OF-1 在后续刷理智选择`当前/上次`导致禁用时的输出 (#15478) @status102 @Manicsteiner @Constrat @HX3N @ABA2396 @momomochi987
|
||||
* remove regex from `text` field in EN Sui IS @Constrat
|
||||
* KR AnnouncementNotFinishedConfirm、ReceptionOptionsRequireInfrast、CreditFightWhenOF-1Warning、MiniGame ConversationRoom and HoneyFruit 支持 @HX3N
|
||||
* EN minigame honeyfruit、IS6 tip 支持 @Constrat
|
||||
* JP MiniGame HoneyFruit 支持 @Manicsteiner
|
||||
* YostarJP ocr fix for roguelike @Manicsteiner
|
||||
* manual data for txwy @Constrat
|
||||
* optimize templates @Constrat
|
||||
* fix casing typo and related context (#15656) @ittuann @Daydreamer114
|
||||
|
||||
@@ -35,6 +35,13 @@ if(BUILD_WPF_GUI)
|
||||
include_external_msproject(MaaWpfGui ${PROJECT_SOURCE_DIR}/src/MaaWpfGui/MaaWpfGui.csproj)
|
||||
|
||||
add_dependencies(MaaWpfGui MaaCore)
|
||||
if(DEFINED ENV{VSCODE_PID})
|
||||
add_custom_target(run-MaaWpfGui
|
||||
COMMAND "${CMAKE_BINARY_DIR}/bin/$<CONFIG>/MAA.exe"
|
||||
DEPENDS MaaWpfGui
|
||||
WORKING_DIRECTORY "${CMAKE_BINARY_DIR}/bin/$<CONFIG>"
|
||||
)
|
||||
endif()
|
||||
endif()
|
||||
|
||||
if(INSTALL_PYTHON)
|
||||
|
||||
348
CMakePresets.json
Normal file
@@ -0,0 +1,348 @@
|
||||
{
|
||||
"version": 10,
|
||||
"cmakeMinimumRequired": {
|
||||
"major": 3,
|
||||
"minor": 23,
|
||||
"patch": 0
|
||||
},
|
||||
"configurePresets": [
|
||||
{
|
||||
"name": "windows-base",
|
||||
"hidden": true,
|
||||
"generator": "Visual Studio 18 2026",
|
||||
"binaryDir": "${sourceDir}/build",
|
||||
"$comment": [
|
||||
"Base for Windows presets; Visual Studio is multi-config (Debug/Release/RelWithDebInfo in same build dir)",
|
||||
"see https://cmake.org/cmake/help/latest/generator/Visual%20Studio%2018%202026.html"
|
||||
],
|
||||
"cacheVariables": {
|
||||
"BUILD_WPF_GUI": "ON",
|
||||
"BUILD_DEBUG_DEMO": "ON",
|
||||
"INSTALL_RESOURCE": "OFF",
|
||||
"INSTALL_PYTHON": "OFF"
|
||||
},
|
||||
"condition": {
|
||||
"type": "equals",
|
||||
"lhs": "${hostSystemName}",
|
||||
"rhs": "Windows"
|
||||
}
|
||||
},
|
||||
{
|
||||
"name": "linux-base",
|
||||
"hidden": true,
|
||||
"generator": "Ninja Multi-Config",
|
||||
"binaryDir": "${sourceDir}/build",
|
||||
"$comment": [
|
||||
"Base for Linux presets; Ninja is multi-config (Debug/Release/RelWithDebInfo in same build dir)",
|
||||
"see https://cmake.org/cmake/help/latest/generator/Ninja%20Multi-Config.html",
|
||||
"clangd uses compile_commands.json to provide code completion and navigation",
|
||||
"so CMAKE_EXPORT_COMPILE_COMMANDS is set to ON",
|
||||
"see https://clangd.llvm.org/installation.html"
|
||||
],
|
||||
"cacheVariables": {
|
||||
"CMAKE_EXPORT_COMPILE_COMMANDS": "ON"
|
||||
},
|
||||
"condition": {
|
||||
"type": "equals",
|
||||
"lhs": "${hostSystemName}",
|
||||
"rhs": "Linux"
|
||||
}
|
||||
},
|
||||
{
|
||||
"name": "macos-base",
|
||||
"hidden": true,
|
||||
"generator": "Ninja Multi-Config",
|
||||
"binaryDir": "${sourceDir}/build",
|
||||
"$comment": [
|
||||
"Base for macOS presets; Ninja is multi-config (Debug/Release/RelWithDebInfo in same build dir)",
|
||||
"see https://cmake.org/cmake/help/latest/generator/Ninja%20Multi-Config.html",
|
||||
"clangd uses compile_commands.json to provide code completion and navigation",
|
||||
"so CMAKE_EXPORT_COMPILE_COMMANDS is set to ON",
|
||||
"see https://clangd.llvm.org/installation.html"
|
||||
],
|
||||
"cacheVariables": {
|
||||
"CMAKE_EXPORT_COMPILE_COMMANDS": "ON"
|
||||
},
|
||||
"condition": {
|
||||
"type": "equals",
|
||||
"lhs": "${hostSystemName}",
|
||||
"rhs": "Darwin"
|
||||
}
|
||||
},
|
||||
{
|
||||
"name": "windows-x64",
|
||||
"inherits": "windows-base",
|
||||
"displayName": "Windows x64",
|
||||
"architecture": "x64",
|
||||
"cacheVariables": {
|
||||
"MAADEPS_TRIPLET": "maa-x64-windows"
|
||||
}
|
||||
},
|
||||
{
|
||||
"name": "windows-arm64",
|
||||
"inherits": "windows-base",
|
||||
"displayName": "Windows arm64",
|
||||
"architecture": "ARM64",
|
||||
"cacheVariables": {
|
||||
"MAADEPS_TRIPLET": "maa-arm64-windows"
|
||||
}
|
||||
},
|
||||
{
|
||||
"name": "linux-x64",
|
||||
"inherits": "linux-base",
|
||||
"displayName": "Linux x64",
|
||||
"toolchainFile": "src/MaaUtils/MaaDeps/cmake/maa-x64-linux-toolchain.cmake",
|
||||
"cacheVariables": {
|
||||
"MAADEPS_TRIPLET": "maa-x64-linux"
|
||||
}
|
||||
},
|
||||
{
|
||||
"name": "linux-arm64",
|
||||
"inherits": "linux-base",
|
||||
"displayName": "Linux arm64",
|
||||
"toolchainFile": "src/MaaUtils/MaaDeps/cmake/maa-arm64-linux-toolchain.cmake",
|
||||
"cacheVariables": {
|
||||
"MAADEPS_TRIPLET": "maa-arm64-linux"
|
||||
}
|
||||
},
|
||||
{
|
||||
"name": "macos-arm64",
|
||||
"inherits": "macos-base",
|
||||
"displayName": "macOS arm64",
|
||||
"cacheVariables": {
|
||||
"CMAKE_OSX_ARCHITECTURES": "arm64"
|
||||
}
|
||||
},
|
||||
{
|
||||
"name": "macos-x64",
|
||||
"inherits": "macos-base",
|
||||
"displayName": "macOS x64",
|
||||
"cacheVariables": {
|
||||
"CMAKE_OSX_ARCHITECTURES": "x86_64"
|
||||
}
|
||||
},
|
||||
{
|
||||
"name": "publish-base",
|
||||
"$comment":[
|
||||
"All the name contains 'publish' are used for github actions",
|
||||
"see .github/workflows/ci.yml"
|
||||
],
|
||||
"hidden": true,
|
||||
"installDir": "install",
|
||||
"cacheVariables": {
|
||||
"CMAKE_BUILD_TYPE": "RelWithDebInfo",
|
||||
"INSTALL_RESOURCE": "ON",
|
||||
"INSTALL_PYTHON": "ON",
|
||||
"BUILD_WPF_GUI": "OFF",
|
||||
"BUILD_DEBUG_DEMO": "OFF"
|
||||
}
|
||||
},
|
||||
{
|
||||
"name": "windows-publish-x64",
|
||||
"inherits": ["publish-base", "windows-x64"],
|
||||
"$comment": [
|
||||
"github actions only support Visual Studio 17 2022",
|
||||
"see https://github.com/actions/runner-images/issues/13291"
|
||||
],
|
||||
"generator": "Visual Studio 17 2022",
|
||||
"displayName": "Windows x64 Publish"
|
||||
},
|
||||
{
|
||||
"name": "windows-publish-arm64",
|
||||
"inherits": ["publish-base", "windows-arm64"],
|
||||
"$comment": [
|
||||
"github actions only support Visual Studio 17 2022",
|
||||
"see https://github.com/actions/runner-images/issues/13291"
|
||||
],
|
||||
"generator": "Visual Studio 17 2022",
|
||||
"displayName": "Windows arm64 Publish"
|
||||
},
|
||||
{
|
||||
"name": "linux-publish-x64",
|
||||
"inherits": ["publish-base", "linux-x64"],
|
||||
"displayName": "Linux x64 Publish"
|
||||
},
|
||||
{
|
||||
"name": "linux-publish-arm64",
|
||||
"inherits": ["publish-base", "linux-arm64"],
|
||||
"displayName": "Linux arm64 Publish"
|
||||
},
|
||||
{
|
||||
"name": "macos-publish-x64",
|
||||
"inherits": ["publish-base", "macos-x64"],
|
||||
"displayName": "macOS x64 Publish"
|
||||
},
|
||||
{
|
||||
"name": "macos-publish-arm64",
|
||||
"inherits": ["publish-base", "macos-arm64"],
|
||||
"displayName": "macOS arm64 Publish"
|
||||
},
|
||||
{
|
||||
"name": "smoke-test",
|
||||
"$comment":[
|
||||
"this preset is used for smoke testing",
|
||||
"see .github/workflows/smoke-testing.yml"
|
||||
],
|
||||
"inherits": "macos-arm64",
|
||||
"displayName": "macOS arm64 Smoke Test",
|
||||
"installDir": "install",
|
||||
"cacheVariables": {
|
||||
"BUILD_SMOKE_TEST": "ON",
|
||||
"INSTALL_RESOURCE": "ON",
|
||||
"WITH_HASH_VERSION": "ON"
|
||||
}
|
||||
}
|
||||
],
|
||||
"buildPresets": [
|
||||
{
|
||||
"name": "windows-x64-Debug",
|
||||
"displayName": "Build Windows x64 Debug",
|
||||
"configurePreset": "windows-x64",
|
||||
"configuration": "Debug"
|
||||
},
|
||||
{
|
||||
"name": "windows-x64-Release",
|
||||
"displayName": "Build Windows x64 Release",
|
||||
"configurePreset": "windows-x64",
|
||||
"configuration": "Release"
|
||||
},
|
||||
{
|
||||
"name": "windows-x64-RelWithDebInfo",
|
||||
"displayName": "Build Windows x64 RelWithDebInfo",
|
||||
"configurePreset": "windows-x64",
|
||||
"configuration": "RelWithDebInfo"
|
||||
},
|
||||
{
|
||||
"name": "windows-arm64-Debug",
|
||||
"displayName": "Build Windows arm64 Debug",
|
||||
"configurePreset": "windows-arm64",
|
||||
"configuration": "Debug"
|
||||
},
|
||||
{
|
||||
"name": "windows-arm64-Release",
|
||||
"displayName": "Build Windows arm64 Release",
|
||||
"configurePreset": "windows-arm64",
|
||||
"configuration": "Release"
|
||||
},
|
||||
{
|
||||
"name": "windows-arm64-RelWithDebInfo",
|
||||
"displayName": "Build Windows arm64 RelWithDebInfo",
|
||||
"configurePreset": "windows-arm64",
|
||||
"configuration": "RelWithDebInfo"
|
||||
},
|
||||
{
|
||||
"name": "linux-x64-Debug",
|
||||
"displayName": "Build Linux x64 Debug",
|
||||
"configurePreset": "linux-x64",
|
||||
"configuration": "Debug"
|
||||
},
|
||||
{
|
||||
"name": "linux-x64-Release",
|
||||
"displayName": "Build Linux x64 Release",
|
||||
"configurePreset": "linux-x64",
|
||||
"configuration": "Release"
|
||||
},
|
||||
{
|
||||
"name": "linux-x64-RelWithDebInfo",
|
||||
"displayName": "Build Linux x64 RelWithDebInfo",
|
||||
"configurePreset": "linux-x64",
|
||||
"configuration": "RelWithDebInfo"
|
||||
},
|
||||
{
|
||||
"name": "linux-arm64-Debug",
|
||||
"displayName": "Build Linux arm64 Debug",
|
||||
"configurePreset": "linux-arm64",
|
||||
"configuration": "Debug"
|
||||
},
|
||||
{
|
||||
"name": "linux-arm64-Release",
|
||||
"displayName": "Build Linux arm64 Release",
|
||||
"configurePreset": "linux-arm64",
|
||||
"configuration": "Release"
|
||||
},
|
||||
{
|
||||
"name": "linux-arm64-RelWithDebInfo",
|
||||
"displayName": "Build Linux arm64 RelWithDebInfo",
|
||||
"configurePreset": "linux-arm64",
|
||||
"configuration": "RelWithDebInfo"
|
||||
},
|
||||
{
|
||||
"name": "macos-x64-Debug",
|
||||
"displayName": "Build macOS x64 Debug",
|
||||
"configurePreset": "macos-x64",
|
||||
"configuration": "Debug"
|
||||
},
|
||||
{
|
||||
"name": "macos-x64-Release",
|
||||
"displayName": "Build macOS x64 Release",
|
||||
"configurePreset": "macos-x64",
|
||||
"configuration": "Release"
|
||||
},
|
||||
{
|
||||
"name": "macos-x64-RelWithDebInfo",
|
||||
"displayName": "Build macOS x64 RelWithDebInfo",
|
||||
"configurePreset": "macos-x64",
|
||||
"configuration": "RelWithDebInfo"
|
||||
},
|
||||
{
|
||||
"name": "macos-arm64-Debug",
|
||||
"displayName": "Build macOS arm64 Debug",
|
||||
"configurePreset": "macos-arm64",
|
||||
"configuration": "Debug"
|
||||
},
|
||||
{
|
||||
"name": "macos-arm64-Release",
|
||||
"displayName": "Build macOS arm64 Release",
|
||||
"configurePreset": "macos-arm64",
|
||||
"configuration": "Release"
|
||||
},
|
||||
{
|
||||
"name": "macos-arm64-RelWithDebInfo",
|
||||
"displayName": "Build macOS arm64 RelWithDebInfo",
|
||||
"configurePreset": "macos-arm64",
|
||||
"configuration": "RelWithDebInfo"
|
||||
},
|
||||
{
|
||||
"name": "windows-publish-x64",
|
||||
"displayName": "Build Windows x64 Publish",
|
||||
"configurePreset": "windows-publish-x64",
|
||||
"configuration": "RelWithDebInfo"
|
||||
},
|
||||
{
|
||||
"name": "windows-publish-arm64",
|
||||
"displayName": "Build Windows arm64 Publish",
|
||||
"configurePreset": "windows-publish-arm64",
|
||||
"configuration": "RelWithDebInfo"
|
||||
},
|
||||
{
|
||||
"name": "linux-publish-x64",
|
||||
"displayName": "Build Linux x64 Publish",
|
||||
"configurePreset": "linux-publish-x64",
|
||||
"configuration": "RelWithDebInfo"
|
||||
},
|
||||
{
|
||||
"name": "linux-publish-arm64",
|
||||
"displayName": "Build Linux arm64 Publish",
|
||||
"configurePreset": "linux-publish-arm64",
|
||||
"configuration": "RelWithDebInfo"
|
||||
},
|
||||
{
|
||||
"name": "macos-publish-x64",
|
||||
"displayName": "Build macOS x64 Publish",
|
||||
"configurePreset": "macos-publish-x64",
|
||||
"configuration": "RelWithDebInfo"
|
||||
},
|
||||
{
|
||||
"name": "macos-publish-arm64",
|
||||
"displayName": "Build macOS arm64 Publish",
|
||||
"configurePreset": "macos-publish-arm64",
|
||||
"configuration": "RelWithDebInfo"
|
||||
},
|
||||
{
|
||||
"name": "smoke-test",
|
||||
"displayName": "Build macOS arm64 Smoke Test",
|
||||
"configurePreset": "smoke-test",
|
||||
"configuration": "Debug"
|
||||
}
|
||||
]
|
||||
}
|
||||
@@ -46,7 +46,7 @@ MAA 的意思是 MAA Assistant Arknights
|
||||
|
||||
## 亮点功能
|
||||
|
||||
- 刷理智,掉落识别及上传 [企鹅物流](https://penguin-stats.cn/),[一图流](https://ark.yituliu.cn/)
|
||||
- 理智作战,掉落识别及上传 [企鹅物流](https://penguin-stats.cn/),[一图流](https://ark.yituliu.cn/)
|
||||
- 智能基建换班,自动计算干员效率,单设施内最优解;同时也支持 [自定义排班](https://docs.maa.plus/zh-cn/protocol/base-scheduling-schema.html)
|
||||
- 自动公招,可选使用加急许可,一次全部刷完!公招数据自动上传 [企鹅物流](https://penguin-stats.cn/result/stage/recruit/recruit),[一图流](https://ark.yituliu.cn/survey/maarecruitdata)
|
||||
- 支持手动识别公招界面,方便对高星公招做出选择 ~~(你的这个高资回费出的是推王呢还是推王呢)~~
|
||||
|
||||
@@ -12,7 +12,7 @@ function(create_resource_link TARGET_NAME OUTPUT_DIR)
|
||||
COMMENT "Creating junction for resource directory for ${TARGET_NAME}"
|
||||
)
|
||||
else()
|
||||
# Unix/Linux/macOS 使用符号链接
|
||||
# UNIX/Linux/macOS 使用符号链接
|
||||
add_custom_command(
|
||||
TARGET ${TARGET_NAME}
|
||||
POST_BUILD
|
||||
|
||||
@@ -2,7 +2,7 @@ export default {
|
||||
provider: 'algolia' as const,
|
||||
appId: '9ARM1N4899',
|
||||
apiKey: 'f42bf1d18c786d5a46da30eccac5cb34',
|
||||
indexName: 'maa',
|
||||
indexName: 'MaaAssistantArknights',
|
||||
locales: {
|
||||
'/zh-cn/': {
|
||||
placeholder: '搜索',
|
||||
|
||||
|
Before Width: | Height: | Size: 691 KiB After Width: | Height: | Size: 690 KiB |
|
Before Width: | Height: | Size: 42 KiB After Width: | Height: | Size: 41 KiB |
|
Before Width: | Height: | Size: 38 KiB After Width: | Height: | Size: 38 KiB |
|
Before Width: | Height: | Size: 40 KiB After Width: | Height: | Size: 39 KiB |
|
Before Width: | Height: | Size: 64 KiB After Width: | Height: | Size: 64 KiB |
|
Before Width: | Height: | Size: 301 KiB After Width: | Height: | Size: 301 KiB |
|
Before Width: | Height: | Size: 34 KiB After Width: | Height: | Size: 34 KiB |
|
Before Width: | Height: | Size: 20 KiB After Width: | Height: | Size: 20 KiB |
|
Before Width: | Height: | Size: 642 KiB After Width: | Height: | Size: 641 KiB |
|
Before Width: | Height: | Size: 934 KiB After Width: | Height: | Size: 931 KiB |
|
Before Width: | Height: | Size: 926 KiB After Width: | Height: | Size: 925 KiB |
|
Before Width: | Height: | Size: 27 KiB After Width: | Height: | Size: 27 KiB |
|
Before Width: | Height: | Size: 57 KiB After Width: | Height: | Size: 57 KiB |
|
Before Width: | Height: | Size: 63 KiB After Width: | Height: | Size: 62 KiB |
|
Before Width: | Height: | Size: 84 KiB After Width: | Height: | Size: 83 KiB |
|
Before Width: | Height: | Size: 84 KiB After Width: | Height: | Size: 84 KiB |
|
Before Width: | Height: | Size: 16 KiB After Width: | Height: | Size: 16 KiB |
|
Before Width: | Height: | Size: 13 KiB After Width: | Height: | Size: 13 KiB |
|
Before Width: | Height: | Size: 23 KiB After Width: | Height: | Size: 23 KiB |
|
Before Width: | Height: | Size: 78 KiB After Width: | Height: | Size: 78 KiB |
|
Before Width: | Height: | Size: 80 KiB After Width: | Height: | Size: 80 KiB |
|
Before Width: | Height: | Size: 160 KiB After Width: | Height: | Size: 160 KiB |
|
Before Width: | Height: | Size: 160 KiB After Width: | Height: | Size: 160 KiB |
|
Before Width: | Height: | Size: 18 KiB After Width: | Height: | Size: 18 KiB |
|
Before Width: | Height: | Size: 84 KiB After Width: | Height: | Size: 84 KiB |
|
Before Width: | Height: | Size: 77 KiB After Width: | Height: | Size: 76 KiB |
|
Before Width: | Height: | Size: 86 KiB After Width: | Height: | Size: 85 KiB |
|
Before Width: | Height: | Size: 35 KiB After Width: | Height: | Size: 35 KiB |
|
Before Width: | Height: | Size: 34 KiB After Width: | Height: | Size: 34 KiB |
|
Before Width: | Height: | Size: 15 KiB After Width: | Height: | Size: 15 KiB |
|
Before Width: | Height: | Size: 15 KiB After Width: | Height: | Size: 15 KiB |
|
Before Width: | Height: | Size: 49 KiB After Width: | Height: | Size: 49 KiB |
|
After Width: | Height: | Size: 366 KiB |
BIN
docs/.vuepress/public/images/zh-tw/readme/1-dark.png
Normal file
|
After Width: | Height: | Size: 40 KiB |
BIN
docs/.vuepress/public/images/zh-tw/readme/1-light.png
Normal file
|
After Width: | Height: | Size: 40 KiB |
BIN
docs/.vuepress/public/images/zh-tw/readme/2-dark.png
Normal file
|
After Width: | Height: | Size: 41 KiB |
BIN
docs/.vuepress/public/images/zh-tw/readme/2-light.png
Normal file
|
After Width: | Height: | Size: 41 KiB |
BIN
docs/.vuepress/public/images/zh-tw/readme/3-dark.png
Normal file
|
After Width: | Height: | Size: 18 KiB |
BIN
docs/.vuepress/public/images/zh-tw/readme/3-light.png
Normal file
|
After Width: | Height: | Size: 18 KiB |
BIN
docs/.vuepress/public/images/zh-tw/readme/4-dark.png
Normal file
|
After Width: | Height: | Size: 60 KiB |
BIN
docs/.vuepress/public/images/zh-tw/readme/4-light.png
Normal file
|
After Width: | Height: | Size: 60 KiB |
@@ -15,7 +15,7 @@ You can [Ask DeepWiki](https://deepwiki.com/MaaAssistantArknights/MaaAssistantAr
|
||||
|
||||
## I don't know programming but just want to modify some JSON files/documents, how can I do it?
|
||||
|
||||
Welcome to the [Web-based PR Tutorial](./pr-tutorial.md) that anyone can understand (purely web-based on Github.com)
|
||||
Welcome to the [Web-based PR Tutorial](./pr-tutorial.md) that anyone can understand (purely web-based on GitHub.com)
|
||||
|
||||
## I want to make simple modifications to a few lines of code, but configuring the environment is too tedious and pure web editing is difficult to use. What should I do?
|
||||
|
||||
@@ -58,32 +58,44 @@ We've preset several different development environments for you to choose from:
|
||||
```
|
||||
|
||||
5. Configure development environment
|
||||
- Download and install `CMake`
|
||||
- Download and install `Visual Studio 2026 Community`, selecting `Desktop development with C++` and `.NET Desktop Development` during installation.
|
||||
|
||||
6. Double-click `MAA.sln` to open the project in Visual Studio.
|
||||
7. Configure Visual Studio settings
|
||||
- Select `RelWithDebInfo` and `x64` in the top configuration bar (Skip for Release builds or ARM platforms)
|
||||
- Right-click `MaaWpfGui` → Properties → Debug → Enable native debugging (This enables breakpoints in C++ Core)
|
||||
6. Execute cmake project configuration
|
||||
|
||||
8. Now you're ready to happily ~~mess around~~ start developing!
|
||||
9. Commit regularly with meaningful messages during development
|
||||
If you're not familiar with git usage, you might want to create a new branch for changes instead of committing directly to `dev`:
|
||||
|
||||
```bash
|
||||
git branch your_own_branch
|
||||
git checkout your_own_branch
|
||||
```cmd
|
||||
cmake --preset windows-x64
|
||||
```
|
||||
|
||||
This keeps your changes isolated from upstream `dev` updates.
|
||||
7. Double-click `build/MAA.slnx` to open the project in Visual Studio.
|
||||
8. Configure Visual Studio settings
|
||||
- Select `Debug` and `x64` in the top configuration bar
|
||||
- Right-click `MaaWpfGui` - Set as Startup Project
|
||||
- Press F5 to run
|
||||
|
||||
10. After development, push your local branch (e.g. `dev`) to your remote repository:
|
||||
::: tip
|
||||
To debug Win32Controller (Windows window control) features, you need to manually download the corresponding platform package from [MaaFramework Releases](https://github.com/MaaXYZ/MaaFramework/releases), and place `MaaWin32ControlUnit.dll` from the `bin` directory into MAA's DLL directory (e.g. `build/bin/Debug`). PRs for an auto-download script are welcome!
|
||||
:::
|
||||
|
||||
9. Now you're ready to happily ~~mess around~~ start developing!
|
||||
10. Commit regularly with meaningful messages during development
|
||||
If you're not familiar with git usage, you might want to create a new branch for changes instead of committing directly to `dev`:
|
||||
|
||||
```bash
|
||||
git branch your_own_branch
|
||||
git checkout your_own_branch
|
||||
```
|
||||
|
||||
This keeps your changes isolated from upstream `dev` updates.
|
||||
|
||||
11. After development, push your local branch (e.g. `dev`) to your remote repository:
|
||||
|
||||
```bash
|
||||
git push origin dev
|
||||
```
|
||||
|
||||
11. Submit a Pull Request at the [MAA main repository](https://github.com/MaaAssistantArknights/MaaAssistantArknights). Ensure your changes are based on the `dev` branch, not `master`.
|
||||
12. To sync upstream changes:
|
||||
12. Submit a Pull Request at the [MAA main repository](https://github.com/MaaAssistantArknights/MaaAssistantArknights). Ensure your changes are based on the `dev` branch, not `master`.
|
||||
13. To sync upstream changes:
|
||||
1. Add upstream repository:
|
||||
|
||||
```bash
|
||||
@@ -108,12 +120,48 @@ We've preset several different development environments for you to choose from:
|
||||
git merge # merge
|
||||
```
|
||||
|
||||
4. Repeat steps 7, 8, 9, 10.
|
||||
4. Repeat steps 8, 9, 10, 11.
|
||||
|
||||
::: tip
|
||||
After opening Visual Studio, Git operations can be performed using VS's built-in "Git Changes" instead of command-line tools.
|
||||
:::
|
||||
|
||||
## Using VS Code for Development (Optional)
|
||||
|
||||
::: warning
|
||||
**Visual Studio is the recommended IDE for development.** The MAA project is primarily built around Visual Studio, and the complete environment setup described above covers all development needs with the best out-of-the-box experience. The VS Code workflow is provided only as an alternative for developers already familiar with VS Code + CMake + clangd, and requires more configuration effort.
|
||||
:::
|
||||
|
||||
If you prefer VS Code, you can use CMake, clangd, and related extensions for code completion, navigation, and debugging. After completing steps 1–6 above (clone, dependencies, CMake configuration), follow these steps:
|
||||
|
||||
### Recommended Extensions
|
||||
|
||||
Install from the VS Code marketplace:
|
||||
|
||||
| Extension | Purpose |
|
||||
| --------------------------------------------------------------------------------------------------- | ---------------------------------------------------------- |
|
||||
| [CMake Tools](https://marketplace.visualstudio.com/items?itemName=ms-vscode.cmake-tools) | CMake configure, build, and debug integration |
|
||||
| [clangd](https://marketplace.visualstudio.com/items?itemName=llvm-vs-code-extensions.vscode-clangd) | C++ IntelliSense, code navigation, diagnostics (LSP-based) |
|
||||
| [C/C++](https://marketplace.visualstudio.com/items?itemName=ms-vscode.cpptools) | Debug C++ programs (works with CMake Tools or launch.json) |
|
||||
|
||||
::: tip
|
||||
When using clangd, set `C_Cpp.intelliSenseEngine` to `disabled` to avoid conflicts with the C/C++ extension's IntelliSense.
|
||||
:::
|
||||
|
||||
### Setup Steps
|
||||
|
||||
1. Open the project root folder in VS Code
|
||||
2. **CMake Tools**:
|
||||
- Select a Configure Preset from the status bar (e.g. `windows-x64`, `linux-x64`)
|
||||
- Select a Build Preset and run configure/build
|
||||
3. **clangd**: Works on Windows with MSVC without needing `compile_commands.json`. On Linux/macOS, presets enable `CMAKE_EXPORT_COMPILE_COMMANDS` and clangd uses `build/compile_commands.json` automatically
|
||||
4. **Debugging**: The project includes `.vscode/launch.json` for launching MaaWpfGui or Debug Demo
|
||||
|
||||
### Build and Debug Shortcuts
|
||||
|
||||
- **Build**: `Ctrl+Shift+B` or via CMake Tools status bar
|
||||
- **Debug**: F5 or choose a configuration from the Run and Debug panel
|
||||
|
||||
## MAA File Formatting Requirements
|
||||
|
||||
MAA uses a series of formatting tools to ensure that the code and resource files in the repository are visually unified for easy maintenance and reading.
|
||||
@@ -125,7 +173,7 @@ The currently enabled formatting tools are as follows:
|
||||
| File Type | Format Tool |
|
||||
| --------- | --------------------------------------------------------------- |
|
||||
| C++ | [clang-format](https://clang.llvm.org/docs/ClangFormat.html) |
|
||||
| Json/Yaml | [Prettier](https://prettier.io/) |
|
||||
| JSON/YAML | [Prettier](https://prettier.io/) |
|
||||
| Markdown | [markdownlint](https://github.com/DavidAnson/markdownlint-cli2) |
|
||||
|
||||
### Use Pre-commit Hooks to Automatically Format Code
|
||||
|
||||
@@ -3,7 +3,7 @@ order: 8
|
||||
icon: iconoir:code-brackets
|
||||
---
|
||||
|
||||
# Dedicated VSCode Extension Tutorial
|
||||
# Dedicated VS Code Extension Tutorial
|
||||
|
||||
The extension provides a series of convenient development capabilities for MaaAssistantArknights/MaaFramework, including but not limited to the following features:
|
||||
|
||||
@@ -14,7 +14,7 @@ For details, please visit [Extension Store](https://marketplace.visualstudio.com
|
||||
|
||||
## Installation
|
||||
|
||||
Searching `Maa` and installing it from VSCode extensions list is recommended.
|
||||
Searching `Maa` and installing it from VS Code extensions list is recommended.
|
||||
|
||||
::: tip
|
||||
When used for the first time, the extension will automatically download the preset version of resources.
|
||||
@@ -88,11 +88,11 @@ Evaluating the expanded task object and the sources of each properties, and the
|
||||
|
||||
Scanning and selecting controllers, selecting resource, adding and manipulating tasks, and launching tasks can be done via the control panel.
|
||||
|
||||
### Take screenshots and crop images
|
||||
### Take screenshots and crop images / Quick recognition
|
||||
|
||||
Searching and launching `Maa: open crop tool` inside VSCode command panel can open `Screenshots / Crop` panel.
|
||||
Searching and launching `Maa: open crop tool` inside VS Code command panel can open `Screenshots / Crop` panel.
|
||||
|
||||
> Use `Ctrl+Shift+P` (`Command+Shift+P` on MacOS) to open command panel
|
||||
> Use `Ctrl+Shift+P` (`Command+Shift+P` on macOS) to open command panel
|
||||
|
||||
- After selecting and connecting to the controller, use `Screencap` button to obtain screenshots
|
||||
- Use `Upload` button to manually upload images.
|
||||
@@ -106,17 +106,19 @@ Searching and launching `Maa: open crop tool` inside VSCode command panel can op
|
||||
|
||||
If OCR recognition returns an empty result, please check whether the [OCR model](https://github.com/MaaXYZ/MaaFramework/blob/main/docs/en_us/1.1-QuickStarted.md#text-recognition-model-files) is configured correctly.
|
||||
|
||||
For MAA, the extension will maintain the models used automatically; you only need to select the proper resource.
|
||||
|
||||
:::
|
||||
|
||||
### Log View
|
||||
|
||||
#### MaaFramework Log
|
||||
|
||||
Search and execute `Maa: open maa log` in the VSCode command panel to view the `maa.log` generated during debugging.
|
||||
Search and execute `Maa: open maa log` in the VS Code command panel to view the `maa.log` generated during debugging.
|
||||
|
||||
#### Maa Pipeline Support Extension Log
|
||||
|
||||
Search and execute `Maa: open extension log` in the VSCode command panel to view the `mse.log` generated during debugging.
|
||||
Search and execute `Maa: open extension log` in the VS Code command panel to view the `mse.log` generated during debugging.
|
||||
|
||||
### Bottom status bar
|
||||
|
||||
|
||||
@@ -3,123 +3,194 @@ order: 1
|
||||
icon: material-symbols:download
|
||||
---
|
||||
|
||||
# Install and Build
|
||||
# Installation and Compilation
|
||||
|
||||
There are multiple ways to install maa-cli, including package managers, precompiled binaries, and building from source with `cargo`.
|
||||
There are multiple ways to install maa-cli, including pre-compiled binaries, package managers, and building from source with `cargo`.
|
||||
|
||||
## Pre-compiled Binaries
|
||||
|
||||
The easiest way to install maa-cli is by using the installation script:
|
||||
|
||||
::: tabs#pre-compile
|
||||
|
||||
@tab:active Linux and macOS
|
||||
|
||||
```bash
|
||||
curl -fsSL https://raw.githubusercontent.com/MaaAssistantArknights/maa-cli/main/install.sh | bash
|
||||
```
|
||||
|
||||
@tab Windows (PowerShell)
|
||||
|
||||
```powershell
|
||||
Invoke-WebRequest -Uri "https://raw.githubusercontent.com/MaaAssistantArknights/maa-cli/main/install.ps1" -OutFile install.ps1; .\install.ps1
|
||||
```
|
||||
|
||||
:::
|
||||
|
||||
You can later update maa-cli by running `maa self update`.
|
||||
|
||||
If your platform is not listed above, you can try to [build from source](#build-from-source).
|
||||
|
||||
## Install via Package Manager
|
||||
|
||||
For macOS and supported Linux distributions, it is recommended to install maa-cli using a package manager.
|
||||
For macOS and supported Linux distributions, you can install maa-cli using a package manager.
|
||||
|
||||
### macOS
|
||||
|
||||
Homebrew users can install maa-cli via the unofficial [tap](https://github.com/MaaAssistantArknights/homebrew-tap/):
|
||||
|
||||
- Stable release:
|
||||
::: code-tabs
|
||||
|
||||
```bash
|
||||
brew install MaaAssistantArknights/tap/maa-cli
|
||||
```
|
||||
@tab:active Stable
|
||||
|
||||
- Beta releases:
|
||||
```bash :no-line-numbers
|
||||
brew install MaaAssistantArknights/tap/maa-cli
|
||||
```
|
||||
|
||||
```bash
|
||||
brew install MaaAssistantArknights/tap/maa-cli-beta
|
||||
```
|
||||
@tab Unstable/Pre-release
|
||||
|
||||
```bash :no-line-numbers
|
||||
brew install MaaAssistantArknights/tap/maa-cli-beta
|
||||
```
|
||||
|
||||
:::
|
||||
|
||||
### Linux
|
||||
|
||||
- Arch Linux users can install the [AUR package](https://aur.archlinux.org/packages/maa-cli/):
|
||||
Arch, Nix, and Linux Homebrew users can install maa-cli via their package managers.
|
||||
|
||||
```bash
|
||||
yay -S maa-cli
|
||||
```
|
||||
#### Arch Linux
|
||||
|
||||
- ❄️ Nix users can run directly:
|
||||
You can install the [AUR package](https://aur.archlinux.org/packages/maa-cli/):
|
||||
|
||||
```bash
|
||||
# Stable release
|
||||
nix run nixpkgs#maa-cli
|
||||
```
|
||||
::: code-tabs
|
||||
|
||||
```bash
|
||||
# Nightly build
|
||||
nix run github:Cryolitia/nur-packages#maa-cli-nightly
|
||||
```
|
||||
@tab:active paru
|
||||
|
||||
Stable is packaged in [nixpkgs](https://github.com/NixOS/nixpkgs/blob/nixos-unstable/pkgs/by-name/ma/maa-cli/package.nix), using the nixpkgs Rust toolchain; Nightly is in [NUR](https://github.com/Cryolitia/nur-packages/blob/master/pkgs/maa-assistant-arknights/maa-cli.nix), using the Beta Channel Rust toolchain, automatically updated and built daily by GitHub Actions.
|
||||
```bash :no-line-numbers
|
||||
paru -S maa-cli
|
||||
```
|
||||
|
||||
- Users using Homebrew on Linux please refer to the macOS installation method above.
|
||||
@tab yay
|
||||
|
||||
## Precompiled Binaries
|
||||
```bash :no-line-numbers
|
||||
yay -S maa-cli
|
||||
```
|
||||
|
||||
If package managers are not available on your system or you prefer not to use them, you can download the precompiled binaries for your platform from the following links. After decompressing, place the executable file in your `PATH` to use.
|
||||
:::
|
||||
|
||||
- [macOS](https://github.com/MaaAssistantArknights/maa-cli/releases/latest/download/maa_cli-universal-apple-darwin.zip)
|
||||
- [Linux x86_64 (x64, amd64)](https://github.com/MaaAssistantArknights/maa-cli/releases/latest/download/maa_cli-x86_64-unknown-linux-gnu.tar.gz)
|
||||
- [Linux aarch64 (arm64)](https://github.com/MaaAssistantArknights/maa-cli/releases/latest/download/maa_cli-aarch64-unknown-linux-gnu.tar.gz)
|
||||
- [Windows x86_64 (x64, amd64)](https://github.com/MaaAssistantArknights/maa-cli/releases/latest/download/maa_cli-x86_64-pc-windows-msvc.zip)
|
||||
- [Windows aarch64 (arm64)](https://github.com/MaaAssistantArknights/maa-cli/releases/latest/download/maa_cli-aarch64-pc-windows-msvc.zip)
|
||||
#### ❄️ Nix
|
||||
|
||||
If your platform is not listed above, you can try to compile and install it yourself (see below).
|
||||
Users can run directly:
|
||||
|
||||
::: code-tabs
|
||||
|
||||
@tab:active Stable
|
||||
|
||||
```bash :no-line-numbers
|
||||
nix run nixpkgs#maa-cli
|
||||
```
|
||||
|
||||
@tab Nightly Build
|
||||
|
||||
```bash :no-line-numbers
|
||||
nix run github:Cryolitia/nur-packages#maa-cli-nightly
|
||||
```
|
||||
|
||||
:::
|
||||
|
||||
The stable version is packaged in [nixpkgs](https://github.com/NixOS/nixpkgs/blob/nixos-unstable/pkgs/by-name/ma/maa-cli/package.nix), using the Rust toolchain from `nixpkgs`; the nightly build is in [NUR](https://github.com/Cryolitia/nur-packages/blob/master/pkgs/maa-assistant-arknights/maa-cli.nix), using the Beta channel Rust toolchain, and is automatically updated and verified daily by a GitHub Actions.
|
||||
|
||||
#### Homebrew
|
||||
|
||||
For users who use Homebrew on Linux, please refer to the macOS installation method.
|
||||
|
||||
#### Other Distributions
|
||||
|
||||
Please use the [pre-compiled binaries](#pre-compiled-binaries) or [build from source](#build-from-source).
|
||||
|
||||
We welcome interested developers to submit maa-cli to the official or user repositories of more distributions!
|
||||
|
||||
## Build from Source
|
||||
|
||||
Rust developers can compile and install maa-cli themselves via `cargo`:
|
||||
Rust developers can compile and install maa-cli using `cargo`:
|
||||
|
||||
- Stable version:
|
||||
::: code-tabs
|
||||
|
||||
```bash
|
||||
cargo install --git https://github.com/MaaAssistantArknights/maa-cli.git --bin maa --tag stable --locked
|
||||
```
|
||||
@tab:active Stable Version
|
||||
|
||||
- Development version:
|
||||
```bash :no-line-numbers
|
||||
cargo install --git https://github.com/MaaAssistantArknights/maa-cli.git --bin maa --tag stable --locked
|
||||
```
|
||||
|
||||
```bash
|
||||
cargo install --git https://github.com/MaaAssistantArknights/maa-cli.git --bin maa --locked
|
||||
```
|
||||
@tab Development Version
|
||||
|
||||
### Features
|
||||
```bash :no-line-numbers
|
||||
cargo install --git https://github.com/MaaAssistantArknights/maa-cli.git --bin maa --locked
|
||||
```
|
||||
|
||||
When compiling from source, you can disable the default features with `--no-default-features` and then enable specific features with `--features`. The available features are:
|
||||
:::
|
||||
|
||||
- `cli_installer`: Provide `maa self update` command to update self, this feature is enabled by default;
|
||||
- `core_installer`: Provide `maa install` and `maa update` commands to install and update MaaCore and resources, this feature is enabled by default;
|
||||
- `git2`: Provide `libgit2` resource backend, this feature is enabled by default;
|
||||
- `vendored-openssl`: Build OpenSSL library by self instead of using system library, this feature is disabled by default;
|
||||
::: warning
|
||||
The Minimum Supported Rust Version (MSRV) for maa-cli is currently 1.88. Please note that the MSRV may change at any time, and we recommend always using the latest Rust toolchain for the best experience.
|
||||
:::
|
||||
|
||||
## Install MaaCore
|
||||
### Build Options
|
||||
|
||||
maa-cli only provides an interface for MaaCore, it needs MaaCore and resources to run tasks, which can be installed by maa-cli once it is installed:
|
||||
When compiling from source, you can disable default features with `--no-default-features` and then enable specific features with `--features`. The available features are:
|
||||
|
||||
```bash
|
||||
- `cli_installer`: Enables the `maa self update` command for self-updating. Enabled by default.
|
||||
- `core_installer`: Enables the `maa install` and `maa update` commands for installing and updating MaaCore and its resources. Enabled by default.
|
||||
- `git2`: Provides the `libgit2` backend for resource updates. Enabled by default.
|
||||
|
||||
## Install MaaCore and Resources
|
||||
|
||||
maa-cli only provides a command-line interface; it requires MaaCore and resources to run tasks.
|
||||
|
||||
Your steps will differ depending on the installation method and platform:
|
||||
|
||||
::: tabs#maacore
|
||||
|
||||
@tab:active Pre-compiled
|
||||
For users of pre-compiled binaries or those who built from source, maa-cli can help you install and update:
|
||||
|
||||
```bash :no-line-numbers
|
||||
maa install
|
||||
```
|
||||
|
||||
For Windows platform users, before running the `maa install` command, please run the following command as administrator in Command Prompt or PowerShell to install the required VC++ toolset:
|
||||
@tab Windows
|
||||
For Windows users, before running `maa install`, please run the following command as an administrator in Command Prompt or PowerShell to install the necessary VC++ runtime:
|
||||
|
||||
- Windows:
|
||||
```bat :no-line-numbers
|
||||
winget install "Microsoft.VCRedist.2015+.x64" --override "/repair /passive /norestart" --uninstall-previous --accept-package-agreements --force
|
||||
```
|
||||
|
||||
```bat
|
||||
winget install "Microsoft.VCRedist.2015+.x64" --override "/repair /passive /norestart" --uninstall-previous --accept-package-agreements --force
|
||||
```
|
||||
Then run `maa install`.
|
||||
|
||||
For users who installed via package managers, MaaCore can also be installed via package managers:
|
||||
@tab Arch
|
||||
You can use maa-cli to install the pre-compiled MaaCore:
|
||||
|
||||
- Homebrew:
|
||||
```bash :no-line-numbers
|
||||
maa install
|
||||
```
|
||||
|
||||
```bash
|
||||
brew install MaaAssistantArknights/tap/maa-core
|
||||
```
|
||||
You can also install maa-core via the [AUR](https://aur.archlinux.org/packages/maa-assistant-arknights/):
|
||||
|
||||
- Arch Linux:
|
||||
```bash :no-line-numbers
|
||||
paru -S maa-assistant-arknights
|
||||
```
|
||||
|
||||
```bash
|
||||
yay -S maa-assistant-arknights
|
||||
```
|
||||
or
|
||||
|
||||
- Nix:
|
||||
```bash :no-line-numbers
|
||||
yay -S maa-assistant-arknights
|
||||
```
|
||||
|
||||
maa-cli on Nix depends on the MaaCore package, so no additional installation is required.
|
||||
@tab Nix
|
||||
maa-cli on Nix has a hard dependency on MaaCore, so Nix users do not need to, and should not, install MaaCore manually.
|
||||
|
||||
**NOTE**: Only users who installed maa-cli via package managers can install MaaCore via package managers. Otherwise, please use the `maa install` command to install. In addition, the `maa install` downloads the official precompiled MaaCore, while the MaaCore installed by package managers has different compilation options and dependency versions from the official precompiled version, potentially causing variations in behavior and performance.
|
||||
:::
|
||||
|
||||
::: warning
|
||||
`maa install` downloads the officially pre-compiled MaaCore. MaaCore installed via package managers may use different compile options and dependency versions, which might lead to slight differences in performance and functionality.
|
||||
:::
|
||||
|
||||
@@ -7,6 +7,12 @@ icon: material-symbols:summarize
|
||||
|
||||
maa-cli's main functionality is to automate Arknights game tasks by calling MaaCore. Additionally, for convenience, maa-cli also provides functions to manage MaaCore.
|
||||
|
||||
::: tip
|
||||
|
||||
For users who installed maa-cli via the Windows Package Manager (winget) , `maa` in the following commands needs to be replaced with `maa-cli` .
|
||||
|
||||
:::
|
||||
|
||||
## Manage MaaCore
|
||||
|
||||
maa-cli can install and update MaaCore and resources by running the following commands:
|
||||
|
||||
@@ -158,7 +158,7 @@ For `C:\ProgramData\BlueStacks_nxt\bluestacks.conf`:
|
||||
|
||||
Select the configuration matching your emulator. If not listed, choose General Configuration. If that doesn't work, try any other available configuration.
|
||||
|
||||
For specific differences, see the [source code](https://github.com/MaaAssistantArknights/MaaAssistantArknights/blob/dev/resource/config.json#L65).
|
||||
For specific differences, see the [source code](https://github.com/MaaAssistantArknights/MaaAssistantArknights/blob/dev/resource/config.json#L57).
|
||||
|
||||
### MuMu Screenshot Enhanced Mode
|
||||
|
||||
|
||||
@@ -9,7 +9,7 @@ icon: basil:apple-solid
|
||||
|
||||
### ✅ [PlayCover](https://playcover.io) (Runs most fluently as it's native 🚀)
|
||||
|
||||
Experimental support. Please submit issues if you encounter problems, and include `MacOS` in the title.
|
||||
Experimental support. Please submit issues if you encounter problems, and include `macOS` in the title.
|
||||
|
||||
Note: Due to macOS system limitations, screenshot issues may occur when minimizing the game window, switching to other windows while in Stage Manager, or moving the window to other desktops/screens. Related issue: [#4371](https://github.com/MaaAssistantArknights/MaaAssistantArknights/issues/4371#issuecomment-1527977512)
|
||||
|
||||
|
||||
@@ -20,7 +20,7 @@ winget install "Microsoft.VCRedist.2015+.x64" --override "/repair /passive /nore
|
||||
|
||||
Or manually download and install these <u>**two**</u> runtime libraries to solve the problem:
|
||||
|
||||
- [Visual C++ Redistributable](https://aka.ms/vs/17/release/vc_redist.x64.exe)
|
||||
- [Visual C++ Redistributable](https://aka.ms/vc14/vc_redist.x64.exe)
|
||||
- [.NET Desktop Runtime 10](https://aka.ms/dotnet/10.0/windowsdesktop-runtime-win-x64.exe)
|
||||
|
||||
:::
|
||||
@@ -49,25 +49,9 @@ We cannot provide repair solutions other than reinstalling your system. Please a
|
||||
|
||||
For Windows N/KN (European/Korean versions), you also need to install the [Media Feature Pack](https://support.microsoft.com/en-us/topic/c1c6fffa-d052-8338-7a79-a4bb980a700a).
|
||||
|
||||
#### Windows 7
|
||||
#### Windows 7/8/8.1
|
||||
|
||||
.NET 10 doesn't support Windows 7/8/8.1 systems<sup>[source](https://github.com/dotnet/core/issues/7556)</sup>, so MAA no longer supports them either. The last usable .NET 8 version is [`v5.4.0-beta.1.d035.gd2e5001e7`](https://github.com/MaaAssistantArknights/MaaRelease/releases/tag/v5.4.0-beta.1.d035.gd2e5001e7); the last usable .NET 4.8 version is [`v4.28.8`](https://github.com/MaaAssistantArknights/MaaAssistantArknights/releases/tag/v4.28.8). Self-compilation feasibility remains undetermined.
|
||||
|
||||
For Windows 7, before installing the two runtime libraries mentioned above, check if these patches are installed:
|
||||
|
||||
1. [Windows 7 Service Pack 1](https://support.microsoft.com/en-us/windows/b3da2c0f-cdb6-0572-8596-bab972897f61)
|
||||
2. SHA-2 code signing patches:
|
||||
- KB4474419: [Download link 1](https://catalog.s.download.windowsupdate.com/c/msdownload/update/software/secu/2019/09/windows6.1-kb4474419-v3-x64_b5614c6cea5cb4e198717789633dca16308ef79c.msu), [Download link 2](http://download.windowsupdate.com/c/msdownload/update/software/secu/2019/09/windows6.1-kb4474419-v3-x64_b5614c6cea5cb4e198717789633dca16308ef79c.msu)
|
||||
- KB4490628: [Download link 1](https://catalog.s.download.windowsupdate.com/c/msdownload/update/software/secu/2019/03/windows6.1-kb4490628-x64_d3de52d6987f7c8bdc2c015dca69eac96047c76e.msu), [Download link 2](http://download.windowsupdate.com/c/msdownload/update/software/secu/2019/03/windows6.1-kb4490628-x64_d3de52d6987f7c8bdc2c015dca69eac96047c76e.msu)
|
||||
3. Platform Update for Windows 7 (DXGI 1.2, Direct3D 11.1, KB2670838): [Download link 1](https://catalog.s.download.windowsupdate.com/msdownload/update/software/ftpk/2013/02/windows6.1-kb2670838-x64_9f667ff60e80b64cbed2774681302baeaf0fc6a6.msu), [Download link 2](http://download.windowsupdate.com/msdownload/update/software/ftpk/2013/02/windows6.1-kb2670838-x64_9f667ff60e80b64cbed2774681302baeaf0fc6a6.msu)
|
||||
|
||||
##### Workaround for .NET 8 applications running abnormally on Windows 7 [#8238](https://github.com/MaaAssistantArknights/MaaAssistantArknights/issues/8238)
|
||||
|
||||
When running .NET 8 applications on Windows 7, abnormal memory usage can occur. Follow these steps to mitigate it. Windows 8/8.1 hasn't been tested; if similar issues occur, please open an Issue to remind us to update the documentation.
|
||||
|
||||
1. Open `Computer`, right-click in empty space, click Properties, click `Advanced system settings` on the left, and click `Environment Variables`.
|
||||
2. Create a new system variable with name `DOTNET_EnableWriteXorExecute` and value `0`.
|
||||
3. Restart your computer.
|
||||
.NET 10 doesn't support Windows 7/8/8.1 systems<sup>[source](https://github.com/dotnet/core/issues/7556)</sup>, so MAA no longer supports them either.
|
||||
|
||||
## Connection errors
|
||||
|
||||
|
||||
@@ -51,7 +51,7 @@ icon: hugeicons:brain-02
|
||||
- Lungmen Downtown: LungmenDowntown@Annihilation
|
||||
|
||||
- Side story stages like `OF-1`, `OF-F3`, and `GT-5`.
|
||||
- The last three stages of the current Side Story event. These will be shown at the bottom of the interface after automatically downloading updates from the [API](https://api.maa.plus/MaaAssistantArknights/api/gui/StageActivity.json).
|
||||
- The last three stages of the current Side Story event. These will be shown at the bottom of the interface after automatically downloading updates from the [API](https://api.maa.plus/MaaAssistantArknights/api/gui/StageActivityV2.json).
|
||||
- Rerun Side Story events: Enter `SSReopen-<stage prefix>` to farm all stages XX-1 through XX-9 in sequence, like `SSReopen-IC`.
|
||||
|
||||
::: details Example Screen
|
||||
@@ -70,22 +70,11 @@ icon: hugeicons:brain-02
|
||||
Alternative stages are selected based on daily stage availability - MAA will choose the first available stage in the list.
|
||||
This functions like a schedule, not as a fallback if the primary stage selection fails.
|
||||
|
||||
1. Example: If primary stage is `CE-6/5` with alternatives `1-7` and `LS-6/5`:
|
||||
- If `CE-6/5` is open today, MAA will run it and ignore the alternatives. If you haven't unlocked auto-deploy for CE-6/5, the task will fail.
|
||||
- If `CE-6/5` is closed today, MAA will run `1-7` instead. If you haven't unlocked auto-deploy for 1-7, the task will fail.
|
||||
- Since `1-7` is a permanent stage that appears before `LS-6/5` in the list, MAA will never run `LS-6/5` in this scenario.
|
||||
2. If the primary stage is `Annihilation Mode`:
|
||||
- Annihilation results won't affect the alternative stage logic - even if Annihilation fails, the task will continue.
|
||||
- Alternative stages will only inherit the `Use Sanity Potion` and `Multiplier` settings, ignoring `Use Originium`, `Perform Battles`, and `Material` settings.
|
||||
Example: Alternative Stages are `CE-6/5`, `1-7` and `LS-6/5`:
|
||||
|
||||
### Remaining Sanity
|
||||
|
||||
This option activates after the main `Sanity Farming` task ends, ignoring all `Use Sanity Potion`, `Use Originium`, `Perform Battles`, `Material`, and `Multiplier` settings. It simply uses up any remaining sanity and stops.
|
||||
|
||||
- Useful for farming a low-cost stage (like 1-7) with leftover sanity after your main stage becomes unaffordable.
|
||||
- Also useful for automatically switching to single runs when you have insufficient sanity for your configured multiplier (e.g., if you set 1-7 for 6x runs but only have 30 sanity, it will automatically run five single 1-7 runs instead).
|
||||
- The task will end if remaining sanity is insufficient (e.g., less than 6 sanity).
|
||||
- If the selected remaining sanity stage is closed or unavailable, the task will fail.
|
||||
- If `CE-6/5` is open today, MAA will run it and ignore the alternatives. If you haven't unlocked auto-deploy for CE-6/5, the task will fail.
|
||||
- If `CE-6/5` is closed today, MAA will run `1-7` instead. If you haven't unlocked auto-deploy for 1-7, the task will fail.
|
||||
- Since `1-7` is a permanent stage that appears before `LS-6/5` in the list, MAA will never run `LS-6/5` in this scenario.
|
||||
|
||||
### Multiplier
|
||||
|
||||
@@ -93,15 +82,14 @@ MAA will use the specified battle multiplier setting:
|
||||
|
||||
- **AUTO mode** (0):
|
||||
- Automatically identifies and uses the maximum possible multiplier without wasting sanity
|
||||
- Proceeds to the `Remaining Sanity` option afterward (if enabled)
|
||||
|
||||
- **Fixed value mode** (1-6):
|
||||
- Uses exactly the specified multiplier
|
||||
- If current sanity is insufficient for the set multiplier (e.g., only enough for 5× but set to 6×), ends the task and proceeds to `Remaining Sanity` (if enabled)
|
||||
- If current sanity is insufficient for the set multiplier (e.g., only enough for 5× but set to 6×), ends the task
|
||||
|
||||
- **Disabled mode** (-1):
|
||||
- Doesn't change the in-game multiplier setting
|
||||
- If sanity is insufficient for the current in-game multiplier setting, ends the task and proceeds to `Remaining Sanity` (if enabled)
|
||||
- If sanity is insufficient for the current in-game multiplier setting, ends the task
|
||||
|
||||
### Perform Battles
|
||||
|
||||
|
||||
@@ -257,9 +257,9 @@ Todo
|
||||
Integrated Strategy stage: Safe House
|
||||
- `StageEncounterEnter`
|
||||
Integrated Strategy stage: Encounter/Castle Gift
|
||||
- `StageCombatDpsEnter`
|
||||
- `StageCombatOpsEnter`
|
||||
Integrated Strategy stage: Combat
|
||||
- `StageEmergencyDps`
|
||||
- `StageEmergencyOps`
|
||||
Integrated Strategy stage: Emergency Combat
|
||||
- `StageDreadfulFoe`
|
||||
Integrated Strategy stage: Dreadful Foe
|
||||
@@ -524,39 +524,8 @@ Todo
|
||||
|
||||
```json
|
||||
// Corresponding details field example
|
||||
"done": bool, // Whether recognition is complete, false means still in progress (data during process)
|
||||
"arkplanner": { // https://penguin-stats.cn/planner
|
||||
"object": {
|
||||
"items": [
|
||||
{
|
||||
"id": "2004",
|
||||
"have": 4,
|
||||
"name": "高级作战记录" // "Advanced Battle Record"
|
||||
},
|
||||
{
|
||||
"id": "mod_unlock_token",
|
||||
"have": 25,
|
||||
"name": "模组数据块" // "Module Data Block"
|
||||
},
|
||||
{
|
||||
"id": "2003",
|
||||
"have": 20,
|
||||
"name": "中级作战记录" // "Tactical Battle Record"
|
||||
}
|
||||
],
|
||||
"@type": "@penguin-statistics/depot"
|
||||
},
|
||||
"data": "{\"@type\":\"@penguin-statistics/depot\",\"items\":[{\"id\":\"2004\",\"have\":4,\"name\":\"高级作战记录\"},{\"id\":\"mod_unlock_token\",\"have\":25,\"name\":\"模组数据块\"},{\"id\":\"2003\",\"have\":20,\"name\":\"中级作战记录\"}]}"
|
||||
},
|
||||
"lolicon": { // https://arkntools.app/#/material
|
||||
"object": {
|
||||
"2004" : 4,
|
||||
"mod_unlock_token": 25,
|
||||
"2003": 20
|
||||
},
|
||||
"data": "{\"2003\":20,\"2004\": 4,\"mod_unlock_token\": 25}"
|
||||
}
|
||||
// Currently only supports ArkPlanner and Lolicon (Arkntools) formats, may support more websites in the future
|
||||
"done": bool, // Whether recognition is complete, false means still in progress (data during process)
|
||||
"data": "{\"2001\":18000,\"31043\":317}" // JSON string, format: {"itemId": quantity, ...}
|
||||
```
|
||||
|
||||
- `OperBox`
|
||||
|
||||
@@ -20,7 +20,7 @@ Please note that JSON files do not support comments. The comments in this docume
|
||||
// Specified operators
|
||||
{
|
||||
"name": "重岳", // Operator name ("重岳" = "Chongyue")
|
||||
"skill": 3, // Skill number. Optional, default is 1, range [1, 3]
|
||||
"skill": 3, // Skill number. Optional, default is 1, range [0, 3]
|
||||
"skill_usage": 2, // Skill usage method. Optional, default is 0
|
||||
// 0 - Do not use automatically (depends on "actions" field)
|
||||
// 1 - Use whenever ready, as many times as possible (e.g., Thorns S3, Myrtle S1, etc.)
|
||||
|
||||
@@ -36,6 +36,9 @@ Please note that JSON files do not support comments. Comments are for demonstrat
|
||||
- `fragments.json` stores basic information about Sarkaz's Thoughts
|
||||
- `map.json` stores template image information for Sarkaz's Blueprint navigation
|
||||
|
||||
- In `JieGarden/`:
|
||||
- `coppers.json` basic information and pickup/replacement logic for Coppers
|
||||
|
||||
## Integrated Strategy Step 1: Operator Recruitment
|
||||
|
||||
`resource/roguelike/theme_name/recruitment.json` describes the logic of the operator recruitment
|
||||
@@ -152,7 +155,7 @@ By default, only E1 Level 55 operators will be recruited
|
||||
| 情报官 (Agents) | 晓歌 (Cantabile), 伊内丝 (Ines) | Can recover DP, provide side output, and can single cut |
|
||||
| 浊心斯卡蒂 (Skadi Alter) | 浊心斯卡蒂 (Skadi the Corrupting Heart) | Decent healing under low pressure, but special range, some maps have suitable positions |
|
||||
| 焰苇 (Reed Alter) | 焰影苇草 (Reed the Flame Shadow) | Commonly used opening operator in Sami I.S., combines healing and output, some maps have optimal positions |
|
||||
| 玛恩纳 (SilverAsh) | 玛恩纳 (Closure), 银灰 (SilverAsh) | Ground large-area decisive output, can be deployed against bosses |
|
||||
| 玛恩纳 (Mlynar) | 玛恩纳 (Mlynar), 银灰 (SilverAsh) | Ground large-area decisive output, can be deployed against bosses |
|
||||
| 史尔特尔 (Surtr) | 史尔特尔 (Surtr) | Since Surtr always carries S3 at E2, field presence ability is almost zero, deployment priority is extremely low |
|
||||
| 骰子 (Dice) | 骰子 (Dice) | In Mizuki I.S. the dice needs to be operated separately |
|
||||
|
||||
@@ -778,6 +781,94 @@ For farming hidden Collapsal Paradigms, N10 difficulty is recommended, with the
|
||||
- Reed the Flame Shadow + Orchid + Popukar;
|
||||
- Toddifons + Spot + Steward.
|
||||
|
||||
### JieGarden Integrated Strategy - Coppers
|
||||
|
||||
`resource/roguelike/JieGarden/coppers.json` describes the configuration and exchange strategy for JieGarden I.S. Coppers
|
||||
|
||||
```json5
|
||||
{
|
||||
"theme": "JieGarden", // I.S. Theme name (JieGarden here)
|
||||
"addons": { // Copper addon attribute descriptions (notes only, no effect on program)
|
||||
"锈色": "When cast, gain Originium Ingots +1 for every node passed",
|
||||
"存护": "When added to wallet, gain Shield +2",
|
||||
"入幻": "When added to wallet, gain Hope +1",
|
||||
"引光": "When added to wallet, gain Candlelight +1",
|
||||
"巡游": "When cast, gain Tickets +1 for every battle completed"
|
||||
},
|
||||
"coppers": [ // Copper list
|
||||
{
|
||||
"name": "大炎通宝", // Copper name (Yan Copper)
|
||||
"desc": "Ordinary and blank, nothing special", // Copper effect description (notes only, no effect on program)
|
||||
"rarity": "NORMAL", // Rarity: NONE/NORMAL/RARE/SUPER_RARE (notes only, no effect on program)
|
||||
"pickup_priority": 0, // Pickup priority, used when selecting drops, higher value = higher priority pickup
|
||||
"discard_priority": 1000 // Discard priority, used during exchange, higher value = higher priority discard
|
||||
},
|
||||
{
|
||||
"name": "衡-奇土生金", // Balance - Bountiful Land (name kept in Chinese as game-specific term)
|
||||
"desc": "When cast, immediately gain Originium Ingots +4 (transforms into Yan Copper before next cast)",
|
||||
"rarity": "NORMAL",
|
||||
"pickup_priority": 200,
|
||||
"discard_priority": 800,
|
||||
"cast_discard_priority": 999 // Optional field, discard priority when cast, only replaces discard_priority when cast and value >= 0
|
||||
// This typically applies to coppers whose effects change after casting (like coppers that become Yan Copper)
|
||||
},
|
||||
{
|
||||
"name": "厉-西廉贞", // Risk - Xi Lianzhen (name kept in Chinese as game-specific term)
|
||||
"desc": "When cast, Elite and Leader enemies gain HP and ATK +10%, with additional +20% in Dangerous Operations and Nian Beast Remnant Cognition",
|
||||
"rarity": "NORMAL",
|
||||
"pickup_priority": 0,
|
||||
"discard_priority": 1998,
|
||||
"cast_discard_priority": 2098 // Same as above, sometimes also used for coppers that bring negative effects after casting
|
||||
},
|
||||
...
|
||||
]
|
||||
}
|
||||
```
|
||||
|
||||
#### Copper Exchange Logic
|
||||
|
||||
MAA automatically handles copper pickup and exchange in JieGarden I.S.:
|
||||
|
||||
::: tip Enable Conditions
|
||||
Copper exchange functionality is only enabled in the following modes:
|
||||
|
||||
- Investment Mode: Requires "Investment mode enable shopping, recruitment, advance 2 floors" option enabled
|
||||
- Other Modes: Enabled by default
|
||||
|
||||
:::
|
||||
|
||||
1. **Pickup Dropped Coppers**: After battle ends, if copper drop selection interface appears, MAA will select the copper with highest `pickup_priority`
|
||||
|
||||
2. **Exchange Wallet Coppers**: When a newly picked copper needs to be exchanged with coppers in the wallet:
|
||||
- Recognize all coppers in wallet: type, name, and whether cast status
|
||||
- Find the copper with highest `discard_priority` (least important) in wallet
|
||||
- If new copper's `discard_priority` is lower than the least important existing copper, abandon exchange
|
||||
- Otherwise replace the least important copper with the new copper
|
||||
|
||||
3. **Special Handling for Cast Coppers**:
|
||||
- For coppers marked with `cast_discard_priority`, use this priority when cast instead of `discard_priority`
|
||||
- This typically applies to coppers whose effects change after casting (like coppers that transform into Yan Copper 大炎通宝)
|
||||
|
||||
#### Copper Recognition Mechanism
|
||||
|
||||
MAA uses the following methods to recognize and handle coppers:
|
||||
|
||||
1. Recognize copper type icons (厉/衡/花 - Risk/Balance/Flower) through template matching
|
||||
2. Based on type icon position, use ROI offset for OCR recognition of copper name
|
||||
3. Recognize whether copper is in "cast" state
|
||||
4. Auto-scroll list in copper exchange interface, scan all coppers for comparison
|
||||
|
||||
#### Recognition Process Illustration
|
||||
|
||||

|
||||

|
||||
|
||||
::: info Note
|
||||
|
||||
- If OCR recognized copper name not found in config file, MAA will save debug image to `debug/roguelike/coppers/unknown` directory for troubleshooting
|
||||
|
||||
:::
|
||||
|
||||
## Desired Logic (todo)
|
||||
|
||||
### Automatic Formation Logic
|
||||
|
||||
@@ -194,14 +194,14 @@ Please note that JSON files do not support comments. The comments in this docume
|
||||
|
||||
Task list type fields (`sub`, `next`, `onErrorNext`, `exceededNext`, `reduceOtherTimes`) support expression calculations.
|
||||
|
||||
| Symbol | Meaning | Example |
|
||||
| :----------: | :--------------------------------------------------------------------------------------: | :------------------------------------: |
|
||||
| `@` | `@`-type Task | `Fight@ReturnTo` |
|
||||
| `#` (unary) | Virtual task | `#self` |
|
||||
| `#` (binary) | Virtual task | `StartUpThemes#next` |
|
||||
| `*` | Repeat tasks | `(ClickCornerAfterPRTS+ClickCorner)*5` |
|
||||
| `+` | Task list merge (in next-type attributes, only first occurrence of same-name tasks kept) | `A+B` |
|
||||
| `^` | Task list difference (in first but not second, order preserved) | `(A+A+B+C)^(A+B+D)` (result is `C`) |
|
||||
| Symbol | Meaning | Example |
|
||||
| :----------: | :--------------------------------------------------------------------------------------: | :-------------------------------------: |
|
||||
| `@` | `@`-type Task | `Fight@ReturnTo` |
|
||||
| `#` (unary) | Virtual task | `#self` |
|
||||
| `#` (binary) | Virtual task | `StartUpThemes#next` |
|
||||
| `*` | Repeat tasks | `(ClickCornerAfterPRTS+ClickCorner)*10` |
|
||||
| `+` | Task list merge (in next-type attributes, only first occurrence of same-name tasks kept) | `A+B` |
|
||||
| `^` | Task list difference (in first but not second, order preserved) | `(A+A+B+C)^(A+B+D)` (result is `C`) |
|
||||
|
||||
Operators `@`, `#`, `*`, `+`, `^` have precedence: `#` (unary) > `@` = `#` (binary) > `*` > `+` = `^`.
|
||||
|
||||
@@ -440,4 +440,4 @@ Configured in `MaaCore.vcxporj`, works out of the box. Prompts are somewhat cryp
|
||||
|
||||
### Visual Studio Code
|
||||
|
||||
Configured in `.vscode/settings.json`, use VSCode to open the **project folder** to use. Better prompt quality.
|
||||
Configured in `.vscode/settings.json`, use VS Code to open the **project folder** to use. Better prompt quality.
|
||||
|
||||
@@ -5,7 +5,7 @@ icon: devicon-plain:githubactions
|
||||
|
||||
# CI システム解析
|
||||
|
||||
MAA は Github Action を活用して、ウェブサイトの構築、自動リソース更新、最終ファイルの構築とリリースなど、大量の自動化作業を完了しました。時間の経過とともに、これらの CI は徐々にネスト化し始め、一部は他のリポジトリにリンクされています。このドキュメントは、MAA の CI システムを改善したい人のために簡単な紹介を提供することを目的としています。
|
||||
MAA は GitHub Action を活用して、ウェブサイトの構築、自動リソース更新、最終ファイルの構築とリリースなど、大量の自動化作業を完了しました。時間の経過とともに、これらの CI は徐々にネスト化し始め、一部は他のリポジトリにリンクされています。このドキュメントは、MAA の CI システムを改善したい人のために簡単な紹介を提供することを目的としています。
|
||||
|
||||
このドキュメントを読む前に、MAA のプロジェクト構造と構成について基本的な概念を持っていることが推奨されます。
|
||||
|
||||
@@ -28,7 +28,7 @@ MAA は Github Action を活用して、ウェブサイトの構築、自動リ
|
||||
|
||||
さらに、[pre-commit.ci](https://pre-commit.ci/) を通じてコードの自動フォーマットと画像リソースの自動最適化を実現しており、PR を作成した後に自動的に実行されるため、通常は特に注意する必要はありません。
|
||||
|
||||
## Github Action 部分
|
||||
## GitHub Action 部分
|
||||
|
||||
### コードテスト
|
||||
|
||||
|
||||
@@ -64,32 +64,44 @@ icon: iconoir:developer
|
||||
```
|
||||
|
||||
5. 開発環境の設定
|
||||
- `CMake` をダウンロードしてインストール
|
||||
- `Visual Studio 2026 Community` をインストール時、`C++ によるデスクトップ開発` と `.NET デスクトップ開発` を選択必須
|
||||
|
||||
6. `MAA.sln` をダブルクリックで開き、Visual Studio にプロジェクトを自動ロード
|
||||
7. VS の設定
|
||||
- 上部設定バーで `RelWithDebInfo` `x64` を選択(Release ビルド/ARM プラットフォームの場合は不要)
|
||||
- `MaaWpfGui` 右クリック → プロパティ → デバッグ → ネイティブデバッグを有効化(C++ Core へのブレークポイント設定可能)
|
||||
6. cmake プロジェクト設定を実行
|
||||
|
||||
8. これで自由に ~~改造~~ 開発を始められます
|
||||
9. 一定量の変更ごにコミット(メッセージ記入必須)
|
||||
Git 未経験者は dev ブランチ直接変更ではなく新規ブランチ作成推奨:
|
||||
|
||||
```bash
|
||||
git branch your_own_branch
|
||||
git checkout your_own_branch
|
||||
```cmd
|
||||
cmake --preset windows-x64
|
||||
```
|
||||
|
||||
これで dev の更新影響を受けずに開発可能
|
||||
7. `build/MAA.slnx` をダブルクリックで開き、Visual Studio にプロジェクトを自動ロード
|
||||
8. VS の設定
|
||||
- 上部設定バーで `Debug` `x64` を選択
|
||||
- `MaaWpfGui` 右クリック → スタートアップ プロジェクトに設定
|
||||
- F5 キーを押して実行
|
||||
|
||||
10. 開発完了後、変更をリモートリポジトリへプッシュ:
|
||||
::: tip
|
||||
Win32Controller(Windows ウィンドウ制御)関連機能をデバッグする場合は、[MaaFramework Releases](https://github.com/MaaXYZ/MaaFramework/releases) から対応プラットフォームのアーカイブをダウンロードし、`bin` ディレクトリ内の `MaaWin32ControlUnit.dll` を MAA の DLL と同じディレクトリ(例:`build/bin/Debug`)に配置してください。自動ダウンロードスクリプトの PR 歓迎!
|
||||
:::
|
||||
|
||||
9. これで自由に ~~改造~~ 開発を始められます
|
||||
10. 一定量の変更ごとにコミット(メッセージ記入必須)
|
||||
Git 未経験者は dev ブランチ直接変更ではなく新規ブランチ作成推奨:
|
||||
|
||||
```bash
|
||||
git branch your_own_branch
|
||||
git checkout your_own_branch
|
||||
```
|
||||
|
||||
これで dev の更新影響を受けずに開発可能
|
||||
|
||||
11. 開発完了後、変更をリモートリポジトリへプッシュ:
|
||||
|
||||
```bash
|
||||
git push origin dev
|
||||
```
|
||||
|
||||
11. [MAA メインリポジトリ](https://github.com/MaaAssistantArknights/MaaAssistantArknights) で Pull Request を提出(master ではなく dev ブランチを指定)
|
||||
12. 上流リポジトリの更新を同期する場合:
|
||||
12. [MAA メインリポジトリ](https://github.com/MaaAssistantArknights/MaaAssistantArknights) で Pull Request を提出(master ではなく dev ブランチを指定)
|
||||
13. 上流リポジトリの更新を同期する場合:
|
||||
1. 上流リポジトリを追加:
|
||||
|
||||
```bash
|
||||
@@ -114,12 +126,46 @@ icon: iconoir:developer
|
||||
git merge
|
||||
```
|
||||
|
||||
4. ステップ7、8、9、10 を繰り返し
|
||||
4. ステップ8、9、10、11 を繰り返し
|
||||
|
||||
::: tip
|
||||
Visual Studio 起動後、Git 操作は「Git 変更」画面からコマンドライン不要で可能
|
||||
:::
|
||||
|
||||
## VSCodeでの開発(オプション)
|
||||
|
||||
::: warning
|
||||
**Visual Studio での開発を推奨します。** MAA プロジェクトは主に Visual Studio をベースに構築されており、上記の完全な環境セットアップですべての開発ニーズをカバーし、すぐに使える最高の体験を提供します。VSCode ワークフローは、VSCode + CMake + clangd に精通した開発者向けの代替手段としてのみ提供されており、設定のハードルが比較的高くなります。
|
||||
:::
|
||||
|
||||
VSCodeを好む場合、CMake、clangdなどの拡張機能でコード補完、ナビゲーション、デバッグが可能です。前述の手順1~6(クローン、依存関係、CMake設定)を完了した後、以下の手順で設定できます。
|
||||
|
||||
### 推奨拡張機能
|
||||
|
||||
VS Code Marketplace からインストール:
|
||||
|
||||
| 拡張機能 | 用途 |
|
||||
| --------------------------------------------------------------------------------------------------- | ----------------------------------------------------------------- |
|
||||
| [CMake Tools](https://marketplace.visualstudio.com/items?itemName=ms-vscode.cmake-tools) | CMake の設定、ビルド、デバッグ統合 |
|
||||
| [clangd](https://marketplace.visualstudio.com/items?itemName=llvm-vs-code-extensions.vscode-clangd) | C++ インテリセンス、コードナビゲーション、診断(LSPベース) |
|
||||
| [C/C++](https://marketplace.visualstudio.com/items?itemName=ms-vscode.cpptools) | C++ プログラムのデバッグ(CMake Tools または launch.json と連携) |
|
||||
|
||||
::: tip
|
||||
clangd を使用する場合、C/C++ 拡張機能の IntelliSense を無効化(`C_Cpp.intelliSenseEngine` を `disabled` に設定)することを推奨します。競合を避けるためです。
|
||||
:::
|
||||
|
||||
### 設定手順
|
||||
|
||||
1. VS Code でプロジェクトルートを開く
|
||||
2. **CMake Tools**:ステータスバーで Configure Preset(例:`windows-x64`、`linux-x64`)を選択し、Build Preset でビルドを実行
|
||||
3. **clangd**:Windows で MSVC を使用する場合、`compile_commands.json` がなくても clangd で開発可能。Linux/macOS ではプリセットで `CMAKE_EXPORT_COMPILE_COMMANDS` が有効となり、clangd は `build/compile_commands.json` を自動使用
|
||||
4. **デバッグ**:プロジェクトには `.vscode/launch.json` が含まれており、MaaWpfGui や Debug Demo の起動が可能
|
||||
|
||||
### ビルドとデバッグのショートカット
|
||||
|
||||
- **ビルド**:`Ctrl+Shift+B` または CMake Tools ステータスバー
|
||||
- **デバッグ**:F5 または Run and Debug パネルで設定を選択
|
||||
|
||||
## MAAのファイルフォーマット要件
|
||||
|
||||
MAAは、リポジトリ内のコードとリソースファイルが美しく統一されるよう、一連のフォーマットツールを使用してメンテナンスと読み取りを容易にしています。
|
||||
@@ -131,7 +177,7 @@ MAAは、リポジトリ内のコードとリソースファイルが美しく
|
||||
| ファイルタイプ | フォーマットツール |
|
||||
| -------------- | --------------------------------------------------------------- |
|
||||
| C++ | [clang-format](https://clang.llvm.org/docs/ClangFormat.html) |
|
||||
| Json/Yaml | [Prettier](https://prettier.io/) |
|
||||
| JSON/YAML | [Prettier](https://prettier.io/) |
|
||||
| Markdown | [markdownlint](https://github.com/DavidAnson/markdownlint-cli2) |
|
||||
|
||||
### Pre-commit Hooksを使用してコードを自動フォーマット
|
||||
|
||||
@@ -163,4 +163,4 @@ ROIの範囲を変更するには
|
||||
|
||||
## 変更を送信する
|
||||
|
||||
[Github Pull Requst ガイド](../develop/development.md#github-pull-request-プロセス概要)を参照してください。
|
||||
[GitHub Pull Request ガイド](../develop/development.md#github-pull-request-プロセス概要)を参照してください。
|
||||
|
||||
@@ -11,7 +11,7 @@ icon: mingcute:git-pull-request-fill
|
||||
|
||||
::: warning
|
||||
このガイドでは、多くの概念を簡略化し、より多くの人々が実際に使用できるように、不格好であるが簡単な操作が含まれています。また、正しくない説明もありますので、大変恐れ入りますが、専門家の方々にはお許しください。
|
||||
Gitの使用経験とプログラミングの基礎がある場合、[Github Pull Request プロセス概要](./development.md#github-pull-request-プロセス概要)など、より上級のチュートリアルを見ることができます。
|
||||
Gitの使用経験とプログラミングの基礎がある場合、[GitHub Pull Request プロセス概要](./development.md#github-pull-request-プロセス概要)など、より上級のチュートリアルを見ることができます。
|
||||
:::
|
||||
|
||||
## 基本概念および用語の説明
|
||||
|
||||
@@ -3,7 +3,7 @@ order: 8
|
||||
icon: iconoir:code-brackets
|
||||
---
|
||||
|
||||
# Dedicated VSCode Extension Tutorial
|
||||
# Dedicated VS Code Extension Tutorial
|
||||
|
||||
The extension provides a series of convenient development capabilities for MaaAssistantArknights/MaaFramework, including but not limited to the following features:
|
||||
|
||||
@@ -14,7 +14,7 @@ For details, please visit [Extension Store](https://marketplace.visualstudio.com
|
||||
|
||||
## Installation
|
||||
|
||||
Searching `Maa` and installing it from VSCode extensions list is recommended.
|
||||
Searching `Maa` and installing it from VS Code extensions list is recommended.
|
||||
|
||||
::: tip
|
||||
When used for the first time, the extension will automatically download the preset version of resources.
|
||||
@@ -88,11 +88,11 @@ Evaluating the expanded task object and the sources of each properties, and the
|
||||
|
||||
Scanning and selecting controllers, selecting resource, adding and manipulating tasks, and launching tasks can be done via the control panel.
|
||||
|
||||
### Take screenshots and crop images
|
||||
### Take screenshots and crop images / Quick recognition
|
||||
|
||||
Searching and launching `Maa: open crop tool` inside VSCode command panel can open `Screenshots / Crop` panel.
|
||||
Searching and launching `Maa: open crop tool` inside VS Code command panel can open `Screenshots / Crop` panel.
|
||||
|
||||
> Use `Ctrl+Shift+P` (`Command+Shift+P` on MacOS) to open command panel
|
||||
> Use `Ctrl+Shift+P` (`Command+Shift+P` on macOS) to open command panel
|
||||
|
||||
- After selecting and connecting to the controller, use `Screencap` button to obtain screenshots
|
||||
- Use `Upload` button to manually upload images.
|
||||
@@ -106,17 +106,19 @@ Searching and launching `Maa: open crop tool` inside VSCode command panel can op
|
||||
|
||||
If OCR recognition returns an empty result, please check whether the [OCR model](https://github.com/MaaXYZ/MaaFramework/blob/main/docs/en_us/1.1-QuickStarted.md#text-recognition-model-files) is configured correctly.
|
||||
|
||||
For MAA, the extension will maintain the models used automatically; you only need to select the proper resource.
|
||||
|
||||
:::
|
||||
|
||||
### Log View
|
||||
|
||||
#### MaaFramework Log
|
||||
|
||||
Search and execute `Maa: open maa log` in the VSCode command panel to view the `maa.log` generated during debugging.
|
||||
Search and execute `Maa: open maa log` in the VS Code command panel to view the `maa.log` generated during debugging.
|
||||
|
||||
#### Maa Pipeline Support Extension Log
|
||||
|
||||
Search and execute `Maa: open extension log` in the VSCode command panel to view the `mse.log` generated during debugging.
|
||||
Search and execute `Maa: open extension log` in the VS Code command panel to view the `mse.log` generated during debugging.
|
||||
|
||||
### Bottom status bar
|
||||
|
||||
|
||||
@@ -9,79 +9,135 @@ icon: material-symbols:download
|
||||
This page is outdated and maybe still in Simplified Chinese. Translation is needed.
|
||||
:::
|
||||
|
||||
maa-cli 提供多种方式安装,包括包管理器、预编译二进制文件和通过 `cargo` 自行编译安装。
|
||||
maa-cli 提供多种方式安装,包括预编译二进制文件、包管理器和通过 `cargo` 自行编译安装。
|
||||
|
||||
## 预编译二进制文件
|
||||
|
||||
安装 maa-cli 最简单的方式是使用安装脚本一键安装:
|
||||
|
||||
::: tabs#pre-compile
|
||||
|
||||
@tab:active Linux 和 macOS
|
||||
|
||||
```bash
|
||||
curl -fsSL https://raw.githubusercontent.com/MaaAssistantArknights/maa-cli/main/install.sh | bash
|
||||
```
|
||||
|
||||
@tab Windows (PowerShell)
|
||||
|
||||
```powershell
|
||||
Invoke-WebRequest -Uri "https://raw.githubusercontent.com/MaaAssistantArknights/maa-cli/main/install.ps1" -OutFile install.ps1; .\install.ps1
|
||||
```
|
||||
|
||||
:::
|
||||
|
||||
后续你可以通过 `maa self update` 来更新 maa-cli。
|
||||
|
||||
如果你的平台不在上述列表中,可以尝试自行[编译安装](#编译安装)。
|
||||
|
||||
## 通过包管理器安装
|
||||
|
||||
对于 macOS 和受支持的 Linux 发行版用户,推荐使用包管理器安装 maa-cli。
|
||||
对于 macOS 和受支持的 Linux 发行版用户,可以使用包管理器安装 maa-cli。
|
||||
|
||||
### macOS
|
||||
|
||||
Homebrew 用户可以通过非官方的 [tap](https://github.com/MaaAssistantArknights/homebrew-tap/) 安装 maa-cli:
|
||||
|
||||
- 稳定版本:
|
||||
::: code-tabs
|
||||
|
||||
```bash
|
||||
brew install MaaAssistantArknights/tap/maa-cli
|
||||
```
|
||||
@tab:active 稳定版
|
||||
|
||||
- 不稳定预发行版本:
|
||||
```bash :no-line-numbers
|
||||
brew install MaaAssistantArknights/tap/maa-cli
|
||||
```
|
||||
|
||||
```bash
|
||||
brew install MaaAssistantArknights/tap/maa-cli-beta
|
||||
```
|
||||
@tab 不稳定版/预发行版
|
||||
|
||||
```bash :no-line-numbers
|
||||
brew install MaaAssistantArknights/tap/maa-cli-beta
|
||||
```
|
||||
|
||||
:::
|
||||
|
||||
### Linux
|
||||
|
||||
- Arch Linux 用户可以安装 [AUR 包](https://aur.archlinux.org/packages/maa-cli/):
|
||||
Arch、Nix 以及 Linux Homebrew 用户可以通过包管理器安装 maa-cli。
|
||||
|
||||
```bash
|
||||
yay -S maa-cli
|
||||
```
|
||||
#### Arch Linux
|
||||
|
||||
- ❄️ Nix 用户可以直接运行:
|
||||
可以安装 [AUR 包](https://aur.archlinux.org/packages/maa-cli/):
|
||||
|
||||
```bash
|
||||
# 稳定版
|
||||
nix run nixpkgs#maa-cli
|
||||
```
|
||||
::: code-tabs
|
||||
|
||||
```bash
|
||||
# 每夜构建
|
||||
nix run github:Cryolitia/nur-packages#maa-cli-nightly
|
||||
```
|
||||
@tab:active paru
|
||||
|
||||
稳定版打包至 [nixpkgs](https://github.com/NixOS/nixpkgs/blob/nixos-unstable/pkgs/by-name/ma/maa-cli/package.nix) 中,使用 `nixpkgs` 中的 Rust 工具链;每夜构建位于 [NUR](https://github.com/Cryolitia/nur-packages/blob/master/pkgs/maa-assistant-arknights/maa-cli.nix) 中,使用 Beta channel 的 Rust 工具链,由 Github Action 每日自动更新和构建验证。
|
||||
```bash :no-line-numbers
|
||||
paru -S maa-cli
|
||||
```
|
||||
|
||||
- 对于在 Linux 上使用 Homebrew 的用户,参见上述 macOS 的安装方式。
|
||||
@tab yay
|
||||
|
||||
## 预编译二进制文件
|
||||
```bash :no-line-numbers
|
||||
yay -S maa-cli
|
||||
```
|
||||
|
||||
如果你的系统不受支持或者不想使用包管理器,你可以点击以下链接下载对应平台的预编译二进制文件,解压后将可执行文件放入 `PATH` 中即可使用。
|
||||
:::
|
||||
|
||||
- [macOS](https://github.com/MaaAssistantArknights/maa-cli/releases/latest/download/maa_cli-universal-apple-darwin.zip)
|
||||
- [Linux x86_64 (x64, amd64)](https://github.com/MaaAssistantArknights/maa-cli/releases/latest/download/maa_cli-x86_64-unknown-linux-gnu.tar.gz)
|
||||
- [Linux aarch64 (arm64)](https://github.com/MaaAssistantArknights/maa-cli/releases/latest/download/maa_cli-aarch64-unknown-linux-gnu.tar.gz)
|
||||
- [Windows x86_64 (x64, amd64)](https://github.com/MaaAssistantArknights/maa-cli/releases/latest/download/maa_cli-x86_64-pc-windows-msvc.zip)
|
||||
- [Windows aarch64 (arm64)](https://github.com/MaaAssistantArknights/maa-cli/releases/latest/download/maa_cli-aarch64-pc-windows-msvc.zip)
|
||||
#### ❄️ Nix
|
||||
|
||||
如果你的平台不在上述列表中,可以尝试自行编译安装(参见下文)。
|
||||
用户可以直接运行:
|
||||
|
||||
::: code-tabs
|
||||
|
||||
@tab:active 稳定版
|
||||
|
||||
```bash :no-line-numbers
|
||||
nix run nixpkgs#maa-cli
|
||||
```
|
||||
|
||||
@tab 每夜构建
|
||||
|
||||
```bash :no-line-numbers
|
||||
nix run github:Cryolitia/nur-packages#maa-cli-nightly
|
||||
```
|
||||
|
||||
:::
|
||||
|
||||
稳定版打包至 [nixpkgs](https://github.com/NixOS/nixpkgs/blob/nixos-unstable/pkgs/by-name/ma/maa-cli/package.nix) 中,使用 `nixpkgs` 中的 Rust 工具链;每夜构建位于 [NUR](https://github.com/Cryolitia/nur-packages/blob/master/pkgs/maa-assistant-arknights/maa-cli.nix) 中,使用 Beta channel 的 Rust 工具链,由 Github Actions 每日自动更新和构建验证。
|
||||
|
||||
#### Homebrew
|
||||
|
||||
对于在 Linux 上使用 Homebrew 的用户,请参见上述 macOS 的安装方式。
|
||||
|
||||
#### 其他发行版
|
||||
|
||||
请使用 [预编译二进制文件](#预编译二进制文件) 或是 [自行编译安装](#编译安装)。
|
||||
|
||||
我们也欢迎各位有兴趣的开发者将 maa-cli 提交到更多发行版的官方仓库或是用户仓库!
|
||||
|
||||
## 编译安装
|
||||
|
||||
Rust 开发者可以通过 `cargo` 自行编译安装 maa-cli:
|
||||
|
||||
- 稳定版本:
|
||||
::: code-tabs
|
||||
|
||||
```bash
|
||||
cargo install --git https://github.com/MaaAssistantArknights/maa-cli.git --bin maa --tag stable --locked
|
||||
```
|
||||
@tab:active 稳定版本
|
||||
|
||||
- 开发版本:
|
||||
```bash :no-line-numbers
|
||||
cargo install --git https://github.com/MaaAssistantArknights/maa-cli.git --bin maa --tag stable --locked
|
||||
```
|
||||
|
||||
```bash
|
||||
cargo install --git https://github.com/MaaAssistantArknights/maa-cli.git --bin maa --locked
|
||||
```
|
||||
@tab 开发版本
|
||||
|
||||
```bash :no-line-numbers
|
||||
cargo install --git https://github.com/MaaAssistantArknights/maa-cli.git --bin maa --locked
|
||||
```
|
||||
|
||||
:::
|
||||
|
||||
::: warning
|
||||
maa-cli 目前的最低支持 Rust 版本 (MSRV) 为 1.88。请注意,MSRV 可能随时发生变化,我们建议始终使用最新的 Rust 工具链以获得最佳体验。
|
||||
:::
|
||||
|
||||
### 编译选项
|
||||
|
||||
@@ -89,33 +145,56 @@ Rust 开发者可以通过 `cargo` 自行编译安装 maa-cli:
|
||||
|
||||
- `cli_installer`: 启用 `maa self update` 命令,用于更新自身,这个特性默认启用;
|
||||
- `core_installer`: 启用 `maa install` 和 `maa update` 命令,用于安装和更新 MaaCore 及资源,这个特性默认启用;
|
||||
- `git2`: 提供 `libgit2` 资源更新后端,这个特性默认启用;
|
||||
- `vendored-openssl`: 自行编译 `openssl` 库,而不是使用系统的 `openssl` 库,这个特性默认禁用,这个特性通常在你的系统没有安装 `openssl` 库或者 `openssl` 版本过低时启用。
|
||||
- `git2`: 提供 `libgit2` 资源更新后端,这个特性默认启用。
|
||||
|
||||
## 安装 MaaCore 及资源
|
||||
|
||||
maa-cli 只提供了一个命令行界面,它需要 MaaCore 和资源来运行任务。一旦 maa-cli 安装完成,你可以通过它安装 MaaCore 及资源:
|
||||
maa-cli 只提供了一个命令行界面,它需要 MaaCore 和资源来运行任务。
|
||||
|
||||
```bash
|
||||
根据安装方式和平台的不同,你的操作也有所区别:
|
||||
|
||||
::: tabs#maacore
|
||||
|
||||
@tab:active 预编译
|
||||
对于使用预编译二进制或者自行编译的用户,maa-cli 可以帮助你安装和更新:
|
||||
|
||||
```bash :no-line-numbers
|
||||
maa install
|
||||
```
|
||||
|
||||
对于使用包管理器安装的用户,可以通过包管理器安装 MaaCore:
|
||||
@tab Windows
|
||||
对于 Windows 平台的用户,在运行 `maa install` 命令前,请以管理员身份在命令提示符或 PowerShell 中运行以下命令,以安装必要组件 VC++ 运行库:
|
||||
|
||||
- Homebrew:
|
||||
```bat :no-line-numbers
|
||||
winget install "Microsoft.VCRedist.2015+.x64" --override "/repair /passive /norestart" --uninstall-previous --accept-package-agreements --force
|
||||
```
|
||||
|
||||
```bash
|
||||
brew install MaaAssistantArknights/tap/maa-core
|
||||
```
|
||||
然后再运行 `maa install`。
|
||||
|
||||
- Arch Linux:
|
||||
@tab Arch
|
||||
你可以使用 maa-cli 安装预编译的 MaaCore:
|
||||
|
||||
```bash
|
||||
yay -S maa-assistant-arknights
|
||||
```
|
||||
```bash :no-line-numbers
|
||||
maa install
|
||||
```
|
||||
|
||||
- Nix:
|
||||
你也可以通过 [AUR](https://aur.archlinux.org/packages/maa-assistant-arknights/) 安装 maa-core
|
||||
|
||||
Nix 上的 maa-cli 强制依赖 MaaCore。 因此,Nix 用户无需,也不应该手动安装 MaaCore。
|
||||
```bash :no-line-numbers
|
||||
paru -S maa-assistant-arknights
|
||||
```
|
||||
|
||||
**注意**:只有使用包管理器安装 maa-cli 的用户才能使用包管理器安装 MaaCore,否则请使用 `maa install` 命令安装。此外,`maa install` 通过下载官方预编译的 MaaCore,而包管理器安装的 MaaCore 可能使用的编译选项和依赖版本与官方预编译的版本不同,这可能导致性能和功能上存在略微差异。
|
||||
或者
|
||||
|
||||
```bash :no-line-numbers
|
||||
yay -S maa-assistant-arknights
|
||||
```
|
||||
|
||||
@tab Nix
|
||||
Nix 上的 maa-cli 强制依赖 MaaCore,因此 Nix 用户无需,也不应该手动安装 MaaCore。
|
||||
|
||||
:::
|
||||
|
||||
::: warning
|
||||
`maa install` 下载的是 MAA 官方预编译的 MaaCore,而包管理器安装的 MaaCore 可能使用与官方预编译版本不同的编译选项和依赖版本,这也许会导致性能和功能上的略微差异。
|
||||
:::
|
||||
|
||||
@@ -11,6 +11,12 @@ This page is outdated and maybe still in Simplified Chinese. Translation is need
|
||||
|
||||
maa-cli 主要功能是通过调用 MaaCore,自动化完成明日方舟的游戏任务。此外,为了方便使用,maa-cli 还提供了管理 MaaCore 的功能。
|
||||
|
||||
::: tip
|
||||
|
||||
对于使用 Windows 包管理器 (winget) 安装 maa-cli 的用户,以下命令中的 `maa` 需要替换为 `maa-cli` 。
|
||||
|
||||
:::
|
||||
|
||||
## 管理 MaaCore
|
||||
|
||||
maa-cli 可以安装和更新 MaaCore 及资源,只需运行以下命令:
|
||||
|
||||
@@ -202,7 +202,7 @@ MAA は現在 `bluestacks.conf` の保存場所をレジストリから読み取
|
||||
|
||||
対応するエミュレーターの設定を選択してください。リストにない場合は汎用設定を選択してください。汎用設定が利用できない場合は他の利用可能な設定を試し、選択してください。
|
||||
|
||||
具体的な違いについては、[ソースコード](https://github.com/MaaAssistantArknights/MaaAssistantArknights/blob/dev/resource/config.json#L65)をご覧ください。
|
||||
具体的な違いについては、[ソースコード](https://github.com/MaaAssistantArknights/MaaAssistantArknights/blob/dev/resource/config.json#L57)をご覧ください。
|
||||
|
||||
### MuMu スクリーンショット強化モード
|
||||
|
||||
|
||||
@@ -20,7 +20,7 @@ winget install "Microsoft.VCRedist.2015+.x64" --override "/repair /passive /nore
|
||||
|
||||
以下の<u>**2つ**</u>のランタイムライブラリを手動でダウンロードしてインストールして問題を解決してください。
|
||||
|
||||
- [Visual C++ 再頒布可能パッケージ](https://aka.ms/vs/17/release/vc_redist.x64.exe)
|
||||
- [Visual C++ 再頒布可能パッケージ](https://aka.ms/vc14/vc_redist.x64.exe)
|
||||
- [.NET デスクトップランタイム 10](https://aka.ms/dotnet/10.0/windowsdesktop-runtime-win-x64.exe)
|
||||
|
||||
:::
|
||||
@@ -49,25 +49,9 @@ winget install "Microsoft.VCRedist.2015+.x64" --override "/repair /passive /nore
|
||||
|
||||
Windows N/KN(ヨーロッパ/韓国)の場合、[メディア機能パック](https://support.microsoft.com/ja-jp/topic/c1c6fffa-d052-8338-7a79-a4bb980a700a)をインストールする必要があります。
|
||||
|
||||
#### Windows 7 関連
|
||||
#### Windows 7 / 8 / 8.1 関連
|
||||
|
||||
.NET 10 は Windows 7 / 8 / 8.1 システムをサポートしていないため<sup>[ソース](https://github.com/dotnet/core/issues/7556)</sup>、MAA も同様にサポートしていません。最後に利用可能な .NET 8 バージョンは [`v5.4.0-beta.1.d035.gd2e5001e7`](https://github.com/MaaAssistantArknights/MaaRelease/releases/tag/v5.4.0-beta.1.d035.gd2e5001e7) です。最後に利用可能な .NET 4.8 バージョンは [`v4.28.8`](https://github.com/MaaAssistantArknights/MaaAssistantArknights/releases/tag/v4.28.8) です。自己コンパイルの実現可能性はまだ確認されていません。
|
||||
|
||||
Windows 7 の場合、上記の 2 つのランタイムライブラリをインストールする前に、以下のパッチがインストールされているかどうかを確認する必要があります:
|
||||
|
||||
1. [Windows 7 Service Pack 1](https://support.microsoft.com/ja-jp/windows/windows-7-service-pack-1-sp1-%E3%82%92%E3%82%A4%E3%83%B3%E3%82%B9%E3%83%88%E3%83%BC%E3%83%AB%E3%81%99%E3%82%8B-b3da2c0f-cdb6-0572-8596-bab972897f61)
|
||||
2. SHA-2 コード署名:
|
||||
- KB4474419:[ダウンロードリンク1](https://catalog.s.download.windowsupdate.com/c/msdownload/update/software/secu/2019/09/windows6.1-kb4474419-v3-x64_b5614c6cea5cb4e198717789633dca16308ef79c.msu)、[ダウンロードリンク2](http://download.windowsupdate.com/c/msdownload/update/software/secu/2019/09/windows6.1-kb4474419-v3-x64_b5614c6cea5cb4e198717789633dca16308ef79c.msu)
|
||||
- KB4490628:[ダウンロードリンク1](https://catalog.s.download.windowsupdate.com/c/msdownload/update/software/secu/2019/03/windows6.1-kb4490628-x64_d3de52d6987f7c8bdc2c015dca69eac96047c76e.msu)、[ダウンロードリンク2](http://download.windowsupdate.com/c/msdownload/update/software/secu/2019/03/windows6.1-kb4490628-x64_d3de52d6987f7c8bdc2c015dca69eac96047c76e.msu)
|
||||
3. Platform Update for Windows 7(DXGI 1.2、Direct3D 11.1,KB2670838):[ダウンロードリンク1](https://catalog.s.download.windowsupdate.com/msdownload/update/software/ftpk/2013/02/windows6.1-kb2670838-x64_9f667ff60e80b64cbed2774681302baeaf0fc6a6.msu)、[ダウンロードリンク2](http://download.windowsupdate.com/msdownload/update/software/ftpk/2013/02/windows6.1-kb2670838-x64_9f667ff60e80b64cbed2774681302baeaf0fc6a6.msu)
|
||||
|
||||
##### .NET 8 アプリケーションが Windows 7 で異常に動作する場合の緩和策 [#8238](https://github.com/MaaAssistantArknights/MaaAssistantArknights/issues/8238)
|
||||
|
||||
Windows 7 で .NET 8 アプリケーションを実行すると、メモリ使用量が異常になる問題があります。以下の緩和策を参照してください。Windows 8/8.1 はテストされていません。同じ問題がある場合は、ドキュメントを更新するために Issue を提出してください。
|
||||
|
||||
1. `コンピュータ` を開き、空白部分を右クリックしてプロパティをクリックし、左側の `システムの詳細設定` をクリックし、`環境変数` をクリックします。
|
||||
2. 新しいシステム変数を作成し、変数名を `DOTNET_EnableWriteXorExecute`、変数値を `0` に設定します。
|
||||
3. コンピュータを再起動します。
|
||||
.NET 10 は Windows 7 / 8 / 8.1 システムをサポートしていないため<sup>[ソース](https://github.com/dotnet/core/issues/7556)</sup>、MAA も同様にサポートしていません。
|
||||
|
||||
#### 公式統合パック(確信)
|
||||
|
||||
|
||||
@@ -51,7 +51,7 @@ icon: hugeicons:brain-02
|
||||
- 龍門市街:LungmenDowntown@Annihilation
|
||||
|
||||
- サイドストーリー内の `OF-1` / `OF-F3` / `GT-5`。
|
||||
- 当期 SS イベントの後半 3 ステージ。自動で [API](https://api.maa.plus/MaaAssistantArknights/api/gui/StageActivity.json) から更新を取得後、画面下部に表示されます。
|
||||
- 当期 SS イベントの後半 3 ステージ。自動で [API](https://api.maa.plus/MaaAssistantArknights/api/gui/StageActivityV2.json) から更新を取得後、画面下部に表示されます。
|
||||
- 復刻 SS イベント。`SSReopen-<ステージ接頭辞>` を入力すると、XX-1 ~ XX-9 を一括周回します(例:`SSReopen-IC`)。
|
||||
|
||||
::: details サンプル画面
|
||||
@@ -70,22 +70,11 @@ icon: hugeicons:brain-02
|
||||
代替ステージは当日の開放状況に応じて戦闘ステージを決定し、最初に開放されているステージを選びます。
|
||||
これはスケジュールに近い機能であり、「ステージ選択に失敗したときの予備候補」にはなりません。
|
||||
|
||||
1. 例:ステージ選択が `龍門幣-6(CE-6)`、代替が `1-7` と `作戦記録-6(LS-6)` の場合:
|
||||
- 当日に `龍門幣-6(CE-6)` が開放されていれば `龍門幣-6(CE-6)` に向かい、`1-7` と `作戦記録-6(LS-6)` には向かいません。この時点で `龍門幣-6(CE-6)` の自動指揮を解放していなければ、作戦タスクはエラーになります。
|
||||
- 当日に `龍門幣-6(CE-6)` が開放されていなければ `1-7` に向かい、`龍門幣-6(CE-6)` には向かいません。この時点で `1-7` の自動指揮を解放していなければ、作戦タスクはエラーになります。
|
||||
- `作戦記録-6(LS-6)` より前に常設の `1-7` が存在するため、この構成では MAA は `作戦記録-6(LS-6)` には決して向かいません。
|
||||
2. ステージ選択が `殲滅作戦` の場合:
|
||||
- 殲滅の結果にかかわらず、他の代替ステージの選択ロジックには影響しません。殲滅がエラーでも作戦タスクはエラーになりません。
|
||||
- 残りの代替ステージは `理性剤使用数` と `連戦回数` の設定のみを継承し、`割る源石の数`・`周回数指定`・`素材の指定` の制御は受けません。
|
||||
例:代替選択肢が `龍門幣-6(CE-6)`、 `1-7` 、`作戦記録-6(LS-6)` の場合:
|
||||
|
||||
### 余剰理性の消費
|
||||
|
||||
`作戦` タスク終了後に起動します。`理性剤使用数`・`割る源石の数`・`周回数指定`・`素材の指定`・`連戦回数` の制御は受けず、現在残っている理性を使い切った時点で終了します。
|
||||
|
||||
- `ステージ` の理性不足後に、`余剰理性の消費` 用ステージで残りの“端数”理性を処理する用途に適します(例:1-7 へ行く)。
|
||||
- 連戦回数の設定が高すぎて理性が不足した場合に、自動で単発周回に切り替えて理性を使い切って締める用途にも適します(例:1-7 を連戦 6 回に設定したが理性が 30 のため、自動的に連戦なしの 1-7 を 5 回に切り替え)。
|
||||
- 残り理性がなお不足している場合(例:理性は 6 未満)にはタスクを終了します。
|
||||
- `余剰理性の消費` で選んだステージが未開放の場合、作戦タスクはエラーになります。
|
||||
- 当日に `龍門幣-6(CE-6)` が開放されていれば `龍門幣-6(CE-6)` に向かい、`1-7` と `作戦記録-6(LS-6)` には向かいません。この時点で `龍門幣-6(CE-6)` の自動指揮を解放していなければ、作戦タスクはエラーになります。
|
||||
- 当日に `龍門幣-6(CE-6)` が開放されていなければ `1-7` に向かい、`龍門幣-6(CE-6)` には向かいません。この時点で `1-7` の自動指揮を解放していなければ、作戦タスクはエラーになります。
|
||||
- `作戦記録-6(LS-6)` より前に常設の `1-7` が存在するため、この構成では MAA は `作戦記録-6(LS-6)` には決して向かいません。
|
||||
|
||||
### 連戦回数
|
||||
|
||||
@@ -93,15 +82,14 @@ MAA はユーザーが設定した連戦回数に基づいて戦闘を行いま
|
||||
|
||||
- **AUTOモード**(0):
|
||||
- ステージの最大連戦回数を自動認識し、理性が溢れない範囲で最大を維持
|
||||
- 完了後は(設定していれば)`余剰理性の消費` フローへ移行
|
||||
|
||||
- **数値モード**(1~6):
|
||||
- 設定した回数で連戦を実行
|
||||
- 現在の理性で設定回数を満たせない場合(例:5 回分しかないのに 6 回を設定)には、その時点で終了し(設定していれば)`余剰理性の消費` フローへ移行
|
||||
- 現在の理性で設定回数を満たせない場合(例:5 回分しかないのに 6 回を設定)には、その時点で終了し
|
||||
|
||||
- **切り替えない**(-1):
|
||||
- ゲーム内の連戦回数設定を変更しません
|
||||
- 現在のゲーム内設定回数を満たす理性が不足している場合は、その時点で終了し(設定していれば)`余剰理性の消費` フローへ移行
|
||||
- 現在のゲーム内設定回数を満たす理性が不足している場合は、その時点で終了し
|
||||
|
||||
### 周回数指定
|
||||
|
||||
|
||||
@@ -18,7 +18,7 @@ icon: ic:baseline-article
|
||||
- SoCの場合のみ、完全なステージ番号を入力する必要があります。例: `PR-A-1` 。
|
||||
- `Annihilation`(殲滅作戦)。
|
||||
- `OF-1` / `OF-F3` / `GT-5` のみサポートされます。
|
||||
- 現在のSSイベントの最後の3つのステージ。 [API](https://api.maa.plus/MaaAssistantArknights/api/gui/StageActivity.json) で更新が自動的にダウンロードされた後、メイン画面に対応するメッセージが表示されます。
|
||||
- 現在のSSイベントの最後の3つのステージ。 [API](https://api.maa.plus/MaaAssistantArknights/api/gui/StageActivityV2.json) で更新が自動的にダウンロードされた後、メイン画面に対応するメッセージが表示されます。
|
||||
- 再刻印SSアクティビティは `SSReopen-XX` と入力するとXX-1~XX-9ステージを一度にクリアできます。 `SSReopen-IC` など。
|
||||
|
||||
::: details 画面例
|
||||
|
||||
@@ -260,9 +260,9 @@ Todo
|
||||
統合戦略: 安全な片隅
|
||||
- `StageEncounterEnter`
|
||||
統合戦略: 思わぬ遭遇
|
||||
- `StageCombatDpsEnter`
|
||||
- `StageCombatOpsEnter`
|
||||
統合戦略: 作戦
|
||||
- `StageEmergencyDps`
|
||||
- `StageEmergencyOps`
|
||||
統合戦略: 緊急作戦
|
||||
- `StageDreadfulFoe`
|
||||
統合戦略: 悪路凶敵
|
||||
@@ -535,44 +535,13 @@ Todo
|
||||
}
|
||||
```
|
||||
|
||||
- `DepotInfo`
|
||||
- `Depot`
|
||||
倉庫のアイテムの認識結果
|
||||
|
||||
```json
|
||||
// 対応する詳細フィールドの例
|
||||
"done": bool, // 認識が完了したかどうか,false はまだ進行中かどうか(処理中のデータ)
|
||||
"arkplanner": { // https://penguin-stats.cn/planner
|
||||
"object": {
|
||||
"items": [
|
||||
{
|
||||
"id": "2004",
|
||||
"have": 4,
|
||||
"name": "上級作戦記録"
|
||||
},
|
||||
{
|
||||
"id": "mod_unlock_token",
|
||||
"have": 25,
|
||||
"name": "モジュールデータ"
|
||||
},
|
||||
{
|
||||
"id": "2003",
|
||||
"have": 20,
|
||||
"name": "中級作戦記録"
|
||||
}
|
||||
],
|
||||
"@type": "@penguin-statistics/depot"
|
||||
},
|
||||
"data": "{\"@type\":\"@penguin-statistics/depot\",\"items\":[{\"id\":\"2004\",\"have\":4,\"name\":\"上級作戦記録\"},{\"id\":\"mod_unlock_token\",\"have\":25,\"name\":\"モジュールデータ\"},{\"id\":\"2003\",\"have\":20,\"name\":\"中級作戦記録\"}]}"
|
||||
},
|
||||
"lolicon": { // https://arkntools.app/#/material
|
||||
"object": {
|
||||
"2004" : 4,
|
||||
"mod_unlock_token": 25,
|
||||
"2003": 20
|
||||
},
|
||||
"data": "{\"2003\":20,\"2004\": 4,\"mod_unlock_token\": 25}"
|
||||
}
|
||||
// 現在は ArkPlanner と Lolicon (Arkntools) 形式のみ対応、今後対応するサイトが増える可能性あり
|
||||
"done": bool, // 認識が完了したかどうか,false はまだ進行中かどうか(処理中のデータ)
|
||||
"data": "{\"2001\":18000,\"31043\":317}" // JSON文字列、形式: {"アイテムID": 数量, ...}
|
||||
```
|
||||
|
||||
- `OperBoxInfo`
|
||||
|
||||
@@ -20,7 +20,7 @@ JSONファイルはコメントをサポートしておらず、テキスト内
|
||||
{
|
||||
"name": "ソーンズ", // オペーレーター名
|
||||
|
||||
"skill": 3, // スキルID と範囲 [1, 3], オプション, 1 がデフォルト
|
||||
"skill": 3, // スキルID と範囲 [0, 3], オプション, 1 がデフォルト
|
||||
|
||||
"skill_usage": 0, // スキルの使用, オプション, デフォルトは 0
|
||||
// 0 - `パッシブ`
|
||||
|
||||
@@ -12,16 +12,27 @@ JSONファイルはコメントをサポートしていません。テキスト
|
||||
## ローグリソースの保存場所
|
||||
|
||||
- `resource/roguelike/` には、各ローグテーマに応じての運用リソースが格納されています
|
||||
- テーマフォルダ: `Phantom/` はファントム、 `Mizuki/` はミヅキ `Sami/` はサーミ
|
||||
- テーマフォルダ: `Phantom/` はファントム、 `Mizuki/` はミヅキ、`Sami/` はサーミ、`Sarkaz/` はサルカズ、`JieGarden/` は界園
|
||||
- `autopilot/` には、各ステージの戦闘jsonが含まれます
|
||||
- `ステージ名.json` ステージの戦闘ロジック
|
||||
- `encounter.json/` 思わぬ遭遇イベントロジック
|
||||
- `encounter/` 思わぬ遭遇イベントロジック
|
||||
- `default.json` 経験値モード
|
||||
- `deposit.json` 源石錐モード
|
||||
- `recruitment.json` オペレーター招集ロジック
|
||||
- `shopping.json` ストア購入ロジック
|
||||
|
||||
特に、 `Sami/` の下の `foldartal.json` は、サーミの暗号文板の使用ロジックを表す
|
||||
- 特に、`Sami/` の下の
|
||||
- `foldartal.json` はサーミの啓示板の使用ロジックを表す
|
||||
- `collapsal_paradigms.json` はサーミのパラダイムロストの種類を表す
|
||||
- `autopilot/ステージ名_collapse.json` ステージの戦闘ロジック(パラダイムロスト収集モード)
|
||||
- `encounter/collapse.json` パラダイムロスト収集モードの思わぬ遭遇ロジック
|
||||
|
||||
- `Sarkaz/` の下の
|
||||
- `fragments.json` はサルカズの思案の基本情報を保存
|
||||
- `map.json` はサルカズの位置測定分隊のルーティング用テンプレート画像情報を保存
|
||||
|
||||
- `JieGarden/` の下の
|
||||
- `coppers.json` は通宝の基本情報と拾取・交換ロジック
|
||||
|
||||
## ローグの始め--オペレーター招集
|
||||
|
||||
@@ -86,45 +97,89 @@ JSONファイルはコメントをサポートしていません。テキスト
|
||||
|
||||
1. 既存のグループの紹介
|
||||
|
||||
ファントムテーマを例に取ると:主にオペレーターを以下のように分類しています
|
||||
サーミのテーマを例に取ると:主にオペレーターを以下のように分類しています
|
||||
|
||||
| グループ | 主な考慮事項 | 主に職種を含む | オペレーターの例 |
|
||||
| :------------- | :----------------------------- | :----------------- | :----------------------------------------------------------------------------------------------- |
|
||||
| **_地面阻挡_** | 場に立つことと雑魚を清掃 | 重装、前衛 | 庇護衛士、基石、ラ・プルマ、マウンテン、M3、リィンとシーンの召喚ユニット、スポット、重装予備隊員 |
|
||||
| **_地面单切_** | 一人でエリートモンスターと戦う | 執行者-特殊 | スルト、血掟テキサス、キリンRヤトウ、M3、レッド |
|
||||
| **_高台 C_** | 常態と決戦DPS | 狙撃、術師 | 遊龍チェン、ゴールデングロー、エイヤフィヤトラ、フィアメッタ |
|
||||
| **_高台输出_** | 対空および通常DPS | 狙撃、術師 | アルケット、エクシア、クルース、スチュワード |
|
||||
| **_奶_** | 治療能力 | 医療、補助 | ケルシ、濁心スカジ、ハイビスカス、アンセル |
|
||||
| **_回费_** | cost 回復 | 先鋒 | テンニンカ、イネス、フェン、バニラ |
|
||||
| **_炮灰_** | 砲弾吸収、再配置 | 特殊、召喚ユニット | M3、レッド、テンニンカ、予備隊員 |
|
||||
| **_高台预备_** | DPS能力を持っています | | オーキッド、予備隊員 |
|
||||
| グループ | 主な考慮事項 | 主に職種を含む | オペレーターの例 |
|
||||
| :---------------------- | :---------------------------------------- | :------------------------- | :----------------------------------------------------------------------------------------------- |
|
||||
| **_地面阻挡_** | 場に立つことと雑魚を清掃 | 重装、前衛 | 庇護衛士、基石、ラ・プルマ、マウンテン、M3、リィンとシーンの召喚ユニット、スポット、重装予備隊員 |
|
||||
| **_地面单切/執行者_** | 一人でエリート敵と戦う | 執行者-特殊 | スルト、血掟テキサス、キリンRヤトウ、M3、レッド |
|
||||
| **_高台C_** | 常態と決戦DPS | 狙撃、術師 | ウィシャデル、ロゴス、遊龍チェン、ゴールデングロー |
|
||||
| **_高台输出_** | 対空および通常DPS | 狙撃、術師 | アルケット、エクシア、クルース、スチュワード |
|
||||
| **_速狙_** | 物理DPS、標準射程 | 狙撃 | Ela、エクシア、ケイパー、クルース |
|
||||
| **_術師_** | 術DPS、標準射程 | 単体術師 | エイヤフィヤトラ、ロゴス、スチュワード |
|
||||
| **_辅助_** | 後方1マスを攻撃可能 | 補助 | ヴィルトゥオーサ、スズラン、ケイパー、オーキッド |
|
||||
| **_狙撃_** | 射程が長い高台 | 投擲手、破城射手 | ウィシャデル、ティフォン、ロサ |
|
||||
| **_奶_** | 治療能力 | 医療、補助 | ケルシー、濁心スカジ、ハイビスカス、アンセル |
|
||||
| **_単奶_** | 攻撃範囲縦深>=4 | 医療 | ケルシー、焔影リード、純燼エイヤフィヤトラ、ハイビスカス、アンセル |
|
||||
| **_群奶_** | 攻撃範囲縦深<4、後方を治療可能 | 医療、補助 | ナイチンゲール、フィリオプシス、濁心スカジ |
|
||||
| **_回费_** | COST 回復 | 先鋒 | テンニンカ、イネス、フェン、バニラ |
|
||||
| **_地刺_** | ブロックなし、盾の前でDPSまたは減速を提供 | 潜伏者 | 帰溟スペクター、アスカロン、マンティコア |
|
||||
| **_地面遠程_** | 地上長射程、盾の後ろでDPS可能 | 教官、領主 | ホルン、パラス、ソーンズ、シルバーアッシュ |
|
||||
| **_領主_** | 地上攻撃範囲縦深>4、対空可能 | 要塞、領主 | ソーンズ、シルバーアッシュ、チューバイ |
|
||||
| **_盾法_** | 攻撃範囲が短く、ある程度の耐久力がある | 法陣術師 | リン、カーネリアン |
|
||||
| **_炮灰_** | 砲弾吸収、再配置 | 特殊、召喚ユニット | M3、レッド、テンニンカ、予備隊員 |
|
||||
| **_大龍_** | 盾の前で耐久、近接ブロックで合体しやすい | 召喚ユニット | リィンの小龍、ジェシカの盾 |
|
||||
| **_補給站_** | メインDPS オペレーターの回転を加速 | 召喚ユニット | 支援補給ステーション、工匠系オペレーターの召喚ユニット |
|
||||
| **_無人機_** | 高台地上を無視する治療召喚ユニット | 召喚ユニット | スカジのシーボーン、サイレンスのドローン |
|
||||
| **_支援陷阱_** | 地上に配置する爆発物 | 召喚ユニット | 壊れたスモークマシン、ミスターランブル |
|
||||
| **_障碍物_** | 配置枠を使わず敵視を集めるかブロック | 召喚ユニット | 鳥籠、障害物 |
|
||||
| **_其他地面_** | 優先使用したくない地上 | 押引、ブロック1先鋒、剣豪 | バグパイプ、クロワッサン |
|
||||
| **_高台预备/其他高台_** | 優先使用したくない高台 | 拡散術師、連鎖術師、戦術家 | オーキッド、予備隊員 |
|
||||
|
||||
::: tip
|
||||
地面阻挡は主にオペレーターの防御総合能力を考慮します(時には全滅させることも防御力が強い表現ですね)、地面遠程と領主グループを含みます
|
||||
|
||||
奶は主に総合治療能力を考慮し、単奶と群奶を含みます。攻撃範囲カバーを考慮する必要がある場合は、単奶(4マス治療)または群奶(後方治療)を単独で使用します
|
||||
|
||||
高台输出は出力能力のみを考慮し、主に狙撃と術師職業の混合順序です。出力タイプ、攻撃範囲などの制限条件を考慮する必要がある場合は、速狙、術師、辅助、盾法を単独で使用します
|
||||
|
||||
罠タイプの召喚ユニットは数が多いため、支援陷阱グループに入れず、MAAに自動配置させた方が効果的です
|
||||
:::
|
||||
|
||||
2. 特別な操作が必要なグループ
|
||||
|
||||
上記のような一般的なグループ以外に、時折、特定のオペレーターやオペレーターの種類に対して細かいカスタマイズが必要な場合があります。例えば
|
||||
|
||||
| グループ | 含まれるオペレーター | 主な特徴 |
|
||||
| :--------- | :--------------------------- | :------------------------------------------------------------------------------------------------------------------ |
|
||||
| 棘刺 | ソーンズ、ホルン | 地上遠隔攻撃、特定の位置に非常に適したマップがあります |
|
||||
| 召唤类 | ケルシ、リィン、シーン | 地上ブロックを持ち、一部のマップでは優先的に配置する必要があり、召喚物はブロックまたは死体として使用できます |
|
||||
| 情报官 | カンタービレ、イネス | コスト回収やサイドアウトプット、シングルカットが可能 |
|
||||
| 浊心斯卡蒂 | 濁心スカジ | 低圧時の回復量はまあまあですが、範囲が特殊で、一部のマップには特に適しています |
|
||||
| 焰苇 | 焔影リード | サーミローグはよく開局オペレーターを使い、治療と輸出を兼ねており、いくつかの図には比較的適切な位置がある |
|
||||
| 银灰 | シルバーアッシュ、ムリナール | 地上の大規模な戦闘出力、ボスに対して配置できます |
|
||||
| 史尔特尔 | スルト | 精二後、3スキルを固定搭載するため、この時点でのスタンバイ能力はほぼゼロで、ブロック位置の配置優先度は非常に低いです |
|
||||
| 骰子 | ダイス | ミヅキテーマの中のダイスは個別に操作する必要があります |
|
||||
| グループ | 含まれるオペレーター | 主な特徴 |
|
||||
| :--------- | :--------------------------- | :-------------------------------------------------------------------------------------------------------------- |
|
||||
| 益达 | ウィシャデル | 高台DPS、優先配置でプレッシャーを軽減できます |
|
||||
| 棘刺 | ソーンズ、ホルン | 地上遠隔攻撃、ファントムテーマでは特定の位置に非常に適したマップがあります |
|
||||
| 召唤类 | ケルシ、リィン、シーン | 地上ブロックを持ち、一部のマップでは優先的に配置する必要があり、召喚物はブロックまたは死体として使用できます |
|
||||
| 情报官 | カンタービレ、イネス | コスト回収やサイドアウトプット、シングルカットが可能 |
|
||||
| 浊心斯卡蒂 | 濁心スカジ | 低圧時の回復量はまあまあですが、範囲が特殊で、一部のマップには特に適しています |
|
||||
| 焰苇 | 焔影リード | サーミローグでよく使う開局オペレーター、治療と輸出を兼ねており、一部のマップには比較的適切な位置があります |
|
||||
| 玛恩纳 | ムリナール、シルバーアッシュ | 地上の大規模な決戦DPS、ボスに対して配置できます |
|
||||
| 史尔特尔 | スルト | 精二後、3スキルを固定搭載するため、この時点での場持ち能力はほぼゼロで、ブロック位置の配置優先度は非常に低いです |
|
||||
| 骰子 | ダイス | ミヅキテーマの中のダイスは個別に操作する必要があります |
|
||||
|
||||
::: info 注意
|
||||
現在、識別されていない近距離オペレーターは最後から2番目のグループ(其他地面)に分類され、識別されていない遠距離オペレーターは最後から1番目のグループ(其他高台)に分類されます
|
||||
:::
|
||||
|
||||
::: tip
|
||||
新しく実装されたオペレーターは、それぞれのローグライクの `recruitment.json` に手動で追加する必要があります。開発者が対応を忘れることもあります。
|
||||
もし気づいた場合は、issue を送って開発者に知らせることもできますし、直接 PR を送ることもできます。
|
||||
:::
|
||||
|
||||
### 預設陣容--陣容完備檢測
|
||||
|
||||
あなたがクリアできるか、高層まで進むことが期待されるチームの中で、どのオペレーターが基本的なコアメンバーに属していますか?欠かせないものは何ですか?
|
||||
|
||||
::: info 注意
|
||||
現在のスクリプトの勧誘ロジックは、陣容が完全でない限り、0希望とkeyオペレーターだけを勧誘し、希望を高星のkeyオペレーターに渡します
|
||||
現在のスクリプトの招集ロジックは、陣容が完全でない限り、0希望とkeyオペレーターだけを招集し、希望を高星のkeyオペレーターに渡します
|
||||
(現在の実装方法は、高レア度オペレーターと★3オペレーターを手動でキーオペレーターとしてマークし、募集時にはキーオペレーターのみを募集する)(TODO: 0希望のオペレーターを識別する)
|
||||
|
||||
したがって、完全度の数字を高く設定しないようにし、必要なすべてのオペレーターの数(基本的なコアメンバー)を合計して、4〜8人にしてください
|
||||
|
||||
チームが陣容の完全度テストをクリアした後、招集券を入手するたびにオペレーターの募集と昇進優先度に基づいて採用されるため、希望を無駄にしないために、採用を望まないオペレーターは評価を設定したり、同じ職業の★3と予備隊員の評価を下回ったりする
|
||||
(絶対に必要でないオペレーターには特別な高得点と低得点が与えられます。 `Sami` の `止颂` を参照)
|
||||
|
||||
戦闘陣容を形成する際、オペレーター選択画面のデフォルトソート(上から下、左から右へ)が読み取られ、秩序正しく保存されます
|
||||
この順序に基づき、最初に陣容完全性を満たすオペレーターは、すべての陣容完全性を満たすか、陣容完全性を満たすオペレーターがいないまで相対的な順序で言及されます
|
||||
次に予備隊員を一番最後に移動させ、新しい順序を形成し、新しい順序で選択します
|
||||
特に、六つ星の臨時招集オペレーターはデフォルトで編成の先頭に配置されているため、実際の編成に六つ星の臨時招集オペレーターを簡単に組み込むことができます(TODO:使いならないE1臨時招集オペレーターは除外)
|
||||
|
||||
新しいアカウントについて:キーオペレーターの半チームの要件を満たさない10件の招集の場合、完全性テストは中止され、スコアに応じて使用されます。つまり、3つ星を育成していない新しい人数は2つか3つの6つ星のみを得られ、残りは多くの予備オペレーターを使います
|
||||
:::
|
||||
|
||||
```json
|
||||
@@ -149,16 +204,34 @@ JSONファイルはコメントをサポートしていません。テキスト
|
||||
],
|
||||
"threshold": 2
|
||||
},
|
||||
{
|
||||
"groups": [
|
||||
"奶" //(ここでは、回復役が1名必要であることを示しています)
|
||||
],
|
||||
"threshold": 1
|
||||
}
|
||||
...
|
||||
]
|
||||
}
|
||||
```
|
||||
|
||||
::: caution
|
||||
あるオペレーターが複数のオペレーターグループに所属している場合、カウントは一度だけ行われます。
|
||||
例えば、オペレーター `棘刺` はオペレーターグループ `棘刺` と `地面阻挡` の両方に所属している可能性がありますが、この戦略グループ内ではオペレーター `棘刺` は一度だけカウントされます。
|
||||
|
||||
しかし、それぞれの戦略グループでは別々にカウントされます。
|
||||
例えば、オペレーター `焰影苇草` はオペレーターグループ `高台输出` と `奶` の両方に所属している可能性があり、この場合、両方の戦略グループでオペレーター `焰影苇草` がカウントされます。
|
||||
:::
|
||||
|
||||
### オペレーター募集パラメータの調整
|
||||
|
||||
1. グループ内の順序は配置検出の優先度を表します
|
||||
|
||||
2. グループ内のオペレーターの各フィールドの意味とスクリプト関連のロジック
|
||||
2. 臨時募集オペレーターは、既存の優先度に600ポイントが加算されます
|
||||
|
||||
3. ランダム昇進オペレーターの評価は、募集優先度と精二優先度を合計して計算されます
|
||||
|
||||
4. グループ内のオペレーターの各フィールドの意味とスクリプト関連のロジック
|
||||
|
||||
```json
|
||||
{
|
||||
@@ -178,15 +251,16 @@ JSONファイルはコメントをサポートしていません。テキスト
|
||||
"alternate_skill_times": 1, // 代替スキルのスキル使用回数(このフィールドはまだ実装されていません)
|
||||
"recruit_priority": 900, // 募集優先度、数字が大きいほど優先度が高くなり、900以上は必ず募集することを示し、400以下は一部の重要なオペレーターのE2優先度よりも低い
|
||||
// 臨時オペレーターの募集優先度は自動的に+800
|
||||
"promote_priority": 600, // 昇格優先度、数字が大きいほど優先度が高くなり、900以上はE2を取得する可能性があり、400以下は普通の3星オペレーターの募集優先度よりも低い
|
||||
"promote_priority": 600, // 昇進優先度、数字が大きいほど優先度が高くなり、900以上はE2を取得する可能性があり、400以下は普通の3星オペレーターの募集優先度よりも低い
|
||||
// Tips: 募集優先度を下げたり書かないで精英度を高めると、実際にはこれらのオペレーターのE2優先度を高めています
|
||||
"is_key": true, // true はキーオペレーター、false または省略すると非キーオペレーターです。陣形完全性チェックに合格しない場合、キーオペレーターおよび0希望オペレーターのみを募集し、希望を保存します。
|
||||
"is_start": true, // true は開幕選択オペレーター、false または省略すると非開幕選択オペレーターです。チームに start オペレーターがいない場合、start オペレーターおよび0希望オペレーターのみを募集し、ユーザーが入力したオペレーターは強制的に start オペレーターになります
|
||||
"auto_retreat": 0, // 配置後何秒で自動撤退するか、整数で、0 より大きい場合に有効です、主に特殊オペレーターや投錨に使用されます、肉鳩は通常2倍速ですので、スキルの持続時間/2 に設定することをお勧めします
|
||||
"promote_priority_when_team_full": 850,
|
||||
"recruit_priority_when_team_full": 850, // 個別に設定する必要はなく、編成が整ったときの募集の優先度は、デフォルトで-100となります
|
||||
"promote_priority_when_team_full": 850, // 個別に設定する必要はなく、編成が整った時、昇進の優先度はデフォルトで精二優先度300
|
||||
"recruit_priority_offsets": [ // 現在の陣形に応じた募集優先度の調整
|
||||
{
|
||||
"groups": [ // 条件を満たすためにどのグループが必要か
|
||||
"groups": [ // 条件を満たすためにどのグループが必要か。これらのグループには同じオペレーターが重複して出ないようにしてください。そうしないと、重複してカウントされます。
|
||||
"凯尔希",
|
||||
"地面阻挡",
|
||||
"棘刺"
|
||||
@@ -207,7 +281,13 @@ JSONファイルはコメントをサポートしていません。テキスト
|
||||
}
|
||||
```
|
||||
|
||||
3. あなたの理解に基づいて新しいグループとオペレーターを追加してください
|
||||
::: info 注意
|
||||
`recruit_priority_offsets`の`group`内のグループに重複するオペレーターがいないようにしてください。
|
||||
|
||||
`auto_retreat`を設定した場合、通常は作戦計画で改めて`retreat_plan`を設定する必要はありません。
|
||||
:::
|
||||
|
||||
5. あなたの理解に基づいて新しいグループとオペレーターを追加してください
|
||||
|
||||
新しいグループを追加すると、既存のグループからオペレーターをコピーして、エキスパートの評価を参考にして、それを基に変更できます
|
||||
|
||||
@@ -420,6 +500,12 @@ JSONファイルはコメントをサポートしていません。テキスト
|
||||
],
|
||||
```
|
||||
|
||||
::: info 注意
|
||||
maaが現在のステージに対応するカスタム作戦を見つけられない場合、自動的に汎用作戦を実行します。
|
||||
|
||||
maaが現在のステージ名を認識できない場合、作戦のロジックは一切実行されません。
|
||||
:::
|
||||
|
||||
### 特定のオペレーターの戦術に特別な理解がありますか?- 特定のオペレーターに対する高度な操作
|
||||
|
||||
このオペレーターを単独でグループ化してください。
|
||||
@@ -442,7 +528,9 @@ JSONファイルはコメントをサポートしていません。テキスト
|
||||
|
||||
OCRで思わぬ遭遇イベントを認識しますが、選択肢は固定された位置を操作します
|
||||
|
||||
時間が認識されない場合、最も下の選択肢を選択します
|
||||
事件が認識されない場合、最も下の選択肢を選択します
|
||||
|
||||
よくあるフリーズの原因の一つは、オプションタイプのアイコンは存在するのにオプションが選択できないことです(TODO)
|
||||
|
||||
通常、微調整するか調整しないことが必要です(高手はすでに書いているでしょう)
|
||||
|
||||
@@ -524,13 +612,27 @@ OCRで思わぬ遭遇イベントを認識しますが、選択肢は固定さ
|
||||
"effect": "立即进阶两个干员(不消耗希望)",
|
||||
"No": 15
|
||||
},
|
||||
...
|
||||
|
||||
{
|
||||
"name": "警戒篱木",
|
||||
"effect": "坍缩值-2,目标生命上限+2",
|
||||
"No": 198,
|
||||
"decrease_collapse": true // trueは、このコレクションを入手すると崩壊値が下がることを示します。modeが5の場合は購入されません。
|
||||
},
|
||||
...
|
||||
|
||||
"others": // maaは購入しないコレクション品、例えばエンディングコレクションやクレーン
|
||||
{
|
||||
"name": "无人起重机"
|
||||
},
|
||||
```
|
||||
|
||||
## 個別のローグテーマ カスタムロジック
|
||||
|
||||
### サーミテーマ--密文板
|
||||
### サーミテーマ--啓示板
|
||||
|
||||
`resource/roguelike/Sami/foldartal.json` はサーミテーマの密文板の戦術を記述しています。
|
||||
`resource/roguelike/Sami/foldartal.json` はサーミテーマの啓示板の戦術を記述しています。
|
||||
|
||||
```json
|
||||
{
|
||||
@@ -568,17 +670,151 @@ OCRで思わぬ遭遇イベントを認識しますが、選択肢は固定さ
|
||||
...
|
||||
}
|
||||
],
|
||||
"foldartal": [ //密文板の効果の注釈(ここでは、板の効果を参照用に記述し、プログラムの実行には影響しません)
|
||||
"foldartal": [ //啓示板の効果の注釈(ここでは、板の効果を参照用に記述し、プログラムの実行には影響しません)
|
||||
{
|
||||
"name": "布局", //密文板の種類(上板か下板か)
|
||||
"name": "布局", //啓示板の種類(上板か下板か)
|
||||
"foldartal": [
|
||||
{
|
||||
"name": "黜人", //密文板の名前
|
||||
"effect": "选择所有右侧邻近的战斗节点" //密文板の効果
|
||||
"name": "黜人", //啓示板の名前
|
||||
"effect": "选择所有右侧邻近的战斗节点" //啓示板の効果
|
||||
},
|
||||
|
||||
```
|
||||
|
||||
### サーミテーマ--パラダイムロスト
|
||||
|
||||
`check_collapsal_paradigms`が`true`の場合、MAAは2つの異なる方法でパラダイムロストをチェックします:
|
||||
|
||||
- ステージ選択画面で画面上中央をクリックして崩壊状態バーを展開する、以下Panel Checkと呼ぶ
|
||||
- 画面右側にパラダイムロスト通知があるかどうかを観察する、以下Banner Checkと呼ぶ
|
||||
|
||||
崩壊値を取得する方法は多様で、以下の状況を考慮しています:
|
||||
|
||||
1. 戦闘後、完璧な戦闘でないため崩壊値が増加し、Banner Checkを実行
|
||||
2. 戦闘後、秘宝を獲得したため崩壊値が変動し、Banner Checkを実行
|
||||
3. 思わぬ遭遇などのノードで選択肢を選んだため崩壊値が変動し、Banner Checkを実行
|
||||
4. 怪しい旅商人ノードで秘宝を購入したため崩壊値が変動し、Banner Checkを実行
|
||||
5. 啓示板を使用したため崩壊値が減少し、Banner Checkを実行
|
||||
6. 新しい層に入ったため崩壊値が増加し、Panel Checkを実行
|
||||
7. Banner Check時にパラダイムロストが消退したことを発見した場合、一度に2層消退するかどうか不明なため(可能性は極めて低い)、次回ステージ選択画面に戻った時に追加でPanel Checkを実行
|
||||
8. `double_check_collapsal_paradigms`が`true`の場合、ステージ選択画面に戻るたびに追加でPanel Checkを実行し、パラダイムロストの記録漏れや記録過剰がないか検証
|
||||
|
||||
以下は隠しパラダイムロストを収集するタスク設定例です:
|
||||
|
||||
```json5
|
||||
{
|
||||
"theme": "Sami",
|
||||
"mode": 5,
|
||||
"investment_enabled": false,
|
||||
"squad": "远程战术分队",
|
||||
"roles": "稳扎稳打",
|
||||
"core_char": "维什戴尔",
|
||||
"expected_collapsal_paradigms": ["目空一些", "睁眼瞎", "图像损坏", "一抹黑"]
|
||||
}
|
||||
```
|
||||
|
||||
`mode`が`5`の場合:
|
||||
|
||||
- `stage_name`が`ステージ名_collapse`の作戦戦略を優先使用、例:`resource/roguelike/Sami/autopilot/事不过四_collapse.json`
|
||||
- `resource/roguelike/Sami/encounter/collapse.json`に記述された思わぬ遭遇イベント選択の戦略を使用
|
||||
- `decrease_collapse`が`true`の秘宝は購入しません
|
||||
|
||||
`mode`が`5`でないが`check_collapsal_paradigms`が`true`の場合、パラダイムロストを検出し、`expected_collapsal_paradigms`リストにあるパラダイムロストに遭遇した時にタスクを停止しますが、他のパラダイムロストに遭遇した時は再開しません。
|
||||
|
||||
隠しパラダイムロストを収集する場合、N10難易度を推奨し、以下のチームの使用を推奨します:
|
||||
|
||||
- ウィシャデル + スポット + スチュワード
|
||||
- 焔影リード + オーキッド + ポプカル
|
||||
- ティフォン + スポット + スチュワード
|
||||
|
||||
### 界園テーマ--通宝
|
||||
|
||||
`resource/roguelike/JieGarden/coppers.json` は界園テーマの通宝の設定と交換戦略を記述しています
|
||||
|
||||
```json5
|
||||
{
|
||||
"theme": "JieGarden", // テーマ名(ここは界園)
|
||||
"addons": { // 通宝の追加属性説明(備考のみ、プログラム実行に影響なし)
|
||||
"锈色": "投出时,每经过一个节点,获得源石锭+1",
|
||||
"存护": "加入钱盒时,获得护盾值+2",
|
||||
"入幻": "加入钱盒时,获得希望+1",
|
||||
"引光": "加入钱盒时,获得烛火+1",
|
||||
"巡游": "投出时,每完成一场战斗,获得票券+1"
|
||||
},
|
||||
"coppers": [ // 通宝リスト
|
||||
{
|
||||
"name": "大炎通宝", // 通宝名
|
||||
"desc": "普通又空白,什么也没有", // 通宝効果説明(備考のみ、プログラム実行に影響なし)
|
||||
"rarity": "NORMAL", // レアリティ:NONE/NORMAL/RARE/SUPER_RARE(備考のみ、プログラム実行に影響なし)
|
||||
"pickup_priority": 0, // 拾取優先度、ドロップ選択時に使用、数値が大きいほど優先的に拾取
|
||||
"discard_priority": 1000 // 廃棄優先度、交換時に使用、数値が大きいほど優先的に廃棄
|
||||
},
|
||||
{
|
||||
"name": "衡-奇土生金",
|
||||
"desc": "投出时,立即获得源石锭+4(下次投钱前变化为-大炎通宝)",
|
||||
"rarity": "NORMAL",
|
||||
"pickup_priority": 200,
|
||||
"discard_priority": 800,
|
||||
"cast_discard_priority": 999 // オプションフィールド、投出時の廃棄優先度、投出済みかつ値>=0の場合のみdiscard_priorityを置換
|
||||
// 通常、投出後に効果が変化する通宝に適用(大炎通宝に変化する通宝など)
|
||||
},
|
||||
{
|
||||
"name": "厉-西廉贞",
|
||||
"desc": "投出时,精英及领袖敌人的生命值、攻击力+10%,在险路恶敌及岁兽残识中攻击力、生命值额外+20%",
|
||||
"rarity": "NORMAL",
|
||||
"pickup_priority": 0,
|
||||
"discard_priority": 1998,
|
||||
"cast_discard_priority": 2098 // 同上、投出後にマイナス効果をもたらす通宝にも使用されることがあります
|
||||
},
|
||||
...
|
||||
]
|
||||
}
|
||||
```
|
||||
|
||||
#### 通宝交換ロジック
|
||||
|
||||
MAAは界園テーマで通宝の拾取と交換を自動処理します:
|
||||
|
||||
::: tip 有効条件
|
||||
通宝交換機能は以下のモードでのみ有効:
|
||||
|
||||
- 投資モード:「投資モードで購買、募集、2層進出を有効化」オプションを有効にする必要があります
|
||||
- その他のモード:デフォルトで有効
|
||||
|
||||
:::
|
||||
|
||||
1. **ドロップ通宝の拾取**:戦闘終了後、通宝ドロップ選択画面が表示された場合、MAAは `pickup_priority` に基づいて最も優先度の高い通宝を選択
|
||||
|
||||
2. **銭匣通宝の交換**:新しく拾った通宝を銭匣内の通宝と交換する必要がある場合:
|
||||
- 銭匣内のすべての通宝の種類、名前、投出済み状態を認識
|
||||
- 銭匣内で `discard_priority` が最も高い(最も重要度が低い)通宝を見つける
|
||||
- 新しい通宝の `discard_priority` が既存の最も重要度が低い通宝より低い場合、交換を放棄
|
||||
- それ以外の場合、最も重要度が低い通宝を新しい通宝に置換
|
||||
|
||||
3. **投出済み通宝の特殊処理**:
|
||||
- `cast_discard_priority` が指定された通宝の場合、投出済み状態では `discard_priority` ではなくこの優先度を使用
|
||||
- 通常、投出後に効果が変化する通宝に適用(大炎通宝に変化する通宝など)
|
||||
|
||||
#### 通宝認識メカニズム
|
||||
|
||||
MAAは以下の方法で通宝を認識・処理します:
|
||||
|
||||
1. テンプレートマッチングで通宝の種類アイコン(厲/衡/花)を認識
|
||||
2. 種類アイコンの位置に基づき、ROIオフセットを使用してOCRで通宝名を認識
|
||||
3. 通宝が「投出済み」状態かどうかを認識
|
||||
4. 通宝交換画面でリストを自動スクロールし、すべての通宝をスキャンして比較
|
||||
|
||||
#### 認識フロー図解
|
||||
|
||||

|
||||

|
||||
|
||||
::: info 注意
|
||||
|
||||
- OCR認識した通宝名が設定ファイルに見つからない場合、MAAはデバッグ画像を`debug/roguelike/coppers/unknown`ディレクトリに保存し、トラブルシューティングに使用します
|
||||
|
||||
:::
|
||||
|
||||
## 実現したいロジック(todo)
|
||||
|
||||
### 自動編成ロジック
|
||||
|
||||
@@ -338,14 +338,14 @@ default:
|
||||
|
||||
## 式の計算
|
||||
|
||||
| 記号 | 意味 | 例 |
|
||||
| :---------: | :-----------------------------------------------------------------------------------------: | :------------------------------------: |
|
||||
| `@` | テンプレートタスク | `Fight@ReturnTo` |
|
||||
| `#`(単項) | 仮想タスク | `#self` |
|
||||
| `#`(二項) | 仮想タスク | `StartUpThemes#next` |
|
||||
| `*` | タスクの繰り返し | `(ClickCornerAfterPRTS+ClickCorner)*5` |
|
||||
| `+` | タスクリストの結合(next の一連のプロパティで同じ名前を持つ最初のタスクのみが保持されます) | `A+B` |
|
||||
| `^` | タスクリストの差分(前者にあり、後者にないもので、順序は変わらない) | `(A+A+B+C)^(A+B+D)` (= `C`) |
|
||||
| 記号 | 意味 | 例 |
|
||||
| :---------: | :-----------------------------------------------------------------------------------------: | :-------------------------------------: |
|
||||
| `@` | テンプレートタスク | `Fight@ReturnTo` |
|
||||
| `#`(単項) | 仮想タスク | `#self` |
|
||||
| `#`(二項) | 仮想タスク | `StartUpThemes#next` |
|
||||
| `*` | タスクの繰り返し | `(ClickCornerAfterPRTS+ClickCorner)*10` |
|
||||
| `+` | タスクリストの結合(next の一連のプロパティで同じ名前を持つ最初のタスクのみが保持されます) | `A+B` |
|
||||
| `^` | タスクリストの差分(前者にあり、後者にないもので、順序は変わらない) | `(A+A+B+C)^(A+B+D)` (= `C`) |
|
||||
|
||||
演算子 `@`、`#`、`*`、`+`、`^` には優先順位があります: `#`(単項)> `@` = `#`(二項)> `*` > `+` = `^`。
|
||||
|
||||
|
||||
@@ -5,7 +5,7 @@ icon: devicon-plain:githubactions
|
||||
|
||||
# CI 시스템 해석
|
||||
|
||||
MAA는 Github Action을 활용하여 웹사이트 구축, 자동 리소스 업데이트, 최종 파일 빌드 및 릴리즈 등 대량의 자동화 작업을 완성했습니다. 시간이 지나면서 이러한 CI들은 점차 중첩되기 시작했고, 일부는 다른 저장소로 연결되기도 했습니다. 본 문서는 MAA의 CI 시스템을 개선하고자 하는 분들에게 간단한 소개를 제공하는 것을 목표로 합니다.
|
||||
MAA는 GitHub Action을 활용하여 웹사이트 구축, 자동 리소스 업데이트, 최종 파일 빌드 및 릴리즈 등 대량의 자동화 작업을 완성했습니다. 시간이 지나면서 이러한 CI들은 점차 중첩되기 시작했고, 일부는 다른 저장소로 연결되기도 했습니다. 본 문서는 MAA의 CI 시스템을 개선하고자 하는 분들에게 간단한 소개를 제공하는 것을 목표로 합니다.
|
||||
|
||||
본 문서를 읽기 전에 MAA의 프로젝트 구조와 구성에 대한 기본적인 개념을 갖고 있는 것이 좋습니다.
|
||||
|
||||
@@ -42,7 +42,7 @@ MAA는 Github Action을 활용하여 웹사이트 구축, 자동 리소스 업
|
||||
|
||||
이 워크플로우는 코드의 전체 빌드 작업을 담당하며, MAA의 모든 구성 요소를 포함합니다. 빌드 결과물은 실행 가능한 MAA입니다.
|
||||
|
||||
필수적인 MaaCore 외에, Windows 빌드 결과물에는 MaaWpfGui가, MacOS 빌드 결과물에는 MaaMacGui가, Linux 빌드 결과물에는 MaaCLI가 포함됩니다.
|
||||
필수적인 MaaCore 외에, Windows 빌드 결과물에는 MaaWpfGui가, macOS 빌드 결과물에는 MaaMacGui가, Linux 빌드 결과물에는 MaaCLI가 포함됩니다.
|
||||
|
||||
이 워크플로우는 새로운 Commit이나 PR이 발생할 때마다 자동으로 실행되며, 릴리즈 PR에 의해 트리거될 때는 이번 빌드 결과물이 직접 릴리즈에 사용되고 Release가 생성됩니다.
|
||||
|
||||
|
||||
@@ -23,15 +23,15 @@ icon: iconoir:developer
|
||||
|
||||
다음과 같은 다양한 개발 환경을 사전에 설정했습니다:
|
||||
|
||||
- 빈 환경(벌거숭이 Linux 컨테이너)(기본값)
|
||||
- 빈 환경 (순수 Linux 컨테이너) (기본값)
|
||||
|
||||
[](https://codespaces.new/MaaAssistantArknights/MaaAssistantArknights?devcontainer_path=.devcontainer%2Fdevcontainer.json)
|
||||
|
||||
- 경량 환경,문서 사이트 프론트엔드 개발에 적합
|
||||
- 경량 환경, 문서 사이트 프론트엔드 개발에 적합
|
||||
|
||||
[](https://codespaces.new/MaaAssistantArknights/MaaAssistantArknights?devcontainer_path=.devcontainer%2F0%2Fdevcontainer.json)
|
||||
|
||||
- 전체 환경,MAA Core 관련 개발에 적합(사용 권장하지 않음,로컬 개발 권장,관련 환경을 완전히 설정,다음 섹션 참조)
|
||||
- 전체 환경, MAA Core 관련 개발에 적합 (사용 권장하지 않음, 로컬 개발 권장, 관련 환경을 완전히 설정, 다음 섹션 참조)
|
||||
|
||||
[](https://codespaces.new/MaaAssistantArknights/MaaAssistantArknights?devcontainer_path=.devcontainer%2F1%2Fdevcontainer.json)
|
||||
|
||||
@@ -63,32 +63,44 @@ icon: iconoir:developer
|
||||
```
|
||||
|
||||
5. 개발 환경 구성
|
||||
- `CMake` 다운로드 및 설치
|
||||
- Visual Studio 2026 Community 설치 시 `C++ 데스크톱 개발` 및 `.NET 데스크톱 개발` 필수 선택
|
||||
|
||||
6. MAA.sln 파일 더블클릭 → Visual Studio에서 프로젝트 자동 로드
|
||||
7. VS 설정
|
||||
- 상단 구성에서 RelWithDebInfo x64 선택 (릴리스 빌드/ARM 플랫폼 시 생략)
|
||||
- MaaWpfGui 우클릭 → 속성 → 디버그 → 네이티브 디버깅 활성화 (C++ 코어 중단점 사용 가능)
|
||||
6. cmake 프로젝트 구성 실행
|
||||
|
||||
8. 이제 자유롭게 ~~개조~~ 개발 시작!
|
||||
9. 주기적 커밋 (메시지 필수 작성)
|
||||
Git 초보자는 dev 브랜치 대신 새 브랜치 생성 권장:
|
||||
|
||||
```bash
|
||||
git branch your_own_branch
|
||||
git checkout your_own_branch
|
||||
```cmd
|
||||
cmake --preset windows-x64
|
||||
```
|
||||
|
||||
dev 브랜치 업데이트 영향에서 자유로움
|
||||
7. `build/MAA.slnx` 파일을 더블 클릭하여 엽니다. Visual Studio가 자동으로 전체 프로젝트를 로드합니다.
|
||||
8. VS 설정
|
||||
- 상단 구성에서 `Debug` `x64` 선택
|
||||
- `MaaWpfGui` 우클릭 → 시작 프로젝트로 설정
|
||||
- F5 키를 눌러 실행
|
||||
|
||||
10. 개발 완료 후 변경사항 원격 저장소로 푸시:
|
||||
::: tip
|
||||
Win32Controller(Windows 창 제어) 관련 기능을 디버깅하려면 [MaaFramework Releases](https://github.com/MaaXYZ/MaaFramework/releases)에서 해당 플랫폼 압축 파일을 다운로드하고, `bin` 디렉토리의 `MaaWin32ControlUnit.dll`을 MAA DLL과 같은 디렉토리(예: `build/bin/Debug`)에 배치해야 합니다. 자동 다운로드 스크립트 PR 환영!
|
||||
:::
|
||||
|
||||
9. 이제 자유롭게 ~~개조~~ 개발 시작!
|
||||
10. 주기적 커밋 (메시지 필수 작성)
|
||||
Git 초보자는 dev 브랜치 대신 새 브랜치 생성 권장:
|
||||
|
||||
```bash
|
||||
git branch your_own_branch
|
||||
git checkout your_own_branch
|
||||
```
|
||||
|
||||
dev 브랜치 업데이트 영향에서 자유로움
|
||||
|
||||
11. 개발 완료 후 변경사항 원격 저장소로 푸시:
|
||||
|
||||
```bash
|
||||
git push origin dev
|
||||
```
|
||||
|
||||
11. [MAA 메인 저장소](https://github.com/MaaAssistantArknights/MaaAssistantArknights)에서 Pull Request 제출 (master 대신 dev 브랜치 지정 필수)
|
||||
12. 업스트림 저장소 변경사항 동기화 방법:
|
||||
12. [MAA 메인 저장소](https://github.com/MaaAssistantArknights/MaaAssistantArknights)에서 Pull Request 제출 (master 대신 dev 브랜치 지정 필수)
|
||||
13. 업스트림 저장소 변경사항 동기화 방법:
|
||||
1. 업스트림 저장소 추가:
|
||||
|
||||
```bash
|
||||
@@ -113,12 +125,46 @@ icon: iconoir:developer
|
||||
git merge
|
||||
```
|
||||
|
||||
4. 단계 7, 8, 9, 10 반복 수행
|
||||
4. 단계 8, 9, 10, 11 반복 수행
|
||||
|
||||
::: tip
|
||||
Visual Studio 실행 시 Git 작업은 "Git 변경" 탭에서 명령어 없이 처리 가능
|
||||
:::
|
||||
|
||||
## VSCode로 개발하기 (선택 사항)
|
||||
|
||||
::: warning
|
||||
**Visual Studio를 사용한 개발을 권장합니다.** MAA 프로젝트는 주로 Visual Studio를 기반으로 구축되며, 위의 완전한 환경 설정 과정이 모든 개발 요구를 충족하여 최상의 즉시 사용 가능한 경험을 제공합니다. VS Code 워크플로는 VS Code + CMake + clangd에 이미 익숙한 개발자를 위한 대안으로만 제공되며, 설정 난이도가 상대적으로 높습니다.
|
||||
:::
|
||||
|
||||
VSCode를 선호한다면 CMake, clangd 등의 확장을 사용해 코드 완성, 탐색, 디버깅을 할 수 있습니다. 위 1–6단계(클론, 의존성, CMake 설정)를 완료한 후 다음 단계로 설정하세요.
|
||||
|
||||
### 추천 확장
|
||||
|
||||
VS Code Marketplace에서 설치:
|
||||
|
||||
| 확장 | 용도 |
|
||||
| --------------------------------------------------------------------------------------------------- | --------------------------------------------------------- |
|
||||
| [CMake Tools](https://marketplace.visualstudio.com/items?itemName=ms-vscode.cmake-tools) | CMake 설정, 빌드, 디버깅 통합 |
|
||||
| [clangd](https://marketplace.visualstudio.com/items?itemName=llvm-vs-code-extensions.vscode-clangd) | C++ IntelliSense, 코드 탐색, 진단 (LSP 기반) |
|
||||
| [C/C++](https://marketplace.visualstudio.com/items?itemName=ms-vscode.cpptools) | C++ 프로그램 디버깅 (CMake Tools 또는 launch.json과 연동) |
|
||||
|
||||
::: tip
|
||||
clangd 사용 시 C/C++ 확장의 IntelliSense를 비활성화(`C_Cpp.intelliSenseEngine`을 `disabled`로 설정)하는 것을 권장합니다. 충돌을 피하기 위함입니다.
|
||||
:::
|
||||
|
||||
### 설정 단계
|
||||
|
||||
1. VSCode에서 프로젝트 루트 열기
|
||||
2. **CMake Tools**: 상태 표시줄에서 Configure Preset(예: `windows-x64`, `linux-x64`) 선택 후 Build Preset으로 빌드 실행
|
||||
3. **clangd**: Windows에서 MSVC 사용 시 `compile_commands.json` 없이도 clangd로 개발 가능. Linux/macOS에서는 프리셋에서 `CMAKE_EXPORT_COMPILE_COMMANDS`가 활성화되어 clangd가 `build/compile_commands.json`을 자동 사용
|
||||
4. **디버깅**: 프로젝트에 `.vscode/launch.json`이 포함되어 MaaWpfGui 또는 Debug Demo를 바로 실행 가능
|
||||
|
||||
### 빌드 및 디버깅 단축키
|
||||
|
||||
- **빌드**: `Ctrl+Shift+B` 또는 CMake Tools 상태 표시줄
|
||||
- **디버깅**: F5 또는 Run and Debug 패널에서 구성 선택
|
||||
|
||||
## MAA 파일의 포매팅 요구 사항
|
||||
|
||||
MAA는 리포지토리의 코드 및 리소스 파일들을 아름답고 일관적으로 유지하기 위해 일련의 포매팅 도구를 사용합니다.
|
||||
@@ -130,7 +176,7 @@ MAA는 리포지토리의 코드 및 리소스 파일들을 아름답고 일관
|
||||
| 파일 유형 | 포매팅 도구 |
|
||||
| --------- | --------------------------------------------------------------- |
|
||||
| C++ | [clang-format](https://clang.llvm.org/docs/ClangFormat.html) |
|
||||
| Json/Yaml | [Prettier](https://prettier.io/) |
|
||||
| JSON/YAML | [Prettier](https://prettier.io/) |
|
||||
| Markdown | [markdownlint](https://github.com/DavidAnson/markdownlint-cli2) |
|
||||
|
||||
### Pre-commit Hooks를 사용하여 자동 포매팅을 활성화
|
||||
@@ -148,7 +194,7 @@ pip 설치 후에도 Pre-commit을 실행할 수 없다면, PIP 설치 경로가
|
||||
|
||||
이제, 매번 커밋할 때마다 포매팅 도구가 자동으로 실행되어 코드 형식이 규칙에 맞는지 확인합니다.
|
||||
|
||||
## Visual Studio에서 clang-format 사용 설정
|
||||
### Visual Studio에서 clang-format 사용 설정
|
||||
|
||||
1. clang-format 20.1.0 또는 그 이상 버전을 설치합니다.
|
||||
|
||||
|
||||
@@ -6,20 +6,18 @@ icon: jam:write-f
|
||||
# 문서 작성 가이드
|
||||
|
||||
::: tip
|
||||
이 문서의 목적은 문서 작성자가 주제가 제공하는 기능을 더 잘 활용하여 더 읽기 쉬운 효과를 얻는 데 도움을 주는 것입니다.
|
||||
이 문서의 목적은 문서 작성자가 테마가 제공하는 기능을 더 잘 활용하여 더 읽기 쉬운 효과를 얻는 데 도움을 주는 것입니다.
|
||||
:::
|
||||
|
||||
우리의 문서는 [vuepress](https://github.com/vuejs/vuepress)로 작성되었으며, [vuepress-theme-plume](https://github.com/pengzhanbo/vuepress-theme-plume) 테마를 사용하고 있습니다. 더 자세한 설명은 [공식 문서](https://theme-plume.vuejs.press/)를 참조할 수 있으며, 여기서는 일부 일반적인 기능에 대해서만 소개하겠습니다.
|
||||
우리의 문서는 [vuepress](https://github.com/vuejs/vuepress)로 구축되었으며, [vuepress-theme-plume](https://github.com/pengzhanbo/vuepress-theme-plume) 테마를 사용하고 있습니다. 더 자세한 설명은 [공식 문서](https://theme-plume.vuejs.press/)를 참조할 수 있으며, 여기서는 일부 일반적인 기능이나 커스텀된 기능에 대해서만 소개하겠습니다.
|
||||
|
||||
## 로컬 배포
|
||||
|
||||
1. [pnpm](https://pnpm.io/installation)을 설치하고, [Pull Request 가이드](./development.md#github-pull-request-진행-과정)을 참고해, 저장소를 로컬에 클론합니다.
|
||||
2. `docs` 경로에서 새로운 터미널을 열고, `pnpm i` 을 실행하여 의존성 파일을 다운로드합니다.
|
||||
1. [pnpm](https://pnpm.io/installation)을 설치하고, [Pull Request 가이드](./pr-tutorial.md)를 참고해, 저장소를 로컬에 클론합니다.
|
||||
2. `docs` 경로에서 새로운 터미널을 열고, `pnpm i` 를 실행하여 의존성을 설치합니다.
|
||||
3. `pnpm run dev` 를 실행하여 배포를 시작합니다.
|
||||
|
||||
## 컨테이너
|
||||
|
||||
~~도커 컨테이너가 아닙니다~~
|
||||
## 컨테이너와 카드
|
||||
|
||||
이 테마는 팁, 주석, 정보, 주의, 경고 및 세부 정보를 사용자 정의하는 컨테이너를 지원합니다. 이 기능을 사용하여 내용을 강조할 수 있습니다.
|
||||
|
||||
@@ -31,7 +29,14 @@ icon: jam:write-f
|
||||
:::
|
||||
```
|
||||
|
||||
허용되는 컨테이너 유형 및 기본 제목은 다음과 같습니다:
|
||||
또는 GitHub 스타일 구문 사용:
|
||||
|
||||
```markdown
|
||||
> [!컨테이너 타입]
|
||||
> 내용을 입력하세요
|
||||
```
|
||||
|
||||
허용되는 컨테이너 내용 및 기본 제목은 다음과 같습니다:
|
||||
|
||||
- `tip` 팁
|
||||
- `note` 주석
|
||||
@@ -39,42 +44,229 @@ icon: jam:write-f
|
||||
- `warning` 주의
|
||||
- `danger` 경고
|
||||
- `details` 세부 사항
|
||||
- `demo-wrapper` ==특수 컨테이너==
|
||||
|
||||
### 컨테이너 예시
|
||||
|
||||
::: tip
|
||||
이것은 팁 컨테이너입니다.
|
||||
이것은 팁 컨테이너입니다
|
||||
:::
|
||||
|
||||
::: note
|
||||
이것은 주석 컨테이너입니다.
|
||||
이것은 주석 컨테이너입니다
|
||||
:::
|
||||
|
||||
::: info
|
||||
이것은 정보 컨테이너입니다.
|
||||
이것은 정보 컨테이너입니다
|
||||
:::
|
||||
|
||||
::: warning
|
||||
이것은 주의 컨테이너입니다.
|
||||
이것은 주의 컨테이너입니다
|
||||
:::
|
||||
|
||||
::: danger
|
||||
이것은 위험 컨테이너입니다.
|
||||
이것은 위험 컨테이너입니다
|
||||
:::
|
||||
|
||||
::: details
|
||||
이것은 세부 사항 컨테이너입니다.
|
||||
이것은 세부 사항 컨테이너입니다
|
||||
:::
|
||||
|
||||
::: demo-wrapper
|
||||
이것은 매우 특별한 컨테이너입니다
|
||||
:::
|
||||
|
||||
## 형광펜 표시
|
||||
|
||||
마크다운 구문을 사용하여 원하는 내용을 표시하고 강조할 수 있습니다.
|
||||
|
||||
사용 방법: `==표시 내용=={표시 색상(선택 사항)}` 구문을 사용하여 표시하며, 양쪽에 공백이 있어야 합니다.
|
||||
|
||||
**입력:**
|
||||
|
||||
```markdown
|
||||
MaaAssistantArknights는 ==많은 돼지들== 에 의해 개발되었습니다
|
||||
```
|
||||
|
||||
**출력:**
|
||||
|
||||
MaaAssistantArknights는 ==많은 돼지들== 에 의해 개발되었습니다
|
||||
|
||||
테마에는 다음과 같은 색상 구성표가 내장되어 있습니다:
|
||||
|
||||
- **default**: `==Default==` - ==Default==
|
||||
- **info**: `==Info=={.info}` - ==Info=={.info}
|
||||
- **note**: `==Note=={.note}` - ==Note=={.note}
|
||||
- **tip**: `==Tip=={.tip}` - ==Tip=={.tip}
|
||||
- **warning**: `==Warning=={.warning}` - ==Warning=={.warning}
|
||||
- **danger**: `==Danger=={.danger}` - ==Danger=={.danger}
|
||||
- **caution**: `==Caution=={.caution}` - ==Caution=={.caution}
|
||||
- **important**: `==Important=={.important}` - ==Important=={.important}
|
||||
|
||||
## 숨겨진 텍스트
|
||||
|
||||
어떤 이유로 문서의 일부를 일시적으로 가려야 할 때, 숨겨진 텍스트 기능을 사용할 수 있습니다.
|
||||
|
||||
`!!숨겨야 할 내용!!{설정(선택 사항)}` 구문을 사용하여 사용할 수 있으며, 기본 효과는 다음과 같습니다.
|
||||
|
||||
!!왠지 모르게 맹모단(모에 백과)을 보고 있는 것 같다(취소선!!
|
||||
|
||||
다음과 같은 설정을 사용할 수 있습니다:
|
||||
|
||||
::: demo-wrapper
|
||||
입력:
|
||||
|
||||
```markdown
|
||||
+ 마스크 효과 + 마우스 호버: !!마우스 호버 시 보입니다!!{.mask .hover}
|
||||
+ 마스크 효과 + 클릭: !!클릭 시 보입니다!!{.mask .click}
|
||||
+ 블러 효과 + 마우스 호버: !!마우스 호버 시 보입니다!!{.blur .hover}
|
||||
+ 블러 효과 + 클릭: !!클릭 시 보입니다!!{.blur .click}
|
||||
```
|
||||
|
||||
출력:
|
||||
|
||||
- 마스크 효과 + 마우스 호버: !!마우스 호버 시 보입니다!!{.mask .hover}
|
||||
- 마스크 효과 + 클릭: !!클릭 시 보입니다!!{.mask .click}
|
||||
- 블러 효과 + 마우스 호버: !!마우스 호버 시 보입니다!!{.blur .hover}
|
||||
- 블러 효과 + 클릭: !!클릭 시 보입니다!!{.blur .click}
|
||||
|
||||
:::
|
||||
|
||||
## 단계 (Steps)
|
||||
|
||||
단계별 튜토리얼을 작성할 때, 순서가 있는 목록은 중첩으로 인해 계층 구조가 불분명해질 수 있습니다. 이럴 때 `steps` 컨테이너가 최고의 선택입니다.
|
||||
|
||||
이 컨테이너는 일반적인 컨테이너와 달리 시작과 끝을 표시하기 위해 4개의 콜론을 사용합니다.
|
||||
|
||||
입력:
|
||||
|
||||
````markdown
|
||||
:::: steps
|
||||
1. 단계 1
|
||||
|
||||
```ts
|
||||
console.log('Hello World!')
|
||||
```
|
||||
|
||||
2. 단계 2
|
||||
|
||||
여기는 단계 2의 관련 내용입니다
|
||||
|
||||
3. 단계 3
|
||||
|
||||
::: tip
|
||||
팁 컨테이너
|
||||
:::
|
||||
|
||||
4. 종료
|
||||
::::
|
||||
````
|
||||
|
||||
출력:
|
||||
|
||||
:::: steps
|
||||
|
||||
1. 단계 1
|
||||
|
||||
```ts
|
||||
console.log('Hello World!')
|
||||
```
|
||||
|
||||
2. 단계 2
|
||||
|
||||
여기는 단계 2의 관련 내용입니다
|
||||
|
||||
3. 단계 3
|
||||
|
||||
::: tip
|
||||
팁 컨테이너
|
||||
:::
|
||||
|
||||
4. 종료
|
||||
|
||||
::::
|
||||
|
||||
## 스마트 이미지 컨테이너
|
||||
|
||||
우리는 테마가 제공하는 기능을 기반으로 이미지 컨테이너를 포장했습니다. 이 컨테이너는 라이트/다크 테마에 따라 해당 이미지를 자동으로 표시하며, 자동 레이아웃을 지원합니다.
|
||||
|
||||
마크다운 본문에서 `<ImageGrid>` 컴포넌트를 사용하여 이 메서드를 호출할 수 있으며, 구체적인 구문과 효과는 다음과 같습니다.
|
||||
|
||||
::: demo-wrapper
|
||||
|
||||
구문:
|
||||
|
||||
```markdown
|
||||
<ImageGrid :imageList="[
|
||||
{
|
||||
light: 'images/zh-cn/readme/1-light.png',
|
||||
dark: 'images/zh-cn/readme/1-dark.png'
|
||||
},
|
||||
{
|
||||
light: 'images/zh-cn/readme/2-light.png',
|
||||
dark: 'images/zh-cn/readme/2-dark.png'
|
||||
},
|
||||
{
|
||||
light: 'images/zh-cn/readme/3-light.png',
|
||||
dark: 'images/zh-cn/readme/3-dark.png'
|
||||
},
|
||||
{
|
||||
light: 'images/zh-cn/readme/4-light.png',
|
||||
dark: 'images/zh-cn/readme/4-dark.png'
|
||||
}
|
||||
]" />
|
||||
```
|
||||
|
||||
렌더링 효과:
|
||||
|
||||
<ImageGrid :imageList="[
|
||||
{
|
||||
light: 'images/zh-cn/readme/1-light.png',
|
||||
dark: 'images/zh-cn/readme/1-dark.png'
|
||||
},
|
||||
{
|
||||
light: 'images/zh-cn/readme/2-light.png',
|
||||
dark: 'images/zh-cn/readme/2-dark.png'
|
||||
}
|
||||
]" />
|
||||
|
||||
:::
|
||||
|
||||
## 필드 컨테이너
|
||||
|
||||
이 구문은 다소 복잡하므로 [공식 문서](https://theme-plume.vuejs.press/guide/markdown/field/)를 참고하여 사용하세요.
|
||||
|
||||
효과는 다음과 같습니다.
|
||||
|
||||
:::: field-group
|
||||
::: field name="theme" type="ThemeConfig" required default="{ base: '/' }"
|
||||
테마 설정
|
||||
:::
|
||||
|
||||
::: field name="enabled" type="boolean" optional default="true"
|
||||
활성화 여부
|
||||
:::
|
||||
|
||||
::: field name="callback" type="(...args: any[]) => void" optional default="() => {}"
|
||||
<Badge type="tip" text="v1.0.0 추가" />
|
||||
콜백 함수
|
||||
:::
|
||||
|
||||
::: field name="other" type="string" deprecated
|
||||
<Badge type="danger" text="v0.9.0 폐기" />
|
||||
폐기된 속성
|
||||
:::
|
||||
::::
|
||||
|
||||
## 아이콘
|
||||
|
||||
이 테마는 아이콘을 지원합니다. 다음 위치에서 아이콘을 사용할 수 있습니다:
|
||||
|
||||
- 문서 제목: frontmatter에서 문서 제목 옆에 아이콘 설정
|
||||
- 문서 제목: frontmatter에서 문서 제목 옆에 아이콘 설정.
|
||||
|
||||
- 탐색 모음/사이드바: 탐색 모음 및 사이드바에 표시되는 아이콘 설정
|
||||
- 내비게이션 바/사이드바: 내비게이션 바와 사이드바에 표시되는 아이콘 설정.
|
||||
|
||||
- 문서 내용: 문서에서 아이콘 사용
|
||||
- 문서 내용: 문서 내에서 아이콘 사용.
|
||||
|
||||
### 문서의 아이콘 설정
|
||||
|
||||
@@ -94,32 +286,37 @@ icon: jam:write-f
|
||||
|
||||
### 문서에서 아이콘 사용
|
||||
|
||||
마크다운에서 `<HopeIcon />` 구성 요소를 사용하여 아이콘을 추가할 수 있습니다. 이 구성 요소에는 다음과 같은 속성이 있습니다:
|
||||
마크다운에서 `<Icon />` 컴포넌트를 사용하여 아이콘을 추가할 수 있습니다. 이 컴포넌트에는 다음과 같은 속성이 있습니다:
|
||||
|
||||
- `icon` 아이콘 키워드 및 URL 수신. 예: `jam:write-f`, `ic:round-home` 등
|
||||
- `color` css 스타일 색상 값 수신. 예: `#fff`, `red` 등 (이 옵션은 svg 아이콘에만 유효함)
|
||||
- `size` css 스타일 크기 값 수신. 예: `1rem`, `2em`, `100px` 등
|
||||
- `icon` 아이콘 키워드 및 URL을 받습니다. 예: `jam:write-f`, `ic:round-home` 등
|
||||
- `color` css 스타일 색상 값을 받습니다. 예: `#fff`, `red` 등 (이 옵션은 svg 아이콘에만 유효함)
|
||||
- `size` css 스타일 크기 값을 받습니다. 예: `1rem`, `2em`, `100px` 등
|
||||
|
||||
::: details 예시
|
||||
<HopeIcon icon="ic:round-home" color="#1f1e33"/>
|
||||
::: demo-wrapper 예시
|
||||
|
||||
입력:
|
||||
|
||||
```markdown
|
||||
<HopeIcon icon="ic:round-home" color="#1f1e33"/>
|
||||
- home - <Icon name="material-symbols:home" color="currentColor" size="1em" />
|
||||
- vscode - <Icon name="skill-icons:vscode-dark" size="2em" />
|
||||
- twitter - <Icon name="skill-icons:twitter" size="2em" />
|
||||
```
|
||||
|
||||
<HopeIcon icon="/images/maa-logo_512x512.png" size="4rem" />
|
||||
```markdown
|
||||
<HopeIcon icon="/images/maa-logo_512x512.png" size="4rem" />
|
||||
```
|
||||
출력:
|
||||
|
||||
- home - <Icon name="material-symbols:home" color="currentColor" size="1em" />
|
||||
- vscode - <Icon name="skill-icons:vscode-dark" size="2em" />
|
||||
- twitter - <Icon name="skill-icons:twitter" size="2em" />
|
||||
|
||||
:::
|
||||
|
||||
### 아이콘 키워드 가져오기
|
||||
### 아이콘 키워드 획득
|
||||
|
||||
이 문서에서 사용하는 아이콘은 [iconify](https://iconify.design/)에서 제공됩니다. 원하는 아이콘을 검색하려면 제공된 [아이콘 검색 페이지](https://icon-sets.iconify.design/)에서 검색한 다음 키워드를 복사하세요.
|
||||
이 문서에서 사용하는 아이콘은 [iconify](https://iconify.design/)에서 가져옵니다. 제공되는 [아이콘 검색 인터페이스](https://icon-sets.iconify.design/)에서 원하는 아이콘을 검색한 후 키워드를 복사할 수 있습니다.
|
||||
|
||||
## Frontmatter
|
||||
|
||||
Frontmatter는 Markdown 문서의 시작 부분에 `---`로 둘러싸인 내용이며 내부에서는 YAML 구문을 사용합니다. Frontmatter를 통해 문서의 편집 시간, 사용된 아이콘, 분류, 태그 등을 식별할 수 있습니다.
|
||||
Frontmatter는 마크다운 문서 맨 처음에 `---`로 감싸진 내용으로, 내부적으로 yml 문법을 사용합니다. Frontmatter를 통해 문서의 편집 시간, 사용하는 아이콘, 분류, 태그 등을 식별할 수 있습니다.
|
||||
|
||||
::: details 예시
|
||||
|
||||
@@ -139,6 +336,6 @@ order: 1
|
||||
|
||||
각 필드의 의미는 다음과 같습니다:
|
||||
|
||||
- `date` 문서의 편집 시간
|
||||
- `icon` 문서 제목 옆에 표시되는 아이콘
|
||||
- `order` 사이드바에서 문서의 순서
|
||||
- `date`: 문서의 편집 시간
|
||||
- `icon`: 문서 제목 옆의 아이콘
|
||||
- `order`: 사이드바에서 문서의 정렬 순서
|
||||
|
||||
@@ -8,7 +8,7 @@ icon: bxs:bot
|
||||
Issue Bot의 동작은 [issue-checker](https://github.com/zzyyyl/issue-checker)로 이루어지며, 설정 파일은 [issue-checker.yml](https://github.com/MaaAssistantArknights/MaaAssistantArknights/blob/master/.github/issue-checker.yml) 입니다.
|
||||
|
||||
::: warning
|
||||
Commitizen 규격으로 커밋하지 않는 경우, 병합 요청(Merge Request)가 `ambiguous(애매모호한)`로 표시됨에 주의해주세요.
|
||||
Commitizen 규격으로 커밋하지 않는 경우, 풀 리퀘스트(Pull Request)가 `ambiguous(애매모호한)`로 표시됨에 주의해주세요.
|
||||
:::
|
||||
|
||||
## 기능
|
||||
@@ -46,7 +46,7 @@ Issue Bot은 풀 리퀘스트의 제목을 확인합니다. 아래 키워드로
|
||||
|
||||
- `Skip {LABEL_NAME}`은 특정 유형의 라벨이 추가되지 않도록 합니다.
|
||||
- `Skip labels`은 모든 라벨이 추가되지 않도록 합니다.
|
||||
- `fixed(수정함)` 라벨을 추가하려면 다음 명령어 중 하나를 사용할 수 있습니다:`<sup>`1 `</sup>`
|
||||
- `fixed(수정함)` 라벨을 추가하려면 다음 명령어 중 하나를 사용할 수 있습니다:<sup>1</sup>
|
||||
- `https://github.com/MaaAssistantArknights/MaaAssistantArknights/commit/{COMMIT_HASH} fixed`
|
||||
- `fixed by https://github.com/MaaAssistantArknights/MaaAssistantArknights/commit/{COMMIT_HASH}`
|
||||
- `{VERSION} fixed`
|
||||
|
||||