pub fn drain_random<T>(vec: &mut Vec<T>, random: &GameRng) -> Option<T>
Remove and return a uniformly-random element from vec, returning None floor(random_f64() * len), clamped, then remove(idx).
vec
None
floor(random_f64() * len)
remove(idx)