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