From b079955b52e7475bd348307095652a82dede5f87 Mon Sep 17 00:00:00 2001 From: Anuken Date: Sat, 12 Feb 2022 10:20:37 -0500 Subject: [PATCH] Disperse turret mostly done --- .../payload/payload-mass-driver-base.png | Bin 0 -> 1445 bytes .../payload/payload-mass-driver-cap.png | Bin 0 -> 904 bytes .../blocks/payload/payload-mass-driver-in.png | Bin 0 -> 599 bytes .../payload/payload-mass-driver-left.png | Bin 0 -> 892 bytes .../payload/payload-mass-driver-out.png | Bin 0 -> 565 bytes .../payload/payload-mass-driver-right.png | Bin 0 -> 858 bytes .../payload/payload-mass-driver-top.png | Bin 0 -> 1745 bytes .../blocks/payload/payload-mass-driver.png | Bin 0 -> 1388 bytes core/assets/icons/icons.properties | 1 + core/assets/logicids.dat | Bin 4108 -> 4129 bytes core/src/mindustry/content/Blocks.java | 6 ++---- core/src/mindustry/content/UnitTypes.java | 6 +++--- core/src/mindustry/input/InputHandler.java | 9 ++++----- core/src/mindustry/type/UnitType.java | 2 +- .../mindustry/type/unit/ErekirUnitType.java | 1 - core/src/mindustry/world/meta/Stats.java | 7 +++---- 16 files changed, 14 insertions(+), 18 deletions(-) create mode 100644 core/assets-raw/sprites/blocks/payload/payload-mass-driver-base.png create mode 100644 core/assets-raw/sprites/blocks/payload/payload-mass-driver-cap.png create mode 100644 core/assets-raw/sprites/blocks/payload/payload-mass-driver-in.png create mode 100644 core/assets-raw/sprites/blocks/payload/payload-mass-driver-left.png create mode 100644 core/assets-raw/sprites/blocks/payload/payload-mass-driver-out.png create mode 100644 core/assets-raw/sprites/blocks/payload/payload-mass-driver-right.png create mode 100644 core/assets-raw/sprites/blocks/payload/payload-mass-driver-top.png create mode 100644 core/assets-raw/sprites/blocks/payload/payload-mass-driver.png diff --git a/core/assets-raw/sprites/blocks/payload/payload-mass-driver-base.png b/core/assets-raw/sprites/blocks/payload/payload-mass-driver-base.png new file mode 100644 index 0000000000000000000000000000000000000000..fb55b6eb6f398d11bda6ace15ef7dbd276f4a1a6 GIT binary patch literal 1445 zcmV;W1zP%vP)Px)Ur9tkRCt{2oj+^aKp4i~n0|;93|Z_&rE4J2pEND`C7tg5E8WTWK%hyb)4k8ncc)i(@|}EGe0(g58CdA@q9h%^ zT+L1DQCCd$nrzB7+~03Z3a3__Y79p)nGXOk0RT7_2(g(D@E-s`To7VVUv-{Tf5{Mb z>a(s->VMdj>)=V;L3_EH_tMWxBr!kq;cfG6(sG>mLdPhsCoBMx3yx6|FB)AC^}?7g ztEv}&PJ_qX-u>oQsrPHo=Fhp+0RTY@(5gVn(uiFQ0N^+wXvM4o06-VQr}J=EF=UyV zv8n+8h!;Yv<^y;DPzP4&c|K_vr`?*kG5T^RZwsJa2z&g^-Ct6<5(BB{V(UirrYmvn z?1HctqE@I62v+7hVPg(GH3;SbMKKd6UEA$L<8L>j62qbz+E&Nu^sMuoO}XwI6E@{K z2mmz*`wA(F85G5=vl4BAr6Nq-eJugoLeO_XbqLkpeGpPM--!c((j}8_L!IeuEus!# z4CXsgAW+9cavsptr#T3i3daOUtG=9DRMEq@HvRhf9ewO}`w$%H>c?YbQKmbVQZ`1a znef*ypULN74WJsOU8dxmE={yDMUMGSp`a{`k{GE4;qs!~wE!suiTO^xpe&5iFi={C zo0{E^0iVuK$;k_Vj`>a&1GD8|&m9x0^Wq0%fW>3rtV7ioB{T-%48cxqD?(atL#q&; zd6to+w9cmw`98Ql|D4#jp|P*;=~I$kLzIYJUX*bA?Qjr^DZ{l;ebAM5*{X>c04)nm zO%}1K0{|E&1gn@#004{&f@Lgb0071T!8(QsC;O!+WeC=FU#{l67GMn_t0|X9?QcVU z5Z*n#*#A4<`{Pvgvg%)(NMk_Ge#4^nCgedlL-32!m9y@GC=gQ4j45^Jj-%|`Pz(f1 z^QY6ZgC8qlVvyX#i1L6g2-fCf{-&j_SfqE5CW%fB?ACJZykS3N^VlV%iy6h zaEU|!x+ZA)hA@=*gRKj~%#K+@sQy?96N3Z-3jk$mGL?+9O_aKGA&>#&d11de5J&*B z`C(BZ9K0dZrqJ^0tfnZ-`&Hf%%c9HmCTed<`jlE?RF!qz_issBDP{AWtYa_(Fb4CT zEMrM-Qhq2UGbukt^PMbW6TKt0T+Ly-{h?KtBvglR0|PvY0LW`ZtCB3vYHb0O<<(g` zahLZuT0nkT!%l6z#sPqAzP;)Y_5ir%UtKR`HL9q-;#uQSwndrMvN@_kPj%l^F7j-mJriiF{Un8*NfoSG;{VAAOUdZYe7gw)mVHG+~24W z&;aVD9}9%G80rw}rc)rG0Qk%vJA|&fI|x3ru@FvPzj^=IbpWOy&en$3JDc{gb1LQo zDB3>&OOd+4Lm%c?1H;A~I?fA#I+$Q9)aRbQRuHHkxUS<{0dTi!(%xTEW6nW)-hvyW z?>yB^SaWZBP2)7n(u@&65kRcwTa>98s|o<^PelsSidhWc7|nOmh+XtBZd0z0em`LV z+5VF37NGr9Fl9-+U;)VHH^ud&wF|N`IE7{K+?_-KaK6>Yjo#i9PQiR9tGaH=bt56` z1wcyXJM{&@9Dwz01g literal 0 HcmV?d00001 diff --git a/core/assets-raw/sprites/blocks/payload/payload-mass-driver-cap.png b/core/assets-raw/sprites/blocks/payload/payload-mass-driver-cap.png new file mode 100644 index 0000000000000000000000000000000000000000..22537889ae9409cf708af2918970e2468b65553a GIT binary patch literal 904 zcmeAS@N?(olHy`uVBq!ia0vp^2_VeD1|%QND7OGojKx9jP7LeL$-HD>V0Q9!aSW-L z^LDnqpNyfz(fux#E_@7UmiqiF{zFeqtZ@t5G>JX|$H zNP{UTal3~G=R#MfRdUl>mNmZq@ucMU=fl6n=l}olTmN^pynSun%5Rd10&W{3WK!zu z>b`txB3ceD)z+G8vJ0c!d^%fp?0zY`Pcl(9;F6HU!|6g!^Ob9i8yZ%s+qvfc*!k<& zvzKyNyVu_Om877%AdG3ToQsBBz}Ex26t=ZY`gBuh!c*tt4AWX>6-5eNc%)xB@7rrpU-UT*$aBHyX!s&UK4 zP=Stg=Mz;6k{P0#mM=9_*>K2QIsaItN`>pxlHz+4Y?eoy`EXW?b;_BdB1Ypw{0b^l zWQ?z!o3tw0VKqzIk47<0+e7Bed!$djczxLFfbhQOYb@6=O2m4+{Iyk70LVyfYnm%g4HiVOP`g4gnW{gq&$?l*Ue;&#;scaH}g`oNhx z)!^#WtzHuQgiWS2+!J2(<-ViSs_GR}AIRossV<2-!6hUiU9=_l+DZX0)hT@6mI^Jq z*Oq+uz(P5*1u9q0ZP_FAjO%_+jZ$02Cf&<1E`Q(bPLI{w)@$22Z@K)|V;{D(Yz({b z_)+}!*{y{fwuj|c+q>#4yuSAIx^Qd#_4(V1Tja0Xf1P{wSz-SAJzR<{H}wB8dt6xa V?nqnLZD7`7@O1TaS?83{1OT4cmAn7| literal 0 HcmV?d00001 diff --git a/core/assets-raw/sprites/blocks/payload/payload-mass-driver-in.png b/core/assets-raw/sprites/blocks/payload/payload-mass-driver-in.png new file mode 100644 index 0000000000000000000000000000000000000000..f8427f0ba98993527d66ff96c50fbbe399178ba1 GIT binary patch literal 599 zcmeAS@N?(olHy`uVBq!ia0vp^2_VeD1|%QND7OGojKx9jP7LeL$-HD>U=s9naSW-L z^Y+eOU*0YDW2xT9A>i~v?qe(RapyaeAiJ_BY;wmN&myRG=Airf9P}Lq&_6Z#iR%$o6u;||fDy=YJozRhx%BLWB z@Q~_(*QY-peEj^)#on*%I;TCimw)%&-q8Quys6gsF4MH9Prg>a2`gtf_Wh!0!^giS z>)`Jn1CIgdPSMkz>qoKJQqu{j?@Cpz;9yHxXQ~X7n#TaO`OW*RN7r9@VD# z?_M(~{V<5_5IlJ9Po3lEnkT%oc`8nCO4*YdX;jQ`Y`YbP0l+XkKhG+!v literal 0 HcmV?d00001 diff --git a/core/assets-raw/sprites/blocks/payload/payload-mass-driver-left.png b/core/assets-raw/sprites/blocks/payload/payload-mass-driver-left.png new file mode 100644 index 0000000000000000000000000000000000000000..f106c50bec140363123595f7b8d12c84daf0b2c2 GIT binary patch literal 892 zcmV-?1B3jDP)Px&Hc3Q5RCt{2ok30&K@f)P84sZc@Cqg*-arE(ap&5&Va)+pdIRFxorXZf6PS>& zXXOFp7SF}Y#PQiZT~+;8gEjxRgn0w`KYF^SySfn}gb+f=gRm)mal75BK74m}vOT@M zFMjXv=vYKVKD>Wd{29G$HX*ki&J*tk@6JwCmd-zY*4bPsE&(Iehgisp#A9yhHu9$fZ=0s31Ij*%mNrbmXP%Tq6fYnKx_<| z3nF#G=7P>|UU+Z4DnjOh7``6(ToA*z0i6qC_;z4(K@8sqWKEdi`{@?I@cV$)1ra-; z0=O-yO?V5Sgk`z~y!v(1yoM6$6a`#=`(mnQpaehF7C;GOSbPLoYd$H#PO}f7gjiIa zuvNm<K8@nYCr89ziGxz1vwcN>KL!H3_4SFvups z)Cu=U&~(6BGD$Fxf*y;6EIdWt?DY1&SwD1jdGXidXzfzqYr>Y6u=emp00O)v>I{De zqy=!FfFIZ+Xru(|di7%l+6Rn~kSTl-@F+-RCt=JX>rNFFVW(;2> zP=F?|tf5*65nu^+?Gm~LaQ|>0kQOjPLe?YnVUM7>gs8AGN`UqOlwc=xGENhgC(uk1 zTmmd3m!+^W1?k1z0(vDd{2g8Y%24Ftg8Y8{HO2cwcOS6!7pYz#oiHW%fsKNeBpeFkTJ^%f})eCRG3GbT6z^Nq2F(Ji_iBagRi-LnuJ`0o1gHDGA*END18z!hSF^b*p za%f0m(QtzkWiP%qTzvlj{QS@7>uzk@8h1c8!DRD?q@8UHeDgT2tygWBoVsCN082&U zmoxIbH-4{BI?!N#=*)dirkojjh1YN-2;BW?-~=?y;6%lhJx&e0iyx-j%;GS3AZvF! zNa*apXPb3X4No`RoVKYWeM647r`hM4?J>nbJJXH-%O@EAsy-we(8F+)13_$%xE;i` zQFo~T3U%SlE<;8k7qPdT0wQ+}4^}xa=;vr1(LOEpfG?xrdYIXP?r7-;SC8_3`1Fpg zqPCV<=D`I9_ZcP!6zzBmdP13Ho?K&amoz(&IFGkrPA;>|i#rb2s+gEM7#JKD#-FR2 W*%+gAOca<77(8A5T-G@yGywpo@9rJ| literal 0 HcmV?d00001 diff --git a/core/assets-raw/sprites/blocks/payload/payload-mass-driver-right.png b/core/assets-raw/sprites/blocks/payload/payload-mass-driver-right.png new file mode 100644 index 0000000000000000000000000000000000000000..868968adefabdd9086c0c9c455681abb50ce1cd6 GIT binary patch literal 858 zcmV-g1Eu_lP)Px&6iGxuRCt{2ok4EYKoCX$ATGdy8^9(K2gqHrLz-koxB=k?zzQO<<1QQ^Qa0fR zEOLafp{2oU+f~(7ZBzZuueU!$ z5-6aNZ$Dqp9+OC*00&wmP=FIw2^8RnMFIr~xxfDfRd>MZSQ9a1sL#@KmkU)Bv3#D9ug?P8O{gn0L}+=guS2++&;csJkDNF2cjfU zfPx4K6rjXg0tFcGlt2MS)+9)wfCfAyP{77ezzWvwN>V6bf#~o73YbL_{^z&tekh<%<;Xmo35vC;)&g{JEEP%pqO4JG_91@UOqiU!F3w zfUUy^1{Sb~@PR=EM1;?EK|=NvJ}{Voy@d||&zr8^F_uP}Hhc+d8$420fVGS1y$4vb zyC$80))umt1nJhMR06#E_pPrakcJN=65u&`BKa=x2p>o!z>A*Y1BpgK))CCP?o@dzJCBw%UY)f=zyfkXm;J`y~`2NI2f3RlOAgY>Pn z)9Y$KKm9E4@PT9%P|#Mw()rO!~=M zfT-|KKi9J*kxIb-7Cw+jfF*p%HId;1i3C_#lAw`l9VHDf0H_DuBYYsyzcTDG@~P4K ze8385z~kYJ0*rV)8K=1g0e-ikGEY1=Q|8&0NF@MhmoQxuG?n1p6G|rluuGU*kX0l^ zG~`kW0Q3^pR>N7={76VE0FX=ADtsXMD9GcM5g9&^yaEc6N~l#qbojs^0sy^)9^nH6 k2>|30dWBC2A!Ka+0G9@A9Ci8uSpWb407*qoM6N<$g0M7YX8-^I literal 0 HcmV?d00001 diff --git a/core/assets-raw/sprites/blocks/payload/payload-mass-driver-top.png b/core/assets-raw/sprites/blocks/payload/payload-mass-driver-top.png new file mode 100644 index 0000000000000000000000000000000000000000..84b064a4f1aebf637c924e513de2eedcbdbae4d6 GIT binary patch literal 1745 zcmV;?1}^!DP)Px*i%CR5RCt{2ojq%uM-a#7u1V!0g+mIvlN(`|3HU2W;NYlL5eUcvgHV;$r`DA$ zFgU8+${_*iD+H2KLd~hO3u6~9Ql-(Q(OmZSc6VlWXJ4Mv{wuv4d%OSNzCXM3jP~{? zv-R~g2x)g`dldXYms4+!-_EGdjIXBWaCv!^oKV-IxSovx06GL+NxT~44;_Mzq#ljU zUpj;|#dtHe|Ii`CDb|xE0013=R4HCK0RVIeT%~&81pv??P|_&-2moMXb1Rt8+Ji^X z7i){sFn@Pvdo(vK1;Vq(Qvd)MJvz7*5N78uW&i-c{`nv}4Xm&WhQ&ZY^HHk~0nJCn zKrnlYC9@H}c|z;9F!#AaJ{0QUA<=@b1II zU>Xhx#mzVJvIK!z;c_5I#=YQPkgbO=UI!EY>Gf2)cT~;%o4j0uQ3*NQ3)FN|I_VGr z0PsWj<*$zbz}vvv+n>y!viT^4aFZvNd=O%0e9==xvpYibP5JhYOgPjAAL@_ae~ZZ? zJo(`%>vJ)A0$A*hVyD|lbM%XY=QEf2C>w&SWl#lm*jWUFg!~C<;6V{luvAGqT-ljm% ze)O7Ur&2PfMlsE|)5ZKR{XGYSqr-{1U%9r5M|=Ad_99EG=G)SQaCA6f@1jbS1HioY zaSE8re3S+Rqx(^ZkW@H_7Mea~?)v&#(129)Icae6h_d&NG^ClBx8HS{Y_E`QBQ(r6 z71I&|Q&6>*panoQ==t`D5CZi~I#!YeBV!S!0zspor1>c7gx%%kRhF5CDUDNrC=Ce7 z&75mK09~tcn-4&@F3CbrV>?}Y5cZ1Nl`MI-l!B0JE5xND02t;Ms|YA+kS_%xd%;^Y zAJqbctc7pcd{k`+*$fzh`KX!@s+iD{`6%s$A6Lb{G{=65l4dm^G*=UEn>v8X>HsRM z7JwG-3{=TeZvmB63qX^zpc-G=TR>%X0F~7NR90~SIUZ~)iTz|xQ&n0(3l}qN)i56* zBLHd#u_XwU`P_>hG0NHkh5(_a`2YpFpq3%jHXoqS7|XM;+a z51;@*@(`ni_;b|JdC7@sjVF7}98ENp>x>WrcAZ5981B);d0MfDb6wJYZfuV;HiV%c z&Yh=cLkKnLQV@KDJVKDnpC*RGsH1S>D|1s?YfaVU0Z*07aSpC1ZujIyqXR=E^mIDuQQL#l^mn3RD zfZ_`rLfsA*!qCk}aUp~Pdy8IS!s+uV2&-Z~ih^+bUlyEfZJ?7DiuOBfNuW(N`Vjspqsy}SO{VO-F&}dAcz2T^Jz&T numN=Q`I10j0qEw-#f9)6pxFf}Ead_K00000NkvXXu0mjf9MdH< literal 0 HcmV?d00001 diff --git a/core/assets-raw/sprites/blocks/payload/payload-mass-driver.png b/core/assets-raw/sprites/blocks/payload/payload-mass-driver.png new file mode 100644 index 0000000000000000000000000000000000000000..5346bea41b692bcfe28cf31a67e9a41b9e7cdb81 GIT binary patch literal 1388 zcmV-y1(W)TP)Px)CP_p=RCt{2oxf^SK@`SM#22s-w2#e#tq|}D6cn*dCnSMDOqJH8wNk6NV3$^w zUC<{G0%;A~B)tI(A7L%R!S!+#1|T&* zwQ2TAJNJHz%2}RS1t3TBSzZvt0CF~;yH0yHnENH13aLpqie zlJ&TfRPHTc$Pm2ECjtO?`s+MeW{40Z=6`&X{#dmDzJL3w%4QfF1P}8=86v?JkSl~X z%_oX=Cf#6 zi>T8wFl)`1D0aXj+5*t0T>5;X5`6|(a=J#;1)(4y&0oxCw3yFmGTDT_xhM$IqfO#5 zAOxX{pD?H!OS*s%>i?zY6DbGb6bO<5SfZx;pdd)@gD{`S5CwG!LGt-j2yL2A6p4bg zI=Z-t<_}e)AXLj(mj=RmcavhiRq#DwO-t}FUn@4f3-gHp0IVtMR`Z+cvnI$|yDh}& zAV>>n>zsh3p0niw%5| z-Vh`$%>#m$`9#i(aS{kpP?~N|YLaB{+0%R?BLGd5(`2xR`78tkO>%%WN;0>AR0y8t zvr-_mVLnmfUl|hl^z}RskeDyoYvwtCM;DShKS&+}v?pn#LWZ_p(Gg;D1~ad#zq;xw z&j>X$hQ7Ta2y7B+3o_K|P+5GuPaN7QLoQ3eyN@b_>KmF0A=c%kLa62hRUx3)gk1V> zh7jr=tPrH*jTJ&DA&Vh+EXcVnv&Kx&LeLKOS_rXhI7`ltM6R0+CYAy@`^yA2r92w1m1=;B7upO8|)eH=#}Q>*^0_9YP!C6SW9{ u=+=ZT%wMlRR%W@pZq59nqN1Xry!98Fb_qTYyJENi0000 !playerControllable || u.team.isAI() ? defaultController.get() : new CommandAI(); } } diff --git a/core/src/mindustry/world/meta/Stats.java b/core/src/mindustry/world/meta/Stats.java index 742400989f..7056c6fa2c 100644 --- a/core/src/mindustry/world/meta/Stats.java +++ b/core/src/mindustry/world/meta/Stats.java @@ -14,8 +14,7 @@ public class Stats{ /** Production time period in ticks. Used for crafters. **/ public float timePeriod = -1; - @Nullable - private OrderedMap>> map; + private @Nullable OrderedMap>> map; private boolean dirty; /** Adds a single float value with this stat, formatted to 2 decimal places. */ @@ -91,8 +90,8 @@ public class Stats{ public void remove(Stat stat){ if(map == null) map = new OrderedMap<>(); - if(!map.containsKey(stat.category) || !map.get(stat.category).containsKey(stat)){ - throw new RuntimeException("No stat entry found: \"" + stat + "\" in block."); + if(!map.containsKey(stat.category)){ + return; } map.get(stat.category).remove(stat);