Index: binaries/data/mods/public/simulation/components/Attack.js =================================================================== --- binaries/data/mods/public/simulation/components/Attack.js +++ binaries/data/mods/public/simulation/components/Attack.js @@ -734,10 +734,11 @@ let positionTarget = cmpPositionTarget.GetPosition(); let heightDifference = positionSelf.y + range.elevationBonus - positionTarget.y; - range.max = Math.sqrt(Math.square(range.max) + 2 * range.max * heightDifference); + const squaredRange = Math.square(range.max) + 2 * range.max * heightDifference; - if (range.max < 0) + if (squaredRange < 0) return false; + range.max = Math.sqrt(squaredRange); } let cmpObstructionManager = Engine.QueryInterface(SYSTEM_ENTITY, IID_ObstructionManager); return cmpObstructionManager.IsInTargetRange(this.entity, target, range.min, range.max, false);