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