From e47af0c33feba28c0b7205a552be062265e91817 Mon Sep 17 00:00:00 2001 From: Anuken Date: Tue, 21 Jun 2022 10:03:38 -0400 Subject: [PATCH] WIP/unfinished turret sprites --- .../turrets/fracture/fracture-blade-l.png | Bin 0 -> 1229 bytes .../turrets/fracture/fracture-blade-r.png | Bin 0 -> 1175 bytes .../turrets/fracture/fracture-inner-l.png | Bin 0 -> 629 bytes .../turrets/fracture/fracture-inner-r.png | Bin 0 -> 639 bytes .../turrets/fracture/fracture-preview.png | Bin 0 -> 2253 bytes core/assets/icons/icons.properties | 1 + core/assets/logicids.dat | Bin 4533 -> 4543 bytes core/src/mindustry/content/Blocks.java | 88 ++++++++++++++++-- 8 files changed, 83 insertions(+), 6 deletions(-) create mode 100644 core/assets-raw/sprites/blocks/turrets/fracture/fracture-blade-l.png create mode 100644 core/assets-raw/sprites/blocks/turrets/fracture/fracture-blade-r.png create mode 100644 core/assets-raw/sprites/blocks/turrets/fracture/fracture-inner-l.png create mode 100644 core/assets-raw/sprites/blocks/turrets/fracture/fracture-inner-r.png create mode 100644 core/assets-raw/sprites/blocks/turrets/fracture/fracture-preview.png diff --git a/core/assets-raw/sprites/blocks/turrets/fracture/fracture-blade-l.png b/core/assets-raw/sprites/blocks/turrets/fracture/fracture-blade-l.png new file mode 100644 index 0000000000000000000000000000000000000000..216d93f107a54944af5576a1d87b32936731675a GIT binary patch literal 1229 zcmV;;1Ty=HP)Px(hez!U`Q_P*KgjrNq_)G?D|Xhk^lh$;UNJ61jAYa z1PF+w1PEZnx3d$`>#Za}07D{5fB?oslK=r6h$I05I1xnx1aKsR1Qdhpib2^6o&LCb z`1hY*-*=wq^5VQWH;O?kvP=AShN6AV6R&BtU@R z^p*etR)8ef&+lJ})_NeoO2|ntH&aL=0RjZz+4C1o$G1p;072*>K?w*D2oDJmAQ-I@ zPz(x+WJ_2}2@t@Lh!P-xF_sdPfB+6??hsBfXr)Av00A6{AOQk6<1GOK1VBrI%Zu|p zia{%7PJ-K;>*C|bJBLvW`VXiLe}H1pifIjB!qb+6L7!asxraj26~a;>*eSGNr_h?t zUNs-=a?8DQ;pb!-OTbQ{jnuYvlOCrP{?fVTK!62Wd-|0guNnTXb522k3|b8xYum-O zgf9UBX3*~DDQy^O6@E$x@Q7ZmT&L%i?(fqh{FD&jAA0xk9nSCBDs~D2++)?m*}GZv z6a+}|La}7?0`v-B+7HN!%?r?zHAsK}orx|10vHfk0t7H3ssspNNQ(s0H3Fq&VFWOy zL;~rYfGLtW0SMqg$tvDj38WK35WtBZ64Xo&LjXrKC8(VnxcMnzA3uHR_82&KzaKY? zPN{xXPf6%Z33H@$D|pLZ!BY^RGtnhL00SaRuz3MA7iTUJRf5e6kkYm#K!AI;DggqF zu#n*P=Gwd|#1aTFp{E4nhdR3?u#yA;X6PZo+!MWA$d)4n0%XvXU};YOH0;vwTbG3o zAix3|5|k|H7(%xWKP74b-Ij-^)Mqu1c>Vv5S^xqR2#}Iog8hR-^?Ui!T!67`><`cZ z$?ahO;4r16`(3^?{FK-qpc^F;4B-!GNFWJ+pi}~G0fo1KF}d5pH2g8Ow}YDS$Nawh zxtK8{Km~LE@k`;?(i(mV2q0t_TE_vbHT;wiK*aREdV6!d>hM!SfMRkVs=U7HX@LL= zXh~oleo6?SMymuK;irTEs`RMhwS-^t*cbtni89%P#i5R9N>I}|jK!e=kV>#L)Jr5_ zacCfoNjVi~s|Ykzg90bQG!H0D=*qAElwpy-pHn&k+X!8rc=j((g-x?R~pJ00nX( rwFd0jOSGZ^0a1$seyUKg z;>?Eb<)G-Cyp(N}2^nQwIzS;sra08`bOsR6R>EE*yCcF}2QHwEqKMu25UhXup+9_|wWd}p|fh&g`o>EO@leR3u_no!~6 zJ45r=hZnt|mv2pqs6AC2;97b%41V`6k7>nxTD$K&mUY~p+Hm8`_y2j5Ruu4c$*lg? z!=O%q?7z}i9UYPwIhz7E4PWgXe)daq4?qV)Q~5$>{cY;qj2~)7wI!{&*&Ajp9L!kV zGJ3U@2|T$c9hj>R;z0kxhXQW4m$TjV3Ffk`1y=7{Lf5gG!ZQ3&o^UhhJ>F>Iu}nu2u4%aC<< zlBhbND+cPvMF52_q(G)N$#jl@brbT%G$0xgtucWIQfsak7@fM@r_*nAD?R}7yuT)O zGNOu$y6Cl}Nb1_!Xo#hcTDSu6E-E_i(vqJMME3(mp9=;{v?a*41VJy3T1j^{-_o7u zEW&`RMPc@+yg*7S_|1m4fy}kaD?9k&jX^sL77mY#B54Z_=ba_(w{%P6HqBqWziO@g z>i+S$meJcD>}3*(D-LYopk;sUr;_Qh3nvb0D!T|Eiz12<_NLi=g%sdc@3Z?d)PIf%7f>=0TLOH59CIhGI#6-tENpvs7b< zL6fnNr^lp^80|lrsT1qw2j(zUlL`V8sT4Tkw-Lq5cE{k%>C*tk_josVd+7q*arn!h zp4H&!_IdV3H*h`>`}~67rh$h;q)jT%Qn>;5V5#oqL!&u`d1pps9k9%enlFWR#o6@D zrT!N1xSPHxL)9>n2@^?2a1gCpt2R@WE#evZPSzn$^5#!07^%7@03&ZP9@e>XY<-cK z4O?t7(dO#LQ${C8STR|cI$1I_a85YP4=C`q%CDVu@!Ne@GN0Grk*~c>3Lw6oQ+Sl< zG~X+lMI-BK*~BOJHVcs%kkdkcW(ivVW_SLCg5(Fha+oOR{JJnW-r0GLsnk^NEg&O> zd^cywE-mjEvX%mD^b*qSHPQGLQ6p^>ud!Kvzh0ZQ!P4gdfE literal 0 HcmV?d00001 diff --git a/core/assets-raw/sprites/blocks/turrets/fracture/fracture-inner-l.png b/core/assets-raw/sprites/blocks/turrets/fracture/fracture-inner-l.png new file mode 100644 index 0000000000000000000000000000000000000000..6054d7c393d8472f29f4d10e70c87b85a3d19dfa GIT binary patch literal 629 zcmeAS@N?(olHy`uVBq!ia0vp^4Is?H1|$#LC7uRSjKx9jP7LeL$-HD>VAA(=aSW-L z^Y+fh+}jQ!4G)7KY~18{iRFWsCXc_u4lm6W1v7b>c6h!rxu=l2sr%9ko<@bE)@n!Df$BFS@q~Ddj{z zBZC%CEZ;6ASA_LazWXUew z{)JCxZQ6(b|NgzK{rmN4tMxWDdtQyFXJ{0#dwK1l#6MV(7a2sAz*5(~1kg;9hYB7}hfuEahM^ i2=o?N2}`v>_$Qg`i6zc)V$Qse3B=d#Wzp$PzhRQP-V literal 0 HcmV?d00001 diff --git a/core/assets-raw/sprites/blocks/turrets/fracture/fracture-inner-r.png b/core/assets-raw/sprites/blocks/turrets/fracture/fracture-inner-r.png new file mode 100644 index 0000000000000000000000000000000000000000..30d9fd1c86bb2654f5a5255cf8d2771e6af7c2ff GIT binary patch literal 639 zcmeAS@N?(olHy`uVBq!ia0vp^4Is?H1|$#LC7uRSjKx9jP7LeL$-HD>V6yadaSW-L z^Y*rF-W3OlhKGjfjgzD=TySc&U{V#DFsZA6sZOO&Fi=(f#9pV(%9huvY?JeE{5*C( zSoM_Jrf=1@k1hPXfM$X~Nyd&Zj4ofEz5U((=i}YCzAwIixVe;HVb;eF!Co&fPk-IM z^SYZt1J~t;=@XR&92V|;m>vkE8<##z7gQEF&~)ix`b8yy1Hv65jSOOYs=gOq{qEZ7 zz`$D7=fKcf)$70@TGivgF!h?-1ue!k7lK)sB34f4VA@NW`!2_J$ z+Z*@SRm=_Ql5J#2d-Cx9|G&jwURVBzyu!g!aOBIG`ECZXbz+80j3TE5&+yuJi#0N6 zoylbno~R_?u=ITR{q8t%RVIk}Gc;l-=n9C&wI1m@HkI?zg6_X zf^RqXuPIT@2%Q}I&)>9p{=C1*-r9|#3Oj-i`)j`QQfOfEK73vY=wa5ShtDr^RcH{- zYM<}g<-lNk?cc8HAfLIPnfucgsGxIc>i+E{$t_6m$uHY8CKT~oTk7jLe4wGk`y@^T0>Uh}&CB~2! rzyJw(r3>|V#LDFykSN7PHWdG0f2y!CjwjZy5v0b`)z4*}Q$iB}c{Tud literal 0 HcmV?d00001 diff --git a/core/assets-raw/sprites/blocks/turrets/fracture/fracture-preview.png b/core/assets-raw/sprites/blocks/turrets/fracture/fracture-preview.png new file mode 100644 index 0000000000000000000000000000000000000000..4ac64cc15729f9bb69202de2cceefdc80dadbee7 GIT binary patch literal 2253 zcmZuzdpOg5AO70b`prZAhDb&|>Hy>e&*~NE331 z9OqCDD^IUSvr0~dA~{4+TGE{Mc>jC+`wq>$Y|%cKzILbC>sUTTj609|F+P+cQ3C-0Jjbhg7+Xw+37(e%6FXe#33 z7K9nYG7OP4ac+4(F)s$3Z&ePcEq5_M2G^19hI9Id?2kLtXa7B-v?IntTB7u&Pk+a^ zN)OW=;uY!q|G`{b)!5P4B=N)bOY<}0jk9xyKYtwmB=23ApV`%8`9!_ZTvvD&N*m4D zP5Axd;h+Z|{9p#`Q|bGPLX6-76Khx~83moFX?-yobpSk&ojtPG3oA0eXKD{QfI+@| z;`z3cqT2D_Uo&SeY=k;>_jI=n?6G=08{@b1;e$?Lkd72Gc{RO9KG(7e41Sv5KD(5b zgtmLKzlhBFm3l90V5n%^WSg6l0Lu}|ND>YsbuA912I|{rER4hBHWHkG9t@<|ZS`{V zvE?A)94fA}qJ2-aeE;qca|6ZEV6QWL4@j{i0jT!q+$d z5%)f*XN0;9IJeRA;M}ocgy$(MJf63&ScTw+!t-UMOPnyrqSs|YH3!Z#-U|(PEu@8o z?z0FWLWcpJ|B7YR#ZID`7<*|$#Ox7k1nb3@A90W4U_^)7@|7@!T%micDBQs8S!xqj z;k@I9otS@}RS@ACZ8hFUz0}5(sJdxg33>U>J$hM!r0GcmVSP+Ur0_{?eJ^?U#rhon zF*{`a+BgGnpU=H-Epj%Qk8p+F0-No+`Z%hD-I)NFf#2g-gIi^vRiO5t;uEuysozvjqEHf*Z2L{uf)C_Aqq#cii2(O!)5%DZmP?J9qD`3G^ z$ug27&wgf|GAi*cxb8cpL6;GFsPyk0{tQJ&h zx2^vi$)0=e))3ffri*`V8KQ}2NaeEm(y6da%ABLX;9hR~e>^WM0L0LY4Ac4C#9!~@ znZU1b1xi`E!5;#|Q@vI&JzaMTOF#cRpgUH&;Cb~wXdJvb(3%IOR6+YB?J9l~;AbFX z_}BGgv@4tjEk8oidXY+82hCE|p~ZKMU|2~fgY79a}}4`HAUowV0?dlc^(@ z1-@$|#G^SR_@`-JSSaf7NsbnVtkzTO6!jIhR$1}0`*4xLC6Gc$I7P`{NUjtn8~MpJ%G;lzU)rfdW}neB0-<2iMd^`*S?TvN2Vshhi*)cfx+63*-C+_ zM$UN3Q=U!Ph3aFB_~Nc@+2h@#Xy_Lp-Kd}K&hlbK7kcJ}ZH{LzN4~Pw#F@yV09B3; z+@odK&^$8zZpW^gJsJhtn7VUJ?$M5!t2INjp%b<}#yA2C5YN4T0JSKkusmFiKuRC= zRXHisF^!!z_E%p(3$1U@YyCJ{@_z#EhATs$>dGp)bk+ELl9Vbpjtt63*b-RIM zinD;YIzp;mTI7>qYoROhOVR{n=*?CO0{uznVth`vWTjcZ9u{f*k=II8hU{h!l+wsX zcY;+mbS2PBk1(iSffUZr3Erubddm;HENW&06d;FRb1^8XWK^xDovU&Ah#&zn%jGCCwpwtYGtQ*M{h9n4BC9vRKH!*@dM%-(j&X@ zsk_3ppB+5*s1*H{4XGf(Z6}0JPl{Dz#p3KvE)84{rWosC$PB%`-WX?}nW~|>u7{^> z;e$Hx;XOrB2!2`I8UWak3wlS(1<8Rkc)H{hD)%^rqX$5^sy)`_&)KZp`bv5 delta 16 Ycmdn5yj7Wr;qykOEqt2~@cm~305^gLrvLx| diff --git a/core/src/mindustry/content/Blocks.java b/core/src/mindustry/content/Blocks.java index df22863d05..cd9c8a97cd 100644 --- a/core/src/mindustry/content/Blocks.java +++ b/core/src/mindustry/content/Blocks.java @@ -135,7 +135,7 @@ public class Blocks{ duo, scatter, scorch, hail, arc, wave, lancer, swarmer, salvo, fuse, ripple, cyclone, foreshadow, spectre, meltdown, segment, parallax, tsunami, //turrets - erekir - breach, diffuse, sublimate, titan, disperse, afflict, + breach, diffuse, sublimate, titan, disperse, afflict, fracture, //units groundFactory, airFactory, navalFactory, @@ -1277,7 +1277,7 @@ public class Blocks{ drawer = new DrawMulti(new DrawDefault(), new DrawHeatOutput()); size = 2; heatOutput = 15f; - craftTime = 60f * 12f; + craftTime = 60f * 10f; consumeItem(Items.phaseFabric); }}; @@ -3842,9 +3842,7 @@ public class Blocks{ limitRange(); }}; - //TODO bad name sublimate = new ContinuousLiquidTurret("sublimate"){{ - //TODO requirements requirements(Category.turret, with(Items.tungsten, 150, Items.silicon, 200, Items.oxide, 40, Items.beryllium, 400)); drawer = new DrawTurret("reinforced-"){{ @@ -4083,7 +4081,7 @@ public class Blocks{ limitRange(-5f); }}; - //TODO very WIP + //TODO WIP afflict = new PowerTurret("afflict"){{ requirements(Category.turret, with(Items.surgeAlloy, 100, Items.silicon, 200, Items.graphite, 250, Items.oxide, 40)); @@ -4199,7 +4197,85 @@ public class Blocks{ limitRange(9f); }}; - //TODO 5 more turrets. + fracture = new ItemTurret("fracture"){{ + //requirements(Category.turret, with(Items.beryllium, 150, Items.silicon, 200, Items.graphite, 200, Items.carbide, 50)); + + ammo( + Items.tungsten, new BasicBulletType(8f, 41){{ + knockback = 4f; + width = 25f; + hitSize = 7f; + height = 20f; + shootEffect = Fx.shootBigColor; + smokeEffect = Fx.shootSmokeSquareSparse; + ammoMultiplier = 1; + hitColor = backColor = trailColor = Color.valueOf("ea8878"); + frontColor = Color.valueOf("feb380"); + trailWidth = 6f; + trailLength = 3; + hitEffect = despawnEffect = Fx.hitSquaresColor; + buildingDamageMultiplier = 0.2f; + }} + ); + + shoot = new ShootSpread(15, 2f); + + coolantMultiplier = 6f; + + inaccuracy = 0.2f; + velocityRnd = 0.17f; + shake = 1f; + ammoPerShot = 3; + maxAmmo = 30; + consumeAmmoOnce = true; + + drawer = new DrawTurret("reinforced-"){{ + parts.add(new RegionPart("-blade"){{ + progress = PartProgress.warmup; + heatProgress = PartProgress.warmup.blend(PartProgress.recoil, 0.2f); + heatColor = Color.valueOf("ff6214"); + mirror = true; + under = true; + moveX = 2f; + //moveY = -1f; + moveRot = -7f; + moves.add(new PartMove(PartProgress.recoil, 0f, -2f, 3f)); + }}, + new RegionPart("-inner"){{ + progress = PartProgress.recoil; + heatColor = Color.valueOf("ff6214"); + mirror = true; + under = false; + moveX = 2f; + moveY = -8f; + }}, + new RegionPart("-mid"){{ + heatProgress = PartProgress.warmup.blend(PartProgress.recoil, 0.2f); + heatColor = Color.valueOf("ff6214"); + moveY = -8f; + progress = PartProgress.recoil; + //drawRegion = false; + mirror = false; + under = true; + }}); + }}; + + shootY = 5f; + outlineColor = Pal.darkOutline; + size = 4; + envEnabled |= Env.space; + reload = 30f; + recoil = 2f; + range = 125; + shootCone = 40f; + scaledHealth = 210; + rotateSpeed = 3f; + + coolant = consume(new ConsumeLiquid(Liquids.water, 15f / 60f)); + limitRange(); + }}; + + //TODO 3 more turrets. //endregion //region units