From 9c2618f2e879d90d21b2a6d7c36dcf088a9bf765 Mon Sep 17 00:00:00 2001 From: Anuken Date: Tue, 28 Dec 2021 21:07:27 -0500 Subject: [PATCH] Regen projection recolor --- .../blocks/defense/regen-projector.png | Bin 2989 -> 2093 bytes core/src/mindustry/content/Blocks.java | 12 +++++++----- core/src/mindustry/content/Fx.java | 2 +- core/src/mindustry/graphics/Pal.java | 2 ++ .../world/blocks/defense/RegenProjector.java | 8 ++++---- 5 files changed, 14 insertions(+), 10 deletions(-) diff --git a/core/assets-raw/sprites/blocks/defense/regen-projector.png b/core/assets-raw/sprites/blocks/defense/regen-projector.png index 3d610ed2aec33e27418c31e927d4760cad1f7205..f18e5bb857d60b45c63b13917ec8c64b47d2f2c2 100644 GIT binary patch delta 2081 zcmZ20zE)s@ayY)#dA(>h9bJ~(drCGp zoPw54ULeM)(lSHK+sfHRK>MKH+yqspgquP0rnaSuPf`-}R2NIy_(5UMb(akuk{jy7 zHlLY2*Yde_`nfZE^`E`I_ik_bv%3A(|IeM7yW4dEA78rmmm3lF)AR18{r~^_y#37c zuA!6J%Jr64mw(?r;qkVK&1;_hpWj-g##E8KFSesxr$O#nb*OQ&Z}g`P91EULwr6RX zmsu2-##r<7YOVR_i*9R{D`rGpW3yN;)Kbi_E@tn}C_TSSyZBwI?<$q|UQs%4$&nqq zR69I>ovgvlyNh3zJetP%@?`z*wEvg4-k<*7WAi~N^f;@o^eR#)=yUTtyUI+z^(A?lx{K_Vn(A@hcB%Z_T;=e9M{$$mgmWjC z-rT&3M_`-9=j4S~13AO0@>cX&eAd5Tx#64i+POz^ zapoEO*R};&Eyi#)2$Gj7)}-fN#-nxe(H_l)|g*R!9WJG*pZ@cKy$ z*e+cDqrlDbZjPa20HegAKMK4oPi|~gP7>P+8y~**&QtZgZ%o2CqhUXaLv3DGHyq_$?O>&2K*;-t;YMtAJOryyeE+ z1{TJ(S|)qvM92xOxxT^a!VG^FlS8T;_nuYjwSM&S=61}kw-daE|tzwW^G~ zN{8-VU|^Iz)PJ)k_m)PBK;~7Kg3!ke_nuXkxG&A#($tW(_WtQod;Pi%4SE)8pOZa% zKl0zd-~Oq$Z^q7}@r5T+*0M}tOIYz!{kVGoTlMVz7-3CL_V&%9QQT9e-Cpu>)teLg zdYn?9lc#pAY5%!2sjq%UvMy)l9Imxlk0wpv7Te^UKc!65c-q5VEDpO0`8hJ?1#ra7 zTh&|`qh@mW>(fUeb6&XTNm#lCA1yq-h+kv*v(JniEk9-mvG~3}#O<_tLBbk6VI!HA zJO6_?riGSl6{wow@3Q6V&FA$Zw;R6O*ZA*g*z(RO?3S9x(&SCM!)5EY*KgsJ`uxB4 zwem-ayg)4inB?KeK9U!-ZG2&m6_m7H;y%%zD0{ z{n87@i06|#&6p3pVBGUg%C=$F)2?gN{j0LRFm&Vym>sNH{T-js8+WNAvv=jL$G|JAae`b0*D|RpheRg)5&9iXo z&z0&NEMgAzC;uqqbF8$HN_=g)#($rflVC$io#w$wTLf%&FT9m4D|0T)R8fStMTa4` z=DxI3ccVnr*$M7>X}uozowXek4qud7sCcLO@Xao1^(}Yqgx-3tUh7cwTUPMq?&Fpm z>n>inHR(cf`rRO@r8Y}d4<_dbovuA^p>#Vk;(x`jn(*v`{HkWgEw`+LlNpjWurbXlTfKb#i4TnIy%&0vKMMD5Jh3t3%(A6F zUD~uVI5?(>+wCYmmSh)rlwHPTRb#;CQ^D`<7|!$$`S_P%(YNY1%Gr4Wu@zrezxomP zOgQvgQ`?Ux?%9$1xPpq~>#yFuaGkU1>tr2MftX{Aw{kO&ec@caVDe+-ueD3|&#ph< zI9c)K3`0kc@Qa>WvdN7BS2>=CWX-tj(=NwlesR9pp%b@%xjYvaE$;m=zy7U|pj@3h zL*_mw?zd)-)^4eeXcAy{ILqIqIE8`bbF8%nX}0~-g`!2tnW7I;+n(-PyJ~TX z(W@B!6|SBc8y5y=Z`I)3IrBh{`4wTND&@7?Y*%}p7Iw@T}o-1TsMcShEr|bE&iauYR30d4foQa?OX9 z6DAv3pZ=9Pa_d_QfBnW?OCy99F>SkR{VV%u*VCncT@o2>9F2G{w|$7?E!lnVL;Q`+ z%iO*v2MLLB?8rLZTYvWa|2uywUv#8pa9XX{$5L@?t>iv|$p)$oA5tG3o$%qqW_gp} z-)fCDpZ_h3*j)5B(8zo3kF4wZXN}+2nPpD?mcOrN>CG_thul$zTpT3!)f+5n(dDnx zyz6(P=9A&s#=ZNuPjmS3;Tu1D<%|!XtnJlRzew&A@RH!}Xw~OYR1~vQV7TQm;e#W0 z!;BWiL*g!ndPMgHC_Q|=et#~X%#8SeLvJ~g_x2oK`N5IJp|i!Hrh~H~po#DPW|>&W zLuY1PzTRuYTd87jS#!c7RfA{IEll+cobwiWax$pM*!)tO=cf_bw{8b(gX+OqnTk_B z{K{T`>bB>WhHVi{4ZNQv)7L%C{8&`7)Pv!OO2r}Z2^*d-{{D37$p9t>&No%niI#^< zcj+EwQkW7TWLIPTot0m&O@u+``lp-16|WYxwS+M>%+&pP%)#@A!4`&uoo!PtL>VoqhOk-69 z_NA@#)DSaB`QaqZx$#5mQk8`s2a;O!r+92QBtET+WqZTEL-pC;wNG0pO-azP5wdy6 z?Qi$-gwgrNjQO`&wl_?&WlmUDEMRxJ;O&;SmPsG#-|s7az2p7PoqMf+O?Y7Iwn8uA z?yk$n=5FrJ@|^IYHHdQ!@2-l8A6o5Hbh;Q0iO*=9!Xmq`;MB_JeJif3%UINX`dH1K zC%IDh;BFb?^?7@9jxhR1Bt7>lat@H#cfcoubLEGJP2BpDS1oq=IQ|e2W-wLV@MhL- zvva-YnTpjSPMxW@ot_u5fzhRHS^{TBtG zW%osq;n#!%7q>p(l#gL@P$}4U$+`E#LVd=7Xr}b2i4SKD6DY^}9j6W~)ArZX@^KX)Ny!JUAzC>dMNFDJ=Ov zVltlZ;i?wc^uaJlI%eT9^Z5E;XC`wU<0A%Fo_KgF{F$K1xIlGEi++SqR!e_|(}mUo zon0OZHJP*PURbwJTX49Ym5G5<&?oOjBP6bLJ8IV_kg6Q;0o@pFk7$hKG_|LgR@5=|@a6K5F~9`j3V5!iR&iy`N{53J8lMrC{eC9oIT?WX#Bxfz^% zJvk1G&#;>kAhgfH;966&>Oo<<3;ulBc8iuTzA3vjrt+x#`>(+h?%k|0uX!xW8|6z0&%SjYTH>M|KFBeP`zUR_?7Lux5(PoKFr+ zmybXAVzzrv&WGgr&EZT+ODb-Dc|7mUlJvU;dn|i38M3@TC@r_)P*rREuyn1Ikk?8< zyA;*~7lc%59KAUXi?>Y)(5@-qY*?uB;sfi%4WE}jSG!+xRzN7LjX#fZ!fiQ+lV*;S zx#H_9GJbDM`QbEQ$mU_Qy86Oh3>nIb;`_d<$bV5hC~c>+i{ZmNNzQBUl01Jn`88dQ z@0qlF%l}ZOTc9ZVC%(Xg^^k0F)+ME&;~Xph1^r3C&hSn$SNq^E&UgQrM8XtuRU#fX zUybjnzao|J_lK41yD5&HEipfK+OCth!|`V7h85EF56vEOo2nEX)h&I;ajQkYLiLN1 zLU|D9t`_~0i3d`hEtC2@UkL4cF!6z9w!#j+BW+yq8On_xme%<=^?qobCA5jDjW1qf zqClH|i%?dZ{*_4yTq|Vl_8UK5)HCIVf#9Qw2aZ{;5mpka*z$laZk?d_Nniad6AVg| z#mb#pT-QA-u6MN$zf_CuASm z_@Q;5iom`JlLWZqKX`qpVO*QscaJsVA@^3*mWSL?O``iAOx*B-X~XPUoc=$YbU8PE zV4di&A#R45sZ3;T>x96r7g8U7vs*Zs=bY#8 z;_#!F%iXx2%`OhCN`C*6yUf1q+Y>*bZHs5IGI7{1>18>@f1AV6gO`)zx~h9#ugaeg z>4hzmJ~;1K>h3*5Xu)A|FO`bAo^WR;&DcZY6AE5j*z`n7=8(C4+cbmHb76zjL+&UiKZfPoCDT@>FFY(>qBgB%1%s^Ji~PWjcLuJ0O&lvE_c_ei z#50ZI&~m=VJ5?1$_c{EXFs0?i%NG(xpEa{Q9312yaw{pSIvf(`FjP|%w+jewW{F+a z*P>g*v|x41&6|XSp_5zB;DaVK2W{mEuo^_qjqj(*ZlUKrPC2r+akE>x*G zIB7$D$f5QmMuR0SW)HayIlVP&GE^CUO*t^ZrSj3V!!K6}dpy`CaBFeJi|QMknYs+W zCMi_-zkK%K!Ex`*A2Jr3x?kOV*m2R5;frQs24n6acB2gKg_{`?*!JvRQImY*@kbtZ zXRZfM)h~-$0=D! zINoRP{~v9_v#+v$H@`2xJL}co313$~J3Ret`0lz)zBhkuqr=wOX05vS{CE2Dxb~c1 zh5nm=K1rUnz23s2a(9ZQ$(6sKF9@FP5J`-#x65d*cs{Y<``qa1XD@icP(8u|%3V(4 zMM50&za3{v-~d(nGgw%*aK;O8MmgxzByw;H+4-P>kJM4FY zi7_C!$@~wy-QUi2%N1IrUMN()&77S%V;h@wd{v&~4*^kzttuM?ER!BKFJIRl(Xr=w z=KPntK3#hkzUZNI5W|%T6QWOq{Ft!%wW_Gn`{%zBX6Z#dY}RDh<@I7y!_HlCYXpjG zBT9>(9BN;~@Iq { - color(Pal.accent); + color(Pal.regen); Fill.square(e.x, e.y, e.fslope() * 1.5f + 0.14f, 45f); }), diff --git a/core/src/mindustry/graphics/Pal.java b/core/src/mindustry/graphics/Pal.java index 58ebf19794..0d72059161 100644 --- a/core/src/mindustry/graphics/Pal.java +++ b/core/src/mindustry/graphics/Pal.java @@ -16,6 +16,8 @@ public class Pal{ sapBullet = Color.valueOf("bf92f9"), sapBulletBack = Color.valueOf("6d56bf"), + regen = Color.valueOf("d1efff"), + reactorPurple = Color.valueOf("bf92f9"), reactorPurple2 = Color.valueOf("8a73c6"), diff --git a/core/src/mindustry/world/blocks/defense/RegenProjector.java b/core/src/mindustry/world/blocks/defense/RegenProjector.java index 470fc27cdd..95c3df59ac 100644 --- a/core/src/mindustry/world/blocks/defense/RegenProjector.java +++ b/core/src/mindustry/world/blocks/defense/RegenProjector.java @@ -30,7 +30,7 @@ public class RegenProjector extends Block{ public DrawBlock drawer = new DrawMulti(new DrawRegion("-bottom"), new DrawSideRegion(true)); - public float effectChance = 0.013f; + public float effectChance = 0.003f; public Color baseColor = Pal.accent; public Effect effect = Fx.regenParticle; @@ -53,7 +53,7 @@ public class RegenProjector extends Block{ x *= tilesize; y *= tilesize; - Drawf.dashSquare(Pal.accent, x, y, range * tilesize); + Drawf.dashSquare(baseColor, x, y, range * tilesize); indexer.eachBlock(Vars.player.team(), Tmp.r1.setCentered(x, y, range * tilesize), b -> true, t -> { Drawf.selected(t, Tmp.c1.set(baseColor).a(Mathf.absin(4f, 1f))); }); @@ -111,7 +111,7 @@ public class RegenProjector extends Block{ if(consValid()){ //use Math.max to prevent stacking - for(Building build : targets){ + for(var build : targets){ if(!build.damaged() || build.isHealSuppressed()) continue; didRegen = true; @@ -121,7 +121,7 @@ public class RegenProjector extends Block{ float value = mendMap.get(pos); mendMap.put(pos, Math.min(Math.max(value, healPercent * edelta() * build.block.health / 100f), build.block.health - build.health)); - if(Mathf.chanceDelta(effectChance)){ + if(value <= 0 && Mathf.chanceDelta(effectChance * build.block.size * build.block.size)){ effect.at(build.x + Mathf.range(build.block.size * tilesize/2f - 1f), build.y + Mathf.range(build.block.size * tilesize/2f - 1f)); } }