# HG changeset patch # User John@Yosemite-PC # Date 1330747754 18000 # Node ID 431ddc8bdb4afb1ed18d2c0d28918806708d0d5f # Parent 00286ba3b9c4a451e952638be57ba24cf6b25ef6 Beginnings of a random populate command diff -r 00286ba3b9c4 -r 431ddc8bdb4a Core.lua --- a/Core.lua Fri Mar 02 22:44:30 2012 -0500 +++ b/Core.lua Fri Mar 02 23:09:14 2012 -0500 @@ -76,6 +76,16 @@ elseif param[2] == "list" then bsk:CreateList(param[3]) end + elseif param[1] == "populate" then + if param[2] == nil or param[2] == "" or param[3] == nil or param[3] == "" then + bsk:PrintTable(param) + return + end + -- list = p2 + local index = bsk:GetListIndex(param[2]) + if param[3] == "random" then + bsk:PopulateListRandom(index) + end elseif param[1] == "suicide" then if param[2] == nil or param[2] == "" or param[3] == nil or param[3] == "" then bsk:PrintTable(param) diff -r 00286ba3b9c4 -r 431ddc8bdb4a Lists.lua --- a/Lists.lua Fri Mar 02 22:44:30 2012 -0500 +++ b/Lists.lua Fri Mar 02 23:09:14 2012 -0500 @@ -324,6 +324,18 @@ end -- TODO: batch into a single op - no need to spam 25 messages in a row end +function bsk:PopulateListRandom(index) + -- difference (raid+reserve)^list, then random shuffle that, then add + bsk:PopulateRaidList() + local list = bsk.lists[index] + + local t = {} + --for i = 1,#list do + -- if not (RaidList(list[i]) or ReserveList(list[i])) then + -- tinsert(t,) + -- end + --end +end --}}} -- "Soft" actions- ie things that cause nonpermanent state {{{ @@ -416,3 +428,12 @@ assert(false) end +local shuffleArray = function(array) + local arrayCount = #array + for i = arrayCount, 2, -1 do + local j = math.random(1, i) + array[i], array[j] = array[j], array[i] + end + return array +end +