From b7280bec75ad755e5784e3b254e9f5efd1bc83c2 Mon Sep 17 00:00:00 2001 From: MistEO Date: Sun, 31 Oct 2021 22:41:19 +0800 Subject: [PATCH] =?UTF-8?q?feat.=E5=AE=8C=E6=88=90=E4=BC=9A=E5=AE=A2?= =?UTF-8?q?=E5=AE=A4=E6=8D=A2=E7=8F=AD?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- resource/infrast.json | 187 +++++++++++++++++- resource/tasks.json | 75 ++++++- resource/template/AddOperatorReception.png | Bin 0 -> 8929 bytes resource/template/Bskill_meet_blacksteel2.png | Bin 0 -> 1395 bytes resource/template/Bskill_meet_flag_rhine.png | Bin 0 -> 1822 bytes resource/template/Bskill_meet_flag_rhodes.png | Bin 0 -> 1775 bytes resource/template/Bskill_meet_flag_ursus.png | Bin 0 -> 1716 bytes resource/template/Bskill_meet_glasgow2.png | Bin 0 -> 1952 bytes resource/template/Bskill_meet_kjerag2.png | Bin 0 -> 1898 bytes resource/template/Bskill_meet_penguin1.png | Bin 0 -> 1749 bytes resource/template/Bskill_meet_penguin2.png | Bin 0 -> 1864 bytes resource/template/Bskill_meet_rhine2.png | Bin 0 -> 1713 bytes resource/template/Bskill_meet_rhodes1.png | Bin 0 -> 1555 bytes resource/template/Bskill_meet_rhodes2.png | Bin 0 -> 1822 bytes resource/template/Bskill_meet_spd1.png | Bin 0 -> 1258 bytes resource/template/Bskill_meet_spd2.png | Bin 0 -> 1159 bytes resource/template/Bskill_meet_spd3.png | Bin 0 -> 1434 bytes resource/template/Bskill_meet_ursus1.png | Bin 0 -> 1450 bytes resource/template/Bskill_meet_ursus2.png | Bin 0 -> 1611 bytes resource/template/CloseCluePage.png | Bin 0 -> 3172 bytes resource/template/ClueNew.png | Bin 0 -> 1694 bytes resource/template/GetClue1.png | Bin 0 -> 2424 bytes resource/template/GetClue2.png | Bin 0 -> 44830 bytes src/MeoAssistance/Assistance.cpp | 5 + src/MeoAssistance/InfrastProductionTask.cpp | 3 + src/MeoAssistance/InfrastReceptionTask.cpp | 120 ++++++++++- src/MeoAssistance/InfrastReceptionTask.h | 5 + .../InfrastSkillsImageAnalyzer.cpp | 18 +- .../InfrastSkillsImageAnalyzer.h | 2 + src/MeoAssistance/ProcessTask.cpp | 5 - .../InfrastructureConstructionViewModel.cs | 7 +- .../Views/InfrastructureConstructionView.xaml | 2 +- 32 files changed, 409 insertions(+), 20 deletions(-) create mode 100644 resource/template/AddOperatorReception.png create mode 100644 resource/template/Bskill_meet_blacksteel2.png create mode 100644 resource/template/Bskill_meet_flag_rhine.png create mode 100644 resource/template/Bskill_meet_flag_rhodes.png create mode 100644 resource/template/Bskill_meet_flag_ursus.png create mode 100644 resource/template/Bskill_meet_glasgow2.png create mode 100644 resource/template/Bskill_meet_kjerag2.png create mode 100644 resource/template/Bskill_meet_penguin1.png create mode 100644 resource/template/Bskill_meet_penguin2.png create mode 100644 resource/template/Bskill_meet_rhine2.png create mode 100644 resource/template/Bskill_meet_rhodes1.png create mode 100644 resource/template/Bskill_meet_rhodes2.png create mode 100644 resource/template/Bskill_meet_spd1.png create mode 100644 resource/template/Bskill_meet_spd2.png create mode 100644 resource/template/Bskill_meet_spd3.png create mode 100644 resource/template/Bskill_meet_ursus1.png create mode 100644 resource/template/Bskill_meet_ursus2.png create mode 100644 resource/template/CloseCluePage.png create mode 100644 resource/template/ClueNew.png create mode 100644 resource/template/GetClue1.png create mode 100644 resource/template/GetClue2.png diff --git a/resource/infrast.json b/resource/infrast.json index 8c59890dcf..b73bccb3bc 100644 --- a/resource/infrast.json +++ b/resource/infrast.json @@ -3,7 +3,8 @@ "Mfg", "Trade", "Power", - "Office" + "Office", + "Reception" ], "Mfg": { "Mfg_Doc": "制造站", @@ -1644,5 +1645,189 @@ } ], "skillsGroup": [] + }, + "Reception": { + "Doc": "会客室", + "maxNumOfOpers": 2, + "products": [ + "General", + "No1", + "No2", + "No3", + "No4", + "No5", + "No6", + "No7" + ], + "skills": [ + { + "name": [ + "信使·罗德岛制药" + ], + "intro": "进驻会客室时,线索搜集速度提升10%,且更容易获得罗德岛制药线索(工作时长影响概率)", + "template": "Bskill_meet_rhodes2.png", + "efficient": { + "General": 10, + "No7": 30 + } + }, + { + "name": [ + "通讯员" + ], + "intro": "进驻会客室时,更容易获得罗德岛制药线索(工作时长影响概率)", + "template": "Bskill_meet_blacksteel2.png", + "efficient": { + "No7": 10 + } + }, + { + "name": [ + "插旗" + ], + "intro": "进驻会客室后,每当新搜集到的线索不是罗德岛制药时,则额外增加罗德岛制药线索的出现概率(工作时长影响概率)", + "template": "Bskill_meet_flag_rhodes.png", + "efficient": { + "No7": 15 + } + }, + { + "name": [ + "讯使" + ], + "intro": "进驻会客室时,线索搜集速度提升10%,且更容易获得喀兰贸易线索(工作时长影响概率)", + "template": "Bskill_meet_kjerag2.png", + "efficient": { + "General": 10, + "No6": 30 + } + }, + { + "name": [ + "传讯者" + ], + "intro": "进驻会客室时,线索搜集速度提升10%,且更容易获得格拉斯哥帮线索(工作时长影响概率)", + "template": "Bskill_meet_glasgow2.png", + "efficient": { + "General": 10, + "No5": 30 + } + }, + { + "name": [ + "军师" + ], + "intro": "进驻会客室时,线索搜集速度提升10%,且更容易获得乌萨斯学生自治团线索(工作时长影响概率)", + "template": "Bskill_meet_ursus2.png", + "efficient": { + "General": 10, + "No4": 30 + } + }, + { + "name": [ + "秘密搜查" + ], + "intro": "进驻会客室时,更容易获得乌萨斯学生自治团线索(工作时长影响概率)", + "template": "Bskill_meet_ursus1.png", + "efficient": { + "No4": 10 + } + }, + { + "name": [ + "甄别" + ], + "intro": "进驻会客室后,每当新搜集到的线索不是乌萨斯学生自治团时,则额外增加乌萨斯学生自治团线索的出现概率(工作时长影响概率)", + "template": "Bskill_meet_flag_ursus.png", + "efficient": { + "No4": 15 + } + }, + { + "name": [ + "B.P.R.S" + ], + "intro": "进驻会客室时,线索搜集速度提升10%,且更容易获得黑钢国际线索(工作时长影响概率)", + "template": "Bskill_meet_blacksteel2.png", + "efficient": { + "General": 10, + "No3": 30 + } + }, + { + "name": [ + "信使·企鹅物流" + ], + "intro": "进驻会客室时,线索搜集速度提升10%,且更容易获得企鹅物流线索(工作时长影响概率)", + "template": "Bskill_meet_penguin2.png", + "efficient": { + "General": 10, + "No2": 30 + } + }, + { + "name": [ + "皇家探员(自称)" + ], + "intro": "进驻会客室时,更容易获得企鹅物流线索(工作时长影响概率)", + "template": "Bskill_meet_penguin1.png", + "efficient": { + "No2": 10 + } + }, + { + "name": [ + "守望者" + ], + "intro": "进驻会客室时,线索搜集速度提升10%,且更容易获得莱茵生命线索(工作时长影响概率)", + "template": "Bskill_meet_rhine2.png", + "efficient": { + "General": 10, + "No1": 30 + } + }, + { + "name": [ + "哥伦比亚史" + ], + "intro": "进驻会客室后,每当新搜集到的线索不是莱茵生命时,则额外增加莱茵生命线索的出现概率(工作时长影响概率)", + "template": "Bskill_meet_flag_rhine.png", + "efficient": { + "No1": 15 + } + }, + { + "name": [ + "警司" + ], + "intro": "进驻会客室时,线索搜集速度提升25%", + "template": "Bskill_meet_spd3.png", + "efficient": { + "all": 25 + } + }, + { + "name": [ + "线索搜集·β" + ], + "intro": "进驻会客室时,线索搜集速度提升20%", + "template": "Bskill_meet_spd2.png", + "efficient": { + "all": 20 + } + }, + { + "name": [ + "线索搜集·α" + ], + "intro": "进驻会客室时,线索搜集速度提升10%", + "template": "Bskill_meet_spd1.png", + "efficient": { + "all": 10 + } + } + ], + "skillsGroup": [] } } \ No newline at end of file diff --git a/resource/tasks.json b/resource/tasks.json index 2c2018635f..db86a52161 100644 --- a/resource/tasks.json +++ b/resource/tasks.json @@ -1238,6 +1238,17 @@ ], "rearDelay": 1000 }, + "InfrastAddOperatorReception": { + "template": "AddOperatorReception.png", + "cache": false, + "roi": [ + 0, + 0, + 300, + 720 + ], + "rearDelay": 1000 + }, "InfrastOperSelected": { "template": "OperSelected.png", "cache": false, @@ -1271,7 +1282,8 @@ 250, 255 ], - "templThreshold": 0.95 + "templThreshold": 0.95, + "rearDelay": 1000 }, "InfrastClueVacancyNo2": { "template": "ClueVacancyNo2.png", @@ -1280,7 +1292,8 @@ 250, 255 ], - "templThreshold": 0.95 + "templThreshold": 0.95, + "rearDelay": 1000 }, "InfrastClueVacancyNo3": { "template": "ClueVacancyNo3.png", @@ -1289,7 +1302,8 @@ 250, 255 ], - "templThreshold": 0.95 + "templThreshold": 0.95, + "rearDelay": 1000 }, "InfrastClueVacancyNo4": { "template": "ClueVacancyNo4.png", @@ -1298,7 +1312,8 @@ 250, 255 ], - "templThreshold": 0.95 + "templThreshold": 0.95, + "rearDelay": 1000 }, "InfrastClueVacancyNo5": { "template": "ClueVacancyNo5.png", @@ -1307,7 +1322,8 @@ 250, 255 ], - "templThreshold": 0.95 + "templThreshold": 0.95, + "rearDelay": 1000 }, "InfrastClueVacancyNo6": { "template": "ClueVacancyNo6.png", @@ -1316,7 +1332,8 @@ 250, 255 ], - "templThreshold": 0.95 + "templThreshold": 0.95, + "rearDelay": 1000 }, "InfrastClueVacancyNo7": { "template": "ClueVacancyNo7.png", @@ -1325,7 +1342,8 @@ 250, 255 ], - "templThreshold": 0.95 + "templThreshold": 0.95, + "rearDelay": 1000 }, "InfrastClue": { "template": "Clue.png", @@ -1358,5 +1376,48 @@ 300, 100 ] + }, + "InfrastClueNew": { + "template": "ClueNew.png", + "action": "clickSelf", + "roi": [ + 1000, + 0, + 280, + 720 + ], + "cache": false, + "rectMove": [ + -45, + 15, + 60, + 60 + ], + "next": [ + "GetClue1", + "GetClue2" + ] + }, + "GetClue1": { + "template": "GetClue1.png", + "action": "clickSelf", + "cache": false, + "next": [ + "InfrastClueNew" + ] + }, + "GetClue2": { + "template": "GetClue2.png", + "action": "clickSelf", + "cache": false, + "next": [ + "InfrastClueNew" + ] + }, + "UnlockClues": { + "template": "UnlockClues.png", + "action": "clickSelf", + "cache": false, + "rearDelay": 2000 } } \ No newline at end of file diff --git a/resource/template/AddOperatorReception.png b/resource/template/AddOperatorReception.png new file mode 100644 index 0000000000000000000000000000000000000000..9c9f1e565608d3bab86f6f46b333d821f839a267 GIT binary patch literal 8929 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 literal 0 HcmV?d00001 diff --git a/resource/template/Bskill_meet_flag_rhine.png b/resource/template/Bskill_meet_flag_rhine.png new file mode 100644 index 0000000000000000000000000000000000000000..1a0cd7152bb991cc5dbd1a454a06149726c0c556 GIT binary patch literal 1822 zcmaKtdopci5)W-6y@4r(j-ff`^?1TzBt1uvP_ut%bRyeUe?BZBd8= z2nYm%vbQ6V!CgzVBw?Tp@sr^}AbV!)NhjUyP>n5d7w&DSHZO0?*3aq@e(}z*DY{X= z)>;%6((pYwl_Ipws@W5Ota7E9OL@9t;!)_Su^k;&UQ}GTu0P4Y<5Hevqiel>-aDFLpiP&+bJWYW_|Y=9UtU{rse`HiH9%5WM3Rn;j*Zc+gJkJquRKVnTnbwSKKC7; zd2ye0@dH{S&Hb4YX6C0MEJDRmr{nUygspdVUs8v@av@WYX!|N736-0$FLf;H+sal; z14_FrT20f!hGIa{>K#Ig|2@sTn{O#--p=+L;JP_If4L!wwaOwXa8Q)}LOF4brD#{ zC(plCr0kVN6ZPHq%BGV#%enI=cU}fCWAHMcV(_CBk5dLx&+fjV?|W2LIxxHXrUvDd z<#Dq?55Q?)m=J*bS>aAdDD-jJ0S(zR^7M!ajzT7+gXv*^JUdRD707y2Y_65HvT_PunNgf%l2ox^KpCckWe?#pPMEatgLVdomsNOy% za|-63xq0~TPY%@~sG6#$!p=Iq{BJt>{r#H6=31=M4`h!Ye*2spe>@O3Hv~Oiqnbi` zF)9|=LlwU`ES{I!w`{UR6#x^9GV4CQV_F;s1{6Rf+089+sD>#6%kO>rdevc>6XqFC z*r2Jn5e4bhj?gnJEe!(%38dN^)b#2jrU#tCDnFNqLGKuwKd^K1^bicth~7*9CYC-c zR;`@St3%GlGwubk!9hyA)5xD54wb>mt@?htDjJS+)>soED!|y)^H<1*B98fby?frW zCqssZii~vmKU#)dMP*%i{)Qe zH2M9A8aM3Gt`DYnVnY3)@}7jo)8L&`ECBR1RL~p*b=mT~> zEz!|jnDzSIHTv$y##*y2q0o9F_UOpf``TfV4DFp0BjaTN{>O^<;oesc;M(9NxUMAe z3}GZ4adUHr=Xv>KS$y2OSYfvB`7c8Iyf@(**CH#~Y{mjxFRQpB&3F6sv7FNV9OIj+OYI z3cKqSp>(>pvh-@T%~IvG-*7i!J3YZO4V4(Xb==!1FM9e>6KA)_-01l*v|?Dw@WJgT z&eqrK{(OtV9^kXniM+MamEoZwk1`+BSYvb;on9J4sSh4ix|?&|Rjaip!rSbmuX-)v zVSU)_`s+?+V5a*0!3+^FplGPLHE8Xt7E8H2h$;J6PHN;isQ=pB;Ob^{D*c4{;wP&> zp=Xi&?`sF|zLZjQFbo=vaMq=IIEr`#Cy9eh0h#c=CYb1~+uR^vX)M0<4>*<+=(`y6 zffdRo1u`1H(~Ev@m3%&Uv?m!(x47at2qozv3yC1D0_uX#{#7QHNJX;&m_BF^VwP%7d2xn|NP=wPddn*G# z`bH8QS$$3Z#Zj~7t+n4m$A6~inLbpQZ-kYYDPi`#l04!{L6F2XdwaX4Rm#a~xTC1Z zc769u7`jmD91Tc0h+zWc)Fg<=D<%H*$KY*uB~UJ#)~G%3TJYb4*q?GHm0M90{s1f; BQV0M5 literal 0 HcmV?d00001 diff --git a/resource/template/Bskill_meet_flag_rhodes.png b/resource/template/Bskill_meet_flag_rhodes.png new file mode 100644 index 0000000000000000000000000000000000000000..ef2bfe3dac86bc9a603504e5e97787229b6d0899 GIT binary patch literal 1775 zcmZuyeLT}^8{f=JUdOx~rC1tK-jY=FE{ETaN0v{=OJuX!I2w{g-m>gT)*6eDmf?hR z9E|16+m4r*QV~8U4Z|v%cRJ#6Lgo4G>GM2)J%8Ny{m=FNUf=7wulsw`v8R1B)%K`C zAP`Lq;1vL#DEZo@0Pe8__#gzL+=TJ+I16aDKRFXMp#puj`r$)HQAR?uuc&I?rNTFi z8*;C`qD*@?1y1i)PU!dtQB9{d@>T%O`@Dw^t|9@NuDxGo1(>Wy^xQh4Q7FU1*?NaA zsU+Hvl6X9#;HG(~O_B7<=FaE8>vwEI#4-NcX~IY#O|7Z*s4hdpBL7`}b}o_4ezS?q zffol~BzQo8_bbBlqcf)#12}@U4Mz|69}r2VE5aOiDhjbCQx$gwN(sEtX#Rr%(tTAx zBZ!0<`bxVI>FMb;*W%-K3=Ivl zr;@+JHmFkO%=MLu?;f3C@1_LLjmG9;0d zGXJ_Z*VH#n?QtaR7rlxoX_^tJ$s~!5}^9u(T3TCrj zxK#&njP{sBwszRL)ZumKhWrkx*?097uTf*%5lBQ66vH=37yKEb2<99KOExhqc_`)S zE>TuDZ_dvzM_IE666Hd7BiYM`zpUhf@l=RdcuqtaOb0uU2yp~rD31q7YYa*110Rlb z2Q4g={95YVN`|Gvpn0PaE%uB29hRG-h4QE}YM|&KKpaC3&r?zuG^Y3Tn#B3l0e|m0 z18wOk!ppeV{+uQBwT6*srMhG82!Uo0DF${Mx?zC4DhI|KM&2Eq{V=BMxQEGPPRvO! zuKy*XkqhmD>j&G{Uh2Awp3rW3M*LK+1rVCwy{K(h0?sQeS-UShu=Qt+2fF_pY{j*a zMDfoV8MO{S#~3H)vC)5Yp3T^D>UwRAXfe_wyS*3M_5a2(N6@>pGIAd%sJC zn}oMtj^Kr>_hA25jSfQm3wXb zefNCiO2&dEJ|ZQ>>GtC>EBf|fTQLY$SlY$P9OuR3CyfmagF{0F@zdUMad9{tZbQY5 zM5+p})AIA^`C1gkS30(464#ZL$Z^Sz5-e|EwSmKY);6p*PuQ;`JK|+Cp@0)=}2Xz83KGQVr4xTIbV*S zN|L0zT)1Fm!wv78I_miJJt2MNke!38R;}?Cq9I;p_I68R1ACO8-&G*_oPx)f{nA-_ z0~#pV7G0``%9+f|4OPX|3SU{hhCym!VPRXNQb5VS^zlTZnMO~VE8NQ38u~Zs?R8x{swcGIKhMvw6}kX+ckW?+M87 z;uxezU!k(`$1X>tsvj7I`o!c5MbOXs?uY&mSp)K!nk6=ZE{O%(PG$rPCa0R?a67iwd;9yl zabGnkS0*d$XEMHp5>(=iKzeA=>9j`;@igJPXC||>x)lCzO#QO_MRR_k(`9M%APgiW z9FIRJ=RStxKr*A?W&a6KHvW`ea4!at*TQU37cU{{g2n-@ycXS69yx&_qFX+*4nJ76 x*Ag>P@=1@ZyM{g@Yw2AS-h-i5F~Z2X&bA?y07?eO82rc}nD0+}aXs;w{{|$@KNbK0 literal 0 HcmV?d00001 diff --git a/resource/template/Bskill_meet_flag_ursus.png b/resource/template/Bskill_meet_flag_ursus.png new file mode 100644 index 0000000000000000000000000000000000000000..3fa8eba9975f28867900da9d8cf89db402d21d89 GIT binary patch literal 1716 zcmV;l221&gP)BK>#urUS> ztUHhmU3N88S!6BJIw2ENR&#^d=@kUqfmdd;UNkzprhjHq8@c4}w%V)WG@nYNlqkwHflDM3>oNX{5 z#Y$T~Uz2L`Z~e1CoGuc5VR5( za1bcv^J2zzZEd8}oc`dS0|UVI8#l7DnL=UY*fGG6%47(1cCsV|l(yXswCu~fQUMf? z3$Uwz6nksSt-zYwx6#>2T@#Vg13v&#*(`y&<>wC%0L#~JWb!;v>gfSePyK;elNT5q zEWNN7XxW#ytAG>}U{?Vt_STkLfx5buR5nXp6SF4&#o!>Hxba3(YY3Ezy!j@d=pKSkbi;7~9|b zkKg_hSeJXAuco1fS#KN|$>j*8_U3H^3IMhNNyYnbA+&nO4$}8A-`E%j9tXynT2^%J z1jhFFt{DA0fk&QXMh&yxI53jS5lZdN+XfT>Yy*-`Zp#4Wa(UUZWmo^^PyDZG0>wiF zibVpaPMsefE`Re5VC9Xgx#2cK=N{g0=FFL7G6`Js^sBZ31pwQCq?6k+gv#ae)YR14 z&70Y1q+VBJ0U0H^<>LZOga8ejW(Kd(G@yuUwDIhRZ(30?E_tF{3J z0DB6MYKFTzh+O(`{A)Mg%tOCso=fk)|L@0sOrW_rmC11KJ&HxXauezF$fG~KuC0yf zvnOABEmqq|q_uCzo&uyA0rnIi)eLuc5V`c>_*GY3)qLlj+}6!Jr3daxWim83b5ke3 zdicn|z`92sBb{b!bR?IX8h;mv)ix4o?HjVE0I5cRZ9vj+cL$OBn#9?&XREcfYd3GE zAxV1|q0$3)r81e)i4&x1W??OnccBVYeEfw9q% zTyARoT_9H5NT{`M$RB+~eLbK6A=`kYV_ofyjg3I1QXy0>m+Na1*X`KByJt%IeCp9h z2@DRF^7+*L+exP>6bRh1kyoB8KKnbMt|1AGkB_(QKWZD01c;DrKoW3j`+A^KsSx>+ z33$n}R5r`UAD4Q1fK(>K_cxu+;#C7)vMiO&@=WiEd>&Yx%`!dp_O4xoCX*}H_8;cOCyECT z)-@zs_8hiNND?72k6k4s#fG~(m^C#`==$BeS>AFwmn#$s>2!MKgFok`Cy)2{18evE z9w_zn04;l8wyT7s7!h$fyGlrk4R?3&iK%HK*Khd==`?UUms^=?;=2zLc@#4i;ZDLJ(JF8Yr96dT(8d%$lwcx?$hzglrR%#1+IMY%^z4s%LSoREWih zNMa%4Q`u(5By;MRV**tZh{XU&EKYn5wpo}7R1GK|=d*|}(0>8un$ANmnrmYK0000< KMNUMnLSTX!eNm2AiN9|%O677^`T7uLPN~Vnc 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 literal 0 HcmV?d00001 diff --git a/resource/template/Bskill_meet_penguin1.png b/resource/template/Bskill_meet_penguin1.png new file mode 100644 index 0000000000000000000000000000000000000000..c6df6b098768ea04a8168fb22c134b4752f987ac GIT binary patch literal 1749 zcmZ{lc~lbE7sr9XT~l++q?E|4+`?4SKqSS)axF-HrnwZ3nxj@f9nnTyP(w2_OI%Vk zv=oCP8*wSeC3nMq<4S0Tm`Mi@J)w z3IG65cg5pQ%1@)OO9>?3BZIdN000ViTyaMUc=czkKZV}P*wyk$D!u6!?`hFPsX+E! zop~%0y+c52Vk|azS&&+?%PUL02!(+B8x7}QIDWGpc5l z54^6kC`JlZCi`Ji!InXkQ%!YxX(*lB+f~po=77(aq9R{kuDd&sPv*XT>53f&@w^>L zokLvnB=34BZ%iIgt-UNXHg;ro5mGvtCGoY6KQoh*@3ap{gy3lKpaYBqq`0a(+Fr}+{jbiH@hGeR^%nO6F=y5_KJDgGI}^qyFm*s&XKOH=e)5aPU@ zk*eUfpjV=>RpUAWyu>X&BGDlxX8fsZ#ijktx6Z_6Cx!F|tlQK<2e0KYcO*RHas?)rfvx4r!)kx)zy?YYH{vNU zgl+e#$j!4B)w@~Tg>2lMkaR&uo`8}!n850Q&;QZAzR^l;dS)>_$a)w0rUA4`wo%y9 zd^A{6O)`5FRZv-xBSYrmuOOL<;iC@ka&TOG{tIh&&opSL0lnG;hCJ>!u|wg~B853H z`mtC1d2DQcWdOXa4ytA-g#WU1%|WlCQ+?WB;SKjE(3$mvG)IDu6$Z1mGRR3-9v_>q zLZLoXM{jwt$C3znevDp&YR5)mq>F3%XYJhJxgLJt^;{)7n5kTm*YnhLYdt5yR_;T? zeoYl`{}O$@`UOt-MD1+nLa9*rkN=g_jwsSFaLvhH^Wk{x%cJAqIx1__p{~top3F4Y z!+0&Q(~yp^E6nWpKa&|Xi2w{TC|SH>8)GdKpf>R5e{V@1!PDj)zIUZ26niNZprgx{ zgi(WEWJ5WJLHT`vKYdZ93*CEj;)kTZL&+^$6WeAu@3#NAx<_jvft|NkHhYMUJ5uOo zq|N!|i+vu|ZI_)A$zscYd*RR;JBCHwyWB|+{bzf+I##xrYDNyBQqcyAM-md&1cJ-< zlN=rfY{meBGmHsVUgk*M6S4dTvu)keH6t-Gyo(YyYv0LVK?R-$~BQI$6-G%+qaww3qDg@sCwUG<97&O56#a-%3-^GAo0!Js8 zq!T?w_mmCV5z!_rHC{Vb+i$0E~-PSG#we9&xje>34oo|N&^NIAou&kjKWGR-&aZUcWJ0V)Ty_{`} zqbVve!Nf}1)kivF?`o52(wlO5toAJi;%FIK80SsM`@Sbm0)I=P{JR3UI(y)_j)5tE E08c|c{Qv*} literal 0 HcmV?d00001 diff --git a/resource/template/Bskill_meet_penguin2.png b/resource/template/Bskill_meet_penguin2.png new file mode 100644 index 0000000000000000000000000000000000000000..82d018d6c23b770451dee3532d219d847ba349e6 GIT binary patch literal 1864 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 BI5q$P literal 0 HcmV?d00001 diff --git a/resource/template/Bskill_meet_rhodes1.png b/resource/template/Bskill_meet_rhodes1.png new file mode 100644 index 0000000000000000000000000000000000000000..279d38e4a3902ddd97e88b4fb5c76e872ad06142 GIT binary patch literal 1555 zcmZvcdpy&77{_-ht&1_LBjn7^s3g~pTsEnGuAzlZZiST4h|HZP3oEHGD%3hsjB*m| zW|GdZToz+tp|-4Y8!d}i&gyk~z53()@qNDkeBR&h^E|KT^H6c_j>@YvSAjqvWoIYA zLvf?O9~eXtBZF1AAkgwbXJD6?lQQeszGHq_8=Gb%66{ASkL%idlN0Cf=h#OHm9<)2 zS~r*7fX(N5y4xI2pQW<{dk!XP6dW~CN;h?l^L^$p4mX;s<-w0s--ARv=)f`A1?)?r zHcmrGE(4Q%)_@&zbEKfCk)S{GDXWL;IH$If>w@2aL}7BLtLsR#6>2(AfD!;Zq>9%= zp)hBsLk!p{f*dg6L4-i&WX)nS9X2B_B$~g6Rmxyg4GfS_;$ph5g4hD85|9F3X=+0F zd_Eb#IJ6a8t*H1enLtlW2`dlFWEOOWo$JTFp{?XM;=XE0jgc{QsB1kEMK*01v9Vck zOrjLy1ZW^9gbFp8#Zs;?Q1$$poAPB;#n}JNRHkGhd1ELk@sVHv0xUDh`~n>wu(HF0 z5xOYM3tIm2-6+TpAXbu|#A=MPbbmKIWPwE4aZOgvn@cJUbP>8}%)1vH2m%52s^@(~ zi};r~oTYCwa#rs1Zi#>KHCr<)PIGhlm!%M&!fX)sIaS(Iv^P{P(w1N-WnEjIex?cueB%fIoJjy$zs@RoO7)gx40a8xO4} zGP*&ist>KZh{dvR7cAt^7pFRVikU?9G0l~z%%BAG_g?E%5q285En+ZlJM}Wl;sz4d zGjeKMvJh|EC$h~LrU+iS@O4C7Svf;BRCoP^`>2rvaq3)V4l%g-K&faZ#N$4T2t z+O8$g8fW$3DftU)?s^xx|K{l6Kqge#cc6ncl-_ifc>ch)s*3=xb;myUGAC=EMArKb zNmBIk+h?BhJ`Y%=N+pI}UHTzBQh)=TP}LW-2ZYeg+e*W0UCgsps&>s$-;bwvdvc{y zz2TilrE!z|{{92vqNgJB|3LK<@~9ofoh_YOg-58cOa7JBgXDtGrh!L-OR^bp)}?Rv z9I7WS?Cdi*@g#2i!;Hvv@if=J^iWBuo4?;*QSa#Ek7pyQ6iw&QUNDrMoPUQB^joME z;fCwAtQPBi@9>Eh>4JJc$B~4LqO^a=?CY$&hs*+3{fLc3ik z|Ah7?x$xZN=qRAigP#V(I2#z5BB_y28goK=m_+)k$W3Nf;#ARQSMHoYkA#sk8lQgc zb{yU};z0zXoPWNRuITefzPt1h7Pu;i2ML(@oREma8ExX0Opzr8E`R4u4qvV63~Ao; zZT`i6RF9nEc+YV4hgfUCuzf7n+LWg+T3IikxpbQ0INE44D&)p6h%wpX?NtQ(-vj7UXS>$y#ad))o z+|z~!TqwiE3FvoDFrx+A8Yw-Q9=6@*gkMR8sURAW3>N@MSo_u|%=iu1+1w83KQmqJ jMZ1_i9YQhgUIIP0^4ybR#rIJxdyuoeJ8*Y*;OTz>0QvT3 literal 0 HcmV?d00001 diff --git a/resource/template/Bskill_meet_rhodes2.png b/resource/template/Bskill_meet_rhodes2.png new file mode 100644 index 0000000000000000000000000000000000000000..911f856426b51a46eb0bf0e4360cdcc002879f4c GIT binary patch literal 1822 zcmZuyc{JPU8qQ*?Ws%?cOMS08 z2n5o?_Y;FmD}M&t=y|86&FbyT~)MURsVS7q&ErmS<& z@xa+RCaK`a2#FLw@Ct}YppfY$Ms3Mvl)3zecUP<&_#g}s9`)f~uF{W2>J07*mA!Zd{Js4|MaRZ_T3Gk*p-7B|kh`Q)$aI^;1onl{@m!zSR7%P> z-Le@6$2fq9Cz|iEMx~4^GK{td2}ih~|gd<{XEK zdhH03tkWLaQ2--1SE=Ytmgzoe$X9iwBYPb2@4S%uk>d8n%on`A%}&Te7x_Y(#%eD< zX@=@yM>bqsdor~;O2sg^U=?4cn*E{dJEvH@flxb^=$~UtB|h}9V_%(}p6$&(SDK-T zXtjHLOr^+>+hH@{YvOp{R@s*+dW>-V0sP&C!R2x#lCvhX$H|*X*d>@~>ee!}8y7eK z@y4&n7DvS2+b#~G1Y*Qk+BAD8Gp`DSfphh`g=Wa4VM8Of_SD9&NVV?7*JEdEMyQ+7 z*ebWmN!rqMf4=f^DqJaRe%@Zwtq+7I5SLkKtg2rD#M1K;PSfZHqvw1K(cbTONo=iT zf!vlqX;+r~2~qQUA2xwcUYY4@-^sRUlYh#QYLgm;nc>M$B*vPt&{b|J zz%mq6cX^v6K1f045Jplc<0}$e?QF`q%)tBOZccsAtEDs33L&kU_Tn31o^Y>#=CHc| z2QcSfCW&3DbVq1@iIhdmat(YtR`oaBynxw_K6mwV_bbFeg1WoeDJu>LHFL6^2?Lg2=hVJ4E~Iaen73u{z0;)bmL3;_xboM8A)st zhr@}eH`u5cOX%!ayFCS3?%bUI236f0@WgH%IH7YmfBU^@fxdxEJ6Ii3#-km3IJlff z4O#H$SCG`AUc~A4?r0#{G_<#0sKZrvCb`#K(QeT{UG?V8x(zhy$S3>eI6U)AhH_|R zn0mK8Gq&m3`a^%t`-}n?;{Nlu*t*yfei)ZuvW>(a+N){EYwwdLI$QE~IJ`Vjk)a_$XIJCz{$)`) zjAJ-EDH+ec@xwy}Ce+H`C{W4P&%2Y1K*w9|Ib2LKg70(d`o0}2j)!B2pcad}Lu;QG zz8>)Czf2q!OBJiy(g9Gpekb*T5hUje(W(*rHm7}|%N)sKbCWCxhjv49Kj^?*Uhp_Q zDouq0dAVLfaSN+a3q!;M#31eBBExW0vkl8g&7LIkW!}_Mc0{3@qiNtgDN-Odv)E(q is0%{BUqwWg?|=!#NURlcPF3;mfiR~7y`G$mV*Upk2W^c2 literal 0 HcmV?d00001 diff --git a/resource/template/Bskill_meet_spd1.png b/resource/template/Bskill_meet_spd1.png new file mode 100644 index 0000000000000000000000000000000000000000..8dc62b17d381ccc33df2d8ce25257f29fd472c87 GIT binary patch literal 1258 zcmeAS@N?(olHy`uVBq!ia0vp^Dj>|k1SIp4_|G#iux#{naSZX`-FxtUc1)_&fsgM$ z&y&CGcb;?E(U+IrZcCXH#?iF*%^{^krv>*~?$#@+h-&TC5h;q*;ECJXb-1HLJdV>T zU!+}7aQfSOrV5QYZd|wX3fwaajbB)TK%+Ya?dJd<)j<#7H5uKl9}niv$Lk( zXXibZ5LrpV!*PcW%Ejy!iay=p`Mbwr{fUlZJ^{f4K6CZ&xZjaz^JJ@Y~y3CRo&k?x}!U2}>XIvCPknFQ3mR(1$w6ijqEv3X~V>Sy1D1wTKf z8XYvQoA~C_oxi`o>;Jl)DAC37pvV1L(%<4xRb{1=mRhsvt5evT57s~W@xI*tLAq+) z#FB>h_iDv&#Qsm;e_vmOtHD@KS^V|<)mjQb<$KMhJ@a|caA4`RsARvhSF(K0PfCCN z?$ykru8$r(?3GRlO7w7P@LJ5e0;sxS!}VjA=5Wdg?6?w@eP-p%sNR>6pK|WT+HT(A zA;Z9*e}@62njsk&3L&8mE)0pFfJtCtXVKewO{zF+Sy*z_G@I!1@J8d{-~->TU0dwl zf9N1T(67g46z%0)v8sdN(2U-tmIqk)IAXHanm)VYv-a2*ot^)F=U=<7DRN>>{hvaM zAB@0olwh9n+BZ~G&_UvI+)VZ>Dh>~Vve$B+KYu0b$nzNoZe49Xk@tJwdr|+WY=J>@h3qkH#Ico1MRh zjgXSlp>9jIf4=ngw#{_5C!d6j?%&(9@*=03-k$HQ)tr@}tg&SK;S&i7CxqMj1bh7^ z?EG*~{Ef2AgM(YO4_xVIuItWIWYOFES+cUF*>*=+>Z{|7`(3vS#8o{v=2MVKOU~@; zd0zR%^YWB4r{C9~TrZ@yd85hmO1a8QCbd8R>d$N_XaN==GKvp5{<2t?Uox4>Gfx&+ PhB0`$`njxgN@xNA%G6Xl literal 0 HcmV?d00001 diff --git a/resource/template/Bskill_meet_spd2.png b/resource/template/Bskill_meet_spd2.png new file mode 100644 index 0000000000000000000000000000000000000000..b591175409bbfc0efa7205618a62812b4a9f4a06 GIT binary patch literal 1159 zcmeAS@N?(olHy`uVBq!ia0vp^Dj>|k1SIp4_|G#iu=shpIEHxe?mg(}Gr3&m_`~zx zb+;^L-jY(x-IjXv`w`Ynr^^c4ugOl6@T>Z8sC9~@u|KyO_szna3wOWlxl!@ZKwri; z&FR$9!_QI=vGQwQ>sin(tq~Q~_~q}~zxw$#(x*@!BCD1id zVqUC)v5coh(tMzzSy?7aFa5MxDR}GV9wX))U0uen>$nz5a3)lg9X!L}X|d?)rKOwy zN=utu&G1_KxiUz3%jQa;uWIJ(+xO|qm($bxC!bXDd!X9*@Fwd4p!$Z4ttBsW{vTuW zHJugovS!{Dj<-2+GbJVDm#^oq_;Ysp)vT?nS95dhQTg!a=jV;H%g^#mVCe{38Y6a` zdlk$fkw5=wCuC%FwEg~m?b@{hAw&M-`XX!NjtATbLonFi9QNoEI-% zdR10QsedTr_}RKBlEGtMhsM)QEh>ys78C#J@z<7oTlDAamfUqrX>LFp&hi8>3oebB zHbKRKS^d&XpSL^w)ooud{q$%NhKeO#OD}ytm|->f=AExEQWWH-h>OSn*>~sm?d-G` zU{sx9FckXys0>}_przu4IS`|R;ofB){!$43_zZ{2FDuyMOL)N5;jL43}y zTqga=8OclX7XyD@pZc?M&XIe1eeoK%zL}j=S-=*h`_xaClPTf!?W2-=>)H=T&a>*g z{Qm0$p7VM$Bo#OXeos+1J}_;2w{g{9zV^*Fr9#W^zdk5AFP7nqkC4JQP5-oxA0Pfy zva!9)_kw3(^6=-U=Ib=#G4PSKq|Zd|?nMp@|$lgvr& zrHYXdL?M9pNim=u00)pAQjg2hYeZb-KHW(Z8%2QKaGudc3sd8B*4 z`Jco64WZXxO0od+(w5{ji%A7QAF_Yuc9mJZ?(zj=jn3L5jAwenvw|iyN5V2_{7gw- z)3}!pMS(e4%7%Z!k%LDRXGp%4LTJkUNBN|HU7za{HNU40!_hTsSxPWZC)syW80j4`sPYeFt6`frXQ( z7e>d^&F==&!PUko*76r7Nc{N-1(S@@hhOZ?HxooFKWA0t3@z!+D-iJ`F8U z7pVUs&;h}O)>Pg6F3T_|Hxvmj8dmo4+G%P8TR{C5Yi@ymq+z=AC}~f-U0b~-NrWnN z_VYrb$1|%@l?}}hPIiGN$M;M0j&($4KXUDxTw<+_dX9xmrS(gsmr}lLhDM!z0uM-L zcs_tNT;gHA=6q5Dl02%BJM7iMT0uBhtipOj-+_xR++GN zJ7|8#kn$W}Y*s~fJ$J`%BUdNY(JA@w4GFEW_i&S$61o&MHQSAd!xy+?ARKvb{!Hew z?uuE}I-gBhsl$X!*2ws}tjcl-Ye#6@ZMwQZzY5EFkwAwE#1y%|urpFxiQ)$v`FiA9 zWfbCTv`1|q3oGm<{D~6-3zq_Fac1rmSZHdjT)he!w0XUf-eS9I9+IAx)MPpm-8$d2e4B(RPiBKBw|D(7`7UrsJtgKP7vyH5Wt*)Q~ zk~*mG_aLfDg<5@{BUod0l~B@SlK;Sj34NF-#Tj57m#xw%Zfd?2NkI4m$_;LY5F6}E zYF*mxzQXrCo`_C2xs1G%0}ZcWI1C=%@A_&>bx0gr5OqD0jsq4Qm-gKKfz%>p(_Cix z_6|iZ#~gIZEG)NFJnmoRAu;!?Pi-JvE+$-GLdoG?rcae?rO8ZBH~LV1paMek7YDw? zIVG!3c9RcXY4tuh!JmFWVK8km>-+Pxxeqd06!`zmcEm}9nMQo|)Ze}pfj=%HN=ylk`d^PJ7%vc-g zJyKX$_#>|+pwwMz77PX0taNBCBVT9Q;<5XD@nYYr(D8t4$f+sX$Bi|^S5nhUhi#S% z$m@>$uKZ$BtDb(^Q6c@F)RJ=ZG12SG0d?PalTf!L+D^%sc@p0dzh_s!!j1Gq)71`3pEXNuVjp|EGh zdbGLyk9;s&6|&qoQOK=`@M0havRyU0n9e%{&uhE{Q#HQw+O88Vi0P`5W}QGw0*UpA Va|R_6m!z2sz<6NYYf+)+{{fZ{sG9%) literal 0 HcmV?d00001 diff --git a/resource/template/Bskill_meet_ursus1.png b/resource/template/Bskill_meet_ursus1.png new file mode 100644 index 0000000000000000000000000000000000000000..a05208b7d9ee021e8faac8e69d62f5625d29a744 GIT binary patch literal 1450 zcmV;b1y%ZqP)5JH0tICxV-}*a;8Maa47u1v zZ%1xcaAGR%!clW!dgICz63<1O3=19Ai&(ZgPs-L#G{(mG@4R~6-`>3Pn&YCFh0^B{ z-y!j&%nXcBV1Qhgorou8W?+N@Bjh-MB(^8M4OS@NIK(8e74di`T5H)}RrfFvGb192 zM~Iz_zWuZ0$}&4ySXelGX7fDov?Lfn0g{NB8Q^&yaG-O@Y#yGLL_};h+IA|%9N_ytAc>fnu@y-^{ z1eh5h2@spv$RK|oxq0 zojC?n|FnhrdJ-vOxpTh&(w8m~N|fKdHUN|#Kgsf4AlKdwq&wbc!}1)1gSiiSfXcqC zSpZ0mD01t}F(8qsOkcW0BE^Q~uNfR<-ODeNt|pWl=d;gPS6@$}f(^@ax%PJEazJHY z)+_)dM-&-<>op=TojuEu(-gTsHa7XI<3PpvclMoX17@yte*Nw{!1p@dFMs7Y#Xjx7 z-PJ`T-IFylKp~2Zzx5iCm(HH$$Z3kr%+UWkU?x?$?^GKwbER|N+$5pXzoslru}}MN zcXbg-_hiisP>3R5v}6F^_sh!4D&GAw|7(rV%^^bL<5X93w2lW#*lhMUb<@++$z&3E z@x71D3{Z$7U$kV1_`biox_YRoiMlo(S|fCG=7GW`IHznP{ygwsdd)hp)cM`QKCQ)(!6YQ=_BHs|-o5+Ze3Lg?DHbd-GQ!jp_4OoD6uaL2ul_#) zzInu|x`)kH0jX3JnP{ygwx`s)bLUR5YuBNsCU%!m)5yADiBLXID3M~_jeb_X8SCvW zPYCeMBUaTtY-WH$Y&OwaOJq-}2Tb3;PiS}9p{6Ek8VLnUgz|Ypi4>t5{bRkotb7BM zCj|KB5vl4Pw#7yE>;V*Fv(XEU&&Lz!b0jtZx9;k z`@E~m%skH{;<_#{KR9fxQ ztJBl}{^+B0Cd14>KJV%(EiEPHx-L+8`5ItmfFwXXVzM~{1dfR1^LZdqb0VF|u(rmA zl9F6DyK?hG!1Fv}j^hB8m#>)_Ac=_B%4BmUa6~Mh&jX2?6X{H5s-uJ0^XJaxve}iJ z9|E4|5px`;^71t^BO-~2*v4dYhFIVTa9ww8ZB2zmV&*7h@HfM+gjsP?BegCOlMr<)J&+{Y!ZeT>xJz2AWh~!X2>}2%q#^lOfz|07_YiuZ# z0FnU5d#>^ieSj@}MWO`X zVv^X3cv5BtMkp{sjsr+yd*Vr%85p6!0J$zZ5#OQz0#ZIOLw|6=UH||907*qoM6N<$ Ef?!y*-T(jq literal 0 HcmV?d00001 diff --git a/resource/template/Bskill_meet_ursus2.png b/resource/template/Bskill_meet_ursus2.png new file mode 100644 index 0000000000000000000000000000000000000000..42c6d1bb2c240af180ddccaf86e57e7ab7bf4949 GIT binary patch literal 1611 zcmZ{leLT}!9LG0f9&Yn6az!@}{g7_TjV6h^T(Xgsd47yx#Fm?fl|0sqx>AgV@{nOE zDvf2K8#9wqCZ%jm#4gH1R%kSGe_md%```WJobT&(zUQ3p_nhzNyifKqoHIg2R|Nur zAg~xmJZORSrX&aUCkbkO5C|NJbv)#WK|JmVjVfD&c7K_hYgu>|SP(Of%<&TLc2$s> z+ziF?>e{j+|`CnR#FFB_lX1Z z+)aU$e47BP6Jh*?f=9sG$c=+DSiGn%RXn-94LugmLST#{^r*ba?e>M_w<$+ldT309 zKCAK=6rLV=-ecV=nA3Nlp*t3Y}H6)SC~z?-XZr%A$$^lt!rl4nVUb!AZo z&@KU%S9nh`|2MnomS>g!8(5wQOizxa8Bpf&*#ukz`(1pr{d(FLrw|IUrn-82Pq??Y z_g;7TOj42OKosQ8Xq<enFz^AUjv} zWP5p=J!J+~qd%q4iYp?+EYFuFl3_WU_7biJ{zf-(tZBo&gE*aAIV1!RQ>&0XIsTU$t}#+grZ%q}Pvb0`rmgfl>+iF+hJiw3W0gQ@l;}<=kgRpD6qzqO zG(6?}hElH7UY#v;jpQG};nG$cx&`Uij_TOi2kqXo+lM8*3(%9#458>cA&TfrH5bl8 zMd&91KXnmd69lV_TMqA0X$+MlMyVw1N`_bpJU zpxv-g5eStu)0c@U1F8mKOgy_IL(3}{kvXNvs9H{1lESj zCNrv5`1RsyO2`!gz%!vh7)tBpiqMOSj`sKSdv+#&pw7Rfqy&7x5G!Y?ALG#pR5Qfm$#ks!8Hr@qe6v^1@ zUeHkT6oP|N#s-441hItigtvFCnKy*~nq5yzHwi7x1nQ0IJ3*MHXp0!YDf2N8A+guU w%*>gK+SOR8unye54$ut}uz(k-ah$#ewd|<3gMX{@0Y3={)(PiW?+|kSUwJ$H6#xJL literal 0 HcmV?d00001 diff --git a/resource/template/CloseCluePage.png b/resource/template/CloseCluePage.png new file mode 100644 index 0000000000000000000000000000000000000000..bfc63792402fce4d54f366d924d54ea74b86fa7e GIT binary patch literal 3172 zcmV-q44dpn$Q&pH8PKl}d&+jmj86Ap~d7o@IG?nM5M-@mBjDqCr+F6)Kg=7$t;50ChTu z#bT#^*~d&DqwlkAn@XiZDwP@oX@1gvm(6BB`a-o>mNoV{sYFpk7=}2GL#b4H6QGWo z<#PF0PWdi*SJFM{9KP?LYOG~h%*@P?&*u$D0R!JF7K=EJLl}mq(w^43Qi>o5P6YO_ z#*|Vf)GMVd`6^0>&LV-e|K(pDT(P*HQdV^_1QN+T+0@tox zqf{!PltL+mloHSLxPSjX8yg!0K`?RJux*=Wvx&TX`SOi?K7XnZA4L(a>$1PU55So- zXH0;BfiGk-84eB(Xf~S$pdL3jH^<7#3gvPcAp}Y(;_*2BexKFVRaRG5X*3#drC{$8 zZT|AorAs%oc}+TrPO!aRkAs5)q9`)Hqq}A4bee27OQX@C(P)@X+T!9O*REZoTrMM} zG``dAb`3Z^XDk*w)!LL&$SYT_+z>*XsvOeoK+Ce|_xsfAbpXzuJ!|rilyVTZvst6b zQmMqs$_fh$3uZ2*6fa-C|R;xuU79$pm9UG{QTbpg$*zeO@(J$3=G#U+7 zS62bJa^(uCRLc11;^HDwO18JRnV+AhSS+HHGP%ojUDnptc>MS=?RMMD`#wFl%h~5aP8VPgb>tfwf{>qS?EUYhms%&a9x+h#YL0E;a_$Ui^WWTRnxIi z4tg4LeVo{u2I;6ai5#X~y1J-Vt9Qywq)l8((XmI=XZ8kSISz21+%9SfPj$?pT zt5t*${QB#!Y;A231c6BxrQyS0iYcc~Dx=ZY z5`t!{g`G|&sSSN_k~V|hQKb~0efAmGuV1H7DB%0P(ca$P9uFTrWPN?z_#6!UF$e~`~pEnJulWe|bNI?+LY&H>d z^Yi3#xrt3QiXu~p>dOK;p!EBFZr;4fqeqYEbUJU%Z$gMM?t1(7ZCuwi07r@Zq&_I6 zq}6KCZnqJ+e4gnuXC`)HAq0-&u(h?t&6_vb+1VkJ$vHMdy?dswdFRd@wzjsAQksJIUAsaefpGoy-vH`e(PcmYx3~#wr%74K5J`hJbChj z{r!Ctm?jB)K@hOLy*;!Zu!RszO-)g)R_Sy)_`YxQ*GVU~Z5!8h+1uL#I5nq~Qqt*k zOu>7aV+7apc>dxAVHg1sB4U8NTrM*`Jv~vdIb1<}YVm!a?d@&4-QM7f2!!rt*|yEx z+#HESf_Oasemw9aiuOGzZR+(p&z?OSODVz{UPkjhk3ylq7hilqJRUz4vw2^Q9v=6u zc}8nb&vW_v=~Fz{8xU;`P(KI*o1dMXW)CYyi%J?OngZ|BoOSQbJ`EFDyaAc-Ohg#zc#pJ#e{8r!x_Kl3#8*@qAv zF+JaB?ZE?{Jb6OD?-GTPxwLC(3=Fhr4^RrE5F9=k7ea96%o%dI9P8`rG@DIe(Dyt| zfjp^wpqP5&eE2+qTU?=kD$<-EP;MJA5c@j%rND1*H_VT8*8Z9bUcK!*$(3Du|+?B_4Ja ziwF?I?*}G2GNHLLsdqq17}kD)QX~=ys?{pZW|QshZTkJb;htd_j$)fvjsY8t8-r-(8vP&38v0-u zVoOOhZ2r8BGBGq=6$Gf^MV*A>kV+=W<#PDGPp93c*X`2l_wj}sqm(k&L3EQ@cK|xw zE`jgUYqe>&TXgy^?QRFp^9S!y%7lOGjR2y-3_S5)O#gzjfd2svH7Z9AuY`yI0000< KMNUMnLSTY@*eq25 literal 0 HcmV?d00001 diff --git a/resource/template/ClueNew.png b/resource/template/ClueNew.png new file mode 100644 index 0000000000000000000000000000000000000000..895c8deb879fe24fe24925a1f2fe2cea8ada615c GIT binary patch literal 1694 zcmV;P24VS$P)# zOK%(36~})woEeTN>P5Y%Ax+7Y6bDt}2P8YOV;gW9qd-xhn-*F)-SunqQ*_}jiXuf? zz(&zU8x%z$z_IMQimO;g5X;t+lw^`3^%#zZibxKJce_qG56m2pZ`6t zd#>~w;vU~)@$it4kpJIA-c*#69}-gCqDRfxLIUsbRFZen0Wz<1M-5H9F&Rl}qTg#m zw3&E#2qdZ!C?5Fg*1&tMQ^YGrKR!G(8s>1aUI9&r_7BGxh{woV7Rf|{qPa(lSECjV zhZ!D;v%8fgxw;B~8V(UUbDFlcwg!ELLV@f`lKx-^!>8k{CKGHduc8R)2roV|!uIy| z5nfSLiJXoRA0EcCEYeE}zS+(<5;$w2+lh{j(xT`rK6=dlRvv$~W-&XLL%iHZJ2i?P4HLaKfid%6*3uSqw-G%5 z4uLBd=+On8Up--S+N7$eXoCj9cg8rF`kcIJ(S8^UbwtZvg#ty|{B4Z=_(O6}o-_BC zf1n5#U)cuXfFgqcui}BI1<}^?B_96nkL2bPw3m-#w&-&xhQl0WQ>fuiw2pS0>AIWnl z%)fwxK?Zud>5X)wM|%lH`kDW1n(RUnO-Ov}`lgy?N3ecxhUD2XMn8Iw$hC_&EgGo4 zX4|m~HVaRmVr5NQP?5_O%ybsNP>@mB&un9DZP7LyW#IZb+J^eD%q`YupAany&fL67 z+fYAVCOm)S4uHRyQl&GhW) z9PJOL`QYYFil#})ZUlG}F-;TGG#MW0W9Y57Xw`MH%ggNAd+cN~>|`>;$HqW$DHIA6 z>_P)ZUDo>*KYrnZas^2UO6eU^|NJ-KyxgQK9z*Zw1R>XclYMBij8?7UxFt%Oz*Ai$ z?|_Qzu&)X#zABRBu$NfJdbWnH1nD{zM|M1%EfcK_2gxjZ8=IUtdyX^bCm?I%?N|ua z!}A^Ap>-D3R1HnYP;#JJB~bL(n_Fh{!3>eHLFnv8xF9?kWY8oTzv~i;8GP`oUr@T9 zqqR`MRaBfpfz-?_>BUtf%Rx@t=)NGdDx{VYSlbp_Nl<>dLm{0*2?jy;V=q3yT1`?_ z1ynqI)h0xRX(C>!U$$-Y?A|^4E{+hp`cr)63aW4c(915`zDwuG2;rX%f+L_@1x3YO zTjTzgMP_LO04KABvynlI8KmbI*_~fRcLjFY##~#&HBA(Mfb7>xWK-EgLdQJnh_1|j zN%?k_^t1Ikvg<1=JiK#<*xV|qN3(~C0-Mhlx&Qk=A%#K!sE2^AqT<*#sl?iminZCN z-2d%uG^3B?>?|UkLzgu?2^MF+WdC-R06H6wo`8F(_(b<4o$T;kRp2TD#g$PiGRU=l z)8`k+egP$F<4_!_ibJ*T)C%CrGOjG62p_6AnFa#y#C{|N4;jZNaAbj6l~Jq5B}u|V z@@gG^okf+(A;BZuT0bd@Ac~EBr|ik-s15T2u(FCK3|=10(g)5Go&I761SM07*qoM6N<$f(m~x{{R30 literal 0 HcmV?d00001 diff --git a/resource/template/GetClue1.png b/resource/template/GetClue1.png new file mode 100644 index 0000000000000000000000000000000000000000..4a6104fa86f099e3e0bd8d1ffe35749fda8ca788 GIT binary patch literal 2424 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 order power_task_ptr->set_task_chain(InfrastTaskCahin); auto office_task_ptr = std::make_shared(task_callback, (void*)this); office_task_ptr->set_task_chain(InfrastTaskCahin); + auto recpt_task_ptr = std::make_shared(task_callback, (void*)this); + recpt_task_ptr->set_task_chain(InfrastTaskCahin); for (const auto& facility : order) { if (facility == "Dorm") { @@ -314,6 +316,9 @@ bool asst::Assistance::start_infrast_shift(const std::vector& order else if (facility == "Office") { m_tasks_deque.emplace_back(office_task_ptr); } + else if (facility == "Reception") { + m_tasks_deque.emplace_back(recpt_task_ptr); + } else { log.error("start_infrast_shift | Unknown facility", facility); } diff --git a/src/MeoAssistance/InfrastProductionTask.cpp b/src/MeoAssistance/InfrastProductionTask.cpp index 3b5456abef..a0575710cc 100644 --- a/src/MeoAssistance/InfrastProductionTask.cpp +++ b/src/MeoAssistance/InfrastProductionTask.cpp @@ -322,6 +322,8 @@ bool asst::InfrastProductionTask::opers_choose() if (!skills_analyzer.analyze()) { return false; } + skills_analyzer.sort_result(); + auto cur_all_info = skills_analyzer.get_result(); std::vector selected_hash; @@ -335,6 +337,7 @@ bool asst::InfrastProductionTask::opers_choose() continue; } if (find_iter->selected == true) { + cur_all_info.erase(find_iter); continue; } ctrler.click(find_iter->rect); diff --git a/src/MeoAssistance/InfrastReceptionTask.cpp b/src/MeoAssistance/InfrastReceptionTask.cpp index a8747403a0..f5d7f7a59e 100644 --- a/src/MeoAssistance/InfrastReceptionTask.cpp +++ b/src/MeoAssistance/InfrastReceptionTask.cpp @@ -4,9 +4,72 @@ #include "Resource.h" #include "InfrastClueVacancyImageAnalyzer.h" #include "InfrastClueImageAnalyzer.h" +#include "MatchImageAnalyzer.h" #include "Logger.hpp" +#include "ProcessTaskImageAnalyzer.h" + +const std::string asst::InfrastReceptionTask::FacilityName = "Reception"; bool asst::InfrastReceptionTask::run() +{ + json::value task_start_json = json::object{ + { "task_type", "InfrastReceptionTask" }, + { "task_chain", m_task_chain} + }; + m_callback(AsstMsg::TaskStart, task_start_json, m_callback_arg); + + set_facility(FacilityName); + m_all_available_opers.clear(); + + swipe_to_the_right_of_main_ui(); + enter_facility(FacilityName, 0); + click_bottomleft_tab(); + + harvest_clue(); + proc_clue(); + + click_return_button(); + click_bottomleft_tab(); + + shift(); + + return true; +} + +bool asst::InfrastReceptionTask::harvest_clue() +{ + std::vector tasks_vec = { "InfrastClueNew" }; + while (!tasks_vec.empty()) { + ProcessTaskImageAnalyzer analyzer(ctrler.get_image(), tasks_vec); + if (!analyzer.analyze()) { + break; + } + auto task_info_ptr = analyzer.get_result(); + Rect rect = analyzer.get_rect(); + const auto& res_move = task_info_ptr->rect_move; + if (!res_move.empty()) { + rect.x += res_move.x; + rect.y += res_move.y; + rect.width = res_move.width; + rect.height = res_move.height; + } + sleep(task_info_ptr->pre_delay); + if (task_info_ptr->action == ProcessTaskAction::ClickSelf) { + ctrler.click(rect); + } + else { + log.error("InfrastReceptionTask::harvest_clue only support ClickSelf"); + return false; + } + int defalut_sleep = resource.cfg().get_options().task_delay; + sleep(task_info_ptr->rear_delay + defalut_sleep); + tasks_vec = task_info_ptr->next; + } + + return true; +} + +bool asst::InfrastReceptionTask::proc_clue() { const static std::string clue_vacancy = "InfrastClueVacancy"; const static std::vector clue_suffix = { @@ -37,16 +100,69 @@ bool asst::InfrastReceptionTask::run() ctrler.click(clue_analyzer.get_result().back().first); sleep(delay); } + // 开启线索交流,“解锁线索” + image = ctrler.get_image(); + MatchImageAnalyzer unlock_analyzer(image); + const auto unlock_task_ptr = std::dynamic_pointer_cast( + resource.task().task_ptr("UnlockClues")); + unlock_analyzer.set_task_info(*unlock_task_ptr); + if (unlock_analyzer.analyze()) { + ctrler.click(unlock_analyzer.get_result().rect); + sleep(unlock_task_ptr->rear_delay); + click_bottomleft_tab(); + image = ctrler.get_image(); + } + // 所有的空位分析一次,看看还缺哪些线索 InfrastClueVacancyImageAnalyzer vacancy_analyzer(image); vacancy_analyzer.set_to_be_analyzed(clue_suffix); if (!vacancy_analyzer.analyze()) { } - for (auto&& [id, _] : vacancy_analyzer.get_vacancy()) { + const auto& vacancy = vacancy_analyzer.get_vacancy(); + for (auto&& [id, _] : vacancy) { log.trace("InfrastReceptionTask | Vacancy", id); } - return false; + std::string product; + if (vacancy.size() == 1) { + product = vacancy.begin()->first; + } + else { + product = "General"; + } + log.trace("InfrastReceptionTask | product", product); + set_product(product); + + return true; +} + +bool asst::InfrastReceptionTask::shift() +{ + const auto& image = ctrler.get_image(); + MatchImageAnalyzer add_analyzer(image); + + const auto add_task_ptr = std::dynamic_pointer_cast( + resource.task().task_ptr("InfrastAddOperator" + m_facility)); + add_analyzer.set_task_info(*add_task_ptr); + + if (!add_analyzer.analyze()) { + return true; + } + ctrler.click(add_analyzer.get_result().rect); + sleep(add_task_ptr->rear_delay); + + swipe_to_the_left_of_operlist(); + click_clear_button(); + + opers_detect_with_swipe(); + swipe_to_the_left_of_operlist(); + + optimal_calc(); + opers_choose(); + + click_confirm_button(); + + return true; } bool asst::InfrastReceptionTask::swipe_to_the_bottom_of_clue_list_on_the_right() diff --git a/src/MeoAssistance/InfrastReceptionTask.h b/src/MeoAssistance/InfrastReceptionTask.h index bb60b2256d..cc1c647735 100644 --- a/src/MeoAssistance/InfrastReceptionTask.h +++ b/src/MeoAssistance/InfrastReceptionTask.h @@ -8,7 +8,12 @@ namespace asst { using InfrastProductionTask::InfrastProductionTask; virtual ~InfrastReceptionTask() = default; virtual bool run() override; + + const static std::string FacilityName; private: + bool harvest_clue(); + bool proc_clue(); + bool shift(); bool swipe_to_the_bottom_of_clue_list_on_the_right(); }; } diff --git a/src/MeoAssistance/InfrastSkillsImageAnalyzer.cpp b/src/MeoAssistance/InfrastSkillsImageAnalyzer.cpp index 142c429018..8f89daa37b 100644 --- a/src/MeoAssistance/InfrastSkillsImageAnalyzer.cpp +++ b/src/MeoAssistance/InfrastSkillsImageAnalyzer.cpp @@ -21,6 +21,21 @@ bool asst::InfrastSkillsImageAnalyzer::analyze() return true; } +void asst::InfrastSkillsImageAnalyzer::sort_result() +{ + // 按位置排个序 + std::sort(m_result.begin(), m_result.end(), + [](const auto& lhs, const auto& rhs) -> bool { + if (std::abs(lhs.rect.x - rhs.rect.x) < 5) { // x差距较小则理解为是同一排的,按y排序 + return lhs.rect.y < rhs.rect.y; + } + else { + return lhs.rect.x < rhs.rect.x; + } + } + ); +} + bool asst::InfrastSkillsImageAnalyzer::skills_detect() { const auto upper_task_ptr = resource.task().task_ptr("InfrastSkillsUpper"); @@ -192,7 +207,8 @@ bool asst::InfrastSkillsImageAnalyzer::skill_analyze() if (size_t find_pos = skill.id.find(base_id); find_pos != std::string::npos) { std::string cur_skill_level = skill.id.substr(base_id.size()); - if (cur_skill_level > max_level) { + if (max_level.empty() + || cur_skill_level > max_level) { max_level = cur_skill_level; most_confident_skills = skill; } diff --git a/src/MeoAssistance/InfrastSkillsImageAnalyzer.h b/src/MeoAssistance/InfrastSkillsImageAnalyzer.h index 26f7eab598..5a16c7f8f5 100644 --- a/src/MeoAssistance/InfrastSkillsImageAnalyzer.h +++ b/src/MeoAssistance/InfrastSkillsImageAnalyzer.h @@ -15,6 +15,8 @@ namespace asst { virtual ~InfrastSkillsImageAnalyzer() = default; virtual bool analyze() override; + void sort_result(); + const std::vector& get_result() const noexcept { return m_result; } diff --git a/src/MeoAssistance/ProcessTask.cpp b/src/MeoAssistance/ProcessTask.cpp index e77351ea1b..df5814142a 100644 --- a/src/MeoAssistance/ProcessTask.cpp +++ b/src/MeoAssistance/ProcessTask.cpp @@ -39,11 +39,6 @@ bool ProcessTask::run() rect.height = res_move.height; } - if (!task_info_ptr) { - m_callback(AsstMsg::ProcessTaskNotMatched, task_start_json, m_callback_arg); - return false; - } - json::value callback_json = json::object{ { "name", task_info_ptr->name }, { "type", static_cast(task_info_ptr->action) }, diff --git a/src/MeoAsstGui/ViewModels/InfrastructureConstructionViewModel.cs b/src/MeoAsstGui/ViewModels/InfrastructureConstructionViewModel.cs index de83539330..10173a7cb7 100644 --- a/src/MeoAsstGui/ViewModels/InfrastructureConstructionViewModel.cs +++ b/src/MeoAsstGui/ViewModels/InfrastructureConstructionViewModel.cs @@ -25,6 +25,7 @@ namespace MeoAsstGui facility_key.Add("制造站", "Mfg"); facility_key.Add("贸易站", "Trade"); facility_key.Add("发电站", "Power"); + facility_key.Add("会客室", "Reception"); facility_key.Add("办公室", "Office"); _dormThresholdLabel = "宿舍入驻心情阈值:" + _dormThreshold + "%"; @@ -50,9 +51,9 @@ namespace MeoAsstGui ItemViewModels.Add(new ItemViewModel(2, "制造站")); ItemViewModels.Add(new ItemViewModel(3, "贸易站")); ItemViewModels.Add(new ItemViewModel(4, "发电站")); - ItemViewModels.Add(new ItemViewModel(5, "办公室")); - ItemViewModels.Add(new ItemViewModel(6, "宿舍")); - //ItemViewModels.Add(new ItemViewModel(7, "会客室")); + ItemViewModels.Add(new ItemViewModel(5, "会客室")); + ItemViewModels.Add(new ItemViewModel(6, "办公室")); + ItemViewModels.Add(new ItemViewModel(7, "宿舍")); //ItemViewModels.Add(new ItemViewModel(8, "控制中枢")); } diff --git a/src/MeoAsstGui/Views/InfrastructureConstructionView.xaml b/src/MeoAsstGui/Views/InfrastructureConstructionView.xaml index 689bf91ab8..c3f9ec8c27 100644 --- a/src/MeoAsstGui/Views/InfrastructureConstructionView.xaml +++ b/src/MeoAsstGui/Views/InfrastructureConstructionView.xaml @@ -61,6 +61,6 @@ + Text="基建换班功能仍处于测试阶段,BUG较多,请酌情使用!(暂不支持控制中枢)" /> \ No newline at end of file