From 08e1b506b13d5a138608298a221861efa0698118 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Micha=C3=ABl=20Lemaire?= Date: Mon, 2 Oct 2017 18:02:30 +0200 Subject: [PATCH] Added Prokhorov Laser and Kelvin Generator --- .../exported/equipment/kelvingenerator.png | Bin 0 -> 45941 bytes .../exported/equipment/prokhorovlaser.png | Bin 0 -> 80714 bytes graphics/ui/actions.svg | 721 +++++++++++++++++- package.json | 12 +- src/core/Battle.ts | 10 +- src/core/Cooldown.ts | 6 +- src/core/FleetGenerator.ts | 2 +- src/core/GameSession.ts | 2 +- src/core/LootGenerator.ts | 22 +- src/core/LootQualityModifiers.ts | 3 + src/core/ShipGenerator.ts | 2 +- src/core/actions/FireWeaponAction.ts | 14 +- src/core/effects/CooldownEffect.spec.ts | 34 + src/core/effects/CooldownEffect.ts | 42 + src/core/equipments/GatlingGun.spec.ts | 31 - src/core/equipments/GatlingGun.ts | 15 - src/core/equipments/Generators.spec.ts | 91 +++ src/core/equipments/Generators.ts | 27 + src/core/equipments/NuclearReactor.spec.ts | 43 -- src/core/equipments/NuclearReactor.ts | 14 - src/core/equipments/RawWeapons.spec.ts | 87 +++ src/core/equipments/RawWeapons.ts | 41 + .../equipments/SubMunitionMissile.spec.ts | 105 --- src/core/equipments/SubMunitionMissile.ts | 15 - yarn.lock | 65 +- 25 files changed, 1111 insertions(+), 293 deletions(-) create mode 100644 graphics/exported/equipment/kelvingenerator.png create mode 100644 graphics/exported/equipment/prokhorovlaser.png create mode 100644 src/core/effects/CooldownEffect.spec.ts create mode 100644 src/core/effects/CooldownEffect.ts delete mode 100644 src/core/equipments/GatlingGun.spec.ts delete mode 100644 src/core/equipments/GatlingGun.ts create mode 100644 src/core/equipments/Generators.spec.ts create mode 100644 src/core/equipments/Generators.ts delete mode 100644 src/core/equipments/NuclearReactor.spec.ts delete mode 100644 src/core/equipments/NuclearReactor.ts create mode 100644 src/core/equipments/RawWeapons.spec.ts create mode 100644 src/core/equipments/RawWeapons.ts delete mode 100644 src/core/equipments/SubMunitionMissile.spec.ts delete mode 100644 src/core/equipments/SubMunitionMissile.ts diff --git a/graphics/exported/equipment/kelvingenerator.png b/graphics/exported/equipment/kelvingenerator.png new file mode 100644 index 0000000000000000000000000000000000000000..7625265ebd9aa7087e958e3600a8e6053efa9e98 GIT binary patch literal 45941 zcmV)*K#9MJP)!x4L_} z2beLZr_lo}unR1(^2fzufSLU(79@fFHx{$s^|8M$urx53?s2bs#^WJvQ??|FqDWR1 zE35Jqk9*HK`ynE;iWDVFVo@U1^($m$WMpPUWJH|bJ+FHX;RMe+^5w#{Yu8pQZ``<% z1Hg1T_1$w8E(Q<0hGsU)&V=9rplO;^M4X8DDz7qN<1=@ZIv0T{k}9d4bK;zfd7d`_ zaL;=wHa9EaHqsB%c>46|`sjDBT)9#Kz}2f)BV8wt_E2N@IKguY`lb)y1fPjk@UH>a zI%xu0!Jkg2zOHN6G>s1zFZ!jxH%*f^O_No5o~f!ckz}CiMI_a}dSD1^n&k6#N@*H^ zDR|B?Ns`5c$ej0eo~CtLRrQh-mV}Ug_+bQqB_S+{006FCy%s_6I3a@P7AFMo{NYoA ze{{58j`Ulztt^D#%d#xyNzzwU*AJnPo}^MGg_^n4NeTnk!l|le0FawGWPqt9K-%rH z0Wk&CKt&_~z|3{#v;jdIaSbyEUxYicB?&-sh^CSz3}1stBgdKoMP{yjj8)BC=ibU_ehwl{MW*v4DTjl>BrVH2&+}$y zFsS?6+tud~!4fA#@EqWT0G*yx|CsDU)E7jGj zS0mBtwmTt#Zx|;8@Xewd^$)H5<*2_D{NZFWoG0_XgnnM+p%+R&NLlhSVCbFeGdF9Z zJcLls5%q?fo4?yUyT0EWZAhN?`sY&IJ%(zKT+)%sHK znP`)l*FF8aOcaDDyZ+Gu^-rO7@yKXH!6+F(pc*s03J{Qk$| z{9rsDqG=H7x@KT3X?l<(Wo1~~E1IS(ilRR1EIjcIeDgRVfUg%hfQW0?{55=f)ZduT zdlTlhqOJ!O(Plg1^STj@SY#w-o9AD<`0Mi*UunqGDX2R&pFg~``^nB9Jlx(rtrE#V zfZ0-(TX}Ce;E2ZkS(n|~|JHtlx@Tqw@4fjnmAseL!}ZObQ(Idf6~q3nF&!{?m&CTC z&Gx3#MYHq4z0tfZy@arU*+kRypcmtQ==Bz9SvF5H3r@b%$|D*xX4UVl02 z&z)P((sa#*#fFh>)Sy!w`81ntUi{9bTc^*y1j_umP%mD7cz^E?c0Rd#Db@|Eb))wq z<2tqSM9X!wy4sJwZsp!O@qg^K8O#7?YPUrMcFyu%5e93+>DuPz{q?P_k5X^@Dcp9Q zCiiq6cjkM0<@P6^jK1$w95zJjOT~s7{Nbs3)&XW~c9+m;~P>P6*)Z!KZ}3 zRrxRajq$j@8{_HasIRIcCOXAL8)9~D>*ezwz5LS4byoDZX7hvB?|=BwAMf0MaH^H= zmB^x%^+O?T`Ji21eTIJjb12dgTY{(WS_5&pmVo4*+x_3%%fTT9*IlnZXd$Trl{GZMntVtsw_2bVA3bs4`DLiPIn z5AOca&iw~l1_P~h^j4@J5&TZbSL>EX@yPP(-x1h~PmYqnp%$<-4{W))RvYjhp1nHn zG#eC)(_8019*)-TX1#1X1iSB3{+%}S-MjDIOBb`5Yh+S-=V!ImGuZmLALHU^?!XBN ze7$hr^Z|U!@tMNk8;?gb=22>PMgpHU@Rk{$BaxS1`N1FFe(k%j87Ijb+js8%i{Jd> zmw!5+&ib83-wHD`*fE$7A4Cl1?mc?+nT`+yGlA&Qb&r$CUAjPS(au1t!3D@!|l`n2ur>|lF)n_hkO z)p+H~6~1xfh5}#!`n6xVeG@Ma|LM{H@PQQ>;EAsvC6PnVy&bw8 ziHKla)m5*V*X!&PO42le<3T@3;QNDVIzVHQy@fyvGoKUb2?>1tI3a-JhXS#A zwlQ%%nMq|?Vs#3EBO+dQ7ZHu~f7 zcu3R=zooV*np_}>m%jH$Km3Q`#>Ptr5mHaQb=)hWCo5r zul}K1eFTRuOgr_RkAA>bpE+D=lLFctq9aKKX5D&%SsOMq02+nhKnylz^AcjQx4V0x zs;c7Dna#B54U=fG81>Kns<<@Vz4MV3aI>D4YV-+Vc43C|z4P(I4?lD_Zrs3?D_1Hr z`$AES6MQ+G5Ww*w$77+s`Nl@ymNx%V_{Co&({pe9`44}-G1z!{^6=r?zx?^lKZPom zLcJ1v{ zEVGON5DYMd8Nrxf#1M&00uLivOy-+p;I%FGgI?yNMW3!`zr6JF%Mb2-@`*Q|=3yQ- z=@Y`XZKHYh)%o<^J-K=FroVpuI$#z-w47Faf@8pm32=O9?fxrQaO1{}e0O&@n+%7; z;bbyo=1~cp=0vwdlM76=^}Rp;;V;&Dqu2Hx?EKlUe{u6|gMp|`xMBCGs=p+HcJ${X zPQFj8?@&XmYJ_=-W;RExYe*BIQDCY^QwKf`156bf1=56eJ7ozC5vB(At~(B3NjgjC zB$g(_3ItjvBoGlXz(j0NCrv1vOW>2lJ9fDxQg8M*_73J%<_D@%@hAZ8m8I^VIfKQW zI}~HoAK$u#6I0-LaY6vcgO%OC%I@KGF$7=^>TVi%bM7EgIbEJCd@?X6D^WoaY ztGjnU{)^w-`sEL;8%|fDyQ5xxrXwWq*0%*H>)I`tsZzyeS?c0D z--&qez~=Kge*EJfpOC;Y;=}|vCM@m#>2&I+=cn1mUF~lJqZBw5RYz$e=cDMw%YX92 ze;5u2mmc2Ve*3q-y#0Oa5^#<>^;QD^#5g^0ROmukAuP&c75LACGy&2CH1h?LB8M;X z$87V~BrpJ~ojGDk00XA1;=E(hrmp*w{qZ>_QsP1!bKuQ9tow}}V4Au*&FUC?B~f$c z!GpMceiyh00Ej34faAl72JrOAaSeP0t?K{q;lrX|_17mh+3+r&iVdA1;G7A)^iO{H zM?YWNI(`1&;rNe#^NU;mOf^y~{0{8+kI zLG0lC5sjdIS~(YKX$}CyjzOM5MntA8s!5U-!o-f1ed>xCBVE)72cEoVmrdhbGCDo$ z+hj747^B|0bqhEC-y4eSCtASM;)DR64z22c_j>C*pZBSu(=cqA@fiRYUwPw= z_fEh1(x{ov|LL#(+kgL;p{^N3j|u-_63?N{|LEwiQBY532xaxn2>xR*Gf3S)LV!z> zR_*UJ6zirP8Fn|Zw#FBM4Jh0lYrBsQ>S*eE?h`MRekrj zzxvfb4`u0=@$^*+FA{H?VXN z8mSssf)mHaP_GP&p&FJmw?zy|T>6S-n7wrN?5(?#iF1_YliWvDji>kau=~m+o|pp1 zhc8P2hglzA2G_5D`>xWv?|K0E1mIu%?ce4LAlWR>72~`aWFqUKEH@Q6o2F^;#t(k* z5tIJYJ0E=b=Lh41J{}MAG2`*{-A4$(fO(?1?y%hnZc;}sOS7`9+)h{Pxhxf#n`rhxmlRho**RRvHzMw4U8+GTL$ZOyGlRx>d{muTH zd-r$$*?a%(7jL&yY6;}{u`u70h2IpYClg3`vF>m79{I-F$|NuVOaz~JkYi(?Sn8el zBn|9caNbv0md*#m-VP_l11I!>CGuZlh3)aq4r(1&JokGc#&Y`7OY_lqTwi|s?dnf| z^rLwF`gOc|<;sh7g1#WOE?@pkfqv_qcMR9B13+6_>T%L&N#Sz|;j;vko+R`)FJC60 z6YL-T2-DlQ2>`0mh%O)b^6dWocDvtQ{rgto*Z<)^zVp#Xz07QV zcRoMEO>@rG^#uW5I(7d1!`Hv}Jr}FRAKm?@0@{$`3;@vV@Z~%^GWnc5}e~EacSv_blTq-Y^U%K4E|Q-+|6ct zdr|K1+aygV3e3)}uOIBqX7!oZUaPlWeKr2wd+$X6c@s(zX5*JE)C9|TM6a+ zua6Bs1BP$DX#lXbvtz&^DO>{%3E^{y;7KOHq3~b7PS>tp#m&o?>BiPAn%*80-hLae z12ij3LYh+D@6(0xn5qjGP>;t10L?i^z!oqAx_{p)_|YhN`|Y>!n_vAZtIT|}wKc%~ z`@^JZHXGoSI5)~NPAs3x;kb!Ps( z$Mifx&9FF_ptrdJB7zaYs7oRwLNp?Vv6(qFBtjHPq}R-<4cG4n<>poI(>+|={N2I~ zy=0M9yFm}iQf8-4C0SLG?C!?5-grZPdGB5}FG8#fF9-no3)-dYlYbp<4zKm?ByKr8%5M*JH$ZqRf*rq^+q zic169fB${1ih|17jMp}m!nC1sG@=+I^_`=bB;-mX3`+n*NL78SF3SAlkA1PVoo+NuZ?`Bm5aTGfdM(s;=9TaN(XV}yzFbZguWaAHe-TM?MD_2o{0L7@@G+p8 zO@NLdUUXE`If~Ib*tymeUE7MDKL`L(lD5@$-C^;LM+Co9lL4Tf z%m8-a^xG4q4P_0tvEHUTJ8mN#&cQslm5aS&;?#pFRj^emYbo-Ei7z_u$7_Bo?8=@L zsY@sX3R#xQ+FBjW7V3Td#^uZM(MKP_d;cvVfOfR!x;CUKxM{3TQ&VQ^g}&A?8q!qr zo@i1!Ek`2_?@u*NcJ<>t*E5$c>0mUnovkgsdHFJ~;X1BeN2?7SA%P_Utc3ra%a`fK z_3Jb}f1b|NHScU~QF`Z&+ge}eNs>4bap}5qur*h>($$%BT$w`#RwYgW5@S*#GLGb9 z*MK5zuZzX_!fFIzzHmv#sKUaFM=C7odXWysz3enXaVqh0nycjW>F@o)dvJWIoGxCQ zO=oK^Oc|ghdHB2D|k49?y#e1<-^BdA|>G)XpmO9v~v~j>$VV zCU4FwF=>PqUc+#``ke80_=BEXw|nT)*cw(zINJGNZ}Ex(W+PGLACcL(=cP zm`)P_tB;u3INm=!qET8h3vt^7?IL#X5 zxnMSH+nl|qPyi7i*G}1V;!K>jRo4O=C6HjI7QIlSu~8o>kqAj5i$oVf%=!}J!2zYt z$;SY_J{rmU<1ypicl8=z*MMaK2Y7UP=e6tC>E`9jt=c~t(Z>L1fb)QhF(#?^K60H% zNhv!?%~K-5r|K>7fxKh&X5_`dMC1S>urbsK&cnL2*B3eYP#aBq&LNa#Vw@ytUH9tV zaKLpuohmj1;q=CvfAE1pUuhb7X;FuPD|#y@-(hi%P7ApGy>P_f3rXG86%1z z@hRAQ7@^gGyeDI3a}JhxHlKKPKJn~waV+eT2++&Xr@;-^W?V~-_0htTBu|3Y5ga5~ zlUdLjUZDKq5&)#lZ6s%8X7FTWFho-EP#DBm1*(yh0<#2_q~REYX4VjrP(#@DgeVp? zT(9EC2RU9JjbvwQi*8=N3|zmyiV$=`TEjJfZrr%eTRWF|XFliDIj4E88_tKmraTy^;+moE7^h!(qx-ySww8lwg5&t`#%n^0C^?r1StlywlEPIXq1(4^dJ z>U`_W-tYFeOPl(7bRnDUjJY1Hua~ti1H~$GRm4U_cKUtYx^+vhT)nE-9`ONmqyKb# zo{CEY8Wsh|g99gJ>3c=tE3=f(C0V&^gZ?Eec>iE6fov+Uv7YDa8*9V$H23{p-~lErJM7$Q6`*DzGMV!S0MtI4 zk*Tt(Ig#jNkkrgvmgjX8$wOTiby=s&UOSHq{NwrSruxi;j=H(~&igj}_64A-kQiI7 z2g)Kfj1R@3cjfA7Nwdkr=fl&3-qx$b;t$XCii@esi@oVXKR&om`}LG7sYpav z&;S5g3YeZhS_GuBSU#z&Qt(tlT_b0R{;XBJw3O%)c1e@uTOaD<@2y%CwA*5W!LBG+`zq zz_sNG%?MBX&^6A%$+V(dMO8l0KBPzV0JLFlMP&jV9Wl3Bd?zQG(V@X;B*48Sgf`@xTpJ%nmBu zrPM`Vy87bUaPiUIPlg-k2H{|Dky)0-q9`~3B&y^tUBdMCZMwO$LwM&M^VhFmCtSXa zw*lOK@PN__4snqXn~_Jw)&v)l+@&e`CTf}{E*T_g{^0(-B;noWzr6n+>Ce9Vue^cS zv2U$6I3n|8FtV;(JedbSCP*(!>_hT70$c&{QEJYMUIlpJM{R#136nv7s{==uq)*?f(}@2{`)m zlkP#(W$s0rgPtgS!QY)^lPePcN}QV^^O40j{eI&oy^qU zs0xS*eOj&mEGjrg;qP({z7Bj9r=@<*=MOaiT0K3Y6|7d%(tIM~_S`Q&Mn{xOB6^`p z1Q`UXEoqx+`+!0uKvf`!5Q$J#6KwznT+V3K1ZI-pJSV7!DW|k1Zv23Z`h;X3>6EGR zj?fFhqTAuy0N!sGKPN43jtV*0J0mx@HkW?^3f|PSDOqq%)x4AKgO4@kf?dK!&KXpR zn4uN{gDI52YLCoCpl9U#I%X_|eibpZB^RL8In53`;i!>_e35~_+uAW5Bmpr9>P2%* z8~l7^y%aui$9Vkos1k4_JFlB2;j*VB zDIr>(&1E6N=fJf8k|4BG0Z3bI#uOk=W}RCWatbH?hQoMa+4xGM`&2Lvv?O+t2RY!Rr97 zuJQoTRTlZhFOa>KnLFrf$*c(=>E=c~$s12VAaE1Rl{C!8Jp@-uz1BoZo5lt{#v&n~ z!X$AC9I-f3a6$>ewd(QGspFpGns!gZ((4ZZP_U`7nmQFIJ2qw_6=Mm47&{-w(GmU$ zzxTKtX-SrWh%j5!nAZV0fWbN=&yUw1P*sZAfnreyq-71AJD3?lT_4N#mz9D5fSB8p z%}0fQSxv_>0*fP&Z#Ies+Jh2i;nluiK2=-*kmrov;P@SavjfH6R8Z#; zxwb@C&T2?_`lK$Gv?jViF=!V+3YikfS*WN{k4D8pPPK&@w*& z+C9HOumDsFFq=6qFlb3EE?A5}fKnY@x`@JaO5CKBWE{W;q?0+uyqM?7V)N|UWT$Ro zDlV## z0j9pEGC|!`PjrvqvocTW__+nWle(k`Th(sbU6T~kEr-7rxsDytn=v!V7Rdk z39YB6o;0Xu0eHqUiK|%z(txP#ew$J-+n+x5c72*6NfUrq6_d>o8yqVW3o#3^2@ywQ zH0<4+y&D@Wf-Dj!f=tyx*jR~4yN1OersqB=VC3|$=P4s9%q3B@A=MNy)IO3@piIkV zfx00-Zw^p;=O*Omvjs4VNjkHKp~gnt_=z=c*bjBArA}trmqOiOpzq(gW3S_~0k=SS z%n3Mr^G(~@+0l;y$^b!8kPm@mZBRbk4mkCl{{Hxba^1at3SlvhN$o*%G4Uk%E}xQdlTi{C03WITY4caM(%P|pKo?HBQU@M)+kQloR)PFg7l@5!c>bM z6$=teG-z+S-ynwA`UXvD*)sd6@B`hn<+vTPPng-9D073&$wW=fmlLV8! z>Z!NuQ$ao;0}~uMBS*%p#*T#9gxDgOB9TR6SHoFJ8TQDyF^9%fA~8kt6q#IP$Epm4 z0?-#g3lJglX-iZA@M$AuFw;t)rA7t`IailuUZbSOq^zCG7naUvbCP*=;7XcHx%r*` z!NYB?c`d0}B%&x{3|{ISdT}QYL$9Cq@CG~gi z(4O}a^PGlBf!I%NK1ZapYhiDWl(01xLh7O=yJm@+B}8z0s-C=KHDlK%W|K8aMns=# z>inF~+SaCVD1b~74&@?^O~`CI>4inJsdHUtwf<@DO}GhBYWTf-&8gTltP)v8VcJFp z=t$Kc>Z<-ctprTm`xN_dA#?04DI&HIU_QoiAx2Jv2%BUP(NJ= z(x)kgr`sBc&Utf*H}8Gq#0AF`$a7<$;GC<-@m!s|XL{0ys^d^E<7>Qa%VEF(YFmXC`LGL<%@DK&*(uL;+?|)fxxiBm*=uKr^3Pll0Me zxG)VNS~itx9QDklOWo)Xd+XLMd-v*916_kh7p%Gl;2i+Nd-rS`&@-1VVe`%%>{S)Y zUSo)vCElwO5mk-mT;o*}fPEYPgNq=?oHDU88CZn68Jd96bM5MXA`Irh0I52PA&upt z@3gMb7<91!3`&j65{V7hA?Tt6VlWkfs=-tMHFSyWAhe2)%;rxWLQC=t91m@8iV>uO zd0k+BJbt++f{~NWDcwkg}135s|7wl|(%t1`{$DoobAX zKqApG2X-!0F~*Q2(WX<`T#FJfU6SoPcXW8~p1t+&|Gi!7dI?~q$UUY7U~3E8!`pfW zmvCV=vz-9*9wvY~=Y(R6oSUmrIE1NpoG==4@XBP7#h8qlyb>uL#?egpg(3lI)S&z4!mNy8_Rvrwk?A~Bj|5dynlug7jZo95H4UI@5G68gi2%!t*EYl@W%<;_KUfuf zq*(~Z2n5A%Ke_O9Kl=AVK|#PrYHvCt~MiC5vi7c|2sTf-@5UWL2 zOHHCeQzA)|7&Vx1l0*T-doM8rxiB2c%nfw=%pDyTZ`#&qWUFdGojJOs@m34CdeyEi zN#G~Kv|@Hz_qMmS7!D;Hahy-crTLsa_c#P$mkFyVM{$%IlOm9D4hvmo zTn@lJ_r91%pjB|l09vTmW}by+VZNF&DrSvM=AfJ>VTKTE(GUzfR*u90hX{iZNQRPqh!ot zE`!F#Y3^8~ue7PW_D3f50$NU|x_Rb|Ob5F<`^D6@vrLD@J=@wD*;}`6*|o>I2Oa8h ztrpPM5AW)T-+cF7+S%H&ot+&n1|L}R`cR8m!P5nJt)In3UGpMICT@yh^w(+&9R*#XFH39mRJ^)SbjMwYE8k-MoAmTY&5o->2#A+q5+*H4X+eDIU<)PM<38sh&&W^-C4Aip4xs`4lRf4}xrmWWN0rd8vcQX8%70M+1C>%=TH1o5z_CTeO- z-J}76wWVGNu+|X(lc$dY#HwoN!!2Jo4MO$xuxyfN@abXM@>o@{_>?l{UFS1#AQ1yG zV9sD=?X0a?QI?j^X7YW_|Uc5T@2mAYq9H6kFaXKZ}?@z-AAEe}}+A74TDkKt}gaB9|=19cCtSn*-(`BI= zn01M5*3D~Ong(AnAGn;(9?APRiO^7EI4F&{Y@3(Ub2j|XV=chj<{OCu(tFJz?p=ATn7ZLLh zJ^&cVr>7u0J6_h;g%*oQL#Z=gOj#sH*cahELe0FR5I_o3w9|vgU`mdtH3gQHUjX39 zl-jRC0*iwQO!aWuY@2$BmoGd#o*(}ixOw|Rm&$l}>|d1tmI@~kbq=p~gKRKwW}Zl4 zW=;dBaWEotsR-1oFhysJhHA*5C>BIj6&}uF+}{_j>zHqB#5sQu@c}US&Uaog0%*~U z$8C!KtB31adjAQqci1fS_0b4#UAbcT$xm>tEB5*B@(YJ)=uf=KeqWakJF)=+VAqy6 z>pMp_c>Q`i$M+{c=@JaS9eDTFEyBM8UVi5-x;vT3B70xbm^RIWMyc=BF^3q^koH{V z8f~&PUBtQ?aD+N`8VxR*uF8IKR}n=z62mGa`>)c4dbv!B9U1eSBAo?sF9MI zxWrdYaLroAO+B6J?86-{ibAvMr?N49O`3i9=N#BMs47$h?abmYuLbPgf3PBeqhO|EZz#;4 z5y9QN_uwlX`*QSmT?5oKO%3ef*}kgXZ<8h~{o ztdU`8z!1P1f&TXYdH4VNKfd${`SLJayY|!@InF*^&ph3dfY%K8%hk?~P8shUYzzRd zt2fB5^*n45{`EWm7HB&zjsc7f7*nfJRRoO9Feb*>jK%~jVW^a8Y@wOl`eZ(}q`&Cz zy`qY3BuNs`ixn#FxzZu7QALho>XX1pBF@O#0*GyiYV9VsnM9biGx*}73!7P68R@GC z(axQ_xcKIGKUGuj>w=kK=i|Fy?aM@MlT>Cn=aBXL@ZOtG5_R6Uy$f8TF7ZMNV@Dun zVHn6!jFMJaLsCJc=+6RXY|c4b|6o0Ytt|g|8V3L3fBIjCS?1T2Xaq&hu)>H&L^d+T zhzKJPax)YLj5;s%@{v0LNZhJ+C9iI{BUx?s=#8(?`*?w7yS>1T`o0o!0OtXmKPoay zGO=z7?}}W^Kt4g#2ylVnW&v!T1A%IT&e^coo5<7FP(p?lk!#Z@a{d-i?8T(wALhQOP43;4F=|u z%#y?tvnO_*VVuT_92l7e^i*YCg;YddR;%8OV*j&6%hd*bGaaJnZMfo0+5p%)SRl=O ztD1JRGCQwDS4s4-8QV{PI$lWpV zD+Qx---R?ac0PU|d-p#2%Exo(SGRHM{Mkp=J=}@d+dbY}`f&|KMe)(EZhz(N5fRqU zT*9e~ufeA&xb0fP3WEp|2v)w6Hrml0a)0W#~<>UPvtDA>B9qGZs{U$UHN)kYDtEv03L zzJ+7$U+^u)2?2ZotVR~*F1cqZ?A*E@sO$XO<@z&q9dCH~*+a5es-4{3$V~jyHvFAm z{|3X2btGAahvW6*_{pCMVqiMn$H%vS^OPHEJ0rW!2e2f}RcN$Jaw4NPhr-&jn6022 zloV|V5Ca>xvo2w6HQ-JgJJAMyKTZhX_h5M=F&~cXL}(pY=p0$JZ2L_|h~SVA4mAY^ zb+@W&+hk+;y{Cd1ZvVs2@%?}C&ruAXZF})*zQAw)?(d&kxVUoyI(G2Rb?38F?a_8v zXrm+Asrzj=0PWV1w(%8cOQdRwWraXuf~uX6z!$&?0elXY>LhnU+O?{{E@w{sUd| zk7GFRkoYz%+T{VYc@e6uuq(r?9qG*sqzW^FLZRlsU5hzZw9jU39T#qWt0yGz`S?~4 z01+WcJW}sL%w56_RyJi@pr;!tx*JQhTmFm?+)^lcHG;Q-+>TtXBL!~XXI=^VDzrtk zIu>TvkpsFK?|=wH&DtJ*#}u@$%Mv&L%+{Q2!6; zu9@>lyhoa*Say$J+V|}>(iIV~D#QSz!_l48x>DM$>QB`63RZ0+EzGS0@v}%^N!YC> za^(6QA^VkI0_X@y(Zq-l;}{SSV3Oh?#)h>-OPB#A?sCP%B5F;$3&whvRp8~*s(q3QtA?XO3iZ-DT30mTRLe^7wps*JH8;ap2gbO-&v&@{ zpa0)~;Nfq&MFD95RJZS2%fsGUKKSR#ZTZ}m^OA+RzbM8S zxW2jm(yvKG;D>+vclhZ){Sfbc|4;CpKmG$~`}Lr~HU|FX@BSYD{QvyzmlE>7yi^rW zoE-TguTs(5{DSuBLcr%Xda&wO8vV1>d;Cz3NcYp7_Fa5gwuGcGV z03rhGy3U&e00se-hkw=ZjNX?&-ZwPSJalW$8FA%Z#?&BMm{{4!;>j9?BsK zu>nfWcsYIMYhiFGY3K;J3&K|Xm%siixD5;o9`30T@~iBVhp;g-%ZT91Nr%45^-3E6 z0BNOt;^`xN_S)*!{@nQK2j2xCf-xwtVU1yXxNVjFI{cX*whZlCQ)nLc-W!(Q`F$P! zdX6&iRL&5D!C*6mP&|F}4Se+e2U8`e5Q$&fH5vmy`Nw~nu-&$FTt9g-qXHWP=i58j z7v=PS?%L-6X;ZxU?RSFLGb1PE^$OYb_&s3OV9j8I#&wK=CXS(kVFnR{SnA74@EfHO z(6kH@j>~$6jnrza+UmQCm93uO;b|Zry}JG9u2(j&M*WS?Ef@Nvwy`#4Z{VS(z$m!NJHv)*V8Hk`@XzPlb z*Pi3W2Os9!lzN9>x-kGKOa9`ckH6H{{Ot8`=w}_M*WZ0NPFL5?i%PVgDDsT)K4h|v zrVew3X=C`W3e^D_8xf@PdaL`MMj#+i*WK(%f%}*R;dxzSa~7WmB9b)xCGhY~5%4jr zveH?&soX7LVf@+t>G|9TBE{9VYYnYAAdR#3s){dJ+1JFbD^YAqYgm?!r89?ZJ-xrS zi4e@~4MJM0N?o~aBs5**>iKh=@9r_~&kr_M8G~1CvsKjf@O=xeo<50ZZ@=XbB`ab$ zh6Qvunu47Yk+hWT!1OZ2=4`p{(y3~#LhPaJhaqQ)ITQ*(gU5i4F&UWq75QF&jw8Yk z0VHpsiiG_6t94I4YrXmg0Qk9f&9u(pKtgYThko>-0Z1be0h~@~(lRrUSuCuIes2w} zv*p-($7x|Jt1k@yb%*%#d`)*E*gSFVK3G^X4^FNSjn+h-zw;J8{O5lGCeA&3-#h%k z<0qQ!4#>{)O14Yi`Th62FN;glsQ$kBfSKlflNkj_GCcPHD|LZM7G={|?C)h1!Ad2u zfm<3Uh^zx-{{PaYtbOuxDdNN3l98l5{#)@YtgnXw5N?(T%TQi34fyQbKO(l9EsR1v z90Ga<$=p<%%m|=D|JK@e_)iN?y<=G_i{B*vziGrK$so%*Z{f*bd!@s@ffZ(0q|86W-OElFGQ4645)`8P-2nM`0 zXb?u-T%awIOThzJQQ8Dm@i%VwmA^Q@qcQQ>u~9^@W)$vF$=Tx7I^2=AcAo~b0z;gOS?@*Y1h057G5`_ENaj~U^7dC-lobiMip0K1}@kbNhbv!v?@Gc~9$vHN$R zYUEfc=Upf;sjy#W=)dLse6-%t`^IG3kcK3)tbsh_Jj7NgH;Wt?Qm8i%ZOS> z!T{7NmL8k!z%&6b-K>~@Ez^T|*n`SH1Y7u@?Y!PQ;j2r>(i?i$`TH!Yca3?_ql`fn z0E20O!LuLDeXDJ8L4&BMii8L7JABaz|t66U}N!>Jr9AH!<2s)Q1l@BPgJw_4=hX7TzsPo$3`7SLbFx!Yu0gq&9DML zw@n^=9!Vx>vXs9z>uX~G=JBXd?sF{kzCy3s00h(&p=9T^UHfmg{nFbn3ynZ;1v6GM z)(SG}Jn$p&=}`wCm`1=o$t-ZZ@%*{G_x5vHFJ~Hqj4_ja7~I%FL~ZLIKNVjkLi zhpr#1pFc%7X}%edBScxe%WJAy5fCFgXh0&{dm@mg=+aXkz+lnXVF`!&2H?`Rk+oP7 zP!y8zbJwghyh>5nueQEk20(US1HUjV$qeVOdU~ zSSD)@fzPU1e>JN-ycZ6Gn0pzQ3)b^R?lir1R21+3K0LciEWLEYQg2D=lvq+iLOP@b z=@yh`=}x7)Q%XPtfd!;Nx}*hZ>CT7G?>yhX=A8Lw?lb4iYp(mM`|!Y}y`#_jd!MFu zf#d&q0lW>y9V}hXg|gYlGY`sJS3wP{Af2X#0_K3vgn0RMB?ge3PL4ehGH!tqwt!{?dNQw!dgNAaRMD zN#4Y2L!Db1h^}#Y#d2k>9@i_&$_lFw_ccY_{{a$Kfdn2I4Z1 z)i@Wks<=9#IeAx6%;%}7zx(>5ajpzFU%62CsH)$X6eTZ#iHN56=wfa^yrDk|j@SV) z_--blGp!?*yYrC~#f+I#2xz4GSI#cZ7_7rk*1lu-+zyi7fy(IV^5x0m9CQwgR2_eT zCDrz^L5&vRvNWYdEd6+S{-YSdn$fC@yyL3kMut0@z)`r?9&+8u*k{zt;Sh|gpCWs@lv)xvX3A5{- z@NmPm($+Jk`yzbfiMyj$hffX?|Gf8`x!q3db9*j$TN$bD9A&cTZ@cq15L!5k89wK# zcYM`~EeEEWPjVkh3IP&D*+}}|2s)t9$7Z$@gWU97)Ta!nf>?DsnPLQK3CE0&XQ<~E22rKZqVWzIk!V#k`+dp{Y{b!7h1HHgXI{yCMZ;kl208sRC055ML zf2$}XN1k2Uc}Q2{7bJo;R;)c`;+V-$Q{%mslKpk?D~RT7I~HJ%C5U182P$B1A|FAZd=)@{1wF#5^_)ddkataX*)3s_3HtBZLTa_Jp@AQ{b!?a92|LJ_Z{Lg%9KA^@M3QJIo`~YJACqosuOfn;;aGLF~ zpmylId@94TfhTUp=b{J!;Icb@HrXBkv$g=GKg&bDfoQeHIMb#y=c_=w6W9l8&&{+% zqSgbN45<9%dsPf;z@8Hv0mUJ{6+xuzQ1ZFC{Jn z^G6bBZE1&qeTe|?pae%^c$+3^0ZYZ(H{ph$IR(Xm*epC-J3K3zQ6ByzD%J>|nR8gg z5-w;&W15=4&pAkom{ZktH)@ixc{i$<e6Y7Y`YG8W_m& zKV-QDoPMn-hK4zDZ{#&z0m4@Mb z!25q)?UXnCJK+tn>@7O+pUw)WhcM?dH`koMj6e}YMOs132a)j~gXa}_VHG1(V5x^k z|B#NmRr=#UlSUCu0{`JOWW!q!9)a6Qb0HXJ>Jt7m7FEXrYUu>Bs_6~f*5fRqHKa{9r!1FfmVUoW~6p7 zS+++O*h)+p<^q15AC&+kkQLyx#w?x6TKkJ&Gg@4=Rp8m}?_N zed`}%q)bP67kRUC+UBd%o@E$+O48oS4?jIz62Tj@XQp`ThS25^Tet$FqsfqAI4U50 zARnqcUO{+f@nL8@!s=nUGH&b|3YZ3YmCFpVvJg$OA7z}>>!TWP$t`ekpQ$asTzwlj zjd{FFc)CJoS6oq@ZcfYb`}bG+Jr}Jr3V_NR(>i6zc-#060l=MnrQ^R1aVk$d%u!J@?Qh`6FlNFcYnig^e-Xt58pHw0kMTjDGN_P1m*;kH z5Pb^6BlIQ3hZqDnK!dGY&x^3VfK+i2K(R?N)|!cJGQ0?c1;=6}BO|59>z7Jxh+ul2 zm^i_d9-&{8D+_m7__`kliqM*zx&vqP@qjJ^_l3|KcZx{N{;ovj%%D8g0oY z>2R;8*CgE8U^0-CO?b&ACK!*wZBB^9oG zQpuoqi+f<9wZ@r}*t z*bseci^OOqEDeOl)MZU}tc{`hX%B87;6=9>@HhINj z8hcYo#14F>UrSBzfd882u`TJTT`Cq?uNDVh*?ZoPlzQHNc}i26Cb|7E6E(K@-o80I ziI*}-I-r<+vc@9yV1xUT^wH^;A! z-37TPShEK*sAQRzC(+<3@=V0 z%0bBjAsE{A*ZWY-03W)9-M5Om3zxB0Aw%zH7%QkSk?(Ri%dOkD;LvqW}H z<-tOHzs=JDqgbzP3(2S(4pjzYtuR~)qIvFTkESEz!wgm$?|-h2O+3fO3oKcjvk(As zw0vjHo72|c-nC>{c=R2iT*AFeOhWS&f604TS~chB+!7fOB4_n2_CTP0pspbfu;0=|*} zPz)yy&G`K~5+l#;mP?#7a5Q^gSJ7?3eKT>R@vFTVY*7DY5fKb8(oQ+n8hbpcy&_7K zqCu302i9)3L!)M%w3;tRFhN#ZYhz&cS({LIEjaftM>8_Ft^{->cincjYyck_)n$~1 zMSKv5bR3InqIFF5ARk~=mbRe5CJEyw+39(wU1kmuSxHbJ7yXa{n|>E`2c z8c`9$uG3#(jd;yhRectQ9sBn)qZeXR345v@a&Jh0`g?lXjA-OdQtod4GPAp42SF{84!n{P0wDjK3 z%Qx)&V;#OV01S^%)O+10uzvR+lPsb+x4azh(5o`Zse=C`TBY%U#{$usEX2Rq`LTFp zNhC4U{5r8^F<&mEqRl}_vwa(UU&#zH@d4CUZ(nRbO!(w#S{p3vDZf=GS2JpneJP4PtaV(b)fVo)lyqDWm}9n6MBV+h zk|+kI?7c+n_D>5*l0f9oIYXcXNzi2gySX<9Ok&*quGzWfDDC5fEByxGIO=oPXy)VU zS?1PqNG5c_y1y)Z=_k__Wr@qMz)aah!wZG9XlA8bm{SBP_TdKL8bQRM?X^RJ6h1!p)p%Op0@F=^m zY{9e-^MF(~blq$JftK0Gc;ovmn4<`h=e^*Z=UsIo?wnVly$OOyljToOk!@hc>Q ztbkkg0j*r4sikD{q;avXm_QUUwd5M$(|J8f`t94dZIzdY&p7qIJq^pi$!R>bSz&#( z*{Ns4f#gYveNQ+gZ?&8lOJpYS+%10Sp7#0HiznK%Hs_FchQF6b+|MzzY<=Jphqsfk zCo2{15r&NmS|&6@fKf;SHo{Ond`)~A?;_`+DGoea4}yU}Tv&M6XwXwMs${wAYMFlZ z6Vf+5HCD8Pz;N<+J3`qAwArM?%t5{+egCjjT;4#-{A36HJuP2wK@1OG?av|~H^?xp z6?qz{TX&8k!o~OM;pNo;fmCO>)UAkVscfU{0+weU^k?jk(1vR(`kvo1XW>C`Z8RBn z@OJ_@#v-kA$LW9V=ga)!-~Fj2S(9YmsLSr%Sw5dq2|;VIOY-kWLvp++!`+ay30VZp z7hF>}{@%Ms?93ddvMci3tt?D1$wT@C0NZP0h~vu<#|X~FcRn>aIjgJvxl9YnU)Tnu zxr|l3yx9!x5(>m1#D2u5v=AiPmO7Jg;+4L-tntgDk?r4uIpr z%&Y12H~Ey*~I)Wl4X4*&(p$}v%GJ=!9CRAM{BFww&cIoYr-lI~M}G)?C?My$d~ zhd&)qn?&9vfc}NdRii8ZUL;lJ5ZESK*gWU zfDNAU$}Z13(@`8kikuzZdua;}DLK<7)CBJ$Nz2+;WzktA=Q2Je)+a|*9SPg)vbgA+ z3H&776#b*J#x<6mft^HbAgB|fO-dAWw7)eYkRL>XwMFJMkUD(n-XOEOhKrJA&~P~= zQ8&eT-;@u*N%@T|O0WMze*pb_!d-TGI8_S?`5i#H^8$%5N4sh*K5ksTzp(c_yjHr$gx=)XRGY<|NEbvxZ) zn{mxy(?4bq`TMQ&$w-C&WRGHSp%s-vY#kUkm;_(;WH5hOcy=5e?gN4B((Na+qL@xV z`0s#=x1ZLeeH8^7%uFKeAPRyHMMSS6nrJjSYp0lMd9j@Em3?A<(F{2VYw^xuIL&`4T;ftjoHMS3Y;MOOcWiYR}J zaUOe-btnClvx<0xv)V_qttt7NaX=Gq|4 zd3S&Whth?=jOe0IF*iR+k@12Vua-xq(3C&~ius|~Bio_9>bo|*hE;=(Fq4pa2gGa2 zL+X!M7HBoy)f=0KEMoVsUUk|W5-9wc7E-S&F_BeoM)L~GlX1dMSY;|fInP%YQm@)W zxLysaLY@t};z*>0%B|4pii6iIZaGcwZ#d=i?tN-T`Q){j%$ChG&UR720NQ8F+)53< zJDCE4q0+MhjJ(Lsm>vTK!yg1w=$t((-r9kQ@-KA)%MtZ@SE_ic2#&#S?YM1HMz#Ff zf31JeEsJs}!JSe&;|$tWSfAZV=K~Kms!vyh;b?^f4KUpCDqVVe4~DldNo``+yB25` zzLde(>*1AN+=h4;vddrjrsk8&v3k(^tTfGg;UXeEMH1>KytY3w z_|)~wxt|&yl+(2i7=Zvoh9%UbG8zFeQu)v##WKtAXImK9 zO#B3h!QE08skfMbNFE5_X#;C)i3rKV2}pRjkp{)fdMBSwG2rP|8AQ6#B{%AWub(-R zC%F`cIcS0GyCQwotsEVM^4P{mw^cQ1u{ffOx%`HAiod5vgnNzAKz zx*6gwq=}a=(3VQ2A(`=ZT$N&DiYg^#Vm{sgCZ`XjT}#+R=y~deuq$Y#*|CG!ye;gQ z6`9~s)%|;>wK=;fKtmU2lMIc`JYIS%b-0loS4ig1!ApeFO8lk zqOX`)%M5(<%=h1zi!|e(=k8+tcd4C|J;>+dk2*N26bd2x8N$sM%I-#NcVH_Mx09cu z4Kbu*saMO^G}CKav$GZ9!gE|hPCRX5w9Tk^L<~hN1?05k^z^mtE(Ak8OZWsSzjtxi z4EnNs)=Q>t2!1Nd(BWs9YqVvV{0b+B$N2dts`8eJi4yS|)h2e;ve19{>A?!&(Yv_# z)|}&eBGflv1yaU=|KTAx<3v-a9~RiURbqNco504nyJKrNEVx#N!QTy)rJ$$(@rWhq z_xS8;yE}f|Ft`D|Eq5%H!=^*VRL$l-$`JW`e!Y4gDK%?zS3#z(KBDAKFACp?sWVw! z&r(K^H-B;A|8e|_+VkHC^^f~6TRdBw(t%)!ym3uAZMUdY8L@<*sCkeJJiyczt%Z41 zD%wZaIGtvbU0$Fb*@XQl9LygbjaiTJ1YrQHm1c2|u;7eje~h@Zu|*9UQLc)qvq{MT z&M(suc1~lW0?c41+?RS=fx`3@l}}WWgUG?b!O_F0WGAN7?Y2e~f)Q`_Dch(O!^`u# zA6edQSlb+hY)D}rz_w)}u7(PRV9Dz;>i8|f=8FRtvgYBTY)4b?he?>~GblnK5@Ve; z9{P|Y_9kodjLT1P6ps=1Wz?L>*@&`7t{?&c<%x#(*@6ZDSyf3T3=eT1BH zoC+uqzXjhOu#=xqDreIZwf%eD&qpHh0&ptRMw_S}ODUFoO@w?4IZt~r!)r!Hq2N`U zMipqZw-d1tue{6~`<6dWoS(8*&O~0>OU1qxY+kPMj3-o@2HRC7iQLrZ7r?m=lz8xk zw@{U!_Vm0-+iyHPAwXvdR69qCzbzkeJ}5sxF9Al zx{@7p+07O1@JfQ^$83J&pV+Er&^NRSXMi>2muKV-qSB<}#X@N7nT>M0wJMS&(3vFg zVs8%PNlVv8`{SZCl)!V^yN}zzn9lmH;@vM|ceD^~GkTs>=5A(DC<*PCku+vOD(cs) zzXcdy8WKf*(vU~1v7X{l*OYi$fog1%FWB zvl=9qwd%)D@DwUmaOe3s>9Xf(cAWaDZWDHUtFF)z$`qzb z8$i%g0M^q5izvS_sG7zgRKU$)edQ*~WB)>swhSTTQ$LnClaC9`dtntwuLTMvMw|eP ztdebENRyIE%_QZrt97*}+wH*=Iuy^-4UFu6ld6EMS=3lokU#EyF?y7J*sdy{HyIg) zPp4pb{ecQhEItAj^af9swhO&y9lUE(@0{eilFx|sMzo&I~;Q~AVr z^!$&nl3F1YV4-DJYm7-!PEyrGPb=#P0~XUN1pAN$n0N)OV=YHHWipKk!8`X_&VVhH zWPig<`0j7S0P1PsdQLM4WjTAs;jfOL-vzR=&96$^vyaU%L~Rse8u?je!fb$c?7XMl zP@5GVCi+AfOmU+Cx~^C?J%_?)dhEdSPd1O3HY?cHD8p%>h=?BpnkilJE7$mNt>3>1 zTYu|YMajzrO8dm2v6mRsXLq@J{zT1Skygy-^b?ZsS@mEn0}spmU7CRWgl7rq;oizK9s%{?hk`#F|==N(Jc4LBiUYHX63p97h4v(n^2C^XR35V(+Lvfr?{r)DT4en(Im+ zwhqqH#b{+Jg$v`2z;FjzSTpL4ISix_9=Kq5VE=o6Km%fCgXVro8Tai8c@<&by-6o7 zVIDcdM-KCvzt8+^N1?gcrHF8au_)pq!fJ{cKTFtR?%{-#yamG~&?;YZDQ2?-t!ZOT zXipI0puo>XUoorBF^N9DfS|$+%o?+a641lcd%mIpb$NQbO2`u`FL(wr2s;Ontx6bS zOc|~c9FI5ypESg}aT53H9RI|)0SST9SRnz6Pn3^FvZ-Y!7CQd8!!*dKIlV$ULsqJ= zI6_YM+P-Q^E?cLv23s{#Fn`fcdj+JGs2pr0^>&hKF2FR8ky~+3EqXOE>v075c`?^< zIePOZEG_|r4AmigIh#}1nwAjB>_J3&e$*w#N@A!Vw1!WM(GX@VA>4^b+aK|r7eF)o z0{4HtgcU_&P5TSbHX<0n#&HN{nmD$uF@>AMUV^=w$(dLx2o=*g+N;qxer1@KL=|X< zGU2GbClE#%>YjQqhp*~aMw>&&w8!8!gX3En{C8FZCe%?as)_MGt)QnL-@hav)3sn1 zb5xc}l9wN7Q3(YS&Ec4xs|n%sPap`s^|AEPRNBl7e~M=HyAL}D%SZ#LpGFt(PMDJ? z&JZxStmH=Mnxnz73Bu!sw;D-Y-)fDPM+zsIo{pcq4)A{?2>AbHAkF*zp4*SC{E&FU zXyw~XZ9^8xXCOBLuK$uT{}We7(zRZN^4)#t3Xsrkz<|Z17C$QXN|N4ozl|tly?UJz zaL7;6rMvwWq2FSnv{{R{V`t$tES-K}+sHq%C@NWh0;->7LPHK~ z#h}rHh+;{^oYhOa4YTy12*vRk0TNODvxxt3OzdDs>4&QFI+mZmcrcX*OO|RD-I*)* zv9*)xXDl%tLs`m&NKWTjd#F?dGk~tF%wPHt7p4iWsVfhPx42jDPz!@X7D$uhIw~X$ z-lj!p4aXfH%wk_MzE~36`s_~}wD5NlF~K;HarB8RXE+v!%NHFIAu;H!FvIP~Itc>RS!l|n7a(8vy{|q#KYddEO$q{$C zcN$#6iY5Io^12y8QW!(BZzavFuEsljBj_L3Z?ERn<5-|42ZwE;A3JU_+Hc#wMbMq$ z(`IOnkSNJd-PV6*1aWet)j2sUlnEmp9*>jW%_4aEBJ^G#QOoB+s+G|R zhi~)KB&?fuzp26w%1>m&(rsk5LeJt#GN7GQ@22OlA>o*{+y@lxT?(jRJA?&=1I6O3 z?Cxs?c&HXw2%}d_|9zwy6Aa|88ap#(s<9#dGMu`VO9;&VqM!R{?70Fdn0gN*E{m1< z#a%#w5P|!V{nKyKW#H#u5d-EIqPCmS_&o6+S1c<~TLK`%^-U6%*%hmw8a(FR6mjMX z*SoxC-R9jeb7G`>Lyss9#@E1U8b=D8!t}#aL*WwhY~HY6+m-o^C}1+*CA+LEwT}2J zj01Qk@KqYMmUsFx+&EkaxCPNCd7n?4mON8xXlB|2(&RZc=c&`JBln}J0{-ID<6idV ziO)gR$6@T~*G_4y_!OX8c7ltw*aSO4a6rk;iElNy&3aH?7QiZF6)%J^-+OaJlXN3L zern3g=-_>UczJen>tO?d*MmG@pm99gQby=#kah*y=<*Nk8v6Gkq~_HN`SfZG8Xv>+ zi^{i`#4Be60e<}LAa=`37duwKhSJqT+bF(jfI%iMgn0)30)k*JK{f`KfQ8kF%dl%k z`vKx~1NIof&h7raF^oJjU&bWShyQ@xoN!`XS{+c?uh+UHHE{kh%o1yQd|cre8qL?3 zZBv2U9u!Vc%PuW~Z`xX29I`d6>>BuwWGK{3pY}hGz6qjN#e6-IX=JthlT&MKTRC09 zW(&fY-{n+22IJ!BjmVFl;FBc;tfScfP;t+}}oR%uB z_yO+ztA!vRTchYCmU(40B6=x>l?Pq6IxWQ zBk95MEWTf4iJdt2-{}OjEv~x-gb!WgZ?(Rt+Pc-o;1leP6CGk!-!?9HKn|{*3CoZeyEth=Wf>G9?$?8E5&f>~)2_Z$Z zw|8)BYb%K+VZ&;J=@2NFAqSNs2US49wi#{kP5NyRkQ5p6|1>JnWrQQi0W<rWMkUnN7Co!c)6CveYOBiO89*eX3iftB@4?ZH+{S_+&P{%Gl40D8J3FN zSp7s;0&CfJPc&sRyYzpbP3?&V(+Ucd#-h>zib?Ky=FYr8iay!LfBz#{&abtg?2q`9 zrYidi^8eg=l0K)vJmYX`5_KEPCCaRw1qy(YsWYr*uSwn~{%4r~yZ;%wR>NZd>=*vm-~Zfl^s~z^JT^_NXid4gzYLcS zlr#CNO0Gi}n#a(l*JkN_Rbl46*v+wC5kfA5YVuqBbn&+L^_NCcm2o(IC9h8d((*GI zdZRE#BZq=!>N((X8uBW^W*}t*Y#PhqE7t$7 z@1c&I?H_eMP@pzI!{9t+#@iFK(lI$X{0FG|i3;A;Z|{e-I%=Y%G3}4w;F-WRNO!F7 zhjKMEyw`pmwu|?7>%7H4qyLW2Qs`FDJ_W@Z>PT%wzV=^6KZmw3qCw8EJX`Vl9Ambn zseFXO$Zk!Vi5@PPIjAy4&D#Hw4O2p)`=(VtoF9motGchcE4&Fx3-mY-(aH<@-pU|1 zuzkw;Tr@h88iIG)*!Eytq;F-JLlc4-&P!xlHYngWfmZ_7Aol-PgJgtBs}J{BTrMwU zmEbndJeAIB39>V0zHd=~@FDM+($Ikw=_LI#WHWeWvAAR&G|Zn?zzglCG)ubf`>|(K z_iWSeu@|7R8c{`RqAA~Oze3w~>X)+4SNhSVp`M`JEYQ~925skIcVHvT-icp4~exYl6@ zblR-Gp6kf80g4+I{9aCyBZ%a~MUe?>P$%5)HsD@oAbP(2!Elwebf)T($*WMqsxAIU z5}5I)LW{8MJnZ6W=DY$+(0qAO#P;Lqc2_b4Vb7Vth;S$1xcB*6bTSlTeQFr~6x)lL zVoVRkMhWiW@E#UghL_rjyyImw?~-H0{?NIQ|1@DxO<2kXC4}lpqJ^)bH2|V?>Va?z zcZe5T^7{kR*8c8!CB@64Ip(%*@oudm2c6Z6!WUJ!BE8o!%P$N~YqP5B-k6^5?O+V; zV1FUTVx8#shg?j3tNBpOa;AO7@Yl<%EvwGtpw{G|Zh6I`ZP6kI$AO~SsoLcNr&ck) z03O@Zl0~3EV2VEXx!hi9r3Uao^>>E+B6L!|ViDC4GJLaRc*a$+)$~ z^M4YaV6;}<(tX0ue_P|Zp$x-Vh*x~P3x<;fO1;JNx)t4{Fj)=k#xVe+-o*^Sr4R57 zCqH~7`Nn-fPz*ggn(+ourR4GvoJq6`A`A`Ds8&u_RNVr zxMc27b_bMa>|KzaTF_Y0P6BcpoL*yVtgv#jPdrkRT$nEvoXT8=q5_;M718pM(6*wB zr1B=66hRL#V-SLF<7lsnkjiy;H!sldW&(&ol#^!>iR6lp<){H}lY375%QF+H5zB%q`vUWRb;mcQ!EjXsI7 zK=W*h#y&Zs@wZXQSKeeqGGzdro$8D{56!Gg#2MCwt(T*A$>#1%p%MsPU8`zmr&3kK zUWl{=6k<-T$)yP6DwOaNcb$52#X15P$>w~3*0W!g#v2AY7?qE;v`Khn%WgJ#7+UNk zszDY#6GM2f5e^0O@Xz?`hYH}NxJD6ze8XG^%I6^LDl3onM#ntG9k6cF=GWbhSRIb$ zram%PRc`et-47Q113=u)`Q`smkgm1~bWlt0sRb&gV_PmOl6yrDTOr~|gm~b; z0-Aj`e1F2-b?a$UY1K|91wgSNo-r>9lLAxcFD_d0lqoCK2Q{3xHW&m8mYtPOtSq~l zW_f6s1~PS(*%1~d=c%)uc!&>>qE0>nk5jyDtrovXIh@r%YhK>4gcNEG6+3KEEr5*~ zEXSm8JQBDJ`;!0h%gxzwia;Kgp|ifX%9l{hN5`T)<$RpPe{=oL;yC5Ml%#FLGVS6B z`h~twFP`{+e^2)0w0qOi=oRk(eWLkFo|Q2sl+4DX6sl*1%%Y@jVdAV zJ%=nkG9}8`k!&rSQyFky9i99xC8_;G9A?*}Bs2PPO`7VLkXo!X@tl1R%=$n}`)R^z zSg9Si9D~BPqxpSillT#~BVHS!coBO-Sb5tje%U6&a|nQsE={KM?w3nmBU~NMOFiFH z?v0<{U)D8^O~C15$d!}8$_Y(En1%zo3|g*M@z(G)mX&o}<|GD(ko+f% zRI}!V?KS^Lg7(nahdaC&-r6iRHmF;0X6dMlhgKIn6Rzm<3|I@xcckT7K_kkyR7;Q{Y$=1+m|pdY0u z+4Xqi*2@TAq%0*6btifuIwRJ29RkgJ22q_J9=LTy? z@P8G&eK2GhalwwLV#6R}gBEC$hvLdsVSLh4gjot!Rj!FElY|7pr!ZY`3okDW@_c|k zGXad!0`7Xdcq+)I(q8daJVK31K}VZVG^QsgC)YIg-*sFkP zU;Bo|M#7_sns~OL+|Jv}@Lkq%jXZrD=FZw;W*Ru(LXaZQ8irVjlZgXEIp%bTrYbXM z9+}PN6H_FJJaF;A6`3NgIkLe+U4#_3Jj(~-j5LcjDc2^9I7>B%p+s* z5Ap4LyGVDvZYlWQ^+cPni{Z(LmKdP0D{iMyuzzx7^(u&0GV*9tsEksk;qjmEIfahO z@DScN)3i)dLr1C& z-5YQr)ah!CBkYBth(bycr=0-VW-b?Sp4KmOj@;Y~VBQMQBW5Gb)0AiT`>Bc-fjvM1 z;nh&^ivih6@DhoiiRJ$``lJ)u^3eYy_bEg{P<|(MxWKb8(Dd($TrDth=iYT{HFqx$ z!;IrmhdzP=kX*zlTl_k5$uEp+Zxfqoy&%ZjasFGQ{qODBon^zwK^H}Nr1jmm1Gcn$ z7sZp^Z~giBB#kfMdUy2M09{%{64)MkXEp`@32Wl>l8RSBC?F{i@l0&ag#boy=F`sD z5W9^W*}xaUHua~o-|^SGS4X-fCUl)7QHs^JXmN8O;EBv@k})f)cTZBdTMMkb7}uwK zh~Kmk%bR$X9#O`x+Pk8=%Cwo4F9D<-lczZw1|3X$qZx(AMS4~S)3#o|App@WDP+4@ zd0v?WhA$`Ew9~AxeAZa`oP_&!3P3)q&@?czO-%gk`Ick%Cbh-+A;-)*Y)6OA-`cz$ zqp1s0or6IiN$Gi&6W{RUn!1RVqt{3vLZ>TFAx!r1In?h%UW5seuuC$O!${8Y)J-Itl%X=(e|F-pGaLWPwx77g$2c4|6f83g2c&!Lf3-)EtwI&7y<_4H29G% z7K$l;)%Y|D8QoAtBG0D0&ttxdpgWcEVl=Q7w`Q8BZ78zOV_-acpotj3&H21~=hZBm zOsx(e=4R|v^V*29W~qPIC)}VDqm*4gzIOi?(K+7LI)jCqH1 zHs0*j0fn*$GnH4MdXySuezcTi ze6gIX0KZ;+=qbIr>U%^JR;gJT_mMRv<5YQRq^7lE@)<3?-0&_97m?_ar5_GN2MFo@ z!g{0k3seh=N4zlZX$}BkfRY+k5D+D)enpwO5$mZ9)e7vLE=Gq+u{};9TnkzXuPdA@ z{ukncHRZVX&y`>7-rP_icd7p7&tWP0ZN4v79{BpFN%rDzg31gy1f7Mnsw5#l{afi} z?(ZPVTML|Lg}-$T!@>gCGJ;Z7T`&L0UX@DqdIu2fM5U~`+S7QTQyM zeYiwk;O|JtYe<9_*K)Xd+@o0wl$jJ>8o#dT^^A53mPU22Fb^?#IPV={8bzk^)>8eQ z87UL`p%mh5Oaid6)t*yufUkS(nOG#KuzOQ$+a)o8%uVszpY^u`)>SQu^G?BF9vKI0 z-c7dG@2p@t4dyU|NhX|>VwMN-;%ZW8DMQ)a3?uaDbztUbP)eOiSnmCPspn(vBi+ZX z1x^>t|;>ckhpHa>adUo&9cGk8h}F8KLe= z1?AVs1a{mRBBN>25A&Z{;>>6vdtxG~JRk(|e7Zt*v?Z64LG8cQp;5=r;k3At)|0F^ z-c>cBpfYM5hn9#I^ITVrKWmqXo2Fx9X`X6zSnB#U5r|$C_OP$1+o#K38FC!Wftz5y zeFCKcmlM3AaaNHeJYh-~WcByDlSb}u-zc_D#Wg&x=x;N)W~#hmZhZjM`KdK0%<8qe zAwn+XH9=c|{n-gZ0Ww&(pCL7?D=SZ=XCB8J6CO}S(NvFL`{J&cfZ{uwq5Y3OujPPW zDTCI2Lq1HD#~{<(;Wc}6VE2Q#IJ`r=Bh$;B3YYJU87C;s@ZtFsgp}VU$GzqF#BG8i z){O8x6eph=dd$0r_jVXdPIlB(kM*!kML^LsG*1)mD8^o&LY z#qE2t)vwQ;6UA!d-RKVet~_QcodGNKRLA_AR@3u`sW7=%EX?jfHg>{{%$H`c2!}*O z8$vGcGUxrjW}OW7zo^7dL6z3DZ0ZJY0tUoM&OASSUp?80UbI* zAnmiJ>p@m%ouixazhRGJd(*-|S(ovK^i2%)soTa6AM9gb2TPlcj#mi7KoyS93GrXO?;j|qT0Y3#=*+2)cEs@}24t2EnNUnU zV|$8aeWkfFv-kZaIsYK@pUX~iGi`^ZpDHep-?|$*;Iq^59x+;duNUxp>E*<05LTwU z@#YD(E2gDc9%L`gk+}(&$C)E{f7`ve%Y}v&-CcX zmDq6brR(JaNUh$K1j0n2KxS4Z9`p_WV_XmW_ex#wnNwp+LSEP7g4pJ(TYld;j_u=s z334)=|_{`(Kcs(SxreY?76eqFblTQ&IlCw*>sE@rNL7qrji znZR7H1CH7)`$^Jz4Zgw>*TAFmXhpd!ce1s~!1*9Gpk(*#Z_Y$T#|E$Pwe#?ncA%1v zy2N*qEi!p$W%&$TQlk>kHT71&tnrm8aX|P-&P|(hhDsDD9YoK`# z``2IJlBqR2mw@GO#JF(6*zKTjFF0=@`10R_6W37cE7^zdhS9mvf?o17Ph}Q#VQKi% z?1Msq7wBz*WkS2#YyiXO)H<5KB|fHkZTa8g+Bu(MuCuf1E|f|8ynzw2#*Tm3aMVmQWF zq&Nla8oOHWHvk|GX@%9Dj(Vw`*LP00^wspX+n5>%3o`vaGINq^N}LOwo}S25YW42+ zct@LyCX!(YqZ0*^0WuT}8U!ww^dI^(h{78LV{|oVlQd^DI}K-feP*^6T2}@eMU73@ z+YTSG+V5YkWG+9XN<3y?wnu+lzJ2aM;eYlqApR+<7!W;lf2|VW{4sY?ttaQSh41%Z zLJPiRvR~4Qsh4kww@{mJvAq|;@K#%y&FagimXo$`4v?I@dn&!zRznRmM%;eCg2?X) zKO^J-&BpK{N^Z$(G5qRBx!OW~ke5@1=UbJ#PD4g+Ja2U#+b?ETvKv%ZdE@_T1WyxL}7JZyJd&w4(cadRXba2#OP_NM*w zY%KK6FKaulDsZFFWMTM;!`V@asmeL#ZEot>rLX@ku6AQU(3Mm``Zdk`MYNuLqG|m3 zISTCQY zTy#9FJdiJn``i@&SoUu_KKORz{BYmV{diCR!1Vm%rRmibXGm!0(W%TlXm5{^YWM=;9R)lc#kBg-ut+& zRj6lT(E?IZvLcC{7SKT%(f2CVKW2{_a%5k{#eyL6LybI3Q$Vl_Y6LD=(I6#inQ@FP zdTP0K(R@$tD3@;^a?Rf8Mu1lyX8M?!{RcuTz*Beo_tpUN(*MYGt@QD1wE6a|$NA2? z2|wl>cU8c)>6{;47*f&O8qCynx7HbeWqCHT_IN%cjIlavyy%;n;0cQU3Ux}Iv~^Fm z-t+c<_|sFWZeFS19HI*HW_*~4#scTwZ9JpcL(X5x==?prpMPq@qys!}jcC<#cDS#| zJLX&Nr;aD-9lNn%r2ppyK*4o-E+3|I|I|GGk-E3yrU;DpKZ(COyQeQ`4Ey$YL@?$Z zKRKPeH_@hay4)IlM#>(B0xUhtu8*c^=nbysXFY>ZlL&Fh5eB@JdyAOff_4O0gj@kA zOpq@eMT_(SNk*VB3$EZYlCYn&;LGZh&gND>*VB#ba9+vp_eb6FcXyKkhH@L{r*03+ z&Gst~lk|71>%twE;VTCFCsKFarjJJf_gDA1i*x^9046fo&9D}ULl;$Q{b{P;ssd&h z>pDd$f72A;`sowA^?Tp`GOy3CwcdX3_i+7}e~tUw+u!Kldk#d22wd*(iz%U-n;b3btUU!Uqr06ANi;kt4NV89!czOwoyc1;JWPt4=&L910Jf! z9-aC50R~yWz;oLJ!&44D_hG{m;~q2&`PnGk(?LU1w=KgF%PiS^@bkrOj z9Zk<)xk7{W3xkJ`N5irVYeuvQL&fmgi8hIR(+!(M*aV?+NA18S0h>6vRj>22dROr} z3E+)yjymuKfd3P~h=8#>Mot(5I3l+ZoJK|%v(ZQiV^%##kw>!c<6F1>x9^j-4gm1a z|NPJ4U;p(^^=$aC-$#F4RikT=qAY@}6>V(1O31~$S@b&hUXQn@*nK(A(!k#JEojqr zRc)u^*zbXz%RhPTuKsrc5n=noOZe*U=im9cT_aUjTunr17YmeCc|4s-*&(iAXLn*a zc_*O41a*YyP1VFC{q=P^nn(zGL}o_z?~LNpX7S-LPHz6M|NB?V(|zZf=1)KUA4=V! zVNAAWBAenE8v7bMh9F;a;xz#4L|7xo(19UIcug#b>ssXdRqz2i50 z;}u`f-@yO)eV_R0r#HUymvZywO#*=R^>ym^`&1Pb#Tcn=Tamgp0W`#+WmsPq+DmOy z0_bF?u$=m{tZrKc0_4`!q1#Ep$@ewla~D5&>Em6c-1j=wlo|L zX?=a2u3fuE0PxvopM9SXxCQWZdHdqKJn=tV`|j7;--{b3cL~?8zvN4y)AaKxBc1@7{fH%chQYcLo0p{Q3W?Wwy2^ zynfm3+3(rbAwII;MZx8O7>t-h6cE9Qm+i!z4*04t2t>#+5`B&hCGtiGdR3@ z^|{ynDFEQNz;A(_n>UaDcI~sz9D94Xfg6Ay69b*Pu3q{X{3QZ7G5ozfx&h$!?k-_> z7q{-*A>8^k#s_z4vAIdR045I~QvHwr2+Zf0KYDa>C4USIuUw3Z0t{FT zhe39B#BwgF*9*wG1Y3a+$aok9DL4~>12`%)d#7o4-1KhTYh zfCb<&hA>(s}3SEQq9Y(|5ECEHTaVW^mlaU z{Wa9X0YIlnL;^ULm^LqO^?hBC0^Msrb?)A9faz%bY6m6)2?G+rF}e#AGZQg`ir^rK z)2g+SSS3U!2}~5Esw{^=)P7SVXO0^i<}vd6VuP^(^p|3B?+*?T2Ytu(}=7y0GDSz4l`w zI86Z0ulm=oUwM&>gRke?EwmINyqmhl8#zS4(a6GmZ8SL-u*zMh2dSPlytO|$jaT<0@bdi>ai=g;f@&eZCEdr0@n(uP+b z_-DJjxVE>48!wQ+iU0^WG5*fozewjVU*^GN!t;H|9CH~Ahr)p50}FMJ#G4ovG!u!D zwPEo94x*gd$vIHSMif{5uYfDR+OqeS!4?G#;E2LSzl?Tp=MP0esz+;3n$FNaN@}dZiB09>v|&SGy2xZj6SXci=L6SRBFk{7^ZA@H@9W@$zG5)I z;~@;#!R_5$+*pyo5*-0}7xUlV-KG6IcW8XEGyZV@zI+pc#H}sK^LZ#j2w626bIeIX zaEpfkb*m5xwq9YZWvM-11ODD7^?w zR1`)oq2Dua#gUW443tksQ?1I}i2zBRLhY+SiD2=>fwL5V$oT2bSAXSMuZ}-H{tzDJ zxpONMxPCPP;GzJP1vo}f5F&{{3~&+hA`&y$IWUZa2M!da@EH2e+*nExrOiZpQmoa9 zg-ZldVOA6X%lqa55Xi+dGThzS;7nph(Ev3Ht}ti>vb*P$LL%1esws%1Cg+U0rf;4- zqpkWt&p*D5$M^3V9z5v6fW5udbXf$fR(}Au0h~7eXCVkxRj5-6nJAiSp+tp<6a*B? zT!?stQ&jiJaDiEHIJ-LwgPfS$jQs5sN4!=zNML|7vxis|YimKDltpY8pN+fDS zN|dXLp4kG6Z|>v#<;!>s*zKD)=?2j45C9aOTm5%-=n6nzO(tA!ZgPxK>Xbr*d12F3 zubsE@;EVbC#zz}HG^0T@>3QI~pPQZ$%89mRk5b_|l?E3k4jzrGB6@BMS!FXl=PoNN z@3>1)b^B5*V5?OOBra{K>XmOw<=LvDH_Md$f@fW?LJ?A8a#d2*W#7QbEcz8Jm9SSN z008I@)A4RX8w~9-2QXOUH_{8Rm>cT8p;$8%gJo%xDt12X0qDKb@k3dl8WtcTl5RXQ zMJ7-H5uAxkAs)df2vR~aQK=wM<3g>wWoAmoZcLI{*orf>Mq5Du15Tw;a z?lw1=TV{}wNHeFZ!JJyx)R+1)NJMUk+!*Ep*KTz1i{-wi5%wAq(?Jqq-4OsK0B@lUCKf5I_L3!RttB9?S~PsR@~k(x9|?E8etJPj!wuXg~HbDSX32 z4uWTYoYJ|U_74x9E!>6!!+h=`1TPi~pKNd2`0icW+1&IS0B*n$9Khan;MT3>>JLyF zk9lKD*heHT5^Sr8@S=$8P5D7@I7sb$pd}B5!HHk-g#_M)WcUkZYYXwHXs4qX@r57Q&YLC zJUkv1=mcWsJ_&&c3KoUKKw`|xgkLv%)ZdHM{}>VQ1S||-c9)=tYIA}PDCZ0$7&T>& zXIb-<`ZAig8fW8v=(SUxr`Gjcba+|hwbnRKlOR}`k{+hSHkoke1>EV>*RZt0+c$R! zJ6%QJ_9rFfwolU$NhA`N6pAv0(U(VSAAYdan>33x42ph#Hs0)&qmR!67cmHfz+OiR z1)QQp2(bzoaU>>4LB1^Wa)9K$5>+HPId$#-1oA*`&gRZ=FbO#v!ITSk5zB$Ro9YQO zJM~8WI0|s!wQbqOvXeKTkl?6c;1F260kzuIF}H?-jm?1mW`MgR^qoaQwSFxsy`>A+nHwsiNb_uy7(ahk=$xPtNa=@dN4(LUi;1;%=gBa&>1jH&IPc z5K{8C&4xKzojjBJtAz4T3tls9THAlN&}WB7TKsgF;SyLWFRF^y+$q!tH2I<-?ED(H zclV#$2E_R8U8;ZfGc-@0P^*ax5k`#CJUcA6x9T_oVulq3TjjHMqn$3cwtCnuqMz>- zR7;SO8G(X`7%@>079n;bV!+*LHG%iNgoE6jR*K>7%QBp$AfUOko3oqKYPDYtkT`XW z)sJJTt5-!AE(>Upk;@1LFgY?zj^2#d+bbi6b%|lWf@XykukOha;dpMrv1-z45HCRF z%TJozmjnT(E-)jIJILwyQ(vz5^zE|O_W>(GR3h?Dg*v*ab{eX+8`LsTq_)kyhEZ23 z&Al%6eKN^)*0i9|NI+cA9G;FQMNzG#B4?hb#Kl2P^0UiWg#iE%_V)G&ySw-mfV+<# z5&C_~DUlG7o3VIgfW(Iqn#H82P3l!-y}B+c3bP78ZOQv$7QjJ}Tuea1%%)w73b-S5 z)~=bPd+6j%>pQICvRciL(arYiuDa!PsBVpN>Qrh^t@Ov8Ixjo!OG~rAGb|h61lLZX zn0Ef_S3c%ngL|itthpQB@mh`vg6VRb=+uN~Uwzu0*qWnj3<5Do9RkLZBMewF0KL## zP47tv(2bGD(oyVGr9kekOGQL;p>9qJt7SGbmgpH7bxBginiuo7E_GvGU>*e^p+sVR zA(1~K~?d{P^>3bc(G&BUQ2-{2+nJ)CUxjERE{;-r7m~}deF?*yS zVNec2!F7~F_)L}Yg?lXsQUwKUwS)YIAyN@nLu7s9_Q4me>{ryW&gHX-8+>vTCr%S zyJk+y5C6GhcfxlhfFB|}UG?iYEmJspatWD(5uMyj%>m1RF&J){SfXoiw+QZx{#;oLKD2n7aqbSCy1ZkVa+*Pt!Af?5nM+ht1CLv4@mQ4E$)}DMXbW>`+;N2C zu0s3{$Bnt)B7kCj;nUgB3w1Z0I8CzQe9%Bpile_AeRr^R{%{5$ zBna;Cl~y*G!SD>ZAukJ7VSDXMNun{d|N{}!6EKWsSuQR@S8we+# zDD_drO`ss(sT`o}lk~(7r%!ygIP%$IW&uZ@^1hpE&OusAZHipAE}Rm3mev)~RUc;y z19h$jJ|%LbZvgc0I{;SzT)%$Z!}aUe{Wmvn((eGAzi`3z(G!F!xd7g_Y~)d6a<$fT z(Q=E7G|BDarx!1^)trlef8{^81DW7rmfRdJ5{RgqheJ!lcTyPX@rviLLrazuLoJX8OP&1CcSao+OpXS8+a_O!UNazkd(-TO<(kRq292bBm-2 zNn2#guGXSW$*G%AX@SLi0w6SHF(tAven2Q z0O!Tf<-)d)@83T@cK|v$q5WI8e6YXoi}~C$v$v{N4p_a2?Y_6Me|Wf9zqmb~j2{>4 z5=)YB^x?%{96X&o=@(Mf&&E%~!FZqM&6pRuAXR1UDx1i2B81@1Al3|$0R3yzdEZgc zaw`x7cqdy&0LTr@L@-Bm_XvkrR|>q`obs+Jr4zOXunGm1!!O=ME`&O5LW#%i9^V6< zc7Ipa{5oG;2M)3vqDsCD15OP2*!XER@xwt-W@?EjEos@Q^Rt}DkBPwF(=EVmGlLuo zs2P~W)V-U2rtV4NJ!qc0SDuRrv>pewKmN?o$Zeg=Nmt{G=7#3a<$cOe3G@D z&#e&gFrRz={BsO{`Afg{>8IT`Ab_qe7yx#6F}_+D_6tLdDn3?d%rs7^I4@J4coDM9 zVD0$HWVSELbTFAek)j^fk%r~^2ldb{m&8^SQV6jHAtEL)XekWhPOqys<88$gtMr9q zNdU{6IoQqE++-QzXjbi1fz4rR(j{~p%Q@q2-bG5My#dqLGav9}AP^)5NDwgpeXhHi zLbF0wtNxpKT|@{mf|*xy+&fnu%lN)?_m}EQWJF}doP@by;Y3}nuN%y0wR47LnD7Rc zZw_z1sA$z7N&+;^+?-eea?Nh$uGzhD$HD?NlksBwcyahFJ$m-2Ec#;&b`;9N(czQ* zg>N3VbkHW+sIs}MuC3`jCBsjW?d)&*{I|aae*0U{_3H>k1l+iR&vtkH-ob&NA6)iO ztL393Yt^-^CFQDGJWVs69~?}#FK=OScwqMUnWrk{=|H9%Yrfu4==bJ4m=%jEcv*%b ziGU*;7!YA;-sRoCzX^9I;^lUq8mqg&jonN%TkOi%gmO*;%eiOfF{Kn;P0Yb?TXjXk z&5pOLyBUEF`;MZT-v>kli4iQ^DexSJG|SQ2YS5J4%58}g3F3G|>Rkqi>|KGmFhC&6*3IkM4NG*7pP1-zK zOlOnHbTKXDs2xpb)7&0Os7JGDa~L<*55GRxpAIg6a(IAmnlRj+&vly1s-NrW)WZ7I z^8B*jJGk#xc6a^8ojU+l9>DeMeht9>tvw&?Z~FdpYK4eWUDGUQD$S^Un56!|K~rK~ zTeoz0kQrzvi^X(g?Rc~5*EXnzQDYHoUb}`^6c8waAdp*HE7bv_}gs^h`Va}RW zjEp^ba5GWUsA@69;F@%vn|3Rk)wxY(s!`3v&Dpbwxh_Xub#bPvk~@&w_O#ybi!>FQjm(-f#du74K`f*Bvq@9!oPYM^lSgwOhlYFK zGuGLqu^Q05g9E;@xk+CEQUVeH z$vMYf2q705^MVRSTZ9mzCMrxk2BiSD;7Y;7nE-KOVs~~^f&}<+UHt3IAir&B+e#@S zmNVzstO!8NDU~{%4r0zdse%-tszcNKlvFQSZZ@oG`&qSA&84Lj%sp7jqN?oHg$HIv znhn!u&)%=(_4fcVVe7-6SXo4u7?p^PLog1KnMjE#gC#Lh0=NZH>*N!c;+tHSf3zqE z44%!+GL_{*L{bJ4$EX~FHL5B_@g6hjG9k$9{`-CetP zaKPuA#tuK|22X?#pn$5tF^q#~bjnauB35>8$vinDIiUr3#v%ub^k+wW zK&~^3K8XuXd6C<+wKI&p3le@Shz@&kDgqpIsyCNW~ zNv4>xA!cedBc)u5W}d~Yw$L#;C%2_Ope7P^f+;*_ zz`(AV+{~*Wq(WFszTd39cOAWrHShN-BQp!8CQ90=+;l5HF=qxRIJFLMiNnI!C#Lxk zS@}&2&C?*59z02jdiA^tp_x5-(o$6_6BP4V1^_PJUjm>I90h>3i;#0rCkqZXr)X}> z7L80LSx#c+SGyq=N=b1vxY!uz#N=ffJ(A1 zr>g=DOI2W7wvF<8q66>}$gslV$&;}D47SND~^s*Xd0cRI4l<9ayW=B zfor8aV2DIwN(vG)kb^RLCw$=`GJ{*UyP#Q7)jev*Q{?vj+a~>Mh;@aHb6ds+3xJA4 z#a$Ul-Xo?+D0zd z*Y)Vne@3;vo!@64vvZIa$CfD?9dO9PyeUeTq)x)7Id~a^wP9{y9;}Jc7UQw?W3;B< zw=81&{k~&o$F2Z=?Xx?b@prC2fEQ)KPm#clZYYRjch~lJc4&O}E?wE&^vU+N?N27W zy}hmD`JC7KV@l(aECg!mn)fBs%HlS%l)ojdsW!UYLL zt&B!(1jms{v4BxFI7m%sSO8m=Cws z>FDA9kA?(dRbuPj5#DyOBB5I>&%%4gZzg(cN74^#>S7}LOU@_sY=Iq461970D_rMtAz*j9c}B2 zadwGh^?>u9U9-gNch#Sth#rP@?b!tM^kG01#KT35H4Lpqe@VP))PYB0gyY5 z_a71ZAAgL)J9k1@EJA3ST)5}`w#EA4A<|?bi;K0=sHEz{a-Wp$d1^O=LM((riq6^) zk$@;WAWU%Ul;E6JIJ^T8>E2{_p(2y8#;qqlIieOP#MZ}mTvqQkoAS*5s&~3L+e%Q`&UJQG9{PoL$4+u_&0YC99L_f|HuD`E4#aX?ZE@T zapw+>WBwP6A9#5)(24|r>(@IXxN`?L0KdJvNw|0Kco68gZ3%6Qdz+iIJD;PfIyZmv z@Q{Fqz|Vl?j~^ADO(uT(4}VDi-Oqm>_9v6jJb2*igF$*)RX#hK4Y$0Rrmqi5?Cd{0=CuUiCSE!DQdB zY;NM(r=L20`&;}i!(ZWVCFEAsdnb=9X9fZQmgB?z(v$b^+<9*ket!#px^*jDzkVJ6 z`rF@zJHPu~HNAW}48QoI&qO`mqG847%Kl(ba_JW+$-h_ePndk8O?gdI?zwyEX37?C!^fX~`Xe-cU}tytFK!I4CISP?vEeU{3;!#IfBY}s@%4P05dI$Q?fv+O;O5N$ z0RQyaXW{-I{t&+Y;*08oot^S&2>s}fdzF09+c_7CjsB&$Q2iN@|D6+llC!R-tV3w7 z)vR>WLe&aW4XWBD$8!=>BUNK}g=VG0hmUD7p8U}7`tQPEbHmSF{!q)RFb>fqh>C~? z7KLzT<}6GJM2SRNcTaF>m@#AW2|2z_X#YQx;pdyhV)SGdrtSQz_Q*Dy?Zsm8V1K{a z*xt^UfBy6QKi|CB8UAOV{kRC=MPvS3_#0!u|KiiW(@DUmb__ z&)55t_4P8i_b!FdAUtyMmap@xggJ_rV3@5KN+2h(#u5i!6$`T=|)jfwC|Xh+ASb zW&Cdu z?^QYOyNK10%$=Q`JiI&1U-f!LC`<3;!6=aAd#_foFZ_; z92*I-rJ`tKjBSWTk`OY-s3Ji*1}lqb5~B~dH*Nc)550KBFUyE-6}i_EM8E`s5sZlhAQERcu!xfzap0xU9T9^-%#aw++gSHdM5OtGerRt% zLcqCyxMb%)ylh3UaF$>}#H0}A5VAy8CQ%6?iz6GB?mxJ7UxFpHOUg~8@#C&b(|Z=DDvMr>Tz@rzeJ(f<0tNW>)s3$aj%F$;@w5M`Du zA*c|N16i2!Y2z2r+}y?@{AG@Q$E5kj`(fl+rtN&*K5Jw8nQTw*Ub>rirYEld9_;~V z#{bIrac$E7fFL5=xN!qJJ3AS7fd^MFVg2*Z!(@FOlf?o#2l*fd9Tvq`i=ZrtS)pv; z4T=GrGRz#p>`r9HtgP9TDUgU|H7PW+DY2U~)WAWov2zZ?txcaC9MbG)M9pmedR2R# zf0L+swGYm1`P#WH3xzl#7z?_UKZ+8IGK-0@GLteWn{YN&Wsw%{`32)2l~jDG!S1YO z`6^axqpzPlX$WYK%$f_c+2Zamevx->ADp@VZvbZ=!0SO53f#J7zxhoU3LM zWSdW)(z&YgBQx~ob7?}L!f27Bw!%`mTOl0C86*UN86fgNAaj6NoQNPq1|pEK1B7J{ zeJ7<&;^m;maB~yAjdiC^6OdlV{6S(y*{^+VYs=4n@(+6M;zjGN4NN3jh@v3`i$zcg zF$WGRBFe&!E^NlygnyCBb5Lk4_#advG@~RdI6B> z9e}flGn0eZLtrBgDg*0JLC*RN-sW&K|(&IsW3<9KUuMFLl^UX@3Gfdm#k zd>}3VR}$zW)wE$i&($j;il$z$TQKtIZerP@ImF%Bp{&W|m655)Yd;-=~W1R5Lt$neh*YL%n;-_|LZd-VDxi0B-=Re89D9 z*Yf`Ue!hG6E-qfYn2)xOu>Ncvi?0{Gs(Ole=~ABONrqQS@P?Q_3GSON(CjFg%#Fy{ zV8#+e$jC^XEVvO@_vT!>)%WVGl7F(^6_HL}OxSVdEes!pOn6oZDq7FbM*m_@j& zO<+=CQ3#YJCa`pZ9-zd+nZSt|$>FUKEr?`c%wuPI6pZhx@$ao^9-kY=(brGL%^a8w zMdq{FY=OtXg9i_q)5d=m_rE!u5x|?lb0l#7{CUec+vlHuE+2i=k-$cbG!?OC4vs~U z*F$I)#A69qz?4NqAgh_94ske`b*VJIoJayE5`&1buo069U=+j<$O6YsXD^V6L>Cbg z2__+^1ksKl*n&ju%5{S=vxN|p0;_Om@Dw|_E&-H7R0@)rTpgU@o(YsiI6H{iU1(d~~`hyN6(_LZ9*d09>tDK(b!;^&)BLLWlSUHdqlQEO6 zChtfQ6T7Q0DM*w-3ik|RBS$9UM6k?6Et4mxCuV9~s3FLL%%>FmSyud6BL8P%zo$p( z$@<2|p;Y5pqX&)Yc(JI?&9@E?+849^z?t#CEu0a+o5xGTf$`^`%j6fo(2u55d!n@r z#-yBN8o1S68nM5g2xBq(6U9CBdRuHKjo zEZRwLvl3HxLw5sM!K@S|k-37|gg84W6S-0d34|=@D*6ELL_0|uB5u?%7p0jK4kCrG zjQlQY{=MdSAB`P3^K6#$bbOQ-!@0~4>h1Q@blQCR$tS7&-S6zo_e_0?-ZN zSZxskz`f0T)z$G;8IQ-|ag6<8uNQ{BX|dj}%k*4Pa<0psYHg)$8RP>q`%r>xsnHr) zsu>b8v~XWm2@^2^l9gD<$p}Jj1Pd_A(kYTCn=`R2TSsmAgQcq{R_elgVrPe{lLv8g zK+WA8tbl0<(puK+9OuG5(yY(m`XC5@%?&>*MCPNu&W6-Bvu4)jcB|Q+&GLoSHs7VY zdDYzW!d4$}X8dmjX9Vze(QUhSa~MuYU|BHq@pv3&7cPXI$s{}pp&a&lMO75#uq=gg zF54v$kQO@`cF{d;hRAE4xMxfS!2>{|*$NRNBW1QgMoHY6s2gq4Z4bT#w3=k-a3XUy zHWN2?F()W>RekE9%;qgco+Z}_D?bh32QKaY%J5^qKby2|UZm8t^Le{v);wBU%fp8c z^J$kK=#2kVkq>ZY{BI3s1n~B;B!RAC5CB#ML--Z2@&;xXE`)V{R*q)9a6$yFOsNQJ zMOAXMh7>l4v14RAnS4Ex_u;7AIc7r?f&juUnOTit3LzU?8wiW!G$r$~s66qg`>yTbB9~(kneV({_(e6+X}Gi)K75#0t3GaZ?bF9D z|MeSrc_p41{#(Ww0sL@yX-KfYzaO4lyjcDcz<4|k&-(r9!dfdQL@+Lab6}wKoXc`6 z#54;-lC)tOH>5}#rZN<@o(UIDR=P`Mw+IJ0RDb|;f9|_yA_p=Eq9C}DCCZd2aKmb? z3eQ+{tZh7GNr#$b6v}pz$5>DZjR8$rRnHmz{l~yZ%#-18sJ{d7;;Mh<^8fHSBY+}<}g)BGlowWR!({;wN1{62BFz3 z&`jDYAB{%ZUz@eFQ7;$ONcU%h419s!qh5Y+=~DBe;RC>#%l~fRi~!yZywn>2zU>jL zas=(#niQi^(X6e79RTgxnoNCEZeoZjHNhvjv|f+ustvPwETT_JvzlX!qB)C}Dn-+g zKwGLwBPtF_P&v^sD%ZXqynS={%E2Ca70KoRS%)kY#&F7(A zTa#w72)S(KLb>L17Yz?t#C6F4J)cMmU360ZKZzrP>GSI40lUzO8j005n5(1i&A zu$=9RoX&AGpLhSW{Lwb80Ncx>K0#3yihW>z`AE4mb^tgw_-dqs*&sh!Tgw2jGI{_w zo!nc!)-%I@_i;u5?=HSY1i;4e%Iv3=9T?`~`sCDT4=qrHos*06g#Jua0+S`0qZ>2;kkvvGK2R1i=ZaSJc5^uUSX izYyaCXNLbyK7mO|6UQ-Mk*F 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 literal 0 HcmV?d00001 diff --git a/graphics/ui/actions.svg b/graphics/ui/actions.svg index 91eb120..92c568f 100644 --- a/graphics/ui/actions.svg +++ b/graphics/ui/actions.svg @@ -16,13 +16,61 @@ version="1.1" inkscape:version="0.92.1 r15371" sodipodi:docname="actions.svg" - inkscape:export-filename="/home/michael/workspace/perso/spacetac/graphics/exported/equipment/gravitshield.png" + inkscape:export-filename="/home/michael/workspace/perso/spacetac/graphics/exported/equipment/kelvingenerator.png" inkscape:export-xdpi="90" inkscape:export-ydpi="90" viewBox="0 0 256 256" enable-background="new"> + + + + + + + + + + + + + + + @@ -1053,6 +1101,338 @@ y1="154.3677" x2="55.914527" y2="154.3677" /> + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + @@ -2948,4 +3328,333 @@ height="100%" transform="rotate(-80.838515,124.57679,104.88647)" /> + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/package.json b/package.json index 001ff0e..142d280 100644 --- a/package.json +++ b/package.json @@ -21,11 +21,11 @@ "author": "Michael Lemaire", "license": "MIT", "devDependencies": { - "@types/jasmine": "^2.5.53", - "babel-polyfill": "^6.23.0", + "@types/jasmine": "^2.6.0", + "babel-polyfill": "^6.26.0", "codecov": "^2.3.0", "gamefroot-texture-packer": "Gamefroot/Gamefroot-Texture-Packer.git#f3687111afc94f80ea8f2877c188fb8e2004e8ff", - "jasmine": "^2.7.0", + "jasmine": "^2.8.0", "karma": "^1.7.0", "karma-coverage": "^1.1.1", "karma-jasmine": "^1.1.0", @@ -33,12 +33,12 @@ "karma-spec-reporter": "^0.0.31", "live-server": "^1.2.0", "remap-istanbul": "^0.9.5", - "typescript": "^2.4.2" + "typescript": "^2.5.3" }, "dependencies": { - "jasmine-core": "^2.6.3", + "jasmine-core": "^2.8.0", "parse": "^1.9.2", "phaser": "^2.6.2", "phaser-plugin-scene-graph": "^1.0.4" } -} \ No newline at end of file +} diff --git a/src/core/Battle.ts b/src/core/Battle.ts index 1ce58a3..b3d126c 100644 --- a/src/core/Battle.ts +++ b/src/core/Battle.ts @@ -67,12 +67,14 @@ module TK.SpaceTac { this.ai_playing = false; } - // Create a quick random battle, for testing purposes + /** + * Create a quick random battle, for testing purposes, or quick skirmish + */ static newQuickRandom(start = true, level = 1, shipcount = 5): Battle { - var player1 = Player.newQuickRandom("Player", level, shipcount, true); - var player2 = Player.newQuickRandom("Enemy", level, shipcount, true); + let player1 = Player.newQuickRandom("Player", level, shipcount, true); + let player2 = Player.newQuickRandom("Enemy", level, shipcount, true); - var result = new Battle(player1.fleet, player2.fleet); + let result = new Battle(player1.fleet, player2.fleet); if (start) { result.start(); } diff --git a/src/core/Cooldown.ts b/src/core/Cooldown.ts index 0603cad..221fe9e 100644 --- a/src/core/Cooldown.ts +++ b/src/core/Cooldown.ts @@ -72,10 +72,8 @@ module TK.SpaceTac { /** * Apply one cooling-down step if necessary */ - cool(): void { - if (this.heat > 0) { - this.heat -= 1; - } + cool(steps = 1): void { + this.heat = Math.max(this.heat - steps, 0); if (this.heat == 0) { this.uses = 0; diff --git a/src/core/FleetGenerator.ts b/src/core/FleetGenerator.ts index 35ef161..2e47981 100644 --- a/src/core/FleetGenerator.ts +++ b/src/core/FleetGenerator.ts @@ -18,7 +18,7 @@ module TK.SpaceTac { let models = this.random.sample(ShipModel.getDefaultCollection(), ship_count); range(ship_count).forEach(i => { - var ship = ship_generator.generate(level, models[i] || null, upgrade, i < ship_count * 0.6); + var ship = ship_generator.generate(level, models[i] || null, upgrade); ship.name = ship.model.name; fleet.addShip(ship); }); diff --git a/src/core/GameSession.ts b/src/core/GameSession.ts index 252509e..13c9dc5 100644 --- a/src/core/GameSession.ts +++ b/src/core/GameSession.ts @@ -94,7 +94,7 @@ module TK.SpaceTac { // Start a new "quick battle" game startQuickBattle(with_ai: boolean = false): void { - var battle = Battle.newQuickRandom(); + let battle = Battle.newQuickRandom(true, RandomGenerator.global.randInt(1, 10)); this.player = battle.fleets[0].player; this.player.setBattle(battle); } diff --git a/src/core/LootGenerator.ts b/src/core/LootGenerator.ts index e36f765..f6cb341 100644 --- a/src/core/LootGenerator.ts +++ b/src/core/LootGenerator.ts @@ -67,21 +67,13 @@ module TK.SpaceTac { */ generateHighest(skills: ShipSkills, quality = EquipmentQuality.COMMON, slot: SlotType | null = null): Equipment | null { let templates = this.templates.filter(this.templatefilter).filter(template => slot == null || slot == template.slot); - let candidates: Equipment[] = []; - let level = 1; - - templates.forEach(template => { - let equipment = template.generateHighest(skills, quality, this.random); - if (equipment && equipment.level >= level) { - if (equipment.level > level) { - candidates.splice(0); - level = equipment.level; - } - candidates.push(equipment); - } - }); - - return (candidates.length == 0) ? null : this.random.choice(candidates); + let candidates = nna(templates.map(template => template.generateHighest(skills, quality, this.random))); + if (candidates.length) { + let chosen = this.random.weighted(candidates.map(equ => equ.level)); + return candidates[chosen]; + } else { + return null; + } } } } diff --git a/src/core/LootQualityModifiers.ts b/src/core/LootQualityModifiers.ts index a777b9d..0a14b84 100644 --- a/src/core/LootQualityModifiers.ts +++ b/src/core/LootQualityModifiers.ts @@ -56,6 +56,9 @@ module TK.SpaceTac { simpleFactor(effect, 'factor'); } else if (effect instanceof ValueTransferEffect) { simpleFactor(effect, 'amount'); + } else if (effect instanceof CooldownEffect) { + simpleFactor(effect, 'cooling'); + simpleFactor(effect, 'maxcount'); } } diff --git a/src/core/ShipGenerator.ts b/src/core/ShipGenerator.ts index ec533b8..9ddd230 100644 --- a/src/core/ShipGenerator.ts +++ b/src/core/ShipGenerator.ts @@ -17,7 +17,7 @@ module TK.SpaceTac { * * If *force_damage_equipment, at least one "damaging" weapon will be chosen */ - generate(level: number, model: ShipModel | null = null, upgrade = false, force_damage_equipment = false): Ship { + generate(level: number, model: ShipModel | null = null, upgrade = false, force_damage_equipment = true): Ship { if (!model) { // Get a random model model = ShipModel.getRandomModel(level, this.random); diff --git a/src/core/actions/FireWeaponAction.ts b/src/core/actions/FireWeaponAction.ts index eecf436..af298d2 100644 --- a/src/core/actions/FireWeaponAction.ts +++ b/src/core/actions/FireWeaponAction.ts @@ -20,7 +20,7 @@ module TK.SpaceTac { // Equipment cannot be null equipment: Equipment - constructor(equipment: Equipment, power = 1, range = 0, blast = 0, effects: BaseEffect[] = [], name = "Fire") { + constructor(equipment: Equipment, power = 1, range = 0, blast = 0, effects: BaseEffect[] = [], name = range ? "Fire" : "Trigger") { super("fire-" + equipment.code, name, equipment); this.power = power; @@ -116,9 +116,17 @@ module TK.SpaceTac { return ""; } - let desc = `${this.name} (power usage ${this.power}, max range ${this.range}km)`; + let info: string[] = []; + if (this.power) { + info.push(`power usage ${this.power}`); + } + if (this.range) { + info.push(`max range ${this.range}km`); + } + + let desc = `${this.name} (${info.join(", ")})`; let effects = this.effects.map(effect => { - let suffix = this.blast ? `in ${this.blast}km radius` : "on target"; + let suffix = this.blast ? `in ${this.blast}km radius` : (this.range ? "on target" : "on self"); return "• " + effect.getDescription() + " " + suffix; }); return `${desc}:\n${effects.join("\n")}`; diff --git a/src/core/effects/CooldownEffect.spec.ts b/src/core/effects/CooldownEffect.spec.ts new file mode 100644 index 0000000..d337d37 --- /dev/null +++ b/src/core/effects/CooldownEffect.spec.ts @@ -0,0 +1,34 @@ +module TK.SpaceTac { + describe("CooldownEffect", function () { + it("cools down equipment", function () { + let ship = new Ship(); + let weapons = [TestTools.addWeapon(ship), TestTools.addWeapon(ship), TestTools.addWeapon(ship)]; + weapons.forEach(weapon => weapon.cooldown.configure(1, 3)); + expect(weapons.map(weapon => weapon.cooldown.heat)).toEqual([0, 0, 0]); + + new CooldownEffect(0, 0).applyOnShip(ship, ship); + expect(weapons.map(weapon => weapon.cooldown.heat)).toEqual([0, 0, 0]); + + weapons.forEach(weapon => weapon.cooldown.use()); + expect(weapons.map(weapon => weapon.cooldown.heat)).toEqual([3, 3, 3]); + + new CooldownEffect(0, 0).applyOnShip(ship, ship); + expect(weapons.map(weapon => weapon.cooldown.heat)).toEqual([0, 0, 0]); + + weapons.forEach(weapon => weapon.cooldown.use()); + expect(weapons.map(weapon => weapon.cooldown.heat)).toEqual([3, 3, 3]); + + new CooldownEffect(1, 0).applyOnShip(ship, ship); + expect(weapons.map(weapon => weapon.cooldown.heat)).toEqual([2, 2, 2]); + + new CooldownEffect(1, 2).applyOnShip(ship, ship); + expect(weapons.map(weapon => weapon.cooldown.heat).sort()).toEqual([1, 1, 2]); + }) + + it("builds a textual description", function () { + expect(new CooldownEffect(0, 0).getDescription()).toBe("Full cooling (all equipments)"); + expect(new CooldownEffect(1, 1).getDescription()).toBe("1 cooling (1 equipment)"); + expect(new CooldownEffect(2, 2).getDescription()).toBe("2 cooling (2 equipments)"); + }) + }) +} diff --git a/src/core/effects/CooldownEffect.ts b/src/core/effects/CooldownEffect.ts new file mode 100644 index 0000000..4aab219 --- /dev/null +++ b/src/core/effects/CooldownEffect.ts @@ -0,0 +1,42 @@ +/// + +module TK.SpaceTac { + /** + * Cools down equipment of affected ships + */ + export class CooldownEffect extends BaseEffect { + // Number of cooling steps to apply + cooling: number + + // Maximal number of equipment to cool on one ship (will be chosen at random) + maxcount: number + + constructor(cooling = 0, maxcount = 0) { + super("cooldown"); + + this.cooling = cooling; + this.maxcount = maxcount; + } + + applyOnShip(ship: Ship, source: Ship | Drone): boolean { + let equipments = ship.listEquipment().filter(equ => equ.cooldown.heat > 0); + + if (this.maxcount && equipments.length > this.maxcount) { + let random = RandomGenerator.global; + equipments = random.sample(equipments, this.maxcount); + } + + equipments.forEach(equ => equ.cooldown.cool(this.cooling || equ.cooldown.heat)); + + return true; + } + + isBeneficial(): boolean { + return true; + } + + getDescription(): string { + return `${this.cooling ? this.cooling : "Full"} cooling (${this.maxcount ? this.maxcount : "all"} equipment${this.maxcount != 1 ? "s" : ""})`; + } + } +} diff --git a/src/core/equipments/GatlingGun.spec.ts b/src/core/equipments/GatlingGun.spec.ts deleted file mode 100644 index 6149a01..0000000 --- a/src/core/equipments/GatlingGun.spec.ts +++ /dev/null @@ -1,31 +0,0 @@ -module TK.SpaceTac.Equipments { - describe("GatlingGun", function () { - it("generates equipment based on level", function () { - let template = new GatlingGun(); - - let equipment = template.generate(1); - expect(equipment.requirements).toEqual({ "skill_materials": 1 }); - expect(equipment.action).toEqual(new FireWeaponAction(equipment, 3, 500, 0, [new DamageEffect(30, 20)])); - expect(equipment.price).toEqual(100); - expect(equipment.cooldown).toEqual(new Cooldown(2, 2)); - - equipment = template.generate(2); - expect(equipment.requirements).toEqual({ "skill_materials": 2 }); - expect(equipment.action).toEqual(new FireWeaponAction(equipment, 3, 512, 0, [new DamageEffect(42, 28)])); - expect(equipment.price).toEqual(350); - expect(equipment.cooldown).toEqual(new Cooldown(2, 2)); - - equipment = template.generate(3); - expect(equipment.requirements).toEqual({ "skill_materials": 4 }); - expect(equipment.action).toEqual(new FireWeaponAction(equipment, 3, 526, 0, [new DamageEffect(56, 37)])); - expect(equipment.price).toEqual(850); - expect(equipment.cooldown).toEqual(new Cooldown(2, 2)); - - equipment = template.generate(10); - expect(equipment.requirements).toEqual({ "skill_materials": 23 }); - expect(equipment.action).toEqual(new FireWeaponAction(equipment, 3, 694, 0, [new DamageEffect(224, 149)])); - expect(equipment.price).toEqual(11350); - expect(equipment.cooldown).toEqual(new Cooldown(2, 2)); - }); - }); -} diff --git a/src/core/equipments/GatlingGun.ts b/src/core/equipments/GatlingGun.ts deleted file mode 100644 index 828dafc..0000000 --- a/src/core/equipments/GatlingGun.ts +++ /dev/null @@ -1,15 +0,0 @@ -/// - -module TK.SpaceTac.Equipments { - export class GatlingGun extends LootTemplate { - constructor() { - super(SlotType.Weapon, "Gatling Gun", "Mechanical weapon using loads of metal bullets propelled by guided explosions"); - - this.setSkillsRequirements({ "skill_materials": leveled(1, 1.4) }); - this.setCooldown(irepeat(2), irepeat(2)); - this.addFireAction(irepeat(3), leveled(500, 12), irepeat(0), [ - new EffectTemplate(new DamageEffect(), { base: leveled(30), span: leveled(20) }) - ]); - } - } -} diff --git a/src/core/equipments/Generators.spec.ts b/src/core/equipments/Generators.spec.ts new file mode 100644 index 0000000..3cb4021 --- /dev/null +++ b/src/core/equipments/Generators.spec.ts @@ -0,0 +1,91 @@ +module TK.SpaceTac.Equipments { + describe("Generators", function () { + it("generates NuclearReactor based on level", function () { + let template = new NuclearReactor(); + + let equipment = template.generate(1); + expect(equipment.requirements).toEqual({ "skill_photons": 1 }); + expect(equipment.effects).toEqual([ + new AttributeEffect("maneuvrability", 1), + new AttributeEffect("power_capacity", 7), + new AttributeEffect("power_generation", 4), + ]); + expect(equipment.price).toEqual(395); + + equipment = template.generate(2); + expect(equipment.requirements).toEqual({ "skill_photons": 3 }); + expect(equipment.effects).toEqual([ + new AttributeEffect("maneuvrability", 2), + new AttributeEffect("power_capacity", 7), + new AttributeEffect("power_generation", 5), + ]); + expect(equipment.price).toEqual(1382); + + equipment = template.generate(3); + expect(equipment.requirements).toEqual({ "skill_photons": 5 }); + expect(equipment.effects).toEqual([ + new AttributeEffect("maneuvrability", 3), + new AttributeEffect("power_capacity", 8), + new AttributeEffect("power_generation", 5), + ]); + expect(equipment.price).toEqual(3357); + + equipment = template.generate(10); + expect(equipment.requirements).toEqual({ "skill_photons": 33 }); + expect(equipment.effects).toEqual([ + new AttributeEffect("maneuvrability", 10), + new AttributeEffect("power_capacity", 15), + new AttributeEffect("power_generation", 12), + ]); + expect(equipment.price).toEqual(44832); + }) + + it("generates KelvinGenerator based on level", function () { + let template = new KelvinGenerator(); + + let equipment = template.generate(1); + expect(equipment.requirements).toEqual({ "skill_time": 1 }); + expect(equipment.effects).toEqual([ + new AttributeEffect("power_capacity", 5), + new AttributeEffect("power_generation", 4), + ]); + expect(equipment.action).toEqual(new FireWeaponAction(equipment, 1, 0, 0, [ + new CooldownEffect(1, 1) + ])); + expect(equipment.price).toEqual(420); + + equipment = template.generate(2); + expect(equipment.requirements).toEqual({ "skill_time": 2 }); + expect(equipment.effects).toEqual([ + new AttributeEffect("power_capacity", 6), + new AttributeEffect("power_generation", 4), + ]); + expect(equipment.action).toEqual(new FireWeaponAction(equipment, 1, 0, 0, [ + new CooldownEffect(1, 1) + ])); + expect(equipment.price).toEqual(1470); + + equipment = template.generate(3); + expect(equipment.requirements).toEqual({ "skill_time": 4, "skill_gravity": 1 }); + expect(equipment.effects).toEqual([ + new AttributeEffect("power_capacity", 6), + new AttributeEffect("power_generation", 5), + ]); + expect(equipment.action).toEqual(new FireWeaponAction(equipment, 1, 0, 0, [ + new CooldownEffect(1, 1) + ])); + expect(equipment.price).toEqual(3570); + + equipment = template.generate(10); + expect(equipment.requirements).toEqual({ "skill_time": 28, "skill_gravity": 6 }); + expect(equipment.effects).toEqual([ + new AttributeEffect("power_capacity", 13), + new AttributeEffect("power_generation", 12), + ]); + expect(equipment.action).toEqual(new FireWeaponAction(equipment, 7, 0, 0, [ + new CooldownEffect(4, 7) + ])); + expect(equipment.price).toEqual(47670); + }) + }) +} diff --git a/src/core/equipments/Generators.ts b/src/core/equipments/Generators.ts new file mode 100644 index 0000000..9d9e92b --- /dev/null +++ b/src/core/equipments/Generators.ts @@ -0,0 +1,27 @@ +/// + +module TK.SpaceTac.Equipments { + export class NuclearReactor extends LootTemplate { + constructor() { + super(SlotType.Power, "Nuclear Reactor", "A standard nuclear power core, drawing power from atom fusion cycles", 395); + + this.setSkillsRequirements({ "skill_photons": leveled(1, 2) }); + this.addAttributeEffect("maneuvrability", leveled(1, 1, 0)); + this.addAttributeEffect("power_capacity", leveled(7, 0.5)); + this.addAttributeEffect("power_generation", leveled(4.5, 0.5)); + } + } + + export class KelvinGenerator extends LootTemplate { + constructor() { + super(SlotType.Power, "Kelvin Generator", "A power generator operating at ultra-low temperature, improving equipment cooldown", 420); + + this.setSkillsRequirements({ "skill_time": leveled(1, 1.7), "skill_gravity": leveled(0.3, 0.4) }); + this.addAttributeEffect("power_capacity", leveled(5.5, 0.5)); + this.addAttributeEffect("power_generation", leveled(4, 0.5)); + this.addFireAction(leveled(1, 0.4), irepeat(0), irepeat(0), [ + new EffectTemplate(new CooldownEffect(), { cooling: leveled(1, 0.2), maxcount: leveled(1, 0.4) }) + ]) + } + } +} diff --git a/src/core/equipments/NuclearReactor.spec.ts b/src/core/equipments/NuclearReactor.spec.ts deleted file mode 100644 index 8ec2af5..0000000 --- a/src/core/equipments/NuclearReactor.spec.ts +++ /dev/null @@ -1,43 +0,0 @@ -module TK.SpaceTac.Equipments { - describe("NuclearReactor", function () { - it("generates equipment based on level", function () { - let template = new NuclearReactor(); - - let equipment = template.generate(1); - expect(equipment.requirements).toEqual({ "skill_photons": 1 }); - expect(equipment.effects).toEqual([ - new AttributeEffect("maneuvrability", 1), - new AttributeEffect("power_capacity", 7), - new AttributeEffect("power_generation", 4), - ]); - expect(equipment.price).toEqual(395); - - equipment = template.generate(2); - expect(equipment.requirements).toEqual({ "skill_photons": 3 }); - expect(equipment.effects).toEqual([ - new AttributeEffect("maneuvrability", 2), - new AttributeEffect("power_capacity", 7), - new AttributeEffect("power_generation", 5), - ]); - expect(equipment.price).toEqual(1382); - - equipment = template.generate(3); - expect(equipment.requirements).toEqual({ "skill_photons": 5 }); - expect(equipment.effects).toEqual([ - new AttributeEffect("maneuvrability", 3), - new AttributeEffect("power_capacity", 8), - new AttributeEffect("power_generation", 5), - ]); - expect(equipment.price).toEqual(3357); - - equipment = template.generate(10); - expect(equipment.requirements).toEqual({ "skill_photons": 33 }); - expect(equipment.effects).toEqual([ - new AttributeEffect("maneuvrability", 10), - new AttributeEffect("power_capacity", 15), - new AttributeEffect("power_generation", 12), - ]); - expect(equipment.price).toEqual(44832); - }); - }); -} diff --git a/src/core/equipments/NuclearReactor.ts b/src/core/equipments/NuclearReactor.ts deleted file mode 100644 index fdee608..0000000 --- a/src/core/equipments/NuclearReactor.ts +++ /dev/null @@ -1,14 +0,0 @@ -/// - -module TK.SpaceTac.Equipments { - export class NuclearReactor extends LootTemplate { - constructor() { - super(SlotType.Power, "Nuclear Reactor", "A standard nuclear power core, drawing power from atom fusion cycles", 395); - - this.setSkillsRequirements({ "skill_photons": leveled(1, 2) }); - this.addAttributeEffect("maneuvrability", leveled(1, 1, 0)); - this.addAttributeEffect("power_capacity", leveled(7, 0.5)); - this.addAttributeEffect("power_generation", leveled(4.5, 0.5)); - } - } -} diff --git a/src/core/equipments/RawWeapons.spec.ts b/src/core/equipments/RawWeapons.spec.ts new file mode 100644 index 0000000..6a504e4 --- /dev/null +++ b/src/core/equipments/RawWeapons.spec.ts @@ -0,0 +1,87 @@ +module TK.SpaceTac.Equipments { + describe("RawWeapons", function () { + it("generates GatlingGun based on level", function () { + let template = new GatlingGun(); + + let equipment = template.generate(1); + expect(equipment.requirements).toEqual({ "skill_materials": 1 }); + expect(equipment.action).toEqual(new FireWeaponAction(equipment, 3, 500, 0, [new DamageEffect(30, 20)])); + expect(equipment.price).toEqual(100); + expect(equipment.cooldown).toEqual(new Cooldown(2, 2)); + + equipment = template.generate(2); + expect(equipment.requirements).toEqual({ "skill_materials": 2 }); + expect(equipment.action).toEqual(new FireWeaponAction(equipment, 3, 512, 0, [new DamageEffect(42, 28)])); + expect(equipment.price).toEqual(350); + expect(equipment.cooldown).toEqual(new Cooldown(2, 2)); + + equipment = template.generate(3); + expect(equipment.requirements).toEqual({ "skill_materials": 4 }); + expect(equipment.action).toEqual(new FireWeaponAction(equipment, 3, 526, 0, [new DamageEffect(56, 37)])); + expect(equipment.price).toEqual(850); + expect(equipment.cooldown).toEqual(new Cooldown(2, 2)); + + equipment = template.generate(10); + expect(equipment.requirements).toEqual({ "skill_materials": 23 }); + expect(equipment.action).toEqual(new FireWeaponAction(equipment, 3, 694, 0, [new DamageEffect(224, 149)])); + expect(equipment.price).toEqual(11350); + expect(equipment.cooldown).toEqual(new Cooldown(2, 2)); + }); + + it("generates SubMunitionMissile based on level", function () { + let template = new SubMunitionMissile(); + + let equipment = template.generate(1); + expect(equipment.requirements).toEqual({ "skill_materials": 1, "skill_photons": 1 }); + expect(equipment.action).toEqual(new FireWeaponAction(equipment, 4, 500, 150, [new DamageEffect(26, 4)])); + expect(equipment.cooldown).toEqual(new Cooldown(1, 0)); + expect(equipment.price).toEqual(163); + + equipment = template.generate(2); + expect(equipment.requirements).toEqual({ "skill_materials": 2, "skill_photons": 1 }); + expect(equipment.action).toEqual(new FireWeaponAction(equipment, 4, 520, 155, [new DamageEffect(28, 5)])); + expect(equipment.cooldown).toEqual(new Cooldown(1, 0)); + expect(equipment.price).toEqual(570); + + equipment = template.generate(3); + expect(equipment.requirements).toEqual({ "skill_materials": 3, "skill_photons": 2 }); + expect(equipment.action).toEqual(new FireWeaponAction(equipment, 4, 544, 161, [new DamageEffect(30, 6)])); + expect(equipment.cooldown).toEqual(new Cooldown(1, 0)); + expect(equipment.price).toEqual(1385); + + equipment = template.generate(10); + expect(equipment.requirements).toEqual({ "skill_materials": 20, "skill_photons": 13 }); + expect(equipment.action).toEqual(new FireWeaponAction(equipment, 4, 824, 231, [new DamageEffect(58, 20)])); + expect(equipment.cooldown).toEqual(new Cooldown(1, 0)); + expect(equipment.price).toEqual(18500); + }); + + it("generates ProkhorovLaser based on level", function () { + let template = new ProkhorovLaser(); + + let equipment = template.generate(1); + expect(equipment.requirements).toEqual({ "skill_photons": 1 }); + expect(equipment.action).toEqual(new FireWeaponAction(equipment, 5, 0, 250, [new DamageEffect(20, 25)])); + expect(equipment.cooldown).toEqual(new Cooldown(1, 1)); + expect(equipment.price).toEqual(152); + + equipment = template.generate(2); + expect(equipment.requirements).toEqual({ "skill_antimatter": 1, "skill_photons": 2 }); + expect(equipment.action).toEqual(new FireWeaponAction(equipment, 5, 0, 260, [new DamageEffect(28, 35)])); + expect(equipment.cooldown).toEqual(new Cooldown(1, 1)); + expect(equipment.price).toEqual(532); + + equipment = template.generate(3); + expect(equipment.requirements).toEqual({ "skill_antimatter": 1, "skill_photons": 3 }); + expect(equipment.action).toEqual(new FireWeaponAction(equipment, 5, 0, 272, [new DamageEffect(37, 47)])); + expect(equipment.cooldown).toEqual(new Cooldown(1, 1)); + expect(equipment.price).toEqual(1292); + + equipment = template.generate(10); + expect(equipment.requirements).toEqual({ "skill_antimatter": 11, "skill_photons": 22 }); + expect(equipment.action).toEqual(new FireWeaponAction(equipment, 5, 0, 412, [new DamageEffect(149, 187)])); + expect(equipment.cooldown).toEqual(new Cooldown(1, 1)); + expect(equipment.price).toEqual(17252); + }); + }); +} diff --git a/src/core/equipments/RawWeapons.ts b/src/core/equipments/RawWeapons.ts new file mode 100644 index 0000000..caa383d --- /dev/null +++ b/src/core/equipments/RawWeapons.ts @@ -0,0 +1,41 @@ +/// + +module TK.SpaceTac.Equipments { + export class GatlingGun extends LootTemplate { + constructor() { + super(SlotType.Weapon, "Gatling Gun", "Mechanical weapon using loads of metal bullets propelled by guided explosions"); + + this.setSkillsRequirements({ "skill_materials": leveled(1, 1.4) }); + this.setCooldown(irepeat(2), irepeat(2)); + this.addFireAction(irepeat(3), leveled(500, 12), irepeat(0), [ + new EffectTemplate(new DamageEffect(), { base: leveled(30), span: leveled(20) }) + ]); + } + } + + export class SubMunitionMissile extends LootTemplate { + constructor() { + super(SlotType.Weapon, "SubMunition Missile", "Explosive missile releasing small shelled payloads, that will in turn explode on impact", 163); + + this.setSkillsRequirements({ "skill_materials": leveled(1, 1.2), "skill_photons": leveled(1, 0.8) }); + this.setCooldown(irepeat(1), irepeat(0)); + this.addFireAction(irepeat(4), leveled(500, 20), leveled(150, 5), [ + new EffectTemplate(new DamageEffect(), { base: leveled(26, 2), span: leveled(4, 1) }) + ]); + } + } + + export class ProkhorovLaser extends LootTemplate { + constructor() { + super(SlotType.Weapon, "Prokhorov Laser", "Powerful mid-range perforating laser, using antimatter to contain the tremendous photonic energy", 152); + + // TODO increased damage to hull + // TODO cone targetting + this.setSkillsRequirements({ "skill_antimatter": leveled(0.3, 0.7), "skill_photons": leveled(1, 1.3) }); + this.setCooldown(irepeat(1), irepeat(1)); + this.addFireAction(irepeat(5), irepeat(0), leveled(250, 10), [ + new EffectTemplate(new DamageEffect(), { base: leveled(20), span: leveled(25) }) + ]); + } + } +} diff --git a/src/core/equipments/SubMunitionMissile.spec.ts b/src/core/equipments/SubMunitionMissile.spec.ts deleted file mode 100644 index d9a847e..0000000 --- a/src/core/equipments/SubMunitionMissile.spec.ts +++ /dev/null @@ -1,105 +0,0 @@ -module TK.SpaceTac.Equipments { - describe("SubMunitionMissile", function () { - it("generates equipment based on level", function () { - let template = new SubMunitionMissile(); - - let equipment = template.generate(1); - expect(equipment.requirements).toEqual({ "skill_materials": 1, "skill_photons": 1 }); - expect(equipment.action).toEqual(new FireWeaponAction(equipment, 4, 500, 150, [new DamageEffect(26, 4)])); - expect(equipment.cooldown).toEqual(new Cooldown(1, 0)); - expect(equipment.price).toEqual(163); - - equipment = template.generate(2); - expect(equipment.requirements).toEqual({ "skill_materials": 2, "skill_photons": 1 }); - expect(equipment.action).toEqual(new FireWeaponAction(equipment, 4, 520, 155, [new DamageEffect(28, 5)])); - expect(equipment.cooldown).toEqual(new Cooldown(1, 0)); - expect(equipment.price).toEqual(570); - - equipment = template.generate(3); - expect(equipment.requirements).toEqual({ "skill_materials": 3, "skill_photons": 2 }); - expect(equipment.action).toEqual(new FireWeaponAction(equipment, 4, 544, 161, [new DamageEffect(30, 6)])); - expect(equipment.cooldown).toEqual(new Cooldown(1, 0)); - expect(equipment.price).toEqual(1385); - - equipment = template.generate(10); - expect(equipment.requirements).toEqual({ "skill_materials": 20, "skill_photons": 13 }); - expect(equipment.action).toEqual(new FireWeaponAction(equipment, 4, 824, 231, [new DamageEffect(58, 20)])); - expect(equipment.cooldown).toEqual(new Cooldown(1, 0)); - expect(equipment.price).toEqual(18500); - }); - - it("hits several targets in circle", function () { - var battle = TestTools.createBattle(1, 2); - - var ship = battle.fleets[0].ships[0]; - ship.setArenaPosition(0, 0); - TestTools.setShipAP(ship, 100); - TestTools.setShipHP(ship, 50, 30); - var enemy1 = battle.fleets[1].ships[0]; - enemy1.setArenaPosition(1, 0); - TestTools.setShipHP(enemy1, 50, 30); - var enemy2 = battle.fleets[1].ships[1]; - enemy2.setArenaPosition(2, 0); - TestTools.setShipHP(enemy2, 50, 30); - - var template = new Equipments.SubMunitionMissile(); - var equipment = template.generate(1); - let action = nn(equipment.action); - action.range = 5; - action.blast = 1.5; - (action.effects[0]).base = 20; - (action.effects[0]).span = 0; - - var checkHP = (h1: number, s1: number, h2: number, s2: number, h3: number, s3: number): void => { - expect(ship.values.hull.get()).toBe(h1); - expect(ship.values.shield.get()).toBe(s1); - expect(enemy1.values.hull.get()).toBe(h2); - expect(enemy1.values.shield.get()).toBe(s2); - expect(enemy2.values.hull.get()).toBe(h3); - expect(enemy2.values.shield.get()).toBe(s3); - }; - checkHP(50, 30, 50, 30, 50, 30); - - battle.log.clear(); - battle.log.addFilter("value"); - - // Fire at a ship - var target = Target.newFromShip(enemy1); - expect(action.checkCannotBeApplied(ship)).toBe(null); - action.apply(ship, target); - checkHP(50, 10, 50, 10, 50, 10); - expect(battle.log.events.length).toBe(5); - expect(battle.log.events[0]).toEqual(new ActionAppliedEvent(ship, action, Target.newFromLocation(1, 0), 4)); - expect(battle.log.events[1]).toEqual(new FireEvent(ship, equipment, Target.newFromLocation(1, 0))); - expect(battle.log.events[2]).toEqual(new DamageEvent(ship, 0, 20)); - expect(battle.log.events[3]).toEqual(new DamageEvent(enemy1, 0, 20)); - expect(battle.log.events[4]).toEqual(new DamageEvent(enemy2, 0, 20)); - - battle.log.clear(); - equipment.cooldown.cool(); - - // Fire in space - target = Target.newFromLocation(2.4, 0); - expect(action.checkCannotBeApplied(ship)).toBe(null); - action.apply(ship, target); - checkHP(50, 10, 40, 0, 40, 0); - expect(battle.log.events.length).toBe(4); - expect(battle.log.events[0]).toEqual(new ActionAppliedEvent(ship, action, target, 4)); - expect(battle.log.events[1]).toEqual(new FireEvent(ship, equipment, target)); - expect(battle.log.events[2]).toEqual(new DamageEvent(enemy1, 10, 10)); - expect(battle.log.events[3]).toEqual(new DamageEvent(enemy2, 10, 10)); - - battle.log.clear(); - equipment.cooldown.cool(); - - // Fire far away - target = Target.newFromLocation(5, 0); - expect(action.checkCannotBeApplied(ship)).toBe(null); - action.apply(ship, target); - checkHP(50, 10, 40, 0, 40, 0); - expect(battle.log.events.length).toBe(2); - expect(battle.log.events[0]).toEqual(new ActionAppliedEvent(ship, action, target, 4)); - expect(battle.log.events[1]).toEqual(new FireEvent(ship, equipment, target)); - }); - }); -} diff --git a/src/core/equipments/SubMunitionMissile.ts b/src/core/equipments/SubMunitionMissile.ts deleted file mode 100644 index fbbb69d..0000000 --- a/src/core/equipments/SubMunitionMissile.ts +++ /dev/null @@ -1,15 +0,0 @@ -/// - -module TK.SpaceTac.Equipments { - export class SubMunitionMissile extends LootTemplate { - constructor() { - super(SlotType.Weapon, "SubMunition Missile", "Explosive missile releasing small shelled payloads, that will in turn explode on impact", 163); - - this.setSkillsRequirements({ "skill_materials": leveled(1, 1.2), "skill_photons": leveled(1, 0.8) }); - this.setCooldown(irepeat(1), irepeat(0)); - this.addFireAction(irepeat(4), leveled(500, 20), leveled(150, 5), [ - new EffectTemplate(new DamageEffect(), { base: leveled(26, 2), span: leveled(4, 1) }) - ]); - } - } -} diff --git a/yarn.lock b/yarn.lock index a10e7f3..1ee9809 100644 --- a/yarn.lock +++ b/yarn.lock @@ -2,13 +2,9 @@ # yarn lockfile v1 -"@types/jasmine@^2.5.53": - version "2.5.53" - resolved "https://registry.yarnpkg.com/@types/jasmine/-/jasmine-2.5.53.tgz#4e0cefad09df5ec48c8dd40433512f84b1568d61" - -"@types/phaser@thunderk/phaser#v2.6.2a": - version "2.6.2" - resolved "https://codeload.github.com/thunderk/phaser/tar.gz/a0390d5540e9c080f9c5c48aae94bafaedc85a0e" +"@types/jasmine@^2.6.0": + version "2.6.0" + resolved "https://registry.yarnpkg.com/@types/jasmine/-/jasmine-2.6.0.tgz#997b41a27752b4850af2683bc4a8d8222c25bd02" abbrev@1, abbrev@1.0.x: version "1.0.9" @@ -160,21 +156,28 @@ aws4@^1.2.1: version "1.6.0" resolved "https://registry.yarnpkg.com/aws4/-/aws4-1.6.0.tgz#83ef5ca860b2b32e4a0deedee8c771b9db57471e" -babel-polyfill@^6.23.0: - version "6.23.0" - resolved "https://registry.yarnpkg.com/babel-polyfill/-/babel-polyfill-6.23.0.tgz#8364ca62df8eafb830499f699177466c3b03499d" +babel-polyfill@^6.26.0: + version "6.26.0" + resolved "https://registry.yarnpkg.com/babel-polyfill/-/babel-polyfill-6.26.0.tgz#379937abc67d7895970adc621f284cd966cf2153" dependencies: - babel-runtime "^6.22.0" - core-js "^2.4.0" - regenerator-runtime "^0.10.0" + babel-runtime "^6.26.0" + core-js "^2.5.0" + regenerator-runtime "^0.10.5" -babel-runtime@^6.11.6, babel-runtime@^6.22.0: +babel-runtime@^6.11.6: version "6.23.0" resolved "https://registry.yarnpkg.com/babel-runtime/-/babel-runtime-6.23.0.tgz#0a9489f144de70efb3ce4300accdb329e2fc543b" dependencies: core-js "^2.4.0" regenerator-runtime "^0.10.0" +babel-runtime@^6.26.0: + version "6.26.0" + resolved "https://registry.yarnpkg.com/babel-runtime/-/babel-runtime-6.26.0.tgz#965c7058668e82b55d7bfe04ff2337bc8b5647fe" + dependencies: + core-js "^2.4.0" + regenerator-runtime "^0.11.0" + backo2@1.0.2: version "1.0.2" resolved "https://registry.yarnpkg.com/backo2/-/backo2-1.0.2.tgz#31ab1ac8b129363463e35b3ebb69f4dfcfba7947" @@ -462,6 +465,10 @@ core-js@^2.2.0, core-js@^2.4.0: version "2.4.1" resolved "https://registry.yarnpkg.com/core-js/-/core-js-2.4.1.tgz#4de911e667b0eae9124e34254b53aea6fc618d3e" +core-js@^2.5.0: + version "2.5.1" + resolved "https://registry.yarnpkg.com/core-js/-/core-js-2.5.1.tgz#ae6874dc66937789b80754ff5428df66819ca50b" + core-util-is@~1.0.0: version "1.0.2" resolved "https://registry.yarnpkg.com/core-util-is/-/core-util-is-1.0.2.tgz#b5fd54220aa2bc5ab57aab7140c940754503c1a7" @@ -1308,21 +1315,17 @@ istanbul@0.4.5, istanbul@^0.4.0: which "^1.1.1" wordwrap "^1.0.0" -jasmine-core@^2.6.3: - version "2.6.4" - resolved "https://registry.yarnpkg.com/jasmine-core/-/jasmine-core-2.6.4.tgz#dec926cd0a9fa287fb6db5c755fa487e74cecac5" +jasmine-core@^2.8.0, jasmine-core@~2.8.0: + version "2.8.0" + resolved "https://registry.yarnpkg.com/jasmine-core/-/jasmine-core-2.8.0.tgz#bcc979ae1f9fd05701e45e52e65d3a5d63f1a24e" -jasmine-core@~2.7.0: - version "2.7.0" - resolved "https://registry.yarnpkg.com/jasmine-core/-/jasmine-core-2.7.0.tgz#50ff8c4f92d8ef5c0b2c1b846dd263ed85152091" - -jasmine@^2.7.0: - version "2.7.0" - resolved "https://registry.yarnpkg.com/jasmine/-/jasmine-2.7.0.tgz#5cf0bb4e594b4600bb4235560366212ac5aea1b2" +jasmine@^2.8.0: + version "2.8.0" + resolved "https://registry.yarnpkg.com/jasmine/-/jasmine-2.8.0.tgz#6b089c0a11576b1f16df11b80146d91d4e8b8a3e" dependencies: exit "^0.1.2" glob "^7.0.6" - jasmine-core "~2.7.0" + jasmine-core "~2.8.0" js-yaml@3.x: version "3.8.4" @@ -2126,10 +2129,14 @@ redent@^1.0.0: indent-string "^2.1.0" strip-indent "^1.0.1" -regenerator-runtime@^0.10.0: +regenerator-runtime@^0.10.0, regenerator-runtime@^0.10.5: version "0.10.5" resolved "https://registry.yarnpkg.com/regenerator-runtime/-/regenerator-runtime-0.10.5.tgz#336c3efc1220adcedda2c9fab67b5a7955a33658" +regenerator-runtime@^0.11.0: + version "0.11.0" + resolved "https://registry.yarnpkg.com/regenerator-runtime/-/regenerator-runtime-0.11.0.tgz#7e54fe5b5ccd5d6624ea6255c3473be090b802e1" + regex-cache@^0.4.2: version "0.4.3" resolved "https://registry.yarnpkg.com/regex-cache/-/regex-cache-0.4.3.tgz#9b1a6c35d4d0dfcef5711ae651e8e9d3d7114145" @@ -2577,9 +2584,9 @@ typedarray@~0.0.5: version "0.0.6" resolved "https://registry.yarnpkg.com/typedarray/-/typedarray-0.0.6.tgz#867ac74e3864187b1d3d47d996a78ec5c8830777" -typescript@^2.4.2: - version "2.4.2" - resolved "https://registry.yarnpkg.com/typescript/-/typescript-2.4.2.tgz#f8395f85d459276067c988aa41837a8f82870844" +typescript@^2.5.3: + version "2.5.3" + resolved "https://registry.yarnpkg.com/typescript/-/typescript-2.5.3.tgz#df3dcdc38f3beb800d4bc322646b04a3f6ca7f0d" uglify-js@^2.6: version "2.8.29"