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 zcmeAS@N?(olHy`uVBq!ia0y~yU}ykg4mJh`hQoG=rx_R+7>k44ofy`glX=O&z|!vN z;uumf=j~j>ysHiZZRQ=$PZ%z=N-yxZazUYx*-ORAYn8)PqeTmzusND==1S#FFxu&z z@#us_-2S;q{_&|a?FW|g~KnOQy_u$ z%M=F2FeiOZfrQ5j4TA2+Y3HTXiEOnX4z$nwHz{q6rSeKEB z#lgGjboXc5E=TQDzoy%>Uq5<$+`2uG=NJD9-ui~53tgGK@rN!?Yj&I;^J8bb(`C^^ zL5eptwC2l!Q#b|0ZuPeTbgk%CB&MNlIvn&I<{r?R@sCS&Vn5wJ*PtZrWe* z_kUj$1Ct2Hgh???f191ZR{y*d)37n;4gUqklW!CLKQLIjm!#@AITTVP zqK-4JG5s?|z~RW3eO1-PdtZGBc4|l}l3%rF->b|<2CfXx1lc+-jszrrZ(&&V zWyPbdE%BdjNH9+6G`iV*bYWkHSHNY$0B(UR zOl!<4*8Fsvz&*ccgVHSH!f6xwSajca3ockB^k44ofy`glX=O&z!K=` z;uumf=k49yc~=4i8XiW@Q`P*;X0pYz^%KVwj~K62Ep2Avoqg^M7geT&>|s>hbNbQ~ zmt!|xTW+6e`0syKtJ&<1pIc7evOBKi0tQIAZBfAeSi7!`|tMeILE+njJJLM zCzlULUQ6e1T=}rOV^3AF<VAyH6};lPdz4u%H-Dl7~IT3k#F7GjKy&zX9DeR%o%&4+t?E57~s@%8ri?)9bB zwKsF}_As-&e)cNqqowYBP6h!3-li}{g^Vx`1_29h76y*Ed=`cXM_WOL1l6xj3=O^P z42$b({=WFD?8C-zI7%s_)PRHGn5#1bLwl6cjrZR}IT#*vy3pg1VPdf&1voSbsc4BBa5UIf6@S#eX;Q-eu$v1i1 zPe&OuG)y&VPk80EP=mspMT1cp`q2QZT>083t2xjb(t7sR;2yV|%F?G{FdN4!Tj zon?Mu`sdDX#>%ag47SnCObjJ@R!j^MB9e>@JzZT43~g5xPQ)rNu$5$Ccx=K^w4PI9 zda;!R17Bv?$7xC@_A0P2_D{&5F$}2e>#H)Lu0vyz01jXM*m1MYDR94*_fYg!E!B+yALuFI(5W zxIu{_VvSg1nd9-ZS6hF6aAjDqO2o1Ms*P^DJ`+RfPL6l)?acqj*1d>oP&E6-{$h&Q z!M}H(A3wfUAftVLQhkG;uA&5=eQ38r`43HACI%6c_Jph-D}z{;9`@H&d|=_=82tZZ zds}?e+YhFU3Y)iVskUg?$`{YV5ZQbEtGw*|HB~>97y`__- zx60Zpt9coCUl)q4Py6vk_(i~!Zrcc%R}tPUs^xsig&7S+f-+UB&pRG?biqNDC5mS& zhnJsdv7UnRYF;^SJHZVWS5|azWa$YpIylaY-dp4vFu_J(i`+gAhE=B=4dmkV7RVhI zXLKl?<#>+Qzk9*;53URsmN+-ZNZk`^ng^2Eyo_z7>^+&LdxzDPU|^B&7k0KrN&RPL TUauG!7#KWV{an^LB{Ts5O6=ec 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!ia0y~yU}ykg4mJh`hQoG=rx_R+7>k44ofy`glX=O&z@+c# z;uumf=k1-1xwjoe8Xg8e*tp5@63YiMO&))R9bTF%3TE;$?eKhMa!(<3Q}?A8JdFxR zt%KNp_T3NnTIBHJuL?iQ!YK?8kZ~dJrEJ8lmnEz2J$v}^W$xm~iSb{g-<7@ov(jE? zFZ0D1KKrFp>}vO|*UxZe30P?TN2iE|NyEhCk4_c~lZJuWADtu?CW%0+KRQt?Ocm@C zl>`oSJWjOF+^r$VvB2T9Ajg7$)q)%goVo=$7F@c*am|ZCc#B9QgIbm<6XTf+PAp6_ zUOt|_-uwL_9i|;gZ_GYyf4@K2YooHjfd-pD?Z=nj`~LaE<`se*3*5h-c<**Wwoc5D ziBaT~AP=v7w^$>C7EdhSE+tom2Cwz{=UwM_3pFyRWoR-nmQ1l@yyC^ev?Jj6k8o~5 zjt6VXene)nWS4IL!l$z~?Zf|n|6bPq{ra@>s{2pVa}2F*ZS!4ig*g@+xbb0ghag9S z%gYa&GXyyvblrNG4)RjNyARpom4QkE4*d(2_aEh8xnNj!D_@t1F-BwWv+W{{4Ck`M zYXbBCl;qkqJWkv{d)KXe#iq0D6N0?<*ZrIEhu`m_vcQ3xVafsrT6NtN8u}J;c!hlu zR2FdP*L78BVBFr5aBk_-y_^raECqXNk4JGN9GSy$&F;?>mVgv57QwdplNh@0J}TPa z#5)0FcD^V;=GZrl6U@-{v7KFqjPICJP`9o57?M}ZpKMGRg>FVdQ&MBb@0Dx5Z Ad;kCd 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!ia0y~yU}ykg4mJh`hQoG=rx_R+7>k44ofy`glX=O&z+~y^ z;uumf=k0CVyeke84G#^|8z)I$xZu=k!K5lQVNzECQ=LkmV4$k{iM>vnl`XGT*(T@T z_<8Jnu<9wbP2Z|*A6xi&F+e~`#*QzHE?=I#{oVfO1+*X4)l6O{!V7VdnQ9;htf(75zrx}dVafu>6j(=RFs91!jhX=D)FQ}w;@ z>UY;p2L{%vJ_m-@s$K^M(W)K?hN;)wE@&~Xxe(046tQwT2g?RWenF0e#qsw0Vt)yk z2_E3|-rl&su3~Obmuw?L+LMR(|Nkxi^1AXzr5_t@I)m6ho$Gk?{~+Et1>~%pP^C9v|>7kll|qoJk`VX{~kSEeBPVghR1pG z`>mo67JR$8e@%&MM(E_wfBvS;^XL6d_SS9`RoD@H*kALVmqG)R_u=zOZVC;oOAnu4 zu+c{Vaf_6RsF4D-rm!?%w0cUjMDSBjG#ak|~$o&%eGp|FT=Z0|R??uLFZ}b&mssaIxT&n3L{34h-&Z zG@I1^yWQ>D`Tw=P7(-s^LOmX_aybViN^y}5#Xs1eDr}77iS=s)squ96b6Mw<&;$T^ CHUM`3 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 zcmeAS@N?(olHy`uVBq!ia0y~yU}ykg4mJh`hQoG=rx_R+7>k44ofy`glX=O&z|rpM z;uumf=j~kEJUMfLHg`w9hs+*xOPC!Uf}-+Rp0jzXJ4`#hWaAx`rS%NuCwX&rYz$I! zcp$AYx1{0DBkx3?Jqu4f<*}@f`Mj3r^=(zl_nTw%EKjq}n1uv>HEnqw+t_`2wd}v& zUr%d){}u7#;mgPWZ~giG)%v>GZn1qP@>@$erafD1qxj?0>IX3j44(pWTm^5xVRFzE zSfT4Au=VUShAT`TRZlZB1v4!BSsLk_z;?i7zMeOS55t35|6d(7Ub||?%O7v%e67~z zxFTwKW_%?O^ zy!($#yfabp1ye$9-R#x#wD+?x&fBaS zkWqJXLy7ER?xwqW*Pl8XGX$P-Un;QV`4fi;aX(ikE_GcasF=Z|FzcsAOGB~WstX&o ziuyEsR7hYJxcX;WagnQOjtWNvgU77%nHE=Ty4`iP5@a}37Cv=yU`v?wKQg+hf#pEh zndLkzEBm)bHy$WaGdMJLKO1AYpRyH;NGan1&V6p;cdO3Hu&fo1l4>hFcQd-qm?7}& z{@r^OW$Ozox9;At=a#Ka?ViQ6;=LSXC7aY37R~BkwS2{b?t`u`+Q%JANTq1X{CWN0Q=5ydQfhY3}ECePn zJec7xs=g!U^W|Mz9VT4spIvdNal!WGuNoI*3Rq0~so^)l`>QlBQ`ZfKo(#J#p(jy) zx3M+8Oq#I#=ZdWg!LP+7n>KVi%6#6LzrUz@Y0QM3%yxP#bM89mDjG!cbfwt6diRa( zU0!~|{|757x9n%-xFX)HG)sTw34wr=Z4x1uJDx2zQCyMPadg2fH#2!tEtXf^j;5J2 z)*A|Ya(?O%SfR&u)uij^3SFlIaXgb&6`cLEMJDre|M_zdf4q^2+gqVFZ{y^7{kN}$ z?X9can!ZWmiuI(WaX;r2Rb4*2<;>8^D>K&olp+dEbA^Fzg( z0|XT&_?b*?I&itBZ{IVy3D3??)tYTAlYVc>l8LE2A2^w^%>O@mS$xr!%i<%;j` z?X8_fN{kMfJz^|z&lc+_OfcDBb}nR5x8o&&FEie&>aj>YD^}SjrNMfz0^&vW;-hP_f5irumY1e-3qn+f|IPk*kczS+Z;!8~9Us&#(G<~(n;HQ{F>w)YY2SNTUuPi6p`E@#bPUZeTRS58v!Rl)-Ts0 zR;jfxOi}Devs?aW(w1lU8A}v0Jo&S$xI7d)vg+2#@$>mV_;vX9oBJkb-94Qy%#zla z)PK)v|J+&ex4QnGy!`yp-Ji{eC;y+ivxaAi!T)#PmT{EdI(Kb~QD?u$?z7AV+v}(A zQM&kNsh6!|w?J6$+owyPGC91y_g_fh$r*P~hY8<8E-D(ZFZh0#-&SDF%>Gx63rc2p z@ib~O1jYZ|AhDn@RC=*X>j55ym;U=)ni{MedN~?78KUn0e(2<2*bvSB?y{!|$DuWB zbv6IpQr!K$ELAgS^M6>m@0xsT#AHqe(^u2$zc(E?Rg+a2HetqB233xt|M|R)TYqjX z(yiv$_||j9=El<>9oD92NWLgM`*7Mq#^;~v{7vJN!~`5RurJUPU;J{)!3i!Ks<*{^ zHm|vAyzu3Ibiw^U~OH*DH*w#$|+ zs+Tk1^gM>s+bTYbtzVTo+s#z|Kt{I&gDuA;BU43>-B>oLap0)aiv$T{(7IUYpu)pI+!)nalH5*OMcvDscOB=joGTbfiw!Oi8IzR*%cm zZ`V`3DB*X{A*As7&+5n5Hig`&$$!3XJ@btk4nc?fGf7(yCZ85=JbilMm40`Io_sqk zB^FyxCFc~Dz|^l>9__rkI@?VkR8AnmepQu&Latqd5CcOEM-a2+@#?d|1qvQ#A2TgU zv};geU?>sxW((^3K5xk)iAbYzopr0L5Yu Ay8r+H literal 0 HcmV?d00001 diff --git a/core/assets/icons/icons.properties b/core/assets/icons/icons.properties index 2bc10271e3..cccf27c0d5 100755 --- a/core/assets/icons/icons.properties +++ b/core/assets/icons/icons.properties @@ -566,3 +566,4 @@ 63118=slag-heater|block-slag-heater-ui 63117=afflict|block-afflict-ui 63116=shielded-wall|block-shielded-wall-ui +63115=fracture|block-fracture-ui diff --git a/core/assets/logicids.dat b/core/assets/logicids.dat index 85047dce5b2a4bff17dd202535fac34f35fd93e3..dd6916cabb7d3864dd542dcaf947fc3f430cb06d 100644 GIT binary patch delta 25 hcmdn0ykD7#;mby*Eqt6DX+??2C8b5Fi?{MI0|0hF2>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