1. var candidate0RangeSquared = EFFECT_RADIUS*EFFECT_RADIUS
  2. var candidate1RangeSquared = EFFECT_RADIUS*EFFECT_RADIUS
  3. forUnitsInRange(targetPos, radius, (unit iter) -> begin
  4. if iter.isEnemy(casterOwner) and iter.isAlive() and not iter == target
  5. let rangeSquared = vec2(iter.getX(), iter.getY()).distToVecSquared(targetPos)
  6. if candidate0 == null or (candidate0RangeSquared > rangeSquared)
  7. candidate1 = candidate0
  8. candidate1RangeSquared = candidate0RangeSquared
  9. candidate0 = iter
  10. candidate0RangeSquared = rangeSquared
  11. else if candidate1 == null or (candidate1RangeSquared > rangeSquared)
  12. candidate1 = iter
  13. candidate1RangeSquared = rangeSquared

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