Skip to content

Commit f190865

Browse files
committed
Serpulo/Erekir updates
1 parent b679cb8 commit f190865

File tree

2 files changed

+85
-54
lines changed

2 files changed

+85
-54
lines changed

src/exogenesis/content/ExoBlocks.java

Lines changed: 18 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -214,7 +214,7 @@ Items.copper, new BasicBulletType(0f, 0) {{
214214
mixColorTo = Pal.accent;
215215
mixColor = new Color(1f, 1f, 1f, 0f);
216216
under = true;
217-
outlineLayerOffset = 0.0001f;
217+
outlineLayerOffset = 0.001f;
218218
}}
219219
);
220220
}};
@@ -518,12 +518,18 @@ Items.lead, new ExoShrapnelBulletType(){{
518518
smokeEffect = ExoShootFx.neutronShoot;
519519
heatColor = Color.red;
520520
size = 4;
521+
shootY = 5;
521522
scaledHealth = 160;
523+
inaccuracy = 3;
522524
targetAir = false;
523525
moveWhileCharging = false;
524526
accurateDelay = false;
525527
shootSound = Sounds.shootBig;
526528
coolant = consumeCoolant(1f);
529+
shoot = new ShootPattern(){{
530+
shots = 3;
531+
shotDelay = 5;
532+
}};
527533

528534
consumePower(18f);
529535

@@ -572,6 +578,7 @@ Items.lead, new ExoShrapnelBulletType(){{
572578
recoil = 2f;
573579
reload = 6f;
574580
shake = 1.5f;
581+
cooldownTime = 80;
575582
shootEffect = new MultiEffect(Fx.shootBigColor, ExoShootFx.colorSparkShootSmall);
576583
heatColor = Color.red;
577584
size = 4;
@@ -849,24 +856,26 @@ ExoItems.quantumCrytsal, new ExoShrapnelBulletType(){{
849856
}};
850857
supercritical = new PowerTurret("supercritical"){{
851858
requirements(Category.turret, with(Items.copper, 1200, Items.lead, 550, Items.graphite, 300, Items.surgeAlloy, 525, ExoItems.voltriumAlloy, 300, Items.silicon, 525));
852-
shootEffect = Fx.shootBigSmoke2;
853859
shootCone = 10f;
854-
recoil = 4f;
860+
recoil = 0f;
855861
size = 5;
856862
shake = 2f;
857863
range = 300f;
858864
reload = 110f;
859865
shootY = 17;
860866
rotateSpeed = 5f;;
861-
shootSound = Sounds.plasmaboom;
867+
shootSound = ExoSounds.energyShoot2;
862868
envEnabled |= Env.space;
869+
moveWhileCharging = false;
870+
accurateDelay = false;
871+
863872
drawer = new DrawTurret(){{
864873
parts.addAll(
865874
new RegionPart("-bodyside"){{
866875
progress = PartProgress.warmup.curve(Interp.slowFast);
867876
moveX = 1f;
868877
y = 0;
869-
moves.add(new PartMove(PartProgress.recoil, 0.5f, -2f, 0f));
878+
moves.add(new PartMove(PartProgress.recoil, 1f, -2f, 0f));
870879
mirror = true;
871880
}},
872881
new RegionPart("-body"){{
@@ -884,8 +893,10 @@ ExoItems.quantumCrytsal, new ExoShrapnelBulletType(){{
884893
shootType = new DecayBulletType(2.5f, 424f){{
885894
drag = 0.006f;
886895
lifetime = 88f;
896+
shootEffect = new MultiEffect(Fx.shootBigColor, Fx.colorSparkBig, ExoShootFx.colorSparkShootSmall);
897+
chargeEffect = new MultiEffect(Fx.lancerLaserCharge, Fx.lancerLaserChargeBegin);
887898
addDamageMultiplier(
888-
thermal, 1f,
899+
thermal, 0.8f,
889900
energy, 0.2f
890901

891902
);
@@ -908,7 +919,7 @@ ExoItems.quantumCrytsal, new ExoShrapnelBulletType(){{
908919
drag = 0.04f;
909920
lifetime = 18f;
910921
addDamageMultiplier(
911-
thermal, 1f,
922+
thermal, 0.8f,
912923
energy, 0.2f
913924

914925
);

src/exogenesis/content/effects/ExoChargeFx.java

Lines changed: 67 additions & 47 deletions
Original file line numberDiff line numberDiff line change
@@ -11,56 +11,76 @@
1111
import mindustry.graphics.Pal;
1212

1313
import static arc.graphics.g2d.Draw.color;
14+
import static arc.graphics.g2d.Lines.lineAngle;
1415
import static arc.graphics.g2d.Lines.stroke;
1516
import static arc.math.Angles.randLenVectors;
1617

1718
public class ExoChargeFx {
1819
public static final Effect
19-
starChargePink = new Effect(100f, 160f, e -> {
20-
color(ExoPal.empyreanPinkLight);
21-
Fill.circle(e.x, e.y, e.fin() * 10);
22-
color(Color.white);
23-
Fill.circle(e.x, e.y, e.fin() * 6);
24-
}).followParent(true).rotWithParent(true),
25-
26-
OrbitalCharge = new Effect(160f, 100f, e -> {
27-
color(Pal.heal);
28-
stroke(e.fin() * 3f);
29-
Lines.circle(e.x, e.y, 18f + e.fout() * 100f);
30-
31-
Fill.circle(e.x, e.y, e.fin() * 20);
32-
33-
randLenVectors(e.id, 20, 40f * e.fout(), (x, y) -> {
34-
Fill.circle(e.x + x, e.y + y, e.fin() * 5f);
35-
Drawf.light(e.x + x, e.y + y, e.fin() * 15f, Pal.heal, 0.7f);
36-
});
37-
38-
color();
39-
40-
Fill.circle(e.x, e.y, e.fin() * 10);
41-
Drawf.light(e.x, e.y, e.fin() * 20f, Pal.heal, 0.7f);
42-
}).followParent(true).rotWithParent(true),
43-
44-
demiurgeCharge = new Effect(106f, e -> {
45-
color(ExoPal.empyreanIndigo);
46-
47-
stroke(e.fin() * 2f);
48-
Lines.circle(e.x, e.y, 8f + e.fout() * 100f);
49-
50-
Fill.circle(e.x, e.y, e.fin() * 10f);
51-
color(Color.white);
52-
Fill.circle(e.x, e.y, e.fin() * 6f);
53-
54-
Drawf.tri(e.x, e.y, 12f * e.fout(), 55f + (20f * e.fin()), e.rotation);
55-
56-
for (int i = 0; i < 2; i++) {
57-
Drawf.tri(e.x, e.y, 16f * e.fout(), 40f, e.rotation + (0f + (e.fin(Interp.circleOut) * 54f)) * Mathf.signs[i]);
58-
}
59-
for (int i = 0; i < 2; i++) {
60-
Drawf.tri(e.x, e.y, 12f * e.fout(), 35f, e.rotation + (0f + (e.fin(Interp.circleOut) * 36.0f)) * Mathf.signs[i]);
61-
}
62-
for (int i = 0; i < 2; i++) {
63-
Drawf.tri(e.x, e.y, 9f * e.fout(), 20f, e.rotation + (0f + (e.fin(Interp.circleOut) * 18f)) * Mathf.signs[i]);
64-
}
65-
});
20+
superCriticalCharge = new Effect(38f, e -> {
21+
color(e.color);
22+
23+
randLenVectors(e.id, 14, 1f + 20f * e.fout(), e.rotation, 190f, (x, y) -> {
24+
lineAngle(e.x + x, e.y + y, Mathf.angle(x, y), e.fslope() * 5f + 1f);
25+
});
26+
}),
27+
28+
superCriticalChargeBegin = new Effect(60f, e -> {
29+
float margin = 1f - Mathf.curve(e.fin(), 0.9f);
30+
float fin = Math.min(margin, e.fin());
31+
32+
color(e.color);
33+
Fill.circle(e.x, e.y, fin * 6f);
34+
35+
color();
36+
Fill.circle(e.x, e.y, fin * 5f);
37+
}),
38+
39+
starChargePink = new Effect(100f, 160f, e -> {
40+
color(ExoPal.empyreanPinkLight);
41+
Fill.circle(e.x, e.y, e.fin() * 10);
42+
color(Color.white);
43+
Fill.circle(e.x, e.y, e.fin() * 6);
44+
}).followParent(true).rotWithParent(true),
45+
46+
OrbitalCharge = new Effect(160f, 100f, e -> {
47+
color(Pal.heal);
48+
stroke(e.fin() * 3f);
49+
Lines.circle(e.x, e.y, 18f + e.fout() * 100f);
50+
51+
Fill.circle(e.x, e.y, e.fin() * 20);
52+
53+
randLenVectors(e.id, 20, 40f * e.fout(), (x, y) -> {
54+
Fill.circle(e.x + x, e.y + y, e.fin() * 5f);
55+
Drawf.light(e.x + x, e.y + y, e.fin() * 15f, Pal.heal, 0.7f);
56+
});
57+
58+
color();
59+
60+
Fill.circle(e.x, e.y, e.fin() * 10);
61+
Drawf.light(e.x, e.y, e.fin() * 20f, Pal.heal, 0.7f);
62+
}).followParent(true).rotWithParent(true),
63+
64+
demiurgeCharge = new Effect(106f, e -> {
65+
color(ExoPal.empyreanIndigo);
66+
67+
stroke(e.fin() * 2f);
68+
Lines.circle(e.x, e.y, 8f + e.fout() * 100f);
69+
70+
Fill.circle(e.x, e.y, e.fin() * 10f);
71+
color(Color.white);
72+
Fill.circle(e.x, e.y, e.fin() * 6f);
73+
74+
Drawf.tri(e.x, e.y, 12f * e.fout(), 55f + (20f * e.fin()), e.rotation);
75+
76+
for (int i = 0; i < 2; i++) {
77+
Drawf.tri(e.x, e.y, 16f * e.fout(), 40f, e.rotation + (0f + (e.fin(Interp.circleOut) * 54f)) * Mathf.signs[i]);
78+
}
79+
for (int i = 0; i < 2; i++) {
80+
Drawf.tri(e.x, e.y, 12f * e.fout(), 35f, e.rotation + (0f + (e.fin(Interp.circleOut) * 36.0f)) * Mathf.signs[i]);
81+
}
82+
for (int i = 0; i < 2; i++) {
83+
Drawf.tri(e.x, e.y, 9f * e.fout(), 20f, e.rotation + (0f + (e.fin(Interp.circleOut) * 18f)) * Mathf.signs[i]);
84+
}
85+
});
6686
}

0 commit comments

Comments
 (0)