From 439e9b29d10ae6830b592d22076f51f0c3ac89c8 Mon Sep 17 00:00:00 2001 From: PhatPhuckDave Date: Sat, 25 Jan 2025 19:48:04 +0100 Subject: [PATCH] Rework display to sort stinkies first --- Weakauras/Display/event.lua | 31 ++++++++++++++++++++++++------- 1 file changed, 24 insertions(+), 7 deletions(-) diff --git a/Weakauras/Display/event.lua b/Weakauras/Display/event.lua index 946c9d4..a6c7259 100644 --- a/Weakauras/Display/event.lua +++ b/Weakauras/Display/event.lua @@ -11,16 +11,33 @@ function(allstates) } end end - + ---@type table + local sortedStinkies = {} for k, v in pairs(HeimdallStinkies) do - print(k) + sortedStinkies[#sortedStinkies + 1] = v + end + table.sort(sortedStinkies, function(a, b) + ---@cast a Player + ---@cast b Player + if not a then return false end + if not b then return true end + if a.guild:lower() ~= b.guild:lower() then + return a.guild:lower() < b.guild:lower() + end + if a.zone:lower() ~= b.zone:lower() then + return a.zone:lower() < b.zone:lower() + end + return a.name:lower() < b.name:lower() + end) + + for _, v in pairs(sortedStinkies) do local ago = now - v.lastSeenInternal - if allstates[k] then - allstates[k].ago = string.format("%6.1fs", ago) - allstates[k].name = v:ToString() - allstates[k].changed = true + if allstates[v.name] then + allstates[v.name].ago = string.format("%6.1fs", ago) + allstates[v.name].name = v:ToString() + allstates[v.name].changed = true else - allstates[k] = { + allstates[v.name] = { show = true, changed = true, name = v:ToString(),