Refactor DeathReporter, CombatAlerter, Commander, Configurator, and AgentTracker modules

This commit is contained in:
2025-05-18 11:48:50 +02:00
parent 1129d787b5
commit 0edf0561d8
6 changed files with 34 additions and 43 deletions

View File

@@ -69,7 +69,6 @@ local function init()
---@field deathReporter HeimdallDeathReporterConfig ---@field deathReporter HeimdallDeathReporterConfig
---@field inviter HeimdallInviterConfig ---@field inviter HeimdallInviterConfig
---@field dueler HeimdallDuelerConfig ---@field dueler HeimdallDuelerConfig
---@field bully HeimdallBullyConfig
---@field agentTracker HeimdallAgentTrackerConfig ---@field agentTracker HeimdallAgentTrackerConfig
---@field emoter HeimdallEmoterConfig ---@field emoter HeimdallEmoterConfig
---@field echoer HeimdallEchoerConfig ---@field echoer HeimdallEchoerConfig
@@ -78,7 +77,6 @@ local function init()
---@field stinkyTracker HeimdallStinkyTrackerConfig ---@field stinkyTracker HeimdallStinkyTrackerConfig
---@field combatAlerter HeimdallCombatAlerterConfig ---@field combatAlerter HeimdallCombatAlerterConfig
---@field sniffer HeimdallSnifferConfig ---@field sniffer HeimdallSnifferConfig
---@field bonkDetector HeimdallBonkDetectorConfig
---@field noter HeimdallNoterConfig ---@field noter HeimdallNoterConfig
---@field network HeimdallNetworkConfig ---@field network HeimdallNetworkConfig
---@field networkMessenger HeimdallNetworkMessengerConfig ---@field networkMessenger HeimdallNetworkMessengerConfig
@@ -121,15 +119,6 @@ local function init()
---@field debug boolean ---@field debug boolean
---@field interval number ---@field interval number
---@class HeimdallDeathReporterConfig
---@field enabled boolean
---@field debug boolean
---@field throttle number
---@field doWhisper boolean
---@field channels string[]
---@field zoneOverride string?
---@field duelThrottle number
---@class HeimdallInviterConfig ---@class HeimdallInviterConfig
---@field enabled boolean ---@field enabled boolean
---@field debug boolean ---@field debug boolean
@@ -148,15 +137,6 @@ local function init()
---@field debug boolean ---@field debug boolean
---@field declineOther boolean ---@field declineOther boolean
---@class HeimdallBullyConfig
---@field enabled boolean
---@field debug boolean
---@class HeimdallAgentTrackerConfig
---@field enabled boolean
---@field debug boolean
---@field channels string[]
---@class HeimdallEmoterConfig ---@class HeimdallEmoterConfig
---@field enabled boolean ---@field enabled boolean
---@field debug boolean ---@field debug boolean
@@ -174,24 +154,12 @@ local function init()
---@field debug boolean ---@field debug boolean
---@field priority string[] ---@field priority string[]
---@class HeimdallCommanderConfig
---@field enabled boolean
---@field debug boolean
---@field channels string[]
---@field commander string
---@field commands table<string, boolean>
---@class HeimdallStinkyTrackerConfig ---@class HeimdallStinkyTrackerConfig
---@field enabled boolean ---@field enabled boolean
---@field debug boolean ---@field debug boolean
---@field ignoredTimeout number ---@field ignoredTimeout number
---@field channels string[] ---@field channels string[]
---@class HeimdallCombatAlerterConfig
---@field enabled boolean
---@field debug boolean
---@field channels string[]
---@class HeimdallSnifferConfig ---@class HeimdallSnifferConfig
---@field enabled boolean ---@field enabled boolean
---@field debug boolean ---@field debug boolean
@@ -227,12 +195,6 @@ local function init()
---@field helpSoundThrottle number ---@field helpSoundThrottle number
---@field helpTextureFile string ---@field helpTextureFile string
---@class HeimdallBonkDetectorConfig
---@field enabled boolean
---@field debug boolean
---@field channels string[]
---@field throttle number
---@class HeimdallNoterConfig ---@class HeimdallNoterConfig
---@field enabled boolean ---@field enabled boolean
---@field debug boolean ---@field debug boolean
@@ -250,10 +212,6 @@ local function init()
---@field debug boolean ---@field debug boolean
---@field interval number ---@field interval number
---@class HeimdallConfiguratorConfig
---@field enabled boolean
---@field debug boolean
---@class HeimdallStinkyCacheConfig ---@class HeimdallStinkyCacheConfig
---@field enabled boolean ---@field enabled boolean
---@field debug boolean ---@field debug boolean
@@ -666,7 +624,7 @@ local function init()
shared.Memoize = function(f) shared.Memoize = function(f)
local mem = {} -- memoizing table local mem = {} -- memoizing table
setmetatable(mem, { __mode = "kv" }) -- make it weak setmetatable(mem, { __mode = "kv" }) -- make it weak
return function(x) -- new version of f, with memoizing return function(x) -- new version of 'f', with memoizing
if Heimdall_Data.config.debug then print(string.format("[Heimdall] Memoize %s", tostring(x))) end if Heimdall_Data.config.debug then print(string.format("[Heimdall] Memoize %s", tostring(x))) end
local r = mem[x] local r = mem[x]
if r == nil then -- no previous result? if r == nil then -- no previous result?

View File

@@ -5,6 +5,11 @@ local ModuleName = "AgentTracker"
---@class AgentTrackerData ---@class AgentTrackerData
---@field agents ReactiveValue<table<string, string>> ---@field agents ReactiveValue<table<string, string>>
---@class HeimdallAgentTrackerConfig
---@field enabled boolean
---@field debug boolean
---@field channels string[]
shared.agentTracker.agents = ReactiveValue(Heimdall_Data.config.agents) shared.agentTracker.agents = ReactiveValue(Heimdall_Data.config.agents)
---@class AgentTracker ---@class AgentTracker

View File

@@ -2,6 +2,11 @@ local _, shared = ...
---@cast shared HeimdallShared ---@cast shared HeimdallShared
local ModuleName = "CombatAlerter" local ModuleName = "CombatAlerter"
---@class HeimdallCombatAlerterConfig
---@field enabled boolean
---@field debug boolean
---@field channels string[]
---@diagnostic disable-next-line: missing-fields ---@diagnostic disable-next-line: missing-fields
shared.CombatAlerter = {} shared.CombatAlerter = {}
function shared.CombatAlerter.Init() function shared.CombatAlerter.Init()

View File

@@ -1,5 +1,13 @@
local _, shared = ... local _, shared = ...
---@cast shared HeimdallShared ---@cast shared HeimdallShared
---@class HeimdallCommanderConfig
---@field enabled boolean
---@field debug boolean
---@field channels string[]
---@field commander string
---@field commands table<string, boolean>
local ModuleName = "Commander" local ModuleName = "Commander"
local helpMessages = { local helpMessages = {

View File

@@ -1,5 +1,10 @@
local _, shared = ... local _, shared = ...
---@cast shared HeimdallShared ---@cast shared HeimdallShared
---@class HeimdallConfiguratorConfig
---@field enabled boolean
---@field debug boolean
local ModuleName = "Configurator" local ModuleName = "Configurator"
---@diagnostic disable-next-line: missing-fields ---@diagnostic disable-next-line: missing-fields

View File

@@ -1,5 +1,15 @@
local _, shared = ... local _, shared = ...
---@cast shared HeimdallShared ---@cast shared HeimdallShared
---@class HeimdallDeathReporterConfig
---@field enabled boolean
---@field debug boolean
---@field throttle number
---@field doWhisper boolean
---@field channels string[]
---@field zoneOverride string?
---@field duelThrottle number
local ModuleName = "DeathReporter" local ModuleName = "DeathReporter"
---@diagnostic disable-next-line: missing-fields ---@diagnostic disable-next-line: missing-fields