From 34d75144ef57d8d47869c1130a659d0838791477 Mon Sep 17 00:00:00 2001 From: yuexin Date: Fri, 18 Dec 2020 19:39:39 +0800 Subject: [PATCH 1/2] =?UTF-8?q?=E4=BF=AE=E6=94=B9=E7=9B=AE=E6=A0=87?= =?UTF-8?q?=E5=A4=84=E7=90=86=EF=BC=88=E6=9C=AA=E5=AE=8C=EF=BC=89?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- src/rooms/logic/Handler/BattleHandler.ts | 26 ++++++++++++++++++++++++ src/rooms/logic/skill/Skill.ts | 3 ++- src/rooms/logic/skill/SkillConst.ts | 11 ++++++++++ 3 files changed, 39 insertions(+), 1 deletion(-) diff --git a/src/rooms/logic/Handler/BattleHandler.ts b/src/rooms/logic/Handler/BattleHandler.ts index 33d7a82..2b480bc 100644 --- a/src/rooms/logic/Handler/BattleHandler.ts +++ b/src/rooms/logic/Handler/BattleHandler.ts @@ -11,6 +11,7 @@ import { Skill } from "../skill/Skill"; import { PetHandler } from "./PetHandler"; import { SkillInfoMsg } from "message/SkillInfo"; import { PetInfo } from "message/PetInfo"; +import arrUtil from "utils/array.util"; export class BattleHandler { @@ -203,6 +204,31 @@ export class BattleHandler { lst.push(obj); } } + break; + case GameCampType.RANDOM_ENEMY: + { + let tmp: PlayerHandler[] = []; + for(let [key, obj] of this._players){ + if(obj != src && obj != src._friend && obj.isAlive()){ + tmp.push(obj); + } + } + lst.push(arrUtil.randomOne(tmp)); + } + break; + case GameCampType.RANDOM_US: + { + let tmp: PlayerHandler[] = []; + if(src){ + src.isAlive() && tmp.push(src); + let obj = this.getFriend(src); + obj && obj.isAlive() && tmp.push(obj); + } + (tmp.length > 0) && lst.push(arrUtil.randomOne(tmp)); + } + break; + case GameCampType.FACE_ENEMY: + break; default: break; diff --git a/src/rooms/logic/skill/Skill.ts b/src/rooms/logic/skill/Skill.ts index d969417..b9cb967 100644 --- a/src/rooms/logic/skill/Skill.ts +++ b/src/rooms/logic/skill/Skill.ts @@ -335,7 +335,8 @@ export class Skill { let ncount = 1 + exparam.edd_cnt; switch(efftype){ case SkillEffectType.SUMMON_NPC: - let n = tgt.dst.summonPet(this._data.quoteunitid, ncount, exparam); + let obj = tgt.srcpet? tgt.srcpet: tgt.srcplayer; + let n = obj.summonPet(this._data.quoteunitid, ncount, exparam); if(n >= 0){ tgt.success(efftype, n); } diff --git a/src/rooms/logic/skill/SkillConst.ts b/src/rooms/logic/skill/SkillConst.ts index 763d476..7b51ca8 100644 --- a/src/rooms/logic/skill/SkillConst.ts +++ b/src/rooms/logic/skill/SkillConst.ts @@ -89,6 +89,15 @@ export const enum SkillType{ }; // 技能作用范围(对单位而言) +/** + * 1.自己 + * 2.单体:即(指定单体)可以由玩家指定一个目标 + * 3.(自己外)单体:作用于一个目标,但是不包括技能的使用者 + * 4.全体:作用于全体目标 + * 5.(自己外)全体:作用于全体目标,但是不包括技能的使用者 + * 6.随机单体:在可以选择的目标范围内,随机一个目标 + * 7.(自己外)随机单体:自己除外 + */ export const enum SkillRangeUnitType{ NONE = 0, SELF = 1, @@ -96,6 +105,8 @@ export const enum SkillRangeUnitType{ OTHER = 3, ALL = 4, ALL_EXSELF = 5, + RANDOM_ONE = 6, + RANDOM_ONE_EXSELF = 7, }; // 技能效果类型 From d1071b08ba46d325321780a08fb15f6c47626399 Mon Sep 17 00:00:00 2001 From: yuexin Date: Fri, 18 Dec 2020 20:16:35 +0800 Subject: [PATCH 2/2] =?UTF-8?q?=E6=8A=80=E8=83=BD=E6=9F=A5=E6=89=BE?= =?UTF-8?q?=E7=9B=AE=E6=A0=87=E5=A4=84=E7=90=86=E5=AE=8C=E6=AF=95?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- doc/todolist.xmind | Bin 43705 -> 58017 bytes src/rooms/logic/Handler/BattleHandler.ts | 93 +++++++++++++++++++---- src/rooms/logic/Handler/PlayerHandler.ts | 39 +++++++++- 3 files changed, 117 insertions(+), 15 deletions(-) diff --git a/doc/todolist.xmind b/doc/todolist.xmind index d22f2ea0c5e9f87c654e75b4d955869e43e47327..1458837cac34f6aca30afebc7ec4e766aec7001f 100644 GIT binary patch literal 58017 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 delta 34520 zcmb@uc{G(>_&#yKG)~^>=GN!RP+*FP=0uZhz3SN zLIV31R&YU^fLuuMju`(F2{A1RL4n)h_5|q5vUB~&j|4E-2k_^A-yS|lz)VC&wYeP5 zGAdGZi|_(L_^JRgfk^oMGw)9SCLDgA+YA4<@OJ9+;ig1Br+-g4dp`U&&t!PsEqJ&o z@2}Hqp6AGl6t0gD;4c;_lgXaHOuOXYOi2ZUk%2$|`=v!Wm#ioVzlDV_ib_NDFc_gf z2_XyyVe=bqL&E|accYrsM_UvuFxXjNxRh(Q&C1Ct=InIaLMdPWSO3g$Fmy4! zEn(=iAQMw`^}P1&so$%!awo-H^d*wbKSR(q(|s)bv|p69mA~4dj^eW|{0wiErR@iS z2|Wa}j=qGzY9eAQi>7r7M-jNocO>?+(_cWOZ@oXPPfUs6wj>2_BJASkcffmc?#03! z*f^ShT%BA@qbzF@MIW{iwd zuDI~X^5#_r*e`2exMwys+pW=(bExQNiMPH>caX2!E>%T28d4%6=zs|l$ib%sj1?(A zAX0ZjqO2<}fS1rS!k=(Brt#Bk5F6i?B2)b`CykEA4U>SZD~?C)DRMq6Gub ziIun;tE}$}!C{`lz{JlL8%ZrHy~Q$;gnZ#GWWbKU-r*;6Y_-UUfop9P)ABFUj3d|P zeph^KS8`z#6I#!huf#ipDYY%(uerUu^ZKiEajVJBlKz#G*ctY`YIhgp?wZ0CiIbs+ z!8%Ph`p=(JjpMKFyYr{Io!2WMQD}Pf6>SN$4$+RKy0=t}b@%~)>v@AD@J=Pid7F3* zGb36?FXnbj9*u-CiV?osoMkKM;R@!$%`dFhzJ6A)6ESJ-Y89h|1THAW037hygO{=C z&tWHjs)W@tx_DO@SQj5#CvE}~YM^JPV zhGnRTtYIF@g$PYB!GF zL$2RD@`?+bP}h#V-1+W~mQgMb-6m5*N|T>Lzc=}{x-G1k`@O<;x?kU9*ea$w!hwL`M7Nmd*#!?WYNh>EU9gZ zg=xX=?(gyn^df~q3?tTgBLnx zdnz=iGKbJ%trcSed$!PMw;(=RIJ2V@^mNO=&?#b^qfYLW>T_5Ij*iYT4DbGE;$@Sh zDT~j}T``q)=L`0o#A$STTU|#xe1Y0N%P%pGu`AtKJzO-fNUr+uPK>`^Sgzi(TNBNl zM$+L&Sx1agH~g{Jsu7EX_Aa@Fc#nxB?WjeZ@mh)=iuW0JfL1GUGAFfSl#(T*U5WE$ zVqo)2#Y$EA+Q;rL81Mzm??v|K=;SEp_@%wyDK42NUqmWgw+oTNvz3=l0A`Qc%Y7~`(J-eCJVNp4e+ z*5JqToEEDDE&cqaYhqjjq8~n3VJKiy-o9{Cx_f0JS+@s!qr&Fi_wv>j6pafNJO55S zIBEdqm~=gdn&WfpXCyuFCTKF3S0_gO2(obz*BbT~uC2Xkre;&|HMQMphiH#3!93N#_WAL0t#O`(){#jI7Z52P zcE1?qee;rz0^#==gRBCvtU=T>;XbB^!h;>J%6{`Q(bzSvKDw^%4`!|My`c5+<#cb_ zgL^0(cGac7*nc1K%&n0$oP?T9z|r_mgCg;JIX-9w2BSQ6(xeBj+bvy)c*)yE-q3F4 zfrkh4wyiub%FHO#Rot;OmmZP1yldRH;fSu-9@?tc`feXLBfD^7H^Y7M4oiB^yV=U@`$nf@}B9P8xpayfw}D=gh!w zV@3fRaRJKLH2o5m+vTH)4T`yOh@y9@On&S8eQ(p0~(lT3OgFcts)nD(*&jVxpN4yHfC`} z>&*L+1)Lj)O zL@@7U-woZ4a4s0^hiokD@mpkKH3)XWynab0&e3|@Fc|5-mubP}Rusev>Uf7Xw5z?m?Qs5rjarqQ;U=L#fe7TU{;js3S18A4t1@$G(E_2Dh%{ zh>@@95x}H+@N)tA?c<+G8MBkK51R;KA3%gk@iuL)+3xFaiRoF=J$F(vh`jof?#tE% z{`XtC0Ku5!m-Bd?jx31}6*;UjmT5h_?!=yjle-x`Y_TqP$HC2h5n6WSS~(AcCEW+F zPO_;!>~uasEVStKE@>_EExoRiM7$Bqnk{lP?=dQm#sNwfP6(qQy6aE6HV z*59?(hoj9aOl9J{W8jSjltO5G@R2{R5&dr3D5`w&*5PQtJnx#|Gpm-x3gCiZrACyMPh} zhAF^5SDx%e2&2>icge%>7uNu6@FYsWUsS?hJcqw1fWP?s^x{4I#S6ke&cU$c08daG zxlTM-nf*Mk4TC)eXhiD6ue$^=$oCRJHP?O&j4mY($7EU%z&wLN>Um)I(%GR>5^Fs{4c ztFQ|UpETaCOL#c$*W`?VdGg?=ai;H|hi*Uh02jedgUNf1 zc1=XTxpVqCOyF};us#cWQ1sRZ{IU(U)e#pUf^ONytr0JLey8$UPOJjFy@G`cR( zQ3YGd+}%wO6wIrng?VmE$4W6iuTpX_i6h1ozAaDwY8S8<=T2#AVv=_~hbBG?Kg}RY z1SJLA71L+EkZosJ(-7>uZ^hI=!DnAlgS zeSe>VdPvduGQrTuPuIEnSI6Kp0f>I{DT5wSi4u)X{#-nEp`Pd|ax|WIsrGbzt60&j z#+g{sqld}wrQ`3Y?DfUU)_Ed|F*R#JKSsWse&$(Q!h%F{gY%aWDHDoaV%AUx_o$TH zGdD|^6fYHm5`G_@e(REseshKx*|1H$@UK3F1Ag?*%&Ez5_`-dO?I~4P>(J*aufg7b znV8Ed@Xp7iQBi4Xl`H3 z1h!$F29we?gH9TLx^ipyT(bFf@n3i1mW!2|lG!-w6{+!8{~_s~yRS~brs?kfD>_;e z@5o>*%8JX4ek(PoCRWPgGhdZX1E|y#$RGT=9Zi`uI~Q+^J-Kv8Zp-3~Ou!tdG193J zzrH@X4`1^9=eHWycOPfSpboG?zLebncB=pg=n?ctvf9<;;VV8*)41ghuvhS#n6(5z zA_MoA0gk^=mBN@+8NAPD$i_zQdjQtlozxtVnO-Z=1Hr+@vK zGSQ7!iGS?L>FyQP8ev%R!tAk1p7~q;%p&oI8S=2CeU)ry6$d*Q66qO8vTc z?ldJl#;^H#u;%=(w_g78x_3v;!O1D&;r)XyS_J*~u>n)!!RXQB7z(_vg-T;dv7UVb zDkuth3_RMsLL@2nI^*c&pbO5TE@n{;aiP{Ao$1{Rz{f24t2l_rkZssX_RV^~K0)IA zh~IrT1X1Tt>YyBBa|$d=%pd_Q3BchC(cx@7Kk9qOpZ<&sT^@gu=RJW7>IJL8Aju+6 zI5q?GA|uXiI4OET{Eah~D{M zs6>AFFcx}==<}CFebRUCLREgnhk;_SD>zdwT$Ll)v*_>fQ`qq?QLy|z83z{HW0FBp zoyAvNxabT_<_+?V^Xdcm9}#A=#Mm2^MSsW@e>Q#L7hAZZZ#}EV`ry<9MDhFbCth9rUBnLhcq@1@UjXG<6s@GN#W-e>`M!8+8EZy6Z0U1tdbpf5fmh!LaA_UaA; zHPi}0q~G=-)b<)2fO%2^cdudW&NJ|szl?8Br~Mv-wOI zzzZ2rI+pxh)1m&jXcrgZv!NPn^6}NTv+za+m@pxyE&JmQNVmhnAb=lRX1;Ky_*_u| z0qogTbi!zK95v=IGSMV9_4zM;cX=Y;IGO}IeIS+~m=peA@$dBd@_Uc1_C5fJdV2}9 z-*_k*s{#Q+4$+{9yJ3nVRH_Cy%7p2Wy5)sTsk$p7>+2Rzone9q*CM8p6K7El^5qE1C|7KaK~@($|9lVUtw$JYbI4nrkP(>0!RyM#+BmI5{m3B(A=<!GNDyqY!jPaR~wWdO&4fPDH1mLMv;vq5;fdtKtr*7-ggcRBjCGgzxR=vde6 zM7Epm%!fB|zX@P%U|3=LMLQA%`Vqg_9FtzRaDwT+q0}uGxe9qn`-g~0~;4p||%IiFYYjz`W|qYAy65`X_qrJ#=J$o}}*<)YNv z#i)yr)@wj6UIW`ydgaqE;}<$S>!w`c!G{2bHA+=Q3O#_nC8*vGY z^gp?jA5bzyKPqc_M}7aZFB^LE0{_WqGrgc{rv^won6h;>d?Y5l4?@?}hQ|4qip^2% zZ=*S-<55>PgKQ3$HjNyJ^`P4_8?0fSHH|Wy_5X8OnUqpQie8xgv7M z2B~dvLuv(U4`C13*Ec{piBGuHfk=W`nX36bsN}k|&%8e@N6^5zPp~>0zd}Ty@TvsS z@nrs}0qlW!(S_fuT&SX$J%jPX9STh@J}$|<@)56V^mSAahI}Z<`OH82;`GU&xTBNX z$Z?Sxs>6tpMiyvytUk-eUDnKlsxE}XPr6g6m}~6tbfI~G!@{k)Rc$;xCR~5b(IuVT z&Ji(@t=g7b;nzJXzPTnF*7bIMxT-;ByA0_-?3H#I00^!}BD`4unG*;$W~gfUE3y8)iURX{7G>@ckF{qmGmE zRWB%(Vm$@KBN-iyV$)jPQPr_h>yGs`lks17sm{{^1bW*G`KB4{@`#WkrwDtN?9Jd@ zKmR+KuGY@eZf7c3mCRiyAiwhVh5o3>vdrO9Ush0Tr5&6(s#ZQ5fFgi>#>YFu%Ltjv zl+%ERBe?{Esj)gFTywlsR(o+hC0FrM!>eXi&>up}T4yf*TNCHNRF`h>w(6t(XzmMip^Ss<2J^Xu9!y!N}QW#L5x-2^P|4Ndl z5?tV*LV#5<|04bOmKXnl>T7^28&3Gx8=h6<&WsNxUMy3o_dxa zk|5%5k>FPDvd3>i`x3A8XVzcJ2RW-uK!D91 zWJd36WF>A~@zEy0$s`jFGB*$eY3hQTAH8S?tsmaf- z%qwfDW;f&LF*Cuv_H+FG*GsSc_JwOR1+wdFy+wu*{R^95tS*2_o_2tiOOEqw4r?ha z#)>MCDrV3Dtw%caxS}`L1a?RIlYs@DK%JV#XG^O?zbpxlg|E|M`7~JIHIR>wR^vZZJ?u8R3Ehn@Klf&!Tx4s8R>%~Vsl)Y z-tXvR;E}49Ru=a6y7%#uIfznpqsc@A}FdF0L$7aDe(%bK~@;voTX zwDWW7Y6@iS=8~o-{2TcFeXz=*e*!)C^|0mtSGyJB*i%Svq>< z623UrSrYQP)`hj=6;x&7tW{+a@YT?5#J=SUA~4D|l|`y}a?20CU*bBxCUO_&w ziT34hS5glS+5B=Vco)Kw3JOyq3}5^QVXjet8c8LXxKw_^7tR^RyNP^OduMpmGL{mJ z+1d)pyJ2GDIKKb<=-V`A{8HnxHH*jpy&ujwjlV)G+hAXcxPw7ByxPlan#n( zap{KvrWRSGKY#L(I0);v@zKC#5U{;ZR!X|!S%XLlg>b1f6AJX})c_{)zKT%FxV6CSfv7s4 zA|{BvHcpy4jB9t6N2Dj_=J(sD6FYvg)r@-VA1d+VW9u<-w2v#!TL98Fzfo0rc5(Eg zI?fx~b9fZYYsc?h^Cf%XZp=a)iSAT7rD5!D`!onevDLSEk9j}lCd#e}(pO?!tTMR@ z$K5BiifjV5S@nxqWAGFeh(D~Hy7%J5CS|7GFiz5bLz3sk=$t}xeQWv>lK8h zSG4;%Ss|wD=$gH)JqnGaIMf81F!BM3`T^0;F;YP^@}p&8{6a9%y0LwYU#hl1`>RIM zkPE+O9~O8FzeP@%0f=QYok4pO1d&TujApn0Jhu*+5a(PQqs=?5T&dq7-#l5n{Ovi1 z&qZD-2NNhqf;2CWUd`PdAL-m6RsF#X8}~`C2Qw{bI-6|soeO3!5LOque4E<))F-`- zTD)_fbSLYn=3*Q%FB@YvKDJ`uGyJtvlCcj0;6sqt7J9%{Os#?RJ*dn(U1=q!f#unr zg4ivSOKIEc{{9S%63{HR6Uzas3!uv)2z@|?#SMyYIa>cVU}0o9K>L>dQG$y0iwd^d zf4YN+`iC|87p;G9C5af_i}S(*KZIE-KX9b72f9ANgJQQoVj{XFea}X2=l8#QpBj+(p4&;2+i;Jfq>H!E{XSr_;NWZ!B zu^zMJedxi3frHrTD%XFUVza%o5n?e`@df#;-SOAwgGh+GQ)0$OZi@u;mqFn-Or{aLfB&SscmvzP_pw>GMAe>j4djh$>D{B_^eUI3~Ks zY0D;%x&;~)V>baI0n+2yxn>23_MdwhcgEdAfh*<)8t?VRfT0WVLjzZCQ&`&rEr+!~ z4+aN7u?$A`0Ywmk&D)g9+#uwU?n-6ztv-Ao*}IZxtAE5Z3m^qAH+I0YUwTfxGkcBLVfthWNaa z)JB(e3$QIjexQ;7RKyhLZzTw`J?dn4_X~|J+eHpeTWP^tN6OX7k5?-sEE))5^MFdh zBer&re73h(g|&+0Ox$j?)6843jP;9`Y}~i@OI}PXg66nE?lNeO&mBuaYk5NW0+(&h z%J!dcYc>*qc1EPa0phd{R+)*4^E*SpaFR#?gH-A7sb?G-3ab1dKb`>n{~y|Jq4F!b8U z$=x1k9u#`sxx3faPX>7(o`%8;0QL;?F&z)0Dt^a1+AJ;taL%h;Ea?hO%%}PI@%u;6 zMvRZ~)olH!+-_;gv5*!n(pQ*O^Y{ABzP5f!tqB0UV+|522;w$3=ozpe>H}!Fp24~V zngkQ~*4FNJtlCj)J`feW3C)PGQo>-wc&OD@Q@fwmP>I9ZPA88n{#*t|nubdcrRV}z zx61q!;lV8Po9a^VjBhrN%z1?t-U~2gz?IL+#H=)Few0;JeV`@BM*q&uf05b$Fm{~wp9&abRQ}<8YeS3{f zg@%R2!T8T<%?aL|kX?KtjrAkz-vFq%_to7N4mK5#7h^_(Fa)q1JRt%V$9Y!0qYW=# zxlD~XwvXE@gTY9A!G3Nv5k;F;7BP!}+S=iH{gnyv=wU#B&;I;L$HL-mcQ>K(6MrMX z%sgjKV6eM@eWGJyDDNR5yV^*))NOdqIpGBsrFeVL2vu&qs_{m>{ok9M9q%@0kDa#( zdLIC=6Ex?8z!%J3GiSB{kBoGC!Tp8FkWDWj@U+Y(0;SK5w^-60?q^$Q5aeEC)|x;@ zNz^4Lk$+Aa#wC-htVe~g+KoR&?tp|SU!`AszJ8JZSp%t+7J|0P8{a1ah0~;P3%Vy0 z0JPIY04OzGHCM!X^hL--ii_f9SC>rhHx+SbwX~Ahfl9JWY(DSPG6#7RCKxLTNX%@* zdZg6t%8akdqM6Q0SpJy>!{l-Rp_beR4P{fL%@;y zGcwUiBymgSwgUkxk!?&=4xiI0M^_GL0_NBSQL~L}x_hi|K`{STBdku7dQ1jOq-t~O z^aZ<6??RIS@DaQ%^S|m0zx6I{^Jb*Zv=Qr6j=kB0>~xl9#Ljp?T$xvSlJSTTKjt|Z zdCF(fA?I^bqc6@_fOs2X0dY z+6tw)Og_~4zB_@=GwGnae;>Tm0PI4b#4s}mxF6#S2h0{S@Gq_X?CgLmTf-k_v4aUW zGT?TXe4wr;AY=!APonZY1EMZSatVjYG;-WawdG~&o1pa4ePFdi%Bs<`O@TG()%ITK z&T}fEo!B9^gH9F>zhTe$P*)#LC09GonA%*Gu>B@rOUQQ-0^k)PwTbpS)&oGy7-y6EGac(1cXnu3Mbtu}Y_Xek4+Tp6YV^!gerHG{)^bejEht0DHS5Zlp=s50QTpO-j&bO<2ecmt2QM(-nLe8F^c%G$u=g7!}Rzc z-Do3GvCc;6>~+OKi%a(7NZZBmbAhdBMJ zUfcA+7in9|lE&7yO>37*$57-mMkn--{Ce-mE0$y^q5Q(|S0d+71asfz@_lPT!x1Fa zoG0NbUC_o|N8_@{5MR&;;(B&z+P1!vK5yhH1Ju_e6Ptg-hT*0<=H6YFh-s>eKjqmv z*5w`Fg#sDYtu->0SC>480A!;W9kZNfFI2eu_oJd3NnJ)lomONdx~=YCTuQe;L%I>m zih)O2?vNfRXJs4EhUVJD$3JVU6SfgyzD^$f7D*pw2=qTi{9DoQ$qL! zirPV&T6TWxeJMit*29KWhn7UtNm}7-q!@dM$NEKrZLY_6emo)F_NGEuPNv4HUZ(~v z{rqx?4=D`+jqQNM)>S%|GYP#-gZL_HAklwNaq!zB&S;*YghpLfHumPwNsW~aFS42M z^+x(&CBM>i?xMm>^@rlZa7JDph__kW;$d%@a(2(gGs&PaQdYi!eYziAEk4a4)_}~Y zv+=|T6!6dfRl@X>i?G+zVy}mv@AwQH6fJvLb$ipn;5Mk#ttvuBtZ}ic?PCR*H zBM)<{{Brfhps6go1~v-g*Geh5h*_@lIPVBzcZrdYj_px-PlvD97eRH<=j+dEW%XS( z=GTAil-c)on>eACZUS{d4p1Ixu2_O@Gi46|pm;mFWP{=%{G;*dl+F>OJZff5Gc?U= z0%+$S0{%xmN!|h{GflJMs~MGER@Wg+1D^ZoLDjmV?Sg^$?swbDf zlie#GokmU!O7t<*2x-qtD4KJldq~6{Ph+%)nR8q=1_!Bq3<|_OIs}Y*-Oz;Og7#Cq z2k?SikZ(6YT>fmeCDdWH7&Io9x3t*i=H{@w2j$drN_y{kb_J%n{w*oY&L9XgiwnJ^ z#gusw5WD%rqlVnuvsPB7Zt&_oB$e5UcMiGLO36*0mC-ZG8IhB7$eK%$c?h&`UYj`( zgmuW$qyJnyL%xX~*!a}{uv0g7U|^6AQfdeTY64Js0pz7!yTOTXfC%XS_y#p-*R`35 z-@fBc6aep|w+Mcq)wT%x{uM5t6!l6uv`qEuGV)oeQ%+ybnA=m~drW&*9lhchN3W;d zcWt$rY@&e>=@pjiS?=4Rj z>+^A;A(~NItF4@NHNR@N=PqWD#h_XJwEOPXnSP7N;6=~gb86f?C7E0|dQ2T#t*k>F zsAN}U^09_CjBZDvCJ(%Pju>q8lm_Y~3 zgQlxtD^2$`w$;w(-dr4IbRrNK=5H*1Lti`pm9rEiNcvPOx=D|R??(il>4~#r%4E$!PPPoXrF!XRU#|n%+_fMqxX4=!ncbWD)^nq|d zDFUuf^5q`TK9Uqh-5cL+1Vx!bXxCche_R^*&)DsY4$%wxU8wJmGo}jZW^zur2ovk z*duS|zU-Z)vdn@g?#|jm6Pd>i>kHHhsA>ONk9}?BzJ$^oqf*%hFNi6!sRLvz?h>Cx4K^r)e&cQho&&dgOX7wj z2Fe0D#UKEMaSJtT=W{xS^;ti0;zFA+)mP9Y+|J5@>mT3v1JLDZCIw{rnlMSt7a4Y5R5V%9kdc@D*vo|bE}@V8;4_$a+Ulg2r@0B# zEer$T>YU6-PVv^X9u|ZcUG;|g3i(!4Q0&PMT0wDfsUiUN|0&4a|T&_W=L4QNm(`Q27#hk%;u zB_#R5@*4U{yh+tp-G1{m&7ohBsow1d+oTj@w$e6N7ATfRcZDnEEYG}lM_5_pytHCU z>o@~Qz8NDKW<((Jd9Y{K`|t+_Vqs{C!UJzB$sqYj?_D>Zv0~^bE0uy%x(o%C(rmx%xI9Kr-Iqz${#@pvUK3e?p))i3xH{M8Wl+n=LE z;quCN?Q3*I1DCJPVlBw;$UZl5WcPphs)^L1;_C3sQRKU-0zI!4#L@PH#;#?vyOZ8D z43;_i7>1NW^Bgy}aye@OW8EiND!q$w`AU}g`$U;b{yAmsk}PvQ#*sarP|u(Msk|p? z@^RGst-VpI?>D$FW8k=QD{4mzocH}hb&Rn3BE$IQsw$>Aehw_q7ASVv`(POAB>e9B z!}kI`WQI#On0~UM(p(Ma*3uZx^k<<4R|MshTy;>1S`+CEC^Jj z@kQ8_2Ezz0!=P5$YH7rk+13i$8E)jJbZF+P!zLmW&kb8)E*kc!?5P9)@f2Gp>#&iK0 z9_LC{v=m@tb>L7fkr)4aLhRtLrM7~qVJf}YxJ79Z%xa2>^IrXyJDD(>gXv2iN7dBC z$hfzowTutZeqZh7)o;=7mpB!yUT1^FuD4Q`Zdr{gI(jtOZumVh`k8HGAS&7Amf2@% zxA$gIP=tQjXO$OAYKkum+2mIrQf5%i+2w-zkbI0s269+)WY>SR7L(@WpxEm#0y?@J zae!9=ipiw_^2N|womOT}e_QJ+x)nLuH1RtZ_yeAPEme&`-X+bVL?i&YgvTp#KH&;? z6eTaX8!=ROcRT5AeAjURz#3SK%kPDD{ooP#zhow}K9|7vi&nK%(s|zS}0{21nMU;EEzPT{sq^)H1hB#2%OGx{x|H`>IN3GM0Ib7 zCcsqM5zt|bjYo)vk_;TsBt}_rr~nF*BU?Jw6Et688PuITk2?7nB5$!t`}Xs+4?7(8 z9t0$jI-5A^{8!guML`;dNezMX31lAm$N1*Pk=%s7pa;OwfB`i6QZ;t`kvNHT7aaC! zVMvZh`M97OgM%DwVDm|GX7Z4 zl8S;|fb)s_%INyHJ8Qv@kG{S$#49UfxcXjQ;yWkdm5m!~=?1J47iXQ^1io*2_Lx=h z1b=8K=dl8HtK`YEh4(9bzD_DKZlkPP0QpivIlxYUgBltc={~wM{g4XO-+*lJj~@ku zEC31}K8znCIf8k;3W4}IvNj(~`^&_ODB(I#=)>4J=syE~BI2Ys&0Afj_@$-%$MWlm zRF`N89xQxKIIZO2@o`rY8S(cf3iab}lu-c!iC)espuxcQ`?W&UFiJKc29~vY1LHK73LYH26DEH&|VB2Zz#~o2Fwc1gb zlmG&^@tWnEdNGA1Lc~B#AOdkuMEUUp>zvAzKl#El_<@x}@dC<6 zSic_Nny_ZP?Kp8V^LW|pbMUVua9g%5uy0|v@U!tlhV29GHS7w0{xY%h9zgHx2^1r+ zXKd({8nCcZKyL1NlM3+|G5{m7;(hP`-}flk#6E$lX1ZF_N^Wi2deKGit(i@-iHDyI zBahcOj(&$gX@_QgH?YuuAC}p`i*~=WmzEY&YqtQR#ozA=Z$YkA33RfZbW`*vSG*3K z^mg=lD463C2aap~op%q`Pa*V|!a7by&?|0=3;*4h{%3i5aZCt${NgDG{rz|~KKy=R zz^_q8gDnn%pxuXp@<@OC-=S9i(rxE3J%OxV-K)6#p?Ifl%xQ zm=eH7VBH#Sp$CfIB$rF}>{w>(1Rf3Wqj$>|^)kMKLs|zt#pmI`Qq1@%eBEvE%hakL zJ$7_5bf)1(tF=)_uD6!eW=o>gGQjZ-7!CqTd)PDo;So~%&Xi1nZ@VEd7Hpk5l%@7XhWU_Iq7d#zYuGGUArYeFb3zz8cjynXSIkgT90{ zsStRL2T4ttu+YE{BhB-`2xK2pmDN4<3SEr;P zb7eGHSseXo<`;^9D>4NMTC^lW=;m$&y)V2yCY!Boi4$xhbF*N$ewtb%oy#kNW~M8p zO1n(qSF%y+H=d7}OOD!_47-z8OeQ5)Rehg-Ft1&jurvD~ddbKFnlaob0i#?R?N)0dGfB+(Cc3Qol$-@QdCY zoH~L?59D^$;j+DVsMkl0N9+-V*UneWv7lpLKI(co9uC$rC!!gt^6ccNo{bQSetQf9 z&$U%*EYHZc=jQ4VN?7a{a?A>~z>&a9nK+^Bp=LeuQkdEcvqAdrC7X3<YVwzfv^)tdevpLZnuXU2H zykAOvcf>ve!~9Jsc}OU{u7b}eCrf4?{lnNwk8OMZ+(KNaP5!Ik%NA3{?%Ti4P(oLI zY~OZ$#s@7eQJnXn?C&S8C5xv zDIiVz`z7q?Z{Pow>H{U*X}*N;2~&)bk@=PJpSc7Wz0`ln(gx6v;5dL9kWm9U)IT}+ zx79y_3cQBspJeKp_wQj0YED!UZnrxn>I$%>^M4b)CqL)&GvrUWB|Z*+ z2B*e(A)DjJ^?WBcD|t?Q8}bx-ZA4+pK!9hEr0($dB*hQ=^{(uZk;C00n}{+`?q`vb z*B4(eC=Pdg)YpYs1tZ^>gAOPV70@Hsz;Sc{|0aIq)E;r2j7#b!DicQi6?6j#dJhsT z3v}LqX5wN;Mrg*zbcWQ&E`Iff9v=_)a_qh5_22c&dfiRnsemO_>pnf@kTO>EKb@lB z+Hx8Ny%)3F#zra{d{zc~(4k)4nuAQzF2FJCUvH*HaGW9%iQY$XbM5>u10b)Q!FYoK(E@+4|-wCf!DtD zLsgYB4-9QLk!GnDreV1tXIsZMn}~|uav4svEZgvP-1K%B5LIN9v`s?s8YnZ)Ha~A^ zTFQ3w3r|rMvzW+EJtA^b59;1()u{b^!**d$~mldf5 zF}&U>{XjAXj({0Q-K6-y)ujzYOh;{-+t00)dUY7}EWjO$}e9@EM<~ zH+f8*){a}$&QovPg=5OlugZE`F=zJgRwR}BSGZB4O+%K;<2UMiao#=MRQfC4tV8y7 zGYuD&qGCK3hh<4q-JydeJ7U>G6J;Pad*{v#Yb;(`lav@-AFjo4uURlzICw zXXr`q&az56GvcSc^imu$_W}XMG3iLEQp;q6Tw2-RUK3;jRd9`=!9j+$>No5hLlH?Y z?%X=c-ydDh5yLneMSk&5`3MS=FotOYXV6;1Ay7s7{<}fvUu?+gJg&J*7RR`^BK&RKa8K|^39oH7Xo>jMUBEoV5+SF2UDT$=1-FXIh zNHLRhup#BbNpI7jkHekI1hR-&I7jt+3U%k=u2I3_97nf4QN{W8m$!$CMz>cs-wQ9R z*L)Sbq_gt1dH&bokZLZiLT;yl;NHeE5&72ZqM+t5atUQWM@O}aWGT_hzP%ne_ z4zytI)1-kpQ1dr9Td;47eebN*uCJw_TTRnjv)7Q^3a5xzF?g_cqhABd&-iDC^%!_T zwrtq?I@QKQ9sQS^=-IR%9v7P)qhBiemU`6K1hTgbyKyj9e4`@faViawT95607CW>g zBANjtSH>ho>?v13d3jD(Ck|BX1z0`^?MrfXs2i8(hSLuE0*(vFl9lJGVnf)IT2efn z#X;c=-yGYWElMh_BjY%3h&`gfsXC{hu*_woNhWUclz=m{D-yV0O+!to}G?rdbL#Tkxt2-La8|=-dUcyN!Mw za{4ZN>-kM}_84$d}-v6*)JERxBgU?1H!IbP_Q z1L;5|A7hZq@C9;l-{(+Z^rb&HM)ghR5k$W5ZF$_tewDyqT?cW6$&syL!A=ioCf0>$ zwhT;v1VV1nUM=3sczJi~hHCplEd8F^QoO%iiVKi?%g$w}yRZePX}yljwlB#NS`BQW zFn^JwMBFi`Purh0wWe^+`G|q*JpK%|k8_8U@gLP{=z=K*j=(NRS#Xl9W%`#X#+vjW zPOj8YofM8S8mR7Ng*;Z;vwO8twK5d}RTJ($Fpdr7G(-`~L<=1^4^_6CKO0WFk94Xi zGHAq{l-N4Dyz|1uS<9Y3kxCeE^QSE3srnjzVEJq2bKgWDd^xBxhH?G2?MdhF9O+QE z(raj6C@Kp>p2HIHxhPV&a$~cDj%mp<&$wXg^gsK!&tB!uH0L~R+Zwqk)~b?aH>|fT zoWYEcFj(wmewbIvhc@kXo<3||omp=X&r*3!vM{F^0w2n{DybDh$0u%U2oB?%{PDs| zKxNZ*`OBO?gW&!uj%}z37wMNS!EOK28M>yQ1!yugP3-WvyYlhJ$fKPlF8Z1X-PfHaX`koYxv+8UoKHwre2mba$F&E4tM+cYH@ix6YYF=PV(XbX*yl^1rX& z(LdSX6eNX zTwh85qyuGF`#mDne|?-s(Q@@>BSzoU1WVfUhgp#CSjt=n$j!BsVqXfYk1hdh0J^h# z$+i|i17DIr-q(WI(SXRFnA=O5>BZ)kO$M>|`MK`Ab)xgv6vrso+t%w}S>R^)xPH+x zGV9KlxPu>kJbb=z{JD3(>tkbpcmkThE|I(S9e}fQCAK}wvPshY+#2X`*1(?by;RVN zlbK!8Q%C`FMI<=eDNMx-pi=Rvc7Efb`@w$6B^5NJ|CuTJwdt7PP#s!-lrGL|$dW*F zLyvyVz?wK_$@pMq8TFeln{d^_q)qc6=>#-nquw$THUiB6knWaGu?5ZvenXwG`Dc|#rF)7sO1 z^Yjvj#Qi^QeFan$-T(d)N*Kf(}f{2KMEUic>vUGPS4bsh^pp=x9!Y(Bsk|Lor zBB@A8E+q?sbT=&jyXgCU-`_cZJRI5CJ2Q9g-23V0xv9BtJ@?7?UCPR!t zGLk+Sc@g`a03Bfl*ngjg_o`pZe$zS7j8tAPY+_2*7`+{Q^1-%NO0(tmU7QRph&nj| zY!iD1O}U!yH6{yf{9-amB1p|xExyPG)xhFpw&bxhBW5MSw=LejfD+MAgSpM{ll!|!O$dCj4fwL|C6MLI0WwBv$2i)?o9 zG@k5!F6L#eCHSlefT5t!;R4PEbrLuta)`Fd8W>d^UCrsq0P@iY5?AOZ0aS?br>`Dq zcAaX!f;sS{Hez0UbSZ!ns9=8>`;z}mbLe_AIa^T#`_}@aiV4WUR#<=0T)QWFMs{#o zVQ`=9#U06|vKPcu?#{vVEqcmJR#VCD8-QTu9X92{#)Mkr%#xJE7YT+DKeq7-_?B9k zhqRbP67phg-}IuDti{Rh8}yD+G>qO?wi#rrRm%M(7BE$6;j!C5?Rc=K=ca2;u0@)$rxPQu4REsn!pFesy)) zzvrK~G3qfbL$bsV6|dN^I5q674BMzx&Cpk!B;ReMIQp`mNQRl3auV{OeI4mR9SH|Kt##RseAt22|i~Ha(>i- z@lokde_;Y~irDw795+Ld7x9f@R^7MZ6=&Mi)1MNc%3jvD!uCoLtC8oHEi}{r8GBG# zqqVvp8lr`rXPcIKh26vdG%%fcUFCt>t}wK({s9Wxw`}T>>B9MjZvq!0P!+ajP;s*f zVg~QP?^W6>fjwL^$;~a>9M%3j#*p6Wo5O_2)YE-aAik$*6VJpew(FR$TA=Zo9w$6J zT;6BcSOd4}0Sn&I_sv+zpK6siIm%+{=dR2}!Tnj{`);9~@>6E;Cv@Iu92VG$SGsg0 zFBXLkoD-L??^m7kqWm&r2-RIl<_3j_1h>&lftf|XGjFABhHBIaSD@TqHtuBlpef;H zfGz)tqcIBWp7))NBvEztCkC>6`^x>-uNBtDRZa%kqsm*hXs|B%0ui4b*|h=~M&_S= zXrhR!!$hW;?I$2<95Yt2x5I<@ir<(&4@>y&>L`m|8B^>9n1o`;*0RP)`e^4awzYL~ zBYQHaJTV7qnu;>HK%!1^7`6rCm5m^Z`vhbafS6zfe(D*%jzS5i2k7g<6{jp8A{Ljs z(prq)0 znuRqU$rV~%f^52sEI?9InUK^J1GV$3*@yat+gHmQBa=Lz$(q0`%z)e13-?b7gZK5f zuP{C0ktZL%(&HRkSs0}_HL7?x-LYFfT7wH}u@JGXh^#*s+fV0olu>f{($3;Gj}!4K zK~7AoaCesjV6^`s_A6Oz^73I}7byC$vUqh08VoK|$sgace?lf!@qE1X-CgV+Hi>a@ zTO`3R@)ID!*`H;EuKM{PMh1$`BMv0%Z>DPaec#Zlfj7VBwJuo%e{3le70e{(7#0tM zLg&{z+r#ytcA=w8xKT-Wk19}j5?3 zt9o6UG26t<{j^?2!>>-V^3Umj)Ff(0nfSB@z!KcVk=nqa9#BWW26BTvW$!X}N@jH2 zZ^j`_1($wh*Nr=xZi6W-fiXwtw{?|=i_t!F873QMyR{f7Sa-R0ohnqrvgkZZ8Q>HP z=+3pQad2jU4*5OHS}3UzzGRSOw-}971Ro9W>0^i=owwglOLI%(DdE-dZGh=s<*fR+ zCfN9}EQ4iXYE`76V(jy`U&f~jL&^G{vucLJBganL^Imk}XPI1<=4w7Yd}M?4_mG7n zMu_tFk~p4#Fgig{+kXyL0w}4{4zgWyKKYW`Jrl&TA3{9oeLN&3J7&n1C?>HTwZ8M^ zk#GMmrpp?(pLO@ic8MxSvt}ORX*Rvo_=jh%_X_yeznxD5dCr?hpMqm)5IFha+u2Xx zKJo+E3@JfIY`vHKjW|$*V)06;0U?d0GxQaOZHwx9H_r`ErkHmiO^-IxQv_to$B+7# z)mER~`jIbg&<`PTa76pyPi6%1;kC^jh1SjR4hdTj)^G)R#qytDvgbqLTM5Pe6ibI9 z(ftj#nwdmS_9*0)?UiBga`#n@viNj*DL2L9qZyS;BJVwE7P5UXmQ#zhBgv9mmWjy9 zO1jz@`naO%e4wpe9%Ya%7}w8M`t71QVh&Iv!YhMtw3=Kj>e}#y4a~q|?UHc44Q}`%b zUHH}$=5D|*NJ|4~Ov?K`E@nL2X~}r_0%SWE6U()x?AglJ4xfO4`i$3`l7Y8P2QNEe z3Xllnr&ku)yJYE$i~e7o(a|6MdcUR`;wwQCLMJ8Nz<{?Dn~c{4)6Uw}Yl(gMm1x+7 zbD)q&&)$!1K*GbUT>vw>dKG#~4+^|rAfI5LM!B$~RHVUpQHMUCp2edp$n_1A&T~Cu z%mqcCwcN4GdJOT7nD7T0EDM()XZ`|&E&ud`@?3jB8R5x4GR3sZ)7hVQ4#AY{KmCzC zxF9g&2|Hk-$Ol7}Z1s%PKqKf+$E5)!z`F{m2Q^GaM)a!?U9*NAFU2SA>Xk*z^~s>| zMv`^cd55j@?UL%nepPfASUAfalYe7!Zg{qNTq%c^mEQjy|1W?&0gxxui@_1x7wK^_ zA%FOJ92Q0ZglT+7?$hQI>52S>%!0XFzl#M>eMnWeuR%^^EmsC5dG)QFr1u@)k5TAD z`gPBoq$v%5F}%e;#L$PrLq7h^t(Y5E3l1-eXRt_IWGP3%Ta?kiJLZfBLqkBnsBov7awR!IU`h53h^aozc`5jI1hP%rvsAJonAeIH z=x85`D+NweHi(FZf=Nc!nR=1!SHbj6nAUzqFM)vDt!yauT)Ndnf>x{Zs`pu$?o_!T7`QwY+cK@a+yqQ z_HS%TJb(V`OwE)_ULysxj(+chn8V6xTTrd;J8aA_D1 z+_IcViTw1A6ZNWuCG+sEpJc^HQR;T2sh{5Rg_X&=WtoTf4hYCJe~&dxlzRKW$kBARuhw)H&G1^9)e1OSyT^Q%{|tQt|)o`xOtmL)xX`)Jyb{rTK7 zCM^f#Hyd^TiAJ$XoahLp9s3gO+NU=X(G+U;(f3Y?{%2&C0l(Lk@-d~DKDKXfC9j+m z0~ATX%cFx1@EH@%AjG^AzfA~lK)Y%$^#RDK(@%wUmd_M;4VH@0MFzd7vN9ggZ zwn2Ac+r8(p{TO!PDtlq8RP49!{x#YS0RCn#t}zPALnY4X$p?v%f7155F|Fo97NDnI z{M`=6_~V>OWk}IUCJr3kDz9=}-I1F=4hqk(Vz_d|_u!t&>#vI=I}6EdwI9>mlt@Qb zNHqmTG~VrYoB{M*e{XGpeors^^_zShwQ)uw=$G}8}I0Zvj^4ZK(zKRUYmU$P4CiLLzbg&0k!sx~hE zb-O}ez|U=Uj%;eVl<87Gx><$&gjkFOf@tw|JpzTSyr21~#^rwCYE8+P%&)KVnf6h? z12OF}nq?{0_GhAAj|~oi)dVOz#h?Q1*rCQ!r+BX`kQjqewi^EB;(gk@<{KbsDz%C zWZoFE9v%lMiK>i-g=E6V*+6`$HIw90AT_NbBGiI`P~iB_RfMNYIh*iaADNLhtu9K~)DaCd_V zQBwQUb@&hB$i=BFUCGJ2cHq*kk3D;ZN)@86L>rh!xSCN_m0nq_`(3wtd)Fa8Euh1hAZZ1-kARa65@B0=!sYN=0Xq=6Z6=&0e)h6n4q$!y>QR`f!2^;YxYUvm zD0lqoZ6R=yuSG^KaPR%SVz>e_PuVWP6#-<_h6AON&tc@H6-4?HMM^<~kglNf86<+) zgqfqMp_(`k{&Gvz!&oxvr+-M0?*98V;FOpKxgwxEbvU7dySl8DuxJNDT}0F$&8eep zP9+Art#o_{K%DLxsH|yjy(fY75~?5K$Ze}axeHIi6nH@fKeG`S#N4Ka_K#{BDbK(H zl0ex*H0=b+jogC?P&gD2KAr@D0}$X~!kzen)nop9ufVSD5XNdv2rLrr##4a%4P?Dw zp`iXAun{f+x{^lQt;j+pesPM`r+@fCZ{w7XfoIf9LI47#$0JF#odgR2OBZ$Rt zHJW6oO7zPkxz#y#tvAUVbQRH*(7R^SC9?eQ~i5AQmdhUXCPNV-Kze|ZCHRSp+;_`EZJX2-X8=mtjr=9||e%OeNqZ1N+74VeEi~8!$u`EF@7!xvllsonj@2MKgiN2r1KY zSF&4J@HoR)K3xp>&Omuezz$e*)QkK5;F12!Hf&N0phzVl)Y#Yp8UT>^O^_J*!^Otu zg9LnLgeS|^g2FmMjsehV=xv4Yq4;3|bc7B*_zT70Wh*`=y}QTDMgxm>1v$<5MagcA z+Xa9QoiaD_Sgq-Hx(1WV(B)^^=JW6RLwKZrkOm8o;Y8g=Fzo@N@bw&dEou+(be?fD zKLm^G$Z&Pxr=%8h*ke(o_#6|YXLpFF0xzN5+3wu&GhdI_$LldtfA{B)XI_8pz)NFM zC3Zu1Js_Um_nL~3C+zwkin_ces!DxP@tfBNaAYT7mjEH>2WRotZ+^6eMH@aEjBOdt zvFGGqg0h11An{YM%=L=E2#VUi2ulNCD$kWD_^w@c)t5e~BF#+>iMaP^pW_9Q<`_vH zOal-Ufr@Fpqfhy?r(jkvAP{pmP*%oFrnjli$jNm*4P3=YI09@G`yW_ey!Zwv73BOu z6)!FbW3LE-N6&sqBv`GUv2j!z{IeL?oChG&1dO}Q9knmzE#q}yw@E-N#?iBQ^Pv-b{N=*IioU-O5bOdVn9ZN+@rbCBIY183 z;s6jX$Ordn1rj^X9}pb@H=G!!GXbtrqih_|I(37IoF=!r`Wb+j zK)5oOSFQO9pkHhz)Zsxy-R{fhjUwC1o&Lj%cL^s`1(3#dd(GORyae)jV-a@RKRD68 zvMwMM0W+35ft3#wH(+I@CmX?)0p^o(dy6>Z`ai5>IyfyhAjPQvv`}$(0hw)pguX$vn8oZJhtyTgQXSiPOfW49#zm|h_a`Q(zR#z|Vl zw665;V@o3ApUatoh(4~o_3}>y9(>27H!?VM48T{TK}28AaJrmiMYwE2hzJEp9)neO z437siTMDn9OD&!Io^1>%GaPMss-I$Rs~`+n!j2TwnZ^#9OYg=5fu53UA9ikW!Md2sKY|0}NLY$nMM48G(ndb~-qnJuOb~ z!s8rcXrFQ-LevfOZGWv7wovAeJ+r!|EKY6zovo%Wnvk#ARSeAt3E4S(;+z4gR7JiI zp$2oS%?4AF4<_op#!z?DM`YUj;|Zrr_dU6YI8RUA1iY!-+uj!6NpPiS_w6I(pWDoh z(mY_Eb|sWR=Oxk_p2v*QNIsdw|U6mFoh#>)bt`pTRU>vL-9Y1!r9QQx78K6;WvNgI@tp~;e! zv6vyKqjhjMM(-%vxk4Zmqcmj@yfZD@L?Kl31bSRW8vRC;_`Z#AM5_DeW`-B0UV|nr za_*fA3+-r^X;VwK7MJP69-4tM3`U~LgU?UOhqajvAx(8==bc9DjJIzd+d^Xo=Bh;q zr`5E2;Me$3^)FFotktWJ9L>z3_hwkw&aLOST*f37P*!FjGMN3z6u^0?9X3%lU%)K#mp>(Mw6f;_* z_%SuL>HwLQsAZuKB*=UST=!=rTxYZ9+*M~0$Dy(ta;nL-bo?lVAIX_+BTG>%5%5(+ z0yW~pkID;(M#M_{pmQa?k?mkV1*}UH!UgT-dZp`4G1wgS`WHl8R4|95h{=t^`1q#^ zQ+Qp^sxR_9)%Itz5wdjqB7U2gyvB*A_0hCP-+prioI8MnsJ7t!m1C0M-! zVGI83!C1_}TaVoY8yVKooOe~pZ-i5uLE zN~DGDXRGBf3<%=q0@X6O_K-OlbVywVsA?7~_~F#>>J9}nVZg8;)j(55ImQx^GY#|6 zb)Wh=+l5qB;dsK&{wZp{%L1X=iD5MibGhUsUAl^g2S;t38B?r9u-Ie5;TdZwl~qH@ z#@EeN8k)<2lrCpSSwKOC%i5fG>vLp0z1ZjwxvH1E4TC;xt0UwPLFNq8GBMiQ?;qhB zdz-$rARL?OMr{-WTa>M~$CzftMx+eux~L?YMQ6HWvas()V#kxknG(*(P(|&$yt^s4 zFTRR(U5d&?;Fdz;^!3@wMk_n(z%x(`#OR{l;HaORU7D|$xChuUB%%kxE`29>e4 z5#mTb_SZT?KOcLZ3OTQJ@YpDP+hqi)>eGznyQ9m&<<#(#-4tG=SY4m#187$zaHKsp zCK-ZNdhZ|~op2|!YAHEBhrW@rOYHLG+m`#695nsr$1?Xf>$JnG5URYM4_zCUbofxc z&D0z%!sx3sDplIS>b^9siI3wjYd5F*Z@kTM@TIurKhQ-@}y`7yYlR8Z=vOr-Bk&(ZW{lk!b9jYRkk(I}2CogDxq<8b9ZiPcDiI=*Mhh zzmTdUgCC@%Gjdt0*JLt7ki7d5#qaU>g`N97H89w#0A!4J#uZw(l6QP&#hZsXsLCag zEj%%G-@>}Z^6=OG*g=DT9>~0#P}hWrSQWTzPJE4iYM>VEKX2@~7&O4;=Gx$K<=s+Z zrFLFNjXv>*2xi2_;Tvp)J4X!CbSAhvx%1@Z`?&Wv&A)B=R(#zGjy!nCYB#`E%~VmG z;>r($U1mpRrWi86#`>={X`9}ggr*I49pzbn)#-FXs~S_mMJaV&)q6b-MdJs$BWsJP z*T#HxYS(|esXJwe(ot(nSGtv`>(85?RV!FfWb*dQkANXNS!n>to=FtzHs5qVgNecr zd!}4sMr)IknAC$lIYtgk8`;LtfU?p1ag<^3C*ik~BH>$Ck=-YY#AzTF$lYcAOYi7+ zB=1f{3qdHjgQCuqAtziaf5E47>HT}n;gB1C;^SI)>X_H%hA(~0>vi~p^ifvvQsQQ* z1G`l*DdXAw(m@sU<9_A5Vd{69A4C@bS?yeTwC#wmp)iJ`Hqz+_%2jWP-z=>Ck)*dwD- z=1z(`m)q63Q0Yfxs2p{Tu>1oq0;4PMk1kjgE9+*P{^lON zv%U}29n4X6c0?8p8rPQFS|aw7`U4N~8r0_z93ExvIzp1(r5xqQ}7wOngAtUMgSw0749zrcOxhAcgvT8lZVF8a!DebQ5qtycUH<0 z?A_kDPN_S*b&Fr(zG=5az$a^qlNg;i(qe1*a*6%9P^I1flZ(*bkpT+^$i&LvvI~eQ z-l}`u4OIZcKxzcM7r_vN85NJ62JNbE5~}^43f7mbp2o7GnUWVWJ$Rfy#3tW980h6h zxkl6|-XSb;#;2gCqCy8b215ltI(MBK3Z7@p3SZp(DACrE>oLkPHhk}$mis>cJiV>F zwimRev9TgcrZ?}zVdg4bCuo$+44Ac6wK?(bFPBch>Mt}>WU4*f|I(Jei zeI4xDWeqOclQrClurz`ij|~GkbO`5k1}6+=27H8g9Q5Trx)sHV>TMDQywJlSg(QE` zqqRSlpXcK=C02Peeodk*wh4Oh9>{Aj$0je_`@hY9z6|rbXEM6{h@96h=n{!=FlkD@ z#+4J2S0aJ^1k}12>w~{1K!0z*PV=PUeBk>J&-4$%EvS*VXyO=0dR1C^qO9NGn)_cD z|9V9>?1Wo}DqndP1AFd2T}xAYB%rw-kiv!5&ka0J z`fnq zj*Wu0H|*Rt?v(+w=tMtyl zvfBB~;UA*+)(FwP( zL%BZrM9#i?X!bk*C4#hg0)VBl2<{X1bVKyCBUTCv=K1$T zFcy$(j3~8}He{R_F9kb4P_BIna*cDRsM?A|(LEyQ?px~$?89=7lF5}-uL%n7B$&WT zKnIrO#e?OMNd<|)0?vZ^9-&X<3|*yQ?lFxTod-ZhAP&#?FsDLq2nOXdQXGmfrAZq;u+Iqx%0d>p zKiSwCvFZF!cvhH7p?Ik8YrRZ~b~+g>jTKz^YJMGqrtBQHIT@2VF2X+gikBSrn;V2d zU%farNCXoFJT$Oo?9ix~h+ya0Z^u1_1r*cwkEgO2->YPR!9bY+tX@amLs;HXQt{sd zf!ZnUS8J8P0qAcNMDR54Fx#=*Aix=~tN%MBjD!tY9+^!54Rs1cQcNz>gB?mL2~g1g z9ArN}7zhrYJZ>pQX!-v=$aLJ2fa}dRogjr^X|{x>|M%$MgK@{h!9&o<9{_z1Om5fC z`)(;g>a`NkYm5(%ZD_)S2IPaVVSvb$VK&s+?*xT(`#Fg2)L#ImA6b$3af{Q0SdoaF zL%uPza)ofo8-zG2H2wQKzg_jvzfCUo8#$!18r~;d)sAq^#mkmP29<~6$K4=6#h#ml zgBaR2VQ5M1Xh2|^6ht{6sJ!B%GW1Cz%)!?nIt+uO>nhzX@ot1!WpNg?P;<2OSngeU z1FW)4F=ANj1@H)&(Aa_vc#Js0X}W}1c<-bcpxe(RL`OGKXQZxZyT<}Oz#a|;DcYgk zl^Ax3fUuiwegIt0r~mgL&+)+zA@JAQU$-xO*qm~fknnnYjc4lYFUq;}9wnT7sDGM| z-o7i*+cg$uF94)$cLn=cT?$9Wcx5Df48z;BIUeQ9o#45a)dolVUjjW`Hhu@)jfCSIW*E30dMZO5X{245>9)#11RcLvpuwhf&-p1w z2|tSdrkKYXM{c6@G%OO1w^r+ahjBS!5$v6J1s3#Y((~h$Dmh^R4}dG1a$~4%FDg1Q z7*Tzl{jf0mMOQb)d~J0s2QeAq)eNcNY{$X;y7mBJhO+~g{WXHWX>1@t1zPYqU$3VW z6Psw;5(e)e8oNm<;eknpk&1Ziu7YU6ai2s%pPn^R*t=$U2Q!dQWf(_N;2#c@apo&o z1@_2vJt_sPTZPUKKML2?6J84rTz=*<%<_Z!MHAPIxK5tQQ_exrZ0fCKMim)*7i#0! zi<+VxEehc(15;3YIFQ|h84C-6bDy{b`?Uu*a$Anuo6C7xx{yKbdc*Nq`Ac{{^Wh}5 zLHF5^UmL%Bu-_I5-2#zeBVzLWy@y7RyAtFEKZY^iEfknA_=bzVVL-DX-tI;`muy&Y z`oRidVn?gOW_qWD6I`V_jXG3eb}5+DCq$#3_(xfm-0fqX|n02KE9uUV=a!>036K;O>qk8=FAI)Ucm0 z4pcqqcKC9Kp+DM{KLBNFMGSjvLW3|Nztt7=jxh=B%?gAf<5MEaS7GTCu=+c4=l~J0 zIC0DdjL!)Nh~&Y6!Faam<1_2QnUVh!UG`tP2tx|cZ`?r0R&+4D_#D9e_W<7#w5(CM z&{3#mRr(wY-s>&@=f9NA9sNx$J&NE6pal#=;Mec}fPb&ssnZ_c`Ft=?dlW5ao550b zU07s2qlRtz&(hgS0V$_)!aaZ$3vAg4$+~x##w>Zi3=CM6zFIW)*WA&aZ;gsu7f1oi-ZLxTj1AV*d@b=M0KA(2U2@naDF*X)CNfNgy=0 zV8ex99mmgRXr36;Q?9<0l~p;KGEA4Q;hUg09x_`pd!}1Y9PFhz3i>QAEUojbR(*f? zF6GxdYLzRIA9sQUGD%fyjHxK+hNJ~047$4>A%VA+ffrj{O$=ptBS?a+Zw%W(mVG#1 z@9)-N#EgKHh+tjE5~?5Xl{K~fjBI(jwL4TtU?O_!!6H-K<8#MWMzgr5>0wRI(Oz>R zyhz6SWGS$}aFe}XlkBoZh+t|UQ}3lEJO0DG(=|7eaw_j=^D+R1)QW4rOYaU{iFuy0 zpVZf7voO>bmUD#P9LQ?qRZSxL9tkgKhtzS>;MMhB{Eq}XZ_`%K;+=yBLaY_wNYOo1 zXU=z6iI`rfy3XKINbdBszq#KG{mIzZV`*)2niVKJwSNWLf=|U~$`c}974EL+=r?y3 z2LqlB61iZoHx6eveyg?5ax_xtG3)a>nN5E07+Q^o`V*Z+ z#czTz48a#Fy;Xi0N2&{y6R`h7+g&DuV#y8|nzXW!y94(JSWT3}=2rPIDpYv|KU6*h zt-V+rM3#RzoS5qJMRPI(IBkvm-pS=Y{~Dnl4_AwOl^)hBJE3FmUS+*?d%wBj6DuEO za3RXO8H7L4k5gLrgw}ZSf3OxxHj3KK;Y_Q(^i$DvatP%~joF^Ig(eRXQv=t=!U*xr zXKZYK0m$JAy!E_gR_X+Q|6Jxe6Ukowf#VwH)(+PtT0|=?3`RnYFu6>FkjcsM(J^L^wH_e>D<8U?2!dHG=Wkr6V#DNQT^2+2Rx%0Irem&* zouUYXmld;DG_g9^0BE&O!`N$RG@CHb?g2UdU`Z;hy^7fSXFqk)$wOVZ?#MI=S6 znnJB-`!r{~HH{35meCqpNsnOrR8$F@%pBkH6G2tD2 zrcMohiK6Eazzf9GRbG}1J2k%?yJHK&3t;>2=Wy8)Ziff;~hgo`^~>BokG>Y3G9+Sgm)jey9GE)NKc zoO5b;OakXp9S1N7DZVfU?j(h?dObTw|Fh#jQq5A(4gGspMEkB@)NJ0XG*T7y$%`fVs>O#2!D?4FePpolL_cQb z@M!1B9$k}gwhr>`IEf3|(ld)fwH}IiS1TL0FGi`E+9Ddpm5tHlFG7@>LmhuHEY^vw zE>E?GBlW?ao6(TbAKONG9=3z4SPpX!rS($&si3P(38~y>t{mPU z)DP8a9nkN`W5a9IQbNxon2yE=@JNA;;kUS(uQyU5Nf^vf8hzcs$^6^3PZ4&%zB&w^ z`iKC)liI_Nam#83ei6OJwG1_mhNvJey$mMO?tfCrA3Q}!*Vp_`3RPLHYZ^!$_leoJXsg+f zdE?Y@=wMWN$zT*YLI1->v%uI^TCbCu34xYBF|g;2Ub%dEcDQ8j4cyH=*=-L#j~&Dp zpK=Qy_IBcU{6=S7QV)+bU7mF1@BbYn+Du@WNb>>@c(3*a=JDZYUZ-#MGS*X2b7i$) zIf#1F*QV!X_&G`IK3kAEQRS=smXF89rvVqF-Zj9C$>Dog$a-0OeGM1Hnf{iN855%O z`+`QcPYq?8)Ls=66C!T73^`Gq5OBt~OabnE(rrwy@rEn#FJb=Rjs(SzW^n_x=ct-% z%T1XDBwCX}f+6Wzo%l9LWKA$P8ma1+R#GqOYl-lw3Gyx4zl}hU7S%7wpjSMyjnFIn zrLQzdLfx$wJrl9fM|D9cUo+r{20RCLZZ?RhxVvx9vG(hrAHNK|@iWapN7PQOR!?+( ze0-pmZkzrlsjs{P+oVJcnmbd3NPx6sUje_EGWB81Phs6D11fGq^$pNsZqHE}|0V&o zJw;+e_g?#Cp9Pfe;3Y9S5uXGuFbJE3xmcKMHx-@{LSFn_us=Gh9Fv^YY=6i04aqG% zLn_@^>O40~SB^d1xd)$Y%KOe^LMkiWzY$o6TER9(r!Pr2)XVTp$9y;Pcq;dU88|P| zcYsCzdk+fK<`nKH1TfReiV5@LybLxS+1mbXON8NGTBKuFzZ>jc z$IP&BI-QN%p@4xtA0pdJEfoRk6+|kV#9#gA>O_Vn=&oh{-=FWCZ{nWHy!rb)r}j!# z@(&vQBJ6`a${GaAe{P^yWHd9y!eU@@-^9To-W=seF{jcOuA$`+$|2-WYh<~mQ zIh1P0801>NlUc~-zv zmEG61p%Sr-=70P+qhKAK3p&goT#jRd%JqoP8XGGTPOm&%f|U6i$z}(i5pq>plJ#H% zMNnhEk4H`zqwGuM+0Zt1Q@?^j+E7cbZv$dN0;YO!8*f1j8DwE_<2zKvGh(5)Hg>O= z)0IwR8#hWEPk+A&s_h8xcAx!H}>1EaNrp%yOy3!_lxKK zrd8QXkOMYUx^!f)#{(*se$!;PMT)38W8~GdArHboaU3WUDR*=Z*pU8+J&+a=Cp+l; zbp_MQG{5rQ*2YPw$?^yD_r<&tklzEr4hKVpH$uHKA$;u#$wxoI4AUd@;sv~;H3)i; zZiIfUWyKry!Qu4Co!l&>z;)Fm!veu0$P)~mAV?V;>NrWW-tQ_>WDpu^V}6x`zr@Bs z$E=q$-`m&#{2f>+$h-wyfTY?0~{Wxy*?&IpC8DKY8d`Nbc2ghy%BTYX6;~&RxddYydJ;9QGJZylQ zR<>tZ5ZsEM265Wb9lcY<#t$L@(h1-M1xlcbAGJ^v-T)nlzDkfvumE7dg8yKG_XuUD z;Li6z&=LG7f$A;rW7Ts+!snh!c1QjI=qF(K$)aQmrA?lyD3X!CWXsSJ3j#Y$gI^Uz z5>h%CIXOA3J|=d3gqxI$7<*X4HtItZJ1}0z9;VG^cm-%#F7T_ONJLBr`={|sRoU4A zWNg;YYiH|YUaHbBhP6`Dz+k6nVkds`5`&AKowz_u50AY%!N^W%@ZXy<5_ZO= Jmv@9u{}1Z8U{?SD diff --git a/src/rooms/logic/Handler/BattleHandler.ts b/src/rooms/logic/Handler/BattleHandler.ts index 2b480bc..dd87585 100644 --- a/src/rooms/logic/Handler/BattleHandler.ts +++ b/src/rooms/logic/Handler/BattleHandler.ts @@ -3,13 +3,13 @@ import {Card} from "../../schema/Card"; import {CardGameState} from "../../schema/CardGameState"; import { PlayerHandler } from "./PlayerHandler"; import CfgMan from "../CfgMan"; -import { EffectCardType, GameCampType, GameUnitType } from "../skill/SkillConst"; +import { EffectCardType, GameCampType, GameUnitType, SkillRangeUnitType } from "../skill/SkillConst"; import { Pet } from "rooms/schema/Pet"; import {SkillParam, SkillTarget} from "../skill/SkillParam"; import { Room } from "colyseus"; import { Skill } from "../skill/Skill"; import { PetHandler } from "./PetHandler"; -import { SkillInfoMsg } from "message/SkillInfo"; +import { SKillEffectData, SkillInfoMsg } from "message/SkillInfo"; import { PetInfo } from "message/PetInfo"; import arrUtil from "utils/array.util"; @@ -98,21 +98,73 @@ export class BattleHandler { } }; - public getFinalTarget(players: PlayerHandler[], apet: PetHandler, ct: GameUnitType, + public getFinalTarget(ut: SkillRangeUnitType, players: PlayerHandler[], apet: PetHandler, expet: PetHandler, ct: GameUnitType, checktaunt: boolean=false): PetHandler { let pet = apet; - let bok = this.petIsValid(pet, players, ct); - if(checktaunt && (!bok || !pet.isTaunt())){ - for(let i = 0; i < players.length;i++){ - let obj = players[i].findTauntPet(); - if(obj){ - pet = obj; - bok = true; - break; + let bok = false; + switch(ut){ + case SkillRangeUnitType.RANDOM_ONE: + if(checktaunt){ + let lst:PetHandler[] = []; + players.forEach((item:PlayerHandler)=>{ + item.findAllTauntPets(lst); + }); + if(lst.length > 0){ + pet = arrUtil.randomOne(lst); + bok = true; + } } - } + if(!bok){ + let lst:PetHandler[] = []; + players.forEach((item:PlayerHandler)=>{ + item.findAllPets(lst); + }); + if(lst.length > 0){ + pet = arrUtil.randomOne(lst); + bok = true; + } + } + break; + case SkillRangeUnitType.RANDOM_ONE_EXSELF: + if(checktaunt){ + let lst:PetHandler[] = []; + players.forEach((item:PlayerHandler)=>{ + item.findAllTauntPets(lst, expet); + }); + if(lst.length > 0){ + pet = arrUtil.randomOne(lst); + bok = true; + } + } + if(!bok){ + let lst:PetHandler[] = []; + players.forEach((item:PlayerHandler)=>{ + item.findAllPets(lst, expet); + }); + if(lst.length > 0){ + pet = arrUtil.randomOne(lst); + bok = true; + } + } + break; + default: + { + bok = this.petIsValid(pet, players, ct); + if(checktaunt && (!bok || !pet.isTaunt())){ + for(let i = 0; i < players.length;i++){ + let obj = players[i].findTauntPet(); + if(obj){ + pet = obj; + bok = true; + break; + } + } + } + } + break; } + return bok? pet: null; }; @@ -134,7 +186,7 @@ export class BattleHandler { case GameUnitType.BATTLEUNIT: case GameUnitType.PET: if(skill.isSingleTarget()){ - let pet = this.getFinalTarget(players, param.dstpet, skill._data.targetid, + let pet = this.getFinalTarget(skill._data.rangeid, players, param.dstpet, param.srcpet, skill._data.targetid, skill.isHurtPowerSkill()); pet && lst.push(new SkillTarget(skill, param.srcplayer, param.srcpet, pet, pet._isHero? GameUnitType.HERO: GameUnitType.PET)); @@ -228,7 +280,20 @@ export class BattleHandler { } break; case GameCampType.FACE_ENEMY: - + { + let bfind = false; + let player = this._room.getOppositePlayer(src.getId()); + if(player){ + let ph = this.getPlayer(player); + if(ph){ + lst.push(ph); + bfind = true; + } + } + if(!bfind){ + return this.getTargetPlayers(GameCampType.RANDOM_ENEMY, src, dst); + } + } break; default: break; diff --git a/src/rooms/logic/Handler/PlayerHandler.ts b/src/rooms/logic/Handler/PlayerHandler.ts index 18a1245..cfe3896 100644 --- a/src/rooms/logic/Handler/PlayerHandler.ts +++ b/src/rooms/logic/Handler/PlayerHandler.ts @@ -10,6 +10,7 @@ import { Skill } from "../skill/Skill"; import { SkillParam, SkillTarget } from "../skill/SkillParam"; import SkillMan from "../skill/SkillMan"; import { Card } from "rooms/schema/Card"; +import arrUtil from "utils/array.util"; export class PlayerHandler { public _player: Player; @@ -363,7 +364,43 @@ export class PlayerHandler { } return this._pets.find((item: PetHandler) =>{ return item.isTaunt(); - }) + }); + }; + + public findAllTauntPets(lst: PetHandler[], expet?: PetHandler): number{ + if(!lst){ + return -1; + } + let ncnt = 0; + if(this._self && this._self.isTaunt() && this._self != expet){ + lst.push(this._self); + ncnt++; + } + this._pets.forEach((item: PetHandler) =>{ + if(item.isTaunt() && this._self != expet){ + lst.push(item); + ncnt++; + } + }); + return ncnt; + }; + + public findAllPets(lst: PetHandler[], expet?: PetHandler): number{ + if(!lst){ + return -1; + } + let ncnt = 0; + if(this._self && this._self != expet){ + lst.push(this._self); + ncnt++; + } + this._pets.forEach((item: PetHandler) =>{ + if(this._self != expet){ + lst.push(item); + ncnt++; + } + }); + return ncnt; }; public hasTransEffCardSkill(): boolean{