diff --git a/core/src/mindustry/content/Blocks.java b/core/src/mindustry/content/Blocks.java index ca9d3eeb2c..76ed8ee08e 100644 --- a/core/src/mindustry/content/Blocks.java +++ b/core/src/mindustry/content/Blocks.java @@ -1320,7 +1320,7 @@ public class Blocks implements ContentList{ requirements(Category.effect, BuildVisibility.campaignOnly, ItemStack.with(Items.copper, 350, Items.silicon, 140, Items.lead, 200, Items.titanium, 150)); size = 3; itemCapacity = 100; - launchTime = 60f * 15; + launchTime = 60f * 20; hasPower = true; consumes.power(4f); }}; @@ -1329,7 +1329,7 @@ public class Blocks implements ContentList{ requirements(Category.effect, BuildVisibility.campaignOnly, ItemStack.with(Items.titanium, 200, Items.silicon, 150, Items.lead, 250, Items.plastanium, 75)); size = 4; itemCapacity = 300; - launchTime = 60f * 25; + launchTime = 60f * 35; hasPower = true; consumes.power(6f); }}; diff --git a/core/src/mindustry/content/Fx.java b/core/src/mindustry/content/Fx.java index b0e92d4203..ecf2e5f480 100644 --- a/core/src/mindustry/content/Fx.java +++ b/core/src/mindustry/content/Fx.java @@ -1217,13 +1217,18 @@ public class Fx{ Unitc unit = e.data(); float radius = unit.hitSize() * 1.3f; - color(Pal.shield, e.fout()); - randLenVectors(e.id, (int)(radius * 0.7f), radius, radius * e.finpow(), (x, y) -> { - Fill.poly(e.x + x, e.y + y, 3, e.fout() * 3f, Angles.angle(x, y)); + + e.scaled(16f, c -> { + color(Pal.shield); + stroke(c.fout() * 2f + 0.1f); + + randLenVectors(e.id, (int)(radius * 1.2f), radius/2f + c.finpow() * radius*1.25f, (x, y) -> { + lineAngle(c.x + x, c.y + y, Mathf.angle(x, y), c.fout() * 5 + 1f); + }); }); - + color(Pal.shield, e.fout()); stroke(1f * e.fout()); Lines.circle(e.x, e.y, radius); }), diff --git a/core/src/mindustry/entities/def/ShieldComp.java b/core/src/mindustry/entities/def/ShieldComp.java index 7a8a75b7a6..eb081c2a72 100644 --- a/core/src/mindustry/entities/def/ShieldComp.java +++ b/core/src/mindustry/entities/def/ShieldComp.java @@ -44,7 +44,7 @@ abstract class ShieldComp implements Healthc, Posc{ @Override public void update(){ - shieldAlpha -= Time.delta() / 12f; + shieldAlpha -= Time.delta() / 15f; if(shieldAlpha < 0) shieldAlpha = 0f; } } diff --git a/core/src/mindustry/graphics/Pal.java b/core/src/mindustry/graphics/Pal.java index 2fea6723cc..3d6a533ca9 100644 --- a/core/src/mindustry/graphics/Pal.java +++ b/core/src/mindustry/graphics/Pal.java @@ -8,7 +8,7 @@ public class Pal{ items = Color.valueOf("2ea756"), command = Color.valueOf("eab678"), - shield = Color.valueOf("7e8ffc").mul(1.3f).a(0.7f), + shield = Color.valueOf("ffd37f").a(0.7f), shieldIn = Color.black.cpy().a(0f), bulletYellow = Color.valueOf("fff8e8"), diff --git a/core/src/mindustry/type/UnitType.java b/core/src/mindustry/type/UnitType.java index 90e984e5cf..d3f07b2be2 100644 --- a/core/src/mindustry/type/UnitType.java +++ b/core/src/mindustry/type/UnitType.java @@ -150,7 +150,7 @@ public class UnitType extends UnlockableContent{ public void drawShield(Unitc unit){ float alpha = unit.shieldAlpha(); float radius = unit.hitSize() * 1.3f; - Fill.light(unit.x(), unit.y(), Lines.circleVertices(radius), radius, Tmp.c1.set(Pal.shieldIn), Tmp.c2.set(Pal.shield).lerp(Color.white, Mathf.clamp(unit.hitTime())).a(Pal.shield.a * alpha)); + Fill.light(unit.x(), unit.y(), Lines.circleVertices(radius), radius, Tmp.c1.set(Pal.shieldIn), Tmp.c2.set(Pal.shield).lerp(Color.white, Mathf.clamp(unit.hitTime() / 2f)).a(Pal.shield.a * alpha)); } public void drawControl(Unitc unit){ diff --git a/core/src/mindustry/world/blocks/storage/LaunchPad.java b/core/src/mindustry/world/blocks/storage/LaunchPad.java index 105400727a..93d26a6fc7 100644 --- a/core/src/mindustry/world/blocks/storage/LaunchPad.java +++ b/core/src/mindustry/world/blocks/storage/LaunchPad.java @@ -10,6 +10,7 @@ import arc.util.*; import mindustry.*; import mindustry.annotations.Annotations.*; import mindustry.content.*; +import mindustry.entities.*; import mindustry.game.EventType.*; import mindustry.gen.*; import mindustry.graphics.*; @@ -55,7 +56,7 @@ public class LaunchPad extends Block{ if(lightRegion.found()){ Draw.color(lightColor); - float progress = Math.min((float)items.total() / itemCapacity, timer.getTime(timerLaunch) / launchTime); + float progress = Math.min((float)items.total() / itemCapacity, timer.getTime(timerLaunch) / (launchTime / timeScale)); int steps = 3; float step = 1f; @@ -72,7 +73,7 @@ public class LaunchPad extends Block{ Draw.reset(); } - float cooldown = Mathf.clamp(timer.getTime(timerLaunch) / 90f / timeScale); + float cooldown = Mathf.clamp(timer.getTime(timerLaunch) / (90f / timeScale)); Draw.mixcol(lightColor, 1f - cooldown); @@ -99,6 +100,7 @@ public class LaunchPad extends Block{ entity.add(); Fx.launchPod.at(this); items.clear(); + Effects.shake(3f, 3f, this); } } } diff --git a/gradle.properties b/gradle.properties index 607fd4f2cc..8024c2b418 100644 --- a/gradle.properties +++ b/gradle.properties @@ -1,3 +1,3 @@ org.gradle.daemon=true org.gradle.jvmargs=-Xms256m -Xmx1024m -archash=b03d1d78790c8fa705b150121cef4028ef84757f +archash=45377e8f7daca3299262a92d387a0d12fc612e12