From e4cdf20030f7c5bfda5e1d8c3f678041c3f8c770 Mon Sep 17 00:00:00 2001 From: Anuken Date: Fri, 31 Jul 2020 14:06:15 -0400 Subject: [PATCH] Preset capture waves / More tooltips --- core/assets/maps/frozenForest.msav | Bin 9574 -> 10160 bytes core/src/mindustry/content/SectorPresets.java | 58 ++++-------------- core/src/mindustry/core/UI.java | 1 + core/src/mindustry/game/Objectives.java | 43 +------------ core/src/mindustry/input/DesktopInput.java | 8 +-- core/src/mindustry/type/SectorPreset.java | 43 ++----------- .../src/mindustry/desktop/steam/SStats.java | 7 ++- 7 files changed, 26 insertions(+), 134 deletions(-) diff --git a/core/assets/maps/frozenForest.msav b/core/assets/maps/frozenForest.msav index 431b4ce947d762520540c86f875949b50511c1ea..21e75e565bc251f3a4357ba1673e02778a13bec3 100644 GIT binary patch literal 10160 zcmb=JbGACNSjN5TLHO0!+V~y(O%Hej4k~=}lT%6F^VXsE|HsGt z{NLx<+Wsl1f6w`ZJvS!6T9)_!1=$)qnbPCJ8v9WibenHun7r%4AZ@6q{{km^keEIpR=EcodRyCgq?Oz{VYLvDA?deT__rCp@ z`uoTl1Lvqc+kaQ=t~H#)r{>;YIbV4~+1u0Wn2#Qa-o$y!{zqW7(Zwv$p3vQZp{bo34cYd@7tBLU)JJ|n#$gJ-+swD z>F<+ANfjoNzPs<&@6Q#UxcBC}p0?@x4>x=c-F-^7cyzrTpOo?6~sZ5F>rwx?es zKX%K-_y1&<>w4ece|t@9sY`xQUG2Fnf48^!^(Dt{z2m<<_hCuXE=SRLnYldr`V%$O z%JSd;-v3MPliNapx6WHH%g*nqnm+knLBm&%qf?ykPBaw#yv5?3(yGe~ed{lrn9dLt zP#~a~-^4OSf7j%1GYu0o=Jwv2{=7rvlbVv#JqzP0H})>@5bL)TbuI0@Q2kdfEug#9 zr#owg!|}UwFMoR-_?~6e`tEZLUzjW>BsW*+GR8Lm{}V{#l$E@%j!J7*L$mD zh4jJyZ8C0YM-p{JCQYt;|3!rBTI#o#RSwtPOKg|CPTpm=@O67ht=IMRfRci56&ubs zGt1dLI;hAm_xSBuk6<1{2VLJ=h|iGdZjlV zyZc-%H{{rk`*y}hxqj)21nyBQTflbiW8}(mvy9n197jJtJi>QM{Ox9L^XDa@Necpw zd6<N{zLk+#uJ0XN(Uyt>)Wdv@i8ee+o5-&&tgUMbI~tU&+RLlTpjex zQl@Mf^Gw$_MsNIUI;^MLsvLh;e0a~_Sc&=l%hn&iP?NnTFWu->S-I6Q4Q(sNQuc>S z`Zr!Zad(<2$MqPQzN&zi4rl$Js~zfV<*{BT)&2hc4JC$WduGq|lRlc|$Mf%rW5sWc zJ+(Zh%0K6x{!|uAL92T{E$L_I6e46_&NDC!V>x zDDr<_Scpg5vr6ydf3CC!eh)eR#pJ%>v>3zvse28X?`73w-nnmhKCZcHBirZqhxNtI7h6}v z@Gz*FtT4Y@ZegwbXzI$H2R3DFx+)jDV4Jm7@UPb|9~@b>Uv1f(bCKclrgIdY?rWHq zDUtQ9ASq>$v9E~RjDlXxg^3F{?wKd$^tw&>%ct$u=@PvQ4NaXc{C>qc>p|aBk?Xgl z`3rx~^?Yp2vc2-6>GO$l%YM&2{qm@4h`V#oulIL&quk3&4)%9(EH!@XyP$8`n-$x) z^NJilV)#z(d-Z;I{v?smU9OF_%)Yw>FPemyu*_CX&exuPczed*=EUXQ*VL0YiF-W~ zHs<$So*pI|fBWz?>lK$9uANKfspw5>_9*`#;=9l6u*|RE%NMh^Fy?1%Y~H!T+Nu66 ztM}{0Cuf#N%km3O@1AP#`0j?v&DFiTa?>a6<<{A$R&@W6GVtv<~J&S+O+Wg>SLD$6g z+}~$6TtCRtAZlu_aa-E@{5}`|8`Ixxe#H80>bA3TfB%Ubo_4il^L^Xw`Fm~~E^E1V zz0q>kj7O0UDw`Z8zYq~$reV1AL`d^rGpl8{uU|5}sei3~@;1&H>UvYdawjwS9#0c0 zcb;~!pgc#j@5Q^N4yiOv(KHKJ@H)fgd5CLHlCB?N@Zfz>ASZu zZBnpE#C4IQGu~fZ%=J!zP1Psia`*McW+J;I?#C@!nJj7{k#yDa&HlrNTCCdll=|GoNqKk5%Pe_Y$1Fs=sK8CI5Z5y|hEod>&uV=l+00&J7Rk z5AA=rKe<7vhDTs#;N_kJXLFhEOp2Zmc+cjCv~kqbos(up3kH`A6~ zSx8FkxgNc<8J^cn&)nG)T|QOJz(2XY`MJocU1wC&@(%Wd-I38hd2&*8THeK;wA6J9 zuiwqQxQY2dF)RO4qqCFN%r4FLOZZcwrt-&V%8t8*mpdmv*J9Eyv;N_D^RceOxCLuVv2Z z2>~LnR;bE6b?N;Yu#4MI@A?DN;`3+qj}+>JEkD@1_DA!DFSDGAwby=DFc3;Hd+PCJ zT8qepD@_+BbtnXBq`L|PYAkb_#dGX-iQ;sPiZ~8UUr(E&6Ynpc2(nkc#HwD{H$%1m zes#(L^Om(vE4sRVWF0-(dicbe88=sT2fazn^4;EAwRpvI&2!2R&4uD^3+g=C9!>G_ zfB)0_%95-fuU${s2UR2so@~!N{AFs+b=&ZqiKk1XRgUx)tQVYYns7Y-Tx-ErUY4oC zdn}oc_LZqDaA^{knOJtDLU{Axb-U$XE!L_qou*USv8Hdv%!oO9W*^>UMDxhrXqYek zp^r!Vn@3A7=lWd^(h+@vN4OKBWPW!mE?uQ8Q0M)yd5YGe2_E*LY+YS*7DXf|@LX%X zv`kUAY(nM9NzcE@*wh@1l95)Kvv$J1IU5Ah6}GpSvs8v{J8wDv<^tKDA2bCkeWr$W z^=zu}^2@Q|3p6_YLkc+RBke$mBcjo>y;bdcFY+c3jGHez^yF zc+U|tN&Ea_-i}(Gu6U89SN0UCS>zw}laf|E)!^~<@1ziOQO1JfH!CK*TeJJc!Mvlz zyOJ*{Y}}>Dl*}5kbkmgw(Oi)i9;;d8^lX1qxUPaZ?b_asEshfo-V_a=*0o)uOv*C+ z_Lu&h-A!wil&e34ykD6butD+7@p~DQvzBNyHx<3u;F*zV**-lrVDiNp4Q2s5xz?gS zXG`s+trzBru0M9S@?e;_o>SE~@qmIkza}wrW66*f*O!bp_>$IB& zmolUm&vNvBWXb96ab7B=)G;@jWAde~DQ8;OxGfBNabQ{Jdo4%b^m{roTJ!p3Yv)x7 z8FCw)IgmbOOPGe@*Q==;g;a9`C3JQysGr*7apJ`CW_N`-UCa9$7DyT{u{C&n*Ur=R(metES&x8m6-_bC!j zyXTz9cipnUw@n6}n2YBsY+)G4JYnUg){t1o2BZmK!w?J6bl^JP$*hsgS_6vgJ+$K2<;B`;}I zrzq^vub*Jvt<3j0?_}rX{+?@pubtWEp13LU1Je{IyE49ym$I(v)Xm(j*R@TCo3Z&? z2H%kkG2<2McP-CZ6#mLoPPg*OroKr$yw_M%TX?d*27ED^yQ%7F$#)~p%t-dzY8MWF zFWm7qi#Mt8P3OfGjTslCzxW(|ew{Pv>}Q6wU)zo=FfTP~ZPbeP<;y&$6QW{nBU|`g z**YWFOT2n=*S$FjmnWBs7+s$7;j6%otrJtfSFPG|=8jl!po`_p%PtG=3AJ}HFFv}^ za@CB++{W0$Dhv(2-DSM_i0*_pJWf9mURVlH=0SGu0QE+}c~m=o|tll#Zd z4XO()>(rck!vf9su+I)@6g#REbSsGS>5_$EJiVoQOB}8)z87&SAnsM^^|KfD2(O&B zWxHheqA4dfO}NI<8~=0?|I|&-R<^%>w5lT4chUB@vDpVsw^wNA9jVxQeU0w{OZ^=EVK!av9cY>P;G)N?&h1 zD(!gHtb&HJmE_j@(8E`z) z!%5qNTl3Tf_a}i%4<+vLR;*>69@N|;+wHyVo=L2<=B&3n&)|K~JZf489N`o2h|4zI+2Yg?uqo459*;^!Y;JL{iYO{tov*uQqC`ty{Q2P2@^TQ>msM=hAsRJ7;(VG6)?%sl(JgSM-Ty?6sqQr=5=Jrf>Aw z;Tl&E!*(Kg`OTmepJUp#USFrYSW(lvzqq{BBz|>`pPyiesL_{%?}wAZr_9opt58i^ z5cT%=1N`vdva(>{MiMqi~h95rv`{TIJ8=g%ePi}k^EX0r&)F4E`6IH?#|PZ`RRMAzcwxJ zbl)NmkC)vxKVx8z=)EVG@i zi0ExSvW}BmKxr1QY8;=fD%V@DpSqn}(-rl-w(MBs&ATOPXXcm04@V6IGh{DLI()Pz zJb#7nrZ-!wt~wb{z4h$UteanU?_YVo{*Rphg0-xitfKml4ZL)}2W!0NZdi0Bh^xeK z@xDvt8J`cGiJhs)wR&%8tbPT4ome3rxhEn>`V{6vRL(q(}^u& z{-O`VxtVMQ*RbVwP z$^PZl&*nci8EqM%4)Y~ea^|$W-(&V?-zKTUb9>m*OJu!z#jYLAR$MLGFR9zg6ueJZ zsmnEM7W-s@K-D#lU+%2<%e?=))Q%sqh1y3I=j-pkkhWjWV#~G*3)Zv6OugYEueEW# zTV7`ylib>rfPjb7XXqz+%8H&hvoLvmJ+4@hb*Vw-tLNHY2S1h0aaW9cY9nUtd$s;o zVf@j%o7OL@VqMv95fuMB`+)N8yE2})F$}vbgIlf|@x9`En^I0;#PRz34|D`xx z^Tf%WixlgYyj&s|^kDy`yE`WBUSFe8{-%89m*zRERHo@yC1|D`F8!&N!PD7$2vb*qndPXa>Xl-qrY}&9@OQ_yqLVh?aZDZ`@TJV z*P-`ya?pMwelDiJ6?v*#a=tSBFF7Q(Z0&|CoEl#n_heNWIy(hwEOaS(cRR%)&wEa6 zXAC!|*H)S7PEA|#&D0Mqe6QYL%XV6^PdZL4UB>f-Nk!N5i@cw|G)gRc7s2~5^XIY; zX~r^2^|9|VIpjYpDcUNnZ&MB}Qo146(zyIlp~wr5Zo}LaD{thV@Zh)dPGZ;mot+xt z@@n$eO#(}nx}8<7IsAR*rq6$?_f3DB5)l!2<5ItqNzGaAW^>nkU2!g^&^w%a&8Gc% zSg&7ds()uv;N{YLKXdoiC9Uj=7nezGoW#BK;uj;n=d5o#On$T~?02;@tCyOPC9$EU zNRjXC!czZljxt(Ye7}WGKD(MO`C;9YCk%0~oSAwbYo73*JDH_yy>6JU)hWpb!Jfgs zCg&VXguOJT&J#N_;n4)9zcI_FI5z&<+8MOq-!xlH@p@IN-t6Ec^}5JuLft~Kc9x}GI=R79k0`#9 zRN7d-v{1#`*aR7vfT1??;Mwk-DzI}clc#`vMSeFX>SWVArPVJ++23M zkZsXSga5DE|NRovf9@2jAf(;VZ``uNH~H>vxuB_E*Ijp;?{B=u#ad$N1hJ=Qm)$(? zwEXhnP4gm>ZtfO(^mpkI=DQ0|MRRZ5sSUXh<}{9k7oI=fczk*}%PszlQ@f1D&(-)!#?RTp2DaIm@DXYH>0 zGc2Qn?+fgy(wSSl>HdyGswq7>U+dGvuCsQ{ThrO3(2zA(){}8v{mBiaL3J=Qt#j-V5 z&U{x}d5g=@^#FTk?D>NgA(Jkzua*aYn=A=UZ6cuCG#%h`FV-}R5M%XcJvUGM&N%i`Ew zSK?V-#{2*E+VVBvQQNP;$PdSoq~kf2vL~Cj?weG>z!BG#y+)b$YuI!Cqd%^$*e|fu zM$CBgiLd&G!TB9_g8IK*Y}P9Ue2EVJx;?qjU@iZ)r!U=`zEA&D;{M|IiI3YF|F<^9 zx8`NJ|96~Mrx@_fNu%tYeVe~7>wo7T787><*Ly9;DKgi3%Fg}MFFu|Sq}}{q&42!h zxVgW@XZ{Y~-u&IoD1H9FkL>k-{Y%#D*656`(0%kZ|3j7hdhLp}kG6JPmsr35_-p1_ z>o3&st)E_T_sDCTIO&RB&U313;}5*nx+}e-``%yMJ$jEzTi@kBEIqqB{`hO(_jSE5 zVvfBQj8ont_o$R}J^zPY4cF&CH0{66yhksJcX#FHeGS)ZXXQ72Y>e&Mck}#fhH3w$ z?wTK1Q6`?){PgyP*l*XaADFRlo%#2+b&->fH=4&E&z|~jbpq2%y+b7*g!BJ0U3|EH zeZxnW&G%kDY|g$m^+1cya{f4T|JSoBbSK~GO8Ap-eciQE`CB)mvey2LRF^zc_4@R* zGWGJd_^l<4S7UpxP0!f7u=nk$HTe_oq%o}Nd%b0!$7|l+Hns)n#$oc&WjQ&FXX6Ua zPmFzcdEct3E34%qclbR|d#iME?sus>x3{d%OMPDOan`h_H_uM>j5oct-SxMW%5t@n z)4os5h;RKibM?mW-!t!9z0}#bZD(rg9*1ue)oY(~ev{p^&)p!uYKw`-z0zCBCG%6( zm|t&7uMVxqN|hFz)A3>bB%U*OoNw*-tC74b(!u_%_r|L$2fuuu%9(%g)y0#=*M6=4 zJd^Dr^OpTw|GDKq)?Z~k+?|oz_@r=h!ac=0ZMT@AI4d|vFAGdEoLe2I)8ER!k;U9H^2FeBbqxDfT&sTXTYx^}Nkx zj|-+BJ+^&Kt;)PNMP>UJuXMQ{*;Ib~nWey82@BC%@!ub~u%u7>Hr>|3p&*RYFXel! z#=clp3se3$pPF-%_`^ER&&+->^+dXG!B@wFpGD>UroPCEjMeP9@mcnpzC!iNianwl z+r%{OLOlGu6F%+lek{YR#2&BVqbCjXhQeR}1b@ zI;cHqZy1N(Z-2&^x(JnB^&IDfZe~nceX`BFW&MO(--~CK+iZ?kDVh8A&Bf(6Z+z6=^Y7SX*UmR@ z84t!O%{KY>^TcO=dA{}jN7Q5Q-Bq7=bN<=S9qU{Rem;^rS=IJUdgl9!`&grne~rJ_ z&HcHock{(bTV>UME1lfnQ;^i<>w2N)m|<6PbmIdNPCvmNVMPT=r>S!FBZ>!a`eNeCHl+k7wu(z zv~|L%*_^ieoH^<4ub)(xd*~Y;^lhpC+Nr|)uk`1>f>v?$e$!7El^(`3P1c`tcbi8% zYZvE4_k6>n{rvX&6*24BZm9k*`%+xfZ(Eb|-gVP-t(zvNZPa!r+8V!Cd#BsHdZ(ov zQ|!)r8Vtv6+YcXk@l`};+4VWU(;Pl8xmkU``~T)G+dZne@7o@NhGv>-M&R;I`hU?=lr%fFPpWYJMG3&t9i;BJc8fnjtns3u!&-e6; z|MV$Y>R#-v=P$|)t)733QL;$wddbtCtbhGZd1n07PfhyeanIkI+oinPTYb-N^SvY6 z*)qXzRAc|+)??&FzXABb?y z=U>hu^SGf(MK7$lFQalp&-ru95(?!W{K~wxuDDd|y>6qm|EGJC#8>~!N&04X@M-2U zOQv&Q*Tok|AF_yF@;q(*$K93r`8wxg@*6)I-S3%Rt*~eN!=uK>)^DBAe6-}p1~0ia zk&o`5Q2+QS;@sly$5Dz$XRjB3)|*&#POtIW1fTeMj}A`i)%3H|Ssvu&XZ+w*TTR!z zmPd|aJ)2&5p*Z!-|hjAH7eFm9VPgt@87HuUT0g z;kT|VOrmYw?YNqKGn)d{BsL%UZ}Xzk#J@0M?ziX06=pkpW3np>CSCbAJ7xaPEB|KX ztZ@6idcn?l$p@t}a-TjNWMBU3-ocf;6Y6M$s6Z4PCG9qdj5RYy!S`U&Tl%KH}UL_JJsDE3g4w$Ow}$h zu@5=;)hIUq(8=b<+`rj>2em%A^&z3~zS5%KkzMEQ<}{^?^R%CDuIbYX*!S@3ob5Fh zoEbeS7M4wy6{?g^-8X#7+b24w`P#|6)0!4@w(oGC81VOm;l!sK9ZJ?!Z!#^)p7j4r z`kV8DbKBOdP7;5=zUp^+X8qJJ53e7SNxt+u``$mvTk_1u7pzs#)0^m%-*Bx>Z@Ja) z+22!Qms*^wp6*#EWB&TVC(p?_*#~dmR++C`Sv@;t{+#=>w`_N-o^BhXyv&Tn-15V3r_M|hp>p^vklnm>N4FSPgHKBkQMJ=w~| zbDKB3Pkr?HZT7dqeha3$`b9ev?{zoF?EY;abbkGhy$!3k%DgekxmX!eEhPBDvh!hq zZN`HS)=YNQ1+r5btl5j>I&3R=H(9n#SDyRvcZ0;2y)4If8GVSna8vep*7eW)zb~eC zg_|Eaf3-}aj`h&2zK7E}|1s^@5y~2_uRAgC&yH}>ojd=US_MxzX}0s-s(?3poj++! z{$HyLma?sc5aY-No_=8^z6)x|A*X?=fZg zU8*?#G2(pEYq{Dxhd+ItxV>yep#}deaWRM2E7I6v)_vTOU(fubX36j8j>WmGTlkZI zz3Nw4w)1P6{CBsmCHJLHrnbJh^kBF9d2!ns-4E4KyYgp#aGNLd=WpBl$_w*6dY=TV z{?(ft$6Nco@qD1)xz7vUpUgV&+`C-wLu%ZoZ|540y<{t}ukudNsVoz|e2;xWW#4(H zHR|7{x4c=+7%jB_I_I>FJAE%iRfvAsJ7@p(FQ?u&KHJ?M_a=(D)?fVcJ+2*cseL7{ z-q-S*#C@{fC-pFv;jQXj#ocD#{@G>BJ!V=lIpK=&w|h!IXYIW$aP3IU><@A4G|&8% zIXV0Och``^h5OT`5AEvAe7@`CUgx`$qV$%%*1DOK^Ygl0;mO@$K^s;rS>461?f&iG zmD{I3uHlm^XZ*6)VQR@)+lpj&d**e^L%x?j_&)uXe}7}OPTqa@1$%?n3Gc95Q}Nlf zQ~H*_(eHlGeBOzBpSf&%EOWA}T3c;iEmKr*!QaKUF>ep9Yx;J_r{*W?hicAV=C*ZD zv#;r1oLX$U-ne8&%>S9srP=;-WyCM%S;zMHt6SfGpP!esT1r)K-;>FRzxduJw+NnRmPHId4@2{#+-=8liJtT8< zmC;H0gz$UZ2Da;Me$QZDTmAFyj%(}s*6BM`D;K-?^IFvJoYj!Iw!&y_rPX68wNDuj z$}MDOYb{}ZHubvnt+=LdTt9fS=iUGEXX5Wa&;D6v#HN?j&VH~duXxKl??b2W$Ji+B zy1dnS-nIXdUmed>2_H9esBZXE8`S&Y-nR!f0()wv6>mKl&M>81W-q^O)eSQ)mG!I_ zZhV{YE<0qlq{Zh2d#8OrA~xr3t!t4+<@t1%=UVX}zGSR>Ke=Y7_%G29k!NDJclR+i!J?8z3%Zz@_Njdg@(T!~l zIRYHVrZ1Vy8+G37Xze5YJwH22&V7HqAbt9ITN?+Xs`w|5uKk%)F!R=1#e(&b+1vV0 z##yvK;Y{nEH@i~!u|4D2uc`gpB6rz)tzA8FUxfO354QauzC95|!k3H-5 zFZ#Os-mf`d-OK+o+WxoRRp;>KPk7Zn|Ian`4%h!XU3Wfo_5&@o)aY zqigFGt^UpUc>l=5d3V{DNN=cnw@&}V_vP`scT3p)i*AVjBQNt$u)d=3)$_}T1=?iw WYPRkA`hEV@ynpxqv(Mh7Dgpop)+!_b literal 9574 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 diff --git a/core/src/mindustry/content/SectorPresets.java b/core/src/mindustry/content/SectorPresets.java index 1cc50426ce..3b76795c1d 100644 --- a/core/src/mindustry/content/SectorPresets.java +++ b/core/src/mindustry/content/SectorPresets.java @@ -9,7 +9,7 @@ public class SectorPresets implements ContentList{ public static SectorPreset groundZero, craters, frozenForest, ruinousShores, stainedMountains, tarFields, fungalPass, - saltFlats, overgrowth, impact0078, crags, + saltFlats, overgrowth, desolateRift, nuclearComplex; @Override @@ -17,34 +17,27 @@ public class SectorPresets implements ContentList{ groundZero = new SectorPreset("groundZero", serpulo, 15){{ alwaysUnlocked = true; - conditionWave = 5; - launchPeriod = 5; - rules = r -> { - r.winWave = 10; - }; + captureWave = 10; }}; saltFlats = new SectorPreset("saltFlats", serpulo, 101){{ - conditionWave = 10; - launchPeriod = 5; + }}; frozenForest = new SectorPreset("frozenForest", serpulo, 86){{ - conditionWave = 10; + captureWave = 40; }}; craters = new SectorPreset("craters", serpulo, 18){{ - conditionWave = 10; + captureWave = 40; }}; ruinousShores = new SectorPreset("ruinousShores", serpulo, 19){{ - conditionWave = 20; - launchPeriod = 20; + captureWave = 40; }}; stainedMountains = new SectorPreset("stainedMountains", serpulo, 20){{ - conditionWave = 10; - launchPeriod = 10; + captureWave = 30; }}; fungalPass = new SectorPreset("fungalPass", serpulo, 21){{ @@ -52,49 +45,20 @@ public class SectorPresets implements ContentList{ }}; overgrowth = new SectorPreset("overgrowth", serpulo, 22){{ - conditionWave = 12; - launchPeriod = 4; + }}; tarFields = new SectorPreset("tarFields", serpulo, 23){{ - conditionWave = 15; - launchPeriod = 10; + captureWave = 40; }}; desolateRift = new SectorPreset("desolateRift", serpulo, 123){{ - conditionWave = 3; - launchPeriod = 2; + captureWave = 40; }}; nuclearComplex = new SectorPreset("nuclearComplex", serpulo, 130){{ - conditionWave = 30; - launchPeriod = 15; + captureWave = 60; }}; - - - /* - crags = new Zone("crags", new MapGenerator("crags").dist(2f)){{ - loadout = Loadouts.basicFoundation; - baseLaunchCost = ItemStack.with(); - startingItems = ItemStack.list(Items.copper, 2000, Items.lead, 2000, Items.graphite, 500, Items.titanium, 500, Items.silicon, 500); - conditionWave = 3; - launchPeriod = 2; - requirements = with(stainedMountains, 40); - blockRequirements = new Block[]{Blocks.thermalGenerator}; - resources = Array.with(Items.copper, Items.scrap, Items.lead, Items.coal, Items.sand}; - }}; - - - impact0078 = new SectorPreset("impact0078"){{ - loadout = Loadouts.basicNucleus; - baseLaunchCost = ItemStack.list(); - startingItems = ItemStack.list(Items.copper, 2000, Items.lead, 2000, Items.graphite, 500, Items.titanium, 500, Items.silicon, 500); - conditionWave = 3; - launchPeriod = 2; - //requirements = with(nuclearComplex, 40); - //blockRequirements = new Block[]{Blocks.thermalGenerator}; - //resources = Array.with(Items.copper, Items.scrap, Items.lead, Items.coal, Items.titanium, Items.thorium}; - }};*/ } } diff --git a/core/src/mindustry/core/UI.java b/core/src/mindustry/core/UI.java index 544a9c9229..d068d7d23e 100644 --- a/core/src/mindustry/core/UI.java +++ b/core/src/mindustry/core/UI.java @@ -99,6 +99,7 @@ public class UI implements ApplicationListener, Loadable{ Dialog.setHideAction(() -> sequence(fadeOut(0.1f))); Tooltips.getInstance().animations = false; + Tooltips.getInstance().textProvider = text -> new Tooltip(t -> t.background(Styles.black5).margin(4f).add(text)); Core.settings.setErrorHandler(e -> { e.printStackTrace(); diff --git a/core/src/mindustry/game/Objectives.java b/core/src/mindustry/game/Objectives.java index aaa2b7c1d5..ad66fb9219 100644 --- a/core/src/mindustry/game/Objectives.java +++ b/core/src/mindustry/game/Objectives.java @@ -29,27 +29,6 @@ public class Objectives{ } } - public static class SectorWave extends SectorObjective{ - public int wave; - - public SectorWave(SectorPreset zone, int wave){ - this.preset = zone; - this.wave = wave; - } - - protected SectorWave(){} - - @Override - public boolean complete(){ - return preset.bestWave() >= wave; - } - - @Override - public String display(){ - return Core.bundle.format("requirement.wave", wave, preset.localizedName); - } - } - public static class SectorComplete extends SectorObjective{ public SectorComplete(SectorPreset zone){ @@ -65,29 +44,11 @@ public class Objectives{ @Override public String display(){ - return Core.bundle.format("requirement.capture",preset.localizedName); - } - } - - public static class Launched extends SectorObjective{ - - public Launched(SectorPreset zone){ - this.preset = zone; - } - - protected Launched(){} - - @Override - public boolean complete(){ - return preset.hasLaunched(); - } - - @Override - public String display(){ - return Core.bundle.format("requirement.core", preset.localizedName); + return Core.bundle.format("requirement.capture", preset.localizedName); } } + //TODO merge public abstract static class SectorObjective implements Objective{ public @NonNull SectorPreset preset; } diff --git a/core/src/mindustry/input/DesktopInput.java b/core/src/mindustry/input/DesktopInput.java index f1804a40ce..808d965ff0 100644 --- a/core/src/mindustry/input/DesktopInput.java +++ b/core/src/mindustry/input/DesktopInput.java @@ -330,20 +330,20 @@ public class DesktopInput extends InputHandler{ table.button(Icon.paste, Styles.clearPartiali, () -> { ui.schematics.show(); - }); + }).tooltip("Schematics"); table.button(Icon.tree, Styles.clearPartiali, () -> { ui.research.show(); - }).visible(() -> state.isCampaign()); + }).visible(() -> state.isCampaign()).tooltip("Research"); table.button(Icon.map, Styles.clearPartiali, () -> { ui.planet.show(); - }).visible(() -> state.isCampaign()); + }).visible(() -> state.isCampaign()).tooltip("Planet Map"); table.button(Icon.up, Styles.clearPartiali, () -> { ui.planet.show(state.getSector(), player.team().core()); }).visible(() -> state.isCampaign()) - .disabled(b -> player.team().core() == null || !player.team().core().items.has(player.team().core().block.requirements)); + .disabled(b -> player.team().core() == null || !player.team().core().items.has(player.team().core().block.requirements)).tooltip("Launch Core"); } void pollInput(){ diff --git a/core/src/mindustry/type/SectorPreset.java b/core/src/mindustry/type/SectorPreset.java index 7e3fc1b286..6c441dfb4a 100644 --- a/core/src/mindustry/type/SectorPreset.java +++ b/core/src/mindustry/type/SectorPreset.java @@ -1,6 +1,5 @@ package mindustry.type; -import arc.*; import arc.func.*; import arc.graphics.g2d.*; import arc.scene.ui.layout.*; @@ -11,16 +10,15 @@ import mindustry.gen.*; import mindustry.maps.generators.*; import mindustry.ui.*; -import static mindustry.Vars.*; - public class SectorPreset extends UnlockableContent{ public @NonNull FileMapGenerator generator; public @NonNull Planet planet; public @NonNull Sector sector; - public Cons rules = rules -> {}; - public int conditionWave = Integer.MAX_VALUE; - public int launchPeriod = 10; + public int captureWave = 0; + public Cons rules = rules -> { + rules.winWave = captureWave; + }; public SectorPreset(String name, Planet planet, int sector){ super(name); @@ -31,39 +29,6 @@ public class SectorPreset extends UnlockableContent{ planet.preset(sector, this); } - public Rules getRules(){ - return generator.map.rules(); - } - - public boolean isLaunchWave(int wave){ - return metCondition() && wave % launchPeriod == 0; - } - - public boolean hasLaunched(){ - //TODO implement - return Core.settings.getBool(name + "-launched", false); - } - - public int bestWave(){ - //TODO implement - return Core.settings.getInt(name + "-wave", 0); - } - - /** @return whether initial conditions to launch are met. */ - public boolean isLaunchMet(){ - return bestWave() >= conditionWave; - } - - /** Whether this zone has met its condition; if true, the player can leave. */ - public boolean metCondition(){ - //players can't leave in attack mode. - return state.wave >= conditionWave && !state.rules.attackMode; - } - - public boolean canConfigure(){ - return true; - } - @Override public TextureRegion icon(Cicon c){ return Icon.terrain.getRegion(); diff --git a/desktop/src/mindustry/desktop/steam/SStats.java b/desktop/src/mindustry/desktop/steam/SStats.java index 60b85912b0..dcd51d6e87 100644 --- a/desktop/src/mindustry/desktop/steam/SStats.java +++ b/desktop/src/mindustry/desktop/steam/SStats.java @@ -86,10 +86,11 @@ public class SStats implements SteamUserStatsCallback{ } }); + //TODO achievement invalid Events.on(ZoneConfigureCompleteEvent.class, e -> { - if(!content.sectors().contains(z -> !z.canConfigure())){ - configAllZones.complete(); - } + //if(!content.sectors().contains(z -> !z.canConfigure())){ + // configAllZones.complete(); + //} }); Events.on(Trigger.newGame, () -> Core.app.post(() -> {