Advertisement
Rochet2

GetThreeRandomEnemies ~ efficent

Feb 19th, 2012
295
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
Lua 0.47 KB | None | 0 0
  1. --[[
  2.     -- Usage:
  3.     local targets = GetRandomEnemies(unit, 3)
  4.     for k, target in ipairs(targets) do
  5.         unit:CastSpellv(target, 11)
  6.     end
  7. ]]
  8.  
  9. local function pick(n, t)
  10.     if #t <= math.max(n, 0) then return t end
  11.     local picked, remove, random = {}, table.remove, math.random
  12.     for i = 1, n do
  13.         picked[i] = remove(t, random(#t))
  14.     end
  15.     return picked
  16. end
  17.  
  18. function GetRandomEnemies(unit, n)
  19.     return pick(n, unit:GetInRangeEnemies())
  20. end
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement