diff --git a/Heimdall.lua b/Heimdall.lua index 02bebb1..682970c 100644 --- a/Heimdall.lua +++ b/Heimdall.lua @@ -68,6 +68,7 @@ local function init() ---@field agents table ---@field scale number ---@field locale string + ---@field echoToRussian boolean ---@class HeimdallSpotterConfig ---@field enabled boolean @@ -406,6 +407,7 @@ local function init() stinkies = shared.GetOrDefault(Heimdall_Data, { "config", "stinkies" }, {}), scale = shared.GetOrDefault(Heimdall_Data, { "config", "scale" }, 1), locale = shared.GetOrDefault(Heimdall_Data, { "config", "locale" }, "en"), + echoToRussian = shared.GetOrDefault(Heimdall_Data, { "config", "echoToRussian" }, true), bonkDetector = { enabled = shared.GetOrDefault(Heimdall_Data, { "config", "bonkDetector", "enabled" }, false), debug = shared.GetOrDefault(Heimdall_Data, { "config", "bonkDetector", "debug" }, false), diff --git a/Modules/BonkDetector.lua b/Modules/BonkDetector.lua index 05140bb..5983455 100644 --- a/Modules/BonkDetector.lua +++ b/Modules/BonkDetector.lua @@ -102,17 +102,15 @@ function shared.BonkDetector.Init() end table.insert(shared.messenger.queue, message) - -- Russian message - ---@type Message - message = { - channel = "CHANNEL", - data = notifyChannel .. "ru", - message = string.format(shared.L.ru.bonkDetected, source, destination, subevent), - } - if Heimdall_Data.config.bonkDetector.debug then - print(string.format("[%s] Queueing Russian message: %s", ModuleName, message.message)) + if Heimdall_Data.config.echoToRussian then + -- Russian message + local ruMessage = { + channel = "CHANNEL", + data = notifyChannel .. "ru", + message = string.format(shared.L.ru.bonkDetected, source, destination, subevent), + } + table.insert(shared.messenger.queue, ruMessage) end - table.insert(shared.messenger.queue, message) end) print("[Heimdall] BonkDetector loaded") diff --git a/Modules/CombatAlerter.lua b/Modules/CombatAlerter.lua index 22e8adf..1281832 100644 --- a/Modules/CombatAlerter.lua +++ b/Modules/CombatAlerter.lua @@ -94,18 +94,20 @@ function shared.CombatAlerter.Init() end subZone = shared.L.ru.zones[subZone] or subZone - ---@type Message - msg = { - channel = "CHANNEL", - data = Heimdall_Data.config.combatAlerter.masterChannel .. "ru", - message = string.format(shared.L.ru.combatAlerterInCombat, - source, - zone, subZone, - tostring(GetCurrentMapAreaID()), - x * 100, y * 100 - ), - } - table.insert(shared.messenger.queue, msg) + if Heimdall_Data.config.echoToRussian then + -- Russian message + local ruMsg = { + channel = "CHANNEL", + data = Heimdall_Data.config.combatAlerter.masterChannel .. "ru", + message = string.format(shared.L.ru.combatAlerterInCombat, + source, + zone, subZone, + tostring(GetCurrentMapAreaID()), + x * 100, y * 100 + ), + } + table.insert(shared.messenger.queue, ruMsg) + end elseif Heimdall_Data.config.combatAlerter.debug then print(string.format("[%s] Source not in stinky list, ignoring: %s", ModuleName, source)) end diff --git a/Modules/DeathReporter.lua b/Modules/DeathReporter.lua index 534b5f6..127478d 100644 --- a/Modules/DeathReporter.lua +++ b/Modules/DeathReporter.lua @@ -118,19 +118,21 @@ function shared.DeathReporter.Init() end subZone = shared.L.ru.zones[subZone] or subZone - ---@type Message - msg = { - channel = "CHANNEL", - data = Heimdall_Data.config.deathReporter.masterChannel .. "ru", - message = string.format(shared.L.ru.killed, - source, - destination, - spellName, - string.format("%s (%s)", zone, subZone), - zoneId, - x * 100, y * 100) - } - table.insert(shared.messenger.queue, msg) + if Heimdall_Data.config.echoToRussian then + -- Russian message + local ruMsg = { + channel = "CHANNEL", + data = Heimdall_Data.config.deathReporter.masterChannel .. "ru", + message = string.format(shared.L.ru.killed, + source, + destination, + spellName, + string.format("%s (%s)", zone, subZone), + zoneId, + x * 100, y * 100) + } + table.insert(shared.messenger.queue, ruMsg) + end end) end diff --git a/Modules/Sniffer.lua b/Modules/Sniffer.lua index 92097df..bf87f42 100644 --- a/Modules/Sniffer.lua +++ b/Modules/Sniffer.lua @@ -41,12 +41,15 @@ function shared.Sniffer.Init() end table.insert(shared.messenger.queue, msg) - msg = { - channel = "CHANNEL", - data = Heimdall_Data.config.deathReporter.notifyChannel .. "ru", - message = string.format(shared.L.ru.snifferStinky, stinky), - } - table.insert(shared.messenger.queue, msg) + if Heimdall_Data.config.echoToRussian then + -- Russian message + local ruMsg = { + channel = "CHANNEL", + data = Heimdall_Data.config.deathReporter.notifyChannel .. "ru", + message = string.format(shared.L.ru.snifferStinky, stinky), + } + table.insert(shared.messenger.queue, ruMsg) + end end local cleuFrame = CreateFrame("Frame") diff --git a/Modules/Spotter.lua b/Modules/Spotter.lua index c91dc54..b07f7a1 100644 --- a/Modules/Spotter.lua +++ b/Modules/Spotter.lua @@ -220,13 +220,15 @@ function shared.Spotter.Init() print(string.format("[%s] Sending notification: %s", ModuleName, text)) end - ---@type Message - msg = { - channel = "CHANNEL", - data = Heimdall_Data.config.spotter.notifyChannel .. "ru", - message = text - } - table.insert(shared.messenger.queue, msg) + if Heimdall_Data.config.echoToRussian then + -- Russian message + local ruMsg = { + channel = "CHANNEL", + data = Heimdall_Data.config.spotter.notifyChannel .. "ru", + message = text + } + table.insert(shared.messenger.queue, ruMsg) + end end local frame = CreateFrame("Frame") diff --git a/Modules/Whoer.lua b/Modules/Whoer.lua index b3ff579..d058987 100644 --- a/Modules/Whoer.lua +++ b/Modules/Whoer.lua @@ -219,6 +219,16 @@ function shared.Whoer.Init() end end + if Heimdall_Data.config.echoToRussian then + -- Russian message + local ruMsg = { + channel = "CHANNEL", + data = Heimdall_Data.config.who.notifyChannel .. "ru", + message = player:NotifyRu() + } + table.insert(shared.messenger.queue, ruMsg) + end + return nil end ---@param player Player