From c0c00ccc4ca06a43866f5aadae70b76644130019 Mon Sep 17 00:00:00 2001 From: MpakobecEx Date: Thu, 22 Oct 2026 02:17:21 +0500 Subject: [PATCH] Fix battle card art, mulligan, damage targeting and rest --- IMPLEMENTATION_CHECKLIST.md | 10 +- README.md | 2 +- .../Vanguard.Shared/Vanguard.Shared.dll | Bin 87552 -> 96256 bytes .../Assets/Vanguard/Runtime/UI/BattleView.cs | 93 +++++++++++++---- .../Vanguard/Runtime/UI/Localization.cs | 6 ++ .../Vanguard/Tests/Editor/ClientSmokeTests.cs | 98 ++++++++++++++++++ .../Tests/Editor/Vanguard.Tests.Editor.asmdef | 6 +- client/README.md | 11 +- docs/HANDOFF.md | 29 +++++- docs/SESSION-STATE.md | 21 ++-- docs/protocol.md | 6 +- .../src/Vanguard.Rules/Engine/GameCommands.cs | 7 +- .../src/Vanguard.Rules/Engine/GameEngine.cs | 78 ++++++++++---- .../src/Vanguard.Rules/Replay/CommandCodec.cs | 13 ++- .../Projection/IntentMapping.cs | 11 +- .../src/Vanguard.Shared/Protocol/Intents.cs | 6 ++ .../Vanguard.Rules.Tests/GameEngineTests.cs | 21 +++- 17 files changed, 349 insertions(+), 69 deletions(-) diff --git a/IMPLEMENTATION_CHECKLIST.md b/IMPLEMENTATION_CHECKLIST.md index 3eb2279..607f5e1 100644 --- a/IMPLEMENTATION_CHECKLIST.md +++ b/IMPLEMENTATION_CHECKLIST.md @@ -275,9 +275,13 @@ drive/damage-анимации и звук — следующие. Финальн - [x] Поле: `R V R` / `R R R` у каждого игрока, damage/soul слева, колода/дроп справа, зеркально у противника, зона защиты между полями. -- [x] Карты: реальный арт из `imageKey`, рамка клана, рубашка, имя, ранг, - триггер, сила/крит, REST/скрытая карта; процедурный fallback. -- [x] Старт: маллиган (сервер пока даёт только «закончить маллиган»). +- [x] Карты: реальный арт на всю карту, рамка клана, рубашка, имя, ранг, + триггер, сила/крит; REST поворачивает карту на бок; процедурный fallback. +- [x] Старт: маллиган с выбором карт в руке, возвратом в колоду, + перемешиванием и добиром до пяти. +- [x] Зона урона: видимые карты на боку; heal и Counter Blast выбирают + карту урона кликом. +- [x] Позванные rear-guard'ы входят стоящими; rest — после атаки/буста. - [x] Ввод: кнопки легальных интентов; клик по картам/зонам, подсветка целей, группировка действий, выбор силы/эффекта триггера и журнал боя. diff --git a/README.md b/README.md index af322e6..789934e 100644 --- a/README.md +++ b/README.md @@ -21,7 +21,7 @@ | CI (Forgejo Actions) | готово: `ci.yml` проходит на `home-runner` | | EF-миграции | готово (`InitialCreate`) | | Orleans | готово: silo + `MatchActorGrain`, включается `Orleans:Enabled` | -| Клиент | Unity 6.6: 3D-сцены, логин, онбординг, коллекция, декбилдер, магазин, история/реплей, очередь, тренировка с ботом, бой с реальными артами, анимациями и RU/EN | +| Клиент | Unity 6.6: 3D-сцены, логин, онбординг, коллекция, декбилдер, магазин, история/реплей, очередь, тренировка с ботом, бой с артами, маллиганом, зоной урона, анимациями и RU/EN | | Лаунчер | не начато | ## Требования diff --git a/client/Assets/Plugins/Vanguard.Shared/Vanguard.Shared.dll b/client/Assets/Plugins/Vanguard.Shared/Vanguard.Shared.dll index de5fb590ef1404d79a389eee7c0838df48440fc7..1599495fdb59528eed4fee1cbe8564a50455bf21 100644 GIT binary patch literal 96256 zcmeFa33yf2^)|lFy-7#{nQuZElMn)d0HUHIqJn^k3>pO|20?HL0v8D)A|MC~C=Mu& zr3!)riZjkbL7ZsCinG=M#HzIZtXgf=TK&K4-D{tF6QRV2V~#JK7$0|fm#nPJwpR49{X_-@QRz}V7PY&7 zTck~ClmRJ{5S*M6?$+_SM?$-9V4- zGNpFPSP*O*+9+uNlkuALuNQ`^%aqe6#NnuI6||W#n6`u85lPvo4$`>dpSCR`sj_B` z$l{Mg>gJ?NgG8H1Wr0YhbUe+JNYl$ZqPU8p=(1TTG^OKV-VogZ>v$&HF)>p*wu@B8 zv_$Dx&^3_8Xa$PNli7tJGpi)6W0zXQByA1`FQp@@r*p^Fkqc5C5uHT^1l-gkI*ZC- zkrO%Q1MMrYf=-6y%QDWYUT+lAewu^ltdF+cncM{w)6xQ5Uo66N+NG- zZ=nL$5>HS8QR)dQzWHiRYJQn_qJms)JV6CSxhJUjV$_;c3>HZjJ1WRk;Rz}r+IfPC zFGfL9G3~t*738Y)1Qnl4K~k;`-iZow;WBoup#q}H6I6ULYE3GplXs$mT%A2Z1w{a>kv;+@wpTv&1QifN zJV9lKE&J+jsyaq0ANKdDW4u2V6mYC3sDP;U1eNhtjJo4~s9aKM$9Z2W$b7sfOi5Hc z)LW>)b(kkiNw}WiEv6(aCwdDNA6ErQjXKFYQ9(^7dx8pxQ#?Th#Bfhg0Wrc8R6vaM z1QlPi78t2~#0PhjccP;E2UU_BPW28{Q0!<=PysQ<6I6yoYMbh9TtQMXr+FtT$Tijz zR6vaL1Qigcdx8pxGdw{B#F?I;;(MqyB-MPDccOw^HJ+e?_P!rT+AOsuy8G59Uyf6}Hx=})SjR#E zcBts4=x)*}D7)5sQ}Jah@J`9zQ@uA8WIxvvRD5=|`s{F;=AEd3IL{NN?4(`Oy$coO zIo}ghK+Nz2mBS*1vs6i{_5$xf1vzGVf{JgfT9b0k@=m7gq;0dk3l$W6p(jj9gm;d& zn3Ax}^%g296NL-oSAk-O(`mopCefroyuiO7Tm!t*8b2yt+EUS z)E7d>sB3RVWg6PsB)x*Y>)fQ>6wGj|q#*Uf+=4WjavPYuwA!KC&b(9vCdfqt@#MbG zJjtyDoL$)#t(>hvk5{PH4kC_lWX`crU+{{CTptsuU{3te6I4LF>Io_!HhY2!h}S$p z1;p!~paS9zPf!8zrYETQi%zRddP056J5fQdw>?1x#5pfcV%GR6uO=1Qngr5gDVyhkv$D(OyPs zF_4+FwDpk|mk)z&mbTMqZK0{!HdD7GRIT1vtvD&Tp8#^;sh~lB_5>9WpL&7{h|fGh z1;po`paNpMC#Zn>gF1Qih9dV&gw?>s>T#6LVi z1;jr+LB;n)3rwo{d+$UAxqk2j6%apqf(nR#d4dXvpFBauSETMq75&>gQ9-VsJwXM; zFP@+R0w-2(Vo~wssx_(Hz&lYvu81e7V1I(;EOVBEq+C(&L|0 z5RE)R1w^_hOi7%nWq1n}xMq5S3W&y@paPIo_!iakLEL^DrN0nywORKB!jOQVJB zR~s9ttcP2gC&XZS1;g(+68D5pqh@@qv#eR`P z^C4r9CL*1WbTQHrq~9W~MtT@&J<=wmcai>#^fl7IkuoA8g-B&coskYk>W5T~G!m%> z>0G3_NS7nsh;$p$14vIJZA5w#X)DtIApL-psv8%iR!AL?4nXRSG#Ke*q|=ekL7IiM z27T3K&FSx}j*-#4ud05a)1OoQbIb(rkE#Awr>{}{OQ$ba{cEQ$RsCD1 zFI4@XPM@jzk4~Sg`oEk$PW7Liev;~$P9LOtmeYHwp6m2(suwuDQuQLIw^Y5E({ojC z>GTxUOPu~a2BWr()4x!?!s%O7$Cg+7_=f6LPJc=DE>3?+^?jXwzv|tbzDo6joPLAq zJ)FK+^+TOLNA+G#pQ?Hvr=O+zkxn0>`T(aNtNI|P_f`EEr*~KVIHz|~eVEfrRX@q; zG1Z4VJze!tPX7s$yLODzzfygi(?3!DOsBu2`go_mtolT!uTy=p)7PqA>-0NSpXT&s zs-N%lt5l!q^!ch^==ABTU*z-&s$cB%(W)uqMJE>jm^jB41Ib*J>Ieak5a)xPVLF17DFrK0vDr?jm7*eM0Ie|Ab{49`%hD)d20pWW8t*#`gf zN=~Ug2p4!}+N(8wy)TM)2P0{(Voi2;fTo_oD(;wK&kXZSGtZ3lOmoi+_e=}VjPOiL z&m5yqUwXG`<(Yw=Y3-Roo+-)j)UhFz>8a|FYV4^YA=SiFxaYX~O0qoFD5SDIh0vH+ zj;Gp%RIaBgLMqQw=(1(Z_f-FoD)3ZZNX0yLct{m`s#!>dBXeR%g+r4cQsLP245@H% z%0em}ohBg_4o`VVh2v8iQsDrVgj6^}xU*ZgOML4wL5wQ()JY*#<|#}y^J?R%BSWg( zQ`j_^S6feEk7`tfr?4|Is-35>*)giUr!d!ys`L~#N=9|?6gELdb@bGLkgD=j^N{M~ zsoaq2?5U$ds*9%%3#olPl^#-EJ#}zM?dz$wA+?{UGD2#9PZfkzH&68nsRKOKBBT!V zRPT^F$Ww(O)!kD?A$72)ur;)J_3+f8A$5qSu)dgAPfs-tsY5-5MZ&xe^Ay$=qYn4f z5h2yfQ?Zch?WxR=I>J*Ygj63-^$V%Kp6U}){XEqpq>l7d>yYa2slFj~l&7%Uvepmq z6gF2z9qlRX)r=bGDQu^W8ssVL;*1*XDQw`38saJJI6@<45<@6)h47)@>Etxoov(`eZbITattw^K6X^_ zJdz@~0|*xLJV|j!l9>{%#5I&DRfnd=F?yMq(PowCH29SGy|@onVx`0luM(N6K-~{2 zHI8eO4iBmWmSug~(PyL-c^0p@O!H7IE~iW!V`d2Mt=;bipAyHllNpU;T4n;c+A1-N zG8@;fMM+JH3R0_1lf2Y|MtO}2((=;!VP7f{B-{+7JyKP-^k^k!PiFi+_)Arn^sr%= zpPBIo$QHv1D`aN;A;OGkCGIciA<9W@dQw4ZUTUMCQwq}a(mP)ht*FG(lUb0Fm(ld( zN-STQl5RVJFo5hA*5zHqt?!O;y94#si`!~Y7PquY1W03vn1DN4E5*JeMK+=itW-P1 z4pH81?CwE1j9txcV|R#;-JS54ssrl9?k=(=V6Axr(XcqSaPZwt2p2afgpA>oUB+;f zk70{&?mdcQV;4h2>hTbS2K90Q6>ztc>9a%z0PL;aaMiSLJdh%cUl8Q<<# z!ZA6-sepcZmO{shCD@2b)yY28k0Gm69q-{2gnjEp{wcCLmy;v^4B2oli29ca9hSYyubb}kP_Nqe&n;PD4xslN^! zO;%&a#bOZQZYFU<*MW#&wbIY^x%Ct8t|ZpaeUcVVtf+~}i`6s%aK|^`&WEsK3D$Cd z%{NK!lrFKX?#t?jDav&+vljC?t#J{SsNr~8(KS++vpVZ!DY8~|Ze(4@B8&L6_YjLY zV6lf-$Lme16fBS_c`0dFAh8H{zRAxhtd@R(Y?M_c8HxLgI~!|QT-swG!i%~?GN=kc zA}+XJHaISwk$-REQVIX0xO5~8w!A}i4@Yz4yoLzdq^ zbYBdMU&c!^!meG0P=-T(c`~>%8Q|NN=gX0hJoZ z8tl$rQ>0hG&lvkShWimrzTK`vI0toW{(Ik+B^(6E(Y%iEP;b3~u#1N`5$b*1 zVlr6o<2ZV%ccs_e3iT*%@a+Thv!Ux?FP+!iKw@mL?MncJ%s}FL&#N=vcfSrI5PNmK zW9ONCy<@oo46k==9_vNtKfB&jM5jXX^^v$gboCcUvAZ_HolHv%O=3&k8pwr=dqTZm z<|pD3&flfr>#PO!_S2;(hWF8dNt3rz2F|$BnszC!s;IXG!Lx(L!_T1-!sPX@?riCN zmtQY-w{g~eK*QsK8FDR#!Sy{1&h?-yIAJ{S=)S}Cyr+2Fh;nurk37V~?w8kbCg|0J zQPdTM&lNY2{qN%u;d?uKz8|zieKrX&&i;OY2Rq+y>=Sl#KfojRF7F2zkjyyFqIN&u z8+{b}w6`<;mFOE}uKN~#XabIfC_%3J9>yPiPWdHl|-OKrY6{@W_->(K$ zKORN@K|F9hG$?vpe!C(tnrR^Vy`$h8Jr$wh1;3Qpe7ld9RfVa>ir8(EYfTz@y!LlyZi4%6r}O( zz8)P+x&`;cBYt>h&>p&;8Q>nnFSL!ts~(b6UFdH|qfm@)6T|-Ub~KvoSU7P%cpBkQ z562Pq^F^FNc%X-85w`bmJYjg_pFp_lf$gzx1GkBLeeb^+HP@T#%R$wj>&b?GS_cm=j+e)6=ZiEl7{bv_Ua6AC916#kJ~_5Jklz0kfqy`JID>;1CPdhBc>1D zwAf)ico6*V=Id&d!x%O23~?3wcRWM9ovcRCnsSzU{&b=o{bxa(=tW7=MQCHSo&|DY zOsmAfre1r`(c!o{*B-XsJH&NQ*WL>#XV=#r?(Xirk3;I+1#o9UX!W_D;o3l`*Pb;G zClZ;Xvxm!YPp}QcBB=?@C{V&mvGL#t5HTtofxI*`$JW;cegmb zg;E%x1Ck~l&bNx{MdZyrb#`4t9$V4Q2ye?fe@<%?wFh|2fR|CBn-l=Agn)a8sN96U zmL~e@&vq{cU8lGH81GdSz-6az@-d!1v!^!gl2_Flr+FOdP3)!~UJ(9~FnNgUEk+Oc zUhn1*SNq%n4cmF2lg}zQCwCLEa%*c@oqq1-+4Oba$(@{4vOBNssXGl^TN^rtFNXcW z7~=MsIEdB0=@_=D(>I<=?Q#tN;JdenF~nMni&w{xTe#m7{x6K-_+5_S3DK6}jpWtv z{)j%mrhqpHfH#uCTgl)Z1&8Zm2ejTK@{oR^3Oz-cwC&M>6g7r>n8+?C{$llCdwAk-+c9^?E zb}@JNru@p?l;3WrvE0#dx0(j`!Ud72FejKg03XC9BTGQE$BQ zzNH)Qot?eAvu3V5*r#FabVRKIC+dho-~EU-@a%o>#uLl9@8=HViEmu&bS-Mweqj~* zv*WW^RieJ#Ka1Ut?7MvyyKRSf)!Y6wc)!rF{^abmKb;!dA6)Lc?@#XkQh)aHvtIqf zZiSoo0iY5OKm$Vu%oXnC@kk_{6a5aa54~=7cYO>-Nn8&b_*t)`;J=g4c#sWGt_BhA zW+80oXFO5_J>A7~&O!b;r~Z3*U2utnw~t0{Il*1tb9%2$5xq}z*-5;9vxj)?hk_Wd zF-N+H}P5NpAvTWmL8vt8g`wWj{({7y2p0TuQR*9?k_<0 z-Cp-Ib{O#gv)BFp2;h$W>Dti#9DwY*?N7HI2IxQQ&t6{l*hN^ka0kQ<$UwLVoD3>_ zf=^uc`zHF`;Ol-kirW2kUy3Us@flCtiFw`Io*!Ghoy_Y~$nIudH~hNClf^Es`}*(Q zBUB?$Z@oR_C{R9BdcEs9h^?ld?_r$ww0{_lau}yw?;rROG?HD{{e!JI{dE6uD%srx zq=EZ~6v3Mhb>flutWSSf{8Ctw?;dNyR(ybooVaa#q?e6Rc<>u%t@B;SIy)fN&hFQ1l&W_`)~Bd4AByB<5dn{VnnH! zipu3X?(gIT{Xh;uXN&#?zo4O$UsrW@_rV zU&xJ7j?d32f^Vz|_We7|l|#Vq?p_+;OH4Xfx_^NoNxD7sL)Z8@B^*c!7AZLb36C;z z2GWH{Hz3`G^c2#YNM9l~LK*lZh+wJXmqbs(>m;P^7edsVW*?#p(mk#QJBQjr2Jg{@ zAA9a4@Nl3lVRFao z-4GjguDN&T*2V4ujiK(;_yokC-{Ve^tI@dw5`D&6-hgv!e0SX~j zv{ICS=qJ60wgGwcJv7?~Jx^Hw>l-hU)y2aaji;E*_(rnHF|Iqa_Ub(}T%@~*^G^0h ze?ZNCe}oyPx86;lQsa{tM!!GmzLOX(MLl&El6o=xBg$#W{^(_PUPEFHh-*k*A-n64 zH1z%ay*pnyIML4?&Q}gZi*`Kg-ODr0A>maVPG#)65>wf>h{q+k@HF9 z18gPS7&P$n0>{9A$1}}pvh{bc$CKU72sQXjb1%;XaoZ2)tZhYbYex)EsxxN~*-52)4owD? z*x*kI9dL?&vF7VaFrD0F$Km#&+zfK(I4;9+Gn4ZgH#@;0*Bl_f z%$UPP35T!|^LN5slHgF#LM@2T61*<(pdolr*kKuJ`MLegAG-!8ZMyW+8v9Ur3QS2t!@Q)gaBLP z8#0$rx5+kYYz2Y_C;hZYGJ7#u{j^9jyMU~o|M3}M5#g>cksk4eZj*V&rFY;aI{x}S zS*+NJJw@{S|A(W}@By^90zTX(?W6E%7(a*hxR2_C0`{SjCiwC)bBb3>mE_VQkcH7Q(Jtvw4t`HuVjTdz9( zcHi~h)4lLgl+%#?+XDFQc#yq_Z1T|83rGX+g$@0@OHT|ycv)k--RE6;C;GknbL_*A zofCW~pLgNRK6Hlxu6Ox1@cpa38Q<{S;a?om(R$Ox)%r%c3oC%-B2SvbcK z?(HE+)1Tbc5%?>p)cCaIm_Cd0ajEPu5AO!QyXVCJK~aq9F5hP?MG1Vr0bRg}Bm9#- zQ27@^-HKb&&Qqr^$nH9Fd-0nR(^31*=jS-T5l?(%>uuEQH@Y^??}AF~!~YaIAc`L- zz&(jm7IQM`2tEY7#sh2@@wUMZu|?;18(SQ@jDWvvDx{*Q!JbSJh z#s%Mkqt-gpM>Gg{RhI`jNE_*j$Fgfw*|{z80Sa`7-x6B-9HiMJ?`7_ z$hD_EEN3jPHAGPNu!K><51$``(>19-ZjV4(E(5bj<$a&y=2p4!Ii;)~4~v0B@6oJ7nD-KY+O6^x3ad{`y%4 zy3Xy|zdtky`8k&w_?glg_$Pg)^lZZL(GUkJuU}hM2<{`R_fhNL zEcJbWY`CX?h*0mNe2{#YaM#1uqv7|_z5EPOTTGa6X=oRMu%nfr{J{Z2r1M_)^h0(s z27B7m<96ld{hs&q3`zz3-JYHhqXVcDzLA?Z9D@#IcOAI~@97)*yC_wtFbr7dWUx;N z5}(h4xpg_U1eWOV&+cZ^OBX8)kUf`13Yw zs(k;$d&ScF0jT$W>CGsI_liAyo(zw2JGnT1OEx(i_3j1@Ja5~}cwjGOQz48;87RMu z_;?)mAH<^^tV{sLu^v-ic_ zufe{!sW;g7guU=RaW8yN+6&*4cjb#16?9FNZ&E}~fsg&vsYFUz&&FbrS&J)If2}(M zClLI-?D!lIMMbr9@e;oX0zcfHS;yG4X&qzZI>zGSIz|jpQnAgN)iGw(F*a{r$CzEm z*rG)pV@@4o%a(PFxpj=KTGcUPyOGqO)~)Lp^XnK(GDRDaom0ZdTWvTasJH+`O(iuOzRI zxkX)beo1~EbIZEsf|7zd=2mshv65IFGfqO1TV7aFSjUVdE!kXDQg>!zxk)xREvY*< zvHB&Oi%aUxPAp5w=4K^z=O@;@WOMV9x-+zGU2}_)x^on}sN~!&OX|*2Z26MStxD?5 z(^;+cFQ1gOuAPS~u%f6aK3}iIil$9XDK0jpSu<0bH#en43sYLQG^JH5Q(Ct+MW?n` zF^#>7DeF~CPp@JsdKJ^otC(V5#dPv2rjA!JO}vUJ;Z+R3S25IH#jtu6L+Diumsc?~ zUd1qY6(RR3!s}Ip(y6mb^w*u;-gzL_zu~$@rgUl^xj>_v62~Selgl0c!VI3dGOL0j z{E?Yf@RacT>iJT+048_a0aysYKR|v2kuF18jfBsh@ejmABkqsF9FAB0LogR0-H7xklK#P$zawQw-5+@Ai`P?;x}OW- zj#MklxF?^g>vw8=5n3nR^>4qJwT-jt0-hSbl-5HM)^can6+AV58Lj%aWGpY{Hy&@N z>JpwBUrg&SXpC7gz16B~cxwD|TDK;wnB8jCMLacr1+5zrRysqq_Vy*^>x*I9K1PmSM5D?VQ0^X})Yx`3zZb{MT1p0Mukth#=u z#xXHr#XF}yZ#QSvvCG}NLUYc)-qaG(27~@OYY&UZD_q!tyPn((nFjHa~hSd zr0IAw^>ijoXqZ;f)ZI*nI+HHesqx!rYGtOwoJkkz)cEZ*MXICSt)fN97;BQLm?*n&gB2)gPfAJB$&74v1>8mfeO#HcaEKF%wj_w51 zZ1|z#PAO8DiSN0mg}?CbmmZ7_e@b;QUQb7wg@l>Ozi*}S{s8GaB)qN3zh$LkKMYBi zA$&fFf455K;U=U%BmEnx5Hnt{iGE0@AjOg9Bk7WKFH(2>*%>@JVjMDU>4~p~-ncvd zl#S=xFmUm^$m37wcpgK8i$s6I9sc;!J)U<9js9#pc>KvA&tp*3{~q$kBzU*D=r8TV zAAcgr`@3aDf94*1NrHC^O8kEEjS{?DO5zWY{~J1Q{c?*){6X?>CwRAf=r81>{NE*b zw{XPQlD{LtyCoz3F!?JJyjv{dkB~nv!MkN5{wVoV6TDj>;*XK#th~;!lzPEWx`aKz|Gg{rzKtcNf3@))08K)|cZh`}pt3 zyWr#N$S+9n?oyAhSH5bBHO5`x@n=bnG}2w$@eL%8GSXeu`inxyzQ2)&x;caC z53;q9?n;ioKr-c70X!w*!TiTcchzbaPmnJK@{GZXriw1unp%!JM*8S6bWp_56* zde2PgY?86wGZQ+UWUTkhgw7`!>pe3e2ua3z&rFBcG1hx#>Q%>B@0qE09petqOh?o; z*MDZ}Q`cPonF*_6QkzTaKQr~KYp(yybYxv~{b#2BbHL)h!R^X*vA)+4=-^iQPj zS*X+Q*qFt-3)AZ|HU1*5_BwmCUe2l)W@`K;T9fu@y`5FB%vAkJBjiomqhT6r$$Dv~ z#(z)i^{CwH#Vl5=1NqaO*V6~!Su)a#`HU!+-jQOipbPU$bv|`cp)}x(O zFVEEYYqZ{xunu%qy*g9luhY6HVIAbGdU2-4-%x9~N5f7nx;ek+7-Z-yi(|uiqj0JsLiwEBdH74oTM|LFX)K1(@os?7V@7ZcsFI^TgfNwDcod@e@s4UPvNF%91|Dqxg}AKo1pPe z$S+9nZffc$36k~{ZbrsGCF%DRZZ5{rHhB6yg`0)?skWp&g`0o+!MmhAg`0WtzmRO$ zp5ln(kH+WDF_!q(1Zi5gE?v9q-*x|eu_WQjlL?UDF2u4pTVymYs3zDbmLETLO3kD* zYt>@{;-Y_^vwYa`a>L{N8x2z4f7k$wjobRg6azn8>&S+>yf_P|+8Doaw++=Qk1<EW=4qLku^WrhWL!IyY56K&hn^`%w;7CQq;^u$E=_KfkwK=M(W0bXrZjG@ z{9h|np4x0M%2}JMxh{oIwp^J%xG-Dh6)68y-uZ3Qq%T^VEw7R}3qEN$)={~k7cf#l1Bs%%{pLzb#BDGvX);%GrJ(bqqQS6a;IAO(%F%faWfI+6HL0j2 zKHZl?^i)Sh>1dOB-rh-3rZgq`gs2IA8B1;5iL&tfm5O??lpOquo1#?O^6^K;6h&w& z#IHXnI)LxRZHnEfg5kK|Zhqmtca+0FfL_Op( zqElFAPq~WdF6KK7_X71ihqhk$6`Yh~6NYF71eZHq@TzZlVjM3sIb<%)-w;XeoElHd_uPI+(WE zauCrFqB+u&=vtz=ayZea%r{T^5?x5!eCbbAMYKSM5IsuI1=t(RMSbTYx`Snb91EMs zl^E$I__qCVM1zYJ-DD^wN6`vHxkPsu`ggY4?lSZVZI2szjp$h*t?%GATHnjG<;sH? z_iJU798cR+jL~4AVQgms=I&s51#6YYC7mnETlhf?Mg3^|1V`YCHW2-f+)UJ&=x?%; z=qI9YcEeM1xke;`^&6b)V_I+iFS_<+l#ZdwLo4n!jO#vJcq zgE0pb<;oMy)YdA9Mp7})&dX8MI!KKa!t;Ktv$p}I(Uyt(rP>^tjkQ=&qev=Bd8@>s zbfRBcJJguycV!M`6P?$}p**5(<{2Zpx23Z+CHk$E*_>!}sk5~rT4=UXqUS7MIngIp zLp!3At@aK??^!9Gh!z;yhv<51%YH=73>`p}X`bDQ+F6;05FKc?!-(cvTY3}S-omxI zFVRufvi?M$H+Qz9iSo>IFwt>_jwNbqp2ritX!V^y)WhmKnJCLzHiD?e`fw`IKg{zq zXESs<(KA-VSw!!c?QEj`t&~Ybaf|#pL@!&9rV>?HzVnFYS-u%Wqs(&_(Fs<{9HLf+ z<`GS`{#`+L;6Rpxm=(M%i7hln;AdW7g>Lyr?JG4vEss@3p2qJP^M zJxg?$c|K3H*6MqSsM_-VfoQO`>=mNNE!LZf=2>swAo_!OzD@LZ^L&r!P(vRO-C+^j zLUgpDZA8`9&QFQnG_;-QNo(~NM61m9H=;#`z9E`u=sTj541G_u##;R^q8_xB20usI z$&8BAnzWOVu`?i#Y+BRgK)E?*0=|(oDSa|z&nC5y`)1ZaKAE9%UfOw~eteSz@2pQp zH$}YXTeK!KUyw=5O5}3ZLo#NDWwxeuMv_lY>W)vYr6@H~PFaf9`|fUQPj1PM^*+^D zOM90xr^(!~JJS1a&*dFKqNs6}c zYqsj2jkU&ssVbLo)J8EHPf~B&WDz{)QGbm6x<6G%_U25LPR~!*ysor<%zIe2_V+&4 z@+I@mq5rp8SA?a#O@3A5Yrwb~U8`P9T?WRL>GIx`rmZb#v;xvGu3lGWvi@S~?eOWD zrtO*8NOL*=gBsrr-Syo`7yslLl{|CYoN=B%b5=P2OTFR(9W<^x{?s6%A z!W_LWPMC90h05|AmCM?yyoYiz<>Qn?D0@KeEAMAM1fPD$m6p~&Q2z&t&V&4Cw#xY( zRX&-cGP|kD&vI36h1L7_%X<>c=p2>3V=9+5Q~7FVmDht$c+Ld#e4)zu9aa7_TjeWY zyw911>%g20>6tgm=7X7&qjG3RmHjF6qN4}=dQdpoA<_|D@sHG#4(ubPgOZp0^YzK!RVelg`)sT+}N zcIxYpEgHWA`F0~^)>Hn>m8W%@GAE_0JS0QqORO=Et7Y_Y#C(`w+els+eOO>?vK zmrTv;=I33FbmqHj|K2Rshc^BY*1D^Ku9h!kt%JNdLwolD%XdD>5pe6qX}pe-=eCPa z@~Sel@#iS#YsTj(Ug<+9&!l{d*RQ);-TL6J%8%HK*O@Dw(%l`7NPiNgO=nNtYBsU) zH(-XP{RDYPMt}p%8&cCCr(`#VY@3k_`E}ANaY^ICto?&cQj)d5{J!k@$i8x3aoemi zXcU6wSTMu6wT3a~==tqZG zN>nm&hejXL4=W!QjY__uA>{!M-C8(A&lG8EwkO&Qi>62?L(jLtNwXYa=z_d6vr^?y zLl@^w1Uk|omXapNm`zJblM@YTDL7{`^i1WjXd^kx&`Xs8&UDUkh^3^<46|t|>2i@F zEhSwpOY+Q+rAeL{vMk9nLvAy)GMJi`Dfbw95Kl>&@`yvMuQBF=i;~vYSY9)v^);41 z8LI9uEZRi289Jqde)jhZLs~72JI}Adkn2YI}7CzL;r@YNS-m&q+@`? z;1?ZY4Nc`$vuO=YLsQvm=wXynEZe;eH5AJ?hP3u(@}nWGy_rPI6XVcanmClM zH8hu)A+4dgv@)boY9SSdG)gU`i=oT1hecb;frhTb5ok*}+#&X%l^kz2t)Z0+H>5SR zl5vJwMW$x8mI;QsMQ~0h=Nej%+Dl}Xp?6VxiCp3kYbceQ%%(Mz%B_a9hEloPkj~aJ zdB~8?)-rj@koK>QJZDJz*G4uu#2U(FtJ$=Ma@lT3Ybcj*3~4EC1{}7WP3T?CW=rfumYPZ`p-bdu){Wnxr1%O*pG7?sZQmZ8=~!=hc}LqnB#C!>pe<`CPm zk9=h|tzjSe-jLR?j|6yk!{4jA;^VqRjC@zgH>93jrG+7#A^S?XA)O)nN+*X{-+pp{ z*|fg>afHPn_ZmM zNB(Z;hGv%m{p1ka(pPfZC!*U|iVbNEeWlEh*3eHn7}6U0$$o}TiOxtlQhFFVGrBr* zr1Wu!HT0JgiQGP`zl^SfYAj#7ro*EB5OS!L*1?BtG?dmLiR2FlB38;kqHKzYN^WZWMH$_Iwt zKq-Ud&xW?4ltJ>Pp(X9F&KfNLFtn`w4M4v*#2SW3^GX-p8&Jv+X=7*=N*N+mhDtlk zNI6FKH?(hu)sbVQr$a2|Sm|fBJ965l9V>$kJ&=b_r zlgVb&QjU}9hP0I9WNwn@@p7rze&2Lz*70(+p*Nf6;=5PBN%9;j_nA${Z>T(KNXKue ztTQwa(H$l)89EWs9VVL%jqE%udV;)bXkzC8?>l{LXnSNv%8Bw9L*GSKM^2Q#8%k@| zHti(&m!X1YSwJZrT&!P3Bu{NNk(7K%US)=7iLmP8m1bWVpj^7x0*^rLk7M({NG zz>r4pH2Kufjd?Rt#>$t5?#Npm87u#Eh^-zcjXSznPbqvQYn&7qnpyY;P)kEv!|Br2 zkk)XzbasfPoFToA&taD`IAGeeUki*$gPo+CTQb7Z0+ z-M^e8(;Q+SrpTpc)90!wa2uDx^0py;&N)}M7}BSgY4W+D=aFxkeC-hHJ5Pd6F1i}C^CZKN#_T-F zH}o}Z)1|qgMz}VoOSwZV<$O8FY#OEW<#0n9rSs*eB+nUAT?d_Fp1NzEA*UJAUGoe% z+mP;>FOXV8x@*2bW;(>$XUfH9>wwjCrd)1lf2^i6<+>!#S#pcnT6CO|GE43-)UM;| z$Sk?v(4i=0wmfENFiM#%>m6c!7s_U{X?+*UyN0yB3+3Y^&pGl}vt1kvi_Ve18(JC! zGDm(gq|u!#DV^OoXmsaFmLYA+MN();+j5b#c8G16Ctd2GgX*AOMAxN{ZTqjRdD5TA zo&L;|Q|q7wVZL0MCs&6kh|ZUriLOh3y<&Xy61mMG`7S3V`x3b)L`||6$is%_w~u8n zl&1}iY*U(jsk}tAL|Wu^%3drzyJ&BhNKRh2?91gVhj=b^h2-wzBB3$6LW&J(%&w3! zLpocpln#b;wq7aw8Jdf`#Z}V7&|=&zu97~6Qi^A!ERlhRa*9_+mdH>;v$4m#T1NPM z*a2QGryCj%+ch%L&{Wv2k!gn36b_3nmDz@##vABMWr3lqVY^nYG;|AW*UAkJar~~6 zHD=Sfbe*g+bdPilNtVx^;uRWoQddw{DP+d_LH2l+O(P z1lx`Bm7zap_sYIWzW1Kl1A&6BF7jvOoS6L^$uLx#GZHA@&|lh)%U&kU4gJve?Cjr4 zxuGYDdS%}%Rfb+H8VJh3>}UcvPzaY z#8J6TGVnzceda30Ip%GWXQ&G2n72uDL%Js4E^Q3yntZ!d8PYZR4%y$3uE}>uPeUtk zrgNwCHS_?^bncYFh8D$!MOVu(L%+q}msl;M3~j)E@Gd#S&}Qrh?~=HoH&Nf+a-N~> zXv^I)$B^Cw*2qFbdJkA5OANi-wpaE&a-*R?wH*j_t3!;$z4DydbY;I+UN)pF`@Qm} zq5X=cX5A+r80uM+EBDE#4zZN`aVD{8YJl(vRGs+bMb*&){OkPI@L*6@%FHKa8>BqI&!s9h^TA5@>Pk$bk zX@>Ol=V7_f(1?zgWZdEc%$NHk6Bb z{g^!H5L^AYykItM_2cr2A#L^J^0pye2cM9S4Cy-fgnVvDd-SAyWk`GUr2Jq=pM9Sa zd?S)YBMl1xK?Dx8t>wB#H5yl{2oX=&jQTlS3XV>Vrvo{@tL>ALic^fII^`<)zR zNL%(hsWzl7TPG(Q(w420(+p|L*2{Q9+OqXh>kw;yRu-5|;2lB>9GPC%#dd8`7Ql zMk#lQt^U1qGMhd({$9En(&xtC%b|vJNBsxsXGnL{e~=-Drgj__eOXR0G!tvj%W|rr zR}qO#a;BlJi03AmY^W5cF|WvUL;K(~<`tQ1NZ*P1qbxF{@5KC3t~PW?@x9rv%1ws) z7Ow?bY3MerS)1ij7Uq1B{g(S`0>5vk`7IhjH35MO30-ZFlX$d#EBylS@ovE1C8p!68;*)lgjc$>(1#)2(o>mO^M z8w-k$^`86XHVtkga-PkC`_0xr)-xBES+(~(Dz|0uD3SAQ9jr53|Jd=lt%Ka-yyvO8 zWxJ;&yq z5?p1dIu_3x85}q|;dyG%i%30ZuDOhHxI`&fDIl(#O5}vie zOd|DsEw46MWvDv#VcxW0bCT!u;Qi2Zd*1XQ<#a7Y*O2e>E(rD|a&u``(9>-FW0F5B zSR8sb&Yu(XIU`Z~MZq8R4I+#leas&jrDn(6dwig5Zre_OE1P<8Cd{5yjw6BC|y1v81%^ZER{f|m_d$6n39Czv-W z;dx)Mm`FX}%fB!9KCU($%}?_m3{IGm@LU^=CQ{F@^VbHe3{}Veo&RWXbZx@(@n9&C zdZrgV9^7E4Iu+=S)`YFL*QPcYeb2?ci7<^}M3s?O?f~>e!71?*%8$NO-;nm9W2Le0gMBYbc>WmlBvQ|+*pImQpO%ZNiXt5^ zO?VbZx)G`8!?EJXbVJp#^|2O_)|VwbTSY2~)br(7tH=aH)v7?FBz zi?xaLG=!a1tRhmAzlHT3*3);{uF=$TsBF*5h^M46o;i;1+%oWf3#uMAbkniuX9 zdH#xo=f06wiPW=g;l7b^SE@}T-?gw?qO4;=*atK!@aoh=t!q)z2~yR!I5o5&hwba7iQ}pyS?z3$oHY= zgN4UMa<9{T&U0v_8Iktr>B6CrwuY)>8w*d2^i1+RInpome53H>$g!d4mckK{vywbV zMa~I5|5`XIGBfo2XW^L0(j?EZk>7@%k)pAYJ44UxqBA1vl046fYz#e{6`d7%BlN5& zIy>@3lIO(8ccEw3qKOe4vf`hPd(WcDkzyj(_bHLKb0RFQtfCna{f5>)v0vq{5%@I%8iDz_UPfeXGu02z^HQ%H z)i1+U5cnT6et&Gnh&%*0${Fcvbyk010AdQqcXzd)l&PA){;`Jibei2^hp_X}gosZJy zq7h@*FwB5!l&96;q_8{+6=$Zgq>-rYHKdXFG55ESM#?h$dHH2{{jGe6G!m`&7-=Ma zq3Khkk+K}WowgjWEAR_PEAV=&e1kMnR?0t+M&h@denc9H&rAJ`G!m_j1h?b$4*a?L zJMelZe&Og&yspOYdacImU6LQ%h1a{KD7YK1YovLw2Cw(vw`T6a>%Gz@xEHVY;g^c; z!|VOhF}NSE58&5{9>D8^vS08ZULV3Q65$g+_+(FyU@cxBmcxRF@%o4y5j=v|N9D-i zQM^7TM+cAL^>O^#(BpW`kZbU{kUYpVe2edz@=Sbh>zeXhd`n5?!IZrz@qG(0)s!bw zj-fmUvJi7gOIQNgO14AZ8u=P>btDL`DZe+80U2PvsLzd*t0MZ%;FE*2E}J52BFe9& ztO;gy{wOjR{%Nu(xH)HgWJ&OF-j|UMU~)xe5WSK53O%Qco*cZ~?!f4CkuLbe;R>8t zogCdL{c^@b=Cp}NR|m%g)1d#k^99kDS^gW8?^Aw4`2}T-ypa1?G$pF7Y7#AveHe{J zwGAyP+fsI->_*v>vM*&5NPJHH_k`C6*LLoo zGBnyhHWK{n_-y@VITD{8-ze{No}IEfIH7oc%4RtXpAFfJ>kHqih*rlg19KaEHp}SZ zH2f~t!RX^=>4Q&Gj)-VEBO>ZEf@O}N|2XR7sB0}*X`3+v+omm}|1$b7roNc^QtC^o zkE1@pNtV-Bw3bd}mQim>IUkW9nesmMsjfzrFu_UI-dD73oyaVs-jZ@Y#^^HSRXLTO zGg-n+>hr13r@olwFDA2?{)?SI+cT3TFQs)U`Kjcmk{`hqj$mE$$ypeGxh?nV%vI34rGUZMt>HLALcdW?%X`Pn5WEtgD%5jYCP{yYlWlzd)$##l(H@TTe`gT z{DQJ4t$oSQC-WScnbfCJj-VVwp9$1k(kDi}3FQRWBg&_o&i)Q%@5Yfyq3lMc8}+`F ziz(MqzD&7>auq$>QvO8w3FQP=JLOYOXWNFdCF97XP5g7vcPULvV_ai4kZi$S9 z{G4Te!7{&MncuR^?^)(gEK{P|mz1cM*(9oc&y8yIVo~jTaa8->GOCd&jcVW9(!Y}a zouYl4w8zfrxC-3e1ly_6UN154N`GYCP zQ{F_mi89hctz9X{P%fo>f$|s116r!jc*#Y)_JrpV&3KCSC~}mO15n!+qROPtKm7WVm*DsXdQmgSG7XAR4rL!Y@O)pH&_=h1T>Jr}XY<@8x$QaxAFb0s}j(sMOy zUr(R)Z1V>CY@p8u`fOyqTj;aZq?Wdgp4;fTjh@?CuS6Lulj<3bGCuf*%J7O(@?|E~ zT25;RSjScLBH!DjTKmvC0M@6A$B-WrRemh_8kRYS{9Kc2ok!~;mbsk#3X^JG8P%~{ z8P%~{Nzc_Re?5KHv-}P8*+8ES^x4R|w$Nv*NiA&~J-5+w8$Gu}zq@!lYnK#8!=(C0 zQ#f-{ICD}MnH23^DSgUJs%JSp%jsE8&kpb$UeSv_y-liTAA0toXCHbFfakc1F<|a4 z9z)MDDe5_vo@41bmYy}NeGYx*npDquv@T+e%gL`Wsn(S&XC=#7Nzc_RXB~akn^eyY z^xQzt4fNc|GPlrYt4a0TmU4mgD^XcXc`M~+%AYB#O1C5LxC%*SR84B$XzB&{O(K;G zC?BKzjIw2!@<&siN4csjBb6~{31ud=obps1o$^#2o$^#2oeuCEUeTLAy;Iev4}JR3 zrw@Gwz-L^=X!?vXsh(qLtzlhr$j>#Y)_JrpqIEg>6(-fXlGfF%eI5DrCe^xuZP>sz zY@p{xwqXl>wwhGWZS>qm&u#SF&Kf0+F*K>3(KOCX{E|M__B77SG>uXjeah0*r<^|J z^eLxL2l!x4(xKJ@HE&jBoLG=0XHRL`;W981r!^sHf-bLcbIq9fM5dak5(HOpB?e!WSxZlHA|^KK=-mHpjDemiqXI^$qcb4Ak`jdVsMozX~V zH0V=iQa#IQ?LccU^1V%}wGXWWV8z{*{1}sJ9ZPEstm7)?ke_Q(t@CJI#FCejUtv51Wc-DG=sg)(3Y2yFEgpu za#}mUin}NI-X_)BCqtvxCqru)0H28!qiG#uQhjQ`KV3YB%v_VoFJg@=$gIdvW;JVB zM`pcAT=CYA319y2*pBh!m~Z~AN_wuO=Sq66hUd77b@W+pQav}&x{)<*A-~n6TDPGb zTq7)J8$GwP#-ItK*F=4y)H9lB`K8p$Oscg*6W#xGfOTR;FY>)js&xSPX%(Z%j4`Qv z4fqQy=8&0dQu#&TpDtcbW(7-LVY*sZ!#ccT9hvnemEXu*Tghx?o43z5{q%7i4;yRDJ;cN0S+2Qu!MC&ml9{r1FcvkE>WtW`#-RSA(Bev7XHO zEM+#beR#!oNbLOc83B{pl8k)TMWzGvX%)Sw56IW?9RLP3lBvmWE-w_MjOE9)ou$+}KwntVi~0cQODbw0`!}6KW)XC( zLey77A6~JM%oZ}+$w(o~EYuoHsds>m`AmHPbnJqt*U)DU^+nJpR;-4cRi^jq;VR01Ggl(&-)2Ap08lZ?;X5Ic-q*SHS;On{|QY#JYfe;R2TTf{&`nwkY|92E}(NeV4-b z`L-DOE`#EmpqyYlMam_E;yX_HxItk~Qa(xjDaxk}im!Sbb7fGNDCLC)g^5w_GAK-( za^h`VwJ@^qMareONzW=7S@?0v#|;WILHVRXVWudbHYki*z`Pk0CQ5msL1AK)y9^4G zpqyABa*=Y$pfKZ>m z<&y@5IZgRA<5W@R!Jzm?DK9iAOpJ1uL1E&Q69$DTQ7%PA9;bZVpfD4ZPZ|_vit=fL z!l;GJi9ul&E|mVhkj%n`!o(>m<&y@5nWB8!pfKtZ z=EtBgQOXMq3e$CoOb-28B6E`6TsEQ$9^uUCPuAie{AZ z!b@2vMi#z{Oc$B1ONA*?9w$x^r-;!-5@(DUCl-lQMAas~QDTf3Cl-kl#3`b>O!|Vl zjQW(Ll;gxAaf+xGQ->HM7K!7;DWY0J9b$}FB#slOh-xWyh%sWESR|^;#dn;juDAsD zRg^e>h42%^DWY1&c!)7#oLD4|6DNpMM0F+gi7{fFSR_smr-*7fHHk4|oLD4|6DNpM zM74r-xPqZ5M=8gMabl4;PMjc45mh@w5o5$Su}B;zP7tSvY9;lFabl4;PMjc45!EVc z5@WMH6JW5hVINSq)}5mg5@iE(0)I8K}(P7&2=(Tow}#3FH=I6<5u zsx^$07$e4sMdCPdim2XBO=64~Cl-n0#0laQQFSs8#5l1?94Af?r-*7TVBb};`5r!gu@-x^<~FQvIMMLe4Q-)yp`p;HLSGJjD|9OKZ0Kj9 zUx(&5UeUO=@w&!$Hy&!dt?{15&oq9e@nqvaH~zLU(zLuO*0j6nKvS;i15JO_^ogb~ zH$BnxouaS1 z3x7BKT=?bi>*1L#oh|QdInYvQxxM9+Ef2MPwdG{Xk6K=7d84Jdb#Ck8*0;B=Z|!c~ z(z>H{PwP#siPq1zzI)n_uwTH!p0@@(V-Klm*pqn5ULBiH+!(NZWHz(T!+xx5qc-SO1>MrIQtMwKVrcbY4O|JtFZ6#D%5a? zO5*F>Lx}Och%tj0vxsp7U#8CCyV3>3dIYhKsc!7I?7@!BUhLM~h#i`nuzT#C*ooPX zU6^~Y1M_<9qPzh+8~0*Y;*Hn~_Acx^ya~Gr_hF}?>;`-f_Dk+p6S%4i=I75->d_@f zfV(ff6?g;jqqB--IkeQ{wQtP+gR<{=my55TDNz5IFO>FuVE%tChkB5{GZ|LL`8_h4 z_owpMbT9Qzru!4?Y^nQmQl0Lz{Al^HE4@5a zr&z6Dt@G9SURrKG?YUl@jwCw&6g#UcpN&n&XoMjJI_l!)AnsJy6hTt{rg*#zvbvQ zqcx|oL|Wf}m5;EDmtQWa?4qohk6Ti99ZK^D7yST?y6hRC_SG@p%d0SZp2TqPB@*gk z;>o!p;}@KOI?jJ*iC$bHjAD!W*XhrT?~E6Lzg_fCz#pF{%zeabW{T$inZo4e2|h4i zu$w8aU{Cay_YwAm<8vg`v%G4*U@E#Ee!57)n*Mm6)U9cUmy4_}`<2JAu5^D)U;ZZe zKfOdsH;4Jrq5L)Qzh|(Y`vAy39UbsTSt^3bwryY*9}U|8kDRpxc9P zfx4X(IS%}swR#o%g&u!yns+W@dz2;B{bk=}v%$PH^CI8_^A`a>Hsf;O&~|^?l)itmOLZ-G1qy7KEP(;%M@ zUHKi9b0N=12>CUW8ITuX#*p6~nFaY`gtIUU%!a%W;VjGqb0IH6X!%8s^C4e`(3V;Z zv@x5!4f0Z;jd|fh$jg8><_7$ZGG>R1A+JD8@|zM1A+N%$Vqu236mkdRvoK4vL0*IS zEc_C~V#sR|pZrR~QpndJR{5=iD>9{BfHr2d^^kV~ZOm-%fZPYPF%NY? zz8+{}F6xH77ieQX>V^C+ppE%x6XbUTZOlnqAnym-DuL82bpU9q0sI21g}HGXWCv+l zm?L*U9zvQH-lo_E`MpTfQip&x-lM>8L*p%qJ&?0V*~0vJ1LPc1mM>7>2)TgSP`(^} z6J&W$!s1&JHfGlSklzQiF}o%p-v+etR>J_~_XBP0XLlff0BB>zJqY=Bpp7>jQjk9k zwDGRPA;@iH!XyNUI+aMoD9`UPKKpQiE3G(NGHr_+{ zAmj&uHY|Y;LH-kv<34Zy@jTbF-_5)q@&rmCd*MF@`P+C00KduwwDCpCPeFbX zXyaF@KMnaQpp6~$pMm^+ppEZ19*6uxppCaSJ`4G8fHro-e;)GR0&VG%@lALFeGOT7TJ)lX193-5S*1@cc(K1)pjZFL&uv(!HVZS^AF zqOjD@fi`~K`sbL3#kbei1SNnem*#g>l ztK@GWHvnz?g7zuMO+Z^UTYm>R48&MxJqvjn5M!P7Bgp3hZM=E%JmeWbTg|k740#q1 zW1aOA$a8@rQ$%0Mb-?+2Y?uhtXYr;ff$P{{7$(_ z0&RtFyg?oU+A3w?H_Fv}fwnqi&4-)@+W3uZ{64wL0&O*7T?qMRAjT!@V#s+Q#wBYZ z-2%iIWi5q#8xUiZbp_=218r5bu7q3y+Uf(= z3dkP>+Uj;|CFBnQFstgM1ul<5$ABLH-=jR-eb)Jowr)5aXD&3-W_N8^0ai2l-1tTRmj$f&674 z#xd&#$X@|s9J6kO{AWOnW7bWOzY4?`HZ1&pxq1YMG0oZ!`B5OoG%Er5F(Ae?YXI`& zK#XaY1NoakTYbwq2zdgCG0jRr{!1XnH0u!LCxN#5t~Ct#uYk6C%F06i9?(`lux^I@ zG|*N*wDOSu8fdFYYZUS+psoJaIs*CcfEeGbG04vXZT0uoEs%c%wAFLgZIGV_+UkE; z?}z+jAjUVV1ogb^$o~_FvCg^+^2}OX zY&h0% zf5U%o_(H=Y4c}_`Zo}UE<<3BXs+WctqndZ*$UEyUd zW33-+#qayxjo&V{LPhz;hyTxNkneqX+)LAT&k+9xaOW7sGt;)st>*rsO}GTsJPzO( zz%i)euw4dVMLDorlBmlhY?dT!s3h!_Bs zNWwZw!lp>VK1#x#NWwNsqD3U}{$>((L=u)!5;jBj-my%=E=a-}O2Q^c z@+!>0+#|xbc@C*ZY;lLw*KvN>ZfSVfp3(3%oWF*1ms;7d3CAs}4||mF$6;Y#@!#QC zf<2yJ!0`hdPV+755RRL1+==5J9QWh+6prIKzJTM)I9|eWW%w5LUvS)xqqXH0bqS7r zIPSx73dcn2E$T@e-^cMcIG(}rJdS_B@iQDRhf^IF94^ z0*)`^_$rQX;P@7fCvp4$$Ej(k){WWRaH3Ffa@~o6At%04ZRx#vG?7jf#=5h^BZ-`o z6Kk3sxvH~k?NzH*b*<^>>0Y~Gb;sI{?v9@J z&W@EER=0PoUAd-f)#{a3t?XQ*)@{oUj;5V!)w-Rz)Zs+I*)lwmc7~mdq?yh1IE6$i zoxfJ?$n16sshqPhmmS{SjU~dvlJouh)t*ctH<~XvgFT5tLiLS79A4g?O{X1}Cck`> zlW}sX0o9#OA=ceaek?Pf4mySXTQd1VA~WD@8C3b8Q+$z~Od*vyXncK6@$E_F2NJnK zXVAw>B(->-er;_ZE4qEiW-8;PeY8YfgBI;=iNe5;$)qa_kBf(R%4IVS&F)N$rL&1a zHDb2UA*axLbOhJi%}S4xbkI7?rOKC`yFqSE z4X4CQveh*(;EcF>Wykhxp>K3#B%5>9kQZ0Uh&wVHvRRVryoPb@q5bQtzb8EiZ zM^|?>-!~)`T+MHirc%#S_vsCzsahd7Co(nSb6a0^O5H=*)PPgXZ_i?osHVHKgEiRQ z&Ts;qD08qUF^u86I@rd%<fS4SYTXiX2@+3R{swZpim8MHrJlkPo? zD__&6e>9ibK018B$yH}?2jWADwi+R^W2cg9BSW|uP(ZHtgPkH=j0AM zx&G9!Q_EKmsr7v2n)SfIOv6B_6?(Tbkj0f4DD*g}s(dXK_LFW5>NWC=j*z2&4L=#q zw`2yLqfQM^-Q#O`=xVFsvDG=4NbAY6hA&%f4W8|yKaqo}QC;J`$s|f%&sSSD)uA@0 zYDA?oR;|o@Rny(s(M*k4q{`}ep-mpDJGPCm`1&%5k^E4$Mp}L8S}aGBnm!mV zYVvMpsO_t5v|MdZskEG!f7v<;`qI=6tSy%6s>R?vJW`{)-C3k|w1&rx+0p7)u1`5f zs#!MYYFbbJbv$*0uH(6D)X9xiN7!{BCAXJV9%3+S(~1VV5ry?xUG(z1#ouRm(ckax z&1h3xS|2?r;3g7IlM^$JUzY-9WK*A{wk3|5p1IS>^~sQ8?oVLHZ$#tN@iRt@BP!z* zA)R6oV$8E`b(Z+n?UF{OGHt-Kjwn4z`~TC4xJ@ z_vUihoS215=YF^IUW^AMdNTvUOPXaHN?&G1Q^|>5&`_jW1?6hF=3-f=Oo)at8R_ZD z!+LQ+p$gNEg5g%cY`{AlxmKVgpxoyhr_t~+n;fnKNdNW)(N-vvGNMEzHYhm?@q1x)E*}{XF;YaAD(hoKJN@4NRRcWa6jPDdgx;n z9?9koc^-Q*uuMFs8+;@3ZS2)*&n+3b#peP|!nJCvwa}xJse_|A>Q#I9IQfBGik7

D81ehH0^~3jw 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 IpSs}x2i5906951J literal 87552 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 BVx|B9 diff --git a/client/Assets/Vanguard/Runtime/UI/BattleView.cs b/client/Assets/Vanguard/Runtime/UI/BattleView.cs index e9f2ae1..57bca08 100644 --- a/client/Assets/Vanguard/Runtime/UI/BattleView.cs +++ b/client/Assets/Vanguard/Runtime/UI/BattleView.cs @@ -72,6 +72,7 @@ namespace Vanguard.UI private int _pendingBoosterSlot = -1; private int? _triggerPowerSlot; private readonly HashSet _mulliganSelected = new HashSet(); + private int _abilityDamageIndex = -1; private readonly Dictionary _cardPanels = new Dictionary(StringComparer.Ordinal); private readonly List _cardAnimations = new List(); @@ -207,6 +208,7 @@ namespace Vanguard.UI _pendingIntents.Clear(); _highlightKeys.Clear(); _mulliganSelected.Clear(); + _abilityDamageIndex = -1; _pendingBoosterSlot = -1; _triggerPowerSlot = null; _showAllIntents = false; @@ -963,6 +965,15 @@ namespace Vanguard.UI if (_sending || _connection == null || _cts == null || _view == null) return; + if (_abilityDamageIndex >= 0) + { + if (intent is ActivateAbilityIntent activate) + activate.DamageIndex = _abilityDamageIndex; + else if (intent is ResolveAbilityIntent resolve) + resolve.DamageIndex = _abilityDamageIndex; + } + + _abilityDamageIndex = -1; _pendingIntents.Clear(); _highlightKeys.Clear(); _pendingBoosterSlot = -1; @@ -1215,16 +1226,17 @@ namespace Vanguard.UI gridElement.preferredHeight = 176f; var damageChoice = IsDamageChoice(); + var abilityTargeting = IsAbilityDamageTargeting(); var displayIndex = 0; for (var i = 0; i < player.FaceDownDamage; i++, displayIndex++) { - AddDamageCard(grid, displayIndex, null, false, damageChoice); + AddDamageCard(grid, displayIndex, null, false, damageChoice, abilityTargeting); } foreach (var card in player.FaceUpDamage) { - AddDamageCard(grid, displayIndex, card, true, damageChoice); + AddDamageCard(grid, displayIndex, card, true, damageChoice, abilityTargeting: false); displayIndex++; } } @@ -1234,7 +1246,8 @@ namespace Vanguard.UI int displayIndex, CardView card, bool faceUp, - bool damageChoice) + bool damageChoice, + bool abilityTargeting) { var panel = UiKit.CreatePanel(parent, "Damage_" + displayIndex, Color.white); var rect = panel; @@ -1267,19 +1280,23 @@ namespace Vanguard.UI image.color = Color.white; } + var canClick = damageChoice || abilityTargeting; + var selected = abilityTargeting && _abilityDamageIndex == displayIndex; var outline = panel.gameObject.AddComponent(); - outline.effectColor = damageChoice - ? new Color(0.98f, 0.82f, 0.42f) - : new Color(0.42f, 0.18f, 0.18f); - outline.effectDistance = damageChoice - ? new Vector2(3f, -3f) + outline.effectColor = selected + ? new Color(0.45f, 0.95f, 0.62f) + : canClick + ? new Color(0.98f, 0.82f, 0.42f) + : new Color(0.42f, 0.18f, 0.18f); + outline.effectDistance = canClick + ? new Vector2(selected ? 4f : 3f, selected ? -4f : -3f) : new Vector2(1f, -1f); var button = panel.gameObject.AddComponent