diff --git a/OpenRA.Mods.Common/Projectiles/Missile.cs b/OpenRA.Mods.Common/Projectiles/Missile.cs index 2342d10640..c26bbe9d43 100644 --- a/OpenRA.Mods.Common/Projectiles/Missile.cs +++ b/OpenRA.Mods.Common/Projectiles/Missile.cs @@ -136,6 +136,10 @@ namespace OpenRA.Mods.Common.Projectiles [Desc("Explodes when leaving the following terrain type, e.g., Water for torpedoes.")] public readonly string BoundToTerrainType = ""; + [Desc("Allow the missile to snap to the target, meaning jumping to the target immediately when", + "the missile enters the radius of the current speed around the target.")] + public readonly bool AllowSnapping = false; + [Desc("Explodes when inside this proximity radius to target.", "Note: If this value is lower than the missile speed, this check might", "not trigger fast enough, causing the missile to fly past the target.")] @@ -813,7 +817,10 @@ namespace OpenRA.Mods.Common.Projectiles // Move the missile var lastPos = pos; - pos += move; + if (info.AllowSnapping && state != States.Freefall && relTarDist < move.Length) + pos = targetPosition + offset; + else + pos += move; // Check for walls or other blocking obstacles var shouldExplode = false;