var candidate0RangeSquared = EFFECT_RADIUS*EFFECT_RADIUS
        var candidate1RangeSquared = EFFECT_RADIUS*EFFECT_RADIUS
        forUnitsInRange(targetPos, radius, (unit iter) -> begin
            if iter.isEnemy(casterOwner) and iter.isAlive() and not iter == target
                let rangeSquared = vec2(iter.getX(), iter.getY()).distToVecSquared(targetPos)
                if candidate0 == null or (candidate0RangeSquared > rangeSquared)
                    candidate1 = candidate0
                    candidate1RangeSquared = candidate0RangeSquared
                    candidate0 = iter
                    candidate0RangeSquared = rangeSquared
                else if candidate1 == null or (candidate1RangeSquared > rangeSquared)
                    candidate1 = iter
                    candidate1RangeSquared = rangeSquared

goto line:
Compare with:
text copy window edit this code post new code