diff --git a/core/assets-raw/sprites/units/weapons/collaris-weapon-heat.png b/core/assets-raw/sprites/units/weapons/collaris-weapon-heat.png index d1e9610ddf..20e4e5165a 100644 Binary files a/core/assets-raw/sprites/units/weapons/collaris-weapon-heat.png and b/core/assets-raw/sprites/units/weapons/collaris-weapon-heat.png differ diff --git a/core/assets-raw/sprites/units/weapons/collaris-weapon.png b/core/assets-raw/sprites/units/weapons/collaris-weapon.png index 5280af8607..56d66f2431 100644 Binary files a/core/assets-raw/sprites/units/weapons/collaris-weapon.png and b/core/assets-raw/sprites/units/weapons/collaris-weapon.png differ diff --git a/core/src/mindustry/content/Blocks.java b/core/src/mindustry/content/Blocks.java index 72c3b771c5..49e2a5f425 100644 --- a/core/src/mindustry/content/Blocks.java +++ b/core/src/mindustry/content/Blocks.java @@ -5644,7 +5644,7 @@ public class Blocks{ forceDark = true; privileged = true; size = 1; - maxInstructionsPerTick = 100; + maxInstructionsPerTick = 500; range = Float.MAX_VALUE; }}; diff --git a/core/src/mindustry/content/Fx.java b/core/src/mindustry/content/Fx.java index 3a5ee1ed08..a297571182 100644 --- a/core/src/mindustry/content/Fx.java +++ b/core/src/mindustry/content/Fx.java @@ -1597,14 +1597,14 @@ public class Fx{ } }), - shootSmokeSquareBig = new Effect(30f, e -> { + shootSmokeSquareBig = new Effect(32f, e -> { color(Color.white, e.color, e.fin()); rand.setSeed(e.id); - for(int i = 0; i < 8; i++){ - float rot = e.rotation + rand.range(22f); - v.trns(rot, rand.random(e.finpow() * 24f)); - Fill.poly(e.x + v.x, e.y + v.y, 4, e.fout() * 3.8f + 0.2f, rand.random(360f)); + for(int i = 0; i < 13; i++){ + float rot = e.rotation + rand.range(26f); + v.trns(rot, rand.random(e.finpow() * 30f)); + Fill.poly(e.x + v.x, e.y + v.y, 4, e.fout() * 4f + 0.2f, rand.random(360f)); } }), diff --git a/core/src/mindustry/content/UnitTypes.java b/core/src/mindustry/content/UnitTypes.java index d75ffd0821..2871b1a0fe 100644 --- a/core/src/mindustry/content/UnitTypes.java +++ b/core/src/mindustry/content/UnitTypes.java @@ -3383,20 +3383,16 @@ public class UnitTypes{ rotateSpeed = 0.4f; rotate = true; - x = 43 / 4f; - y = -20f / 4f; - shootY = 37 / 4f; - shootX = -5f / 4f; + x = 48 / 4f; + y = -28f / 4f; + shootY = 64f / 4f; recoil = 3f; - reload = 30f; - shake = 2f; - cooldownTime = 20f; + reload = 90f; + shake = 5f; layerOffset = 0.02f; + shadow = 10f; - shoot.shots = 3; - shoot.shotDelay = 3f; - inaccuracy = 2f; - velocityRnd = 0.1f; + shoot.shots = 1; heatColor = Color.red; for(int i = 0; i < 5; i++){ @@ -3417,24 +3413,24 @@ public class UnitTypes{ }}); } - bullet = new BasicBulletType(9f, 85){{ + bullet = new ArtilleryBulletType(5.5f, 290){{ pierceCap = 2; pierceBuilding = true; - lifetime = 30f; + lifetime = 75f; shootEffect = Fx.shootBigColor; smokeEffect = Fx.shootSmokeSquareBig; frontColor = Color.white; hitSound = Sounds.none; - width = 12f; - height = 20f; + width = 18f; + height = 24f; lightColor = trailColor = hitColor = backColor = Pal.techBlue; lightRadius = 40f; lightOpacity = 0.7f; - trailWidth = 2.2f; - trailLength = 8; + trailWidth = 4.5f; + trailLength = 19; trailChance = -1f; despawnEffect = Fx.none; @@ -3451,6 +3447,53 @@ public class UnitTypes{ sparkLen = 6f; sparkStroke = 2f; }}; + + fragBullets = 15; + fragVelocityMin = 0.5f; + fragRandomSpread = 130f; + fragLifeMin = 0.3f; + despawnShake = 5f; + + fragBullet = new BasicBulletType(5.5f, 85){{ + pierceCap = 2; + pierceBuilding = true; + + homingPower = 0.09f; + homingRange = 150f; + + lifetime = 50f; + shootEffect = Fx.shootBigColor; + smokeEffect = Fx.shootSmokeSquareBig; + frontColor = Color.white; + hitSound = Sounds.none; + width = 12f; + height = 20f; + + lightColor = trailColor = hitColor = backColor = Pal.techBlue; + lightRadius = 40f; + lightOpacity = 0.7f; + + trailWidth = 2.2f; + trailLength = 8; + trailChance = -1f; + + despawnEffect = Fx.none; + splashDamage = 50f; + splashDamageRadius = 30f; + + hitEffect = despawnEffect = new MultiEffect(new ExplosionEffect(){{ + lifetime = 30f; + waveStroke = 2f; + waveColor = sparkColor = trailColor; + waveRad = 5f; + smokeSize = 0f; + smokeSizeBase = 0f; + sparks = 5; + sparkRad = 20f; + sparkLen = 6f; + sparkStroke = 2f; + }}, Fx.blastExplosion); + }}; }}; }}); }};