From df6e93854dc8b7839df1783d06d0b24c3eaf69c9 Mon Sep 17 00:00:00 2001 From: LmeSzinc <37934724+LmeSzinc@users.noreply.github.com> Date: Sat, 9 Apr 2022 14:17:05 +0800 Subject: [PATCH] Upd: BOOKS_GRID and fix skill exp detection --- assets/cn/tactical/OCR_SKILL_EXP.png | Bin 5651 -> 7958 bytes assets/en/tactical/OCR_SKILL_EXP.png | Bin 5651 -> 7958 bytes assets/jp/tactical/OCR_SKILL_EXP.png | Bin 5651 -> 7958 bytes assets/tw/tactical/OCR_SKILL_EXP.png | Bin 5651 -> 7958 bytes module/tactical/assets.py | 2 +- module/tactical/tactical_class.py | 13 ++++++++++++- 6 files changed, 13 insertions(+), 2 deletions(-) diff --git a/assets/cn/tactical/OCR_SKILL_EXP.png b/assets/cn/tactical/OCR_SKILL_EXP.png index ce7062747679a377d30db71f4ea7acd4786a7172..950cdb7e73541265d41b580ac890e7b99873f0c3 100644 GIT binary patch delta 5367 zcmVKLZ*U+5Lu!Sk^o_Z5E4Meg@_7P6crJi zNL9pw)e1g*-agACFH+#L2yY0u@N$1RxOR%fe>`#Q*^C19^CUbg)1C0k3ZW0swH;E+i7i z;s1lWP$pLZAdvvzA`<5d0gzGv$SzdK6adH=0I*ZDWC{S3003-xd_p1ssto|_^hrJi z0NAOM+!p}YqJJEz2mp-%0GTL9BmzLY0AN*tQY-?%!T_MGKq4*#z^(y+S++7q0)V{* z0CtX8kPkp$0Dzf7EX)8PI067e9uv(2AWQ?GFw(!^sb6q~xJUs2z{{1*mrK$!6u6bp z8h7&W;Nl_T!fdfZVHYV7W(njXoR^y;6G-O+OwJ4d0Dl_!(ZT*WKal6<?_01!^k@7iDG<<O!X{f;To;xw^bEES6JSc$k$B2CA6xl)ltA<32E66t?3 z@gJ7`36pmX0IY^jz)rRYwaaY4e(nJRiw;=Qb^t(r^DT@T3y}a2XEZW-_W%Hszxj_q zD**t_m!#tW0KDiJT&R>6OvVTR07RgHDzHHZ41d8CtiTSO!5zH77Xo1hL_iEAz&sE_ z2IPPo3ZWR5K^auQI@koYumc*P5t`u;w81er4d>tzT!HIw7Y1M$p28Tsh6w~g$Osc* zAv%Z=Vvg7%&IlKojszlMNHmgwq#)^t6j36@$a16tsX}UzT}UJHEpik&ja)$bklV;0 zGJlHvio8cLl!3BQ1JnX_K)I+N8j8lCbJ27(4_$zkqHEC_v>rWxwxXxeOXziU0DX#% zV}Q{y4rYwmVO)%dMPP|o8YagUW93*iR*yAf9auMZ6&t{wVebee0*inX>kNG+sOq(0IRX`DyT~9-sA|ffUF>wk++Z!kWZ5P z$;0Hg6gtI-;!FvmBvPc55=u2?Kjj3apE5$3psG>Lsh-pbs)#zDT1jo7c2F-F4Q#^mhymh7E(qNMa}% zYZ-ePrx>>xFPTiH1=E+A$W$=bG8>s^m=Bn5Rah$aDtr}@$`X}2l~$F0mFKEdRdZE8 z)p@E5RI61Ft6o-prbbn>P~)iy)PEMM)u|m-yQwy=&Qf<$k5JE1U!%TX{et>q4YG!X zMxcgBqf}$J#u<$v7REAV@mNCEa#jQDENhreVq3EL>`ZnA`x|yIdrVV9bE;;nW|3x{ z=5fsd4#u(I@HyF>O3oq94bFQl11&!-vDRv>X03j$H`;pIzS?5#a_tuF>wntsb#R?P zoh+U8I&C`lbqTsQx>34?y4!Wn>ORwB>v`!3^~&`Q>D|#s^=g_pF#!K2~{F^;XxcN!DEJEbDF7S8PxlSDOr*I-AS3sI8l= z#CDr)-xT5$k15hA^;2%zG3@;83hbKf2JJcaVfH2VZT8O{%p4LO)_*&6JA86v({H5aB!kjoO6c9$1ZZKsN-Zl8L~mE{`ly3)1N^`o1+ zo7}D0ZPeY&J;i;i`%NyJ8_8Y6J?}yE@b_5aam?eLr<tB-J_4V5pNGDtz9Qc}z9W9tewls;{GR(e`pf-~ z_`l(K@)q$<1z-We0p$U`ff|9c18V~x1epY-2Q>wa1-k|>3_cY?3<(WcA99m#z!&lx z`C~KOXDpi070L*m6~<9TW0|n}ttBzM_qyQL(qUN<5P0omQ3hINdvaL;7fjPeygd zGYL;pD|wL_lDQ-EO;$wK-mK5raoH_7l$?~Dqf!lNmb5F^Ft;eTPi8AClMUo~=55Lw zlZVRpqzUQ>u#*~S--DJy=p<#(1!30tsC);y-I zHSJr>wyfLop*ExTdYyk=%U1oZtGB+{Cfe4&-FJKQ4uc&PJKpb5^_C@dOYJYTZY}~KEzp@E!QZ|hqNIG!kn}BcH zo9&u+wQyQ04#Gj@!6)CQe0$?i=%LQT+{4Y^nSZzS2IeD{>VLHUv1Pz*;P_y`V9&!@5AO~Mhku^_l>gI*;nGLUN7W-nBaM%pA0HbH8olyl z&XeJ%vZoWz%6?Y=dFykl=imL}`%BMQ{Mhgd`HRoLu6e2Ra__6DuR6yg#~-}Tc|Gx_ z{H@O0eebyMy5GmWADJlpK>kqk(fVV@r_fLLKIeS?{4e)}^ZO;zpECde03c&XQh!YV z0D2_=0Dyx40Qvs_0D$QL0Cg|`0P0`>06Lfe02gnPU&TfM02D(>L_t(|+U(s?Xk6KO z2kg<2$#s4TRbr;w+#PbE+3rZ3I* zp~Vz-Q3?t6LY7sa0r|m23OGmw2P@CQ1}0#`2-YwI7TgbXANnvOOZG}hH(P?&`};j< z{yKB#>gqC_k8|!h5wnpF#sYu9GvaeD0RX@=rT5j9)8ahwbNR!LT%Mgja^_k8FYMgf zbSuL1r{xj=0DMN|AFB+`$Y>&(I-)A2WMpKWnb|~{^gv4~rHY72eq5rL5~V6LPn=^O zPLEbf6*DCcGn`x$l~Sshi8J!z_5gncFaQ9b5=~~- z)1t0a(>iw&wxYDEXqCy!Y^H_cam{(uF)UF{US~w)=(yRFZ+ZO2QmWD_r&hpoo%-Ah z(f?%~hb6P_^s;j?Vs?7)!JQo5jmVfkkw-*-lE;%}?Locv>eb!5yTga$Xd;{Fbk22O zxUlof?fU4fvd)uX*7bivZ=rXwJ2yKwX|TPsy?eKRR_^uz1uy^rpC-MF7nT-#n?K(g z42O@)+NIuwZm)O!->#ST{G`qDON&p`su^3iwjyHrrRAIN-W+{6iZT~XmR7a?+O_T5 zJJoDiywp3Ygpa$BnR)%Kn|a!ha^|SB7?BZ&)7RaXOJolElqfyw|^%nG3yz z<(HQG@At>!)AQQh1D_3l;t~J=JP(?>^Tl&l|LW@6*RSTmIGUV>ozC)$OVeq_P2Kt8 zxht2iL=$;zoSA>a`-6qvg==419Uo*i8BKlVFPE2k3;hr7J#HEiS6;c&d7+aBM@e%^ z<(N%ID?48)gMLO+CP|r%;RiXm9sOG|=w~S<4xh|#ALS<%VulZf)P|-z%lmXXk&wXM_=80Dxyu{vprmwj!G7 zb-Rm;OM83w%Iq{OrPNKfPxSt-zxCs2j(dXHL}uK$dE@oJd;R7+n}fly{ioIHE2|st z+{|(A_6PSq7(_%h6IU)@+56Sr#!qfco~Mmg6>&T}dO97tspl_7eGsDu8BJs>Bch7P zCL&5ii4%Vh{T}Dd6Zzv>y4{{zy0q}4fBjK5QD!2u?q0kwdNjKC+d(#UiHMn!P2KH2 z4x`LWk5kw6v>tx)z-Q&abI%Ac0KoI3&e7&Cw${IOEt-txj7Ck24@TKKDo3MC7J}No zy*(HV*1x%yIlg*%C3C#_v-e7SuC%7jhNDq5F`9pl2A4Q2rBx#9Qk72UTxOjS8IhUY z#j^kYc>c@nx$_zEhmNowMrOUVxH!B&96Z>ctap`}%P%hWf8AgDO0V1LOjeW5gA?KT zb8Z7b0So}}DN@c(e$UA8ji20@|HAyrD=T?0$}#OZ5Xoz$wn`?u@=@SX3r=jI|Znv9b37t6gn+3Ci)7vjkc zoIaL}$d#9uw|2HC%X{TvmQpTUys&*|x7+P@Ug*SO#8csyF1UMuGrzH10sw&Lz_iM2 zmBIf0&7a;}zjk%&)>a;zQhc`C<&A&*ejb07!dpAryLbB0iYRmayZ83)?5)4H-tYIf zZf%#@x!?c6O})Ffn@x^K!!kRUP2IUz>JMXlzm8V>lkE4KS@$k3L}dT{ewlPyvtH;e zj6NICxRaKK_C&H?#j#l0R_y{Aw007UAsudCO-haI}KFIZNtYvdb0h~*gG#(w7oSD(&{1@i)AV&xJe;O-kRhzeVuK&kIY0XWRU+%nE2JdHP^@+9| zK8(z~a(Q{@S9|qny4rJQF2A_6_v^iJ9#8OoGPIx-@H@Y;Tmk@q=gjyZuD`YM_uqMa z>la(~M{2^%+<0pvqnZq>=Ho75)}4RzonCM8&3}J$^_A6yi`|pkDV=39N4l<~l#)%B zcFvzKyYG(caYQqDA~?=`8u@J5WT(^V{8?w?r#G?{B_a;9Jv-Mq-?{P5jU107BAUpo z%WQc%R0abIU;u#U*vUGzlxp|R?%v)0`Zw3NZf`x^w25(MnVpW%mWXIYHkp4-tpD}e z-rc>8AK&PHxx4<&weNoK``OCh{}}LzBX=&9GFvTNZg(z4r&s15mGS-T?|kgXfb(Fq z{OZcR{=LzM<1!ikZDQ$CuRYsdd1Ym3acSY=!stt*!Tmvdw*7QC9B$vXFyQ9(l%tx6`)Jn<5XD3g*cl2<0^PQW6 z2ZPb0Q8t-P)>#jy;r@xx?nb~F-;OQ;0KoI7lxlE)xcT$VwXaeW_qFk&U*RfrQ!YI;J1Ux?ne<(S~1w)AKc%Mh&&iw=w2A^ z4+n$&h!{NBkHZt;ZwG%TAAZgzPF;!mtQ=4P0|4-hck8NZri!Sl=~KHUB5uBObLH|% zL`y=VvM2Weh@^TnWsV6%Ix1x?Ht;m07oH==WiJ6Efr{odQ zkdtB6&GW>A#H?Ms=B1&mbvKyQ4ZQb6EldD6wV)UqvCiecPKNyZC zTOXA&*Z*L+{@Q=HM~^b1p46q8x&E!!M~}v(^|&gHZ0a}v<<0gN&W#W1C$>#$l`^T8 zXG&@1ct4h2onKmwjA*x`f4hz-r4^^;v2(_;ru4qLa`rFt6YVYZ zvEDq{!uRlZHaI-(=gEoYsLW;75lxAviZY6s@#B&^AC(gAkLFRA%yzp})#uCT!%_MC zDH{=2rPPncRaNRbvx&!Zq_fVsxl%vMjEE*mHQf|y@^?=fN1UFQ&p&-(c7CzxRs;nw z005tX0(cwdBgx?z4Gur%8O(gr>ob|-efmmQ|9`U^6~MER4r&LJkOc%9@W=4K0|5UF Va-k`@on-(3002ovPDHLkV1nIr&1V1r literal 5651 zcmeHHeNYo;8jtq+agNpEi~{N%X*fJm4f%kiAqV6v3so^7fis8-4ao*VlHHgO2#DZZ zrvwVfwZ(8?g((&-Rf2%PkRaGbr8L3V27?*_IUA57As8w05x5N^)86#1bN%CHZib!N z-FNr>y}##qe$Pk#zR0&$l=v2c#&} zx~r~x)yeJawxCeI8RN&s$>JD$X&hMO$L7LGpr1k{M$jl!5M3c=a|ECaodhQHp9Y_-;$>P$x+D`K7+%2^?-#rnlmT=3yo{fPBA|eu zK#`K+vSsXF1amnw9xM^Dk%0Lkb~1<;L&+HQvW&D)SO`lH!-#kOi(W7owB3+Y#)dfH zZXg(g#O%lCb7?$60LbMgQE?=H9uG%J3LxN;I3ym9$K_Hf*CH%QFmwkijKECe)=zVIe5gYlhvx&RE6AV}1DatzEZXzJKat_t<(qMb~pt7r$4B zN%^eqZ^liUefxOcLu^<_*-{VfcYmo+*wx&|l%zfAp2^6QsrR&G<~k#tBd;vZ%azB9 z0{@>1%nv)QZ_^Rq>9^-+`s(JIoSR~L2CBMpx(97PyiH$i*FNp=aw7Y4gCMVKLv46C zu-)wdN$W5&6s zk`&TB0(CvgJ#Sv`Hhj}^Ei1+3{P4~s>zhP#US`71itz`79v1wmpuH1=Q2xDRfrtCs zv=wJZs00hoRTf9y_~a< zeLyujI$BUrz?i>~YVS`0@|4PAbDRb1@viPT1`PhID9i z^gm+8l}cqs$mz&)?UkKJsHMhtho>*?IM=7vK5Q92G0-zRFt%m&{KNT~GhQgvak_@- z-5aNJ^jkMijCtOj3H+`C-q$%ixj=FYKlW^!z*4)D&ynVmR1RTAmh+Wum_}XAv**Ra3mDEk9SRQs73fsrc z)*~-JdGh)Y9~+HHYRm6?%`wrdX~}a^FPVoj=1V@+59*Zs@*CqcO>3*Cl3g*Zot@Gi zzTDb+XDm&r8?=dAE^Hv!w=G&BGiuZ19@-$BzLT6qg1Gu%*0hj7-PwAW!9#d1!o5ebDP7rUlFT~&e zM-1u(l>PI<4P;5#C_6#D5S=?JnX3+ihOlSXdm@~-=qgD1`-=L&N&^lY*#lg!^XX9q zt_|%yY0L{D8drJJy5QdPwpgVD+a*+S-lbN{jQqVKE-Q0O=7#>Z`Fww~Nb7+^B?=$rz>kk?moC*Nf7rf#R z3(S&oiF7h{K`i{BsYg<-VlTv24(B~oVJpf3L+7Rg&6eznD3i%jT(K=U(lnW!Bb7R+ z*&$87o&5Ix#B9I*fq`V82Aq-DClm(5_${OV)#*X*J5Tv@Kbqj@Iq|$^D|VYIJ~f~D zSf4o^c`PP%j52oWi|7b|t7qz4W-B{>m#Ad`%{~rOLGcYnDi%+vLx!^;N?8z5)1+cj zj6+@cY+$PmN_4(;d?5@e#Kx|8??x|?%4KkOSR|l+>z%*;6F>Dr$p8QV diff --git a/assets/en/tactical/OCR_SKILL_EXP.png b/assets/en/tactical/OCR_SKILL_EXP.png index ce7062747679a377d30db71f4ea7acd4786a7172..950cdb7e73541265d41b580ac890e7b99873f0c3 100644 GIT binary patch delta 5367 zcmVKLZ*U+5Lu!Sk^o_Z5E4Meg@_7P6crJi zNL9pw)e1g*-agACFH+#L2yY0u@N$1RxOR%fe>`#Q*^C19^CUbg)1C0k3ZW0swH;E+i7i z;s1lWP$pLZAdvvzA`<5d0gzGv$SzdK6adH=0I*ZDWC{S3003-xd_p1ssto|_^hrJi z0NAOM+!p}YqJJEz2mp-%0GTL9BmzLY0AN*tQY-?%!T_MGKq4*#z^(y+S++7q0)V{* z0CtX8kPkp$0Dzf7EX)8PI067e9uv(2AWQ?GFw(!^sb6q~xJUs2z{{1*mrK$!6u6bp z8h7&W;Nl_T!fdfZVHYV7W(njXoR^y;6G-O+OwJ4d0Dl_!(ZT*WKal6<?_01!^k@7iDG<<O!X{f;To;xw^bEES6JSc$k$B2CA6xl)ltA<32E66t?3 z@gJ7`36pmX0IY^jz)rRYwaaY4e(nJRiw;=Qb^t(r^DT@T3y}a2XEZW-_W%Hszxj_q zD**t_m!#tW0KDiJT&R>6OvVTR07RgHDzHHZ41d8CtiTSO!5zH77Xo1hL_iEAz&sE_ z2IPPo3ZWR5K^auQI@koYumc*P5t`u;w81er4d>tzT!HIw7Y1M$p28Tsh6w~g$Osc* zAv%Z=Vvg7%&IlKojszlMNHmgwq#)^t6j36@$a16tsX}UzT}UJHEpik&ja)$bklV;0 zGJlHvio8cLl!3BQ1JnX_K)I+N8j8lCbJ27(4_$zkqHEC_v>rWxwxXxeOXziU0DX#% zV}Q{y4rYwmVO)%dMPP|o8YagUW93*iR*yAf9auMZ6&t{wVebee0*inX>kNG+sOq(0IRX`DyT~9-sA|ffUF>wk++Z!kWZ5P z$;0Hg6gtI-;!FvmBvPc55=u2?Kjj3apE5$3psG>Lsh-pbs)#zDT1jo7c2F-F4Q#^mhymh7E(qNMa}% zYZ-ePrx>>xFPTiH1=E+A$W$=bG8>s^m=Bn5Rah$aDtr}@$`X}2l~$F0mFKEdRdZE8 z)p@E5RI61Ft6o-prbbn>P~)iy)PEMM)u|m-yQwy=&Qf<$k5JE1U!%TX{et>q4YG!X zMxcgBqf}$J#u<$v7REAV@mNCEa#jQDENhreVq3EL>`ZnA`x|yIdrVV9bE;;nW|3x{ z=5fsd4#u(I@HyF>O3oq94bFQl11&!-vDRv>X03j$H`;pIzS?5#a_tuF>wntsb#R?P zoh+U8I&C`lbqTsQx>34?y4!Wn>ORwB>v`!3^~&`Q>D|#s^=g_pF#!K2~{F^;XxcN!DEJEbDF7S8PxlSDOr*I-AS3sI8l= z#CDr)-xT5$k15hA^;2%zG3@;83hbKf2JJcaVfH2VZT8O{%p4LO)_*&6JA86v({H5aB!kjoO6c9$1ZZKsN-Zl8L~mE{`ly3)1N^`o1+ zo7}D0ZPeY&J;i;i`%NyJ8_8Y6J?}yE@b_5aam?eLr<tB-J_4V5pNGDtz9Qc}z9W9tewls;{GR(e`pf-~ z_`l(K@)q$<1z-We0p$U`ff|9c18V~x1epY-2Q>wa1-k|>3_cY?3<(WcA99m#z!&lx z`C~KOXDpi070L*m6~<9TW0|n}ttBzM_qyQL(qUN<5P0omQ3hINdvaL;7fjPeygd zGYL;pD|wL_lDQ-EO;$wK-mK5raoH_7l$?~Dqf!lNmb5F^Ft;eTPi8AClMUo~=55Lw zlZVRpqzUQ>u#*~S--DJy=p<#(1!30tsC);y-I zHSJr>wyfLop*ExTdYyk=%U1oZtGB+{Cfe4&-FJKQ4uc&PJKpb5^_C@dOYJYTZY}~KEzp@E!QZ|hqNIG!kn}BcH zo9&u+wQyQ04#Gj@!6)CQe0$?i=%LQT+{4Y^nSZzS2IeD{>VLHUv1Pz*;P_y`V9&!@5AO~Mhku^_l>gI*;nGLUN7W-nBaM%pA0HbH8olyl z&XeJ%vZoWz%6?Y=dFykl=imL}`%BMQ{Mhgd`HRoLu6e2Ra__6DuR6yg#~-}Tc|Gx_ z{H@O0eebyMy5GmWADJlpK>kqk(fVV@r_fLLKIeS?{4e)}^ZO;zpECde03c&XQh!YV z0D2_=0Dyx40Qvs_0D$QL0Cg|`0P0`>06Lfe02gnPU&TfM02D(>L_t(|+U(s?Xk6KO z2kg<2$#s4TRbr;w+#PbE+3rZ3I* zp~Vz-Q3?t6LY7sa0r|m23OGmw2P@CQ1}0#`2-YwI7TgbXANnvOOZG}hH(P?&`};j< z{yKB#>gqC_k8|!h5wnpF#sYu9GvaeD0RX@=rT5j9)8ahwbNR!LT%Mgja^_k8FYMgf zbSuL1r{xj=0DMN|AFB+`$Y>&(I-)A2WMpKWnb|~{^gv4~rHY72eq5rL5~V6LPn=^O zPLEbf6*DCcGn`x$l~Sshi8J!z_5gncFaQ9b5=~~- z)1t0a(>iw&wxYDEXqCy!Y^H_cam{(uF)UF{US~w)=(yRFZ+ZO2QmWD_r&hpoo%-Ah z(f?%~hb6P_^s;j?Vs?7)!JQo5jmVfkkw-*-lE;%}?Locv>eb!5yTga$Xd;{Fbk22O zxUlof?fU4fvd)uX*7bivZ=rXwJ2yKwX|TPsy?eKRR_^uz1uy^rpC-MF7nT-#n?K(g z42O@)+NIuwZm)O!->#ST{G`qDON&p`su^3iwjyHrrRAIN-W+{6iZT~XmR7a?+O_T5 zJJoDiywp3Ygpa$BnR)%Kn|a!ha^|SB7?BZ&)7RaXOJolElqfyw|^%nG3yz z<(HQG@At>!)AQQh1D_3l;t~J=JP(?>^Tl&l|LW@6*RSTmIGUV>ozC)$OVeq_P2Kt8 zxht2iL=$;zoSA>a`-6qvg==419Uo*i8BKlVFPE2k3;hr7J#HEiS6;c&d7+aBM@e%^ z<(N%ID?48)gMLO+CP|r%;RiXm9sOG|=w~S<4xh|#ALS<%VulZf)P|-z%lmXXk&wXM_=80Dxyu{vprmwj!G7 zb-Rm;OM83w%Iq{OrPNKfPxSt-zxCs2j(dXHL}uK$dE@oJd;R7+n}fly{ioIHE2|st z+{|(A_6PSq7(_%h6IU)@+56Sr#!qfco~Mmg6>&T}dO97tspl_7eGsDu8BJs>Bch7P zCL&5ii4%Vh{T}Dd6Zzv>y4{{zy0q}4fBjK5QD!2u?q0kwdNjKC+d(#UiHMn!P2KH2 z4x`LWk5kw6v>tx)z-Q&abI%Ac0KoI3&e7&Cw${IOEt-txj7Ck24@TKKDo3MC7J}No zy*(HV*1x%yIlg*%C3C#_v-e7SuC%7jhNDq5F`9pl2A4Q2rBx#9Qk72UTxOjS8IhUY z#j^kYc>c@nx$_zEhmNowMrOUVxH!B&96Z>ctap`}%P%hWf8AgDO0V1LOjeW5gA?KT zb8Z7b0So}}DN@c(e$UA8ji20@|HAyrD=T?0$}#OZ5Xoz$wn`?u@=@SX3r=jI|Znv9b37t6gn+3Ci)7vjkc zoIaL}$d#9uw|2HC%X{TvmQpTUys&*|x7+P@Ug*SO#8csyF1UMuGrzH10sw&Lz_iM2 zmBIf0&7a;}zjk%&)>a;zQhc`C<&A&*ejb07!dpAryLbB0iYRmayZ83)?5)4H-tYIf zZf%#@x!?c6O})Ffn@x^K!!kRUP2IUz>JMXlzm8V>lkE4KS@$k3L}dT{ewlPyvtH;e zj6NICxRaKK_C&H?#j#l0R_y{Aw007UAsudCO-haI}KFIZNtYvdb0h~*gG#(w7oSD(&{1@i)AV&xJe;O-kRhzeVuK&kIY0XWRU+%nE2JdHP^@+9| zK8(z~a(Q{@S9|qny4rJQF2A_6_v^iJ9#8OoGPIx-@H@Y;Tmk@q=gjyZuD`YM_uqMa z>la(~M{2^%+<0pvqnZq>=Ho75)}4RzonCM8&3}J$^_A6yi`|pkDV=39N4l<~l#)%B zcFvzKyYG(caYQqDA~?=`8u@J5WT(^V{8?w?r#G?{B_a;9Jv-Mq-?{P5jU107BAUpo z%WQc%R0abIU;u#U*vUGzlxp|R?%v)0`Zw3NZf`x^w25(MnVpW%mWXIYHkp4-tpD}e z-rc>8AK&PHxx4<&weNoK``OCh{}}LzBX=&9GFvTNZg(z4r&s15mGS-T?|kgXfb(Fq z{OZcR{=LzM<1!ikZDQ$CuRYsdd1Ym3acSY=!stt*!Tmvdw*7QC9B$vXFyQ9(l%tx6`)Jn<5XD3g*cl2<0^PQW6 z2ZPb0Q8t-P)>#jy;r@xx?nb~F-;OQ;0KoI7lxlE)xcT$VwXaeW_qFk&U*RfrQ!YI;J1Ux?ne<(S~1w)AKc%Mh&&iw=w2A^ z4+n$&h!{NBkHZt;ZwG%TAAZgzPF;!mtQ=4P0|4-hck8NZri!Sl=~KHUB5uBObLH|% zL`y=VvM2Weh@^TnWsV6%Ix1x?Ht;m07oH==WiJ6Efr{odQ zkdtB6&GW>A#H?Ms=B1&mbvKyQ4ZQb6EldD6wV)UqvCiecPKNyZC zTOXA&*Z*L+{@Q=HM~^b1p46q8x&E!!M~}v(^|&gHZ0a}v<<0gN&W#W1C$>#$l`^T8 zXG&@1ct4h2onKmwjA*x`f4hz-r4^^;v2(_;ru4qLa`rFt6YVYZ zvEDq{!uRlZHaI-(=gEoYsLW;75lxAviZY6s@#B&^AC(gAkLFRA%yzp})#uCT!%_MC zDH{=2rPPncRaNRbvx&!Zq_fVsxl%vMjEE*mHQf|y@^?=fN1UFQ&p&-(c7CzxRs;nw z005tX0(cwdBgx?z4Gur%8O(gr>ob|-efmmQ|9`U^6~MER4r&LJkOc%9@W=4K0|5UF Va-k`@on-(3002ovPDHLkV1nIr&1V1r literal 5651 zcmeHHeNYo;8jtq+agNpEi~{N%X*fJm4f%kiAqV6v3so^7fis8-4ao*VlHHgO2#DZZ zrvwVfwZ(8?g((&-Rf2%PkRaGbr8L3V27?*_IUA57As8w05x5N^)86#1bN%CHZib!N z-FNr>y}##qe$Pk#zR0&$l=v2c#&} zx~r~x)yeJawxCeI8RN&s$>JD$X&hMO$L7LGpr1k{M$jl!5M3c=a|ECaodhQHp9Y_-;$>P$x+D`K7+%2^?-#rnlmT=3yo{fPBA|eu zK#`K+vSsXF1amnw9xM^Dk%0Lkb~1<;L&+HQvW&D)SO`lH!-#kOi(W7owB3+Y#)dfH zZXg(g#O%lCb7?$60LbMgQE?=H9uG%J3LxN;I3ym9$K_Hf*CH%QFmwkijKECe)=zVIe5gYlhvx&RE6AV}1DatzEZXzJKat_t<(qMb~pt7r$4B zN%^eqZ^liUefxOcLu^<_*-{VfcYmo+*wx&|l%zfAp2^6QsrR&G<~k#tBd;vZ%azB9 z0{@>1%nv)QZ_^Rq>9^-+`s(JIoSR~L2CBMpx(97PyiH$i*FNp=aw7Y4gCMVKLv46C zu-)wdN$W5&6s zk`&TB0(CvgJ#Sv`Hhj}^Ei1+3{P4~s>zhP#US`71itz`79v1wmpuH1=Q2xDRfrtCs zv=wJZs00hoRTf9y_~a< zeLyujI$BUrz?i>~YVS`0@|4PAbDRb1@viPT1`PhID9i z^gm+8l}cqs$mz&)?UkKJsHMhtho>*?IM=7vK5Q92G0-zRFt%m&{KNT~GhQgvak_@- z-5aNJ^jkMijCtOj3H+`C-q$%ixj=FYKlW^!z*4)D&ynVmR1RTAmh+Wum_}XAv**Ra3mDEk9SRQs73fsrc z)*~-JdGh)Y9~+HHYRm6?%`wrdX~}a^FPVoj=1V@+59*Zs@*CqcO>3*Cl3g*Zot@Gi zzTDb+XDm&r8?=dAE^Hv!w=G&BGiuZ19@-$BzLT6qg1Gu%*0hj7-PwAW!9#d1!o5ebDP7rUlFT~&e zM-1u(l>PI<4P;5#C_6#D5S=?JnX3+ihOlSXdm@~-=qgD1`-=L&N&^lY*#lg!^XX9q zt_|%yY0L{D8drJJy5QdPwpgVD+a*+S-lbN{jQqVKE-Q0O=7#>Z`Fww~Nb7+^B?=$rz>kk?moC*Nf7rf#R z3(S&oiF7h{K`i{BsYg<-VlTv24(B~oVJpf3L+7Rg&6eznD3i%jT(K=U(lnW!Bb7R+ z*&$87o&5Ix#B9I*fq`V82Aq-DClm(5_${OV)#*X*J5Tv@Kbqj@Iq|$^D|VYIJ~f~D zSf4o^c`PP%j52oWi|7b|t7qz4W-B{>m#Ad`%{~rOLGcYnDi%+vLx!^;N?8z5)1+cj zj6+@cY+$PmN_4(;d?5@e#Kx|8??x|?%4KkOSR|l+>z%*;6F>Dr$p8QV diff --git a/assets/jp/tactical/OCR_SKILL_EXP.png b/assets/jp/tactical/OCR_SKILL_EXP.png index ce7062747679a377d30db71f4ea7acd4786a7172..950cdb7e73541265d41b580ac890e7b99873f0c3 100644 GIT binary patch delta 5367 zcmVKLZ*U+5Lu!Sk^o_Z5E4Meg@_7P6crJi zNL9pw)e1g*-agACFH+#L2yY0u@N$1RxOR%fe>`#Q*^C19^CUbg)1C0k3ZW0swH;E+i7i z;s1lWP$pLZAdvvzA`<5d0gzGv$SzdK6adH=0I*ZDWC{S3003-xd_p1ssto|_^hrJi z0NAOM+!p}YqJJEz2mp-%0GTL9BmzLY0AN*tQY-?%!T_MGKq4*#z^(y+S++7q0)V{* z0CtX8kPkp$0Dzf7EX)8PI067e9uv(2AWQ?GFw(!^sb6q~xJUs2z{{1*mrK$!6u6bp z8h7&W;Nl_T!fdfZVHYV7W(njXoR^y;6G-O+OwJ4d0Dl_!(ZT*WKal6<?_01!^k@7iDG<<O!X{f;To;xw^bEES6JSc$k$B2CA6xl)ltA<32E66t?3 z@gJ7`36pmX0IY^jz)rRYwaaY4e(nJRiw;=Qb^t(r^DT@T3y}a2XEZW-_W%Hszxj_q zD**t_m!#tW0KDiJT&R>6OvVTR07RgHDzHHZ41d8CtiTSO!5zH77Xo1hL_iEAz&sE_ z2IPPo3ZWR5K^auQI@koYumc*P5t`u;w81er4d>tzT!HIw7Y1M$p28Tsh6w~g$Osc* zAv%Z=Vvg7%&IlKojszlMNHmgwq#)^t6j36@$a16tsX}UzT}UJHEpik&ja)$bklV;0 zGJlHvio8cLl!3BQ1JnX_K)I+N8j8lCbJ27(4_$zkqHEC_v>rWxwxXxeOXziU0DX#% zV}Q{y4rYwmVO)%dMPP|o8YagUW93*iR*yAf9auMZ6&t{wVebee0*inX>kNG+sOq(0IRX`DyT~9-sA|ffUF>wk++Z!kWZ5P z$;0Hg6gtI-;!FvmBvPc55=u2?Kjj3apE5$3psG>Lsh-pbs)#zDT1jo7c2F-F4Q#^mhymh7E(qNMa}% zYZ-ePrx>>xFPTiH1=E+A$W$=bG8>s^m=Bn5Rah$aDtr}@$`X}2l~$F0mFKEdRdZE8 z)p@E5RI61Ft6o-prbbn>P~)iy)PEMM)u|m-yQwy=&Qf<$k5JE1U!%TX{et>q4YG!X zMxcgBqf}$J#u<$v7REAV@mNCEa#jQDENhreVq3EL>`ZnA`x|yIdrVV9bE;;nW|3x{ z=5fsd4#u(I@HyF>O3oq94bFQl11&!-vDRv>X03j$H`;pIzS?5#a_tuF>wntsb#R?P zoh+U8I&C`lbqTsQx>34?y4!Wn>ORwB>v`!3^~&`Q>D|#s^=g_pF#!K2~{F^;XxcN!DEJEbDF7S8PxlSDOr*I-AS3sI8l= z#CDr)-xT5$k15hA^;2%zG3@;83hbKf2JJcaVfH2VZT8O{%p4LO)_*&6JA86v({H5aB!kjoO6c9$1ZZKsN-Zl8L~mE{`ly3)1N^`o1+ zo7}D0ZPeY&J;i;i`%NyJ8_8Y6J?}yE@b_5aam?eLr<tB-J_4V5pNGDtz9Qc}z9W9tewls;{GR(e`pf-~ z_`l(K@)q$<1z-We0p$U`ff|9c18V~x1epY-2Q>wa1-k|>3_cY?3<(WcA99m#z!&lx z`C~KOXDpi070L*m6~<9TW0|n}ttBzM_qyQL(qUN<5P0omQ3hINdvaL;7fjPeygd zGYL;pD|wL_lDQ-EO;$wK-mK5raoH_7l$?~Dqf!lNmb5F^Ft;eTPi8AClMUo~=55Lw zlZVRpqzUQ>u#*~S--DJy=p<#(1!30tsC);y-I zHSJr>wyfLop*ExTdYyk=%U1oZtGB+{Cfe4&-FJKQ4uc&PJKpb5^_C@dOYJYTZY}~KEzp@E!QZ|hqNIG!kn}BcH zo9&u+wQyQ04#Gj@!6)CQe0$?i=%LQT+{4Y^nSZzS2IeD{>VLHUv1Pz*;P_y`V9&!@5AO~Mhku^_l>gI*;nGLUN7W-nBaM%pA0HbH8olyl z&XeJ%vZoWz%6?Y=dFykl=imL}`%BMQ{Mhgd`HRoLu6e2Ra__6DuR6yg#~-}Tc|Gx_ z{H@O0eebyMy5GmWADJlpK>kqk(fVV@r_fLLKIeS?{4e)}^ZO;zpECde03c&XQh!YV z0D2_=0Dyx40Qvs_0D$QL0Cg|`0P0`>06Lfe02gnPU&TfM02D(>L_t(|+U(s?Xk6KO z2kg<2$#s4TRbr;w+#PbE+3rZ3I* zp~Vz-Q3?t6LY7sa0r|m23OGmw2P@CQ1}0#`2-YwI7TgbXANnvOOZG}hH(P?&`};j< z{yKB#>gqC_k8|!h5wnpF#sYu9GvaeD0RX@=rT5j9)8ahwbNR!LT%Mgja^_k8FYMgf zbSuL1r{xj=0DMN|AFB+`$Y>&(I-)A2WMpKWnb|~{^gv4~rHY72eq5rL5~V6LPn=^O zPLEbf6*DCcGn`x$l~Sshi8J!z_5gncFaQ9b5=~~- z)1t0a(>iw&wxYDEXqCy!Y^H_cam{(uF)UF{US~w)=(yRFZ+ZO2QmWD_r&hpoo%-Ah z(f?%~hb6P_^s;j?Vs?7)!JQo5jmVfkkw-*-lE;%}?Locv>eb!5yTga$Xd;{Fbk22O zxUlof?fU4fvd)uX*7bivZ=rXwJ2yKwX|TPsy?eKRR_^uz1uy^rpC-MF7nT-#n?K(g z42O@)+NIuwZm)O!->#ST{G`qDON&p`su^3iwjyHrrRAIN-W+{6iZT~XmR7a?+O_T5 zJJoDiywp3Ygpa$BnR)%Kn|a!ha^|SB7?BZ&)7RaXOJolElqfyw|^%nG3yz z<(HQG@At>!)AQQh1D_3l;t~J=JP(?>^Tl&l|LW@6*RSTmIGUV>ozC)$OVeq_P2Kt8 zxht2iL=$;zoSA>a`-6qvg==419Uo*i8BKlVFPE2k3;hr7J#HEiS6;c&d7+aBM@e%^ z<(N%ID?48)gMLO+CP|r%;RiXm9sOG|=w~S<4xh|#ALS<%VulZf)P|-z%lmXXk&wXM_=80Dxyu{vprmwj!G7 zb-Rm;OM83w%Iq{OrPNKfPxSt-zxCs2j(dXHL}uK$dE@oJd;R7+n}fly{ioIHE2|st z+{|(A_6PSq7(_%h6IU)@+56Sr#!qfco~Mmg6>&T}dO97tspl_7eGsDu8BJs>Bch7P zCL&5ii4%Vh{T}Dd6Zzv>y4{{zy0q}4fBjK5QD!2u?q0kwdNjKC+d(#UiHMn!P2KH2 z4x`LWk5kw6v>tx)z-Q&abI%Ac0KoI3&e7&Cw${IOEt-txj7Ck24@TKKDo3MC7J}No zy*(HV*1x%yIlg*%C3C#_v-e7SuC%7jhNDq5F`9pl2A4Q2rBx#9Qk72UTxOjS8IhUY z#j^kYc>c@nx$_zEhmNowMrOUVxH!B&96Z>ctap`}%P%hWf8AgDO0V1LOjeW5gA?KT zb8Z7b0So}}DN@c(e$UA8ji20@|HAyrD=T?0$}#OZ5Xoz$wn`?u@=@SX3r=jI|Znv9b37t6gn+3Ci)7vjkc zoIaL}$d#9uw|2HC%X{TvmQpTUys&*|x7+P@Ug*SO#8csyF1UMuGrzH10sw&Lz_iM2 zmBIf0&7a;}zjk%&)>a;zQhc`C<&A&*ejb07!dpAryLbB0iYRmayZ83)?5)4H-tYIf zZf%#@x!?c6O})Ffn@x^K!!kRUP2IUz>JMXlzm8V>lkE4KS@$k3L}dT{ewlPyvtH;e zj6NICxRaKK_C&H?#j#l0R_y{Aw007UAsudCO-haI}KFIZNtYvdb0h~*gG#(w7oSD(&{1@i)AV&xJe;O-kRhzeVuK&kIY0XWRU+%nE2JdHP^@+9| zK8(z~a(Q{@S9|qny4rJQF2A_6_v^iJ9#8OoGPIx-@H@Y;Tmk@q=gjyZuD`YM_uqMa z>la(~M{2^%+<0pvqnZq>=Ho75)}4RzonCM8&3}J$^_A6yi`|pkDV=39N4l<~l#)%B zcFvzKyYG(caYQqDA~?=`8u@J5WT(^V{8?w?r#G?{B_a;9Jv-Mq-?{P5jU107BAUpo z%WQc%R0abIU;u#U*vUGzlxp|R?%v)0`Zw3NZf`x^w25(MnVpW%mWXIYHkp4-tpD}e z-rc>8AK&PHxx4<&weNoK``OCh{}}LzBX=&9GFvTNZg(z4r&s15mGS-T?|kgXfb(Fq z{OZcR{=LzM<1!ikZDQ$CuRYsdd1Ym3acSY=!stt*!Tmvdw*7QC9B$vXFyQ9(l%tx6`)Jn<5XD3g*cl2<0^PQW6 z2ZPb0Q8t-P)>#jy;r@xx?nb~F-;OQ;0KoI7lxlE)xcT$VwXaeW_qFk&U*RfrQ!YI;J1Ux?ne<(S~1w)AKc%Mh&&iw=w2A^ z4+n$&h!{NBkHZt;ZwG%TAAZgzPF;!mtQ=4P0|4-hck8NZri!Sl=~KHUB5uBObLH|% zL`y=VvM2Weh@^TnWsV6%Ix1x?Ht;m07oH==WiJ6Efr{odQ zkdtB6&GW>A#H?Ms=B1&mbvKyQ4ZQb6EldD6wV)UqvCiecPKNyZC zTOXA&*Z*L+{@Q=HM~^b1p46q8x&E!!M~}v(^|&gHZ0a}v<<0gN&W#W1C$>#$l`^T8 zXG&@1ct4h2onKmwjA*x`f4hz-r4^^;v2(_;ru4qLa`rFt6YVYZ zvEDq{!uRlZHaI-(=gEoYsLW;75lxAviZY6s@#B&^AC(gAkLFRA%yzp})#uCT!%_MC zDH{=2rPPncRaNRbvx&!Zq_fVsxl%vMjEE*mHQf|y@^?=fN1UFQ&p&-(c7CzxRs;nw z005tX0(cwdBgx?z4Gur%8O(gr>ob|-efmmQ|9`U^6~MER4r&LJkOc%9@W=4K0|5UF Va-k`@on-(3002ovPDHLkV1nIr&1V1r literal 5651 zcmeHHeNYo;8jtq+agNpEi~{N%X*fJm4f%kiAqV6v3so^7fis8-4ao*VlHHgO2#DZZ zrvwVfwZ(8?g((&-Rf2%PkRaGbr8L3V27?*_IUA57As8w05x5N^)86#1bN%CHZib!N z-FNr>y}##qe$Pk#zR0&$l=v2c#&} zx~r~x)yeJawxCeI8RN&s$>JD$X&hMO$L7LGpr1k{M$jl!5M3c=a|ECaodhQHp9Y_-;$>P$x+D`K7+%2^?-#rnlmT=3yo{fPBA|eu zK#`K+vSsXF1amnw9xM^Dk%0Lkb~1<;L&+HQvW&D)SO`lH!-#kOi(W7owB3+Y#)dfH zZXg(g#O%lCb7?$60LbMgQE?=H9uG%J3LxN;I3ym9$K_Hf*CH%QFmwkijKECe)=zVIe5gYlhvx&RE6AV}1DatzEZXzJKat_t<(qMb~pt7r$4B zN%^eqZ^liUefxOcLu^<_*-{VfcYmo+*wx&|l%zfAp2^6QsrR&G<~k#tBd;vZ%azB9 z0{@>1%nv)QZ_^Rq>9^-+`s(JIoSR~L2CBMpx(97PyiH$i*FNp=aw7Y4gCMVKLv46C zu-)wdN$W5&6s zk`&TB0(CvgJ#Sv`Hhj}^Ei1+3{P4~s>zhP#US`71itz`79v1wmpuH1=Q2xDRfrtCs zv=wJZs00hoRTf9y_~a< zeLyujI$BUrz?i>~YVS`0@|4PAbDRb1@viPT1`PhID9i z^gm+8l}cqs$mz&)?UkKJsHMhtho>*?IM=7vK5Q92G0-zRFt%m&{KNT~GhQgvak_@- z-5aNJ^jkMijCtOj3H+`C-q$%ixj=FYKlW^!z*4)D&ynVmR1RTAmh+Wum_}XAv**Ra3mDEk9SRQs73fsrc z)*~-JdGh)Y9~+HHYRm6?%`wrdX~}a^FPVoj=1V@+59*Zs@*CqcO>3*Cl3g*Zot@Gi zzTDb+XDm&r8?=dAE^Hv!w=G&BGiuZ19@-$BzLT6qg1Gu%*0hj7-PwAW!9#d1!o5ebDP7rUlFT~&e zM-1u(l>PI<4P;5#C_6#D5S=?JnX3+ihOlSXdm@~-=qgD1`-=L&N&^lY*#lg!^XX9q zt_|%yY0L{D8drJJy5QdPwpgVD+a*+S-lbN{jQqVKE-Q0O=7#>Z`Fww~Nb7+^B?=$rz>kk?moC*Nf7rf#R z3(S&oiF7h{K`i{BsYg<-VlTv24(B~oVJpf3L+7Rg&6eznD3i%jT(K=U(lnW!Bb7R+ z*&$87o&5Ix#B9I*fq`V82Aq-DClm(5_${OV)#*X*J5Tv@Kbqj@Iq|$^D|VYIJ~f~D zSf4o^c`PP%j52oWi|7b|t7qz4W-B{>m#Ad`%{~rOLGcYnDi%+vLx!^;N?8z5)1+cj zj6+@cY+$PmN_4(;d?5@e#Kx|8??x|?%4KkOSR|l+>z%*;6F>Dr$p8QV diff --git a/assets/tw/tactical/OCR_SKILL_EXP.png b/assets/tw/tactical/OCR_SKILL_EXP.png index ce7062747679a377d30db71f4ea7acd4786a7172..950cdb7e73541265d41b580ac890e7b99873f0c3 100644 GIT binary patch delta 5367 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 Va-k`@on-(3002ovPDHLkV1nIr&1V1r literal 5651 zcmeHHeNYo;8jtq+agNpEi~{N%X*fJm4f%kiAqV6v3so^7fis8-4ao*VlHHgO2#DZZ zrvwVfwZ(8?g((&-Rf2%PkRaGbr8L3V27?*_IUA57As8w05x5N^)86#1bN%CHZib!N z-FNr>y}##qe$Pk#zR0&$l=v2c#&} zx~r~x)yeJawxCeI8RN&s$>JD$X&hMO$L7LGpr1k{M$jl!5M3c=a|ECaodhQHp9Y_-;$>P$x+D`K7+%2^?-#rnlmT=3yo{fPBA|eu zK#`K+vSsXF1amnw9xM^Dk%0Lkb~1<;L&+HQvW&D)SO`lH!-#kOi(W7owB3+Y#)dfH zZXg(g#O%lCb7?$60LbMgQE?=H9uG%J3LxN;I3ym9$K_Hf*CH%QFmwkijKECe)=zVIe5gYlhvx&RE6AV}1DatzEZXzJKat_t<(qMb~pt7r$4B zN%^eqZ^liUefxOcLu^<_*-{VfcYmo+*wx&|l%zfAp2^6QsrR&G<~k#tBd;vZ%azB9 z0{@>1%nv)QZ_^Rq>9^-+`s(JIoSR~L2CBMpx(97PyiH$i*FNp=aw7Y4gCMVKLv46C zu-)wdN$W5&6s zk`&TB0(CvgJ#Sv`Hhj}^Ei1+3{P4~s>zhP#US`71itz`79v1wmpuH1=Q2xDRfrtCs zv=wJZs00hoRTf9y_~a< zeLyujI$BUrz?i>~YVS`0@|4PAbDRb1@viPT1`PhID9i z^gm+8l}cqs$mz&)?UkKJsHMhtho>*?IM=7vK5Q92G0-zRFt%m&{KNT~GhQgvak_@- z-5aNJ^jkMijCtOj3H+`C-q$%ixj=FYKlW^!z*4)D&ynVmR1RTAmh+Wum_}XAv**Ra3mDEk9SRQs73fsrc z)*~-JdGh)Y9~+HHYRm6?%`wrdX~}a^FPVoj=1V@+59*Zs@*CqcO>3*Cl3g*Zot@Gi zzTDb+XDm&r8?=dAE^Hv!w=G&BGiuZ19@-$BzLT6qg1Gu%*0hj7-PwAW!9#d1!o5ebDP7rUlFT~&e zM-1u(l>PI<4P;5#C_6#D5S=?JnX3+ihOlSXdm@~-=qgD1`-=L&N&^lY*#lg!^XX9q zt_|%yY0L{D8drJJy5QdPwpgVD+a*+S-lbN{jQqVKE-Q0O=7#>Z`Fww~Nb7+^B?=$rz>kk?moC*Nf7rf#R z3(S&oiF7h{K`i{BsYg<-VlTv24(B~oVJpf3L+7Rg&6eznD3i%jT(K=U(lnW!Bb7R+ z*&$87o&5Ix#B9I*fq`V82Aq-DClm(5_${OV)#*X*J5Tv@Kbqj@Iq|$^D|VYIJ~f~D zSf4o^c`PP%j52oWi|7b|t7qz4W-B{>m#Ad`%{~rOLGcYnDi%+vLx!^;N?8z5)1+cj zj6+@cY+$PmN_4(;d?5@e#Kx|8??x|?%4KkOSR|l+>z%*;6F>Dr$p8QV diff --git a/module/tactical/assets.py b/module/tactical/assets.py index 674e8dbc2..71407e748 100644 --- a/module/tactical/assets.py +++ b/module/tactical/assets.py @@ -4,7 +4,7 @@ from module.base.template import Template # This file was automatically generated by dev_tools/button_extract.py. # Don't modify it manually. -OCR_SKILL_EXP = Button(area={'cn': (859, 189, 950, 207), 'en': (859, 189, 950, 207), 'jp': (859, 189, 950, 207), 'tw': (859, 189, 950, 207)}, color={'cn': (77, 90, 79), 'en': (77, 90, 79), 'jp': (77, 90, 79), 'tw': (77, 90, 79)}, button={'cn': (859, 189, 950, 207), 'en': (859, 189, 950, 207), 'jp': (859, 189, 950, 207), 'tw': (859, 189, 950, 207)}, file={'cn': './assets/cn/tactical/OCR_SKILL_EXP.png', 'en': './assets/en/tactical/OCR_SKILL_EXP.png', 'jp': './assets/jp/tactical/OCR_SKILL_EXP.png', 'tw': './assets/tw/tactical/OCR_SKILL_EXP.png'}) +OCR_SKILL_EXP = Button(area={'cn': (821, 191, 951, 209), 'en': (821, 191, 951, 209), 'jp': (821, 191, 951, 209), 'tw': (821, 191, 951, 209)}, color={'cn': (76, 85, 83), 'en': (76, 85, 83), 'jp': (76, 85, 83), 'tw': (76, 85, 83)}, button={'cn': (821, 191, 951, 209), 'en': (821, 191, 951, 209), 'jp': (821, 191, 951, 209), 'tw': (821, 191, 951, 209)}, file={'cn': './assets/cn/tactical/OCR_SKILL_EXP.png', 'en': './assets/en/tactical/OCR_SKILL_EXP.png', 'jp': './assets/jp/tactical/OCR_SKILL_EXP.png', 'tw': './assets/tw/tactical/OCR_SKILL_EXP.png'}) REWARD_2 = Button(area={'cn': (383, 404, 503, 444), 'en': (385, 407, 500, 437), 'jp': (383, 404, 503, 444), 'tw': (383, 404, 503, 444)}, color={'cn': (233, 165, 67), 'en': (236, 174, 86), 'jp': (228, 161, 61), 'tw': (233, 165, 67)}, button={'cn': (383, 404, 503, 444), 'en': (385, 407, 500, 437), 'jp': (383, 404, 503, 444), 'tw': (383, 404, 503, 444)}, file={'cn': './assets/cn/tactical/REWARD_2.png', 'en': './assets/en/tactical/REWARD_2.png', 'jp': './assets/jp/tactical/REWARD_2.png', 'tw': './assets/tw/tactical/REWARD_2.png'}) TACTICAL_CLASS_CANCEL = Button(area={'cn': (818, 591, 990, 647), 'en': (827, 596, 977, 641), 'jp': (817, 590, 991, 648), 'tw': (816, 589, 992, 649)}, color={'cn': (153, 154, 154), 'en': (159, 159, 161), 'jp': (157, 157, 158), 'tw': (154, 154, 156)}, button={'cn': (818, 591, 990, 647), 'en': (827, 596, 977, 641), 'jp': (817, 590, 991, 648), 'tw': (816, 589, 992, 649)}, file={'cn': './assets/cn/tactical/TACTICAL_CLASS_CANCEL.png', 'en': './assets/en/tactical/TACTICAL_CLASS_CANCEL.png', 'jp': './assets/jp/tactical/TACTICAL_CLASS_CANCEL.png', 'tw': './assets/tw/tactical/TACTICAL_CLASS_CANCEL.png'}) TACTICAL_CLASS_START = Button(area={'cn': (1024, 590, 1197, 648), 'en': (1040, 597, 1190, 642), 'jp': (1024, 590, 1197, 647), 'tw': (1022, 588, 1198, 648)}, color={'cn': (96, 139, 194), 'en': (85, 132, 190), 'jp': (92, 136, 190), 'tw': (98, 139, 191)}, button={'cn': (1024, 590, 1197, 648), 'en': (1040, 597, 1190, 642), 'jp': (1024, 590, 1197, 647), 'tw': (1022, 588, 1198, 648)}, file={'cn': './assets/cn/tactical/TACTICAL_CLASS_START.png', 'en': './assets/en/tactical/TACTICAL_CLASS_START.png', 'jp': './assets/jp/tactical/TACTICAL_CLASS_START.png', 'tw': './assets/tw/tactical/TACTICAL_CLASS_START.png'}) diff --git a/module/tactical/tactical_class.py b/module/tactical/tactical_class.py index a2cbe1714..6ff92b8a8 100644 --- a/module/tactical/tactical_class.py +++ b/module/tactical/tactical_class.py @@ -19,15 +19,26 @@ from module.ui.ui import UI, page_tactical, page_reward class SkillExp(DigitCounter): def pre_process(self, image): + # Image is like `NEXT:1900/5800`, 1900 is green and others are in white + # Convert to gray scale r, g, b = cv2.split(image) image = cv2.max(cv2.max(r, g), b) + try: + # Get the start pixel of letter `N` and shift to the end of `:` + starter = np.where(np.mean(image, axis=0) > 150)[0][0] + 42 + except IndexError: + logger.warning('Unable to strip SKILL_EXP, skip') + starter = 0 + # Crop `1900/5800` + image = image[:, starter:] + return 255 - image SKILL_EXP = SkillExp(buttons=OCR_SKILL_EXP) -BOOKS_GRID = ButtonGrid(origin=(239, 288), delta=(140, 120), button_shape=(98, 98), grid_shape=(6, 2)) +BOOKS_GRID = ButtonGrid(origin=(213, 292), delta=(147, 117), button_shape=(98, 98), grid_shape=(6, 2)) BOOK_FILTER = Filter( regex=re.compile( '(same)?'