From 61d145e23375f7652cc5cbf622f48972629444dc Mon Sep 17 00:00:00 2001 From: Anuken Date: Mon, 2 May 2022 19:26:21 -0400 Subject: [PATCH] Advanced reconstructor in tech tree --- .../units/advanced-reconstructor-top.png | Bin 0 -> 5397 bytes .../blocks/units/advanced-reconstructor.png | Bin 0 -> 5140 bytes core/assets/logicids.dat | Bin 4376 -> 4400 bytes core/src/mindustry/content/Blocks.java | 19 ++++++++++++++++++ .../src/mindustry/content/ErekirTechTree.java | 8 ++++++++ 5 files changed, 27 insertions(+) create mode 100644 core/assets-raw/sprites/blocks/units/advanced-reconstructor-top.png create mode 100644 core/assets-raw/sprites/blocks/units/advanced-reconstructor.png diff --git a/core/assets-raw/sprites/blocks/units/advanced-reconstructor-top.png b/core/assets-raw/sprites/blocks/units/advanced-reconstructor-top.png new file mode 100644 index 0000000000000000000000000000000000000000..24cc4cd5a583694efb880ebb363069dd372cf265 GIT binary patch literal 5397 zcmXX~3p|tEACIU#k!Gu?l#R_y*d&UwY%ZB$xkWK-lrC0MbbClF%`IbcNwwUIh*~R& zSnl*v65&m1B3_p!G`jqsz5n;~+0L{5&hMP(oZtCfzTXqS&t>oGRU20=TefU9)xp*c zdft(LVJo0Eu`}3c*|N2RR9mvgIfcnvySNxnP5a}Ts%M-BnXc-};k^N8l>JNXNp%4X z=k3G;@S(hlV=NsO{SG&VFq3@w2~>_wv}NF_hYzJRcN!%JWa$mh^huB=h-Y8kHAI?R^cXDf|S>FLBGcT->qXGfu5 z@rG=4uLELrhHmd-Lk>fP_FW16EZNB&ZA39!t{HT!G&ABHPZOEKEx00riE%tLyq)YYJqBPNlU8oi%qr+2-fYBF25souc-S$*~!4nz->g`WP z?_8snb6SeeRUsT9-$H->y3tgM-|y@;f^^UXt?neEu|Ya@W=Bi9^*kZ-ry4MQNb1|R z_}n_0N?)rEkKBruOA_LhN8kH93hr?s_a z1G7e{LFaJ1w=sOhDc^7wYQ4#0=L9g%XxORNtZ%lg%p0u5xy#h-)RW<;XvH;Q}Z&K%t!RK)hWCspWb_9H`?Z zCXK|pDMqxeyrro4DV@jL*)Wml0UU3`xnckDA?c&<&`6=HU@iQuXcKM^t`cEvJSFra z9*EWcJvg%aLGNLh4CQ4l06(sS!}a%4L^zirjw2VWyZTvF8bQnRUpGQg>}@?{k`D58 z1Gpd@gF?BMa6)KF=ozZM%+?ve3TCJ~3qYPhz+Dh-h(fs~a6+2rZC+!cgLbtMi{wVl z9f@755GaY&S5U}iVGBqDmB020vHzse)6*+xq}Lgts?tK=35~7Vwkog|j>rA0lt__E zng4R?7=O*P+E#($^j7u$E0~{qT31pP6)C4SEgw)dLjOq|oj6UE+1};&%F5Vrs6(AA z@BNzcwAOSJ^Ca(hbdE#IQu*7~4lHI5qhP-3tO9eoc4GgYe}ZcWlr$fAlF5Fc$~)$X z!ab+t=v`+g{Wj}rsLk9CdAu(hE?Z{7${MKI-n`?}(>~PUT|-OcvD0)eC~Q67>H!o} ztXpx5Jfa85I%yw}n!-leQ-;(lsoGEoq#6v5DTlPCiHuUw844IZ}0? zKFR2Sh@kbrBurFxvy75}C&7Hfq|NpaP|Nf|> z(4doL;lp;BE~H(!Dx6-Z%VL7~Y5e8JsGtT7A~r`@(#FVe95hmyWCQ zQgOiPQ%UKAY$$ndvXh?vI7JPPTCZ`|eqnmvXW`=Pn?|sAIognLsYW=F)VR8J-qnYa zRvp+J;lCq>h*eFcXCX3pbjY)Q>igx?j>H-&Fr5&7Rnz^tu;23HgvCDp*jAk<7NEvm4!`9YG{a*EQ;poFnehx1<$o~wFhEoVkq4dS%Bvbg#)SEM@Oz?I&pI8#;he< zCss8}bgFeFx{BD^nn+bwK--INRYyFE=W7DaGLADvuU|=>5l=`BvL$OiV(|M&01M%B zNP{G+%T(bb&Z{>nao~WB1c^rUOOQpJ$@ukKvAHx78ej;K{+6xL`mmRlP=4u;9FNIr5Ls=}6@)(a(Iqr0E9JI9@43g9L4KdXQa+UD4TV`1)F0O-%_vGOB$r}ZR}tfbT%GyDCx z=Yu+d50-jp#JmYmekxH@cB1;+`MGCy#+xT%EH8GlZ!FYSXul=(ynKB^BNl*(TCGX1 zv1n<0xh4BU>dag$-E3!Zac%fz@0i43HsVHj2x8vi#HQF)urEPb(s)ro z5tzp)UM>AfdSqqNfcddF%jZ6RZ|HosAFj-`+1PZG!j<;E7w&B!B4j}{QNF;KJm1s zaPU@JSZY-`EvLGJ(pz(N-99d)%lfeVFg%y~kJ~qvrfpp|_!YHET(Gyo#)&ncUAA{x z@h?gHN>{kvo;UW8Qu4yPLNA42>GkEV@FL#^Gf4E&t2=SfmD*Ug3kY1m7PujpRg zG82`MPU%Q78R=@@0*B`FCIBY!jBQ_p#L0i%BoC!Jfki{FXwur{Lne(um2xeIS%Yc7 zM6_lF9x82FS)&5u#t`pka)E&C@~`xJ78oQ0@)Q|6|q>IqPBD%3O!IeaZEy*nX{3`!vPudjNon{Z;d?~#SfiHVZS=R_m7Lf z99{Wzu$D&YIU304&3l}503v@KX~+2@bhMw256-kIH-rbbm z6+%}<=RVM8Kp7w)jovqo5@^buXkC{%P{d)dvJnwIM`JnVLk9nx-WKwC{rAstn@*}( z5>1tlx8pi2i@=!qIB?Uptmty8wYXO;vQ+B;nUb-O5>@dqr8P9!XQunuF2z3~E9<>| zXMSv*{?mV;Fy+))6K*t`Uq>(fc6uWgmP&tnGl>TU3=qlrsTcn0RP`96E{m#niT?5O~6>zWf7A?|$zS7j=Q(t|hkC6dM3vP_?Yk$@H9%Vzcz`CSs zIdZ(n&5cwawC$cjGr}MMfW{XN8T8&MiT;_ZDweba#At%G?G{$EQJd~fzKJvP1G1d- z%*^+Xt=TWVy6qmj?+zoXm?u!KwDOBNrl=#Z%rc0L$J-kLvI7CEoXL#1J^k_LDLQ0W zOYsFPX8S-Hp1DrJS!OHbyt)J>xuB^RZ#K5K`x7SRL}&l_;X@;thnK|P{$BT6o*he% zH(=(E_qDJZ>4n{g5FDsk~; z+3Kks*rZhY56t(Pw@>g`rYJg>YW}|J_>%*J)(QXL17i2XQO=iZ?ek9ZIM)YW_&%F$ zS%=#^0M2xu#6GJu9)`+G-DW^w-4R$UICnjmKY|S8 z6A#pxwBZ~bjO1VK1Qu9gW3P3tg+hXoB@g-~@-+e&v`RQk>viC8EFaIX_HF78=+UriNA0gPnu zc3UL`=4>!tsz$@!5Ccg!Ko1zWsMc)e)bXV8HB03=Gv;-6$ySi9Z{h>!l5rn49B)Sv z(Z2emMdL@8HKT?uSK~@?T#JpCN>}eth-1!ag}nh)|`RJNT;8n_GQqM$dvhG<8=KH`XWu z*xDYdN<%2M4wWk{SK zW(<*~6I$93iK@Mj3vsr${_8^ZhBmV0p2C(XL4>NU3KCbH0#T};evDtC7_$C4X(#(3 zw$RuVdV-J+*)$0yba2Yz$e8pCmCvE`QTr_;J#FyPff(<;RcIZmcFB`)ph& zr;(WNtvHB=c}(d9?S9MLvb1wx-$5};aUL(wD>c$YzAj=EJKu%SAroqF%$9Q-5)E$=;4_%}bVu-p38|uU7EmI91T;2Dw_Sq-yH; z!x-n^{wn-HD5`~SX1v$&uCE1Xs}*HqHrlG+lArJ6!O4_~QR`iWUsCelXVp58yfxq~ ztf2{)G_tj-xm?+e*L(1rGju=FvBWwLT_@#7Y$*aO$kt=-;%qR2r)cp{O2(ClBLwWR zai4J7QOf5%tMnj+!3rhuf=WCo&MVCad5c$ND+;B8C^!F0Gc<0&5z-X%>%|#Pur$mlj z`O5pPPPJ!>$YNKOoqU3zlD6}p9AO1^Ag;MVcx+@tDJLIUaSeQxRCE-&ZSm_5Z~DZU ztMxu0E0j%4=ik`8OXQPtlkhrs@BGa!-&1cYC)!u;`E{7x(Ofwr$%< zF*mgXejjgrBz6GbQSF}iZQJAqD5j*-*FoPNIyYz8E3yyWCMa69>Pzp=jDD3Eu&E}0 z*G}4>`ljNSCU*lO6_v7f|8*ZjI6u=@eS6kzv7q$R za$#xB_kmk0_Ia%J?v29bLeJY91JhX>C>PQ6%8@x*#oT&Y+qdPD?Pt&S`I|W$S*Wgh zBGT5g_b{K-&Ly?gn6wThyf|?z<>2K{)y2Q+WVv|fgI4*>;#-Ro0a>2fKE))Dm*WWVFUz2m# zx*U#yq>FuxPR-iY;%nc1{Iza`)r_vK zd7ZUed?2j9begKKT)J1o=P?paqdIAhDD(Ed)(tIs%y0Z|LgZgjiO6Sn*a^D9vQ zA5)7#EOx~bo*$&Ls#2ALPP;Mlg!f{7pC=XC1_r}+t;<^#GRahE71EVXU{SpGoE#QH z@mQCelihg^PFJ+F({=b~h`|eqb5OU<&8pA6io6o}V%M+wSdDikALKPs$W2*n~Qh4qI)!7Wn+6(O{`lL=_Ybm3b!Tn5i7@jsX+526}dKESTs!5 zXVKd0Q@{_n7dBt>@ybX40#4PnU%GuSzpr`?lrN;7U*0*X)7GbXDcaWhWlh$i@cr6j zgl!e92P1EXu+!ZsUvza;HMth!nOCmoZsck)^)c+VIB~}mwR}#|Rtx2YsN`U}kd{wf z4Xys7zH{*R@CvAOno=OohU$zyU>ga85AvgQ7?;v%_dL!b1f4d=-cbzpyIj%=WB%mwmG;38z5K`- z{8?S%#F{x%*Du_8r^?A-LK!w!9iaFRdlAE{bALazb1Jb)U8R)0xPQ2stHn?Np`3|~ z_3%TNZ|3xu_G}s)i|i^2oQ`Ihgkr9QhB-+Xre#8|{3DAhi9FP)gY`aAQ4YmAMTW6oP%Mod ziGHk(kVBo<$R&GRHaQUP(BJLkx;_l%u?}jD=#`68iGYNj^5#KSG zVuH*GHPtl)0g`Uz0`d^nKZQUX1yRX5|1vl9@EyAOr9aYMSU&^dgmGR_3YoeVpnBH% z>R!26lp}FukKWD$Xw~Rbv;p?(ffTVRC3iG^yB%3V+w!v>gIAHS+YS$fH6NOq z@I=)d|5Eb#vhJeC$R;-A*M)CfX=2|$732NCdMg%R{d%|5++C1!{?9EGw$!j{J(p$I zThD+4rTmvECnGM=#`}iLEI+L+6_u`x4-aI|zUz0pF8tDe)m8gjdBBaV*&Ww`LSS^( zqjPG!=iPS7vtzu#p`(lSWpm0uJtaUMjnX8Z3p8+2E?}{XEehKzEg6V?y!K>#T6duZ zMNz&ZMTQANV;C01R0UA5*@ribB$*N;AHkqI2lF*S#s!4NF>=_hLQ)F5j?gpo(PttQ z4LKKVFD64ezTUJy{_^S^%AKE9Uv0OB7&C7ccQcltT#sWzq-Ck*U~gJD93E$GzeJch z`HOJ=6p?PN6lbf{z?=aeAKasmFQjGnaCvxKGmW`k=`=32Tr}&xr|RSHoKX_hJEtasw6*z-v5tOju|+i&WuXP|pVDU*zc;y+x$|Ba2+;jwl9 zqtW=q@1o~EY9F#$w9K{o8m4!aL8x-5d^akR}f8Xiw3B-j`$Qa9lZ z`_2>ok-WZM7KppGT6nc)65+mI1c~C9@RI#hHLUC6m-pZ-$Y{j0Kc?fT_rr1Ii zxiVY9mbkACgpn2iVT=Y~TJL=8v>?*=>XE@A4uVX!hKRl&1iBOV+mc|PL{v_E2g2D) z1Em|Gs0RX$bJ{qDshbI)q4`{Jjh+RB0kTIF$AonYNj|c6TZKMjA0w;_Lm#G^F1_!88sF6002mzCF;mLl!!g?==JR+84{5nnzJ^Z7{+&qSSTEQ<`xNvDlK-NmJ zuSXbo+M;=^X=GH^$ZjBs%oKV(H#cXIPs{n`3!xH7ZrnicYe}Wegiq!^kL>l7_U1)j2$cCr@uK(w!kYg|* z7q^{41J0V6x*ODl`~OBn&EmVX_j7Y{()i|J3?5Cq;jX{S_SRzx-=ioFe`n8PmU&Ff zKmo#M?s~47H0e0tz{nj4+A&hh-t8eL1ZXk9ubPAtrt9^Ij4pD-W7H34(x##Y$X-aY zGd8CfCbC)0>J#Qqf&9tna{nzi{tDpGKp1Rc97!?cuvu@^y)do6aeXGX138rk)eF>6Fr^b* z3wA^%($)wwj&k2#1V+ga`oLgH;BB-5!>NP@k4mNawDgEKC#o^N1if}C5kiqD2$xM4 z9W&&R(zoOq+Cu+mif=$7J?2T0pBIq)G97trTaQz&a84>3h;RcgLTo}#+u!at&Ub_A zixu?%5ix5^bW*yI8G^Mo7wEN!|0CJF%RZoXW7Okpw4wyrlAp{3KX2jlsYJAT>ol1kw=G=iQtB<5)8*qSQ8q<`Y*=z_*F<8zYpGukK$ZcyIBK|tgG zl=8}ybw_mH?L6cFqO!_Y6E6SUcxL!B*;S1(lk~mo2pXLMwq9p6v1HDxS9*!YTHZZG z70xUXRxJ1`ys}1*neFMQ0M$suX!&K$s`yGTilcf^SWma?*JO*VKE3|t%>6bCi+hw_x%gL zwdG)xFMpPC2(nl_#lJk930azy19r7rLs=jbA<5Qw9=jwa)uNt>QOW2<>IF>5rKVwb z{aDB0=;lN|mF!rT%7iPxfri z&I8Htphk)tWq`IFQ3{(ykW45)owi1S#EB~vV{c}0d3m=6^NNes>JCk14?{=8ydJeo z&?z%^wDMF5C2f&`k#l1Vqvf-pdQEfk=k}AS*w$r`h_0#X8GvoI>J2OPlh5B_BnsRb z3)IweqK-U6Km(cZE$BDL>#8%N2L%;kdBM0^?ADN?Z{%7z^=FdpY^WA0Uk+Y^@R9TB zKo;iF4I(FXTDC?8C+n2nYHfrMbAB>36ar~mc#LC6%M(7*5N}*901ITJp;`M0i>C|0 zZq#`_*xGWBTW&&k_$^sEsKF=62cGNcwGIO1OVyM!0o|=l+Q1-=ZnUY#OrH^;r+5j# zP*ik~Xa**`A$;!Y=)S+f^=lSIU|Qp4oOba-Axwa@{lB}Dv2IgMGkM43~9_g#P z7F21B-~DQn1u)j_-JwDLXVo7ANKfJfT)C>4{pSr(0KOG`Wt=7_uY$St~;SQZWa$t6qx67vV_Ox2O0Le;ev~~A?TDU zR*y*Dm9;smJ$`+>^Hp{&(I@LPIUaac;ET5BYUCrj<8&bVI7pOeU2r&-j{)-C$Gq3l zxH+jPi}|0|0y;35Bf=--EU>MqujOAgMX}?F zuC=KbOj$hU>UhxNwF{%X9@~A4Kv3XFC>-kr*<49$m$4v$Hj<0ZscdSppbu8p1Nq^} z>bQtRwrdo@wyp-Fy{Ac04C0fjHR=Lg8=D@siZVu5(j?b`TgUP04BZQs;xiie+R_J& z5bu)M29i{eGXSgV;NQ=yI(`u ze1{l2+gFL4Kp=UkhI-E{D|0OJ8a>{spN1~4*xWvS=Si^A+;P8#b8nNa9;WGBJmRro zF^%8u2NZP27K?OZ)Sx(EzUG1)x9ARA9tIuEzOO&f6XNtB{l&KB{5#o%iOldzol7v; zgrZ8eR5c8j@L=0O7w39zx`+Ddc7&Y)bW*#(Glg?TOlqf#xfNSbWMvh3a_}tXj15eN zwG>$5tm)}}j0MeurYe=kJ=j+KUpd*iUBzNj&SLhng_Bv`pnDdMt?g?sHzs=x*<6ql oP7^}2mR*3SufE$Oku9}XQd4-@{ePYXUi-FD%&bid$@Gwa1KJi{NdN!< literal 0 HcmV?d00001 diff --git a/core/assets/logicids.dat b/core/assets/logicids.dat index ba100007a4ee12198c3bfee23a6f0862a786e8aa..908dcdc6b42524f63ff74ed35364742e86c94a23 100644 GIT binary patch delta 40 vcmbQCv_Xl9;q^u)Za#6b#FVncyyVmr-J;aw{Ji3lqSEA&{G!b~d_2qm5P%I& delta 16 Xcmdm>G((Ar;nhYaZobW`eB8_cE0hE| diff --git a/core/src/mindustry/content/Blocks.java b/core/src/mindustry/content/Blocks.java index 141288e202..f7f1828d7d 100644 --- a/core/src/mindustry/content/Blocks.java +++ b/core/src/mindustry/content/Blocks.java @@ -142,6 +142,7 @@ public class Blocks{ tankFabricator, shipFabricator, mechFabricator, basicReconstructor, + advancedReconstructor, //tankReconstructor, shipReconstructor, mechReconstructor, tankAssembler, shipAssembler, mechAssembler, @@ -4252,6 +4253,24 @@ public class Blocks{ ); }}; + advancedReconstructor = new Reconstructor("advanced-reconstructor"){{ + requirements(Category.units, with(Items.beryllium, 250, Items.oxide, 200, Items.tungsten, 200, Items.silicon, 400)); + regionSuffix = "-dark"; + + size = 5; + consumePower(5f); + consumeLiquid(Liquids.nitrogen, 10f / 60f); + consumeItems(with(Items.oxide, 110, Items.tungsten, 100)); + + constructTime = 60f * 60f; + + upgrades.addAll( + new UnitType[]{UnitTypes.locus, UnitTypes.precept}, + new UnitType[]{UnitTypes.latum, UnitTypes.anthicus}, + new UnitType[]{UnitTypes.avert, UnitTypes.obviate} + ); + }}; + /* mechReconstructor = new Reconstructor("mech-reconstructor"){{ requirements(Category.units, with(Items.beryllium, 250, Items.tungsten, 120, Items.silicon, 150)); diff --git a/core/src/mindustry/content/ErekirTechTree.java b/core/src/mindustry/content/ErekirTechTree.java index cd32971c71..2d149c9d8b 100644 --- a/core/src/mindustry/content/ErekirTechTree.java +++ b/core/src/mindustry/content/ErekirTechTree.java @@ -298,7 +298,15 @@ public class ErekirTechTree{ node(UnitTypes.avert); node(UnitTypes.locus); + //TODO + node(advancedReconstructor, () -> { + node(UnitTypes.precept); + node(UnitTypes.anthicus); + node(UnitTypes.obviate); + }); + node(tankAssembler, Seq.with(new OnSector(three), new Research(constructor), new Research(atmosphericConcentrator)), () -> { + node(UnitTypes.vanquish, () -> { node(UnitTypes.conquer, Seq.with(tmpNever), () -> {