From 319d65f9a38b8cc4c44299a649cde50d1e0e9b85 Mon Sep 17 00:00:00 2001 From: Anuken Date: Sat, 3 Aug 2019 11:29:37 -0400 Subject: [PATCH] New re-balanced attack map --- core/assets/bundles/bundle.properties | 6 ++- core/assets/maps/fungalPass.msav | Bin 0 -> 9405 bytes core/assets/zones/fungalPass.png | Bin 0 -> 7379 bytes .../io/anuke/mindustry/content/Blocks.java | 10 ++--- .../src/io/anuke/mindustry/content/Zones.java | 31 +++++++++------ core/src/io/anuke/mindustry/game/Team.java | 2 +- core/src/io/anuke/mindustry/type/Zone.java | 4 +- core/src/io/anuke/mindustry/world/Block.java | 4 +- .../world/blocks/power/PowerNode.java | 37 +++++++++--------- .../world/blocks/production/Drill.java | 2 +- 10 files changed, 54 insertions(+), 42 deletions(-) create mode 100644 core/assets/maps/fungalPass.msav create mode 100644 core/assets/zones/fungalPass.png diff --git a/core/assets/bundles/bundle.properties b/core/assets/bundles/bundle.properties index f72be5fa6c..a0a6516ea1 100644 --- a/core/assets/bundles/bundle.properties +++ b/core/assets/bundles/bundle.properties @@ -362,6 +362,7 @@ zone.tarFields.name = Tar Fields zone.saltFlats.name = Salt Flats zone.impact0078.name = Impact 0078 zone.crags.name = Crags +zone.fungalPass.name = Fungal Pass zone.groundZero.description = The optimal location to begin once more. Low enemy threat. Few resources.\nGather as much lead and copper as possible.\nMove on. zone.frozenForest.description = Even here, closer to mountains, the spores have spread. The fridgid temperatures cannot contain them forever.\n\nBegin the venture into power. Build combustion generators. Learn to use menders. @@ -370,10 +371,11 @@ zone.saltFlats.description = On the outskirts of the desert lie the Salt Flats. zone.craters.description = Water has accumulated in this crater, relic of the old wars. Reclaim the area. Collect sand. Smelt metaglass. Pump water to cool turrets and drills. zone.ruinousShores.description = Past the wastes, is the shoreline. Once, this location housed a coastal defense array. Not much of it remains. Only the most basic defense structures have remained unscathed, everything else reduced to scrap.\nContinue the expansion outwards. Rediscover the technology. zone.stainedMountains.description = Further inland lie the mountains, yet untainted by spores.\nExtract the abundant titanium in this area. Learn how to use it.\n\nThe enemy presence is greater here. Do not give them time to send their strongest units. -zone.overgrowth.description = This area is overgrown, closer to the source of the spores.\nThe enemy has established an outpost here. Build dagger units. Destroy it. Reclaim that which was lost. +zone.overgrowth.description = This area is overgrown, closer to the source of the spores.\nThe enemy has established an outpost here. Build Titan units. Destroy it. Reclaim that which was lost. zone.tarFields.description = The outskirts of an oil production zone, between the mountains and desert. One of the few areas with usable tar reserves.\nAlthough abandoned, this area has some dangerous enemy forces nearby. Do not underestimate them.\n\n[lightgray]Research oil processing technology if possible. zone.desolateRift.description = An extremely dangerous zone. Plentiful resources, but little space. High risk of destruction. Leave as soon as possible. Do not be fooled by the long spacing between enemy attacks. zone.nuclearComplex.description = A former facility for the production and processing of thorium, reduced to ruins.\n[lightgray]Research the thorium and its many uses.\n\nThe enemy is present here in great numbers, constantly scouting for attackers. +zone.fungalPass.description = A transition area between high mountains and lower, spore-ridden lands. A small enemy reconnaissance base is located here.\nDestroy it.\nUse Dagger and Crawler units. Take out the two cores. zone.impact0078.description = zone.crags.description = @@ -421,7 +423,6 @@ blocks.speedincrease = Speed Increase blocks.range = Range blocks.drilltier = Drillables blocks.drillspeed = Base Drill Speed -blocks.drilltierreq = Better Drill Required blocks.boosteffect = Boost Effect blocks.maxunits = Max Active Units blocks.health = Health @@ -431,6 +432,7 @@ blocks.shots = Shots blocks.reload = Shots/Second blocks.ammo = Ammo + bar.drillspeed = Drill Speed: {0}/s bar.efficiency = Efficiency: {0}% bar.powerbalance = Power: {0}/s diff --git a/core/assets/maps/fungalPass.msav b/core/assets/maps/fungalPass.msav new file mode 100644 index 0000000000000000000000000000000000000000..3935a0c04d1d5cffa8b72921d9328a34594e1143 GIT binary patch literal 9405 zcmb=JbGG_+evD^T{9L=`{`d9wcqyq)6ml2O^5ES)dsmO!rFUlzZSH&TWxHn|7QN1VoS)f(-|?I4A&$nzKf)h3&u5bGY-s$OB=Nzy!RCm*=e(hEy@_oMA z-oSE)1NMI%Qs>L4?d?0Y#ysSk#><|v&>K58FMM=2Z_{S$pv1{?o0<>DmCxX;JJ`f0 z-^12^ckAK5DPQCk|9i3E_S>5G8_d1+HjC%lh5V`d>3~ zS-yAkW!V!okIT6Ko4x&|A-VPY^?4=blm3eA(kW+eXJ5k4{9#)`mSvY%N%aN0SEafy z{&G6y-r2YL+P&BE@A_q$=idF7c>aNj8EfWemA`SD_GU9g`%QS(=J2n0lhDc^H>1A4 zy!`Ili-Ujt?IN=K-QK?K-*^3e$yVN~zh%qoEtLMME`E2f`R%`hjGZ|xS-Cj^#yVei zy*=0Ra__qpdoL@SZ_4J~zRfs8{>>$gyZ7 z#s03XJX%T9Rw>AY+!G49xMA=8z>8)3?*>;&=vdwfwk%7QOXoL~BWbv)>ZFJp85hce>Q}pvP%hcLG?g?-d-rl5?3iI!|Lsw5Hiwk=bEg zzS>8ZJ-xBT&gZPz-3?FMoOaDjy6m$tbJ-1(;G9`~zMtV5q&3ZYMP|Eo`6?e>_V9)Y zOvCK79S37lZWJ9}CT(_NQ`HMMU&*a0DV(Mt1^~@P5e^bJ?%H3-|q8I6M2) z3f0BFU8(2ZYaJ83Y*0V@S^nuicTMWw&)8pn_I~xV_qCtD=Z3y0+0E{rYqjgeibL~H zt(g0!f7jg7zZUm1`RyKk+4SzbxZ(2Sp^X>MKU`t^;PB@C{>Sx~%E|Ox{HAyI+2px@ zzb)ARcjBqH-`piczTL8}uJU`nagXY9uHAp*;xC^J+O&9%yTD$-zwf^Hhs?++?|e{J zF5CaHOuzD1iHExOM5##)bM}6*VESs){8CWy<w_n?p*p8{%@m9U|uddaKNDJbBJ=bjI)YEgnq+G7g`Pp9{GShT_-GzJa zzn!qW?C<-2dQ zQ&Wb->6I$WqdEPbwXD9ixZrQXh1R$o6-NA~#qZYgf8Q0eWaW#+OSZ3nc1N?Lxi`_X z`iN5XSHEib;Mf!dP_S%So0eUGn9@leaFfy%d$z|CsEsP&Eaa_<69TV&4C&F}ZN1>-L<5cGo6-n>=rO%NzIOsqLScdgm8iyxXRGYQ_!wJMT*QU#|JR z!#5?Q(dXcChvhkYI?+si|@-1e(_ z<|g$0*6-Ujv$nI}W~sa)_vYc5tnYU3R=;@paDu~&ZABLzJO8^`#=rdUhX$rJ2ggG@ z*I!=lwe*tY7XI=VO$V#1m#zBcrgh%*)6&0z_2(I7cyFD|2%o3DgW*(i?S;QPcKd7a zIo?l@buB($A|kM?kBRkrhwz3oQ`o005H4!B3$;)&xEl33CuhaFTMOrIxm#R$#m;B# zx9_{GS6=;f-lMeSrpjkk_Num|UC!rTre&4XKCVetH_}?)^;S-ksYD}})7@)Vo3!kd zL!DltViP}xTArQI;%ykbRAjM->$XGPZF|4rQ4uw47F%X=4?Usqw zH7PgU;{vLts%|WuqpM_LryY0Gm zY3p2@mA97#FIjME)ehr?^8cKnE+JkenhV_QmpQze74_z?-1n4I{_KArzx(%Fgy--? zZKKPzbCi|`EGl)0(QZDRvcKNq&qY1u3yqB#FKhbWKQvLgG{xb*|E|5~1Z*^|dv@9T z%z9My;tdTVZH(q}Ek-z?LPukUY|3mbztiLi%DY<@C z$O@sQ>prhIsC-7WGUUNUR{3{q{bqj6+?66f3nb;HR)##eSSkNbtY7YAmWqU=oMx}L z1Y>`Z&Gu7^j~^13*vLQq`OevPF<~j|eiW3-vD(afcyW8>l;?qGls%$EdzwzL=dvtn zc33f`@{3-7kL5UeHbmW@3fs;q=8YBVCOr-?`;{p5}|wJyALjY z{-DrrNmt7$l{}&5;km}v~W)7TC*8Xxg$O_KG5sF{`Bao3Hn>aY8Yp} z@2;KBqO3lzHuAwcPq7)IReEAc7hg_#b2#yg=NhGZGj{%(zNu>7bG?r*mhW4iDEfQu z(~J8jUDX!Sls|DNblz;M+;wXAe$JjGtIz#()sJ|$0^>y|-GvRbqS&L;Sa$5L+LAh@ z*t3D#$}v|m@?A!xPGC-{--Dz$jmv5#93{6bco(m@%3^4j@IZI*-B9_%Cm$KCYBJPU z;7fMBvs>f#tkfP413j*l0YQ$D22-Y~8cG;GPI}kma$X|O^NQW-y_wo`yOnh}AMIuN z&U=vcr{v!qshhl3{H;9wWY@_Z)1I#36X)KeaKKOXnNQ>N8?pyk&z*E~{U+G`+V#_q zWe?J}EX@r$lYKQ;GAQ(;LB(ZVNA9DB#+#(NwuWfk&|SG{LX-L351y$#kmbj(V4qN=F<@zJ6TbL9-v z!lw~NuO}Tzjl6KJ!epwI%$p3)L#s3n7MtXCpYL^dv2ubTwK*Yn@lIx_Z{S(^V;=6DJ1hOnRoGxZ8M(nkCP&wcMW_%pU)d zTyoAkD0I=XJrlILo}cMpQ4r0M<_Q?@bC{^o-}C0hqJWc~tgD4o z8mylOCkF44SZwq`Ti76P$(v~zso8nlby=0p1+lMoPyF=ArJCiG zU{)Za-b@fC!+q&mTKT6|o)fZ_L`nb{K|Fjm(*Iwd>eCtcY!Zz=- zx~p~jMWxPa)0@ZF7)gGv%sZ5&lbEn%d&n%iIowG*t1=>^g!JAeP4`zdYGQu3?7&u+ z^G8Eg{hCsIclk1&(yPqR{)IgIH#gyrQEF)SZ{eBQ9cuMTL8dO#jywI_(=%(+FK@}c z>U!^IarCX%zGpvi=cktp?Yw!_{BH}B+!c)`i{J9Gi=TM0`;hr0g?TLH!8tGWj=g)ZTg#^Da>2$bzi(n)UncX}ZNKjs z5~JM8+hFx*r_ia$jXqN*oeG*KHuG%VUhTDy+e%`$70+td=8bu?Tk43adAMZi+OuEN zrugq$&K*= zv^bB}Yp>%DY+N%e_of{ATA;jFy+Cs2 z?90WR=Gi)VI$8WFTiz|d#JW*`^}Ed;1;tFy4_Q8b9QVcfgv87hN3=Y*3(HJhw10cR z6*=y_YyL*>JWjkQnS3H~@(IIf9_zI(Ixbo%l6xlOPWjRGOs{uKCA+z;d%V;|`opg8 zsng#TO%&%zX>$;()0iEmp_kwxs#u@ zITucAO;);EJCPye4sS+}SKNvti-c5f7aiYb{9WSd9Dn{z z50;7iT6I`&>V;~RiA-8Wd+hn&+%vHaTyrhpSpWUwPOavDZL)n=cbmDZYKO#>h`XHU zZ;gvB5j~+%KdFnWwV~Q{vY@=y%ZRN>7D22ZWv*KlY;E2BZ};W(s`Jjye7$py`}xh+ zCYD^;6|Sc`U+!7V+qW{Afh*2*eo2)KO(}_9vF1eIv({6o6Dvb2_9&*++&*uz?hx}G zd9Hrf#@o}cx-OjaqfoN5=AG2c>%V`5>}A>ezB^Of>F86%Yfrr2Jl?&p``H%d%9(2K zlm8e`ym__Wl=HXc{7u$Bl-|aO<@L<7KH%Iq``TiA!`(co`Fe-rE z9qxk;&z7aU+f-28{vufg zyqLJguY1Y5gq^BWx|z(C=WSLjSe^8;>A>H%jK^(fJY(0Kj~B0WefwSgpQwrjGIQSAJVi=ZS%Q1@2c1xFXr9TS~)N4Rw~YY zA+qj#>#i?{-k;cZVPo8tf16Z~&UHQgq9tkf#Us_#0k&C+InzBK>0hudYQ=W~9|Sz{-1YO~dhH@VAS zT&{MHTl(OJqwudLkN@m8$Cuyt-Z}f#dyy#uKQ_)+x9o`Db-Ll@?}#eC8+V+A&-H~( z-W)ag+P?kzJ3VLp)l4XVZZdU?>+ijnFT`jc4>eb(~Rtx7-)JysNyNq3@5S^Qm`le@}WCBm25yhjzIJWAr4Q_i>+gm-Cg*cleOSB;mXC z!kQ(K6Su5*xXmx2<<#qU+K$aipZ2Xbxc^+z)2J^bc5$TfF=37=TWWKEhIvOmR9U&} zg^7Oj3GY)=qe7;CTr)@fSf0A)PL}!Nf1j#YYbl0qkgj3Xe11>z%zpNDRII)&xYp8syvQ)1Iv<9^9@Pd$H8TKm|wFRPY{ zpVX7xyK&i?*Zirjt8P0ToyxdCs7vy!@42APBkJL*%VM`LS6IBdNH1Y}r(zni(&*$O>A*g zu`W-)w{ptGs~v0R9pC!8OtLca>C&2=-w*ArI^At{EbdV1)YrPI&r-T{PMr4euw>q0 zuKj7|{o=%VuO7zEaCr5Hg-P<_{NH(-|70VErAOCpe3>q7Le=`@` z!tGRYZ~B9#^&FqS9o+nL%aNVcYa>KTcU`hnx0@%vrMRf>Oh@;*S99xUU9)|*%w^x4 zgeR%*=49ABPCoN%%H8Z2pP6jb)8>fnpD!vOf8mMlhd(S2rm=Ls=ASG4o+T#o&zCtO zE4eoXh(9pBILq5cHFdJdAFkT@u8cc%q;odV~IT*``$HKGi_Jjn=(W1#J#+qL2J8`#g1&2{`W2a<&j#Em5&2tW5bX0_H@5m zv7k@?#!u;26^G~ZUoA{|Zv1M;n!c`AKlaSszqC(2QSDHco2=#mmRAWy>HuU_=Ep3l0zYwr5hj~!&su6Ufkdhs5szJp7XqU{UW@&hU13x- z@zC>)AC2m!2L(N;IA8D2b?BSoy8kY_FPkiX)93Z7LhO`A)45Gc!_v|h_^g>JbxnPP zXKLvSCANFg25O1nH)C3Am+3VAiau5K>KV_)T91=&6)%4))2m5KP1;SHmVfb4>wgBf&-4FDr}lTQ^ZfP0dQ^A(u{pyFT^o6I_C%@4t+G#xTxW`nT_o_>F z=xbTcSD&)yD%*bB63zpQ9i(>hi=95<6o0C+<>BfhkzuduSO3=fUOAUp>3ih?d&z&C zKh>Yjm-#R9quuz?bJc&EpZP;RIrws16E2!FV?n{bc89o4yL--0iJi$YPbsbc<&0{d ztp~NI79Q35I#*x)$rP)7-7yP3hyAEp)K=oYaPw3z=~Kq>z3*lE_C2^N^M8&}@U$tX z#60`=3w{4wb7AkKtey15tj`RI4 zRzCHyHFfq&oe}r2=&@S zA-GsuH?=b7ef*ZJpNB&E4DTPQZ2x@3=h%{qv#x1qe%f?U!FVe}S5w0gpP3(|xb7ay zJbiuRhAhcYKfUt_jnl$=-v2!E++o_Z^@Ueo=?8BuX6%mimf5s1(s+ z_&=vH&uE8qpi=S&8LfRLJMQ_&eda#VrERfE$zzuL-WW$&U)7vm+x{}YeJf69P1~BK zzW&f#QK1}G@6-oz>7}!-3M5^4Wz#aV)u3@_;tJ8|>%vb=zASnDU0~9j_I2S2b1p11 zWxW%5$BfHkvuTc&%LD&L?z86=7~>BA*|hQ&=OooRjC=Hwvu|9n`Ekxb-0hq^_y>$SAQ{+^RYc~O-K zBP3z*hR0V6yf00*JXa87vqUjjukFXitaZOjl4c$cwR4C}zRxsqP4CLtf8O0XvnTcV zk~yVyAKxAO{Gim{)cE+d!0m?4(ffK|2hNo?eUl~`FgsE8!eT0NuB<;lD11tRsH_pnaQlYa6?RYf38a7n_ZveTt~YTKi> zoK!!SHFdN6XWj^dV^?3QriY9Ber{gPy~E_HwVKZ-i;u|?Ti8zAxMN)EyXnkT!Jh}$ zhZQVYeKh=h@nxsti{=q?dETZrP0s2Pw0C=UAa>jGjZ*VZ%-p;2NL5V3`)3=^b7{o2 zh`X&@n#k5Pn{m%Mqu`FoI?s*Tty2}5wX=EjGEca=xZd4XRkArltkcsw=;=S6RC-NH0aOP>I^}V@yUE$K(D?xmciF}r^idQ~w`!0IeG2NoDW9E5@f@zi9x3~*s z^yX~Yc;KJ?t%MJ!wcof#?%HS}j;J+6B>4j;PfvCD8uFsoRQ>+bg#L==}?|KFFCcXUeO{a@F=e69+9=^=Cf z_3UjEEwgRDn8Z2q@`_uVPCPHY?X1*+KN}5gftcG{^Cd3zu$_E_-zvVz~8vS?}WYC;<+ln>pd?N%zVjS`8D?b&SvBA zQ8VoG-r;E-hQcnef>7g8FsMM&DdT>F--jD!+*x`Z#C4oSg> zmkMn4G2tGLZ1&G`=W2F1omsZ))tp2w4Q6kHG|8ZtqQBCzzuz2FR4D#4uh;viP@ZCV zPG~60L@T2@L93lf@k^)p+&#ED|JEF_1rjma*5{u3aaH8Y*|awA(qp_ox{kH~Eq!oq zLq(1Eid)Tp7Fm8h*%32m+FNPXTBb9LocDAI@8a-?eRF2PikQPSIeR1aXI(OHv+)XS zycmACYvs9;qld3PiVm2&?tPZo^`~!Nv1zfTo<1yf=?BlYn};UtJLjg+Rr)dd`IUp- z3-?-H{n(bNwpApu`^wv^W?LA_bsF^ME%Rw_oc?Z6m~N8Mv)zmHb{BOs`MM~!!XYn{3*DZ=#q&Fhs)_a%1lOl(V3wZ;5F0p z>vgph!&|lGu^QM`aY|GLf*@RciX5{aYc| zr2iJJK?jvj@$BrB~LcU)|l-H(%#&(H8!IPbsR9rf%ZANgjAeoxaZy=SDQCoki)t5#%|`Mr{O z&+RuaM<-3qT%#nk-A*U};k6*kr8{OGv1eGSljXF9<1DXxN9ghRl9}2$VwpRSxX-LS zSbI8V=DCD*i!K*#?#bSflDlmVN7=o!LpF!jT5Vf?z5dbfsHZFsdu$_`IJqS1)5Vux z&_7UY^x*~1`o7p(3p?{u;$Ei3BuGbh3nWjQd|CX0+tGOwGQu}sdp_e(OYiZ?+BYXp zUZz+oxcu51^9>&>nx^mdi>-M!zl!hhGC6h9^ZDcTw=Z4_KK)YjqsZ!B zPJ{I~^|;^EerSzIi|OEAH-ERI@2QMl$ZO;jz=-o=(a8vj5oh zryN_bzWc z*PUJlv2zn0%im01B;00s@re~<;yTXjjvuDY-*QfJ^?ILs@188*AM*d0%4GYX`qj&i z?fd?h{m=9K@A_Bwn=bmhQLOikOLM)=M-K+|%kv{<{(B)Gx-2;4*}iGN9@jfPl4K8C z)~y=*ZSp#8iJ9SUp4YZq*txmO{LJyL{`k8`ec4Zhr%q(=7W$>jIIGLDd~tp5Bh3r@ z?H3=mExVU?@$IR{ayHHDs_&I5#W}w6kyI;vxzzn&`Xj4to!8IDsD+(#`+Mp4)3`MS z+Bg5tU+}>2Pn7vd-+My$@{ec8xC=|v?X~W?;J7+!o}rmd|F_JSvu`c=^6s9~ZryG3 zTSM=zJ~#DBW$85jeNG0?f)8^~Js@@Y(?`FR8H+aW6b?3*j9wsk+y5#T--9U*(%sWJ zBGY=VncTW?b#wp8jS3wXMDiU=clFox#XdP>7Tj_zk6Unx@%(u!H|-C8%X67ywZhkn zZGS_0Z||3Su;;IsibJ#s_uM6n=OSH28Oj*XrqrA{m{J^ZX1%jrT-m>}Z`zx3mCN6nPgU0Z*wFK>?%2D)XVcF-KeMd3j(LLiGt=J2ogKRAL7$5= lYISc-FE`&9)xfjeq4?^*_z2NANt~Z^Zae&~Ke@di7XU|Ntb_mn literal 0 HcmV?d00001 diff --git a/core/assets/zones/fungalPass.png b/core/assets/zones/fungalPass.png new file mode 100644 index 0000000000000000000000000000000000000000..c59fbc57e301433bb301b63dbdcb8d9a49569bd2 GIT binary patch literal 7379 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 { - Tile other = world.tile(x, y); + Tile other = world.ltile(x, y); if(other != null && other.block instanceof PowerNode && ((PowerNode)other.block).linkValid(other, tile)){ tempTiles.add(other); } diff --git a/core/src/io/anuke/mindustry/world/blocks/power/PowerNode.java b/core/src/io/anuke/mindustry/world/blocks/power/PowerNode.java index 94284f983c..e4147f7e73 100644 --- a/core/src/io/anuke/mindustry/world/blocks/power/PowerNode.java +++ b/core/src/io/anuke/mindustry/world/blocks/power/PowerNode.java @@ -1,27 +1,21 @@ package io.anuke.mindustry.world.blocks.power; -import io.anuke.annotations.Annotations.Loc; -import io.anuke.annotations.Annotations.Remote; -import io.anuke.arc.Core; -import io.anuke.arc.graphics.Color; +import io.anuke.annotations.Annotations.*; +import io.anuke.arc.*; +import io.anuke.arc.graphics.*; import io.anuke.arc.graphics.g2d.*; -import io.anuke.arc.math.Angles; -import io.anuke.arc.math.Mathf; -import io.anuke.arc.math.geom.Intersector; -import io.anuke.arc.math.geom.Vector2; +import io.anuke.arc.math.*; +import io.anuke.arc.math.geom.*; import io.anuke.arc.util.*; -import io.anuke.mindustry.entities.type.Player; -import io.anuke.mindustry.entities.type.TileEntity; -import io.anuke.mindustry.gen.Call; +import io.anuke.mindustry.entities.type.*; +import io.anuke.mindustry.gen.*; import io.anuke.mindustry.graphics.*; -import io.anuke.mindustry.ui.Bar; -import io.anuke.mindustry.world.Tile; -import io.anuke.mindustry.world.blocks.PowerBlock; -import io.anuke.mindustry.world.meta.BlockStat; -import io.anuke.mindustry.world.meta.StatUnit; +import io.anuke.mindustry.ui.*; +import io.anuke.mindustry.world.*; +import io.anuke.mindustry.world.blocks.*; +import io.anuke.mindustry.world.meta.*; -import static io.anuke.mindustry.Vars.tilesize; -import static io.anuke.mindustry.Vars.world; +import static io.anuke.mindustry.Vars.*; public class PowerNode extends PowerBlock{ //last distribution block placed @@ -111,6 +105,13 @@ public class PowerNode extends PowerBlock{ Call.linkPowerNodes(null, tile, before); } + Geometry.circle(tile.x, tile.y, (int)(laserRange + 1), (x, y) -> { + Tile other = world.ltile(x, y); + if(other != null && other != tile && ((!other.block().outputsPower && other.block().consumesPower) || (other.block().outputsPower && !other.block().consumesPower)) && linkValid(tile, other)){ + Call.linkPowerNodes(null, tile, other); + } + }); + lastPlaced = tile.pos(); super.playerPlaced(tile); } diff --git a/core/src/io/anuke/mindustry/world/blocks/production/Drill.java b/core/src/io/anuke/mindustry/world/blocks/production/Drill.java index e28ca954b2..96733ce165 100644 --- a/core/src/io/anuke/mindustry/world/blocks/production/Drill.java +++ b/core/src/io/anuke/mindustry/world/blocks/production/Drill.java @@ -147,7 +147,7 @@ public class Drill extends Block{ Tile to = tile.getLinkedTilesAs(this, tempTiles).find(t -> t.drop() != null && t.drop().hardness > tier); Item item = to == null ? null : to.drop(); if(item != null){ - drawPlaceText(Core.bundle.get("blocks.drilltierreq"), x, y, valid); + drawPlaceText(Core.bundle.get("bar.drilltierreq"), x, y, valid); } } }