diff --git a/assets/changelog.md b/assets/changelog.md
index 1319940e..10f96cd8 100644
--- a/assets/changelog.md
+++ b/assets/changelog.md
@@ -1,3 +1,26 @@
+# Update 0.7.5
+
+**Update 0.7.5** is here featuring a new specialist unit tree, a new turret, and some other changes
+
+## What's New?
+1. **Jùfēng** Tier 3 Air - Jet Bomber
+ * A new unit tree, "Jet Bombers", specializes in destroying enemy structures. It fires guided bombs at enemy buildings.
+ * Can be built from "Horizon"
+2. **Deadeye**
+ * Long range railgun, capable of destroying most targets in a single shot.
+
+## Changes
+1. New Craft Effect for **Carburizing Furnace**
+ * The new craft effect now makes sound and causes screen to shake
+2. Code Cleanup
+3. Deleted some useless stuff
+4. Fixed the AI on helicopters
+5. Fixed Buckshot from crashing the game [Reported by `JazzHandsJim`]
+6. Slight Changes to some content descriptions
+7. Fixed some explosion effect where it'll cause terrible framedrop under specific condition
+8. Fixed **Longsword** trail effect
+9. Adjusted some bullet lifetime & damage acording to their range
+
# Update 0.7.4
@@ -26,8 +49,6 @@ UAW now requires Mindustry Build `134.1`to play, please update your Mindustry
2. Fixed Quadra outline
3. Code cleanup
4. Some content description changes, especially units
-
-
# Update 0.7.3
diff --git a/src/UAW/content/UAWBlock.java b/src/UAW/content/UAWBlock.java
index f0dab83f..cfb30e89 100644
--- a/src/UAW/content/UAWBlock.java
+++ b/src/UAW/content/UAWBlock.java
@@ -210,7 +210,7 @@ UAWItems.titaniumCarbide, new UAWRailBulletType() {{
));
size = 4;
health = 225 * size * size;
- range = 125 * tilesize;
+ range = 100 * tilesize;
maxAmmo = 150;
ammoPerShot = 50;
rotateSpeed = 0.625f;
@@ -225,7 +225,7 @@ UAWItems.titaniumCarbide, new UAWRailBulletType() {{
cooldown = 1.5f;
ammo(
UAWItems.titaniumCarbide, new UAWRailBulletType() {{
- damage = 12500;
+ damage = 10000;
length = range;
shootEffect = new MultiEffect(
UAWFxD.railShoot(64, Pal.missileYellow),
@@ -238,7 +238,10 @@ UAWItems.titaniumCarbide, new UAWRailBulletType() {{
Fx.blastExplosion,
Fx.flakExplosionBig
);
- smokeEffect = Fx.smokeCloud;
+ smokeEffect = new MultiEffect(
+ Fx.smokeCloud,
+ Fx.blastsmoke
+ );
updateEffect = UAWFxD.railTrail(15, Pal.missileYellow);
pierceBuilding = true;
pierceDamageFactor = 0.8f;
@@ -251,7 +254,7 @@ UAWItems.titaniumCarbide, new UAWRailBulletType() {{
knockback = 24f;
}}
);
- consumes.powerCond(16f, TurretBuild::isActive);
+ consumes.powerCond(15f, TurretBuild::isActive);
}};
zounderkite = new ItemTurret("zounderkite") {{
@@ -545,54 +548,13 @@ Items.thorium, new ArtilleryBulletType(2f, 4250) {{
maxAmmo = 60;
ammoPerShot = 6;
ammo(
- Items.graphite, new BuckshotBulletType(5f, 12f) {{
- lifetime = range / speed;
- knockback = 4f;
- despawnEffect = hitEffect = new MultiEffect(Fx.hitBulletBig, Fx.burning, Fx.coalSmeltsmoke);
- shieldDamageMultiplier = 2.5f;
- }},
- Items.pyratite, new BuckshotBulletType(5f, 8f) {{
- shootEffect = Fx.shootPyraFlame;
- smokeEffect = Fx.shootBigSmoke2;
- frontColor = Pal.lightishOrange;
- backColor = Pal.lightOrange;
- despawnEffect = hitEffect = new MultiEffect(Fx.hitBulletBig, Fx.burning, Fx.fireHit);
- status = StatusEffects.burning;
- shieldDamageMultiplier = 1.4f;
- }},
- UAWItems.cryogel, new BuckshotBulletType(5f, 8f) {{
- lifetime = range / speed;
- shootEffect = UAWFxS.shootCryoFlame;
- smokeEffect = Fx.shootBigSmoke2;
- frontColor = UAWPal.cryoFront;
- backColor = UAWPal.cryoMiddle;
- despawnEffect = hitEffect = new MultiEffect(Fx.hitBulletBig, Fx.freezing, UAWFxS.cryoHit);
- status = StatusEffects.freezing;
- shieldDamageMultiplier = 1.4f;
- }},
- UAWItems.titaniumCarbide, new BuckshotBulletType(6f, 10f) {{
- height = width = 15;
- shrinkX = shrinkY = 0.5f;
- splashDamageRadius = 1.6f * tilesize;
- splashDamage = damage / 1.8f;
- pierceCap = 2;
- knockback = 2;
- trailLength = 0;
- trailInterval = 4.5f;
- trailColor = Color.lightGray;
- despawnEffect = shootEffect = new MultiEffect(Fx.shootBig2, Fx.shootPyraFlame);
- smokeEffect = Fx.shootBigSmoke2;
- hitEffect = Fx.hitBulletBig;
- armorIgnoreScl = 0.4f;
- }},
- Items.metaglass, new BuckshotBulletType(5f, 8f) {{
- splashDamageRadius = 1.8f * tilesize;
- splashDamage = damage / 2;
- lifetime = range / speed;
- fragBullets = 6;
- fragBullet = fragGlass;
- }}
+ Items.graphite, buckshotMedium,
+ Items.pyratite, buckshotMediumIncend,
+ UAWItems.cryogel, buckshotMediumCryo,
+ UAWItems.titaniumCarbide, buckshotMediumPiercing,
+ Items.metaglass, buckshotMediumFrag
);
+ limitRange();
}};
strikeforce = new UAWItemTurret("strikeforce") {{
requirements(Category.turret, with(
diff --git a/src/UAW/content/UAWBullets.java b/src/UAW/content/UAWBullets.java
index 756d3156..3f836a65 100644
--- a/src/UAW/content/UAWBullets.java
+++ b/src/UAW/content/UAWBullets.java
@@ -9,6 +9,7 @@
import mindustry.entities.effect.MultiEffect;
import mindustry.graphics.Pal;
+import static mindustry.Vars.tilesize;
import static mindustry.content.Bullets.*;
public class UAWBullets implements ContentList {
@@ -17,12 +18,13 @@ public class UAWBullets implements ContentList {
mediumPiercing, mediumStandard, mediumSurge, mediumIncendiary, mediumCryo,
heavyCopper, heavyDense, heavyHoming, heavyThorium, heavySurge, heavyPiercing, heavyIncendiary, heavyCryo,
buckshotLead, buckshotIncend, buckshotCryo,
+ buckshotMedium, buckshotMediumIncend, buckshotMediumCryo, buckshotMediumPiercing, buckshotMediumFrag,
mineBasic, mineIncend, mineCryo, mineOil, mineEMP, mineSpore,
canisterBasic, canisterIncend, canisterCryo, canisterOil, canisterEMP, canisterSpore, canisterNuke;
@Override
public void load() {
- smallCopper = new BasicBulletType(4f, 9){{
+ smallCopper = new BasicBulletType(4f, 9) {{
width = 7f;
height = 9f;
lifetime = 60f;
@@ -30,14 +32,14 @@ public void load() {
smokeEffect = Fx.shootSmallSmoke;
ammoMultiplier = 2;
}};
- smallDense = new BasicBulletType(5.5f, 18){{
+ smallDense = new BasicBulletType(5.5f, 18) {{
width = 9f;
height = 12f;
reloadMultiplier = 0.6f;
ammoMultiplier = 4;
lifetime = 60f;
}};
- smallIncendiary = new BasicBulletType(4.2f, 16){{
+ smallIncendiary = new BasicBulletType(4.2f, 16) {{
width = 10f;
height = 12f;
frontColor = Pal.lightishOrange;
@@ -50,7 +52,7 @@ public void load() {
makeFire = true;
lifetime = 60f;
}};
- smallCryo = new BasicBulletType(4.2f, 16){{
+ smallCryo = new BasicBulletType(4.2f, 16) {{
width = 10f;
height = 12f;
frontColor = UAWPal.cryoFront;
@@ -246,6 +248,51 @@ public void load() {
status = StatusEffects.freezing;
}};
+ buckshotMedium = new BuckshotBulletType(5f, 12f) {{
+ knockback = 4f;
+ despawnEffect = hitEffect = new MultiEffect(Fx.hitBulletBig, Fx.burning, Fx.coalSmeltsmoke);
+ shieldDamageMultiplier = 2.5f;
+ }};
+ buckshotMediumIncend = new BuckshotBulletType(5f, 8f) {{
+ shootEffect = Fx.shootPyraFlame;
+ smokeEffect = Fx.shootBigSmoke2;
+ frontColor = Pal.lightishOrange;
+ backColor = Pal.lightOrange;
+ despawnEffect = hitEffect = new MultiEffect(Fx.hitBulletBig, Fx.burning, Fx.fireHit);
+ status = StatusEffects.burning;
+ shieldDamageMultiplier = 1.4f;
+ }};
+ buckshotMediumCryo = new BuckshotBulletType(5f, 8f) {{
+ shootEffect = UAWFxS.shootCryoFlame;
+ smokeEffect = Fx.shootBigSmoke2;
+ frontColor = UAWPal.cryoFront;
+ backColor = UAWPal.cryoMiddle;
+ despawnEffect = hitEffect = new MultiEffect(Fx.hitBulletBig, Fx.freezing, UAWFxS.cryoHit);
+ status = StatusEffects.freezing;
+ shieldDamageMultiplier = 1.4f;
+ }};
+ buckshotMediumPiercing = new BuckshotBulletType(6f, 10f) {{
+ height = width = 15;
+ shrinkX = shrinkY = 0.5f;
+ splashDamageRadius = 1.6f * tilesize;
+ splashDamage = damage / 1.8f;
+ pierceCap = 2;
+ knockback = 2;
+ trailLength = 0;
+ trailInterval = 4.5f;
+ trailColor = Color.lightGray;
+ despawnEffect = shootEffect = new MultiEffect(Fx.shootBig2, Fx.shootPyraFlame);
+ smokeEffect = Fx.shootBigSmoke2;
+ hitEffect = Fx.hitBulletBig;
+ armorIgnoreScl = 0.4f;
+ }};
+ buckshotMediumFrag = new BuckshotBulletType(5f, 8f) {{
+ splashDamageRadius = 1.8f * tilesize;
+ splashDamage = damage / 2;
+ fragBullets = 6;
+ fragBullet = fragGlass;
+ }};
+
mineBasic = new MineBulletType(100, 90, 9) {{
frontColor = Pal.bulletYellow;
backColor = Pal.bulletYellowBack;
diff --git a/src/UAW/content/UAWTechTree.java b/src/UAW/content/UAWTechTree.java
index fee0ded4..7a0ca051 100644
--- a/src/UAW/content/UAWTechTree.java
+++ b/src/UAW/content/UAWTechTree.java
@@ -106,9 +106,10 @@ public void load() {
new Research(cyclone)
)));
// Solo
- node(solo, () -> node(longsword, Seq.with(
- new Research(fuse)
- )));
+ node(solo, () ->
+ node(longsword, Seq.with(new Research(fuse)), () ->
+ node(deadeye, Seq.with(new Research(foreshadow)))
+ ));
});
vanillaNode(salvo, () -> node(buckshot, () -> {
// Tempest
diff --git a/src/UAW/content/UAWUnitTypes.java b/src/UAW/content/UAWUnitTypes.java
index 3f0df0b6..7a643eef 100644
--- a/src/UAW/content/UAWUnitTypes.java
+++ b/src/UAW/content/UAWUnitTypes.java
@@ -391,7 +391,7 @@ public void load() {
}};
jufeng = new JetUnitType("jufeng") {{
- health = 550;
+ health = 650;
hitSize = 20;
speed = 2.8f;
accel = 0.1f;
diff --git a/src/UAW/entities/bullet/UAWRailBulletType.java b/src/UAW/entities/bullet/UAWRailBulletType.java
index 7e10eb8c..cf82ac6b 100644
--- a/src/UAW/entities/bullet/UAWRailBulletType.java
+++ b/src/UAW/entities/bullet/UAWRailBulletType.java
@@ -47,7 +47,6 @@ void handle(Bullet b, Posc pos, float initialHealth) {
if (b.damage > 0) {
pierceEffect.at(pos.getX(), pos.getY(), b.rotation());
hitEffect.at(pos.getX(), pos.getY());
- Effect.shake(hitShake, hitShake, b);
}
//subtract health from each consecutive pierce
@@ -72,6 +71,7 @@ public void init(Bullet b) {
for (float i = 0; i <= resultLen; i += updateEffectSeg) {
updateEffect.at(b.x + nor.x * i, b.y + nor.y * i, b.rotation());
}
+ Effect.shake(hitShake, hitShake, b);
}
@Override