From 8794a90d059f290b6611e93cbd725537a54745af Mon Sep 17 00:00:00 2001 From: PsiOmegaDelta Date: Thu, 4 Jun 2015 08:42:44 +0200 Subject: [PATCH] The shuffle proc can now handle both normal and associative lists. --- code/__HELPERS/lists.dm | 17 ++++++++--------- 1 file changed, 8 insertions(+), 9 deletions(-) diff --git a/code/__HELPERS/lists.dm b/code/__HELPERS/lists.dm index ed0f0c97809..fb4cd3874eb 100644 --- a/code/__HELPERS/lists.dm +++ b/code/__HELPERS/lists.dm @@ -169,16 +169,15 @@ proc/listclearnulls(list/list) return output //Randomize: Return the list in a random order -/proc/shuffle(var/list/shufflelist) - if(!shufflelist) +/proc/shuffle(var/list/L) + if(!L) return - var/list/new_list = list() - var/list/old_list = shufflelist.Copy() - while(old_list.len) - var/item = pick(old_list) - new_list += item - old_list -= item - return new_list + + L = L.Copy() + + for(var/i=1; i