From b2aaca45d5ad2a330cc55100391b8dbbce80d15c Mon Sep 17 00:00:00 2001 From: Anuken Date: Sat, 21 Aug 2021 18:35:27 -0400 Subject: [PATCH] progress --- .../units/neoplasm/scuttler-segment0.png | Bin 1430 -> 1992 bytes .../units/neoplasm/scuttler-segment1.png | Bin 1567 -> 2346 bytes .../units/neoplasm/scuttler-segment2.png | Bin 1600 -> 2179 bytes .../units/neoplasm/scuttler-segment3.png | Bin 1610 -> 2252 bytes core/src/mindustry/content/Fx.java | 6 +++--- core/src/mindustry/content/UnitTypes.java | 6 ++++-- .../mindustry/entities/comp/CrawlComp.java | 7 +++++++ core/src/mindustry/graphics/Pal.java | 2 ++ core/src/mindustry/type/UnitType.java | 16 +++++++++++++--- gradle.properties | 2 +- tools/src/mindustry/tools/Generators.java | 2 +- 11 files changed, 31 insertions(+), 10 deletions(-) diff --git a/core/assets-raw/sprites/units/neoplasm/scuttler-segment0.png b/core/assets-raw/sprites/units/neoplasm/scuttler-segment0.png index e9c533963fc1f793181337b66aa4b08ac97b06bf..317c8889fcfa57eb05edee7470e36bf7b929afb3 100644 GIT binary patch literal 1992 zcmd6o`#%#3AIE3)GI=7LILT#6l0uh751wr=x2+Q592^$8WXrt_Wn-=naa<#pl7*vm z#wKHO*`&vDZ*vJ7Z6iF!FqhffJ^JbV3(xnL&*$}hy}$2YziD?JkP7mryR&3OO-lz7X=^4F&&OWdoaC8j4q-X-^!y>Bc_ zkB2(X0?i&8=UmKWP4Y5h<=@q&-S`PDo1DzcV^Hi``{bZ|x!wuxYKOl6Z`&E^ei!+yeSaws-o6Uce`9huoU>qCaP&F3J zxJH_*@a_>SZrx^MovLlhlVkK2qc8lbGHAt6k!YSY_*f;=rnmCJz~QbtkYG3I=bRs3 zmvYFgZd#b%nH=LOoazx4v#VVZU|N~3Bd)&RSgVR^%teXy`0mZb6~i3P5xib3r=a3N zneGwF1JhpfT9k-XOwUl)I)6rRMaJ^-qrd9Rr&Tu6O)=2QdHVq$U?L&mx%-9bev>`| z`rHpB^_bkYrJJD%&Q>RQyC6yDK_iyFrp~FlI2jabk&_9@A_1MP^J$3pp4Srz)4d6G`kGEa@y+@@ zCCLHSVg0svcAJjnVkRy@k?@_S%BA;zne8~D#o+SP-9^!8fe*ZY5q=DJP5HBSnS!RS zz%Gl^8exGi=s^|?amXF(T(M>L$+gSGHZ|^KxadjN(Wfj^NeWg(klTrT%lJ*%Xa-3j z2&EnuLxu-q!`f||(lFwiI&C9<2A)F5ZL0|!_+I|22*jZS+5YSbbu2Kcm`<6G+D*>^ zn-$hH&`T{TO<*L=&3Clcu_59R)5UqR7b4>Wn(~Q}>Tvr3YD$di>SIE27tsJf+ zr!e`PGn?|Tt#%Bu`@23(etc(E4g(9@<9fv6!^kaAPj~L4g3CUR2a|J%(OPF$LYe*$pX;cI5anF)R1veDVRc;hNjyl2r z^iqeiiq0eP@vgc8>GI;A>YF4f6%iXK3&XL0;R9RTD7t&@80-DT(JwC{G1*VrLpbZN zBN`91%eXcFhRKfHnmr2How*Y5W#76VGopUr`q}rK?HqX7*^VJzoMVMCbo}CSMjdZjxL4 zSzDqROQFuW;Awo{SMJsf!`YAk7t-iPHtx&Rv#*w6p7G-om$k0vS~1M=AIP?RT0V5q zM|Pmpe}}_leAjRc;{8|s>Lkjeq~-qV%>~tIgWff$jV@VkD^R#Ec$i&;KDJrI3-d8s zyJJaOt=F?+x7?WQ&Ee|`A~)n?DCTH6{3cfHMbT1O3#UuU+_WGiZK<(UvkT0=yN0Dg zmoCAH?quR1=Gy0A#_53jhykboHD`==yB)hLp0{Tu^^dZbVhIdG8RJePy8}`K33}uY z7Zmcf3|`_UdaU~XEf*sWKC2q$8u;j5kz!wzxQ4?U1ckB~3nt|9k?Z{#jCXz>uj5_> zLp*daIh78|U5JmeAzBHI=H$`b?O-P+P51kohhG(|Mi#A$mt~7R9~3|Hzr<3z5BE(_b^=mIQ;%wo_U4Iy;{XMq0AZX5?w7u+zpQ zC+qxIL*a4x2}9#A_D1m;;wxX7)!M4z^+4y&Q!;;l%y`DWOgqr*E&E)B!H?}NTL&Am Im3QL*00MWrfB*mh delta 952 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 diff --git a/core/assets-raw/sprites/units/neoplasm/scuttler-segment2.png b/core/assets-raw/sprites/units/neoplasm/scuttler-segment2.png index 834ca5aaefbfbce4b2fa089a53d199a259f0760f..3ac74aafe9d43a442c6c880bbe8afd9c7e14c864 100644 GIT binary patch delta 2064 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 diff --git a/core/assets-raw/sprites/units/neoplasm/scuttler-segment3.png b/core/assets-raw/sprites/units/neoplasm/scuttler-segment3.png index cb92fc0a3535a10badc55c5ef607beecb8b4e6f1..5cdd9d5a10add3f6c4fb46ae3af6094c34f0847f 100644 GIT binary patch literal 2252 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 { - color(Tmp.c1.set(e.color).mul(1.1f)); + crawlDust = new Effect(35, e -> { + color(Tmp.c1.set(e.color).mul(1.6f)); randLenVectors(e.id, 2, 10f * e.finpow(), (x, y) -> { - Fill.circle(e.x + x, e.y + y, e.fslope() * 3f + 0.3f); + Fill.circle(e.x + x, e.y + y, e.fslope() * 4f + 0.3f); }); }).layer(Layer.debris), diff --git a/core/src/mindustry/content/UnitTypes.java b/core/src/mindustry/content/UnitTypes.java index c3a2da5080..362844919d 100644 --- a/core/src/mindustry/content/UnitTypes.java +++ b/core/src/mindustry/content/UnitTypes.java @@ -2412,12 +2412,14 @@ public class UnitTypes implements ContentList{ //region neoplasm scuttler = new UnitType("scuttler"){{ - hitSize = 44f; + outlineColor = Pal.neoplasmOutline; + hitSize = 40f; omniMovement = false; - rotateSpeed = 2f; + rotateSpeed = 1.7f; drawCell = false; segments = 4; drawBody = false; + crawlDamage = 2f; segmentScl = 4f; segmentPhase = 5f; diff --git a/core/src/mindustry/entities/comp/CrawlComp.java b/core/src/mindustry/entities/comp/CrawlComp.java index 780f40ea6a..d5c1e86151 100644 --- a/core/src/mindustry/entities/comp/CrawlComp.java +++ b/core/src/mindustry/entities/comp/CrawlComp.java @@ -2,12 +2,14 @@ package mindustry.entities.comp; import arc.math.*; import arc.math.geom.*; +import arc.util.*; import mindustry.*; import mindustry.ai.*; import mindustry.annotations.Annotations.*; import mindustry.content.*; import mindustry.entities.*; import mindustry.entities.EntityCollisions.*; +import mindustry.game.*; import mindustry.gen.*; import mindustry.type.*; import mindustry.world.*; @@ -20,6 +22,7 @@ import static mindustry.Vars.*; abstract class CrawlComp implements Posc, Rotc, Hitboxc, Unitc{ @Import float x, y, speedMultiplier, rotation, hitSize; @Import UnitType type; + @Import Team team; @Import Vec2 vel; //TODO segments @@ -72,6 +75,10 @@ abstract class CrawlComp implements Posc, Rotc, Hitboxc, Unitc{ solids ++; } + if(t.build != null && t.build.team != team){ + t.build.damage(team, type.crawlDamage * Time.delta); + } + if(Mathf.chanceDelta(0.04)){ Fx.crawlDust.at(t.worldx(), t.worldy(), t.floor().mapColor); } diff --git a/core/src/mindustry/graphics/Pal.java b/core/src/mindustry/graphics/Pal.java index a990905900..fd8f23b5e9 100644 --- a/core/src/mindustry/graphics/Pal.java +++ b/core/src/mindustry/graphics/Pal.java @@ -103,6 +103,8 @@ public class Pal{ adminChat = Color.valueOf("ff4000"), + neoplasmOutline = Color.valueOf("2e191d"), + logicBlocks = Color.valueOf("d4816b"), logicControl = Color.valueOf("6bb2b2"), logicOperations = Color.valueOf("877bad"), diff --git a/core/src/mindustry/type/UnitType.java b/core/src/mindustry/type/UnitType.java index f89cb44459..89dc00522f 100644 --- a/core/src/mindustry/type/UnitType.java +++ b/core/src/mindustry/type/UnitType.java @@ -132,8 +132,9 @@ public class UnitType extends UnlockableContent{ public float segmentSpacing = 2f; public float segmentScl = 4f, segmentPhase = 5f; public float segmentRotSpeed = 1f, segmentMaxRot = 30f; - public float crawlSlowdown = 0.45f; - public float crawlSlowdownFrac = 0.4f; + public float crawlSlowdown = 0.5f; + public float crawlDamage = 0.5f; + public float crawlSlowdownFrac = 0.55f; public ObjectSet immunities = new ObjectSet<>(); public Sound deathSound = Sounds.bang; @@ -897,7 +898,8 @@ public class UnitType extends UnlockableContent{ Unit unit = (Unit)crawl; applyColor(unit); - for(int p = 0; p < 2; p++){ + //change to 2 TODO + for(int p = 0; p < 1; p++){ TextureRegion[] regions = p == 0 ? segmentOutlineRegions : segmentRegions; for(int i = 0; i < segments; i++){ @@ -907,6 +909,14 @@ public class UnitType extends UnlockableContent{ float rot = Mathf.slerp(crawl.segmentRot(), unit.rotation, i / (float)(segments - 1)); float tx = Angles.trnsx(rot, trns), ty = Angles.trnsy(rot, trns); + + //shadow + Draw.color(0f, 0f, 0f, 0.2f); + Draw.rect(regions[i], unit.x + tx + 2f, unit.y + ty - 2f, rot - 90); + + applyColor(unit); + + //TODO merge outlines? Draw.rect(regions[i], unit.x + tx, unit.y + ty, rot - 90); } diff --git a/gradle.properties b/gradle.properties index 5bd4e7119e..7d294adaf4 100644 --- a/gradle.properties +++ b/gradle.properties @@ -11,4 +11,4 @@ android.useAndroidX=true #used for slow jitpack builds; TODO see if this actually works http.socketTimeout=80000 http.connectionTimeout=80000 -archash=4410a18d881622cb655c9d48e4cb0ff2ec40782f +archash=f9d704c4e88dfc9772e1e956268cfe8414f7b133 diff --git a/tools/src/mindustry/tools/Generators.java b/tools/src/mindustry/tools/Generators.java index 084a785fa3..df9bf89de3 100644 --- a/tools/src/mindustry/tools/Generators.java +++ b/tools/src/mindustry/tools/Generators.java @@ -414,7 +414,7 @@ public class Generators{ type.loadIcon(); type.init(); - Func outline = i -> i.outline(Pal.darkerMetal, 3); + Func outline = i -> i.outline(type.outlineColor, 3); Cons outliner = t -> { if(t != null && t.found()){ replace(t, outline.get(get(t)));