From 9dd2bfaeebad0485f0c17dfa08895f50a2f51463 Mon Sep 17 00:00:00 2001 From: Anuken Date: Sun, 3 Dec 2017 15:29:49 -0500 Subject: [PATCH] More difficulty tweaks, made sandbox work properly --- .../mechs/{player.png => mech-standard.png} | Bin core/assets/sprites/sprites.atlas | 6 +- core/assets/sprites/sprites.png | Bin 54653 -> 54637 bytes core/src/io/anuke/mindustry/core/Control.java | 10 +- .../src/io/anuke/mindustry/core/Renderer.java | 5 +- core/src/io/anuke/mindustry/core/UI.java | 4 + .../anuke/mindustry/entities/BulletType.java | 4 +- .../anuke/mindustry/entities/EnemySpawn.java | 6 +- .../io/anuke/mindustry/entities/Player.java | 6 +- .../anuke/mindustry/entities/TileEntity.java | 2 +- .../anuke/mindustry/entities/WaveCreator.java | 16 ++- .../entities/enemies/BlastEnemy.java | 16 ++- .../mindustry/entities/enemies/EmpEnemy.java | 4 +- .../mindustry/entities/enemies/Enemy.java | 2 +- .../entities/enemies/FortressEnemy.java | 4 +- .../entities/enemies/HealerEnemy.java | 6 +- .../entities/enemies/TitanEnemy.java | 4 +- core/src/io/anuke/mindustry/input/Input.java | 2 +- .../src/io/anuke/mindustry/resource/Mech.java | 9 +- .../io/anuke/mindustry/resource/Recipe.java | 4 +- .../src/io/anuke/mindustry/ui/LoadDialog.java | 63 +++++------ .../src/io/anuke/mindustry/ui/SaveDialog.java | 55 +++++----- .../ui/fragments/BlocksFragment.java | 2 +- .../mindustry/ui/fragments/HudFragment.java | 15 ++- core/src/io/anuke/mindustry/world/Block.java | 2 +- .../io/anuke/mindustry/world/Generator.java | 4 +- core/src/io/anuke/mindustry/world/Tile.java | 4 +- core/src/io/anuke/mindustry/world/World.java | 4 +- .../mindustry/world/blocks/DefenseBlocks.java | 5 +- .../world/blocks/ProductionBlocks.java | 4 +- .../mindustry/world/blocks/WeaponBlocks.java | 4 +- .../blocks/types/defense/PowerTurret.java | 2 +- .../blocks/types/defense/RepairTurret.java | 6 +- .../world/blocks/types/defense/Turret.java | 6 +- .../types/distribution/PowerBooster.java | 9 +- .../world/blocks/types/production/Drill.java | 2 +- .../blocks/types/production/Generator.java | 101 +++++++++++++----- desktop/mindustry-saves/2.mins | Bin 17639 -> 22400 bytes desktop/mindustry-saves/3.mins | Bin 4061 -> 29178 bytes desktop/mindustry-saves/4.mins | Bin 0 -> 39775 bytes desktop/mindustry-saves/6.mins | Bin 0 -> 3584 bytes desktop/mindustry-saves/7.mins | Bin 0 -> 39986 bytes 42 files changed, 249 insertions(+), 149 deletions(-) rename core/assets-raw/sprites/mechs/{player.png => mech-standard.png} (100%) create mode 100644 desktop/mindustry-saves/4.mins create mode 100644 desktop/mindustry-saves/6.mins create mode 100644 desktop/mindustry-saves/7.mins diff --git a/core/assets-raw/sprites/mechs/player.png b/core/assets-raw/sprites/mechs/mech-standard.png similarity index 100% rename from core/assets-raw/sprites/mechs/player.png rename to core/assets-raw/sprites/mechs/mech-standard.png diff --git a/core/assets/sprites/sprites.atlas b/core/assets/sprites/sprites.atlas index 83f43602cf..8d713650bc 100644 --- a/core/assets/sprites/sprites.atlas +++ b/core/assets/sprites/sprites.atlas @@ -664,7 +664,7 @@ blocks/oil index: -1 blocks/oiledge rotate: false - xy: 456, 423 + xy: 470, 423 size: 12, 12 orig: 12, 12 offset: 0, 0 @@ -1579,9 +1579,9 @@ laserend orig: 18, 18 offset: 0, 0 index: -1 -mechs/player +mechs/mech-standard rotate: false - xy: 470, 423 + xy: 456, 423 size: 12, 12 orig: 12, 12 offset: 0, 0 diff --git a/core/assets/sprites/sprites.png b/core/assets/sprites/sprites.png index d39424c80a830f8a3475ae002bc258febec17d8e..5238973934bd92a511b3b42249653c64900a2218 100644 GIT binary patch delta 23236 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 delta 23238 zcmaF6iuvy<<_%Hh_4h+VU%q>_|9THUoTERct*X^W!cGM|(N zpA;q`lO9Dy#z`|~HmEo#2($@IU};nka6Kj_BXuNfw#A~S3}(68?@s%AYS;Vie(!dz z+5K)_`{wUEzu#FE`u)!4^LEeg6rZmni zcSh!N&CBh07#x!B17KVj86;_rovsS~#n0D-BYG^+HMpS>_kEB!~!v)IE%T*>NvNBv-8?C-> zN7{D=h5%o73+9HztBeb5>SX>dzF5Cu!OFNDem+V|1q5V&7Rxg9FfCce`04$5?`5;r z#q-HFNSN$2W4h48;h=Gr|InXRe@`!C2-@T*lhF{UTh7;TZs%)1DhpAA+D~!GEDgTQ9q;RHYo0SO9Jpx5&ah#vkKhJt-GIFd zR5t1}Oz>rI$ld!nJBhHE6kH2ua3+-ffZ3B*hbPNV>lAvkHpcu@sOr~L%h=ObpLlnaT z2F9yj9LvAd+h@Pb*JdbqG)jN6nM9&|N? zi2axn>?der?mBJtB4!350R=w0ztXC_A6`zsC%|w2_q}c5!iCou7yPL$`BO62S7?Ek z&!MGpJ66fQ8G@%8&+zM0N-=Cf=Kee8t;XT8GDKZTcR2*i@ zG)O4_@33OfWtb3o{iFW8Z?o^cke9XFb2+t#=>!8qy*q|V4 z4)b}p@-aO9u=w)v^JZU<)TjPp*zqPv-^PW#A)9f5oP(?t!>Xv4+rHk2Enx`JX^{AO ztyb=onN4X-+x-^(%Voj;W8N+kEPMG}{M6^|XBk&$f3fFca4 z-#MQiJZ?1OfB(+?%Oor+=iF*a{b%|7@Ap${CueO`WMQy%?|)by(|(yjMSMXrH-m%u z0Wk)jITnF8yqKP|Fj&8w z!}mZ&hRg4Tt=ReAe~9O;e6EzR@VE4`?-5oEc5e@JG33ZpWw0=;tQTP^c+P)&PW89s zq)(FB1zHO>Nnf9@XJv1{o4M?An{lAd3Zt7M3=Iq{OeI_g!h~*=aUC!VZ?LNL6I_yO zAY0EMHibE0m!HGCBy+>nj772xB__W5Y$B_eADsT&e~@VbL&HBi8HN>g^DkHyygCrt z$1~TuW?7%y??AQ&9*GNoe=@P&{5PA4;ng~e&cE%V3`-Um2j1 zE4dif{P@FD_}w@7;K%Ok^}Cj^GweE@^j_Ea$iBCy>)9qTJT!J=-qo;RI?Ilvi#wSo z9mtr$Vv%>p;SWd>h;cA04Q z1Jj=8pSreq@4 z_HXqs|4#EV2u0NEIyo2#D$IC)d=G;b8_W9#5B}dj|19i%{hyn&PW@cGf?ucndgt}{ zC~F7iH*U-VEFPH+F}xFk7*{Gx(3{@f_UEJIrjobYwI6Q@pP3*a6|HXe{$JrQ4hO%v z4MB_zy1WG<44@)vf}qs@+8hQ3{p&u984MX3G?^S^_nw&;xH8{o-Ou%})w7@fjg?uI zzh8*a;nk`JT?USDrWB(CwWlw9JF#}R_VItquP^&z`M)dkDl5YVA4i5ye{&faa;(3u zF-~!Em@0AM_x=BM8#690nk-r8SU)#ZQlIGvuZ-2L^YJ$8&;R_cah-+bfZ6{47pFej zI{p0`B}Rcy@1L=Ru$|t}m&F{jHEZf7kIP>qjaL;NS*4kicXAoSs}6=ImpC;PIRm~f z&!5cjR+(X+vi5CF=Bw|MXEQt0i%(DT-KfOywtCk03xTyK{!X9GHbaVGh1>5+zc+hOgtAEHDc8dw6ptf-kJOR^tRh8H}QcQ$R>ZDx~q>hg2dn#9`6r3^v;_pRk~n8D|;!teNs?X&;I zTi$NxWjHX$d=c)dOoHdU)J+5Y}hCJ@>718r!s>LyMq{G#k-5$TJCyxBv=_3 zLM=R997F8cgsK@BrX}9JVH>`8|Bq(*F7bW;{TZ075+3~cDC_8uSI>|T!gS^8X8*Iz zt;y}L7-l%B+2nX%zu8iddZ1D7^}2ZBWeiClKZM@5pT_6VRrOZ&B}0HztY_3;-+c4G z`-`?+XJzQKdbJ|zP3`;Y`3#Rc>r3M9n`ABj$)t5_fhog}>$S|53=du${FuzbFx`-y zVLLm!ecAs5)_wn0zuom(>-Vwx)9X9Z<9^PococpAodU-OMh30TwcA`n!EQR*9LmTb zFUt^oiN*Jh(_{Xk*!s{(a_^kW|IV7gBGKHw{`WsiC5CO!<0tVkEWbE)(bfB3%4Yu$ zU-vDMnIT#2-sgGWJ+}T8<=cOF&UXjDhBajj%nYlhzxea=cdbr?yp8dCcg7|43=G#w zZ?DSbf45s=Zq3sl*6ZhoOExjEFtqRc99!^Dlp&yjL6_kH^DPmE11nfw{9@<}TtD~H z2B%U69}}IpEOGfKF*T0Y=YMw;NHk^*u;Mjf<-c#rBv5?hebK+AFBt;7;-ncn8yd_Y!txfHCk#%a%d=h`*@KJCdF5Pse+>_ljIzikNn0g8JlM=TM%RadtSY82}2aSeN`~S zVJ3zmf5t!cALq|^XunrzQuw+}Ss~%{G+icThP$bT&w{m%+tvT8*;xAA&r0+{`tJ8T zk883Y2z%bb%uw^JfFWTi%Zkc>TIrW`8<4OPw$_v`n4Pt|8ANVuJ3Sp3Y# zu=-n$;kP|67#SkimY?^1_UGWbeebN+t2oH~T)m884r7BR(}GPBHW9Jb>4{N41go#kzJ zL53p}n6^oR8rv%lKWAW=R%k6Z*T}71pONj+J9aq%`@d)Ne@|hk|N6WBB{Oq!t(J59 z{+gekPJJl8{*(J|?OG-VH`N2bl>E#zVsJ2JNcqYjz_7xhfs0|qyV5=N6_SZ^5BEOpJI)gEScyT; zifJWdeM3JVgYEuAR)%fLZ*F)s7`pxc@_pk;CG(36!LJyWT*>rU`bARPN!U4k2`hs# zBZJkdQX>Y1ZiW*K4Y@21>a1rN8_uN7HMi$vXvi)-y>9pHiOdgHD+gQ`VR+trnWN#| zpIJ-{CCc8nCv5g(Kd?A#rhhzNu(s^ooyf^++j8n>Zl2CH>*M*%1{3xMCI&t&O@|)a z-t~Ij?sY~H*S8QRL6Y0~6wVPhaTEt&t9wt6#y_um(hAvRJ$c+r{Vb z;&1Y5=799AM*)| zeO|#dUy|*XxQmX2A?<4O6PS)ZFAYAchW&iuj@z3r& zv^+F-Z+(t*tn^==@9eSs?{CP@i(gf?A(5G3R>~H}#|yLF1y!%B9I&e{`^&cR;gnig zgNS9h{dYHb#8iLukudrGCi$|R{)hi|dC!(6U0V}rEBRpE;`cXhY`wir`!hq@xp?K2 zhxL*S1v8m$Y|EW3u<>xwI-7!u84FKI>X&!b8x_3!aooYZzMp~N`a`oF=a$a!&yi)g z761LOuV=+FK?N(XD;Jl$mO9B6togfyfuZ!njo5C+pLgsHix`|rg_2(DEP3{`eV%>) zfrp=2WexUSW@M|~cY>i|-TpT}U3{ZKSW<2oUEo*Lz#NXggf08#iuHa)R{qW*MYTvAStE$M|tL$YT zUd~OK$h@yVk(t3pB$kY` zJL9+B{qu*Po#BA~zc0`Go^9UoSG&LCXt#Lywv3C5y8f9z-qZang5itZG*8CQF+x_V z4)%vd7-n#+oh5dP`MT%aNAjKjGE?dkt-1~rRz`q}h_rX!x}LMPtV$w!vB+8a$f|M}p<#hd$oKASyNk-@>BA(%QpRQ6 zlDA(mwA``ZSi(@$`Y-tNALsAMmlzM+_xk$hfY~nIeDkl*-+uYIG)sOfN5i}NMZexh zFfhFOvh=jYqWzU_ru*+RGfFTnIJbXy?*fJft6DBL0frrFj7~S^+x;)Ok}uA{u&n0k zlZUr#9;7hYXUMPwl-P1vF{t^~uksY$^`+|V&dNtiUod=Nxf#Z;a4$b*Rj(HxgZ$ge z=U08Lkry*@xas}p$4!DWT?bz{RoJ*Uw7vA2$z-6(*!F^9#?^(~@ zpvHLX-#_0=j3?F_Px$?B+FE&61_rkO+ONMm}3_|}j7!Is#xW(w;HP68J&__|Lhn_Z@RAjYSrdV?th;kngNi?Ya zFZ1vNi0c1|tItqneaLFWU-+hJz2i zZ_m5`JL~D4_wheNSed@*)H*dBEGm!fXXEJmo4@~qgFMHNGh6w&4PO1x-}~QHo#8`& z{-5p}f0oXE#m=DlZ;zR$**V2-*SdFApA07-t8t6b zv-uX3QQz>RI+(5D)%WwYwa&MTU-L{Us89aAfssLUZU6b#pD)_?GJOy_Wprx+Kf{ls zr}qns&#mCS%JgFM{{Od6KFYsWSaLr7-*o@~UJ_d#BFZ9&TTbsga zXeE=+&r4UU&962;FVUU;Ey9vv&SLM%Z97XDd?KGMv|>=Rn(Qfb>Dzbj()uM&D%(HZ z@V?BrA&_a!WOw<`J9d_`6}A2={o5v6&#+_`6GLrvw4wqVgH@ke+MoIVT@U}uHx}F# z*q|k};WwK)L&EIqPV8M))me|Pf-EgHlU3MaYr=lu*$?0Aj2wn`ubwQvXmzA!R@C`@ zDzXh~ar>_w%DKVd5bN0x@bum5`2SV93=A@V4sxq~cl#IN%wS)Bd(JY3BxZ&gk1Pu6 zf9qy3EZ}yW?Q~_~+ig}1`)qzKd(F^t>gB6BHd~fX``jCPzV1pX!>o$Gvz9Om?)oqC zx1E>aiYqgV;)1!>Rt$R2i{20(% zXfP-K(pUSM9|h0XZoe0_j(syD!@{p`Uat#}j}lto$+^KquKLZlOC@SauQgVj`#v>V z{c6%-H5L{I1|N2Y6}69q=YL>gusFru&cC?s)sL6E;*u8Z6Ix)xRKzjew9%=HXjix_v!tM_5}aMsu^Zl*4SMaheR^EYp=`QFQL<>cYAhYP1KVO|i- zq|ZT%w0T-0SeBr(r96)&?uSo-fUCWSiA#Mr|dAAlZfhh6c}uBM-k%%bmi2t}sxj`ec`$1Ri$s0VKf_53sbT3t2|ZQcR=&DAyF|#d0!1)Gql9TOS4b9B=F$kl7nIF2V&U| zY!h?HKAb#v@8wCi^vnIlxX=Arae|S-=Rm}>`Uj=8EABJMG8o+EV8~$m!Nf3$eSw*~ z=7Spy3=9|7#qNH?$nba0rno)5A-a7_Hr$e5v$$x#??uKBQ<=6st!%#%<#BZLGKLl- z_E|xo+{X~B+YtER;__>j8iDGHrVJ9s1^=8G88Si`r!X9R+50#A$m{j{^LiK-=sB#K z&dIQ%q@Ka&JBPeMwvxuxuLevEc^nKuSG%`shBaT>x8;t$+NOgXt09dRt9t2q+xw2c z(^e7gcJF6kk+DzZJ0f#%*{byTS$qxa#10sIev$lI=1S@R7C-JKYz+MC=BV8J|FF=R zogr`E&u6E8Ht+p#h&!ySL4<)pcfxk(c?=i14fbW!-@pFvY5Zgl#&kvo!_9@2JEKb8 zY$`Qja#+qZ%Z<4tm2roa$GK#G$HT=BFJ9(g=wiRgVY_tA_q^Tz)m}05F!kHDF|T|4 zkMrV625(*lyP`wSH%YjZ9Q;r>E%JGFc&6|5=@G0ml)th9)sVTLmMY)uB8@7~YxeA3>*K(?F-o_aQvc*Y(wJHi|yN<@2Phx)oPOk z4XfUKFSmDz(e1BYE1Yr|E-d_OB67I#C9^z3!{T~L3zlv^h8>I?9+CR@mc`lL(o`~O(|pH3sjs&8}e|J#?o<6Wb5p6I3z`*|34_%P<&-gefX zy&;G>^|fzg$HKR2>}iXcCv3KD<8$!nYvt|LQSIM%^6MM#ON<$hzGmz0<2#_iz+m#~ z!^)N0zOypOaNO`?)c9t(VJ{EEo)03c?{|sU|8;x%=b^0K{qpyBldgYqo!mV=q25?p zEyOJI{+Uy0GIQ>K-&gc; E}?LJ%)uFX?kD%~kQY-PwMcPFz!gyF<3U&W3KWtTZL zN;fXLP$ql+-gMRnvs=<-TRep&L-5@7Z708dK9szjV*>-jf?ly57WI4#Dc4H>)tc4+t0{cD>1fjV zsosfM3+iVnHE0~1V_B?qQ0e9uhI{c_<``J~e}8Y+p}A};m>5jh6-*g2s#p|Q843a) z9sXcgDyPOSq%3W-R3K1RVS$S*!(^d^S1J20)E-G-exj2T!ah6k2IGO%=DKer=U#Vb z_nW)3=fD5$kFwvLx7YsN*~_G(z!_j2`rwxlW5eaJIhxDrV=UGd{h1zDJn=@+d#;aL z@87pc*!?bEQ*ZaHLtHX9m>R_M_r%zg{#{zf;BYk)sLQ2*%RQfRQA}4#} z-O{hFkJg2X?|jWr5T%g6UYYZP8dE@#Py&xEgS?z!`2h*HZwn{3%GfWNSF6!)9kM(r zqJ*L7%4Yt(^{*bhT>j)^d)@v-b_NU91C9)(|EvTSEMf~{2#Bm?SfE^4|2}}B;Cp{q z*X{VdTZ;buuG_aOU4$iop+UjH^eW3`w($6heY^P@R`K5U_2gLi)=ZE=w%@LNw4R&gJzxUo`x$vLg z_v(ZL0|SE%=T&vUJKWO>)u zm&i8AXqBqIWOxz5pr-14_uuVrMYr86xg4e`I~;5{Ez;og?z#fw8)Mc5tPIOo9Q*{| zSk)K4y}mq5p@Er^fg!}$A=HFpey&06hK!4gepoT6TG`2HzTCEW@yZ)~;=*r(>iu5{ zq}-1WbK1ry%MdQ+&{y@r_cG&#RK^`*##y(c>lp&FgcfkI>`-C+_w#wbh4nWPK?Zq- z4bLt-krP;;@St)2T2T&$kX4O;A|LQDBBTQSEcDPcs@YGTbQp_U7hdW`$fvHtW((&Va1@z+%TyW zWF%8V;B=<2%+Ie&erNYEl!OQ}Og_6OG0$JO;O4K&4eOLQKaCduqRH)coiRf;_a}pb zn`PwuZxU7vmXjH0uVcQz)F8&tQ)Q@dp2IIBP)grUt}8Um%U=RF{l1^T>kHm=Cw{Y{caz)RdnFt(*|2*hKsEYK9&qJ3@etg zsqn>bi~C^qR@;UBz?D3qLz;JUPHi;18Dt&6qR`GK`)beEYtd7;S~0w{V%TTNpnKkK zjci?f!I^}BZOIK`Z0NbSe9<3E28QJ_4b$u8|8BfdaLR6_ z?e^!t4H+ETttzcV9T*$btQIgaIBmPf$*|)E!;D+GmCsbK2`}gKQ9m-ts$}l2A0Dw* z4D5U|D;gZSs=jHiIzDv?bHb&-jADjMTNWp`-RELBpuGQPaIM>M-u?DX%m#P(=327y z-XIYw{rZ{a^ z*(IMR~$DC!LkLOU>$fa()NMHeC67D|dZ< zrWL~~%@q?q=ih#-%y1|0^Vco1$_z3ND;VmT^79!FIIVs8E6F6`%`fY-FN2@=EC2iZ z`+NB=<@#NBZXa8qe1Ta!CFDNi@2k5uTklvC5&m_e3&RoyhV6^rJ2D&y<2Z5U-C~pJ zi(bt*zt7t@$vaX(JuTFdYXP6U-5vA)`HNGgKmJ}GdTF&c`+=om4y#!tmd~}SfAwG` zvpFNf9rpTdix;=2&I)gMT_C+djG=|Gq4M*y&X13e^WQkw%+5Z??9A(C=lez<_t`Np z>}R*AGl*Emz_6|M#Vzq8`f>l}p8ENn;Xrr)z4pb`+6)bs8LzB-UBs~C^K(m9M+Su@ zv0_U7vG1*qo!FM5I9uZDjpUx5*yS-A4NW`iSs0gTPPy^*R=sbq(yq_?uIvX=xmK|< zd}IKP7;m`fdE1Zi#J7WtO!@L@3?Fu$+~N|MRoi`DJwl1?8z5dS36o{XwIlsOsTN+w0+MesZ#ZC;QvoOy^)az`(HQ z*VgtU{quJC%iP-?_~&!|-PcDK^XH43+wII%*t7r3#?wcx{N22DS#2vQ*~iM=Q2ctr zd3&d0viC$DiPdt|FHYQCE@#Caz`>-^u*r74%-37qmlzMcRJUUljXJX;*W91+!bPie zrWunM7RoX*+-HC5zg_a1$^k>+^!diSi~b$(ecyK`n~~vo?WfDk=jJyy)So)oe7OBS z^BgMR+xX^7#eUzLFC(&k->)oIhPtZbUWFCc zr!xO!%usut&&yC#!r=3Eqwud+YdFH4EN@SF_-_WofpAU(6Gg)(e{#<4SCM7Vip?$l zoAjFD!uuJM)BB$*WcSzBy;$&3cKXNq??+ST9qfO*X-)mTdJ)D0xzp$99y{lFr|_lZ zR;C6+_w`#fkH_ld&D$8R!0|wkq2%A)+!kGi9gmmgKKQei@xYAF?AcE4SB@#Rqlh7Ohs zKkG~Wy!ewTci>s@``4LFGnO#~F*f9W&lg{QuVR@HgHPRqm|~R$e6kHPHeVua%7nQW za9S}~mayb35AeF$DZwhsaQWv+8U6mU5AXdx%lp({Z+|DfeW9Ps?U(yf`DT7!nr3Bx z>)dDa4}U_Rr(fdSaFKDs*Y(T{4a#j7EpFX%P3OE>RvMAXknnoW?rH^w!+&?&$qnAf zu*iq;!Vw39dHN0CUS`|hHh%Tv{2k-9MpB#xObsDc3>zz7l=`you-GuE6f~>jR4U@6 z%&@UkDd)R=J(m^3iw~jC+t2ma*}v=fSw7t|;qKRmZ}+TU7h7KUVoT=i9Qk$6{cq=# zFqK#_tom2Vz#viUtRXk&zpwcGR^?9<*%^ZEcdp@Q$(dQ#&#?Gh{o|L_b2A#&c{W_h zFlk_BDfxHh;pguO3yI-0|9;G_IJl`_4*T|rzw=H<2@`Dc5+b9sE-QLlIgmd?DG{Z*4~mXy>t zGPD0W^*(6#$79lK85?p|F)%jda52d2V`TZk+z=q!aA9J)2LGMy_N561-}{9o`(9yO z;ml~D!mhB?ujTze?@NpeoE!{G8FH2}{K%NG?zm-1Y{$Kl+6oD|=dV^WFTZ`E?C#IR z-EV%#G^{umf35HM_N$x$FBx9^YQFlQBAP*gv7SL#ZNB&1n)Vq9r)w1&ENgz%ysTvt zV3^1-gYU&N@DeA!TXGc-8u!I8)+`TZUB$t`&KSm^u#~Ss*ZsZ2Om)4QjG2GYpN8Ilb1~{vypE+y{vx^wWN7eo`xC^_@b>!p zeKB`775X0KV`x@!WME)_cgysE*o8*MnV*-x_hV3KrVW9UBZ-8 z%8&wz&-%*B_Y(!*Xn)_zuz;IEne|n9?*C=Jd2ipw@F17r!bTH0)(y4$I+lv- ztYToWs^9W<_Vq~ShV}1u_^gSyjpJlEx2Jg4POAhj*@mDJCZ~!w%h(GzZT<_Dibcsb z{3>B^Iv>x<;Pd?cw%4~S7tLQaXM+#B!nVh<1xGer?_h4I-zgsZh>Jl>S&(7*iN`Yz zZ{Ku$o!!>-YCXG!?~S*nX4`42y|b7d&huuqoWzF;$Wb0dwnbugeF`#$_~_a0PHNR9xSEPxPu68^gLj z`Lo|=ib^xoe7sd3d{oli?Qal+!*a$oj1C=q4w+Vr>%KlHe!_6YFg(8foD-jH!;J6l zo>mM~T9d3J#Y`Nf5e);G2x4+6FmpVktHi$8pFfnwL&Nk=nPoEl5_|hnmo5Ad? z-8Q3wevUA%t5&jA4P_{NR^S?DFgkFG`p~K#O@LVi^j)uX{UnB?E&wA47`50ci%FX1@mh z{yRq-pFaCJeZ}U0>3j~WelIqWWsu}{DF456o;@pr3DbqPABUGQSnvicRX71|O5f3B zxShW8ubq=0ugK>8->~D?uC3=x4y+E>5uY5rGN}IU_Y;dB zZ4%X<)7p@CtEhJa=l{)^sskC^yh%nBdH=!0x}-Pqsm5f4r>CF9Eq~&gb!6 zd<;wsk$et*vJ9c|k_MA<-IvRzxHg3RP0ii(clN&c6CX1-DqQ`TyJVW-m-CSfx(p|n z8N$}@Hrpxk;pu68r-$;-H5q0mnk0O!KNYN%>cGXaVs6>%CvvO>ucn{Zc4k*-{ovd4 zEy9XnXT^`wSbJIiyW$R44RtT6$TCFnD=gzsG$G*#7V6dtqs<;{=H7}=}U$sYgRqKHBYG}R-NDe_}A6RT&krmpy7)7 zufyB<7}j2K|D7zoS4~D@A@ejw^;_}R&&itX{dec!>3#Fhe*F1$qAOF#@$0enqP!b= z8AKQvtggt}ZCJhi-NyCrR?FD$IlPUFVS#BlLxOc^y}`2^xoepikG^D>V)V=Z>48^I z9zNeuSNeqE%2!#hON<}ZvQCI%Kj5P5!rq;`MOH>7)_<-oJIAWBx}2LIQ=cD~-Shh6 z%b&0N@|hT>u$?Gn2=V)M_kCUYhOG<^d6$>_Ph(=(=2uW$_%C64?ZZRQ7#gff7-r2o z5~jqz|6KOcM+# zvM&paJ~-UYtiN~eeB=B0(!PDi&EMX4b#F9g$SGn-vN$Bh;KImYE3n~J7x&!EhD{s| zys81|M(Os+|6{BfCIquDNMR6AZkgNMK41HbyfM4N@yh;Ld<^oOkF92ZKK}mHRu+x( zv86nb*4Gsu{0{s2{Pu}kKP~Hb$;E&B{i*iz=gm9ocGz0g-Eo&@%-~~C2xPeZyzje6 z12==ibA3j}=3s`kd=9IbClql#{qXScTE2$md<}i96N1?fv^}3!^na!A@z2Y17~?Nr zRE}l{2;plG?)r6MH^59YqFN#C%QK|z<{!(1kVv%hCA<5{H2 zIBf}Yf>ZFqw<}8-l0M%lZaZ3ABEp~}YgMv>oyn<`;nlA?)t3wjLJPY4noj@x{fc46 zElmcGjsLH_-E@EYW)-LJ=hyS6b! zwCU{G$Ni->TnnHB+x?D<*F63`bqTY>WQOF|3@a)=smbm3wY(EBw{gx}t$FtB28zd* z>+n?7Mll%3FgSeH@tVcFVCL`qZF~-MR~76mVkr9jBUyGnvqr%`6Mlu(KBqJ9!)Mj= zHTd&20umBH%*)a?(v!1&;c*}3L^NvH1@B{fpH4zxdiUtN14iorn0lEL=&p1Q3!HY7T; z_o|<{yv^VLUS6v3`kfJTYM+0Z_eX#Gu@?+WCWZ<-f8yd&t{%r^hxm3 zUpH5FhvSp`r?O~Vmg<+{c zgyG4Ly2Xo_>lGd!x;@YS@0rbySNbvBUEibbznnRv{&tyF`uX$y-%D@qfBW^}@nhK! z7cmDgaW7zHkQe6`KXa+Efl>0od3{UwIrizBW>{D6+N@%*Z{5ykvrb(&X#XW=`FFpw z> z+3Z`l{_MZlbMxOTKl!zlK|!9u;^`GmFNO`TF714@_kHd9D|X*D_FG!kYbdm=7u606 zadZE@f~S*>f#LRKrUt80hMZESq7O%6OBkHo*YB+Sqj~Opt6SuwubVj+F3;oNS*NGN z@U9_dNrUsR*(FRRZ#SKnVVO~XPCsP1!WK{qT9@I+4vVrook=%YpL5>K_m^W=J@ldw=bmfAj0hB2%|AG{{&nm{~EFUhgiy%J^Ze`TXwZ^M3tt zQf63ZC1AOl@fssT&HDM;yc5I^7wWRLa2DzP^|fMLR(AR4<%>IWW(Uk=3Kd#W?_GcM z>*=X17Oxl{?C`IP>XEnKcV6u5Y^8H^%_ds?xX8qyS;`Po$`o|HyMH0GfOCtQ=y}_( zKQI3M&9EZC%;C)I>r*%!I{Fybwz$hK)%Ep1n*3c;UFS0AhRo&1r-brcnH#^t&v8Yc zQ>GQe^)u4?$7G7uZp%J+{K!uA{qa4P8QS%~FSOgS^z96u{4t>ZctR~h!t--;!;URy z5MT&c+}U`N(IM7~VVxD@%AJo4OBj+YHiX!Gzw&%}5YracfYOyB$AXyFXfrJcX5zVM zxMAVTn^pz)|5?ptm|b@DV`Ym&DBq3n>j zz_{Tmr$?l|ok`2v==^dt;Dnb94)GiAFg!Thnr<<3wek0x^>-N#9Q?@7 z&^XgL{o5S-`WtP$+Z#T=Z#ZbQu03~K&dngk<~0lo?I61w&K%%8&Q<>V6~hrP51*sO z{ia#pEcfNII4oyQ{Pj2Y_v{k2kmCj)Uj%Qz?H1rv%2QLy5Mom{9TWl6%Xanp*U$B9 zeEFv`zT}DC-;ci@J{My!k!J9jZ#TE^i}vyTDG$rFn^Ws!_-{WDVfeE=H|OFeeXf#s zX4fKQ8|GLsuH|!>^ZI(!jEgc1*P|GgzGg7Fo3W)ao8d;B{XKJa-T+1hD>iOchHJm` zg&1a7m9Dz6B{Mkx3jeu(vsTx~N-{AS+(^5+Dm3ZlrqpW;2`4A1CVko&9(u0!;d4FV zXnSjK8M*KKf4_Of8OQDV7@To~KAfm6W|(#8vVU#O4zq%}3_4ri*S$AkZ@A8EaJSy~ z0%Jy%HSfb>Lj_RPzt54IVGl#Yhb=D{5%|xt&hLXP#?VXaC-LEi1!6h6CSHH`~XH9XP2zUuRo=?(HyDrZU;uc$Nj+ zJgagYq;7~ZuYO81sIxB>m%A37QX&7m!aY0Pj_a9rLS39KHc%PDHE59_K~ZNwfPZZ z^T&)`A&!qhVlB&xB*q=nnEMtoD?HwK`_qHj_xvO|OoR>;E0kRKU+Qs#slkZhz{cZp z*^Aj$Okt|4`B?Jt39IqZ>w2?P=S7vprEd81r)l$1@6GC6_vimRsFip@m_eg{uKfw_ z=)GRo7!9_z2mQ^dc(YBg;fBpGtBMaBm4vmVqF$dk%-EpIeSn=IfL&}6^MT4Y+y2hJ z*H_{=(_!M;K8CpUms%Q}WXl{*?AKr@IK-*m@%Y^DB^Hmbt-QLMhvCoNmi~@pzdsYU z@G)3aOm<{ikS(-8=OzE!lm2_x8>uq{EShY(&8dFnX0@<$`?F=YJQkmK<9E#?aX-QN zJ6~PNlJ5Qd-eXPHZR7GTW8MkYf7#Q0h0J5ONPII)fV8)Kxfht$Z%$-vdBIR1XZ7^M z?GHCfmlnkS`dpW>?K%Iq-R}A;&urcQ?#DWty6dmqe-}$79&~b;dqhl$MMRdt=g%L> zAcg~Wm+NywlxtNP7+zat-)?Ly*f{YzBge{gd1rQoEwwjFS&HK43$0(z&3o0HbAs2y zPeJ=k*cGPoF_hM1n6w{w_9xIve6HT#oY~9=9XtD{Y<&MUyMgb32Qx$K=jk)~7)p55 zWajQN4cPJNl(xG!yTY`?olBVoZpF>&b6B(FSjhF|>sn6KU%75x!gXpYtHaJeS0rz# z96Y&&A!jm2CX=kK-J0#J3?JSr{LQ8RYy~!yTz>h;dUM~_(m%Eg7haaEd2_G&{Z=*xgS8B1Mpg`ll^?z^=0x{x zZOQpF#foX$Io<8eepl<|g4GX(wI6C@UGVC?5aWV5CE`-i9efNj^ZWm;6gHdte|5R; zyW)Q$EC)&&vRMvnos)m!>*9&cLZDu#LEV9a=Wp0w=U`YDUA(HI=HbV43=izTzhhv} z|LP>a#9M;p@RLImFEVyW<}Kq-m|wJ}w8!rCH9?M4jR)#A-5AWt?2zaURK*T|dAz&AugNx#P4JW6aj0{%w+yWO03;xuK zNi#5P70_sNUdueeiu1x!nQT7ReOIiQ%zmF=8IWPM|HAo|B|vF+~h7>VG~i-(>q=;`(|Q&g8E-scxKr>{bJ0YG1)Ww5r402A zGqy4$wf6*6~>V+sb$3|C7Wl$SF^$uj(9zG23>dh4|yAIHSEjgv|koGL$=37Spz zW6If`c$n>}NT+Z8)sMw-^TimZoMpQ3l;uu+-AT`No(-N14Z%VQlS>(bKAgy%yrHde z`TVLWwr`%#k78$7EtPa}K~M>Ulk<~pR?^G>j41v5*T1>% ze~hW2tFeB|mO>pdhYX?U9u>>*rM@@+3oA1iHHa+wGV}AVEuIaoj120E3POwh|clIS7 z0koU?;{|hrTaQj|TX9{@!H8Zom;VA=y8mmr_2jl)NkC;k6 z$Vx|VOmdyS@>+c9)zGA~vrHE+W)>(ec@xa7VCrvg+HYHG6fbMVtXk79asRwJ=hW}{ zObj3X)_>$+U|^{D-l?#n?>ZRG9u&tSkIyw0hfY!{oLA%euTLu98f$ zlGzWY@Bfp!npt2KbAXp_!!@^H_5;f$ruOnVyekv-zh~ARKb2YF)aCP)wOmXLfie{@ z{>3mfv}=Cf{^k&C((7w$U%UuqSipSy&Ccg$;m_|gGhWZ#e^83SVPC_+pWhh{$^ZM% z{_r}Z$HB|n>esRcF!|e>^Y1T_ZBYAXw~fKXh0CIRx28+p>Br$u8Cu$2K=KVE!@6B5 z3oD*{(>{7`uC=y1fAQBBUkW8}CCp~$zw?rtL2L6|CWZ%$4{JHTH&1W>VDHCzAbp0M zL-V$U*BCuQ*V~$KuGX7Zt0h;p=JR>ew}D-JP4B-JGA^j!^w*q|Va22;F%^F{$uM00 z=lfQbso{tiFGIp3xjwIKCWeh`rJn9DcyIJ^`tozH6gV2nck$$I;LUmc_=hD!$4r(T zp%4XI8CWZ?aLFS9dT;y=z@LkW! zpv!Q;z@CX=!}MeIw+?(T-tzEEgF1sieBGauDkcsV%Qrr?la7*Yn6cRTK6}Bbs!uD0 zZ@=;o^QrwasZ^k5Dno5%(P1uz6t4yimLtjxx(ptC3~O3yn3l10F)~;@`hT*8b84c9 z0vkicpV|7Z>}UmNEs&@8`6t=dinee5u6Lod1W7 zSQ8FEKCa>!%I9Fsn!wNC_v_4$Bt}r1Z4NKPg^6}d3{sLDEDTdi9UW4)+iVM8Q}JyZ z->qf0<6j%!O5^4@@N<3K-l`uZ3_(3Sv8OgJTcK0d5I_|u)8!9vxb#EL;v=x|QuvC=D(&mVN|FZ{Q%|GtPU%lyZ`#1*H4!1xHeO}r}6(v zA%$d?ipvZuYZKqUow~4j|I_mOE8d*)Js;LKf8*VIyxea0L2V|PQt_;8T>BZyP{mZ_8&s@$R zvWkI;qoL@4ku1Y~l>-sq^R;C8e#}2uUmm*mu&KlI^|O>RU;Wp12W=~jSjn*9^`C53 zhU2p3b0&2B=eg0gb@kC@TeXi~E7d+C`~8g=`~I)G*_sI^HFN8q&INVc8QlIFT$*2g z{M9J~sRjmyc%$e3xySotlTJ_5UCY_bjlYWH* z^=)lgtC5MN*guK$4rZ6ygZINMM=&|~xzb-b|vT`yb zM*$;)fo{|K%ISCCu`r|r9W;8Gz`#&`uQGi#^Mp-O30blYQ;f z>+Sm)7HrAi!cqo?f(l)RiraQYr&4X7_q)0MbYm!ZoooKJvB7=c z*Vw}U*Y_#Dt9z30mG39hhBM2BpT+Kf*-`5L=f#g?6-K@(?0KaOS8QGhl`#1H=KmYR z&Ts$ygk8vTg(pAuUEj~A3X1fu*Xw67E%3X)byh;xef_J?FW387`#$KHW3ex4&6V)3 z_f=;KFCW}kuH$RqzJBvQ%|_{Mc`KgX_ua{|;q0W`>;pf)GdQH)&1f*u5@=?#IAz74 zC0Cj!+c1U6r1aB=WEZ!fFaEXv6tCNFk=e@2up;})>($K(lUXvjCj|Ye)4cus{Cxdm z`_jb(473;?{IC0DBXcvlp0VMkcYY}&L#;x>_ukbD7YHmB;R_LMF}v|>($~{RGN+&G zVp#Ba;qhJd&g+vocrS!&Ssr^o zeMjt>dA8A8)|af`Z~y$)sT{_J=Ew33OuM(Q7t*&a@La!2;ljr%o+jnf_3p2DdUA`8 ziazg7R-dQRS9SiP?3Rz0#S@bfTm|2}V(Ae5o-eMQ7jb>^PgViOr%eYFW}aqXW_Z!f zG-VBQ!lP5y4j#@cWr#YxmN{WD%Zt^_6F&cLywP{=!~gdC^TU4|f6f2#Ke*xJbx!p; z7iKO0c)i8*w3hYXFPE(|p3ke!Yp+{YFUG`B5qeNI``VW;ED1BiMP-VA)iN;H)#sf` zDt!4$dTmChRrLP4zqb_4?w?*QEj& z>l;2kRzER?^S9mm*bNR1g{@8}pMNT4Nc!-{x$?$B!GO$rM28Ym|_ORcRKmN(>;xzsGuSJHz0My;{(YUs9+xENe!9L}&Yz_|B ze{xGdmltNZ5h6N;v0?N1d3VBRH#`yga!N#*;Xr-S(HiMl^#ObM9JuD~*XFlg#^)ew z^CaTyi{Q_9yq`RrzT~lhlQZu^#%o89IWR2HKAt^`>7%ZC%&)(k+fq&nF)l0qS6@@( zd42`+5%KbtlD%1x+jVPCZrl7)e6??3&B7geK>`OD8%{bcXZYbU|C-1H*H#~f1~-NR z$vOWX2QNSLyng?o6HNDyaWU{1pT9q~T{f6~0iRsasg^x4H-9btu;cZW!Uqgj!d|E? z6-qesqF z)yrK?TQ({1UcBwbuhi# z3oz`zEV;_AsxK=m->H81ko;0* z2}9Z*F$OC~N#4+__f?q!%AXuJ;}n>zV8|ITjd{T<`Kou8@BL>nJ1{n!`FWg;VO4G| zV?)mTg$xdcsu!6Vqy#Q7GbDfaOf_mhKezt+4xt5CU&zNjC@`-t^sPVNn163iGNoGqMh5y!=_?EDPPA9L(k!@g`@#oN!E+NdpHaK`4p1SIuWK3OUJDd@u;?*|W$ zGlgp|leSX>a zvAD~w$cZ!$`p)}#H&Z=BD4*krFATktZZI?$+6PNoRloWm%GsFoZ%(9>&|EAXB zBVRHnAN}$1v3B!)VfXvd+w<1C)E`KYynfhB{_l(9OBfOyj2#S5g}bt+NU?a9GB{-? zO+NrG7PMX254gTi+s@apc0&Kj0xlMwWejef><(-UI)`qby0AODquySG;YHtikBAUA zgPdi2GRr(yy|$|TRZ{TJ$?%rE!Gv_Tbi4X@y&vMySkS=o%?K+-H1DMkav zhE8Girs8)`HWWVYlTTnMc;0tzeiH+q5Zerf($7DQ_>}dTn2`E*@>%f zB{48~K3TB%XCE^|gJpd#pTkK8hDA(1C;eZ&35<4Ne5YviwqYxo}9#> zy7*D!*Hx)pOclHJX5ZiHTfFX6ZA6Xx!up+N%q9-P+zSF23u(Oom z)rFfIM47x;7+QE4CN#3%6JutG$Xm?9V5O)a$#B7!bqW(h$micO3@bjd%wcfQ=-*!= zx2=BFet*krGGCu1_uuha*&g?NO5j|sifwQA1qW!hHpJ|kug%cVE@ULD!LY!|%7vucWYmr`33wQ*kh%r8JXgJMXd|bbmVabz^yA|%q*yP04 zU*~Y>tNOgs{hH%#JUl#i`@JgfNN$Cx zd=6=Id$&mhJW6ty!K|>D@zf$lErx$$3<7Jo<_COwtAzPiGAV$J4@)0q8Y z_-42>)YlXx03ht&f|z{?|YFA;{9Rh|l4-*XJNr##NsfikKO+R9s|#Z_B+s<(k?ZeJtKSeTB0^Fw>TmtP`Br4?M5`b<^YTEf2=S^}O?3Kio|f zY>=>GP`xK_!@i*QX#L49#+N3HISdZz?@jbKGcpAChy0Sh!2DtrmzS{KZms4|7x%A} zDd@>6UubhH#^zhZRfgpG_3x^lF8%v&XT`13aOM)hMO`ylUR3|h>H2#^g!z)FbJs%V z3BUg*E@r;4?-etHU41aa`>N}^tDbQ)ys!&lXn4*T5c%-!?d`?x_Zv$?(kd1ROweY~ zSQu9uYg0B~ra@@a&)`=)Q~v$Fe)6*4+T;U_8oc$leH>dk7?19#vtVtwvM2pp&dMIU z1u1V!Wb>A5wTVQtD}4X&yp;LEzEcbg!fHMmoD5%F8qMl;S-}n`Iq^!3@-IA zEB>g>3V2oZ)w1%9o?wHOdz)nmo7exp#viv#ekD;LcA$}&T}xpB(*ipNg(<7je*K>@ z>5Iaid@m*wO~zvv7*G8Dzu_ulM*PpXB|-6l34;DP&7(bu=8Ffd4PE1WZN(2}cPQ}tly+N+Ei zy4(30-iw5I&E=Dxw||}NWQNfBnJf)zjP-q!_!@W_K8PO7WNf(oRg;myK$aozYJJA_ zqvG5Kl5hRF7?Kv;kGOiktGa(Fvq6s)r|_vd^L*I?{X zXn0xAxPs9^qkpdmgG1%v5?fi%2UT8%lQJi^zhK~*?dP=Sx3c(oD^vbGOE?^Q?z=BH z7MS(q`6}iE$_$nz3`zg%b0;xel>GbgqpEGN<&KTp<^`%>e_5jS`0tCVtDEwovsNX~ z{B<tor@`$CZ^#J@wbv8*&45Jh&N>QVs`61?w>! z@b3P!X>mxH==SCO64N;jXuMQ8vd6yYrNELWjmLX9S~voiUUHn^%h+<^PfkX|2__9k z_62?a^_MfAl9|lHz++J_$}qvwOO}D7@QErjgD6Kp>~kT;1G(-${?@uSf?GQkKjUv) zlVUisqp{e%o*^SMP}E_*=lB+nQDSMy8A-1*m6%)e><^@4a zYl7JqoI4bw!J<;^wf>IP$rpc)Zwq8%kao|yZTBohtC*GH20!nuANw+9zyJ86v?)7@ ziLoFzRbc@OL%~5-@h^-FQEW5n!?r3iL~PHyD<~jf_37frhI)5J_JkXyLP2-sOFym& z{(Qi>KmXFg4JR2r4n8*jx;~q$;TqG4h0GIv{a<~{-i;yU+);n`p%%Mh#!T9Lc*|NdQnlldAFzv%NU z{?Ev8Kz7Ypj{D|k-g7aOC|BHn$tb63$jA^XazKn>&$f>$`kPr9uAE#Pyxf6d+RDw# zZ=YDj)HP%A{KO@Uvy>PNOE`*J|0Ubr3HtcP`MmvBKPRsXX~K*KcjMJ$d+R6sQ=4ZW z`z?35lgBO@kkzHFze{x(LOpJoZduEr(N+<0y$F7vcs*?&M)Aqex+vkwI%}UCGNscYxZPJVd+QLp!WwHz` z3~T}kqPM15LYg{vx1VKWI8lF~LziL0OszoQogyp@8+Q2fvjnLBpUf$&^>_ip_UEmQ zE*aNWXR-vd_uF0lxmZc5^ud?njOth`Cg1n>OXjlN|9!sgs?nME5q~)L+5f9I;6LEX zzMylzy&vO>XG>ET=JG+CInY*4o!+wd8q5r5etI)9oZYUW%XFY#_)mhYRlSLn>Vut( zM_m}acuyBHC}__Rxs^A0>7VP*?@yl69$#L6{d4{-P}=lAnzgVbv|v(%ipTP1$DLmi zB4RqEz8&B9#X_cGMTuF+^Tn4QKWJe4oy@56gXgvaN5NIb6Kf|6cC&Sy^O(e9!N8QF z9Brkw%*kPsPR%}@+wA=HPmgCzo;&%Sjql$X4HIAe;yLsG^t#P_3|CTWEg3{O7EFH5 z;4ta0{S4*_vyQ)UPCj+?@UyQsGGke$HuGneUlsH?d)WW3ed^V%LM1{;_v^K)v@Kjp z<~-22nE6VHE#x&57k8q3-i_(6Q!kv~)zR{%CgeWzclSn?xBSmL6&O}FEVQa;*jZ|n z^IMsBf|VgJ!-S@W2!;bsT1pcdw;yF-FuOg2p}~v8qpa80$)S{q;S`fYx}W=xD?d+f zlT2V-^33pf$R+QyAQy%5$sC@z@a;M)rj?aHR{owIXS2d@-u|09EqP6_o1o8fQm4x~Vw*y8^ypg5{L>Ls7`nBmEIL_g4c}atF zN^@#$?ziQyjx#!RhdS%$clPTrB`CAb306P6-F_-lUN_@Y zeYSd&ygNHi6)`ecm}#;tDfzanl-a9cW#t()so+ypZxn4xq!=CC{ieU{=J@+!F`^*3F8G<_6DXmGFFm}e}8u|ZhhMDc^b3bvl+=+)~{A9 zwzA~ut9>>z{afgN=i`3de+$z4O&NaN*&k|pK*A=iURrVT6`L~Q^O0L+OCQ`>;ru<< z{3XYYS3FZ@UAXe)LVZ?15);E>x1X0^7ASBOTx8tPyJ6|2lN@jIL-}^pUj1zK>&4=O zKhv2R3f?^Kx8L`Ck9qE`E5*My@O=JNa!;P;+Q+wZPBTtF##CTgmnB#K?pv69!jG*C zZ8v>v>Y}(Aa;KEkGej{2oLl|+&t@hDgGJ02(%0P4*B3uy%5v{tl3@u$%~GG>R}5DU zK0bdpZhD{7t2ICF*u1@C#o>E@zkj{7W?~etfbTT$tip@0xr`3n3~USxdqVtT(>86} z7Y^P42ik77g<%0J!`s!83=R83&c(m_aP#$l=H9o#rGG@0^I9=5Ffe$!`njxgN@xNA DtRTT{ diff --git a/core/src/io/anuke/mindustry/core/Control.java b/core/src/io/anuke/mindustry/core/Control.java index 63dc8719f6..c9eaab991a 100644 --- a/core/src/io/anuke/mindustry/core/Control.java +++ b/core/src/io/anuke/mindustry/core/Control.java @@ -159,6 +159,14 @@ public class Control extends Module{ //multiplying by 2 so you start with more time in the beginning wavetime = waveSpacing()*2; + if(mode == GameMode.sandbox){ + for(Item type : Item.values()){ + items.put(type, 999999999); + } + } + + ui.updateItems(); + GameState.set(State.playing); } @@ -236,7 +244,7 @@ public class Control extends Module{ int index = i; float range = 12f; - Timers.run(index*50f, ()->{ + Timers.run(index*5f, ()->{ try{ Enemy enemy = ClassReflection.newInstance(spawn.type); enemy.set(tile.worldx() + Mathf.range(range), tile.worldy() + Mathf.range(range)); diff --git a/core/src/io/anuke/mindustry/core/Renderer.java b/core/src/io/anuke/mindustry/core/Renderer.java index 37ce907625..e1b5203697 100644 --- a/core/src/io/anuke/mindustry/core/Renderer.java +++ b/core/src/io/anuke/mindustry/core/Renderer.java @@ -409,7 +409,8 @@ public class Renderer extends RendererModule{ Draw.thickness(2f); Draw.linecrect(x + offset.x, y + offset.y, tilesize * player.recipe.result.width + si, tilesize * player.recipe.result.height + si); - player.recipe.result.drawPlace(tilex, tiley, valid); + player.recipe.result.drawPlace(tilex, tiley, player.rotation, valid); + Draw.thickness(2f); if(player.recipe.result.rotate){ Draw.color("orange"); @@ -420,7 +421,7 @@ public class Renderer extends RendererModule{ Draw.thickness(1f); Draw.color("scarlet"); for(SpawnPoint spawn : control.getSpawnPoints()){ - Draw.dashcircle(spawn.start.worldx(), spawn.start.worldy(), enemyspawnspace); + Draw.dashCircle(spawn.start.worldx(), spawn.start.worldy(), enemyspawnspace); } if(valid) diff --git a/core/src/io/anuke/mindustry/core/UI.java b/core/src/io/anuke/mindustry/core/UI.java index a4c95044a7..cfe5ab9774 100644 --- a/core/src/io/anuke/mindustry/core/UI.java +++ b/core/src/io/anuke/mindustry/core/UI.java @@ -379,6 +379,10 @@ public class UI extends SceneModule{ about.show(); } + public boolean onDialog(){ + return scene.getKeyboardFocus() instanceof Dialog; + } + public void showUpgrades(){ upgrades.show(); } diff --git a/core/src/io/anuke/mindustry/entities/BulletType.java b/core/src/io/anuke/mindustry/entities/BulletType.java index 23818dfb76..698b8f35d2 100644 --- a/core/src/io/anuke/mindustry/entities/BulletType.java +++ b/core/src/io/anuke/mindustry/entities/BulletType.java @@ -132,10 +132,10 @@ public abstract class BulletType extends BaseBulletType{ DamageArea.damage(!(b.owner instanceof Enemy), b.x, b.y, 25f, (int)(damage * 2f/3f)); } }, - titanshell = new BulletType(1.8f, 60){ + titanshell = new BulletType(1.8f, 40){ { lifetime = 70f; - hitsize = 11f; + hitsize = 15f; } public void draw(Bullet b){ diff --git a/core/src/io/anuke/mindustry/entities/EnemySpawn.java b/core/src/io/anuke/mindustry/entities/EnemySpawn.java index 27805bc200..6ecabd473f 100644 --- a/core/src/io/anuke/mindustry/entities/EnemySpawn.java +++ b/core/src/io/anuke/mindustry/entities/EnemySpawn.java @@ -13,9 +13,11 @@ public class EnemySpawn{ /**The spacing, in waves, of spawns. 2 = spawns every other wave*/ protected int spacing = 1; /**How many waves need to pass after the start of this spawn for the tier to increase by one*/ - protected int tierscale = 15; + protected int tierscale = 14; /**How many less enemies there are, every time the tier increases*/ protected int tierscaleback = 1; + /**The tier this spawn starts at.*/ + protected int tier = 1; /**Maximum amount of enemies that spawn*/ protected int max = 17; /**How many waves need to pass before the amount of enemies increases by 1*/ @@ -35,6 +37,6 @@ public class EnemySpawn{ } public int tier(int wave, int lane){ - return Mathf.clamp(1 + (wave-after)/tierscale, 1, Enemy.maxtier); + return Mathf.clamp(tier + (wave-after)/tierscale, 1, Enemy.maxtier); } } diff --git a/core/src/io/anuke/mindustry/entities/Player.java b/core/src/io/anuke/mindustry/entities/Player.java index 4d051f6d63..1ecbfa51b1 100644 --- a/core/src/io/anuke/mindustry/entities/Player.java +++ b/core/src/io/anuke/mindustry/entities/Player.java @@ -10,6 +10,7 @@ import com.badlogic.gdx.math.Vector2; import io.anuke.mindustry.Vars; import io.anuke.mindustry.entities.effect.Fx; import io.anuke.mindustry.input.Input; +import io.anuke.mindustry.resource.Mech; import io.anuke.mindustry.resource.Recipe; import io.anuke.mindustry.resource.Weapon; import io.anuke.ucore.core.*; @@ -18,6 +19,7 @@ import io.anuke.ucore.util.Angles; public class Player extends DestructibleEntity{ public Weapon weapon; + public Mech mech = Mech.standard; public float breaktime = 0; public Recipe recipe; @@ -50,9 +52,9 @@ public class Player extends DestructibleEntity{ @Override public void draw(){ if(Vars.snapCamera && Settings.getBool("smoothcam") && Settings.getBool("pixelate")){ - Draw.rect("player", (int)x, (int)y, direction.angle()-90); + Draw.rect("mech-"+mech.name(), (int)x, (int)y, direction.angle()-90); }else{ - Draw.rect("player", x, y, direction.angle()-90); + Draw.rect("mech-"+mech.name(), x, y, direction.angle()-90); } } diff --git a/core/src/io/anuke/mindustry/entities/TileEntity.java b/core/src/io/anuke/mindustry/entities/TileEntity.java index c78833f629..2e730f7cae 100644 --- a/core/src/io/anuke/mindustry/entities/TileEntity.java +++ b/core/src/io/anuke/mindustry/entities/TileEntity.java @@ -79,7 +79,7 @@ public class TileEntity extends Entity{ } public boolean collide(Bullet other){ - return other.owner instanceof Enemy; + return other.owner instanceof Enemy; //TODO } @Override diff --git a/core/src/io/anuke/mindustry/entities/WaveCreator.java b/core/src/io/anuke/mindustry/entities/WaveCreator.java index bdc7a1fc6b..9833ccaf9b 100644 --- a/core/src/io/anuke/mindustry/entities/WaveCreator.java +++ b/core/src/io/anuke/mindustry/entities/WaveCreator.java @@ -53,11 +53,18 @@ public class WaveCreator{ amount = 1; }}, + new EnemySpawn(Enemy.class){{ + scaling = 3; + after = 8; + spacing = 4; + tier = 2; + }}, + new EnemySpawn(TitanEnemy.class){{ after = 6; amount = 2; spacing = 5; - scaling = 3; + scaling = 2; }}, new EnemySpawn(FlamerEnemy.class){{ @@ -67,6 +74,13 @@ public class WaveCreator{ scaling = 2; }}, + new EnemySpawn(EmpEnemy.class){{ + after = 15; + amount = 1; + spacing = 5; + scaling = 1; + }}, + new EnemySpawn(BlastEnemy.class){{ after = 4 + 5 + 5; amount = 3; diff --git a/core/src/io/anuke/mindustry/entities/enemies/BlastEnemy.java b/core/src/io/anuke/mindustry/entities/enemies/BlastEnemy.java index 8b174a5b68..3ef4bf68c2 100644 --- a/core/src/io/anuke/mindustry/entities/enemies/BlastEnemy.java +++ b/core/src/io/anuke/mindustry/entities/enemies/BlastEnemy.java @@ -27,10 +27,20 @@ public class BlastEnemy extends Enemy{ } if(target != null && target.distanceTo(this) < range){ - Bullet b = new Bullet(BulletType.blast, this, x, y, 0).add(); - b.damage = BulletType.blast.damage + (tier-1) * 40; - damage(999); + explode(); } } + + @Override + public void onDeath(){ + super.onDeath(); + explode(); + } + + void explode(){ + Bullet b = new Bullet(BulletType.blast, this, x, y, 0).add(); + b.damage = BulletType.blast.damage + (tier-1) * 40; + damage(999); + } } diff --git a/core/src/io/anuke/mindustry/entities/enemies/EmpEnemy.java b/core/src/io/anuke/mindustry/entities/enemies/EmpEnemy.java index 5215719e37..fc5c3abf03 100644 --- a/core/src/io/anuke/mindustry/entities/enemies/EmpEnemy.java +++ b/core/src/io/anuke/mindustry/entities/enemies/EmpEnemy.java @@ -6,8 +6,8 @@ public class EmpEnemy extends Enemy{ public EmpEnemy() { - speed = 0.27f; - reload = 70; + speed = 0.3f; + reload = 60; maxhealth = 210; range = 80f; bullet = BulletType.emp; diff --git a/core/src/io/anuke/mindustry/entities/enemies/Enemy.java b/core/src/io/anuke/mindustry/entities/enemies/Enemy.java index 88d4660797..50ac0286b1 100644 --- a/core/src/io/anuke/mindustry/entities/enemies/Enemy.java +++ b/core/src/io/anuke/mindustry/entities/enemies/Enemy.java @@ -175,7 +175,7 @@ public class Enemy extends DestructibleEntity{ } maxhealth *= tier; - speed += 0.04f * tier + Mathf.range(0.1f); + speed += 0.04f * tier /*+ Mathf.range(0.1f)*/; reload /= Math.max(tier / 1.5f, 1f); range += tier * 5; speed = Math.max(speed, 0.07f); diff --git a/core/src/io/anuke/mindustry/entities/enemies/FortressEnemy.java b/core/src/io/anuke/mindustry/entities/enemies/FortressEnemy.java index a925814e1c..e87a602ade 100644 --- a/core/src/io/anuke/mindustry/entities/enemies/FortressEnemy.java +++ b/core/src/io/anuke/mindustry/entities/enemies/FortressEnemy.java @@ -15,9 +15,9 @@ public class FortressEnemy extends Enemy{ public FortressEnemy() { - speed = 0.2f; + speed = 0.25f; reload = 90; - maxhealth = 700; + maxhealth = 800; range = 70f; bullet = BulletType.yellowshell; hitbox.setSize(10f); diff --git a/core/src/io/anuke/mindustry/entities/enemies/HealerEnemy.java b/core/src/io/anuke/mindustry/entities/enemies/HealerEnemy.java index 886662d797..96ae2578bb 100644 --- a/core/src/io/anuke/mindustry/entities/enemies/HealerEnemy.java +++ b/core/src/io/anuke/mindustry/entities/enemies/HealerEnemy.java @@ -15,9 +15,9 @@ public class HealerEnemy extends Enemy{ public HealerEnemy() { - speed = 0.2f; - reload = 14; - maxhealth = 130; + speed = 0.25f; + reload = 10; + maxhealth = 200; range = 90f; bullet = BulletType.shot; range = 30f; diff --git a/core/src/io/anuke/mindustry/entities/enemies/TitanEnemy.java b/core/src/io/anuke/mindustry/entities/enemies/TitanEnemy.java index d7c78920d5..8b6d6cbfab 100644 --- a/core/src/io/anuke/mindustry/entities/enemies/TitanEnemy.java +++ b/core/src/io/anuke/mindustry/entities/enemies/TitanEnemy.java @@ -9,9 +9,9 @@ public class TitanEnemy extends Enemy{ public TitanEnemy() { - speed = 0.22f; + speed = 0.26f; reload = 30; - maxhealth = 421; + maxhealth = 430; range = 60f; bullet = BulletType.small; hitbox.setSize(7f); diff --git a/core/src/io/anuke/mindustry/input/Input.java b/core/src/io/anuke/mindustry/input/Input.java index 7dc2c67d96..0479e879bb 100644 --- a/core/src/io/anuke/mindustry/input/Input.java +++ b/core/src/io/anuke/mindustry/input/Input.java @@ -25,7 +25,7 @@ public class Input{ //player is dead if(player.health <= 0) return; - if(Inputs.scrolled() && GameState.is(State.playing)){ + if(Inputs.scrolled() && !GameState.is(State.menu) && !Vars.ui.onDialog()){ Vars.renderer.scaleCamera(Inputs.scroll()); } diff --git a/core/src/io/anuke/mindustry/resource/Mech.java b/core/src/io/anuke/mindustry/resource/Mech.java index 944bf8d5d4..7080cb7ec4 100644 --- a/core/src/io/anuke/mindustry/resource/Mech.java +++ b/core/src/io/anuke/mindustry/resource/Mech.java @@ -1,16 +1,15 @@ package io.anuke.mindustry.resource; public enum Mech{ - normal("default"), - scout("scout"){{ + standard, + scout{{ }}; - public final String name; public float speedBoost = 1f, damageBoost = 1f; public int regenRate = 10; public int health = 20; - private Mech(String name){ - this.name = name; + private Mech(){ + } } diff --git a/core/src/io/anuke/mindustry/resource/Recipe.java b/core/src/io/anuke/mindustry/resource/Recipe.java index 06c6295380..d1307dcc3a 100644 --- a/core/src/io/anuke/mindustry/resource/Recipe.java +++ b/core/src/io/anuke/mindustry/resource/Recipe.java @@ -43,8 +43,8 @@ public enum Recipe{ mortarturret(weapon, WeaponBlocks.mortarturret, stack(Item.steel, 20), stack(Item.titanium, 15)), teslaturret(weapon, WeaponBlocks.teslaturret, stack(Item.steel, 10), stack(Item.titanium, 15), stack(Item.dirium, 15)), plasmaturret(weapon, WeaponBlocks.plasmaturret, stack(Item.steel, 10), stack(Item.titanium, 10), stack(Item.dirium, 15)), - chainturret(weapon, WeaponBlocks.chainturret, stack(Item.steel, 35), stack(Item.titanium, 25), stack(Item.dirium, 35)), - titanturret(weapon, WeaponBlocks.titanturret, stack(Item.steel, 50), stack(Item.titanium, 45), stack(Item.dirium, 55)), + chainturret(weapon, WeaponBlocks.chainturret, stack(Item.steel, 50), stack(Item.titanium, 25), stack(Item.dirium, 35)), + titanturret(weapon, WeaponBlocks.titanturret, stack(Item.steel, 70), stack(Item.titanium, 50), stack(Item.dirium, 55)), smelter(crafting, ProductionBlocks.smelter, stack(Item.stone, 40), stack(Item.iron, 40)), crucible(crafting, ProductionBlocks.crucible, stack(Item.titanium, 40), stack(Item.steel, 40)), diff --git a/core/src/io/anuke/mindustry/ui/LoadDialog.java b/core/src/io/anuke/mindustry/ui/LoadDialog.java index 5baf7f27d9..a094b7d3dc 100644 --- a/core/src/io/anuke/mindustry/ui/LoadDialog.java +++ b/core/src/io/anuke/mindustry/ui/LoadDialog.java @@ -1,8 +1,6 @@ package io.anuke.mindustry.ui; import com.badlogic.gdx.utils.Align; -import com.badlogic.gdx.utils.Timer; -import com.badlogic.gdx.utils.Timer.Task; import io.anuke.mindustry.Vars; import io.anuke.mindustry.core.GameState; @@ -19,19 +17,18 @@ import io.anuke.ucore.scene.ui.layout.Unit; //TODO unified save/load dialogs public class LoadDialog extends FloatingDialog{ ScrollPane pane; - - public LoadDialog(){ + + public LoadDialog() { this("Load Game"); } - + public LoadDialog(String title) { super(title); setup(); - shown(() -> { setup(); - Timers.runTask(2f, ()-> Core.scene.setScrollFocus(pane)); + Timers.runTask(2f, () -> Core.scene.setScrollFocus(pane)); }); addCloseButton(); @@ -42,11 +39,11 @@ public class LoadDialog extends FloatingDialog{ content().add("Select a save slot.").padBottom(2); content().row(); - + Table slots = new Table(); pane = new ScrollPane(slots); pane.setFadeScrollBars(false); - + slots.padRight(Unit.dp.inPixels(24)); for(int i = 0; i < Vars.saveSlots; i++){ @@ -55,14 +52,12 @@ public class LoadDialog extends FloatingDialog{ TextButton button = new TextButton("[accent]Slot " + (i + 1)); button.pad(Unit.dp.inPixels(12)); button.getLabelCell().top().left().growX(); - + button.row(); - - Label info = new Label("[gray]" + (!SaveIO.isSaveValid(i) ? "" : SaveIO.getMode(slot) + ", " + - SaveIO.getMap(slot) + - ", Wave " + SaveIO.getWave(slot) + "\nLast Saved: " + SaveIO.getTimeString(i))); + + Label info = new Label("[gray]" + (!SaveIO.isSaveValid(i) ? "" : SaveIO.getMode(slot) + ", " + SaveIO.getMap(slot) + ", Wave " + SaveIO.getWave(slot) + "\nLast Saved: " + SaveIO.getTimeString(i))); info.setAlignment(Align.center, Align.center); - + button.add(info).padBottom(3).padTop(7); button.row(); //button.addImage("white", Color.GRAY) @@ -73,37 +68,33 @@ public class LoadDialog extends FloatingDialog{ slots.add(button).size(404, 104).pad(4).units(Unit.dp); slots.row(); } - + content().add(pane); } - + public void modifyButton(TextButton button, int slot){ button.setDisabled(!SaveIO.isSaveValid(slot)); button.clicked(() -> { if(!button.isDisabled()){ Vars.ui.showLoading(); - Timer.schedule(new Task(){ - @Override - public void run(){ - Vars.ui.hideLoading(); - hide(); - try{ - SaveIO.loadFromSlot(slot); - GameState.set(State.playing); - Vars.ui.hideMenu(); - }catch(Exception e){ - e.printStackTrace(); - Vars.ui.hideMenu(); - GameState.set(State.menu); - Vars.control.reset(); - Vars.ui.showError("[orange]Save file corrupted or invalid!"); - return; - } - + Timers.runTask(3f, () -> { + Vars.ui.hideLoading(); + hide(); + try{ + SaveIO.loadFromSlot(slot); + GameState.set(State.playing); + Vars.ui.hideMenu(); + }catch(Exception e){ + e.printStackTrace(); + Vars.ui.hideMenu(); + GameState.set(State.menu); + Vars.control.reset(); + Vars.ui.showError("[orange]Save file corrupted or invalid!"); + return; } - }, 3f/60f); + }); } }); } diff --git a/core/src/io/anuke/mindustry/ui/SaveDialog.java b/core/src/io/anuke/mindustry/ui/SaveDialog.java index 733fdf5f7a..64140e40ed 100644 --- a/core/src/io/anuke/mindustry/ui/SaveDialog.java +++ b/core/src/io/anuke/mindustry/ui/SaveDialog.java @@ -1,11 +1,10 @@ package io.anuke.mindustry.ui; -import com.badlogic.gdx.utils.Timer; -import com.badlogic.gdx.utils.Timer.Task; import com.badlogic.gdx.utils.reflect.ClassReflection; import io.anuke.mindustry.Vars; import io.anuke.mindustry.io.SaveIO; +import io.anuke.ucore.core.Timers; import io.anuke.ucore.scene.ui.ConfirmDialog; import io.anuke.ucore.scene.ui.TextButton; import io.anuke.ucore.scene.ui.layout.Cell; @@ -13,48 +12,44 @@ import io.anuke.ucore.scene.ui.layout.Unit; //TODO unified save/load dialogs public class SaveDialog extends LoadDialog{ - - public SaveDialog(){ + + public SaveDialog() { super("Save Game"); } - + @Override public void modifyButton(TextButton button, int slot){ - button.clicked(()->{ + button.clicked(() -> { if(SaveIO.isSaveValid(slot)){ - new ConfirmDialog("Overwrite", "Are you sure you want to overwrite\nthis save slot?", ()->{ + new ConfirmDialog("Overwrite", "Are you sure you want to overwrite\nthis save slot?", () -> { save(slot); - }){{ - content().pad(16); - for(Cell cell : getButtonTable().getCells()) - cell.size(110, 45).pad(4).units(Unit.dp); - }}.show(); + }){ + { + content().pad(16); + for(Cell cell : getButtonTable().getCells()) + cell.size(110, 45).pad(4).units(Unit.dp); + } + }.show(); }else{ save(slot); } }); } - + void save(int slot){ Vars.ui.showLoading("[orange]Saving..."); - - Timer.schedule(new Task(){ - @Override - public void run(){ - hide(); - Vars.ui.hideLoading(); - try{ - SaveIO.saveToSlot(slot); - }catch (Throwable e){ - e = (e.getCause() == null ? e : e.getCause()); - - Vars.ui.showError("[orange]Failed to save game!\n[white]" + - ClassReflection.getSimpleName(e.getClass()) + ": " + e.getMessage() + "\n" + - "at " + e.getStackTrace()[0].getFileName() + ":"+ e.getStackTrace()[0].getLineNumber()); - } - + + Timers.runTask(5f, () -> { + hide(); + Vars.ui.hideLoading(); + try{ + SaveIO.saveToSlot(slot); + }catch(Throwable e){ + e = (e.getCause() == null ? e : e.getCause()); + + Vars.ui.showError("[orange]Failed to save game!\n[white]" + ClassReflection.getSimpleName(e.getClass()) + ": " + e.getMessage() + "\n" + "at " + e.getStackTrace()[0].getFileName() + ":" + e.getStackTrace()[0].getLineNumber()); } - }, 5f/60f); + }); } } diff --git a/core/src/io/anuke/mindustry/ui/fragments/BlocksFragment.java b/core/src/io/anuke/mindustry/ui/fragments/BlocksFragment.java index e77c6ef22a..053ac5bc2f 100644 --- a/core/src/io/anuke/mindustry/ui/fragments/BlocksFragment.java +++ b/core/src/io/anuke/mindustry/ui/fragments/BlocksFragment.java @@ -101,7 +101,7 @@ public class BlocksFragment implements Fragment{ image.update(()->{ boolean canPlace = !control.getTutorial().active() || control.getTutorial().canPlace(); - boolean has = control.hasItems(r.requirements) && canPlace; + boolean has = (control.hasItems(r.requirements)) && canPlace; //image.setDisabled(!has); image.setChecked(player.recipe == r); image.setTouchable(canPlace ? Touchable.enabled : Touchable.disabled); diff --git a/core/src/io/anuke/mindustry/ui/fragments/HudFragment.java b/core/src/io/anuke/mindustry/ui/fragments/HudFragment.java index 10c1a67fd4..34cf66d8f5 100644 --- a/core/src/io/anuke/mindustry/ui/fragments/HudFragment.java +++ b/core/src/io/anuke/mindustry/ui/fragments/HudFragment.java @@ -24,12 +24,14 @@ import io.anuke.ucore.scene.builders.label; import io.anuke.ucore.scene.builders.table; import io.anuke.ucore.scene.ui.Image; import io.anuke.ucore.scene.ui.Label; +import io.anuke.ucore.scene.ui.layout.Cell; import io.anuke.ucore.scene.ui.layout.Table; import io.anuke.ucore.scene.ui.layout.Unit; import io.anuke.ucore.util.Profiler; public class HudFragment implements Fragment{ private Table itemtable, respawntable; + private Cell itemcell; private Array tempItems = new Array<>(); public void build(){ @@ -63,6 +65,8 @@ public class HudFragment implements Fragment{ row(); itemtable = new table("button").end().top().left().fillX().size(-1).get(); + itemtable.setVisible(()-> control.getMode() != GameMode.sandbox); + itemcell = get().getCell(itemtable); get().setVisible(()->!GameState.is(State.menu)); @@ -167,6 +171,10 @@ public class HudFragment implements Fragment{ itemtable.clear(); itemtable.left(); + if(control.getMode() == GameMode.sandbox){ + return; + } + tempItems.clear(); for(Item item : control.getItems().keys()){ tempItems.add(item); @@ -174,8 +182,13 @@ public class HudFragment implements Fragment{ tempItems.sort(); for(Item stack : tempItems){ + int amount = control.getAmount(stack); + String formatted = Mindustry.formatter.format(amount); + if(amount > 99999999){ + formatted = "inf"; + } Image image = new Image(Draw.region("icon-" + stack.name())); - Label label = new Label("" + Mindustry.formatter.format(control.getAmount(stack))); + Label label = new Label(formatted); label.setFontScale(fontscale*1.5f); itemtable.add(image).size(8*3).units(Unit.dp); itemtable.add(label).left(); diff --git a/core/src/io/anuke/mindustry/world/Block.java b/core/src/io/anuke/mindustry/world/Block.java index eb4e2e8d0d..f4b9dd24fb 100644 --- a/core/src/io/anuke/mindustry/world/Block.java +++ b/core/src/io/anuke/mindustry/world/Block.java @@ -79,7 +79,7 @@ public class Block{ public void drawOver(Tile tile){} public void drawPixelOverlay(Tile tile){} - public void drawPlace(int x, int y, boolean valid){} + public void drawPlace(int x, int y, int rotation, boolean valid){} public void postInit(){} public void getStats(Array list){ diff --git a/core/src/io/anuke/mindustry/world/Generator.java b/core/src/io/anuke/mindustry/world/Generator.java index b6109f5243..6368a8e597 100644 --- a/core/src/io/anuke/mindustry/world/Generator.java +++ b/core/src/io/anuke/mindustry/world/Generator.java @@ -78,7 +78,7 @@ public class Generator{ if(floor == Blocks.stone || floor == Blocks.grass || floor == Blocks.blackstone || floor == Blocks.snow || floor == Blocks.sand){ - if(Noise.nnoise(x, y, 8, 1) > 0.2){ + if(Noise.nnoise(x, y, 8, 1) > 0.21){ floor = Blocks.iron; } @@ -86,7 +86,7 @@ public class Generator{ floor = Blocks.coal; } - if(Noise.nnoise(x + 9999, y + 9999, 8, 1) > 0.264){ + if(Noise.nnoise(x + 9999, y + 9999, 8, 1) > 0.27){ floor = Blocks.titanium; } diff --git a/core/src/io/anuke/mindustry/world/Tile.java b/core/src/io/anuke/mindustry/world/Tile.java index a520001be9..8023812382 100644 --- a/core/src/io/anuke/mindustry/world/Tile.java +++ b/core/src/io/anuke/mindustry/world/Tile.java @@ -207,8 +207,8 @@ public class Tile{ } public void changed(){ - if(entity != null && entity.added){ - entity.remove(); + if(entity != null){ + if(entity.added) entity.remove(); entity = null; } diff --git a/core/src/io/anuke/mindustry/world/World.java b/core/src/io/anuke/mindustry/world/World.java index f43180d32b..35c96e8692 100644 --- a/core/src/io/anuke/mindustry/world/World.java +++ b/core/src/io/anuke/mindustry/world/World.java @@ -326,7 +326,7 @@ public class World extends Module{ if(tile == null) return; - Block block = tile.block(); + Block block = tile.isLinked() ? tile.getLinked().block() : tile.block(); Recipe result = null; for(Recipe recipe : Recipe.values()){ @@ -420,7 +420,7 @@ public class World extends Module{ other = other.getLinked(); } - if(other == null || other.entity == null ||(tile != null && other.entity == tile.entity)) continue; + if(other == null || other.entity == null || (tile != null && other.entity == tile.entity)) continue; TileEntity e = other.entity; diff --git a/core/src/io/anuke/mindustry/world/blocks/DefenseBlocks.java b/core/src/io/anuke/mindustry/world/blocks/DefenseBlocks.java index 0ba7330681..c764d7c2c8 100644 --- a/core/src/io/anuke/mindustry/world/blocks/DefenseBlocks.java +++ b/core/src/io/anuke/mindustry/world/blocks/DefenseBlocks.java @@ -72,7 +72,7 @@ public class DefenseBlocks{ + "Uses small amounts of power."; formalName = "repair turret"; range = 30; - reload = 40f; + reload = 60f; health = 60; } }, @@ -83,7 +83,8 @@ public class DefenseBlocks{ + "Uses power."; formalName = "repair turret II"; range = 44; - reload = 20f; + reload = 30f; + powerUsed = 0.15f; health = 90; } }, diff --git a/core/src/io/anuke/mindustry/world/blocks/ProductionBlocks.java b/core/src/io/anuke/mindustry/world/blocks/ProductionBlocks.java index bfb64aff8f..1d120eb1eb 100644 --- a/core/src/io/anuke/mindustry/world/blocks/ProductionBlocks.java +++ b/core/src/io/anuke/mindustry/world/blocks/ProductionBlocks.java @@ -227,8 +227,8 @@ public class ProductionBlocks{ formalName = "thermal generator"; //TODO generateLiquid = Liquid.lava; - inputLiquid = 20f; - generatePower = 1f; + inputLiquid = 25f; + generatePower = 0.5f; powerCapacity = 40f; description = "Generates power from lava."; fullDescription = "Generates power from lava. Outputs power as lasers to its 4 sides."; diff --git a/core/src/io/anuke/mindustry/world/blocks/WeaponBlocks.java b/core/src/io/anuke/mindustry/world/blocks/WeaponBlocks.java index 3e315e9c0e..fdba3d7e5d 100644 --- a/core/src/io/anuke/mindustry/world/blocks/WeaponBlocks.java +++ b/core/src/io/anuke/mindustry/world/blocks/WeaponBlocks.java @@ -182,7 +182,7 @@ public class WeaponBlocks{ inaccuracy = 8f; formalName = "chain turret"; range = 80f; - reload = 7f; + reload = 8f; bullet = BulletType.chain; ammo = Item.uranium; health = 430; @@ -219,7 +219,7 @@ public class WeaponBlocks{ { formalName = "titan cannon"; range = 120f; - reload = 20f; + reload = 23f; bullet = BulletType.titanshell; ammo = Item.uranium; health = 800; diff --git a/core/src/io/anuke/mindustry/world/blocks/types/defense/PowerTurret.java b/core/src/io/anuke/mindustry/world/blocks/types/defense/PowerTurret.java index ec105ee656..c78702388b 100644 --- a/core/src/io/anuke/mindustry/world/blocks/types/defense/PowerTurret.java +++ b/core/src/io/anuke/mindustry/world/blocks/types/defense/PowerTurret.java @@ -38,7 +38,7 @@ public class PowerTurret extends Turret implements PowerAcceptor{ Vector2 offset = getPlaceOffset(); Draw.color("green"); - Draw.dashcircle(tile.worldx() + offset.x, tile.worldy() + offset.y, range); + Draw.dashCircle(tile.worldx() + offset.x, tile.worldy() + offset.y, range); Draw.reset(); drawPowerBar(tile); diff --git a/core/src/io/anuke/mindustry/world/blocks/types/defense/RepairTurret.java b/core/src/io/anuke/mindustry/world/blocks/types/defense/RepairTurret.java index c7a08a8487..c696738a36 100644 --- a/core/src/io/anuke/mindustry/world/blocks/types/defense/RepairTurret.java +++ b/core/src/io/anuke/mindustry/world/blocks/types/defense/RepairTurret.java @@ -42,6 +42,10 @@ public class RepairTurret extends PowerTurret{ return; } + if(entity.blockTarget != null && entity.blockTarget.dead){ + entity.blockTarget = null; + } + if(Timers.get(entity, "blocktarget", targetInterval)){ entity.blockTarget = Vars.world.findTileTarget(tile.worldx(), tile.worldy(), tile, range, true); } @@ -64,7 +68,7 @@ public class RepairTurret extends PowerTurret{ @Override public void drawPixelOverlay(Tile tile){ Draw.color("green"); - Draw.dashcircle(tile.worldx(), tile.worldy(), range); + Draw.dashCircle(tile.worldx(), tile.worldy(), range); Draw.reset(); drawPowerBar(tile); diff --git a/core/src/io/anuke/mindustry/world/blocks/types/defense/Turret.java b/core/src/io/anuke/mindustry/world/blocks/types/defense/Turret.java index b0cb9402f8..745fd289d3 100644 --- a/core/src/io/anuke/mindustry/world/blocks/types/defense/Turret.java +++ b/core/src/io/anuke/mindustry/world/blocks/types/defense/Turret.java @@ -103,7 +103,7 @@ public class Turret extends Block{ Vector2 offset = getPlaceOffset(); Draw.color("green"); - Draw.dashcircle(tile.worldx() + offset.x, tile.worldy() + offset.y, range); + Draw.dashCircle(tile.worldx() + offset.x, tile.worldy() + offset.y, range); Draw.reset(); TurretEntity entity = tile.entity(); @@ -116,10 +116,10 @@ public class Turret extends Block{ } @Override - public void drawPlace(int x, int y, boolean valid){ + public void drawPlace(int x, int y, int rotation, boolean valid){ Draw.color(Color.PURPLE); Draw.thick(1f); - Draw.dashcircle(x*Vars.tilesize, y*Vars.tilesize, range); + Draw.dashCircle(x*Vars.tilesize, y*Vars.tilesize, range); } @Override diff --git a/core/src/io/anuke/mindustry/world/blocks/types/distribution/PowerBooster.java b/core/src/io/anuke/mindustry/world/blocks/types/distribution/PowerBooster.java index fab0f3f77f..5fb43a82ca 100644 --- a/core/src/io/anuke/mindustry/world/blocks/types/distribution/PowerBooster.java +++ b/core/src/io/anuke/mindustry/world/blocks/types/distribution/PowerBooster.java @@ -25,7 +25,14 @@ public class PowerBooster extends Generator{ super.drawPixelOverlay(tile); Draw.color("yellow"); - Draw.dashcircle(tile.worldx(), tile.worldy(), powerRange * Vars.tilesize); + Draw.dashCircle(tile.worldx(), tile.worldy(), powerRange * Vars.tilesize); + Draw.reset(); + } + + @Override + public void drawPlace(int x, int y, int rotation, boolean valid){ + Draw.color("purple"); + Draw.dashCircle(x * Vars.tilesize, y * Vars.tilesize, laserRange * Vars.tilesize); Draw.reset(); } diff --git a/core/src/io/anuke/mindustry/world/blocks/types/production/Drill.java b/core/src/io/anuke/mindustry/world/blocks/types/production/Drill.java index f9a67be841..05225780bf 100644 --- a/core/src/io/anuke/mindustry/world/blocks/types/production/Drill.java +++ b/core/src/io/anuke/mindustry/world/blocks/types/production/Drill.java @@ -45,7 +45,7 @@ public class Drill extends Block{ @Override public void drawOver(Tile tile){ - if(tile.floor() != resource && !(resource.drops.equals(tile.floor().drops)) && resource != null){ + if(tile.floor() != resource && resource != null && !(resource.drops.equals(tile.floor().drops))){ Draw.colorl(0.85f + Mathf.absin(Timers.time(), 6f, 0.15f)); Draw.rect("cross", tile.worldx(), tile.worldy()); Draw.color(); diff --git a/core/src/io/anuke/mindustry/world/blocks/types/production/Generator.java b/core/src/io/anuke/mindustry/world/blocks/types/production/Generator.java index c8061930f0..ae498ce50c 100644 --- a/core/src/io/anuke/mindustry/world/blocks/types/production/Generator.java +++ b/core/src/io/anuke/mindustry/world/blocks/types/production/Generator.java @@ -18,6 +18,7 @@ import io.anuke.ucore.util.*; public class Generator extends PowerBlock{ public static final int powerTime = 2; + public static boolean drawRangeOverlay = false; public int laserRange = 6; public int laserDirections = 4; @@ -29,21 +30,71 @@ public class Generator extends PowerBlock{ public Generator(String name) { super(name); } - + @Override public void getStats(Array list){ super.getStats(list); - + if(hasLasers){ list.add("[powerinfo]Laser range: " + laserRange + " blocks"); - list.add("[powerinfo]Max power transfer/second: " + Strings.toFixed(powerSpeed*2, 2)); + list.add("[powerinfo]Max power transfer/second: " + Strings.toFixed(powerSpeed * 2, 2)); } - + if(explosive){ list.add("[orange]Highly explosive!"); } } + @Override + public void drawPixelOverlay(Tile tile){ + super.drawPixelOverlay(tile); + + if(drawRangeOverlay){ + int rotation = tile.getRotation(); + if(hasLasers){ + Draw.color("yellow"); + Draw.thick(2f); + + for(int i = 0; i < laserDirections; i++){ + int dir = Mathf.mod(i + rotation - laserDirections / 2, 4); + float lx = Geometry.getD4Points()[dir].x, ly = Geometry.getD4Points()[dir].y; + float dx = lx * laserRange * Vars.tilesize; + float dy = ly * laserRange * Vars.tilesize; + + Draw.dashLine( + tile.worldx() + lx * Vars.tilesize / 2, + tile.worldy() + ly * Vars.tilesize / 2, + tile.worldx() + dx - lx * Vars.tilesize, + tile.worldy() + dy - ly * Vars.tilesize, 9); + } + + Draw.reset(); + } + } + } + + @Override + public void drawPlace(int x, int y, int rotation, boolean valid){ + if(hasLasers){ + Draw.color("purple"); + Draw.thick(2f); + + for(int i = 0; i < laserDirections; i++){ + int dir = Mathf.mod(i + rotation - laserDirections / 2, 4); + float lx = Geometry.getD4Points()[dir].x, ly = Geometry.getD4Points()[dir].y; + float dx = lx * laserRange * Vars.tilesize; + float dy = ly * laserRange * Vars.tilesize; + Draw.dashLine( + x * Vars.tilesize + lx * Vars.tilesize / 2, + y * Vars.tilesize + ly * Vars.tilesize / 2, + x * Vars.tilesize + dx - lx * Vars.tilesize, + y * Vars.tilesize + dy - ly * Vars.tilesize, 9); + } + + Draw.reset(); + } + } + @Override public void onDestroyed(Tile tile){ if(explosive){ @@ -58,7 +109,7 @@ public class Generator extends PowerBlock{ Effects.effect(Fx.shockwave, x, y); Timers.run(12f + Mathf.random(20f), () -> { - tile.damageNearby(4, 40, 0f); + tile.damageNearby(4, 60, 0f); }); Effects.sound(explosionSound, x, y); @@ -68,7 +119,7 @@ public class Generator extends PowerBlock{ super.onDestroyed(tile); } } - + @Override public void drawOver(Tile tile){ PowerEntity entity = tile.entity(); @@ -79,12 +130,12 @@ public class Generator extends PowerBlock{ }else{ Draw.alpha(0.5f); } - drawLaserTo(tile, (tile.getRotation() + i) - laserDirections/2); + drawLaserTo(tile, (tile.getRotation() + i) - laserDirections / 2); } - + Draw.color(); } - + @Override public boolean acceptsPower(Tile tile){ return false; @@ -94,11 +145,12 @@ public class Generator extends PowerBlock{ PowerEntity entity = tile.entity(); for(int i = 0; i < laserDirections; i++){ - int rot = (tile.getRotation() + i) - laserDirections/2; + int rot = (tile.getRotation() + i) - laserDirections / 2; Tile target = laserTarget(tile, rot); - - if(target == null || isInterfering(target, rot)) continue; - + + if(target == null || isInterfering(target, rot)) + continue; + PowerAcceptor p = (PowerAcceptor) target.block(); if(p.acceptsPower(target) && entity.power >= powerSpeed){ float accepted = p.addPower(target, powerSpeed); @@ -114,12 +166,10 @@ public class Generator extends PowerBlock{ if(target != null){ boolean interfering = isInterfering(target, rotation); - - Tmp.v1.set(Angles.translation(rotation * 90, target.block().width * Vars.tilesize/2 + 2f + - (interfering ? - Vector2.dst(tile.worldx(), tile.worldy(), target.worldx(), target.worldy()) / 2f - Vars.tilesize/2f * target.block().width - 1 : 0))); - - Angles.translation(rotation * 90, width * Vars.tilesize/2 + 2f); + + Tmp.v1.set(Angles.translation(rotation * 90, target.block().width * Vars.tilesize / 2 + 2f + (interfering ? Vector2.dst(tile.worldx(), tile.worldy(), target.worldx(), target.worldy()) / 2f - Vars.tilesize / 2f * target.block().width - 1 : 0))); + + Angles.translation(rotation * 90, width * Vars.tilesize / 2 + 2f); if(!interfering){ Draw.tint(Hue.mix(Color.GRAY, Color.WHITE, 0.904f + Mathf.sin(Timers.time(), 1.7f, 0.06f))); @@ -129,21 +179,20 @@ public class Generator extends PowerBlock{ Effects.effect(Fx.laserspark, target.worldx() - Tmp.v1.x, target.worldy() - Tmp.v1.y); } } - + float r = interfering ? 0.8f : 0f; - Draw.laser("laser", "laserend", tile.worldx() + Angles.x(), tile.worldy() + Angles.y(), - target.worldx() - Tmp.v1.x + Mathf.range(r), target.worldy() - Tmp.v1.y + Mathf.range(r), 0.7f + Mathf.sin(Timers.time(), 2f, 0.1f * 0)); + Draw.laser("laser", "laserend", tile.worldx() + Angles.x(), tile.worldy() + Angles.y(), target.worldx() - Tmp.v1.x + Mathf.range(r), target.worldy() - Tmp.v1.y + Mathf.range(r), 0.7f + Mathf.sin(Timers.time(), 2f, 0.1f * 0)); Draw.color(); } } - + protected boolean isInterfering(Tile target, int rotation){ if(target.block() instanceof Generator){ - Generator other = (Generator)target.block(); + Generator other = (Generator) target.block(); int relrot = (rotation + 2) % 4; - if(other.hasLasers && Math.abs(target.getRotation() - relrot) <= other.laserDirections/2){ + if(other.hasLasers && Math.abs(target.getRotation() - relrot) <= other.laserDirections / 2){ return true; } } @@ -160,7 +209,7 @@ public class Generator extends PowerBlock{ for(i = 1; i < laserRange; i++){ Tile other = Vars.world.tile(tile.x + i * point.x, tile.y + i * point.y); - + if(other != null && other.block() instanceof PowerAcceptor){ Tile linked = other.getLinked(); if(linked == null || linked instanceof PowerAcceptor){ diff --git a/desktop/mindustry-saves/2.mins b/desktop/mindustry-saves/2.mins index 94eac02a1470253bdd576aebabc2e301d4696806..651006157e4c7385685e452009000e02da4565d6 100644 GIT binary patch literal 22400 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 It@j{e00JS0761SM delta 5500 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 Z44gIPCQRL4IBW53nAjmWYwJCT7yuo&4mJP) literal 4061 zcmZQzVBlt8U`$}Xd+7xO2ynYhV_z#sG>_V-R11fq{#GL1`OU1RRFi3=EtM3_ROGvY=QNH3zeV7#I|{ zgH<8xGY5-+_3483DM8dAi74y6DeMH>2h$01fhCFvCj)~bsv1rP1|Jq{Cdm-YrovFh_K0B#+i!+4JZEEIU|(}dyu1}L5(rn@mPFfjgN z1i4Pm<)w=gNLF!ACx~KXU{Hc6QU*m8q->Di3yx$BCI$uuaKJLMF&ul(z@V^qI#iFM z?F<-eFSvANWMB}p0||k$tn5A*OMV}wNnF<%7}Vh^WbDBzz==!~mH_sH#lVFUERo40 zse_9_)S?xKJe`3-*b%JO z1|+1xz`!7U5S1^2CNJv;^SZ zvIn_|fssKx=M@8k@F6VX(F_bCQ1u{}LDe&S(_>%|fvC3u#XCq`6sitxE*k?w{T+r! zY5fd$eH$1UjK4ClNoq1Me=A^M5QXSPxPg~}p+1R$GgqJCUBng!G3Q7IS)Bp~c2R8x zVTM2k?l+bU%-7`^m=4J?{9bjNfnkym149Ed1A`dEP7jdVj6fEH7>o-T7~~-qpahE{ zIN^cqC|)6VX%29K`#$c zhmu6)A?m>H17{Hi1_leb$-FKgcYxjJ0yYm3Pz($VB1bUAL|tHcRum#@1ZopSFfcHP zxxg~2JVXY?PRk>3n_MBLf-)^UBwS$`R`e(=!-~1WGOYYjunrXSlwD!w8NpeWaF(ze zSO>y4j114xH5eF#k70c$`z6v)6}|C51HSCm0UBAY>prJ6zHvmXP)gHH?$ zr{6QMY?ou;U+l>6Z_*2f#|@Ji7~~=5fkO#gG%zqQsDVmU22lK}AA^OL6PaWa}YgXTVd(T*d1n<{0Xp$D6)zWu|QDkc^$Z{2bKEs7#Ng1;0fp? zSeqs|$HSB;c!CAhLE#Q*YB4Yq#$}55GyV)hS-->tH-g0ebd-%17?a}>-Y$7N9*xa?_6SqpEt>={g1`LhTyP%Z53QSDx zDVPQ71HxIxsbDc-1_s4vV3rUAgLOKX1ro~uvq1f#7ciFQOE62Afk7Y6(s>0FGlR1% Qa^Yg{;H(dDRtba!016hJy#N3J diff --git a/desktop/mindustry-saves/4.mins b/desktop/mindustry-saves/4.mins new file mode 100644 index 0000000000000000000000000000000000000000..f50a640545b0acd9dd5b977a38870840034d9763 GIT binary patch literal 39775 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 literal 0 HcmV?d00001 diff --git a/desktop/mindustry-saves/7.mins b/desktop/mindustry-saves/7.mins new file mode 100644 index 0000000000000000000000000000000000000000..e9cf74f85349e9cec95e2beba2c1333885092cf3 GIT binary patch literal 39986 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 V!qn}Bvlicmi5-How%&t?0RRn}6|VpQ literal 0 HcmV?d00001