Add debug options

Add debug buttons

Add combatalerter debug
This commit is contained in:
2025-01-08 15:10:52 +01:00
parent 8b085009a9
commit fca49c6302
14 changed files with 584 additions and 95 deletions

View File

@@ -2,11 +2,6 @@ local addonname, shared = ...
---@cast shared HeimdallShared
---@cast addonname string
-- TODO: Implement counting kills and display on whosniffer
-- Take last N seconds of combatlog into account ie. count who does damage to who
-- Maybe even make an alert when someone does too much damage to someone else...
-- But that would not be trivial as of now, I can't think of a way to do it sensibly
local function init()
---@class Heimdall_Data
---@field config HeimdallConfig
@@ -41,6 +36,7 @@ local function init()
---@field StinkyTracker InitTable
---@field CombatAlerter InitTable
---@field Config InitTable
---@field Sniffer InitTable
--- Config ---
---@class HeimdallConfig
@@ -58,12 +54,14 @@ local function init()
---@field commander HeimdallCommanderConfig
---@field stinkyTracker HeimdallStinkyTrackerConfig
---@field combatAlerter HeimdallCombatAlerterConfig
---@field sniffer HeimdallSnifferConfig
---@field whisperNotify table<string, string>
---@field stinkies table<string, boolean>
---@field agents table<string, string>
---@class HeimdallSpotterConfig
---@field enabled boolean
---@field debug boolean
---@field everyone boolean
---@field hostile boolean
---@field alliance boolean
@@ -74,6 +72,7 @@ local function init()
---@class HeimdallWhoConfig
---@field enabled boolean
---@field debug boolean
---@field ignored table<string, boolean>
---@field notifyChannel string
---@field ttl number
@@ -82,10 +81,12 @@ local function init()
---@class HeimdallMessengerConfig
---@field enabled boolean
---@field debug boolean
---@field interval number
---@class HeimdallDeathReporterConfig
---@field enabled boolean
---@field debug boolean
---@field throttle number
---@field doWhisper boolean
---@field notifyChannel string
@@ -94,6 +95,7 @@ local function init()
---@class HeimdallInviterConfig
---@field enabled boolean
---@field debug boolean
---@field listeningChannel string
---@field keyword string
---@field allAssist boolean
@@ -105,43 +107,62 @@ local function init()
---@class HeimdallDuelerConfig
---@field enabled boolean
---@field debug boolean
---@field declineOther boolean
---@class HeimdallBullyConfig
---@field enabled boolean
---@field debug boolean
---@class HeimdallAgentTrackerConfig
---@field enabled boolean
---@field debug boolean
---@field masterChannel string
---@class HeimdallEmoterConfig
---@field enabled boolean
---@field debug boolean
---@field masterChannel string
---@field prefix string
---@class HeimdallEchoerConfig
---@field enabled boolean
---@field debug boolean
---@field masterChannel string
---@field prefix string
---@class HeimdallMacroerConfig
---@field enabled boolean
---@field debug boolean
---@field priority string[]
---@class HeimdallCommanderConfig
---@field enabled boolean
---@field debug boolean
---@field masterChannel string
---@field commander string
---@field commands table<string, boolean>
---@class HeimdallStinkyTrackerConfig
---@field enabled boolean
---@field debug boolean
---@field masterChannel string
---@class HeimdallCombatAlerterConfig
---@field enabled boolean
---@field debug boolean
---@field masterChannel string
---@class HeimdallSnifferConfig
---@field enabled boolean
---@field debug boolean
---@field notifyChannel string
---@field throttle number
---@field zoneOverride string?
---@field stinky boolean
--- Data ---
---@class HeimdallMessengerData
---@field queue table<string, Message>
@@ -186,6 +207,7 @@ local function init()
Heimdall_Data.config = {
spotter = {
enabled = shared.GetOrDefault(Heimdall_Data, { "config", "spotter", "enabled" }, true),
debug = shared.GetOrDefault(Heimdall_Data, { "config", "spotter", "debug" }, false),
everyone = shared.GetOrDefault(Heimdall_Data, { "config", "spotter", "everyone" }, false),
hostile = shared.GetOrDefault(Heimdall_Data, { "config", "spotter", "hostile" }, true),
alliance = shared.GetOrDefault(Heimdall_Data, { "config", "spotter", "alliance" }, true),
@@ -196,6 +218,7 @@ local function init()
},
who = {
enabled = shared.GetOrDefault(Heimdall_Data, { "config", "who", "enabled" }, false),
debug = shared.GetOrDefault(Heimdall_Data, { "config", "who", "debug" }, false),
ignored = shared.GetOrDefault(Heimdall_Data, { "config", "who", "ignored" }, {}),
notifyChannel = shared.GetOrDefault(Heimdall_Data, { "config", "who", "notifyChannel" }, "Agent"),
ttl = shared.GetOrDefault(Heimdall_Data, { "config", "who", "ttl" }, 20),
@@ -211,10 +234,12 @@ local function init()
},
messenger = {
enabled = shared.GetOrDefault(Heimdall_Data, { "config", "messenger", "enabled" }, true),
debug = shared.GetOrDefault(Heimdall_Data, { "config", "messenger", "debug" }, false),
interval = shared.GetOrDefault(Heimdall_Data, { "config", "messenger", "interval" }, 0.2),
},
deathReporter = {
enabled = shared.GetOrDefault(Heimdall_Data, { "config", "deathReporter", "enabled" }, false),
debug = shared.GetOrDefault(Heimdall_Data, { "config", "deathReporter", "debug" }, false),
throttle = shared.GetOrDefault(Heimdall_Data, { "config", "deathReporter", "throttle" }, 10),
doWhisper = shared.GetOrDefault(Heimdall_Data, { "config", "deathReporter", "doWhisper" }, true),
notifyChannel = shared.GetOrDefault(Heimdall_Data, { "config", "deathReporter", "notifyChannel" }, "Agent"),
@@ -225,6 +250,7 @@ local function init()
stinkies = shared.GetOrDefault(Heimdall_Data, { "config", "stinkies" }, {}),
inviter = {
enabled = shared.GetOrDefault(Heimdall_Data, { "config", "inviter", "enabled" }, false),
debug = shared.GetOrDefault(Heimdall_Data, { "config", "inviter", "debug" }, false),
listeningChannel = shared.GetOrDefault(Heimdall_Data, { "config", "inviter", "listeningChannel" }, "Agent"),
keyword = shared.GetOrDefault(Heimdall_Data, { "config", "inviter", "keyword" }, "+"),
allAssist = shared.GetOrDefault(Heimdall_Data, { "config", "inviter", "allAssist" }, false),
@@ -236,44 +262,67 @@ local function init()
},
dueler = {
enabled = shared.GetOrDefault(Heimdall_Data, { "config", "dueler", "enabled" }, false),
debug = shared.GetOrDefault(Heimdall_Data, { "config", "dueler", "debug" }, false),
declineOther = shared.GetOrDefault(Heimdall_Data, { "config", "dueler", "declineOther" }, false),
},
bully = {
enabled = shared.GetOrDefault(Heimdall_Data, { "config", "bully", "enabled" }, false),
debug = shared.GetOrDefault(Heimdall_Data, { "config", "bully", "debug" }, false) ,
},
agentTracker = {
enabled = shared.GetOrDefault(Heimdall_Data, { "config", "agentTracker", "enabled" }, false),
debug = shared.GetOrDefault(Heimdall_Data, { "config", "agentTracker", "debug" }, false),
masterChannel = shared.GetOrDefault(Heimdall_Data, { "config", "agentTracker", "masterChannel" }, "Agent"),
},
emoter = {
enabled = shared.GetOrDefault(Heimdall_Data, { "config", "emoter", "enabled" }, false),
debug = shared.GetOrDefault(Heimdall_Data, { "config", "emoter", "debug" }, false),
masterChannel = shared.GetOrDefault(Heimdall_Data, { "config", "emoter", "masterChannel" }, "Agent"),
prefix = shared.GetOrDefault(Heimdall_Data, { "config", "emoter", "prefix" }, ""),
},
echoer = {
enabled = shared.GetOrDefault(Heimdall_Data, { "config", "echoer", "enabled" }, false),
debug = shared.GetOrDefault(Heimdall_Data, { "config", "echoer", "debug" }, false),
masterChannel = shared.GetOrDefault(Heimdall_Data, { "config", "echoer", "masterChannel" }, "Agent"),
prefix = shared.GetOrDefault(Heimdall_Data, { "config", "echoer", "prefix" }, ""),
},
macroer = {
enabled = shared.GetOrDefault(Heimdall_Data, { "config", "macroer", "enabled" }, false),
debug = shared.GetOrDefault(Heimdall_Data, { "config", "macroer", "debug" }, false),
priority = shared.GetOrDefault(Heimdall_Data, { "config", "macroer", "priority" }, {}),
},
agents = shared.GetOrDefault(Heimdall_Data, { "config", "agents" }, {}),
commander = {
enabled = shared.GetOrDefault(Heimdall_Data, { "config", "commander", "enabled" }, false),
debug = shared.GetOrDefault(Heimdall_Data, { "config", "commander", "debug" }, false),
masterChannel = shared.GetOrDefault(Heimdall_Data, { "config", "commander", "masterChannel" }, "Agent"),
commander = shared.GetOrDefault(Heimdall_Data, { "config", "commander", "commander" }, "Heimdállr"),
commands = shared.GetOrDefault(Heimdall_Data, { "config", "commander", "commands" }, {}),
},
stinkyTracker = {
enabled = shared.GetOrDefault(Heimdall_Data, { "config", "stinkyTracker", "enabled" }, false),
debug = shared.GetOrDefault(Heimdall_Data, { "config", "stinkyTracker", "debug" }, false),
masterChannel = shared.GetOrDefault(Heimdall_Data, { "config", "stinkyTracker", "masterChannel" }, "Agent"),
},
combatAlerter = {
enabled = shared.GetOrDefault(Heimdall_Data, { "config", "combatAlerter", "enabled" }, false),
debug = shared.GetOrDefault(Heimdall_Data, { "config", "combatAlerter", "debug" }, false),
masterChannel = shared.GetOrDefault(Heimdall_Data, { "config", "combatAlerter", "masterChannel" }, "Agent"),
},
messageDelegator = {
enabled = shared.GetOrDefault(Heimdall_Data, { "config", "messageDelegator", "enabled" }, false),
debug = shared.GetOrDefault(Heimdall_Data, { "config", "messageDelegator", "debug" }, false),
delegates = shared.GetOrDefault(Heimdall_Data, { "config", "messageDelegator", "delegates" }, {}),
masterChannel = shared.GetOrDefault(Heimdall_Data, { "config", "messageDelegator", "masterChannel" }, "Agent"),
},
sniffer = {
enabled = shared.GetOrDefault(Heimdall_Data, { "config", "sniffer", "enabled" }, false),
debug = shared.GetOrDefault(Heimdall_Data, { "config", "sniffer", "debug" }, false),
notifyChannel = shared.GetOrDefault(Heimdall_Data, { "config", "sniffer", "notifyChannel" }, "Agent"),
throttle = shared.GetOrDefault(Heimdall_Data, { "config", "sniffer", "throttle" }, 10),
zoneOverride = shared.GetOrDefault(Heimdall_Data, { "config", "sniffer", "zoneOverride" }, nil),
stinky = shared.GetOrDefault(Heimdall_Data, { "config", "sniffer", "stinky" }, true),
},
}
shared.raceMap = {