From 224e74cc5f380a69f0121ee27799acaa315b89d4 Mon Sep 17 00:00:00 2001 From: Anuken Date: Sun, 19 Jan 2025 14:59:27 -0500 Subject: [PATCH] Closes Anuken/Mindustry-Suggestions/issues/5397 --- .../weapons/scathe-missile-phase-cell.png | Bin 236 -> 230 bytes .../units/weapons/scathe-missile-phase.png | Bin 1157 -> 1256 bytes core/assets/bundles/bundle.properties | 2 +- core/src/mindustry/content/Blocks.java | 38 +++++++++++------- .../entities/abilities/ForceFieldAbility.java | 9 +++++ 5 files changed, 34 insertions(+), 15 deletions(-) diff --git a/core/assets-raw/sprites/units/weapons/scathe-missile-phase-cell.png b/core/assets-raw/sprites/units/weapons/scathe-missile-phase-cell.png index 7854083dfd74dba7e77b2fd1d17ee5880abd5ac5..7f4d7e4c936c32bfcc4d8cf5b8720267904713aa 100644 GIT binary patch delta 189 zcmaFE_>6IaVf_M67srr_Id89=<~?K};(CyKk;p2K|6a2iqRz;*9_gycH{HA~NB-wz z1~hPBe~+Qt(Hq+DrcO>bT3}@)yU>#JWrt6AMjcD3tJ=xM*$YkDYqf1Je&05=XYZmv zug}g$fTydU%Q~loCIFbhPelL# delta 195 zcmaFH_=a(UVf`{s7srr_Id89=_H{NCaJb05NMx1Af3H~$QF7HDP9m9Ytk2iz-VXmK z!hi(+7#}Z`5l)`}(aN&YR?I*)l6zsPeTwp?X-==JE`+6Ay?xDTtMs?KFFNbu^pun5 z8`hP|bI#~nv(&swKSgmdKI;Vst03&8jqyPW_ diff --git a/core/assets-raw/sprites/units/weapons/scathe-missile-phase.png b/core/assets-raw/sprites/units/weapons/scathe-missile-phase.png index fb807978c3043472b0d2d0c3c277f8324fb7b2fc..0065be21abda382f792405e2c592ac77c1ab2028 100644 GIT binary patch delta 1223 zcmZqWe8D-vuzr!Ji(^Q|oVT;~XNNcn95;Vtub`1pe|^ppQNBOiLLMENZ(ELdtz8ow zy>cqso19RQFZu#Z+a8&Eu3zwAeu0_ajoY(l&YiEXd2jnJ`Q4j8SMJVFyLV@*QP!0e zr`Plh|O<0gqeCe46kjKa)38J(A}{dA!=J!^?Dvk(YHgpBAGelbL7; z^90`6Y*~di!e*>j9v6t^SY)&;mfWCeZ8h8XhK!`G|Du8mw*q@FU#kpi4U-QEy<*)Z z5|L6WlC~oJe$a-!ce|T->#cW9i+%0r#0?#TU;XWOeMZ^Tnn#hp1ywHG=YtYajZ{+pnqp_Vn}a`l(;H zZTo&b=iQrknbQR2lP@md@wgDM;VxtUJQ>|?CHX7`N4W@&D*gHL8?!gWGpVd#&u(Oi zOt^jJ$iY=jg5m8|3M)6x@a@!}apfgz^a1XZXAkB?bJc&pd^)Lc+oTWOiZcp|)i0l& zpe`kz@s{C0m4ai!;(ZNq5yl$Z3RqOqPczqNGaY?5+e|6?)RrQb;A0+`m*`MHvPWg$CSgrDI+UZXJNC=hA@u_CcQIPPYV-^ z&{y$bx-F~FIOWdjrBjM5>|-nc|4KR4cl@2Nmu*Dp#=EO{xkPffITt0|4tdlnyQI03iO!E~B`MpB)<&0}# z=dZu(OJcKFEVy9~?^=6>ix=1O9?U*fF*mPn&wpjZ{bt*IBk$Z=I8|`D)%9(BaxuSS zy)>VG+xvPAZ-dRh>g1=NtI~C4yQAJEu|66JEBoEej;~oW%eL&(-&wVzJm2fM*Y(Fs*p7-ly41)rO}hE!wgamiZg2BC zuPDI2sCCMZCQlx&ww(_av~G23;+KjDJ@4`QL^t~`;cq|Aw%sVx^*p~~_u{A%If>cc zWz$%RXn3+54#INx{i^H)UI;}OO0>uq)yPnL~# zj(T@;N?4c6TH`zCw%vC%KkA?q@Op8eE>BqT7ERCE*LD@|4oyl2403bd>&L!5=W!zE zYmMpm9=$~yzOQ-tuU4dc(yS92y)SG}Z2973na26wHbOt8^A|s}McUcIDYd7T9o?s8 zpVd6s?0?#=@b4Z=&qe%RANlQSp!p+*=Zx!h>}Fg#?Rtps*2?cXFD9m+y)d6wS?1Ix r$xYf@lLM{iCKg{=5x7_{=05`ui;~6F@+Dmi3=9mOu6{1-oD!M<#2G&E delta 1123 zcmaFC*~&S=u-@L&#WAE}&fD30^MoA*j*B1RR&aEDZ_-}T;9JF!vBX(^3E#mk{(8=`Ly{h!*)f=b$4lm2gPpjKrZCzaK=QUZ)_g3oN zS1;dOK6(B1pWnNiuiyPsUL4}oRCTbdu*tEh>Oh}cam{_ zk}p_aZuvhtW4_MyZ&CfuJT`sJM|+D`RabrFFj!Q;adPoAhsCRur%TJ8o_*=L z@0*%_-jg{Er)I}Qyt2_=^D-sx-jsLi1S>;p7n$TI9rV`k5(_I8T7EeEc8J{`$@$;@ zo!(Y`F6jD!uJYJi>CG)i{)ve;b6gRgRD8x*%q)XtNs5o}q!|&}v0R+rmy0mGtB=h5 z_w>%@Cp~goPv8Q~B*=6hH z&>d5DH|FQD!h-LsEVo@bdH?t9^Fbb$*L6!~NPeBsI*m8eM&a6}v%Ck>&s5kg-Y@s2 z_)LE9(Mz6Z&9@sF?N2#1y-ZR;M4(?^f0h};raL{KW`U;F>3+c`y;KKQ&@dH@o@eGR&~Q3;_7 zW;pvtoS7yTwkOwnexRxSwGR~+^i*dBp1s;rWvSYGbgSjGO?LfXk4xQ2+nUX((aI9I z;Yy)@#P;JRYm%4O|4lSH!F}zHjJM0oV>f%El6R;s*k!5K+EXL=hB13p&nbp2`ni_R zBfG0brbK<7@z}=UWcI!qow7oW8)0W&o$V-^rT%xt#+@rV4VQ}RtcWrQOrD&6o+J3I zp_tE=h;?W9@BNIFVdQ&MBb@06|n89{>OV diff --git a/core/assets/bundles/bundle.properties b/core/assets/bundles/bundle.properties index bd8832c3e3..e771db3bf0 100644 --- a/core/assets/bundles/bundle.properties +++ b/core/assets/bundles/bundle.properties @@ -751,7 +751,7 @@ error.mapnotfound = Map file not found! error.io = Network I/O error. error.any = Unknown network error. error.bloom = Failed to initialize bloom.\nYour device may not support it. -error.moddex = Mindustry is unable to load this mod.\nYour device is blocking import of Java mods due to recent changes in Android.\nThere is no known workaround for this issue. +error.moddex = Mindustry is unable to load this mod.\nYour device is blocking import of Java mods due to recent changes in Android.\nThis will not be fixed. There is no known workaround for this issue. weather.rain.name = Rain weather.snowing.name = Snow diff --git a/core/src/mindustry/content/Blocks.java b/core/src/mindustry/content/Blocks.java index a117fecdca..8dffc5be6e 100644 --- a/core/src/mindustry/content/Blocks.java +++ b/core/src/mindustry/content/Blocks.java @@ -4927,18 +4927,17 @@ public class Blocks{ }}; }}, - //TODO - needs balancing Items.phaseFabric, new BulletType(0f, 0f){{ shootEffect = Fx.shootBig; smokeEffect = Fx.shootSmokeMissileColor; hitColor = Color.valueOf("ffd37f"); - ammoMultiplier = 1f; + ammoMultiplier = 5f; reloadMultiplier = 0.8f; spawnUnit = new MissileUnitType("scathe-missile-phase"){{ - speed = 4.4f; + speed = 4f; maxRange = 6f; - lifetime = 60f * 5.7f; + lifetime = 60f * 6.1f; outlineColor = Pal.darkOutline; engineColor = trailColor = Color.valueOf("ffd37f"); engineLayer = Layer.effect; @@ -4954,9 +4953,20 @@ public class Blocks{ targetAir = false; targetUnderBlocks = false; + parts.add(new ShapePart(){{ + progress = PartProgress.constant(1f); + color = Pal.accent; + sides = 6; + radius = 3f; + rotateSpeed = 3f; + hollow = true; + layer = Layer.effect; + y = 1.8f; + }}); + fogRadius = 6f; - health = 250; + health = 500; weapons.add(new Weapon(){{ shootCone = 360f; @@ -4965,7 +4975,7 @@ public class Blocks{ deathExplosionEffect = Fx.massiveExplosion; shootOnDeath = true; shake = 10f; - bullet = new ExplosionBulletType(1500f, 50f){{ + bullet = new ExplosionBulletType(400f, 120f){{ hitColor = engineColor; shootEffect = new MultiEffect(Fx.massiveExplosion, Fx.scatheExplosion, Fx.scatheLight, new WaveEffect(){{ lifetime = 10f; @@ -4974,7 +4984,7 @@ public class Blocks{ }}); collidesAir = false; - buildingDamageMultiplier = 0.2f; + buildingDamageMultiplier = 0.1f; ammoMultiplier = 1f; fragLifeMin = 0.1f; @@ -4988,8 +4998,8 @@ public class Blocks{ lifetime = 23f; width = height = 18f; collidesTiles = false; - splashDamageRadius = 40f; - splashDamage = 160f; + splashDamageRadius = 56f; + splashDamage = 164f; backColor = trailColor = hitColor = engineColor; frontColor = Color.white; smokeEffect = Fx.shootBigSmoke2; @@ -5013,7 +5023,7 @@ public class Blocks{ interval = 7f; }}); - abilities.add(new ForceFieldAbility(30f, 0f, 160f, 999999999f)); + abilities.add(new ForceFieldAbility(90f, 0f, 2000f, 999999999f)); }}; }}, @@ -5058,12 +5068,12 @@ public class Blocks{ deathExplosionEffect = Fx.massiveExplosion; shootOnDeath = true; shake = 10f; - bullet = new ExplosionBulletType(400f, 40f){{ + bullet = new ExplosionBulletType(300f, 40f){{ hitColor = engineColor; shootEffect = new MultiEffect(Fx.massiveExplosion, Fx.scatheExplosionSmall); collidesAir = false; - buildingDamageMultiplier = 0.25f; + buildingDamageMultiplier = 0.1f; ammoMultiplier = 1f; fragLifeMin = 0.1f; @@ -5105,7 +5115,7 @@ public class Blocks{ deathExplosionEffect = Fx.massiveExplosion; shootOnDeath = true; shake = 10f; - bullet = new ExplosionBulletType(340f, 35f){{ + bullet = new ExplosionBulletType(360f, 35f){{ lightning = 6; lightningDamage = 35f; lightningLength = 8; @@ -5118,7 +5128,7 @@ public class Blocks{ }}); collidesAir = false; - buildingDamageMultiplier = 0.2f; + buildingDamageMultiplier = 0.1f; }}; }}); diff --git a/core/src/mindustry/entities/abilities/ForceFieldAbility.java b/core/src/mindustry/entities/abilities/ForceFieldAbility.java index 82b5297d88..d4cdac20d4 100644 --- a/core/src/mindustry/entities/abilities/ForceFieldAbility.java +++ b/core/src/mindustry/entities/abilities/ForceFieldAbility.java @@ -105,6 +105,15 @@ public class ForceFieldAbility extends Ability{ } } + @Override + public void death(Unit unit){ + + //self-destructing units can have a shield on death + if(unit.shield > 0f && !wasBroken){ + Fx.shieldBreak.at(unit.x, unit.y, radius, unit.type.shieldColor(unit), this); + } + } + @Override public void draw(Unit unit){ checkRadius(unit);