From f3c1475e376dc2ef14feef58281dadbb1cd2204e Mon Sep 17 00:00:00 2001 From: a327ex Date: Sat, 10 Apr 2021 22:37:11 -0300 Subject: [PATCH] Day 53 --- assets/sounds/Magical Swoosh 18.ogg | Bin 0 -> 43497 bytes assets/sounds/Pistol Shot_07.ogg | Bin 0 -> 18862 bytes assets/sounds/Pistol Shot_08.ogg | Bin 0 -> 27191 bytes assets/sounds/Revolver Shot_07.ogg | Bin 0 -> 21649 bytes assets/sounds/Revolver Shot_08.ogg | Bin 0 -> 23015 bytes devlog.md | 33 +++ main.lua | 71 ++++--- player.lua | 311 ++++++++++++++++++++++++---- todo | 22 +- 9 files changed, 353 insertions(+), 84 deletions(-) create mode 100644 assets/sounds/Magical Swoosh 18.ogg create mode 100644 assets/sounds/Pistol Shot_07.ogg create mode 100644 assets/sounds/Pistol Shot_08.ogg create mode 100644 assets/sounds/Revolver Shot_07.ogg create mode 100644 assets/sounds/Revolver Shot_08.ogg diff --git a/assets/sounds/Magical Swoosh 18.ogg b/assets/sounds/Magical Swoosh 18.ogg new file mode 100644 index 0000000000000000000000000000000000000000..4c7b5d71d74f1c70f29ef3888fe3c5e3ccc91ec4 GIT binary patch literal 43497 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 U0N{Y<002C2JOCEfOs!!>0a!sCC;$Ke literal 0 HcmV?d00001 diff --git a/assets/sounds/Revolver Shot_07.ogg b/assets/sounds/Revolver Shot_07.ogg new file mode 100644 index 0000000000000000000000000000000000000000..8221b59462718842a0687c7a978619e04f67aa5e GIT binary patch literal 21649 zcmeFYcUV(T*C@I}?-C%PO9;J02~CP(D4~P2!~miYYC=;46cq_Qgd!jyMG)zPfJ6c) zHd+vAN^kapC}2fYES!!0-uHX&ch7UqeV+5&|ITExGkxt@v(~IKlLNuQ?f?hyPvF}1 zH-Sl5We}~cn zTM$S`Lv|gA3PyyHi11b5o@xX{^jqL$p;MYAeDEfq7 zRNy{qM}&KHOaLho>;U2ZJEn$(B_0Csfz8m42sY(GE)D=h0l-&TL*#sroknfJW%an? z0^98rTPLHqAcHOCpM@Uy*8`y+0D|BGDC+z<)k}8dG2>t;RxG-6Ccg-_U%8$<|zu~kf!aNB+msfuY*;3HiwYEZHMVw8YpLuHbH?jR!B zQTI*Fd1sS14b?d&Z`D~3ECf-k342HMG~U1E7LU)F<739JFaGo3|1%E+_%0Sa(gC6t zeA~lQHR_6^z@h$53jt8TX#zHR5_U|9VW!;ZxblHd+OFaT<9b+k4<{TLVtfw92F}LD z%*Muh7N>e&i}$>i>OGh0^EK5^D(#>6E&j>Z?f7Tv2nbNAWL)$@qY5cg_1w6MGbN3| z0R(KL1i_z=)X1;4s|zBxkjgqjnmWRVuWAop75dWzTyC!Iw*e|irFH+W801+L_`i>s zkU>oV1LE@TF}b_Pl(BBgccZj<|6q6!0M``brp=Dhw>hqV_xN5g+C*F3D{vfLcii!> zMc7_;0KlN-*vI7Vf!J_EO-30UJic%CxYI0%ifxSiuS4P=dI2Y*SRPbFrtsgAV+(g&rVM~y{FUsX0rluhoI-?_Q+T$3%$aix+y~|RQ2Fuyi1$Crxr(WPaa{FB-2Ba&(Vov{ARIRMBsDSvpffS858dokJBg8%OV|BG{uN!-noyO*cza8=o9 zLVNU+{(;Z>&YT2{LLxAEVcV-uweMv!x`QOf_pIo)VEOOTtcYCC=YJI8(FAVQQ7i{?{A>)=uj?P3nV)Ed&5*0C-tbH+4!xjF@Yj zVIIO~*DuFDWb)=>^`WfvTqSF}HAVLkQLgsl2X?6vQ_sD~^2a?gvzr5K%~2f#Zi=rO zc)@Lt54bE1h}?z9IdRH4aDtq-9qc9nCke=?__h!LL-)8oMtmPe9Q!x>fA$0c>AP}) z@tO@a_8P1 zb^N*dJ1ThZCzJlIF#?Dqtg!~u#I5bfOCXg3V8*A{UJ8MFrw z%0TxsqoP-FRq8ZQf1(c^(;oh8882qe{KBj^4Ek1a$w8hyspMw+yD+#L`$(29Wo(Z?r?&`#EhqJzz?QSzRUxHyjdW0wVE#0mj`5MCZkN$P>B6zy z2JGSvZ8{@aQjr^6aZV>M=fzsEu#kaN~030|90Gh3SF)8P(nBAbD z%MK3ECG+%Aa zlvfxUe&3k)a!r93O{3#ExIkbTI2Er$f{L{TUYV#4sj@IdaMeP=GJie$cCZYbN~pH| zb+C-dmI}?rs+W0h*M>G5XuLY^z?}B-XSAzUXXS5~G1_O41#Y?n67FECG(~6NtCT+j z{o3oiSns!;?kKQvC`b!R0ojcMULfJ{2WDlXrVEabaRZorMgT@d%3Mtv2luPym)uGD zvoO~|8xkbFfo%%grYpA^spBA-AyT$2u^PTV73QFN39gy6|Gz3Or{ud0fjzb>KyWIx zQ-6D?Z)?K#jsLEwEhupN)0gj$iVT{f+nTBvNV^4YV82ul#$VkTM2G+g<4=V>XtGLJ z@c*qS$Oqfi{!;-00>}TS0t5sO^S1|>*jB*{x7%(f{yZDEQ(*S*^KV5h2na0vTeJ-b z%>FapA3z0ent!w4_RG1w`zdLn`knP!_Hx)r=sIHl@GNMdiSja8GhR(uQA2ii&6d_O zOO-WqcD#!11cyL``H-D`c@m!nPh)D9W^M8LB8%Z-HzA@HIywt&WBkg);;t09WhVgu zCsbFQPXd#eC7U@~EScTDc(rm{UhYGpK9?`m&6=W*sMm z&7F1z7<@2id*d2q7w4e|Y#&|=J`2$#f*c0IZ)Ef=P3`fA6xoZF?jCP3ARGYL2|NY2 zuXzB8tSWi2{NWqG50zHbKpUGw|5Td--vGeYjY6e{EE$>XHN#j~S=-t>I=g_|8|059 z!~hUJzP|?NcAk&#uLq=C?@xbV+XJ#K7Rw6Me(ek)1roMsTQ*zpE!{1Vt({wnTdH7M z4*XTv5?LiHvKJDO6xEZVjgG;RI|!zZR);CkTI>hId^*F%6GP4|4TpYVG9O(YJ)q!h za(2mGq^N!^%Q@?6P`1$z`Py z0!{n#e;U+c1Iks-BsrAmt84h_m~NPG6H1VYrK+bOMUu4-9u0HNdcTPb9%;VPXpq&G z`nIG~i`kU!GmbTY<8Pd!osNqV$t+QLYj%hA^M~j@nR5(XM7D+%w2}tn*p?6f(0TJWwO(0{yyu-uu13 z&P^>v|2!1sxtq1ecSC)Qfd0;bT) zn+(&pPoHA+^u)#W&R2hKd-b$sPT!Z>oW0NR;}mzHQD|%S@r40XS}ks|qj|C8e!ybu zfmVs>MwoYWl68|g&XvWJNe&gdDox21l^9Cnqfomkt^z~wJXa~-zz~O%g)o6se63uH zg<<<`-K@(F6F8ieaoF)uiCG%0iP z`%5H32{;UA1D^}oiG{S!`6|f=@lB1g^5wC}0)zsjjHF76Dd*NM@`#G+(}+4E8k_>0 z440Z#lrmCqF^Vd7b;?#wJOOI#XU6|bQ!@P7K^2PgTkXY)wyiJX;zIzSeKtI#zCjNz zFRvEj6La*o%9m2!omaA2MrA3_qR*gsfk&#DA2bEpIK_aSi^`B4d=zd4rjytQ3PAYq zkzS;cY^$NPhu5Z2j!RCCDxU#ulQPxO)4SL2IMSbjj;Xe0^vG0m)RBq}Y20KQ3@7N& z(}iLp@y!{ve#J@ZRW$3+o+==IJT$J^&UC~3D~s5YAZ4z^(cp!JTInMR?b&=RBR_6wBHU8Vpt3mvr~@ipI2rRK4m;$Xlm$Ly zwzUmA<)4Ermb_Og?1<~_{c35q=i4z-k_aEiMa&2DYo(aiT>AUwbsPB)3;QIWx*WxQ zo33mOl=A=#O*;`xJp?#dIa}m>!fG|dBuZ2%77^=<=0(HB{n6+kG;h$v3|Y!oY6ITh z$%1{PQCMn`k+6-B|Hk(E;V9cKs$NmtAKfdC2sol>dJTwf)UAVE< zn?3|}RT{m}M1{2?3EEytcn>aIa*}XE(l}Dxkh-qHt96Njzzb3F9^)Iwnyv4a=zcG? z9W|E~yU)(cTR6v{FluR`Q&bzDxKC2SY-kBQRqoTr`cmZH?AiLCLH-eoFV0`Nx%wH0 z_ZkwkDTvVM$6=?6HrMZc9%-@nDf}Totz?`c7Z43wGy~XzRcGXxAS1 zVTq0F(Y6tpbm!_@M^2P9H?OJae&9cy6fd1LnbiM$#M{4+;wpNqo&T(+5P|~m0M4lp zF41nFJKNT8y{BlXr>DoG`MZu6+ zu85p4S~-wkYewaXB5-?)-N7UrnLl^MG`P9bszx%UpL8SH$V8lLm* zkcWL?dh3+Sr{U6eg3rlT_U8Dbt9Pwuce7KLcZGdvCd5YEQ!X#FJPh=~Mvc@ATQ*j{ zwYK3u?D}v)O;WQhLlQINcl3tv#r1j4b3vP@DtcZ-=x1A6I!}7P>{I0#v1;Zx`&Ljt zc^4*9$>8E9$7rSCgGF0mN$VO^VX_iB-9toVb#NOmS)PCJQLIx%_D4H4O|$l}yG6^w zNPeT%lh#<2Q&XA-dAih(#BJFx8swE-lGzlt=2MTAGlvumFEvvR^KoG>Cn&&ja%cec-* zj%-FvPF|QkbwkO^Sn-88y{phIF;mfG=<*a#g_lv00zRy3dDfmq3>ASO@ zm{f;VYn_rmqM0a&E{tj41?*gKSBH=*Z$?*&{W}$fD7yXT>0shqo)VFl`39k?syfg= zvK>;!iD>3sO-=l&kc2^)Zoj^Emk{@YWy+owGfZGAQJOZuygXROkaiFh(AxVP_DVk`Qp1m zJkp5dA?{Pq)0(`zyddo~&h_*p60+C?$C1R0ZDzu)u1;I83bpTB-tAot%NAMc6 zDW7sJF`YU~UWXsrbSx2y7&TQ%NEsyo6Va*$Cw70kX#M3~6aB)jF+`YEJIzRcCLqAC zMf=(v&YrFqfd=CSQaQ{m(B}caK?50Mq4DhdzzO<({P{CO@WHK9%>`xtGO}q=CTgf$?=f31v@(d+Q9(`lHRU-68TDwz`ao>z&d*cF6rgnPE z!IXELc6p!CtCOk^New5Tdp>wr^y}v79`TK~>&1+ldDk9wtNg4Pjs4|AlcKl8x~^R( zf7%czR@;}jwWI}SWnFO4_mY?UT7NIC;L_@Gi~HTO6~=NL5+8Vww)f;jAOa^jp*4pL zMK?T%jdF5w#x+!^DHST7iPqZ==ZleZUj41aQoNAhWKbv`J1rVYZWB(^n3)O^)G{O{ z;~a!~T*^@Fewqvc+dpB!#SG81c6kt_P)fQK^1AC+RSdR|FsF8~?FUa0+IESmYTHFV)zfO8T zepl2sasJtz@GpU6OecQDZ-uHZBM`OYx-HM2iU43u6gt00=v6WdofS4@Wg_z$hcQ^A!pMU$DEJShsH9#zWYXRG-%X&4bv8wG#L=P z8@d{Eb29vfkCl>2!r?20n{r*Sa<82{bI%~Z-zYUvAV(n|{`o!XsW&HQTq=?y2Q?L~ z7ZuMm)&VI8#Ep1vahhLbWN2jY?v6RXU=oSo#hh;UyU2*j5OZt0Affn&TZW zjv9M75nf|p)erCp3p~lb^uPpYZ6I1zPp?YmmO*JN8xD5nFQ+Ja$uGVa8JZGq^#dFx z;lS7S1#9?w1){ub#sRN8=e*21JTh3iw!8Itj-mZ72+`IfQf^W2mz0k~A$6iwR{K4o zCVaiVxu5!SvhDh0@lhEb(UTalZttJ=ZVo%T5@etsu9OOwPs*yc=e!o=-uY&DlaC9) z)a+hS0+KOIV6=u({=DaN<< z6RO&deRKouDVm?Wqo6yNwy+}_Ti-Aff;I4kGW)BmKHI(Go-nZ!5uEYOY^Z7=b~S0g zcqaGdl+*3fNLkg^!95t``bE)pvG)50C^JRXRLYbPjD4#z%!bNP`|znSIhE&5*F%AC zgZkI69>hjn3M<`xcIxwN>BUQGJGk8XLU(ZegoEg3K`yCq;YFX+Z4g8&>ik|Yv& z_yEcIOHZ{~%HZxqbvG7sV2e0v4}kW?2pEY(WgcR>U-3rAMn?ysht+xTv^P3DY>FsI zE+)W2$x1{*aS@FYqq+P5X@aQ+$qb2?7^m6ZdR{$KpuBU*L>K8}wnT|Pm)idM>aF%S ztJrf?xIat_4oy|MWRE9_9guMkhr$?~C`x7DDaLB`ixL>XCRF>L6r}oZwMlP9+G<7B z*C~g;ch)2r?5Qs)IkErXz6!TA4^b6s!oy1=POpvL@5^9k2on!qTT|eW_jr*-cQXu2 zg2<5jVW(A6f+n6-VF-H3`*JNe=MZOo-@fDM*jFkWrYIKcyVr!RQUx{ock_-lbLG!sXG`Mmb~0ZE@e<=#~N1(_?b#iG$>oQCvsz_Yd~hGK5=( zp%~Km{?=Aj#I*HFQIVlnJDJo*BKb56&M-U)QsA~O*uw?G891%bXBzO~=78}zIXkbF za-|Ov&>kKbthsl8{!>eBi#B{e9>OWpN<;BcsqhrNJm~8$`?R=oTF!po@%m=kZwI?$ z1NMV=00aT5FO@7hyLbNOq7brPncss8>f!J4pyQ0nl4=Kjn%GUvttNyj!!xVU2|w@R zs#K{)8!|KYrtiv9cdCE+y)g7{d^Es+AYH!qd@V)!d%?2M$mz64{xQR{6a*#>r!#J6 zsX}(QZG9Pezwv5x{FAU!VA16BjPn;XV|cuIL*@3odsX^41Y#AoQLyY6jRBy0OfjVo z=iEj$Fsp-kmO}x=pg#c}BnFi=og_9H)=ks#O%2WE<;{L`WrnffjxMf6d_==pV%ZZs z4wI$M`kE#z8r0kso25yo;HwubqDHQBweql&01gfWk*!_{gS5hgLZGhUqRer!hXqni zN_0926=M41u+m-Kk2zb>wcp_=6Au_vH2KWkq(gHuT%uV?ngS>Akh>llMJIWBWOS^V zhoWwWVKWgF3IUr5@!+Ni?=WAwchmko{Tyvr`23ewgH)yLujiuGrFQ(hG%9m{(yizx zmMGeUkV%UtH$L`Mxie>0|BPAPIX|8`Wq=Fl?E298+`jtCy~85iTpGu{;t1ip!Y}C^ zo^LoO4KaJ;?f?;NsN_?PCu{gZU=lrouJ`z))&0vvL~`8ZsGcKvQkm#KLJr)nq!_Mj z87*X$W>Fn1)OWNrF{Y^w6{dq~CiHY=6R{|$5Gda)qcvr)E>_Tf8b!T>$4ZE(M65?T)*qEvPb>it;+t8Y&I2*|89Gr)R}l-PjA%wr+(hjXJU=Fl!M7vn>_sp z2i2x0gV&9z<4ZH6s$(|tr(hwz+R(GtKA*CE|8UQw@{2KhqqtWJ;m4lbHwk=p=TOd+ znII$J#H+O*@f~lh$_@8XW1+w2-2J)0(=-1A*--HGL^98K_57S->YRC2hC3+Npn91Z z+gj0iDZJHM_?k9Zu!HR7t4N;iifJ z7hFa?(|@rH?mbd54e>c|qv}3FboWc&SMky6r-}x!Vg~GdBY4xCmjj@#b3d-+ga8ja z3^+qx$Wh*499N${RmVDJWw47&N{UO0GuVVIu0H40emb5BW6)LWH1K_`l9|n3Vbf%$ zR0n}!SV!6opH>&B632!?`;jw^G}m_Z26_^Q4209Vzn+mc)Lqqa-0UL(JNa?3 z??~3WyZ?K+-VT51-3h<)PJEKbZwh9@w{CX`ead4IdNGyXdSUZ=TL;JEw|tE_KZ;)6 z1s~We*mhex?5oW8dr@%JJFQmV%oy0_!l_+!eTJ91E?);@8254V1tu6W)E&vYbKdjb6t?*2AF^kjU=ELA)CsnDtNLPp%&mv86zYRpo2 zbANm`@3{WF-P^z9<+#P+2MzP0N(Osg6jNFcl|(#Yt#+t=(s--*y|kG=5lrO&pYzM?XQ{U0~K@biJSq6I1aJXnnx+xt@hpFi%ez6^#jjAq=@JR($IRxHG_hP zL2!Sx7!wR_?QCaM+MH+ehHs=V9oD`;Yeu15!AoGG3_=y%kdAW@>~RsYG{=q$fPO&O zA{+|Ul0gUI27V3gzzuR=mcle~(5SZgdf+jU_JY9NoT0VWjN74}v!((*i>;b9ci_+| z%}Y3QZH_8+nI?j{OLr9~ix0`s0B1cdTu$iaYoOy8maVu4RBE^t44X#{Sx9>w`ra`1 z$iTUlvTh zf6u$z`8!|2L{&@^b+XVP^t4Z8lWN@HjU(`yrQwN=H$_kGUY6EkavGHg9|eA2Yx6W$ z?&j`(F&4y~2S@^Yq!G5@zN;b9NR_WG?blWv_~X$Saio(%VUuK<9|0{S2tO?=n^~I1 zo|z#Vgom}V#zjFdhmb5vySWioPOG9*vCOJ=N+qnPN&wH)98Top4tMlE(Ef(&i7E%_*u9_oi&Co*3 zaXLWJi9D}STsNGBg!j;i(=)z84LY}`ZN#4q-Co>rVmM|iRc_$w36m{>3v8HVms!z? zCnwlN6Zg{sZ&p{TF@+q=Y*#;RNq&$}pzSQTC~9=Gx9jm8CT#2vh<~`jJJR+3WA3-A zmU}uiU;Toe2R+3a#dvPdf%=Fj&`sRUC5{1r3x|=9+`Qnei0SB~M@7YtAGKA4D}hV} zI#fZ<3UZrbwKXKNy9dUcr&-K4X1iXPW8Z*tGu&OswQqnZV^}FgU{A1u+KS=GG}@@| zBT+{zPNHY<8ncvw#A{b!J#a9ibMN^W1Pqf0o24ECWD8S;?_h>=LP~F-a-_`dAGaNm z>1@lL|6Qvpo{q2qPpyQ84VHYg7WbgUq+d22JMhlmG)CRVayTuTr~~?d24+98R@nDB z`Q&(R>kON%?43YWSk?JpW=YMRQ?;*A9@XDbpDdj%)i(PeUccMkktno>6X%}n|4`5D z>iFnfi@lMy|1zg2VN!fL}n$<%0?Y3LN<#Mo=J2butB7~MiCRR*Yj-3-O2(Y(Bg9z>CT@FOxZ0y@I_ z`}>KG7|lB30&(|7haoW(JH->);o%@y#%9f%)WMqQbVEX?ov_2CYM=Ed_j-wG4hLp; z7s<~r$zrC^!X^ii0Y@E^99x@G3bNZ-J>3>QSC6#jY9==E`J%0HI4)L$x5e{gI!|05 zpBHyn5#x%FX{l*tfzWSb7Guz-Y{}7+Z5|I_Wfr`x z;Bt+#>%bcQt`3D>UQ^oieUmR+dJ?L%T69R?rTAoFd4RB*ce^J|1dvNhK^0nR z5_!=?A}^6QD98phFp2%z10yx0Oi)63tqEIB0qAg&;0oEn0hCW-D|M+dN!e9(e&_vs zaIVcEFenzbs19$&VYouEtsU;WyE+6s%QhvxZ-V+AWq^QaXc&x(dKBSOPY*U{G851o z2@@Z0URmcStt{F$8@JF-#zsGCtaKXckIMPIV0Qi2$=`8?M)5IE?x~4=Qaj_lYwJR1 zs%_4@=5mL4lzZ>O?2AE@p>IEijGid63+=g@2_6uoZraP!te{uU!H>faso{6259XTv zM&C2%OPGmWE)quGxZyj~8Tf`ydQ#^!@i1ZwLsWcrWi?RJkQ)oHS9Pm&^)YZ{GW+K;HRzuR-uK(_e0G(NGtk@l9yf*^4XLG-5nhR4$ zrq({3j6c2OlGe^P`XRNwOy@kIEEUWb<4 zlqJYqyO3=j>G105Q=JTVW^!?Iat||PhFl$q+6y}g}AuJXv)abG(&Lg8CtV?XS(6Mo43zwzf*W-EbH7U z8R+>NrQA!`&#l*A>$l_yw$1KZhI>DqM%9#I^PDj{|26n?twKpQ z>3S3N?Pl^tVhhtcBkr`q4M{gBQLIG7K|RDa-zSeeEtVKy;+ZXT75c^AbWixcbX!>) zd`ZO@y|V5q`=8E@eFL?rd?KPZHPJ0uUNdT$ouq`$qOE-$_9fSz{pbxbx+ zQBuMsI9C$8F~>JIS3)M}F-q%D%~HO?W!gfMr3=2rQaqY?6ia|ka~^M$@;`FI;$@v~ zig$?XOLAy-xGSzzDs*&n_NDXBdJ9saWHW->EM?LYtmi1GHcV9_WLi_=p;hl{@voMbfmWgz#+N2Kts$e!imH)GVWkx-?cQ}d|ElK|U(@dda`WnZUt36tG)r&S&3(&=iV()v9;>t? z4(C#CzC8D$WQ&w(_V`X*R>HTVMJdZ(Izo@el>u%u_5K#hcq;6vhyYW|H` zSBzkfj3KQ7XNAF{95re#G!-weAB{5nuIjS_2!(ifFnLfufdZLMKe{xzE-q$j*&NR0 za~0*dsz!u(m^b;N2}|?453G$i2rrwa;Q=H-26*#z}BOKV|RWzihYHbKY?F#et=70dHTcUz+w9 zUkh31Xbfj977b1XUr+YM{zgnj?tZYPP?IKSW5-k4@>y?o`G^WI0oiF}6~W=1&heC6 zB(JP{<}z^d!aO|6;TWh89zXh$TH*<+Jb#FUpCYv}H(!>vKwTh6G!aT?90fxO?X1?? zS_8p84{uG1L7#q@2RAku#*M45G{Cbo1-xK5a~7j>t|4>vsHA?R(~kk;OF3f~^6&?2 zToC5AcV^W}3Sgi4(@A2*UML&5-LES9qh{R{>nup#RNXAVm1&*DF?e@&G9o%Yyfr<3 zt21-Y>!Q4bh56uz7Y77(+{jwx^W16YdH4tRine|YOht$g{HEcR9~+)e`Gx*!dgEGF zg&NlRRilA(KJSn8!+S27?eZ!Z@4a-TCC>Iphsy0s>9Nd+w|6836U2)2ly>VwBz77V z+_o5SJ`6eh)MZmZ+BA;)bpj3k0gvu%#EZN(@k2BF=v-&)ow%ut7W zQozuYK&^#|_t8_cJ6tC9vC|VYA|1wbVbf|;6Nyg!g<`l9MIGJzphUyLn66k4B|5gB z&ugmNB(0W^R24PTeLdp-3&E;3wa!G=v~^+YvgVI7uZE;!-;$V|n6dk|eTc7Idp{N( zc>X@^td6x35`mU6hxnNp%5v zx9TEr=7gAI!~UO*Kjn+|!QWO-kIZlcTg-QaWtkXNlrlq@FYbHuCEfz&4fx`Qg&pU* zJT=4s$n8DKKaxg%a8M#6Z8x|}zH$Rku!3RElA_1KkHfK-h;3hS4rq^;6iavOhd0Bu z>aw|;nrSqcmZ2BAneJCjnhW#8O~DE6JwcN$2HH*rIPOfIrYhH%x1!COzK?V~bg-3U z0(Z?A2hVtf0kYgmGRYBUbZvK$^X(}4rdlM|)1g7xD?UTP!u6Z*s4gdun7WID`#HnR z(S!%I6JO5;|BT@x0R1xEw#|Ey{v^3HVMA2sQ?UFDsb(WnA<{6qtc0|d|6Kxud9QbW zsUxzwZDLW`3K^1+N$j9hazhYOHpM@Px6EUW)5Gt>1C56zF08z8`2;ssX}nNfuJ=Z3 zt>!emyI$wflbg-6?|G$wvwKn+`&{+_H*Y99%BOWfo<5r4*q4YZtoF!}qh@5V`}?`5 zY^pr9M83F$U7V5#Yw`+nbk~mUm@6iN);Ix{nJsKs1gBDk>-_lf!hIIeglcqymp2w? z6-^C?GBjy{b*VXz&2fn!k$B*er6jcIv??Z{RSNRVW%O-WsGti(0`z%2YfEqP$}@n+ zF(lvr9QAHK@@s8A?b@yT@9{rVTSYq5Wi^)1bj3dKI4{%TFWisy*^Kl?Q(nMzU8)}(;d}fBXwH=3* zdoWq0`1x7YFD03EJ(KrwNd#vU)7EH;-nU&I#87;Bm36 z|E01mPOq!9rwSHBKkaWv#}anuf=o8ocafit{CKHi$30Jaek(Y9VyFO>S@2F^sER}RCi3RzA)CP(%Rc(|4| zdw0%*N5ajBx@@u&yOc=K>z`;%(x{`8_36&8F;&zgayA{BEM?AxjTU_UT~b>kdcx+& z+mr?sI}zP6;wQGGnYDw~P@v8E`h1)q$6O_IU7Qpo_kq87-SpvZ8{w-_l9BO0{i=5- zCGTx4-1n%XjUE_Zqv~(xO{OGKpyR$;GfA$Z++42JxsLv~5?up5f4q#${&4tN%dqs( zQ$43rxB5RHC58XYzHPblalQ1qOyCpYGx9IfPCYJsAFf+tzj#~$l7HoMx8rh1@5J}0 z^H|W_EZb|&2SCgYN;F%-cjGAuE$UwB+J_my7HDLHCoRN3ce!|pL>nR~fcr<35%4+# zSz+&m2^KjSC+O`(Bl-FC^MD5}MfkARR(f3`VWC&26`2O>0c64dHwyOm_F_Dy-xC-& z^65j1>%5}_#VjE}_PE#qU3VW*pR+hl&~RA}8aK9kb8IvjV4x5ml9 z68?PuP0@iii@aYyB8|Mh`=$dGc&=k9jQDH7Z5EQM6tLFE{lO=!6+9GoK7oi86;Gc_ zWQ(_fdYcsJA4lu)uL{XFWj9X~!K1PJLqXCfI76 zhl__coeXtlA{+QhQ~L)_Imtu_P%7EJ{X9fpKB7Dt^ZdSJAR70uD^zs)$GcKZo4E-Z(qqR9?3CrG&zoxWYzR@A-g}`Faj33KK()Igpt@m zpmFWel;(ujMon`~vg*bWRhBRbd0Io!=E8g;DNf@2W?q~9K0b~CgqOFuD7R7-OfdM( z95TdrY&s-7(?aD_r6IVVUKu^Od}qSBZlYxiMrx-`Vsno3fYDS$ePL zJl%QM#A*z<<4_e@OK}{ezANK9UUL$=v|m>o-kZpQ-y@U`heQEp2d83qmUw|Dhg@f+ zixq$~7wj1OKwCOp0<@%KkNO6IMz!kpz6y}htE-GO4MTD}!O_YJHU)A_H7OYvS_Bs$ zjOCZTB5Q`7R${Whu%Sy} z9TlG#JQ88Kch)=p^5Y|0Kl(oJzO>tB&g6;1*+=^(m3Jrg=PxgaD4sgT?R9+E_{eqY z_l}e6l8n)s*4?U1|`e zrG5Q(>cr$?HaGPQZTl(!6`Bbi)-sEe!P_L@aS|tHP1xJ?v}}8ujgTdqMQdia_OJ-e zv?|VKSae7+1W)>nAxfnAl_yDe(gqmJHa`f$yde*1ytU@!0e*GA3<^F^=Y zAHDyz^G(Pq^?mtUrxOOTvWs}-Jaum5Pnj3z@A!%R7J^nOzumj!cEEyJ1VEZmRBM+T z>$fMAyvds-?F(!3$i-9469S#jJ}G4$w_6<1SlhcR^CM3#<`%n2qwGQz546HMAUrWF z9vIn^J-EOzzX=q-$3E}}&0x$bX0=;GLo_aOYaz^Ux|Bq%&8||#Pj%5Qr{Q`UOj;{7lVYgOxMT{|favP;i!fmP+EPrTFaUJ| zXD}MSh<=i|dm{(8X5gj#xVt>2<=Ldy=KXM!t+%giOAho0s?-gSYQL;ai+>(wJ}yv& zWvc3kHlcCZcVYn!G`vg9@$$G8pI#2YHK1o%33Al;z}XXLZwRRfwbXTGE_F ztATnItbAF&!#a$W6eH*`sgKfW_9cUtA(BEcuBZmOHA?{KXqEZa#4c7oIhwV$JNS(1 z?JH4d+7>Q#9N$$l(82FRLDS$&Bo!EP3{s1BO?3>S{#fGDD`dD%+E$a~t1*6t7fq8E~N5F1#8GAls46V!ABEF8DzBQUW z$7ht#q7*>CP<^B0r{+Q^{`Iuu2dJwKr<^Y2iY<@wS!?}pp7Df3l_UFB*D~tLbPE?&#v7W*5SSF zwcHx0*uh7^dNgO}X1!R}SXjVM`^KEInnO8$j3oc4a79lr-2GpiJxKW3@O-W{!9+V! z5T7W?G#*cwy}I+L75kK(?%~LL*2wcBqsO^sjgGjcNwM(^7}_w2nl#4~>bUjs(IrQ{ zS@#2(?9BM8kMZnJcb*dS4*KyF<)>z;+%S^^#(4oV>#13+XHm1~l6;%U=W7+=X{6#A z2B_Y9H&N;8%M#;B6Yq9+cpNz9az6C^hRSt4DmQBmIT+XgzwIS^gMLk!GI#6&Zqu0? zsuXublw*}}c0<4KJaxB)ZZB#)Ryecm=V68Xt9B}{`r{3R!fiC*yXS)|f;L`NV($e!pLQ_C$Z0%z?A0*;@JRR&M(BFp*=wh(hp#|; zl}KJ5mDw$8)q$N2;XAu|mcWTePf9FiKzz?ZAL+AWiNM^2dw$^FfmsE2k8bdSGyp!Zo2*;XPHT4h=OvwXk%<>XoQ*gIVB_&D*x;2NgA9^4osN5-*eVDoIP! zsyxvsvPBL zFfTKlM|Mbd0p%P#APUwe3#O!j8Fba9x|%Vd^{`jB*?dppT%u>zTu)*Ncsrq(T`a8( zaGu7UZuedAasqGr(7*%c`LOC*8c8$FuiBuUtdS&xcbsGeDH7Z#^&R^p+BrfDs7V|R z1RWVJZ8|_b{w8!~ux060Rikmh<=#(OH&Uh+rY}}6T^x1NQVDt13U5s4)wujQsxvQc zWBA>{SCbq^qNoaX4TU#j4OO*Nm=LS|icx~(bhi9N7h)(6Fv`sI=&e2RVoUAP9a!&| zvQn2K4qVUPv!Mp?>-*wA80;}IHLt!?3Hg0aEc6WP*YcRb!RX-i@Zi(x+-F+PY*V~; zpinkRvU~5p5@#GTfv}1p#lr2w8>SL?3W$z9YBfR>0r}q7Un$lQpQ%1KS4QrEPkM-( z!eoWUH4(^}N?c5(rQi%V)IeJT?IdJvm4$cFR#B}i8(iSkoDzA&U_z74Iq}1*L|eYI zitR5xcPt!~h=8xVFDyM=K4|lj56QqLFW>a~_$^jgteoO+{V5fS;Y{Moxgz}i*2DeR z-HoF-et5#{17F$;HQag;Y=3Emlp4emnXi zO~vXhba5-V45>YUKvY7xO!b5(-sbN=+bdJx-b)&S>V+;nx?`qQzGwWN?cH2Lq1+v3 zk%Do8zDe@R>0@OlVCFf#20rUfzkbW#dv*+Z)%Ay5f{ND9?+ytfBK(RqQ%+*kyiIQJ zOaG&YE01R@?ZVei1)&m3?bQ-V1+})d6{VI^l7_^-2es=rEozxqqO?;TOD%161R+BR zD%OyoNYxUxw5GPIp{1Rc&a@rhHS^7U@BQPRf6sk?@43(WoaZ_17ny3?Zhy8#pJ4H( zniC>M#}8>hGl4&CktyWZV0~!LQXcLP*_DwXRpbVwZh z`S<|19*V+SM58DQ6qr+FIF}LN|56s&WJOD_POKNsdRUZ|K@ysoZX#khr`VHZe@ufO z877psvDrv;j*#gp*OZgEALDh}uuj`T|NL0Z8@C6VQ!jdcHj68jV!yXtQF-nX7nv>R zZ8<&CpQ^?Eh6x;<9UL}KtFCCGIyCkGsH_j1?M;?Pjo`D_F-$nhNL$`?PMybf?>-S{Bu?xGO~IFLTzfDo1z%9P;?G-EU9BK)c-Dl%A zfC%7DlKo1uzz?F8Q-uLF9?~#9sx&|=$vGYsx1j-DZuIn;Fi$qA@f7^e#&*BVi{+=} zhT`cHD(P+_Ziwu28ZO#bdpm~<IgM8f(^55;%{Cbbf*v+>xL#` z<|&ue*JO#s?Piaw1c094$Wa9ZkcJAx&$#jdgb-1BO`LtKeXL(Vl3xILZ;Ao2F?iZl zi5xVvUTtILv=_=P>)jZgZ*d%3&ZX%cqEhkJfg>1a-tz*fGS^kt`y19Js?e#*3m)7xIXZfYVFQVef?a{PbS8dlYJ?Zg`7pjYK z=iYtiUhSfTRk zqDh!68q26^Af1d7y$~k)rYOhP6Ju-oq83zy3 ziY})fQEeuD-f8=y8X@mi19e)>!+r99k&?bZK$`FA@0<5+d>>D^l~hU7FkX7{CjLY6 z+Q;afyhGw!9c5oBjnnT#W<@NDg;HRnHDB?erQQ?^_1lkwh>n*_1i@=?5V)@)Xkh1m z@22fKkaq?Rejs821%pZ;CGP+LSSLq(ZTQQ6S#fbawoEH20GHz*&LeYYP#ki&lARNw+`#jX~A!mZr6okqH@W0Yt=MWWWLTQ9#7Md}s$FyZzu#F)W}R8& zAJh~DDuW4E)*Xy38L!I!jk?A?4u~JnUL*;s)CEC%(HH=z&W6pVX<|_x$Vj88HcJnb zlOm^y82+d_QK{;I71R}@gf-NH=hYq}54O<*khN8ZSAPBAH5!VemJa4-Rg|hX&&WhKX&(7DBO%+nJ#_yhLzD~x zQTbsxeGB;^1dpElOr|GQ_X+=F$@A-PXWXR~ujs^6g*CkRJj7q|WQT})h%#$4zOdU5 zbtjdbXL^_}#pe)9-py-Y#&@<*1v+T)W8+ds3?0UIf7lVqvVCuz4I#=(LI#BSQ~Pm?o$8{c3%w$t<9VW%e>__PK2?j(xa{%;|R&1?{kVd0*B!C(hAuD@d{8=DZ=0A8>e+6FNY^C%M!03rb3Ca)}<<87&2m3v+3 ze15LQPHsRwB|kT1K-?n@J@~H#q2&oq!3o4D@nuvjTlzoH^AT6f2r1L^JE~iQ;GxhaxKSMWGh-BulN>Vfh;ULj{L5Fh}?LN*cVu#=D}vPt4#k}Mr^PqyY-2){~gSscH{ zJw&{X#+%BVqxx@ZD>C%oDz!Z_7Eo(@Y-NLcQNLc z@DwrT-5H*uT%8{R4)u3g2p|SrCSaZgwPZkt8PcO;^2a`-?8UUlG_j62TRa%TU7aGl zrX#|qBQ81TC%W9Y1}O6@tp0yRZ|6L( z|9!;x-ctcEAS~~mk-mFI9_t`~Hw4A=2g3INa8EG~sDThI^H8n3p@+a|9%ed}Ycu-Q zX4k(qVQ1R`0E3nuI3qm-Lc>9AJVe_m^zd}3?KB9A9fgI; z{s$~E;IQJ?c})cW&IC4~Twg*IJ}Ue&swZ6ds;mxLG~SnjD^l#N%P;z~gMkkuUV?k6 ze7|6ztl&{$=mSf^!m7Wy^P)vO^t#7jnZ)aB!h;g-U^~CZg*vwD&`bPwJO)aO1bJUMS+`& z@XR#gmiR*?N%rJL$h8*1stS0Es5y4^8Hh)6jRX#UC~1`@6yaqMS3(yIImhS@PB` z^0tprqo1{oebE{d!`f@vI>KDXVBzC%FGn5Mac!@0yw_xe*OPWHmyS!$?f($WU$R-4 z4*w6z*&z|6UdBs{Y|j6poHC`17rGg8mf7;o*$U_Ld{PSQ3QFG8mGl2M%JHSv?U%o6JUj*h zGz`1@KQ{mXdNT#B|L_re2enBD?MVkUJnr!Snqt7(NiExPEfBC*06+o&mMW_!E(nW~ zGxbu8e0eQd(gVl!-(0IWo|c>`XJ+|M)^S9HlbQd>G7&oQg5)m~ic3wWds-N&wGTST zzN+N`*&Z)&T>=ok%O-8hA#Ke8Qr=Fm90zQnY@=d3LI4cCV_F!o!x%B_-^c&66r4!Q zo)e7!3U(^8#*w0$$ z_8i((&6laQtAyuayx+eyMgVahtSA8+TkKT4?)w*BgD>*YMy#4|EWw}s(0GF19W8g- z|NP}*03e2q2Z#a0?qmM_P8AlS0HB-g=?v-@7TI2GK#Z4j2@e2dd!66&KOg4*d+C3h zkS#_D0Fujz@YB-6>=_=;m~51Qn=@d`aZVBgW!q`YzVmicTKnKUN?M-#01+-=@icV! zv6lUkZeEpN`MonJ>v7X8FHi|eL27|nNXhH-)qD@Xfa_MGmiw`T;spdd*ACcqe63Kz zcE0zl0E9fy`&>8g)%kKIDyTov?w>&oe=)U(+B)K0uf8Pay-q1tDy*h;?FT1%_(w#6 z%AIfFzl*hOp&%Cqxv}f+!sV2m5ookV0kGw`mMz$FnycKmu)2;0N)pVUhLhp0yD2+m zG*G&*?=-@@PG9kg@dNvHHKI6hf1f4FXtcLojjF={s6air;^oY}xbxJ40)WL{HUQDf zt3OoR!YgHa<0Al-Y(WAP5Es(itEQeU2!n7sH$|( zuu`kabKsJ_l5JIosB~~p<^p15bipr?H!-P!6Zi~jdmg#u5xv*)##ZR%YoVgDRpOv} zQwR0f(Q$IK(V(7u)M_XnEK{uV1lwK9anJ|Lgh7QP3~W-F>tMWcEfmy0ioqsq0Ol{W zsewn;MR9+?4Fh@?ceblU5d^nocJ=uZMNn_`&#wGiQh4a$KhQs4@(+wdT*2Mg0o16#7l#jp(S-I6V$052c7>qZpxihORil@-i5O;2gxl{^xa zZcIV*R#i@r0@3h?dOX)Fb4gU?_7~s=fo0%QNXG?at8z)HYVG1hfwJJP1%PE9npRA( z3|vY8%BmAAV+@D~q+^weTy|;$=-SG!LaiB-B##EBLPc8kPFVwU3YqJmF$i@8bA<`& zgWtqG8qlvvIih#I?{QQE8wY^6Am^E0H%I~zhtDf5U2QTq^Z^%uIjjp{_K6!QO5ow{ z6@0t*#QfQqPSAz~QEzYu!*=k>p;9~)L^DLfjwM#f`=`PPR4>6jlkoUg#r1@2hx=fU zoeFTeeN_{GdnoN_!d7+vuBgh*b@=o+k1UgD?S(M9Z)sH=$E(a;mzbtfm7kMmJe=FBUg3=I zii0dW4gfeH8e+UqOl+(mpo_7{WC!>K1ZDcM7|edzir%u*HoA(%Isjlq84*dL3?R_g zC6!dFIbsI5k}d-G9?e+Xyb-gX*^me#2A~JSy?6zi$q9$ z`1;F_i#@ycUL2}1EM2IH;yP}8dk-f;uvLy!26=0}G9BMbb&oI=&@#S+06O!+64+`* zEqFsK`C1c>WAmmuOkbM-rpYtrY?y}bZ~Xi=M^l?2T8j%(3N_dnUdfLiggO*b<4k)v zB_t%2{c&lMFl>bze(tXAnb3+te>q7ReJ!e6eS5l+q^(itT94w?`wxeww|*_VM+Xb$ zCOTEDZls;t$ni*>~kseb%MY5Np!tjx6 z1O6TY?f${cX=N(WUc^oW&rm7%7x6%myw->J6pOz-6TYzOAoJPY>t4M5O{?WQgY^`Z z_{vac@7Jl&6R)=O@;cJ4HLYz7b>aD5-&wA7*gIzG+k*G6s_!4le|c}|b646tW$ls( zr}_R!y_*Y9eDFt}AEsEWE>9&zzihf~y}dbkv%w;=5`UMpabWxXHNS6d7j7qJY@_bq zzB?B2Az#F;@aSU`oLA`m;5BW`26E5YBF&QF?fK4|4X<=cjwtZ;>F>>wVlvBiS6au5 ztxBF2ZP&-*;>tKMH~;zl)mSs4L`9`Gm^oAOCcMAlGB~BBXN-DdWxS~znynmYO%Onq zDpM3#Kr=Cb?mk;v+}%AeNDgMsk{BvFE-^$VdB7MYXsEnVpdKzqYHLTP9Wkxom$ZY$6DOJmXP!MnUT!q=%2H-W*|US66V@%0 zHx4~&fzRcS1lV(-+2N}|Mq&6zpwd04crLWGX2jqapn`6)Ae!QVcmj$NgROB(!*T_t ztI&vPsD^b2z)ammR5a{hybRuWcHwp5>gR8*UvEs7T%7;?QLpR$c)ItME7_NA>;fVV zI|VGMYEGY!dClg~`(@IxgJr56R_E*e1j>0Ta<3E<-(51y#=#3zBG*M~MdA{0m3!D> z#+jMYH;vSd%#t9@%-LExK5eUZeJqs-q^p(ra`hO<3I`}`1odkxeQrZ)H@x&_ zguHm0T~!8K0%v?gK)I5vK(@f0UW|}Gy_UvR>^nxRcY~TVr1B5iHrlr7YmqBX;oiR{ zXA7{+k=_MYMQVJQl;IvR)E<=gF+J(0xvtoHEFC>0G3GRDvpM8UBS6%5+wf+4Ak66E zP;E}eDXS;$wl><3mj+RZ{%Vx+aUyzuaORZk3XW6mTla+@6F>TrfJ%Mrdp>dH%;))U zp`D6um6)WLbvmXA`$U&KNuG2Vj$voR6bT@DG*D?PP}Ecz1X}rP0u|?rUs%YF^4Y8Q zc7f3(BZ=iqe4woFk4;F5T>#2tm`LOP-eBNS6bDclVKDdZsRN`YWC>%lmPt)XaZW3c zvG7*#R)|IMIhdKXv@$!0f{fWG#NH_pbdrdyJFkVMg=Nm7Nw0{bt*Q!qN^RmXZj4yr zs2)db<0oO%&0x@rx!lNuHf1S|O^!+`yzSi3zVW+^3({FbWo@uj7zC>Bo0AoPh|zCR z_h8U0^P-5;;MM3Wky(@H-PD{{!=IV5bSMY}$==TSTFPtYd4+H1MN0*cYr{XW6MQd@ zPqh?2`^i(e`raYcs>32+^L~bcX<4FX$2FNtTDLXhjv<@;;V;&bP1++0E@^e|3Rh8l z*wtlLh#?vGj2{0nRGswDkac+Y;dw`X;Dn{Tc%qOHaAIGU8&pRNIOnvBlohFBE}TIb zprkyB)lDRh#163X!I)oQ>C$i4>mR`EV0LuOxG=qK8;W$EP~1re?Z?f=+h}>z88^JW zKm*y;*1AuG0hmDPbpJLubQ1CSn)H;}e1H$798L3uir|@i3tloyjaDC={XX*Wt~@2IniG4Q+o;-yMT7ORMkq1~Hw-^W_diJO7&Qz52qp zK6+~%cx{Afj1}J7eQ|#feUq+d)*HK9H0xpWQf_7@GxXe(yQ|0M;M53Fbxk5Su*GMZ z-AB;X;COlrkuBJMCre^+ekOvScwB+UK{`c`SH!@EhYXj4i+LyNdwN%eLm$SDrn_hZ^P>lVEyWQf;Y&Csl7NEuM@DDzYbCIp6#AQ^(TN%R&%Ekr3A#)#X;W_%dbD+Q zxrsMt@t#O#$wjV<6=fO-O!yPJjMvcOs#yKcJuS>*>q65aRCex&-O^@Ozo}9{&&@@3 zhZjyyfsfrOX&TfE^;rDAxA_slI^@vP7TC4L#Y`)kw3Gp2T1rYmK>;z%k_bzaj3+|u zVFvvw?f!}cM;yJHM6zGa(<$+O6*!M5*>r!ogN@XUjDrNMo)Zp+e zQUelrYQC_pR`u*Yyg`56;QOhx+zFQEY0Tp#&Sw)9X0jp5(;LL6YgIC5;ie*OX7=jQ z?~6=Dqj*GBUf+3@ZD*Uh^zG#p*&39S{(&-jqs4)282abDRH|imYR|6^N7ikU1PU+B zhFXkNq4-aWk2T)jPH;c-$@ktofs@WfAMa^Nj;=|{D|Pb053w)&7%*!ge@m!5ua@F&OB+5Eim$$65+8Hza^PN5t}#xm7oAZet4ueJ**{#sO`;FK(} zfog_wy+ak|wEs2Rc=yW(=L%nF=I`y>Uwi};kX-dzS5`33XY4B7u2hT4C`m^Ks7i2Y z$sJ3RmTNBOm$V-ssoR<~IMdb?j;ya2&#UQ=l@Z(Cer`j+<;t*j!<4DSd*kbPc1d4p zU{Ci8FRqU~k~}fyP3N51eh1?M-loq|YezLgoz~i4q5vK+pm}0(tTlwf;0T#KGGa3# z7~^J&qG#*P;r-S4@tf<9=Z!?yN)&1xA+8LA|Vn(CHG@zjBL_$69*h9GWq$SfGkKU;KT&3 z1)*)xLip4=0!YL1Nkn2lZC1Wr3j}+uWHqgDihdnQU~!@wT>7B+dSVT7s*HqN$+-Xd z06O-IXm`+ycICR@z7M_{cXMaFqoPNnYWj2TziP_Oxux>qRY>dQ3$1$~&dw+^P8YVZ z<uSw&(TsA^hHc4+DC6k))5nt7ZQ0L##zBJ>Rzd%WKJ_r@N-TYzvP!-JA-F zTED2Tu2A>$*XXg|DtV{W?ipqoR^In-tUXfyA+^c8=s@zV6Bss8nGyqy@b0On#s`d! z{nTs!ocY#sm!WQ3R)Wx8cue$ZUpYQ0Llm%Wl*W8O#?anmQuEL0iwIEk)HO9h9UfHS zE!peo#eM-EGm->*DFZvli77IpHht0#jStjPvr%nt!%V15JyN1lnKUN9l9>_Ig=uCF z>wVEzPcnt1D#a1l7(||#auX(5E^A+nNoIBadr>7yQ16P}^;a_Yq>r6#`YjxyCVBp= zxot};7a&NKqrt-XYh%Pe$@0FhKXQHuHy-{}v4i?#E!d?BY1T|MWe#@nAzvOo@>ylY z?UVoWAs(MV(xJD-lALb@XRb6|tT}yh?Q!x$&hF)?ii1xtMD7|y?J~Cb)$ryJ=PSNm zQi0Rfbb+=T!z@hOQ%%g(huHk(=2dmjWq3lj%_u?W2yijcM9OsLBS&vXX*%Z)aVRLj zMdZB6Xfzq^jrIn`AZD$(L))}LC#hJn+HKaeg63y!uc}itB{a@$EuczhAkKQ`C#A!y z@zwzi{xEwSgI1=p74Ug1J!9gPwZQJ~1aEER7k?+nWG#pOR8}jDO^TB3ulY{%=0gLG z3BrKN$B$Gjv|#yl#^obpNH-S0*>9@t%y<9Wbxk^{dmYj}G&c6OUyXLr$-X*`1uzA# zFTTIj5aLlVm;3!v>Py#vHKR1@?>jZF+F$BgKe?8mGMp|+m>q)Ca`jfgzLfW!_r$Dfb?86o_t#$=FBqDhLGgf(T zdi_BhPsiQPl>YH=${*8c?zG`oPYFX@Z;aUikW46?QlH|07ZIm@A$&S7xY$_l(x*0( ziS9vl(kunB)_8FPs{s%Us6o`A4LjDBK@v>m3Y?sR*1HG$z{F5w`-c2#TKY_kI}y*} zh!1zeG}9r)NVw6MzZTgv7g5~!d=YT(NfG`v;>fz<{%g6T7Ac7{g)%6$1Sl+>f=wej z4o)>rw~y_v*-p=Go@fi%2)*=6;r-M7e$2}S5yE7z;q5N_@}IJ2VSaZ{{`QNZFev^F zka!B!7s808wk=AyhVGxds5V}Dr1bM#GU(G$p2~iLx$0)&y5iCF8%kdixVZU2Vt3TH z0}bkThoc=YcAVN8OP9Ii%x#DH?c9FD%P^wj!u-XhO}EpWz(4+!v;XB!**ObzKGV^- z7j%~Z+nn26V9E!&PySN zS5h4z&`wpQJc*5rRgI%j*aphfe(K(>m_BQ$9D9Q%{B+l|wK(Y$A{#0A22um8`9}7b zgGcsWkw@(OM7B4fN36p`3LdzJdjYBGa7da~a-bt`jF~z&EApGb$>j(hL*(@D46~z| zw6HhJy?QsPq)nE5{_Xz!>nE>s6g5Qt+Ar_4BsY2H=CqigO~!B~ytF?|5U7b|k8*0Wx6S~1&;IMzM14p;R3TQ5%mcT^ zf(BZC%0ND-Efo}40)qAF18rE_@n&>Tkj;cYlj`m!?sl0pA>yK1JlM$kAbDd5cS|TAZT8D`^DLgF{??)#RzcRQ(YN>i~N7>(gKSN`D*rO}}ZL@c*q4 zllN1E_VW2ICX45XpVU6x+@=`>BxSB*{@FZScMe7T7&yK(_}Z&)z1=F~zG<=f$$gW4 zHwzz$t*$renbthM@zo2Z44iNh{I0AU&;C1nAf_}piMaGkWYGzAe3Bo{l744KLeL{_2dQe+cM_QKijTXd zEDJ4$?~-~D5w~))%qBGQbc~xa-Ugd}jrhE6ag%7#e%pHFTF@=FmnrLUJqMjMq}%S) zd@;uEZaO|!f9sdKfr{kYJOj*iLP^fpS)Zi^PR||$gSvJSmm!>vNASn!;mSBhDW%)= z?TZ}ux-2U>(2NWO<12~zfI?2?PW-bOVgbHih%tVr;g_wFn`dbAC=N|eAfYnnyv87P3=MBmeO2A zNbbeoPi>S$&JcAT<1Y#Q2)w)CVwRn^Yh2@&+{P)_uqTA;uO4m5y0J#LKS#3JpU<1h z-NjHG-{^_@b|!uyE4$*CxXXfWf01ZbrmI**;#Hpld#{wzh}$o^8{afWPJ0Wv^C({8 zEd%Dw+J+80CnMZg)Bnz$g=Ee_LrYPs^L)da(}E*!+5#x0L31LO%5+Zkow$=#w1yYxXO2NGc(jpm#;i| zr@!>@E-@TZV8*NaNB8LuXHRT}xO_W5cSU0`YJHbAXGTx(_6gx>v7V>9GB=FMEF12B zj-3|jNMpkYAQ0a^3{IF`JJ0?u@7h;G>0ZIj)(O^uQNL?1U4PB(zwqsfHg{d#<(`Jf zlX|2fwPGu^Cm+5=?Xl*o|G71kbRA->e`M&*_U>CKFQ;&{Q`>feMG(T;jC1!Zs7|pk z>acp9*#zwgGn)Wz0#k*ChvH#EiuRq&l5cdB)paxB!X*LOpH}@72V5Gehikf( z-iL5*gj%4u5?@Il@DwQc6r$LPg^hAIX-(08DoLbN>oMH`3}$Kg*;ZC2@6Sz-PUVn7 z;ldj>^)vBjrym~Z%DBX=d$Q#7EK%J5f}keB^R(p2$j~y5PC?IQ`}(rPHN^~?#dkE(9H2TqHr)?FV4{WU^9iYRNw}lXgcdBY zc}zjDfkd2j2x`|dfBFlahe9D+|K;?Sf3H1a=k@n z8jjpf%3K}h^tBtHs)-xnp*Rscs8BhL_?bt$OENEyR}#Nd2c3m0;O zK;{~MWiJtKDl8l?-{d|aHT>h@!5>du15!?TIG28`8PMbUX6}Zpd`Dy#8rdyyYqR;7 z1ajr@=Ha@IuH}Gt@=e@W{PK&BCgm4yY&>sjRsGSZ0=Skv`|fVHr%B9e*QFd?pa+CQ z_bDk;p6u^aRF&J)LGddX(S@EWt1B)sVqqv6!yekkje~McinX(Z%rMY4rSh5O z^-tw~DE7e^N`WE~)w%UNLVMx$)xi2VDp{47>IRWog&S?zD}F=+7ApxBwthM-DI7QzIlPtfn)Zf8N>)V0qe z_Il5$m3D~R0b2z5M{y^nb^+TiSr~x}&PRaX!Nz9$5^dOWLOO7D4v^F;k(v+@IfV!j zF%M8Z_x2XW&<7+{sc52LDxD&^5l44VrWaHF+})quF$)k!CP}uN!64{38ZvIhlvy4( zU}2>2n2YQZ_=pUt$vxma3B;wBYa_)wsx3yJ-GzR$9~Kq6E&ldp#sF=Ozo zOE`u_%-NfYHZSBzPu>k4B6Yv|E)lgm>_MJzky^)LW|{3(1T3~g4kwvB!2;SG3dx_e=g3Y^g3+zjC!b=2NdFr_$Owt58arLSX=b!!*9 zWr3g+@sPmnvzle^Ts%X}I^L0*36qO#-0h&U}0D&j!~Ej6AU zOb`_@!3w#Mc8@=%kr+6E{z5#z_2VS3rPb&wsK~45)2~jK+>$d-zmTBI`00@Ikojv5UA6wibCJFHa@fl`dX=L1(xlg2YCf@2rI1;~Sj5K2Ga_ye0Cl?Ab{6h0kS6~}K+o$N}gHtD&Zl-TT8c}--_-rT<)LypkKOJeCpWV-dH2t?SRJ3cD3KrbL-24KZoBOYd730 zc-V;W^`MFJ{ONb!+4oFqVC}4dD1v-$-5ej=VhN1T>urQFaDxXq!qSlebt+<-3`K_G zY%>xIx-&q25eV&{Z$8K=HSX^bTzfr9Ezo_mP#el@))EOwf=S^~%}AvG+h&Rih06tx zGeuJel~nY##UJtUQh*uWa$EZ=9jF$^$}BtjgNrAx1n3{OoPPDoAmJhO#hJC;A$vCq zoYQ(9pf}fNm9AeuJXmlw>7-VMY~Y=#Boj~Rh}IN;qiL;^V_F#*ciWVKFQkTmZ2@wsXtJXfyvcA6 z&`rx`FU5cuNc9gsfZK~PphZD`quv2z+ey})E;S+5Y7(QWN|HiJ0iDrYY=LyLks@t| zR@<&ZMc~mPKV{@s1=mk?OS_il4yJRqHj8$*N%DyRsZ-Q)74#2D$iuDn1>DtXPv|Yv z`-irh%PMq}V<8I9KBrxH;T-mn59dF`c4IW|X}jMpStY{mM&p;i<%Jn-;ln|fgg7gs zd(Pd|b2)smXhqD&QU3FzqhIirY8vY7*KGnamcMGti>*-F#*R;{R^yLFiJa~w9;dX6 zbS<9a;!}a>s{^*EJq9dV%ZV;Di`8`?r1e!6py+W!1cm#h6ObXh&c*bw_K@ZBE;`EQikQjh;JV zJZdg1r*#tk_)+v>m9xqHS&41qgKl&q^_G_R-3QyA>7FW%S)AH9etuc5;`f=6aVN#g zm0iEDQ+Wj5oNJLwNZ|kQbtF#Nkk9#`)Vx~Z2kH;Z1=xD|LMyQA2MIQH!C+NhbdRKg zy6Vby^y!yX@Ei`CK9CYPmvEIFLBPB-B-1fVxQ*=`k9fq{uK0X8^o|!N0>p=%4~PzA zZ_#EV3YqWkGfT9Q>W{NUwl|Xp+SCJ^+sMzTc-5rD#PC%DgGx)Rx-MQ@IAw}yj;r(c zt0gk_bJNPZ@WJnFFJ>uP4%J-J{lbN4clYUYF>`G%S0URs)5^{$A|1T8YQFiT-rHOH zl{zVV^m7%_)#;dk@P}+w>jO`8?+YnATk&)fmKpt7giDIpjj@=-m9R^jcknz06=LM- z-lH1_iluU$_Ej45Xs!ID`R5!O(N6WW@bg9XnQ&}G)_IdnHSG45hXCb6H@_WLXC1P+ zI~e<9TXjPDM^vvza}r<8%QQo7d0>xOf)&U3i3Z@LI7CIrCX&H^@u28Z<~xu=LPXra z(+e`12mGQH;9_#1t_@UU8IBAwd&a<^9V(wX;~X^cV7`sn)?5WTa&+cur_|_FHc1HG z7q1G3$SLvr;_;lEqa%&lN-pgu;ih&NEX*Ds6moc}{q6Mtx!2;~9=Tzead5WpcRzHT zjZns-EnTh%f2hi%U+>bNI~4{LV}2#2gIe2FYTDvh{_&J)@7B>5mE1W47qPCP(iGIG z8xMYMe>$SFX!N?^K-FupcY^ypZnbRr?0YthT^&am%CHL=sPi{2yg}eEio?Dj+QhQ= zy1UnM&IP`QF3q0(A|udOh|uS3=K05M(eYnyi=FEsO)^^q8Su^r9Q04{Y_t8^=Gfk~ z33@9yHbFmz2^>~0i~VD@f~>Y6 zUm}J$`C#xtTmL*+G9rRJI|FR^&px3}&bQ45#{1Ezg@isDg-A)k3j`#^$Wjw2enQqT zlRhoGCaqGJ3;m~BbeTiR7P{Sd=l95*J*UzYe$?ObN(*9`*#|M^8l?~Dl!?>JX#5f< zKSa-e9XtJAcOGS-wt3l${Ar&vsq}PI$)~fs={GN#Wo2TRTp_GGH?5p=8v(JxFu(bk zsLFjV3o;&$Ry_4Aj&*HKZC(@ne5A7^WhE0)@ovINZh5R#@Wb85lNn`Mguvd^_i=Zg z96fk&Vqu?ePU#Wt>b{RwDHYFE1K8Q42rOUI*7bPyTdhblxkCD0=;E`HUS2;B>sO0l zK$wjPgZ4a&l2QO_so;?+2Fsc!Ge92(`^>Bh<1Se{PzdC}RNK5MH9_lud~yFt>ORS_ zI3s9)mLwzwvvlhjjcgNFMLxB`t*HKP4W$C>Hf4M>Sjsj+M3$25dDjFhfOFY2Ze(N zA6g}|5=Y!Raxw*f`>tMj`B+QyffxVndlg4fCqK5Op5nCN069;k>4ylTuWq9Tst)C6 zZz3)M@DMZl;fDGwt>RNe8lg?MH`0Kl&V_^(^OQXO{FlG8C@k=t&$` zB;?_W0<`VAo5{*xMa_zFWDB; z2=kw3H@`4WJUiB2`py@b9LS7qLf5HHo^@&K7;({c?XN#Ex8SYm(R}Fgc!I4d^aH?e zNMMzXw`_rE!a#Bt=dFWi;%Xz%D2{+J^5f%)DrhoKgop>od%)A>9V6d{(bq;cLa&K{ zwl1j|Hg3l9SE;2WlKli2Rqm~7fo)HyDSm#Eyl#G@7z{RW071fE7_t@BFO-@;UH3t( z29sxB|LgE-wWA&1ZSI56J<>Xi(I-O_m|`Jns#h7kL?l`^6~7r8ioYID;7GH+n6Pw_5&{yWPxa64Yz|6>S; z#)!^paB%5iPZst!VYBJPg$$kw*ug`ef?p;gbIdK(hH8}Q=kGRMaa+V^a*3A#dkCJ# zl|Ls@IJ3{YV+XGwgDDn>g0q?Vwly_Y;PGfLNGc$q?0mq$R_pE)K(t{pVfB7Kh$J;o zACdJJM^=a17eU7#-{~T@HaGXtNVX0y5|W~~=B$Re|LjvO%nkm}brkLBc?`hm4C-7cXp&9r7>%I+&Re3CMMZz6Ia zwXz;Bdr{9y@2GS5TuoYn*@?aL)Z3zlu{ODmTI{hY`hmmc+G|4%op1g0JOlirjMCwE zhTCHA-Fnq2)v-Oz9bST`r&V`tW$8z4Zt^}FH^a@df2hbhq*zb7gXOPdS1#dtZG5Nu zRNmLKSugRgBWdsVAJ8po}&Co2j%yUfym>0K?%VwAW=MHis7QfsrK_xB-GPqommfP)p(qZK+?>U$J|A9sdhWY zsb?ap$ieq3%q2fuv1DL6nxFqtlHP^#U0Hy?El;SDdj{&p{yMu77c8d-rY*)#m37Zc zqxj^Br@`Hex?E@271QhXJ$f2+kx7a!`H2-Iae1h}Xnm1&0T-^Ta8B&AyORY+ zd1O^$2080Z55*qYHh%El-Z1dO?$;hk_hQ(h2oq(pEgMq4h^+@yNiEZrmVoSQ}7LpI2{a7pF`%-<{{Kck>7c zV01V|_KS!aRZN0c2DQNZ-c83sAE{FKN$7S2B`t!p((UfkGhyK-aO887W(cH>J#O5% zvPtjyY}(TC3LTvCxwpZ2!nayeD325iO0@d!Okayza(O!9I+=USu>>I#yl!iQp}gtp ze$%thYj+{=IHGpsW8THY)+Z!bW#QiOO~3c$=@C zmMi2Ai({K=X5S4nO$Fz7-J>oRU;V_+cVGTz2yE3#>B6A@$h+oG{7JHgdz zKgm3TpxA&Uoi;|o1*EA>AoPv`mw4yLyi`HFZg8C&@+Gw$OOVP>XfTNEb z&V0FJKAJNfYIq*0&qM|N47A6gA0(`-P|y$oWXxC`?8B_C$IG**kO8~Em-}hYgBv<@ z!ZTIE)=RmPp7gMf<#XFo4#xJW%=!*-o`d&1e%#q~UmI_06ykZ#`o>W6THHoOg-eCOP;L;PpPqBCR8rV6SPSHnOo z08NuRX+4UbE)p)M@W)b9kO0WEV!9s_!Xap1FIg?gO{Pk25K?D+1^U~Z>BRoWRG}nT z)`#nF&)9C?)%ajy9xWEKu7c$L8uSK(XDack@Vh;pl&5lj)O-nj1vy~Ym>tZ1A{Dvx zQGsTi*7E6*B!`rxWc7)p*kQOxrp4vr z{;R>)94@s<%1l#2QB z;0X|U$4mho;5^{%JOu<>K7oM_q*v4EAWz(A-|#0*Hfx#+3WBFUeq2&Gx-&ydZ30d+ zf^wQd1PEAF0#_YF9VnWtyB1Dtb?wa!b=u!xP$i^_|g2e&ikfZmftL&>X(- zVi<^v86@Xlu7BM4in6@Vtm2+{?Dh}t<5|+O(te|oTD!JX4EE>v+*Id!ldnc%h zYNU4@rgzV76J1TY;!AmTWgkk;<8zg~lz90SPB__@=UzuB<)7pEDi^sQ*_#F4sN&es zky26^90uwjC4fF(!TzI@Z45?-xPPz*c<(G;&EJR<63HPoSvZ=MIGS{wV8g*2Qx`I^ z!Lp&NB9^B9OPc8<&SUeQg2R_^*uMP}#3L;!6BiF^xS?K-tZ)env+ta*3$y;3 z>tq}7Ow@**9M|nPGh3hTPHIS+%_rFPW3Ur(g&TzWNw~|JEyp+x*4JJx3B_s!@0Kkc z|JEHX{N`GK{KB&~$Kx+OcI}OU71z?x6x5~oDLS84vZGTDc8{L?tV+%Wh+e0w**<5K zb@QHJ6}GUA&dkIcbz<(Hbwe~)#{{nmmFDz$8$H+;X(FAvC3m|a@9AwRv3HE zr2@EMggWOh8C$2b0ZkvKx31mJe~t;ca8_|m|GD{r@Uj-lxf8Cn*6c^jBrs_o&YI** zdlbqD+AYTHfS@+8&g4-H$OrA8I3$;`E%ewXzddz9vTQuW6nno{mY)w75>>v=2{FlU*de|rK!w*IppGH0P`F`X1;oN}#Y)$Ex) z=af`2%&vLag3C`r4WSHd;U{$8d6=lj{`yxY67#4pGV%E+{F&h6`$a96T9UvSrlZ67=n*6|eGr_2o&f zyc14xA(>yZc-&?k-NBR1ZYkXtVqoq(H$)`#=_wM#0m~M6d${^a^Lzh0@A_Sc_gr zvx~qSMDc<1wx!F#a1XtxlBKrBr?c5BOJ0@8pmpSIto{1_l*3+CF08tO#_79`+Wa5- zF2^%u&DG~l9^Dt6x9*l@U7-Z;Cf!2VMbKgUx1f9wx095Y2P(@xrj_D2Ro&<#kXNw+ic&r*+I92*p7Q*YjbT|U|VGy-h!>7>sr?*%8B4XZJg}wGAYSf_~l!-9215Dx?JauL~gho zI%B%!qR|ljb25z{^ija=n2h0VD@F6XFG264C7-$GPv2$<-ROP15_vO*tfg>n(NZK@ zHK}k<=5AGPZcx$&5~Iz`8$=`zHq10{rDYIhwccan5`*sADAYNC>P96J6tq0vN6Q8^!MHIR(oCKHqxNLYnwILa8*kwy|(vKImH+S#0y-&OLEgtgG+-Io%aaw_uVa1XGwJi%jkZ?V3;yPr2|c1V!Hbxb8}TdU+vN1L-# zSFZc&0=8(cq`)LcoU_&igxCR$sQ|$3sJ3ok`R;777pmM;Bg=lN;{ZW>3Ym2OgZH+^ zHQYuC%5DR^5j&CrJdzcr7S^3LmK6l%v0q2txg_6{%jEW$+hA-)$~F#X`*>|0DQ`}ms?7($hJRE$7QUp zUxlhdiwR=0=d>SaC)U5)9D3S5__*Z6v_l8H)bK=V-f$X~bB0|qO^IJ>tCklj^G?Hy zq<&7B{rQFab|$ow776<@I1dYQJTlEfDUU(VN!?D{*4+vuil4vJcGbl}R=I^Kf0>V% zH6ltIP)Wd;$n5cOCKX@!?z%nsRGs+sxMumU(mMK>_3g;tlH*? zD1IIl6k;oRHgHtI+SHcS%%Z`H8eAAuJfj&ho=1{Fs=y&eICTnDg(OF4xYtNdmApx= zeE66^N~}-WpvQ+5v`$*ITz)%MTxe=7^TJeAnRc$VG&aHW#PGZ6^qPHT*R<{svAhB^ zw-+mqmrG98Qlu+=KO7f0?YV3xK0Ler%TP?HDSE@aFdCB=bConjg%^xv8sGar$yO0=dm^; zYjPsMiQQ;)>tzgZ?pGdo!X7(782~L(X`&5ySTq3MzLAI_&BSO66k)L_L8gdFbDwvh zdtH){4tOT+PePm8u*?LCQ1&Kj;1yVgeJ_=_T*ViLN0-yG?<;6m++rDc+O2)dTtN33 zO=Uf+R@^I}B_PWvJ2CBSc02Br8hMg%kjLIb>=)EQ6f!iT|>@w-o8#T*Jn{KL3 zNX{^L@DrC{FUqt0E>-7%Y*g01y{Q`Ac~a#~2SO50v(=-X<>#&ciULq1~}54@+N*Cs!5%Wq5wD*-)N)FZldEl~HVox;_1g#(7r zo@a9p?Rc|z54`o8241&uP6JmDu06j%o~?{vBEsgvaMSJuStFgA=w{7qvjYzgW#I%H zDVz-orxvDy1mI9y07JvHs^U4yP1GJ1!x4oIn+R4$Smd8~`X4=-%X^LfAC&({m>@GD=0dc7c~Tues3QE9iszeFcc03^8q5mFJNDmg_+}VMZL39^-)j{g;HTEFhIVa?D%8OzA)}xT!0apt>>V~iDG?v;ks_OZSw|a`BPVa%>L&lsps^obJQ~U760vP z!5f7x7r_pfEg4OJhMh9wyhV7*fS$Dm8j z`=l)_HY&T%A`L^TEc~?qu)>Uos`0987vJaZG{Rw~npYDHojW-+mYQBFlWeTUC8Htb z$|&0qUhj%>6CXv^Pub-^a_Zmxh<@j?wcLkyp0#fl)3Hlz5s}6o3A&z? zW>#TQYoE_NNHiVQAY8Gc%zRra{9ygE4Zq*53SD4OVrySAVrHXhQGjy~9VNu}d_O1 zb8n7Yx|a%QOgn*(h?JWRHe{IMCXxxP2+ig3o)e|OioB515t+CW9zOSvEdmP&bh=n) z1QuvRNCPq;2D#j#QW9!BN(wB8T6dBQ+2cf6D!Q)sAK{kF$3TCh5MCWZq6Q zTQm7o`2>-D1{Gs&5%dvTo7d9$hJi+2-+CZDyQy>dWLePm#oPj?Z=JTnQk^ZQuz^)2hS>cj)#WvW=nxmf8MoaWKz zzUTV5U|>8JkI!gp%`^cmRg*-wLvMrqRsnJHv0!|7 z?`!!_M`ec{@&4Zw@7+HQj>r1=EL;6P@1tG3?l164rlFL^?Y^bgKTN!G^v>U`*I6a2 zFpP(v_LvmVCa=f!wupa1C;EeE$!*v7ht)O`7F5kojl2M{13_~ z;!Ppgc+m3tI5wKnBuZJmldkeM3Msk!CvEH*-1>YtN~OKxY(1Aydb8WI<*><;$$)_c zOWWX={bciTz5i6oIRf|arIWt9L_smtLRO2o1ZX8GzYUOR0n^}#44^(39>{uCQ=lye z`I#d&Dg}ek5qc1VAq*+UJ2^R3SF+eFqSrGX8K{oTG4474Lfu9xnIK_VSly+ek|0@^6&|`dQQq2TbG#IEsY~`g>=k)LMo)$I> z=D!B#H7Gwl&}MDgoF|z(A)JpV)HFF(y|};fd3}bzE~{SyS*VpX(aZgGiV}0Rqw~zI zVr5{4100WMaFE25Yyba39LuPe1#B^0`f~bm0P?+I|d$dm&EqM*?p2tGZNh#-&O zr3D2NUG`a5lS<)4KDnGD3{itKXyRPXMYl|9BAl(--ALnr=aizhQl35Xq@eS(xBCj# zz9;?VoTMr(QHt+{-O%Y=n>@9752i)cDpi&yJvv^Z>O_9&`7YHcXRjbDZ2e*4!H~*| znZJG%DW1S>{b8fJ@4U|4365ut!N7lv;wF|?g;yA`XE7+Mq{GOTuiR+c`GmA3x3)tP z4uwJWy=kC5%M*|J6*DjJOFvZgA52X{g-F~O&PC#CRo2Qquq7bW7nR3}OTZA9R3oz1 z_rel+e;?juj1B>QjwGNZ*9U-qfFIaV=}jbUjk{c3syRX9{&?wBG3vt=3}m!^M65q#Jz53d8qcye!ExT>`W&|ND<4FB5FV?1=?kN6wF(c)D8>$4&Wk*v?$Z zH4XB7^4%%^_1HUHr>JFmTxea{;&t7ibueUTEw|`k+hyM9q2OPQzg-e2+fSy9gRR-x zc>OrC&*N7Lw)#68-E*u!>tb88mhS95XTWfO*3mNXLDMa|WgZ|w?TApx$qdzWd20w@ zUeDD5p}DDEp*19SH>lG%bjc8EU1#3SOAHDk)|0*JSy2YiMzb!CEWLCniHgG40ZCYuk-)kF2gNK0%YSO&WsekwaK(te>qRz;rm}Cb zTz!HBZ%VjQhu$2~d(d-XD!^J;RY|rl3Z^*1hD>BID7|&{nLf%{+1>YfNqcc$akKJC zdsurID)d=dVAtPfJ`KE8b%Q7L@0#qrCSGt=BAw#x=+~gqc$ko5qVb{+nB@wSx=*I1 z9kH~8n3@7fgpI1uIzG}po!dPn-r0ccB9oAzA+p}p#r{INkQlP$Y@JSQu!=I&sc!6n z!Aa*@a5p!AkO3}7sOAY7BJ#)v%-;ROUxVNlQcN&P%#+L1YfPjQL0nZ&cTYT$#s#M{ znIy2cQWp*CE|3jdrS|$%bMR=e7+S!IeyfOc5J{JF`)PJCA#K30RlWSg$=2>^iGriv z!A@V-pP@k%=kjH0(G8y_?frk2Ji3S^)u|d^>cH`u;B|t=$42aIb8p}x z%u+=ztZ8e}pvQ*u%jSI)LdiZ~=hbJ{11I0Q4m!}Lu3Yj%LKeU+n2_;F`3jgHDNO!u zbd0FJ1Vi}aNT(x!QG`22IARd@G`iG*vm&jan;{AsA&oNtg+iz*RMjOD`R-lAg+b-Y z9$X^af>_tq0T`+gF5be9$F9X3HV4j3^0KsRg0FX})QhNsCFI({wwC;xdD~?wib3lQWHa!E&>l!e4@t8k;rmKNIe1SA@Pw zF;suYhpuFoznl)sI4=19a#ry@+51@F!@r;J)5KpT-+X%ieXKbR;;T6kDy@^(pd|J` zFNi2r`hSURJJ}lIfLt*?dSO%Y*ES$jfPO3P->Eg{l^H-<)Fi1~(%1^6Q1?;0@Yzo~Q+`F!IO!zMQj&GqZFCM90sl&rT=qq1K1rU(g-uvTk{L zHz`E^Wl^n`v;XzmRqp{pyUj@8?*Mzcr4!w5UqFxhm6)UpR-<3r|0EvZ61%k~a-!^NY8uT;h)>?SchOvgVeO zvmrrEIkAh;;Lk>f#pHPd#0Wj_iA7+W%WFjmr>xYT$8FRR{};H|8hqcE&$Vxe>a`i!16-6@KMT6yPVpw zPKeM0(0nNHG%7hM0w(+rGjw}bp%~$62@Ijy+n;X2xtzdsU>#!7wiuO-vP@ zAgWeo?5IAU&mg4pXJ;6we}y@v}02}NBjMY`03k(*1grO zxgNtAg?A!KBpt4AYD|O=+ewR`$ndR>>)98G`{An=sv}gpG1cRpnW*@5m_{3>Lf;VzWHeI>1 zr=h+S>g^10dfiilWIoc(bBNl*A@Z?endEkQJBfeZGXGN6(F%R&E*Sx$|x& z_nEGR#z|J>ZLN9RC1Cmw@QHx%0!%p)1#MH%eb+|F^h~dsQs`JHkL6OC=1=Ul>vqEc zALa-{PkB$V@*ypz)U7bejaP3eHtrboeeqx-E)X)qP!~vc?Cc4f7TJ@|uW;5U=!R`YlhF%Y=ib0)DO{d{2OOFPLn{ Q(^b literal 0 HcmV?d00001 diff --git a/devlog.md b/devlog.md index 9d8d8d1..5ecfbe2 100644 --- a/devlog.md +++ b/devlog.md @@ -830,3 +830,36 @@ Lots of improvements and fixes to lots of different things that needed improving | Blade | Blade Resonance | deal additional X/2 damage per enemy hit | | Elementor | Windfield | slows enemies by 60% for 6 seconds on hit | | Saboteur | Demoman | the explosion has 50% chance to crit, increasing in size and dealing 2X damage | + +# Day 53 - 10/04/21 + +Implemented 11 characters today and was going to do more but spent a lot of time trying to make traps work and I couldn't figure it out. Have to idea guy a mechanic other than traps to fill their spot now... +Either way, 21 out of 40 characters 100% done is still good. + +| Character | Classes | Description | +| --- | --- | --- | +| Stormweaver | enchanter | infuses projectiles with chain lightning that deals 20% damage to 2 enemies | +| Sage | nuker | shoots a slow projectile that pulls enemies in | +| Squire | warrior, enchanter | +15% damage and defense to all allies | +| Cannoneer | ranger, nuker | shoots a projectile that deals 2X AoE damage | +| Dual Gunner | ranger, rogue | shoots two parallel projectiles, each dealing X damage | +| Hunter | ranger, conjurer | shoots an arrow that deals X damage and has a 20% chance to summon a pet | +| Chronomancer | mage, enchanter | +20% attack speed to all allies | +| Spellblade | mage, rogue | throws knives that deal X damage, pierce and spiral outwards | +| Psykeeper | healer, psyker | all damage taken is stored up to 50% max HP and distributed as healing to all allies | +| Engineer | conjurer | drops sentries that shoot bursts of projectiles, each dealing X damage | +| Plague Doctor | nuker, voider | creates an area that deals X damage per second | + +| Character | Lv.3 Effect Name | Lv.3 Effect Description | +| --- | --- | --- | +| Stormweaver | Wide Lightning | chain lightning's trigger area of effect and number of units hit is doubled | +| Sage | Dimension Compression | when the projectile expires deal 3X damage to all enemies under its influence | +| Squire | Repair | you can reroll your item choices once, these opportunities stack if unused | +| Cannoneer | Cannon Barrage | showers the area in 5 additional cannon shots that deal X/2 AoE damage | +| Dual Gunner | Gun Kata | every 5th attack shoots in rapid succession for 2 seconds | +| Hunter | Feral Pack | summons 3 pets and the pets ricochet off walls once | +| Chronomancer | Quicken | enemies take damage over time 50% faster | +| Spellblade | Spiralism | faster projectile speed and tighter turns | +| Psykeeper | Crucio | also redistributes damage taken as damage to all enemies at double value | +| Engineer | Upgrade | every 3rd sentry dropped upgrade all sentries with +100% damage and attack speed | +| Plague Doctor | Black Death Steam | nearby enemies take an additional X damage per second | diff --git a/main.lua b/main.lua index 098fe4c..fc8c6e7 100644 --- a/main.lua +++ b/main.lua @@ -19,6 +19,11 @@ function init() music.volume = 0 local s = {tags = {sfx}} + dot1 = Sound('Magical Swoosh 18.ogg', s) + gun_kata1 = Sound('Pistol Shot_07.ogg', s) + gun_kata2 = Sound('Pistol Shot_08.ogg', s) + dual_gunner1 = Sound('Revolver Shot_07.ogg', s) + dual_gunner2 = Sound('Revolver Shot_08.ogg', s) ui_hover1 = Sound('bamboo_hit_by_lord.ogg', s) ui_switch1 = Sound('Switch.ogg', s) ui_switch2 = Sound('Switch 3.ogg', s) @@ -148,7 +153,7 @@ function init() ['elementor'] = blue[0], ['saboteur'] = orange[0], ['stormweaver'] = blue[0], - ['sage'] = red[0], + ['sage'] = purple[0], ['squire'] = yellow[0], ['cannoneer'] = orange[0], ['dual_gunner'] = green[0], @@ -177,7 +182,7 @@ function init() ['sapper'] = blue[0], ['priest'] = green[0], ['burrower'] = orange[0], - ['flagellant'] = red[0], + ['flagellant'] = fg[0], } character_color_strings = { @@ -192,7 +197,7 @@ function init() ['elementor'] = 'blue', ['saboteur'] = 'orange', ['stormweaver'] = 'blue', - ['sage'] = 'red', + ['sage'] = 'purple', ['squire'] = 'yellow', ['cannoneer'] = 'orange', ['dual_gunner'] = 'green', @@ -221,7 +226,7 @@ function init() ['sapper'] = 'blue', ['priest'] = 'green', ['burrower'] = 'orange', - ['flagellant'] = 'red', + ['flagellant'] = 'fg', } character_classes = { @@ -314,17 +319,17 @@ function init() get_character_stat_string = function(character, level) local group = Group():set_as_physics_world(32, 0, 0, {'player', 'enemy', 'projectile', 'enemy_projectile'}) - local mock = Player{group = group, leader = true, character = character, level = level, follower_index = 1} - mock:update(0) - return '[red]HP: [red]' .. mock.max_hp .. '[fg], [red]DMG: [red]' .. mock.dmg .. '[fg], [green]ASPD: [green]' .. math.round(mock.aspd_m, 2) .. 'x[fg], [blue]AREA: [blue]' .. - math.round(mock.area_dmg_m*mock.area_size_m, 2) .. 'x[fg], [yellow]DEF: [yellow]' .. math.round(mock.def, 2) .. '[fg], [green]MVSPD: [green]' .. math.round(mock.v, 2) .. '[fg]' + local player = Player{group = group, leader = true, character = character, level = level, follower_index = 1} + player:update(0) + return '[red]HP: [red]' .. player.max_hp .. '[fg], [red]DMG: [red]' .. player.dmg .. '[fg], [green]ASPD: [green]' .. math.round(player.aspd_m, 2) .. 'x[fg], [blue]AREA: [blue]' .. + math.round(player.area_dmg_m*player.area_size_m, 2) .. 'x[fg], [yellow]DEF: [yellow]' .. math.round(player.def, 2) .. '[fg], [green]MVSPD: [green]' .. math.round(player.v, 2) .. '[fg]' end get_character_stat = function(character, level, stat) local group = Group():set_as_physics_world(32, 0, 0, {'player', 'enemy', 'projectile', 'enemy_projectile'}) - local mock = Player{group = group, leader = true, character = character, level = level, follower_index = 1} - mock:update(0) - return math.round(mock[stat], 2) + local player = Player{group = group, leader = true, character = character, level = level, follower_index = 1} + player:update(0) + return math.round(player[stat], 2) end character_descriptions = { @@ -339,18 +344,18 @@ function init() ['blade'] = function(lvl) return '[fg]throws multiple blades that deal [yellow]' .. get_character_stat('blade', lvl, 'dmg') .. ' AoE[fg] damage' end, ['elementor'] = function(lvl) return '[fg]deals [yellow]' .. get_character_stat('elementor', lvl, 'dmg') .. ' AoE[fg] damage in a large area centered on a random target' end, ['saboteur'] = function(lvl) return '[fg]calls [yellow]2[fg] saboteurs to seek targets and deal [yellow]' .. get_character_stat('saboteur', lvl, 'dmg') .. ' AoE[fg] damage' end, - ['stormweaver'] = function(lvl) return '[fg]infuses all allied projectiles with chain lightning that deals [yellow]+20%[fg] damage on hit' end, + ['stormweaver'] = function(lvl) return '[fg]infuses projectiles with chain lightning that deals [yellow]20%[fg] damage to [yellow]2[fg] enemies' end, ['sage'] = function(lvl) return '[fg]shoots a slow projectile that draws enemies in' end, - ['squire'] = function(lvl) return '[yellow]+10%[fg] damage and defense to all allies' end, - ['cannoneer'] = function(lvl) return '[fg]shoots a projectile that deals [yellow]' .. get_character_stat('cannoneer', lvl, 'dmg') .. ' AoE[fg] damage' end, - ['dual_gunner'] = function(lvl) return '[fg]shoots two parallel projectiles' end, + ['squire'] = function(lvl) return '[yellow]+15%[fg] damage and defense to all allies' end, + ['cannoneer'] = function(lvl) return '[fg]shoots a projectile that deals [yellow]' .. 2*get_character_stat('cannoneer', lvl, 'dmg') .. ' AoE[fg] damage' end, + ['dual_gunner'] = function(lvl) return '[fg]shoots two parallel projectiles, each dealing [yellow]' .. get_character_stat('dual_gunner', lvl, 'dmg') .. '[fg] damage' end, ['hunter'] = function(lvl) return '[fg]shoots an arrow that deals [yellow]' .. get_character_stat('hunter', lvl, 'dmg') .. '[fg] damage and has a [yellow]20%[fg] chance to summon a pet' end, ['chronomancer'] = function(lvl) return '[yellow]+20%[fg] attack speed to all allies' end, ['spellblade'] = function(lvl) return '[fg]throws knives that deal [yellow]' .. get_character_stat('spellblade', lvl, 'dmg') .. '[fg] damage, pierce and spiral outwards' end, ['psykeeper'] = function(lvl) return '[fg]all damage taken is stored up to [yellow]50%[fg] max HP and distributed as healing to all allies' end, ['engineer'] = function(lvl) return '[fg]drops sentries that shoot bursts of projectiles, each dealing [yellow]' .. get_character_stat('engineer', lvl, 'dmg') .. '[fg] damage' end, ['plague_doctor'] = function(lvl) return '[fg]creates an area that deals [yellow]' .. get_character_stat('plague_doctor', lvl, 'dmg') .. '[fg] damage per second' end, - ['fisherman'] = function(lvl) return '[fg]throws a net that entangles enemies and prevents them from moving for [yellow]2[fg] seconds' end, + ['fisherman'] = function(lvl) return '[fg]throws a net that entangles enemies and prevents them from moving for [yellow]4[fg] seconds' end, ['juggernaut'] = function(lvl) return '[fg]creates a small area that deals [yellow]' .. get_character_stat('juggernaut', lvl, 'dmg') .. '[fg] damage and pushes enemies away with a strong force' end, ['lich'] = function(lvl) return '[fg]launches a chain frost that jumps [yellow]7[fg] times, dealing [yellow]' .. get_character_stat('lich', lvl, 'dmg') .. '[fg] damage and slowing enemies by [yellow]50%[fg] for [yellow]2[fg] seconds on hit' end, @@ -385,7 +390,7 @@ function init() ['blade'] = '[yellow]Blade Resonance', ['elementor'] = '[blue]Windfield', ['saboteur'] = '[orange]Demoman', - ['stormweaver'] = '[blue]Lightning Spire', + ['stormweaver'] = '[blue]Wide Lightning', ['sage'] = '[purple]Dimension Compression', ['squire'] = '[yellow]Repair', ['cannoneer'] = '[orange]Cannon Barrage', @@ -395,7 +400,7 @@ function init() ['spellblade'] = '[blue]Spiralism', ['psykeeper'] = '[fg]Crucio', ['engineer'] = '[orange]Upgrade', - ['plague_doctor'] = '[purple]Pandemic', + ['plague_doctor'] = '[purple]Black Death Steam', ['fisherman'] = '[yellow]Electric Net', ['juggernaut'] = '[yellow]Brutal Impact', ['lich'] = '[blue]Piercing Frost', @@ -423,13 +428,13 @@ function init() ['swordsman'] = '[light_bg]Cleave', ['wizard'] = '[light_bg]Magic Missile', ['archer'] = '[light_bg]Bounce Shot', - ['scout'] = '[light_bg]Replica', + ['scout'] = '[light_bg]Dagger Resonance', ['cleric'] = '[light_bg]Mass Heal ', - ['outlaw'] = '[light_bg]Fatal Roulette', + ['outlaw'] = '[light_bg]Flying Daggers', ['blade'] = '[light_bg]Blade Resonance', ['elementor'] = '[light_bg]Windfield', - ['saboteur'] = '[light_bg]Chain Reaction', - ['stormweaver'] = '[light_bg]Lightning Spire', + ['saboteur'] = '[light_bg]Demoman', + ['stormweaver'] = '[light_bg]Wide Lightning', ['sage'] = '[light_bg]Dimension Compression', ['squire'] = '[light_bg]Repair', ['cannoneer'] = '[light_bg]Cannon Barrage', @@ -439,7 +444,7 @@ function init() ['spellblade'] = '[light_bg]Spiralism', ['psykeeper'] = '[light_bg]Crucio', ['engineer'] = '[light_bg]Upgrade', - ['plague_doctor'] = '[light_bg]Pandemic', + ['plague_doctor'] = '[light_bg]Black Death Steam', ['fisherman'] = '[light_bg]Electric Net', ['juggernaut'] = '[light_bg]Brutal Impact', ['lich'] = '[light_bg]Piercing Frost', @@ -473,17 +478,17 @@ function init() ['blade'] = function() return '[fg]deal additional [yellow]' .. get_character_stat('blade', 3, 'dmg')/2 .. '[fg] damage per enemy hit' end, ['elementor'] = function() return '[fg]slows enemies by [yellow]60%[fg] for [yellow]6[fg] seconds on hit' end, ['saboteur'] = function() return '[fg]the explosion has [yellow]50%[fg] chance to crit, increasing in size and dealing [yellow]2x[fg] damage' end, - ['stormweaver'] = function() return '[fg]cast a spire of lightning periodically' end, - ['sage'] = function() return '[fg]when the projectile expires deal [yellow]' .. get_character_stat('sage', 3, 'dmg') .. '[fg] to all enemies under its influence' end, + ['stormweaver'] = function() return "[fg]chain lightning's trigger area of effect and number of units hit is [yellow]doubled" end, + ['sage'] = function() return '[fg]when the projectile expires deal [yellow]' .. 3*get_character_stat('sage', 3, 'dmg') .. '[fg] damage to all enemies under its influence' end, ['squire'] = function() return '[fg]you can reroll your item choices once, these opportunities stack if unused' end, - ['cannoneer'] = function() return '[fg]showers the area in additional cannon shots that deal [yellow]' .. get_character_stat('cannoneer', 3, 'dmg') .. '[fg] AoE damage' end, - ['dual_gunner'] = function() return '[fg]every 5th attack shoots projectiles in rapid succession targetting all nearby enemies for [yellow]2[fg] seconds' end, - ['hunter'] = function() return '[fg]summons 3 pets' end, + ['cannoneer'] = function() return '[fg]showers the hit area in [yellow]5[fg] additional cannon shots that deal [yellow]' .. get_character_stat('cannoneer', 3, 'dmg')/2 .. '[fg] AoE damage' end, + ['dual_gunner'] = function() return '[fg]every 5th attack shoot in rapid succession for [yellow]2[fg] seconds' end, + ['hunter'] = function() return '[fg]summons [yellow]3[fg] pets and the pets ricochet off walls once' end, ['chronomancer'] = function() return '[fg]enemies take damave over time [yellow]50%[fg] faster' end, ['spellblade'] = function() return '[fg]faster projectile speed and tighter turns' end, - ['psykeeper'] = function() return '[fg]also redistributes damage taken as damage to all enemies' end, - ['engineer'] = function() return '[fg]every 3rd sentry dropped upgrade all sentries, granting them [yellow]+100%[fg] damage and attack speed' end, - ['plague_doctor'] = function() return '[fg]inflicts enemies with a contagion that deals additional [yellow]' .. get_character_stat('plague_doctor', 3, 'dmg') .. '[fg] damage per second and spreads to nearby enemies' end, + ['psykeeper'] = function() return '[fg]also redistributes damage taken as damage to all enemies at [yellow]double[fg] value' end, + ['engineer'] = function() return '[fg]every 3rd sentry dropped upgrade all sentries with [yellow]+100%[fg] damage and attack speed' end, + ['plague_doctor'] = function() return '[fg]nearby enemies take an additional [yellow]' .. get_character_stat('plague_doctor', 3, 'dmg') .. '[fg] damage per second' end, ['fisherman'] = function() return '[fg]enemies caught take [yellow]' .. get_character_stat('fisherman', 3, 'dmg')/4 .. '[fg] damage per second' end, ['juggernaut'] = function() return '[fg]enemies pushed away by the juggernaut are instantly killed if they hit a wall' end, ['lich'] = function() return '[fg]chain frost decreases enemy defenses by [yellow]30[fg] for [yellow]4[fg] seconds' end, @@ -798,8 +803,8 @@ function init() main = Main() main:add(BuyScreen'buy_screen') - main:go_to('buy_screen', 15, { - {character = 'saboteur', level = 3}, + main:go_to('buy_screen', 22, { + {character = 'fisherman', level = 3}, }) --[[ main:add(Arena'arena') diff --git a/player.lua b/player.lua index a841dc6..9d4ee3e 100644 --- a/player.lua +++ b/player.lua @@ -156,13 +156,9 @@ function Player:init(args) self.t:every(8, function() stormweaver1:play{pitch = random:float(0.95, 1.05), volume = 0.5} - local followers - local leader = (self.leader and self) or self.parent - if self.leader then followers = self.followers else followers = self.parent.followers end - for _, f in ipairs(followers) do - if f.character ~= 'swordsman' and f.character ~= 'cleric' and f.character ~= 'elementor' and f.character ~= 'saboteur' then - f:chain_infuse(4) - end + local units = self:get_all_units() + for _, unit in ipairs(units) do + unit:chain_infuse(4) end end) @@ -206,7 +202,9 @@ function Player:init(args) self.visual_shape = 'rectangle' self.classes = character_classes.dual_gunner + self.dg_counter = 0 self.attack_sensor = Circle(self.x, self.y, 96) + self.gun_kata_sensor = Circle(self.x, self.y, 160) self.t:cooldown(2, function() local enemies = self:get_objects_in_shape(self.attack_sensor, main.current.enemies); return enemies and #enemies > 0 end, function() local closest_enemy = self:get_closest_object_in_shape(self.attack_sensor, main.current.enemies) if closest_enemy then @@ -234,6 +232,10 @@ function Player:init(args) self.visual_shape = 'rectangle' self.classes = character_classes.chronomancer + if self.level == 3 then + main.current.chronomancer_dot = 0.5 + end + elseif self.character == 'spellblade' then self.color = character_colors.spellblade self:set_as_rectangle(9, 9, 'dynamic', 'player') @@ -249,6 +251,8 @@ function Player:init(args) self:set_as_rectangle(9, 9, 'dynamic', 'player') self.visual_shape = 'rectangle' self.classes = character_classes.psykeeper + self.stored_heal = 0 + self.last_heal_time = love.timer.getTime() elseif self.character == 'engineer' then self.color = character_colors.engineer @@ -256,25 +260,50 @@ function Player:init(args) self.visual_shape = 'rectangle' self.classes = character_classes.engineer + self.turret_counter = 0 self.t:every(8, function() SpawnEffect{group = main.current.effects, x = self.x, y = self.y, color = orange[0], action = function(x, y) Turret{group = main.current.main, x = x, y = y, parent = self} end} + self.turret_counter = self.turret_counter + 1 + if self.turret_counter == 3 then + self.turret_counter = 0 + local turrets = main.current.main:get_objects_by_class(Turret) + buff1:play{pitch = random:float(0.95, 1.05), volume = 0.5} + for _, turret in ipairs(turrets) do + HitCircle{group = main.current.effects, x = self.x, y = self.y, rs = 6, color = orange[0], duration = 0.1} + LightningLine{group = main.current.effects, src = self, dst = turret, color = orange[0]} + turret:upgrade() + end + end end) - end - --[[ elseif self.character == 'plague_doctor' then self.color = character_colors.plague_doctor self:set_as_rectangle(9, 9, 'dynamic', 'player') self.visual_shape = 'rectangle' self.classes = character_classes.plague_doctor - + self.t:every(5, function() - self:attack(64) - end, nil, nil, 'attack') + self:dot_attack(24, {duration = 12}) + end) + + if self.level == 3 then + self.t:after(0.01, function() + self.dot_area = DotArea{group = main.current.effects, x = self.x, y = self.y, rs = self.area_size_m*48, color = self.color, dmg = self.area_dmg_m*self.dmg, character = self.character, level = self.level, parent = self} + end) + end + + elseif self.character == 'fisherman' then + self.color = character_colors.fisherman + self:set_as_rectangle(9, 9, 'dynamic', 'player') + self.visual_shape = 'rectangle' + self.classes = character_classes.fisherman + + self.t:every(10, function() + Trap{group = main.current.main, x = self.x, y = self.y, color = self.color, v = 50, r = random:float(0, 2*math.pi), dmg = self.dmg, character = self.character, level = self.level, parent = self} + end) end - ]]-- self:calculate_stats(true) @@ -295,8 +324,8 @@ function Player:update(dt) if self.character == 'squire' then local all_units = self:get_all_units() for _, unit in ipairs(all_units) do - unit.squire_dmg_m = 1.1 - unit.squire_def_m = 1.1 + unit.squire_dmg_m = 1.15 + unit.squire_def_m = 1.15 end elseif self.character == 'chronomancer' then local all_units = self:get_all_units() @@ -380,10 +409,10 @@ function Player:update(dt) self:calculate_stats() if self.attack_sensor then self.attack_sensor:move_to(self.x, self.y) end + if self.gun_kata_sensor then self.gun_kata_sensor:move_to(self.x, self.y) end self.t:set_every_multiplier('shoot', self.aspd_m) self.t:set_every_multiplier('attack', self.aspd_m) - if self.leader then if input.move_left.down then self.r = self.r - 1.66*math.pi*dt end if input.move_right.down then self.r = self.r + 1.66*math.pi*dt end @@ -496,10 +525,20 @@ function Player:hit(damage) local psykeeper = self:get_unit'psykeeper' if psykeeper then psykeeper.stored_heal = psykeeper.stored_heal + actual_damage - if psykeeper.stored_heal > (0.1*self.level*psykeeper.max_hp) then + if psykeeper.stored_heal > (0.5*psykeeper.max_hp) and love.timer.getTime() - self.last_heal_time > 6 then + self.last_heal_time = love.timer.getTime() local all_units = self:get_all_units() for _, unit in ipairs(all_units) do - unit:heal(psykeeper.stored_heal*(self.heal_effect_m or 1)) + unit:heal(psykeeper.stored_heal*(self.heal_effect_m or 1)/#all_units) + end + if self.level == 3 then + buff1:play{pitch = random:float(0.95, 1.05), volume = 0.5} + local enemies = main.current.main:get_objects_by_classes(main.current.enemies) + for _, enemy in ipairs(enemies) do + enemy:hit(2*psykeeper.stored_heal/#enemies) + HitCircle{group = main.current.effects, x = self.x, y = self.y, rs = 6, color = fg[0], duration = 0.1} + LightningLine{group = main.current.effects, src = self, dst = enemy, color = fg[0]} + end end psykeeper.stored_heal = 0 heal1:play{pitch = random:float(0.95, 1.05), volume = 0.5} @@ -632,12 +671,28 @@ function Player:shoot(r, mods) HitCircle{group = main.current.effects, x = self.x + 0.8*self.shape.w*math.cos(r) + 4*math.cos(r - math.pi/2), y = self.y + 0.8*self.shape.w*math.sin(r) + 4*math.sin(r - math.pi/2), rs = 6} HitCircle{group = main.current.effects, x = self.x + 0.8*self.shape.w*math.cos(r) + 4*math.cos(r + math.pi/2), y = self.y + 0.8*self.shape.w*math.sin(r) + 4*math.sin(r + math.pi/2), rs = 6} local t1 = {group = main.current.main, x = self.x + 1.6*self.shape.w*math.cos(r) + 4*math.cos(r - math.pi/2) , y = self.y + 1.6*self.shape.w*math.sin(r) + 4*math.sin(r - math.pi/2), - v = 250, r = r, color = self.color, dmg = self.dmg*dmg_m, crit = crit, character = self.character, parent = self, level = self.level} + v = 300, r = r, color = self.color, dmg = self.dmg*dmg_m, crit = crit, character = self.character, parent = self, level = self.level} local t2 = {group = main.current.main, x = self.x + 1.6*self.shape.w*math.cos(r) + 4*math.cos(r + math.pi/2) , y = self.y + 1.6*self.shape.w*math.sin(r) + 4*math.sin(r + math.pi/2), - v = 250, r = r, color = self.color, dmg = self.dmg*dmg_m, crit = crit, character = self.character, parent = self, level = self.level} + v = 300, r = r, color = self.color, dmg = self.dmg*dmg_m, crit = crit, character = self.character, parent = self, level = self.level} Projectile(table.merge(t1, mods or {})) Projectile(table.merge(t2, mods or {})) - + self.dg_counter = self.dg_counter + 1 + if self.dg_counter == 5 then + self.dg_counter = 0 + self.t:every(0.1, function() + local random_enemy = self:get_random_object_in_shape(self.attack_sensor, main.current.enemies) + if random_enemy then + _G[random:table{'gun_kata1', 'gun_kata2'}]:play{pitch = random:float(0.95, 1.05), volume = 0.35} + camera:spring_shake(2, r) + self.hfx:use('shoot', 0.25) + local r = self:angle_to_object(random_enemy) + HitCircle{group = main.current.effects, x = self.x + 0.8*self.shape.w*math.cos(r) + 4*math.cos(r - math.pi/2), y = self.y + 0.8*self.shape.w*math.sin(r) + 4*math.sin(r - math.pi/2), rs = 6} + local t = {group = main.current.main, x = self.x + 1.6*self.shape.w*math.cos(r), y = self.y + 1.6*self.shape.w*math.sin(r), v = 300, r = r, color = self.color, dmg = self.dmg, character = self.character, + parent = self, level = self.level} + Projectile(table.merge(t, mods or {})) + end + end, 20) + end else HitCircle{group = main.current.effects, x = self.x + 0.8*self.shape.w*math.cos(r), y = self.y + 0.8*self.shape.w*math.sin(r), rs = 6} local t = {group = main.current.main, x = self.x + 1.6*self.shape.w*math.cos(r), y = self.y + 1.6*self.shape.w*math.sin(r), v = 250, r = r, color = self.color, dmg = self.dmg*dmg_m, crit = crit, character = self.character, @@ -645,8 +700,11 @@ function Player:shoot(r, mods) Projectile(table.merge(t, mods or {})) end - if self.character == 'vagrant' or self.character == 'dual_gunner' then + if self.character == 'vagrant' then shoot1:play{pitch = random:float(0.95, 1.05), volume = 0.2} + elseif self.character == 'dual_gunner' then + dual_gunner1:play{pitch = random:float(0.95, 1.05), volume = 0.3} + dual_gunner2:play{pitch = random:float(0.95, 1.05), volume = 0.3} elseif self.character == 'archer' or self.character == 'hunter' then archer1:play{pitch = random:float(0.95, 1.05), volume = 0.35} elseif self.character == 'wizard' then @@ -681,6 +739,17 @@ function Player:attack(area, mods) end +function Player:dot_attack(area, mods) + mods = mods or {} + camera:shake(2, 0.5) + self.hfx:use('shoot', 0.25) + local t = {group = main.current.effects, x = mods.x or self.x, y = mods.y or self.y, r = self.r, rs = self.area_size_m*(area or 64), color = self.color, dmg = self.area_dmg_m*self.dmg, character = self.character, level = self.level} + DotArea(table.merge(t, mods)) + + dot1:play{pitch = random:float(0.9, 1.1), volume = 0.5} +end + + function Player:barrage(r, n) n = n or 8 for i = 1, n do @@ -710,12 +779,24 @@ function Projectile:init(args) self.infused_enemies_hit = {} if self.character == 'sage' then + elementor1:play{pitch = random:float(0.9, 1.1), volume = 0.5} + self.compression_dmg = self.dmg self.dmg = 0 self.pull_sensor = Circle(self.x, self.y, 64*self.parent.area_size_m) self.rs = 0 self.t:tween(0.05, self, {rs = self.shape.w/2.5}, math.cubic_in_out, function() self.spring:pull(0.15) end) self.t:after(4, function() - self.t:every_immediate(0.05, function() self.hidden = not self.hidden end, 7, function() self:die() end) + self.t:every_immediate(0.05, function() self.hidden = not self.hidden end, 7, function() + self:die() + if self.level == 3 then + _G[random:table{'saboteur_hit1', 'saboteur_hit2'}]:play{pitch = random:float(0.95, 1.05), volume = 0.2} + magic_area1:play{pitch = random:float(0.95, 1.05), volume = 0.075} + local enemies = self:get_objects_in_shape(self.pull_sensor, main.current.enemies) + for _, enemy in ipairs(enemies) do + enemy:hit(3*self.compression_dmg) + end + end + end) end) self.color_transparent = Color(args.color.r, args.color.g, args.color.b, 0.08) @@ -726,12 +807,22 @@ function Projectile:init(args) self.dvr = random:float(-math.pi/4, math.pi/4) elseif self.character == 'spellblade' then - self.pierce = 1000 - self.orbit_r = 0 - self.orbit_vr = 8*math.pi - self.t:tween(6.25, self, {orbit_vr = math.pi}, math.expo_out, function() - self.t:tween(12.25, self, {orbit_vr = 0}, math.linear) - end) + if self.level == 3 then + self.v = 1.5*self.v + self.pierce = 1000 + self.orbit_r = 0 + self.orbit_vr = 12*math.pi + self.t:tween(6.25, self, {orbit_vr = 4*math.pi}, math.expo_out, function() + self.t:tween(12.25, self, {orbit_vr = 0}, math.linear) + end) + else + self.pierce = 1000 + self.orbit_r = 0 + self.orbit_vr = 8*math.pi + self.t:tween(6.25, self, {orbit_vr = math.pi}, math.expo_out, function() + self.t:tween(12.25, self, {orbit_vr = 0}, math.linear) + end) + end end if self.homing then @@ -813,6 +904,11 @@ function Projectile:die(x, y, r, n) Area{group = main.current.effects, x = self.x, y = self.y, r = self.r, w = self.parent.area_size_m*64, color = self.color, dmg = self.parent.area_dmg_m*self.dmg, character = self.character, level = self.level} elseif self.character == 'cannoneer' then Area{group = main.current.effects, x = self.x, y = self.y, r = self.r, w = self.parent.area_size_m*96, color = self.color, dmg = 2*self.parent.area_dmg_m*self.dmg, character = self.character, level = self.level} + self.parent.t:every(0.2, function() + _G[random:table{'cannoneer1', 'cannoneer2'}]:play{pitch = random:float(0.95, 1.05), volume = 0.5} + Area{group = main.current.effects, x = self.x + random:float(-32, 32), y = self.y + random:float(-32, 32), r = self.r + random:float(0, 2*math.pi), w = self.parent.area_size_m*48, color = self.color, + dmg = 0.5*self.parent.area_dmg_m*self.dmg, character = self.character, level = self.level} + end, 5) end end @@ -853,7 +949,7 @@ function Projectile:on_collision_enter(other, contact) elseif self.character == 'cannoneer' then self:die(x, y, r, random:int(2, 3)) cannon_hit_wall1:play{pitch = random:float(0.95, 1.05), volume = 0.1} - elseif self.character == 'engineer' then + elseif self.character == 'engineer' or self.character == 'dual_gunner' then self:die(x, y, r, random:int(2, 3)) _G[random:table{'turret_hit_wall1', 'turret_hit_wall2'}]:play{pitch = random:float(0.9, 1.1), volume = 0.2} else @@ -910,14 +1006,22 @@ function Projectile:on_trigger_enter(other, contact) if self.character == 'hunter' and random:bool(40) then trigger:after(0.01, function() - SpawnEffect{group = main.current.effects, x = self.parent.x, y = self.parent.y, color = orange[0], action = function(x, y) - Pet{group = main.current.main, x = x, y = y, r = self.parent:angle_to_object(other), v = 150, parent = self.parent, conjurer_buff_m = self.conjurer_buff_m or 1} - end} + if self.level == 3 then + local r = self.parent:angle_to_object(other) + SpawnEffect{group = main.current.effects, x = self.parent.x, y = self.parent.y, color = green[0], action = function(x, y) + Pet{group = main.current.main, x = x, y = y, r = r, v = 150, parent = self.parent, conjurer_buff_m = self.conjurer_buff_m or 1} + Pet{group = main.current.main, x = x + 12*math.cos(r + math.pi/2), y = y + 12*math.sin(r + math.pi/2), r = r, v = 150, parent = self.parent, conjurer_buff_m = self.conjurer_buff_m or 1} + Pet{group = main.current.main, x = x + 12*math.cos(r - math.pi/2), y = y + 12*math.sin(r - math.pi/2), r = r, v = 150, parent = self.parent, conjurer_buff_m = self.conjurer_buff_m or 1} + end} + else + SpawnEffect{group = main.current.effects, x = self.parent.x, y = self.parent.y, color = orange[0], action = function(x, y) + Pet{group = main.current.main, x = x, y = y, r = self.parent:angle_to_object(other), v = 150, parent = self.parent, conjurer_buff_m = self.conjurer_buff_m or 1} + end} + end end) end if self.parent.chain_infused then - --[[ local units = self.parent:get_all_units() local stormweaver_level = 0 for _, unit in ipairs(units) do @@ -926,12 +1030,11 @@ function Projectile:on_trigger_enter(other, contact) break end end - ]]-- local src = other - for i = 1, 2 do + for i = 1, 2 + (stormweaver_level == 3 and 2 or 0) do _G[random:table{'spark1', 'spark2', 'spark3'}]:play{pitch = random:float(0.9, 1.1), volume = 0.3} table.insert(self.infused_enemies_hit, src) - local dst = src:get_random_object_in_shape(Circle(src.x, src.y, 64), main.current.enemies, self.infused_enemies_hit) + local dst = src:get_random_object_in_shape(Circle(src.x, src.y, (stormweaver_level == 3 and 128 or 64)), main.current.enemies, self.infused_enemies_hit) if dst then dst:hit(0.2*self.dmg) LightningLine{group = main.current.effects, src = src, dst = dst} @@ -1027,6 +1130,111 @@ end +DotArea = Object:extend() +DotArea:implement(GameObject) +function DotArea:init(args) + self:init_game_object(args) + self.shape = Circle(self.x, self.y, self.rs) + + self.t:every(0.2, function() + local enemies = main.current.main:get_objects_in_shape(self.shape, main.current.enemies) + for _, enemy in ipairs(enemies) do + hit2:play{pitch = random:float(0.8, 1.2), volume = 0.2} + enemy:hit(self.dmg/5) + HitCircle{group = main.current.effects, x = enemy.x, y = enemy.y, rs = 6, color = fg[0], duration = 0.1} + for i = 1, 1 do HitParticle{group = main.current.effects, x = enemy.x, y = enemy.y, color = self.color} end + for i = 1, 1 do HitParticle{group = main.current.effects, x = enemy.x, y = enemy.y, color = enemy.color} end + end + end, nil, nil, 'dot') + + self.color = fg[0] + self.color_transparent = Color(args.color.r, args.color.g, args.color.b, 0.08) + self.rs = 0 + self.hidden = false + self.t:tween(0.05, self, {rs = args.rs}, math.cubic_in_out, function() self.spring:pull(0.15) end) + self.t:after(0.2, function() self.color = args.color end) + if self.duration and self.duration > 0.5 then + self.t:after(self.duration - 0.35, function() + self.t:every_immediate(0.05, function() self.hidden = not self.hidden end, 7, function() self.dead = true end) + end) + end + + self.vr = 0 + self.dvr = random:float(-math.pi/4, math.pi/4) +end + + +function DotArea:update(dt) + self:update_game_object(dt) + self.t:set_every_multiplier('dot', (main.current.chronomancer_dot or 1)) + self.vr = self.vr + self.dvr*dt + + if self.parent then + if self.character == 'plague_doctor' and self.level == 3 then + self.x, self.y = self.parent.x, self.parent.y + self.shape:move_to(self.x, self.y) + end + end +end + + +function DotArea:draw() + if self.hidden then return end + + graphics.push(self.x, self.y, self.r + self.vr, self.spring.x, self.spring.x) + -- graphics.circle(self.x, self.y, self.shape.rs + random:float(-1, 1), self.color, 2) + graphics.circle(self.x, self.y, self.shape.rs, self.color_transparent) + local lw = math.remap(self.shape.rs, 32, 256, 2, 4) + for i = 1, 4 do graphics.arc('open', self.x, self.y, self.shape.rs, (i-1)*math.pi/2 + math.pi/4 - math.pi/8, (i-1)*math.pi/2 + math.pi/4 + math.pi/8, self.color, lw) end + graphics.pop() +end + + + + +--[[ +Trap = Object:extend() +Trap:implement(GameObject) +Trap:implement(Physics) +function Trap:init(args) + self:init_game_object(args) + + self.shape = Rectangle(self.x, self.y, 6, 6) + self.spring:pull(0.15, 200, 20) + self.vr = 0 + self.dvr = random:float(-2*math.pi, 2*math.pi) + self.t:tween(1, self, {v = 0, dvr = 0}, math.linear) +end + + +function Trap:update(dt) + self:update_game_object(dt) + self:move_along_angle(self.v, self.r) + self.vr = self.vr + self.dvr*dt + self.shape:move_to(self.x, self.y) + + local enemies = self:get_objects_in_shape(self.shape, main.current.enemies) + if #enemies > 0 then + self.dead = true + local enemies = self:get_objects_in_shape(Circle(self.x, self.y, 24), main.current.enemies) + for _, enemy in ipairs(enemies) do + enemy:slow(0.1, 4) + end + end +end + + +function Trap:draw() + graphics.push(self.x, self.y, self.r + self.vr, self.spring.x, self.spring.x) + graphics.line(self.x - 6, self.y, self.x + 6, self.y, self.color, 3) + graphics.line(self.x, self.y - 6, self.x, self.y + 6, self.color, 3) + graphics.pop() +end +]]-- + + + + Turret = Object:extend() Turret:implement(GameObject) Turret:implement(Physics) @@ -1044,12 +1252,12 @@ function Turret:init(args) self.hfx:use('hit', 0.25, 200, 10) HitCircle{group = main.current.effects, x = self.x + 0.8*self.shape.w*math.cos(self.r), y = self.y + 0.8*self.shape.w*math.sin(self.r), rs = 6} local t = {group = main.current.main, x = self.x + 1.6*self.shape.w*math.cos(self.r), y = self.y + 1.6*self.shape.w*math.sin(self.r), v = 200, r = self.r, color = self.color, - dmg = self.parent.dmg*(self.parent.conjurer_buff_m or 1), character = self.parent.character, parent = self.parent} + dmg = self.parent.dmg*(self.parent.conjurer_buff_m or 1)*self.upgrade_dmg_m, character = self.parent.character, parent = self.parent} Projectile(table.merge(t, mods or {})) turret1:play{pitch = random:float(0.95, 1.05), volume = 0.35} turret2:play{pitch = random:float(0.95, 1.05), volume = 0.35} end, 3) - end) + end, nil, nil, 'shoot') self.t:after(24*(self.parent.conjurer_buff_m or 1), function() local n = n or random:int(3, 4) @@ -1057,12 +1265,17 @@ function Turret:init(args) HitCircle{group = main.current.effects, x = self.x, y = self.y}:scale_down() self.dead = true end) + + self.upgrade_dmg_m = 1 + self.upgrade_aspd_m = 1 end function Turret:update(dt) self:update_game_object(dt) + self.t:set_every_multiplier('shoot', 1/self.upgrade_aspd_m) + local closest_enemy = self:get_closest_object_in_shape(self.attack_sensor, main.current.enemies) if closest_enemy then self:rotate_towards_object(closest_enemy, 0.2) @@ -1078,6 +1291,14 @@ function Turret:draw() end +function Turret:upgrade() + self.upgrade_dmg_m = self.upgrade_dmg_m + 1 + self.upgrade_aspd_m = self.upgrade_aspd_m + 1 + for i = 1, 6 do HitParticle{group = main.current.effects, x = self.x, y = self.y, r = random:float(0, 2*math.pi), color = self.color} end + HitCircle{group = main.current.effects, x = self.x, y = self.y}:scale_down() +end + + Pet = Object:extend() @@ -1091,6 +1312,7 @@ function Pet:init(args) self.color = character_colors.hunter self.pierce = 6 pet1:play{pitch = random:float(0.95, 1.05), volume = 0.35} + self.ricochet = 1 end @@ -1122,8 +1344,15 @@ function Pet:on_collision_enter(other, contact) local n = n or random:int(3, 4) for i = 1, n do HitParticle{group = main.current.effects, x = x, y = y, r = random:float(0, 2*math.pi), color = self.color} end HitCircle{group = main.current.effects, x = x, y = y}:scale_down() - self.dead = true hit2:play{pitch = random:float(0.95, 1.05), volume = 0.35} + + if self.parent.level == 3 and self.ricochet > 0 then + local r = Unit.bounce(self, nx, ny) + self.r = r + self.ricochet = self.ricochet - 1 + else + self.dead = true + end end end @@ -1144,6 +1373,8 @@ function Pet:on_trigger_enter(other) other:push(35, self:angle_to_object(other)) self.pierce = self.pierce - 1 end + hit2:play{pitch = random:float(0.95, 1.05), volume = 0.35} + elseif self.character == 'blade' then self.hfx:use('hit', 0.25) HitCircle{group = main.current.effects, x = self.x, y = self.y, rs = 6, color = fg[0], duration = 0.1} HitParticle{group = main.current.effects, x = self.x, y = self.y, color = self.color} diff --git a/todo b/todo index ef47812..9bcee6a 100644 --- a/todo +++ b/todo @@ -50,17 +50,17 @@ * Blade [warrior, nuker]: throws multiple blades that deal AoE damage - Lv.3: Blade Resonance - deal additional damage based on number of enemies hit * Elementor [mage, nuker]: deals AoE damage to a random target in a large area - Lv.3: Windfield - slows enemies hit * Saboteur [rogue, conjurer, nuker]: calls saboteurs to seek targets and deal AoE damage - Lv.3: Chain Reaction - should an enemy die from a saboteur explosion, it also explodes - Stormweaver [enchanter]: infuses all allied projectiles with chain lightning that deals extra damage - Lv.3: Lightning Spire - cast a spire of lightning periodically - Sage [nuker]: shoots a slow moving projectile that pulls enemies in - Lv.3: Dimension Compression - when the projectile expires deal massive damage to all enemies under its influence - Squire [warrior, enchanter]: increased damage and defense to all allies - Lv.3: Repair - you can reroll your item choice once every 3 levels, these opportunities stack if unused - Cannoneer [ranger, nuker]: shoots a projectile that deals AoE damage - Lv.3: Cannon Barrage - showers the hit area in additional cannon shots that deal AoE damage - Dual Gunner [ranger, rogue]: shoots two parallel projectiles - Lv.3: Gun Kata - every 5th attack shoots projectiles in a rapid succession for a duration, targetting all nearby enemies - Hunter [ranger, conjurer]: shoots an arrow that summons a pet - Lv.3: Feral Pack - summons 3 pets - Chronomancer [mage, enchanter]: increased attack speed to all allies - Lv.3: Quicken - enemies take DoT faster - Spellblade [mage, rogue]: throws knives that spiral outwards and pierce - Lv.3: Spiralism - faster projectile speed and tighter turns - Psykeeper [healer, psyker]: stores damage taken by all allies and redistributes it as healing - Lv.3: Crucio - also redistributes it as damage to all enemies - Engineer [conjurer]: drops sentries that shoot bursts of projectils - Lv.3: Upgrade - every 3rd sentry dropped, upgrade all sentries temporarily, giving increased damage and attack speed - Plague Doctor [nuker, voider]: creates an area that deals DoT - Lv.3: Pandemic - inflicts enemies with a contagion that deals additional DoT, if they die from it it passes to a nearby enemy + * Stormweaver [enchanter]: infuses all allied projectiles with chain lightning that deals extra damage - Lv.3: Lightning Spire - cast a spire of lightning periodically + * Sage [nuker]: shoots a slow moving projectile that pulls enemies in - Lv.3: Dimension Compression - when the projectile expires deal massive damage to all enemies under its influence + (Repair to do after items implemented) * Squire [warrior, enchanter]: increased damage and defense to all allies - Lv.3: Repair - you can reroll your item choice once every 3 levels, these opportunities stack if unused + * Cannoneer [ranger, nuker]: shoots a projectile that deals AoE damage - Lv.3: Cannon Barrage - showers the hit area in additional cannon shots that deal AoE damage + * Dual Gunner [ranger, rogue]: shoots two parallel projectiles - Lv.3: Gun Kata - every 5th attack shoots projectiles in a rapid succession for a duration, targetting all nearby enemies + * Hunter [ranger, conjurer]: shoots an arrow that summons a pet - Lv.3: Feral Pack - summons 3 pets + (Apply arena.chronomancer_dot when damage over time is implemented) * Chronomancer [mage, enchanter]: increased attack speed to all allies - Lv.3: Quicken - enemies take DoT faster + * Spellblade [mage, rogue]: throws knives that spiral outwards and pierce - Lv.3: Spiralism - faster projectile speed and tighter turns + * Psykeeper [healer, psyker]: stores damage taken by all allies and redistributes it as healing - Lv.3: Crucio - also redistributes it as damage to all enemies + * Engineer [conjurer]: drops sentries that shoot bursts of projectils - Lv.3: Upgrade - every 3rd sentry dropped, upgrade all sentries temporarily, giving increased damage and attack speed + * Plague Doctor [nuker, voider]: creates an area that deals DoT - Lv.3: Pandemic - inflicts enemies with a contagion that deals additional DoT, if they die from it it passes to a nearby enemy Fisherman [trapper, warrior]: throws a net that entangles enemies and prevents them from moving - Lv.3: Electric Net - enemies caught take DoT Juggernaut [forcer, warrior]: creates a small area that deals AoE damage and pushes enemies away - Lv.3: Brutal Impact - enemies pushed away are instantly killed if they hit a wall Lich [mage]: launches a chain frost that chains 7 times, dealing damage and slowing enemies it hits - Lv.3: Piercing Frost - chain frost ignores enemy defenses