From e6b3223e2902bbbc191b93b4a0048874e5f931ac Mon Sep 17 00:00:00 2001 From: Roland125 <44255013+Roland125@users.noreply.github.com> Date: Tue, 28 Apr 2026 20:12:41 +0800 Subject: [PATCH] =?UTF-8?q?feat:=20=E5=A2=9E=E5=8A=A0=20=E4=BF=9D=E5=AD=98?= =?UTF-8?q?=E4=BB=A3=E7=90=86=E6=8C=87=E6=8C=A5=E8=AE=B0=E5=BD=95=20?= =?UTF-8?q?=E6=94=AF=E6=8C=81;=20=E6=96=B0=E5=A2=9E=E5=90=88=E6=88=90?= =?UTF-8?q?=E7=8E=89=E6=8E=89=E8=90=BD=E6=A3=80=E6=9F=A5,=200=E6=8E=89?= =?UTF-8?q?=E8=90=BD=E7=BB=93=E6=9D=9F=20(#16356)?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit * fix: 增加在剿灭代理记录更新界面,点击确认按钮的任务和图片资源 fix: 增加剿灭模式下,对合成玉的掉落检测。不掉落合成玉时,结束战斗任务 * perf: 使用代理卡时不会更新记录 Co-authored-by: Status102 <102887808+status102@users.noreply.github.com> --------- Co-authored-by: Status102 <102887808+status102@users.noreply.github.com> --- resource/tasks/tasks.json | 7 +++++++ .../PrtsRecord/AnnihilationPrtsRecordConfirm.png | Bin 0 -> 3461 bytes src/MaaCore/Task/Fight/StageDropsTaskPlugin.cpp | 9 +++++++++ 3 files changed, 16 insertions(+) create mode 100644 resource/template/Battle/PrtsRecord/AnnihilationPrtsRecordConfirm.png diff --git a/resource/tasks/tasks.json b/resource/tasks/tasks.json index 74d9817162..c38c099d62 100644 --- a/resource/tasks/tasks.json +++ b/resource/tasks/tasks.json @@ -1296,6 +1296,12 @@ "specificRect_Doc": "避免第二次点击时点到StartButton2", "specificRect": [1260, 650, 1, 1] }, + "AnnihilationPrtsRecordConfirm": { + "action": "ClickSelf", + "preDelay": 500, + "roi": [600, 630, 100, 100], + "next": ["EndOfActionAnnihilation", "EndOfAction"] + }, "AnnihilationConfirm": { "action": "ClickSelf", "roi": [992, 584, 288, 136], @@ -1369,6 +1375,7 @@ "maxTimes": 10, "postDelay": 3000, "next": [ + "AnnihilationPrtsRecordConfirm", "EndOfActionAnnihilation", "EndOfAction", "(ClickCorner + WaitAfterPRTS + StartUpThemes)#next ^ #self", diff --git a/resource/template/Battle/PrtsRecord/AnnihilationPrtsRecordConfirm.png b/resource/template/Battle/PrtsRecord/AnnihilationPrtsRecordConfirm.png new file mode 100644 index 0000000000000000000000000000000000000000..e3875320cd56d70df8b14a9f1ac8129e48654643 GIT binary patch literal 3461 zcmV;04SMp4P)BcWu32`BIfT#yh1&2@zxo3lQKy=SIlL3PcdZFGGVZBM z64{B~Vqs=P1csJx&`AV9INpD17?J@H7&0g0;09)N5p);@s^=pJb7bI@{>r((hM3y7 z?7b&>HOLOg3`uxYGg3+>C$GX_iSOS^}l&)ztfS8pWrEJ|f7ex7?5W z(7pa;28A&$5e#TBRsgFRap}ghdGY28x%h&!SeQu+1x-L!-~<6oJZMeqIW*>5cm9BH ze(zrH-t`lXrdh^a!bn)E$vE}m)HzSW<-*%O8klfcPMqm7iO9m-nI)L(S}xsq4)1u) z<(zl&O6J2M8Q>TJ5x9a76t6By1Q8V?2RgWY`%XUjrEl=i6C)-zWUT3yo*cpH;nAU$ zZ~bUQs>#t!jWm%Ej*%E};vhIFj_|HGUd5K@oX!q>U!KknsVo@E@W3Dk$auPZ>{IB9V4WA*@!1WJnyBt%2FpGX|>oUYQdwx@ZHdW;6F}zn>#!l+=*J z$SyjJl#EazFmjmnUg>wP3=-ijYi4ISt#RJ>&Np!0sZV1VrQc(%tnC>_cbW)R$$9 z46_1`QwTbOoM3f!UiSQpnYF+a%QnfVg-Od*^%vS1h>nIsk-2ThPTv37>)7olaQ7pJ z`0(F-iNi-G)d&R(CSLQxP0Z4gWi`4`1c6al^Qsqw^s@-gAJxhZm21L~Sdon9ox6@Efn<~rQ_MTib%96SVHee4S1_VR#7j%*oN*T%4*14@ z@8AQUyPiGm0wsnFneeo9ly|=AD$Y1%HCX{BI)jxn#zkkGN`n*Gn1q1^R^e}mYNXmR z7oK${O&{YNMr*+cXN*|10f$SXbM=g+W?%xGnt^W4ViNy+*LFVsk6+_(3@Ke=E<2|T zTmJO7uVl-`8!&ts*9IiPhV`eD&GEMFxu`G^L^vKo5zG(7vravc6ahg`7J`=GNQi5$ zyNP#v@EW%NWG~a^C`1ETK#Mq{nj|0k{0;1j1s1(wn1Ykj67Tx0E4Xs=23DBUs22O_ z`H5iN$!ll~hRLu92*>bJM+SEkPNS$d>=9N3jS>ZM{cU$}{rB$U`} z1YHk8DLAUcKmFGOZ2io2?2kEG4M`T9IB0qAn_tD1o6l!1brs(|a09Ri5^(bBRag`( z3X1v#GdqrSx?^TFlhwDR06h57gS+_pzx*qQi`YLlb{;Cc`p5&gBv@g= z+QEpezyE4pc-AvnNM1b`2{4>kE@9IW+`8jkpk#PY##4IEOSa}7@R%4{aK)yLteGE@ zRPiW5a&f`AXVDBAcHI9X+7M$h`;RQK{f7^7u!X<s4}YMFZ<+{OB*U&H_>_npsG zm^b6X4(JSuYP@g_RWEbonJ*efjelYQl^SXkvyrGfo+d z_{-mWC7aKD1~cA~`Z~PaS&n}fBCIwIS7PVxgY4YBpGks_f_Ig_TIp***LD;NV}i$* zI&Qyb2QBo<#I)Sj-aU}B$~)e6<)ystMbBozN32Pi)6Dt6AH0rD&pL%cjLE2S)a9R_ zU9DGvVJXBnzk3&pHej)Bk%7r-xC00mQsAY-(|{*R;>O$WR z-u?QQ^7fbiI_qa9{P9(nvH6Ts$UXtfJtH|LH2lm`oi0nj-bvxcZ{Nw1SE5_I;FUj; zWma1cfpTIJV&ulQhacnL?)f3VdC~c`w^KDBNhlAXZ&@p&<1Lr}8o%-Eb6K}`4MUt{ zL%I-d%LBynDy7t6uaAzDSaSH>4c}zXq|g;HRHmh)bwG|qXn7O}4+ho{E)Epq)7Rh3 zV~ZnNtGG;2kfP5+$09Hna|+I0yOMboEYu5G{l=c^JgL`&i~rp9C||wx-&vxm ztUMq^!c|2BbFV{~6BGwc3XKPcC&5EUgAZT(HFg)HqyZ?^PFr=CI+R770FymsC|#y^ z$FDj$7Ox@h5I@{^fcJgsiyX`=Sn3Q{RrXAdS#8&55@teXm<$!iyADqcKOG0(e&B!k z*tOTOrxPQIE_#s)gQ#J%5aD8in5Z{~ppcFq`|I!MshPw>d-n65zy1slA1xe-86ssm zI^4Y4Ltrw}?53A)MMm_VDRNxG1Df10ad`Zv`*~p3gIuuTd}gv$Rf5_t&1wrnw(Li< zx&c$*PE`n|3J2neB5vRL2=D&nXSx3{jI61ViE0%6FgC3SX}I}{ty4hvpn?8IIcJKD zaS3)maft8U^?l~otm5RSpF}c26tLQ3AxP>+-SB0BAflb#ip4M<9d&%_hMW1=mv3Zu zmsyIw3J?%FPUfjwj&O9sAATaHMwU`V(Av}!mQwX>2`t2{g4Mb3ymLQ`)G!|A6m z1LOz>3Nk_NQRq?mKo`MSuxF{`8{fH;FW+=4dnd+$k{NqKDm{^jz7$T4?CY`u&Asif zLJ~7GGeiWFu3Mg`JxU$KEYTGsTSKG5eCn9fgfrHj$O|q!hv!~!HfKNcRAw!hG2zr+ zd}ztJ;|KTgoozqjwr%%vxQI#5>WebPGEzCFq{Z>YYWm)*k?ziLIK<3QN{mLM{v;>$ z9ic>}a>)8{3KQfgtek0Jbd*)Infc)mv&^^zkMG$}Yhq%Vi4qY;Ruu+X3S)P&61I#D zJ5ETQDr-TWlHT!nT+2fr>WCnjVUfv=kp{-%_$Y03NC^*P(uqikrHPXmaA2_`kH>Un zksveCpkm7tp(HQ;$|}PLL7xofMgUEIy#bqnc~bAF(?A>Y5#Ff`gtpt zUW%U1I6>(%8=?d%K{8S3Tr`ter_h%q$~i@00000NkvXXu0mjfvnPb) literal 0 HcmV?d00001 diff --git a/src/MaaCore/Task/Fight/StageDropsTaskPlugin.cpp b/src/MaaCore/Task/Fight/StageDropsTaskPlugin.cpp index e5bbd09ba4..e758f2277b 100644 --- a/src/MaaCore/Task/Fight/StageDropsTaskPlugin.cpp +++ b/src/MaaCore/Task/Fight/StageDropsTaskPlugin.cpp @@ -207,6 +207,15 @@ bool asst::StageDropsTaskPlugin::recognize_drops() } if (m_is_annihilation) { + bool has_orundum = std::ranges::any_of(m_cur_drops, [](const auto& drop) { + return drop.item_id == "4003"; // see StageDropType::Reward + }); + if (!has_orundum) { + LogInfo << __FUNCTION__ << "No orundum dropped in annihilation, stopping task"; + stop_task(); + return true; + } + RegionOCRer ocr(image); ocr.set_task_info("StageDrops-AnnihilationWeeklyLimit"); m_annihilation_weekly_process = {};