Code polish for release

This commit is contained in:
2024-12-12 17:58:28 +01:00
parent 33538be9f5
commit b5cffd0a88
5 changed files with 51 additions and 24 deletions

View File

@@ -4,7 +4,11 @@ local addonname, data = ...
data.DeathReporter = {} data.DeathReporter = {}
function data.DeathReporter.Init() function data.DeathReporter.Init()
if not data.config.deathReporter.enabled then return end if not data.config.deathReporter.enabled then
print("Heimdall - DeathReporter disabled")
return
end
---@type table<string, number> ---@type table<string, number>
local recentDeaths = {} local recentDeaths = {}
---@type table<string, number> ---@type table<string, number>
@@ -84,4 +88,6 @@ function data.DeathReporter.Init()
if notifyTimers[destination] then notifyTimers[destination]:Cancel() end if notifyTimers[destination] then notifyTimers[destination]:Cancel() end
end end
end) end)
print("Heimdall - DeathReporter loaded")
end end

View File

@@ -102,7 +102,8 @@ local function init()
data.who = { data.who = {
ignored = {}, ignored = {},
} }
--/run Heimdall_Data.config = {who={enabled=true},deathReporter={enabled=true}}
--/run Heimdall_Data.config = {deathReporter={enabled=true}}
data.config = { data.config = {
spotter = { spotter = {
enabled = data.GetOrDefault(Heimdall_Data, { "config", "spotter", "enabled" }, true), enabled = data.GetOrDefault(Heimdall_Data, { "config", "spotter", "enabled" }, true),
@@ -115,7 +116,7 @@ local function init()
throttleTime = data.GetOrDefault(Heimdall_Data, { "config", "spotter", "throttleTime" }, 1) throttleTime = data.GetOrDefault(Heimdall_Data, { "config", "spotter", "throttleTime" }, 1)
}, },
who = { who = {
enabled = data.GetOrDefault(Heimdall_Data, { "config", "who", "enabled" }, true), enabled = data.GetOrDefault(Heimdall_Data, { "config", "who", "enabled" }, false),
ignored = data.GetOrDefault(Heimdall_Data, { "config", "who", "ignored" }, {}), ignored = data.GetOrDefault(Heimdall_Data, { "config", "who", "ignored" }, {}),
notifyChannel = data.GetOrDefault(Heimdall_Data, { "config", "who", "notifyChannel" }, "Foobar"), notifyChannel = data.GetOrDefault(Heimdall_Data, { "config", "who", "notifyChannel" }, "Foobar"),
ttl = data.GetOrDefault(Heimdall_Data, { "config", "who", "ttl" }, 10), ttl = data.GetOrDefault(Heimdall_Data, { "config", "who", "ttl" }, 10),
@@ -133,22 +134,22 @@ local function init()
enabled = data.GetOrDefault(Heimdall_Data, { "config", "messenger", "enabled" }, true), enabled = data.GetOrDefault(Heimdall_Data, { "config", "messenger", "enabled" }, true),
}, },
deathReporter = { deathReporter = {
enabled = data.GetOrDefault(Heimdall_Data, { "config", "deathReporter", "enabled" }, true), enabled = data.GetOrDefault(Heimdall_Data, { "config", "deathReporter", "enabled" }, false),
throttle = data.GetOrDefault(Heimdall_Data, { "config", "deathReporter", "throttle" }, 10), throttle = data.GetOrDefault(Heimdall_Data, { "config", "deathReporter", "throttle" }, 10),
doWhisper = data.GetOrDefault(Heimdall_Data, { "config", "deathReporter", "doWhisper" }, true), doWhisper = data.GetOrDefault(Heimdall_Data, { "config", "deathReporter", "doWhisper" }, true),
notifyChannel = data.GetOrDefault(Heimdall_Data, { "config", "deathReporter", "notifyChannel" }, "Foobar"), notifyChannel = data.GetOrDefault(Heimdall_Data, { "config", "deathReporter", "notifyChannel" }, "Foobar"),
zoneOverride = data.GetOrDefault(Heimdall_Data, { "config", "deathReporter", "zoneOverride" }, nil), zoneOverride = data.GetOrDefault(Heimdall_Data, { "config", "deathReporter", "zoneOverride" }, nil),
}, },
whisperNotify = data.GetOrDefault(Heimdall_Data, { "config", "whisperNotify" }, { whisperNotify = data.GetOrDefault(Heimdall_Data, { "config", "whisperNotify" }, {
-- "Extazyk", "Extazyk",
-- "Smokefire", "Smokefire",
-- "Smokemantra", "Smokemantra",
-- "Хихихантер", "Хихихантер",
-- "Муркот", "Муркот",
-- "Растафаркрай", "Растафаркрай",
-- "Frosstmorn", "Frosstmorn",
-- "Pulsjkee", "Pulsjkee",
-- "Paskoo", "Paskoo",
"Totleta", "Totleta",
"Healleta", "Healleta",
"Deathleta", "Deathleta",
@@ -244,6 +245,7 @@ local function init()
data.Messenger.Init() data.Messenger.Init()
data.Spotter.Init() data.Spotter.Init()
data.DeathReporter.Init() data.DeathReporter.Init()
print("Heimdall loaded!")
end end
local loadedFrame = CreateFrame("Frame") local loadedFrame = CreateFrame("Frame")

View File

@@ -4,7 +4,10 @@ local addonname, data = ...
data.Messenger = {} data.Messenger = {}
function data.Messenger.Init() function data.Messenger.Init()
if not data.config.messenger.enabled then return end if not data.config.messenger.enabled then
print("Heimdall - Messenger disabled")
return
end
---@class Message ---@class Message
---@field message string ---@field message string
@@ -92,4 +95,6 @@ function data.Messenger.Init()
-- message = "TEST" -- message = "TEST"
-- }) -- })
--end) --end)
print("Heimdall - Messenger loaded")
end end

View File

@@ -4,7 +4,11 @@ local addonname, data = ...
data.Spotter = {} data.Spotter = {}
function data.Spotter.Init() function data.Spotter.Init()
if not data.config.spotter.enabled then return end if not data.config.spotter.enabled then
print("Heimdall - Spotter disabled")
return
end
local function FormatHP(hp) local function FormatHP(hp)
if hp > 1e9 then if hp > 1e9 then
return string.format("%.1fB", hp / 1e9) return string.format("%.1fB", hp / 1e9)
@@ -108,4 +112,6 @@ function data.Spotter.Init()
print(string.format("Error notifying %s: %s", tostring(unit), tostring(err))) print(string.format("Error notifying %s: %s", tostring(unit), tostring(err)))
end end
end) end)
print("Heimdall - Spotter loaded")
end end

View File

@@ -4,12 +4,16 @@ local addonname, data = ...
data.Whoer = {} data.Whoer = {}
function data.Whoer.Init() function data.Whoer.Init()
if not data.config.who.enabled then return end if not data.config.who.enabled then
print("Heimdall - Whoer disabled")
return
end
if not Heimdall_Data.who then Heimdall_Data.who = {} end if not Heimdall_Data.who then Heimdall_Data.who = {} end
if not Heimdall_Data.who.data then Heimdall_Data.who.data = {} end if not Heimdall_Data.who.data then Heimdall_Data.who.data = {} end
---@type table<string, Player> ---@type table<string, Player>
local players = {} HeimdallStinkies = {}
---@class Player ---@class Player
---@field name string ---@field name string
@@ -21,6 +25,7 @@ function data.Whoer.Init()
---@field lastSeen string ---@field lastSeen string
---@field firstSeen string ---@field firstSeen string
---@field seenCount number ---@field seenCount number
---@field stinky boolean?
Player = { Player = {
---@param name string ---@param name string
---@param guild string ---@param guild string
@@ -262,7 +267,7 @@ function data.Whoer.Init()
if not continue then if not continue then
local timestamp = date("%Y-%m-%dT%H:%M:%S") local timestamp = date("%Y-%m-%dT%H:%M:%S")
local player = players[name] local player = HeimdallStinkies[name]
if not player then if not player then
player = Player.new(name, guild, race, class, zone) player = Player.new(name, guild, race, class, zone)
if not Heimdall_Data.who then Heimdall_Data.who = {} end if not Heimdall_Data.who then Heimdall_Data.who = {} end
@@ -280,6 +285,7 @@ function data.Whoer.Init()
local stinky = data.config.stinkies[name] local stinky = data.config.stinkies[name]
if stinky then if stinky then
player.stinky = true
PlaySoundFile("Interface\\Sounds\\Domination.ogg", "Master") PlaySoundFile("Interface\\Sounds\\Domination.ogg", "Master")
else else
PlaySoundFile("Interface\\Sounds\\Cloak.ogg", "Master") PlaySoundFile("Interface\\Sounds\\Cloak.ogg", "Master")
@@ -292,7 +298,7 @@ function data.Whoer.Init()
player.lastSeen = timestamp player.lastSeen = timestamp
player.seenCount = player.seenCount + 1 player.seenCount = player.seenCount + 1
players[name] = player HeimdallStinkies[name] = player
end end
player.lastSeenInternal = GetTime() player.lastSeenInternal = GetTime()
@@ -304,7 +310,7 @@ function data.Whoer.Init()
end end
player.zone = zone player.zone = zone
player.lastSeen = timestamp player.lastSeen = timestamp
players[name] = player HeimdallStinkies[name] = player
if not Heimdall_Data.who then Heimdall_Data.who = {} end if not Heimdall_Data.who then Heimdall_Data.who = {} end
if not Heimdall_Data.who.data then Heimdall_Data.who.data = {} end if not Heimdall_Data.who.data then Heimdall_Data.who.data = {} end
Heimdall_Data.who.data[name] = player Heimdall_Data.who.data[name] = player
@@ -318,11 +324,11 @@ function data.Whoer.Init()
if not data.who.updateTicker then if not data.who.updateTicker then
data.who.updateTicker = C_Timer.NewTicker(0.5, function() data.who.updateTicker = C_Timer.NewTicker(0.5, function()
for name, player in pairs(players) do for name, player in pairs(HeimdallStinkies) do
if player.lastSeenInternal + data.config.who.ttl < GetTime() then if player.lastSeenInternal + data.config.who.ttl < GetTime() then
NotifyGone(player) NotifyGone(player)
PlaySoundFile("Interface\\Sounds\\Uncloak.ogg", "Master") PlaySoundFile("Interface\\Sounds\\Uncloak.ogg", "Master")
players[name] = nil HeimdallStinkies[name] = nil
end end
end end
end) end)
@@ -353,7 +359,7 @@ function data.Whoer.Init()
whoQueryWhisperFrame:RegisterEvent("CHAT_MSG_WHISPER") whoQueryWhisperFrame:RegisterEvent("CHAT_MSG_WHISPER")
whoQueryWhisperFrame:SetScript("OnEvent", function(self, event, msg, sender) whoQueryWhisperFrame:SetScript("OnEvent", function(self, event, msg, sender)
if msg == "who" then if msg == "who" then
for _, player in pairs(players) do for _, player in pairs(HeimdallStinkies) do
local text = player:NotifyMessage() local text = player:NotifyMessage()
---@type Message ---@type Message
local msg = { local msg = {
@@ -388,7 +394,7 @@ function data.Whoer.Init()
end end
if msg == "who" then if msg == "who" then
for _, player in pairs(players) do for _, player in pairs(HeimdallStinkies) do
local text = player:NotifyMessage() local text = player:NotifyMessage()
---@type Message ---@type Message
local msg = { local msg = {
@@ -400,4 +406,6 @@ function data.Whoer.Init()
end end
end end
end) end)
print("Heimdall - Whoer loaded")
end end