Add option to echo to russian channel

This commit is contained in:
2025-01-14 18:04:18 +01:00
parent fa5b73b5fe
commit 308b65e2f6
7 changed files with 67 additions and 48 deletions

View File

@@ -68,6 +68,7 @@ local function init()
---@field agents table<string, string>
---@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),

View File

@@ -102,17 +102,15 @@ function shared.BonkDetector.Init()
end
table.insert(shared.messenger.queue, message)
if Heimdall_Data.config.echoToRussian then
-- Russian message
---@type Message
message = {
local ruMessage = {
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))
table.insert(shared.messenger.queue, ruMessage)
end
table.insert(shared.messenger.queue, message)
end)
print("[Heimdall] BonkDetector loaded")

View File

@@ -94,8 +94,9 @@ function shared.CombatAlerter.Init()
end
subZone = shared.L.ru.zones[subZone] or subZone
---@type Message
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,
@@ -105,7 +106,8 @@ function shared.CombatAlerter.Init()
x * 100, y * 100
),
}
table.insert(shared.messenger.queue, msg)
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

View File

@@ -118,8 +118,9 @@ function shared.DeathReporter.Init()
end
subZone = shared.L.ru.zones[subZone] or subZone
---@type Message
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,
@@ -130,7 +131,8 @@ function shared.DeathReporter.Init()
zoneId,
x * 100, y * 100)
}
table.insert(shared.messenger.queue, msg)
table.insert(shared.messenger.queue, ruMsg)
end
end)
end

View File

@@ -41,12 +41,15 @@ function shared.Sniffer.Init()
end
table.insert(shared.messenger.queue, msg)
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, msg)
table.insert(shared.messenger.queue, ruMsg)
end
end
local cleuFrame = CreateFrame("Frame")

View File

@@ -220,13 +220,15 @@ function shared.Spotter.Init()
print(string.format("[%s] Sending notification: %s", ModuleName, text))
end
---@type Message
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, msg)
table.insert(shared.messenger.queue, ruMsg)
end
end
local frame = CreateFrame("Frame")

View File

@@ -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