Ctrl+c Ctrl+v who-er weakaura

This commit is contained in:
2024-12-12 14:29:43 +01:00
parent 7580dd153a
commit f81fee74cf
2 changed files with 376 additions and 3 deletions

View File

@@ -1,12 +1,19 @@
local _, data = ...
---@cast data HeimdallData
---@class Heimdall_Data
---@field who { data: table<string, Player> }
if not Heimdall_Data then Heimdall_Data = {} end
-- We don't care about these persisting
-- Actually we don't want some of them to persist
-- For those we DO we use (global) Heimdall_Data
---@class HeimdallData
---@field config HeimdallConfig
---@field raceMap table<string, string>
---@field stinkies table<string, boolean>
---@field classColors table<string, string>
---@field stinkies table<string, Player>
---@field messenger HeimdallMessengerData
---@field who HeimdallWhoData
---@field dumpTable fun(table: any, depth?: number): nil
@@ -31,6 +38,10 @@ if not Heimdall_Data then Heimdall_Data = {} end
---@class HeimdallWhoConfig
---@field enabled boolean
---@field ignored table<string, boolean>
---@field notifyChannel string
---@field zoneNotifyFor table<string, boolean>
---@field ttl number
---@class HeimdallMessengerConfig
---@field enabled boolean
@@ -41,7 +52,9 @@ if not Heimdall_Data then Heimdall_Data = {} end
---@field ticker number?
---@class HeimdallWhoData
---@field ticker number?
---@field updateTicker number?
---@field whoTicker number?
---@field ignored table<string, boolean>
data.messenger = {
queue = {}
@@ -59,7 +72,18 @@ data.config = {
throttleTime = 1
},
who = {
enabled = true
enabled = true,
ignored = {},
notifyChannel = "Foobar",
ttl = 10,
zoneNotifyFor = {
["Orgrimmar"] = true,
["Thunder Bluff"] = true,
["Undercity"] = true,
["Durotar"] = true,
["Echo Isles"] = true,
["Valley of Trials"] = true,
}
},
messenger = {
enabled = true
@@ -90,6 +114,22 @@ data.raceMap = {
["Mag'har Orc"] = "Horde"
}
---@type table<string, string>
data.classColors = {
["Warrior"] = "C69B6D",
["Paladin"] = "F48CBA",
["Hunter"] = "AAD372",
["Rogue"] = "FFF468",
["Priest"] = "FFFFFF",
["Death Knight"] = "C41E3A",
["Shaman"] = "0070DD",
["Mage"] = "3FC7EB",
["Warlock"] = "8788EE",
["Monk"] = "00FF98",
["Druid"] = "FF7C0A",
["Demon Hunter"] = "A330C9"
}
data.stinkies = {}
---@param input string