Rework display to sort stinkies first

This commit is contained in:
2025-01-25 19:48:04 +01:00
parent a3f1a0e96d
commit 439e9b29d1

View File

@@ -11,16 +11,33 @@ function(allstates)
} }
end end
end end
---@type table<string, Player>
local sortedStinkies = {}
for k, v in pairs(HeimdallStinkies) do 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 local ago = now - v.lastSeenInternal
if allstates[k] then if allstates[v.name] then
allstates[k].ago = string.format("%6.1fs", ago) allstates[v.name].ago = string.format("%6.1fs", ago)
allstates[k].name = v:ToString() allstates[v.name].name = v:ToString()
allstates[k].changed = true allstates[v.name].changed = true
else else
allstates[k] = { allstates[v.name] = {
show = true, show = true,
changed = true, changed = true,
name = v:ToString(), name = v:ToString(),