From 311118ae5890aace2707654241513c1d9ae3cf13 Mon Sep 17 00:00:00 2001 From: Anuken Date: Sat, 9 Jul 2022 00:33:15 -0400 Subject: [PATCH] Hastily implemented final endgame turret --- .../sprites/blocks/turrets/divine/divine.png | Bin 3236 -> 0 bytes .../turrets/malign/malign-back-heat.png | Bin 0 -> 2814 bytes .../blocks/turrets/malign/malign-back-l.png | Bin 0 -> 962 bytes .../blocks/turrets/malign/malign-back-r.png | Bin 0 -> 943 bytes .../blocks/turrets/malign/malign-end.png | Bin 0 -> 1133 bytes .../turrets/malign/malign-front-heat.png | Bin 0 -> 2472 bytes .../blocks/turrets/malign/malign-front-l.png | Bin 0 -> 997 bytes .../blocks/turrets/malign/malign-front-r.png | Bin 0 -> 966 bytes .../blocks/turrets/malign/malign-main.png | Bin 0 -> 2107 bytes .../blocks/turrets/malign/malign-mid-heat.png | Bin 0 -> 1203 bytes .../blocks/turrets/malign/malign-mid.png | Bin 0 -> 1525 bytes .../turrets/malign/malign-mouth-heat.png | Bin 0 -> 2336 bytes .../blocks/turrets/malign/malign-mouth.png | Bin 0 -> 1927 bytes .../blocks/turrets/malign/malign-preview.png | Bin 0 -> 3517 bytes .../turrets/malign/malign-spine-heat.png | Bin 0 -> 2595 bytes .../blocks/turrets/malign/malign-spine-l.png | Bin 0 -> 631 bytes .../blocks/turrets/malign/malign-spine-r.png | Bin 0 -> 631 bytes .../smite-back-l.png} | Bin .../smite-back-r.png} | Bin .../smite-blade-bar-heat.png} | Bin .../smite-blade-bar-l.png} | Bin .../smite-blade-bar-r.png} | Bin .../smite-blade-heat.png} | Bin .../smite-blade-l.png} | Bin .../smite-blade-r.png} | Bin .../smite-front-l.png} | Bin .../smite-front-r.png} | Bin .../smite-mid-heat.png} | Bin .../ravage-mid.png => smite/smite-mid.png} | Bin .../smite-preview.png} | Bin .../smite-spine-heat.png} | Bin .../smite-spine-l.png} | Bin .../smite-spine-r.png} | Bin core/assets/bundles/bundle.properties | 3 +- core/assets/icons/icons.properties | 3 +- core/assets/logicids.dat | Bin 4581 -> 4580 bytes core/src/mindustry/content/Blocks.java | 339 ++++++++++++++++-- core/src/mindustry/content/Fx.java | 2 +- .../entities/bullet/FlakBulletType.java | 6 +- .../entities/pattern/ShootSummon.java | 26 ++ .../world/blocks/defense/turrets/Turret.java | 4 +- 41 files changed, 349 insertions(+), 34 deletions(-) delete mode 100644 core/assets-raw/sprites/blocks/turrets/divine/divine.png create mode 100644 core/assets-raw/sprites/blocks/turrets/malign/malign-back-heat.png create mode 100644 core/assets-raw/sprites/blocks/turrets/malign/malign-back-l.png create mode 100644 core/assets-raw/sprites/blocks/turrets/malign/malign-back-r.png create mode 100644 core/assets-raw/sprites/blocks/turrets/malign/malign-end.png create mode 100644 core/assets-raw/sprites/blocks/turrets/malign/malign-front-heat.png create mode 100644 core/assets-raw/sprites/blocks/turrets/malign/malign-front-l.png create mode 100644 core/assets-raw/sprites/blocks/turrets/malign/malign-front-r.png create mode 100644 core/assets-raw/sprites/blocks/turrets/malign/malign-main.png create mode 100644 core/assets-raw/sprites/blocks/turrets/malign/malign-mid-heat.png create mode 100644 core/assets-raw/sprites/blocks/turrets/malign/malign-mid.png create mode 100644 core/assets-raw/sprites/blocks/turrets/malign/malign-mouth-heat.png create mode 100644 core/assets-raw/sprites/blocks/turrets/malign/malign-mouth.png create mode 100644 core/assets-raw/sprites/blocks/turrets/malign/malign-preview.png create mode 100644 core/assets-raw/sprites/blocks/turrets/malign/malign-spine-heat.png create mode 100644 core/assets-raw/sprites/blocks/turrets/malign/malign-spine-l.png create mode 100644 core/assets-raw/sprites/blocks/turrets/malign/malign-spine-r.png rename core/assets-raw/sprites/blocks/turrets/{ravage/ravage-back-l.png => smite/smite-back-l.png} (100%) rename core/assets-raw/sprites/blocks/turrets/{ravage/ravage-back-r.png => smite/smite-back-r.png} (100%) rename core/assets-raw/sprites/blocks/turrets/{ravage/ravage-blade-bar-heat.png => smite/smite-blade-bar-heat.png} (100%) rename core/assets-raw/sprites/blocks/turrets/{ravage/ravage-blade-bar-l.png => smite/smite-blade-bar-l.png} (100%) rename core/assets-raw/sprites/blocks/turrets/{ravage/ravage-blade-bar-r.png => smite/smite-blade-bar-r.png} (100%) rename core/assets-raw/sprites/blocks/turrets/{ravage/ravage-blade-heat.png => smite/smite-blade-heat.png} (100%) rename core/assets-raw/sprites/blocks/turrets/{ravage/ravage-blade-l.png => smite/smite-blade-l.png} (100%) rename core/assets-raw/sprites/blocks/turrets/{ravage/ravage-blade-r.png => smite/smite-blade-r.png} (100%) rename core/assets-raw/sprites/blocks/turrets/{ravage/ravage-front-l.png => smite/smite-front-l.png} (100%) rename core/assets-raw/sprites/blocks/turrets/{ravage/ravage-front-r.png => smite/smite-front-r.png} (100%) rename core/assets-raw/sprites/blocks/turrets/{ravage/ravage-mid-heat.png => smite/smite-mid-heat.png} (100%) rename core/assets-raw/sprites/blocks/turrets/{ravage/ravage-mid.png => smite/smite-mid.png} (100%) rename core/assets-raw/sprites/blocks/turrets/{ravage/ravage-preview.png => smite/smite-preview.png} (100%) rename core/assets-raw/sprites/blocks/turrets/{ravage/ravage-spine-heat.png => smite/smite-spine-heat.png} (100%) rename core/assets-raw/sprites/blocks/turrets/{ravage/ravage-spine-l.png => smite/smite-spine-l.png} (100%) rename core/assets-raw/sprites/blocks/turrets/{ravage/ravage-spine-r.png => smite/smite-spine-r.png} (100%) create mode 100644 core/src/mindustry/entities/pattern/ShootSummon.java diff --git a/core/assets-raw/sprites/blocks/turrets/divine/divine.png b/core/assets-raw/sprites/blocks/turrets/divine/divine.png deleted file mode 100644 index dda307286057fe1acc4b8102d4adbcab9914e151..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 3236 zcma)9c{~&T|KFBlj!TvX95aTBNW@~zC-;@B9K+JE9Ep!CYezh1BR>+yL1@qQi8*X#Cq2RuYvMH~PCK5Rt$p1pxD0sxX;b~sCyn8KAJ%pKJ}SYHr?*hvu<0Iq6= zELqVCqNu{~2xYNhTfbz~`%(%9RN$0$zU?Yb&4MDt1-}Kd=lz>1+s%Gm^gQ`Ki2_)? z?v>=S=e6PXT9WbrYM zzY}6T%nO^oUew#n-hhOGn%!YUKv98qQU7~hmgsS_qTLAsfD zq!vm|(vlf834|!Ctieh^XG3^0qGr`bSL|lL43_`p9@S6G?3E&qxW+!c-f_*xNBmfb6gL^Y45ZM?{J*FGY2zFpaJ{Ms_mCBC(6CzZoyUDR_%s z#*F|j%KAWcegeLRh5vXWFNVMLK?b9_5u@`&+THCF3C4@~jr4hp1=RJm5z_e=!4!9n zt_l$ADo8IQf0cUFgknpj*M$9*kU<%dw+Is5oU00s)>vLo9f4T5^bkb&mn>pHb57TX zM5?w;5m7+s)NCfyERMWanM6BLkxpUsOJI#CCPIlj*-~36_oT0 z76@;hWS)LZVc!}7`PNEh*?jjbOOQOE*W;Qob{wsd53oy{9NX{!b{m$lls~0!cy-Zp&Zf+zNUR}1nkR;8Tg#KIY zVPbH*W)9p!mlL4z&4Bma%^S*3eqqk4(xQTCfMJljqMR62L12{he(Y_^Uqh))d9YKI ziPRc@(lL8eh;ZM5mIScZA;v^P>xK5Xa zs6p|3dnr#VXQF5T0QVSiMKhyIQHd5=x69bY#co+{R_9i+0Va5>gO6@Aaui^pm`x?AO zL0P|9Gmt~DU$e4ehKrSaHI0$@?%_Fvll zO?8Z{73uaO#y1Uu)SWs#!@=MRD+#<8FM##s`AUON!&x3ocq%{O=C$notAjw&DFH2a zTJf^vp_^g42jXhA1o}SLKK*w^m#uiv*KX89LPVqORxUcLh8HlnMuB!nXYdX5L1l>f z!WG{%#|wvLuu*fM$vz&!NT$1^vr>Ei#p?oE;a3U_YM-j{40(83E&4<7b5Q|J>20bu z{@T0B@abt!OX>b3!NU049ikd<#dAM_XghQRT$;}OSY zfF<;)mT3MU1Jd`zn)dC&GDh9fL`TN=Ho2I^ZX$GuZ&LK;e)h4UzBd{DJ%;($A2yNh zLT${*CgR<}Jb6UI-yzMh>QG>5uZ9*r*2)NEW@ikZ(U^ox(3&jvt#h$5k8EtrG^wyK z@8lwC%u9!%AR5-{KIx-s$K*Y5oZL6z(yd*vFiAuJUBI($NhK)B z4Z}LstPCVN^^(yl-FY`&h1?FhH1J~hqzsbtWmDTqg^p_n-R&2}x)hE52wtq>!43)6 z`St$`^`-u$Tet|ASJBa>Ds%qvQml3X*hBIl-NU>9#+IuJfSEb~;;79wB)+xM1~jT% zm7@+NX<4I<>MgjSD_@1)!+z*-bmExHIh{Hevj>syRnx9;m(U(tb4h2*#6N0d^nd$(JJL>v}w>jpBn~qEr68 zVrzDSg(W!2(YCg8n0Ic`C*}N!XxWOt1Kj##S$m5Szvt?`?gv}i@;yAWcWn67u$Sq) zB3;V9Z|GB6s4}}`6Pn#e?0xMr!RJp5Wh`7PJ46R-O?6IZ7!jmVKlIk~=#Csfv9j4~ zW_)g1SScV-MJc?Qeo^JoCZP1coBm)Dz(XZp87pC1fN1;(7b9^)3eX#&IiI&3&it6! zb?A-BS{|PnUA6)6S9=noNoz}Au|H<6c^%&&Y@Or!w_EF2V*_(~^^OXZbl!N<(=xr5 z>+L-;b?I>lmXm0YYJg_9=^+d8nYPQ>r44zlq4Ap3iCL6ASR-e}SldI;vOs9OcwJ~e zkf;cekz8(dtaILe-N3?z_|y?l$&LDF@j^ID+O}|{DrPRB>vPivwVr_cPfR~FI7Lr| zRmL^^k1Po>ET!%=3)ky0`J!KMp|rZ~CT+c~69voVs7Yq&Yplq#{MA!{mzof70Gw$~ zhG~}=@Y+-<%BtnYKH_RnB{ypux?J&P#M^DAG7V=(nwOsQ{fvJs8JoWgt=+Z3-FajT z3gnI&&2I1d!+Yak;;|Z#>XXqxhJfH~3#nQ3(o7ZNA|)b^5XSQ8d*Xz?2V( z_74DSgZuFW9JarDNTSp5k%!{Sii1;XE(BKE3b4g6wEPj7h^)4~UWekb4cvTZ>GJ&K?3c8i zsC~d%2cnRO8&7=#V$QXD+}TQ}a!=D8rsFF6JP11ps9BWE8(;^jRKyG!+a8zGxjq0U z0Tl>)U@UL!6TduLt8QBy14tHqOF^l;`x6k>=CXZsX_}HAY-|5gYx9*`|_GRB! zrtS?46ho0VmLDZuK%@_5>N&d@#XmiCDm6#yCv&{YegTLG6c@onaxAzTtlMZiAm1!C zH?&y;kf$}7HqtQb)l4mhj9)PqIKC~Uw_~* zv4|AYa{i;|I(%A1zU|q{98jK!T6&|%w0I7hbKm^GxnFG~>AR*b<*D}e(Ei#1u(Ni+ JJ;Po}{vX^C0nY#c diff --git a/core/assets-raw/sprites/blocks/turrets/malign/malign-back-heat.png b/core/assets-raw/sprites/blocks/turrets/malign/malign-back-heat.png new file mode 100644 index 0000000000000000000000000000000000000000..8ecca1720dbd42e44da1a809816024df9c3794fb GIT binary patch literal 2814 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 WXbeBbsO$+^5sagoLzO-L+J6D!do#8G literal 0 HcmV?d00001 diff --git a/core/assets-raw/sprites/blocks/turrets/malign/malign-back-l.png b/core/assets-raw/sprites/blocks/turrets/malign/malign-back-l.png new file mode 100644 index 0000000000000000000000000000000000000000..f211c20d8c1ff592e2e11bded3a9eea1c21b24af GIT binary patch literal 962 zcmeAS@N?(olHy`uVBq!ia0vp^3qY8I4M=vMPuB%fjKx9jP7LeL$-HD>V6O3WaSW-L z^Y-q>JP~)90}ubZYF4l9oR4vgDEE@g^zZpNVEny0FoNgqW8X%=I zukl<+^P0`?%gV~j(#qcd*7CNyKljP}XF$$(C7>mwfNkm5fAP-Qw0iaG!2bGwpU$tb z|MBJi@%Q%e`)cpLso!&(cmEfD(R=KyKArkXkFMXJ*Ry($5#zc8SAI;Ir!122{Mj*a z!H=Joi+}vrU%#s-pg~q!H2zX@3)7pBmp>-mQxZvNpVp=SQqzgCEDb0Sr>4gA#$)Y| zb9VFHUE~G1HVAKh>>X7v!@Yr7_0j2#^6{69oEXinS?yaA+QO8xV)~CsVn9X3TOWC6 zxoaHYm6nbVGInCjy8^U5N|39d`Ps4QS2_Y3q=U8grM%=|-J!VjvG=q)hJp%_)4Bp0 zQlgcd80T%6v-ffBQe}|`owJ1EgNzQzd)o>=jD^7zvB5H?=f&$7~- z-gBlX91ztq4LngfZ{fwVycVXIl{*Eeb?DC&UdUiwQus~l^^KaWmh}1O+4U>rtLIpn z0>e6MCC7SwBl)g^S1RdVz{rSr$&r8i;f?-+cRbZOKz__hj{e;BOF6uC-}iI|G-w-` zADXlG?xpPRoxo64UFJ4JIR5nH(6=onCf{~HQaW`%xZqT7ZSmgSf2ud=D?d2(q_4%Y zdZ+iX>D~?6Axekj9(4;m$U57(VLC8?c4P%Bz0usqF?qtWWj;=MldTO;MrLV>-hX=g zy7ltpxgAp7SCe~wPAg-~bLl<$N+ubkcbU%4h`Gr*!0^5^XQSY@9{ocqOI8L=o^boh zFR^7Ehd<72nX_S%wc2qX*`Gp;c{eTzp6k_jYM8w}q(${ncLC3hE0c~l1V5c~e7f}f zWCu6tuGLpgOy`&&&F30swU2|b=s;bL_YroKO!4{??=y)B{zp%Ist1XCy85}Sb4q9e E0PQTMx&QzG literal 0 HcmV?d00001 diff --git a/core/assets-raw/sprites/blocks/turrets/malign/malign-back-r.png b/core/assets-raw/sprites/blocks/turrets/malign/malign-back-r.png new file mode 100644 index 0000000000000000000000000000000000000000..431edae31bcb69712c930ff2dd37c3816467243f GIT binary patch literal 943 zcmeAS@N?(olHy`uVBq!ia0vp^3qY8I4M=vMPuB%fjKx9jP7LeL$-HD>V9xY(aSW-L z^Y*UdWEoe9hKKJp>ReYX;t-OQbmvi5))ZlLZR(7ZWnD32MM%n%qYchV6C2LvcW^ho zx_$cTrrXw+FaJGz=ktoSyVlNKck6pqd0JJPGSCWAz_#Z(Ul>+=Kl^j>chmE`zdsG1 z-e3Q>a{4b@KU<4$%Z`Mn^clQ8aAUS`{6y13Q<{_3yVmTl`5o)xGUx7prMti9<~h9C z+Oz(ISmLUK8@9XDxGv+k%+s=0^|AIQmmfD@Fn(Al_tDkm&ySSwt#g+y{h|M$e($5| zKd+uXeSER{c-jFKwuF#&q5B@SdK4hUVVB^%9~B8Q4z=#TzO) zF{)kH-nXc{h3U?Q;K$lkZW;%AXGz6h)OKRbyKv`6mz*G1L2}g5a2?r&4CYHpYmQD@ z{+7jK>QW^Ug{#v#0vfhQoZb2Ob(Fitf#@u+8rRbt_W56(=Db_J+rQ8LW$cmb_wQT& zm=auW_w2~^S&{_{+Rw{}tUdbs@6p@M_4cYOd_KBz6zrHMnAWZD)S&sL!yvgvkjW?c zB**h3+pipa>(tPB#jWDZ)dxn$#S`@{<^pxk`TOm#{AT{*Gk;IK6^w6@oFM(B3#d1y zcwhCc(rTtBL7ngC@Bja5n=hk~p#1roy-FqNEiHYqy5$?Iua#7{+m%h<_k4lmhiTT| z=Dxq+b0aCRi6MN&)jp@QuVrTEJ_q`K>MZHR?jK#2f?Ng*&BfQR-WToL`{Cp2>F)X! z_Ft=?UEyGzaV1DF&i2Hgl^o08J@M%bXz1M9_hFf_%ys2CyW4BCfT6uEw58o|{Zx)< z*?X3%PK@gg+~LSR_ja4zwg~Bk4B<&xEv6rPW7cF@UhCSkv!XVv*#F??yO&?x-qjnY znadV4^VZA_&tl$9srK5gc0e>sFtP2263dRLVx==e@huGDxn3mdKI;Vst0LH|oEdT%j literal 0 HcmV?d00001 diff --git a/core/assets-raw/sprites/blocks/turrets/malign/malign-end.png b/core/assets-raw/sprites/blocks/turrets/malign/malign-end.png new file mode 100644 index 0000000000000000000000000000000000000000..1424d302e73d8de679b0595e3ac2fada7e43e754 GIT binary patch literal 1133 zcmeAS@N?(olHy`uVBq!ia0vp^3qY8I4M=vMPuB%fjKx9jP7LeL$-HD>U{UvUaSW-L z^Y*T7(GwSmhKKo@OnQziEiElB(JBGbfDx;At&RCnoTsvdg9{KjzKl2(q@d>fws zm~=~djhVy8yQ?h^X)%l3Pu}Vl5!>)+c35&tD67W4)UB=&p$%Ky8|HW+p;vb|%RA(@ zJ^%mr@AdhczZ;+Dh)_^pmpI{!aKf@l6Mb8Lvdl<4n;69+QvTaUU|7#!$$E2!uC?a|rKy0hiK{`$82 z=I`xp5y>@zQ`sao+8w$hn0KCI`XldaZV}lvf}-pafpUp2AC~rW6hHR%QeI=Zuj3T6 z&7o-=-j82TWH4US8BkNnGGnER)5oX635|0&j)pH={h4w9|L0f#+pqt-=l#*y&p+O- zuJ5_GU3Fi6-OtLe_phzFE%?FcSWvR^!XMXOnjPr)t0Z#2DwbVhqpj1&+{?8Mg141o zyle6~Kb)H=*!6xMgT9R5!XI)%4-S|r1B04Lrm&aesJUN*@VB0Tn#(K}$^AgCe*^b6 z7huRUo!OuUbc!G_NI8y9_itb=QWA-mWE7j#9Z>Uh6@S6|ldmj~DcLCRyQQw;Y9f$u zWE;ozbxj454{!b0rW1F?sYb9j)^P6^C$s4v*Y+mn9+>`H`>vbzM^_UgCN)*%haX(+ zi!$#fzESCI(Jf`1=Z$}!#7(Z<|UA@Q)_iM7$8J3l6!=7{doU-Xe-^2)>S z1O=xZoBm}}Rn}+5c^kzN)@84kjA(wwd?v`1Ly00m3-NKWw}7Sk?6zC{&pF^svmUlG4)i)JPhvAmvp<~Tq8J_MWRst zVQ`PWr{FiCco%m@Hy`=F`IF{7>dwds3R-vRr1$h`en0Cgi+5MuUOWG{`Lf;WbJlbk zlwZ0$i=(J|hboFyt=akR{0ROiCzW@LL literal 0 HcmV?d00001 diff --git a/core/assets-raw/sprites/blocks/turrets/malign/malign-front-heat.png b/core/assets-raw/sprites/blocks/turrets/malign/malign-front-heat.png new file mode 100644 index 0000000000000000000000000000000000000000..0edde283f4589536315313a2e60a466fb69803fe GIT binary patch literal 2472 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 PDa7FE>gTe~DWM4fqn<3X literal 0 HcmV?d00001 diff --git a/core/assets-raw/sprites/blocks/turrets/malign/malign-mid.png b/core/assets-raw/sprites/blocks/turrets/malign/malign-mid.png new file mode 100644 index 0000000000000000000000000000000000000000..95c99e66e62f1210ebca6674b0fc171b895c66a6 GIT binary patch literal 1525 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

b)st z{Mh6)8hWFqTB(+Iy>s)Lh&7kY)VZj1l9cKFl6F*IDt2lr1u#9C1&P%i4<5O3j}`jE zG2TZmc%W_(cyeA|C-@)5OJkvmT?}MT>k@1{;Rvut%5?t~em_znnjX-uN1=2I)9Oj^ zsdbu1N&|A$WYH`@rHL1@9?d+K)P3vfPB)DC&5R_JvHoE&GWW0tDoaTIutOjtOyvpY zmZ-8L!`3T#HEB_$%r8ZOhibt{=ZZ0$;-tj~=)6a}Ksg}jqLA9<{zPLtz+ z52-$`@H&bWnOc~h^3mv)%hdYryzFKF#rk<$vog(>ugcGNb-_RthF;Y>Wmmz-Gfcb- z?C+4kDQn^zb8^o3xVdhh8q(8ddMVw_ZTs0-R#@pHeT7+rsa}22mC9tJb#$!T(ZCa# z^w`=h_^^J~*%+WX%slv!*bqL5quo{wPsLGdQbE>@^MYDfb!pL_beYGg+^qaA@uU)wvA_G3iEIrB- zJIS_X{79?Z^;DxAMhpTyr4&EyAeC*5jN3Zh?L)%|gG?RhY(elSx&2+Yw;#6Dor?U@ z(cBUpX1(xT*{g{^M-7E7*C{Zk@JPVA&HVxW) zpXEtNKIEl&-t63e2gZFR?Mxf20rmsLNwU($3k+-8zll@vaiZFZPnYYR>=aW7i;nZD kO7?O(^#2z+B`uM@HxqO%Otd$4d-4EW98Wk@+7oI21DlLSO8@`> literal 0 HcmV?d00001 diff --git a/core/assets-raw/sprites/blocks/turrets/malign/malign-mouth.png b/core/assets-raw/sprites/blocks/turrets/malign/malign-mouth.png new file mode 100644 index 0000000000000000000000000000000000000000..914f81d81ef33c8506bbe4f2eb0da1b14b5bed2b GIT binary patch literal 1927 zcmd5-YfzI{8a`i0LV(aDgj)+XmjXs6Kn4&hUDB9@k*K6Gu!R+{hAK#fmK9ONP(MOK z(y#>tv;o8#L>tt_tQIPDp&_ESh$dZ;f@ExnT-*jEQN)Ndupg~Iy8B~if9{z%m*;us zyyuzsoH@^DBH<=)&o?{)0N#RRz8INLt#%w18LLfs5dgRg1^kU^rO@2?JJr4$0~Hg; z*ON&W!}t6w%tj0;jYS;bcza_oZlr-A)zN<*Kz*8C`=5JFmscuvogPLiV>) zC-OJny8p}LbDd)w{&;srk^A@q)08AKF{b#KcmOThM&=}?0KfH6+VF3nP!DQ@6BiFl zZgn5MYGIci+`n??-j9zK6wXVf^CLNfZ!Oq{&i}mjz?W}G`Yn{bBejdOiTZ*=y$jL# ziD%-HVZ+Q}LuBFK-)5KH?d*D(jaHSDP?TH^>$#(*_1@EipWNPd#BGp94-Pg&N^zpu zCF*`BEhZhevYr9cTy+&W0hMMYVXRo8|2P*ywY*&J?E7IQZ^wbT0>)V{0tMZ>HK%vW zyI-6uw=XtVFW+t*uOdeMuo!(l$`s>4#4WRbiFo0l1$a7|;5LuS-W?R~!N`xek4Cy5 z)VFMa<7C~<4qA}%{_fp>Y`lG zP1D#S}{s5+zb$U34q`X zC@{LS78et&dn(OX;^o;pCoS`>iWeERK{W&<{tPo(MHmC5qFBiu)FT^DGal>p^v}&} zYF0NtgGLnuNF7w<;<&()gBJ5mzW?;YSn_MD0&<`#D-VkVuQ0OU6jxp1Pw`$7wvabU zsR#9HC{Rrp6ItMERT8&?Yf4McV)d+nZh3{7uFbZ8FGG~(h^-SD7 zckL^ouQRe;q9D$$w_=O0s*@OSI~TfP<-tBOLJ7pj(x$8YE0F|2Dq}6&j@Ao-z+-1CsP{1>Kp~-U2`YIru%qi5!H5TS9dvUC9Ju(!j!5C*)`pKh7FP!T*9^ZMC9gsLix&O;-BbECMWzRCr^O`y zo;9ohDZ?GsrOB^DLmret3^kl2*#?TQDfgjNn|T>{L$Fh80d4g}e~6VXWo&|VzVb1* zq1P#ce$;SCG6ITkD)(Vk`!;DJ3_cF61!_A%%JpI?KiR+yhp2-kye<$H2IqV1%t2|6 z|F28F=_GsmGv~vXNr(I6@sDK}`{*}>p; z#|ffsNn<~rT85p~5fEY_i)i~+V?UOP8WnpY*cD8)m1*pa2sVc}njF^4BwK>U-jF(m z8d#e$^3ou%#X!Jo;;%uctpw5C$V^yOQ55QE3d9xPP+r2S!agHjVO=cjPe_lZ&TbET zwzcUUc4Hz3&FYA{X;A(t6n&}#x5c1T1C^L~TyAQV>5*3u2Ui>RKJottx+=hhw6nK&m-P;FeE!4L a<_P~>iAznMJ8ee{76_7r{7&vp*}njclNDkB literal 0 HcmV?d00001 diff --git a/core/assets-raw/sprites/blocks/turrets/malign/malign-preview.png b/core/assets-raw/sprites/blocks/turrets/malign/malign-preview.png new file mode 100644 index 0000000000000000000000000000000000000000..865f7d8653667ad7eb2aeb2dc3d3d460cc5359bd GIT binary patch literal 3517 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 literal 0 HcmV?d00001 diff --git a/core/assets-raw/sprites/blocks/turrets/malign/malign-spine-heat.png b/core/assets-raw/sprites/blocks/turrets/malign/malign-spine-heat.png new file mode 100644 index 0000000000000000000000000000000000000000..e10bf85567f6e8b251dae593343d290a31ae6a23 GIT binary patch literal 2595 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 P)yIV}w}si$Mn>$N literal 0 HcmV?d00001 diff --git a/core/assets-raw/sprites/blocks/turrets/malign/malign-spine-l.png b/core/assets-raw/sprites/blocks/turrets/malign/malign-spine-l.png new file mode 100644 index 0000000000000000000000000000000000000000..226f75928c407b788c163055353a35943e54037e GIT binary patch literal 631 zcmeAS@N?(olHy`uVBq!ia0vp^3qY8I4M=vMPuB%fjKx9jP7LeL$-HD>U^4V{aSW-L z^Y-pVze5Hh4G$N8Y<%eXp!aK5=P5I`Ew;LU_gOEVr21!O`etoGpk6HCK#1KY{sx)p zr=R}*e*O7p%cZQ0elO~4x_dZSEoQF$A+}aoK^?=JQd+98UOu%^>|X?cd6@w z=NhcN;%u*VElI60o%W%8yUT9zt$DFiYJ@jG)-DXyKOnmG{p_h7A7meO8!*cS{W>d` znYMaw=2FQCzPe>Tq6({{a<6MUx*J1E7ME=W4-&h>@-&@E4x@E)d(`#ta;Ai-V1ab|4YL|6CZaABoyBCpZ9eK`-6E4 z`N~8h1^dL}TNqYn%0BG)=*qESRhVF(lsuML#UV7|0sGpvuTR8#m4AR#c)I$ztaD0e F0sw9v_3Quu literal 0 HcmV?d00001 diff --git a/core/assets-raw/sprites/blocks/turrets/malign/malign-spine-r.png b/core/assets-raw/sprites/blocks/turrets/malign/malign-spine-r.png new file mode 100644 index 0000000000000000000000000000000000000000..226f75928c407b788c163055353a35943e54037e GIT binary patch literal 631 zcmeAS@N?(olHy`uVBq!ia0vp^3qY8I4M=vMPuB%fjKx9jP7LeL$-HD>U^4V{aSW-L z^Y-pVze5Hh4G$N8Y<%eXp!aK5=P5I`Ew;LU_gOEVr21!O`etoGpk6HCK#1KY{sx)p zr=R}*e*O7p%cZQ0elO~4x_dZSEoQF$A+}aoK^?=JQd+98UOu%^>|X?cd6@w z=NhcN;%u*VElI60o%W%8yUT9zt$DFiYJ@jG)-DXyKOnmG{p_h7A7meO8!*cS{W>d` znYMaw=2FQCzPe>Tq6({{a<6MUx*J1E7ME=W4-&h>@-&@E4x@E)d(`#ta;Ai-V1ab|4YL|6CZaABoyBCpZ9eK`-6E4 z`N~8h1^dL}TNqYn%0BG)=*qESRhVF(lsuML#UV7|0sGpvuTR8#m4AR#c)I$ztaD0e F0sw9v_3Quu literal 0 HcmV?d00001 diff --git a/core/assets-raw/sprites/blocks/turrets/ravage/ravage-back-l.png b/core/assets-raw/sprites/blocks/turrets/smite/smite-back-l.png similarity index 100% rename from core/assets-raw/sprites/blocks/turrets/ravage/ravage-back-l.png rename to core/assets-raw/sprites/blocks/turrets/smite/smite-back-l.png diff --git a/core/assets-raw/sprites/blocks/turrets/ravage/ravage-back-r.png b/core/assets-raw/sprites/blocks/turrets/smite/smite-back-r.png similarity index 100% rename from core/assets-raw/sprites/blocks/turrets/ravage/ravage-back-r.png rename to core/assets-raw/sprites/blocks/turrets/smite/smite-back-r.png diff --git a/core/assets-raw/sprites/blocks/turrets/ravage/ravage-blade-bar-heat.png b/core/assets-raw/sprites/blocks/turrets/smite/smite-blade-bar-heat.png similarity index 100% rename from core/assets-raw/sprites/blocks/turrets/ravage/ravage-blade-bar-heat.png rename to core/assets-raw/sprites/blocks/turrets/smite/smite-blade-bar-heat.png diff --git a/core/assets-raw/sprites/blocks/turrets/ravage/ravage-blade-bar-l.png b/core/assets-raw/sprites/blocks/turrets/smite/smite-blade-bar-l.png similarity index 100% rename from core/assets-raw/sprites/blocks/turrets/ravage/ravage-blade-bar-l.png rename to core/assets-raw/sprites/blocks/turrets/smite/smite-blade-bar-l.png diff --git a/core/assets-raw/sprites/blocks/turrets/ravage/ravage-blade-bar-r.png b/core/assets-raw/sprites/blocks/turrets/smite/smite-blade-bar-r.png similarity index 100% rename from core/assets-raw/sprites/blocks/turrets/ravage/ravage-blade-bar-r.png rename to core/assets-raw/sprites/blocks/turrets/smite/smite-blade-bar-r.png diff --git a/core/assets-raw/sprites/blocks/turrets/ravage/ravage-blade-heat.png b/core/assets-raw/sprites/blocks/turrets/smite/smite-blade-heat.png similarity index 100% rename from core/assets-raw/sprites/blocks/turrets/ravage/ravage-blade-heat.png rename to core/assets-raw/sprites/blocks/turrets/smite/smite-blade-heat.png diff --git a/core/assets-raw/sprites/blocks/turrets/ravage/ravage-blade-l.png b/core/assets-raw/sprites/blocks/turrets/smite/smite-blade-l.png similarity index 100% rename from core/assets-raw/sprites/blocks/turrets/ravage/ravage-blade-l.png rename to core/assets-raw/sprites/blocks/turrets/smite/smite-blade-l.png diff --git a/core/assets-raw/sprites/blocks/turrets/ravage/ravage-blade-r.png b/core/assets-raw/sprites/blocks/turrets/smite/smite-blade-r.png similarity index 100% rename from core/assets-raw/sprites/blocks/turrets/ravage/ravage-blade-r.png rename to core/assets-raw/sprites/blocks/turrets/smite/smite-blade-r.png diff --git a/core/assets-raw/sprites/blocks/turrets/ravage/ravage-front-l.png b/core/assets-raw/sprites/blocks/turrets/smite/smite-front-l.png similarity index 100% rename from core/assets-raw/sprites/blocks/turrets/ravage/ravage-front-l.png rename to core/assets-raw/sprites/blocks/turrets/smite/smite-front-l.png diff --git a/core/assets-raw/sprites/blocks/turrets/ravage/ravage-front-r.png b/core/assets-raw/sprites/blocks/turrets/smite/smite-front-r.png similarity index 100% rename from core/assets-raw/sprites/blocks/turrets/ravage/ravage-front-r.png rename to core/assets-raw/sprites/blocks/turrets/smite/smite-front-r.png diff --git a/core/assets-raw/sprites/blocks/turrets/ravage/ravage-mid-heat.png b/core/assets-raw/sprites/blocks/turrets/smite/smite-mid-heat.png similarity index 100% rename from core/assets-raw/sprites/blocks/turrets/ravage/ravage-mid-heat.png rename to core/assets-raw/sprites/blocks/turrets/smite/smite-mid-heat.png diff --git a/core/assets-raw/sprites/blocks/turrets/ravage/ravage-mid.png b/core/assets-raw/sprites/blocks/turrets/smite/smite-mid.png similarity index 100% rename from core/assets-raw/sprites/blocks/turrets/ravage/ravage-mid.png rename to core/assets-raw/sprites/blocks/turrets/smite/smite-mid.png diff --git a/core/assets-raw/sprites/blocks/turrets/ravage/ravage-preview.png b/core/assets-raw/sprites/blocks/turrets/smite/smite-preview.png similarity index 100% rename from core/assets-raw/sprites/blocks/turrets/ravage/ravage-preview.png rename to core/assets-raw/sprites/blocks/turrets/smite/smite-preview.png diff --git a/core/assets-raw/sprites/blocks/turrets/ravage/ravage-spine-heat.png b/core/assets-raw/sprites/blocks/turrets/smite/smite-spine-heat.png similarity index 100% rename from core/assets-raw/sprites/blocks/turrets/ravage/ravage-spine-heat.png rename to core/assets-raw/sprites/blocks/turrets/smite/smite-spine-heat.png diff --git a/core/assets-raw/sprites/blocks/turrets/ravage/ravage-spine-l.png b/core/assets-raw/sprites/blocks/turrets/smite/smite-spine-l.png similarity index 100% rename from core/assets-raw/sprites/blocks/turrets/ravage/ravage-spine-l.png rename to core/assets-raw/sprites/blocks/turrets/smite/smite-spine-l.png diff --git a/core/assets-raw/sprites/blocks/turrets/ravage/ravage-spine-r.png b/core/assets-raw/sprites/blocks/turrets/smite/smite-spine-r.png similarity index 100% rename from core/assets-raw/sprites/blocks/turrets/ravage/ravage-spine-r.png rename to core/assets-raw/sprites/blocks/turrets/smite/smite-spine-r.png diff --git a/core/assets/bundles/bundle.properties b/core/assets/bundles/bundle.properties index 8c145ecf5a..c4f0726835 100644 --- a/core/assets/bundles/bundle.properties +++ b/core/assets/bundles/bundle.properties @@ -1626,7 +1626,8 @@ block.prime-refabricator.name = Prime Refabricator block.unit-repair-tower.name = Unit Repair Tower block.diffuse.name = Diffuse block.basic-assembler-module.name = Basic Assembler Module -block.ravage.name = Ravage +block.smite.name = Smite +block.malign.name = Malign block.switch.name = Switch block.micro-processor.name = Micro Processor diff --git a/core/assets/icons/icons.properties b/core/assets/icons/icons.properties index 0f1e0268a3..baa9a70758 100755 --- a/core/assets/icons/icons.properties +++ b/core/assets/icons/icons.properties @@ -573,4 +573,5 @@ 63111=scathe-missile|unit-scathe-missile-ui 63110=ravage|block-ravage-ui 63109=underflow-duct|block-underflow-duct-ui -63108=divine|block-divine-ui +63108=malign|block-malign-ui +63107=smite|block-smite-ui diff --git a/core/assets/logicids.dat b/core/assets/logicids.dat index 7898cd50d0a0cf9cd892ddf5c38357ae461aa18c..a3f5da8dc84490eca6b0021ecb095e32a5d094a9 100644 GIT binary patch delta 42 xcmaE={6u-fF+Mrg;@r%VR0h7%yp+_Uw4D5M-IUVg5(c*1#GK6Zyv0xXm;qfz53v9M delta 43 ycmaE&{8V|vF+O>=qQtVq^i&4E(!7+^qO_d+a@~~D (Mathf.absin(3f, 0.2f) - 0.2f) * p.warmup); + mirror = true; + under = true; + layerOffset = -0.3f; + turretHeatLayer = Layer.turret - 0.2f; + moveY = 9f; + moveX = 1f + fi * 4f; + moveRot = fi * 60f - 130f; + + color = Color.valueOf("bb68c3"); + heatColor = heatCol2; + moves.add(new PartMove(PartProgress.recoil.delay(fi / 5f), 1f, 0f, 3f)); + }}); + } + }}; + + velocityRnd = 0.15f; + heatRequirement = 90f; + maxHeatEfficiency = 2f; consumePower(5f); - size = 5; - drawer = new DrawTurret("reinforced-"); + shoot = new ShootSummon(0f, 0f, circleRad, 48f); + + minWarmup = 0.96f; + shootWarmupSpeed = 0.03f; + + shootY = circleY - 5f; + outlineColor = Pal.darkOutline; envEnabled |= Env.space; - reload = 200f; - recoil = 2f; - range = 350; + reload = 8f; + range = 370; shootCone = 100f; scaledHealth = 370; rotateSpeed = 2f; - - coolant = consume(new ConsumeLiquid(Liquids.water, 15f / 60f)); - limitRange(5f); + recoil = 0.5f; + recoilTime = 30f; + shake = 3f; }}; //endregion diff --git a/core/src/mindustry/content/Fx.java b/core/src/mindustry/content/Fx.java index c39515bc92..c1b50d78af 100644 --- a/core/src/mindustry/content/Fx.java +++ b/core/src/mindustry/content/Fx.java @@ -1611,7 +1611,7 @@ public class Fx{ } }), - shootSmokeRavage = new Effect(70f, e -> { + shootSmokeSmite = new Effect(70f, e -> { rand.setSeed(e.id); for(int i = 0; i < 13; i++){ float a = e.rotation + rand.range(30f); diff --git a/core/src/mindustry/entities/bullet/FlakBulletType.java b/core/src/mindustry/entities/bullet/FlakBulletType.java index 210efb5dea..26991e9287 100644 --- a/core/src/mindustry/entities/bullet/FlakBulletType.java +++ b/core/src/mindustry/entities/bullet/FlakBulletType.java @@ -6,7 +6,7 @@ import mindustry.entities.*; import mindustry.gen.*; public class FlakBulletType extends BasicBulletType{ - public float explodeRange = 30f, explodeDelay = 5f; + public float explodeRange = 30f, explodeDelay = 5f, flakInterval = 6f; public FlakBulletType(float speed, float damage){ super(speed, damage, "shell"); @@ -27,12 +27,12 @@ public class FlakBulletType extends BasicBulletType{ super.update(b); //don't check for targets if primed to explode - if(b.fdata >= 0 && b.timer(2, 6)){ + if(b.fdata >= 0 && b.timer(2, flakInterval)){ Units.nearbyEnemies(b.team, Tmp.r1.setSize(explodeRange * 2f).setCenter(b.x, b.y), unit -> { //fadata < 0 means it's primed to explode if(b.fdata < 0f || !unit.checkTarget(collidesAir, collidesGround)) return; - if(unit.within(b, explodeRange)){ + if(unit.within(b, explodeRange + unit.hitSize/2f)){ //mark as primed b.fdata = -1f; Time.run(explodeDelay, () -> { diff --git a/core/src/mindustry/entities/pattern/ShootSummon.java b/core/src/mindustry/entities/pattern/ShootSummon.java new file mode 100644 index 0000000000..3a0f1f164d --- /dev/null +++ b/core/src/mindustry/entities/pattern/ShootSummon.java @@ -0,0 +1,26 @@ +package mindustry.entities.pattern; + +import arc.math.*; +import arc.util.*; + +public class ShootSummon extends ShootPattern{ + public float x, y, radius, spread; + + public ShootSummon(float x, float y, float radius, float spread){ + this.x = x; + this.y = y; + this.radius = radius; + this.spread = spread; + } + + @Override + public void shoot(int totalShots, BulletHandler handler){ + + + for(int i = 0; i < shots; i++){ + Tmp.v1.trns(Mathf.random(360f), Mathf.random(radius)); + + handler.shoot(x + Tmp.v1.x, y + Tmp.v1.y, Mathf.range(spread), firstShotDelay + shotDelay * i); + } + } +} diff --git a/core/src/mindustry/world/blocks/defense/turrets/Turret.java b/core/src/mindustry/world/blocks/defense/turrets/Turret.java index 2342efbb8a..49d0766ce5 100644 --- a/core/src/mindustry/world/blocks/defense/turrets/Turret.java +++ b/core/src/mindustry/world/blocks/defense/turrets/Turret.java @@ -345,9 +345,9 @@ public class Turret extends ReloadTurret{ float warmupTarget = isShooting() && canConsume() ? 1f : 0f; if(linearWarmup){ - shootWarmup = Mathf.approachDelta(shootWarmup, warmupTarget, shootWarmupSpeed); + shootWarmup = Mathf.approachDelta(shootWarmup, warmupTarget, shootWarmupSpeed * (warmupTarget > 0 ? efficiency : 1f)); }else{ - shootWarmup = Mathf.lerpDelta(shootWarmup, warmupTarget, shootWarmupSpeed); + shootWarmup = Mathf.lerpDelta(shootWarmup, warmupTarget, shootWarmupSpeed * (warmupTarget > 0 ? efficiency : 1f)); } wasShooting = false;