From 38556c701451b6574042a3b2a9c89864efc412a7 Mon Sep 17 00:00:00 2001 From: "Ian T. Jacobsen" Date: Wed, 10 Dec 2014 17:14:41 +0000 Subject: [PATCH] Prevent divide by zero --- OpenRA.Mods.RA/Traits/Air/Plane.cs | 5 ++++- 1 file changed, 4 insertions(+), 1 deletion(-) diff --git a/OpenRA.Mods.RA/Traits/Air/Plane.cs b/OpenRA.Mods.RA/Traits/Air/Plane.cs index 591f110368..bbafe6e62e 100644 --- a/OpenRA.Mods.RA/Traits/Air/Plane.cs +++ b/OpenRA.Mods.RA/Traits/Air/Plane.cs @@ -63,8 +63,11 @@ namespace OpenRA.Mods.RA.Traits return WVec.Zero; var currentDir = FlyStep(Facing); + var length = (currentDir.HorizontalLength * repulsionForce.HorizontalLength); + if (length == 0) + return WVec.Zero; - var dot = WVec.Dot(currentDir, repulsionForce) / (currentDir.HorizontalLength * repulsionForce.HorizontalLength); + var dot = WVec.Dot(currentDir, repulsionForce) / length; // avoid stalling the plane return dot >= 0 ? repulsionForce : WVec.Zero; }