From 19d3e203284d1121b37ab2ad1175f5daf305ce2d Mon Sep 17 00:00:00 2001 From: SomeonesShade Date: Sat, 14 Jun 2025 06:04:09 +0800 Subject: [PATCH 1/5] Temporarily Invincible Missiles Quell (#10674) * quell changes version 1 (draft) * Quell Homing Workaround and Stat Display Working * Quell, 16 close range instead of 19 * final color adjustment * quell description attempt 1 * quell desc attempt 2 * e * oop * Added Homing to Quell Plasma Shielding --------- Co-authored-by: EggleEgg <125359838+EggleEgg@users.noreply.github.com> --- core/assets/bundles/bundle.properties | 2 +- core/src/mindustry/content/UnitTypes.java | 73 +++++++++++++------ .../abilities/SuppressionFieldAbility.java | 5 +- 3 files changed, 54 insertions(+), 26 deletions(-) diff --git a/core/assets/bundles/bundle.properties b/core/assets/bundles/bundle.properties index 4fa00bd859..94a4e69a14 100644 --- a/core/assets/bundles/bundle.properties +++ b/core/assets/bundles/bundle.properties @@ -2448,7 +2448,7 @@ unit.collaris.description = Fires long-range fragmenting artillery at enemy targ unit.elude.description = Fires pairs of homing bullets at enemy targets. Can float over bodies of liquid. unit.avert.description = Fires twisting pairs of bullets at enemy targets. unit.obviate.description = Fires twisting pairs of lightning orbs at enemy targets. -unit.quell.description = Fires long-range homing missiles at enemy targets. Suppresses enemy structure repair blocks. Only attacks ground targets. +unit.quell.description = Fires long-range homing missiles with unstable plasma shielding at enemy targets. Suppresses enemy structure repair blocks. Only attacks ground targets. unit.disrupt.description = Fires long-range homing suppression missiles at enemy targets. Suppresses enemy structure repair blocks. Only attacks ground targets. unit.evoke.description = Builds structures to defend the Bastion core. Repairs structures with a beam. Capable of carrying 2x2 structures. unit.incite.description = Builds structures to defend the Citadel core. Repairs structures with a beam. Capable of carrying 2x2 structures. diff --git a/core/src/mindustry/content/UnitTypes.java b/core/src/mindustry/content/UnitTypes.java index 6e34ac4264..113193b15a 100644 --- a/core/src/mindustry/content/UnitTypes.java +++ b/core/src/mindustry/content/UnitTypes.java @@ -3829,8 +3829,10 @@ public class UnitTypes{ engineSize = 4.8f; engineOffset = 61 / 4f; + range = 4.3f * 60f * 1.4f; abilities.add(new SuppressionFieldAbility(){{ + reload = 60f * 8f; orbRadius = 5.3f; y = 1f; }}); @@ -3846,36 +3848,59 @@ public class UnitTypes{ recoil = 1f; rotationLimit = 60f; - bullet = new BulletType(){{ + bullet = new BasicBulletType(4.3f, 70f, "missile-large"){{ shootEffect = Fx.shootBig; smokeEffect = Fx.shootBigSmoke2; shake = 1f; - speed = 0f; + lifetime = 60 * 0.496f; + rangeOverride = 361.2f; + followAimSpeed = 5f; + + width = 12f; + height = 22f; + hitSize = 7f; + hitColor = backColor = trailColor = Pal.sapBulletBack; + trailWidth = 3f; + trailLength = 12; + hitEffect = despawnEffect = Fx.hitBulletColor; + keepVelocity = false; + collidesGround = true; collidesAir = false; - spawnUnit = new MissileUnitType("quell-missile"){{ - targetAir = false; - speed = 4.3f; - maxRange = 6f; - lifetime = 60f * 1.4f; - outlineColor = Pal.darkOutline; - engineColor = trailColor = Pal.sapBulletBack; - engineLayer = Layer.effect; - health = 45; - loopSoundVolume = 0.1f; + //workaround to get the missile to behave like in spawnUnit while still spawning on death + fragRandomSpread = 0; + fragBullets = 1; + fragVelocityMin = 1f; + fragOffsetMax = 1f; - weapons.add(new Weapon(){{ - shootSound = Sounds.none; - shootCone = 360f; - mirror = false; - reload = 1f; - shootOnDeath = true; - bullet = new ExplosionBulletType(110f, 25f){{ - shootEffect = Fx.massiveExplosion; - collidesAir = false; - }}; - }}); + fragBullet = new BulletType(){{ + speed = 0f; + keepVelocity = false; + collidesAir = false; + spawnUnit = new MissileUnitType("quell-missile"){{ + targetAir = false; + speed = 4.3f; + maxRange = 6f; + lifetime = 60f * (1.4f - 0.496f); + outlineColor = Pal.darkOutline; + engineColor = trailColor = Pal.sapBulletBack; + engineLayer = Layer.effect; + health = 45; + loopSoundVolume = 0.1f; + + weapons.add(new Weapon() {{ + shootSound = Sounds.none; + shootCone = 360f; + mirror = false; + reload = 1f; + shootOnDeath = true; + bullet = new ExplosionBulletType(110f, 25f) {{ + shootEffect = Fx.massiveExplosion; + collidesAir = false; + }}; + }}); + }}; }}; }}; }}); @@ -3909,6 +3934,8 @@ public class UnitTypes{ int parts = 10; abilities.add(new SuppressionFieldAbility(){{ + reload = 60 * 15f; + range = 320f; orbRadius = orbRad; particleSize = partRad; y = 10f; diff --git a/core/src/mindustry/entities/abilities/SuppressionFieldAbility.java b/core/src/mindustry/entities/abilities/SuppressionFieldAbility.java index be69a45797..9785ac6597 100644 --- a/core/src/mindustry/entities/abilities/SuppressionFieldAbility.java +++ b/core/src/mindustry/entities/abilities/SuppressionFieldAbility.java @@ -17,6 +17,7 @@ public class SuppressionFieldAbility extends Ability{ protected static Rand rand = new Rand(); public float reload = 60f * 1.5f; + public float maxDelay = 60f * 1.5f; public float range = 200f; public float orbRadius = 4.1f, orbMidScl = 0.33f, orbSinScl = 8f, orbSinMag = 1f; @@ -55,9 +56,9 @@ public class SuppressionFieldAbility extends Ability{ public void update(Unit unit){ if(!active) return; - if((timer += Time.delta) >= reload){ + if((timer += Time.delta) >= maxDelay){ Tmp.v1.set(x, y).rotate(unit.rotation - 90f).add(unit); - Damage.applySuppression(unit.team, Tmp.v1.x, Tmp.v1.y, range, reload, reload, applyParticleChance, unit, effectColor); + Damage.applySuppression(unit.team, Tmp.v1.x, Tmp.v1.y, range, reload, maxDelay, applyParticleChance, unit, effectColor); timer = 0f; } } From ef5fae289c5a2372d1db90bc2d3a3029978cee75 Mon Sep 17 00:00:00 2001 From: Iniquit <45113412+Iniquit@users.noreply.github.com> Date: Fri, 13 Jun 2025 18:06:14 -0400 Subject: [PATCH 2/5] Allow block info hotkey to also work on units (#10894) * Allow the block info key to also work on units * Follow code formatting guidelines --- .../ui/fragments/PlacementFragment.java | 16 ++++++++++------ 1 file changed, 10 insertions(+), 6 deletions(-) diff --git a/core/src/mindustry/ui/fragments/PlacementFragment.java b/core/src/mindustry/ui/fragments/PlacementFragment.java index 6213c923c3..013695c336 100644 --- a/core/src/mindustry/ui/fragments/PlacementFragment.java +++ b/core/src/mindustry/ui/fragments/PlacementFragment.java @@ -251,12 +251,16 @@ public class PlacementFragment{ } if(Core.input.keyTap(Binding.blockInfo)){ - var build = world.buildWorld(Core.input.mouseWorld().x, Core.input.mouseWorld().y); - Block hovering = build == null ? null : build instanceof ConstructBuild c ? c.current : build.block; - Block displayBlock = menuHoverBlock != null ? menuHoverBlock : input.block != null ? input.block : hovering; - if(displayBlock != null && displayBlock.unlockedNow()){ - ui.content.show(displayBlock); - Events.fire(new BlockInfoEvent()); + if(hovered() instanceof Unit unit && unit.type.unlockedNow()){ + ui.content.show(unit.type()); + }else{ + var build = world.buildWorld(Core.input.mouseWorld().x, Core.input.mouseWorld().y); + Block hovering = build == null ? null : build instanceof ConstructBuild c ? c.current : build.block; + Block displayBlock = menuHoverBlock != null ? menuHoverBlock : input.block != null ? input.block : hovering; + if(displayBlock != null && displayBlock.unlockedNow()){ + ui.content.show(displayBlock); + Events.fire(new BlockInfoEvent()); + } } } From ac1f49aeb53e7968d806d7d8cfb5437b45da18e4 Mon Sep 17 00:00:00 2001 From: grely <182034229+grelylrz@users.noreply.github.com> Date: Sat, 14 Jun 2025 03:07:35 +0500 Subject: [PATCH 3/5] Update servers_v7.json (#10893) --- servers_v7.json | 23 ----------------------- 1 file changed, 23 deletions(-) diff --git a/servers_v7.json b/servers_v7.json index d7ced22a1e..3bd2d4a4df 100644 --- a/servers_v7.json +++ b/servers_v7.json @@ -1,27 +1,4 @@ [ - { - "name": "EscoCorp", - "address": [ - "121.127.37.17", - "121.127.37.17:6568", - "121.127.37.17:6569", - "121.127.37.17:6570", - "121.121.37.17:6571", - "121.127.37.17:6572", - "121.127.37.17:6573", - "31.58.85.20:6567", - "194.164.245.218:6567", - "194.164.245.218:6568", - "194.164.245.218:6569", - "194.164.245.218:6570", - "194.164.245.218:6571", - "194.164.245.218:6572", - "194.164.245.218:6573", - "194.164.245.218:6574", - "194.164.245.218:6575", - "194.164.245.218:6576" - ] - }, { "name": "EchoDustry", "address": [ From 339f6fcc9c2bb54038b0ec31cf135189ea23005a Mon Sep 17 00:00:00 2001 From: abcxyzDustry <138785336+abcxyzDustry@users.noreply.github.com> Date: Sat, 14 Jun 2025 05:07:44 +0700 Subject: [PATCH 4/5] Update servers_v7.json (#10924) we negotiated with the mindustry tool programmer, and he agreed to let us merge into one until v8 is actually released, and before leading to the above agreement we used to have a separate group for our server, why did you delete it, hope you agree to approve for us --- servers_v7.json | 7 ++++++- 1 file changed, 6 insertions(+), 1 deletion(-) diff --git a/servers_v7.json b/servers_v7.json index 3bd2d4a4df..9f4177a0a5 100644 --- a/servers_v7.json +++ b/servers_v7.json @@ -306,7 +306,12 @@ "server.mindustry-tool.com:10002", "server.mindustry-tool.com:10003", "server.mindustry-tool.com:10004", - "server.mindustry-tool.com:10005" + "server.mindustry-tool.com:10005", + "144.76.57.59:14899", + "144.76.57.59:24942", + "144.76.57.59:19672", + "144.76.57.59:12858", + "144.76.57.59:14761" ] }, { From 807517e828037aaecb867d49c31252fdcce8186f Mon Sep 17 00:00:00 2001 From: Alpha <102418650+Alpha182@users.noreply.github.com> Date: Fri, 13 Jun 2025 23:18:50 +0100 Subject: [PATCH 5/5] Update servers_v7.json (#10903) Changed domains from: mindustry.kalpe.games to mv7-survival.kalpe.games --- servers_v7.json | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/servers_v7.json b/servers_v7.json index 9f4177a0a5..b3d254ae05 100644 --- a/servers_v7.json +++ b/servers_v7.json @@ -239,7 +239,7 @@ { "name": "Kalpe Games", "address": [ - "mindustry.kalpe.games" + "mv7-survival.kalpe.games" ] }, {