From 1bbab016ac196cfc088a3acc454ea265fd394c8b Mon Sep 17 00:00:00 2001 From: Evan Debenham <Evan.SHPX@gmail.com> Date: Wed, 5 Sep 2018 17:54:25 -0400 Subject: [PATCH] v0.7.0: Artifact spawning and boss reward changes: - master thieve's armband now drops regularly - thieves now rarely drop a random ring or artifact instead of armband - Goo and DM-300 now drop unique alchemy ingredients, no artifacts - Lloyd's beacon and cape of thorns effectively removed from the game --- core/src/main/assets/items.png | Bin 17271 -> 17413 bytes .../actors/mobs/Bandit.java | 4 +- .../actors/mobs/DM300.java | 15 ++++-- .../actors/mobs/Goo.java | 15 ++++-- .../actors/mobs/Thief.java | 14 +---- .../items/Generator.java | 2 +- .../items/quest/GooBlob.java | 48 ++++++++++++++++++ .../items/quest/MetalShard.java | 48 ++++++++++++++++++ .../journal/Catalog.java | 6 +-- .../sprites/ItemSpriteSheet.java | 4 ++ .../messages/items/items.properties | 10 +++- 11 files changed, 138 insertions(+), 28 deletions(-) create mode 100644 core/src/main/java/com/shatteredpixel/shatteredpixeldungeon/items/quest/GooBlob.java create mode 100644 core/src/main/java/com/shatteredpixel/shatteredpixeldungeon/items/quest/MetalShard.java diff --git a/core/src/main/assets/items.png b/core/src/main/assets/items.png index 2cab2c07fd765bba9e110e0d79b23c31b191bcfa..34ce11af584e04903a9b9897d42b2e32c0f6a48f 100644 GIT binary patch literal 17413 zcmbWf2|SeD|37?Y7`vt{p<)zn`%)CL%(P01qEKX%q|H*YGc%Ub9VN1~V026FR+Q|_ zAW@bfg|f`ZGGv)yFf(R*F8BBT{hr_R`al2Y^?yBHUaqrz&bhAZb3W%>@AG+ojz5n% zJIKpyk^un7J09Ba3IGgB!hw_obP0U?jt9WL4#)j_PDH|H>m@V2zvs=J84J!Rle9<r z8g2ch<(JfYPPNqd;Q8~t>%{jd9<f(=^mK!o_71TfYDYF3-S<z~t}4+hz5$_dy!`Wp z{E&*A^Df@89jsL!RX+Yhz`&K^Wo+flP^gQChsW~BmASCs;hNf)tKotb>&m?mT6^3l zQ)Bt7o+e{u4l7rlWZc_RW7JcYYXLjo#j2VQoS4yP?>RLaO+Sy(dUTbu<9v{GOF`;O z=dBLc4dVaQY?34Tz^f)UVzyxLaXjLb_q|am)hM}*pZ8~7lN)0jFTdSZO5aF0xn<5R zYnQ>N(f4i9Z&RI(_FVCU9m^Kgrk?<RGAn~6)+fI-E)4!yHh6EgcM=}r4*MH8w@xg< z55esgV*7WDMsQO%m=%&g{gBhdbwvAQwD?G+s_tN<9=8$H@E1QDgD-V{)k(ju#K688 zqa5Ge;Cz+UloVEs=w@08BC2nHdI!YuHQFh#AARsPJ)+dJKtn<j|DiJBy>?5MG!_Rt zKZ2KQ*rh~Rz6v{(KoUdTUx#nFE?e;T5WG}LHy3`$bz3>tMLVTxzxqw|8}Q5DzpJ|B zY-CYh_954mS2Xo1(X~|;>$=d$poDpFIYuhue3#;qkj4J2cg(3=+p$n@kFH~e_VTTS zi0E5E?Sdle1<89};SFvX;v_rtkBdPm{y5$sRruG`#kcp>^KmbGs(~54^*H_#Q?*fv zhN>?gpw;Mb?kdwa4fSlhFD_!v^-g<Ai$5gy(rp*MzBAClaDwydB6`A{G?lKp*{__n z@%@>(-4GB&Ly8gP$rR0vfABrf*Cej$9Ow>rRG{fDl^eo};rzZ6DGI8N@!f?|{3Dvm zLQ94f<?&=2+8rQNX~>TJOCe=aFS`<eFyKNkP)Q+h%d(!mAVpXo!7Y_|0Nlp=o&fd- z$D$(a+!CG{le5W*=4C0T`qo8FK&j##^ON2Z(`;`**q%)jp;)Oi!X0e&Ik?{YcAdtw z7x-ca{KJ0Td%|)`B{rjrCv7)Z;`iJW5Qdwv9{?@2AK3DZ2;(gLT_IFEyn3i#S+>9v zUY>|9XBmII&S`xMOmah23GBD0&yBJI_y}1{AwJ+4oVmh)M{4CTclp{V`;zDFve{`0 zz8kbtg~xoQOQkGU(~6#T|Ej}(oNLob{Wa&VY6{hB@<YyP95_Zm1(j&)ll|!e;|lib z12>|0=F&8&ZABwP+p*E+U44uWG=~5Fy56qJ;~r}XY)k$#@P%fh=!;>A=c89}4riys z=|@^zfJ7p_3|loTZXaw*4#u&bgwK|T&E2WDG~1L@R{uS$uAVsZv((fj|Eg}_yFYuX zQs>^h^%FiWGW`*Nv}Zl1XhbggTbTI8yqbB4s^Pi69vq*X`}&WR8|=^l7|!d%<&%$O zb&i=diDnbtAMRB6Tb5)Rzn}BsEB{Gw!zIG%j9^ghZu`K<@7*KW0#=m7-;&`EFaO&k zo}2SZ{#fw#z*g&jOR&pb*Iy5oU+PW$<bO3dEKdewU|@8*ybbWWyYEL~BS&xcz^er1 z!}6un7$Lormzx-_S_VRRCuIRInqYj~UNjQJP%FSqC7AwuSNKH{3nh1qx>)q+;Mk6e z%9?vzJa1SOOxQH@pL<6B5XR~B87KMvCwl_8UV@Q3+grjqfPo4~J#tOmoZtzQTeq&_ z#%q8R%wQ{TM8PgfXgbD!I^@E%-W*a4o}SduvTLMYCFjA(4d5?kZxLdBGI0e_&=2ag z>p95^<csYJ<PHKaMC5KNd@8QNTix*KpMuN@Soobd4d3EO$Y4x15+Y8)B2{F`wXZ>4 z3W9dV9gN(BhlC?Er(4i_yH0`BK(oGT<SYz6kd*r#s1EwR4n;vNY1Rh)^sYRwx-G_p zD<$=PzHia1Q-v+<#<JumbWu5JL<R5{EjN7%%NO+yIrHGmNiKS>gpHtevhY8#CGdi0 z>tkf^o6OI!j1t_#qp(0+!=!$TA%G)m+k4c=)5Sy|i>?Ky{!3U8k$3z?BAp}QH;iS- z(jK-TPxn~0258I(qp`r_%#PxV`D4wV?EY8aS%Qof+98thwTC)k{X1tuFok6)0W*3o z984ZA2Dow;I|Q>Z?zcVxHRt968@gEHM)>;~Z41f7oFPl-#l7YA5)Q#aep13BHqm4> z7q=CJ{!Sr`d^Uwg7uQLtE>!6Q$3+CW2%BuE403Sl_mnUhPBNOGA=O93N~~vB830Ea zf;s&Rz~u2vFfZd^&wi@>bMZoGhMk4^Qd8l2d9WiFBRn%K-bgQdS4l@Yg`&^j;r{V0 zbo39Jai`#6&e|lq^i3#%p)1urU`72N-!7%E@hVn@FE3+Y{RGcn47L$PR^1oO>zJ>4 zICvR-yej(4lAE^x9=kS41lYrV8w~iCIt%z0dON02J6}&dy~2LZ<s39eaqb?jYuH;1 zu5!wsS(1#DH;|4_-$l9<Dcu&0pT7)~e_fe>#?Jq+lONH*wx=%DG$bmN_?6m%?yOW$ z+2NdopQx7Kgdq5T5$iIIKf*y?tqHN7bBrt)M4xFhZhogYVJVu*0~htHs_sn+{iBd* zmS=F5F25g(x0^kz`I2UDAkQg#og0D5lHhx~cZo&fLNhdc!h<LHqgP7QZxY`&DK_90 z4M8^f5K}bMjy30esI5rU(mAFF=4rCNL)jP@&Zym_b<qe|g+8u$EmlI7#O$s+kA6r# zH$A6mLW$u-#k^TeLe0!ycZHcz+Fu~ZwkEn8!OBGIvofDoV3sRd6g9*JKFq21sRX6v z8@AZ;3F@aS+FnO;y%<87o3z84wO}_EE}m~v>+Qc(8GO_{<{D|Q^s`2^t*TK=$K4As z-)X^M(TuwZXqsmUYOiLW01r3Z@Pg&y7LW5|#rte_ib=J=nfc#EQHg@^CdvjBllUF| z5f1pCUmL`?K_Aw{H$PcJ+YMoGkySi>;v3vknKlmB<R>N{by*|_*$nD!#8~suagE_a z;b)8r5kTyQNu0*uX=NbKaSH&p^wtb#BXEQ#sMK}Cih(7I_a9^kh4wl62*BaCUgKZW zsGBW62RoL8GTj3UF-k%BCcnXDRS2Ilm`epAHi)U?;z{VS@5i33zPRLf68==mu1}qx zB?Ai4nbDibaLsQA6j%J)vy}t)(dR55BgiaKwmA^(CQuY(u@W7X2H+uGn1n`X=Ck}h zFK0rF06N<{*$tO$#X!~6QiPMw-Uz0MXff4hIN(^w5@@}-`podXJ-9!*jdjc{ZUkPF z@U80L9f^{seNlY=llDW{@-`9%rW}H78r|#Tl&_k`viJLK=P%}v#5tZ7Mc|wc@QB(F z@+tg56^Xb(wIq1?cc=p2#LFn5CRj{CSi^vqfzpxBkb++z%o1QRpLclx!UzfB=}n0| z{#sBhmJ|}1z9HJ^T6Nb0=0npXFTCLm0N8)jkp*O%02P9pCapngTOnE*RJJP$BQ+Kg z_YJV%1#~gNf^JV`Ou;F@mmPpsVX3gjpeLbaz-l5{cBZ_xdG-;;M#;Uz=UkG8leaU8 zRIb28U^vwuS1L#nw1W%olem*CJp|E357fBBy44VvenY}iKj8S_ADw}v^0)0EZua~N zeL~(HKt8-#9kOr+#LNr_|H$~B+^ALz)O0}QdoU8mzNEF}`D+KG<ctnY7WCrs;e5^u zmcUf0Jr&+&2=hU;>ozfDH5aW3&-&pREa3-24T7L!dyoMaZ!p|HRy}G8jTw+v8Abgj zc0zVmb=4BNTnpE0Qzl=$=NyPeaE2NAJNKp)84|*?F`84J8|OyZPUmALu(e!x+auU| zVJiGk7Y}|Y5B80(U0_PMWeD_612gJKVG3k&um-dURSPe8x@#lI_BQnn|6&-wt4@AE z?5mt_%N^aq2KJYzLVGc$4j{wuWdNXM$;~Kz!rS8oXVl0i!lhGB0KQJqL+iLluVYvZ zU<5D1dOb$0j}c~`2|5WH#A)gF3R`&9d`Uu$;LnF|QiFY4hGjDrNpdIH)r$JCU>_pu ze2%t0iq>V9ePe6p)`={J&x`Nw%L_L!Q4{8iXLK8bS(|1y^*QLH78zKsbVknZSPj3M z%ltZ&^jbmC=ZGwElC`9jB_&-mn;P*|+i>@?5M4&GcMrLa``Yltv&Wt~KUT?Wc<`Dw z&aaDNtzG^?<eci66LE{KAw=I^*mS33&qa^C$!Ws(R1AL2I!taREpzF;|0L!P*z_93 zKO^ER8+J~Ok4e&8NEf|oT%{v9)Tn@+XI_Zg@|#VK;{&IJH$DFn&%g<<G?Z_AqcF8e znO1)}q+6ovk;l4g2kmzltjEP%nfH!a=-wA6y`Mp35=E0w!kMzB9EIDH(xRcthM?qz z$akjk7xS6Ol96GJSid+dyvKGFFMLzI!c0kCU6Vsk9M;U%<%<(9NbhGQiH03a-{H9{ zdnR<u=8NE(b?NX!6o;TR$c(S3fYA~!kVFcCEZ{Lz@LmSA*C1#C!1K8h81;bN2!N4K zL0}<QEyODYP6(9&UHZVP7|?Rzg!eK8XJdjaMY^aET`^ko5&>R;nsQ+K5%<%_lG0uV zC)n|!^(uzrCIeQO#Y$jy)I}c*G!tDxX)+puzuVTTZ8#^v8R0shPD_nlQX=Tka{18b zcrk^b)5YQTV#RMb<2ICboLp>xR5-`y#$cm2o8g{BZ!R4R7JDZy<J={Si_3feayiU( z;(s95|Aw&tM~P>bWxD2EZ`bysNjOnpbOZm|_$s<X6!-1(Z|n6mDu1$nh1MM5^<*8U zfEqa_A2WJW#kYAP2aEfG<20jw-cdGuy^oXxyxbJu0U5N&$+Z5wXGsnEW4pQ_u4<M> zE4X%s5--jP$Qz*E6I)M%K9%a-gL9SCpvsZxS8;S3YMBkAu9w-~Q~}{yH633)@e7|8 zKcj7JZ8xD~Lgo!PYXIy8s6uxRPJd%GH{&O=JbrF(-O?Pp8s~hTGk6@dXB)rY99*}d zp!pMT&xVjZol@UMc&1ooni`*P!>g{0ScsCBb$H|F$vDhWl%X~7<`a!~{F)@AGHB=+ z-P*;Z7Y8`|grOKF-2nXFHswv4s~Ak3c_{BYy%Icg1u0ZPrfuUt?WZL_)Z&+IuvGTF zVzEdQHD!8p5^1P22=s5Xh|j8s<zC+htK<Aixuv$ZOgpH0BKx>0;rUfxU$QuUBfmp& zw<J1O8)+u1xmlPBD+o~DL8F*}T&h^~Yrk(`+!G%A+E0SeFO`p5y)<k78_`Xr2J6L3 z%isxqO!}T2BwlQ0bKrT;N!xo+>xdTJ->S_>gsMvgr0;K$4O4gLpb@D)6T8qd7w!K@ z$86!C5Uw|-hQk7Gn$}q`b!h`Ztl!f1Z0mZQLATYEkr<$~hX@U)u6d@oh)4f*ga?x$ zsFg5PO4{*T9K|q<W_;()e%0p~J(!g+k^NCJ-u5-;$0_(t{j-c_3KdO=Z`J3|MQ`b7 zktF21jppFL9d|hTH)_iwlh*@g>?HByY?qKfHu2Z$M_l#d@!RwxIrT9cgl!Dsy;rrP z$+0H>pqtKLW;xIp0wOw9mLn;t#niRK1v?(Tg+=_takh#UM#k$x6SVbZar%<D+iH>| z?W3h`dU**wd0DvQa}?d#!OyxL%swij4Snm(F^i`|^`boHMGaKxZM?bB3~wNQm+sYe z6198?k6luZS^YU2$V_$Ff%@Y&74dhB95yDzD`tEpERuLCvDLXfXHa*6-(Gdsd|f^1 zq`hjEkUvwzNU~9;A-8&BvDjaM99<v2G<&6zbQOJ?qZ1Rihgg4oP(_Z7^dpAjkVDOs z_6G6jWosIH%|LyTm_zZzoUs<gWV}Et?e!Uu%!qq4SNdJ3H6gZ#J-I!EcO(8Ft9>hi za|*mjJG<};LS9u!GA|iP!;jrF-8D+>caQaZZWl4;v(gb3!%;XCkN$R(nuAFrqh2<V zZcMux2Kntm;H+@eYn;##oq?-g17`hDKdL4)Z+xFMj*1(nZ{TlT*j{cxfb+3sl`6O& zBUhV5zvp;A+bg@u>A^n-v(J!{jq5KOI#ZhG29KzDEF?4wFZ@J?Y$)&YNJGXT`t zB*DTfcnT4bs>2@)e#elciT<p;dq}#9NdKKutlA#ZM0U}X!mZ=ueowQT+mIY;&3o%r zyxB5-bh18>yBxELhUfoQTVX2KX2z@2lsMK|DP%_9uvAYoe#32A^8s+D_g7~6R|@=- zj4-XF`lxyBx<yB^egt-~!<Ju_I(A&I@me9KQcPHastkKG$YiF8pI^vDX`yNOIWOKO z`>}PV^%pE-W?!nU(ENMnc%cy$wOxZfcc?2(ejojg#uIrTY1H7HWx4j|m0a6=S<UWK z%-X?45F&vYTTQyO<Dh6N_4OZoduj+%7jOGmhn9lW$U$JhZaI>qu>@L{mUvu5dM;4q zauF)HE`elDY~Or?uddgPzIEZP<l<8RCyr9)xY&gFY4L00q62w+=b4{YCImoYwqXaR z)`1Bo%jM>V1cP4T)KnVZrJ^)79Sv@Pw6LFd`5UY`rd8y7HuF~e5rLm75kWp)+RW5V zvmauAK$5XN5E3q@ssJ*HmFhA`doeg@tb26lMsQakeGSe(7GjNsMk(zTyo$Y&wt2{e zbFJEhZ#$A+32S~s^=Ul@-$|p#sS#WruQ<@Cc#$CGJqZF}Hx;JD`LM32p6Q9kM=M_~ zSIQt;m`My34$IM+Wglw^1B>InG+bLeQM-`j@^krp<%e^yQlmSqnxkRyAYyt7iQs&7 z>Nn5C*wB*OX#vlb`CF3=i0aZU3Wt)2QQ73bn_O5YLWYzH$z-wntC#UR_+0b#_NSQc zDC}ITHF`~zFns7YYFCgI&Z{=4Z`Y&)z6n{}U_$!{r<vw4$6~wbtyiSaHzL8o-He-B zh{GFj4WUWP*}*VWEuDB;WP-nH6u+B7{gM1S#rsPX$+TeyM?V`wm(^U6-0Cf@P5Ry% zIF}#K(d{trp9@muE?h?YFq{9qv*^Q7PKmTvPOhl;#6&-$F2OWDD4s}xWn*MOdJj_O z#;?#X&FEiTG?^M#h_>(!*ST+T<wt1$&UAD3W6bJn$?)sUh(=TrLF+I9eMut0|8k<( zi8_j?d!lzPUpC_1%>ZZfT$bNYd|on2<CHKg{&WfGy~OQ80zFuro|G<}Mx&Vifh4KK zqc8U*U$MuxkA|7YFY()C?6^88NqnDTx7uL?7zbS}#Iy8kr}yWxC@D=Y2Yghf?wZ06 zNPtX`9S92Qu?>zM%(P(}JM@Cm)H;#lJB(uF?ywV@{I2@HX|t6&V$XuB59iqvo_26= z{vi$Yts>yhGI{J38U2mxziUt9TO>L4_*`l>tLbR~HZAt4?qb}Hh=w%w-wWKO@2@-t zV;J=TW_@My{bz|&f@*f%n7^i@-AY~vQWT8h$%g8HfM$H3I{P4L(<~`%<RzF4thzN^ zJwyEA$9vlXC+~(JQ8r#{WMA4Zf>&nzH$?^hRtb?Cm6K2=p51l&)yiO!hA=d!A@Czy zlT*%<x!@&3=+<iHwM1Wwc`Eg6<N+<&mfs)_++@U)MjBDP4*P;)n2(LDCfWAPMgQ4C z_>`kGj;N1eIBAA$#4tw(PSi-@r*m9>9tTxvp0I8M!bmzT7%wfZTD-0k9K>0zI;ct8 zkJ9OKKTm=-4+6DwzxE4Bk!F&lr4M{z5D@f0P>M3hZn34c>MEO$ATFK)RrjLiv86J; zLryZ4v$e0zT0drnE*TlZ<~<O&*T|sq^rAWjgB4OM13pm>)5@G{=L`tf^r5e!kIkmT zzU8A4#bO_5X(|{Ciud3MLJu~gve!e2@JyjC0aaL+OnfVgU#OAe3_|;i_|`e)GmEDP z3x<w5pg$hHqXl`xzU~sYVk4neU6r@7b1ngI>m-x1^5}wRe(g+OgSdeU&#y3+4!t65 zedMf*`OM;&TL!Hakqx|yz>qawg-p$dhtOgo_CdaGv|w|D8uLA7_hZQ+VIB}2C@?@A z`#g3e<C_p)JA{aW8NCqS7StT~LBJCgdWTH&B7C^5!`S&c_^>f4d4X@K1GnXOPxpN( z6mwk_4Z5_6=TmI@?ROTqiR`L&?$kKjNJ(d5?+s5l>pinY-MV$_wZN<hojg6zpv<PY ztJW>PS{bM2`5OAvf0uCiSy}Zld>{)W5G%bt@#UvT-738M%g8M!)A-kT<hmAoSGa+Q zemg#`U0pA}oW5Rkdgo!Xfd16^HnX+;6_c0nG@L}(;t3xylE{oVjjthDRa~D(X)f@h znDv63_`h1mX7gM}kqg8RbB9GF2_4aTogK@j^Sx1=F_9Np#LrtFfbBU2*v3EoKdtN} zY;e*X4L7wf8I6}J<Q(1KL_7&JgoZ8;AIqU}2REUwv_3Dujo&+BEtqyaAKtxzv;9tS zQ<_`=Ox*}3%(`rUYrsfz|6$+RaVN40<|L>2_>8A0e#YZ*MGG{`2`kN%z{p?9ALsIt z(L%i17p2{1tF5BINNvTv7}yPoZEQ8=Y{KRqrvT&DEulxsz!3iZ?<3N*oiGpZh-tI^ z0YGP(36fc(>{EtPE*0)YX8E)LiPq#59uGg*C(q;^(S^KscTd#Zz>_KM>u^<Cdto$- zf|D?DD@mLxPwNSXvWKg^LaUU=5sR&t848?7EE7qR>}ay!@4-DBH#U3z;W={xFs06> z$-R|DJ6s?4CBAZnclGcnNmRr2IH?>PB)(<`nW4wm68L=$BA|MOcX(-OYM5G@Zuu## zvIy;*b$I?V;aY4L$}apGv-aG0ag)_8)Gup%D~*y1%WTHa;a~AvO}~tyY(7jpxaW5g zs4*R=(o=BG(~n2!qwMMhc@nSm*eRIOQD~#23CH*U?N;c#MYyCeFTr^<w~1pT^8Sp| z)m%;3G}<rvI+O73&pO3!1k;@QhRGgMG`8Z@?sJ_wu_2&|dTpYyq~}n^UKI!yH<~&s zMs!P+<IdI-J$#~eE~oTsoVRA|99(R8&8Gw&bjNjvw|zk~^Zh4~)v<bpqTs~rtjZQr zhYhY@BRh-1U{JoG$AyETPed9wPl)5I$}X*Ponf(02LH~J<TR)CQ^fc$UKRIsiSf<O ze_#Rp*HPAGI!xHq?Ebw=EOwB6_h%FVJwuybtNWCy23<s}jeBw^oZZ)I#6@++_5s#R zWZ*#Q7LE$`W~>B%AMwK$4$^+2HCs${x|e4pDf}VW2c>_xP=l<Q?4!iX)=Zat+aK3y z=qO+EbsDxV^4eaXUn>5#{H@y=qb{A$K9i*({8pEY-ub`F;ye#?$5dNm&)&J_RRTd& zpRcCas0l>eIBnV6Cu%~6oi)<dI1^vD_{C{;!my<71dhom${*>1l1g_b8^>U?3u|=? z3>F*rk9?faXRY#CaI}6&9puneQpin@_(Ex2X&0#(=%cAm$5cq_FZw5hx?EVwKQzF; z=H|2tKJh{dg-V%Rc6rZz&$b}Rx2t|MCGp?cG09@LbSf8iWNQtxUt*2R+?<D6OOphO zoIKQ-V6&CRcPIA@#r9WrzR^|ghP^l0LCObiR{jq@1Zta8f1{4AEHA6!gDooZ@ItQp zhy6nSmzxJ&N)^`gyLTdm5q{FXf41K@g&`pijm!mDm4aR}{>MB2ii<tlHjiGvBz)0o zVnIIRozMQRJ~#X5iPw)Xd(n#4D>>XGFZgFIqv1+0|5spQ8LqtupEg%YIo|j;(fK{~ z@sIj;+(olKk25>Jm#V+rolr?2n%pExFcE&6A!ouxX|Yui``hLecj=|7gyby-8wuR& z15xBV2-?=x=$?ixwuGd*-(TsYjG><3Eu%1Nlh8cKosgw01=C$R;J5iO(2(8&cb<~{ zv?~*I#J0P<mq+fJZ730xDUY^Jw6N@VeI4|Ig(!w>BH0*8qwmhOl_!X_Vmkji30K5C z^@OXAO7E_`HXgxDJ}11dZfTZU1@a_jy<5Wu0-mXnPg<ImDt1+o=j+)%tZr=dbkV07 zue%9m7}L<J;s_dHIOZZ(k$~QP9UelSzuOC%kgfKe?ndzths5-=ktvuxp}GG0UIvXG zW-JSsDvfNDOv1NUI-m-+`{WiunR<UK*di@_N$>GzV)@Hnr|H8pFrgBe$c|B_aL+cS zEejvGT-fzkayDdxFtFlrW9*Hk2pxjXXt7`#D1n`g7hsVb0ZzCbgeVgZYnFn#(s~)G zAPI=G_$#9q)*-cyD6lj^nF74bv8^azQ&3E)`F&?EY`^kaS`^LDIu3dk^_%V<&(Bfk zXm!HjbFzd#mbwny+^Ay~?+nx4NJvJ#6;Dq@(FKl(klv$~A0EO!Dp@0LpFagZP}~qF zK}&h-`uO2wa~Yg$-vDy=E}Q_96ED$d3RicMOHz96oh4g<uXNdTmEy8pb!PA_$=#oT ziW*N}Qo{)KL6RH53yBtDv?Zb`_;o!?4Ls+WVW&cwiqYOKX`Uc<0{{KxNeREWpXD5z z_0b#dyTZo1fYt9_YjaS?Y*oVyy1<y{h-ie>boVO*s^xQjm^17S<S}d!Y%?ct3`H9_ zC*cMlf#?lxJeAA10D!Qf1)rwlBXD^P+rOm~&iTvD875U%NpbK&-d4gml>xqF{Aqt_ zd^zw{CfKjD{fiUs`)Cju((sEtxYDX|n3kr58S%S)S6D8Cxr`QfWzt$@HN9ZI5e-1w zQ6_1)HV*;bgVOmom2jO)L%9hbL^!SfFxUShFVlaqs{avoWzL_s*K!CzCHj1cpf!x% z2%BfC)ah>FCk8Oi-%yvD>o|3=|Fer=Ax++yj}U*KC@)+{k>@=L$p0J-&%HJ!s9@jI z^%~~?{{9NNNke1gMUXImO!(8sIs*IZ2{FRAc{QBhd%6|BIR06p-}o#KW9ad=yhcZ1 z)2rFsPomcXmg%Vv-Cg+kj?-unbLqj|{160~lD}**3wh5S?Foc@uHqBtPBH#q=hZ<E z><8m)qq1*svH}xZ7QL*Q9hU#!yZMSA&nTYfAa|t2DEi{Xi&F(ju?5uXNOa6>rrm7% zgYXg$GU-Vmd+0~$r6(onxsn``NWeG+K1Z4FlVCP~079W|=cI+uVHaP(T73|d$lNy= zOsc<mcjYYZ++87ootp^{DMT-ZdV)W>Z?cWe$!Y$VVZP(|(Wke{#C>9|1VZ+}=y@>? zir4n3<JNu--EtIlu?c<uF@9Xg_<1LE<wKTATuVdD(ha9Cwdwc~>p!)sHVYt^16SU1 z=ss=mYmw8HJ+U*o9SuW~SwFlv`+iL!Iq7+t2-@=?r(4Nf${%j)d}&g0Q<I&S$e+2Q zB;ivCnQw*J8)lQcE6ZNzQ*jUC&_Lw!yNUF-w21!)pXJ6fB0NC~4P%13I*d5hi_JSP ztP@9bIgAheJ{7~^gFg;#4ix7+U@^IOMSdZlI&^(-3w5=3rFSf1qnb{P{q0hm$`^e+ zPCBST3l68)ReWx``8leIDo&A*l$56-edJqZ3EVYTK`1q>6n}=3V=;>T7Au$Xy9v)d zpz>3C^kQP`CgF2t+5v$g`dKRf%G>JaXHV&hggjD2bs37QVzJINbu|HXSe<)iLRxsx zayaubn`zD%3g>u0U44y}bGkn2lB|ou@dM71(-i)GK=n(rv*mwAi@NhfS7l510h^Ib zmw`)oW6p3J@v$yva|e-{zjz7FH+;e@x!6S7rYP(>$}@l7nY$8PGyOc9%ZeCZ2pA77 zN+;4>s%PKv(@EyclAtEiJFcpGxE5cPdu?{dK^!?PoutLQGS1NEKhi=s5@Q<?!!n}U zqZ|)QRP%3>o2Xvg`S;HSZ7vp^opY2eTxp^1WXE*hC6Nen>;x$aBW$eazL#Trh5P+e z`NuxBQEVHrj7+z$EHy23rZk!%68ymzz2~Y511{UsKO_AcD9CF+v1~fMoD`%{vJ$}O zLxL9Z4mgAJWaLdb&Qrkbmwy^=FNV`wEBJ%YfS!XF#!_>^>1n(0&Wz--bm_y^`0FF} zKZ&^%0!l_v4X0-XL4rj)lm7%!9G%GY@L_tnC0=>+fSt$qv@41$igI#q*luNPiuOC~ zj^l{l*YVIdg4}UWZuw7`+AJ~_al)I4r?|Drx85yAI%wIMA_y+YJB3DERzDzWT)z4c znnX+8^@7h_3373B`I0TU_)08Yoz~lLZ=Z`30iy6#!#Gr^Ybo)71?9d3?7gl*>t)@u z+hL7lPDgDO2x0bi9~IISezNB5#W)b}Z?_f69Ic5WAp1MTVylAkY5%!u(3-<o0QL5X zBqwCpmYh68-$$64gxTk2<U}%Ox%w-lVC)l<Eg%0uK}wO#fybV$yI!+H*1!>-%!kd* zt>LAoR)GmoYW>UMP;t>Q+uIhE?6sthUZz*nM6HeK{~d7hU+d^{met9p8Cs|P?(S@o z3Q8SM;;l<>&CO+y1GO&|$IPqgU2Bdq>2H4<8uTqpICx{sh$yOK#O9NO>lQv8)Xl~e zh+^O9_kAgo+&{n`x@P!fVY*X(<m}Ad)IqPtG<49ZB|eum?JgR!*s{wn<7Ajxofvkc z?an;!mE))7Qnr$6wHd^52QF}V+}8E9xW3=-6Z`Dzipr3oFPQk50Cdb_6aDz=yY-tV zM@@YC2a2YRpG@M^5N343rED>pRlB4r<&C>ZOjpEi#weXcc>XF2Bh5j1g<k)rWmm9` zj}qcHt@IphF2xOD`CFX|lyGoV_{b2%hX{xx1HP|$iH&g1qBF|!HHp<_Q=%f6eNSn) zH&=zDxV#yD2c&Fd!Hh-Fl@>STz-9{ivZv{Ys0+W#P6plSZNL{Tl7uRAPQE6iw^Bk_ zyN$GXI(LQrTP*8M2xBHL90>`D(>2UG)}}1}pQuyszhS+`3PV!r5~;O^Vb2H*Cvr2A zSTmL^*DZ$2B>&lKZ}H2B+)P>Ck&_9Oq^!uXw0Oz<PyU;7j>C;^zk@SNdGIN!f5vEq zwV3Y<4xF6hc?WxC!vAft3L%+PE<UMn(IiC+T@l5sJ_1nyqmHQf)-d}d^@#Tn`K*Sq zTllEh$@{EJw3szlASb#NZ(0<fgoj?Fx7uq><Osi4+_H^lAJpLOm!&nMgv|AMt^i*> zmvhjF@WH;u=S8}{AwWVALFqCDQs_QdOizP2{}O<dGx8SH!F{O{4`v3+JJA;i>Ihn; za&XKu_-&g)AdD)ydjbI4T|aZ?=)g2On|d(h3vBjxEQn3YoiVF4KK1V7JV}JRQ1?)B z+&(QZi$xfsmvz$XS8e$>4#UV`bB@;|CjN4JeRT<%ZAo_KRP#H&9Ze~QJ$()CFim5} zPCnKlq?5{lLICi2YW20*{Q27}xXnSlpA+a@$<}{({A!3)#S2nA<~l9&%hE4^EpyVf zs5vLLAsKZ6_w|dnc=C*j#yc(iz5F)C-Gs@boQ+1F>tR)XTs~a0d+88Ug}s32mcd~m zmfPx`4f7hWLFzO_&9*3zGfFEAKq|+AX1d9oup_NePV=h0SqQ~4$NLK2l0R^W*({HK zgSu88!D~#S8{(~htXvh=4F)rhZyL1SuTgL<D|k!!y`AA_+AsX7?z{0l7S<#cTk2NK z0=YVXH;umxixge$-04ua?uR>FnBGf(=xTG=-uXtxV7Lsq^_@Q~<c{zunv-}c33V?I zt|ZSC$R^?>x+mdMOp+0L@NM1LRh#gUt=Wqv816;JN+?7+R^*r83asfOlB;H6P5wf; z_fLYngqaizaDBpd6diD|IS5^FmTvKjtD1C;^U0y1<m$%zu0UfpP&6n<z<Oubc!E%L zKj3Fw0K}i??r`BuI@e;9o`Rn<02t@@fS*E`GXY4^9j}J-_!y3M^O1rUI^c70+>6)- z6l{_CRYMaUeea>@a$$O=X;aF?9#rbDES5*$X-mddBe-gEC5y{ffsO9qc)c<Auw}Q( zf%~l&fMhVc_0twC#Cp??a;isuEBQ`bLE75I#x<9UzqW=3`0UU+*)^(-g*X;lLh3lV zMvBM5KSG``!=xGnCh{C21jE9yAB|YRQpc?m6n%`EdsG`07pc^)?5@iL-RYO2imwB$ z-#0W0@d9{=4u)*E<j>SnjYpq`SE)l|F9jNsNoz)jzNX)yaGNA`o3;AJ(z_Sf^a*xB zw3j&{mh&_<0+t~In7+ek4WcgpZrrYlPxQW$+*UaPZ3Gu;j-F8*aMwq2wu=G&G*?5P zkg5WEfl*v?WnR+TA)xDFCoDkFvNYx=m1GK<T&NM@%`cUJL-a-h^_BqGkFpW>g^pzC zKKuySFFMl<7}T{K<k~vm$ixij9?V~Sb&Q{vg$suoU7eoK$Z{hL!9!$>=frQHg6G0Q zo>&F|1ZR}bfLE!3#$<t<Z#hYp4EHSi_4#i`^^}j_E)-<t^ZU?+%O+qHW>xy2T@05i z@_Y1Hx6TT$`!Q=#4@M^Dr;(&8BNxuGc~jo@r-5g29IV_;nZ!|~>JD>Jh^}-)0-Gx8 z&o(h6cynGD6xz-96*3B29lCnj{gg~Ez{0a^uM^PLE*}WUlBVW?fVxRuu2aQwIh_1< za+eZDm=nL(1aii@qFF@l(Q;?H*r@3|#ZAmei)$j<RiNZLJl(qf^96n3cWiY|?yB9~ z?5@i;;^l6&d%CKJohv_RBO--Ac$@n}S005j1LhV>p)G!2n#h%J_bpy5Vn_5!4)<ot z;+%cV(8!Y?m#{y7uH((fr&<S-C>O<SZ3QRBqVtU2DBRyIA*ya=_-W*}*&kyvp-?-W zV-lLM<h1;1JNELR*G6DlTP^&scSDFx$&9FDwJzuctRZZ1L_&AsOt!`Yh5Op@qo`0? zz+Dppbuk(#tWFkuXso+8I915zp4je$;QZ1G-(KYj0BW#np89C;u&i%*V*{uXv<>ev z&?g*+Rn1Fj+&3N<%pG#|Qs)0XPrK*CfT5#Ad2*A>IGZyPJNBT%@Le0fR9IK*+tW-p zg2o7@BvCi%1u*vzx7I?gZKCQGd=^&kU(!>0&ePfmC?c;;_`%%>vOjv&4GIJKregZ& z)q{XPu5Y%}b2K1ew@f?95c;dP=_z5xl>qZSIA_LQ7C{`Z@ch6W$}~QyuKnO5B>F1~ zjU6u(q!5PYWfLw($<QbwKg_MtdyOxMEpHzodt%cLXY9S#?js5KAb*fQg)$^;i<H(1 z(Pd?5b9=$waV$8ZuMJoI9A;+f=vuI_6_w8leL@uK0*FhjzDL(_lqo~PM|Y&o#BO+o zk>Ytvt~IO_Ns;g>n!>XMR!Q^x+~2-F8PD#InFw1m{|m?bugK>AvqV_up0?(eVj_{~ zvlm1|Uk4<4E6!`EDTLkBKI>p=9CT^6IdRw~Y9cGADZy*<XQ<22Stfb*QPB(}`e`vF zNTa&(Ra$d&mq3?(jfBK8TwnX0npx0ttIK<g#t*kLa;n+X7q;GpX=55_p=+%Sfp!56 zi<5o^KU7S&vz?9-Y0qZBX$xJFRw7RG=O~Q`tLyxtHbpBH@=q<j+y@k6GbF>4N@|}F zyPwY(kR#|MwZi=B1&Apqu!LW&<+}@1<pmjmEjC6ruw(OMY@Ph{Wb?&2G|pALpku>& z&2b^Tc0q}t8NO^CS&YLQ<*%U7FXj;UMdI_&GM$G;ObKEG?h%z}CkWA65R7)Mnp}MF zI$;<#`zHh?_ZbjSLtzJ;{7~#YcQo48{Bkr|`j!jSnzIEEJYzG`*YKty#EE<{{1;YU zGWff0F#*52G#%c(NAiQkN@GL)1IQz)f3@Prg$f8?Ra&f!HqPg*H9T8*ch|d1z0cLI zHb2RJ>xY`%+}>OrH6D~#E8iD7kG4+Z+0D~lc(%Ul8*_LbX|oeAtVyGqhB8QQQC035 zt#&wmQMfW_?8L!W6%HZpJ5ypJzp{jm13C!uSROJ&xRCsSWji18eT?x8&Z(?LUvP+v z+T6TY<CcMsZ&MD|vPRO!Wgnf68ZphTvh8CtuIoqHhi}TcLJyVE)J>yr(U8nt<u?mf z{iC6i1GW&>QKEGsKxOY;1i>%aUl)9d<2QT^T?}!?8Qmj3kf9ZO?7B?c$Kxv}yBzLh z?Rqy)qV4AXdKWHa##NA4ABy-)(-L0u@z0{U<1=YofmRHs!}#p$N|CT=MHvi9gUci6 zc@^3Pn0H(GQxLt28b79suu?7<`A6}6XCltL@{Is7+n`~(FXP*8TzU1<?3n$b9<ep^ zg!6mSaNnLEdGz(`Kr+v;B(|Tf1BEm}u>YSa@Qh{`zX%Nyhqt<#8ZP-RhxNtKMH(0E zLoI|_7mJfbOPT1~_0Zla>cu#%bA~vHd}ed|&0^`ITGSSN)hoO(x0Q00$H2;jjMI9o z2q71<9I~A$z1D1se|;T#T^^Tf6T<(=<R#lMS-Q5ka_-TM?>m}<OA`!^oD`Ww$Q z^!FHp`rbT^c&g^fA{UL1jz2U#_hd=@5T!Q?>Lz*wmE6VW=h@=8B)n1W<N{=U9}`iT z9u0X>@F5{DClYg7-C{SnJ_CA4-7K=yx*LqO*_*KUqupB3|D5XjRxZyV3zOw@9T->F ze7|=Fqiy~%Z$<;pC)vYxnNYvLFI?$@0)f_z)%?fh9J&5Sfo)_+8XfBN7wn_LBy3i& zW~NVDU~+c3&>cRbZ1L-3EZ6$Et&XXZgmh@SK$G9O%VJ>DpsL(iwZP+(0dIntBy9bo z#`W1JSuDDRoJIqWBzN}IPO2&=b0_U7W%F8w)Yp<IQBoQE;U6)4!|?sa2N$3oPFa&; z{K&K)cef^PH8MnzJ}pQfErWKdHod!y`+4h%YV3H|m47-wM=hRD4Cr`x)-1{YJHMmB zKCuL~#R8IBWHCl=N{D!9l9<*#e{Iv7NpM2_-e=%1?jhKIRyzFlq!wa*r-O{<W61Sp z0R;_Sw08wPvE|?wHxl-dwE!m+O-(W84i|i#VyL&raO(Y{kfaDB#wh#VgdKmRtS*^q zlg(zvv@UAk7@i}|{}C#Lgeoac20)nrh50)_&5v98;aaPI0{Nc-Qf8lC+kpPZ5|2%4 ztU2+=Nlu-?ZjCK7(PofBGejmkNiK6Fx8Z;6aml?P_?U)mRq>k5PPaqL3qzZuC0XXN zmglCyd8T4TIHdu+n%;6DS=f&Gj6$qnB@XlTN<}-4{dS0lh&flZ%q&SRbM?5d$iLv* z|JvjQ3Sq+Cv3_<jLk5E=fZyMS00BxM*A0X?!^jYvr2oHUI-$V+_J7|}rcB{>y_BMU zJfuK)PwX>sNW)P0Upf>JsHFpG_%Nj5%ry=Fw}7|L;nl;XHj#D@AzPA`*}!)HZ>2!K z%Kw_7Ol;kXX5mbolwUh9_3Z;ub*EX4GsGT2e}(bvj;Y<;eI}?KP=+eeIkh{=i|<r; zMV)j7X<p;pKq670`s8eroi)xQGB5Av*m6e7#HPsXdz0#%k)Ap+s?FmFT8sm0T`c3` zNIXNm(}r1J7$w;dVZr!UD2wI(_M(pg89g+R=~Q(NrbHtS(iGl$gQPglf<#Wp1YC30 z&BJBlpCUWCYtkMNOtqh8MtL`7$r4IUZLcclc&E`*m<-;(((l*hcj<V408(gsPV@gr zR0ApAmn_5TBsUpMA^Iu%({foXEShnc3t#H`zKEErH=K~|j`8@SQow$jX^LT-(Z>=- zYF!&ZeMHfJ365l~32H^@uS44=Y-2jGHgF2LQv9A+ap6UKINkykkA4h=FLgT5(k8Y3 zsUCx>7wVM2>KY{$B<=AS2U~h7zj-n{q{tS7jXl{sr0_OVa_a6=%44sltVJN8x#6xt za$m%jK0IeX`ll=|Ty(!$$6FuSt%6?-4|S??)hJkF%>EI(5i6t`j~<R9;1<b*f2B-) zuHvLyS+1J1T_*?4*N4-;L^aKOTe}S88PcU|Lnmy{M!e0{o$bnEB@I_!&o8y{=u-Tj zLX$-xhB^H*N)mT{B%YWXLDQwHb3XrXvZe?ubEX*uO_cw+BK{|hpa-?n54E}|aQKv$ zErDb9#I5RR$Lk{Oun4<+jYzqFkEmTODw!9RM7Og1w4l28KxCR#tNo9hjB!5Z=@_@{ z!9C)$9xD3J-Fb{%oU!%c_NI=}@XDvQicYUtQPR-DAu@!Pr3u{vUP;~BGAJZ{-RrrH zDvzLv42_}nibxfBoRw<-5+%ZBZ8bUxGGu&bWk72xg0TDzj*+056HkLS!2c5ED5I5y z`K>gPg}FYGL!d<Li@z>GOFP?Q8vw#sxiIZ<9esDOp+#2nuSnR^x%jmQ5jrkG?i*pT z;6Xqx-MnZ_*YW949wh*J=YK)sQd~InT3^{e!uZ;b)PVkl2ikGOxL<2!{il}M5buB} z7}J%;iNq74s##p4>6vdC&lvA#IF7Df4PCYWW8v<g$EjD#Hpo|<ZT1y$SZPF|2EpPW z!p!1IoZ&_?^bt7qMNyR+Kv%R{MxHK!PG!Ol!!$jhvn<eFRn{Dki6;Po#1WU^hsb~y zH4s$zN)~kK0joklD~I1d0n8eUuLvCtYw|$(9;g*wR&&l~0(zIj(7WvYsJ`}6B`N<u zgK%$d)JWs5zsAE0>sr?vSnpB$QL&{tDb9h;HJE4=rQjpG>fCUTRMg888#yH(%=!lJ zBbT)HQOh8=P_ny4#dl-kNfIy5n#ZHW$eHj=U5Mx3c+=^g%Wdfry5sO6In|rXhwRxx zF@B#{a1k}F9Xh%;Xil+h9&|L>6VDhWTKD1>I%i66=ydN!dIrP=U1>@Q^Ld*a&^IW$ zF8$+XE6UfbPvAfMU`K)?Ckrq7OYqB5bf?G^rpMS`4n$nT3(>5aXGAe(J+9wFcKxUK zzPP`o1-`vNX6BVg$%PSpkx<$+FB;tec~`j}8E+!hD;;p*dl-%McT)_Ls<%quXS2_B z>&LqMlQIQY%a^;AhcAn-&_YiwHIuly9++hfv7-YiwANVB>*0e5+TE1=9Y3=3cK^t? z34B){HzJW#`t_pR0L-2pnp3~XAOhWlFI&9p<dJp(h|1w`uknEH6U2hh@ib-dbf=XB zdenr{I>%bqFg2B;^ZtJFh?pp)AFp8yhA#Z}BR~QF1%_mbpma;weyV+dSj^mO{goq% zWL=ls^OT)iV?RW3v&@UZUdv5629cq=)>EEQNvK9QjLuX!S~-%x(0aG><|)`~xZZ7M z4xuZs2d>KbvXV85><mMiEkXw*fWwwR>8;talBVag;r!fR4x`B=Hs{JD1HHVR>~Bs` z<(u`}JtG9R<m#`mqBj4y5)kZ*wptmJSdR?~^13tA<w?yZ?)Y=PyGCcHT(9UWysZIm zd54!?^V{!;r4EAN95dx4>-*|WhnSq$ktzh=Y~@WRdve(x`A{myGJee70~>jp3!Nl6 z5JRgEt{Uex04b~afRAu;TqtUQ0?yHThlpIAR(w-FI_{mFYTx^qwACuRxJB)lSJpCq zf6iz;T9)>TrELnQG+r6_Ychk`c+yAe;}p`&$(+l^h6~rF_1rikV|FmC30gLi9{%xK zWAc}M;UkJMQ0-ma!6AAwGr3_{kks(okDQT~cmW22kalP4-aZu6mb^V1p<aF~jv<DR z5&dyd^7UD2VAHLMh{x@<NC`sc^5jHvFbB@Mq=lZ%j1eV4@%=ZZV$VQ)vsXNlr<<5; zHF>;C@}citaSaD-&N5W)kc8@Q6bfgu?~~+_HQ2>y;>46p)ke#+{Gi?e31*1ev2)b} zX${s|XvnA=6Dd9TtFjmwi#_anx%+Oawgq-1Z@X>LnCxc1e}8vgA)Dy6_pMZ&Lyd@8 z|A#k0o(B6^+i)jcg%(#@KV552xL+77Y(rmWqo9*EM;uoja-x2$4B-z-Pf+pTgz{X$ zVH9^TL?k@Pla?nvgC9M4C}OpZD&(1d&~^-TjU8tMLJ<^d+!*f+?FGMv1Z>9A<D1%d z(->o3x>&*t*=GGIOvMCFCq9@#3g|MXwhD{!tGbEUxaE_HWpmG;1ifS}J737Su3{M) z!XXb-sAcc;Elqe>QZDk6FH9~uf<F+)d2v8OchWc1c{dKd+EZHpE|YDzQ-|px`2F2A zl;qA_ixCZ3RP4z)dWOU1ki!m!NaAkvjWwEXB-2t4!K^uwrl<lpjoQGnmW>Crp4{Ni zH^ijd@#mt1_C<fn2)hNcfg=bp3BNohtL7XGL^ioFFLeL~V6@R?LN`Q@OiB)IQNwT= zizEkADm!-QO(dH6clW*pG(A4cSw5s(oPX_!Ww3^~D+q~Q3V<DXeTp#NSS*b`a~fEX zi>2c(!|HbPs~W4~?6VE5H-e*6ZnCt$n$cp+(Pz_^nx=`UmmvnU(bliE7BdI&WTL%n zNTEpl3F1%^Nvgt9mW)j^l53Mj_rvV$0=ja)AWD}$#|*zXXj_?_hz6?(qS9^RNksGb zOgBmNFSj1Icm+=2N$6a=ApUG#e`7klz)hA=h#n>W{T?WTzWNk5JQCL<tRpgem3?Ih zL}%!52az2-*&#UHn6@F)Jbt$h=-w&`aqUu8P;><3eU_Fb^nWk{Ra=CSunud19Lt=* zx}a{hM+PHP3I#FbC6i`%*+N`kb&{XU$Hrjq1Dxt3(Hq*EMakY34-t`^(U&^3(FhYV zwFW@(ZyGqOQFXBUblpvb5N5OD9#_>DQv6J`M1m<HGq~59Q+5Pr*rANc;vv`J^oqpI z1i>)qSz@IDUy47+mH6YZFTB|_iZ;C)bqmISp@tTtz3UR#aM~wi2~hlLzDT!D5mTuL zLz3(_=zTa7$W>BTR)Yd}U+Dz=!DXX<Sk{XtBo8Md&0DWu48sG|#?*`kG{esQP9}kr zUl234TXc475aU+5XNI;1+|$LltgRL{=9Qs6K~!i#E9*IC$n5|B<0jhsXfUL<n)hL5 zJFiars1cKns(){6k4G0e$iDPL#SGB~h_niNv1)DzakTD?u-pFI#eq!p)q#zupl9b_ zU{ImI&*d=U99^sa-FR}vV#cZ+?)p?;pO^_bQ$R!4&hALu%!`%QSSa}|WDNFKJVoRT zzNeD57l}75*u=K&I82~zjvZLq^Q2Tq^99fl2=m;H2ovo&#Yz}GwS_kee;x(6D3}#T zvP9KvBbiDJ^HkcuksLg4|1?Ni9K*1EdKi-dcOnzv>v2~8FVi*<gUUImIDh8YV#2=g zeXtYy@gd|s`9z;8VfSvG^)#_!gcyff%g*}q6g-1QuZegq9(iU%EMp_rEcWMaK$1dx ze-MW|(JV>ayT<l()(;(!l}XTEo?jB(+8m^6uou5Hdc{X#eW{Syj6{CeEq}Ywr4p{H z12`oE!4l+FeassL=<K&j$nN`R;3|1hjE|2IhYSdL!bKO#lBj*%U@Yw8L3~UtlD>L? zbIn?Y*>P#`FUbD%l9m)yTYBSlnwu40iEDQPlP9$+M?E*HL!=b?U@$qQy(a=}(;*E0 zrcDDM#fP3cn$t?4(B4JNRTkVA!x@bs?%OL)eVis6ydN=zIhw+oA_q$@5|EW}ljwP@ zaHFrYv=UkuQ$$>MY(b&hMl3_<AUbpkBD2swphrRPrwZoFG|2AwBO7$qX}_@bgdgW^ zb2No@Nf-=gqt$7;5@k1jJX0Xov^!-S2KNX^8=Wl77U4!6z`Qis>!eu^A<JTgofBx? z`)=CM85jC48K#ID{`(>H|2l4+RmJyh{?j1MczNy->R3{d2ttehj~_z3SY5`~SKU<( S&_DVB!0~|d{<nL56aFt<-h6fd literal 17271 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 Z2;cv{CNoyIJM%a0@cv`_O85H2{a;mj_H6(F diff --git a/core/src/main/java/com/shatteredpixel/shatteredpixeldungeon/actors/mobs/Bandit.java b/core/src/main/java/com/shatteredpixel/shatteredpixeldungeon/actors/mobs/Bandit.java index 6a8d14a96..e13041fab 100644 --- a/core/src/main/java/com/shatteredpixel/shatteredpixeldungeon/actors/mobs/Bandit.java +++ b/core/src/main/java/com/shatteredpixel/shatteredpixeldungeon/actors/mobs/Bandit.java @@ -38,8 +38,8 @@ public class Bandit extends Thief { { spriteClass = BanditSprite.class; - //1 in 50 chance to be a crazy bandit, equates to overall 1/150 chance. - lootChance = 0.333f; + //1 in 50 chance to be a crazy bandit, equates to overall 1/100 chance. + lootChance = 0.5f; } @Override diff --git a/core/src/main/java/com/shatteredpixel/shatteredpixeldungeon/actors/mobs/DM300.java b/core/src/main/java/com/shatteredpixel/shatteredpixeldungeon/actors/mobs/DM300.java index abde634f7..47fdd81d3 100644 --- a/core/src/main/java/com/shatteredpixel/shatteredpixeldungeon/actors/mobs/DM300.java +++ b/core/src/main/java/com/shatteredpixel/shatteredpixeldungeon/actors/mobs/DM300.java @@ -35,9 +35,9 @@ import com.shatteredpixel.shatteredpixeldungeon.actors.buffs.Terror; import com.shatteredpixel.shatteredpixeldungeon.effects.CellEmitter; import com.shatteredpixel.shatteredpixeldungeon.effects.Speck; import com.shatteredpixel.shatteredpixeldungeon.effects.particles.ElmoParticle; -import com.shatteredpixel.shatteredpixeldungeon.items.artifacts.CapeOfThorns; import com.shatteredpixel.shatteredpixeldungeon.items.artifacts.LloydsBeacon; import com.shatteredpixel.shatteredpixeldungeon.items.keys.SkeletonKey; +import com.shatteredpixel.shatteredpixeldungeon.items.quest.MetalShard; import com.shatteredpixel.shatteredpixeldungeon.levels.Level; import com.shatteredpixel.shatteredpixeldungeon.levels.Terrain; import com.shatteredpixel.shatteredpixeldungeon.messages.Messages; @@ -48,6 +48,7 @@ import com.shatteredpixel.shatteredpixeldungeon.utils.GLog; import com.watabou.noosa.Camera; import com.watabou.noosa.audio.Sample; import com.watabou.utils.Bundle; +import com.watabou.utils.PathFinder; import com.watabou.utils.Random; public class DM300 extends Mob { @@ -59,8 +60,6 @@ public class DM300 extends Mob { EXP = 30; defenseSkill = 18; - loot = new CapeOfThorns(); - lootChance = 0.333f; properties.add(Property.BOSS); properties.add(Property.INORGANIC); @@ -146,6 +145,16 @@ public class DM300 extends Mob { GameScene.bossSlain(); Dungeon.level.drop( new SkeletonKey( Dungeon.depth ), pos ).sprite.drop(); + //60% chance of 2 shards, 30% chance of 3, 10% chance for 4. Average of 2.5 + int shards = Random.chances(new float[]{0, 0, 6, 3, 1}); + for (int i = 0; i < shards; i++){ + int ofs; + do { + ofs = PathFinder.NEIGHBOURS8[Random.Int(8)]; + } while (!Dungeon.level.passable[pos + ofs]); + Dungeon.level.drop( new MetalShard(), pos + ofs ).sprite.drop( pos ); + } + Badges.validateBossSlain(); LloydsBeacon beacon = Dungeon.hero.belongings.getItem(LloydsBeacon.class); diff --git a/core/src/main/java/com/shatteredpixel/shatteredpixeldungeon/actors/mobs/Goo.java b/core/src/main/java/com/shatteredpixel/shatteredpixeldungeon/actors/mobs/Goo.java index 98d4ba4be..a91d3e404 100644 --- a/core/src/main/java/com/shatteredpixel/shatteredpixeldungeon/actors/mobs/Goo.java +++ b/core/src/main/java/com/shatteredpixel/shatteredpixeldungeon/actors/mobs/Goo.java @@ -33,8 +33,8 @@ import com.shatteredpixel.shatteredpixeldungeon.actors.buffs.Ooze; import com.shatteredpixel.shatteredpixeldungeon.effects.CellEmitter; import com.shatteredpixel.shatteredpixeldungeon.effects.Speck; import com.shatteredpixel.shatteredpixeldungeon.effects.particles.ElmoParticle; -import com.shatteredpixel.shatteredpixeldungeon.items.artifacts.LloydsBeacon; import com.shatteredpixel.shatteredpixeldungeon.items.keys.SkeletonKey; +import com.shatteredpixel.shatteredpixeldungeon.items.quest.GooBlob; import com.shatteredpixel.shatteredpixeldungeon.messages.Messages; import com.shatteredpixel.shatteredpixeldungeon.scenes.GameScene; import com.shatteredpixel.shatteredpixeldungeon.sprites.CharSprite; @@ -56,9 +56,6 @@ public class Goo extends Mob { defenseSkill = 8; spriteClass = GooSprite.class; - loot = new LloydsBeacon(); - lootChance = 0.333f; - properties.add(Property.BOSS); properties.add(Property.DEMONIC); properties.add(Property.ACIDIC); @@ -236,6 +233,16 @@ public class Goo extends Mob { GameScene.bossSlain(); Dungeon.level.drop( new SkeletonKey( Dungeon.depth ), pos ).sprite.drop(); + //60% chance of 2 blobs, 30% chance of 3, 10% chance for 4. Average of 2.5 + int blobs = Random.chances(new float[]{0, 0, 6, 3, 1}); + for (int i = 0; i < blobs; i++){ + int ofs; + do { + ofs = PathFinder.NEIGHBOURS8[Random.Int(8)]; + } while (!Dungeon.level.passable[pos + ofs]); + Dungeon.level.drop( new GooBlob(), pos + ofs ).sprite.drop( pos ); + } + Badges.validateBossSlain(); yell( Messages.get(this, "defeated") ); diff --git a/core/src/main/java/com/shatteredpixel/shatteredpixeldungeon/actors/mobs/Thief.java b/core/src/main/java/com/shatteredpixel/shatteredpixeldungeon/actors/mobs/Thief.java index 0afc90948..80056fd2c 100644 --- a/core/src/main/java/com/shatteredpixel/shatteredpixeldungeon/actors/mobs/Thief.java +++ b/core/src/main/java/com/shatteredpixel/shatteredpixeldungeon/actors/mobs/Thief.java @@ -28,10 +28,10 @@ import com.shatteredpixel.shatteredpixeldungeon.actors.buffs.Terror; import com.shatteredpixel.shatteredpixeldungeon.actors.hero.Hero; import com.shatteredpixel.shatteredpixeldungeon.effects.CellEmitter; import com.shatteredpixel.shatteredpixeldungeon.effects.Speck; +import com.shatteredpixel.shatteredpixeldungeon.items.Generator; import com.shatteredpixel.shatteredpixeldungeon.items.Gold; import com.shatteredpixel.shatteredpixeldungeon.items.Honeypot; import com.shatteredpixel.shatteredpixeldungeon.items.Item; -import com.shatteredpixel.shatteredpixeldungeon.items.artifacts.MasterThievesArmband; import com.shatteredpixel.shatteredpixeldungeon.messages.Messages; import com.shatteredpixel.shatteredpixeldungeon.sprites.CharSprite; import com.shatteredpixel.shatteredpixeldungeon.sprites.ThiefSprite; @@ -52,8 +52,7 @@ public class Thief extends Mob { EXP = 5; maxLvl = 10; - //see createloot - loot = null; + loot = Random.oneOf(Generator.Category.RING, Generator.Category.ARTIFACT); lootChance = 0.01f; WANDERING = new Wandering(); @@ -102,15 +101,6 @@ public class Thief extends Mob { } super.rollToDropLoot(); } - - @Override - protected Item createLoot(){ - if (!Dungeon.LimitedDrops.THIEVES_ARMBAND.dropped()) { - Dungeon.LimitedDrops.THIEVES_ARMBAND.drop(); - return new MasterThievesArmband().identify(); - } else - return new Gold(Random.NormalIntRange(100, 250)); - } @Override public int attackSkill( Char target ) { diff --git a/core/src/main/java/com/shatteredpixel/shatteredpixeldungeon/items/Generator.java b/core/src/main/java/com/shatteredpixel/shatteredpixeldungeon/items/Generator.java index 55d4d75d5..20d47f069 100644 --- a/core/src/main/java/com/shatteredpixel/shatteredpixeldungeon/items/Generator.java +++ b/core/src/main/java/com/shatteredpixel/shatteredpixeldungeon/items/Generator.java @@ -224,7 +224,7 @@ public class Generator { return item instanceof Bag ? Integer.MAX_VALUE : Integer.MAX_VALUE - 1; } - private static final float[] INITIAL_ARTIFACT_PROBS = new float[]{ 0, 1, 0, 1, 0, 1, 1, 1, 1, 1, 1, 0, 1}; + private static final float[] INITIAL_ARTIFACT_PROBS = new float[]{ 0, 1, 0, 1, 1, 1, 1, 1, 1, 1, 1, 0, 1}; static { GOLD.classes = new Class<?>[]{ diff --git a/core/src/main/java/com/shatteredpixel/shatteredpixeldungeon/items/quest/GooBlob.java b/core/src/main/java/com/shatteredpixel/shatteredpixeldungeon/items/quest/GooBlob.java new file mode 100644 index 000000000..09e14b8a7 --- /dev/null +++ b/core/src/main/java/com/shatteredpixel/shatteredpixeldungeon/items/quest/GooBlob.java @@ -0,0 +1,48 @@ +/* + * Pixel Dungeon + * Copyright (C) 2012-2015 Oleg Dolya + * + * Shattered Pixel Dungeon + * Copyright (C) 2014-2018 Evan Debenham + * + * This program is free software: you can redistribute it and/or modify + * it under the terms of the GNU General Public License as published by + * the Free Software Foundation, either version 3 of the License, or + * (at your option) any later version. + * + * This program is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU General Public License for more details. + * + * You should have received a copy of the GNU General Public License + * along with this program. If not, see <http://www.gnu.org/licenses/> + */ + +package com.shatteredpixel.shatteredpixeldungeon.items.quest; + +import com.shatteredpixel.shatteredpixeldungeon.items.Item; +import com.shatteredpixel.shatteredpixeldungeon.sprites.ItemSpriteSheet; + +public class GooBlob extends Item { + + { + image = ItemSpriteSheet.BLOB; + stackable = true; + } + + @Override + public boolean isUpgradable() { + return false; + } + + @Override + public boolean isIdentified() { + return true; + } + + @Override + public int price() { + return 40; + } +} diff --git a/core/src/main/java/com/shatteredpixel/shatteredpixeldungeon/items/quest/MetalShard.java b/core/src/main/java/com/shatteredpixel/shatteredpixeldungeon/items/quest/MetalShard.java new file mode 100644 index 000000000..88ac4c2d7 --- /dev/null +++ b/core/src/main/java/com/shatteredpixel/shatteredpixeldungeon/items/quest/MetalShard.java @@ -0,0 +1,48 @@ +/* + * Pixel Dungeon + * Copyright (C) 2012-2015 Oleg Dolya + * + * Shattered Pixel Dungeon + * Copyright (C) 2014-2018 Evan Debenham + * + * This program is free software: you can redistribute it and/or modify + * it under the terms of the GNU General Public License as published by + * the Free Software Foundation, either version 3 of the License, or + * (at your option) any later version. + * + * This program is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU General Public License for more details. + * + * You should have received a copy of the GNU General Public License + * along with this program. If not, see <http://www.gnu.org/licenses/> + */ + +package com.shatteredpixel.shatteredpixeldungeon.items.quest; + +import com.shatteredpixel.shatteredpixeldungeon.items.Item; +import com.shatteredpixel.shatteredpixeldungeon.sprites.ItemSpriteSheet; + +public class MetalShard extends Item { + + { + image = ItemSpriteSheet.SHARD; + stackable = true; + } + + @Override + public boolean isUpgradable() { + return false; + } + + @Override + public boolean isIdentified() { + return true; + } + + @Override + public int price() { + return 80; + } +} diff --git a/core/src/main/java/com/shatteredpixel/shatteredpixeldungeon/journal/Catalog.java b/core/src/main/java/com/shatteredpixel/shatteredpixeldungeon/journal/Catalog.java index cb6c4f79d..58e874217 100644 --- a/core/src/main/java/com/shatteredpixel/shatteredpixeldungeon/journal/Catalog.java +++ b/core/src/main/java/com/shatteredpixel/shatteredpixeldungeon/journal/Catalog.java @@ -33,13 +33,11 @@ import com.shatteredpixel.shatteredpixeldungeon.items.armor.RogueArmor; import com.shatteredpixel.shatteredpixeldungeon.items.armor.ScaleArmor; import com.shatteredpixel.shatteredpixeldungeon.items.armor.WarriorArmor; import com.shatteredpixel.shatteredpixeldungeon.items.artifacts.AlchemistsToolkit; -import com.shatteredpixel.shatteredpixeldungeon.items.artifacts.CapeOfThorns; import com.shatteredpixel.shatteredpixeldungeon.items.artifacts.ChaliceOfBlood; import com.shatteredpixel.shatteredpixeldungeon.items.artifacts.CloakOfShadows; import com.shatteredpixel.shatteredpixeldungeon.items.artifacts.DriedRose; import com.shatteredpixel.shatteredpixeldungeon.items.artifacts.EtherealChains; import com.shatteredpixel.shatteredpixeldungeon.items.artifacts.HornOfPlenty; -import com.shatteredpixel.shatteredpixeldungeon.items.artifacts.LloydsBeacon; import com.shatteredpixel.shatteredpixeldungeon.items.artifacts.MasterThievesArmband; import com.shatteredpixel.shatteredpixeldungeon.items.artifacts.SandalsOfNature; import com.shatteredpixel.shatteredpixeldungeon.items.artifacts.TalismanOfForesight; @@ -219,13 +217,13 @@ public enum Catalog { RINGS.seen.put( RingOfWealth.class, false); ARTIFACTS.seen.put( AlchemistsToolkit.class, false); - ARTIFACTS.seen.put( CapeOfThorns.class, false); + //ARTIFACTS.seen.put( CapeOfThorns.class, false); ARTIFACTS.seen.put( ChaliceOfBlood.class, false); ARTIFACTS.seen.put( CloakOfShadows.class, false); ARTIFACTS.seen.put( DriedRose.class, false); ARTIFACTS.seen.put( EtherealChains.class, false); ARTIFACTS.seen.put( HornOfPlenty.class, false); - ARTIFACTS.seen.put( LloydsBeacon.class, false); + //ARTIFACTS.seen.put( LloydsBeacon.class, false); ARTIFACTS.seen.put( MasterThievesArmband.class, false); ARTIFACTS.seen.put( SandalsOfNature.class, false); ARTIFACTS.seen.put( TalismanOfForesight.class, false); diff --git a/core/src/main/java/com/shatteredpixel/shatteredpixeldungeon/sprites/ItemSpriteSheet.java b/core/src/main/java/com/shatteredpixel/shatteredpixeldungeon/sprites/ItemSpriteSheet.java index 616b7dd41..809961bbe 100644 --- a/core/src/main/java/com/shatteredpixel/shatteredpixeldungeon/sprites/ItemSpriteSheet.java +++ b/core/src/main/java/com/shatteredpixel/shatteredpixeldungeon/sprites/ItemSpriteSheet.java @@ -588,6 +588,8 @@ public class ItemSpriteSheet { public static final int PICKAXE = QUEST+4; public static final int ORE = QUEST+5; public static final int TOKEN = QUEST+6; + public static final int BLOB = QUEST+7; + public static final int SHARD = QUEST+8; static{ assignItemRect(SKULL, 16, 11); assignItemRect(DUST, 12, 11); @@ -596,6 +598,8 @@ public class ItemSpriteSheet { assignItemRect(PICKAXE, 14, 14); assignItemRect(ORE, 15, 15); assignItemRect(TOKEN, 12, 12); + assignItemRect(BLOB, 10, 9); + assignItemRect(SHARD, 8, 10); } private static final int BAGS = xy(1, 31); //16 slots diff --git a/core/src/main/resources/com/shatteredpixel/shatteredpixeldungeon/messages/items/items.properties b/core/src/main/resources/com/shatteredpixel/shatteredpixeldungeon/messages/items/items.properties index 4ac7ac57b..d26cd1104 100644 --- a/core/src/main/resources/com/shatteredpixel/shatteredpixeldungeon/messages/items/items.properties +++ b/core/src/main/resources/com/shatteredpixel/shatteredpixeldungeon/messages/items/items.properties @@ -260,8 +260,8 @@ items.artifacts.lloydsbeacon.desc=Lloyd's beacon is an intricate magical device items.artifacts.lloydsbeacon.desc_set=This beacon was set somewhere on the level %d of Pixel Dungeon. items.artifacts.masterthievesarmband.name=master thieves' armband -items.artifacts.masterthievesarmband.desc=This purple velvet armband bears the mark of a master thief. This doesn't belong to you, but it probably didn't belong to the person you took it from either. -items.artifacts.masterthievesarmband.desc_worn=With the armband around your wrist, every piece of gold you find makes you desire other people's property more. Perhaps it wouldn't be too hard to steal from pixel mart... +items.artifacts.masterthievesarmband.desc=This purple velvet armband bears the mark of a master thief. This doesn't belong to you, but it probably didn't belong to its last user either. +items.artifacts.masterthievesarmband.desc_worn=With the armband around your wrist, every piece of gold you find makes you desire other people's property more. Perhaps it wouldn't be too hard to steal from a shop... items.artifacts.sandalsofnature.name=sandals of nature items.artifacts.sandalsofnature.name_1=shoes of nature @@ -672,6 +672,12 @@ items.quest.dwarftoken.desc=Many dwarves and some of their larger creations carr items.quest.embers.name=elemental embers items.quest.embers.desc=Special embers which can only be harvested from young fire elementals. They radiate thermal energy. +items.quest.gooblob.name=blob of goo +items.quest.gooblob.desc=A jiggly blob of goop, split off from Goo as it died. It's almost like a big ball of jelly, though you wouldn't dare eat it.\n\nIt does nothing on its own, but perhaps it could be used as an ingredient. At the very least it should sell for a decent price. + +items.quest.metalshard.name=cursed metal shard +items.quest.metalshard.desc=A shard of rusted cursed metal, which broke off DM-300 as it was destroyed. You can feel an inactive malevolent magic within it.\n\nIt does nothing on its own, but perhaps it could be used as an ingredient. At the very least it should sell for a decent price. + items.quest.pickaxe.name=pickaxe items.quest.pickaxe.ac_mine=MINE items.quest.pickaxe.no_vein=There is no dark gold vein near you to mine.