From 3542bd9e9018273971a6548216703e3e4c0ce6c6 Mon Sep 17 00:00:00 2001 From: Anuken Date: Mon, 2 May 2022 15:37:43 -0400 Subject: [PATCH] T3 tank done --- .../sprites/units/precept-weapon-heat.png | Bin 0 -> 1301 bytes core/assets/bundles/bundle.properties | 19 +++++-- core/src/mindustry/content/Fx.java | 6 -- core/src/mindustry/content/UnitTypes.java | 52 ++++++++++++------ .../mindustry/entities/bullet/BulletType.java | 1 + core/src/mindustry/world/Block.java | 4 +- 6 files changed, 54 insertions(+), 28 deletions(-) create mode 100644 core/assets-raw/sprites/units/precept-weapon-heat.png diff --git a/core/assets-raw/sprites/units/precept-weapon-heat.png b/core/assets-raw/sprites/units/precept-weapon-heat.png new file mode 100644 index 0000000000000000000000000000000000000000..07c80972dbebb755cbc2d346a158a3b780b5f505 GIT binary patch literal 1301 zcmeAS@N?(olHy`uVBq!ia0y~yV2EL0V3@|i#=yW3Jm-BE0|NtNage(c!@6@aFBuqE z&U?BzhE&XXd;6`Qw7bZ$kN-DTYAB$%0oH@tl;^OjTbHsh|4-)U{IBb~BPA#-f$Vs#RULM-N z*{pH*Z|em98%%9aKk&?8n4b16IR5%KiEP0N;csSwWqb3~o%W~tI{C~0U{1U*p4jW; zFZ(0Cr8a(wDW`4j1MNe3yG3UG{j!k%*S?0-QyD3tH%@!Jxkh_)i>h3R(B=2UV zM9%-KY5HYtkh@hR^Zh4}H|+hn=J&NJnfC2V`${&k**$o?L3W1l-!FSK&6m8Ex_u$I zY)ebI^~?)Up!hyF9(Gr#{<$oWK+UTS#ITIUBBe6!SC zwD)Tq-+p?dWasXQ*LJb+#l9$aIWgt$R!-?_+8?s~%ys72hZroLl6-ajOs4uIu0Nfr zynpsf+*&Flm&W(Uo9XwZ&;QL|GL?Vlo~Cc0^ZVyQqp(+As-X|w*(oi1(S7}C&5t7+ z?%sMI#hkGD%1pOe2k!pWf0THo;G_1g_VD1OOPBL5e~RVZZ^}~Ubysr<$DOkHtjokR3xDb3H?TLzVI#rKk^VcY~sD zPfbXRUiwbl|I2e54c7+@Y2T7RC)a+fW!t0dROi}K=U^ked`crnMKi}vz3q4V4~xHg z7dq>J_?4@31!G^=IhUxbKeg`oclYHz_nWG5{WnxS=kL|Xeh{p5C3sP*{Iv6e8-E1+ zek^%$()P}+XWuuYDnYm-xBs zhDMgEQEyfqI9{@N7W0D@S4uBlxxX6}y!j5+(lxQ$oEL44+idmWbutnZ%BDZFIuZ>|}$ zZmQpRG~B#%_w|4EE|0{mHnaVkw(kAB88>sTa;BMS`?Kl4bklpeBs!z?dwl1GtkZQN z1@Geie?P3ZAw5mAtvPhnfxCaLlO)VjUClQwn)j=sO!$V$=I`2ml}4FN<==H@xjsrY zKjD5Ye111SgYo8*UBUBQx(;|-9Qa#OtNTh!kQ!j(`cwNat$%W;@w`wp0|Nttr>mdK II;Vst0GM%cvH$=8 literal 0 HcmV?d00001 diff --git a/core/assets/bundles/bundle.properties b/core/assets/bundles/bundle.properties index 9cae7ab7dc..ca2ff96520 100644 --- a/core/assets/bundles/bundle.properties +++ b/core/assets/bundles/bundle.properties @@ -1942,12 +1942,12 @@ block.cyanogen-synthesizer.name = Cyanogen Synthesizer block.phase-synthesizer.name = Phase Synthesizer block.heat-reactor.name = Heat Reactor block.beryllium-wall.name = Beryllium Wall -block.beryllium-wall-large.name = Beryllium Wall Large +block.beryllium-wall-large.name = Large Beryllium Wall block.tungsten-wall.name = Tungsten Wall -block.tungsten-wall-large.name = Tungsten Wall Large +block.tungsten-wall-large.name = Large Tungsten Wall block.blast-door.name = Blast Door block.carbide-wall.name = Carbide Wall -block.carbide-wall-large.name = Carbide Wall Large +block.carbide-wall-large.name = Large Carbide Wall block.radar.name = Radar block.build-tower.name = Build Tower block.regen-projector.name = Regen Projector @@ -2002,6 +2002,12 @@ block.small-deconstructor.name = Small Deconstructor block.canvas.name = Canvas block.world-processor.name = World Processor block.world-cell.name = World Cell +block.shield-breaker.name = Shield Breaker +block.tank-fabricator.name = Tank Fabricator +block.mech-fabricator.name = Mech Fabricator +block.ship-fabricator.name = Ship Fabricator +block.basic-reconstructor.name = Basic Reconstructor +block.unit-repair-tower.name = Unit Repair Tower status.slow.name = Slow status.shielded.name = Shielded status.corroded.name = Corroded @@ -2015,15 +2021,18 @@ unit.bulwark.name = Bulwark unit.krepost.name = Krepost unit.avert.name = Avert unit.quell.name = Quell -unit.quell-missile.name = Quell Missile unit.disrupt.name = Disrupt -unit.disrupt-missile.name = Disrupt Missile unit.evoke.name = Evoke unit.incite.name = Incite unit.emanate.name = Emanate unit.manifold.name = Manifold unit.assembly-drone.name = Assembly Drone unit.effect-drone.name = Effect Drone +unit.precept.name = Precept +unit.merui.name = Merui +unit.anthicus.name = Anthicus +unit.osc.name = Osc +unit.obviate.name = Obviate sector.two.name = Two sector.three.name = Three sector.four.name = Four diff --git a/core/src/mindustry/content/Fx.java b/core/src/mindustry/content/Fx.java index 6f918c4c95..628157fad8 100644 --- a/core/src/mindustry/content/Fx.java +++ b/core/src/mindustry/content/Fx.java @@ -824,12 +824,6 @@ public class Fx{ Drawf.light(e.x, e.y, 23f, e.color, e.fout() * 0.7f); }), - hitYellowLaser = new Effect(8, e -> { - color(Color.white, Pal.lightTrail, e.fin()); - stroke(0.5f + e.fout()); - Lines.circle(e.x, e.y, e.fin() * 5f); - }), - despawn = new Effect(12, e -> { color(Pal.lighterOrange, Color.gray, e.fin()); stroke(e.fout()); diff --git a/core/src/mindustry/content/UnitTypes.java b/core/src/mindustry/content/UnitTypes.java index 35fb04c44c..420fa33d28 100644 --- a/core/src/mindustry/content/UnitTypes.java +++ b/core/src/mindustry/content/UnitTypes.java @@ -2589,18 +2589,18 @@ public class UnitTypes{ hitSize = 26f; treadPullOffset = 5; speed = 0.64f; - rotateSpeed = 2f; - health = 2100; - armor = 8f; + rotateSpeed = 1.5f; + health = 4500; + armor = 10f; itemCapacity = 0; treadRects = new Rect[]{new Rect(16, 38, 30, 75), new Rect(44, 7, 17, 60)}; researchCostMultiplier = 0f; weapons.add(new Weapon("precept-weapon"){{ layerOffset = 0.0001f; - reload = 30f; - shootY = 18f; - recoil = 1f; + reload = 85f; + shootY = 16f; + recoil = 3f; rotate = true; rotateSpeed = 1.3f; mirror = false; @@ -2609,24 +2609,44 @@ public class UnitTypes{ y = -1f; heatColor = Color.valueOf("f9350f"); cooldownTime = 30f; - bullet = new BasicBulletType(8f, 130){{ + bullet = new BasicBulletType(7f, 90){{ sprite = "missile-large"; - width = 9.5f; - height = 15f; - lifetime = 30f; + width = 7.5f; + height = 13f; + lifetime = 28f; hitSize = 6f; - shootEffect = Fx.shootTitan; - smokeEffect = Fx.shootSmokeTitan; pierceCap = 2; pierce = true; pierceBuilding = true; hitColor = backColor = trailColor = Color.valueOf("feb380"); frontColor = Color.white; - trailWidth = 3.1f; + trailWidth = 2.8f; trailLength = 8; hitEffect = despawnEffect = Fx.blastExplosion; + shootEffect = Fx.shootTitan; + smokeEffect = Fx.shootSmokeTitan; splashDamageRadius = 20f; splashDamage = 50f; + + trailEffect = Fx.hitSquaresColor; + trailRotation = true; + trailInterval = 3f; + + fragBullets = 4; + + fragBullet = new BasicBulletType(5f, 25){{ + sprite = "missile-large"; + width = 5f; + height = 7f; + lifetime = 15f; + hitSize = 4f; + hitColor = backColor = trailColor = Color.valueOf("feb380"); + frontColor = Color.white; + trailWidth = 1.7f; + trailLength = 3; + drag = 0.01f; + despawnEffect = hitEffect = Fx.hitBulletColor; + }}; }}; }}); }}; @@ -2643,7 +2663,7 @@ public class UnitTypes{ weapons.add(new Weapon("vanquish-weapon"){{ layerOffset = 0.0001f; - reload = 120f; + reload = 110f; shootY = 71f / 4f; shake = 5f; recoil = 4f; @@ -2656,7 +2676,7 @@ public class UnitTypes{ heatColor = Color.valueOf("f9350f"); cooldownTime = 80f; - bullet = new BasicBulletType(8f, 130){{ + bullet = new BasicBulletType(8f, 140){{ sprite = "missile-large"; width = 9.5f; height = 15f; @@ -2664,7 +2684,7 @@ public class UnitTypes{ hitSize = 6f; shootEffect = Fx.shootTitan; smokeEffect = Fx.shootSmokeTitan; - pierceCap = 2; + pierceCap = 3; pierce = true; pierceBuilding = true; hitColor = backColor = trailColor = Color.valueOf("feb380"); diff --git a/core/src/mindustry/entities/bullet/BulletType.java b/core/src/mindustry/entities/bullet/BulletType.java index 9b99917b3a..179bfe4f04 100644 --- a/core/src/mindustry/entities/bullet/BulletType.java +++ b/core/src/mindustry/entities/bullet/BulletType.java @@ -25,6 +25,7 @@ import mindustry.world.blocks.defense.Wall.*; import static mindustry.Vars.*; +//TODO document public class BulletType extends Content implements Cloneable{ /** Lifetime in ticks. */ public float lifetime = 40f; diff --git a/core/src/mindustry/world/Block.java b/core/src/mindustry/world/Block.java index 5a3e588001..77436ec6bf 100644 --- a/core/src/mindustry/world/Block.java +++ b/core/src/mindustry/world/Block.java @@ -55,10 +55,12 @@ public class Block extends UnlockableContent implements Senseable{ public boolean acceptsItems = false; public boolean separateItemCapacity = false; + /** maximum items this block can carry (usually, this is per-type of item) */ public int itemCapacity = 10; + /** maximum total liquids this block can carry if hasLiquids = true */ public float liquidCapacity = 10f; + /** higher numbers increase liquid output speed; TODO remove and replace with better liquids system */ public float liquidPressure = 1f; - /** If true, this block outputs to its facing direction, when applicable. * Used for blending calculations. */ public boolean outputFacing = true;